KR101615138B1 - 웹앱 컨텐츠를 제공하는 방법, 서버 및 시스템 - Google Patents

웹앱 컨텐츠를 제공하는 방법, 서버 및 시스템 Download PDF

Info

Publication number
KR101615138B1
KR101615138B1 KR1020150003470A KR20150003470A KR101615138B1 KR 101615138 B1 KR101615138 B1 KR 101615138B1 KR 1020150003470 A KR1020150003470 A KR 1020150003470A KR 20150003470 A KR20150003470 A KR 20150003470A KR 101615138 B1 KR101615138 B1 KR 101615138B1
Authority
KR
South Korea
Prior art keywords
image
usage rate
cache
maximum
past
Prior art date
Application number
KR1020150003470A
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 KR1020150003470A priority Critical patent/KR101615138B1/ko
Application granted granted Critical
Publication of KR101615138B1 publication Critical patent/KR101615138B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2183Cache memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/60Receiver circuitry for the reception of television signals according to analogue transmission standards for the sound signals
    • H04N5/602Receiver circuitry for the reception of television signals according to analogue transmission standards for the sound signals for digital sound signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Human Computer Interaction (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

가상화 서버에서 셋톱박스로 웹앱 컨텐츠를 제공하는 방법은 영상 캐쉬 스케쥴링을 위한 영상 리스트를 로딩하는 단계, 영상 리스트에 포함된 복수의 영상의 캐쉬 생성 순서를 배정하는 단계, 복수의 트랜스코더의 사용률 통계로부터 각 트랜스코더의 과거 이용률을 로딩하는 단계, 각 트랜스코더의 현재 이용률, 최대 이용률 및 과거 이용률에 기초하여, 복수의 영상의 캐쉬 생성 순서에 따라 각 트랜스코더에게 영상 변환 작업을 할당하는 단계 및 변환된 영상을 스트리머 내에 캐쉬 파일로 저장하는 단계를 포함할 수 있다.

Description

웹앱 컨텐츠를 제공하는 방법, 서버 및 시스템{METHOD FOR PROVIDING WEB APPLICATION CONTENTS, SERVER AND SYSTEM}
본 발명은 웹앱 컨텐츠를 제공하는 방법, 서버 및 시스템에 관한 것이다.
IPTV(Internet Protocol Television) 서비스는 기존의 방송 채널 컨텐츠 및 VOD(Video On Demand) 컨텐츠뿐만 아니라, OTT(Over The Top) 컨텐츠와 같은 웹앱 컨텐츠(예를 들어, youtube)도 함께 서비스하고 있다.
최근들어, 웹앱 컨텐츠의 수요가 증가하고 있지만, 기존의 셋톱박스로는 인터넷상의 모든 웹앱 컨텐츠를 제공하는데 한계가 있다.
이러한 한계를 극복하기 위해, 영상 캐쉬에 대한 활용 기술과, 요청된 영상 컨텐츠를 실시간으로 셋톱박스에서 재생이 가능한 형태로 변환하는 기술이 요구되고 있다.
하지만, 요청이 들어온 영상 컨텐츠를 한정된 서버로 실시간으로 제공하기에는 비용적인 한계와 제약이 있다. 이로 인해, 영상 캐쉬를 효율적으로 생성하고 관리하는 기술이 더욱 중요하게 되었다.
한국공개특허 제2006-0132756호에는 타겟 재생 장치에 대한 미디어 컨텐츠를 트랜스코딩할 필요를 예측하고, 타겟 재생 장치가 소스 장치에 접속하기 전에 소스 장치 상의 미디어 컨텐트를 트랜스코딩하고, 트랜스코딩된 미디어 컨텐트를 트랜스코드 캐시에 저장하고, 타겟 재생 장치로부터 요청이 들어오면, 트랜스코드 캐시로부터 트랜스코딩된 미디어 컨텐트를 타겟 재생 장치에 카피하는 구성이 개시되어 있다.
영상 리스트에 포함된 복수의 영상의 캐쉬 생성 순서를 배정하고, 트랜스코더의 현재 이용률, 최대 이용률 및 과거 이용률에 기초하여, 각 트랜스코더에게 복수의 영상의 캐쉬 생성 순서에 따른 영상 변환 작업을 할당하고자 한다. 또한, 트랜스코더에 의해 변환된 영상을 스트리머 내에 캐쉬 파일로 저장하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 가상화 서버에서 셋톱박스로 웹앱 컨텐츠를 제공하는 방법은 영상 캐쉬 스케쥴링을 위한 영상 리스트를 로딩하는 단계, 상기 영상 리스트에 포함된 복수의 영상의 캐쉬 생성 순서를 배정하는 단계, 복수의 트랜스코더의 사용률 통계로부터 각 트랜스코더의 과거 이용률을 로딩하는 단계, 각 트랜스코더의 현재 이용률, 최대 이용률 및 과거 이용률에 기초하여, 상기 복수의 영상의 캐쉬 생성 순서에 따라 각 트랜스코더에게 영상 변환 작업을 할당하는 단계 및 변환된 영상을 스트리머 내에 캐쉬 파일로 저장하는 단계를 포함할 수 있다.
또한, 본 발명의 제 2 측면에 따른 셋톱박스로 웹앱 컨텐츠를 제공하는 가상화 서버는 영상 캐쉬 스케쥴링을 위한 영상 리스트를 로딩하는 로딩부, 상기 영상 리스트에 포함된 복수의 영상의 캐쉬 생성 순서를 배정하는 순서 배정부, 각 트랜스코더의 현재 이용률, 최대 이용률 및 과거 이용률에 기초하여, 상기 복수의 영상의 캐쉬 생성 순서에 따라 각 트랜스코더에게 영상 변환 작업을 할당하는 할당부 및 변환된 영상을 스트리머 내에 캐쉬 파일로 저장하는 저장부를 포함하되, 상기 로딩부는 복수의 트랜스코더의 사용률 통계로부터 각 트랜스코더의 과거 이용률을 로딩할 수 있다.
또한, 본 발명의 제 3 측면에 따른 웹앱 컨텐츠를 제공하는 시스템은 영상 캐쉬 스케쥴링을 위한 영상 리스트를 로딩하고, 상기 영상 리스트에 포함된 복수의 영상의 캐쉬 생성 순서를 배정하고, 복수의 트랜스코더의 사용률 통계로부터 각 트랜스코더의 과거 이용률을 로딩하고, 각 트랜스코더의 현재 이용률, 최대 이용률 및 과거 이용률에 기초하여, 상기 복수의 영상의 캐쉬 생성 순서에 따라 각 트랜스코더에게 영상 변환 작업을 할당하고, 변환된 영상을 스트리머 내에 캐쉬 파일로 저장하는 가상화 서버 및 상기 가상화 서버에게 영상을 요청하고, 상기 가상화 서버로부터 요청한 영상을 수신하는 셋톱박스를 포함할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 가상화 서버는 영상 리스트에 포함된 복수의 영상의 캐쉬 생성 순서를 배정하고, 트랜스코더의 현재 이용률, 최대 이용률 및 과거 이용률에 기초하여, 각 트랜스코더에게 복수의 영상의 캐쉬 생성 순서에 따른 영상 변환 작업을 할당할 수 있다. 또한, 가상화 서버는 트랜스코더에 의해 변환된 영상을 스트리머 내에 캐쉬 파일로 저장할 수 있다. 또한, 가상화 서버는 복수의 트랜스코더의 자원 사용을 최적화할 수 있기 때문에 트랜스코더의 투자 비용을 절감할 수 있다. 또한, 가상화 서버는 캐쉬 파일로 저장된 영상에 대한 요청이 셋톱박스로부터 들어오면, 해당 영상을 트랜스코딩하지 않고, 바로, 해당 영상의 캐쉬 파일을 셋톱박스로 전송할 수 있다.
도 1은 본 발명의 일 실시예에 따른, 웹앱 컨텐츠 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 가상화 서버의 세부 구성도이다.
도 3은 본 발명의 일 실시예에 따른, 도 2에 도시된 가상화 서버의 추가 구성도이다.
도 4는 본 발명의 일 실시예에 따른, 가상화 서버에서 셋톱박스로 웹앱 컨텐츠를 제공하는 방법을 설명하기 위한 동작 흐름도이다.
도 5는 본 발명의 일 실시예에 따른, 가상화 서버에서 셋톱박스로 웹앱 컨텐츠를 제공하는 방법의 일예를 도시한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른, 웹앱 컨텐츠 제공 시스템의 구성도이다.
도 1을 참조하면, 웹앱 컨텐츠 제공 시스템은 가상화 서버(100), 셋톱박스(110), 웹 영상 서버(120), 및 스트리머(130)를 포함할 수 있다. 다만, 이러한 도 1의 웹앱 컨텐츠 제공 시스템은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니며, 본 발명의 다양한 실시예들에 따라 도 1과 다르게 구성될 수도 있다.
가상화 서버(100)는 셋톱박스(110)로부터 요청받은 영상 컨텐츠(방송 채널 컨텐츠, VOD 컨텐츠, 웹앱 컨텐츠 등)를 웹 영상 서버(120)로부터 수신하여, 셋톱박스(110)에게 전송할 수 있다. 셋톱박스(110)에 웹 브라우저가 탑재되어 있지 않은 경우에, 가상화 서버(100)는 가상 머신을 통해 셋톱박스(110) 대신에 웹 브라우저를 실행시키고, 웹 브라우저의 실행화면을 캡쳐하여 셋톱박스(110)로 전송해 줄 수 있다.
예를 들어, 가상화 서버(100)는 셋톱박스(110)로부터 웹앱 컨텐츠 요청이 들어오면, 웹브라우저를 대신 실행하고, 웹 영상 서버(120)로부터 웹앱 컨텐츠를 수신한 후에, 웹앱 컨텐츠를 트랜스코딩하여, 셋톱박스(110)로 전송할 수 있다.
가상화 서버(100)는 셋톱박스(110)에서 웹앱 컨텐츠가 실시간으로 재생되기 위해, 인기 있는 웹앱 컨텐츠의 영상을 미리 트랜스코딩해 둘 수 있다. 구체적으로, 가상화 서버(100)는 웹앱 컨텐츠의 영상 요청이 들어오기 전에, 여유있는 트랜스코더에게 해당 영상의 트랜스코딩 작업을 할당하고, 트랜스코딩된 영상을 스트리머(130)에 저장해둘 수 있다. 여기서, 스트리머(130)는 하드디스크드라이브, 자기 테이프 장치 등과 같은 저장 장치를 포함할 수 있다.
추후, 가상화 서버(100)는 셋톱박스(110)로부터 웹앱 컨텐츠의 요청이 들어오면, 해당 영상의 영상 변환 작업(트랜스코딩 작업)을 거치지 않고, 먼저, 스트리머(130) 내에 해당 영상에 대한 캐쉬 파일(트랜스코딩된 영상)이 저장되어 있는지 확인할 수 있다. 만일, 스트리머(130) 내에 해당 영상의 캐쉬 파일이 저장되어 있는 경우, 가상화 서버(100)는 해당 캐쉬 파일을 셋톱박스(110)에게 전송할 수 있다. 반면, 스트리머(130) 내에 해당 영상의 캐쉬 파일이 존재하지 않은 경우, 가상화 서버(100)는 트랜스코더를 통해, 실시간으로 해당 영상을 트랜스코딩하여, 셋톱박스(110)에게 전송할 수 있다.
셋톱박스(110)는 가상화 서버(100)에게 영상 컨텐츠를 요청하고, 가상화 서버(100)로부터 해당 영상 컨텐츠를 수신하여, 재생할 수 있다. 여기서, 영상 컨텐츠는 스트리머(130)에 저장된 캐쉬 파일일 수 있고, 실시간으로 트랜스코딩이 필요한 영상일 수도 있다.
일반적으로, 도 1의 웹앱 컨텐츠 제공 시스템의 각 구성요소들은 네트워크(140)를 통해 연결된다. 네트워크(140)는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(network)의 일례에는 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 3G, 4G 등이 포함되나 이에 한정되지는 않는다.
이하에서는 도 1의 웹앱 컨텐츠 제공 시스템의 각 구성요소의 동작에 대해 보다 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 가상화 서버(100)의 세부 구성도이다.
도 2를 참조하면, 가상화 서버(100)는 로딩부(200), 순서 배정부(210), 할당부(220) 및 저장부(230)를 포함할 수 있다. 다만, 도 2에 도시된 가상화 서버(100)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다.
로딩부(200)는 영상 캐쉬 스케쥴링을 위한 영상 리스트를 로딩할 수 있다. 여기서, 영상 리스트에는 셋톱박스(110)의 다수의 사용자가 즐겨찾는 웹앱 컨텐츠(예를 들어, 유투브의 최신 영상, 인기 영상 등)에 관한 영상 정보가 포함될 수 있다. 영상 리스트는 영상 ID, 영상의 생성 일시, 영상 크기, 영상의 선호도 및 변환 유무(영상 캐쉬의 생성 유무) 중 하나 이상을 포함할 수 있다.
또한, 로딩부(200)는 복수의 트랜스코더의 사용률 통계로부터 각 트랜스코더의 과거 이용률을 로딩(조회)할 수 있다.
순서 배정부(210)는 영상 리스트에 포함된 복수의 영상 각각에 대한 캐쉬 생성을 위해, 영상의 캐쉬 생성 순서를 배정할 수 있다.
구체적으로, 순서 배정부(210)는 영상의 생성 일시, 크기 및 선호도에 기초하여, 영상의 캐쉬 생성 순서를 결정할 수 있다.
할당부(220)는 각 트랜스코더의 현재 이용률, 최대 이용률 및 과거 이용률에 기초하여, 복수의 영상의 캐쉬 생성 순서에 따라 각 트랜스코더에게 영상 변환 작업을 할당할 수 있다. 여기서, 트랜스코더의 최대 이용률은 가상화 서버(100)의 운용자에 의해 기설정되어 있는 수치일 수 있다.
할당부(220)는 트랜스코더의 최대 이용률이 현재 이용률보다 큰 경우, 과거 이용률과 최대 이용률에 기초하여, 해당 트랜스코더에게 영상 변환 작업을 할당할 수 있다. 이 때, 트랜스코더의 과거 이용률이 최대 이용률보다 낮은 경우에는 영상의 캐쉬 생성을 위한 해당 트랜스코더의 사용이 적정 수준임을 의미할 수 있다. 이 경우, 할당부(220)는 최대 이용률과 현재 이용률간의 차이만큼의 영상 변환 작업을 트랜스코더에게 순차적으로 추가로 할당할 수 있다.
만일, 할당부(220)는 트랜스코더의 과거 이용률이 최대 이용률보다 높게 되면, 해당 트랜스코더에게 영상 변환 작업을 할당하지 않을 수 있다. 이유는 영상의 캐쉬 생성을 위한 영상 변환 작업에 의해 실시간성 작업(실시간으로 트랜스코딩 작업이 필요한 영상)이 영향을 받을 수 있기 때문이다.
할당부(220)는 트랜스코더의 최대 이용률을 초과한 전날 동 시간대의 과거 이용률의 초과 비율을 현재 이용률에 합산(즉, (과거 이용률 - 최대 이용률)+ 현재 이용률)하고, 합산한 값이 최대 이용률을 초과하는지 확인함으로써, 해당 트랜스코더에게 영상 변환 작업을 할당할지 여부를 결정할 수 있다.
만일, 초과할 경우, 할당부(220)는 초과한 비율만큼의 영상 변환 작업을 해당 트랜스코더에게 할당하지 않을 수 있다. 이유는, 해당 트랜스코더의 초과 비율을 최소화하기 위함일 수 있다.
만일, 초과하지 않은 경우, 할당부(220)는 해당 트랜스코더의 최대 이용률과 현재 이용률 간의 차(A) 와 해당 트랜스코더의 과거 이용률과 최대 이용률 간의 차(B)에서, A-B만큼의 영상 변환 작업을 해당 트랜스코더에게 추가로 할당할 수 있다.
저장부(230)는 변환된 영상을 스트리머(130) 내에 캐쉬 파일로 저장할 수 있다.
저장부(230)는 가상화 서버(100) 내부의 각 구성요소들 간에 입력 및 출력되는 데이터를 저장하고, 가상화 서버(100)와 가상화 서버(100) 외부의 구성요소들간에 입력 및 출력되는 데이터를 저장한다. 이러한 저장부(230)의 일 예에는 가상화 서버(100) 내부 또는 외부에 존재하는 하드디스크드라이브, ROM(Read Only Memory), RAM(Random Access Memory), 플래쉬메모리 및 메모리카드 등이 포함된다.
한편, 당업자라면, 로딩부(200), 순서 배정부(210), 할당부(220) 및 저장부(230) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다.
도 3은 본 발명의 일 실시예에 따른, 도 2에 도시된 가상화 서버(100)의 추가 구성도이다.
도 3을 참조하면, 가상화 서버(100)는 수신부(300), 검색부(310), 전송부(320), 트랜스코딩부(330) 및 비교부(340)를 더 포함할 수 있다. 다만, 도 3에 도시된 가상화 서버(100)는 본 발명의 하나의 구현 예에 불과하며, 도 3에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다.
수신부(300)는 셋톱박스(110)로부터 영상에 대한 요청을 수신할 수 있다.
검색부(310)는 셋톱박스(110)에 의해 요청된 영상의 캐쉬 파일이 존재하는지 저장부(230)에서 검색할 수 있다.
전송부(320)는 캐쉬 파일이 존재하는 경우, 캐쉬 파일을 셋톱박스(110)에게 전송할 수 있다.
트랜스코딩부(330)는 캐쉬 파일이 존재하지 않는 경우, 요청된 영상을 실시간으로 트랜스코딩할 수 있다. 이후, 전송부(320)는 트랜스코딩된 영상을 셋톱박스(110)에게 전송할 수 있다.
비교부(340)는 트랜스코더에게 영상 변환 작업을 추가로 할당할지 여부를 결정하기 위해, 해당 트랜스코더의 최대 이용률이 현재 이용률보다 큰지 비교할 수 있다.
만일, 비교부(340)는 트랜스코더의 최대 이용률이 현재 이용률보다 크다면, 최대 이용률이 과거 이용률보다 큰지 비교할 수 있다. 여기서, 과거 이용률과 최대 이용률을 비교하는 이유는 영상의 캐쉬 생성을 위한 작업을 최적화하고, 셋톱박스(110)에 의해 요청된 영상(즉, 해당 영상의 캐쉬 파일이 존재하지 않아, 트랜스코딩 해야 하는 영상들)을 실시간 트랜스코딩하는 작업을 우선적으로 처리하기 위함일 수 있다.
비교부(340)는 트랜스코더의 최대 이용률이 과거 이용률보다 작은 경우, 해당 트랜스코더의 최대 이용률과 현재 이용률 간의 차가, 해당 트랜스코더의 과거 이용률과 최대 이용률 간의 차보다 큰지 비교할 수 있다.
한편, 당업자라면, 수신부(300), 검색부(310), 전송부(320), 트랜스코딩부(330) 및 비교부(340) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다.
도 4는 본 발명의 일 실시예에 따른, 가상화 서버(100)에서 셋톱박스(110)로 웹앱 컨텐츠를 제공하는 방법을 설명하기 위한 동작 흐름도이다.
도 4를 참조하면, 단계 S401에서 가상화 서버(100)는 영상 캐쉬 스케쥴링을 위한 영상 리스트를 로딩할 수 있다. 여기서, 영상 리스트는, 각 영상의 ID, 생성 일시, 크기, 선호도 및 변환 유무 중 하나 이상을 포함할 수 있다.
단계 S402에서 가상화 서버(100)는 영상 리스트에 포함된 복수의 영상의 캐쉬 생성 순서를 배정할 수 있다. 여기서, 캐쉬 생성 순서는, 각 영상의 생성 일시, 크기 및 선호도에 기초하여 결정될 수 있다.
단계 S403에서 가상화 서버(100)는 복수의 트랜스코더의 사용률 통계로부터 각 트랜스코더의 과거 이용률을 로딩(조회)할 수 있다.
단계 S404에서 가상화 서버(100)는 복수의 트랜스코더 각각에 대해서, 최대 이용률이 현재 이용률보다 큰지 비교할 수 있다.
단계 S405에서 가상화 서버(100)는 트랜스코더의 최대 이용률이 현재 이용률보다 큰 경우, 해당 트랜스코더의 최대 이용률이 과거 이용률보다 큰지 비교할 수 있다.
단계 S406에서 가상화 서버(100)는 트랜스코더의 최대 이용률이 과거 이용률보다 큰 경우, 최대 이용률과 과거 이용률 간의 차만큼의 영상 변환 작업을 해당 트랜스코더에게 할당할 수 있다.
단계 S407에서 가상화 서버(100)는 트랜스코더의 최대 이용률이 과거 이용률보다 작은 경우, 해당 트랜스코더의 최대 이용률과 현재 이용률 간의 차가, 해당 트랜스코더의 과거 이용률과 최대 이용률 간의 차보다 큰지 비교할 수 있다.
단계 S408에서 가상화 서버(100)는 트랜스코더의 최대 이용률과 현재 이용률 간의 차(A)가 해당 트랜스코더의 과거 이용률과 최대 이용률 간의 차보다 큰 경우, 해당 트랜스코더에게 {(최대 이용률 - 현재 이용률) - (과거 이용률 - 최대 이용률)}만큼의 영상 변환 작업을 할당할 수 있다.
단계 S409에서 가상화 서버(100)는 트랜스코더에 의해 변환된 영상을 스트리머(130) 내에 캐쉬 파일로 저장할 수 있다.
도 5는 본 발명의 일 실시예에 따른, 가상화 서버(100)에서 셋톱박스(110)로 웹앱 컨텐츠를 제공하는 방법의 일예를 도시한 순서도이다.
도 5에 도시된 실시예에 따른 웹앱 컨텐츠 제공 방법은 도 1 내지 도 4에 도시된 실시예에 따른 가상화 서버(100), 셋톱박스(110), 웹 영상 서버(120), 및 스트리머(130)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 4의 가상화 서버(100), 셋톱박스(110), 웹 영상 서버(120), 및 스트리머(130)에 관하여 기술된 내용은 도 5에 도시된 실시예에 따른 웹앱 컨텐츠 제공 방법에도 적용될 수 있다.
도 5를 참조하면, 단계 S501에서 가상화 서버(100)는 영상 캐쉬 스케쥴링을 위한 영상 리스트를 로딩할 수 있다. 여기서, 영상 리스트는, 각 영상의 ID, 생성 일시, 크기, 선호도 및 변환 유무 중 하나 이상을 포함할 수 있다.
단계 S503에서 가상화 서버(100)는 영상 리스트에 포함된 복수의 영상의 캐쉬 생성 순서를 배정할 수 있다. 여기서, 캐쉬 생성 순서는, 각 영상의 생성 일시, 크기 및 선호도에 기초하여 결정될 수 있다.
단계 S505에서 가상화 서버(100)는 복수의 트랜스코더의 사용률 통계로부터 각 트랜스코더의 과거 이용률을 로딩할 수 있다.
단계 S507에서 가상화 서버(100)는 단계 S505에서 로딩된 각 트랜스코더의 현재 이용률, 최대 이용률 및 과거 이용률에 기초하여, 복수의 영상의 캐쉬 생성 순서에 따라 각 트랜스코더에게 영상 변환 작업을 할당할 수 있다.
단계 S509에서 가상화 서버(100)는 변환된 영상을 스트리머(130) 내에 캐쉬 파일로 저장할 수 있다.
도 5에는 도시되지 않았으나, 웹앱 컨텐츠 제공 방법은 단계(S509) 이후에, 셋톱박스(110)로부터 영상에 대한 요청을 수신하는 단계(미도시)를 더 포함할 수 있다.
도 5에는 도시되지 않았으나, 웹앱 컨텐츠 제공 방법은 단계(S509) 이후에, 셋톱박스(110)로부터 요청된 영상에 대한 캐쉬 파일이 존재하는지 검색하는 단계(미도시)를 더 포함할 수 있다.
도 5에는 도시되지 않았으나, 웹앱 컨텐츠 제공 방법은 단계(S509) 이후에, 셋톱박스(110)로부터 요청된 영상에 대한 캐쉬 파일이 존재하는 경우, 해당 캐쉬 파일을 셋톱박스(110)로 전송하는 단계(미도시)를 더 포함할 수 있다.
도 5에는 도시되지 않았으나, 웹앱 컨텐츠 제공 방법은 단계(S509) 이후에, 셋톱박스(110)로부터 요청된 영상에 대한 캐쉬 파일이 존재하지 않는 경우, 요청된 영상을 실시간 트랜스코딩하는 단계(미도시)를 더 포함할 수 있다.
도 5에는 도시되지 않았으나, 웹앱 컨텐츠 제공 방법은 단계(S509) 이후에, 트랜스코딩된 영상을 셋톱박스(110)로 전송하는 단계(미도시)를 더 포함할 수 있다.
도 5에는 도시되지 않았으나, 웹앱 컨텐츠 제공 방법은 단계(S507)에서, 트랜스코더의 최대 이용률이 현재 이용률보다 큰지 비교하는 단계(미도시)를 더 포함할 수 있다.
도 5에는 도시되지 않았으나, 웹앱 컨텐츠 제공 방법은 단계(S507)에서, 트랜스코더의 최대 이용률이 현재 이용률보다 큰 경우, 트랜스코더의 최대 이용률이 과거 이용률보다 큰지 비교하는 단계(미도시)를 더 포함할 수 있다.
도 5에는 도시되지 않았으나, 웹앱 컨텐츠 제공 방법은 단계(S507)에서, 트랜스코더의 최대 이용률이 과거 이용률보다 큰 경우, 최대 이용률과 과거 이용률 간의 차만큼의 영상 변환 작업을 해당 트랜스코더에게 할당하는 단계(미도시)를 더 포함할 수 있다.
도 5에는 도시되지 않았으나, 웹앱 컨텐츠 제공 방법은 단계(S507)에서, 트랜스코더의 최대 이용률이 과거 이용률보다 작은 경우, 해당 트랜스코더의 최대 이용률과 현재 이용률 간의 차(A)가, 해당 트랜스코더의 과거 이용률과 최대 이용률 간의 차(B)보다 큰지 비교하는 단계(미도시)를 더 포함할 수 있다.
도 5에는 도시되지 않았으나, 웹앱 컨텐츠 제공 방법은 단계(S507)에서, 트랜스코더의 최대 이용률과 현재 이용률 간의 차(A)가, 해당 트랜스코더의 과거 이용률과 최대 이용률 간의 차(B)보다 큰 경우, A와 B간의 차만큼의 영상 변환 작업을 해당 트랜스코더에게 할당하는 단계(미도시)를 더 포함할 수 있다.
상술한 설명에서, 단계 S501 내지 S509는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 가상화 서버
110: 셋톱박스

Claims (19)

  1. 가상화 서버에서 셋톱박스로 웹앱 컨텐츠를 제공하는 방법에 있어서,
    영상 캐쉬 스케쥴링을 위한 영상 리스트를 로딩하는 단계;
    상기 영상 리스트에 포함된 복수의 영상의 캐쉬 생성 순서를 배정하는 단계;
    복수의 트랜스코더의 사용률 통계로부터 각 트랜스코더의 과거 이용률을 로딩하는 단계;
    각 트랜스코더의 현재 이용률, 최대 이용률 및 과거 이용률에 기초하여, 상기 복수의 영상의 캐쉬 생성 순서에 따라 각 트랜스코더에게 영상 변환 작업을 할당하는 단계; 및
    변환된 영상을 스트리머 내에 캐쉬 파일로 저장하는 단계
    를 포함하고,
    상기 영상 리스트는 각 영상의 선호도를 포함하고,
    상기 복수의 영상의 캐쉬 생성 순서를 배정하는 단계는, 상기 영상 리스트에 포함된 각 영상의 선호도에 기초하여 캐쉬 생성 순서를 결정하는 것인, 웹앱 컨텐츠 제공 방법.
  2. 제 1 항에 있어서,
    상기 셋톱박스로부터 영상에 대한 요청을 수신하는 단계;
    상기 요청된 영상에 대한 캐쉬 파일이 존재하는지 검색하는 단계; 및
    상기 캐쉬 파일이 존재하는 경우, 상기 캐쉬 파일을 상기 셋톱박스로 전송하는 단계;
    를 더 포함하는, 웹앱 컨텐츠 제공 방법.
  3. 제 2 항에 있어서,
    상기 캐쉬 파일이 존재하지 않는 경우, 상기 요청된 영상을 실시간 트랜스코딩하는 단계; 및
    상기 트랜스코딩된 영상을 상기 셋톱박스로 전송하는 단계
    를 더 포함하는, 웹앱 컨텐츠 제공 방법.
  4. 삭제
  5. 삭제
  6. 제 1 항에 있어서,
    상기 영상 변환 작업을 할당하는 단계는,
    상기 최대 이용률이 상기 현재 이용률보다 큰지 비교하는 단계; 및
    상기 최대 이용률이 상기 과거 이용률보다 큰지 비교하는 단계
    를 포함하는 것인, 웹앱 컨텐츠 제공 방법.
  7. 제 1 항에 있어서,
    상기 영상 변환 작업을 할당하는 단계는,
    상기 최대 이용률과 상기 현재 이용률 간의 차가 상기 과거 이용률과 상기 최대 이용률 간의 차보다 큰지 비교하는 단계
    를 포함하는 것인, 웹앱 컨텐츠 제공 방법.
  8. 제 7 항에 있어서,
    상기 영상 변환 작업을 할당하는 단계는,
    상기 최대 이용률과 상기 현재 이용률 간의 차와 상기 과거 이용률과 상기 최대 이용률 간의 차간의 차만큼 상기 영상 변환 작업을 할당하는 것인, 웹앱 컨텐츠 제공 방법.
  9. 셋톱박스로 웹앱 컨텐츠를 제공하는 가상화 서버에 있어서,
    영상 캐쉬 스케쥴링을 위한 영상 리스트를 로딩하는 로딩부;
    상기 영상 리스트에 포함된 복수의 영상의 캐쉬 생성 순서를 배정하는 순서 배정부;
    각 트랜스코더의 현재 이용률, 최대 이용률 및 과거 이용률에 기초하여, 상기 복수의 영상의 캐쉬 생성 순서에 따라 각 트랜스코더에게 영상 변환 작업을 할당하는 할당부; 및
    변환된 영상을 스트리머 내에 캐쉬 파일로 저장하는 저장부
    를 포함하되,
    상기 로딩부는 복수의 트랜스코더의 사용률 통계로부터 각 트랜스코더의 과거 이용률을 로딩하고,
    상기 영상 리스트는 각 영상의 선호도를 포함하고,
    상기 순서 배정부는 상기 영상 리스트에 포함된 각 영상의 선호도에 기초하여 캐쉬 생성 순서를 결정하는 것인, 가상화 서버.
  10. 제 9 항에 있어서,
    상기 셋톱박스로부터 영상에 대한 요청을 수신하는 수신부;
    상기 요청된 영상에 대한 캐쉬 파일이 존재하는지 검색하는 검색부; 및
    상기 캐쉬 파일이 존재하는 경우, 상기 캐쉬 파일을 상기 셋톱박스로 전송하는 전송부;
    를 더 포함하는, 가상화 서버.
  11. 제 10 항에 있어서,
    상기 캐쉬 파일이 존재하지 않는 경우, 상기 요청된 영상을 실시간 트랜스코딩하는 트랜스코딩부를 더 포함하고,
    상기 전송부는 상기 트랜스코딩된 영상을 상기 셋톱박스로 전송하는 것인, 가상화 서버.
  12. 삭제
  13. 삭제
  14. 제 9 항에 있어서,
    상기 최대 이용률이 상기 현재 이용률보다 큰지 비교하는 비교부를 더 포함하고,
    상기 비교부는 상기 최대 이용률이 상기 과거 이용률보다 큰지 비교하는 것인, 가상화 서버.
  15. 제 14 항에 있어서,
    상기 비교부는 상기 최대 이용률과 상기 현재 이용률 간의 차가 상기 과거 이용률과 상기 최대 이용률 간의 차보다 큰지 비교하는 것인, 가상화 서버.
  16. 제 15 항에 있어서,
    상기 할당부는 상기 최대 이용률과 상기 현재 이용률 간의 차와 상기 과거 이용률과 상기 최대 이용률 간의 차간의 차만큼 상기 영상 변환 작업을 할당하는 것인, 가상화 서버.
  17. 웹앱 컨텐츠를 제공하는 시스템에 있어서,
    영상 캐쉬 스케쥴링을 위한 영상 리스트를 로딩하고, 상기 영상 리스트에 포함된 복수의 영상의 캐쉬 생성 순서를 배정하고, 복수의 트랜스코더의 사용률 통계로부터 각 트랜스코더의 과거 이용률을 로딩하고, 각 트랜스코더의 현재 이용률, 최대 이용률 및 과거 이용률에 기초하여, 상기 복수의 영상의 캐쉬 생성 순서에 따라 각 트랜스코더에게 영상 변환 작업을 할당하고, 변환된 영상을 스트리머 내에 캐쉬 파일로 저장하는 가상화 서버 및
    상기 가상화 서버에게 영상을 요청하고, 상기 가상화 서버로부터 요청한 영상을 수신하는 셋톱박스
    를 포함하되,
    상기 영상 리스트는 각 영상의 선호도를 포함하고,
    상기 가상화 서버는 상기 영상 리스트에 포함된 각 영상의 선호도에 기초하여 캐쉬 생성 순서를 결정하는 것인,시스템.
  18. 제 17 항에 있어서,
    상기 가상화 서버는 상기 요청된 영상에 대한 캐쉬 파일이 존재하는지 검색하고, 상기 캐쉬 파일이 존재하는 경우, 상기 캐쉬 파일을 상기 셋톱박스로 전송하는 것인, 시스템.
  19. 제 17 항에 있어서,
    상기 캐쉬 파일이 존재하지 않는 경우, 상기 요청된 영상을 실시간 트랜스코딩하고, 상기 트랜스코딩된 영상을 상기 셋톱박스로 전송하는 것인, 시스템.
KR1020150003470A 2015-01-09 2015-01-09 웹앱 컨텐츠를 제공하는 방법, 서버 및 시스템 KR101615138B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150003470A KR101615138B1 (ko) 2015-01-09 2015-01-09 웹앱 컨텐츠를 제공하는 방법, 서버 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150003470A KR101615138B1 (ko) 2015-01-09 2015-01-09 웹앱 컨텐츠를 제공하는 방법, 서버 및 시스템

Publications (1)

Publication Number Publication Date
KR101615138B1 true KR101615138B1 (ko) 2016-04-25

Family

ID=55918877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150003470A KR101615138B1 (ko) 2015-01-09 2015-01-09 웹앱 컨텐츠를 제공하는 방법, 서버 및 시스템

Country Status (1)

Country Link
KR (1) KR101615138B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190078684A (ko) * 2017-12-13 2019-07-05 한국과학기술원 라이브 스트리밍을 위한 프리패칭 기반 클라우드 중계 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030158913A1 (en) * 2002-02-15 2003-08-21 Agnoli Giovanni M. System, method, and computer program product for media publishing request processing
JP2013515320A (ja) * 2009-12-22 2013-05-02 トムソン ライセンシング 適応型ファイル処理を有する分散されたビデオトランスコードシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030158913A1 (en) * 2002-02-15 2003-08-21 Agnoli Giovanni M. System, method, and computer program product for media publishing request processing
JP2013515320A (ja) * 2009-12-22 2013-05-02 トムソン ライセンシング 適応型ファイル処理を有する分散されたビデオトランスコードシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190078684A (ko) * 2017-12-13 2019-07-05 한국과학기술원 라이브 스트리밍을 위한 프리패칭 기반 클라우드 중계 장치 및 방법
KR102010414B1 (ko) * 2017-12-13 2019-08-14 한국과학기술원 라이브 스트리밍을 위한 프리패칭 기반 클라우드 중계 장치 및 방법

Similar Documents

Publication Publication Date Title
US11310546B2 (en) Distributed multi-datacenter video packaging system
US10298969B2 (en) Architecture and method for high performance on demand video transcoding
US20230254357A1 (en) Fast encoding of live streaming media content
US9407944B1 (en) Resource allocation optimization for cloud-based video processing
US10069885B2 (en) Bandwidth management for over-the-top adaptive streaming
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
US11381885B2 (en) Method and device for managing processing of media content, and computer-readable recording medium
JP2010505330A (ja) パラレルユーザセッションをストリーミングするための方法、システム、およびコンピュータソフトウェア
US9923945B2 (en) Virtual assets for on-demand content generation
US20140189760A1 (en) Method and system for allocating wireless resources
US20190394528A1 (en) Bundling of Video Asset Variants in a Database for Video Delivery
KR20220133938A (ko) 원격 엘리먼트 리졸루션들의 클라이언트 기반 저장
US20140325023A1 (en) Size prediction in streaming enviroments
KR101615138B1 (ko) 웹앱 컨텐츠를 제공하는 방법, 서버 및 시스템
CN110602555B (zh) 视频转码方法及装置
US9229944B2 (en) Scalable networked digital video recordings via shard-based architecture
KR20190062815A (ko) 라이브 스트리밍 서버 장치 및 이의 운용 방법
KR102007669B1 (ko) 방송 수신기 및 이의 운용 방법
US10904309B1 (en) Managing storage and transmission data size in video packaging systems
KR101850696B1 (ko) 멀티미디어 콘텐츠의 다중분할 전송 방법 및 장치
US11638050B1 (en) Managing video encoders utilizing IoT-based communications
JP5580253B2 (ja) 呼接続装置およびその動作方法

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: 20190401

Year of fee payment: 4