KR20140130602A - 데이터 오프로딩 방법 및 그 장치 - Google Patents
데이터 오프로딩 방법 및 그 장치 Download PDFInfo
- Publication number
- KR20140130602A KR20140130602A KR1020130049067A KR20130049067A KR20140130602A KR 20140130602 A KR20140130602 A KR 20140130602A KR 1020130049067 A KR1020130049067 A KR 1020130049067A KR 20130049067 A KR20130049067 A KR 20130049067A KR 20140130602 A KR20140130602 A KR 20140130602A
- Authority
- KR
- South Korea
- Prior art keywords
- client device
- offloading
- processing time
- energy consumption
- point
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Sources (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
데이터 오프로딩 방법 및 장치가 개시된다. 데이터 오프로딩 방법은 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 처리 시간과 에너지 소비량을 각각 계산하고, 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 서버의 처리 시간을 각각 계산한 후 계산된 작업 단계별 오프로딩에 따른 클라이언트 디바이스의 처리 시간, 상기 에너지 소비량 및 상기 서버의 처리 시간을 이용하여 사용자의 체감 품질을 만족하는 오프로딩 최적 지점을 결정할 수 있다.
Description
본 발명은 데이터 오프로딩에 관한 것으로, 보다 상세하게 네트워크와 서버의 혼잡도를 고려하여 최적의 오프로딩 지점을 계산한 후 동적으로 데이터를 오프로딩할 수 있는 데이터 오프로딩 방법 및 그 장치에 관한 것이다.
스마트 기기의 발전으로, 초고해상도의 내장 카메라와 듀얼 코어 성능의 CPU등의 스마트 기기가 등장하여 이를 이용한 증강현실 어플리케이션의 데이터의 크기는 기하급수적으로 증가하고 있다. 또한 스마트 기기의 보급으로 인한 사용자의 급증으로 엄청난 양의 빅데이터가 발생하여 네트워크 부하에 있어서도 큰 문제에 직면하고 있다. 이러한 스마트 기기 자체의 성능 발전과 사용자의 급증으로 인하여 스마트 기기 입장에서의 처리 시간과 소요 에너지 또한 증가하여 스마트 기기의 배터리 효율을 급격하게 감소시키게 된다. 이러한 문제점을 해결하기 위하여 오프로딩 기술을 사용하게 된다. 오프로딩 기술은 스마트 기기에서 처리가 어렵거나 오래 걸리는 업무를 서버로 보내어 서버에서 업무를 처리할 수 있게끔 한 후, 결과물을 받는 기술을 의미한다.
오프로딩 기술의 가장 대표적인 일 예가 증강현실 어플리케이션에서 데이터 프로세싱으로, 종래에는 증강현실 기반 데이터 프로세싱 중에서 스마트 기기에서 영상을 촬영하고, 특징점 추출을 수행하는 단계는 주로 스마트 기기에서 수행하고, 추출된 특징점을 이용하여 데이터베이스와 비교 검색하는 과정에서 서버로의 데이터 오프로딩이 필수적으로 수행되었다.
이러한 종래의 데이터 오프로딩은 특징점 추출 단계 전부를 스마트 디바이스에서 수행하거나, 특징점 추출 단계 이전의 원본 이미지를 서버로 오프로딩 해 모든 증강현실의 과정을 서버에서 수행하게 하는 단 두 가지의 경우로 나눠서 처리하는 것으로 스마트 기기와 서버의 에너지 소모나 처리 성능 또는 네트워크 상황을 고려하지 않은 채 이루어져 처리시간의 증가와 트래픽 과부하를 초래하는 문제가 있었다.
본 발명은 네트워크의 지연과 서버의 혼잡도를 고려하여 최적의 오프로딩 지점을 계산한 후 동적으로 데이터를 오프로딩 할 수 있는 데이터 오프로딩 방법 및 그 장치를 제공하기 위한 것이다.
또한, 본 발명은 네트워크의 지연과 서버의 혼잡도에 따라 스마트 디바이스에서의 에너지 사용량을 최소화할 수 있는 데이터 오프로딩 방법 및 그 장치를 제공하기 위한 것이다.
본 발명의 일 측면에 따르면, 네트워크의 지연과 서버의 혼잡도를 고려하여 최적의 오프로딩 지점을 계산한 후 동적으로 데이터를 오프로딩 할 수 있는 방법이 제공된다.
본 발명의 일 실시예에 따르면, (a) 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 처리 시간과 에너지 소비량을 각각 계산하는 단계; (b) 상기 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 서버의 처리 시간을 각각 계산하는 단계; 및 (c) 상기 계산된 작업 단계별 오프로딩에 따른 클라이언트 디바이스의 처리 시간, 상기 에너지 소비량 및 상기 서버의 처리 시간을 이용하여 사용자의 체감 품질을 만족하는 오프로딩 최적 지점을 결정하는 단계를 포함하는 데이터 오프로딩 방법이 제공될 수 있다.
상기 클라이언트 디바이스의 처리 시간은 전체 작업 단계들 중 데이터 오프로딩 지점까지의 각 작업 단계에 대한 필요 연산량의 합을 상기 클라이언트 디바이스의 처리 속도와 상기 클라이언트 디바이스의 혼잡도에 따른 딜레이 변수로 나누어 계산될 수 있다.
상기 클라이언트 디바이스의 에너지 소비량은 단위 처리량당 에너지 소모량 변수와 작업 단계별 데이터 오프로딩에 따른 필요 연산량의 합과 업링크 및 다운링크 전송 시간에 따른 정손 에너지의 합으로 계산될 수 있다.
상기 (c) 단계는, 작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 처리 시간, 서버의 처리 시간 및 네트워크 지연시간을 합한 각 작업 단계별 전체 수행 시간이 기준 시간 이내인 지점을 오프로딩 최적 지점으로 결정할 수 있다.
상기 (c) 단계는, 상기 작업 단계별 에너지 소비량이 에너지 소모 최대 허용치를 초과하지 않는 지점을 오프로딩 최적 지점으로 결정할 수 있다.
본 발명의 다른 측면에 따르면, 네트워크의 지연과 서버의 혼잡도를 고려하여 최적의 오프로딩 지점을 계산한 후 동적으로 데이터를 오프로딩 할 수 있는 장치가 제공된다.
본 발명의 일 실시예에 따르면, 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 처리 시간과 에너지 소비량을 각각 계산하는 제1 연산부; 상기 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 서버의 처리 시간을 각각 계산하는 제2 연산부; 및 상기 계산된 작업 단계별 오프로딩에 따른 클라이언트 디바이스의 처리 시간, 상기 에너지 소비량 및 상기 서버의 처리 시간을 이용하여 사용자의 체감 품질을 만족하는 오프로딩 최적 지점을 결정하는 분석부를 포함하는 데이터 오프로딩 장치가 제공될 수 있다.
상기 제1 연산부는, 상기 클라이언트 디바이스의 처리 시간은 전체 작업 단계들 중 데이터 오프로딩 지점까지의 각 작업 단계에 대한 필요 연산량의 합을 상기 클라이언트 디바이스의 처리 속도와 상기 클라이언트 디바이스의 혼잡도에 따른 딜레이 변수로 나누어 계산될 수 있다.
상기 제1 연산부는, 상기 클라이언트 디바이스의 에너지 소비량은 단위 처리량당 에너지 소모량 변수와 작업 단계별 데이터 오프로딩에 따른 필요 연산량의 합과 업링크 및 다운링크 전송 시간에 따른 정손 에너지의 합으로 계산될 수 있다.
상기 분석부는, 작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 처리 시간, 서버의 처리 시간 및 네트워크 지연시간을 합한 각 작업 단계별 전체 수행 시간이 기준 시간 이내인 지점을 오프로딩 최적 지점으로 결정할 수 있다.
상기 분석부는, 상기 전체 수행 시간이 기준 시간 이내인 지점 중에서 상기 작업 단계별 에너지 소비량이 에너지 소모 최대 허용치를 초과하지 않는 지점을 오프로딩 최적 지점으로 결정할 수 있다.
본 발명의 일 실시예에 따른 데이터 오프로딩 방법 및 그 장치를 제공함으로써, 네트워크와 서버의 혼잡도를 고려하여 최적의 오프로딩 지점을 계산한 후 동적으로 데이터를 오프로딩 할 수 있다.
또한, 본 발명은 네트워크의 지연과 서버의 혼잡도에 따라 스마트 디바이스에서의 에너지 사용량을 최소화할 수 있다.
도 1은 본 발명의 일 실시예에 따른 오프로딩 장치의 내부 구성을 개략적으로 도시한 블록도.
도 2는 본 발명의 일 실시예에 따른 증강현실 기반 데이터 프로세싱에 따른 각 작업 과정을 예시한 도면.
도 3은 본 발명의 일 실시예에 따른 특정 작업 단계에서의 데이터 오프로딩시 필요 연산량의 합을 설명하기 위해 예시한 도면.
도 4는 본 발명의 일 실시예에 따른 특정 작업 단계에서의 데이터 오프로딩시 전체 수행 시간을 설명하기 위해 예시한 도면.
도 5는 본 발명의 일 실시예에 따른 네트워크 상황 및 서버의 혼잡도를 고려하여 작업 단계별 오프로딩 지점을 달리하여 실측한 결과 그래프.
도 6은 본 발명의 일 실시예에 따른 네트워크 상황에 따라 업링크 속도가 달라지는 경우, 작업 단계별 오프로딩 지점을 변화하여 클라이언트 디바이스의 에너지 소비량을 나타낸 그래프.
도 7은 본 발명의 일 실시예에 따른 데이터 오프로딩 지점을 결정하는 방법을 나타낸 순서도.
도 2는 본 발명의 일 실시예에 따른 증강현실 기반 데이터 프로세싱에 따른 각 작업 과정을 예시한 도면.
도 3은 본 발명의 일 실시예에 따른 특정 작업 단계에서의 데이터 오프로딩시 필요 연산량의 합을 설명하기 위해 예시한 도면.
도 4는 본 발명의 일 실시예에 따른 특정 작업 단계에서의 데이터 오프로딩시 전체 수행 시간을 설명하기 위해 예시한 도면.
도 5는 본 발명의 일 실시예에 따른 네트워크 상황 및 서버의 혼잡도를 고려하여 작업 단계별 오프로딩 지점을 달리하여 실측한 결과 그래프.
도 6은 본 발명의 일 실시예에 따른 네트워크 상황에 따라 업링크 속도가 달라지는 경우, 작업 단계별 오프로딩 지점을 변화하여 클라이언트 디바이스의 에너지 소비량을 나타낸 그래프.
도 7은 본 발명의 일 실시예에 따른 데이터 오프로딩 지점을 결정하는 방법을 나타낸 순서도.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명은 클라이언트와 서버가 연동하여 데이터 프로세싱을 수행함에 있어 클라이언트 디바이스의 에너지 소모를 줄이고 네트워크의 부하를 줄이면서 최적의 오프로딩 지점을 결정할 수 있는 발명에 관한 것이다.
이하에서는 일 실시예로 증강현실 어플리케이션 수행에 따른 일 과정에 대한 최적의 오프로딩 지점을 결정하는 방법을 중심으로 설명하기로 한다. 이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 오프로딩 장치의 내부 구성을 개략적으로 도시한 블록도이고, 도 2는 본 발명의 일 실시예에 따른 증강현실 기반 데이터 프로세싱에 따른 각 작업 과정을 예시한 도면이고, 도 3은 본 발명의 일 실시예에 따른 특정 작업 단계에서의 데이터 오프로딩시 필요 연산량의 합을 설명하기 위해 예시한 도면이고, 도 4는 본 발명의 일 실시예에 따른 특정 작업 단계에서의 데이터 오프로딩시 전체 수행 시간을 설명하기 위해 예시한 도면이며, 도 5는 본 발명의 일 실시예에 따른 네트워크 상황 및 서버의 혼잡도를 고려하여 작업 단계별 오프로딩 지점을 달리하여 실측한 결과 그래프이고, 도 6은 본 발명의 일 실시예에 따른 네트워크 상황에 따라 업링크 속도가 달라지는 경우, 작업 단계별 오프로딩 지점을 변화하여 클라이언트 디바이스의 에너지 소비량을 나타낸 그래프이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 오프로딩 장치(100)는 제1 연산부(110), 제2 연산부(120), 분석부(130), 저장부(140) 및 제어부(150)를 포함하여 구성된다.
제1 연산부(110)는 미리 정해진 알고리즘을 이용하여 구해진 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 처리 시간과 에너지 소비량을 각각 계산한다.
예를 들어, 증강현실 기반 데이터 프로세싱의 경우, 도 2의 210에 도시된 바와 같이 영상 획득, 특징점 추출, 특징점 매칭, 지오메트릭 검증 및 관련 정보 반환 등의 과정을 수행하게 된다. 이러한 증강현실 기반 데이터 프로세싱 과정 중에서 일반적으로 특징점 추출 과정에서의 연산량이 가장 많다. 특징점 추출 과정을 다시 이미 정해진 알고리즘(예를 들어, SURF)을 이용하여 세부 단계로 구분하면 도 2의 220과 같이, GIG(Grayscale Image Generation), IIG(Integral Image Generation), RMG(Response Map Generation), IPD(Interest Point Detection), OA(Orientation Assignment), DE(Descriptor Extration)으로 분류될 수 있다.
이와 같이, 본 발명의 일 실시예에서는 정해진 알고리즘을 이용하여 각 작업 단계에 따른 필요 연산량을 구하고, 이를 이용하여 각 작업 단계에서의 데이터 오프로딩을 가정하여 클라이언트 디바이스의 처리 시간 및 에너지 소비량을 각각 계산할 수 있다.
예를 들어, SURF 알고리즘을 이용하여 상술한 바와 같이, 특징점 추출 과정이, GIG, IIG, RMG, IPD, OA, DE 단계로 분류되었다고 가정하자. 제2 연산부(120)는 GIG, IIG, RMG, IPD, OA, DE 각 단계별로 데이터 오프로딩을 수행하는 것을 가정하여 각 작업 단계별 클라이언트 디바이스의 처리 시간과 에너지 소비량을 계산한다.
제1 연산부(110)는 작업 단계별 오프로딩에 따른 오프로딩 지점(즉, 최초 작업 단계부터 오프로딩 지점까지의 작업 단계)까지의 클라이언트 디바이스에서 처리해야할 작업 단계들에 대한 필요 연산량의 합을 구한다. 이어, 제1 연산부(110)는 클라이언트 디바이스의 부하(즉, 클라이언트 디바이스의 처리 속도(vm) 및 클라이언트 디바이스의 혼잡도에 따른 딜레이 변수(dm))를 반영하여 각 작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 처리 시간을 각각 계산할 수 있다.
예를 들어, 제1 연산부(110)는 작업 단계별 오프로딩에 따른 오프로딩 지점까지의 필요 연산량의 합을 클라이언트 디바이스의 부하로 나누어 오프로딩 지점까지의 클라이언트 디바이스의 처리 시간을 계산할 수 있다.
제1 연산부(110)는 예를 들어, 수학식 1을 이용하여 오프로딩 지점까지의 클라이언트 디바이스의 처리 시간을 계산할 수 있다.
여기서, S는 오프로딩 지점을 나타내고, n은 작업 단계들을 나타낸다.
또한, 제1 연산부(110)는 미리 정해진 알고리즘을 통해 구해진 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 에너지 소비량을 계산한다.
예를 들어, 도 3을 참조하여, 클라이언트 디바이스에서 RMG 단계 이후에 데이터 오프로딩을 수행했다고 가정하자. 클라이언트 디바이스의 작업 단계별 데이터 오프로딩에 따른 오프로딩 지점까지의 필요 연산량의 합은 도 4의 a1 단계, a2 단계 및 a3 단계까지의 필요 연산량을 합한 결과값이고, 서버의 필요 연산량의 합은 데이터 오프로딩 이후, 즉, a4 단계, a5 단계 및 a6 단계까지의 필요 연산량을 합한 결과값이다.
제1 연산부(110)는 작업 단계별 데이터 오프로딩에 따라 작업 단계별 필요 연산량의 합에 단위 처리량당 에너지 소모량 변수를 곱한 후 업링크 및 다운링크의 전송 시간에 따른 정손 에너지를 더하여 작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 에너지 소비량을 계산할 수 있다.
제1 연산부(110)는 하기 수학식 2를 이용하여 작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 에너지 소비량을 각각 계산할 수 있다.
또한, 은 데이터 업링크 전송 시간에 따른 정손 에너지를 나타내며, F(S)는 오프로딩 지점에 클라이언트 디바이스에서 전송되어야 하는 데이터를 나타내고, RUL는 네트워크의 최대 업링크 속도를 나타내며, dUL은 네트워크의 업링크 딜레이 변수를 나타낸다.
는 데이터 다운링크 전송 시간에 따른 정손 에너지를 나타내며, FF는 서버에서 처리된 데이터를 나타내고, RDL은 네트워크의 최대 다운링크 속도를 나타내며, dDL은 네트워크 다운링크에 따른 딜레이 변수를 나타낸다.
제2 연산부(120)는 미리 정해진 알고리즘을 이용하여 구해진 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 서버의 처리 시간을 계산한다.
예를 들어, 제2 연산부(120)는 클라이언트 디바이스에서의 작업 단계별 데이터 오프로딩을 가정하여 작업 단계별 데이터 오프로딩 이후의 필요 연산량의 합과 서버의 부하(예를 들어, 서버의 처리 속도 및 서버의 혼잡도에 따른 딜레이 변수)를 이용하여 서버의 처리 시간을 계산할 수 있다.
즉, 제2 연산부(120)는 작업 단계별 데이터 오프로딩에 따라 데이터 오프로딩 이후의 필요 연산량의 합을 서버의 부하로 나누어 서버의 처리 시간을 계산할 수 있다.
예를 들어, 제2 연산부(120)는 하기 수학식 3을 이용하여 작업 단계별 데이터 오프로딩에 따른 서버의 처리 시간을 계산할 수 있다.
여기서, SF는 클라이언트 디바이스에서의 데이터 오프로딩 이후의 작업 단계들을 나타내고, S는 오프로딩 지점을 나타낸다.
분석부(130)는 제1 연산부(110) 및 제2 연산부(120)에 의해 계산된 작업 단게별 클라이언트 디바이스의 처리 시간, 에너지 소비량 및 서버의 처리 시간을 이용하여 사용자의 체감 품질(QoE: Quality of Experience)을 만족하는 오프로딩 최적 지점을 결정하기 위한 수단이다.
증강 현실 기반 데이터 프로세싱 중 특징점 추출 과정에 대한 전체 수행 시간은 도 4에 도시된 바와 같이, 데이터 오프로딩시까지의 클라이언트 디바이스의 처리 시간, 데이터 오프로딩 이후 서버에서의 처리 시간, 서버에서의 특징점 비교 시간, 업링크 전송 시간, 다운링크 전송 시간 및 네트워크 딜레이 시간을 모두 합한 시간임을 알 수 있다.
이에, 이를 수학식으로 표현하면, 수학식 4와 같이 나타낼 수 있다.
여기서, 은 데이터 오프로딩에 따른 클라이언트 디바이스에서의 총 처리 시간을 나타내고, 은 데이터 오프로딩 이후 서버에서의 총 처리 시간을 나타내며, TDB(I,H,W)은 미리 정해진 알고리즘에 의해 얻어진 특징점의 개수(I)와 이미지 픽셀의 높이(H)와 폭(W)을 고려한 특징점 비교 시간을 나타내고, 은 오프로딩 지점에서의 클라이언트 디바이스에서 전송될 데이터를 업로드하는데 소요되는 전송시간을 나타내며, 은 데이터 오프로딩에 따라 서버에서 처리된 데이터를 클라이언트 디바이스에서 다운로드받기 위해 소요되는 다운링크 전송 시간을 나타낸다. 그리고, TRS은 네트워크에서 라우터, 스위치 등을 통과하는데 걸리는 지연 시간을 나타낸다.
이와 같이, 특정 데이터 프로세싱을 클라이언트 디바이스와 서버가 협업하여 일부 작업을 서버에 데이터 오프로딩하여 처리하는 경우 전체 처리 시간은 체감 품질을 저하시키지 않는 기준 시간 이내에 처리되어야 한다.
또한, 데이터 오프로딩에 따른 클라이언트 디바이스의 에너지 소비량이 에너지 소모 최대 허용치를 넘지 않아야 체감 품질의 저하를 방지할 수 있다.
이를 수학식으로 표현하면, 수학식 5와 같다.
따라서, 분석부(130)는 네트워크 상황을 고려하여 작업 단계별 오프로딩 지점을 각각 다르게 하여 클라이언트 디바이스의 처리 시간, 에너지 소비량과 서버의 처리 시간을 이용하여 체감 품질을 만족하는 오프로딩 최적 지점을 결정할 수 있다.
도 5는 네트워크 상황 및 서버의 혼잡도를 고려하여 작업 단계별 오프로딩 지점을 달리하여 실측한 결과 그래프이다. 도 5에서 보여지는 바와 같이, 네트워크 상황 및 서버의 혼잡도를 고려하여 작업 단계별 오프로딩 지점을 달리하여 사용자의 체감 품질을 만족시키는 수행 시간 내에서 클라이언트 디바이스의 에너지 소비량을 최소화할 수 있음을 알 수 있다.
도 6은 본 발명의 일 실시예에 따른 네트워크 상황에 따라 업링크 속도가 달라지는 경우, 작업 단계별 오프로딩 지점을 변화하여 클라이언트 디바이스의 에너지 소비량을 나타낸 그래프이다. 도 6에 도시된 바와 같이, 네트워크 상황에 따라 업링크 속도가 달라지는 경우, 작업 단계별 오프로딩 지점에 따라 클라이언트 디바이스의 에너지 소비량을 줄일 수 있음을 알 수 있다.
이와 같이, 본 발명의 일 실시예에 따르면, 작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 처리시간, 에너지 소비량 및 서버의 처리 시간을 이용하여 네트워크 상황에 따라 오프로딩 지점을 변화시키면서 체감 품질을 만족하는 오프로딩 최적 지점을 결정할 수 있다.
저장부(140)는 본 발명의 일 실시예에 따른 오프로딩 장치를 운용하기 위해 필요한 알고리즘, 어플리케이션 등을 저장한다. 또한, 저장부(140)는 본 발명의 일 실시예에 따른 오프로딩 최적 지점을 결정하기 위해 필요한 계산된 다양한 변수값들을 저장할 수도 있다.
제어부(150)는 본 발명의 일 실시예에 따른 오프로딩 장치(100)의 내부 구성 요소들(예를 들어, 제1 연산부(110), 제2 연산부(120), 분석부(130) 및 저장부(140) 등)을 제어하기 위한 수단이다.
도 7은 본 발명의 일 실시예에 따른 데이터 오프로딩 지점을 결정하는 방법을 나타낸 순서도이다.
단계 710에서 오프로딩 장치(100)는 미리 정해진 알고리즘을 이용하여 구해진 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 처리 시간 및 에너지 소비량을 각각 계산한다. 이는 이미 전술한 바와 동일하므로 중복되는 설명은 생략하기로 한다.
단계 715에서 오프로딩 장치(100)는 구해진 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 서버의 처리 시간을 각각 계산한다. 예를 들어, 클라이언트 디바이스에서의 작업 단계별 데이터 오프로딩을 가정하여 작업 단계별 데이터 오프로딩 이후의 필요 연산량의 합과 서버의 부하(예를 들어, 서버의 처리 속도 및 서버의 혼잡도에 따른 딜레이 변수)를 이용하여 서버의 처리 시간을 계산할 수 있다
단계 720에서 오프로딩 장치(100)는 계산된 작업 단계별 데이터 오프로딩에 따른 클라이언트의 처리 시간, 에너지 소비량 및 서버의 처리시간을 이용하여 사용자의 체감 품질을 만족하는 오프로딩 최적 지점을 결정한다.
예를 들어, 오프로딩 장치(100)는 계산된 작업 단계별 데이터 오프로딩에 따른 클라이언트의 처리시간 및 서버의 처리 시간에 네트워크 상황을 반영하여 전체 수행 시간을 계산하고, 전체 수행 시간이 체감 품질을 저하시키지 않는 기준 수행 시간 이내인 지점을 오프로딩 최적 지점으로 결정할 수 있다.
또한, 오프로딩 장치(100)는 계산된 작업 단계별 클라이언트 디바이스의 에너지 소비량을 고려하여 에너지 소비량이 에너지 소모 최대 허용치 이내인 지점을 오프로딩 최적 지점으로 결정할 수 있다.
결과적으로, 오프로딩 장치(100)는 작업 단계별 데이터 오프로딩에 따른 클라이언트의 처리 시간, 서버의 처리 시간에 네트워크 상황을 반영하여 계산된 전체 수행 시간이 전체 수행 시간이 체감 품질을 저하시키지 않는 기준 수행 시간 이내이고, 에너지 소비량이 에너지 소모 최대 허용치 이내인 지점을 오프로딩 지점으로 결정할 수 있다.
이로 인해, 본 발명의 일 실시예에 따르면, 네트워크 상황을 반영하여 동적으로 작업 단계별 데이터 오프로딩을 위한 최적 지점을 결정하여 데이터를 오프로딩하도록 할 수 있다. 이에 따라, 결과적으로 클라이언트 디바이스의 에너지 소모를 줄일 수 있는 이점이 있다.
한편, 본 발명의 실시예에 따른 클라이언트 디바이스의 에너지 소모를 줄이고 네트워크의 부하를 줄이면서 최적의 오프로딩 지점을 결정할 수 있는 방법은 다양한 전자적으로 정보를 처리하는 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 저장 매체에 기록될 수 있다. 저장 매체는 프로그램 명령, 데이터 파일, 데이터 구조등을 단독으로 또는 조합하여 포함할 수 있다.
저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 오프로딩 장치
110: 제1 연산부
120: 제2 연산부
130: 분석부
140: 저장부
150: 제어부
110: 제1 연산부
120: 제2 연산부
130: 분석부
140: 저장부
150: 제어부
Claims (11)
- (a) 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 처리 시간과 에너지 소비량을 각각 계산하는 단계;
(b) 상기 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 서버의 처리 시간을 각각 계산하는 단계; 및
(c) 상기 계산된 작업 단계별 오프로딩에 따른 클라이언트 디바이스의 처리 시간, 상기 에너지 소비량 및 상기 서버의 처리 시간을 이용하여 사용자의 체감 품질을 만족하는 오프로딩 최적 지점을 결정하는 단계를 포함하는 데이터 오프로딩 방법.
- 제1 항에 있어서,
상기 클라이언트 디바이스의 처리 시간은 전체 작업 단계들 중 데이터 오프로딩 지점까지의 각 작업 단계에 대한 필요 연산량의 합을 상기 클라이언트 디바이스의 처리 속도와 상기 클라이언트 디바이스의 혼잡도에 따른 딜레이 변수로 나누어 계산되는 것을 특징으로 하는 데이터 오프로딩 방법.
- 제1 항에 있어서,
상기 클라이언트 디바이스의 에너지 소비량은 단위 처리량당 에너지 소모량 변수와 작업 단계별 데이터 오프로딩에 따른 필요 연산량의 합과 업링크 및 다운링크 전송 시간에 따른 정손 에너지의 합으로 계산되는 것을 특징으로 하는 데이터 오프로딩 방법.
- 제1 항에 있어서,
상기 (c) 단계는,
작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 처리 시간, 서버의 처리 시간 및 네트워크 지연시간을 합한 각 작업 단계별 전체 수행 시간이 기준 시간 이내인 지점을 오프로딩 최적 지점으로 결정하는 것을 특징으로 하는 데이터 오프로딩 방법.
- 제4 항에 있어서,
상기 (c) 단계는,
상기 작업 단계별 에너지 소비량이 에너지 소모 최대 허용치를 초과하지 않는 지점을 오프로딩 최적 지점으로 결정하는 것을 특징으로 하는 데이터 오프로딩 방법.
- 제1 항 내지 제5 항 중 적어도 하나의 항에 따른 데이터 오프로딩 방법을 수행하기 위한 프로그램을 기록한 기록 매체.
- 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 처리 시간과 에너지 소비량을 각각 계산하는 제1 연산부;
상기 작업 단계별 필요 연산량을 이용하여 작업 단계별 데이터 오프로딩에 따른 서버의 처리 시간을 각각 계산하는 제2 연산부; 및
상기 계산된 작업 단계별 오프로딩에 따른 클라이언트 디바이스의 처리 시간, 상기 에너지 소비량 및 상기 서버의 처리 시간을 이용하여 사용자의 체감 품질을 만족하는 오프로딩 최적 지점을 결정하는 분석부를 포함하는 데이터 오프로딩 장치.
- 제7 항에 있어서,
상기 제1 연산부는,
상기 클라이언트 디바이스의 처리 시간은 전체 작업 단계들 중 데이터 오프로딩 지점까지의 각 작업 단계에 대한 필요 연산량의 합을 상기 클라이언트 디바이스의 처리 속도와 상기 클라이언트 디바이스의 혼잡도에 따른 딜레이 변수로 나누어 계산되는 것을 특징으로 하는 데이터 오프로딩 장치
- 제7 항에 있어서,
상기 제1 연산부는,
상기 클라이언트 디바이스의 에너지 소비량은 단위 처리량당 에너지 소모량 변수와 작업 단계별 데이터 오프로딩에 따른 필요 연산량의 합과 업링크 및 다운링크 전송 시간에 따른 정손 에너지의 합으로 계산되는 것을 특징으로 하는 데이터 오프로딩 장치.
- 제7 항에 있어서,
상기 분석부는,
작업 단계별 데이터 오프로딩에 따른 클라이언트 디바이스의 처리 시간, 서버의 처리 시간 및 네트워크 지연시간을 합한 각 작업 단계별 전체 수행 시간이 기준 시간 이내인 지점을 오프로딩 최적 지점으로 결정하는 것을 특징으로 하는 데이터 오프로딩 장치.
- 제10 항에 있어서,
상기 분석부는, 상기 전체 수행 시간이 기준 시간 이내인 지점 중에서 상기 작업 단계별 에너지 소비량이 에너지 소모 최대 허용치를 초과하지 않는 지점을 오프로딩 최적 지점으로 결정하는 것을 특징으로 하는 데이터 오프로딩 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130049067A KR101465879B1 (ko) | 2013-05-01 | 2013-05-01 | 데이터 오프로딩 방법 및 그 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130049067A KR101465879B1 (ko) | 2013-05-01 | 2013-05-01 | 데이터 오프로딩 방법 및 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140130602A true KR20140130602A (ko) | 2014-11-11 |
KR101465879B1 KR101465879B1 (ko) | 2014-11-26 |
Family
ID=52291724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130049067A KR101465879B1 (ko) | 2013-05-01 | 2013-05-01 | 데이터 오프로딩 방법 및 그 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101465879B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020023115A1 (en) * | 2018-07-27 | 2020-01-30 | Futurewei Technologies, Inc. | Task offloading and routing in mobile edge cloud networks |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101989249B1 (ko) * | 2017-12-14 | 2019-06-13 | 연세대학교 산학협력단 | 이동 단말기의 오프로딩 방법 및 그 이동 단말기 |
US10565464B2 (en) | 2017-12-21 | 2020-02-18 | At&T Intellectual Property I, L.P. | Adaptive cloud offloading of mobile augmented reality |
Family Cites Families (1)
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 |
-
2013
- 2013-05-01 KR KR1020130049067A patent/KR101465879B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020023115A1 (en) * | 2018-07-27 | 2020-01-30 | Futurewei Technologies, Inc. | Task offloading and routing in mobile edge cloud networks |
US11503113B2 (en) | 2018-07-27 | 2022-11-15 | Huawei Technologies Co., Ltd. | Task offloading and routing in mobile edge cloud networks |
Also Published As
Publication number | Publication date |
---|---|
KR101465879B1 (ko) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102164427B1 (ko) | 신경망의 실행 순서 결정 | |
KR102151328B1 (ko) | 오더 클러스터링 및 악의적인 정보 퇴치 방법 및 장치 | |
US20240119286A1 (en) | Adaptive artificial neural network selection techniques | |
US8560667B2 (en) | Analysis method and apparatus | |
JP5218390B2 (ja) | 自律制御サーバ、仮想サーバの制御方法及びプログラム | |
US20170351546A1 (en) | Resource predictors indicative of predicted resource usage | |
US9705816B2 (en) | Method and apparatus for allocating resource reflecting adaptive evaluation in cloud computing for high-throughput computing | |
US8786888B2 (en) | Cloud processing for print jobs | |
JP2018005896A (ja) | シミュレーションジョブを実行するためのシステム、コントローラ、方法、及びプログラム | |
KR101465879B1 (ko) | 데이터 오프로딩 방법 및 그 장치 | |
KR20220053963A (ko) | 온라인 제품 설계/해석 서비스 제공 장치, 제공 방법 및 이를 기록한 기록매체 | |
CN111625367A (zh) | 一种动态调整文件系统读写资源的方法 | |
CN111461302A (zh) | 一种基于卷积神经网络的数据处理方法、设备及存储介质 | |
US9983911B2 (en) | Analysis controller, analysis control method and computer-readable medium | |
KR102350195B1 (ko) | 모바일 엣지 컴퓨팅을 활용하는 모바일 증강현실 서비스의 모바일 단말 에너지 최적화 방법 및 시스템 | |
US9075494B2 (en) | Systems and methods for performing object selection | |
JP2011141703A (ja) | 資源配置システム、資源配置方法、及び資源配置用プログラム | |
US11687602B2 (en) | Efficient use of computing resources in responding to content requests | |
US10379561B2 (en) | Energy saving method based on confidence interval and apparatus using the same | |
US20220050614A1 (en) | System and method for approximating replication completion time | |
US11531917B1 (en) | Probabilistic forecasting with nonparametric quantile functions | |
KR20210156538A (ko) | 뉴럴 네트워크를 이용한 데이터 처리 방법 및 데이터 처리 장치 | |
Venieris et al. | NAWQ-SR: A Hybrid-Precision NPU Engine for Efficient On-Device Super-Resolution | |
EP3923208B1 (en) | Automated hardware resource optimization | |
KR102302745B1 (ko) | 영상 데이터 획득 방법, 영상 데이터 획득 장치 및 상기 방법을 실행시키기 위하여 기록매체에 저장된 컴퓨터 프로그램 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20171120 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |