KR101835238B1 - 매니패스트-기반 자격 집행을 갖는 미디어 분배 시스템 - Google Patents

매니패스트-기반 자격 집행을 갖는 미디어 분배 시스템 Download PDF

Info

Publication number
KR101835238B1
KR101835238B1 KR1020167004539A KR20167004539A KR101835238B1 KR 101835238 B1 KR101835238 B1 KR 101835238B1 KR 1020167004539 A KR1020167004539 A KR 1020167004539A KR 20167004539 A KR20167004539 A KR 20167004539A KR 101835238 B1 KR101835238 B1 KR 101835238B1
Authority
KR
South Korea
Prior art keywords
content
client
media
server
streaming
Prior art date
Application number
KR1020167004539A
Other languages
English (en)
Other versions
KR20160104611A (ko
Inventor
미하일 미하일로프
라즈 나이르
Original Assignee
에릭슨 에이비
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에릭슨 에이비 filed Critical 에릭슨 에이비
Publication of KR20160104611A publication Critical patent/KR20160104611A/ko
Application granted granted Critical
Publication of KR101835238B1 publication Critical patent/KR101835238B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4318Generation of visual interfaces for content selection or interaction; Content or additional data rendering by altering the content in the rendering process, e.g. blanking, blurring or masking an image region
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4367Establishing a secure communication between the client and a peripheral device or smart card
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • H04N21/63345Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Technology Law (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

자격을 강제하기 위한 방법은, 서버에서 매우 다양한 자격을 구성하는; 주어진 클라이언트 요청에 대한 자격의 적용가능한 조합을 결정하는; 자격을 요청하는 클라이언트에 안전하게 송신하는; 실행시 복수의 클라이언트 장치상에서 자격 정보를 안전하게 핸들링하는; 오프라인 사용 동안 복수의 클라이언트 장치상에 자격 정보를 안전하게 기억하는; 및 복수의 클라이언트 장치상에서 자격을 강제하는 것을 포함한다. 이 방법은, 클라이언트 장치 내에 포함 또는 네트워크 내에 위치될 수 있는 프록시에 의해 매니패스트 파일의 조작을 채용한다.

Description

매니패스트-기반 자격 집행을 갖는 미디어 분배 시스템{MEDIA DISTRIBUTION SYSTEM WITH MANIFEST-BASED ENTITLEMENT ENFORCEMENT}
본 개시 내용은 일반적으로 OTT(over-the-top) 미디어 전달에 관한 것이고, 특히 실시간으로, 다른 타입의 클라이언트 장치에 대한 매우 다양한 자격의 집행에 관한 것이다.
STB(Set Top Boxes)에서 구현된 통상적인 CA(Conditional Access) 시스템은, 매우 제한된 ON/OFF 자격만을 지원하는데, 유저가 특정 채널을 보는 것이 허용되는 지를 가리킨다. 매우 다양한 장치에 대한 더 인기 있는 OTT(over-the-top) 미디어 전달은, 실질적으로 더 넓은, 및 계속 증가하는, 어레이의 자격(entitlement)을 제공하는데 있어서, 도전 및 기회 모두를 제공한다.
OTT 전달 에코시스템은, 주어진 유저/미디어/장치 조합에 대한 적합하게 식별된 세트의 요구조건의 전달을 안전하게 하는, 각각의 클라이언트 장치상에서 이들 자격의 핸들링, 스토리지, 및 집행을 안전하게 하는 것과 함께, 다른 유저들 및 유저 그룹, 미디어 및 미디어 그룹, 장치, 및 이들의 다양한 조합에 대한 증가하는 수의 자격을 구성할 수 있는 능력을 요구한다.
OTT(over-the-top) 비디오 전달로, 실시간으로, 매우 다양한 자격을 강제하기 위한 방법 및 장치가 개시된다. OTT 콘텐츠 전달은 전형적으로 HTTP 프로토콜을 사용하는 세그먼트-기반 검색 패러다임에 의존한다. HTTP 적응 스트리밍은, 다중 인코딩(각각이 다른 비트래이트, 해상도, 및/또는 프래임 레이트에서 인코딩된)을 사용하는데, 클라이언트가 그 로컬 네트워크 조건에 대해서 적합한 인코딩을 선택하게 허용한다. 매니패스트 파일은, 클라이언트에 인코딩 정보를 반송하고 세그먼트 검색 위치를 가리키기 위해 사용된다. 실시간(라이브) 콘텐츠에 대해서, 세그먼트 및 매니패스트 파일은 클라이언트에 의해 실시간으로 생성 및 검색된다.
특히, 자격을 강제하기 위한 개시된 방법은, 서버에서 매우 다양한 자격을 구성하는; 주어진 클라이언트 요청에 대한 자격의 적용가능한 조합을 결정하는; 자격을 요청하는 클라이언트에 안전하게 송신하는; 실행시 복수의 클라이언트 장치상에서 자격 정보를 안전하게 핸들링하는; 오프라인 사용 동안 복수의 클라이언트 장치상에 자격 정보를 안전하게 기억하는; 및 복수의 클라이언트 장치상에서 자격을 강제하는 것을 포함할 수 있다.
상기 및 다른 목적, 형태 및 장점은, 다른 관점을 통해서 동일 부분에 대해서 동일한 참조부호로 언급하는 첨부 관점에 도시된 바와 같이, 본 발명의 특정 실시형태로부터 명백하게 된다.
도 1은 미디어 분배 시스템의 블록도;
도 2는 하드웨어 관점으로부터의 컴퓨터화된 장치의 블록도;
도 3은 주로 소프트웨어 관점으로부터의 클라이언트 장치의 블록도;
도 4는 프록시의 동작의 하이-레벨 흐름도; 및
도 5는 미디어 분배 시스템의 대안적인 구성의 블록도이다.
도 1은 본 발명의 하나의 실시형태에 대한 시스템(100)의 블록도이다. 나타낸 바와 같이, 이는 작업흐름 관리기(WFM)(102), 하나 이상의 포장 서버 또는 "포장기(들)"(104), 권리 서버(105), 콘텐츠 관리 시스템(CMS)(106), 콘텐츠 전달 네트워크(CDN)(108), 프록시 서버 또는 "프록시"(109), 및 클라이언트 장치 또는 "클라이언트"(110)를 포함한다. 장치 중의 네트워크 접속은 일반적으로 네트워크(112)로서 도시된다. 일반적으로, 동작에 있어서, 포장기(들)(104)는 소스 콘텐츠를 수신하고 소스 콘텐츠를 처리 또는 "포장"하므로, 이는 CDN(108)을 통해서 클라이언트(110)에 전달될 수 있다. 특히, 포장기(들)(104)는, 이하 기술된 바와 같이, 일련의 콘텐츠 암호화 키를 사용해서 변환 코딩 및 콘텐츠 암호화를 수행한다. CMS(106)가 콘텐츠 습득, 포장 및 전달에 걸쳐서 하이-레벨 제어를 제공하는 한편, WFM(102)는 더 상세한 제어 동작을 수행한다.
작업흐름 관리기(WFM)(102)는, 분배를 위한 콘텐츠를 준비하기 위해서, 콘텐츠 관리 시스템(CMS)(106)으로부터 소스 콘텐츠 정보를 획득 및 하나 이상의 포장기(104)에 명령하기 위한 책임이 있다. 하나의 실시형태에 있어서, 준비는, 다른 코덱, 비트래이트, 프래임 레이트, 샘플 레이트, 및 해상도를 사용해서, 오디오 및 비디오를 복수의 인코딩으로 변환 코딩하는 것을 포함한다. 그 다음, 변환 코딩된 콘텐츠는 복수의 출력 파일 내에 기입된다. 하나의 실시형태에 있어서, 복수의 출력 파일은 다른 콘테이너 포맷(예를 들어, 3GP, MP4, MPEG-TS, WMV, MOV 등) 내에 인캡슐화된 동일한 변환 코딩된 콘텐츠를 포함한다. 하나의 실시형태에 있어서, 준비된 출력 파일은 고정된 존속 기간 세그먼트 파일(예를 들어, MPEG-TS 세그먼트, 프래그먼트된 MP4 세그먼트, 3GP DASH 세그먼트 등)로 세그먼트된다. 하나의 실시형태에 있어서, 세그먼트된 및 세그먼트되지 않은 모든 출력 파일은, 표준 암호화 프로토콜(예를 들어, AES-128, HC-128, RC4 등)을 사용해서 암호화된다. 하나의 실시형태에 있어서, 모든 준비 단계들은 포장기로서 본 명세서에서 언급된 단일 콘텐츠 포장 서버(104)에 의해 수행된다.
다른 실시형태에 있어서, 개별적인 준비 단계(예를 들어, 변환 코딩, 세그먼테이션, 암호화 등)는 다른 물리적인 콘텐츠 포장 서버(104)를 가로질러 수행될 수 있다. 하나의 실시형태에 있어서, WFM(102) 및 포장기(104)는 동일한 물리적인 서버 내에 상주한다. 다른 실시형태에 있어서, WFM(102) 및 포장기(104)는 동일한 데이터 센터 내의 다른 물리적인 서버 내에 상주한다. 다른 실시형태에 있어서, WFM(102) 및 포장기(104)는 원격 데이터 센터 내의 다른 물리적인 서버 내에 상주한다.
본 명세서에서 사용된 용어 "서버"가, 이들 컴포넌트들을 함께 접속하는 하나 이상의 고속 데이터 버스와 같은 상호 접속과 함께, 일반적으로 메모리, 입력/출력 회로, 및 명령 처리 로직을 포함하는, 일반-목적 또는 특수-목적 컴퓨터를 언급하는, 것으로 이해하게 된다. 개시된 기술의 많은 측면들이 하나 이상의 서버 컴퓨터상에서 실행하는 소프트웨어로서 실시될 수 있다. 유사하게, 본 명세서의 "클라이언트"는 네트워크 접속으로부터 콘텐츠를 수신 및 디스플레이 또는 유사한 출력 장치상에 콘텐츠를 디코딩 및 렌딩(rending)할 수 있는 컴퓨터화된 장치(또한 상기 컴포넌트를 포함)이다. 소위 스마트폰은, 특히 본 명세서에서 사용된 클라이언트의 정의 내에 포함된다.
하나의 실시형태에 있어서, 포장기(104)는 고정된 사이즈의 GOP를 갖는 세그먼트를 생성한다. 다른 실시형태에 있어서, 포장기(104)는 가변 사이즈의 GOP를 갖는 세그먼트를 생성한다. 세그먼트가 완료되면, 포장기(104)는 세그먼트를 콘텐츠 전달 네트워크(CDN)(108)에 업로드한다.
클라이언트(110)는 프록시(109)를 통해서 재생 요청을 WFM(102)에 발행한다. WFM(102)은, CDN(108) 내의 콘텐츠 위치 및 콘텐츠 인코딩(예를 들어, 다른 비트래이트, 다른 포맷 등)을 포함하는, 콘텐츠에 관한 정보로 응답한다. 이 정보는 매니패스트 파일로 제공된다. 클라이언트(110)는, 재생을 위해 CDN(108)으로부터 세그먼트에 대한 요청을 발행하기 위해서, 매니패스트 파일 내의 정보를 사용한다. 이하 더 기술된 바와 같이, 프록시(109)는, 클라이언트(110)가 보증될 때 재생의 방식을 수정 또는 심지어 재생을 완전히 정지하게 하기 위해서, 복귀한 매니패스트 파일의 콘텐츠를 선택적으로 조작(manipulate)할 수 있다. 프록시(109)의 이 동작은, "자격(entitlement)"으로서 본 명세서에서 언급된 자격 정보의 수집에 기반한다.
일반적으로, 클라이언트 장치(110)는, 암호화된 콘텐츠 파일의 해독(decryption)을 포함하는 재생 능력을 갖는 컴퓨터화된 장치이며, 예를 들어 개인용 컴퓨터, 태블릿 컴퓨터, 스마트폰 등을 포함한다. 암호화된 콘텐츠 파일을 해독하기 위해 사용된 해독 키가 백엔드에 의해 클라이언트 장치(110)에 제공된다. 동작에 있어서, 클라이언트 장치(110)는 자체를 백엔드에 인증시키고, 및 식별된 암호화된 콘텐츠(예를 들어, 특정 비디오)를 플레이하기 위해 그 인가를 수립하는 정보를 제공한다. 백엔드는, 클라이언트 장치(110)가 비디오를 위한 콘텐츠 파일(들)을 해독할 수 있게 하기 위해서 하나 이상의 해독 키를 제공함으로써 응답한다. 클라이언트 장치(110)는 콘텐츠 서버(예를 들어, CDN(108) 내의)로부터 암호화된 콘텐츠 파일을 획득하고, 이들을 해독 키를 사용해서 해독하며, 그 다음 해독된 콘텐츠를 렌더(플레이)한다.
FM(102), 포장기(104), 권리 서버(105) 및 CMS(106)는 "백엔드" 설비이고, 하나 이상의 서버 컴퓨터를 사용해서 구현될 수 있는데, 이는 동일-위치될 수 있거나(예를 들어, 데이터센터 내에서) 또는 다중 위치에 걸쳐서 동일 방식으로 분산될 수 있다. 동작에 있어서, 콘텐츠 발행자로부터의 콘텐츠는 습득될 수 있고, 그 다음 클라이언트 장치(110)에 대한 세그먼트-기반 전달을 위해서 세그먼트될 수 있다. WFM(102)의 미디어 준비 엔진은, 백엔드의 분리 관리(DRM) 서버를 포함하거나 또는 이에 첨부될 수 있는, 권리 서버(105)로부터 콘텐츠 암호화/해독 키를 획득하고, 기억을 위해 콘텐츠를 암호화 및 암호화된 형태로 나중에 전달을 위해 키를 사용한다. 백엔드는 DRM-관련된 동작 및 통신을 위한 중심 포인트로서 권리 서버(105)를 채용할 수 있는데, 이 경우 분리 DRM 서버는, 적합한 네트워크 프로토콜을 사용해서 암호화 키를 생성, 기억 및 검색하기 위해서, 더 특별하게 재단될 수 있다.
도 2는 클라이언트 장치(110) 및 백엔드의 서버를 실현하기 위해 사용될 수 있는 것과 같은 컴퓨터화된 장치의 일반화된 묘사이다. 이는, 하나 이상의 데이터 버스(128)에 의해 함께 결합된 하나 이상의 프로세서(120), 메모리(122), 로컬 스토리지(124) 및 입력/출력(I/O) 인터페이스 회로(126)를 포함한다. I/O 인터페이스 회로(126)는 장치를 하나 이상의 외부 네트워크(네트워크(112)와 같은), 부가적인 스토리지 장치 또는 시스템, 및 본 기술에서 일반적으로 공지된 바와 같은 다른 입력/출력 장치에 결합시킨다. 본 명세서에서 기술된 바와 같은 컴퓨터화된 장치의 시스템-레벨 기능성은, 전형적으로 메모리(122) 내에 기억된 및 프로세서(들)(120)에 의해 검색 및 실행된 컴퓨터 프로그램 명령(소프트웨어)을 실행하는 하드웨어에 의해 제공된다. 기능을 수행하는 소프트웨어 컴포넌트의 본 명세서의 소정의 설명은, 소프트웨어 컴포넌트의 명령을 실행할 때, 컴퓨터 또는 컴퓨터화된 장치의 동작에 대한 간단한 참조로서 이해된다. 또한, 도 2에서의 컴포넌트의 수집은 "처리 회로"로서 언급될 수 있고, 주어진 소프트웨어 컴포넌트를 실행하는 것이 기능-특정된 회로로서 볼 수 있을 때, 예를 들어 콘텐츠 플레이어 기능을 구현하는 소프트웨어 컴포넌트를 실행할 때 "플레이어 회로"로서 볼 수 있다. 이하 기술된 바와 같이, 클라이언트 장치(110)는 보안의 목적을 위해서 더 특정된 하드웨어 체계를 포함한다.
하나의 실시형태에 있어서 클라이언트 장치(110)는, 자체를 미디어 전달 및 재생의 DRM 측면을 포함하는 센시티브 애플리케이션에 렌딩(lending)하는, 특정된 체계를 갖는다. 특히, 클라이언트 장치(110)는 파티션 회로 및 보안 실행 환경과 정상 또는 비-보안 환경 사이의 기능성일 수 있다. 하드웨어 컴포넌트는 파티션될 수 있는데, 비-보안 환경에서의 애플리케이션 프로세서 및 보안 환경에서의 분리 보안 프로세서를 포함한다. 비-보안 환경에서의 오퍼레이팅 소프트웨어는, 오퍼레이팅 시스템(O/S) 및 콘텐츠 플레이어 애플리케이션("앱(app)"으로서 언급)을 포함할 수 있다. 하나의 실시형태에 있어서, 오퍼레이팅 시스템은 모바일 장치용의 Android® 오퍼레이팅 시스템이다. 보안 환경 내의 컴포넌트는, 클라이언트 장치(110)가 콘텐츠를 해독하기 위한 해독 키를 획득할 수 있게 하기 위해서, 백엔드와의 신뢰의 뿌리(root of trust)를 수립하기 위한 책임이 있다. 보안 환경은 보안 커널 및 보안 메모리를 포함한다. 또한, 클라이언트 장치는, 장치(110)를 등록, 미디어 오브젝트의 재생에 대한 권리 오브젝트를 획득, 및 미디어 오브젝트의 해독 및 플레이를 가능하게 하는 다른 기능을 수행하기 위해 백엔드에 요청을 송신하는, 미디어 클라이언트를 포함하다. 따라서, 미디어 클라이언트는 보안과 비-보안 환경 사이에서 파티션된 분리 보안 및 비-보안 부분을 가질 수 있다.
하나의 실시형태에 있어서, 클라이언트 장치(110)의 보안 환경은, ARM 아키텍처에 따라 실현된 보안 프로세서만 아니라 보안-관련된 사용을 위해 특별하게 재단된 보안 커널 및 보안 메모리를 포함하는, 소위 TrustZone 패밀리의 컴포넌트를 채용할 수 있다. 신뢰의 뿌리를 수립하는 것은, 장치(110)(예를 들어, 모바일 폰 핸드셋)를 빌트하기 위해 사용된 회로 보드 내에 매립된 보안 처리 하드웨어에 의해 제공된 보안 형태에 부분적으로 기반할 수 있다. 칩셋 제조업자는 하드웨어를 제공하고, 장치 제조업자(OEM)는 이하 더 기술된 바와 같은 소정의 팜웨어(코드)를 로드한다.
도 3은 소프트웨어 관점으로부터 클라이언트 장치(110)의 체계를 나타내는데, 또한 보안과 비-보안 환경 사이에서 상기된 파티션하는 것을 반영한다. 이는, 미디어 플레이어(130), 미디어 클라이언트(132), 오퍼레이팅 시스템(OS) 커널(134) 및 보안 팜웨어(136)를 포함한다. 미디어 클라이언트(132)는, 백엔드에 대한 기능적인 접속(138)을 갖는다(즉, 프록시(109)를 통한 CDN(108), 권리 서버(105) 및 WFM(102)). 동작에 있어서, 미디어 플레이어(130)는, 디스플레이와 같은 클라이언트 장치(110)의 적합한 설비 상에 비디오와 같은 미디어를 렌더링한다. 또한, 미디어 플레이어(130)는, 본 기술에서 일반적으로 공지된 바와 같이, 유저가 미디어의 선택 및 재생을 제어할 수 있게 하는, 그래픽 유저 인터페이스를 포함한다. 미디어 클라이언트(132)는, 장치 등록, 암호화 키의 전달, 및 CDN(108)으로부터 미디어(콘텐츠)의 다운로드의 전체 제어를 포함하는, 재생(렌더링)을 위해 미디어의 다운로드와 관련된 다양한 기능을 수행한다.
도 4는 클라이언트 장치(110)에서 미디어 재생을 위해 자격을 강제하기 위한 프록시(109)의 동작의 하이-레벨 흐름 설명이다.
140에서, 프록시(109)는, 스트리밍 동작 동안, 클라이언트 장치(110) 상의 미디어 아이템의 렌더링에 대한 승인 및 제한을 기술하는 자격 정보를 안전하게 수신 및 기억한다. 자격 정보는 권리 서버로부터 수신되고, 기억된 자격 정보의 비인가된 변경을 방지하기 위해서 프록시에 안전하게 기억된다.
142에서, 프록시(109)는, 매니패스트 파일 검색 경로를 제공하는데, 이에 의해 스트리밍 미디어 플레이어(130)는, 미디어 아이템의 자격이 부여된 재생에서 사용하기 위해서, 원격 서버(예를 들어, WFM(102))로부터 변경되지 않은 매니패스트 파일을 검색한다.
144에서, 프록시(109)는 자격에 대한 집행 조건 및 대응하는 집행 결과 모두를 식별하기 위해서 기억된 자격 정보를 적용하는데, 집행 조건은 클라이언트 장치의 감지된 오퍼레이팅 콘택스트에 적어도 부분적으로 기반하고, 집행 결과는 집행 조건의 부재하에서 승인된 재생으로부터 재생의 방식을 수정한다. 예로서, 집행 조건은 클라이언트 장치(110)가 (셀룰러 링크에 대항하는 것으로서, 예를 들어) WiFi 접속에 걸쳐서 콘텐츠를 다운로드하는 것이 될 수 있고, 집행 결과는 정상 재생이 (이용할 수 없는 또는 몇몇 방식으로 수정된 것에 대항하는 것으로서, 예를 들어) 승인된 것이다. 자격의 다수의 예들이 이하 주어진다.
146에서, 집행 조건의 발생에 따라서, 프록시(109)는 변경된 매니패스트 파일을 스트리밍 미디어 플레이어에 제공하여, 스트리밍 미디어 플레이어의 동작에서 집행 결과를 유도한다.
3. 특정 자격 집행 동작
일반적으로, 자격 집행은, 서버에서 매우 다양한 자격을 구성하는(예를 들어, WFM(102)); 주어진 클라이언트 요청에 대한 자격의 적용가능한 조합을 결정하는; 자격을 요청하는 클라이언트에 안전하게 송신하는; 실행시 복수의 클라이언트 장치상에서 자격 정보를 안전하게 핸들링하는; 오프라인 사용 동안 복수의 클라이언트 장치상에 자격 정보를 안전하게 기억하는; 및 복수의 클라이언트 장치상에서 자격을 강제하는 것을 포함한다.
다음은, 자격 집행 동작의 소정의 특정 측면의 아웃라인 요약이다.
1. 자격으로 보호된 콘텐츠는 오디오/비디오 콘텐츠가 될 수 있다.
a. 콘텐츠는 콘텐츠 자산 암호화 키(per content asset encryption key)마다 암호화될 수 있다.
2. 구성될 수 있는 자격은, 다음을 포함한다: 클라이언트가 콘텐츠 아이템을 보기 시작하도록 허용되는 시간; 콘텐츠 아이템에 대한 권리가 만료하는 시간; 콘텐츠 아이템을 볼 수 있는 다수의 시간; 3G 네트워크, 4G 네트워크, 또는 WiFi 네트워크에 걸쳐서 클라이언트가 콘텐츠를 볼 수 있게 허용되는지; 예를 들어, 데스크탑 컴퓨터, 모바일 폰, 태블릿, 셋탑 박스, 구글 글래스(Google Glass)인 장치의 클래스 상에서 콘텐츠 아이템을 볼 수 있는지; 오프라인 뷰윙을 위해 콘텐츠가 스트리밍 또는 다운로드될 수 있는지; 콘텐츠를 탈옥(jail-broken) 장치상에서 볼 수 있는지; 유저가 콘텐츠를 되돌리기(rewind), 중단(pause), 또는 빠른 포워드(fast forward)하도록 허용되는지; 최소 및 최대 비트래이트 한계; 오프라인 사용을 위한 다운로드의 경우, 최대 파일 사이즈; 허용된 최대 수의 광고; 시청 규제 등급; 클라이언트가 콘텐츠를 소비할 수 있는 지리적인 에어리어에 대한 명세; 대안적인 화상 또는 스트림(sorry stream)과 함께 클라이언트가 오리지널 콘텐츠 대신 디스플레이해야 하는, 리니어 채널 내의 블랙아웃(blackout) 세그먼트; 클라이언트가, 예를 들어 HDMI 출력, Apple의 AirPlay, 또는 Miracast인 외부 접속된 장치에 콘텐츠를 출력하도록 허용하는지; 세션 시프팅(즉, 장치들 사이의 북마크를 공유하는)이 허용되는지; 클라이언트가 보게 하기 위해(예를 들어, 프리뷰하기 위해) 허용된 프래그먼트를 묘사하는 콘텐츠 아이템 내의 시작하는 및 끝나는 포지션.
3. 자격은 주어진 콘텐츠 오너에 대해서 및: 유저들의 그룹; 개별적인 유저; 콘텐츠 아이템들의 그룹; 특정 콘텐츠 아이템; 특정 클래스의 장치; 특정 유저에 의해 사용 중인 특정 장치; 또는 이들의 소정의 조합에 대해서 구성될 수 있다.
a. 집행은, 주어진 콘텐츠 자산에 대한 인가 또는 재인가를 재생하기 위해 클라이언트로부터의 요청에 응답하는, 특정 콘텐츠 오너, 유저, 및 장치에 적용가능한 세트의 자격을 결정하는 것을 포함할 수 있다.
i. 요청은, 클라이언트가 재생을 위해서 인가되지 않으면, 거부 또는 에러 메시지로 응답될 수 있다.
ii. 서버는, 고유한 세션 암호화 키를 사용해서 및 암호화된 자격을 요청하는 클라이언트에 통신해서, 적절한 자격 정보를 암호화할 수 있으므로, 요청하는 클라이언트만이 자격 정보를 해독할 수 있다.
1. 클라이언트 특정 암호화된 자격 정보는 재생을 위해 요청된 콘텐츠 자산에 대한에 대한 콘텐츠 해독 키를 또한 포함할 수 있다.
4. 유저-다운로드가능한 및 인스톨가능한, 또는 팩토리 프리-인스톨된, 클라이언트 애플리케이션은, 미디어 클라이언트 및 디지털 권리 관리(DRM) 에이전트를 포함할 수 있는데, 이들은 특히 각각의 클라이언트 플랫폼에 대한 역설계에 대항해서 개발 및 확립되었다.
a. 미디어 클라이언트는 암호화된 자격 정보를 서버로부터 수신하고, 실행 시 이를 안전하게 핸들링한다.
b. 미디어 클라이언트는, 암호화된 자격 정보를 콘텐츠 오너마다, 콘텐츠 자산마다 및 유저마다의 기반으로 구별된 그 로컬 장치-특정 영구 스토리지 에어리어에 기억할 수 있다.
c. 네이티브 미디어 플레이어는 콘텐츠 자산의 렌더링을 위해 사용될 수 있다.
i. 미디어 클라이언트는, 콘텐츠 뷰윙의 시작에 앞서서 및 콘텐츠 뷰윙 동안(예를 들어, 재생을 시작 및 정지하거나 또는 재생 및 탐색 동작을 방지), 자격을 강제하기 위해서 랩퍼(wrapper)를 사용 및 제공할 수 있다.
d. 제3파티 미디어 플레이어는 콘텐츠 자산의 렌더링을 위해 클라이언트 애플리케이션과 함께 사용될 수 있다.
i. 미디어 클라이언트는, 콘텐츠 뷰윙의 시작 및 콘텐츠 뷰윙 동안(예를 들어, 재생을 시작 및 정지 또는 재생 및 탐색 동작을 방지)에 앞서서, 자격을 강제하기 위해서 제3파티 플레이어-특정 애플리케이션 프로그래밍 인터페이스(API)에 대해서 랩퍼를 사용 및 제공할 수 있다.
e. 콘텐츠는, 예를 들어 HTTP 라이브 스트리밍(HLS), HTTP를 통한 다이나믹 적응 스트리밍(DASH), 스무스 스트리밍(SS), 또는 HTTP 다이나믹 스트리밍(HDS)인 HTTP 적응 스트리밍 프로토콜을 통해서 미디어 플레이어에 전달될 수 있다.
i. 미디어 클라이언트는 복수의 매니패스트 파일, 예를 들어, HLS m3u8, DASH MPD, 또는 SS/HDS 매니패스트를 구축할 수 있고, 내부 HTTP 프록시 서버로부터 네이티브 또는 제3파티 미디어 플레이어로 매니패스트 파일을 서빙한다.
1. HTTP 프록시 서버는, 콘텐츠 뷰윙이 정지되어야 하면, 403 비인가된(Unauthorized)과 같은, HTTP 에러 코드로, 플레이어에 응답할 수 있다.
2. HTTP 프록시 서버는 스트림 인디케이터의 엔드(예를 들어, m3u8 #EXT-X-엔드LIST tag)를 매니패스트 파일 내에 삽입할 수 있고, 뷰윙이 정지되어야 할 때를 플레이어에 가리키기 위해서 또 다른 콘텐츠 URI를 생략한다.
f. HTTP 프록시 서버는, 매니패스트 파일 내의 콘텐츠 세그먼트를, 오리지널 콘텐츠가 보이는 것을 방지하기 위해서 교대 콘텐츠(예를 들어, 특정 조건에 대한 에러 메시지, 또는 지오-위치-기반 블랙아웃에 대한 치환 콘텐츠)를 포함하는, 교대 세그먼트 URI로 교체할 수 있다.
클라이언트 애플리케이션은 유저-갱신 가능하므로, 서버에 추가되는 새로운 자격을 위한 지원만 아니라 그 밖의 갱신이 클라이언트에 의해 사용될 수 있다(The client application may be user-upgradable so that support for new entitlements added to the server, as well as other updates, can be used by clients.).
도 5는 대안적인 배열을 나타내는데, 이 배열에서 프록시(109')는 도 1에 나타낸 바와 같이 클라이언트 장치(110) 외측보다 클라이언트 장치(110') 상에 위치된다. 이 배열에서, 프록시(109')는, 도 1의 배열에서와 같이 외부 네트워크(112)에 걸쳐서 통신하기 위해 네트워크 스택을 요구하는 것보다 내부-처리 통신과 같은 내부 매커니즘을 사용해서, 미디어 클라이언트(132)(도 3)와 같은 다른 컴포넌트와 통신한다.
본 발명의 다양한 실시형태를 특히 나타내고 기술하였지만, 첨부된 청구항에 의해 규정된 바와 같이 본 발명의 정신 및 범위로부터 벗어남이 없이, 형태 및 세부 사항에서의 다양한 변경이 만들어질 수 있는 것으로 이해될 것이다.

Claims (22)

  1. 클라이언트 장치에서 미디어 재생을 위해 자격을 강제하기 위해서 프록시 서버로서 컴퓨터화된 장치를 동작하는 방법으로서,
    클라이언트 장치는 오퍼레이팅 콘택스트를 갖고, 스트리밍 미디어 플레이어에 전달된 매니패스트 파일의 콘텐츠에 따라서 원격 미디어 서버로부터 검색된 일련의 미디어 세그먼트를 사용해서 미디어 아이템을 렌더링하기 위해서 세그먼트-기반 스트리밍 미디어 플레이어를 실행하고:
    스트리밍 동작 동안, 클라이언트 장치상의 미디어 아이템의 렌더링에 대한 승인 및 제한을 기술하는 자격 정보를 안전하게 수신 및 기억하고, 자격 정보는 권리 서버로부터 수신되고, 기억된 자격 정보의 비인가된 변경을 방지하기 위해서 컴퓨터화된 장치에 안전하게 기억되며;
    프록시 서버에 의해, 매니패스트 파일 검색 경로를 제공하고, 이에 의해 스트리밍 미디어 플레이어가 미디어 아이템의 자격이 부여된 재생에서 사용하기 위한 원격 미디어 서버로부터 변경되지 않은 매니패스트 파일을 검색하며,
    프록시 서버는,
    (a) 자격에 대한 집행 조건 및 대응하는 집행 결과 모두를 식별하기 위해서 기억된 자격 정보를 적용하고, 집행 조건은 클라이언트 장치의 감지된 오퍼레이팅 콘택스트에 적어도 부분적으로 기반하고, 집행 결과는 집행 조건의 부재하에서 승인된 재생으로부터 재생의 방식을 수정하고,
    (b) 집행 조건의 발생에 따라서, 스트리밍 미디어 플레이어의 동작에서 집행 결과를 유도하기 위해서, 변경된 매니패스트 파일을 스트리밍 미디어 플레이어에 제공하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    컴퓨터화된 장치는 클라이언트 장치로부터 구별되는 서버 장치이고;
    자격 정보는 권리 서버에 링크된 제1네트워크 링크를 통해서 수신되며;
    매니패스트 파일 검색 경로는 제1네트워크 링크 및 클라이언트 장치와 서버 장치 사이의 제2네트워크 링크를 포함하고;
    변경된 매니패스트 파일은 서버 장치로부터 스트리밍 미디어 플레이어로 제2네트워크 링크를 통해서 제공되는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    컴퓨터화된 장치는 클라이언트 장치이고;
    자격 정보는 권리 서버에 링크된 네트워크 링크를 통해서 수신되며;
    매니패스트 파일 검색 경로는 네트워크 링크 및 프록시 서버와 클라이언트 장치 내의 스트리밍 미디어 플레이어 사이의 내부 통신 매커니즘을 포함하고;
    변경된 매니패스트 파일은 내부 통신 매커니즘을 통해서 프록시 서버로부터 스트리밍 미디어 플레이어로 제공되는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    자격으로 보호된 콘텐츠가 오디오/비디오 콘텐츠인 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    콘텐츠는 콘텐츠 자산 암호화 키마다 암호화되는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    자격 정보로 기술된 승인 및 제한은, 뷰윙 시간, 네트워크 타입, 클래스의 장치, 스트리밍 대 오프라인, 장치의 탈옥(jail-broken) 상태, 트릭 플레이, 비트래이트 한계; 오프라인 뷰윙을 위한 최대 파일 사이즈; 광고의 수; 시청 규제 등급; 지리적인 에어리어; 오리지널 콘텐츠 대신 디스플레이된 블랙아웃 및 대안적인 화상 또는 스트림; 외부 접속된 장치에 대한 출력, 공유하는, 및 시작하는 및 끝나는 포지션에 대한 승인 및 제한을 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    자격은, 주어진 콘텐츠 오너: 유저들의 그룹; 개별적인 유저; 콘텐츠 아이템들의 그룹; 특정 콘텐츠 아이템; 특정 클래스의 장치; 특정 유저에 의해 사용 중인 특정 장치; 또는 이들의 소정의 조합에 대해서 구성되는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    주어진 콘텐츠 자산에 대한 인가 또는 재인가를 재생하기 위해서 클라이언트로부터의 요청에 응답해서, 특정 콘텐츠 오너, 유저, 및 장치에 적용가능한 세트의 자격을 획득하는 것을 더 포함하여 구성되는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    자격 정보는 세션 암호화 키를 사용해서 암호화되고, 암호화된 자격은 클라이언트 장치에 전달되므로, 클라이언트 장치만이 그 자격 정보를 해독할 수 있는 것을 특징으로 하는 방법.
  10. 제9항에 있어서,
    클라이언트 특정 암호화된 자격 정보는 재생을 위해 요청된 콘텐츠 자산에 대한 콘텐츠 해독 키를 더 포함하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    유저-다운로드가능한 및 인스톨가능한, 또는 팩토리 프리-인스톨된 클라이언트 애플리케이션은 미디어 클라이언트 및 디지털 권리 관리(DRM) 에이전트를 포함하고, 이들 모두는 각각의 클라이언트 플랫폼에 대해서 역설계하는 것에 대항해서 개발 및 확립되는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    미디어 클라이언트는, 암호화된 자격 정보를 콘텐츠 오너마다, 콘텐츠 자산마다 및 유저마다의 기반으로 구별된 그 로컬 장치-특정 영구 스토리지 에어리어에 기억하는 것을 특징으로 하는 방법.
  13. 제11항에 있어서,
    네이티브 미디어 플레이어는 콘텐츠 자산의 렌더링을 위해 사용되는 것을 특징으로 하는 방법.
  14. 제13항에 있어서,
    미디어 클라이언트는, 콘텐츠 뷰윙의 시작에 앞서서 및 콘텐츠 뷰윙 동안, 자격을 강제하기 위해서 플랫폼-특정 애플리케이션 프로그래밍 인터페이스(API)에 대해서 랩퍼를 사용 및 제공하는 것을 특징으로 하는 방법.
  15. 제11항에 있어서,
    제3파티 미디어 플레이어가 콘텐츠 자산의 렌더링을 위해 클라이언트 애플리케이션과 함께 사용되는 것을 특징으로 하는 방법.
  16. 제15항에 있어서,
    미디어 클라이언트는, 콘텐츠 뷰윙의 시작에 앞서서 및 콘텐츠 뷰윙 동안, 자격을 강제하기 위해서 제3파티 플레이어-특정 애플리케이션 프로그래밍 인터페이스(API)에 대해서 랩퍼를 사용 및 제공하는 것을 특징으로 하는 방법.
  17. 제11항에 있어서,
    콘텐츠는, HTTP 라이브 스트리밍(HLS), HTTP를 통한 다이나믹 적응 스트리밍(DASH), 스무스 스트리밍(SS), 또는 HTTP 다이나믹 스트리밍(HDS) 중 하나인 HTTP 적응 스트리밍 프로토콜을 통해서 미디어 플레이어에 전달되는 것을 특징으로 하는 방법.
  18. 제17항에 있어서,
    미디어 클라이언트는, HLS m3u8, DASH MPD, 또는 SS/HDS 매니패스트 중 하나인 복수의 매니패스트 파일을 구축하고, 매니패스트 파일을 내부 HTTP 프록시 서버로부터 네이티브 또는 제3파티 미디어 플레이어에 서빙하는 것을 특징으로 하는 방법.
  19. 제18항에 있어서,
    HTTP 프록시 서버는, 콘텐츠 뷰윙이 정지되어야 하면, 미디어 플레이어에 대해서 HTTP 에러 코드로 응답하는 것을 특징으로 하는 방법.
  20. 제18항에 있어서,
    HTTP 프록시 서버는, 뷰윙이 정지되어야 할 때를 플레이어에 가리키기 위해서, 스트림 인디케이터의 엔드를 매니패스트 파일 내에 삽입하고, 또 다른 콘텐츠 URI를 생략하는 것을 특징으로 하는 방법.
  21. 제18항에 있어서,
    HTTP 프록시 서버는, 매니패스트 파일 내의 콘텐츠 세그먼트를, 오리지널 콘텐츠가 보이는 것을 방지하기 위해서 교대 콘텐츠를 포함하는, 교대 세그먼트 URI로 교체하는 것을 특징으로 하는 방법.
  22. 제11항에 있어서,
    미디어 클라이언트 애플리케이션은 유저-갱신 가능하므로, 서버에 추가되는 새로운 자격을 위한 지원만 아니라 그 밖의 갱신이 클라이언트 장치에 의해 사용될 수 있는 것을 특징으로 하는 방법.
KR1020167004539A 2013-07-23 2014-07-23 매니패스트-기반 자격 집행을 갖는 미디어 분배 시스템 KR101835238B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361857653P 2013-07-23 2013-07-23
US61/857,653 2013-07-23
PCT/US2014/047827 WO2015013411A1 (en) 2013-07-23 2014-07-23 Media distribution system with manifest-based entitlement enforcement

Publications (2)

Publication Number Publication Date
KR20160104611A KR20160104611A (ko) 2016-09-05
KR101835238B1 true KR101835238B1 (ko) 2018-03-06

Family

ID=52393815

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167004539A KR101835238B1 (ko) 2013-07-23 2014-07-23 매니패스트-기반 자격 집행을 갖는 미디어 분배 시스템

Country Status (8)

Country Link
US (4) US9781077B2 (ko)
EP (1) EP3025267A4 (ko)
KR (1) KR101835238B1 (ko)
CN (1) CN105874810B (ko)
BR (1) BR112016001598A2 (ko)
CA (1) CA2919105C (ko)
MX (1) MX354712B (ko)
WO (1) WO2015013411A1 (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150271541A1 (en) * 2014-03-19 2015-09-24 Time Warner Cable Enterprises Llc Apparatus and methods for recording a media stream
US20160182466A1 (en) * 2014-12-23 2016-06-23 CodeShop BV TransDRM for Streaming Media
US10375452B2 (en) 2015-04-14 2019-08-06 Time Warner Cable Enterprises Llc Apparatus and methods for thumbnail generation
US10425453B2 (en) 2015-04-17 2019-09-24 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic packager network based ABR media distribution and delivery
CN104796796B (zh) * 2015-04-21 2018-03-16 范文鲜 提高Android平台的HLS流播放器容错的方法
US10455265B2 (en) * 2015-04-27 2019-10-22 Ericsson Ab Program and device class entitlements in a media platform
WO2016196690A1 (en) * 2015-06-01 2016-12-08 Miller Benjamin Aaron Rights management and syndication of content
US10224028B2 (en) 2015-06-01 2019-03-05 Sinclair Broadcast Group, Inc. Break state detection for reduced capability devices
WO2016196692A1 (en) 2015-06-01 2016-12-08 Miller Benjamin Aaron Break state detection in content management systems
CA2988105C (en) 2015-06-01 2024-06-18 Benjamin Aaron Miller Content segmentation and time reconciliation
US10855765B2 (en) 2016-05-20 2020-12-01 Sinclair Broadcast Group, Inc. Content atomization
US10652594B2 (en) 2016-07-07 2020-05-12 Time Warner Cable Enterprises Llc Apparatus and methods for presentation of key frames in encrypted content
US10749925B1 (en) 2016-09-02 2020-08-18 Snap Inc. Video streaming optimization for quick start of video display
US10432993B2 (en) 2016-12-20 2019-10-01 Arris Enterprises Llc Output and playback control delivery for adaptive bitrate streaming
US9936229B1 (en) 2017-05-18 2018-04-03 CodeShop BV Delivery of edited or inserted media streaming content
CN107231568A (zh) * 2017-08-01 2017-10-03 腾讯科技(深圳)有限公司 一种媒体播放方法、服务器及终端设备
US10764650B2 (en) 2017-12-07 2020-09-01 At&T Intellectual Property I, L.P. Video optimization proxy system and method
US10595055B2 (en) * 2018-04-23 2020-03-17 Amazon Technologies, Inc. Server-side insertion of media fragments
CN115562613A (zh) 2019-05-31 2023-01-03 苹果公司 用于音频媒体控件的用户界面
US10996917B2 (en) 2019-05-31 2021-05-04 Apple Inc. User interfaces for audio media control
US10867608B1 (en) 2019-05-31 2020-12-15 Apple Inc. Multi-user configuration
CN112449216A (zh) * 2019-08-27 2021-03-05 华为技术有限公司 一种根据授权获取文件的方法
WO2021142038A1 (en) * 2020-01-06 2021-07-15 QBI Holdings, LLC Advertising for media content
US20220116399A1 (en) * 2020-10-12 2022-04-14 Apple Inc. Media service configuration
US11425460B1 (en) 2021-01-29 2022-08-23 Rovi Guides, Inc. Selective streaming based on dynamic parental rating of content
US12063415B2 (en) 2021-01-29 2024-08-13 Rovi Guides, Inc. Selective streaming based on dynamic parental rating of content
US11960615B2 (en) 2021-06-06 2024-04-16 Apple Inc. Methods and user interfaces for voice-based user profile management
US11778337B2 (en) * 2021-11-09 2023-10-03 Samsung Electronics Co., Ltd. Image sensor and method for sensing image
CN114745561B (zh) * 2022-04-06 2023-05-30 珠海格力电器股份有限公司 直播间交互方法、装置、电子设备及存储介质
CN117319691A (zh) * 2022-06-20 2023-12-29 中兴通讯股份有限公司 授权控制方法、装置、系统、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003139A1 (en) 2002-06-28 2004-01-01 Microsoft Corporation Secure server plug-in architecture for digital rights management systems
WO2011041916A1 (en) * 2009-10-09 2011-04-14 Quickplay Media Inc. Digital rights management in a mobile environment
US20130166906A1 (en) * 2011-12-22 2013-06-27 Viswanathan Swaminathan Methods and Apparatus for Integrating Digital Rights Management (DRM) Systems with Native HTTP Live Streaming
US20130174271A1 (en) * 2010-05-04 2013-07-04 Verimatrix, Inc. Device authentication for secure key retrieval for streaming media players

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2612549T3 (es) * 2005-09-02 2017-05-17 Nokia Technologies Oy Comunicación de datos con nodo de red remoto
US9124650B2 (en) 2006-12-13 2015-09-01 Quickplay Media Inc. Digital rights management in a mobile environment
CN102137137B (zh) * 2010-09-17 2013-11-06 华为技术有限公司 基于http流的媒体内容动态插播方法、装置及系统
CN102118428B (zh) * 2010-12-29 2012-12-26 天脉聚源(北京)传媒科技有限公司 一种播放流媒体的方法和系统
US9418209B2 (en) * 2012-10-02 2016-08-16 Google Technology Holdings LLC Systems and methods for manipulating sensitive information in a secure mobile environment
US9584557B2 (en) * 2013-03-15 2017-02-28 Arris Enterprises, Inc. Proxy for facilitating streaming of media from server to client
US9692800B2 (en) * 2014-06-11 2017-06-27 Google Inc. Enhanced streaming media playback
US10142386B2 (en) * 2014-10-29 2018-11-27 DLVR, Inc. Determining manifest file data used in adaptive streaming video delivery
US10162944B2 (en) * 2015-03-30 2018-12-25 Arris Enterprises Llc Library style media DRM APIs in a hosted architecture
US9942343B2 (en) * 2015-08-27 2018-04-10 Kiswe Mobile Inc. Efficient content streaming utilizing local proxy server implemented on client device
US10114689B1 (en) * 2015-12-28 2018-10-30 Amazon Technologies, Inc. Dynamic playlist generation
US10142684B2 (en) * 2017-03-21 2018-11-27 Cisco Technology, Inc. Pinning encryption metadata to segment URIs
US20180352287A1 (en) * 2017-06-02 2018-12-06 Apple Inc. Persistent ID for Offline Access to Streamed Media
US11178433B2 (en) * 2019-11-21 2021-11-16 Pluto Inc. Methods and systems for dynamic routing of content using a static playlist manifest
US12047648B2 (en) * 2020-07-21 2024-07-23 Akamai Technologies, Inc. Systems and methods for midstream selection of content to insert into a media stream

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003139A1 (en) 2002-06-28 2004-01-01 Microsoft Corporation Secure server plug-in architecture for digital rights management systems
WO2011041916A1 (en) * 2009-10-09 2011-04-14 Quickplay Media Inc. Digital rights management in a mobile environment
US20130174271A1 (en) * 2010-05-04 2013-07-04 Verimatrix, Inc. Device authentication for secure key retrieval for streaming media players
US20130166906A1 (en) * 2011-12-22 2013-06-27 Viswanathan Swaminathan Methods and Apparatus for Integrating Digital Rights Management (DRM) Systems with Native HTTP Live Streaming

Also Published As

Publication number Publication date
US9781077B2 (en) 2017-10-03
US20160164841A1 (en) 2016-06-09
CN105874810A (zh) 2016-08-17
WO2015013411A1 (en) 2015-01-29
MX354712B (es) 2018-03-16
CA2919105A1 (en) 2015-01-29
CA2919105C (en) 2018-10-16
US10841282B2 (en) 2020-11-17
CN105874810B (zh) 2020-02-07
BR112016001598A2 (pt) 2017-10-31
KR20160104611A (ko) 2016-09-05
US11463413B2 (en) 2022-10-04
US11777906B2 (en) 2023-10-03
EP3025267A1 (en) 2016-06-01
EP3025267A4 (en) 2017-03-22
US20230016777A1 (en) 2023-01-19
MX2016000883A (es) 2017-03-27
US20180019973A1 (en) 2018-01-18
US20210075769A1 (en) 2021-03-11

Similar Documents

Publication Publication Date Title
KR101835238B1 (ko) 매니패스트-기반 자격 집행을 갖는 미디어 분배 시스템
US10754930B2 (en) Remotely managed trusted execution environment for digital rights management in a distributed network with thin clients
US9418209B2 (en) Systems and methods for manipulating sensitive information in a secure mobile environment
US10893313B2 (en) Secure bridging of third-party digital rights management to local security
US9152577B2 (en) Security central processing unit management of a transcoder pipeline
KR20070014178A (ko) 멀티미디어 컨텐츠의 원격 실시간 액세스를 위한 방법,장치 및 시스템
US20170171166A1 (en) Anti-hotlinking method and electronic device
US9852273B2 (en) Methods and systems of playing multi-license media content
EP3317796B1 (en) Remotely managed trusted execution environment for digital-rights management in a distributed network with thin clients
Silhavy et al. Low latency streaming and multi DRM with dash. js
US11095937B2 (en) Method and device for secure video processing
EP3692706A1 (en) A method for delivering digital content to at least one client device
US20240214362A1 (en) Distributed data content protection
US20240214361A1 (en) Distributed data content protection
US20160112379A1 (en) Apparatus for and method of playing back content
Park et al. Protecting ASF movie on VOD

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal