KR102030645B1 - 반복되는 라이센스 갱신들을 가지는 미디어 세션 동시성 관리를 위한 시스템들, 방법들 및 매체 - Google Patents
반복되는 라이센스 갱신들을 가지는 미디어 세션 동시성 관리를 위한 시스템들, 방법들 및 매체 Download PDFInfo
- Publication number
- KR102030645B1 KR102030645B1 KR1020177036286A KR20177036286A KR102030645B1 KR 102030645 B1 KR102030645 B1 KR 102030645B1 KR 1020177036286 A KR1020177036286 A KR 1020177036286A KR 20177036286 A KR20177036286 A KR 20177036286A KR 102030645 B1 KR102030645 B1 KR 102030645B1
- Authority
- KR
- South Korea
- Prior art keywords
- license
- server
- update
- request
- media
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000001514 detection method Methods 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims description 82
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 238000012552 review Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 abstract description 12
- 230000006399 behavior Effects 0.000 description 44
- 238000004891 communication Methods 0.000 description 25
- 230000007246 mechanism Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 9
- 238000013459 approach Methods 0.000 description 7
- 230000001629 suppression Effects 0.000 description 7
- 239000000725 suspension Substances 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009118 appropriate response Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001747 exhibiting effect Effects 0.000 description 2
- 230000004224 protection Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/7867—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/787—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
- G06F21/1077—Recurrent authorisation
-
- G06F2221/0773—
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Library & Information Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
개시된 발명은 반복되는 라이센스 갱신들을 가지는 미디어 세션 동시성 관리를 위한 시스템들, 방법들 및 매체와 관련된다. 더 구체적으로, 개시된 발명은 동시적 재생 검출에 대한 반복되는 라이센스 갱신들을 사용하는 것, 비디오 전달 서비스들에 대한 동시성 제한 시행 및 상기 반복되는 라이센스 재생들을 핸들링하기 위한 서버 리소스들 관리하는 것과 관련된다.
Description
관련 출원들의 상호 참조
본 출원은 2016년 7월 19일에 출원된 미국 특허 출원번호 15/213,624, 2015년 6월 30일에 출원된 미국 특허 가출원번호 62/199,211 및 2015년 7월 20일에 출원된 미국 특허 가출원번호 62/194,804의 이익을 향유하며, 상기 출원들 각각은 그들 전체로서 본 명세서에 참조로서 통합된다.
기술분야
개시된 발명은 반복되는 라이센스 갱신들을 가지는 미디어 세션 동시성 관리를 위한 시스템들, 방법들 및 매체와 관련된다. 더 구체적으로, 개시된 발명은 동시적 재생 검출에 대한 반복되는 라이센스 갱신들을 사용하는 것, 비디오 전달 서비스들에 대한 동시성 제한 시행 및 상기 반복되는 라이센스 재생들을 처리하기 위한 서버 리소스들 관리하는 것과 관련된다.
영화, 음악 및 다른 형태의 미디어 컨텐츠는 다양한 컨텐츠 제공자들로부터 인터넷을 통해 컴퓨팅 디바이스들에 제공된다. 여러 가지 이유로, 연관된 미디어 컨텐츠를 사용, 재생, 복사 및/또는 배포하기 위해 다양한 권리들을 적어도 식별하는 라이센스가 요구되는 이 컨텐츠 중 일부는 보호된다. 다른 보호들은 미디어 컨텐츠를 복호화(decryption)하기 위해 키를 필요로 하는 다양한 레벨들 또는 유형들의 암호화 보호를 포함할 수 있다.
게다가, 특정 사용자가 설정할 수 있는 동시 스트리밍 연결들의 수에 제한을 둘 수 있다. 즉, 동일한 사용자 계정으로 각각 인증된, 미디어 콘텐트가 동시에 스트리밍되고 시청될 수 있는 디바이스들의 수는 제한될 수 있다(예를 들어, 사용자 계정 당 총 2개의 연결, 4 개의 디바이스들에서 사용자 계정 당 3개의 연결 등). 이러한 제한을 시행하기 위해, 사용자가 새로운 스트리밍 연결을 요청하면, 해당 사용자와 연관된 현재 설정된 스트리밍 연결 수를 검출하고, 만약 허용된 동시 스트리밍 연결들 최대 수를 초과하면, 새로운 스트리밍 연결에 대한 요청은 거부될 수 있다. 이 제한을 포함하는 정책의 시행을 관리하는 것은 어려운 작업이다.
다양한 접근법은 특정 사용자가 미디어 컨텐츠의 일부를 시청하는 것을 중단했을 때, 특정 사용자와 연관된 클라이언트 디바이스가 서버에 메시지를 전송하도록 요구함으로써, 동시성 제한 시행의 이슈를 해결하려고 시도한다. 그러나, 이러한 접근법은 클라이언트 구현 및 디바이스 아키텍처를 제한할 수 있으며, 클라이언트 디바이스에 영구적 저장소가 필요할 수 있다. 즉, 이들 접근법들은 각 그리고 모든 클라이언트 디바이스에 동시적으로 제한 시행의 종속성을 배치한다. 또한, 클라이언트 디바이스가 디바이스 장애(충돌), 정전, 네트워크 장애 등으로 인해 "무질서한" 방식으로 재생을 중지할 수 있기 때문에 이들 접근법들은 일반적으로 신뢰할 수 없는 것으로 간주된다.
따라서, 반복되는 라이센스 갱신을 갖는 미디어 세션 동시성 관리를 위한 새로운 시스템들, 방법들 및 매체들을 제공하는 것이 바람직하다.
개시된 발명의 일부 구현예들에 따라, 반복되는 라이센스 갱신을 갖는 미디어 세션 동시성 관리를 위한 메커니즘들이 제공된다.
개시된 발명의 일부 구현예들에 따라, 동시성 검출 및 시행을 위한 시스템이 제공되며, 상기 시스템은 적어도 하나의 서버를 포함하며, 상기 서버는 미디어 재생 디바이스에 제시될 미디어 컨텐츠 아이템과 관련된 미디어 컨텐츠 라이센스에 대한 요청을 수신하고, 상기 미디어 컨텐츠 라이센스에 대한 상기 요청은 사용자 계정과 연관되며; 상기 미디어 컨텐츠 라이센스에 대한 상기 요청에 응답하여, 상기 미디어 재생 디바이스에 상기 미디어 컨텐츠 아이템과 연관된 하나 이상의 키들 및 제한된 라이센스 기간과 갱신 요청 간격을 포함하는 정책을 포함하는 라이센스를 전송하고; 상기 갱신 요청 간격 이내의 시간에, 상기 미디어 재생 디바이스에서 제시되고 있는 상기 미디어 컨텐츠 아이템과 관련된 라이센스 갱신에 대한 요청을 수신하고; 상기 사용자 계정과 연관된 복수의 미디어 재생 디바이스들에 걸친 미디어 세션 동시성에 기초하여 상기 미디어 컨텐츠 아이템에 대한 상기 라이센스 갱신을 발급할지 여부를 결정하고, 상기 결정은 상기 사용자 계정에 대해 주어진 시간 기간 동안 발급된 라이센스 갱신들의 기록을 질의하는 것을 포함하며; 및 상기 사용자 계정과 연관된 라이센스 갱신들의 상기 기록에 기초하여 상기 미디어 재생 디바이스에 상기 라이센스 갱신을 전송하도록 구성된다.
일부 구현예들에서, 상기 적어도 하나의 서버는 상기 제한된 라이센스 기간 및 상기 갱신 요청 간격 중 적어도 하나를 수정하도록 더 구성된다. 일부 구현예들에서, 상기 수정은 상기 사용자 계정에 대해 주어진 시간 기간 동안 발급된 라이센스 갱신들의 상기 기록을 검토하고, 라이센스 갱신들의 상기 기록이 상기 사용자 계정과 연관된 상기 복수의 미디어 재생 디바이스들에 의한 라이센스 갱신 요청들의 억제(suppression)를 표시함을 결정하는 것에 응답하여 수행된다. 일부 구현예들에서, 상기 수정은 서버 중단(outage)을 검출함에 응답하여 수행된다.
일부 구현예들에서, 상기 라이센스 내 상기 하나 이상의 키들이 취소될 것이라는 결정에 응답하여, 상기 라이센스 갱신과 연관된 상기 제한된 라이센스 기간은 0의 기간 또는 미디어 권리들의 중단을 시행하기 위한 일부 다른 수단들을 가진다.
일부 구현예들에서, 상기 적어도 하나의 서버는 중단을 위해 상기 기록 내에서 이전에 발급된 라이센스 동시적으로 표시하면서, 상기 미디어 컨텐츠 아이템에 대한 상기 제한된 라이센스 기간의 상기 라이센스를 상기 미디어 재생 디바이스에 자동적으로 전송하도록 더 구성된다.
일부 구현예들에서, 상기 적어도 하나의 서버는: 상기 사용자 계정에 대해 상기 주어진 시간 기간 동안 발급된 라이센스 갱신들의 상기 기록을 검토하고; 상기 사용자 계정에 적용하기 위해 복수의 시행 모드들로부터 시행 모드를 결정하고; 및 상기 라이센스 갱신을 발급할 때, 상기 결정된 시행 모드를 적용하도록 더 구성되며, 상기 제한된 라이센스 기간 및 상기 갱신 요청 간격 중 적어도 하나는 조정된다.
일부 구현예들에서, 상기 적어도 하나의 서버는 상기 미디어 재생 디바이스에서 실행되는 미디어 재생 애플리케이션에, 상기 라이센스 갱신에 대한 상기 요청을 처리하기 위한 복수의 라이센스 서버들의 리스트를 전송하도록 더 구성되며, 상기 미디어 재생 애플리케이션은 상기 라이센스 갱신에 대한 상기 요청을 상기 복수의 라이센스 서버들 중 제1 라이센스 서버에 전송하고, 상기 제1 라이센스 서버가 사용가능하지 않음을 검출함에 따라, 그리고 상기 라이센스의 만료 전에, 상기 미디어 컨텐츠 라이센스에 대한 상기 라이센스 갱신을 수신할 때까지 상기 복수의 라이센스 서버들 중 제2 라이센스 서버에 상기 요청을 전송한다.
일부 구현예들에서, 상기 적어도 하나의 서버는: 상기 주어진 시간 기간 내에 상기 사용자 계정과 연관된 라이센스 갱신들의 수를 카운트함으로써 상기 라이센스 갱신을 발급할지 여부를 결정하고; 및 상기 카운트에 기초하여 상기 라이센스 갱신을 상기 미디어 재생 디바이스에 전송하도록 더 구성된다.
일부 구현예들에서, 상기 적어도 하나의 서버는 라이센스 갱신들의 상기 기록에 엑세스할 수 없음에 응답하여 상기 라이센스 갱신을 자동적으로 발급하는 응급 갱신 모드에 진입할지 여부를 결정하도록 더 구성된다. 일부 구현예들에서, 상기 응급 갱신 모드는 초기 라이센스 요청을 서비스하거나 갱신 요청을 서비스하는 하나 이상의 서버들과 연관된 리소스 정보에 기초하여 진입된다. 일부 구현예들에서, 상기 라이센스 갱신은 제1 라이센스 기간보다 긴 제2 라이센스 기간을 포함한다. 일부 구현예들에서, 응급 갱신 모드는 서버와의 통신의 실패들의 수가 임계값보다 큼에 응답하여 진입되며, 하드웨어 프로세서는 초기 라이센스 요청을 서비스하거나 또는 갱신 요청을 서비스하는 대안적 서버에 라이센스 갱신을 전송하도록 더 구성된다. 일부 구현예들에서, 시스템은 초기 라이센스 요청을 서비스하도록 구성된 서버가 사용가능하지 않다는 것을 검출함에 응답하여 라이센스 갱신을 발급하는 갱신 전용 모드에 진입할지 여부를 결정하는 것을 더 포함한다.
일부 구현예들에 따라, 동시성 검출 및 시행을 위한 시스템이 제공되며, 상기 시스템은 하드웨어 프로세서를 포함하는 적어도 하나의 서버를 포함하며, 상기 하드웨어 프로세서는: 미디어 컨텐츠 아이템에 대응하는 초기 라이센스에 대한 사용자 계정과 연관된 미디어 재생 디바이스로부터의 요청을 수신하고; 초기 라이센스 기간 및 초기 라이센스에 대한 초기 라이센스 갱신 간격을 설정하는 검출 모드에 사용자 계정을 위치시키고; 초기 라이센스를 미디어 재생 디바이스에 전송하고, 상기 초기 라이센스는 초기 라이센스 기간 및 초기 라이센스 갱신 간격을 가지며; 상기 사용자 계정이 갱신 요청 억제를 표시하는 의심스러운 행동과 연관되었는지 여부를 결정하고; 초기 라이센스 기간보다 적은 갱신 라이센스 기간 또는 초기 라이센스 갱신 간격보다 적은 라이센스 갱신 간격을 설정하는 더 엄격한 시행 모드에 사용자 계정을 위치시키고; 및 라이센스 갱신을 미디어 재생 디바이스에 전송하도록 구성되며, 상기 라이센스 갱신은 갱신 라이센스 기간 및 라이센스 갱신 간격 중 적어도 하나를 가진다.
일부 구현예들에서, 초기 라이센스 기간은 미디어 컨텐츠 아이템의 컨텐츠 기간보다 길다. 일부 구현예들에서, 초기 라이센스 기간 및 갱신 라이센스 기간 중 적어도 하나는 미디어 컨텐츠 아이템의 컨텐츠 기간보다 짧다. 일부 구현예들에서, 갱신 라이센스 기간은 미디어 컨텐츠 아이템의 컨텐츠 기간의 절반보다 짧은 미리 결정된 시간의 기간이다. 일부 구현예들에서, 라이센스 갱신 간격은 초기 갱신 간격보다 짧다.
일부 구현예들에서, 사용자 계정이 의심스러운 행동과 연관되었는지 여부를 결정하는 것은 사용자 계정이 사용자 계정과 연관된 복수의 미디어 재생 디바이스들에 걸쳐 복수의 라이센스 요청들을 생성함을 검출하는 것을 더 포함한다.
일부 구현예들에서, 사용자 계정이 의심스러운 행동과 연관되었는지 여부를 결정하는 것은 사용자 계정이 특정 시간 기간 내에 라이센스 갱신 요청을 생성하지 않음을 검출하는 것을 더 포함한다.
일부 구현예들에서, 사용자 계정이 의심스러운 행동과 연관되었는지 여부를 결정하는 것은 사용자 계정이 동일한 미디어 재생 디바이스에서 동일한 미디어 컨텐츠 아이템에 대하 복수의 라이센스 요청들을 생성함을 검출하는 것을 더 포함한다.
일부 구현예들에서, 사용자 계정이 의심스러운 행동과 연관되었는지 여부를 결정하는 것은 의심스러운 갱신 요청을 검출하는 것을 더 포함하며, 상기 의심스러운 갱신 요청과 연관된 시간은 초기 갱신 간격보다 초기 라이센스 기간에 근접한다.
일부 구현예들에서, 시스템은 특정 시간 기간이 경과함에 응답하여, 더 엄격한 시행 모드보다 덜 제한적인 시행 모드에 사용자 계정을 위치시키는 것을 더 포함한다.
개시된 발명의 다양한 오브젝트들, 구성들 및 이점들은 다음의 도면들과 관련하여 고려되는 경우 개시된 발명의 다음의 상세한 설명을 참조하여 더 완전하게 이해될 수 있으며, 도면들에서 동일한 참조 기호들은 동일한 요소들을 식별한다.
도 1은 개시된 발명의 일부 구현예들에 따라, 미디어 재생 디바이스와 하나 이상의 라이센스 서버들 사이에 요청들 및 응답들을 포함하는 데이터 흐름의 도시적인 예시를 도시한다.
도 2는 개시된 발명의 일부 구현예들에 따라, 반복되는 라이센스 갱신을 갖는 미디어 세션 동시성 관리를 위한 프로세스의 도시적인 예시를 도시한다.
도 3은 개시된 발명의 일부 구현예들에 따라, 사용자 계정 행동 정보에 기초하여 다수의 시행 모드들 중 하나를 사용자 계정에 적용하기 위한 프로세스의 도시적인 예시를 도시한다.
도 4는 일부 구현예들에 따라 본 명세서에 개시된 것과 같은 반복되는 라이센스 갱신을 갖는 미디어 세션 동시성 관리를 위한 메커니즘들이 구현될 수 있는 시스템의 일반화된 개략도의 예시를 도시한다.
도 5는 개시된 발명의 일부 구현예들에 따라, 도 4에 도시된 하나 이상의 컴퓨팅 디바이스들 및 서버들을 구현하는데 사용될 수 있는 하드웨어의 예시를 도시한다.
도 1은 개시된 발명의 일부 구현예들에 따라, 미디어 재생 디바이스와 하나 이상의 라이센스 서버들 사이에 요청들 및 응답들을 포함하는 데이터 흐름의 도시적인 예시를 도시한다.
도 2는 개시된 발명의 일부 구현예들에 따라, 반복되는 라이센스 갱신을 갖는 미디어 세션 동시성 관리를 위한 프로세스의 도시적인 예시를 도시한다.
도 3은 개시된 발명의 일부 구현예들에 따라, 사용자 계정 행동 정보에 기초하여 다수의 시행 모드들 중 하나를 사용자 계정에 적용하기 위한 프로세스의 도시적인 예시를 도시한다.
도 4는 일부 구현예들에 따라 본 명세서에 개시된 것과 같은 반복되는 라이센스 갱신을 갖는 미디어 세션 동시성 관리를 위한 메커니즘들이 구현될 수 있는 시스템의 일반화된 개략도의 예시를 도시한다.
도 5는 개시된 발명의 일부 구현예들에 따라, 도 4에 도시된 하나 이상의 컴퓨팅 디바이스들 및 서버들을 구현하는데 사용될 수 있는 하드웨어의 예시를 도시한다.
다양한 구현예들에 따라, 반복되는 라이센스 갱신들을 갖는 미디어 세션 동시성 관리를 위한 메커니즘들(시스템들, 방법들 및 매체를 포함하는)이 제공된다.
일반적으로 말하면, 컨텐츠 배포 시스템들은 컨텐츠 서버, 컴퓨팅 디바이스 상에서 실행되는 미디어 재생 애플리케이션, 및 컴퓨팅 디바이스 상에서 실행되는 미디어 재생 애플리케이션에 컨텐츠 서버를 연결시키는 통신 네트워크를 포함할 수 있다. 컨텐츠 서버는 컨텐츠 서버로부터 컴퓨팅 디바이스 상에서 실행되는 미디어 재생 애플리케이션으로 다운로드될 수 있는 미디어 컨텐츠 아이템을 저장하도록 구성될 수 있다. 예를 들어, 타이틀 또는 미디어 컨텐츠 아이템을 식별하는 임의의 다른 적절한 정보를 선택하는 사용자 요청의 수신에 응답하여, 컴퓨팅 디바이스 상에서 실행되는 미디어 재생 애플리케이션은 미디어 컨텐츠 아이템에 대응하는 미디어 파일을 다운로드하고 재생하도록 구성될 수 있고, 미디어 파일은 순차적인 컨텐츠 데이터, 오디오 데이터, 비디오 데이터 등을 포함할 수 있다. 이러한 재생은 오디오 데이터 및 비디오 데이터를 디코딩하고, 오디오 신호 및 비디오 신호로 렌더링하는 것을 포함할 수 있다. 일부 구현예들에서, 컨텐츠 서버는 미디어 파일(들)을 미디어 재생 애플리케이션으로 순차적으로 전송하거나 스트리밍한다. 따라서, 컴퓨팅 디바이스에서 실행되는 미디어 재생 애플리케이션은 미디어 컨텐츠 아이템의 하나 이상의 추가적인 미디어 파일들이 획득되는 동안 미디어 파일(들)을 사용하여 미디어 컨텐츠 아이템의 일부를 제시할 수 있다.
일부 상황들에서, 특정 사용자 계정이 설정할 수 있는 동시 스트리밍 연결들의 수에 제한을 둘 수 있다. 예를 들어, 특정 계정 및/또는 특정 유형의 디바이스에 기초하여, 컨텐츠 제공자는 해당 계정 또는 해당 디바이스에 대해 설정될 수 있는 동시 스트리밍 연결들의 최대 수에 제한을 둘 수 있다. 동시 스트리밍 연결들의 수에 대한 제한의 시행은 본 명세서에서 디지털 권리 관리(DRM) 서버와 같은 임의의 적합한 서버에 의해 수행될 수 있다. 특정 사용자 계정의 사용자가 새로운 스트리밍 연결을 요청하면, 미디어 컨텐츠에 더하여 미디어 라이센스가 필요할 수 있다. DRM 서버는 적어도 부분적으로, 해당 사용자 계정과 연관된 현재 활성화된 또는 설정된 스트리밍 연결들의 수를 검출함으로써, 새로운 스트리밍 연결을 요청하는 디바이스에 미디어 라이센스를 발급할지 여부를 결정할 수 있고, 만약 그 수가 허용된 동시 스트리밍 연결의 최대 수를 초과하면, 새로운 스트리밍 연결에 대한 요청을 거부한다. 이러한 라이센스의 거부는 미디어 컨텐츠가 재생될 수 없게 하거나 그렇지 않으면 미디어 컨텐츠가 재생되지 못하게 한다.
일부 상황들에서, 사용자 계정의 사용자에 의해 설정되었던 이전의 스트리밍 연결은 미디어 재생 애플리케이션에 의해 종료되지만, 종료 이벤트의 통지는 라이센스 서버에 의해 수신되지 않는다는 것을 알아야 한다. 이로 인해 사용자 계정과 관련된 DRM 서버에 부정확하거나 오래된 상태 정보가 저장되어 사용자 계정과 연관된 사용자의 시청 환경에 영향을 줄 수 있다. 예를 들어, 특정 스트리밍 연결을 합법적으로 종료한 사용자 계정의 사용자는 DRM 서버가 특정 스트리밍 연결이 종료되었다는 것을 모르는 경우 새로운 스트리밍 연결을 설정할 수 없다. 사용자가 동시 스트리밍 연결에 대한 제한을 준수하는 경우 사용자가 새로운 스트리밍 연결을 설정할 수 없게 하는 것은 사용자 경험이 망칠 수 있고, 이러한 컨텐츠 배포 시스템에서는 바람직하지 않다.
DRM 서버는, 새로운 라이센스에 대한 DRM 클라이언트 디바이스로부터의 미디어 라이센스 요청을 수신함에 응답하여, 제한된 기간의 라이센스로 응답할 수 있다. 예를 들어, 라이센스는 수 분(예를 들어, 5분) 정도의 제한된 기간을 가질 수 있고, 라이센스 갱신을 허용하는 정책과 연관될 수 있다. 라이센스는 키 식별자와 각각 연관될 수 있는 하나 이상의 키들 및 키 사용에 관한 임의의 다른 적절한 정보를 포함하는 키 시스템-특정 상태 정보 일 수 있음을 유념해야 한다. 라이센스에 포함된 하나 이상의 키들은 라이센스가 만료된 경우 미디어 컨텐츠(예를 들어, 미디어 데이터의 하나 이상의 블록들)의 복호화에 이용 가능하지 않을 수도 있음을 유념해야 한다.
DRM 클라이언트 디바이스에서 라이센스의 만료 전에, DRM 클라이언트 디바이스는 라이센스 갱신 정책에 따라 라이센스 갱신 요청을 발급할 수 있다. 예를 들어, 라이센스 갱신 정책은 갱신 요청 간격(또는 라이센스 갱신 요청들 사이의 시간) 및 라이센스 기간을 표시할 수 있다. 라이센스 갱신 정책은 임의의 적절한 파라미터(예를 들어, 계정 별, 디바이스 별, 미디어 컨텐츠 타이틀 별 등)에 기초하여 동적으로 조정될 수 있으며, 상기 조정들은 서버 과부하 또는 데이터 센터 중단시 증가된 라이센스 기간, 특정 유형의 행동을 나타내는 것으로 간주되는 사용자 계정들에 대한 증가된 라이센스 기간, 특정 유형의 행동을 나타내는 것으로 간주되는 사용자 계정들에 대한 더 빈번한 갱신 요청 간격들 등이 있다. 또한 라이센스 갱신이 특정 타임아웃 기간 후에 수신되지 않으면 라이센스 갱신 요청이 반복될 수 있음을 유념해야 한다.
DRM 클라이언트 디바이스로부터 라이센스 갱신 요청을 수신함에 응답하여, DRM 서버는 다른 라이센스 갱신 기간에 대해 라이센스를 연장할지 또는 키 사용 권한을 중단할지 여부를 결정할 수 있다. 예를 들어, 라이센스 갱신은 미디어 키들의 사용을 연장 또는 취소할 것을 표시하는 정책 데이터를 포함하는 것으로서 초기 라이센스보다 대체로 가벼울 수 있다(예를 들어, 라이센스가 하나 이상의 미디어 키를 포함할 수 있음). 미디어 키들의 사용의 중단 또는 취소는, 예를 들어, 0의 기간의 라이센스 갱신 또는 미디어 권리의 중단을 시행하기 위한 다른 수단을 전송함으로써 수행될 수 있음을 유념해야 한다.
따라서, 라이센스 갱신을 수신함에 응답하여, DRM 클라이언트 디바이스는 라이센스 갱신에서 규정된 양만큼 라이센스를 연장하거나 미디어 키들에 대한 액세스를 취소하도록 구성될 수 있으며, 그에 따라 미디어 컨텐츠 아이템의 재생을 종료한다.
동시 스트리밍 연결을 검출하는 것과 관련하여, DRM 서버는 사용자 계정 및/또는 미디어 컨텐츠 아이템에 대해 마지막 갱신 기간에 수신된 라이센스 갱신 요청들의 수를 카운팅함으로써 얼마나 많은 DRM 클라이언트 디바이스들이 특정 미디어 컨텐츠 아이템(또는 일반적으로 미디어 서비스)에 액세스하고 있는지를 결정할 수 있다. 만약 DRM 서버가 마지막 갱신 기간 내에 DRM 클라이언트 인스턴스로부터 요청을 수신하지 않은 경우, DRM 서버는 DRM 클라이언트 디바이스가 더 이상 미디어 컨텐츠 아이템을 재생하지 않는다고 가정할 수 있음을 유념해야 한다. 예를 들어, DRM 클라이언트 디바이스의 사용자는 미디어 컨텐츠 아이템의 재생을 중단했을 수 있다. 다른 예에서, 라이센스 만료로 인해 키 사용 권리들이 취소되었거나 중단되었을 수 있다.
일부 구현예들에서, DRM 서버 또는 라이센스 갱신 요청들을 서비스하는 임의의 다른 적합한 서버는 라이센스 갱신 요청들의 큐를 유지할 수 있으며, 상기 큐에서 오래된 항목들은 라이센스 기간과 동등한 시간이 경과한 후 만료된다. DRM 서버는 큐(예를 들어, 라이센스 갱신 서버 큐)를 검사하여 동시 진행중인 재생 세션들을 결정함으로써, 새로운 초기 라이센스 요청에 응답하여 초기 라이센스를 발급할지 여부를 결정할 수 있다. 대안적으로, DRM 서버는 새로운 요청들을 항상 서비스하도록 구성될 수 있으며, DRM 서버 또는 임의의 다른 적절한 갱신 서버가 다음 번에 세션에 대한 라이센스 갱신 요청이 수신될 때 가장 오래된 세션에 대한 라이센스 권리를 중단하게 한다. 이는 예를 들어, 다른 재생 세션들이 진행 중이라고 여겨지기 때문에 새로운 요청을 거부하는 것이 아니라 항상 최신 사용자 요청을 허용하는 이점을 가진다.
일부 구현예들에서, 추가적으로 또는 대안적으로, DRM 서버는 검출 전용 시행 모드를 구현하도록 구성될 수 있고, 상기 모드에서 초기 라이센스 요청을 처리하는 라이센스 서버들과 라이센스 갱신 요청들을 처리하는 라이센스 갱신 서버들은 서비스하고 수신된 요청들을 기록에 로그를 남길 수 있다.
본 명세서에서 기술된 이들 메커니즘들은 다양한 애플리케이션들에 사용될 수 있다. 예를 들어, 이들 메커니즘들은 의심스러운 동작을 표시하지 않는 사용자에 대한 미디어 전달 서비스에 영향을 미치거나 영향을 주지 않고 의심스러운 행동을 표시하는 사용자들을 검출하고 포함하는데 사용될 수 있다. 다른 예에서, 이들 메커니즘들은 클라이언트 아키텍처와 독립적이며, 클라이언트 디바이스에서의 저장을 필요로 하지 않을 수 있고(예를 들어, 자바 스크립트 저장), 개인 브라우징 모드에서 동작하도록 구현될 수 있기 때문에, 상이한 유형들 및 수의 클라이언트에 걸쳐 스케일링될 수 있다. 보다 구체적인 예에서, 이러한 메커니즘들은 클라이언트 디바이스 구현 또는 클라이언트 디바이스 아키텍처를 제한하지 않을 수 있으며, 라이센스를 요청하고 처리할 수 있는 클라이언트 디바이스는 반복되는 라이센스 갱신들의 사용을 지원할 수 있다. 또 다른 예에서, 이러한 메커니즘들은 위협이 확대되거나 축소될 때 유연성을 제공 할 수 있다. 또 다른 예에서, 이러한 메커니즘들은 사기를 검출하고 동시성 제한을 시행하는 단일 구현예를 제공하는데 사용될 수 있다.
더 특정한 예에서, 라이센스의 만료 전에 수신되는 라이센스 갱신 요청의 부족은 미디어 컨텐츠가 더 이상 재생되지 않는 표시로서 사용될 수 있다. 이 때문에, 디바이스 충돌들, 랩톱 컴퓨팅 디바이스의 뚜껑 닫기 등으로 인해 이러한 표시들이 손실되지 않을 수 있다.
반복되는 라이센스 갱신을 갖는 미디어 세션 동시성 관리의 이들 및 다른 구성들이 도 1-5와 관련하여 더 기술된다.
도 1로 돌아가면, 개시된 발명의 일부 구현예들에 따라, 미디어 재생 디바이스와 하나 이상의 DRM 또는 라이센스 서버들 사이에 반복되는 라이센스 갱신들을 구현하기 위한 흐름도(100)의 도시적인 예가 도시된다. 예를 들어, 미디어 재생 디바이스는 라이센스들과 라이센스 갱신들에 대한 요청을 DRM 서버에 전송할 수 있으며, 상기 DRM 서버는 라이센스들과 라이센스 갱신들을 발급할지 여부의 결정을 처리한다. 또한, 도 1은 하나의 DRM 라이센스 서버를 도시하였지만, 임의의 적절한 수의 DRM 라이센스 서버들이 사용될 수 있다. 예를 들어, 미디어 재생 디바이스는 라이센스들에 대한 요청을 라이센스 서버에, 라이센스 갱신들에 대한 요청들을 하나 이상의 라이센스 갱신 서버들에 전송할 수 있다. 다른 예에서, 웹 서버와 같은 서버는 라이센스들 또는 라이센스 갱신들에 대한 요청들을 처리하고, 어떤 라이센스 서버가 라이센스 요청을 처리해야하는지, 어떤 라이센스 갱신 서버가 라이센스 갱신 요청을 처리해야 하는지를 결정할 수 있다. 또 다른 예에서, 특정 시간의 기간(예를 들어, 소정의 타임아웃) 내에 라이센스 요청 또는 라이센스 갱신 요청에 대한 응답을 수신하지 않는 DRM 클라이언트에 응답하여, DRM 클라이언트는 다른 라이센스 요청 또는 라이센스 갱신 요청을 다른 DRM 라이센스 서버에 전송하도록 구성될 수 있다.
이하에서 기술되는 바와 같이, 각 라이센스 갱신은 특정 미디어 컨텐츠 아이템을 스트리밍하기 위한 연결이 활성 상태로 남아있음을 표시하는데 사용될 수 있음에 유념해야 한다. 이는 예를 들어 활성 스트리밍 연결 수를 결정하고, 다른 라이센스 또는 라이센스 갱신 여부를 결정할 때 결정된 동시 스트리밍 연결들의 수를 동시성 제한과 비교하는데 사용될 있다.
일부 구현예에서, 프로세스(100)는 (110)에서 미디어 재생 디바이스에서 제시하기 위한 미디어 컨텐츠 아이템과 관련한 미디어 컨텐츠 라이센스에 대한 요청을 수신함으로써 시작할 수 있다. 예를 들어, 컨텐츠 서버로부터 미디어 컨텐츠 아이템을 요청함에 응답하여(예를 들어, 미디어 컨텐츠 아이템을 스트리밍하기 위해), DRM 클라이언트는 하나 이상의 키들을 포함하는 미디어 라이센스로 복호화될 때, DRM 클라이언트에서 미디어 컨텐츠 아이템을 재생하는 암호화된 미디어 테이터를 수신할 수 있다. 미디어 컨텐츠 라이센스에 대한 요청은 예를 들어, 타이틀 정보, 비디오 포맷 정보, 해상도 또는 비트 레이트, 종횡비, 길이 정보, 오디오 포맷 정보, 부제 정보 등과 같은 미디어 컨텐츠 아이템과 연관된 메타 데이터를 포함할 수 있다. 다른 예에서, 미디어 컨텐츠 라이센스에 대한 요청은 사용자 계정과 연관된 사용자 이름 및 패스워드와 같은 사용자 자격증명 정보 및 디바이스 식별자, 디바이스 유형 정보, 연결 정보 등과 같은 디바이스 정보를 포함할 수 있다.
일부 구현예에서, DRM 라이센스 서버는 DRM 클라이언트 디바이스로부터의 라이센스 요청을 서비스할지 여부를 결정할 수 있다. 예를 들어, DRM 라이센스 서버는 사용자 계정에 대한 마지막 갱신 기간에 수신된 라이센스 갱신 요청들의 수를 카운트함으로써, 임의의 적절한 DRM 클라이언트 디바이스 수로부터 사용자 계정과 연관된 다수의 동시 스트리밍 연결을 검출 할 수 있다. 이 예를 계속하면, DRM 라이센스 서버가 마지막 갱신 기간 내에 DRM 클라이언트 인스턴스로부터 갱신 요청을 수신하지 않은 경우, DRM 라이센스 서버는 DRM 클라이언트 디바이스가 더 이상 미디어를 재생하지 않는다는 표시와 같은 정보를 사용할 수 있다. 예를 들어 DRM 클라이언트 디바이스의 사용자가 미디어 컨텐츠 아이템의 재생을 중단했을 수 있고, 라이센스 만료로 인해 키 사용 권리가 취소되거나 중단되었을 수 있다.
일부 구현예에서, DRM 라이센스 서버는 큐 내의 오래된 항목들이 라이센스 기간과 동일한 시간 후에 만료 될 수 있는 라이센스 갱신 요청들의 큐를 유지함으로써, 동시 스트리밍 연결들의 수를 검출할 수 있다. 따라서, DRM 라이센스 서버는 큐(예를 들어, 라이센스 갱신 서버 큐)를 검사하여 동시 진행중인 재생 세션들을 결정함으로써 새로운 초기 라이센스 요청에 응답하여 초기 라이센스를 발급할지 여부를 결정할 수 있다.
특정 사용자 계정으로 인증된 사용자 디바이스로부터의 새로운 초기 라이센스 요청에 어떻게 응답할지를 결정할 때 DRM 라이센스 서버를 보조하는 임의의 적절한 정보가 얻어질 수 있다는 것을 유념해야 한다. 예를 들어, 라이센스 요청을 처리하는 DRM 라이센스 서버와 라이센스 갱신 요청을 처리하고 라이센스 갱신 큐를 유지하는 하나 이상의 라이센스 갱신 서버들을 포함하는 구현예에서, 이러한 정보에는 활성 세션들의 수, 라이센스 갱신 요청들의 수, 라이센스 갱신들의 수, 라이센스 갱신 요청들과 연관된 시간 정보, 라이센스 갱신 요청들과 연관된 디바이스 정보, 라이센스 정보, 허용 가능한 동시 세션들의 최대 수를 고려한 적절한 응답, 사용자 계정에 대해 사용가능한 동시 세션들의 수 등을 포함할 수 있다.
대안적으로, DRM 라이센스 서버는 새로운 요청을 항상 서비스하도록 구성될 수 있으며, DRM 라이센스 서버 또는 임의의 다른 적절한 갱신 서버가 세션에 대한 라이센스 갱신 요청이 다음에 수신될 때 가장 오래된 세션에 대한 라이센스 권리를 중단하게 한다. 이는 예를 들어, 다른 재생 세션이 진행 중이라고 여겨지기 때문에 새로운 요청을 거부하는 것이 아니라 항상 가장 최신의 사용자 요청을 승인하는 이점을 가질 수 있다.
다시 도 1을 참조하면, 일부 구현예에서, (120)에서, DRM 클라이언트 디바이스로부터 미디어 라이센스에 대한 수신된 요청에 응답하여, DRM 라이센스 서버는 제한된 기간의 라이센스를 포함하는 응답을 전송할 수 있다. 예를 들어, 메타데이터 또는 DRM 클라이언트 디바이스에 의해 전송된 요청으로부터의 다른 정보를 사용하여, DRM 라이센스 서버는 복호화될 메타데이터와 연관된 하나 이상의 키들을 찾아서 획득하고, 상기 하나 이상의 키들을 제한된 기간의 상기 라이센스에 포함시킬 수 있다. 더 구체적 예에서, DRM 라이센스 서버에 의해 발급된 라이센스는 키 식별자와 각각 연관될 수 있는 하나 이상의 키들 및 키 사용과 관련된 임의의 다른 적절한 정보를 포함하는 키 시스템-특정 상태 정보일 수 있다.
그러한 라이센스의 기간은 예를 들어, 주어진 수의 분(예를 들어, 3분, 5분 등)일 수 있다는 것을 유념해야 한다. 예를 들어, 라이센스의 기간은 미디어 컨텐츠 아이템의 기간 또는 전체 재생 길이와 동등할 수 있다. 다른 예에서, 라이센스의 기간은 미디어 컨텐츠 아이템의 기간 및 미디어 컨텐츠 아이템의 재생을 일시 정지하는 것과 같은 사용자 인터렉션들을 위한 추가 기간(예를 들어, 컨텐츠 기간 + x분)과 동등할 수 있다. 또 다른 예에서, 라이센스의 기간은 미디어 컨텐츠 아이템의 전체 재생 길이와 비교하여 짧은 시간의 기간으로 설정될 수 있다(예를 들어, 30분의 총 재생 기간을 갖는 미디어 컨텐츠 아이템에 대한 5분 라이센스 기간). 또한, 일부 실시 예에서, 그러한 라이센스는 특정 라이센스 기간을 설정하고, 라이센스 갱신들을 허용하는 정책으로 구성될 수 있으며, 라이센스의 만료 전에, DRM 클라이언트 디바이스는 미디어 라이센스를 유지하고 미디어 컨텐츠 아이템을 계속 재생하기 위해 라이센스 갱신 요청을 발급한다. 라이센스가 만료된 경우, 라이센스에 포함된 하나 이상의 키들은 미디어 컨텐츠(예를 들어, 하나 이상의 미디어 데이터 블록들)의 복호화에 이용 가능하지 않을 수 있다.
일부 구현예에서, DRM 라이센스 서버 또는 라이센스 갱신 서버(예를 들어, 라이센스 갱신들의 계정을 유지하는 적합한 서버)에 의해 발급된 라이센스들은 임의의 적합한 파라미터들에 기초하여 구성될 수 있다. 예를 들어, 컨텐츠 제공자는 특정 사용자 계정, 특정 디바이스, 미디어 컨텐츠의 특정 부분 등에 대한 라이센스의 라이센스 기간을 동적으로 조정하는 임의의 적절한 파라미터를 제공할 수 있다. 이러한 파라미터들은 서버 과부하의 결정 또는 그 표시를 수신(예컨대, 서버 리소스들의 사용을 줄이기 위해 라이센스 기간을 증가시키는 것), 데이터 센터 중단(예를 들어, 데이터 센터 중단을 검출하는 것에 응답하여 라이센스 기간 증가), 정상적으로 행동하거나 양호한 상태로 간주되는 사용자 계정(예를 들어, 검출된 의심스러운 행동이 없거나 적은 경우 특정 사용자 계정에 대한 라이센스 기간 증가), 의심스러운 행동이 검출된 사용자 계정(예를 들어, 라이센스 기간 감소 및/또는 사용자 행동에 기초하여 동시 세션들의 수를 감소시키거나 동적으로 변경하는 상이한 라이센스 정책 적용), 충돌 해결(예를 들어, 비정상적인 상황이 존재함을 표시하는 서버에 응답하여 정상적으로 행동할 것으로 간주되는 사용자 계정에 대해 자동적으로 초기 라이센스 또는 라이센스 갱신을 부여), 미디어 유형(예를 들어, 긴 영화는 짧은 오디오 클립과 반대로 보다 짧은 라이센스 기간을 수신) 등에 응답하여, 라이센스 기간의 조정하게 한다.
일부 구현예에서, 라이센스 기간을 수정하는 것을 추가적으로 또는 대안적으로, 갱신 요청 간격은 임의의 적합한 파라미터에 기초하여 또한 수정될 수 있다. 예를 들어, 사용자 계정 또는 사용자 디바이스의 일반적인 행동을 표시하는 파라미터에 응답하여(예를 들어, 검출된 의심스러운 행동의 경우를 가지지 않아 정상적으로 행동한 경우, 임계값 보다 큰 의심스러운 행동의 검출들의 수를 가지는 불량 행동, 특정 시간의 기간보다 적은 행동 정보를 갖는 사용자 계정 또는 사용자 디바이스를 갖는 결정되지 않은 행동 등), 갱신 요청 간격은 행동 파라미터에 기초하여 수정될 수 있다. 보다 구체적 예에서, 서버는 기본 기간의 갱신 요청 간격(예를 들어, 2분의 보다 짧은 보다 제한적인 갱신 유예 기간에 비교할 때 5분의 더 긴 갱신 유예 기간)을 갖는 라이센스를 발급할 수 있으며, 후속 라이센스 요청에서의 갱신 요청 간격은 사용자 계정 또는 사용자 디바이스와 연관된 행동 정보에 응답하여 감소되어야 하는지 여부를 결정한다. 이 예에서, 초기 라이센스 요청은 매 6분과 같이 보다 긴 갱신 요청 간격을 갖는 덜 제한적인 라이센스를 수신할 수 있지만, 라이센스 갱신 요청은 의심스러운 행동을 검출함에 응답하여(예를 들어, 특정 임계값보다 큰 특정 시간의 기간 내의 라이센스 요청들의 수), 매 2분과 같이 더 짧은 갱신 요청 간격을 갖는 보다 제한적인 라이센스 갱신을 수신할 수 있다. 이는 예를 들어, 특정 사용자 계정의 사용자가 여러 미디어 컨텐츠를 동시에 스트리밍하고 갱신 요청들을 차단하거나 계정을 악용하고 있거나 사용자가 소비하고자 하는 미디어 컨텐츠를 찾을 때까지 다양한 미디어 컨텐츠를 정당하게 살펴봄을 표시할 수 있는, 다른 라이센스가 유효한 동안 사용자 계정이 여러 개의 새로운 라이센스 요청들을 가진다고 결정함에 응답하여 사용될 수 있다.
임의의 적절한 접근법이 갱신 요청 간격을 설정하기 위해 사용될 수 있다는 것을 유념해야 한다. 예를 들어, 서버는 행동 표시를 각 사용자 계정 또는 각 사용자 디바이스와 연관시킬 수 있으며, 각 행동 표시는 특정 라이센스 기간 및/또는 특정 갱신 요청 간격과 연관된다. 행동 표시자를 수신함에 응답하여, DRM 라이센스 서버는 수신된 라이센스 요청 또는 라이센스 갱신 요청에 응답하여 적절한 라이센스를 전송할 수 있다.
일부 구현예에서, 발급된 라이센스에 대해 라이센스 갱신이 허용되는 경우, 라이센스는 라이센스 갱신 요청(예를 들어, 하나 이상의 라이센스 갱신 서버에 대한 URL)을 처리하기 위한 하나 이상의 서버들에 관한 정보를 포함할 수 있다. 일부 구현예에서, 이러한 정보는 하나 이상의 라이센스 갱신 서버들의 URL의 정렬된 목록을 포함할 수 있다. 예를 들어, 제1 라이센스 갱신 서버에 대한 URL 및 주어진 타임아웃 기간 내에 응답이 없는 경우 제2 라이센스 갱신 서버에 대한 URL 등. 대안적으로, 일부 구현예에서, 이러한 정보는 제1 라이센스 갱신 서버의 URL 및 특정 기간 내에 제1 라이센스 갱신 서버가 도달할 수 없는 경우 라이센스 갱신 서버들의 하나 이상의 대체 URL들을 포함할 수 있다.
일부 구현예에서, (130)에서, DRM 클라이언트는 현재 발급된 라이센스에 대한 라이센스 갱신이 필요한지 여부를 결정할 수 있다. 예를 들어, (120)에서 발급된 라이센스를 수신함에 응답하여, DRM 클라이언트는 라이센스 기간이 특정 기간(예를 들어, 5 분)이고, 발급된 라이센스에 대한 라이센스 갱신들이 특정 라이센스 갱신 요청 간격에 허용된다는 것을 결정할 수 있다. 라이센스 기간을 결정함에 응답하여, DRM 클라이언트는 현재 발급된 라이센스의 만료 2 분전 (또는 현재 발급된 라이센스가 만료되기 훨씬 전의 시간)과 같이, 라이센스 갱신이 획득될 특정 시간 기간을 결정할 수 있다.
보다 구체적 예에서, DRM 클라이언트는 발급된 라이센스와 연관된 정책이 라이센스 기간 및 갱신 요청 간격(또는 라이센스 갱신 요청들 간의 시간)을 표시한다는 것을 결정할 수 있다. 예를 들어, 사용자가 현재 발급된 라이센스를 연장하여 미디어 컨텐츠 아이템을 계속 재생하기를 원하는 경우, 정책은 DRM 클라이언트에게 특정 라이센스 갱신 창이 특정 시간에 열리도록 지시할 수 있다(예를 들어, 현재 발급된 라이센스가 만료되기 적어도 1분 전에 열리는 갱신 창에서 DRM 서버로부터 라이센스 갱신 요청들이 수신될 수 있다). 라이센스 갱신 정책은 적절한 파라미터(예를 들어, 계정 별, 디바이스 별, 미디어 컨텐츠 타이틀 별 등)에 기초하여 DRM 라이센스 서버에 의해 동적으로 조정될 수 있다. 상기 조정은 서버 과부하 또는 데이터 센서 중단의 시간 중에 증가된 라이센스 기간, 특정 유형의 행동을 보이는 것으로 간주된 사용자 계정들에 대해 증가된 라이센스 기간, 특정 유형의 행동을 보이는 것으로 간주된 사용자 계정에 대한 더 빈번한 갱신 요청 간격들 등을 포함할 수 있다.
일부 구현예에서, 현재 발급된 라이센스의 만료 이전에 미디어 컨텐츠 아이템을 계속 재생하기 위해 라이센스 갱신이 필요하다고 결정함에 응답하여, DRM 클라이언트 디바이스는 (140)에서 라이센스 갱신 요청을 전송할 수 있다. 라이센스 갱신 요청은 현재 발급된 라이센스와 연관된 라이센스 식별자, 현재 활성 스트리밍 연결과 연관된 세션 식별자, 현재 발급된 라이센스의 만료 이전 시간의 양과 같은 임의의 적절한 정보 또는 라이센스 갱신을 위해 DRM 라이센스 서버에 의해 요구되는 DRM 클라이언트 디바이스로부터의 임의의 다른 적절한 정보를 포함할 수 있다. 일부 구현예에서, DRM 라이센스 서버에 의해 발급된 라이센스는 현재 발급된 라이센스에 대한 라이센스 갱신을 발급하기 위해 필요한 정보(예를 들어, 사용자 계정 정보, 라이센스 정보, 디바이스 정보, 타이밍 정보 또는 임의의 적절한 조합)가 무엇인지에 관한 지시를 포함할 수 있다.
일부 구현예에서, 라이센스 갱신 요청에 대한 응답이 수신되지 않으면, DRM 클라이언트 디바이스는 구성된 타임아웃 후에 임의의 적절한 시간만큼 유효한 갱신을 얻기 위해 라이센스 갱신 요청을 반복할 수 있다. 예를 들어, 특정 라이센스 갱신 서버가 중단되어 라이센스 갱신 요청에 대한 응답을 수신하지 못할 수 있다. 보다 특정한 예에서, 라이센스 갱신 요청을 제1 URL의 라이센스 갱신 서버에 전송하는 것에 응답하여, DRM 클라이언트 디바이스는 후속 라이센스 갱신 요청을 대체 URL에서 다른 라이센스 갱신 서버에 전송할 수 있다. 라이센스 갱신 요청들의 전송은 라이센스 갱신이 이루어질 때까지 대체 URL에서의 라이센스 갱신 서버들에 계속 전송될 있다.
(150)에서, DRM 클라이언트 디바이스로부터 라이센스 갱신 요청을 수신함에 응답하여, DRM 라이센스 서버는 라이센스 갱신을 발급할지 여부를 결정할 수 있다. 예를 들어, DRM 라이센스 서버는 다른 라이센스 갱신 기간 동안 라이센스를 연장할지 또는 키 사용 권리를 중단할지 여부를 결정할 수 있다. 라이센스 갱신을 발행하는 결정은 미디어 키들의 사용을 계속하기 위해 라이센스 갱신 기간(예를 들어, 새로운 3분, 5분 등)을 설정하여 미디어 컨텐츠 아이템이 계속 재생되도록하는 것을 포함할 수 있음을 유념해야 한다. 또한, 라이센스에서 미디어 키들의 사용의 중단 또는 취소는 예를 들어, 0의 기간의 라이센스 갱신을 전송하거나 이와 달리 키 사용 권리를 종료시키는 명령을 발급함으로써 수행될 수 있음을 유념해야 한다.
전술한 바와 같이, 일부 구현예에서, DRM 라이센스 서버는 사용자 계정에 대해 마지막 갱신 기간에 수신된 라이센스 갱신 요청들의 수를 카운트함으로써, 임의의 적절한 수의 DRM 클라이언트 디바이스로부터 사용자 계정과 연관된 동시 스트리밍 연결의 수를 검출할 수 있다. 이 예를 계속하면, DRM 라이센스 서버가 마지막 갱신 기간 내에 DRM 클라이언트 인스턴스로부터 갱신 요청을 수신하지 않은 경우, DRM 라이센스 서버는 DRM 클라이언트 디바이스가 더 이상 미디어 컨텐츠 아이템을 재생하지 않는다는 표시와 같은 정보를 사용할 수 있다. 예를 들어, DRM 클라이언트 디바이스의 사용자가 미디어 컨텐츠 아이템의 재생을 중지했을 수 있고, 라이센스 만료로 인해 키 사용 권리가 취소되거나 중단되었을 수 있다.
일부 구현예에서, DRM 라이센스 서버는 큐 내의 오래된 항목들이 라이센스 기간과 동일한 시간 후에 만료될 수 있는 라이센스 갱신 요청들의 큐를 유지함으로써 동시 스트리밍 연결의 수를 검출할 수 있다. 따라서, DRM 라이센스 서버는 큐(예를 들어, 라이센스 갱신 서버 큐)를 검사하여 동시 진행중인 재생 세션들을 결정함으로써 라이센스 갱신 요청에 응답하여 라이센스 갱신을 발급할지 여부를 결정할 수 있다.
하나 이상의 라이센스 갱신 서버들이 라이센스 갱신 요청을 처리하는 구현예에서, 라이센스 서버는 라이센스 갱신 큐에 질의하고, 라이센스 갱신 요청을 처리하는데 사용될 수 있는 정보(예를 들어, 활성 세션들의 수, 라이센스 갱신 요청들의 수, 라이센스 갱신들의 수, 라이센스 갱신 요청들과 연관된 타이밍 정보, 라이센스 갱신 요청들과 연관된 디바이스 정보, 라이센스 정보, 허용 가능한 동시 세션들의 최대 수를 고려한 적절한 응답, 사용자 계정에서 계속 사용가능한 동시 세션들의 수)를 결정할 수 있다.
대안적으로, 일부 구현예에서, DRM 라이센스 서버는 초기 라이센스 요청들 및/또는 라이센스 갱신 요청들이 자동으로 서비스되게 하고, 요청들 및 연관된 라이센스 및 라이센스 갱신의 로그를 유지시하는 검출 전용 모드를 구현할 수 있다. 이는 예를 들어 서버 과부하, 데이터 센터 중단 등의 기간 동안 구현될 수 있다.
일부 구현예에서, DRM 라이센스 서버는 새로운 갱신 요청들을 항상 서비스하도록 구성될 수 있으며, DRM 라이센스 서버 또는 임의의 다른 적절한 갱신 서버가 라이센스 갱신 요청이 세션에 대해 수신된 다음 가장 오래된 세션에 대해 라이센스 권리를 중단하게 한다. 라이센스 갱신 요청이 종료를 위해 지정된 큐 내의 더 오래된 세션에 대응한다고 결정한 것에 응답하여, DRM 라이센스 서버는 0의 기간을 갖는 라이센스 갱신 또는 미디어 권리의 중단을 시행하기 위한 일부 다른 수단들로 라이센스 갱신 요청에 응답 할 수 있다. 이는 예를 들어, 다른 재생 세션들이 진행 중이라고 여겨지기 때문에 새로운 요청을 거부하는 것이 아니라 항상 최신 사용자 요청을 허용하는 이점을 가진다.
(160)에서, 특정 갱신 파라미터들을 갖는 라이센스 갱신 메시지가 DRM 라이센스 서버로부터 DRM 클라이언트 디바이스로 전송될 수 있다. (170)에서, DRM 클라이언트 디바이스는 수신된 라이센스 갱신 메시지에 기초하여 미디어 컨텐츠 아이템의 재생이 허용될지 여부를 결정할 수 있다. 예를 들어, 전술한 바와 같이, 라이센스 갱신 메시지를 수신함에 응답하여, DRM 클라이언트 디바이스는 수신된 라이센스 갱신 메시지로부터 갱신 파라미터들을 추출하고, 라이센스에 대한 연장이 특정 기간(예를 들어, 초기 라이센스와 연관된 라이센스 기간과 동일한 다른 짧은 시간의 기간, 초기 라이센스와 연관된 라이센스 기간보다 적은 짧은 시간의 기간 등)에 대해 허용되었는지 결정한다. (180)에서, 갱신된 라이센스를 갖는 미디어 재생 아이템은 계속 재생될 수 있다. DRM 클라이언트 디바이스는 (130)으로 돌아갈 수 있으며, 여기서 미디어 컨텐츠 아이템을 계속 재생하기 위해 라이센스 갱신이 필요한지 여부가 나중에 결정될 수 있다. 예를 들어, 갱신된 라이센스가 만료되기 전에(예를 들어, 라이센스 갱신 창이 열렸을 때), DRM 클라이언트 디바이스는 미디어 컨텐츠 아이템을 계속 재생하기 위해 라이센스 갱신이 필요한지 여부를 결정할 수 있다.
다른 예에서, 전술한 바와 같이, 라이센스 갱신 메시지를 수신하고, 에 응답하여, 수신된 라이센스 갱신 메시지로부터 갱신 파라미터들을 추출하고, 0의 기간의 라이센스 갱신이 발행되었던 것(또는 미디어 권리의 중단을 강제할 어떤 다른 수단들)으로 결정함에 응답하여, (190)에서, DRM 클라이언트 디바이스는 키들에 대한 액세스가 취소할 수 있으며, 미디어 컨텐츠의 재생을 종료한다.
일부 구현예에서, 상이한 시행 모드가 개시된 발명과 관련하여 이용될 수 있다. 라이센스 기간들 및 갱신 요청 간격들이 DRM 라이센스 서버에 의해 동적으로 조정될 수 있는 도시적인 예에서, DRM 라이센스 서버는 다수의 시행 모드들 중 하나를 구현하도록 이러한 조정을 할 수 있다.
도 2로 돌아가면, (210)에서, DRM 라이센스 서버는 사용자 계정에 대응하는 자격증명들로 인증되었던 사용자 디바이스로부터 요청을 수신함으로써 프로세스(200)을 시작할 수 있다. 예를 들어, 재생을 위한 미디어 컨텐츠 아이템을 선택함에 응답하여, 요청은 초기 라이센스에 대한 요청일 수 있다.
(220)에서, DRM 라이센스 서버는 특정 라이센스 파라미터들을 갖는 시행 모드에 따라 요청에 대한 응답을 전송할 수 있다. 예를 들어, DRM 라이센스 서버는 각 DRM 클라이언트 디바이스를 초기 검출 전용 모드로 시작할 수 있다. 이 예를 계속하면, 초기 검출 전용 모드에서, DRM 라이센스 서버는 갱신 요청 간격을 5분(또는 임의의 기타 적절한 요청 간격)으로 설정하고, 라이센스 기간을 미디어 컨텐츠 아이템의 컨텐츠 기간 + x 분(예를 들면, 미디어 컨텐츠 아이템의 재생 중에 수신될 수 있는 일시 정시 명령을 위해 컨텐츠 기간 + x 분 등)과 동등하게 설정할 수 있다. 임의의 적절한 초기 갱신 요청 간격 및/또는 라이센스 기간이 이 검출 전용 시행 모드에서 제공될 수 있다는 것을 유념해야 한다.
일부 구현예에서, 230에서, DRM 라이센스 서버는 사용자 계정 행동 정보에 액세스하고 검토함으로써 계속될 수 있다. 예를 들어, 사용자 계정에 대응하는 자격증명들로 인증되었던 사용자 디바이스로부터 라이센스 요청 또는 라이센스 갱신 요청을 수신함에 응답하여, 그리고 요청을 서비스할지 여부를 결정하는 DRM 라이센스 서버와 관련하여, 프로세스(200)는 사용자 계정과 연관된 라이센스 기록에 엑세스하고, 사용자 계정 기록의 정보가 의심스러운 행동을 표시하는지 여부를 결정한다. 의심스러운 행동은 예를 들어, 사용자 계정과 연관된 하나 이상의 디바이스들에 의한 갱신 요청들의 가능한 또는 가능성 있는 억제를 표시하는 정보를 포함할 수 있다. 더 구체적 예에서, 사용자 계정 기록 내의 정보로부터 다수의 디바이스들에 걸쳐 새로운 라이센스 요청의 특정 수 이상을 생성하고 특정 시간의 기간 내에 갱신 요청을 생성하지 않는 것에 대한 검출에 응답하여, DRM 라이센스는 상기 사용자 계정 행동 정보를 갱신 요청들이 사용자 계정과 연관된 디바이스들에 의해 억제되고 있다는 표시로서 사용할 수 있으며, 라이센스 또는 라이센스 갱신 파라미터들을 조정할 수 있다.
일부 구현예에서, (240)에서, DRM 라이센스 서버는 라이센스 또는 라이센스 갱신 파라미터들을 조정할 수 있다. 예를 들어, 갱신 요청들(또는 사용자 계정과 관련된 임의의 다른 의심스러운 행동)의 가능한 억제를 검출하는 것에 응답하여, DRM 라이센스 서버는 사용자 계정이 조정된 라이센스 파라미터를 갖는 상이한 시행 모드에 놓이게 할 수 있다. 일반적으로, 이것은 더 짧은 라이센스 기간 및/또는 보다 빈번한 갱신 요청 간격을 포함하는 보다 엄격한 시행 모드일 수 있다.
도 2에 도시된 바와 같이, DRM 라이센스 서버가 사용자 계정과 연관된 하나 이상의 디바이스들로부터 요청들을 계속 수신함에 따라, DRM 라이센스는 (230)을 되돌아가서, 사용자 계정 행동 정보를 계속 검토한다. 이와 같이, 갱신 요청들(또는 사용자 계정과 관련된 임의의 다른 의심스러운 행동)의 가능한 억제를 계속 검출함에 응답하여, DRM 라이센스 서버는 사용자 계정이 조정된 라이센스 파라미터들 - 예를 들어, 더 조정된 라이센스 기간 및/또는 더 조정된 갱신 요청 간격을 갖는 엄격한 시행 모드를 갖는 또 다른 시행 모드에 놓이게 할 수 있다.
일부 구현예에서, (250)에서, DRM 라이센스 서버는 사용자 계정 행동 정보에 기초하여 현재 시행 모드를 수정할지 여부를 결정할 수 있다. 예를 들어, 사용자 계정과 연관된 디바이스가 갱신 요청들을 억제하거나 의심스러운 행동을 보이는 보다 낮은 확률을 결정함에 응답하여, DRM 라이센스 서버는 시행 모드를 수정하거나, 그렇지 않으면 사용자 계정과 연관된 디바이스들로부터의 요청과 연관된 라이센스 파라미터들을 조정할 수 있다. 보다 구체적 예에서, DRM 라이센스 서버는 다수의 시행 레벨을 포함할 수 있고, 사용자 계정 행동 정보에 응답하여, DRM 라이센스 서버는 시행 레벨을 증가 시키거나 감소시킬지(예를 들어, 검출 전용 시행 모드를 보다 엄격한 시행 모드 사이에서) 결정할 수 있다. 또 다른 구체적 예에서, DRM 라이센스 서버는 특정 시간이 경과했음을 검출함에 응답하여, 보다 덜 엄격한 시행 모드로 시행 레벨을 감소시킬 수 있다. 또 다른 더 구체적 예에서, DRM 라이센스 서버는 특정 시간이 경과했고 사용자 계정과 연관된 디바이스가 계속 의심스러운 행동을 보임을 검출함에 응답하여, 0의 기간의 라이센스 또는 라이센스 갱신들을 발급할 수 있고, 그에 따라 미디어 키들의 사용을 중단하거나 취소할 수 있다.
적용될 수 있는 다수의 시행 모드들의 도시적인 예가 도 3에 도시된다.
도시된 바와 같이, (310)에서, DRM 라이센스 서버는 특정 갱신 간격 및 특정 라이센스 기간을 가지는 검출 전용 모드를 적용함으로써 시작될 수 있다. 예를 들어, 도 2와 관련하여 상기 기술된 바와 같이, DRM 라이센스 서버는 각 DRM 클라이언트 디바이스를 초기 검출 전용 모드로 시작할 수 있다. 이 예를 계속하면, 초기 검출 전용 모드에서, DRM 라이센스 서버는 갱신 요청 간격을 5분(또는 임의의 적절한 요청 간격)으로 설정하고, 라이센스 기간을 기간을 미디어 컨텐츠 아이템의 컨텐츠 기간 + x 분(예를 들면, 미디어 컨텐츠 아이템의 재생 중에 수신될 수 있는 일시 정시 명령을 위해 컨텐츠 기간 + x 분 등)과 동등하게 설정할 수 있다. 임의의 적절한 초기 갱신 요청 간격 및/또는 라이센스 기간이 이 검출 전용 시행 모드에서 제공될 수 있다는 것을 유념해야 한다.
검출 전용 모드 동안, (320)에서, DRM 라이센스 서버는 사용자 계정과 연관된 사용자 디바이스로부터의 요청을 계속 수신할 수 있고, 라이센스 기록을 질의하고 사용자 계정과 연관된 사용자 계정 해동 정보를 검토함으로써 갱신 요청들의 가능한 억제(또는 사용자와 관련된 임의의 다른 의심스러운 행동)의 검출에 응답하여, (330)에서 갱신 간격 및/또는 라이센스 기간 파라미터들을 조정한 가벼운 시행 모드(lightweight enforcement mode)가 적용될 수 있다. 예를 들어, 라이센스 기록에서 사용자 계정 행동 정보를 검토하고 사용자 계정이 특정 수의 새로운 라이센스 요청들(예를 들어, 다수의 디바이스들에 걸쳐서) 보다 많은 수를 생성하고, 특정 시간의 기간 내에 갱신 요청들이 없었음을 검출함에 응답하여, DRM 라이센스 서버는 이러한 사용자 계정 행동 정보를 갱신 요청들이 억제되고 있다는 표시로서 사용할 수 있고, 사용자 계정이 가벼운 시행 모드에 놓일 수 있게 한다.
가벼운 시행 모드에서, DRM 라이센스 서버는 갱신 요청 간격 및/또는 라이센스 기간을 수정할 수 있다. 상기 언급된 예를 계속하면, DRM 라이센스 서버는 갱신 요청 간격을 5분(또는 임의의 적절한 요청 간격)에서 유지하고, 라이센스 기간을 컨텐츠 기간의 절반(컨텐츠 기간 ÷ 2)과 동일하게 설정할 수 있다. 미디어 컨텐츠 아이템의 컨텐츠 기간의 절반과 동일하게 라이센스 기간을 설정하는 것은 단지 예시적이며, 미디어 컨텐츠 아이템의 컨텐츠 기간보다 짧은 및/또는 검출 전용 모드에서 설정된 라이센스 기간보다 짧은 임의의 적절한 라이센스 기간이 설정될 수 있다. 갱신 요청들을 억제하는 사용자 계정의 사용자에 응답하여, 상기 사용자 계정은 그 전체가 미디어 컨텐츠를 소비할 수 없을 것이다.
가벼운 시행 모드 동안, (340)에서, 라이센스 기록을 질의하고 사용자 계정과 연관된 사용자 계정 해동 정보를 검토함으로써 갱신 요청들(또는 사용자 계정과 관련하여 임의의 다른 의심스러운 행동)의 가능한 억제를 검출함에 응답하여, DRM 라이센스 서버는 사용자 계정과 연관된 사용자 디바이스로부터의 요청을 계속 수신할 수 있다. 예를 들어, 사용자 계정과 연관된 디바이스들로부터 라이센스 요청들 또는 라이센스 갱신 요청들을 수신함에 응답하여, DRM 라이센스 서버는 이 기회를 이용하여, 라이센스 기록에 기초하여 사용자 계정 행동 정보를 검토할 수 있다.
도 3을 다시 참조하면, (350)에서, 사용자 계정 행동 정보가 사용자 계정과 연관된 디바이스가 의심스러운 행동과 관련될 가능성이 있음을 계속해서 표시한다고 결정함에 응답하여, 엄격한 시행 모드가 더 조정된 갱신 간격 또는 라이센스 기간 파라미터들과 함께 적용될 수 있다. 예를 들어, DRM 라이센스 서버는 특정 시간의 기간이 경과했고, 사용자 계정과 연관된 디바이스들이 디바이스가 라이센스 갱신 요청들을 억제하고 있을 수 있다고 표시하는 행동을 보이고 있다고 결정함에 응답하여 엄격한 시행 모드를 적용할 수 있다. 다른 예에서, DRM 라이센스 서버는, 동일한 디바이스에서 동일한 미디어 컨텐츠 아이템에 대한 2개 이상의 새로운 라이센스 요청들의 수신 또는 의심스러운 라이센스 갱신 요청의 수신과 같은 특정 이벤트들이 라이센스 기록에 기록되었다는 것을 검출함에 응답하여 엄격한 시행 모드를 적용할 수 있다.
더 구체적 예에서, 사용자 계정이 동일한 디바이스에서 동일한 미디어 컨텐츠에 대해 2개 이상의 새로운 라이센스 요청들을 지속적으로 생성한다는 것을 검출함에 응답하여 또는 (예를 들어, 마지막 갱신 요청이 5분의 갱신 간격 대신 라이센스 기간에 가깝기 때문에) 디바이스로부터 의심스러운 갱신 요청을 수신함에 응답하여, DRM 라이센스 서버는 라이센스 기록으로부터의 그러한 정보를 갱신 요청들이 억제되고 있고, (라이센스가 만료되는 경우) 컨텐츠의 절반이 다시 로드되고 있다는 표시로서 사용할 수 있다. 가벼운 시행 모드에 놓인 사용자 계정들은 연장된 중단이 미디어 컨텐츠 아이템들의 재생이 중지할 수 있기 때문에, 서버 중단으로 인해 약간 더 영향을 받을 수 있다. 의심스러운 동작이 계속되면, 사용자 계정은 보다 엄격한 시행 모드 또는 더 제한적인 다른 임의의 적절한 제한 모드에 놓일 수 있다.
엄격한 시행 모드에서, DRM 라이센스 서버는 갱신 요청 간격 및/또는 라이센스 기간 파라미터들을 더 수정할 수 있다. 상기 언급된 예를 계속하면, DRM 라이센스 서버는 갱신 간격을 3분(또는 임의의 다른 적절한 갱신 간격)으로 설정할 수 있고, 라이센스 기간을 5분(또는 임의의 다른 적절한 기간)으로 설정할 수 있다. 따라서, 사용자 계정의 사용자는 갱신 요청이 억제되고 있다면 5분 이상의 미디어 컨텐츠를 한번에 시청할 수 없다. 엄격한 시행 모드에 놓인 사용자 계정들은 서버 중단에 의해서 몇 분 이상만(예를 들어, 2분) 영향을 받을 수 있다는 것을 유념해야 한다.
일부 구현예들에서, (360)에서, 특정 시간이 경과한 후에, DRM 라이센스 서버는 사용자 계정을 상기 기술된 가벼운 시행 모드 또는 검출 전용 모드와 같은 더 완화된 모드에 놓을 수 있다.
더 완화된 시행 모드에 놓인 사용자 계정들에 대한 사용자 경험은 영향을 받지 않을 것이며, 대부분의 사용자들이 일반적으로 완화된 시행 모드와 연관된 범주들에 속하기 때문에 서버 리소스들에 미치는 영향도 영향을 받지 않을 것임을 유념해야 한다. 비-악용 사용자들의 경우, 보다 제한적인 모드에 놓이면 갱신 서버 중단이 있는 경우에만 사용자 및 사용자 환경에 부정적인 영향을 받을 수 있지만, 이러한 중단에서도, 사용자들에게 긴 유예 기간이 주어질 수 있고, 의심스러운 사용자들은 대안 서버에 연결할 수 있다.
도 4는 본 명세서에 기술된 바와 같은 반복되는 라이센스 갱신들을 갖는 미디어 세션 동시성 관리를 위한 메커니즘들이 일부 구현예들에 따라 구현될 수 있는 시스템의 일반화된 개략도의 예시(400)를 도시한다. 도시된 바와 같이, 시스템(400)은 하나 이상의 사용자 디바이스들(410)을 포함할 수 있다. 사용자 디바이스들(410)은 서로에 대해 국지적일 수 있거나 또는 서로 멀리 떨어져 있을 수 있다. 사용자 디바이스들(410)은 통신 링크(404)를 통해 디지털 권리 관리(DRM) 라이센스 서버(402)와 같은 서버에 링크될 수 있는 통신 네트워크(406)에 하나 이상의 통신 링크들(408)에 의해 연결될 수 있다.
시스템(400)은 하나 이상의 서버들(402)을 포함할 수 있다. 서버(402)는 프로세서, 컴퓨터, 데이터 처리 디바이스 또는 상기 디바이스들의 임의의 적절한 조합과 같은 반복되는 라이센스 갱신을 갖는 미디어 세션 동시성 관리를 위해 본 명세서에서 기술된 메커니즘들에 대한 액세스를 제공하기 위한 임의의 적절한 서버일 수 있다. 일부 구현예에서, 라이센스 요청들 및 라이센스 갱신 요청들을 처리하는 DRM 라이센스 서버(402)는 임의의 적절한 수의 서버로서 분산될 수 있다. 예를 들어, 전술한 바와 같이, 그리고 도 4에 도시된 바와 같이, 초기 라이센스를 발급하고 라이센스 갱신을 발급하는 메커니즘들은 다수의 백엔드 컴포넌트들 및 다수의 프론트엔드 컴포넌트들 및/또는 인터페이스들로 분산될 수 있다. 보다 구체적 예에서, 하나 이상의 미디어 키들로 응답할 수 있는 하나 이상의 사용자 디바이스들(410)로부터의 초기 라이센스 요청들을 처리하는 DRM 라이센스 서버(402)가 제공될 수 있고, 미디어 키의 사용의 연장 또는 취소를 표시하는 정책 데이터로 응답할 수 있는 라이센스 갱신 요청을 처리하는 하나 이상의 라이센스 갱신 서버들(420)이 제공될 수 있다. 이 예에서, 다수의 서버 디바이스들(402 및 410)를 갖는 것은, 예를 들어 미디어 키들의 검색 및 라이센스에의 미디어 키들의 통합을 포함할 수 있는 초기 라이센스 요청에 응답하는 것보다 라이센스 갱신 요청에 대한 응답을 빠르게 할 수 있다. 이는 또한 라이센스 갱신들을 처리하는 하나 이상의 라이센스 갱신 서버들(420)이 사용자 계정 데이터베이스뿐만 아니라 키 서버 또는 키 저장 디바이스로부터 분리되게 할 수 있다. 이하에서 설명되는 바와 같이, 이는 또한 시스템(400)이 라이센스 갱신들을 처리하는 다수의 서버를 포함할 수 있게 한다(예를 들어, 서버 신뢰성 및 중복성을 제공하기 위해).
일부 구현예에서, 다수의 라이센스 서버들(402 및 420)은 신뢰성을 증가시키고 및/또는 서버가 사용자 디바이스들(410)과 통신할 수 있는 속도를 증가시키기 위해 다양한 위치들에서 구현될 수 있다(예를 들어, 라이센스들 및/또는 라이센스 갱신의 통신).
일부 구현예에서, 또 다른 서버(또는 서버들의 세트)는 동시 세션들의 수를 표시하기 위해 라이센스들 및 갱신 라이센스들의 기록들을 유지할 수 있다.
라이센스 갱신들의 일부 구현은 서버들(402 및 420) 및 사용자 디바이스들(410)가 메시지를 인증하는데 사용되는 세션 키들의 공유된 지식을 요구할 수 있지만, 여기에서 설명된 메커니즘들은 이러한 키들를 계산하도록 구현될 수 있어서, 초기 라이센스를 서비스하는 서버(402)와 라이센스 갱신 요청을 서비스하는 서버(420) 둘 다는 동일한 세션 키들을 도출할 수 있고, 이들 사이의 정보를 교환할 필요없이 메시지를 인증 및 서명할 수 있다. 따라서, 라이센스 서버(402)가 초기 라이센스 요청을 서비스하는데 요구되는 인프라스트럭처에 액세스 할 수 없는 경우, 라이센스 갱신 서버(420)는 라이센스 갱신 요청들을 계속 서비스 할 수 있다. 또한, 라이센스 서버들(402 및/또는 420)은 백엔드 인프라스트럭처가 사용불가능하게 될 때와 같은 응급 모드에서 라이센스를 항상 갱신하도록 구성되어, 동시성을 검사할 수 없게 한다.
이러한 구현예에서, (예를 들어, 원래의 DRM 서버(402)가 연결될 수 없는 경우라 하더라도) 라이센스 서버가 작동하고 연결가능할 때 기존의 미디어 재생 세션은 중단되지 않을 수 있다. 따라서, 라이센스 서버 중복성을 추가하여 복원력을 높일 수 있으며, 미디어 재생 애플리케이션들은 라이센스 갱신 메시지들 또는 요청들을 처리하기 위한 다수의 URL을 포함할 수 있다. 예를 들어, 이는 미디어 재생 애플리케이션들이 서버 중단이나 실패에 대해보다 복원력있도록 할 수 있다.
일부 구현예에서, 시스템(400)은 지리 및 인프라스트럭처에 걸쳐 라이센스 갱신 서버들(420)를 배치함으로써 복원력을 더 증가시키도록 구현될 수 있다. 예를 들어, 이는 중앙 서버 또는 데이터 센터가 연결될 수 없는 경우 라이센스 갱신 요청이 처리될 확률을 높일 수 있다.
라이센스 갱신들은 미디어 키들의 사용을 연장할지 또는 취소할지 여부를 표시하는 정책 데이터를 포함하므로, 라이센스 갱신들은 초기 라이센스들보다 크기가 일반적으로 작다는 것을 유념해야 한다. 이 때문에, 라이센스 갱신 요청들은 초기 라이센스 요청들보다 서비스하는데 더 적은 리소스가 필요할 수 있다. 그 후, 라이센스 갱신 서버들(420)은 예를 들어, 주 사용자 계정 데이터베이스 뿐만 아니라 키 서버/저장소로부터 분리될 수 있다. 따라서, 라이센스 갱신 서버들(420)은 초기 라이센스 요청을 서비스하는 서버 또는 서버들(402)와 서로 다를 수 있다. 이는 예를 들어, 전체 시스템(400)의 신뢰성을 증가시킬 수 있다.
개시된 내용의 일부 구현예에서, 본 명세서에 기술된 동시성-강제 시스템(400)은 분산된 중복성을 사용하여 동시성-강제 시스템의 신뢰성을 증가 시키도록 구현될 수 있다. 그러한 구현은 상기 언급된 엄격한 시행 모드들에 놓인 사용자 계정의 사용자와 관련될 수 있다(예를 들어, 검출 전용 또는 가벼운 시행 모드에 놓인 사용자 계정은 서버 중단에 의해 악영향을 받지 않을 수 있으므로).
일부 구현예에서, 초기 라이센스 요청을 서비스하는 라이센스 서버(402)가 사용가능하지 않게 되면, 사용자 디바이스들(410)에서 실행되는 미디어 재생 애플리케이션으로부터의 초기 라이센스 요청들은 실패할 것이다(예를 들어, (503) 또는 다른 에러 메시지). 예를 들어, 미디어 재생 애플리케이션은 라이센스 서버(402가 라이센스 요청에 대한 응답을 제공할 수 없다고 표시하는 HTTP 응답 코드를 수신할 수 있다. 라이센스 요청 메시지에 대한 네트워크 및/또는 서버 장애를 검출함에 응답하여, 클라이언트 디바이스에서 실행되는 미디어 재생 애플리케이션은 대체 라이센스 서버(402)에 대한 URL(예를 들어, 라이센스 서버들의 리스트에서 다음 URL)을 사용하여 라이센스에 대한 요청을 전송할 수 있다. 상기 언급된 바와 같이, 미디어 재생 애플리케이션은 예를 들어, 한 나라, 다른 나라, 다른 대륙에 걸친 상이한 클러스터들 또는 데이터 센서를 포함하는 라이센스 서버들(402)에 대한 대체 URL들의 임의의 적절한 수를 가지는 리스트에 엑세스할 수 있다. 미디어 재생 애플리케이션은 라이센스가 수신될 때까지 하나 이상의 대체 라이센스 서버들(402)에 대한 라이센스 요청들을 계속 전송할 수 있다. 예를 들어, 미디어 재생 애플리케이션은 다음 라이센스 서버들(402)로 진행하기 전에 특정 횟수에 대해 특정 라이센스 서버(402)에 연결을 시도할 수 있다. 다른 예에서, 미디어 재생 애플리케이션은 상이한 위치에서 라이센스 서버(402)로 진행하기 전에 특정 횟수에 대해 특정 위치에서 라이센스 서버(402)에 연결을 시도할 수 있다(예를 들어, 서부 해안 기반 데이터 센서가 사용가능하지 않은 경우, 동부 해안에 위치된 라이센스 서버들(402)에 연결을 시도). 일부 구현예에서, 미디어 재생 애플리케이션은 라이센스 서버(402)가 사용가능해지고 라이센스가 수신될 때까지 이들 반복된 요청들을 수행할 수 있다는 것을 유념해야 한다.
일부 구현예에서, 라이센스 갱신 요청을 서비스하는 라이센스 갱신 서버(420)가 사용가능하지 않게 되면, 사용자 디바이스들(410)에서 실행되는 미디어 재생 애플리케이션으로부터의 라이센스 갱신 요청은 실패할 것이다(503 또는 다른 에러 메시지). 예를 들어, 미디어 재생 어플리케이션은 라이센스 갱신 서버(420)가 라이센스 갱신 요청에 대한 응답을 제공할 수 없다는 것을 표시하는 HTTP 응답 코드를 수신할 수 있다. 클라이언트 디바이스에서 실행되는 미디어 재생 애플리케이션은 라이센스 갱신 요청 메시지에 대한 네트워크 및/또는 서버 장애를 검출하는 것에 응답하여, 대체 라이센스 갱신 서버(420)에 대한 URL(예를 들어, 라이센스 갱신 서버들의 리스트에서 다음 URL)을 사용하여 라이센스 갱신에 대한 요청을 전송할 수 있다. 상기 언급된 바와 같이, 미디어 재생 애플리케이션은 예를 들어, 한 나라, 다른 나라, 다른 대륙에 걸친 상이한 클러스터들 또는 데이터 센서를 포함하는 라이센스 갱신 서버들(420)에 대한 대체 URL들의 임의의 적절한 수를 가지는 리스트에 엑세스할 수 있다. 미디어 재생 애플리케이션은 라이센스 갱신이 수신될 때까지 하나 이상의 대체 라이센스 갱신 서버들(420)에 대한 라이센스 갱신 요청들을 계속 전송할 수 있다. 예를 들어, 미디어 재생 애플리케이션은 다음 라이센스 갱신 서버들(420)로 진행하기 전에 특정 횟수에 대해 특정 라이센스 갱신 서버(420)에 연결을 시도할 수 있다. 다른 예에서, 미디어 재생 애플리케이션은 상이한 위치에서 라이센스 갱신 서버(420)로 진행하기 전에 특정 횟수에 대해 특정 위치에서 라이센스 갱신 서버(420)에 연결을 시도할 수 있다(예를 들어, 서부 해안 기반 데이터 센서가 사용가능하지 않은 경우, 동부 해안에 위치된 라이센스 갱신 서버들에 연결을 시도). 일부 구현예에서, 미디어 재생 애플리케이션은 현재 활성 라이센스의 라이센스 기간이 만료되지 않은 상태에서, 라이센스 갱신 서버(420)로부터 라이센스 갱신을 수신하기 위해 이들 시도들을 수행할 수 있다는 것을 유념해야 한다.
일부 구현예에서, 라이센스 서버(402)는 라이센스 요청을 수행하기 위해 사용자 데이터베이스 및 컨텐츠 키 스토어에 액세스함으로써 초기 라이센스 요청을 서비스하기 시작할 수 있다. 라이선스 서버 백엔드가 사용가능하지 않은 경우, 서버는 라이선스 요청을 거부한다(예를 들어, 500, 503 또는 기타 오류 메시지가 수신됨)는 것을 유념해야 한다. 라이센스 서버(402)는 라이센스 요청들 또는 동시 사용의 기록(예를 들어, 라이센스 갱신 서버(420) 또는 임의의 다른 적절한 서버의 기록(422))을 확인할 수 있다. 유사하게, 동시성 인프라스트럭처가 사용가능하지 않은 경우, 서버는 요청을 서비스하도록 선택하거나 또는 실패할 수 있다(예를 들어, 500, 503 또는 다른 에러 메시지가 수신됨)는 것을 유념해야 한다. 동시성 정보에 기초하여, 라이센스 서버(402)는 라이센스 요청을 거절하거나 서비스할 수 있다. 대안적으로, 전술된 바와 같이, 라이센스 서버(402)는 중단에 대한 오래된 라이센스들을 플래그하면서 새로운 라이센스 요청을 항상 서비스하도록 구성될 수 있다.
일부 구현예에서, 라이센스 갱신 서버(420)는 라이센스 갱신 서버 (420)내의 라이센스 기록(422)과 같은 갱신 요청들 또는 동시 사용의 기록을 확인함으로써 라이센스 갱신 요청을 서비스하기 시작할 수 있다. 세션이 중단에 대해 플래그된다면, 라이센스 서버(420) 라이센스 갱신 요청을 거부하거나 재생을 중단해야 한다는 응답을 발급할 수 있다. 이와 달리, 라이센스 갱신 서버(420)는 라이센스 갱신을 발급할 수 있다.
일부 구현예에서, 라이센스 서버(402 또는 420)가 라이센스 갱신이 발급되어야 하는지 여부를 결정하는데 사용되는 갱신 요청 또는 동시 사용의 기록 또는 임의의 다른 적절한 정보에 액세스 할 수 없는 경우(예를 들어, 기록(422)), 라이센스 서버(402 또는 420)는 응급 갱신 모드에 진입해야 하는지 여부를 결정할 수 있다. 예를 들어, 주어진 임계 값보다 큰 백엔드 서버 컴포넌트로부터의 기록에 대한 액세스에 대한 다수의 실패한 시도들에 응답하여, 라이센스 서버(402 또는 420)는 서버가 응급 갱신 모드로 들어가야 하는지를 결정할 수 있으며, 상기 검출을 로그할 수 있고, 경고들이 트리거될 수 있다. 응급 갱신 모드에서, 라이센스 서버(420)는 모든 유효한 라이센스들을 자동으로 갱신할 수 있다. 응급 갱신 모드의 일부 구현예에서, 라이센스 기간 및/또는 갱신 요청 간격은 증가될 수 있다(예를 들어, 서버 중단 또는 서버 과부하 동안 서버에 대한 갱신 메시지들을 완화시키기 위해).
다시 도 1을 참조하면, 다른 서버들이 시스템(400)에 포함될 수 있다. 예를 들어, 컨텐츠 전달 서버(430)는 미디어 컨텐츠 아이템을 제시하기 위한 요청들을 수신하고 미디어 컨텐츠 아이템을 제공할 수 있다(예를 들어, DRM 라이센스 서버(402) 또는 다른 임의의 다른 미디어 데이터를 복호화하기에 적합한 서버로부터 키들을 요구하는 암호화된 형태로). 다른 예에서, 컨텐츠 전달 서버(430)는 사용자 디바이스(410)에 의해 디스플레이되고 있는 미디어 컨텐츠에 대응하는 메타 데이터 또는 다른 정보를 제공할 수 있다.
일반적으로, 사용자 디바이스들(410)은 네트워크(406) 등과 같은 네트워크를 통해 메시지들을 수신 및 송신하고, 컨텐츠에 액세스 및/또는 재생할 수 있는 임의의 컴퓨팅 디바이스를 포함할 수 있다. 또한, 사용자 디바이스들(410)은 랩탑 컴퓨터, 스마트폰, 태블릿 컴퓨터들 등과 같은 다른 컴퓨팅 디바이스에 연결하고 정보를 수신할 수 있는 임의의 컴퓨팅 디바이스를 포함할 수 있다. 그러나, 컴퓨팅 디바이스들은 그렇게 제한되지 않으며, 셀룰러 전화기, 디스플레이 호출기, RF(radio frequency) 디바이스들, 적외선(IR) 디바이스들, PDA(Personal Digital Assistant)들, 핸드헬드 컴퓨터들, 웨어러블 컴퓨터들, 선행 디바이스들 중 하나 이상을 결합한 통합 디바이스들 등을 포함 할 수 있다. 이와 같이, 사용자 디바이스들(410)은 기능들 및 구성들의 관점에서 일반적으로 광범위하게 범위를 가진다.
일부 구현예에서, 웹-사용가능 사용자 디바이스(410)는 웹 페이지들, 웹 기반 메시지들 등을 수신하고 송신하도록 구성된 브라우저 애플리케이션을 포함할 수 있다. 브라우저 애플리케이션은 이에 한정되는 것은 아니지만 무선 애플리케이션 프로토콜 메시지 ("WAP"), Hypertext Transfer Protocol ("HTTP")등을 포함하는 실질적으로 임의의 인터넷 기반 및/또는 네트워크 기반 프로토콜을 이용하여, 그래픽, 텍스트, 멀티미디어, 미디어 컨텐츠 등을 수신하고 디스플레이하도록 구성될 수 있다. 일 구현예에서, 브라우저 애플리케이션은 메시지를 디스플레이하고 송신하기 위해 핸드 헬드 디바이스 마크업 언어("HDML"), 무선 마크업 언어(“WML”), WMLScript, 자바 스크립트, SGML(Standard Generalized Markup Language), 하이퍼텍스트 마크업 오디오 언어(“HTML”), XML(eXtensible Markup Language) 등을 이용할 수 있다. 일 구현예에서, 클라이언트 사용자의 사용자는 브라우저 애플리케이션을 이용하여 네트워크(온라인)를 통해 다양한 활동을 수행할 수 있다. 그러나 다른 애플리케이션을 사용하여 다양한 온라인 활동을 수행할 수도 있다.
사용자 디바이스들(410)은 또한 다른 컴퓨팅 디바이스 간에 컨텐츠를 수신 및/또는 송신하도록 구성된 적어도 하나의 다른 클라이언트 애플리케이션을 포함할 수 있다. 클라이언트 애플리케이션은 컨텐츠 등을 송신 및/또는 수신하는 능력을 포함할 수 있다. 클라이언트 애플리케이션은 유형, 기능, 이름 등을 포함하여 자신을 식별하는 정보를 더 제공할 수 있다. 일 구현예에서, 사용자 디바이스들(410)은 그 자신을 디바이스들의 클래스의 일부로서 식별할 수 있다. 다른 구현예에서, 사용자 디바이스 (410)는 전화 번호, 모바일 식별번호("MIN"), 전자 시리얼 번호("ESN"), 인터넷 프로토콜(IP) 주소, 네트워크 주소, 또는 다른 모바일 디바이스 식별자를 포함하는 임의의 다양한 메커니즘들을 통해 그 자신을 고유하게 식별할 수 있다. 이 정보는 또한 모바일 디바이스가 이용할 수 있는 컨텐츠 포맷을 표시할 수 있다. 이러한 정보는 다른 클라이언트 디바이스들 또는 다른 컴퓨팅 디바이스들 간에 송신되는 네트워크 패킷 등으로 제공될 수 있다. 또한, 클라이언트 디바이스와 통신하는 디바이스 내의 디바이스들 및/또는 컴포넌트는 또한 클라이언트 디바이스에 의해 사용되는 것을 포함하여, 임의의 다양한 메커니즘들을 사용하여 자신을 식별할 수 있음을 쉽게 이해해야 한다.
사용자 디바이스들(410)은 사용자가 다른 컴퓨팅 디바이스에 의해 관리될 수 있는 사용자 계정에 로그인을 할 수 있게 하는 클라이언트 애플리케이션을 포함하도록 구성될 수 있다. 하나의 비 제한적인 예에서, 그러한 사용자 계정들은 검색 활동, 소셜 네트워킹 활동, 다양한 웹 사이트 브라우징, 다른 사용자들과의 통신 등을 포함하는, 하나 이상의 온라인 활동들을 사용자가 할 수 있도록 구성될 수 있다. 일 구현예에서, 사용자의 클라이언트 디바이스는 클라이언트 디바이스에서 재생하기 위해 클라이언트 디바이스로 스트리밍된 컨텐츠를 수신할 수 있다. 그러나 온라인 활동 참여는 사용자 계정에 로그인하지 않고도 수행될 수 있다.
일부 구현예에서, 사용자 장치들(410) 및 서버들(402, 420 및 430) 각각은 컴퓨터와 같은 범용 디바이스 또는 클라이언트, 서버 등과 같은 전용 디바이스 중 임의의 것일 수 있다. 이러한 범용 또는 전용 디바이스 중 임의의 것은 하드웨어 프로세서(마이크로 프로세서, 디지털 신호 프로세서, 제어기 등일 수 있음), 메모리, 통신 인터페이스들, 디스플레이 제어기들, 입력 디바이스 등과 같은 임의의 적절한 컴포넌트들을 포함할 수 있다. 예를 들어, 사용자 디바이스(410)는 카메라를 갖는 스마트폰, 카메라를 갖는 태블릿 컴퓨터, 카메라를 갖는 웨어러블 컴퓨터, 스마트폰과 인터페이스하는 카메라 디바이스(예를 들어, 스마트폰용 카메라 동글), 디지털 카메라(포인트 앤 슈팅 카메라, DSLR 카메라, 디지털 캠코더 등), 아날로그 캠코더, 퍼스널 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 게이밍 디바이스, 디지털 미디어 수신기, 셋탑 박스, 스마트 TV, 서버, 등으로 구현될 수 있다.
통신 네트워크(406)는 인터넷, 인트라넷, 광역 네트워크(WAN), 근거리 통신망(LAN), 무선 네트워크, 디지털 가입자 회선(DSL), 프레임 릴레이 네트워크, 비동기 전송 모드(ATM) 네트워크, 가상 사설망(VPN) 등을 포함하는 임의의 적절한 컴퓨터 네트워크 또는 그러한 네트워크들의 조합일 수 있다. 통신 링크들(404, 408, 425 및 435)은 네트워크 링크, 다이얼 업 링크, 무선 링크, 유선 링크, 임의의 다른 적합한 통신 링크, 또는 그러한 링크의 임의의 적합한 조합과 같은, 사용자 디바이스들(410) 및 서버 (402, 420 및 430) 사이의 데이터 통신에 적절한 임의의 통신 링크들일 수 있다. 사용자 디바이스(410)는 또한 컨텐츠 전달 서버(430)로부터 또는 임의의 다른 적절한 소스(예를 들어, 하드 드라이브, 클라우드 스토리지, 플래시 드라이브 등)로부터 뷰어에게 비디오들을 제시하는데 사용될 수 있다. 사용자 디바이스들(410) 및 서버들(402, 420 및 430)은 임의의 적절한 위치에 배치될 수 있다.
도 5는 개시된 발명에의 일부 구현예에 따라 도 4에 도시된 서버(402)(또는 서버(420) 또는 (430)) 및 사용자 디바이스들(410) 중 하나를 구현하는데 사용될 수 있는 하드웨어의 예(500)를 도시한다. 도 5를 참조하면, 사용자 디바이스(410)는 서로 연결될 수 있는 하드웨어 프로세서(512), 디스플레이(514), 입력 디바이스(516) 및 메모리(518)을 포함할 수 있다. 일부 구현예에서, 메모리(518)는 하드웨어 프로세서(512)를 제어하기 위한 컴퓨터 프로그램을 저장하기 위한 (비일시적 컴퓨터 판독가능 매체와 같은) 저장 디바이스를 포함할 수 있다.
하드웨어 프로세서(512)는 컴퓨터 프로그램을 이용하여 디스플레이(514)에 컨텐츠 및/또는 사용자가 다른 것들 중에서 서버(430)로부터 비디오를 검색하고, 사용자로 하여금 미디어 재생 애플리케이션과 인터렉션하며, DRM 라이센스 서버(402) 또는 라이센스 갱신 서버(420)와 같은 디바이스에 의해 실행되는 반복되는 라이센스 갱신과 함께 리소스 관리를 위해 본 명세서에 기술된 메커니즘들과 인터렉션하고, 통신 링크(408)를 통해 데이터를 송신 및 수신하게 하는 인터페이스를 제시할 수 있다. 또한, 통신 링크(408) 또는 임의의 다른 통신 링크를 통해 수신된 데이터는 임의의 적절한 소스로부터 수신될 수 있다. 일부 구현예에서, 하드웨어 프로세서(512)는 예를 들어, 송신기, 수신기, 송신기/수신기, 트랜시버, 또는 임의의 다른 적절한 통신 디바이스를 사용하여 통신 링크(408) 또는 임의의 다른 통신 링크를 통해 데이터를 송신 및 수신할 수 있다. 디스플레이(514)는 평판 디스플레이, 음극선 관 디스플레이, 프로젝터, 터치 스크린, 스피커(들) 및/또는 임의의 다른 적절한 디스플레이 및/또는 프리젠테이션 디바이스일 수 있다. 입력 디바이스(516)는 컴퓨터 키보드, 컴퓨터 마우스, 마이크로폰, 터치 패드, 음성 인식 회로, 터치 스크린 및/또는 임의의 다른 적절한 입력 디바이스일 수 있다.
서버(402)(또는 서버들(420 또는 430))는 상호 연결될 수 있는 하드웨어 프로세서(522), 디스플레이(524), 입력 디바이스(526) 및 메모리(528)를 포함할 수 있다. 일부 구현예에서, 메모리(228)는 통신 링크(104)를 통해 또는 다른 링크를 통해 수신된 데이터를 저장하기 위한 저장 디바이스를 포함할 수 있다. 저장 디바이스는 하드웨어 프로세서(222)를 제어하기 위한 서버 프로그램을 더 포함할 수 있다.
하드웨어 프로세서(522)는 서버 프로그램을 이용하여 사용자 디바이스(412)와 통신할 수 있다. 또한, 통신 링크(404) 또는 임의의 다른 통신 링크를 통해 수신된 데이터는 임의의 적절한 소스로부터 수신될 수 있다는 것을 유념해야 한다. 일부 구현예에서, 하드웨어 프로세서(522)는 예를 들어 송신기, 수신기, 송신기/수신기, 트랜시버, 또는 임의의 다른 적절한 통신 디바이스를 사용하여 통신 링크(404) 또는 임의의 다른 통신 링크를 통해 데이터를 송신 및 수신할 수 있다. 일부 구현예에서, 하드웨어 프로세서(522)는 하나 이상의 사용자에 의해 전송된 명령들 및/또는 값들을 수신할 수 있다. 디스플레이(524)는 평판 디스플레이, 음극선 관 디스플레이, 프로젝터, 터치 스크린, 스피커(들) 및/또는 임의의 다른 적절한 디스플레이 및/또는 프리젠테이션 디바이스일 수 있다. 입력 디바이스(526)는 컴퓨터 키보드, 컴퓨터 마우스, 마이크로폰, 터치 패드, 음성 인식 회로, 터치 스크린 및/또는 임의의 다른 적절한 입력 장치일 수 있다.
하나의 특정 구현예에서, 본 명세서에 기술된 메커니즘은 서버 측 소프트웨어, 서버 측 하드웨어, 클라이언트 측 소프트웨어, 클라이언트 측 하드웨어, 또는 이들의 임의의 적절한 조합을 포함할 수 있다. 예를 들어, 미디어 재생 애플리케이션은 편집 애플리케이션을 실행하는 서버(402)에 의해 인식 가능한 프로그래밍 언어로 작성된 컴퓨터 프로그램을 포함할 수 있다(예를 들어, Java, C, Objective-C, C ++, C #, JavaScript, Visual Basic 또는 다른 적절한 접근 방법 등과 같은 프로그래밍 언어로 작성된 프로그램). 다른 예로서, 미디어 재생 애플리케이션은 하나 이상의 웹 페이지들 또는 웹 페이지 부분들을 포함할 수 있다(예를 들어, HTML(Hyper Text Markup Language), DHTML(Dynamic Hyper Text Markup Language), XML(Extensible Markup Language), JSP(JavaServer Pages), ASP (Active Server Pages), Cold Fusion 또는 임의의 적절한 접근 방식과 같은 임의의 적절한 인코딩을 통해).
따라서, 반복되는 라이센스 갱신들을 갖는 미디어 세션 동시성 관리를 위한 시스템들, 방법들 및 매체들이 제공된다.
일부 구현예에서, 임의의 적절한 컴퓨터 판독가능 매체가 본 명세서에서 기술된 기능들 및/또는 프로세스들을 수행하기 위한 명령어들을 저장하기 위해 사용될 수 있다. 예를 들어, 일부 구현예에서, 컴퓨터 판독가능 매체는 일시적 또는 비일시적일 수 있다. 예를 들어, 비일시적 컴퓨터 판독가능 매체는 자기 매체(하드 디스크, 플로피 디스크 등), 광학 매체(예를 들어, 콤팩트 디스크, 디지털 비디오 디스크, Blu-ray 디스크 등), 반도체 매체(예를 들어, 플래시 메모리, EPROM, EEPROM 등과 같은), 전송 중에 누출되지 않거나 영속성이 거의 없는 임의의 적절한 매체 및/또는 임의의 적절한 유형적 매체일 수 있다. 또 다른 예로서, 일시적인 컴퓨터 판독가능 매체는 네트워크에서, 와이어, 컨덕터, 광섬유, 회로, 전송 중에 누출되지 않거나 영속성이 거의 없는 임의의 적절한 매체 및/또는 임의의 적절한 무형의 매체로의 신호를 포함할 수 있다.
상기 기술된 프로세스들의 단계들은 도면에 도시되고 설명된 순서 및 시퀀스에 제한되지 않는 임의의 순서 또는 시퀀스로 실행되거나 수행될 수 있음을 이해해야 한다. 또한, 프로세스의 상기 단계 중 일부는 지연 및 처리 시간을 줄이기 위해 적절하게 또는 병렬로 실질적으로 동시에 실행되거나 수행될 수 있다.
본 명세서에서 사용되는 메커니즘이라는 용어는 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 적절한 조합을 포함할 수 있다는 것을 또한 유념해야 한다.
본 발명은 전술한 예시적인 구현예로 기술되고 도시되었지만, 본 개시는 단지 예로서 만들어졌으며, 본 발명의 구현의 세부 사항에서 많은 변화가 첨부된 청구 범위에 의해서만 제한되는 본 발명의 사상과 범위로부터 벗어나지 않고 이루어질 수 있음을 이해해야 한다. 개시된 구현예들의 구성들은 다양한 방식으로 결합되고 재배열 될 수 있다.
Claims (21)
- 동시성 검출 및 시행을 위한 시스템으로서,
메모리; 및
하드웨어 프로세서를 포함하는 적어도 하나의 서버를 포함하며, 상기 메모리에 저장된 컴퓨터 실행가능 명령어들을 실행할 때, 상기 서버는:
미디어 재생 디바이스에 제시될 미디어 컨텐츠 아이템과 관련된 미디어 컨텐츠 라이센스에 대한 요청을 수신하고, 상기 미디어 컨텐츠 라이센스에 대한 상기 요청은 사용자 계정과 연관되며;
상기 미디어 컨텐츠 라이센스에 대한 상기 요청에 응답하여, 상기 미디어 재생 디바이스에 상기 미디어 컨텐츠 아이템과 연관된 하나 이상의 키들 및 제한된 라이센스 기간과 갱신 요청 간격을 포함하는 정책을 포함하는 라이센스를 전송하고;
상기 갱신 요청 간격 이내의 시간에, 상기 미디어 재생 디바이스에서 제시되고 있는 상기 미디어 컨텐츠 아이템과 관련된 라이센스 갱신에 대한 요청을 수신하고;
상기 사용자 계정과 연관된 복수의 미디어 재생 디바이스들에 걸친 미디어 세션 동시성에 기초하여 상기 미디어 컨텐츠 아이템에 대한 상기 라이센스 갱신을 발급할지 여부를 결정하고, 상기 결정은 상기 사용자 계정에 대해 주어진 시간 기간 동안 발급된 라이센스 갱신들의 기록을 질의하는 것을 포함하며; 및
상기 사용자 계정과 연관된 라이센스 갱신들의 상기 기록에 기초하여 상기 미디어 재생 디바이스에 상기 라이센스 갱신을 전송하도록 구성되는 것을 특징으로 하는 시스템. - 청구항 1에 있어서,
상기 적어도 하나의 서버는 상기 제한된 라이센스 기간 및 상기 갱신 요청 간격 중 적어도 하나를 수정하도록 더 구성되는 것을 특징으로 하는 시스템. - 청구항 2에 있어서,
상기 수정은 상기 사용자 계정에 대해 주어진 시간 기간 동안 발급된 라이센스 갱신들의 상기 기록을 검토하고, 라이센스 갱신들의 상기 기록이 상기 사용자 계정과 연관된 상기 복수의 미디어 재생 디바이스들에 의한 라이센스 갱신 요청들의 억제(suppression)를 표시함을 결정하는 것에 응답하여 수행되는 것을 특징으로 하는 시스템. - 청구항 2에 있어서,
상기 수정은 서버 중단(outage)을 검출함에 응답하여 수행되는 것을 특징으로 하는 시스템. - 청구항 1에 있어서,
상기 라이센스 내 상기 하나 이상의 키들이 취소될 것이라는 결정에 응답하여, 상기 라이센스 갱신과 연관된 상기 제한된 라이센스 기간은 0의 기간을 가지는 것을 특징으로 하는 시스템. - 청구항 1에 있어서,
상기 적어도 하나의 서버는 중단을 위해 상기 기록 내에서 이전에 발급된 라이센스 동시적으로 표시하면서, 상기 미디어 컨텐츠 아이템에 대한 상기 제한된 라이센스 기간의 상기 라이센스를 상기 미디어 재생 디바이스에 자동적으로 전송하도록 더 구성되는 것을 특징으로 하는 시스템. - 청구항 1에 있어서, 상기 적어도 하나의 서버는:
상기 사용자 계정에 대해 상기 주어진 시간 기간 동안 발급된 라이센스 갱신들의 상기 기록을 검토하고;
상기 사용자 계정에 적용하기 위해 복수의 시행 모드들로부터 시행 모드를 결정하고; 및
상기 라이센스 갱신을 발급할 때, 상기 결정된 시행 모드를 적용하도록 더 구성되며, 상기 제한된 라이센스 기간 및 상기 갱신 요청 간격 중 적어도 하나는 조정되는 것을 특징으로 하는 시스템. - 청구항 1에 있어서,
상기 적어도 하나의 서버는 상기 미디어 재생 디바이스에서 실행되는 미디어 재생 애플리케이션에, 상기 라이센스 갱신에 대한 상기 요청을 핸들링하기 위한 복수의 라이센스 서버들의 리스트를 전송하도록 더 구성되며, 상기 미디어 재생 애플리케이션은 상기 라이센스 갱신에 대한 상기 요청을 상기 복수의 라이센스 서버들 중 제1 라이센스 서버에 전송하고, 상기 제1 라이센스 서버가 사용가능하지 않음을 검출함에 따라, 그리고 상기 라이센스의 만료 전에, 상기 미디어 컨텐츠 라이센스에 대한 상기 라이센스 갱신을 수신할 때까지 상기 복수의 라이센스 서버들 중 제2 라이센스 서버에 상기 요청을 전송하는 것을 특징으로 하는 시스템. - 청구항 1에 있어서, 상기 적어도 하나의 서버는:
상기 주어진 시간 기간 내에 상기 사용자 계정과 연관된 라이센스 갱신들의 수를 카운트함으로써 상기 라이센스 갱신을 발급할지 여부를 결정하고; 및
상기 카운트에 기초하여 상기 라이센스 갱신을 상기 미디어 재생 디바이스에 전송하도록 더 구성되는 것을 특징으로 하는 시스템. - 청구항 1에 있어서, 상기 적어도 하나의 서버는:
라이센스 갱신들의 상기 기록을 질의하는 것에 응답하여, 라이센스 갱신들의 상기 기록이 엑세스 가능하지 않다고 결정하고; 및
라이센스 갱신들의 상기 기록이 엑세스 가능하지 않다고 결정하는 것에 응답하여, 상기 라이센스 갱신을 자동적으로 발급하는 응급 갱신 모드에 진입하도록 더 구성되는 것을 특징으로 하는 시스템. - 동시성 검출 및 시행을 위한 방법으로서,
하드웨어 프로세서를 포함하는 적어도 하나의 서버를 사용하여, 미디어 재생 디바이스에 제시될 미디어 컨텐츠 아이템과 관련된 미디어 컨텐츠 라이센스에 대한 요청을 수신하는 단계, 상기 미디어 컨텐츠 라이센스에 대한 상기 요청은 사용자 계정과 연관되며;
상기 미디어 컨텐츠 라이센스에 대한 상기 요청에 응답하여, 상기 미디어 재생 디바이스에 상기 미디어 컨텐츠 아이템과 연관된 하나 이상의 키들 및 제한된 라이센스 기간과 갱신 요청 간격을 포함하는 정책을 포함하는 라이센스를 전송하는 단계;
상기 갱신 요청 간격 이내의 시간에, 상기 미디어 재생 디바이스에서 제시되고 있는 상기 미디어 컨텐츠 아이템과 관련된 라이센스 갱신에 대한 요청을 수신하는 단계;
상기 사용자 계정과 연관된 복수의 미디어 재생 디바이스들에 걸친 미디어 세션 동시성에 기초하여 상기 미디어 컨텐츠 아이템에 대한 상기 라이센스 갱신을 발급할지 여부를 결정하는 단계, 상기 결정은 상기 사용자 계정에 대해 주어진 시간 기간 동안 발급된 라이센스 갱신들의 기록을 질의하는 것을 포함하며; 및
상기 사용자 계정과 연관된 라이센스 갱신들의 상기 기록에 기초하여 상기 미디어 재생 디바이스에 상기 라이센스 갱신을 전송하는 단계를 포함하는 것을 특징으로 하는 방법. - 청구항 11에 있어서,
상기 제한된 라이센스 기간 및 상기 갱신 요청 간격 중 적어도 하나를 수정하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 청구항 12에 있어서,
상기 수정은 상기 사용자 계정에 대해 주어진 시간 기간 동안 발급된 라이센스 갱신들의 상기 기록을 검토하고, 라이센스 갱신들의 상기 기록이 상기 사용자 계정과 연관된 상기 복수의 미디어 재생 디바이스들에 의한 라이센스 갱신 요청들의 억제(suppression)를 표시함을 결정하는 것에 응답하여 수행되는 것을 특징으로 하는 방법. - 청구항 12에 있어서,
상기 수정은 서버 중단(outage)을 검출함에 응답하여 수행되는 것을 특징으로 하는 방법. - 청구항 11에 있어서,
상기 라이센스 내 상기 하나 이상의 키들이 취소될 것이라는 결정에 응답하여, 상기 라이센스 갱신과 연관된 상기 제한된 라이센스 기간은 0의 기간을 가지는 것을 특징으로 하는 방법. - 청구항 11에 있어서,
중단을 위해 상기 기록 내에서 이전에 발급된 라이센스 동시적으로 표시하면서, 상기 미디어 컨텐츠 아이템에 대한 상기 제한된 라이센스 기간의 상기 라이센스를 상기 미디어 재생 디바이스에 자동적으로 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 청구항 11에 있어서,
상기 사용자 계정에 대해 상기 주어진 시간 기간 동안 발급된 라이센스 갱신들의 상기 기록을 검토하는 단계;
상기 사용자 계정에 적용하기 위해 복수의 시행 모드들로부터 시행 모드를 결정하는 단계; 및
상기 라이센스 갱신을 발급할 때, 상기 결정된 시행 모드를 적용하는 단계를 더 포함하며, 상기 제한된 라이센스 기간 및 상기 갱신 요청 간격 중 적어도 하나는 조정되는 것을 특징으로 하는 방법. - 청구항 11에 있어서,
상기 미디어 재생 디바이스에서 실행되는 미디어 재생 애플리케이션에, 상기 라이센스 갱신에 대한 상기 요청을 핸들링하기 위한 복수의 라이센스 서버들의 리스트를 전송하는 단계, 상기 미디어 재생 애플리케이션은 상기 라이센스 갱신에 대한 상기 요청을 상기 복수의 라이센스 서버들 중 제1 라이센스 서버에 전송하고, 상기 제1 라이센스 서버가 사용가능하지 않음을 검출함에 따라, 그리고 상기 라이센스의 만료 전에, 상기 미디어 컨텐츠 라이센스에 대한 상기 라이센스 갱신을 수신할 때까지 상기 복수의 라이센스 서버들 중 제2 라이센스 서버에 상기 요청을 전송하는 것을 특징으로 하는 방법. - 청구항 11에 있어서,
상기 주어진 시간 기간 내에 상기 사용자 계정과 연관된 라이센스 갱신들의 수를 카운트함으로써 상기 라이센스 갱신을 발급할지 여부를 결정하는 단계; 및
상기 카운트에 기초하여 상기 라이센스 갱신을 상기 미디어 재생 디바이스에 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 청구항 11에 있어서,
라이센스 갱신들의 상기 기록을 질의하는 것에 응답하여, 라이센스 갱신들의 상기 기록이 엑세스 가능하지 않다고 결정하는 단계; 및
라이센스 갱신들의 상기 기록이 엑세스 가능하지 않다고 결정하는 것에 응답하여, 상기 라이센스 갱신을 자동적으로 발급하는 응급 갱신 모드에 진입하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 컴퓨터 실행가능 명령어들을 포함하는 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은 프로세서에 의한 실행시, 상기 프로세서로 하여금 동시성 검출 및 시행을 위한 방법을 수행하게 하며, 상기 방법은:
하드웨어 프로세서를 포함하는 적어도 하나의 서버를 사용하여, 미디어 재생 디바이스에 제시될 미디어 컨텐츠 아이템과 관련된 미디어 컨텐츠 라이센스에 대한 요청을 수신하는 단계, 상기 미디어 컨텐츠 라이센스에 대한 상기 요청은 사용자 계정과 연관되며;
상기 미디어 컨텐츠 라이센스에 대한 상기 요청에 응답하여, 상기 미디어 재생 디바이스에 상기 미디어 컨텐츠 아이템과 연관된 하나 이상의 키들 및 제한된 라이센스 기간과 갱신 요청 간격을 포함하는 정책을 포함하는 라이센스를 전송하는 단계;
상기 갱신 요청 간격 이내의 시간에, 상기 미디어 재생 디바이스에서 제시되고 있는 상기 미디어 컨텐츠 아이템과 관련된 라이센스 갱신에 대한 요청을 수신하는 단계;
상기 사용자 계정과 연관된 복수의 미디어 재생 디바이스들에 걸친 미디어 세션 동시성에 기초하여 상기 미디어 컨텐츠 아이템에 대한 상기 라이센스 갱신을 발급할지 여부를 결정하는 단계, 상기 결정은 상기 사용자 계정에 대해 주어진 시간 기간 동안 발급된 라이센스 갱신들의 기록을 질의하는 것을 포함하며; 및
상기 사용자 계정과 연관된 라이센스 갱신들의 상기 기록에 기초하여 상기 미디어 재생 디바이스에 상기 라이센스 갱신을 전송하는 단계를 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562194804P | 2015-07-20 | 2015-07-20 | |
US62/194,804 | 2015-07-20 | ||
US201562199211P | 2015-07-30 | 2015-07-30 | |
US62/199,211 | 2015-07-30 | ||
PCT/US2016/042976 WO2017015289A1 (en) | 2015-07-20 | 2016-07-19 | Systems, methods, and media for media session concurrency management with recurring license renewals |
US15/213,624 US10198561B2 (en) | 2015-07-20 | 2016-07-19 | Systems, methods, and media for media session concurrency management with recurring license renewals |
US15/213,624 | 2016-07-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180008716A KR20180008716A (ko) | 2018-01-24 |
KR102030645B1 true KR102030645B1 (ko) | 2019-10-10 |
Family
ID=56550425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177036286A KR102030645B1 (ko) | 2015-07-20 | 2016-07-19 | 반복되는 라이센스 갱신들을 가지는 미디어 세션 동시성 관리를 위한 시스템들, 방법들 및 매체 |
Country Status (5)
Country | Link |
---|---|
US (4) | US10198561B2 (ko) |
JP (2) | JP6522801B2 (ko) |
KR (1) | KR102030645B1 (ko) |
DE (1) | DE112016003268T8 (ko) |
WO (1) | WO2017015289A1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017004447A1 (en) * | 2015-06-30 | 2017-01-05 | Activevideo Networks, Inc. | Remotely managed trusted execution environment for digital-rights management in a distributed network with thin clients |
US10198561B2 (en) | 2015-07-20 | 2019-02-05 | Google Llc | Systems, methods, and media for media session concurrency management with recurring license renewals |
US10178421B2 (en) * | 2015-10-30 | 2019-01-08 | Rovi Guides, Inc. | Methods and systems for monitoring content subscription usage |
JP6904721B2 (ja) * | 2017-02-14 | 2021-07-21 | キヤノン株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US11061995B2 (en) * | 2017-03-30 | 2021-07-13 | Optim Corporation | Computer system, license management method and program |
JP6922602B2 (ja) * | 2017-09-25 | 2021-08-18 | 株式会社リコー | 情報処理システム、情報処理装置及び情報処理方法 |
US11115695B2 (en) | 2017-11-16 | 2021-09-07 | Google Llc | Using machine learning and other models to determine a user preference to cancel a stream or download |
US20190156445A1 (en) * | 2017-11-22 | 2019-05-23 | General Electric Company | Application store for dynamically implementing licensing scheme |
US10708379B1 (en) * | 2017-11-22 | 2020-07-07 | Amazon Technologies, Inc. | Dynamic proxy for databases |
US11397793B2 (en) * | 2019-12-03 | 2022-07-26 | Microsoft Technology Licensing, Llc | Delivering digital content for an application |
US11606590B2 (en) | 2021-03-03 | 2023-03-14 | Google Llc | Systems and methods to deliver content during client authentication process in a distributed computing system |
US11568026B1 (en) * | 2021-07-23 | 2023-01-31 | Adobe Inc. | Utilizing encrypted digital communications to dynamically secure digital rights licensing during authentication system disruptions |
US12039057B2 (en) * | 2021-12-03 | 2024-07-16 | Paypal, Inc. | Implementing a cryptography agent and a secure hardware-based enclave to prevent computer hacking of client applications |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070150418A1 (en) * | 2005-12-27 | 2007-06-28 | Microsoft Corporation | Software licensing using certificate issued by authorized authority |
JP2014115883A (ja) * | 2012-12-11 | 2014-06-26 | Nec Casio Mobile Communications Ltd | 端末装置、コンテンツ利用システム、ライセンス管理方法及びプログラム |
US20140189346A1 (en) * | 2012-12-28 | 2014-07-03 | Next Education, Llc | License server manager |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5023907A (en) * | 1988-09-30 | 1991-06-11 | Apollo Computer, Inc. | Network license server |
US6799277B2 (en) * | 1998-06-04 | 2004-09-28 | Z4 Technologies, Inc. | System and method for monitoring software |
US6499110B1 (en) * | 1998-12-23 | 2002-12-24 | Entrust Technologies Limited | Method and apparatus for facilitating information security policy control on a per security engine user basis |
WO2001092993A2 (en) * | 2000-06-02 | 2001-12-06 | Vigilant Systems, Inc. | System and method for licensing management |
US7330717B2 (en) * | 2001-02-23 | 2008-02-12 | Lucent Technologies Inc. | Rule-based system and method for managing the provisioning of user applications on limited-resource and/or wireless devices |
JP2002271316A (ja) * | 2001-03-13 | 2002-09-20 | Sanyo Electric Co Ltd | 再生装置 |
JP3992954B2 (ja) * | 2001-09-27 | 2007-10-17 | 富士通エフ・アイ・ピー株式会社 | ライセンス管理方法,ライセンス管理サーバ,ライセンス管理プログラム及び記録媒体 |
SE524778C2 (sv) * | 2002-02-19 | 2004-10-05 | Douglas Lundholm | Förfarande och arrangemang för att skydda mjukvara för otillbörlig användning eller kopiering |
US20040167859A1 (en) * | 2003-02-14 | 2004-08-26 | Richard Mirabella | Software license management system configurable for post-use payment business models |
US20050028153A1 (en) * | 2003-07-31 | 2005-02-03 | Anderson Glen J. | Method and system for replacing fee-based software |
US7801819B2 (en) * | 2003-10-03 | 2010-09-21 | Sony Corporation | Rendering rights delegation system and method |
JP2005197804A (ja) * | 2003-12-26 | 2005-07-21 | Victor Co Of Japan Ltd | ストリーミング配信サーバ |
US20050289072A1 (en) * | 2004-06-29 | 2005-12-29 | Vinay Sabharwal | System for automatic, secure and large scale software license management over any computer network |
US9161231B2 (en) * | 2004-10-14 | 2015-10-13 | Alcatel Lucent | Method and system for wireless networking using coordinated dynamic spectrum access |
US20060085648A1 (en) * | 2004-10-16 | 2006-04-20 | International Business Machines Corp. | Autonomic removal of a user from a client and network |
US20100004938A1 (en) * | 2004-12-30 | 2010-01-07 | Abb Ab | Software licensing system |
US7865663B1 (en) * | 2007-02-16 | 2011-01-04 | Vmware, Inc. | SCSI protocol emulation for virtual storage device stored on NAS device |
US20090089864A1 (en) * | 2007-09-28 | 2009-04-02 | Nokia Corporation | Remote management of telecommunications network element during license expire and renewal period |
US8924998B2 (en) | 2007-11-16 | 2014-12-30 | Thomson Licensing | System and method for session management of streaming media |
CN101533453A (zh) | 2008-03-11 | 2009-09-16 | 英业达股份有限公司 | 软件认证的远端更新方法 |
US20090254482A1 (en) * | 2008-04-07 | 2009-10-08 | Microsoft Corporation | Time-based licenses |
KR101062182B1 (ko) * | 2008-09-09 | 2011-09-05 | 삼성전자주식회사 | 권한 객체 자동 갱신 방법 및 장치 |
CN101369303B (zh) | 2008-10-13 | 2010-12-08 | 金蝶软件(中国)有限公司 | 控制并发用户数的方法及系统 |
CN102340521A (zh) | 2010-07-14 | 2012-02-01 | 中国联合网络通信集团有限公司 | 许可证获取方法、媒体内容播放方法及用户终端 |
JP5652036B2 (ja) | 2010-07-29 | 2015-01-14 | ソニー株式会社 | 通信システム、通信装置及び通信方法、並びにコンピューター・プログラム |
US20120166796A1 (en) * | 2010-12-28 | 2012-06-28 | Motorola Solutions, Inc. | System and method of provisioning or managing device certificates in a communication network |
US8239546B1 (en) | 2011-09-26 | 2012-08-07 | Unicorn Media, Inc. | Global access control for segmented streaming delivery |
US8893261B2 (en) * | 2011-11-22 | 2014-11-18 | Vmware, Inc. | Method and system for VPN isolation using network namespaces |
US8959605B2 (en) * | 2011-12-14 | 2015-02-17 | Apple Inc. | System and method for asset lease management |
CN102546660A (zh) | 2012-02-21 | 2012-07-04 | 北京国泰信安科技有限公司 | 支持动态安全许可授权的数字版权保护方法 |
US9336361B2 (en) * | 2013-03-14 | 2016-05-10 | Arris Enterprises, Inc. | Feature license-related repair/replacement processes and credit handling |
US10108788B2 (en) | 2013-09-10 | 2018-10-23 | Netflix, Inc. | Fast-expiring licenses used to speculatively authorize access to streaming media content |
US10198561B2 (en) * | 2015-07-20 | 2019-02-05 | Google Llc | Systems, methods, and media for media session concurrency management with recurring license renewals |
-
2016
- 2016-07-19 US US15/213,624 patent/US10198561B2/en active Active
- 2016-07-19 JP JP2017564887A patent/JP6522801B2/ja active Active
- 2016-07-19 DE DE112016003268.4T patent/DE112016003268T8/de active Active
- 2016-07-19 WO PCT/US2016/042976 patent/WO2017015289A1/en active Application Filing
- 2016-07-19 KR KR1020177036286A patent/KR102030645B1/ko active IP Right Grant
-
2019
- 2019-02-04 US US16/266,561 patent/US10552587B2/en active Active
- 2019-04-24 JP JP2019082970A patent/JP6790169B2/ja active Active
-
2020
- 2020-02-03 US US16/780,347 patent/US11604856B2/en active Active
-
2022
- 2022-11-01 US US17/978,454 patent/US12072958B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070150418A1 (en) * | 2005-12-27 | 2007-06-28 | Microsoft Corporation | Software licensing using certificate issued by authorized authority |
JP2014115883A (ja) * | 2012-12-11 | 2014-06-26 | Nec Casio Mobile Communications Ltd | 端末装置、コンテンツ利用システム、ライセンス管理方法及びプログラム |
US20140189346A1 (en) * | 2012-12-28 | 2014-07-03 | Next Education, Llc | License server manager |
Also Published As
Publication number | Publication date |
---|---|
US12072958B2 (en) | 2024-08-27 |
DE112016003268T5 (de) | 2018-04-12 |
JP2019194854A (ja) | 2019-11-07 |
JP2018521407A (ja) | 2018-08-02 |
JP6522801B2 (ja) | 2019-05-29 |
US20190180004A1 (en) | 2019-06-13 |
US10198561B2 (en) | 2019-02-05 |
US20230045822A1 (en) | 2023-02-16 |
US10552587B2 (en) | 2020-02-04 |
WO2017015289A1 (en) | 2017-01-26 |
US20200184040A1 (en) | 2020-06-11 |
US11604856B2 (en) | 2023-03-14 |
DE112016003268T8 (de) | 2018-05-24 |
US20170024548A1 (en) | 2017-01-26 |
JP6790169B2 (ja) | 2020-11-25 |
KR20180008716A (ko) | 2018-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102030645B1 (ko) | 반복되는 라이센스 갱신들을 가지는 미디어 세션 동시성 관리를 위한 시스템들, 방법들 및 매체 | |
US10979468B2 (en) | Limiting key request rates for streaming media | |
US11233791B2 (en) | Methods, systems, and media for authentication of user devices to a display device | |
US8862754B2 (en) | Global access control for segmented streaming delivery | |
US8751800B1 (en) | DRM provider interoperability | |
US9258207B2 (en) | System and method for detecting active streams using a heartbeat and secure stop mechanism | |
US20110197237A1 (en) | Controlled Delivery of Content Data Streams to Remote Users | |
US20190280865A1 (en) | Systems and methods for secure storage and transmission of a data stream | |
US10031812B2 (en) | Method and apparatus for subscriber management | |
US9800635B2 (en) | System for selectively displaying information in a secured manner and method thereof | |
CN107743623B (zh) | 用于具有循环许可证更新的媒体会话并发管理的系统、方法和介质 | |
KR101860129B1 (ko) | 플레이어의 보안 장치 및 이를 포함하는 스트리밍 보안 시스템 | |
KR102338850B1 (ko) | 홈 네트워크에서 콘텐츠 공유를 위한 동작 방법 및 시스템 | |
JP2012108739A (ja) | ディジタル動画アクセス制御システムおよびプログラム | |
US11044505B2 (en) | Digital rights management for cinema systems |
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 |