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

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

Info

Publication number
WO2010098622A2
WO2010098622A2 PCT/KR2010/001238 KR2010001238W WO2010098622A2 WO 2010098622 A2 WO2010098622 A2 WO 2010098622A2 KR 2010001238 W KR2010001238 W KR 2010001238W WO 2010098622 A2 WO2010098622 A2 WO 2010098622A2
Authority
WO
WIPO (PCT)
Prior art keywords
application
network device
add
list
applications
Prior art date
Application number
PCT/KR2010/001238
Other languages
English (en)
French (fr)
Other versions
WO2010098622A3 (ko
Inventor
이준휘
김병용
손정식
임미경
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to CN2010800095270A priority Critical patent/CN102334344A/zh
Priority to EP10746461A priority patent/EP2403246A4/en
Priority to US13/202,735 priority patent/US20110302274A1/en
Publication of WO2010098622A2 publication Critical patent/WO2010098622A2/ko
Publication of WO2010098622A3 publication Critical patent/WO2010098622A3/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

Definitions

  • the present invention relates to an apparatus and method for executing an application and content in a network device.
  • the present invention relates to an add-on architecture and a network device control method for processing an additional application in a network device.
  • IP Internet Protocol
  • these devices have a built-in application that has been in place since its launch.
  • these applications are based on application programming interfaces (APIs) provided by the manufacturer of each device, and the devices are not compatible with various kinds of applications on the Internet. Therefore, the addition of applications other than the built-in applications is not possible. There is a problem that is not easy.
  • One embodiment of the present invention is to solve the above-mentioned problems of the background art, and can drive not only a built-in application but also various types of applications and content using bidirectionality of a network device. It is intended to propose a structure of a network device having extensibility and flexibility and a control method of the network device.
  • a network device processing at least one application receives a key event for executing a specific command, and selectively transmits the received key event to the add-on system manager
  • An add-on system manager for identifying a specific application that is focused among a host S / W processing module and at least one or more currently executable applications, and transmitting the received key event to the focused specific application; and receiving the received key event.
  • control method of a network device for processing at least one application comprises the steps of transmitting a signal requesting authentication for the network device to a server (Server), and from the server, the network device Receiving a signal for identifying whether to confirm the authentication for the authentication, and if the identification signal corresponds to a signal confirming the authentication, receiving a key event for downloading an application from the server and executing a specific command and Selectively transmitting the received key event to the add-on system manager and identifying a specific application that is focused among at least one currently executable application, and transmitting the received key event to the focused specific application. It includes the steps:
  • a control method of a network device for processing at least one or more applications includes a first list identifying at least one downloadable application or a second list identifying at least one or more contents. Transmitting the request signal to a server, receiving the first list or the second list from the server, displaying the received first or second list, and displaying the first list. If a specific application is selected from a list or a specific content is selected from the second list, transmitting a signal for requesting the selected application or content to the server and downloading the selected application or content from the server.
  • an application execution method of a network device for processing at least one application includes receiving a key event for generating an application list, searching for an application installed in the network device and the searched application list Generating an application, displaying the generated application list, receiving an execution request for an application selected from at least one application of the application list, and determining whether the execution application is normally executed. Verifying by using the application; and executing the application when it is determined that the verification is normally executable.
  • the network device facilitates the expansion of the application and content, and proposes a network device including an independent structure for processing the application to ensure the stability of the device even when the application is further extended.
  • the advantage is that you can.
  • FIG. 1 is a block diagram illustrating a procedure and a configuration of processing a key event during a process in which a network device processes an application according to an embodiment of the present invention.
  • FIG. 2 is a view showing a part of the internal configuration of a network device according to an embodiment of the present invention.
  • FIG. 3 is a view showing in detail the configuration of the open API in the add-on application according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating an execution process of an add-on application according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating a process of delivering a key event in a network device.
  • FIG. 6 is a diagram illustrating an embodiment of an open API call process of an add-on application.
  • FIG. 7 is a diagram illustrating an embodiment of a download and installation process of an add-on application.
  • FIG. 8 is a diagram illustrating an embodiment of a data structure of an application to be downloaded.
  • FIG. 9 is a diagram illustrating an embodiment of a process of downloading and installing an application when directly accessing an application distribution server during a download and installation method of an add-on application.
  • FIG. 10 is a diagram illustrating an embodiment of a UI screen displaying a list of applications received from an application distribution server.
  • FIG. 11 is a diagram illustrating another embodiment of a UI screen displaying a list of applications received from an application distribution server.
  • FIG. 12 is a diagram illustrating an embodiment of a UI screen showing a content list received from an application distribution server.
  • FIG. 13 is a view showing another embodiment of a UI screen showing a list of applications received from an application distribution server.
  • FIG. 14 is a diagram illustrating an embodiment of a UI screen displaying a list of applications and content already stored in a network device when the application browser is executed.
  • 15 is a diagram illustrating an embodiment of a UI screen for managing an application list.
  • FIG. 16 is a block diagram illustrating a configuration of a digital broadcast receiver, showing an embodiment in which an add-on architecture of the present invention is applied to a digital broadcast receiver.
  • FIG. 1 is a block diagram illustrating a procedure and a configuration of processing a key event during a process in which a network device processes an application according to an embodiment of the present invention.
  • a network device is basically a device capable of network communication and having a computing function.
  • the network device may be a home appliance used in a general home and may correspond to a mobile or portable terminal device.
  • a home appliance such as a microwave oven, a refrigerator, a washing machine, and a TV capable of network communication
  • a mobile or portable device such as a PDA, a UMPC, a laptop, a mobile phone, and the like.
  • a network device may use an add-on architecture.
  • the add-on architecture is, for example, a main unit that performs basic functions of the network device.
  • an application added by a method such as networking can be defined as an add-on application, and the separated add-on application can be defined as a structure that operates as a separate process.
  • the host S / W processing module 1400 receives a key event to add an architecture (Add-on Architecture). Transfer to the Add-on System Manager (1200) that performs the overall management for (S102).
  • the add-on system manager 1200 checks the focused application among the currently executable applications (S104).
  • the add-on system manager 1200 delivers the key event to the add-on application 1600 (S106).
  • the add-on application 1600 that receives the key event processes the key event.
  • the focused application here is, for example, an add-on in which a user designates a specific add-on application among various applications in the network device but does not select execution as a remote control device of the network device or a control device attached to the network device itself. Can be defined as an application.
  • an application may be defined as a program or software that runs under an operating system of a specific electronic device.
  • an image playback program, a weather information program, and the like may be included in the application.
  • content may broadly refer to a product of human intellectual activity, and recently, may refer to information that may be used in a specific device or application.
  • content may broadly refer to a product of human intellectual activity, and recently, may refer to information that may be used in a specific device or application.
  • the video file, the audio file, or the weekly weather information used in the weather information program may be referred to as content.
  • the host S / W processing module 1400 does not transmit all key events selected by the user to the add-on system manager 1200, and the specific key events that can be processed only by the host S / W processing module 1400. Processes itself (S103), to perform a function corresponding to a specific key event.
  • a power key is a key event that the host S / W processing module 1400 can directly process.
  • an add-on structure can be realized while providing a device operation environment familiar to a user by using existing hardware or software of a network device.
  • FIG. 2 is a part of an internal configuration of a network device according to an embodiment of the present invention.
  • the add-on architecture is an add-on system manager 1200 that performs overall management of the add-on structure and the basic functions of the network device, and add-on host for realizing the add-on structure.
  • the host S / W processing module 1400 including an add-on host 1420 and an add-on application added to the network device in various ways such as networking.
  • the add-on system manager 1200 is a configuration that performs overall management of the add-on architecture, and includes the applications 1220, 1260, and 1280 that manage the add-on architecture and the add-on architecture. and an Application Controller 1240 for controlling on Architecture.
  • the application browser 1220 shows the user the add-on application 1600 currently installed in the network device, and provides an environment in which the user can execute the add-on application 1600 that he / she wants to execute. It may also serve to provide a list of contents stored in the network device and that can be used in the add-on application 1600.
  • the add-on browser 1220 plays a major role at the beginning of the application from the start to the end of the application.
  • the application browser 1220 may display a list of executable applications to the user, and when the user directly selects a specific application from the applications in the list, execution of the application may be started through the application browser 1220.
  • the application may start execution by signaling at a specific time during playback of the AV content.
  • the application may be executed by calling a second application required by the first application while the first application is executed.
  • the execution start method of the above-listed applications is merely an example, and the application may be executed in various forms as necessary.
  • the application controller 1240 actually executes the application requested to be executed by a method such as direct selection in the application browser 1220.
  • the application controller 1240 registers and manages a process of an executed application.
  • the application controller 1240 may perform functions such as resource usage management, focus management, and processing of user input between applications.
  • the input information is received by the remote controller and transmitted to the corresponding application.
  • the application controller 1240 stores a state before execution of the add-on application, and when the add-on application 1600 terminates abnormally, the application controller 1240 provides a system stabilization function to restore the system to the previous state of execution.
  • the application controller 1240 is responsible for the control and management part after the execution selection of the application in the process from start to end of the add-on application.
  • the application downloader 1280 is responsible for installing and deleting the add-on application 1600.
  • Signaling and distribution of the add-on application may be performed through installation through a direct connection to the distribution server of the add-on application.
  • the application may be installed through a unicast / multicast / broadcast method using a broadcasting network or an IP (Internet Protocol) network. It can also be distributed via external storage such as flash memory. You can also connect external memory using the USB port of a network device and install the applications loaded therein.
  • IP Internet Protocol
  • the application downloader 1280 downloads an installable application list from the distribution server, and the user A method of downloading a corresponding application can be selected by selecting a desired application. Thereafter, the application (uninstaller) 1282 installs the downloaded application.
  • the application browser 1220 provides a list of add-on applications that are already installed, and when a user requests deletion, the application (uninstall) installer 1282 may provide a delete function of the installed add-on application.
  • the application downloader 1280 is responsible for installing and deleting the add-on application in the process from start to end of the add-on application.
  • the security checker 1260 checks whether the downloaded or installed add-on application is not damaged through meta information of the add-on application.
  • the function performance result of the security checker 1260 is provided to an application that manages the add-on application. Meta information of such an application may be generated and provided by a download server.
  • the security checker 1260 Due to the function of the security checker 1260, the integrity of the add-on application 1600 may be secured.
  • the security checker 1260 is in charge of the management part in the process from start to end of the add-on application.
  • the add-on host 1420 is a part to be added to the host S / W processing module 1400 that is responsible for the basic functions of the network device in order to support the add-on architecture.
  • the add-on host 1420 includes a host agent 1422 and an open API host 1424.
  • the host agent 1422 is responsible for transmitting a status of the host S / W processing module 1400 and a key event of the remote controller to the add-on system manager 1200.
  • the open API host 1424 executes the call of the Open API 1624 of the add-on application 1600 and returns the result.
  • the add-on application 1600 provides an open API library 1620, and adds an add-on agent for transmitting a status of the add-on application to the add-on system manager 1200 and receiving a remote control key event signal. (1622) and an open API (1624) that provides API functions for developing add-on applications.
  • the add-on application 1600 may use a function provided by the host S / W through the open API 1624.
  • the open application 1600 supports the hardware function of the digital broadcast receiver provided by the host and the API and the media playback function provided by the middleware through the open API 1624 to perform the add-on application.
  • the open API 1624 provides various APIs for managing the add-on application 1600, and 3rd parties can also develop various add-on applications and supply them to the network device to which the add-on structure is applied through the provided API. Due to the above structure, the types of applications that can be driven in the network device are diversified, which leads to the diversification of contents consumed by the applications. The diversification of contents can be expected to suggest the possibility of applying to various fields of the network device to which the add-on structure is finally applied.
  • the network device structure according to FIG. 2 executes and manages an application added in a form independent of the basic function of the device, a defect such as an error caused by the added application does not affect the basic function. Thus, the stability of the device can be ensured even when the application is further extended.
  • OS operating system
  • 3 is a diagram showing in detail the configuration of the open API (1624).
  • the open API 1624 described above is part of an Add-on Architecture.
  • the add-on host embedded in the host S / W processing module 1400 that is responsible for the basic functions of the network device
  • an addon system manager 1200 which is a daemon processor that manages processes
  • an open API library 1620 for creating an addon application.
  • the open API 1624 refers to an interface provided by the open API library 1620 among the above configurations.
  • the configuration of the open API 1624 in the Add-on Architecture is discussed in detail.
  • the add-on application 1600 may register itself with the add-on system manager 1200 through the open API 1624 and use the basic functions of the network device provided by the host S / W processing module 1400.
  • the open API 1624 may be provided in the form of a shared library and may be used in the add-on application 1600 using the open API library and its header file.
  • the shared library method is one embodiment and is not limited to this method.
  • the open API 1624 includes an application handler 1624a, a media play 1624b, a host device control 1624c, an input / output control 1624d. It is composed of The functions and roles of each part are as follows.
  • the application handler 1624a requests the add-on system manager 1200 to notify the start and end of the add-on application, to register the add-on application to receive key events, and to request various resources available in the system. Function to be assigned. That is, the application handler 1624a manages everything that occurs during the start, termination, and execution of the add-on application.
  • the add-on application may be executed in the system by registering with the add-on system manager 1200 using an API provided by the application handler 1624a.
  • the main functions of the application handler 1624a are as follows.
  • the application handler 1624a may establish a communication channel between the add-on application and the application managing the application. This is for event propagation, etc., and can be done through callback function registration. Callback function registration is an embodiment and does not limit a communication channel setting method in this embodiment.
  • the application handler 1624a registers the add-on application 1600 to the add-on system manager 1200, deregisters the add-on application 1600 from the add-on system manager 1200, and checks the integrity of the add-on application 1600. check), passing user input, such as remote control keystrokes to add-on applications, requesting focus for a particular add-on application, requesting resource allocation for use by the add-on application 1600, returning allocated resources, and counting the number of add-on applications currently running. Function of.
  • Media play 1624b provides an API for playing audio / video and the like. It supports streaming media and downloaded media, and provides play, pause, restart, and stop functions.
  • the host device control 1624c is an API for enabling the add-on application 1600 to use a function corresponding to a basic application of the network device.
  • the add-on application 1600 may be provided with APIs for controlling general TV functions such as channel change, volume change, and program information import using the host device control 1624c.
  • I / O control (1624d) provides functions for file input and output or network use, except for functions provided by Linux systems or the standard C library. You can get the status of internal and external storage devices, mount paths in Linux, connection status of network devices, etc.
  • FIG. 4 is a diagram illustrating an execution process of an add-on application.
  • the host S / W processing module 1400 executes the application controller 1240 (S402).
  • the application controller 1240 which performs the overall control of the add-on system manager 1200, is a function to be executed when using an add-on architecture.
  • the network device always uses the add-on function, the network device You can start it at boot time. If this function is used only when necessary, it may be executed dynamically. In this case, when the host S / W processing module 1400 selects to use the add-on function, the application controller 1240 may be executed.
  • the user selects execution of the application browser 1220 through the UI (User Interface) menu of the host S / W processing module (S404).
  • UI User Interface
  • the application controller 1240 executes the application browser 1220 in operation S406.
  • a specific application may be selected and executed from the application list through the application browser 1220.
  • the application browser 1220 may also be implemented as an add-on application.
  • the application browser 1220 may select an application to be executed by searching a list of applications already installed in the internal storage of the network device or existing in the external storage such as an external memory (S408). At this time, the selection and execution are not limited to the application, but the content may be consumed by allowing the relevant application that can use the content to be executed immediately by selecting the content. For example, an executable file that can be directly executed can be selected and executed, or a flash application such as a flash swf (Shockwave Flash Object) file can be selected to run a flash application and then load the content.
  • a flash application such as a flash swf (Shockwave Flash Object) file can be selected to run a flash application and then load the content.
  • the application controller 1240 requests the execution of the application selected in the previous step (S408) (S410).
  • the application controller 1240 When receiving an application execution request, the application controller 1240 first verifies whether the application can be normally executed through the security checker 1260 (S412). This verification can use metadata included with the application distribution and can use techniques such as Secure Hash Algorithm-1 (SHA-1).
  • SHA-1 Secure Hash Algorithm-1
  • the application registers itself with the application controller 1240 at startup (S416).
  • the add-on application 1600 starts executing while registering itself with the add-on system manager 1200. After registering, the application performs the desired task, and when the application is terminated, it notifies the add-on system manager 1200 again to release its own registration.
  • the add-on application 1600 When the add-on application 1600 requests the registration to the add-on system manager 1200 at the start, it performs necessary initialization in the open API (not shown) and accesses the add-on system manager 1200 to register the application.
  • Initialization performed in the open API library may include variables used internally and task (thread) initialization.
  • the add-on application 1600 performs initialization necessary for itself after the registration request is completed and performs a main function.
  • the add-on application 1600 When the add-on application 1600 terminates, it must first clean up its own data or task, and then inform the add-on system manager 1200 of its termination using an open API library function.
  • the library requests the add-on system manager 1200 to deregister the application, terminates the connection, and proceeds with the cleanup of variables or tasks used internally.
  • the main tasks of the library may be to return resources that the application did not return properly, or to clean up memory and task (thread).
  • you register a key event callback all remote control key events are delivered through the callback while the add-on application is in focus. The application may indicate whether the delivered key event is used or not as a return of the callback so that the unused key event may be processed by the host S / W processing module 1400. Since the host S / W processing module 1400 is waiting for key event processing, the key event callback should be returned as soon as possible.
  • the above method is a case of executing an application by a user's direct selection.
  • the steps after S410 may be used in the same manner.
  • FIG. 5 is a diagram illustrating a process of delivering a key event in a network device.
  • FIG. 5 describes key input of a remote controller or a keyboard, the present invention is not limited thereto and may be applied to an event based on a cursor such as a mouse movement or a click. It may also be applied to other user inputs.
  • the host S / W processing module 1400 receives and starts processing (S502). Specific keys available only to the host S / W processing module 1400 are processed directly by the host S / W processing module 1400 without transmitting them.
  • a power key is a key event that the host S / W processing module 1400 can directly process.
  • the host S / W processing module 1400 transmits an event for the received user input key to the add-on system manager 1200 (S504).
  • the key-event forwarder 1244 in the add-on system manager 1200 receives and processes it.
  • the key event forwarder 1244 may be included in the application controller 1240 or may be a separate module.
  • the key event forwarder 1244 requests the application controller 1240 for information on the application in which the current focus is located (S506).
  • the application controller 1240 maintains information on the application having the current focus and returns the application information having the current focus according to a request of the key event forwarder 1244.
  • the key event forwarder 1244 relays the key event input to the application having the current focus (S508).
  • the key not used by the application is returned to the key event forwarder 1244 (S510).
  • the key event forwarder 1244 transfers the returned key to the host S / W processing module (S512).
  • the input key is processed or returned by the application having the current focus and is processed by the host S / W processing module (S514).
  • FIG. 6 is a diagram illustrating an embodiment of an open API call process of an add-on application.
  • the add-on application 1600 requests the host S / W processing module 1400 to execute an open API (not shown) (S602).
  • the host S / W processing module 1400 registers and manages information of the add-on application 1600 that has requested API execution (S604). Some open APIs maintain registrations until allocating and returning resources. Therefore, it is necessary to maintain information on related applications when making API calls.
  • the requested open API is executed (S606). Before executing the requested API, you can check whether the application has permission to request the execution of this API.
  • the authentication information of the application may include the execution authority information of such an application, and it may block an inappropriate API execution request by examining the API execution authority based on the authority information.
  • the application requesting the execution of the API is checked and the execution result is recorded in the API call history (S608).
  • the execution result is transmitted to the application requesting the execution (S610).
  • FIG. 7 is a diagram illustrating an embodiment of a download and installation process of an add-on application. Signaling and distribution of the add-on application may be executed by various methods, but FIG. 7 illustrates an embodiment of a process in which a user directly connects to an application download server and selectively installs the application.
  • a user executes an application downloader 1280 (S702).
  • the application downloader 1280 may be implemented as an add-on application.
  • the application downloader 1280 may be executed through the application controller 1240.
  • the application list is accessed by accessing the application distribution server 7000 (S704).
  • the access address of the application distribution server may be obtained by a preset address of a network device or by a direct input of a user, and the address of the application distribution server may be obtained by signaling or obtaining an application distribution server address through a broadcast channel. .
  • authentication may be performed by transmitting information such as a manufacturer, a product number, a serial number, and a device ID of the network device.
  • the downloaded application or content list is expressed to the user to select an application or content to download (S706).
  • the application or content selected by the user is downloaded (S708).
  • the security checker 1260 checks whether the application is consistent using the authentication application data transmitted through the downloaded application header or separate metadata (S710). For authentication, a method such as SHA-1 may be used. 8 shows an embodiment of adding a header to an application and transmitting metadata together. In one embodiment, this metadata may be transmitted through a separate path or may have a different form of packaging structure.
  • the application is installed using metadata information transmitted through a header or separate metadata of the downloaded application (S712). If information about the installation path is signaled through the metadata, the installation is performed accordingly.
  • FIG. 8 is an embodiment illustrating a data structure of an downloaded application.
  • the data structure of the downloaded application includes a header, an add-on identifier, a hash value of an encrypted server authentication message, a product name, a model name, a category ID array, a content ID, a file type, and a content. It consists of Korean / English name, local path, thumbnail path, file size and add-on application data.
  • FIG. 9 illustrates an embodiment of a process of downloading and installing an application when directly accessing an application distribution server during a download and installation method of an add-on application.
  • the authentication, the application list download, and the application download are all described in a relationship with one server.
  • the service may be provided through a separate server for each function.
  • a user executes an application downloader (not shown) (S901).
  • the application downloader may also be an add-on application, in which case it may be executed through an application controller (not shown).
  • the server When connecting to a distribution server, you can set up a procedure to authenticate whether it is a network device that has the proper authority.
  • the network device requests authentication of the device from the access server (S902)
  • the server checks the authority of the device and transmits the authentication result to the network device (S904).
  • authentication may be performed by transmitting information such as a manufacturer, a product number, a serial number, and a device ID of the network device.
  • the authentication procedure may or may not be necessary. For example, in the case of advertising content or free applications, an authentication procedure may not be required.
  • the network device requests a list of applications or content from the network device to the application distribution server (S906).
  • the application distribution server generates a list (S908).
  • the network device accesses the application distribution server and downloads an application list (S910).
  • the access address of the application distribution server may be obtained by a method such as obtaining an address of the application distribution server through a predetermined address, a user input, a signaling or a broadcast channel, or obtaining the address of the distribution server from the authentication result after the network device authentication. .
  • the downloadable application list may be a list of only applications that can be driven according to the specification of the network device, or a list of applications that can be driven among downloadable applications.
  • the user transmits a download request signal for a specific application or content selected by the user (S912) to the application distribution server 7000 (S914).
  • the application selected by the user is downloaded (S916).
  • the downloaded application may be automatically installed, or may be installed by the user's installation selection (S918).
  • the download location may be obtained from metadata of the received application list information.
  • the network device may report a result thereof to the server (S920).
  • the network device may report the information of the installed application and the installation result information to the server together with information for identifying the network device, such as a device ID of the network device.
  • FIG. 10 is one embodiment of a UI screen showing a list of applications received from an application distribution server.
  • the application list will be able to download only those applications that can run to the specifications of the network device.
  • 11 is another embodiment of a UI screen showing a list of applications received from an application distribution server.
  • the application list may highlight only applications that can be driven in accordance with the specification of the network device, or display an application that excludes applications that cannot be driven due to the specifications of the network device.
  • FIG. 11 is a result of transmitting an application list by indicating that applications B and C cannot be downloaded from the network device that requested the application list, so that the application B and C cannot be downloaded.
  • the list is created by displaying the applications that cannot be run on the network device, the user can easily recognize the necessity of upgrading the network device's firmware or the like or the necessity of upgrading the network device itself.
  • 11 is only one example of displaying only an application that can be driven in accordance with a specification of a network device, and the display method may be used by another method for distinguishing between an application that can be driven and an application that cannot be driven.
  • FIG. 12 is an embodiment of a UI screen showing a content list received from an application distribution server.
  • a list of downloadable content can be obtained from the server.
  • the server may transmit information about an application already installed in the network device to the server, and the server may download only the content available in the application already installed in the network device.
  • contents A and C indicate a result of transmitting a content list indicating that the content cannot be utilized by an application already installed in the network device.
  • Contents B, D, and E are available to applications already installed on the network device.
  • the user selects content C that cannot be utilized by an application already installed in the network device. In this case, since there is no application that can consume content C, the application cannot be executed.
  • FIG. 13 is another embodiment of a UI screen showing an application list received from an application distribution server.
  • the user can select a specific filtering option to receive only the application or content list corresponding to the filtering option.
  • the filtering option may be an application title, a download count, a recommendation number, and a registration date.
  • the filtering option may be used as an information field, and a list of applications or contents including a sub list arranged based on the information field may be received.
  • the application list is requested by setting a filtering option to a title, a download count, a recommendation count, and a registration date.
  • the application distribution server generates a list by sorting by the filtering option designated as the filtering option from the network device.
  • the title filtering option tab 1301 is an alphabetical order of searched applications
  • the download count tab 1302 is sorted by download rank
  • the recommendation tab 1303 is sorted by recommendation count.
  • the registration date 1304 is sorted by the most recently uploaded order.
  • FIG. 14 illustrates an embodiment of a UI screen displaying a list of applications and content already stored in a network device when the application browser is executed. You can create a list for only the application and a list for the content only.
  • FIG. 14 is a diagram illustrating a state in which the contents A to E available to the application A are displayed as a sub list when the application A is focused. In this case, when the user inputs a key event for selecting the content B, the application A is executed to provide the content B to the user.
  • 15 is an embodiment of managing an application list.
  • the management mode of the application list may be executed.
  • the management mode starts with a management mode execution tab 1510.
  • the management menu 1505 may include a menu for modifying a list, changing a thumbnail of an application, updating an application, deleting an application, and the like.
  • the tab 1504 corresponding to the application B may be moved to the left and right positions.
  • the management mode may be turned off and the modified application list may be obtained.
  • FIG. 16 is a block diagram illustrating a configuration of a digital broadcast receiver, showing an embodiment in which an add-on architecture of the present invention is applied to a digital broadcast receiver.
  • the digital broadcast receiver 1000 which is a network device, includes a tuner 210 capable of receiving terrestrial broadcast, cable broadcast, satellite broadcast, and the like, and a demodulator 211 for demodulating the broadcast signal received through the tuner 210. do.
  • the digital broadcast receiver 1000 receives packets received from a network, and receives a content and update message from a service provider through a network interface 220 that transmits the packet to the network.
  • a network interface 220 and a TCP / IP manager 221 involved in packet transmission from a source to a destination for a packet received and a packet to be transmitted through the network interface 220.
  • the service delivery manager 212 is responsible for controlling service data received through the tuner 210 and the network interface 220.
  • RTP / RTCP Real-Time Transport Protocol / RTP Control Protocol
  • the service delivery manager 212 parses the received service data packet according to the RTP and transmits it to the demultiplexer 214 or under the control of the service manager 201.
  • the received service data packet is recorded by the PVR manager 213 and stored in the content database 217.
  • the service delivery manager 212 feeds back to the server side providing the network reception information using RTCP.
  • the demultiplexer 214 demultiplexes the received packet into audio, video, program specific information (PSI) data, and the like, and transmits the demultiplexer 214 to the audio / video decoder 215 and the PSI / PSIP decoder 225, respectively.
  • PSI program specific information
  • the PSI / PSIP decoder 225 decodes service information such as program specific information (PSI). That is, the demultiplexer 214 receives and decodes the demultiplexed PSI section, Program Specific Information Protocol (PSIP) section, or DVB-SI (Service Information) section.
  • PSI program specific information
  • PSIP Program Specific Information Protocol
  • DVB-SI Service Information
  • the audio / video decoder 215 decodes the demultiplexed video data and the audio data, respectively, in the demultiplexer 214.
  • the audio decoder 215a outputs the decoded audio data to the outside through a speaker (not shown), and the video decoder 215b provides the decoded video data to the screen through the display unit 216.
  • the digital broadcast receiver 1000 as an embodiment of the network device to which the add-on architecture according to the present invention is applied is generally separate from the execution of the host application manager 200 and the host software for operating the software running on the DTV.
  • the host application manager 200 manages the overall state of the digital broadcast receiver 1000, provides a user interface, and interworks with the add-on system manager 1200.
  • the host application manager 200 includes a service manager 201, a user interface manager 202, and an add-on host 1420.
  • the service manager 201 controls the service control manager 204, the service delivery manager 212, and the PVR manager 213 to provide a service received according to a user request.
  • the service control manager 204 is responsible for selecting and controlling services. For example, if a user selects a live braocasting service such as a conventional broadcasting method, use IGMP or RTSP, and if a user selects a service such as VOD (Video On Demand), use RTSP. To select and control services.
  • the RTSP protocol can provide a trick mode for real time streaming.
  • the service control manager 204 may initiate and manage a session through the IMC gateway using an IP multimedia subsystem (IMP) or a session initiation protocol (SIP).
  • IMP IP multimedia subsystem
  • SIP session initiation protocol
  • the protocol is an embodiment and other protocols may be used.
  • the service manager 201 generates a channel map and outputs a channel selection signal to the service control manager 204 using the channel map according to a key input received from the user interface manager 202.
  • the service control manager 204 controls the tuner 210 and the demodulator 211 according to the channel selection signal.
  • the service manager 201 detects service information of the stored channel from the service information database 224 and sets the audio / video packet identifier (PID) of the selected channel to the demultiplexer 214.
  • PID audio / video packet identifier
  • the UI manager 202 provides a Graphical User Interface (GUI) for a user using an OSD (On Screen Display) and the like, and receives an input of a user's key from a remote controller or a touch panel, and the application according to the input. Perform the action. For example, upon receiving a key input related to channel selection from a user, the key input signal is transmitted to the service manager 201.
  • GUI Graphical User Interface
  • the add-on host 1420 is a configuration added to the host application manager 200 to support the running of the add-on system manager 1200, and controls the reception and execution of content in the add-on system manager 1200. do.
  • the add-on host 1420 is an operating system that controls content execution and download in the add-on system manager 1200 separately from performing other functions of the digital broadcast receiver, for example, outputting a broadcast signal.
  • the add-on host 1420 includes a host agent 1422 and an open API host 1424, as shown in FIG. 2, which hosts the state information and UI of the host software of the DTV. Receives key input received from the manager 202.
  • the open API host 1424 calls and executes an open API (application programming interface) of the add-on application and receives the result.
  • the add-on host 1420 transmits a download control command to the application downloader 1280 according to a key input received from the UI manager 202.
  • the add-on system manager 1200 is a system that manages the overall add-on application such as installation, execution, management, and deletion of the add-on application.It manages the execution / termination and execution table of the add-on application.
  • Application controller 1240 for overall control such as delivery, application browser 1220 with browsing and selection of add-on applications, security checker 1260 and add-on for security when installing, running, managing and deleting add-on applications.
  • An application downloader 1280 for installing the application.
  • the add-on host 1420 is connected to the Internet network through the network interface 220 to perform authentication with a server providing an add-on application.
  • the application downloader 1280 is driven according to the command of the add-on host 1420, and transmits an application or content list request signal to the server. Download the application or content list.
  • the content list may be compressed and received, and the application downloader 1280 decompresses the received content list and stores it in the service information database 224.
  • the content list may be stored in XML format.
  • the application downloader 1280 transmits the device ID information of the digital broadcast receiver and the version information of the received application or content list to the server.
  • the application browser 1220 outputs the stored application or content list to the display unit 216, receives an execution command of one or more applications or content downloaded from the UI manager 202, and executes the selected application or content. .
  • the service discovery manager 222 retrieves the selected service from the packets provided by the TCP / IP manager 221 for the service provided on the bidirectional IP network.
  • the meta data manager 223 detects meta data related to the service from the packets provided by the TCP / IP manager 221.
  • the service information database 224 includes service information (SI) of sections decoded from the PSI / PSIP decoder 225, service related information retrieved from the service discovery manager 222, and metadata detected from the metadata manager 223. Save it.
  • the service information database 224 also stores setup data and the like for the system.
  • the service information database 224 may be implemented using a nonvolatile memory, a flash memory, or the like, and may be implemented as at least one or more logically separated areas on the same storage area.
  • the present invention can be applied to a device capable of networking.

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

어플리케이션을 처리하는 네트워크 디바이스의 구조 및 상기 네트워크 디바이스의 제어방법
본 발명은 네트워크 디바이스에서 어플리케이션 및 컨텐트(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 항에 있어서,
    상기 서브 리스트에 표시된 컨텐트가 선택되는 경우 상기 컨텐트가 사용되는 어플리케이션을 확인하는 단계;
    상기 확인된 어플리케이션에 대한 실행 요청을 받는 단계;
    상기 실행 요청된 어플리케이션에서 상기 선택된 컨텐트가 처리되는 단계;
    를 더 포함하는 적어도 하나 이상의 어플리케이션을 처리하는 네트워크 디바이스의 어플리케이션 실행 방법.
PCT/KR2010/001238 2009-02-27 2010-02-26 어플리케이션을 처리하는 네트워크 디바이스의 구조 및 상기 네트워크 디바이스의 제어방법 WO2010098622A2 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2010800095270A CN102334344A (zh) 2009-02-27 2010-02-26 处理应用程序的网络设备的架构及该网络设备的控制方法
EP10746461A EP2403246A4 (en) 2009-02-27 2010-02-26 ARCHITECTURE OF A NETWORK DEVICE FOR PROCESSING APPLICATIONS AND CONTROL METHOD FOR THE NETWORK DEVICE
US13/202,735 US20110302274A1 (en) 2009-02-27 2010-02-26 Architecture of a network device for processing applications, and control method for the network device

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 (2)

Publication Number Publication Date
WO2010098622A2 true WO2010098622A2 (ko) 2010-09-02
WO2010098622A3 WO2010098622A3 (ko) 2010-12-09

Family

ID=42666083

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/001238 WO2010098622A2 (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)

Families Citing this family (29)

* 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 中国电信股份有限公司 移动应用提供方法、服务器
KR102277258B1 (ko) 2014-02-27 2021-07-14 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 애플리케이션 처리 방법
WO2015130021A1 (ko) * 2014-02-27 2015-09-03 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 애플리케이션 처리 방법
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 百度在线网络技术(北京)有限公司 处理插件安装过程的方法以及装置
KR102034850B1 (ko) 2018-03-23 2019-10-21 에스케이플래닛 주식회사 멀티 프레임을 고려한 키 처리 기반의 클라우드 스트리밍 서비스 방법 및 이를 위한 방법
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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None
See also references of EP2403246A4

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
US20110302274A1 (en) 2011-12-08
KR20110126148A (ko) 2011-11-22

Similar Documents

Publication Publication Date Title
WO2010098622A2 (ko) 어플리케이션을 처리하는 네트워크 디바이스의 구조 및 상기 네트워크 디바이스의 제어방법
WO2011043597A2 (ko) Iptv 수신기 및 컨텐츠 제공 방법
JP5897468B2 (ja) 受信装置、受信方法、及びプログラム
US9473827B2 (en) Apparatus and methods for implementation of network software interfaces
WO2014175602A1 (en) Electronic device and method of registering personal cloud apparatus in user portal server thereof
WO2015030364A1 (en) Method for sharing media data and electronic device thereof
WO2011008020A2 (en) Method and apparatus for client capable of accessing broadcasting network and internet network to receive application
WO2014098450A1 (en) Electronic device, personal cloud apparatus, personal cloud system and method for registering personal cloud apparatus in user portal server thereof
WO2015041494A1 (ko) 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치
WO2009126008A2 (en) Device for recording and playing contents, sever for managing content location information, information recording medium, method for managing content information
WO2013042844A1 (en) Smart set-top box and operating method for providing smart service and digital television service using default media player included in single operating system
WO2012093767A2 (en) Method for providing remote control service and image display apparatus thereof
WO2013024954A1 (en) Display device and method for providing content using the same
WO2013022248A2 (en) Method and apparatus for providing service based on component using personal network
WO2010147362A2 (en) Widget activation and communication method
WO2013047997A1 (ko) 라이트 체크를 기반으로 하는 콘텐트 다운로드 방법, 디바이스 및 시스템
WO2017052072A1 (ko) 영상 표시 장치 및 그 동작 방법
WO2017135776A1 (en) Display apparatus, user terminal apparatus, system, and controlling method thereof
WO2009157740A2 (en) An internet protocol tv(iptv) receiver and a method for receiving application information in an iptv receiver
WO2016126023A1 (en) Broadcast apparatus and method of authenticating broadcast data
WO2010110605A2 (ko) Iptv 수신기 및 그의 컨텐트 다운로드 방법
WO2011129623A2 (ko) 방송 네트워크로 위젯 스트리밍 서비스를 제공하는 방법 및 이를 위한 장치
WO2011136581A2 (ko) 네트워크 설정 방법 및 그를 이용한 iptv 수신기
WO2013133537A1 (ko) 사용자 단말기에 디바이스 제어 정보를 제공하는 방법 및 시스템과 이를 이용하여 어플리케이션을 실행하는 방법 및 사용자 단말기
WO2019117625A1 (en) Apparatus and method for sharing content

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080009527.0

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10746461

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 13202735

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2010746461

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2010746461

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20117021478

Country of ref document: KR

Kind code of ref document: A