KR20110047687A - A broadcasting receiver and a method for monitoring a network device - Google Patents

A broadcasting receiver and a method for monitoring a network device Download PDF

Info

Publication number
KR20110047687A
KR20110047687A KR1020090104407A KR20090104407A KR20110047687A KR 20110047687 A KR20110047687 A KR 20110047687A KR 1020090104407 A KR1020090104407 A KR 1020090104407A KR 20090104407 A KR20090104407 A KR 20090104407A KR 20110047687 A KR20110047687 A KR 20110047687A
Authority
KR
South Korea
Prior art keywords
instance
network device
state
return channel
application
Prior art date
Application number
KR1020090104407A
Other languages
Korean (ko)
Other versions
KR101586315B1 (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 엘지전자 주식회사
Priority to KR1020090104407A priority Critical patent/KR101586315B1/en
Publication of KR20110047687A publication Critical patent/KR20110047687A/en
Application granted granted Critical
Publication of KR101586315B1 publication Critical patent/KR101586315B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • H04N5/45Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

PURPOSE: A broadcasting receiver and a method for monitoring a network device are provided to offer the network state information in real time. CONSTITUTION: An application creates a listener instance(S1020). The application registers the listener instance(S1030). A middleware watches the state changes of a network device(S1040). If the state of the network device is changed, the middleware creates the event instance(S1050, S1060). The middleware transfers the event instance to a registered listener instance(S1070).

Description

방송 수신기 및 네트워크 장치 모니터링 방법{A broadcasting receiver and a method for monitoring a network device}A broadcasting receiver and a method for monitoring a network device}

본 발명은 방송 수신기 및 네트워크 장치 모니터링 방법에 관한 것으로, 보다 상세하게는, 네트워크 장치의 상태를 감지하고 감지된 정보를 제공할 수 있는 방송 수신기 및 네트워크 장치 모니터링 방법에 관한 것이다.The present invention relates to a broadcast receiver and a network device monitoring method, and more particularly, to a broadcast receiver and a network device monitoring method capable of detecting a state of a network device and providing sensed information.

일반적으로, 디지털 방송은 다채널/다매체 방송으로 기존 아날로그 방송과 달리 고화질/고음질의 고품위 서비스를 제공하는 것뿐만 아니라 다기능성을 가진다. 다기능성이란 멀티미디어 정보들을 방송 매체를 통하여 제공하는 새로운 서비스로 데이터방송 또는 대화형 방송 기능을 말한다. 데이터 방송은 텍스트, 정지화상, 동화상, 그래픽, 문서, 소프트웨어 등의 멀티미디어 데이터를 전송하여 시청자가 방송 수신기로 정보를 이용하는 방송으로, 방송과 통신의 융합이라는 시대적 흐름에 가장 잘 부합되는 서비스이다.In general, digital broadcasting is multichannel / multimedia broadcasting, unlike conventional analog broadcasting, not only providing high-quality / high-quality service but also having versatility. Versatility is a new service that provides multimedia information through broadcast media. It refers to data broadcasting or interactive broadcasting. Data broadcasting is a broadcast that uses information to broadcast receiver by transmitting multimedia data such as text, still picture, moving picture, graphic, document, software, etc., and is the best service for the current trend of convergence of broadcasting and communication.

이러한 서비스를 제공하기 위해 미들웨어 플랫폼 제공자들은 다수의 이종(heterogeneous) 방송 및 웹이 가능한 네트워크를 통해 분산되어 배치되는 멀티미디어 데이터를 액세스해야 할 필요가 있다. 이들 네트워크들은 일반적으로 예로 써, 디지털 비디오 방송(DVB:Digital Video Broadcasting)(DVB-C(케이블), DVB-T(지상파), 및 DVB-S(위성)을 포함), OpenCable.TM.애플리케이션 플랫폼(OpenCable.TM. OCAP:Applications Platform), 차세대 텔레비전 시스템 위원회(ATSC), 국가 텔레비전 시스템 위원회(NTSC), GI 모토롤라 네트워크, 멀티미디어 홈 플랫폼(MHP:Multimedia Home Platform) 표준 등을 포함한 각각의 미국 또는 유럽 산업 디지털 방송 표준에 기초한다. 특히 MHP 표준은 위성, 케이블, 지상파 및 마이크로파를 포함한 모든 전송 네트워크들에서의 방송 및 대화식 서비스들에 대한 현존하는 DVB 표준을 확장한다. DVB/MHP 표준은 애플리케이션들이 실행하는 대화식 디지털 애플리케이션들 및 터미널들 사이의 하드웨어 독립적인, 인터페이스를 정의한다. 이것은 디지털 콘텐츠 제공자들이 저기능으로부터 고기능 셋톱 박스들, 집적된 디지털 TV 세트들 및 멀티미디어 PC들에 이르는 모든 유형들의 터미널들을 다룰 수 있게 한다.In order to provide such services, middleware platform providers need to access multimedia data distributed over a number of heterogeneous broadcast and web-enabled networks. These networks are generally used as examples, such as Digital Video Broadcasting (DVB) (including DVB-C (cable), DVB-T (terrestrial), and DVB-S (satellite)), OpenCable.TM. Application platform United States or Europe, including OpenCable.TM.Applications Platform (OCA), Next Generation Television System Committee (ATSC), National Television System Committee (NTSC), GI Motorola Network, Multimedia Home Platform (MHP) standards, and more Based on industry digital broadcasting standards. In particular, the MHP standard extends existing DVB standards for broadcast and interactive services in all transport networks, including satellite, cable, terrestrial and microwave. The DVB / MHP standard defines a hardware independent, interface between the terminals and interactive digital applications that they run. This allows digital content providers to handle all types of terminals, from low functionality to high performance set top boxes, integrated digital TV sets and multimedia PCs.

MHP 표준의 버전 1.0.3은 'Xlet'라고 하는 무료로 다운로드될 수 있는 애플리케이션을 지원한다. 즉 MHP 표준에서 Xlet Application을 이용하여 사용자의 다양한 요구사항을 처리하게 된다. 이때 Xlet Application은 미들웨어로부터 System의 자원을 할당받아 이러한 일들을 처리하게 된다. 즉 Xlet Application은 직접 방송 수신기의 자원을 직접할당하는 것이 아니라 미들웨어를 통해 할당받음으로써 저기능으로부터 고기능 셋톱 박스들, 집적된 디지털 TV 세트들 및 멀티미디어 PC들에 이르는 모든 유형들의 터미널에서 실행 가능하다.Version 1.0.3 of the MHP standard supports a freely downloadable application called 'Xlet'. That is, the MHP standard uses Xlet Application to handle various user requirements. At this time, Xlet Application receives system resources from middleware and handles these tasks. In other words, Xlet applications can be run on all types of terminals, from low-functioning to high-end set-top boxes, integrated digital TV sets, and multimedia PCs, by allocating them through middleware rather than directly allocating resources from broadcast receivers.

본 발명이 이루고자 하는 기술적 과제는 네트워크 장치의 상태를 모니터링하여 네트워크 장치 상태 정보를 신속하게 제공할 수 있는 방송 수신기 및 네트워크 장치 모니터링 방법을 제공하는 데 있다.An object of the present invention is to provide a broadcast receiver and a network device monitoring method capable of quickly providing network device state information by monitoring a state of a network device.

본 발명이 이루고자 하는 다른 기술적 과제는 네트워크 장치의 상태가 동적으로 변화할 때를 즉각적으로 알려주는 방송 수신기 및 네트워크 장치 모니터링 방법을 제공하는 데 있다.Another technical problem to be solved by the present invention is to provide a broadcast receiver and a network device monitoring method for promptly notifying when a state of a network device is dynamically changed.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 방송 수신기는, 네트워크 장치와 연결되는 네트워크 인터페이스부, 및 상기 네트워크 장치의 상태에 대한 정보인 네트워크 장치 상태 정보를 수신하는 리스너 인스턴스를 생성하여 등록하고, 상기 네트워크 장치의 상태 변경 여부를 감시하며, 상기 네트워크 장치의 상태가 변경된 경우에는, 상기 네트워크 장치 상태 정보를 알려주는 이벤트 인스턴스를 생성하고, 상기 생성된 이벤트 인스턴스를 상기 등록된 리스너 인스턴스로 전달하는 제어부를 구비한다. 여기서 상기 네트워크 장치는 장탈착 가능한 것일 수 있다. 또한 상기 네트워크 장치의 상태는 장착 상태 및 탈착 상태 중 어느 하나일 수 있다.In order to achieve the above technical problem, a broadcast receiver according to the present invention generates and registers a network interface unit connected to a network device, and a listener instance for receiving network device state information which is information about a state of the network device. Monitoring the state of the network device; if the state of the network device is changed, generating an event instance informing of the network device state information, and delivering the generated event instance to the registered listener instance. It is provided with a control unit. Here, the network device may be removable. In addition, the network device may be any one of a mounted state and a detached state.

바람직하게, 상기 제어부는 상기 네트워크 장치를 관리하는 리턴 채널 장치 매니저 인스턴스를 생성할 수 있다.Preferably, the control unit may generate a return channel device manager instance managing the network device.

바람직하게, 상기 제어부는. 상기 리턴 채널 장치 매니저 인스턴스가 제공하는 메소드를 이용하여 상기 리스너 인스턴스를 등록할 수 있다.Preferably, the control unit. The listener instance may be registered using a method provided by the return channel device manager instance.

바람직하게, 상기 리턴 채널 장치 매니저 인스턴스는, 장착 속성(ATTACHED attribute), 탈착 속성(DETACHED attribute), 인스턴스 획득 메소드(getInstance method), 리턴 채널 장치 획득 메소드(getRCDevices method), 리스너 등록 메소드(addRCDeviceListener method) 및 리스너 제거 메소드(removeRCDeviceListener method) 중 적어도 하나를 포함할 수 있다.Preferably, the return channel device manager instance includes an ATTACHED attribute, a DETACHED attribute, an instance obtaining method, a getRCDevices method, and a listener registration method (addRCDeviceListener method). And a removeRCDeviceListener method.

바람직하게, 상기 리턴 채널 장치 획득 메소드는, org.dvb.net.rc.RCInterface의 인스턴스를 리턴하는 리턴 채널 인터페이스 획득 메소드(getRCInterface method) 및 리턴 채널 장치의 상태를 리턴하는 현재 상태 획득 메소드(getCurrentStatus method)를 포함하는 리턴 채널 장치 인스턴스를 리턴할 수 있다.Preferably, the return channel device acquisition method may include a return channel interface acquisition method returning an instance of org.dvb.net.rc.RCInterface and a current status acquisition method return status of the return channel device. It can return a return channel device instance containing).

상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 네트워크 장치 모니터링 방법은, 네트워크 장치의 상태에 대한 정보인 네트워크 장치 상태 정보를 수신하는 리스너 인스턴스를 생성하고, 상기 생성된 리스너 인스턴스를 등록하는 단계, 상기 네트워크 장치의 상태 변경 여부를 감시하는 단계, 및 상기 네트워크 장치의 상태가 변경된 경우에는, 상기 네트워크 장치 상태 정보를 알려주는 이벤트 인스턴스를 생성하고, 상기 생성된 이벤트 인스턴스를 상기 등록된 리스너 인스턴스로 전달하는 단계를 갖는다. 여기서, 상기 네트워크 장치는 장탈착 가능한 것일 수 있다. 또한 상기 네트워크 장치의 상태는 장착 상태 및 탈착 상태 중 어느 하나 일 수 있다.In accordance with another aspect of the present invention, there is provided a method for monitoring a network device, the method comprising: generating a listener instance that receives network device state information, which is information about a state of a network device, and registering the generated listener instance; Monitoring the state of the network device; and if the state of the network device changes, creates an event instance informing the network device state information, and converts the generated event instance to the registered listener instance. Delivering. Here, the network device may be removable. In addition, the network device may be any one of a mounted state and a detached state.

바람직하게, 상기 네트워크 장치 모니터링 방법은 상기 네트워크 장치 상태 정보에 대한 요청을 수신하는 단계를 더 가질 수 있다.Advantageously, the network device monitoring method may further comprise receiving a request for network device status information.

바람직하게, 상기 네트워크 장치 모니터링 방법은 상기 네트워크 장치를 관리하는 리턴 채널 장치 매니저 인스턴스를 획득하는 단계를 더 가질 수 있다.Advantageously, the network device monitoring method may further comprise obtaining a return channel device manager instance managing the network device.

바람직하게, 상기 등록하는 단계에서, 상기 획득된 리턴 채널 장치 매니저 인스턴스가 제공하는 메소드를 이용하여 상기 리스너 인스턴스를 등록할 수 있다.Preferably, in the registering step, the listener instance may be registered using a method provided by the obtained return channel device manager instance.

바람직하게, 상기 리턴 채널 장치 매니저 인스턴스는, 장착 속성(ATTACHED attribute), 탈착 속성(DETACHED attribute), 인스턴스 획득 메소드(getInstance method), 리턴 채널 장치 획득 메소드(getRCDevices method), 리스너 등록 메소드(addRCDeviceListener method) 및 리스너 제거 메소드(removeRCDeviceListener method) 중 적어도 하나를 포함할 수 있다.Preferably, the return channel device manager instance includes an ATTACHED attribute, a DETACHED attribute, an instance obtaining method, a getRCDevices method, and a listener registration method (addRCDeviceListener method). And a removeRCDeviceListener method.

바람직하게, 상기 리턴 채널 장치 획득 메소드는, org.dvb.net.rc.RCInterface의 인스턴스를 리턴하는 리턴 채널 인터페이스 획득 메소드(getRCInterface method) 및 리턴 채널 장치의 상태를 리턴하는 현재 상태 획득 메소드(getCurrentStatus method)를 포함하는 리턴 채널 장치 인스턴스를 리턴할 수 있다. Preferably, the return channel device acquisition method may include a return channel interface acquisition method returning an instance of org.dvb.net.rc.RCInterface and a current status acquisition method return status of the return channel device. It can return a return channel device instance containing).

본 발명에 따른 방송 수신기 및 네트워크 장치 모니터링 방법에 의하면, 네트워크 장치의 상태를 실시간으로 모니터링하고 있으므로, 네트워크 장치 상태 정 보를 신속하게 제공할 수 있고 네트워크 장치의 상태가 동적으로 변화할 때를 즉각적으로 감지할 수 있어, 사용자에게 보다 빠르고 안정적인 서비스를 제공할 수 있다.According to the broadcast receiver and the network device monitoring method according to the present invention, since the status of the network device is monitored in real time, it is possible to provide the network device status information quickly and immediately detect when the status of the network device changes dynamically. It can provide a faster and more reliable service to the user.

이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention that can specifically realize the above object will be described. At this time, the configuration and operation of the present invention shown in the drawings and described by it will be described as at least one embodiment, by which the technical spirit of the present invention and its core configuration and operation is not limited.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당해 기술분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 함을 밝혀두고자 한다.The terms used in the present invention have been selected as general terms widely used as possible in consideration of the functions in the present invention, but may vary according to the intention or custom of a person skilled in the art or the emergence of a new technology. In addition, in certain cases, there is also a term arbitrarily selected by the applicant, in which case the meaning will be described in detail in the description of the invention. Therefore, it is intended that the terms used in the present invention should be defined based on the meanings of the terms and the general contents of the present invention rather than the names of the simple terms.

도 1은 방송 수신기의 계층구조에 대한 바람직한 일 실시예의 구성을 도시한 구조도이다.1 is a structural diagram showing a configuration of a preferred embodiment of the hierarchical structure of a broadcast receiver.

도 1을 참조하면, 본 발명에 따른 방송 수신기(100)는 애플리케이션(Application, 110), 미들웨어(120) 및 자원(Resources, 130)을 구비한다.Referring to FIG. 1, the broadcast receiver 100 according to the present invention includes an application 110, a middleware 120, and resources 130.

애플리케이션(110)은 방송 수신기(100)에서의 다양한 목적들을 달성하도록 실행되는 프로그램으로서 정의된다. 그리고 애플리케이션(110)은 방송 수신기(100) 상에서 실행되는 복수의 애플리케이션(111, 112, …, 119)들을 포함할 수 있다.Application 110 is defined as a program executed to achieve various purposes in broadcast receiver 100. The application 110 may include a plurality of applications 111, 112,..., 119 running on the broadcast receiver 100.

애플리케이션(111, 112, …, 119)들은 적절하게 설치된 방송 수신기(100)로 방송 프로그램 및 방송 서비스 정보와 함께 방송 스트림에 포함되어 전송될 수 있다. 애플리케이션(111, 112, …, 119)들은 ISO/IEC13818-6 하에 특정된 DSM-CC 프로토콜과 같은 프로토콜에 따라 캐로셀(carousel) 포맷으로 전송될 수 있다. 여기서 애플리케이션(111, 112, …, 119)들은 주기적으로 방송될 수 있다. 적절하게 설치된 방송 수신기(100)는 이들 애플리케이션(111, 112, …, 119)들을 수신하고 그것들을 국부적으로 실행할 수 있다. 예시적인 애플리케이션(111, 112, …, 119)들에는 전자 프로그램 가이드들, 따라하는(play-along) 게임들, 텔레뱅킹, 메뉴 네비게이션 옵션들, 텔레쇼핑, 전자 신문들 및 유사한 정보 서비스들이 있다. The applications 111, 112,..., 119 may be included in the broadcast stream and transmitted along with the broadcast program and the broadcast service information to the appropriately installed broadcast receiver 100. Applications 111, 112,..., 119 may be transmitted in a carousel format according to a protocol such as the DSM-CC protocol specified under ISO / IEC13818-6. The applications 111, 112,..., 119 may be broadcast periodically. Appropriately installed broadcast receiver 100 may receive these applications 111, 112,..., 119 and execute them locally. Example applications 111, 112,..., 119 include electronic program guides, play-along games, telebanking, menu navigation options, teleshopping, electronic newspapers, and similar information services.

여기서 애플리케이션(110)은 MHP(Multimedia Home Platform) 기반의 규격에서 엑스렛(Xlet) 애플리케이션일 수 있다. Xlet을 실행하기 위한 기본적인 하드웨어는 자바 TV 플랫폼(예로써, 도 1의 미들웨어(120))을 지원하는 셋톱 박스 또는 디지털 텔레비전 수신기이다. Xlet들은 "주된(main)" 방법을 가지지 않으며 Xlet들은 인터페이스 Xlet을 구현한다.The application 110 may be an Xlet application in a MHP-based standard. The basic hardware for running Xlets is a set top box or digital television receiver that supports the Java TV platform (eg, middleware 120 of FIG. 1). Xlets do not have a "main" way and Xlets implement the interface Xlet.

Xlet들은 수명 주기를 가지며, 수명 주기 메소드 서명(life cycle method signature)은 인터페이스 Xlet에 의해 정의된다. 인터페이스 Xlet은 생성, 초기화, 시작 및 파괴와 같은 Xlet 상태 변화들을 알리기 위해 수명 주기 메소드들을 제공한다. 그러나 인터페이스 Xlet은 그 수명 주기 메소드들에 대한 실행을 제공하지 않는다. 모든 자바 TV 실행들은 인터페이스 Xlet을 경유하여 다양한 애플리케이션 상태들을 통해 하나 이상의 Xlet들을 이동시키기 위해 수명 주기 메소드들을 호출하는 애플리케이션 매니저(127)를 가진다. 인터페이스 Xlet은 그 수명 주기 메소드들에 대한 실행을 제공하지 않는다. 개발자는 Xlet 수명 주기에서의 각각의 지점에서 일어나는 것을 정의함으로써 그 메소드들에 대한 애플리케이션-지정 실행들을 제공한다. 예를 들면, 게임 Xlet에 대한 iniXlet 메소드는 사용자 인터페이스 구성 요소들을 생성할 것이다. Xlet은 몇몇 상태 변화들 자체를 개시하고 XletContext 인터페이스에서 메소드들을 야기함으로써 그 상태 변화들을 애플리케이션 매니저(127)에 알리도록 설계된다.Xlets have a life cycle, and the life cycle method signature is defined by the interface Xlet. Interface Xlet provides lifecycle methods for reporting Xlet state changes such as creation, initialization, startup, and destruction. However, the interface Xlet does not provide execution for its lifecycle methods. All Java TV implementations have an application manager 127 that calls lifecycle methods to move one or more Xlets through various application states via an interface Xlet. Interface Xlet does not provide execution for its lifecycle methods. The developer provides application-specific executions for those methods by defining what happens at each point in the Xlet life cycle. For example, the iniXlet method for a game Xlet will create user interface components. The Xlet is designed to notify the application manager 127 of the state changes by initiating some state changes themselves and causing methods in the XletContext interface.

인터페이스 Xlet은 자바 TVTM API에 정의된 패키지들 중 하나인 javax.tv.xlet 패키지에 의해 정의된다. 자바 TV API는 패키지들로 그룹핑된 인터페이스들 및 클래스들로 이루어진다. 이들 패키지들은 텔레비전 네트워크들에 의해 전송된 방송 스트림을 통해 디지털 수신기로 전송된 비디오, 오디오, 및 데이터를 처리하기 위한 인터페이스들 및 클래스들을 포함한다.The interface Xlet is defined by the javax.tv.xlet package, one of the packages defined in the Java TVTM API. The Java TV API consists of interfaces and classes grouped into packages. These packages include interfaces and classes for processing video, audio, and data sent to a digital receiver via a broadcast stream sent by television networks.

javax.tv.xlet에 정의된, 인터페이스 Xlet은 애플리케이션 매니저가 Xlet을 생성, 초기화, 시작, 정지 및 파괴할 수 있도록 허용한다. 애플리케이션 매니저(127)는 Xlet의 상태를 유지하고 다양한 수명주기 메소드들을 통해 Xlet상에 메소드들을 야기한다. Xlet은 애플리케이션 매니저(127)에 의해 지시되는 바와 같이 그것의 내부 동작들 및 리소스 사용들을 업데이트하기 위해 이들 메소드들을 실행한다.The interface Xlet, defined in javax.tv.xlet, allows the application manager to create, initialize, start, stop, and destroy Xlets. The application manager 127 maintains the state of the Xlet and causes the methods on the Xlet through various lifecycle methods. The Xlet executes these methods to update its internal operations and resource usages as directed by the application manager 127.

도 2는 애플리케이션의 라이프 싸이클의 일예를 도시한 개념도이다.2 is a conceptual diagram illustrating an example of a life cycle of an application.

도 2를 참조하면, javax.tv.xlet에 의해 정의된 바와 같이, 인터페이스 Xlet의 메소드 요약은 다음과 같다. Xlet은 메모리(memory)에 로드된 상태(loaded state, 210)가 된다. initXlet은 로드된 상태(loaded state, 210)의 Xlet 자체를 초기화하고 중지 상태(paused state, 220)로 진입하기 위해 Xlet에 신호를 보낸다. startXlet은 서비스를 제공하기 시작하고 활성 상태(active state, 230)로 진입하기 위해 Xlet에 신호를 보낸다. PauseXlet은 서비스 제공을 중지하고 중지된 상태(220)로 진입하기 위해 Xlet에 신호를 보낸다. destroyXlet은 서비스 제공을 종료하고 파괴된 상태(destroyed state, 240)로 진입하기 위해 Xlet에 신호를 보낸다.Referring to FIG. 2, the method summary of the interface Xlet, as defined by javax.tv.xlet, is as follows. The Xlet is in a loaded state 210 in memory. initXlet initializes the Xlet itself in the loaded state (210) and signals the Xlet to enter the paused state (220). startXlet signals the Xlet to start providing services and to enter an active state (230). The PauseXlet signals the Xlet to stop providing service and enter the suspended state 220. destroyXlet signals the Xlet to terminate service provision and enter a destroyed state (240).

한편, 당해 제1실시예 뿐만 아니라, 이하 후술될 다른 실시예에서도, 설명 및 이해의 편의를 고려하여, 애플리케이션(110)은 MHP 애플리케이션인 경우를 예로 들어, 설명하도록 하겠다. 따라서 본 발명의 권리범위는 MHP 표준에 한정되는 것은 아니며, OCAP(OpenCable Application Platform) 표준, ACAP(Advanced Common Application Platform) 표준, BD-J(Blu-ray Disc Java) 표준 등 다른 데이터 방송 규격에도 적용될 수 있으며, 본 명세서의 특허청구범위를 고려할 때, 이 점은 명백하다.On the other hand, not only the first embodiment, but also other embodiments to be described below, in consideration of the convenience of explanation and understanding, the application 110 will be described by taking the case of an MHP application as an example. Therefore, the scope of the present invention is not limited to the MHP standard, and is applicable to other data broadcasting standards such as the OpenCable Application Platform (OCAP) standard, the Advanced Common Application Platform (ACAP) standard, and the Blu-ray Disc Java (BD-J) standard. This may be evident when considering the claims herein.

예컨대, 케이블뿐만 아니라, 지상파, 위성 방송을 통한 데이터 방송에서도, 본 발명이 적용될 수 있다. 즉 본 발명에 따른 방송 수신기(100)는 사용자에게 리모컨 또는 로컬키(Local Key)의 "TV/Video" 버튼 등의 조작으로, 지상파 방송 모 드(Antenna), 위성 방송 모드, 케이블 방송 모드(cable), 비디오 1(Video 1), IPTV 방송 모드 및 비디오 2(Video 2)등을 입력할 수 있도록 한다.For example, the present invention can be applied not only to cables but also to data broadcasting through terrestrial and satellite broadcasting. That is, the broadcast receiver 100 according to the present invention may operate a terrestrial broadcast mode (Antenna), a satellite broadcast mode, a cable broadcast mode (cable) by operating a remote control or a "TV / Video" button of a local key. ), Video 1, IPTV broadcast mode and Video 2 can be input.

미들웨어(120)는 애플리케이션(110)과 자원(130) 간을 매개하는 역할을 수행한다. 또한 미들웨어(120)는 애플리케이션(110)의 정보 또는 명령을 수신하고, 수신한 명령을 실행하여 수신한 명령에 대한 결과를 산출하며, 산출한 결과를 애플리케이션(120)에 송신하는 기능을 수행한다. 이를 위해 미들웨어(120)는 인터페이스(Interface, 121), 시스템 서비스(System Service, 126)를 구비한다.The middleware 120 plays a role of mediating between the application 110 and the resource 130. In addition, the middleware 120 receives the information or command of the application 110, executes the received command to calculate a result of the received command, and transmits the calculated result to the application 120. For this purpose, the middleware 120 includes an interface 121 and a system service 126.

인터페이스(121)는 애플리케이션(110)과 시스템 서비스(126) 사이에서 데이터, 정보 및 명령을 송수신하는 기능을 수행한다. 즉 애플리케이션(110)은 인터페이스(121)를 통해 미들웨어(120)가 제공하는 서비스를 사용할 수 있다. 애플리케이션(110)의 제작자가 미들웨어(120)를 사용할 수 있도록, 각 방송규격에는 미들웨어(120)가 제공하는 특정 서비스를 요청하기 위한 요청 양식이 정의되어 있다. 만일 애플리케이션(110)이 각 방송규격에 정의된 요청 약식에 따라 미들웨어(120)에 특정 서비스에 대한 수행 요청을 한 경우에는, 인터페이스(121)는 특정 서비스에 대한 수행 요청을 수신하고 시스템 서비스(126)가 요청한 특정 서비스를 수행할 수 있도록 특정 서비스에 대한 수행 요청을 시스템 서비스(126)로 전달한다. 여기서 방송규격에서 정의된 미들웨어(120)가 제공하는 특정 서비스를 요청하기 위한 요청 양식은 JAVA로 정의된 API(Application Programming Interface)가 될 수 있다.The interface 121 performs a function of transmitting and receiving data, information, and commands between the application 110 and the system service 126. That is, the application 110 may use a service provided by the middleware 120 through the interface 121. In order for the producer of the application 110 to use the middleware 120, each broadcast standard defines a request form for requesting a specific service provided by the middleware 120. If the application 110 requests the middleware 120 to perform a specific service according to the request abbreviation defined in each broadcasting standard, the interface 121 receives a request to perform a specific service and the system service 126. The request for execution of the specific service is transmitted to the system service 126 so that the specific service can perform the specific service requested. Here, the request form for requesting a specific service provided by the middleware 120 defined in the broadcast standard may be an API (Application Programming Interface) defined by JAVA.

일예로 특정 서비스를 요청하기 위한 요청 양식은 MHP의 API로 정의될 수 있다. 잘 알려진 바와 같이, MHP 1.0.x는 기본적이고, 벤더 특정의 하드웨어 및 소프 트웨어에 상관없이 디지털 대화식 TV에 대한 광범위한 애플리케이션 실행 환경을 특정한다. 이러한 실행 환경은 Java™가상 머신의 사용 및 대화식 디지털 TV 터미널의 일반적인 리소스들 및 시설들로의 액세스를 제공하는 일반 API들의 정의에 기초한다. 이들 일반 API들을 사용하는 Java™애플리케이션은 DVB-J 애플리케이션이라 불리운다. 반대로, MHP 1.1은 새로운 선택적인 애플리케이션 유형, DVB-HTML을 정의하는 것을 포함하는 다수의 방식으로 MHP 1.0.x 플랫폼에 대한 부가적인 기능성을 제공한다. MHP 1.0.x에 대해서, 단지 DVB-J만이 지원될 것을 요구한다. 그러므로 MHP 1.0.x 하에 실행되는 DVB-J 애플리케이션에 대해서, "javax.tv.xlet.Xlet"은 정의된 인터페이스이고 MHP 1.0.x하에서 실행될 수 있고 인식될 수 있는 엔티티이다.For example, the request form for requesting a specific service may be defined as an API of the MHP. As is well known, MHP 1.0.x is fundamental and specifies a wide range of application execution environments for digital interactive TVs, regardless of vendor specific hardware and software. This execution environment is based on the definition of generic APIs that provide the use of a Java ™ virtual machine and access to common resources and facilities of an interactive digital TV terminal. Java ™ applications that use these generic APIs are called DVB-J applications. In contrast, MHP 1.1 provides additional functionality for the MHP 1.0.x platform in a number of ways, including defining a new optional application type, DVB-HTML. For MHP 1.0.x, only DVB-J is required to be supported. Therefore, for DVB-J applications running under MHP 1.0.x, "javax.tv.xlet.Xlet" is a defined interface and an entity that can be executed and recognized under MHP 1.0.x.

시스템 서비스(126)는 인터페이스(121)가 송신하는 요청에 따라 서비스를 수행하고, 그 결과를 인터페이스(126)에 제공한다. 또한 시스템 서비스(126)는 애플리케이션(110)을 방송국으로부터 다운로드 받고, 다운로드 받은 애플리케이션(110)의 라이프 싸이클을 관리하며, 활성 상태(active state, 230)의 애플리케이션(110)에 자원(130)을 할당 및 반환을 관리하고 할당된 자원에 대한 정보를 관리한다. 이를 위해 시스템 서비스(126)는 애플리케이션 매니저(Application Manager, 127)를 구비한다. 여기서 미들웨어(120)는 일예로 MHP 표준에 따라 구현되어 MHP API를 지원할 수 있다.The system service 126 performs the service according to the request transmitted by the interface 121 and provides the result to the interface 126. In addition, the system service 126 downloads the application 110 from the broadcasting station, manages the life cycle of the downloaded application 110, and allocates the resource 130 to the application 110 in an active state 230. And manages returns and manages information about allocated resources. To this end, the system service 126 includes an application manager 127. Here, the middleware 120 may be implemented according to the MHP standard, for example, to support the MHP API.

애플리케이션 매니저(127)는 애플리케이션(111, 112, …, 119)의 라이프 싸이클을 관리하는 모듈로서, 애플리케이션(111, 112, …, 119)의 생성, 실행, 종료 를 관리한다.The application manager 127 is a module that manages life cycles of the applications 111, 112,..., 119. The application manager 127 manages generation, execution, and termination of the applications 111, 112,.

자원(130)은 다양한 기능을 가진 하드웨어 엔티티(entity)를 의미하며, 자원(130)은 하드웨어 자원 및 소프트웨어 자원으로 표현될 수 있다. 하드웨어 자원은 튜너, 복조부, CA, 역다중화기, 디코더, 메모리, 하드디스크 및 네트워크 장치를 말한다. 또한 소프트웨어 자원은 그룹화된 복수의 하드웨어 엔티티를 나타낼 수 있고 프로세스, 쓰레드 등과 같은 운영체제(Operating System) 상에 정의되는 자원일 수 있다. 여기서 쓰레드는 프로세스 내에서 실행되는 흐름 단위를 말한다. 일반적으로 한 프로그램은 하나의 쓰레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 쓰레드를 동시에 실행할 수도 있다. 즉 프로그램은 멀티쓰레드(multithread) 방식으로 실행될 수 있다. 이러한 멀티쓰레드 방식은, 프로세스가 독립적으로 실행되며 각각 별개의 메모리를 차지하고 있는 것과 달리, 각 쓰레드가 프로세스 내의 메모리를 공유해 사용하는 실행 방식이다.The resource 130 refers to a hardware entity having various functions, and the resource 130 may be represented as a hardware resource and a software resource. Hardware resources refer to tuners, demodulators, CAs, demultiplexers, decoders, memory, hard disks, and network devices. In addition, a software resource may represent a plurality of hardware entities grouped and may be a resource defined on an operating system such as a process or a thread. Here, a thread is a unit of flow that runs within a process. Generally, a program has one thread, but depending on the program environment, more than one thread can run at the same time. That is, the program can be executed in a multithreaded manner. This multithreaded approach is a method of execution in which each thread shares and uses memory within a process, unlike processes that run independently and occupy separate memory.

또한 자원(130)은 애플리케이션(110)이 내부 구현에 무관하게 이용될 수 있도록 애플리케이션(110)에 투명하게(transparently) 제공되며, 상술한 바와 같이, 이를 위해 미들웨어(120)가 애플리케이션(110)과 자원(130)을 매개하는 역할을 수행한다. 그리고 자원(130)은 공유 자원과 비공유 자원으로 구분될 수 있다. 공유 자원은 메모리, 쓰레드, 네트워크 세션 등의 자원으로 애플리케이션(111, 112, …, 119)들이 상호 공유할 수 있는 자원을 말하며, 비공유 자원은 튜너 등의 자원으로 애플리케이션(111)이 사용하고 있는 경우에는 다른 애플리케이션(112,…,119)이 사용할 수 없는 자원을 말한다.In addition, the resource 130 is provided transparently to the application 110 so that the application 110 can be used irrespective of the internal implementation. As described above, the middleware 120 may be connected to the application 110. It plays a role of mediating the resource 130. In addition, the resource 130 may be divided into a shared resource and a non-shared resource. Shared resources refer to resources that applications 111, 112, ..., 119 can share with each other, such as resources such as memory, threads, and network sessions. Non-shared resources are used by applications 111 as resources such as tuners. Refers to a resource that cannot be used by other applications 112,..., 119.

자원(130)을 이용하기 위해서 Xlet Application은 자율적으로 VM 메모리와 쓰레드들을 사용하게 된다. 이러한 자원에 대한 규약이나, 관리는 전적으로 미들웨어(120)에서 이루어지며 애플리케이션(110)에서는 자신의 자원의 사용량에 대해 큰 고려 없이 동작하게 된다.In order to use the resource 130, the Xlet application autonomously uses VM memory and threads. The protocol or management of these resources is entirely done in the middleware 120, and the application 110 operates without great consideration for the usage of its resources.

도 3은 본 발명에 따른 방송 수신기에 대한 바람직한 일 실시예의 구성을 도시한 블록도이다.3 is a block diagram showing the configuration of a preferred embodiment of a broadcast receiver according to the present invention.

도 3을 참조하면, 본 발명에 따른 방송 수신기(300)는 튜너(311), 복조부(312), CA(313), 역다중화부(314), 미디어 디코더(315), 사용자 인터페이스(321), 저장매체(322), 네트워크 인터페이스부(323) 및 프로세서(350)를 구비한다. 여기서 튜너(311), 복조부(312), CA(313), 역다중화부(314), 미디어 디코더(315), 사용자 인터페이스(321), 저장매체(322), 네트워크 인터페이스부(323) 및 프로세서(350)는 방송 수신기(100)의 자원(130)에 해당하는 구성요소이다.Referring to FIG. 3, the broadcast receiver 300 according to the present invention includes a tuner 311, a demodulator 312, a CA 313, a demultiplexer 314, a media decoder 315, and a user interface 321. , A storage medium 322, a network interface unit 323, and a processor 350. The tuner 311, the demodulator 312, the CA 313, the demultiplexer 314, the media decoder 315, the user interface 321, the storage medium 322, the network interface 323 and the processor. 350 is a component corresponding to the resource 130 of the broadcast receiver 100.

튜너(311)는 지상파, 위성, 케이블 중 적어도 하나로부터 방송 데이터를 수신하여 복조부(312)로 출력한다. 즉 튜너(311)는 안테나, 케이블, 위성 중 어느 하나를 통해 입력되는 방송신호(301) 중 특정 채널의 주파수를 튜닝하여 복조부(312)로 출력한다. 튜너(311)는 방송 소스 예를 들어, 지상파, 케이블, 위성별로 각각 구비될 수도 있고, 통합 튜너일 수도 있다. 또한 튜너(311)가 지상파 방송용 튜너라고 가정할 경우, 적어도 하나의 디지털 튜너와 아날로그 튜너를 각각 구비할 수도 있고, 디지털/아날로그 통합 튜너일 수도 있다. 튜너(311)는 지상파를 예로 들 경우, 안테나를 통해 전송되는 지상파 방송 콘텐츠 즉, 방송 신호 중 사용자가 선 택한 채널의 방송 신호를 튜닝하여 복조부(312)로 출력한다.The tuner 311 receives broadcast data from at least one of the terrestrial wave, satellite, and cable, and outputs the broadcast data to the demodulator 312. That is, the tuner 311 tunes the frequency of a specific channel among the broadcast signals 301 input through any one of an antenna, a cable, and a satellite and outputs the tuner 312 to the demodulator 312. The tuner 311 may be provided for each broadcast source, for example, terrestrial wave, cable, and satellite, or may be an integrated tuner. In addition, when the tuner 311 is assumed to be a terrestrial broadcasting tuner, the tuner 311 may include at least one digital tuner and an analog tuner, or may be a digital / analog integrated tuner. When the terrestrial wave is an example, the tuner 311 tunes a terrestrial broadcast content transmitted through an antenna, that is, a broadcast signal of a channel selected by a user from among broadcast signals, and outputs the tuned signal to the demodulator 312.

여기서 튜너(311)가 수신하는 방송 데이터는 A/V 데이터, MPEG 섹션 데이터, 애플리케이션 데이터 중 적어도 하나를 포함한다. A/V 데이터는 오디오 데이터 또는 비디오 데이터를 의미한다. 또한 MPEG 섹션 데이터는 SI(System Information), EAS, AIT(Application Information Table)를 포함하는 데이터이다. 특히 AIT(Application Information Table)는 데이터 서비스를 위해 수신기에서 구동되는 애플리케이션에 대한 정보를 포함하는 테이블을 의미하며, 경우에 따라서는 XAIT, AMT라고도 불리운다. 이러한 AIT는 애플리케이션에 대한 정보, 예컨대 애플리케이션의 이름(name), 애플리케이션의 버전, 애플리케이션의 우선 순위, 애플리케이션의 ID, 애플리케이션의 상태(auto-start, 사용자에 의한 조작가능, kill 등), 애플리케이션의 타입(Java 또는 HTML), 애플리케이션의 class들과 데이터 파일을 포함하는 스트림의 위치, 애플리케이션의 base directory, 애플리케이션의 아이콘의 위치 등에 대한 정보를 포함할 수 있다.The broadcast data received by the tuner 311 includes at least one of A / V data, MPEG section data, and application data. A / V data means audio data or video data. In addition, the MPEG section data is data including SI (System Information), EAS, and Application Information Table (AIT). In particular, an application information table (AIT) refers to a table including information on an application running in a receiver for data services, and in some cases, is also referred to as XAIT and AMT. These AITs provide information about the application, such as the name of the application, the version of the application, the priority of the application, the ID of the application, the state of the application (auto-start, user operable, kill, etc.), and the type of application. (Java or HTML), the location of the stream containing the classes and data files of the application, the base directory of the application, the location of the icon of the application, and the like.

애플리케이션 데이터는 애플리케이션(110)의 프로그램 코드를 포함하는 데이터를 의미한다. 프로세서(350)는 AIT(Application Information Table)를 기초로 전송 모드를 결정하고, 결정한 전송 모드로 애플리케이션 데이터를 다운로드 하도록 제어할 수 있다. 여기서 전송 모드는 방송 데이터를 수신하는 전송 방식 및 전송 매체의 종류를 의미한다. 전송 방식은 네트워크 계층별 사용되는 프로토콜 종류를 의미하는 것으로, DSM-CC User-to-User, Data and Object Carousel protocols, HTTP, TCP, UDP, IP, MPEG-2 Transport Stream, Ethernet 프로토콜 등이 선택적으 로 사용될 수 있다. 또한 전송 방식은 MHP 규격 상에 정의된 Broadcast Channel Protocols 및 Interaction Channel Protocols이 될 수 있다.Application data refers to data containing the program code of the application (110). The processor 350 may determine a transmission mode based on an application information table (AIT) and control to download application data in the determined transmission mode. Herein, the transmission mode refers to a transmission method and a type of transmission medium for receiving broadcast data. The transmission method refers to the type of protocol used for each network layer, and DSM-CC User-to-User, Data and Object Carousel protocols, HTTP, TCP, UDP, IP, MPEG-2 Transport Stream, and Ethernet protocol are optional. Can be used as In addition, the transmission method may be Broadcast Channel Protocols and Interaction Channel Protocols defined in the MHP standard.

전송 매체의 종류로는 지상파, 위성, 케이블 및 인터넷 망 등을 포함할 수 있다.Types of transmission media may include terrestrial, satellite, cable and Internet networks.

또한 전송 모드는 방송 데이터의 종류에 따라 전송 방식 및 전송 경로를 달리하는 전송 모드를 포함할 수 있다. 즉 방송 수신기(300)는 A/V 데이터는 케이블을 통해 수신하고, 애플리케이션 데이터는 인터넷 망을 통해 수신하는 전송 모드를 지원할 수 있다.In addition, the transmission mode may include a transmission mode in which a transmission method and a transmission path vary depending on the type of broadcast data. That is, the broadcast receiver 300 may support a transmission mode in which A / V data is received through a cable and application data is received through an internet network.

또한 프로세서(350)는 AIT(Application Information Table)를 이용하여 애플리케이션 정보를 검출할 수 있다. AIT를 이용하여 애플리케이션 정보를 검출하는 방법으로는 component_tag, original_network_id, transport_stream_id, service_id가 사용되어 검출될 수 있다. 상기 component_tag는 해당 Object Carousel의 DSI를 운반하는 elementary stream을 지칭하며, 상기 original_network_id는 transport connection을 제공하는 TS의 DVB-SI original_network_id를 지칭한다. 또한 상기 transport_stream_id는 transport connection을 제공하는 TS의 MPEG TS를 지칭하며, 상기 service_id는transport connection을 제공하는 서비스의 DVB-SI를 지칭한다. 상기 original_network_id, transport_stream_id, service_id가 이용되어 특정 채널에 대한 정보를 얻을 수 있다.In addition, the processor 350 may detect application information using an application information table (AIT). As a method of detecting application information using AIT, component_tag, original_network_id, transport_stream_id, and service_id may be detected. The component_tag refers to an elementary stream carrying DSI of the corresponding Object Carousel, and the original_network_id refers to the DVB-SI original_network_id of the TS providing the transport connection. In addition, the transport_stream_id refers to the MPEG TS of the TS providing the transport connection, and the service_id refers to the DVB-SI of the service providing the transport connection. The original_network_id, transport_stream_id, and service_id may be used to obtain information on a specific channel.

네트워크 인터페이스부(323)는 네트워크 장치와 연결된다. 여기서 네트워크 장치는 네트워크 인터페이스부(323)에 장착될 수 있고 탈착될 수 있고 외장 랜카드일 수 있다. 또한 네트워크 장치는 Card bus 랜카드, USB 무선 랜카드, USB 유선 랜카드, 리얼포트 랜카드일 수 있다.The network interface unit 323 is connected with a network device. The network device may be mounted on the network interface unit 323, may be detachable, or may be an external LAN card. The network device may also be a card bus LAN card, a USB wireless LAN card, a USB wired LAN card, or a real port LAN card.

네트워크 인터페이스부(323)는 연결된 네트워크 장치를 통해 리턴 채널(Return Channel)을 제공한다. 여기서 리턴 채널은 방송 수신기(300) 및 원격 서버 사이의 연결을 제공하는 통신 메카니즘(communications mechanism)이다. 원격 서버는 일예로 서비스 프로바이더가 방송 서비스를 제공하기 위해 설치한 서버일 수 있다. 리턴 채널은 디지털 CATV(Cable Television) 리턴 채널, DECT(Digital Enhanced Cordless Telecommunications) 리턴 채널, PSTN(Public Switched Telephone Network) 리턴 채널, ISDN(Integrated Services Digital Network) 리턴 채널, LMDS(Local Multipoint Distribution System) 리턴 채널 및 MATV(Master-Antenna Television) 리턴 채널 중 적어도 하나를 포함할 수 있다.The network interface unit 323 provides a return channel through the connected network device. The return channel here is a communication mechanism that provides a connection between the broadcast receiver 300 and the remote server. The remote server may be, for example, a server installed by a service provider to provide a broadcast service. Return channels include digital cable television (CATV) return channels, digital enhanced cordless telecommunications (DECT) return channels, public switched telephone network (PSTN) return channels, integrated services digital network (ISDN) return channels, and local multipoint distribution system (LMDS) returns. It may include at least one of a channel and a master-antenna television (MATV) return channel.

방송 수신기(300)는 리턴 채널을 통해 원격 서버와 연결할 수 있고, 원격 서버로 데이터를 전송할 수 있다. 리턴 채널을 제공하기 위해, 네트워크 인터페이스부(323)는 인터넷 망을 통해 방송 데이터를 수신하고 수신한 방송 데이터를 CA(313) 또는 통신 제어부(388)로 출력한다.The broadcast receiver 300 may connect with a remote server through a return channel and transmit data to the remote server. In order to provide a return channel, the network interface unit 323 receives broadcast data through the Internet network and outputs the received broadcast data to the CA 313 or the communication control unit 388.

복조부(312)는 튜너(311)가 출력한 신호를 복조하여 CA(313)로 출력한다. CA(313)는 복조부(312)가 출력한 신호 또는 네트워크 인터페이스부(323)가 출력한 신호를 디스크램블하여 역다중화부(314)로 출력한다. 역다중화부(314)는 CA(313)가 출력한 신호인 디지털 데이터 스트림을 오디오 및 비디오를 나타내는 데이터 스트 림(예를 들면 MPEG-2 포멧) 및 반복 방송되는 DSM-CC 객체 캐로셀 형태의 애플리케이션용 데이터로 역다중화한다. 여기서 비-방송 배송 채널들과 인터페이스할 수 있는 방송 수신기의 다른 실시예로 튜너(311)는 비-방송 배송 채널에 적합한 네트워크 인터페이스로 대치될 수 있다. 비-방송 배송 채널은 인터넷 프로토콜(IP) 기반 배송채널일 수 있다.The demodulator 312 demodulates the signal output from the tuner 311 and outputs the demodulated signal to the CA 313. The CA 313 descrambles the signal output from the demodulator 312 or the signal output from the network interface 323, and outputs the descrambled signal to the demultiplexer 314. The demultiplexer 314 is an application in the form of a DSM-CC object carousel in which a data stream (for example, MPEG-2 format) representing audio and video and a DSM-CC object carousel are repeatedly broadcast. Demultiplex with data. Here in another embodiment of a broadcast receiver capable of interfacing with non-broadcast delivery channels, the tuner 311 may be replaced with a network interface suitable for a non-broadcast delivery channel. The non-broadcast delivery channel may be an Internet Protocol (IP) based delivery channel.

미디어 디코더(315)는 역다중화부(314)가 역다중화한 오디오 스트림 및 비디오 스트림을 디스플레이될 수 있는 오디오(302) 및 비디오(303)로 각각 복호화한다. 이를 위해 미디어 디코더(315)는 오디오 복호기, 비디오 복호기를 포함할 수 있다. 여기서 디스플레이되는 비디오(303)는 사용자 인터페이스(321)로부터 출력되는 영상을 포함할 수 있다.The media decoder 315 decodes the audio stream and the video stream demultiplexed by the demultiplexer 314 into audio 302 and video 303 which can be displayed, respectively. To this end, the media decoder 315 may include an audio decoder and a video decoder. The video 303 displayed here may include an image output from the user interface 321.

프로세스(350)는 애플리케이션(370) 및 미들웨어(380)를 실행시킨다. 여기서 애플리케이션(370) 및 미들웨어(380)는 각각 방송 수신기(100)의 애플리케이션(110) 및 미들웨어(120)에 대응하는 구성요소이다.Process 350 executes application 370 and middleware 380. The application 370 and the middleware 380 are components corresponding to the application 110 and the middleware 120 of the broadcast receiver 100, respectively.

미들웨어(380)는 튜너(311), 복조부(312), CA(313), 역다중화부(314), 미디어 디코더(315), 사용자 인터페이스(321), 저장매체(322), 네트워크 인터페이스부(323)를 제어 또는 관리하고, 애플리케이션(370)에 할당한다. 이를 위해 미들웨어(380)는 튜너 제어부(381), CA 제어부(382), MPEG-2 SECTION FILTER(383), 서비스 정보 처리부(384), DSM-CC(385), 미디어 제어부(386), 저장 제어부(387) 및 통신 제어부(388)를 구비한다.The middleware 380 includes a tuner 311, a demodulator 312, a CA 313, a demultiplexer 314, a media decoder 315, a user interface 321, a storage medium 322, and a network interface unit ( 323 is controlled or managed and assigned to the application 370. To this end, the middleware 380 includes a tuner controller 381, a CA controller 382, an MPEG-2 SECTION FILTER 383, a service information processor 384, a DSM-CC 385, a media controller 386, and a storage controller. 387 and a communication control unit 388 are provided.

튜너 제어부(381)는 튜너(811)를 제어하여 튜너(811)를 애플리케이션(370)에 할당하거나 애플리케이션(370)의 명령에 따라 튜너(811)의 튜닝 주파수를 변경한다. CA 제어부(382)는 CA(312)를 제어하여 CA(312)가 복조부(312)로부터 출력된 신호를 디스크램블 하도록 한다.The tuner controller 381 controls the tuner 811 to allocate the tuner 811 to the application 370 or to change the tuning frequency of the tuner 811 according to a command of the application 370. The CA controller 382 controls the CA 312 so that the CA 312 descrambles the signal output from the demodulator 312.

MPEG-2 SECTION FILTER(383)는 역다중화부(314)가 역다중화한 비디오에 관련된 데이터 스트림을 필터링하여 비디오를 디스플레이하기 위한 정보를 추출하고, 서비스 정보 처리부(384)는 역다중화부(314)가 역다중화한 데이터 중에서 서비스 정보를 추출하여 처리한다. 즉 MPEG-2 SECTION FILTER(383)는 수신된 방송 데이터로부터 MPEG 섹션 데이터를 추출한다. 특히 MPEG-2 SECTION FILTER(383)는 수신된 방송 데이터로부터 전송 모드에 대한 안내 정보인 호스트 접근 안내 정보를 추출할 수 있다. 여기서 호스트 접근 안내 정보는 일예로 AIT에 포함되어 전송될 수 있다. 이러한 경우에는, MPEG-2 SECTION FILTER(383)는 방송 데이터로부터 AIT를 추출함으로써 호스트 접근 안내 정보를 추출할 수 있다.The MPEG-2 SECTION FILTER 383 extracts information for displaying a video by filtering a data stream related to the video demultiplexed by the demultiplexer 314, and the service information processor 384 demultiplexes 314. Service information is extracted and processed from the demultiplexed data. That is, the MPEG-2 SECTION FILTER 383 extracts MPEG section data from the received broadcast data. In particular, the MPEG-2 SECTION FILTER 383 may extract host access guide information, which is guide information on a transmission mode, from the received broadcast data. In this case, the host access guide information may be included in the AIT and transmitted. In such a case, the MPEG-2 SECTION FILTER 383 may extract host access guide information by extracting AIT from broadcast data.

DSM-CC(385)는 역다중화부(314)가 역다중화한 애플리케이션용 데이터를 파싱하여 애플리케이션 프로그램 및 애플리케이션 정보를 추출하고 추출된 정보를 저장매체(322)에 저장한다. 저장매체(322)에 저장된 애플리케이션 프로그램은 프로세스(350)에서 실행된다.The DSM-CC 385 parses application data demultiplexed by the demultiplexer 314 to extract application program and application information, and stores the extracted information in the storage medium 322. The application program stored in storage medium 322 is executed in process 350.

미디어 제어부(386)는 미디어 디코더(315)를 제어하여 오디오(302) 및 비디오(303)가 디스플레이되도록 한다. 또한 미디어 제어부는 저장매체(322)에 저장된 데이터 접근 정보와 연관되는 MPEG-2 SECTION FILTER(383)가 추출한 호스트 접근 안내 정보를 검색하고, 검색한 호스트 접근 안내 정보가 지시하는 전송 모드로 방 송 데이터를 수신하도록 튜너(311) 또는 네트워크 인터페이스부(323)를 제어할 수 있다. 여기서 미디어 제어부(386)는 네트워크 인터페이스부(323)를 직접 제어하는 대신에 통신 제어부(388)가 네트워크 인터페이스부(323)를 제어하도록 하여, 네트워크 인터페이스부(323)가 검색한 호스트 접근 안내 정보가 지시하는 전송 모드로 방송 데이터를 수신하도록 할 수 있다.The media controller 386 controls the media decoder 315 to display the audio 302 and video 303. In addition, the media controller retrieves the host access guide information extracted by the MPEG-2 SECTION FILTER 383 associated with the data access information stored in the storage medium 322, and transmits the data in the transmission mode indicated by the retrieved host access guide information. The tuner 311 or the network interface unit 323 may be controlled to receive the signal. Here, the media control unit 386 controls the network interface unit 323 to control the network interface unit 323 instead of directly controlling the network interface unit 323, so that the host access guide information retrieved by the network interface unit 323 is stored. The broadcast data may be received in the indicated transmission mode.

저장 제어부(387)는 오디오 스트림, 비디오 스트림, 애플리케이션 프로그램, 애플리케이션 정보 및 서비스 정보를 저장매체(322)로 저장하고 저장매체(322)에 저장된 오디오 스트림, 비디오 스트림, 애플리케이션 프로그램, 애플리케이션 정보 및 서비스 정보에 접근하는 것을 제어한다. 저장매체(322)는 RAM 메모리, FLASH 메모리 및 HDD 중 어느 하나일 수 있고 또는 RAM 메모리, FLASH 메모리 및 HDD를 구비할 수 있다. 여기서 HDD는 내장형 HDD일 수 있고 외장형 HDD일 수 있다.The storage control unit 387 stores the audio stream, the video stream, the application program, the application information, and the service information in the storage medium 322, and the audio stream, the video stream, the application program, the application information, and the service information stored in the storage medium 322. Control access to The storage medium 322 may be any one of a RAM memory, a FLASH memory, and an HDD, or may include a RAM memory, a FLASH memory, and an HDD. The HDD may be an internal HDD or an external HDD.

통신 제어부(388)는 애플리케이션(370)이 네트워크 통신이 가능하도록 지원하며, 이를 위해 네트워크 인터페이스부(323)를 제어한다. 또한 통신 제어부(388)는 네트워크 인터페이스부(323)가 방송 데이터를 수신하도록 제어한다. 통신 제어부(388)는 네트워크 인터페이스부(323)가 수신한 방송 데이터 중에 애플리케이션 데이터를 추출하여 저장매체에 저장되도록 저장 제어부(387)에 제공할 수 있고, 네트워크 인터페이스부(323)가 수신한 방송 데이터 중에 A/V 데이터를 CA(313)로 출력되도록 제어할 수 있다.The communication control unit 388 supports the application 370 to enable network communication, and controls the network interface unit 323 for this purpose. In addition, the communication control unit 388 controls the network interface unit 323 to receive broadcast data. The communication control unit 388 may provide application to the storage control unit 387 to extract application data from the broadcast data received by the network interface unit 323 and store it in the storage medium. The broadcast data received by the network interface unit 323 may be provided. The A / V data may be controlled to be output to the CA 313.

통신 제어부(388)는 네트워크 인터페이스부(370)가 제공하는 리턴 채널을 관리한다. 애플리케이션(370)이 리턴 채널 사용을 요청하면, 통신 제어부(388)는 리 턴 채널 인터페이스를 애플리케이션(370)에 제공한다.The communication controller 388 manages a return channel provided by the network interface unit 370. When the application 370 requests the use of the return channel, the communication control unit 388 provides the return channel interface to the application 370.

또한 통신 제어부(388)는 네트워크 인터페이스부(370)에 연결되는 네트워크 장치를 관리한다. 애플리케이션(370)이 네트워크 장치 상태 정보를 요청하면, 통신 제어부(388)는 네트워크 장치 상태 정보를 제공한다. 여기서 네트워크 장치 상태 정보는 네트워크 장치의 상태에 대한 정보를 말한다. 그리고 네트워크 장치의 상태는 장착 상태 및 탈착 상태 중 어느 하나일 수 있다.In addition, the communication controller 388 manages a network device connected to the network interface unit 370. When the application 370 requests network device state information, the communication control unit 388 provides the network device state information. Here, the network device state information refers to information about the state of the network device. The network device may be any one of a mounted state and a detached state.

또한 통신 제어부(388)는 네트워크 장치의 상태 변경 여부를 감시하고, 네트워크 장치의 상태가 변경된 경우에는, 애플리케이션(370)에 네트워크 장치 상태 정보를 제공할 수 있다. 여기서 네트워크 장치 상태 변경시 네트워크 장치 상태 정보를 수신기하기 위해서, 애플리케이션(370)은 통신 제어부(388)에 별도의 요청 절차를 수행해야할 필요가 있을 수 있다. 즉 애플리케이션(370)의 요청 절차 수행 여부에 따라 통신 제어부(388)는 네트워크 장치의 상태 변경시 네트워크 장치 상태 정보를 제공할 수 있다.In addition, the communication controller 388 may monitor whether the network device is in a state change and may provide network device state information to the application 370 when the state of the network device is changed. Here, in order to receive network device state information when the network device state changes, the application 370 may need to perform a separate request procedure to the communication controller 388. That is, the communication control unit 388 may provide network device state information when the state of the network device is changed depending on whether the application 370 performs the request procedure.

네트워크 장치의 상태 변경시 네트워크 장치 상태 정보를 수신하기 위한 요청 절차의 일예로, 애플리케이션(370)은 네트워크 장치 상태 정보를 수신하는 리스너 인스턴스를 생성하고, 생성한 인스턴스를 등록할 수 있다. 여기서 리스너 인스턴스는 리턴 채널 장치 매니저 인스턴스가 제공하는 메소드를 통해 등록될 수 있다. 애플리케이션(370)은 리스너 인스턴스 등록을 위해, 먼저 네트워크 장치를 관리하는 리턴 채널 장치 매니저 인스턴스를 획득할 필요가 있다. As an example of a request procedure for receiving network device state information when a state of a network device is changed, the application 370 may create a listener instance that receives network device state information and register the created instance. In this case, the listener instance may be registered through a method provided by the return channel device manager instance. The application 370 needs to obtain a return channel device manager instance that manages the network device, in order to register a listener instance.

통신 제어부(388)는 리턴 채널 장치 매니저 인스턴스를 생성하고, 애플리케 이션(370)이 리턴 채널 장치 매니저 인스턴스를 요청하면 해당 리턴 채널 장치 매니저 인스턴스를 애플리케이션(370)에 제공한다. 또한 통신 제어부(388)는 네트워크 장치의 상태가 변경된 경우에는, 네트워크 장치 상태 정보를 알려주는 이벤트 인스턴스를 생성하고, 생성한 이벤트 인스턴스를 애플리케이션(370)이 등록한 리스너 인스턴스로 전달할 수 있다.The communication control unit 388 generates a return channel device manager instance, and when the application 370 requests the return channel device manager instance, the communication control unit 388 provides the corresponding return channel device manager instance to the application 370. In addition, when the state of the network device is changed, the communication controller 388 may generate an event instance informing the network device state information, and transfer the generated event instance to a listener instance registered by the application 370.

프로세스(380)는 단일 프로세스 또는 멀티 프로세스로 구현될 수 있고, 미들웨어(380)의 튜너 제어부(381), CA 제어부(382), MPEG-2 SECTION FILTER(383), 서비스 정보 처리부(384), DSM-CC(385), 미디어 제어부(386), 저장 제어부(387) 및 통신 제어부(388)는 각각 하드웨어 또는 펌웨어로 이루어질 수 있다. 이러한 경우에는 미들웨어(380)는 애플리케이션(370)이 하드웨어 또는 펌웨어로 이루어진 튜너 제어부(381), CA 제어부(382), MPEG-2 SECTION FILTER(383), 서비스 정보 처리부(384), DSM-CC(385), 미디어 제어부(386), 저장 제어부(387) 및 통신 제어부(388)를 사용할 수 있도록 매개하는 역할을 수행한다.The process 380 may be implemented as a single process or a multi-process, and may include a tuner control unit 381, a CA control unit 382, an MPEG-2 SECTION FILTER 383, a service information processing unit 384, and a DSM of the middleware 380. The CC 385, the media controller 386, the storage controller 387, and the communication controller 388 may be made of hardware or firmware, respectively. In this case, the middleware 380 is a tuner control unit 381, CA control unit 382, MPEG-2 SECTION FILTER 383, service information processing unit 384, DSM-CC 385, the media control unit 386, the storage control unit 387, and the communication control unit 388 are used to mediate.

도 4는 본 발명에 따른 리턴 채널 장치 매니저 클래스 및 리스너 클래스의 다이어그램을 도시한 도면이다.4 is a diagram illustrating a return channel device manager class and a listener class according to the present invention.

도 4를 참조하면, 리턴 채널 장치 매니저 클래스(RCDeviceManager)는 리턴 채널 장치 객체를 포함할 수 있다. 리턴 채널 장치 객체는 리턴 채널 장치 클래스(RCDevice)로 정의되고 리턴 채널 장치 클래스(RCDevice)는 리턴 채널의 네트워크 인터페이스를 모델링하는 클래스와 일대일로 매칭될 수 있다. 즉 리턴 채널 장치 클래스(RCDevice)는 매칭되는 네트워크 인터페이스를 모델링하는 클래스의 인스 턴스를 획득할 수 있다. 여기서 리턴 채널의 네트워크 인터페이스를 모델링하는 클래스는 org.dvb.net.rc package에 포함된 RCInterface일 수 있다. org.dvb.net.rc package는 DVB 규격에서 제안된 양방향 IP 연결을 위한 세션 관리에 관련된 Java API를 포함한 것이다. Referring to FIG. 4, the return channel device manager class RCDeviceManager may include a return channel device object. The return channel device object may be defined as a return channel device class RCDevice and the return channel device class RCDevice may be matched one-to-one with a class that models a network interface of the return channel. That is, the return channel device class RCDevice may obtain an instance of a class that models a matching network interface. Here, the class modeling the network interface of the return channel may be RCInterface included in the org.dvb.net.rc package. The org.dvb.net.rc package contains Java API related to session management for bidirectional IP connection proposed in DVB specification.

애플리케이션(Application)은 리턴 채널 장치 매니저 클래스(RCDeviceManager)의 인스턴스를 획득하고, 획득한 리턴 채널 장치 매니저 클래스(RCDeviceManager)의 인스턴스를 이용하여 네트워크 장치의 상태를 확인할 수 있다. 애플리케이션(Application)은 리스너(RCDeviceStatusListener) 인스턴스를 생성하고 생성한 리스너 인스턴스를 리턴 채널 장치 매니저 클래스(RCDeviceManager)의 인스턴스가 제공하는 메소드를 이용하여 등록을 할 수 있다. 또한 애플리케이션(Application)은 리턴 채널 장치 매니저 클래스(RCDeviceManager)의 인스턴스가 제공하는 메소드를 이용하여 미들웨어(120)에 네트워크 장치 정보를 요청할 수 있다.The application may obtain an instance of the return channel device manager class RCDeviceManager and check the state of the network device by using the obtained instance of the return channel device manager class RCDeviceManager. An application may create a listener instance (RCDeviceStatusListener) and register the created listener instance by using a method provided by an instance of the return channel device manager class (RCDeviceManager). In addition, the application may request network device information from the middleware 120 using a method provided by an instance of the return channel device manager class RCDeviceManager.

도 5는 본 발명에 따른 RCDeviceManager, RCDevice 및 RCDeviceStatusListener의 API 명세에 대한 바람직한 일실예를 도시한 도면이다.5 is a diagram illustrating a preferred example of the API specification of the RCDeviceManager, RCDevice and RCDeviceStatusListener according to the present invention.

도 5를 참조하면, RCDeviceManager는 public class type으로 정의되며, 장착 속성(ATTACHED attribute), 탈착 속성(DETACHED attribute), 인스턴스 획득 메소드(getInstance method), 리턴 채널 장치 획득 메소드(getRCDevices method), 리스너 등록 메소드(addRCDeviceListener method) 및 리스너 제거 메소드(removeRCDeviceListener method)를 포함한다.Referring to FIG. 5, the RCDeviceManager is defined as a public class type, and has a ATTACHED attribute, a DETACHED attribute, an instance get method, a get channel device get method, a listener registration method. (addRCDeviceListener method) and remove listener method (removeRCDeviceListener method).

장착 속성은 네트워크 장치가 네트워크 인터페이스부(323)에 연결되어 사용 가능한 상태를 지시하는 것으로, public static final int 타입으로 정의되고 '0'값이 할당된다.The mounting attribute indicates a state in which the network device is connected to the network interface unit 323 and can be used. The mounting property is defined as a public static final int type and is assigned a value of '0'.

탈착 속성은 네트워크 장치가 네트워크 인터페이스부(323)에 연결되지 않은 상태를 지시하는 것으로, public static final int 타입으로 정의되고 '1'값이 할당된다.The detachment property indicates a state in which a network device is not connected to the network interface unit 323 and is defined as a public static final int type and assigned a value of '1'.

인스턴스 획득 메소드는 RCDeviceManager의 인스턴스를 반환하는 팩토리(Factory) API로, public static 타입으로 정의되고 RCDeviceManager의 인스턴스를 리턴한다.The instance acquisition method is a factory API that returns an instance of RCDeviceManager. It is defined as a public static type and returns an instance of RCDeviceManager.

리턴 채널 장치 획득 메소드는 네트워크 인터페이스부(323)에 연결되어 있는 모든 네트워크 장치를 획득하는 API로, public RCDevice[] 타입으로 정의되고, 네트워크 인터페이스부(323)에 연결된 모든 네트워크 장치에 대한 RCDevice의 인스턴스들을 포함하는 배열을 리턴한다.The return channel device acquisition method is an API for acquiring all network devices connected to the network interface unit 323. The return channel device acquisition method is defined as a public RCDevice [] type and is an instance of an RCDevice for all network devices connected to the network interface unit 323. Returns an array containing the strings.

리스너 등록 메소드는 네트워크 장치 상태가 변경되는 것을 동적으로 알기 위해 사용되는 API로, public void 타입으로 정의되며, 파라미터(parameter)로 RCDeivceStatusListener 객체를 갖는다. 여기서 RCDeviceStatusListener는 네트워크 장치 상태 정보를 수신하기 위한 리스너 클래스이며, 애플리케이션에서 RCDeviceStatusListener가 구현될 수 있고 RCDeviceStatusListener의 인스턴스가 생성될 수 있다. 리스너 등록 메소드는 파라미터로 전달되는 RCDeviceStatusListener의 인스턴스를 등록하는 기능을 수행한다.The listener registration method is an API used to dynamically notify network device status changes. It is defined as a public void type and has a RCDeivceStatusListener object as a parameter. Here, RCDeviceStatusListener is a listener class for receiving network device status information. RCDeviceStatusListener may be implemented in an application and an instance of RCDeviceStatusListener may be created. The listener registration method registers an instance of RCDeviceStatusListener that is passed as a parameter.

애플리케이션은 RCDeviceStatusListener 인스턴스를 생성하고, 리스너 등록 메소드를 이용하여 생성한 RCDeviceStatusListener 인스턴스를 등록할 수 있다. 예를 들면, 애플리케이션이 RCDeviceStatusListener 인스턴스인 RCDeviceStatusListener 1을 생성하고, RCDeviceManager.addRCDeviceListener (RCDeviceStatusListener 1)를 실행함으로써 RCDeviceStatusListener 1을 등록할 수 있다.The application can create an RCDeviceStatusListener instance and register the created RCDeviceStatusListener instance using the listener registration method. For example, an application can register RCDeviceStatusListener 1 by creating RCDeviceStatusListener 1, which is an instance of RCDeviceStatusListener, and running RCDeviceManager.addRCDeviceListener (RCDeviceStatusListener 1).

리스너 제거 메소드는 등록된 RCDeviceStatusListener를 제거하기 위해 사용되는 API로, Public void 타입으로 정의되며, 파라미터로 RCDeviceStatusListener 객체를 갖는다. 여기서 파라미터로 전달되는 RCDeviceStatusListener 인스턴스가 등록되어 있지 않거나 유효하지 않는 경우에는, 무시된다.The listener removal method is an API used to remove a registered RCDeviceStatusListener. It is defined as a public void type and has a RCDeviceStatusListener object as a parameter. If the RCDeviceStatusListener instance passed as a parameter here is not registered or is invalid, it will be ignored.

애플리케이션은 리스너 제거 메소드를 이용하여 등록한 RCDeviceStatusListener 인스턴스를 제거할 수 있다. 예를 들면, 애플리케이션은 RCDeviceManager.removeRCDeviceListener (RCDeviceStatusListener 1)를 실행함으로써 등록된 RCDeviceStatusListener 1을 제거할 수 있다.The application can remove the registered RCDeviceStatusListener instance using the remove listener method. For example, an application can remove a registered RCDeviceStatusListener 1 by executing RCDeviceManager.removeRCDeviceListener (RCDeviceStatusListener 1).

RCDevice는 물리적인 네트워크 장치를 나타내는 클래스로, public class 타입으로 정의되고, getRCInterface () 메소드 및 getCurrentStatus () 메소드를 포함한다. getRCInterface () 메소드는 public RCInterface로 정의되고, RCDevice와 관계되는 리턴 채널 인터페이스(RCInterface)의 인스턴스를 리턴한다. 여기서 리턴 채널 인터페이스(RCInterface)의 인스턴스는 org.dvb.net.rc.RCInterface 인스턴스일 수 있다.RCDevice is a class that represents a physical network device. It is defined as a public class type and contains the getRCInterface () and getCurrentStatus () methods. The getRCInterface () method is defined as public RCInterface and returns an instance of the return channel interface (RCInterface) associated with the RCDevice. Here, the instance of the return channel interface (RCInterface) may be an org.dvb.net.rc.RCInterface instance.

getCurrentStatus() 메소드는 RCDevice의 현재 상태를 알아볼 때 사용되는 메소드로 public int 타입으로 정의된다. getCurrentStatus() 메소드는 RCDeviceManager.ATTACHED 또는 RCDeviceManager.DETACHED를 리턴한다.The getCurrentStatus () method is used to check the current status of RCDevice. It is defined as a public int type. The getCurrentStatus () method returns either RCDeviceManager.ATTACHED or RCDeviceManager.DETACHED.

RCDeviceStatusListener는 public interface 타입으로 정의되고, receiveRCDeviceEvent(RCDeviceEvent event) 메소드를 포함한다. RCDeviceStatusListener가 public interface 타입을 정의됨에 따라, 애플리케이션에서 RCDeviceStatusListener를 상속하여 RCDeviceStatusListener의 클래스를 구현할 수 있다. RCDeviceStatusListener는 네트워크 장치의 상태를 동적으로 알고자 할 때 사용된다. 즉 네트워크 장치의 동적인 상태를 알고자 하는 곳에서 RCDeviceStatusListener 가 구현되어야 한다.RCDeviceStatusListener is defined as a public interface type and contains the receiveRCDeviceEvent (RCDeviceEvent event) method. As RCDeviceStatusListener defines the public interface type, an application can implement RCDeviceStatusListener class by inheriting RCDeviceStatusListener. RCDeviceStatusListener is used to dynamically check the status of network device. In other words, the RCDeviceStatusListener should be implemented where you want to know the dynamic status of the network device.

receiveRCDeviceEvent(RCDeviceEvent event) 메소드는 네트워크 장치의 상태가 변경되는 경우에 해당 이벤트를 애플리케이션에 전달하는 것으로, public void 타입으로 정의되며, 파라미터로 RCDeviceEvent 객체를 갖는다. 여기서 RCDeviceEvent 객체는 RCDeviceAttachedEvent 및 RCDeviceDetachedEvent 중 어느 하나일 수 있다.The receiveRCDeviceEvent (RCDeviceEvent event) method sends an event to an application when the state of a network device changes. It is defined as a public void type and has a RCDeviceEvent object as a parameter. Here, the RCDeviceEvent object may be one of RCDeviceAttachedEvent and RCDeviceDetachedEvent.

도 6은 본 발명에 따른 RCDeviceEvent, RCDeviceAttachedEvent 및 RCDeviceDetachedEvent의 API 명세에 대한 바람직한 일실예를 도시한 도면이다.FIG. 6 is a diagram illustrating a preferred example of an API specification of RCDeviceEvent, RCDeviceAttachedEvent, and RCDeviceDetachedEvent according to the present invention.

도 6을 참조하면, RCDeviceEvent는 네트워크 장치 상태 정보를 알려주는 이벤트 클래스로, 네트워크 장치의 상태가 동적으로 변경될 때 RCDeviceEvent 객체가 발생하게 된다. RCDeviceEvent는 public class 타입으로 정의되고, java.util.EventObject를 상속받으며 RCDeviceEvent(java.lang.Object source) 생성자를 포함한다. RCDeviceEvent는 RCDeviceStatusListener에서 사용된다.Referring to FIG. 6, RCDeviceEvent is an event class indicating network device state information. When a state of a network device is dynamically changed, a RCDeviceEvent object is generated. RCDeviceEvent is defined as a public class type, inherits from java.util.EventObject, and contains the RCDeviceEvent (java.lang.Object source) constructor. RCDeviceEvent is used by RCDeviceStatusListener.

네트워크 장치의 상태가 동적으로 변경될 때, 미들웨어는 RCDeviceEvent 인스턴스를 생성하고 생성한 RCDeviceEvent를 RCDeviceStatusListener.receiveRCDeviceEvent(RCDeviceEvent event) 메소드를 이용하여 RCDeviceStatusListener 인스턴스를 등록한 애플리케이션에 전달할 수 있다.When the state of the network device is dynamically changed, the middleware can create an RCDeviceEvent instance and deliver the created RCDeviceEvent to the application that registered the RCDeviceStatusListener instance using the RCDeviceStatusListener.receiveRCDeviceEvent (RCDeviceEvent event) method.

RCDeviceAttachedEvent는 네트워크 장치가 탈착 상태에서 장착 상태로 변경될 때 발생하게 된다. RCDeviceAttachedEvent는 public class 타입으로 정의되고, RCDeviceEvent를 상속받으며 RCDeviceAttachedEvent(java.lang.Object source) 생성자를 포함한다.RCDeviceAttachedEvent is raised when the network device changes from detached state to attached state. RCDeviceAttachedEvent is defined as a public class type. It inherits RCDeviceEvent and includes the RCDeviceAttachedEvent (java.lang.Object source) constructor.

RCDeviceAttachedEvent(java.lang.Object source) 생성자는 파라미터로 source를 포함한다. 여기서 source는 이벤트가 발생된 RCDevice 객체이다.The constructor RCDeviceAttachedEvent (java.lang.Object source) includes source as a parameter. Where source is the RCDevice object where the event occurred.

RCDeviceDetachedEvent는 네트워크 장치의 상태가 장착 상태에서 탈착 상태로 변경될 때 발생하게 된다. RCDeviceDetachedEvent는 public class 타입으로 정의되고, RCDeviceEvent를 상속받으며 RCDeviceDetachedEvent(java.lang.Object source) 생성자를 포함한다.RCDeviceDetachedEvent occurs when the state of the network device changes from the attached state to the detached state. RCDeviceDetachedEvent is defined as a public class type. It inherits RCDeviceEvent and includes the RCDeviceDetachedEvent (java.lang.Object source) constructor.

RCDeviceDetachedEvent(java.lang.Object source) 생성자는 파라미터로 source를 포함한다. 여기서 source는 이벤트가 발생된 RCDevice 객체이다.The constructor RCDeviceDetachedEvent (java.lang.Object source) includes source as a parameter. Where source is the RCDevice object where the event occurred.

등록된 RCDeviceStatusListener를 통해 RCDeviceAttachedEvent를 전달받은 경우에는, 애플리케이션(370)은 네트워크 장치가 탈착 상태에서 장착 상태로 변경된 것을 알 수 있다. 또한 등록된 RCDeviceStatusListener를 통해 RCDeviceDetachedEvent를 전달받은 경우에는, 애플리케이션(370)은 네트워크 장치가 장착 상태에서 탈착 상태로 변경된 것을 알 수 있다.When RCDeviceAttachedEvent is received through the registered RCDeviceStatusListener, the application 370 may recognize that the network device is changed from the detached state to the mounted state. In addition, when the RCDeviceDetachedEvent is received through the registered RCDeviceStatusListener, the application 370 may recognize that the network device is changed from the attached state to the detached state.

도 7은 본 발명에 따른 RCDeviceEvent의 API 명세에 대한 바람직한 다른 실시예를 도시한 도면이다.7 is a diagram showing another preferred embodiment of the API specification of RCDeviceEvent according to the present invention.

도 7을 참조하면, RCDeviceEvent는 네트워크 장치 상태 정보를 알려주는 것으로 네트워크 장치의 상태가 동적으로 변경될 때 발생하게 된다. RCDeviceEvent는 public class 타입으로 정의되고, java.util.EventObject를 상속받으며 RCDeviceEvent(java.lang.Object source, int status) 생성자 및 getStatus() 메소드를 포함한다.Referring to FIG. 7, RCDeviceEvent informs network device state information and occurs when a state of a network device is dynamically changed. RCDeviceEvent is defined as a public class type, inherits from java.util.EventObject, and includes the RCDeviceEvent (java.lang.Object source, int status) constructor and the getStatus () method.

RCDeviceEvent(java.lang.Object source, int status) 생성자는 파라미터로 source, status를 포함한다. source는 이벤트가 발생된 RCDevice 객체이며 status는 네트워크 장치가 장착 상태이면 RCDeviceManager.ATTACHED가 되고, 네트워크 장치가 탈착 상태이면 RCDeviceManager.DETACHED가 된다.The constructor of RCDeviceEvent (java.lang.Object source, int status) includes source and status as parameters. source is the RCDevice object where the event occurred. status is RCDeviceManager.ATTACHED if the network device is in the mounted state, and RCDeviceManager.DETACHED if the network device is in the detached state.

getStatus() 메소드는 RCDeviceEvent(java.lang.Object source, int status) 생성자의 파라미터인 status를 제공한다.The getStatus () method provides the status parameter of the RCDeviceEvent (java.lang.Object source, int status) constructor.

네트워크 장치의 상태가 동적으로 변경될 때, 미들웨어(380)는 RCDeviceEvent 인스턴스를 생성하고 생성한 RCDeviceEvent를 RCDeviceStatusListener.receiveRCDeviceEvent(RCDeviceEvent event) 메소드를 이 용하여 RCDeviceStatusListener 인스턴스를 등록한 애플리케이션에 전달할 수 있다. 여기서 만일 네트워크 장치의 상태가 탈착 상태에서 장착 상태로 변경될 때, 미들웨어는 RCDeviceEvent(RCDevice, RCDeviceManager.ATTACHED)를 실행하여 RCDeviceEvent를 생성하고, 만일 네트워크 장치의 상태가 장착 상태에서 탈착 상태로 변경될 때, 미들웨어(380)는 RCDeviceEvent(RCDevice, RCDeviceManager.DETACHED)를 실행하여 RCDeviceEvent를 생성할 있다.When the state of the network device is dynamically changed, the middleware 380 may create a RCDeviceEvent instance and deliver the generated RCDeviceEvent to the application that registered the RCDeviceStatusListener instance by using the RCDeviceStatusListener.receiveRCDeviceEvent (RCDeviceEvent event) method. Here, if the state of the network device changes from the detached state to the attached state, the middleware executes RCDeviceEvent (RCDevice, RCDeviceManager.ATTACHED) to generate an RCDeviceEvent, and if the state of the network device changes from the attached state to the detached state The middleware 380 may generate RCDeviceEvent by executing RCDeviceEvent (RCDevice, RCDeviceManager.DETACHED).

도 8은 본 발명에 따른 네트워크 장치 모니터링 방법에 대한 바람직한 일실시예의 시퀀스 다이어그램을 도시한 도면이다.8 is a sequence diagram of a preferred embodiment of a network device monitoring method according to the present invention.

도 8을 참조하면, 애플리케이션(810)은 getInterface()를 실행하여 RCDeviceManager 인스턴스(820)의 레퍼런스(reference)를 획득한다(S800). 여기서 RCInterfaceManager 인스턴스(820)는 도 3의 통신 제어부(388)에 포함되거나 대응하는 구성요소일 수 있고 애플리케이션(810)은 도 3의 애플리케이션(370)과 대응하는 구성요소일 수 있다. 또한 애플리케이션(810)은 RCDeviceManager.RCDevice[].getCurrentStatus()를 실행하여 해당 네트워크 장치의 네트워크 장치 상태 정보를 획득할 수 있다.Referring to FIG. 8, the application 810 executes getInterface () to obtain a reference of the RCDeviceManager instance 820 (S800). Here, the RCInterfaceManager instance 820 may be a component included in or correspond to the communication controller 388 of FIG. 3, and the application 810 may be a component corresponding to the application 370 of FIG. 3. In addition, the application 810 may obtain network device status information of the corresponding network device by executing RCDeviceManager.RCDevice []. GetCurrentStatus ().

애플리케이션(810)은 RCDeviceStatusListener를 구현한 클래스의 인스턴스인 RCDeviceStatusListenerImpl instance(840)를 생성한다(S802). 그리고 애플리케이션(810)은 RCDeviceManager.addRCDeviceListener(RCDeviceStatusListener)를 실행하여 생성한 RCDeviceStatusListenerImpl instance(840)를 등록한다(S804).The application 810 generates an RCDeviceStatusListenerImpl instance 840 which is an instance of a class implementing RCDeviceStatusListener (S802). The application 810 registers an RCDeviceStatusListenerImpl instance 840 generated by executing RCDeviceManager.addRCDeviceListener (RCDeviceStatusListener) (S804).

만일 네트워크 장치(830)가 장착되어, 네트워크 장치의 상태가 탈착 상태에 서 장착 상태로 변경된 것이 감지된 경우에는, RCDeviceManager 인스턴스(820)는 네트워크 장치 상태 정보를 알려주는 이벤트 인스턴스로 RCDeviceAttachedEvent를 생성한다(S806). 여기서 RCDeviceManager 인스턴스(820)는 RCDeviceAttachedEvent를 대신하여 RCDeviceEvent(RCDevice, RCDeviceManager.ATTACHED)를 생성할 수 있다.If the network device 830 is mounted and it is detected that the state of the network device is changed from the detached state to the attached state, the RCDeviceManager instance 820 generates an RCDeviceAttachedEvent as an event instance indicating the network device state information ( S806). Here, the RCDeviceManager instance 820 may generate RCDeviceEvent (RCDevice, RCDeviceManager.ATTACHED) in place of RCDeviceAttachedEvent.

RCDeviceManager 인스턴스(820)는 생성한 이벤트 인스턴스인 RCDeviceAttachedEvent 인스턴스를 RCDeviceStatusListenerImpl.receiveRCDeviceEvent(RCDeviceEvent)를 실행하여 RCDeviceStatusListenerImpl 인스턴스(840)로 전달한다(S808).The RCDeviceManager instance 820 executes RCDeviceStatusListenerImpl.receiveRCDeviceEvent (RCDeviceEvent), which is a generated event instance, RCDeviceAttachedEvent instance, and delivers it to the RCDeviceStatusListenerImpl instance 840 (S808).

만일 네트워크 장치(830)가 탈착되어, 네트워크 장치의 상태가 장착 상태에서 탈착 상태로 변경된 것이 감지된 경우에는, RCDeviceManager 인스턴스(820)는 네트워크 장치 상태 정보를 알려주는 이벤트 인스턴스로 RCDeviceDetachedEvent를 생성한다(S810). 여기서 RCDeviceManager 인스턴스(820)는 RCDeviceDetachedEvent를 대신하여 RCDeviceEvent(RCDevice, RCDeviceManager.DETACHED)를 생성할 수 있다.If the network device 830 is detached and it is detected that the state of the network device is changed from the attached state to the detached state, the RCDeviceManager instance 820 generates an RCDeviceDetachedEvent as an event instance indicating the network device state information (S810). ). Here, the RCDeviceManager instance 820 may generate RCDeviceEvent (RCDevice, RCDeviceManager.DETACHED) in place of RCDeviceDetachedEvent.

RCDeviceStatusListenerImpl 인스턴스(840)는 생성한 이벤트 인스턴스인 RCDeviceDetachedEvent 인스턴스를 RCDeviceStatusListenerImpl.receiveRCDeviceEvent(RCDeviceEvent)를 실행하여 RCDeviceStatusListenerImpl 인스턴스(840)로 전달한다(S812).The RCDeviceStatusListenerImpl instance 840 executes RCDeviceStatusListenerImpl.receiveRCDeviceEvent (RCDeviceEvent), which is a generated event instance, RCDeviceDetachedEvent instance, and delivers it to the RCDeviceStatusListenerImpl instance 840 (S812).

애플리케이션(810)은 RCDeviceManager.removeRCInterfaceListener(RCDeviceStatusListener)를 실행하여 등록한 RCDeviceStatusListenerImpl 인스턴스(850)를 제거한다(S814).The application 810 removes the registered RCDeviceStatusListenerImpl instance 850 by executing RCDeviceManager.removeRCInterfaceListener (RCDeviceStatusListener) (S814).

도 9는 본 발명에 따른 채널 상태 모니터링 방법에 대한 바람직한 일실시예의 블록 다이어그램을 도시한 도면이다.9 is a block diagram of a preferred embodiment of a channel state monitoring method according to the present invention.

도 9를 참조하면, 애플리케이션(910)은 RCDeviceStatusListenerImpl 인스턴스(912)를 포함한다. 여기서 애플리케이션(910)은 도 3의 애플리케이션(370)과 대응하는 구성요소이다. 애플리케이션(910)은 네트워크 장치의 수에 따라 필요한 RCDeviceStatusListenerImpl 인스턴스(912)를 생성하여 포함할 수 있다.Referring to FIG. 9, the application 910 includes an RCDeviceStatusListenerImpl instance 912. Here, the application 910 is a component corresponding to the application 370 of FIG. 3. The application 910 may generate and include a required RCDeviceStatusListenerImpl instance 912 according to the number of network devices.

애플리케이션(910)은 getInterface()를 실행하여 미들웨어(920)로부터 RCDeviceManager(925)의 레펀런스를 획득할 수 있다. 또한 애플리케이션(910)은 RCDeviceManager.addRCDeviceListener(RCDeviceStatusListener)를 이용하여 RCDeviceStatusListenerImpl 인스턴스(912)를 등록할 수 있다. 등록된 RCDeviceStatusListenerImpl 인스턴스(912)는 RCDeviceAttachedEvent 인스턴스 및 RCDeviceDetachedEvent 인스턴스를 전달받을 수 있다. RCDeviceAttachedEvent 인스턴스가 전달된 경우에는, 애플리케이션(910)은 네트워크 장치의 상태가 탈착 상태에서 장착 상태로 변경되었음을 알 수 있고, RCDeviceDetachedEvent 인스턴스가 전달된 경우에는, 네트워크 장치의 상태가 장착 상태에서 탈착 상태로 변경되었음을 알 수 있다.The application 910 executes getInterface () to obtain a reference of the RCDeviceManager 925 from the middleware 920. In addition, the application 910 may register the RCDeviceStatusListenerImpl instance 912 using RCDeviceManager.addRCDeviceListener (RCDeviceStatusListener). The registered RCDeviceStatusListenerImpl instance 912 may receive an RCDeviceAttachedEvent instance and an RCDeviceDetachedEvent instance. If an RCDeviceAttachedEvent instance is passed, the application 910 knows that the state of the network device has changed from a detached state to a mounted state, and if an RCDeviceDetachedEvent instance is passed, the state of the network device changes from a mounted state to a detached state. It can be seen that.

그리고 애플리케이션(910)은 RCDeviceManager.removeRCDeviceListener (RCDeviceStatusListener)를 이용하여 등록된 RCDeviceStatusListenerImpl 인스턴 스를 제거할 수 있다.The application 910 may remove the registered RCDeviceStatusListenerImpl instance by using RCDeviceManager.removeRCDeviceListener (RCDeviceStatusListener).

또한 미들웨어(920)는 RCDeviceManager(925)를 포함한다. 또한 RCDeviceManager(925)는 RCDevice 인스턴스(927)를 포함한다. 여기서 RCDeviceManager(925)는 네트워크 장치의 수에 따라 RCDevice 인스턴스(927)를 생성하여 포함할 수 있다. 여기서 미들웨어(920)는 도 3의 미들웨어(380)와 대응하는 구성요소이다.The middleware 920 also includes an RCDeviceManager 925. RCDeviceManager 925 also includes an RCDevice instance 927. Here, the RCDeviceManager 925 may generate and include an RCDevice instance 927 according to the number of network devices. The middleware 920 is a component corresponding to the middleware 380 of FIG. 3.

RCDevice 인스턴스(927)는 네트워크 장치의 상태 변경 여부를 감시하고, 네트워크 장치의 상태가 탈착 상태에서 장착 상태로 변경된 경우에는 RCDeviceAttachedEvent 인스턴스를 생성하고, 네트워크의 상태가 장착 상태에서 탈착 상태로 변경된 경우에는 RCDeviceDetachedEvent 인스턴스를 생성한다.The RCDevice instance 927 monitors whether the state of the network device has changed, and creates an RCDeviceAttachedEvent instance when the state of the network device is changed from the detached state to the attached state. Create an instance.

네트워크 인터페이스부(930)는 네트워크 장치(940)와 연결되고, 네트워크 장치의 장착 상태 및 탈착 상태를 RCDevice 인스턴스(927)에 제공한다.The network interface unit 930 is connected to the network device 940 and provides the RCDevice instance 927 with a mounting state and a detaching state of the network device.

도 10은 본 발명에 따른 네트워크 장치 모니터링 방법에 대한 바람직한 일실시예의 수행과정을 도시한 도면이다.10 is a flowchart illustrating a preferred embodiment of a method for monitoring a network device according to the present invention.

도 10을 참조하면, 애플리케이션(370)은 리턴 채널 장치 매니저 인스턴스를 획득한다(S1000). 여기서 리턴 채널 장치 매니저 인스턴스는 미들웨어(380)에 의해 생성될 수 있다. 또한 리턴 채널 장치 매니저 클래스는 도 5에 도시된 RCDeviceManager일 수 있다.Referring to FIG. 10, the application 370 obtains a return channel device manager instance (S1000). In this case, the return channel device manager instance may be generated by the middleware 380. In addition, the return channel device manager class may be RCDeviceManager illustrated in FIG. 5.

애플리케이션(370)은 네트워크 장치 상태 정보를 요청하여 네트워크 장치 상태 정보를 획득한다(S1010). 여기서 애플리케이션(370)은 획득한 리턴 채널 장치 매니저 인스턴스의 메소드를 이용하여 네트워크 장치 상태 정보를 획득할 수 있다. 일예로, 네트워크 장치 상태 정보를 획득하기 위해 도 5에 도시된 RCDeviceManager.RCDeivce[].getCurrentStatus()를 사용할 수 있다.The application 370 requests network device state information to obtain network device state information (S1010). Here, the application 370 may acquire network device state information by using the obtained method of the return channel device manager instance. For example, RCDeviceManager.RCDeivce []. GetCurrentStatus () shown in FIG. 5 may be used to obtain network device status information.

애플리케이션(370)은 네트워크 장치의 상태에 대한 정보인 네트워크 장치 상태 정보를 수신하는 리스너 인스턴스를 생성한다(S1020). 여기서 생성된 리스너 인스턴스의 클래스는 도 5에 도시된 RCDeviceStatusListener일 수 있다.The application 370 generates a listener instance that receives network device state information, which is information about the state of the network device (S1020). The class of the listener instance created here may be RCDeviceStatusListener illustrated in FIG. 5.

애플리케이션(370)은 생성한 리스너 인스턴스를 등록한다(S1030). 여기서 애플리케이션(370)은 리턴 채널 장치 매니저 인스턴스가 제공하는 메소드를 이용하여 리턴 리스너 인스턴스를 등록할 수 있다. 일예로, 리스너 인스턴스를 등록하기 위해 도 5에 도시된 RCDeviceManager.addRCDeviceListener(RCDeviceStatusListener listener)를 이용할 수 있다.The application 370 registers the created listener instance (S1030). Here, the application 370 may register a return listener instance using a method provided by the return channel device manager instance. For example, RCDeviceManager.addRCDeviceListener (RCDeviceStatusListener listener) illustrated in FIG. 5 may be used to register a listener instance.

미들웨어(380)는 네트워크 장치의 상태 변경 여부를 감시한다(S1040). 여기서 미들웨어(380)는 적어도 하나 이상의 네트워크 장치를 감시할 수 있다.The middleware 380 monitors whether the state of the network device changes (S1040). The middleware 380 may monitor at least one or more network devices.

미들웨어(380)는 네트워크 장치의 상태가 변경되었는지를 확인한다(S1050).The middleware 380 checks whether the state of the network device has changed (S1050).

미들웨어(380)는 네트워크 장치의 상태가 변경된 경우에는, 네트워크 장치 상태 정보를 알려주는 이벤트 인스턴스를 생성하고, 생성한 이벤트 인스턴스를 애플리케이션(380)이 등록한 리스너 인스턴스로 전달한다(S1060). 여기서 네트워크 장치 상태 정보를 알려주는 이벤트 인스턴스는 도 6에 도시된 RCDeviceAttachedEvent 인스턴스 및 RCDeviceDetachedEvent 중 어느 하나이거나 도 7에 도시된 RCDeviceEvent일 수 있다.When the state of the network device is changed, the middleware 380 generates an event instance informing the network device state information, and transfers the generated event instance to the listener instance registered by the application 380 (S1060). Here, the event instance for notifying the network device state information may be any one of the RCDeviceAttachedEvent instance and the RCDeviceDetachedEvent shown in FIG. 6 or the RCDeviceEvent shown in FIG. 7.

만일 네트워크 인터페이스부(323)에 네트워크 장치가 연결되어, 네트워크 장치의 상태가 탈착 상태에서 장착 상태로 변경된 것이 감지된 경우에는, 미들웨어(380)는 네트워크 장치 상태 정보를 알려주는 이벤트 인스턴스로 RCDeviceAttachedEvent를 생성한다. 여기서 미들웨어(380)는 RCDeviceAttachedEvent를 대신하여 RCDeviceEvent(RCDevice, RCDeviceManager.ATTACHED)를 생성할 수 있다.If a network device is connected to the network interface unit 323 and it is detected that the state of the network device is changed from the detached state to the mounted state, the middleware 380 generates an RCDeviceAttachedEvent as an event instance informing the network device state information. do. Here, the middleware 380 may generate RCDeviceEvent (RCDevice, RCDeviceManager.ATTACHED) in place of RCDeviceAttachedEvent.

만일 네트워크 인터페이스부(323)에 네트워크 장치의 연결이 끊겨서, 네트워크의 상태가 장착 상태에서 탈착 상태로 변경된 것이 감지된 경우에는, 미들웨어(380)는 네트워크 장치 상태 정보를 알려주는 이벤트 인스턴스로 RCDeviceDetachedEvent를 생성한다. 여기서 미들웨어(380)는 RCDeviceDetachedEvent를 대신하여 RCDeviceEvent(RCDevice, RCDeviceManager. Dettached)를 생성할 수 있다.If the network device is disconnected from the network interface unit 323, and it is detected that the network state is changed from the mounted state to the detached state, the middleware 380 generates an RCDeviceDetachedEvent as an event instance indicating the network device state information. do. The middleware 380 may generate RCDeviceEvent (RCDevice, RCDeviceManager.Dettached) in place of RCDeviceDetachedEvent.

미들웨어(380)는 생성한 이벤트 인스턴스를 등록된 리스너 인스턴스로 전달한다(S1070). 여기서, 미들웨어(380)는 리스너 인스턴스의 메소드를 이용하여 이벤트 인스턴스를 해당 리스너 인스턴스로 전달할 수 있다. 일예로, 도 5에 도시된 RCDeviceStatusListener.receiveRCDeviceEvent 메소드를 사용하여 이벤트 인스턴스를 해당 리스너 인스턴스로 전달할 수 있다. 애플리케이션(370)은 리스너 인스턴스로 전달된 이벤트 인스턴스를 통해 해당 네트워크 장치의 상태를 파악할 수 있다.The middleware 380 delivers the generated event instance to the registered listener instance (S1070). Here, the middleware 380 may deliver the event instance to the corresponding listener instance using the method of the listener instance. For example, the event instance may be delivered to the corresponding listener instance by using the RCDeviceStatusListener.receiveRCDeviceEvent method shown in FIG. 5. The application 370 may determine the state of the corresponding network device through the event instance delivered to the listener instance.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 장치 에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer device. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave (for example, transmission via the Internet) . The computer-readable recording medium may also be distributed to networked computer devices so that computer readable code can be stored and executed in a distributed manner.

이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific preferred embodiments described above, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the claims. Various modifications can be made by those skilled in the art, and such changes are within the scope of the claims.

도 1은 방송 수신기의 계층구조에 대한 바람직한 일 실시예의 구성을 도시한 구조도,1 is a structural diagram showing a configuration of a preferred embodiment of a hierarchical structure of a broadcast receiver;

도 2는 애플리케이션의 라이프 싸이클의 일예를 도시한 개념도,2 is a conceptual diagram illustrating an example of a life cycle of an application;

도 3은 본 발명에 따른 방송 수신기에 대한 바람직한 일 실시예의 구성을 도시한 블록도,3 is a block diagram showing the configuration of a preferred embodiment of a broadcast receiver according to the present invention;

도 4는 본 발명에 따른 리터 채널 장치 매니저 클래스 및 리스너 클래스의 다이어그램을 도시한 도면,4 is a diagram illustrating a liter channel device manager class and a listener class according to the present invention;

도 5는 본 발명에 따른 RCDeviceManager class, RCDevice class 및 RCDeviceStatusListener class의 API 명세에 대한 바람직한 일실예를 도시한 도면,5 is a view showing a preferred embodiment of the API specification of the RCDeviceManager class, RCDevice class and RCDeviceStatusListener class according to the present invention,

도 6은 본 발명에 따른 RCDeviceEvent, RCDeviceAttachedEvent 및 RCDeviceDetachedEvent의 API 명세에 대한 바람직한 일실예를 도시한 도면,6 is a view showing a preferred embodiment of the API specification of RCDeviceEvent, RCDeviceAttachedEvent and RCDeviceDetachedEvent according to the present invention,

도 7은 본 발명에 따른 RCDeviceEvent의 API 명세에 대한 바람직한 다른 실시예를 도시한 도면,7 is a diagram showing another preferred embodiment of the API specification of RCDeviceEvent according to the present invention;

도 8은 본 발명에 따른 네트워크 장치 모니터링 방법에 대한 바람직한 일실시예의 시퀀스 다이어그램을 도시한 도면,8 is a sequence diagram of a preferred embodiment of a network device monitoring method according to the present invention;

도 9는 본 발명에 따른 네트워크 장치 모니터링 방법에 대한 바람직한 일실시예의 블록 다이어그램을 도시한 도면, 그리고9 shows a block diagram of a preferred embodiment of a network device monitoring method according to the invention, and

도 10은 본 발명에 따른 네트워크 장치 모니터링 방법에 대한 바람직한 일실시예의 수행과정을 도시한 도면이다.10 is a flowchart illustrating a preferred embodiment of a method for monitoring a network device according to the present invention.

Claims (15)

네트워크 장치의 상태에 대한 정보인 네트워크 장치 상태 정보를 수신하는 리스너 인스턴스를 생성하고, 상기 생성된 리스너 인스턴스를 등록하는 단계;Creating a listener instance for receiving network device state information which is information about a state of a network device, and registering the generated listener instance; 상기 네트워크 장치의 상태 변경 여부를 감시하는 단계; 및Monitoring whether the network device has changed state; And 상기 네트워크 장치의 상태가 변경된 경우에는, 상기 네트워크 장치 상태 정보를 알려주는 이벤트 인스턴스를 생성하고, 상기 생성된 이벤트 인스턴스를 상기 등록된 리스너 인스턴스로 전달하는 단계;를 포함하는 것을 특징으로 하는 네트워크 장치 모니터링 방법.When the state of the network device is changed, generating an event instance informing of the network device state information, and delivering the generated event instance to the registered listener instance. Way. 제 1항에 있어서,The method of claim 1, 상기 네트워크 장치는 장탈착 가능한 것을 특징으로 하는 네트워크 장치 모니터링 방법.The network device monitoring method, characterized in that the removable device. 제 1항에 있어서,The method of claim 1, 상기 네트워크 장치의 상태는 장착 상태 및 탈착 상태 중 어느 하나인 것을 특징으로 하는 네트워크 장치 모니터링 방법.And a state of the network device is any one of a mounted state and a detached state. 제 1항에 있어서,The method of claim 1, 상기 네트워크 장치 상태 정보에 대한 요청을 수신하는 단계를 더 포함하는 것을 특징으로 하는 네트워크 장치 모니터링 방법.And receiving a request for the network device status information. 제 1항에 있어서,The method of claim 1, 상기 네트워크 장치를 관리하는 리턴 채널 장치 매니저 인스턴스를 획득하는 단계를 더 포함하는 것을 특징으로 하는 네트워크 장치 모니터링 방법.Acquiring a return channel device manager instance managing the network device. 제 5항에 있어서,The method of claim 5, 상기 등록하는 단계에서,In the step of registering, 상기 획득된 리턴 채널 장치 매니저 인스턴스가 제공하는 메소드를 이용하여 상기 리스너 인스턴스를 등록하는 것을 특징으로 하는 네트워크 장치 모니터링 방법.Registering the listener instance using a method provided by the obtained return channel device manager instance. 제 5항에 있어서,The method of claim 5, 상기 리턴 채널 장치 매니저 인스턴스는,The return channel device manager instance is 장착 속성(ATTACHED attribute), 탈착 속성(DETACHED attribute), 인스턴스 획득 메소드(getInstance method), 리턴 채널 장치 획득 메소드(getRCDevices method), 리스너 등록 메소드(addRCDeviceListener method) 및 리스너 제거 메소드(removeRCDeviceListener method) 중 적어도 하나를 포함하는 것을 특징으로 하는 네트워크 장치 모니터링 방법.At least one of the ATTACHED attribute, the DETACHED attribute, the getInstance method, the getRCDevices method, the addRCDeviceListener method, and the removeRCDeviceListener method. Network device monitoring method comprising a. 제 7항에 있어서,The method of claim 7, wherein 상기 리턴 채널 장치 획득 메소드 인터턴스는,The return channel device acquisition method interrupt is org.dvb.net.rc.RCInterface의 인스턴스를 리턴하는 리턴 채널 인터페이스 획득 메소드(getRCInterface method) 및 리턴 채널 장치의 상태를 리턴하는 현재 상태 획득 메소드(getCurrentStatus method)를 포함하는 리턴 채널 장치 인스턴스를 리턴하는 것을 특징으로 하는 네트워크 장치 모니터링 방법.Returns a return channel device instance that includes a return channel interface get method that returns an instance of org.dvb.net.rc.RCInterface and a getCurrentStatus method that returns the status of the return channel device. Network device monitoring method, characterized in that. 네트워크 장치와 연결되는 네트워크 인터페이스부; 및A network interface connected to the network device; And 상기 네트워크 장치의 상태에 대한 정보인 네트워크 장치 상태 정보를 수신하는 리스너 인스턴스를 생성하여 등록하고, 상기 네트워크 장치의 상태 변경 여부를 감시하며, 상기 네트워크 장치의 상태가 변경된 경우에는, 상기 네트워크 장치 상태 정보를 알려주는 이벤트 인스턴스를 생성하고, 상기 생성된 이벤트 인스턴스를 상기 등록된 리스너 인스턴스로 전달하는 제어부;를 포함하는 것을 특징으로 하는 방송 수신기.Create and register a listener instance that receives network device state information, which is information about the state of the network device, monitor whether the state of the network device changes, and, when the state of the network device changes, the network device state information. And a controller configured to generate an event instance informing the event and to deliver the generated event instance to the registered listener instance. 제 9항에 있어서,The method of claim 9, 상기 네트워크 장치는 장탈착 가능한 것을 특징으로 하는 방송 수신기.The network device is a broadcast receiver, characterized in that the removable. 제 9항에 있어서,The method of claim 9, 상기 네트워크 장치의 상태는 장착 상태 및 탈착 상태 중 어느 하나인 것을 특징으로 하는 방송 수신기.And a state of the network device is one of a mounting state and a detachable state. 제 9항에 있어서,The method of claim 9, 상기 제어부는,The control unit, 상기 네트워크 장치를 관리하는 리턴 채널 장치 매니저 인스턴스를 생성하는 것을 특징으로 하는 방송 수신기.And a return channel device manager instance for managing the network device. 제 12항에 있어서,The method of claim 12, 상기 제어부는.The control unit. 상기 리턴 채널 장치 매니저 인스턴스가 제공하는 메소드를 이용하여 상기 리스너 인스턴스를 등록하는 것을 특징으로 하는 방송 수신기.And registering the listener instance using a method provided by the return channel device manager instance. 제 12항에 있어서,The method of claim 12, 상기 리턴 채널 장치 매니저 인스턴스는,The return channel device manager instance is 장착 속성(ATTACHED attribute), 탈착 속성(DETACHED attribute), 인스턴스 획득 메소드(getInstance method), 리턴 채널 장치 획득 메소드(getRCDevices method), 리스너 등록 메소드(addRCDeviceListener method) 및 리스너 제거 메소드(removeRCDeviceListener method) 중 적어도 하나를 포함하는 것을 특징으로 하는 방송 수신기.At least one of the ATTACHED attribute, the DETACHED attribute, the getInstance method, the getRCDevices method, the addRCDeviceListener method, and the removeRCDeviceListener method. Broadcast receiver comprising a. 제 14항에 있어서,15. The method of claim 14, 상기 리턴 채널 장치 획득 메소드는,The return channel device acquisition method, org.dvb.net.rc.RCInterface의 인스턴스를 리턴하는 리턴 채널 인터페이스 획득 메소드(getRCInterface method) 및 리턴 채널 장치의 상태를 리턴하는 현재 상태 획득 메소드(getCurrentStatus method)를 포함하는 리턴 채널 장치 인스턴스를 리턴하는 것을 특징으로 하는 방송 수신기.Returns a return channel device instance that includes a return channel interface get method that returns an instance of org.dvb.net.rc.RCInterface and a getCurrentStatus method that returns the status of the return channel device. Broadcast receiver, characterized in that.
KR1020090104407A 2009-10-30 2009-10-30 A broadcasting receiver and a method for monitoring a network device KR101586315B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090104407A KR101586315B1 (en) 2009-10-30 2009-10-30 A broadcasting receiver and a method for monitoring a network device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090104407A KR101586315B1 (en) 2009-10-30 2009-10-30 A broadcasting receiver and a method for monitoring a network device

Publications (2)

Publication Number Publication Date
KR20110047687A true KR20110047687A (en) 2011-05-09
KR101586315B1 KR101586315B1 (en) 2016-01-18

Family

ID=44238953

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090104407A KR101586315B1 (en) 2009-10-30 2009-10-30 A broadcasting receiver and a method for monitoring a network device

Country Status (1)

Country Link
KR (1) KR101586315B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060013035A (en) * 2004-08-05 2006-02-09 엘지전자 주식회사 Cable broadcasting receiving system and dvi/hdmi status information transmitting method and data structure
KR20070017009A (en) * 2005-08-05 2007-02-08 삼성전자주식회사 Apparatus for providing multiple screens and method for dynamic configuration of the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060013035A (en) * 2004-08-05 2006-02-09 엘지전자 주식회사 Cable broadcasting receiving system and dvi/hdmi status information transmitting method and data structure
KR20070017009A (en) * 2005-08-05 2007-02-08 삼성전자주식회사 Apparatus for providing multiple screens and method for dynamic configuration of the same

Also Published As

Publication number Publication date
KR101586315B1 (en) 2016-01-18

Similar Documents

Publication Publication Date Title
CA2508747C (en) Apparatus and methods for implementation of network software interfaces
US7984478B2 (en) Method and apparatus for a receiver/decoder
KR101526967B1 (en) Apparatus for transmitting software in cable broadcast, apparatus and method for downloading software and receiving in cable broadcast
JP5738469B2 (en) Smart set top box for providing smart service and digital TV service using basic media player included in single operating system and driving method thereof
US9264757B2 (en) Service executing apparatus
US8244829B2 (en) Data transmitting apparatus, data receiving apparatus, data transmitting method and data receiving method
US20090222867A1 (en) Broadcast receiving apparatus, video storing apparatus, and multimedia delivering system
US20020032754A1 (en) Method and apparatus for profiling in a distributed application environment
JP2006528857A (en) How to handle feature availability in broadcasting
JPWO2007072680A1 (en) DATA OUTPUT DEVICE, DEVICE CONTROL DEVICE, AND MULTIMEDIA DISTRIBUTION SYSTEM
JP2007300610A (en) Apparatus and method for upgrading codec
WO2008100092A1 (en) Apparatus and method for providing interactive service to device using different digital broadcast middleware standards
US20090044281A1 (en) Java conditional access apparatus
KR101586315B1 (en) A broadcasting receiver and a method for monitoring a network device
KR20100081408A (en) Broadcasting receiver and method for monitoring a state of return channel
KR101549008B1 (en) Method and apparatus of managing In/OutPort status at digital broadcasting device
KR20070056778A (en) Method for controlling resolution of digital data broadcasting receiver, apparatus therefor and the digital data broadcasting receiver
KR20100086763A (en) Method for provding font information and broadcast receiver
KR20090105324A (en) Middlleware for supporting digital broadcast, broadcasting receiver, method for managing information about allocating resources of broadcasting receiver, recording media for the method
KR20090126769A (en) Broadcasting receiver, method for receiving broadcasting data
KR20100056173A (en) Method for controlling to display a screen and apparatus thereof
KR20100074818A (en) A method for providing a data broadcasting service and an apparatus thereof
WO2001077815A2 (en) Method and apparatus for profiling in a distributed application environment
WO2007066361A1 (en) Process, apparatus and system for executing mhp applications
KR20100056172A (en) Method for operating an application and apparatus thereof

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