KR101445538B1 - Method and apparatus for testing server for clouding streaming service - Google Patents

Method and apparatus for testing server for clouding streaming service Download PDF

Info

Publication number
KR101445538B1
KR101445538B1 KR1020130011749A KR20130011749A KR101445538B1 KR 101445538 B1 KR101445538 B1 KR 101445538B1 KR 1020130011749 A KR1020130011749 A KR 1020130011749A KR 20130011749 A KR20130011749 A KR 20130011749A KR 101445538 B1 KR101445538 B1 KR 101445538B1
Authority
KR
South Korea
Prior art keywords
test data
server
virtual client
test
failure
Prior art date
Application number
KR1020130011749A
Other languages
Korean (ko)
Other versions
KR20140099036A (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 KR1020130011749A priority Critical patent/KR101445538B1/en
Publication of KR20140099036A publication Critical patent/KR20140099036A/en
Application granted granted Critical
Publication of KR101445538B1 publication Critical patent/KR101445538B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 클라우드 스트리밍을 위한 서버의 테스트 방법 및 장치에 관한 것으로, 서버에 접속하여 동작하는 클라이언트의 적어도 일부 기능을 가상화한 가상 클라이언트 모듈을 적어도 하나 구비하고, 상기 적어도 하나의 가상 클라이언트 모듈을 통해서 서로 다른 적어도 하나의 서버로부터 각각 테스트 데이터를 수신한 후, 상기 가상 클라이언트 모듈들에 수신하여 출력된 테스트 데이터를 서로 비교하여, 그 비교 결과에 따라서 서버의 장애 여부를 간단하게 판단할 수 있는 것이다.The present invention relates to a method and an apparatus for testing a server for cloud streaming, including at least one virtual client module virtualizing at least some functions of a client connected to a server, After receiving the test data from at least one other server, compare the test data received and output to the virtual client modules, and determine whether the server has failed according to the comparison result.

Description

클라우드 스트리밍을 위한 서버의 테스트 방법 및 장치{METHOD AND APPARATUS FOR TESTING SERVER FOR CLOUDING STREAMING SERVICE}METHOD AND APPARATUS FOR TESTING SERVER FOR CLOUDING STREAMING SERVICE [0002]

본 발명은 서버 테스트 시스템에 관한 것으로서, 특히 클라우드 스트리밍 서비스를 제공하는 서버의 정상 동작 여부를 테스트할 수 있도록 함으로써 안정적인 클라우드 스트리밍 서비스를 제공할 수 있는 클라우드 스트리밍을 위한 서버의 테스트 방법 및 이를 위한 장치에 관한 것이다.The present invention relates to a server test system, and more particularly, to a server testing method for a cloud streaming capable of providing a stable cloud streaming service by allowing a server that provides a cloud streaming service to be tested for normal operation, .

클라우드 컴퓨팅이란 인터넷 기반의 컴퓨터 기술을 의미하는 것으로, 사용자가 필요한 소프트웨어를 자신의 컴퓨터에 설치하지 않고도 인터넷 접속을 통해 언제든 사용할 수 있고 동시에 각종 정보통신 기기로 데이터를 손쉽게 공유할 수 있는 사용 환경이다. 즉, 개인이 웹에 접속해서 포토샵, 오피스 같은 프로그램을 작업할 수 있고 그 작업에 대한 저장도 웹에서 하게 된다. 결국 가상공간에 한 서버(컴퓨터)만을 놓고 이러한 컴퓨터를 통해 여러 사람이 개인 작업을 할 수 있는 것이다. 은행의 APM이나 항공기, 열차의 실시간 좌석 예약 시스템이 대표적이다.Cloud computing refers to Internet-based computer technology, which allows users to use the Internet at any time without having to install the necessary software on their computers, while simultaneously sharing data with various information and communication devices. In other words, an individual can access the Web and work on programs such as Photoshop and Office, and the work is stored on the Web. Ultimately, you can have only one server (computer) in the virtual space, and that many people can do their jobs through these computers. APM of bank, real-time seat reservation system of aircraft and train is representative.

IT기술이 발전하고, 어플리케이션 시장이 커지고, SNS 시장이 활성화될 수록 유저들의 콘텐츠 등 데이터 양이 급증하고 있다. 그러고 이제는 데이터가 과포화 상태가 되어 각각의 단말기로는 감당하기 어려운 상황까지 놓이게 되었다. 이런 상황을 클라우드 시스템은 완전히 해결할 수 있다. 그리고, 이러한 클라우드 시스템은 초소형 디바이스 환경을 구축하는데 밑바탕이 될 것이다.As the IT technology develops, the application market grows, and the SNS market becomes more active, the amount of data such as user content is surging. Now, the data becomes supersaturated, and it becomes difficult to handle each terminal. This situation can be completely solved by the cloud system. And this cloud system will be the foundation for building a tiny device environment.

예를 들어, 대용량의 영상 처리가 요구되는 서비스나 기능을 실행하는데 있어서, 클라우드 컴퓨팅 기반의 서버를 통해서 상기 서비스나 기능을 실행하도록 하고, 그 실행된 결과 화면만을 스트리밍 기술을 이용하여 사용자의 단말기로 전송함으로써, 사용자가 단말기를 통해 고사양 또는 고기능이 요구되는 서비스나 기능을 이용할 수 있도록 한다.For example, in executing a service or a function requiring a large amount of image processing, the service or function may be executed through a server based on cloud computing, and only the executed result screen may be transmitted to the user's terminal So that the user can utilize services or functions requiring high-performance or high functionality through the terminal.

이렇게 사용자 단말기의 요구에 따라서 특정 서비스 혹은 기능을 실행하고 그 결과를 사용자 단말로 전송하는 화면 가상화 기술을 통하여 사용자 단말기가 다양한 서비스나 기능을 이용할 수 있도록 하는 기술을 클라우드 스트리밍 서비스라 한다.A technology that enables a user terminal to use various services or functions through a screen virtualization technology that executes a specific service or function according to a request of the user terminal and transmits the result to the user terminal is called a cloud streaming service.

이러한 클라우드 스트리밍 기반의 컴퓨팅 환경에 있어서는, 서버에서 주요 서비스나 기능이 실행되기 때문에 서버의 장애 여부를 미리 감지하기 위한 기술 개발이 요구되고 있다.In such a cloud-streaming-based computing environment, since a major service or function is executed in the server, development of technology for detecting whether or not the server has failed is required.

한국 공개 특허 제10-2011-0061418호, 2011년 06월 09일 공개 (명칭: 게임 테스트를 위한 게임 문법 기반의 패킷 캡쳐 분석 장치 및 그 방법)Korean Patent Laid-Open No. 10-2011-0061418, June 09, 2011 (Name: Game Grammatical Packet Capture Analyzer and Method for Game Test)

본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 클라우드 스트리밍 서비스를 제공하는 서버의 정상 동작 여부를 테스트할 수 있는 클라우드 스트리밍을 위한 서버의 테스트 방법 및 장치를 제공하고자 한다.The present invention has been proposed in order to solve the problems of the related art, and it is an object of the present invention to provide a method and an apparatus for testing a server for cloud streaming which can test whether a server providing a cloud streaming service operates normally.

특히, 본 발명은 가상 클라이언트 모듈을 통해서 다수의 서버로부터 전송된 테스트 데이터를 수신하여 비교함으로써 서버의 정상 동작 여부를 테스트할 수 있는 클라우드 스트리밍을 위한 서버의 테스트 방법 및 이를 위한 장치를 제공하고자 한다.In particular, the present invention provides a testing method of a server for cloud streaming and an apparatus therefor, which can test whether the server operates normally by receiving and comparing test data transmitted from a plurality of servers through a virtual client module.

상술한 바와 같은 과제를 해결하기 위한 본 발명의 바람직한 실시 예에 따른 클라우드 스트리밍을 위한 서버의 테스트 장치는 각각 서로 다른 서버로부터 테스트 데이터를 수신하는 적어도 둘 이상의 가상 클라이언트 모듈; 상기 적어도 둘 이상의 가상 클라이언트 모듈에서 출력되는 테스트 데이터를 서로 비교하는 비교부; 상기 비교부를 통해 비교한 테스트 데이터들의 일치 여부에 따라 서버의 장애 여부를 판단하는 테스트 제어부를 포함하며, 상기 비교부는, 상기 적어도 둘 이상의 가상 클라이언트 모듈 중에서, 기 설정된 가상 클라이언트 모듈로부터 출력된 특정 테스트 데이터와 나머지 가상 클라이언트 모듈로부터 출력된 테스트 데이터를 비교하거나, 상기 출력되는 테스트 데이터들을 서로 비교한 결과에 따라 서로 일치하는 하나 이상의 테스트 데이터와 일치하지 않은 하나 이상의 테스트 데이터를 분류하고, 상기 테스트 제어부는,상기 비교부를 통해 비교한 테스트 데이터들이 서로 일치하지 않으면, 일치하지 않은 테스트 데이터를 전송한 서버가 장애가 있는 것으로 판단하고, 서로 일치하면, 일치하는 테스트 데이터를 전송한 서버가 장애가 없는 것으로 판단하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a testing apparatus for a server for cloud streaming, comprising: at least two virtual client modules for receiving test data from different servers; A comparison unit comparing the test data output from the at least two virtual client modules with each other; And a test controller for determining whether the server has failed according to whether the test data are compared through the comparison unit, wherein the comparison unit compares the specific test data output from the predetermined virtual client module among the at least two virtual client modules Comparing the test data output from the remaining virtual client modules or one or more pieces of test data that do not match one or more pieces of test data that match each other according to a result of comparing the output test data with each other, If the compared test data do not coincide with each other, it is determined that the server that transmitted the unmatched test data has a failure, and if they match, the server that transmitted the matching test data regards that there is no failure And it characterized in that.

본 발명의 실시 예에 따른 클라우드 스트리밍을 위한 서버의 테스트 장치에 있어서, 상기 테스트 제어부는 상기 기 설정된 가상 클라이언트 모듈로부터 출력된 테스트 데이터와 일치하는 나머지 가상 클라이언트 모듈로부터 출력된 테스트 데이터를 전송한 서버가 장애가 없는 것으로 판단하고, 상기 기 설정된 가상 클라이언트 모듈로부터 출력된 테스트 데이터와 일치하지 않은 나머지 가상 클라이언트 모듈로부터 출력된 테스트 데이터를 전송한 서버가 장애가 있는 것으로 판단할 수 있다.In the server for testing a server for cloud streaming according to an exemplary embodiment of the present invention, the test control unit may include a server for transmitting test data output from the remaining virtual client modules matching the test data output from the predetermined virtual client module It may be determined that there is a failure and that the server that transmitted the test data output from the remaining virtual client module that does not match the test data output from the predetermined virtual client module may determine that there is a failure.

또한, 본 발명의 실시 예에 따른 테스트 장치에 있어서, 상기 테스트 제어부는, 상기 비교부를 통해 비교한 테스트 데이터들 중에서, 분류된 상기 서로 일치하는 하나 이상의 테스트 데이터를 전송한 제1 그룹의 서버들은 장애가 없다고 판단하고, 분류된 상기 일치하지 않는 하나 이상의 테스트 데이터를 전송하고 상기 제1 그룹보다 적은 수의 서버가 포함된 제2 그룹의 서버들은 장애가 있다고 판단할 수 있다.Also, in the test apparatus according to the embodiment of the present invention, the test control unit may determine that the first group of servers, which have transmitted the one or more pieces of test data corresponding to each other among the test data compared through the comparison unit, It is determined that there is a failure, and the second group of servers, which includes the less than the first group, transmits the one or more pieces of the test data that are not classified, and may determine that there is a failure.

더하여, 상술한 과제를 해결하기 위한 본 발명의 실시 예에 따른 클라우드 스트리밍을 위한 서버의 테스트 방법은, 테스트 장치가, 적어도 둘 이상의 가상 클라이언트 모듈을 통해서 서로 다른 적어도 하나의 서버로부터 각각 테스트 데이터를 수신하는 과정; 상기 가상 클라이언트 모듈들에서 출력되는 테스트 데이터를 서로 비교하는 과정;비교한 테스트 데이터들의 일치 여부에 따라 상기 적어도 하나의 서버에 대한 장애 여부를 판단하는 과정을 포함하며, 상기 비교하는 과정은, 상기 적어도 둘 이상의 가상 클라이언트 모듈 중에서, 기 설정된 가상 클라이언트 모듈로부터 출력된 특정 테스트 데이터와 나머지 가상 클라이언트 모듈로부터 출력된 테스트 데이터를 비교하거나, 상기 출력되는 테스트 데이터들을 서로 비교한 결과에 따라 서로 일치하는 테스트 데이터들과 일치하지 않은 테스트 데이터를 분류하고, 상기 서버에 대한 장애 여부를 판단하는 과정은, 비교한 테스트 데이터들이 서로 일치하지 않으면, 일치하지 않은 테스트 데이터를 전송한 서버가 장애가 있는 것으로 판단하고, 서로 일치하면, 일치하는 테스트 데이터를 전송한 서버가 장애가 없는 것으로 판단하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a method of testing a server for cloud streaming, the method comprising: receiving test data from at least one server through at least two virtual client modules, Process; Comparing the test data output from the virtual client modules with each other, and determining whether the at least one server is faulty according to whether the compared test data match or not, Comparing the specific test data outputted from the predetermined virtual client module and the test data outputted from the remaining virtual client module among the two or more virtual client modules or comparing the output test data with each other, And a step of judging whether or not the server has failed, if the compared test data do not coincide with each other, determine that the server which transmitted the unmatched test data has a failure, if , The server that transmitted the matching test data determines that there is no failure.

본 발명의 실시 예에 따른 테스트 방법에 있어서, 상기 판단하는 과정은, 분류된 상기 서로 일치하는 하나 이상의 테스트 데이터를 전송한 제1 그룹의 서버들은 장애가 없다고 판단하고, 분류된 상기 일치하지 않은 하나 이상의 테스트 데이터를 전송하고 상기 제1 그룹보다 적은 수의 서버들이 포함된 제2 그룹의 서버들은 장애가 있다고 판단할 수 있다.
본 발명의 실시 예에 따른 테스트 방법에 있어서, 상기 판단하는 과정은, 상기 기 설정된 가상 클라이언트 모듈로부터 출력된 테스트 데이터와 일치하는 나머지 가상 클라이언트 모듈로부터 출력된 테스트 데이터를 전송한 서버가 장애가 없는 것으로 판단하고, 상기 기 설정된 가상 클라이언트 모듈로부터 출력된 테스트 데이터와 일치하지 않은 나머지 가상 클라이언트 모듈로부터 출력된 테스트 데이터를 전송한 서버가 장애가 있는 것으로 판단할 수 있다.
In the testing method according to an embodiment of the present invention, the determining step may include determining that the first group of servers that have transmitted the one or more pieces of test data corresponding to each other have no failure, A second group of servers that transmit test data and that contain fewer servers than the first group may determine that there is a failure.
In the test method according to the embodiment of the present invention, the determining step may include determining that the server that transmitted the test data output from the remaining virtual client module that matches the test data output from the predetermined virtual client module has failed And the server that transmitted the test data output from the remaining virtual client module that does not match the test data output from the preset virtual client module may determine that there is a failure.

본 발명은 과제 해결을 위한 또 다른 수단으로서, 상술한 테스트 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공한다.As another means for solving the problems, the present invention provides a computer-readable recording medium on which a program for executing the above-described test method is recorded.

본 발명은 클라우드 스트리밍 서비스를 제공하는 서버를 테스트하는데 있어서, 실제 클라이언트 단말기와 동일한 성능의 가상 클라이언트 모듈을 구비하고, 적어도 하나의 서버로부터 전송된 테스트 데이터를 가상 클라이언트 모듈을 통해 수신하고, 수신된 결과를 비교하여 적어도 하나의 서버에 대한 정상 동작 여부를 보다 손쉽게 확인할 수 있는 이점이 있다.The present invention provides a method for testing a server providing a cloud streaming service, the method comprising: receiving virtual test data transmitted from at least one server through a virtual client module, So that it is possible to more easily confirm whether or not the normal operation of at least one server is confirmed.

또한, 이와 같이 서버의 장애 여부를 테스트 함으로써 서버의 데이터 전송오류를 사전에 방지할 수 있는 효과가 있다.In addition, by testing whether or not the server has failed, it is possible to prevent a data transmission error of the server in advance.

특히, 클라우드 스트리밍 서비스를 제공하는 서버의 장애 여부를 테스트함으로써 안정적인 서비스를 제공하도록 하여 서비스 품질을 향상시킬 수 있는 우수한 효과가 있다.In particular, there is an excellent effect of improving service quality by providing a stable service by testing whether or not a server providing a cloud streaming service has failed.

도 1은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 위한 서버의 테스트 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 실시 예에 따라 테스트 장치의 구성을 도시한 도면이다.
도 3은 본 발명의 실시 예에 따라 테스트 데이터를 전송하는 서버의 구성을 도시한 도면이다.
도 4는 본 발명의 실시 예에 따른 테스트 시스템에서 서버를 테스트하기 위한 과정을 나타내는 흐름도이다.
도 5는 본 발명의 실시 예에 따른 테스트 장치의 동작 과정을 나타내는 흐름도이다.
1 is a diagram illustrating a configuration of a test system of a server for a cloud streaming service according to an embodiment of the present invention.
2 is a diagram showing a configuration of a test apparatus according to an embodiment of the present invention.
3 is a diagram illustrating a configuration of a server for transmitting test data according to an embodiment of the present invention.
4 is a flowchart illustrating a procedure for testing a server in a test system according to an embodiment of the present invention.
5 is a flowchart illustrating an operation procedure of a test apparatus according to an embodiment of the present invention.

이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It should be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.

이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms and words used in the present specification and claims should not be construed to be limited to ordinary or dictionary meanings and the inventor is not limited to the concept of terminology for describing his or her invention in the best way. It should be interpreted as meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention, and not all of the technical ideas of the present invention are described. Therefore, It is to be understood that equivalents and modifications are possible.

이하의 실시 예에 있어서는, 클라우드 스트리밍 서비스를 위한 서버의 전송오류 혹은 서버 장애를 사전에 방지할 수 있는 테스트 장치 및 방법에 대하여 설명하도록 한다. In the following embodiments, a test apparatus and method that can prevent a transmission error or a server failure of a server for a cloud streaming service in advance will be described.

도 1은 본 발명의 실시 예에 따른 클라우드 스트리밍을 위한 서버의 테스트 시스템의 구성을 도시한 도면이다.1 is a diagram illustrating a configuration of a test system of a server for cloud streaming according to an embodiment of the present invention.

도 1을 참조하면, 본 발명이 적용된 클라우드 스트리밍 시스템은, 통신망(110)을 통해서 연결된 다수의 클라이언트(100, 101, 102)와 다수의 서버(130, 140, 150)로 이루어지며, 본 발명은 이러한 클라우드 스트리밍 시스템의 장애 테스트를 위하여, 상기 다수의 서버(130, 140, 150)와 통신망(100)을 통해서 연결되며 상기 클라이언트(100, 101, 102)의 적어도 일부 기능을 수행하는 가상 클라이언트 모듈을 포함하는 테스트 장치(120)를 더 포함한다.Referring to FIG. 1, a cloud streaming system to which the present invention is applied includes a plurality of clients 100, 101, and 102 and a plurality of servers 130, 140, and 150 connected through a communication network 110, In order to test the failure of the cloud streaming system, a virtual client module connected to the plurality of servers 130, 140, 150 through the communication network 100 and performing at least some functions of the clients 100, 101, (Not shown).

본 발명의 실시 예에서는 세 개의 서버(130, 140, 150) 및 세 개의 가상 클라이언트 모듈을 포함하는 테스트 장치(120)를 도시하였으나, 상기 서버의 수 및 가상 클라이언트 모듈의 수는 이에 한정되지 않으며 필요 및 설계에 따라서 다양한 조합으로 구현될 수 있다.Although the embodiment of the present invention shows a test apparatus 120 including three servers 130, 140 and 150 and three virtual client modules, the number of servers and the number of virtual client modules are not limited thereto, And various combinations depending on the design.

상기에서, 클라이언트(100, 101, 102)는 통신망(110)을 경유하여 각종 데이터를 송수신할 수 있는, 특히 서버(130, 140, 150)에 접속하여 클라우드 스트리밍 서비스를 이용할 수 있는 사용자측 단말기를 의미하는 것이며, 태블릿 PC(Tablet PC), 랩톱(Laptop), 개인용 컴퓨터(PC: Personal Computer), 스마트폰(Smart Phone), 개인휴대용 정보단말기(PDA: Personal Digital Assistant), 스마트 TV 및 이동통신 단말기(Mobile Communication Terminal), 셋탑박스 중 어느 하나일 수 있다.The clients 100, 101 and 102 are connected to the servers 130, 140 and 150 to transmit and receive various data via the communication network 110, And may be a tablet PC, a laptop, a personal computer (PC), a smart phone, a personal digital assistant (PDA), a smart TV, and a mobile communication terminal A mobile communication terminal, and a set-top box.

또한, 클라이언트(100, 101, 102)는 통신망(110)을 경유하여 서버(130, 140, 150)와 통신하기 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 단말기를 의미한다. 즉, 클라이언트(100, 101, 102)는 서버(130, 140, 150)와 통신이 가능하다면 그 어떠한 단말기도 가능하며, 노트북 컴퓨터, 이동통신 단말기, PDA 등의 통신 컴퓨팅 장치를 모두 포함하는 넓은 개념이다.The clients 100, 101, and 102 may also include a browser for communicating with the servers 130, 140, and 150 via the communication network 110, a memory for storing programs and protocols, A microprocessor, and the like. That is, the clients 100, 101, and 102 may be any terminal as long as they can communicate with the servers 130, 140, and 150 and may be a broad concept including a communication computer such as a notebook computer, a mobile communication terminal, to be.

이러한 클라이언트(100, 101, 102)는 예를 들어, 서버(130, 140, 150)에 접속하여 사용자 입력에 따라서 특정 서비스 또는 기능을 요청하고, 상기 요청된 서비스 또는 기능의 실행에 따른 결과 화면을 서버(130, 140, 150)로부터 수신하여 출력할 수 있다.For example, the clients 100, 101, and 102 access the servers 130, 140, and 150 to request a specific service or function according to user input, and display a result screen on execution of the requested service or function And can receive and output it from the servers 130, 140, and 150.

그리고, 서버(130, 140, 150)는 통신망(110)을 통해 다수의 클라이언트(100, 101, 102)들로 특정 서비스나 기능을 제공하는 구성으로서, 특히, 클라우드 스트리밍 서비스를 제공할 수 있다. 예를 들어, 서버(130, 140, 150)는 클라이언트(100, 101, 102)의 OS 종류, CPU 성능, 메모리 용량, 기타 소프트웨어 및 하드웨어 사양에 관계없이, 소정의 서비스나 기능, 예를 들어, 고성능의 이미지 처리를 요하는 서비스나 기능을 제공할 수 있도록, 클라이언트(100, 101, 102)로부터 전송된 사용자 입력에 따른 서비스 혹은 기능을 수행하고, 그 결과 화면을 상기 클라이언트(100, 101, 102)로 전송할 수 있다. 이를 위해, 상기 서버(130, 140, 150)는 화면 가상화 기능을 구비할 수 있다. 특히, 본 발명에서 서버(130, 140, 150)는 정상 동작 여부를 테스트받기 위하여, 기 설정된 테스트 데이터를 테스트 장치(120)의 각 가상 클라이언트 모듈들로 전송할 수 있다.The servers 130, 140 and 150 provide a specific service or function to a plurality of clients 100, 101 and 102 through the communication network 110, and can provide a cloud streaming service in particular. For example, the servers 130, 140, and 150 may provide a predetermined service or function, for example, a service or a function, regardless of the OS type, CPU performance, memory capacity, and other software and hardware specifications of the clients 100, Performs a service or function according to user input transmitted from the client (100, 101, 102) and provides a result screen to the client (100, 101, 102) so as to provide a service or a function requiring high- ). For this, the server 130, 140, 150 may have a screen virtualization function. In particular, in the present invention, the servers 130, 140, and 150 may transmit predetermined test data to each virtual client module of the test apparatus 120 in order to test whether the server 130,

통신망(110)은 인터넷망, 인트라넷망, 이동통신망, 위성 통신망 등 다양한 유무선 통신 기술을 이용하여 인터넷 프로토콜로 데이터를 송수신할 수 있는 망을 말한다. 이러한, 통신망(110)은 LAN(Local Area Network), WAN(Wide Area Network)등의 폐쇄형 네트워크, 인터넷(Internet)과 같은 개방형 네트워크뿐만 아니라, CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), GSM(Global System for Mobile Communications), LTE(Long Term Evolution), EPC(Evolved Packet Core) 등의 네트워크와 향후 구현될 차세대 네트워크 및 컴퓨팅 네트워크를 통칭하는 개념이다. The communication network 110 refers to a network capable of transmitting and receiving data using an Internet protocol using various wired and wireless communication technologies such as an Internet network, an intranet network, a mobile communication network, and a satellite communication network. The communication network 110 may be a closed network such as a LAN (Local Area Network) or a WAN (Wide Area Network), an open network such as the Internet, a CDMA (Code Division Multiple Access), a WCDMA The concept is called the next generation network and computing network that will be implemented next, such as Multiple Access, Global System for Mobile Communications (GSM), Long Term Evolution (LTE) and Evolved Packet Core (EPC)

테스트 장치(120)는 서버(130, 140, 150)의 정상 동작 여부, 즉 장애를 테스트 하기 위한 서버이다. 이러한 테스트 장치(120)는 클라이언트(100, 101, 102)의 적어도 일부 기능을 가지는 가상 클라이언트 모듈을 적어도 하나 구비한다. The test apparatus 120 is a server for testing whether the servers 130, 140, 150 are operating normally, that is, failures. The test apparatus 120 includes at least one virtual client module having at least some functions of the clients 100, 101,

이러한 테스트 장치(120)는 적어도 하나의 서버(130, 140, 150)로부터 전송된 테스트 데이터를 상기 적어도 하나의 가상 클라이언트 모듈들 통해 각각 수신하며, 상기 적어도 하나의 가상 클라이언트 모듈로부터 출력된 테스트 데이터를 서로 비교해서 데이터 일치 여부에 따라 장애 여부를 판단한다. 이때, 가상 클라이언트 모듈들은 각각 서로 다른 서버로부터 테스트 데이터를 수신한다. 즉, 적어도 하나의 가상 클라이언트 모듈이 각각 서로 다른 서버에 매핑되며, 매핑된 서버로부터 전송된 테스트 데이터를 수신한다. 이를 위해 상기 테스트 장치(120)는 상기 적어도 하나의 서버(130, 140, 150)로 동시에 테스트 데이터의 전송을 요청할 수 있으며, 이러한 요청 신호에 따라서 각 서버(130, 140, 150)는 기 저장된 테스트 데이터를 전송할 수 있다.The test device 120 receives test data transmitted from at least one server 130, 140, 150 via the at least one virtual client module, and transmits test data output from the at least one virtual client module And judges whether there is a failure according to whether or not the data is matched. At this time, the virtual client modules each receive test data from different servers. That is, at least one virtual client module is mapped to a different server, and test data transmitted from the mapped server is received. For this, the test apparatus 120 can simultaneously request the transmission of test data to the at least one server 130, 140, 150. In response to the request signal, each of the servers 130, 140, Data can be transmitted.

이와 같이 구성된 테스트 시스템에서 첨부된 도 2 및 도 3을 참조하여 본 발명의 실시 예에 따른 테스트 장치(120)의 구성 및 동작을 구체적으로 살펴보도록 한다.The configuration and operation of the test apparatus 120 according to the embodiment of the present invention will be described in detail with reference to FIGS. 2 and 3 attached hereto.

먼저, 도 2를 참조하면 테스트 장치(120)는 테스트 제어부(200), 저장부(210), 비교부(220), 입력부(230), 출력부(240), 적어도 하나의 가상 클라이언트 모듈(250, 252, 254)를 포함하여 구성할 수 있다. 본 실시 예에서 가상 클라이언트 모듈(250, 252, 254)의 수로 3개로 예시하였으나, 상기 가상 클라이언트 모듈(250, 252, 254)의 수는 시스템 운용에 따라서 변경될 수 있다.2, the test apparatus 120 includes a test control unit 200, a storage unit 210, a comparison unit 220, an input unit 230, an output unit 240, at least one virtual client module 250 , 252, and 254, respectively. Although the number of the virtual client modules 250, 252, and 254 is three in the present embodiment, the number of the virtual client modules 250, 252, and 254 may be changed according to the system operation.

테스트 제어부(200)는 서버(130, 140, 150)들의 장애 여부를 판단에 필요한 모든 제어를 수행하고, 장애 여부 판단 요구 시 비교부(220)를 통해 비교한 테스트 데이터의 일치 여부에 따라 서버 장애 여부를 판단한다. 이때, 장애 여부 판단 요구 시점은 가상 클라이언트 모듈(250, 252, 254)로 데이터 수신이 감지되고 수신이 완료된 시점으로 할 수도 있고, 입력부(230)를 통해 장애 여부 판단 요구 입력이 있는 시점으로 할 수도 있고, 미리 설정된 주기에 따른 시점이 될 수도 있다. 이와 같이 장애 여부 판단 요구는 설정에 따라 발생할 것이다.The test control unit 200 performs all necessary control to determine whether the servers 130, 140, and 150 have failed or not. When the test control unit 200 requests the determination of the failure, . At this time, the point of time of requesting the determination of the failure may be the time when the data reception is detected by the virtual client modules 250, 252, 254 and the reception is completed, or the time when the failure determination request input is made through the input unit 230 And may be a time according to a predetermined period. In this way, a fault judgment request will occur according to the setting.

저장부(210)는 테스트 장치(120)의 동작에 필요한 정보들을 저장할 수 있다. 이러한 저장부(210)는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media) 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리를 포함한다. The storage unit 210 may store information necessary for the operation of the test apparatus 120. [ The storage unit 210 may be an optical recording medium such as a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, a compact disk read only memory (CD-ROM), and a digital video disk (DVD) A magneto-optical medium such as a floppy disk and a ROM, a random access memory (RAM), and a flash memory.

비교부(220)는 테스트 제어부(200)의 제어에 따라 각각의 가상 클라이언트 모듈(250, 252, 254)을 통해 수신한 테스트 데이터의 전달을 요구하고, 테스트 데이터를 전달받아 서로 비교한 후 비교 결과를 테스트 제어부(200)로 출력한다.The comparison unit 220 requests transfer of the test data received through the respective virtual client modules 250, 252, and 254 under the control of the test control unit 200, receives the test data, compares the received test data, To the test control unit (200).

입력부(230)는 서버 관리자의 조작에 따라서 서버 관리자의 요청이나 정보에 해당하는 사용자 입력 신호를 발생할 수 있으며, 현재 상용화되어 있거나 향후 상용화가 가능한 다양한 입력 수단으로 구현될 수 있으며, 예를 들면, 키보드, 마우스, 조이스틱, 터치 스크린, 터치 패드 등과 같은 일반적인 입력 장치뿐만 아니라, 사용자의 모션을 감지하여 특정 입력 신호를 발생하는 제스처 입력 수단을 포함할 수 있다.The input unit 230 can generate a user input signal corresponding to a request or information of the server manager according to the operation of the server manager and can be realized by various input means that are currently commercialized or can be commercialized in the future. , A mouse, a joystick, a touch screen, a touch pad, or the like, as well as a gesture input means for sensing a user's motion and generating a specific input signal.

출력부(240)는 테스트 장치(120)의 동작 결과나 상태를 서버 관리자가 인식할 수 있도록 제공하는 수단으로서, 예를 들면, 화면을 통해 시각적으로 출력하는 표시부나, 가청음을 출력하는 스피커 등을 포함할 수 있다. 특히, 본 발명에 있어서, 출력부(240)은 서버 관리자의 요구에 따라 서버의 장애 여부 판단 결과, 테스트 데이터의 비교 결과를 표시할 수 있다.The output unit 240 is a means for providing the server manager with an operation result or status of the test apparatus 120. For example, the output unit 240 may include a display unit for visually outputting the result through a screen, a speaker for outputting an audible sound, . Particularly, in the present invention, the output unit 240 can display the result of the comparison of the test data as a result of determining whether the server has failed or not according to the request of the server manager.

가상 클라이언트 모듈(250, 252, 254)은 서버(130, 140, 150)에 접속하여 클라우드 스트리밍 서비스를 제공받는 클라이언트(100, 101, 102)를 가상화한 구성으로서, 실제 클라이언트(100, 101, 102)의 기능 중 적어도 일부의 기능을 수행할 수 있다. 예를 들어, 상기 가상 클라이언트 모듈(250, 252, 254)는 특정 서버(130, 140, 150)에 접속하여 특정 서버(130, 140, 150)로부터 전송된 테스트 데이터를 수신하여 출력할 수 있다. 이때, 상기 가상 클라이언트 모듈(250, 252, 254)는 상기 수신된 테스트 데이터에 대한 소정의 처리, 예를 들어, 디코딩 등의 처리를 수행할 수도 있다.The virtual client modules 250, 252 and 254 virtualize the clients 100, 101 and 102 connected to the servers 130, 140 and 150 and provided with the cloud streaming service, ) Function of at least a part of the functions. For example, the virtual client modules 250, 252, and 254 may access the specific servers 130, 140, and 150 to receive and output test data transmitted from the specific servers 130, 140, and 150. At this time, the virtual client modules 250, 252, and 254 may perform a predetermined process, for example, decoding, on the received test data.

이후, 가상 클라이언트 모듈(250, 252, 254)은 비교부(220)의 수신 테스트 데이터 전달 요구에 따라 각각 수신한 테스트 데이터를 비교부(220)로 전달한다.The virtual client modules 250, 252, and 254 transmit the received test data to the comparison unit 220 according to the reception test data delivery request of the comparison unit 220. [

이러한 가상 클라이언트 모듈(250, 252, 254)의 내부 구성은 도 3과 같이 도시할 수 있다. 각각의 가상 클라이언트 모듈(250, 252, 254)의 구성은 동일하므로 도 3의 설명에서는 도면부호 250의 가상 클라이언트 모듈을 예로 들어 설명하도록 한다.The internal configuration of the virtual client modules 250, 252, and 254 may be as shown in FIG. Since the configurations of the respective virtual client modules 250, 252, and 254 are the same, the virtual client module 250 will be described as an example in the description of FIG.

도 3을 참조하면, 가상 클라이언트 모듈(250)는 제어부(300), 통신부(302), 저장부(304)를 포함하여 구성할 수 있다. 이러한 가상 클라이언트 모듈(250)은 서버(130, 140, 150)로부터 제공되는 데이터를 수신할 수 있는 단말 장치 예를 들어, 태블릿 PC(Tablet PC), 랩톱(Laptop), 개인용 컴퓨터(PC: Personal Computer), 스마트폰(Smart Phone), 개인휴대용 정보단말기(PDA: Personal Digital Assistant), 스마트 TV 및 이동통신 단말기(Mobile Communication Terminal), 셋탑박스 중 하나의 단말을 가상화하여 구현될 수 있다. 따라서, 어떤 종류의 단말 장치이냐에 따라서 그 구성이나 기능 또한 상이하게 구성될 것이다. Referring to FIG. 3, the virtual client module 250 may include a controller 300, a communication unit 302, and a storage unit 304. The virtual client module 250 may be a terminal device capable of receiving data provided from the servers 130, 140 and 150, for example, a tablet PC, a laptop, a personal computer ), A smart phone, a personal digital assistant (PDA), a smart TV, a mobile communication terminal, and a set-top box. Accordingly, the configuration and the function of the terminal device of any kind will be different from each other.

제어부(300)는 가상 클라이언트 모듈(250)의 전반적인 제어를 수행하고, 특히 비교부(220)로부터 서버(130, 140, 150)로부터 수신한 테스트 데이터 전달 요구에 따라 저장부(304)에 저장된 테스트 데이터를 비교부(220)로 전달한다. 또한, 제어부(300)는 통신부(302)를 통해서 특정 서버(130, 140, 150)로 테스트 데이터 전송 요청 신호를 전송할 수 있다.The control unit 300 performs overall control of the virtual client module 250 and in particular performs the test stored in the storage unit 304 in response to the test data transfer request received from the server 130, And transmits the data to the comparing unit 220. [ In addition, the control unit 300 may transmit a test data transmission request signal to the specific server 130, 140, or 150 through the communication unit 302.

통신부(302)는 통신망(110)을 통해 서버(130, 140, 150)로부터 전송된 테스트 데이터를 수신한다. 이러한 통신부(302)는 유선 방식 및 무선 방식뿐만 아니라 다양한 통신 방식을 통해서 데이터를 송수신할 수 있다. 더하여, 통신부(302)는 하나 이상의 통신 방식을 사용하여 데이터를 송수신할 수 있으며, 이를 위하여 통신부(302)는 각각 서로 다른 통신 방식에 따라서 데이터를 송수신하는 복수의 통신 모듈을 포함할 수 있다.The communication unit 302 receives the test data transmitted from the servers 130, 140, and 150 through the communication network 110. The communication unit 302 can transmit and receive data through various communication methods as well as wired and wireless methods. In addition, the communication unit 302 may transmit and receive data using one or more communication methods. For this purpose, the communication unit 302 may include a plurality of communication modules that transmit and receive data according to different communication methods, respectively.

저장부(304)는 가상 클라이언트 모듈(250)의 동작에 필요한 정보들을 저장하며, 특히, 서버(130, 140, 150)로부터 수신한 테스트 데이터를 저장할 수 있다. 이러한 저장부(304)는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media) 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리를 포함한다. The storage unit 304 stores information necessary for the operation of the virtual client module 250 and may store test data received from the servers 130, The storage unit 304 may be an optical recording medium such as a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, a CD-ROM (Compact Disc Read Only Memory), a DVD (Digital Video Disk) A magneto-optical medium such as a floppy disk and a ROM, a random access memory (RAM), and a flash memory.

그러면, 상기와 같이 구성된 테스트 시스템에서 서버를 테스트하는 과정에 대해 첨부된 도 4 및 도 5을 참조하여 구체적으로 설명하기로 한다.Hereinafter, a process of testing a server in the test system configured as above will be described in detail with reference to FIGS. 4 and 5.

도 4는 본 발명의 실시 예에 따른 테스트 시스템에서 서버를 테스트하기 위한 과정을 나타내는 흐름도이다.4 is a flowchart illustrating a procedure for testing a server in a test system according to an embodiment of the present invention.

서버(130, 140, 150)는 정상 동작 여부를 테스트하기 위한 테스트 데이터를 테스트 장치의 가상 클라이언트 모듈(250, 252, 254)로 동시에 전송한다(S402 내지 S406). 즉, 서버(130)는 가상 클라이언트 모듈(250)로 테스트 데이터를 전송하고, 서버(140)는 가상 클라이언트 모듈(252)로 테스트 데이터를 전송하고, 서버(150)는 가상 클라이언트 모듈(254)로 테스트 데이터를 전송할 수 있다. 이와 달리, 하나의 가상 클라이언트 모듈이 다수의 서버(130, 140, 150)로부터 순차적으로 테스트 데이터를 수신할 수도 있다.The servers 130, 140 and 150 simultaneously transmit the test data for testing whether the normal operation is performed to the virtual client modules 250, 252 and 254 of the test apparatus (S402 to S406). That is, the server 130 transmits the test data to the virtual client module 250, the server 140 transmits the test data to the virtual client module 252, and the server 150 transmits the test data to the virtual client module 254 Test data can be transmitted. Alternatively, one virtual client module may sequentially receive the test data from the plurality of servers 130, 140, and 150.

테스트 데이터를 수신한 테스트 장치(120)의 테스트 제어부(200)는 테스트 요구에 따라 비교부(220)로 테스트 데이터 비교를 요청한다(S408, S410).The test control unit 200 of the test apparatus 120 receiving the test data requests the comparison unit 220 to compare the test data according to the test request (S408, S410).

테스트 장치(120)의 비교부(220)는 각 가상 클라이언트 모듈(250, 252, 254)로 서버(130, 140, 150)로부터 수신한 테스트 데이터 전달을 요구한다(S412, S414, S418).The comparison unit 220 of the test apparatus 120 requests transfer of the test data received from the servers 130, 140 and 150 to the respective virtual client modules 250, 252 and 254 (S412, S414 and S418).

각 가상 클라이언트 모듈(250, 252, 254)는 비교부(220)의 요구에 따라 수신 테스트 데이터를 비교부(220)로 전달한다(S414, S418, S422).Each of the virtual client modules 250, 252, and 254 transmits the received test data to the comparison unit 220 according to the request of the comparison unit 220 (S414, S418, and S422).

이후, 비교부(220)는 수신한 테스트 데이터들을 서로 비교하여 비교 결과를 테스트 제어부(200)로 전달한다(S424, S426). 이때, 테스트 데이터를 비교하는 방법으로는 각 서버로부터 수신한 테스트 데이터들을 서로 비교하여 일치하는 테스트 데이터들과 일치하지 않은 테스트 데이터를 분류할 수도 있고, 비교 기준이 되는 테스트 데이터를 미리 저장한 후 수신한 테스트 데이터들을 기준 테스트 데이터와 비교하도록 할 수도 있다. 또한 상기 수신한 다수의 테스트 데이터 중 특정 가상 클라이언트 모듈(250)을 통해 수신한 테스트 데이터와 나머지 테스트 데이터를 비교할 수 도 있다.Thereafter, the comparing unit 220 compares the received test data with each other and transmits the comparison result to the test controller 200 (S424, S426). At this time, as a method of comparing test data, test data received from each server may be compared with each other to classify test data that does not match the same test data, test data to be a comparison reference may be stored in advance, One test data may be compared with the reference test data. The test data received through the specific virtual client module 250 among the received plurality of test data may be compared with the remaining test data.

그러면, 테스트 제어부(200)는 비교부(220)의 비교 결과에 따라 서버의 장애 여부를 판단하는데, 이때 비교 결과 테스트 데이터가 서로 일치하면 장애 없다고 판단하고, 서로 일치하지 않으면 장애가 있다고 판단한다(S428). 더 구체적으로 설명하면, 본 발명의 일 실시 예에서, 테스트 제어부(200)는 비교부(220)의 비교 결과에 따라서 상호 일치하는 테스트 데이터를 전송한 제1 그룹의 서버들과, 일치하지 않는 테스트 데이터를 전송한 제2 그룹의 서버들을 구분하여, 제1 그룹의 서버들을 정상으로 판단하고, 제2 그룹의 서버들을 장애가 있는 것으로 판단할 수 있다. 이때, 제1 그룹의 서버의 수가 제2 그룹의 서버의 수보다 많도록, 제1 그룹과 제2 그룹을 구분할 수 있다. 즉, 서로 일치하는 테스트 데이터를 전송한 다수의 서버들을 정상으로 판단하고, 일치하지 않은 테스트 데이터를 전송한 소수의 서버를 장애로 판단할 수 있다. 본 발명의 다른 실시 예에 있어서, 테스트 제어부(200)는 수신한 테스트 데이터들 중 기 설정된 특정 테스트 데이터, 즉, 특정 가상 클라이언트 모듈(252)을 통해 수신한 테스트 데이터와 다른 수신 테스트 데이터를 비교하여, 상기 특정 테스트 데이터와 일치하지 않는 테스트 데이터를 전송한 서버를 장애가 있는 것으로 판단할 수 있다. 여기서, 특정 가상 클라이언트 모듈(252)은 정상인 것으로 판정된 서버로부터 테스트 데이터를 수신하거나, 기 저장된 정상 상태의 테스트 데이터를 수신 테스트 데이터로 출력할 수 있다.Then, the test control unit 200 determines whether the server has failed based on the comparison result of the comparison unit 220. If the comparison result indicates that the test data are identical to each other, the test control unit 200 determines that there is no failure, ). More specifically, in one embodiment of the present invention, the test control unit 200 compares the first group of servers that transmitted mutually matching test data with the comparison result of the comparison unit 220, The first group of servers may be determined as normal and the second group of servers may be determined as having a failure by distinguishing the second group of servers that have transmitted the data. At this time, the first group and the second group can be distinguished so that the number of servers of the first group is larger than the number of servers of the second group. That is, a plurality of servers transmitting test data matching each other can be judged as normal, and a small number of servers transmitting test data that do not match can be judged as a fault. In another embodiment of the present invention, the test control unit 200 compares predetermined test data among the received test data, that is, test data received through the specific virtual client module 252, with other received test data , It is possible to judge that the server that transmitted the test data that does not match the specific test data has a fault. Here, the specific virtual client module 252 can receive the test data from the server determined to be normal or output the pre-stored normal test data as the received test data.

도 5는 본 발명의 실시 예에 따른 테스트 장치(120)에서 서버(130, 140, 150)의 정상 동작 여부를 테스트하기 위한 과정을 나타내는 흐름도이다.5 is a flowchart illustrating a procedure for testing whether the server 130, 140, 150 is normally operated in the test apparatus 120 according to an exemplary embodiment of the present invention.

먼저, 테스트 장치(120)가 대기 상태 중, 테스트가 요구되거나, 기 설정된 테스트 시점이 되면, 구비된 모든 가상 클라이언트 모듈을 통해 다수의 서버(130, 140, 150)로부터 테스트 데이터를 수신하여 비교한다(S500 ~ S504). 그리고 테스트 데이터의 비교 결과에 따라서, 적어도 하나의 서버에 대한 장애를 판단한다(S506). 이때, 모든 가상 클라이언트 모듈은 서로 다른 서버로부터 테스트 데이터를 수신하고, 테스트 장치(120)는 각각 수신한 테스트 데이터를 비교하는 것이다. 그리고, 테스트 장치(120)에서의 테스트 데이터의 비교 및 장애 판단은 상기 도 4에서 설명한 바와 같이 다양한 방법으로 이루어질 수 있을 것이다. 예를 들어, 테스트 장치(120)는 테스트 데이터를 상호 비교하여 서로 일치하는 다수의 테스트 데이터와 일치하지 않는 소수의 테스트 데이터를 구분하고, 서로 일치하는 다수의 테스트 데이터를 전송한 서버를 정상으로 판단하고, 일치하지 않는 소수의 테스트 데이터를 전송한 서버를 장애로 판단하거나, 특정 테스트 데이터를 기준으로 다른 테스트 데이터를 비교하여, 특정 테스트 데이터와 일치하지 않는 테스트 데이터를 전송한 서버를 장애로 판단할 수 있다.First, when the test apparatus 120 is in a standby state, a test is requested, or a predetermined test time, test data is received from a plurality of servers 130, 140, and 150 through all the virtual client modules provided therein and is compared (S500 to S504). Then, in accordance with the comparison result of the test data, it is determined that there is a failure for at least one server (S506). At this time, all the virtual client modules receive test data from different servers, and the test device 120 compares the received test data. The comparison of the test data in the test apparatus 120 and the determination of the failure may be performed by various methods as described with reference to FIG. For example, the test apparatus 120 compares test data with each other to distinguish a small number of test data that do not coincide with a plurality of test data that coincide with each other, and determines a server that has transmitted a plurality of test data coincident with each other as normal A server that has transmitted a small number of unmatched test data is determined to be a failure or a server that has transmitted test data that does not match specific test data is determined as a failure by comparing the other test data based on the specific test data .

본 발명에 따른 클라우드 스트리밍을 위한 서버의 테스트 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method for testing a server for cloud streaming according to the present invention may be implemented in a form of software readable by various computer means and recorded in a computer-readable recording medium. Here, the recording medium may include program commands, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on a recording medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. For example, the recording medium may be an optical recording medium such as a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, a compact disk read only memory (CD-ROM), a digital video disk (DVD) Includes a hardware device that is specially configured to store and execute program instructions such as a magneto-optical medium such as a floppy disk and a ROM, a random access memory (RAM), a flash memory, do. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like. Such hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.It should be noted that the embodiments of the present invention disclosed in the present specification and drawings are only illustrative of specific examples for the purpose of understanding and are not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

본 발명은 데이터 제공을 수행하는 서버의 정상 동작 여부를 테스트 하는 시스템에 관한 것으로서, 특히 클라우드 스트리밍 서비스를 제공하는 서버의 정상 동작 여부를 미리 테스트하여 확인하도록 함으로써 서버에서 클라우드 스트리밍 서비스 제공 시 발생할 수 있는 장애를 사전에 방지할 수 있도록 하고, 이를 통해 안정적인 서비스 제공을 가능케 함으로써 클라우드 스트리밍 서비스에 대한 서비스 품질을 향상시킬 수 있다.The present invention relates to a system for testing normal operation of a server for providing data, and more particularly, to a system for testing whether a server providing cloud streaming service is operating normally, Thereby preventing a failure in advance, and by providing a stable service through this, it is possible to improve the quality of service for the cloud streaming service.

100, 101, 102: 클라이언트 110: 통신망 120: 테스트 장치
130: 서버 200: 테스트 제어부 210: 저장부
220: 비교부 230: 입력부 240: 출력부
250, 252, 254: 가상 클라이언트 모듈 300: 제어부
302: 통신부 304: 저장부
100, 101, 102: client 110: communication network 120: test apparatus
130: server 200: test control unit 210:
220: comparison unit 230: input unit 240: output unit
250, 252, 254: virtual client module 300:
302: communication unit 304:

Claims (7)

각각 서로 다른 서버로부터 테스트 데이터를 수신하는 적어도 둘 이상의 가상 클라이언트 모듈;
상기 적어도 둘 이상의 가상 클라이언트 모듈에서 출력되는 테스트 데이터를 서로 비교하는 비교부;
상기 비교부를 통해 비교한 테스트 데이터들의 일치 여부에 따라 서버의 장애 여부를 판단하는 테스트 제어부;
를 포함하며,
상기 비교부는,
상기 적어도 둘 이상의 가상 클라이언트 모듈 중에서, 기 설정된 가상 클라이언트 모듈로부터 출력된 특정 테스트 데이터와 나머지 가상 클라이언트 모듈로부터 출력된 테스트 데이터를 비교하거나, 상기 출력되는 테스트 데이터들을 서로 비교한 결과에 따라 서로 일치하는 하나 이상의 테스트 데이터와 일치하지 않은 하나 이상의 테스트 데이터를 분류하고,
상기 테스트 제어부는,
상기 비교부를 통해 비교한 테스트 데이터들이 서로 일치하지 않으면, 일치하지 않은 테스트 데이터를 전송한 서버가 장애가 있는 것으로 판단하고, 서로 일치하면, 일치하는 테스트 데이터를 전송한 서버가 장애가 없는 것으로 판단하는 것을 특징으로 하는 클라우드 스트리밍을 위한 서버의 테스트 장치.
At least two virtual client modules each receiving test data from different servers;
A comparison unit comparing the test data output from the at least two virtual client modules with each other;
A test controller for determining whether the server has failed according to the comparison of the test data compared through the comparison unit;
/ RTI >
Wherein,
Comparing the specific test data output from the predetermined virtual client module with the test data output from the remaining virtual client module among the at least two virtual client modules or comparing the output test data with each other, Classifying one or more pieces of test data that do not match the test data,
The test control unit,
If the compared test data do not coincide with each other, it is determined that the server that transmitted the unmatched test data has a failure, and if they match, the server that transmitted the matching test data determines that there is no failure A server's test device for cloud streaming.
제1항에 있어서, 상기 테스트 제어부는,
상기 기 설정된 가상 클라이언트 모듈로부터 출력된 테스트 데이터와 일치하는 나머지 가상 클라이언트 모듈로부터 출력된 테스트 데이터를 전송한 서버가 장애가 없는 것으로 판단하고, 상기 기 설정된 가상 클라이언트 모듈로부터 출력된 테스트 데이터와 일치하지 않은 나머지 가상 클라이언트 모듈로부터 출력된 테스트 데이터를 전송한 서버가 장애가 있는 것으로 판단하는 것을 특징으로 하는 클라우드 스트리밍을 위한 서버의 테스트 장치.
The apparatus of claim 1,
The server that has transmitted the test data output from the remaining virtual client module matching the test data output from the predetermined virtual client module determines that there is no failure, Wherein the server that transmitted the test data output from the virtual client module determines that there is a failure.
제1항에 있어서, 상기 테스트 제어부는,
상기 비교부를 통해 비교한 테스트 데이터들 중에서, 분류된 상기 서로 일치하는 하나 이상의 테스트 데이터를 전송한 제1 그룹의 서버들은 장애가 없다고 판단하고, 분류된 상기 일치하지 않는 하나 이상의 테스트 데이터를 전송하고 상기 제1 그룹보다 적은 수의 서버가 포함된 제2 그룹의 서버들은 장애가 있다고 판단하는 것을 특징으로 하는 클라우드 스트리밍을 위한 서버의 테스트 장치.
The apparatus of claim 1,
Wherein the server of the first group that has transmitted the at least one test data that matches the classified test data among the test data that are compared through the comparison unit determines that there is no failure and transmits at least one of the unmatched test data, And the second group of servers including a smaller number of servers than the first group judges that there is a failure.
테스트 장치가,
적어도 둘 이상의 가상 클라이언트 모듈을 통해서 서로 다른 적어도 하나의 서버로부터 각각 테스트 데이터를 수신하는 과정;
상기 가상 클라이언트 모듈들에서 출력되는 테스트 데이터를 서로 비교하는 과정;
비교한 테스트 데이터들의 일치 여부에 따라 상기 적어도 하나의 서버에 대한 장애 여부를 판단하는 과정;
을 포함하며,
상기 비교하는 과정은,
상기 적어도 둘 이상의 가상 클라이언트 모듈 중에서, 기 설정된 가상 클라이언트 모듈로부터 출력된 특정 테스트 데이터와 나머지 가상 클라이언트 모듈로부터 출력된 테스트 데이터를 비교하거나, 상기 출력되는 테스트 데이터들을 서로 비교한 결과에 따라 서로 일치하는 테스트 데이터들과 일치하지 않은 테스트 데이터를 분류하고,
상기 서버에 대한 장애 여부를 판단하는 과정은,
비교한 테스트 데이터들이 서로 일치하지 않으면, 일치하지 않은 테스트 데이터를 전송한 서버가 장애가 있는 것으로 판단하고, 서로 일치하면, 일치하는 테스트 데이터를 전송한 서버가 장애가 없는 것으로 판단하는 것을 특징으로 하는 클라우드 스트리밍을 위한 서버의 테스트 방법.
The test apparatus,
Receiving test data from at least one different server through at least two virtual client modules;
Comparing test data output from the virtual client modules with each other;
Determining whether the at least one server is faulty according to whether the compared test data match;
/ RTI >
Wherein the comparing comprises:
Comparing the specific test data output from the predetermined virtual client module with the test data output from the remaining virtual client module among the at least two virtual client modules or comparing the output test data with each other, Classify test data that does not match the data,
The method of claim 1,
The server that transmitted the test data that does not match judges that there is a failure, and if the test data that match the test data do not match, the server that transmitted the test data that does not match judges that there is a failure, How to test the server for.
제4항에 있어서, 상기 판단하는 과정은,
분류된 상기 서로 일치하는 하나 이상의 테스트 데이터를 전송한 제1 그룹의 서버들은 장애가 없다고 판단하고, 분류된 상기 일치하지 않은 하나 이상의 테스트 데이터를 전송하고 상기 제1 그룹보다 적은 수의 서버들이 포함된 제2 그룹의 서버들은 장애가 있다고 판단하는 것을 특징으로 하는 클라우드 스트리밍을 위한 서버의 테스트 방법.
5. The method of claim 4,
The first group of servers transmitting the one or more pieces of test data corresponding to each other are judged as not failing, the one or more pieces of test data that are not classified are transmitted, And the second group of servers determine that there is a failure.
제4항에 있어서, 상기 판단하는 과정은,
상기 기 설정된 가상 클라이언트 모듈로부터 출력된 테스트 데이터와 일치하는 나머지 가상 클라이언트 모듈로부터 출력된 테스트 데이터를 전송한 서버가 장애가 없는 것으로 판단하고, 상기 기 설정된 가상 클라이언트 모듈로부터 출력된 테스트 데이터와 일치하지 않은 나머지 가상 클라이언트 모듈로부터 출력된 테스트 데이터를 전송한 서버가 장애가 있는 것으로 판단하는 것을 특징으로 하는 클라우드 스트리밍을 위한 서버의 테스트 방법.
5. The method of claim 4,
The server that has transmitted the test data output from the remaining virtual client module matching the test data output from the predetermined virtual client module determines that there is no failure, Wherein the server that transmitted the test data output from the virtual client module determines that there is a failure.
제4항 내지 제6항 중 어느 한 항에 기재된 테스트 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium recording a program for executing the test method according to any one of claims 4 to 6.
KR1020130011749A 2013-02-01 2013-02-01 Method and apparatus for testing server for clouding streaming service KR101445538B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130011749A KR101445538B1 (en) 2013-02-01 2013-02-01 Method and apparatus for testing server for clouding streaming service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130011749A KR101445538B1 (en) 2013-02-01 2013-02-01 Method and apparatus for testing server for clouding streaming service

Publications (2)

Publication Number Publication Date
KR20140099036A KR20140099036A (en) 2014-08-11
KR101445538B1 true KR101445538B1 (en) 2014-09-29

Family

ID=51745573

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130011749A KR101445538B1 (en) 2013-02-01 2013-02-01 Method and apparatus for testing server for clouding streaming service

Country Status (1)

Country Link
KR (1) KR101445538B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209508A (en) * 2019-05-20 2019-09-06 湖南康通电子股份有限公司 A kind of method and system of broadcasting equipment remote debugging

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021523A (en) 2002-06-14 2004-01-22 Canon Inc Load test system to network server
US20090313603A1 (en) 2008-06-13 2009-12-17 Dov Tendler System And Method For Creating Virtual Callback Objects
KR20100065046A (en) * 2008-12-05 2010-06-15 한국전자통신연구원 Apparatus and method for application testing of system based on embedded
JP2011248597A (en) * 2010-05-26 2011-12-08 Yokogawa Electric Corp Tester simulation apparatus, tester simulation program, and tester simulation method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021523A (en) 2002-06-14 2004-01-22 Canon Inc Load test system to network server
US20090313603A1 (en) 2008-06-13 2009-12-17 Dov Tendler System And Method For Creating Virtual Callback Objects
KR20100065046A (en) * 2008-12-05 2010-06-15 한국전자통신연구원 Apparatus and method for application testing of system based on embedded
JP2011248597A (en) * 2010-05-26 2011-12-08 Yokogawa Electric Corp Tester simulation apparatus, tester simulation program, and tester simulation method

Also Published As

Publication number Publication date
KR20140099036A (en) 2014-08-11

Similar Documents

Publication Publication Date Title
US10282246B2 (en) Application error detection method for cloud streaming service, and apparatus and system therefor
EP3255889B1 (en) System and method for testing and certification of media devices for use within a connected media environment
US10313207B2 (en) Method for testing cloud streaming server, and apparatus and system therefor
US8762544B2 (en) Selectively communicating data of a peripheral device to plural sending computers
US9483298B2 (en) Converting virtual machine I/O requests
US20140013001A1 (en) Parallel probing for efficient proxy selection in networked environments
US10031916B2 (en) Methods and systems for virtualizing and managing cloud storage sources
KR101445539B1 (en) Method for testing server for cloud streaming service, apparatus and system therefor
US9971726B2 (en) Session-level-restriction for universal serial bus storage devices
AU2018202020A1 (en) Enabling device under test conferencing via a collaboration platform
KR101997649B1 (en) Method for changing reference server for testing cloud streaming server, apparatus and system therefor
KR101403321B1 (en) Method for testing server for cloud streaming service, system and apparatus thereof
KR101543295B1 (en) Application error detection method for cloud streaming service, apparatus and system therefor
KR101445538B1 (en) Method and apparatus for testing server for clouding streaming service
KR20140101622A (en) Method for testing server for cloud streaming service, system and apparatus thereof
CN114375594B (en) Seamless roaming of real-time media sessions
US9838275B2 (en) Method for resource and performance matching in virtual pool of mixed graphics workloads
KR101997540B1 (en) Method for testing cloud streaming server, apparatus and system therefor
KR102058365B1 (en) Method for testing cloud streaming server, apparatus and system therefor
KR102059376B1 (en) Method for testing cloud streaming server, apparatus and system therefor
KR102119248B1 (en) Method for testing cloud streaming server, apparatus and system therefor
KR102199296B1 (en) Method for testing cloud streaming server, apparatus and system therefor
KR102055705B1 (en) Method for testing cloud streaming server, apparatus and system therefor
US20170169483A1 (en) Method for pushing and displaying information and electronic device
US20170060795A1 (en) System and methods to support vendor defined usb requests for application managed usb devices in vdi environments

Legal Events

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

Payment date: 20170830

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180711

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190819

Year of fee payment: 6