KR20210069508A - 자원 제한적인 에지 노드에 데이터 스트리밍을 위한 캐싱 전송률 제어 방법 및 장치 - Google Patents

자원 제한적인 에지 노드에 데이터 스트리밍을 위한 캐싱 전송률 제어 방법 및 장치 Download PDF

Info

Publication number
KR20210069508A
KR20210069508A KR1020190159416A KR20190159416A KR20210069508A KR 20210069508 A KR20210069508 A KR 20210069508A KR 1020190159416 A KR1020190159416 A KR 1020190159416A KR 20190159416 A KR20190159416 A KR 20190159416A KR 20210069508 A KR20210069508 A KR 20210069508A
Authority
KR
South Korea
Prior art keywords
data
rate
caching
terminal
cloud
Prior art date
Application number
KR1020190159416A
Other languages
English (en)
Other versions
KR102275754B1 (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 KR1020190159416A priority Critical patent/KR102275754B1/ko
Publication of KR20210069508A publication Critical patent/KR20210069508A/ko
Application granted granted Critical
Publication of KR102275754B1 publication Critical patent/KR102275754B1/ko

Links

Images

Classifications

    • H04L67/2842
    • 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/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L65/4092
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • H04L67/2823
    • 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/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 자원 제한적인 에지 노드에 데이터 스트리밍을 위한 캐싱 전송률 제어 방법 및 장치에 관한 것이다. 본 발명의 일 실시예에 따른 데이터 스트리밍을 위한 클라우드 노드의 캐싱 전송률 제어 동작 방법은 (a) 에지 노드로부터 단말을 위한 캐시 사용률에 대한 정보를 수신하는 단계; (b) 상기 캐시 사용률에 대한 정보에 기반하여 데이터 변화율을 산출하는 단계; (c) 상기 데이터 변화율에 기반하여 상기 단말을 위해 캐싱할 데이터를 결정하는 단계; 및 (d) 상기 데이터를 상기 에지 노드에게 송신하는 단계;를 포함할 수 있다.

Description

자원 제한적인 에지 노드에 데이터 스트리밍을 위한 캐싱 전송률 제어 방법 및 장치{A caching rate-control method and apparatus for Streaming Data on Resource-Limited Edge Nodes}
본 발명은 캐싱 전송률 제어에 관한 것으로, 더욱 상세하게는 자원 제한적인 에지 노드에 데이터 스트리밍을 위한 캐싱 전송률 제어 방법 및 장치에 관한 것이다.
컴퓨터 네트워크의 기술 발전에 따라, 각 단말의 독립적인 하드웨어 성능에 의존하던 기존의 컴퓨팅 환경은, 네트워크 상의 모든 컴퓨팅 자원을 활용하여 단말의 요청에 따라 해당 서비스를 제공하는 클라우드 컴퓨팅(Cloud Computing) 형태로 진화하고 있다.
여기서 클라우드 컴퓨팅 서비스란, 인터넷과 같은 정보통신망을 통한 '컴퓨팅 자원의 온 디맨드 아웃소싱 서비스(on demand outsourcing service)'라고 정의할 수 있다. 즉, 클라우드 컴퓨팅 서비스는 클라우드 컴퓨팅 환경에서 서비스 제공자가 여러 곳에 분산되어 있는 데이터 센터를 가상화 기술로 통합하여 사용자들이 필요로 하는 서비스를 제공하는 방식이다.
이 경우, 클라우드 컴퓨팅 서비스를 위해 네트워크 에지에 데이터를 캐싱하는 방법이 널리 연구되었고, 새로운 구조 또한 요구되고 있다[1]. 에지 노드에 대한 캐싱 방법은 하드웨어 수준 캐싱 또는 웹 캐싱과 다른 요소를 고려해야 한다.
그러나 이러한 데이터 캐싱을 위한 종래의 방법들은 비교적 컴퓨팅 자원 및 스토리지 자원을 상당량 요구하는 작업이라는 문제점이 있으나, 이러한 문제점을 해결하기 위한 연구는 미흡한 실정이다.
[특허문헌 1] 한국등록특허 제10-1969869호
본 발명은 전술한 문제점을 해결하기 위하여 창출된 것으로, 자원 제한적인 에지 노드에 데이터 스트리밍을 위한 캐싱 전송률 제어 방법 및 장치를 제공하는 것을 그 목적으로 한다.
또한, 본 발명은 소프트웨어 정의 캐시 및 경량 캐싱 알고리즘을 이용하여 자원 제한적인 에지 노드에 효율적인 스트림 데이터를 캐싱하는 방법 및 장치를 제공하는 것을 그 목적으로 한다.
또한, 본 발명은 자원 제한적인 에지노드를 위해 경량 알고리즘을 적용하면서 캐싱의 효율은 높이기 위한 방법 및 장치를 제공하는 것을 그 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상기한 목적들을 달성하기 위하여, 본 발명의 일 실시예에 따른 데이터 스트리밍을 위한 클라우드 노드의 캐싱 전송률 제어 동작 방법은, (a) 에지 노드로부터 단말을 위한 캐시 사용률에 대한 정보를 수신하는 단계; (b) 상기 캐시 사용률에 대한 정보에 기반하여 데이터 변화율을 산출하는 단계; (c) 상기 데이터 변화율에 기반하여 상기 단말을 위해 캐싱할 데이터를 결정하는 단계; 및 (d) 상기 데이터를 상기 에지 노드에게 송신하는 단계;를 포함할 수 있다.
실시예에서, 상기 (b) 단계는, 상기 캐시 사용률에 대한 정보를 이용하는 PID 컨트롤러(Proportional-Integral-Differential controller)에서 출력되는 상기 데이터에 대한 상기 데이터 변화율을 산출하는 단계;를 포함할 수 있다.
실시예에서, 상기 PID 컨트롤러는, 상기 캐시 사용률과 목표 캐시 사용률의 차이값을 포함하는 에러값이 미리 결정된 가드값보다 작도록 제어할 수 있다.
실시예에서, 상기 데이터 변화율은, 상기 PID 컨트롤러에서 출력되는 현재 데이터와 이전 데이터의 차이값을 포함할 수 있다.
실시예에서, 상기 (c) 단계는, 상기 데이터 변화율이 임계값보다 작은 경우, 상기 단말을 위해 캐싱할 데이터를 상기 이전 데이터로 설정하는 단계; 및 상기 데이터 변화율이 상기 임계값보다 큰 경우, 상기 단말을 위해 캐싱할 데이터를 상기 현재 데이터로 업데이트하는 단계;를 포함할 수 있다.
실시예에서, 상기 (c) 단계는, 상기 단말을 위해 캐싱할 데이터가 0보다 큰 경우, 상기 데이터가 최대 캐싱 용량보다 큰지 여부를 판단하는 단계;를 포함하고, 상기 단말을 위해 캐싱할 데이터가 0보다 작은 경우, 상기 데이터는 송신되지 않을 수 있다.
실시예에서, 상기 (d) 단계는, 상기 데이터가 최대 캐싱 용량보다 큰 경우, 상기 최대 캐싱 용량을 상기 에지 노드에게 송신하는 단계; 및 상기 데이터가 최대 캐싱 용량보다 작은 경우, 상기 데이터를 상기 에지 노드에게 송신하는 단계;를 포함할 수 있다.
실시예에서, 데이터 스트리밍을 위한 클라우드 노드 장치는, 에지 노드로부터 단말을 위한 캐시 사용률에 대한 정보를 수신하는 통신부; 및 상기 캐시 사용률에 대한 정보에 기반하여 데이터 변화율을 산출하고, 상기 데이터 변화율에 기반하여 상기 단말을 위해 캐싱할 데이터를 결정하는 제어부;를 포함할 수 있다.
실시예에서, 상기 제어부는, 상기 캐시 사용률에 대한 정보를 이용하는 PID 컨트롤러(Proportional-Integral-Differential controller)에서 출력되는 상기 데이터에 대한 상기 데이터 변화율을 산출할 수 있다.
실시예에서, 상기 PID 컨트롤러는, 상기 캐시 사용률과 목표 캐시 사용률의 차이값을 포함하는 에러값이 미리 결정된 가드값보다 작도록 제어할 수 있다.
실시예에서, 상기 데이터 변화율은, 상기 PID 컨트롤러에서 출력되는 현재 데이터와 이전 데이터의 차이값을 포함할 수 있다.
실시예에서, 상기 제어부는, 상기 데이터 변화율이 임계값보다 작은 경우, 상기 단말을 위해 캐싱할 데이터를 상기 이전 데이터로 설정하고, 상기 데이터 변화율이 상기 임계값보다 큰 경우, 상기 단말을 위해 캐싱할 데이터를 상기 현재 데이터로 업데이트할 수 있다.
실시예에서, 상기 제어부는, 상기 단말을 위해 캐싱할 데이터가 0보다 큰 경우, 상기 데이터가 최대 캐싱 용량보다 큰지 여부를 판단하고, 상기 단말을 위해 캐싱할 데이터가 0보다 작은 경우, 상기 데이터는 송신되지 않을 수 있다.
실시예에서, 상기 통신부는, 상기 데이터가 최대 캐싱 용량보다 큰 경우, 상기 최대 캐싱 용량을 상기 에지 노드에게 송신하고, 상기 데이터가 최대 캐싱 용량보다 작은 경우, 상기 데이터를 상기 에지 노드에게 송신할 수 있다.
상기한 목적들을 달성하기 위한 구체적인 사항들은 첨부된 도면과 함께 상세하게 후술될 실시예들을 참조하면 명확해질 것이다.
그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라, 서로 다른 다양한 형태로 구성될 수 있으며, 본 발명의 개시가 완전하도록 하고 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자(이하, "통상의 기술자")에게 발명의 범주를 완전하게 알려주기 위해서 제공되는 것이다.
본 발명의 일 실시예에 의하면, 캐시의 사이즈를 줄여 에지 노드의 자원 효율성을 높이고, 사용자가 소비하는 데이터의 양을 동적으로 반영하여 효율적으로 스트림 데이터를 캐싱할 수 있다.
본 발명의 효과들은 상술된 효과들로 제한되지 않으며, 본 발명의 기술적 특징들에 의하여 기대되는 잠정적인 효과들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 클라우드 시스템을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 클라우드 시스템의 통신 구조도를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 클라우드 노드의 동작 방법을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 데이터 캐싱과 데이터 히팅 과정을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 PID 컨트롤러를 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 SDC의 데이터 처리를 도시한 도면이다.
도 7a 내지 7d는 종래의 기본 PID 컨트롤러의 성능평가 그래프를 도시한 도면이다.
도 8a 내지 8d는 종래의 기존 PID 컨트롤러의 성능평가 그래프를 도시한 도면이다.
도 9a 내지 9d는 본 발명의 일 실시예에 따른 PID 컨트롤러의 성능평가 그래프를 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 캐시 용량에 대한 캐시 히트율 그래프를 도시한 도면이다.
도 11a 내지 11d는 본 발명의 일 실시예에 따른 캐시 용량이 충분한 경우의 캐시 히트 패턴 그래프를 도시한 도면이다.
도 12a 내지 12d는 본 발명의 일 실시예에 따른 캐시 용량이 충분하지 않은 경우의 캐시 히트 패턴 그래프를 도시한 도면이다.
도 13은 본 발명의 일 실시예에 따른 클라우드 노드의 기능적 구성을 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고, 여러 가지 실시예들을 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세히 설명하고자 한다.
청구범위에 개시된 발명의 다양한 특징들은 도면 및 상세한 설명을 고려하여 더 잘 이해될 수 있을 것이다. 명세서에 개시된 장치, 방법, 제법 및 다양한 실시예들은 예시를 위해서 제공되는 것이다. 개시된 구조 및 기능상의 특징들은 통상의 기술자로 하여금 다양한 실시예들을 구체적으로 실시할 수 있도록 하기 위한 것이고, 발명의 범위를 제한하기 위한 것이 아니다. 개시된 용어 및 문장들은 개시된 발명의 다양한 특징들을 이해하기 쉽게 설명하기 위한 것이고, 발명의 범위를 제한하기 위한 것이 아니다.
본 발명을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다.
이하, 본 발명의 일 실시예에 따른 자원 제한적인 에지 노드에 데이터 스트리밍을 위한 캐싱 전송률 제어 방법 및 장치를 설명한다.
도 1은 본 발명의 일 실시예에 따른 클라우드 시스템(100)을 도시한 도면이다.
도 1을 참고하면, 클라우드 시스템(100)은 클라우드 노드(110), 적어도 하나의 에지 노드(120) 및 적어도 하나의 단말(130)을 포함할 수 있다.
클라우드 노드(110)의 EDC(Efficient Data Crammer)는 에지 노드(120)에 데이터를 캐싱할 수 있다. 단말(130)은 캐시된 데이터를 사용할 수 있다.
이때 에지 노드(120)의 소프트웨어 정의 캐시(software-defined cache, SDC)는 현재 캐시 사용률을 동적으로 클라우드 노드(110)의 EDC에게 알릴 수 있다. EDC는 PID 컨트롤러(Proportional-Integral-Differential controller)와 캐시 사용률을 이용하여 데이터 소비율을 예측한 후, 다음 캐싱해야 하는 데이터 양을 결정하고, 이를 에지 노드(120)로 전송할 수 있다.
클라우드 서비스 또는 데이터를 에지 노드(120)에 배치할 수 있기에, 에지 노드(120)는 서비스 품질을 향상할 수 있고 중앙 데이터 센터의 부하 혼잡을 완화할 수 있다.
하지만, 에지 노드(120)는 단말(130)과 가까운 위치에 광범위하게 배치될 것이고, 비용적인 측면으로 인해 제한적인 리소스를 보유할 것이다. 따라서, 에지 노드(120)의 배치에 있어 컴퓨팅 자원을 많이 요구하는 프로그램, 알고리즘을 적절하지 않을 수 있다.
그래서 본 발명은 에지 노드(120)에 배치되는 소프트웨어의 경량성을 가장 중시 하였고, 에지 노드(120)의 범용성 확보를 위해 상대적으로 경량한 OS-레벨(level) 가상화 기술을 적용하였다.
본 발명의 다양한 실시예들에 따르면, 수동적인 저장소였던 캐시를 보다 동적으로 활용하기 위해 매우 중요한 SDC 개발 시에도, 최소 필수 기능을 구현하여 경량성을 확보하였다.
또한, 클라우드 노드(110)에서 에지 노드(120)로 데이터를 캐싱하는 알고리즘은 경량 제어 알고리즘인 PID 컨트롤러를 기반으로 구현될 수 있다.
도 2는 본 발명의 일 실시예에 따른 클라우드 시스템(100)의 통신 구조도를 도시한 도면이다.
도 2를 참고하면, 클라우드 노드(110)의 EDC(212), 에지 노드(120)의 SDC 매니저(222), SDC(224), 단말(130) 간 관계 및 통신 구조를 확인할 수 있다. 공공 IP(Internet Protocol) 주소 고갈 문제 및 단말의 이동성으로 인해 MQTT(Message Queuing Telemetry Transport)이 모듈 간 통신에 적합하고 이는 사물인터넷의 실질적인(Defacto) 통신 표준이다.
하지만, MQTT는 메시지 브로커(Message Broker)를 통한 Publish/Subscribe 통신을 수행하기 때문에 메시지 브로커에 부하가 집중된다. 따라서 본 발명에서는 메시지 브로커를 각각 클라우드 노드(110), 에지 노드(120)에 분산 배치하는 DMQTT(Distributed MQTT)를 구조를 통해 부하를 분산할 수 있다.
도 3은 본 발명의 일 실시예에 따른 클라우드 노드(110)의 동작 방법을 도시한 도면이다.
도 3을 참고하면, S301 단계는 에지 노드(120)로부터 단말(130)을 위한 캐시 사용률에 대한 정보를 수신하는 단계이다.
S303 단계는 캐시 사용률에 대한 정보에 기반하여 데이터 변화율을 산출하는 단계이다. 일 실시예에서, 캐시 사용률에 대한 정보를 이용하는 PID 컨트롤러에서 출력되는 데이터에 대한 데이터 변화율을 산출할 수 있다.
일 실시예에서, PID 컨트롤러는 캐시 사용률과 목표 캐시 사용률의 차이값을 포함하는 에러값이 미리 결정된 가드값보다 작도록 제어할 수 있다.
일 실시예에서, 데이터 변화율은 PID 컨트롤러에서 출력되는 현재 데이터와 이전 데이터의 차이값을 포함할 수 있다.
S305 단계는 데이터 변화율에 기반하여 단말(130)을 위해 캐싱할 데이터를 결정하는 단계이다.
일 실시예에서, 데이터 변화율이 임계값보다 작은 경우, 단말(130)을 위해 캐싱할 데이터를 이전 데이터로 설정할 수 있다. 반면, 데이터 변화율이 임계값보다 큰 경우, 단말(130)을 위해 캐싱할 데이터를 현재 데이터로 업데이트할 수 있다.
이후, 일 실시예에서, 단말(130)을 위해 캐싱할 데이터가 0보다 큰 경우, 단말(130)을 위해 캐싱할 데이터가 최대 캐싱 용량보다 큰지 여부를 판단할 수 있다. 여기서, 단말(130)을 위해 캐싱할 데이터는 현재 데이터 또는 이전 데이터를 포함할 수 있다.
또한, 단말(130)을 위해 캐싱할 데이터가 0보다 작은 경우, 데이터는 송신되지 않을 수 있다.
S307 단계는 데이터를 에지 노드(130)에게 송신하는 단계이다.
일 실시예에서, 단말(130)을 위해 캐싱할 데이터가 최대 캐싱 용량보다 큰 경우, 최대 캐싱 용량을 에지 노드(120)에게 송신할 수 있다.
반면, 단말(130)을 위해 캐싱할 데이터가 최대 캐싱 용량보다 작은 경우, 단말(130)을 위해 캐싱할 데이터를 에지 노드(120)에게 송신할 수 있다. 여기서, 단말(130)을 위해 캐싱할 데이터는 현재 데이터 또는 이전 데이터를 포함할 수 있다.
도 4는 본 발명의 일 실시예에 따른 데이터 캐싱과 데이터 히팅 과정을 도시한 도면이다.
도 4를 참고하면, 클라우드 노드(110), 에지 노드(120) 및 단말(130) 간 신호 교환은 데이터 캐싱과 데이터 히팅으로 구분될 수 있다.
데이터 캐싱에 있어서, S401 단계에서, 에지 노드(120)의 SDC 매니저(222)는 캐시의 용량, 목표 캐시 사용량, 현재 캐시 상태를 EDC(212)에게 알릴 수 있다. 일 실시예에서, 현재 캐시 상태는 캐시 사용률을 포함하고, 목표 캐시 사용량은 목표 캐시 사용률을 포함할 수 있다. 일 실시예에서, 시작 시 캐시 사용량은 0일 수 있다.
S402 단계에서, 클라우드 노드(110)의 EDC(212)는 본 발명에 따른 PID 컨트롤러가 목표 캐시 사용량에 도달하기 위해 분배해야 하는 데이터의 양을 계산 및 예측할 수 있다.
S403 단계에서, 클라우드 노드(110)의 EDC(212)는 캐시 용량 초과를 막고, 전송률을 조정하기 위해 PID 컨트롤러의 계산 결과를 확인 및 제한한다.
S404 단계에서, 클라우드 노드(110)의 EDC(212)는 상기 계산 결과를 바탕으로 분배할 데이터를 준비할 수 있다.
S405 단계에서, 클라우드 노드(110)의 EDC(212)는 준비된 데이터를 에지 노드(120)의 SDC 매니저(222)에게 분배할 수 있다.
S406 단계에서, 에지 노드(120)의 SDC 매니저(222)는 SDC(224)의 상태를 확인할 수 있다. S407 단계에서, 에지 노드(120)의 SDC 매니저(222)는 SDC(224)의 캐시 공간이 임계값보다 큰지 여부를 판단할 수 있다.
S408 단계에서, SDC(224)의 캐시 공간이 임계값보다 큰 경우, 에지 노드(120)의 SDC 매니저(222)는 데이터를 SDC(224)에 저장할 수 있다.
S409 단계에서, 에지 노드(120)의 SDC 매니저(222)는 캐시 사용량을 확인하고 이를 클라우드 노드(110)의 EDC(212)에게 알릴 수 있다.
S410 단계에서, SDC의 캐시 공간이 임계값보다 작은 경우, 에지 노드(120)의 SDC 매니저(222)는 데이터를 분할하고, S408 단계로 진행하여 SDC(224)에 데이터를 저장할 수 있다.
데이터 히트에 있어서, S410 단계에서, 단말(130)의 어플리케이션(application)은 에지 노드(120)의 SDC 매니저(222)에게 데이터를 사용요청(Hit)할 수 있다.
S411 단계에서, 에지 노드(120)의 SDC 매니저(222)는 SDC(224)로부터 데이터를 읽을(read) 수 있다.
S412 단계에서, 에지 노드(120)의 SDC 매니저(222)는 데이터를 처리 또는 분할할 수 있다.
S413 단계에서, 에지 노드(120)의 SDC 매니저(222)는 단말(130)의 어플리케이션에게 데이터를 전송할 수 있다. 그리고 단말(130)의 어플리케이션이 데이터를 활용할 수 있다.
S414 단계에서, 에지 노드(120)의 SDC 매니저(222)는 송신된 데이터에 대한 양을 반영하여, SDC(224)를 업데이트 할 수 있다.
도 5는 본 발명의 일 실시예에 따른 PID 컨트롤러(500)를 도시한 도면이다.
도 5를 참고하면, 디지털 환경에서 수행되는 캐싱은 아날로그 환경과 달리 이전 값과 현재 값을 활용하여 연산하는 방법으로 대체 가능하다. 따라서, 본 발명의 다양한 실시예에 따를 때, 아래와 같은 이전 값과 현재 값을 활용한 스트림 처리 기반 계산 방법을 기반으로 연산이 수행될 수 있다.
본 발명에 따른 클라우드 노드(110)의 PID 컨트롤러(500)는 하기 <수학식 1>에 기반하여 구현될 수 있다.
Figure pat00001
여기서, u(n)은 현재 데이터, e(n)은 현재 에러값, e(n-1)은 이전 에러값, Kp, Ki, Kd는 각각 PID 컨트롤러(500)의 P, I 및 D의 게인(gain)을 나타낸다.
기존의 PID 컨트롤러는 본래 연속된 아날로그 값을 제어하도록 설계되었다. 점진적으로 값이 변하는 작동기(Actuator) 출력이 원하는 값에 도달할 때까지 PID 컨트롤러가 이를 제어한다. 하지만, 디지털 컨트롤러는 작동기가 없기 때문에 보다 정밀한 제어가 필요하다. 기존의 PID 컨트롤러는 I 항의 오버슈팅 이슈와 PID 컨트롤러의 출력의 최소 및 최대 임계 범위를 충분히 고려하고 있지 않다.
따라서, 본 발명에 따른 PID 컨트롤러(500)는 기존의 PID 컨트롤러를 개선하여 오버슈팅 가드와 최소 및 최대 임계범위를 추가하고, 하기 <수학식 2>와 같이 리소스 제한 에지 노드(120)의 데이터 캐싱에 대해 PID 컨트롤러의 출력 변화를 더 민감하게 고려한다.
Figure pat00002
여기서, u(n)은 현재 데이터, u(n-1)은 이전 데이터, r(n)(setpoint)은 변동 제어 값, Kd는 PID 컨트롤러(500)의 P의 게인 및
Figure pat00003
는 1/100을 나타낼 수 있다. 일 실시예에서, r(n)은 목표 캐시 사용률을 나타낼 수 있다.
일 실시예에서, u(n)은 PID 컨트롤러(500)의 현재 출력, u(n-1)은 PID 컨트롤러(500)의 이전 출력을 나타낼 수 있다.
PID 컨트롤러(500)의 변동을 안정시키기 위해 K d 를 활용했고, 제안된 알고리즘의 민감도는
Figure pat00004
의 변화를 통해 미세 조정될 수 있다.
PID 컨트롤러(500)의 현재 출력과 이전 출력 차의 절대값
Figure pat00005
이 변동 제어 값보다 작을 경우, PID 컨트롤러(500)의 출력 변화율이 적다고 간주하여 업데이트하지 않는다.
PID 컨트롤러(500)의 현재 출력과 이전 출력 차의 절대값
Figure pat00006
이 변동 제어 값보다 클 경우, PID 컨트롤러(500)의 출력 변화율이 크다고 간주하여 PID 컨트롤러(500)의 출력이 업데이트될 수 있다.
그 후, SDC(224)의 별도 데이터 처리 과정을 줄이고 데이터 전송 속도를 제어하기 위해 하기 <수학식 4>와 같이 PID 컨트롤러(500)의 출력이 0에서 최대 캐시 용량까지 조절된다.
Figure pat00007
여기서, CACHE_MAX는 최대 캐시 용량을 나타낼 수 있다.
조절된 PID 컨트롤러(500)의 출력 또는 속도 제어 비트는 SDC 매니저(222)로 전송될 수 있다.
일 실시예에서, SDC 매니저(222)는 주기적으로 EDC(212)에게 현재 캐시 사용률에 대해 통지할 수 있다.
그리고, 일 실시예에서, PID 컨트롤러(500)의 I 항은 오류(목표 캐시 사용율과 현재 캐시 사용율의 차)의 합인데, 규제되지 않을 경우 통제할 수 없는 상황이 발생한다. 현재 오류의 부호와 이전 출력의 부호를 확인함으로써 I 항의 와인드업(Windup)을 제어할 수 있다. 예를 들어, 캐시가 포화 상태임에도 I 항이 증가한다면, 사용율을 낮추어야 하는 경우에도 바로 반영할 수 없게 된다.
이에 하기 <수학식 3>을 통해 I 항의 지속 상승을 방지하여 추세가 바뀌면 즉시 반응할 수 있다. 예를 들어, 본 발명에 따른 PID 컨트롤러(500)의 P, I, D의 각 게인에 대해 Kp = 0.7, Ki = 0.5, Kd = 0.7이 설정될 수 있다.
Figure pat00008
PID 컨트롤러(500)의 출력이 0에서 최대 캐시 용량까지 조절되는 이유는, 최대 캐시 용량을 초과하는 데이터를 SDC(224)가 수신 시 별도 처리 작업을 필요로 하기 때문에, 캐싱할 때 SDC(224)에서 소비되는 데이터의 양을 고려하는 것이 중요하다.
예를 들어, 단말(130)이 적은 양의 데이터를 소비하고 EDC(212)가 필요한 것보다 더 많은 데이터를 전송하는 경우, SDC(224)는 나머지 데이터를 처리해야 할 때 포화 상태가 될 수 있다. 따라서 캐시 용량에 대한 데이터를 전송하는 것은 문제가 될 수 있다.
EDC(212)는 상기 <수학식 4>와 같이 데이터를 제한할 수 있다. 예를 들어, 이에 대한 의사 코드는 하기 <표 1>의 알고리즘 1과 같이 표현될 수 있다. 여기서, 알고리즘 1은 에지 노드(120)로 전송되는 데이터의 양을 계산하여 캐싱 속도를 제어하기 위해 이용될 수 있다.
Algorithm 1: compute() algorithm of EDCrammer of control caching rate for data amount.
Input: Current cache utilization from the edge node
Output: The amount of calculated and regulated data for caching (u(t) or u(t-1))
kP = 0.7, kI = 0.5, kD = 0.7

deltaCounter = counter - lastCounter
lastOutput = output

error = setpoint - feedback
termP = error

if signOfLastOutput == signOfError AND isReachedToLimit then
if termI < -overshootingGuard then
termI = -overshootingGuard
if termI > overshootingGuard then
termI = overshootingGuard
else
termI += error
end

deltaError = error - lastError
termD = deltaError/deltaCounter

output = kP * termP + kI * termI + kD * termD

if abs(output - lastOutput) > setpoint * kD/100 then
lastError = error
lastCounter = counter
else
output = lastOutput
end
signOfLastOutput = sign(output)

if output < outputMin then
output = outputMin
if output > outputMax then
output = outputMax

if output == outputMin OR output == outputMax then
isReachedToLimit = True
else
isReachedToLimit = False
end
return output
또한 데이터 소비량이 매우 낮을 때는 전송률 제어를 위해 데이터를 전송하지 않을 수 있다. EDC(212)는 하기 <수학식 5>를 사용하여 데이터 전송 속도를 제어할 수 있다.
Figure pat00009
예를 들어, 이에 대한 의사 코드는 하기 <표 2>의 알고리즘 2와 같이 표현될 수 있다. 여기서, 알고리즘 2는 알고리즘 1의 결과에 따라 데이터 전송과 전송 속도 제어 비트 전송 사이에서 결정을 함으로써 캐싱 속도를 제어할 수 있다.
Algorithm 2: transmission_control() algorithm of EDCrammer to control caching rate for data transmission.
Input : The amount of calculated and regulated data from algorithm 1
Output : The amount of calculated and regulated data or rate-control bit
if output !=0 then
readData()
sendData()
else
sendRateControlBit()
end
도 6은 본 발명의 일 실시예에 따른 SDC(224)의 데이터 처리를 도시한 도면이다.
도 6을 참고하면, 본 발명에 따른 PID 컨트롤러(500) 기반의 EDC(212)에서 데이터 캐싱은 주로 성능을 향상시키고 필요한 QoS를 충족시키기 위해 수행될 수 있다.
데이터가 SDC(224)에 저장되고 클라우드 서비스가 데이터를 기록할 수 있다. 다른 측면에서, 도 6과 같이 SDC(224)의 주변에서 데이터 생산 및 소비가 발생할 수 있다.
데이터 소비가 증가함에 따라 데이터 생산이 증가할 수 있으며, 그 반대도 마찬가지일 수 있다. 따라서, 효율적인 속도 제어를 달성하기 위해서는 SDC(224)에 데이터를 저장하기 위한 적절한 방법이 필요하다. 따라서, SDC(224)는 1)저장, 2)히트 및 3)폐기와 같은 3가지 데이터 상태를 가질 수 있다.
도 7a 내지 7d는 종래의 기본 PID 컨트롤러의 성능평가 그래프를 도시한 도면이다. 도 8a 내지 8d는 종래의 기존 PID 컨트롤러의 성능평가 그래프를 도시한 도면이다. 도 9a 내지 9d는 본 발명의 일 실시예에 따른 PID 컨트롤러의 성능평가 그래프를 도시한 도면이다.
4개의 실험 시나리오를 사용하여 리소스가 제한적인(Resource-limited) 에지 노드(120)에서 스트리밍 데이터의 유입 및 유출과 캐싱을 위한 본 발명에 따른 전송률 제어 알고리즘을 실험 평가할 수 있다.
네 가지 시나리오의 실험 평가를 위해 다음과 같은 3가지 가정이 적용될 수 있다.
(1) 클라우드 서비스 및 SDC(224)는 에지 노드(120)에 배치될 수 있다.
(2) 클라우드 서비스가 SDC(224)의 데이터(예: 비디오 청크)를 소비할 수 있다.
(3) 소비하는 데이터의 양과 주기가 다를 수 있다.
수렴 시간은 목표 캐시 사용률(Desired cache utilization)에 수렴하는 데까지 걸린 시간을 포함할 수 있다. 알고리즘의 안정성은 전체 실험 시간 동안 목표 캐시 사용률의 변동률을 측정할 수 있다.
각 실험은 30회 진행되었다. 각 실험을 10회 실시했을 때, 안정된 평균치를 얻었으나 성능 테스트는 객관성을 보장하기 위해 최대 30회까지 수행하였다. 실험 시나리오는 다음과 같다.
시나리오 1(Periodic and equal)은 클라우드 서비스가 정해진 양의 캐시된 데이터를 소비하는 주기적으로 시나리오이다. 시나리오 1에서 클라우드 서비스는 30ms마다 SDC에서 512KB의 데이터를 소비할 수 있다. 시나리오 1은 다소 이상적일 수 있는데, 이유는 OS 수준 가상화 환경에서는 성능 간섭으로 인해 처리 시간과 처리량이 변할 수 있기 때문이다. 시나리오 1은 시나리오 2-4와 비교하기 위한 대조군으로 사용될 수 있다.
시나리오 2(Periodic and unequal)는 클라우드 서비스가 변화하는 양의 캐시된 데이터를 주기적으로 소비하는 시나리오이다. 시나리오 2에서 클라우드 서비스는 30ms마다 SDC에서 128KB-1MB의 데이터를 소비할 수 있다. 시나리오 2는 시간이 엄격하게 제어되고 데이터 크기가 변경되는 경우를 가정한다. 시나리오 2는 시나리오 1의 실험군일 수 있다.
시나리오 3(Aperiodic and equal)은 클라우드 서비스가 정해진 양의 캐시된 데이터를 비주기적으로 소비하는 시나리오이다. 시나리오 3에서 클라우드 서비스는 8-80ms(12-120fps)마다 SDC에서 512KB의 데이터를 소비할 수 있다. 시나리오 3은 데이터 양이 엄격하게 제어되고 기간이 변경되는 경우를 가정한다. 시나리오 3은 시나리오 1의 실험군일 수 있다.
시나리오 4(Aperiodic and unequal)는 클라우드 서비스가 변화하는 양의 캐시 된 데이터를 비 주기적으로 소비하는 시나리오이다. 시나리오 4에서 클라우드 서비스는 8-80ms(12-120fps)마다 SDC에서 128KB-1MB의 데이터를 소비할 수 있다. AR/VR에는 120fps가 필요하며 비디오 스트리밍에는 일반적으로 30fps 이상이 필요한 실제상황을 가정하였다. 클라우드 서비스는 정해지지 않은 데이터를 비 주기적으로 소비하기 때문이 시나리오 4를 일반적인 클라우드 서비스인 경우로 가정하였다. 시나리오 4는 다른 시나리오의 실험군일 수 있다.
이 경우, 실험의 세 가지 주요 메트릭은 수렴 시간, 수렴 편차 및 캐시 적중률이다. 수렴 시간과 편차를 통해 EDCrammer의 신속성과 안정성을 보이고, 캐시 적중률을 통해 이 프레임 워크의 효율성을 보인다.
도 7a 내지 7d는 기본 PID 알고리즘, 도 8a 내지 8d는 기존 PID 알고리즘, 도 9a 내지 9d는 본 발명에 따른 PID 알고리즘을 각 시나리오별로 30번씩 실험한 결과 중 대표적인 성능 평가 결과를 나타낼 수 있다.
본 발명에 따른 경량화 전송률 제어 알고리즘인 EDC(212)는 기존 PID 컨트롤러 보다 개선되었다. EDC(212)는 자원 제한적인 에지 노드(120)에서 스트리밍 데이터의 유입 및 유출과 캐싱을 위한 민첩한 전송률 제어를 제공할 수 있다.
결과 그래프를 통해, 세 가지 알고리즘의 모든 시나리오에서 몇 번 만에 목표 캐시 사용률(Setpoint)에 도달함을 확인할 수 있다.
또한 결과 그래프를 통해, EDC(212)가 현재 캐시 사용률(Feedback)을 사용하여 캐싱 데이터 양을 즉시 계산하고 보상했음을 확인할 수 있다.
설정 값에 따라 캐시 사용률의 안정성을 유지할 수 있다. 따라서, 모든 상황에서 EDC(212)는 원하는 캐시 사용률에 빠르게 도달하여 이를 유지함을 확인할 수 있다.
본 발명에 따른 PID 컨트롤러(500)는 피드백(Feedback)과 설정값(Setpoint)의 차이만을 사용하는 민첩한 계산을 수행하여 목표 캐시 사용률에 도달할 수 있다. 이 경우, 평균 수렴 시간은 피드백과 설정값 사이의 오차율이 5% 이내인 경우를 기준으로 판단될 수 있다.
알고리즘의 특성으로 인해 평균값을 기준으로 수학적인 분산을 계산하는 것보다, 설정값을 기반으로 분산을 계산하는 것이 EDC(212)의 성능을 나타내는데 적합하므로, 상기 <수학식 5> 및 하기 <수학식 6>을 통해 EDC(212)의 안정성을 확인할 수 있다.
Figure pat00010
여기서, STDEV는 표준 편차, feedback은 피드백, setpoint는 설정값, error는 피드백과 설정값의 차이를 나타낼 수 있다.
성능 평가는 30 회 수행되었으며, 표준 편차의 평균은 하기 <수학식 7>과 같이 기본 PID 알고리즘, 기존 PID 알고리즘 및 본 발명에 따른 PID 알고리즘의 평균 수렴 편차를 나타낼 수 있다.
Figure pat00011
여기서,
Figure pat00012
는, 표준 편차의 평균, STDEV는 표준 편차를 나타낼 수 있다.
또한, 하기 <표 3>은 기본, 기존 및 제안된 알고리즘의 평균 성능을 나타낸다.
시나리오 1 2 3 4
알고리즘 B E P B E P B E P B E P
Average running time (sec) 30.19 30.17 30.20 30.18 30.21 30.20 30.20 30.20 30.17 30.17 30.23 30.20
Average iteration (n) 225 216 199 182 179 165 231 229 224 192 198 195
Average sec/iteration 0.13 0.14 0.15 0.17 0.17 0.18 0.13 0.13 0.13 0.17 0.15 0.15
Average convergence time 1.04 0.84 1.06 1.87 1.01 1.10 1.43 0.92 0.81 1.87 1.07 0.77
Average convergence deviation 4.58 4.36 4.77 7.29 7.18 7.27 4.73 4.65 4.53 7.14 7.12 6.87
상기 <표 3>에서, B는 기본(basic) PID 알고리즘, E는 기존(exist) PID 알고리즘, P는 본 발명에 따른 PID 알고리즘을 나타낸다.
각 실험은 약 30초 동안 서로 다른 수의 캐싱 작업을 수행할 수 있다. 한 번의 캐싱 작업(Iteration)은 평균 0.15초가 걸릴 수 있다.
기본 PID 알고리즘을 사용한 실험 결과는 비교의 기준으로 활용될 수 있다. PID 출력의 변화율을 반영하는 기존 PID 알고리즘은 변화율이 낮은 환경에서 좋은 성능을 보일 수 있다.
본 발명에 따른 PID 알고리즘은 PID 출력의 변화율을 반영하고 튜닝하여 민감도를 증가시켰다. 그래서 본 발명에 따른 PID 알고리즘은 동적으로 변화하는 환경에 적합하다. 시나리오 1과 2에서 기존 알고리즘은 시나리오 3과 4에 비해 비교적 안정적인 시나리오이기 때문에 본 발명에 따른 PID 알고리즘과 기본 PID 알고리즘보다 기존 PID 알고리즘이 더 나은 성능을 보였다.
시나리오 1에서 기존 PID 알고리즘의 평균 수렴 시간은 본 발명에 따른 PID 알고리즘 보다 27% 빠르고 기본 PID 알고리즘보다 24% 빨리 수렴할 수 있다. 기존 PID 알고리즘의 평균 수렴 편차가 세 가지 알고리즘 중에서 가장 안정적일 수 있다. 본 발명에 따른 PID 알고리즘보다 9% 더 안정적이었고 기본 PID 알고리즘보다 5% 더 안정적일 수 있다.
시나리오 2에서는 기존 PID 알고리즘의 평균 수렴 시간이 세 가지 알고리즘 중 가장 빠를 수 있다. 본 발명에 따른 PID 알고리즘보다 8% 빠르고 기본 PID 알고리즘보다 85% 빠를 수 있다. 기존 PID 알고리즘의 평균 수렴 편차가 세 가지 알고리즘 중에서 가장 안정적일 수 있다. 본 발명에 따른 PID 알고리즘 보다 1% 더 안정적이고 기본 PID 알고리즘보다 2% 더 안정적일 수 있다. 반면, 본 발명에 따른 PID 알고리즘은 시나리오 3과 4의 기존 PID 알고리즘과 기본 PID 알고리즘보다 성능이 우수함을 확인할 수 있다.
시나리오 3에서는 본 발명에 따른 PID 알고리즘의 평균 수렴 시간이 세 가지 알고리즘 중 가장 빠를 수 있다. 기존 PID 알고리즘보다 14%, 기본 PID 알고리즘보다 77% 더 빠를 수 있다. 본 발명에 따른 PID 알고리즘의 평균 수렴 편차는 세 가지 알고리즘 중에서 가장 안정적일 수 있다. 기존 PID 알고리즘보다 3% 더 안정적이며 기본 PID 알고리즘보다 4% 더 안정적일 수 있다.
시나리오 4에서도 또한 본 발명에 따른 PID 알고리즘의 평균 수렴 시간이 세 가지 알고리즘 중 가장 빠를 수 있다. 기존 PID 알고리즘보다 38%, 기본 PID 알고리즘보다 141% 빠르다. 본 발명에 따른 PID 알고리즘의 평균 수렴 편차는 세 가지 알고리즘 중에서 가장 안정적일 수 있다. 기존 및 기본 알고리즘보다 각각 4% 더 안정적일 수 있다.
결과적으로 기존 PID 알고리즘은 주기적 환경에서 더 나은 성능을 제공하지만 본 발명에 따른 PID 알고리즘은 비주기적 환경에서 더 나은 성능을 제공할 수 있다.
클라우드 컴퓨팅은 언제 어디서나 모든 장치(Anytime, Anywhere, Anydevice)에서 클라우드 서비스를 제공한다. 클라우드 노드(110)와 에지 노드(120)는 다양한 단말(130)의 요청을 동적으로 수신하여 가능한 빨리 처리한다. 캐싱 또한 클라우드 컴퓨팅 환경에서 가능한 한 빨리 동적으로 수행되어야하는 클라우드 서비스 중 하나이고, 시나리오 4는 그 동적인 사례를 나타낸다. 따라서, 본 발명에 따른 PID 알고리즘은 기존 PID 알고리즘보다 실제 클라우드 서비스에 더 적합할 수 있다.
도 10은 본 발명의 일 실시예에 따른 캐시 용량에 대한 캐시 히트율 그래프를 도시한 도면이다.
도 10을 참고하면, 캐시 용량에 대한 캐시 히트율을 확인할 수 있다. 이 경우, 하기 <표 4>를 참고하면, 캐시 용량 별 캐시 적중률을 확인할 수 있다.
MB Scenario
1 2 3 4
5 96.73 96.76 96.77 96.74
4.5 96.74 96.74 96.72 96.71
4 96.74 96.76 96.74 96.76
3.5 96.71 96.76 96.74 96.70
3 96.88 96.74 96.65 96.64
2.5 97.42 97.40 97.40 97.38
2 97.89 97.70 97.78 97.69
1.5 98.31 97.00 96.66 96.65
1 92.93 90.35 89.24 89.08
0.5 9.51 46.01 50.58 53.75
캐시 용량은 에지 노드(120)의 스토리지 가격 정책 및 리소스 부족과 관련이 있기 때문에, 최적의 캐시 용량을 찾는 실험이 수행될 수 있다. 에지 노드(120)는 제한된 컴퓨팅 리소스를 보유하기 때문에 캐시 용량을 줄이는 것이 에지 노드(120)의 리소스 효율성과 사용자 비용 절감 측면에서 유의미하다.
클라우드 서비스 제공자(CSP, Cloud Service Provider)와 클라우스 서비스 사용자(CSC, Cloud Service customer) 모두를 위해 제안된 알고리즘을 사용하여 실험을 수행했으며 각 캐시 용량에 따른 히트율은 30회의 실험의 평균을 나타낸다.
실험은 5MB로 시작하여 0.5MB 씩 줄였나갔다. 5MB에서 1.5MB까지 캐시 히트율을 96% 이상으로 유지하면서 뛰어난 성능을 보여준 반면, 1MB 미만에서는 캐시 적중률이 점차 감소함을 확인할 수 있다.
실험 결과를 참고하면, 클라우드 서비스가 소비하는 데이터의 양과 캐시 용량이 관련이 있음을 도출할 수 있다. 이유는 실험에서 128KB에서 1MB의 데이터가 소비되었고, 캐시 용량이 1MB 이상인 경우 높은 캐시 히트율을 보였기 때문이다.
따라서, 고품질 서비스를 위한 적절한 캐시 히트율을 보장하기 위해 단위 시간당 최대 소비량보다 1.5배 높은 캐시 용량이 필요할 수 있다. 결과적으로 가볍고 민첩한 알고리즘인 EDC(212)는 캐시 용량을 줄이는데 기여할 수 있음을 확인할 수 있다. 이는 CSP가 에지 노드(120)의 스토리지 리소스를 효율적으로 관리하는 데 도움이 되며, CSC의 서비스 비용을 줄이는 데 도움이 될 수 있다.
도 11a 내지 11d는 본 발명의 일 실시예에 따른 캐시 용량이 충분한 경우의 캐시 히트 패턴 그래프를 도시한 도면이다. 도 12a 내지 12d는 본 발명의 일 실시예에 따른 캐시 용량이 충분하지 않은 경우의 캐시 히트 패턴 그래프를 도시한 도면이다.
도 11a 내지 11d 및 도 12a 내지 12d를 참고하면, 상기 <표 4>에서 나타난 5MB의 캐시 용량이 충분하고 1MB의 캐시 용량이 충분하지 않음을 기초로 하여, 도 11a 내지 11d 및 도 12a 내지 12d는 캐시 용량이 5MB 및 1MB로 표시된 지점의 캐시 히트 패턴을 나타낸다. 이 실험은 캐시 히트의 패턴을 분석하고 약 4%의 캐시 미스 비율에 대한 이유를 알아보기 위해 수행될 수 있다.
모든 그래프의 시작 부분에서 10회 또는 1.5초 내에 캐시 누락이 발생했기 때문에 두 패턴 모두 일정 기간의 대기 또는 준비 시간이 필요하다는 것을 확인할 수 있다. 따라서 일반적인 비디오 스트리밍에 이미 적용되는 버퍼링 또는 지연된 시작과 같은 방법을 사용하여 이 문제를 해결할 수 있다.
경량성(Lightweight) 측면에서, 본 발명에 따른 PID 알고리즘은 PID 컨트롤러(500)의 출력의 변화율을 고려한다. 기존의 PID 컨트롤러는 매 사이클마다 출력을 업데이트한다. 그러나, 본 발명에 따른 PID 컨트롤러(500)는 이전 출력과 전류 출력 간의 변화율이 낮으면 매번 출력을 업데이트할 필요가 없기 때문에 불필요한 업데이트 횟수를 줄일 수 있다. 즉, 본 발명에 따른 PID 컨트롤러(500)는 변화율 기반 업데이트 연산작업 (Rate-of-change-based update operation)을 수행할 수 있다.
또한, 본 발명에 다른 SDC(224)는 store_data, read_data, disc_data, get_cache_status 등의 최소 기능을 수행할 수 있다. 여기서, store_data 기능은 클라우드 노드(110)에서 전송된 데이터를 캐시에 저장할 수 있다. read_data 기능은 단말(130)의 히트 요청에 따라 캐시에서 데이터를 읽을 수 있다. fulse_data 함수는 데이터 관리 정책에 따라 캐쉬의 데이터를 모니터링하고 삭제할 수 있다(Late re-hit 또는 re-hit 빈도에 의한 삭제). 즉, 본 발명에 따른 SDC(224)는 최소기능만을 갖출 수 있다(SDC with minimum functionality).
또한, 본 발명에 따른 클라우드 서버(110)는 에지 노드의 메모리 사용량을 줄이기 위해 서비스 맞춤형 리스트 길이를 고려한 순환 리스트를 통해 메모리 사용을 최소화할 수 있다.
민첩성(Agile) 측면에서, 이전 이미 계산된 데이터를 재계산하지 않기 위해 현재 상태에 초점을 맞춘 스트림 처리 프로그래밍 방법을 사용할 수 있다. 본 발명에 따른 PID 컨트롤러(500)는 계산된 데이터와 현재 데이터를 바탕으로 다음 캐시상태를 예측할 수 있다.
또한, 본 발명에 따르면, 에지 노드(120)와 단말(130) 간 네트워크 지연시간과 중앙 클라우드의 네트워크 혼잡을 줄일 수 있고, 이를 바탕으로 고품질 클라우드 서비스를 지원할 수 있기 때문에 실시간 서비스를 요구하는 AR/VR 분야, 자율 주행 차량 분야, 지능형 교통 시스템 분야, 클라우드 게임 분야 등에 적용 및 응용할 수 있으나, 이에 제한되지 않으며 다양한 분야에 적용할 수 있다.
도 13은 본 발명의 일 실시예에 따른 클라우드 노드(110)의 기능적 구성을 도시한 도면이다.
도 13을 참고하면, 클라우드 노드(110)는 통신부(1310), 제어부(1320) 및 저장부(1330)를 포함할 수 있다.
통신부(1310)는 에지 노드(120)로부터 단말(130)을 위한 캐시 사용률에 대한 정보를 수신할 수 있다.
일 실시예에서, 통신부(1310)는 유선 통신 모듈 및 무선 통신 모듈 중 적어도 하나를 포함할 수 있다. 통신부(1310)의 전부 또는 일부는 '송신부', '수신부' 또는 '송수신부(transceiver)'로 지칭될 수 있다.
제어부(1320)는 캐시 사용률에 대한 정보에 기반하여 데이터 변화율을 산출하고, 데이터 변화율에 기반하여 단말(130)을 위해 캐싱할 데이터를 결정할 수 있다. 이후, 통신부(1310)는 단말(130)을 위해 캐싱할 데이터를 에지 노드(120)에게 송신할 수 있다.
일 실시예에서, 제어부(1320)는 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 또한, 제어부(1320)는 CP(communication processor)라 지칭될 수 있다. 제어부(1320)는 본 발명의 다양한 실시예에 따른 클라우드 노드(110)의 동작을 제어할 수 있다.
저장부(1330)는 에지 노드(120)에게 송신할 데이터 풀(pool)을 저장할 수 있다.
일 실시예에서, 저장부(1330)는 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 저장부(1330)는 제어부(1320)의 요청에 따라 저장된 데이터를 제공할 수 있다.
도 13을 참고하면, 클라우드 노드(110)는 통신부(1310), 제어부(1320) 및 저장부(1320)를 포함할 수 있다. 본 발명의 다양한 실시 예들에서 클라우드 노드(110)는 도 13에 설명된 구성들이 필수적인 것은 아니어서, 도 13에 설명된 구성들보다 많은 구성들을 가지거나, 또는 그보다 적은 구성들을 가지는 것으로 구현될 수 있다.
이상의 설명은 본 발명의 기술적 사상을 예시적으로 설명한 것에 불과한 것으로, 통상의 기술자라면 본 발명의 본질적인 특성이 벗어나지 않는 범위에서 다양한 변경 및 수정이 가능할 것이다.
따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술적 사상을 한정하기 위한 것이 아니라, 설명하기 위한 것이고, 이러한 실시예들에 의하여 본 발명의 범위가 한정되는 것은 아니다.
본 발명의 보호범위는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 이해되어야 한다.
100: 클라우드 시스템
110: 클라우드 노드
120: 에지 노드
130: 단말
212: EDC
222: SDC 매니저
224: SDC
1310: 통신부
1320: 제어부
1330: 저장부

Claims (14)

  1. (a) 에지 노드로부터 단말을 위한 캐시 사용률에 대한 정보를 수신하는 단계;
    (b) 상기 캐시 사용률에 대한 정보에 기반하여 데이터 변화율을 산출하는 단계;
    (c) 상기 데이터 변화율에 기반하여 상기 단말을 위해 캐싱할 데이터를 결정하는 단계; 및
    (d) 상기 데이터를 상기 에지 노드에게 송신하는 단계;
    를 포함하는,
    데이터 스트리밍을 위한 클라우드 노드의 캐싱 전송률 제어 동작 방법.
  2. 제1항에 있어서,
    상기 (b) 단계는,
    상기 캐시 사용률에 대한 정보를 이용하는 PID 컨트롤러(Proportional-Integral-Differential controller)에서 출력되는 상기 데이터에 대한 상기 데이터 변화율을 산출하는 단계;
    를 포함하는,
    데이터 스트리밍을 위한 클라우드 노드의 캐싱 전송률 제어 동작 방법.
  3. 제2항에 있어서,
    상기 PID 컨트롤러는,
    상기 캐시 사용률과 목표 캐시 사용률의 차이값을 포함하는 에러값이 미리 결정된 가드값보다 작도록 제어하는,
    데이터 스트리밍을 위한 클라우드 노드의 캐싱 전송률 제어 동작 방법.
  4. 제2항에 있어서,
    상기 데이터 변화율은,
    상기 PID 컨트롤러에서 출력되는 현재 데이터와 이전 데이터의 차이값을 포함하는,
    데이터 스트리밍을 위한 클라우드 노드의 캐싱 전송률 제어 동작 방법.
  5. 제4항에 있어서,
    상기 (c) 단계는,
    상기 데이터 변화율이 임계값보다 작은 경우, 상기 단말을 위해 캐싱할 데이터를 상기 이전 데이터로 설정하는 단계; 및
    상기 데이터 변화율이 상기 임계값보다 큰 경우, 상기 단말을 위해 캐싱할 데이터를 상기 현재 데이터로 업데이트하는 단계;
    를 포함하는,
    데이터 스트리밍을 위한 클라우드 노드의 캐싱 전송률 제어 동작 방법.
  6. 제4항에 있어서,
    상기 (c) 단계는,
    상기 단말을 위해 캐싱할 데이터가 0보다 큰 경우, 상기 데이터가 최대 캐싱 용량보다 큰지 여부를 판단하는 단계;
    를 포함하고,
    상기 단말을 위해 캐싱할 데이터가 0보다 작은 경우, 상기 데이터는 송신되지 않고,
    데이터 스트리밍을 위한 클라우드 노드의 캐싱 전송률 제어 동작 방법.
  7. 제6항에 있어서,
    상기 (d) 단계는,
    상기 데이터가 최대 캐싱 용량보다 큰 경우, 상기 최대 캐싱 용량을 상기 에지 노드에게 송신하는 단계; 및
    상기 데이터가 최대 캐싱 용량보다 작은 경우, 상기 데이터를 상기 에지 노드에게 송신하는 단계;
    를 포함하는,
    데이터 스트리밍을 위한 클라우드 노드의 캐싱 전송률 제어 동작 방법.
  8. 에지 노드로부터 단말을 위한 캐시 사용률에 대한 정보를 수신하는 통신부; 및
    상기 캐시 사용률에 대한 정보에 기반하여 데이터 변화율을 산출하고,
    상기 데이터 변화율에 기반하여 상기 단말을 위해 캐싱할 데이터를 결정하는 제어부;
    를 포함하고,
    상기 통신부는, 상기 데이터를 상기 에지 노드에게 송신하는,
    데이터 스트리밍을 위한 클라우드 노드 장치.
  9. 제8항에 있어서,
    상기 제어부는,
    상기 캐시 사용률에 대한 정보를 이용하는 PID 컨트롤러(Proportional-Integral-Differential controller)에서 출력되는 상기 데이터에 대한 상기 데이터 변화율을 산출하는,
    데이터 스트리밍을 위한 클라우드 노드 장치.
  10. 제9항에 있어서,
    상기 PID 컨트롤러는,
    상기 캐시 사용률과 목표 캐시 사용률의 차이값을 포함하는 에러값이 미리 결정된 가드값보다 작도록 제어하는,
    데이터 스트리밍을 위한 클라우드 노드 장치.
  11. 제9항에 있어서,
    상기 데이터 변화율은,
    상기 PID 컨트롤러에서 출력되는 현재 데이터와 이전 데이터의 차이값을 포함하는,
    데이터 스트리밍을 위한 클라우드 노드 장치.
  12. 제11항에 있어서,
    상기 제어부는,
    상기 데이터 변화율이 임계값보다 작은 경우, 상기 단말을 위해 캐싱할 데이터를 상기 이전 데이터로 설정하고,
    상기 데이터 변화율이 상기 임계값보다 큰 경우, 상기 단말을 위해 캐싱할 데이터를 상기 현재 데이터로 업데이트하는,
    데이터 스트리밍을 위한 클라우드 노드 장치.
  13. 제11항에 있어서,
    상기 제어부는,
    상기 단말을 위해 캐싱할 데이터가 0보다 큰 경우, 상기 데이터가 최대 캐싱 용량보다 큰지 여부를 판단하고,
    상기 단말을 위해 캐싱할 데이터가 0보다 작은 경우, 상기 데이터는 송신되지 않는,
    데이터 스트리밍을 위한 클라우드 노드 장치.
  14. 제13항에 있어서,
    상기 통신부는,
    상기 데이터가 최대 캐싱 용량보다 큰 경우, 상기 최대 캐싱 용량을 상기 에지 노드에게 송신하고,
    상기 데이터가 최대 캐싱 용량보다 작은 경우, 상기 데이터를 상기 에지 노드에게 송신하는,
    데이터 스트리밍을 위한 클라우드 노드 장치.
KR1020190159416A 2019-12-03 2019-12-03 자원 제한적인 에지 노드에 데이터 스트리밍을 위한 캐싱 전송률 제어 방법 및 장치 KR102275754B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190159416A KR102275754B1 (ko) 2019-12-03 2019-12-03 자원 제한적인 에지 노드에 데이터 스트리밍을 위한 캐싱 전송률 제어 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190159416A KR102275754B1 (ko) 2019-12-03 2019-12-03 자원 제한적인 에지 노드에 데이터 스트리밍을 위한 캐싱 전송률 제어 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210069508A true KR20210069508A (ko) 2021-06-11
KR102275754B1 KR102275754B1 (ko) 2021-07-08

Family

ID=76376517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190159416A KR102275754B1 (ko) 2019-12-03 2019-12-03 자원 제한적인 에지 노드에 데이터 스트리밍을 위한 캐싱 전송률 제어 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102275754B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100047652A (ko) * 2008-10-29 2010-05-10 에스케이텔레콤 주식회사 컨텐츠서버 및 캐시서버를 이용한 데이터 저장방법, 그 컨텐츠서버 및 컨텐츠 제공시스템
KR20130057232A (ko) * 2011-11-23 2013-05-31 한국전자통신연구원 에지 노드를 포함한 컨텐츠 분배 네트워크 시스템 및 에지 노드의 컨텐츠 캐싱 및 관리방법
KR101969869B1 (ko) 2017-07-31 2019-04-17 경상대학교 산학협력단 개인형 캐싱 네트워크 시스템 및 개인형 캐싱 서비스 제공 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100047652A (ko) * 2008-10-29 2010-05-10 에스케이텔레콤 주식회사 컨텐츠서버 및 캐시서버를 이용한 데이터 저장방법, 그 컨텐츠서버 및 컨텐츠 제공시스템
KR20130057232A (ko) * 2011-11-23 2013-05-31 한국전자통신연구원 에지 노드를 포함한 컨텐츠 분배 네트워크 시스템 및 에지 노드의 컨텐츠 캐싱 및 관리방법
KR101969869B1 (ko) 2017-07-31 2019-04-17 경상대학교 산학협력단 개인형 캐싱 네트워크 시스템 및 개인형 캐싱 서비스 제공 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yunkon Kim et al., EDCrammer : An Efficient Caching Rate-Control Algorithm for Streaming Data on Resourec-Limited Edge Nodes, Applied Sciences 2019, Published:23 June 2019* *

Also Published As

Publication number Publication date
KR102275754B1 (ko) 2021-07-08

Similar Documents

Publication Publication Date Title
US20040230753A1 (en) Methods and apparatus for providing service differentiation in a shared storage environment
US10289591B2 (en) Adjustment of buffer credits and other parameters in a startup phase of communications between a plurality of channels and a control unit
GB2555324B (en) Receiving buffer credits by a plurality of channels of one or more host computational devices for transmitting data to a control unit
US8914786B2 (en) Systems and methods for controlling application updates across a wireless interface
US10819760B2 (en) Method and apparatus for streaming video applications in cellular networks
EP3114588B1 (en) Dynamic cache allocation and network management
US10505802B2 (en) Adaptive subscriber-driven resource allocation for push-based monitoring
US9892065B2 (en) Adjustments of buffer credits for optimizing the number of retry operations and transfer ready operations
CN113254095B (zh) 云边结合平台的任务卸载、调度与负载均衡系统、方法
US20220255828A1 (en) Network traffic migration method and apparatus
KR102275754B1 (ko) 자원 제한적인 에지 노드에 데이터 스트리밍을 위한 캐싱 전송률 제어 방법 및 장치
US20170207974A1 (en) Method and system for distributed optimal caching of content over a network
Claeys et al. Hybrid multi-tenant cache management for virtualized ISP networks
CN117202265A (zh) 边缘环境下基于dqn的服务迁移方法
US7441086B2 (en) Data caching method and computer-readable medium storing a program executing the method
Leconte et al. Adaptive replication in distributed content delivery networks
Leconte et al. Designing adaptive replication schemes in distributed content delivery networks
JP2009163440A (ja) 負荷分散方法、負荷分散システム、負荷分散サーバ及び負荷分散プログラム
JP2004139366A (ja) キャッシュ配置方法
US20080114635A1 (en) Method and apparatus for calculating importance degrees for resources
EP4133695A1 (en) A local computing cloud that is interactive with a public computing cloud
Wang et al. Incentive based cooperative content caching in Social Wireless Networks
WO2017097368A1 (en) System and method for efficient caching in the access network
US11656966B2 (en) Local computing cloud that is interactive with a public computing cloud
Makhkamov et al. Energy Efficient Technique and Algorithm Based on Artificial Intelligence in Content Delivery Networks

Legal Events

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