KR20170028838A - Cloud web server for providing cloud iptv service based on command method, system and set-top box - Google Patents

Cloud web server for providing cloud iptv service based on command method, system and set-top box Download PDF

Info

Publication number
KR20170028838A
KR20170028838A KR1020160107256A KR20160107256A KR20170028838A KR 20170028838 A KR20170028838 A KR 20170028838A KR 1020160107256 A KR1020160107256 A KR 1020160107256A KR 20160107256 A KR20160107256 A KR 20160107256A KR 20170028838 A KR20170028838 A KR 20170028838A
Authority
KR
South Korea
Prior art keywords
application
cloud
draw object
draw
node
Prior art date
Application number
KR1020160107256A
Other languages
Korean (ko)
Other versions
KR102140497B1 (en
Inventor
손단영
김현숙
박수호
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Publication of KR20170028838A publication Critical patent/KR20170028838A/en
Application granted granted Critical
Publication of KR102140497B1 publication Critical patent/KR102140497B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • 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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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/41Structure of client; Structure of client peripherals
    • 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A cloud web server for providing a cloud IPTV service based on a command method includes an application platform for providing a home portal and an application for providing a function for an IPTV service, a cloud controller for managing and controlling the conditions of the home portal and the application, a cloud engine for generating a draw object based on the command method of the home portal and the application, and a cloud agent for transmitting the draw object to a set-top box. So, a high-speed IPTV service can be provided by using a draw object technology based on a command method.

Description

커맨드(Command) 방식의 클라우드 아이피티브이 서비스를 제공하는 클라우드 웹 서버, 셋톱 박스 및 시스템{CLOUD WEB SERVER FOR PROVIDING CLOUD IPTV SERVICE BASED ON COMMAND METHOD, SYSTEM AND SET-TOP BOX}TECHNICAL FIELD [0001] The present invention relates to a cloud web server, a set-top box, and a system for providing a cloud service of a command type,

본 발명은 커맨드 방식의 클라우드 아이피티브이 서비스를 제공하는 클라우드 웹 서버, 셋톱 박스 및 시스템에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cloud web server, a set-top box, and a system that provide a cloud-based service of a command type.

IPTV 서비스는 초고속 인터넷 망을 이용하여 영화와 방송 프로그램과 같은 동영상 컨텐츠와 인터넷 검색 등의 다양한 기능을 제공하는 양방향 방송 및 통신 서비스이다. 이러한 IPTV 서비스는 IPTV 사업자가 제공하는 셋톱박스를 통해서 제공될 수 있다. IPTV service is a two-way broadcasting and communication service that provides various functions such as video contents such as movies and broadcasting programs and Internet search using a high-speed Internet network. Such an IPTV service can be provided through a set-top box provided by an IPTV provider.

종래의 IPTV 사업자는 방송을 송출하는 서비스를 주로 제공하였고, 이에 따라 낮은 처리 능력의 CPU를 가진 저사양의 셋톱박스를 통해서도 IPTV 서비스 제공이 가능하다. Conventional IPTV providers mainly provide broadcasting services, and thus it is possible to provide IPTV services even through low-cost set-top boxes having a low-processing-rate CPU.

하지만, 최근 IPTV 사업자는 웹 서비스, 게임 등의 다양한 서비스를 제공함에 따라, IPTV 서비스 제공을 위해 고사양의 셋톱박스가 요구되고 있다. However, since IPTV providers provide various services such as web services and games, high-end set-top boxes are required to provide IPTV services.

이에 따라, 기존의 셋톱박스 중심의 서비스 제어 방식(IPTV 서비스)에서 일부 서비스를 클라우드 서버로 이동시킴으로써 셋톱박스의 부하 분산을 도모하는 방식(클라우드 IPTV 서비스)으로 바뀌고 있다. Accordingly, in the service control method (IPTV service) centered on the existing set-top box, some services are shifted to the cloud server, thereby changing the load distribution of the set-top box (cloud IPTV service).

클라우드 IPTV 서비스는 PNG 파일 기반의 ICS(Image Cloud Service) 및 VCS(Video Cloud Service)를 제공하며, ICS와 VCS는 각각 또는 동시에 파일을 제공할 수 있는 구조이고, 이미지나 비디오를 셋톱박스로 스트리밍하여 전달하는 방식이기 때문에 네트워크 및 서버의 부하가 적은 편이다. 여기서, ICS 방식은 홈 포털 등의 가상화를 통해서 데이터를 전송할 경우, VCS에 비해 우수한 동접율을 가지나 낮은 프레임률을 지원한다는 단점이 있다. Cloud IPTV service provides Image Cloud Service (ICS) and Video Cloud Service (VCS) based on PNG files. ICS and VCS can provide files at the same time or simultaneously. Streaming images or video to a set-top box Network and server load is small. Here, the ICS method has a drawback in that when data is transmitted through virtualization such as a home portal, it has a better coverage ratio than VCS but supports a lower frame rate.

한편, IPTV 서비스를 제공하기 위해서는 홈포털과 양방향 서비스 제공을 위한 어플리케이션 개발이 필수적 이다. 여기서, 홈포털은 IPTV 서비스를 제공하기 위한 메뉴 및 화면 전환 등의 기본 기능과 여러 응용 기능들로 이루어진 어플리케이션이며, 양방향 서비스는 사용자와의 인터렉션을 통해 제공되는 다양한 응용서비스들이다. On the other hand, to provide IPTV service, it is essential to develop an application for home portal and bidirectional service. Here, the home portal is an application composed of basic functions such as menu and screen switching for providing an IPTV service and various application functions, and the bidirectional service is various application services provided through interaction with a user.

기존의 IPTV 서비스 상에서 제공되는 어플리케이션은 웹 어플리케이션과 자바 기반의 어플리케이션으로 이원화되어 있어, 어플리케이션 제공의 효율화를 위해서는 HTML 기반의 웹 어플리케이션(또는 자바 기반의 어플리케이션)으로 일원화하여 제공할 수 있는 환경이 필요하다. The application provided on the existing IPTV service is divided into a web application and a Java-based application, and in order to efficiently provide an application, an environment that can unify it as an HTML-based web application (or a Java-based application) is required .

한국공개특허 제2012-0011578호에는 가상화 서버가 사용자의 이동 단말기로부터 IPTV 컨텐츠에 대한 제어 명령을 수신한 경우, 가상 머신을 이용하여 제어 명령에 대응하는 어플리케이션을 실행하고, 실행된 어플리케이션의 실행 결과 화면을 가상 그래픽 드라이버를 통해 인코딩하여 셋탑박스로 전송하는 구성이 개시되어 있다.Korean Laid-Open Patent Application No. 2012-0011578 discloses a technique in which, when a virtualization server receives a control command for IPTV contents from a user's mobile terminal, the virtualization server executes an application corresponding to the control command using the virtual machine, Is transmitted through the virtual graphic driver to the set-top box.

홈포털 및 어플리케이션의 상태를 관리 및 제어하고, 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트를 생성하여 셋톱박스로 전송하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.Manage and control the state of the home portals and applications, create a command-type draw object of the home portals and applications, and transmit them to the set-top box. It is to be understood, however, that the technical scope of the present invention is not limited to the above-described technical problems, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 커맨드(Command) 방식의 클라우드 아이피티브이 서비스를 제공하는 클라우드 웹 서버는 아이피티브이 서비스를 위한 기능을 제공하는 홈포털 및 어플리케이션을 제공하는 어플리케이션 플랫폼, 상기 홈포털 및 어플리케이션의 상태를 관리하고 제어하는 클라우드 컨트롤러, 상기 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트(Draw Object)를 생성하는 클라우드 엔진 및 상기 드로우 오브젝트를 셋톱 박스로 전송하는 클라우드 에이전트를 포함할 수 있다.As a technical means for accomplishing the above technical object, a cloud web server providing a cloud service having a Command method according to the first aspect of the present invention includes a home portal and an application providing a function for an internet service, A cloud engine for managing and controlling the state of the home portal and the application, a cloud engine for generating a command-based draw object of the home portal and the application, and a cloud engine for transmitting the draw object to the set- Lt; / RTI >

또한, 본 발명의 제 2 측면에 따른 커맨드 방식의 클라우드 아이피티브이 서비스를 제공하는 셋톱 박스는 클라우드 웹 서버와 연동하여 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트를 수신하는 클라우드 어댑터, 그래픽 프레임 워크를 제공하는 그래픽 라이브러리 및 상기 그래픽 라이브러리를 호출하고 상기 그래픽 프레임 워크를 통해 상기 드로우 오브젝트를 드로잉 및 출력하는 클라우드 클라이언트를 포함할 수 있다.The set-top box providing the cloud-based service of the command type according to the second aspect of the present invention provides a cloud adapter and a graphics framework for receiving the draw objects of the command type of the home portal and the application in cooperation with the cloud web server And a cloud client that calls the graphics library and draws and outputs the draw objects through the graphics framework.

또한, 본 발명의 제 3 측면에 따른 커맨드 방식의 클라우드 아이피티브이 서비스 제공 시스템은 클라우드 웹 서버 및 셋톱 박스를 포함하되, 상기 클라우드 웹 서버는 아이피티브이 서비스를 위한 기능을 제공하는 홈포털 및 어플리케이션을 제공하는 어플리케이션 플랫폼, 상기 홈포털 및 어플리케이션의 상태를 관리하고 제어하는 클라우드 컨트롤러, 상기 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트를 생성하는 클라우드 엔진 및 상기 드로우 오브젝트를 상기 셋톱 박스로 전송하는 클라우드 에이전트를 포함하고, 상기 셋톱 박스는 상기 클라우드 웹 서버와 연동하여 상기 드로우 오브젝트를 수신하는 클라우드 어댑터, 그래픽 프레임 워크를 제공하는 그래픽 라이브러리 및 상기 그래픽 라이브러리를 호출하고 상기 그래픽 프레임 워크를 통해 상기 드로우 오브젝트를 드로잉 및 출력하는 클라우드 클라이언트를 포함할 수 있다.The cloud-based service providing system according to the third aspect of the present invention includes a cloud web server and a set-top box, wherein the cloud web server provides a home portal and an application providing functions for an internet service A cloud controller for managing and controlling the state of the home portal and the application, a cloud engine for generating a command-based draw object of the home portal and the application, and a cloud agent for transmitting the draw object to the set-top box The set-top box includes a cloud adapter for receiving the draw object in cooperation with the cloud web server, a graphics library for providing a graphics framework, and a graphics library, The cloud may include a client for drawing and outputting the object through the draw.

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described task solution is merely exemplary and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and the detailed description of the invention.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 낮은 사양의 셋톱박스에서도 클라우드 웹 서버와 네트워크의 부하 없이, 커맨드 방식의 드로우 오브젝트 기술을 이용하여 빠른 아이피티브이 UI 서비스를 제공할 수 있다. According to any one of the above-mentioned objects of the present invention, it is possible to provide a quick-ized UI service using a command-based draw object technique without loading a cloud web server and a network even in a low-specification set-top box.

또한, 셋톱박스에서 그래픽 프레임 워크를 구동하여 자바기반의 드로우 오브젝트를 드로잉하여 디스플레이 장치의 화면에 출력하기 때문에 셋톱박스 내의 그래픽 요소의 전송부하가 적고, 셋톱박스의 CPU 등의 리소스 사용을 최소화할 수 있다. In addition, since the drawer object based on Java is drawn by driving the graphical framework in the set-top box and outputted to the screen of the display device, the transmission load of the graphic element in the set-top box is small and the use of resources of the CPU of the set- have.

또한, 커맨드 방식의 드로우 오브젝트 기술을 이용하기 때문에 홈포털 메뉴의 반응속도를 향상시킬 수 있고, 높은 동접율로 가입자당 클라우드 웹 서버의 접속 비용을 절감할 수 있다. 또한, 빠른 네트워크의 전송 속도를 제공할 수 있고, 네트워크의 부하를 감소시킬 수 있기 때문에 최적의 클라우드 아이피티브이 서비스를 제공할 수 있다. In addition, since the command-based draw object technology is used, the response speed of the home portal menu can be improved, and the access cost of the cloud web server per subscriber can be reduced at a high contact ratio. In addition, it is possible to provide a transmission speed of a fast network and reduce the load on the network, so that an optimal cloud invisible service can be provided.

또한, 커맨드 방식의 드로우 오브젝트 기술을 사용하면 기존에 사용하던 저사양의 셋톱박스를 교체하지 않아도 클라우드 아이피티브이 서비스를 제공할 수 있고, 홈포털 및 어플리케이션의 사용자 인터페이스(UI)를 사용자가 간편하게 조작하기 쉬운 방식으로 제공할 수 있다. In addition, the use of the command-based draw object technology can provide the cloud service without replacing the existing low-set set-top box, and it is easy for the user to easily operate the user interface (UI) .

또한, 서버 미들웨어 기술(웹 어플리케이션을 자바 스크립트 어플리케이션으로 변환하는 기술)을 이용하여 아이피티브이의 어플리케이션의 제공 구조를 일원화할 수 있고, 필요에 따라 각 단말에 최적화된 어플리케이션으로 변환하여 제공할 수 있다. In addition, it is possible to unify the providing structure of the application by using the server middleware technology (a technique of converting a web application into a JavaScript application), and to convert the application into an optimized application for each terminal as needed, and to provide it.

또한, 클라우드 웹 서버에서 웹 어플리케이션의 데이터 및 자바 스크립트 어플리케이션의 리소스 정보를 통합 관리하기 때문에 타 응용서비스 간 연계가 가능하며 서비스 활성화 및 매출 증대에도 도움이 될 수 있다.In addition, since the cloud web server integrates and manages the data of the web application and the resource information of the JavaScript application, it is possible to link with other application services and it can also help the service activation and sales increase.

도 1은 본 발명의 일 실시예에 따른, 클라우드 아이피티브이 서비스 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 클라우드 웹 서버의 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 도 2에 도시된 서버 미들웨어의 세부 구성도이다.
도 4는 본 발명의 일 실시예에 따른, 도 1에 도시된 셋톱박스의 블록도이다.
도 5는 본 발명의 일 실시예에 따른, 웹 어플리케이션을 자바 어플리케이션으로 변환하고 커맨드 방식의 클라우드 아이피티브이 서비스를 제공하는 방법을 나타낸 동작 흐름도이다.
도 6은 본 발명의 일 실시예에 따른, 커맨드 방식의 드로우 오브젝트를 제공하는 방법을 나타낸 동작 흐름도이다.
도 7은 본 발명의 다른 실시예에 따른 도 1에 도시된 클라우드 웹 서버의 블록도이다.
도 8은 본 발명의 다른 실시예에 따른, 도 1에 도시된 셋톱박스의 블록도이다.
도 9는 본 발명의 다른 실시예에 따른, 드로우 오브젝트 트리를 예시적으로 도시한 도면이다.
도 10은 본 발명의 다른 실시예에 따른, 드로우 오브젝트 트리를 업데이트하는 것을 도시한 도면이다.
도 11은 본 발명의 일 실시예에 따른 셋톱 박스의 드로우 오브젝트 트리를 업데이트하는 방법을 나타낸 흐름도이다.
도 12는 본 발명의 다른 실시예에 따른 셋톱 박스의 드로우 오브젝트 트리를 업데이트하는 방법을 나타낸 흐름도이다.
1 is a configuration diagram of a cloud service providing system according to an embodiment of the present invention.
Figure 2 is a block diagram of the cloud web server shown in Figure 1, in accordance with an embodiment of the present invention.
FIG. 3 is a detailed configuration diagram of the server middleware shown in FIG. 2 according to an embodiment of the present invention.
4 is a block diagram of the set-top box shown in FIG. 1, in accordance with an embodiment of the present invention.
FIG. 5 is a flowchart illustrating a method of converting a web application into a Java application and providing a command-based cloud service according to an exemplary embodiment of the present invention. Referring to FIG.
6 is a flowchart illustrating a method of providing a command-type draw object according to an embodiment of the present invention.
Figure 7 is a block diagram of the cloud web server shown in Figure 1 according to another embodiment of the present invention.
FIG. 8 is a block diagram of the set-top box shown in FIG. 1, according to another embodiment of the present invention.
9 is a diagram exemplarily showing a draw object tree according to another embodiment of the present invention.
10 is a diagram illustrating updating a draw object tree according to another embodiment of the present invention.
11 is a flowchart illustrating a method of updating a draw object tree of a set-top box according to an embodiment of the present invention.
12 is a flowchart illustrating a method of updating a draw object tree of a set-top box according to another embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. In this specification, the term " part " includes a unit realized by hardware, a unit realized by software, and a unit realized by using both. Further, one unit may be implemented using two or more hardware, or two or more units may be implemented by one hardware.

본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다. In this specification, some of the operations or functions described as being performed by the terminal or the device may be performed in the server connected to the terminal or the device instead. Similarly, some of the operations or functions described as being performed by the server may also be performed on a terminal or device connected to the server.

이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 제 1 실시예를 위한 구체적인 내용을 설명하도록 한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른, 클라우드 아이피티브이 서비스 제공 시스템의 구성도이다. 1 is a configuration diagram of a cloud service providing system according to an embodiment of the present invention.

도 1을 참조하면, 클라우드 아이피티브이 서비스 제공 시스템은 클라우드 웹 서버(100) 및 셋톱박스(110)를 포함할 수 있다. 다만, 이러한 도 1의 클라우드 아이피티브이 서비스 제공 시스템은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니며, 본 발명의 다양한 실시예들에 따라 도 1과 다르게 구성될 수도 있다. Referring to FIG. 1, a cloud service providing system may include a cloud web server 100 and a set-top box 110. However, since the cloud service providing system of FIG. 1 is only an embodiment of the present invention, the present invention is not limited to FIG. 1, and the present invention is not limited to FIG. 1, It is possible.

예를 들면, 클라우드 아이피티브이 서비스 제공 시스템은 헤드엔드 레거시 시스템(120)을 더 포함할 수도 있다.For example, the cloud invisible service delivery system may further include a head end legacy system 120.

클라우드 웹 서버(100)는 아이피티브이 서비스를 위한 기능을 제공하는 홈포털 및 어플리케이션(홈포털 및 어플리케이션 화면 UI 인터페이스)을 제공할 수 있다. 예를 들어, 클라우드 웹 서버(100)는 클라우드용 쇼윈도우, 홈메뉴, 키워드 검색, 컨텐츠 구매 목록, 컨텐츠 시청 목록, 공지 사항, VOD 컨텐츠 목록 및 상세 보기 화면 등을 제공하는 홈포털 및 어플리케이션을 관리하고, 사용자의 요청에 따라 제공할 수 있다.The cloud web server 100 can provide a home portal and applications (home portal and application screen UI interface) that provide functions for an IPTV service. For example, the cloud web server 100 manages a home portal and applications that provide a show window for a cloud, a home menu, a keyword search, a content purchase list, a content viewing list, a notice, a VOD content list, , And can be provided at the request of the user.

클라우드 웹 서버(100)는 홈포털 및 어플리케이션의 상태를 관리하고 제어할 수 있다. 예를 들어, 클라우드 웹 서버(100)는 외부 서버와 연동하여 홈 포털 및 어플리케이션을 모니터링하고, 장애를 감지함으로써 홈포털 및 어플리케이션을 장애 정상 복구 및 제어할 수 있다. The cloud web server 100 can manage and control the state of the home portal and the application. For example, the cloud web server 100 can monitor the home portals and applications in cooperation with an external server, and can detect and recover a failure, thereby restoring and controlling the home portals and applications in a normal state.

클라우드 웹 서버(100)는 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트(Draw Object)를 생성하고, 드로우 오브젝트를 셋톱 박스(110)로 전송할 수 있다. 여기서, 드로우 오브젝트는 클라우드 웹 서버(100)에서 관리되는 자바 스크립트 홈포털 및 어플리케이션을 셋톱박스(110)에서의 별도의 처리과정 없이 디스플레이 장치를 통해 바로 출력이 가능한 그래픽 객체일 수 있다.The cloud web server 100 can generate a draw object of the command type of the home portal and the application and can transfer the draw object to the set top box 110. [ Here, the draw object may be a graphical object capable of directly outputting a JavaScript home portal and an application managed by the cloud web server 100 through a display device without a separate process in the set-top box 110.

셋톱박스(110)는 클라우드 웹 서버(100)와 연동하여 드로우 오브젝트를 수신하고, 그래픽 프레임 워크를 통해 드로우 오브젝트를 드로잉하여, 디스플레이 장치로 출력할 수 있다.The set-top box 110 receives the draw object in cooperation with the cloud web server 100, draws the draw object through the graphics framework, and outputs the drawn object to the display device.

예를 들어, 셋톱박스(110)는 리모컨 컨트롤러로부터 홈포털 및 어플리케이션의 상태 전환 신호를 수신한 경우, 클라우드 웹 서버(100)에게 상태 전환 신호에 대응되는 홈포털 및 어플리케이션 화면 UI 인터페이스를 요청할 수 있다. 또한, 셋톱박스(110)는 클라우드 웹 서버(100)로부터 요청한 홈포털 및 어플리케이션 화면 UI 인터페이스에 대한 드로우 오브젝트를 수신하고, 드로우 오브젝트를 드로잉하여 출력할 수 있다. For example, when the set-top box 110 receives the home portal and application state change signals from the remote controller, the set-top box 110 may request the home portal and the application screen UI interface corresponding to the state change signal to the cloud web server 100 . In addition, the set-top box 110 receives a draw object for a home portal and an application screen UI interface requested from the cloud web server 100, draws a draw object, and outputs the drawn object.

헤드엔드 레거시 시스템(120)은 웹 어플리케이션을 관리하는 시스템으로, 클라우드 웹 서버(100)로부터 웹 어플리케이션 전송 요청이 들어오면, 웹 어플리케이션의 리스트 및 데이터, 웹 어플리케이션의 웹페이지를 클라우드 웹 서버(100)에게 제공할 수 있다. The head end legacy system 120 is a system for managing a web application. When a request for transmitting a web application is received from the cloud web server 100, the head end legacy system 120 transmits a web application list and a web page of the web application to the cloud web server 100, .

일반적으로, 도 1의 클라우드 아이피티브이 서비스 제공 시스템의 각 구성요소들은 네트워크(130)를 통해 연결된다. 네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(network)의 일례에는 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 3G, 4G, 5G 등이 포함되나 이에 한정되지는 않는다. In general, the components of the cloud service providing system of FIG. 1 are connected through a network 130. The network refers to a connection structure in which information can be exchanged between each node such as terminals and servers. Examples of such a network include a 3rd Generation Partnership Project (3GPP), a Long Term Evolution (LTE), a WIMAX World Interoperability for Microwave Access, Wi-Fi, 3G, 4G, and 5G.

이하에서는 도 1의 클라우드 아이피티브이 서비스 제공 시스템의 각 구성요소의 동작에 대해 보다 구체적으로 설명한다. Hereinafter, the operation of each component of the cloud service providing system of FIG. 1 will be described in more detail.

도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 클라우드 웹 서버(100)의 블록도이다. Figure 2 is a block diagram of the cloud web server 100 shown in Figure 1, in accordance with an embodiment of the present invention.

도 2를 참조하면, 클라우드 웹 서버(100)는 어플리케이션 플랫폼(200), 클라우드 컨트롤러(210), 클라우드 엔진(220), 클라우드 에이전트(230), 서버 미들웨어(240), 클라우드 라이브러리(250)를 포함할 수 있다. 다만, 도 2에 도시된 클라우드 웹 서버(100)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다.2, the cloud web server 100 includes an application platform 200, a cloud controller 210, a cloud engine 220, a cloud agent 230, a server middleware 240, and a cloud library 250 can do. However, the cloud web server 100 shown in FIG. 2 is only one embodiment of the present invention, and various modifications are possible based on the components shown in FIG.

어플리케이션 플랫폼(200)은 아이피티브이 서비스를 위한 기능을 제공하는 홈포털 및 어플리케이션을 제공할 수 있다. 여기서, 홈포털 및 어플리케이션은 자바(Java)로 제공되는 자바 스크립트 홈포털 및 자바 스크립트 어플리케이션일 수 있다. The application platform 200 can provide a home portal and an application providing functions for an IPTV service. Here, the home portal and the application may be a JavaScript home portal and a JavaScript application provided in Java.

클라우드 컨트롤러(210)는 자바 스크립트 홈포털 및 어플리케이션의 상태를 관리하고 제어할 수 있다. 예를 들어, 클라우드 컨트롤러(210)는 자바 스크립트 홈포털 및 어플리케이션의 구동 상태를 실시간으로 체크할 수 있다. The cloud controller 210 can manage and control the state of the JavaScript home portal and application. For example, the cloud controller 210 can check the running state of the JavaScript home portal and the application in real time.

클라우드 엔진(220)은 자바 스크립트 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트(Draw Object)를 생성할 수 있다. 여기서, 드로우 오브젝트는 삽입될 그래픽(홈포털 및 어플리케이션 UI 인터페이스 이미지)의 URL(uniform resource locator), 삽입될 텍스트, 그래픽 및 텍스트의 위치 정보 및 비율 정보 중 적어도 하나를 포함할 수 있다. The cloud engine 220 can generate a command drawing object of a JavaScript home portal and an application. Here, the draw object may include at least one of a uniform resource locator (URL) of graphics (home portal and application UI interface image) to be inserted, position information of text to be inserted, graphics and text, and ratio information.

클라우드 엔진(220)은 자바 기반의 노드 제이에스(Node.js)를 이용하여 드로우 오브젝트를 생성할 수 있다. 구체적으로, 클라우드 엔진(220)은 노드 제이에스를 기반으로, 클라우드 라이브러리(250)를 호출하여 드로우 오브젝트를 생성할 수 있다. 이 때, 클라우드 엔진(220)은 클라우드 라이브러리(250)에서 제공하는 인터페이스 에이피아이를 이용하여 드로우 오브젝트를 생성할 수 있다. The cloud engine 220 can generate a draw object using a Java-based node node js. Specifically, the cloud engine 220 can call the cloud library 250 based on node node to create a draw object. At this time, the cloud engine 220 can generate a draw object using the interface API provided by the cloud library 250. [

클라우드 에이전트(230)는 클라우드 엔진(220)에서 생성한 드로우 오브젝트를 셋톱 박스(110)에게 전송할 수 있다. The cloud agent 230 may transmit the draw objects generated by the cloud engine 220 to the set-top box 110.

서버 미들웨어(240)는 커맨드 방식을 통한 홈포털 및 어플리케이션을 제공하기 위해 웹 어플리케이션을 자바 스크립트 어플리케이션으로 변환할 수 있다. 이러한, 서버 미들웨어(240)는 웹 어플리케이션을 자바 스크립트 어플리케이션으로 실시간으로 자동 변환하고, 변환된 자바 스크립트 어플리케이션을 관리하는 최적화된 구성도를 제공할 수 있다. 웹 어플리케이션은 상술한 자바 어플리케이션과 달리 HTML(Hypertext Markup Language)기반으로 제작된 어플리케이션일 수 있다.The server middleware 240 may convert a web application into a JavaScript application to provide a home portal and application through a command method. The server middleware 240 can automatically convert a web application into a JavaScript application in real time and provide an optimized configuration for managing the converted JavaScript application. Unlike the above-described Java application, the web application may be an application based on Hypertext Markup Language (HTML).

도 3은 본 발명의 일 실시예에 따른, 도 2에 도시된 서버 미들웨어(240)의 세부 구성도이다. FIG. 3 is a detailed configuration diagram of the server middleware 240 shown in FIG. 2, according to an embodiment of the present invention.

도 3을 참조하면, 서버 미들웨어(240)는 데이터 캐쉬(300), 컨버젼 모듈(310), 어플리케이션 매니저(320), 리소스 모듈(330)을 포함할 수 있다.3, the server middleware 240 may include a data cache 300, a conversion module 310, an application manager 320, and a resource module 330.

데이터 캐쉬(300)는 헤드엔드 레거시(H/E Legacy) 시스템과의 연동을 통해 웹 어플리케이션의 리스트 및 웹 어플리케이션의 데이터를 수신할 수 있다. 또한, 데이터 캐쉬(300)는 웹 어플리케이션의 웹페이지를 헤드엔드 레거시 시스템으로부터 멀티캐스트 방식으로 수신할 수 있다. The data cache 300 can receive a list of web applications and data of a web application through interworking with a head end legacy (H / E Legacy) system. In addition, the data cache 300 may receive a web page of a web application from a head end legacy system in a multicast manner.

또한, 데이터 캐쉬(300)는 서버 미들웨어(240) 내부의 각 구성요소들 간에 입력 및 출력되는 데이터를 저장하고, 서버 미들웨어(240)와 서버 미들웨어(240) 외부의 구성요소들간에 입력 및 출력되는 데이터를 저장한다. 예를 들어, 데이터 캐쉬(300)는 헤드엔드 레거시 시스템으로부터 수신한 웹 어플리케이션의 리스트 및 웹 어플리케이션의 데이터를 저장할 수 있다. 이러한 데이터 캐쉬(300)의 일 예에는 서버 미들웨어(240) 내부 또는 외부에 존재하는 하드디스크드라이브, ROM(Read Only Memory), RAM(Random Access Memory), 플래쉬메모리 및 메모리카드 등이 포함된다.The data cache 300 stores data to be input and output between the respective components in the server middleware 240 and stores the data input and output between the components outside the server middleware 240 and the server middleware 240 And stores the data. For example, the data cache 300 may store a list of web applications received from the head end legacy system and data of the web application. One example of such a data cache 300 includes a hard disk drive, a ROM (Read Only Memory), a RAM (Random Access Memory), a flash memory, a memory card, and the like existing in the server middleware 240 or the like.

컨버젼 모듈(310)은 헤드엔드 레거시 시스템으로부터 수신된 웹 어플리케이션을 자바 스크립트 어플리케이 션으로 실시간 자동 변환할 수 있다. 예를 들어, 컨버젼 모듈(310)은 브라우징 파싱 기술 기반의 렌더트리 등을 통해 웹 어플리케이션을 단말에서 그래픽 구현이 가능한 Draow Object로 변환되어 단말에서 바로 표출될 수 있다. 예를 들면, 웹 어플리케이션은 ICS(Industrial Control Systems), 브라우저 가상화 등 다양한 방식을 통해 Draow Object로 변환되어 셋톱을 통해 화면에 표출될 수 있다. 여기서, 브라우저 가상화는 클라우드 엔진(220)에서의 드로우 오브젝트 생성을 통해 제공될 수 있다. The conversion module 310 can automatically convert the web application received from the head end legacy system to a JavaScript application in real time. For example, the conversion module 310 can be directly displayed on the terminal by converting a web application into a drag object that can be graphically implemented in the terminal through a render tree based on browsing parsing technology. For example, a web application can be transformed into a drag object through various methods such as ICS (Industrial Control Systems) and browser virtualization, and displayed on the screen through set-tops. Here, browser virtualization can be provided through the generation of a draw object in the cloud engine 220. [

어플리케이션 매니저(320)는 변환된 자바 스크립트 어플리케이션 및 자바 스크립트 어플리케이션의 리소스 정보(예를 들어, HTML 페이지, 음성, 영상 파일 등)를 관리하고, 변환된 자바 스크립트 어플리케이션을 어플리케이션 플랫폼(200)으로 배포할 수 있다. 어플리케이션 매니저(320)는 자주 사용되는 리소스 정보를 별도로 캐싱하여 관리하여 처리 속도를 높일 수 있다.The application manager 320 manages resource information (for example, an HTML page, a voice, an image file, and the like) of the converted JavaScript application and the JavaScript application and distributes the converted JavaScript application to the application platform 200 . The application manager 320 can increase the processing speed by separately caching and managing frequently used resource information.

어플리케이션 매니저(320)는 셋톱 박스(110)의 부팅시 또는 셋톱 박스(110)로부터 어플리케이션 UI 요청이 들어오면, 어플리케이션 UI 요청에 대응되는 자바 스크립트 어플리케이션이 구동되도록 할 수 있다. The application manager 320 may cause the JavaScript application corresponding to the application UI request to be activated when the set-top box 110 is booted or when an application UI request is received from the set-top box 110.

또한, 어플리케이션 매니저(320)는 셋톱 박스(110)로부터 어플리케이션 UI의 구동에 필요한 자바 스크립트 어플리케이션의 리소스 정보를 요청받은 경우, 해당 리소스 정보를 셋톱 박스(110)에게 전송할 수 있다.In addition, when the application manager 320 is requested by the set-top box 110 for the resource information of the JavaScript application required to run the application UI, the application manager 320 can transmit the resource information to the set-top box 110.

어플리케이션 매니저(320)는 헤드엔드 레거시 시스템으로부터 수신된 웹 어플리케이션의 웹 페이지를 통합 관리하고 분석할 수 있다. The application manager 320 can manage and analyze the web page of the web application received from the head end legacy system.

리소스 모듈(330)은 어플리케이션 플랫폼으로부터 수신한 데이터(홈포털 및 어플리케이션 관련 음성, 영상 파일 등)를 관리할 수 있다. The resource module 330 can manage data (home portal, application-related voice, image file, etc.) received from the application platform.

다시 도 2를 참조하면, 클라우드 라이브러리(250)는 홈포털 및 어플리케이션의 인터페이스(UI) 에이피아이(API, application programming interface)를 제공할 수 있다. Referring again to FIG. 2, the cloud library 250 may provide an interface (UI) application programming interface (API) for a home portal and an application.

한편, 당업자라면, 어플리케이션 플랫폼(200), 클라우드 컨트롤러(210), 클라우드 엔진(220), 클라우드 에이전트(230), 서버 미들웨어(240), 클라우드 라이브러리(250) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. Those skilled in the art will appreciate that the application platform 200, the cloud controller 210, the cloud engine 220, the cloud agent 230, the server middleware 240, and the cloud library 250 may be separately implemented, It will be appreciated that the present invention may be embodied in an integrated fashion.

도 4는 본 발명의 일 실시예에 따른, 도 1에 도시된 셋톱박스(110)의 블록도이다.4 is a block diagram of the set-top box 110 shown in FIG. 1, according to one embodiment of the present invention.

도 4를 참조하면, 셋톱박스(110)는 클라우드 어댑터(400), 그래픽 라이브러리(410), 클라우드 클라이언트(420), 어플리케이션 매니저(430) 및 메모리(440)를 포함할 수 있다. 다만, 도 4에 도시된 셋톱박스(110)는 본 발명의 하나의 구현 예에 불과하며, 도 4에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다.4, the set-top box 110 may include a cloud adapter 400, a graphics library 410, a cloud client 420, an application manager 430, and a memory 440. However, the set-top box 110 shown in FIG. 4 is only one embodiment of the present invention, and various modifications are possible based on the components shown in FIG.

클라우드 어댑터(400)는 클라우드 웹 서버(100)와 연동하여 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트를 수신할 수 있다. 여기서, 홈포털 및 어플리케이션은 자바로 제공되는 자바 스크립트 홈포털 및 자바 스크립트 어플리케이션이고, 드로우 오브젝트는 자바 기반의 노드 제이에스를 이용하여 생성된 것일 수 있다. 또한, 드로우 오브젝트에는 삽입될 그래픽의 URL, 삽입될 텍스트, 그래픽 및 텍스트의 위치 정보 및 비율 정보 중 적어도 하나가 포함될 수 있다.The cloud adapter 400 can receive the draw objects of the command type of the home portal and the application in cooperation with the cloud web server 100. [ Here, the home portal and application are a JavaScript home portal and a JavaScript application provided in Java, and a draw object may be created using a Java-based node node. Further, the draw object may include at least one of a URL of a graphic to be inserted, text to be inserted, position information of graphics and text, and ratio information.

그래픽 라이브러리(410)는 오픈 지엘 라이브러리(Open GL Library)로 구성되어 있을 수 있고, 그래픽 프레임 워크를 제공할 수 있다. 여기서, 오픈 지엘 라이브러리는 3차원 그래픽 라이브러리의 일종으로 점, 선, 다각형 같은 기본 도형을 그리고, 이를 픽셀 형식으로 변환할 수 있다. 또한, 그래픽 라이브러리(410)는 다른 다양한 그래픽 엔진 라이브러리를 지원할 수도 있다. The graphic library 410 may comprise an OpenGL library and may provide a graphical framework. Here, the OpenGL library is a kind of 3D graphics library that can convert basic shapes such as points, lines, and polygons into pixel shapes. The graphics library 410 may also support other various graphics engine libraries.

클라우드 클라이언트(420)는 그래픽 라이브러리(410)를 호출하여 오픈 지엘 라이브러리(또는 다른 그래픽 엔진 라이브러리)를 이용하여 드로우 오브젝트에 대한 화면의 그래픽 작업을 수행할 수 있다. 구체적으로, 클라우드 클라이언트(420)는 그래픽 프레임 워크를 통해, 드로우 오브젝트를 드로잉하고, 디스플레이 장치로 출력할 수 있다. The cloud client 420 may invoke the graphics library 410 to perform graphics operations on the drawing objects using an open-gell library (or other graphics engine library). Specifically, the cloud client 420 can draw the draw object through the graphic framework and output it to the display device.

예를 들어, 클라우드 클라이언트(420)는 드로우 오브젝트에 포함된 정보 중, 위치 정보 및 비율 정보를 이용하여 삽입될 홈포털 및 어플리케이션 UI 이미지 및 텍스트의 비율을 조정하여 화면의 삽입 위치에 해당 홈포털 및 어플리케이션 UI 이미지 및 텍스트를 출력할 수 있다.For example, the cloud client 420 may adjust the ratio of the home portal and application UI image and text to be inserted using the location information and ratio information among the information included in the draw object, Application UI image and text can be output.

클라우드 클라이언트(420)는 리소스 서버와 연동하여 다양한 그래픽 효과를 드로우 오브젝트에 대한 화면에 구현할 수 있다. 여기서, 리소스 서버는 홈포털 및 어플리케이션 UI를 그리기 위한 필수 이미지 컴포턴트(예를 들어, 포커스, 컬러키, 화살표 등), 효과 이미지 등을 제공하는 서버일 수 있다. The cloud client 420 can implement various graphic effects on the screen of the draw object in cooperation with the resource server. Here, the resource server may be a server providing essential image components (e.g., focus, color keys, arrows, etc.) for rendering the home portal and application UI, effect images, and the like.

어플리케이션 매니저(430)는 홈포털 및 어플리케이션의 라이프 사이클 및 세션 정보를 관리할 수 있다. 예를 들어, 어플리케이션 매니저(430)는 홈포털 및 어플리케이션이 실행되고 종료되기까지의 일련의 흐름을 감시하고, 오작동시 오류 지점을 캐치하여 문제점을 해결할 수 있다. The application manager 430 can manage the lifecycle and session information of the home portal and the application. For example, the application manager 430 monitors a series of flows until the home portal and the application are executed and terminated, and can solve the problem by catching an error point in a malfunction.

어플리케이션 매니저(430)는 클라우드 웹 서버(100)로부터 어플리케이션의 리소스 정보(예를 들어, HTML 페이지, 음성 및 영상 파일 등)를 수신할 수 있다. 여기서, 어플리케이션의 리소스 정보는 해당 어플리케이션 UI를 구동시키기 위해 필요한 정보일 수 있다. The application manager 430 can receive resource information of the application (for example, an HTML page, a voice and an image file, etc.) from the cloud web server 100. Here, the resource information of the application may be information necessary for driving the application UI.

또한, 어플리케이션 매니저(430)는 드로우 오브젝트에 기초하여 어플리케이션 서버로부터 데이터(어플리케이션의 음성, 영상 등의 파일)를 수신하여, 관리할 수 있다. Further, the application manager 430 can receive and manage data (files such as audio and video of applications) from the application server based on the draw objects.

메모리(440)는 셋톱박스(110) 내부의 각 구성요소들 간에 입력 및 출력되는 데이터를 저장하고, 셋톱박스(110)과 셋톱박스(110) 외부의 구성요소들간에 입력 및 출력되는 데이터를 저장한다. 예를 들어, 메모리(440)는 클라우드 웹 서버(100)로부터 수신한 어플리케이션의 리소스 정보를 저장할 수 있다. 또한, 메모리(440)는 어플리케이션 서버로부터 수신한 데이터를 저장할 수 있다. 이러한 메모리(440)의 일 예에는 셋톱박스(110) 내부 또는 외부에 존재하는 ROM(Read Only Memory), RAM(Random Access Memory), 플래쉬메모리 및 메모리카드 등이 포함된다.The memory 440 stores data input and output between respective components in the set top box 110 and stores data input and output between components outside the set top box 110 and the set top box 110 do. For example, the memory 440 may store resource information of an application received from the cloud web server 100. [ The memory 440 may also store data received from the application server. One example of such a memory 440 includes a ROM (Read Only Memory), a RAM (Random Access Memory), a flash memory, a memory card and the like which are present inside or outside the set-top box 110.

한편, 당업자라면, 클라우드 어댑터(400), 그래픽 라이브러리(410), 클라우드 클라이언트(420), 어플리케이션 매니저(430) 및 메모리(440) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다.Those skilled in the art will appreciate that the cloud adapter 400, the graphics library 410, the cloud client 420, the application manager 430, and the memory 440 may be separately implemented, I will fully understand that.

도 5는 본 발명의 일 실시예에 따른, 웹 어플리케이션을 자바 어플리케이션으로 변환하고 커맨드 방식의 클라우드 아이피티브이 서비스를 제공하는 방법을 나타낸 동작 흐름도이다.FIG. 5 is a flowchart illustrating a method of converting a web application into a Java application and providing a command-based cloud service according to an exemplary embodiment of the present invention. Referring to FIG.

도 5에 도시된 실시예에 따른 클라우드 아이피티브이 서비스 제공 방법은 도 1 내지 도 4에 도시된 실시예에 따른 클라우드 웹 서버(100), 셋톱박스(110), 및 헤드엔드 레거시 시스템(120)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 4의 클라우드 웹 서버(100), 셋톱박스(110), 및 헤드엔드 레거시 시스템(120)에 관하여 기술된 내용은 도 5에 도시된 실시예에 따른 클라우드 아이피티브이 서비스 제공 방법에도 적용될 수 있다. The method of providing cloud service according to the embodiment shown in FIG. 5 is the same as that of the cloud web server 100, the set top box 110, and the head end legacy system 120 according to the embodiment shown in FIGS. 1 to 4 And includes steps in which the time is thermally processed. Accordingly, the contents described with respect to the cloud web server 100, the set-top box 110, and the head-end legacy system 120 of FIGS. 1 to 4 according to the embodiment shown in FIG. 5, It can also be applied to a cloud service providing method.

도 5를 참조하면, 단계 S501에서 데이터 캐쉬(300)는 헤드엔드 레거시 시스템(120)으로부터 웹 어플리케이션의 리스트 및 웹 어플리케이션의 데이터를 수신할 수 있다. Referring to FIG. 5, in step S501, the data cache 300 may receive a list of web applications and data of the web applications from the head end legacy system 120.

단계 S502에서 데이터 캐쉬(300)는 단계 S501에서 수신한 웹 어플리케이션의 버전 정보를 어플리케이션 매니저(320)에게 요청할 수 있다. In step S502, the data cache 300 may request the application manager 320 of the version information of the web application received in step S501.

단계 S503에서 데이터 캐쉬(300)는 어플리케이션 매니저(320)로부터 웹 어플리케이션의 버전 정보를 수신할 수 있다. In step S503, the data cache 300 can receive the version information of the web application from the application manager 320. [

단계 S504에서 데이터 캐쉬(300)는 어플리케이션 매니저(320)로부터 수신한 웹 어플리케이션의 버전 정보와 헤드엔드 레거시 시스템(120)로부터 수신한 웹 어플리케이션의 버전 정보가 동일한지 비교할 수 있다. The data cache 300 can compare the version information of the web application received from the application manager 320 with the version information of the web application received from the head end legacy system 120 in step S504.

단계 S505에서 데이터 캐쉬(300)는 단계 S504에서 비교한 결과, 웹 어플리케이션의 버전 정보가 변경된 경우, 버전 정보가 변경된 웹 어플리케이션의 데이터를 업로드할 수 있다. In step S505, if the version information of the web application is changed as a result of the comparison in step S504, the data cache 300 can upload data of the web application whose version information has been changed.

단계 S506에서 데이터 캐쉬(300)는 버전 정보가 변경된 웹 어플리케이션의 데이터를 컨버젼 모듈(310)에게 전달할 수 있다. In step S506, the data cache 300 may transmit the data of the web application whose version information has been changed to the conversion module 310. [

단계 S507에서 컨버젼 모듈(310)은 전달받은 웹 어플리케이션을 자바 스크립트 어플리케이션으로 변환할 수 있다. In step S507, the conversion module 310 may convert the delivered web application into a JavaScript application.

단계 S508에서 컨버젼 모듈(310)은 변환된 자바 스크립트 어플리케이션을 어플리케이션 매니저(320)에게 전달할 수 있다. In step S508, the conversion module 310 may transmit the converted JavaScript application to the application manager 320. [

단계 S509에서 어플리케이션 매니저(320)는 어플리케이션 플랫폼(200)으로 변환된 자바 스크립트 어플리케이션을 배포하고, 변환된 자바 스크립트 어플리케이션을 관리할 수 있다. In step S509, the application manager 320 may distribute the converted JavaScript application to the application platform 200 and manage the converted JavaScript application.

단계 S510에서 어플리케이션 플랫폼(200)은 클라우드 엔진(220)에게 변환된 자바 스크립트 어플리케이션을 전달할 수 있다. In step S510, the application platform 200 can deliver the converted JavaScript application to the cloud engine 220. [

단계 S511에서 클라우드 엔진(220)은 변환된 자바 스크립트 어플리케이션을 자바 기반의 노드 제이에스(Node.js) 및 클라우드 라이브러리를 이용하여 드로우 오브젝트를 생성할 수 있다. In step S511, the cloud engine 220 can generate the draw object using the Java-based node node js and the cloud library of the converted JavaScript application.

단계 S512에서 클라우드 엔진(220)은 생성된 드로우 오브젝트를 클라우 에이전트(230)에 전달할 수 있다. In step S512, the cloud engine 220 can deliver the generated draw object to the crawl agent 230. [

단계 S513에서 클라우드 엔진(220)은 셋톱박스(110)로부터 어플리케이션 구동 신호를 수신한 경우, 해당 어플리케이션에 대응되는 드로우 오브젝트를 셋톱박스(110)에게 전송할 수 있다. When the cloud engine 220 receives the application driving signal from the set-top box 110 in step S513, the cloud engine 220 may transmit the draw object corresponding to the application to the set-top box 110. [

상술한 설명에서, 단계 S501 내지 S513은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S501 through S513 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. Also, some of the steps may be omitted as necessary, and the order between the steps may be changed.

도 6은 본 발명의 일 실시예에 따른, 커맨드 방식의 드로우 오브젝트를 제공하는 방법을 나타낸 동작 흐름도이다.6 is a flowchart illustrating a method of providing a command-type draw object according to an embodiment of the present invention.

도 6에 도시된 실시예에 따른 드로우 오브젝트 제공 방법은 도 1 내지 도 5에 도시된 실시예에 따른 클라우드 웹 서버(100), 셋톱박스(110), 및 헤드엔드 레거시 시스템(120)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 5의 클라우드 웹 서버(100), 셋톱박스(110), 및 헤드엔드 레거시 시스템(120)에 관하여 기술된 내용은 도 6에 도시된 실시예에 따른 드로우 오브젝트 제공 방법에도 적용될 수 있다. The method for providing a draw object according to the embodiment shown in FIG. 6 is a method for providing a draw object in the cloud web server 100, the set top box 110, and the head end legacy system 120 according to the embodiment shown in FIGS. Lt; / RTI > Accordingly, the contents described with respect to the cloud web server 100, the set-top box 110, and the head-end legacy system 120 of FIGS. 1 to 5 according to the embodiment shown in FIG. 6, It can also be applied to a method of providing a draw object.

도 6를 참조하면, 단계 S601에서 클라우드 웹 서버(100)는 셋톱박스(110)로부터 셋톱박스 부팅 알림을 수신할 수 있다. Referring to FIG. 6, in step S601, the cloud web server 100 may receive a set-top box boot notification from the set-top box 110. FIG.

단계 S602에서 클라우드 웹 서버(100)는 홈 포털 및 어플리케이션의 이미지 및 오브젝트 드로잉을 위한 기본적인 그래픽 드로잉 데이터를 셋톱박스(110)에게 전송할 수 있다. In step S602, the cloud web server 100 may transmit basic graphics drawing data for image and object drawing of the home portal and application to the set top box 110. [

단계 S603에서 클라우드 웹 서버(100)는 셋톱박스(110)의 부팅 완료시에 제공되는 초기 홈 포털 및 어플리케이션(이는, 자바로 제공되는 자바 스크립트 홈포털 및 자바 스크립트 어플리케이션일 수 있음)에 대한 커맨드 방식의 제 1 드로우 오브젝트를 생성할 수 있다. In step S603, the cloud web server 100 transmits a command-type (for example, a home-portal and an application) to an initial home portal and an application (which may be a JavaScript home portal and a JavaScript application provided in Java) A first draw object can be generated.

단계 S604에서 클라우드 웹 서버(100)는 단계 S603에서 생성된 제 1 드로우 오브젝트를 셋톱박스(110)에게 전송할 수 있다. In step S604, the cloud web server 100 may transmit the first draw object created in step S603 to the set top box 110. [

단계 S605에서 셋톱박스(110)는 수신된 제 1 드로우 오브젝트를 그래픽 프레임 워크를 통해 드로잉하고 디스플레이 장치로 출력할 수 있다. In step S605, the set-top box 110 can draw the received first draw object through the graphic framework and output it to the display device.

단계 S606에서 클라우드 웹 서버(100)는 셋톱박스(110)로부터 홈포털 및 어플리케이션의 상태 전환 신호를 수신할 수 있다. In step S606, the cloud web server 100 may receive a state transition signal of the home portal and the application from the set-top box 110. [

단계 S607에서 In step S607

클라우드 웹 서버(100)는 상태 전환 신호에 기초하여 커맨드 방식의 제 2 드로우 오브젝트를 생성할 수 있다. The cloud web server 100 can generate the second draw object of the command system based on the state change signal.

단계 S608에서 클라우드 웹 서버(100)는 단계 S610에서 생성된 제 2 드로우 오브젝트를 셋톱박스(110)에게 전송할 수 있다.In step S608, the cloud web server 100 may transmit the second draw object created in step S610 to the set top box 110. [

단계 S609에서 셋톱박스(110)는 수신된 제 2 드로우 오브젝트를 그래픽 프레임 워크를 통해 드로잉하고 디스플레이 장치로 출력할 수 있다.In step S609, the set top box 110 can draw the received second draw object through the graphic framework and output it to the display device.

상술한 설명에서, 단계 S601 내지 S609는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.In the above description, steps S601 to S609 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. Also, some of the steps may be omitted as necessary, and the order between the steps may be changed.

이하에서는 본 발명의 제 2 실시예에 대하여 설명하기로 한다. 제 1 실시예에 따르면, ICS나 VCS 방식에 비해 반응 속도가 빠른 장점이 있으나, 낮은 CPU 성능을 가진 셋톱 박스의 경우 드로우 오브젝트를 드로잉하여 홈포털 및 어플리케이션의 각 화면을 출력을 위한 처리 시간이 오래 걸리는 한계가 있을 수 있다. Hereinafter, a second embodiment of the present invention will be described. According to the first embodiment, there is an advantage in that the response speed is faster than that of the ICS or VCS method. However, in the case of a set-top box having a low CPU performance, a draw object is drawn and the processing time for outputting each screen of the home portal and application is long There may be limitations.

이를 개선하기 위해서 제 2 실시예에 따르면 각 화면에 포함된 복수의 이미지를 노드로 분할하고, 트리 구조로 관리하며, 셋톱 박스로 전체 드로우 오브젝트 트리 중에서 업데이트된 서브 트리에 대한 정보만을 전송할 수 있다. In order to improve this, according to the second embodiment, a plurality of images included in each screen can be divided into nodes, managed in a tree structure, and only information about updated subtrees in the entire draw object tree can be transmitted to the set-top box.

도 7은 본 발명의 다른 실시예에 따른 도 1에 도시된 클라우드 웹 서버의 블록도이다. 도 7을 참조하면, 클라우드 웹 서버(100)는 어플리케이션 플랫폼(200), 클라우드 컨트롤러(210), 클라우드 엔진(220), 클라우드 에이전트(230), 서버 미들웨어(240) 및 클라우드 라이브러리(250)를 포함할 수 있다. 클라우드 엔진(220)은 드로우 오브젝트 트리 관리부(700) 및 드로우 오브젝트 트리 데이터 송수신부(710)를 포함할 수 있다.Figure 7 is a block diagram of the cloud web server shown in Figure 1 according to another embodiment of the present invention. 7, the cloud web server 100 includes an application platform 200, a cloud controller 210, a cloud engine 220, a cloud agent 230, a server middleware 240, and a cloud library 250 can do. The cloud engine 220 may include a draw object tree management unit 700 and a draw object tree data transmission and reception unit 710.

도 7에 도시된 어플리케이션 플랫폼(200), 클라우드 컨트롤러(210), 클라우드 엔진(220), 클라우드 에이전트(230), 서버 미들웨어(240) 및 클라우드 라이브러리(250)에 대한 설명은 도 2와 동일하므로 생략하기로 한다.The description of the application platform 200, the cloud controller 210, the cloud engine 220, the cloud agent 230, the server middleware 240 and the cloud library 250 shown in FIG. 7 is the same as that of FIG. .

드로우 오브젝트 트리 관리부(700)는 홈포털 및 어플리케이션의 각 화면에 포함된 복수의 이미지 각각을 노드로하는 드로우 오브젝트 트리를 생성하고, 각 노드에 대한 드로우 오브젝트를 생성할 수 있다. The draw object tree management unit 700 can generate a draw object tree having each of a plurality of images included in each screen of the home portal and the application as nodes and generate a draw object for each node.

드로우 오브젝트 트리 데이터 송수신부(710)는 각 노드에 대한 드로우 오브젝트를 셋톱 박스(110)로 전송하여 셋톱 박스(110)의 드로우 오브젝트 트리를 업데이트시킬 수 있다.The draw object tree data transmitting and receiving unit 710 can update the draw object tree of the set top box 110 by transmitting a draw object for each node to the set top box 110. [

잠시 도 9a를 참조하면, 드로우 오브젝트 트리(900)는 홈포털 및 어플리케이션의 화면(910)에 대한 트리일 수 있다. 예를 들어, 드로우 오브젝트 트리(900)의 최상위 노드(920)는 Poster Image(930)에 대한 노드이고, 최하위 노드(940)는 Advertisement Images(950)에 대한 노드일 수 있다. 예를 들어, 하위 노드일수록 업데이트가 잦은 이미지에 대한 노드일 수 있다.9A, the draw object tree 900 may be a tree for the home portal and the screen 910 of the application. For example, the top node 920 of the draw object tree 900 may be a node for Poster Image 930, and the bottom node 940 may be a node for Advertisement Images 950. For example, a child node may be a node for an image that is frequently updated.

여기서, 복잡한 그래픽을 많이 포함하고 있는 초기 화면 등에서는 상대적으로 많은 그래픽 표출 처리 시간이 요구된다. 이를 해결하기 위하여 드로우 오브젝트 트리 관리부(700)는 드로우 오브젝트 트리(900)를 정적(Static) 트리로서 복수의 제 1 서브 트리 및 가변(Variable) 트리로서 복수의 제 2 서브 트리로 관리할 수 있다. 복잡한 화면(복잡도가 높음) 처리 시에 셋톱 박스에 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트를 전송하여 제 2 서브 트리만을 업데이트하도록 할 수 있다. 이는 업데이트가 잦은 이미지는 드로우 오브젝트 트리(900)의 엣지(Edge) 노드에 있다는 가정에 기반한다.Here, a relatively large amount of graphic display processing time is required in an initial screen including a lot of complicated graphics. In order to solve this problem, the draw object tree management unit 700 can manage the draw object tree 900 as a plurality of first subtrees and a plurality of second subtrees as a static tree as a static tree. A draw object for each node of the second subtree may be transmitted to the set top box at the time of processing a complicated screen (high complexity) so that only the second subtree is updated. This is based on the assumption that the frequently updated image is at the edge node of the draw object tree 900.

드로우 오브젝트 트리 관리부(700)는 각 화면의 복잡도를 계산하고, 각 화면의 복잡도가 기설정된 값 이상인 경우, 복수의 제 2 서브 트리를 상기 업데이트를 위한 서브 트리로 결정할 수 있다. The draw object tree management unit 700 may calculate the complexity of each screen and may determine a plurality of second subtrees as the subtree for the update if the complexity of each screen is equal to or greater than a predetermined value.

드로우 오브젝트 트리 데이터 송수신부(710)는 업데이트를 위한 서브 트리로서 복수의 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트를 셋톱 박스(110)로 전송할 수 있다.The draw object tree data transmitting and receiving unit 710 can transmit a draw object for each node of the plurality of second subtrees to the set top box 110 as a subtree for updating.

이에 반해, 드로우 오브젝트 트리 관리부(700)는 각 화면의 복잡도가 기설정된 값 이하인 경우, 드로우 오브젝트 트리 전체를 업데이트를 위한 트리로 결정할 수 있다. 이 경우, 드로우 오브젝트 트리 데이터 송수신부(710)는 드로우 오브젝트 트리 전체의 각 노드에 대한 드로우 오브젝트를 셋톱 박스(110)로 전송할 수 있다.On the other hand, when the complexity of each screen is less than a predetermined value, the draw object tree management unit 700 can determine the entire draw object tree as a tree for updating. In this case, the draw object tree data transmitting and receiving unit 710 can transmit the draw objects for each node in the draw object tree to the set top box 110.

도 9b를 참조하면, 드로우 오브젝트 트리(900)는 정적(Static) 트리로서 복수의 제 1 서브 트리 및 가변(Variable) 트리로서 복수의 제 2 서브 트리(970-1 내지 970-3)를 포함할 수 있다. 여기서, 제 2 서브 트리(970-1 내지 970-3)는 드로우 오브젝트 트리(900)의 최하위에 위치하는 복수의 엣지 노드(950-1 내지 950-5)를 포함하는 노드(960-1 내지 960-3)를 최상위 노드로 하는 트리일 수 있다.9B, the draw object tree 900 includes a plurality of first subtrees and a plurality of second subtrees 970-1 to 970-3 as a static tree as a static tree . Here, the second subtrees 970-1 to 970-3 are nodes 960-1 to 960-3 including a plurality of edge nodes 950-1 to 950-5 located at the lowermost position of the draw object tree 900 -3) as the top node.

드로우 오브젝트 트리 관리부(700)는 초기에는 업데이트를 위한 제 2 서브 트리(970-1 내지 970-3)를 엣지 노드의 수로 결정할 수 있다. 이후, 드로우 오브젝트 트리 관리부(700)는 복잡도가 높은 순으로 업데이트를 위한 제 2 서브 트리(970-1 내지 970-3)를 결정할 수 있다.The draw object tree management unit 700 can initially determine the second subtrees 970-1 to 970-3 for update as the number of edge nodes. Then, the draw object tree management unit 700 can determine the second subtrees 970-1 to 970-3 for updating in the descending order of the complexity.

드로우 오브젝트 트리 관리부(700)는 각 제 2 서브 트리(970-1 내지 970-3)에 포함된 엣지 노드의 수에 기초하여 각 제 2 서브 트리(970-1 내지 970-3)에 대한 드로우 오브젝트의 전송 순서 및 전송 횟수를 결정할 수 있다.The draw object tree management unit 700 manages a draw object for each second subtree 970-1 through 970-3 based on the number of edge nodes included in each of the second subtrees 970-1 through 970-3, It is possible to determine the transmission order and the number of times of transmission.

드로우 오브젝트 트리 데이터 송수신부(710)는 전송 순서 및 전송 횟수에 기초하여 복수의 제 2 서브 트리(970-1 내지 970-3)의 각 노드에 대한 드로우 오브젝트를 셋톱 박스(110)로 전송할 수 있다.The draw object tree data transmitting and receiving unit 710 can transmit a draw object for each node of the plurality of second subtrees 970-1 to 970-3 to the set top box 110 based on the transmission order and the number of times of transmission .

업데이트를 위한 제 2 서브 트리의 업데이트 수가 엣지 노드의 수보다 커지면 라운드 로빈으로 업데이트를 위한 제 2 서브 트리를 재정의 할 수 있다. 예를 들어, 드로우 오브젝트 트리 관리부(700)는 3번에 해당하는 제 2 서브 트리(970-3)가 3회 업데이트된 후에 2번에 해당하는 제 2 서브 트리(970-2)를 업데이트를 위한 제 2 서브 트리로 재정의하고, 번에 해당하는 제 2 서브 트리(970-2)가 2회 업데이트된 후에 1번에 해당하는 제 2 서브 트리(970-1)를 업데이트를 위한 제 2 서브 트리로 재정의할 수 있다.If the number of updates of the second subtree for update is greater than the number of edge nodes, the second subtree for update in round robin may be redefined. For example, the draw object tree management unit 700 may update the second subtree 970-2 corresponding to the second subtree 970-3 after updating the second subtree 970-3 three times, After the second subtree 970-2 corresponding to the second subtree 970-2 is updated twice, the second subtree 970-1 corresponding to the first subtree 970-1 is updated to the second subtree for updating. You can redefine it.

각 트리 컴퍼넌트 및 메타데이터 기술을 위한 데이터 및 실제의 이미지 정보는 각각 드로우 오브젝트에 기술될 수 있다. 각 드로우 오브젝트는 각 노드를 나타내는 데이터와 그래픽을 위한 메터데이터, 상위 트리 노드를 나타내는 pnode를 가질 수 있다.Data and actual image information for each tree component and metadata description may be described in a draw object, respectively. Each draw object may have data representing each node, meta data for a graphic, and a pnode representing a parent tree node.

아래는 기존 Draw Object가 Draw Object Tree를 구성하기 위해 추가적인 Node 번호와 Parent node 정보를 가지도록 변형된 예시이다.The following is an example in which the existing Draw Object is modified to have additional node number and parent node information to construct Draw Object Tree.

Figure pat00001
Figure pat00001

Figure pat00002
Figure pat00002

다음은 전체 드로우 오브젝트 트리를 구성하는 식으로, 드로우 오브젝트 트리는 Static Tree(제 1 서브 트리)와 가변 Tree (제 2 서브 트리)2개로 구성된다. 가변 Tree는 Edge Node ? 1 depth까지의 Subtree로 지정한다. 셋톱 박스(110)에서 그려야 하는 Tree T1은 Static Tree T에 추가되는 가변 Tree T*를 더해주는 형태가 된다.The draw object tree consists of two Static Trees (first subtree) and a variable Tree (second subtree). Variable Tree is Edge Node? Specifies a subtree up to 1 depth. The tree T1 to be drawn in the set top box 110 is a form in which a variable Tree T * added to the Static Tree T is added.

Figure pat00003
Figure pat00003

여기서, V는 2개 Tree의 Adjunction 기호를 나타낸다. 만일 드로우 오브젝트 트리의 복잡도가 단말이 처리할 수 있는 복잡도 이상이면 서브 트리만을 업데이트 하는 정책을 취한다. 클라우드 웹 서버는 에지 노드 기반의 서브 트리만을 업데이트하는 형식으로 드로우 오브젝트를 셋톱 박스(110)로 내려 준다. Here, V represents an adjunction symbol of two trees. If the complexity of the draw object tree is greater than the complexity that can be processed by the terminal, a policy is taken to update only the subtree. The cloud web server downloads the draw object to the set-top box 110 in a format of updating only the subtree based on the edge node .

각 화면의 복잡도는 각 화면의 이미지의 사이즈, 엣지 노드의 개수, 각 노드에 대한 가중치 및 각 노드에 해당하는 이미지의 특성에 기초하여 결정될 수 있다.The complexity of each screen can be determined based on the size of the image of each screen, the number of edge nodes, the weight for each node, and the characteristics of the image corresponding to each node.

예를 들어, 복잡도는 아래와 같이 계산될 수 있다.For example, the complexity can be calculated as follows.

Figure pat00004
Figure pat00004

여기서, weight of vertex는 이미지의 사이즈이다. 이미지가 업데이트되지 않는 경우 그에 대한 드로우 오브젝트 트리의 구조가 변하지 않으므로 Step Function U(v)를 추가로 정의 하였다. Where weight of vertex is the size of the image. If the image is not updated, the structure of the draw object tree is not changed. Therefore, Step Function U (v) is additionally defined.

k(v)는 노드 v에 연결 되어 있는 에지 노드의 개수를 나타낸다. i는 드로우 오브젝트 트리의 depth 를 나타낸다. 따라서 만일 드로우 오브젝트 트리의 루트 노드에서 시작 하여 에지 노드까지 최대 거리가 d 라면, i = d ? depth_from_root_node 이다.k (v) represents the number of edge nodes connected to node v. i represents the depth of the draw object tree. Therefore, if the maximum distance from the root node of the draw object tree to the edge node is d, i = d? depth_from_root_node.

도 9a의 예를 보면 d = 3, 이고 i = 3, 2, 1 이 가능 하다. 여기서 v는 모든 노드에 대해서 가중치 및 복잡도를 계산 하여 합산한다. 상기 index는 루트 노드쪽으로 갈수록 하나의 노드에서 변화하면, 하위 노드가 모두 변화 할 수 밖에 없고 이에 따라 UI를 구성 하고 있는 구조가 많이 바뀌므로 그에 대한 가중치가 필요하다.In the example of FIG. 9A, d = 3, and i = 3, 2, 1 are possible. Here, v calculates and weights the weight and complexity for all nodes. If the index changes from one node toward the root node, all the child nodes must change, and accordingly, the structure constituting the UI changes so much that a weight is required.

한편, 셋톱 박스(110)는 기종에 따라 CPU의 연산 능력 및 L1/L2 Cache size, 또한 그래픽 연산을 위한 FPU의 존재에 따라 그 연산 능력이 매우 다를 수 있다. 따라서 클라우드 웹 서버(100)에서는 셋톱 박스(110)의 처리 능력을 일반화 하여 Data를 전송 할 경우 단말에서 드로우 오브젝트 트리를 업데이트하는 능력에 문제가 발생 할 가능성이 많으며, 따라서 셋톱 박스(110)의 처리 능력에 최적화된 드로우 오브젝트 트리의 구조를 가져야 한다.On the other hand, the set-top box 110 may have a very different computation ability depending on the computing power of the CPU, the L1 / L2 cache size, and the presence of the FPU for graphical computation depending on the model. Accordingly, in the cloud web server 100, when data is transmitted by generalizing the processing capability of the set-top box 110, there is a high possibility that a problem occurs in the ability of the terminal to update the draw object tree. It should have the structure of the draw object tree optimized for the ability.

이를 위해, 드로우 오브젝트 트리 관리부(700)는 셋톱 박스의 성능에 기초하여 업데이트를 위한 커맨드(Command)의 수를 결정할 수 있다.드로우 오브젝트 트리 데이터 송수신부(710)는 각 노드에 대한 드로우 오브젝트를 결정된 커맨드의 수씩 분할하고, 분할된 드로우 오브젝트를 기설정된 시간 간격으로 전송할 수 있다.To this end, the draw object tree management unit 700 can determine the number of commands for updating based on the performance of the set-top box. The draw object tree data transmission / reception unit 710 determines the draw objects for each node It is possible to divide the number of commands by the number of commands, and to transmit the divided draw objects at predetermined time intervals.

예를 들어, 드로우 오브젝트 트리 관리부(700)는 셋톱 박스(110)로부터 업데이트 응답을 수신할 수 있다. 업데이트 응답은 업데이트 처리 시간을 포함할 수 있다. 드로우 오브젝트 트리 관리부(700)는 업데이트 응답에 기초하여 셋톱 박스(110)의 성능을 판단할 수 있다.For example, the draw object tree management unit 700 may receive an update response from the set-top box 110. [ The update response may include update processing time. The draw object tree management unit 700 can determine the performance of the set top box 110 based on the update response.

예를 들어, 드로우 오브젝트 트리 관리부(700)는 셋톱 박스(110)의 성능이 높은 경우 커맨드의 수를 높게 조정하여 한번에 많은 커맨드를 셋톱 박스(110)로 전송하고, 셋톱 박스(110)의 성능이 낮은 경우 커맨드의 수를 낮게 조정하여 커맨드 여러회 나누어 전송할 수 있다.For example, if the performance of the set-top box 110 is high, the draw object tree management unit 700 may transmit a large number of commands to the set-top box 110 at once by adjusting the number of commands to a high level, If it is low, the number of commands can be reduced and the command can be transmitted several times.

도 8은 본 발명의 다른 실시예에 따른, 도 1에 도시된 셋톱박스의 블록도이다. 도 8을 참조하면, 클라우드 어댑터(400), 그래픽 라이브러리(410), 클라우드 클라이언트(420), 어플리케이션 매니저(430) 및 메모리(440)를 포함할 수 있다. 클라우드 어댑터(400)는 드로우 오브젝트 트리 데이터 송수신부(800) 및 드로우 오브젝트 트리 관리부(810)를 포함할 수 있다.FIG. 8 is a block diagram of the set-top box shown in FIG. 1, according to another embodiment of the present invention. Referring to FIG. 8, a cloud adapter 400, a graphics library 410, a cloud client 420, an application manager 430, and a memory 440 may be included. The cloud adapter 400 may include a draw object tree data transmission / reception unit 800 and a draw object tree management unit 810. [

도 8에 도시된 클라우드 어댑터(400), 그래픽 라이브러리(410), 클라우드 클라이언트(420), 어플리케이션 매니저(430) 및 메모리(440)에 대한 설명은 도 2와 동일하므로 생략하기로 한다.The description of the cloud adapter 400, the graphic library 410, the cloud client 420, the application manager 430, and the memory 440 shown in FIG. 8 is the same as that of FIG.

드로우 오브젝트 트리 데이터 송수신부(800)는 클라우드 웹 서버(100)로부터 홈포털 및 어플리케이션의 각 화면에 포함된 복수의 이미지 각각을 노드로하는 드로우 오브젝트 트리의 각 노드에 대한 드로우 오브젝트를 수신할 수 있다.The draw object tree data transmitting and receiving unit 800 can receive a draw object for each node of the draw object tree having the plurality of images included in each screen of the home portal and the application as nodes from the cloud web server 100 .

드로우 오브젝트 트리 관리부(810)는 드로우 오브젝트 트리를 생성하고, 각 노드에 대한 드로우 오브젝트에 기초하여 드로우 오브젝트 트리를 업데이트할 수 있다.The draw object tree management unit 810 can generate a draw object tree and update the draw object tree based on the draw objects for each node.

드로우 오브젝트 트리 데이터 송수신부(800)는 업데이트를 위한 복수의 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트를 수신할 수 있다. 드로우 오브젝트 트리 관리부(810)는 복수의 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트에 기초하여 드로우 오브젝트 트리 중 상기 제 2 서브 트리를 업데이트할 수 있다.The draw object tree data transmitting and receiving unit 800 can receive a draw object for each node of a plurality of second subtrees for updating. The draw object tree management unit 810 can update the second subtree among the draw object trees based on the draw objects for each node of the plurality of second subtrees.

클라우드 클라이언트(420)는 각 화면의 최초 로딩 시에는 각 노드에 대한 드로우 오브젝트를 드로잉하여 각 화면을 출력할 수 있다. 제 2 서브 트리가 업데이트된 경우 클라우드 클라이언트(420)는 업데이트된 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트만을 드로잉하여 각 화면을 변경할 수 있다.The cloud client 420 can output each screen by drawing a draw object for each node at the time of initial loading of each screen. When the second subtree is updated, the cloud client 420 can change each screen by drawing only the draw objects for each node of the updated second subtree.

도 10을 참조하면, 셋톱 박스(110)는 클라우드 웹 서버(100)로부터 업데이트를 위한 제 2 서브 트리(1000)에 대한 드로우 오브젝트를 수신하여 셋톱 박스(110)에 저장된 드로우 오브젝트 트리(1010)를 업데이트할 수 있다.10, the set-top box 110 receives a draw object for the second subtree 1000 for update from the cloud web server 100 and stores the draw object tree 1010 stored in the set- You can update it.

이후, 셋톱 박스(110)는 클라우드 웹 서버(100)로부터 업데이트를 위한 제 2 서브 트리(1020)에 대한 드로우 오브젝트를 수신하여 업데이트된 드로우 오브젝트 트리(1010)의 제 2 서브 트리(1040)를 업데이트할 수 있다.The set top box 110 then receives the draw object for the second subtree 1020 for update from the cloud web server 100 and updates the second subtree 1040 of the updated draw object tree 1010 can do.

도 11은 본 발명의 일 실시예에 따른 셋톱 박스의 드로우 오브젝트 트리를 업데이트하는 방법을 나타낸 흐름도이다.11 is a flowchart illustrating a method of updating a draw object tree of a set-top box according to an embodiment of the present invention.

단계 S1100에서 셋톱 박스(110)의 드로우 오브젝트 트리 관리부(810)는 클라우드 웹 서버(100)의 드로우 오브젝트 트리 관리부(700)로 업데이트 체크 메시지를 전송할 수 있다.The draw object tree management unit 810 of the set top box 110 may transmit an update check message to the draw object tree management unit 700 of the cloud web server 100 in step S1100.

단계 S1110에서 드로우 오브젝트 트리 관리부(700)는 드로우 오브젝트 트리의 복잡도를 계산할 수 있다.In step S1110, the draw object tree management unit 700 can calculate the complexity of the draw object tree.

단계 S1120에서 드로우 오브젝트 트리 관리부(700)는 업데이트를 위한 서브 트리에 대한 정보를 드로우 오브젝트 트리 데이터 송수신부(710)로 전송할 수 있다.In step S1120, the draw object tree management unit 700 may transmit information on the subtree for update to the draw object tree data transmission / reception unit 710. [

단계 S1130에서 드로우 오브젝트 트리 데이터 송수신부(710)는 서브 트리의 각 노드에 대한 드로우 오브젝트를 셋톱 박스(110)의 드로우 오브젝트 트리 관리부(810)로 전송할 수 있다.In step S1130, the draw object tree data transmitting / receiving unit 710 may transmit the draw objects for each node of the subtree to the draw object tree managing unit 810 of the set top box 110. [

단계 S1140에서 셋톱 박스(110)의 드로우 오브젝트 트리 관리부(810)는 드로우 오브젝트 트리를 업데이트할 수 있다.In step S1140, the draw object tree management unit 810 of the set-top box 110 can update the draw object tree.

도 12는 본 발명의 다른 실시예에 따른 셋톱 박스의 드로우 오브젝트 트리를 업데이트하는 방법을 나타낸 흐름도이다.12 is a flowchart illustrating a method of updating a draw object tree of a set-top box according to another embodiment of the present invention.

단계 S1200에서 웹 서버(100)의 드로우 오브젝트 트리 관리부(700)는 드로우 오브젝트 트리 데이터 송수신부(710)로 업데이트를 위한 드로우 오브젝트 트리에 대한 정보를 전송할 수 있다. In step S1200, the draw object tree management unit 700 of the web server 100 may transmit information on the draw object tree for update to the draw object tree data transmitting and receiving unit 710. [

단계 S1210에서 드로우 오브젝트 트리 데이터 송수신부(710)는 드로우 오브젝트 트리의 각 노드에 대한 드로우 오브젝트를 셋톱 박스(110)의 드로우 오브젝트 트리 관리부(810)로 전송할 수 있다.In step S1210, the draw object tree data transmitting / receiving unit 710 can transmit the draw objects for each node of the draw object tree to the draw object tree managing unit 810 of the set top box 110. [

단계 S1220에서 셋톱 박스(110)의 드로우 오브젝트 트리 관리부(810)는 드로우 오브젝트 트리를 업데이트할 수 있다.In step S1220, the draw object tree management unit 810 of the set top box 110 can update the draw object tree.

단계 S1230에서 셋톱 박스(110)의 드로우 오브젝트 트리 관리부(810) 업데이트 응답을 웹 서버(100)의 드로우 오브젝트 트리 관리부(700)로 전송하 ㄹ수 있다.In step S1230, an update response of the draw object tree management unit 810 of the set-top box 110 may be transmitted to the draw object tree management unit 700 of the web server 100. [

단계 S1240에서 웹 서버(100)의 드로우 오브젝트 트리 관리부(700)는 업데이트 응답에 기초하여 드로우 오브젝트 트리를 위한 커맨드의 수(M)를 결정할 수 있다.In step S1240, the draw object tree management unit 700 of the web server 100 can determine the number of commands M for the draw object tree based on the update response.

단계 S1250에서 웹 서버(100)의 드로우 오브젝트 트리 관리부(700)는 M개의 노드를 포함하는 드로우 오브젝트 트리에 대한 정보를 드로우 오브젝트 트리 데이터 송수신부(710)로 전송할 수 있다.In step S1250, the draw object tree management unit 700 of the web server 100 may transmit information on the draw object tree including M nodes to the draw object tree data transmission / reception unit 710. [

단계 S1260에서 드로우 오브젝트 트리 데이터 송수신부(710)는 드로우 오브젝트 트리의 각 노드에 대한 드로우 오브젝트를 셋톱 박스(110)의 드로우 오브젝트 트리 관리부(810)로 전송할 수 있다.In step S1260, the draw object tree data transmitting / receiving unit 710 may transmit the draw objects for each node of the draw object tree to the draw object tree managing unit 810 of the set top box 110. [

단계 S1270에서 셋톱 박스(110)의 드로우 오브젝트 트리 관리부(810)는 드로우 오브젝트 트리를 업데이트할 수 있다.In step S1270, the draw object tree management unit 810 of the set-top box 110 may update the draw object tree.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 매체에 저장된 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다.An embodiment of the present invention may also be embodied in the form of a program stored on a medium executed by a computer or a recording medium including instructions executable by the computer.

컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium can include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. .

100: 클라우드 웹 서버
110: 셋톱박스
120: 헤드엔드 레거시 시스템
100: Cloud Web Server
110: Set-top box
120: Headend legacy system

Claims (28)

커맨드(Command) 방식의 클라우드 아이피티브이 서비스를 제공하는 클라우드 웹 서버에 있어서,
아이피티브이 서비스를 위한 기능을 제공하는 홈포털 및 어플리케이션을 제공하는 어플리케이션 플랫폼;
상기 홈포털 및 어플리케이션의 상태를 관리하고 제어하는 클라우드 컨트롤러;
상기 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트(Draw Object)를 생성하는 클라우드 엔진; 및
상기 드로우 오브젝트를 셋톱 박스로 전송하는 클라우드 에이전트
를 포함하는, 클라우드 웹 서버.
CLAIMS 1. A cloud web server providing a command service cloud in service,
An application platform providing a home portal and an application providing functions for an IPTV service;
A cloud controller for managing and controlling the state of the home portal and the application;
A cloud engine for generating a draw object (Command Object) of the home portal and the application; And
A cloud agent for transmitting the draw object to the set-top box
A cloud web server.
제 1 항에 있어서,
상기 커맨드 방식을 통한 홈포털 및 어플리케이션을 제공하기 위해 웹 어플리케이션을 자바 스크립트 어플리케이션으로 변환하는 서버 미들웨어
를 더 포함하는, 클라우드 웹 서버.
The method according to claim 1,
A server middleware for converting a web application into a JavaScript application to provide a home portal and an application through the command method;
Further comprising: a cloud web server.
제 2 항에 있어서,
상기 서버 미들웨어는,
헤드엔드 레거시(H/E Legacy) 시스템과의 연동을 통해 웹 어플리케이션의 리스트 및 상기 웹 어플리케이션의 데이터를 수신하는 데이터 캐쉬;
상기 웹 어플리케이션을 자바 스크립트 어플리케이션으로 변환하는 컨버젼 모듈;
상기 변환된 자바 스크립트 어플리케이션을 관리하고, 상기 어플리케이션 플랫폼으로 배포하는 어플리케이션 매니저; 및
상기 어플리케이션 플랫폼으로부터 수신한 데이터를 관리하는 리소스 모듈
을 포함하는 것인, 클라우드 웹 서버.
3. The method of claim 2,
The server middleware,
A data cache for receiving a list of web applications and data of the web application through interworking with a head end legacy (H / E Legacy) system;
A conversion module for converting the web application into a JavaScript application;
An application manager for managing the converted JavaScript application and distributing the converted JavaScript application to the application platform; And
A resource module for managing data received from the application platform;
The cloud web server.
제 1 항에 있어서,
상기 홈포털 및 어플리케이션의 인터페이스(UI) 에이피아이(API, application programming interface)를 제공하는 클라우드 라이브러리
를 더 포함하는, 클라우드 웹 서버.
The method according to claim 1,
A cloud library providing an interface (UI) application programming interface (API) of the home portal and the application
Further comprising: a cloud web server.
제 1 항에 있어서,
상기 어플리케이션 플랫폼에서 제공되는 상기 홈포털 및 어플리케이션은 자바(Java)로 제공되는 자바 스크립트 홈포털 및 자바 스크립트 어플리케이션인 것인, 클라우드 웹 서버.
The method according to claim 1,
Wherein the home portal and the application provided by the application platform are a JavaScript home portal and a JavaScript application provided in Java.
제 1 항에 있어서,
상기 클라우드 엔진은 자바 기반의 노드 제이에스(Node.js)를 이용하여 상기 드로우 오브젝트를 생성하는 것인, 클라우드 웹 서버.
The method according to claim 1,
Wherein the cloud engine generates the draw object using a Java-based node node (js).
제 4 항에 있어서,
상기 클라우드 엔진은 상기 클라우드 라이브러리를 호출하여, 상기 인터페이스 에이피아이를 이용하여 상기 드로우 오브젝트를 생성하는 것인, 클라우드 웹 서버.
5. The method of claim 4,
Wherein the cloud engine calls the cloud library to generate the draw object using the interface API.
제 1 항에 있어서,
상기 드로우 오브젝트는 삽입될 그래픽의 URL(uniform resource locator), 삽입될 텍스트, 상기 그래픽 및 텍스트의 위치 정보 및 비율 정보 중 적어도 하나를 포함하는 것인, 클라우드 웹 서버.
The method according to claim 1,
Wherein the draw object includes at least one of a uniform resource locator (URL) of a graphic to be inserted, a text to be inserted, position information of the graphic and text, and ratio information.
제 3 항에 있어서,
상기 어플리케이션 매니저는 상기 자바 스크립트 어플리케이션의 리소스 정보를 상기 셋톱 박스로 전송하는 것인, 클라우드 웹 서버.
The method of claim 3,
Wherein the application manager transmits resource information of the JavaScript application to the set-top box.
제 1 항에 있어서,
상기 클라우드 엔진은 상기 홈포털 및 어플리케이션의 각 화면에 포함된 복수의 이미지 각각을 노드로하는 드로우 오브젝트 트리를 생성하고, 상기 각 노드에 대한 드로우 오브젝트를 생성하는 드로우 오브젝트 트리 관리부; 및
상기 각 노드에 대한 드로우 오브젝트를 상기 셋톱 박스로 전송하여 상기 셋톱 박스의 드로우 오브젝트 트리를 업데이트시키는 드로우 오브젝트 트리 데이터 송수신부
를 포함하는 것인, 클라우드 웹 서버.
The method according to claim 1,
Wherein the cloud engine generates a draw object tree in which a plurality of images included in respective screens of the home portal and the application are nodes, and generates a draw object for each node; And
A draw object tree data transmitting and receiving section for transmitting the draw object for each node to the set top box and updating the draw object tree of the set top box,
And a cloud server.
제 10 항에 있어서,
상기 드로우 오브젝트 트리는 정적(Static) 트리로서 복수의 제 1 서브 트리 및 가변(Variable) 트리로서 복수의 제 2 서브 트리를 포함하고,
상기 제 2 서브 트리는 상기 드로우 오브젝트 트리의 최하위에 위치하는 복수의 엣지(edge) 노드를 포함하는 노드를 최상위 노드로 하는 것인, 클라우드 웹 서버.
11. The method of claim 10,
Wherein the draw object tree includes a plurality of first subtrees as a static tree and a plurality of second subtrees as a variable tree,
Wherein the second subtree has a node including a plurality of edge nodes located at the lowest position of the draw object tree as a top node.
제 11 항에 있어서,
상기 드로우 오브젝트 트리 관리부는 상기 각 화면의 복잡도를 계산하고, 상기 각 화면의 복잡도가 기설정된 값 이상인 경우, 상기 복수의 제 2 서브 트리를 상기 업데이트를 위한 서브 트리로 결정하고,
상기 드로우 오브젝트 트리 데이터 송수신부는 상기 복수의 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트를 상기 셋톱 박스로 전송하는 것인, 클라우드 웹 서버.
12. The method of claim 11,
Wherein the draw object tree management unit calculates the complexity of each screen and determines the plurality of second subtrees as the subtree for the update when the complexity of each screen is equal to or greater than a predetermined value,
Wherein the draw object tree data transmitting and receiving unit transmits a draw object for each node of the plurality of second subtrees to the set top box.
제 12 항에 있어서,
상기 드로우 오브젝트 트리 관리부는 상기 각 제 2 서브 트리에 포함된 엣지 노드의 수에 기초하여 상기 각 제 2 서브 트리에 대한 드로우 오브젝트의 전송 순서 및 전송 횟수를 결정하고,
상기 드로우 오브젝트 트리 데이터 송수신부는 상기 전송 순서 및 전송 횟수에 기초하여 상기 복수의 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트를 상기 셋톱 박스로 전송하는 것인, 클라우드 웹 서버.
13. The method of claim 12,
Wherein the draw object tree management unit determines a transfer order and a transfer count of a draw object for each second subtree based on the number of edge nodes included in each second subtree,
Wherein the draw object tree data transmitting and receiving unit transmits a draw object for each node of the plurality of second subtrees to the set top box based on the transmission order and the number of transmissions.
제 12 항에 있어서,
상기 각 화면의 복잡도는 상기 각 화면의 이미지의 사이즈, 상기 엣지 노드의 개수, 상기 각 노드에 대한 가중치 및 상기 각 노드에 해당하는 이미지의 특성에 기초하여 결정되는 것인, 클라우드 웹 서버.
13. The method of claim 12,
Wherein the complexity of each screen is determined based on a size of an image of each screen, a number of edge nodes, a weight for each node, and characteristics of an image corresponding to each node.
제 10 항에 있어서,
상기 드로우 오브젝트 트리 관리부는 상기 셋톱 박스의 성능에 기초하여 상기 업데이트를 위한 커맨드(Command)의 수를 결정하고,
상기 드로우 오브젝트 트리 데이터 송수신부는 상기 각 노드에 대한 드로우 오브젝트를 상기 결정된 커맨드의 수씩 분할하고, 분할된 드로우 오브젝트를 기설정된 시간 간격으로 전송하는 것인, 클라우드 웹 서버.
11. The method of claim 10,
Wherein the draw object tree management unit determines the number of commands for the update based on the performance of the set top box,
Wherein the draw object tree data transmitting and receiving unit divides the draw objects for the respective nodes by the number of the determined commands and transmits the divided draw objects at predetermined time intervals.
커맨드(Command) 방식의 클라우드 아이피티브이 서비스를 제공하는 셋톱 박스에 있어서,
클라우드 웹 서버와 연동하여 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트를 수신하는 클라우드 어댑터;
그래픽 프레임 워크를 제공하는 그래픽 라이브러리; 및
상기 그래픽 라이브러리를 호출하고 상기 그래픽 프레임 워크를 통해 상기 드로우 오브젝트를 드로잉하여 상기 홈포털 및 어플리케이션의 각 화면을 출력하는 클라우드 클라이언트
를 포함하는 셋톱 박스.
A set-top box providing a cloud-based service of a command type,
A cloud adapter for receiving a command-type draw object of a home portal and an application in cooperation with a cloud web server;
A graphics library providing a graphical framework; And
A cloud client that calls the graphic library and draws the draw object through the graphics framework and outputs the screens of the home portal and the application,
Lt; / RTI >
제 16 항에 있어서,
상기 홈포털 및 어플리케이션의 라이프 사이클 및 세션 정보를 관리하는 어플리케이션 매니저
를 더 포함하는, 셋톱 박스.
17. The method of claim 16,
An application manager for managing lifecycle and session information of the home portal and the application;
Lt; / RTI >
제 16 항에 있어서,
상기 그래픽 라이브러리는 오픈 지엘 라이브러리(Open GL Library)인 것인, 셋톱 박스.
17. The method of claim 16,
Wherein the graphics library is an OpenGL library.
제 17 항에 있어서,
상기 어플리케이션 매니저는 상기 클라우드 웹 서버로부터 상기 어플리케이션의 리소스 정보를 수신하는 것인, 셋톱 박스.
18. The method of claim 17,
Wherein the application manager receives resource information of the application from the cloud web server.
제 17 항에 있어서,
상기 어플리케이션 매니저는 상기 드로우 오브젝트에 기초하여 어플리케이션 서버로부터 데이터를 수신하는 것인, 셋톱 박스.
18. The method of claim 17,
And the application manager receives data from an application server based on the draw object.
제 16 항에 있어서,
상기 홈포털 및 어플리케이션은 자바(Java)로 제공되는 자바 스크립트 홈포털 및 자바 스크립트 어플리케이션인 것인, 셋톱 박스.
17. The method of claim 16,
Wherein the home portal and the application are a JavaScript home portal and a JavaScript application provided in Java.
제 16 항에 있어서,
상기 드로우 오브젝트는 삽입될 그래픽의 URL(uniform resource locator), 삽입될 텍스트, 상기 그래픽 및 텍스트의 위치 정보 및 비율 정보 중 적어도 하나를 포함하는 것인, 셋톱 박스.
17. The method of claim 16,
Wherein the draw object includes at least one of a uniform resource locator (URL) of a graphic to be inserted, a text to be inserted, position information of the graphic and text, and ratio information.
제 16 항에 있어서,
상기 드로우 오브젝트는 자바 기반의 노드 제이에스(Node.js)를 이용하여 생성된 것인, 셋톱 박스.
17. The method of claim 16,
Wherein the draw object is created using a Java-based node node (js).
제 16 항에 있어서,
상기 클라우드 어댑터는 상기 클라우드 웹 서버로부터 상기 홈포털 및 어플리케이션의 각 화면에 포함된 복수의 이미지 각각을 노드로하는 드로우 오브젝트 트리의 상기 각 노드에 대한 드로우 오브젝트를 수신하는 드로우 오브젝트 트리 데이터 송수신부; 및
상기 드로우 오브젝트 트리를 생성하고, 상기 각 노드에 대한 드로우 오브젝트에 기초하여 상기 드로우 오브젝트 트리를 업데이트하는 드로우 오브젝트 트리 관리부
를 포함하는 것인, 셋톱 박스.
17. The method of claim 16,
Wherein the cloud adapter includes: a draw object tree data transmitting and receiving unit for receiving a draw object for each node of the draw object tree having the plurality of images included in each screen of the home portal and the application from the cloud web server; And
A draw object tree management unit for creating the draw object tree and updating the draw object tree based on the draw objects for the respective nodes,
Lt; / RTI >
제 24 항에 있어서,
상기 드로우 오브젝트 트리는 정적(Static) 트리로서 복수의 제 1 서브 트리 및 가변(Variable) 트리로서 복수의 제 2 서브 트리를 포함하고,
상기 제 2 서브 트리는 상기 드로우 오브젝트 트리의 최하위에 위치하는 복수의 엣지(edge) 노드를 포함하는 노드를 최상위 노드로 하는 것인, 셋톱 박스.
25. The method of claim 24,
Wherein the draw object tree includes a plurality of first subtrees as a static tree and a plurality of second subtrees as a variable tree,
Wherein the second subtree has a node including a plurality of edge nodes positioned at the lowest position of the draw object tree as a top node.
제 25 항에 있어서,
상기 드로우 오브젝트 트리 데이터 송수신부는 상기 업데이트를 위한 상기 복수의 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트를 수신하고,
상기 드로우 오브젝트 트리 관리부는 상기 복수의 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트에 기초하여 상기 드로우 오브젝트 트리 중 상기 제 2 서브 트리를 업데이트하는 것인, 셋톱 박스.
26. The method of claim 25,
Wherein the draw object tree data transmitting and receiving unit receives a draw object for each node of the plurality of second subtrees for the update,
Wherein the draw object tree management unit updates the second subtree of the draw object tree based on a draw object for each node of the plurality of second subtrees.
제 26 항에 있어서,
상기 클라우드 클라이언트는 상기 각 화면의 최초 로딩 시에 상기 각 노드에 대한 드로우 오브젝트를 드로잉하여 상기 각 화면을 출력하고,
상기 제 2 서브 트리가 업데이트된 경우 상기 업데이트된 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트만을 드로잉하여 상기 각 화면을 변경하는 것인, 셋톱 박스.
27. The method of claim 26,
Wherein the cloud client draws a draw object for each node at the time of initial loading of each screen and outputs the respective screens,
And when the second subtree is updated, draws only a draw object for each node of the updated second subtree to change the respective screens.
커맨드(Command) 방식의 클라우드 아이피티브이 서비스 제공 시스템에 있어서,
클라우드 웹 서버; 및
셋톱 박스
를 포함하되,
상기 클라우드 웹 서버는,
아이피티브이 서비스를 위한 기능을 제공하는 홈포털 및 어플리케이션을 제공하는 어플리케이션 플랫폼;
상기 홈포털 및 어플리케이션의 상태를 관리하고 제어하는 클라우드 컨트롤러;
상기 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트(Draw Object)를 생성하는 클라우드 엔진; 및
상기 드로우 오브젝트를 상기 셋톱 박스로 전송하는 클라우드 에이전트
를 포함하고,
상기 셋톱 박스는,
상기 클라우드 웹 서버와 연동하여 상기 드로우 오브젝트를 수신하는 클라우드 어댑터;
그래픽 프레임 워크를 제공하는 그래픽 라이브러리; 및
상기 그래픽 라이브러리를 호출하고 상기 그래픽 프레임 워크를 통해 상기 드로우 오브젝트를 드로잉 및 출력하는 클라우드 클라이언트
를 포함하는, 시스템.
CLAIMS 1. A cloud service providing system of a command type,
Cloud Web server; And
Set-top box
, ≪ / RTI &
The cloud web server includes:
An application platform providing a home portal and an application providing functions for an IPTV service;
A cloud controller for managing and controlling the state of the home portal and the application;
A cloud engine for generating a draw object (Command Object) of the home portal and the application; And
A cloud agent for transmitting the draw object to the settop box;
Lt; / RTI >
The set-
A cloud adapter for receiving the draw object in cooperation with the cloud web server;
A graphics library providing a graphical framework; And
A cloud client that calls the graphics library and draws and outputs the draw objects via the graphics framework;
.
KR1020160107256A 2015-09-04 2016-08-23 Cloud web server for providing cloud iptv service based on command method, system and set-top box KR102140497B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150125686 2015-09-04
KR1020150125686 2015-09-04

Publications (2)

Publication Number Publication Date
KR20170028838A true KR20170028838A (en) 2017-03-14
KR102140497B1 KR102140497B1 (en) 2020-08-03

Family

ID=58460301

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160107256A KR102140497B1 (en) 2015-09-04 2016-08-23 Cloud web server for providing cloud iptv service based on command method, system and set-top box

Country Status (1)

Country Link
KR (1) KR102140497B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113810756A (en) * 2021-09-22 2021-12-17 上海亨谷智能科技有限公司 Intelligent set top box main screen desktop display system
KR102621022B1 (en) * 2023-06-02 2024-01-05 쿠팡 주식회사 Electronic device and method for managing policies related to e-commerce service

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080070337A (en) * 2007-01-26 2008-07-30 에스케이커뮤니케이션즈 주식회사 Java script based web-client application framework, web contents processing method using the framework and computer readable medium processing the method
KR20130078300A (en) * 2011-12-30 2013-07-10 주식회사 케이티 Server and method for executing virtual application requested from device, and the device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080070337A (en) * 2007-01-26 2008-07-30 에스케이커뮤니케이션즈 주식회사 Java script based web-client application framework, web contents processing method using the framework and computer readable medium processing the method
KR20130078300A (en) * 2011-12-30 2013-07-10 주식회사 케이티 Server and method for executing virtual application requested from device, and the device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113810756A (en) * 2021-09-22 2021-12-17 上海亨谷智能科技有限公司 Intelligent set top box main screen desktop display system
CN113810756B (en) * 2021-09-22 2024-05-28 上海亨谷智能科技有限公司 Intelligent set top box main screen desktop display system
KR102621022B1 (en) * 2023-06-02 2024-01-05 쿠팡 주식회사 Electronic device and method for managing policies related to e-commerce service

Also Published As

Publication number Publication date
KR102140497B1 (en) 2020-08-03

Similar Documents

Publication Publication Date Title
US10289659B2 (en) Delivery and display of page previews using shadow DOM
US11233841B2 (en) Systems and methods for configuration-based optimization by an intermediary
US10769353B2 (en) Dynamic streaming content provided by server and client-side tracking application
EP2903241B1 (en) Compression of serialized data for communication from a client-side application
US20130066947A1 (en) System and Method for Managing Applications for Multiple Computing Endpoints and Multiple Endpoint Types
US20140096014A1 (en) Method for enabling dynamic client user interfaces on multiple platforms from a common server application via metadata
US10296558B1 (en) Remote generation of composite content pages
US20090144753A1 (en) Method And System For Providing Update Content In A Markup Language-Based Resource
US10007532B1 (en) Data infrastructure for cross-platform cross-device API inter-connectivity
US20090085921A1 (en) Populate Web-Based Content Based on Space Availability
US9680897B2 (en) Throttled scanning for optimized compression of network communicated data
CN107247544A (en) Use interaction figure picture optimization software application user interface capabilities
KR102001193B1 (en) System and method for automatically managing placement of content slots in an information resource
US10339572B2 (en) Tracking user interaction with a stream of content
US20230041844A1 (en) Speculative rendering
US9740791B1 (en) Browser as a service
US11488213B2 (en) Tracking user interaction with a stream of content
US20090083145A1 (en) Dynamic hosted advertising supporting multiple formats
KR102140497B1 (en) Cloud web server for providing cloud iptv service based on command method, system and set-top box
US9330188B1 (en) Shared browsing sessions
KR102086731B1 (en) Method for providing of cloud streamming service, apparatus and system for the same, and computer readable storage medium storing script code for the same
US11656746B2 (en) Intercepted loading of web applications
CN112764746B (en) Data processing method, device, electronic equipment and storage medium
US11784887B1 (en) Bandwidth throttling
CN102918799A (en) Remote user interface cooperative application

Legal Events

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