KR102462200B1 - 자원 가격 책정을 갖는 대시에서 분배된 병목 조정을 위한 방법 및 장치 - Google Patents
자원 가격 책정을 갖는 대시에서 분배된 병목 조정을 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR102462200B1 KR102462200B1 KR1020177036436A KR20177036436A KR102462200B1 KR 102462200 B1 KR102462200 B1 KR 102462200B1 KR 1020177036436 A KR1020177036436 A KR 1020177036436A KR 20177036436 A KR20177036436 A KR 20177036436A KR 102462200 B1 KR102462200 B1 KR 102462200B1
- Authority
- KR
- South Korea
- Prior art keywords
- resource
- price
- coordinator device
- initial resource
- initial
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000003044 adaptive effect Effects 0.000 claims description 7
- 238000011017 operating method Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 36
- 238000012545 processing Methods 0.000 description 16
- 230000006978 adaptation Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000012092 media component Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000750 progressive effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2385—Channel allocation; Bandwidth allocation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 개시(disclosure)는 조정자 장치(coordinator device) 및 UE(user equipment) 사이에 대역폭을 할당하는 시스템들 및 방법들에 관한 것이다. 시스템에서, UE는 조정자 장치와 통신하도록 구성된 통신 인터페이스를 포함한다. 또한, UE는 조정자 장치로부터 초기 자원 가격을 수신하고, 초기 자원 요청을 결정하고, 초기 자원 요청을 조정자 장치에 송신하도록 구성된 프로세서를 포함한다.
Description
본 개시(disclosure)는 일반적으로 미디어 스트리밍에 관한 것으로, 보다 구체적으로는 미디어 스트리밍 네트워크에서 자원들을 할당하는 것에 관한 것이다.
미디어 스트리밍에서의 최근 개발들은 여러 가지 이유들로 전송 프로토콜로 HTTP(hypertext transfer protocol)를 선호했다. HTTP 프로토콜 스택(protocol stack)들은 거의 모든 현존하는(existing) 플랫폼에 널리 배포된다. HTTP로 스트리밍 서비스를 시작하는 것은, 특수한 하드웨어나 소프트웨어가 필요하지 않으며, 오픈 소스 아파치 웹 서버(Apache web server)와 같은 현존하는 기성의 서버들을 사용하여 수행될 수 있다. HTTP의 사용은 기존의 CDN(content distribution network) 인프라들을 재사용할 수 있는 이점을 가지고 있다. 또한, HTTP의 광범위한 사용으로 인해, RTP(real-time transport protocol)와 같은 다른 프로토콜들에서 발생할 수 있는 NAT(network address translation) 순회(traversal) 및 방화벽(firewall) 문제들이 HTTP에 대해 본질적으로 해결된다.
지난 몇 년 동안 여러 가지 적응형 HTTP 스트리밍 솔루션들이 개발되었다. 중요한 솔루션은 HTTP 동적 적응 스트리밍(dynamic adaptive streaming over HTTP, DASH)이라고 불리는 MPEG(moving pictures experts group) 및 3GPP(3rd Generation Partnership Project)에서 표준화된 솔루션이다. DASH는 인터넷과 같은 네트워크들을 통해 미디어 콘텐트를 고품질로 스트리밍할 수 있도록 장치들이 동작하는 기술 표준들의 집합이다. DASH는 미디어 데이터 전달 형식들뿐만 아니라 MPD(media presentation description)라고 불리는 매니페스트 파일(manifest file)의 구문 및 의미에서 시작하는 절차들을 정의한다.
그러나, DASH는 병목(bottleneck)을 공유하는 비디오 세션(session)들의 전송률-왜곡 트레이드-오프 정보(rate-distortion trade-off information)뿐만 아니라 병목 자원의 제약들에 대한 정보가 부족한 클라이언트 기반의 풀(pull) 기반 스트리밍 솔루션이다. 따라서, DASH는, 병목을 효과적으로 처리할 수 없으며, 병목을 공유하는 모든 비디오 세션들에 대해 QoE(quality of experience) 최대화를 달성할 수 없다. 또한, HTTP 전송은, 패킷 손실을 혼잡으로 해석하고, 전송창(transmitting window)을 반으로 줄여 느린 시작 및/또는 채널 이용률 저하로 이어질 수 있으므로, 무선 채널들에 적합하지 않다. 따라서, DASH는, 현재 네트워크들에서 비디오 어플리케이션들의 최대의 QoE 퍼텐셜(potential)들을 달성하는 것을 방해할 수 있다.
본 개시(disclosure)의 실시 예들은 DASH(dynamic adaptive streaming over HTTP) 기반의 데이터 스트리밍에서 자원들을 할당하는 방법들 및 장치들을 제공한다.
일 실시 예에서, 사용자 장비(user equipment, UE)가 제공된다. UE는 조정자 장치(coordinator device) 및 프로세서와 통신하도록 구성된 통신 인터페이스를 포함한다. 상기 프로세서는 조정자 장치로부터 초기 자원 가격을 수신하고, 초기 자원 요청을 결정하고, 초기 자원 요청을 조정자 장치에 송신하도록 구성된다.
다른 실시 예에서, 조정자 장치가 제공된다. 조정자 장치는 네트워크와 통신하도록 구성된 네트워크 인터페이스 및 복수의 UE들과 통신하도록 구성된 통신 인터페이스를 포함한다. 상기 조정자 장치는 초기 자원 가격을 결정하고, 상기 초기 자원 가격을 상기 복수의 UE들 중 적어도 하나의 UE로 송신하고, 상기 적어도 하나의 UE로부터 초기 자원 요청을 수신하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 실시 예에서, 대역폭을 할당하기 위해 UE에 의해 수행되는 방법이 제공된다. 상기 방법은, 조정자 장치로부터 초기 자원 가격을 수신하는 과정과, 초기 자원 요청을 결정하는 과정과, 초기 자원 요청을 조정자 장치에 송신하는 과정을 포함한다.
본 개시(disclosure)의 일 실시 예에 따르면, 본 개시의 장치 및 방법은 미디어 스트리밍 네트워크에서 자원들을 효율적으로 할당할 수 있다.
본 개시(disclosure)와 그 이점을 보다 완벽히 이해하기 위하여, 후술될 상세한 설명에 대하여 첨부된 도면과 함께 참조 번호가 제공된다.
도 1은 본 개시에 따른 멀티미디어에 대한 예시적인 네트워크 환경을 도시한다.
도 2는 본 개시에 따른 예시적인 조정자 장치(coordinator device)를 도시한다.
도 3은 본 개시에 따른 예시적인 클라이언트 장치를 도시한다.
도 4는 본 개시에 따른 미디어 MPD(media presentation description) 파일의 예시적인 구조를 도시한다.
도 5는 본 개시에 따른 품질 대 비트 전송률을 나타내는 도표를 도시한다.
도 6은 본 개시에 따른 네트워크 환경에서 대역폭을 할당하는 예시적인 방법을 도시한다.
도 7은 본 개시에 따른 조정자 장치에 의해 수행되는 예시적인 방법을 도시한다.
도 8은 본 개시에 따른 클라이언트 장치에 의해 수행되는 예시적인 방법을 도시한다.
도 1은 본 개시에 따른 멀티미디어에 대한 예시적인 네트워크 환경을 도시한다.
도 2는 본 개시에 따른 예시적인 조정자 장치(coordinator device)를 도시한다.
도 3은 본 개시에 따른 예시적인 클라이언트 장치를 도시한다.
도 4는 본 개시에 따른 미디어 MPD(media presentation description) 파일의 예시적인 구조를 도시한다.
도 5는 본 개시에 따른 품질 대 비트 전송률을 나타내는 도표를 도시한다.
도 6은 본 개시에 따른 네트워크 환경에서 대역폭을 할당하는 예시적인 방법을 도시한다.
도 7은 본 개시에 따른 조정자 장치에 의해 수행되는 예시적인 방법을 도시한다.
도 8은 본 개시에 따른 클라이언트 장치에 의해 수행되는 예시적인 방법을 도시한다.
아래의 상세한 설명을 하기 전에, 본 특허 문서 전체에 걸쳐 사용된 특정 단어 및 어구의 정의를 기술하는 것이 바람직할 수 있다. “커플(couple)”이라는 용어와 그 파생어는 둘 이상의 요소가 서로 물리적으로 접촉하는 것과 상관없이 직접 또는 간접적으로 통신하는 것을 의미한다. “송신”, “수신”, 및 “통신” 그리고 이들의 파생어들은 직접 및 간접적인 통신을 포함한다. “포함하다(include)” 및 “구성되다(comprise)” 그리고 이들의 파생어들은 제한없는 포함을 의미한다. “또는”이라는 용어는 포괄적이며, 및/또는을 의미한다. 어구 “연결되다(associated with)”와 그 파생어는 포함한다(include), 안에 포함되다(be included within), 상호 연결하다(interconnect with), 포함하다(contain), 안에 포함되다(be contained within), 연결하다(connect to or with), 연결하다(couple to or with), 와 통신할 수 있다(be communicable with), 협력하다(cooperate with), 상호 배치하다(interleave), 병치하다(juxtapose), 근접하다(be proximate to), 묶여있다(be bound to or with), 가지다(have), 속성을 가지다(have a property of), 관계가 있다(have a relationship to or with) 등을 의미한다. “적어도 하나”라는 문구는 항목 목록과 함께 사용될 때 나열된 항목 중 적어도 하나의 다른 조합을 사용할 수 있으며, 목록의 한 항목만 필요할 수 있음을 의미한다. 예를 들어, “A, B, 및 C 중 적어도 하나”에는 A, B, C, A 및 B, A 및 C, B 및 C 그리고 A 및 B 및 C 조합 중 하나가 포함된다.
또한, 이하에서 설명되는 다양한 기능들은 적어도 하나의 컴퓨터 프로그램에 의해 구현되거나 지원될 수 있으며, 각각의 컴퓨터 프로그램은 컴퓨터 읽기 가능 프로그램 코드로 형성되고 컴퓨터 읽기 가능 매체에 구현된다. 용어 “어플리케이션(application)” 및 “프로그램(program)”은 적절한 컴퓨터 읽기 가능 프로그램 코드에서 구현하기 위해 적응된 적어도 하나의 컴퓨터 프로그램들, 소프트웨어 구성요소들, 명령어 세트들, 과정들, 기능들, 객체들, 클래스(class)들, 사례들, 관련 데이터 또는 그 일부를 나타낸다. 문구 “컴퓨터 읽기 가능 프로그램 코드”는 소스 코드(source code), 목적 코드(object code) 및 실행 가능 코드를 포함하는 모든 유형의 컴퓨터 코드를 포함한다. 문구 “컴퓨터 읽기 가능 매체”는 읽기 전용 메모리(read only memory, ROM), 랜덤 액세스 메모리(random access memory, RAM), 하드 디스크 드라이브, 컴팩트 디스크(compact disc, CD), 디지털 비디오 디스크(digital video disc, DVD) 또는 임의의 다른 유형의 메모리와 같은 컴퓨터에 의해 접속될 수 있는 임의의 유형의 매체를 포함한다. “비일시적인(non-transitory)” 컴퓨터 읽기 가능 매체는 일시적인 전기적 신호 또는 다른 신호를 송신하는 유선, 무선, 광학, 또는 다른 통신 링크를 배제한다. 비일시적인 컴퓨터 읽기 가능 매체는 데이터가 영구적으로 저장될 수 있는 매체 및 재기록 가능한 광 디스크 또는 제거 가능한 메모리 장치와 같은 데이터가 저장되고 후에 겹쳐 쓸 수 있는 매체를 포함한다.
다른 특정 단어 및 문구에 대한 정의는 본 특허 문서 전체에 걸쳐 제공된다. 본 개시(disclosure)가 속하는 기술 분야에서 통상의 지식을 가진 자라면 대부분의 경우는 아니지만, 그러한 정의가 그러한 정의된 단어와 문구의 이전 및 이후의 사용에 적용된다는 것을 이해해야 한다.
이하에서 논의되는 도 1 내지 도 8 및 본 특허 문서에서 본 개시(disclosure) 내용의 원리를 설명하기 위해 사용된 다양한 실시 예들은 단지 설명을 위한 것이며, 본 발명의 범위를 제한하는 것으로 해석되어서는 안 된다. 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자는 본 개시의 원리가 임의의 적절히 배열된 시스템 또는 장치로 구현될 수 있다는 것을 이해할 것이다.
후술되는 다양한 도면들은 유선 또는 무선 통신 시스템들에서 구현될 수 있다. 그러나, 이들 도면들의 설명들은 다른 실시 예들이 구현될 수 있는 방식에 대한 물리적 또는 구조적 제한들을 의미하는 것은 아니다. 본 개시의 다른 실시 예들은 임의의 적합한 통신 기술들을 사용하여 임의로 적절히 배치된 통신 시스템들에서 구현될 수 있다.
도 1은 본 개시에 따라 멀티미디어를 공유하기 위한 예시적인 네트워크 환경 100을 도시한다. 도시된 실시 예에서, 환경 100은 조정자 장치(coordinator device) 102 및 임의의 공지된 무선 또는 유선 기술들을 통해 조정자 장치 102에 접속된 하나 이상의 사용자 장비(user equipment, UE)들 104 내지 116을 포함한다. 조정자 장치 102는, 네트워크 118과 하나 이상의 UE들 104 내지 116을 접속할 수 있는 라우터(router)(예: 스마트 라우터), 서버, "eNodeB" 또는 "eNB"(예: "기지국" 또는 "액세스 포인트(access point, AP)"), 게이트웨이(gateway, GW), 모뎀 등을 나타낼 수 있다. 네트워크 118은, 인터넷, 미디어 브로드캐스트(broadcast) 네트워크, IP-기반 통신 시스템, 또는 다른 적절한 네트워크를 나타낼 수 있다.
UE들 104 내지 116은 조정자 장치 102를 통해 네트워크 118과 통신한다. 예를 들어, UE들 104 내지 116은 본 개시의 교시들에 따라 DASH 표준들 및 프로토콜들을 사용하여 네트워크 118로부터 스트리밍된 미디어 데이터를 수신 할 수 있다. 하나의 조정자 장치 102가 도시되었지만, 다수의 조정자 장치들이 환경 100에 보여질 수 있다.
본 명세서에 설명된 실시 예들에 따르면, 조정자 장치 102는 네트워크 118로의 광대역 액세스(broadband access)를 접속된 UE들에 제공한다. UE는 PDA(personal digital assistant) 104, 이동 전화 또는 스마트 폰 106, 랩탑 108, PC(personal computer) 110, 디스플레이 장치(예: 텔레비전) 112, 및/또는 태블릿 컴퓨터 116을 포함할 수 있다. UE들은 임의의 공지된 통신 기술들(예: TCP(transmission control protocol) 및 IP(internet protocol))을 사용하여 조정자 장치 102와 통신할 수 있다. 단지 여섯 개의 UE들이 도 1에 도시되어 있지만, 환경 100은 추가적인 UE들에 광대역 액세스를 제공할 수 있다. "이동국", "가입자국", "원격 단말", "무선 단말", 또는 "사용자 장치"와 같은 "사용자 장비" 또는 "UE" 대신에 다른 잘 알려진 용어가 사용될 수 있다. 편의상, UE가 모바일 장치(예: 태블릿 컴퓨터 또는 스마트 폰)이든 또는 일반적으로 고려되는 고정 장치(예: 데스크탑 컴퓨터 또는 텔레비전)이든 간에, 조정자 디바이스 102에 액세스하는 원격 장비를 지칭하기 위해 "사용자 장비" 및 "UE"라는 용어가 이 특허 문서에서 사용된다. UE들 104 내지 116은 조정자 장치 102를 통해 네트워크 118로부터 음성, 데이터, 비디오, 화상 회의, 및/또는 다른 광대역 서비스들을 액세스할 수 있다.
도 2는 본 개시에 따른 예시적인 조정자 장치 200을 도시한다. 조정자 장치 200은 프로세서 202 및 메모리 204를 포함한다. 네트워크 인터페이스 206은 네트워크 118와 통신하여 전술한 하나 이상의 UE들에 미디어를 제공하고, 통신 인터페이스 208은 UE 210과 통신하며, 통신 인터페이스 또는 송수신부 212는 UE 214와 통신할 수 있다. 버스 216은 예를 들어, 요소들 202, 204, 206, 208, 및 212를 상호 접속하고 요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 송신하는 회로를 포함할 수 있다.
프로세서 202는 중앙 처리 유닛(central processing unit, CPU), 어플리케이션 프로세서(application processor, AP), 및/또는 통신 프로세서(communication processor, CP) 중 하나 이상을 포함할 수 있다. 프로세서 202는 예를 들어, 조정자 장치 200의 적어도 하나의 다른 요소의 제어 및/또는 통신에 대한 동작 또는 데이터 처리를 수행할 수 있다.
메모리 204는 휘발성 메모리 및/또는 비-휘발성 메모리를 포함할 수 있다. 메모리 204는 예를 들어, 조정자 장치 200의 적어도 하나의 다른 요소에 관련된 명령들 또는 데이터(예: 동작 패턴 정보(motion pattern information) 및 동작 데이터(motion data))를 저장할 수 있다. 일 실시 예에 따르면, 메모리 204는 소프트웨어 및/또는 프로그램을 저장할 수 있다. 예를 들어, 프로그램에는 커널(kernel), 미들웨어(middleware), 어플리케이션 프로그래밍 인터페이스(application programming interface, API) 및 어플리케이션(또는 어플리케이션 프로그램)이 포함될 수 있다. 커널, 미들웨어, 및 API 중 적어도 일부는 운영체제(operating system, OS)라고 할 수 있다.
커널은 다른 프로그램들(예: 미들웨어, API, 또는 어플리케이션)에 의해 구현되는 동작 또는 기능을 수행하는데 사용되는 시스템 자원들(예: 버스 216, 프로세서 202, 또는 메모리 204)을 제어하거나 관리할 수 있다. 또한, 커널은 미들웨어, API, 또는 어플리케이션이 조정자 장치 200의 개별 요소들에 액세스하여 시스템 자원들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
예를 들어, 미들웨어는 API 또는 어플리케이션이 커널과 통신하여 데이터를 교환할 수 있도록 하는 중개자(intermediary)로서 기능을 할 수 있다.
또한, 미들웨어는 우선 순위들에 따라 어플리케이션으로부터 수신된 하나 이상의 작업 요청들을 처리할 수 있다. 예를 들어, 미들웨어는 조정자 장치 200의 시스템 자원들(예: 버스 216, 프로세서 202, 메모리 204 등)을 어플리케이션 중 적어도 하나에 사용하기 위한 우선 순위들을 할당할 수 있다. 예를 들어, 미들웨어는 할당된 우선 순위들에 따라 하나 이상의 작업 요청들을 처리함으로써 하나 이상의 작업 요청들에 대한 스케줄링 또는 로딩 밸런싱(loading balancing)을 수행할 수 있다.
API는 어플리케이션들이 커널 또는 미들웨어로부터 제공되는 기능들을 제어하는 인터페이스이다.
네트워크 인터페이스는 무선 또는 유선 통신 방법들을 통해 네트워크 118과 통신할 수 있다. 무선 통신은, 예를 들어, LTE(long term evolution), LTE-A(LTE-advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(wireless broadband), 및 GSM(global system for mobile communications) 중 적어도 하나를 셀룰러 통신 프로토콜로서 사용한다. 또한, 무선 통신은, 예를 들어, Wi-Fi®, Bluetooth®, 또는 NFC(near field communication)와 같은 근거리 통신을 포함할 수 있다. 유선 통신은, 예를 들어, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232 (recommended standard-232), 및/또는 POTS(plain old telephone service) 중 적어도 하나를 포함할 수 있다. 네트워크 118은 컴퓨터 네트워크(예: LAN(local area network) 또는 WAN(wide area network)), 인터넷, 및/또는 전화 네트워크와 같은 통신 네트워크 중 적어도 하나를 포함할 수 있다.
예를 들어, 통신 인터페이스 208은 조정자 장치 200과 UE 210 간의 통신을 설정할 수 있다. 예를 들어, 통신 인터페이스 208은 UE 210과 유선 통신을 통해 접속되어 UE 210과 통신할 수 있다. 유선 통신은, 예를 들어, USB, 이더넷(ethernet) 접속, HDMI(high definition multimedia interface), RS-232, 및/또는 POTS 중 적어도 하나를 포함할 수 있다.
예를 들어, 송수신부 212는 조정자 장치 200과 UE 214 사이의 통신을 설정할 수 있다. 예를 들어, 송수신부 212는 UE 214와 통신하기 위해 무선 통신 방법을 통해 UE 214에 접속될 수 있다. 무선 통신은, 예를 들어, LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, 및 GSM 중 적어도 하나를 셀룰러 통신 프로토콜로서 사용한다. 또한, 무선 통신은, 예를 들어, Wi-Fi®, Bluetooth®, 또는 NFC와 같은 근거리 통신을 포함할 수 있다.
도 3은 본 개시의 실시 예들에 따른 예시적인 UE 300을 도시한다. 도 3에 도시된 UE 300의 실시 예는 단지 설명을 위한 것이며, 도 1의 UE들 104 내지 116은 동일하거나 유사한 구성을 가질 수 있다. 그러나, UE들은 매우 다양한 구성들을 가지며, 도 3은 본 개시의 범위를 UE의 임의의 특정 구현으로 제한하지 않는다.
도 3에 도시된 바와 같이, UE 300은, 일련의 안테나들 305, 무선 주파수(radio frequency, RF) 송수신부 310, 송신(transmit, TX) 처리회로 315, 마이크로폰 320 및 수신(receive, RX) 처리회로 325를 포함한다. 또한 UE 116은, 스피커 330, 메인 프로세서 340, 입/출력(input/output, I/O) 인터페이스(interface, IF) 345, 입력부 350, 디스플레이(display) 355 및 메모리(memory) 360을 포함한다. 메모리 360은 운영체제(operating system, OS) 361 및 적어도 하나의 어플리케이션들(applications) 362를 포함한다.
RF 송수신부 310은 일련의 안테나들 305로부터 네트워크 118의 eNB에 의해 송신되는 수신 RF 신호를 수신한다. RF 송수신부 310은 수신 RF 신호를 중간 주파수(intermediate frequency, IF) 또는 기저대역 신호를 생성하기 위해 하향 변환(down-converts)한다.
IF 또는 기저대역 신호는 기저대역 또는 IF 신호를 필터링(filtering), 디코딩(decoding) 및/또는 디지털화(digitizing) 함으로써 처리된 기저대역 신호를 생성하는 수신 처리회로 325로 송신된다. 수신 처리 회로 325는 처리된 기저대역 신호(예: 음성 데이터)를 스피커 330 또는 추가 처리(예: 웹 브라우징 데이터)를 위해 프로세서 340으로 송신한다.
송신 처리회로 315는 마이크로폰 320으로부터 아날로그 또는 디지털 음성 데이터를 수신하며, 프로세서 340으로부터 다른 발신 기저대역 데이터(웹 데이터, 이메일, 또는 양방향 비디오 게임 데이터)를 수신한다. 송신 처리회로 315는 처리된 기저대역 또는 IF 신호를 생성하기 위해 발신 기저대역 데이터를 인코딩(encodes), 다중화(multiplexes), 및/또는 디지털화 한다. RF 송수신부 310은 발신 처리된 기저대역 또는 IF 신호를 송신 처리회로 315로부터 수신하고, 상기 안테나 305를 통해 기저대역 또는 IF 신호를 송신되는 RF 신호로 상향 변환(up-converts)한다.
프로세서 340은 적어도 하나의 프로세서들 또는 다른 처리 장치들을 포함할 수 있고, UE 116의 전체 동작을 제어하기 위해 메모리 360에 저장된 OS 361을 실행할 수 있다. 예를 들어, 프로세서 340은 잘 알려진 원리들에 따라, RF 송수신부 310, 수신 처리 회로 325, 및 송신 처리 회로 315에 의한 순방향 채널 신호들의 수신 및 역방향 채널 신호들의 송신을 제어할 수 있다. 일부 실시 예들에서, 프로세서 340은 적어도 하나의 마이크로프로세서 또는 마이크로컨트롤러를 포함한다.
또한, 프로세서 340은 반복적인 방식으로 자원 가격들 및 소비 요청들을 결정하는 과정을 처리하는 등의 메모리 360에 상주하는 다른 프로세스들 및 프로그램들을 실행할 수 있다.
프로세서 340은 실행 프로세서에 의해 요구되는 바와 같이, 데이터를 메모리 360의 내외로 옮길 수 있다. 일부 실시 예들에서, 프로세서 340은, OS 361에 기초하여 또는 eNB들 또는 오퍼레이터로부터 수신된 신호들에 응답하여 어플리케이션들 362를 실행하도록 구성된다. 또한, 프로세서 340은, UE 300에 노트북들 및 휴대용 컴퓨터들과 같은 다른 장치들과 접속되도록 하는 능력을 제공하는 I/O 인터페이스 345에 결합되어 있다. I/O 인터페이스 345는 이러한 액세서리들 및 프로세서 340 사이의 통신 경로이다.
또한, 프로세서 340은 입력부 350 및 디스플레이 355에 결합되어 있다. UE 300의 오퍼레이터는 UE 300으로 데이터를 입력하기 위해 입력부 350을 사용할 수 있다. 디스플레이 355는 액정디스플레이, 발광 다이오드 디스플레이, 또는 웹사이트로부터의 문자 및/또는 적어도 제한된 그래픽을 렌더링(rendering) 할 수 있는 디스플레이일 것이다. 일부 실시 예에서, 프로세서 340은 네트워크 성능을 검출할 수 있다. 예를 들어, 프로세서 340은 조정자 200로부터 자원 가격을 식별하고 UE 300에 필요한 자원들을 결정할 수 있다.
메모리 360은 프로세서 340에 결합되어 있다. 메모리 360의 일부는 RAM을 포함할 수 있고, 메모리 360의 다른 부분은 플래시 메모리 또는 ROM을 포함할 수 있다. 일부 실시 예에서, 메모리 360은, 적어도 하나의 프로세서 240에 의해 실행될 때, 적어도 하나의 프로세서 240이 조정자 200으로의 전송을 위한 자원 소비 요청을 결정하도록 하는 프로그램 코드를 포함한다.
도 3은 UE 300의 일례를 도시하지만, 도 3에 다양한 변경들이 이루어질 수 있다. 예를 들어, 도 3의 다양한 구성들은 조합되고, 세분화되거나 생략될 수 있으며 추가적인 구성들이 특정 필요들에 따라 추가될 수 있다. 특정 예로서, 프로세서 340은 적어도 하나의 중앙 처리 유닛들 및 적어도 하나의 그래픽 처리 유닛(graphics processing unit, GPU)들과 같은 다중 프로세서들로 나눠질 수 있다. 다른 예에서, 단지 하나의 안테나가 안테나들의 세트 305에 사용될 수 있다. 또한, 일부 실시 예들에서, UE 300은 상술한 바와 같이 유선 또는 광 접속을 통해 조정자 200에 접속되고 및/또는 무선 접속성(예: RF 송수신기 310 또는 안테나(들) 305)을 포함하지 않을 수 있다. 이들 실시 예들에서, UE는, 예를 들어 상술한 통신 인터페이스 208과 같은 통신 인터페이스를 포함한다. 예를 들어, 도 3는 휴대전화 및 스마트폰으로 구성된 UE 300을 도시하지만, UE들은 다른 유형의 이동 또는 고정 장치들로 구성되도록 할 수 있다.
도 4는 본 개시에 따른 MPD(media presentation description) 파일 400의 예시적인 구조를 도시한다. DASH에서, MPD 파일 400은 프레젠테이션(presentation)의 미디어 데이터에 액세스하는 방법 및 다른 콘텐트 구성요소들에 대한 주석들을 제공하여 수신기 또는 최종 사용자가 콘텐트를 선택할 수 있게 하는 방법을 설명하는 매니페스트 파일(manifest file)이다.
도 4에 도시된 바와 같이, MPD 파일 400은 일련의 연속적인 시간 기간(period)들 410a-410n로 분할되는 미디어 프레젠테이션(media presentation) 405를 설명한다. 각각의 기간 410a-410n은 적응 세트(adaptation set)들 415a-415n로서 정의되는 미디어 구성요소들의 세트를 포함한다. 특정 구성요소에 대해, 적응 세트 415a-415n는 표현(representation)들의 세트 420a-420n를 포함하며, 각각은 동일한 미디어 구성요소의 상이한 인코딩(예: 상이한 비트 전송률들, 코덱들, 또는 포맷들)이다. 각각의 표현 420a-420n은 개별적으로 꺼내어지고(fetch) 스트리밍될 수 있다. 미디어 스트리밍을 단순화하기 위해, 각 표현 420a-420n은 하나 이상의 미디어 세그먼트(media segment)들 425a-425n로 분할될 수 있다. MPD 파일 400의 표현 420a-420n은 콘텐트 구성요소의 특정 인코딩(예: 비트 전송률, 코덱, 또는 포맷)에 대한 특성을 설명한다. 또한, 표현 420a-420n은 그 콘텐트 표현의 각 세그먼트 425a-425n에 대한 액세스 정보를 제공한다. MPD 파일 400은, 세그먼트들이 HTTP URL(uniform resource locator)들 및 선택적으로 참조된 자원들 내의 바이트 범위들을 사용하여 액세스 가능하다고 가정한다. 템플릿(template) 구성은 MPD 파일 400에서 그 자신의 URL을 갖는 각각의 단일 세그먼트를 참조하는 것을 피하기 위해 제공된다. 또한, 세그먼트들 425a-425n는 인덱스 1(index 1)로부터 시작하여 각각의 후속 세그먼트에 대해 1씩 증가되어 인덱싱될(indexed) 수 있다.
DASH는 적어도 두 가지의 다른 미디어 데이터 포맷들을 정의하며, 하나는 ISOBMFF(international organization for standardization base media file format) 에 기반하며, 하나는 M2TS(MPEG-2 transport system)에 기반한다.
본 개시의 실시 예들은 적응형 HTTP 스트리밍 솔루션들과 프로그레시브 다운로드(progressive download) 간의 차이가 혼잡 상황들 및 처리량(throughput) 변화들에 반응하고 그에 따라 그들의 비트 전송률들을 적응시키는 적응형 HTTP 스트리밍 솔루션들의 능력에 있다는 것을 인식한다. 프로그레시브 다운로드에서, 콘텐트의 단일 표현을 포함하는 미디어 파일은 클라이언트에 의해 다운로드된다. 여러 인코딩들이 존재할 수 있지만, 프로그레시브 다운로드에는 적절한 설명 및 선택 메커니즘(mechanism)들이 제공되지 않으므로, 외부 메커니즘(예: 사용자 선택)을 통해 세션(session) 시작 시 적절한 표현의 선택이 제한된다.
본 개시의 실시 예들은, DASH에서, 콘텐트의 각각의 미디어 구성요소가 적응 세트의 일부로서 제공된다는 것을 인식한다. 적응 세트는 동일한 콘텐트의 하나 이상의 표현들을 포함하며, 그 중에서 UE는 스트리밍 세션의 임의의 시간에 하나를 선택할 수 있다. UE는 전체 처리량 버짓(budget) 내에서 적합한 표현으로 스위칭(switching)함으로써 네트워크 조건들에 적응한다. 본 개시의 실시 예들은 DASH 전송률(rate) 적응이 클라이언트-구동(client-driven)임을 인식한다. 그러나, 전송률 적응의 정확성은 UE가 선택하는 동작 지점들의 수를 제어하는 프레젠테이션 작성자(예: 조정자 장치 및/또는 네트워크)에 의해 결정된다.
UE는 처리량 및 UE 내의 하나 이상의 미디어 버퍼들의 레벨을 모니터링하고, 표현들을 스위칭할 것인지 여부와, 스위칭하는 경우, 어느 표현을 선택할 것인지 결정할 수 있다. 예를 들어, UE는, 사용 가능한 처리량이 미디어 세그먼트가 다운로드되고 있는 표현에 필요한 대역폭보다 낮거나, 동일하거나, 또는 높은지 여부의 표시로서 "세그먼트 다운로드 시간 대 세그먼트 지속 기간(duration)"의 비를 사용할 수 있다. 1.0보다 큰 값은, UE가 미디어 세그먼트에 의해 제공되는 미디어의 양보다 미디어 세그먼트를 다운로드하는데 더 많은 시간을 사용한다는 것을 지시한다. 이는, 미디어 수신율이 미디어 소비율보다 낮아 미디어 버퍼를 소진시킬 것이기 때문에, 앞으로 발생할 수 있는 재생(playback) 문제를 지시한다. UE는 더 낮은 대역폭 요구들을 갖는 표현으로 스위칭하도록 선택할 수 있다.
DASH는, 콘텐트 제공자에 의해 제공된 표현들 사이에서 스위칭함으로써 전송률 적응을 수행하기 위해 UE에 의존한다. 그러나, UE들 자체는 병목을 완화시킬 수 없을 수도 있는데, 그 이유는 DASH가 그렇게 하기 위한 정보 및/또는 메커니즘들이 부족하기 때문이다. 이러한 경우들에서, 조정자 장치는 네트워크 이용 효율성들을 증진시키기 위한 병목 처리를 위해 다수의 UE들과의 현존하는 접속들의 대역폭을 조정할 필요가 있을 수 있다. 본 명세서에 설명된 실시 예들은, 병목 자원을 조정하기 위해 한계효용 최대화(marginal utility maximization) 기반의 자원 가격 책정(pricing) 체계를 사용함으로써, 다수의 UE들이 조정자 장치 및/또는 스트리밍 데이터에 접속될 때, 병목 문제들을 완화한다. 본 명세서에 사용된 용어 "자원"은 대역폭을 의미하며, "자원 가격 책정(resource pricing)" 또는 "자원 가격(resource price)"이란 용어는 금전적 가치를 말하는 것이 아니라 최적의 동작 지점을 결정하기 위해 트레이드오프(tradeoff) 결정에 대한 가격을 책정하기 위해 UE의 유틸리티에서 UE에 의해 사용되는 자원 또는 대역폭에 대한 가격을 의미한다. "동작 지점(operation point)" 또는 "동작하는 지점(operating point)"이라는 용어는 유틸리티 또는 QoE 및 데이터 스트림의 비트 전송률을 나타낸다. 동작 지점은 MPD에서 수행되거나 MPD에서 얻어질 수 있다. 선택된 최적의 동작 지점은 가격 대비 효용을 최대화할 수 있다.
예를 들어, 도 5에 도시 된 바와 같이, QoE와 대역폭 사이의 관계는 선형 적이지 않다. 조정자 장치와 UE 사이의 대역폭이 증가함에 따라, MPD의 QoE는 동작 지점 502까지 실질적으로 증가한다. 동작 지점 502 이후에, QoE에서의 증가는 한계로 수렴하고, 이에 따라 대역폭의 증가는 QoE를 크게 증가시키지 않을 수 있다. 이를 고려하여, 조정자 장치 및 UE들은, 조정자 장치에 접속된 모든 UE들에 대해 인지된 품질 또는 효용을 최대화할 최적의 동작 지점을 결정하기 위해 대역폭을 할당하기 위한 반복적인 프로세스들을 수행한다.
도 6 내지 도 8은 본 개시에 따른 네트워크 환경에서 대역폭을 할당하는 방법들을 도시한다. 도 6 내지 도 8은 도 1과 관련하여 설명될 것이다.
도 6에 도시된 바와 같이, 조정자 장치 200은 초기 자원 가격 λi을 선택한다. 초기 자원 가격 λi은, 조정자 장치 200에 의해 랜덤하게 선택되거나, 사용된 과거 자원 가격들, 하루 중 시간(time of day), 조정자 장치 102에 접속된 UE들의 개수, 데이터를 스트리밍하는 UE들의 개수, 스트리밍되는 데이터의 유형, 각각의 UE들에 할당된 우선 순위들, 및/또는 조정자 장치 102와 네트워크 118 사이의 접속 대역폭을 포함하는 다른 요인들에 기반하여 선택될 수 있다(그러나, 이에 한정되지는 않음).
조정자 장치 102는, 과정 602에서, 초기 자원 가격 λi을 복수의 단말들 104 내지 116에게 송신한다. 각각의 UE들 104 내지 116은 데이터 스트림으로부터 동작 지점들을 추출 또는 유도하고, <수학식 1>을 최대화할 수 있는 모든 동작 지점들을 검색한다.
여기서, k는 프레젠테이션의 동작 지점을 나타내고, k(i)는 반복 i에서의 최적의 동작 지점을 나타내고, Xk(i)는 조정자 장치 102에 송신되는 최적의 동작 지점 ki에 대한 총 자원 요구를 나타내고, Uk는 최적의 동작 지점에서의 품질 지시자를 나타내고, λi는, 반복 i 이후에, 조정자 장치로부터 수신된 초기 자원 가격을 나타내고, xk는 동작 지점에서의 자원 요구를 나타낸다. UE들 각각은, 과정 606에서, 조정자 장치 102로 송신되는 자원 소비 요청을 결정하고 생성한다.
조정자 장치는, 과정 608에서, 모든 자원 소비 요청들을 합산하고, <수학식 2>에세 보여지는 바와 같이 이를 임계값 "C"와 비교한다.
여기서, BWi는 자원 소비 요청들의 합계이고 "C"는 조정자 장치 200과 네트워크 118 사이의 접속의 광대역 용량을 나타낸다. 자원 소비 요청들의 합계가 "C"보다 높으면, 조정자 장치는, 과정 610에서, 모든 UE들 104 내지 116으로 송신되는 자원 가격 λi+1을 인상한다. 조정자 장치 102는 대역폭 초과에 기초하여 자원 가격 λi+1을 비례하여 조정할 수 있다. 예를 들어, 조정자 장치 102는 광대역 용량 "C"로부터 자원 소비 요청들의 합계를 빼서 초과값 R을 결정할 수 있다. "R"이 0보다 작은 경우, 자원 가격은 <수학식 3>에 따라 조정된다.
"R"이 사전 결정된 임계값보다 큰 경우, 자원 가격은 <수학식 4>에 따라 조정된다.
각각의 UE 104 내지 116은, 과정 612에서, 조정된 자원 가격 λi+1에 기초하여, <수학식 1>을 최대화하는 모든 동작 지점들을 다시 찾을 것이다.
도 7은 본 개시에 따른 조정자 장치에 의해 수행되는 예시적인 방법을 도시한다. 이 방법은 프로세서(예: 프로세서 202)에 의해 수행될 수 있는 조정자 장치의 메모리(예: 메모리 204)에 저장될 수 있다. 이 방법은, 과정 702에서, 조정자 장치 102가 자원 가격을 선택하고 선택된 자원 가격을 모든 UE들 104 내지 116에 송신하는 것으로 시작한다. 예를 들어, 이 과정의 일부로서, 조정자 장치 102는, 자원 가격을 랜덤하게 또는 사용된 과거 자원 가격들, 하루 중 시간, 조정자 장치 102에 접속된 UE들의 개수, 데이터를 스트리밍하는 UE들의 개수, 스트리밍되는 데이터의 유형, 및/또는 조정자 장치 102와 네트워크 118 사이의 접속 대역폭을 포함하는 하나 이상의 요인들에 기반하여 선택될 수 있다. UE들 104 내지 116 각각은, 과정 704에서, 조정자 디바이스 102에 의해 수신된 자원 소비 요청을 계산한다. 조정자 장치 102는, 과정 706에서, 자원 소비 요청들을 모두 합산하고, 과정 708에서, <수학식 2>에 나타낸 바와 같이 합계를 임계값 "C"와 비교한다. 상기 합계가 임계값 "C"보다 크면, 과정 710에서, 자원 가격이 인상되고 UE들 104-116에 송신된다. 합계가 임계값 "C"보다 작으면, 조정자 장치 102는, 과정 712에서, 요청된 소비 요청에서 데이터 스트림의 적어도 하나의 표현을 송신한다. 조정자 장치 102는, 과정 714에서, 데이터 스트림의 모든 표현들이 완료되었는지 결정한다. 모든 표현들이 완료되지 않으면, 방법은 과정 702로 복귀한다.
도 8은 본 개시에 따른 각각의 UE 104 내지 116에 의해 수행되는 예시적인 방법을 나타낸다. 이 방법은 프로세서(예: 프로세서 340)에 의해 실행될 수 있는 UE의 메모리(예: 메모리 360)에 저장될 수 있다. 설명을 단순화하기 위해, UE 104만이 논의될 것이다. UE 104에서, 자원 가격은, 과정 802에서, 조정자 장치 102로부터 수신된다. UE 104는, 과정 804에서, 전술한 <수학식 1>에 따라 자원 소비 요청을 결정하고, 과정 806에서, 조정자 장치 102로 자원 소비 요청을 송신한다. UE 104는, 과정 808에서, 새로운 자원 가격이 조정자 장치 102로부터 수신되는지를 결정한다. 새로운 자원 가격이 수신되면, UE 104는 과정 804로 복귀한다. 새로운 자원 가격이 수신되지 않으면, UE 104는, 과정 810에서, 요청된 자원 소비 요청에 따라 적어도 하나의 표현을 수신한다. UE 104는, 과정 812에서, 데이터 스트림의 모든 표현들이 수신되었는지 결정한다. 모든 표현들이 수신되지 않은 경우, 방법은 과정 802로 복귀한다.
도 6 내지 도 8은 다른 방법들의 예들을 도시하지만, 도 6 내지 도 8에 다양한 변경이 이루어질 수 있다. 예를 들어, 일련의 과정들로서 도시되었지만, 각 도면의 다양한 과정들은 중첩되거나, 병렬로 발생하거나, 다른 순서로 발생하거나, 또는 여러 번 발생할 수 있다. 또한, 상술한 방법들은 데이터 스트림의 각각의 표현, 데이터 스트림의 표현들의 세트, 또는 전체 데이터 스트림에 대해 수행될 수 있다.
본 개시의 실시 예들은 다수의 UE들이 홈 네트워크 내의 라우터와 같은 조정자 장치에 접속될 때 발생할 수 있는 병목 문제를 완화시킨다.
본 개시는 예시적인 실시 예로 설명되었지만, 다양한 변경 예 및 수정 예가 당업자에게 제안될 수 있다. 본 개시는 첨부된 청구범위의 범위 내에 속하는 이러한 변경 예 및 수정 예들을 포함하는 것으로 의도된다.
Claims (24)
- HTTP 동적 적응 스트리밍(dynamic adaptive streaming over HTTP, DASH)를 이용하여 미디어 컨텐츠를 수신하는 UE(user equipment)에 있어서,
조정자 장치(coordinator device)와 통신하도록 구성되는 송수신부와,
적어도 하나의 프로세서를 포함하며,
상기 적어도 하나의 프로세서는,
컨텐츠 제공자로부터 적어도 하나의 표현(representation)들을 수신하고, 상기 적어도 하나의 표현 각각은 상기 미디어 컨텐츠를 스트리밍하기 위한 비트 레이트(bit rate)를 포함하고,
상기 조정자 장치로부터 초기 자원 가격을 수신하고, 상기 초기 자원 가격은 자원에 가중되는 가격으로써 상기 조정자 장치에 의해 선택되고,
상기 적어도 하나의 표현들 내에 포함된 상기 비트 레이트 및 상기 초기 자원 가격에 기초하여 상기 미디어 컨텐츠의 수신을 위해 요구되는 초기 자원 소모를 판단하고, 상기 조정자 장치로 상기 요구되는 초기 자원 소모를 나타내기 위한 초기 자원 요청을 송신하도록 구성되는 UE. - 삭제
- 삭제
- 청구항 1에 있어서,
상기 적어도 하나의 프로세서는, 상기 조정자 장치로부터 후속(subsequent) 자원 가격을 수신하고, 상기 적어도 하나의 표현들 내에 포함된 상기 비트 레이트 및 상기 후속 자원 가격에 기초하여 상기 미디어 컨텐츠를 수신하기 위해 요구되는 후속 자원 소모를 결정하고, 상기 조정자 장치로 상기 요구되는 후속 자원 소모를 나타내기 위한 후속 자원 요청을 송신하도록 더 구성되는 UE. - 조정자 장치(coordinator device)에 있어서,
네트워크와 통신하도록 구성되는 네트워크 인터페이스와,
복수의 UE(user equipment)들과 통신하도록 구성되는 송수신부와,
적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는, 초기 자원 가격을 결정하고, 상기 자원 가격은 자원에 가중되는 가격으로써 상기 복수의 UE들에 의해 사용되고,
복수의 UE들 중 적어도 하나의 UE로 상기 초기 자원 가격을 송신하고, 상기 적어도 하나의 UE로부터 초기 자원 요청을 수신하도록 구성되며,
상기 적어도 하나의 UE들 각각으로부터의 상기 초기 자원 요청은 미디어 컨텐츠의 적어도 하나의 표현들(representation) 내에 포함된 스트리밍을 위한 비트 레이트 및 상기 초기 자원 가격에 기초하여 상기 미디어 컨텐츠를 수신하기 위해 요구되는 초기 자원 소모를 포함하는 조정자 장치. - 청구항 6에 있어서,
상기 적어도 하나의 프로세서는, 상기 초기 자원 소모의 합계를 임계값과 비교하도록 더 구성되는 조정자 장치. - 청구항 7에 있어서,
상기 적어도 하나의 프로세서는,
상기 초기 자원 소모의 합계가 상기 임계값 보다 큰 경우, 후속(subsequent) 자원 가격을 결정하고,
상기 후속 자원 가격을 상기 복수의 UE들 중 상기 적어도 하나의 UE로 송신하고,
상기 적어도 하나의 UE로부터 후속 자원 요청을 수신하도록 구성되며,
상기 적어도 하나의 UE들 각각으로부터의 상기 후속 자원 요청은 상기 미디어 컨텐츠의 상기 적어도 하나의 표현들(representation) 내에 포함된 스트리밍을 위한 비트 레이트 및 상기 후속 자원 가격에 기초하여 상기 미디어 컨텐츠를 수신하기 위해 요구되는 후속 자원 소모를 포함하는 조정자 장치. - 삭제
- 삭제
- 청구항 8에 있어서,
상기 후속 자원 가격은, 상기 초기 자원 소모와 상기 임계값 사이의 차이에 기초하여 결정되는 조정자 장치. - 청구항 6에 있어서,
상기 초기 자원 가격은, 과거 자원 가격, 하루 중 시간(a time of day), 상기 조정자 장치에 접속된 UE들의 개수, 데이터를 스트리밍하는 UE들의 개수, 스트리밍되는 데이터의 유형, 또는 상기 조정자 장치와 네트워크 사이의 대역폭 중 적어도 하나에 기초하여 선택되는 조정자 장치. - HTTP 동적 적응 스트리밍(dynamic adaptive streaming over HTTP, DASH)를 이용하여 미디어 컨텐츠를 수신하는 UE(user equipment)의 동작 방법에 있어서,
컨텐츠 제공자로부터 적어도 하나의 표현(representation)들을 수신하는 단계; 상기 적어도 하나의 표현 각각은 상기 미디어 컨텐츠를 스트리밍하기 위한 비트 레이트(bit rate)를 포함하고,
조정자 장치로부터 초기 자원 가격을 수신하는 단계; 상기 초기 자원 가격은 자원에 가중되는 가격으로써 상기 조정자 장치에 의해 선택되고,
상기 적어도 하나의 표현들 내에 포함된 상기 비트 레이트 및 상기 초기 자원 가격에 기초하여 상기 미디어 컨텐츠의 수신을 위해 요구되는 초기 자원 소모를 판단하는 단계;
상기 조정자 장치로 상기 요구되는 초기 자원 소모를 나타내기 위한 초기 자원 요청을 송신하는 단계를 포함하는 방법. - 삭제
- 삭제
- 청구항 13에 있어서, 상기 방법은,
상기 조정자 장치로부터 후속(subsequent) 자원 가격을 수신하는 단계;
상기 적어도 하나의 표현들 내에 포함된 상기 비트 레이트 및 상기 후속 자원 가격에 기초하여 상기 미디어 컨텐츠를 수신하기 위해 요구되는 후속 자원 소모를 결정하는 단계; 및
상기 조정자 장치로 상기 요구되는 후속 자원 소모를 나타내기 위한 후속 자원 요청을 송신하는 단계를 더 포함하는 방법. - 대역폭 할당을 위한 조정자 장치(coordinator device)의 동작 방법에 있어서,
초기 자원 가격을 결정하는 단계; 상기 자원 가격은 자원에 가중되는 가격으로써 복수의 UE들에 의해 사용되고,
상기 복수의 UE들 중 적어도 하나의 UE로 상기 초기 자원 가격을 송신하는 단계; 및
상기 적어도 하나의 UE로부터 초기 자원 요청을 수신하는 단계를 포함하고,
상기 적어도 하나의 UE들 각각으로부터의 상기 초기 자원 요청은 미디어 컨텐츠의 적어도 하나의 표현들(representation) 내에 포함된 스트리밍을 위한 비트 레이트 및 상기 초기 자원 가격에 기초하여 상기 미디어 컨텐츠를 수신하기 위해 요구되는 초기 자원 소모를 포함하는 방법. - 청구항 18에 있어서,
상기 초기 자원 소모의 합계를 임계값과 비교하는 과정을 더 포함하는 방법. - 청구항 19에 있어서,
상기 초기 자원 소모의 합계가 상기 임계값 보다 큰 경우, 후속(subsequent) 자원 가격을 결정하는 단계;
상기 후속 자원 가격을 상기 복수의 UE들 중 상기 적어도 하나의 UE로 송신하는 단계; 및
상기 적어도 하나의 UE로부터 후속 자원 요청을 수신하는 단계를 더 포함하고,
상기 적어도 하나의 UE들 각각으로부터의 상기 후속 자원 요청은 상기 미디어 컨텐츠의 상기 적어도 하나의 표현들(representation) 내에 포함된 스트리밍을 위한 비트 레이트 및 상기 후속 자원 가격에 기초하여 상기 미디어 컨텐츠를 수신하기 위해 요구되는 후속 자원 소모를 포함하는 방법. - 삭제
- 삭제
- 청구항 20에 있어서,
상기 후속 자원 가격은, 상기 초기 자원 소모와 상기 임계값 사이의 차이에 기초하여 결정되는 방법. - 청구항 18에 있어서,
상기 초기 자원 가격은, 과거 자원 가격, 하루 중 시간(a time of day), 상기 조정자 장치에 접속된 UE들의 개수, 데이터를 스트리밍하는 UE들의 개수, 스트리밍되는 데이터의 유형, 또는 상기 조정자 장치와 네트워크 사이의 대역폭 중 적어도 하나에 기초하여 선택되는 방법.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562180695P | 2015-06-17 | 2015-06-17 | |
US62/180,695 | 2015-06-17 | ||
US15/184,942 US10542067B2 (en) | 2015-06-17 | 2016-06-16 | Method and apparatus for distributed bottleneck coordination in dash with resource pricing |
US15/184,942 | 2016-06-16 | ||
PCT/KR2016/006455 WO2016204557A1 (en) | 2015-06-17 | 2016-06-17 | Method and apparatus for distributed bottleneck coordination in dash with resource pricing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180009348A KR20180009348A (ko) | 2018-01-26 |
KR102462200B1 true KR102462200B1 (ko) | 2022-11-02 |
Family
ID=57545048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177036436A KR102462200B1 (ko) | 2015-06-17 | 2016-06-17 | 자원 가격 책정을 갖는 대시에서 분배된 병목 조정을 위한 방법 및 장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10542067B2 (ko) |
EP (1) | EP3295651B1 (ko) |
KR (1) | KR102462200B1 (ko) |
WO (1) | WO2016204557A1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016172270A1 (en) * | 2015-04-21 | 2016-10-27 | Edge2020 LLC | Price driven multimedia content transmission |
US10904796B2 (en) * | 2018-10-31 | 2021-01-26 | Motorola Solutions, Inc. | Device, system and method for throttling network usage of a mobile communication device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130290492A1 (en) * | 2009-06-12 | 2013-10-31 | Cygnus Broadband, Inc. | State management for video streaming quality of experience degradation control and recovery using a video quality metric |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110062422A (zh) * | 2011-10-21 | 2019-07-26 | 弗劳恩霍夫应用研究促进协会 | 无线资源管理设备及方法 |
US10389780B2 (en) | 2012-02-08 | 2019-08-20 | Arris Enterprises Llc | Managed adaptive streaming |
US9338693B2 (en) | 2013-03-14 | 2016-05-10 | Nec Corporation | Scheduling framework for adaptive video delivery over cellular networks |
US9369513B2 (en) | 2013-04-12 | 2016-06-14 | Futurewei Technologies, Inc. | Utility-maximization framework for dynamic adaptive video streaming over hypertext transfer protocol in multiuser-multiple input multiple output long-term evolution networks |
US20140372569A1 (en) | 2013-06-14 | 2014-12-18 | Samsung Electronics Co., Ltd. | Controlling dash client rate adaptation |
EP3860130A1 (en) | 2013-08-16 | 2021-08-04 | bitmovin GmbH | Apparatus and method for constant quality optimization for adaptive streaming |
-
2016
- 2016-06-16 US US15/184,942 patent/US10542067B2/en active Active
- 2016-06-17 WO PCT/KR2016/006455 patent/WO2016204557A1/en active Application Filing
- 2016-06-17 EP EP16811970.9A patent/EP3295651B1/en active Active
- 2016-06-17 KR KR1020177036436A patent/KR102462200B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130290492A1 (en) * | 2009-06-12 | 2013-10-31 | Cygnus Broadband, Inc. | State management for video streaming quality of experience degradation control and recovery using a video quality metric |
Also Published As
Publication number | Publication date |
---|---|
KR20180009348A (ko) | 2018-01-26 |
US10542067B2 (en) | 2020-01-21 |
WO2016204557A1 (en) | 2016-12-22 |
EP3295651B1 (en) | 2020-04-01 |
US20160373500A1 (en) | 2016-12-22 |
EP3295651A4 (en) | 2018-05-23 |
EP3295651A1 (en) | 2018-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10455404B2 (en) | Quality of experience aware multimedia adaptive streaming | |
US11038944B2 (en) | Client/server signaling commands for dash | |
US9860290B2 (en) | System and method for adapting video communications | |
US11477257B2 (en) | Link-aware streaming adaptation | |
MX2013015115A (es) | Tecnica para manejar trafico de medios de transmision en una entidad de red. | |
EP2740265A1 (en) | System and method for adapting video communications | |
US10834161B2 (en) | Dash representations adaptations in network | |
EP2904757A1 (en) | Throttling a media stream for transmission via a radio access network | |
KR102462200B1 (ko) | 자원 가격 책정을 갖는 대시에서 분배된 병목 조정을 위한 방법 및 장치 | |
US10945029B2 (en) | Video frame rendering criteria for video telephony service | |
US20150350283A1 (en) | Content server, content distribution method, content distribution system, client device, and content acquisition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |