KR102140497B1 - 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
KR102140497B1
KR102140497B1 KR1020160107256A KR20160107256A KR102140497B1 KR 102140497 B1 KR102140497 B1 KR 102140497B1 KR 1020160107256 A KR1020160107256 A KR 1020160107256A KR 20160107256 A KR20160107256 A KR 20160107256A KR 102140497 B1 KR102140497 B1 KR 102140497B1
Authority
KR
South Korea
Prior art keywords
cloud
draw object
application
top box
tree
Prior art date
Application number
KR1020160107256A
Other languages
Korean (ko)
Other versions
KR20170028838A (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

커맨드(Command) 방식의 클라우드 아이피티브이 서비스를 제공하는 클라우드 웹 서버는 아이피티브이 서비스를 위한 기능을 제공하는 홈포털 및 어플리케이션을 제공하는 어플리케이션 플랫폼, 홈포털 및 어플리케이션의 상태를 관리하고 제어하는 클라우드 컨트롤러, 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트(Draw Object)를 생성하는 클라우드 엔진 및 드로우 오브젝트를 셋톱 박스로 전송하는 클라우드 에이전트를 포함할 수 있다. A cloud web server that provides command-based cloud IP service is an application platform that provides home portals and applications that provide functions for IP services, a cloud controller that manages and controls the status of home portals and applications, It may include a cloud engine that generates a draw object of a command method of a home portal and an application and a cloud agent that transmits a draw object to a set-top box.

Description

커맨드(Command) 방식의 클라우드 아이피티브이 서비스를 제공하는 클라우드 웹 서버, 셋톱 박스 및 시스템{CLOUD WEB SERVER FOR PROVIDING CLOUD IPTV SERVICE BASED ON COMMAND METHOD, SYSTEM AND SET-TOP BOX}Cloud web server, set-top box, and system that provide command-based Cloud IPTV services {CLOUD WEB SERVER FOR PROVIDING CLOUD IPTV SERVICE BASED COMMAND METHOD, SYSTEM AND SET-TOP BOX}

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

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

종래의 IPTV 사업자는 방송을 송출하는 서비스를 주로 제공하였고, 이에 따라 낮은 처리 능력의 CPU를 가진 저사양의 셋톱박스를 통해서도 IPTV 서비스 제공이 가능하다. Conventional IPTV operators have mainly provided broadcasting service, and accordingly, IPTV service can be provided through a low-end set-top box with a low-processing CPU.

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

이에 따라, 기존의 셋톱박스 중심의 서비스 제어 방식(IPTV 서비스)에서 일부 서비스를 클라우드 서버로 이동시킴으로써 셋톱박스의 부하 분산을 도모하는 방식(클라우드 IPTV 서비스)으로 바뀌고 있다. Accordingly, the existing set-top box-oriented service control method (IPTV service) is shifting to a method (cloud IPTV service) that aims to load balance the set-top box by moving some services to the cloud server.

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

한편, IPTV 서비스를 제공하기 위해서는 홈포털과 양방향 서비스 제공을 위한 어플리케이션 개발이 필수적 이다. 여기서, 홈포털은 IPTV 서비스를 제공하기 위한 메뉴 및 화면 전환 등의 기본 기능과 여러 응용 기능들로 이루어진 어플리케이션이며, 양방향 서비스는 사용자와의 인터렉션을 통해 제공되는 다양한 응용서비스들이다. Meanwhile, in order to provide an IPTV service, it is essential to develop an application for providing a home portal and an interactive 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 interactive services are various application services provided through interaction with a user.

기존의 IPTV 서비스 상에서 제공되는 어플리케이션은 웹 어플리케이션과 자바 기반의 어플리케이션으로 이원화되어 있어, 어플리케이션 제공의 효율화를 위해서는 HTML 기반의 웹 어플리케이션(또는 자바 기반의 어플리케이션)으로 일원화하여 제공할 수 있는 환경이 필요하다. Since the application provided on the existing IPTV service is dualized into a web application and a Java-based application, an environment capable of unifying and providing an HTML-based web application (or a Java-based application) is required for efficient application provision. .

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

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

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 커맨드(Command) 방식의 클라우드 아이피티브이 서비스를 제공하는 클라우드 웹 서버는 아이피티브이 서비스를 위한 기능을 제공하는 홈포털 및 어플리케이션을 제공하는 어플리케이션 플랫폼, 상기 홈포털 및 어플리케이션의 상태를 관리하고 제어하는 클라우드 컨트롤러, 상기 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트(Draw Object)를 생성하는 클라우드 엔진 및 상기 드로우 오브젝트를 셋톱 박스로 전송하는 클라우드 에이전트를 포함할 수 있다.As a technical means for achieving the above technical problem, a cloud web server providing a command-based cloud IP service according to the first aspect of the present invention includes a home portal and an application that provides a function for the IP service. An application platform that provides a, a cloud controller that manages and controls the status of the home portal and application, a cloud engine that generates a draw object of the command method of the home portal and application, and transmits the draw object to a set-top box It may include a cloud agent.

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

또한, 본 발명의 제 3 측면에 따른 커맨드 방식의 클라우드 아이피티브이 서비스 제공 시스템은 클라우드 웹 서버 및 셋톱 박스를 포함하되, 상기 클라우드 웹 서버는 아이피티브이 서비스를 위한 기능을 제공하는 홈포털 및 어플리케이션을 제공하는 어플리케이션 플랫폼, 상기 홈포털 및 어플리케이션의 상태를 관리하고 제어하는 클라우드 컨트롤러, 상기 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트를 생성하는 클라우드 엔진 및 상기 드로우 오브젝트를 상기 셋톱 박스로 전송하는 클라우드 에이전트를 포함하고, 상기 셋톱 박스는 상기 클라우드 웹 서버와 연동하여 상기 드로우 오브젝트를 수신하는 클라우드 어댑터, 그래픽 프레임 워크를 제공하는 그래픽 라이브러리 및 상기 그래픽 라이브러리를 호출하고 상기 그래픽 프레임 워크를 통해 상기 드로우 오브젝트를 드로잉 및 출력하는 클라우드 클라이언트를 포함할 수 있다.In addition, the system for providing a command-based cloud IP service 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 that provides a function for the IP service. The application platform includes a cloud controller that manages and controls the status of the home portal and application, a cloud engine that generates a draw object of the command method of the home portal and application, and a cloud agent that transmits the draw object to the set-top box. And the set-top box interworking with the cloud web server to call the cloud adapter receiving the draw object, a graphic library providing a graphic framework, and the graphic library, and drawing and outputting the draw object through the graphic framework It may include a cloud client.

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are 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 detailed description of the invention.

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

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

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

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

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

또한, 클라우드 웹 서버에서 웹 어플리케이션의 데이터 및 자바 스크립트 어플리케이션의 리소스 정보를 통합 관리하기 때문에 타 응용서비스 간 연계가 가능하며 서비스 활성화 및 매출 증대에도 도움이 될 수 있다.In addition, since the cloud web server manages the data of the web application and the resource information of the javascript application, it is possible to link between other application services and it can also help in 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 block diagram of a cloud IPT service providing system according to an embodiment of the present invention.
2 is a block diagram of the cloud web server shown in FIG. 1 according to an embodiment of the present invention.
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 according to an embodiment of the present invention.
5 is a flowchart illustrating a method of converting a web application to a Java application and providing a command-based cloud IP service according to an embodiment of the present invention.
6 is an operation flowchart illustrating a method of providing a draw object of a command method according to an embodiment of the present invention.
7 is a block diagram of the cloud web server shown in FIG. 1 according to another embodiment of the present invention.
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 illustrating a draw object tree according to another embodiment of the present invention.
10 is a diagram for 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, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present invention pertains may easily practice. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. In addition, in order to clearly describe the present invention in the drawings, parts irrelevant to the description are omitted, and like reference numerals are assigned to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with other elements in between. . Also, when a part “includes” a certain component, this means that other components may be further included instead of excluding other components, unless otherwise specified.

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

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

이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 제 1 실시예를 위한 구체적인 내용을 설명하도록 한다. Hereinafter, specific contents for the first embodiment of the present invention will be described with reference to the accompanying drawings or processing flow charts.

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

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

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

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

클라우드 웹 서버(100)는 홈포털 및 어플리케이션의 상태를 관리하고 제어할 수 있다. 예를 들어, 클라우드 웹 서버(100)는 외부 서버와 연동하여 홈 포털 및 어플리케이션을 모니터링하고, 장애를 감지함으로써 홈포털 및 어플리케이션을 장애 정상 복구 및 제어할 수 있다. The cloud web server 100 may manage and control the status of home portals and applications. For example, the cloud web server 100 may monitor and repair home portals and applications by interworking with external servers, and recover and control home portals and applications by detecting failures.

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

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

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

일반적으로, 도 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, each component of the cloud IPTV service providing system of FIG. 1 is connected through a network 130. The network means a connection structure capable of exchanging information between nodes such as terminals and servers, and examples of such a network include 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), and WIMAX ( World Interoperability for Microwave Access), Wi-Fi, 3G, 4G, 5G, and the like.

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

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

도 2를 참조하면, 클라우드 웹 서버(100)는 어플리케이션 플랫폼(200), 클라우드 컨트롤러(210), 클라우드 엔진(220), 클라우드 에이전트(230), 서버 미들웨어(240), 클라우드 라이브러리(250)를 포함할 수 있다. 다만, 도 2에 도시된 클라우드 웹 서버(100)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다.Referring to FIG. 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 illustrated in FIG. 2 is only one implementation example of the present invention, and various modifications are possible based on the components illustrated in FIG. 2.

어플리케이션 플랫폼(200)은 아이피티브이 서비스를 위한 기능을 제공하는 홈포털 및 어플리케이션을 제공할 수 있다. 여기서, 홈포털 및 어플리케이션은 자바(Java)로 제공되는 자바 스크립트 홈포털 및 자바 스크립트 어플리케이션일 수 있다. The application platform 200 may provide home portals and applications that provide functions for IPTV services. 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 may check the driving status of the JavaScript home portal and application in real time.

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

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

클라우드 에이전트(230)는 클라우드 엔진(220)에서 생성한 드로우 오브젝트를 셋톱 박스(110)에게 전송할 수 있다. The cloud agent 230 may transmit the draw object 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 may automatically convert a web application to a JavaScript application in real time and provide an optimized configuration diagram for managing the converted JavaScript application. Unlike the Java application described above, the web application may be an application produced based on HTML (Hypertext Markup Language).

도 3은 본 발명의 일 실시예에 따른, 도 2에 도시된 서버 미들웨어(240)의 세부 구성도이다. 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)을 포함할 수 있다.Referring to FIG. 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 may receive a list of web applications and data of web applications through interworking with a headend legacy (H/E Legacy) system. In addition, the data cache 300 may receive a web page of a web application in a multicast manner from a headend legacy system.

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

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

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

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

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

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

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

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

한편, 당업자라면, 어플리케이션 플랫폼(200), 클라우드 컨트롤러(210), 클라우드 엔진(220), 클라우드 에이전트(230), 서버 미들웨어(240), 클라우드 라이브러리(250) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. On the other hand, those skilled in the art, the application platform 200, cloud controller 210, cloud engine 220, cloud agent 230, server middleware 240, cloud library 250, each of which is implemented separately, or one of them It will be fully understood that the above can be integrated and implemented.

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

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

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

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

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

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

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

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

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

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

메모리(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 each component in the set-top box 110, and stores data input and output between the set-top box 110 and external components of 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. Also, the memory 440 may store data received from the application server. Examples of the memory 440 include a read only memory (ROM), a random access memory (RAM), a flash memory, and a memory card existing inside or outside the set-top box 110.

한편, 당업자라면, 클라우드 어댑터(400), 그래픽 라이브러리(410), 클라우드 클라이언트(420), 어플리케이션 매니저(430) 및 메모리(440) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다.On the other hand, those skilled in the art, cloud adapter 400, graphics library 410, cloud client 420, the application manager 430 and the memory 440 are each implemented separately, or one or more of them can be implemented by being integrated You will fully understand that there is.

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

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

도 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 web applications from the headend legacy system 120.

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

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

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

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

단계 S506에서 데이터 캐쉬(300)는 버전 정보가 변경된 웹 어플리케이션의 데이터를 컨버젼 모듈(310)에게 전달할 수 있다. In step S506, the data cache 300 may transmit 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 received web application into a javascript application.

단계 S508에서 컨버젼 모듈(310)은 변환된 자바 스크립트 어플리케이션을 어플리케이션 매니저(320)에게 전달할 수 있다. In step S508, the conversion module 310 may deliver 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 may deliver the converted JavaScript application to the cloud engine 220.

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

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

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

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

도 6은 본 발명의 일 실시예에 따른, 커맨드 방식의 드로우 오브젝트를 제공하는 방법을 나타낸 동작 흐름도이다.6 is an operation flowchart illustrating a method of providing a draw object of a command method 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 time-series in the cloud web server 100, the set-top box 110, and the headend legacy system 120 according to the embodiment shown in FIGS. It includes the steps to be processed. Therefore, even if omitted below, the contents described with respect to the cloud web server 100, the set-top box 110, and the headend legacy system 120 of FIGS. 1 to 5 according to the embodiment shown in FIG. 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.

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

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

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

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

단계 S606에서 클라우드 웹 서버(100)는 셋톱박스(110)로부터 홈포털 및 어플리케이션의 상태 전환 신호를 수신할 수 있다. In step S606, the cloud web server 100 may receive the status change 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 may generate a second draw object of a command method based on a state change signal.

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

단계 S609에서 셋톱박스(110)는 수신된 제 2 드로우 오브젝트를 그래픽 프레임 워크를 통해 드로잉하고 디스플레이 장치로 출력할 수 있다.In step S609, the set-top box 110 may draw the received second draw object through a 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. In addition, some steps may be omitted if 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, compared to the ICS or VCS method, there is an advantage of having a fast reaction speed, but in the case of a set-top box having a low CPU performance, the drawing object draws a drawing object 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 may be divided into nodes, managed in a tree structure, and only the information about the updated sub-tree among the entire draw object trees may be transmitted to the set-top box.

도 7은 본 발명의 다른 실시예에 따른 도 1에 도시된 클라우드 웹 서버의 블록도이다. 도 7을 참조하면, 클라우드 웹 서버(100)는 어플리케이션 플랫폼(200), 클라우드 컨트롤러(210), 클라우드 엔진(220), 클라우드 에이전트(230), 서버 미들웨어(240) 및 클라우드 라이브러리(250)를 포함할 수 있다. 클라우드 엔진(220)은 드로우 오브젝트 트리 관리부(700) 및 드로우 오브젝트 트리 데이터 송수신부(710)를 포함할 수 있다.7 is a block diagram of the cloud web server shown in FIG. 1 according to another embodiment of the present invention. Referring to FIG. 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/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 in FIG. 2, and thus is omitted. I will do it.

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

드로우 오브젝트 트리 데이터 송수신부(710)는 각 노드에 대한 드로우 오브젝트를 셋톱 박스(110)로 전송하여 셋톱 박스(110)의 드로우 오브젝트 트리를 업데이트시킬 수 있다.The draw object tree data transmitting and receiving unit 710 may 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)에 대한 노드일 수 있다. 예를 들어, 하위 노드일수록 업데이트가 잦은 이미지에 대한 노드일 수 있다.Referring briefly to FIG. 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 the Poster Image 930, and the bottom node 940 may be a node for the Advertisement Images 950. For example, a lower node may be a node for an image that is updated more frequently.

여기서, 복잡한 그래픽을 많이 포함하고 있는 초기 화면 등에서는 상대적으로 많은 그래픽 표출 처리 시간이 요구된다. 이를 해결하기 위하여 드로우 오브젝트 트리 관리부(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 or the like that contains a lot of complex graphics. To solve this, the draw object tree management unit 700 may manage the draw object tree 900 as a plurality of first sub-trees as a static tree and a plurality of second sub-trees as a variable tree. When processing a complex screen (high complexity), a draw object for each node of the second sub-tree may be transmitted to the set-top box to update only the second sub-tree. 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 manager 700 may calculate the complexity of each screen, and when the complexity of each screen is equal to or greater than a preset value, determine a plurality of second sub trees as subtrees for the update.

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

이에 반해, 드로우 오브젝트 트리 관리부(700)는 각 화면의 복잡도가 기설정된 값 이하인 경우, 드로우 오브젝트 트리 전체를 업데이트를 위한 트리로 결정할 수 있다. 이 경우, 드로우 오브젝트 트리 데이터 송수신부(710)는 드로우 오브젝트 트리 전체의 각 노드에 대한 드로우 오브젝트를 셋톱 박스(110)로 전송할 수 있다.On the other hand, if the complexity of each screen is equal to or less than a preset value, the draw object tree manager 700 may determine the entire draw object tree as a tree for updating. In this case, the draw object tree data transmitting and receiving unit 710 may transmit a draw object for each node of the entire 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)를 최상위 노드로 하는 트리일 수 있다.Referring to FIG. 9B, the draw object tree 900 may include a plurality of first sub-trees as a static tree and a plurality of second sub-trees 970-1 to 970-3 as a variable tree. Can. Here, the second sub-trees 970-1 to 970-3 are nodes 960-1 to 960 including a plurality of edge nodes 950-1 to 950-5 positioned at the bottom of the draw object tree 900. It can be a tree with -3) as the top node.

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

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

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

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

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

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

Figure 112016082120116-pat00001
Figure 112016082120116-pat00001

Figure 112016082120116-pat00002
Figure 112016082120116-pat00002

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

Figure 112016082120116-pat00003
Figure 112016082120116-pat00003

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

각 화면의 복잡도는 각 화면의 이미지의 사이즈, 엣지 노드의 개수, 각 노드에 대한 가중치 및 각 노드에 해당하는 이미지의 특성에 기초하여 결정될 수 있다.The complexity of each screen may 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 112016082120116-pat00004
Figure 112016082120116-pat00004

여기서, weight of vertex는 이미지의 사이즈이다. 이미지가 업데이트되지 않는 경우 그에 대한 드로우 오브젝트 트리의 구조가 변하지 않으므로 Step Function U(v)를 추가로 정의 하였다. Here, the 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, so 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. So 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 is calculated by adding weights and complexity for all nodes. If the index changes from one node toward the root node, all of the lower nodes are forced to change, and accordingly, the structure constituting the UI changes a lot, so a weight is required.

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

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

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

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

도 8은 본 발명의 다른 실시예에 따른, 도 1에 도시된 셋톱박스의 블록도이다. 도 8을 참조하면, 클라우드 어댑터(400), 그래픽 라이브러리(410), 클라우드 클라이언트(420), 어플리케이션 매니저(430) 및 메모리(440)를 포함할 수 있다. 클라우드 어댑터(400)는 드로우 오브젝트 트리 데이터 송수신부(800) 및 드로우 오브젝트 트리 관리부(810)를 포함할 수 있다.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 graphic 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 in FIG. 2, and thus will be omitted.

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

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

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

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

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

이후, 셋톱 박스(110)는 클라우드 웹 서버(100)로부터 업데이트를 위한 제 2 서브 트리(1020)에 대한 드로우 오브젝트를 수신하여 업데이트된 드로우 오브젝트 트리(1010)의 제 2 서브 트리(1040)를 업데이트할 수 있다.Thereafter, the set-top box 110 receives the draw object for the second sub-tree 1020 for update from the cloud web server 100 and updates the second sub-tree 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)로 업데이트 체크 메시지를 전송할 수 있다.In step S1100, 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.

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

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

단계 S1130에서 드로우 오브젝트 트리 데이터 송수신부(710)는 서브 트리의 각 노드에 대한 드로우 오브젝트를 셋톱 박스(110)의 드로우 오브젝트 트리 관리부(810)로 전송할 수 있다.In step S1130, the draw object tree data transmitting and receiving unit 710 may transmit a draw object for each node of the sub tree to the draw object tree management 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 may 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 about the draw object tree for updating to the draw object tree data transmitting and receiving unit 710.

단계 S1210에서 드로우 오브젝트 트리 데이터 송수신부(710)는 드로우 오브젝트 트리의 각 노드에 대한 드로우 오브젝트를 셋톱 박스(110)의 드로우 오브젝트 트리 관리부(810)로 전송할 수 있다.In step S1210, the draw object tree data transmitting and receiving unit 710 may transmit a draw object for each node of the draw object tree to the draw object tree management 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 may update the draw object tree.

단계 S1230에서 셋톱 박스(110)의 드로우 오브젝트 트리 관리부(810) 업데이트 응답을 웹 서버(100)의 드로우 오브젝트 트리 관리부(700)로 전송하 ㄹ수 있다.In step S1230, the draw object tree management unit 810 update response 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 manager 700 of the web server 100 may determine the number M of commands 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 about the draw object tree including M nodes to the draw object tree data transmitting and receiving unit 710.

단계 S1260에서 드로우 오브젝트 트리 데이터 송수신부(710)는 드로우 오브젝트 트리의 각 노드에 대한 드로우 오브젝트를 셋톱 박스(110)의 드로우 오브젝트 트리 관리부(810)로 전송할 수 있다.In step S1260, the draw object tree data transmitting and receiving unit 710 may transmit a draw object for each node of the draw object tree to the draw object tree management 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.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 매체에 저장된 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다.One embodiment of the present invention may also be implemented in the form of a recording medium including a program stored in a medium executed by a computer or instructions executable by a 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, computer readable media may 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 include computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism, and includes any information delivery media.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The above description of the present invention is for illustration only, and those skilled in the art to which the present invention pertains can understand that it can be easily modified to other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts should be interpreted to be included in the scope of the present invention. .

100: 클라우드 웹 서버
110: 셋톱박스
120: 헤드엔드 레거시 시스템
100: cloud web server
110: set-top box
120: headend legacy system

Claims (28)

커맨드(Command) 방식의 클라우드 아이피티브이 서비스를 제공하는 클라우드 웹 서버에 있어서,
아이피티브이 서비스를 위한 기능을 제공하는 홈포털 및 어플리케이션을 제공하는 어플리케이션 플랫폼;
상기 홈포털 및 어플리케이션의 상태를 관리하고 제어하는 클라우드 컨트롤러;
상기 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트(Draw Object)를 생성하는 클라우드 엔진; 및
상기 드로우 오브젝트를 셋톱 박스로 전송하는 클라우드 에이전트
를 포함하되,
상기 드로우 오브젝트는 삽입될 그래픽의 URL(uniform resource locator), 삽입될 텍스트, 상기 그래픽 및 텍스트의 위치 정보 및 비율 정보 중 적어도 하나를 포함하고,
상기 드로우 오브젝트에 기초하여 상기 홈포털 및 어플리케이션에 대한 그래픽 작업이 상기 셋톱 박스에 의해 수행되는 것인, 클라우드 웹 서버.
In the cloud web server providing a command-based Cloud IPT service,
An application platform that provides home portals and applications that provide functions for IPTV services;
A cloud controller that manages and controls the status of the home portal and application;
A cloud engine generating a draw object of a command method of the home portal and the application; And
Cloud agent sending the draw object to the set-top box
Including,
The draw object includes at least one of a URL (uniform resource locator) of a graphic to be inserted, text to be inserted, location information and ratio information of the graphic and text,
Cloud web server, wherein the graphic work for the home portal and the application is performed by the set-top box based on the draw object.
제 1 항에 있어서,
상기 커맨드 방식을 통한 홈포털 및 어플리케이션을 제공하기 위해 웹 어플리케이션을 자바 스크립트 어플리케이션으로 변환하는 서버 미들웨어
를 더 포함하는, 클라우드 웹 서버.
According to claim 1,
Server middleware that converts web applications to JavaScript applications to provide home portals and applications through the command method
Cloud web server, which further comprises.
제 2 항에 있어서,
상기 서버 미들웨어는,
헤드엔드 레거시(H/E Legacy) 시스템과의 연동을 통해 웹 어플리케이션의 리스트 및 상기 웹 어플리케이션의 데이터를 수신하는 데이터 캐쉬;
상기 웹 어플리케이션을 자바 스크립트 어플리케이션으로 변환하는 컨버젼 모듈;
상기 변환된 자바 스크립트 어플리케이션을 관리하고, 상기 어플리케이션 플랫폼으로 배포하는 어플리케이션 매니저; 및
상기 어플리케이션 플랫폼으로부터 수신한 데이터를 관리하는 리소스 모듈
을 포함하는 것인, 클라우드 웹 서버.
According to claim 2,
The server middleware,
A data cache for receiving a list of web applications and data of the web applications through interworking with a headend legacy (H/E Legacy) system;
A conversion module for converting the web application to a javascript application;
An application manager that manages the converted JavaScript application and distributes it to the application platform; And
Resource module for managing data received from the application platform
That includes, a cloud web server.
제 1 항에 있어서,
상기 홈포털 및 어플리케이션의 인터페이스(UI) 에이피아이(API, application programming interface)를 제공하는 클라우드 라이브러리
를 더 포함하는, 클라우드 웹 서버.
According to claim 1,
Cloud library that provides application programming interface (API) of the home portal and application (UI)
Cloud web server, which further comprises.
제 1 항에 있어서,
상기 어플리케이션 플랫폼에서 제공되는 상기 홈포털 및 어플리케이션은 자바(Java)로 제공되는 자바 스크립트 홈포털 및 자바 스크립트 어플리케이션인 것인, 클라우드 웹 서버.
According to claim 1,
The home portal and the application provided by the application platform is a JavaScript home portal and a JavaScript application provided in Java, a cloud web server.
제 1 항에 있어서,
상기 클라우드 엔진은 자바 기반의 노드 제이에스(Node.js)를 이용하여 상기 드로우 오브젝트를 생성하는 것인, 클라우드 웹 서버.
According to claim 1,
The cloud engine is to generate the draw object using a Java-based Node JS (Node.js), cloud web server.
제 4 항에 있어서,
상기 클라우드 엔진은 상기 클라우드 라이브러리를 호출하여, 상기 인터페이스 에이피아이를 이용하여 상기 드로우 오브젝트를 생성하는 것인, 클라우드 웹 서버.
The method of claim 4,
The cloud engine calls the cloud library to generate the draw object using the interface api, cloud web server.
삭제delete 제 3 항에 있어서,
상기 어플리케이션 매니저는 상기 자바 스크립트 어플리케이션의 리소스 정보를 상기 셋톱 박스로 전송하는 것인, 클라우드 웹 서버.
The method of claim 3,
The application manager is to transmit the resource information of the JavaScript application to the set-top box, cloud web server.
제 1 항에 있어서,
상기 클라우드 엔진은 상기 홈포털 및 어플리케이션의 각 화면에 포함된 복수의 이미지 각각을 노드로하는 드로우 오브젝트 트리를 생성하고, 상기 각 노드에 대한 드로우 오브젝트를 생성하는 드로우 오브젝트 트리 관리부; 및
상기 각 노드에 대한 드로우 오브젝트를 상기 셋톱 박스로 전송하여 상기 셋톱 박스의 드로우 오브젝트 트리를 업데이트시키는 드로우 오브젝트 트리 데이터 송수신부
를 포함하는 것인, 클라우드 웹 서버.
According to claim 1,
The cloud engine may include a draw object tree management unit that generates a draw object tree using each of a plurality of images included in each screen of the home portal and the application as a node, and a draw object for each node; And
A draw object tree data transmitting and receiving unit for transmitting a draw object for each node to the set top box to update the draw object tree of the set top box
That includes, a cloud web server.
제 10 항에 있어서,
상기 드로우 오브젝트 트리는 정적(Static) 트리로서 복수의 제 1 서브 트리 및 가변(Variable) 트리로서 복수의 제 2 서브 트리를 포함하고,
상기 제 2 서브 트리는 상기 드로우 오브젝트 트리의 최하위에 위치하는 복수의 엣지(edge) 노드를 포함하는 노드를 최상위 노드로 하는 것인, 클라우드 웹 서버.
The method of claim 10,
The draw object tree includes a plurality of first subtrees as a static tree and a plurality of second subtrees as a variable tree,
The second sub-tree is a node including a plurality of edge nodes located at the bottom of the draw object tree as a top node.
제 11 항에 있어서,
상기 드로우 오브젝트 트리 관리부는 상기 각 화면의 복잡도를 계산하고, 상기 각 화면의 복잡도가 기설정된 값 이상인 경우, 상기 복수의 제 2 서브 트리를 상기 업데이트를 위한 서브 트리로 결정하고,
상기 드로우 오브젝트 트리 데이터 송수신부는 상기 복수의 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트를 상기 셋톱 박스로 전송하는 것인, 클라우드 웹 서버.
The method of claim 11,
The draw object tree management unit calculates the complexity of each screen, and when the complexity of each screen is greater than or equal to a preset value, determines the plurality of second sub trees as subtrees for the update,
The draw object tree data transmitting and receiving unit transmits a draw object for each node of the plurality of second sub trees to the set-top box, a cloud web server.
제 12 항에 있어서,
상기 드로우 오브젝트 트리 관리부는 상기 각 제 2 서브 트리에 포함된 엣지 노드의 수에 기초하여 상기 각 제 2 서브 트리에 대한 드로우 오브젝트의 전송 순서 및 전송 횟수를 결정하고,
상기 드로우 오브젝트 트리 데이터 송수신부는 상기 전송 순서 및 전송 횟수에 기초하여 상기 복수의 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트를 상기 셋톱 박스로 전송하는 것인, 클라우드 웹 서버.
The method of claim 12,
The draw object tree management unit determines a transmission order and a number of transmission times of a draw object for each second sub tree based on the number of edge nodes included in each second sub tree,
The draw object tree data transmitting and receiving unit transmits a draw object for each node of the plurality of second sub trees to the set-top box based on the transmission order and the number of transmission times.
제 12 항에 있어서,
상기 각 화면의 복잡도는 상기 각 화면의 이미지의 사이즈, 상기 엣지 노드의 개수, 상기 각 노드에 대한 가중치 및 상기 각 노드에 해당하는 이미지의 특성에 기초하여 결정되는 것인, 클라우드 웹 서버.
The method of claim 12,
The complexity of each screen is determined based on the size of the image of each screen, the number of edge nodes, weights for each node, and characteristics of the image corresponding to each node.
제 10 항에 있어서,
상기 드로우 오브젝트 트리 관리부는 상기 셋톱 박스의 성능에 기초하여 상기 업데이트를 위한 커맨드(Command)의 수를 결정하고,
상기 드로우 오브젝트 트리 데이터 송수신부는 상기 각 노드에 대한 드로우 오브젝트를 상기 결정된 커맨드의 수씩 분할하고, 분할된 드로우 오브젝트를 기설정된 시간 간격으로 전송하는 것인, 클라우드 웹 서버.
The method of claim 10,
The draw object tree management unit determines the number of commands for the update based on the performance of the set-top box,
The draw object tree data transmitting and receiving unit divides the draw objects for each node by the determined number of commands, and transmits the divided draw objects at predetermined time intervals.
커맨드(Command) 방식의 클라우드 아이피티브이 서비스를 제공하는 셋톱 박스에 있어서,
클라우드 웹 서버와 연동하여 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트를 수신하는 클라우드 어댑터;
그래픽 프레임 워크를 제공하는 그래픽 라이브러리; 및
상기 그래픽 라이브러리를 호출하고 상기 그래픽 프레임 워크를 통해 상기 드로우 오브젝트를 드로잉하여 상기 홈포털 및 어플리케이션의 각 화면을 출력하는 클라우드 클라이언트
를 포함하고,
상기 드로우 오브젝트는 삽입될 그래픽의 URL(uniform resource locator), 삽입될 텍스트, 상기 그래픽 및 텍스트의 위치 정보 및 비율 정보 중 적어도 하나를 포함하고,
상기 클라우드 클라이언트는 상기 드로우 오브젝트에 기초하여 상기 홈포털 및 어플리케이션에 대한 그래픽 작업을 수행하는 것인, 셋톱 박스.
In a set-top box providing a command-based Cloud IPT service,
A cloud adapter that receives a command type draw object of a home portal and an application in conjunction with a cloud web server;
A graphics library providing a graphics framework; And
A cloud client that calls the graphic library and draws the draw object through the graphic framework to output each screen of the home portal and application
Including,
The draw object includes at least one of a URL (uniform resource locator) of a graphic to be inserted, text to be inserted, location information and ratio information of the graphic and text,
The cloud client performs a graphic operation on the home portal and application based on the draw object, a set-top box.
제 16 항에 있어서,
상기 홈포털 및 어플리케이션의 라이프 사이클 및 세션 정보를 관리하는 어플리케이션 매니저
를 더 포함하는, 셋톱 박스.
The method of claim 16,
Application manager to manage the life cycle and session information of the home portal and application
Further comprising, a set-top box.
제 16 항에 있어서,
상기 그래픽 라이브러리는 오픈 지엘 라이브러리(Open GL Library)인 것인, 셋톱 박스.
The method of claim 16,
The graphic library is an Open GL Library, a set-top box.
제 17 항에 있어서,
상기 어플리케이션 매니저는 상기 클라우드 웹 서버로부터 상기 어플리케이션의 리소스 정보를 수신하는 것인, 셋톱 박스.
The method of claim 17,
The application manager is to receive the resource information of the application from the cloud web server, a set-top box.
제 17 항에 있어서,
상기 어플리케이션 매니저는 상기 드로우 오브젝트에 기초하여 어플리케이션 서버로부터 데이터를 수신하는 것인, 셋톱 박스.
The method of claim 17,
The application manager receives data from an application server based on the draw object, a set-top box.
제 16 항에 있어서,
상기 홈포털 및 어플리케이션은 자바(Java)로 제공되는 자바 스크립트 홈포털 및 자바 스크립트 어플리케이션인 것인, 셋톱 박스.
The method of claim 16,
The home portal and application is a JavaScript home portal and a JavaScript application provided in Java, a set-top box.
삭제delete 제 16 항에 있어서,
상기 드로우 오브젝트는 자바 기반의 노드 제이에스(Node.js)를 이용하여 생성된 것인, 셋톱 박스.
The method of claim 16,
The draw object is a set-top box that is created using a Java-based node JS (Node.js).
제 16 항에 있어서,
상기 클라우드 어댑터는 상기 클라우드 웹 서버로부터 상기 홈포털 및 어플리케이션의 각 화면에 포함된 복수의 이미지 각각을 노드로하는 드로우 오브젝트 트리의 상기 각 노드에 대한 드로우 오브젝트를 수신하는 드로우 오브젝트 트리 데이터 송수신부; 및
상기 드로우 오브젝트 트리를 생성하고, 상기 각 노드에 대한 드로우 오브젝트에 기초하여 상기 드로우 오브젝트 트리를 업데이트하는 드로우 오브젝트 트리 관리부
를 포함하는 것인, 셋톱 박스.
The method of claim 16,
The cloud adapter includes a draw object tree data transmitting and receiving unit for receiving draw objects for each node of the draw object tree, each of which includes a plurality of images included in each screen of the home portal and the application from the cloud web server; And
The draw object tree management unit generates the draw object tree and updates the draw object tree based on the draw object for each node.
That includes, a set-top box.
제 24 항에 있어서,
상기 드로우 오브젝트 트리는 정적(Static) 트리로서 복수의 제 1 서브 트리 및 가변(Variable) 트리로서 복수의 제 2 서브 트리를 포함하고,
상기 제 2 서브 트리는 상기 드로우 오브젝트 트리의 최하위에 위치하는 복수의 엣지(edge) 노드를 포함하는 노드를 최상위 노드로 하는 것인, 셋톱 박스.
The method of claim 24,
The draw object tree includes a plurality of first subtrees as a static tree and a plurality of second subtrees as a variable tree,
The second sub-tree is a set-top box in which a node including a plurality of edge nodes positioned at the bottom of the draw object tree is a top node.
제 25 항에 있어서,
상기 드로우 오브젝트 트리 데이터 송수신부는 상기 업데이트를 위한 상기 복수의 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트를 수신하고,
상기 드로우 오브젝트 트리 관리부는 상기 복수의 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트에 기초하여 상기 드로우 오브젝트 트리 중 상기 제 2 서브 트리를 업데이트하는 것인, 셋톱 박스.
The method of claim 25,
The draw object tree data transmitting and receiving unit receives a draw object for each node of the plurality of second sub trees for the update,
The draw object tree management unit updates the second sub tree among the draw object trees based on a draw object for each node of the plurality of second sub trees.
제 26 항에 있어서,
상기 클라우드 클라이언트는 상기 각 화면의 최초 로딩 시에 상기 각 노드에 대한 드로우 오브젝트를 드로잉하여 상기 각 화면을 출력하고,
상기 제 2 서브 트리가 업데이트된 경우 상기 업데이트된 제 2 서브 트리의 각 노드에 대한 드로우 오브젝트만을 드로잉하여 상기 각 화면을 변경하는 것인, 셋톱 박스.
The method of claim 26,
The cloud client outputs each screen by drawing a draw object for each node upon initial loading of each screen,
If the second sub-tree is updated, the set-top box is to change the respective screens by drawing only draw objects for each node of the updated second sub-tree.
커맨드(Command) 방식의 클라우드 아이피티브이 서비스 제공 시스템에 있어서,
클라우드 웹 서버; 및
셋톱 박스
를 포함하되,
상기 클라우드 웹 서버는,
아이피티브이 서비스를 위한 기능을 제공하는 홈포털 및 어플리케이션을 제공하는 어플리케이션 플랫폼;
상기 홈포털 및 어플리케이션의 상태를 관리하고 제어하는 클라우드 컨트롤러;
상기 홈포털 및 어플리케이션의 커맨드 방식의 드로우 오브젝트(Draw Object)를 생성하는 클라우드 엔진; 및
상기 드로우 오브젝트를 상기 셋톱 박스로 전송하는 클라우드 에이전트
를 포함하고,
상기 셋톱 박스는,
상기 클라우드 웹 서버와 연동하여 상기 드로우 오브젝트를 수신하는 클라우드 어댑터;
그래픽 프레임 워크를 제공하는 그래픽 라이브러리; 및
상기 그래픽 라이브러리를 호출하고 상기 그래픽 프레임 워크를 통해 상기 드로우 오브젝트를 드로잉 및 출력하는 클라우드 클라이언트
를 포함하고,
상기 드로우 오브젝트는 삽입될 그래픽의 URL(uniform resource locator), 삽입될 텍스트, 상기 그래픽 및 텍스트의 위치 정보 및 비율 정보 중 적어도 하나를 포함하고,
상기 클라우드 클라이언트는 상기 드로우 오브젝트에 기초하여 상기 홈포털 및 어플리케이션에 대한 그래픽 작업을 수행하는 것인, 시스템.
In the command-based Cloud IPTV service providing system,
Cloud web server; And
Set top box
Including,
The cloud web server,
An application platform that provides home portals and applications that provide functions for IPTV services;
A cloud controller that manages and controls the status of the home portal and application;
A cloud engine generating a draw object of a command method of the home portal and the application; And
Cloud agent sending the draw object to the set-top box
Including,
The set-top box,
A cloud adapter that receives the draw object in conjunction with the cloud web server;
A graphics library providing a graphics framework; And
Cloud client that calls the graphic library and draws and outputs the draw object through the graphic framework
Including,
The draw object includes at least one of a URL (uniform resource locator) of a graphic to be inserted, text to be inserted, location information and ratio information of the graphic and text,
The cloud client is to perform a graphic operation for the home portal and the application based on the draw object, the system.
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 KR20170028838A (en) 2017-03-14
KR102140497B1 true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (2)

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

Also Published As

Publication number Publication date
KR20170028838A (en) 2017-03-14

Similar Documents

Publication Publication Date Title
US11144711B2 (en) Webpage rendering method, device, electronic apparatus and storage medium
US9582600B1 (en) Cloud browser DOM-based client
US10353718B2 (en) Providing access to a remote application via a web client
US20140096014A1 (en) Method for enabling dynamic client user interfaces on multiple platforms from a common server application via metadata
US20130066947A1 (en) System and Method for Managing Applications for Multiple Computing Endpoints and Multiple Endpoint Types
EP2903241B1 (en) Compression of serialized data for communication from a client-side application
US20090085921A1 (en) Populate Web-Based Content Based on Space Availability
CN107247544A (en) Use interaction figure picture optimization software application user interface capabilities
US8994748B2 (en) Anchors for displaying image sprites, sub-regions and 3D images
CA2809671A1 (en) Application support for network devices
US20150222493A1 (en) Dynamic streaming content provided by a client-side application
US9740791B1 (en) Browser as a service
US20150222693A1 (en) Throttled scanning for optimized compression of network communicated data
CN110633436A (en) Visualization and user-defined panorama editing method, system, storage medium and equipment
CA2846581A1 (en) Data infrastructure for providing interconnectivity between platforms, devices and operating systems
JP2023537767A (en) Image processing method and apparatus, and computer-readable storage medium
KR102140497B1 (en) Cloud web server for providing cloud iptv service based on command method, system and set-top box
CN114168853A (en) Data visualization display method, device, medium and electronic equipment
CN112764746B (en) Data processing method, device, electronic equipment and storage medium
CN113342450B (en) Page processing method, device, electronic equipment and computer readable medium
CN114817794A (en) Webpage content control method, device, equipment and medium
US10728190B2 (en) Form based user interactions via messaging channels
US8291311B2 (en) Web display program conversion system, web display program conversion method and program for converting web display program
US20230359688A1 (en) Webpage rendering method and apparatus, device, and storage medium
CN117193210A (en) Industrial control process data processing method, device and equipment based on web and storage medium

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