KR102157107B1 - 멀티 디바이스의 보안 애플리케이션 통합을 갖춘 컨텐츠 공급자 - Google Patents

멀티 디바이스의 보안 애플리케이션 통합을 갖춘 컨텐츠 공급자 Download PDF

Info

Publication number
KR102157107B1
KR102157107B1 KR1020207000489A KR20207000489A KR102157107B1 KR 102157107 B1 KR102157107 B1 KR 102157107B1 KR 1020207000489 A KR1020207000489 A KR 1020207000489A KR 20207000489 A KR20207000489 A KR 20207000489A KR 102157107 B1 KR102157107 B1 KR 102157107B1
Authority
KR
South Korea
Prior art keywords
application
content
implementations
supplemental
access
Prior art date
Application number
KR1020207000489A
Other languages
English (en)
Other versions
KR20200015724A (ko
Inventor
마티야스 로버트 아렐리드
미카엘 구스타브 올렌팔크
Original Assignee
스포티파이 에이비
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 스포티파이 에이비 filed Critical 스포티파이 에이비
Publication of KR20200015724A publication Critical patent/KR20200015724A/ko
Application granted granted Critical
Publication of KR102157107B1 publication Critical patent/KR102157107B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

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

Abstract

컨텐츠에 액세스를 제공하는 방법 및 시스템이 개시되어 있다. 상기 방법은 프로세서 및 메모리를 갖는 클라이언트 컴퓨터 시스템에서 적어도 부분적으로 수행된다. 상기 방법은 제 1 당사자에 대한 호스트 애플리케이션을 실행하는 단계를 포함한다. 몇몇 구현에서, 호스트 애플리케이션은 미디어 플레이어이다. 상기 방법은 제 1 당사자에 대한 서버 및 호스트 애플리케이션 간에 보안통신채널을 개시하는 단계를 더 포함한다. 상기 방법은 제 2 당사자에 대한 보충 애플리케이션을 실행하는 단계를 더 포함한다. 상기 방법은. 상기 보충 애플리케이션으로, 제 1 당사자에 라이센스된 컨텐츠에 액세스하는 단계를 더 포함하고, 상기 라이센스된 컨텐츠는 라이센스 동의 조건 하에서 상기 보안통신채널을 통해 보충 애플리케이션에 액세스할 수 있다. 몇몇 구현에서, 컨텐츠는 음악, 영화, 등과 같은 미디어 컨텐츠이다.

Description

멀티 디바이스의 보안 애플리케이션 통합을 갖춘 컨텐츠 공급자{CONTENT PROVIDER WITH MULTI-DEVICE SECURE APPLICATION INTEGRATION}
개시된 구현들은 일반적으로 미디어 컨텐츠를 제어하고 재생하는 것에 관한 것이다.
음악, 영화 등과 같은 디지털 컨텐츠의 소유자 및 제작자들을 만족시키기 위해, 디지털 컨텐츠 유통은 많은 상업적 기술적 세이프가드를 필요로 한다. 디지털 컨텐츠 공급자는 이들 애플리케이션들이 보호된 컨텐츠를 불법적으로 복제, 디스플레이 또는 유통시키면 안 되니까 비인가 컴퓨터 프로그램이 그들의 컨텐츠에 액세스하는 것을 막기 위한 조치를 취해야 한다. 더욱이, 합법적 컨텐츠 공급자들은 종종 컨텐츠 소유자 및/또는 공급자(가령, 아티스트, 음반회사, 영화 제작사 등)로부터 컨텐츠를 라이센스하고, 라이센스 조건은 대표적으로 라이센스된 컨텐츠가 저작권침해(pirating)로부터 보호되도록 적절한 세이프가드가 이용되는 것을 필요로 한다. 따라서, 이런 컨텐츠의 유통은 종종 디지털 저작권 관리(digital rights management, DRM) 도구를 이용해 그들의 컨텐츠의 복제 및 기록을 방지한다. 그러나, 컨텐츠 공급자 및 컨텐츠 소유자/공급자 간의 엄격한 라이센스 조건과 DRM 기술은 종종 합법적 컨텐츠 공급자가 빠르고, 편리하며 유비쿼터스 액세스를 그들의 컨텐츠 카탈로그에 제공하는 것을 방해한다.
본 명세서에 개시된 아이디어는 이들 문제들을 완화시키게 돕고, 합법적 컨텐츠 공급자가 사용자 및 제 3 자에 라이센스된 디지털 컨텐츠를 제공하는 방식을 확장하게 한다.
몇몇 구현들은 컨텐츠에 액세스를 제공하기 위한 컴퓨터 구현 방법을 제공한다. 상기 방법은 프로세서와 메모리가 있는 클라이언트 컴퓨터에서 적어도 부분적으로 수행된다. 상기 방법은 제 1 당사자에 대한 호스트 애플리케이션을 실행하는 실행하는 것을 포함한다. 상기 방법은 호스트 애플리케이션과 제 1 당사자에 대한 서버 간에 보안통신채널을 개시하는 것을 더 포함한다. 상기 방법은 제 2 당사자에 대한 보충 애플리케이션을 실행하는 것을 더 포함한다. 상기 방법은 보충 애플리케이션으로 제 1 당사자에 라이센스된 컨텐츠에 액세스하는 것을 더 포함하며, 상기 라이센스된 컨텐츠는 라이센싱 동의 조건 하에서 안전한 통신채널을 통해 보충 애플리케이션에 액세스할 수 있다.
몇몇 구현에서, 보충 애플리케이션은 호스트 애플리케이션의 기능을 확장한다. 몇몇 구현에서, 보충 애플리케이션은 호스트 애플리케이션에 대한 플러그-인이다. 몇몇 구현에서, 호스트 애플리케이션은 미디어 플레이어 애플리케이션이다. 몇몇 실시예에서, 보충 애플리케이션은 호스트 애플리케이션과 함께 사용을 위해 제 1 당사자에 의해 인가된다. 몇몇 구현에서, 서버는 제 2 클라이언트 컴퓨터 시스템이다.
몇몇 구현에서, 라이센스된 컨텐츠는 복수의 오디오 파일들을 포함한다. 몇몇 구현에서, 라이센스된 컨텐츠에 액세스하는 단계는 보충 애플리케이션에 의해 제공된 어포던스(affordance)를 통해 복수의 오디오 파일들 중 하나의 재생을 개시하는 단계를 포함한다. 몇몇 구현에서, 라이센스된 컨텐츠에 액세스하는 단계는 서버로부터 클라이언트 컴퓨터 시스템으로 오디오 파일을 스트리밍하는 단계를 포함한다.
몇몇 구현에서, 라이센스된 컨텐츠는 복수의 비디오 파일들을 포함한다. 몇몇 구현에서, 라이센스된 컨텐츠에 액세스하는 단계는 보충 애플리케이션에 의해 제공된 어포던스를 통해 복수의 비디오 파일들 중 하나의 재생을 개시하는 단계를 포함한다. 몇몇 구현에서, 라이센스된 컨텐츠에 액세스하는 단계는 서버로부터 클라이언트 컴퓨터 시스템으로 비디오 파일을 스트리밍하는 단계를 더 포함한다.
몇몇 구현에서, 보충 애플리케이션은 호스트 애플리케이션의 하나 이상의 애플리케이션 프로그래밍 인터페이스를 통해 호스트 애플리케이션 및 제 1 당사자 중 하나 또는 모두의 서비스들에 액세스한다.
몇몇 구현에서, 라이센스된 컨텐츠는 호스트 애플리케이션과 별개로 실행되는 애플리케이션에 이용될 수 없다. 몇몇 구현에서, 보안통신채널은 호스트 애플리케이션과 별개로 실행되는 애플리케이션에 액세스될 수 없다. 몇몇 구현에서, 호스트 애플리케이션은 운영 시스템내에 실행된다. 몇몇 구현에서, 보충 애플리케이션은 호스트 애플리케이션과 함께 서만 실행될 수 있다. 몇몇 구현에서, 라이센스 동의는 호스트 애플리케이션과 별개로 클라이언트 컴퓨터 시스템에 실행되는 애플리케이션이 라이센스된 컨텐츠에 액세스하는 것을 허용하지 않는다.
몇몇 구현에서, 보안통신채널은 하이퍼텍스트 전송규약(Hypertext Transfer Protocol Secure, HTTPS)을 이용한다. 몇몇 구현에서, 보안통신채널은 암호화 기술을 이용한다. 몇몇 구현에서, 보안통신채널을 개시하는 단계는 서버를 인증하는 단계를 포함한다.
몇몇 구현은 컨텐츠에 액세스를 제공하는 컴퓨터 구현 방법을 제공한다. 상기 방법은 프로세서와 메모리를 갖는 클라이언트 컴퓨터 시스템에서 적어도 부분적으로 수행된다. 상기 방법은 호스트 애플리케이션을 실행하는 단계를 포함한다. 상기 방법은 보충 애플리케이션을 실행하는 단계를 더 포함한다. 상기 방법은, 상기 보충 애플리케이션으로, 호스트 애플리케이션의 공급자와 하나 이상의 컨텐츠 소유자들 간의 라이센스에 동의된 컨텐츠에 액세스하는 단계를 포함하고, 상기 라이센스된 컨텐츠는 라이센스 동의 조건 하에서 보충 애플리케이션에 액세스할 수 있다.
몇몇 구현은 애플리케이션 사용권한을 다루는 컴퓨터 구현 방법을 제공한다. 상기 방법은 프로세서와 메모리를 갖는 클라이언트 컴퓨터 시스템에서 적어도 부분적으로 수행된다. 상기 방법은 호스트 애플리케이션을 실행하는 단계를 포함한다. 상기 방법은, 사용자로부터, 보충 애플리케이션에 대한 요청을 수신하는 단계를 더 포함한다. 상기 방법은 제 1 세트의 사용권한을 이용해 호스트 애플리케이션과 함께 보충 애플리케이션을 실행하는 단계를 더 포함한다. 상기 방법은 사용자가 보충 애플리케이션을 승인한 것을 감지하는 단계를 더 포함한다. 상기 방법은, 감지에 응답해, 보충 애플리케이션과 제 2 세트의 사용권한을 연결짓는 단계 및 제 2 세트의 사용권한을 이용해 보충 애플리케이션을 실행하는 단계를 더 포함한다. 몇몇 구현에서, 상기 방법은 플러그-인으로서 보충 애플리케이션을 호스트 애플리케이션에 설치하는 단계를 더 포함한다.
몇몇 구현에서, 제 1 세트의 사용권한은 보충 애플리케이션에 사용자의 계정에 대한 데이터에 대한 읽기전용 액세스를 승낙한다. 몇몇 구현에서, 제 1 세트의 사용권한은 보충 애플리케이션에 사용자의 계정에 대한 재생목록 및 컨텐츠 히스토리 데이터를 읽게 승낙한다.
몇몇 구현에서, 제 2 세트의 사용권한은 보충 애플리케이션에 사용자 계정에 대한 데이터에 읽기/쓰기 액세스를 승낙한다. 몇몇 구현에서, 제 2 세트의 사용권한은 보충 애플리케이션에 사용자 계정에 대한 재생목록을 생성 및 변경하게 승낙한다.
몇몇 구현에서, 상기 방법은 보충 애플리케이션이 제 1 클라이언트 컴퓨터 상에 사용자에 의해 설치된 것을 나타내기 위해 사용자와 관련된 계정 정보를 업데이트하는 단계를 더 포함한다. 몇몇 구현에서, 상기 방법은 보충 애플리케이션에 적용되는 사용권한을 나타내기 위해 사용자에 대한 계정 정보를 업데이트하는 단계를 더 포함한다.
몇몇 구현에서, 상기 방법은 제 2 클라이언트 컴퓨터에서 하기의 단계:
제 2 호스트 애플리케이션을 실행하는 단계;
사용자에 대한 계정 정보로부터, 보충 애플리케이션이 제 1 클라이언트 컴퓨터에 설치되었고, 상기 보충 애플리케이션에 사용권한이 적용되었는지 판단하는 단계;
제 2 클라이언트 컴퓨터에 보충 애플리케이션을 설치하는 단계; 및
판단된 사용권한을 이용해 보충 애플리케이션을 실행하는 단계를 수행하는 것을 더 포함한다.
몇몇 구현은 자원에 액세스를 승인하는 컴퓨터 구현 방법을 제공한다. 상기 방법은 프로세서와 메모리를 갖는 클라이언트 컴퓨터 시스템에서 적어도 부분적으로 수행된다. 상기 방법은 호스트 애플리케이션과 함께 실행하기 위한 보충 애플리케이션을 수신하는 단계를 포함하고, 상기 호스트 애플리케이션은 상기 호스트 애플리케이션의 공급자와 컨텐츠 아이템의 소유자 간의 라이센스에 동의된 라이센스된 컨텐츠 아이템들에 액세스를 제공한다. 상기 방법은 상기 보충 애플리케이션에 대한 인증파일을 수신하는 단계를 더 포함한다. 상기 방법은 호스트 애플리케이션에 대한 자원에 액세스하기 위한 요청을 감지하는 단계를 더 포함한다. 상기 방법은, 상기 승인파일을 이용해, 보충 애플리케이션이 자원에 액세스하도록 승인되는지 판단하는 단계를 더 포함한다. 상기 방법은 보충 애플리케이션이 자원에 액세스하도록 승인된 경우, 자원에 액세스를 제공하는 단계; 및 보충 애플리케이션이 자원에 액세스하도록 승인되지 않은 경우, 자원에 액세스를 제공하지 않는 단계를 더 포함한다.
몇몇 구현에서, 자원에 액세스하기 위한 요청은 보충 애플리케이션에서 나온다. 몇몇 구현에서, 자원에 액세스하기 위한 요청은 라이센스된 컨텐츠 아이템들 중 적어도 하나에 대한 요청이다. 몇몇 구현에서, 라이센스된 컨텐츠 아이템들 중 적어도 하나는 클라이언트 컴퓨터 시스템으로부터 원격의 서버에 저장된다. 몇몇 구현에서, 자원에 액세스하기 위한 요청은 호스트 애플리케이션의 애플리케이션 프로그래밍 인터페이스에 액세스하기 위한 요청이다. 몇몇 구현에서, 인증파일이 암호화된다. 몇몇 구현에서, 인증파일이 암호로 서명된다.
몇몇 구현에 따르면, 전자 디바이스에 의해, 본 명세서에 기술된 방법들 중 어느 하나를 수행하기 위한 명령어들을 포함한 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로그램들을 저장하는 컴퓨터 저장매체(가령, 비일시적 컴퓨터 판독가능 저장매체)가 제공된다.
몇몇 구현에 따르면, 본 명세서에 기술된 방법들 중 어느 하나를 수행하기 위한 수단들을 포함한 전자 디바이스가 제공된다.
몇몇 구현에 따르면, 본 명세서에 기술된 방법들 중 어느 하나를 수행하도록 구성된 처리유닛을 구비한 전자 디바이스가 제공된다.
몇몇 구현에 따르면, 하나 이상의 프로세서들; 및 상기 하나 이상의 프로세스들에 의한 실행을 위해 본 명세서에 기술된 방법들 중 어느 하나를 수행하기 위한 명령어들을 포함한 하나 이상의 컴퓨터 프로그램들을 저장하는 메모리를 포함한 전자 디바이스가 제공된다.
몇몇 구현에 따르면, 전자 디바이스에 사용하기 위해 본 명세서에 기술된 방법들 중 어느 하나를 수행하기 위한 수단을 포함한 정보처리장치가 제공된다.
본 발명의 내용 중에 포함되어 있다.
첨부도면에서 본 명세서에 개시된 구현들은 제한하는 식이 아니라 단지 예로써 도시되어 있다. 동일한 참조부호는 도면 전체에 걸쳐 일치하는 부분을 말한다.
도 1은 몇몇 구현에 따른 서버 클라이언트 환경을 도시한 블록도이다.
도 2는 몇몇 구현에 따라 컨텐츠에 액세스를 제공하는 방법을 도시한 흐름도이다.
도 3a 및 도 3b는 몇몇 구현에 따라 애플리케이션 허용을 다루기 위한 방법을 도시한 흐름도이다.
도 4는 몇몇 구현에 따라 자원에 액세스를 인가하는 방법을 도시한 흐름도이다.
도 5는 몇몇 구현에 따른 클라이언트 컴퓨터 시스템을 도시한 블록도이다.
도 6 및 도 7은 몇몇 구현에 따른 서버 컴퓨터 시스템을 도시한 블록도이다.
전자 디바이스들을 이용하는 미디어 소비가 더욱더 인기를 얻는다. 사용자는 랩탑 컴퓨터, 태블릿 컴퓨터, mp3 및 기타 디지털 미디어 플레이어, 휴대폰 등과 같은 디바이스에서 음악, 영화, 텔레비전 방송, 팟캐스트, 등을 점점더 소비하고 있다. 미디어 컨텐츠는 이들 디바이스에 다양한 다른 방식들로 전달될 수 있다. 예컨대, 많은 방송 공급자들(가령, 라디오 방송국, 텔레비전 네트워크들)은 인터넷을 통해 그들의 방송 프로그램에 대한 액세스를 제공한다. 사용자는 이들 공급자들과 관련된 웹페이지에 네비게이트해서 (또는 전용 소프트웨어 및/또는 하드웨어를 이용해서) 실시간으로 컨텐츠에 액세스할 수 있다. 또 다른 컨텐츠 유통모델로, 사용자는 온라인 시장으로부터 미디어 컨텐츠 아이템들을 구매해, 좋아하는 기간만큼 컨텐츠 아이템을 저장할 수 있다. 예컨대, 사용자는 오디오 트랙, 영화, 오디오 북, 등을 그의 컴퓨터에 직접 다운로드하는 대신 제 3 자에 지불할 수 있다. 이런 경우, 컨텐츠 아이템은 지불될 수 있거나 그렇지 않으면 컨텐츠 아이템의 판매자가 공급하지 않거나 컨텐츠 아이템의 판매자와 관련없는 아이템들이더라도 다양한 컴퓨터 애플리케이션에 의해 액세스될 수 있다. 예컨대, 일단 노래가 컴퓨터에 다운로드되면, 그 노래는 상기 컴퓨터 상에 지불될 수 있거나 또 다른 디바이스(가령, 스마트폰, 다른 컴퓨터 등)에 전달될 수 있다. 이들 컨텐츠 유통방법은 많은 측면에서 방송 미디어 및 브릭앤모르타르(brick-and-mortar) 시장의 더 많은 종래 컨텐츠 유통채널들과 유사하다.
또 다른 컨텐츠 유통모델은 컨텐츠-아이템 단위 기반으로 사용자에 청구하지 않고 컨텐츠의 카탈로그에 온디맨드(on-demand) 액세스를 제공한다. 이런 서비스들은 가령 요금(가령, 컨텐츠의 전체 카탈로그에 액세스하는 대신의 이용료)을 받거나, "무료"(가령, 수익 또는 또 다른 수익원을 광고함으로써 지원됨)이거나, 또는 이들의 조합(가령, 무제한 서비스에 대해 다른 이들이 지불하는 요금으로 제한적 무료 서비스가 지원되는 경우)으로 제공될 수 있다. 그러나, 이런 타입의 유통모델들은 실행하기 어려운데, 이는 컨텐츠 공급자와 컨텐츠 소유자 및 제작자(가령, 아티스트, 음반회사, 영화 제작사, 텔레비전 네트워크, 등) 간에 필요한 라이센스 동의에 협상하는데 상당한 시간과 노력과 돈이 들기 때문이다. 특히, 사용자가 아이템마다 지불하지 않기 때문에, 로얄티 지불이 다소 종래와 다르다. 더욱이, 이들 라이센스 동의는 대표적으로 컨텐츠가 비인가 액세스 및 복제로부터 보호되는 것을 필요로 한다. 이는 종종 비인가 사용자, 애플리케이션, 및/또는 디바이스가 컨텐츠에 액세스하는 것을 막는 디지털 저작권 관리("DRM") 기술의 이용을 통해 달성된다. 예컨대, 음악 컨텐츠 공급자는 사용자가 음악 컨텐츠를 브라우즈해서 들어볼 뿐만 아니라 재생목록을 만들고, 친구 등과 음악 제안을 공유하는 등등을 할 수 있는 전용 미디어 브라우저 및/또는 플레이어 애플리케이션을 제공할 수 있다. (유사한 애플리케이션들이 오디오(가령, 팟캐스트, 음악, 스포큰 워드(spoken word), 라디오 방송, 등), 비디오(가령, 영화, 텔레비전 방송, 이용자 제작 동영상(user-generated videos), 애니메이션 등), 이미지 또는 이런 컨텐츠 타입의 다양한 조합들과 같이 다른 컨텐츠를 또한 브라우징하고 표현하게 제공될 수 있다). 상기 컨텐츠는 컨텐츠 공급자가 제공한 특정 애플리케이션에 의해 액세스될 수 있기 때문에, 컨텐츠의 불법 복제 및 유통이 방지되거나 최소한 저지된다.
그러나 컨텐츠에 대한 액세스 제한은 결국 사용자가 컨텐츠와 인터랙트하고 소비할 수 있는 방식을 제한할 것이다. 특히, 컨텐츠 공급자는 컨텐츠 소비시 사용자 체험을 강화할 수 있는 다른, 독특한, 관심있는 특징 및 기능들 모두를 포함하는 능력 또는 바람을 가질 수 없다. 소비자에게 광범위하고 독특한 특징 및 기능을 또한 제공하면서 컨텐츠 라이센스 동의 조건을 만족시키기 위해, 본 출원은 보충 애플리케이션들에 대한 플랫폼으로서 역할하는 호스트 애플리케이션을 기술한다. 보충 애플리케이션은 호스트 애플리케이션이 이미 제공한 특징 및 기능을 확장 및/또는 보충할 수 있다. 호스트 애플리케이션의 한가지 예는 사용자가 음악을 브라우징하고 재생할 뿐만 아니라 재생목록을 만들고 편집하고 공유하게 하는 미디어 플레이어/브라우저이다. 보충 애플리케이션은, 호스트 애플리케이션에 의해 재생되는 노래 가사를 디스플레이하고, 재생목록의 공동 큐레이션을 가능하게 하며, (소개되는 트랙의 아티스트에 대한 정보처럼) 다른 정보에 대한 액세스 및 표현을 가능하게 하는 등과 같이, 다른 특징들을 제공하기 위해 호스트 애플리케이션과 함께 설치 및/또는 실행될 수 있다. 물론, 아래에 언급된 바와 같이, 다른 보충 애플리케이션 및 호스트 애플리케이션도 또한 고려된다.
몇몇 구현에서, 호스트 애플리케이션은 컨텐츠 공급자에 의해 생성 및/또는 제공되는 반면, 보충 애플리케이션은 컨텐츠 공급자 또는 다른 엔티티를 포함한 임의의 엔티티에 의해 생성 및/또는 제공된다. 이 방식의 한가지 이점은 컨텐츠 생산자와의 라이센스 동의에 의해 미디어 컨텐츠에 액세스를 제공하도록 허용된 컨텐츠 공급자가 다른 개발자의 창의성 및 독창성을 최대로 끌어내어 그 사용자들에 새롭고 재미있는 사용자 경험을 제공할 수 있다는 것이다. 그 대신, 개발자는 그렇지 않으면 액세스할 수 없었을 시청자 및 컨텐츠 카탈로그에 액세스할 수 있다. 예컨대, 음악 리뷰 및 해설을 제공하는 것으로 잘 알려진 매거진은 상기 매거진이 고안 및/또는 추천한 재생목록을 제공하는 보충 애플리케이션을 개발할 수 있다. 그런 후 사용자는 호스트 애플리케이션에 의한 소개용의 이들 재생목록들을 선택할 수 있다. 따라서, 호스트 애플리케이션은 라이센스된 컨텐츠에 액세스를 용이하게 하는(오디오/시각 재생 인터페이스, 컨트롤 등과 같은 미디어 표현 기능들을 제공하는) 반면, 보충 애플리케이션은 컨텐츠 공급자가 그렇지 않으면 제공할 수 없는 추가 사용자 기능 및 특징을 제공한다. 더욱이, 보충 애플리케이션의 개발자는 그렇지 않으면 닿을 수 없을지 모를 시청자에 닿을 수 있고, 호스트 애플리케이션을 통해, 그렇지 않으면 제공할 수 없을지 모를 컨텐츠에 대한 액세스를 제공할 수 있다. 그리고 상기 예는 호스트 애플리케이션에 대한 확장된 기능으로서 재생목록을 제안하는 것을 기술하고 있지만, 다른 많은 특징 및 기능들도 가능하다. 예컨대, 몇몇 애플리케이션은 라이너 노트(liner notes), 리뷰, 가사, 밴드/아티스트/배우 프로파일, 순회공연일자, 사진 슬라이드쇼, 등과 같이 현재 소개된 미디어 아이템에 대한 젱보를 제공할 수 있다. 몇몇 애플리케이션은 가령 주제 미디어 컨텐츠의 소개를 시작하기 위한 미디어 재생 컨트롤을 포함한 리뷰, 해설 및/또는 추천을 제공함으로써 미디어 컨텐츠의 소개를 시작하는 다른 방식을 제공할 수 있다. 다른 애플리케이션은 사용자에게 현재 재생되는 아티스트의 다가오는 콘서트(또는 유사한 아티스트)를 알릴 수 있고 심지어 사용자가 보충 및/또는 호스트 애플리케이션을 통해 콘서트 티켓을 구매하게 할 수 있다. 또 다른 애플리케이션은 사용자가 현재 재생된 아티스트(또는 다른 유사하거나 추천된 아티스트)의 디지털 미디어 또는 CD를 구매하게 할 수 있다.
보충 애플리케이션이 라이센스된 컨텐츠의 광범위한 카탈로그에 액세스할 수 있는 플랫폼을 제공하는 것은 각 보충 애플리케이션 공급자가 이들 애플리케이션들을 독립적으로 제공하기 위해 시도했다면 달성하기 어렵거나 불가능했을 여러 가지 이점을 제공한다. 예컨대, 호스트 애플리케이션의 공급자는 보충 애플리케이션이 라이센스된 미디어 컨텐츠의 광범위한 카탈로그에 액세스하게 하고, 각 개개의 애플리케이션 공급자가 컨텐츠 소유자와 협상해 동일한 컨텐츠에 액세스하는 것은 어렵고 비싸질 것이다. 따라서, 소비자는 미디어 컨텐츠에 대해 배우고 소비하고 인터랙팅하는 새롭고 재미있는 방식을 뺏길 것이다. 하지만, 라이센스 동의가 플랫폼 공급자(가령, 호스트 애플리케이션)와 컨텐츠 소유자 간에 이미 준비되어 있기 때문에, 그리고, 컨텐츠가 궁극적으로 호스트 애플리케이션에 의해 액세스되기 때문에, 보충 애플리케이션은 컨텐츠 소유자로부터 추가 라이센스 없이도 라이센스된 컨텐츠에 액세스할 수 있다.
더욱이, 호스트 애플리케이션은 사용자가 미디어 컨텐츠에 액세스해 소비하는 공고한 환경을 제공한다. 따라서, 사용자는 보충 애플리케이션에 의해 제공된(또는 액세스될 수 있는) 확장된 피처 및/또는 컨텐츠의 이점을 또한 얻으면서 (익숙한 재생 컨트롤, 소셜 미디어 공유 옵션, 미디어 관리 피처, 재생목록 생성/관리 옵션 등으로) 단일 호스트 애플리케이션을 이용할 수 있게 된다.
도면, 특히 몇몇 구현에 따른 클라이언트-서버 환경(100)의 블록도인 도 1에 주의를 돌린다. 클라이언트-서버 환경(100)은 네트워크(108)를 통해 연결된 클라이언트 컴퓨터(102), 컨텐츠 서버(104), 및 보충 애플리케이션 서버(106-1,…,106-n)를 포함한다. 몇몇 구현에서, 보충 애플리케이션 서버(106-n)는 컨텐츠 서버(104)와 같이 하나 이상의 다른 컴퓨터들을 통해 네트워크(108)에 연결된다.
몇몇 구현에서, 컨텐츠 서버(104)는 컨텐츠 공급자(105)와 연결된다. (몇몇 구현에서, 하나 이상의 보충 애플리케이션 서버들(106-n)도 또한 컨텐츠 공급자(105)와 연결된다.) 몇몇 구현에서, 컨텐츠 공급자(105)는 음악, 영화, 텔레비전 방송, 비디오, 등과 같은 미디어 컨텐츠 아이템들의 카탈로그에 액세스를 제공한다. 상술한 바와 같이, 몇몇 구현에서, 컨텐츠 공급자(105)에 의해 제공된 컨텐츠의 적어도 일부는 컨텐츠 공급자(105)와 하나 이상의 미디어 컨텐츠 소유자 및/또는 생성자(107) 간에 하나 이상의 라이센스 동의를 받는다. 몇몇 구현에서, 컨텐츠 서버(104)는 또한 하기에 기술된 바와 같이 보충 애플리케이션에 액세스를 제공 및/또는 용이하게 한다.
몇몇 구현에서, 보충 애플리케이션 서버들(106-n)은 하나 이상의 제 3 자와 연결되고, 아래에 언급된 보충 애플리케이션(114-n)에 액세스를 제공한다. 몇몇 구현에서, 보충 애플리케이션은 보충 애플리케이션 서버들(106-n)로부터 클라이언트 컴퓨터 시스템(102)으로 다운로드될 수 있다. 몇몇 구현에서, 이들은 유통을 위해 컨텐츠 서버(104)에 제공된다. 몇몇 구현에서, 제 3 자는 컨텐츠 공급자(105)와는 다른 엔티티이다. 예컨대, 컨텐츠 공급자(105)는 디지털 뮤직에 액세스를 제공하는 비지니스 엔티티(및 액세스를 가능하게 하는 하드웨어 및/또는 소프트웨어 툴들)일 수 있고, 보충 애플리케이션 서버들(106-n)은 (콘서트 홍보자로부터 소프트 음료 생산자에 이르는 임의의 비지니스를 포함한) 기타 비지니스들, 또는 컨텐츠 공급자(105)와 별개인 논비지니스 엔티티(가령, 개별적 사람 또는 사람의 그룹)와 연결될 수 있다.
클라이언트 컴퓨터(102)는 호스트 애플리케이션(112)과 보충 애플리케이션(114-1,…,114-n)을 포함한다. 몇몇 구현에서, 클라이언트 컴퓨터(102)는 개인용 컴퓨터, 모바일 전자 디바이스, 랩탑, 태블릿 컴퓨터, 휴대폰, 디지털 미디어 플레이어, 또는 미디어 컨텐츠를 소개할 수 있는 임의의 다른 전자 디바이스로 구성된 그룹 중 하나이다.
일반적으로, 애플리케이션은 사용자가 소정의 과제를 수행하게 돕도록 설계된 (가령, 하나 이상의 컴퓨터 프로그램으로 구성된) 컴퓨터 소프트웨어로 이해될 수 있다. 애플리케이션은 컴퓨터의 프로세서에 의해 실행될 수 있는 명령어들을 포함할 수 있고, 소스 코드(가령, 사람 판독가능한 프로그래밍 언어) 및/또는 오브젝트 코드(가령, 컴퓨터 판독가능한 바이너리 코드)로 예시될 수 있다. 애플리케이션들 중 몇몇 예들은 워드 프로세싱 애플리케이션, 게임, 미디어 플레이어/브라우저, 이미지 뷰어, 이미지/포토 에디터, 재생목록 매니저, 등을 포함한다. 많은 경우, 애플리케이션은 메모리, 프로세서, 하드 디스크 및/또는 주변기기 등을 포함한 컴퓨터의 하드웨어 자원에 액세스를 통제, 관리 및 예정하는 운영 시스템과 구별된다. 애플리케이션은 운영 시스템과 결합해 실행될 수 있고, 프로그램적으로 운영 시스템과 인터랙트할 수 있다. 예컨대, 운영 시스템은 애플리케이션이 (스피커, 키보드, 디스플레이 등을 포함한) 입출력 장치, 저장장치, 등과 같은 하드웨어 자원들에 액세스하거나, 운영 시스템에 의해 제공된 다른 프로세스, 알고리즘, 루틴 또는 프로그램에 액세스하기 위해 사용될 수 있는 프로그램 인터페이스(가령, 애플리케이션 프로그래밍 인터페이스 또는 APIs)를 제공할 수 있다. 몇몇 구현에서, 애플리케이션은 상기 애플리케이션이 동작하기 위해 운영 시스템 내에 실행되어야 하도록 프로그램된다.
몇몇 구현에서, 호스트 애플리케이션(112)은 미디어 플레이어/브라우저이다. 몇몇 구현에서, 호스트 애플리케이션 소프트웨어는 클라이언트 컴퓨터(102)에 전체적으로 또는 부분적으로 갖춰진다. 예컨대, 사용자는 (가령, 애플리케이션용 실행 코드가 컴퓨터의 메모리(가령, 하드 드라이버)에 저장되는) 대표적 컴퓨터 애플리케이션으로서 클라이언트 컴퓨터(102)에 미디어 플레이어/브라우저(가령, 호스트 애플리케이션(112))를 설치할 수 있다. 몇몇 구현에서, 호스트 애플리케이션(112)은 완전 또는 부분적 웹기반 애플리케이션이다. 예컨대, 웹기반 미디어 플레이어/브라우저 애플리케이션은 웹 브라우저(또는 웹기반 애플리케이션에 액세스 및/또는 실행할 수 있는 임의의 다른 애플리케이션 또는 운영 시스템)로부터 액세스될 수 있다. 몇몇 구현에서, 웹기반 애플리케이션의 실행가능 코드 중 일부 또는 모두가 클라이언트 컴퓨터(102)(가령, 컨텐츠 서버(104))로부터 원격의 컴퓨터 및/또는 서버에 저장 또는 캐시된다. 웹기반 애플리케이션은 적절한 컴퓨터 프로그램(가령, 웹 브라우저, 운영 시스템 등)을 네비게이션함으로써 가령, 인터넷 식별자(Uniform Resource Identifier, "URI")를 공급함으로써 애플리케이션이 찾아질 수 있는 어드레스에 액세스될 수 있다. 웹기반 애플리케이션은 그런 후 (예컨대, 컨텐츠 서버(104), 클라이언트 컴퓨터(102), 및/또는 이들 또는 다른 컴퓨터/디바이스의 임의의 조합을 포함한) 하나 이상의 컴퓨터들에 의해 실행된다. 몇몇 구현에서, 본 명세서에 기술된 호스트 애플리케이션(112)의 동작은 클라이언트기반 및 웹기반 호스트 애플리케이션 모두에 똑같이 또는 유사하게 적용된다.
보충 애플리케이션(114-n)은 호스트 애플리케이션(112)의 기능을 확장 및/또는 보충하도록 구성된다. 예컨대, 보충 애플리케이션(114-n)은 추가 컨텐츠 또는 정보에 액세스를 제공하고, 컨텐츠 서버(104) 등으로부터 이용가능한 컨텐츠와 인터랙팅하는 다른 방식들을 제공할 수 있다. 보충 애플리케이션(114-n)은 호스트 애플리케이션(112)과 함께 동작하도록 설계된 (가령, 하나 이상의 컴퓨터 프로그램들로 구성된) 컴퓨터 소프트웨어로 이해될 수 있다. 몇몇 구현에서, 보충 애플리케이션(114-n)은 호스트 애플리케이션(112)과 함께 설치 또는 실행되도록 구성된 코드 모듈(가령, 소스코드, 오브젝트 코드 등)이거나 코드 모듈을 포함한다. 몇몇 구현에서, 보충 애플리케이션(114-n)은 호스트 애플리케이션(112)에 대한 "플러그-인" 또는 "애드-온"이다.
몇몇 구현에서, 보충 애플리케이션(114-n)은 호스트 애플리케이션(112)과 함께서만 실행될 수 있다. 이런 경우, 보충 애플리케이션(114-n)은 호스트 애플리케이션(112)이 클라이언트 컴퓨터(102)에 설치 및/또는 시행되지 않는 한 실행될 수 없도록 상기 호스트 애플리케이션(112)에 프로그램적으로 링크된다. 예컨대, 보충 애플리케이션(114-n)를 구성하는 코드는 호스트 애플리케이션(112)이 제공한 프로세스, 자원, 및/또는 API를 인용, 호출 또는 의존할 수 있다. 몇몇 구현에서, 보충 애플리케이션(114-n)은 인증된 후에야 호스트 애플리케이션(112)과 함께 실행될 수 있다. 따라서, 악성 애플리케이션 또는 프로그램이 호스트 애플리케이션(112)의 자원 및/또는 서버를 액세스하는 것이 방지 또는 제한될 수 있다. 몇몇 구현에서, 보충 애플리케이션(114-n)이 바르게 인증했음을 호스트 애플리케이션(112)이 검증하게 하는 인증 토큰(가령, 암호로 서명된 파일들)에 의해 보충 애플리케이션(114-n)의 인증이 제공된다. 보충 애플리케이션의 인증에 대한 추가 세부내용이 본 명세서에 기술되어 있다.
몇몇 구현에서, 보충 애플리케이션(114-n)은 인터넷 식별자("URI")(가령, 인터넷 주소(Uniform Resource Locator, "URL"), IP 어드레스 등)이거나 이를 포함한다. 이 같은 경우, 보충 애플리케이션을 구성하는 프로그램(가령, 컴퓨터 코드)이 URI와 관련된 원격 디바이스(가령, 보충 애플리케이션 서버(106-n))에 저장될 수 있고 호스트 애플리케이션(112)과 함께 실행하기 위해 클라이언트 서버(102)에 전체적으로 또는 부분적으로 다운로드될 수 있다. 몇몇 구현에서, 프로그램들 또는 프로그램의 일부가 원격 디바이스에 실행될 수 있다. 따라서, 호스트 애플리케이션(112)과 같이, 보충 애플리케이션(114-n)은 클라이언트 컴퓨터(102)에 의해 설치되고(가령 하드 드라이버에 저장되고) 실행될 수 있거나, 원격 컴퓨터(가령, 후술된 보충 애플리케이션 서버(106-n))에 완전히 또는 부분적으로 저장 및/또는 실행될 수 있다. 상술한 바와 같이 보충 애플리케이션(114-n)은 호스트 애플리케이션(112)이 클라이언트 기반이거나(가령, 클라이언트 컴퓨터(102)에 의해 프로그램(들)이 저장 및/또는 실행되거나), 웹기반인(가령, 원격 디바이스에 프로그램(들)이 적어도 부분적으로 저장 및/또는 실행되는) 구현에 사용될 수 있다. 보충 애플리케이션(114-n)의 몇몇 특정 예들이 본 명세서에 언급된다.
몇몇 구현에서, 보충 애플리케이션(114-n)은 보충 애플리케이션 서버들(106-1,…,106-n)에 의해 제공된다. 상술한 바와 같이, 보충 애플리케이션 서버(106-n)는 호스트 애플리케이션(112)과 함께 사용하기 위해 보충 애플리케이션(114-n)을 개발 및/또는 제공하는 비지니스 엔티티 또는 개인들과 관련 있을 수 있다. 언급한 바와 같이, 몇몇 구현에서, 보충 애플리케이션(114-n)은 호스트 애플리케이션(112)과 함께 사용하기 위해 보충 애플리케이션 서버(106-n)로부터 클라이언트 컴퓨터(102)로 다운로드된다. 그러나, 보충 애플리케이션은 보충 애플리케이션 서버(106-n)에 의해 호스트되거나, 통신하거나 의존할 필요는 없다. 예컨대, 임의의 특정 비지니스 엔티티에 속하지 않고 보충 애플리케이션 서버(106-n)를 호스트하지 않는 애플리케이션 개발자는 보충 애플리케이션을 컨텐츠 공급자(105)에 제공할 수 있어 상기 컨텐츠 공급자(105)가 보충 애플리케이션이 클라이언트 컴퓨터(102)에 액세스할 수 있게 한다.
몇몇 구현에서, 보충 애플리케이션(114-n)이 클라이언트 컴퓨터(102)에 의해 실행될 때 보충 애플리케이션 서버(106-n)에 저장된 정보를 사용 및/또는 액세스한다. 예컨대, 보충 애플리케이션(114-n)은 호스트 애플리케이션(112)에 의해 재생되는(및 컨텐츠 서버(104)에 의해 제공된) 노래 가사를 디스플레이할 수 있다. 이 예에서, 보충 애플리케이션 서버(106-n)는 보충 애플리케이션(114-n)에 가사를 저장 및 제공할 수 있다. 간략히 하기 위해, 보충 애플리케이션(114-n)은 상기 보충 애플리케이션(114-n)이 다운로드되는 동일 서버(들)로부터 정보(가령, 가사, 컨텐츠 리뷰, 재생목록 등)를 액세스하는 것으로 기술된다. 그러나, 이는 항상 그러한 경우일 수 없는데, 이는 보충 애플리케이션(114-n)이 또한 다른 소스로부터 정보를 액세스할 수 있기 때문이다. 예컨대, WIKPEDIA와 상관없는 애플리케이션 개발자는 사용자가 듣고 있는 밴드의 공개적으로 액세스가능한 WIKPEDIA 페이지를 디스플레이하는 보충 애플리케이션을 제공할 수 있다. 그 경우, 보충 애플리케이션은 WIKPEDIA와 관련된 서버에 액세스해 호스트 애플리케이션(112) 내에서 사용자에 나타낼 수 있다.
몇몇 구현에서, 보충 애플리케이션(114-n)은 호스트 애플리케이션(112)이 상기 보충 애플리케이션이 클라이언트 컴퓨터(102)에 설치 및/또는 실행되게 하거나 상기 보충 애플리케이션이 호스트 애플리케이션(112) 및/또는 컨텐츠 서버(104)의 자원에 액세스하게 하기 위해 컨텐츠 공급자(105)(가령, 컨텐츠 서버(104)와 관련된 비지니스 엔티티)에 의해 승인되어야 한다. 몇몇 구현에서, 승인절차는 컨텐츠 공급자(105)에 보충 애플리케이션을 제공하는 단계, 및 상기 보충 애플리케이션이 승인된 후 컨텐츠 공급자로부터 암호로 서명된 인증파일(또는 "디지털 서명"이라고 함)을 수신하는 단계를 포함한다. 암호로 서명된 인증파일은 그런 후 보충 애플리케이션(114-n)의 일부로 포함될 수 있다. 호스트 애플리케이션(112)은 상기 호스트 애플리케이션(112)의 자원 및/또는 컨텐츠 서버(104)로부터 라이센스된 컨텐츠에 액세스를 필요로 하는 임의의 보충 애플리케이션(114-n)이 그렇게 하도록 적절히 인증받는 것을 보장하기 위해 디지털 서명을 사용하도록 구성된다. 몇몇 구현에서, 호스트 애플리케이션(112)은 보충 애플리케이션이 실제로 컨텐츠 공급자(105)에 의해 승인된 것을 판단하고, 승인된 후 상기 보충 애플리케이션이 변경되지 않은 것을 보장하기 위해 디지털 서명을 이용한다. 호스트 애플리케이션(112)은 임의의 비인가 또는 불순한 애플리케이션들을 설치 또는 실행하지 않을 것이기 때문에, 이런 조치는 라이센스된 컨텐츠의 침해(또는 호스트 애플리케이션(112) 및/또는 컨텐츠 서버(104)에 대한 다른 비인가 액세스)를 방지하도록 돕는다. 컨텐츠 공급자(105)와 컨텐츠 소유자(들)(107) 간에 라이센스 동의(들) 조건에 의해 라인센스된 컨텐츠에 대한 액세스를 제한(또는 모든 액세스가 호스트 애플리케이션(112) 및/또는 컨텐츠 공급자(105)에 의해 통제되는 것을 적어도 보장)하는 이들 또는 다른 유사한 조치들이 필요할 수 있다.
상술한 바와 같이, 보충 애플리케이션(114-n)을 승인하는 것은 비인가 애플리케이션이 컨텐츠 서버(104)로부터 컨텐츠에 접속할 수 없음을 보장하는데 중요하다. 이런 승인 기술은 또한 컨텐츠 서버(104)에 대한 보충 애플리케이션(114-n)을 식별하도록 돕기 위해 사용될 수 있어 상기 컨텐츠 서버(104)가 상기 보충 애플리케이션(114-n)에 속한 컨텐츠 액세스 사용권한(또는 다른 타입의 사용권한)을 식별할 수 있다. 예컨대, 보충 애플리케이션(114-n)은 소정의 보충 애플리케이션(114-n)에 의해서만 액세스될 수 있는 컨텐츠 아이템에 대한 액세스를 요청할 수 있다. 컨텐츠 서버(104)는 요청한 보충 애플리케이션(114-n)의 디지털 서명을 이용해 상기 애플리케이션이 트랙에 액세스하도록 승인되는지 여부를 판단한다. 한가지 예시적인 사용 경우는 엔티티(가령, 비지니스, 개인, 무역 그룹 등)가 상기 엔티티의 보충 애플리케이션을 통해 미발매 음악 트랙에 액세스를 제공하는 것이다(이는, 차례로, 광고를 보여주거나, 브랜드 노출을 제공하거나, 그렇지 않으면 엔티티에 대한 소정의 재정적 또는 기타 수익을 제공할 수 있다). 먼저, 엔티티는 컨텐츠 공급자(105) 및/또는 컨텐츠 소유자(107)로부터 컨텐츠에 액세스할 권리를 획들 할 수 있다. 그런 후 보충 애플리케이션은 미발매 트랙에 액세스하기 위해 컨텐츠 공급자(105)에 의한 액세스 권한이 제공된다. 컨텐츠 공급자(105)가 미발매 트랙에 대해 클라이언트 컴퓨터(102)로부터 요청을 받으면, 컨텐츠 서버(104)는 디지털 서명을 이용해 요청한 보충 애플리케이션이 실제로 트랙을 액세스하고, 적절히 액세스를 허락하거나 거부하는 것이 승인되는지 여부를 검증한다.
도 1로 돌아가, 호스트 애플리케이션(112)은 보안 및 암호화 통신채널(110)을 이용해 컨텐츠 서버(104)와 소통하도록 구성된다. 보안 및 암호화 통신채널을 이용하는 것은 데이터 전송시 도청을 방지하고 컨텐츠 서버(104)가 인증된 클라이언트 컴퓨터에만 통신하는 것을 보장함으로써 컨텐츠 서버(104)로부터 클라이언트 컴퓨터(102)로(또는 그 반대로) 라이센스된 컨텐츠의 전송 보안을 보장하게 돕는다. 암호로 서명된 인증파일처럼, 이들 조치들은 라이센스된 컨텐츠에 대한 비인가 액세스의 침해를 방지하도록 돕고, 컨텐츠 공급자(105)와 컨텐츠 소유자(들)(107) 간의 라인센스 동의 조건에 의해 요구될 수 있다. 몇몇 구현에서, 보안 및 암호화 통신채널(110)(또한, "통신채널(110)"이라고 함)은 호스트 애플리케이션(112)과 컨텐츠 서버(104) 간에 하이퍼텍스트 전송규약(Hypertext Transfer Protocol Secure, HTTPS)을 이용한다. 몇몇 구현에서, 다른 통신 프로토콜 및 암호화 기술이 통신 채널(110)에 사용된다.
몇몇 구현에서, 호스트 애플리케이션은 인증된 통신만이 컨텐츠 서버(104)와 클라이언트 컴퓨터(102) 간에 전송되도록 통신 채널(110)을 제어한다. 예컨대, 호스트 애플리케이션(112)은 통신 채널(110)에 액세스하게 클라이언트 컴퓨터(102)에 실행되는 다른 애플리케이션(가령, 호스트 애플리케이션(112) 외부가 아니라 클라이언트 컴퓨터의 운영 시스템 내에 실행되는 다른 애플리케이션)을 허용하지 않는다. 또한, 호스트 애플리케이션(112)은 비인가 도는 불순한 보충 애플리케이션들(114-n)이 호스트 애플리케이션(112)에 및/또는 호스트 애플리케이션(112)에 의해 설치되게 하지 않거나, 통신 채널(110)을 통해 상기 보충 애플리케이션들이 컨텐츠 서버(104)와 통신하는 것을 방지할 것이다.
본 명세서에 기술된 애플리케이션 플랫폼은 호스트 애플리케이션(112)의 기능을 확장할 수 있고, 사용자가 컨텐츠와 인터랙트 및/또는 소비하는 새롭고 재밌는 방식이 될 수 있는 많은 보충 애플리케이션들을 지원할 수 있다. 하지만, 다른 많은 보충 애플리케이션들이 이용될 수 있을 경우, 다른 보충 애플리케이션들 간에 사용자 혼동 및/또는 원치않는 간섭이 있을 수 있다. 예컨대, 보충 애플리케이션들은 가령 호스트 애플리케이션(112)에서 사용자에 의해 생성된 재생목록을 변경, 생성 또는 삭제하거나, 재생 설정을 변경하거나, 소셜 네트워크로 포스팅하거나 하는 등에 의해 호스트 애플리케이션(112) 및/또는 사용자의 미디어 정보에 변형을 가할 수 있다. 몇몇 구현에서, 본 명세서에 기술된 애플리케이션 플랫폼은 보충 애플리케이션이 필요로 할 수 있는 모든 사용권한을 반드시 제공할 필요없이 사용자가 보충 애플리케이션을 미리 보게할 수 있는 타이어드(tiered) 사용권한 구조를 이용한다.
몇몇 구현에서, 타이어드 사용권한 구조는 사용자가 호스트 애플리케이션(112)과 함께 사용하기 위한 보충 애플리케이션(114-n)을 선택하게 하나, 제 1 세트의 사용권한만을 상기 보충 애플리케이션(114-n)에 제공한다. 몇몇 구현에서, 제 1 세트의 사용권한은 보충 애플리케이션(114-n)이 모든 기능 및/또는 피처들을 인에이블하는데 필요한 모든 사용권한보다 적다. 몇몇 구현에서, 제 1 세트의 사용권한은 (재생목록, 재생 히스토리, 프로파일 정보, 소셜 네트워킹 활동, 미디어 공유 데이터, 등을 포함한) 사용자의 정보에 대한 "읽기전용" 사용권한을 포함한다. 따라서, 사용자는 상기 사용자가 그것을 허락할 때까지 그리고 허락하지 않는 한 보충 애플리케이션(114-n)이 사용자의 정보를 변경할 수 없을 것이란 것을 확신할 수 있다. 몇몇 구현에서, 제 1 세트의 사용권한은 보충 애플리케이션(114-n)이 새로운 재생목록을 만들거나 미디어 컨텐츠의 표현을 시작하게 하나, 상기 보충 애플리케이션(114-n)이 재생목록을 변경 또는 삭제, 사용자의 소셜 네트워크(들)에 포스트, 사용자의 개인 및/또는 프로파일 정보 등에 액세스하지 못하게 한다. 몇몇 구현에서, 제 1 세트의 사용권한은 컨텐츠 공급자(105)에 의해 결정된다. 예컨대, 컨텐츠 공급자(105)는 "미리보기" 기간 동안 모든 또는 일부 보충 애플리케이션(114-n)에 적용되는 사용권한을 결정할 수 있다. 몇몇 구현에서, 보충 애플리케이션(114-n)의 공급자는 "미리보기" 기간 동안 적용될 수 있는 사용권한을 판단 또는 요청한다. 임의의 보충 애플리케이션(114-n)에 의해 요구되는 사용권한은 그 또는 그녀가 사용권한을 수락 또는 거절할 수 있도록 사용자에 액세스가능할 수 있다.
몇몇 구현에서, 제 1 세트의 사용권한은 "미리보기" 기간 동안 디폴트에 의해 그리고 미리보기되는 각 보충 애플리케이션에 대한 사용권한에 별도의 사용자 동의를 필요로 하지 않고도 모든 보충 애플리케이션(114-n)에 주어진다. 추가 사용권한이 (가령, 사용자가 보충 애플리케이션을 "승인"할 경우) 보충 애플리케이션(114-n)에 의해 요구되거나 요청될 때 그리고 그런 경우, 사용자는 이들 사용권한들이 주어지게 동의하도록 촉구받는다. 몇몇 구현에서, 보충 애플리케이션(114-n)의 "미리보기" 기간은 사용자, 호스트 애플리케이션(112), 및/또는 컨텐츠 서버(104)가 보충 애플리케이션(114-n)과 관련된 사용권한 수준에 의해 정의된다. 이런 경우, 보충 애플리케이션(114-n)은 클라이언트 컴퓨터(102)에 설치될 수 있고, 보충 애플리케이션(114-n)이 소정 기능 및/또는 데이터를 액세스 또는 변경하는 것이 제한되는 유일한 차이로, "미리보기" 기간 동안 그리고 후에 동일한 방식으로 (가령, 애플리케이션 프로그래밍 인터페이스 호출을 통해) 호스트 애플리케이션(112)과 프로그램적으로 인터랙트할 수 있다.
기술된 타이어드 사용권한의 일예시적인 구현으로, 사용자는 가령, 호스트 애플리케이션(112)의 애플리케이션 브라우징 인터페이스로부터 보충 애플리케이션을 선택함으로써 보충 애플리케이션(114-n)을 "미리보기"하도록 선택할 수 있다. 미리보기를 위해 선택된 경우, 보충 애플리케이션(114-n)은 제 1 세트의 사용권한과 관련되고 호스트 애플리케이션(112)을 통해 사용자에 이용될 수 있다.(예컨대, 보충 애플리케이션(114-n)은 호스트 애플리케이션(112)의 사용자 인터페이스에서 "설치된 앱" 목록 또는 "시험판 앱" 목록에 나타날 수 있다.) 사용자는 그런 후 제 1 세트의 사용권한에 의해 허용된 정도로 보충 애플리케이션(114-n)을 자유롭게 사용한다. 그 후 사용자는 가령 보충 애플리케이션(114-n)의 요건에 따른 범위내에서 동등한 사용권한을 승낙함으로써 애플리케이션을 "승인"하도록 결정할 수 있다.
도 2는 몇몇 구현에 따른 컨텐츠에 대한 액세스를 제공하는 방법(200)을 도시한 흐름도이다. 상기 방법(200)은 적어도 하나의 프로세서 및 상기 프로세서에 의한 실행 명령을 저장한 메모리를 갖는 클라이언트 컴퓨터(가령, 클라이언트 컴퓨터(102))에서 적어도 부분적으로 수행된다.
제 1 당사자에 대한 호스트 애플리케이션이 실행된다(202). 몇몇 구현에서, 제 1 당사자는 비지니스 엔티니, 서버 컴퓨터, 및/또는 개인이다. 몇몇 구현에서, 제 1 당사자는 호스트 애플리케이션을 생성, 유통 및/또는 이용하는 컨텐츠 공급자이다. 몇몇 구현에서, 제 1 당사자는 컨텐츠 공급자와 하나 이상의 컨텐츠 소유자들 및/또는 생산자들 간의 라이센스 동의를 받은 미디이 컨텐츠 아이템에 액세스를 또한 제공하는 컨텐츠 공급자이다. 몇몇 구현에서, 호스트 애플리케이션은 미디어 플레이어/브라우저 애플리케이션(204)이다. 미디어 플레이어 애플리케이션은 사용자가 미디어 컨텐츠를 검색하고 나타내게 한다. 몇몇 구현에서, 호스트 애플리케이션은 운영 시스템(206) 내에서 실행된다. 몇몇 구현에서, 호스트 애플리케이션은 또한 본 명세서에 기술된 바와 같이 보충 애플리케이션의 사용을 지원한다.
호스트 애플리케이션과 제 1 당사자(205)와 관련된 서버 간에 보안통신채널이 개시된다. 몇몇 구현에서, 보안통신채널은 호스트 애플리케이션으로부터 별개로 실행되는 애플리케이션에 액세스할 수 없다. 예컨대, 보안통신채널은 호스트 애플리케이션(가령, 호스트 애플리케이션(112))에 의해 개시되고 상기 호스트 애플리케이션에 의해 제어 및/또는 중재될 수 있어, 단지 승인된 통신들만이 보안통신채널을 이용해 일어날 수 있다. 이는 보안통신채널을 이용해 비인가 애플리케이션 또는 다른 프로세스들이 정보를 송수신하는 것을 방지하는 것을 포함할 수 있다. 몇몇 구현에서, 보안통신채널은 HTTPS를 이용한다. 몇몇 구현에서, 보안통신채널은 (가령, HTTPS 프로토콜에 따른) 암호화된 통신을 이용한다. 몇몇 구현에서, 보안통신채널을 개시하는 단계는 (가령, HTTPS 프로토콜에 따른) 서버를 인증하는 단계를 포함한다. 몇몇 구현에서, 보안통신채널은 클라이언트 컴퓨터(가령, 클라이언트 컴퓨터(102))와 서버(가령, 컨텐츠 서버(104)) 간에 인증된 세션이다.
제 2 당사자에 대한 보충 애플리케이션이 실행된다(210). 몇몇 구현에서, 제 2 당사자는 제 1 당사자와 다른 비지니스 엔티니, 서버 컴퓨터, 및/또는 개인이다. 예컨대, 제 1 당사자가 (가령, 하나 이상의 서버 컴퓨터로부터) 음악 컨텐츠에 액세스를 제공하는 비지니스이면, 제 2 당사자는 컨텐츠 공급자와는 다른 비지니스 엔티니, 기관, 및/또는 개인이다. 몇몇 구현에서, 제 2 당사자는 보충 애플리케이션(가령 보충 애플리케이션(114-n))을 생성, 유통 및/또는 이용한다. 몇몇 구현에서, 제 1 당사자와 제 2 당사자는 다른 비지니스 엔티티이며, 제 1 당사자에 의해 호스트 애플리케이션이 개발되고, 보충 애플리케이션은 제 2 당사자에 의해 개발되고 제 1 당사자에 의해 승인된다.
몇몇 구현에서, 보충 애플리케이션은 호스트 애플리케이션의 기능을 확장한다(212). 예컨대, 보충 애플리케이션(가령, 보충 애플리케이션(114-n))은 호스트 애플리케이션에서 이전에 이용할 수 없었던 피처, 기능 또는 동작을 추가하도록 구성되고, 호스트 애플리케이션의 이미 이용가능한 피처, 기능, 또는 동작을 복제(또는 향상)시킨다. 몇몇 구현에서, 보충 애플리케이션은 호스트 애플리케이션에 대한 플러그-인이다(214). 몇몇 구현에서, 보충 애플리케이션은 호스트 애플리케이션이 그렇지 않으면 액세스하도록 구성되지 않은 추가 컨텐츠 및/또는 정보(가령, 노래 가사, 앨범 아트, 정보 페이지, 콘서트 일자, 영화 상영시간, 등)에 액세스한다. 몇몇 구현에서, 보충 애플리케이션은 호스트 애플리케이션과 함께 사용하기 위해 제 1 당사자에 의해 승인된다. 몇몇 구현에서, 보충 애플리케이션은 호스트 애플리케이션과 함께 서만 실행될 수 있다(216). 예컨대, 보충 애플리케이션은 실행을 위해 호스트 애플리케이션에 프로그램적으로 의존할 수 있다. 몇몇 구현에서, 보충 애플리케이션은 재생목록 생성 및 관리, 미디어 프리젠테이션, 소셜 네트워크 액세스(읽기 및/또는 쓰기 액세스) 등과 같이 호스트 애플리케이션에 의해 제공된 서비스, 프로세스 및/또는 기능을 이용한다.
몇몇 구현에서, 보충 애플리케이션은 호스트 애플리케이션의 하나 이상의 애플리케이션 프로그래밍 인터페이스를 통해 호스트 애플리케이션 및 제 1 당사자 중 하나 또는 둘 다의 서비스에 액세스한다. 몇몇 구현에서, 서비스는 컨텐츠 아이템의 프리젠테이션을 개시(가령, 오디오/비디오 재생을 개시); 컨텐츠 아이템의 프리젠테이션을 종료(가령, 오디오/비디오 재생을 정지/멈춤/건너뛰기); 및 기존 재생목록에 컨텐츠 아이템 추가; 기존 재생목록에 컨텐츠 아이템 재주문; (가령, 새 재생목록이 호스트 애플리케이션의 GUI에 있는 재생목록의 리스트에 나타나도록) 새 재생목록을 호스트 애플리케이션과 연계; 컨텐츠 아이템의 구매를 인에이블; 컨텐츠 아이템의 톱 차드(큐레이트된 및/또는 관리된 차트)의 리스트에 액세스; 컨텐츠 아이템들의 사설 리뷰(가령, 밴드, 앨범, 노래, 팟캐스트, 책, 영화, 텔레비전 방송, 다른 비디오 등의 리뷰)에 액세스; 컨텐츠 아이템의 개인별 추천에 액세스; 선택된 컨텐츠 아이템에 대한 컨텐츠 아이템에 액세스(가령, 선택된 컨텐츠 아이템과 유사한 컨텐츠 아이템의 재생목록에 액세스, 요청 및/또는 개시); (가령, 현재 재생된 아티스트의 다가오는 콘서트 목록을 디스플레이하기 위해) 다가오는 콘서트 또는 이벤트의 통지를 제공; 콘서트 또는 이벤트에 대한 홍보자료에 액세스; 콘서트 또는 이벤트 티켓 구매; 게임의 프리젠테이션 개시; 게임에서 고득점 등록; 게임에서 고득점의 리더보드에 액세스; 노래 가사에 액세스; 노래 가사를 추가, 편집 또는 수정; 소셜 그래프에서 사용자에 대한 정보에 액세스; 소셜 네트워크에서 팔로워들의 목록에 액세스; 소셜 네트워크에서 영향력 지수(Influence Score)에 액세스; 소셜 네트워크에서 상태 알림에 액세스; 소셜 네트워크에서 상태 알림을 포스트; 및 소셜 네트워크에서 사용자들에 컨텐츠 아이템을 푸시하는 서비스들로 구성된 그룹에서 선택된다.
제 1 당사자에 라이센스된 컨텐츠는 보충 애플리케이션과 연관된다(218). 라이센스된 컨텐츠는 라이센싱 동의 조건 하에서 보안통신채널을 통해 액세스될 수 있다. 상술한 바와 같이, 컨텐츠 공급자는 상기 컨텐츠 공급자가 컨텐츠 소유자(들) 및/또는 생산자(들)과의 라이센스 동의에 의해 액세스한 (음악, 영화, 텔레비전 방송과 같은) 컨텐츠에 액세스를 제공할 수 있다. 따라서, 컨텐츠는 호스트 애플리케이션을 통해 그리고 상기 호스트 애플리케이션에 의해 개시된 보안통신채널을 이용해 보충 애플리케이션(가령, 보충 애플리케이션(114-n))에 의해 액세스된다. 몇몇 구현에서, 컨텐츠는 서버로부터 다운로드함으로써 액세스된다. 몇몇 구현에서, 컨텐츠는 서버로부터 클라이언트 컴퓨터 시스템으로 사전에 다운로드되었다.
몇몇 구현에서, 라이센스된 컨텐츠는 복수의 오디오 파일들(220)을 포함한다. 몇몇 구현에서, 라이센스된 컨텐츠는 복수의 비디오 파일들(222)을 포함한다. 몇몇 구현에서, 상기 방법은 복수의 오디오 및/또는 비디오 파일들(224) 중 하나의 재생을 개시하는 단계를 포함한다. 몇몇 구현에서, 라이센스된 컨텐츠에 액세스하는 것(218)은 보충 애플리케이션에 의해 제공된 어포던스(affordance)를 통해 복수의 오디오 및/또는 비디오 파일들 중 하나의 재생을 개시하는 단계를 포함한다. 몇몇 구현에서, 오디오 및/또는 비디오 파일(들)은 재생이 개시된 후(226) 서버(가령, 컨텐츠 서버(104), 또는 클라이언트 컴퓨터 시스템(102)과 별개의 제 2 클라이언트 컴퓨터 시스템)로부터 클라이언트 컴퓨터(가령, 클라이언트 컴퓨터 시스템(102))로 스트림된다.
몇몇 구현에서, 상술한 바와 같이, 라이센스된 컨텐츠는 호스트 애플리케이션(228)과 별개로 실행되는 애플리케이션에는 이용할 수 없다(228). 몇몇 구현에서, 보안통신채널은 호스트 애플리케이션과 별개로 실행되는 애플리케이션에는 이용할 수 없다(230). 예컨대, 호스트 애플리케이션은 클라이언트 컴퓨터 시스템(102)에 의해 실행되는 다른 애플리케이션들(즉, 호스트 애플리케이션과 함께 실행하도록 구성된 보충 애플리케이션(114-n)이 아닌 애플리케이션들)이 컨텐츠 공급자로부터 라이센스된 컨텐츠에 액세스하지 못하게 한다. 이는 다른 애플리케이션들이 호스트 애플리케이션(가령, 호스트 애플리케이션(112))과 제 1 당사자에 대한 서버(가령, 컨텐츠 공급자(105)와 관련된 컨텐츠 서버(104)) 간에 보안통신채널에 액세스하는 것을 막음으로써 수행될 수 있다.
도 3a는 몇몇 구현에 따른 애플리케이션 사용권한을 핸들링하는 방법(300)을 나타낸 흐름도이다. 상기 방법(300)은 적어도 하나의 프로세서 및 상기 프로세서에 의한 실행 명령을 저장한 메모리를 갖는 클라이언트 컴퓨터(가령, 클라이언트 컴퓨터(102))에서 적어도 부분적으로 수행된다.
호스트 애플리케이션(가령, 호스트 애플리케이션(112))이 실행된다(302). 몇몇 구현에서, 호스트 애플리케이션은 미디어 플레이어/브라우저 애플리케이션(304)이다. 몇몇 구현에서, 호스트 애플리케이션은 운영 시스템 내에서 실행된다. 호스트 애플리케이션의 예들과 속성들이 상술되어 있다.
보충 애플리케이션을 사용하기 위한 요청이 사용자로부터 수신된다(306). 몇몇 구현에서, 요청은 보충 애플리케이션의 사용자 선택에 해당한다. 예컨대, 호스트 애플리케이션은 보충 애플리케이션 브라우징 영역을 가질 수 있고, 여기서 사용자는 호스트 애플리케이션과 함께 사용하기 위해 보충 애플리케이션들에 대하여 브라우징 및/또는 서치할 수 있다. 따라서, 사용자는 가령 어포던스를 선택함으로써 보충 애플리케이션을 선택할 수 있다. 몇몇 구현에서, 어포던스는 "미리보기", "사용", "다운로드", "시도", "설치", "추가" 등으로 라벨 붙어진 버튼 또는 다른 선택가능한 요소이다. 몇몇 구현에서, 어포던스는 애플리케이션의 사용자 고유 목록에 추가하지 않고도 보충 애플리케이션을 띄우는 아이콘이다.
보충 애플리케이션은 제 1 세트의 사용권한을 이용한 호스트 애플리케이션과 함께 실행된다(308). 호스트 애플리케이션과 함께 보충 애플리케이션을 실행하는 몇몇 태양들이 상술되어 있다. 몇몇 구현에서, 호스트 애플리케이션과 함께 보충 애플리케이션을 실행하는 것은 (가령, 호스트 애플리케이션에 애플리케이션 프로그래밍 인터페이스의 호출로서) 보충 애플리케이션으로부터 나온 요청 및/또는 명령이 제 1 세트의 사용권한에 의해 허용되는지 여부를 판단하는 단계를 포함한다. 몇몇 구현에서, 호스트 애플리케이션이 요청 및/또는 명령이 제 1 세트의 사용권한에 의해 허용되는지 여부를 판단한다. 몇몇 구현에서, 컨텐츠 서버가 요청 및/또는 명령이 제 1 세트의 사용권한에 의해 허용되는지 여부를 판단한다. 이는 가령 보충 애플리케이션이 요청 및/또는 명령을 직접 컨텐츠 서버로 보내는 경우에 (즉, 요청 및/또는 명령을 인터셉트 및/또는 제한하는 호스트 애플리케이션 없이) 실행될 수 있다.
몇몇 구현에서, 제 1 세트의 사용권한은 사용자의 계정과 관련된 데이터에 대한 보충 애플리케이션의 읽기전용 액세스를 승낙한다. 몇몇 구현에서, 읽기전용 액세스는 보충 애플리케이션이 사용자의 계정과 관련된 재생목록, 프로파일 정보, 컨텐츠 히스토리 데이터(가령, 재생 히스토리), 소셜 네트워킹 활동(가령, 사용자에게, 사용자에 의해 또는 사용자에 대한 포스트), 공유된 미디어 아이템들에 대한 데이터, 등을 읽으나 변경하지 않게 한다(312). 몇몇 구현에서, 제 1 세트의 사용권한에서 사용권한은 모든 보충 애플리케이션들에 대해 같다.
사용자가 보충 애플리케이션을 승인했음을 감지한다(314). 몇몇 구현에서, 사용자는 "미리보기", "사용", "다운로드", "시도", "설치", "추가", "승인", "북마크" 등으로 라벨 붙어진 버튼 또는 다른 선택가능한 요소와 같이 어포던스를 선택함으로써 보충 애플리케이션을 승인한다. 몇몇 구현에서, 사용자가 보충 애플리캐이션을 승인했음을 감지하는 것은 (가령, 클라이언트 컴퓨터(102)에서) 어포던스의 선택을 수신하는 단계를 포함한다. 몇몇 구현에서, 사용자가 보충 애플리캐이션을 승인했음을 감지하는 것은 사용자가 보충 애플리케이션을 이전에 승인했다는 컨텐츠 서버(가령, 컨텐츠 서버(104))로부터 표시를 수신하는 단계를 포함한다.
감지에 응답해, 제 2 세트의 사용권한은 보충 애플리케이션(318)과 관련된다. 몇몇 구현에서, 제 2 세트의 사용권한은 사용자 계정과 관련된 데이터에 보충 애플리케이션에 읽기/쓰기 액세스를 승낙한다(320). 몇몇 구현에서, 제 2 세트의 사용권한은 사용자 계정과 관련된 재생목록을 생성 및 변경하도록 보충 애플리케이션에 사용권한을 승낙한다(322). 제 2 세트의 사용권한은 또한 보충 애플리케이션이 사용자 대신에 소셜 네트워크에 포스트하고 다른 사용자와 재생목록을 공유하는 등을 하게 한다.
보충 애플리케이션은 제 2 세트의 사용권한을 이용해 실행된다(324). 호스트 애플리케이션과 함께 보충 애플리케이션을 실행하는 몇몇 태양들이 상술되어 있다. 제 1 세트의 사용권한으로 보충 애플리케이션을 실행하는 것과 유사하게, 몇몇 구현에서, 제 2 세트의 사용권한과 함께 보충 애플리케이션을 실행하는 것은 (가령, 호스트 애플리케이션에 애플리케이션 프로그래밍 인터페이스 호출로서) 보충 애플리케이션에서 나온 요청 및/또는 명령이 제 2 세트의 사용권한에 의해 허용되는지 여부를 판단하는 단계를 포함한다. 몇몇 구현에서, 호스트 애플리케이션이 요청 및/또는 명령이 제 2 세트의 사용권한에 의해 허용되는지 여부를 판단한다. 몇몇 구현에서, 컨텐츠 서버가 요청 및/또는 명령이 제 2 세트의 사용권한에 의해 허용되는지 여부를 판단한다. 이는 가령 보충 애플리케이션이 요청 및/또는 명령을 직접 컨텐츠 서버로 보내는 경우에 (즉, 요청 및/또는 명령을 인터셉트 및/또는 제한하는 호스트 애플리케이션 없이) 실행될 수 있다.
방법(300)은 사용자의 보충 애플리케이션과 이와 관련된 사용권한이 디바이스 및/또는 호스트 애플리케이션의 인스턴스를 가로질러 동기화되는 방법(300)의 구현에 관한 도 3b에 계속된다. 예컨대, 컨텐츠 공급자(가령, 컨텐츠 공급자(105))는 사용자가 다양한 다른 디바이스들에서 호스트 애플리케이션으로부터의 컨텐츠에 액세스를 할 수 있도록 (가령, 컨텐츠 서버(104)에서) 계정 정보를 저장할 수 있다. 계정 정보를 저장함으로써, 사용자 선호도, 히스토리, 프로파일 정보 등과 같은 정보는 어떤 디바이스가 실행될지라도 호스트 애플리케이션(112)의 다른 인스턴스에 이용될 수 있다. 따라서, 사용자는 한번에 그의 홈 컴퓨터로부터, 그런 후 또 다른 시간에서 그의 스마트폰으로부터 컨텐츠 서버(104)에 액세스할 수 있다. 각 경우, 저장된 정보는 사용의 양 인스턴스에 대해 사용자 경험을 동기화하는데 사용될 수 있다. 따라서, 사용자의 재생목록, 재생 히스토리, 친구 목록, 소셜 네트워크 계정 정보, 저장된/선호된 미디어 컨텐츠 등이 양 디바이스들에 의해 액세스될 것이다. 몇몇 구현에서, 사용자의 게정 정보는 또한 사용자에 의해 설치 및/또는 시험판 또는 미리보기용으로 사용자에 의해 선택된 보충 애플리케이션의 식별자를 포함한다. 사용자가 호스트 애플리케이션의 한 인스턴스에 선택 및/또는 설치했던 보충 애플리케이션들은 그런 후 호스트 애플리케이션의 또 다른 인스턴스에 (가령, 다른 디바이스에) 설치 및/또는 사용자에 이용가능해질 수 있다. 또한, 호스트 애플리케이션이 웹기반인 구현에서, 호스트 애플리케이션은 상기 호스트 애플리케이션의 다른 인스턴스에 선택 및/또는 설치된 이들 보충 애플리케이션을 포함한 사용자의 계정 정보에 액세스하고 이들 보충 애플리케이션들이 사용자에 이용가능해지게 할 수 있다. 예컨대, 웹기반 호스트 애플리케이션에 사용자가 로그인할 경우, 사용자가 선택 및/또는 설치했던 보충 애플리케이션들이 사용자가 선택할 수 있는 애플리케이션 목록에 디스플레이된다.
도 3b를 다시 돌아가, 몇몇 구현에서, 사용자와 관련된 계정 정보는 보충 애플리케이션이 제 1 클라이언트 컴퓨터에 사용자에 의해 설치된 것을 나타내기 위해 업데이트된다(326). 따라서, 상술한 바와 같이, 클라이언트 컴퓨터 및/또는 호스트 애플리케이션은 사용자가 또 다른 클라이언트 컴퓨터 및/또는 호스트 애플리케이션에 어떤 보충 애플리케이션들을 설치했는지 판단하기 위해 사용자의 계정 정보에 액세스할 수 있다. 몇몇 구현에서, 사용자와 관련된 계정 정보는 보충 애플리케이션에 사용권한이 적용된 것을 나타내기 위해 업데이트된다(327). 따라서, 컴퓨터 및/또는 호스트 애플리케이션이 어떤 보충 애플리케이션이 설치될 수 있는지 (및 어떤 사용권한이 이들과 연관될 수 있는 지) 판단하기 위해 계정 정보에 액세스하면, 이들은 사용자와 관련된 다른 클라이언트 컴퓨터 및/또는 호스트 애플리케이션들의 구성과 흡사할 것이다.
몇몇 구현에서, 설치된 보충 애플리케이션의 식별자를 포함한 계정 정보가 컨텐츠 공급자와 관련된 서버(가령, 컨텐츠 공급자(105)의 컨텐츠 서버(104))에 저장된다. 제 2 클라이언트 컴퓨터 시스템으로서, 제 2 호스트 애플리케이션이 실행된다(328). 몇몇 구현에서, 제 2 클라이언트 컴퓨터 시스템은 제 1 클라이언트 컴퓨터 시스템과는 다른 임의의 컴퓨터 시스템(가령, 개인용 컴퓨터, 태블릿 컴퓨터, 스마트폰, 또는 제 2 호스트 애플리케이션을 실행할 수 있는 임의의 다른 디바이스)이다. 몇몇 구현에서, 제 2 호스트 애플리케이션은 제 1 호스트 애플리케이션의 별개의 인스턴스이다(가령, 프로그램은 같으나 다른 컴퓨터 또는 동일한 컴퓨터의 다른 사용자 계정 내에서 실행된다). 몇몇 구현에서, 제 2 호스트 애플리케이션은 제 1 호스트 애플리케이션과 같거나 유사한 컨텐츠 액세스를 제공하나, 다른 디바이스에 의해 실행되도록 구성된다. 예컨대, 제 1 호스트 애플리케이션은 (가령, 윈도우 또는 맥 OS 운영 시스템을 실행하는) 개인용 컴퓨터에 의해 실행되도록 구성될 수 있는 반면, 제 2 호스트 애플리케이션은 (가령, iOS 또는 안드로이드 모바일 운영 시스템을 실행하는) 스마트폰 또는 태블릿 컴퓨터에 의해 실행되도록 구성될 수 있다.
몇몇 구현에서, 보충 애플리케이션이 제 1 클라이언트 컴퓨터에 설치되었는지 판단된다(330). 상술한 바와 같이, 이 정보는 사용자와 관련된 계정 정보에 포함되고 서버에 저장될 수 있다. 따라서, 몇몇 구현에서, 보충 애플리케이션이 제 1 컴퓨터에 설치된 것을 판단하는 단계는 컨텐츠 서버(가령, 컨텐츠 서버(104))로부터 사용자가 제 1 클라이언트 컴퓨터에 보충 애플리케이션을 설치했다는 표시를 수신하는 단계를 포함한다. 몇몇 구현에서, 보충 애플리케이션에 적용된 사용권한이 결정된다(332). 몇몇 구현에서, 보충 애플리케이션이 제 2 클라이언트 컴퓨터에 설치된다(334). 따라서, 가령, 제 2 호스트 애플리케이션이 설치되면, 제 2 클라이언트 컴퓨터 및/또는 컨텐츠 서버는 (가령, 컨텐츠 서버(104)에 사용자 계정 정보를 컨설팅함으로써) 어떤 보충 애플리케이션이 제 1 클라이언트 컴퓨터에 설치되었고 어떤 사용권한이 이들 보충 애플리케이션들에 적용될 수 있는지 판단한다. 따라서, 사용자의 보충 애플리케이션들 모두(또는 서브세트)가 제 2 전자 디바이스에 설치되고, "미리보기" 기간에 있는 이들 보충 애플리케이션들이 제 1 세트의 사용권한으로만 실행되는 반면, 승인된 애플리케이션들은 제 2 세트의 사용권한으로 실행된다. 몇몇 구현에서, 보충 애플리케이션은 결정된 사용권한을 이용해 (가령, 제 2 클라이언트 컴퓨터 시스템에) 실행된다(336).
도 4는 몇몇 구현에 따른 애플리케이션 사용권한을 핸들링하는 방법(400)을 나타낸 흐름도이다. 상기 방법(400)은 적어도 하나의 프로세서 및 상기 프로세서에 의한 실행 명령을 저장한 메모리를 갖는 클라이언트 컴퓨터(가령, 클라이언트 컴퓨터(102))에서 적어도 부분적으로 수행된다.
호스트 애플리케이션과 함께 실행하기 위한 보충 애플리케이션이 수신되고, 상기 호스트 애플리케이션(가령, 호스트 애플리케이션(112))은 상기 호스트 애플리케이션의 공급자(가령, 컨텐츠 공급자(105))와 컨텐츠 아이템의 소유자(가령, 컨텐츠 소유자(107)) 간의 라이센스에 동의된 라이센스된 컨텐츠 아이템들에 액세스를 제공한다(402). 컨텐츠 라이센스 동의 및 라이센스된 컨텐츠를 유통하는데 사용된 이들의 기술 및 방법에 대한 영향이 상술되어 있다.
보충 애플리케이션과 관련된 인증파일이 수신된다(404). 몇몇 구현에서, 인증파일은 암호화된다. 몇몇 구현에서, 인증파일은 암호로 서명된다. 몇몇 구현에서, 인증파일은 보충 애플리케이션의 컴퓨터 코드의 해시를 암호화함으로써 생성된다. 암호적으로 공개키와 같은 암호화 기술(비대칭 키 암호기법)이 사용되나, 임의의 적절한 암호화 방식이 사용될 수 있다. 보충 애플리케이션용 인증파일은 보충 애플리캐이션(112)과 함께 사용하기 위해 보충 애플리케이션을 승인한 후에 컨텐츠 공급자(105)에 의해 생성될 수 있다. 가령, 제 3 자가 보충 애플리케이션을 만들 수 있고 이를 승인을 위해 컨텐츠 공급자에 제출할 수 있다. 승인된 후에, 컨텐츠 공급자는 코드의 해시를 만들고 개인키를 이용해 암호화한다. 이 인증파일은 그런 후 보충 애플리케이션과 함께 유통된다. 그런 후, 보충 애플리케이션이 실행 또는 설치되면, 호스트 애플리케이션(및/또는 컨텐츠 서버(104))이 코드의 실시간 해시를 만들고 공개키를 이용해 해시를 암호해독하며, 암호해독된 값을 실시간 해시와 비교하고 상기 값들이 일치하는지 판단할 수 있다. 일치는 보충 애플리케이션이 실제로 컨텐츠 공급자에 의해 승인된 것과 같음을 나타낸다.
방법(400)으로 돌아가, 호스트 애플리케이션과 관련된 자원에 액세스하기 위한 요청이 감지된다(406). 몇몇 구현에서, 자원에 액세스하기 위한 요청은 보충 애플리케이션에서 나온다. 몇몇 구현에서, 자원에 액세스하기 위한 요청은 보충 애플리케이션에 대한 설치 절차에 해당 및/또는 일부이다. 몇몇 구현에서, 자원에 액세스하기 위한 요청은 라이센스된 컨텐츠 아이템들 중 적어도 하나에 액세스에 대한 요청이다. (몇몇 구현에서, 라이센스된 컨텐츠 아이템들 중 적어도 하나가 클라이언트 컴퓨터 시스템으로부터 떨어진 서버에 저장될 수 있다; 몇몇 구현에서는 클라이언트 컴퓨터 시스템에 저장된다). 몇몇 구현에서, 자원에 액세스하기 위한 요청은 호스트 애플리케이션의 애플리케이션 프로그래밍 인터페이스에 액세스하기 위한 요청이다.
인증파일을 이용해, 보충 애플리케이션이 자원에 액세스를 인증하는지 여부가 판단된다(408). 상술한 바와 같이, 몇몇 구현에서, 이는 인증파일로부터 해시값이 보충 애플리케이션의 실시간 해시와 일치하는지 판단하는 단계를 포함한다. 보충 애플리케이션이 자원에 액세스하도록 인증되면, 자원에 대한 액세스가 제공된다(410). 예컨대, 요청된 컨텐츠 파일이 보충 애플리케이션 및/또는 호스트 애플리케이션에 제공(가령, 사용자에 프리젠테이션하기 위해, 재생목록 등에 포함)되고, 호스트 애플리케이션은 보충 애플리케이션에 의해 보내진 애플리케이션 프로그래밍 인터페이스 호출 등에 응답한다. 몇몇 구현에서, 자원에 액세스를 제공하는 단계는 암호화된 통신채널을 통해 지원에 액세스를 제공하는 단계를 포함한다(412). 상술한 바와 같이, 몇몇 구현에서, 호스트 애플리케이션은 컨텐츠 서버(가령, 서버(104), 서버로서 작동하는 다른 클라이언트 컴퓨터, 등)와 함께 암호화된 통신채널을 통제한다. 따라서, 몇몇 구현에서, 보충 애플리케이션이 자원(가령, 컨텐츠 서버(104)에 저장된 컨텐츠 아이템)에 액세스하도록 인증되었다고 판단되면, 호스트 애플리케이션은 보충 애플리케이션이 컨텐스 서버에 통신을 직접 보내게 한다.
그러나, 보충 애플리케이션이 자원에 액세스를 인증하지 않으면, 액세스가 자원에 제공되지 않는다(414). 몇몇 구현에서, 보충 애플리케이션이 호스트 애플리케이션(112)에 설치되지 않는다. 몇몇 구현에서, 설치된 보충 애플리케이션으로부터의 요청이 거부, 무시 또는 그렇지 않으면 작용하지 않게 된다.
도 5는 몇몇 구현에 따른 클라이언트 컴퓨터(102)를 설치하는 블록도이다. 클라이언트 컴퓨터(102)는 일반적으로 프로그램(가령, 메모리(510)에 저장된 프로그램)을 실행하기 위한 하나 이상의 처리유닛(502)(CPU, 때로 프로세서라 함), 하나 이상의 네트워크 또는 다른 통신 인터페이스(504), 사용자 인터페이스(505), 메모리(510), 및 이들 구성요소들을 상호연결시키기 위한 하나 이상의 통신버스들(501)을 포함한다. 통신버스들(501)은 시스템 구성요소들 간에 통신을 상호연결시키고 제어하는 회로(때로 칩셋이라 함)를 포함할 수 있다. 몇몇 구현에서, 사용자 인터페이스(505)는 디스플레이(506) 및 입력 디바이스(들)(507)(가령, 키보드, 마우스, 터치스크린, 키패드, 등)을 포함한다.
메모리(510)는 DRAM, SRAM, DDR RAM, 또는 다른 랜덤 액세스 고체상태 메모리 디바이스와 같은 고속 랜덤 액세스 메모리를 포함하고, 대표적으로 하나 이상의 자기 디스크 저장 디바이스, 광디스크 저장 디바이스, 플래시 메모리 디바이스 또는 기타 비휘발성 고체상태 저장 디바이스와 같은 비휘발성 메모리를 포함한다. 메모리(510)는 선택적으로 CPU(s)(502)로부터 원격 위치된 하나 이상의 저장 디바이스를 포함한다. 메모리(510), 또는 대안으로 상기 메모리(510)내 비휘발성 메모리 디바이스(들)은 비일시적 컴퓨터 판독가능 저장매체를 포함한다. 몇몇 구현에서, 메모리(510) 또는 상기 메모리(510)의 컴퓨터 판독가능 저장매체는 하기의 프로그램, 모듈 및 데이터 구조 또는 그 서브세트를 저장한다:
· 다양한 기본 시스템 서비스를 다루고 하드웨어 의존 태스크를 수행하기 위한 절차들을 포함한 운영 시스템(512);
· 하나 이상의 통신 인터페이스(504)(유무선) 및 인터넷, 기타 광대역통신망(WAN), 근거리통신망(LAN), 도시권통신망 등과 같이 하나 이상의 통신 네트워크(108)를 통해, 클라이언트 컴퓨터(102)를 다른 컴퓨터(가령, 컨텐츠 서버(104) 및/또는 보충 애플리케이션 서버(106-n))에 연결하기 위해 사용되는 통신모듈(514);
· 입력 디바이스(들)(507)을 통해 사용자로부터 명령을 수신하고 디스플레이 디바이스(506)에 사용자 인터페이스 객체를 발생하는 사용자 인터페이스 모듈(516);
· 사용자가 컨텐츠 서버(104)에 저장된 자원(가령, 컨텐츠 아이템(가령, 미디어 컨텐츠), 보충 애플리케이션(114-n) 등), 보충 애플리케이션 서버(106-n), 다른 클라이언트 컴퓨터 등에 액세스하게 하고, 보충 애플리케이션(114-n)용 플랫폼으로서 역할하는 호스트 애플리케이션(112);
· 호스트 애플리케이션(112)에 설치 및/또는 호스트 애플리케이션(112)과 함께 실행되도록 구성된 하나 이상의 보충 애플리케이션(114-n); 및
· 보충 애플리케이션(114-n)이 컨텐츠 서버(104) 및/또는 호스트 애플리케이션(112)의 자원에 액세스하게 인증되었는지 여부를 판단하는 보충 애플리케이션 인증모듈(518).
몇몇 구현에서, 상기 식별된 프로그램 또는 모듈은 도 1-4를 참조로 설명했던 명령어를 포함해 상술한 방법 또는 기능을 수행하기 위한 명령어 세트에 해당한다. 명령어 세트는 하나 이상의 프로세스(가령, CPUs(502))에 의해 실행될 수 있다. 상기 식별된 모듈 또는 프로그램(즉, 명령어 세트)은 별개의 소프트웨어 프로그램, 절차, 또는 모듈로서 구현될 필요가 없으며, 따라서 이들 모듈 또는 프로그램의 다양한 서브세트들이 다양한 구현으로 조합되거나 그렇지 않으면 재배열될 수 있다. 몇몇 구현에서, 메모리(510)는 상기 식별된 모듈 및 데이터 구조의 서비세트를 저장한다. 더욱이, 메모리(510)는 상술하지 않은 추가 모듈 및 데이터 구조를 저장할 수 있다.
도 6은 몇몇 구현에 따른 컨텐츠 서버(104)를 도시한 블록도이다. 컨텐츠 서버(104)는 대표적으로 프로그램(가령, 메모리(610)에 저장된 프로그램)을 실행하기 위한 하나 이상의 처리유닛(CPUs, 때로 프로세서라 함)(602), 하나 이상의 네트워크 또는 다른 통신 인테페이스(604), 선택적 사용자 인터페이스(605), 메모리(610), 및 이들 구성요소들을 상호연결하기 위한 하나 이상의 통신 버스들(601)을 포함한다. 통신버스들(601)은 시스템 구성요소들 간에 통신을 상호연결시키고 제어하는 회로(때로 칩셋이라 함)를 포함할 수 있다. 몇몇 구현에서, 사용자 인터페이스(605)는 디스플레이(606) 및 입력 디바이스(들)(607)(가령, 키보드, 마우스, 터치스크린, 키패드, 등)을 포함한다.
메모리(610)는 DRAM, SRAM, DDR RAM, 또는 다른 랜덤 액세스 고체상태 메모리 디바이스와 같은 고속 랜덤 액세스 메모리를 포함하고, 대표적으로 하나 이상의 자기 디스크 저장 디바이스, 광디스크 저장 디바이스, 플래시 메모리 디바이스 또는 기타 비휘발성 고체상태 저장 디바이스와 같은 비휘발성 메모리를 포함한다. 메모리(610)는 선택적으로 CPU(s)(602)로부터 원격 위치된 하나 이상의 저장 디바이스를 포함한다. 메모리(610), 또는 대안으로 상기 메모리(610)내 비휘발성 메모리 디바이스(들)은 비일시적 컴퓨터 판독가능 저장매체를 포함한다. 몇몇 구현에서, 메모리(610) 또는 상기 메모리(610)의 컴퓨터 판독가능 저장매체는 하기의 프로그램, 모듈 및 데이터 구조 또는 그 서브세트를 저장한다:
· 다양한 기본 시스템 서비스를 다루고 하드웨어 의존 태스크를 수행하기 위한 절차들을 포함한 운영 시스템(612);
· 하나 이상의 통신 인터페이스(604)(유무선) 및 인터넷, 기타 광대역통신망(WAN), 근거리통신망(LAN), 도시권통신망 등과 같이 하나 이상의 통신 네트워크(108)를 통해, 컨텐츠 서버(104)를 다른 컴퓨터(가령, 클라이언트 컴퓨터(102) 및/또는 보충 애플리케이션 서버(106-n))에 연결하기 위해 사용되는 통신모듈(614);
· 입력 디바이스(들)(607)을 통해 사용자로부터 명령을 수신하고 디스플레이 디바이스(606)에 사용자 인터페이스 객체를 발생하는 사용자 인터페이스 모듈(616);
· 컨텐츠 아이템들(가령, 팟캐스트, 음악, 스포큰 워드, 라디오 방송, 영화, 텔레비전 방송, 사용자 생성 컨텐츠, 비디오, 애니메이션, 이미지 또는 이들 컨텐츠 타입들의 다양한 조합과 같은 미디어 컨텐츠 아이템들)을 포함한 컨텐츠 라이브러리(618);
· 각 사용자에 대한 (컨텐츠 공급자(104)용의 계정 및/또는 가령 소셜 네트워크 및/또는 기타 서비스용의 다른 계정을 포함한) 계정 증명, 사용자 프로파일, 설치된 보충 애플리케이션(114-n)의 식별자, 상기 보충 애플리케이션(114-n)과 관련된 사용권한, 재생목록, 재생 히스토리, 좋아하는/선호하는/싫어하는 컨텐츠 아이템의 목록, 및/또는 기타 사용자 정보를 포함한 컨텐츠 서버(104)의 사용자들에 대한 계정 정보를 저장하는 사용자 계정 정보 데이터베이스(620);
· 보충 애플리케이션(114-n)이 컨텐츠 서버(104) 및/또는 호스트 애플리케이션(112)의 자원에 액세스하게 인증되었는지 여부를 판단하는 보충 애플리케이션 인증모듈(622).
· 클라이언트 컴퓨터(102)의 호스트 애플리케이션(112)에 액세스(가령, 다운로드, 원격 실행, 및/또는 설치)할 수 있는 보충 애플리케이션(624).
몇몇 구현에서, 상기 식별된 프로그램 또는 모듈은 도 1-4를 참조로 기술된 명령어를 포함한 상술한 기능 및 방법을 수행하기 위한 명령어 세트에 해당한다. 명령어 세트는 하나 이상의 프로세스(가령, CPUs(602))에 의해 실행될 수 있다. 상기 식별된 모듈 또는 프로그램(즉, 명령어 세트)은 별개의 소프트웨어 프로그램, 절차, 또는 모듈로서 구현될 필요가 없으며, 따라서 이들 모듈 또는 프로그램의 다양한 서브세트들이 다양한 구현으로 조합되거나 그렇지 않으면 재배열될 수 있다. 몇몇 구현에서, 메모리(610)는 상기 식별된 모듈 및 데이터 구조의 서비세트를 저장한다. 더욱이, 메모리(610)는 상술하지 않은 추가 모듈 및 데이터 구조를 저장할 수 있다.
도 7은 몇몇 구현에 따른 보충 애플리케이션 서버(106-n)를 도시한 블록도이다. 보충 애플리케이션 서버(106-n)는 대표적으로 프로그램(가령, 메모리(710)에 저장된 프로그램)을 실행하기 위한 하나 이상의 처리유닛(CPUs, 때로 프로세서라 함)(702), 하나 이상의 네트워크 또는 다른 통신 인테페이스(704), 선택적 사용자 인터페이스(705), 메모리(710), 및 이들 구성요소들을 상호연결하기 위한 하나 이상의 통신 버스들(701)을 포함한다. 통신버스들(701)은 시스템 구성요소들 간에 통신을 상호연결시키고 제어하는 회로(때로 칩셋이라 함)를 포함할 수 있다. 몇몇 구현에서, 사용자 인터페이스(705)는 디스플레이(706) 및 입력 디바이스(들)(707)(가령, 키보드, 마우스, 터치스크린, 키패드, 등)을 포함한다.
메모리(710)는 DRAM, SRAM, DDR RAM, 또는 다른 랜덤 액세스 고체상태 메모리 디바이스와 같은 고속 랜덤 액세스 메모리를 포함하고, 대표적으로 하나 이상의 자기 디스크 저장 디바이스, 광디스크 저장 디바이스, 플래시 메모리 디바이스 또는 기타 비휘발성 고체상태 저장 디바이스와 같은 비휘발성 메모리를 포함한다. 메모리(710)는 선택적으로 CPU(s)(702)로부터 원격 위치된 하나 이상의 저장 디바이스를 포함한다. 메모리(710), 또는 대안으로 상기 메모리(710)내 비휘발성 메모리 디바이스(들)은 비일시적 컴퓨터 판독가능 저장매체를 포함한다. 몇몇 구현에서, 메모리(710) 또는 상기 메모리(710)의 컴퓨터 판독가능 저장매체는 하기의 프로그램, 모듈 및 데이터 구조 또는 그 서브세트를 저장한다:
· 다양한 기본 시스템 서비스를 다루고 하드웨어 의존 태스크를 수행하기 위한 절차들을 포함한 운영 시스템(712);
· 하나 이상의 통신 인터페이스(704)(유무선) 및 인터넷, 기타 광대역통신망(WAN), 근거리통신망(LAN), 도시권통신망 등과 같이 하나 이상의 통신 네트워크(108)를 통해, 보충 애플리케이션 서버(106-n)를 다른 컴퓨터(가령, 클라이언트 컴퓨터(102), 웹 서버(104), 토큰 서버(502) 및/또는 DNS 서버(114))에 연결하기 위해 사용되는 통신모듈(714);
· 입력 디바이스(들)(707)을 통해 사용자로부터 명령을 수신하고 디스플레이 디바이스(706)에 사용자 인터페이스 객체를 발생하는 사용자 인터페이스 모듈(716);
· 클라이언트 컴퓨터(102)의 호스트 애플리케이션(112)에 및/또는 컨텐츠 서버(104)에 액세스(가령, 다운로드, 원격 실행, 및/또는 설치)할 수 있는 보충 애플리케이션(114-n); 및
· 서버와 관련된 보충 애플리케이션(114-n)이 실행될 경우 서버가 액세스, 다운로드, 변경 또는 그렇지 않으면 사용할 수 있는 추가정보 저장장치(718).
몇몇 구현에서, 추가 정보(718)는 보충 애플리케이션 서버(106-n)와 관련된 보충 애플리케이션(114-n)이 사용하거나 의존하는 임의의 정보를 포함한다. 예컨대, 보충 애플리케이션은 호스트 애플리케이션(112)에 재생되는 노래의 가사가 디스플레이되게 할 수 있다. 이들 노래 가사는 보충 애플리케이션 서버(106-n)에 추가 정보 저장장치(718)에 저장될 수 있다. 추가 정보 저장장치(718)에 저장될 수 있는 다른 정보는 사용자의 계정 정보(가령, 로그인 증명, 사용자 프로파일 정보 등), 리뷰(가령, 음악, 영화, 텔레비전, 또는 기타 컨텐츠의 사설 리뷰) 등을 포함한다.
몇몇 구현에서, 상기 식별된 프로그램 또는 모듈은 도 1-4를 참조로 기술된 명령어를 포함한 상술한 기능 및 방법을 수행하기 위한 명령어 세트에 해당한다. 명령어 세트는 하나 이상의 프로세스(가령, CPUs(702))에 의해 실행될 수 있다. 상기 식별된 모듈 또는 프로그램(즉, 명령어 세트)은 별개의 소프트웨어 프로그램, 절차, 또는 모듈로서 구현될 필요가 없으며, 따라서 이들 모듈 또는 프로그램의 다양한 서브세트들이 다양한 구현으로 조합되거나 그렇지 않으면 재배열될 수 있다. 몇몇 구현에서, 메모리(710)는 상기 식별된 모듈 및 데이터 구조의 서비세트를 저장한다. 더욱이, 메모리(710)는 상술하지 않은 추가 모듈 및 데이터 구조를 저장할 수 있다.
도 5-7은 클라이언트와 서버 컴퓨터를 나타내고 있으나, 이들 도면들은 본 명세서에 기술된 구현들의 구조 도식들처럼 보다는 이들 컴퓨터에 있을 수 있는 다양한 피처들의 기능적 설명들로서 더 의도되어 있다. 실제로, 및 당업자에 인식되는 바와 같이, 별개로 도시된 아이템들은 조합될 수 있고 몇몇 아이템은 별개일 수 있다. 예컨대, 도 5-10에 별개로 도시된 몇몇 아이테믈은 단일 모듈 또는 데이터 구조에 구현될 수 있다.
복수의 인스턴트들은 하나의 인스턴스로서 본 명세서에 기술된 구성요소들, 동작들, 또는 구조들에 제공될 수 있다. 마지막으로, 다양한 구성요소, 동작, 및 데이터 스토어 간의 경계는 다소 임의적이며, 특히 동작은 구체적으로 설명한 구성들과 관련해 예시되어 있다. 기능의 다른 할당들도 고안되며, 상기 구현들의 범위 내에 있을 수 있다. 전반적으로, 예시 구성들에서 별개의 구성요소들로 소개된 구조 및 기능은 조합된 구조 또는 구성요소로서 실행될 수 있다. 마찬가지로, 단일 구성요소로서 소개된 구조 및 기능은 별개의 구성요소들로서 구현될 수 있다. 이들 및 다른 변형, 변경, 추가 및 개선들은 기술된 구현들의 범위 내에 있다.
설명을 위해 상술한 기술은 특정 구현들에 대해 기술되었다. 그러나, 상기 예시적인 논의들은 배타적이거나 개시된 정확한 형태로 개시된 아이디어를 제한하려는 것이 아니다. 상기 교시를 고려해 많은 변경 및 변형들이 가능하다. 개시된 아이디어의 원리 및 실제 적용을 가장 잘 설명하기 위해 구현들이 선택되고 설명되어, 이로써 당업자들이 고려되는 실제 사용에 적합한 다양한 변형들과 더불어 다양한 구현으로 이들을 가장 잘 이용할 수 있게 한다.
더욱이, 상기 설명에서, 소개된 아이디어들의 완전한 이해를 제공하기 위해 많은 구체적 세부내용들을 나타내었다. 그러나, 이들 아이어들은 이들 특정 세부내용들이 없어도 실시될 수 있음이 당업자에 명백하다. 당업자에 잘 알려진 다른 예, 방법, 절차, 구성요소 및 네트워크는 본 명세서에 소개된 아이디어의 태양들을 애매하게 하는 것을 방지하기 위해 자세히 설명하지 않았다.
다양한 요소들을 설명하기 위해 "제 1", "제 2" 등의 용어들이 본 명세서에 사용될 수 있으나, 이들 요소들은 이들 용어들에 의해 국한되지 않아야 할 것이 또한 이해될 것이다. 이들 용어들은 단지 한 요소들을 서로 식별하기 위해서만 사용된다. 예컨대, "제 1 서버"의 모든 사건들이 변함없이 남아 있고 "제 2 서버"의 모든 사건들도 변함없이 남아 있는 한 설명의 의미를 바꾸지 않고도, 제 1 서버는 제 1 서버로 지칭될 수 있고, 마찬가지로, 제 2 서버는 제 1 서버로 지칭될 수 있다.
게다가, 본 명세서에 사용된 용어는 특정 구현들만을 설명하기 위한 것이며 특허청구범위의 제한인 것으로 의도되어 있지 않다. 구현들에 대한 명세서와 특허청구범위에 사용된 바와 같이, 본문에서 명확히 다르게 나타내지 않는 한, "한", "하나", "그"의 단수형은 또한 복수형을 포함하도록 되어 있다. 본 명세서에 사용된 바와 같이 "및/또는" 이라는 용어는 관련된 목록 아이템들 중 하나 이상의 임의 및 모든 가능한 조합들을 의미하며 이들을 포함한다. "구비하다" 및/또는 "구비하는"이라는 용어가, 본 명세서에 사용될 경우, 이는 진술된 특징, 정수, 단계, 동작, 요소 및/또는 구성요소의 표현을 명시하지, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 구성요소 및/또는 그룹의 표현 또는 추가를 배제하지 않는 것으로 더 이해된다.
마지막으로, 본 명세서에 사용된 바와 같이, "~인 경우"이라는 용어는 문맥에 따라 앞서 진술된 조건이 사실인 "~ 할 때" 또는 "~할 시", 또는 "~판단에 응답해" 또는 "~판단에 따라" 또는 "~감지에 응답해"를 뜻하는 것으로 해석될 수 있다. 마찬가지로, "(진술된 선행 조건)이 사실로 판단되면" 또는 "(진술된 선행 조건이 사실)인 경우" 또는 "(진술된 선행 조건이 사실)이면"은 문맥에 따라 진술된 선행 조건이 사실인 "판단시" 또는 "판단에 응답해" 또는 "판단에 따른", 또는 "감지시" 또는 "감지에 응답해"라는 뜻으로 해석될 수 있다.

Claims (9)

  1. 프로세서 및 메모리를 갖는 제1 디바이스에서 수행되는 컴퓨터 구현 방법으로서,
    제1 디바이스에서 제2 애플리케이션과 연관된 제1 애플리케이션을 통해, 제1 디바이스와 별개인 제2 디바이스에 저장된 컨텐츠의 사용자 선택을 검출하는 단계;
    사용자 선택에 응답하여:
    컨텐츠에 대한 호출을 제2 애플리케이션으로 송출하는 단계;
    제2 애플리케이션과 제2 디바이스 사이의 통신 채널을 통해 컨텐츠에 액세스하는 단계; 및
    제1 디바이스에서 컨텐츠의 제시를 개시하는 단계를 포함하며,
    상기 제1 애플리케이션은 상기 컨텐츠에 액세스할 권한이 독립적으로 부여되지 않고,
    상기 통신 채널은 제1 디바이스에서 제2 애플리케이션과 별개로 실행되는 애플리케이션들에 액세스될 수 없는, 컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    제1 디바이스에서 컨텐츠의 제시를 개시하는 단계는 제2 애플리케이션에 의해 수행되는 컴퓨터 구현 방법.
  3. 제 1 항에 있어서,
    컨텐츠에 대한 호출은 제2 애플리케이션의 애플리케이션 프로그래밍 인터페이스(API)를 사용하여 송출되는 컴퓨터 구현 방법.
  4. 제 1 항에 있어서,
    컨텐츠는 비디오 파일 및 오디오 파일 중 적어도 하나를 포함하는 컴퓨터 구현 방법.
  5. 제 1 항에 있어서,
    제1 애플리케이션은 제2 애플리케이션과 함께 실행되는 컴퓨터 구현 방법.
  6. 제 5 항에 있어서,
    제1 애플리케이션은 제2 애플리케이션에 대한 플러그-인(plug-in)인 컴퓨터 구현 방법.
  7. 제 1 항에 있어서,
    제2 애플리케이션에서, 제2 애플리케이션과 제2 디바이스 사이의 통신 채널을 개시하는 단계를 더 포함하는 컴퓨터 구현 방법.
  8. 하나 이상의 프로세서; 및
    하나 이상의 프로세서에 의해 실행되도록 구성되는 하나 이상의 프로그램을 저장한 메모리를 포함하는 전자 디바이스로서,
    하나 이상의 프로그램은 제 1 항 내지 제 7 항 중 어느 한 항에 따른 방법을 수행하기 위한 명령어를 포함하는 전자 디바이스.
  9. 전자 디바이스에 의해 실행될 때, 전자 디바이스가 제 1 항 내지 제 7 항 중 어느 한 항의 방법을 수행하게 하는 명령어를 포함하는 하나 이상의 프로그램을 저장한 비-일시적 컴퓨터-판독가능 저장매체.
KR1020207000489A 2011-11-29 2012-11-29 멀티 디바이스의 보안 애플리케이션 통합을 갖춘 컨텐츠 공급자 KR102157107B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161564826P 2011-11-29 2011-11-29
US61/564,826 2011-11-29
US13/688,747 2012-11-29
PCT/IB2012/002909 WO2013080048A1 (en) 2011-11-29 2012-11-29 Content provider with multi-device secure application integration
US13/688,747 US8826453B2 (en) 2011-11-29 2012-11-29 Content provider with multi-device secure application integration

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020197025898A Division KR102066125B1 (ko) 2011-11-29 2012-11-29 멀티 디바이스의 보안 애플리케이션 통합을 갖춘 컨텐츠 공급자

Publications (2)

Publication Number Publication Date
KR20200015724A KR20200015724A (ko) 2020-02-12
KR102157107B1 true KR102157107B1 (ko) 2020-09-17

Family

ID=48468086

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020207000489A KR102157107B1 (ko) 2011-11-29 2012-11-29 멀티 디바이스의 보안 애플리케이션 통합을 갖춘 컨텐츠 공급자
KR1020197025898A KR102066125B1 (ko) 2011-11-29 2012-11-29 멀티 디바이스의 보안 애플리케이션 통합을 갖춘 컨텐츠 공급자
KR1020147017640A KR102020473B1 (ko) 2011-11-29 2012-11-29 멀티 디바이스의 보안 애플리케이션 통합을 갖춘 컨텐츠 공급자

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020197025898A KR102066125B1 (ko) 2011-11-29 2012-11-29 멀티 디바이스의 보안 애플리케이션 통합을 갖춘 컨텐츠 공급자
KR1020147017640A KR102020473B1 (ko) 2011-11-29 2012-11-29 멀티 디바이스의 보안 애플리케이션 통합을 갖춘 컨텐츠 공급자

Country Status (7)

Country Link
US (3) US8826453B2 (ko)
EP (1) EP2786293B1 (ko)
JP (2) JP6189317B2 (ko)
KR (3) KR102157107B1 (ko)
CN (1) CN104081405B (ko)
HK (1) HK1202949A1 (ko)
WO (1) WO2013080048A1 (ko)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9720975B2 (en) * 2012-01-30 2017-08-01 Massachusetts Institute Of Technology Dynamic influence tracking engine and method
US9369514B2 (en) * 2012-06-08 2016-06-14 Spotify Ab Systems and methods of selecting content items
US9280789B2 (en) 2012-08-17 2016-03-08 Google Inc. Recommending native applications
US9762698B2 (en) 2012-12-14 2017-09-12 Google Inc. Computer application promotion
US9038142B2 (en) 2013-02-05 2015-05-19 Google Inc. Authorization flow initiation using short-term wireless communication
US9195432B2 (en) 2013-02-26 2015-11-24 Sonos, Inc. Pre-caching of audio content
US9323511B1 (en) * 2013-02-28 2016-04-26 Google Inc. Splitting application permissions on devices
US20140250105A1 (en) * 2013-03-04 2014-09-04 Google Inc. Reliable content recommendations
JP6653256B2 (ja) 2013-09-11 2020-02-26 アイバイ,インコーポレイテッド ライブビデオコンテンツの動的バインド
CN105580042B (zh) * 2013-09-27 2022-03-11 艾拜公司 用于支持与内容供应相关联的关系的装置和方法
CA2922016A1 (en) 2013-09-27 2015-04-02 Cinsay, Inc. N-level replication of supplemental content
US9299028B2 (en) * 2013-11-04 2016-03-29 Adobe Systems Incorporated Identifying suggestive intent in social posts
US10726102B2 (en) 2014-01-08 2020-07-28 Ipra Technologies Oy Ltd. Method of and system for providing access to access restricted content to a user
US9338514B2 (en) 2014-03-28 2016-05-10 Sonos, Inc. Account aware media preferences
US9720705B2 (en) 2014-04-25 2017-08-01 Sap Se System and method of demand oriented user interface framework
US10129599B2 (en) 2014-04-28 2018-11-13 Sonos, Inc. Media preference database
US9478247B2 (en) 2014-04-28 2016-10-25 Sonos, Inc. Management of media content playback
US9524338B2 (en) 2014-04-28 2016-12-20 Sonos, Inc. Playback of media content according to media preferences
US9535986B2 (en) 2014-06-27 2017-01-03 Sonos, Inc. Application launch
US20160041722A1 (en) * 2014-08-08 2016-02-11 Facebook, Inc. Systems and methods for processing orders of content items
US10084784B1 (en) * 2014-12-02 2018-09-25 Amazon Technologies, Inc. Restricting access to computing resources
US9112849B1 (en) 2014-12-31 2015-08-18 Spotify Ab Methods and systems for dynamic creation of hotspots for media control
CN104867512B (zh) * 2015-03-26 2017-10-24 加一联创电子科技有限公司 音乐数据获取方法、耳机、音箱以及音乐播放器
US11038894B2 (en) * 2015-04-07 2021-06-15 Hewlett-Packard Development Company, L.P. Providing selective access to resources
US10382426B2 (en) * 2015-07-02 2019-08-13 Adobe Inc. Authentication context transfer for accessing computing resources via single sign-on with single use access tokens
AU2015401231A1 (en) * 2015-07-08 2018-02-22 Ipra Technologies Ltd Oy A method of and system for providing access to access restricted content to a user
US10015178B2 (en) * 2015-07-28 2018-07-03 Sap Se Real-time contextual monitoring intrusion detection and prevention
US10419452B2 (en) 2015-07-28 2019-09-17 Sap Se Contextual monitoring and tracking of SSH sessions
US9721551B2 (en) 2015-09-29 2017-08-01 Amper Music, Inc. Machines, systems, processes for automated music composition and generation employing linguistic and/or graphical icon based musical experience descriptions
US10854180B2 (en) 2015-09-29 2020-12-01 Amper Music, Inc. Method of and system for controlling the qualities of musical energy embodied in and expressed by digital music to be automatically composed and generated by an automated music composition and generation engine
US10212171B2 (en) 2015-10-07 2019-02-19 Spotify Ab Dynamic control of playlists
US10417393B2 (en) 2015-11-04 2019-09-17 Screening Room Media, Inc. Detecting digital content misuse based on digital content usage clusters
WO2017222097A2 (ko) * 2016-06-24 2017-12-28 엘지전자 주식회사 디스플레이 장치
CN107770361A (zh) * 2016-08-19 2018-03-06 镇江雅迅软件有限责任公司 一种移动试听系统
US10628482B2 (en) 2016-09-30 2020-04-21 Spotify Ab Methods and systems for adapting playlists
US10452819B2 (en) 2017-03-20 2019-10-22 Screening Room Media, Inc. Digital credential system
US10587413B1 (en) * 2017-07-26 2020-03-10 EMC IP Holding Company LLC Decentralized identities for cross-enterprise authentication and/or authorization
CN109947437A (zh) * 2017-12-20 2019-06-28 沪江教育科技(上海)股份有限公司 一种数据处理方法以及终端
US10887387B2 (en) * 2018-01-05 2021-01-05 Barrett Adams Digital media synchronization system and method
JP7150014B2 (ja) * 2018-05-10 2022-10-07 帝人株式会社 全芳香族ポリアミド繊維
US10754889B2 (en) * 2018-05-24 2020-08-25 Quotient Technology Inc. Computer system and method for dynamically generating an image from digital content items
EP3850510B1 (en) * 2018-11-01 2023-12-27 Hewlett-Packard Development Company, L.P. Infrastructure device enrolment
US11812102B2 (en) * 2019-01-04 2023-11-07 Gracenote, Inc. Generation of media station previews using a reference database
CN110096375B (zh) * 2019-03-29 2023-07-25 努比亚技术有限公司 一种应用程序共享数据方法、装置及计算机可读存储介质
US20210064549A1 (en) * 2019-09-03 2021-03-04 ScaleFlux, Inc. Enhancing the speed performance and endurance of solid-state data storage devices with embedded in-line encryption engines
US12026244B2 (en) * 2019-10-03 2024-07-02 Microsoft Technology Licensing, Llc Registration of dynamically created packaged applications
US10964299B1 (en) 2019-10-15 2021-03-30 Shutterstock, Inc. Method of and system for automatically generating digital performances of music compositions using notes selected from virtual musical instruments based on the music-theoretic states of the music compositions
US11024275B2 (en) 2019-10-15 2021-06-01 Shutterstock, Inc. Method of digitally performing a music composition using virtual musical instruments having performance logic executing within a virtual musical instrument (VMI) library management system
US11037538B2 (en) 2019-10-15 2021-06-15 Shutterstock, Inc. Method of and system for automated musical arrangement and musical instrument performance style transformation supported within an automated music performance system
US11526339B1 (en) * 2020-08-11 2022-12-13 NortonLifeLock Inc. Systems and methods for improving application installation
JP7483775B2 (ja) * 2022-03-08 2024-05-15 本田技研工業株式会社 アプリケーションプログラム、端末装置の制御方法、コンテンツ提供装置、およびコンテンツ提供方法
EP4270218A1 (en) * 2022-04-29 2023-11-01 Utopia Music AG Method, apparatus, and computer program product for providing protected media content
US20240054243A1 (en) * 2022-08-15 2024-02-15 Capital One Services, Llc Systems and methods for orchestrating application use while preventing unauthorized data sharing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070088832A1 (en) * 2005-09-30 2007-04-19 Yahoo! Inc. Subscription control panel

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE296519T1 (de) * 1998-03-16 2005-06-15 Intertrust Tech Corp Streaming-media-abspielgerät mit fortdauernde kontrolle und schutz von medieninhalt
WO2001086503A2 (en) * 2000-05-05 2001-11-15 Megachips Corporation System and method for obtaining and storing information for deferred browsing
WO2002010907A2 (en) * 2000-05-10 2002-02-07 Convera Corporation Method of revoking_authorizations for software components
US7212726B2 (en) * 2000-09-15 2007-05-01 International Business Machines Corporation System and method of processing MPEG streams for file index insertion
US6751673B2 (en) * 2001-01-03 2004-06-15 Akamai Technologies, Inc. Streaming media subscription mechanism for a content delivery network
JP2003058413A (ja) * 2001-08-15 2003-02-28 Sony Corp コンテンツ提供装置、コンテンツ提供方法、ストリームコンテンツの再生プログラム及びストリームコンテンツの再生プログラムを記録した記録媒体
US7181603B2 (en) * 2002-03-12 2007-02-20 Intel Corporation Method of secure function loading
US9715500B2 (en) * 2004-04-27 2017-07-25 Apple Inc. Method and system for sharing playlists
WO2003098524A1 (fr) * 2002-05-20 2003-11-27 Fujitsu Limited Procede et programme d'affichage de materiel didactique
KR100501211B1 (ko) * 2002-12-24 2005-07-18 한국전자통신연구원 플러그인 구조 기반의 디알엠 클라이언트 장치
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
US7672873B2 (en) * 2003-09-10 2010-03-02 Yahoo! Inc. Music purchasing and playing system and method
US20070043766A1 (en) * 2005-08-18 2007-02-22 Nicholas Frank C Method and System for the Creating, Managing, and Delivery of Feed Formatted Content
US7681238B2 (en) * 2005-08-11 2010-03-16 Microsoft Corporation Remotely accessing protected files via streaming
JP2007115160A (ja) * 2005-10-24 2007-05-10 Max International Inc レンタル用の情報記憶媒体、サーバ、これらを使用したレンタル方法
US20070274300A1 (en) * 2006-05-04 2007-11-29 Microsoft Corporation Hover to call
JP2007323544A (ja) * 2006-06-05 2007-12-13 Sony Corp 情報処理システム、情報処理装置、および方法、並びにコンピュータ・プログラム
US20090144490A1 (en) * 2007-12-03 2009-06-04 Nokia Corporation Method, apparatus and computer program product for providing improved memory usage
US8850339B2 (en) * 2008-01-29 2014-09-30 Adobe Systems Incorporated Secure content-specific application user interface components
JP4733715B2 (ja) * 2008-03-14 2011-07-27 ヤフー株式会社 コンテンツ再生装置及びプログラム
GB0807116D0 (en) * 2008-04-18 2008-05-21 Omnifone Ltd Music subscription service
KR101062352B1 (ko) * 2009-06-17 2011-09-05 엘지전자 주식회사 단말기 및 그 제어 방법
US8800057B2 (en) * 2009-09-24 2014-08-05 Samsung Information Systems America, Inc. Secure content delivery system and method
US20120079523A1 (en) * 2010-09-29 2012-03-29 Verizon Patent And Licensing, Inc. Unified video provisioning within a heterogeneous network environment
US20120159337A1 (en) * 2010-12-17 2012-06-21 Kerry Travilla System and method for recommending media content
US10200756B2 (en) * 2011-02-11 2019-02-05 Sony Interactive Entertainment LLC Synchronization of favorites and/or recently viewed lists between registered content playback devices
US20120210353A1 (en) * 2011-02-11 2012-08-16 Sony Network Entertainment International Llc Second display interaction with social networking feed
US9032497B2 (en) * 2011-06-15 2015-05-12 Cbs Interactive Inc. System and method for securing embedded media
US9112825B2 (en) * 2011-09-07 2015-08-18 Dynatrace Llc Performance monitoring of a media player launched by a web browser
US20130103814A1 (en) * 2011-10-25 2013-04-25 Cbs Interactive Inc. System and Method for a Shared Media Experience

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070088832A1 (en) * 2005-09-30 2007-04-19 Yahoo! Inc. Subscription control panel

Also Published As

Publication number Publication date
JP2015500522A (ja) 2015-01-05
EP2786293B1 (en) 2021-08-18
US20130139271A1 (en) 2013-05-30
KR20200015724A (ko) 2020-02-12
WO2013080048A1 (en) 2013-06-06
KR102066125B1 (ko) 2020-01-14
EP2786293A1 (en) 2014-10-08
KR102020473B1 (ko) 2019-09-10
US20150324594A1 (en) 2015-11-12
CN104081405A (zh) 2014-10-01
KR20190107146A (ko) 2019-09-18
US9032543B2 (en) 2015-05-12
JP6189317B2 (ja) 2017-08-30
HK1202949A1 (en) 2015-10-09
KR20140109905A (ko) 2014-09-16
US8826453B2 (en) 2014-09-02
CN104081405B (zh) 2017-09-29
JP2017200238A (ja) 2017-11-02
US20140331332A1 (en) 2014-11-06
US9489527B2 (en) 2016-11-08

Similar Documents

Publication Publication Date Title
KR102157107B1 (ko) 멀티 디바이스의 보안 애플리케이션 통합을 갖춘 컨텐츠 공급자
US11467891B2 (en) Kernel event triggers for content item security
US10382423B2 (en) Systems and methods for providing multimedia content within an application and a security solution integrated therein
US8533860B1 (en) Personalized digital media access system—PDMAS part II
US8935532B2 (en) Content distribution and aggregation
US7934266B2 (en) Contents reproduction device, contents reproduction control method, program
US9325680B2 (en) Digital rights management retrieval system
KR20230118627A (ko) 분산형 컴퓨팅 시스템에서 클라이언트 인증 프로세스동안 콘텐츠를 전달하기 위한 시스템들 및 방법들
JP2015510196A (ja) コンテンツアクセス認可の方法、装置及びコンピュータ可読媒体
TW202420829A (zh) 在分佈式運算系統中之客戶認證程序期間遞送內容之系統及方法
JP2014513364A (ja) コンテンツ利用方法、コンテンツ利用装置、モバイル端末機、及び記録媒体
KR20100006357A (ko) 디지털 컨텐츠 딜리버리 서비스 방법, 서버 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right