KR101346964B1 - 소프트웨어 애플리케이션들을 실행하기 위한 방법 및 장치 - Google Patents

소프트웨어 애플리케이션들을 실행하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR101346964B1
KR101346964B1 KR1020127031186A KR20127031186A KR101346964B1 KR 101346964 B1 KR101346964 B1 KR 101346964B1 KR 1020127031186 A KR1020127031186 A KR 1020127031186A KR 20127031186 A KR20127031186 A KR 20127031186A KR 101346964 B1 KR101346964 B1 KR 101346964B1
Authority
KR
South Korea
Prior art keywords
application
title
storage medium
disk
applications
Prior art date
Application number
KR1020127031186A
Other languages
English (en)
Other versions
KR20130004526A (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 KR20130004526A publication Critical patent/KR20130004526A/ko
Application granted granted Critical
Publication of KR101346964B1 publication Critical patent/KR101346964B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Stored Programmes (AREA)
  • Television Signal Processing For Recording (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

예를 들어, 광학 디스크들과 같은 이동식 저장 매체들을 위한 HD(high-definition) 무비 플레이어들과 같은, 소비자 전자 디바이스들은 사용자에게, 소프트웨어 애플리케이션들로서 구현된 향상된 상호작용성을 위한 가능성들을 제공할 수도 있다. 일반적으로 그러한 소프트웨어 애플리케이션들에 의해 발생하는 질문은 그러한 애플리케이션의 생명 주기가 어느 정도이며 누가 그것을 제어할 수 있느냐 하는 것이다. 발명은 오디오-비디오 데이터를 위한 재생 디바이스내에서 소프트웨어 애플리케이션들을 실행하기 위한 방법을 제공하는데, 이 경우, 제1 이동식 저장 매체로부터 상기 재생 디바이스내에서 실행될 소프트웨어 애플리케이션을 위한 데이터가 판독되고, 데이터는 애플리케이션을 위한 종료 조건을 정의하는 지시를 구비한다. 상기 종료 코드에 기초해 그리고 애플리케이션을 보유중인 매체가 이젝트되는 방법에 따라, 애플리케이션은 종료되거나 생존할 수 있다.

Description

소프트웨어 애플리케이션들을 실행하기 위한 방법 및 장치 {METHOD AND APPARATUS FOR EXECUTING SOFTWARE APPLICATIONS}
이 발명은 소프트웨어 애플리케이션들을 실행하거나 종료하기 위한 방법에 관한 것이다.
예를 들어, 이동식 저장 매체들을 위한 HD(high-definition) 무비 플레이어들과 같은, 소비자 전자 디바이스들에서의 최근의 발전들은 사용자에게 향상된 상호작용성(advanced interactivity)을 위한 가능성들을 제공한다. 상호작용 소프트웨어 애플리케이션들을 위한 기술들은, 디바이스에 위치된 가상 머신(virtual machine;VM)에서의 실행을 위해 해석되거나 미리 컴파일되는 스크립트 실행, 예를 들어, ECMAscript에 또는 코드, 예를 들어, JAVA의 실행에 기초한다. 예를 들어, 그러한 애플리케이션으로는, 예를 들어, HD 무비가 실행되어 스크린에 묘사되는 동안, 오버레이로 화면 아래쪽에 텍스트를 나타내는 뉴스틱커(news ticker)를 들 수 있다. HD 무비가 이동식 저장 매체로부터 판독되는 동안, 실행 가능한 틱커 애플리케이션도 동일한 매체로부터 또는 플레이어의 로컬 저장 장치로부터 판독될 수 있다. 애플리케이션 데이터는, 예를 들어, 아카이브 파일, 예를 들어, 자바 애플리케이션들을 위한 JAR 파일에 저장될 수 있다. 그러나, 틱커-애플리케이션에 의해 사용되는 데이터, 즉, 디스플레이될 메시지는, 예를 들어, 인터넷을 통해 서버로부터 판독될 수도 있다.
발명의 개요
소프트웨어 애플리케이션들에 의해 일반적으로 발생하는 질문은 그러한 애플리케이션의 생명 주기(life cycle)가 어느 정도이며 누가 그것을 제어할 수 있느냐 하는 것이다. 특히, 애플리케이션이 제1 이동식 저장 매체로부터 판독되고, 매체가 플레이어에 삽입되어 있는 동안 시작된 다음, 플레이어로부터 저장 매체가 이젝트(eject)된다면, 실행중인 애플리케이션(예를 들어, 뉴스틱커)을 위한 일반적인 결과는 플레이어에 삽입되는 임의 저장 매체와 무관하게 계속해서 실행하거나 즉시 종료하는 것이다. 첫번째 경우, 애플리케이션 프로세스는 일반적으로, 사용자가 그것을 수동으로, 예를 들어, 디바이스를 스위치 오프(switch off)하는 것에 의해 종료할 때까지 실행될 것이다. 사용자에게는 이것이, 특히, 소비자 전자 디바이스들의 경우, 불편하다. 더 나아가, 소프트웨어 애플리케이션들이 그로부터 로딩된 저장 매체가 이젝트되거나 액세스 불가능한 경우라 하더라도, 소프트웨어 애플리케이션들이 살아 남게(즉, 계속해서 실행되게) 하는 것이 바람직스럽다.
현재의 발명은, 이동식 저장 매체로부터 로딩되고 있고 이 매체를 위한 플레이어에서 실행되고 있는 실행 중인 소프트웨어 애플리케이션을, 이러한 이동식 저장 매체가 이젝트될 때, 계속해야 하는지 아니면 종료해야 하는지를 제어하기 위한 방법을 제공한다. 원칙적으로, 소프트웨어 애플리케이션은, 플레이어와 다른 디바이스 사이의 접속이 애플리케이션을 종료하기 위한 제어 라인들을 포함한다면, 상이한 접속 디바이스에서 실행될 수도 있다. 더 나아가, 발명에 따른 방법은, 다른 이동식 저장 매체가 플레이어에 삽입된 후에도 소프트웨어 애플리케이션의 실행이 계속될 수 있는지의 여부를 제어하기에 적당하다. 본 발명에 따르면, 실행중인 애플리케이션이 매체 이젝션(ejection)시에 종료되는지의 여부에 대한 판정은 매체가 이젝트된 원인과 애플리케이션이 계속해서 생존할 것이, 즉, 계속해서 실행될 것이 허용되는 조건들에 의존할 수도 있다.
특히, 저장 매체가, 사용자가 그로부터 선택할 수 있거나 자동적으로 첨부될 수 있거나 연결될 수 있는 복수개 타이틀들을 포함할 수 있다고 가정하면, 이 조건들은 타이틀 변경시에 항상 애플리케이션 종료하기, 사용자에 의해 개시된 타이틀 변경시에 애플리케이션 종료하기, 선행 타이틀이 특정한 후속 타이틀(follower title)을 요청하였지만 다음 타이틀(next title)이 요청된 타이틀이 아닐 때의 타이틀 변경시에 애플리케이션 종료하기, 매체 이젝션시에 무조건 애플리케이션 종료하기, 매체 이젝션이, 예를 들어, (하드웨어 또는 소프트웨어, 즉, 스크린에 디스플레이된) 이젝트 버튼을 누르는 사용자에 의해 초래된 경우의 매체 이젝션시에만 애플리케이션 종료하기, 매체 이젝션 및 다른 매체의 삽입시에 애플리케이션 종료하기, 및 애플리케이션이 특정한 후속 매체를 요청하였지만 실제 삽입된 매체는 요청된 후속 매체가 아닌 상태에서의 매체 이젝션 및 다른 매체의 삽입시에 애플리케이션 종료하기를 포함할 수도 있다. 다시 말해, 이동식 저장 매체로부터 로딩되는, 발명에 따른, 소프트웨어 애플리케이션들은 정해진 수명을 가질 수도 있고, 다른 특정 이동식 매체들을 요청할 수도 있고, 요청된 이동식 매체들이 삽입될 때에도 실행을 계속할 수 있거나 요청되지 않은 다른 이동식 매체들이 삽입될 때 종료될 수도 있다.
더 나아가, 일 실시예에서, 애플리케이션은, 그것이 허용하는 복수개 이동식 매체들을 특정할 수도 있고, 특정된 매체들 중 어떤 것이 삽입되면 실행을 계속하는 한편 다른 매체가 삽입되면 종료한다.
발명에 따르면, 이동식 저장 매체로부터 판독되는 오디오-비디오 데이터를 위한, 이동식 저장 매체를 이젝트하기 위한 하드웨어 버튼 및/또는 소프트웨어 버튼을 구비하는, 재생 디바이스내에서 소프트웨어 애플리케이션들을 실행하기 위한 방법은 제1 이동식 저장 매체로부터 (바람직스럽기로는, 상기 재생 디바이스내에서) 실행될 소프트웨어 애플리케이션을 위한, 상기 애플리케이션을 정의하는 스크립트 코드 또는 실행 가능 코드 및 애플리케이션을 위한 종료 조건을 정의하는 지시를 구비하는, 데이터를 판독하는 단계, 상기 지시를 (바람직스럽기로는, 재생 디바이스내에) 저장하는 단계, (바람직스럽기로는, 재생 디바이스내에서) 상기 애플리케이션의 실행을 시작하는 단계, 제1 저장 매체의 이젝션을 위한 명령을 수신하는 단계, 이젝션을 위해 수신된 명령이 소프트웨어 애플리케이션에 의해 아니면 이젝션을 위한 상기 하드웨어 및/또는 소프트웨어 버튼을 사용하는 사용자에 의해 개시되었는지를 검출하는 단계, 상기 저장된 지시 및 상기 검출하는 단계의 결과에 따라, 소프트웨어 애플리케이션을 종료할 것인지 아니면 계속할 것인지를 판정하는 단계, 및 판정에 기초해, 소프트웨어 애플리케이션을 종료하거나 계속하는 단계를 구비한다. 애플리케이션이 재생 디바이스에 접속된 다른 디바이스에서 실행되면, 실행중인 프로세스를 종료하기 위해, 종료 신호를 다른 디바이스로 송신하는 추가적인 단계를 수행한다.
발명의 일 실시예에서는, 소프트웨어 애플리케이션들을 실행하기 위한 방법이, 판정하는 단계가,
상기 지시가 상기 제1 저장 매체의 이젝션시에 소프트웨어 애플리케이션의 실행이 계속될 수 있다고 지시하면 또는 상기 검출하는 단계가 소프트웨어 애플리케이션에 의해 이젝션을 위한 명령이 개시되었다는 결과를 산출하고 상기 지시가, 이젝션이 소프트웨어 애플리케이션에 의해 개시되었다면, 상기 제1 저장 매체의 이젝션시에 소프트웨어 애플리케이션의 실행이 계속될 수 있다고 지시하면, 소프트웨어 애플리케이션의 실행을 계속하기로 판정하는 단계; 또는
상기 지시가 상기 제1 저장 매체의 이젝션시에 소프트웨어 애플리케이션의 종료를 지시하면 또는 상기 검출이 이젝션을 위한 명령이 사용자에 의해 개시되었다는 결과를 산출하면, 상기 소프트웨어 애플리케이션을 종료하기로 판정하는 단계를 구비한다는 점에서 추가적으로 특정된다.
일 실시예에서, 소프트웨어 애플리케이션들을 실행하기 위한 방법은 상기 소프트웨어 애플리케이션으로부터 제1 식별자를 수신하는 단계, 제1 식별자를 저장하는 단계, 판정하는 단계 이전에 다른 이동식 저장 매체의 삽입을 검출하는 단계, 제2 이동식 저장 매체로부터 제2 식별자를 판독하는 단계, 저장된 제1 식별자와 제2 식별자를 비교하는 단계, 및 상기 저장된 지시, 상기 검출하는 단계의 결과, 그리고 상기 비교하는 단계의 결과에 따라, 소프트웨어 애플리케이션을 종료할 것인지 아니면 계속할 것인지를 판정하는 단계를 더 구비한다.
매체로부터 판독되는 식별자들은, 예를 들어, 매체의 수개 또는 모든 사본들을 위해 동일한 타이틀 식별자들 또는 매체 식별자들일 수 있다. 이와 같이, 식별자들은 물리적 매체들보다는 컨텐츠들과 관련이 있는데, 다시 말해, 예를 들어, 특정 무비의 특정 판본의 수개 또는 모든 사본들은 동일한 식별자를 가진다. 컨텐츠 제공자는, 예를 들어, 판독 전용 매체들에 이 식별자를 할당할 수도 있다.
발명의 다른 태양에 따르면, 이동식 저장 매체들을 위한 재생 디바이스내에서 소프트웨어 애플리케이션들을 실행하거나 종료하기 위한 방법은 제1 이동식 저장 매체로부터 제1 식별자를 판독하는 단계, 제1 매체로부터 소프트웨어 애플리케이션을 위한 데이터를 판독하는 단계, 상기 애플리케이션의 실행을, 예를 들어, 가상 머신(VM)에서 시작한 다음, 특정한 이동식 저장 매체를 위한 요청을 검출하는 단계, 요청이 사용자로부터 아니면 애플리케이션으로부터 유래하는지를 판정하는 단계, 및 요청이 애플리케이션으로부터 유래하면, 요청된 이동식 저장 매체를 식별하는 식별자를 수신하는 단계를 구비하고, 요청된 이동식 저장 매체를 식별하는 수신된 식별자를 저장하는 단계, 상기 소프트웨어 애플리케이션의 실행을 계속하면서, 제1 이동식 저장 매체를 이젝트하는 단계, 제2 이동식 저장 매체의 삽입을 검출하는 단계, 제2 이동식 저장 매체로부터 식별자를 판독하는 단계, 저장된 식별자를 제2 이동식 저장 매체의 판독된 식별자와 비교하는 단계, 및 비교된 식별자들이 정합하면 상기 소프트웨어 애플리케이션을 계속하는 한편, 그렇지 않으면, 상기 소프트웨어 애플리케이션을 종료하는 단계를 더 구비한다.
바람직한 실시예에서, 실행중인 소프트웨어 애플리케이션은, 애플리케이션에 생존을 위한 자격이 부여되는지를, 즉, 그로부터 애플리케이션이 판독된 이동식 저장 매체의 이젝션시에 즉각적으로 종료되어야 하는지를 지시하는 식별자를 포함한다. 그러한 애플리케이션들을 여기에서는 "바운드(bound)"라고 하는데, 그것들은 특정한 이동식 저장 매체로 바운드되기 때문이다. 다른 애플리케이션들을 여기에서는 "언바운드(unbound)"라고 하는데, 그것들은 특정한 매체로 바운드되지 않으며 그것들이 판독된 저장 매체가 이젝트된 후에도 소정 조건들하에서 계속해서 실행될 수 있기 때문이다. 애플리케이션에 관련된 이 식별자는, 예를 들어, 실행중인 프로세스들 또는 실행중인 VM 애플리케이션들의 리스트내에 저장되고, 상기 이동식 저장 매체가 이젝트될 때나 나중에 새로운 이동식 저장 매체가 삽입될 때 점검된다. 후자의 경우, 새로운 매체의 식별자는 바운드 애플리케이션들을 종료하기 전에 점검될 수 있고, 그에 따라, 동일한 매체가 다시 삽입된다면, 바운드 애플리케이션들이라 하더라도 계속될 수 있다.
이 발명에 의해 제시되는 솔루션은 컨텐츠 제공자와 플레이어 사용자를 동일하게 충족시킨다. 그것은 그들의 멀티미디어 컨텐츠가 오용될 것을 두려워하는 컨텐츠 제공자들을 위해 중요한 보안에 관련한 이점들을 제공하는 한편, 그것은, 사용자가 매체를 이젝트하기로 판정할 때에도 계속해서 실행되는 애플리케이션들에 의해 사용자가 괴롭힘 당하는 것을 방지한다.
이동식 저장 매체로부터 판독되는 멀티미디어 데이터의 재생을 위한, 발명에 따른, 장치는 스크립트 코드 또는 실행 가능 코드, 예를 들어, Java 또는 ECMAscript 코드를 실행하기 위한 프로세싱 유닛, 이동식 저장 매체의 이젝션을 위한 하드웨어 및/또는 소프트웨어 버튼, 제1 이동식 저장 매체로부터 상기 프로세싱 유닛내에서 실행될 소프트웨어 애플리케이션을 위한, 상기 애플리케이션을 정의하는 스크립트 코드 또는 실행 가능 코드를 구비하고 애플리케이션을 위한 종료 조건을 정의하는 지시를 더 구비하는, 데이터를 판독하기 위한 수단, 상기 지시를 저장하기 위한 수단, 예를 들어, 레지스터, 앞서 언급된 하드웨어 및/또는 소프트웨어 버튼처럼, 제1 저장 매체의 이젝션을 위한 명령을 수신하기 위한 수단, 이젝션을 위한 명령이 소프트웨어 애플리케이션에 의해 개시되었는지 아니면 이젝션을 위한 상기 하드웨어 및/또는 소프트웨어 버튼을 사용하는 사용자에 의해 개시되었는지를 검출하기 위한 수단, 상기 저장된 지시 및 상기 검출하는 단계의 결과에 따라, 소프트웨어 애플리케이션을 종료할 것인지 아니면 계속할 것인지를 판정하기 위한 수단으로서, 판정 신호를 출력하는, 수단, 및 상기 판정 신호에 기초해, 소프트웨어 애플리케이션을 종료하거나 계속하기 위한 수단을 구비한다.
발명의 다른 태양에 따르면, 이동식 저장 매체로부터 판독되는 멀티미디어 데이터의 재생을 위한 장치는 가상 머신(VM)을 실행하기 위한 프로세싱 유닛, 제1 이동식 저장 매체로부터 식별자를 판독하기 위한 수단, 제1 이동식 저장 매체로부터 VM에서 실행 가능한 제1 소프트웨어 애플리케이션을 위한 데이터를 판독하기 위한 수단, 이동식 저장 매체를 변경하기 위한 요청을 검출하기 위한 수단, 변경 요청이 사용자로부터 아니면 애플리케이션으로부터 유래하는지를 판정하기 위한 수단, 요청이 애플리케이션으로부터 유래하면 요청된 식별자의 지시를 수신하기 위한 수단, 요청된 식별자를 저장하기 위한 수단, 제1 매체를 이젝트하기 위한 수단, 제2 매체의 삽입을 검출하기 위한 수단, 제2 매체로부터 제2 식별자를 판독하기 위한 수단, 저장된 식별자를 제2 식별자와 비교하기 위한 수단, 및 비교된 식별자들이 정합하지 않으면 상기 소프트웨어 애플리케이션을 종료하고, 그렇지 않으면, 상기 소프트웨어 애플리케이션을 계속하기 위한 수단을 구비한다.
발명의 바람직한 실시예들이 종속 청구항들, 다음의 설명, 및 도면들에서 개시된다.
발명의 예시적 실시예들은 첨부 도면들을 참조하여 설명된다.
도 1은 상이한 소프트웨어 애플리케이션들의 생명 주기들을 나타내고;
도 2는 예시적인 메뉴 애플리케이션을 나타내며;
도 3은 상호작용 애플리케이션을 시작하기 위한 흐름도를 나타내고;
도 4는, 애플리케이션이 매체를 이젝트하는 상태에서, 상호작용 애플리케이션을 종료하기 위한 흐름도를 나타내며;
도 5는, 사용자가 매체를 이젝트하는 상태에서, 상호작용 애플리케이션을 종료하기 위한 흐름도를 나타내고;
도 6은 매체를 이젝트하기 전에 실행될 프로세스의 흐름도를 나타내며;
도 7은 매체의 삽입 이후에 실행될 프로세스의 흐름도를 나타내고;
도 8은 특정한 저장 매체가 삽입될 것을 요청하는 애플리케이션 프로그래밍 인터페이스 호출을 나타낸다.
다음의 일례들은 광학 디스크 플레이어들에 기초하지만, 여기에서 설명되는 발명은 다른 고밀도 저장 매체들 및 개개 플레이어들에도 적용 가능하다. HD 무비 플레이어들과 같은, 소비자 전자 디바이스들은 대체로 소프트웨어 애플리케이션들을, 특히, 예를 들어, 뉴스틱커들 또는 무비-조합형 게임들(movie-combined games)같은, 상호작용 애플리케이션들을 실행하기 위한 옵션을 제공한다. 본 발명에 따르면, 이 애플리케이션들은 디스크-바운드 또는 디스크-언바운드일 수 있고 타이틀-바운드 또는 타이틀-언바운드일 수 있다. 일반적으로, 모든 디스크-바운드 애플리케이션들은, 디스크가 이젝트되면, 즉, 플레이어를 벗어나면, 종료될 것이다.
그러나, 디스크-언바운드 애플리케이션은, 일단 시작되고 나면, 특정 디스크의 삽입 여부와 상관없이, 환경들(즉, 무비 플레이어들)의 가상 머신(VM) 또는 인터프리터(interpreter)에 의해 계속해서 실행될 수 있다. 발명의 일 아이디어는, 애플리케이션이, 예를 들어, 플래그 또는 지시에 의하여, 그것이 디스크로 바운드되는지의 여부를 시그널링한다는 것이다. 이 플래그는, 애플리케이션이 디스크-바운드 또는 디스크-언바운드 애플리케이션인지를 지시한다. 플래그는 단일 비트 이상일 수도 있고, 정의된 조건들에 따라, 저장 매체가 이젝트될 때 애플리케이션이 어떻게 거동해야 하는지를 조건부로 지시한다. 플레이어 펌웨어내에서 제공되는 API(Application Program Interface)는 (실행중인) 애플리케이션 각각을 위한 이 플래그를 조사하는 것에 의해 이 정보를 추출하는 역할을 한다.
본 발명의 추가적인 이점은, 본 발명이, 예를 들어, 상호작용 HD 무비 디스크들의 컨텐츠 제공자들이 상이한 디스크들에 대해 안전하고 끊김없이(seamless) 동작하는 멀티-디스크 애플리케이션들을 사용할 수 있게 하는 메커니즘을 제공한다는 것이다. 이와 같이, 발명은 도용에 대비하여 데이터 보안을 향상시킨다. 더 나아가, 발명은, HD 무비 플레이어의 사용자가, 원한다면, 그러한 끊김없는 멀티-디스크 애플리케이션을 종료할 수 있다는 것을 보장한다. 최신식(state-of-the-art) 플레이어들의 경우, 컨텐츠 제공자가 멀티-디스크 애플리케이션들을 발생시킬 수 없거나 사용자가 그러한 멀티-디스크 애플리케이션을 종료할 수 없을 것이다. 발명은 양 당사자들의 이해 관계를 보존한다.
일 아이디어는, 디스크를 이젝트하는 경우(또는 타이틀의 재생을 끝내는 경우), 플레이어(즉, 환경)는 이젝션을 개시한 것이 누구인지 검출한다. 이젝션이 개개 권한들을 가진 애플리케이션, 예를 들어, (수개의 자바 애플리케이션들이 동시에 실행될 수도 있는, 예를 들어, Java Xlet으로 구현된) 디스크-언바운드 상호작용 애플리케이션에 의해 요청되었다면, 이젝트하는 단계가 디스크-언바운드 애플리케이션들을 종료하지 않을 것이다. 다른 디스크의 삽입시에(또는 새로운 타이틀 각각의 시작시에), 디스크-언바운드 애플리케이션들을 계속해서 실행하기 위한 조건들이 추가적으로 점검된다. 그러한 조건들로는, 예를 들어, 새로운 타이틀이 디스크-언바운드 애플리케이션들을 실행시키는 것을 허용해야 한다는 것을 들 수 있다. 이것은 일반적으로 디스크-언바운드 애플리케이션들을 허용하는 것에 의해 또는 상호작용 애플리케이션이 새로운 디스크와의 실행을 위해 허가된 것으로 또는 서명된 것으로 식별될 수 있는지를 보안 프레임워크를 통해 점검하는 것에 의해 추가적으로 차별화될 수 있다.
사용자가 직접적으로 이젝트할 것을 요청했다면, 모든 바운드 뿐만 아니라 모든 언바운드 상호작용 애플리케이션들도 종료된다. 사용자에게 종료를 따를 것을 요청하는 것에 의해 이 경우를 위한 언바운드 애플리케이션 종료를 추가적으로 다양화할 수 있다. 이것은 의도치 않은 중단들(unintended breaks)을 방지한다. 더 나아가, 방금 이젝트된 디스크(또는 방금 종결된 타이틀)에 관련된 상호작용 애플리케이션들과 방금 이젝트된 디스크(또는 방금 종결된 타이틀)로 바운드되지 않는 상호작용 애플리케이션들을 구별할 수도 있다. 첫번째 종류의 애플리케이션들의 종료는 일반적으로 사용자에 의해, 디폴트로, 판정되는 한편, 두번째 종류의 종료는 각각의 경우를 위해 별도로 사용자에 의해 판정될 수 있다.
향상된 상호작용 무비 플레이어의 VM 또는 스크립트 인터프리터에서 실행되는 상호작용 애플리케이션들은 플레이어에 의해 또는 사용자에 의해 시작될 수 있다. 도 1은, 예를 들어, 제1 디스크(디스크-A)는 이젝트되었지만 현재적으로 제2 디스크(디스크-B)가 삽입되어 있는 동안의 플레이어에서의 상이한 소프트웨어 애플리케이션들의 생명 주기들을 나타낸다. 화살표는, 2개의 사용자 개시형 애플리케이션들(ii, iv)이 시작하는 위치를 지시한다. 애플리케이션 생명 주기들은 디스크-바운드((i)-(v)) 또는 디스크-언바운드((vi))일 수 있다. 도 1은 추가적으로, 타이틀 바운드인 그러한 디스크-바운드 상호작용 애플리케이션들(i,ii)과 타이틀-언바운드인 그러한 디스크-바운드 상호작용 애플리케이션들(iii,iv,v)을 위한 구별들을 나타낸다.
원칙적으로, 디스크-바운드 및 타이틀-바운드는 논리적 관점에서 아주 유사하다. 간단한 경우로서, 무비 디스크는 일 컨텐츠 제공자로부터 유래하는 하나의 타이틀만을 전달하고, 모든 바운드 상호작용 애플리케이션들의 생명 주기들은 이 타이틀이 끝나거나 이젝트될 때 끝난다.
그러나, 다수 경우들에서, 컨텐츠 제공자는 단일 디스크에 하나 이상의 타이틀을 배치하여, 예를 들어, 고용량 디스크에 SD(standard definition) 비디오의 몇몇 에피소드들을 제공할 수 있다. 이것은, 생명 주기가 하나의 타이틀 또는 하나의 디스크를 초과하는 또는, 다시 말해, 서비스 스위치(service switch)에도 불구하고 생존하는 상호작용 애플리케이션들을 제어하는 문제점을 해결하는 것과 아주 유사하다. 발명은 양자의 경우들에서 (부분적으로) 적용 가능하다. 그러나, 이것은 사용자 액션들을 포함하지 않는데, 일 디스크로부터의 다수 타이틀들을 플레이할 때, 디스크를 이젝트하고 다른 디스크를 삽입하는 사용자의 상호작용은 불필요하여 생략되기 때문이다. 또한, 다음에서 설명되는 disc_bound_flag의 조사가, 도 1에서의 경우들(iii - v)과 같이, 일 디스크내에서의 타이틀 변경들에 대해서는 건너뛰기될 수 있다. 설명의 초점은, 단일 디스크에 위치된 다수 타이틀들을 암시적으로 커버하는 디스크-언바운드 애플리케이션 생명 주기들(도 1의 vi)에 맞춰진다.
본 발명은, 플레이어가 디스크-바운드와 디스크-언바운드 상호작용 애플리케이션들을 구별하기 위한 수단을 제공하고, 그에 따라, 플레이어는 실행중인 애플리케이션을 위한 적합한 생명 주기를 판정할 수 있다. 발명의 일 아이디어는, 모든 (상호작용) 애플리케이션과 연관된 플래그가, 의도된 사용을, 즉, 상호작용 애플리케이션이 디스크-(또는 타이틀-)바운드 또는 디스크-(또는 타이틀-)언바운드 애플리케이션인지를 설명한다는 것이다. 추가적인 아이디어는, 플레이어 펌웨어에 상주하며 각각의 애플리케이션을 위해 정의된 disc_bound_flag 정보를 위한 제어형 액세스를 제공하는 API의 정의이다. disc_bound_flag를 조사하는 것에 의해, 플레이어는 적합한 생명 주기를 판정할 수 있는데, 다시 말해, 디스크 이젝트 요청 및 상호작용 애플리케이션 시작 요청에 정확하게 반응할 수 있다.
발명의 추가적인 이점은, 발명이, 상호작용 HD 무비 디스크들의 컨텐츠 제공자가 멀티-디스크 애플리케이션들을 끊김없이 사용할 수 있게 하는 한편 플레이어의 사용자가, 원한다면, 그러한 끊김없는 애플리케이션을 종료할 수 있게 하는 메커니즘을 제공한다는 것이다.
다음에서는, 어떤 것이 끊김없는 멀티-디스크 애플리케이션(seamless multi-disc application)으로 이해되는지가 설명된다. 끊김없는 멀티-디스크 애플리케이션은 볼륨이 큰 컨텐츠, 예를 들어, 하나의 상호작용 애플리케이션에 의해 제시되는 TV 연속극들 또는 무비 컬렉션들을 커버하는데 유용할 수 있다. 예를 들어, 소프 오페라(soap opera)의 134개 에피소드들이, 컬렉션을 형성하면서, 22개 디스크들에 저장될 수 있고, 모든 디스크들로부터의 모든 에피소드들이 공통의 상호작용 애플리케이션을 이용하거나 제공한다. 이러한 뼈대가 되는 상호작용 애플리케이션(framing interactive application)은, 컬렉션의 어떤 디스크가 현재적으로 삽입되어 있는지와 무관하게, 사용자에게는 균일한 인터페이스로 보일 수 있다. 디스크-언바운드 상호작용 애플리케이션은 디스크간 네비게이션(inter-disc navigation), 즉, 멀티-디스크 애플리케이션들에 걸친 타이틀 변경을 제공하거나, 게임들의 중간 결과들을 누적하거나, 시청 순서를 저장하는 등의 역할도 할 수 있다.
컨텐츠 제공자에게 멀티-디스크 애플리케이션들을 확립하기 위한 도구를 제공하는 것이 한편으로는, 실행중인 디스크-언바운드 상호작용 애플리케이션들에 반응할 것이 강제되므로, 사용자를 위한 단점들을 발생시킬 수 있다. 사용자가, 예를 들어, 다른 무비를 플레이할 목적으로, 무비 플레이어의 디스크를 변경하는 경우, 여전히 활성인 언바운드 애플리케이션이, 예를 들어, 특수한 디스크를 삽입할 것을 요청하거나 서비스를 명시적으로 그만둘 것을 사용자에게 요청하는 것에 의해, 그를 성가시게 할 수도 있다. 좀더 극적인 경우로서, 그것은 종료를 위해 전원 회로를 스위치 오프할 것을 사용자에게 강제할 수도 있다. 바람직스럽게도, 발명은 양 당사자들의 이해 관계를 보존한다.
도 3 내지 도 5의 흐름도들에서 묘사되는 바와 같이, 플레이어는 디스크-언바운드 상호작용 애플리케이션들을 종료하는 양자 사이를 구별하기 위한 메커니즘을 사용하는데, 디스크 이젝트 또는 서비스 변경을 개시하는 것이 누구인지를 확인하는 것은 플레이어이기 때문이다.
도 3은, 예시적인 상호작용 애플리케이션이 시작되는 방법을 흐름도로 나타낸다. 상호작용 애플리케이션을 위한 3가지 상이한 소스들이 통합되어, 삽입된 디스크로부터, 플레이어의 로컬 저장 장치로부터, 또는 인터넷으로부터 유래하는 애플리케이션을 핸들링한다. 첫번째 경우가 가장 빈번한 상황인데, 멀티-디스크 애플리케이션들에서도, 디스크-언바운드 상호작용 애플리케이션 소스는 관련된 모든 디스크들에 대체로 위치될 것이기 때문이다. 두번째 경우는, 예를 들어, 뉴스틱커일 수 있다. 세번째 경우는 통상적으로, 스튜디오에 의해 제공되는 피처링된 디스크(featured disc)를 위한 스튜디오 서버일 수 있다.
보안 프레임워크는 임의의 상호작용 애플리케이션을 시작함에 있어서 일관성(consistency)을 유지하는 역할을 하는데, 다시 말해, 삽입된 디스크가 미지의 애플리케이션들(unknown applications)을 시작할 수 있게 하는지를 점검하거나 상호작용 애플리케이션 시작 요청이, 예를 들어, 서명 확인에 의해 디스크로부터 인가된 것으로 식별될 수 있는지를 점검한다. 도 3의 흐름도는, 상호작용 애플리케이션이 성공적으로 시작되었을 때 B에서 벗어난다.
도 3에서의 제1 도면내에서 시작된 상호작용 애플리케이션의 생명 주기는 도 4 및 도 5의 2개의 다음 흐름도들 중 하나에 의해, 하지만 둘 중 하나에 의해서만 계속된다. 도면에서의 어떤 끝 상태(B)에도 시작 상태(B1)나 시작 상태(B2)가 수반된다.
도 4의 흐름도는, 디스크를 이젝트하기 위한 요청이 디스크-언바운드 상호작용 애플리케이션(예를 들어, Java Xlet)으로부터 기인하는 경우의 액션들을 나타낸다. 이젝트하는 단계가 디스크-언바운드 애플리케이션들을 종료하지는 않겠지만, 플레이어는, 예를 들어, 보안 프레임워크 및 서명 확인에 의해, 다음으로 삽입되는 디스크가 요청된 디스크인지를 점검할 것이다. 후속 디스크가 요청된 디스크이면, 상황은, 도 3의 끝, 즉, 도 4의 상태 B에 도달된 것과 동일하고, 도 3에서의 흐름도의 다른 루프 또는 도 4에서의 흐름도가 뒤따를 수 있다. 요청되지 않은 다른 디스크의 삽입시에(즉, 새로운 서비스의 시작시에), 사용자에게는 그의 액션에 관해 통지될 수도 있는데, 즉, 사용자에게는 정확한 디스크를 삽입할 것이 또는 실행중인 멀티-디스크 애플리케이션이 그렇지 않으면 종료될 것이 통지된다. 서비스 변경을 거부하는 것에 의해, 사용자가 실수했다는 것을 인지한 경우, 디스크는 다시 이젝트되고(또는 사용자가 그것을 이젝트하고) 정확한 디스크를 삽입하기 위한 요청이 반복된다. 사용자가 서비스 변경을 요청하는 경우, 상호작용 애플리케이션은 종료되고 끝 상태에 도달된다. 새로운 디스크가 시동하여 도 3으로써 다시 시작할 것이다.
도 5의 흐름도는, 디스크를 이젝트하기 위한 요청이 사용자로부터 유래하는 경우의 액션들을 나타낸다. 도 5a)에서의 흐름도는 모든 바운드 뿐만 아니라 모든 언바운드 상호작용 애플케이션들을 종료하는 것에 의한 간단한 솔루션을 나타낸다. 좀더 복잡한 솔루션은 도 5b)의 흐름도에서 묘사된다. 사용자에게 종료의 확인을 질문하는 것에 의해 언바운드 애플리케이션 종료를 좀더 다양화할 수 있다. 이것은 의도치 않은 중단들을 방지한다.
더 나아가, 방금 이젝트된 디스크에 관련된 상호작용 애플리케이션들과 방금 이젝트된 디스크로 바운드되지 않는 상호작용 애플리케이션들 사이를 구별할 수도 있다. 첫번째 종류의 애플리케이션들의 종료는 사용자에 의해 일반적으로 판정될 수 있는 한편, 두번째 종류의 종료는 사용자에 의해 각각을 위해 별도로 판정될 수 있다.
다음에서는, 애플리케이션 프레임워크에 대한 좀더 상세한 설명을 제공하는 발명의 추가적 실시예가 설명된다. 이 일례는 앞서 설명된 disc_bound_flag를 무비 플레이어 펌웨어내에서 이용해, 대응되는 상호작용 애플리케이션이 디스크 변경을 가로질러 실행을 계속한다는 것을 보장한다. 또한, 도 6 및 도 7에서 묘사되는 다음의 흐름도들내에서 애플리케이션 서명의 사용도 설명된다.
도 6은, 디스크를 이젝트하기 위한 요청이 무비 플레이어 펌웨어로 유도될 때, 어떤 단계들이 무비 플레이어 펌웨어로부터 프로세싱되는지를 설명하지만, 도 7은, 디스크가 플레이어에 입력될 때마다, 펌웨어로부터 프로세싱되는 단계들을 커버한다. 특정 삽입과 이젝트 흐름의 설명된 조합이 멀티-디스크 상호작용 애플리케이션들을 제공해야 한다. 그것은, 컨텐츠 제공자들의 보안을 위해 데이터 무결성을 유지하는 문제점을 위한 것 뿐만 아니라 적합한 사용자 경험(즉, 사용자는 연속성(seamlessness)의 인상을 가져야 한다)을 위한 솔루션을 나타낸다.
도 6의 흐름도는, 디스크를 이젝트하는 것이 요청될 때마다 시작된다. 이것은 (하드웨어 또는 소프트웨어) 이젝트 버튼을 누를 때의 사용자에 의해 또는 상호작용 멀티-디스크 애플리케이션에 의해 요청될 수 있다. 디스크-언바운드 상호작용 애플리케이션은, 요청된 디스크의 미디어 식별자(discID)(또는 복수개 허용 가능 디스크들의 복수개 미디어 식별자들)를 특수 목적 레지스터(discIDregister)에 미리 기입하는 것에 의해, 이젝트 요청에 대비하는 한편, 버튼을 누르는 사용자의 요청은, discIDregister가 공백인 상태에서, 흐름도를 시작할 것이다.
요청된 디스크의 미디어 식별자(또는 복수개 허용 가능 디스크들의 복수개 미디어 식별자들)를 특수 목적 레지스터에 기입하는 것이 반드시 디스크-언바운드 애플리케이션 자체에 의해 수행될 필요는 없으며, 그것은 API에 의해 또는 디스크-언바운드 애플리케이션에 의해 호출되거나 개시되는 다른 서비스 또는 다른 애플리케이션에 의해 수행될 수도 있다.
이 경우, 디스크는 즉각적으로 이젝트될 수도 있지만, 도 8에 도시된 바와 같이, 이젝션을 위한 명령을 저장할 수도 있고, 그에 따라, 실제 이젝션은 사용자에 의해 확인되어야 한다. 이것은, 사용자가 그의 마음을 바꿀 수 있거나 애플리케이션들이 계속될 수 있다는 이점을 가진다.
*실행중인 애플리케이션들은 일반적으로 플레이어내의 캐시에 저장되므로, 그것들은 일반적으로 미디어 변경의 생존을 위한 자격을 가질 수 있다. 그러나, 그러한 애플리케이션들은, 그로부터 그것들이 로딩된 매체로부터 코드를 리로딩할 것을 요구할 수도 있으므로, 리로딩이 가능하도록, 언바운드 애플리케이션에 의해 허용되는 모든 매체들에 동일한 완전 애플리케이션 코드가 저장되게 하는 것이 유용할 수도 있다.
펌웨어는 discIDregister의 상태를 분석중이고, 요청이 사용자로부터 유래된 경우라면, 그것은 모든 상호작용 애플리케이션들을 종료한다. 묘사되지 않은 다른 세부 사항은 도 5a)내에서 이미 설명되었다. 모든 상호작용 애플리케이션들을 종료한 후, 무비 플레이어는 디스크를 물리적으로 이젝트하고 흐름도는 그것의 끝에 도달한다.
펌웨어 분석이 discIDregister내에서 discID를 검출할 때, 그것은, 그것이 디스크-언바운드 애플리케이션인지를, 그것이 서명되었는지를, 그리고 애플리케이션이 플레이어의 캐시 메모리에 저장되어 있는지를 각각을 위해 점검하면서, 실행중인 모든 상호작용 애플리케이션들을 통해 루핑하기 시작한다. 모든 조건들이 충족되는 경우에만, 디스크가 플레이어를 벗어날 때, 애플리케이션은 실행을 계속한다.
다른 모든 경우들에서는, 조사된 상호작용 애플리케이션이 파괴된다. 애플리케이션의 서명을 점검하는 것은, 미인가 애플리케이션(악성 또는 도용 애플리케이션)이 보안 프레임워크를 통과할 수 없다는 것을 보장한다. 디스크-언바운드 애플리케이션이 캐싱되는지를 점검하는 것은, 디스크가 플레이어를 벗어날 때에도 애플리케이션이 생존할 수 있다는 것을 보장한다. 애플리케이션이 캐시에 저장되어 있지 않다면, 그것이 로딩된 디스크가 이젝트되었고 그로부터 리로딩할 것이 남아 있지 않기 때문에, 그것은 아마도 "결핍을 느낄", 즉, 계속될 수 없을 것이다.
실행중인 모든 애플리케이션들을 가로지르는 루프가 끝날 때, 서명되고 캐싱된 디스크-언바운드 애플리케이션들만이 여전히 실행중이고, 디스크의 물리적 이젝트와 함께, 흐름도는 그것에 끝에 도달한다.
흐름도들에서 묘사되지 않은 발명의 추가적인 아이디어는, 실행중인 모든 상호작용 애플리케이션들을 가로지르는 루프를 벗어나는 것에 관한 것이다. 루프를 벗어남으로써 모든 애플리케이션들이 종료되었을 때, 다음 디스크를 위한 웜 스타트(warm start)를 방지하기 위해, discIDregister 또한 소거되어야 한다. 이것이, 데이터 일관성 및 애플리케이션 강건성(application robustness)을 추가적으로 향상시킬 것이다.
도 7은, 디스크가 삽입될 때마다 무비 플레이어의 펌웨어가 시작할 흐름도를 묘사한다. 첫번째, 임의의 미디어 식별자(예를 들어, discID)가 discIDregister에 저장되어 있는지가 점검된다. 이것은, 상호작용 애플리케이션이 다른 디스크를 삽입할 것을 사용자에게 요청하였다는 것을 지시한다. 가능할 수도 있겠지만, 애플리케이션은 계속해서 실행되지 않는다.
discIDregister가 공백이면, 디스크는 스크래치(scratch)로부터 초기 모드에서 시작할 것이다. 스크래치로부터 시작하는 것을 "콜드(cold)" 스타트라고 하는데, 이는, 실행중인 모든 상호작용 애플리케이션들을 파괴할 뿐만 아니라 discIDregister를 소거한다. discID가 discIDregister에 저장되어 있는 경우, 두번째 점검은, 저장된 discID가 삽입된 디스크의 그것과 정말로 정합하는지를 입증할 것이다. 그렇지 않다면, 사용자에게 경보될 수도 있고 어떻게 진행할 것인지에 대한 도움말이 주어질 수도 있다.
도 7의 디스크 삽입 흐름도로의 백루프(back loop)에서 도시된 바와 같이, 사용자가 의도적으로 다른 디스크를 삽입하였다면, 실행중인 모든 애플리케이션들은 종료되고 디스크의 콜드 스타트(cold start)가 뒤를 잇거나, 사용자가 실수하였다면, 정확한 디스크를 삽입하기 위한 다른 기회를 취한다.
새롭게 삽입된 디스크의 discID가 discIDregister내에 저장된 discID와 정합하면, discIDregister는 소거되고 실행중인 모든 애플리케이션들을 통한 새로운 조사 루프가 실행된다. 실행중인 애플리케이션이 새로운 디스크상의 새로운 타이틀의 일부인지 뿐만 아니라 그것이 디스크에 위치된 서명과 동일한 서명을 갖는지도 점검된다.
양자의 점검들은 보안 및 강건성을 향상시킨다. 양자의 점검들이 성공적으로 통과되는 경우에만, 디스크-언바운드 상호작용 애플리케이션은 실행 상태를 유지한다. 애플리케이션이 새로운 디스크내에서 열거되지 않았다면(또는 새로운 디스크상의 타이틀이 아니라면), 그것은 파괴된다. 디스크의 애플리케이션 서명과 캐시가 부정합하면, 디스크로부터의 애플리케이션은 일관성을 유지하기 위해 재시작된다. 루프는 디스크의 웜 스타트로써 끝난다. 이것은, 디스크-언바운드 상호작용 애플리케이션이 계속되어, 예를 들어, 재생을 위한 서비스를 제어한다는 것을 의미한다.
도 7에 묘사되지 않은 다른 변형은, 애플리케이션 점검 루프를 벗어날 때 어떤 애플리케이션도 실행 중이지 않은 경우를 위한 것이다. 이 경우에도, 디스크의 콜드 스타트는 실행되어야 한다.
도 2에서 일례가 도시된다. 디스크 플레이어(PL)는 연관된 식별자(discID_1)를 가진 제1 디스크(DA)로부터 스크린(SCR)에 디스플레이되는 메뉴 애플리케이션을 로딩하였다. 디스플레이된 메뉴는 사용자가 선택하기 위한 옵션들의 리스트, 소프트웨어 이젝트 버튼(SW_EJ_B), 및 "Cancel" 버튼(C_B)을 포함한다. 플레이어는 하드웨어 이젝트 버튼(HW_EJ_B)을 가진다. 사용자가 타이틀, 예를 들어, Part_31을 선택할 때, 메뉴 애플리케이션은 그것의 내부 리스트로부터, 선택된 항목이 현재적으로 삽입되어 있는 디스크가 아닌 다른 디스크에 존재한다고 판정하고, 요청된 디스크를 삽입하라는 메시지를 사용자에게 디스플레이한다. 내부적으로, 애플리케이션은 요청된 디스크를 위한 식별자(discID_2)를 전용 레지스터(discIDregister)에 저장한다. 예를 들어, 현재적으로 삽입된 디스크는, 사용자가, 예를 들어, 그의 선택(Part_31)을 다시 선택하는 것에 의해, 그의 선택을 확인할 때, 이젝트될 수 있고, 사용자는 하드웨어 또는 소프트웨어 이젝트 버튼으로써 현재 디스크를 이젝트할 수 있다. 애플리케이션이 요청된 다음 디스크를 위한 식별자(discID_2)를 전용 레지스터에 저장하였으므로, 이젝션은 사용자-개시형이 아니라 애플리케이션-개시형으로 분류된다. 따라서, 메뉴 애플리케이션과 같은, 디스크-언바운드 애플리케이션들이 계속해서 실행될 수 있다. 사용자가 그의 마음을 바꾼다면, 그는 여전히 Cancel 버튼(C_B)을 누를 수 있다. 이것은, 예를 들어, 이미 열린 디스크 트레이가 다시 닫히고, 애플리케이션은 그것의 선행 상태로 복귀하는 효과를 가질 수 있다.
일반적으로, 소비자 전자 디바이스들은 사용자에게, 소프트웨어 애플리케이션들로서 구현된, 향상된 상호작용성을 위한 가능성들을 제공할 수도 있다. 발명은 오디오-비디오 데이터를 위한 재생 디바이스내에서 소프트웨어 애플리케이션들을 실행하기 위한 방법을 제공하는데, 이 경우, 제1 이동식 저장 매체로부터 상기 재생 디바이스내에서 실행될 소프트웨어 애플리케이션을 위한 데이터가 판독되고, 데이터는 애플리케이션을 위한 종료 조건을 정의하는 지시를 구비한다. 상기 종료 조건에 기초해 그리고 애플리케이션을 보유중인 매체가 이젝트되는 방법에 따라, 애플리케이션은 종료되거나 생존할 수 있다.
애플리케이션을 위한 다른 일례는 다수 디스크들을 커버하도록 구성된 안내-애플리케이션이다. 연속물의 제1 디스크를 입력하는 것이 안내-애플리케이션을 시동하고, 안내-애플리케이션은, 연속물의 일부가 아닌 디스크가 삽입될 때까지 어떤 디스크 변경들에도 불구하고 살아 남을 것이다. 이것은 사용자에게 끊김없는 경험을 제공한다. 발명은, 인가된 애플리케이션들만이 디스크 변경들에도 불구하고 자동적으로 살아 남는 한편, 비정합 상호작용 애플리케이션들은 종료된다는 것을 보장한다.
발명은 모든 종류의 저장 매체들 및 대응되는 플레이어들에, 오늘날에는 특히, DVD, HD-DVD, 또는 Blu-ray 디스크들같은 광학 디스크들 및 그것들의 대응되는 플레이어들에 적용 가능하다. 발명은, 상호작용 소프트웨어 애플리케이션들을 실행할 수 있는 플레이어들에 특히 유용하다.
소프트웨어 애플리케이션들을 위한 일례들로는 인터넷에 접속중인 뉴스틱커 또는 현재적으로 삽입된 디스크에 따라, 예를 들어, HDD(hard-disk drive)같은 로컬 저장 장치로부터 데이터를 판독하는 캘린더 관리자에 따라 변경될 수 있는 PDA(personal-data-assistant) 방식의 편성 소프트웨어를 들 수 있다.

Claims (10)

  1. AV 데이터와 연관된 소프트웨어 애플리케이션의 생명 주기(life cycle)를 결정하기 위한 방법으로서 - 상기 AV 데이터는 타이틀을 포함하고 상기 방법은 장치에 의해 실행됨 -,
    제1 저장 매체로부터 판독되는 제1 타이틀의 선택을 검출하는 단계;
    상기 제1 타이틀과 연관된 애플리케이션 및 상기 애플리케이션에 관련한 표시(indication)를 상기 제1 저장 매체상에서 검출하는 단계;
    상기 제1 타이틀을 재생하고 상기 애플리케이션을 실행하는 단계;
    상기 제1 타이틀의 종료시에, 상기 표시가 타이틀 바운드 애플리케이션(title bound application)을 표시하는 제1 값을 가지면 상기 애플리케이션을 종료하고, 그렇지 않으면 상기 애플리케이션을 계속하는 단계;
    상기 제1 저장 매체의 이젝션(ejection)시에, 상기 표시가, 디스크 바운드 애플리케이션을 표시하고 상기 제1 값과 다른 제2 값을 가지면 상기 애플리케이션을 종료하고, 그렇지 않으면 상기 애플리케이션을 계속하는 단계;
    제2 저장 매체의 삽입을 검출하는 단계;
    상기 제2 저장 매체로부터 판독되는 제2 타이틀의 선택을 검출하는 단계;
    상기 제2 타이틀이 실행중인 상기 애플리케이션과 연관되는지를 판정하는 단계;
    상기 제2 타이틀이 실행중인 상기 애플리케이션과 연관되지 않으면 실행중인 상기 애플리케이션을 종료하고, 그렇지 않으면 실행중인 상기 애플리케이션을 계속하는 단계
    를 포함하는 소프트웨어 애플리케이션 생명 주기 결정 방법.
  2. AV 데이터와 연관된 소프트웨어 애플리케이션인 애플리케이션의 생명 주기를 결정하기 위한 장치로서 - 상기 AV 데이터는 타이틀을 포함함 -,
    스크립트 코드 또는 실행 가능 코드를 실행하기 위한 프로세싱 유닛;
    제1 저장 매체로부터 판독되는 제1 타이틀의 선택을 검출하기 위한 수단;
    상기 제1 타이틀과 연관된 애플리케이션 및 상기 애플리케이션에 관한 표시를 상기 제1 저장 매체상에서 검출하기 위한 수단;
    상기 제1 타이틀을 재생하기 위한 수단;
    상기 애플리케이션을 실행하기 위한 수단;
    상기 제1 타이틀의 종료시에, 상기 표시가 타이틀 바운드 애플리케이션을 표시하는 제1 값을 가지면 상기 애플리케이션을 종료하고, 그렇지 않으면 상기 애플리케이션을 계속하기 위한 수단;
    상기 제1 저장 매체의 이젝션시에, 상기 표시가, 디스크 바운드 애플리케이션을 표시하고 상기 제1 값과 다른 제2 값을 가지면 상기 애플리케이션을 종료하고, 그렇지 않으면 상기 애플리케이션을 계속하기 위한 수단;
    제2 저장 매체의 삽입을 검출하기 위한 수단;
    상기 제2 저장 매체로부터 판독되는 제2 타이틀의 선택을 검출하기 위한 수단;
    상기 제2 타이틀이 실행중인 상기 애플리케이션과 연관되는지를 판정하기 위한 수단;
    상기 제2 타이틀이 실행중인 상기 애플리케이션과 연관되면 실행중인 상기 애플리케이션을 계속하고, 그렇지 않으면 실행중인 상기 애플리케이션을 종료하기 위한 수단
    을 포함하는 소프트웨어 애플리케이션 생명 주기 결정 장치.
  3. 타이틀 및 상기 타이틀에 포함된 AV 데이터와 연관된 소프트웨어 애플리케이
    션을 위한 데이터 구조를 포함하는 광학 저장 매체로서 - 상기 광학 저장 매체는 제2항에 따른 장치내에서 재생되도록 적응됨 -,
    상기 소프트웨어 애플리케이션은, 상기 애플리케이션이 상기 타이틀의 종료시에 종료되어야 하는지의 여부를 표시하는 타이틀 바운드 표시 및 상기 애플리케이션이 상기 광학 저장 매체의 이젝션시에 종료되어야 하는지의 여부를 표시하는 디스크 바운드 표시를 갖는
    광학 저장 매체.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
KR1020127031186A 2005-02-23 2006-02-06 소프트웨어 애플리케이션들을 실행하기 위한 방법 및 장치 KR101346964B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP05090040.6 2005-02-23
EP05090040A EP1696321A1 (en) 2005-02-23 2005-02-23 Method and apparatus for executing software applications
PCT/EP2006/050674 WO2006089834A1 (en) 2005-02-23 2006-02-06 Method and apparatus for executing software applications

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020077019224A Division KR101260530B1 (ko) 2005-02-23 2006-02-06 소프트웨어 애플리케이션들을 실행하기 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20130004526A KR20130004526A (ko) 2013-01-10
KR101346964B1 true KR101346964B1 (ko) 2014-01-02

Family

ID=34938405

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020127031186A KR101346964B1 (ko) 2005-02-23 2006-02-06 소프트웨어 애플리케이션들을 실행하기 위한 방법 및 장치
KR1020077019224A KR101260530B1 (ko) 2005-02-23 2006-02-06 소프트웨어 애플리케이션들을 실행하기 위한 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020077019224A KR101260530B1 (ko) 2005-02-23 2006-02-06 소프트웨어 애플리케이션들을 실행하기 위한 방법 및 장치

Country Status (10)

Country Link
US (12) US8418133B2 (ko)
EP (5) EP1696321A1 (ko)
JP (8) JP4919431B2 (ko)
KR (2) KR101346964B1 (ko)
CN (1) CN100578449C (ko)
BR (1) BRPI0606967B1 (ko)
ES (4) ES2632960T3 (ko)
PL (4) PL1861777T3 (ko)
TR (1) TR201900646T4 (ko)
WO (1) WO2006089834A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1696321A1 (en) 2005-02-23 2006-08-30 Deutsche Thomson-Brandt Gmbh Method and apparatus for executing software applications
US7987512B2 (en) * 2006-05-19 2011-07-26 Microsoft Corporation BIOS based secure execution environment
US20080005560A1 (en) * 2006-06-29 2008-01-03 Microsoft Corporation Independent Computation Environment and Provisioning of Computing Device Functionality
US20110299830A1 (en) * 2009-03-16 2011-12-08 Panasonic Corporation Application running device
CN102473442A (zh) * 2010-03-29 2012-05-23 松下电器产业株式会社 光盘再现装置
JP6037656B2 (ja) * 2011-05-20 2016-12-07 日本放送協会 受信機
US8918881B2 (en) * 2012-02-24 2014-12-23 Appthority, Inc. Off-device anti-malware protection for mobile devices
US8713684B2 (en) 2012-02-24 2014-04-29 Appthority, Inc. Quantifying the risks of applications for mobile devices
US8819772B2 (en) 2012-06-25 2014-08-26 Appthority, Inc. In-line filtering of insecure or unwanted mobile device software components or communications
KR20140018743A (ko) * 2012-08-03 2014-02-13 삼성전자주식회사 디스크리스 어플리케이션 재생 장치 및 기록 장치, 재생 방법 및 기록 방법과 디스크리스 어플리케이션을 기록한 정보저장매체
CN104954869B (zh) * 2015-05-22 2018-05-29 合肥杰发科技有限公司 基于android系统的多媒体播放方法及装置
JP6623553B2 (ja) 2015-05-22 2019-12-25 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
KR101754528B1 (ko) * 2016-03-23 2017-07-06 한국광기술원 건식 접착구조를 갖는 led 구조체 어레이의 전사체와 이를 이용한 led 구조체 어레이의 이송방법 및 led 구조체
US11062021B2 (en) * 2017-08-29 2021-07-13 NortonLifeLock Inc. Systems and methods for preventing malicious applications from exploiting application services

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001033847A1 (en) * 1999-10-29 2001-05-10 Opentv, Corp. Playback of interactive programs

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2161456B (en) * 1984-07-11 1988-04-20 Thomas Camillus Vincen Wakelin A box
JPH01185949A (ja) 1988-01-21 1989-07-25 Toshiba Corp 半導体集積回路
JPH0250676A (ja) 1988-08-12 1990-02-20 Toshiba Corp A/d化クランプ回路
US5528490A (en) * 1992-04-10 1996-06-18 Charles E. Hill & Associates, Inc. Electronic catalog system and method
JPH05303874A (ja) * 1992-04-24 1993-11-16 Pioneer Electron Corp 情報再生装置
US5828633A (en) * 1993-01-30 1998-10-27 Sony Corporation Disc recording and/or reproducing changer with disc transporting mechanism and disc detector
US5509074A (en) * 1994-01-27 1996-04-16 At&T Corp. Method of protecting electronically published materials using cryptographic protocols
US5624265A (en) * 1994-07-01 1997-04-29 Tv Interactive Data Corporation Printed publication remote contol for accessing interactive media
US5732266A (en) * 1994-09-02 1998-03-24 Compaq Computer Corporation Storage medium storing application programs and application initialization files and automatic launching of computer applications stored on the storage medium
US6748586B1 (en) 1994-09-30 2004-06-08 Koninklijke Philips Electronics N.V. Data processing system receptive for presentation of data comprising an application program and a multiplatform interpreter, and a platform subsystem arranged for interaction with said multiplatform interpreter, and memory for use with such system or subsystem
WO1996011532A2 (en) 1994-09-30 1996-04-18 Philips Electronics N.V. Multimedia system receptive for presentation of mass data comprising an application program inclusive of a multiplatform interpreter, and a platform subsystem arranged for interaction with said multiplatform interpreter, and mass memory for use with such system or subsystem
US5644782A (en) * 1994-10-17 1997-07-01 Motorola, Inc. System with virtual update capable read-only memory
US5592609A (en) * 1994-10-31 1997-01-07 Nintendo Co., Ltd. Video game/videographics program fabricating system and method with unit based program processing
US5680619A (en) 1995-04-03 1997-10-21 Mfactory, Inc. Hierarchical encapsulation of instantiated objects in a multimedia authoring system
JP3493825B2 (ja) 1995-08-02 2004-02-03 ソニー株式会社 情報再生装置
EP0915470A3 (en) * 1995-08-21 2004-03-24 Matsushita Electric Industrial Co., Ltd. Multimedia optical disk, reproduction apparatus and method for achieving variable scene development based on interactive control
JPH0962457A (ja) * 1995-08-29 1997-03-07 Toshiba Corp 情報提供メディアの駆動制御装置及び駆動制御方法
JP3763872B2 (ja) 1996-01-30 2006-04-05 富士写真フイルム株式会社 写真プリント作成方法および写真プリンタ
JP3547253B2 (ja) 1996-03-13 2004-07-28 パイオニア株式会社 ディスクプレーヤ及び情報再生方法
US5946278A (en) * 1996-09-09 1999-08-31 Tower; Robert P. Storage and selection system for audio, visual, and information storage media
US6453334B1 (en) * 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
EP1308861A3 (en) 1997-08-25 2003-05-21 Sharp Kabushiki Kaisha Image processing apparatus displaying a catalog of different types of data in a different manner
US6138179A (en) * 1997-10-01 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
US6339572B1 (en) * 1997-10-21 2002-01-15 Sony Corporation Recording apparatus, recording method, playback apparatus, playback method, recording/playback apparatus, recording/playback method, recording medium and presentation medium
US6580870B1 (en) * 1997-11-28 2003-06-17 Kabushiki Kaisha Toshiba Systems and methods for reproducing audiovisual information with external information
US6067279A (en) 1997-12-12 2000-05-23 Micron Electronics, Inc. Apparatus for skipping and/or playing tracks on a cd or a dvd
US6249794B1 (en) 1997-12-23 2001-06-19 Adobe Systems Incorporated Providing descriptions of documents through document description files
US6117186A (en) 1998-01-15 2000-09-12 Dvp Media Pty Ltd. System and method for easy loading of CD-ROM computer software without installation process
US6226747B1 (en) * 1998-04-10 2001-05-01 Microsoft Corporation Method for preventing software piracy during installation from a read only storage medium
JP2000182358A (ja) * 1998-12-16 2000-06-30 Sanyo Electric Co Ltd 情報記録方法および情報再生方法
US20020073218A1 (en) 1998-12-23 2002-06-13 Bill J. Aspromonte Stream device management system for multimedia clients in a broadcast network architecture
JP2000299777A (ja) 1999-04-14 2000-10-24 Seiko Epson Corp 画像印刷方法および画像印刷システム
US20050182828A1 (en) * 1999-04-21 2005-08-18 Interactual Technologies, Inc. Platform specific execution
JP2000341644A (ja) 1999-05-28 2000-12-08 Canon Inc 画像処理装置及び方法並びに記憶媒体
US6529992B1 (en) * 1999-07-26 2003-03-04 Iomega Corporation Self-contained application disk for automatically launching application software or starting devices and peripherals
WO2001011480A1 (en) * 1999-08-11 2001-02-15 Spinware, Inc. System and method for controlling access to data stored in a portable storage medium
GB9919188D0 (en) 1999-08-14 1999-10-20 Koninkl Philips Electronics Nv Disc playback status display
JP2001157158A (ja) 1999-11-26 2001-06-08 Olympus Optical Co Ltd 電子カメラ
JP3655152B2 (ja) * 1999-11-29 2005-06-02 富士通株式会社 ソフトウェア編集装置及び記憶媒体
RU2152816C1 (ru) 1999-12-08 2000-07-20 Толчинский Марк Семенович Лыжа
US7260715B1 (en) 1999-12-09 2007-08-21 Koninklijke Philips Electronics N.V. Method and apparatus for revocation list management
CN1413344A (zh) * 1999-12-21 2003-04-23 罗伯特-博希股份公司 放音设备和存储介质
JP2001312410A (ja) 2000-05-01 2001-11-09 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
US20020107918A1 (en) 2000-06-15 2002-08-08 Shaffer James D. System and method for capturing, matching and linking information in a global communications network
US6990671B1 (en) 2000-11-22 2006-01-24 Microsoft Corporation Playback control methods and arrangements for a DVD player
US8042098B2 (en) * 2000-12-06 2011-10-18 Axiomatic Design Software, Inc. Method and apparatus for producing software
US7062046B2 (en) 2001-01-23 2006-06-13 Matsushita Electric Industrial Co., Ltd. Method and system for tracing an analog copy of a digital work to a unique digital copy and a particular digital player
US6980730B2 (en) * 2001-02-01 2005-12-27 Thomson Licensing System and method for processing a program already in progress
JP3847098B2 (ja) * 2001-03-29 2006-11-15 アルパイン株式会社 オーディオ情報表示装置
DE60217091T2 (de) * 2001-04-25 2007-06-21 Wink Communications, Inc., San Francisco Synchrones aktualisieren dynamischer interaktiver anwendungen
US7594218B1 (en) * 2001-07-24 2009-09-22 Adobe Systems Incorporated System and method for providing audio in a media file
JP2003067208A (ja) 2001-08-23 2003-03-07 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US20030063896A1 (en) 2001-09-28 2003-04-03 Gonzalez Tovar Victor Manuel System utility interface for software upgrades and system diagnostics in automotive or portable DVD players
US6910115B2 (en) 2001-10-31 2005-06-21 Hewlett-Packard Development Company, L.P. System and method for configuring a removable storage medium
JP3932477B2 (ja) 2002-01-29 2007-06-20 ソニー株式会社 情報処理システム、情報処理装置および方法、プログラム
JP3682777B2 (ja) * 2002-03-25 2005-08-10 株式会社リコー 画像形成装置および遠隔管理システム
JP2003338119A (ja) * 2002-05-20 2003-11-28 Alpine Electronics Inc Dvdビデオ再生装置およびdvdビデオ再生装置におけるオートディスクチェンジ制御方法
JP2004021440A (ja) 2002-06-14 2004-01-22 Fuji Photo Film Co Ltd 携帯端末
US20040025012A1 (en) * 2002-07-30 2004-02-05 Burks David Patrick System for processing coded content and associated decoding instructions on a removable storage medium
ATE504446T1 (de) * 2002-12-02 2011-04-15 Silverbrook Res Pty Ltd Totdüsenausgleich
KR20040049488A (ko) * 2002-12-06 2004-06-12 삼성전자주식회사 애플릿 실행 장치 및 방법
US8495180B2 (en) 2002-12-11 2013-07-23 Broadcom Corporation Server architecture supporting a personal media exchange network
US7203937B1 (en) * 2003-01-09 2007-04-10 Microsoft Corporation Software installation and configuration with specific role for target computer and identity indicator for authorization for performance of features
JP2003250130A (ja) 2003-01-14 2003-09-05 Olympus Optical Co Ltd レイアウト情報記録可能なカメラ
US7036131B2 (en) 2003-03-05 2006-04-25 Hewlett-Packard Development Company, L.P. Printing optical disc player/recorder
US7334217B2 (en) 2003-04-02 2008-02-19 Microsoft Corporation Ejection failure mechanism
JP2004312463A (ja) 2003-04-08 2004-11-04 Canon Inc 画像再生方法
JP2004355794A (ja) * 2003-05-07 2004-12-16 Matsushita Electric Ind Co Ltd 記録再生装置及び記録再生方法
GB0311141D0 (en) 2003-05-15 2003-06-18 Koninkl Philips Electronics Nv DVD player enhancement
JP2004348617A (ja) * 2003-05-26 2004-12-09 Sony Corp 情報処理装置および方法、プログラム記録媒体、プログラム、並びに撮像装置
US9342662B2 (en) * 2003-09-16 2016-05-17 Media Rights Technologies, Inc. Method and system for controlling video media
TW200518070A (en) 2003-10-10 2005-06-01 Matsushita Electric Ind Co Ltd Recording medium, reproduction device, program, and reproduction method
KR20050041833A (ko) * 2003-10-30 2005-05-04 삼성전자주식회사 프로그램 관리 정보가 기록된 저장 매체, 이를 재생하기위한 방법 및 그 장치
US8218951B2 (en) * 2003-10-30 2012-07-10 Samsung Electronics Co., Ltd. Storage medium storing program management information, and reproducing method and apparatus
DE602004012598D1 (de) * 2003-11-10 2008-04-30 Matsushita Electric Ind Co Ltd Aufzeichnungsmedium, wiedergabeeinrichtung, programm, wiedergabeverfahren und systemintegrierte schaltung
KR20050048848A (ko) * 2003-11-20 2005-05-25 엘지전자 주식회사 고밀도 광디스크의 플레이리스트 생성방법, 관리방법 및재생방법과 기록재생장치
US7870385B2 (en) 2004-02-03 2011-01-11 Music Public Broadcasting, Inc. Method and system for controlling presentation of computer readable media on a media storage device
US7577940B2 (en) * 2004-03-08 2009-08-18 Microsoft Corporation Managing topology changes in media applications
EP1727048B1 (en) * 2004-03-16 2010-09-01 Panasonic Corporation Terminal device for updating computer program and update method
EP1596291A1 (en) * 2004-05-10 2005-11-16 Deutsche Thomson-Brandt Gmbh Method and apparatus for automatically selecting a software application
JP2005322362A (ja) 2004-05-11 2005-11-17 Matsushita Electric Ind Co Ltd ダウンロードコンテンツとの連携を考慮した情報記録媒体、その再生装置及び再生方法
EP2270806A3 (en) 2004-07-22 2011-02-09 Panasonic Corporation Playback apparatus for performing application-synchronized playback
US7640228B2 (en) * 2004-08-23 2009-12-29 Thomson Licensing Method for retrieving data from first and second storage medium
US7941786B2 (en) * 2004-09-08 2011-05-10 Universal Electronics Inc. Configurable controlling device and associated configuration distribution system and method
JP2006081109A (ja) * 2004-09-13 2006-03-23 Toshiba Corp 録画番組検索装置及び録画番組検索方法
US20070074163A1 (en) * 2004-10-18 2007-03-29 Koninkljke Philips Electronics N.V. Recording of scheduled broadcast in upnp
JP2008527468A (ja) * 2004-11-13 2008-07-24 ストリーム セオリー,インコーポレイテッド ハイブリッド・ローカル/リモート・ストリーミング
WO2006075874A1 (en) * 2005-01-12 2006-07-20 Samsung Electronics Co., Ltd. Information storage medium storing management information of application executable from a plurality of storage media, and method and apparatus for executing the application
KR20060085154A (ko) * 2005-01-21 2006-07-26 엘지전자 주식회사 기록매체, 로컬 스토리지를 이용한 기록매체의 재생방법과재생장치
JP2006211592A (ja) * 2005-01-31 2006-08-10 Orion Denki Kk 簡単予約録画方法を備えた記録再生装置
EP1696321A1 (en) * 2005-02-23 2006-08-30 Deutsche Thomson-Brandt Gmbh Method and apparatus for executing software applications
EP1764799B1 (en) * 2005-02-04 2011-06-08 Panasonic Corporation Reading device, program, and reading method
US8015548B2 (en) 2007-03-22 2011-09-06 Arcsoft, Inc. Method for obtaining context of corresponding Xlet while playing BD-J title
US7949998B2 (en) * 2007-04-20 2011-05-24 Microsoft Corporation Programming framework for closed systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001033847A1 (en) * 1999-10-29 2001-05-10 Opentv, Corp. Playback of interactive programs

Also Published As

Publication number Publication date
ES2705600T3 (es) 2019-03-26
EP3249525B1 (en) 2018-10-17
KR20070114135A (ko) 2007-11-29
EP1696321A1 (en) 2006-08-30
KR101260530B1 (ko) 2013-05-06
EP2806360B1 (en) 2017-06-07
US20120201513A1 (en) 2012-08-09
JP5946144B2 (ja) 2016-07-05
US9204117B2 (en) 2015-12-01
JP6176862B2 (ja) 2017-08-09
JP2013157011A (ja) 2013-08-15
US20120204037A1 (en) 2012-08-09
US9137507B2 (en) 2015-09-15
JP5574443B2 (ja) 2014-08-20
US20080141232A1 (en) 2008-06-12
PL1861777T3 (pl) 2017-04-28
US20120203981A1 (en) 2012-08-09
KR20130004526A (ko) 2013-01-10
WO2006089834A1 (en) 2006-08-31
EP1861777B1 (en) 2016-12-07
US20120204179A1 (en) 2012-08-09
US8607195B2 (en) 2013-12-10
JP2011081894A (ja) 2011-04-21
JP4919431B2 (ja) 2012-04-18
BRPI0606967B1 (pt) 2017-12-12
JP4968806B2 (ja) 2012-07-04
ES2612263T3 (es) 2017-05-16
JP5561841B2 (ja) 2014-07-30
PL2806360T3 (pl) 2017-09-29
US20120210302A1 (en) 2012-08-16
US20120204145A1 (en) 2012-08-09
PL2354936T3 (pl) 2017-11-30
EP2806360A1 (en) 2014-11-26
BRPI0606967A2 (pt) 2009-07-28
ES2638820T3 (es) 2017-10-24
US20120201512A1 (en) 2012-08-09
US20120204147A1 (en) 2012-08-09
PL3249525T3 (pl) 2019-07-31
JP2012146296A (ja) 2012-08-02
US20120204146A1 (en) 2012-08-09
US8418133B2 (en) 2013-04-09
US20130236159A1 (en) 2013-09-12
CN101185059A (zh) 2008-05-21
JP2011159314A (ja) 2011-08-18
JP5528386B2 (ja) 2014-06-25
JP2014139821A (ja) 2014-07-31
JP2008532118A (ja) 2008-08-14
ES2632960T3 (es) 2017-09-18
CN100578449C (zh) 2010-01-06
EP2354936B1 (en) 2017-08-09
US9509969B2 (en) 2016-11-29
US8607194B2 (en) 2013-12-10
JP2016066370A (ja) 2016-04-28
EP1861777A1 (en) 2007-12-05
EP2354936A1 (en) 2011-08-10
JP2012164411A (ja) 2012-08-30
US20150179225A1 (en) 2015-06-25
EP3249525A1 (en) 2017-11-29
JP5252603B2 (ja) 2013-07-31
TR201900646T4 (tr) 2019-02-21

Similar Documents

Publication Publication Date Title
KR101346964B1 (ko) 소프트웨어 애플리케이션들을 실행하기 위한 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191219

Year of fee payment: 7