KR101185130B1 - 모바일 디바이스들 상의 시간-기반 라이센스들을 위한 정책들을 관리하기 위한 방법 및 장치 - Google Patents

모바일 디바이스들 상의 시간-기반 라이센스들을 위한 정책들을 관리하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR101185130B1
KR101185130B1 KR1020107016749A KR20107016749A KR101185130B1 KR 101185130 B1 KR101185130 B1 KR 101185130B1 KR 1020107016749 A KR1020107016749 A KR 1020107016749A KR 20107016749 A KR20107016749 A KR 20107016749A KR 101185130 B1 KR101185130 B1 KR 101185130B1
Authority
KR
South Korea
Prior art keywords
mobile device
access
protected content
time
parameter values
Prior art date
Application number
KR1020107016749A
Other languages
English (en)
Other versions
KR20100106535A (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 KR20100106535A publication Critical patent/KR20100106535A/ko
Application granted granted Critical
Publication of KR101185130B1 publication Critical patent/KR101185130B1/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • G06F21/725Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1073Conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

시간-기반 라이센스를 갖는 게임들, 매체, 데이터 또는 다른 소프트웨어를 보호하기 위한 융통성 있는 디지털 저작권 관리 라이센스 정책들을 생성하고, 관리하고, 수정하고 그리고/또는 실행하기 위한 방법들 및 디바이스들이 제공된다. 실시예들은 특히 시간 소스가 이용가능하지 않고, 신뢰성이 없거나 또는 신뢰할 수 없는 상황들을 위한 것이다. 라이센스들은 적은 개수의 파라미터들에 의해 정의된다. 파라미터 값들은 보호된 컨텐트 또는 애플리케이션들에 의해 정의될 수 있거나 상기 보호된 컨텐트 또는 애플리케이션들에 포함될 수 있다. 상기 파라미터 값들은 이용가능성 및 보안 특성들 사이를 절충하는 원하는 레벨을 정의하고 실행하도록 선택될 수 있다.

Description

모바일 디바이스들 상의 시간-기반 라이센스들을 위한 정책들을 관리하기 위한 방법 및 장치{METHOD AND APPARATUS FOR MANAGING POLICIES FOR TIME-BASED LICENSES ON MOBILE DEVICES}
본 발명은 소프트웨어 애플리케이션, 데이터 또는 다른 디지털 컨텐트에 대한 시간-기반 디지털 저작권 관리를 생성하고, 관리하고, 수정하며 및/또는 실행하기 위한 방법들 및 시스템들에 관한 것이다.
디지털 저작권 관리(DRM: Digital rights management)는 디지털 컨텐트로의 액세스 또는 디지털 컨텐트의 사용 뿐 아니라, 디지털 작업들 또는 장치들의 특정 인스턴스들과 관련된 제한들로의 액세스를 제어하도록 소프트웨어 개발자들, 발행자들 또는 저작권 소지자들에 의해 이용되는 기술들을 지칭하는 포괄적인 용어이다. 시간-기반 DRM 정책은 제한된 시간 기간(limited period of time) 동안 보호된 디지털 컨텐트에 대한 클라이언트의 제한되지 않는 액세스를 허용한다. 효과적으로 되도록, 상기 시간-기반 DRM 정책을 실행하는 프로세서는 보안 시간(secure time)의 신뢰성 있는 소스로의 액세스를 가져야 한다. 상기 시간-기반 DRM 정책의 무결성을 유지하기 위해, 보안-시간의 신뢰성 있는 소스가 이용가능하지 않은 경우에 상기 보호된 컨텐트로의 액세스가 허용되지 않아야 한다. 그러나, 그와 같은 제한적인 정책들은 상기 보호된 디지털 컨텐트로의 적절히 구매된 액세스를 가지며, 따라서 보안 시간의 신뢰성 있는 소스가 이용가능한지 여부에 관계없이, 라이센싱된 "제한된 시간 기간"이 경과하지 않는 한 액세스를 허용받아야 한다고 믿는 클라이언트들을 불만스럽게 할 수 있다.
그와 같은 클라이언트 우려들을 완화시키기 위해, 시간-기반 DRM 정책 하에서 보호된 디지털 컨텐트의 일부 제공자들은 심지어 보안 시간의 신뢰성 있는 소스가 이용가능하지 않은 때에도 클라이언트들에게 상기 보호된 디지털 컨텐트로의 계속적인 액세스를 허용하도록 선택할 수 있다. 대부분의 그와 같은 제공자들은 상기 보안 시간의 신뢰성 있는 소스가 상기 라이센스 기간이 만료되기 전에 이용가능하게 될 것이라는 가정하에서 그렇게 행한다. 그와 같은 대안적인 시간-기반 DRM 정책들은 상당히 사기당하기 쉽다. 이는 정직하지 못한 사용자들이 "제한된 시간 기간"에 대한 라이센싱이 영원히 실행하도록 비보안 시간 소스를 조작하거나 수정함으로써 상기 "제한된 시간 기간" 라이센스를 부당하게 연장하려 시도할 수 있기 때문이다. 또한, 일부 정직하지 못한 사용자들은 고의로 보안 시간의 신뢰성 있는 소스를 이용 불가능하게 하거나 액세스 불가능하게 하여 상기 라이센스가 만료되었다는 사실에도 불구하고 상기 보호된 디지털 컨텐트로의 계속적인 액세스가 허용되게 할 수 있다.
모바일 디바이스들은 특히, 상기 모바일 디바이스의 내부 클록이 정확하지 않을 수 있고, 수정으로부터 보안되지 않을 수 있거나 심지어 존재하지 않을 수도 있기 때문에, 이러한 취약성을 겪는다. 셀룰러 전화들, 개인 정보 단말(PDAs), 무선 모뎀들 및 유사한 휴대용 통신 장치들이 자립형의, 정확한 보안 클록을 갖지 않을 수 있는 모바일 디바이스들의 예들이다. 또한, 그와 같은 모바일 디바이스들은 모든 조건들 하에서 보안 시간을 검색하는 신뢰성 있는 및/또는 보안 수단을 갖지 않을 수 있다.
이러한 이유들로, 시간과는 다른 표준에 기초하여 보호된 디지털 컨텐트로의 사용 또는 액세스를 제한하도록 대안적인 DRM 정책들이 고안되었다. 그와 같은 대안적인 DRM 정책들의 예들은 실행들, 소비 인스턴스들 또는 상기 보호된 컨텐트로의 액세스들의 수를 추적하고 제한하는 것을 포함한다. 그와 같은 대안적인 DRM 정책들은 보호된 컨텐트 제공자들에게 시간-기반 DRM 정책들에 대한 효과적인 대안을 허용하는 반면, 잠재적 클라이언트들은 그와 같은 DRM 정책들이 너무 제한적이라고 결론내려 상기 보호된 디지털 컨텐트를 구매하지 않도록 설득될 수 있다. 결과적으로, 디지털 컨텐트의 판매가 더 줄어들게 된다. 따라서, 보호된 디지털 컨텐트 제공자들은 보안 시간의 신뢰성 있는 소스가 이용 불가능한 경우에도 클라이언트 액세스를 허용하지만 정직하지 못한 클라이언트들에 의한 과도한 속임수를 방지하는 시간-기반 DRM 라이센스 정책들을 위한 더 신뢰성 있는 방법 또는 시스템을 원할 수 있다.
여기에서 제시되는 방법들 및 시스템들의 실시예들은 시간-기반 라이센스를 가지는 디지털 컨텐트(예를 들어, 매체, 데이터, 게임들 또는 다른 소프트웨어)를 보호하기 위한 융통성 있는 라이센스 정책들을 생성하고, 관리하고, 수정하고 그리고/또는 실행하는 문제점에 대한 해결책을 제공한다. 실시예들은 보안 시간의 신뢰성 있는 소스가 이용 불가능하며 상기 컨텐트를 포함하는 모바일 디바이스 상의, 존재한다면, 시간 클록이 신뢰할 수 없거나 믿을 수 없는 경우의 상황들을 다룬다.
폭넓은 다양한 정책(policy)들이 적은 개수의 파라미터들에 의해 완전히 특징지워질 수 있도록 허용하는 실시예들이 설명된다. 상기 파라미터들의 값들?그리고 그에 따라 선택된 정책?은 초기에 설정될 수 있으며 이후에 새로운 파라미터 값들의 원격 다운로딩 등에 의해 임의의 시점에서 동적으로 변경될 수 있다. 상기 파라미터 값들은 사용가능성 및 보안 특성들 사이의 원하는 수준의 절충안을 정의하고 실행하도록 선택될 수 있다.
본 명세서에 통합되며 본 명세서의 일부분을 구성하는 다음 도면들은 바람직한 실시예들을 예시하며, 상기의 개괄 설명 및 이하의 상세한 설명과 함께 실시예들의 특징들을 설명하도록 이용된다.
도 1a는 보안 시간 소스로의 액세스를 갖는 다수의 모바일 디바이스들을 포함하는 시스템의 시스템도이다.
도 1b는 일 타입의 모바일 디바이스의 엘리먼트들의 회로 블록도이다.
도 1c는 다른 타입의 모바일 디바이스의 엘리먼트들의 회로 블록도이다.
도 2는 잠재적 라이센스 정책 파라미터들, 그들의 가능한 값들 및 의미들의 표이다.
도 3은 잠재적 파라미터 값들의 다양한 조합들에 의해 정의된 예시적인 정책들을 도시하는 표이다.
도 4는 파라미터화된 시간-기반 라이센스 정책을 실행하도록 실행 에이전트에 의해 실행될 수 있는 절차의 실시예의 프로세스 흐름도이다.
도 4a는 도 4에 도시된 프로세스를 실행하는 절차에 대한 대안적인 예시의 가능한 의사-코드의 목록이다.
도 4b는 파라미터화된 시간-기반 라이센스 정책을 실행하는 대안적인 절차에 대한 예시적인 가능한 의사-코드의 목록이다.
도 5는 상기 실행 에이전트에 의해 실행될 수 있는 절차의 대안적인 실시예의 프로세스 흐름도이다.
도 5a는 파라미터화된 시간-기반 라이센스 정책을 실행하는 절차에 대한 예시적인 가능한 대안적인 의사-코드의 목록이다.
도 6은 TimeCallAt Startup 파라미터를 사용하는 예시적인 방법에 의해 수행된 단계들의 프로세스 흐름도이다.
도 6a는 보안 시간이 보안 시간 소스로부터 획득되어야 하는지 여부를 검사하는 절차에 대한 예시적인 가능한 대안적인 의사-코드의 목록이다.
도 7은 업데이트된 라이센스 파라미터들을 검사하고 다운로딩하기 위한 실시예 방법에 의해 수행된 단계들의 프로세스 흐름도이다.
도 7a는 업데이트된 라이센스 파라미터들을 검사하고 다운로딩하는 절차에 대한 가능한 대안적인 의사-코드 목록의 예시를 제공한다.
첨부한 도면들을 참조하여 본 발명의 다양한 실시예들의 상세하게 설명된다. 가능한 경우마다, 동일한 참조 부호들이 동일한 또는 유사한 부분들을 지칭하도록 도면들 전체에 걸쳐 사용될 것이다.
라이센스된 보호 컨텐트 또는 간단하게 "보호 컨텐트"는 다양한 종류들의 매체, 엔터테인먼트 렌털들, 문서들, 소프트웨어, 데이터, 실험 또는 데모 컨텐트 등을 포함할 수 있지만, 이들로 제한되는 것은 아니다. 보호 컨텐트에 대한 보호 및 DRM을 복제하는 다양한 방법들이 존재한다.
가장 흔한 DRM 정책들 중 하나는 시간-기반 라이센스이다. 그와 같은 시간-기반 라이센스하에서, 클라이언트들은 (만료 날짜까지와 같은) 제한된 시간 기간 동안 보호 컨텐트로의 무제한 액세스를 허용받는다. 여기서, "보호된 컨텐트 액세싱" 및 유사한 구절들은 상기 컨텐트를 보고, 읽고, 재생하고, 실행하고, 편집하거나 수정하는 것을 망라한다. 상기 제한된 시간 기간이 경과한 때에, 상기 클라이언트는 더 이상 기존의 라이센스하에서 보호된 컨텐트를 액세스하도록 허용받지 못한다.
대안적인 DRM 정책은 "무한" 라이센스를 포함할 수 있다. 보호된 컨텐트 제공자들이 라이센스 만료 날짜/시간을 계속하여 모니터링하기를 원하지 않는 경우들에서, 보호된 컨텐트 제공자들은 상기 보호된 컨텐트에 대해 프리미엄을 부과할 수 있으며 상기 클라이언트가 상기 보호된 컨텐트를 무한하게 액세스하도록 허용할 수 있다. 본질적으로, 상기 클라이언트는 제한된 시간 기간 동안의 라이센싱보다는 상기 보호 컨텐트를 소유하려고 구매한다. 그러나, 많은 잠재적 클라이언트들은 상기 의도된 사용이 제한될 때 상기 프리미엄 가격을 지불하기를 원하지 않을 것이기 때문에, 그와 같은 보호 정책들은 최적이 아닐 수 있다. 결과적으로, 상기 보호 컨텐트가 시간-기반 라이센스하에서 이용가능한 경우보다 더 적은 잠재적 클라이언트들이 상기 보호 컨텐트를 액세스하는 비용을 실제적으로 지불하는 클라이언트들이 될 수 있다.
클라이언트들에 음악 선택들로의 액세스를 제공하는 컨텐트 제공자의 예를 고려한다. 다양한 DRM 정책들이 상기 컨텐트 제공자에 이용가능하다. 상기 컨텐트 제공자는 사용 규칙들에 기초한 정책하에서 상기 음악 선택들이 클라이언트들에 이용가능하게 할 수 있다. 그와 같은 사용 규칙들은 클라이언트가 N번의 음악 선택을 재생하거나 액세스하게 하는 액세스-카운트 한계를 포함할 수 있다. 대안적으로, 상기 컨텐트 제공자는 클라이언트가 특정 날짜 또는 시간까지 음악 선택을 재생하게 하는 시간-기반 사용 한계하에서 클라이언트에 음악 선택들을 이용가능하게 할 수 있다. 보호된 컨텐트(즉, 음악 선택들)의 본질 및 대부분의 클라이언트들이 그와 같은 보호된 컨텐트로의 액세스를 선호하는 방식으로 인하여, 클라이언트들은 음악 선택을 재생하는 횟수에 의해 제한되는 것을 원하지 않을 수 있으며, 오히려 상기 선택이 재생될 수 있는 날들 또는 시간들로 제한되기를 원할 수 있다. 결과적으로, 그와 같은 상황들에서 시간-기반 라이센스들이 선호되는 이유를 알 수 있다. 사용자가 보호된 컨텐트로의 무제한 액세스를 원하지만 시간이 지남에 따라 상기 보호된 컨텐트에 싫증낼 것으로 예상되는 게임들 또는 비디오들와 같은 보호된 컨텐트에 대해 유사한 상황들이 발생할 수 있다.
보호된 컨텐트에 대한 종래의 시간-기반 라이센스 정책들은 상기 라이센스 만료 날짜/시간을 내부 클록에 의해 제공된 시간 또는 날짜 값과 비교할 수 있다. 만료 날짜/시간과 상기 클록의 비교는 라이센스 만료 날짜/시간이 아직 경과되지 않았음을 나타내는 한, 상기 프로세서는 상기 보호된 컨텐트로의 무제한 액세스를 허가한다. 상기 비교는 상기 라이센스 만료 날짜/시간이 경과되었음을 나타내는 경우에, 상기 프로세서는 상기 보호된 컨텐트로의 추가적인 액세스를 거부한다. 간단한 형태인 반면, 정직하지 못한 클라이언트가 제한된 시간 기간을 효과적으로 무한하게 하도록 상기 장치 클록을 조작하기가 비교적 용이하기 때문에, 그와 같은 DRM 정책들 및 보호들은 용이하게 회피될 수 있다. PC(또는 다른 장치) 클라이언트들은 제한된 시간 기간이 결코 경과하지 않도록 반복적으로 상기 PC(또는 다른 장치)의 내부 클록을 "롤-백(roll-back)"하는 능력을 가질 수 있다. 소프트웨어가 그와 같은 "롤-백" 동작들을 검출하도록 존재하는 한편, 그와 같은 소프트웨어의 날짜를 기입하는 것은 효율적인 것으로 증명되지 않았다.
더 견고한 시간-기반 라이센스 정책은 상기 시간-기반 라이센스 만료 날짜/시간을 비교하도록 사용된 클록이 신뢰성 있으며 보안 시간 소스가 정확하고, 신뢰성 있으며 변조-방지인 시간의 일부 형태를 제공할 것을 요구할 수 있다. 그와 같은 보안 시간의 소스는 상기 모바일 디바이스 자체 내에 위치할 수 있다. 그렇지 않으면, 원격으로 액세스가능한 보안 시간의 소스들이 이용될 수 있다. 예를 들어, 인터넷 상의 웹사이트 www.time.gov는 클라이언트가 수정할 수 없는, 원격으로 액세스가능하고, 정확하며 신뢰성 있는 시간 소스이다. 모바일 디바이스가 신뢰성 있으며 안전한 시간 소스?로컬 또는 네트워크 상의?를 참조하도록 되어 있는 한, 더 견고한 시간-기반 라이센스가 효율적으로 동작할 수 있다.
모바일, 셀 전화들, PDA들, 무선 모뎀들 및 다른 이동 통신 장치들이 전형적으로 보안 시간 소스를 참조하도록 요구되는 것은 아니다. CDMA 장치들은 시간 기록을 엄밀하게 상관시키도록 사용된 시간의 소스를 갖는 반면, 상기 시간은 보안되지 않을 수 있어 클라이언트에 의해 수정되거나 조작될 수 있다. GSM 장치들은 GSM 장치에서의 시간이 독립적으로 제공되거나 제어되기 때문에, 시간의 개념을 갖지 않을 수 있다. 결과적으로 시간-기반 DRM 정책들은 그와 같은 장치들 상에 효율적으로 실행하는 것이 어려울 수 있다.
일 실시예는 상기 보호된 컨텐트로의 액세스가 허가되기 전에 보안 시간이 상기 라이센스 만료 날짜/시간을 비교하기 위해 이용가능할 것을 주장할 수 있는 제한적인 DRM 정책을 포함할 수 있다. 그와 같은 주장은 클라이언트/사용자를 불만스럽게 할 수 있다. 먼저, 보안 시간의 소스가 지역적으로 이용가능하지 않은 경우, 보안 시간의 외부 소스를 획득하도록 데이터 호출이 요구될 수 있다. 상기 데이터 호출은 상기 보호된 컨텐트로의 액세스를 지연시킬 수 있으며, 이는 상기 데이터 호출이 성공적이지 못한 경우 상기 클라이언트/사용자에게 불만을 야기하게 된다. 둘째로, 상기 클라이언트가 적절하게 라이센싱된 보호된 컨텐트를 액세스하기를 원하는 경우, 클라이언트/사용자의 제어밖에 있다는 이유로 보안 시간의 소스가 이용 불가능한 많은 상황들이 있을 수 있다. 그와 같은 상황의 예는 내부 보안 클럭이 없이, 모바일 디바이스가 지리적으로 서비스 제공자 네트워크밖에 위치되는 경우이다. 그와 같은 상황은 상기 클라이언트/사용자가 이동 중일 때 발생할 수 있으며 서비스 제공자 네트워크의 밖으로 이동할 수 있다. 이러한 상황은 "네트워크 외"라 지칭된다. 상기 모바일 디바이스가 네트워크 외에 있기 때문에, 상기 모바일 디바이스는 적어도 로밍없이 상기 모바일 디바이스가 보안 시간의 소스와의 데이터 링크를 생성할 수 있게 하는 신호를 획득할 수 없을 것이다.
그와 같은 상황의 또 다른 예는 내부 보안 클럭이 없는 모바일 디바이스가 지리적으로 서비스 제공자 네트워크 내에 위치하지만, 클라이언트가 상기 모바일 디바이스의 트랜시버 기능을 쓸 수 없는 경우일 수 있다. 그와 같은 상황은 상기 클라이언트/사용자가 상기 모바일 디바이스의 트랜시버 기능의 불능을 요구하는 위치에 진입한 때에 발생할 수 있다. 예를 들어, 상기 클라이언트/사용자가 비행기 또는 병원에 있을 때이다. 이러한 상황은 "네트워크 내"라 지칭된다. 상기 모바일 디바이스의 트랜시버 기능이 사용 불가능하게 되었기 때문에, 상기 모바일 디바이스는 보안 시간의 소스와 데이터 링크를 생성할 수 있게 하는 신호를 획득할 수 없을 것이다.
그와 같은 상황의 또 다른 예는 상기 모바일 디바이스가 "로밍 모드"에 있는 경우일 수 있다. 그와 같은 상황은 상기 클라이언트/사용자가 특정 서비스 제공자 네트워크 밖에서 이동하지만, 또 다른 서비스 제공자 네트워크 내에 있는 경우에 발생할 수 있다. 상기 모바일 디바이스가 로밍 모드에 있을 때, 상기 모바일 디바이스는 전화 호출들을 행하고 수신할 수 있지만, 보안 시간의 소스와 데이터 링크를 확립할 수 없다.
클라이언트/사용자는 상기 보호된 컨텐트가 적절하게 라이센싱되어 있으며 만료 날짜/시간이 경과하지 않았다는 사실에 불구하고 이들 상황들에서 보호 컨텐트로의 액세스가 허가되지 않는 것을 번거롭게 느낄 수 있다. 그와 같은 번거로움은 부정적인 경험으로 인하여 클라이언트/사용자가 장래의 시간-기반 라이센스를 실행하지 않으려 할 수 있다.
대안적인 실시예는 상술한 상황들이 사실상 일시적이며 연장된 시간 주기동안, 또는 상기 라이센스 만료 날짜/시간 외로 연장하는 시간 주기 동안 존재하지 않을 것이라는 가정하에, 보안 시간의 이용 불가능성에도 불구하고 상기 보호된 컨텐트로의 클라이언트/사용자 액세스를 허용할 수 있다. 그러나, 그와 같은 대안적인 실시예는 늘어난 시간 주기 동안 상기 상황들 중 임의의 것을 의도적으로 생성하여 상기 라이센싱된 시간 주기가 효과적으로 무한하게 하는 정직하지 못한 클라이언트에 의해 부당하게 이용될 수 있다.
따라서, 특히 다중-모드 장치들(예를 들어, CDMA 및/또는 GSM 환경에서 동작할 수 있는 장치) 및 다중-모드 시장에 대해, 보호된 컨텐트로의 제한적인 액세스를 제공하면서 상기 클라이언트/사용자 경험을 보존하는 라이센스 정책들의 융통성 있는 선택이 바람직하다. 컨텐트 제공자들은 또한 시간-기반 라이센스들의 연장 또는 수정을 포함하는, 판매 이후에 상기 보호 정책들을 동적으로 수정하는 능력을 원한다. 또한, 무선 디바이스 제조업자들 및 서비스 제공자들이 작업 현장에서 또는 판매시에 디폴트 또는 맞춤 정책들을 구성할 수 있도록 하는 것이 바람직하다. 따라서, 시간-기반 DRM 정책들을 생성, 관리, 수정 및/또는 실행하기 위한 대안적인 방법들 및 시스템들이 필요하다.
대안적인 실시예들은 보안 시간의 신뢰할 수 있는 소스가 이용 불가능하며, 만약 있다면, 상기 컨텐트를 포함하는 모바일 장치상의 시간 클록이 신뢰성 없는 경우의 상황들을 다룬다. 다양한 실시예들이 비교적 적은 수의 파라미터들의 구성 값들에 기초하는, 개선된 시간-기반 라이센스들 및 DRM 정책들을 제공한다. 그와 같은 실시예들은 특히 정확하고 신뢰성 있는 시간을 제공하는 보안 시간 소스가 항상 이용가능하지는 않은 시간-기반 정책들을 대상으로 한다. 실시예들은 보안 시간이 이용가능한지 또는 이용 불가능한지 여부에 기초하여 시간-기반 정책을 실행하는 적응형 실행 에이전트를 포함할 수 있다.
소수의 잘-선택된 파라미터들은 광범위한 융통성 있는 DRM 정책들을 생성하고 제어하도록 사용될 수 있다. 상기 광범위한 융통성 있는 DRM 정책들은 보안의 레벨들을 변동시키고 역으로 관련될 수 있는 클라이언트/사용자 경험의 정도를 변동시키는 것을 제공할 수 있다. 예를 들어, 매우 강한 보안 레벨을 갖는 정책들은 클라이언트/사용자 경험에 대해 매우 취약한 순위를 가질 수 있다. 역으로, "오케이" 보안 레벨들을 갖는 정책들은 클라이언트/사용자 경험에 대해 "매우 양호한" 순위를 가질 수 있다. 상기 라이센스 파라미터들의 다양한 순열들은 정책들의 스펙트럼을 생성할 수 있다. 소수의 파라미터들만을 이용한다는 것은 다수의 보호 컨텐트의 아이템들에 대한 라이센스들이 모바일 디바이스의 메모리에 밀집하여 포함될 수 있다는 것을 의미한다. 이는 모바일 디바이스상의 단일의 비교적 단순한, 보안 실행 에이전트가 DRM에 대한 많은 또는 모든 요구들에 서비스하는 것을 가능하게 한다.
일반적으로, 견고한 DRM 보호는 클라이언트의 경험에 강한 영향을 미칠 수 있는 지연, 사용 한계들 또는 다른 불편들을 야기할 수 있다. 예를 들어, 보안 시간을 획득하기 위해 상기 서비스 제공자 네트워크로의 무선 데이터 호출을 요구하는 것은 상기 DRM 보호 방식을 개선시키지만 상기 보호된 컨텐트로의 클라이언트의 액세스를 지연시킬 것이다. 또한, 상기 보안 시간을 검색하도록 요청된 무선 에어 시간은 특히, 보호된 컨텐트로의 각 액세스가 그와 같은 전화 호출을 요구하고, 상기 액세스들이 빈번하며, 상기 클라이언트가 각 시간-검색 호출을 승인해야 하는 경우에, 클라이언트들이 환영하지 않을 추가 비용들과 관련될 수 있다. 상기 클라이언트의 경험을 개선하기 위해, 서로 다른 파라미터들에 의해 생성된 정책은, 예를 들어 상기 모바일 디바이스가 먼저 파워 온 될 때만 보안 시간으로의 액세스를 요구할 수 있다.
이하에서는 특정 파라미터들, 파라미터 값들의 조합들에 기초한 정책들의 예들 및 파라미터 값들의 특정 조합에 의해 특징화되는 정책을 실행하기 위한 절차들을 갖는 실시예들을 설명한다. 논의된 특정 파라미터들은 예시적인 목적들을 위해서만 제공되며, 본 발명 또는 청구범위의 범위를 제한하려는 것이 아니다.
도 1a는 시간-기반 라이센스들이 동작할 수 있는 시스템의 실시예를 도시한다. 서비스 제공자 네트워크(201)는 무선 음성 및/또는 데이터 통신을 지원한다. 상기 서비스 제공자 네트워크(201)는 CDMA(Code Division Multiple Access), GSM(Global System for Mobile Communications), UMTS(Universal Mobile Telecommunicatins System) 또는 다른 무선 기술을 이용할 수 있다. 모바일 디바이스들(100, 200)과 상기 서비스 제공자 네트워크(201) 사이의 양방향 무선 통신은 상기 기지국들(205)을 통해 발생한다. 상기 서비스 제공자 네트워크(201)는 신뢰성 있고, 정확하며 상기 서비스 제공자 네트워크(201)를 통해 상기 모바일 디바이스들(100, 200)로 액세스가능한 보안 시간 소스(202)로 액세스할 수 있다.
예시적인 모바일 디바이스(100)가 도 1b에 더 상세하게 도시된다. 상기 모바일 디바이스(100)는 에어 인터페이스(101), 보안 클록(102), 명령 프로세서(110) 및 메모리(111)를 포함할 수 있으며 그 엘리먼트들은 하드웨어, 소프트웨어 또는 그들의 조합으로 실행될 수 있다. 상기 에어 인터페이스(101)는 CDMA(Code Division Multiple Access) 인터페이스, GSM(Global System for Mobile Communications) 인터페이스, CDMA 및 GSM을 지원하는 멀티모드 인터페이스 또는 이들 무선 인터페이스들 중 하나의 후속하는 파생물일 수 있다. 상기 보안 클록(102)은 보안 시간의 로컬 소스를 제공할 수 있다. 상기 모바일 디바이스(100)는 상기 서비스 제공자 네트워크(201)를 통해 액세스 가능한 시스템 보안 시간 소스(202)를 이용하는 때에 상기 로컬 보안 클록(102)을 안전하게 업데이트할 수 있다. 상기 명령 프로세서(110)는 하나 이상의 마이크로프로세서들, 마이크로제어기들, 디지털 신호 프로세서들(DSps), 응용-주문형 회로(ASICs) 또는 이들의 임의의 조합일 수 있다. 상기 메모리(111)는 프로세서 명령들 및/또는 데이터의 소스로서 상기 명령 프로세서(110)에 의해 액세스 가능하다. 상기 메모리(111)는 랜덤 액세스 메모리(RAM), 판독-전용 메모리(ROM), 플래시 메모리, 프로그램어블 판독-전용 메모리(PROM), 소거가능 전자 프로그램어블 메모리(EEPROM), 소거가능 판독-전용 메모리(EPROM), 디스크 드라이브 메모리 등 중 임의의 조합을 포함할 수 있다. 상기 명령 프로세서(110)는 상기 에어 인터페이스(101), 상기 보안 클록(102), 상기 메모리(111)의 하나 이상의 부분들 및/또는 입력/출력 유닛들과 같은 상기 모바일 디바이스(100)의 다른 자원들로의 액세스를 제어할 수 있는 하드웨어를 포함할 수 있다.
상기 메모리(111)에 저장된 것은 상기 명령 프로세서(110)에 의해 실행되는 명령들 및/또는 상기 명령 프로세서(110)에 의해 실행된 명령들에 의해 액세스되는 디지털 데이터일 수 있다. 상기 명령들 및 데이터는 운영 시스템(OS)(103), 라이센스 실행 에이전트(104), 라이센스 파라미터들(105), 하나 이상의 애플리케이션 프로그램들(106) 및 보호된 컨텐트(107, 108)의 아이템들을 포함할 수 있다. 상기 운영 시스템(103)은 상기 모바일 디바이스의 기본 동작을 제어하는 명령들의 세트이다. 상기 운영 시스템(103)은 상기 메모리(111)에 저장된 보호된 컨텐트(107, 108)의 하나 이상의 인스턴스들 및/또는 라이센스 파라미터 값들(105)을 포함하는 상기 메모리(111)의 보안 부분들을 확인하도록 클라이언트 액세스를 제어할 수 있다. 상기 운영 시스템(103)은 상기 보호된 컨텐트(107, 108)의 보안을 실행하기 위해 상기 클라이언트로부터 스스로 보안(즉, 변조 방지)되어야 한다. 보호된 컨텐트(107, 108)의 각 아이템에 대한 라이센스 파라미터 값들의 개별 세트가 존재할 수 있다. 대안적인 실시예에서, 파라미터 값들의 일 세트가 보호된 컨텐트(107, 108)의 하나 이상의 아이템에 적용할 수 있다. 운영 시스템(110)은 라이센스 실행 에이전트(104)에 상기 라이센스 파라미터들(105)로의 특권 액세스와 같은, 메모리(111)의 어떤 보안 부분들로의 특권 액세스를 허가할 수 있다. 상기 하나 이상의 애플리케이션 프로그램들(106)의 실행은 애플리케이션 프로그램들(106)이 실행할 수 있는지 여부를 포함하여, 상기 운영 시스템(103)의 제어하에 있을 수 있다. 상기 운영 시스템(103)은 또한 애플리케이션들(106)이 하드웨어 자원들 및 메모리(111)를 액세스할 수 있는지 여부를 제어할 수 있다. 예를 들어, 상기 운영 시스템(103)은 실행가능한, 판독-기입, 판독-전용 또는 액세스 불가능과 같이 상기 메모리(111)의 인접 어드레스들의 다양한 블록들을 동적으로 제한하는 상기 프로세서(110)의 하드웨어를 제어할 수 있다.
보안 로컬 클록을 포함하지 않는 또 다른 예시적인 모바일 디바이스(200)는 도 1c에 예시되어 있다. 도 1b에 도시된 상기 모바일 디바이스(200)는 도 1b에 도시된 모바일 디바이스(100)의 엘리먼트들의 기능들과 유사한 기능들을 갖는 엘리먼트들을 포함한다. 로컬 보안 클록 또는 그 등가물이 없이는 상기 모바일 디바이스(200)는 보안 시간의 로컬 소스를 갖지 않는다. 그러나, 상기 모바일 디바이스(200)는 상기 명령 프로세서(110)에서 실행되는 상기 메모리(111)에 저장된 소프트웨어 명령들에 의해 제어된 바와 같이 상기 에어 인터페이스(101)를 통해 데이터 호출을 상기 서비스 제공자 네트워크(201)로 배치함으로써 보안 시간을 획득할 수 있다.
상기 데이터 호출은 다양한 방식들로 달성될 수 있다. 상기 모바일 디바이스(200)는 무선 데이터 패킷으로서 보안 시간 데이터를 수신하도록 보안 시간 소스를 갖는 데이터 통신 링크를 확립할 수 있는 특정 번호로 셀룰러 전화 호출을 배치할 수 있다. 대안적으로, 상기 모바일 디바이스(200)는 브라우저를 개방하고 상기 소스에 대한 IP 어드레스를 액세싱함으로써 상기 보안 시간 소스로 접속하는, 상기 인터넷으로의 무선 접속을 통해 상기 보안 시간 소스로의 접속을 확립할 수 있다. 제 3 대안으로서, 상기 데이터 호출은 보안 시간을 리턴할 수 있는 어드레스로 특정 SMS 메시지를 송신하고 그에 응답하는 SMS 메시지를 대기함으로써 달성될 수 있다. 상기 보안 시간 소스를 호출하기 위한 이들 대안적인 방식들의 각각은 상기 명령 프로세서(110)에서 실행되는 메모리(111)에 저장된 소프트웨어 명령들에 의해 제어된 대로 에어 인터페이스(101)에 의해 관리될 수 있다. 본 명세서에서 "데이터 호출"이란 이들 대안들의 각각 및 상기 모바일 디바이스가 상기 보안 시간 소스와 확립할 수 있는 임의의 다른 무선 데이터 통신 링크들을 망라하는 것이다.
상기 서비스 제공자 네트워크(201)가 상기 데이터 호출의 일부분으로서 리턴하는 보안 시간은 또한 상기 클라이언트가 상기 수신된 시간을 변경할 수 없게 하도록 보안 되어야 한다. 상기 운영 시스템(103)은 상기 데이터 호출 또는 상기 데이터 호출의 데이터로서 리턴된 보안 시간의 보안을 실행할 수 있다. 예를 들어, 상기 보안 시간의 보안은 상기 데이터 호출의 데이터를 인증함으로써 제공될 수 있다. 상기 시간 데이터의 인증은 이들 잘 알려진 인증 방법들을 이용하여 상기 시간 데이터의 디지털 서명 또는 해시 함수-기반 메시지 인증 코드(HMAC)를 포함하여 달성될 수 있다. 또한, 상기 시간 데이터는 잘 알려진 암호 방법들을 이용하여 암호화될 수 있다. 대안적으로, 상기 운영 시스템(103)은 클라이언트가 상기 데이터 호출에서 리턴된 보안 시간을 가로채거나 조작할 방법이 없음을 보장할 수 있다. 예를 들어, 상기 운영 시스템(103)은 임의의 애플리케이션 프로그램(106)으로의 커맨드들 또는 입력을 통해, 또는 클라이언트에 이용가능한 상기 모바일 디바이스(200)의 통상 기능을 통해 상기 데이터 호출?직접 또는 간접으로?로의 클라이언트 액세스를 방지할 수 있다.
임의의 수의 모바일 디바이스들은 하나 이상의 기지국들(205)을 통해 상기 서비스 제공자 네트워크(201)와 통신할 수 있다. 다양한 실시예들의 설명을 간략화하기 위해, 모바일 디바이스들의 2개 등급들을 나타내는 모바일 디바이스들(100) 및 모바일 디바이스들(200)을 참조할 것이다: 하나의 등급(모바일 디바이스들(100))은 보안 클럭을 갖고 하나의 등급(모바일 디바이스들(200))은 보안 클럭이 없다.
보호된 컨텐트(107, 108)의 아이템들은 라이센스 파라미터 값들(105)의 저장된 세트에 의해 특징화되는 라이센스 정책들에 의해 보호된다. 상기 파라미터 값들(105)은 메뉴 옵션들 또는 상기 모바일 디바이스의 통상 기능을 통해 클라이언트가 액세스할 수 없는 메모리(111)의 보안 부분에 저장될 수 있다. 그러한 방식에서, 상기 클라이언트는 상기 파라미터 값들(105)에 의해 특징화된 라이센스 정책의 조항들을 무산시키도록 상기 파라미터 값들(105)을 수정할 수 없다. 그와 같이, 상기 라이센스 파라미터들(105)은 클라이언트 변경으로부터 안전한 것으로 고려된다.
보호된 컨텐트(107, 108)로의 액세스는 하드웨어, 펌웨어, 소프트웨어 및/또는 그들의 조합으로 구체화될 수 있는 실행 에이전트(104)에 의해 관리될 수 있다. 상기 서비스 제공자 네트워크(201)는 데이터가 상기 운영 시스템(103) 또는 상기 모바일 디바이스(100, 200) 상에 실행하는 라이센스 실행 에이전트(104)에 전송되는, 상기 모바일 디바이스(100, 200)와 상기 서비스 제공자 네트워크(201) 사이의 보안 데이터 호출을 통해서와 같이, 상기 파라미터 값들을 수정할 수 있다. 상기 실행 에이전트(104)는 또한 정직하지 못한 사용자에 의한 조작에 대해 보안되어야 한다. 예를 들어, 상기 실행 에이전트(104)는 상기 메모리의 보안 부분에 저장된 프로세서(110)에 대한 명령들일 수 있다.
상기 실행 에이전트(104)의 주된 업무는 보호된 컨텐트(107, 108) 항목으로의 액세스가, 상기 라이센스 파라미터 값들이 설명하는 라이센싱 정책하에서 인증되는지를 검증하는 것이다. 상기 실행 에이전트(104)는 일반적으로 특권의, 보안 프로세서 상태에서 동작하며 특히 보호된 컨텐트(107, 108)에 대한 라이센스 파라미터 값들(105)을 포함하는 메모리(111)의 적어도 일부 보안 부분으로의 액세스를 갖는다. 상기 라이센스 파라미터 값들을 메모리(105)의 보안 부분에 유지하는 것은 보호된 컨텐트(107, 108)의 하나 이상의 항목들의 보호를 피하기 위해 정직하지 못한 사용자가 상기 라이센스 파라미터 값들을 수정하지 못하게 하는 것을 필요로 한다. 상기 실행 에이전트(104)는 상기 보호된 컨텐트(107, 108) 자체로의 액세스를 필요로 하지는 않을 수 있다.
한편, 애플리케이션 프로그램은 통상적으로 상기 운영 시스템(103)에 의해 할당된 특권들의 제한된 세트하에서 동작하며 따라서 상기 메모리(111)의 보안 부분의 라이센스 파라미터 값들(105)을 액세스할 수 없다. 상기 애플리케이션 프로그램은 상기 보호된 컨텐트(107, 108)를 액세스할 수 있지만, 상기 보호된 컨텐트(107, 108)로의 액세스가 인증되는 것을 확인하도록, 상기 보호된 컨텐트(107, 108)와 관련된 라이센스 파라미터 값들(105)이 실행 에이전트(104)에 의해 먼저 사용된 후에만 가능하다. 상기 실행 에이전트(104)는 상기 라이센스 파라미터 값들(105)이 더 이상 유효하지 않은 라이센스를 설명한다고 결정하는 경우, 상기 보호된 컨텐트(107, 108)로의 액세스가 차단된다. 상기 실행 에이전트(104)가 상기 보호된 컨텐트(107, 108)로의 액세스를 허용하는 경우, 상기 운영 시스템에 애플리케이션 프로그램(106)이 상기 보호된 컨텐트(107, 108)를 일시적으로 액세스하도록 허용할 것을 통지할 수 있다.
실행 에이전트(104)의 예는 퀄컴의 BREW 시스템이다. BREW-기반 애플리케이션은 예를 들어, 필요 자원들을 액세스하도록 요구된 특권들로 디지털 서명(퀄컴 또는 컨텐트 제공자에 의해)될 수 있다. 따라서, 상기 애플리케이션은 상기 특권들 하에서 액세스 가능한 자원들만을 액세스할 수 있다. 그와 같이, BREW는 상기 정책 파라미터들의 메모리로의 기입-액세스로부터 애플리케이션을 배제하고, 보호된 컨텐트?적어도 초기에?를 포함하는 메모리로의 모든 애플리케이션 액세스를 배제할 수 있다.
상기 실행 에이전트(104)는 존재한다면, 보안 클록(102)으로의 액세스를 요구할 수 있다. 보안 시간은 바람직하게는 상기 디바이스상에 유지되지만, 적어도 상기 디바이스는 네트워크 연결이 확립될 수 있으며 상기 보안 시간 소스(202)로부터의 보안 시간이 이용가능할 때마다 요구되는 시간을 검색하거나 업데이트할 수 있을 것이다. 상기 실행 에이전트(104)에 의해 실행된 라이센스 정책은 보안 시간이 전혀 이용가능하지 않은 경우 및 상기 디바이스의 네트워크 연결이 인-커버리지, 아웃-오브-커버리지 또는 로밍할 때 어떻게 반응할 지와 같은 다양한 경우들을 설명할 수 있다.
도 2의 표는 라이센스 파라미터들의 예들, 그 가능한 값들 및 그 의미들의 간략한 설명들을 정렬한다. 도 2는 완전한 것은 아니며, 라이센싱 방식을 정의하거나 설명하도록 사용될 수 있는 잠재 파라미터들을 도시하기 위한 단순한 예시이다. 도 2에 식별된 제 1 파라미터는 상기 라이센스가 보통의 시간-기반 DRM 정책 하에서 만료할 때의 날짜 및/또는 그날의 시간일 수 있는 ExpirationDate이다. 상기 값은 종래의 시간-기반 라이센스 DRM 데이터 파일들에서의 만료 날짜들 또는 시간과 유사하다.
도 2에 식별된 제 2 파라미터는 TimeCallAtAccess이다. 상기 파라미터는 상기 라이센스 실행 에이전트(104)가 상기 보호된 컨텐트(예를 들어, 107, 108)를 액세스하기 전에, 먼저 데이터 호출 등을 통해 보안 시간 소스(202)로부터 보안 시간을 성공적으로 검색해야 하는지 여부를 지시할 수 있다. 물론, 내부 보안 클록(102)은 보안 시간 소스를 구성하며, 따라서 보안 클럭이 이용가능하며 올바르게 유지되는 경우(이들 업데이트들이 빈번하더라도, 보안 클록이 어딘가로부터 입력을 필요로 하는 경우), 그와 같은 데이터 호출은 불필요할 것이다. 상기 모바일 디바이스(200)가 보 안 시간을 검색하도록 데이터 호출을 행하도록 요구받는 경우(예를 들어, 상기 디바이스는 내부 보안 클록(102)을 갖지 않으며 TimeCallAtAccess = "1"), 클라이언트는 상기 모바일 디바이스(200)가 보안 시간(202)의 원격 소스를 접촉하도록 데이터 호출을 배치함으로써 야기되는 보호된 컨텐트로의 액세스 지연에 의해 불편해질 수 있다. 그와 같은 지연은 상기 클라이언트에게 불편을 초래하며 사용자/클라이언트 경험을 나쁘게 할 수 있는 한편, 그와 같은 측정들은 부정한 사용으로부터 상기 보호된 컨텐트의 견고한 보호를 보증하도록 필요할 수 있다. 상기 시간-기반 라이센스에 따르면, 만료 날짜/시간, ExpirationDate는 상기 의도된 행동이 진행할 수 있기 전에 액세스가 인증되는지를 결정하도록 상기 보안 시간 소스로부터 검색된 보안 시간과 비교된다.
서비스 제공자들은 보안 시간이 상기 모바일 디바이스(200)에 일시적으로 이용 불가능할 수 있을지라도 제한된 기반 상에 상기 사용중인 보호된 컨텐트를 계속 액세스하는 능력을 클라이언트들에게 허용하기를 원할 수 있다. 클라이언트의 모바일 디바이스(200)가 상기 서비스 제공자 네트워크 커버리지 영역(201)내에 있지만 보안 시간 소스(202)(예를 들어, 커버리지 내)로부터 보안 시간을 액세스할 수 없는 경우에, 상기 클라이언트는 상기 보호된 컨텐트로의 제한된 횟수의 "유예 기간(grace period)" 액세스들을 허용받을 수 있다. 예를 들어, 방문자들은 종종 병원 내에 있는 동안 셀룰러 전화들을 턴 오프하도록 요구받는다. 또 다른 예로서, 항공 승객들은 항공기가 운항중인 동안 모바일 디바이스(200)의 전송기 부분을 중지하도록 요구받는다. 또한, 모바일 디바이스들(200)은 일부 빌딩들 또는 지하철 시스템들 내에 있을 때 상기 서비스 제공자 네트워크(201)로부터 신호들을 수신하지 못할 수 있다. 추가적인 예로서, "유예 기간" 라이센스로, 이들 상황들 각각에서의 클라이언트는 여전히 상기 무선 기능이 턴 오프되어도 상기 모바일 디바이스(200) 상에 동작하는 라이센싱된 게임들, 음악, 비디오들, 애플리케이션들 등을 이용하도록 허용될 수 있다. 상기 예들에서, 상기 모바일 디바이스(200)가 상기 서비스 제공자 네트워크(201) 커버리지 내에 있을지라도, 상기 무선 기능이 디스에이블되거나 신호들이 구조상 차단되기 때문에 상기 모바일 디바이스(200)는 보안 시간 소스(202)로부터 보안 시간을 액세스할 수 없다. 대안적으로, 상기 무선 디바이스가 상기 서비스 제공자 네트워크(201)의 커버리지 외에 있는 경우들에서, 보안 시간 소스로부터의 보안 시간은 상기 무선 기능이 디스에시블되거나 디스에이블되지 않거나 관계없이 이용 불가능할 수 있다. 둘 다의 경우들에서, 클라이언트들은 상기 보호된 컨텐트로의 제한된 액세스를 허용받을 수 있다.
도 2에 도시된 InCoverageUseLimit 파라미터는 상기 모바일 디바이스(200)가 상기 서비스 커버리지 영역 내에 있는 상황에 대한 "유예 기간" 이용(또는 시간)의 횟수에 대한 한계를 특정하는 파라미터이다. 상기 인-커버리지 유예-기간 파라미터는 상기 모바일 디바이스(200)가 서비스 제공자 네트워크(201) 커버리지 내에 있지만 상기 모바일 디바이스(200)가 보안 시간 소스로부터 시간을 성공적으로 검색하거나 검증할 수 없는 동안 보호된 컨텐트가 액세스될 수 있는 최대 횟수를 나타내도록 음이 아닌 정수 값 M을 가질 수 있다.
도 2에 도시된 OutCoverageUseLimit 파라미터는 상기 모바일 디바이스(200)가 상기 서비스 커버리지 영역 외에(즉, 커버리지 밖에) 있는 상황에 대한 "유예 기간" 이용(또는 시간) 횟수에 대한 한계를 특정하는 유사한 파라미터이다. 상기 아웃-오브-커버리지 유예-기간 파라미터는 상기 모바일 디바이스(200)가 상기 서비스 제공자 네트워크(201) 커버리지 영역 외에 있으며 상기 모바일 디바이스(200)가 보안 시간 소스로부터 시간을 성공적으로 검색하거나 검증할 수 없을 때 보호된 컨텐트가 액세스될 수 있는 최대 횟수를 나타내도록 음이 아닌 값 N을 가질 수 있다.
InCoverageUseLimit 및 OutCoverageUseLimit 파라미터들에 의해 특징화된 시간-기반 라이센스에서, 상기 실행 에이전트(104) 내의 유예-기간 액세스-카운터는 보안 시간이 이용 불가능한 동안 보호된 컨텐트가 액세스되는 횟수를 기록한다. 커버리지 영역 내 및 커버리지 영역 외에 있는 동안 이용가능한 보안 시간이 없이 이루어지는 액세스들의 수를 카운팅하기 위한 별도의 카운터들이 존재할 수 있다. 보안 시간이 이용 불가능한 동안 보호된 컨텐트가 액세스될 때마다, 상기 액세스가 인증될 것인지를 결정하도록 적절한 M 또는 N의 값이 관련된 유예 기간 카운터와 비교될 수 있다. 보호된 컨텐트의 각 개별 아이템에 대한 구별되는 유예-기간 인-커버리지 및 아웃-오브-커버리지 액세스 카운터들이 또한 존재할 수 있다. 다시 말해, 개별 유예-기간 카운터는 보안 시간이 이용 불가능한 때에 액세스되는 각 노래, 게임, 비디오 또는 애플리케이션 프로그램에 대해 증가될 수 있다. 대안적으로 단일 카운터는 클라이언트가 임의 타입의 보호된 컨텐트를 액세스한 횟수를 카운트하도록 실행될 수 있다.
보호된 컨텐트(예를 들어, 107, 108)로의 클라이언트의 요구시에, 상기 실행 에이전트(104)는 상기 적절한 유예 기간 카운터에서의 카운트와 대응하는 한계 값, M 또는 N을 비교한다. 상기 카운트가 상기 한계 값(즉, M 또는 N)과 같거나 초과하는 경우, 상기 실행 에이전트(104)는 상기 보호된 컨텐트로의 액세스를 금지한다. 그렇지 않으면, 상기 실행 에이전트는 상기 적절한 유예-기간 카운터를 증가시키며 상기 보호된 컨텐트로의 액세스가 계속하도록 허용한다. 이러한 방식으로, 보안 시간이 이용 불가능할 때, 상기 클라이언트는 보호된 컨텐트로의 제한된 수의 액세스들을 허용받는다. 일단 액세스 시도들의 수가 미리 결정된 한계치를 초과하면, 보안 시간이 보안 시간 소스로부터 이용가능할 때까지 추가적인 액세스가 거부된다.
인-커버리지 및 아웃-오브-커버리지 액세스 상황들에 대해 별도의 한계치들(M 및 N) 및 카운터들을 제공함으로써, 라이센서들은 하나의 한계치 및 하나의 카운터만 있는 경우에 가능한 것보다는 더 융통성 있는 DRM 정책들을 제공할 수 있다. 예를 들어, 라이센서는 보안 시간이 액세스될 수 없는 이유에 관한 추정들을 행할 수 있으며 상기 액세스 불가능성에 대한 가능한 이유들 사이를 구별하도록 시간-기반 라이센스 정책들을 만들 수 있다. 예를 들어, 라이센스 정책의 창조자는 상기 라이센스의 만료 후에 클라이언트가 의도적으로 상기 모바일 디바이스(200)를 차폐하여 서비스 제공자 네트워크(201) 커버리지 밖에 있는 것처럼 보이게 한다고 가정하면, 상기 DRM 정책은 상기 라이센스에 의해 커버된 보호된 컨텐트로의 액세스들의 수를 제한하도록 만들어질 수 있다. 정책의 창조자는 커버리지 내의 모바일 디바이스(200)가 원격 보안 시간 소스(202)로의 액세스를 신뢰성있게 획득하지 못할 것으로 생각하는 경우, 상기 정책은 상기 이용중인 보호된 컨텐트로의 다수의 액세스들을 허용하도록 설정될 수 있다.
대안적인 실시예들은 클라이언트의 모바일 디바이스(200)가 인-커버리지 또는 아웃-오브-커버리지 인지에 관계없이, 보안 시간이 이용 불가능한 때에 언제든 사용되는, 단일 유예 기간 한계치 및 관련된 액세스 카운트 카운터를 제공할 수 있다.
일 실시예에서, 상기 다양한 유예 기간 카운터들은 보안 시간이 이용가능하지 않았던 동안의 기간(보호된 컨텐트로의 액세스들의 수)후에 다시 보안 시간이 이용가능하게 될 때마다 재설정될 수 있다. 일단 보안 시간이 이용가능하게 되면, 실행 에이전트(104, 204)는 대응하는 라이센스들의 기간들이 여전히 유효하며 아직 만료되지 않았는지를 결정할 수 있다. 만료되지 않은 경우에, 상기 실행 에이전트(104, 204)는 그에 따라 상기 유예 기간 카운터들을 재설정할 수 있다.
보안 시간이 이용가능한 경우, 그리고 실행 에이전트(104, 204)는 현재 시간이 만료 날짜를 경과하였다고, 즉 상기 라이센스가 만료되었다고 결정하는 경우에, 상기 실행 에이전트(104)는 메모리(110)로부터 상기 사용중인 보호된 컨텐트(예를 들어, 107, 108) 및/또는 라이센스 파라미터들(예를 들어, 105, 205)을 명백하게 비활성화하거나 심지어 삭제할 수 있다. 대안적으로, 상기 실행 에이전트(104)는 인-커버리지 이든지 또는 아웃-오브-커버리지 이든지 간에, 어떠한 조건들하에서도 상기 관련된 컨텐트(107, 108)가 액세스될 수 없도록 만료된 것으로 발견된 라이센스의 정책 파라미터들(105, 205)을 수정할 수 있다. 예를 들어, 모든 추가적인 액세스 방지는 M 및 N을 제로로 설정함으로써 달성될 수 있다. 클라이언트가 상기 보호된 컨텐트(107, 108)를 액세스하려 시도할 때마다, 상기 모바일 디바이스(100, 200)는 클라이언트에게 상기 상황을 통지할 수 있으며 또한 상기 클라이언트가 상기 라이센스를 갱신하도록 권장할 수 있다. 상기 서비스 제공자는 심지어 라이센스를 갱신하고 업데이트된 라이센스 파라미터 값들을 다운로드하도록 클라이언트-친화적인 방식을 제공할 수 있다.
도 2에 정렬된 또 다른 파라미터는 상기 모바일 디바이스가 로밍 모드에 있으며 보안 시간이 이용가능하지 않은 경우의 상황을 개별적으로 다루도록, 참 또는 거짓의 값을 가질 수 있는 UseInCoverageForRoaming이다. 개별적인 로밍 라이센스 파라미터를 제공함으로써, 라이센스 사용자들이 이동하며 따라서 데이터 호출의 배치로부터 보안 시간 소스로의 더 높은 휴대 전화 사용시간 과금에 직면하는 공통 상황을 라이센서들이 다루도록 허용한다. 라이센스 사용자들에 더 높은 비용을 부과하기보다는, 상기 DRM 라이센스는 아웃-오브-커버리지 또는 인-커버리지 상황으로서 상기 상황을 처리하도록 만들어질 수 있다. 상기 파라미터가 사용될 때, 상기 파라미터의 값이 참이면, 상기 정책의 인-커버리지 부분은 상기 모바일 디바이스가 로밍 모드에 있으며 보안 시간이 이용가능하지 않은 때에 적용된다. 결과적으로, 상기 모바일 디바이스가 로밍 모드에 있을 때, 상기 실행 에이전트(104)는 사용을 제한하도록 상기 InCoverageUseLimit 파라미터 M을 이용하여, 상기 모바일 디바이스가 커버리지 내에 있지만 보안 시간이 이용 불가능한 경우(예를 들어, 무선 기능이 디스에이블됨)에서처럼 상기 사용 정책들을 실행할 것이다. 대안적으로, 상기 파라미터의 값이 거짓으로 설정되는 경우, 상기 모바일 디바이스가 로밍 모드에 있으며 보안 시간이 이용가능하지 않을 때 상기 아웃-오브-커버리지 정책이 적용되며, 따라서 상기 OutCoverageUseLimit 파라미터 N의 사용을 적용한다. 대안적으로, 제 3 유예 기간 한계치(예를 들어, RoamCoverageUseLimit) 및 관련된 액세스 카운트 카운터(예를 들어, RoamUsesRemaining)는 상기 모바일 디바이스(200)가 로밍되는 상황에 대한 특정 라이센스 기간들을 제공하도록 실행될 수 있다. 추가적인 실시예에서, RoamCoverageUseLimit는 UseInCoverageForRoaming 파라미터 대신에 사용될 수 있다.
참 또는 거짓일 수 있는, 도 2에 정렬된 마지막 파라미터 TimeCallAtStartup은 상기 모바일 디바이스가 턴 온 될 때 상기 모바일 디바이스가 보안 시간을 검색하려 시도해야 하는지 여부를 특정하도록 제공될 수 있다. 상기 파라미터가 참이면, 상기 실행 에이전트(104)는 상기 보호된 컨텐트로의 액세스가 허용될 수 있기 전에 스타트업시에 보안 시간을 검색해야 한다. 상기 모바일 디바이스(100)상의 보안 클록(102)은 파워 오프된 동안 시간을 놓칠 수 있거나 또는 파워 오프된 동안 상기 보안 시간이 신뢰성 없게 될 수 있기 때문에, 상기 모바일 디바이스(100)의 스타트업시에 데이터 호출이 요구될 수 있다.
상기 실행 에이전트(104)는 SMS 텍스트 메시지와 같은 특정 데이터 메시지를, 상기 네트워크(201)를 통해 상기 운영 시스템(103), 프로세서(110) 및 에어 인터페이스(101)를 통해 송신함으로써 보안 시간을 검색하도록 데이터 호출을 초기화할 수 있다. 상기 특정 데이터 메시지는 보안 시간 소스(202)로 어드레싱될 수 있으며 상기 보안 시간 소스(202)가 보안 시간에 대한 요구로서 인식하는 특정 포맷을 가질 수 있다. 상기 실행 에이전트(104)로부터의 상기 메시지에 응답하여, 상기 보안 시간 소스(202)는 상기 SMS 메시지 데이터 페이로드에 상기 보안 시간을 포함하는 응답 SMS 메시지를 상기 실행 에이전트(104)에 송신할 수 있다. 상기 응답 메시지 자체는 상기 보안 시간의 보안을 유지하도록 보안의 일부 형태를 사용해야 한다. 상기 응답 메시지는 상기 응답 메시지에 포함된 데이터를 암호화하고 인증함으로써 보안될 수 있다. 상기 실행 에이전트(104)가 상기 보안 시간을 수신할 때, 상기 보안 시간은 보안 클록(102)을 업데이트하도록 사용될 수 있다.
TimeCallAtStartup 파라미터는 "요구에 따라"(즉, 보호된 컨텐트로의 액세스가 요구될 때) 적용되는 다른 라이센스 파라미터들과는 다르다. 상기 라이센스 파라미터 TimeCallAtStartup이 임의의 또는 상기 메모리(111)의 모든 라이센스 파라미터들(105)에 의해 나타난 라이센스 정책들에 대해 참인 경우, 상기 실행 에이전트(104)는 상기 모바일 디바이스(100, 200)가 시작되거나 파워 온 된 직후에 보안 시간을 획득해야 한다. 라이센스 파라미터 TimeCallAtStartup의 사용은 다른 라이센스 파라미터들과 상호 배타적이지 않으며 상기 DRM 라이센스의 견고성을 강화하기 위해 다른 파라미터들과 함께 이용될 수 있다. TimeCallAtStartup이 모두에 대해서가 아니라 일부 보호된 컨텐트 라이센스 정책들에 대해 참일 수 있기 때문에, 상기 실행 에이전트(104)는 상기 모바일 디바이스(100, 200)가 시작한 직후에 상기 메모리(111)의 모든 라이센스 파라미터들(105)을 스캔해야 할 수 있다. 라이센스 파라미터 TimeCallAtStartup이 적어도 하나의 라이센스 정책에 대해 참인 경우, 상기 실행 에이전트(104)는 내부 보안 시간 소스를 검사해야 하며, 존재하지 않는 경우, 상기 보안 시간 소스(202)로부터 보안 시간을 획득하려 시도하도록 데이터 호출을 배치해야 한다. TimeCallAtStartup의 참인 값에 대해 시험하도록 상기 라이센스 파라미터들(105)을 스캔하기 위한 절차는 이후에 도 6 및 도 6a를 참조하여 설명된다.
상기 파라미터 TimeCallAtStartup의 실행은 내부 보안 시간 소스가 없는 모바일 디바이스(200)가 보안 시간을 검색하도록 데이터 호출을 행하는 요구로 인해 클라이언트가 스타트업시의 지연을 경험하게 야기함으로써, 상기 사용자/클라이언트 경험을 저하시킬 수 있다. 또한, 상기 클라이언트/사용자는 보호된 컨텐트로의 액세스에 대한 요구가 행해지지 않은 때에 데이터 호출이 필요한 이유에 관하여 혼란스러울 수 있다. 그럼에도 불구하고, 그와 같은 측정들은 정직하지 못한 사용으로부터 보호된 컨텐트의 보호의 견고성을 보증하도록 일부 라이센스 제공자들에 의해 필요하다고 여겨질 수 있다. 스타트업시의 데이터 호출이 사용자/클라이언트에게 거슬리며 짜증나는 일로 생각될 수 있는 한편, 스타트업시의 단일 데이터 호출은 보호된 컨텐트로의 액세스가 요구될 때마다 데이터 호출이 이루어질 것을 요구하는 것보다는 덜 거슬리며 덜 짜증날 수 있다. 스타트업시의 데이터 호출 및 각 액세스 요구시의 데이터 호출 모두를 요구함으로써, 상기 보호 메커니즘들은 강화되지만 사용자 경험을 희생하게 된다.
간단하게, 도 2에 정렬된 것들과 같은 소수의 파라미터들에 값들을 할당함으로써, 사용자의 경험에 관한 침해에 대해 보안을 균형 맞추도록 이용될 수 있는 융통성 있는 시간-기반 라이센스가 특징화될 수 있다. 도 3은 도 2의 잠재 파라미터들에 대한 값들의 다양한 조합들이 정책들의 범위를 어떻게 특징화할 수 있는지를 도시한다. 선택된 예시적인 정책들은 예시 목적들을 위해 논의될 것이다.
도 3에 도시된 정책 1은 TimeCallAtAccess의 값이 참이며, 따라서 상기 보호된 컨텐트로의 액세스가 요구될 때마다 실행 에이전트(104)가 보안 시간을 검색하도록 요구하는 라이센스 정책의 예이다. 또한, 정책 1은 상기 모바일 디바이스(200)가 서비스 제공자 네트워크(201) 커버리지 내 또는 서비스 제공자 네트워크(201) 커버리지 외에 있을 때 제로 유예 기간 액세스 시도들을 허용한다. 제로 유예 기간 액세스들이 어느 경우에도 허용되기 때문에, 로밍이 상기 인-커버리지 사례를 에뮬레이트하는지 여부는 중요하지 않다. 즉, UseInCoverageForRoaming은 참이거나 거짓일 수 있다. 정책 1은 또한 실행 에이전트(104)가 상기 모바일 디바이스(100, 200)의 스타트업시에 보안 시간을 검색할 것을 요구하는, 참의 TimCallAtStartup 값을 포함한다. 이들 DRM 라이센스 파라미터 설정들을 이용하여, 클라이언트는 보안 시간이 이용가능할 때 상기 라이센스와 관련된 보호된 컨텐트만을 액세스할 수 있다. 결과적으로, 오용 방지 또는 제한 레벨은 정책들 중 가장 강한 것으로 여겨진다. 그러나, 상기 보호는 사용자 경험을 희생하게 된다. 상기 모바일 디바이스(200)가 보안 시간 소스를 포함하지 않는 경우, 상기 정책은 보안 시간을 검색하도록 빈번한 데이터 호출들을 요구하며 상기 컨텐트로의 액세스는 언제든 상기 트랜시버가 디스에이블되거나 상기 모바일 디바이스가 상기 아웃-오브-커버리지 영역에 있는 때에는 거부될 것이다.
도 3의 정책 2는 TimeCallAtAccess의 값이 참이며, 따라서 상기 보호된 컨텐트로의 액세스가 요구될 때마다 상기 실행 에이전트(104)가 보안 시간을 검색할 것을 요구하는 라이센스 정책의 예이다. 보안 시간이 이용 불가능하고 상기 모바일 디바이스(200)가 상기 커버리지 영역 내에 있는 경우, 정책 2는 제로 유예 기간 액세스 시도들을 허용한다. 그러나, 보안 시간이 이용 불가능하고 상기 모바일 디바이스(200)가 상기 커버리지 영역 외에 있는 경우, 정책 2는 N번의 유예 기간 액세스 시도들을 허용한다. 상기 정책은 또한 참의 UseInCoverageForRoaming 파라미터를 포함하며, 따라서 상기 모바일 디바이스(200)가 로밍 모드에 있을 때, 상기 정책은 상기 인-커버리지 환경을 따르는데, 즉 유예 기간 액세스들을 허용하지 않는다. 정책 2는 상기 모바일 디바이스(100, 200)가 시작될 때 상기 실행 에이전트(104)가 보안 시간을 검색하도록 요구하지 않는다. 적절한 이러한 파라미터 설정들을 통해, 오용 방지는 정책 1보다 오용에 대하여 약간 덜 저항력있는 "강한" 보호로 간주된다. 상기 다운그레이드된 효율성 순위는 보안 시간이 이용 불가능함에도 불구하고 클라이언트에 상기 보호된 컨텐트로의 약간의 액세스들이 허용되기 때문이다. 또한, 정책 2는 스타트업시의 추가적 데이터 호출을 요구하지 않는다. 그럼에도 불구하고, N이 작으며, 따라서 허용된 유예 기간 액세스 시도들의 수가 작기 때문에 보호 레벨이 강한 것으로 고려된다. 동일한 이유들로, 상기 사용자 경험은 "매우 열악한"으로부터 "열악한"으로 업그레이드된다.
도 3에 도시된 정책 3은 TimeCallAtAccess의 값이 참이며, 따라서 상기 보호된 컨텐트로의 액세스가 요구될 때마다 실행 에이전트(104)가 보안 시간을 검색하도록 요구하는 라이센스 정책의 예이다. 보안 시간이 이용 불가능하며 상기 모바일 디바이스(200)가 상기 커버리지 영역 내에 있는 경우, 정책 3은 제로 유예 기간 액세스 시도들을 허용한다. 보안 시간이 이용 불가능하며 상기 모바일 디바이스(200)가 커버리지 영역 외에 있는 경우, 정책 3은 기껏해야 N번의 유예 기간 액세스 시도들을 허용한다. 그러나, 정책 2와 반대로, N은 크기 때문에 많은 수의 아웃-오브-커버리지 유예 기간 사용들을 제공한다. 정책 3은 상기 실행 에이전트(104)가 상기 모바일 디바이스(100, 200)의 스타트업시의 보안 시간을 검색하도록 요구한다. 상기 클라이언트가 다수의 허용된 유예 기간 시도들을 이용하기 위해 의도적으로 커버리지 밖에 남아있는 경우 정책 3은 오용될 여지가 있기 때문에, 정책 3에서 상기 보호 레벨은 "오케이"로 여겨진다. 이들 라이센스 파라미터들을 이용하여, 상기 모바일 디바이스(200)의 스타트업시의 데이터 호출 및 내부 보안 시간 소스들을 포함하지 않는 모바일 디바이스들에 대해 상기 보호된 컨텐트로의 액세스가 요구될 때의 데이터 호출 때문에 상기 사용자 경험은 "매우 열악한"으로 여겨진다.
정책 4는 정책 3과 거의 동일하지만, 스타트업시의 보안 시간에 대한 데이터 호출을 요구하지 않는다. 그와 같이, 정책 4의 보호 레벨은 "오케이"로 여겨진다(그러나 정책 3보다 약간 떨어짐). 그러나, 상기 사용자/클라이언트 경험은 스타트업시의 데이터 호출의 부재로 인하여 "매우 열악한"에서 "열악한"으로 업그레이드된다.
정책 5는 TimeCallAtAccess가 참이며, 따라서 상기 보호된 컨텐트로의 액세스가 요구될 때마다 상기 실행 에이전트(104)가 보안 시간을 검색하도록 요구하는 라이센스 정책의 예이다. 보안 시간이 이용 불가능하며 상기 모바일 디바이스(200)가 상기 커버리지 영역 내에 있는 경우, 정책 5는 M번의 유예 기간 액세스 시도들을 허용한다. 보안 시간이 이용 불가능하며 상기 모바일 디바이스(100, 200)가 상기 커버리지 영역 외에 있는 경우, 정책 5는 N번의 유예 기간 액세스 시도들을 허용한다. 정책 5에서, M은 작은 값으로 설정되는 반면, N은 큰 값으로 설정된다. 상기 UseInCoverageForRoaming 파라미터는 참이며, 따라서 상기 모바일 디바이스(100, 200)가 로밍 모드에 있을 때, 상기 정책은 상기 인-커버리지 경우를 에뮬레이트하는데, 즉 M번의 유예 기간 액세스들을 허용한다. 상기 모바일 디바이스(200)가 커버리지 외에 있는 경우, N이 크기 때문에 상기 컨텐트는 거의 무기한으로 액세스될 수 있다. 상기 TimeCallAtStartup 파라미터는 참이며, 따라서 정책 5는 상기 모바일 디바이스(100, 200)의 스타트업시에 상기 실행 에이전트(104)가 보안 시간을 검색하도록 요구한다. 이들 파라미터 설정들을 준비하여, 정책 5에서의 보호는 "오케이"로 여겨진다. 정책 5는 보안 시간에 대한 데이터 호출이 스타트업 및 각 요구 인스턴스시에 이루어지는 요건으로부터 이득을 보는 한편, 클라이언트는 상기 모바일 디바이스(100, 200)가 네트워크 내에 있거나 네트워크 밖에 있을 때 다수의 유예 기간 액세스 시도들을 허용받는다. 이들 허용된 유예 기간 시도들 때문에, 상기 보호 레벨은 "오케이"로 다운그레이딩된다. 정책 5는 여전히 상기 모바일 디바이스(200)가 보안 시간의 내부 소스를 결여하는 경우에 다수 데이터 호출들을 요구하기 때문에, 정책 5에 대한 사용자 경험은 "매우 열악한"것으로 여겨진다. 더욱이, 상기 모바일 디바이스(100, 200)가 네트워크 내에 있을 때 유예 기간 시도들의 수는 작다. 작은 값의 M은 인-커버리지에 있을 때 상기 보호된 컨텐트로의 적은 액세스들만으로 사용자를 지나치게 제한한다.
정책 6은 정책 5와 유사한 라이센스 정책의 예이지만, 스타트업시의 보안 시간에 대한 데이터 호출을 요구하지 않는다. 그와 같이, 정책 6의 보호 레벨은 "오케이"로 여겨진다(그러나 정책 5보다는 약간 떨어짐). 그러나, 상기 사용자/클라이언트 경험은 스타트업시의 데이터 호출의 부재로 인하여 "매우 열악한"에서 "열악한"으로 업그레이드된다.
정책 7은 TimeCallAtAccess가 참이며, 따라서 상기 보호된 컨텐트로의 액세스가 요구될 때마다 상기 실행 에이전트(104)가 보안 시간을 검색하도록 요구하는 라이센스 정책의 예이다. 보안 시간이 이용 불가능하며 상기 모바일 디바이스(200)가 상기 커버리지 영역 내에 있는 경우, 정책 7은 기껏해야 M번의 유예 기간 액세스 시도들을 허용한다. 보안 시간이 이용 불가능하며 상기 모바일 디바이스(100, 200)가 상기 커버리지 영역 외에 있는 경우, 정책 7은 기껏해야 N번의 유예 기간 액세스 시도들을 허용한다. 정책 7에서, M 및 N은 큰 값들로 설정된다. 상기 모바일 디바이스(100, 200)가 로밍하는지 아닌지 여부는 특히 관련이 없는데, 그 이유는 M 및 N 둘 다 크기 때문이다. 정책 7은 또한 TimeCallAtStartup을 거짓으로 설정하며, 따라서 스타트업시의 데이터 호출에 대한 필요성을 제거한다. 이들 파라미터 설정들을 이용하여, 보호 레벨은 "오케이"로 여겨지지만, 상기 정책은 사용자가 데이터 호출을 강제로 실패하게 할 경우 긴 기간 동안 오용할 여지가 있다. M 및 N이 크기 때문에, 사용자 경험은 "오케이"로 여겨진다.
정책 8은 TimeCallAtAccess가 거짓이며, 따라서 상기 보호된 컨텐트로의 액세스가 요구될 때마다 상기 실행 에이전트(104)가 보안 시간을 검색할 필요가 없는 라이센스 정책의 예이다. 보안 시간이 이용 불가능하며 상기 모바일 디바이스(200)가 상기 커버리지 영역 내에 있는 경우, 정책 8은 제로 유예 기간 액세스 시도들을 허용한다. 보안 시간이 이용 불가능하며 상기 모바일 디바이스(200)가 상기 커버리지 영역 외에 있는 경우, 정책 8은 기껏해야 N번의 유예 기간 액세스 시도들을 허용하며, N은 작다. UseInCoverageForRoaming은 참으로 설정되며, 따라서 상기 모바일 디바이스(100, 200)가 로밍 모드에 있을 때, 상기 정책은 상기 인-커버리지 환경을 에뮬레이트한다. 정책 8은 상기 모바일 디바이스(100, 200)의 스타트업시에만 상기 실행 에이전트(104)가 보안 시간을 검색하도록 요구한다. 이들 파라미터 설정들을 준비하여, 정책 8에서의 보호는 "강한"으로 여겨지며 제한된 시간 동안만 오용 여지가 있는데, 그 이유는 N이 작기 때문이다. 정책 8은 여전히 상기 모바일 디바이스(100, 200)가 네트워크 외에 있을 때 제한된 수의 유예 기간 액세스 시도들만을 허용하며 스타트업시의 데이터 호출을 요구하기 때문에, 상기 사용자 경험은 "매우 열악한"으로 여겨진다.
정책 9는 정책 8과 유사한 라이센스 정책의 예이지만 더 이상 스타트업시의 데이터 호출을 요구하지 않는다. 결과적으로 보호 레벨은 "강한"에서 "매우 양호한"으로 다운그레이드되지만, 예측된 사용자 경험은 "매우 열악한"에서 "열악한"으로 업그레이드된다. 이는 데이터 호출들의 부재로 인함이다.
정책 10은 TimeCallAtAccess가 거짓이며, 따라서 상기 보호된 컨텐트로의 액세스가 요구될 때마다 상기 실행 에이전트(104)가 보안 시간을 검색할 필요가 없는 라이센스 정책의 예이다. 보안 시간이 이용 불가능하며 상기 모바일 디바이스(200)가 상기 커버리지 영역 내에 있는 경우, 정책 10은 기껏해야 M번의 유예 기간 액세스 시도들을 허용한다. 보안 시간이 이용 불가능하며 상기 모바일 디바이스(200)가 상기 커버리지 영역 외에 있는 경우, 정책 10은 기껏해야 N번의 유예 기간 액세스 시도들을 허용한다. M 및 N 둘 다가 작으며, 따라서 UseInCoverageForRoaming에 대한 설정은 특히 관련되지 않는다. 정책 10은 상기 모바일 디바이스(100, 200)의 스타트업시에만 상기 실행 에이전트(104)가 보안 시간을 검색하도록 요구한다. M 및 N이 합리적으로 작기 때문에, 정책 10은 보안 시간이 이용가능하지 않을 때?커버리지 내, 커버리지 영역 외에 있든지, 또는 로밍동안? 상기 보호된 컨텐트로의 제한된 액세스만을 허용한다. 이들 파라미터 설정들을 준비하여, 상기 보호된 컨텐트의 보호는 "양호한"으로 여겨지는데, 그 이유는 상기 정책들이 제한된 시간 동안만 오용할 여지가 있기 때문이다. 또한, 보안 시간의 내부 소스를 결정하는 모바일 디바이스들에 대해 요구된 스타트-업 데이터 호출 때문에, 정책 10 하의 보호는 "양호한"이다. M 및 N이 작으며 상기 모바일 디바이스(200)의 스타트업시의 데이터 호출이 사용자에게 거슬리고 혼란스럽기 때문에, 정책 10에 대한 사용자 경험은 "열악한"으로 여겨진다. 그럼에도 불구하고, 상기 모바일 디바이스(200)가 빈번하게 보안 시간을 제공할 수 없으며 상기 모바일 디바이스(100, 200)가 커버리지 내, 커버리지 영역 외에 또는 로밍 모드에 있든지 클라이언트가 제한된 유예 기간들을 견뎌내야 한다면, 사용자 경험은 "매우 열악한"일 수 있다. 상기 스타트-업 호출은 유효한 라이센스와 관련된 상기 보호된 컨텐트를 액세스하려는 시도와 명백하게 관련되지 않기 때문에, 상기 스타트-업 호출이 혼란스러울 수 있다.
정책 11은 정책 10과 유사한 라이센스 정책의 예이지만, 더 이상 스타트업시의 보안 시간에 대한 데이터 호출을 요구하지 않는다. 보안 시간에 대한 데이터 호출들이 더 이상 요구되지 않기 때문에, 상기 컨텐트를 보호하기 위한 정책 11의 효율성은 "양호한"에서 "오케이"로 다운그레이드된다. 그러나, 상기 예측된 사용자 경험은 "양호한"으로 개선할 수 있지만, 어떤 환경들 하에서는 "매우 열악함"일 수 있다. 어떠한 데이터 호출도 요구되지 않으며, 따라서 거슬리지 않기 때문에, 정책 11에 대한 사용자 경험은 "양호한"으로 여겨진다. 그럼에도 불구하고, 상기 모바일 디바이스(200)가 빈번하게 보안 시간을 제공할 수 없으며 상기 모바일 디바이스(100, 200)가 커버리지 내, 커버리지 영역 외에 또는 로밍 모드에 있든지 클라이언트가 제한된 유예 기간들을 견뎌내야 한다면, 사용자 경험은 "매우 열악한"일 수 있다.
정책 12는 TimeCallAtAccess의 값을 거짓으로 설정하며, 따라서 상기 실행 에이전트(104)는 상기 보호된 컨텐트로의 액세스가 요구될 때마다 보안 시간을 검색할 필요가 없다. 보안 시간이 이용 불가능하며 상기 모바일 디바이스(100, 200)가 상기 커버리지 영역 내에 있는 경우, 정책 12는 기껏해야 M번의 유예 기간 액세스 시도들을 허용한다. 보안 시간이 이용 불가능하며 상기 모바일 디바이스(100, 200)가 상기 커버리지 영역 외에 있는 경우, 정책 12는 기껏해야 N번의 유예 기간 액세스 시도들을 허용한다. M 및 N은 둘 다 크며, 따라서 UseInCoverageForRoaming에 대한 설정은 특히 관련되지 않는다. 정책 12는 상기 모바일 디바이스(100, 200)의 스타트업시에만 실행 에이전트(104)가 보안 시간을 검색하도록 요구한다. 정책 10과 반대로, M 및 N의 값들이 크며, 따라서 상기 모바일 디바이스(100, 200)가 커버리지 외에 있을 때 정책 12의 보호를 약화시킨다. 이들 파라미터 설정들을 준비하여, 상기 정책은 더 많은 수의 유예 기간 액세스 시도들을 부당하게 이용함으로써 더 긴 시간 주기들 동안 오용될 수 있기 때문에, 보호는 "약한"으로 여겨진다. 모바일 디바이스(100, 200)의 스타트업시의 데이터 호출이 사용자에게 거슬리며 혼란스럽기 때문에, 정책 12에 대한 사용자 경험은 "열악한"으로 여겨진다. 상기 스타트-업 호출은 유효한 라이센스와 관련된 상기 보호된 컨텐트를 액세스하려는 시도와 명백하게 관련되지 않기 때문에, 상기 스타트-업 호출이 혼란스러울 수 있다.
정책 13은 정책 12와 유사하지만, 스타트업시의 데이터 호출의 필요성을 제거하는 라이센스 정책의 예이다. 정책 11과 반대로, M 및 N의 값들이 크며, 상기 모바일 디바이스(100, 200)가 아웃-오브-커버리지에 있을 때 정책 13의 보호를 약화시킨다. 따라서, 상기 정책은 더 긴 유예 기간들을 부당하게 이용함으로써 정책 11에 대해서보다 긴 기간들 동안 오용될 수 있다. 또한, 임의의 데이터 호출의 부재는 정책 13을 정책 12보다 약하게 한다. 이들 파라미터 설정들을 준비하여, 상기 보호는 "매우 약한"으로 여겨진다. 데이터 호출이 전혀 요구되지 않아 거슬리지 않기 때문에, 정책 13에 대한 사용자 경험은 "양호한"으로 여겨진다.
정책 14는 TimeCallAtAccess의 값을 거짓으로 설정하여, 상기 보호된 컨텐트로의 액세스가 요구될 때마다 상기 실행 에이전트(104)가 보안 시간을 검색할 필요가 없는 라이센스 정책의 예이다. 보안 시간이 이용 불가능하며 상기 모바일 디바이스(100, 200)가 상기 커버리지 영역 내에 있는 경우, 정책 14는 기껏해야 M번의 유예 기간 액세스 시도들을 허용한다. 보안 시간이 이용 불가능하며 상기 모바일 디바이스(100, 200)가 상기 커버리지 영역 외에 있는 경우, 정책 14는 기껏해야 N번의 유예 기간 액세스 시도들을 허용한다. M 및 N 둘 다가 크며, 따라서 UseInCoverageForRoaming에 대한 설정은 특히 관련되지 않는다. 이들 파라미터 설정들을 준비하여, 도 3의 정책 14는 클라이언트에 의한 오용으로부터의 최소한의 보안 DRM 보호 및 상기 컨텐트 제공자에 대한 최소한의 보호를 제공한다. 정책 14는 오용의 관점에서 사용자에 의한 작은 노력으로 긴 기간들 동안 사용중인 보호된 컨텐트로의 액세스를 허용하며, 따라서 정책 14는 "매우 약한"으로 여겨진다. 그러나, 정책 14는 사용자에게 완전히 지나치게 야단스럽지 않으므로 "매우 양호한"으로 여겨진다.
도 4는 상기 실행 에이전트(104)에 의해 실행될 수 있는 절차의 일 실시예의 프로세스 흐름도이다. 도 4a는 당업자에 의해 도 4에 설명된 단계들을 실행하도록 이용될 수 있는 예시적인 가능한 의사-코드의 리스트이다. 보호된 컨텐트가 클라이언트에 의해 원래 다운로드될 때, 라이센스가 실행되며 상기 라이센스의 기간들을 지배하는 파라미터들이 메모리(111)의 보안 부분에 저장될 수 있다. 일단 상기 메모리 파라미터들이 메모리(111)의 보안 부분에 저장되면, 라이센스 파라미터 카운터(LP)는 각 저장된 파라미터에 대해 증가할 수 있다. 도 4에 도시된 단계(301)에서, 상기 실시예 방법은 라이센스가 보호된 컨텐트와 적절하게 관련되는지를 결정한다. 메모리(111)의 보안 부분에 라이센스 파라미터들이 저장되어 있지 않은 경우, LP의 값은 제로가 될 것이다. LP의 값이 제로이면, 단계(316)에서 메모리(111)에 저장된 모든 디지털 컨텐트로의 액세스가 허가된다. 그러나, LP의 값이 제로가 아니면, 적어도 하나의 시간-기반 라이센스가 강제될 수 있다.
단계(302)에서, 프로세서(110)를 통해 상기 실행 에이전트(104)는 보안 시간(102)의 로컬 소스가 존재하는지를 결정할 수 있다. 보안 시간 소스가 이용가능한 경우, 단계(304)에서 상기 실행 에이전트(104)는 클라이언트가 보호된 컨텐트로의 액세스를 허가받은 제한된 시간 기간이 경과하였는지를 알기 위해 상기 운영 시스템(103) 및 프로세서(110)를 통해 검사할 수 있다. 상기 제한된 시간 기간이 경과하지 않은 경우, 단계(307)에서 상기 실행 에이전트(104)는 운영 시스템(103) 및 프로세서(110)를 통해 상기 InCoverageUseLimit를 M으로, OutCoverageUse Limit를 N으로, 그리고 상기 유예 기간 카운터를 제로로 설정할 수 있다. 상기 클라이언트는 그 후에 단계(319)에서 상기 보호된 컨텐트로의 액세스를 허가받는다.
단계(304)에서 상기 제한된 시간 기간이 경과한 것으로 결정된 경우, 상기 라이센스는 단계(305)에서 만료된 것으로 마킹될 수 있으며, 상기 클라이언트는 단계(308)에서 라이센스가 만료되었음을 통지받는다. 상기 클라이언트가 상기 라이센스 만료를 통지받은 후에, 단계(318)에서 상기 보호된 컨텐트로의 액세스는 거부된다.
단계(302)에서, 시간의 로컬 보안 소스(102)가 이용가능하지 않은 경우, 상기 실행 에이전트(104)는 단계(303)에서 상기 TimeCallAtAccess 파라미터가 참 또는 거짓으로 설정되었는지를 결정하도록 상기 운영 시스템(103) 및 프로세서(110)를 통해 상기 보호된 컨텐트와 관련된 라이센스 파라미터들(105)을 탐색할 것이다. 상기 TimeCallAtAccess 파라미터가 거짓으로 설정되면, 상기 실시예 방법은 상기 모바일 디바이스(200)가 인-커버리지, 아웃-오브-커버리지 또는 로밍 상태에 있을 때 상기 모바일 디바이스(200)가 유예 기간 액세스 시도들을 허용받는지 여부를 결정한다(이하의 단계들(310-319) 참조).
상기 TimeCallAtAccess 파라미터가 참으로 설정된 경우, 단계(306)에서 보안 시간을 검색하도록 보안 시간 소스(202)로의 호출이 이루어진다. 단계(309)에서 보안 시간 소스를 검색하는 데이터 호출이 성공하는 경우, 상기 실시예 방법은 단계(302)에서 보안 시간의 로컬 소스가 이용가능한 것처럼 동작할 수 있으며 계속해서 단계들(304, 305, 307, 308)을 행한다. 그러나, 보안 시간 소스를 검색하는 호출이 성공하지 못한 경우, 상기 실시예 방법은 상기 모바일 디바이스(200)가 인-커버리지, 아웃-오브-커버리지 또는 로밍 상태에 있을 때 상기 클라이언트/사용자가 유예 기간 액세스 시도들을 허용받는지 여부를 결정할 것이다(이하의 단계들(310-319)을 참조).
상기 모바일 디바이스(100, 200)가 인-커버리지, 아웃-오브-커버리지 또는 로밍 상태에 있을 때 상기 클라이언트/사용자가 유예 기간 액세스 시도들을 행하도록 허용받는지를 결정하기 위해, 상기 실시예 방법은 상기 모바일 디바이스(200)가 어느 상태에 있는지를(즉, 인-커버리지, 아웃-오브-커버리지, 또는 로밍) 먼저 결정해야 한다. 이러한 결정을 행하기 위해, 단계(310)에서 상기 실행 에이전트(104)는 상기 운영 시스템(103) 및 프로세서(110)를 통해 상기 모바일 디바이스(200)의 트랜시버 기능이 인에이블되는지 여부를 결정한다.
상기 트랜시버 기능이 디스에이블되거나 상기 데이터 호출이 성공적이지 못한 경우, 상기 모바일 디바이스(200)가 인-커버리지인 것으로 추정될 수 있다. 상기 트랜시버 기능이 디스에이블된 경우, 상기 모바일 디바이스(200)는 디스에이블된 트랜시버 기능이 아니라면 보안 시간을 검색하도록 상기 데이터 호출을 성공적으로 완료할 수 있는 것으로 추정된다. 상기 모바일 디바이스(200)가 인-커버리지에 있기 때문에, 상기 실행 에이전트(104)는 단계(312)에서 상기 라이센스 정책이 상기 클라이언트/사용자에게 임의의 인-커버리지 유예 기간 액세스 시도들, M번을 행하도록 허용하는지 여부를 상기 운영 시스템(103) 및 프로세서(110)를 통해 결정한다. 상기 실행 에이전트(104)는 단계(312)에서 상기 클라이언트에 여전히 이용가능한 임의의 유예 기간 액세스 시도들이 존재하는 경우를 결정하도록 상기 운영 시스템(103) 및 프로세서(110)를 통해 유예 기간 카운터를 검사하고 그것을 상기 IntCoverageUseLimit 값 M과 비교할 것이다. 단계(312)에서 유예 기간 카운터와 InCoverageUseLimit 값 M의 비교는 추가적인 유예 기간 액세스 시도들이 이용가능한 것으로 결정하는 경우, 단계(315)에서 상기 유예 기간 시도 카운터가 증가되며, 단계(319)에서 상기 보호된 컨텐트로의 액세스가 허용된다. 단계(312)에서 유예 기간 카운터와 InCoverageUseLimit 값 M의 비교는 추가적인 유예 기간 액세스 시도들이 이용가능하지 않은 것으로 결정하는 경우, 단계(318)에서 상기 보호된 컨텐트로의 액세스가 차단된다.
단계(310)에서 상기 트랜시버 기능이 인에이블되지만, 상기 모바일 디바이스(200)는 보안 시간 소스(202)로부터 보안 시간을 검색하도록 상기 데이터 호출을 완료하는데 성공하지 못한 것으로 결정되는 경우, 상기 모바일 디바이스(200)는 아웃-오브-커버리지 또는 로밍 모드에 있는 것으로 추정된다. 따라서, 상기 실시예 방법은 어느 조건이 적용되는지를 결정해야 한다. 단계(311)에서, 상기 실행 에이전트(104)는 상기 운영 시스템(103) 및 프로세서(110)를 통해 상기 모바일 디바이스가 로밍 모드에 있는지 여부(즉, 음성 호출들이 이용가능하지만 데이터 호출이 이용가능하지 않음)를 결정한다. 대부분의 모바일 디바이스들(200)에서, 이러한 결정은 음성 호출들에 대한 추가적인 과금들이 적용되어야 하는지를 결정하도록 사전에 이루어진다. 상기 모바일 디바이스(200)가 로밍 모드에 있는 경우, 단계(313)에서 상기 실행 에이전트(104)는 상기 운영 시스템(103) 및 프로세서(110)를 통해 상기 라이센스 정책이 상기 클라이언트/사용자에게 임의의 로밍 유예 기간 액세스 시도들, R번을 행하게 허용하는지를 결정한다. 상기 실행 에이전트(104)는 단계(313)에서 상기 클라이언트에 여전히 이용가능한 임의의 유예 기간 액세스 시도들이 존재하는지를 결정하도록 상기 운영 시스템(103) 및 프로세서(110)를 통해 유예 기간 카운터를 검사하고 그것을 상기 RoamUseLimit 값 R과 비교할 것이다. 단계(313)에서 상기 유예 기간 카운터와 상기 RoamUseLimit 값 R의 비교는 추가적인 유예 기간 액세스 시도들이 이용가능한 것으로 결정하는 경우, 단계(316)에서 상기 유예 기간 시도 카운터는 증가되며, 단계(319)에서 상기 보호된 컨텐트로의 액세스가 허가된다. 단계(313)에서, 상기 유예 기간 카운터와 상기 RoamUseLimit 값 R의 비교는 추가적인 유예 기간 액세스 시도들이 이용가능하지 않은 것으로 결정하면, 단계(318)에서 상기 보호된 컨텐트로의 액세스가 차단된다.
단계(311)에서 상기 모바일 디바이스(200)가 로밍 모드에 있지 않은 것으로 결정되면, 상기 모바일 디바이스(200)가 아웃-오브-커버리지인 것으로 추정될 수 있다. 단계(311)에서 상기 모바일 디바이스(200)가 아웃-오브-커버리지인 경우, 상기 실행 에이전트(104)는 단계(314)에서 상기 운영 시스템(103) 및 프로세서(110)를 통해 상기 라이센스 정책이 상기 클라이언트/사용자에게 임의의 아웃-오브-커버리지 유예 기간 액세스 시도들, N번을 행하게 허용하는지 여부를 결정한다. 상기 실행 에이전트(104)는 단계(314)에서 상기 클라이언트에 여전히 이용가능한 임의의 유예 기간 액세스 시도들이 존재하는지를 결정하도록 상기 운영 시스템(103) 및 프로세서(110)를 통해 유예 기간 카운터를 검사하고 그것을 상기 OutCoverageUseLimit 값 N과 비교할 것이다. 단계(314)에서 상기 유예 기간 카운터와 상기 OutCoverageUseLimit 값 N의 비교는 추가적인 유예 기간 액세스 시도들이 이용가능한 것으로 결정하는 경우, 단계(317)에서 상기 유예 기간 시도 카운터는 증가되며, 단계(319)에서 상기 보호된 컨텐트로의 액세스가 허가된다. 단계(314)에서, 상기 유예 기간 카운터와 OutCoverageUseLimt 값 N의 비교는 추가적인 유예 기간 액세스 시도들이 이용가능하지 않은 것으로 결정하면, 단계(318)에서 상기 보호된 컨텐트로의 액세스가 차단된다.
대안적인 실시예들(도시되지 않음)은 상기 RoamUseLimit 파라미터 값 R을 제거함으로써 상기 방법을 간략화할 수 있다. 대신에 참 또는 거짓으로 설정될 수 있는 UseInCoverageForRoaming 파라미터 값과 같은 파라미터가 이용될 수 있다. 상기 파라미터가 참으로 설정되고, 상기 모바일 디바이스(200)가 로밍 모드에 있는 것으로 결정되면, 상기 실행 에이전트(104)는 상기 모바일 디바이스(200)가 인-커버리지에 있는 것처럼(즉, 디스에이블된 트랜시버 기능을 갖는 인-커버리지) 상기 운영 시스템(102) 및 프로세서(110)를 통해 상기 모바일 디바이스(200)가 로밍 모드에 있는 것으로 처리한다. 따라서, 로밍 모드에 있는 동안의 유예 기간 액세스 시도들은 상기 InCoverageUseLimit M에 대해 과금된다. 상기 UseInCoverageForRoaming 파라미터가 거짓으로 설정되고, 상기 모바일 디바이스(200)가 로밍 모드에 있는 것으로 결정된 경우, 상기 실행 에이전트(104)는 상기 모바일 디바이스(200)가 아웃-오브-커버리지에 있는 것처럼 상기 운영 시스템(102) 및 프로세서(110)를 통해 상기 모바일 디바이스(200)가 로밍 모드에 있는 것으로 처리한다. 따라서, 로밍 모드에 있는 동안의 유예 기간 액세스 시도들은 상기 OutCoverageUseLimit N에 대해 과금된다.
도 4a는 도 4에 도시되고 상기에 설명된 단계들을 수행하도록 실행될 수 있는 샘플 의사 코드를 정렬한다. 도 4a에 도시된 바와 같이, 라인(401)에서 절차 TestContentLicensing이 명칭된다. LicenseParameters는 라이센스 정책을 위한 라이센스 파라미터들(105, 205)을 유지하는 데이터 구조에 대한 참조 번호이다. 라인(402)은 상기 절차 TestContentLicensing의 바디를 시작한다. 라인(403)은 절차 TestContentLicensing으로 패스된 아규먼트가 널인지 여부를 검사한다(도 4의 단계(301)를 참조). 널 아규먼트(null argument)는 상기 절차 TestContentLicensing이 라이센스 없는 컨텐트에 관하여 호출될 때 우연하게 또는 의도적으로 발생할 수 있다. 라이센스가 없는 경우, 상기 절차는 상기 컨텐트가 액세스될 수 있다고 추정하며, 따라서 라인(404)은 AllowAccess라 라벨링된 구문들에서 실행이 계속하도록 지시한다(도 4의 단계(319)).
라인(410)에서의 주장(assertion)은 단순하게 코멘트로서 취급될 수 있거나, 라인(410)은 수동 또는 자동 디버깅이나 상기 절차의 정확성의 검증을 지시하도록 사용될 수 있다. 라인(411)은 상기 모바일 디바이스(100) 상의 보안 클록(102)과 같은 보안 시간의 로컬 소스가 존재하는지를 결정한다(단계(302)). 일 실시예에서, 상기 보안 클록(102)은 상기 모바일 디바이스(100)의 나머지가 파워 오프된 후에 계속해서 동작할 수 있다. 시간의 로컬 소스(102)가 안전한 경우, 라인(413)은 TestForExpiration으로 라벨링된 구문들에서 실행을 계속하도록 지시한다(도 4의 단계(304)). 그렇지 않으면, 실행은 라인(413)을 계속 따라간다. 라인(420)은 코멘트로서 고려될 수 있거나 상기 절차의 정확성의 검증을 위해 사용될 수 있다. 라인(421)은 LicenseParameters에 의해 참조된 데이터 구조에 상기 TimeCallAtAccess 파라미터의 값을 결정한다(도 4의 단계(303)). 상기 값이 참으로 설정되면, 라인(422)은 서비스 제공자 네트워크(201) 상의 보안 시간 소스(202)로부터 보안 시간을 검색하도록 호출을 개시한다(도 4의 단계(306)). 상기 호출이 라인(422)에서 성공적으로 보안 시간을 검색하면, 상기 보안 시간은 로컬 가변 STime에 저장되며, 라인(424)는 TestForExpiration으로 라벨링된 구문들에서 실행을 계속하도록 지시한다(도 4의 단계(304)).
도 4a에서, 라인(430)은 보안 시간이 이용 불가능함을 주장한다. 라인(431)은 상기 모바일 디바이스(200)의 동작 모드를 결정하는 사례들의 시퀀스를 시작한다. 라인(431)은 상기 모바일 디바이스(200)가 인-커버리지, 아웃-오브-커버리지 또는 로밍 모드에서 동작하는지를 결정한다(도 4의 단계들(310 및 311)). 즉, 상기 모바일 디바이스(100, 200)의 동작 모드가 인-커버리지인 경우, 라인(432)은 CoverageIn으로 라벨링된 구문들에서 실행을 계속하도록 지시한다(도 4의 단계(312, 315)). 상기 모바일 디바이스(200)의 동작 모드가 로밍인 경우, 라인(434)은 Roaming으로 라벨링된 구문들에서 실행을 계속하도록 지시한다. 상기 모바일 디바이스(200)의 동작 모드가 아웃-오브-커버리지인 경우, 라인(436)은 CoverageOut으로 라벨링된 구문들에서 실행을 계속하도록 지시한다.
도 4a에서, 라인(440)은 상기 라벨 CoverageIn으로 구문들의 시퀀스를 라벨링한다. 라인(440)에서 시작하는 상기 라인들은 인-커버리지 모드에 있는 모바일 디바이스의 사례에 응답한다(도 4의 단계(312)). 라인(441)은 상기 모바일 디바이스(200)가 인-커버리지 모드에서 동작하는 동안 상기 보호된 컨텐트로의 더 이상의 유예-기간 액세스들이 남아있는지를 알기 위해 InUsesAttempts 액세스-카운터의 가변 값을 검사한다(도 4의 단계(312)). 더 이상의 인-커버리지 유예-기간 액세스들이 남아있지 않은 경우, 라인(442)은 BlockAccess로 라벨링된 구문에서 실행을 계속하도록 지시한다(도 4의 단계(318)). 그렇지 않으면, InUsesAttempted란 명칭의 카운터를 증가시키는 라인(443)에서 실행을 계속한다(도 4의 단계(315)). 프로그래밍을 간략화하기 위해, 상기 카운터 InUsesAttempted는 또한 상기 라이센스 파라미터들을 포함하는 LicenseParameters에 의해 참조되는 동일한 데이터 구조에 위치된 정수 가변 필드일 수 있다. 라인(444)은 AllowAccess로 라벨링된 구문들에서 실행을 계속하도록 지시한다(도 4의 단계(319)).
도 4a에서, 라인(450)은 상기 라벨 Roaming을 갖는 구문들의 시퀀스를 라벨링한다. 라인(450)에서 시작하는 라인들은 로밍 모드에 있는 모바일 디바이스의 사례에 응답한다(도 4의 단계(313)). 라인(451)은 상기 모바일 디바이스(200)가 로밍 모드에서 동작하는 동안 상기 보호된 컨텐트로의 더 이상의 유예-기간 액세스들이 남아있는지를 알기 위해 RoamUsesAttempts 액세스-카운터의 가변 값을 검사한다(도 4의 단계(313)). 더 이상의 로밍 유예-기간 액세스들이 남아있지 않은 경우, 라인(452)은 BlockAccess로 라벨링된 구문에서 실행을 계속하도록 지시한다(도 4의 단계(318)). 그렇지 않으면, RoamUsesAttempted란 명칭의 카운터를 증가시키는 라인( 453)에서 실행을 계속한다(도 4의 단계(316)). 프로그래밍을 간략화하기 위해, 상기 카운터 RoamUsesAttempted는 또한 상기 라이센스 파라미터들을 포함하는 LicenseParameters에 의해 참조되는 동일한 데이터 구조에 위치된 정수 가변 필드일 수 있다. 라인(454)은 AllowAccess로 라벨링된 구문들에서 실행을 계속하도록 지시한다(도 4의 단계(319)).
도 4a에서, 라인(460)은 상기 라벨 CoverageOut과 구문들의 시퀀스를 라벨링한다. 라인(460)에서 시작하는 라인들은 아웃-오브-커버리지 모드에 있는 모바일 디바이스의 사례에 응답한다. 라인(461)은 상기 모바일 디바이스(200)가 아웃-오브-커버리지 모드에서 동작하는 동안 상기 보호된 컨텐트로의 더 이상의 유예-기간 액세스들이 남아있는지를 알기 위해 OutUsesAttempts의 값을 검사한다(도 4의 단계(314)). 더 이상의 아웃-오브-커버리지 유예-기간 액세스들이 남아있지 않은 경우, 라인(462)은 BlockAccess로 라벨링된 구문에서 실행을 계속하도록 지시한다(도 4의 단계(318)). 그렇지 않으면, OutUsesAttempted란 명칭의 카운터를 증가시키는 라인(463)에서 실행을 계속한다(도 4의 단계(317)). 프로그래밍을 간략화하기 위해, OutUsesAttempted는 또한 상기 라이센스 파라미터들을 포함하는 LicenseParameters에 의해 참조되는 동일한 데이터 구조에 위치된 정수 가변 필드일 수 있다. 라인(464)은 AllowAccess로 라벨링된 구문들에서 실행을 계속하도록 지시한다(도 4의 단계(319)).
도 4a에서, 라인(470)은 상기 시간 STime이 라인(471)에서 주장된 바와 같이 안전한 것으로 알려질 때마다 상기 라이센스를 검증하는 상기 라벨 TestForExpiration을 갖는 구문들의 시퀀스를 라벨링한다(도 4의 단계(302)). 라인(472)은 현재 보안 시간, STime과 LicenseParameters에 의해 참조된 데이터 구조의 ExpirationDate 파라미터를 비교한다(도 4의 단계(307)). STime이 LicenseParameters의 파라미터 ExpirationDate에서의 만료 날짜/시간보다 큰 경우(즉, 이후의), 상기 라이센스는 만료된다. 라인(473)은 상기 라이센스가 만료된 것으로서 분명하게 나타내도록 일부 동작을 수행한다(도 4의 단계(305)). 상기 동작은 상기 라이센스 파라미터 데이터 구조 및 상기 보호된 컨텐트를 삭제할 수 있지만, 이는 액세스 권한들의 후속하는 갱신을 어렵게 한다. 라인(473)에서의 대안적인 동작은 LicenseParameters에 의해 참조된 데이터 구조 내에서 만료된 바와 같이 상기 라이센스를 마킹하는 것이다(도 4의 단계(305)). 예를 들어, 상기 데이터 구조는 참으로 설정된 Expired라 불리는 부울(boolean) 필드를 가질 수 있다. 임의의 경우에, 라인(474)은 InUseAttempts의 값을 상기 InCoverageUseLimit M보다 큰 값으로 설정한다. 라인(475)은 RoamUseAttempts의 값을 상기 RoamCoverageUseLimit R보다 큰 값으로 설정한다. 라인(476)은 OutUseAttempts의 값을 상기 OutCoverageUseLimit N보다 큰 값으로 설정한다. 라인들(477-479)에서, InCoverageUseLimit, RoamUseLimit 및 OutCoverageUseLimit의 값들은 각각 LicenseParameters에 의해 참조된 데이터 구조에서 제로로 설정된다. 상기 제로 값들은 클라이언트가 의도적으로 상기 모바일 디바이스(200)를 커버리지로부터 차폐함으로써 속이고 임의의 남아있는 사용되지 않은 아웃-오브-커버리지 유예 기간 액세스를 이용하는 것을 방지한다. 라인(480)은 클라이언트에게 상기 라이센스가 만료되었음을 알리며 클라이언트에게 상기 라이센스를 갱신하도록 요청할 수 있다(도 4의 단계(308)). 라인(479)은 상기 보호된 컨텐트가 액세스되는 것을 방지할, BlockAccess라 라벨링된 구문들로의 실행을 지시한다(도 4의 단계(318)).
라인(472)의 비교는 상기 라이센스가 STime에 기초하여 여전히 유효한 것으로 발견되면(도 4의 단계(304)), 라인들(483-485)은 상기 라이센스 정책의 라이센스 파라미터들을 포함하는 동일한 데이터 구조 LicenseParameters에 위치될 수 있는 정수 유예-기간 액세스 카운터들(도 4의 단계(307)), InUsesAttempts, RoamUseAttempts 및 OutUseAttempts를 제로로 재설정한다. 상기 라이센스는 만료되지 않은 것으로 결정되었으며 상기 시간이 안전하기 때문에, 상기 유예-기간 액세스 카운터들, InUsesAttempts, RoamUseAttempts 및 OutUsesAttempts는 제로로 재설정된다.
도 4a에서, 라인(490)은 비록 보안 시간이 이용가능하지 않더라도, 상기 라이센스가 만료되지 않은 것으로 처리되도록 하는 것을 나타내기 위해 상기 절차를 빠져나가 상기 절차 TestContentLicensing의 호출자에 참의 값을 리턴시키는 라인(491)의 구문에 상기 라벨 AllowAccess를 첨부한다(도 4의 단계(319)). 라인(495)은 상기 라이센스가 만료된 것으로 처리되도록 하는 것을 나타내기 위해 상기 절차를 빠져나가 상기 절차 TestContentLicensing의 호출자에 거짓의 값을 리턴시키는 라인(496)의 구문에 상기 라벨 BlockAccess를 첨부한다(도 4의 단계(318)). 라인(499)은 상기 절차 TestContentLicensing의 종료를 마킹한다.
도 4b는 상기 방법이 로밍 모드에 있을 때 상기 InUseLimit에 디폴트하기 보다는, RoamUseLimit의 값이 이용되지 않을 때 상기 대안적인 절차를 수행하도록 실행될 수 있는 샘플 의사 코드를 정렬한다. 상기 샘플 의사 코드는 실질적으로 도 4a의 샘플 의사 코드와 유사하지만, RoamUseAttempts 및 RoamUseLimits를 참조하는 코드의 라인들이 제거된다. 대신에 새로운 코드 라인들(435-439)이 추가된다. 당업자는 원하는 경우 상기 OutUseLimit로 디폴트하도록 샘플 의사 코드를 용이하게 생성할 수 있다. 라인(435)에서, 상기 모바일 디바이스(200)가 인-커버리지 또는 아웃-오브-커버리지에 있지 않은 것으로 여겨지는 경우, 상기 모바일 디바이스(200)는 로밍 모드에 있는 것으로 여겨질 수 있다. 라인(436)에서, 상기 실행 에이전트(104)는 상기 운영 시스템(103) 및 프로세서(110)를 통해 인-커버리지 사례 또는 아웃-오브-커버리지 사례에서와 동일하게 상기 로밍 모드를 처리할지 여부를 LicenseParameters에 의해 참조된 데이터 구조의 UseInCoverageForRoaming 파라미터로부터 결정한다. 상기 UseInCoverageForRoaming 파라미터의 값이 참인 경우, 로밍 모드는 인-커버리지 모드에 관한 한 동일한 정책 파라미터들을 이용할 것이며, 라인(437)은 CoverageIn으로 라벨링된 구문들에서 실행을 계속하도록 지시한다. 상기 UseInCoverageForRoaming 파라미터의 값이 거짓인 경우, 로밍 모드는 아웃-오브-커버리지에 관한 한 동일한 정책 파라미터들을 이용할 것이며, 라인(439)은 CoverageOut으로 라벨링된 구문들에서 실행을 계속하도록 지시한다. 도 4a 및 4b에 도시된 샘플 의사 코드 목록들은 상기 다양한 실시예들의 단계들을 실행하도록 사용될 수 있는 가능한 의사 코드의 예시일 뿐이라는 것을 의미한다. 상기 코드 목록들은 실시예들을 어떤 방식으로든 제한하는 것을 의미하지 않는다.
일부 실시예들에 대해, 상기 서비스 제공자는 원격으로 및/또는 현장에서 상황에 따라 상기 라이센스 파라미터들을 구성하거나 수정할 수 있다. 예를 들어, 상기 서비스 제공자는 오용들로 식별될 수 있는 라이센스들을 종료시킬 수 있거나, 상기 서비스 제공자는 기존의 라이센싱 사용자로부터의 지불시에 라이센스를 원격으로 업그레이드하거나 갱신할 수 있다. 원격 업그레이드들 또는 갱신들은 무선으로 상기 새로운 라이센스 파라미터 값들을 안전하게 전송하기 위한 표준 방법들을 이용함으로써 달성될 수 있다. 상기 파라미터들에 대한 업데이트들은 디지털 서명을 갖는 SMS와 같은 일부 수단을 이용하여 상기 디바이스에 푸시될 수 있다.
도 5는 실행 에이전트(104)에 의해 실행될 수 있는 절차의 대안적인 실시예의 흐름도를 제공한다. 상기 대안적인 실시예는 도 1에 도시된 단계들 모두를 포함하지만, 또한 서비스 제공자에게 원격으로 또는 현장에서 라이센스 파라미터들을 구성하거나 수정하는 능력을 허용하는 단계들을 포함한다. 도 5a는 당업자에 의해 도 5에 도시된 단계들을 실행하도록 이용될 수 있는 의사 코드의 샘플 목록을 제공한다.
도 5에 도시된 대안적인 실시예는 도 4에 도시되며 상술한 단계들(301-319)을 계속해서 실행한다. 그러나, 도 5의 대안적인 실시예에서, 실행 에이전트(104)는 단계(302)에서 운영 시스템(103) 및 프로세서(110)를 통해 로컬 보안 시간이 이용가능한 것으로 결정하는 경우, 또는 단계(309)에서 보안 시간을 검색하는 호출이 성공적인 경우, 상기 실행 에이전트(104)는 단계(320)에서 운영 시스템(103) 및 프로세서(110)를 통해 메모리(111)의 보안 부분에 저장된 라이센스 정책들 및/또는 파라미터들을 업데이트할 때인지를 결정한다. 업데이트들 사이의 시간은 임의의 시간 주기(T)일 수 있다. 시간(T)은 서비스 제공자에 의해 사전 설정될 수 있거나 매시간, 매일, 매달 등의 기초로 발생할 수 있다. 상기 사전설정된 시간 주기(T)가 경과한 경우, 상기 실행 에이전트(104)는 단계(321)에서 상기 운영 시스템(103) 및 프로세서(110)를 통해 라이센싱 파라미터들(LP)의 업데이트가 이용가능한지를 결정하도록 서비스 제공자 서버(도시되지 않음)를 접촉할 것이다. 라이센싱 파라미터들의 업데이트가 이용가능한 경우, 단계(322)에서 상기 라이센싱 파라미터들은 메모리(111)의 보안 부분으로 다운로딩될 것이다. 일단 상기 업데이트된 라이센싱 파라미터들이 다운로딩된 경우, 상기 실행 에이전트(104)는 단계(304)에서 상기 운영 시스템(103) 및 프로세서(110)를 통해 상기 클라이언트/사용자의 시간-기반 라이센스가 만료되었는지 여부를 계속해서 결정할 것이다. 상기 라이센스가 만료되지 않은 경우, 단계(307)에서 상기 새로운 라이센스 파라미터들이 설정될 것이다. 상기 새로운 라이센스 파라미터들은 상기 모바일 디바이스가 인-커버리지, 아웃-오브-커버리지 또는 로밍 상태인 경우들에서 상기 클라이언트/사용자에 이용가능한 유예 기간 액세스 시도들을 변경할 수 있다.
도 5a는 도 5에 도시된 추가적인 단계들을 수행하도록 실행될 수 있는 샘플 의사 코드를 식별한다. 추가적인 의사 코드 라인들(500-511)이 추가된다. 도 5a에서, 라인(411)은 보안 시간의 로컬 소스가 이용가능한지 여부를 검사한다. 보안 시간의 로컬 소스가 이용가능한 경우, Check Updates라 라벨링된 단계들의 시퀀스가 수행된다(도 5의 단계(320)). 추가로, 라인(420)에서 로컬 보안 시간이 이용가능하지 않은 경우, 라인들(421-424)에서 보안 시간을 검색하는 단계들의 시퀀스가 이루어진다(도 5의 단계(303, 306, 309)를 참조). 보안 시간을 검색하는 호출이 성공적인 경우(도 5의 단계(309)), Check Updates라 라벨링된 단계들의 시퀀스가 수행된다(도 5의 단계(320)). 라인들(500-510), 상기 Check Updates 시퀀스에서, 라인(501)에서 사전 설정 시간(T)이 경과했는지를 알기 위한 검사가 이루어진다(도 5의 단계(320)). 상기 사전 설정된 시간 주기(T)가 경과한 경우, 라인(502)에서 상기 서비스 제공자로부터 업데이트들이 이용가능한지 여부를 결정하도록 검사가 이루어진다(도 5의 단계(321)). 업데이트가 이용가능한 경우, 라인(504)에서 보안 데이터 채널을 개방하는 명령들이 수행되며, 라인(505)에서 액세스 통계가 상기 서비스 제공자에 송신된다. 라인(506 및 507)에서 상기 새로운 라이센스 파라미터들은 상기 서비스 제공자로부터 수신되고 저장된다(단계(322)). 일단 상기 새로운 라이센스 파라미터들이 저장되면, 라인(508)에서 상기 보안 데이터 채널이 닫힌다. 일단 상기 보안 데이터 채널이 라인(508)에서 닫히면, 상기 샘플 의사 코드는 도 4a에 관하여 상기에 개략된 Test For Expiraiton 절차로 이동한다. 라인(501)에서 상기 사전 설정된 시간 주기(T)가 경과하지 않은 경우, 상기 절차 Test For Expiration은 도 4a에 관하여 상기에 개략된 바와 같이 수행된다.
상기 라이센스 파라미터들에 대한 업데이트들은 상기 클라이언트/사용자가 새로운 라이센스 및 컨텐트를 구매하거나, 현재 라이센스를 갱신하거나 업그레이드한 결과일 수 있다. 새로운 라이센스 또는 컨텐트가 구매될 때, 상기 새로운 라이센스 또는 컨텐트를 업로딩하는 프로세스는 유예-기간 카운터들을 재설정하는 단계를 포함하여, 새로운 라이센스 파라미터 값들을 저장하는 단계를 포함한다. 상기 방법에서, 업데이트된 라이센스 파라미터들은 기본적으로 새로운 컨텐트 및 라이센스의 다운로드의 일부에 따라 실행된다. 사용자가 새로운 피스(piece)의 컨텐트를 구매/업그레이드하도록 서버를 접촉할 때, 컨텐트 및 상기 컨텐트 자체를 지배하는 라이센스 규칙들을 수반하는 것은(2008년 8월 15일까지 플레이) 상기 라이센스 파라미터들(스타트업시의 호출, 아웃-오브-커버리지 유예 기간들 등)에 대한 업데이트이다. 이들 업데이트된 라이센스 파라미터들은 글로벌일 수 있는데, 즉 모든 컨텐트/데이터에 적용되거나 새롭게 다운로드된 컨텐트 자체에만 적용될 수 있다. 새로운 컨텐트의 구매는 보안 데이터 연결의 확립을 요구하기 때문에, 상기 라이센스 파라미터들은 상기 컨텐트 데이터와 유사한 방식으로 인증되고 암호화되며 보안될 수 있다. 상기 방법은 사용자들이 새로운 컨텐트 다운로드들을 구매할 때 라이센스 파라미터 업데이트들이 실행되도록 허용하여, 평소에는 서버와의 명백한 데이터 연결을 필요로 하지 않음으로써, 사용자의 경험을 개선시킨다. 상기 방법을 이용하면, 컨텐트 제공자들은 더 친화적으로 라이센스 파라미터들을(예를 들어, 더 긴 라이센스들, 더 많은 유예-기간 사용들 등) 컨텐트의 빈번한 구매자들에게 보상할 수 있으며, 따라서 더 많은 컨텐트를 구매하기 위한 상기 보상은 더 우수한 사용자 경험이 된다. 따라서, 각각의 새로운 구매로, 상기 컨텐트 제공자는 동일한 다운로드 거래에서의 모든 컨텐트에 대한 라이센스 파라미터들을 변경할 수 있다.
상기 보호된 컨텐트로의 업데이트의 경우에, 라이센스 파라미터들의 업데이트는 도 5에 도시되지 않은 단계인 업데이트를 수반할 수 있다. 라인(503)은 업데이트가 이용가능한 것으로 결정하는 경우, 라인(504)은 보안 데이터 연결을 개방한다. 상기 데이터 연결은 상기 모바일 디바이스(100, 200)가 상기 연결로의 클라이언트/사용자 액세스 및 상기 연결을 통한 전송들을 방지한다는 측면에서 안전할 수 있다. 상기 파라미터 값들을 보호하고 상기 값들로 가능한 속임수를 좌절시키기 위해, 상기 파라미터들을 암호화하거나 상기 파라미터 값들을 작은 피스의 실행가능한 코드로 끼워넣고 디지털 서명이나 HMAC 인증을 포함하도록 하는 것이 유용할 수 있다. 라인(505)은 현재의 라이센스 파라미터들 및/또는 상기 보호된 컨텐트에 대한 액세스 활동에 관한 통계들이 상기 서비스 제공자 네트워크로 송신되도록 야기한다. 예를 들어, 상기 보호된 컨텐트로의 액세스들의 총 수는 AccessStatistics라 불리는 데이터 구조에 유지된 통계일 수 있다. 다른 통계들은 상기 유예 기간 카운터들 LicenseParameters.InUseAttempts 및 LicenseParameters.OutUseAttempts가 각각 한계치 M 및 N 이상으로 증가한 횟수일 수 있다. 상기 서비스 제공자는 상기 서비스 제공자 네트워크(201)가 상기 모바일 디바이스(100, 200)로 전송하는 라이센스 파라미터들의 업데이트에 대한 값들을 결정하도록 이들 통계들을 이용할 수 있다. 라인(506)은 상기 업데이트의 새로운 라이센스 파라미터들을 일시적 데이터 구조 NewLicenseParameters로 저장한다. 그 후에 라인(507)은 상기 라이센스 파라미터들의 새로운 값들을 LicenseParameters에 의해 참조된 데이터 구조에 복사한다. 라인(508)은 상기 보안 데이터 연결을 닫는다.
상기에 논의된 바와 같이, 상기 실시예들에 의해 사용된 가능한 사용 라이센싱 파라미터들 중 하나는 TimeCallAtStartup이다. 임의의 보호 정책이 상기 라이센스 파라미터를 참으로 설정하는 경우, 보안 시간은 상기 모바일 디바이스(100)에서의 보안 시간의 내부 소스로부터 또는 상기 디바이스가 파워 온 될 때 상기 모바일 디바이스(200)의 데이터 호출에 의해 액세스되어야 한다. 도 6은 상기 TimeCallAtStartup 파라미터를 사용하는 실시예 방법에 의해 수행된 단계들을 도시한다.
도 6에 도시된 바와 같이, 상기 실행 에이전트(104)는 단계(900)에서 상기 운영 시스템(103) 및 프로세서(110)를 통해 상기 모바일 디바이스(100, 200)가 보안 시간의 로컬 소스를 포함하는지를 결정한다. 상기 모바일 디바이스(100)가 보안 시간의 로컬 소스를 포함하는 경우, 상기 실행 에이전트(104)는 단계(903)에서 상기 운영 시스템(103) 및 프로세서(110)를 통해 보안 시간이 이미 상기 모바일 디바이스(100) 상에 지역적으로 존재함에 따라 데이터 호출이 필요하지 않음을 나타내는 거짓의 값을 리턴할 것이다. 그러나, 단계(900)에서 상기 모바일 디바이스(200)가 보안 시간의 로컬 소스를 포함하지 않는 경우, 상기 실행 에이전트는 단계(902)에서, 상기 운영 시스템(103) 및 프로세서(110)를 통해 메모리(111)의 보안 부분에 저장된 라이센싱 정책에 대한 라이센싱 파라미터들이 참으로 설정된 TimeCallAtStratup을 갖는 것으로 결정한다. 그렇다면, 단계(904)에서 보호된 컨텐트로의 액세스의 허가 이전에 데이터 호출이 필요할 것이다.
상기 제 1 라이센싱 정책이 TimeCallAtStartup에 대해 참을 나타내는 라이센싱 파라미터를 포함하지 않는 경우, 상기 실행 에이전트(104)는 단계(902)에서 상기 운영 시스템(103) 및 프로세서(110)를 통해 메모리(111)의 보안 부분에 저장된 각 라이센싱 정책을 계속해서 검사할 것이다. 상기 메모리(111)의 보안 부분 내에 저장된 임의의 다른 라이센스 정책이 상기 파라미터 TimeCallAtStartup에 대해 참의 값을 리턴하는 경우, 상기 실행 에이전트(104)는 단계(904)에서, 상기 운영 시스템(103) 및 프로세서(110)를 통해 보호된 컨텐트로의 액세스의 허가 이전에 보안 시간 소스로의 데이터 호출을 요구할 것이다. 상기 메모리(111)의 보안 부분에 저장된 라이센스 정책이 TimeCallAtStartup에 대해 참의 값을 리턴하는 경우, 단계(905)에서 데이터 호출은 이루어지지 않을 것이다.
도 6a는 도 6에 도시된 단계들을 수행하도록 실행될 수 있는 샘플 의사 코드를 식별한다. 도 6a에 도시된 바와 같이, 상기 의사 코드 루프는 상기 모바일 디바이스가 파워 업(power up) 될 때 개시된 상기 소프트웨어의 일부분으로서 호출될 수 있는 IsStartupTimeFetchNeeded로서 지칭될 수 있다. 라인들(601, 602)은 상기 절차 바디를 시작한다. 라인(603)은 상기 모바일 디바이스(100, 200)가 파워 오프되는 동안 시간을 유지하는 상기 모바일 디바이스(100, 200) 상에 보안 클록이 존재하는지 여부와 같이, 보안 시간(102)이 지역적으로 이용가능한지 여부를 결정한다. 보안 시간의 로컬 소스(102)가 존재하는 경우, 상기 절차는 데이터 호출이 요구되지 않음을 나타내는 결과(거짓)를 리턴하는 라인(604)에서 종료한다. 보안 시간의 로컬 소스(102)가 존재하지 않거나, 상기 보안 클록이 초기화, 검증 또는 동기화를 요구하는 경우, 상기 절차의 실행은 라인(610)에서 계속한다. 라인(610)에서의 주장은 코멘트로서 처리될 수 있거나 상기 절차의 정확성을 수동으로 또는 자동으로 검증하는데 도움이 될 수 있다. 라인(611)은 상기 모바일 디바이스(200)상에 발견된 각 라이센스(L)에 대해 순환하는 루프의 시작이다. 라인(613)은 상기 루프의 라인들의 들여쓴 자리에 의해 표시된 바와 같이, 상기 루프의 최종 라인이다. 라인(612)은 상기 파라미터 TimeCallAtStartup이 임의의 라이센스(L)에 대해 참으로 설정되는지 여부를 검사한다. 라이센스(L)는 TimeCallAtStartup이 참인 것으로 발견되면, 상기 절차는 라인(613)에서 종료하며 상기 모바일 디바이스(200)가 시작될 때 보안 시간이 상기 서비스 제공자의 네트워크로부터 액세스되어야 하는 표시자로서 참을 리턴시킨다. 참으로 설정된 TimeCallAtStartup을 갖는 라이센스(L)가 발견되지 않은 경우, 상기 루프는 결국 멈추고 라인(620)에서 실행을 계속한다. 라인(620)에서의 주장은 코멘트로서 처리될 수 있거나 상기 절차의 정확성을 수동으로 또는 자동으로 검증하는데 도움이 될 수 있다. 라인(621)은 실행이 상기 절차를 종료하며 상기 서비스 가입자 네트워크(201) 상에 보안 시간 소스(302)로부터 액세스되는 보안 시간을 요구하는 라이센스가 없는, 즉 거짓의 표시를 리턴하게 한다. 라인(622)은 절차 바디의 종료인 IsStartupTimeFetchNeeded를 마킹한다. 상기 절차가 참을 리턴하면, 상기 모바일 디바이스(200)는 서비스 제공자 네트워크(201) 상의 보안 시간 소스(302)로부터 보안 시간을 검색하도록 데이터 호출을 배치한다.
대안적인 실시예들에서, 하나 이상의 라이센스 정책, 즉 일 세트 이상의 정책 파라미터들이 사용될 수 있다. 디폴트 정책(라이센스 파라미터들의 디폴트 세트)은 OEM(original equipment manufacture)에 의해 모바일 디바이스(100, 200)에 구성될 수 있다. 상기 모바일 디바이스를 구매하고 그 후에 되파는 서비스 제공자는 다른 정책 파라미터들을 지시할 수 있다. 전면 업그레이드된 또는 확장된 정책은 사용자에 대한 추가 과금에 대해 서비스 제공자로부터 이용가능할 수 있다. 대안적으로, 상기 서비스 제공자는 어떤 디폴트 정책 파라미터들을 더 제한할 수 있다. 추가로, 특정 사용의 보호된 컨텐트를 커버링하는 개별 라이센스들의 기간들 및 조건들은 모바일 디바이스 및/또는 서비스 제공자 라이센스 파라미터들(상기 모바일 디바이스 및/또는 서비스 제공자 정책들을 확장하거나 더 제한하는)을 무시할 수 있다.
대안적인 실시예에서, 정책 파라미터들 또는 컨텐트 사용 통계들은 사용자의 무선 디바이스가 상기 컨텐트 서버를 접촉할 때와 같이, 가능하게는 보안 채널을 통해 컨텐트 서버로 다시 보고될 수 있다. 특히 중요한 것은 보안 시간이 이용가능하지 않을 때, 애플리케이션/컨텐트가 개시된(또는 개시되려 시도된) 횟수를 나타내는 데이터일 수 있다. 대안적으로, 실시예는 상기 인-커버리지 유예 기간 한계 M 및 아웃-오브-커버리지 유예 기간 한계 N(도 2 및 도 3의)이 초과되었는지 또는 최종 보고 이후로 상기 유예 기간 한계들의 횟수가 초과된 후에 재설정되었는지 여부를 보고할 수 있다. 그와 같은 통계들은 잠재적 오용의 시도들을 암시할 수 있으며 상기 특정 사용자에 의한 추가적인 사용 또는 추가적인 컨텐트 구매들을 불허하도록 사용될 수 있다. 일 실시예는 상기 제공자 네트워크가 구매된 업그레이드들 또는 의심되는 오용에 따라 파라미터들을 동적으로 수정하도록 허용할 수 있다. 상기 사용 통계들은 또한 컨텐트의 인기에 대한 피드백을 제공할 수 있다. 일 실시예는 또한 유예 기간 또는 로밍 기간 동안 남아있는 액세스 시도들의 카운트와 같은, 현재 사용중인 보호된 컨텐트의 유용성 상태의 표시를 사용자에게 제공할 수 있다.
또 다른 실시예에서, 상기 라이센스 파라미터들 및/또는 특정 라이센싱된 컨텐트와 관련된 사용 통계들은 상기 모바일 디바이스(100, 200)상의 실행 에이전트가 상기 애플리케이션 서버로부터 SMS 메시지를 수신할 때 상기 서비스 제공자 네트워크(201)상의 애플리케이션 서버로 전송될 수 있다. 상기 서버는 그 후에 상기 라이센싱된 컨텐트 또는 추가적 컨텐트로의 액세스를 거부하거나 허용하도록 상기 파라미터 값들 및/또는 통계들을 이용할 수 있다.
도 7은 모바일 디바이스(100, 200)가 SMS 메시지를 수신하고 상기 SMS 메시지에 전송된 통계들에 기초하여 라이센스 정책들을 수정하도록 허용하는 실시예 방법에 의해 수행된 단계들을 도시한다. 도 7에 도시된 바와 같이, 단계(801)에서 SMS 메시지가 상기 모바일 디바이스(100, 200)에 의해 수신될 때 상기 SMS 메시지는 위조 메시지가 아니고 상기 서비스 제공자로부터의 정당한 SMS 메시지로서 검증되어야 한다. 단계(801)에서 상기 SMS 메시지가 검증되지 않으면, 상기 SMS 메시지는 무시되며 단계(805)에서 상기 모바일 디바이스(100, 200)는 다음 메시지를 기다리도록 리턴된다. 상기 SMS 메시지가 정당한 SMS 메시지로서 검증되는 경우, 상기 SMS 메시지는 상기 텍스트 필드들을 새로운 라이센스 정책 파라미터 값들로 변환하도록 단계(802)에서 분석된다. 이들 데이터 필드들 중에 포함된 것은 단계(803)에서 어느 라이센스 정책들이 상기 새로운 라이센스 파라미터들 값들을 적용해야 하는지를 식별하기 위한 식별자들일 수 있다. 일단 단계(803)에서 상기 적절한 라이센스 정책들이 수정을 위해 식별된 경우, 단계(804)에서 새로운 라이센스 파라미터 값들은 메모리(111)의 보안 부분에 설정된다. 단계(804)에서 상기 새로운 라이센스 파라미터 값들이 상기 식별된 라이센스 정책들에 대해 설정된 후에, 상기 모바일 디바이스(100, 200)는 단계(805)에서 다음 SMS 메시지를 대기하는 상태로 리턴된다.
도 7a는 도 7에 도시된 단계들을 수행하도록 실행될 수 있는 샘플 의사 코드를 식별한다. 상기 샘플 의사-코드 목록은 SMS 메시지가 상기 모바일 디바이스(100, 200)에 의해 수신되며 라이센스를 업데이트하도록 SMS로서 식별될 때 호출될 수 있는 절차 DoLicenseUpdateFromSMS를 실행할 수 있다. 라인(701)에서, SMSmessage는 상기 절차 DoLicenseUpdateFromSMS로 패스된 SMS 메시지에 대한 참조 부호이다. 라인 (702)은 상기 절차의 바디를 시작한다. 라인(703)은 상기 SMS 메시지가 위조 메시지가 아니고 상기 서비스 제공자로부터 적법하게 온 것인지를 결정한다(도 7의 단계(801)). 라인(704)은 상기 메시지 컨텐트들을 분석하고, 필요에 따라 텍스트 필드들을 라이센스 파라미터 값들로 변환한다(도 7의 단계(802)). 상기 SMS 메시지는 적어도 하나의 라이센스 또는 라이센스 정책에 대한 라이센스 파라미터들 중 하나, 일부 또는 모두에 대한 값들을 포함할 수 있다. 상기 SMS 메시지는 상기 SMS 메시지에 의해 목표되는 개별 보호된 컨텐트 라이센스(L)를 식별할 수 있다(도 7의 단계(803)). DoLicenseUpdateFromSMS는 전형적인 사례일 수 있는, 하나의 라이센스가 상기 SMS 메시지에 의해 업데이트되는 것으로 추정한다. 그러나, 하나 이상의 라이센스는 상기 SMS 메시지로 업데이트될 수 있다. 라인(705)은 상기 SMS 메시지 컨텐트가 라이센스(L)의 라이센스 파라미터들을 식별하고 위치시키는 것을 결정한다. 라인(706)은 라이센스(L)의 LicenseParameters를 상기 SMS 메시지인 SMSMessage의 사용자 데이터 부분을 분석함으로써 결정된 새로운 값들로 설정한다(도 7의 단계(804)). 라인(707)은 절차 DoLicenseUpdateFromSMS의 호출자에 실행을 리턴한다(도 7의 단계(805)). 라인(710)은 상기 SMSMessage가 가짜라는 코멘트로서 처리될 수 있다. 라인(711)은 절차 DoLicenseUpdateFromSMS의 호출자에 실행을 리턴한다. 라인(712)은 상기 절차 바디의 종료를 마킹한다.
도 4, 4a, 4b, 5, 5a, 6, 6a, 7, 7a의 방법 단계들 및 도 3에 도시된 정책들을 실행하도록 사용된 하드웨어는 명령들의 세트를 실행하도록 구성된 메모리 엘리먼트들 및 프로세싱 엘리먼트들일 수 있으며, 상기 명령들의 세트는 상기 정책들에 대응하는 방법 단계들을 수행하기 위한 것이다. 대안적으로, 일부 정책들은 주어진 기능에 특정된 회로에 의해 수행될 수 있다.
파워 관리 집적 회로(WMIC)를 갖는 실시예에서, 메인 배터리가 제거되더라도 파워는 상기 클록에 유지된다. 이는 로컬 보안 클록(102)이 파워 사이클들(적어도 다수의 날들과 같은 일부 특정된 시간 주기 동안) 사이의 상태를 유지할 수 있다는 것을 의미한다. 이는 더 사용자-친화적인 경험을 제공하는데, 그 이유는 상기 클라이언트가 보호된 컨텐트로의 액세스를 획득하기 전에 원격 소스로부터 시간을 검색하거나 업데이트하도록 초래된 지연을 알지 못하기 때문이다. 또한, 이는 로밍 또는 임의의 서비스 제공자 네트워크(201) 영역 외에 있으며 상기 네트워크로부터의 외부 보안 시간이 이용 불가능한 동안, 상기 클라이언트는 여전히 시간-기반 라이센스 정책하에서 라이센스된 보호된 컨텐트를 액세스할 수 있음을 의미한다.
당업자는 본 명세서에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어 또는 이들의 조합으로서 실행될 수 있음을 이해할 것이다. 하드웨어와 소프트웨어의 상호교환성을 명확하게 도시하도록, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 그 기능성의 관점에서 설명되었다. 그와 같은 기능성이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 상기 전체 시스템에 부과된 설계 제약들 및 특정 애플리케이션에 좌우된다. 당업자는 각 특정 애플리케이션에 대해 다양한 방식들로 설명된 기능을 실행할 수 있지만, 그와 같은 실행 결정들은 본 발명의 범위로부터 이탈하는 것으로 해석되어서는 안된다.
본 명세서에 설명된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들 및 회로들은 범용 프로세서, 디지털 신호 프로세서(DSP), 응용 주문형 회로(ASIC), 필드 프로그램어블 게이트 어레이(FPGA) 또는 다른 프로그램어블 논리 디바이스, 이산 게이트 또는 트랜지스터 논리, 이산 하드웨어 컴포넌트들 또는 상술한 기능들을 수행하도록 설계된 이들의 임의의 조합으로 실행되거나 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로 상기 프로세서는 임의의 종래 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들어 DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 함께한 하나 이상의 마이크로프로세서들 또는 임의의 다른 그와 같은 구성으로서 구현될 수 있다.
본 명세서에 설명된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접, 프로세서에 의해 실행된 소프트웨어 모듈로, 또는 그 둘의 조합으로 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 분리성 디스크, CD-ROM, DVD 디스크, 또는 기술분야에 알려진 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장 매체는 프로세서에 결합되며, 상기 프로세서는 상기 저장 매체로부터 정보를 판독할 수 있고, 상기 저장 매체에 정보를 기입할 수 있다. 대안적으로, 상기 저장 매체는 상기 프로세서에 집적될 수 있다. 상기 프로세서 및 저장 매체는 ASIC에 상주할 수 있다. 상기 ASIC은 사용자 터미널에 상주할 수 있다. 대안으로서, 상기 프로세서 및 상기 저장 매체는 사용자 터미널의 이산 컴포넌트들로서 상주할 수 있다.
본 발명은 특정 예시적인 실시예들을 참조하여 설명되었지만, 설명된 실시예들에 대한 수많은 수정들, 변형들 및 변경들이 첨부된 청구범위에 정의된 바와 같은 본 발명의 정신 및 범위를 이탈하지 않고서 이루어질 수 있다. 따라서, 본 발명은 설명된 실시예들로 제한되지 않으며, 다음의 청구범위의 언어 및 그 등가물들에 의해 정의된 전체 범위를 갖는 것이다.

Claims (119)

  1. 모바일 디바이스 상에 보호된 컨텐트(protected content)로의 액세스를 제한하기 위한 방법으로서,
    상기 모바일 디바이스 상에 보호된 컨텐트를 저장하는 단계 ? 상기 보호된 컨텐트는 제한된 시간 기간 동안 라이센싱됨 ? ;
    제 1 파라미터 값을 클라이언트 액세스 가능하지 않은 보안 방식으로 상기 모바일 디바이스 상에 저장하는 단계 ? 상기 제 1 파라미터 값은 상기 모바일 디바이스가 보안 시간(secure time)의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 제 1 정책 조건을 나타냄 ?;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖는지를 결정하는 단계;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖는 경우 상기 보호된 컨텐트로의 액세스를 허가(grant)하는 단계;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖지 않는 경우 상기 제 1 정책 조건이 만족되는지 여부를 결정하는 단계; 및
    상기 제 1 정책 조건이 만족되는 한 상기 보호된 컨텐트로의 액세스를 제공하는 단계를 포함하는, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 제 1 파라미터 값은 상기 모바일 디바이스가 서비스 네트워크 커버리지 밖에 있을 때 허용되는 유예 기간(grace period) 액세스 시도들의 수인, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 제 1 파라미터 값은 상기 모바일 디바이스가 서비스 네트워크 커버리지 내에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 제 1 파라미터 값은 상기 모바일 디바이스가 로밍하고 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 제 1 파라미터 값은 상기 보호된 컨텐트로의 액세스가 허가될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 제 1 파라미터 값은 상기 모바일 디바이스가 파워 업(power up)될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 제 1 파라미터 값에 대한 업데이트가 존재하는지 여부를 결정하기 위해 주기적 기준(periodic basis)으로 보호된 컨텐트 제공자 서버에 질의(query)하는 단계;
    상기 제 1 파라미터 값에 대한 상기 업데이트가 존재하는 경우 상기 제 1 파라미터 값에 대한 상기 업데이트를 다운로딩하는 단계; 및
    상기 모바일 디바이스 상에 상기 제 1 파라미터 값에 대한 상기 업데이트를 저장하는 단계를 더 포함하는, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  8. 제 7 항에 있어서,
    상기 제 1 파라미터에 대한 상기 업데이트는 암호화되고 인증된 파일로 다운로딩되는, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  9. 제 7 항에 있어서,
    상기 제 1 파라미터에 대한 상기 업데이트는 SMS 메시지로 수신되는, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  10. 제 1 항에 있어서,
    상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 다수의 정책 조건들을 나타내는 다수의 파라미터 값들을 저장하는 단계를 더 포함하는, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  11. 제 10 항에 있어서,
    상기 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 서비스 네트워크 커버리지 밖에 있을 때 허용되는 유예 기간 액세스 시도들의 수이며, 상기 다수의 파라미터 값들 중 다른 하나는 상기 모바일 디바이스가 서비스 네트워크 커버리지 내에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  12. 제 10 항에 있어서,
    상기 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 로밍하고 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  13. 제 10 항에 있어서,
    상기 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 로밍하고 있을 때 상기 모바일 디바이스가 액세스 시도들을 어떻게 처리해야 하는지를 표시하는, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  14. 제 10 항에 있어서,
    상기 다수의 파라미터 값들 중 하나는 상기 보호된 컨텐트로의 액세스가 허가될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지를 여부를 표시하는, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  15. 제 10 항에 있어서,
    상기 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 파워 업 될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지를 표시하는, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  16. 제 10 항에 있어서,
    상기 다수의 파라미터 값들에 대한 업데이트들이 존재하는지 여부를 결정하기 위해 주기적 기준으로 보호된 컨텐트 제공자 서버에 질의하는 단계;
    상기 다수의 파라미터 값들에 대한 상기 업데이트들이 존재하는 경우 상기 다수의 파라미터 값들에 대한 상기 업데이트들을 다운로딩하는 단계; 및
    상기 모바일 디바이스의 메모리에 상기 다수의 파라미터 값들에 대한 상기 업데이트들을 저장하는 단계를 더 포함하며, 상기 다수의 파라미터 값들에 대한 상기 업데이트들은 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 다수의 정책 조건들을 나타내는, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  17. 제 16 항에 있어서,
    상기 다수의 파라미터들에 대한 상기 업데이트들은 암호화되고 인증된 파일로 다운로딩되는, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  18. 제 16 항에 있어서,
    상기 다수의 파라미터들에 대한 상기 업데이트들은 SMS 메시지로 수신되는, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  19. 제 10 항에 있어서,
    새로운 보호된 컨텐트의 구매와 관련된 상기 다수의 파라미터 값들에 대한 업데이트들을 다운로딩하는 단계를 포함하는, 모바일 디바이스 상에 보호된 컨텐트로의 액세스를 제한하기 위한 방법.
  20. 모바일 디바이스상의 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법으로서,
    상기 모바일 디바이스 상에 보호된 컨텐트를 저장하는 단계 ? 상기 보호된 컨텐트는 제한된 시간 기간 동안 라이센싱됨 ? ;
    제 1 파라미터 값을 클라이언트 액세스 가능하지 않은 보안 방식으로 상기 모바일 디바이스 상에 저장하는 단계 ? 상기 제 1 파라미터 값은 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트의 각 개별 파일로의 액세스를 제어하는 제 1 정책 조건을 나타냄 ?;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖는지를 결정하는 단계;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖는 경우 보호된 컨텐트의 각 개별 파일로의 액세스를 허가하는 단계;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖지 않는 경우 보호된 컨텐트의 각 개별 파일에 대한 상기 제 1 정책 조건이 만족되는지 여부를 결정하는 단계; 및
    상기 제 1 정책 조건이 만족되는 한 보호된 컨텐트의 각 개별 파일로의 액세스를 제공하는 단계를 포함하는, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  21. 제 20 항에 있어서,
    상기 제 1 파라미터 값은 상기 모바일 디바이스가 서비스 네트워크 커버리지 밖에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  22. 제 20 항에 있어서,
    상기 제 1 파라미터 값은 상기 모바일 디바이스가 서비스 네트워크 커버리지 내에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  23. 제 20 항에 있어서,
    상기 제 1 파라미터 값은 상기 모바일 디바이스가 로밍하고 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  24. 제 20 항에 있어서,
    상기 제 1 파라미터 값은 상기 보호된 컨텐트로의 액세스가 허가될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  25. 제 20 항에 있어서,
    상기 제 1 파라미터 값은 상기 모바일 디바이스가 파워 업 될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  26. 제 20 항에 있어서,
    상기 제 1 파라미터 값에 대한 업데이트가 존재하는지 여부를 결정하기 위해 주기적 기준으로 보호된 컨텐트 제공자 서버에 질의하는 단계;
    상기 제 1 파라미터 값에 대한 상기 업데이트가 존재하는 경우 상기 제 1 파라미터 값에 대한 상기 업데이트를 다운로딩하는 단계; 및
    상기 모바일 디바이스의 메모리에 상기 제 1 파라미터 값에 대한 상기 업데이트를 저장하는 단계를 더 포함하며, 상기 제 1 파라미터 값에 대한 상기 업데이트는 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 보호된 컨텐트의 각 개별 파일로의 액세스를 제어하는 제 1 정책 조건을 나타내는, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  27. 제 26 항에 있어서,
    상기 제 1 파라미터에 대한 상기 업데이트는 암호화되고 인증된 파일로 다운로딩되는, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  28. 제 26 항에 있어서,
    상기 제 1 파라미터에 대한 상기 업데이트는 SMS 메시지로 수신되는, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  29. 제 20 항에 있어서,
    상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 다수의 정책 조건들을 나타내는 다수의 파라미터 값들을 저장하는 단계를 더 포함하는, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  30. 제 29 항에 있어서,
    상기 모바일 디바이스의 메모리에 저장된 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 서비스 네트워크 커버리지 밖에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  31. 제 29 항에 있어서,
    상기 모바일 디바이스의 메모리에 저장된 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 서비스 네트워크 커버리지 내에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  32. 제 29 항에 있어서,
    상기 모바일 디바이스의 메모리에 저장된 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 로밍하고 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  33. 제 29 항에 있어서,
    상기 모바일 디바이스의 메모리에 저장된 다수의 파라미터 값들 중 하나는 상기 보호된 컨텐트로의 액세스가 허가될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  34. 제 29 항에 있어서,
    상기 모바일 디바이스의 메모리에 저장된 상기 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 파워 업 될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  35. 제 29 항에 있어서,
    상기 다수의 파라미터 값들에 대한 업데이트들이 존재하는지 여부를 결정하기 위해 주기적 기준으로 보호된 컨텐트 제공자 서버에 질의하는 단계;
    상기 다수의 파라미터 값들에 대한 상기 업데이트들이 존재하는 경우 상기 다수의 파라미터 값에 대한 상기 업데이트들을 다운로딩하는 단계;
    상기 모바일 디바이스의 메모리에 상기 다수의 파라미터 값들에 대한 상기 업데이트들을 저장하는 단계를 더 포함하며, 상기 다수의 파라미터 값에 대한 상기 업데이트들은 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 다수의 정책 조건들을 나타내는, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  36. 제 35 항에 있어서,
    상기 다수의 파라미터들에 대한 업데이트들은 암호화된 파일로 다운로딩되는, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  37. 제 35 항에 있어서,
    상기 다수의 파라미터들에 대한 업데이트들은 SMS 메시지로 수신되는, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  38. 제 29 항에 있어서,
    상기 저장된 다수의 파라미터 값들 중 임의의 파라미터 값이 상기 모바일 디바이스가 파워 업 될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는지를 결정하기 위해 상기 모바일 디바이스가 파워 업 될 때마다 상기 다수의 정책 조건들을 나타내는 상기 저장된 다수의 파라미터 값들의 각각을 질의하는 단계를 더 포함하는, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  39. 제 29 항에 있어서,
    새로운 보호된 컨텐트의 구매와 관련된 상기 다수의 파라미터 값들에 대한 업데이트들을 다운로딩하는 단계를 포함하는, 모바일 디바이스 상에 보호된 컨텐트의 개별 파일들로의 액세스를 제한하기 위한 방법.
  40. 모바일 디바이스로서,
    프로세서;
    상기 프로세서에 연결되고 무선 네트워크에 접속하도록 구성되는 무선 트랜시버; 및
    상기 프로세서에 연결된 메모리를 포함하며,
    상기 메모리는 상기 프로세서로 하여금:
    상기 메모리 내에 보호된 컨텐트를 저장하는 단계 ? 상기 보호된 컨텐트는 제한된 시간 기간 동안 라이센싱됨 ? ;
    제 1 파라미터 값을 클라이언트 액세스 가능하지 않은 상기 메모리의 영역(portion)에 저장하는 단계 ? 상기 모바일 디바이스 상의 상기 제 1 파라미터 값은 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 제 1 정책 조건을 나타냄 ?;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖는지를 결정하는 단계;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖는 경우 상기 보호된 컨텐트로의 액세스를 허가하는 단계;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖지 않는 경우 상기 제 1 정책 조건이 만족되는지 여부를 결정하는 단계; 및
    상기 제 1 정책 조건이 만족되는 한 상기 보호된 컨텐트로의 액세스를 제공하는 단계를 포함하는 단계들을 수행하게 하도록 구성되는 소프트웨어 명령들을 상기 메모리 내에 저장하는, 모바일 디바이스.
  41. 제 40 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들은 상기 모바일 디바이스가 서비스 네트워크 커버리지 밖에 있을 때 허용되는 유예 기간 액세스 시도들의 수인 제 1 파라미터 값을 이용하는, 모바일 디바이스.
  42. 제 40 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들은 상기 모바일 디바이스가 서비스 네트워크 커버리지 내에 있을 때 허용되는 유예 기간 액세스 시도들의 수인 제 1 파라미터 값을 이용하는, 모바일 디바이스.
  43. 제 40 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들은 상기 모바일 디바이스가 로밍하고 있을 때 허용되는 유예 기간 액세스 시도들의 수인 제 1 파라미터 값을 이용하는, 모바일 디바이스.
  44. 제 40 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들은 상기 보호된 컨텐트로의 액세스가 허가될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는 제 1 파라미터 값을 이용하는, 모바일 디바이스.
  45. 제 40 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들은 상기 모바일 디바이스가 파워 업 될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야하는지 여부를 표시하는 제 1 파라미터 값을 이용하는, 모바일 디바이스.
  46. 제 40 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들은 상기 프로세서로 하여금:
    상기 제 1 파라미터 값에 대한 업데이트가 존재하는지 여부를 결정하기 위해 주기적 기준으로 보호된 컨텐트 제공자 서버에 질의하는 단계;
    상기 제 1 파라미터 값에 대한 상기 업데이트가 존재하는 경우 상기 제 1 파라미터 값에 대한 상기 업데이트를 다운로딩하는 단계; 및
    상기 모바일 디바이스의 메모리에 상기 제 1 파라미터 값에 대한 상기 업데이트를 저장하는 단계를 수행하게 하도록 추가적으로 구성되는, 모바일 디바이스.
  47. 제 46 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들은 상기 프로세서로 하여금 상기 제 1 파라미터에 대한 다운로딩된 업데이트를 분석(parse)하고 복호화(decrypt)하는 단계를 수행하게 하도록 추가적으로 구성되는, 모바일 디바이스.
  48. 제 47 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들은 상기 프로세서로 하여금 상기 제 1 파라미터에 대한 업데이트를 SMS 메시지로 수신하는 단계를 수행하게 하도록 추가적으로 구성되는, 모바일 디바이스.
  49. 제 40 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들은 상기 프로세서로 하여금 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 다수의 정책 조건들을 나타내는 다수의 파라미터 값들을 저장하는 단계를 수행하게 하도록 추가적으로 구성되는, 모바일 디바이스.
  50. 제 49 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들에 의해 이용되는 다수의 파라미터 값들 중 적어도 하나는 상기 모바일 디바이스가 서비스 네트워크 커버리지 밖에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  51. 제 49 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들에 의해 이용되는 다수의 파라미터 값들 중 적어도 하나는 상기 모바일 디바이스가 서비스 네트워크 커버리지 내에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  52. 제 49 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들에 의해 이용되는 다수의 파라미터 값들 중 적어도 하나는 상기 모바일 디바이스가 로밍하고 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  53. 제 49 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들에 의해 이용되는 다수의 파라미터 값들 중 적어도 하나는 상기 보호된 컨텐트로의 액세스가 허가될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스.
  54. 제 49 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들에 의해 이용되는 다수의 파라미터 값들 중 적어도 하나는 상기 모바일 디바이스가 파워 업 될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스.
  55. 제 49 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들은 상기 프로세서로 하여금:
    상기 다수의 파라미터 값들에 대한 업데이트들이 존재하는지 여부를 결정하기 위해 주기적 기준으로 보호된 컨텐트 제공자 서버에 질의하는 단계;
    상기 다수의 파라미터 값들에 대한 상기 업데이트들이 존재하는 경우 상기 다수의 파라미터 값에 대한 상기 업데이트들을 다운로딩하는 단계; 및
    상기 모바일 디바이스의 메모리에 상기 다수의 파라미터 값들에 대한 상기 업데이트들을 저장하는 단계를 수행하게 하도록 추가적으로 구성되는, 모바일 디바이스.
  56. 제 55 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들은 상기 프로세서로 하여금 상기 제 1 파라미터에 대한 다운로딩된 업데이트를 분석하고 복호화하는 단계를 수행하게 하도록 추가적으로 구성되는, 모바일 디바이스.
  57. 제 56 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들은 상기 프로세서로 하여금 상기 제 1 파라미터에 대한 업데이트를 SMS 메시지로 수신하는 단계를 수행하게 하도록 추가적으로 구성되는, 모바일 디바이스.
  58. 제 49 항에 있어서,
    상기 모바일 디바이스의 메모리에 있는 소프트웨어 명령들은 상기 프로세서로 하여금 새로운 보호된 컨텐트의 구매와 관련된 상기 다수의 파라미터 값들에 대한 업데이트들을 다운로딩하는 단계를 수행하게 하도록 추가적으로 구성되는, 모바일 디바이스.
  59. 모바일 디바이스로서,
    상기 모바일 디바이스 상에 보호된 컨텐트를 저장하기 위한 수단 ? 상기 보호된 컨텐트는 제한된 시간 기간 동안 라이센싱됨 ? ;
    제 1 파라미터 값을 클라이언트 액세스 가능하지 않은 보안 방식으로 상기 모바일 디바이스 상에 저장하기 위한 수단 ? 상기 제 1 파라미터 값은 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 제 1 정책 조건을 나타냄 ?;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖는지를 결정하기 위한 수단;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖는 경우 상기 보호된 컨텐트로의 액세스를 허가하기 위한 수단;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖지 않는 경우 상기 제 1 정책 조건이 만족되는지 여부를 결정하기 위한 수단; 및
    상기 제 1 정책 조건이 만족되는 한 상기 보호된 컨텐트로의 액세스를 제공하기 위한 수단을 포함하는, 모바일 디바이스.
  60. 제 59 항에 있어서,
    상기 모바일 디바이스 상에 저장된 제 1 파라미터 값은 상기 모바일 디바이스가 서비스 네트워크 커버리지 밖에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  61. 제 59 항에 있어서,
    상기 모바일 디바이스 상에 저장된 제 1 파라미터 값은 상기 모바일 디바이스가 서비스 네트워크 커버리지 내에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  62. 제 59 항에 있어서,
    상기 모바일 디바이스 상에 저장된 제 1 파라미터 값은 상기 모바일 디바이스가 로밍하고 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  63. 제 59 항에 있어서,
    상기 모바일 디바이스 상에 저장된 제 1 파라미터 값은 상기 보호된 컨텐트로의 액세스가 허가될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야하는지 여부를 표시하는, 모바일 디바이스.
  64. 제 59 항에 있어서,
    상기 모바일 디바이스 상에 저장된 제 1 파라미터 값은 상기 모바일 디바이스가 파워 업 될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야하는지 여부를 표시하는, 모바일 디바이스.
  65. 제 59 항에 있어서,
    상기 제 1 파라미터 값에 대한 업데이트가 존재하는지 여부를 결정하기 위해 주기적 기준으로 보호된 컨텐트 제공자 서버에 질의하기 위한 수단;
    상기 제 1 파라미터 값에 대한 상기 업데이트가 존재하는 경우 상기 제 1 파라미터 값에 대한 상기 업데이트를 다운로딩하기 위한 수단; 및
    상기 모바일 디바이스 상에 상기 제 1 파라미터 값에 대한 상기 업데이트를 저장하기 위한 수단을 더 포함하는, 모바일 디바이스.
  66. 제 65 항에 있어서,
    상기 제 1 파라미터에 대한 다운로딩된 업데이터를 복호화하기 위한 수단을 더 포함하는, 모바일 디바이스.
  67. 제 65 항에 있어서,
    상기 제 1 파라미터에 대한 업데이트를 SMS 메시지로 수신하고 분석하기 위한 수단을 더 포함하는, 모바일 디바이스.
  68. 제 59 항에 있어서,
    상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 다수의 정책 조건들을 나타내는 다수의 파라미터 값들을 저장하기 위한 수단을 더 포함하는, 모바일 디바이스.
  69. 제 68 항에 있어서,
    상기 모바일 디바이스 상에 저장된 다수의 파라미터 값들 중 적어도 하나는 상기 모바일 디바이스가 서비스 네트워크 커버리지 밖에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  70. 제 68 항에 있어서,
    상기 모바일 디바이스 상에 저장된 다수의 파라미터 값들 중 적어도 하나는 상기 모바일 디바이스가 서비스 네트워크 커버리지 내에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  71. 제 68 항에 있어서,
    상기 모바일 디바이스 상에 저장된 다수의 파라미터 값들 중 적어도 하나는 상기 모바일 디바이스가 로밍하고 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  72. 제 68 항에 있어서,
    상기 모바일 디바이스 상에 저장된 다수의 파라미터 값들 중 적어도 하나는 상기 보호된 컨텐트로의 액세스가 허가될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스.
  73. 제 68 항에 있어서,
    상기 모바일 디바이스 상에 저장된 다수의 파라미터 값들 중 적어도 하나는 상기 모바일 디바이스가 파워 업 될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스.
  74. 제 68 항에 있어서,
    상기 다수의 파라미터 값들에 대한 업데이트들이 존재하는지 여부를 결정하기 위해 주기적 기준으로 보호된 컨텐트 제공자 서버에 질의하기 위한 수단;
    상기 다수의 파라미터 값들에 대한 상기 업데이트들이 존재하는 경우 상기 다수의 파라미터 값들에 대한 상기 업데이트들을 다운로딩하기 위한 수단; 및
    상기 모바일 디바이스 상에 상기 다수의 파라미터 값들에 대한 상기 업데이트들을 저장하기 위한 수단을 더 포함하며, 상기 다수의 파라미터 값들에 대한 상기 업데이트들은 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 다수의 정책 조건들을 나타내는, 모바일 디바이스.
  75. 제 74 항에 있어서,
    상기 다수의 파라미터들에 대한 다운로딩된 업데이트들을 복호화하기 위한 수단을 더 포함하는, 모바일 디바이스.
  76. 제 74 항에 있어서,
    상기 다수의 파라미터들에 대한 업데이트들을 SMS 메시지로 수신하고 분석하기 위한 수단을 더 포함하는, 모바일 디바이스.
  77. 제 68 항에 있어서,
    새로운 보호된 컨텐트의 구매와 관련된 상기 다수의 파라미터 값들에 대한 업데이트들을 다운로딩하기 위한 수단을 더 포함하는, 모바일 디바이스.
  78. 모바일 디바이스로서,
    상기 모바일 디바이스 상에 보호된 컨텐트를 저장하기 위한 수단 ? 상기 보호된 컨텐트는 제한된 시간 기간 동안 라이센싱됨 ? ;
    제 1 파라미터 값을 클라이언트 액세스 가능하지 않은 보안 방식으로 상기 모바일 디바이스 상에 저장하기 위한 수단 ? 상기 제 1 파라미터 값은 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트의 각 개별 파일로의 액세스를 제어하는 제 1 정책 조건을 나타냄 ?;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖는지를 결정하기 위한 수단;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖는 경우 보호된 컨텐트의 각 개별 파일로의 액세스를 허가하기 위한 수단;
    상기 모바일 디바이스가 상기 보안 시간의 소스에 대한 액세스를 갖지 않는 경우 보호된 컨텐트의 각 개별 파일에 대한 상기 제 1 정책 조건이 만족되는지 여부를 결정하기 위한 수단; 및
    상기 제 1 정책 조건이 만족되는 한 보호된 컨텐트의 각 개별 파일로의 액세스를 제공하기 위한 수단을 포함하는, 모바일 디바이스.
  79. 제 78 항에 있어서,
    상기 모바일 디바이스 상에 저장된 제 1 파라미터 값은 상기 모바일 디바이스가 서비스 네트워크 커버리지 밖에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  80. 제 78 항에 있어서,
    상기 모바일 디바이스 상에 저장된 제 1 파라미터 값은 상기 모바일 디바이스가 서비스 네트워크 커버리지 내에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  81. 제 78 항에 있어서,
    상기 모바일 디바이스 상에 저장된 제 1 파라미터 값은 상기 모바일 디바이스가 로밍하고 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  82. 제 78 항에 있어서,
    상기 모바일 디바이스 상에 저장된 제 1 파라미터 값은 상기 보호된 컨텐트로의 액세스가 허가될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스.
  83. 제 78 항에 있어서,
    상기 모바일 디바이스 상에 저장된 제 1 파라미터 값은 상기 모바일 디바이스가 파워 업 될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스.
  84. 제 78 항에 있어서,
    상기 제 1 파라미터 값에 대한 업데이트가 존재하는지 여부를 결정하기 위해 주기적 기준으로 보호된 컨텐트 제공자 서버에 질의하기 위한 수단;
    상기 제 1 파라미터 값에 대한 상기 업데이트가 존재하는 경우 상기 제 1 파라미터 값에 대한 상기 업데이트를 다운로딩하기 위한 수단; 및
    상기 모바일 디바이스의 상기 저장하기 위한 수단에 상기 제 1 파라미터 값에 대한 상기 업데이트를 저장하기 위한 수단을 더 포함하며, 상기 제 1 파라미터 값에 대한 상기 업데이트는 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 보호된 컨텐트의 각 개별 파일로의 액세스를 제어하는 제 1 정책 조건을 나타내는, 모바일 디바이스.
  85. 제 84 항에 있어서,
    상기 제 1 파라미터에 대한 다운로딩된 업데이트를 복호화하기 위한 수단을 더 포함하는, 모바일 디바이스.
  86. 제 84 항에 있어서,
    상기 제 1 파라미터에 대한 업데이트를 SMS 메시지로 수신하고 분석하기 위한 수단을 더 포함하는, 모바일 디바이스.
  87. 제 78 항에 있어서,
    상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 다수의 정책 조건들을 나타내는 다수의 파라미터 값들을 저장하기 위한 수단을 더 포함하는, 모바일 디바이스.
  88. 제 87 항에 있어서,
    상기 모바일 디바이스 상에 저장된 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 서비스 네트워크 커버리지 밖에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  89. 제 87 항에 있어서,
    상기 모바일 디바이스 상에 저장된 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 서비스 네트워크 커버리지 내에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  90. 제 87 항에 있어서,
    상기 모바일 디바이스 상에 저장된 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 로밍하고 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스.
  91. 제 87 항에 있어서,
    상기 모바일 디바이스 상에 저장된 다수의 파라미터 값들 중 하나는 상기 보호된 컨텐트로의 액세스가 허가될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스.
  92. 제 87 항에 있어서,
    상기 모바일 디바이스 상에 저장된 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 파워 업 될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스.
  93. 제 87 항에 있어서,
    상기 다수의 파라미터 값들에 대한 업데이트들이 존재하는지 여부를 결정하기 위해 주기적 기준으로 보호된 컨텐트 제공자 서버에 질의하기 위한 수단;
    상기 다수의 파라미터 값들에 대한 상기 업데이트들이 존재하는 경우 상기 다수의 파라미터 값들에 대한 상기 업데이트들을 다운로딩하기 위한 수단;
    상기 모바일 디바이스 상에 상기 다수의 파라미터 값들에 대한 상기 업데이트들을 저장하기 위한 수단을 더 포함하며, 상기 다수의 파라미터 값들에 대한 상기 업데이트들은 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 다수의 정책 조건들을 나타내는, 모바일 디바이스.
  94. 제 93 항에 있어서,
    상기 제 1 파라미터에 대한 다운로딩된 업데이트를 복호화하기 위한 수단을 더 포함하는, 모바일 디바이스.
  95. 제 93 항에 있어서,
    상기 제 1 파라미터에 대한 업데이트를 SMS 메시지로 수신하고 분석하기 위한 수단을 더 포함하는, 모바일 디바이스.
  96. 제 87 항에 있어서,
    상기 저장된 다수의 파라미터 값들 중 임의의 파라미터 값이 상기 모바일 디바이스가 파워 업 될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는지를 결정하기 위해 상기 모바일 디바이스가 파워 업 될 때마다 상기 다수의 정책 조건들을 나타내는 상기 저장된 다수의 파라미터 값들의 각각을 질의하기 위한 수단을 더 포함하는, 모바일 디바이스.
  97. 제 87 항에 있어서,
    새로운 보호된 컨텐트의 구매와 관련된 상기 다수의 파라미터 값들에 대한 업데이트들을 다운로딩하기 위한 수단을 더 포함하는, 모바일 디바이스.
  98. 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버로서,
    상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 보호된 컨텐트로의 액세스를 제어하는 제 1 정책 조건을 나타내는 적어도 제 1 파라미터 값을 포함하는 데이터베이스 및 상기 보호된 컨텐트의 개별 파일들을 저장하는 대용량 저장 메모리; 및
    상기 대용량 저장 메모리에 연결되고 무선 네트워크에 접속하도록 구성되는 프로세서를 포함하며,
    상기 프로세서는:
    상기 모바일 디바이스에 의해 보호된 컨텐트를 다운로드하기 위한 요청을 수신하는 단계;
    상기 요청에 응답하여 상기 보호된 컨텐트를 상기 모바일 디바이스로 전송하는 단계 ? 상기 보호된 컨텐트는 제한된 시간 기간 동안 라이센싱됨 ?; 및
    적어도 제 1 파라미터 값을 클라이언트 액세스 가능하지 않은 보안 방식으로 상기 모바일 디바이스로 전송하는 단계 ? 상기 제 1 파라미터 값은 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 제 1 정책 조건을 나타냄 ? 를 수행하기 위한 프로세서-실행가능한 소프트웨어 명령들에 의해 구성되는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  99. 제 98 항에 있어서,
    상기 적어도 제 1 파라미터 값은 상기 모바일 디바이스가 서비스 네트워크 커버리지 밖에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  100. 제 98 항에 있어서,
    상기 적어도 제 1 파라미터 값은 상기 모바일 디바이스가 서비스 네트워크 커버리지 내에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  101. 제 98 항에 있어서,
    상기 적어도 제 1 파라미터 값은 상기 모바일 디바이스가 로밍하고 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  102. 제 98 항에 있어서,
    상기 적어도 제 1 파라미터 값은 상기 보호된 컨텐트로의 액세스가 허가될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  103. 제 98 항에 있어서,
    상기 적어도 제 1 파라미터 값은 상기 모바일 디바이스가 파워 업 될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  104. 제 98 항에 있어서,
    상기 프로세서는 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 제 1 정책 조건을 나타내는 상기 적어도 제 1 파라미터 값을 업데이트하기 위해 상기 대용량 저장 메모리를 액세스하도록 프로세서-실행가능한 소프트웨어 명령들에 의해 구성되는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  105. 제 104 항에 있어서,
    상기 프로세서는:
    상기 적어도 제 1 파라미터 값에 대한 업데이트가 상기 대용량 저장 메모리에 존재하는지 여부를 결정하기 위해 상기 모바일 디바이스로부터 질의 요청들을 수신하는 단계; 및
    상기 적어도 제 1 파라미터 값에 대한 업데이트가 존재하는 경우 상기 적어도 제 1 파라미터 값에 대한 상기 업데이트를 수행하는 상기 모바일 디바이스로 전송하는 단계를 수행하도록 프로세서-실행가능한 소프트웨어 명령들에 의해 추가적으로 구성되는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  106. 제 105 항에 있어서,
    상기 프로세서는 상기 적어도 제 1 파라미터에 대한 업데이트를 암호화되고 인증된 파일로서 전송하도록 프로세서-실행가능한 소프트웨어 명령들에 의해 구성되는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  107. 제 105 항에 있어서,
    상기 프로세서는 SMS 메시지를 생성하고 상기 적어도 제 1 파라미터에 대한 업데이트를 SMS 메시지로서 전송하도록 프로세서-실행가능한 소프트웨어 명령들에 의해 구성되는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  108. 제 104 항에 있어서,
    상기 프로세서는 상기 적어도 제 1 파라미터 값에 대한 상기 업데이트가 이루어지자마자 상기 적어도 제 1 파라미터 값에 대한 상기 업데이트가 존재하는 경우 상기 적어도 제 1 파라미터 값에 대한 상기 업데이트를 상기 모바일 디바이스로 전송하는 단계를 수행하도록 프로세서-실행가능한 소프트웨어 명령들에 의해 추가적으로 구성되는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  109. 제 98 항에 있어서,
    상기 대용량 저장 메모리는 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 다수의 정책 조건들을 나타내는 다수의 파라미터 값들을 포함하는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  110. 제 109 항에 있어서,
    상기 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 서비스 네트워크 커버리지 밖에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  111. 제 109 항에 있어서,
    상기 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 서비스 네트워크 커버리지 내에 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  112. 제 109 항에 있어서,
    상기 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 로밍하고 있을 때 허용되는 유예 기간 액세스 시도들의 수인, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  113. 제 109 항에 있어서,
    상기 다수의 파라미터 값들 중 하나는 상기 보호된 컨텐트로의 액세스가 허가될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  114. 제 109 항에 있어서,
    상기 다수의 파라미터 값들 중 하나는 상기 모바일 디바이스가 파워 업 될 때마다 상기 모바일 디바이스가 보안 시간의 원격 소스를 액세스해야 하는지 여부를 표시하는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  115. 제 109 항에 있어서,
    상기 프로세서는 상기 모바일 디바이스가 보안 시간의 소스에 대한 액세스를 갖지 않을 때 상기 보호된 컨텐트로의 액세스를 제어하는 다수의 정책 조건들을 나타내는 다수의 파라미터 값들의 각각을 업데이트하기 위해 상기 대용량 저장 메모리를 액세스하도록 프로세서-실행가능한 소프트웨어 명령들에 의해 구성되는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  116. 제 115 항에 있어서,
    상기 프로세서는:
    상기 다수의 파라미터 값들 중 임의의 파라미터 값에 대한 업데이트가 상기 대용량 저장 메모리에 존재하는지 여부를 결정하도록 상기 모바일 디바이스로부터 질의 요청들을 수신하는 단계; 및
    상기 다수의 파라미터 값들에 대한 상기 업데이트가 존재하는 경우 상기 다수의 파라미터 값들에 대한 상기 업데이트를 상기 질의 요청을 수행하는 상기 모바일 디바이스로 전송하는 단계를 수행하도록 프로세서-실행가능한 소프트웨어 명령들에 의해 추가적으로 구성되는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  117. 제 116 항에 있어서,
    상기 프로세서는 상기 다수의 파라미터 값들에 대한 업데이트를 암호화된 파일로 전송하도록 프로세서-실행가능한 소프트웨어 명령들에 의해 구성되는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  118. 제 116 항에 있어서,
    상기 프로세서는 SMS 메시지를 생성하고 상기 다수의 파라미터 값들에 대한 업데이트를 SMS 메시지로서 전송하도록 프로세서-실행가능한 소프트웨어 명령들에 의해 구성되는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
  119. 제 109 항에 있어서,
    상기 프로세서는 새로운 보호된 컨텐트의 구매와 관련된 상기 다수의 파라미터 값들에 대한 업데이트들을 다운로딩하는 단계를 수행하도록 프로세서-실행가능한 소프트웨어 명령들에 의해 추가적으로 구성되는, 모바일 디바이스로 보호된 컨텐트를 제공하기 위한 서버.
KR1020107016749A 2007-12-24 2008-12-24 모바일 디바이스들 상의 시간-기반 라이센스들을 위한 정책들을 관리하기 위한 방법 및 장치 KR101185130B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/963,991 US8544105B2 (en) 2007-12-24 2007-12-24 Method and apparatus for managing policies for time-based licenses on mobile devices
US11/963,991 2007-12-24
PCT/US2008/088290 WO2009082756A1 (en) 2007-12-24 2008-12-24 Method and apparatus for managing policies for time-based licenses on mobile devices

Publications (2)

Publication Number Publication Date
KR20100106535A KR20100106535A (ko) 2010-10-01
KR101185130B1 true KR101185130B1 (ko) 2012-09-21

Family

ID=40434916

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107016749A KR101185130B1 (ko) 2007-12-24 2008-12-24 모바일 디바이스들 상의 시간-기반 라이센스들을 위한 정책들을 관리하기 위한 방법 및 장치

Country Status (9)

Country Link
US (1) US8544105B2 (ko)
EP (1) EP2075729A1 (ko)
JP (2) JP2011508351A (ko)
KR (1) KR101185130B1 (ko)
CN (1) CN101939747B (ko)
BR (1) BRPI0821845A8 (ko)
CA (1) CA2710694C (ko)
RU (1) RU2445742C1 (ko)
WO (1) WO2009082756A1 (ko)

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8474054B2 (en) * 2007-06-26 2013-06-25 Digital Keystone, Inc. Systems and methods for conditional access and digital rights management
ES2384078T3 (es) * 2008-05-07 2012-06-29 Telefonaktiebolaget L M Ericsson (Publ) Sistema para entrega de un contenido que ha de ser reproducido de manera autónoma
US8548428B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Device group partitions and settlement platform
US8898293B2 (en) 2009-01-28 2014-11-25 Headwater Partners I Llc Service offer set publishing to device agent with on-device service selection
US8391834B2 (en) 2009-01-28 2013-03-05 Headwater Partners I Llc Security techniques for device assisted services
US8402111B2 (en) 2009-01-28 2013-03-19 Headwater Partners I, Llc Device assisted services install
US8346225B2 (en) 2009-01-28 2013-01-01 Headwater Partners I, Llc Quality of service for device assisted services
US8275830B2 (en) 2009-01-28 2012-09-25 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
US8635335B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc System and method for wireless network offloading
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US8355337B2 (en) 2009-01-28 2013-01-15 Headwater Partners I Llc Network based service profile management with user preference, adaptive policy, network neutrality, and user privacy
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8924469B2 (en) 2008-06-05 2014-12-30 Headwater Partners I Llc Enterprise access control and accounting allocation for access networks
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8725123B2 (en) 2008-06-05 2014-05-13 Headwater Partners I Llc Communications device with secure data path processing agents
US8626115B2 (en) 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8340634B2 (en) 2009-01-28 2012-12-25 Headwater Partners I, Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US8924543B2 (en) 2009-01-28 2014-12-30 Headwater Partners I Llc Service design center for device assisted services
WO2009155963A1 (en) * 2008-06-23 2009-12-30 Ericsson Hungary Ltd Improving transmission of media streams of broadcast services in a multimedia broadcast transmission system
US20100017889A1 (en) * 2008-07-17 2010-01-21 Symantec Corporation Control of Website Usage Via Online Storage of Restricted Authentication Credentials
US8131259B2 (en) * 2008-12-31 2012-03-06 Verizon Patent And Licensing Inc. Methods, systems, and apparatus for handling secure-voice-communication sessions
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9578182B2 (en) 2009-01-28 2017-02-21 Headwater Partners I Llc Mobile device and service management
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US9858559B2 (en) 2009-01-28 2018-01-02 Headwater Research Llc Network service plan design
US9351193B2 (en) 2009-01-28 2016-05-24 Headwater Partners I Llc Intermediate networking devices
US9392462B2 (en) 2009-01-28 2016-07-12 Headwater Partners I Llc Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US9571559B2 (en) 2009-01-28 2017-02-14 Headwater Partners I Llc Enhanced curfew and protection associated with a device group
US8745191B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US10484858B2 (en) 2009-01-28 2019-11-19 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9253663B2 (en) 2009-01-28 2016-02-02 Headwater Partners I Llc Controlling mobile device communications on a roaming network based on device state
US9270559B2 (en) 2009-01-28 2016-02-23 Headwater Partners I Llc Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US8893009B2 (en) 2009-01-28 2014-11-18 Headwater Partners I Llc End user device that secures an association of application to service policy with an application certificate check
US11985155B2 (en) 2009-01-28 2024-05-14 Headwater Research Llc Communications device with secure data path processing agents
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US9557889B2 (en) 2009-01-28 2017-01-31 Headwater Partners I Llc Service plan design, user interfaces, application programming interfaces, and device management
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US11973804B2 (en) 2009-01-28 2024-04-30 Headwater Research Llc Network service plan design
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US9755842B2 (en) 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US9647918B2 (en) 2009-01-28 2017-05-09 Headwater Research Llc Mobile device and method attributing media services network usage to requesting application
JP2010178867A (ja) * 2009-02-05 2010-08-19 Fujifilm Corp 放射線撮影用ネットワークシステム及び放射線画像撮影システム制御方法
US8433296B2 (en) 2009-05-01 2013-04-30 Ryan Hardin Exclusive delivery of content within geographic areas
US9998591B2 (en) 2009-05-27 2018-06-12 Nec Corporation Communication apparatus and communication method
CN101587523B (zh) * 2009-07-02 2012-04-18 飞天诚信科技股份有限公司 保护软件的方法和装置
DE112010005387T5 (de) * 2009-10-19 2013-03-28 Barnes & Noble, Inc. Instore Lese-System
US8438113B2 (en) * 2010-01-25 2013-05-07 Richard Stahl Automated digital express gateway for licensing and acquiring rights and permissions for 3rd party copyrighted content
GB201003296D0 (en) * 2010-02-26 2010-04-14 Omnifone Ltd Acorn 1
US20120131684A1 (en) * 2010-11-19 2012-05-24 Mark Lynch Automatic backup license to avoid service interruptions in continuous service, high reliability systems
US8458802B2 (en) 2011-04-02 2013-06-04 Intel Corporation Method and device for managing digital usage rights of documents
US9154826B2 (en) 2011-04-06 2015-10-06 Headwater Partners Ii Llc Distributing content and service launch objects to mobile devices
US9152771B2 (en) * 2011-05-31 2015-10-06 Qualcomm Incorporated Apparatus and method of managing a licensable item
US9009857B2 (en) * 2011-10-28 2015-04-14 Absolute Software Corporation Temporally controlling access to software assets on user devices
US9165332B2 (en) 2012-01-27 2015-10-20 Microsoft Technology Licensing, Llc Application licensing using multiple forms of licensing
US20140109237A1 (en) * 2012-10-17 2014-04-17 Microsoft Corporation Application modes determined from previous and current states of a license
US8893304B2 (en) 2012-11-20 2014-11-18 Barnes And Noble, Inc. Method for registering a device
US8881306B2 (en) 2012-11-20 2014-11-04 Barnes And Noble, Inc. Architecture system for in-store reading
US9351163B2 (en) * 2012-12-26 2016-05-24 Mcafee, Inc. Automatic sanitization of data on a mobile device in a network environment
WO2014129922A1 (ru) * 2013-02-21 2014-08-28 Общество С Ограниченной Ответственностью "Протекшен Технолоджи Ресеч" Способ управлениями лицензиями в drm-системе
WO2014159862A1 (en) 2013-03-14 2014-10-02 Headwater Partners I Llc Automated credential porting for mobile devices
US9064125B2 (en) * 2013-05-03 2015-06-23 Citrix Systems, Inc. Image analysis and management
US10795985B2 (en) * 2013-07-18 2020-10-06 Sequitur Labs Inc. Applications of secured memory areas and secure environments in policy-based access control systems for mobile computing devices
US10419317B2 (en) 2013-09-16 2019-09-17 Microsoft Technology Licensing, Llc Identifying and targeting devices based on network service subscriptions
JP6305214B2 (ja) * 2014-05-30 2018-04-04 株式会社東芝 電子機器および制御方法
US20160103651A1 (en) * 2014-10-09 2016-04-14 Wrap Media, LLC Creating and delivering music and other multimedia content within a wrapped package of cards
US9762585B2 (en) 2015-03-19 2017-09-12 Microsoft Technology Licensing, Llc Tenant lockbox
US10931682B2 (en) 2015-06-30 2021-02-23 Microsoft Technology Licensing, Llc Privileged identity management
CN107071824B (zh) * 2017-01-17 2019-08-27 Oppo广东移动通信有限公司 一种网络拥塞下呼叫的方法及装置
JP6904721B2 (ja) * 2017-02-14 2021-07-21 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040235455A1 (en) * 2003-02-18 2004-11-25 Jiang Yue Jun Integrating GSM and WiFi service in mobile communication devices
US20050066010A1 (en) * 2003-09-24 2005-03-24 Microsoft Corporation Method and system for personal policy-controlled automated response to information transfer requests

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000056085A1 (en) * 1999-03-17 2000-09-21 Star Home Gmbh System and method for roaming for prepaid mobile telephone service
US7146559B2 (en) * 2001-11-30 2006-12-05 Kabushiki Kaisha Toshiba Information terminal device
KR100493904B1 (ko) * 2003-09-18 2005-06-10 삼성전자주식회사 다수의 기기를 지원하는 drm 라이센스 방법
US7411868B2 (en) * 2004-11-14 2008-08-12 International Business Machines Corporation Estimation of time within untrusted time device disconnected from trusted time device
US8316456B2 (en) * 2004-12-30 2012-11-20 Nokia Corporation System and method for representing a secure time in a device based upon an insecure clock
US8438645B2 (en) * 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US7561696B2 (en) 2005-07-12 2009-07-14 Microsoft Corporation Delivering policy updates for protected content
KR20070056432A (ko) * 2005-11-29 2007-06-04 삼성전자주식회사 보안 시간 제공 장치 및 방법, 이를 이용한 안전한 컨텐츠재생 장치 및 방법, 그리고 이를 이용한 안전한 데이터전송 방법
US8195124B2 (en) * 2006-02-23 2012-06-05 Qualcomm Incorporated Apparatus and methods for managing time sensitive application privileges on a wireless device
US7882539B2 (en) * 2006-06-02 2011-02-01 Microsoft Corporation Abstracting security policy from, and transforming to, native representations of access check mechanisms
US8402552B2 (en) * 2008-01-07 2013-03-19 Antenna Vaultus, Inc. System and method for securely accessing mobile data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040235455A1 (en) * 2003-02-18 2004-11-25 Jiang Yue Jun Integrating GSM and WiFi service in mobile communication devices
US20050066010A1 (en) * 2003-09-24 2005-03-24 Microsoft Corporation Method and system for personal policy-controlled automated response to information transfer requests

Also Published As

Publication number Publication date
CA2710694A1 (en) 2009-07-02
BRPI0821845A2 (pt) 2015-10-13
US8544105B2 (en) 2013-09-24
CN101939747A (zh) 2011-01-05
BRPI0821845A8 (pt) 2018-12-11
CN101939747B (zh) 2014-11-26
WO2009082756A1 (en) 2009-07-02
RU2010130986A (ru) 2012-02-10
US20090165083A1 (en) 2009-06-25
KR20100106535A (ko) 2010-10-01
RU2445742C1 (ru) 2012-03-20
CA2710694C (en) 2015-06-16
JP2011508351A (ja) 2011-03-10
JP2013080484A (ja) 2013-05-02
EP2075729A1 (en) 2009-07-01

Similar Documents

Publication Publication Date Title
KR101185130B1 (ko) 모바일 디바이스들 상의 시간-기반 라이센스들을 위한 정책들을 관리하기 위한 방법 및 장치
Zhou et al. Taming information-stealing smartphone applications (on android)
JP4351046B2 (ja) アプリケーションにデバイスリソースを割り当てるための許可の使用
US8769305B2 (en) Secure execution of unsecured apps on a device
US7752139B2 (en) Method and system for managing software licenses and reducing unauthorized use of software
WO2015124018A1 (zh) 基于智能终端设备的应用程序访问方法与装置
JP4519843B2 (ja) 無線ネットワークにおけるコンテンツ保護のための方法及び機器
CA2408522C (en) Software-defined communications system execution control
KR20140074252A (ko) 디바이스 상의 보안되지 않은 앱들의 보안 실행
KR20070099200A (ko) 휴대형 무선 기기의 응용 모듈 접근 제한 장치 및 이를이용한 접근 제한 방법
Aafer et al. AceDroid: Normalizing Diverse Android Access Control Checks for Inconsistency Detection.
US7890756B2 (en) Verification system and method for accessing resources in a computing environment
AU2001257276A1 (en) Software-defined communications system execution control
KR101561167B1 (ko) 안드로이드 모바일 플랫폼에서의 응용 프로그램 권한 제어 시스템 및 방법
Kern et al. Permission tracking in Android
CN106557687A (zh) 一种应用程序安装过程的权限控制方法及装置
Sohr et al. Software security aspects of Java-based mobile phones
WO2018197171A1 (en) Method for managing execution of an operating system in a device
Muthukumaran et al. Protecting the integrity of trusted applications in mobile phone systems
Paul et al. Achieving optional Android permissions without operating system modifications
KR100857864B1 (ko) 다중 접속 환경에서의 보안 정책 기반 PnP 장치의 접근제어 방법 및 이를 구현한 보안시스템
Debbabi et al. Java ME-CLDC Security
KR20100010851A (ko) 콘텐츠 인증 시스템 및 방법
KR20110111988A (ko) 휴대용 단말기에 설치된 애플리케이션 실행 제어 방법 및 시스템

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
FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 8