KR102039593B1 - Apparatus and method for managing service - Google Patents

Apparatus and method for managing service Download PDF

Info

Publication number
KR102039593B1
KR102039593B1 KR1020170153952A KR20170153952A KR102039593B1 KR 102039593 B1 KR102039593 B1 KR 102039593B1 KR 1020170153952 A KR1020170153952 A KR 1020170153952A KR 20170153952 A KR20170153952 A KR 20170153952A KR 102039593 B1 KR102039593 B1 KR 102039593B1
Authority
KR
South Korea
Prior art keywords
application
development environment
application unit
app
development
Prior art date
Application number
KR1020170153952A
Other languages
Korean (ko)
Other versions
KR20190056709A (en
Inventor
곽민석
이항복
Original Assignee
에스케이브로드밴드주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이브로드밴드주식회사 filed Critical 에스케이브로드밴드주식회사
Priority to KR1020170153952A priority Critical patent/KR102039593B1/en
Publication of KR20190056709A publication Critical patent/KR20190056709A/en
Application granted granted Critical
Publication of KR102039593B1 publication Critical patent/KR102039593B1/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/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
    • H04N21/47202End-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 for requesting content on demand, e.g. video on demand
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV

Abstract

본 발명은, 특정서비스와 관련된 애플리케이션이 응용프로그램 단위로 동작하는 컨테이너(이하, 응용단위앱)로 구현되도록 함으로써, 개발환경이 상이하더라도 최적화된 개발처리과정이 수행될 수 있도록 하는, 새로운 PaaS 기반의 응용단위앱을 통한 IPTV 서비스 관리 기술을 개시하고 있다.The present invention allows an application related to a specific service to be implemented in a container (hereinafter referred to as an application unit) that operates in an application unit, so that an optimized development process can be performed even if the development environment is different. It is launching IPTV service management technology through application unit app.

Description

서비스 관리를 위한 장치 및 방법{APPARATUS AND METHOD FOR MANAGING SERVICE}Apparatus and method for service management {APPARATUS AND METHOD FOR MANAGING SERVICE}

본 발명은 PaaS(Platform as a Service) 기반으로 IPTV 서비스를 관리하는 기술에 관한 것으로, 보다 상세하게는 특정서비스와 관련된 애플리케이션이 응용프로그램 단위로 동작하는 컨테이너(이하, 응용단위앱)로 구현되도록 함으로써, 개발환경이 상이하더라도 최적화된 개발처리과정이 수행될 수 있도록 하는, 새로운 PaaS 기반의 응용단위앱을 통한 IPTV 서비스 관리 방안에 관한 것이다.The present invention relates to a technology for managing an IPTV service based on a platform as a service (PaaS), and more specifically, by allowing an application related to a specific service to be implemented as a container (hereinafter referred to as an application unit app) operating in an application unit. In this regard, the present invention relates to an IPTV service management method through a new PaaS-based application unit app that enables an optimized development process to be performed even if the development environment is different.

일반적인 IPTV 서비스를 제공하는 IPTV 플랫폼은, 물리 서버 기반으로 구현되어 있으며, 각 서버 별로 환경구성이 상이하여 애플리케이션(Application)의 업데이트나 신규 기능 추가에 많은 시간이 소요된다.IPTV platform that provides general IPTV service is implemented based on the physical server, and the configuration of each server is different, so it takes a lot of time to update the application or add new functions.

이에, 이러한 문제를 해소하기 위해 일부 IaaS(Infra as a Service)를 활용하여 하드웨어(예: CPU, Memory, Disk)를 가상화하여 사용하고 있으나, 운영체계(Operating system)와 런타임(Runtime) 환경이 애플리케이션 별로 상이하여 개발 및 운용(이하, 개발처리과정)에 복잡도가 증가하는 문제가 있다. In order to solve this problem, hardware (eg CPU, Memory, Disk) is virtualized using some infrastructure as a service (IaaS), but operating system and runtime environment are used for application. There is a problem of increasing complexity in development and operation (hereinafter, referred to as development process).

즉, 기존 IaaS를 활용하여 하드웨어 일부만을 가상화하여 사용하거나, 물리 서버에서 애플리케이션을 운영하는 환경에서는, 다수의 서버에서 운용중인 애플리케이션을 관리(예: 테스트, 업데이트 및 롤백 등)하기 어려운 한계점이 존재한다. In other words, in an environment where only a part of hardware is virtualized using an existing IaaS or an application is operated on a physical server, there are limitations in managing an application running on multiple servers (eg, test, update, and rollback). .

따라서, 본 발명은, PaaS(Platform as a Service)에서 제공하는 응용프로그램 단위로 동작하는 컨테이너(이하, 응용단위앱)를 기반으로 특정서비스와 관련된 애플리케이션이 개발되도록 함으로써, 개발환경이 상이하더라도 최적화된 개발처리과정이 수행될 수 있도록 하는, 새로운 PaaS 기반의 응용단위앱을 통한 IPTV 서비스 관리 방안을 제안하고자 한다. Therefore, the present invention is optimized even if the development environment is different by allowing an application related to a specific service to be developed based on a container (hereinafter referred to as an application unit app) operating in an application unit provided by PaaS (Platform as a Service). This paper proposes a new IPA service management plan through a new PaaS-based application unit app that enables the development process to be performed.

본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, 특정서비스와 관련된 애플리케이션이 응용프로그램 단위로 동작하는 컨테이너(이하, 응용단위앱)로 구현되도록 함으로써, 개발환경이 상이하더라도 최적화된 개발처리과정이 수행될 수 있도록 하는, 새로운 PaaS 기반의 응용단위앱을 통한 IPTV 서비스 관리 방안이 실현되도록 하는데 있다.The present invention has been created in view of the above circumstances, and an object of the present invention is to provide a development environment by allowing an application related to a specific service to be implemented as a container (hereinafter referred to as an application unit app) operating in an application program unit. Even if it is different, IPTV service management method through new PaaS-based application unit app, which enables optimized development process, can be realized.

상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 서비스관리장치는, 특정플랫폼 상에서 특정서비스와 관련된 애플리케이션이 응용단위앱으로 생성되도록 제어하는 생성제어부; 및 상기 응용단위앱이 적용된 개발환경을 확인한 결과를 기반으로 상기 응용단위앱과 관련되는 개발처리과정이 수행되도록 제어하는 수행제어부를 포함하는 것을 특징으로 한다.Service management apparatus according to the first aspect of the present invention for achieving the above object, the generation control unit for controlling the application associated with the specific service is generated as an application unit on a specific platform; And a performance control unit for controlling a development process related to the application unit app based on a result of confirming the development environment to which the application unit app is applied.

상기 응용단위앱은, 상기 애플리케이션과 관련된 적어도 하나의 응용프로그램에 대응하여 생성되는 것을 특징으로 한다.The application unit app is characterized in that it is generated corresponding to at least one application program associated with the application.

상기 생성제어부는, 상기 응용프로그램의 개수를 기반으로 상기 응용단위앱을 생성하는 것을 특징으로 한다.The generation control unit may generate the application unit app based on the number of application programs.

상기 수행제어부는, 상기 개발환경이 상기 응용단위앱의 해당 응용프로그램을 통해 마이크로서비스를 제공하는 제1 개발환경인 경우, 상기 응용단위앱의 해당 응용프로그램이 각각 특정 기능에 해당하는 마이크로서비스를 제공하도록 하는 제1 개발처리과정이 수행되도록 제어하는 것을 특징으로 한다.When the development environment is a first development environment that provides a microservice through a corresponding application program of the application unit app, the corresponding application program of the application unit app provides a microservice corresponding to each specific function. And controlling the first development process to be performed.

상기 수행제어부는, 상기 개발환경이 상기 애플리케이션의 부하증감을 관리하는 제2 개발환경인 경우, 부하증가 시에는 상기 응용단위앱 이외의 신규 응용단위앱이 생성되도록 제어하며, 부하감소 시에는 상기 응용단위앱 및 상기 신규 응용단위앱 중 적어도 하나가 제거되도록 하는 제2 개발처리과정이 수행되도록 제어하는 것을 특징으로 한다.When the development environment is a second development environment that manages the load increase and decrease of the application, the performance control unit controls to generate a new application unit app other than the application unit app when the load increases, and when the load decreases the application. And control the second development process to remove at least one of the unit app and the new application unit app.

상기 수행제어부는, 상기 개발환경이 상기 응용단위앱의 해당 응용프로그램을 업데이트하는 제3 개발환경인 경우, 상기 응용단위앱의 해당 응용프로그램이 업데이트와 관련되어 개발, 검증, 배포되도록 하는 제3 개발처리과정이 수행되도록 제어하는 것을 특징으로 한다.The execution control unit, when the development environment is a third development environment for updating the corresponding application of the application unit app, the third development for the corresponding application of the application unit app to be developed, verified, distributed in connection with the update Characterized in that the control process is performed.

상기 수행제어부는, 상기 개발환경이 상기 업데이트에 따른 사용자반응과 관련되는 테스트를 수행하는 제4 개발환경인 경우, 상기 테스트를 수행하는 사용자의 식별번호를 확인한 결과를 기반으로 상기 사용자반응을 확인하려는 해당 응용단위앱이 해당 사용자에게 제공되도록 하는 제4 개발처리과정이 수행되도록 제어하는 것을 특징으로 한다.The performance control unit, if the development environment is a fourth development environment for performing a test related to the user response according to the update, to check the user response based on the result of confirming the identification number of the user performing the test And control the fourth development process to allow the application unit app to be provided to the user.

상기 수행제어부는, 상기 개발환경이 상기 업데이트에 따른 서비스변경결과를 사용자의 셋탑박스로 제공하는 제5 개발환경인 경우, 상기 셋탑박스로부터 웹브라우져를 통해 상기 서비스변경결과가 요청되면, 상기 서비스변경결과가 상기 셋탑박스로 전송되도록 하는 제5 개발처리과정이 수행되도록 제어하는 것을 특징으로 한다.When the development environment is a fifth development environment in which the development environment provides a service change result according to the update to the user's set-top box, when the service change result is requested from the set-top box through a web browser, the service change is performed. And a fifth development process for transmitting a result to the set-top box.

상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 서비스관리장치의 동작 방법은, 특정플랫폼 상에서 특정서비스와 관련된 애플리케이션이 응용단위앱으로 생성되도록 제어하는 생성제어단계; 및 상기 응용단위앱이 적용된 개발환경을 확인한 결과를 기반으로 상기 응용단위앱과 관련되는 개발처리과정이 수행되도록 제어하는 수행제어단계를 포함하는 것을 특징으로 한다.A method of operating a service management apparatus according to a second aspect of the present invention for achieving the above object comprises: a generation control step of controlling an application related to a specific service to be generated as an application unit app on a specific platform; And a performance control step of controlling a development process related to the application unit app to be performed based on a result of confirming the development environment to which the application unit app is applied.

상기 응용단위앱은, 상기 애플리케이션과 관련된 적어도 하나의 응용프로그램에 대응하여 생성되는 것을 특징으로 한다.The application unit app is characterized in that it is generated corresponding to at least one application program associated with the application.

상기 개발환경은, 상기 응용단위앱의 해당 응용프로그램을 통해 마이크로서비스를 제공하는 제1 개발환경과, 상기 애플리케이션의 부하증감을 관리하는 제2 개발환경과, 상기 응용단위앱의 해당 응용프로그램을 업데이트하는 제3 개발환경과, 상기 업데이트에 따른 사용자반응과 관련되는 테스트를 수행하는 제4 개발환경과, 상기 업데이트에 따른 해당 서비스변경결과를 사용자의 셋탑박스로 제공하는 제5 개발환경 중 적어도 하나를 포함하는 것을 특징으로 한다.The development environment may include: a first development environment providing microservices through a corresponding application program of the application unit app; a second development environment managing load increase / decrease of the application; and a corresponding application program of the application unit app. At least one of a third development environment for performing the test, a fourth development environment for performing a test related to the user response according to the update, and a fifth development environment for providing a corresponding service change result according to the update to the user's set-top box. It is characterized by including.

상기 수행제어부단계, 상기 개발환경이 제1 개발환경인 경우, 상기 응용단위앱의 해당 응용프로그램이 각각 특정 기능에 해당하는 마이크로서비스를 제공하도록 하는 제1 개발처리과정이 수행되도록 제어하는 단계; 상기 개발환경이 제2 개발환경인 경우, 부하증가 시에는 상기 응용단위앱 이외의 신규 응용단위앱이 생성되도록 제어하며, 부하감소 시에는 상기 응용단위앱 및 상기 신규 응용단위앱 중 적어도 하나가 제거되도록 하는 제2 개발처리과정이 수행되도록 제어하는 단계; 상기 개발환경이 제3 개발환경인 경우, 상기 응용단위앱의 해당 응용프로그램이 업데이트와 관련되어 개발, 검증, 배포되도록 하는 제3 개발처리과정이 수행되도록 제어하는 단계; 상기 개발환경이 제4 개발환경인 경우, 상기 테스트를 수행하는 사용자의 식별번호를 확인한 결과를 기반으로 상기 사용자반응을 확인하려는 해당 응용단위앱위앱이 해당 사용자에게 제공되도록 하는 제4 개발처리과정이 수행되도록 제어하는 단계; 및 상기 개발환경이 제5 개발환경인 경우, 상기 셋탑박스로부터 웹브라우져를 통해 상기 서비스변경결과가 요청되면, 상기 서비스변경결과가 상기 셋탑박스로 전송되도록 하는 제5 개발처리과정이 수행되도록 제어하는 단계 중 적어도 하나를 포함하는 것을 특징으로 한다.The execution control unit step, if the development environment is a first development environment, controlling a first development process to perform a microservice corresponding to a specific function of a corresponding application program of the application unit app, respectively; When the development environment is the second development environment, when the load increases, the new application unit app other than the application unit app is controlled to be generated, and when the load decreases, at least one of the application unit app and the new application unit app is removed. Controlling a second development process to be performed; If the development environment is a third development environment, controlling a third development process for developing, verifying, and distributing a corresponding application of the application unit app to be updated; If the development environment is a fourth development environment, a fourth development process for providing the corresponding application unit app wee app to check the user response based on the result of confirming the identification number of the user performing the test is provided to the user Controlling to be performed; And if the development environment is a fifth development environment, when the service change result is requested from the set top box through a web browser, controlling the fifth development process to transmit the service change result to the set top box. Characterized in that it comprises at least one of the steps.

이에, 본 발명에 따른 서비스 관리를 위한 장치 및 방법에 의하면, 특정서비스와 관련된 애플리케이션이 응용프로그램 단위로 동작하는 컨테이너(이하, 응용단위앱)로 구현되도록 함으로써, 개발환경이 상이하더라도 최적화된 개발처리과정이 수행될 수 있게 됨에 따라 서비스 중단 없이 다수의 서버에서 운용중인 애플리케이션을 관리, 즉 애플리케이션 업데이트, 신규 서비스 기능의 추가, 사용자반응 테스트, 및 부하에 따른 애플리케이션들의 자동 증감(scale out/in), 헤드엔드(Head-end)의 서비스변경결과 즉시 제공 등을 용이하게 수행할 수 있어 보다 유연한 서비스를 제공할 수 있는 효과를 도출한다.Therefore, according to the apparatus and method for service management according to the present invention, the application related to a specific service is implemented in a container (hereinafter, an application unit app) that operates in the application unit, the development process optimized even if the development environment is different As the process can be performed, it can manage applications running on multiple servers without service interruptions, such as application updates, addition of new service functions, user response testing, and automatic scale out / in of applications under load. As the result of service change of the head-end can be easily provided immediately, the effect of providing more flexible service is derived.

도 1은 본 발명의 실시예에 따른 서비스관리장치가 적용되는 통신구조의 일례를 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 서비스관리장치의 구성을 나타내는 블록도이다.
도 3은 본 발명의 실시예에 따른 개발처리과정과 관련되는 다양한 예시를 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른 통신구조 내 구성들에 의한 동작흐름을 나타내는 순서도이다.
1 is a diagram illustrating an example of a communication structure to which a service management apparatus according to an embodiment of the present invention is applied.
2 is a block diagram showing the configuration of a service management apparatus according to an embodiment of the present invention.
3 is a view showing various examples related to the development process according to an embodiment of the present invention.
4 is a flowchart illustrating an operation flow by components in a communication structure according to an embodiment of the present invention.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It is to be noted that the technical terms used herein are merely used to describe particular embodiments, and are not intended to limit the present invention. In addition, the technical terms used in the present specification should be interpreted as meanings generally understood by those skilled in the art unless they are specifically defined in this specification, and are overly inclusive. It should not be interpreted in the sense of or in the sense of being excessively reduced. In addition, when the technical terms used herein are incorrect technical terms that do not accurately represent the spirit of the present invention, it should be replaced with technical terms that can be understood correctly by those skilled in the art. In addition, the general terms used in the present invention should be interpreted as defined in the dictionary or according to the context before and after, and should not be interpreted in an excessively reduced sense.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 명세서의 실시예에 대하여 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, and the same or similar components will be given the same reference numerals regardless of the reference numerals, and redundant description thereof will be omitted. In addition, in describing the present invention, when it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings.

이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대하여 설명한다. Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention.

도 1은 본 발명의 실시예에 따른 서비스관리장치가 적용되는 통신구조를 보여주고 있다. 1 shows a communication structure to which a service management apparatus according to an embodiment of the present invention is applied.

도 1에 도시된 바와 같이, 본 발명이 적용될 통신 환경은, 클라우드(Cloud) 기술 중 PaaS(Platform as a Service)(이하, 특정플랫폼) 기반으로 IPTV 서비스를 관리(제공)하기 위한 시스템 환경일 수 있으며, 개발자단말(100), 사용자단말(200) 및 서비스관리장치(300)를 포함하는 구성을 가질 수 있다.As shown in FIG. 1, the communication environment to which the present invention is applied may be a system environment for managing (providing) an IPTV service based on a platform as a service (PaaS) (hereinafter, referred to as a specific platform) among cloud technologies. And, it may have a configuration including a developer terminal 100, a user terminal 200 and the service management device (300).

개발자단말(100)은, IPTV 서비스를 제공하기 위해 특정플랫폼(PaaS) 상에서 특정서비스(예: VoD)와 관련된 애플리케이션이 생성될 수 있도록, 애플리케이션과 관련되는 개발결과정보를 생성하는 단말일 수 있다.The developer terminal 100 may be a terminal that generates development result information related to an application so that an application related to a specific service (eg, VoD) may be generated on a specific platform (PaaS) to provide an IPTV service.

여기서, 특정플랫폼(PaaS)은, 특정서비스(예: VoD)와 관련된 애플리케이션 생성을 위해 서비스관리장치(300)가 개발자에게만 전용으로 제공하는 OS기반 개발전용 가상환경일 수 있다. 이러한, 특정플랫폼(PaaS)을 통해 특정서비스(예: VoD)와 관련된 애플리케이션 생성뿐만 아니라 테스트, 배포, 운영, 장애관리 등과 같은 전반적인 개발처리과정이 지원될 수 있다.Here, the specific platform PaaS may be an OS-based development-only virtual environment provided only by the service management device 300 to a developer for generating an application related to a specific service (eg, VoD). Through such a specific platform (PaaS), not only application generation related to a specific service (eg, VoD) but also overall development process such as test, distribution, operation, and fault management can be supported.

이에, 개발자단말(100)에는, 전반적인 개발과정을 운영할 수 있도록 특정플랫폼(PaaS)과 관련되는 클라이언트 툴(예: PaaS Client Tool, 이하, PaaS툴)이 탑재되는 것이 바람직할 것이다.Accordingly, the developer terminal 100 may be equipped with a client tool (eg PaaS Client Tool, hereinafter PaaS tool) related to a specific platform (PaaS) to operate the overall development process.

사용자단말(200)은, 서비스관리장치(300)와 유선 또는 무선으로 연동하여 특정서비스(예: VoD)를 이용하는 고객의 단말일 수 있으며, 예컨대 스마트폰, 태블릿 PC, PDA, 및 노트북, 셋탑박스 등과 같이 서비스관리장치(300)와 연동하여 IPTV 서비스를 제공할 수 있는 장치는 모두 포함될 수 있을 것이다. The user terminal 200 may be a terminal of a customer using a specific service (for example, VoD) by interworking with the service management apparatus 300 by wire or wirelessly, for example, a smartphone, a tablet PC, a PDA, a laptop, a set-top box. Such devices that can provide IPTV services in conjunction with the service management device 300 may be included.

서비스관리장치(300)는, 개발자가 특정서비스(예: VoD)와 관련된 애플리케이션을 생성할 수 있도록 특정플랫폼(PaaS)을 제공하는 한편, IPTV 서비스를 이용하는 사용자에게 특정서비스(예: VoD)와 관련된 애플리케이션에 해당하는 컨텐츠가 제공되도록 전반적인 시스템 운영을 제어하는 장치로서, 특히 본 발명에서 제공하고자 하는 서비스 즉 특정서비스(예: VoD)와 관련된 애플리케이션이 응용프로그램 단위로 동작하는 컨테이너(이하, 응용단위앱)로 구현되도록 함으로써, 개발환경이 상이하더라도 최적화된 개발처리과정이 수행될 수 있도록 하는, 새로운 특정플랫폼(PaaS) 기반의 응용단위앱을 통한 IPTV 서비스 관리 기술이 실현되도록 하는 장치이다.The service management device 300 provides a specific platform (PaaS) so that a developer can create an application related to a specific service (eg, VoD), while providing a user with an IPTV service related to the specific service (eg, VoD). Apparatus for controlling the overall system operation so that the content corresponding to the application is provided, in particular, a container in which an application related to a service that is to be provided by the present invention, that is, a specific service (for example, VoD), operates in an application unit (hereinafter, an application unit app In this way, the IPTV service management technology is realized through a new specific platform (PaaS) based application unit app, which enables the optimized development process to be performed even if the development environment is different.

이와 관련하여, 도 2에는 본 발명의 서비스관리장치(300)의 구성이 보다 구체적으로 도시되어 있다.In this regard, Figure 2 shows the configuration of the service management device 300 of the present invention in more detail.

도 1 및 도 2를 참고하면, 본 발명의 서비스관리장치(300)는, 특정플랫폼(PaaS) 상에서 특정서비스(예: VoD)와 관련된 애플리케이션이 응용단위앱으로 생성되도록 제어하는 생성제어부(310), 및 응용단위앱이 적용된 개발환경을 확인한 결과를 기반으로 응용단위앱과 관련되는 개발처리과정이 수행되도록 제어하는 수행제어부(320)를 포함하는 것을 특징으로 한다.1 and 2, the service management apparatus 300 of the present invention, the generation control unit 310 for controlling an application associated with a specific service (for example, VoD) is generated as an application unit app on a specific platform (PaaS) , And a performance control unit 320 for controlling the development process related to the application unit app based on the result of confirming the development environment to which the application unit app is applied.

또한, 본 발명에 따른 서비스관리장치(300)는, 특정플랫폼(PaaS) 기반의 응용단위앱을 통한 IPTV 서비스가 제공되도록 하기 위해 생성/송수신되는 모든 정보(예: 응용단위앱, 마이크로서비스, 개발처리결과 등)를 저장하는 저장부(330)를 더 포함한다.In addition, the service management apparatus 300 according to the present invention, all the information (for example, application unit app, microservices, development, etc.) generated / transmitted and received in order to provide an IPTV service through a specific platform (PaaS) based application unit app And a storage unit 330 for storing the processing result.

이상의 생성제어부(310), 수행제어부(320) 및 저장부(330)를 포함하는 서비스관리장치(300)의 구성 전체 내지는 적어도 일부는, 프로세서에 의해 실행되는 소프트웨어 모듈 형태 또는 하드웨어 모듈 형태로 구현되거나, 소프트웨어 모듈과 하드웨어 모듈이 조합된 형태로도 구현될 수 있다.The whole or at least part of the configuration of the service management apparatus 300 including the generation controller 310, the performance controller 320, and the storage 330 may be implemented in the form of a software module or a hardware module executed by a processor. For example, the software module and the hardware module may be combined.

결국, 본 발명의 실시예에 따른 서비스관리장치(300)는, 특정플랫폼(PaaS)에서 제공하는 응용프로그램 단위로 동작하는 컨테이너(이하, 응용단위앱)를 기반으로 특정서비스와 관련된 애플리케이션이 개발되도록 함으로써, 개발환경이 상이하더라도 최적화된 개발처리과정이 수행될 수 있도록 하는데, 이하에서는 이를 위한 서비스관리장치(300) 내 각 구성에 대해 구체적으로 설명하기로 한다.As a result, the service management apparatus 300 according to an exemplary embodiment of the present invention may develop an application related to a specific service based on a container (hereinafter, referred to as an application unit app) that operates in an application program unit provided by a specific platform (PaaS). By doing so, the optimized development process can be performed even if the development environment is different. Hereinafter, each component in the service management apparatus 300 for this purpose will be described in detail.

생성제어부(310)는, 특정플랫폼(PaaS) 상에서 특정서비스(예: VoD)와 관련된 애플리케이션이 응용단위앱으로 생성되도록 제어한다.The generation controller 310 controls an application related application (eg, VoD) to be generated as an application unit app on a specific platform (PaaS).

보다 구체적으로, 생성제어부(310)는, 개발자단말(100)로부터 특정서비스(예: VoD)와 관련된 애플리케이션 생성을 위한 개발결과정보가 수신되면, 개발결과정보에는 애플리케이션과 관련되는 다수의 응용프로그램이 포함되어 있을 것이므로, 개발결과정보로부터 다수의 응용프로그램을 확인할 수 있게 된다.More specifically, when the generation control unit 310 receives development result information for generating an application related to a specific service (for example, VoD) from the developer terminal 100, the development result information includes a plurality of application programs related to the application. Since it will be included, a number of applications can be identified from the development result information.

이후, 생성제어부(310)는, 개발결과정보의 다수의 응용프로그램을 특정플랫폼(PaaS)에서 응용 프로그램이 구동되는 단위인 컨테이너(container)에 대응되도록 분리하여 응용단위앱이 생성되도록 제어한다.Thereafter, the generation control unit 310 controls the application unit app to be generated by separating a plurality of application programs of the development result information to correspond to a container, which is a unit in which the application program is driven, on a specific platform PaS.

즉, 생성제어부(310)는, 응용프로그램의 개수를 기반으로 응용단위앱을 생성한다. 예를 들어, 개발결과정보에 포함된 응용프로그램의 개수가 3개이면, 생성제어부(310)는, 응용프로그램의 개수(3)만큼의 응용단위앱을 생성하게 된다. 물론, 이와 달리, 응용프로그램의 조합이나, 운영자의 설정에 따라 응용단위앱의 생성이 달라질 수도 있음은 물론이다.That is, the generation controller 310 generates an application unit app based on the number of application programs. For example, if the number of application programs included in the development result information is three, the generation controller 310 generates an application unit app as many as the number of application programs (3). Of course, unlike this, the generation of the application unit app may vary depending on the combination of the application program and the setting of the operator.

결국, 응용단위앱은, 특정서비스(예: VoD)의 애플리케이션과 관련된 적어도 하나의 응용프로그램에 대응하여 컨테이너(container) 상에 생성된다. 즉, 컨테이너(container) 별로 서로 다른 응용프로그램이 탑재되어 독립적인 응용단위앱으로 동작하게 된다.As a result, the application unit app is generated on the container corresponding to at least one application program associated with an application of a specific service (eg, VoD). In other words, different applications are loaded for each container to operate as an independent application unit app.

이처럼 컨테이너(container) 상에 응용단위앱이 구현될 수 있도록 하기 위해서는, 운영체계(Operating system)와 런타임(Runtime) 환경 등이 IaaS(Infra as a Service) 상에 구비되어야 하며, 이에 기존과 달리 특정서비스(예: VoD)의 애플리케이션이 가지고 있는 시스템 종속성(Configuration, run time 환경 등)이 제거될 수 있어 응용단위앱의 독립성을 보장할 수 있게 되는 것이다.In order to allow an application unit app to be implemented on a container as described above, an operating system and a runtime environment must be provided on an IaaS (Infra as a Service). System dependencies (Configuration, run time environment, etc.) of the service (e.g. VoD) application can be removed, thereby ensuring the independence of the application unit app.

전술에 따라 응용단위앱의 독립성이 보장되게 되면, 개발환경이 상이하더라도 최적화된 개발처리과정을 수행할 수 있게 되는데, 보다 구체적인 내용은 수행제어부(320)의 설명에서 상세히 다루도록 하겠다.When the independence of the application unit app according to the above is guaranteed, it is possible to perform the optimized development process even if the development environment is different, more specific details will be described in detail in the execution control unit 320.

수행제어부(320)는, 응용단위앱과 관련되는 개발처리과정이 수행되도록 제어한다.The performance control unit 320 controls the development process related to the application unit app to be performed.

보다 구체적으로, 수행제어부(320)는, 생성제어부(310)로부터 특정서비스(예: VoD)와 관련된 애플리케이션이 응용단위앱으로 생성되면, 응용단위앱이 적용된 개발환경을 확인한 결과를 기반으로 응용단위앱과 관련되는 개발처리과정이 수행되도록 제어한다. More specifically, the execution control unit 320, when an application related to a specific service (for example, VoD) is generated as an application unit app from the generation control unit 310, the application unit based on the result of confirming the development environment to which the application unit app is applied Control the development process related to the app.

여기서, 응용단위앱이 적용된 개발환경은, 응용단위앱의 해당 응용프로그램을 통해 마이크로서비스를 제공하는 제1 개발환경과, 애플리케이션의 부하증감을 관리하는 제2 개발환경과, 응용단위앱의 해당 응용프로그램을 업데이트하는 제3 개발환경과, 업데이트에 따른 사용자반응과 관련되는 테스트를 수행하는 제4 개발환경과, 업데이트에 따른 해당 서비스변경결과를 사용자의 셋탑박스로 제공하는 제5 개발환경 중 적어도 하나를 포함할 수 있다. Here, the development environment to which the application unit app is applied includes a first development environment for providing microservices through a corresponding application of the application unit app, a second development environment for managing load increase and decrease of the application, and a corresponding application of the application unit app. At least one of a third development environment that updates the program, a fourth development environment that performs tests related to user response according to the update, and a fifth development environment that provides the set-top box of the user with the result of service change according to the update It may include.

먼저, 개발환경이 응용단위앱의 해당 응용프로그램을 통해 마이크로서비스를 제공하는 제1 개발환경인 경우에 대한 제1 개발처리과정에 대하여 설명하도록 하겠다. First, a description will be given of a first development process for a case where a development environment is a first development environment that provides a microservice through a corresponding application program of an application unit app.

수행제어부(320)는, 개발환경이 응용단위앱의 해당 응용프로그램을 통해 마이크로서비스를 제공하는 제1 개발환경인 경우, 응용단위앱의 해당 응용프로그램이 각각 특정 기능에 해당하는 마이크로서비스를 제공하도록 하는 제1 개발처리과정이 수행되도록 제어한다. If the development environment is a first development environment that provides a microservice through a corresponding application of an application unit app, the performance control unit 320 may provide a microservice corresponding to a specific function of each application of the application unit app. To control the first development process.

이와 관련하여, 도 3의 (a,b)에는 기존 IPTV 서비스를 제공하는 아키텍처와, 본 발명의 IPTV 서비스를 제공하는 아키텍처의 일례가 도시되어 있다.In this regard, (a, b) of FIG. 3 illustrates an architecture for providing an existing IPTV service and an example of an architecture for providing an IPTV service of the present invention.

도 3의 (a)에 도시된 바와 같이, 기존에는 IPTV 서비스를 위한 특정서비스(예: VoD)와 관련된 애플리케이션이 모놀리틱 구조에서 처리되었으므로, 서비스(Service)에서 스토리지(Storage)까지 하나의 아키텍쳐에서 실행되게 된다.As shown in FIG. 3 (a), since an application related to a specific service (for example, VoD) for an IPTV service has been processed in a monolithic structure, one architecture from a service to a storage is shown. Will run on.

이에, 하나의 WAS(Web Application Server)에 존재하는 기능들이 서로 영향을 미치게 되어, 애플리케이션 단위로의 소프트웨어 업데이트(Software update) 및 신규 애플리케이션 생성이 어려운 한계점이 존재했다.As a result, functions existing in a single web application server (WAS) affect each other, so that there is a limitation in that it is difficult to update software and create new applications at an application level.

이러한 문제를 해소하기 위해, 본 발명에서는 전술에서 언급한 특정서비스(예: VoD)의 애플리케이션이 가지고 있는 시스템 종속성(Configuration, run time 환경 등)을 제어하여 독립성이 보장되도록 한 컨테이너(container) 상에 서로 다른 응용프로그램이 탑재되어 응용단위앱이 생성되도록 하고, 생성된 응용단위앱을 기반으로 특정서비스(예: VoD)의 애플리케이션이 제공되도록 한다.In order to solve this problem, the present invention controls the system dependencies (Configuration, run time environment, etc.) of the application of a specific service (e.g. VoD) mentioned above on the container to ensure independence Different application programs are mounted so that an application unit app is generated, and an application of a specific service (eg, VoD) is provided based on the generated application unit app.

즉, 도 3의 (b)에 도시된 바와 같이, 응용단위앱의 해당 응용프로그램이 각각 특정 기능에 해당하는 마이크로서비스(Micro Service, MS)를 제공할 수 있도록 하여, 기존 모놀리틱 구조와 달리 응용단위앱의 업데이트 및 신규 생성이 가능하도록 하였다.That is, as shown in (b) of FIG. 3, the corresponding application of the application unit app can provide a micro service (Micro Service, MS) corresponding to each specific function, unlike the existing monolithic structure. It is possible to update and newly create application unit apps.

이에, 응용단위앱에 대응하는 마이크로서비스(MS)들은 서로간의 통신을 정해진 API(application programming interface)를 통해서 수행하게 되므로, 각각 마이크로서비스(MS)의 내부 업데이트 시에도 마이크로서비스(MS) 간의 통신에는 영향을 주지 않고 특정 기능에 해당하는 마이크로서비스를 제공하는 제1 개발처리과정을 수행할 수 있게 되는 것이다.Accordingly, since the microservices (MS) corresponding to the application unit app performs communication with each other through a predetermined application programming interface (API), communication between the microservices (MS) is performed even when the microservices (MS) are internally updated. It is possible to perform the first development process for providing a microservice corresponding to a specific function without affecting.

다음으로, 개발환경이 애플리케이션의 부하증감을 관리하는 제2 개발환경인 경우에 대한 제2 개발처리과정에 대하여 설명하도록 하겠다.Next, a description will be given of the second development process for the case where the development environment is the second development environment that manages the increase and decrease of the application.

수행제어부(320)는, 개발환경이 특정서비스(예: VoD)와 관련된 애플리케이션의 부하증감을 관리하는 제2 개발환경인 경우, 부하증가 시에는 응용단위앱 이외의 신규 응용단위앱이 생성되도록 제어하며, 부하감소 시에는 응용단위앱 및 신규 응용단위앱 중 적어도 하나가 제거되도록 하는 제2 개발처리과정이 수행되도록 제어한다.If the development environment is the second development environment that manages the load increase and decrease of the application related to a specific service (eg, VoD), the performance control unit 320 controls to create a new application unit app other than the application unit app when the load increases. When the load is reduced, the second development process for removing at least one of the application unit app and the new application unit app is controlled.

이와 관련하여, 전술에서 언급한 도 3의 (a,b)를 참고하여 살펴보면, 특정서비스(예: VoD)를 이용하는 가입자가 증가하거나, 사용량 증대로 인해 운영중인 특정서비스(예: VoD)의 애플리케이션들의 부하가 증가할 수 있다. In this regard, referring to (a, b) of FIG. 3 mentioned above, the number of subscribers using a specific service (eg, VoD) increases, or the application of a specific service (eg, VoD) in operation due to increased usage. Their load may increase.

이러한 경우에는 서비스의 안정성을 위하여 애플리케이션을 증설(scale out)시켜야 한다. 반대로, 서비스의 안정화된 경우에는 애플리케이션을 감축(scale in)시키는 과정을 수행해야 한다.In this case, the application must be scaled out for the stability of the service. On the contrary, when the service is stabilized, the process of scaling in the application must be performed.

보다 구체적으로 살펴보면, 도 3의 (a)에 도시된 바와 같이, 기존에는 애플리케이션의 증설(Scale out)시 6단계 이상의 작업이 필요한 구조로 많은 시간이 소비되었다.In more detail, as shown in (a) of FIG. 3, a lot of time has been spent in the conventional structure requiring more than six steps when scaling out an application.

즉, 애플리케이션의 증설(Scale out)을 위해서는, 인프라(예: 서버, 스토리지)를 준비해야 하는 1단계, 네트워크를 구성해야 하는 2단계, OS를 설치해야 하는 3단계, 런타임 환경을 구성해야 하는 4단계, 애플리케이션을 설치해야 하는 5단계 및 로더밸런서(Load balancer)와 데이터베이스(DB)와 연결해야 하는 6단계 이상의 관련 작업이 요구된다.In other words, to scale out your application, you need to prepare your infrastructure (e.g. servers, storage), step 1 to configure your network, step 3 to install your OS, and run 4 to configure your runtime environment. Steps, five steps to install an application, and six or more steps to connect to a load balancer and database are required.

이러한 문제를 해소하기 위해, 본 발명에서는 도 3의 (b)에 도시된 바와 같이, 전술에서 언급한 응용단위앱의 독립성을 기반으로 애플리케이션을 증설(Scale out)하도록 하였으며, 이에 앞서 언급한 1-6단계가 별도로 준비되지 않더라도 클라우드 환경에서 신규 응용단위앱이 바로 증설되도록 하는 제2 개발처리과정을 수행할 수 있게 된다.In order to solve this problem, in the present invention, as shown in (b) of FIG. 3, the application is scaled out based on the independence of the application unit app mentioned above. Even if the six steps are not prepared separately, the second development process of allowing new application unit apps to be immediately expanded in the cloud environment can be performed.

결국, 본 발명의 실시예에서는 특정서비스(예: VoD)와 관련된 애플리케이션의 접속량이 많아져 갑작스럽게 부하가 증가하게 될 경우에도 자동으로 새로운 신규 응용단위앱이 증설되어 신속하게 대응할 수 있게 되므로, 보다 안정적인 IPTV 서비스를 제공할 수 있게 된다.As a result, in the embodiment of the present invention, even when the load of the application related to a specific service (eg, VoD) increases, and a sudden increase in load, a new new application unit app is automatically added and can respond quickly. Stable IPTV service can be provided.

한편, 제2 개발처리과정에는 부하가 감소되었을 때, 응용단위앱 및 신규 응용단위앱 중 적어도 하나가 제거되도록 하는 과정이 포함되는 것이 바람직할 것이다. On the other hand, when the load is reduced, it may be desirable to include a process of removing at least one of the application unit app and the new application unit app when the load is reduced.

다음으로, 개발환경이 응용단위앱의 해당 응용프로그램을 업데이트하는 제3 개발환경인 경우에 대한 제3 개발처리과정에 대하여 설명하도록 하겠다.Next, the third development process for the case where the development environment is the third development environment for updating the application program of the application unit app will be described.

수행제어부(320)는, 개발환경이 응용단위앱의 해당 응용프로그램을 업데이트하는 제3 개발환경인 경우, 응용단위앱의 해당 응용프로그램이 업데이트와 관련되어 개발, 검증, 배포되도록 하는 제3 개발처리과정이 수행이 수행되도록 제어한다.If the development environment is a third development environment for updating a corresponding application of an application unit app, the execution control unit 320 may perform a third development process for developing, verifying, and distributing the corresponding application of the application unit app in connection with the update. The process controls the performance to be performed.

이와 관련하여, 도 3의 (c,d)에는 기존 애플리케이션을 업데이트 하는 방안과, 본 발명의 애플리케이션을 업데이트 하는 방안의 일례가 도시되어 있다.In this regard, (c, d) of FIG. 3 shows an example of a method of updating an existing application and a method of updating an application of the present invention.

도 3의 (c,d)를 기반으로 본 발명의 애플리케이션을 업데이트 하는 방안을 살펴보기에 앞서, 애플리케이션을 업데이트가 발생하게 되는 원인을 간략하게 살펴보면, 최근 IPTV 서비스는 컨텐츠에 대한 업데이트가 빈번하게 발생함에 따라 잦은 편성 변경으로 인해 UI 변경 역시 빈번하게 이루어지고 있다. Before looking at how to update the application of the present invention based on (c, d) of Figure 3, briefly look at the cause of the update occurs in the application, the recent IPTV service update occurs frequently As a result, frequent UI changes are frequently made.

또한, 사전 예고된 이벤트성 컨텐츠가 송출되는(예: 사회적 빅이슈, 대통령선거 중계방송 등) 상황뿐만 아니라, 사전에 예고되지 않은 이벤트(예: 고객요청)가 돌발적으로 발생하는 상황 등이 증가됨에 따라 트래픽 변경이 빈번하게 발생되고 있다.In addition, as well as the situation in which event-based content that is pre-announced (e.g., social big issues, presidential election broadcasting, etc.) is increased, the situation in which unexpected events (e.g. customer requests) occur unexpectedly is increased. As a result, traffic changes occur frequently.

즉, IPTV 서비스는 변화가 심한 분야이며, 경쟁대응 및 기술 트렌드를 반영하기 위하여 업데이트를 필수적으로 수행해야만 한다. 그러나, 업데이트의 절차와 단계가 복잡하여 수시로 업데이트를 수행하지 못하는 실정이며, 단순히 정기적(예: 1년)인 업데이트만이 수행되고 있다.In other words, IPTV service is a field that is highly changed, and updates must be performed to reflect competition and technology trends. However, due to the complexity of the update procedure and steps, the update cannot be performed from time to time, and only a regular update (eg, 1 year) is performed.

보다 구체적으로 살펴보면, 도 3의 (c)에 도시된 바와 같이, 기존에는 개발을 위한 개발장치가 구비되는 환경(E1), 테스트를 위한 검증장치가 구비되는 환경(E2), 배포를 위한 상용장치가 구비되는 환경(E3)이 모두 물리적으로 분리되어 있다. Looking in more detail, as shown in (c) of Figure 3, the existing environment (E1) equipped with a development apparatus for development, the environment (E2) equipped with a verification apparatus for testing, commercial devices for distribution The environment E3 provided with is all physically separated.

이에, 애플리케이션을 업데이트하기 위해서는 각 환경(E1, E2, E3) 별 애플리케이션 인프라(Application Infra; 예 서버, 스토리지)로 접속하여 애플리케이션을 수작업으로 순차적으로 매뉴얼 백업한 후 업데이트 하여야만 하는 번거로움이 존재한다.Thus, in order to update the application, there is a hassle of updating the application after manually backing up the application manually by sequentially connecting the application infrastructure (Application Infra; each server, storage) for each environment (E1, E2, E3).

또한, 환경(E1, E2, E3) 별로 구비된 개발장치, 검증장치, 및 상용장치의 시스템 환경과 운영환경이 모두 상이하기 때문에 환경의 차이로 인한 애플리케이션의 동작 차이가 존재하며, 이에 운영자는 작업 일정 협의 등의 절차를 거쳐야만 하는 애플리케이션을 업데이트하게 되는 한계점이 존재한다. In addition, since the system environment and the operating environment of the development device, the verification device, and the commercial device provided for each environment (E1, E2, E3) are all different, there is a difference in operation of the application due to the difference of the environment, and the operator There is a limit to updating an application that must go through a process such as scheduling.

나아가, 애플리케이션의 업데이트를 원복할 때에도 각각의 환경(E1, E2, E3) 별로 구비된 개발장치, 검증장치, 및 상용장치에 접속하여 작업해야 하므로 업데이트 및 원복 시마다 불필요한 시간을 낭비되는 한계점 역시 존재한다.In addition, there is also a limitation that wastes unnecessary time during update and recovery, since users must connect to and work on development devices, verification devices, and commercial devices provided for each environment (E1, E2, and E3) to restore application updates. .

이러한 문제를 해소하기 위해, 본 발명에서는 도 3의 (d)에 도시된 바와 같이, 특정플랫폼(PaaS) 상에 개발장치, 검증장치, 상용장치가 모두 구비되도록 구현하여, 개발자가 물리적 이동 및 개별 장치(개발, 검증, 상용) 별로 접속할 필요 없이, 특정플랫폼(PaaS)을 기반으로 응용단위앱의 해당 응용프로그램이 업데이트와 관련되어 개발, 검증, 배포되도록 하는 제3 개발처리과정이 수행되도록 한다.In order to solve this problem, in the present invention, as shown in (d) of FIG. 3, the developer, the verification device, and the commercial device are all provided on a specific platform (PaaS), so that the developer can move physically and individually. A third development process is performed so that a corresponding application of an application unit application is developed, verified, and distributed in connection with an update based on a specific platform (PaaS) without having to connect to each device (development, verification, commercial use).

다음으로, 개발환경이 업데이트에 따른 사용자반응과 관련되는 테스트를 수행하는 제4 개발환경인 경우에 대한 제4 개발처리과정에 대하여 설명하도록 하겠다.Next, a description will be given of a fourth development process for a case in which the development environment is a fourth development environment that performs a test related to user response according to an update.

수행제어부(320)는, 개발환경이 업데이트에 따른 사용자반응과 관련되는 테스트를 수행하는 제4 개발환경인 경우, 테스트를 수행하는 사용자의 식별번호를 확인한 결과를 기반으로 사용자반응을 확인하려는 해당 응용단위앱이 해당 사용자에게 제공되도록 하는 제4 개발처리과정이 수행되도록 제어한다.The execution control unit 320, if the development environment is a fourth development environment for performing a test related to the user response according to the update, the application to check the user response based on the result of checking the identification number of the user performing the test The fourth development process of allowing the unit app to be provided to the user is controlled.

이와 관련하여, 도 3의 (e,f)에는 기존 업데이트에 따른 사용자반응과 관련되는 테스트를 수행하는 방안과, 본 발명의 업데이트에 따른 사용자반응과 관련되는 테스트를 수행하는 방안의 일례가 도시되어 있다.In this regard, (e, f) of FIG. 3 shows an example of a method for performing a test related to a user response according to an existing update, and a method for performing a test related to a user response according to an update of the present invention. have.

도 3의 (e,f)를 기반으로 본 발명의 업데이트에 따른 사용자반응과 관련되는 테스트(예: A/B test)를 수행하는 방안을 살펴보기에 앞서, 테스트(예: A/B test)를 수행하는 배경을 살펴보면, 특정서비스(예: VoD)의 애플리케이션의 업데이트 시에는 시범적으로 일부 사용자(고객)에게 업데이트를 적용하여 사용자의 반응에 따라 업데이트 확대 여부를 결정한다.Based on (e, f) of FIG. 3, before looking at a method of performing a test (eg, A / B test) related to user response according to the update of the present invention, a test (eg, A / B test) Looking at the background of performing, when an application of a specific service (eg, VoD) is updated, a trial is applied to some users (customers) to determine whether to expand the update according to the user's response.

이처럼 업데이트 확대 여부를 결정하게 되면 시행착오를 줄일 수 있으나, 일부 사용자(고객)에게만 시범적으로 업데이트를 적용해야 할 뿐만 아니라, 업데이트를 적용하는 절차가 복잡하여 테스트(예: A/B test)를 생략하고 단순 설문 조사 만으로 업데이트를 확정하여 진행하는 경우가 빈번하게 발생하게 된다.This decision can reduce trial and error, but it is not only necessary to apply the update to a few users (customers), but also the complicated procedure of applying the update makes it difficult to test (eg A / B test). Occasionally, it is frequently omitted to confirm the update with a simple survey.

보다 구체적으로 살펴보면, 도 3의 (e)에 도시된 바와 같이, 기존에는 특정서비스(예: VoD)와 관련된 애플리케이션 중 동일 기능을 하는 애플리케이션을 선택하여 업데이트한 후, 사용자A는 업데이트된 애플리케이션(410)에 접속되도록 하고, 사용자B는 기 이용되던 애플리케이션(420)에 접속되도록 하여 사용자A와 사용자B 간의 비교 테스트를 수행하였다.In more detail, as shown in (e) of FIG. 3, after a user selects and updates an application having the same function among applications related to a specific service (for example, VoD), user A updates the updated application 410. ), And user B was connected to the previously used application 420 to perform a comparison test between user A and user B.

이러한 기존 방식은, 상용장치의 로더밸런서(Load Balancer)의 구성을 변경하고 관련 서버의 로그를 별도로 수집해야 하는 작업을 수행해야 하는데, 이를 위해서는 개발자/서버 운용자의 도움이 필수적으로 요구될 뿐만 아니라 작업 준비, 실행 및 로그 수집을 위한 많은 시간과 노력이 소비되는 문제가 발생한다.This existing method requires the task of changing the configuration of the load balancer of a commercial device and collecting logs of related servers separately, which requires not only the help of the developer / server operator but also the work. The problem is that it takes a lot of time and effort to prepare, run, and collect logs.

이러한 문제를 해소하기 위해, 본 발명에서는 도 3의 (f)에 도시된 바와 같이, 수행제어부(320)가 사용자(고객)를 구분할 수 있는 식별자를 인지할 수 있도록 하여, 사용자반응을 확인하려는 해당 응용단위앱이 해당 사용자에게 연결(제공)되도록 한다.In order to solve this problem, in the present invention, as shown in (f) of FIG. 3, the performance control unit 320 can recognize the identifier to distinguish the user (customer), the corresponding to check the user response Allow the application unit app to connect (provide) to the user.

예를 들어, 사용자A와 사용자B에게 사용자반응과 관련되는 테스트(예: A/B test)를 수행하는 경우, 수행제어부(320)는, 사용자(고객) 별 식별자를 구분하기만 한다면 식별자에 매칭된 사용자를 확인하여 사용자반응을 확인하려는 해당 응용단위앱을 사용자 별로 연결시킬 수 있다.For example, when performing a test (eg, A / B test) related to user response to user A and user B, the performance control unit 320 matches the identifier only if the user (customer) identifier is distinguished. By checking the user, you can link the application unit app for each user to check the user response.

즉, 식별자1을 갖는 사용자A에게는 업데이트된 응용단위앱(500)이 연결되도록 하며, 식별자2를 갖는 사용자B에게는 기 이용되던 응용단위앱(510)이 연결되도록 한다.That is, the updated application unit app 500 is connected to the user A having the identifier 1, and the application unit app 510 which is used is connected to the user B having the identifier 2.

이처럼 본 발명에서는 기존 상용장치의 로더밸런서(Load Balancer)의 구성을 변경하지 않고도 플랫폼 단에서 소프트웨어적(s/w)적으로 사용자(고객) 별로 사용자반응을 확인하려는 해당 응용단위앱이 연결되도록 할 수 있다. 이에, 개발자/서버 운용자의 도움이 없이도 다양한 테스트가 수행되도록 하는 제4 개발처리과정이 수행되도록 제어할 수 있게 된다.As such, in the present invention, without changing the configuration of the load balancer (load balancer) of the existing commercial device to be connected to the application unit app that wants to check the user response for each user (customer) by software (s / w) at the platform stage Can be. Thus, it is possible to control the fourth development process to perform a variety of tests without the help of the developer / server operator.

마지막으로, 개발환경이 업데이트에 따른 서비스변경결과를 사용자의 셋탑박스로 제공하는 제5 개발환경인 경우에 대한 제5 개발처리과정에 대하여 설명하도록 하겠다.Finally, a fifth development process will be described for the case where the development environment is the fifth development environment in which the service change result according to the update is provided to the user's set-top box.

수행제어부(320)는, 개발환경이 업데이트에 따른 서비스변경결과를 사용자의 셋탑박스로 제공하는 제5 개발환경인 경우, 셋탑박스로부터 웹브라우져를 통해 서비스변경결과가 요청되면, 서비스변경결과가 셋탑박스로 전송되도록 하는 제5 개발처리과정이 수행되도록 제어한다.When the development environment is the fifth development environment in which the development environment provides the service change result according to the update to the user's set-top box, when the service change result is requested from the set-top box through the web browser, the service change result is set-top. The fifth development process to be transmitted to the box is controlled to be performed.

이와 관련하여, 도 3의 (g,h)에는 기존 서비스변경결과를 사용자에게 제공하는 방안과, 본 발명의 서비스변경결과를 사용자에게 제공하는 방안의 일례가 도시되어 있다. 이하에서는 설명의 편의를 위해, 사용자(고객)가 이용하는 사용자단말(200)이 셋탑박스(200a)인 것으로 언급하여 설명하도록 하겠다.In this regard, FIG. 3 (g, h) shows an example of a method of providing a user with a result of existing service change and a method of providing a user with a result of service change of the present invention. Hereinafter, for convenience of description, the user terminal 200 used by the user (customer) will be described by referring to the set-top box 200a.

도 3의 (e)에 도시된 바와 같이, IPTV 서비스의 대부분은 사용자(고객)의 셋탑박스를 통해서 이루어지는데, 헤드엔드(Head-end)에서 특정서비스(예: VoD)와 관련된 애플리케이션의 업데이트를 신속하게 수행하더라도, 셋탑박스(200a)에서 서비스 반영이 지연되면 결국 사용자(고객)에게 서비스 지연이 발생할 수 밖에 없다.As shown in (e) of FIG. 3, most of the IPTV services are provided through a set-top box of a user (customer), and the head-end updates an application related to a specific service (eg, VoD). Even if performed quickly, if the service reflection is delayed in the set-top box 200a, a service delay may inevitably occur to the user (customer).

즉, 기존에는 셋탑박스(200a)에서 특정서비스(예: VoD)와 관련된 모든 애플리케이션을 탑재하고 있어, 애플리케이션의 업데이트를 수행해야 할 때에는 셋탑박스(200a)를 전반적으로 업데이트해야 했다. 이러한 셋탑박스(200a)가 수백 만대인 경우에는 업데이트하기까지 많은 시간과 노력이 소요되는 한계점이 존재한다.That is, in the past, the set-top box 200a includes all applications related to a specific service (for example, VoD), and when the application needs to be updated, the set-top box 200a needs to be updated. If the set-top box (200a) is millions of units there is a limit that takes a lot of time and effort to update.

이러한 문제를 해소하기 위해, 본 발명에서는 도 3의 (h)에 도시된 바와 같이, 셋탑박스(200a)에는 웹(Web) 브라우져의 기능만이 탑재되도록 하고, 특정서비스(예: VoD)와 관련된 모든 애플리케이션은 헤드엔드(Head-end)에 구비되도록 구현한다.In order to solve this problem, in the present invention, as shown in (h) of FIG. 3, the set-top box 200a is equipped with only a function of a web browser and associated with a specific service (eg, VoD). All applications are implemented at the head-end.

이에, 셋탑박스(200a)는 웹브라우져를 통해 애플리케이션의 업데이트에 대한 수행결과를 요청하게 되며, 이러한 요청을 수신한 수행제어부(320)에서는 서비스변경결과가 셋탑박스(200a)로 전송되도록 하는 제5 개발처리과정을 수행할 수 있게 되는 것이다. Accordingly, the set-top box 200a requests the execution result of the update of the application through the web browser, and the execution control unit 320 receiving the request transmits the service change result to the set-top box 200a. Development process can be performed.

이하에서는, 도 4를 참조하여, 본 발명의 실시예에 따른 통신구조 내 구성들에 의한 동작흐름을 보다 구체적으로 설명하겠다. 도 5에서는 설명의 편의를 위해 전술의 도 1 내지 도 3에서 언급한 참조번호를 언급하여 설명하도록 하겠다.Hereinafter, with reference to Figure 4, the operation flow by the components in the communication structure according to an embodiment of the present invention will be described in more detail. In FIG. 5, for convenience of description, reference will be made to the reference numerals mentioned in FIGS. 1 to 3.

서비스관리장치(300)는, 개발자단말(100)로부터 특정서비스(예: VoD)와 관련된 애플리케이션 생성을 위한 개발결과정보가 수신되면, 개발결과정보로부터 다수의 응용프로그램을 확인한다(S100)When the service management apparatus 300 receives development result information for generating an application related to a specific service (for example, VoD) from the developer terminal 100, the service management apparatus 300 checks a plurality of application programs from the development result information (S100).

이후, 서비스관리장치(300)는, 개발결과정보의 다수의 응용프로그램을 특정플랫폼(PaaS)에서 응용 프로그램이 구동되는 단위인 컨테이너(container)에 대응되도록 분리하여 응용단위앱이 생성되도록 제어한다(S101)Thereafter, the service management apparatus 300 controls the application unit app to be generated by separating a plurality of application programs of the development result information so as to correspond to a container, which is a unit in which the application program is run, on a specific platform PaaS ( S101)

즉, 서비스관리장치(300)는, 응용프로그램의 개수를 기반으로 응용단위앱을 생성한다. 예를 들어, 개발결과정보에 포함된 응용프로그램의 개수가 3개이면, 서비스관리장치(300)는, 응용프로그램의 개수(3)만큼의 응용단위앱을 생성하게 된다. 물론, 이와 달리, 응용프로그램의 조합이나, 운영자의 설정에 따라 응용단위앱의 생성이 달라질 수도 있음은 물론이다.That is, the service management device 300 generates an application unit app based on the number of application programs. For example, if the number of application programs included in the development result information is three, the service management apparatus 300 generates an application unit app as many as the number of application programs (3). Of course, unlike this, the generation of the application unit app may vary depending on the combination of the application program and the setting of the operator.

결국, 응용단위앱은, 특정서비스(예: VoD)의 애플리케이션과 관련된 적어도 하나의 응용프로그램에 대응하여 컨테이너(container) 상에 생성된다. 즉, 컨테이너(container) 별로 서로 다른 응용프로그램이 탑재되어 독립적인 응용단위앱으로 동작하게 된다.As a result, the application unit app is generated on the container corresponding to at least one application program associated with an application of a specific service (eg, VoD). In other words, different applications are loaded for each container to operate as an independent application unit app.

이처럼 컨테이너(container) 상에 응용단위앱이 구현될 수 있도록 하기 위해서는, 운영체계(Operating system)와 런타임(Runtime) 환경 등이 IaaS(Infra as a Service) 상에 구비되어야 하며, 이에 기존과 달리 특정서비스(예: VoD)의 애플리케이션이 가지고 있는 시스템 종속성(Configuration, run time 환경 등)이 제거될 수 있어 응용단위앱의 독립성을 보장할 수 있게 되는 것이다.In order to allow an application unit app to be implemented on a container as described above, an operating system and a runtime environment must be provided on an IaaS (Infra as a Service). System dependencies (Configuration, run time environment, etc.) of the service (e.g. VoD) application can be removed, thereby ensuring the independence of the application unit app.

전술에 따라 특정서비스(예: VoD)와 관련된 애플리케이션이 응용단위앱으로 생성되면, 서비스관리장치(300)는, 응용단위앱이 적용된 개발환경을 확인한 결과를 기반으로 응용단위앱과 관련되는 개발처리과정이 수행되도록 제어한다(S102). According to the above, when an application related to a specific service (eg, VoD) is generated as an application unit app, the service management device 300 performs a development process related to the application unit app based on a result of checking the development environment to which the application unit app is applied. The process is controlled to be performed (S102).

여기서, 응용단위앱이 적용된 개발환경은, 응용단위앱의 해당 응용프로그램을 통해 마이크로서비스를 제공하는 제1 개발환경과, 애플리케이션의 부하증감을 관리하는 제2 개발환경과, 응용단위앱의 해당 응용프로그램을 업데이트하는 제3 개발환경과, 업데이트에 따른 사용자반응과 관련되는 테스트를 수행하는 제4 개발환경과, 업데이트에 따른 해당 서비스변경결과를 사용자의 셋탑박스로 제공하는 제5 개발환경 중 적어도 하나를 포함할 수 있다. Here, the development environment to which the application unit app is applied includes a first development environment for providing microservices through a corresponding application of the application unit app, a second development environment for managing load increase and decrease of the application, and a corresponding application of the application unit app. At least one of a third development environment that updates the program, a fourth development environment that performs tests related to user response according to the update, and a fifth development environment that provides the set-top box of the user with the result of service change according to the update It may include.

먼저, 개발환경이 응용단위앱의 해당 응용프로그램을 통해 마이크로서비스를 제공하는 제1 개발환경인 경우(S103의 YES), 응용단위앱의 해당 응용프로그램이 각각 특정 기능에 해당하는 마이크로서비스를 제공하도록 하는 제1 개발처리과정이 수행되도록 제어한다(S104). First, if the development environment is the first development environment that provides microservices through the corresponding application of the application unit app (YES in S103), the corresponding application of the application unit app to provide a microservice corresponding to each specific function. The first development process is controlled to be performed (S104).

보다 구체적으로 설명하면, 도 3의 (a)에 도시된 바와 같이, 기존에는 IPTV 서비스를 위한 특정서비스(예: VoD)와 관련된 애플리케이션이 모놀리틱 구조에서 처리되었으므로, 서비스(Service)에서 스토리지(Storage)까지 하나의 아키텍쳐에서 실행되게 된다.More specifically, as shown in (a) of FIG. 3, since an application related to a specific service (eg, VoD) for an IPTV service has been processed in a monolithic structure, storage ( Storage) to run on one architecture.

이에, 하나의 WAS(Web Application Server)에 존재하는 기능들이 서로 영향을 미치게 되어, 애플리케이션 단위로의 소프트웨어 업데이트(Software update) 및 신규 애플리케이션 생성이 어려운 한계점이 존재했다.As a result, functions existing in a single web application server (WAS) affect each other, so that there is a limitation in that it is difficult to update software and create new applications at an application level.

이러한 문제를 해소하기 위해, 본 발명에서는 전술에서 언급한 특정서비스(예: VoD)의 애플리케이션이 가지고 있는 시스템 종속성(Configuration, run time 환경 등)을 제어하여 독립성이 보장되도록 한 컨테이너(container) 상에 서로 다른 응용프로그램이 탑재되어 응용단위앱이 생성되도록 하고, 생성된 응용단위앱을 기반으로 특정서비스(예: VoD)의 애플리케이션이 제공되도록 한다.In order to solve this problem, the present invention controls the system dependencies (Configuration, run time environment, etc.) of the application of a specific service (e.g. VoD) mentioned above on the container to ensure independence Different application programs are mounted so that an application unit app is generated, and an application of a specific service (eg, VoD) is provided based on the generated application unit app.

즉, 도 3의 (b)에 도시된 바와 같이, 응용단위앱의 해당 응용프로그램이 각각 특정 기능에 해당하는 마이크로서비스(Micro Service, MS)를 제공할 수 있도록 하여, 기존 모놀리틱 구조와 달리 응용단위앱의 업데이트 및 신규 생성이 가능하도록 하였다.That is, as shown in (b) of FIG. 3, the corresponding application of the application unit app can provide a micro service (Micro Service, MS) corresponding to each specific function, unlike the existing monolithic structure. It is possible to update and newly create application unit apps.

이에, 응용단위앱에 대응하는 마이크로서비스(MS)들은 서로간의 통신을 정해진 API(application programming interface)를 통해서 수행하게 되므로, 각각 마이크로서비스(MS)의 내부 업데이트 시에도 마이크로서비스(MS) 간의 통신에는 영향을 주지 않고 특정 기능에 해당하는 마이크로서비스를 제공하는 제1 개발처리과정을 수행할 수 있게 되는 것이다.Accordingly, since the microservices (MS) corresponding to the application unit app performs communication with each other through a predetermined application programming interface (API), communication between the microservices (MS) is performed even when the microservices (MS) are internally updated. It is possible to perform the first development process for providing a microservice corresponding to a specific function without affecting.

한편, 개발환경이 제1 개발환경이 아닌 경우(S103의 NO), 서비스관리장치(300)는 개발환경이 특정서비스(예: VoD)와 관련된 애플리케이션의 부하증감을 관리하는 제2 개발환경인지를 판단한다(S105). On the other hand, if the development environment is not the first development environment (NO in S103), the service management device 300 determines whether the development environment is the second development environment that manages the load increase and decrease of an application related to a specific service (eg, VoD). It is determined (S105).

개발환경이 제2 개발환경인 경우(S105의 YES), 서비스관리장치(300)는 부하증가 시에는 응용단위앱 이외의 신규 응용단위앱이 생성되도록 제어하며, 부하감소 시에는 응용단위앱 및 신규 응용단위앱 중 적어도 하나가 제거되도록 하는 제2 개발처리과정이 수행되도록 제어한다(S106).When the development environment is the second development environment (YES in S105), the service management device 300 controls to generate a new application unit app other than the application unit app when the load increases, and when the load decreases, the application unit app and new Control to perform a second development process to remove at least one of the application unit app (S106).

보다 구체적으로, 전술에서 언급한 도 3의 (a,b)를 참고하여 살펴보면, 특정서비스(예: VoD)를 이용하는 가입자가 증가하거나, 사용량 증대로 인해 운영중인 특정서비스(예: VoD)의 애플리케이션들의 부하가 증가할 수 있다. More specifically, referring to (a, b) of FIG. 3 mentioned above, the number of subscribers using a specific service (eg, VoD) increases, or the application of a specific service (eg, VoD) in operation due to increased usage. Their load may increase.

이러한 경우에는 서비스의 안정성을 위하여 애플리케이션을 증설(scale out)시켜야 한다. 반대로, 서비스의 안정화된 경우에는 애플리케이션을 감축(scale in)시키는 과정을 수행해야 한다.In this case, the application must be scaled out for the stability of the service. On the contrary, when the service is stabilized, the process of scaling in the application must be performed.

보다 구체적으로 살펴보면, 도 3의 (a)에 도시된 바와 같이, 기존에는 애플리케이션의 증설(Scale out)시 6단계 이상의 작업이 필요한 구조로 많은 시간이 소비되었다.In more detail, as shown in (a) of FIG. 3, a lot of time has been spent in the conventional structure requiring more than six steps when scaling out an application.

즉, 애플리케이션의 증설(Scale out)을 위해서는, 인프라(예: 서버, 스토리지)를 준비해야 하는 1단계, 네트워크를 구성해야 하는 2단계, OS를 설치해야 하는 3단계, 런타임 환경을 구성해야 하는 4단계, 애플리케이션을 설치해야 하는 5단계 및 로더밸런서(Load balancer)와 데이터베이스(DB)와 연결해야 하는 6단계 이상의 관련 작업이 요구된다.In other words, to scale out your application, you need to prepare your infrastructure (e.g. servers, storage), step 1 to configure your network, step 3 to install your OS, and run 4 to configure your runtime environment. Steps, five steps to install an application, and six or more steps to connect with a load balancer and a database are required.

이러한 문제를 해소하기 위해, 본 발명에서는 도 3의 (b)에 도시된 바와 같이, 전술에서 언급한 응용단위앱의 독립성을 기반으로 애플리케이션을 증설(Scale out)하도록 하였으며, 이에 앞서 언급한 1-6단계가 별도로 준비되지 않더라도 클라우드 환경에서 신규 응용단위앱이 바로 증설되도록 하는 제2 개발처리과정을 수행할 수 있게 된다.In order to solve this problem, in the present invention, as shown in (b) of FIG. 3, the application is scaled out based on the independence of the application unit app mentioned above. Even if the six steps are not prepared separately, it is possible to perform a second development process that allows new application unit apps to be immediately expanded in a cloud environment.

결국, 본 발명의 실시예에서는 특정서비스(예: VoD)와 관련된 애플리케이션의 접속량이 많아져 갑작스럽게 부하가 증가하게 될 경우에도 자동으로 새로운 신규 응용단위앱이 증설되어 신속하게 대응할 수 있게 되므로, 보다 안정적인 IPTV 서비스를 제공할 수 있게 된다.As a result, in the embodiment of the present invention, even when the load of the application related to a specific service (eg, VoD) increases, and a sudden increase in load, a new new application unit app is automatically added and can respond quickly. Stable IPTV service can be provided.

만일, 제2 개발처리과정에는 부하가 감소되었을 때, 응용단위앱 및 신규 응용단위앱 중 적어도 하나가 제거되도록 하는 과정이 포함되는 것이 바람직할 것이다. If the load is reduced, the second development process may preferably include a process of removing at least one of the application unit app and the new application unit app.

한편, 개발환경이 제2 개발환경이 아닌 경우(S105의 NO), 서비스관리장치(300)는 개발환경이 응용단위앱의 해당 응용프로그램을 업데이트하는 제3 개발환경인지를 판단한다(S107). On the other hand, if the development environment is not the second development environment (NO in S105), the service management device 300 determines whether the development environment is a third development environment for updating the corresponding application program of the application unit app (S107).

개발환경이 제3 개발환경인 경우(S107의 YES), 응용단위앱의 해당 응용프로그램이 업데이트와 관련되어 개발, 검증, 배포되도록 하는 제3 개발처리과정이 수행이 수행되도록 제어한다(S108).If the development environment is the third development environment (YES in S107), the third development process for controlling the development, verification, and distribution of the corresponding application program of the application unit application is controlled to be performed (S108).

먼저, 도 3의 (c,d)를 기반으로 본 발명의 애플리케이션을 업데이트 하는 방안을 살펴보기에 앞서, 애플리케이션을 업데이트가 발생하게 되는 원인을 간략하게 살펴보면, 최근 IPTV 서비스는 컨텐츠에 대한 업데이트가 빈번하게 발생함에 따라 잦은 편성 변경으로 인해 UI 변경 역시 빈번하게 이루어지고 있다. First, before looking at the method of updating the application of the present invention based on (c, d) of Figure 3, briefly look at the cause of the update occurs in the application, the recent IPTV service is frequently updated content As a result, the UI changes are frequently made due to frequent organizational changes.

또한, 사전 예고된 이벤트성 컨텐츠가 송출되는(예: 사회적 빅이슈, 대통령선거 중계방송 등) 상황뿐만 아니라, 사전에 예고되지 않은 이벤트(예: 고객요청)가 돌발적으로 발생하는 상황 등이 증가됨에 따라 트래픽 변경이 빈번하게 발생되고 있다.In addition, as well as the situation in which event-based content that is pre-announced (e.g., social big issues, presidential election broadcasting, etc.) is increased, the situation in which unexpected events (e.g. customer requests) occur unexpectedly is increased. As a result, traffic changes occur frequently.

즉, IPTV 서비스는 변화가 심한 분야이며, 경쟁대응 및 기술 트렌드를 반영하기 위하여 업데이트를 필수적으로 수행해야만 한다. 그러나, 업데이트의 절차와 단계가 복잡하여 수시로 업데이트를 수행하지 못하는 실정이며, 단순히 정기적(예: 1년)인 업데이트만이 수행되고 있다.In other words, IPTV service is a field that is highly changed, and updates must be performed to reflect competition and technology trends. However, due to the complexity of the update procedure and steps, the update cannot be performed from time to time, and only a regular update (eg, 1 year) is performed.

보다 구체적으로 살펴보면, 도 3의 (c)에 도시된 바와 같이, 기존에는 개발을 위한 개발장치가 구비되는 환경(E1), 테스트를 위한 검증장치가 구비되는 환경(E2), 배포를 위한 상용장치가 구비되는 환경(E3)이 모두 물리적으로 분리되어 있다. Looking in more detail, as shown in (c) of Figure 3, the existing environment (E1) equipped with a development apparatus for development, the environment (E2) equipped with a verification apparatus for testing, commercial devices for distribution The environment E3 provided with is all physically separated.

이에, 애플리케이션을 업데이트하기 위해서는 각 환경(E1, E2, E3) 별 애플리케이션 인프라(Application Infra; 예 서버, 스토리지)로 접속하여 애플리케이션을 수작업으로 순차적으로 매뉴얼 백업한 후 업데이트 하여야만 하는 번거로움이 존재한다.Therefore, in order to update an application, there is a hassle that requires manual manual backup of the application by sequentially connecting the application infrastructure (Application Infra; server, storage) for each environment (E1, E2, E3) and updating the application manually.

또한, 환경(E1, E2, E3) 별로 구비된 개발장치, 검증장치, 및 상용장치의 시스템 환경과 운영환경이 모두 상이하기 때문에 환경의 차이로 인한 애플리케이션의 동작 차이가 존재하며, 이에 운영자는 작업 일정 협의 등의 절차를 거쳐야만 하는 애플리케이션을 업데이트하게 되는 한계점이 존재한다. In addition, since the system environment and the operating environment of the development device, the verification device, and the commercial device provided for each environment (E1, E2, E3) are all different, there is a difference in operation of the application due to the difference in environment, and the operator There is a limit to updating an application that must go through a process such as scheduling.

나아가, 애플리케이션의 업데이트를 원복할 때에도 각각의 환경(E1, E2, E3) 별로 구비된 개발장치, 검증장치, 및 상용장치에 접속하여 작업해야 하므로 업데이트 및 원복 시마다 불필요한 시간을 낭비되는 한계점 역시 존재한다.In addition, there is also a limitation that wastes unnecessary time during update and recovery, since users must connect to and work on development devices, verification devices, and commercial devices provided for each environment (E1, E2, and E3) to restore application updates. .

이러한 문제를 해소하기 위해, 본 발명에서는 도 3의 (d)에 도시된 바와 같이, 특정플랫폼(PaaS) 상에 개발장치, 검증장치, 상용장치가 모두 구비되도록 구현하여, 개발자가 물리적 이동 및 개별 장치(개발, 검증, 상용) 별로 접속할 필요 없이, 특정플랫폼(PaaS)을 기반으로 응용단위앱의 해당 응용프로그램이 업데이트와 관련되어 개발, 검증, 배포되도록 하는 제3 개발처리과정이 수행되도록 한다.In order to solve this problem, in the present invention, as shown in (d) of FIG. 3, the developer, the verification device, and the commercial device are all provided on a specific platform (PaaS), so that the developer can move physically and individually. A third development process is performed so that a corresponding application of an application unit application is developed, verified, and distributed in connection with an update based on a specific platform (PaaS) without having to connect to each device (development, verification, commercial use).

한편, 개발환경이 제3 개발환경이 아닌 경우(S107의 NO), 서비스관리장치(300)는 개발환경이 업데이트에 따른 사용자반응과 관련되는 테스트를 수행하는 제4 개발환경인지를 판단한다(S109).On the other hand, if the development environment is not the third development environment (NO in S107), the service management device 300 determines whether the development environment is the fourth development environment that performs a test related to the user response according to the update (S109). ).

개발환경이 제4 개발환경인 경우(S109의 YES), 서비스관리장치(300)는 테스트를 수행하는 사용자의 식별번호를 확인한 결과를 기반으로 사용자반응을 확인하려는 해당 응용단위앱이 해당 사용자에게 제공되도록 하는 제4 개발처리과정이 수행되도록 제어한다(S110).If the development environment is the fourth development environment (YES in S109), the service management device 300 provides the corresponding application unit application to the user to check the user response based on the result of checking the identification number of the user performing the test. The fourth development process is performed so as to be performed (S110).

먼저 도 3의 (e,f)를 기반으로 본 발명의 업데이트에 따른 사용자반응과 관련되는 테스트(예: A/B test)를 수행하는 방안을 살펴보기에 앞서, 테스트(예: A/B test)를 수행하는 배경을 살펴보면, 특정서비스(예: VoD)의 애플리케이션의 업데이트 시에는 시범적으로 일부 사용자(고객)에게 업데이트를 적용하여 사용자의 반응에 따라 업데이트 확대 여부를 결정한다.First, before looking at the method of performing a test (eg A / B test) related to user response according to the update of the present invention based on (e, f) of FIG. 3, a test (eg A / B test) In the background of performing), when an application of a specific service (for example, VoD) is updated, an update is applied to some users (customers) to determine whether to expand the update according to the user's response.

이처럼 업데이트 확대 여부를 결정하게 되면 시행착오를 줄일 수 있으나, 일부 사용자(고객)에게만 시범적으로 업데이트를 적용해야 할 뿐만 아니라, 업데이트를 적용하는 절차가 복잡하여 테스트(예: A/B test)를 생략하고 단순 설문 조사 만으로 업데이트를 확정하여 진행하는 경우가 빈번하게 발생하게 된다.This decision can reduce trial and error, but it is not only necessary to apply the update to a few users (customers), but also the complicated procedure of applying the update makes it difficult to test (eg A / B test). Occasionally, it is frequently omitted to confirm the update with a simple survey.

보다 구체적으로 살펴보면, 도 3의 (e)에 도시된 바와 같이, 기존에는 특정서비스(예: VoD)와 관련된 애플리케이션 중 동일 기능을 하는 애플리케이션을 선택하여 업데이트한 후, 사용자A는 업데이트된 애플리케이션(410)에 접속되도록 하고, 사용자B는 기 이용되던 애플리케이션(420)에 접속되도록 하여 사용자A와 사용자B 간의 비교 테스트를 수행하였다.In more detail, as shown in (e) of FIG. 3, after a user selects and updates an application having the same function among applications related to a specific service (for example, VoD), user A updates the updated application 410. ), And user B was connected to the previously used application 420 to perform a comparison test between user A and user B.

이러한 기존 방식은, 상용장치의 로더밸런서(Load Balancer)의 구성을 변경하고 관련 서버의 로그를 별도로 수집해야 하는 작업을 수행해야 하는데, 이를 위해서는 개발자/서버 운용자의 도움이 필수적으로 요구될 뿐만 아니라 작업 준비, 실행 및 로그 수집을 위한 많은 시간과 노력이 소비되는 문제가 발생한다.This existing method requires the task of changing the configuration of the load balancer of a commercial device and collecting logs of related servers separately, which requires not only the help of the developer / server operator but also the work. The problem is that it takes a lot of time and effort to prepare, run, and collect logs.

이러한 문제를 해소하기 위해, 본 발명에서는 도 3의 (f)에 도시된 바와 같이, 서비스관리장치(300)가 사용자(고객)를 구분할 수 있는 식별자를 인지할 수 있도록 하여, 사용자반응을 확인하려는 해당 응용단위앱이 해당 사용자에게 연결(제공)되도록 한다.In order to solve this problem, in the present invention, as shown in (f) of FIG. 3, the service management device 300 to recognize the identifier to distinguish the user (customer), to check the user response Allows the application unit app to connect (provide) to the user.

예를 들어, 사용자A와 사용자B에게 사용자반응과 관련되는 테스트(예: A/B test)를 수행하는 경우, 서비스관리장치(300)는, 사용자(고객) 별 식별자를 구분하기만 한다면 식별자에 매칭된 사용자를 확인하여 사용자반응을 확인하려는 해당 응용단위앱을 사용자 별로 연결시킬 수 있다.For example, when performing a test (eg, A / B test) related to a user response to user A and user B, the service management device 300, if only to distinguish the identifier for each user (customer), By checking the matched user, the corresponding application unit app to check the user response can be linked for each user.

즉, 식별자1을 갖는 사용자A에게는 업데이트된 응용단위앱(500)이 연결되도록 하며, 식별자2를 갖는 사용자B에게는 기 이용되던 응용단위앱(510)이 연결되도록 한다.That is, the updated application unit app 500 is connected to the user A having the identifier 1, and the application unit app 510 which is used is connected to the user B having the identifier 2.

이처럼 본 발명에서는 기존 상용장치의 로더밸런서(Load Balancer)의 구성을 변경하지 않고도 플랫폼 단에서 소프트웨어적(s/w)적으로 사용자(고객) 별로 사용자반응을 확인하려는 해당 응용단위앱이 연결되도록 할 수 있다. 이에, 개발자/서버 운용자의 도움이 없이도 다양한 테스트가 수행되도록 하는 제4 개발처리과정이 수행되도록 제어할 수 있게 된다.As such, in the present invention, without changing the configuration of the load balancer (load balancer) of the existing commercial device to be connected to the application unit app that wants to check the user response for each user (customer) by software (s / w) at the platform stage Can be. Thus, it is possible to control the fourth development process to perform a variety of tests without the help of the developer / server operator.

한편, 개발환경이 제4 개발환경이 아닌 경우(S109의 NO), 서비스관리장치(300)는 개발환경이 업데이트에 따른 서비스변경결과를 사용자의 셋탑박스로 제공하는 제5 개발환경인 것으로 판단한다.On the other hand, if the development environment is not the fourth development environment (NO in S109), the service management device 300 determines that the development environment is the fifth development environment that provides the service change result according to the update to the user's set-top box. .

이처럼 개발환경이 제5 개발환경인 경우, 서비스관리장치(300)는 셋탑박스로부터 웹브라우져를 통해 서비스변경결과가 요청되면, 서비스변경결과가 셋탑박스로 전송되도록 하는 제5 개발처리과정이 수행되도록 제어한다(S111).As such, when the development environment is the fifth development environment, when the service change result is requested from the set top box through the web browser, the service management device 300 performs a fifth development process for transmitting the service change result to the set top box. Control (S111).

보다 구체적으로 살펴보면, 도 3의 (e)에 도시된 바와 같이, IPTV 서비스의 대부분은 사용자(고객)의 셋탑박스를 통해서 이루어지는데, 헤드엔드(Head-end)에서 특정서비스(예: VoD)와 관련된 애플리케이션의 업데이트를 신속하게 수행하더라도, 셋탑박스(200a)에서 서비스 반영이 지연되면 결국 사용자(고객)에게 서비스 지연이 발생할 수 밖에 없다.In more detail, as shown in (e) of FIG. 3, most of the IPTV services are performed through a set-top box of a user (customer), and a specific service (eg, VoD) is associated with a head-end. Even if the related application is quickly updated, if the service reflection is delayed in the set-top box 200a, a service delay may inevitably occur to the user (customer).

즉, 기존에는 셋탑박스(200a)에서 특정서비스(예: VoD)와 관련된 모든 애플리케이션을 탑재하고 있어, 애플리케이션의 업데이트를 수행해야 할 때에는 셋탑박스(200a)를 전반적으로 업데이트해야 했다. 이러한 셋탑박스(200a)가 수백 만대인 경우에는 업데이트하기까지 많은 시간과 노력이 소요되는 한계점이 존재한다.That is, in the past, the set-top box 200a includes all applications related to a specific service (for example, VoD), and when the application needs to be updated, the set-top box 200a needs to be updated. If the set-top box (200a) is millions of units there is a limit that takes a lot of time and effort to update.

이러한 문제를 해소하기 위해, 본 발명에서는 도 3의 (h)에 도시된 바와 같이, 셋탑박스(200a)에는 웹(Web) 브라우져의 기능만이 탑재되도록 하고, 특정서비스(예: VoD)와 관련된 모든 애플리케이션은 헤드엔드(Head-end)에 구비되도록 구현한다.In order to solve this problem, in the present invention, as shown in (h) of FIG. 3, the set-top box 200a is equipped with only a function of a web browser and associated with a specific service (eg, VoD). All applications are implemented at the head-end.

이에, 셋탑박스(200a)는 웹브라우져를 통해 애플리케이션의 업데이트에 대한 수행결과를 요청하게 되며, 이러한 요청을 수신한 서비스관리장치(300)에서는 서비스변경결과가 셋탑박스(200a)로 전송되도록 하는 제5 개발처리과정을 수행할 수 있게 되는 것이다.Accordingly, the set-top box 200a requests the execution result of the update of the application through a web browser, and the service management device 300 receiving the request transmits the service change result to the set-top box 200a. 5 Development process can be performed.

이상에서 설명한 바와 같이 본 발명에 따른 서비스 관리를 위한 장치 및 방법에 의하면, 특정서비스와 관련된 애플리케이션이 응용프로그램 단위로 동작하는 컨테이너(이하, 응용단위앱)로 구현되도록 함으로써, 개발환경이 상이하더라도 최적화된 개발처리과정이 수행될 수 있게 됨에 따라 서비스 중단 없이 다수의 서버에서 운용중인 애플리케이션을 관리, 즉 애플리케이션 업데이트, 신규 서비스 기능의 추가, 사용자반응 테스트, 및 부하에 따른 애플리케이션들의 자동 증감(scale out/in), 헤드엔드(Head-end)의 서비스변경결과 즉시 제공 등을 용이하게 수행할 수 있어 보다 유연한 서비스를 제공할 수 있는 효과를 도출한다. As described above, according to the apparatus and method for service management according to the present invention, an application related to a specific service is implemented in a container (hereinafter referred to as an application unit) that operates in an application unit, thereby optimizing even if the development environment is different. As developed development processes can be performed, it is possible to manage applications running on multiple servers without service interruptions, ie update applications, add new service functions, test user response, and automatically scale out / load applications according to load. in), Head-end service change result can be easily provided immediately, resulting in more flexible service.

본 발명의 실시예들은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments of the present invention may be implemented in the form of program instructions that may be executed by various computer means and may be recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.Although the present invention has been described in detail with reference to preferred embodiments, the present invention is not limited to the above-described embodiments, and the technical field to which the present invention belongs without departing from the gist of the present invention as claimed in the following claims. Anyone skilled in the art will have the technical idea of the present invention to the extent that various modifications or changes are possible.

본 발명의 서비스 관리를 위한 장치 및 방법에 따르면, 특정서비스와 관련된 애플리케이션이 응용프로그램 단위로 동작하는 컨테이너(이하, 응용단위앱)로 구현되도록 함으로써, 개발환경이 상이하더라도 최적화된 개발처리과정이 수행될 수 있도록 하는, 새로운 PaaS 기반의 응용단위앱을 통한 IPTV 서비스 관리 방안을 실현할 수 있다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.According to the apparatus and method for service management of the present invention, an application related to a specific service is implemented in a container (hereinafter referred to as an application unit) that operates in an application unit, so that an optimized development process is performed even though the development environment is different. In this regard, IPTV service management can be realized through a new PaaS-based application unit app, which overcomes the limitations of existing technologies. It is an invention with industrial applicability because it is not only sufficient but also practically evident.

100: 개발자단말 200: 사용자단말
300: 서비스관리장치
310: 생성제어부 320: 수행제어부
330: 저장부
100: developer terminal 200: user terminal
300: service management device
310: generation control unit 320: execution control unit
330: storage unit

Claims (12)

특정플랫폼 상에서 IPTV(Internet Protocol Television) 서비스와 관련된 애플리케이션이 응용단위앱으로 생성되도록 제어하는 생성제어부; 및
상기 응용단위앱이 적용된 개발환경을 확인한 결과를 기반으로 상기 응용단위앱과 관련되는 개발처리과정이 수행되도록 제어하는 수행제어부
를 포함하며,
상기 응용단위앱은 상기 애플리케이션과 관련된 적어도 하나의 응용프로그램에 대응하여 생성되고,
상기 생성제어부는 상기 응용프로그램의 개수를 기반으로 상기 응용단위앱을 생성하는 것을 특징으로 하는 서비스관리장치.
A generation control unit for controlling an application related to an IPTV (Internet Protocol Television) service to be generated as an application unit app on a specific platform; And
Performance control unit for controlling the development process related to the application unit app is performed based on the result of confirming the development environment to which the application unit app is applied
Including;
The application unit app is generated corresponding to at least one application program associated with the application,
The generation control unit is a service management device, characterized in that for generating the application unit app based on the number of the application program.
삭제delete 삭제delete 제 1 항에 있어서,
상기 수행제어부는,
상기 개발환경이 상기 응용단위앱의 해당 응용프로그램을 통해 마이크로서비스를 제공하는 제1 개발환경인 경우, 상기 응용단위앱의 해당 응용프로그램이 각각 특정 기능에 해당하는 마이크로서비스를 제공하도록 하는 제1 개발처리과정이 수행되도록 제어하는 것을 특징으로 하는 서비스관리장치.
The method of claim 1,
The performance control unit,
When the development environment is a first development environment that provides a microservice through a corresponding application of the application unit app, the first development for the corresponding application of the application unit app to provide a microservice corresponding to a specific function, respectively Service management apparatus, characterized in that for controlling the processing to be performed.
제 1 항에 있어서,
상기 수행제어부는,
상기 개발환경이 상기 애플리케이션의 부하증감을 관리하는 제2 개발환경인 경우, 부하증가 시에는 상기 응용단위앱 이외의 신규 응용단위앱이 생성되도록 제어하며, 부하감소 시에는 상기 응용단위앱 및 상기 신규 응용단위앱 중 적어도 하나가 제거되도록 하는 제2 개발처리과정이 수행되도록 제어하는 것을 특징으로 하는 서비스관리장치.
The method of claim 1,
The performance control unit,
When the development environment is a second development environment that manages the load increase and decrease of the application, when the load increases, it controls to create a new application unit app other than the application unit app, when the load decreases the application unit app and the new And a second development process for removing at least one of the application unit apps.
제 1 항에 있어서,
상기 수행제어부는,
상기 개발환경이 상기 응용단위앱의 해당 응용프로그램을 업데이트하는 제3 개발환경인 경우, 상기 응용단위앱의 해당 응용프로그램이 업데이트와 관련되어 개발, 검증, 배포되도록 하는 제3 개발처리과정이 수행되도록 제어하는 것을 특징으로 하는 서비스관리장치.
The method of claim 1,
The performance control unit,
If the development environment is a third development environment that updates the corresponding application of the application unit app, a third development process is performed such that the corresponding application of the application unit app is developed, verified, and distributed in connection with the update. Service management apparatus, characterized in that for controlling.
제 6 항에 있어서,
상기 수행제어부는,
상기 개발환경이 상기 업데이트에 따른 사용자반응과 관련되는 테스트를 수행하는 제4 개발환경인 경우, 상기 테스트를 수행하는 사용자의 식별번호를 확인한 결과를 기반으로 상기 사용자반응을 확인하려는 해당 응용단위앱이 해당 사용자에게 제공되도록 하는 제4 개발처리과정이 수행되도록 제어하는 것을 특징으로 하는 서비스관리장치.
The method of claim 6,
The performance control unit,
If the development environment is a fourth development environment for performing a test related to the user response according to the update, the application unit app to check the user response based on the result of confirming the identification number of the user performing the test And a fourth development process to be provided to the user.
제 6 항에 있어서,
상기 수행제어부는,
상기 개발환경이 상기 업데이트에 따른 서비스변경결과를 사용자의 셋탑박스로 제공하는 제5 개발환경인 경우, 상기 셋탑박스로부터 웹브라우져를 통해 상기 서비스변경결과가 요청되면, 상기 서비스변경결과가 상기 셋탑박스로 전송되도록 하는 제5 개발처리과정이 수행되도록 제어하는 것을 특징으로 하는 서비스관리장치.
The method of claim 6,
The performance control unit,
When the development environment is a fifth development environment that provides a service change result according to the update to a user's set-top box, when the service change result is requested from the set-top box through a web browser, the service change result is the set-top box. Service management apparatus, characterized in that to control to perform a fifth development process to be transmitted to.
특정플랫폼 상에서 IPTV(Internet Protocol Television) 서비스와 관련된 애플리케이션이 응용단위앱으로 생성되도록 제어하는 생성제어단계; 및
상기 응용단위앱이 적용된 개발환경을 확인한 결과를 기반으로 상기 응용단위앱과 관련되는 개발처리과정이 수행되도록 제어하는 수행제어단계를 포함하며,
상기 응용단위앱은 상기 애플리케이션과 관련된 적어도 하나의 응용프로그램에 대응하여 생성되고,
상기 생성제어단계는 상기 응용프로그램의 개수를 기반으로 상기 응용단위앱을 생성하는 단계를 포함하는 것을 특징으로 하는 서비스관리장치의 동작 방법.
A generation control step of controlling an application related to an IPTV (Internet Protocol Television) service to be generated as an application unit app on a specific platform; And
And a performance control step of controlling a development process related to the application unit app based on a result of confirming the development environment to which the application unit app is applied.
The application unit app is generated corresponding to at least one application program associated with the application,
The generation control step of operating the service management device, characterized in that for generating the application unit app based on the number of the application program.
삭제delete 제 9 항에 있어서,
상기 개발환경은,
상기 응용단위앱의 해당 응용프로그램을 통해 마이크로서비스를 제공하는 제1 개발환경과,
상기 애플리케이션의 부하증감을 관리하는 제2 개발환경과,
상기 응용단위앱의 해당 응용프로그램을 업데이트하는 제3 개발환경과,
상기 업데이트에 따른 사용자반응과 관련되는 테스트를 수행하는 제4 개발환경과,
상기 업데이트에 따른 해당 서비스변경결과를 사용자의 셋탑박스로 제공하는 제5 개발환경 중 적어도 하나를 포함하는 것을 특징으로 하는 서비스관리장치의 동작 방법.
The method of claim 9,
The development environment,
A first development environment for providing a microservice through a corresponding application of the application unit app;
A second development environment for managing load increase and decrease of the application;
A third development environment for updating a corresponding application of the application unit app,
A fourth development environment for performing a test related to a user response according to the update;
And at least one of a fifth development environment for providing the service change result according to the update to the user's set-top box.
제 11 항에 있어서,
상기 수행제어단계는,
상기 개발환경이 제1 개발환경인 경우, 상기 응용단위앱의 해당 응용프로그램이 각각 특정 기능에 해당하는 마이크로서비스를 제공하도록 하는 제1 개발처리과정이 수행되도록 제어하는 단계;
상기 개발환경이 제2 개발환경인 경우, 부하증가 시에는 상기 응용단위앱 이외의 신규 응용단위앱이 생성되도록 제어하며, 부하감소 시에는 상기 응용단위앱 및 상기 신규 응용단위앱 중 적어도 하나가 제거되도록 하는 제2 개발처리과정이 수행되도록 제어하는 단계;
상기 개발환경이 제3 개발환경인 경우, 상기 응용단위앱의 해당 응용프로그램이 업데이트와 관련되어 개발, 검증, 배포되도록 하는 제3 개발처리과정이 수행되도록 제어하는 단계;
상기 개발환경이 제4 개발환경인 경우, 상기 테스트를 수행하는 사용자의 식별번호를 확인한 결과를 기반으로 상기 사용자반응을 확인하려는 해당 응용단위앱위앱이 해당 사용자에게 제공되도록 하는 제4 개발처리과정이 수행되도록 제어하는 단계; 및
상기 개발환경이 제5 개발환경인 경우, 상기 셋탑박스로부터 웹브라우져를 통해 상기 서비스변경결과가 요청되면, 상기 서비스변경결과가 상기 셋탑박스로 전송되도록 하는 제5 개발처리과정이 수행되도록 제어하는 단계 중 적어도 하나를 포함하는 것을 특징으로 하는 서비스관리장치의 동작 방법.
The method of claim 11,
The performance control step,
If the development environment is a first development environment, controlling a first development process to perform a microservice corresponding to a specific function by a corresponding application of the application unit app, respectively;
When the development environment is the second development environment, when the load increases, the new application unit app other than the application unit app is controlled to be generated, and when the load decreases, at least one of the application unit app and the new application unit app is removed. Controlling a second development process to be performed;
If the development environment is a third development environment, controlling to perform a third development process for developing, verifying, and distributing a corresponding application of the application unit app in connection with an update;
If the development environment is a fourth development environment, a fourth development process for providing the corresponding application unit app wee app to check the user response based on the result of confirming the identification number of the user performing the test is provided to the user Controlling to be performed; And
If the development environment is a fifth development environment, if the service change result is requested from the set-top box through a web browser, controlling to perform a fifth development process for transmitting the service change result to the set-top box. Method of operating a service management device comprising at least one of.
KR1020170153952A 2017-11-17 2017-11-17 Apparatus and method for managing service KR102039593B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170153952A KR102039593B1 (en) 2017-11-17 2017-11-17 Apparatus and method for managing service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170153952A KR102039593B1 (en) 2017-11-17 2017-11-17 Apparatus and method for managing service

Publications (2)

Publication Number Publication Date
KR20190056709A KR20190056709A (en) 2019-05-27
KR102039593B1 true KR102039593B1 (en) 2019-11-01

Family

ID=66679335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170153952A KR102039593B1 (en) 2017-11-17 2017-11-17 Apparatus and method for managing service

Country Status (1)

Country Link
KR (1) KR102039593B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101405865B1 (en) * 2010-07-23 2014-06-12 에스케이플래닛 주식회사 Method of presentation virtualization of set-top-box, and its system
KR102105690B1 (en) * 2016-04-27 2020-04-28 한국전자통신연구원 Network Computing Testbed System Based on Open Source Virtualized Cloud Environment

Also Published As

Publication number Publication date
KR20190056709A (en) 2019-05-27

Similar Documents

Publication Publication Date Title
US10642599B1 (en) Preemptive deployment in software deployment pipelines
CN106991035B (en) Host monitoring system based on micro-service architecture
KR101802920B1 (en) Method and apparatus for creating a virtual machine system disk snapshot
US8615588B2 (en) Accelerate copying of virtual machine images
US8230264B2 (en) System evaluation apparatus
US9442813B2 (en) Replaying jobs at a secondary location of a service
US20170187572A1 (en) Method for Upgrading Network Functions Virtualization Application, Service Forwarding Method, and Apparatus
US8595724B2 (en) Using a score-based template to provide a virtual machine
KR101700313B1 (en) Instance host configuration
US20140007092A1 (en) Automatic transfer of workload configuration
JP2003114801A (en) System and method to automate management of computer services and programmable devices
EP2893443A1 (en) Re-configuration in cloud computing environments
CN109582335B (en) Method, device and equipment for on-line upgrading of non-interrupt storage cluster nodes
EP3879875A1 (en) Resource change method and device, apparatus, and storage medium
US7882232B2 (en) Rapid resource provisioning with automated throttling
EP3321808B1 (en) Verification system and verification method
KR102039593B1 (en) Apparatus and method for managing service
EP3182278A1 (en) System for automatic preparation of integrated development environments
US20140281474A1 (en) System and Method for Unattended Out of Band Job Execution
JP4554581B2 (en) Job management apparatus, system and program
CN112711575A (en) Deployment method, system and related device of database cluster
CN116149707B (en) Method and device for detecting and avoiding upgrading risk of distributed system
WO2022196625A1 (en) Operation management device, system, and method, and computer-readable medium
CN102156685A (en) Method and device for automatically configuring distributed network system script
US20230367632A1 (en) Job management system and control method thereof

Legal Events

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