KR102177432B1 - 포그 컴퓨팅 기반 무선 네트워크에서 태스크 우선순위별 연산량 오프로딩 장치 및 방법 - Google Patents

포그 컴퓨팅 기반 무선 네트워크에서 태스크 우선순위별 연산량 오프로딩 장치 및 방법 Download PDF

Info

Publication number
KR102177432B1
KR102177432B1 KR1020190063054A KR20190063054A KR102177432B1 KR 102177432 B1 KR102177432 B1 KR 102177432B1 KR 1020190063054 A KR1020190063054 A KR 1020190063054A KR 20190063054 A KR20190063054 A KR 20190063054A KR 102177432 B1 KR102177432 B1 KR 102177432B1
Authority
KR
South Korea
Prior art keywords
fog
cloud
offloading
server
priority
Prior art date
Application number
KR1020190063054A
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 KR1020190063054A priority Critical patent/KR102177432B1/ko
Priority to PCT/KR2019/013188 priority patent/WO2020241981A1/ko
Application granted granted Critical
Publication of KR102177432B1 publication Critical patent/KR102177432B1/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking 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]
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 사용자 단말에서 요청한 클라우드 태스크가 요구되는 서비스 제공 시간 내에 처리되면서 사용자 단말과 포그 서버의 에너지 소모량이 최소화되도록 포그 서버 및 클라우드 서버로 오프로딩하는 태스크 우선순위별 연산량 오프로딩 장치 및 방법을 제공할 수 있다. 따라서 사용자 단말과 포그 서버가 제한된 전력을 갖고 구동되는 모바일 기기로 구현되는 경우에도 요구되는 성능의 클라우드 서비스를 가능한 최대의 시간으로 제공할 수 있다.

Description

포그 컴퓨팅 기반 무선 네트워크에서 태스크 우선순위별 연산량 오프로딩 장치 및 방법{APPARATUS AND METHOD FOR OFFLOADING COMPUTING AMOUNT BY TASK PRIORITY IN A FOG COMPUTING BASED WIRELESS NETWORK}
본 발명은 오프로딩 장치 및 방법에 관한 것으로, 포그 컴퓨팅 기반 무선 네트워크에서 에너지 소모를 최소화하기 위한 발생 빈도에 따른 태스크 우선순위별 연산량 오프로딩 장치 및 방법에 관한 것이다.
증강현실(Augmented Reality: AR) 및 실시간 네비게이션, 블록체인 응용 애플리케이션인 작업 증명(Proof of Work: PoW)와 같은 고연산을 필요로 하는 애플리케이션의 요구가 증가하고 있으나, 스마트 폰과 같은 사용자 단말에서는 제한된 배터리 및 부족한 연산 처리능력으로 인해 서비스를 사용자가 요구하는 수준으로 제공하기 어렵다. 특히 블록체인 어플리케이션의 경우 에너지 소모가 매우 크기 때문에 사용자 단말에서 이를 처리하기는 거의 불가능하다.
또한 사용자 단말에서는 제한된 메모리 용량으로 인해 대용량의 데이터를 저장할 수 없고, 다른 사용자 단말이 저장된 데이터에 용이하게 접근할 수 없으며, 안정적인 백업을 수행할 수 없다는 문제가 있다.
이러한 한계를 극복하기 위해 사용자 단말 대신 중앙화된 클라우드 플랫폼에서 연산 및 저장 기능을 대신 수행하는 모바일 클라우드 컴퓨팅 기술이 제안되었으며, 모바일 클라우드 컴퓨팅 기술은 사용자 단말의 처리부하를 없애고 클라우드 서버에서 다양한 서비스 제공할 수 있도록 한다.
그러나 모바일 클라우드 컴퓨팅에서 플랫폼은 네트워크 중앙부에 위치해 사용자 단말로의 서비스 제공에 있어서 물리적 거리에 의한 추가적인 서비스 지연시간이 발생한다.
이러한 불필요한 서비스 지연시간을 최소화하면서 클라우드 서비스를 제공하기 위해서, 사용자 단말과 가까운 Radio Access Network(이하 RAN)에 배치된 포그 서버(Fog server)에서 클라우드 기능의 일부를 수행하는 포그 컴퓨팅이 제안되었다.
포그 서버가 도입됨에 따라 사용자 단말의 근처에서 서비스를 제공할 수 있게 되었고, 이는 서비스 제공 지연시간의 감소를 가져왔으며, 고연산을 요구하는 블록체인 PoW과 같은 연산을 사용자와 인접한 거리에서 신속히 처리할 수 있도록 하였다.
그러나 포그 컴퓨팅이 제안됨에 따라 클라우드 서비스들을 클라우드 컴퓨팅과 포그 컴퓨팅에 분산적으로 처리해 효율을 높일 수 있는 태스크 오프로딩 기술의 신중한 설계가 필요하게 되었다. 특히 포그 서버라는 새로운 처리 노드의 도입으로 인해 총 에너지 소모량은 증가하게 되었으므로, 사용자 단말뿐 아니라 포그 서버의 에너지까지 고려할 수 있는 기법이 필요하게 되었다.
한국 공개 특허 제10-2017-007138호 (2017.06.23 공개)
본 발명의 목적은 요구 서비스의 우선순위에 따라 포그 서버와 클라우드 서버에 연산량을 분산 오프로딩하여 요구되는 서비스 지연시간을 만족시킬 수 있는 태스크 우선순위별 연산량 오프로딩 장치 및 방법을 제공하는데 있다.
본 발명의 다른 목적은 최적의 에너지 소모량을 달성할 수 있는 태스크 우선순위별 연산량 오프로딩 장치 및 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 태스크 우선순위별 연산량 오프로딩 장치는 적어도 하나의 사용자 단말과 적어도 하나의 포그 서버 및 적어도 하나의 클라우드 서버를 포함하는 포그 컴퓨팅 기반 네트워크의 네트워크 상태 정보를 획득하는 네트워크 정보 획득부; 지정된 확률 분포 모델에 기초한 발생빈도에 따른 우선순위를 갖는 다수의 클라우드 태스크를 포그 서버와 클라우드 서버로 분산하여 오프로딩하는 경우의 클라우드 태스크의 전송 시간과 연산 시간을 계산하며, 계산된 전송 시간과 연산 시간으로부터 기준 포그 오프로딩 개수를 계산하는 기준 처리량 연산부; 및 상기 기준 처리량 연산부에서 계산된 기준 포그 오프로딩 개수에 대한 누적 분포인 기준 누적 분포를 계산하고, 사용자 단말로부터 우선순위가 지정된 클라우드 태스크가 전송되면, 전송된 우선순위 클라우드 태스크의 누적 분포를 계산하며, 계산된 누적 분포와 상기 기준 누적 분포를 비교하여 상기 우선순위 클라우드 태스크를 포그 서버 또는 클라우드 서버로 오프로딩하는 오프로딩부; 를 포함한다.
상기 기준 처리량 연산부는 지프 분포(Zipf distribution) 모델에 기초하는 발생빈도(fK(k))를 갖는 우선 순위(k)의 다수(Nmax)의 클라우드 태스크(Ak)에 대한 서비스 제공 시간이 기지정된 문턱 서비스 제공 시간(Dth)을 초과하지 않고, 상기 적어도 하나의 사용자 단말과 상기 적어도 하나의 포그 서버의 전력 소모를 최소화할 수 있도록, 다수(Nmax)의 클라우드 태스크(Ak) 중 상기 포그 서버로 오프로딩되어야 하는 태스크의 개수를 나타내는 상기 기준 포그 오프로딩 개수(nopt)를 수학식
Figure 112019055122313-pat00001
(여기서 s는 지프 분포 파라미터, dk는 클라우드 태스크(Ak)의 데이터 크기, r은 사용자 단말과 인접한 포그 서버 사이의 전송률, rF는 포그 서버와 대응하는 기지국 사이의 전송률, φ는 기지국과 클라우드 서버 사이의 전파 계수이고, Wk는 클라우드 태스크(Ak)를 처리하기 위한 연산량이며, fF,max 및 fR,max는 각각 포그 서버와 클라우드 서버의 최대 동작 주파수이다.) 에 따라 계산하여 획득할 수 있다.
상기 기준 처리량 연산부는 상기 연산량(Wk)을 감마 확률 분포에 따라 모델링되는 클라우드 태스크(Ak)의 특성 확률 분포(Xk)와 클라우드 태스크(Ak)의 데이터 크기(dk)의 곱으로 계산할 수 있다.
상기 오프로딩부는 전송된 우선순위 클라우드 태스크의 누적 분포가 상기 기준 누적 분포 이하이면, 상기 우선순위 클라우드 태스크를 상기 포그 서버로 오프로딩하고, 전송된 우선순위 클라우드 태스크의 누적 분포가 상기 기준 누적 분포를 초과하면, 상기 우선순위 클라우드 태스크를 상기 클라우드 서버로 오프로딩할 수 있다.
상기 우선순위 클라우드 태스크는 데이터 패킷 형태로 전송되며, 데이터 패킷의 MAC 헤더에서 기지정된 비트수가 할당된 Address 4 필드의 지정된 일부 비트에 상기 우선순위 클라우드 태스크의 우선 순위가 포함되어 전송될 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 태스크 우선순위별 연산량 오프로딩 방법은 적어도 하나의 사용자 단말과 적어도 하나의 포그 서버 및 적어도 하나의 클라우드 서버를 포함하는 포그 컴퓨팅 기반 네트워크의 네트워크 상태 정보를 획득하는 단계; 지정된 확률 분포 모델에 기초한 발생빈도에 따른 우선순위를 갖는 다수의 클라우드 태스크를 포그 서버와 클라우드 서버로 분산하여 오프로딩하는 경우의 클라우드 태스크의 전송 시간과 연산 시간을 계산하고, 계산된 전송 시간과 연산 시간으로부터 기준 포그 오프로딩 개수를 계산하는 단계; 상기 기준 포그 오프로딩 개수에 대한 누적 분포인 기준 누적 분포를 계산하는 단계; 사용자 단말로부터 우선순위가 지정된 클라우드 태스크가 전송되면, 전송된 우선순위 클라우드 태스크의 누적 분포를 계산하는 단계; 및 계산된 누적 분포와 상기 기준 누적 분포를 비교하여 상기 우선순위 클라우드 태스크를 포그 서버 또는 클라우드 서버로 오프로딩하는 단계; 를 포함한다.
따라서, 본 발명의 실시예에 따른 태스크 우선순위별 연산량 오프로딩 장치 및 방법은 사용자 단말에서 요청한 클라우드 태스크가 요구되는 서비스 제공 시간 내에 처리되면서 사용자 단말과 포그 서버의 에너지 소모량이 최소화되도록 포그 서버 및 클라우드 서버로 오프로딩할 수 있다. 따라서 사용자 단말과 포그 서버가 제한된 전력을 갖고 구동되는 모바일 기기로 구현되는 경우에도 요구되는 성능의 클라우드 서비스를 가능한 최대의 시간으로 제공할 수 있다.
도 1은 포그 컴퓨팅 기반 네트워크의 개략적 구조를 나타낸다.
도 2는 본 발명의 일실시예에 따른 포그 컴퓨팅 기반 네트워크의 오프로딩 장치의 개략적 구조를 나타낸다.
도 3은 본 발명의 일실시예에 따른 포그 컴퓨팅 기반 네트워크의 오프로딩 방법을 나타낸다.
도 4는 본 실시예에 따른 포그 컴퓨팅 기반 네트워크의 오프로딩 방법을 적용하기 위한 수정 헤더 구조를 나타낸다.
도 5는 본 실시예에 따른 포그 컴퓨팅 기반 네트워크의 오프로딩 방법에 따른 평균 서비스 제공 시간을 시뮬레이션한 결과를 나타낸다.
도 6은 본 실시예에 따른 포그 컴퓨팅 기반 네트워크의 오프로딩 방법에 따른 평균 에너지 소모량을 시뮬레이션한 결과를 나타낸다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈", "블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 포그 컴퓨팅 기반 네트워크의 개략적 구조를 나타낸다.
도 1을 참조하면, 포그 컴퓨팅 기반 네트워크는 적어도 하나의 클라우드 서버(10)와 적어도 하나의 기지국(21, 22), 적어도 하나의 포그 서버(31, 32) 및 다수의 사용자 단말(41 ~ 45)을 포함한다.
다수의 사용자 단말(41 ~ 45)은 모바일 기기로서, 다수의 태스크를 가질 수 있다. 여기서 태스크에는 사용자 단말(41 ~ 45)이 직접 처리해야 하는 에지 태스크와 포그 서버(31, 32) 또는 클라우드 서버(10)에 처리를 요청할 클라우드 태스크가 포함될 수 있다.
다수의 사용자 단말(41 ~ 45)은 연산 작업을 요청할 클라우드 태스크가 존재하는 경우, 적어도 하나의 포그 서버(31, 32) 중 인접한 포그 서버에 접속하여, 적어도 하나의 클라우드 태스크를 접속된 인접한 포그 서버로 전송한다.
이때 다수의 사용자 단말(41 ~ 45)은 무선 통신으로 포그 서버(31, 32)에 직접 접속하여 클라우드 태스크를 접속된 포그 서버로 전송할 수 있다. 다만 다수의 사용자 단말(41 ~ 45)은 클라우드 태스크를 전송하는 경우가 아니면, 적어도 하나의 기지국(21, 22)과 직접 접속 가능하다. 그리고 클라우드 태스크를 전송하는 경우에도 다수의 사용자 단말(41 ~ 45)은 적어도 하나의 기지국(21, 22)을 통해 포그 서버(31, 32)에 접속하도록 구성될 수도 있으나, 여기서는 다수의 사용자 단말(41 ~ 45)이 무선으로 포그 서버(31, 32)에 직접 접속하는 것으로 가정하여 설명한다.
적어도 하나의 포그 서버(31, 32) 각각은 적어도 하나의 사용자 단말(41 ~ 45)로부터 인가된 클라우드 태스크에 대해 직접 처리할지 클라우드 서버로 오프로딩 할지 여부를 결정한다. 여기서 포그 서버(31, 32)는 다수의 클라우스 태스크 각각을 지정된 우선순위에 따라 포그 서버(31, 32) 또는 클라우드 서버(10) 중 하나에서 처리하도록 오프로딩할 수 있으며, 이때, 후술하는 태스크의 발생빈도 우선순위 누적확률 분포 및 기준 처리량에 따라 클라우드 서버(10)로의 오프로딩 여부를 판단할 수 있다.
포그 서버(31, 32)는 직접 처리하는 것으로 결정되면, 인가된 클라우드 태스크에 대한 연산 작업을 수행하여 처리하고, 처리 결과를 클라우드 태스크를 전송한 사용자 단말로 전달한다. 반면, 클라우드 서버(10)에서 처리하는 것으로 결정되면, 대응하는 기지국(21, 22)를 통해 해당 클라우드 태스크를 클라우드 서버(10)로 전달한다. 본 실시예에서는 포그 서버(31, 32)에서 처리될 클라우드 태스크를 포그 오프로딩 태스크라하고, 클라우드 서버(10)에서 처리되어야 할 클라우드 태스크를 클라우드 오프로딩 태스크라 한다. 즉 클라우드 태스크는 처리하는 장치에 따라 포그 오프로딩 태스크와 클라우드 오프로딩 태스크로 구분될 수 있다.
다수의 기지국(21, 22) 각각은 적어도 하나의 포그 서버(31, 32)와 클라우드 서버(10) 사이의 통신을 제공한다. 적어도 하나의 포그 서버(31, 32)가 다수의 사용자 단말(41 ~ 45)과 인접하여 배치되는데 반해, 클라우드 서버(10)는 일반적으로 원격지에 배치되며, 이에 다수의 기지국(21, 22)은 포그 서버(31, 32)와 클라우드 서버(10) 사이에 원활한 통신이 수행될 수 있도록 적어도 하나의 포그 서버(31, 32)와 클라우드 서버(10) 사이에 배치될 수 있다.
클라우드 서버(10)는 포그 서버(31, 32)에서 전송된 클라우드 태스크에 대한 연산 작업을 수행한다.
즉 도 1의 도시된 포그 컴퓨팅 기반 네트워크에서는 포그 서버(31, 32)가 사용자 단말(41 ~ 45)로부터 인가된 클라우드 태스크를 직접 처리할지 클라우드 서버(10)로 오프로딩할지 여부를 판별하는 오프로딩 장치를 포함할 수 있다.
이하에서는 설명의 편의를 위하여, 클라우드 태스크를 간략하게 태스크라고 할 수도 있다.
도 2는 본 발명의 일실시예에 따른 포그 컴퓨팅 기반 네트워크의 오프로딩 장치의 개략적 구조를 나타내며, 상기한 바와 같이, 본 실시예의 오프로딩 장치는 일예로 포그 서버에 포함되어 구성될 수 있다.
본 실시예에 따른 오프로딩 장치는 다수의 클라우스 태스크 각각을 발생 빈도에 따른 우선순위를 고려하여 오프로딩할 수 있다. 즉 전체 클라우드 태스크의 개수(Nmax)에서 발생 빈도에 기초한 각 클라우드 태스크(Ak)의 우선순위(k)에 따라 포그 서버(31, 32)에서 처리되어야 할 최적의 포그 오프로딩 개수(nopt)를 기준 포그 오프로딩 개수로 판별한다. 그리고 판별된 기준 포그 오프로딩 개수(nopt)에 따라 인가된 클라우드 태스크(Ak)를 포그 오프로딩 태스크로서 직접 처리하거나, 클라우드 오프로딩 태스크로서 클라우드 서버(10)로 전달한다.
특히 본 실시예의 오프로딩 장치는 사용자 단말(41 ~ 45)에서 처리 요청한 클라우드 태스크(Ak)를 처리하는 서비스 제공 시간이 기지정된 문턱 서비스 제공 시간(Dth)을 초과하지 않으면서, 사용자 단말(41 ~ 45) 및 포그 서버(31, 32)의 에너지 소모량을 최소화할 수 있도록 클라우드 태스크를 오프로딩할 수 있는 포그 오프로딩 개수를 기준 포그 오프로딩 개수(nopt)로 판별함으로써, 요구되는 서비스 제공 시간을 만족시키면서 사용자 단말(41 ~ 45)과 포그 서버(31, 32)의 에너지 소모량을 최소화할 수 있다. 따라서 사용자 단말(41 ~ 45)과 포그 서버(31, 32)가 제한된 전력을 갖고 구동되는 모바일 기기로 구현되는 경우에도 요구되는 성능의 클라우드 서비스를 가능한 최대의 시간으로 제공할 수 있다.
도 2를 참조하면, 오프로딩 장치는 네트워크 정보 획득부(100), 기준 처리량 연산부(200) 및 오프로딩부(300)를 포함할 수 있다.
우선 네트워크 정보 획득부(100)는 포그 컴퓨팅 기반 네트워크의 네트워크 상태 정보를 획득한다. 네트워크 정보 획득부(100)는 사용자 단말(41 ~ 45)과 인접한 포그 서버(31, 32) 사이 및 포그 서버(31, 32)와 대응하는 기지국(21, 22) 사이 각각의 레일리 페이딩 블록 채널 매트릭스(h, hF)와 전송률(r, rF), 기지국(21, 22)에서 클라우드 서버(10) 사이의 전파 계수(φ), 포그 서버(31, 32)와 클라우드 서버(10)의 동작 주파수(fF, fR)를 획득할 수 있다.
기준 처리량 연산부(200)는 네트워크 정보 획득부(100)에서 획득된 네트워크 상태 정보와 발생 빈도에 기초한 클라우드 태스크(Ak)의 누적 분포(Φ(n)) 및 클라우드 태스크(Ak)의 데이터 크기(dk)에 따른 네트워크 전송 시간 및 연산 시간에 따라 서비스 제공 시간(D(n, dk))과 에너지 소모량(C(n))을 계산한다. 그리고 계산된 서비스 제공 시간(D(n, dk))과 에너지 소모량(C(n))으로부터 포그 서버(31, 32)에서 처리되어야 할 기준 포그 오프로딩 개수(nopt)를 획득한다.
기준 처리량 연산부(200)는 지연시간 계산부(210), 에너지 소모량 계산부(220) 및 최적 처리량 계산부(230)를 포함할 수 있다.
지연시간 계산부(210)는 네트워크 정보 획득부(100)에서 획득된 네트워크 상태 정보에 기반하여 사용자 단말(41 ~ 45)에서 처리 요청한 클라우드 태스크(Ak)를 처리하기 위해 소요되는 서비스 제공 시간(D(n, dk))을 계산한다. 이때, 지연시간 계산부(210)는 전체 클라우드 태스크의 개수(Nmax) 중 포그 서버(31, 32)에서 처리되는 포그 오프로딩 태스크의 개수(n)와 입력된 클라우드 태스크(Ak)의 데이터 크기(dk)에 따른 서비스 제공 시간(D(n, dk))을 계산한다.
지연시간 계산부(210)는 클라우드 태스크(Ak)가 지프 분포(Zipf distribution)에 따른 발생 빈도(fK(k))를 갖는 것으로 모델링하고, 지프 분포에 기반하여 발생 빈도(fK(k))에 따른 우선 순위 클라우드 태스크(Ak)의 누적 분포(Φ(n))와 상보 누적 분포(Ψ(n))를 획득한다.
k번째 우선순위를 갖는 클라우드 태스크(Ak)의 발생 빈도(fK(k))는 지프 분포(Zipf distribution)에 따라 수학식 1과 같이 모델링될 수 있다.
Figure 112019055122313-pat00002
여기서 k는 클라우드 태스크(Ak)의 우선순위이고, Ω는 확률분포 파라미터로
Figure 112019055122313-pat00003
로 계산되며, s는 지프 분포 파라미터이다.
수학식 1로부터 전체 클라우드 태스크의 개수(Nmax) 중 포그 서버(31, 32)에서 처리되는 포그 오프로딩 태스크의 개수(n)에 대한 누적 분포(Φ(n))와 상보 누적 분포(Ψ(n))는 각각 수학식 2 및 3에 따라 계산될 수 있다.
Figure 112019055122313-pat00004
Figure 112019055122313-pat00005
한편, 지연시간 계산부(210)는 포그 서버(31, 32)로 오프로딩 시의 서비스 시간, 즉 클라우드 태스크(Ak) 중 포그 오프로딩 태스크가 처리되는 포그 오프로딩 서비스 시간(TF)과 클라우드 서버(10)로 오프로딩 시의 서비스 시간, 즉 클라우드 오프로딩 태스크가 처리되는 클라우드 오프로딩 서비스 시간(TR)을 각각 모델링하여 계산한다.
포그 오프로딩 서비스 시간(TF)과 클라우드 오프로딩 서비스 시간(TR)은 각각 네트워크 전송 시간과 연산 시간으로 구성될 수 있다.
여기서 연산 시간은 클라우드 태스크(Ak)가 요구하는 데이터 크기(dk)를 처리하기 위한 연산량(Wk)과 포그 서버(31, 32) 또는 클라우드 서버(10)의 동작 주파수(fF, fR)에 따라 결정된다.
클라우드 태스크(Ak)를 처리하기 위한 연산량(Wk)은 포그 서버(31, 32) 또는 클라우드 서버(10)의 CPU 클럭 사이클 수의 형태로 Wk = dkXk 와 같이 계산될 수 있으며, 여기서 Xk는 클라우드 태스크(Ak)의 연산 다양성, 복잡도 등을 고려한 특성 확률 분포로서 경험적 확률 분포인 감마 확률 분포에 따라 모델링되어 획득될 수 있다. 그리고 클라우드 태스크(Ak)의 특성 확률 분포(Xk)에 대한 확률 밀도 함수(
Figure 112019055122313-pat00006
)는
Figure 112019055122313-pat00007
(이때 x > 0)로 표현될 수 있다. 여기서 α, β는 클라우드 태스크(Ak)의 특성에 따라 지정되는 확률 밀도 함수 파라미터이다.
따라서 연산량(Wk)은 동작 완수 확률(Operation completion probability) 변수(ρ)를 고려하여 수학식 4와 같은 확률적 연산량(Wk,ρ)의 형태로 계산될 수 있다.
Figure 112019055122313-pat00008
수학식 4에 따라 확률에 기반하여 연산량(Wk)이 계산되면, 포그 오프로딩 태스크의 연산 시간인 포그 태스크 연산 시간(TF,pr)과 클라우드 오프로딩 태스크의 연산 시간인 클라우드 태스크 연산 시간(TR,pr)을 계산할 수 있다.
포그 오프로딩 태스크는 포그 서버(31, 32)에서 처리되므로, 포그 태스크 연산 시간(TF,pr)은 포그 서버(31, 32)의 동작 주파수(fF)에 따라서 결정된다. 그리고 포그 서버(31, 32)의 동작 주파수(fF)는 동적 전압 주파수 스케일링 기법에 따라 총 가능한 주파수들의 집합(FF = {fF,1(= fF,min), fF,2, ..., fF,max}에서 결정된다. 일반적으로 연산 시간(TF,pr)을 최소화하기 위해 최대 동작 주파수(fF,max)를 이용하며, 이에 포그 태스크 연산 시간(TF,pr)은 TF,pr = Wk/fF,max 로 계산된다.
그리고 클라우드 오프로딩 태스크는 클라우드 서버(10)에서 처리되므로, 클라우드 태스크 연산 시간(TR,pr)은 클라우드 서버(10)의 동작 주파수(fR)에 따라서 결정되고, 클라우드 서버(10)의 동작 주파수(fR) 또한 연산시 최대 동작 주파수(fR,max)를 이용하므로, 클라우드 태스크 연산 시간(TR,pr) 또한 포그 태스크 연산 시간(TF,pr)과 마찬가지로 TR,pr = Wk/fR,max 로 계산된다.
한편, 포그 오프로딩 서비스 시간(TF)은 포그 태스크 연산 시간(TF,pr)과 사용자 단말(41 ~ 45)에서 인접한 포그 서버(31, 32)로 포그 오프로딩 태스크를 전송하는데 소요되는 포그 태스크 전송 시간(TU,tr)의 합으로 계산될 수 있다.
그리고 포그 태스크 전송 시간(TU,tr)은 포그 오프로딩 태스크의 데이터 크기(dk)와 사용자 단말(41 ~ 45)과 인접한 포그 서버(31, 32) 사이의 전송률(r)의 비로 계산될 수 있다.
포그 오프로딩 태스크의 데이터 크기(dk)가 스펙트럴 대역폭(B)만큼 레일리 페이딩 블록 채널 매트릭스(h)를 통해 순환 대칭 복소 가우시안(circularly symmetric complex Gaussian) 신호로 전송되고, 이때 전송 파워가 P이고 노이즈 파워 밀도가 N0이면, 전송률(r)은 수학식 5와 같이 계산된다.
Figure 112019055122313-pat00009
수학식 5로부터 포그 태스크 전송 시간(TU,tr)은 수학식 7로 계산될 수 있다.
Figure 112019055122313-pat00010
상기한 바와 같이, 포그 오프로딩 서비스 시간(TF)은 포그 태스크 전송 시간(TU,tr)과 포그 태스크 연산 시간(TF,pr)의 합으로 수학식 7에 따라 계산될 수 있다.
Figure 112019055122313-pat00011
한편, 클라우드 오프로딩 태스크는 사용자 단말(41 ~ 45)에서 인접한 포그 서버(31, 32)과 기지국(21, 22)을 통해 클라우드 서버(10)로 전송되며, 이에 클라우드 오프로딩 태스크를 전송하는데 소요되는 클라우드 태스크 전송 시간(TU,tr)은 클라우드 오프로딩 태스크를 사용자 단말(41 ~ 45)에서 인접한 포그 서버(31, 32)까지 전송하는 시간(TU,tr), 포그 서버(31, 32)에서 대응하는 기지국(21, 22)으로 전송하는 시간(TF,tr), 기지국(21, 22)에서 클라우드 서버(10)까지의 전파 시간(TR,prop)의 합으로 계산될 수 있다. 여기서 사용자 단말(41 ~ 45)에서 인접한 포그 서버(31, 32)까지 전송하는 시간은 포그 태스크 전송 시간(TU,tr)과 동일하므로 동일 기호를 사용하였다.
포그 서버(31, 32)와 대응하는 기지국(21, 22) 사이의 전송률(rF)과 전송 시간(TF,tr)은 포그 서버(31, 32)와 대응하는 기지국(21, 22) 사이의 스펙트럴 대역폭(BF) 만큼 레일리 페이딩 블록 채널 매트릭스(hF)를 통해 순환 대칭 복소 가우시안 신호로 전송되고, 이때 전송 파워가 PF이고 노이즈 파워 밀도가 N0,F이면, 수학식 8 및 수학식 9와 같이 각각 계산된다.
Figure 112019055122313-pat00012
Figure 112019055122313-pat00013
그리고 기지국(21, 22)에서 클라우드 서버(10) 사이의 전파 시간(TR,prop)은 클라우드 오프로딩 태스크의 데이터 크기(dk)와 전파 계수(φ)에 비례하므로, TR,prop = dkφ로 계산될 수 있다.
따라서 클라우드 오프로딩 서비스 시간(TR)은 수학식 10으로 계산될 수 있다.
Figure 112019055122313-pat00014
지연시간 계산부(210)는 수학식 2 및 3에 따라 획득된 누적 분포(Φ(n)) 및 상보 누적 분포(Ψ(n))와 수학식 7 및 10에 따라 획득된 포그 오프로딩 서비스 시간(TF) 및 클라우드 오프로딩 서비스 시간(TR)으로부터 서비스 제공 시간(D(n, dk))을 수학식 11에 따라 계산할 수 있다.
Figure 112019055122313-pat00015
한편, 에너지 소모량 계산부(220)는 전체 클라우드 태스크의 개수(Nmax) 중 포그 서버(31, 32)에서 처리되는 포그 오프로딩 태스크의 개수(n)와 입력된 클라우드 태스크(Ak)의 데이터 크기(dk)에 따른 에너지 소모량(C(n))을 계산한다.
여기서 에너지 소모량 계산부(220)는 사용자 단말(41 ~ 45)의 에너지 소모량(εU(n))과 포그 서버(31, 32)의 에너지 소모량(εF(n))을 각각 수학식 12 및 수학식 13에 따라 계산한다.
Figure 112019055122313-pat00016
Figure 112019055122313-pat00017
수학식 12 및 13에서 Ptr, Ppr, Pidle 는 각각 데이터 전송, 연산 및 휴면 상태에서의 에너지 소모량을 나타낸다.
사용자 단말(41 ~ 45)의 에너지 소모량(εU(n))과 포그 서버(31, 32)의 에너지 소모량(εF(n))이 계산되면, 에너지 소모량 계산부(220)는 수학식 14와 같이 계산된 에너지 소모량(εU(n), εF(n))의 합으로 에너지 소모량(C(n))을 계산한다.
Figure 112019055122313-pat00018
에너지 소모량 계산부(220)가 에너지 소모량(εU(n), εF(n))의 합으로 에너지 소모량(C(n))을 계산하는 것은 사용자 단말(41 ~ 45)과 포그 서버(31, 32)가 제한된 에너지를 갖는 모바일 기기로 구현되는 반면, 클라우드 서버(10)는 에너지 소모에 대한 제약이 상대적으로 적기 때문이다.
최적 처리량 계산부(230)는 서비스 제공 시간(D(n, dk))과 에너지 소모량(C(n))에 기초하여 사용자 단말(41 ~ 45)에서 처리 요청한 클라우드 태스크(Ak)를 처리하는 서비스 제공 시간(D(n, dk))이 요구되는 문턱 서비스 제공 시간(Dth)을 초과하지 않으면서도 사용자 단말(41 ~ 45) 및 포그 서버(31, 32)의 에너지 소모량을 최소화할 수 있도록 하는 최적의 포그 오프로딩 개수인 기준 포그 오프로딩 개수(nopt)를 판별한다.
즉 최적 처리량 계산부(230)는 수학식 15의 최적화 조건을 만족하는 기준 포그 오프로딩 개수(nopt)를 획득한다.
Figure 112019055122313-pat00019
그리고 최적 처리량 계산부(230)는 수학식 16과 같이 에너지 소모량(C(n))의 편미분을 통해, 에너지 소모량(C(n))의 단조 증가성을 분석한다.
Figure 112019055122313-pat00020
수학식 16에서는 a와 b는
Figure 112019055122313-pat00021
Figure 112019055122313-pat00022
로서 간결한 표현을 위해 적용되었으며, (a-b)는 항상 양의 실수이고, s는 항상 음의 실수이다. 따라서 에너지 소모량(C(n))은 포그 오프로딩 태스크의 개수(n)가 n = -k - 1의 경우를 제외하고는 항상 양의 실수임을 알 수 있다. 그러나 포그 오프로딩 태스크의 개수(n)와 우선순위(k)는 양의 정수이므로, 상기한 n = -k - 1는 성립될 수 없다. 그러므로, 에너지 소모량(C(n))은 단조 증가함수임을 알 수 있다.
한편, 수학식 15의 제1 및 제2 제약 조건(C1, C2)로부터 수학식 17이 획득될 수 있다.
Figure 112019055122313-pat00023
상기한 바와 같이, 에너지 소모량(C(n))은 단조 증가함수이므로, 에너지 소모량(C(n))의 최소값은 제약 조건을 만족하는 포그 오프로딩 태스크의 개수(n)의 최소값이다. 따라서 수학식 17로부터 최적의 포그 오프로딩 개수인 기준 포그 오프로딩 개수(nopt)는 수학식 18과 같이 계산된다.
Figure 112019055122313-pat00024
그리고 수학식 18의 기준 포그 오프로딩 개수(nopt)는 실제 적용 가능한 형태인 수학식 19와 같이 다시 씌여질 수 있다.
Figure 112019055122313-pat00025
상기에서는 이해를 돕기 위해, 기준 처리량 연산부(200)가 지연시간 계산부(210), 에너지 소모량 계산부(220) 및 최적 처리량 계산부(230)를 포함하여, 서비스 제공 시간(D(n, dk))과 에너지 소모량(C(n))을 계산하고, 계산된 서비스 제공 시간(D(n, dk))과 에너지 소모량(C(n))으로부터 수학식 19에 따른 기준 포그 오프로딩 개수(nopt)를 획득하는 것으로 설명하였다.
그러나 실제 적용 시에 기준 처리량 연산부(200)는 단지 수학식 19에 따른 연산만을 수행하여 기준 포그 오프로딩 개수(nopt)를 획득하고, 획득된 기준 포그 오프로딩 개수(nopt)를 오프로딩부(300)로 전달하도록 구성될 수 있다.
오프로딩부(300)는 수학식 19로부터 기준 포그 오프로딩 개수(nopt)가 계산되면, 기준 포그 오프로딩 개수(nopt)를 수학식 2의 포그 오프로딩 태스크의 개수(n)에 대한 누적 분포(Φ(n))에 적용하여 기준 누적 분포(Φ(nopt))를 획득한다. 그리고 사용자 단말(41 ~ 45)로부터 k번째 우선순위 클라우드 태스크(Ak)가 인가되면, 클라우드 태스크(Ak)의 누적 분포(Φ(k))를 계산한다.
만일 계산된 클라우드 태스크(Ak)의 누적 분포(Φ(k))가 기준 누적 분포(Φ(nopt)) 이하(Φ(k) ≤ Φ(nopt))이면, 오프로딩부(300)는 인가된 클라우드 태스크(Ak)를 포그 오프로딩 태스크로서 포그 서버(31, 32)에서 처리하도록 포그 서버(31, 32)로 오프로딩한다. 반면, 계산된 클라우드 태스크(Ak)의 누적 분포(Φ(k))가 기준 누적 분포(Φ(nopt))를 초과(Φ(k) > Φ(nopt))하면, 오프로딩부(300)는 인가된 클라우드 태스크(Ak)를 클라우드 오프로딩 태스크로서 클라우드 서버(10)에서 처리하도록 클라우드 서버(10)로 오프로딩한다.
도 3은 본 발명의 일실시예에 따른 포그 컴퓨팅 기반 네트워크의 오프로딩 방법을 나타내며, 여기서도 클라우드 태스크에 대한 오프로딩 동작은 포그 서버(31, 32)에서 수행하는 것으로 가정하여 설명한다.
도 1 및 도 2를 참조하여, 본 실시예의 포그 컴퓨팅 기반 네트워크의 오프로딩 방법을 설명하면, 우선 포그 컴퓨팅 기반 네트워크의 네트워크 상태 정보를 획득한다(S11). 그리고 획득된 네트워크 상태 정보와 발생빈도에 기초한 우선 순위(k)를 갖는 클라우드 태스크(Ak)의 데이터 크기(dk) 및 클라우드 태스크(Ak)를 처리하기 위한 연산량(Wk)을 이용하여 기준 포그 오프로딩 개수(nopt)를 수학식 19에 따라 계산한다(S12).
기준 포그 오프로딩 개수(nopt)가 계산되면, 기준 포그 오프로딩 개수(nopt)를 수학식 2의 누적 분포(Φ(n))에 적용하여 기준 누적 분포(Φ(nopt))를 획득한다(S13). 이후, 적어도 하나의 사용자 단말(41 ~ 45)로부터 클라우드 태스크(Ak)가 수신되는지 판별한다(S14).
만일 클라우드 태스크가 수신되면, 수신된 k번째 우선순위의 클라우드 태스크(Ak)까지의 누적 분포(Φ(k))를 계산한다(S15). 그리고 계산된 누적 분포(Φ(k))가 기준 누적 분포(Φ(nopt)) 이하(Φ(k) ≤ Φ(nopt))인지 판별한다(S16).
클라우드 태스크(Ak)의 누적 분포(Φ(k))가 기준 누적 분포(Φ(nopt)) 이하(Φ(k) ≤ Φ(nopt))이면, 인가된 클라우드 태스크(Ak)를 포그 오프로딩 태스크로서 포그 서버(31, 32)에서 처리하도록 포그 서버(31, 32)로 오프로딩한다(S17). 그러나 클라우드 태스크(Ak)의 누적 분포(Φ(k))가 기준 누적 분포(Φ(nopt))를 초과(Φ(k) > Φ(nopt))하면, 오프로딩부(300)는 인가된 클라우드 태스크(Ak)를 클라우드 오프로딩 태스크로서 클라우드 서버(10)에서 처리하도록 클라우드 서버(10)로 오프로딩한다(S18).
도 4는 본 실시예에 따른 포그 컴퓨팅 기반 네트워크의 오프로딩 방법을 적용하기 위한 데이터 패킷의 수정 헤더 구조를 나타내며, (a)는 802.11 MAC(Media Access Control)의 수정 헤더 구조를 나타내고, (b)는 (a)의 Frame control 필드의 상세 구조를 나타내며, (c)는 (a)의 Address 4 및 FC 필드의 상세 구조를 나타낸다.
본 실시예에 따른 포그 컴퓨팅 기반 네트워크의 오프로딩 방법을 이용하기 위해서는 발생 빈도(fK(k))에 따른 우선순위(k)가 헤더에 명시될 필요가 있으며, 이에 데이터 패킷의 헤더가 (a)와 같이 수정될 수 있다. 기존의 헤더가 48비트의 Address 4 필드를 갖는데 반해, (a)에 도시된 수정 헤더는 48비트의 Address 4 필드가 (c)와 같이 36비트의 Address 4 필드와 16비트의 Fog computing Control(FC) 필드로 구분된 형태를 갖는다.
수정 헤더에 대해 설명하면, (a)에서 Frame control 필드에는 포그 컴퓨팅을 지원하는 네트워크임을 명시하는 옵션이 추가될 수 있으며, 실제 우선순위(k)는 기존 헤더의 Address 4 필드를 수정한 Address 4 및 Fog computing Control 필드에 포함되어 전송될 수 있다.
(b)를 참조하면, Frame control 필드에서는 포그 컴퓨팅을 지원하는 네트워크 데이터 패킷의 Type 필드에 기존 데이터 프레임과 동일한 '10'으로 된 2 bits가 사용되고, Subtype 필드는 기존 802.11 MAC에서 사용되지 않는 '1101' 4 bits가 사용된다. 따라서 Subtype '1101'은 본 발명에서 제안된 포그 컴퓨팅을 위한 네트워크임을 명시적 나타낸다.
한편 To DS 및 From DS 필드는 각 1 bit를 차지하며 Subtype '1101'의 네트워크에서 각 '1', '0' 값으로 업링크(상향회선)에 의한 데이터 처리 요청으로 사용된다. 즉 클라우드 태스크를 전송함을 나타낸다.
한편 본 발명에서는 발생 빈도(fK(k))에 따른 우선순위(k)를 전송하기 위해 제시된 802.11 MAC 수정 헤더에서는 기존 Address 4의 48 bit를 (c)에 도시된 바와 같이, 새로운 Address 4 필드 및 FC 필드로 나누어 사용한다. 이는 기존 802.11 MAC 헤더에서 To DS 및 From DS 필드(530)에서 각각 '1', '0'을 가질 때 Address 4를 사용하지 않으므로 이를 나누어 FC 필드로 사용할 수 있기 때문이다. 여기서 FC 필드에 우선순위(k)가 포함되어 전송될 수 있으며, 총 16 비트로 최대 65,535까지의 우선순위(k)가 지정되어 전송될 수 있다.
도 5는 본 실시예에 따른 포그 컴퓨팅 기반 네트워크의 오프로딩 방법에 따른 평균 서비스 제공 시간을 시뮬레이션한 결과를 나타내고, 도 6은 본 실시예에 따른 포그 컴퓨팅 기반 네트워크의 오프로딩 방법에 따른 평균 에너지 소모량을 시뮬레이션한 결과를 나타낸다.
도 5 및 도 6에서는 본 실시예에 따른 포그 컴퓨팅 기반 네트워크의 오프로딩 방법이 사용자 단말(41 ~ 45)과 포그 서버(31, 32)의 에너지 소모량(εU(n), εF(n))의 에너지 소모를 공동으로 최소화하기 위한 방법으로, 공동 사용자 단말 및 포그 서버의 에너지 최적화 기법(Joint User equipment and fog server energy optimization: 이하 JUFO)라고 하였다.
그리고 도 5 및 도 6에서는 본 실시예의 JUFO의 평균 서비스 제공 시간과 평균 에너지 소모량을 기존의 RMTO(ReMoTe cloud computing Only), EMPO(Energy Minimizing Partial Offloading)과 비교하여 도시하였다.
도 5를 참조하면, RMTO의 경우는 항상 가장 느린 서비스 시간을 보여주며, EMPO는 적은 크기의 태스크에서 속도가 빠름을 확인할 수 있다. 이것은 EMPO 기법이 우선순위를 고려하지 않고 기계적인 분할비율을 사용하기 때문이다. 그러나 본 실시예의 JUFO는 127 KB 이상의 높은 데이터 크기에서 15% 서비스 시간을 단축할 수 있어 최소 에너지로 서비스 시간을 가장 적게 사용함을 확인할 수 있다.
한편 도 6을 참조하면, 본 실시예에 따른 JUFO가 EMPO의 두 가지 경우(α = 1, 모든 태스크 포그 서버 처리 및 최적 α의 경우)에 대해 모든 데이터 사이즈에 걸쳐 가장 에너지 소모가 작음을 확인할 수 있다. 본 실시예의 JUFO는 평균 28%의 에너지 소모 절약을 보여줌으로써 에너지 소모량을 크게 줄일 수 있다는 것을 확인할 수 있다.
본 발명에 따른 방법은 컴퓨터에서 실행 시키기 위한 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 여기서 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스 될 수 있는 임의의 가용 매체일 수 있고, 또한 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함하며, ROM(판독 전용 메모리), RAM(랜덤 액세스 메모리), CD(컴팩트 디스크)-ROM, DVD(디지털 비디오 디스크)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등을 포함할 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10: 클라우드 서버 21, 22: 기지국
31, 32: 포그 서버 41 ~ 45: 사용자 단말
100: 네트워크 정보 획득부 200: 기준 처리량 연산부
300: 오프로딩부 210: 지연시간 계산부
220: 에너지 소모량 계산부 230: 최적 처리량 계산부

Claims (11)

  1. 적어도 하나의 사용자 단말과 적어도 하나의 포그 서버 및 적어도 하나의 클라우드 서버를 포함하는 포그 컴퓨팅 기반 네트워크의 네트워크 상태 정보를 획득하는 네트워크 정보 획득부;
    지정된 확률 분포 모델에 기초한 발생빈도에 따른 우선순위를 갖는 다수의 클라우드 태스크를 포그 서버와 클라우드 서버로 분산하여 오프로딩하는 경우의 클라우드 태스크의 전송 시간과 연산 시간을 계산하며, 계산된 전송 시간과 연산 시간으로부터 기준 포그 오프로딩 개수를 계산하는 기준 처리량 연산부; 및
    상기 기준 처리량 연산부에서 계산된 기준 포그 오프로딩 개수에 대한 누적 분포인 기준 누적 분포를 계산하고, 사용자 단말로부터 우선순위가 지정된 클라우드 태스크가 전송되면, 전송된 우선순위 클라우드 태스크의 누적 분포를 계산하며, 계산된 누적 분포와 상기 기준 누적 분포를 비교하여 상기 우선순위 클라우드 태스크를 포그 서버 또는 클라우드 서버로 오프로딩하는 오프로딩부; 를 포함하는 포그 컴퓨팅 기반 네트워크의 오프로딩 장치.
  2. 제1 항에 있어서, 상기 기준 처리량 연산부는
    지프 분포(Zipf distribution) 모델에 기초하는 발생빈도(fK(k))를 갖는 우선 순위(k)의 다수(Nmax)의 클라우드 태스크(Ak)에 대한 서비스 제공 시간이 기지정된 문턱 서비스 제공 시간(Dth)을 초과하지 않고, 상기 적어도 하나의 사용자 단말과 상기 적어도 하나의 포그 서버의 전력 소모를 최소화할 수 있도록, 다수(Nmax)의 클라우드 태스크(Ak) 중 상기 포그 서버로 오프로딩되어야 하는 태스크의 개수를 나타내는 상기 기준 포그 오프로딩 개수(nopt)를 수학식
    Figure 112019055122313-pat00026

    (여기서 s는 지프 분포 파라미터, dk는 클라우드 태스크(Ak)의 데이터 크기, r은 사용자 단말과 인접한 포그 서버 사이의 전송률, rF는 포그 서버와 대응하는 기지국 사이의 전송률, φ는 기지국과 클라우드 서버 사이의 전파 계수이고, Wk는 클라우드 태스크(Ak)를 처리하기 위한 연산량이며, fF,max 및 fR,max는 각각 포그 서버와 클라우드 서버의 최대 동작 주파수이다.)
    에 따라 계산하여 획득하는 포그 컴퓨팅 기반 네트워크의 오프로딩 장치.
  3. 제2 항에 있어서, 상기 기준 처리량 연산부는
    상기 연산량(Wk)을 감마 확률 분포에 따라 모델링되는 클라우드 태스크(Ak)의 특성 확률 분포(Xk)와 클라우드 태스크(Ak)의 데이터 크기(dk)의 곱으로 계산하는 포그 컴퓨팅 기반 네트워크의 오프로딩 장치.
  4. 제1 항에 있어서, 상기 오프로딩부는
    전송된 우선순위 클라우드 태스크의 누적 분포가 상기 기준 누적 분포 이하이면, 상기 우선순위 클라우드 태스크를 상기 포그 서버로 오프로딩하고,
    전송된 우선순위 클라우드 태스크의 누적 분포가 상기 기준 누적 분포를 초과하면, 상기 우선순위 클라우드 태스크를 상기 클라우드 서버로 오프로딩하는 포그 컴퓨팅 기반 네트워크의 오프로딩 장치.
  5. 제1 항에 있어서, 상기 우선순위 클라우드 태스크는
    데이터 패킷 형태로 전송되며, 데이터 패킷의 MAC 헤더에서 기지정된 비트수가 할당된 Address 4 필드의 지정된 일부 비트에 상기 우선순위 클라우드 태스크의 우선 순위가 포함되어 전송되는 포그 컴퓨팅 기반 네트워크의 오프로딩 장치.
  6. 제1 항에 있어서, 상기 오프로딩 장치는
    상기 적어도 하나의 포그 서버에 포함되어 구현되는 포그 컴퓨팅 기반 네트워크의 오프로딩 장치.
  7. 네트워크의 오프라딩 장치에서 수행되는 포그 컴퓨팅 기반 네트워크의 오프로딩 방법으로서,
    적어도 하나의 사용자 단말과 적어도 하나의 포그 서버 및 적어도 하나의 클라우드 서버를 포함하는 포그 컴퓨팅 기반 네트워크의 네트워크 상태 정보를 획득하는 단계;
    지정된 확률 분포 모델에 기초한 발생빈도에 따른 우선순위를 갖는 다수의 클라우드 태스크를 포그 서버와 클라우드 서버로 분산하여 오프로딩하는 경우의 클라우드 태스크의 전송 시간과 연산 시간을 계산하고, 계산된 전송 시간과 연산 시간으로부터 기준 포그 오프로딩 개수를 계산하는 단계;
    상기 기준 포그 오프로딩 개수에 대한 누적 분포인 기준 누적 분포를 계산하는 단계;
    사용자 단말로부터 우선순위가 지정된 클라우드 태스크가 전송되면, 전송된 우선순위 클라우드 태스크의 누적 분포를 계산하는 단계; 및
    계산된 누적 분포와 상기 기준 누적 분포를 비교하여 상기 우선순위 클라우드 태스크를 포그 서버 또는 클라우드 서버로 오프로딩하는 단계; 를 포함하는 포그 컴퓨팅 기반 네트워크의 오프로딩 방법.
  8. 제7 항에 있어서, 상기 기준 포그 오프로딩 개수를 계산하는 단계는
    지프 분포(Zipf distribution) 모델에 기초하는 발생빈도(fK(k))를 갖는 우선 순위(k)의 다수(Nmax)의 클라우드 태스크(Ak)에 대한 서비스 제공 시간이 기지정된 문턱 서비스 제공 시간(Dth)을 초과하지 않고, 상기 적어도 하나의 사용자 단말과 상기 적어도 하나의 포그 서버의 전력 소모를 최소화할 수 있도록, 다수(Nmax)의 클라우드 태스크(Ak) 중 상기 포그 서버로 오프로딩되어야 하는 태스크의 개수를 나타내는 상기 기준 포그 오프로딩 개수(nopt)를 수학식
    Figure 112019055122313-pat00027

    (여기서 s는 지프 분포 파라미터, dk는 클라우드 태스크(Ak)의 데이터 크기, r은 사용자 단말과 인접한 포그 서버 사이의 전송률, rF는 포그 서버와 대응하는 기지국 사이의 전송률, φ는 기지국과 클라우드 서버 사이의 전파 계수이고, Wk는 클라우드 태스크(Ak)를 처리하기 위한 연산량이며, fF,max 및 fR,max는 각각 포그 서버와 클라우드 서버의 최대 동작 주파수이다.)
    에 따라 계산하여 획득하는 포그 컴퓨팅 기반 네트워크의 오프로딩 방법.
  9. 제8 항에 있어서, 상기 기준 포그 오프로딩 개수를 계산하는 단계는
    상기 연산량(Wk)을 감마 확률 분포에 따라 모델링되는 클라우드 태스크(Ak)의 특성 확률 분포(Xk)와 클라우드 태스크(Ak)의 데이터 크기(dk)의 곱으로 계산하는 포그 컴퓨팅 기반 네트워크의 오프로딩 방법.
  10. 제7 항에 있어서, 상기 오프로딩하는 단계는
    전송된 우선순위 클라우드 태스크의 누적 분포가 상기 기준 누적 분포 이하이면, 상기 우선순위 클라우드 태스크를 상기 포그 서버로 오프로딩하는 단계; 및
    전송된 우선순위 클라우드 태스크의 누적 분포가 상기 기준 누적 분포를 초과하면, 상기 우선순위 클라우드 태스크를 상기 클라우드 서버로 오프로딩하는 단계; 를 포함하는 포그 컴퓨팅 기반 네트워크의 오프로딩 방법.
  11. 제7 항에 있어서, 상기 우선순위 클라우드 태스크는
    데이터 패킷 형태로 전송되며, 데이터 패킷의 MAC 헤더에서 기지정된 비트수가 할당된 Address 4 필드의 지정된 일부 비트에 상기 우선순위 클라우드 태스크의 우선 순위가 포함되어 전송되는 포그 컴퓨팅 기반 네트워크의 오프로딩 방법.
KR1020190063054A 2019-05-29 2019-05-29 포그 컴퓨팅 기반 무선 네트워크에서 태스크 우선순위별 연산량 오프로딩 장치 및 방법 KR102177432B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190063054A KR102177432B1 (ko) 2019-05-29 2019-05-29 포그 컴퓨팅 기반 무선 네트워크에서 태스크 우선순위별 연산량 오프로딩 장치 및 방법
PCT/KR2019/013188 WO2020241981A1 (ko) 2019-05-29 2019-10-08 포그 컴퓨팅 기반 무선 네트워크에서 태스크 우선순위별 연산량 오프로딩 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190063054A KR102177432B1 (ko) 2019-05-29 2019-05-29 포그 컴퓨팅 기반 무선 네트워크에서 태스크 우선순위별 연산량 오프로딩 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102177432B1 true KR102177432B1 (ko) 2020-11-11

Family

ID=73451813

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190063054A KR102177432B1 (ko) 2019-05-29 2019-05-29 포그 컴퓨팅 기반 무선 네트워크에서 태스크 우선순위별 연산량 오프로딩 장치 및 방법

Country Status (2)

Country Link
KR (1) KR102177432B1 (ko)
WO (1) WO2020241981A1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590339A (zh) * 2021-08-16 2021-11-02 重庆大学 一种面向批量计算任务的物联网终端协作方法
KR20220168001A (ko) * 2021-06-15 2022-12-22 연세대학교 산학협력단 다중 라디오 액세스 기술 기반 IIoT 서비스를 위한 동적 태스크 오프로딩을 수행하는 사용자 단말 및 이의 오프로딩 방법
KR20230008321A (ko) * 2021-07-07 2023-01-16 중앙대학교 산학협력단 무선 엣지 컴퓨팅 기반 네트워크에서의 최적의 부분 오프로딩 방법 및 오프로딩을 위한 시스템
KR102521744B1 (ko) * 2022-12-30 2023-04-14 주식회사 에스티씨랩 디지털 서비스 기반 유량 제어 서버, 방법 및 api 유량 제어 시스템
KR20230077983A (ko) 2021-11-26 2023-06-02 한국전자통신연구원 온프레미스 엣지 서버와 외부 클라우드로 구성된 쿠버네티스 클러스터의 연산 오프로딩 스케줄링 방법 및 이를 이용한 장치
KR20230131581A (ko) * 2022-03-07 2023-09-14 연세대학교 산학협력단 공간분할 다중접속 기반 에너지 효율성 향상을 위한 오프로딩 무선 통신 시스템
CN117155798A (zh) * 2023-03-13 2023-12-01 中国科学院沈阳自动化研究所 面向资源受限的云-边协同实时调度方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452956B (zh) * 2021-02-26 2023-03-28 深圳供电局有限公司 一种输电线路巡检任务智能分配方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150181460A1 (en) * 2013-12-20 2015-06-25 Cisco Technology, Inc. Dynamic coding for network traffic by fog computing node
KR101574026B1 (ko) * 2014-12-17 2015-12-03 경희대학교 산학협력단 포그 컴퓨팅 네트워크를 이용한 사물 인터넷 네트워크
KR20170007138A (ko) 2015-07-10 2017-01-18 화낙 코퍼레이션 방전 가공기의 가공액 공급 장치
KR20170071381A (ko) * 2015-12-15 2017-06-23 경희대학교 산학협력단 멀티-에이전트 기반 코드 오프로딩을 수행하는 모바일 포그 컴퓨팅 시스템 및 그 방법
US20180227199A1 (en) * 2017-02-08 2018-08-09 Aerohive Networks, Inc. Iot device fog networking operation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101966430B1 (ko) * 2017-02-20 2019-04-08 부산대학교 산학협력단 로컬 네트워크 환경에서 포그 서버 개수 및 배치 위치 결정을 위한 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150181460A1 (en) * 2013-12-20 2015-06-25 Cisco Technology, Inc. Dynamic coding for network traffic by fog computing node
KR101574026B1 (ko) * 2014-12-17 2015-12-03 경희대학교 산학협력단 포그 컴퓨팅 네트워크를 이용한 사물 인터넷 네트워크
KR20170007138A (ko) 2015-07-10 2017-01-18 화낙 코퍼레이션 방전 가공기의 가공액 공급 장치
KR20170071381A (ko) * 2015-12-15 2017-06-23 경희대학교 산학협력단 멀티-에이전트 기반 코드 오프로딩을 수행하는 모바일 포그 컴퓨팅 시스템 및 그 방법
US20180227199A1 (en) * 2017-02-08 2018-08-09 Aerohive Networks, Inc. Iot device fog networking operation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
X. Chen, L. Jiao, W. Li and X. Fu, "Efficient multi-user computation offloading for mobile-edge cloud computing", IEEE/ACM Trans. Netw., vol. 24, no. 5, pp. 2795-2808, Oct. 2016. *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220168001A (ko) * 2021-06-15 2022-12-22 연세대학교 산학협력단 다중 라디오 액세스 기술 기반 IIoT 서비스를 위한 동적 태스크 오프로딩을 수행하는 사용자 단말 및 이의 오프로딩 방법
KR102492716B1 (ko) 2021-06-15 2023-01-26 연세대학교 산학협력단 다중 라디오 액세스 기술 기반 IIoT 서비스를 위한 동적 태스크 오프로딩을 수행하는 사용자 단말 및 이의 오프로딩 방법
KR20230008321A (ko) * 2021-07-07 2023-01-16 중앙대학교 산학협력단 무선 엣지 컴퓨팅 기반 네트워크에서의 최적의 부분 오프로딩 방법 및 오프로딩을 위한 시스템
KR102589554B1 (ko) 2021-07-07 2023-10-13 중앙대학교 산학협력단 무선 엣지 컴퓨팅 기반 네트워크에서의 최적의 부분 오프로딩 방법 및 오프로딩을 위한 시스템
CN113590339A (zh) * 2021-08-16 2021-11-02 重庆大学 一种面向批量计算任务的物联网终端协作方法
CN113590339B (zh) * 2021-08-16 2023-06-23 重庆大学 一种面向批量计算任务的物联网终端协作方法
KR20230077983A (ko) 2021-11-26 2023-06-02 한국전자통신연구원 온프레미스 엣지 서버와 외부 클라우드로 구성된 쿠버네티스 클러스터의 연산 오프로딩 스케줄링 방법 및 이를 이용한 장치
KR20230131581A (ko) * 2022-03-07 2023-09-14 연세대학교 산학협력단 공간분할 다중접속 기반 에너지 효율성 향상을 위한 오프로딩 무선 통신 시스템
KR102521744B1 (ko) * 2022-12-30 2023-04-14 주식회사 에스티씨랩 디지털 서비스 기반 유량 제어 서버, 방법 및 api 유량 제어 시스템
CN117155798A (zh) * 2023-03-13 2023-12-01 中国科学院沈阳自动化研究所 面向资源受限的云-边协同实时调度方法
CN117155798B (zh) * 2023-03-13 2024-03-01 中国科学院沈阳自动化研究所 面向资源受限的云-边协同实时调度方法

Also Published As

Publication number Publication date
WO2020241981A1 (ko) 2020-12-03

Similar Documents

Publication Publication Date Title
KR102177432B1 (ko) 포그 컴퓨팅 기반 무선 네트워크에서 태스크 우선순위별 연산량 오프로딩 장치 및 방법
CN109951869B (zh) 一种基于云雾混合计算的车联网资源分配方法
CN109698861B (zh) 一种基于代价优化的计算任务卸载方法
Oueis et al. Small cell clustering for efficient distributed fog computing: A multi-user case
WO2019200716A1 (zh) 面向雾计算的节点计算任务调度方法及其设备
CN108924796B (zh) 一种资源分配及卸载比例联合决策的方法
US7496367B1 (en) Method of multi-carrier traffic allocation for wireless communication system
Li et al. Capacity-aware edge caching in fog computing networks
WO2004077225A2 (en) Quality of service differentiation in wireless networks
Zhang et al. Adaptive configuration selection and bandwidth allocation for edge-based video analytics
CN109639833B (zh) 一种基于无线城域网微云负载均衡的任务调度方法
CN110391873B (zh) 用于确定数据传送方式的方法、装置以及计算机程序产品
US11695629B2 (en) Method and apparatus for configuring a network parameter
KR102298698B1 (ko) 에지 컴퓨팅 네트워크에서의 서비스 캐싱 방법 및 장치
CN112491957B (zh) 一种边缘网络环境下的分布式计算卸载方法及系统
CN113254095B (zh) 云边结合平台的任务卸载、调度与负载均衡系统、方法
CN110674942A (zh) 一种带宽管理的方法、装置、电子设备和可读存储介质
CN111511028A (zh) 一种多用户资源分配方法、装置、系统及存储介质
CN111556576B (zh) 基于d2d_mec系统的时延优化方法
US20170164385A1 (en) Enforcing station fairness with mu-mimo deployments
WO2021027868A1 (zh) 信道状态信息的处理方法及装置、接收方法及装置
CN112423320A (zh) 一种基于QoS和用户行为预测的多用户计算卸载方法
US10887236B2 (en) Method, network interface card, and computer program product for load balance
Abraham et al. Energy-efficient and delay-aware mobile cloud offloading over cellular networks
CN112911708A (zh) 资源分配方法、服务器及存储介质

Legal Events

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