KR102283903B1 - 모바일 엣지 클라우드 기반 미디어 서비스 방법 및 이를 지원하는 장치 - Google Patents

모바일 엣지 클라우드 기반 미디어 서비스 방법 및 이를 지원하는 장치 Download PDF

Info

Publication number
KR102283903B1
KR102283903B1 KR1020200175443A KR20200175443A KR102283903B1 KR 102283903 B1 KR102283903 B1 KR 102283903B1 KR 1020200175443 A KR1020200175443 A KR 1020200175443A KR 20200175443 A KR20200175443 A KR 20200175443A KR 102283903 B1 KR102283903 B1 KR 102283903B1
Authority
KR
South Korea
Prior art keywords
client
chunk
various embodiments
chunks
ran
Prior art date
Application number
KR1020200175443A
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 KR1020200175443A priority Critical patent/KR102283903B1/ko
Application granted granted Critical
Publication of KR102283903B1 publication Critical patent/KR102283903B1/ko

Links

Images

Classifications

    • 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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV
    • 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/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/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

다양한 실시예들은 모바일 엣지 클라우드 (mobile edge cloud, MEC) 기반 미디어 서비스 방법 및 이를 지원하는 장치에 대한 것이다.

Description

모바일 엣지 클라우드 기반 미디어 서비스 방법 및 이를 지원하는 장치 {METHOD FOR MEDIA SERVICE BASED ON MOBLE EDGE CLOUD AND APPARATUS SUPPORTING THE SAME}
다양한 실시예들은 모바일 엣지 클라우드 (mobile edge cloud, MEC) 기반 미디어 서비스 방법 및 이를 지원하는 장치에 대한 것이다.
디지털 기술 및 통신 기술의 발전으로 방송, 영화 뿐만 아니라 인터넷 및 개인 미디어 등의 다양한 영역에서 오디오/비디오 중심의 멀티미디어 컨텐츠 보급 및 수요가 급속도로 확대되고 있다. 나아가 방송 및 영화를 통하여 입체감을 제공하는 실감미디어에 대한 소비자 요구가 증가되고 있다. 또한, 디스플레이 기술의 발전과 더불어 스마트 디바이스에서 HD (High Definition)급, UHDTV (Ultra High Definition)급 이상의 고화질 컨텐츠, AR (augmented reality), VR (virtual reality) 등의 실감나는 컨텐츠를 즐기고자 하는 요구가 증가되고 있다.
D. Wu, J. Huang, J. He, M. Chen, and G. Zhang, "Toward Cost-Effective Mobile Video Streaming via Smart Cache With Adaptive Thresholding," IEEE Trans. on Broadcasting, 2015.
다양한 실시예들은, MEC 기반 미디어 서비스 방법 및 이를 지원하는 장치를 제공할 수 있다.
다양한 실시예들에서 이루고자 하는 기술적 과제들은 이상에서 언급한 사항들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 이하 설명할 다양한 실시예들로부터 당해 기술분야에서 통상의 지식을 가진 자에 의해 고려될 수 있다.
다양한 실시예들에 따르면, 미디어 서비스 시스템에서 동작하는 장치에 의하여 수행되는 방법이 제공될 수 있다.
다양한 실시예들에 따르면, 상기 방법은: 클라이언트로부터, 제1 청크 (chunk) 를 요청하는 정보를 수신; 서버로, (i) 상기 제1 청크를 요청하는 정보와, (ii) 제2 청크를 요청하는 정보를 송신; 상기 서버로부터, 상기 제1 청크와 상기 제2 청크를 포함하는 정보를 수신; 상기 클라이언트로, 상기 제1 청크를 포함하는 정보를 송신; 및 상기 제2 청크가 상기 장치에서 버퍼링되고 상기 클라이언트로부터 상기 제1 청크를 재요청하는 정보를 수신함에 기초하여, 상기 제2 청크의 적어도 일부를 포함하는 정보를 송신; 하는 것을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 제2 청크의 적어도 일부는, 상기 재요청된 제1 청크의 적어도 일부에 대응될 수 있다.
다양한 실시예들에 따르면, 상기 방법은: 상기 제2 청크가 상기 장치에서 버퍼링되지 않고 상기 클라이언트로부터 상기 제1 청크를 재요청하는 정보를 수신함에 기초하여, 상기 서버로 (i) 상기 제1 청크를 재요청하는 정보와, (ii) 제2 청크를 재요청하는 정보를 송신; 하는 것을 더 포함하는, 방법.
다양한 실시예들에 따르면, 상기 클라이언트는 상기 장치로부터 미디어 서비스를 제공 받는 상기 미디어 서비스 시스템 내의 모든 복수의 클라이언트들 중 인덱스 i 에 대응되는 클라이언트이고, i는 자연수이고, 상기 인덱스 i 에 대응되는 클라이언트를 위한 상기 제1 청크의 개수
Figure 112020136160878-pat00001
는,
Figure 112020136160878-pat00002
를 만족하는 값들 중
Figure 112020136160878-pat00003
의 값을 최소로 만드는 자연수로 결정되고,
Figure 112020136160878-pat00004
는 실수 a 와 실수 b 중 최소 값을 출력하는 함수이고,
Figure 112020136160878-pat00005
는 상기 인덱스 i 에 대응되는 클라이언트에게 제공되는 미디어 중 상기 인덱스 i 에 대응되는 클라이언트로부터 시청되지 않은 부분에 대응되는 청크의 개수이고,
Figure 112020136160878-pat00006
는 일정 시간 동안의 상기 인덱스 i 에 대응되는 클라이언트와 상기 장치 간의 채널 품질에 따라 결정되는 상기 인덱스 i 에 대응되는 클라이언트에게 제공 가능한 청크의 최대 개수고,
Figure 112020136160878-pat00007
는 상기 인덱스 i 에 대응되는 클라이언트를 위한 가중치이고,
Figure 112020136160878-pat00008
는 0 이상의 1 이하의 실수이고,
Figure 112020136160878-pat00009
Figure 112020136160878-pat00010
에 따라 결정되는 청크 낭비 확률 (chunk waste probability) 이고,
Figure 112020136160878-pat00011
Figure 112020136160878-pat00012
에 따라 결정되는 버퍼 기근 확률 (buffer starvation probability) 이고,
Figure 112020136160878-pat00013
Figure 112020136160878-pat00014
각각은 파레토 분포에 대응되는 파레토 CDF (cumulative distribution function) 에 기초하여 결정될 수 있다.
다양한 실시예들에 따르면, 상기 RB들의 개수
Figure 112020136160878-pat00015
와 상기 인덱스 i 에 대응되는 클라이언트를 위한 상기 제2 청크의 개수
Figure 112020136160878-pat00016
,
Figure 112020136160878-pat00017
,
Figure 112020136160878-pat00018
Figure 112020136160878-pat00019
를 만족하는 값들 중
Figure 112020136160878-pat00020
의 값을 최소로 만드는 자연수로 결정되고,
Figure 112020136160878-pat00021
는 상기 복수의 클라이언트들을 위하여 상기 장치에서 버퍼링되는 청크들의 총 개수이고,
Figure 112020136160878-pat00022
는 상기 장치에서 버퍼링되는 청크들 각각의 사이즈이고,
Figure 112020136160878-pat00023
은 상기 장치에 포함된 버퍼의 사이즈이고,
Figure 112020136160878-pat00024
는 상기 인덱스 i 에 대응되는 클라이언트에게 제공되는 미디어 중 상기 인덱스 i 에 대응되는 클라이언트로부터 시청되지 않은 부분에 대응되는 청크의 개수이고,
Figure 112020136160878-pat00025
는 상기 일정 시간 동안의 상기 인덱스 i 에 대응되는 클라이언트와 상기 장치 간의 채널 품질에 따라 결정되는 상기 인덱스 i 에 대응되는 클라이언트에게 제공 가능한 청크의 최대 개수고,
Figure 112020136160878-pat00026
는 상기 복수의 클라이언트들을 위하여 할당된 RB의 총 개수이고,
Figure 112020136160878-pat00027
는 상기 장치가 할당 가능한 RB의 최대 개수이고,
Figure 112020136160878-pat00028
은 상기 인덱스 i 에 대응되는 클라이언트를 위한 가중치이고,
Figure 112020136160878-pat00029
Figure 112020136160878-pat00030
에 따라 결정되는 버퍼 기근 확률이고,
Figure 112020136160878-pat00031
는 상기 파레토 CDF 에 기초하여 결정될 수 있다.
다양한 실시예들에 따르면, 상기 미디어 서비스 시스템은, 제1 TCP (transmission control protocol) 와 제2 TCP를 포함하는 스플릿-TCP (split-TCP) 에 기초하여 설정될 수 있다.
다양한 실시예들에 따르면, 상기 제1 TCP는, 상기 클라이언트와 상기 장치 간에 수립되는 무선 통신 네트워크에 기초할 수 있다.
다양한 실시예들에 따르면, 상기 제2 TCP는, 상기 장치와 상기 서버 간에 수립되는 유선 통신 네트워크에 기초할 수 있다.
다양한 실시예들에 따르면, 미디어 서비스 시스템에서 동작하는 장치가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 장치는: 메모리 (memory); 및 상기 메모리와 연결된 하나 이상의 프로세서 (processor) 를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 하나 이상의 프로세서는: 클라이언트로부터, 제1 청크 (chunk) 를 요청하는 정보를 수신; 서버로, (i) 상기 제1 청크를 요청하는 정보와, (ii) 제2 청크를 요청하는 정보를 송신; 상기 서버로부터, 상기 제1 청크와 상기 제2 청크를 포함하는 정보를 수신; 상기 클라이언트로, 상기 제1 청크를 포함하는 정보를 송신; 및 상기 제2 청크가 상기 장치에서 버퍼링되고 상기 클라이언트로부터 상기 제1 청크를 재요청하는 정보를 수신함에 기초하여, 상기 제2 청크의 적어도 일부를 포함하는 정보를 송신; 하도록 설정될 수 있다.
다양한 실시예들에 따르면, 상기 제2 청크의 적어도 일부는, 상기 재요청된 제1 청크의 적어도 일부에 대응될 수 있다.
다양한 실시예들에 따르면, 상기 하나 이상의 프로세서는: 상기 제2 청크가 상기 장치에서 버퍼링되지 않고 상기 클라이언트로부터 상기 제1 청크를 재요청하는 정보를 수신함에 기초하여, 상기 서버로 (i) 상기 제1 청크를 재요청하는 정보와, (ii) 제2 청크를 재요청하는 정보를 송신; 하도록 설정될 수 있다.
다양한 실시예들에 따르면, 상기 클라이언트는 상기 장치로부터 미디어 서비스를 제공 받는 상기 미디어 서비스 시스템 내의 모든 복수의 클라이언트들 중 인덱스 i 에 대응되는 클라이언트이고, i는 자연수이고, 상기 인덱스 i 에 대응되는 클라이언트를 위한 상기 제1 청크의 개수
Figure 112020136160878-pat00032
는,
Figure 112020136160878-pat00033
를 만족하는 값들 중
Figure 112020136160878-pat00034
의 값을 최소로 만드는 자연수로 결정되고,
Figure 112020136160878-pat00035
는 실수 a 와 실수 b 중 최소 값을 출력하는 함수이고,
Figure 112020136160878-pat00036
는 상기 인덱스 i 에 대응되는 클라이언트에게 제공되는 미디어 중 상기 인덱스 i 에 대응되는 클라이언트로부터 시청되지 않은 부분에 대응되는 청크의 개수이고,
Figure 112020136160878-pat00037
는 일정 시간 동안의 상기 인덱스 i 에 대응되는 클라이언트와 상기 장치 간의 채널 품질에 따라 결정되는 상기 인덱스 i 에 대응되는 클라이언트에게 제공 가능한 청크의 최대 개수고,
Figure 112020136160878-pat00038
는 상기 인덱스 i 에 대응되는 클라이언트를 위한 가중치이고,
Figure 112020136160878-pat00039
는 0 이상의 1 이하의 실수이고,
Figure 112020136160878-pat00040
Figure 112020136160878-pat00041
에 따라 결정되는 청크 낭비 확률 (chunk waste probability) 이고,
Figure 112020136160878-pat00042
Figure 112020136160878-pat00043
에 따라 결정되는 버퍼 기근 확률 (buffer starvation probability) 이고,
Figure 112020136160878-pat00044
Figure 112020136160878-pat00045
각각은 파레토 분포에 대응되는 파레토 CDF (cumulative distribution function) 에 기초하여 결정될 수 있다.
다양한 실시예들에 따르면, 상기 RB들의 개수
Figure 112020136160878-pat00046
와 상기 인덱스 i 에 대응되는 클라이언트를 위한 상기 제2 청크의 개수
Figure 112020136160878-pat00047
,
Figure 112020136160878-pat00048
,
Figure 112020136160878-pat00049
Figure 112020136160878-pat00050
를 만족하는 값들 중
Figure 112020136160878-pat00051
의 값을 최소로 만드는 자연수로 결정되고,
Figure 112020136160878-pat00052
는 상기 복수의 클라이언트들을 위하여 상기 장치에서 버퍼링되는 청크들의 총 개수이고,
Figure 112020136160878-pat00053
는 상기 장치에서 버퍼링되는 청크들 각각의 사이즈이고,
Figure 112020136160878-pat00054
은 상기 장치에 포함된 버퍼의 사이즈이고,
Figure 112020136160878-pat00055
는 상기 인덱스 i 에 대응되는 클라이언트에게 제공되는 미디어 중 상기 인덱스 i 에 대응되는 클라이언트로부터 시청되지 않은 부분에 대응되는 청크의 개수이고,
Figure 112020136160878-pat00056
는 상기 일정 시간 동안의 상기 인덱스 i 에 대응되는 클라이언트와 상기 장치 간의 채널 품질에 따라 결정되는 상기 인덱스 i 에 대응되는 클라이언트에게 제공 가능한 청크의 최대 개수고,
Figure 112020136160878-pat00057
는 상기 복수의 클라이언트들을 위하여 할당된 RB의 총 개수이고,
Figure 112020136160878-pat00058
는 상기 장치가 할당 가능한 RB의 최대 개수이고,
Figure 112020136160878-pat00059
은 상기 인덱스 i 에 대응되는 클라이언트를 위한 가중치이고,
Figure 112020136160878-pat00060
Figure 112020136160878-pat00061
에 따라 결정되는 버퍼 기근 확률이고,
Figure 112020136160878-pat00062
는 상기 파레토 CDF 에 기초하여 결정될 수 있다.
다양한 실시예들에 따르면, 상기 미디어 서비스 시스템은, 제1 TCP (transmission control protocol) 와 제2 TCP를 포함하는 스플릿-TCP (split-TCP) 에 기초하여 설정될 수 있다.
다양한 실시예들에 따르면, 상기 제1 TCP는, 상기 클라이언트와 상기 장치 간에 수립되는 무선 통신 네트워크에 기초할 수 있다.
다양한 실시예들에 따르면, 상기 제2 TCP는, 상기 장치와 상기 서버 간에 수립되는 유선 통신 네트워크에 기초할 수 있다.
상술한 다양한 실시예들은 다양한 실시예들 중 일부에 불과하며, 다양한 실시예들의 기술적 특징들이 반영된 여러 가지 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 상세한 설명을 기반으로 도출되고 이해될 수 있다.
다양한 실시예들에 따르면, MEC 기반 미디어 서비스 방법 및 이를 지원하는 장치가 제공될 수 있다.
다양한 실시예들에 따르면, 클라이언트에게 끊김없는 미디어 서비스가 제공될 수 있다.
다양한 실시예들에 따르면, 에너지 소비가 감소되고 청크 낭비 또한 감소될 수 있다.
다양한 실시예들로부터 얻을 수 있는 효과들은 이상에서 언급된 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 이하의 상세한 설명을 기반으로 당해 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다.
다양한 실시예들에 대한 이해를 돕기 위해 상세한 설명의 일부로 포함된, 첨부 도면은 다양한 실시예들을 제공하고, 상세한 설명과 함께 다양한 실시예들의 기술적 특징을 설명한다.
도 1은 다양한 실시예들이 적용 가능한 데이터 플로우의 일 예이다.
도 2는 다양한 실시예들이 적용 가능한 스플릿-TCP (split-TCP) 의 일 예이다.
도 3a 및 도 3b는 다양한 실시예들이 적용 가능한 비디오 스트리밍과 관련된 실험 예이다.
도 4는 다양한 실시예들이 적용 가능한 비디오 플레이어 어플리케이션의 설정 예이다.
도 5a 내지 도 5c는 다양한 실시예들이 적용 가능한 미디어 서비스 시스템을 나타낸 도면이다.
도 6은 다양한 실시예들에 따른 네트워크 노드들의 동작 방법을 나타낸 도면이다.
도 7은 비디오 시청 시간에 대한 누적 분포 함수(cumulative distribution function, CDF)를 나타낸다.
도 8은 청크 낭비 확률(chunk waste probability, chunk waste prob.)을 나타낸다.
도 9은 버퍼 기근 (buffer starvation) 확률에 대하여 설명하기 위한 것이다.
도 10은 다양한 실시예들에 따른 RAN을 위한 청크의 양 및 클라이언트에 대한 RB할당 양을 결정하는 방법의 일 예를 나타낸 도면이다.
도 11은 다양한 실시예들에 따른 네트워크 노드들의 동작 방법을 나타낸 도면이다.
도 12는 다양한 실시예들에 따른 클라이언트, RAN, 서버의 역할을 수행하는 장치의 구성을 도시한 도면이다.
이하의 실시예들은 다양한 실시예들의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 다양한 실시예들을 구성할 수도 있다. 다양한 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.
도면에 대한 설명에서, 다양한 실시예들의 요지를 흐릴 수 있는 절차 또는 단계 등은 기술하지 않았으며, 당해 기술분야에서 통상의 지식을 가진 자의 수준에서 이해할 수 있을 정도의 절차 또는 단계는 또한 기술하지 아니하였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 다양한 실시예들을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
이하, 다양한 실시예들에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 다양한 실시예들의 예시적인 실시형태를 설명하고자 하는 것이며, 유일한 실시형태를 나타내고자 하는 것이 아니다.
또한, 다양한 실시예들에서 사용되는 특정(特定) 용어들은 다양한 실시예들의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 다양한 실시예들의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
다양한 실시예들은 IEEE 802.xx 시스템, 3GPP(3rd Generation Partnership Project) 시스템, 3GPP LTE 시스템, 3GPP 5G NR 시스템 및 3GPP2 시스템, DVB (Digital Video Broadcasting) 시스템, ATSC (Advanced Television Systems Committee) 시스템 중 적어도 하나에 개시된 표준 문서들에 의해 뒷받침될 수 있다.
도 1은 다양한 실시예들이 적용 가능한 데이터 플로우의 일 예이다.
PDCP (Packet Data Convergence Protocol)는 무선 인터페이스상으로 전송되는 비트 수를 줄이기 위해 IP 헤더 압축을 수행할 수 있다. 헤더 압축 방식은 ROHC(Robust Header Compression) 에 기초할 수 있다. PDCP는 그 외에도 전송 데이터에 대한 암호화(ciphering)와 순결성 (integrity) 보호 역할을 할 수도 있다. 수신단에서의 PDCP 프로토콜은 이에 대응되는 암호 해독(deciphering) 및 압축을 푸는 과정을 수행한다. 단말에 구성된 SAE 베어러 별로 하나의 PDCP 엔티티가 있다.
RLC (Radio Link Control)는 분할/연접 (segmentation/concatenation), 재전송 관리 및 데이터를 상위 계층으로 순서에 맞춰 전송하는 역할을 맡고 있다. RLC는 무선 베어러의 형태로 PDCP에 대하여 서비스를 제공할 수 있다.
MAC (Medium Access Control)은 HARQ 재전송 및 상향링크와 하향링크 스케줄링을 다룬다. 스케줄링 기능은 기지국이 담당한다. 기지국에는 상향링크와 하향링크를 위하여 셀 당 하나의 MAC 엔티티가 있을 수 있다. HARQ (hybrid automatic repeat request) 프로토콜 부분은 MAC 프로토콜의 송신단 및 수신단 양쪽에 모두 존재한다. MAC은 논리채널(logical channel)의 형태로 RLC에 대하여 서비스를 제공한다.
HARQ 엔티티는 다중 병렬 (multiple parallel) stop-and-wait 프로세스를 사용한다. 전송블록을 수신하면 수신기는 전송블록에 대한 디코딩을 수행하며 이러한 디코딩 과정이 성공적이었는지 아니면 전송블록에 대한 재전송이 필요한지에 대한 여부를 알려주는 1 비트의 acknowledgement를 통하여 송신기에 디코딩 결과를 알려준다. 수신기는 수신된 acknowledgement 이 어떤 HARQ 프로세스와 연관되어 있는지를 특정 HARQ 프로세스와 연관된 acknowledgement의 타이밍을 통하여 알 수 있다.
TCP (transmission control protocol)는 신뢰할 수 없는 무선 네트워크 (unreliable wireless networks)에서 성능이 매우 떨어질 수 있다. 페이딩, 섀도잉, 간섭 및 전파 손실과 같은 다양한 장애로 인해 무선 채널에서는 오류가 발생되기 쉽다. 이러한 효과들은 TCP 와 같은 전송 레이어 프로토콜에 영향을 미치고, 성능 저하를 유리할 수 있다. 동적 TCP 흐름 제어는 혼잡 이벤트에 민감하며 사용 가능한 네트워크 용량을 충분히 활용하지 못하는 경향이 있다.
도 2는 다양한 실시예들이 적용 가능한 스플릿-TCP (split-TCP) 의 일 예이다.
TCP 처리량은 source-destination RTT (round trip time) 과 패킷 손실률의 영향을 받는다. 서버와 사용자 간의 거리와 패킷 손실률은 TCP 처리에 대한 병목 요인이 된다.
스플릿-TCP는, 종단 간 (end-to-end) RTT (RTTe2e) 를 여러 네트워크 세그먼트로 분할하고 원인이 되는 네트워크 세그먼트에 패킷 손실 이벤트를 격리하여 TCP 처리량 성능을 향상시킬 수 있는 메커니즘이다. 도 2 를 참조하면, TCPRAN은 모바일 호스트 (mobile host, MH) 와 스플릿-TCP 호스트 간의 연결이고, TCPWAN은 원거리 호스트 (far host, FH) 와 스플릿-TCH 호스트 간의 연결이다.
스플릿-TCP는, 지연 RTTe2e 와 종단 간 패킷 손실률 (Pe2e) 로 특정되는 종단 간 TCP 연결 (TCPe2e connection) 을 두 개의 독립적인 TCP 연결로 분리한다:
- (1) TCPRAN: RAN(radio access network) 내의 TCP 연결. TCPRAN에 대응되는 RTT 지연 (RTTRAN) 과 패킷 손실률 (PRAN) 를 가짐.
- (2) TCPWAN : WAN (wide area network) 내의 TCP 연결. TCPWAN 에 대응되는 RTT 지연 (RTTWAN) 과 패킷 손실률 (PWAN) 를 가짐.
스플릿-TCP 에 의하면 패킷 손실 발생을 유발하는 네트워크 세그먼트에 패킷 손실을 격리시킬 수 있다. 스플릿-TCP를 통한 이득은 네트워크 내의 스플릿 포인트에 의존할 수 있으며, 스플릿-TCP를 통한 이득은 아래 수학식 1 을 참조할 수 있다. (TP ; Throughput, ETP ; Effective Throughput)
[수학식 1]
Figure 112020136160878-pat00063
도 3a 및 도 3b는 다양한 실시예들이 적용 가능한 비디오 스트리밍과 관련된 실험 예이다.
캐시 임계값 (cache threshold)은 사용자의 QoE (quality of experience) 와 무선 자원 낭비 (wastage of radio resource) 에 영향을 줄 수 있다. 캐시 임계값 설정은 미사용 콘텐츠 비용과 사용자 QoE 에 영향을 미칠 수 있다. 적응적 비디오 스트리밍 서비스 (adaptive video streaming service)에서, 버퍼된 데이터에 따라 QoE 와 무선 자원 낭비 간의 트레이드-오프가 발생될 수 있다. 모바일 사용자는 PC (personal computer) 사용자에 비하여 비디오를 보는 동안 이를 더 자주 중단하는 경향이 있어, 버퍼에서 사용되지 않은 비디오 데이터가 낭비될 수 있다. 버퍼의 프레시 컨텐츠 (fresh content) 가 모두 소진되면, 비디오 플레이어는 프리징 상태 (freezing state) 에 들어갈 수 있다.
따라서, 무선 자원 낭비 및 미사용 콘텐츠 비용을 최소화 하면서, 사용자 QoE 를 개선할 수 있도록 캐시 임계값을 설정하는 것이 필요하다. 사용자 QoE 를 나타내는 파라미터의 일 예로 동결 기간 (freezing duration) 을 들 수 있다. 도 3a 및/또는 도 3b의 동결 기간은 전체 비디오 스트리밍 프로세스에서 누적된 동결 기간을 의미할 수 있다.
캐시 매니지먼트를 위하여, 두 개의 임계값이 사용될 수 있다:
- (1) 높은 임계값 (high threshold) : 비디오 캐시를 위하여 할당된 메모리 공간의 최대 사이즈에 대응
- (2) 낮은 임계값 (low threshold) : 플레이백 프리징을 회피하기 위하여 캐시 내 프레시 컨텐츠의 최소 양에 대응
도 3a를 참조하면, 높은 임계값이 증가되는 경우, 동결 기간을 감소시키나 이득이 감소될 수 있으며, 낭비되는 컨텐츠의 양이 대체로 선형적으로 증가될 수 있다. 이를 고려하면, 일정 임계값 이상으로 큰 높은 임계값을 설정하는 것은 바람직하지 않을 수 있다.
도 3b를 참조하면, 낮은 임계값이 증가되는 경우, 적어도 일정 구간 내 (64KB-512KB)에서는 컨텐츠 비용과 동결 기간이 동시에 감소하는 구간이 발생될 수 있으며, 이 경우에는 컨텐츠 비용과 동결 기간 간에 절충이 마련될 수 있다. 그러나, 낮은 임계값이 1MB 를 넘어가는 경우에는 해당 효과가 감소될 수 있다.
도 4는 다양한 실시예들이 적용 가능한 비디오 플레이어 어플리케이션의 설정 예이다.
도 4 를 참조하면, 다양한 실시예들이 적용 가능한 비디오 플레이어 어플리케이션은 VideoPlayerConfig 에 기초하여 설정될 수 있다. VideoPlayerConfig는 아래 파라미터 중 하나 이상을 포함할 수 있다:
(1) MIN_BUFFER_DURATION : 플레이 동안 버퍼를 원하는 최소 비디오 유저 수
(2) MAX_BUFFER_DURATION : 플레이백 동안 버퍼를 원하는 최대 비디오 유저 수
(3) MIN_PLAYBACK_START_BUFFER : 플레이를 시작하기 전 버퍼를 원하는 최소 비디오 유저 수
(4) MIN_PLAYBACK_RESUME_BUFFER : 사용자가 비디오를 재개 (resume) 할 때 버퍼를 원하는 최소 비디오 유저 수
상기 파라미터에 대한 설정은 동적 (dynamic) 으로 이루어질 수 있다. 즉, 상기 파라미터의 값은 동적으로 변경될 수 있다.
이하에서는, 상기와 같은 기술적 사상에 기초하여 다양한 실시예들에 대해 보다 상세히 설명한다. 이하에서 설명되는 다양한 실시예들은 상호 배척되지 않는 한 전부 또는 일부가 결합되어 또 다른 다양한 실시예들을 구성할 수도 있으며, 이는 당해 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있다.
이하에서 설명되는 다양한 실시예들에 대해서는 앞서 설명한 내용들이 적용될 수 있다. 예를 들어, 이하에서 설명되는 다양한 실시예들에서 정의되지 않은 동작, 기능, 용어 등은 앞서 설명한 내용들에 기초하여 수행되고 설명될 수 있다.
특별히 달리 언급되지 않은 한, 다양한 실시예들에 대한 설명에서, A/B/C는 A 및/또는 B 및/또는 C 를 의미할 수 있다.
특별히 달리 언급되지 않은 한, 다양한 실시예들에 대한 설명에서, A 초과/이상인 것은 A 이상/초과인 것으로 대체될 수 있다.
특별히 달리 언급되지 않은 한, 다양한 실시예들에 대한 설명에서, B 미만/이하인 것은 B 이하/미만인 것으로 대체될 수 있다.
특별히 달리 언급되지 않은 한, 다양한 실시예들에 대한 설명에서 청크/RB의 양은 청크/RB의 개수로 대체될 수 있다.
이하에서는 다양한 실시예들에 대해 상세히 설명한다. 이하에서 설명되는 다양한 실시예들은 상호 배척되지 않는 한 전부 또는 일부가 결합되어 또 다른 다양한 실시예들을 구성할 수도 있으며, 이는 당해 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있다.
다양한 실시예들은 5G (fifth generation) 를 지원하는 및/또는 5G 이후 세대 통신 기술을 지원하는 네트워크 환경에서 미디어 서비스를 제공하는 시스템과 관련될 수 있다. 예를 들어, 미디어 서비스는 점진적 다운로드 (progressive download) 서비스, 스트리밍 서비스, HTTP (hypertext transfer protocol) 유사-스트리밍 (pseudo-streaming) 서비스, 적응적 (adaptive) HTTP 스트리밍 서비스 등이 있으며, 문자, 그림, 소리, 애니메이션, 동영상 등 뿐만 아니라 VR (virtual reality), AR (augmented reality) 등과 관련된 서비스일 수 있다.
다양한 실시예들에 따르면, 클라이언트와 RAN(radio access network. 예를 들어, MEC) 간에 적응적 버퍼링이 수행될 수 있다. 다양한 실시예들에 따르면, 끊김없는 미디어 서비스가 제공될 수 있도록 RAN의 스토리지와 컴퓨터 자원이 활용될 수 있으며, RAN상에 클라이언트가 시청 중인 컨텐츠의 청크가 버퍼링될 수 있다. 다양한 실시예들에 따르면, RAN의 버퍼링 기능으로부터 클라이언트에게 끊김없는 미디어 서비스가 제공될 수 있으며, 동시에 일정 값 이하로 작은 양의 청크가 버퍼링됨으로써 에너지 소비 뿐만 아니라 시청 중단으로 낭비되는 청크의 양 또한 감소시킬 수 있다.
다양한 실시예들에 따르면, 클라이언트는 외부 장치와 통신할 수 있는 통신 모듈을 포함하는 다양한 형태의 장치로 구현될 수 있다. 예를 들어, 클라이언트는 디지털 카메라, 단말, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 PC, 전자북 단말기, 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
다양한 실시예들에 따르면, 단말은 사용자 기기(UE: User Equipment), 이동국(MS: Mobile Station), 가입자 단말(SS: Subscriber Station), 이동 가입자 단말(MSS: Mobile Subscriber Station), 이동 단말(Mobile Terminal) 또는 발전된 이동단말(AMS: Advanced Mobile Station) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
다양한 실시예들에 따르면, 클라이언트는 사용자에 의해 착용될 수 있는 장치(wearable device)일 수 있다. 웨어러블 디바이스는 액세서리 형 장치(예컨대, 시계, 반지, 팔목 밴드, 발목 밴드, 목걸이, 안경, 콘택트 렌즈), 머리 착용형 장치(Head Mounted Display Device, HMD), 직물 또는 의류 일체형 장치(예: 전자 의복), 신체 부착형 장치(예컨대, 스킨 패드(skin pad)), 또는 생체 이식형 장치(예: implantable circuit) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
다양한 실시예들에 따르면, RAN는 단말에 대한 사용자 평면 프로토콜들 및 제어 평면 프로토콜들 종단을 제공하는 기지국들로 구성된다. 다양한 실시예들에 따르면, 기지국을 포함하는 다수의 네트워크 노드들(network nodes)로 이루어지는 네트워크에서 단말과의 통신을 위해 수행되는 다양한 동작들은 기지국 또는 기지국 이외의 다른 네트워크 노드들에 의해 수행될 수 있다. 이때, '기지국'은 고정국(fixed station), Node B, eNode B(eNB), gNode B(gNB), 발전된 기지국(ABS: Advanced Base Station) 또는 억세스 포인트(access point) 등의 용어에 의해 대체될 수 있다. 다양한 실시예들에 따르면, RAN은 상위 노드 (예를 들어, CN (core network, EPC (evolved packet core)) 와 연결될 수 있으며, 상위 노드는 미디어 클라우드와 연결될 수 있다. 다양한 실시예들에 따르면, RAN또는 미디어 클라우드 중 하나 이상은 MEC (mobile edge computing/cloud) 에 기초할 수 있다.
다양한 실시예들에 따르면, 미디어 클라우드는 클라이언트의 요청에 따라 클라이언트에게 미디어/비디오 서비스를 제공할 수 있다. 다양한 실시예들에 따르면, 미디어 클라우드는 서버로 대체될 수 있다. 다양한 실시예들에 따르면, 서버는 네트워크를 통하여 전자 장치와 연결됨으로써, 전자 장치와 데이터를 송수신할 수 있는 기타 컴퓨팅 장치를 포함할 수 있다. 다양한 실시예들에 따르면, 서버 장치는 웨어러블 디바이스를 관리하기 위한 W-BMS(Wearable Business Management Server)일 수 있다. 다양한 실시예들에 따르면, 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하고, 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다.
도 5a 내지 도 5b는 다양한 실시예들에 따른 미디어 서비스 시스템을 나타낸 도면이다.
도 5a를 참조하면, 다양한 실시예들에 따르면, 미디어 서비스 시스템은 다수의 클라이언트들, RAN(클라우드), EPC (클라우드) (및/또는 코어 네트워크), 미디어 클라우드를 포함할 수 있다. 다양한 실시예들에 따르면, 다수의 클라이언트들은 안테나 유닛 (antenna unit, AU) 을 통하여 RAN과 프론트홀을 구성하고, RAN과 (저-지연 (low latency)) 통신을 수행할 수 있다. 다양한 실시예들에 따르면, 다수의 클라이언트들 각각에는 버퍼가 포함될 수 있다. 다양한 실시예들에 따르면, 다수의 클라이언트들 각각에 제공/서비스되는 미디어 정보에 대응되는 하나 이상의 청크가 다수의 클라이언트들 각각의 버퍼에 저장/버퍼링될 수 있다. 다양한 실시예들에 따르면, 다수의 클라이언트들 각각은, 각 버퍼에 저장/버퍼링된 하나 이상의 청크에 기초하여 플레이백을 수행하여 미디어를 실행/플레이할 수 있다.
다양한 실시예들에 따르면, RAN은 무선 인터페이스를 통하여 다수의 클라이언트들에게 서비스를 제공할 수 있다. 다양한 실시예들에 따르면, RAN과 다수의 클라이언트들 간의 신호 송수신은 물리 자원 (예를 들어, 시간 자원, 주파수 자원, RB등) 을 통하여 수행될 수 있다. 다양한 실시예들에 따르면, RAN은 다수의 클라이언트들에게 물리 자원을 할당하는 스케쥴러의 역할을 수행할 수 있다. 다양한 실시예들에 따르면, RAN은 다수의 클라이언트들 각각을 위한 청크를 버퍼에 저장할 수 있다.
다양한 실시예들에 따르면, EPC는 RAN과 백홀을 구성하고, RAN과 유선 인터페이스 (예를 들어, 광케이블 등을 통한 물리적 연결) 을 통하여 통신을 수행할 수 있다.
다양한 실시예들에 따르면, 미디어 클라우드는 EPC 과 유선 인터페이스 (예를 들어, 광케이블 등을 통한 물리적 연결) 을 통하여 통신을 수행할 수 있다. 다양한 실시예들에 따르면, 미디어 클라우드는 서비스될 미디어를 생성/제공할 수 있다. 다양한 실시예들에 따르면, 미디어 클라우드에서 생성/제공된 미디어는 EPC -> RAN-> AU -> clients 순서로 전달되어, 클라이언트들에게 제공될 수 있다.
도 5b를 참조하면, 다양한 실시예들에 따르면, 미디어 서비스 시스템은 2 개의 TCP 로 구성되는 스플릿-TCP 로 구성될 수 있다. 다양한 실시예들에 따르면, 2 개의 TCP는 각각 클라이언트-RAN간 TCP 와 RAN-미디어 클라우드 간 TCP 일 수 있다.
다양한 실시예들에 따르면, 클라이언트-RAN간 TCP는 클라이언트에 포함된 논리 계층 (logical layer) 과 RAN에 포함된 논리 계층 간에 무선 통신에 기초하여 정보 교환이 수행되는 것과 관련될 수 있다. 예를 들어, 클라이언트에 포함된 어플리케이션 계층, TCP 계층, IP (internet protocol) 계층, PDCP 계층, RLC 계층, MAC 계층, 물리 계층 중 하나 이상과 RAN에 포함된 어플리케이션 계층, TCP 계층, IP 계층, PDCP 계층, RLC 계층, MAC 계층, 물리 계층 중 하나 이상 간에는 RF (radio frequency) 를 이용한 무선 통신에 기초하여 정보 교환이 수행될 수 있다. 예를 들어, 클라이언트-RAN간의 무선 통신에 기초한 정보 교환은 AU (및/또는 AU 에 포함된 물리 계층) 을 거쳐 수행될 수도 있다.
다양한 실시예들에 따르면, RAN-미디어 클라우드 간 TCP는 RAN에 포함된 논리 계층과 미디어 클라우드에 포함된 논리 계층 간에 유선 통신 에 기초하여 정보 교환이 수행되는 것과 관련될 수 있다. 예를 들어, RAN에 포함된 어플리케이션 계층, TCP 계층, IP 계층, PDCP 계층, RLC 계층, MAC 계층, 물리 계층 중 하나 이상과 미디어 클라우드에 포함된 어플리케이션 계층, TCP 계층, MAC 계층, 물리 계층 중 하나 이상 간에는 유선 통신에 기초하여 정보 교환이 수행될 수 있다.
도 5c를 참조하면, 다양한 실시예들에 따르면, 클라이언트와 RAN간의 무선 인터페이스 프로토콜은 3GPP 표준에 따른 무선 인터페이스 프로토콜일 수 있다.
다양한 실시예들에 따르면, 물리 계층은 물리 채널을 이용하여 상위 계층에게 정보 송신 서비스를 제공할 수 있다. 예를 들어, 물리 계층은 상위에 있는 MAC 계층과는 송신 채널을 통해 연결될 수 있다. 예를 들어, 송신 채널을 통해 MAC 계층과 물리 계층 사이에 데이터가 이동할 수 있다. 예를 들어, 클라이언트 측과 RAN측의 물리 계층 사이는 시간과 주파수를 포함하는 무선 자원인 물리 채널을 통해 데이터가 이동할 수 있다.
다양한 실시예들에 따르면, MAC 계층은 논리 채널을 통해 상위계층인 RLC 계층에 서비스를 제공할 수 있다.
다양한 실시예들에 따르면, PDCP 계층은 IP 패킷을 효율적으로 송신하기 위해 불필요한 제어정보를 줄여주는 헤더 압축(Header Compression) 기능을 수행할 수 있다.
다양한 실시예들에 따르면, RRC (radio resource control) 계층은 무선베어러들의 설정, 재설정 및 해제와 관련되어 논리채널, 송신채널 및 물리채널들의 제어를 담당할 수 있다. 다양한 실시예들에 따르면, 클라이언트와 RAN의 RRC 계층은 서로 RRC 메시지를 교환할 수 있다.
다양한 실시예들에 따르면, 클라이언트 (예를 들어, 스마트 디바이스) 에는 제공되는 미디어를 실행하기 위한 비디오 플레이어, 자신의 버퍼를 제어하기 위한 버퍼 제어 유닛, RAN과의 네트워크 상태를 모니터링 하기 위한 네트워크 모니터링 유닛, 포워딩 엔진 등이 구현될 수 있다.
다양한 실시예들에 따르면, RAN에는 클라이언트에 자원을 할당하기 위한 자원 할당기, 클라이언트와의 네트워크 상태를 모니터링 하기 위한 네트워크 모니터링 유닛, 포워딩 엔진 등이 구현될 수 있다.
다양한 실시예들에 따르면, 포워딩 엔진은 컨텐츠 버퍼, FIB (forwarding information base), PIT (pending interest table) 을 포함할 수 있다. 다양한 실시예들에 따르면, 컨텐츠 버퍼에는 정보 (예를 들어, 청크) 가 저장/버퍼링될 수 있다. 다양한 실시예들에 따르면, FIB는 데이터를 가진 임의의 노드 쪽으로 interest packet 이 포워딩되는데 사용될 수 있으며, PIT는 컨텐츠를 요청하는 interest packet 을 일정 시간 저장하여 역방향으로 데이터 패킷을 송신하는데 사용될 수 있다.
도 6은 다양한 실시예들에 따른 네트워크 노드들의 동작 방법을 나타낸 도면이다.
(1) connection setup
다양한 실시예들에 따르면, 클라이언트와 RAN간의 연결이 설정되고, RAN과 미디어 클라우드 간의 연결이 설정될 수 있다. 예를 들어, 클라이언트와 RAN간의 연결은 무선 통신 네트워크에 기초할 수 있고, RAN과 미디어 클라우드 간의 연결은 유선 통신 네트워크에 기초할 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 클라이언트와 RAN간의 연결에 대응되는 TCP 와 RAN과 미디어 클라우드 간의 연결에 대응되는 TCP는 다양한 실시예들에 따른 미디어 서비스 시스템의 스플릿-TCP를 구성할 수 있다.
(2) media service providing initiation
다양한 실시예들에 따르면, 미디어 서비스 제공이 시작될 수 있다. 다양한 실시예들에 따르면, 클라이언트는 RAN으로 청크 (의 개수) 를 요청하는 청크 요청 (chunk request) 를 송신할 수 있다.
다양한 실시예들에 따르면, RAN은 클라이언트로부터 수신된 청크 요청을 미디어 클라우드로 송신/포워딩/리디렉션할 수 있다.
다양한 실시예들에 따르면, 미디어 클라우드는 요청된 청크를 포함하는 응답 (response) 를 RAN으로 송신할 수 있다.
다양한 실시예들에 따르면, RAN은 미디어 클라우드로부터 수신된 청크를 포함하는 응답을 클라이언트로 송신/포워딩/리디렉션할 수 있다. 다양한 실시예들에 따르면, RAN은 클라이언트에 할당될 RB(resource block) 등의 자원을 결정할 수 있다. 예를 들어, 할당되는 자원의 양 (예를 들어,
Figure 112020136160878-pat00064
, 클라이언트 i (i=1, 2, 3,...) 를 위하여 RAN로부터 할당된 RB의 양)은 청크의 양에 기초하여 결정될 수 있다. 예를 들어, 할당되는 자원의 양은 클라이언트로 송신/포워딩/리디렉션될 청크의 양에 비례할 수 있다. 다양한 실시예들에 따르면, 응답에는 RB할당 등의 자원 할당에 대한 정보가 포함될 수 있다. 다양한 실시예들에 따르면, 청크는 할당된 RB등의 자원에 매핑되어 송신되는 것일 수 있다.
다양한 실시예들에 따르면, 미디어 클라우드로부터 송신된 청크는 RAN의 버퍼에는 저장되지 않고 클라이언트에게 전달되어, 클라이언트의 버퍼에 저장 및/또는 플레이백이 수행될 수 있다. 다양한 실시예들에 따르면, 클라이언트는 수신된 응답에서 자원 할당에 대한 정보에 기초하여 청크를 포함하는 정보를 획득/디코딩할 수 있다.
예를 들어, (2)에서, 클라이언트가 청크 요청을 송신하는 시점부터 요청된 청크를 수신하여 플레이백하는 시점 간의 시간 길이는 초기 딜레이 (initial delay) 로 정의될 수 있다.
다양한 실시예들에 따르면, 청크는 멀티미디어 파일 형식 (예를 들어, PNG, IFF, MP3, AVI 등)에서 사용되는 정보 조각 (information fragment) 일 수 있다. 다양한 실시예들에 따르면, 미디어 서비스에서 제공될 미디어에 대응되는 데이터가 시간 단위로 쪼개져 청크가 설정될 수 있다.
(3) chunk request
다양한 실시예들에 따르면, 클라이언트는 자신이 버퍼링할 청크의 개수
Figure 112020136160878-pat00065
를 결정할 수 있다. 다양한 실시예들에 따르면,
Figure 112020136160878-pat00066
는 클라이언트 i (UEi) (i=1, 2, 3,...) 의 버퍼에 저장될 청크의 개수를 의미할 수 있다. 다양한 실시예들에 따르면, 클라이언트는 RAN으로
Figure 112020136160878-pat00067
개의 청크를 요청하는 청크 요청을 송신할 수 있다. 다양한 실시예들에 따르면, RAN은 클라이언트로부터 수신된
Figure 112020136160878-pat00068
개의 청크를 요청하는 청크 요청을 미디어 클라우드로 송신/포워딩/리디렉션할 수 있다.
다양한 실시예들에 따르면, RAN은 자신이 버퍼링할 청크의 개수
Figure 112020136160878-pat00069
를 결정할 수 있다. 다양한 실시예들에 따르면,
Figure 112020136160878-pat00070
는 클라이언트 i (i=1, 2, 3,...) 를 위하여 RAN의 버퍼에 저장될 청크의 개수를 의미할 수 있다. 다양한 실시예들에 따르면, RAN은
Figure 112020136160878-pat00071
개의 청크를 요청하는 청크 요청을 미디어 클라우드로 송신할 수 있다.
다양한 실시예들에 따르면, 미디어 클라우드는 요청된 청크를 포함하는 응답을 RAN으로 송신할 수 있다. 예를 들어, 응답은 클라이언트를 위한
Figure 112020136160878-pat00072
개의 청크와 RAN을 위한
Figure 112020136160878-pat00073
개의 청크를 포함할 수 있다. 예를 들어, 응답은 청크가 클라이언트를 위한 것인지 또는 RAN을 위한 것인지를 지시하기 위한 n-비트 (예를 들어, n=1) 지시자/플래그를 포함할 수 있다. 예를 들어, n-비트=0 (또는 1)은 청크가 클라이언트를 위한 것임을 지시하고, n-비트=1 (또는 0)은 청크가 RAN을 위한 것임을 지시할 수 있다. 예를 들어, 각 n-비트 지시자/플래그는 응답에 포함된 각 청크에 연접될 수 있으며, 각 n-비트 지시자/플래그는 각 연접된 청크가 클라이언트를 위한 것인지 또는 RAN을 위한 것인지를 지시할 수 있다.
다양한 실시예들에 따르면, RAN은 미디어 클라우드로부터 수신된 청크 중 RAN을 위한
Figure 112020136160878-pat00074
개의 청크를 버퍼에 저장할 수 있다. 다양한 실시예들에 따르면, RAN은 미디어 클라우드로부터 수신된 청크 중 클라이언트를 위한
Figure 112020136160878-pat00075
개의 청크를 클라이언트로 송신/포워딩/리디렉션할 수 있다. 다양한 실시예들에 따르면, RAN은 클라이언트에 할당될 RB등의 자원을 결정할 수 있다. 예를 들어, 할당되는 자원의 양 (예를 들어,
Figure 112020136160878-pat00076
, 클라이언트 i (i=1, 2, 3,...) 를 위하여 RAN로부터 할당된 RB의 양)은 클라이언트로 송신/포워딩/리디렉션될 청크의 양에 기초하여 결정될 수 있다. 예를 들어, 할당되는 자원의 양은
Figure 112020136160878-pat00077
에 비례할 수 있다. 다양한 실시예들에 따르면,
Figure 112020136160878-pat00078
개의 청크는 할당된 RB등의 자원에 매핑되어 송신되는 것일 수 있다.
다양한 실시예들에 따르면, 미디어 클라우드로부터 송신된
Figure 112020136160878-pat00079
개의 청크는 RAN의 버퍼에 저장될 수 있다. 다양한 실시예들에 따르면, 미디어 클라우드로부터 송신된
Figure 112020136160878-pat00080
개의 청크는 RAN의 버퍼에는 저장되지 않고 클라이언트에게 전달되어, 클라이언트의 버퍼에 저장 및/또는 플레이백이 수행될 수 있다. 다양한 실시예들에 따르면, 클라이언트는 수신된 응답에서 자원 할당에 대한 정보에 기초하여
Figure 112020136160878-pat00081
개의 청크를 포함하는 정보를 획득/디코딩할 수 있다.
예를 들어, (3)에서, 클라이언트가
Figure 112020136160878-pat00082
개의 청크 요청을 송신하는 시점부터 요청된
Figure 112020136160878-pat00083
개의 청크를 수신하여 플레이백하는 시점 간의 시간 길이는 △T 로 정의될 수 있다.
(4) chunk re-request
다양한 실시예들에 따르면, 클라이언트는
Figure 112020136160878-pat00084
를 결정할 수 있다. 예를 들어, (4)에서의
Figure 112020136160878-pat00085
의 값은 (3)에서의
Figure 112020136160878-pat00086
의 값과 독립적으로 결정될 수 있으며, 두 값은 동일 또는 상이할 수 있다. 다양한 실시예들에 따르면, 클라이언트는 RAN으로
Figure 112020136160878-pat00087
개의 청크를 요청하는 청크 요청을 송신할 수 있다. 예를 들어, (4)에서의 청크 요청은 (3)에서의 청크 요청 이후에 송신된다는 점에서 청크 재요청으로 이해될 수 있다.
다양한 실시예들에 따르면, (4)에서, 클라이언트에
Figure 112020136160878-pat00088
개의 청크를 송신하는 과정은 아래 실시예들 중 하나 이상에 기초할 수 있다.
1) 실시예 1
다양한 실시예들에 따르면, RAN은 자신의 버퍼에
Figure 112020136160878-pat00089
개의 청크가 저장되어 있는 경우, 클라이언트로부터 수신된
Figure 112020136160878-pat00090
개의 청크를 요청하는 청크 요청을 미디어 클라우드로 송신/포워딩/리디렉션하지 않을 수 있다. 다양한 실시예들에 따르면 RAN은 자신의 버퍼에 저장된
Figure 112020136160878-pat00091
개의 청크의 적어도 일부를 클라이언트로부터 요청된
Figure 112020136160878-pat00092
개의 청크로써 클라이언트에게 송신할 수 있다. 다양한 실시예들에 따르면, RAN은 클라이언트에 할당될 RB등의 자원을 결정할 수 있다. 예를 들어, 할당되는 자원의 양 (예를 들어,
Figure 112020136160878-pat00093
, 클라이언트 i (i=1, 2, 3,...) 를 위하여 RAN로부터 할당된 RB의 양)은 클라이언트로 송신될 청크의 양에 기초하여 결정될 수 있다. 다양한 실시예들에 따르면, 클라이언트는 수신된 응답에서 자원 할당에 대한 정보에 기초하여
Figure 112020136160878-pat00094
개의 청크를 포함하는 정보를 획득/디코딩할 수 있다.
다양한 실시예들에 따르면, 클라이언트에게
Figure 112020136160878-pat00095
개의 청크 를 제공하기 위하여 RAN-미디어 클라우드 간의 신호 송수신이 요구되지 않으므로, 클라이언트의 청크 요청에 따른 청크 제공에 소요되는 시간이 △T 보다 감소될 수 있다.
2) 실시예 2
다양한 실시예들에 따르면, RAN은 자신의 버퍼에
Figure 112020136160878-pat00096
개의 청크가 저장되어 있지 않은 경우 (예를 들어, 버퍼가 플러시 된 경우, RAN이 이전에 클라이언트에게 버퍼에 저장된 청크를 이미 제공한 경우 등), 클라이언트로부터 수신된
Figure 112020136160878-pat00097
개의 청크를 요청하는 청크 요청을 미디어 클라우드로 송신/포워딩/리디렉션할 수 있다. 다양한 실시예들에 따르면, RAN은 자신이 버퍼링할 청크의 개수
Figure 112020136160878-pat00098
를 결정할 수 있다. 예를 들어, (4)에서의
Figure 112020136160878-pat00099
의 값은 (3)에서의
Figure 112020136160878-pat00100
의 값과 독립적으로 결정될 수 있으며, 두 값은 동일 또는 상이할 수 있다. 다양한 실시예들에 따르면, RAN은
Figure 112020136160878-pat00101
개의 청크를 요청하는 청크 요청을 미디어 클라우드로 송신할 수 있다.
다양한 실시예들에 따르면, 미디어 클라우드는 요청된 청크를 포함하는 응답을 RAN으로 송신할 수 있다. 예를 들어, 응답은 클라이언트를 위한
Figure 112020136160878-pat00102
개의 청크와 RAN을 위한
Figure 112020136160878-pat00103
개의 청크를 포함할 수 있다. 예를 들어, 응답은 청크가 클라이언트를 위한 것인지 또는 RAN을 위한 것인지를 지시하기 위한 n-비트 (예를 들어, n=1) 지시자/플래그를 포함할 수 있다. 예를 들어, n-비트=0 (또는 1)은 청크가 클라이언트를 위한 것임을 지시하고, n-비트=1 (또는 0)은 청크가 RAN을 위한 것임을 지시할 수 있다. 예를 들어, 각 n-비트 지시자/플래그는 응답에 포함된 각 청크에 연접될 수 있으며, 각 n-비트 지시자/플래그는 각 연접된 청크가 클라이언트를 위한 것인지 또는 RAN을 위한 것인지를 지시할 수 있다.
다양한 실시예들에 따르면, RAN은 미디어 클라우드로부터 수신된 청크 중 RAN을 위한
Figure 112020136160878-pat00104
개의 청크를 버퍼에 저장할 수 있다. 다양한 실시예들에 따르면, RAN은 미디어 클라우드로부터 수신된 청크 중 클라이언트를 위한
Figure 112020136160878-pat00105
개의 청크를 클라이언트로 송신/포워딩/리디렉션할 수 있다. 다양한 실시예들에 따르면, RAN은 클라이언트에 할당될 RB등의 자원을 결정할 수 있다. 예를 들어, 할당되는 자원의 양 (예를 들어,
Figure 112020136160878-pat00106
, 클라이언트 i (i=1, 2, 3,...) 를 위하여 RAN로부터 할당된 RB의 양)은 클라이언트로 송신/포워딩/리디렉션될 청크의 양에 기초하여 결정될 수 있다. 예를 들어, 할당되는 자원의 양은
Figure 112020136160878-pat00107
에 비례할 수 있다. 다양한 실시예들에 따르면,
Figure 112020136160878-pat00108
개의 청크는 할당된 RB등의 자원에 매핑되어 송신되는 것일 수 있다.
다양한 실시예들에 따르면, 미디어 클라우드로부터 송신된
Figure 112020136160878-pat00109
개의 청크는 RAN의 버퍼에 저장될 수 있다. 다양한 실시예들에 따르면, 미디어 클라우드로부터 송신된
Figure 112020136160878-pat00110
개의 청크는 RAN의 버퍼에는 저장되지 않고 클라이언트에게 전달되어, 클라이언트의 버퍼에 저장 및/또는 플레이백이 수행될 수 있다. 다양한 실시예들에 따르면, 클라이언트는 수신된 응답에서 자원 할당에 대한 정보에 기초하여
Figure 112020136160878-pat00111
개의 청크를 포함하는 정보를 획득/디코딩할 수 있다.
3) 실시예 3
다양한 실시예들에 따르면, RAN은 자신의 버퍼에
Figure 112020136160878-pat00112
개의 청크가 저장되어 있고, 자신의 버퍼에
Figure 112020136160878-pat00113
개의 청크가 클라이언트에
Figure 112020136160878-pat00114
개의 청크를 요청하기에 충분한 경우 (예를 들어,
Figure 112020136160878-pat00115
>=
Figure 112020136160878-pat00116
), 클라이언트로부터 수신된
Figure 112020136160878-pat00117
개의 청크를 요청하는 청크 요청을 미디어 클라우드로 송신/포워딩/리디렉션하지 않을 수 있다. 다양한 실시예들에 따르면 RAN은 자신의 버퍼에 저장된
Figure 112020136160878-pat00118
개의 청크의 적어도 일부를 클라이언트로부터 요청된
Figure 112020136160878-pat00119
개의 청크로써 클라이언트에게 송신할 수 있다. 미디어 클라우드로부터 송신된
Figure 112020136160878-pat00120
개의 청크는 RAN의 버퍼에는 저장되지 않고 클라이언트에게 전달되어, 클라이언트의 버퍼에 저장 및/또는 플레이백이 수행될 수 있다. 다양한 실시예들에 따르면, RAN은 클라이언트에 할당될 RB등의 자원을 결정할 수 있다. 예를 들어, 할당되는 자원의 양 (예를 들어,
Figure 112020136160878-pat00121
, 클라이언트 i (i=1, 2, 3,...) 를 위하여 RAN로부터 할당된 RB의 양)은 클라이언트로 송신/포워딩/리디렉션될 청크의 양에 기초하여 결정될 수 있다. 다양한 실시예들에 따르면, 클라이언트는 수신된 응답에서 자원 할당에 대한 정보에 기초하여
Figure 112020136160878-pat00122
개의 청크를 포함하는 정보를 획득/디코딩할 수 있다.
4) 실시예 4
다양한 실시예들에 따르면, RAN은 자신의 버퍼에
Figure 112020136160878-pat00123
개의 청크가 저장되어 있고, 자신의 버퍼에
Figure 112020136160878-pat00124
개의 청크가 클라이언트에
Figure 112020136160878-pat00125
개의 청크를 요청하기에 충분하지 않은 경우 (예를 들어,
Figure 112020136160878-pat00126
<
Figure 112020136160878-pat00127
), RAN은
Figure 112020136160878-pat00128
개의 청크를 클라이언트가 요청한
Figure 112020136160878-pat00129
개의 청크의 일부로써 클라이언트에 송신할 수 있다. 다양한 실시예들에 따르면, RAN은
Figure 112020136160878-pat00130
-
Figure 112020136160878-pat00131
개의 청크를 요청하는 청크 요청을 미디어 클라우드로 송신할 수 있다. 다양한 실시예들에 따르면, RAN은 자신의 버퍼의 저장될 청크의 양인
Figure 112020136160878-pat00132
를 결정할 수 있다. 예를 들어, 결정되는
Figure 112020136160878-pat00133
의 값은 클라이언트에 제공된 청크의 양인
Figure 112020136160878-pat00134
의 값과 독립적으로 결정될 수 있으며, 두 값은 동일 또는 상이할 수 있다. 다양한 실시예들에 따르면, RAN은
Figure 112020136160878-pat00135
개의 청크를 요청하는 청크 요청을 미디어 클라우드로 송신할 수 있다.
다양한 실시예들에 따르면, 미디어 클라우드는 요청된 청크를 포함하는 응답을 RAN으로 송신할 수 있다. 예를 들어, 응답은 클라이언트를 위한
Figure 112020136160878-pat00136
-
Figure 112020136160878-pat00137
개의 청크와 RAN을 위한
Figure 112020136160878-pat00138
개의 청크를 포함할 수 있다. 예를 들어, 응답은 청크가 클라이언트를 위한 것인지 또는 RAN을 위한 것인지를 지시하기 위한 n-비트 (예를 들어, n=1) 지시자/플래그를 포함할 수 있다. 예를 들어, n-비트=0 (또는 1)은 청크가 클라이언트를 위한 것임을 지시하고, n-비트=1 (또는 0)은 청크가 RAN을 위한 것임을 지시할 수 있다. 예를 들어, 각 n-비트 지시자/플래그는 응답에 포함된 각 청크에 연접될 수 있으며, 각 n-비트 지시자/플래그는 각 연접된 청크가 클라이언트를 위한 것인지 또는 RAN을 위한 것인지를 지시할 수 있다.
다양한 실시예들에 따르면, RAN은 미디어 클라우드로부터 수신된 청크 중 RAN을 위한
Figure 112020136160878-pat00139
개의 청크를 버퍼에 저장할 수 있다. 다양한 실시예들에 따르면, RAN은 미디어 클라우드로부터 수신된 청크 중 클라이언트를 위한
Figure 112020136160878-pat00140
-
Figure 112020136160878-pat00141
개의 청크를 클라이언트로 송신/포워딩/리디렉션할 수 있다. 다양한 실시예들에 따르면, RAN은 클라이언트에 할당될 RB등의 자원을 결정할 수 있다. 예를 들어, 할당되는 자원의 양 (예를 들어,
Figure 112020136160878-pat00142
, 클라이언트 i (i=1, 2, 3,...) 를 위하여 RAN로부터 할당된 RB의 양)은 클라이언트로 송신/포워딩/리디렉션될 청크의 양에 기초하여 결정될 수 있다. 예를 들어, 할당되는 자원의 양은
Figure 112020136160878-pat00143
-
Figure 112020136160878-pat00144
에 비례할 수 있다. 다양한 실시예들에 따르면,
Figure 112020136160878-pat00145
-
Figure 112020136160878-pat00146
개의 청크는 할당된 RB등의 자원에 매핑되어 송신되는 것일 수 있다.
다양한 실시예들에 따르면, 미디어 클라우드로부터 송신된
Figure 112020136160878-pat00147
개의 청크는 RAN의 버퍼에 저장될 수 있다. 다양한 실시예들에 따르면, 미디어 클라우드로부터 송신된
Figure 112020136160878-pat00148
-
Figure 112020136160878-pat00149
개의 청크는 RAN의 버퍼에는 저장되지 않고 클라이언트에게 전달되어, 클라이언트의 버퍼에 저장 및/또는 플레이백이 수행될 수 있다. 다양한 실시예들에 따르면, 클라이언트는 수신된 응답에서 자원 할당에 대한 정보에 기초하여
Figure 112020136160878-pat00150
-
Figure 112020136160878-pat00151
개의 청크를 포함하는 정보를 획득/디코딩할 수 있다.
다양한 실시예들에 따르면, RB할당 등의 자원 할당에 대한 정보는 PDCCH (physical downlink control channel) 가 나르는 DCI (downlink control information) 에 포함되어 클라이언트-RAN간 송수신될 수 있다.
다양한 실시예들에 따르면, 청크를 포함하는 응답은 PDSCH (physical downlink shared channel)에 포함되어 클라이언트-RAN간 송수신될 수 있다.
이하에서는, 다양한 실시예들에 따른 청크의 양을 결정함에 고려되는 몇 가지 변수/파라미터에 대하여 설명한다.
(1) Video viewing time
도 7은 비디오 시청 시간에 대한 누적 분포 함수 (cumulative distribution function, CDF) 를 나타낸다. 도 7은 57,717 명의 독립된 사용자들로부터 획득된 1,400 만 번의 비디오 시청 기록에 기초하여 획득된 누적 분포 함수이다.
도 7을 참조하면, 비디오 스트리밍에서 세션 구간 (session duration)은 헤비-테일드 (heavy-tailed) 분포를 따를 수 있다. 대부분의 사용자들은 상대적으로 짧은 시간 동안만 비디오 시청에 머무르는 반면, 약간의 사용자들은 상대적으로 긴 시간 동안 비디오 시청에 머무르는 것을 확인할 수 있다. 즉, 대부분의 사용자들은 비디오 스트리밍으로부터 떠나는 시간 (leaving time) 이 상대적으로 짧고, 약간의 사용자들만이 비디오 스트리밍으로부터 떠나는 시간이 상대적으로 길 수 있다.
(2) chunk waste probability
도 8은 청크 낭비 확률 (chunk waste probability, chunk waste prob.) 을 나타낸다.
청크 낭비 확률을 모델링하기 위하여, 비디오/미디어를 시청할 사용자가 존재하는 남은 시간은 파레토 분포 (Pareto distributed) 를 따름을 가정한다.
파레토 분포에 대한 파레토 CDF는 아래 수학식 2 를 따를 수 있다.
[수학식 2]
Figure 112020136160878-pat00152
수학식 2에서, β 와 δ는 파레토 CDF 를 위한 2 개의 매개 변수이다.
청크 낭비 확률 (Pwaste)은 아래 수학식 3 을 따를 수 있다.
[수학식 3]
Figure 112020136160878-pat00153
수학식 3에서,
Figure 112020136160878-pat00154
는 청크에 따른 오버헤드 (chunking overhead),
Figure 112020136160878-pat00155
는 시청된 비디오/미디어에 대응되는 청크 양 (즉, 플레이 아웃된 청크 양),
Figure 112020136160878-pat00156
은 클라이언트 측에 수신되어 있는 청크 양 (즉, 소비되지 않고 버퍼에 채워져 있는 청크 양) 일 수 있다. 도 8은 수학식 3 을 시각화 한 것으로, 청크 낭비 확률은 단조 증가 (monotonically increasing) 경향을 보임을 알 수 있다.
(3) buffer starvation probability
도 9은 버퍼 기근 (buffer starvation) 확률에 대하여 설명하기 위한 것이다.
도 9 를 참조하면, 클라이언트로부터 미디어/비디오가 플레이 아웃 되는 속도 (bit per second, bps 단위) 를 Rout, 서버로부터 미디어/비디오가 수신되는 속도를 rin 이라 할 수 있다. 달리 말하면, 버퍼로부터 미디어/비디오가 출력되는 속도를 Rout, 버퍼에 미디어/비디오가 입력되는 속도를 rin 이라 할 수 있다. Rout, rin은 각각 네트워크 상태에 의존할 수 있다. 네트워크 상태가 좋으면 Rout, rin 또한 증가할 것이고, 네트워크 상태가 나쁘면 Rout, rin 또한 감소될 것이다.
도 9(a)에서, 버퍼 기근 조건 (buffer starvation condition)은 아래 수학식 4 를 따를 수 있다.
[수학식 4]
Figure 112020136160878-pat00157
수학식 4에서,
Figure 112020136160878-pat00158
는 클라이언트에 버퍼된 청크의 양/개수로 이해될 수 있으며, α는 클라이언트에 버퍼된 청크의 양/개수를 위한 비례상수로 이해될 수 있다.
도 9(b)에서, 다양한 실시예들과 같은 스플릿-TCP 구조에서, 버퍼 기근 조건은 아래 수학식 5 를 따를 수 있다.
[수학식 5]
Figure 112020136160878-pat00159
수학식 5에서,
Figure 112020136160878-pat00160
는 RAN에 버퍼된 청크의 양/개수로 이해될 수 있으며, β는 RAN에 버퍼된 청크의 양/개수를 위한 비례상수로 이해될 수 있다.
Figure 112020136160878-pat00161
은 RAN버퍼로부터 클라이언트 버퍼로 청크가 전달되는 속도,
Figure 112020136160878-pat00162
는 RAN으로부터 클라이언트에 할당된 RB의 개수일 수 있다.
도 9(b)에서, 주어진
Figure 112020136160878-pat00163
,
Figure 112020136160878-pat00164
에 대한 버퍼 기근 확률은 아래 수학식 6 과 같은 밀도 함수 (unknown density function) 을 따를 수 있다.
[수학식 6]
Figure 112020136160878-pat00165
이하에서는, 다양한 실시예들에 따른 청크의 양을 결정하는 방법에 대하여 설명한다.
(1) 클라이언트를 위한 청크의 양 (
Figure 112020136160878-pat00166
) 을 결정하는 방법
이는 다양한 실시예들에 따른 클라이언트의 측에서 버퍼링할/미디어 클라우드에 요청할 청크의 양을 결정하는 방법과 관련될 수 있다.
다양한 실시예들에 따른 클라이언트를 위한 청크의 양을 결정하는 방법은 아래 표 1 을 참조할 수 있다.
Figure 112020136160878-pat00167
다양한 실시예들에 따르면, i=1, 2, 3, ... 이고, 주어진
Figure 112020136160878-pat00168
,
Figure 112020136160878-pat00169
에서, 클라이언트가
Figure 112020136160878-pat00170
개의 청크를 요청하고자 하는 경우,
Figure 112020136160878-pat00171
의 값은 제약조건
Figure 112020136160878-pat00172
하에서,
Figure 112020136160878-pat00173
의 값을 최소로 하는 값으로 결정될 수 있다. 예를 들어,
Figure 112020136160878-pat00174
는 UEi 를 위한 가중치/비례상수로 0 이상 1 이하의 값을 가질 수 있다. 예를 들어,
Figure 112020136160878-pat00175
의 값이 커질수록 (즉, 1에 가까워질수록)
Figure 112020136160878-pat00176
의 값이 작아지며,
Figure 112020136160878-pat00177
의 값이 작아질수록 (즉, 0에 가까워질수록)
Figure 112020136160878-pat00178
의 값이 커질 수 있다. 예를 들어, 제약조건
Figure 112020136160878-pat00179
는 클라이언트는 미디어/비디오 내 아직 시청되지 않은 부분에 대한 청크의 개수
Figure 112020136160878-pat00180
를 초과하는 양의 청크를 요청하지 않으며, 현재 (
Figure 112020136160878-pat00181
동안의) 네트워크 (예를 들어, 클라이언트-RAN간의 채널 품질) 의 품질/상태 등에 따라 전달 받을 수 있는 (최대) 청크의 개수
Figure 112020136160878-pat00182
를 초과하는 양의 청크를 요청하지 않는 것을 의미할 수 있다.
다양한 실시예들에 따른 클라이언트를 위한 청크의 양을 결정하는 방법은, 클라이언트의 시청 중단으로 청크가 낭비되는 경우를 고려하여 청크를 적게 버퍼링할 지, 또는 네트워크 상태의 불안정성 등으로 스트리밍이 멈추는 경우를 고려하여 청크를 많이 버퍼링할 지를 고려하는 것일 수 있다. 예를 들어, 청크 낭비 확률 (
Figure 112020136160878-pat00183
) 과 버퍼 기근 확률 (
Figure 112020136160878-pat00184
) 이 모두 고려되고, 가중치/비례상수 (
Figure 112020136160878-pat00185
)에 따라 청크 낭비/버퍼 기근 중 어느 것에 더 중점을 두어
Figure 112020136160878-pat00186
를 결정할 지가 정해질 수 있다.
다양한 실시예들에 따른 클라이언트를 위한 청크의 양을 결정하는 방법의 솔루션 공간 (feasible solution space)은 상대적으로 작으므로, 브루트-포스 (brute-force) 방법으로
Figure 112020136160878-pat00187
가 결정될 수 있다. 예를 들어, 제약조건
Figure 112020136160878-pat00188
을 만족하는 다수의 후보값들을
Figure 112020136160878-pat00189
에 대입하여, 다수의 후보값들 중
Figure 112020136160878-pat00190
가 최소가 되는 값을
Figure 112020136160878-pat00191
로 결정할 수 있다.
(2) RAN를 위한 청크의 양 (
Figure 112020136160878-pat00192
) 및/또는 클라이언트에 대한 RB할당 양 (
Figure 112020136160878-pat00193
) 을 결정하는 방법
이는 다양한 실시예들에 따른 RAN의 측에서 버퍼링할/미디어 클라우드에 요청할 청크의 양 및/또는 RAN이 클라이언트에 할당할 RB의 양을 결정하는 방법과 관련될 수 있다. 예를 들어, RAN에 접속된 미디어 서비스를 받는 다수의 클라이언트들을 대상으로, RAN은 각 클라이언트를 위하여 얼마만큼의 청크를 버퍼링해둘 지 및/또는 얼마만큼의 RB를 할당할 지를 결정하는 방법과 관련될 수 있다.
1) 실시예 1
다양한 실시예들에 따른 RAN를 위한 청크의 양 및 클라이언트에 대한 RB할당 양을 결정하는 방법은 아래 표 2를 참조할 수 있다.
Figure 112020136160878-pat00194
다양한 실시예들에 따르면, i=1, 2, 3, ... 이고, 주어진
Figure 112020136160878-pat00195
,
Figure 112020136160878-pat00196
Figure 112020136160878-pat00197
의 값은 제약조건
Figure 112020136160878-pat00198
,
Figure 112020136160878-pat00199
,
Figure 112020136160878-pat00200
하에서,
Figure 112020136160878-pat00201
의 값을 최소로 하는 값으로 결정될 수 있다. 예를 들어,
Figure 112020136160878-pat00202
는 UEi 를 위한 가중치/비례상수일 수 있다. 예를 들어,
Figure 112020136160878-pat00203
는 0 이상 1 이하의 값을 가질 수 있다. 예를 들어,
Figure 112020136160878-pat00204
의 값이 커질수록 RAN은 UEi 에 대한 스트리밍이 끊기지 않도록, UEi 를 위한 청크를 더 많이 버퍼링하고, 또한 UEi 를 위하여 더 많은 RB를 할당할 수 있다.
예를 들어, 제약조건
Figure 112020136160878-pat00205
는 RAN이 미디어 서비스를 제공하는 모든 클라이언트를 위하여 할당된 청크의 총 사이즈 (각 클라이언트에 대한 청크의 개수와 하나의 청크의 사이즈
Figure 112020136160878-pat00206
의 곱으로부터 결정됨) 가 RAN의 (나머지) 버퍼 사이즈
Figure 112020136160878-pat00207
이하여야 한다는 것을 의미할 수 있다. 달리 말하면, RAN은 자신의 메모리 자원을 초과하는 청크를 버퍼링할 수 없음을 의미할 수 있다.
예를 들어, 제약조건
Figure 112020136160878-pat00208
는 RAN은 클라이언트 i 가 미디어/비디오 내 아직 시청되지 않은 부분에 대한 청크의 개수
Figure 112020136160878-pat00209
를 초과하는 양의 청크를 요청하지 않으며, 현재 (
Figure 112020136160878-pat00210
동안의) 네트워크의 품질/상태 등에 따라 전달 받을 수 있는 (최대) 청크의 개수
Figure 112020136160878-pat00211
를 초과하는 양의 청크를 요청하지 않는 것을 의미할 수 있다.
예를 들어, 제약조건
Figure 112020136160878-pat00212
는 RAN이 미디어 서비스를 제공하는 모든 클라이언트를 위하여 할당된 RB의 총 개수가 RAN이 할당 가능한 최대 RB개수 이하임을 의미할 수 있다. 달리 말하면, RAN은 자신의 가용한 네트워크 자원을 초과하는 RB를 할당할 수 없음을 의미할 수 있다.
2) 실시예 2
다양한 실시예들에 따른 클라이언트에 대한 RB할당 양을 결정하는 방법은 아래 표 3 을 참조할 수 있다.
Figure 112020136160878-pat00213
다양한 실시예들에 따르면, i=1, 2, 3, ... 이고, 주어진
Figure 112020136160878-pat00214
,
Figure 112020136160878-pat00215
,
Figure 112020136160878-pat00216
의 값은 제약조건
Figure 112020136160878-pat00217
하에서,
Figure 112020136160878-pat00218
의 값을 최소로 하는 값으로 결정될 수 있다. 예를 들어,
Figure 112020136160878-pat00219
는 UEi 를 위한 가중치/비례상수일 수 있다. 예를 들어,
Figure 112020136160878-pat00220
는 0 이상 1 이하의 값을 가질 수 있다. 예를 들어, 의 값이 커질수록 RAN은 UEi 를 위하여 더 많은 RB를 할당할 수 있다. 각 파라미터에 대한 보다 구체적인 설명은 실시예 1 에 대한 설명을 참조할 수 있다.
3) 실시예 3
다양한 실시예들에 따른 RAN를 위한 청크의 양을 결정하는 방법은 아래 표 4 을 참조할 수 있다.
Figure 112020136160878-pat00221
다양한 실시예들에 따르면, i=1, 2, 3, ... 이고, 주어진
Figure 112020136160878-pat00222
,
Figure 112020136160878-pat00223
에서,
Figure 112020136160878-pat00224
의 값은 제약조건
Figure 112020136160878-pat00225
,
Figure 112020136160878-pat00226
, 하에서,
Figure 112020136160878-pat00227
의 값을 최소로 하는 값으로 결정될 수 있다. 예를 들어,
Figure 112020136160878-pat00228
는 UEi 를 위한 가중치/비례상수일 수 있다. 예를 들어,
Figure 112020136160878-pat00229
는 0 이상 1 이하의 값을 가질 수 있다. 예를 들어,
Figure 112020136160878-pat00230
의 값이 커질수록 RAN은 UEi 에 대한 스트리밍이 끊기지 않도록, UEi 를 위한 청크를 더 많이 버퍼링할 수 있다. 각 파라미터에 대한 보다 구체적인 설명은 실시예 1 에 대한 설명을 참조할 수 있다.
4) 실시예 4
실시예 1 내지 3에 따른 방법은, Multiple Knapsack Problem으로 다루어져, 상술한 다양한 실시예들에 따른 클라이언트를 위한 청크의 양을 결정하는 방법에 비하여 솔루션 공간이 클 수 있다. 따라서, 브루트-포스 방법으로
Figure 112020136160878-pat00231
및/또는
Figure 112020136160878-pat00232
를 결정하는 것은 비효율적일 수 있다. 이에, 효율적으로
Figure 112020136160878-pat00233
및/또는
Figure 112020136160878-pat00234
를 결정하는 방법이 요구될 수 있다.
도 10은 다양한 실시예들에 따른 RAN를 위한 청크의 양 및 클라이언트에 대한 RB할당 양을 결정하는 방법의 일 예를 나타낸 도면이다.
PSO (particle swarm optimization)는 군집지능 (swarm intelligence) 개념을 활용한 대표적인 샘플링 (sampling) 기반 최적화 알고리즘이다. 최적화를 위한 목적함수가 복잡하거나 제약조건들이 비선형성을 갖더라도 좋은 성능을 나타내기 때문에 각광을 받아오고 있다. PSO 알고리즘의 기본 원리는 다음과 같다.
1) 각 입자는 최적화 타겟에 이끌린다(Attraction).
2) 각 입자는 자신의 히스토리(History)를 기억한다(Memory).
3) 모든 입자들은 정보를 공유한다(Sharing).
4) 각 입자는 반복적 업데이트를 통해 최적화 타겟을 찾아간다(Iteration)
다양한 실시예들에 따른 PSO 알고리즘은, 위와 같은 기본 원리를 바탕으로 아래와 같은 프로세스로 동작될 수 있다.
1) 먼저 최적화 대상을 나타내는 다차원 탐색영역내에서 무작위로 입자들의 위치가 추출될 수 있다.
2) 추출된 각 입자는 대상 시스템의 제약조건을 이용한 목적함수를 이용하여 평가될 수 있다.
3) 평가 결과 선정된 입자의 개별 전역치(Personal best)와 전역 최적치(global best)를 기반으로 입자 별로 속도 및 위치가 업데이트 될 수 있다.
4) 상기 1) 내지 3)은 반복적으로 수행되며 이에 따라 입자 별로 속도 및 위치가 계속 업데이트될 수 있다. 입자 별로 속도 및 위치가 더 이상 업데이트 되지 않는 경우 반복 수행이 중단될 수 있다.
도 10 을 참조하면, 다양한 실시예들에 따르면, RAN를 위한 청크의 양 및 클라이언트에 대한 RB할당 양을 결정하기 위하여 두 개의 PSO 알고리즘 모듈이 연결될 수 있다. 각 PSO 알고리즘 모듈은 상술한 PSO 알고리즘에 따라 동작할 수 있다. 예를 들어, 최적성 평가 (optimality evaluation)는 별도의 모듈로 이해되거나 및/또는 두 개의 PSO 알고리즘을 거친 출력에 대하여 목적함수를 이용한 평가가 이루어질 수 있음을 이해의 편의를 위하여 도시한 것일 수 있다.
다양한 실시예들에 따르면, 첫번째 PSO 알고리즘 모듈에서, RAN으로부터 각각의 클라이언트에게 할당될 각 RB의 개수 (
Figure 112020136160878-pat00235
,...,
Figure 112020136160878-pat00236
) 와 관련된 정보가 출력되어, 두번째 PSO 알고리즘 모듈에 입력될 수 있다.
다양한 실시예들에 따르면, 두번째 PSO 알고리즘 모듈에서,
Figure 112020136160878-pat00237
,...,
Figure 112020136160878-pat00238
와 관련된 정보와 RAN의 버퍼에서 각각의 클라이언트를 위하여 저장될 청크의 개수 (
Figure 112020136160878-pat00239
,...,
Figure 112020136160878-pat00240
) 와 관련된 정보가 출력될 수 있다.
다양한 실시예들에 따르면, 두번째 PSO 알고리즘 모듈에서 출력된
Figure 112020136160878-pat00241
,...,
Figure 112020136160878-pat00242
와 관련된 정보와
Figure 112020136160878-pat00243
,...,
Figure 112020136160878-pat00244
와 관련된 정보에 대하여 목적함수를 이용한 평가가 이루어질 수 있다. 예를 들어, 목적함수는 실시예 1 내지 실시예 3 중 하나 이상에서 설명된 RAN를 위한 청크의 양 및/또는 클라이언트에 대한 RB할당 양을 결정하는 방법을 위한 수학식에 대응될 수 있다.
다양한 실시예들에 따르면, 평가 결과에 따라
Figure 112020136160878-pat00245
,...,
Figure 112020136160878-pat00246
및/또는
Figure 112020136160878-pat00247
,...,
Figure 112020136160878-pat00248
가 업데이트 된 경우, 업데이트된
Figure 112020136160878-pat00249
,...,
Figure 112020136160878-pat00250
은 첫번째 PSO 알고리즘 모듈에 입력될 수 있다. 이 경우, 다양한 실시예들에 따르면 상술한 첫번째 PSO 알고리즘 모듈, 두번째 PSO 알고리즘 모듈, 목적함수를 이용한 평가가 반복 수행될 수 있다.
다양한 실시예들에 따르면, 평가 결과에 따라
Figure 112020136160878-pat00251
,...,
Figure 112020136160878-pat00252
및/또는
Figure 112020136160878-pat00253
,...,
Figure 112020136160878-pat00254
가 업데이트 되지 않은 경우, 반복 수행은 종료되고,
Figure 112020136160878-pat00255
,...,
Figure 112020136160878-pat00256
및/또는
Figure 112020136160878-pat00257
,...,
Figure 112020136160878-pat00258
가 출력될 수 있다. 달리 말하면, 다양한 실시예들에 따르면, RAN으로부터 각각의 클라이언트에게 할당되는 각 RB의 개수는 최종 출력되는
Figure 112020136160878-pat00259
,...,
Figure 112020136160878-pat00260
이고, RAN의 버퍼에서 각각의 클라이언트를 위하여 저장될 청크의 개수는
Figure 112020136160878-pat00261
,.,,,
Figure 112020136160878-pat00262
일 수 있다.
도 11은 다양한 실시예들에 따른 네트워크 노드들의 동작 방법을 나타낸 도면이다.
도 11 을 참조하면, 다양한 실시예들에 따른 동작 1101에서, 클라이언트는 제1 청크를 요청하는 정보를 송신할 수 있으며, RAN은 이를 수신할 수 있다.
다양한 실시예들에 따른 동작 1103에서, RAN은 제1 청크를 요청하는 정보와 제2 청크를 요청하는 정보를 서버로 송신할 수 있으며, 서버는 이를 수신할 수 있다.
다양한 실시예들에 따른 동작 1105에서, 서버는 제1 청크를 포함하는 정보와 제2 청크를 포함하는 정보를 RAN으로 송신할 수 있으며, RAN은 이를 수신할 수 있다.
다양한 실시예들에 따른 동작 1107에서, RAN은 제2 청크를 클라이언트를 위하여 자신의 버퍼에 버퍼링/저장할 수 있다.
다양한 실시예들에 따른 동작 1109에서, RAN은 제1 청크를 포함하는 정보를 클라이언트로 송신할 수 있으며, 클라이언트는 이를 수신할 수 있다.
다양한 실시예들에 따른 동작 1111에서, 클라이언트는 제1 청크를 재요청하는 정보를 송신할 수 있으며, RAN은 이를 수신할 수 있다.
다양한 실시예들에 따른 동작 1113에서, RAN은, 제2 청크가 자신의 버퍼에 버퍼링된 경우, 제2 청크의 적어도 일부를 포함하는 정보를 클라이언트로 송신할 수 있으며, 클라이언트는 이를 송신할 수 있다. 예를 들어, 제 2 청크의 적어도 일부는 재요청된 제1 청크의 적어도 일부에 대응될 수 있다.
도 11에서 예시된 다양한 실시예들에 따른 동작의 보다 구체적인 내용은 상술된 내용들에 기반하여 설명되고 수행될 수 있다.
도 12는 다양한 실시예들에 따른 클라이언트, RAN, 서버의 역할을 수행하는 장치의 구성을 도시한 도면이다.
도 12를 참조하면, 장치는 입/출력부(1210), 통신부(1220), 데이터베이스(1230) 및 프로세서(1240)를 포함할 수 있다.
입/출력부(1210)는 사용자 입력을 받거나 또는 사용자에게 정보를 출력하는 각종 인터페이스나 연결 포트 등일 수 있다. 입/출력부(1210)는 입력 모듈과 출력 모듈로 구분될 수 있는데, 입력 모듈은 사용자로부터 사용자 입력을 수신한다. 사용자 입력은 키 입력, 터치 입력, 음성 입력을 비롯한 다양한 형태로 이루어질 수 있다. 이러한 사용자 입력을 받을 수 있는 입력 모듈의 예로는 전통적인 형태의 키패드나 키보드, 마우스는 물론, 사용자의 터치를 감지하는 터치 센서, 음성 신호를 입력받는 마이크, 영상 인식을 통해 제스처 등을 인식하는 카메라, 사용자 접근을 감지하는 조도 센서나 적외선 센서 등으로 구성되는 근접 센서, 가속도 센서나 자이로 센서 등을 통해 사용자 동작을 인식하는 모션 센서 및 그 외의 다양한 형태의 사용자 입력을 감지하거나 입력받는 다양한 형태의 입력 수단을 모두 포함하는 포괄적인 개념이다. 여기서, 터치 센서는 디스플레이 패널에 부착되는 터치 패널이나 터치 필름을 통해 터치를 감지하는 압전식 또는 정전식 터치 센서, 광학적인 방식에 의해 터치를 감지하는 광학식 터치 센서 등으로 구현될 수 있다. 이외에도 입력 모듈은 자체적으로 사용자 입력을 감지하는 장치 대신 사용자 입력을 입력받는 외부의 입력 장치를 연결시키는 입력 인터페이스(USB 포트, PS/2 포트 등)의 형태로 구현될 수도 있다. 또 출력 모듈은 각종 정보를 출력해 사용자에게 이를 제공할 수 있다. 출력 모듈은 영상을 출력하는 디스플레이, 소리를 출력하는 스피커, 진동을 발생시키는 햅틱 장치 및 그 외의 다양한 형태의 출력 수단을 모두 포함하는 포괄적인 개념이다. 이외에도 출력 모듈은 상술한 개별 출력 수단을 연결시키는 포트 타입의 출력 인터페이스의 형태로 구현될 수도 있다.
일 예로, 디스플레이 형태의 출력 모듈은 텍스트, 정지 영상, 동영상을 디스플레이 할 수 있다. 디스플레이는 액정 디스플레이(LCD: Liquid Crystal Display), 발광 다이오드(LED: light emitting diode) 디스플레이, 유기 발광 다이오드(OLED: Organic Light Emitting Diode) 디스플레이, 평판 디스플레이(FPD: Flat Panel Display), 투명 디스플레이(transparent display), 곡면 디스플레이(Curved Display), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 홀로그래픽 디스플레이(holographic display), 프로젝터 및 그 외의 영상 출력 기능을 수행할 수 있는 다양한 형태의 장치를 모두 포함하는 광의의 영상 표시 장치를 의미하는 개념이다. 이러한 디스플레이는 입력 모듈의 터치 센서와 일체로 구성된 터치 디스플레이의 형태일 수도 있다.
통신부(1220)는 외부 기기와 통신할 수 있다. 예를 들어, 다양한 실시예들에 따른 미디어 서버에 포함된 장치들은 통신부를 이용해 미디어 서비스 시스템에 저장 및 생성된 정보들이 공유되도록 외부 기기와 통신을 수행할 수 있다.
여기서, 통신, 즉 데이터의 송수신은 유선 또는 무선으로 이루어질 수 있다. 이를 위해 통신부는 LAN(Local Area Network)를 통해 인터넷 등에 접속하는 유선 통신 모듈, 이동 통신 기지국을 거쳐 이동 통신 네트워크에 접속하여 데이터를 송수신하는 이동 통신 모듈, 와이파이(Wi-Fi) 같은 WLAN(Wireless Local Area Network) 계열의 통신 방식이나 블루투스(Bluetooth), 직비(Zigbee)와 같은 WPAN(Wireless Personal Area Network) 계열의 통신 방식을 이용하는 근거리 통신 모듈, GPS(Global Positioning System)과 같은 GNSS(Global Navigation Satellite System)을 이용하는 위성 통신 모듈 또는 이들의 조합으로 구성될 수 있다.
데이터베이스(1230)는 각종 정보를 저장할 수 있다. 데이터베이스는 데이터를 임시적으로 또는 반영구적으로 저장할 수 있다. 예를 들어, 장치의 데이터베이스에는 장치를 구동하기 위한 운용 프로그램(OS: Operating System), 웹 사이트를 호스팅하기 위한 데이터나 점자 생성을 위한 프로그램 내지는 어플리케이션(예를 들어, 웹 어플리케이션)에 관한 데이터 등이 저장될 수 있다. 또, 데이터베이스는 상술한 바와 같이 모듈들을 컴퓨터 코드 형태로 저장할 수 있다.
데이터베이스(1230)의 예로는 하드 디스크(HDD: Hard Disk Drive), SSD(Solid State Drive), 플래쉬 메모리(flash memory), 롬(ROM: Read-Only Memory), 램(RAM: Random Access Memory) 등이 있을 수 있다. 이러한 데이터베이스는 내장 타입 또는 탈부착 가능한 타입으로 제공될 수 있다.
프로세서(1240)는 장치의 전반적인 동작을 제어한다. 이를 위해 프로세서(340)는 각종 정보의 연산 및 처리를 수행하고 장치의 구성요소들의 동작을 제어할 수 있다. 예를 들어, 프로세서(1240)는 미디어 서비스를 위한 프로그램 내지 어플리케이션을 실행시킬 수 있을 것이다. 프로세서(1240)는 하드웨어 소프트웨어 또는 이들의 조합에 따라 컴퓨터나 이와 유사한 장치로 구현될 수 있다. 하드웨어적으로 프로세서(1240)는 전기적인 신호를 처리하여 제어 기능을 수행하는 전자 회로 형태로 제공될 수 있으며, 소프트웨어적으로는 하드웨어적인 프로세서(1240)를 구동시키는 프로그램 형태로 제공될 수 있다. 한편, 다양한 실시예들에 대한 설명에서 특별한 언급이 없는 경우에는 장치의 동작은 프로세서(340)의 제어에 의해 수행되는 것으로 해석될 수 있다. 즉, 상술한 미디어 서비스 시스템에 구현되는 모듈들이 실행되는 경우, 모듈들은 프로세서(1240)가 장치를 다양한 실시예들에 따른 동작들을 수행하도록 제어하는 것으로 해석될 수 있다.
다양한 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 다양한 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.
하드웨어에 의한 구현의 경우, 다양한 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 다양한 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 예를 들어, 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치할 수 있으며, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고받을 수 있다.
다양한 실시예들은 그 기술적 아이디어 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 다양한 실시예들의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 다양한 실시예들의 등가적 범위 내에서의 모든 변경은 다양한 실시예들의 범위에 포함된다. 또한, 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함할 수 있다.

Claims (7)

  1. 미디어 서비스 시스템에서 동작하는 장치에 있어서,
    메모리 (memory); 및
    상기 메모리와 연결된 하나 이상의 프로세서 (processor)를 포함하고,
    상기 하나 이상의 프로세서는:
    클라이언트로부터, 제1 청크 (chunk)를 요청하는 정보를 수신;
    서버로, (i) 상기 제1 청크를 요청하는 정보와, (ii) 제2 청크를 요청하는 정보를 송신;
    상기 서버로부터, 상기 제1 청크와 상기 제2 청크를 포함하는 정보를 수신;
    상기 클라이언트로, 상기 제1 청크를 포함하는 정보를 송신; 및
    상기 제2 청크가 상기 장치에서 버퍼링되고 상기 클라이언트로부터 상기 제1 청크를 재요청하는 정보를 수신함에 기초하여, 상기 제2 청크의 적어도 일부를 포함하는 정보를 송신; 하도록 설정되고,
    상기 제2 청크의 적어도 일부는, 상기 재요청된 제1 청크의 적어도 일부에 대응되고,
    상기 하나 이상의 프로세서는:
    상기 제2 청크가 상기 장치에서 버퍼링되지 않고 상기 클라이언트로부터 상기 제1 청크를 재요청하는 정보를 수신함에 기초하여, 상기 서버로 (i) 상기 제1 청크를 재요청하는 정보와, (ii) 제2 청크를 재요청하는 정보를 송신; 하도록 설정되는,
    장치.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 클라이언트는 상기 장치로부터 미디어 서비스를 제공받는 상기 미디어 서비스 시스템 내의 모든 복수의 클라이언트들 중 인덱스 i 에 대응되는 클라이언트이고, i는 자연수이고,
    상기 인덱스 i 에 대응되는 클라이언트를 위한 상기 제1 청크의 개수
    Figure 112020136160878-pat00263
    는,
    Figure 112020136160878-pat00264
    를 만족하는 값들 중
    Figure 112020136160878-pat00265
    의 값을 최소로 만드는 자연수로 결정되고,
    Figure 112020136160878-pat00266
    는 실수 a 와 실수 b 중 최소 값을 출력하는 함수이고,
    Figure 112020136160878-pat00267
    는 상기 인덱스 i 에 대응되는 클라이언트에게 제공되는 미디어 중 상기 인덱스 i 에 대응되는 클라이언트로부터 시청되지 않은 부분에 대응되는 청크의 개수이고,
    Figure 112020136160878-pat00268
    는 일정 시간 동안의 상기 인덱스 i 에 대응되는 클라이언트와 상기 장치 간의 채널 품질에 따라 결정되는 상기 인덱스 i 에 대응되는 클라이언트에게 제공 가능한 청크의 최대 개수이고,
    Figure 112020136160878-pat00269
    는 상기 인덱스 i 에 대응되는 클라이언트를 위한 가중치이고,
    Figure 112020136160878-pat00270
    는 0 이상의 1 이하의 실수이고,
    Figure 112020136160878-pat00271
    Figure 112020136160878-pat00272
    에 따라 결정되는 청크 낭비 확률 (chunk waste probability) 이고,
    Figure 112020136160878-pat00273
    Figure 112020136160878-pat00274
    에 따라 결정되는 버퍼 기근 확률 (buffer starvation probability) 이고,
    Figure 112020136160878-pat00275
    Figure 112020136160878-pat00276
    각각은 파레토 분포에 대응되는 파레토 CDF (cumulative distribution function) 에 기초하여 결정되는,
    장치.
  4. 제 3 항에 있어서,
    상기 제1 청크를 포함하는 정보는, 상기 인덱스 i 에 대응되는 클라이언트를 위하여 할당된 RB(resource block) 들에 매핑되어 송신되는,
    장치.
  5. 제 4 항에 있어서,
    상기 RB들의 개수
    Figure 112020136160878-pat00277
    와 상기 인덱스 i 에 대응되는 클라이언트를 위한 상기 제2 청크의 개수
    Figure 112020136160878-pat00278
    ,
    Figure 112020136160878-pat00279
    ,
    Figure 112020136160878-pat00280
    Figure 112020136160878-pat00281
    를 만족하는 값들 중
    Figure 112020136160878-pat00282
    의 값을 최소로 만드는 자연수로 결정되고,
    Figure 112020136160878-pat00283
    는 상기 복수의 클라이언트들을 위하여 상기 장치에서 버퍼링되는 청크들의 총 개수이고,
    Figure 112020136160878-pat00284
    는 상기 장치에서 버퍼링되는 청크들 각각의 사이즈이고,
    Figure 112020136160878-pat00285
    은 상기 장치에 포함된 버퍼의 사이즈이고,
    Figure 112020136160878-pat00286
    는 상기 인덱스 i 에 대응되는 클라이언트에게 제공되는 미디어 중 상기 인덱스 i 에 대응되는 클라이언트로부터 시청되지 않은 부분에 대응되는 청크의 개수이고,
    Figure 112020136160878-pat00287
    는 상기 일정 시간 동안의 상기 인덱스 i 에 대응되는 클라이언트와 상기 장치 간의 채널 품질에 따라 결정되는 상기 인덱스 i 에 대응되는 클라이언트에게 제공 가능한 청크의 최대 개수고,
    Figure 112020136160878-pat00288
    는 상기 복수의 클라이언트들을 위하여 할당된 RB의 총 개수이고,
    Figure 112020136160878-pat00289
    는 상기 장치가 할당 가능한 RB의 최대 개수이고,
    Figure 112020136160878-pat00290
    은 상기 인덱스 i 에 대응되는 클라이언트를 위한 가중치이고,
    Figure 112020136160878-pat00291
    Figure 112020136160878-pat00292
    에 따라 결정되는 버퍼 기근 확률이고,
    Figure 112020136160878-pat00293
    는 상기 파레토 CDF 에 기초하여 결정되는, 장치.
  6. 제 1 항에 있어서,
    상기 미디어 서비스 시스템은, 제1 TCP (transmission control protocol) 와 제2 TCP를 포함하는 스플릿-TCP(split-TCP)에 기초하여 설정되는,
    장치.
  7. 제 6 항에 있어서,
    상기 제1 TCP는, 상기 클라이언트와 상기 장치 간에 수립되는 무선 통신 네트워크에 기초하고,
    상기 제2 TCP는, 상기 장치와 상기 서버 간에 수립되는 유선 통신 네트워크에 기초하는,
    장치.
KR1020200175443A 2020-12-15 2020-12-15 모바일 엣지 클라우드 기반 미디어 서비스 방법 및 이를 지원하는 장치 KR102283903B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200175443A KR102283903B1 (ko) 2020-12-15 2020-12-15 모바일 엣지 클라우드 기반 미디어 서비스 방법 및 이를 지원하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200175443A KR102283903B1 (ko) 2020-12-15 2020-12-15 모바일 엣지 클라우드 기반 미디어 서비스 방법 및 이를 지원하는 장치

Publications (1)

Publication Number Publication Date
KR102283903B1 true KR102283903B1 (ko) 2021-07-30

Family

ID=77148610

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200175443A KR102283903B1 (ko) 2020-12-15 2020-12-15 모바일 엣지 클라우드 기반 미디어 서비스 방법 및 이를 지원하는 장치

Country Status (1)

Country Link
KR (1) KR102283903B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140073826A (ko) * 2012-12-07 2014-06-17 삼성전자주식회사 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법
KR20170102448A (ko) * 2017-08-28 2017-09-11 주식회사 비즈모델라인 요청 응답 방식의 적응형 컨텐츠 재생 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140073826A (ko) * 2012-12-07 2014-06-17 삼성전자주식회사 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법
KR20170102448A (ko) * 2017-08-28 2017-09-11 주식회사 비즈모델라인 요청 응답 방식의 적응형 컨텐츠 재생 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
D. Wu, J. Huang, J. He, M. Chen, and G. Zhang, "Toward Cost-Effective Mobile Video Streaming via Smart Cache With Adaptive Thresholding," IEEE Trans. on Broadcasting, 2015.
INTERNET DRAFT, IETF, Standards Track, Edge AI assists Partial content Caching withe Smart Content Prefetching Scheme, 2020.10.10* *
현명석, 모바일 비디오 스트리밍을 위한 다중 Perfetching 기반 Chunk Popularity를 사용하는 2-Phase 캐시 관리 기번에 관한 연구, 2017* *

Similar Documents

Publication Publication Date Title
KR102072344B1 (ko) 적응형 스트리밍 서비스 제공 방법 및 이를 위한 장치
WO2022095795A1 (zh) 通信方法、装置、计算机可读介质及电子设备
US9401968B2 (en) Method and apparatus for enabling pre-fetching of media
JP6022610B2 (ja) マルチキャスト・ブロードキャスト・マルチメディアサービスのアシストによるコンテンツ配布
US9615113B2 (en) Video content delivery over wireless access networks with quality of service (QOS) guarantees
US9992786B2 (en) Facilitation of multipath scheduling
US9401951B2 (en) System and method for managing distribution of network information
KR102316873B1 (ko) 비디오 전송 방법, 장치, 및 시스템과 컴퓨터 판독가능 저장 매체
US10715959B2 (en) Generating a pre-caching schedule based on forecasted content requests
US20140241315A1 (en) Radio access network (ran) for peer-to-peer (p2p) communication
US9871839B2 (en) Seamless multicast and unicast switching for content playback
US20130332621A1 (en) System and method for cooperative data streaming
US10033824B2 (en) Cache manifest for efficient peer assisted streaming
CN107210999B (zh) 链路感知流送自适应
US20130081072A1 (en) Preemptive video delivery to devices in a wireless network
US20140189064A1 (en) Method and system for adaptive video transmission
US10581804B2 (en) End-to-end caching of secure content via trusted elements
WO2017113130A1 (zh) 一种资源请求方法、设备、网络侧节点及系统
CN108574935B (zh) 一种组播业务处理方法及接入点
KR102283903B1 (ko) 모바일 엣지 클라우드 기반 미디어 서비스 방법 및 이를 지원하는 장치
US20130132520A1 (en) Delivery of multimedia service in mobile network
KR102390522B1 (ko) 적응형 비디오 스트리밍 서비스를 위한 블록체인 기반의 안정적인 체감품질 가속기
US20150050898A1 (en) Aggregation of bandwidth from multiple wireless devices
WO2013185110A2 (en) System and method for cooperative data streaming
KR102123414B1 (ko) 컨텐츠 제공 방법, 이를 위한 노드 제어 서버

Legal Events

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