KR20170007427A - 적응성 스트리밍을 위한 토큰 기반 인증 및 권한부여 정보 시그널링 및 교환 - Google Patents
적응성 스트리밍을 위한 토큰 기반 인증 및 권한부여 정보 시그널링 및 교환 Download PDFInfo
- Publication number
- KR20170007427A KR20170007427A KR1020167035142A KR20167035142A KR20170007427A KR 20170007427 A KR20170007427 A KR 20170007427A KR 1020167035142 A KR1020167035142 A KR 1020167035142A KR 20167035142 A KR20167035142 A KR 20167035142A KR 20170007427 A KR20170007427 A KR 20170007427A
- Authority
- KR
- South Korea
- Prior art keywords
- authorization token
- token
- media segment
- server
- authorization
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0892—Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- 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
-
- 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
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4825—End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
-
- 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/60—Network 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/63—Control 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/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6334—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/603—Digital right managament [DRM]
-
- 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
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
스트리밍 클라이언트로서 구성된 네트워크 요소(network element, NE)에 의해 실행되는 방법으로서, 상기 방법은 상기 NE의 프로세서를 통해, 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위한 제1 권한부여 토큰을 획득하는 단계, 상기 프로세서를 통해, 상기 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위한 제1 콘텐츠 요구 메시지에 제1 권한부여 토큰을 매립하는 단계, 상기 제1 미디어 세그먼트를 요구하기 위해 제1 권한부여 토큰을 포함하는 제1 콘텐츠 요구 메시지를 상기 NE의 전송기를 통해 상기 콘텐츠 서버에 송신하는 단계, 및 상기 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하는 데 제1 권한부여 토큰이 유효할 때 상기 NE의 수신기를 통해 상기 콘텐츠 서버로부터 제1 미디어 세그먼트를 수신하는 단계를 포함한다.
Description
본 발명은 적응성 스트리밍을 위한 토큰 기반 인증 및 권한부여 정보 시그널링 및 교환에 관한 것이다.
미디어 콘텐츠 공급자 또는 배급자는 서로 다른 기기(예를 들어, 텔레비전, 노트북 컴퓨터, 데스크톱 컴퓨터, 및 휴대기기)에 적합한 상이한 암호 및/또는 코딩 방식을 사용하는 가입자 또는 사용자에게 다양한 미디어 콘텐츠를 전달할 수 있다. 하이퍼텍스트 트랜스퍼 프로토콜(HTTP)을 통한 동적 적응 스트리밍(Dynamic adaptive streaming over hypertext transfer protocol, DASH)는, ISO/ International Electrotechnical Commission (IEC) 13818-1, 명칭 "Information Technology - Generic Coding of Moving Pictures and Associated Audio Information: Systems"에 설명된 바와 같이, 미디어 프레젠테이션 디스크립터(media presentation descriptor, MPD)라 하는 매니페스트 포맷 및 표준 MPEG-2의 훼밀리 하의 국제 표준화 기구(ISO) 베이스 미디어 파일 포맷(International Organization for Standardization Base Media File Format, ISO-BMFF) 및 동영상 전문가그룹(Moving Picture Expert Group, MPEG) 트랜스포트 스트림을 위한 세그먼트 포맷을 정의한다.
DASH 시스템은 ISO/IEC 23009-1에 설명되고, 명칭이 "Information Technology - Dynamic Adaptive Streaming over HTTP (DASH) - part 1: Media Presentation Description and Segment Formats," December 7, 2015인 DASH 표준에 따라 실현될 수 있으며, 상기 문헌은 원용되어 병합된다.
콘텐츠 보호는 콘텐츠 제공자에게는 중요하다. 일부의 콘텐츠 전달 서비스는 데이터를 암호화하거나 데이터를 디지털 워터마크로 표시하여 권한부여된 사용자로부터의 액세스를 허용하기 위해 디지털 권리 관리(digital right management, DRM)를 적용할 수 있다. 그렇지만, DRM은 정적으로 소비되는 다운로드 가능형 파일을 보호하도록 설계되어 있다. DRM은 콘텐츠 스트리밍에서 제공되는 동적 사용자-서버 인터랙션을 지원하지 않으며, 따라서 스트리밍 애플리케이션에서 사용하기에 적합하지 않을 수도 있다. 이러한 문제 및 그 외의 문제를 해결하기 위해, 그리고 이하에서 더 상세하게 설명될 바와 같이, 동적 토큰-기반 인증 및 권한부여 시그널링 메커니즘을 사용하여 스트리밍 동안 각각의 콘텐츠 세그먼트를 보호한다.
일실시예에서, 본 발명은 스트리밍 클라이언트로서 구성된 네트워크 요소(network element, NE)에 의해 실행되는 방법을 포함하며, 상기 방법은, 상기 NE의 프로세서를 통해, 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위한 제1 권한부여 토큰을 획득하는 단계, 상기 프로세서를 통해, 상기 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위한 제1 콘텐츠 요구 메시지에 제1 권한부여 토큰을 매립하는 단계, 상기 제1 미디어 세그먼트를 요구하기 위해 제1 권한부여 토큰을 포함하는 제1 콘텐츠 요구 메시지를 상기 NE의 전송기를 통해 상기 콘텐츠 서버에 송신하는 단계, 및 상기 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하는 데 제1 권한부여 토큰이 유효할 때 상기 NE의 수신기를 통해 상기 콘텐츠 서버로부터 제1 미디어 세그먼트를 수신하는 단계를 포함한다. 일부의 실시예에서, 본 발명은 또한 상기 스트리밍 클라이언트의 인증을 요구하는 인증 요구 메시지를 상기 전송기를 통해 인증 서버에 송신하는 단계, 및 상기 제1 권한부여 토큰을 획득하기 전에 인증 토큰을 포함하는 인증 응답 메시지를 상기 수신기를 통해 상기 인증 서버로부터 수신하는 단계, 및/또는 상기 제1 콘텐츠 요구 메시지를 상기 콘텐츠 서버에 송신하기 전에 상기 제1 콘텐츠 요구 메시지에 인증 토큰을 매립하는 단계 - 상기 제1 미디어 세그먼트는 상기 콘텐츠 서버 상에서 제1 미디어 세그먼트를 액세스하는 데 인증 토큰이 유효할 때 추가로 수신됨 - , 및/또는 상기 인증 응답 메시지를 수신한 후 상기 수신기를 통해 제1 미디어 세그먼트와 관련된 미디어 프레젠테이션 디스크립터(media presentation descriptor, MPD)를 수신하는 단계를 포함하며, 상기 MPD는 상기 제1 미디어 세그먼트에 액세스할 때 세그먼트 토큰 파라미터의 대체가 필요하다는 것을 지시하는 제1 질의를 포함하며, 상기 제1 콘텐츠 요구 메시지에 제1 권한부여 토큰을 매립하는 단계는, 상기 제1 권한부여 토큰을 상기 세그먼트 토큰 파라미터로 대체하는 단계, 및 상기 제1 권한부여 토큰을 포함하는 세그먼트 토큰 파라미터를 상기 제1 콘텐츠 요구 메시지에 매립하는 단계를 포함하며, 및/또는 상기 MPD는 인증 및 권한부여(AA) 시스템 식별자(ID) 및 상기 제1 미디어 세그먼트에 액세스할 때 AA 시스템 ID 파라미터의 대체가 필요하다는 것을 지시하는 제2 질의를 더 포함하며, 상기 방법은, 상기 AA 시스템 ID를 상기 AA 시스템 ID 파라미터로 대체하는 단계, 및 상기 제1 콘텐츠 요구 메시지를 송신하기 전에 상기 AA 시스템 ID 파라미터를 상기 제1 콘텐츠 요구 메시지에 매립하는 단계를 더 포함하며, 상기 MPD는 상기 콘텐츠 서버 상에서 제1 미디어 세그먼트에 액세스하기 위한 제1 권한부여 토큰을 더 포함하며, 상기 제1 권한부여 토큰은 상기 MPD로부터 획득되며, 및/또는 상기 MPD는 권한부여 서버를 식별하는 유니폼 리소스 로케이터(uniform resource locator, URL)를 더 포함하며, 상기 제1 권한부여 토큰을 획득하는 단계는, 상기 제1 미디어 세그먼트에 액세스하기 위한 스트리밍 클라이언트의 권한부여를 요구하는 권한부여 요구 메시지를 전송기를 통해 URL에 따라 권한부여 서버에 송신하는 단계, 및 상기 제1 권한부여 토큰을 포함하는 권한부여 응답 메시지를 수신기를 통해 인증 서버로부터 수신하는 단계를 포함하며, 상기 제1 질의는 상기 세그먼트 토큰 파라미터가 세그먼트 종속이라는 것을 추가로 지시하며, 상기 방법은, 상기 프로세서를 통해, 상기 콘텐츠 서버에 위치하는 제2 미디어 세그먼트에 액세스하기 위한 제2 권한부여 토큰을 획득하는 단계, 상기 제2 권한부여 토큰을 상기 세그먼트 토큰 파라미터로 대체하는 단계, 상기 프로세서를 통해, 상기 제2 권한부여 토큰을 포함하는 세그먼트 토큰 파라미터를 상기 콘텐츠 서버에 위치하는 제2 미디어 세그먼트에 액세스하기 위한 제2 콘텐츠 요구 메시지에 매립하는 단계, 상기 제2 미디어 세그먼트를 요구하기 위해 상기 제2 권한부여 토큰을 포함하는 제2 콘텐츠 요구 메시지를 전송기를 통해 콘텐츠 서버에 송신하는 단계, 및 상기 콘텐츠 서버에 위치하는 제2 미디어 세그먼트에 액세스하는 데 제2 권한부여 토큰이 유효할 때 수신기를 통해 콘텐츠 서버로부터 제2 미디어 세그먼트를 수신하는 단계를 더 포함하며, 상기 제1 권한부여 토큰과 상기 제2 권한부여 토큰은 동일하다.
다른 실시예에서, 본 발명은 스트리밍 클라이언트를 실행하도록 구성된 네트워크 요소(network element, NE)를 포함하며, 상기 네트워크 요소는, 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위한 제1 권한부여 토큰을 획득하고, 상기 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위한 제1 콘텐츠 요구 메시지에 제1 권한부여 토큰을 매립하도록 구성되어 있는 프로세서, 상기 프로세서에 결합되어 있으며, 상기 제1 미디어 세그먼트를 요구하기 위해 제1 권한부여 토큰을 포함하는 제1 콘텐츠 요구 메시지를 상기 콘텐츠 서버에 송신하도록 구성되어 있는 전송기, 및 상기 프로세서에 결합되어 있으며, 상기 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하는 데 제1 권한부여 토큰이 유효할 때 상기 콘텐츠 서버로부터 제1 미디어 세그먼트를 수신하도록 구성되어 있는 수신기를 포함한다. 일부의 실시예에서, 본 발명에서, 상기 전송기는 상기 스트리밍 클라이언트의 인증을 요구하는 인증 요구 메시지를 상기 인증 서버에 송신하도록 추가로 구성되어 있으며, 상기 수신기는 제1 권한부여 토큰을 획득하기 전에 인증 토큰을 포함하는 인증 응답 메시지를 상기 인증 서버로부터 수신하도록 추가로 구성되어 있으며, 상기 수신기는 인증 응답 메시지를 수신한 후 제1 미디어 세그먼트와 관련된 미디어 프레젠테이션 디스크립터(MPD)를 수신하도록 추가로 구성되어 있으며, 상기 MPD는 제1 권한부여 토큰의 검색(retrieval)과 관련된 정보를 포함하며, 상기 프로세서는 상기 MPD 내의 정보에 따라 제1 권한부여 토큰을 획득하도록 추가로 구성되어 있으며, 상기 프로세서는, 상기 스트리밍 클라이언트와 관련된 클라이언트 권한부여 토큰을 획득하고 - 상기 클라이언트 권한부여 토큰 및 상기 제1 권한부여 토큰은 서로 다른 지속시간 동안 유효함 - , 그리고 상기 제1 콘텐츠 요구 메시지를 콘텐츠 서버에 송신하기 전에 상기 제1 콘텐츠 요구 메시지에 상기 클라이언트 권한부여 토큰을 매립하도록 추가로 구성되어 있으며, 상기 제1 미디어 세그먼트는 상기 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하는 데 상기 클라이언트 권한부여 토큰이 유효할 때 추가로 수신되며, 및/또는 상기 제1 권한부여 토큰은 상기 콘텐츠 서버에 위치하는 제2 미디어 세그먼트에 액세스하는 데 유효하지 않으며, 상기 프로세서는, 상기 콘텐츠 서버 상에서 제2 미디어 세그먼트에 액세스하기 위한 제2 권한부여 토큰을 획득하고, 그리고 상기 콘텐츠 서버에 위치하는 제2 미디어 세그먼트에 액세스하기 위한 제2 콘텐츠 요구 메시지에 제2 권한부여 토큰을 매립하도록 추가로 구성되어 있으며, 상기 전송기는 제2 미디어 세그먼트를 요구하기 위해 제2 권한부여 토큰을 포함하는 제2 콘텐츠 요구 메시지를 콘텐츠 서버에 송신하도록 추가로 구성되어 있으며, 상기 수신기는 상기 제2 권한부여 토큰이 상기 콘텐츠 서버 상에서 제2 미디어 세그먼트에 액세스하는 데 유효할 때 콘텐츠 서버로부터 제2 미디어 세그먼트를 수신하도록 추가로 구성되어 있으며, 및/또는 상기 프로세서는, 상기 콘텐츠 서버에 위치하는 제1 미디어 세그먼트와 관련된 디지털 권리 관리(digital right management, DRM) 라이선스를 획득하기 위한 제3 권한부여 토큰을 획득하고, 그리고 상기 DRM 라이선스를 획득하기 위한 DRM 라이선스 요구 메시지에 제3 권한부여 토큰을 매립하도록 추가로 구성되어 있으며, 상기 전송기는 상기 DRM 라이선스를 요구하기 위해 제3 권한부여 토큰을 포함하는 DRM 라이선스 요구 메시지를 송신하도록 추가로 구성되어 있으며, 상기 수신기는 제3 권한부여 토큰이 DRM 라이선스를 획득하는 데 유효할 때 DRM 라이선스를 수신하도록 추가로 구성되어 있다.
또 다른 실시예에서, 본 발명은 콘텐츠 서버를 실현하도록 구성되어 있는 구성된 네트워크 요소(network element, NE)를 포함하며, 상기 NE는, 제1 미디어 세그먼트에의 액세스를 요구하는 스트리밍 클라이언트로부터 제1 콘텐츠 요구 메시지를 수신하도록 구성되어 있는 수신기 - 상기 제1 콘텐츠 요구 메시지는 제1 권한부여 토큰을 포함함 - ; 상기 수신기에 결합되어 있으며, 상기 제1 권한부여 토큰이 유효하다는 것을 지시하는 제1 검증을 획득하도록 구성되어 있는 프로세서, 및 상기 프로세서에 결합되어 있으며, 상기 제1 권한부여 토큰이 유효할 때 제1 미디어 세그먼트를 스트리밍 클라이언트에 송신하도록 구성되어 있는 전송기를 포함한다. 일부의 실시예에서, 본 발명에서는, 상기 제1 콘텐츠 요구 메시지는 인증 토큰을 더 포함하며, 상기 프로세서는 상기 인증 토큰이 유효하다는 것을 지시하는 제2 검증을 획득하도록 추가로 구성되어 있으며, 상기 전송기는 상기 인증 토큰이 유효할 때 제1 미디어 세그먼트를 스트리밍 클라이언트에 송신하도록 추가로 구성되어 있으며, 및/또는 상기 제1 권한부여 토큰은 상기 제1 미디어 세그먼트와 관련된 제1 기간 동안 유효하며, 상기 제1 콘텐츠 요구 메시지는 상기 제1 미디어 세그먼트와 관련된 제2 권한부여 토큰을 더 포함하고 제2 기간 동안 유효하며, 상기 프로세서는 상기 제2 권한부여 토큰이 유효하다는 것을 지시하는 제3 검증을 획득하도록 추가로 구성되어 있으며, 상기 전송기는 상기 제2 권한부여 토큰이 유효할 때 제1 미디어 세그먼트를 스트리밍 클라이언트에 송신하도록 추가로 구성되어 있으며, 및/또는 상기 제1 권한부여 토큰은 제2 미디어 세그먼트에 액세스하는 데 유효하지 않으며, 상기 수신기는 상기 제2 미디어 세그먼트에의 액세스를 요구하는 스트리밍 클라이언트로부터 제2 콘텐츠 요구 메시지를 수신하도록 추가로 구성되어 있으며, 상기 제2 콘텐츠 요구 메시지는 세그먼트-종속 권한부여 토큰을 포함하며, 상기 프로세서는 상기 세그먼트-종속 권한부여 토큰이 유효하다는 것을 지시하는 제4 검증을 획득하도록 추가로 구성되어 있으며, 상기 전송기는 상기 세그먼트-종속 권한부여 토큰이 유효할 때 및/또는 상기 NE가 DASH 서버일 때, 제2 미디어 세그먼트를 스트리밍 클라이언트에 송신하도록 추가로 구성되어 있다.
명료성의 목적으로, 전술한 실시예 중 어느 하나는 다른 전술한 실시예 중 임의의 하나 이상과 결합되어, 본 발명의 범주 내에서 새로운 실시예를 창조할 수 있다.
이러한 특징 및 그 외 특징이 첨부의 도면 및 청구범위와 관련해서 이하의 상세한 설명으로부터 자명하게 이해될 수 있을 것이다.
본 개시를 더 완전하게 이해하기 위해, 첨부된 도면 및 상세한 설명과 관련해서, 이하의 요약 설명을 참조하며, 도면 중 유사한 도면부호는 유사한 부분을 나타낸다.
도 1은 DASH 전달 시스템의 실시예에 대한 개략도이다.
도 2는 DASH 시스템의 AA 아키텍처의 실시예에 대한 개략도이다.
도 3은 네트워크 내의 NE의 실시예에 대한 개략도이다.
도 4는 DASH 시스템의 AA 토큰을 획득하는 방법의 실시예에 대한 프로토콜 도면이다.
도 5는 스트리밍 동안 권한부여를 수행하는 방법의 실시예에 대한 프로토콜 도면이다.
도 6은 스트리밍 동안 AA를 수행하는 방법의 다른 실시예에 대한 프로토콜 도면이다.
도 7은 스트리밍 동안 장기 및 단기 권한부여를 수행하는 방법의 다른 실시예에 대한 프로토콜 도면이다.
도 8은 DRM 라이선스를 획득하기 위해 권한부여를 수행하는 방법의 실시예에 대한 프로토콜 도면이다.
도 9는 MPD에서 URL 템플릿 시그널링 AA 방식의 실시예에 대한 도면이다.
도 10은 AA 토큰 및 AA URL을 시그널링하는 URL 테플릿의 실시예에 대한 도면이다.
도 11은 세그먼트-독립 AA 정보를 질의하기 위한 URL 질의 정보 요소를 지시하는 URL 테플릿의 실시예에 대한 도면이다.
도 12는 세그먼트-독립 AA 정보를 질의하기 위한 URL 질의 정보 요소를 지시하는 URL 테플릿의 다른 실시예에 대한 도면이다.
도 13은 세그먼트-종속 AA 정보를 질의하기 위한 URL 질의 정보 요소를 지시하는 URL 테플릿의 다른 실시예에 대한 도면이다.
도 14는 미디어 콘텐츠를 요구하는 방법의 실시예에 대한 흐름도이다.
도 15는 인증 토큰을 요구하는 방법의 실시예에 대한 흐름도이다.
도 16은 콘텐츠 요구를 생성하는 방법의 실시예에 대한 흐름도이다.
도 17은 콘텐츠 요구를 생성하는 방법의 다른 실시예에 대한 흐름도이다.
도 18은 스트리밍 시스템에서 콘텐츠 액세스를 허용하는 방법의 실시예에 대한 흐름도이다.
도 1은 DASH 전달 시스템의 실시예에 대한 개략도이다.
도 2는 DASH 시스템의 AA 아키텍처의 실시예에 대한 개략도이다.
도 3은 네트워크 내의 NE의 실시예에 대한 개략도이다.
도 4는 DASH 시스템의 AA 토큰을 획득하는 방법의 실시예에 대한 프로토콜 도면이다.
도 5는 스트리밍 동안 권한부여를 수행하는 방법의 실시예에 대한 프로토콜 도면이다.
도 6은 스트리밍 동안 AA를 수행하는 방법의 다른 실시예에 대한 프로토콜 도면이다.
도 7은 스트리밍 동안 장기 및 단기 권한부여를 수행하는 방법의 다른 실시예에 대한 프로토콜 도면이다.
도 8은 DRM 라이선스를 획득하기 위해 권한부여를 수행하는 방법의 실시예에 대한 프로토콜 도면이다.
도 9는 MPD에서 URL 템플릿 시그널링 AA 방식의 실시예에 대한 도면이다.
도 10은 AA 토큰 및 AA URL을 시그널링하는 URL 테플릿의 실시예에 대한 도면이다.
도 11은 세그먼트-독립 AA 정보를 질의하기 위한 URL 질의 정보 요소를 지시하는 URL 테플릿의 실시예에 대한 도면이다.
도 12는 세그먼트-독립 AA 정보를 질의하기 위한 URL 질의 정보 요소를 지시하는 URL 테플릿의 다른 실시예에 대한 도면이다.
도 13은 세그먼트-종속 AA 정보를 질의하기 위한 URL 질의 정보 요소를 지시하는 URL 테플릿의 다른 실시예에 대한 도면이다.
도 14는 미디어 콘텐츠를 요구하는 방법의 실시예에 대한 흐름도이다.
도 15는 인증 토큰을 요구하는 방법의 실시예에 대한 흐름도이다.
도 16은 콘텐츠 요구를 생성하는 방법의 실시예에 대한 흐름도이다.
도 17은 콘텐츠 요구를 생성하는 방법의 다른 실시예에 대한 흐름도이다.
도 18은 스트리밍 시스템에서 콘텐츠 액세스를 허용하는 방법의 실시예에 대한 흐름도이다.
서두에서 알 수 있는 바와 같이, 하나 이상의 실시예의 도해적 설명을 이하에 제공하더라도, 개시된 시스템 및/또는 방법은 현재 공지되어 있거나 존재하고 있든 간에 임의 개수의 기술을 사용하여 실현될 수 있다. 개시는 여기에 도해되고 설명되고 예시적 설계 및 실시를 포함하는, 도해된 실시, 도면, 및 이하에 설명된 기술에 어떠한 식으로도 제한되지 않으나, 첨부된 청구범위의 범주 및 그 등가의 완전한 범주 내에서 수정될 수 있다.
도 1은 DASH 전달 시스템(100)의 실시예에 대한 개략도이다. 시스템(100)은 ISO/IEC 23009-1, 명칭 "Information Technology - Dynamic Adaptive Streaming over HTTP (DASH) - part 1: Media Presentation Description and Segment Formats"에 설명되어 있다. 시스템(100)은 미디어 프레젠테이션 준비 서버(110), MPD 서버(120), DASH 콘텐츠 서버(130), 및 DASH 클라이언트(140)를 포함한다. DASH 클라이언트(140)는 인터넷, 유선 네트워크, 및/또는 무선 네트워크를 포함할 수 있는 하나 이상의 네트워크를 통해 DASH 콘텐츠 서버(130) 및 MPD 서버(120)와 통신할 수 있도록 연결되어 있다. 미디어 프레젠테이션 준비 서버(110)는 DASH 콘텐츠 서버(130) 및 MPD 서버(120)와 통신할 수 있도록 연결되어 있으며 콘텐츠 전달 네트워크(content delivery network, CDN)의 일부를 형성할 수 있다. CDN은 콘텐츠를 전달할 목적으로 복수의 백본을 통해 복수의 데이터 센터에 배치되어 있는 서버의 분배 시스템을 나타낸다.
미디어 프레젠테이션 준비 서버(110)는 DASH 프로토콜을 사용하는 시스템(100)에서의 전달을 위한 복수의 레프리젠테이션에 비디오, 오디오, 및/또는 텍스트를 포함할 수 있는 미디어 콘텐츠를 준비하도록 구성되어 있는 하드웨어 컴퓨터 서버와 같은 임의의 네트워크 장치일 수 있다. 예를 들어, 미디어 프레젠테이션 준비 서버(110)는 다양한 미디어 인코딩 방식을 사용하는 미디어 콘텐츠를 인코딩하여 적응 집합을 생성하고 그 적응 집합을 디스크 또는 임의의 저장 장치에 저장한다. 적응 집합은 서로 다른 비트 레이트, 비디오 프레임 레이트, 공간적 해상도, 비디오 포맷, 또는 이것들의 조합에 대응할 수 있는 복수의 미디어 레프리젠테이션을 포함한다. 미디어 프레젠테이션 준비 서버(110)는 미디어 콘텐츠의 짧은 재생 간격에 각각 대응하는 복수의 미디어 세그먼트로 미디어 레프리젠테이션을 분할한다. 미디어 세그먼트는 DASH 콘텐츠 서버(130)에 저장될 수 있거나 시스템(100) 내의 서버(131)나 임의의 다른 네트워크 노드에 캐싱될 수 있다. 또한, 미디어 프레젠테이션 준비 서버(110)는 미디어 콘텐츠를 설명하는 MPD 메타데이터를 생성하며, 미디어 콘텐츠로는 서로 다른 레프리젠테이션, 미디어 콘텐츠의 이용 가능성, 미디어 유형, 비트 레이트, 해상도, 최소 및/또는 최대 대역폭, 미디어 컴포넌트의 인코딩된 대안, 액세스 가능성 특징 및 필요한 DRM, 및/또는 미디어 콘텐츠의 다른 특성을 들 수 있다. 실시예에서, 미디어 프레젠테이션 준비 서버(110)는 MPD 메타데이터를 확장 가능한 마크업 언어(extensible markup language, XML) 파일로 저장한다.
MPD 서버(120)는 DASH 클라이언트(140)로부터 요구가 있으면 MPD 메타데이터를 DASH 클라이언트(140)에 전달하도록 구성되어 있는 하드웨어 컴퓨터 서버와 같은 임의의 네트워크 장치일 수 있다. DASH 콘텐츠 서버(130)는 DASH 클라이언트(140)로부터 요구가 있으면 미디어 세그먼트를 DASH 클라이언트(140)에 전달하도록 구성되어 있는 하드웨어 컴퓨터 서버와 같은 임의의 네트워크 장치일 수 있다. 도 1은 개별적인 서버 상에서 실행되는 미디어 프레젠테이션 준비, 세그먼트 전달, 및 MPD 전달 기능을 도시하고 있으나, 미디어 프레젠테이션 준비, 세그먼트 전달, 및 MPD 전달 기능은 유사한 기능을 달성하도록 당업자에 의해 결정될 때 대안으로 구성될 수 있다.
DASH 클라이언트(140)는 MPD 서버(120)로부터 이용 가능한 미디어 콘텐츠의 정보를 검색하고 DASH 콘텐츠 서버(130)로부터 미디어 콘텐츠의 전달을 요구하도록 구성되어 있는 노트북 컴퓨터, 태블릿 컴퓨터, 데스크톱 컴퓨터, 또는 이동 전화와 같은 임의의 사용자 장치일 수 있다. DASH 클라이언트(140)는 MPD 서버(120)로부터 MPD 메타데이터를 다운로드하기 시작한다. DASH 클라이언트(140)는 네트워크 조건을 결정하고, MPD 메타데이터로부터 검색된 정보, 네트워크 조건, 및/또는 DASH 클라이언트(140)의 장치 성능에 따라 미디어 콘텐츠의 적절한 인코딩된 버전을 선택한다. 스트리밍 재생 동안, DASH 클라이언트(140)는 네트워크 조건에 기초하여 최고의 가능한 품질 레벨로 레프리젠테이션으로부터 다음 미디어 세그먼트를 적응적으로 선택할 수 있다. 실시예에서, DASH 콘텐츠 서버(130)는 HTTP 서버이고 DASH 클라이언트(140)는 HTTP 클라이언트이다. 이러한 실시예에서, DASH 클라이언트(140)는 HTTP 요구를 통해 DASH 콘텐츠 서버(130)로부터 미디어 세그먼트를 요구하고, DASH 콘텐츠 서버(130)는 HTTP 응답을 통해 미디어 세그먼트를 전달한다.
실시예에서, 시스템(100)은 미디어 프레젠테이션 준비 서버(110)에 의해 준비된 미디어 콘텐츠를 보호하기 위해 DRM 시스템(150)을 사용한다. 이러한 실시예에서, DRM 시스템(150)은 미디어 프레젠테이션 준비 서버(110), MPD 서버(120), 및 DASH 클라이언트(150)에 통신할 수 있도록 연결된다. DRM 시스템(150)은 암호화된 데이터가 권한부여된 사용자에 의해 액세스될 수 있거나, 콘텐츠가 자유롭게 배포되지 않도록 콘텐츠를 디지털 워터마크로 마킹하도록 데이터를 암호화함으로써 콘텐츠를 보호한다. 이러한 실시예에서, MPD 메타데이터는 DASH 클라이언트(140), 암호화 키, 암호화 키의 위치 또는 이것들의 조합과 같은 권리를 사용자에게 허가하는 DRM 시스템(150)과 관련된 정보와 같은 콘텐츠 보호 정보를 반송하는 콘텐츠 보호 디스크립터를 포함한다. DASH 클라이언트(140)는 클라이언트 장치에 다운로드된 콘텐츠의 사용을 통제하기 위해, 그 반송된 보호 정보를 사용하여 라이선스, 키 및 그 외 정보를 DRM 시스템(150)으로부터 획득한다. DRM은 파일 다운로드를 사용하여 분배된 파일의 사용량을 보호하도록 주로 설계되어 있으므로 - 여기서 사용자는 파일을 사용자 장치에 다운로드하여 그 다운로드된 파일 오프라인을 소비하며 - , DRM은 동적 서버-클라이언트 스트리밍 인터랙션을 DASH에 주소지정하지 않으며, 여기서 DASH 클라이언트(140)는 재생 세션 동안 스트리밍을 위한 세그먼트에 의해 DASH 클라이언트 서버(130)로부터 미디어 콘텐츠를 페치한다.
여기에서는 동영상 전문가 그룹(MPEG)-DASH 및 DASH-산업 포럼(IF) 기반 비디오 스트리밍을 위한 토큰 기반 AA 정보 시그널링 및 교환 메커니즘에 대한 다양한 실시예에 대해 설명한다. 실시예에서, MPD는 AA 시스템 ID, 다양한 유형의 AA 토큰, 및 콘텐츠 서버에 위치하는 미디어 세그먼트에 액세스하기 위한 AA 토큰의 다양한 조합을 요구하기 위해 질의 파라미터를 포함할 수 있다. 클라이언트가 MPD를 수신할 때, 클라이언트는 그 요구된 인증 및/또는 권한 부여 토큰을 콘텐츠 요구에 매립함으로써 MPD에서 지시된 질의 파라미터에 따라 콘텐츠 요구를 생성한다. 콘텐츠 서버가 콘텐츠 요구를 수신할 때, 콘텐츠 서버는 콘텐츠 요구에 의해 제공되는 AA 토큰이 콘텐츠에의 액세스를 허용하기 전에 유용한 것으로 검증한다. 콘텐츠 서버는 AA 토큰의 검증을 수행하고 검증 서버에 요구하여 그 검증을 수행한다. 클라이언트는 임의 유형의 프로토콜을 사용하여 AA와 통신할 수 있고 서로 다른 AA 시스템과 통신하여 서로 다른 AA 토큰을 획득할 수 있다. 개시된 실시예에 대해 DASH 시스템의 콘텍스트에 설명하였으나, 그 개시된 실시예는 임의 유형의 스트리밍 시스템에 적합하다.
도 2는 DASH 시스템(200)의 AA 아키텍처의 실시예에 대한 개략도이다. 시스템(200)은 시스템(100)과 유사하지만 콘텐츠에의 액세스를 허가할 때 AA를 실행한다. 시스템(200)은 하나 이상의 네트워크를 통해 서로 통신할 수 있도록 연결되어 있는 인증 서버(211), 권한부여 서버(212), DASH 클라이언트(220), DASH 콘텐츠 서버(231), 및 검증 서버(232)를 포함하며, 네트워크로는 인터넷, 유선 네트워크 및/또는 무선 네트워크를 포함할 수 있다. DASH 클라이언트(220) 및 DASH 콘텐츠 서버(231)는 DASH 클라이언트(140) 및 DASH 콘텐츠 서버(130)와 각각 유사하지만, 인증 서버(211), 권한부여 서버(212), 및 검증 서버(232)와의 추가적인 인증 및/또는 권한부여를 수행하여 시스템(200) 내의 스트리밍 콘텐츠를 보호한다.
인증 서버(211)는 DASH 클라이언트(220)로부터 인증 요구를 수신하면 DASH 클라이언트(220)를 인증하도록 구성되어 있는 하드웨어 컴퓨터 서버와 같은 임의의 네트워크 장치일 수 있다. 인증이란 클라이언트의 식별 및/또는 증명을 유효화하는 프로세스를 말하며, 이것은 사용자 명 및 패스워드를 포함할 수 있다. 인증 서버(211)는 인증이 성공되면 DASH 클라이언트(220)에 인증 토큰을 생성하여 발행한다. 인증 서버(211)는 임의의 적절한 인증 방식, 프로토콜, 및/또는 표준을 적용할 수 있다. 인증 토큰은 임의의 적절한 포맷으로, 예를 들어, 불투명 스트링으로 디지털식으로 인코딩될 수 있다. 인증 서버(212)는 DASH 클라이언트(220)로부터 권한부여 요구를 수신하면 DASH 클라이언트(220)에 권한을 부여하도록 구성되어 있는 하드웨어 컴퓨터 서버와 같은 임의의 네트워크 장치일 수 있다. 권한부여란 클라이언트가 미디어 콘텐츠와 같은 소정의 자원에 액세스할 수 있는 허가를 가지는지를 결정하는 프로세스를 말한다. 권한부여 서버(220)는 권한부여가 성공되면 DASH 클라이언트(220)에 인증 토큰을 생성하여 발행한다. 일부의 실시예에서, 권한부여 프로세스는 인증 서버(211)에 의해 수행되는 DASH 클라이언트(220)의 인증에 좌우될 수 있다. 권한부여 서버(212)는 적절한 권한부여 방식, 프로토콜, 및/또는 표준을 적용할 수 있다. 권한부여 토큰은 임의의 적절한 포맷으로, 예를 들어, 불투명 스트링으로 디지탈 식으로 인코딩될 수 있다.
검증 서버(232)는 DASH 클라이언트(220)의 인증 토큰 및 권한부여 토큰의 유효성 및/또는 진위를 검증하도록 구성되어 있는 하드웨어 컴퓨터 서버와 같은 임의의 네트워크 장치일 수 있다.
DASH 클라이언트(220)는 인증 서버(211)에 인증을 요구하고 권한부여 서버(211)로부터 권한부여 토큰을 수신한다. 마찬가지로, DASH 클라이언트(220)는 권한부여 서버(212)에 권한부여를 요구하고 하나 이상의 권한부여 토큰을 수신한다. DASH 클라이언트(220)는 DASH 콘텐츠 서버(231)에 미디어 세그먼트를 요구할 때 식별 및 액세스 허가의 증거로서 인증 토큰 및/또는 권한부여 토큰을 DASH 콘텐츠 서버(231)에 제공한다. 예를 들어, DASH 클라이언트(220)는 각각의 미디어 세그먼트 요구에 인증 토큰 및/또는 권한부여 토큰을 매립한다. 일부의 실시예에서, 서로 다른 미디어 세그먼트 또는 미디어 세그먼트의 다른 컬렉션은 서로 다른 권한부여 토큰과 관련된다. 그러므로 DASH 클라이언트(220)는 권한부여 서버(212)에 복수의 권한부여 토큰을 요구하고 수신할 수 있다. 예를 들어, DASH 클라이언트(220)는 재생 세션 동안 권한부여 서버(212)에 하나 이상의 다음 세그먼트를 위한 권한부여 토큰을 동적으로 요구하고 페치한다.
DASH 콘텐츠 서버(231)는 DASH 클라이언트(220)가 유효한 인증 토큰 및/또는 권한부여 토큰을 제공할 때 DASH 클라이언트(220)가 미디어 콘텐츠에 액세스하여 스트리밍할 수 있게 한다. 예를 들어, 권한부여 토큰이 매립되어 있는 스트리밍 콘텐츠 요구를 수신하면, DASH 콘텐츠 서버(231)는 검증 서버에 권한부여 토큰을 검증하도록 요구하고 검증이 성공되면 DASH 클라이언트(220)에 미디어 세그먼트를 전달한다. 각각의 세그먼트를 권한부여 토큰과 관련지음으로써, DASH 콘텐츠 서버(231)는 미디어 콘텐츠 액세스와 관련해서 DASH 클라이언트(220)를 더 정교하게 제어할 수 있다. 예를 들어, 다른 권한부여 토큰이 미디어 콘텐츠의 광고 및 주요 프로그램과 관련될 수 있다. 그러므로 DASH 콘텐츠 서버(231)는 DASH 클라이언트(220)가 광고를 위한 권한부여 토큰을 송신하는 비율을 모니터링하고 DASH 클라이언트(220)가 그 광고를 건너뛰지 않도록 검증 프로세스의 속도를 조절할 수 있다.
도 2는 인증 서버(211) 및 권한부여 서버(212)가 별도의 물리적 서버로서 도시하고 있으나, 인증 서버(211) 및 권한부여 서버(212)는 동일한 서버일 수도 있고 대안으로 한 그룹의 서버일 수도 있다. 또한, DASH 콘텐츠 서버(231)는 별도의 검증 서버(232)를 사용하는 대신 추가로 토큰 검증을 실행할 수 있다. 일부의 실시예에서, 인증 서버(211) 및 권한부여 서버(212)는 DASH 콘텐츠 서버(231) 및 검증 서버(232)가 아닌 다른 권한부여 및/또는 관리 엔티티에 의해 작동될 수 있다.
시스템(200)은 미디어 프레젠테이션 준비 서버(110)와 같은 미디어 프레젠테이션 준비 서버 및 MPD 서버(120)와 같은 MPD 서버를 더 포함할 수 있다. 일실시예에서, 권한부여 토큰은 MPD 서버(120)에 저장되어 있는 MPD에서 시그널링된다. 다른 실시예에서, 예를 들어, 유니폼 리소스 로케이터(uniform resource locator, URL)의 양식으로, 권한부여 서버(212)의 위치는 MPD 서버에 저장되어 있는 MPD에서 시그널링된다. 예를 들어, DASH 클라이언트(220)가 인증 서버(211)와의 인증을 완료한 후, DASH 클라이언트(220)는 MPD 서버로부터 MPD를 다운로드하고 MPD를 분석하여 권한부여 서버(212)의 URL을 획득한다. 이어서, DASH 클라이언트(220)는 권한부여 서버(212)에 권한부여 토큰을 요구한다. AA 정보 시그널링 및 교환 메커니즘 및 포맷에 대해서는 이하에서 더 상세하게 설명된다.
도 3은 시스템(100 및 200)과 같은 네트워크 내의 NE(300)의 실시예에 대한 개략도이다. 예를 들어, NE(200)는 시스템(100 및 200) 내의 미디어 프레젠테이션 준비 서버(110), MPD 서버(120), DASH 콘텐츠 서버(130 및 231), DASH 클라이언트(140 및 220), 인증 서버(211), 권한부여 서버(212), 검증 서버(232), 및/또는 임의의 다른 네트워크 노드로서 작동할 수 있다. NE(300)는 여기서 설명된 토큰 기반 AA 메커니즘 및 방식을 실현 및/또는 지원하도록 구성될 수 있다. NE(300)는 싱글 노드로 실현될 수 있거나 NE(300)의 기능은 복수의 노드로 실행될 수 있다. 당업자는 NE라는 용어는 NE(300)가 단지 넓은 범위의 장치를 망라하며 그러한 장치 중 NE(300)는 하나의 예에 지나지 않는다는 것을 이해할 수 있을 것이다. NE(300)는 논의를 명확하게 할 목적으로 되어 있으며, 본 발명의 응용을 특정한 NE 실시예 또는 NE 실시예의 분류에 어떠한 식으로든 제한하지 않는다.
본 발명에 설명된 특징/방법 중 적어도 일부는 네트워크 장치 또는 컴포넌트, 예를 들어 NE(300)로 실현된다. 예를 들어, 본 발명에서의 특징/방법은 하드웨어, 펌웨어, 및/또는 하드웨어 상에서 운용되도록 설치된 소프트웨어를 사용해서 실현될 수 있다. NE(300)는 네트워크, 예를 들어, 스위치, 라우터, 브릿지, 서버, 클라이언트 등을 통해 패킷을 전송하는 임의의 장치이다. 도 3에 도시된 바와 같이, NE(300)는 송수신기(Tx/Rx)(310)를 포함하며, 이 송수신기는 전송기, 수신기, 또는 이것들의 조합일 수 있다. Tx/Rx(310)는 다른 노드에 프레임을 전송 및/또는 수신하기 위한 복수의 포트(320)에 연결된다.
프로세서(330)는 각각의 Tx/Rx(310)에 결합되어 프레임을 처리하고 그 프레임을 송신할 노드를 결정한다. 프로세서(330)는 하나 이상의 멀티-코더 프로세서 및/또는 메모리 장치(332)를 포함할 수 있고, 이것들은 데이터를 저장하거나 버퍼링 등을 하도록 기능할 수 있다. 프로세서(330)는 범용 프로세서로서 실현될 수도 있고 하나 이상의 주문형 집적회로(ASIC) 및/또는 디지털 신호 프로세서(DSP)의 일부일 수 있다. 프로세서(330)는 AA 프로세싱 컴포넌트(333)를 포함하고, 이것은 스트리밍을 위한 AA 토큰 시그널링 및 교환을 수행할 수 있고 이하에서 더 상세하게 논의되는 바와 같이 방법(400, 500, 600, 700, 800, 1400, 1500, 1600, 및 1700)을 실행할 수 있고, 및/또는 여기서 논의된 임의의 다른 흐름, 방식, 및 방법을 실행할 수 있다. 이와 같이, AA 프로세싱 컴포넌트(333) 및 관련 방법 및 시스템을 제공함으로써 NE(300)의 기능을 개선할 수 있다. 또한, AA 프로세싱 컴포넌트(333)는 특별한 대상(예를 들어, 네트워크)의 다른 상태로 변환시킨다. 대안의 실시예에서, AA 프로세싱 컴포넌트(333)는 메모리 장치(3320에 저장되어 있는 명령으로서 실행될 수 있으며, 이 명령은 프로세서(330)에 의해 실행될 수 있다. 또한, 대안의 실시예에서, NE(300)는 방법(400, 500, 700, 800, 1400, 1500, 1600, 및 1700)을 실행하기 위한 임의의 다른 수단을 포함할 수 있다.
메모리 장치(332)는 콘텐츠를 일시적으로 저장하기 위한 캐시, 예를 들어, 랜덤-액세스 메모리(RAM)를 포함할 수 있다. 또한, 메모리 장치(332)는 콘텐츠를 상대적으로 장시간 동안 저장하기 위한 롱텀 스토리지, 예를 들어, 리드-온리 메모리(ROM)를 포함할 수 있다. 예를 들어, 캐시 및 롱텀 스토리지는 동적 RAM(DRAM), 솔리드-스테이트 드라이브(SSD), 하드디스크, 또는 이것들의 조합을 포함할 수 있다. 메모리 장치(332)는 실시예에 따라 미디어 데이터, AA 토큰, 및 MPD(334)를 저장하도록 구성되어 있다.
NE(300) 상에서 실행 가능한 명령을 프로그래밍 및/또는 로딩함으로써, 프로세서(330) 및/또는 메모리 장치(332) 중 적어도 하나는 변경되고, NE(300)를 특별한 머신 또는 장치, 예를 들어, 본 발명에서 개시하는 새로운 기능성을 가지는 멀티-코어 포워딩 아키텍처로 변환시킨다는 것을 이해할 수 있을 것이다. 전기 공학 및 소프트웨어 공학에 있어서는 실행 가능한 소프트웨어를 컴퓨터에 로딩함으로써 실현될 수 있는 기능은 잘 알려진 설계 규칙에 의해 하드웨어 실행으로 변환될 수 있다는 것은 기본이다. 소프트웨어 대 하드웨어의 개념을 실현하는 결정은 통상적으로 소프트웨어 영역에서 하드웨어 영역으로 번역하는 것에 포함되는 어떤 문제보다는 설계의 안정성과 생성될 유닛의 수를 고려하는 것에 달려 있다. 일반적으로, 변경이 빈번하게 이루어지는 설계는 소프트웨어로 실현되는 것이 바람직한데, 하드웨어 실현을 리스피닝(re-spinning)하는 것이 소프트웨어 설계를 리스피닝하는 것보다 비용이 더 들기 때문이다. 일반적으로, 안정적이면서 대량으로 생산될 설계는 하드웨어, 예를 들어, ASIC로 실현되는 것이 바람직한데, 대량 생산에 있어서 하드웨어 실현이 소프트웨어 실현보다 비용이 덜 들기 때문이다. 종종 설계는 소프트웨어 형태로 개발되고 검사된 다음 나중에 공지의 설계 규칙에 따라 소프트웨어의 명령을 고정시키는 ASIC 내의 등가의 하드웨어 실현으로 변환될 수 있다. 새로운 ASIC에 의해 제어되는 머신이 특별한 머신 또는 장치일 때와 동일한 방식에서, 마찬가지로 실행 가능한 명령으로 프로그램된 및/또는 로딩된 컴퓨터(예를 들어, 비일시적 매체/메모리에 저장되어 있는 컴퓨터 프로그램 제품)를 특별한 머신 또는 장치로 볼 수 있다.
시스템(200)과 같은 DASH 전달 시스템은 인증 및/또는 권한부여를 적용하여, 소정의 MPD 서버 제공자, 최종 사용자, 최종 사용자 장치, 콘텐츠 분배 시스템을 규칙 및/또는 동의에 기초하여 동작하는 것을 허용 또는 제한할 수 있다. 제1 시나리오에서, 스트리밍은 MPD 서비스 제공자가 분배 권리를 가지는 지리적 영역으로 제한된다. 제2 시나리오에서, 스트리밍은 신뢰 있는 미디어 플레이어로 제한된다. 예를 들어, 스트리밍은 광고를 비디오로, MPD로, 및/또는 신뢰 있는 미디어 플레이로의 시그널링 삽입을 통해 제공할 수 있다. 신뢰 있는 미디어는 서비스 과금을 위한 정확한 재생 보고를 회신할 수 있다. 제3 시나리오에서, 스트리밍은 뷰(view)에 대한 특별한 날짜 또는 횟수에 있어서, 특별한 장치에 있어서, 특별한 보호 시스템에 있어서, 장치 또는 동시 스트림의 최대 수에 있어서, 또는 이것들의 조합에 있어서, 예를 들어 표준 화질(standard definition, SD), 고화질(high definition, HD), 및/또는 초고화질(ultra-high definition, UHD)의 미디어 콘텐츠를 스트리밍 및 또는 다운로딩하기 위해 구입된 렌탈 및 소유권을 가지는 최종 사용자 또는 가입자로 제한된다. 제4 시나리오에서, 스트리밍은 텔레비전(TV) Everywhere, UltraViolet, OpenID와 같이, 제휴된 식별 시스템, 및 디지털 엔터테인먼트 콘텐츠 에코시스템(digital entertainment content ecosystem, DECE), KeyChest, 및 TV Everywhere과 같이, 제휴된 권리 시스템을 사용해서 가능하게 될 수 있다.
도 4는 DASH 시스템(200)과 같은 DASH 시스템의 AA 토큰을 획득하는 방법(400)의 실시예에 대한 프로토콜 도면이다. 방법(400)은 MPD 서버(120)와 같은 MPD 서버, 인증 서버(211)와 같은 인증 서버, 권한부여 서버(212)와 같은 권한부여 서버, 및 DASH 클라이언트(220)와 같은 DASH 클라이언트 사이에서 실행될 수 있으며, 이것들 중 어떤 것도 NE(300)로서 실현될 수 있다. DASH 클라이언트가 시스템(200)에 액세스하는 것을 시작할 때 방법(400)은 시작한다. 단계(410)에서, DASH 클라이언트는 인증 서버에 인증 요구를 송신한다. 예를 들어, 단계(410)는 DASH 클라이언트는 콘텐츠 스트리밍 서비스 웹 사이트에 로그인할 때 시작된다. 단계(420)에서, 인증 서버는 DASH 클라이언트 및/또는 DASH 클라이언트 미디어 플레이어를 인증한다. 예를 들어, 인증 서버는 가입자 동의 및/또는 DASH 클라이언트의 회원에 기초하여 인증을 수행할 수 있다. 단계(430)에서, 인증 성공 시, 인증 서버는 DASH 클라이언트에 인증 토큰을 송신한다. 단계(440)에서, DASH 클라이언트는 MPD 서버에 MPD 요구를 송신한다. 단계(450)에서, MPD 서버는 DASH 클라이언트에 MPD 응답을 송신한다. 단계(460)에서, MPD 응답을 수신하면, DASH 클라이언트는 MPD 응답을 분석하여 권한부여 정보를 검색하며, 이 정보는 권한부여 서버의 URL을 포함할 수 있다. 권한부여 정보의 시그널링에 대해서는 이하에 더 상세히 설명된다. 단계(470)에서, DASH 클라이언트는 권한부여 서버에 권한부여 요구를 송신한다. 단계(480)에서, 권한부여 성공 시, 권한부여 서버는 DASH 클라이언트에 권한부여 토큰을 송신한다. 인증 토큰 및 권한부여 토큰을 획득한 후, DASH 클라이언트는 인증 토큰 및/또는 권한부여 토큰을 사용하여 시스템 내의 미디어 콘텐츠를 스트림할 수 있다. 단계(470 및 480)는 스트리밍 세션 이전 및 그동안 반복될 수 있다. 단계(460-480)는 또한 이하에 더 상세히 설명되는 바와 같이, DRM을 위한 권한부여 토큰을 획득하도록 적용될 수 있다. 또한, 일부의 실시예에서, MPD의 검색은 인증 토큰 외에 권한부여 토큰을 필요로 한다. 이러한 실시예에서, DASH 클라이언트는 단계(430)에서 인증 토큰을 수신한 후 제1 권한부여 토큰을 요구하고 단계(440)에서 MPD 요구에 인증 토큰 및 제1 권한부여 토큰 양자를 매립한다. 이어서, DASH 클라이언트는 단계(450)에서 수신된 MPD 응답에 따라 제2 권한부여 토큰을 획득하고, 제2 권한부여 토큰을 사용하여 미디어 세그먼트에 액세스한다. 미디어 세그먼트의 액세스는 이하에 더 상세히 설명되는 바와 같이, 인증 토큰 및/또는 권한부여 토큰의 다양한 조합을 필요로 한다.
도 5-7은 DASH 클라이언트(220)와 같은 DASH 클라이언트, DASH 콘텐츠 서버(231)와 같은 DASH 콘텐츠 서버, 및 검증 서버(232)와 같은 검증 서버 사이에서 시스템(200)과 같은 DASH 시스템에서 AA를 수행하는 수 개의 사용 경우 시나리오를 도시하고 있으며, 이것들 중 어떤 것도 NE(300)로서 실현될 수 있다. 도 5는 스트리밍 동안 권한부여를 수행하는 방법(500)의 실시예에 대한 프로토콜 도면이다. 방법(500)은 DASH 클라이언트가 방법(400)을 사용하여 하나 이상의 미디어 세그먼트와 관련된 인증 토큰을 획득한 후 시작된다. 단계(510)에서, DASH 클라이언트는 미디어 세그먼트를 요구하는 DASH 콘텐츠 서버에 미디어 세그먼트 요구를 송신한다. 미디어 세그먼트 요구는 그 요구된 미디어 세그먼트와 관련된 권한부여 토큰을 포함한다. 단계(520)에서, 그 요구를 수신하면, DASH 콘텐츠 서버는 권한부여 토큰의 검증을 요구하는 검증 서버에 검증 요구를 송신한다. 단계(530)에서, 검증 서버는 권한부여 토큰이 유효하다는 것을 검증한다. 단계(540)에서, 검증 서버는 성공적인 검증을 지시하는 DASH 콘텐츠 서버에 검증 응답을 송신한다. 단계(550)에서, 검증 응답을 수신한 후, DASH 콘텐츠 서버는 DASH 클라이언트에 그 요구된 미디어 세그먼트를 송신한다. 단계(530)에서 권한부여 토큰의 검증이 성공되면 DASH 콘텐츠 서버는 단지 그 요구된 미디어 세그먼트를 송신할 수 있을 뿐이라는 것에 유의해야 한다. 방법(500)은 스트리밍 세션의 지속기간 동안 반복될 수 있다. DASH 클라이언트는 모든 미디어 세그먼트 또는 미디어 세그먼트의 컬렉션을 페치하기 위해 동일한 권한부여 토큰을 사용할 수 있거나, 다른 미디어 세그먼트를 위한 다른 토큰을 사용할 수 있다.
도 6은 스트리밍 동안 AA를 수행하는 방법(600)의 다른 실시예에 대한 프로토콜 도면이다. 방법(600)은 DASH 클라이언트가 방법(400)을 사용하여 DASH 클라이언트와 관련된 인증 토큰 및/또는 DASH 클라이언트의 장치 및 하나 이상의 미디어 세그먼트와 관련된 권한부여 토큰을 획득한 후 시작된다. 단계(610)에서, DASH 클라이언트는 미디어 세그먼트를 요구하는 DASH 클라이언트에 미디어 세그먼트 요구를 요구한다. 미디어 세그먼트 요구는 DASH 클라이언트와 관련된 인증 토큰 및 그 요구 내의 미디어 세그먼트와 관련된 권한부여 토큰 양자를 포함한다. 단계(620)에서, 요구를 수신한 후, DASH 클라이언트는 인증 토큰 및 권한부여 토큰 양자의 검증을 요구하는 검증 서버에 검증 응답을 송신한다. 단계(630)에서, 검증 서버는 인증 토큰 및 권한부여 토큰 양자가 유효하다는 것을 검증한다. 단계(640)에서, 검증 서버는 인증 토큰 및 권한부여 토큰 양자의 성공적인 검증을 지시하는 DASH 콘텐츠 서버에 검증 응답을 송신한다. 단계(650)에서, 검증 응답을 수신한 후, DASH 콘텐츠 서버는 DASH 클라이언트에 그 요구된 미디어 세그먼트를 송신한다. DASH 콘텐츠 서버는 단계(630)에서 인증 토큰 및 권한부여 토큰 양자의 검증이 성공일 때 그 요구된 미디어 세그먼트를 송신할 수 있을 뿐이라는 것에 유의해야 한다. 방법(600)은 스트리밍 세션의 지속기간 동안 반복될 수 있다. DASH 클라이언트는 모든 미디어 세그먼트 또는 미디어 세그먼트의 컬렉션을 페치하기 위해 동일한 권한부여 토큰을 사용할 수 있거나, 다른 미디어 세그먼트를 위해 다른 토큰을 사용할 수 있다.
도 7은 스트리밍 동안 장기 및 단기 권한부여 양자를 수행하는 방법(700)의 다른 실시예에 대한 프로토콜 도면이다. 방법(700)은 DASH 클라이언트가 장기 인증 토큰 및 단기 권한부여 토큰을 획득한 후 시작한다. 비즈니스 및 보안 결정에 따라, 일부의 경우, 장기 권한부여 토큰은 DASH 클라이언트, DASH 클라이언트의 장치, 또는 스트리밍 세션과 관련 있는 반면, 단기 권한부여 토큰은 방법(400)을 사용하여 하나 이상의 미디어 세그먼트와 관련 있으며, 일부의 경우, 단기 권한부여 토큰은 DASH 클라이언트, DASH 클라이언트의 장치, 또는 스트리밍 세션과 관련 있는 반면, 장기 권한부여 토큰은 방법(400)을 사용하는 하나 이상의 미디어 세그먼트와 관련되어 있다. 단계(710)에서, DASH 클라이언트는 미디어 세그먼트를 요구하는 DASH 콘텐츠 서버에 미디어 세그먼트 요구를 송신한다. 미디어 세그먼트 요구는 DASH 클라이언트와 관련된 장기 인증 토큰, DASH 클라이언트의 장치, 또는 그 요구 내의 미디어 세그먼트와 관련된 스트리밍 세션 및 단기 권한부여 토큰을 포함한다. 단계(720)에서, 요구를 수신한 후, DASH 콘텐츠 서버는 장기 권한부여 토큰 및 단기 권한부여 토큰의 검증을 요구하는 검증 서버에 검증 요구를 송신한다. 단계(730)에서, 검증 서버는 장기 권한부여 토큰 및 단기 권한부여 토큰 양자의 유효성을 검증한다. 단계(740)에서, 검증 서버는 장기 권한부여 토큰 및 단기 권한부여 토큰 양자의 성공적인 검증을 지시하는 DASH 콘텐츠 서버에 검증 응답을 송신한다. 단계(750)에서, 검증 응답을 수신한 후, DASH 콘텐츠 서버는 DASH 클라이언트에 그 요구된 미디어를 송신한다. DASH 콘텐츠 서버는 단계(730)에서 장기 권한부여 인증 토큰 및 단기 인증 토큰 양자의 검증이 성공일 때 그 요구된 미디어 세그먼트를 송신할 수 있을 뿐이라는 것에 유의해야 한다. 방법(700)은 스트리밍 세션의 지속기간 동안 반복될 수 있다. DASH 클라이언트는 모든 미디어 세그먼트 또는 미디어 세그먼트의 컬렉션을 페치하기 위해 동일한 권한부여 토큰을 사용할 수 있거나, 다른 미디어 세그먼트를 위해 다른 토큰을 사용할 수 있다.
도 8은 DRM 라이선스를 획득하기 위해 권한부여를 수행하는 방법(800)의 실시예에 대한 프로토콜 도면이다. 방법(800)은 DASH 클라이언트(220)와 같은 DASH 클라이언트 및 DRM 시스템(150)과 같은 DRM 시스템 사이에서 실행될 수 있으며, 이것들 중 어떤 것도 NE(300)로서 실현될 수 있다. 방법(800)은 DASH 클라이언트가 라이선스 획득에 필요한 일부의 인증 토큰 및 권한부여 토큰을 획득한 후 시작된다. 단계(810)에서, DASH 클라이언트는 DRM 라이선스를 요구하는 DRM 시스템에 DRM 라이선스 요구를 송신한다. DRM 라이선스 요구는 그 요구에 이러한 인증 토큰 및 권한부여 토큰을 포함한다. 단계(820)에서, 그 요구를 수신한 후, DRM 시스템은 인증 토큰 및 권한부여 토큰의 검증을 요구하는 검증 서버에 검증 요구를 송신한다. 단계(830)에서, 검증 서버는 인증 토큰 및 권한부여 토큰의 유효성을 검증한다. 단계(840)에서, 검증 서버는 인증 토큰 및 권한부여 토큰의 성공적인 검증을 지시하는 DASH 콘텐츠 서버에 검증 응답을 송신한다. 단계(850)에서, 검증 응답을 신한 후, DRM 시스템 서버는 DASH 클라이언트에 DRM 라이선스를 송신한다. DRM 시스템은 인증 토큰 및 권한부여 토큰의 검증이 단계(830)에서 성공된 후 DMR 라이선스를 송신할 수 있을 뿐이라는 것에 유의해야 한다.
시스템(200)과 같은 DASH 시스템은 서버와 클라이언트 간에 AA 정보를 시그널링하고 교환할 수 있다. 일실시예는 ISO/IEC 문헌 23009-1에 설명되어 있는 인증 디스크립터 및 권한부여 디스크립터 및 URL 질의 파라미터 삽입 메커니즘을 사용하는 것이다. 인증 디스크립터 및 권한부여 디스크립터는 MPD에서 시그널링된다. URL 질의 파라미터 삽입 메커니즘은 MPD에 URLQueryInfo 요소를 삽입하여 DASH 클라이언트(140 및 220)와 같은 DASH 클라이언트에 피드백을 요구한다. 예를 들어, 인증 디스크립터 및 권한부여 디스크립터는 가능한 AA 방식, 프로토콜, 및/또는 표준 및/또는 AA 토큰을 획득하는 데 가능한 서버에 신호를 보내기 위해 확장될 수 있다. 인증 디스크립터 및 권한부여 디스크립터는 또한 AA 토큰을 반송할 수 있고, 및/또는 URL을 시그널링할 수 있으며, 여기서 AA 토큰 또는 URL이 이용 가능할 때 AA 토큰은 검색될 수 있다. URL 질의 파라미터 삽입 메커니즘은 미디어 세그먼트를 요구할 때 AA 정보가 요구된다는 것을 시그널링하기 위해 확장될 수 있다.
실시예에서, AA 정보는 AA 시스템 식별자(ID) 및 AA 토큰을 포함한다. AA 시스템 ID는 AA 시스템(200)과 같은 특별한 AA 시스템을 식별하는 데 사용된다. AA 토큰은 AA 시스템에 의해 발행되고 인코딩된 불투명 스트링을 포함한다. AA 시스템 ID 및 AA 시스템에 ID에 의해 식별된 AA 시스템에 의해 발행된 AA 토큰은 함께 AA 식별 페어를 형성한다. DASH 시스템은 임의 개수의 AA 식별 페어를 포함한다.
MPD는 AA 시스템 ID 및 AA 토큰이 미디어 세그먼트 요구에 필요하다는 것을 신호하기 위해 UrlQueryInfo 요소를 포함할 수 있다. AA 정보 시그널링 및 교환을 용이하게 하기 위해, AASystemId 파라미터 및 AAToken 파라미터는 AA 시스템 ID 및 AAToken을 나타내도록 정의된다. AASystemId 파라미터 및 AAToken 파라미터는 AA 토큰 및 AA 토큰을 검색하기 위한 URL이 세그먼트-종속이라는 것을 지시하기 위해, AAToken{$Number$} 및 AATokenURL{$Number$}로 각각 표현된 세그먼트 변형을 선택적으로 포함할 수 있다. 그러므로 AAToken, AAToken1, AAToken2, AATokenURL, AATokenURL1 및 AATokenURL2는 유효한 URL 파라미터이다. UrlQueryInfo 요소는 URL 대체 파라미터 식별자 $AASystemId$ 및 $AAToken$을 포함하여, DASH 클라이언트(220)와 같은 DASH 클라이언트에 $AASystemId$ 및 $AAToken$를 AASystemId 및 AAToken의 값으로 대체할 것을 요구할 수 있다. URL 대체 파라미터 명 및 식별자는 다음의 표에 요약되어 있다:
$<Identifier>$ | 대체 파라미터 설명 |
$AASystemId$ | 식별자는 기본적인 AA 시스템의 식별자로 대체된다. |
$AAToken$ | 식별자는 기본적인 AA 시스템에서 획득된 AA 토큰으로 대체된다. |
AA에 대한 URL 대체 파라미터의 요약
파라미터 명 | 설명 |
AASystemId | 이 파라미터의 값은 AA 시스템의 ID이다. |
AAToken{$Number$} | 이 파라미터의 값은 대응하는 AA 시스템에서 인코딩된 토큰이다. 대체 파라미터 $Number$는 선택사항이고, 세그먼트-변형(또는 세그먼트-종속) 토큰의 사양을 허용한다. |
AATokenURL{$Number$} | 이 파라미터의 값은 그 관련 AA 시스템에서 토큰을 검색하기 위한 RUL일 수 있다. 대체 파라미터 $Number$는 선택사항이고, 세그먼트-번형 토큰 URL의 사양을 허용한다. |
AA에 대한 URL 대체 파라미터의 요약
도 9는 MPD에서 URL 템플릿(900) 시그널링 AA 방식(911, 912, 913, 및 914) 의 실시예에 대한 도면이다. URL 템플릿(900)은 방법(1600)에서 이하에 상세히 설명되는 바와 같이, 스트리밍을 위한 AA를 적용할 때, 미디어 프레젠테이션 준비 서버(110)와 같은 미디어 프레젠테이션 준비 서버에 의해 생성되고 MPD 서버(120)와 같은 MPD 서버에 MPD의 일부로서 저장된다. AA 방식(911, 912, 913, 및 914)은 AA 시스템 ID(921, 922, 923, 및 924) 각각에 의해 식별된다. AA 방식(911-914)은 AA 토큰, AA 프로토콜, 및/또는 AA 표준을 발행하는 AA 시스템과 관련된 정보를 제공할 수 있다. 일부의 실시예에서, 방식(911-914)은 인증 및 권한부여를 위한 개별적인 방식을 지시할 수 있다. 예를 들어, DASH 클라이언트(220)와 같은 DASH 클라이언트는 방식(911-914) 중 하나에 따라 AA 시스템(200)과 같은 AA 시스템에 AA 토큰을 요구한다.
도 10은 AA 토큰(1011) 및 AA 토큰 URL(1012)을 시그널링하는 URL 템플릿(1000)의 실시예를 도시한다. URL 템플릿(1000)은 방법(1600)에서 이하에 상세히 설명되는 바와 같이, 스트리밍을 위한 AA를 적용할 때, 미디어 프레젠테이션 준비 서버(110)와 같은 미디어 프레젠테이션 준비 서버에 의해 생성되고, MPD 서버(120)와 같은 MPD 서버 내에 MPD의 일부로서 저장된다. AA 토큰(1011)은 AA 토큰 스트링을 지시한다. AA 토큰 URL(1012)은 AA 토큰이 검색될 수 있는 URL을 지시한다. 예를 들어, DASH 클라이언트(220)와 같은 DASH 클라이언트는 미디어 세그먼트를 요구할 때 DASH 콘텐츠 서버(231)와 같은 DASH 콘텐츠 서버에 AA 토큰(1011)을 제공할 수 있다. 대안으로, DASH 클라이언트는 AA 토큰 URL로부터 AA 토큰을 검색하고 그 검색된 AA 토큰을 미디어 세그먼트를 요구할 때 DASH 콘텐츠 서버에 제공할 수 있다.
도 11은 세그먼트-독립 AA 정보를 질의하기 위한 URL 질의 정보 요소를 지시하는 URL 템플릿(1100)의 실시예를 도시하고 있다. URL 템플릿(1100)은 방법(1600)에서 이하에 상세히 설명되는 바와 같이, 스트리밍을 위한 AA를 적용할 때, 미디어 프레젠테이션 준비 서버(110)와 같은 미디어 프레젠테이션 준비 서버에 의해 생성되고 MPD 서버(120)와 같은 MPD 서버에 MPD의 일부로서 저장된다. URL 질의 정보 요소(1101)는 DASH 콘텐츠 서버(231)와 같은 DASH 콘텐츠 서버에 미디어 세그먼트를 요구할 때 AA 시스템 ID 및 세그먼트-독립 AA 토큰이 필요하다는 것을 지시한다.
도 12는 세그먼트-종속 AA 정보를 질의하기 위한 URL 질의 정보 요소(1101, 1201 및 1202)를 지시하는 URL 템플릿(1200)의 다른 실시예를 도시하고 있다. URL 템플릿(1200)은 방법(1600)에서 이하에 상세히 설명되는 바와 같이, 스트리밍을 위한 AA를 적용할 때, 미디어 프레젠테이션 준비 서버(110)와 같은 미디어 프레젠테이션 준비 서버에 의해 생성되고 MPD 서버(120)와 같은 MPD 서버에 MPD의 일부로서 저장된다. URL 질의 정보 요소(1201 및 1202)는 DASH 콘텐츠 서버(231)와 같은 DASH 콘텐츠 서버에 미디어 세그먼트를 요구할 때 복수의 세그먼트-독립 토큰이 필요하다는 것을 지시한다.
도 12는 세그먼트-종속 AA 정보를 질의하기 위한 URL 질의 정보 요소(1301)를 지시하는 URL 템플릿(1300)의 다른 실시예를 도시하고 있다. URL 템플릿(1300)은 방법(1600)에서 이하에 상세히 설명되는 바와 같이, 스트리밍을 위한 AA를 적용할 때, 미디어 프레젠테이션 준비 서버(110)와 같은 미디어 프레젠테이션 준비 서버에 의해 생성되고 MPD 서버(120)와 같은 MPD 서버에 MPD의 일부로서 저장된다. URL 질의 정보 요소(1301)는 DASH 콘텐츠 서버(231)와 같은 DASH 콘텐츠 서버에 미디어 세그먼트를 요구할 때 세그먼트-종속 토큰이 필요하다는 것을 지시한다.
일실시예에서, DASH 클라이언트(220)와 같은 DASH 클라이언트는 MPD 서버(120)와 같은 MPD 서버로부터 URL 템플릿(900, 1000 및 1100)을 수신한다. DASH 클라이언트는 템플릿(900)으로부터 AA 시스템 ID, 예를 들어, "urn:org:example:plan-c"를 선택하고, 템플릿(1000)으로부터 AA 시스템 ID, 예를 들어, "nitfHRCrtziwO2HwPfWw~yYD"를 선택한다. 이어서, DASH 클라이언트는 세그먼트 요구 URL을 생성할 때 $AASystemId$ 파라미터 및 $AAToken$ 파라미터를 이하에 나타난 바와 같이 그 선택된 AA 시스템 ID 및 그 선택된 AA 토큰으로 각각 대체한다:
http://www.example.com/dash/video_1_3000000bps.mp4?AASystemId=urn:org:example:plan-c&AAToken=nitfHRCrtziwO2HwPfWw~yYD
http://www.example.com/dash/video_2_3000000bps.mp4?AASystemId=urn:org:example:plan-c&AAToken=nitfHRCrtziwO2HwPfWw~yYD
http://www.example.com/dash/video_3_3000000bps.mp4?AASystemId=urn:org:example:plan-c&AAToken=nitfHRCrtziwO2HwPfWw~yYD
다른 실시예에서, DASH 클라이언트(220)와 같은 DASH 클라이언트는 MPD 서버(120)와 같은 MPD 서버로부터 URL 템플릿(900, 1000 및 1300)을 수신한다. DASH 클라이언트는 각각의 i번째 미디어 세그먼트에 대해서 템플릿(900)으로부터 AA 시스템 ID, 예를 들어, "urn:org:example:plan-c"를 선택하고, 템플릿(1000)으로부터 AA 시스템 ID, 예를 들어, "i_nitfHRCrtziwO2HwPfWw~yYD"를 선택한다. 이어서, DASH 클라이언트는 세그먼트 요구 URL을 생성할 때 $AASystemId$ 파라미터 및 $AATokeni$ 파라미터를 이하에 나타난 바와 같이 그 선택된 AA 시스템 ID 및 그 선택된 AA 토큰으로 각각 대체한다:
http://www.example.com/dash/video_1_3000000bps.mp4?AASystemId=urn:org:example:plan-c&AAToken1=1_nitfHRCrtziwO2HwPfWw~yYD
http://www.example.com/dash/video_2_3000000bps.mp4?AASystemId=urn:org:example:plan-c&AAToken2=2_nitfHRCrtziwO2HwPfWw~yYD
http://www.example.com/dash/video_3_3000000bps.mp4?AASystemId=urn:org:example:plan-c&AAToken3=3_nitfHRCrtziwO2HwPfWw~yYD
도 14는 미디어 콘텐츠를 요구하는 방법(1400)의 실시예에 대한 흐름도이다. 방법(1400)은 DASH 클라이언트(140 및 220)와 같은 스트리밍 클라이언트에 의해 실현되며, 이것들은 NE(300)로서 실현된다. 방법(1400)은 방법(500, 600, 700 및 800)과 유사한 메커니즘을 적용한다. 방법(1400)은 스트리밍 클라이언트가 미디어 세그먼트를 요구할 때 실행된다. 단계(1410)에서, DASH 콘텐츠 서버(130 및 231)와 같은 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위해 제1 권한부여 토큰이 획득된다. 단계(1420)에서, 제1 권한부여 토큰은 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위한 제1 콘텐츠 요구 메시지에 매립된다. 단계(1430)에서, 제1 권한부여 토큰을 포함하는 제1 콘텐츠 요구 메시지는 제1 미디어 세그먼트를 요구하기 위해 콘텐츠 서버에 송신된다. 단계(1440)에서, 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하는 데 제1 권한부여 토큰이 유효할 때 제1 미디어 세그먼트는 콘텐츠 서버로부터 수신된다.
도 15는 인증 토큰을 요구하는 방법(1500)의 실시예에 대한 흐름도이다. 방법(1500)은 DASH 클라이언트(140 및 220)와 같은 스트리밍 클라이언트에 의해 실행되고, 이것들은 NE(300)로서 실현될 수 있다. 방법(1500)은 방법(400)과 같은 유사한 메커니즘을 적용한다. 방법(1500)은 스트리밍 클라이언트가 임의의 미디어 콘텐츠를 요구할 수 있기 전에 실행된다. 단계(1510)에서, 스트리밍 클라이언트의 인증을 요구하는 인증 서버에 인증 요구 메시지가 송신된다. 단계(1520)에서, 인증 토큰을 포함하는 인증 응답 메시지는 인증 서버로부터 수신된다.
도 16은 콘텐츠 요구를 생성하는 방법(1600)의 실시예에 대한 흐름도이다. 방법(1600)은 DASH 클라이언트(140 및 220)와 같은 스트리밍 클라이언트에 의해 실행되며, 이것들은 NE(300)로서 실현될 수 있다. 방법(1600)은 URL(900-1300)에서 설명된 시그널링 메커니즘을 적용한다. 방법(1600)은 스트리밍 클라이언트는 방법(1500)을 적용함으로써 인증을 완료한 후 실행된다. 단계(1610)에서, MPD는 수신된다. MPD는 AA 시스템 ID, 제1 미디어 세그먼트에 액세스할 때 세그먼트 토큰 파라미터의 대체가 필요하다는 것을 지시하는 제1 질의, 및 제1 미디어 세그먼트에 액세스할 때 AA 시스템 ID 파라미터의 대체를 요구하는 제2 질의를 포함한다. 예를 들어, 제1 미디어 세그먼트는 DASH 콘텐츠 서버(130 및 231)와 유사한 콘텐츠 서버에 저장된다. MPD는 URL 템플릿(900-1300)과 유사할 수 있다. AA 시스템 ID는 AA 시스템 ID(921-924)와 유사할 수 있다. 제1 질의 및 제2 질의는 URL 질의 정보 요소(1101, 1201, 1202, 및 1301)와 유사하다.
단계(1620)에서, AA 시스템 ID는 AA 시스템 ID 파라미터로 대체된다. 단계(1630)에서, 제1 권한부여 토큰이 세그먼트 토큰 파라미터로 대체된다. 예를 들어, URL 템플릿(1000)에 도시된 바와 같이, MPD가 제1 권한부여 토큰을 반송할 때, 제1 권한부여 토큰은 MPD로부터 직접적으로 검색될 수 있으며, 여기서 AA 토큰(1011)은 URL 템플릿(1000)에 매립되어 있는 인코드 스트링이다. 대안으로, MPD는 AA 토큰(1012)과 유사한 권한부여를 지시할 수 있고 제1 권한부여 토큰은 권한부여 서버로부터 획득될 수 있다.
단계(1640)에서, 제1 권한부여 토큰을 포함하는 세그먼트 토큰 파라미터는 제1 콘텐츠 요구 메시지에 매립된다. 단계(1650)에서, AA 시스템 ID를 포함하는 AA 시스템 ID 파라미터는 제1 콘텐츠 요구 메시지에 매립된다. 이어서, 스트리밍 클라이언트는 콘텐츠 서버에 제1 콘텐츠 요구를 송신하여 제1 미디어 세그먼트를 요구한다. MPD는 예를 들어, 방법(500-800)에 설명된 바와 같이, 콘텐츠 서버 상에서 다른 세그먼트에 액세스하거나 DRM 라이선스를 획득하는 데 다른 토큰이 필요하다는 것을 지시하기 위해 다른 질의 파라미터를 포함할 수 있다. 또한, 방법(1600)에서의 단계의 순서는 유사한 기능을 달성하기 위해 도시된 바와 같이 실행될 수 있거나 대안으로 당업자에 의해 결정된 바와 같이 구성될 수 있다. 단계(1620-1650)와 같은 단계 중 일부는 스트리밍 세션 동안 실행될 수 있다.
도 17은 콘텐츠 요구를 생성하는 방법(1700)의 다른 실시예에 대한 흐름도이다. 방법(1700)은 DASH 클라이언트(140 및 220)와 같은 스트리밍 클라이언트에 의해 실행되며, 이것들은 NE(300)으로서 실현될 수 있다. 방법(1700)은 방법(500-800)에서와 같은 시그널링 메커니즘을 적용한다. 방법(1700)은 스트리밍 클라이언트는 방법(1500)을 적용하고 URL 템플릿(900-1300)과 유사한 템플릿을 포함하는 MPD를 수신함으로써 인증 토큰을 획득한 후 실행된다. 단계(1710)에서, DASH 클라이언트(130 및 231)와 같은 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위해 제1 권한부여 토큰이 획득된다. 제1 권한부여 토큰은 MPD로부터 검색되거나, 예를 들어, MPD에 의해 지시된 권한부여 서버로부터 획득될 수 있다. 단계(1720)에서, 제1 권한부여 토큰은 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위한 제1 콘텐츠 요구 메시지에 매립된다.
단계(1730)에서, 예를 들어, URL 질의 정보 요소(1101, 1201, 1202, 및 1301)와 같은 MPD 내의 질의에 따라, 콘텐츠 서버 상에서 제1 미디어 세그먼트에 액세스하는 데 인증 토큰이 필요한지의 결정이 이루어진다. 인증 토큰이 필요하다는 결정을 할 때, 방법(1700)은 단계(1740)로 진행한다. 단계(1740)에서, 제1 미디어에 액세스하기 위한 제1 콘텐츠 요구 메시지에 인증 토큰이 매립된다. 예를 들어, 단계(610)에서 미디어 세그먼트 요구를 생성하도록 방법(600)에 의해 단계(1740)가 적용될 수 있다.
인증 토큰이 필요하지 않은 것으로 결정할 때, 방법(1700)은 단계(1750)로 진행한다. 단계(1750)에서, 예를 들어, URL 질의 정보 요소(1101, 1201, 1202, 및 1301)와 같은 MPD 내의 질의에 따라, 콘텐츠 서버 상에서 제1 미디어 세그먼트에 액세스하는 데 인증 토큰이 필요한지의 결정이 이루어진다. 제2 권한부여 토큰이 필요한 것으로 결정될 때, 방법(1700)은 단계(1760)로 진행한다. 단계(1760)에서, 콘텐츠 서버 상에서 제1 미디어 세그먼트에 액세스하기 위해 제2 권한부여 토큰이 획득된다. 예를 들어, 제1 권한부여 토큰은 제1 미디어 세그먼트와 관련된 장기 토큰일 수 있고, 제2 권한부여 토큰은 스트리밍 클라이언트 또는 스트리밍 세션과 관련된 단기 토큰일 수 있다. 단계(1770)에서, 제2 권한부여 토큰은 제1 미디어에 액세스하기 위해 제1 콘텐츠 요구 메시지에 매립된다. 예를 들어, 단계(1760 및 1770)는 방법(700)에 의해 단계(710)에서 미디어 세그먼트 요구를 생성하도록 적용될 수 있다. 이어서, 스트리밍 클라이언트는 콘텐츠 서버에 제1 콘텐츠 요구 메시지를 송신하여 제1 미디어 세그먼트를 요구할 수 있다. 방법(1700)은 스트리밍 세션 동안 서로 다른 미디어 세그먼트에 대해 반복될 수 있다. 세그먼트-종속 토큰이 서로 다른 미디어 세그먼트에 액세스하는 데 필요한 것으로 MPD가 지시하면, 제1 권한부여 토큰은 서로 다른 미디어 세그먼트에 대해 다를 수 있다. 방법(1700)에 도시된 단계의 순서는 유사한 기능을 달성하기 위해 도시된 바와 같이 실행될 수 있거나 대안으로 당업자에 의해 결정된 바와 같이 구성될 수 있다.
도 18은 시스템(200)과 같은 스트리밍 시스템에서 콘텐츠 액세스를 허용하는 방법(1800)의 실시예에 대한 흐름도이다. 방법(1800)은 DASH 콘텐츠 서버(130 및 231)와 같은 스트리밍 콘텐츠 서버에 의해 실행될 수 있으며, 이것들은 NE(300)로서 실현될 수 있다. 방법(1800)은 방법(500-800)에서와 유사한 메커니즘을 적용한다. 방법(1800)은 콘텐츠 요구 메시지가 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에의 액세스를 요구하는 스트리밍 클라이언트로부터 수신될 때 단계(1810)에서 시작한다. 제1 콘텐츠 요구 메시지는 AA 토큰(1011)과 유사한 제1 권한부여 토큰을 포함한다. 단계(1820)에서, 제1 권한부여 토큰이 유효하다는 것을 지시하는 제1 검증이 획득된다. 예를 들어, 콘텐츠 서버는 제1 권한부여 토큰을 유효화하기 위해 검증 서버에 요구할 수 있고 검증 서버는 방법(500-800)에 도시된 바와 같이 검증을 제공할 수 있다. 단계(1830)에서, 제1 미디어 세그먼트는 제1 권한부여 토큰이 유효할 때 스트리밍 클라이언트에 송신된다.
실시예에서, NE는 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위한 제1 권한부여 토큰을 획득하는 수단, 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위한 제1 콘텐츠 요구 메시지에 제1 권한부여 토큰을 매립하는 수단, 제1 미디어 세그먼트를 요구하기 위해 제1 권한부여 토큰을 포함하는 제1 콘텐츠 요구 메시지를 콘텐츠 서버에 송신하는 수단, 및 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하는 데 제1 권한부여 토큰이 유효할 때 콘텐츠 서버로부터 제1 미디어 세그먼트를 수신하는 수단을 포함한다.
실시예에서, NE는 제1 미디어 세그먼트에의 액세스를 요구하는 스트리밍 클라이언트로부터 제1 콘텐츠 요구 메시지를 수신하는 수단 - 상기 제1 콘텐츠 요구 메시지는 제1 권한부여 토큰을 포함함 - , 제1 권한부여 토큰이 유효하다는 것을 지시하는 제1 검증을 획득하는 수단, 및 제1 권한부여 토큰이 유효할 때 스트리밍 클라이언트에 제1 미디어 세그먼트를 송신하는 수단을 포함한다.
본 발명에서 수 가지 실시예를 제공하였으나, 개시된 시스템 및 방법은 본 발명의 정신 또는 범주를 벗어남이 없이 많은 다른 특정한 형태로 구현될 수 있다는 것을 이해할 수 있을 것이다. 제시된 예들은 도해적으로 파악되어야 하며 제한적인 것으로 파악되어서는 안 되며, 그 의도는 여기서 제공된 상세한 설명에 제한되지 않는다. 예를 들어, 다양한 요소 또는 컴포넌트는 다른 시스템에서 결합되거나 통합될 수도 있고 소정의 특징이 생락되거나 실현되지 않을 수도 있다.
또한, 다양한 실시예에서 분리되거나 별도로 개시되고 도해된 기술, 시스템, 서브시스템, 및 방법은 본 발명의 범주를 벗어남이 없이 다른 시스템, 모듈, 기술, 또는 방법과 결합되거나 통합될 수 있다. 서로 결합되거나 직접적으로 결합되거나 통신하는 것으로 도시되거나 논의된 다른 항목들은 전기적으로든, 기계적으로든, 또는 그 외의 방식으로든 일부의 인터페이스, 장치, 또는 중간의 구성요소를 통해 간접적으로 결합되거나 통신할 수 있다. 변경, 대체, 및 대안에 대한 다른 예는 당업자가 주장할 수 있고 여기서 개시된 정신 및 범주를 벗어남이 없이 이루어질 수 있다.
Claims (20)
- 스트리밍 클라이언트로서 구성된 네트워크 요소(network element, NE)에 의해 실행되는 방법으로서,
상기 NE의 프로세서를 통해, 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위한 제1 권한부여 토큰을 획득하는 단계;
상기 프로세서를 통해, 상기 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위한 제1 콘텐츠 요구 메시지에 제1 권한부여 토큰을 매립하는 단계;
상기 제1 미디어 세그먼트를 요구하기 위해 제1 권한부여 토큰을 포함하는 제1 콘텐츠 요구 메시지를 상기 NE의 전송기를 통해 상기 콘텐츠 서버에 송신하는 단계; 및
상기 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하는 데 제1 권한부여 토큰이 유효할 때 상기 NE의 수신기를 통해 상기 콘텐츠 서버로부터 제1 미디어 세그먼트를 수신하는 단계
를 포함하는 방법. - 제1항에 있어서,
상기 스트리밍 클라이언트의 인증을 요구하는 인증 요구 메시지를 상기 전송기를 통해 인증 서버에 송신하는 단계; 및
상기 제1 권한부여 토큰을 획득하기 전에 인증 토큰을 포함하는 인증 응답 메시지를 상기 수신기를 통해 상기 인증 서버로부터 수신하는 단계
를 더 포함하는 방법. - 제2항에 있어서,
상기 제1 콘텐츠 요구 메시지를 상기 콘텐츠 서버에 송신하기 전에 상기 제1 콘텐츠 요구 메시지에 인증 토큰을 매립하는 단계
를 더 포함하며,
상기 제1 미디어 세그먼트는 상기 콘텐츠 서버 상에서 제1 미디어 세그먼트를 액세스하는 데 인증 토큰이 유효할 때 추가로 수신되는, 방법. - 제2항에 있어서,
상기 인증 응답 메시지를 수신한 후 상기 수신기를 통해 제1 미디어 세그먼트와 관련된 미디어 프레젠테이션 디스크립터(media presentation descriptor, MPD)를 수신하는 단계
를 더 포함하며,
상기 MPD는 상기 제1 미디어 세그먼트에 액세스할 때 세그먼트 토큰 파라미터의 대체가 필요하다는 것을 지시하는 제1 질의를 포함하며,
상기 제1 콘텐츠 요구 메시지에 제1 권한부여 토큰을 매립하는 단계는,
상기 제1 권한부여 토큰을 상기 세그먼트 토큰 파라미터로 대체하는 단계; 및
상기 제1 권한부여 토큰을 포함하는 세그먼트 토큰 파라미터를 상기 제1 콘텐츠 요구 메시지에 매립하는 단계
를 포함하는, 방법. - 제4항에 있어서,
상기 MPD는 인증 및 권한부여(AA) 시스템 식별자(ID) 및 상기 제1 미디어 세그먼트에 액세스할 때 AA 시스템 ID 파라미터의 대체가 필요하다는 것을 지시하는 제2 질의를 더 포함하며, 상기 방법은,
상기 AA 시스템 ID를 상기 AA 시스템 ID 파라미터로 대체하는 단계; 및
상기 제1 콘텐츠 요구 메시지를 송신하기 전에 상기 AA 시스템 ID 파라미터를 상기 제1 콘텐츠 요구 메시지에 매립하는 단계
를 더 포함하는 방법. - 제4항에 있어서,
상기 MPD는 상기 콘텐츠 서버 상에서 제1 미디어 세그먼트에 액세스하기 위한 제1 권한부여 토큰을 더 포함하며, 상기 제1 권한부여 토큰은 상기 MPD로부터 획득되는, 방법. - 제4항에 있어서,
상기 MPD는 권한부여 서버를 식별하는 유니폼 리소스 로케이터(uniform resource locator, URL)를 더 포함하며,
상기 제1 권한부여 토큰을 획득하는 단계는,
상기 제1 미디어 세그먼트에 액세스하기 위한 스트리밍 클라이언트의 권한부여를 요구하는 권한부여 요구 메시지를 전송기를 통해 URL에 따라 권한부여 서버에 송신하는 단계; 및
상기 제1 권한부여 토큰을 포함하는 권한부여 응답 메시지를 수신기를 통해 인증 서버로부터 수신하는 단계
를 포함하는, 방법. - 제4항에 있어서,
상기 제1 질의는 상기 세그먼트 토큰 파라미터가 세그먼트 종속이라는 것을 추가로 지시하며, 상기 방법은,
상기 프로세서를 통해, 상기 콘텐츠 서버에 위치하는 제2 미디어 세그먼트에 액세스하기 위한 제2 권한부여 토큰을 획득하는 단계;
상기 제2 권한부여 토큰을 상기 세그먼트 토큰 파라미터로 대체하는 단계;
상기 프로세서를 통해, 상기 제2 권한부여 토큰을 포함하는 세그먼트 토큰 파라미터를 상기 콘텐츠 서버에 위치하는 제2 미디어 세그먼트에 액세스하기 위한 제2 콘텐츠 요구 메시지에 매립하는 단계;
상기 제2 미디어 세그먼트를 요구하기 위해 상기 제2 권한부여 토큰을 포함하는 제2 콘텐츠 요구 메시지를 전송기를 통해 콘텐츠 서버에 송신하는 단계; 및
상기 콘텐츠 서버에 위치하는 제2 미디어 세그먼트에 액세스하는 데 제2 권한부여 토큰이 유효할 때 수신기를 통해 콘텐츠 서버로부터 제2 미디어 세그먼트를 수신하는 단계
를 더 포함하는 방법. - 제8항에 있어서,
상기 제1 권한부여 토큰과 상기 제2 권한부여 토큰은 동일한, 방법. - 스트리밍 클라이언트를 실행하도록 구성된 네트워크 요소(network element, NE)로서,
콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위한 제1 권한부여 토큰을 획득하고, 상기 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하기 위한 제1 콘텐츠 요구 메시지에 제1 권한부여 토큰을 매립하도록 구성되어 있는 프로세서;
상기 프로세서에 결합되어 있으며, 상기 제1 미디어 세그먼트를 요구하기 위해 제1 권한부여 토큰을 포함하는 제1 콘텐츠 요구 메시지를 상기 콘텐츠 서버에 송신하도록 구성되어 있는 전송기; 및
상기 프로세서에 결합되어 있으며, 상기 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하는 데 제1 권한부여 토큰이 유효할 때 상기 콘텐츠 서버로부터 제1 미디어 세그먼트를 수신하도록 구성되어 있는 수신기
를 포함하는 네트워크 요소. - 제10항에 있어서,
상기 전송기는 상기 스트리밍 클라이언트의 인증을 요구하는 인증 요구 메시지를 상기 인증 서버에 송신하도록 추가로 구성되어 있으며,
상기 수신기는 제1 권한부여 토큰을 획득하기 전에 인증 토큰을 포함하는 인증 응답 메시지를 상기 인증 서버로부터 수신하도록 추가로 구성되어 있는, 네트워크 요소. - 제11항에 있어서,
상기 수신기는 인증 응답 메시지를 수신한 후 제1 미디어 세그먼트와 관련된 미디어 프레젠테이션 디스크립터(MPD)를 수신하도록 추가로 구성되어 있으며,
상기 MPD는 제1 권한부여 토큰의 검색(retrieval)과 관련된 정보를 포함하며,
상기 프로세서는 상기 MPD 내의 정보에 따라 제1 권한부여 토큰을 획득하도록 추가로 구성되어 있는, 네트워크 요소. - 제10항에 있어서,
상기 프로세서는,
상기 스트리밍 클라이언트와 관련된 클라이언트 권한부여 토큰을 획득하고 - 상기 클라이언트 권한부여 토큰 및 상기 제1 권한부여 토큰은 서로 다른 지속시간 동안 유효함 - , 그리고
상기 제1 콘텐츠 요구 메시지를 콘텐츠 서버에 송신하기 전에 상기 제1 콘텐츠 요구 메시지에 상기 클라이언트 권한부여 토큰을 매립하도록 추가로 구성되어 있으며,
상기 제1 미디어 세그먼트는 상기 콘텐츠 서버에 위치하는 제1 미디어 세그먼트에 액세스하는 데 상기 클라이언트 권한부여 토큰이 유효할 때 추가로 수신되는, 네트워크 요소. - 제10항에 있어서,
상기 제1 권한부여 토큰은 상기 콘텐츠 서버에 위치하는 제2 미디어 세그먼트에 액세스하는 데 유효하지 않으며,
상기 프로세서는,
상기 콘텐츠 서버 상에서 제2 미디어 세그먼트에 액세스하기 위한 제2 권한부여 토큰을 획득하고, 그리고
상기 콘텐츠 서버에 위치하는 제2 미디어 세그먼트에 액세스하기 위한 제2 콘텐츠 요구 메시지에 제2 권한부여 토큰을 매립하도록 추가로 구성되어 있으며,
상기 전송기는 제2 미디어 세그먼트를 요구하기 위해 제2 권한부여 토큰을 포함하는 제2 콘텐츠 요구 메시지를 콘텐츠 서버에 송신하도록 추가로 구성되어 있으며,
상기 수신기는 상기 제2 권한부여 토큰이 상기 콘텐츠 서버 상에서 제2 미디어 세그먼트에 액세스하는 데 유효할 때 콘텐츠 서버로부터 제2 미디어 세그먼트를 수신하도록 추가로 구성되어 있는, 네트워크 요소. - 제10항에 있어서,
상기 프로세서는,
상기 콘텐츠 서버에 위치하는 제1 미디어 세그먼트와 관련된 디지털 권리 관리(digital right management, DRM) 라이선스를 획득하기 위한 제3 권한부여 토큰을 획득하고, 그리고
상기 DRM 라이선스를 획득하기 위한 DRM 라이선스 요구 메시지에 제3 권한부여 토큰을 매립하도록 추가로 구성되어 있으며,
상기 전송기는 상기 DRM 라이선스를 요구하기 위해 제3 권한부여 토큰을 포함하는 DRM 라이선스 요구 메시지를 송신하도록 추가로 구성되어 있으며,
상기 수신기는 제3 권한부여 토큰이 DRM 라이선스를 획득하는 데 유효할 때 DRM 라이선스를 수신하도록 추가로 구성되어 있는, 네트워크 요소. - 콘텐츠 서버를 실현하도록 구성되어 있는 구성된 네트워크 요소(network element, NE)로서,
제1 미디어 세그먼트에의 액세스를 요구하는 스트리밍 클라이언트로부터 제1 콘텐츠 요구 메시지를 수신하도록 구성되어 있는 수신기 - 상기 제1 콘텐츠 요구 메시지는 제1 권한부여 토큰을 포함함 - ;
상기 수신기에 결합되어 있으며, 상기 제1 권한부여 토큰이 유효하다는 것을 지시하는 제1 검증을 획득하도록 구성되어 있는 프로세서; 및
상기 프로세서에 결합되어 있으며, 상기 제1 권한부여 토큰이 유효할 때 제1 미디어 세그먼트를 스트리밍 클라이언트에 송신하도록 구성되어 있는 전송기
를 포함하는 네트워크 요소. - 제16항에 있어서,
상기 제1 콘텐츠 요구 메시지는 인증 토큰을 더 포함하며, 상기 프로세서는 상기 인증 토큰이 유효하다는 것을 지시하는 제2 검증을 획득하도록 추가로 구성되어 있으며, 상기 전송기는 상기 인증 토큰이 유효할 때 제1 미디어 세그먼트를 스트리밍 클라이언트에 송신하도록 추가로 구성되어 있으며, 네트워크 요소. - 제16항에 있어서,
상기 제1 권한부여 토큰은 상기 제1 미디어 세그먼트와 관련된 제1 기간 동안 유효하며, 상기 제1 콘텐츠 요구 메시지는 상기 제1 미디어 세그먼트와 관련된 제2 권한부여 토큰을 더 포함하고 제2 기간 동안 유효하며,
상기 프로세서는 상기 제2 권한부여 토큰이 유효하다는 것을 지시하는 제3 검증을 획득하도록 추가로 구성되어 있으며,
상기 전송기는 상기 제2 권한부여 토큰이 유효할 때 제1 미디어 세그먼트를 스트리밍 클라이언트에 송신하도록 추가로 구성되어 있는, 네트워크 요소. - 제16항에 있어서,
상기 제1 권한부여 토큰은 제2 미디어 세그먼트에 액세스하는 데 유효하지 않으며,
상기 수신기는 상기 제2 미디어 세그먼트에의 액세스를 요구하는 스트리밍 클라이언트로부터 제2 콘텐츠 요구 메시지를 수신하도록 추가로 구성되어 있으며,
상기 제2 콘텐츠 요구 메시지는 세그먼트-종속 권한부여 토큰을 포함하며, 상기 프로세서는 상기 세그먼트-종속 권한부여 토큰이 유효하다는 것을 지시하는 제4 검증을 획득하도록 추가로 구성되어 있으며,
상기 전송기는 상기 세그먼트-종속 권한부여 토큰이 유효할 때 제2 미디어 세그먼트를 스트리밍 클라이언트에 송신하도록 추가로 구성되어 있는, 네트워크 요소. - 제16항에 있어서,
상기 NE는 하이퍼텍스트 트랜스퍼 프로토콜(HTTP)을 통한 동적 적응 스트리밍(Dynamic adaptive streaming over hypertext transfer protocol, DASH) 서버인, 네트워크 요소.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562166589P | 2015-05-26 | 2015-05-26 | |
US62/166,589 | 2015-05-26 | ||
US15/161,039 US10104065B2 (en) | 2015-05-26 | 2016-05-20 | Token-based authentication and authorization information signaling and exchange for adaptive streaming |
US15/161,039 | 2016-05-20 | ||
PCT/CN2016/083309 WO2016188431A1 (en) | 2015-05-26 | 2016-05-25 | Token-based authentication and authorization information signaling and exchange for adaptive streaming |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170007427A true KR20170007427A (ko) | 2017-01-18 |
KR101965273B1 KR101965273B1 (ko) | 2019-04-03 |
Family
ID=57392495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167035142A KR101965273B1 (ko) | 2015-05-26 | 2016-05-25 | 적응성 스트리밍을 위한 토큰 기반 인증 및 권한부여 정보 시그널링 및 교환 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10104065B2 (ko) |
EP (1) | EP3138313B1 (ko) |
JP (1) | JP6384699B2 (ko) |
KR (1) | KR101965273B1 (ko) |
CN (1) | CN106797563B (ko) |
WO (1) | WO2016188431A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210108477A (ko) * | 2019-01-11 | 2021-09-02 | 노키아 테크놀로지스 오와이 | 네트워크 기반 미디어 프로세싱을 인증 및 인가하기 위한 방법 및 장치 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105819655B (zh) | 2015-01-07 | 2019-05-31 | 广州新致晟环保科技有限公司 | 用于底部通气的污泥干化装置的桥形件及其装置 |
CN105819654B (zh) | 2015-01-07 | 2023-03-24 | 广州正晟科技有限公司 | 底部干燥式污泥干化装置和方法 |
CN105819650B (zh) * | 2015-01-07 | 2023-03-28 | 广州优特利环保科技有限公司 | 底部干燥式污泥干化装置和方法 |
US9918045B1 (en) * | 2015-07-07 | 2018-03-13 | S2 Security Corporation | Networked monitor appliance |
EP3179688A1 (en) * | 2015-12-11 | 2017-06-14 | Koninklijke KPN N.V. | Updating part of a manifest file on the basis of patches |
US10432685B2 (en) | 2016-05-31 | 2019-10-01 | Brightcove, Inc. | Limiting key request rates for streaming media |
US10348713B2 (en) * | 2016-09-16 | 2019-07-09 | Oracle International Corporation | Pluggable authentication for enterprise web application |
JP6765537B2 (ja) * | 2016-12-14 | 2020-10-07 | ピヴォタル・ソフトウェア・インコーポレーテッド | 資格情報の分散型検証 |
US10511670B2 (en) * | 2016-12-21 | 2019-12-17 | Apple Inc. | Techniques for providing authentication information to external and embedded web browsers |
US10447702B2 (en) * | 2017-03-20 | 2019-10-15 | Screening Room Media, Inc. | Digital credential tiers |
EP3616411A1 (en) * | 2017-04-26 | 2020-03-04 | Koninklijke KPN N.V. | Personalized multicast content |
US10911812B2 (en) | 2017-09-18 | 2021-02-02 | S2 Security Corporation | System and method for delivery of near-term real-time recorded video |
US20190090005A1 (en) * | 2017-09-21 | 2019-03-21 | Comcast Cable Communications, Llc | Low Latency Adaptive Bitrate Linear Video Delivery System |
US11245679B1 (en) * | 2017-11-15 | 2022-02-08 | Veritas Technologies Llc | Securing external access to runtime services in appliances |
US10866963B2 (en) | 2017-12-28 | 2020-12-15 | Dropbox, Inc. | File system authentication |
US11409893B2 (en) * | 2017-12-28 | 2022-08-09 | Teradata Us, Inc. | Security for diverse computing environments |
US11770377B1 (en) * | 2020-06-29 | 2023-09-26 | Cyral Inc. | Non-in line data monitoring and security services |
US11812085B2 (en) * | 2020-10-24 | 2023-11-07 | Attn.Live Llc | Live voice and media publishing and distribution platform |
US11570227B2 (en) * | 2020-12-04 | 2023-01-31 | Tencent America LLC | Set up and distribution of immersive media to heterogenous client end-points |
CN113038196A (zh) * | 2021-03-17 | 2021-06-25 | 大陆投资(中国)有限公司 | 在通信网络中传输媒体数据的发送方设备和接收方设备 |
US20220335795A1 (en) * | 2021-04-16 | 2022-10-20 | Dice Corporation | Hyperlinked digital video alarm electronic document |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140115724A1 (en) * | 2012-10-22 | 2014-04-24 | Nederlandse Organisatie Voor Toegepast- Natuurwetenschappelijk Onderzoek Tno | Token-Based Validation Method for Segmented Content Delivery |
US20150113604A1 (en) * | 2013-10-21 | 2015-04-23 | Ozgur Oyman | Content access authentication for dynamic adaptive streaming over hypertext transfer protocol |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356838B2 (en) | 2001-06-06 | 2008-04-08 | Yahoo! Inc. | System and method for controlling access to digital content, including streaming media |
WO2009067156A2 (en) | 2007-11-16 | 2009-05-28 | Thomson Licensing | System and method for session management of streaming media |
WO2010127697A1 (en) * | 2009-05-06 | 2010-11-11 | Nokia Siemens Networks Oy | Admission control to a femto access point |
US8862515B2 (en) * | 2010-05-04 | 2014-10-14 | Sony Corporation | Geographic internet asset filtering for internet video client |
US8793492B2 (en) * | 2011-01-13 | 2014-07-29 | Adobe Systems Incorporated | Methods and systems for scalable distribution of protected content |
CN103166783A (zh) | 2011-12-14 | 2013-06-19 | 华为技术有限公司 | 资源的控制方法及装置 |
US20130179199A1 (en) * | 2012-01-06 | 2013-07-11 | Rovi Corp. | Systems and methods for granting access to digital content using electronic tickets and ticket tokens |
US9026782B2 (en) | 2012-04-24 | 2015-05-05 | Verizon Patent And Licensing Inc. | Token-based entitlement verification for streaming media decryption |
FR2996715A1 (fr) | 2012-10-09 | 2014-04-11 | France Telecom | Heritage de parametres d'identifiant universel de ressource (uri) |
US8984010B2 (en) * | 2012-11-06 | 2015-03-17 | Business Objects Software Ltd. | Build pooled data source based on hana SAML login |
-
2016
- 2016-05-20 US US15/161,039 patent/US10104065B2/en active Active
- 2016-05-25 WO PCT/CN2016/083309 patent/WO2016188431A1/en active Application Filing
- 2016-05-25 KR KR1020167035142A patent/KR101965273B1/ko active IP Right Grant
- 2016-05-25 JP JP2017519781A patent/JP6384699B2/ja active Active
- 2016-05-25 CN CN201680002120.2A patent/CN106797563B/zh active Active
- 2016-05-25 EP EP16794196.2A patent/EP3138313B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140115724A1 (en) * | 2012-10-22 | 2014-04-24 | Nederlandse Organisatie Voor Toegepast- Natuurwetenschappelijk Onderzoek Tno | Token-Based Validation Method for Segmented Content Delivery |
US20150113604A1 (en) * | 2013-10-21 | 2015-04-23 | Ozgur Oyman | Content access authentication for dynamic adaptive streaming over hypertext transfer protocol |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210108477A (ko) * | 2019-01-11 | 2021-09-02 | 노키아 테크놀로지스 오와이 | 네트워크 기반 미디어 프로세싱을 인증 및 인가하기 위한 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20160366118A1 (en) | 2016-12-15 |
CN106797563B (zh) | 2019-11-26 |
US10104065B2 (en) | 2018-10-16 |
JP6384699B2 (ja) | 2018-09-05 |
CN106797563A (zh) | 2017-05-31 |
EP3138313B1 (en) | 2018-09-12 |
EP3138313A4 (en) | 2017-04-19 |
EP3138313A1 (en) | 2017-03-08 |
JP2017530484A (ja) | 2017-10-12 |
WO2016188431A1 (en) | 2016-12-01 |
KR101965273B1 (ko) | 2019-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101965273B1 (ko) | 적응성 스트리밍을 위한 토큰 기반 인증 및 권한부여 정보 시그널링 및 교환 | |
US10057277B2 (en) | System and method for partial URL signing with applications to dynamic adaptive streaming | |
US9794240B2 (en) | System and method for signaling and verifying URL signatures for both URL authentication and URL-based content access authorization in adaptive streaming | |
US10425427B2 (en) | Template uniform resource locator signing | |
US9900306B2 (en) | Device authentication for secure key retrieval for streaming media players | |
US8671452B2 (en) | Apparatus and method for moving rights object from one device to another device via server | |
US9648027B2 (en) | Segment authentication for dynamic adaptive streaming | |
US8555367B2 (en) | Method and system for securely streaming content | |
US20120017282A1 (en) | Method and apparatus for providing drm service | |
CN113455009B (zh) | 用于认证和授权基于网络的媒体处理的方法和装置 | |
CN112203118B (zh) | 多媒体资源分发方法、装置、电子装置和存储介质 | |
EP4455908A1 (en) | Method for receiving content in user device over cdn | |
WO2024223424A1 (en) | Method for receiving content in user device over cdn | |
WO2023217997A1 (en) | Method of securely streaming digital content over content delivery network | |
MX2008009649A (en) | Apparatus and method for moving rights object from one device to another device via server |
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 | ||
GRNT | Written decision to grant |