KR20080026008A - Data broadcasting platform based on gem and its method for the interoperability guarantee of applications among data broadcasting - Google Patents

Data broadcasting platform based on gem and its method for the interoperability guarantee of applications among data broadcasting Download PDF

Info

Publication number
KR20080026008A
KR20080026008A KR1020060133982A KR20060133982A KR20080026008A KR 20080026008 A KR20080026008 A KR 20080026008A KR 1020060133982 A KR1020060133982 A KR 1020060133982A KR 20060133982 A KR20060133982 A KR 20060133982A KR 20080026008 A KR20080026008 A KR 20080026008A
Authority
KR
South Korea
Prior art keywords
application
service
data broadcasting
context
gem
Prior art date
Application number
KR1020060133982A
Other languages
Korean (ko)
Other versions
KR100837697B1 (en
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 KR20080026008A publication Critical patent/KR20080026008A/en
Application granted granted Critical
Publication of KR100837697B1 publication Critical patent/KR100837697B1/en

Links

Images

Classifications

    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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/2362Generation or processing of Service Information [SI]
    • 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/2365Multiplexing of several video streams
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A data broadcasting platform based on GEM for interoperability guarantee of an application among heterogeneous data broadcastings and a method thereof are provided to supply an application operation related module capable of being commonly applied even in the data broadcasting platform of different standards, thereby guaranteeing interweave among the different data broadcasting platforms and the interoperability. An application manager(21) manages a lifecycle of a corresponding application(215,216) at every service. The application manager configures a service context(210) for providing corresponding service environment at every service, and configures and manages an application context(213,214) at every application corresponding to one service(211). Application information is integrally managed through an application list(212), and a loader(22) loads applications downloaded in middleware according to a request of the application manager.

Description

이종 데이터방송 간의 어플리케이션의 상호 운용성을 보장하기 위한 GEM 기반의 데이터방송 플랫폼 및 그 방법{Data Broadcasting Platform based on GEM and its Method for the Interoperability Guarantee of Applications among Data Broadcasting}Data Broadcasting Platform based on GEM and its Method for the Interoperability Guarantee of Applications among Data Broadcasting}

도 1은 본 발명에 적용되는 어플리케이션 라이프사이클의 주요 인자들 간의 상호 관계에 대한 설명도,1 is an explanatory diagram of the interrelationship between the main factors of the application lifecycle applied to the present invention,

도 2는 본 발명에 따른 이종 데이터방송 간의 어플리케이션의 상호 운용성을 보장하기 위한 GEM 기반의 데이터방송 플랫폼의 일실시예 구성도,2 is a configuration diagram of an embodiment of a GEM-based data broadcasting platform for ensuring interoperability of applications between heterogeneous data broadcasting according to the present invention;

도 3a 및 도 3b는 본 발명에 따른 어플리케이션의 시작 및 종료 프로세스에 대한 일실시예 흐름도,3a and 3b are flow diagrams of an embodiment of a process for starting and terminating an application in accordance with the present invention;

도 4는 본 발명에 따른 AIT 필터링 프로세스에 대한 일실시예 흐름도,4 is a flow diagram of an embodiment of an AIT filtering process in accordance with the present invention;

도 5는 본 발명에 따른 데이터방송 플랫폼에서 새로운 서비스에 대한 어플리케이션을 다운로드 받아 관리하는 방법에 대한 일실시예 흐름도이다.5 is a flowchart illustrating a method for downloading and managing an application for a new service in a data broadcasting platform according to the present invention.

* 도면의 주요 부분에 대한 부호 설명* Explanation of symbols on the main parts of the drawing

21: 어플리케이션 매니저 21: 클래스 로더21: Application Manager 21: Class Loader

210: 서비스 컨텍스트 211: 서비스210: service context 211: service

212: 어플리케이션 리스트 213, 214: 어플리케이션 컨텍스트212: application list 213, 214: application context

215, 216: 어플리케이션215, 216: application

본 발명은 이종 데이터방송 간의 어플리케이션의 상호 운용성을 보장하기 위한 GEM 기반의 데이터방송 플랫폼 및 그 방법에 관한 것으로, 더욱 상세하게는 서로 다른 표준 규격의 데이터방송 플랫폼에서 공통적으로 적용될 수 있는 GEM(Globally Executable MHP) 기반의 어플리케이션 라이프사이클의 프레임워크와 그 프레임 워크 내에서의 어플리케이션의 관리 방법을 제공함으로써, 이종 데이터방송 플랫폼 간의 어플리케이션의 상호운용성을 보장할 수 있게 하는, 이종 데이터방송 간의 어플리케이션의 상호 운용성을 보장하기 위한 GEM 기반의 데이터방송 플랫폼 및 그 방법에 관한 것이다.The present invention relates to a GEM-based data broadcasting platform and method for ensuring interoperability of applications between heterogeneous data broadcasting, and more particularly, to the GMB (Globally Executable that can be commonly applied in different standard data broadcasting platform) Interoperability of applications between heterogeneous data broadcasts by providing an MHP-based application lifecycle framework and a method of managing applications within the frameworks, thereby ensuring interoperability of applications among heterogeneous data broadcast platforms. The present invention relates to a GEM-based data broadcasting platform and a method thereof.

'데이터방송'은 텍스트, 정지화, 그래픽, 문서, 소프트웨어 등의 멀티미디어 데이터를 방송매체를 이용하여 전송하고, 전용 셋탑박스 혹은 해당 처리기능을 보유한 컴퓨터(PC)를 통하여 시청자가 그 정보를 이용하게 하는 서비스이다.'Data broadcasting' transmits multimedia data such as text, still images, graphics, documents, and software using a broadcasting medium, and allows viewers to use the information through a dedicated set-top box or a computer (PC) with processing functions. It is a service.

이는 방송과 통신의 융합이라는 시대적 흐름에 가장 잘 부합되는 서비스로서, 사용자와의 상호작용과 방송정보의 개인화를 가능하게 하는 것으로, 지금까지 체험해 오던 방송 서비스의 속성을 획기적으로 바꾸게 할 새로운 서비스이다.It is a service that best fits the trend of the times of convergence of broadcasting and communication, and enables the interaction of users and personalization of broadcasting information, and is a new service that will drastically change the attributes of broadcasting services that have been experienced so far. .

현재 국내의 방송플랫폼에 따른 데이터방송 표준의 채택 상황을 살펴보면, 위성방송의 경우는 MHP(Multimedia Home Platform), 지상파 방송은 ACAP(Advanced Common Application Platform), 그리고 케이블 방송은 OCAP(Open Cable Application Platform)을 각각 수용하고 있다. Looking at the current adoption of data broadcasting standards according to domestic broadcasting platforms, satellite broadcasting is based on MHP (Multimedia Home Platform), terrestrial broadcasting is ACAP (Advanced Common Application Platform), and cable broadcasting is OCAP (Open Cable Application Platform). Each is housed.

하지만, 상기와 같이 서로 다른 데이터방송 표준 채택은 각 방송플랫폼 간의 상호 조화를 지향하고 있는 현재 상황에서 다양한 문제점들을 야기하고 있다. 특히, 지상파 및 케이블 방송에서 각 데이터방송 규격 간의 상호 운용성(Interoperability)에 대한 문제(즉, 각 방송플랫폼 간의 어플리케이션 상호 운용성 문제)를 놓고 많은 논란이 있으며, 그 밖에도 이슈(issue)화되고 있는 논란들에는 지상파 방송의 재전송에 따른 재변조(8VSB-QAM) 방식에 대한 논란이라든지, 혹은 보편적 무료서비스의 유료방송으로의 적용문제 등이 있다.However, the adoption of different data broadcasting standards as described above causes various problems in the present situation, which is aimed at mutual harmony between each broadcasting platform. In particular, there are many controversies regarding interoperability between data broadcasting standards (that is, application interoperability between broadcasting platforms) in terrestrial and cable broadcasting, and other issues that are being raised. There is a controversy over the re-modulation (8VSB-QAM) method according to the retransmission of terrestrial broadcasting, or the application of universal free service to pay broadcasting.

본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, 서로 다른 표준 규격의 데이터방송 플랫폼에서 공통적으로 적용될 수 있는 GEM(Globally Executable MHP) 기반의 어플리케이션 라이프사이클의 프레임워크와 그 프레임 워크 내에서의 어플리케이션의 관리 방법을 제공함으로써, 이종 데이터방송 플랫폼 간의 어플리케이션의 상호운용성을 보장할 수 있게 하는, 이종 데이터방송 간의 어플리케이션의 상호 운용성을 보장하기 위한 GEM 기반의 데이터방송 플랫폼 및 그 방법을 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems, and is a framework of an application lifecycle based on Globally Executable MHP (VEM) that can be commonly applied to data broadcasting platforms of different standards and applications within the framework. The purpose of the present invention is to provide a GEM-based data broadcasting platform and method for ensuring interoperability of applications between heterogeneous data broadcasting, by providing a management method to ensure interoperability of applications among heterogeneous data broadcasting platforms. .

본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. It will also be appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.

상기 목적을 달성하기 위한 본 발명은, 이종 데이터방송 간의 어플리케이션의 상호 운용성을 보장하기 위한 데이터방송 플랫폼에 있어서, 서비스마다 해당 어플리케이션의 라이프사이클을 관리하되, 서비스마다 해당 서비스환경을 제공하는 서비스 컨텍스트를 구성하고 하나의 서비스에 해당하는 어플리케이션마다 어플리케이션 컨텍스트를 구성하여 관리하며 어플리케이션 정보는 어플리케이션 리스트를 통하여 통합 관리하는 어플리케이션 관리 수단; 및 미들웨어에서 다운로드받은 어플리케이션을, 상기 어플리케이션 관리 수단의 요구에 따라 로딩하기 위한 로딩 수단을 포함한다.The present invention for achieving the above object, in the data broadcasting platform for ensuring the interoperability of applications between heterogeneous data broadcasting, the service context for managing the life cycle of the application for each service, providing the service environment for each service Application management means for configuring and configuring an application context for each application corresponding to one service, and managing application information through an application list; And loading means for loading the application downloaded from the middleware according to the request of the application management means.

한편, 본 발명은, 이종 데이터방송 플랫폼 간 어플리케이션의 상호 운용성을 보장하기 위한 GEM 기반 어플리케이션 관리 방법에 있어서, 사용자로부터 서비스 컨텍스트를 통하여 서비스 선택을 받는 서비스 선택 단계; 어플리케이션 리스트에서 상기 선택된 서비스와 관련된 어플리케이션 식별정보를 획득하는 식별정보 획득 단계; 및 해당 어플리케이션 컨텍스트를 통하여 상기 어플리케이션 식별정보에 해당하는 어플리케이션을 로딩받는 어플리케이션 로딩 단계를 포함한다.On the other hand, the present invention, the GEM-based application management method for ensuring the interoperability of applications between heterogeneous data broadcasting platform, the service selection step of receiving a service selection from the user through the service context; Identification information obtaining step of obtaining application identification information related to the selected service from an application list; And an application loading step of loading an application corresponding to the application identification information through a corresponding application context.

한편, 본 발명은, 이종 데이터방송 플랫폼 간 어플리케이션의 상호 운용성을 보장하기 위한 GEM 기반 어플리케이션 관리 방법에 있어서, 사용자로부터 서비스 컨텍스트를 통하여 새로운 서비스를 선택받는 서비스 선택 단계; 상기 선택된 서비스에 대한 해당 어플리케이션을 다운받을 수 있도록 어플리케이션 정보 테이블(AIT)을 획득하는 AIT 필터링 단계; 현재 실행되고 있는 서비스(이전 서비스)의 바운드 조건 및 서비스 변경여부에 따라 상기 이전 서비스의 어플리케이션을 종료 또는 유지하는 이전 어플리케이션 관리 단계; 상기 획득된 어플리케이션 정보 테이블(AIT)에 따라 상기 선택된 서비스와 관련된 새로운 어플리케이션에 대한 환경을 설정하는 단계; 및 미들웨어에서 다운로드되어 로딩된 새로운 어플리케이션을 통제코드에 따라 관리하는 새로운 어플리케이션 관리 단계를 포함한다.On the other hand, the present invention, the GEM-based application management method for ensuring interoperability of applications between heterogeneous data broadcasting platform, the service selection step of receiving a new service from the user through the service context; An AIT filtering step of acquiring an application information table (AIT) to download the corresponding application for the selected service; A previous application management step of terminating or maintaining an application of the previous service according to a bound condition of a currently running service (previous service) and service change; Setting an environment for a new application associated with the selected service according to the obtained application information table (AIT); And a new application management step of managing a new application downloaded and loaded from the middleware according to the control code.

본 발명은 서로 다른 데이터방송 플랫폼 간의 조화를 고려하고 있는 상황에서 데이터방송 어플리케이션에 관련된 주요 인자들, 즉, 어플리케이션(Application)과 어플리케이션 컨텍스트(Application Context), 및 어플리케이션 매니저(Application Manager)에 대한 요구사항을 바탕으로 각 인자들 간의 상호 관계를 정립하고, 해당 어플리케이션의 관리 및 운영을 담당하는 데이터방송 미들웨어의 구성 모듈인 어플리케이션 라이프사이클(Application Lifecycle) 부분의 프레임워크와 프로세스를 각 방송 플랫폼에 공통으로 적용될 수 있도록 제시함으로써, 데이터방송 플랫폼 간 어플리케이션의 상호 운용성(Interoperability)을 어플리케이션의 관리 관점에서 보장한다.According to the present invention, in consideration of the harmony between different data broadcasting platforms, the main factors related to data broadcasting applications, that is, requirements for the application (Application) and application context (Application context) and application manager (Application Manager) Based on this, the frameworks and processes of the application lifecycle part of the data broadcasting middleware, which is responsible for managing and operating the application, are commonly applied to each broadcasting platform. By making it possible, the interoperability of applications between data broadcasting platforms is guaranteed from the perspective of application management.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, whereby those skilled in the art may easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 적용되는 어플리케이션 라이프사이클의 주요 인자들 간의 상호 관계에 대한 설명도이다. 즉, 방송 수신기의 데이터방송 플랫폼 상에서의 어플리케이션 라이프사이클의 주요 인자들 간의 관계를 나타낸다.1 is an explanatory diagram of the interrelationship between the main factors of the application lifecycle applied to the present invention. That is, the relationship between the main factors of the application life cycle on the data receiver platform of the broadcast receiver.

도 1에 도시된 바와 같이, 어플리케이션 관리부인 어플리케이션 매니저(Application Manager)(11), 어플리케이션(Application)(12), 그리고 어플리케이션 컨텍스트(Application Context)(13, 14)를 어플리케이션 라이프사이클(Application Lifecycle)의 주요 인자라고 할 수 있는데, 이러한 인자들 간의 관계는 다음과 같이 두 가지 측면으로 나누어 볼 수 있다.As shown in FIG. 1, an application manager 11, an application manager 11, an application 12, and application contexts 13 and 14 of the application lifecycle are described. It is a major factor, and the relationship between these factors can be divided into two aspects as follows.

하나는 어플리케이션 매니저(11)가 어플리케이션(12)을 관리하는 측면이고, 다른 하나는 어플리케이션(12)이 적절하게 관리되도록 어플리케이션 매니저(11)에게 통지(notify) 혹은 호출(call)하는 측면이다. 그리고 이러한 두 측면 간의 인터페이스는 어플리케이션 컨텍스트(13, 14)를 통해 이루어진다.One is the aspect in which the application manager 11 manages the application 12, and the other is the aspect in which the application manager 11 notifies or calls the application 12 so that it is properly managed. And the interface between these two aspects is made through the application context (13, 14).

먼저, 어플리케이션 매니저(11)가 어플리케이션(12)을 관리하는 측면을 설명 하면, 최초 어플리케이션 매니저(11)가 어플리케이션을 생성함으로써 어플리케이션이 로딩(LOADED) 상태가 되도록 하고, 로딩(LOADED) 상태에서 initXlet() 메서드를 호출함으로써 중지(PAUSED) 상태가 되도록 한다. 그리고 로딩(PAUSED) 상태에서 startXlet() 메서드를 호출함으로써, GUI(Graphic User Interface)로 구성된 어플리케이션인 경우에 TV 화면에 디스플레이 되게 하는 활성화(ACTIVE) 상태가 되도록 한다. 또한 활성화(ACTIVE) 상태에서 pauseXlet() 메서드를 호출하여 중지(PAUSED) 상태가 되도록 하는데, 각 상태, 즉, 로딩(LOADED), 중지(PAUSED), 및 활성화(ACTIVE) 상태에서 destroyXlet() 메서드를 호출함으로써 어플리케이션(12)을 종료(DESTROYED) 상태가 되도록 한다.First, the aspect in which the application manager 11 manages the application 12 will be described. First, the application manager 11 creates an application so that the application is in a loaded state, and initXlet ( To get to a PAUSED state. Then, the startXlet () method is called in the PAUSED state, so that the application is configured to be displayed on the TV screen in the case of an application configured with a GUI (Graphic User Interface). It also calls the pauseXlet () method in the ACTIVE state to make it PAUSED. In each state, that is, in the LOADED, PAUSED, and ACTIVE states, the destroyXlet () method is called. The call causes the application 12 to be in a DESTROYED state.

또한, 어플리케이션(12)이 어플리케이션 컨텍스트(13, 14)를 통해 자신의 상태 변경을 어플리케이션 매니저(11)에게 통지 혹은 요청하는 측면을 설명하면, 어플리케이션(12)은 어플리케이션 컨텍스트(14)에 정의되어 있는 notifyPaused() 혹은 notifyDestroyed() 메서드를 이용하여 자신의 상태가 각각 중지(PAUSED) 혹은 종료(DESTROYED)와 같은 상태로 변경되었음을 어플리케이션 매니저(11)에게 통보하고, 또한 resumeRequest() 메서드를 호출함으로써 자신의 상태가 활성화(ACTIVE) 상태가 되도록 어플리케이션 매니저(11)에게 요청할 수 있다.In addition, when the application 12 describes the aspect of notifying or requesting the application manager 11 of its state change through the application contexts 13 and 14, the application 12 is defined in the application context 14. Using notifyPaused () or notifyDestroyed () method to notify the application manager 11 that its status has changed to a status such as PAUSED or DESTROYED, respectively, and calling its resumeRequest () method. The application manager 11 may be requested to have a status of ACTIVE.

도 2는 본 발명에 따른 이종 데이터방송 간의 어플리케이션의 상호 운용성을 보장하기 위한 GEM 기반의 데이터방송 플랫폼의 일실시예 구성도로서, 특히 본 발명에 따른 어플리케이션 라이프사이클의 프레임워크(Framework)를 나타낸다. 즉, 방송 수신기의 데이터방송 플랫폼에 적용될 수 있는 어플리케이션 라이프사이클 프 레임워크를 나타낸다.FIG. 2 is a diagram illustrating an embodiment of a GEM-based data broadcasting platform for ensuring interoperability of applications between heterogeneous data broadcastings. In particular, FIG. 2 illustrates a framework of an application lifecycle according to the present invention. In other words, it represents an application lifecycle framework applicable to the data broadcasting platform of the broadcast receiver.

본 발명에 따른 GEM 기반의 데이터방송 플랫폼은, 도 2에 도시된 바와 같이, 데이터 처리기능을 갖는 어플리케이션 데이터베이스(DB)에 해당하는 어플리케이션 매니저(어플리케이션 관리부)(21)와, '데이터 브로드캐스트부가 다운로드받은 어플리케이션'을 어플리케이션 매니저의 요구에 따라 로딩하는 일종의 로딩 수단에 해당하는 '클래스 로더(Class Loader)'(22)로 이루어진다. As shown in FIG. 2, the WEM-based data broadcasting platform according to the present invention includes an application manager (application manager) 21 corresponding to an application database (DB) having a data processing function, and a data broadcast unit is downloaded. It consists of a 'Class Loader' (22) corresponding to a kind of loading means for loading the received application 'according to the request of the application manager.

여기서, 어플리케이션 매니저(21)는, 서비스마다 해당 어플리케이션의 라이프사이클을 관리하되, 서비스마다 해당 서비스환경을 제공하는 서비스 컨텍스트를 구성하여 관리하고 하나의 서비스에 해당하는 어플리케이션마다 어플리케이션 컨텍스트를 구성하여 관리하며 어플리케이션 정보는 어플리케이션 리스트를 통하여 통합 관리하는 것으로서, 서비스에 대한 환경을 제공하는 '서비스 컨텍스트(Service Context)'(210), '서비스(Service)'(211), 해당 서비스에 포함되어 있을 '어플리케이션(Application)'(215, 216), 어플리케이션의 환경을 제공하는 '어플리케이션 컨텍스트(Application Context)'(213, 214)로 구성될 수 있으며, 각 어플리케이션들은 '어플리케이션 리스트(Application List)'(212)에 등록이 된다. 또한, 각 어플리케이션의 식별은 조직 식별정보(organization_id)(도 2에서의 O-ID) 및 어플리케이션 식별정보(application_id)(도 2에서의 A-ID)를 통하여 이루어진다.Here, the application manager 21 manages the life cycle of the corresponding application for each service, configures and manages a service context for providing a corresponding service environment for each service, and configures and manages an application context for each application corresponding to one service. Application information is integrated management through the application list, the 'service context (210)', 'service' (211), which provides the environment for the service (Service) (211), the 'application ( Application '(215, 216),' Application Context (Application Context) '(213, 214) that provides the environment of the application, each application is registered in the' Application List '(212) Becomes In addition, identification of each application is made through organization identification information (organization_id) (O-ID in FIG. 2) and application identification information (application_id) (A-ID in FIG. 2).

본 발명에 따른 어플리케이션 라이프사이클의 프레임워크는 MHP, ACAP, 및 OCAP에서 공통적으로 정의하고 있는 GEM(Globally Executable MHP)의 "Application Listing and Launching" API를 구현하기 위한 구조이다. 해당 API를 구현하기 위해 서는 내부에 정의되어 있는 각종 클래스들 간의 관계를 정립해야 하는데, 도 2에 도시된 바와 같은 프레임워크는 주요 클래스들 간의 상호 관계를 명확하게 나타낸다. 이하, 각 데이터방송 플랫폼 별로 해당 프레임워크에 대한 실시예를 설명하면 다음과 같다.The framework of the application lifecycle according to the present invention is a structure for implementing the "Application Listing and Launching" API of Globally Executable MHP (GEM), which is commonly defined in MHP, ACAP, and OCAP. In order to implement the API, it is necessary to establish a relationship between various classes defined therein, and a framework as shown in FIG. 2 clearly shows the interrelationship between main classes. Hereinafter, an embodiment of a corresponding framework for each data broadcasting platform will be described.

먼저, 위성 방송의 MHP(Multimedia Home Platform)의 경우, 어플리케이션의 서비스 종속성에 따라 어플리케이션의 종류가 '바운드(bound) 어플리케이션'과 '언바운드(unbound) 어플리케이션'으로 나누어진다. 임의의 서비스 내에 바운드 혹은 언바운드 어플리케이션(215, 216)이 포함되어 있을 경우, 해당 어플리케이션은 각각의 어플리케이션 컨텍스트(213, 214)에 등록이 되고, 해당 어플리케이션 컨텍스트(213, 214)는 어플리케이션 매니저(21)에 의해 관리되는 어플리케이션 리스트(212)에 등록되어 관리되며, 어플리케이션의 시그널링(20)은 AIT에 의해서 이루어지도록 구성된다. 또한, 해당 어플리케이션을 포함하고 있는 서비스(211)는 서비스 컨텍스트(210)에 등록이 되고, 이 서비스 컨텍스트(210)는 서비스와 해당 어플리케이션을 연계시키기 위해 어플리케이션 매니저의 내부 데이터베이스 내에 저장되어 관리된다. First, in the case of MHP (Multimedia Home Platform) of satellite broadcasting, types of applications are divided into 'bound applications' and 'unbound applications' according to service dependencies of applications. If the bound or unbound applications 215, 216 are included in any service, the application is registered in the respective application context 213, 214, and the application context 213, 214 is the application manager 21 Is registered in the application list 212 managed by), and the signaling 20 of the application is configured to be performed by the AIT. In addition, the service 211 including the application is registered in the service context 210, and the service context 210 is stored and managed in an internal database of the application manager to associate the service with the application.

다음으로, 케이블 방송의 OCAP의 경우도 기본적으로는 위성 방송의 MHP(Multimedia Home Platform)의 경우와 동일하다. 다만, OCAP의 경우에는 어플리케이션의 종류가 바운드 어플리케이션, 언바운드 어플리케이션, 및 모니터(monitor) 어플리케이션으로 나누어지는데, 이 3가지 형태의 어플리케이션을 관리하는 관점에서 해당 프레임워크를 적용해 보면, OCAP의 어플리케이션 라이프사이 클 구조에서 바운드 어플리케이션은 서비스에 포함이 되고, 언바운드 및 모니터 어플리케이션은 가상 서비스(Abstract Service)에 포함이 될 것이며, 서비스와 가상 서비스는 각각 하나의 서비스 컨텍스트에 등록이 될 것이다. 그리고 각 어플리케이션들(215, 216)은 해당 어플리케이션 리스트(213, 214)에 등록이 되고, 어플리케이션 매니저(21)에 의해 관리되며, 해당 어플리케이션들은 각각 AIT와 XAIT(Extended AIT)에 의해 시그널링이 이루어지도록 구성될 것이다. Next, OCAP of cable broadcasting is basically the same as that of MHP (Multimedia Home Platform) of satellite broadcasting. However, in the case of OCAP, the application types are divided into bound applications, unbound applications, and monitor applications. When applying the framework from the viewpoint of managing these three types of applications, the application life of OCAP is applied. In the cycle structure, the bound application will be included in the service, the unbound and monitor applications will be included in the abstract service, and the service and the virtual service will each be registered in a service context. Each of the applications 215 and 216 is registered in the corresponding application list 213 and 214 and is managed by the application manager 21 so that the corresponding applications are signaled by AIT and XAIT (Extended AIT), respectively. Will be constructed.

마지막으로, 지상파 방송의 ACAP의 경우도 OCAP과 유사하다.Finally, terrestrial broadcasting ACAP is similar to OCAP.

한편, 도 2와 관련하여 이종 데이터방송 플랫폼 간 어플리케이션의 상호 운용성을 보장하기 위한 GEM 기반 어플리케이션 관리 방법 중 어플리케이션 매니저(21)가 수행하는 어플리케이션 로딩 방법을 설명하면, (1) 먼저, 사용자로부터 서비스 컨텍스트를 통하여 서비스 선택을 받는 서비스 선택 과정을 수행하고, (2) 다음으로는, 어플리케이션 리스트에서 상기 선택된 서비스와 관련된 어플리케이션 식별정보(즉, organization_id, application_id)를 획득하는 식별정보 획득 과정을 수행하며, (3) 그 다음으로는, 해당 어플리케이션 컨텍스트를 통하여 상기 어플리케이션 식별정보에 해당하는 어플리케이션을 로딩받는 어플리케이션 로딩 단계를 수행한다.Meanwhile, referring to FIG. 2, an application loading method performed by the application manager 21 among the GEM-based application management methods for ensuring interoperability of applications between heterogeneous data broadcasting platforms will be described. Performing a service selection process for receiving service selection through (2) next, performing an identification information acquisition process for obtaining application identification information (ie, organization_id, application_id) related to the selected service from an application list, ( 3) Next, an application loading step of loading an application corresponding to the application identification information through a corresponding application context is performed.

도 3a 및 도 3b는 본 발명에 따른 어플리케이션의 시작 및 종료 프로세스에 대한 일실시예 흐름도로서, 방송 수신기의 데이터방송 플랫폼에서 수행되는 어플리케이션의 시작 및 종료 프로세스를 나타낸다.3A and 3B are flowcharts illustrating an example of a process of starting and terminating an application according to the present invention, and showing a process of starting and terminating an application performed in a data broadcasting platform of a broadcast receiver.

도 3a 및 도 3b에 도시된 바와 같이, 어플리케이션의 "시작"과 "종료"는 서 비스의 선택으로부터 시작이 되는데, 서비스가 선택이 되면(300), '이전 서비스(새로운 서비스의 선택이 있는 경우, 현재 실행되고 있는 서비스를 의미함)의 바운드(Bound) 조건'(301)과 '서비스의 변경 유무(즉, 새로이 선택된 서비스가 현재 실행중인 서비스(이전 서비스)와 동일한지 여부)'(302, 303)에 따라 4가지 경우의 프로세스(Case A, Case B, Case C, Case D)가 존재할 수 있다. As shown in Figures 3a and 3b, the "start" and "end" of the application starts from the selection of the service, when the service is selected (300), the 'previous service (if there is a selection of a new service) Bound condition of the currently running service "(301) and" Change of service (i.e. whether the newly selected service is the same as the currently running service (old service)) "(302, According to 303), there may be four cases of processes (Case A, Case B, Case C, and Case D).

여기서, 이전 서비스의 바운드 조건을 나타내는 "service_bound_flag"는 AIT 테이블 내에 포함되어 있는 어플리케이션 기술자(application descriptor)에 정의되어 있는 필드로서, 특정 어플리케이션이 해당 서비스 영역 내에서 구동되는가를 확인하는 필드를 나타낸다. 그리고, service_bound_flag는 "0" 또는 "1"이 될 수 있는데, 만약 "0"인 경우에는 어플리케이션이 해당 서비스 영역 내에서 구동되고 있지 않다는 의미, 즉 해당 서비스와 관계없이 어플리케이션이 구동이 된다는 의미이고, 반면에, "1"인 경우에는 어플리케이션이 해당 서비스 영역 내에서 구동되고 있다는 의미 즉, 서비스가 종료되면 해당 어플리케이션도 같이 종료된다는 것을 의미한다.Here, "service_bound_flag" indicating a bound condition of the previous service is a field defined in an application descriptor included in the AIT table and indicates a field for confirming whether a specific application is driven in the corresponding service area. And, service_bound_flag may be "0" or "1". If "0", it means that the application is not running in the service area, that is, the application is running regardless of the service. On the other hand, the "1" means that the application is running in the service area, that is, when the service is terminated, the application is also terminated.

그리고, "313", "325", "332", "345" 단계에서 사용될 통제 코드(control code)에 대하여 설명하면, 이에는 "Autostart", "Present", "Destroy", "Kill" 등이 있다. "Autostart"는 어플리케이션을 시작시키라는 의미이고, "Present"는 해당 서비스에 등록시키라는 의미이며, 그리고 "Destroy", "Kill"은 해당 어플리케이션을 종료시키라는 의미이다. 여기서 "Destroy", "Kill"은 해당 어플리케이션을 종료시킨다는 점에서는 동일한 의미를 갖고 있으나, 종료 과정에서 프로세스 상의 차이 점이 존재한다. 즉, 일반적으로 어플리케이션이 종료되는 상황에서 다양한 에러가 존재할 수 있는데, 이러한 경우 "Destroy"는 해당 문제가 해결될 때까지 대기하다가 문제가 해결이 되면 그때 해당 어플리케이션을 제거하라는 의미이고, "Kill"은 "Destroy"와 달리 문제가 발생하더라도 해당 문제와 관계없이 어플리케이션을 바로 종료시키라는 의미가 된다. And, when describing the control code (control code) to be used in the steps "313", "325", "332", "345", "Autostart", "Present", "Destroy", "Kill", etc. have. "Autostart" means to start the application, "Present" means to register with the service, and "Destroy" and "Kill" means to terminate the application. Here, "Destroy" and "Kill" have the same meaning in that the application is terminated, but there are differences in the process in the termination process. That is, in general, various errors may exist when the application is terminated. In this case, "Destroy" means waiting for the problem to be solved, and when the problem is solved, remove the application at that time, and "Kill" means Unlike "Destroy", if a problem occurs, it means to terminate the application immediately regardless of the problem.

요컨대, 어플리케이션의 시작은 바로 어플리케이션 통제 코드의 "Autostart"라는 명령에 의해 이루어지고, 어플리케이션의 종료는 "Destroy" 또는 "Kill"이라는 서버 명령에 의해 이루어진다. 그러나 여기서 문제가 되는 것이 바로 어플리케이션의 종료이다. 왜냐하면, 단순히 어플리케이션의 종료는 서버 측의 종료 명령에 의해서만이 이루어지는 것이 아니기 때문이다. 일반적으로 어플리케이션의 종료에는 여러 가지 다양한 상황들이 존재할 수가 있고, 그에 따른 조건들이 존재할 수가 있다In short, the application is started by the command "Autostart" in the application control code, and the application is terminated by the server command "Destroy" or "Kill". But the problem here is the termination of the application. This is because the application is not simply terminated by the server side termination command. In general, there can be a variety of situations, and conditions can exist at the end of an application.

도 3의 설명으로 돌아와 살피건대, Case A인 경우, 즉, 이전 서비스의 바운드 조건(service_bound_flag)이 "1"이고 서비스가 변경된 경우(새로이 선택된 서비스가 현재 실행중인 서비스(이전 서비스)와 다른 경우)에는, 이전 어플리케이션을 중지(PAUSED)시키고 종료(DESTROYED)시킨다(311, 312). 그리고 나서, 새로운 어플리케이션의 통제 코드(control code)를 확인하여(313), 해당 통제 코드가 "Autostart"인 경우에는 새로운 어플리케이션을 초기화하고(314) 시작(STARTED)(315)시킴으로써 프로세스를 종료한다. 반면에 해당 통제 코드가 "Present"인 경우에는 새로운 어플리케이션을 단지 등록만 한 후(316) 프로세스를 종료한다. Returning to the description of FIG. 3, in case of Case A, that is, when the bound condition (service_bound_flag) of the previous service is "1" and the service is changed (if the newly selected service is different from the currently running service (old service)). Next, PAUSED and DESTROYED the previous application (311, 312). Then, the control code of the new application is checked (313), and if the control code is "Autostart", the process is terminated by initializing (314) and starting (STARTED) 315 the new application. On the other hand, if the control code is "Present", the process is terminated after only registering the new application (316).

이렇게 등록된 어플리케이션들은 사용자에게 리스트로 제공될 수 있으며, 만약 사용자에 의하여 선택이 되면 비로소 어플리케이션이 시작될 것이다. The registered applications can be provided to the user as a list, and if selected by the user, the application will be started.

Case B인 경우, 즉, 이전 서비스의 바운드 조건이 "1"이고 서비스가 변경되지 않은 경우에는, 서비스가 동일하기 때문에 어플리케이션의 버전 변경 여부(321)에 따라 다른 프로세스가 진행될 수 있다. 만약 어플리케이션의 버전이 변경되지 않은 경우에는 이전 어플리케이션의 상태를 그대로 유지시키면서 프로세스를 종료한다(322). 이와 달리, 버전 변경이 발생한 경우에는 이전 어플리케이션을 중지(323) 및 종료(324)시킨 후, 새로운 어플리케이션의 통제 코드를 확인하여(325), 통제 코드가 "Autostart"이면 새로운 어플리케이션을 초기화하고(326) 시작시킴으로써(327) 프로세스를 종료한다. 반면에 통제 코드가 "Present"인 경우에는 새로운 어플리케이션을 등록시킨 후(328) 프로세스를 종료한다. In case B, that is, when the bound condition of the previous service is "1" and the service is not changed, another process may proceed according to whether or not the version of the application is changed because the services are the same. If the version of the application has not changed, the process is terminated while maintaining the state of the previous application (322). In contrast, when a version change occurs, the previous application is stopped (323) and terminated (324), and then the control code of the new application is checked (325). If the control code is "Autostart", the new application is initialized (326). The process ends by starting 327. On the other hand, if the control code is "Present", the process is terminated after registering a new application (328).

Case C인 경우, 즉, 이전 서비스의 바운드 조건이 "0"이고 서비스가 변경된 경우에는, 이전 어플리케이션 상태를 유지하고(331), 새로운 어플리케이션의 통제 코드를 확인한다(332).In case C, that is, when the bound condition of the previous service is "0" and the service is changed, the previous application state is maintained (331) and the control code of the new application is checked (332).

확인 결과, 통제 코드가 "Autostart"인 경우에는 새로운 어플리케이션을 초기화하고(333) 시작(334)시킴으로써 프로세스를 종료하는 반면에, "Present"인 경우에는 새로운 어플리케이션을 등록시킨 후(335) 프로세스를 종료한다.If the control code is "Autostart", the process is terminated by initializing a new application (333) and starting (334), whereas in the case of "Present", the process is terminated after registering a new application (335). do.

Case D인 경우, 즉, 이전 서비스의 바운드 조건이 "0"이고 서비스가 변경되지 않은 경우에는, 서비스가 동일하기 때문에 어플리케이션의 버전 변경 여부(341) 에 따라 다른 프로세스가 진행될 수 있다. 먼저, 어플리케이션 버전 확인 결과(341), 버전이 변경되지 않았으면 이전 어플리케이션의 상태를 그대로 유지시키면서(342) 프로세스를 종료한다. 하지만, 버전 변경이 발생한 경우에는 이전 어플리케이션을 중지시키고(343) 종료시킨 후(344), 새로운 어플리케이션의 통제 코드를 확인한다(345). "345"의 확인 결과, 통제 코드가 "Autostart"인 경우에는 새로운 어플리케이션을 초기화하고(346) 시작시킴으로써(347) 프로세스를 종료하는 반면에, 통제 코드가 "Present"인 경우에는 새로운 어플리케이션을 등록시킨 후(348) 프로세스를 종료한다. In case D, that is, when the bound condition of the previous service is "0" and the service is not changed, another process may proceed according to whether the application is changed or not because the services are the same. First, if the application version check result 341, the version is not changed, the process is terminated while maintaining the state of the previous application (342). However, if a version change occurs, the previous application is stopped (343) and terminated (344), and then the control code of the new application is checked (345). As a result of the confirmation of "345", when the control code is "Autostart", the process is terminated by initializing (346) and starting (347) a new application, whereas registering the new application when the control code is "Present". The post process 348 ends.

도 4는 본 발명에 따른 AIT 필터링 프로세스에 대한 일실시예 흐름도로서, 방송 수신기의 데이터방송 플랫폼에서 수행될 수 있는 AIT 필터링 프로세스를 나타낸다.4 is a flowchart illustrating an AIT filtering process according to the present invention, and illustrates an AIT filtering process that may be performed in a data broadcasting platform of a broadcast receiver.

어플리케이션 정보 테이블(AIT: Application Information Table) 필터링은 어플리케이션 라이프사이클 부분에서 AIT를 얻는 과정으로서, SI(Service Information) 데이터베이스가 프로그램 맵 테이블(PMT: Program Map Table)을 요구받는 것부터 시작된다(400). 여기서, AIT는 어플리케이션 대한 정보를 포함하고 있는 테이블로서, 어플리케이션 시그널링에 사용되는 테이블이다. Application Information Table (AIT) filtering is a process of obtaining an AIT from the application lifecycle part, and starts from receiving a Service Map (SIT) database from a Program Map Table (PMT) (400). Here, the AIT is a table that contains information about the application and is a table used for application signaling.

PMT가 얻어지면, 그 획득한 PMT에서 스트림 타입(stream_type)을 확인한다(401). 즉, 스트림 타입(stream_type)이 0x05인지 여부(기초 스트림 타입인지 여부)를 확인한다(401). 여기서, 스트림 타입(stream_type)이 0x05라는 것은 ITU-T Rec. H.222.0 | ISO/IEC 13818-1 private_section을 나타낸다.When the PMT is obtained, the stream type (stream_type) is checked in the obtained PMT (401). That is, it is checked whether the stream type (stream_type) is 0x05 (whether it is the basic stream type) or not (401). Herein, the stream type (stream_type) of 0x05 indicates that ITU-T Rec. H.222.0 | Represents ISO / IEC 13818-1 private_section.

"401" 단계의 확인 결과, 만약 스트림 타입(stream_type)이 0x05(기초 스트림 타입)가 아니면, 해당 프로세스를 종료하고, 만약 스트림 타입이 0x05(기초 스트림 타입)이면 다시 PMT 내에 어플리케이션 시그널링 기술자(application signalling descriptor)(elementary_PID)가 포함되어 있는지를 확인한다(402). As a result of checking in step 401, if the stream type (stream_type) is not 0x05 (the base stream type), the process is terminated. If the stream type is 0x05 (the base stream type), the application signaling descriptor is again included in the PMT. It is checked whether a descriptor (elementary_PID) is included (402).

"402" 단계의 확인 결과, 만약 어플리케이션 시그널링 기술자(application signalling descriptor)가 포함되어 있지 않으면 해당 프로세스를 종료하고, 만약 어플리케이션 시그널링 기술자(application signalling descriptor)가 포함되어 있으면, PMT에서 기초스트림(Elementary Stream)의 PID(elementary_PID)를 획득한다(403).As a result of checking in step 402, if the application signaling descriptor is not included, the process is terminated. If the application signaling descriptor is included, the elementary stream is included in the PMT. Obtain a PID (elementary_PID) of the UE (403).

그리고 나서, 그 획득한 기초 스트림의 PID(elementary_PID)를 AIT의 PID로 지정하여 섹션필터 부분에 AIT를 요청한다(404). 즉, 상기 AIT의 PID로 지정된 PID에 해당되는 AIT를 요청함으로써 AIT 필터링을 수행한다(404). 이러한 AIT 필터링 과정을 통하여 어플리케이션 정보가 들어 있는 AIT를 획득하게 된다.Then, the PID (elementary_PID) of the obtained elementary stream is designated as the PID of the AIT and an AIT is requested to the section filter portion (404). That is, AIT filtering is performed by requesting an AIT corresponding to the PID designated as the PID of the AIT (404). Through this AIT filtering process, an AIT containing application information is obtained.

도 5는 본 발명에 따른 데이터방송 플랫폼에서 새로운 서비스에 대한 어플리케이션을 다운로드 받아 관리하는 방법에 대한 일실시예 흐름도로서, 어플리케이션 시그널링 프로세스를 나타낸다.5 is a flowchart illustrating a method of downloading and managing an application for a new service in a data broadcasting platform according to the present invention, and showing an application signaling process.

도 5 에 도시한 바와 같이, 어플리케이션 라이프사이클은 '서비스의 선택'으로부터 시작이 되는데, 서비스가 선택이 되면(500) 그 선택된 서비스에 대한 환경을 제공하는 서비스 컨텍스트(Service Context)가 구성된다(501). 여기서, 사용자로부터의 서비스 선택은 전자프로그램 가이드(EPG)나 리모트 콘트롤러를 통하여 서 비스 선택을 받게 되는 것이다.As shown in FIG. 5, the application lifecycle begins with the selection of a service. When a service is selected (500), a service context is provided to provide an environment for the selected service (501). ). Here, the service selection from the user is to receive the service selection through the electronic program guide (EPG) or the remote controller.

그러면, 선택된 서비스가 실제 TV 화면에 디스플레이될 수 있도록 프리젠테이션을 담당하는 미들웨어의 미디어 처리부에서는 오디오/비디오 튜닝이 일어나게 된다(502). 즉, 미들웨어의 미디어 처리부는 미디어 제어 과정을 통하여 이전 서비스를 중지시키고 새로운 서비스를 구동하게 된다(502). Then, audio / video tuning occurs in the media processing unit of the middleware in charge of the presentation so that the selected service can be displayed on the actual TV screen (502). That is, the media processing unit of the middleware stops the old service and drives the new service through the media control process (502).

다음으로, 어플리케이션 매니저가 구동되며, 그 어플리케이션 매니저는 SI 데이터베이스로부터 해당 서비스 정보를 전달받는다(503).Next, an application manager is driven, and the application manager receives corresponding service information from the SI database (503).

그리고, 선택된 서비스는 어플리케이션 매니저에게 지정 혹은 등록이 되는데, 해당 서비스에 포함되어 있는 어플리케이션을 다운받기 위해서는 먼저 AIT 필터링이 수행된다(504)(상세하게는, 도 4 참조). 여기서, AIT 필터링은 AIT의 버전을 지속적으로 체크할 수 있도록 모니터링으로 필터링을 요청한다(507).The selected service is assigned or registered to an application manager. In order to download an application included in the service, AIT filtering is first performed (504) (see FIG. 4). Here, the AIT filtering requests filtering by monitoring so that the version of the AIT can be continuously checked (507).

그리고, 어플리케이션 매니저는 "503"에서 전달받은 선택된 서비스에 대한 서비스 정보 및 AIT(이전 서비스에 대하여 수행되었던 AIT 필터링을 통하여 획득되었던 AIT)를 이용하여 이전 서비스의 바운드 조건 등을 확인하고 그 확인 결과에 따라 이전 어플리케이션을 중지/종료시키고(505, 더욱 상세하게는 도 3 참조) 해당 메모리를 해지하며, 그와 동시에 이전 어플리케이션과 관련된 정보(예를 들면, 이전 어플리케이션의 리소스 등)를 삭제한다("Detach Domain")(506).The application manager checks the bound condition of the previous service and the like by using the service information and the AIT (AIT obtained through the AIT filtering performed on the previous service) for the selected service delivered in "503". As a result, the previous application is stopped / terminated (505, more specifically, FIG. 3) and the corresponding memory is released, and at the same time, information related to the previous application (for example, resources of the previous application) is deleted ("Detach Domain ") 506.

한편, "504"를 통하여 시작된 AIT 필터링 과정을 통하여 AIT가 획득되면(507), 어플리케이션 매니저는 해당 서비스와 관련된 새로운 어플리케이션에 대한 환경을 설정하게 된다("Attach Domain")(509). Detach Domain 과정(506)의 완료 와 AIT가 획득되었음을 알리는 이벤트 수신 과정의 동기화에 따라 Attach Domain 과정(509)은 수행된다. 그리고, "509"에 따라 새로운 어플리케이션 환경이 구성되면, 어플리케이션 매니저는 데이터 브로드캐스팅부에 새로운 어플리케이션의 다운로드를 요청한다(510). On the other hand, if the AIT is obtained through the AIT filtering process started through "504" (507), the application manager sets the environment for a new application associated with the service ("Attach Domain") (509). The Attach Domain process 509 is performed in accordance with the completion of the Detach Domain process 506 and the event receiving process informing that the AIT has been acquired. If a new application environment is configured according to "509", the application manager requests the data broadcasting unit to download a new application (510).

데이터 브로드캐스팅부를 통하여 어플리케이션의 다운로드(510)가 완료되면, 어플리케이션 매니저는 다운로드된 어플리케이션을 실행시켜 해당 어플리케이션을 생성하고(511) 그 생성된 어플리케이션에 대한 해당 어플리케이션 컨텍스트를 구성한다(512). 그리고, 어플리케이션 매니저는 어플리케이션의 통제코드에 따라 해당 어플리케이션을 등록시키거나(513) 또는 해당 어플리케이션을 시작시키고 지속적으로 그 어플리케이션의 상태를 관리한다(514). 여기서, 어플리케이션의 라이프사이클 관리 과정은 "515"와 같으며, 어플리케이션 매니저는 어플리케이션 컨텍스트를 통하여 어플리케이션의 상태를 관리한다.When the download 510 of the application is completed through the data broadcasting unit, the application manager executes the downloaded application to generate the corresponding application (511) and configures the corresponding application context for the generated application (512). The application manager registers the application according to the control code of the application (513) or starts the application and continuously manages the state of the application (514). Here, the lifecycle management process of the application is the same as "515", and the application manager manages the state of the application through the application context.

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.As described above, the method of the present invention may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. Since this process can be easily implemented by those skilled in the art will not be described in more detail.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.

상기와 같은 본 발명은, 서로 다른 표준규격의 데이터방송 플랫폼에서도 공통적으로 적용될 수 있는 어플리케이션 운용 관련 모듈을 제공함으로써, 서로 다른 데이터방송 플랫폼들 간의 상호 조화 내지 상호 운용성(Interoperability)을 보장하는 효과가 있다.As described above, the present invention provides an application operation related module that can be commonly applied to data broadcasting platforms of different standard standards, thereby ensuring interoperability or interoperability between different data broadcasting platforms. .

또한, 본 발명은, 이종 방송플랫폼 간의 어플리케이션의 상호 운용성을 고려함에 있어 어플리케이션 관리 측면에서의 접근 방법을 제공함으로써, 어플리케이션의 관리 측면에서 상호 운용성을 효율적으로 보장하는 효과가 있다.In addition, the present invention provides an approach in terms of application management in consideration of interoperability of applications between different broadcast platforms, thereby effectively ensuring interoperability in terms of application management.

Claims (17)

이종 데이터방송 간의 어플리케이션의 상호 운용성을 보장하기 위한 데이터방송 플랫폼에 있어서,In the data broadcasting platform to ensure the interoperability of applications between heterogeneous data broadcasting, 서비스마다 해당 어플리케이션의 라이프사이클을 관리하되, 서비스마다 해당 서비스환경을 제공하는 서비스 컨텍스트를 구성하고 하나의 서비스에 해당하는 어플리케이션마다 어플리케이션 컨텍스트를 구성하여 관리하며 어플리케이션 정보는 어플리케이션 리스트를 통하여 통합 관리하는 어플리케이션 관리 수단; 및Manages the life cycle of the application for each service, configures the service context to provide the service environment for each service, configures and manages the application context for each application corresponding to one service, and the application information is integrated and managed through the application list. Management means; And 미들웨어에서 다운로드받은 어플리케이션을, 상기 어플리케이션 관리 수단의 요구에 따라 로딩하기 위한 로딩 수단Loading means for loading the application downloaded from the middleware according to the request of the application management means 을 포함하는 GEM 기반의 데이터방송 플랫폼.Wem-based data broadcasting platform comprising a. 제 1 항에 있어서,The method of claim 1, 상기 어플리케이션 관리 수단은,The application management means, 상기 데이터방송 플랫폼이 위성 방송용 플랫폼인 경우, 사용자에 의하여 선택된 서비스는 해당 서비스 컨텍스트에 등록하고, 상기 서비스 컨텍스트는 서비스와 어플리케이션을 연계시키기 위해 내부 데이터베이스 내에 저장하여 관리하는 것을 특징으로 하는 GEM 기반의 데이터방송 플랫폼.When the data broadcasting platform is a satellite broadcasting platform, a service selected by a user is registered in a corresponding service context, and the service context is stored and managed in an internal database to associate the service with an application. Broadcast platform. 제 2 항에 있어서,The method of claim 2, 상기 어플리케이션 관리 수단은,The application management means, 서비스 컨텍스트마다 하나의 서비스를 등록하는 것을 특징으로 하는 GEM 기반의 데이터방송 플랫폼.A GEM-based data broadcasting platform, characterized in that one service is registered for each service context. 제 2 항에 있어서,The method of claim 2, 상기 어플리케이션 관리 수단은,The application management means, 어플리케이션(Application)마다 해당 어플리케이션 컨텍스트에 등록하고, 상기 어플리케이션 컨텍스트는 상기 어플리케이션 리스트에 등록하여 관리하는 것을 특징으로 하는 GEM 기반의 데이터방송 플랫폼.A WEM-based data broadcasting platform, wherein the application context is registered in a corresponding application context, and the application context is registered in the application list and managed. 제 1 항에 있어서,The method of claim 1, 상기 어플리케이션 관리 수단은,The application management means, 상기 데이터방송 플랫폼이 케이블방송용 또는 지상파방송용 플랫폼인 경우, 바운드 어플리케이션은 서비스에 포함하고 언바운드 어플리케이션 및 모니터 어플리케이션은 가상 서비스(Abstract Service)에 포함하며, 상기 서비스와 상기 가상 서비스는 각각 하나의 서비스 컨텍스트에 등록하는 것을 특징으로 하는 GEM 기 반의 데이터방송 플랫폼.When the data broadcasting platform is a cable broadcasting or terrestrial broadcasting platform, the bound application is included in the service, the unbound application and the monitor application are included in the virtual service, and the service and the virtual service are each in a single service context. JP-based data broadcasting platform, characterized in that registered in. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 5, 상기 어플리케이션 관리 수단은,The application management means, 사용자로부터 새로운 서비스를 선택받으면, 현재 실행중인 서비스(이전 서비스)에 대한 바운드 조건, 서비스 변경 여부, 및 통제코드에 따라 어플리케이션의 라이프사이클을 관리하는 것을 특징으로 하는 GEM 기반의 데이터방송 플랫폼.When the user selects a new service, the life cycle of the GEM-based data broadcasting platform is characterized by managing the life cycle of the application according to the bound condition, service change, and control code for the currently running service (old service). 제 6 항에 있어서,The method of claim 6, 상기 어플리케이션은,The application, 해당 어플리케이션 컨텍스트를 통하여 상기 어플리케이션 관리 수단에게 자신의 상태변경을 통지하는 것을 특징으로 하는 GEM 기반의 데이터방송 플랫폼.A GEM-based data broadcasting platform comprising notifying the application management means of its own state change through a corresponding application context. 제 6 항에 있어서,The method of claim 6, 상기 어플리케이션은,The application, 해당 어플리케이션 컨텍스트를 통하여 상기 어플리케이션 관리 수단에게 자신의 상태변경을 요청하고;Requesting the application management means to change its own state through a corresponding application context; 상기 어플리케이션 관리 수단은,The application management means, 상기 어플리케이션의 상태 변경 요청에 따라 해당 라이프사이클 매서드를 호출하여 해당 어플리케이션의 상태를 변경하는 것을 특징으로 하는 GEM 기반의 데이터방송 플랫폼.A WEM-based data broadcasting platform, characterized in that for changing a state of a corresponding application by calling a corresponding lifecycle method according to a state change request of the application. 제 6 항에 있어서,The method of claim 6, 상기 어플리케이션은,The application, 조직 식별정보(organization_id) 및 어플리케이션 식별정보(application_id)를 통하여 식별되는 것을 특징으로 하는 데이터방송 플랫폼.And a data broadcasting platform identified through organization identification information (organization_id) and application identification information (application_id). 이종 데이터방송 플랫폼 간 어플리케이션의 상호 운용성을 보장하기 위한 GEM 기반 어플리케이션 관리 방법에 있어서,In the GEM-based application management method to ensure interoperability of applications between heterogeneous data broadcasting platform, 사용자로부터 서비스 컨텍스트를 통하여 서비스 선택을 받는 서비스 선택 단계;A service selection step of receiving a service selection from a user through a service context; 어플리케이션 리스트에서 상기 선택된 서비스와 관련된 어플리케이션 식별정보를 획득하는 식별정보 획득 단계; 및 Identification information obtaining step of obtaining application identification information related to the selected service from an application list; And 해당 어플리케이션 컨텍스트를 통하여 상기 어플리케이션 식별정보에 해당하는 어플리케이션을 로딩받는 어플리케이션 로딩 단계An application loading step of loading an application corresponding to the application identification information through a corresponding application context; 를 포함하는 GEM 기반 어플리케이션 관리 방법.GEM-based application management method comprising a. 제 10 항에 있어서,The method of claim 10, 상기 어플리케이션 리스트는,The application list, 서비스별로 등록관리되는 어플리케이션과 해당 어플리케이션의 식별정보를 포함하는 것을 특징으로 하는 GEM 기반 어플리케이션 관리 방법.A GEM-based application management method comprising an application that is registered and managed for each service and identification information of the corresponding application. 제 11 항에 있어서,The method of claim 11, 상기 식별정보는,The identification information, 조직 식별정보(organization_id) 및 어플리케이션 식별정보(application_id)를 포함하는 것을 특징으로 하는 GEM 기반 어플리케이션 관리 방법.A GEM-based application management method comprising organization identification information (organization_id) and application identification information (application_id). 이종 데이터방송 플랫폼 간 어플리케이션의 상호 운용성을 보장하기 위한 GEM 기반 어플리케이션 관리 방법에 있어서,In the GEM-based application management method to ensure interoperability of applications between heterogeneous data broadcasting platform, 사용자로부터 서비스 컨텍스트를 통하여 새로운 서비스를 선택받는 서비스 선택 단계;A service selection step of selecting a new service from a user through a service context; 상기 선택된 서비스에 대한 해당 어플리케이션을 다운받을 수 있도록 어플 리케이션 정보 테이블(AIT)을 획득하는 AIT 필터링 단계;An AIT filtering step of acquiring an application information table (AIT) to download the corresponding application for the selected service; 현재 실행되고 있는 서비스(이전 서비스)의 바운드 조건 및 서비스 변경여부에 따라 상기 이전 서비스의 어플리케이션을 종료 또는 유지하는 이전 어플리케이션 관리 단계;A previous application management step of terminating or maintaining an application of the previous service according to a bound condition of a currently running service (previous service) and service change; 상기 획득된 어플리케이션 정보 테이블(AIT)에 따라 상기 선택된 서비스와 관련된 새로운 어플리케이션에 대한 환경을 설정하는 단계; 및Setting an environment for a new application associated with the selected service according to the obtained application information table (AIT); And 미들웨어에서 다운로드되어 로딩된 새로운 어플리케이션을 통제코드에 따라 관리하는 새로운 어플리케이션 관리 단계New application management step to manage new application downloaded and loaded from middleware according to control code 를 포함하는 GEM 기반 어플리케이션 관리 방법.GEM-based application management method comprising a. 제 13 항에 있어서,The method of claim 13, 상기 AIT 필터링 단계는,The AIT filtering step, SI(Service Information) 데이터베이스로부터 PMT를 획득하는 단계; Obtaining a PMT from a service information (SI) database; 상기 획득된 PMT를 통하여, 스트림 타입이 기초 스트림(ES)인지 여부 및 어플리케이션 시그널링 기술자 포함여부를 확인하는 확인 단계;Confirming whether the stream type is an elementary stream (ES) and whether an application signaling descriptor is included through the obtained PMT; 상기 확인 결과, 상기 스트림 타입이 기초 스트림(ES)이고 상기 PMT에 어플리케이션 시그널링 기술자가 포함되어 있으면, 상기 PMT에서 기초스트림의 PID를 획득하고 상기 기초스트림 PID를 이용하여 미들웨어의 섹션필터에 AIT를 요청하여 획득하는 단계; 및As a result of the check, if the stream type is an elementary stream (ES) and the PMT includes an application signaling descriptor, the PMT obtains a PID of an elementary stream and requests an AIT from a section filter of middleware using the elementary stream PID. Obtaining by; And 상기 확인 결과, 상기 스트림 타입이 기초 스트림(ES)이 아니거나 상기 PMT에 어플리케이션 시그널링 기술자가 포함되어 있지 않으면, AIT 필터링을 종료하는 단계If the stream type is not an elementary stream (ES) or if the PMT does not include an application signaling descriptor, ending AIT filtering 를 포함하는 GEM 기반 어플리케이션 관리 방법.GEM-based application management method comprising a. 제 13 항에 있어서,The method of claim 13, 상기 이전 어플리케이션 관리 단계는,The previous application management step, 상기 이전 서비스가 바운드 서비스이고, 상기 선택된 서비스가 이전 서비스와 서비스가 다르거나 또는 서비스는 동일하나 어플리케이션이 버전이 다른 경우에는 상기 이전 어플리케이션을 종료시키고, 상기 선택된 서비스가 이전 서비스와 어플리케이션이 버전까지 동일한 경우에는 상기 이전 어플리케이션을 유지하는 단계; 및If the previous service is a bound service and the selected service is different from the previous service or the service is the same but the application is different in version, the previous application is terminated, and the selected service is the same as the previous service and the version up to the version. If the step of maintaining the previous application; And 상기 이전 서비스가 언바운드 서비스이고, 상기 선택된 서비스가 이전 서비스와 서비스가 다르거나 어플리케이션 버전까지 같은 경우에는 상기 이전 어플리케이션을 유지하고, 상기 선택된 서비스가 이전 서비스와 서비스는 동일하나 어플리케이션이 버전이 다른 경우에는 상기 이전 어플리케이션을 종료하는 단계 If the previous service is an unbound service and the selected service is different from the previous service or the same as the application version, the previous application is maintained, and the selected service is the same as the previous service but the application is different. Terminating the previous application 를 포함하는 GEM 기반 어플리케이션 관리 방법.GEM-based application management method comprising a. 제 15 항에 있어서,The method of claim 15, 상기 새로운 어플리케이션 관리 단계는,The new application management step, 상기 통제코드가 "Autostart"이면 새로운 어플리케이션을 시작 상태로 변경하고, 상기 통제코드가 "Present"이면 새로운 어플리케이션을 등록하는 것을 특징으로 하는 GEM 기반 어플리케이션 관리 방법.If the control code is " Autostart ", the new application is changed to a start state; if the control code is " Present ", the new application is managed. 제 15 항에 있어서,The method of claim 15, 상기 새로운 어플리케이션 관리 단계는,The new application management step, 어플리케이션 컨텍스트를 통하여 상기 어플리케이션의 상태 변경을 관리하는 것을 특징으로 하는 GEM 기반 어플리케이션 관리 방법.A GEM-based application management method characterized by managing the state change of the application through an application context.
KR1020060133982A 2006-09-19 2006-12-26 Data Broadcasting Platform based on GEM and its Method for the Interoperability Guarantee of Applications among Data Broadcasting KR100837697B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060090797 2006-09-19
KR20060090797 2006-09-19

Publications (2)

Publication Number Publication Date
KR20080026008A true KR20080026008A (en) 2008-03-24
KR100837697B1 KR100837697B1 (en) 2008-06-13

Family

ID=39413636

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060133982A KR100837697B1 (en) 2006-09-19 2006-12-26 Data Broadcasting Platform based on GEM and its Method for the Interoperability Guarantee of Applications among Data Broadcasting

Country Status (1)

Country Link
KR (1) KR100837697B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100913696B1 (en) * 2008-12-31 2009-08-24 (주)테이크텍 Data broadcast receiving apparatus
WO2015186986A1 (en) * 2014-06-05 2015-12-10 삼성전자 주식회사 Method and apparatus for providing backward compatibility for hybrid broadcast
KR20160079332A (en) * 2014-12-26 2016-07-06 주식회사 케이티 Method, device, system and computer program for executing different types of applications

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050014945A (en) * 2003-08-01 2005-02-21 (주)바이웍스 System for Providing Data Service Associated to Television Broadcasting Service
KR100533935B1 (en) * 2003-08-12 2005-12-07 엘지전자 주식회사 Apparatus for reducing loading time, and digital satellite broadcasting receiver with an apparatus for reducing loading time
KR100587973B1 (en) * 2004-11-19 2006-06-08 한국전자통신연구원 Apparatus and method for transmission of multi applications, and digital data broadcasting system using its

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100913696B1 (en) * 2008-12-31 2009-08-24 (주)테이크텍 Data broadcast receiving apparatus
WO2015186986A1 (en) * 2014-06-05 2015-12-10 삼성전자 주식회사 Method and apparatus for providing backward compatibility for hybrid broadcast
KR20160079332A (en) * 2014-12-26 2016-07-06 주식회사 케이티 Method, device, system and computer program for executing different types of applications

Also Published As

Publication number Publication date
KR100837697B1 (en) 2008-06-13

Similar Documents

Publication Publication Date Title
US8201191B2 (en) Apparatus and methods for implementation of network software interfaces
CA2408284C (en) System and method for a communication terminal to manage memory and maintain a current application version for multiple applications
AU781357B2 (en) Methods and apparatus for managing an application according to an application lifecycle
US6874145B1 (en) Methods and apparatus for implementing an application lifecycle design for applications
US20060179465A1 (en) Handling feature availability in a broadcast
KR101260185B1 (en) Smart settop box and operating method for providing smart service and digital television service using default media player included in single operating systme
US20110302274A1 (en) Architecture of a network device for processing applications, and control method for the network device
US20130031592A1 (en) Smart set-top box and operation method for smart service and digital television service using single operating system
US20070174356A1 (en) Program execution device, program execution method, and program
US8453195B2 (en) Program replacing method
WO2006108351A1 (en) Method and apparatus for implementing software upgrade in the digital television receiving device
CA2542759A1 (en) Program executing apparatus
US10521240B2 (en) Digital device and method of processing screensaver thereof
KR100837697B1 (en) Data Broadcasting Platform based on GEM and its Method for the Interoperability Guarantee of Applications among Data Broadcasting
CN101014101B (en) Method for managing applications related to data broadcasting, class/interface structure, and broadcast receiver
JP4603367B2 (en) Device for the execution of services received via a communication network
WO2006046797A1 (en) Pmcp extension metadata, data stream generating device, digital data broadcasting emission szstem and digital data boradcasting emission method thereof
KR100870200B1 (en) Digital broadcast receiving apparutus using integrated middleware
US20130191853A1 (en) Program execution method and program execution apparatus
CA2346483A1 (en) Software application lifecycle and management for broadcast applications
KR20060029689A (en) Method of executing software applications
CN106507194A (en) A kind of Android intelligent television scene management method
KR100733960B1 (en) Apparatus and Method for Receiving of Digital Broadcasting supporting Data Broadcasting and Home Network
KR101586315B1 (en) A broadcasting receiver and a method for monitoring a network device
KR20110012536A (en) Method for receiving a data broadcasting signal

Legal Events

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

Payment date: 20110531

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee