KR101989249B1 - 이동 단말기의 오프로딩 방법 및 그 이동 단말기 - Google Patents

이동 단말기의 오프로딩 방법 및 그 이동 단말기 Download PDF

Info

Publication number
KR101989249B1
KR101989249B1 KR1020170172617A KR20170172617A KR101989249B1 KR 101989249 B1 KR101989249 B1 KR 101989249B1 KR 1020170172617 A KR1020170172617 A KR 1020170172617A KR 20170172617 A KR20170172617 A KR 20170172617A KR 101989249 B1 KR101989249 B1 KR 101989249B1
Authority
KR
South Korea
Prior art keywords
offloading
time
task
foreground
background task
Prior art date
Application number
KR1020170172617A
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 KR1020170172617A priority Critical patent/KR101989249B1/ko
Application granted granted Critical
Publication of KR101989249B1 publication Critical patent/KR101989249B1/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72519
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

본 발명은 어플리케이션의 background와 foreground 동작 특성을 반영한 오프로딩을 수행할 수 있는 이동 단말기의 오프로딩 방법 및 그 이동 단말기에 관한 것이다.
본 발명의 일실시예에 의한 이동 단말기의 오프로딩 방법은 어플리케이션의 오프로딩(offloading)을 수행하는 이동 단말기의 오프로딩 방법에 있어서, 백그라운드 태스크(Background task)와 포어그라운드 태스크(Foreground task)와의 상관값 및 임계치를 이용하여 오프로딩 시점을 산출하는 단계; 및 특정 제약 조건하에서 상기 산출된 오프로딩 시점에 오프로딩을 수행하는 단계를 포함할 수 있다.

Description

이동 단말기의 오프로딩 방법 및 그 이동 단말기{METHOD FOR OFFLOADING IN MOBILE DEVICE AND THE MOBILE DEVICE}
본 발명은 이동 단말기의 오프로딩 기술에 관한 것으로, 보다 상세하게는 어플리케이션의 background와 foreground 동작 특성을 반영한 오프로딩을 수행할 수 있는 이동 단말기의 오프로딩 방법 및 그 이동 단말기에 관한 것이다.
에너지의 효율을 향상하여 배터리 수명을 늘리는 것은 smart mobile device(SMD) 연구에서 늘 고려되고 있는 중요한 사항이다. 하지만 5G시대가 다가옴과 함께 점점 더 많은 무선 데이터와 처리량(computation)이 필요하게 되고 있으며, 이는 더 많은 배터리 소모를 야기한다. 이러한 추세는 배터리와 저장공간 등의 자원의 사용에 한계가 있는 SMD의 단점을 극복할 다양한 방법이 연구로 이어지고 있다. 이를 위해 제시되고 있는 방법 중 하나는 모바일 클라우드 컴퓨팅 (Mobile Cloud Computing, MCC)와 모바일 에지 컴퓨팅 (Mobile Edge Computing, MEC)으로, SMD의 처리량을 클라우드 컴퓨팅 능력이 있는 곳으로 오프로딩하여 에너지 소모를 줄이는 방법이다. 관련 선행문헌으로 대한민국 등록특허 제10-1465879호가 있다.
종래에는 전송 데이터량과 처리량만을 기준으로 task의 오프로딩을 결정하였다. 하지만 이는 SMD에서 오프로딩을 위한 중요한 한가지를 고려하지 않았다. 바로 어플리케이션의 테스크에는 포어그라운드 태스크(foreground task)와 백그라운드 태스크(background task) 두 가지 행동 양식이 존재하며, background task는 차후 foreground task수행에 도움을 주기 위한 것으로 이 둘은 서로 관계 (correlation)를 가진다는 것이다.
따라서 포어그라운드 태스크(foreground task)와 백그라운드 태스크(background task)의 관계를 고려하여 오프로딩을 수행하는 기술에 대한 연구가 필요한 실정이다.
본 발명의 목적은 어플리케이션의 백그라운드 태스크(background task)와 포어그라운드 태스크(foreground task)의 동작 특성을 반영하여 오프로딩을 수행하는 이동 단말기의 오프로딩 방법 및 그 이동 단말기를 제공하는 데 있다.
상기 목적을 달성하기 위해 본 발명의 일실시예에 의하면, 어플리케이션의 오프로딩(offloading)을 수행하는 이동 단말기의 오프로딩 방법에 있어서, 백그라운드 태스크(Background task)와 포어그라운드 태스크(Foreground task)와의 상관값 및 임계치를 이용하여 오프로딩 시점을 산출하는 단계; 및 특정 제약 조건하에서 상기 산출된 오프로딩 시점에 오프로딩을 수행하는 단계를 포함하는 이동 단말기의 오프로딩 방법이 개시된다.
상기 목적을 달성하기 위해 본 발명의 일실시예에 의하면, 어플리케이션의 오프로딩(offloading)을 수행하는 이동 단말기에 있어서, 백그라운드 태스크(Background task)와 포어그라운드 태스크(Foreground task)와의 상관값 및 임계치를 이용하여 오프로딩 시점을 산출하는 오프로딩 시점 산출부; 특정 제약 조건하에서 상기 산출된 오프로딩 시점에 오프로딩을 수행하는 오프로딩 수행부; 및 상기 오프로딩 시점 산출부 및 상기 오프로딩 수행부를 제어하는 제어부를 포함하는 이동 단말기가 개시된다.
본 발명의 일실시예에 의한 어플리케이션의 동작인 백그라운(background)와 포어그라운드(foreground)를 구분하여 오프로딩 함으로써 foreground 동작 시간에 손실이 발생하지 않도록 예방하여 foreground의 반응 속도에 영향을 미치지 않음은 물론 에너지 소모를 줄여 배터리의 사용 수명을 늘릴 수 있다.
도 1은 본 발명의 일실시예와 관련된 엣지 컴퓨팅을 통한 오프로딩 수행을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예와 관련된 오프로딩을 수행하는 이동 단말기의 블록도이다.
도 3은 본 발명의 일실시예와 관련된 오프로딩 수행에 반영되는 백그라운드 태스크(background task)와 포어그라운드 태스크(foreground task)의 동작 특성을 설명하기 위한 도면이다.
도 4는 본 발명의 일실시예와 관련된 오프로딩 시점을 산출하기 위한 알고리즘을 나타낸다.
도 5는 본 발명의 일실시예와 관련된 오프로딩 수행의 개선을 위한 이동 단말기에서 엣지 서버로 전송하는 패킷의 구조를 나타낸다.
이하, 본 발명의 일실시예와 관련된 이동 단말기의 오프로딩 방법 및 그 이동 단말기에 대해 도면을 참조하여 설명하도록 하겠다.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
도 1은 본 발명의 일실시예와 관련된 엣지 컴퓨팅을 통한 오프로딩 수행을 설명하기 위한 도면이다.
도시된 바와 같이, 이동 단말기(100)는 어플리케이션의 태스크를 엣지 서버(200)로 전송하여 상기 엣지 서버(200)에서 상기 태스크를 처리할 수 있도록 오프로딩을 수행할 수 있다. 즉, 이동 단말기(100)의 태스크 처리량을 클라우드 컴퓨팅 능력이 있는 엣지 서버(200)로 오프로딩하여 에너지 소모를 줄일 수 있다.
이하 실시예에서는 백그라운드 태스크(background task)와 포어그라운드 태스크(foreground task)의 상관 관계를 고려하여 오프로딩을 수행하는 방법에 대해 설명하도록 하겠다.
만약 이 둘의 관계를 고려하지 않고 오프로딩을 수행한다면 오프로딩의 조건에 맞는다는 이유로 background task가 오프로딩이 된 상태에서 foreground task가 수행이 된다면, background task의 결과를 기다려야 함으로 인해 foreground task 수행에 지연이 발생하거나 혹은 background task 수행을 기다리지 않고 cold launch를 한다 하더라도 background task가 있을 때의 warm launch에 비해 지연이 생긴다. 또한, 지연시간을 만회하기 위해 높은 주파수로 동작한다 거나, background task의 수행이 무효가 됨으로 인해 에너지 손실이 발생한다.
도 2는 본 발명의 일실시예와 관련된 오프로딩을 수행하는 이동 단말기의 블록도이다.
도시된 바와 같이, 이동 단말기(100)는 오프로딩 시점 산출부(110), 오프로딩 수행부(120), 저장부(130) 및 제어부(140)를 포함할 수 있다. 상기 이동 단말기(100)는 스마트폰, 태블릿 PC, 노트북, 내비게이션 등을 포함할 수 있다.
상기 오프로딩 시점 산출부(110)는 백그라운드 태스크(Background task)와 포어그라운드 태스크(Foreground task)와의 상관값 및 설정된 임계치를 이용하여 오프로딩 시점을 산출할 수 있다.
상기 오프로딩 수행부(120)는 특정 제약 조건하에서 상기 산출된 오프로딩 시점에 백그라운드 태스크의 오프로딩을 수행할 수 있다.
상기 저장부(130)는 오프로딩 수행의 개선을 위한 정보가 포함된 패킷을 저장할 수 있다.
상기 제어부(140)는 오프로딩 시점 산출부(110), 오프로딩 수행부(120), 저장부(130)를 제어할 수 있다.
도 3은 본 발명의 일실시예와 관련된 오프로딩 수행에 반영되는 백그라운드 태스크(background task)와 포어그라운드 태스크(foreground task)의 동작 특성을 설명하기 위한 도면이다.
이동 단말기(100)의 어플리케이션의 특징은
Figure 112017124947076-pat00001
로 표현할 수 있으며, 이때 K는 이동 단말기(100) 상에 존재하는 어플리케이션의 개수이며, k는 각 어플리케이션의 sequence number를 나타낸다. Background task는
Figure 112017124947076-pat00002
(301), foreground task는
Figure 112017124947076-pat00003
(302)로 나타낸다. Tk는 어플리케이션의 수행이 완료되어야하는 제약 시간을 의미하며 soft-real time system이다. Dk는 어플리케이션에 입력되는 데이터의 크기이다.
Ck는 task를 완수하기 위해 필요한 cycle 수 이며,
Figure 112017124947076-pat00004
이다. Yk (
Figure 112017124947076-pat00005
)는 계산 복잡도 등과 같은 어플리케이션의 특성에 따라 결정된다.
Figure 112017124947076-pat00006
Figure 112017124947076-pat00007
는 각각 background task의 주파수와 foreground task의 주파수이다.
Figure 112017124947076-pat00008
는 background task와 foreground task의 주파수의 비이며,
Figure 112017124947076-pat00009
로 정의된다.
Figure 112017124947076-pat00010
(303)와
Figure 112017124947076-pat00011
(304)는 task간의 주기(inter-arrival time)을 한다. 백그라운드 태스크(background task)에 별도의 수행 완료 제약 시간이 없는 경우 다음 task 요청이 들어오기 전에 수행이 완료 되어야 하므로
Figure 112017124947076-pat00012
로 정의한다. 단 이동 단말기(100)로 돌아와야 하는 마지막 수행에 대해서는
Figure 112017124947076-pat00013
의 deadline을 만족해야 한다.
Figure 112017124947076-pat00014
은 background task가 엣지 서버(edge server)(200)로부터 수신되는 시간을 의미 한다.
송수신을 위한 네트워크 모델을 구성하기 위해 binary 실행 파일과 application에 대한 정보들은 처음부터 엣지 서버(200)에 복사되어 있다고 가정하였으며, 각 어플리케이션에 대한
Figure 112017124947076-pat00015
값 또한 엣지 서버(200)에서 가지고 있다. 따라서 처리해야 하는 초기 입력 데이터
Figure 112017124947076-pat00016
를 전송하는 것 이외에 추가적인 에너지는 소모되지 않는다.
오프로딩 시점은 하기 수학식 1의 백그라운드와 포어그라운드의 상관값을 나타내는 이용하여 계산될 수 있다.
Figure 112017124947076-pat00017
여기서, 상관값의 초기값은
Figure 112017124947076-pat00018
이고,
Figure 112017124947076-pat00019
의 값은 포어그라운드 태스크가 수행되면
Figure 112017124947076-pat00020
그렇지 않으면
Figure 112017124947076-pat00021
으로,
Figure 112017124947076-pat00022
이다.
Figure 112017124947076-pat00023
는 포어그라운드 태스크가 백그라운드 태스크에 얼마나 영향을 받는 지를 나타낸 값으로
Figure 112017124947076-pat00024
의 값을 가진다.
Figure 112017124947076-pat00025
가 0인 경우 foreground의 activity와 독립적으로 동작한다.
도 4는 본 발명의 일실시예와 관련된 오프로딩 시점을 산출하기 위한 알고리즘을 나타낸다.
Foreground task가 수행이 되면 n은 1부터 시작(401)하여 background task가 수행될 때마다 1씩 증가한다. 이때,
Figure 112017124947076-pat00026
의 값은 foreground가 수행되면
Figure 112017124947076-pat00027
그렇지 않으면
Figure 112017124947076-pat00028
으로,
Figure 112017124947076-pat00029
(402)이다.
Figure 112017124947076-pat00030
는 foreground가 background에 얼마나 영향을 받는 지를 나타낸 값으로
Figure 112017124947076-pat00031
의 값을 가진다.
Figure 112017124947076-pat00032
가 0인 경우 foreground의 activity와 독립적으로 동작하는 것이므로 바로 이동 단말기(100)는 엣지 서버(200)로 백그라운드 태스크를 전송할 수 있다.
초기
Figure 112017124947076-pat00033
Figure 112017124947076-pat00034
(403)가 되며,
Figure 112017124947076-pat00035
값이 cutoff 기준 값인
Figure 112017124947076-pat00036
(임계치)보다 작아지면(404), foreground가 수행될 확률이 거의 없다고 볼 수 있으며, 백그라운와 포어그라운드의 상관값이 작아졌다 표현할 수 있다. 이때, background task를 엣지 서버(200)로 전송하면, 포어그라운드 태스크가 수행되지 않을 것이므로 성능 저하가 일어나지 않는다. 이를 판단하기 위해 필요로 하는 값은
Figure 112017124947076-pat00037
를 만족하는 가장 작은
Figure 112017124947076-pat00038
값으로 이는
Figure 112017124947076-pat00039
를 처음 만족할 때의 값이다. 이러한 n을 구하기 위해 각
Figure 112017124947076-pat00040
에 따른 n값의 함수를
Figure 112017124947076-pat00041
로 정의할 수 있다.
하나의 task를 수행하는데 걸리는 시간은
Figure 112017124947076-pat00042
를 통해 구할 수 있으며, 이때 tk는 제약시간 Tk를 만족시켜야 한다 (
Figure 112017124947076-pat00043
). 만약 task를 처리하는 동안 주파수가 같다면 수행시간은
Figure 112017124947076-pat00044
이다. 이때 tk 역시
Figure 112017124947076-pat00045
를 만족하여야 한다.
Task 수행 시 에너지는
Figure 112017124947076-pat00046
이며, 만약 수행하는 동안 같은 주파수로 동작한다면 에너지는
Figure 112017124947076-pat00047
이다.
Foreground와 다음 foreground 수행 사이에는
Figure 112017124947076-pat00048
번의 background 수행이 존재한다. 만약, 이동 단말기(100)가 엣지 서버(200)로 전송을 하지 않고 이동 단말기(100)에서 자체적으로 백그라운 태스크 수행이 이뤄진다면, foreground와 foreground 사이에 수행되는 background에 대한 에너지는 하기 수학식 2로 표현될 수 있다.
Figure 112017124947076-pat00049
이때
Figure 112017124947076-pat00050
는 한번 background task 수행을 하는데 필요한 에너지이다.
만약 이동 단말기(100)가 백그라운드 태스크를 엣지 서버(200)로 보내어 수행을 하고자 한다면,
Figure 112017124947076-pat00051
번이 지나 foreground가 수행되지 않음이 보장되어야 하므로
Figure 112017124947076-pat00052
의 에너지가 소모된다. 이와 같이 오프로딩을 수행했을 때의 에너지는 하기 수학식 3과 같이 나타낼 수 있다.
Figure 112017124947076-pat00053
여기서 상첨자 B는 백그라운드를 T는 이동 단말기(100)에서 엣지 서버(200)로의 전송, R은 이동 단말기(100)가 엣지 서버(200)로부터 결과를 수신하는 것을 나타낸다.
하지만, 상기와 같은 오프로딩 수행이 오프로딩을 하지 않았을 때보다 이득이 있어야 오프로딩 수행을 할 수 있다. 즉, 오프로딩 시점이 산출되어도 특정 제약 조건하에서만 의미가 있을 수 있다. 이하에서는 상기 특정 제약 조건에 대해 설명하도록 하겠다.
먼저, 하기 수학식 4를 만족하여야 한다.
Figure 112017124947076-pat00054
상기 수학식 1과
Figure 112017124947076-pat00055
(임계치)를 이용하여 산출된 n값이
Figure 112017124947076-pat00056
보다 작은 경우에 오프로딩을 수행한다.
만약 상관값이 높아
Figure 112017124947076-pat00057
값이 크다면
Figure 112017124947076-pat00058
의 값이 커질 것이다. 이에 따라 만약
Figure 112017124947076-pat00059
Figure 112017124947076-pat00060
보다 크다면 그 다음 foreground 수행이 이미 시작되므로 이동 단말기(100)는 엣지 서버(200)로 백그라운드 태스크를 전송하지 않는다.
또한, 하기 수학식 5를 만족하여야 한다.
Figure 112017124947076-pat00061
만약,
Figure 112017124947076-pat00062
이면 엣지 서버(200)로 백그라운드 태스크를 보내어 task를 처리하며,
Figure 112017124947076-pat00063
이면 이동 단말기(100)에서 task를 수행한다. 이때 각
Figure 112017124947076-pat00064
Figure 112017124947076-pat00065
Figure 112017124947076-pat00066
을 만족하는 task의 수행이다.
또한, 제약 시간에 조건 식인 하기 수학식 6을 만족하여야 한다.
Figure 112017124947076-pat00067
여기서
Figure 112017124947076-pat00068
는 포어그라운드 태스크의 주파수에 대한 백그라운 태스크이 주파수의 비이고,
Figure 112017124947076-pat00069
으로 백그라운드 태스크의 제약 시간이고,
Figure 112017124947076-pat00070
Figure 112017124947076-pat00071
은 오프로딩 수행 시의 송수신 시간이다.
Figure 112017124947076-pat00072
는 엣지 서버에서 백그라운드 태스크를 수행하는 시간이고,
Figure 112017124947076-pat00073
는 이동 단말기에서 백그라운드 태스크를 수행하는 시간이고,
Figure 112017124947076-pat00074
Figure 112017124947076-pat00075
에 따른 n값이다.
Figure 112017124947076-pat00076
번의 background의 수행의 각 제약 시간을 다 더한
Figure 112017124947076-pat00077
보다 수행시간은 작거나 같아야 하며, 이때 수행시간은 오프로딩시에 추가적으로 들어가는 송수신 시간
Figure 112017124947076-pat00078
Figure 112017124947076-pat00079
또한 고려한 시간이다.
Figure 112017124947076-pat00080
번의 background 수행 중
Figure 112017124947076-pat00081
번은 이동 단말기(100)에서 수행을 나머지
Figure 112017124947076-pat00082
번은 오프로딩하여 수행이 되므로 앞의
Figure 112017124947076-pat00083
번에 대해서는 이동 단말기(100)에서 수행하는 시간인
Figure 112017124947076-pat00084
가,
Figure 112017124947076-pat00085
번에 대해서는 엣지 서버(200)에서 수행되는 시간인
Figure 112017124947076-pat00086
가 소요된다. 하지만 오프로딩을 하여 엣지 서버(200)에서 background task가 수행이 된다면
Figure 112017124947076-pat00087
Figure 112017124947076-pat00088
에 비해 소요 시간이 줄어들어
Figure 112017124947076-pat00089
Figure 112017124947076-pat00090
의 시간이
Figure 112017124947076-pat00091
을 넘길 정도로 길지만 않으면 항상 조건을 만족시킴을 알 수 있다.
한편, 본 발명의 일실시예에 의하면 오프로딩 수행의 개선을 위해 이동 단말기(100)는 특정 정보가 포함된 패킷을 엣지 서버(200)로 전송할 수 있다. 상기 패킷은 저장부(130)에 저장되어 있다.
도 5는 본 발명의 일실시예와 관련된 오프로딩 수행의 개선을 위한 이동 단말기에서 엣지 서버로 전송하는 패킷의 구조를 나타낸다.
어플리케이션의 정보를 반영하는 control 메시지를 통신 패킷에 표시함으로써 오프로딩하여 수행된 background의 결과값 적절하게 도착하였는가에 대한 피드백이 가능하다. 이를 이용해 foreground 주기 값을 업데이트 하여 주기 예측에 대한 정확도를 높일 수 있다. Foreground의 주기는 사용자의 사용 패턴에 대한 분석 결과로 정확한 예측을 위해 계속적인 피드백이 필요하다. Background 결과값이 적절하게 도착하였다의 기준은 도착 시 다음 background 수행이 일어나기 전에 foreground가 수행이 되는 것이며, 다음 혹은 그 이상 여러 번의 background 수행이 일어난 후 foreground가 수행이 되거나 background의 결과가 도착하기 전에 foreground의 수행이 일어날 경우에는 적절하게 도착하지 못한 것으로 이에 대한 피드백이 필요하다. 이것을 나타내는 field로 IP packet header의 flag(501)의 사용하지 않는 필드를 사용하여, 이전 background의 리턴(return)이 제때 도착하였으면 0(502), 빨리 도착하여 foreground의 수행까지 추가적인 background 수행을 했거나, 시간을 지나서 도착하였다면 1(503)과 함께 option field (504)에 오차 값을 함께 보낸다. 이때 사용되는 bit는 flag의 3 bits 중 reserved인 첫 번째 field를 사용하며, FB(foreground and background) flag(1305)라 명명할 수 있다. Flag의 3 bits 중 DF (don't fragment)와 MF (more fragment) field는 기존의 용도 그대로 사용될 수 있다. 도 5에서는 option field를 8 bits로 설정하였으나 protocol의 필요에 따라 오차 값을 담아 보내기에 적절한 bits로 할당 가능하다. 나머지 bits는 padding으로 채워진다. 오차 값은 protocol의 사전 약속에 따라 ms나 s등의 단위를 가지는 실제 시간 혹은 background의 횟수로 표기될 수 있다. 이때 오차 값은 foreground 수행 뒤 background 결과가 도착하였으면 +로, background의 결과가 일찍 도착하여 기다렸다면 -로 표현하며, 값의 표기 방식은 부호화된 절대값(sign magnitude), 1의 보수 (one's complements), 2의 보수(two's complements) 방식으로 쓰일 수 있다. 도 5의 option은 FB flag가 1인 상황 두 가지 예시를 보였다. background 횟수로 +3 (506), -7 (507)인 경우에 대해 2의 보수 방식으로 표기 하였으며, +3는 foreground가 빨리 수행됨으로 인해, edge server에서 수행된 background의 결과가 foreground가 수행된 뒤 3번의 background 수행 주기 후에 도착하였음을 의미하며, -7은 foreground가 예상보다 늦게 수행됨으로 인해 background의 결과가 도착하고 7번의 background 수행 후에 foreground가 실행되었음을 의미한다.
기존 IP packet header와 구분하기 위해서 packet의 일부 (flag)를 수정하여 사용하며, 수정된 패킷의 예시로는 도 5와 같다. 이를 표시하기 위해 도 5의 IP packet header가 아니더라도 TCP packet 등과 같은 OSI 7 layer (혹은 TCP/IP) 중 layer2, 3, 4의 protocol frame에 적용하여 사용할 수 있다.
전술한 바와 같이, 본 발명의 일실시예에 의한 어플리케이션의 동작인 백그라운(background)와 포어그라운드(foreground)를 구분하여 오프로딩 함으로써 foreground 동작 시간에 손실이 발생하지 않도록 예방하여 foreground의 반응 속도에 영향을 미치지 않음은 물론 에너지 소모를 줄여 배터리의 사용 수명을 늘릴 수 있다.
상기 오프로딩 기술은 IoT(Internet of Things) 기기뿐 아니라 무선 증강현실 기기 및 스마트 디바이스 등에 사용이 가능하며, 전원이 계속 공급되지 않는 배터리로 동작하는 기기 전반에 적용이 가능하다.
상기와 같이 설명된 이동 단말기의 오프로딩 방법 및 그 이동 단말기는 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100: 이동 단말기
110: 오프로딩 시점 산출부
120: 오프로딩 수행부
130: 저장부
140: 제어부
200: 엣지 서버

Claims (16)

  1. 어플리케이션의 오프로딩(offloading)을 수행하는 이동 단말기의 오프로딩 방법에 있어서,
    백그라운드 태스크(Background task)와 포어그라운드 태스크(Foreground task)와의 상관값 및 임계치를 이용하여 오프로딩 시점을 산출하는 단계; 및
    특정 제약 조건하에서 상기 산출된 오프로딩 시점에 오프로딩을 수행하는 단계를 포함하되,
    상기 상관값은 백그라운드 태스크의 수행 시점을 나타내는 n의 함수로 표현되며-상기 n은 상기 포어그라운드 태스크(Foreground task)가 수행이 되면 1로 시작되고 상기 백그라운드 태스크(Background task)가 수행될 때마다 1씩 증가함-;
    상기 오프로딩 시점 산출 단계는 상기 상관값이 임계치보다 작은 조건에서 가장 작은 n을 산출하는 단계를 포함하는 것을 특징으로 하는 이동 단말기의 오프로딩 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 상관값은 하기 수학식 1로 표현되는 것을 특징으로 하는 이동 단말기의 오프로딩 방법.
    [수학식 1]
    Figure 112019006327518-pat00092

    (여기서, 상관값의 초기값은
    Figure 112019006327518-pat00093
    이고,
    Figure 112019006327518-pat00094
    의 값은 포어그라운드 태스크가 수행되면
    Figure 112019006327518-pat00095
    그렇지 않으면
    Figure 112019006327518-pat00096
    으로,
    Figure 112019006327518-pat00097
    이다.
    Figure 112019006327518-pat00098
    는 포어그라운드 태스크가 백그라운드 태스크에 얼마나 영향을 받는 지를 나타낸 값으로
    Figure 112019006327518-pat00099
    의 값을 가진다)
  4. 제3항에 있어서, 상기 특정 제약 조건은
    상기 수학식 1에 따라 산출된 n이
    Figure 112017124947076-pat00100
    보다 작은 경우에 오프로딩을 수행하는 것을 포함하는 이동 단말기의 오프로딩 방법.
    (여기서
    Figure 112017124947076-pat00101
    Figure 112017124947076-pat00102
    는 각각 백그라운 태스크이 주파수와 포어그라운드 태스크의 주파수이고,
    Figure 112017124947076-pat00103
    이다.)
  5. 제3항에 있어서, 상기 특정 제약 조건은
    오프로딩을 수행했을 때의 에너지가 오프로딩을 수행하지 않았을 때의 에너지보다 작은 경우에 오프로딩을 수행하는 것을 포함하는 것을 특징으로 하는 이동 단말기의 오프로딩 방법.
  6. 제3항에 있어서, 상기 특정 제약 조건은
    하기 수학식 2를 만족하는 것을 포함하는 것을 특징으로 하는 이동 단말기의 오프로딩 방법.
    [수학식 2]
    Figure 112017124947076-pat00104

    (여기서
    Figure 112017124947076-pat00105
    는 포어그라운드 태스크의 주파수에 대한 백그라운 태스크이 주파수의 비이고,
    Figure 112017124947076-pat00106
    으로 백그라운드 태스크의 제약 시간이고,
    Figure 112017124947076-pat00107
    Figure 112017124947076-pat00108
    은 오프로딩 수행 시의 송수신 시간이다.
    Figure 112017124947076-pat00109
    는 엣지 서버에서 백그라운드 태스크를 수행하는 시간이고,
    Figure 112017124947076-pat00110
    는 이동 단말기에서 백그라운드 태스크를 수행하는 시간이고,
    Figure 112017124947076-pat00111
    Figure 112017124947076-pat00112
    에 따른 n값이다)
  7. 제3항에 있어서, 상기 이동 단말기의 오프로딩 방법은
    오프로딩의 성공과 실패를 나타내는 플래그가 포함된 패킷을 엣지 서버로 전송하는 단계를 더 포함하는 것을 특징으로 하는 이동 단말기의 오프로딩 방법.
  8. 제7항에 있어서, 상기 패킷은
    상기 오프로딩 실패 시 백그라운드 태스크의 결과가 도착한 시간 정보를 나타내는 옵션을 더 포함하는 것을 특징으로 하는 이동 단말기의 오프로딩 방법.
  9. 어플리케이션의 오프로딩(offloading)을 수행하는 이동 단말기에 있어서,
    백그라운드 태스크(Background task)와 포어그라운드 태스크(Foreground task)와의 상관값 및 임계치를 이용하여 오프로딩 시점을 산출하는 오프로딩 시점 산출부;
    특정 제약 조건하에서 상기 산출된 오프로딩 시점에 오프로딩을 수행하는 오프로딩 수행부; 및
    상기 오프로딩 시점 산출부 및 상기 오프로딩 수행부를 제어하는 제어부를 포함하되,
    상기 상관값은 백그라운드 태스크의 수행 시점을 나타내는 n의 함수로 표현되며-상기 n은 상기 포어그라운드 태스크(Foreground task)가 수행이 되면 1로 시작되고 상기 백그라운드 태스크(Background task)가 수행될 때마다 1씩 증가함-;
    상기 오프로딩 시점 산출부는 상기 상관값이 임계치보다 작은 조건에서 가장 작은 n을 산출하는 것을 특징으로 하는 이동 단말기.
  10. 삭제
  11. 제9항에 있어서, 상기 상관값은 하기 수학식 1로 표현되는 것을 특징으로 하는 이동 단말기.
    [수학식 1]
    Figure 112019006327518-pat00113

    (여기서, 상관값의 초기값은
    Figure 112019006327518-pat00114
    이고,
    Figure 112019006327518-pat00115
    의 값은 포어그라운드 태스크가 수행되면
    Figure 112019006327518-pat00116
    그렇지 않으면
    Figure 112019006327518-pat00117
    으로,
    Figure 112019006327518-pat00118
    이다.
    Figure 112019006327518-pat00119
    는 포어그라운드 태스크가 백그라운드 태스크에 얼마나 영향을 받는 지를 나타낸 값으로
    Figure 112019006327518-pat00120
    의 값을 가진다)
  12. 제11항에 있어서, 상기 특정 제약 조건은
    상기 수학식 1에 따라 산출된 n이
    Figure 112017124947076-pat00121
    보다 작은 경우에 오프로딩을 수행하는 것을 포함하는 이동 단말기.
    (여기서
    Figure 112017124947076-pat00122
    Figure 112017124947076-pat00123
    는 각각 백그라운 태스크이 주파수와 포어그라운드 태스크의 주파수이고,
    Figure 112017124947076-pat00124
    이다.)
  13. 제11항에 있어서, 상기 특정 제약 조건은
    오프로딩을 수행했을 때의 에너지가 오프로딩을 수행하지 않았을 때의 에너지보다 작은 경우에 오프로딩을 수행하는 것을 포함하는 것을 특징으로 하는 이동 단말기.
  14. 제11항에 있어서, 상기 특정 제약 조건은
    하기 수학식 2를 만족하는 것을 포함하는 것을 특징으로 하는 이동 단말기.
    [수학식 2]
    Figure 112017124947076-pat00125

    (여기서
    Figure 112017124947076-pat00126
    는 포어그라운드 태스크의 주파수에 대한 백그라운 태스크이 주파수의 비이고,
    Figure 112017124947076-pat00127
    으로 백그라운드 태스크의 제약 시간이고,
    Figure 112017124947076-pat00128
    Figure 112017124947076-pat00129
    은 오프로딩 수행 시의 송수신 시간이다.
    Figure 112017124947076-pat00130
    는 엣지 서버에서 백그라운드 태스크를 수행하는 시간이고,
    Figure 112017124947076-pat00131
    는 이동 단말기에서 백그라운드 태스크를 수행하는 시간이고,
    Figure 112017124947076-pat00132
    Figure 112017124947076-pat00133
    에 따른 n값이다)
  15. 제11항에 있어서, 상기 이동 단말기는
    오프로딩의 성공과 실패를 나타내는 플래그가 포함된 패킷을 저장하는 저장부를 더 포함하되,
    상기 오프로딩 수행부는 상기 패킷을 엣지 서버로 전송하는 것을 특징으로 하는 이동 단말기.
  16. 제15항에 있어서, 상기 패킷은
    상기 오프로딩 실패 시 백그라운드 태스크의 결과가 도착한 시간 정보를 나타내는 옵션을 더 포함하는 것을 특징으로 하는 이동 단말기.

KR1020170172617A 2017-12-14 2017-12-14 이동 단말기의 오프로딩 방법 및 그 이동 단말기 KR101989249B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170172617A KR101989249B1 (ko) 2017-12-14 2017-12-14 이동 단말기의 오프로딩 방법 및 그 이동 단말기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170172617A KR101989249B1 (ko) 2017-12-14 2017-12-14 이동 단말기의 오프로딩 방법 및 그 이동 단말기

Publications (1)

Publication Number Publication Date
KR101989249B1 true KR101989249B1 (ko) 2019-06-13

Family

ID=66847663

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170172617A KR101989249B1 (ko) 2017-12-14 2017-12-14 이동 단말기의 오프로딩 방법 및 그 이동 단말기

Country Status (1)

Country Link
KR (1) KR101989249B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111199740A (zh) * 2019-12-31 2020-05-26 重庆大学 一种基于边缘计算加速自动语音识别任务的卸载方法
KR102237385B1 (ko) 2019-10-17 2021-04-06 고려대학교 산학협력단 신뢰성을 보장하는 단말 간 오프로딩 방법
KR20220168001A (ko) 2021-06-15 2022-12-22 연세대학교 산학협력단 다중 라디오 액세스 기술 기반 IIoT 서비스를 위한 동적 태스크 오프로딩을 수행하는 사용자 단말 및 이의 오프로딩 방법
KR102484004B1 (ko) * 2022-08-23 2022-12-30 재단법인대구경북과학기술원 Mec 네트워크에서 단말-위성 간 태스크 오프로딩 수행 방법 및 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110064832A (ko) * 2009-12-09 2011-06-15 한국전자통신연구원 태스크 관리 장치
JP5566309B2 (ja) * 2010-01-26 2014-08-06 株式会社Nttドコモ 情報処理装置および情報処理方法
KR101465879B1 (ko) * 2013-05-01 2014-11-26 연세대학교 산학협력단 데이터 오프로딩 방법 및 그 장치
KR20150107448A (ko) * 2014-03-14 2015-09-23 삼성전자주식회사 태스크 마이그레이션 방법 및 장치
KR20160085894A (ko) * 2013-12-10 2016-07-18 후아웨이 디바이스 컴퍼니 리미티드 태스크 관리 방법 및 장치
KR20170048441A (ko) * 2014-08-26 2017-05-08 알리바바 그룹 홀딩 리미티드 백그라운드 애플리케이션 관리 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110064832A (ko) * 2009-12-09 2011-06-15 한국전자통신연구원 태스크 관리 장치
JP5566309B2 (ja) * 2010-01-26 2014-08-06 株式会社Nttドコモ 情報処理装置および情報処理方法
KR101465879B1 (ko) * 2013-05-01 2014-11-26 연세대학교 산학협력단 데이터 오프로딩 방법 및 그 장치
KR20160085894A (ko) * 2013-12-10 2016-07-18 후아웨이 디바이스 컴퍼니 리미티드 태스크 관리 방법 및 장치
KR20150107448A (ko) * 2014-03-14 2015-09-23 삼성전자주식회사 태스크 마이그레이션 방법 및 장치
KR20170048441A (ko) * 2014-08-26 2017-05-08 알리바바 그룹 홀딩 리미티드 백그라운드 애플리케이션 관리 방법 및 장치

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102237385B1 (ko) 2019-10-17 2021-04-06 고려대학교 산학협력단 신뢰성을 보장하는 단말 간 오프로딩 방법
WO2021075661A1 (ko) * 2019-10-17 2021-04-22 고려대학교 산학협력단 신뢰성을 보장하는 단말 간 오프로딩 방법
CN111199740A (zh) * 2019-12-31 2020-05-26 重庆大学 一种基于边缘计算加速自动语音识别任务的卸载方法
CN111199740B (zh) * 2019-12-31 2022-09-09 重庆大学 一种基于边缘计算加速自动语音识别任务的卸载方法
KR20220168001A (ko) 2021-06-15 2022-12-22 연세대학교 산학협력단 다중 라디오 액세스 기술 기반 IIoT 서비스를 위한 동적 태스크 오프로딩을 수행하는 사용자 단말 및 이의 오프로딩 방법
KR102484004B1 (ko) * 2022-08-23 2022-12-30 재단법인대구경북과학기술원 Mec 네트워크에서 단말-위성 간 태스크 오프로딩 수행 방법 및 장치

Similar Documents

Publication Publication Date Title
KR101989249B1 (ko) 이동 단말기의 오프로딩 방법 및 그 이동 단말기
EP3366011B1 (en) Mobile edge compute dynamic acceleration assignment
JP2021525402A (ja) モバイルエッジコンピューティングのシナリオでシングルタスクオフロード戦略を策定する方法
CN107395572B (zh) 一种数据处理方法及物联网网关
WO2021244354A1 (zh) 神经网络模型的训练方法和相关产品
WO2019022723A1 (en) TRANSPORTING CONTROL DATA IN NETWORK COMMUNICATIONS BASED ON A REPRESENTATIVE
CN110058937B (zh) 用于调度专用处理资源的方法、设备和介质
CN116032663B (zh) 基于边缘设备的隐私数据处理系统、方法、设备及介质
EP4187882A1 (en) Data transmission method and apparatus, device, storage medium, and computer program product
US9069834B2 (en) Control method and storage controller apparatus
KR20200019727A (ko) 네트워크 코딩을 활성화하기 위한 네트워크 파라미터의 최적화
CN113687876A (zh) 信息处理方法、自动驾驶控制方法和电子设备
Qiao et al. Task migration computation offloading with low delay for mobile edge computing in vehicular networks
CN112131014A (zh) 决策引擎系统及其业务处理方法
US20220398431A1 (en) Distributed Deep Learning System and Data Transfer Method
US10200510B2 (en) Method and apparatus for loading web page
CN109766347B (zh) 一种数据更新方法、装置、系统、计算机设备及存储介质
CN112948114B (zh) 边缘计算方法和边缘计算平台
CN114756312B (zh) 用于对本地服务进行远程协助优化的系统和方法
CN105339915A (zh) 推送型信息发送设备、推送型信息发送方法以及程序
US11374874B2 (en) Access control method, access control device, and data processing device
CN109818882B (zh) 一种执行QoS策略的方法及装置
US20160028859A1 (en) Packet processing program, packet processing apparatus, and packet processing method
US10813110B2 (en) Method and apparatus for scheduling terminal radio resources
CN112104980B (zh) 辅助终端定位的方法、装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant