KR20060029689A - Method of executing software applications - Google Patents

Method of executing software applications Download PDF

Info

Publication number
KR20060029689A
KR20060029689A KR1020067000645A KR20067000645A KR20060029689A KR 20060029689 A KR20060029689 A KR 20060029689A KR 1020067000645 A KR1020067000645 A KR 1020067000645A KR 20067000645 A KR20067000645 A KR 20067000645A KR 20060029689 A KR20060029689 A KR 20060029689A
Authority
KR
South Korea
Prior art keywords
memory
broadcast
application
software
user interface
Prior art date
Application number
KR1020067000645A
Other languages
Korean (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 KR20060029689A publication Critical patent/KR20060029689A/en

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
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • H04N21/23617Multiplexing of additional data and video streams by inserting additional data into a data carousel, e.g. inserting software modules into a DVB carousel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • H04N21/4349Demultiplexing of additional data and video streams by extracting from data carousels, e.g. extraction of software modules from a DVB carousel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8545Content authoring for generating interactive applications

Abstract

There is provided a method of executing one or more Xlet software applications in a broadcasting system (10) including a broadcast provider (20) coupled via at least one communication link (30) to at least one corresponding user interface (40, 50) including associated computing hardware therein. The method comprising the steps of: (a) receiving one or more requests from at least one user (60) associated with said at least one user interface (40, 50) for executing at least one preferred software application; (b) checking memory associated with said at least one user interface (40, 50) to determine whether or not said at least one preferred software application is resident therein; (c) when said at least one software application is found to be already stored in said memory and validated, loading from the memory said at least one preferred software application to said computing hardware associated with said at least one user interface (40, 50) and then executing the software application in said computing hardware; and (d) when said at least one application is found to be not already stored in the memory, receiving from the broadcast provider (20) said at least one preferred software application, loading said at least one application to the computing hardware, validating said at least one application in the computing hardware and then subsequently executing said at least one application when validated in the computing hardware.

Description

소프트웨어 애플리케이션 실행 방법{Method of executing software applications}Method of executing software applications

본 발명은 통신 장치에서 소프트웨어 애플리케이션들을 실행하는 방법들에 관한 것이고, 특히, 배타적은 아니지만 본 발명은 자바TM 소프트웨어(JavaTM software)와 협력하여 구현되는 소프트웨어 애플리케이션들을 실행하기 위한 방법에 관한 것이고, 상기 애플리케이션들은 Xlet들로 알려지고; 상기 Xlet 실행은 예를 들어, 자국 환경에서 상호작용 디지털 텔레비젼(interactive digital television: DTV)에 사용하기에 적당한 셋톱 박스들(set-top-boxes: STB)인 다중매체 홈 플랫폼들(Multimedia Home Platforms: MHP) 같은 장치에서 발생하기 쉽다. 게다가, 본 발명은 예를 들어 Xlet 소프트웨어 애플리케이션들인 소프트웨어 애플리케이션들을 실행할 때 상기 방법을 구현할 수 있는 장치들에 관한 것이다.The present invention relates to methods of executing software applications in a communication device, and in particular, but not exclusively, the present invention relates to Java TM software (Java TM). a method for executing software applications implemented in cooperation with a software application, said applications being known as Xlets; The Xlet implementation is, for example, Multimedia Home Platforms, which are set-top-boxes (STBs) suitable for use in interactive digital television (DTV) in a home environment. Is prone to occur on devices such as MHP. In addition, the present invention relates to devices capable of implementing the method when executing software applications, for example Xlet software applications.

"DVB-MHP/JavaTVTM 데이터 전달 메카니즘(Data Transport Mechanism)"이 제목인 논문은 J.Jones에 의한 호주 시드니 40차 기술과 객체 지향 언어들 및 시스템들에 대한 국제 컨퍼런스(International Conference on Technology and Object-Orientated Languages and Systems)(TOOLS Pacific 2002)에서 제출되었다. 상기 논문에서, 자바 DVB-MPH 표준들은 넓은 범위의 기술적 기회들을 제공할 수 있다는 것을 기술한다. 상기 표준들의 적용은 예를 들어, 상호작용 텔레비젼(interactive television)과 관련하여 디지털 텔레비젼 분야에서 적절하다. 32개국에서 여러 집단들 중 300개 이상의 방송국들, 제조자들, 네트워크 조작자들, 소프트웨어 개발자들, 조정자 집단들의 산업 주관 컨소시움은 디지털 텔레비젼 및 데이터 서비스들에 대한 글로벌 표준들을 설계하기 위하여 현재 노력하고 있다. 그러한 노력들은 종종 "DVB" 프로젝트로서 축약된 형태로 불리는 "디지털 비디오 방송 프로젝트(Digital Video Broadcasting Project)"로서 동시에 알려져 있다. The paper entitled "DVB-MHP / JavaTV TM Data Transport Mechanism" was published by J.Jones in Sydney, Australia 40th International Conference on Technology and Object-Oriented Languages and Systems. -Submitted by Orientated Languages and Systems (TOOLS Pacific 2002). In this paper, it is described that the Java DVB-MPH standards can provide a wide range of technical opportunities. The application of these standards is suitable in the field of digital television, for example in connection with interactive television. The industry-led consortium of more than 300 stations, manufacturers, network operators, software developers, and coordinator groups of groups in 32 countries is currently working to design global standards for digital television and data services. Such efforts are simultaneously known as "Digital Video Broadcasting Projects," often abbreviated as "DVB" projects.

DVB 프로젝트는 적당한 소프트웨어 애플리케이션 환경 언어로서 자바TM 기술을 지정한다. 자바TM는 높은 레벨의 객체 지향성 프로그래밍 언어이다. 사용시, 자바 소프트웨어 소스로 쓰여진 것은 해석을 위하여 가상 머신에 의해 플랫폼에 무관한 바이트 코드들로 번역된다. 셋톱 박스(STB)에 다운로드된 소프트웨어 애플리케이션들은 통상적으로 상호작용 텔레비젼 환경에 특히 사용하기 위하여 재단된 한벌의 애플리케이션 프로그래밍 인터페이스들(API)로 형성된다. The DVB project specifies Java TM technology as a suitable software application environment language. Java TM is a high level object-oriented programming language. In use, what is written as Java software source is translated into platform-independent byte codes by the virtual machine for interpretation. Software applications downloaded to a set top box (STB) are typically formed with a set of application programming interfaces (APIs) tailored for use in an interactive television environment.

표준, 즉 MHP 1.0.1의 부분은 제 1 프로파일을 정의하고 오디오 및 비디오 서비스들의 디지털 방송은 실행 가능한 소프트웨어 애플리케이션들과 결합된다. 소프트웨어 애플리케이션들은 하나 이상의 텔레비젼 시청자들이 로컬적으로 상호작용하게 하고, 예를 들어, 상호작용 채널이 제공되는 것을 요청하지 않는다. 게다가, 표준은 제 2 프로파일을 정의하고, 여기서 개선된 방송에 의해 하나 이상의 사 용자들에 제공되는 특징들 외에, 방송 서비스들과 연관된 또는 무관한 상호작용 서비스 범위가 제공되고, 상기 상호작용 서비스들은 부가적인 상호작용 채널의 제공을 요청한다.Part of the standard, namely MHP 1.0.1, defines a first profile and digital broadcasting of audio and video services is combined with executable software applications. Software applications allow one or more television viewers to interact locally and, for example, do not require an interactive channel to be provided. In addition, the standard defines a second profile wherein, in addition to the features provided to one or more users by improved broadcast, an interactive service range associated with or unrelated to broadcast services is provided, wherein the interactive services are Request the provision of additional interactive channels.

다중 매체 홈 플랫폼(MHP)의 상황에서, 일반적인 측면에서 일반적으로 완전한 자바TM 애플리케이션인 것으로 고려되지 않은 MHP 소프트웨어 애플리케이션들이 사용된다. 이들 MHP 소프트웨어 애플리케이션들은 그들이 주어진 플랫폼에 로딩되고 라이프 사이클 관리자의 관리하에서 실행되는 유사 애플릿들(Applet)이고, 예를 들어, 플랫폼은 셋톱 박스(STB)이고 라이프 사이클 관리자는 전용 소프트웨어에 의해 구현된다. MHP 소프트웨어 애플리케이션들은 "Xlet"들이라 통상적으로 불린다.In the context of a multimedia home platform (MHP), MHP software applications are used that are generally not considered to be complete Java applications in general terms. These MHP software applications are similar applets that are loaded on a given platform and run under the management of a life cycle manager. For example, the platform is a set top box (STB) and the life cycle manager is implemented by dedicated software. MHP software applications are commonly referred to as "Xlets".

따라서, 본 발명자들은 MHP 방송이 Xlet들 같은 자바TM 애플리케이션들의 전송을 포함하는 것을 인식한다. 이들 Xlet들은 디지털 매체 명령 및 제어(DSM-CC)에 의해 MHP 컴플라이언트 제품들 상에 다운로딩되기 쉽다.Accordingly, the inventors recognize that MHP broadcasts include the delivery of Java TM applications such as Xlets. These Xlets are easy to download on MHP compliant products by Digital Media Command and Control (DSM-CC).

게다가, 본 발명자들은 Xlet 애플리케이션들이 종종 연속하여 방송하지만 거의 변형되지 않는 것을 인식하고, 예를 들어, 여기서 방송 소프트웨어 애플리케이션들에 대한 "카로우젤(carousel)" 반복 패턴이 사용된다. 예를 들어, 집에 있는 사람은 텔레비젼에 링크된 셋톱 박스(STB)를 소유한다. 사용자는 STB와 결합한 텔레비전을 사용하여, 하나 이상의 목표된 서비스들에 대응하는 텔레비젼 스크린상 라벨 또는 심볼을 선택하고 그 다음 통상적으로 심볼 "재핑(zapping)"이라 알려진 심볼을 호출할 수 있다. 상기 심볼의 "재핑"은 대응하는 Xlet가 검출되는 것을 유 발한다. 지금, 만약 사용자가 Xlet를 사용하기를 원하면, Xlet의 연관된 등급들 및 이미지들은 위성 접속 및/또는 광섬유 링크 같은 통신 매체를 통하여 STB에 다운로드된다. 다운로딩 후, STB의 소프트웨어에서 구현되는 보안 관리자는 Xlet가 STB에 제공된 가상 머신 상에 로딩되고 그 다음 실행되기 전에, 다운로드된 Xlet, 즉 등급들 및 연관된 이미지들을 검사할 수 있다. 보안 관리자가 예를 들어, 하나 이상의 소프트웨어 값들에 의해 손상된 안정하지 않은 등급들 및 연관된 이미지들을 식별하는 상황에서, 보안 관리자는 가상 머신이 Xlet를 실행하지 못하게 동작할 수 있다.In addition, the inventors recognize that Xlet applications often broadcast in succession but hardly change, for example where a "carousel" repetition pattern for broadcast software applications is used. For example, a person at home owns a set top box (STB) linked to a television. A user may use a television in conjunction with an STB to select a label or symbol on a television screen corresponding to one or more targeted services and then call a symbol, commonly known as a symbol "zapping". The "zapping" of the symbol causes the corresponding Xlet to be detected. Now, if a user wants to use an Xlet, the associated classes and images of the Xlet are downloaded to the STB via a communication medium such as a satellite connection and / or a fiber optic link. After downloading, the security manager implemented in the STB's software can inspect the downloaded Xlet, ie ratings and associated images, before the Xlet is loaded on the virtual machine provided to the STB and then executed. In situations where the security manager identifies unstable grades and associated images corrupted by, for example, one or more software values, the security manager may operate to prevent the virtual machine from running the Xlet.

본 발명자들은 앞에서 기술된 바와 같이 보안 관리자가 상기된 보안 검사 작업을 수행하기 위하여 상당한 시간을 요청하는 것을 인식해 왔다. 그러한 지연은 본 발명자들이 상기 문제를 적어도 부분적으로 대처할 수 있는 방법을 고안하는 데 있어서 큰 문제이다. The inventors have recognized that as described above, the security manager requires a significant amount of time to perform the security check task described above. Such a delay is a big problem in devising a way in which we can at least partially cope with the problem.

상기된 문제는 종래에서 인식되지 않았다. 예를 들어, 미국 공개 특허 출원 번호 제US 2002/0120945A1호에서, 디지털 텔레비젼(DTV) 셋톱 박스에 사용하기 위한 소프트웨어 시스템이 기술되었다. 상기 시스템은 2개의 표준 DASE 아키텍쳐들, 즉 제 1 및 제 2 아키텍쳐들과 호환할 수 있는 셋톱 박스를 렌더링하도록 특히 설계된 소프트웨어 버스 애플리케이션 프로그래밍 인터페이스(API)를 사용한다. 제 1 아키텍쳐에서, 절차 애플리케이션 엔진은 선언 애플리케이션 엔진을 포함한다. 제 2 아키텍쳐에서, 연관된 절차를 포함하는 절차 애플리케이션 엔진을 포함한다. 애플리케이션들 엔진들은 DTV 방송으로부터의 셋톱 박스에 의해 다운로드된 소프트 웨어 애플리케이션에서 인입되는 모든 DASE 인프라구조 API들을 인터셉트하기 위하여 기능 셀 루터를 사용하여 애플리케이션 엔진 관리자와 각각 연관된다. 모든 API들은 애플리케이션 관리자를 통하여 루틴되고, 모든 애플리케이션 엔진들은 그 내부에 포함된 소프트웨어 버스 API를 구현하기 위하여 요청된다. 소프트웨어 코드에서 하나의 라인을 간단히 변경함으로써 부가적인 애플리케이션들의 편리한 설치를 인에이블하도록 동작하는 특정하게 설계된 인터페이스가 포함된다. The problem described above has not been conventionally recognized. For example, in US Published Patent Application No. US 2002 / 0120945A1, a software system for use in a digital television (DTV) set top box has been described. The system uses a software bus application programming interface (API) specifically designed to render a set top box compatible with two standard DASE architectures, namely the first and second architectures. In the first architecture, the procedural application engine includes a declarative application engine. In a second architecture, a procedure application engine is included that includes an associated procedure. The application engines are each associated with an application engine manager using a functional cell to intercept all DASE infrastructure APIs coming from the software application downloaded by the set top box from the DTV broadcast. All APIs are routined through the application manager, and all application engines are requested to implement the software bus API contained therein. A specially designed interface is included that operates to enable convenient installation of additional applications by simply changing one line in the software code.

본 발명의 제 1 목적은 소프트웨어 애플리케이션들을 보안 검사할 때 동작시 보다 빠른 디지털 텔레비젼(DTV)과 관련하여 예를 들어, 셋톱 박스들에서 소프트웨어 애플리케이션들을 실행하는 방법을 제공하는 것이다.It is a first object of the present invention to provide a method for executing software applications, for example in set-top boxes, in connection with a faster digital television (DTV) in operation when security checking software applications.

본 발명의 제 2 목적은 상기된 방법에 따라 동작할 수 있는 장치를 제공하는 것이다.It is a second object of the present invention to provide an apparatus capable of operating according to the method described above.

본 발명의 제 1 측면에 따라, 적어도 하나의 통신 링크를 통하여 그 내부에 연관된 계산 수단을 포함하는 적어도 하나의 대응하는 사용자 인터페이스에 결합된 방송 제공자를 포함하는 방송 시스템에서 하나 이상의 소프트웨어 애플리케이션들을 실행하는 방법이 제공되고, 상기 방법은,According to a first aspect of the present invention, there is provided a method for executing one or more software applications in a broadcast system comprising a broadcast provider coupled to at least one corresponding user interface comprising computing means associated therein via at least one communication link. Method is provided, the method,

(a) 적어도 하나의 선택된 소프트웨어 애플리케이션을 실행하기 위하여 상기 적어도 하나의 사용자 인터페이스와 연관된 적어도 하나의 사용자로부터 하나 이상의 요청들(requests)을 수신하는 단계;(a) receiving one or more requests from at least one user associated with the at least one user interface to execute at least one selected software application;

(b) 상기 적어도 하나의 선택된 소프트웨어 애플리케이션이 내부에 존재하는지 아닌지를 결정하기 위하여 상기 적어도 하나의 사용자 인터페이스와 연관된 메모리를 검사하는 단계;(b) examining a memory associated with the at least one user interface to determine whether the at least one selected software application is present therein;

(c) 상기 적어도 하나의 소프트웨어 애플리케이션이 상기 메모리에 미리 저장되고 확인(validation)될 때, 상기 적어도 하나의 사용자 인터페이스와 연관된 상기 계산 수단에 적어도 하나의 선택된 소프트웨어 애플리케이션을 상기 메모리로부터 로딩하고 그 다음 상기 계산 수단에서 소프트웨어 애플리케이션을 실행하는 단계; 및(c) when said at least one software application is prestored and validated in said memory, loading at least one selected software application from said memory in said computing means associated with said at least one user interface and then said Executing a software application in the computing means; And

(d) 상기 적어도 하나의 애플리케이션이 메모리에 미리 저장되지 않을 때, 상기 적어도 하나의 선택된 소프트웨어 애플리케이션을 방송 제공자로부터 수신하고, 상기 적어도 하나의 애플리케이션을 계산 수단에 로딩하고, 상기 계산 수단에서 적어도 하나의 애플리케이션을 확인하고 그 다음 계산 수단에서 확인될 때 상기 적어도 하나의 애플리케이션을 실행하는 단계를 포함한다.(d) when the at least one application is not previously stored in a memory, receiving the at least one selected software application from a broadcast provider, loading the at least one application into a calculation means, and at least one in the calculation means Identifying an application and then executing said at least one application when verified in said computing means.

상기 방법은 본 발명의 적어도 하나의 목적들을 처리할 수 있는 장점이 있다.The method has the advantage of addressing at least one of the objects of the present invention.

바람직하게, 방법 (d) 단계에서, 확인될 때 상기 적어도 하나의 소프트웨어 애플리케이션이 추후 잠재적 재사용을 위하여 메모리에 저장된다. 상기 재사용은 사용자 인터페이스가 이용시 보다 잘 응답하고 빨리 응답할 수 있게 한다.Preferably, in step (d), the at least one software application is stored in memory for later reuse when identified. The reuse allows the user interface to respond better and faster in use.

바람직하게, 각각의 사용자 인터페이스 내에 과도한 메모리 양을 포함할 필요를 회피하기 위하여, 각각의 사용자 인터페이스에는 보다 최근에 사용자 요청된 소프트웨어 애플리케이션들에 보다 덜 사용자 요청된 소프트웨어 애플리케이션들을 오버라이트하도록 동작하는 메모리 관리 수단이 제공되고, 이에 따라 적어도 하나의 보다 빈번하게 사용자에 의해 요청되는 소프트웨어 애플리케이션에 대한 메모리 용량의 재사용이 허용된다.Preferably, in order to avoid the need to include an excessive amount of memory in each user interface, each user interface has a memory management operable to overwrite less user requested software applications to more recently user requested software applications. Means are provided, thereby allowing reuse of memory capacity for at least one more frequently requested software application by the user.

바람직하게, 소프트웨어 애플리케이션들에서 업데이트에 각각의 사용자 인터페이스가 응답하도록 하기 위하여, 방법 단계(b)에서, 메모리에 저장된 적어도 하나의 확인된 소프트웨어 애플리케이션은 유사성을 검사하기 위하여 방송 제공자로부터의 적어도 하나의 대응하는 소프트웨어 애플리케이션 방송과 비교되고, 이에 따라,Preferably, in order for each user interface to respond to an update at the software applications, in method step (b), at least one identified software application stored in the memory has at least one correspondence from the broadcast provider to check for similarity. Compared to a software application broadcast,

(a) 상기 적어도 하나의 저장된 확인된 애플리케이션 및 적어도 하나의 방송 애플리케이션 사이의 대응이 식별될 때 메모리에 저장된 적어도 하나의 확인된 애플리케이션은 계산 수단에서 실행되고; 및(a) at least one identified application stored in memory is executed in the computing means when a correspondence between the at least one stored identified application and the at least one broadcast application is identified; And

(b) 상기 적어도 하나의 방송 애플리케이션은 확인을 위하여 검사되고, 성공적으로 확인될 때 메모리에 저장되고 추후 계산 수단에서 실행되고,(b) said at least one broadcast application is checked for confirmation, stored in memory when successfully verified and executed in later calculation means,

이에 따라, 상기 방법은 보다 새로운 대응하는 적어도 하나의 애플리케이션이 방송 제공자로부터 방송될 때 메모리에 저장된 상기 적어도 하나의 애플리케이션을 업데이트하도록 동작한다.Accordingly, the method operates to update the at least one application stored in memory when a newer corresponding at least one application is broadcast from a broadcast provider.

바람직하게, 양방향 계산이 적어도 하나의 통신 링크에서 지원되는 경우, 상기 적어도 하나의 사용자 인터페이스 및 대응하는 적어도 하나의 통신 링크는 상기 적어도 하나의 사용자 인터페이스에 상기 요청된 선택된 애플리케이션을 방송하기 위하여 응답하는 방송 제공자에 선택된 소프트웨어 애플리케이션에 대한 하나 이상의 사용자 요청들을 전달하도록 동작할 수 있다.Advantageously, if bidirectional computing is supported on at least one communication link, the at least one user interface and the corresponding at least one communication link respond to broadcast the requested selected application to the at least one user interface. Operate to convey one or more user requests for the selected software application to the provider.

바람직하게, 예를 들어, 선택적으로 또는 부가적으로, 방송 제공자는 상기 적어도 하나의 사용자 인터페이스에서 관련된 메모리에 선택적인 로딩을 위하여 반복적인 시간적 방식으로 상기 적어도 하나의 통신 링크를 통하여 하나 이상의 소프트웨어 애플리케이션들을 방송하도록 동작할 수 있다. 소프트웨어 애플리케이션 방송의 상기 "카로우젤" 방식은 적어도 하나의 통신 링크가 모노 방향임과 동시에 사용자 상호작용 디지털 텔레비젼(DTV)을 지원할 수 있다. 보다 바람직하게, 허용가능하게 짧은 사용자 요청 응답 지연을 제공하기 위하여, 방송 제공자는 의사 연속 방식으로 상기 하나 이상의 소프트웨어 애플리케이션들을 방송하도록 동작할 수 있다.Advantageously, for example, alternatively or additionally, a broadcast provider is configured to provide one or more software applications via said at least one communication link in an iterative temporal manner for selective loading into an associated memory in said at least one user interface. Operate to broadcast. The "carousel" scheme of software application broadcasting may support user interactive digital television (DTV) while at least one communication link is in mono direction. More preferably, in order to provide an acceptable short user request response delay, the broadcast provider may be operable to broadcast the one or more software applications in a pseudo continuous manner.

바람직하게, 상기 방법에서, 방송 시스템은 디지털 텔레비젼(DTV) 방송 시스템이고, 여기서 상기 적어도 하나의 사용자 인터페이스는 연관된 디스플레이 수단에 결합된 적어도 하나의 셋톱 박스(STB)이고, 상기 적어도 하나의 통신 링크는 적어도 하나의 무선 링크들, 광섬유 링크들 및 도전성 유선 배선 링크들에 의해 구현된다. 보다 바람직하게, 제조시 다른 비용/크기 타협을 마련하기 위하여, 상기 디스플레이 수단은 적어도 하나의 음극선관, 화소 플라즈마 디스플레이, 화소 배경 조명 액정 디스플레이 및 화소 투영 액정 디스플레이를 포함한다.Advantageously, in the method, the broadcast system is a digital television (DTV) broadcast system, wherein the at least one user interface is at least one set top box (STB) coupled to an associated display means, and the at least one communication link is It is implemented by at least one wireless link, optical fiber links and conductive wired wire links. More preferably, the display means comprises at least one cathode ray tube, a pixel plasma display, a pixel background illumination liquid crystal display and a pixel projection liquid crystal display in order to make other cost / size compromises in manufacturing.

바람직하게, 편리한 사용자 상호작용을 지원하기 위하여, 상기 적어도 하나의 선택된 소프트웨어 애플리케이션은 상기 적어도 하나의 사용자 인터페이스에서 상기 적어도 하나의 사용자에게 제공된 적어도 하나의 그래픽 표현 심볼의 사용에 의해 선택된다.Advantageously, to support convenient user interaction, said at least one selected software application is selected by use of at least one graphical representation symbol provided to said at least one user in said at least one user interface.

바람직하게, 디지털 텔레비젼(DTV)에 부가적으로 또는 선택적으로, 상기 적어도 하나의 사용자 인터페이스는 대응하는 그래픽 디스플레이가 제공된 적어도 하나의 이동 전화로서 실행된다.Preferably, in addition or alternatively to digital television (DTV), the at least one user interface is implemented as at least one mobile telephone provided with a corresponding graphical display.

하나 이상의 사용자 요청들에 대해 에너지 공급 때 빠른 시작을 제공하기 위하여, 메모리는 에너지 해제 때 데이터를 그 내부에 유지하기 위하여 동작하는 영구적인 메모리로서 실행된다. 보다 바람직하게, 메모리는 고체 상태 플래시 메모리, 자기 디스크 메모리를 사용하는 비휘발성 메모리로서 실행된다. In order to provide a quick start when energizing for one or more user requests, the memory is implemented as a permanent memory that operates to keep data therein upon energy release. More preferably, the memory is implemented as a solid state flash memory, a nonvolatile memory using magnetic disk memory.

바람직하게, 널리 보급된 일반적인 수용성을 위하여, 상기 적어도 하나의 소프트웨어 애플리케이션은 하나 이상의 자바 Xlet들로서 실행된다. 자바는 국제적으로 알려져 있고, 폭넓게 사용된 현대 컴퓨터 언어이다.Preferably, for widespread general acceptance, the at least one software application runs as one or more Java Xlets. Java is an internationally known and widely used modern computer language.

바람직하게, 방법 단계(d)에서, 확인은 소프트웨어 구현된 보안 관리자에 의해 수행되고 확인된 소프트웨어 애플리케이션들은 상기 계산 수단에 제공된 소프트웨어 구현된 가상 머신 상에서 실행된다.Preferably, in method step (d), the verification is performed by a software implemented security manager and the verified software applications are executed on a software implemented virtual machine provided to the computing means.

바람직하게, 계산 수단을 효율적으로 사용하고, 다운로딩하고, 확인하고, 확인된 상기 메모리에 저장하는 동안 보다 예측 가능하고 균일하며 안정된 동작을 제공하기 위하여, 상기 적어도 하나의 소프트웨어 애플리케이션은 상기 계산 수단에서 연속적인 동시에 배경 작용으로서 수행된다.Advantageously, said at least one software application is adapted in said computing means to provide more predictable, uniform, and stable operation while efficiently using, downloading, verifying and storing in said verified memory. It is performed continuously and simultaneously as a background action.

본 발명의 제 2 측면에 따라, 하나 이상의 소프트웨어 애플리케이션들을 실행하기 위한 방송 시스템이 제공되고, 상기 시스템은 적어도 하나의 통신 링크를 통하여 적어도 하나의 대응하는 사용자 인터페이스에 결합된 방송 제공자를 포함하고, 각각의 사용자 인터페이스는,According to a second aspect of the invention, there is provided a broadcast system for executing one or more software applications, the system comprising a broadcast provider coupled to at least one corresponding user interface via at least one communication link, each The user interface of

(a) 적어도 하나의 선택된 소프트웨어 애플리케이션을 실행하기 위하여 상기 사용자 인터페이스와 연관된 적어도 하나의 사용자로부터 하나 이상의 요청들을 수신하기 위한 인터페이싱 수단;(a) interfacing means for receiving one or more requests from at least one user associated with the user interface to execute at least one selected software application;

(b) 적어도 하나의 소프트웨어 애플리케이션을 저장하기 위한 수단;(b) means for storing at least one software application;

(c) 상기 적어도 하나의 선택된 소프트웨어 애플리케이션이 이미 확인되고 상기 메모리에 저장되는지 또는 아닌지를 결정하고, 상기 소프트웨어 애플리케이션들이 메모리에 미리 저장되지 않는 경우 방송 제공자로부터 수신된 하나 이상의 소프트웨어 애플리케이션들을 확인하고, 상기 메모리에 저장된 상기 하나 이상의 확인된 소프트웨어 애플리케이션들이 상기 적어도 하나의 사용자로부터 상기 하나 이상의 요청들에 보다 빠른 일시적 응답을 상기 적어도 하나의 사용자에게 제공하기 위하여 방송 제공자로부터 수신할 수 있는 대응하는 하나 이상의 소프트웨어 애플리케이션들을 확인하도록 우선하여 실행되도록 상기 하나 이상의 사용자 요청들에 응답하여 하나 이상의 확인된 소프트웨어 애플리케이션들을 실행하기 위한 계산 수단을 포함한다.(c) determine whether the at least one selected software application is already identified and stored in the memory, and if the software applications are not previously stored in memory, identify one or more software applications received from a broadcast provider, and The corresponding one or more software applications that the one or more identified software applications stored in memory may receive from the broadcast provider to provide the at least one user with a faster transient response to the one or more requests from the at least one user. Computing means for executing one or more identified software applications in response to the one or more user requests to be executed preferentially to verify the application. .

바람직하게, 시스템에서, 상기 계산 수단은 추후 잠재적 재사용을 위하여 메모리에서 확인될 때 상기 적어도 하나의 소프트웨어 애플리케이션을 저장하도록 동작한다.Advantageously, in the system, said computing means is operative to store said at least one software application when later confirmed in memory for potential reuse.

바람직하게, 각각의 사용자 인터페이스는 보다 최근에 요청된 소프트웨어 애플리케이션들과 덜 빈번하게 요청된 소프트웨어 애플리케이션들을 오버라이트하도록 동작하는 메모리 관리 수단이 제공된다.Preferably, each user interface is provided with memory management means operative to overwrite more recently requested software applications and less frequently requested software applications.

바람직하게, 시스템에서, 계산 수단은 유사성에 대해 검사하기 위하여 방송 제공자로부터의 적어도 하나의 대응하는 소프트웨어 애플리케이션 방송과 메모리에 저장된 적어도 하나의 확인된 소프트웨어 애플리케이션을 비교하도록 동작하여,Preferably, in the system, the computing means is operative to compare the at least one identified software application stored in the memory with at least one corresponding software application broadcast from the broadcast provider to check for similarity,

(a) 상기 메모리에 저장된 적어도 하나의 확인된 애플리케이션은 상기 적어도 하나의 저장된 애플리케이션 및 적어도 하나의 방송 애플리케이션 사이의 대응이 식별될 때 계산 수단에서 실행되고; 및(a) at least one identified application stored in the memory is executed in the calculating means when a correspondence between the at least one stored application and the at least one broadcast application is identified; And

(b) 상기 적어도 하나의 방송 애플리케이션은 확인이 검사되고, 만약 계산 수단에서 확인되고 추후에 실행될 때 메모리에 저장되고, 이에 따라(b) said at least one broadcast application is stored in a memory when the confirmation is checked and if confirmed in the calculation means and subsequently executed,

상기 계산 수단은 보다 새로운 대응하는 적어도 하나의 애플리케이션이 방송제공자로부터의 방송일 때 메모리에 저장된 상기 적어도 하나의 애플리케이션을 업데이트하도록 동작한다.The calculating means is operative to update the at least one application stored in memory when the newer corresponding at least one application is a broadcast from a broadcast provider.

바람직하게, 시스템에서, 상기 적어도 하나의 사용자 인터페이스 및 대응하는 적어도 하나의 통신 링크는 상기 적어도 하나의 사용자 인터페이스에 상기 요청된 선택된 애플리케이션을 방송하도록 응답하는 방송 제공자에 선택된 소프트웨어 애플리케이션에 대한 하나 이상의 사용자 요청들을 전달하기 위하여 동작한다.Advantageously, in the system, the at least one user interface and the corresponding at least one communication link correspond to one or more user requests for a selected software application to a broadcast provider responsive to broadcasting the requested selected application to the at least one user interface. To deliver them.

바람직하게, 시스템에서, 방송 제공자는 상기 적어도 하나의 사용자 인터페이스에서 선택적인 로딩을 위하여 반복적인 시간적 방법으로서 하나 이상의 소프트웨어 애플리케이션들을 상기 적어도 하나의 통신 링크를 통하여 방송하도록 동작한다. 보다 바람직하게, 방송 제공자는 의사 연속 방식으로 상기 적어도 하나의 소프트웨어 애플리케이션들을 방송하도록 동작한다.Advantageously, in a system, a broadcast provider operates to broadcast one or more software applications over said at least one communication link in an iterative temporal manner for selective loading in said at least one user interface. More preferably, the broadcast provider operates to broadcast the at least one software applications in a pseudo continuous manner.

바람직하게, 상기 방송 시스템은 디지털 텔레비젼 방송 시스템이고, 상기 적어도 하나의 사용자 인터페이스는 연관된 디스플레이 수단에 결합된 적어도 하나의 셋톱 박스에 대응하고, 상기 적어도 하나의 통신 링크는 적어도 하나의 무선 링크들, 광섬유 링크들 및 도전성 유선 통신 링크들에 의해 구현된다. 보다 바람직하게, 상기 디스플레이 수단은 음극선관, 화소 플라즈마 디스플레이, 화소 배경조명 액정 디스플레이 및 화소 투영 액정 디스플레이 중 적어도 하나를 포함한다.Advantageously, said broadcast system is a digital television broadcast system, said at least one user interface corresponding to at least one set top box coupled to an associated display means, said at least one communication link being at least one wireless link, an optical fiber. Implemented by links and conductive wired communication links. More preferably, the display means comprises at least one of a cathode ray tube, a pixel plasma display, a pixel backlight liquid crystal display and a pixel projection liquid crystal display.

바람직하게, 상기 적어도 하나의 선택된 소프트웨어 애플리케이션은 상기 적어도 하나의 사용자 인터페이스에서 상기 적어도 하나의 사용자에게 제공된 적어도 하나의 그래픽 표현 심볼의 사용에 의해 선택할 수 있다. 보다 바람직하게, 상기 적어도 하나의 그래픽 심볼은 적어도 하나의 그래픽 아이콘으로서 구현된다.Advantageously, said at least one selected software application is selectable by use of at least one graphical representation symbol provided to said at least one user in said at least one user interface. More preferably, the at least one graphic symbol is embodied as at least one graphic icon.

바람직하게, 디지털 텔레비젼(DTV)에 선택적으로 또는 부가적으로, 상기 적어도 하나의 사용자 인터페이스는 대응하는 그래픽 디스플레이가 제공된 적어도 하나의 이동 전화로서 구현된다.Advantageously or alternatively or in addition to a digital television (DTV), said at least one user interface is embodied as at least one mobile telephone provided with a corresponding graphical display.

바람직하게, 메모리는 에너지 공급이 중단될 때 그 내부에 데이터를 유지하도록 동작하는 영구적인 메모리로서 구현된다. 보다 바람직하게, 메모리는 고체 상태 플래시 메모리, 자기 디스크 메모리 중 적어도 하나를 사용하는 비휘발성 메모리로서 구현된다.Preferably, the memory is implemented as a permanent memory that operates to retain data therein when the energy supply is interrupted. More preferably, the memory is implemented as a nonvolatile memory using at least one of a solid state flash memory and a magnetic disk memory.

바람직하게, 상기 적어도 하나의 소프트웨어 애플리케이션은 하나 이상의 자바 Xlet들로 구현된다.Advantageously, said at least one software application is implemented with one or more Java Xlets.

바람직하게, 계산 수단은 소프트웨어 구현된 보안 관리자에 의해 확인을 수행하고 상기 계산 수단에서 제공된 소프트웨어 구현된 가상 머신에 의해 확인된 소프트웨어 애플리케이션들을 실행하도록 동작한다.Preferably, the computing means is operable to perform the verification by the software implemented security manager and to execute the software applications identified by the software implemented virtual machine provided in the computing means.

바람직하게, 상기 계산 수단은 연속적인 현대 배경 작동으로서 상기 적어도 하나의 확인된 소프트웨어 애플리케이션을 상기 메모리에 다운로드, 확인 및 저장하기 위하여 동작한다.Advantageously, said computing means operates to download, verify and store said at least one identified software application in said memory as a continuous modern background operation.

본 발명의 특징들이 본 발명의 범위로부터 벗어나지 않고 임의의 결합으로 결합될 수 있다는 것이 인식된다.It is recognized that the features of the invention can be combined in any combination without departing from the scope of the invention.

본 발명의 실시예들은 다음 도면들을 참조하여 예시적으로 기술된다.Embodiments of the present invention are described by way of example with reference to the following figures.

도 1은 몇몇 셋톱 박스들에 링크된 디지털 텔레비젼 방송 네트워크의 개략적인 다이어그램.1 is a schematic diagram of a digital television broadcast network linked to several set top boxes.

도 2는 셋톱 박스들(STB)에서 Xlet 소프트웨어 애플리케이션들을 다운로딩하고 실행하는 종래 방법의 개략도.2 is a schematic diagram of a conventional method for downloading and executing Xlet software applications in set top boxes (STBs).

도 3은 셋톱 박스들(STB)에서 Xlet 소프트웨어 애플리케이션들을 다운로딩하고 실행하는 본 발명의 방법의 실시예의 개략도.3 is a schematic diagram of an embodiment of the method of the present invention for downloading and executing Xlet software applications in set top boxes (STBs).

이런 환경에서 본 발명을 설명하기 위하여, 디지털 텔레비젼(DTV)의 간단한 설명은 도 1 및 2를 참조하여 설명될 것이다.In order to explain the present invention in such an environment, a brief description of a digital television (DTV) will be described with reference to Figs.

도 1을 우선 참조하여, 10으로 일반적으로 표시된 종래 DTV 방송 네트워크가 도시된다. 네트워크(10)는 DTV 신호들을 배급을 위한 인프라구조를 포함하는 DTV 방송 제공자(20)를 포함한다. 인프라구조는 예를 들어, 하나 이상의 마이크로파 무선 링크들, 광섬유 통신 링크들, 신호 스위칭 유닛들 및 하나 이상의 증폭기들, 재생기들, 이퀄라이저들 및 필터들 같은 인 라인 부품들을 포함한다. 방송 제공자(20)는 DTV 서비스들을 "n"에 대한 사용자들(1)에게 제공하기 위한 "n" 출력들을 포함한다. 각각의 출력은 바람직하게 하나 이상의 동축 주파수 유선 링크인 통신 링크(30)를 통하여, 광대역 광섬유 링크 및 무선 라디오 링크에 결합된다. 게다가, 각각의 사용자는 사용자(60)에 의해 시청할 수 있는 텔레비젼 모니터(50) 및 대응하는 링크(30) 사이에 결합된 셋톱 박스(STB)(40)와 연관된다. 모니터(50)는 하나 이상의 음극선관(CRT) 디스플레이, 화소 액정 디스플레이(LCD), LCD 투영 유닛 및 플라즈마 디스플레이다. 게다가, 모니터(50)는 대응하는 오디오 시스템 및 인터페이스 제어 패널, 예를 들어, 소형 컴퓨터 키보드 및/또는 컴퓨터 마우스, 트랙커 볼 또는 유사한 것들을 포함한다.Referring first to Figure 1, a conventional DTV broadcast network, generally indicated at 10, is shown. The network 10 includes a DTV broadcast provider 20 that includes an infrastructure for distributing DTV signals. The infrastructure includes, for example, one or more microwave radio links, fiber optic communication links, signal switching units and in-line components such as one or more amplifiers, regenerators, equalizers and filters. The broadcast provider 20 includes "n" outputs for providing DTV services to users 1 for "n". Each output is coupled to a wideband optical fiber link and a wireless radio link, preferably via a communication link 30 that is one or more coaxial frequency wired links. In addition, each user is associated with a set top box (STB) 40 coupled between the television monitor 50 and the corresponding link 30 that can be viewed by the user 60. The monitor 50 is one or more cathode ray tube (CRT) displays, pixel liquid crystal displays (LCDs), LCD projection units, and plasma displays. In addition, monitor 50 includes a corresponding audio system and interface control panel, such as a small computer keyboard and / or computer mouse, tracker ball, or the like.

STB(40)는 고속 신호 처리 하드웨어와 함께 컴퓨터 하드웨어를 포함한다. 컴퓨터 하드웨어는 적당한 디지털 버스들을 통하여 비휘발성 및 비휘발성 메모리 장치들에 결합된 적어도 하나의 처리기를 포함하고; 비휘발성 메모리 장치들은 이후에 설명될 바와 같이 영구적인 메모리를 제공할 수 있다. STB(40)는 가상 머신, 즉 여러 소프트웨어 애플리케이션들 중에서 Xlet들을 수신할 수 있는 실질적으로 보편적인 컴퓨터 에뮬레이션으로서 기능할 수 있도록 내부에서 실행할 수 있고 대 응하는 비쥬얼 및/또는 오디오 서비스를 사용자(60)에게 제공하기 위하여 실행할 수 있는 소프트웨어를 포함한다.The STB 40 includes computer hardware along with high speed signal processing hardware. The computer hardware includes at least one processor coupled to the nonvolatile and nonvolatile memory devices via suitable digital buses; Nonvolatile memory devices may provide permanent memory, as will be described later. The STB 40 may run internally and function as a virtual machine, i.e., a substantially universal computer emulation capable of receiving Xlets among various software applications and corresponding visual and / or audio services. Contains software that can be run to provide.

도 2를 다시 참조하여, 도 2는 각각의 STB(40)내에서 실행되는 처리 단계들의 흐름도로서 도시되고; 처리 단계들은 100으로 일반적으로 표시된다. 단계들(100)은 심볼 선택 단계(110)(심볼 선택), Xlet 단계(120)에 대한 요청(REQ. FOR XLET), Xlet 단계(130)의 수신(RECEIPT OF XLET), Xlet 보안/확인 검사 단계(140)(SECURITY CHECK XLET), 결정 단계(150)(XLET SAFE TO EXECUTE?) 및 최종적으로 Xlet 실행 단계(160)(EXECUTE XLET)를 포함한다. 단계들(110 내지 160)은 도 2에 도시된 바와 같은 일시적 시퀀스를 실행하는 것이다.Referring again to FIG. 2, FIG. 2 is shown as a flowchart of the processing steps executed within each STB 40; Processing steps are generally indicated at 100. Steps 100 include symbol selection step 110 (symbol selection), request for Xlet step 120 (REQ. FOR XLET), receipt of Xlet step 130 (RECEIPT OF XLET), Xlet security / verification check Step 140 (SECURITY CHECK XLET), decision step 150 (XLET SAFE TO EXECUTE?) And finally Xlet execution step 160 (EXECUTE XLET). Steps 110-160 are to execute a temporary sequence as shown in FIG.

방송 네트워크(10)의 동작은 도 1 및 2를 참조하여 전체적으로 기술될 것이다.The operation of the broadcast network 10 will be described in full with reference to FIGS. 1 and 2.

방송 제공자(20)는 하나 이상의 링크들(30)을 통하여 각각의 사용자들(60)에게 디지털 신호들을 출력하도록 동작한다. 디지털 신호들은 적어도 하나의 디지털 프로그램 재료, 실행 가능한 소프트웨어 및 소프트웨어 관련 데이터를 포함한다.The broadcast provider 20 operates to output digital signals to each user 60 via one or more links 30. Digital signals include at least one digital program material, executable software and software related data.

각각의 사용자(60)는 제공자(20)로부터 전송된 주어진 디지털 데이터 스트림을 선택하고, 예를 들어, 선호하는 프로그램 채널을 선택하기 위하여 대응하는 STB(40)에게 명령할 수 있다. 게다가, 각각의 사용자(60)는 기술될 바와 같이 그 내부에서 실행하기 위하여 사용자의 STB(40)에 전송될 하나 이상의 소프트웨어 애플리케이션들을 선택할 수 있다.Each user 60 may select a given digital data stream sent from provider 20 and instruct, for example, the corresponding STB 40 to select a preferred program channel. In addition, each user 60 may select one or more software applications to be sent to the user's STB 40 for execution therein as will be described.

각각의 STB(40)는 사용자(60)로부터 애플리케이션 요청들을 수신하도록 동작 한다. 즉 사용자(60)는 모니터(50)상에서 선호하는 옵션을 선택한다; 예를 들어, 상기 옵션은 제공된 선택된 아이콘 소프트웨어 애플리케이션 심볼로 모니터(50)상에 디스플레이된 마우스 아이콘을 이동하여 사용자(60)에 의해 단계(110)에서 선택된다.Each STB 40 is operative to receive application requests from the user 60. The user 60 selects a preferred option on the monitor 50; For example, the option is selected in step 110 by the user 60 by moving the mouse icon displayed on the monitor 50 to the selected icon software application symbol provided.

동작의 제 1 상호작용 모드에서, 사용자(60)는 단계(120)에서 STB(40)를 통하여 제공자(20)에 이런 요청을 보내고; 예를 들어, 사용자(60)는 STB(40)가 링크(30)를 통하여 방송 제공자(20)에게 요청을 보내도록 하게 하는 "실행(execute)" 버튼 또는 스위치를 누른다. 이에 따라, 제공자(20)는 모니터(50)상에 디스플레이하기 위하여 STB(40)에서 최종 실행을 위하여 하나 이상의 대응하는 소프트웨어 애플리케이션들, 예를 들어, 하나 이상의 Xlet들을 다운로딩함으로써 단계(130)에서 응답한다.In the first interaction mode of operation, the user 60 sends this request to the provider 20 via the STB 40 in step 120; For example, user 60 presses an “execute” button or switch that causes STB 40 to send a request to broadcast provider 20 via link 30. Accordingly, the provider 20 may, in step 130, download one or more corresponding software applications, eg, one or more Xlets, for final execution in the STB 40 for display on the monitor 50. Answer.

동작의 제 2 상호작용 모드에서, 방송 제공자(20)가 반복적으로 및 연속적으로 "카로우젤" 방식으로 소프트웨어 애플리케이션들을 출력하는 경우, STB(40)는 STB(40)에 전달된 인입 신호들로부터 선택된 Xlet를 분리함으로써 사용자(60)로부터의 요청에 응답하고, 상기 분리된 선택 Xlet는 모니터(50)상에 디스플레이하기 위하여 STB(40)에서 궁극적으로 실행된다.In the second interaction mode of operation, when the broadcast provider 20 outputs software applications repeatedly and continuously in a "carousel" manner, the STB 40 may receive from incoming signals delivered to the STB 40. In response to a request from the user 60 by detaching the selected Xlet, the isolated selection Xlet is ultimately executed in the STB 40 for display on the monitor 50.

단계들(140, 150)에서, STB(40) 및 그 안에 저장된 데이터의 손상을 방지하기 위하여, STB(40)는 방송 제공자(20), 예를 들어, 상기된 Xlet들로부터 하나 이상의 수신된 소프트웨어 애플리케이션들을 확인하기 위한 보안 관리자로서 알려진 확인 소프트웨어를 실행한다. 상기 확인은 소프트웨어 애플리케이션들이 보나 파 이드(bona fide) 소스로부터 제공되었고 및/또는 소프트웨어 애플리케이션들이 STB(40)의 동작에 악영향을 미치기 쉬운 컴퓨터 바이러스들 또는 유사한 이상들(aberrations)을 포함하는지를 결정하는 것을 보장하기 위하여 바람직하다.In steps 140 and 150, in order to prevent corruption of the STB 40 and the data stored therein, the STB 40 may include one or more received software from the broadcast provider 20, eg, the Xlets described above. Run the verification software known as the security manager for verifying the applications. The confirmation may be to determine whether the software applications were provided from a bona fide source and / or the software applications contain computer viruses or similar aberrations that are likely to adversely affect the operation of the STB 40. It is desirable to ensure.

Xlet가 하나 이상의 STB(40)에서 수신될 때, 우선적으로 하나 이상의 STB(40)에서 실행하는 상기된 보안 관리자 소프트웨어에 의해 확인된다. 단계(150)에서, 만약 보안 관리자에 의해 성공적으로 확인되면, SBT(40)에 의해 제공된 가상 머신 상에 로딩되고 그 다음 단계(160)에서 대응하는 서비스, 예를 들어, 날씨 보고, 출자 은행 수행의 보고, 증권 시장 보고 및/또는 비디오 게임을 사용자(60)에게 제공하기 위하여 실행된다.When an Xlet is received at one or more STBs 40, it is first identified by the security manager software described above running on one or more STBs 40. In step 150, if successfully verified by the security manager, it is loaded on the virtual machine provided by the SBT 40 and in the next step 160 performs the corresponding service, eg, weather report, investor bank. Reports, stock market reports and / or video games to users 60.

본 발명자들은 단계(140)에서 STB(40)의 보안 관리자가 확인 기능을 실행하기에 비교적 느리므로 식별된 소프트웨어 애플리케이션 아이콘 또는 유사성이 응답 및 기능에 대해 나타나기 전 기간을 사용자(60)가 기다려야 하는 결과를 인식했다. 게다가, 소프트웨어 애플리케이션들이 비교적 크고 링크(30)를 통하여 이용할 수 있는 대역폭이 제한될 때, 상당한 시간이 단계(130)에서 방송제공자(20)로부터 링크(30)를 통하여 연관된 STB(40)에 애플리케이션을 로딩하는데 요청된다. 상기 지연은 사용자(60)에 분리 및 잠재적으로 귀찮음을 준다.The inventors have found that at step 140 the security manager of STB 40 is relatively slow to execute the verification function, resulting in the user 60 having to wait for a period before the identified software application icon or similarity appears for the response and function. Recognized. In addition, when the software applications are relatively large and the bandwidth available over the link 30 is limited, a significant amount of time may be applied to the associated STB 40 from the broadcaster 20 via the link 30 at step 130. It is requested to load. This delay gives the user 60 separation and potentially annoying.

소프트웨어 애플리케이션들이 STB(40)내에서 실행될 때, 상기 애플리케이션들은 네트워크 제공자(20)로부터 제공된 새로운 추후 소프트웨어 애플리케이션들에 의해 통상적으로 소거 및/또는 오버라이트된다.When software applications are run within STB 40, they are typically erased and / or overwritten by new later software applications provided from network provider 20.

상기된 바와 같이, 네트워크(10)에 일방향 링크들(30)이 제공되는 경우, 네 트워크 제공자(10)는 만약 단계들(120, 130)에서 STB(40)들이 대응하는 선택된 소프트웨어 애플리케이션들, 예를 들어, Xlet들을 추후 실행(만약 보나 파이드이면)을 위하여 단계들(140, 150)에서 확인을 위하여 STB(40)의 메모리에 로딩되고 식별되도록 하게 사용자들(60)이 수행하지 않는다면 STB(40)의 각각에서 일반적으로 무시되는 소프트웨어 애플리케이션들을 반복적으로 전송한다.As described above, when one-way links 30 are provided to the network 10, the network provider 10 may select selected software applications to which the STBs 40 correspond in step 120, 130, eg, For example, if the users 60 do not perform the Xlets to be loaded into the memory of the STB 40 for identification in steps 140 and 150 for later execution (if it is a bona fide), then the STB 40. Iteratively sends software applications that are typically ignored in each of

본 발명자들은 방송 제공자(20)로부터 제공된 소프트웨어 애플리케이션들이 상기된 제 2 상호작용 모드에서 반복적으로 방송되고, 즉 거의 변형되지 않지만 데이터 "카로우젤" 방식으로 효과적으로 연속적으로 방송하는 것을 인식했다. 사용자(60)가 상기된 바와 같은 소프트웨어 애플리케이션 아이콘을 "재핑"하면, 대응하는 Xlet는 식별된다. 만약 사용자가 Xlet를 실행하기를 원하면, Xlet와 연관된 등급들 및 픽쳐들은 제공자(20)로부터 사용자(60)의 STB(40)에 다운로드된다. 다음, 등급들은 Xlet가 최종적으로 실행되기 전에 보안 관리자가 각각의 등급을 요청하는 로딩 단계에서 가상 머신에 의해 로딩되고, 상기 검증은 STB(40)에서 비교적 큰 실행 시간을 요청한다.The inventors have recognized that software applications provided from the broadcast provider 20 are repeatedly broadcasted in the second interaction mode described above, ie, almost continuously modified but effectively and continuously in a data "carousel" manner. If the user 60 "zaps" a software application icon as described above, the corresponding Xlet is identified. If the user wants to run the Xlet, the ratings and pictures associated with the Xlet are downloaded from the provider 20 to the STB 40 of the user 60. The grades are then loaded by the virtual machine in the loading phase where the security manager requests each grade before the Xlet is finally executed, and the verification requires a relatively large execution time in the STB 40.

본 발명자들은 두 단계 처리, 즉 저장 처리 및 실행 처리 같은 하나 이상의 STB(40)에 Xlet들을 다운로딩하는 것을 바람직하게 생각하는 본 발명을 인식했다. 특히 상기 저장이 비휘발성 영구 저장, 예를 들어, 전력이 STB(40)로부터 분리되는 전력 다운시 데이터를 유지하는 고체 상태 플래시 메모리 및/또는 자기 하드디스크 메모리에 저장인 것은 바람직하다. 다른 형태의 비휘발성 메모리는 상기 영구 저장을 제공하는데 사용할 수 있다.The inventors have recognized the present invention as it would be desirable to download Xlets to one or more STBs 40, such as two step processing, store processing and execution processing. In particular, the storage is preferably non-volatile permanent storage, for example, storage in solid state flash memory and / or magnetic hard disk memory that retains data upon power down when power is disconnected from the STB 40. Other forms of nonvolatile memory can be used to provide the permanent storage.

따라서, 본 발명의 방법에서, Xlet가 하나 이상의 STB(40)에서 실행되는 제 1 경우, STB(40)는 모든 관련된 등급들에서 Xlet를 확인하기 위하여 보안 관리자를 호출하고 그 다음 STB(40)의 영구 메모리에서 확인된 Xlet를 저장하도록 프로그램된다. 사용자(60)가 사용자(40)의 모니터(50)에서 선택된 Xlet 아이콘을 호출하는 추후 경우에서, 대응하는 STB(40)는 우선 선택된 Xlet가 STB(40)의 영구 저장소에 미리 저장되는지의 여부를 결정하기 위하여 검사한다. 그 다음 STB(40)는 확인된 저장 Xlet가 Xlet들을 방송하기 위한 동작의 "카로우젤" 모드에서 그 출력으로서 방송 제공자(20)로부터 연속적으로 출력하는 것과 유사한 것을 보장하기 위하여 검사한다. 만약 방송 및 저장된 Xlet가 동일하면, STB(40)는 2개의 Xlet들이 확인되고 그 다음 저장된 Xlet를 실행하기 위하여 처리하는 것을 식별할 것이다. 선택된 저장된 Xlet가 제공자(20)에 의해 구현된 소프트웨어 업데이트 및/또는 업그레이딩에 의해 방송 제공자(20)로부터 출력된 것과 다른 경우, SBT(40)는 제공자(20)로부터 선호하는 선택된 Xlet를 다운로드하고 영구 저장소에 로딩하고 가상 머신에서 상기된 바와 같이 실행하기 전에 보안 관리자에 의해 확인 검사하도록 동작한다.Thus, in the method of the present invention, in the first case where an Xlet is executed in one or more STBs 40, the STB 40 calls the security manager to identify the Xlet in all relevant classes and then the STBs 40 It is programmed to store Xlets identified in permanent memory. In a later case where the user 60 invokes the selected Xlet icon on the monitor 50 of the user 40, the corresponding STB 40 first determines whether the selected Xlet is previously stored in the persistent store of the STB 40. Check to determine. The STB 40 then checks to ensure that the identified storage Xlet is similar to the continuous output from the broadcast provider 20 as its output in the "carousel" mode of operation for broadcasting the Xlets. If the broadcast and stored Xlet are the same, STB 40 will identify that two Xlets are identified and then processed to execute the stored Xlet. If the selected stored Xlet is different from that output from the broadcast provider 20 by software update and / or upgrading implemented by the provider 20, the SBT 40 downloads the preferred selected Xlet from the provider 20 and It is operative to be verified by the security administrator before loading into the persistent store and executing as described above in the virtual machine.

완전한 확인 Xlet들을 저장하는 것에 대한 대안으로서, STB(40)는 인입 수신 Xlet가 가상 머신에서 실행전에 체크섬(checksum)을 사용함으로써 빠르게 확인될 수 있도록, 확인된 선택된 Xlet에 대응하는 확인 데이터, 예를 들어, 체크섬을 저장한다; 상기 본 발명의 방법의 구현은 STB(40)내에서 메모리 능력을 덜 요청한다. As an alternative to storing complete acknowledgment Xlets, STB 40 may provide validation data corresponding to the selected selected Xlet, e.g., so that incoming incoming Xlets can be quickly validated by using a checksum before execution in the virtual machine. For example, store the checksum; The implementation of the method of the present invention requires less memory capability in the STB 40.

본 발명의 방법은 도 3을 참조하여 추가로 설명될 것이다.The method of the present invention will be further described with reference to FIG. 3.

도 3에서, 본 발명의 실시예에 대응하는 처리 단계들의 흐름도가 도시되고; 처리 단계들은 200으로 일반적으로 표현된다. 단계들(200)은 심볼 선택 단계(210)(SYMBOL SEL.), 소프트웨어 애플리케이션 검사 단계(220)(XLET ALREADY LOADED & SECURITY CHECKED IN STB?), 영구 메모리 로딩 단계(230)로부터의 Xlet 로딩(LOAD XLET FROM STB STORAGE), Xlet 실행 단계(240)(EXECUTE XLET), Xlet 단계(250)에 대한 요청(REQ. FOR XLET), Xlet 수신 단계(260)(REC. OF XLET), Xlet 보안 확인 단계(270)(SEC. CHECK XLET), Xlet 확인 검사 단계(280)(XLET VALID?), 및 최종적으로 영구 메모리 단계(290)에서 Xlet 저장(STORE XLET)을 포함한다. 단계들(200)은 사용자 선택 Xlet가 단계(240)에서 추후 실행을 위하여 준비된 STB(40)의 영구 저장에 이용할 수 있는지 또는 단계(250)에서 요청되고, 단계(260)에서 수신되고, 단계(270)에서 상기된 보안 관리자에 의해 확인되고, 단계(280)에서 확인을 위하여 검사되고 최종적으로 만약 확인되면 단계들(240, 290)에서 저장되고 추후에 실행되는지의 여부에 따라 단계(220)에서 브랜칭으로 도시된 시간적 시퀀스로 실행된다.3, a flowchart of processing steps corresponding to an embodiment of the present invention is shown; Processing steps are generally represented as 200. Steps 200 include Xlet loading from symbol selection step 210 (SYMBOL SEL.), Software application check step 220 (XLET ALREADY LOADED & SECURITY CHECKED IN STB?), And permanent memory loading step 230. XLET FROM STB STORAGE), execute Xlet step 240 (EXECUTE XLET), request for Xlet step 250 (REQ. FOR XLET), Xlet receive step 260 (REC. OF XLET), Xlet security check step ( 270) (SEC. CHECK XLET), Xlet verify check step 280 (XLET VALID?), And finally Xlet store (STORE XLET) in permanent memory step 290. Steps 200 are requested in step 250 or received in step 260 whether the user-selected Xlet is available for permanent storage of the STB 40 prepared for later execution in step 240, and received in step (260). 270 is verified by the security manager described above, and checked in step 280 for confirmation and finally if confirmed in step 220 depending on whether it is stored in steps 240 and 290 and executed later. It is executed in a temporal sequence shown as branching.

단계들(270, 280)에서 보안 확인은 STB(40)에 의해 실행된 상기된 보안 관리자 소프트웨어에서 수행된다. 게다가, 확인된 Xlet들의 실행은 STB(40)의 계산 하드웨어에 제공된 가상 머신에 의해 수행된다.In steps 270 and 280 a security check is performed in the security manager software described above executed by STB 40. In addition, execution of the identified Xlets is performed by a virtual machine provided to the computing hardware of STB 40.

바람직하게, 각각의 STB(40)는 영구 메모리에서 모든 검출된 Xlet들을 저장하도록 동작한다. Xlet들의 저장은 각각의 STB(40)내에서 연속 실행 배경 활동이다. STB(40)가 영구 메모리의 능력을 실행하는 것을 방지하기 위하여, 각각의 SBT(40)는 메모리의 저널 형태로 내부 Xlet 기록을 유지하기 위하여 배열되고; 각 각의 STB(40)는 가장 적게 사용된 Xlet들 및 비실행 Xlet들을 결정하기 위하여 Xlet 기록을 사용하고 메모리 공간을 비어두기 위하여 영구 저장소에서 상기 기록을 삭제하여, 메모리 실행을 방지한다. 따라서, 예를 들어, 연관된 STB(40)의 영구 메모리에 아직 저장되지 않은 사용자(60)에 의해 선택된 Xlet는 바람직하게 STB(40)의 영구 메모리에 미리 저장된 최소 사용 Xlet를 대체할 것이다.Preferably, each STB 40 operates to store all detected Xlets in permanent memory. The storage of Xlets is a continuous execution background activity within each STB 40. In order to prevent the STB 40 from executing the capability of permanent memory, each SBT 40 is arranged to maintain an internal Xlet record in the form of a journal of memory; Each STB 40 uses an Xlet record to determine the least used Xlets and non-executing Xlets and deletes the record from the persistent store to free memory space, thus preventing memory execution. Thus, for example, an Xlet selected by the user 60 not yet stored in the permanent memory of the associated STB 40 will preferably replace the least used Xlet previously stored in the permanent memory of the STB 40.

각각의 STB(40)는 모듈들을 다운로딩하기 위한 디지털 저장 매체 명령 및 제어(DSN-CC)를 사용하고, 각각의 모듈은 하나 이상의 등급들 및 파일들을 포함한다. 모듈 버젼들은 DTV의 환경에서 알려진 다운로드 정보 식별부(DⅡ)에서 바람직하게 식별된다. 바람직하게, 상기 DⅡ 정보는 STB(40)의 영구 메모리에서 대응하는 Xlet들과 함께 바람직하게 저장된다. 따라서, 사용자(60)가 실행될 Xlet를 요청할때, DSM-CC는 Xlet가 미리 저장되는지의 여부 및 확인되는지의 여부를 결정하기 위하여 검사하고; 만약 Xlet가 확인되는 것을 발견되지 않으면, Xlet는 제공자(20)로부터 다운로드되고 확인되고 상기된 바와 같이 실행된다.Each STB 40 uses a digital storage medium command and control (DSN-CC) for downloading modules, each module including one or more classes and files. The module versions are preferably identified in a download information identifier (DII) known in the environment of the DTV. Preferably, the DII information is preferably stored with corresponding Xlets in the permanent memory of the STB 40. Thus, when the user 60 requests an Xlet to be executed, the DSM-CC checks to determine whether the Xlet is stored in advance and whether it is checked; If no Xlet is found to be verified, the Xlet is downloaded from the provider 20 and confirmed and executed as described above.

따라서, 각각의 STB(40)는 만약 저장된 Xlet들이 이전에 실행되지 않으면 또는 업데이트 동안 실행되면 상기된 보안 관리자를 호출하기 위하여 동작하는 등급 로더 소프트웨어를 포함한다.Thus, each STB 40 includes rating loader software that operates to invoke the security manager described above if the stored Xlets were not previously executed or during an update.

상기된 본 발명의 실시예들이 본 발명의 범위로부터 벗어나지 않고 변형될 수 있다는 것이 인식될 것이다.It will be appreciated that embodiments of the invention described above may be modified without departing from the scope of the invention.

예를 들어, 상기된 본 발명의 방법이 STB를 포함하는 DTV 시스템들에 사용되더라도, 상기 방법은 STB(40) 및 그 모니터들(50)이 휴대용 이동 전화들에 의해, 예를 들어, 2차원 그래픽 메시지들을 디스플레이하기에 적당한 액정 디스플레이를 포함하는 이동 전화에 의해 대체되는 이동 전화 네트워크들에 응용할 수 있다.For example, although the method of the present invention described above is used in DTV systems that include an STB, the method is characterized in that the STB 40 and its monitors 50 are provided by portable mobile phones, for example, in two dimensions. It is applicable to mobile telephone networks replaced by a mobile telephone that includes a liquid crystal display suitable for displaying graphical messages.

STB(40) 및 그와 연관된 모니터들(50)이 대응하는 하우징에서 공간적으로 동일한 위치에 배치되고 2개의 상호 분리 가능한 아이템들로 제한되지 않는 것이 인식될 것이다.It will be appreciated that the STB 40 and its associated monitors 50 are located in the same location in the corresponding housing and are not limited to two mutually separable items.

상기에서, 표현들 포함하다, 갖는다는 비배타적으로 구성되고, 상기 표현들이 제공된 다른 부품들 또는 아이템들을 배제하지 않는다. 게다가, 단수에 대한 참조가 다수를 포함하는 것으로 구성될 것이다.In the above, the expressions, including, have a non-exclusive construction, and do not exclude other parts or items provided with the expressions. In addition, references to singular will consist of including the plural.

Claims (34)

적어도 하나의 통신 링크(30)를 통하여 내부에 연관된 계산 수단을 포함하는 적어도 하나의 대응하는 사용자 인터페이스(40, 50)에 결합된 방송 제공자(20)를 포함하는 방송 시스템(10)에서 하나 이상의 소프트웨어 애플리케이션들을 실행하는 방법에 있어서,One or more software in the broadcast system 10 comprising a broadcast provider 20 coupled to at least one corresponding user interface 40, 50 including computation means associated therein via at least one communication link 30. In the method of running the application, (a) 적어도 하나의 선택된 소프트웨어 애플리케이션을 실행하기 위하여 상기 적어도 하나의 사용자 인터페이스(40, 50)와 연관된 적어도 하나의 사용자(60)로부터 하나 이상의 요청들을 수신하는 단계;(a) receiving one or more requests from at least one user (60) associated with the at least one user interface (40, 50) to execute at least one selected software application; (b) 상기 적어도 하나의 선택된 소프트웨어 애플리케이션이 메모리 내부에 잔류하는 지의 여부를 결정하기 위하여 상기 적어도 하나의 사용자 인터페이스(40, 50)와 연관된 메모리를 검사하는 단계;(b) examining the memory associated with the at least one user interface (40, 50) to determine whether the at least one selected software application remains inside the memory; (c) 상기 적어도 하나의 소프트웨어 애플리케이션이 상기 메모리에 미리 저장되고 확인된 것으로 발견될 때, 상기 메모리로부터 상기 적어도 하나의 선택된 소프트웨어 애플리케이션을 상기 적어도 하나의 사용자 인터페이스(40, 50)와 연관된 상기 계산 수단에 로딩하고, 그 후, 상기 계산 수단에서 상기 소프트웨어 애플리케이션을 실행하는 단계; 및(c) the computing means associated with the at least one user interface 40, 50 when the at least one software application is found to have been previously stored and identified in the memory. Loading in, and then executing the software application in the calculating means; And (d) 상기 적어도 하나의 애플리케이션이 상기 메모리에 미리 저장되지 않은 것으로 발견될 때, 상기 방송 제공자(20)로부터 상기 적어도 하나의 선택된 소프트웨어 애플리케이션을 수신하고, 상기 적어도 하나의 애플리케이션을 상기 계산 수 단에 로딩하고, 상기 계산 수단에서 적어도 하나의 애플리케이션을 확인하고 그 후, 후속으로 상기 계산 수단에서 확인될 때 상기 적어도 하나의 애플리케이션을 실행하는 단계를 포함하는, 소프트웨어 애플리케이션 실행 방법.(d) when it is found that the at least one application has not been previously stored in the memory, the at least one selected software application is received from the broadcast provider 20 and the at least one application Loading, identifying at least one application in said calculating means and thereafter executing said at least one application when subsequently confirmed in said calculating means. 제 1 항에 있어서, 단계(d)에서, 상기 적어도 하나의 소프트웨어 애플리케이션이 확인되면, 후속적인 잠재적 재사용을 위하여 메모리에 저장되는, 소프트웨어 애플리케이션 실행 방법.The method of claim 1, wherein in step (d), the at least one software application is identified and stored in memory for subsequent potential reuse. 제 2 항에 있어서, 각각의 사용자 인터페이스(40, 50)에는, 덜 빈번하게 사용자 요청된 소프트웨어 애플리케이션들을 보다 최근에 사용자 요청된 소프트웨어 애플리케이션들로 오버라이트(overwrite)하도록 동작 가능한 메모리 관리 수단이 제공되고, 이에 따라 적어도 하나의 빈번하게 사용자 요청된 소프트웨어 애플리케이션에 대해 메모리 용량의 재사용을 허용하는, 소프트웨어 애플리케이션 실행 방법.3. The user interface (40, 50) of claim 2, wherein each user interface (40, 50) is provided with memory management means operable to overwrite less frequently user requested software applications to more recently user requested software applications. And thus allowing reuse of memory capacity for at least one frequently requested user software application. 제 1 항에 있어서, 단계(b)에서, 상기 메모리에 저장된 적어도 하나의 확인된 소프트웨어 애플리케이션은 유사성을 검사하기 위하여 상기 방송 제공자로부터 방송되는 적어도 하나의 대응하는 소프트웨어 애플리케이션과 비교되어, The method of claim 1, wherein in step (b), at least one identified software application stored in the memory is compared with at least one corresponding software application broadcast from the broadcast provider to check for similarity, (a) 상기 메모리에 저장된 상기 적어도 하나의 확인된 애플리케이션은 상기 적어도 하나의 저장된 확인 애플리케이션과 적어도 하나의 방송 애플리케이션 사이 의 대응이 식별될 때 계산 수단에서 실행되고; 및(a) said at least one identified application stored in said memory is executed in calculating means when a correspondence between said at least one stored confirming application and at least one broadcast application is identified; And (b) 상기 적어도 하나의 방송 애플리케이션은 확인을 위하여 검사되고, 상기 계산 수단에서 성공적으로 확인되고 후속하여 실행될 때 상기 메모리에 저장되고, 이에 따라(b) the at least one broadcast application is checked for verification and stored in the memory when successfully verified and subsequently executed in the calculating means, and accordingly 상기 방법은 보다 새로운 대응하는 적어도 하나의 애플리케이션이 상기 방송 제공자(20)로부터 방송될 때 상기 메모리에 저장된 상기 적어도 하나의 애플리케이션을 업데이트하도록 동작 가능한, 소프트웨어 애플리케이션 실행 방법.The method is operable to update the at least one application stored in the memory when a newer corresponding at least one application is broadcast from the broadcast provider (20). 제 1 항에 있어서, 상기 적어도 하나의 사용자 인터페이스(40, 50) 및 대응하는 적어도 하나의 통신 링크(30)는 상기 적어도 하나의 사용자 인터페이스(40, 50)에 요청된 선택된 애플리케이션을 방송하기 위하여 응답하는 방송 제공자(20)에 상기 선택된 소프트웨어 애플리케이션에 대한 하나 이상의 사용자 요청들을 전달하도록 동작 가능한, 소프트웨어 애플리케이션 실행 방법.The method of claim 1, wherein the at least one user interface 40, 50 and the corresponding at least one communication link 30 respond to broadcast the selected application requested to the at least one user interface 40, 50. Operable to communicate one or more user requests for the selected software application to a broadcast provider. 제 1 항에 있어서, 상기 방송 제공자는 상기 적어도 하나의 사용자 인터페이스에서 연관된 메모리에 선택적인 로딩을 위한 반복적 시간적 방식으로 상기 적어도 하나의 통신 링크를 통하여 하나 이상의 소프트웨어 애플리케이션들을 방송하도록 동작 가능한, 소프트웨어 애플리케이션 실행 방법.The software application execution of claim 1, wherein the broadcast provider is operable to broadcast one or more software applications over the at least one communication link in an iterative temporal manner for selective loading into an associated memory in the at least one user interface. Way. 제 6 항에 있어서, 상기 방송 제공자는 의사 연속적 방식으로 상기 하나 이 상의 소프트웨어 애플리케이션들을 방송하도록 동작 가능한, 소프트웨어 애플리케이션 실행 방법.7. The method of claim 6, wherein the broadcast provider is operable to broadcast the one or more software applications in a pseudo continuous manner. 제 1 항에 있어서, 상기 방송 시스템은 디지털 텔레비젼 방송 시스템이고, 상기 적어도 하나의 사용자 인터페이스는 연관된 디스플레이 수단(50)에 결합된 적어도 하나의 셋톱 박스(40)에 대응하고, 상기 적어도 하나의 통신 링크(30)는 무선 링크들, 광섬유 링크들 및 도전성 유선 통신 링크들 중 적어도 하나에 의해 구현되는, 소프트웨어 애플리케이션 실행 방법.The system of claim 1, wherein the broadcast system is a digital television broadcast system, and the at least one user interface corresponds to at least one set top box 40 coupled to an associated display means 50, and the at least one communication link. 30 is implemented by at least one of wireless links, fiber optic links, and conductive wired communication links. 제 8 항에 있어서, 상기 디스플레이 수단(50)은 음극선관, 화소 플라즈마 디스플레이(pixel plasma display), 화소 배경 조명 액정 디스플레이(pixel back-lit liquid crystal display) 및 화소 투영 액정 디스플레이(pixel projection liquid crystal display) 중 적어도 하나를 포함하는, 소프트웨어 애플리케이션 실행 방법.9. The display device of claim 8, wherein the display means 50 comprises a cathode ray tube, a pixel plasma display, a pixel back-lit liquid crystal display and a pixel projection liquid crystal display. And at least one of the following. 제 1 항에 있어서, 상기 적어도 하나의 선택된 소프트웨어 애플리케이션은 상기 적어도 하나의 사용자 인터페이스에서 상기 적어도 하나의 사용자에게 제공된 적어도 하나의 그래픽 표현 심볼을 사용함으로써 선택되는, 소프트웨어 애플리케이션 실행 방법.The method of claim 1, wherein the at least one selected software application is selected by using at least one graphical representation symbol provided to the at least one user in the at least one user interface. 제 10 항에 있어서, 상기 적어도 하나의 그래픽 심볼은 적어도 하나의 그래픽 아이콘으로서 구현되는, 소프트웨어 애플리케이션 실행 방법.The method of claim 10, wherein the at least one graphic symbol is implemented as at least one graphic icon. 제 1 항에 있어서, 상기 적어도 하나의 사용자 인터페이스는 대응하는 그래픽 디스플레이가 제공된 적어도 하나의 이동 전화로서 구현되는, 소프트웨어 애플리케이션 실행 방법.The method of claim 1, wherein the at least one user interface is implemented as at least one mobile phone provided with a corresponding graphical display. 제 1 항에 있어서, 상기 메모리는 에너지 공급이 중단될 때 그 내부에 데이터를 유지하기 위하여 동작 가능한 영구 메모리로서 구현되는, 소프트웨어 애플리케이션 실행 방법.The method of claim 1, wherein the memory is implemented as permanent memory operable to retain data therein when energy supply is interrupted. 제 13 항에 있어서, 상기 메모리는 고체 상태 플래시 메모리, 자기 디스크 메모리중 적어도 하나를 사용하는 비휘발성 메모리로서 구현되는, 소프트웨어 애플리케이션 실행 방법.The method of claim 13, wherein the memory is implemented as a nonvolatile memory using at least one of a solid state flash memory and a magnetic disk memory. 제 1 항에 있어서, 상기 적어도 하나의 소프트웨어 애플리케이션은 하나 이상의 자바 Xlet들로서 구현되는, 소프트웨어 애플리케이션 실행 방법.The method of claim 1, wherein the at least one software application is implemented as one or more Java Xlets. 제 1 항에 있어서, 단계(d)에서, 확인은 소프트웨어 구현된 보안 관리자에 의해 수행되고 확인된 소프트웨어 애플리케이션들은 상기 계산 수단들에 제공된 소 프트웨어 구현된 가상 머신 상에서 실행되는, 소프트웨어 애플리케이션 실행 방법.The method according to claim 1, wherein in step (d) the verification is performed by a software implemented security manager and the verified software applications are executed on a software implemented virtual machine provided to the computing means. 제 1 항에 있어서, 상기 적어도 하나의 소프트웨어 애플리케이션을 다운로딩하고, 확인하고, 확인된 상기 적어도 하나의 소프트웨어 애플리케이션을 상기 메모리에 저장하는 것은 상기 계산 수단에서 연속적인 동시 배경 활동으로서 수행되는, 소프트웨어 애플리케이션 실행 방법.The software application of claim 1, wherein downloading, verifying, and storing the identified at least one software application in the memory is performed as continuous concurrent background activity in the computing means. How to run. 하나 이상의 소프트웨어 애플리케이션들을 실행하기 위한 방송 시스템(10)에 있어서,In the broadcast system 10 for executing one or more software applications, 상기 시스템(10)은 적어도 하나의 통신 링크(30)를 통하여 적어도 하나의 대응하는 사용자 인터페이스(40, 50)에 결합된 방송 제공자(20)를 포함하고, 각각의 사용자 인터페이스(40, 50)는,The system 10 includes a broadcast provider 20 coupled to at least one corresponding user interface 40, 50 via at least one communication link 30, each user interface 40, 50 having a corresponding interface. , (a) 적어도 하나의 선택된 소프트웨어 애플리케이션을 실행하기 위하여 상기 사용자 인터페이스(40, 50)와 연관된 적어도 하나의 사용자(60)로부터 하나 이상의 요청들을 수신하기 위한 인터페이싱 수단;(a) interfacing means for receiving one or more requests from at least one user (60) associated with the user interface (40, 50) to execute at least one selected software application; (b) 적어도 하나의 소프트웨어 애플리케이션을 저장하기 위한 메모리;(b) a memory for storing at least one software application; (c) 상기 적어도 하나의 선택된 소프트웨어 애플리케이션이 이미 확인되고 상기 메모리에 저장되었는 지의 여부를 결정하고, 상기 하나 이상의 소프트웨어 애플리케이션들이 상기 메모리에 이미 저장되지 않은 경우 상기 방송 제공자로부터 수신된 하나 이상의 소프트웨어 애플리케이션들을 확인하고, 상기 하나 이상의 사 용자 요청들에 응답하여 하나 이상의 확인된 소프트웨어 애플리케이션들을 실행하기 위한 계산 수단을 포함하여, 상기 메모리에 저장된 상기 하나 이상의 확인된 소프트웨어 애플리케이션들은 상기 적어도 하나의 사용자로부터 상기 하나 이상의 요청들에 대한 보다 빠른 시간적 응답을 상기 적어도 하나의 사용자에게 제공하기 위하여 상기 방송 제공자로부터 수신할 수 있는 대응하는 하나 이상의 소프트웨어 애플리케이션들 확인하도록 우선하여 실행되는, 방송 시스템.(c) determine whether the at least one selected software application has already been identified and stored in the memory, and if the one or more software applications are not already stored in the memory, the one or more software applications received from the broadcast provider. And one or more identified software applications stored in the memory, including computing means for verifying and executing one or more identified software applications in response to the one or more user requests. Confirm corresponding one or more software applications that can be received from the broadcast provider to provide the at least one user with a faster temporal response to requests. Broadcast system, which is executed preferentially. 제 18 항에 있어서,The method of claim 18, 상기 계산 수단은 확인될 때 후속적인 잠재적 재사용을 위하여 상기 메모리에 상기 적어도 하나의 소프트웨어 애플리케이션을 저장하도록 동작 가능한, 방송 시스템.Said computing means being operable to store said at least one software application in said memory for subsequent potential reuse when identified. 제 19 항에 있어서, The method of claim 19, 각각의 사용자 인터페이스는 덜 빈번하게 요청되는 소프트웨어 애플리케이션들을 더 최근에 요청된 소프트웨어 애플리케이션들로 오버라이트하도록 동작 가능한 메모리 관리 수단이 제공되어, 적어도 하나의 더 빈번하게 사용되는 사용자-요청된 소프트웨어 애플리케이션을 위하여 메모리 용량의 재활용을 허용하는, 방송 시스템.Each user interface is provided with memory management means operable to overwrite less frequently requested software applications with more recently requested software applications, for at least one more frequently used user-requested software application. A broadcast system that allows recycling of memory capacity. 제 18 항에 있어서, 상기 계산 수단은 유사성을 검사하기 위하여 메모리에 저장된 적어도 하나의 확인된 소프트웨어 애플리케이션을 상기 방송 제공자로부터 방송된 적어도 하나의 대응하는 소프트웨어 애플리케이션과 비교되어, 19. The apparatus according to claim 18, wherein said calculating means compares at least one identified software application stored in a memory with at least one corresponding software application broadcast from said broadcast provider to check for similarity, (a) 상기 메모리에 저장된 상기 적어도 하나의 확인된 애플리케이션은 상기 적어도 하나의 저장된 애플리케이션 및 적어도 하나의 방송 애플리케이션 사이의 대응이 식별될 때 계산 수단에서 실행되고,(a) said at least one identified application stored in said memory is executed in calculation means when a correspondence between said at least one stored application and at least one broadcast application is identified, (b) 상기 적어도 하나의 방송 애플리케이션은 확인을 위하여 검사되고, 상기 계산 수단에서 확인되고 후속적으로 실행될 때 상기 메모리에 저장되고, 이에 따라(b) said at least one broadcast application is checked for confirmation and stored in said memory when confirmed in said calculating means and subsequently executed, and accordingly 상기 계산 수단은 보다 새로운 대응하는 적어도 하나의 애플리케이션이 상기 방송 제공자로부터 방송될 때 상기 메모리에 저장된 상기 적어도 하나의 애플리케이션을 업데이트하도록 동작 가능한, 방송 시스템.The computing means is operable to update the at least one application stored in the memory when a newer corresponding at least one application is broadcast from the broadcast provider. 제 18 항에 있어서, 상기 적어도 하나의 사용자 인터페이스 및 대응하는 적어도 하나의 통신 링크는 상기 적어도 하나의 사용자 인터페이스에 상기 요청된 선택된 애플리케이션을 방송하기 위하여 응답하는 상기 방송 제공자에 상기 선택된 소프트웨어 애플리케이션에 대한 하나 이상의 사용자 요청들을 전달하도록 동작 가능한, 방송 시스템.19. The method of claim 18, wherein the at least one user interface and the corresponding at least one communication link is one for the selected software application to the broadcast provider responsive to broadcast the requested selected application to the at least one user interface. And operable to convey the above user requests. 제 18 항에 있어서, 상기 방송 제공자는 상기 적어도 하나의 사용자 인터페이스에서 선택적인 로딩을 위한 반복적 시간적 방식으로 상기 적어도 하나의 통신 링크를 통하여 하나 이상의 소프트웨어 애플리케이션들을 방송하도록 동작 가능한, 방송 시스템.19. The broadcast system of claim 18, wherein the broadcast provider is operable to broadcast one or more software applications over the at least one communication link in an iterative temporal manner for selective loading in the at least one user interface. 제 23 항에 있어서, 상기 방송 제공자는 의사 연속적 방식으로 상기 하나 이상의 소프트웨어 애플리케이션들을 방송하도록 동작 가능한, 방송 시스템.24. The broadcast system of claim 23 wherein the broadcast provider is operable to broadcast the one or more software applications in a pseudo continuous manner. 제 18 항에 있어서, 상기 방송 시스템은 디지털 텔레비젼 방송 시스템이고, 상기 적어도 하나의 사용자 인터페이스는 연관된 디스플레이 수단에 결합된 적어도 하나의 셋톱 박스에 대응하고, 상기 적어도 하나의 통신 링크는 무선 링크들, 광섬유 링크들 및 도전성 유선 통신 링크들 중 적어도 하나에 의해 구현되는, 방송 시스템.19. The system of claim 18, wherein the broadcast system is a digital television broadcast system, the at least one user interface corresponding to at least one set top box coupled to an associated display means, the at least one communication link being a wireless link, an optical fiber A broadcast system implemented by at least one of the links and the conductive wired communication links. 제 25 항에 있어서, 상기 디스플레이 수단은 음극선관, 화소 플라즈마 디스플레이, 화소 배경 조명 액정 디스플레이 및 화소 투영 액정 디스플레이 중 적어도 하나를 포함하는, 방송 시스템. 26. The broadcasting system according to claim 25, wherein said display means comprises at least one of a cathode ray tube, a pixel plasma display, a pixel backlighting liquid crystal display and a pixel projection liquid crystal display. 제 18 항에 있어서, 상기 적어도 하나의 선택된 소프트웨어 애플리케이션은 상기 적어도 하나의 사용자 인터페이스에서 상기 적어도 하나의 사용자에게 제공된 적어도 하나의 그래픽 표현 심볼을 사용함으로써 선택 가능한, 방송 시스템.19. The broadcast system of claim 18, wherein the at least one selected software application is selectable by using at least one graphical representation symbol provided to the at least one user in the at least one user interface. 제 27 항에 있어서, 상기 적어도 하나의 그래픽 심볼은 적어도 하나의 그래 픽 아이콘으로서 구현되는, 방송 시스템.28. The broadcast system of claim 27 wherein the at least one graphic symbol is implemented as at least one graphic icon. 제 18 항에 있어서, 상기 적어도 하나의 사용자 인터페이스는 대응하는 그래픽 디스플레이가 제공된 적어도 하나의 이동 전화로서 구현되는, 방송 시스템.19. The broadcast system of claim 18 wherein the at least one user interface is implemented as at least one mobile telephone provided with a corresponding graphical display. 제 18 항에 있어서, 상기 메모리는 에너지 공급이 중단될 때 그 내부에 데이터를 유지하기 위하여 동작 가능한 영구 메모리로서 구현되는, 방송 시스템.19. The broadcast system of claim 18 wherein the memory is implemented as a permanent memory operable to retain data therein when energy supply is interrupted. 제 30 항에 있어서, 상기 메모리는 고체 상태 플래시 메모리, 자기 디스크 메모리중 적어도 하나를 사용하는 비휘발성 메모리로서 구현되는, 방송 시스템.32. The broadcast system of claim 30 wherein the memory is implemented as a nonvolatile memory using at least one of a solid state flash memory and a magnetic disk memory. 제 18 항에 있어서, 상기 적어도 하나의 소프트웨어 애플리케이션은 하나 이상의 자바 Xlet들로서 구현되는, 방송 시스템.19. The broadcast system of claim 18 wherein the at least one software application is implemented as one or more Java Xlets. 제 18 항에 있어서, 상기 계산 수단은 소프트웨어 구현된 보안 관리자에 의해 확인을 수행하고, 상기 계산 수단들에 제공된 소프트웨어 구현된 가상 머신에 의해 확인된 소프트웨어 애플리케이션들을 실행하도록 동작 가능한, 방송 시스템.19. The broadcasting system of claim 18, wherein the computing means is operable to perform verification by a software implemented security manager and to execute software applications identified by a software implemented virtual machine provided to the computing means. 제 18 항에 있어서, 연속적인 동시 배경 활동으로서 상기 적어도 하나의 확인된 소프트웨어 애플리케이션을 다운로딩하고, 확인하며, 상기 메모리에 저장하도 록 동작 가능한, 방송 시스템.19. The broadcast system of claim 18, operable to download, verify, and store in the memory the at least one identified software application as continuous concurrent background activity.
KR1020067000645A 2003-07-10 2004-07-02 Method of executing software applications KR20060029689A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03102092.8 2003-07-10
EP03102092 2003-07-10

Publications (1)

Publication Number Publication Date
KR20060029689A true KR20060029689A (en) 2006-04-06

Family

ID=34042931

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067000645A KR20060029689A (en) 2003-07-10 2004-07-02 Method of executing software applications

Country Status (5)

Country Link
EP (1) EP1646938A2 (en)
JP (1) JP2007528048A (en)
KR (1) KR20060029689A (en)
CN (1) CN1820251A (en)
WO (1) WO2005006180A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100858197B1 (en) * 2007-01-11 2008-09-10 한국문화콘텐츠진흥원 Apparatus for generating Java Application Program used in Digital Television Receiver

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2603621A1 (en) * 2005-04-08 2006-10-19 Biap Systems, Inc. Method and system for downloading applications into memory-constrained systems
KR100723913B1 (en) 2005-05-30 2007-05-31 주식회사 에어코드 Structured data broadcasting application, recording medium thereof, and operating method thereof
KR100709790B1 (en) 2005-07-05 2007-04-19 주식회사 알티캐스트 System and method for updating user interface of set top box
EP1763246A1 (en) * 2005-09-08 2007-03-14 Osmosys S.A. Method of access to applications transmitted within data streams of different television channels and device giving access to broadcasted applications
KR100768894B1 (en) 2006-12-19 2007-10-19 삼성전자주식회사 Display apparatus and broadcasting system
WO2011013303A1 (en) * 2009-07-30 2011-02-03 パナソニック株式会社 Received-data authentication method and digital broadcast receiver
CN102196229A (en) * 2010-03-05 2011-09-21 海尔集团公司 Function extension device and television with the same
CN104796763A (en) * 2015-04-01 2015-07-22 太仓苏易信息科技有限公司 Touch screen type external television set control software system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG92632A1 (en) * 1998-03-30 2002-11-19 Citicorp Dev Ct Inc Method and system for managing applications for a multi-function smartcard
CN1166176C (en) * 1999-08-05 2004-09-08 皇家菲利浦电子有限公司 Television system adapted to function as server for distributing broadcasted stand-alone application

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100858197B1 (en) * 2007-01-11 2008-09-10 한국문화콘텐츠진흥원 Apparatus for generating Java Application Program used in Digital Television Receiver

Also Published As

Publication number Publication date
CN1820251A (en) 2006-08-16
WO2005006180A2 (en) 2005-01-20
WO2005006180A3 (en) 2006-02-23
JP2007528048A (en) 2007-10-04
EP1646938A2 (en) 2006-04-19

Similar Documents

Publication Publication Date Title
CA2304144C (en) Downloading data
WO2012029565A1 (en) Receiver device, receiving method, program, and broadcasting system
US8850511B2 (en) Program replacing method
EP1067458A1 (en) Running and testing applications
JP2006528857A (en) How to handle feature availability in broadcasting
WO2006108351A1 (en) Method and apparatus for implementing software upgrade in the digital television receiving device
JP2015109657A (en) Receiver unit, receiving method, linkage application control system, and control method
JP6080229B2 (en) Application management device
AU2005232103A1 (en) Program execution device
KR20060029689A (en) Method of executing software applications
IL131937A (en) Extracting data sections from a transmitted data stream
US20090044281A1 (en) Java conditional access apparatus
AU2002321784B2 (en) Control of an interactive application in a data stream
JP2005531846A (en) Software download to receiver
JP2001519125A (en) Development of television or radio control system
US20070169108A1 (en) Method of executing software applications
US20080209453A1 (en) System and Method for Reducing the Start-up Time of Mhp Applications
JP5092608B2 (en) Receiver
KR20070093281A (en) Program updating method of set-top box
EP1224799A1 (en) Object and feature authorization for digital communication terminals
CN111050196A (en) Advertisement putting method, smart television and computer storage medium
CN113784219A (en) Terminal device upgrading method, terminal device, control system and storage medium
KR20000076403A (en) Television or radio system development
Reimers et al. The Multimedia Home Platform (MHP)

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid