KR20110126148A - 어플리케이션을 처리하는 네트워크 디바이스의 구조 및 상기 네트워크 디바이스의 제어방법 - Google Patents

어플리케이션을 처리하는 네트워크 디바이스의 구조 및 상기 네트워크 디바이스의 제어방법 Download PDF

Info

Publication number
KR20110126148A
KR20110126148A KR1020117021478A KR20117021478A KR20110126148A KR 20110126148 A KR20110126148 A KR 20110126148A KR 1020117021478 A KR1020117021478 A KR 1020117021478A KR 20117021478 A KR20117021478 A KR 20117021478A KR 20110126148 A KR20110126148 A KR 20110126148A
Authority
KR
South Korea
Prior art keywords
application
network device
add
list
applications
Prior art date
Application number
KR1020117021478A
Other languages
English (en)
Inventor
이준휘
김병용
손정식
임미경
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20110126148A publication Critical patent/KR20110126148A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25816Management of client data involving client authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4882Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 네트워크 디바이스에 적용 가능한 애드온 구조(Add-on Architecture)에 관한 것이다. 본 발명의 일실시예에 의한 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스는 특정 명령을 실행시키는 키 이벤트를 수신하고, 수신된 키 이벤트를 애드온 시스템 매니저로 전송하는 호스트 S/W 처리 모듈과 현재 실행 중인 적어도 하나 이상의 어플리케이션 중에서 포커싱되어 있는 특정 어플리케이션을 확인하고, 상기 수신된 키 이벤트를 상기 포커싱되어 있는 특정 어플리케이션으로 전송하는 애드온 시스템 매니저와 상기 수신된 키 이벤트를 처리하는 애드온 어플리케이션을 포함한다.

Description

어플리케이션을 처리하는 네트워크 디바이스의 구조 및 상기 네트워크 디바이스의 제어방법{ARCHITECTURE OF A NETWORK DEVICE FOR PROCESSING APPLICATIONS, AND CONTROL METHOD FOR THE NETWORK DEVICE}
본 발명은 네트워크 디바이스에서 어플리케이션 및 컨텐트(Content)을 실행하는 장치 및 방법에 관한 것이다.
보다 상세하게는 네트워크 디바이스에서 추가 어플리케이션을 처리 위한 애드온 구조(Add-on Architecture) 및 네트워크 디바이스 제어 방법에 관한 것이다.
최근에 있어서, IP(Internet Protocol)등을 이용한 양방향성 특징을 가지는 네트워크 디바이스들이 개발되고 있다. 이러한 디바이스들은 제품 출시 당시부터 적용된 빌트인 어플리케이션(Built-in Application)을 가지고 있다. 그러나 이러한 어플리케이션은 각 디바이스의 제조업체에서 제공하는 API(Application Programming Interface)에 기반한 것으로, 상기 디바이스는 기존의 인터넷 상의 다양한 종류의 어플리케이션과 호환될 수 없어 빌트인 어플리케이션(Built-in Application)외에 어플리케이션의 추가가 용이하지 않은 문제점이 있다.
본 발명의 일실시예는 전술한 배경 기술의 문제점을 해결하기 위한 것으로서, 네트워크 디바이스의 양방향성을 이용하여 빌트인 어플리케이션(Built-in Application)뿐만 아니라 다양한 형태의 어플리케이션과 컨텐트(Content)를 구동할 수 있는 확장성과 융통성을 가진 네트워크 디바이스의 구조 및 상기 네트워크 디바이스의 제어방법을 제안하고자 한다.
전술한 기술적 과제를 달성하기 위하여, 본 발명의 일실시예에 의한 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스는 특정 명령을 실행시키는 키 이벤트를 수신하고, 수신된 키 이벤트를 선택적으로 애드온 시스템 매니저로 전송하는 호스트 S/W 처리 모듈과 현재 실행 가능한 적어도 하나 이상의 어플리케이션 중에서 포커싱되어 있는 특정 어플리케이션을 확인하고, 상기 수신된 키 이벤트를 상기 포커싱되어 있는 특정 어플리케이션으로 전송하는 애드온 시스템 매니저 그리고 상기 수신된 키 이벤트를 처리하는 애드온 어플리케이션을 포함한다.
또한, 본 발명의 일실시예에 의한 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 제어 방법은 상기 네트워크 디바이스에 대한 인증을 요청하는 신호를 서버(Server)로 전송하는 단계와 상기 서버로부터, 상기 네트워크 디바이스에 대한 인증 컨펌 여부를 식별하는 신호를 수신하는 단계와 상기 식별하는 신호가 상기 인증을 컨펌하는 신호에 해당하는 경우, 상기 서버로부터 어플리케이션을 다운로드 하는 단계와 특정 명령을 실행 실행시키는 키 이벤트를 수신하고, 수신된 키 이벤트를 선택적으로 애드온 시스템 매니저로 전송하는 단계 그리고 현재 실행 가능한 적어도 하나 이상의 어플리케이션 중에서 포커싱되어 있는 특정 어플리케이션을 확인하고, 상기 수신된 키 이벤트를 상기 포커싱되어 있는 특정 어플리케이션으로 전송하는 단계를 포함한다.
또한, 본 발명의 다른 실시예에 의한 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 제어 방법은 다운로드 가능한 적어도 하나 이상의 어플리케이션을 식별하는 제1리스트 또는 적어도 하나 이상의 컨텐트(Content)를 식별하는 제2리스트를 요청하는 신호를, 서버(server)로 전송하는 단계와 상기 서버로부터, 상기 제1리스트 또는 상기 제2리스트를 수신하는 단계와 상기 수신된 제1리스트 또는 제2리스트를 디스플레이 하는 단계와 상기 제1리스트에서 특정 어플리케이션 또는 상기 제2리스트에서 특정 컨텐트가 선택된 경우, 상기 선택된 어플리케이션 또는 컨텐트를 요청하는 신호를 상기 서버로 전송하는 단계 그리고 상기 서버로부터 상기 선택된 어플리케이션 또는 컨텐트를 다운로드 하는 단계를 포함한다.
또한, 본 발명의 다른 실시예에 의한 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 어플리케이션 실행 방법은 어플리케이션 리스트 생성을 위한 키 이벤트를 전송 받는 단계와 네트워크 디바이스에 설치된 어플리케이션을 검색하는 단계와 상기 검색된 어플리케이션 리스트를 생성하는 단계와 상기 생성된 어플리케이션 리스트를 디스플레이 하는 단계와 상기 어플리케이션 리스트의 적어도 하나 이상의 어플리케이션 중에서 선택된 어플리케이션에 대한 실행 요청을 전송 받는 단계와 상기 실행 요청된 어플리케이션의 정상 실행 여부를 어플리케이션의 메타데이터를 이용하여 검증하는 단계와 상기 검증 결과 정상 실행 가능으로 판단되는 경우, 상기 어플리케이션을 실행하는 단계를 포함한다.
본 발명의 일실시예에 의하면, 네트워크 디바이스는 어플리케이션과 컨텐트의 확장을 용이하게 하고, 어플리케이션을 처리하는 독립적인 형태의 구조를 포함하는 네트워크 디바이스를 제안하여 어플리케이션의 추가 확장 시에도 디바이스의 안정성을 담보할 수 있다는 이점이 있다.
이하, 첨부된 도면을 참조하여 본 발명의 특징과 바람직한 실시예를 구체적으로 설명한다.
도 1은 본 발명의 일실시예에 의한 네트워크 디바이스가 어플리케이션을 처리하는 과정 중, 키 이벤트를 처리하는 절차와 구성에 대한 블록도이다.
도 2는 본 발명의 일실시예에 의한 네트워크 디바이스의 내부 구성의 일부를 나타낸 도면이다..
도 3은 본 발명의 일실시예에 의한 애드온 어플리케이션내의 오픈 API의 구성을 세부적으로 나타낸 도면이다.
도 4는 본 발명의 일실시예에 의한 애드온 어플리케이션의 실행 과정을 나타낸 도면이다.
도 5는 네트워크 디바이스 내에서 키 이벤트를 전달하는 과정을 나타낸 도면이다.
도 6은 애드온 어플리케이션의 오픈 API 호출 과정의 일실시예를 나타낸 도면이다.
도 7은 애드온 어플리케이션의 다운로드 및 설치 과정의 일실시예를 나타낸 도면이다.
도 8은 다운로드 되는 어플리케이션의 데이터 구조의 일실시예를 나타낸 도면이다.
도 9는 애드온 어플리케이션의 다운로드 및 설치 방법 중에 어플리케이션 배포 서버에 직접 접속하는 경우, 어플리케이션의 다운로드 및 설치 과정의 일실시예를 나타낸 도면이다.
도 10은 어플리케이션 배포 서버로부터 전송 받은 어플리케이션 리스트를 표시하는 UI화면의 일실시예를 나타낸 도면이다.
도 11은 어플리케이션 배포 서버로부터 전송 받은 어플리케이션 리스트를 표시하는 UI화면의 또 다른 실시예를 나타낸 도면이다.
도 12는 어플리케이션 배포 서버로부터 전송 받은 컨텐트 리스트를 나타낸 UI화면의 일실시예를 나타낸 도면이다.
도 13은 어플리케이션 배포 서버로부터 전송 받은 어플리케이션 리스트를 나타낸 UI화면의 또 다른 실시예를 나타낸 도면이다.
도 14는 어플리케이션 브라우저를 실행한 경우 네트워크 디바이스에 이미 저장되어 있는 어플리케이션 및 컨텐트에 대한 리스트를 표시하는 UI화면의 일실시예를 나타낸 도면이다.
도 15는 어플리케이션 리스트를 관리하는 UI화면의 일실시예를 나타낸 도면이다.
도 16은 디지털 방송 수신기의 구성을 도시한 블록도로서 본 발명의 애드온 구조(Add-on Architecture)가 디지털 방송 수신기에 적용된 일실시예를 나타내는 도면이다.
발명의 실시를 위한 최선의 형태
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다.
본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는, 단순한 용어의 명칭이 아닌 그 용어가 가지는 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 함을 밝혀두고자 한다.
도 1은 본 발명의 일실시예에 의한 네트워크 디바이스가 어플리케이션을 처리하는 과정 중, 키 이벤트를 처리하는 절차와 구성에 대한 블록도이다.
네트워크 디바이스는 기본적으로 네트워크 통신이 가능하고 연산기능을 가지는 기기이다. 네트워크 디바이스는 일반 가정에서 사용되는 가전 기기가 될 수 있고, 이동 또는 휴대 가능한 단말 장치에 해당될 수 있다. 예를 들면, 네트워크 통신이 가능한 전자 레인지, 냉장고, 세탁기, TV와 같은 가전 기기를 포함하며, PDA, UMPC, 노트북, 휴대폰과 같은 이동 또는 휴대 가능한 기기가 포함될 수 있다.
네트워크 디바이스가 어플리케이션에 대한 키 이벤트를 처리하는 과정에서 애드온 구조(Add-on Architecture)를 이용할 수 있으며, 상기 애드온 구조(Add-on Architecture)란, 예를 들어, 네트워크 디바이스의 기본 기능을 담당하는 주 어플리케이션과 주 어플리케이션외에 네트워킹 등의 방법으로 추가되는 어플리케이션을 애드온 어플리케이션으로 분리하여 분리된 애드온 어플리케이션은 별도의 프로세스로 동작시키는 구조라고 정의할 수 있다.
도 1에 도시된 바와 같이, 사용자의 선택에 의하여 일정한 키 이벤트(Key-event)가 발생하면(S100) 호스트 S/W 처리 모듈(1400)이 키 이벤트를 수신하여 애드온 구조(Add-on Architecture)에 대한 전반적인 관리를 수행하는 애드온 시스템 매니저(Add-on System Manager)(1200)에 전달한다(S102). 애드온 시스템 매니저(1200)는 키 이벤트를 수신하면 현재 실행 가능한 어플리케이션 중 포커스(Focus)된 어플리케이션을 확인한다(S104). 애드온 시스템 매니저(1200)가 애드온 어플리케이션(1600)으로 키 이벤트를 전달하게 된다(S106). 키 이벤트를 전달 받은 애드온 어플리케이션(1600)은 키 이벤트를 처리한다.
여기서 포커스된 어플리케이션이란, 예를 들면, 사용자가 네트워크 디바이스의 원격 조절 장치 또는 네트워크 디바이스 자체에 부착된 조절 장치로 네트워크 디바이스 내의 여러 어플리케이션들 중 특정 애드온 어플리케이션을 지정하였으나 실행을 선택하지는 않은 상태에 있는 애드온 어플리케이션으로 정의될 수 있다.
또한 어플리케이션(Application)이란, 특정 전자기기의 운영체제 하에서 구동되는 프로그램 내지 소프트웨어로 정의될 수 있다. 예를 들어, 영상재생프로그램, 날씨정보프로그램 등이 어플리케이션에 포함될 수 있다.
또한 컨텐트(Content)란, 넓게는 인간의 지적 활동의 산물을 일컫는 말일 수 있고, 최근에는 특정 기기나 어플리케이션에서 사용될 수 있는 정보를 지칭하는 의미로 쓰이기도 한다. 예를 들면, 영상재생프로그램에서 사용되는 영상파일, 오디오파일 또는 날씨정보프로그램에서 사용되는 주간날씨정보 등을 컨텐트라고 말 할 수 있다.
도 1에 따른 호스트 S/W 처리 모듈(1400)은 사용자에 의하여 선택된 모든 키 이벤트를 애드온 시스템 매니저(1200)로 전달하지는 않고, 호스트 S/W 처리 모듈(1400)만 처리할 수 있는 특정 키 이벤트는 자체적으로 처리하여(S103), 특정 키 이벤트에 상응하는 기능을 수행하도록 한다. 예를 들면, 전원키 등이 호스트 S/W 처리 모듈(1400)이 바로 처리할 수 있는 키 이벤트이다.
도 1과 같은 키 이벤트 전달 시스템으로, 네트워크 디바이스의 기존의 하드웨어 또는 소프트웨어를 이용하여 사용자에게 익숙한 디바이스 조작 환경을 제공하면서 애드온 구조를 실현할 수 있다.
도 2는 본 발명의 일실시예에 의한 네트워크 디바이스의 내부 구성의 일부이다.
도 2에 도시된 바와 같이, 본 발명의 기술적 특징을 이루기 위한 일실시예는 애드온 구조(Add-on Architecture)로 구현될 수 있다. 애드온 구조(Add-on Architecture)는 애드온 구조에 대한 전반적인 관리를 수행하는 애드온 시스템 매니저(Add-on System Manager)(1200)와 네트워크 디바이스의 기본 기능을 담당하면서, 애드온 구조의 실현을 위한 애드온 호스트(Add-on Host)(1420)를 포함하는 호스트 S/W 처리 모듈(1400)과 네트워킹등의 다양한 방식으로 네트워크 디바이스에 추가되는 애드온 어플리케이션(Add-on Application)을 포함한다.
애드온 시스템 매니저(1200)은 애드온 구조(Add-on Architecture)에 대한 전반적인 관리를 수행하는 구성으로, 애드온 구조(Add-on Architecture)를 관리하는 어플리케이션(1220, 1260, 1280)과 애드온 구조(Add-on Architecture)를 제어하는 어플리케이션 콘트롤러(Application Controller)(1240)를 포함한다.
어플리케이션 브라우저(Application Browser)(1220)는 현재 네트워크 디바이스 내에 설치된 애드온 어플리케이션(1600)을 사용자에게 보여준다, 또한 사용자가 실행을 원하는 애드온 어플리케이션(1600)을 실행할 수 있는 환경을 제공한다. 또한, 네트워크 디바이스에 저장되어 있으며 애드온 어플리케이션(1600)에서 사용될 수 있는 컨텐트(Content)들의 리스트를 제공하는 역할도 할 수 있다.
애드온 브라우저(1220)는 어플리케이션의 시작에서부터 종료까지의 과정에서 시작부에서 주된 역할을 한다. 예를 들면 어플리케이션 브라우저(1220)는 실행 가능한 어플리케이션 리스트를 사용자에게 보여주고 사용자가 리스트에 있는 어플리케이션 중 특정 어플리케이션을 직접 선택하는 경우 어플리케이션 브라우저(1220)을 통하여 어플리케이션의 실행이 시작될 수 있는 것이다. 또한 사용자의 직접 선택에 의한 어플리케이션 실행 이외에도 어플리케이션이나 컨텐트(Content)의 배포와 동시에 메타데이터(Metadata)에 의한 어플리케이션의 자동 실행이 가능하다. 또한 AV 컨텐트의 재생 중 특정 시점에서의 시그널링(Signaling)에 의하여 어플리케이션이 실행을 개시할 수 있다. 또한 제 1 어플리케이션이 실행되는 과정에서 제 1 어플리케이션이 필요로 하는 제 2 어플리케이션을 호출하는 방법으로 어플리케이션이 실행될 수 있다.
상기의 열거된 어플리케이션의 실행 개시 방법은 예시일 뿐이며, 필요에 따라 여러 가지 형태로 어플리케이션이 실행될 수 있다.
어플리케이션 콘트롤러(1240)는 어플리케이션 브라우저(1220)에서의 직접 선택 등의 방법에 의하여 실행이 요청된 어플리케이션을 실제 실행해준다. 또한 어플리케이션 콘트롤러(1240)는 실행된 어플리케이션의 프로세스(Process)를 등록 및 관리한다. 또한 어플리케이션 콘트롤러(1240)는 각 어플리케이션 간의 자원 사용 관리, 포커스(Focus) 관리 및 사용자 입력에 대한 처리 등의 기능을 수행할 수 있다. 사용자 입력의 경우, 각 어플리케이션 창의 포커스를 관리하면서 등록된 애드온 어플리케이션(1600)이 포커스되면 리모컨 등에 의한 입력을 받아 입력 정보를 해당 어플리케이션에게 전달해준다.
또한 어플리케이션 콘트롤러(1240)는 애드온 어플리케이션의 실행 이전의 상태를 기억하고 애드온 어플리케이션(1600)이 이상(異常)종료할 경우, 애드온 어플리케이션 실행의 이전 상태로 시스템을 복구해주는 시스템 안정화 기능을 제공한다. 어플리케이션 콘트롤러(1240)는 애드온 어플리케이션의 시작에서부터 종료까지의 과정에서 어플리케이션의 실행 선택 후의 제어 및 관리 파트를 담당한다.
어플리케이션 다운로더(Application Downloader)(1280)는 애드온 어플리케이션(1600)의 설치 및 삭제를 담당한다.
애드온 어플리케이션의 시그널링 및 배포는 애드온 어플리케이션의 배포 서버(Server)에 직접 접속을 통한 설치로 이루어 질 수 있다. 또한 방송망 혹은 IP(Internet Protocol) 네트워크를 이용하여 유니캐스트/멀티캐스트/브로드캐스트(Unicast/Multicast/Broadcast) 방식을 통한 어플리케이션의 설치가 이루어 질 수 있다. 또한 플래쉬 메모리와 같은 외부 저장장치를 통한 배포가 이루어 질 수 있다. 또한 네트워크 디바이스의 USB 포트 등을 이용하여 외장메모리를 연결하고 이 안에 탑재된 어플리케이션을 설치할 수 있다. 상기의 애드온 어플리케이션 시그널링 및 배포는 예시에 불과하며, 열거된 방식에 한정되지 않는다.
상기의 열거된 애드온 어플리케이션 시그널링 및 배포 방식 중 애드온 어플리케이션 배포 서버에 직접 접속하여 어플리케이션을 배포 받는 경우는, 어플리케이션 다운로더(1280)가 설치 가능한 어플리케이션 리스트를 배포 서버로부터 다운받고, 다운받은 어플리케이션 리스트 중 사용자가 원하는 어플리케이션을 선택하여 해당 어플리케이션을 다운로드하는 방식을 취할 수 있다. 이후 어플리케이션 (언)인스톨러(1282)가 다운로드한 어플리케이션을 설치한다.
또한 어플리케이션 브라우저(1220)을 통하여 이미 설치되어 있는 애드온 어플리케이션 리스트를 보고, 사용자가 삭제를 요청하는 경우, 어플리케이션 (언)인스톨러(1282)가 설치된 애드온 어플리케이션의 삭제 기능을 제공한다.
어플리케이션 다운로더(1280)는 애드온 어플리케이션의 시작에서부터 종료까지의 과정에서 애드온 어플리케이션의 설치 및 삭제 파트를 담당한다.
시큐리티 체커(Security Checker)(1260)는 다운로드 되거나 설치된 애드온 어플리케이션이 손상되지 않았는지를 애드온 어플리케이션의 메타 정보를 통해 확인하는 기능을 수행한다. 시큐리티 체커(1260)의 기능 수행 결과는 애드온 어플리케이션의 관리를 수행하는 어플리케이션에게 제공된다. 이러한 어플리케이션의 메타 정보는 다운로드 서버에 의해 생성되어 제공될 수 있다.
또한 현재 실행되고 있는 애드온 어플리케이션의 이상 행동을 모니터링하고 감지하는 즉시 적절한 조치를 취하는 기능을 제공한다.
시큐리티 체커(1260)의 기능으로 인하여 애드온 어플리케이션(1600)의 무결성을 확보할 수 있는 효과가 있다. 시큐리티 체커(1260)는 애드온 어플리케이션의 시작에서부터 종료까지의 과정에서 관리 파트를 담당한다.
애드온 호스트(Add-on Host)(1420)는 애드온 구조(Add-on Architecture)를 지원하기 위하여 네트워크 디바이스의 기본 기능을 담당하는 호스트 S/W 처리 모듈(1400)에 추가되어야 하는 부분이다. 애드온 호스트(1420)는 호스트 에이전트(Host Agent)(1422)와 오픈 API 호스트(Open API Host)(1424)를 포함한다.
호스트 에이전트(1422)는 애드온 시스템 매니저(1200)로 호스트 S/W 처리 모듈(1400)의 상태(Status) 및 리모컨의 키 이벤트를 송신하는 기능을 담당한다.
오픈 API 호스트(1424)는 애드온 어플리케이션(1600)의 오픈 API(Open API)(1624)의 호출을 실행하고 그 결과를 리턴한다.
발명에 따라 애드온 어플리케이션(1600)은 오픈 API 라이브러리(Open API Library)(1620)를 제공하며, 애드온 시스템 매니저(1200)로 애드온 애플리케이션의 상태(Status)를 송신하고 리모컨 키 이벤트 신호를 수신하는 애드온 에이전트(1622)와 애드온 애플리케이션 개발에 필요한 API 함수를 제공하는 오픈 API(1624)를 포함한다. 애드온 시스템 매니저(1200)에 애드온 애플리케이션(1600)을 등록하면 오픈 API(1624)를 통하여 애드온 어플리케이션이(1600) 호스트 S/W에서 제공하는 기능을 사용할 수 있다. 구체적으로, 오픈 API(1624)를 통해 애트온 어플리케이션(1600)은 호스트에서 제공하는 디지털 방송 수신기의 하드웨어 기능 및 미들웨어에서 제공하는 API 및 미디어 재생 기능을 지원받아, 애드온 어플리케이션을 실행하는데 해당 기능을 수행하는 별도의 자원을 구비할 필요가 없게 되어 애드온 어플리케이션의 구동에 효율성을 도모한다. 또한, 오픈 API(1624)는 애드온 애플리케이션(1600)을 관리하기 위한 다양한 API를 제공하여, 제공되는 API를 통하여 3rd Party들도 다양한 애드온 어플리케이션을 개발하여 애드온 구조가 적용된 네트워크 디바이스에 공급할 수 있다. 상기의 구조로 인하여 네트워크 디바이스에서 구동 가능한 어플리케이션의 종류가 다양해지고, 이는 상기 어플리케이션에서 소비되는 컨텐츠의 다양화로 이어진다. 컨텐츠의 다양화는 최종적으로 애드온 구조가 적용된 네트워크 디바이스의 다양한 분야로의 활용가능성을 제시하는 효과를 기대할 수 있다.
도 2에 따른 네트워크 디바이스 구조는 디바이스의 기본 기능과 독립적인 형태로 추가되는 어플리케이션을 실행하고 관리하게 되므로, 추가되는 어플리케이션에 의한 오류 등의 하자가 기본 기능에 영향을 미치지 못하는 효과가 있다. 따라서, 어플리케이션의 추가 확장 시에도 디바이스의 안정성을 담보할 수 있다.
또한, 호스트 S/W 처리 모듈과는 별도의 프로세서로 추가되는 어플리케이션을 구동하므로, 복수의 어플리케이션이 동시 실행 가능하다. 또한 호스트 S/W 처리 모듈과는 다른 오퍼레이팅 시스템(OS) 기반의 어플리케이션의 추가가 가능하다.
도 3은 오픈 API(1624)의 구성을 세부적으로 나타낸 도면이다.
도 3에 도시된 바와 같이, 앞서 설명한 오픈 API(1624)는 애드온 구조(Add-on Architecture)의 한 부분이다. 앞서 기술한 애드온 구조(Add-on Architecture)를 간략화하여 애드온 어플리케이션(1600)의 입장에서 기술하여 보면, 네트워크 디바이스의 기본 기능을 담당하는 호스트 S/W 처리 모듈(1400)에 내장되어 있는 애드온 호스트(1420)와 프로세스(Process)들을 관리하는 데몬 프로세서(daemon processer)인 애드온 시스템 매니저(1200), 애드온 어플리케이션을 만들기 위한 오픈 API 라이브러리(1620)로 구성되어 있는 것으로 볼 수 있다. 오픈 API(1624)는 상기의 구성 중 오픈 API 라이브러리(1620)에서 제공하는 인터페이스를 말한다.
애드온 구조(Add-on Architecture) 내의 오픈 API(1624)의 구성을 상세히 살펴본다. 애드온 어플리케이션(1600)은 오픈 API(1624)를 통하여 애드온 시스템 매니저(1200)에 자신을 등록하고 호스트 S/W 처리 모듈(1400)에서 제공하는 네트워크 디바이스의 기본 기능을 사용할 수 있다. 오픈 API(1624)는 공유 라이브러리(Shared Library) 형태로 제공될 수 있으며 오픈 API 라이브러리와 그 헤더 파일을 이용하여 애드온 어플리케이션(1600)에서 이를 사용할 수 있을 것이다. 공유 라이브러리 (Shared Library) 방식은 한가지 실시예이며 이 방식에 한정되지 않는다.
오픈 API(1624)는 어플리케이션 핸들러(Application Handler)(1624a), 미디어 플레이(Media Play)(1624b), 호스트 디바이스 콘트롤(Host Device Control)(1624c), I/O 콘트롤(Input/Output Control)(1624d)로 구성된다. 각 부분에 대한 기능과 역할은 다음과 같다.
어플리케이션 핸들러(1624a)에는 애드온 시스템 매니저(1200)에게 애드온 어플리케이션의 시작과 종료를 알리는 기능, 키 이벤트를 받을 수 있도록 애드온 어플리케이션의 등록 작업을 수행하는 등록하는 기능, 시스템에서 사용 가능한 다양한 자원들을 요청하고 할당 받는 기능 등이 있다. 즉, 어플리케이션 핸들러(1624a) 애드온 어플리케이션의 시작과 종료, 실행 중에 일어나는 모든 일에 대해 관리한다. 애드온 어플리케이션은 어플리케이션 핸들러(1624a)에서 제공하는 API를 이용해 애드온 시스템 매니저(1200)에 등록해야만 시스템에서 실행될 수 있다.
어플리케이션 핸들러(1624a)의 주요한 기능은 다음과 같다.
어플리케이션 핸들러(1624a)는 애드온 어플리케이션과 어플리케이션을 관리하는 어플리케이션간의 통신 채널을 설정할 수 있다. 이는 이벤트 전달 등을 위한 것으로, Callback 함수 등록을 통해서 이루어질 수도 있다. Callback 함수 등록은 하나의 실시예로 본 실시예로 통신 채널 설정 방법을 한정하지 않는다. 또한 어플리케이션 핸들러(1624a)는 애드온 시스템 매니저(1200)에 애드온 어플리케이션(1600)을 등록하는 기능, 애드온 시스템 매니저(1200)에서 애드온 어플리케이션(1600)의 등록 해제, 애드온 어플리케이션(1600)의 무결성 확인(Health check), 애드온 어플리케이션으로의 리모콘 키 입력 등의 사용자 입력 전달, 특정 애드온 어플리케이션에 대한 포커스 요청, 애드온 어플리케이션(1600)이 사용하기 위한 자원 할당 요청, 할당받은 자원의 반환과 현재 실행 중인 애드온 어플리케이션 개수 계산의 기능을 한다.
미디어 플레이(1624b)는 오디오/비디오 등을 재생하기 위한 API를 제공한다. 스트리밍 미디어(Streaming Media), 다운로드된 미디어(Downloaded Media)를 모두 지원하며 재생, 일시정지, 재시작, 정지 기능을 제공한다.
호스트 디바이스 콘트롤(1624c)은 네트워크 디바이스의 기본 어플리케이션에 해당하는 기능을 애드온 어플리케이션(1600)이 사용할 수 있도록 하기 위한 API이다. TV를 예로 들면, 호스트 디바이스 콘트롤(1624c)을 이용하여 TV의 채널 변경이나 볼륨 변경, 프로그램 정보 가져오기 등의 일반적인 TV 기능들을 제어 하기 위한 API들을 애드온 어플리케이션(1600)이 제공 받을 수 있다.
I/O 콘트롤(1624d)은 리눅스 시스템이나 표준 C 라이브러리에서 제공하는 함수를 제외한 파일의 입출력이나 네트워크 사용에 필요한 함수를 제공한다. 내/외장 저장장치의 상태 및 리눅스에서의 마운트 패스(mount path), 네트워크장치의 연결상태 등을 얻는 기능을 수행 할 수 있다.
도 4는 애드온 어플리케이션의 실행 과정을 나타낸 일실시예이다.
도 4를 설명하면, 호스트 S/W 처리 모듈(1400)이 어플리케이션 콘트롤러(1240)를 실행시킨다(S402). 이때, 애드온 시스템 매니저(1200)의 전체 제어 역할을 수행하는 어플리케이션 콘트롤러(1240)는 애드온 구조(Add-on Architecture)를 사용하는 경우에는 실행되어야하는 기능으로 네트워크 디바이스가 항상 애드온 기능을 사용할 경우 네트워크 디바이스의 부팅 시에 이를 시작시킬 수 있다. 만일 이 기능을 필요 시에만 사용할 경우에는 동적으로 실행할 수도 있으며, 이 경우 호스트 S/W 처리 모듈(1400)에서 애드온 기능을 사용하는 것을 선택할 경우 어플리케이션 콘트롤러(1240)를 실행하도록 할 수 있다.
사용자가 호스트 S/W 처리 모듈의 UI(User Interface) 메뉴 등을 통하여 어플리케이션 브라우저(1220)의 실행을 선택한다(S404).
앞선 (S404)단계에서의 선택에 의하여 어플리케이션 콘트롤러(1240)가 어플리케이션 브라우저(1220)를 실행시킨다(S406). 어플리케이션 브라우저(1220)가 실행되면, 어플리케이션 브라우저(1220)를 통해 어플리케이션 리스트에서 특정 어플리케이션을 선택하여 실행시킬 수 있다. 어플리케이션 브라우저(1220)도 애드온 어플리케이션으로 구현될 수도 있다.
어플리케이션 브라우저(1220)를 통하여 네트워크 디바이스의 내부 저장장치에 이미 설치된 혹은 외장메모리 등과 같은 외부 저장장치에 존재하는 어플리케이션들의 리스트를 검색하여 실행할 어플리케이션을 선택할 수 있다(S408). 이때 선택 및 실행 가능한 것은 어플리케이션으로 한정되지 않으며 컨텐트(Content)를 선택을 통해서 해당 컨텐트를 이용할 수 있는 관련 어플리케이션이 바로 실행되도록 하여 해당 컨텐트를 소비하는 것도 가능하다. 예를 들어, 직접 실행이 가능한 실행파일을 선택하여 실행시킬 수도 있고, 플래쉬 swf(Shockwave Flash Object)파일 같이 플래시 어플리케이션의 컨텐트를 선택하여 플래쉬 어플리케이션을 구동 후 해당 컨텐트를 불러들여 사용할 수도 있다.
앞선 (S408) 단계에서 선택한 어플리케이션의 실행을 어플리케이션 콘트롤러(1240)에 요청한다(S410).
어플리케이션 콘트롤러(1240)는 어플리케이션의 실행 요청을 받을 경우 먼저 시큐리티 체커(Security checker)(1260)를 통해 어플리케이션이 정상적으로 실행이 가능한 지 여부를 검증한다(S412). 이러한 검증은 어플리케이션 배포 시에 같이 포함된 메타데이터를 이용할 수 있으며 SHA-1(Secure Hash Algorithm-1)과 같은 기법을 이용할 수 있다.
정상적인 어플리케이션으로 인증이 성공한 경우 해당 어플리케이션을 실행시킨다(S414).
어플리케이션은 시작 시에 자기 자신을 어플리케이션 콘트롤러(1240)에 등록한다(S416).
애드온 어플리케이션(1600)은 애드온 시스템 매니저(1200)에 자신을 등록하면서부터 실행이 시작된다. 등록을 한 후에는 어플리케이션이 목적한 일을 수행하고, 어플리케이션이 종료될 때 이를 다시 애드온 시스템 매니저(1200)에 알려 자신의 등록을 해제한다.
애드온 어플리케이션(1600)은 시작시에 애드온 시스템 매니저(1200)로의 등록을 요청하면, 이때 오픈 API(미도시) 내부에서 필요한 초기화를 수행하고 애드온 시스템 매니저(1200)로 접속하여 어플리케이션을 등록한다. 오픈 API 라이브러리(미도시) 내부에서 수행하는 초기화로는 내부에서 사용하는 변수와 task(thread) 초기화 등이 있을 수 있다.
애드온 어플리케이션(1600)은 등록 요청이 끝난 후에 자신에게 필요한 초기화를 수행하고, 주 기능을 수행한다.
애드온 어플리케이션(1600)이 종료 할 때에는 자신의 데이터나 임무 등에 대한 정리를 먼저 수행한 후 오픈 API 라이브러리 함수를 사용해 자신이 종료한다는 것을 애드온 시스템 매니저(1200)에 알려야 한다. 이 경우 라이브러리에서는 애드온 시스템 매니저(1200)에 어플리케이션의 등록 해제를 요청한 후 접속을 종료하고 내부에서 사용한 변수나 임무 등의 정리 작업을 진행한다. 라이브러리에서 하는 주요 작업으로는 어플리케이션이 제대로 반환하지 않은 자원의 반환, 메모리와 task(thread)의 정리 등이 있을 수 있다.
키 이벤트를 받기 위한 방법으로 callback 함수를 사용할 수 있으며 이를 위해 초기에 어플리케이션을 등록할 때, 키 이벤트에 대한 callback 함수로 호출하여 등록 절차를 수행할 수 있을 것이다. 이는 하나의 실시예로 다른 방식이 이용될 수도 있다. 만약 키 이벤트를 받을 필요가 없는 경우에는 등록하지 않아도 된다. 키 이벤트 callback을 등록하면, 애드온 어플리케이션이 포커스되어 있는 상태에서는 모든 리모컨 키 이벤트가 callback을 통해 전달된다. 어플리케이션은 전달된 키 이벤트를 사용 했는지, 하지 않았는지의 여부를 callback의 리턴으로 알려주어서 사용하지 않은 키 이벤트는 호스트 S/W 처리 모듈(1400)에서 처리하도록 할 수 있다. 호스트 S/W 처리 모듈(1400)이 키 이벤트 처리를 위해 기다리고 있으므로 키 이벤트 callback은 최대한 빨리 리턴되어야 한다.
상기 방식은 사용자의 직접 선택에 의한 어플리케이션 실행 방식의 경우로, 본 발명에서 기술한 것을 포함하여 여타의 방법으로 실행되는 경우는 (S410) 이후의 단계는 동일하게 사용될 수도 있을 것이다.
도 5는 네트워크 디바이스 내에서 키 이벤트를 전달하는 과정을 나타낸 일실시예이다. 도 5는 리모컨이나 키보드의 키 입력에 대하여 기술하였으나, 이에 한정되지 않고 마우스 이동이나 클릭과 같이 커서에 기반한 이벤트 등에도 적용될 수 있을 것이다. 또한 이외의 다른 사용자 입력의 경우에도 적용될 수 있을 것이다.
도 5에 도시된 바에 의하면, 사용자가 리모컨이나 키보드 등의 입력 장치를 이용하여 키 입력을 하였을 경우 이는 호스트 S/W 처리 모듈(1400)이 수신하여 처리를 시작하게 된다(S502). 호스트 S/W 처리 모듈(1400)만 이용할 수 있는 특정 키들은 전송하지 않고 호스트 S/W 처리 모듈(1400)이 바로 처리한다. 예를 들면, 전원키 등이 호스트 S/W 처리 모듈(1400)이 바로 처리할 수 있는 키 이벤트이다.
호스트 S/W 처리 모듈(1400)은 수신한 사용자 입력 키에 대한 이벤트를 애드온 시스템 매니저(1200)로 송신한다(S504). 애드온 시스템 매니저(1200)내의 키 이벤트 포워더(key-event forwarder)(1244)가 이를 수신하여 처리하게 된다. 키 이벤트 포워더(1244)는 어플리케이션 콘트롤러(1240)에 포함되거나 독립된 모듈일 수도 있다.
키 이벤트 포워더(1244)는 어플리케이션 콘트롤러(1240)에게 현재 포커스가 위치한 어플리케이션의 정보를 요청한다(S506). 어플리케이션 콘트롤러(1240)는 현재 포커스를 가진 어플리케이션의 정보를 유지하고 있으며 키 이벤트 포워더(1244)의 요청에 따라서 현재 포커스를 가진 어플리케이션 정보를 반환한다.
키 이벤트 포워더(1244)는 현재 포커스를 가진 어플리케이션에게 입력된 키 이벤트를 중계한다(S508).
어플리케이션이 사용하지 않는 키는 키 이벤트 포워더(1244)로 반송한다(S510).
키 이벤트 포워더(1244)는 반송된 키를 호스트 S/W 처리 모듈로 전달한다(S512).
입력된 키를 처리하는 단계로, 입력된 키는 현재 포커스를 가진 어플리케이션에서 처리되거나 반송되어서 호스트 S/W 처리 모듈에서 처리되게 된다(S514)
도 6은 애드온 어플리케이션의 오픈 API 호출 과정의 일실시예를 나타낸 도면이다.
도 6에 도시된 바와 같이, 애드온 어플리케이션(1600)이 오픈 API(미도시) 실행을 호스트 S/W 처리 모듈(1400)에 요청한다(S602).
호스트 S/W 처리 모듈(1400) 내에서 API 실행을 요청한 애드온 어플리케이션(1600)의 정보를 등록하여 관리한다(S604). 오픈 API에 따라서는 자원을 할당 후 반환할 때까지 등록을 유지하는 경우도 존재하므로 API 호출 시 관련 어플리케이션에 대한 정보를 유지하는 것이 필요하다.
요청된 오픈 API를 실행한다(S606). 요청된 API 실행하기 전에 해당 어플리케이션이 이 API의 수행을 요청할 수 있는 권한이 있는 여부를 검사할 수 있다. 어플리케이션의 인증 정보에 이러한 어플리케이션의 수행 권한 정보가 포함될 수 있으며, 이러한 권한 정보를 바탕으로 API 수행 권한을 검사하여 부적절한 API 실행 요청을 차단할 수 있다.
API 실행을 요청한 어플리케이션을 확인하고 API 호출 내역에 실행결과를 기록한다(S608).
실행을 요청한 어플리케이션에게 실행 결과를 전송한다(S610).
도 7은 애드온 어플리케이션의 다운로드 및 설치 과정의 일실시예를 나타낸 도면이다. 애드온 어플리케이션의 시그널링 및 배포는 다양한 방법에 의하여 실행될 수 있으나, 도 7은 사용자가 어플리케이션 다운로드 서버에 직접 접속하여 선택 설치하는 과정에 대한 실시예로 설명한다.
도 7에 도시된 바와 같이, 사용자가 어플리케이션 다운로더(Application Downloader)(1280)를 실행시킨다(S702). 어플리케이션 다운로더(1280)는 애드온 어플리케이션으로 구현될 수 있으며, 이 경우에는 어플리케이션 콘트롤러(1240)를 통해 어플리케이션 다운로더(1280)를 실행시킬 수 있을 것이다.
어플리케이션 배포 서버(7000)에 접속하여 어플리케이션 리스트를 다운로드 받는다(S704). 어플리케이션 배포 서버의 접속 주소는 네트워크 디바이스에 미리 설정된 주소, 사용자의 직접 입력에 의하여 얻어질 수 있으며, 또한 시그널링 혹은 방송 채널을 통한 어플리케이션 배포 서버 주소 획득 등의 방법으로 어플리케이션 배포 서버의 주소를 얻을 수 있다.
또한, 이 과정에서 배포 서버에 접속 시에 정당한 권한을 갖춘 네트워크 디바이스인지를 인증하는 절차를 둘 수 있다. 인증을 위하여 네트워크 디바이스의 제조사, 제품번호, 시리얼번호, 디바이스 ID 등의 정보를 전송하여 인증을 수행할 수 있다.
다운받은 어플리케이션 또는 컨텐트 리스트를 사용자에게 표출하여 다운받을 어플리케이션 또는 컨텐트을 선택한다(S706).
사용자가 선택한 어플리케이션 또는 컨텐트을 다운로드한다(S708).
다운받은 어플리케이션의 헤더나 별도 메타데이터를 통해 전송된 인증용 데이터를 이용하여 어플리케이션의 정합성 여부를 시큐리티 체커(1260)를 통하여 검사한다(S710). 인증에는 SHA-1과 같은 방법이 이용될 수 있다. 어플리케이션에 헤더를 추가하여 메타데이터를 함께 전송하는 실시예는 도 8에 나타내었다. 이는 하나의 실시예로 이러한 메타데이터를 별도의 경로로 전송하거나 다른 형태의 패키징 구조를 가질 수도 있다.
다운받은 어플리케이션의 헤더나 별도 메타데이터를 통해 전송된 메타데이터 정보를 이용하여 어플리케이션을 설치한다(S712). 설치 경로 등에 대한 정보가 메타데이터를 통해 시그널링 될 경우 이에 맞추어서 설치를 수행한다.
도 8은 다운로드 되는 어플리케이션의 데이터 구조를 나타낸 일실시예이다.
도 8에 도시된 바와 같이, 다운로드 되는 어플리케이션의 데이터 구조는 헤더, 애드온 식별자(Identifier), 암호화된 서버의 인증 메시지의 해시 값, 제품명, 모델명, 카테고리 ID 어레이, 컨텐트 ID, 파일 타입, 컨텐트의 국문/영문명, 로컬 패스(path), 썸네일 패스(Thumbnail Path), 파일 사이즈 및 애드온 애플리케이션 데이터로 구성된다.
도 9는 애드온 어플리케이션의 다운로드 및 설치 방법 중에 어플리케이션 배포 서버에 직접 접속하는 경우, 어플리케이션의 다운로드 및 설치 과정의 일실시예를 나타내었다. 도 9에서는 인증, 어플리케이션 리스트 다운로드, 어플리케이션 다운로드가 모두 하나의 서버와의 관계에서 이루어지는 경우로 기술되었으나 이는 하나의 실시예로 각 기능별로 별도의 서버를 통하여 서비스가 제공될 수도 있다.
도 9에 도시된 바와 같이, 사용자가 어플리케이션 다운로더(미도시)를 실행시킨다(S901). 어플리케이션 다운로더 또한 애드온 어플리케이션일 수도 있으며, 이 경우에는 어플리케이션 콘트롤러(미도시)를 통해 실행시킬 수 있을 것이다.
배포 서버에 접속 시에 정당한 권한을 갖춘 네트워크 디바이스인지를 인증하는 절차를 둘 수 있다. 네트워크 디바이스에서 접속 서버로 디바이스의 인증을 요청하면(S902), 서버는 해당 디바이스의 권한을 확인하고 인증 결과를 네트워크 디바이스로 전송한다(S904). 이 인증을 위하여 네트워크 디바이스의 제조사, 제품번호, 시리얼번호, 디바이스 ID 등의 정보를 전송하여 인증을 수행할 수 있다. 상기의 인증 절차는 필요한 경우도 있고, 필요하지 않은 경우도 있을 수 있다. 예를 들면, 광고 컨텐트나 무료 어플리케이션 등의 경우 인증 절차가 필요 없을 수도 있다.
네트워크 디바이스에서 어플리케이션 배포 서버로 어플리케이션 또는 컨텐트의 리스트를 요청한다(S906). 어플리케이션 배포 서버는 리스트를 생성한다(S908). 네트워크 디바이스는 어플리케이션 배포 서버에 접속하여 어플리케이션 리스트를 다운로드 받는다(S910).
어플리케이션 배포 서버의 접속 주소는 네트워크 디바이스에 미리 설정된 주소, 사용자 직접 입력, 시그널링 혹은 방송 채널을 통하여 어플리케이션 배포 서버 주소 획득, 네트워크 디바이스 인증 후 인증 결과로부터 배포 서버의 주소 획득과 같은 방법으로 얻을 수 있을 것이다.
다운 가능한 어플리케이션 리스트는 네트워크 디바이스의 사양에 맞추어 구동 가능한 어플리케이션만에 대한 리스트이거나 다운 가능한 어플리케이션들 중 구동 가능한 어플리케이션을 표시한 리스트일 수 있다.
사용자가 선택한(S912) 특정 어플리케이션 또는 컨텐트에 대한 다운로드 요청 신호를 어플리케이션 배포 서버(7000)로 전송한다(S914). 사용자가 선택한 어플리케이션을 다운로드한다(S916). 다운로드된 어플리케이션은 자동적으로 설치 될 수 있고, 사용자의 설치 선택에 의하여 설치될 수도 있다(S918). 다운로드 위치는 상기 수신한 어플리케이션 리스트 정보의 메타데이터로부터 획득할 수 있다.
네트워크 디바이스는 다운받은 어플리케이션 설치 후 이에 대한 결과를 서버로 보고할 수 있다(S920). 이때 네트워크 디바이스는 네트워크 디바이스의 디바이스 ID와 같이 네트워크 디바이스를 식별할 수 있는 정보와 함께 설치한 어플리케이션의 정보 그리고 설치 결과 정보를 서버에 보고할 수 있다.
도 10은 어플리케이션 배포 서버로부터 전송 받은 어플리케이션 리스트를 나타낸 UI화면의 일실시예이다. 어플리케이션 리스트는 네트워크 디바이스의 사양에 맞추어 구동 가능한 어플리케이션 만을 내려 보내는 것이 가능할 것이다.
도 10은 어플리케이션 A, D, E 만이 리스트를 요청한 네트워크 디바이스의 사양에서 구동 가능하므로 어플리케이션 B, C에 대한 리스트는 제외한 어플리케이션 리스트만을 네트워크 디바이스로 전송한 결과이다.
도 11은 어플리케이션 배포 서버로부터 전송 받은 어플리케이션 리스트를 나타낸 UI화면의 또 다른 실시예이다. 어플리케이션 리스트는 네트워크 디바이스의 사양에 맞추어 구동 가능한 어플리케이션만을 강조하거나, 네트워크 디바이스 사양으로 인하여 구동이 불가능한 어플리케이션을 제외시키는 표시를 할 수 있다.
도 11을 참조하면, 도 11은 어플리케이션 B, C는 어플리케이션 리스트를 요청한 네트워크 디바이스에서는 구동될 수 없으므로 어플리케이션 리스트에서 어플리케이션 B, C에 대하여는 다운로드를 할 수 없다는 표시를 하여 어플리케이션 리스트를 전송한 결과이다. 네트워크 디바이스에서 구동될 수 없는 어플리케이션을 표시하여 리스트를 작성하는 경우, 사용자가 네트워크 디바이스의 펌웨어등의 업그레이드의 필요성 또는 네트워크 디바이스 자체의 성능 업그레이드의 필요성을 손쉽게 인식할 수 있다.
도 11은 어플리케이션 리스트는 네트워크 디바이스의 사양에 맞추어 구동 가능한 어플리케이션만을 표시하는 하나의 예시일 뿐이며, 표시 방법은 구동 가능한 어플리케이션과 구동이 불가능한 어플리케이션을 구분할 수 있는 다른 방법이라도 사용 가능하다.
도 12는 어플리케이션 배포 서버로부터 전송 받은 컨텐트 리스트를 나타낸 UI화면의 일실시예이다. 다운 가능한 컨텐트 리스트를 서버에서 얻을 수 있다. 이 경우 네트워크 디바이스에 이미 설치된 어플리케이션에 대한 정보를 서버에 전송하고 서버는 네트워크 디바이스에 이미 설치된 어플리케이션에서 활용 가능한 컨텐트 만을 내려 보내는 것도 가능할 것이다.
도 12의 (a)를 참조하면, 컨텐트 A, C는 네트워크 디바이스에 이미 설치된 어플리케이션으로는 활용할 수 없는 컨텐트임을 표시하여 컨텐트 리스트를 전송한 결과이다. 컨텐트 B, D, E는 네트워크 디바이스에 이미 설치된 어플리케이션에서 사용가능 한 것들이다.
도 12의 (b)를 참조하면, 사용자는 네트워크 디바이스에 이미 설치된 어플리케이션으로는 활용할 수 없는 컨텐트 C를 선택하였다. 이 경우, 컨테트 C를 소비할 수 있는 어플리케이션이 없으므로 어플리케이션의 실행이 이루어 질 수 없다.
도 12의 (c)를 참조하면, 사용자가 전송 받은 다운로드 가능한 컨텐트 리스트에서 네트워크 디바이스에 해당 컨텐트를 활용할 수 있는 어플리케이션이 설치되어 있지 아니하여 사용할 수 없는 컨텐트 C를 선택하는 경우, 컨텐트 C를 활용하기 위한 어플리케이션을 다운로드 할 수 있다. 이 때, 별도의 대화상자가 화면에 표시되면서 해당 어플리케이션의 다운로드 여부를 사용자에게 묻고 사용자의 선택에 따라 어플리케이션의 다운로드 여부가 결정될 수 있다.
도 13은 어플리케이션 배포 서버로부터 전송 받은 어플리케이션 리스트를 나타낸 UI화면의 또 다른 실시예이다. 사용자가 특정 필터링 옵션을 선택하여 필터링 옵션에 해당하는 어플리케이션 또는 켄텐트 리스트만을 전송 받을 수 있다. 필터링 옵션은 어플리케이션의 타이틀, 다운로드 횟수, 추천수 및 등록일 등이 될 수 있다. 이때, 필터링 옵션을 정보 필드로 하여, 상기 정보 필드를 기준으로 정렬된 서브 리스트를 포함하는 어플리케이션 또는 켄텐트의 리스트를 전송 받을 수 있다.
도 13의 예에서는 필터링 옵션을 타이틀, 다운로드 횟수, 추천수 및 등록일로 설정하여 어플리케이션 리스트를 요청한 경우이다. 어플리케이션 배포 서버에서는 네트워크 디바이스로부터 필터링 옵션으로 지정된 필터링 옵션 별로 정렬하여 리스트를 생성한다. 예를 들어, 도 13에서, 타이틀 필터링 옵션 탭(1301)은 검색된 어플리케이션들을 알파벳 순으로 정리한 것이고, 다운로드 횟수 탭(1302)은 다운로드 순위로 정렬한 것이며, 추천수 탭(1303)은 추천수 순으로 정렬한 것이고, 등록일 순(1304)은 가장 최근에 업로드된 순으로 정렬한 것이다.
위와 같이 사용자가 지정한 필터링 옵션 별로 어플리케이션을 정렬하여 어플리케이션 리스트를 제공함으로써, 사용자가 수신한 어플리케이션 리스트를 따로 편집하거나 추가 정보를 검색할 필요없이 편리하게 자신이 원하는 어플리케이션을 선택할 수 있다.
도 14는 어플리케이션 브라우저를 실행한 경우 네트워크 디바이스에 이미 저장되어 있는 어플리케이션 및 컨텐트에 대한 리스트를 표시하는 UI화면의 일실시예를 나타낸 것이다. 어플리케이션만에 대한 리스트를 생성할 수 있으며, 컨텐트만에 대한 리스트를 생성할 수 있다. 도 14에서는 더 나아가, 어플리케이션 A를 포커스하는 경우 어플리케이션 A가 활용 가능한 컨텐트 A 내지 E를 서브 리스트로 표시한 상태를 나타낸 도면이다. 여기서 사용자가 컨텐트 B를 선택하는 키 이벤트를 입력하면 어플리케이션 A가 실행되면서 컨텐트 B를 사용자에게 제공하게 된다.
도 15는 어플리케이션 리스트를 관리하는 일실시예이다.
도 15의 (a)에 도시된 바와 같이, 어플리케이션 브라우저에 의하여 어플리케이션 리스트가 디스플레이 되면, 어플리케이션 리스트의 관리모드를 실행시킬 있다. 관리모드는 관리모드실행 탭(1510)으로 시작된다.
도 15의 (b)에 도시된 바와 같이 사용자가 어플리케이션 B의 정렬 순서를 변경하고 싶은 경우, 관리모드가 온(on) 된 상태에서 어플리케이션 B에 해당하는 탭(1504)를 선택한다. 어플리케이션 B에 해당하는 탭(1504)이 선택되면 별도의 관리메뉴(1505) 나타난다. 관리메뉴(1505)에는 목록 수정, 어플리케이션의 썸네일(Thumbnail)변경, 어플리케이션의 업데이트, 어플리케이션의 삭제 등을 위한 메뉴가 포함될 수 있다.
도 15의 (c)에 도시된 바와 같이, 사용자가 목록 수정을 선택하는 경우 어플리케이션 B에 해당하는 탭(1504)을 좌우 위치로 이동시킬 수 있다.
도 15의 (d)에 도시된 바와 같이, 목록 수정이 종료되면, 관리모드를 오프(off)하고 수정된 어플리케이션 리스트를 얻을 수 있다.
도 16은 디지털 방송 수신기의 구성을 도시한 블록도로서 본 발명의 애드온 구조(Add-on Architecture)가 디지털 방송 수신기에 적용된 일실시예를 나타내는 도면이다.
네트워크 디바이스인 디지털 방송 수신기(1000)는 지상파 방송, 케이블 방송, 위성 방송 등을 수신할 수 있는 튜너(210)와, 상기 튜너(210)를 통해 수신된 방송 신호를 복조하는 디모듈레이터(211)를 포함한다. 또한, 디지털 방송 수신기(1000)는 네트워크 망으로부터 수신되는 패킷(packet)들을 수신하고, 네트워크 망으로 패킷을 전송하는 네트워크 인터페이스(220) 즉, 네트워크 망을 통해 서비스 제공자로부터 컨텐트 및 업데이트 메시지를 수신하는 네트워크 인터페이스(220)와, 상기 네트워크 인터페이스(220)를 통해 수신되는 패킷과 전송할 패킷에 대하여 소스로부터 목적지까지 패킷 전달에 관여하는 TCP/IP 매니저(221)를 포함한다.
서비스 전달 매니저(212)는 튜너(210)와 네트워크 인터페이스(220)를 통해 수신되는 서비스 데이터의 제어를 담당한다. 예를 들어, 실시간 스트림(real-timing streaming) 데이터를 제어하는 경우 RTP/RTCP(Real-Time Transport Protocol/RTP Control Protocol)를 사용할 수 있다. 실시간 스트리밍 데이터를 RTP를 사용하여 전송하는 경우, 서비스 전달 매니저(212)는 상기 수신된 서비스 데이터 패킷을 RTP에 따라 파싱(parsing)하여 디멀티플렉서(214)에 전송하거나 서비스 매니저(201)의 제어에 따라 수신된 서비스 데이터 패킷을 PVR 매니저(213)에서 녹화하여 콘텐츠 데이터베이스(217)에 저장한다. 그리고, 서비스 전달 매니저(212)는 RTCP를 이용하여 상기 네트워크 수신 정보를 제공하는 서버 측에 피드백(feedback)한다.
디멀티플렉서(214)는 수신된 패킷을 오디오, 비디오, PSI(Program Specific Information) 데이터 등으로 역다중화하여 각각 오디오/비디오 디코더(215)와 PSI/PSIP 디코더(225)로 전송한다.
PSI/PSIP 디코더(225)는 PSI(Program Specific Information) 같은 서비스 정보를 디코딩 한다. 즉, 디멀티플렉서(214)에서 역다중화된 PSI 섹션, PSIP(Program Specific Information Protocol) 섹션 또는 DVB-SI(Service Information) 섹션 등을 수신하여 디코딩한다.
오디오/비디오 디코더(215)는 디멀티플렉서(214)에서 역다중화된 비디오 데이터와 오디오 데이터를 각각 디코딩한다. 오디오 디코더(215a)는 디코딩된 오디오 데이터를 스피커(미도시)를 통하여 외부로 출력하고, 비디오 디코더(215b)는 디코딩된 비디오 데이터를 디스플레이부(216)를 통해 화면에 제공한다.
본 발명에 따른 애드온 구조(Add-on Architecture)가 적용된 네트워크 디바이스의 일실시예로서의 디지털 방송 수신기(1000)는 일반적으로 DTV에서 실행되는 소프트웨어를 운용하는 호스트 애플리케이션 매니저(200)와 호스트 소프트웨어의 실행과 별도의 프로세스로 컨텐트를 다운로드하여 실행 및 확장하는 애드온 시스템 매니저(1200)를 포함한다.
호스트 애플리케이션 매니저(200)는 디지털 방송 수신기(1000)의 전반적인 상태를 관리하고 유저 인터페이스를 제공하며, 애드온 시스템 매니저(1200)와 연동한다. 이를 위해 호스트 애플리케이션 매니저(200)는 서비스 매니저(201), 유저 인터페이스 매니저(202) 및 애드온(Add-on) 호스트(1420)를 포함한다.
서비스 매니저(201)는 사용자 요청에 따라 수신되는 서비스 제공을 위해 서비스 제어 매니저(204), 서비스 전달 매니저(212), PVR 매니저(213)를 제어한다.
서비스 제어 매니저(204)는 서비스의 선택과 제어를 담당한다. 예를 들어, 사용자가 기존의 방송 방식과 같은 라이브 브로트캐스팅(Live braocasting) 서비스를 선택하는 경우, IGMP 또는 RTSP 등을 사용하고, VOD(Video On Demand)와 같은 서비스를 선택하는 경우에는 RTSP를 사용하여 서비스의 선택 및 제어를 수행한다. 상기 RTSP 프로토콜은 실시간 스트리밍에 대해 트릭 모드(trick mode)를 제공할 수 있다.
또한 서비스 제어 매니저(204)는 IMP(IP Multimedia subsystem), SIP(Session Initiation Protocol)를 사용하여 IMC 게이트웨이를 통하는 세션을 초기화하고 관리할 수 있다. 상기 프로토콜은 일 실시 예이며 다른 프로토콜을 사용할 수 있다.
또한 서비스 매니저(201)는 채널 맵(Channel Map)을 생성하여 유저 인터페이스 매니저(202)로부터 수신한 키 입력에 따라 상기 채널 맵을 이용하여 채널 선택 신호를 서비스 제어 매니저(204)로 출력한다. 이때, 서비스 제어 매니저(204)는 채널 선택 신호에 따라 튜너(210)와 디모듈레이터(211)를 제어한다.
그리고 서비스 매니저(201)는 서비스 정보 데이터베이스(224)로부터 저장된 채널의 서비스 정보를 검출하여 선택된 채널의 오디오/비디오 PID(Packet Identifier)를 디멀티플렉서(214)에 설정한다.
유저 인터페이스(UI) 매니저(202)는 사용자를 위한 GUI(Graphic User Interface)를 OSD(On Screen Display) 등을 이용하여 제공하며, 리모컨이나 터치 패널 등으로부터 사용자의 키 입력을 받아 상기 입력에 따른 애플리케이션 동작을 수행한다. 예를 들어, 사용자로부터 채널 선택에 관한 키 입력을 받으면 상기 키 입력 신호를 서비스 매니저(201)에 전송한다.
애드온(Add-on) 호스트(1420)는 애드온 시스템 매니저(1200)의 구동을 지원하기 위해 호스트 애플리케이션 매니저(200)에 추가되는 구성으로, 애드온 시스템 매니저(1200)에서의 컨텐트의 수신 및 실행을 제어한다. 애드온(Add-on) 호스트(1420)는 디지털 방송 수신기의 다른 기능들 예를 들어, 방송 신호의 출력 수행과는 별도로 애드온 시스템 매니저(1200)에서의 컨텐트 실행 및 다운로드를 제어하는 오퍼레이팅 시스템이다.
애드온(Add-on) 호스트(1420)는 도 2에 도시된 바와 같이, 호스트 에이전트(1422)와 오픈 API 호스트(1424)를 포함하며, 호스트 에이전트(1422)는 DTV의 호스트 소프트웨어의 상태 정보 및 UI 매니저(202)로부터 수신되는 키 입력을 수신한다. 그리고 오픈 API 호스트(1424)는 애드온 애플리케이션의 오픈 API (어플리케이션 Programming Interface)를 호출하여 실행하고 그 결과를 수신한다.
또한, 애드온 호스트(1420)는 UI 매니저(202)로부터 수신한 키 입력에 따라 애플리케이션 다운로더(1280)에 다운로드 제어 명령을 전송한다.
애드 온 시스템 매니저(1200)는 애드 온 애플리케이션의 설치, 실행, 관리, 삭제 등의 전반적인 애드온 애플리케이션을 관리하는 시스템이며, 애드 온 애플리케이션의 실행/종료 및 실행 테이블을 관리, 비정상 종료시 복구 기능 및 리모컨 키 전달 등 전반적인 제어를 위한 애플리케이션 콘트롤러(1240), 애드 온 애플리케이션의 브라우징 및 선택 기능을 갖는 애플리케이션 브라우저(1220), 애드온 애플리케이션의 설치, 실행, 관리 및 삭제 시의 보안을 위한 시큐리티 체커(1260) 및 애드온 애플리케이션 설치를 위한 애플리케이션 다운로더(1280)를 포함한다.
본 발명에 따라 애드온 호스트(1420)는 네트워크 인터페이스(220)를 통해 인터넷 망과 연결되어 애드 온 애플리케이션을 제공하는 서버와 인증을 수행한다.
애드 온(Add-on) 호스트(1420)와 서버의 인증이 이루어진 후, 애플리케이션 다운로더(1280)는 애드온 호스트(1420)의 명령에 따라 구동되고, 어플리케이션 또는 컨텐트 리스트 요청 신호를 서버로 전송하여 서버로부터 어플리케이션 또는 컨텐트 리스트를 다운로드 한다. 이때, 콘텐츠 리스트는 압축되어 수신될 수 있고 애플리케이션 다운로더(1280)는 수신된 컨텐트 리스트를 압축 해제한 후, 서비스 정보 데이터베이스(224)에 저장한다. 여기서 컨텐트 리스트는 XML 형태로 저장될 수 있다.
또한, 애플리케이션 다운로더(1280)는 어플리케이션 또는 컨텐트 리스트의 다운로드가 완료되면, 서버로 디지털 방송 수신기의 다바이스 아이디 정보, 수신한 어플리케이션 또는 컨텐트 리스트의 버전 정보를 전송한다.
애플리케이션 브라우저(1220)는 저장된 어플리케이션 또는 컨텐트 리스트를 디스플레이부(216)로 출력하며, UI 매니저(202)로부터 다운로드된 어플리케이션 또는 컨텐트 중 하나 이상의 실행 명령을 선택받아, 상기 선택받은 어플리케이션 또는 컨텐트를 실행한다.
서비스 디스커버리 매니저(222)는 양방향 IP 네트워크상에 제공되는 서비스에 대해 TCP/IP 매니저(221)에 의해 제공되는 패킷들로부터 선택된 서비스를 검색한다. 메타 데이터 매니저(223)는 TCP/IP 매니저(221)에 의해 제공되는 패킷들로부터 서비스와 관련된 메타 데이터를 검출한다.
서비스 정보 데이터 베이스(224)는 PSI/PSIP 디코더(225)로부터 디코딩된 섹션들의 서비스 정보(SI)와, 서비스 디스커버리 매니저(222)로부터 검색된 서비스 관련 정보와 메타 데이터 매니저(223)로부터 검출된 메타 데이터를 저장한다. 또한, 서비스 정보 데이터베이스(224)는 시스템에 대한 셋업 데이터 등을 저장한다. 서비스 정보 데이터베이스(224)는 비휘발성 메모리(NonVolatile RAM) 또는 플래쉬 메모리 등을 사용하여 구현될 수 있으며, 동일한 저장 영역 상에 논리적으로 분리된 적어도 하나 이상의 영역으로 구현될 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
발명의 실시를 위한 형태
전술한 바와 같이, 상기 발명의 실시를 위한 최선의 형태에서, 관련된 사항을 기술하였다.
산업상 이용가능성
전술한 바와 같이, 본 발명은 네트워킹이 가능한 디바이스에 적용될 수 있다.

Claims (20)

  1. 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스에 있어서,
    특정 명령을 실행시키는 키 이벤트를 수신하고, 수신된 키 이벤트를 선택적으로 애드온 시스템 매니저로 전송하는 호스트 S/W 처리 모듈;
    현재 실행 가능한 적어도 하나 이상의 어플리케이션 중에서 포커싱되어 있는 특정 어플리케이션을 확인하고, 상기 수신된 키 이벤트를 상기 포커싱되어 있는 특정 어플리케이션으로 전송하는 애드온 시스템 매니저; 그리고
    상기 수신된 키 이벤트를 처리하는 애드온 어플리케이션;
    을 포함하여 이루어 지는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스.
  2. 제 1 항에 있어서,
    상기 호스트 S/W 처리 모듈은,
    상기 호스트 S/W 처리 모듈이 키 이벤트를 수신하면 상기 키 이벤트가 상기 호스트 S/W 처리 모듈에서만 처리되어야 할 것인지 판단하고, 상기 판단 결과 상기 키 이벤트가 상기 호스트 S/W 처리 모듈에서만 처리되어야 할 것인 경우, 상기 호스트 S/W 처리 모듈이 자체적으로 상기 키 이벤트를 처리하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스.
  3. 제 1 항에 있어서,
    상기 애드온 시스템 매니저는
    디바이스에 설치된 애드온 어플리케이션의 리스트를 보여주는 어플리케이션 브라우저(Application Browser);
    실행이 요청된 어플리케이션을 실행시키고, 실행된 어플리케이션의 프로세스(Process)를 등록 및 관리하는 어플리케이션 콘트롤러(Application Controller);
    애드온 어플리케이션의 다운로드, 설치 및 삭제를 수행하는 어플리케이션 다운로더(Application Downloader); 그리고
    다운로드 되거나 설치된 애드온 어플리케이션의 손상 여부를 확인하는 시큐리티 체커(Security Checker);
    를 포함하여 이루어지는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스.
  4. 제 1 항에 있어서,
    호스트 S/W 모듈은
    애드온 메니저로 호스트 S/W 모듈의 상태(Status) 및 키 이벤트를 전송하는 호스트 에이전트(Host Agent); 그리고
    애드온 어플리케이션의 Open API 호출을 실행하고 그 결과를 리턴하는 Open API 호스트;
    를 포함하여 이루어지는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스.
  5. 제 1 항에 있어서, 애드온 어플리케이션은
    애드온 매니저로 애드온 어플리케이션의 상태(Status)를 전송하고 키 이벤트를 수신하는 애드온 에이전트(Add-on Agent);
    애드온 어플리케이션 설계에 필요한 API를 제공하는 Open API;
    를 포함하여 이루어지는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스.
  6. 제 3 항에 있어서,
    어플리케이션 콘트롤러는
    어플리케이션 또는 컨텐트의 배포시 메타데이터에 의한 자동실행, 컨텐트의 특정 시점에 시그널링되는 어플리케이션 실행 트리거링(Trigering)에 의한 실행, 어플리케이션 상에서 다른 어플리케이션의 호출에 의한 실행 또는 사용자의 어플리케이션 실행 선택에 의한 실행 중 적어도 하나 이상의 방법으로 어플리케이션을 실행하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스.
  7. 제 3 항에 있어서,
    어플리케이션 콘트롤러는
    애드온 어플리케이션 실행 이전의 상태를 기억하고, 애드온 어플리케이션이 이상(異常) 종료할 경우 기억된 상기의 상태로 시스템을 복구시켜주는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스.
  8. 제 3 항에 있어서,
    어플리케이션 콘트롤부는
    애드온 구조(Add-on Architecture)를 사용하는 경우에만 활성화되는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스.
  9. 제 3 항에 있어서,
    어플리케이션 다운로더는
    애드온 어플리케이션 배포 서버에 직접 접속에 의한 어플리케이션 설치, 방송망 또는 IP 네트워크 이용한 유니캐스트/멀티캐스트/브로드캐스트(Unicast/Multicast/Broadcast) 방식을 통한 어플리케이션 설치 또는 외부 저장 장치에 디바이스에 연결하여 외부 저장 장치 내에 탑재된 어플리케이션 설치 중 적어도 어느 하나 이상의 방법으로 어플리케이션을 설치하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스.
  10. 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 제어 방법에 있어서,
    상기 네트워크 디바이스에 대한 인증을 요청하는 신호를 서버(Server)로 전송하는 단계;
    상기 서버로부터, 상기 네트워크 디바이스에 대한 인증 컨펌 여부를 식별하는 신호를 수신하는 단계;
    상기 식별하는 신호가 상기 인증을 컨펌하는 신호에 해당하는 경우, 상기 서버로부터 어플리케이션을 다운로드 하는 단계;
    특정 명령을 실행 실행시키는 키 이벤트를 수신하고, 수신된 키 이벤트를 선택적으로 애드온 시스템 매니저로 전송하는 단계; 그리고
    현재 실행 가능한 적어도 하나 이상의 어플리케이션 중에서 포커싱되어 있는 특정 어플리케이션을 확인하고, 상기 수신된 키 이벤트를 상기 포커싱되어 있는 특정 어플리케이션으로 전송하는 단계;
    를 포함하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 제어 방법.
  11. 제 10 항에 있어서,
    상기 서버로부터 어플리케이션을 다운로드 하는 단계는
    다운로드 받은 어플리케이션의 헤더 또는 별도의 메타데이터에 의하여 전송된 인증 데이터를 수신하는 단계; 그리고
    어플리케이션의 정상적 실행 가능 여부를 검증하는 단계;
    를 더 포함하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 제어 방법.
  12. 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 제어 방법에 있어서,
    다운로드 가능한 적어도 하나 이상의 어플리케이션을 식별하는 제1리스트 또는 적어도 하나 이상의 컨텐트(Content)를 식별하는 제2리스트를 요청하는 신호를, 서버(server)로 전송하는 단계;
    상기 서버로부터, 상기 제1리스트 또는 상기 제2리스트를 수신하는 단계;
    상기 수신된 제1리스트 또는 제2리스트를 디스플레이 하는 단계;
    상기 제1리스트에서 특정 어플리케이션 또는 상기 제2리스트에서 특정 컨텐트가 선택된 경우, 상기 선택된 어플리케이션 또는 컨텐트를 요청하는 신호를 상기 서버로 전송하는 단계; 그리고
    상기 서버로부터 상기 선택된 어플리케이션 또는 컨텐트를 다운로드 하는 단계;
    를 포함하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 제어 방법.
  13. 제 12 항에 있어서,
    상기 제1리스트를 디스플레이하는 단계는
    상기 제1리스트를 수신하는 네트워크 디바이스의 사양을 검토하는 단계; 그리고
    상기 검토된 정보를 이용하여 상기 네트워크 디바이스에서 구동 가능한 어플리케이션만을 리스트에 표시하는 단계;
    를 더 포함하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 제어 방법.
  14. 제 12 항에 있어서,
    상기 제2리스트를 디스플레이하는 단계는
    상기 제2리스트를 수신하는 네트워크 디바이스에 이미 설치된 어플리케이션을 검색하는 단계; 그리고
    상기 검색된 어플리케이션에서 활용 가능한 컨텐트만을 리스트에 표시하는 단계;
    를 더 포함하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 제어 방법.
  15. 제 12 항에 있어서,
    상기 제1리스트 또는 제2리스트를 요청하는 단계는
    적어도 하나 이상의 필터링 옵션을 설정하는 단계;
    를 더 포함하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 제어 방법.
  16. 제 15 항에 있어서, 상기 필터링 옵션은
    어플리케이션의 타이틀, 다운로드 횟수, 추천수 및 등록일 중 적어도 하나 이상을 포함하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 제어 방법.
  17. 제 15 항에 있어서, 상기 서버로부터 수신하는 제1리스트 또는 제2리스트는
    상기 필터링 옵션을 정보 필드로 하여, 상기 정보 필드를 기준으로 정렬된 서브 리스트를 포함하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 제어 방법.
  18. 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 어플리케이션 실행 방법에 있어서,
    어플리케이션 리스트 생성을 위한 키 이벤트를 전송 받는 단계;
    네트워크 디바이스에 설치된 어플리케이션을 검색하는 단계;
    상기 검색된 어플리케이션 리스트를 생성하는 단계;
    상기 생성된 어플리케이션 리스트를 디스플레이 하는 단계;
    상기 어플리케이션 리스트의 적어도 하나 이상의 어플리케이션 중에서 선택된 어플리케이션에 대한 실행 요청을 전송 받는 단계;
    상기 실행 요청된 어플리케이션의 정상 실행 여부를 어플리케이션의 메타데이터를 이용하여 검증하는 단계;
    상기 검증 결과 정상 실행 가능으로 판단되는 경우, 상기 어플리케이션을 실행하는 단계;
    를 포함하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 어플리케이션 실행 방법.
  19. 제 18 항에 있어서,
    상기 검색된 어플리케이션의 리스트를 생성하는 단계는
    상기 네트워크 디바이스에 이미 저장된 컨텐트를 검색하는 단계; 그리고
    상기 검색된 컨텐트들 중 해당 어플리케이션에서 활용 가능한 컨텐트에 대한 서브 리스트를 생성하는 단계;
    를 더 포함하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 어플리케이션 실행 방법.
  20. 제 19 항에 있어서,
    상기 서브 리스트에 표시된 컨텐트가 선택되는 경우 상기 컨텐트가 사용되는 어플리케이션을 확인하는 단계;
    상기 확인된 어플리케이션에 대한 실행 요청을 받는 단계;
    상기 실행 요청된 어플리케이션에서 상기 선택된 컨텐트가 처리되는 단계;
    를 더 포함하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 어플리케이션 실행 방법.
KR1020117021478A 2009-02-27 2010-02-26 어플리케이션을 처리하는 네트워크 디바이스의 구조 및 상기 네트워크 디바이스의 제어방법 KR20110126148A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15592109P 2009-02-27 2009-02-27
US61/155,921 2009-02-27

Publications (1)

Publication Number Publication Date
KR20110126148A true KR20110126148A (ko) 2011-11-22

Family

ID=42666083

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117021478A KR20110126148A (ko) 2009-02-27 2010-02-26 어플리케이션을 처리하는 네트워크 디바이스의 구조 및 상기 네트워크 디바이스의 제어방법

Country Status (5)

Country Link
US (1) US20110302274A1 (ko)
EP (1) EP2403246A4 (ko)
KR (1) KR20110126148A (ko)
CN (1) CN102334344A (ko)
WO (1) WO2010098622A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015130021A1 (ko) * 2014-02-27 2015-09-03 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 애플리케이션 처리 방법
US10075775B2 (en) 2014-02-27 2018-09-11 Lg Electronics Inc. Digital device and method for processing application thereon
KR20190111617A (ko) 2018-03-23 2019-10-02 에스케이플래닛 주식회사 멀티 프레임을 고려한 키 처리 기반의 클라우드 스트리밍 서비스 방법 및 이를 위한 방법

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8434093B2 (en) 2008-08-07 2013-04-30 Code Systems Corporation Method and system for virtualization of software applications
US8776038B2 (en) 2008-08-07 2014-07-08 Code Systems Corporation Method and system for configuration of virtualized software applications
JP5316363B2 (ja) * 2009-10-20 2013-10-16 ソニー株式会社 情報処理装置、機能管理方法、コンピュータプログラム及び情報処理システム
US9922331B2 (en) * 2009-11-04 2018-03-20 Blue Kai, Inc. Filter for user information based on enablement of persistent identification
US8954958B2 (en) 2010-01-11 2015-02-10 Code Systems Corporation Method of configuring a virtual application
US8959183B2 (en) 2010-01-27 2015-02-17 Code Systems Corporation System for downloading and executing a virtual application
US9104517B2 (en) 2010-01-27 2015-08-11 Code Systems Corporation System for downloading and executing a virtual application
US9229748B2 (en) 2010-01-29 2016-01-05 Code Systems Corporation Method and system for improving startup performance and interoperability of a virtual application
US8763009B2 (en) 2010-04-17 2014-06-24 Code Systems Corporation Method of hosting a first application in a second application
US9218359B2 (en) 2010-07-02 2015-12-22 Code Systems Corporation Method and system for profiling virtual application resource utilization patterns by executing virtualized application
US9767475B2 (en) * 2010-08-20 2017-09-19 Blue Kai, Inc. Real time audience forecasting
US9021015B2 (en) 2010-10-18 2015-04-28 Code Systems Corporation Method and system for publishing virtual applications to a web server
US9209976B2 (en) 2010-10-29 2015-12-08 Code Systems Corporation Method and system for restricting execution of virtual applications to a managed process environment
CN102684911A (zh) * 2012-03-14 2012-09-19 北京神州绿盟信息安全科技股份有限公司 一种安全配置核查设备和方法以及安全配置核查网络系统
CN102830989B (zh) * 2012-06-26 2016-08-03 腾讯科技(深圳)有限公司 阅读器提供服务的方法、阅读器及终端
US10740797B2 (en) * 2012-07-30 2020-08-11 Oath Inc. Systems and methods for implementing a mobile application based online advertising system
CN103906034A (zh) * 2012-12-28 2014-07-02 中国电信股份有限公司 移动应用提供方法、服务器
CN103957460A (zh) * 2014-03-24 2014-07-30 上海聚力传媒技术有限公司 一种用于生成电视接收终端桌面应用的方法与设备
US10445314B1 (en) * 2014-09-15 2019-10-15 Amazon Technologies, Inc. Instant unified search
US9781131B2 (en) * 2015-04-22 2017-10-03 Aktiebolaget Skf Systems and methods for securing remote configuration
US9921986B2 (en) * 2015-10-27 2018-03-20 International Business Machines Corporation Suspend and resume in a time shared coprocessor
CN106227723A (zh) * 2016-01-25 2016-12-14 百度在线网络技术(北京)有限公司 用于推荐应用和呈现推荐应用的方法和装置
KR102408649B1 (ko) * 2016-02-19 2022-06-15 삼성전자주식회사 환경 설정 방법 및 장치
CN105933769A (zh) * 2016-06-24 2016-09-07 深圳创维数字技术有限公司 一种机顶盒系统参数设置方法、共享服务器及机顶盒
CN106406942A (zh) * 2016-09-05 2017-02-15 百度在线网络技术(北京)有限公司 处理插件安装过程的方法以及装置
US11402812B1 (en) 2019-03-22 2022-08-02 The Chamberlain Group Llc Apparatus and method for controlling a device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6950991B2 (en) * 1995-11-13 2005-09-27 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US6313851B1 (en) * 1997-08-27 2001-11-06 Microsoft Corporation User friendly remote system interface
WO2001031442A2 (en) * 1999-10-22 2001-05-03 General Instrument Corporation Management of volatile and non-volatile memory resources in digital communications terminals
EP1172726A3 (en) * 2000-07-13 2005-04-20 International Business Machines Corporation Pervasive computing device and method
US7574346B2 (en) * 2000-10-30 2009-08-11 Microsoft Corporation Kernel emulator for non-native program modules
US7330872B2 (en) * 2001-10-02 2008-02-12 Citrix Systems, Inc. Method for distributed program execution with web-based file-type association
CN100450122C (zh) * 2002-09-23 2009-01-07 艾利森电话股份有限公司 中间件应用消息/事件模型
CN100565458C (zh) * 2002-09-23 2009-12-02 艾利森电话股份有限公司 中间件中的安全访问管理器
KR20040044247A (ko) * 2002-11-20 2004-05-28 엘지전자 주식회사 억세스 게이트웨이 시스템에서 다기능 이원 인터페이스 카드
US7846023B2 (en) * 2003-03-27 2010-12-07 Microsoft Corporation Application-centric user interface techniques
US20060095332A1 (en) * 2004-09-30 2006-05-04 Sap Aktiengesellschaft System and method for providing access to an application through a common interface for application extensions
CA2622900C (en) * 2005-09-15 2014-04-29 Biap, Inc. Self-contained mini-applications system and method for digital television
RU2009115639A (ru) * 2006-09-19 2010-10-27 Нокиа Корпорейшн (Fi) Система и способ для управления электронными виджетами и для их использования
US8539073B1 (en) * 2006-12-29 2013-09-17 Google Inc. Startup of container applications
WO2008093782A1 (ja) * 2007-02-02 2008-08-07 Sony Corporation 情報処理装置および方法、並びにプログラム
US8296785B2 (en) * 2007-10-12 2012-10-23 International Business Machines Corporation Providing links between application programs
ES2475205T3 (es) * 2008-09-30 2014-07-10 Orange Procedimiento y sistema de comunicación entre aplicaciones web distintas

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015130021A1 (ko) * 2014-02-27 2015-09-03 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 애플리케이션 처리 방법
US10075775B2 (en) 2014-02-27 2018-09-11 Lg Electronics Inc. Digital device and method for processing application thereon
KR20190111617A (ko) 2018-03-23 2019-10-02 에스케이플래닛 주식회사 멀티 프레임을 고려한 키 처리 기반의 클라우드 스트리밍 서비스 방법 및 이를 위한 방법

Also Published As

Publication number Publication date
WO2010098622A3 (ko) 2010-12-09
EP2403246A2 (en) 2012-01-04
CN102334344A (zh) 2012-01-25
EP2403246A4 (en) 2012-11-07
WO2010098622A2 (ko) 2010-09-02
US20110302274A1 (en) 2011-12-08

Similar Documents

Publication Publication Date Title
KR20110126148A (ko) 어플리케이션을 처리하는 네트워크 디바이스의 구조 및 상기 네트워크 디바이스의 제어방법
US10171874B2 (en) Receiving device, receiving method, and program
US9538260B2 (en) Receiving device, receiving method, program, and broadcasting system
US9473827B2 (en) Apparatus and methods for implementation of network software interfaces
US10635261B2 (en) Mobile terminal and controlling method thereof
US9965015B2 (en) Digital device and method of processing screensaver thereof
US9883251B2 (en) Method and apparatus for managing connection between broadcast receiving device and another device connected by network
US9736522B2 (en) Display device for managing a plurality of time source data and method for controlling the same
US20130347044A1 (en) Method and apparatus for the seamless playback of content
US10063923B2 (en) Digital device and control method thereof
US10204439B2 (en) Digital device and speech to text conversion processing method thereof
US8880695B2 (en) Information processing apparatus and information processing method
US10554745B2 (en) Method and apparatus for managing connection between broadcasting reception device and another device which are connected through network
US10521240B2 (en) Digital device and method of processing screensaver thereof
US20160294903A1 (en) Method and device for pushing resources to mobile communication terminal by smart television
JP7409448B2 (ja) 受信装置及び受信方法
US9538255B2 (en) Information output device, information manipulation device, and computer program product
WO2011088790A1 (zh) 一种数字电视接收终端升级方法及数字电视接收终端
JP2010183446A (ja) コンテンツ連携アクション制御システム、管理サーバ、端末、方法およびプログラム
US20120117627A1 (en) Authority Control Systems and Methods
KR101651127B1 (ko) 네트워크 임베디드 시스템 및 컨텐츠 과금 방법
KR20070093281A (ko) 셋탑박스의 프로그램 업데이트 방법
US20110126152A1 (en) Display device, control method thereof, contents supplying system, and contents supplying method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application