KR101403321B1 - 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 시스템 및 장치 - Google Patents

클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 시스템 및 장치 Download PDF

Info

Publication number
KR101403321B1
KR101403321B1 KR1020130014999A KR20130014999A KR101403321B1 KR 101403321 B1 KR101403321 B1 KR 101403321B1 KR 1020130014999 A KR1020130014999 A KR 1020130014999A KR 20130014999 A KR20130014999 A KR 20130014999A KR 101403321 B1 KR101403321 B1 KR 101403321B1
Authority
KR
South Korea
Prior art keywords
server
data pattern
test
received
pattern
Prior art date
Application number
KR1020130014999A
Other languages
English (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 KR1020130014999A priority Critical patent/KR101403321B1/ko
Application granted granted Critical
Publication of KR101403321B1 publication Critical patent/KR101403321B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 시스템 및 장치에 관한 것으로, 특히, 서버의 테스트 시스템은 서버 테스트를 위한 테스트 데이터를 전송하는 적어도 하나의 서버 및 적어도 하나의 가상 클라이언트 모듈을 포함하고, 적어도 하나의 가상 클라이언트 모듈로 각각 서로 다른 서버로부터 테스트 신호가 수신되면, 수신된 테스트 데이터를 서로 비교해서 데이터 일치 여부에 따라 장애 여부를 판단하는 테스트 장치를 포함하는 것을 특징으로 한다. 이렇게 함으로써 서버 장애 여부를 미리 확인하여 서비스의 안정화를 도모할 수 있다.

Description

클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 시스템 및 장치{Method for testing server for cloud streaming service, system and apparatus thereof}
본 발명은 서버의 테스트 시스템에 관한 것으로서, 특히 클라우드 시스템 내에서 데이터를 제공하는 서버를 미리 테스트하여 장애 여부를 확인하도록 함으로써 서비스의 안정화를 도모할 수 있는 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 시스템 및 장치에 관한 것이다.
클라우드 시스템이란 인터넷 기반의 컴퓨터 기술을 의미하는 것으로, 여기서 클라우드는 컴퓨터 네트워크 상에 숨겨진 복잡한 인프라 구조, 인터넷을 말한다. 클라우드 컴퓨팅은 사용자가 필요한 소프트웨어를 자신의 컴퓨터에 설치하지 않고도 인터넷 접속을 통해 언제든 사용할 수 있고 동시에 각종 정보통신 기기로 데이터를 손쉽게 공유할 수 있는 사용 환경이다. 즉, 개인이 웹에 접속해서 포토샵, 오피스 같은 프로그램을 작업할 수 있고 그 작업에 대한 저장도 웹에서 하게 된다. 결국 가상공간에 한 서버(컴퓨터)만을 놓고 이러한 컴퓨터를 통해 여러 사람이 개인 작업을 할 수 있는 것이다. 은행의 APM이나 항공기, 열차의 실시간 좌석 예약 시스템이 대표적이다.
IT기술이 발전하고, 어플리케이션 시장이 커지고, SNS 시장이 활성화될 수록 유저들의 콘텐츠 등 데이터 양이 급증하고 있다. 그리고, 이제는 데이터가 과포화 상태가 되어 각각의 단말기로는 감당하기 어려운 상황까지 놓이게 되었다. 이런 상황을 클라우드 시스템은 완전히 해결할 수 있다. 그리고, 이러한 클라우드 시스템은 초소형 디바이스 환경을 구축하는데 밑바탕이 될 것이다. 예를 들어, 대용량의 영상 처리가 요구되는 서비스나 기능을 실행하는데 있어서, 클라우드 컴퓨팅 기반의 서버를 통해서 상기 서비스나 기능을 실행하도록 하고, 그 실행된 결과 화면만을 스트리밍 기술을 이용하여 사용자의 단말기로 전송함으로써, 사용자가 단말기를 통해 고사양 또는 고기능이 요구되는 서비스나 기능을 이용할 수 있도록 한다. 이렇게 사용자 단말기의 요구에 따라서 특정 서비스 혹은 기능을 실행하고 그 결과를 사용자 단말로 전송하는 화면 가상화 기술을 통하여 사용자 단말기가 다양한 서비스나 기능을 이용할 수 있도록 하는 기술을 클라우드 스트리밍 서비스라 한다.
특히, 클라우드 스트리밍 기반의 서비스는 대규모의 클라우드 노드를 구성하고, 게임 콘솔(Consol)이나 고성능 PC에서 수행하던 컴퓨터 게임을 각 클라우드 노드 상에서 실행하기 위한 것으로서, 각 노드에서 구성된 게임 영상을 유무선 네트워크를 통하여 스트리밍 방식으로 사용자 단말기에 전송하여 재생되며, 사용자 단말기에서 발생하는 사용자 입력을 클라우드 노드에 즉시 수신하여 게임에 반영할 수 있다.
이와 같은 클라우드 스트리밍 기술은 추가적인 장비 설치 없이 모바일 단말기나 디지털 TV에서 고품질 3D 어플리케이션을 사용할 수 있다. 또한, 3D 어플리케이션을 단말기에 설치하지 않거나, 업데이트도 실행하지 않으므로 언제든지 즉각 사용할 수 있다. 또한, 단일 플랫폼에 대해서 개발하고 다수의 플랫폼에서 서비스 할 수 있으므로 개발 비용이 절감된다. 또한, 사용자의 이용 패턴에 대해서 서버에 저장할 수 있으므로 이를 분석하여 보다 나은 게임 플레이의 구현에 적용할 수 있고, 어플리케이션의 실행 오류를 서버에 저장하여 오류 수정에 활용할 수 있다. 또한, 게임 패치 및 업그레이드 적용이 데이터 센터의 서버에서 이루어지기 때문에 패치 및 업그레이드가 용이하다. 또한, 서버가 있는 데이터 센터 밖으로 게임 코드가 유출되지 않으므로 불법 복제의 위험이 없다.
하지만, 이러한 클라우드 스트리밍 기반의 서비스를 제공하기 위한 요구 사항으로는 게임 전용 단말기기에서와 같은 높은 반응성, 높은 수준의 영상 품질, 반응성과 영상에 대한 품질을 유지, 적은 비용으로 서비스 시스템을 구동할 수 있는 기술이 필요하다. 그리고, 서버 동작의 장애 여부를 미리 감지하고, 서비스의 안정화를 유지하기 위한 기술 개발이 요구되고 있다.
한국 공개 특허 제10-2011-0061418호, 2011년 06월 09일 공개 (명칭: 게임 테스트를 위한 게임 문법 기반의 패킷 캡쳐 분석 장치 및 그 방법)
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 서버의 테스트 시스템은 복수의 서버로부터 각각 수신되는 테스트 데이터 패턴과 기준 데이터 패턴 간에 일치 여부를 확인하여 해당 서버의 장애 여부를 판단함으로써, 서비스의 안정화를 유지할 수 있는 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 시스템 및 장치를 제공하고자 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시 예에 따른 클라우드 스트리밍 서비스를 위한 서버의 테스트 시스템은 테스트 장치의 요청에 따라 테스트를 위한 테스트 데이터를 전송하는 적어도 하나의 서버, 적어도 하나의 가상 클라이언트 모듈을 포함하고, 적어도 하나의 가상 클라이언트 모듈로 각각 서로 다른 서버로부터 테스트 데이터가 수신되면, 수신된 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교하고, 비교 결과 일치 또는 미리 설정된 오차 범위 내에 해당되는지 여부에 따라 서버의 장애 여부를 판단하는 적어도 하나의 테스트 장치를 포함하며, 테스트 장치는, 수신한 테스트 데이터 패턴과 기준 데이터 패턴이 서로 일치 또는 수신한 테스트 데이터 패턴과 기준 데이터 패턴간에 발생한 오차가 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하고, 발생한 오차가 미리 설정된 오차 범위를 벗어나면 해당 서버에 장애가 발생한 것으로 판단하며, 수신한 데이터 패턴과 기준 데이터 패턴이 일치하지 않는 경우, 발생한 오차가 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하는 것을 특징으로 한다.
본 발명의 바람직한 실시 예에 따른 테스트 장치는 각각 서로 다른 서버로부터 테스트 데이터를 수신하는 적어도 하나의 가상 클라이언트 모듈, 적어도 하나의 가상 클라이언트 모듈로 수신된 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교하는 비교부 및 비교부를 통해 비교 결과 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간에 일치하는지 또는 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간 발생한 오차가 미리 설정된 오차 범위 내에 해당되는지 여부에 따라 서버의 장애 여부를 판단하는 테스트 제어부를 포함하며, 테스트 제어부는, 수신한 테스트 데이터 패턴과 기준 데이터 패턴이 서로 일치 또는 발생한 오차가 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하고, 발생한 오차가 미리 설정된 오차 범위를 벗어나면 해당 서버에 장애가 발생한 것으로 판단하며, 수신한 데이터 패턴과 기준 데이터 패턴이 일치하지 않는 경우, 발생한 오차가 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하는 것을 특징으로 한다.
또한, 본 발명에 따른 테스트 장치에서 가상 클라이언트 모듈은, 서버로부터 데이터를 제공받는 실제 클라이언트의 수만큼 구비하는 것을 특징으로 한다.
또한, 본 발명에 따른 테스트 장치에서 가상 클라이언트 모듈은, 각각의 클라이언트와 매칭되며, 클라이언트와 동일한 동작을 수행하는 것을 특징으로 한다.
삭제
본 발명의 바람직한 실시 예에 따라 적어도 하나의 서버와 서버와 통신망을 통해 연결된 적어도 하나의 가상 클라이언트 모듈을 구비하는 테스트 장치를 포함하는 클라우드 스트리밍 서비스를 위한 서버의 테스트 시스템에 있어서, 적어도 하나의 서버가 각각 서로 다른 가상 클라이언트 모듈로 테스트 데이터를 전송하는 단계와, 테스트 장치가 가상 클라이언트 모듈에 수신된 테스트 데이터 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교하는 단계와, 테스트 장치가 비교 결과 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간에 일치하는지 또는 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간 발생한 오차가 미리 설정된 오차 범위 내에 해당되는지 여부에 따라 서버의 장애 여부를 판단하는 단계를 포함하며, 판단하는 단계는, 수신한 테스트 데이터 패턴과 기준 데이터 패턴이 서로 일치 또는 수신한 테스트 데이터 패턴과 기준 데이터 패턴간에 발생한 오차가 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하고, 발생한 오차가 미리 설정된 오차 범위를 벗어나면 해당 서버에 장애가 발생한 것으로 판단하며, 수신한 데이터 패턴과 상기 기준 데이터 패턴이 일치하지 않는 경우, 발생한 오차가 상기 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하는 것을 특징한다.
또한, 본 발명에 따른 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법에 있어서, 테스트 장치가 각각의 서버로 동일한 데이터 크기의 테스트 데이터 전송을 요청하는 단계와, 테스트 장치가 서버로부터 테스트 데이터를 수신하는 단계와, 테스트 장치가 수신된 테스트 데이터에 대한 데이터 크기를 확인하는 단계 및 테스트 장치가 확인된 데이터 크기를 서버 별로 비교한 후, 해당 서버의 장애 여부를 판단하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명의 바람직한 실시 예에 따라 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법은 적어도 하나의 가상 클라이언트 모듈을 구비하는 단계와, 적어도 하나의 가상 클라이언트 모듈이 각각 서로 다른 서버로부터 테스트 데이터를 수신하는 단계와, 가상 클라이언트 모듈들에 수신된 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교하는 단계 및 비교 결과 비교 결과 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간에 일치하는지 또는 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간 발생한 오차가 미리 설정된 오차 범위 내에 해당되는지 여부를 판단하는 단계를 포함하며, 판단하는 단계는, 수신한 테스트 데이터 패턴과 상기 기준 데이터 패턴이 서로 일치 또는 수신한 테스트 데이터 패턴과 상기 기준 데이터 패턴간에 발생한 오차가 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하고, 발생한 오차가 미리 설정된 오차 범위를 벗어나면 해당 서버에 장애가 발생한 것으로 판단하며, 수신한 데이터 패턴과 기준 데이터 패턴이 일치하지 않는 경우, 발생한 오차가 상기 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하는 것을 특징으로 한다.
삭제
본 발명의 과제 해결을 위한 또 다른 수단으로서, 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공한다.
본 발명은 테스트 장치에 실제 클라이언트와 동일한 동작을 수행하는 가상 클라이언트 모듈을 실제 클라이언트 수만큼 구비하고, 서버로부터 테스트 데이터를 가상의 클라이언트가 수신하게 하고, 수신된 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교하고, 비교 결과 일치 또는 미리 설정된 오차 범위 내에 해당되는지 여부에 따라 서버를 테스트함으로써, 손쉽게 장애를 검출할 수 있다.
또한, 이와 같이 서버의 장애 여부를 테스트 함으로써 서비스의 안정화를 도모할 수 있다.
도 1은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 위한 서버의 테스트 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 실시 예에 따른 테스트 장치의 구성을 도시한 도면이다.
도 3은 본 발명의 실시 예에 따른 서버의 구성을 도시한 도면이다.
도 4는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법을 설명하기 위한 데이터 흐름도이다.
도 5는 본 발명의 실시 예에 따른 테스트 장치의 동작 방법을 설명하기 위한 흐름도이다.
이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
본 발명에서는 클라우드 시스템 내에서 서비스의 안정화를 유지할 수 있도록 서버를 테스트하기 위한 기술에 대하여 설명하도록 한다. 특히, 본 발명은 테스트 장치의 요청에 따라 각각의 서버로부터 수신되는 데이터를 비교하여 서버의 성능 및 기능 등의 동작의 장애 여부를 확인할 수 있는 테스트를 실행한다.
그러면 우선, 본 발명의 실시 예에 따라 서버를 테스트하기 위한 클라우드 스트리밍 서비스를 위한 서버의 테스트 시스템에 대해 첨부된 도면을 참조하여 구체적으로 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 위한 서버의 테스트 시스템의 구성을 도시한 도면이다.
도 1을 참조하면, 클라우드 스트리밍 서비스를 위한 서버의 테스트 시스템은 통신망(110)을 통해 연결되는 다수의 클라이언트(100, 101, 102), 다수의 클라이언트 각각에 매칭되는 가상 클라이언트 모듈을 포함하는 테스트 장치(120) 및 다수의 서버(130, 140, 150)를 포함하여 구성할 수 있다. 본 발명의 실시 예에서는 클라이언트를 3개로 가정하고, 이에 따라 테스트 장치에 구비되는 가상 클라이언트 모듈도 3개로 설명하도록 한다.
다수의 클라이언트(100, 101, 102)는 통신망(110)을 경유하여 각종 데이터를 송수신할 수 있는 단말기를 말하는 것이며, 태블릿 PC(Tablet PC), 랩톱(Laptop), 개인용 컴퓨터(PC: Personal Computer), 스마트폰(Smart Phone), 개인휴대용 정보단말기(PDA: Personal Digital Assistant), 스마트 TV 및 이동통신 단말기(Mobile Communication Terminal), 셋탑박스 중 어느 하나일 수 있다.
또한, 클라이언트(100, 101, 102)는 통신망(110)을 경유하여 서버(130, 140, 150)와 통신하기 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 단말기를 의미한다. 즉, 클라이언트(100, 101, 102)는 서버(130, 140, 150)와 통신이 가능하다면 그 어떠한 단말기도 가능하며, 노트북 컴퓨터, 이동통신 단말기, PDA 등의 통신 컴퓨팅 장치를 모두 포함하는 넓은 개념이다.
통신망(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) 등의 네트워크와 향후 구현될 차세대 네트워크 및 컴퓨팅 네트워크를 통칭하는 개념이다. 한편, 통신망(110)은 상기에 제시된 통신방식에 한정되는 것은 아니며, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
테스트 장치(120)는 서버(130, 140, 150)를 테스트하기 위한 서버이다. 이러한 테스트 장치(120)는 클라이언트(100, 101, 102)와 동일한 기능을 가지는 가상 클라이언트 모듈을 테스트 장치 내에 구비한다. 이때, 가상 클라이언트 모듈은 실제 클라이언트의 수와 동일한 수만큼을 구비하도록 한다.
이러한 테스트 장치(120)는 각각의 서버(130, 140, 150)로부터 전송된 테스트 데이터가 각각의 가상 클라이언트 모듈들로 수신되면 수신된 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교한다. 이후, 비교 결과 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간에 일치하는지 또는 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간 발생한 오차가 미리 설정된 오차 범위 내에 해당되는지 여부를 판단한다. 이때, 서버(130, 140, 150)로부터 전송되는 테스트 데이터는 데이터 스트림 방식으로 전송될 것이다. 여기서, 테스트 장치(120)는 각각의 서버(130, 140, 150)로부터 동일한 데이터(기준 데이터) 전송을 요청하고, 수신된 데이터에 대한 데이터 패턴을 기 요청된 데이터 패턴(기준 데이터 패턴)과 비교하여 서비스의 안정화를 유지할 수 있다.
예를 들어 스트림 데이터는 특정 패턴 형태가 "0100100"이라는 패턴이고, 기준 데이터 패턴이 "0100100"이라면 서로 일치하므로 해당 서버는 장애가 없다고 판단할 수 있다. 하지만, 데이터 패턴이 일치하지 않더라도 미리 설정된 오차 범위 내에서 오차가 발생하였다면 그 서버도 장애가 없다고 판단하도록 설정한다. 이러한 오차 범위는 관리자의 설정에 따라 변경 가능할 것이다. 즉, 테스트 장치(120)는 기준 데이터 패턴의 전송을 각각의 서버(130, 140, 150)에 전송 요청하고, 각각의 서버(130, 140, 150)로부터 수신된 데이터 패턴을 확인하여 기준 데이터 패턴과의 차이가 임계 범위 예컨대, 2자리 이상이 경우 이를 오류로 판단하여 해당 서버에 장애가 있는 것으로 간주할 수 있다. 예를 들어, 기준 데이터 패턴이 "0100100"이고, 서버(130)로부터 수신된 데이터 패턴이 "0100100"이고, 서버(140)로부터 수신된 데이터 패턴이 "0100110"이고, 서버(150)로부터 수신된 데이터 패턴이 "0100111"인 경우, 테스트 장치(120)는 기준 데이터 패턴과 수신된 데이터 패턴을 비교하여 오류 자리수가 2자리 이상인 서버(150)에 장애가 발생한 것으로 판단할 수 있다. 한편, 기준 데이터 패턴과 각각의 서버들로부터 수신된 데이터 패턴을 비교하는 2자리 수의 오류는 일 실시 예일 뿐, 2자리수에 한정된 것이 아니고, 통신 환경, 서버 성능 등에 따라 달라질 수 있다.
이와 같이 본 발명에서는 가상 클라이언트 모듈들은 각각 서로 다른 서버로부터 테스트 데이터를 수신하는데, 적어도 하나의 가상 클라이언트 모듈이 각각 서로 다른 서버로부터 테스트 데이터를 수신하고, 이렇게 가상 클라이언트 모듈에서 수신된 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교하고, 비교 결과 일치 또는 미리 설정된 오차 범위 내에 해당되는지 여부에 따라 해당 서버의 장애 여부를 판단하는 것이다.
또한, 본 발명의 다른 실시 예에 따른 테스트 장치(120)가 서버(130, 140, 150)로 동일한 데이터 크기의 데이터 전송을 요청한다. 그리고, 테스트 장치(120)는 각각의 서버로부터 해당 데이터를 수신한다. 예컨대, 테스트 장치(120)는 서버(130, 140, 150)로 100K 바이트의 데이터를 전송하도록 요청할 수 있다. 이후, 테스트 장치(120)는 수신된 데이터에 대한 데이터 크기를 확인한다. 이때, 서버(130)로부터 수신된 데이터 크기가 100K 바이트, 서버(140)로부터 수신된 데이터 크기가 80K 바이트, 서버(150)로부터 수신된 데이터 크기가 100K 바이트라고 가정한다.
확인된 데이터 크기를 서버 별로 비교한 후, 테스트 장치(120)는 해당 서버의 장애 여부를 판단한다. 즉, 테스트 장치(120)는 각각의 서버로부터 수신된 데이터 크기를 비교한 결과, 서버(130)과 서버(150)로부터 수신된 데이터 크기가 100K로 동일하고, 서버(140)로부터 수신된 데이터 크기가 80K로 다른 서버(130, 150)과 다르기 때문에, 서버(140)를 장애를 가지는 서버로 간주할 수 있다.
한편, 데이터 장치(120)는 각각의 서버(130, 140, 150)로부터 수신된 데이터 크기를 기 설정된 기준 값과 비교하고, 비교 결과 임계 범위를 초과한 경우, 해당되는 서버에 장애가 발생한 것으로 판단할 수 있다. 예를 들어, 데이터 장치(120)는 서버(130)로부터 수신된 데이터 크기가 100K 바이트, 서버(140)로부터 수신된 데이터 크기가 80K 바이트, 서버(150)로부터 수신된 데이터 크기가 90K 바이트라고 가정하고, 기 설정된 기준 값이 95K이고, 임계 범위가 2%이라고 가정하면, 오류가 발생한 서버는 서버(140, 150)이 된다.
또한, 본 발명의 실시 예에서 테스트 장치(120)에 포함된 가상 클라이언트 모듈의 수가 서버(130, 140, 150) 보다 적어서 각각이 일대일로 대응하지 못하는 경우, 테스트 장치(120)는 일정 수의 서버들을 집합화하여 분류하고, 집합화한 서버들이 가상 클라이언트 모듈에 각각 대응되도록 테스트를 실행한다.
이러한 테스트 장치(120)의 구체적인 내부 구성은 하기 도 2의 설명에서 구체적으로 하도록 한다.
서버(130, 140, 150)는 통신망(110)을 통해 다수의 클라이언트들로 IPTV(Internet Protocol Television) 서비스, VOD(Video On Demand) 서비스, 클라우드 서비스를 제공할 수 있는 서버이다. 또한, 서버(130, 140, 150)는 VOD 등의 서비스를 스트리밍 방식이나 다운로드 방식으로 제공할 수 있다. 특히, 본 발명에서 서버(130, 140, 150)는 테스트 장치(120)의 각 가상 클라이언트 모듈들로 테스트 데이터를 동시에 전송한다. 이때, 전송하는 테스트 데이터는 스트림 형태로 전송될 것이다.
또한, 서버(130, 140, 150)는 다수의 클라이언트(100, 101 102)와 연결되어 클라우드 스트리밍 기반의 어플리케이션 실행을 위한 모든 데이터를 송수신할 수 있다. 즉, 서버(130, 140, 150)는 클라이언트(100, 101, 102)로 어플리케이션을 통해 실행되는 특정 컨텐츠를 클라우드 스트리밍 기반으로 제공할 수 있다.
이와 같이 구성된 클라우드 스트리밍 서비스를 위한 서버의 테스트 시스템에서 첨부된 도 2 및 도 3을 참조하여 본 발명의 실시 예에 따른 테스트 장치인 테스트 장치(120) 및 서버(130, 140, 150)의 내부 구성을 구체적으로 살펴보도록 한다.
먼저, 도 2를 참조하면 테스트 장치(120)는 테스트 제어부(200), 저장부(210), 비교부(220), 입력부(230), 출력부(240), 가상 클라이언트 모듈들(250, 252, 254)를 포함하여 구성할 수 있다.
상기 도 1에서 언급한 바와 같이 본 발명의 실시 예에서는 실제 서버로부터 데이터 서비스를 제공받는 클라이언트가 3개로 가정하였으므로 도 2의 테스트 장치(120)의 구성에서도 가상 클라이언트 모듈의 수가 3개로 설명한다.
테스트 제어부(200)는 서버(130, 140, 150)들의 장애 여부를 판단에 필요한 모든 제어를 수행하고, 장애 여부 판단 요구 시 비교부(220)를 통해 비교 결과, 즉 가상 클라이언트 모듈들(250, 252, 254)로 수신된 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교한 비교 결과 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간에 일치하는지 또는 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간 발생한 오차가 미리 설정된 오차 범위 내에 해당되는지 여부를 판단한다. 이때, 장애 여부 판단 요구 시점은 가상 클라이언트 모듈(250, 252, 254)로 데이터 수신이 감지되고 수신이 완료된 시점으로 할 수도 있고, 입력부(230)를 통해 장애 여부 판단 요구 입력이 있는 시점으로 할 수도 있고, 미리 설정된 주기에 따른 시점이 될 수도 있다. 이와 같이 장애 여부 판단 요구는 설정에 따라 발생할 것이다.
또한, 본 발명의 다른 실시 예에 따른 테스트 제어부(200)는 서버(130, 140, 150)로 동일한 데이터 크기의 데이터 전송을 요청한다. 그리고, 테스트 제어부(200)는 각각의 서버로부터 해당 데이터를 수신한다. 예컨대, 테스트 제어부(200)는 서버(130, 140, 150)로 100K 바이트의 데이터를 전송하도록 요청할 수 있다. 이후, 테스트 제어부(200)는 수신된 데이터에 대한 데이터 크기를 확인한다. 이때, 서버(130)로부터 수신된 데이터 크기가 100K 바이트, 서버(140)로부터 수신된 데이터 크기가 80K 바이트, 서버(150)로부터 수신된 데이터 크기가 100K 바이트라고 가정한다.
확인된 데이터 크기를 서버 별로 비교한 후, 테스트 제어부(200)는 해당 서버의 장애 여부를 판단한다. 즉, 테스트 제어부(200)는 각각의 서버로부터 수신된 데이터 크기를 비교한 결과, 서버(130)과 서버(150)로부터 수신된 데이터 크기가 100K로 동일하고, 서버(140)로부터 수신된 데이터 크기가 80K로 다른 서버(130, 150)과 다르기 때문에, 서버(140)를 장애를 가지는 서버로 간주할 수 있다.
한편, 테스트 제어부(200)는 각각의 서버(130, 140, 150)로부터 수신된 데이터 크기를 기 설정된 기준 값과 비교하고, 비교 결과 임계 범위를 초과한 경우, 해당되는 서버에 장애가 발생한 것으로 판단할 수 있다. 예를 들어, 테스트 제어부(200)는 서버(130)로부터 수신된 데이터 크기가 100K 바이트, 서버(140)로부터 수신된 데이터 크기가 80K 바이트, 서버(150)로부터 수신된 데이터 크기가 90K 바이트라고 가정하고, 기 설정된 기준 값이 95K이고, 임계 범위가 2%이라고 가정하면, 오류가 발생한 서버는 서버(140, 150)이 된다.
저장부(210) 테스트 장치(120)의 동작에 필요한 정보들을 저장할 수 있다. 이러한 저장부(210)는 서버로부터 전송되는 테스트 데이터에 대한 기본 정보를 저장하고, 특히 서버의 장애 여부를 판단하기 위한 기준이 되는 기준 데이터 패턴을 저장한다. 이에 대하여 저장부(210)는 패턴 비교 시 해당 서버의 장애가 없다고 판단하기 위한 패턴의 오차 범위를 저장한다. 이는 수신한 테스트 데이터의 패턴과 기준 데이터 패턴과의 오차가 어느 정보 발생하였느냐에 대한 정보로서, 패턴이 서로 일치하지 않아도 오차 범위에 포함되면 해당 서버에 장애가 없다고 판단하도록 한다. 이러한 저장부(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), 플래시 메모리를 포함한다.
비교부(220)는 테스트 제어부(200)의 제어에 따라 각각의 가상 클라이언트 모듈(250, 252, 254)로 수신한 테스트 데이터를 전달을 요구하고, 테스트 데이터를 전달받아 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교한 후 비교 결과를 테스트 제어부(200)로 출력한다. 이때, 비교부(220)는 가상 클라이언트 모듈(250, 252, 254)의 데이트 데이터 각각에 대해서 기준 데이터 패턴과의 비교 동작을 수행하고, 각각의 비교 결과들을 테스트 제어부(200)로 출력한다. 또한, 비교부(220)는 각각의 서버(130, 140, 150)로부터 수신되는 데이터 크기를 확인하고, 데이터 크기를 각 서버 별로 비교한 후, 비교 결과를 테스트 제어부(200)로 전달한다.
입력부(230)는 사용자의 조작에 따라서 사용자의 요청이나 정보에 해당하는 사용자 입력 신호를 발생할 수 있으며, 현재 상용화되어 있거나 향후 상용화가 가능한 다양한 입력 수단으로 구현될 수 있으며, 예를 들면, 키보드, 마우스, 조이스틱, 터치 스크린, 터치 패드 등과 같은 일반적인 입력 장치뿐만 아니라, 사용자의 모션을 감지하여 특정 입력 신호를 발생하는 제스처 입력 수단을 포함할 수 있다.
출력부(240)는 테스트 장치(120)의 동작 결과나 상태를 사용자가 인식할 수 있도록 제공하는 수단으로서, 예를 들면, 화면을 통해 시각적으로 출력하는 표시부나, 가청음을 출력하는 스피커 등을 포함할 수 있다. 특히, 본 발명에 있어서, 출력부(240)은 서버 관리자의 요구에 따라 서버의 장애 여부 결과를 표시할 수 있다.
가상 클라이언트 모듈(250, 252, 254)은 서버(130, 140, 150)로부터 각각의 테스트 데이터를 수신한다. 이후, 가상 클라이언트 모듈(250, 252, 254)은 비교부(220)의 수신 테스트 데이터 전달 요구에 따라 각각 수신한 테스트 데이터를 비교부(220)로 전달한다.
이러한 가상 클라이언트 모듈(250, 252, 254)의 내부 구성은 도 3과 같이 도시할 수 있다. 각각의 가상 클라이언트 모듈(250, 252, 254)의 구성은 동일하므로 도 3의 설명에서는 도면부호 250의 가상 클라이언트 모듈의 내부 구성에 대하여 설명하도록 한다.
도 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), 셋탑박스 중 하나의 단말로 구현될 수 있다. 따라서, 어떤 종류의 단말 장치이냐에 따라서 그 구성 또한 상이하게 구성될 것이다.
본 발명의 도 3의 설명에서는 어떤 단말 장치로 구현되더라도 본 발명의 설명에 꼭 필요한 구성을 포함하여 구성된 가상 클라이언트 모듈(250)로 설명하도록 한다. 예를 들어, 가상 클라이언트 모듈(250)이 셋탑박스로 구현된다면 도 3의 구성에 더하여 출력부, 입력부와 같은 구성이 더 포함될 것이고, 스마트폰으로 구현된다면 도 3의 구성에 더하여 출력부, 입력부, 카메라 모듈과 같은 구성이 더 포함될 것이다.
제어부(300)는 가상 클라이언트 모듈(250)의 전반적인 제어를 수행하고, 특히 비교부(220)로부터 서버(130, 140, 150)로부터 수신한 테스트 데이터 전달 요구에 따라 저장부(304)에 설정된 테스트 데이터를 비교부(220)로 전달한다.
통신부(302)는 통신망(110)을 통해 서버(130, 140, 150)로부터 테스트 데이터를 수신한다. 이러한 통신부(302)는 유선 방식 및 무선 방식뿐만 아니라 다양한 통신 방식을 통해서 데이터를 송수신할 수 있다. 더하여, 통신부(302)는 하나 이상의 통신 방식을 사용하여 데이터를 송수신할 수 있으며, 이를 위하여 통신부(302)는 각각 서로 다른 통신 방식에 따라서 데이터를 송수신하는 복수의 통신 모듈을 포함할 수 있다.
저장부(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), 플래시 메모리를 포함한다.
또한, 상술한 바와 같이 구성되는 테스트 장치(120)와, 서버(130, 140, 150)는 서버 기반 컴퓨팅 기반 방식 또는 클라우드 방식으로 동작하는 하나 이상의 서버로 구현될 수 있다. 특히, 클라우드 컴퓨팅 장치를 이용하여 클라우드 환경에서 어플리케이션을 실행하기 위한 데이터는 인터넷 상의 클라우드 컴퓨팅 장치에 영구적으로 저장될 수 있는 클라우드 컴퓨팅 기능을 통해 제공될 수 있다. 여기서, 클라우드 컴퓨팅은 데스크톱, 태블릿 컴퓨터, 노트북, 넷북 및 스마트폰 등의 디지털 단말기에 인터넷 기술을 활용하여 가상화된 IT(Information Technology) 자원, 예를 들어, 하드웨어(서버, 스토리지, 네트워크 등), 소프트웨어(데이터베이스, 보안, 웹 서버 등), 서비스, 데이터 등을 온 디맨드(On demand) 방식으로 서비스하는 기술을 의미한다.
그러면, 상기와 같이 구성된 클라우드 스트리밍 서비스를 위한 서버의 테스트 시스템에서 서버를 테스트하는 과정에 대해 첨부된 도 4 및 도 5을 참조하여 구체적으로 설명하기로 한다.
도 4는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법을 설명하기 위한 데이터 흐름도이다.
다수의 서버(130, 140, 150)는 테스트 데이터를 테스트 장치의 가상 클라이언트 모듈(250, 252, 254)로 동시에 전송한다(S402 내지 S406). 즉, 서버(130)는 가상 클라이언트 모듈(250)로 테스트 데이터를 전송하고, 서버(140)는 가상 클라이언트 모듈(252)로 테스트 데이터를 전송하고, 서버(150)는 가상 클라이언트 모듈(254)로 테스트 데이터를 전송한다.
테스트 데이터를 수신한 테스트 장치(120)의 테스트 제어부(200)는 테스트 요구에 따라 비교부(220)로 테스트 데이터 비교를 요청한다(S408, S410).
테스트 장치(120)의 비교부(220)는 각 가상 클라이언트 모듈(250, 252, 254)로 서버(130, 140, 150)로부터 수신한 테스트 데이터 전달을 요구한다(S412, S414, S418).
각 가상 클라이언트 모듈(250, 252, 254)는 비교부(220)의 요구에 따라 수신 테스트 데이터를 비교부(220)로 전달한다(S414, S418, S422).
이후, 비교부(220)는 수신한 각 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교하고, 비교 결과를 테스트 제어부(200)로 전달한다(S424, S426).
그러면, 테스트 제어부(200)는 비교 결과에 따라 비교 결과 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간에 일치하는지 또는 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간 발생한 오차가 미리 설정된 오차 범위 내에 해당되는지 여부를 판단한다(S428). 이때, 비교 결과는 도면부호 130, 140, 150의 서버 각각에 대해 테스트 제어부(200)로 전달되고, 테스트 제어부(200)는 비교 결과에 따라 각 서버에 대한 장애 여부를 판단하게 될 것이다. 즉, 테스트 장치(120)는 기준 데이터 패턴을 각각의 서버(130, 140, 150)에 전송 요청하고, 각각의 서버(130, 140, 150)로부터 수신된 데이터 패턴을 확인하여 기준 데이터 패턴과의 차이가 임계 범위 예컨대, 2자리 이상이 경우 이를 오류로 판단하여 해당 서버에 장애가 있는 것으로 간주할 수 있다. 예를 들어, 기준 데이터 패턴이 "0100100"이고, 서버(130)로부터 수신된 데이터 패턴이 "0100100"이고, 서버(140)로부터 수신된 데이터 패턴이 "0100110"이고, 서버(150)로부터 수신된 데이터 패턴이 "0100111"인 경우, 테스트 장치(120)는 기준 데이터 패턴과 수신된 데이터 패턴을 비교하여 오류 자리수가 2자리 이상인 서버(150)에 장애가 발생한 것으로 판단할 수 있다. 한편, 기준 데이터 패턴과 각각의 서버들로부터 수신된 데이터 패턴을 비교하는 2자리 수의 오류는 일 실시 예일 뿐, 2자리수에 한정된 것이 아니고, 통신 환경, 서버 성능 등에 따라 달라질 수 있다.
도 5는 본 발명의 실시 예에 따른 테스트 장치(120)에서 서버(130, 140, 150)를 테스트하기 위한 과정을 나타내는 흐름도이다.
먼저, 테스트 장치(120)가 대기 상태 중 테스트 요구 시점이면, 구비된 모든 가상 클라이언트 모듈로 수신된 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교한다(S500 내지 S504). 이때, 모든 가상 클라이언트 모듈은 서로 다른 서버로부터 테스트 데이터를 수신하고, 테스트 장치(120)는 각각 수신한 테스트 데이터의 패턴을 기준 데이터 패턴과 비교하는 것이다.
만약, 비교결과 비교 결과 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간에 일치하는지 또는 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간 발생한 오차가 미리 설정된 오차 범위 내에 해당되는지 여부를 판단한다(S506 내지 S510).
또한, 본 발명의 다른 실시 예에 따른 테스트 장치(120)가 서버(130, 140, 150)로 동일한 데이터 크기의 데이터 전송을 요청한다. 그리고, 테스트 장치(120)는 각각의 서버로부터 해당 데이터를 수신한다. 예컨대, 테스트 장치(120)는 서버(130, 140, 150)로 100K 바이트의 데이터를 샘플로 전송하도록 요청할 수 있다. 이후, 테스트 장치(120)는 수신된 데이터에 대한 데이터 크기를 확인한다. 이때, 서버(130)로부터 수신된 데이터 크기가 100K 바이트, 서버(140)로부터 수신된 데이터 크기가 80K 바이트, 서버(150)로부터 수신된 데이터 크기가 100K 바이트라고 가정한다.
확인된 데이터 크기를 서버 별로 비교한 후, 테스트 장치(120)는 해당 서버의 장애 여부를 판단한다. 즉, 테스트 장치(120)는 각각의 서버로부터 수신된 데이터 크기를 비교한 결과, 서버(130)과 서버(150)로부터 수신된 데이터 크기가 100K로 동일하고, 서버(140)로부터 수신된 데이터 크기가 80K로 다른 서버(130, 150)과 다르기 때문에, 서버(140)를 장애를 가지는 서버로 간주할 수 있다.
한편, 데이터 서버(120)는 각각의 서버(130, 140, 150)로부터 수신된 데이터 크기를 기 설정된 기준 값과 비교하고, 비교 결과 임계 범위를 초과한 경우, 해당되는 서버에 장애가 발생한 것으로 판단할 수 있다. 예를 들어, 데이터 장치(120)는 서버(130)로부터 수신된 데이터 크기가 100K 바이트, 서버(140)로부터 수신된 데이터 크기가 80K 바이트, 서버(150)로부터 수신된 데이터 크기가 90K 바이트라고 가정하고, 기 설정된 기준 값이 95K이고, 임계 범위가 2%이라고 가정하면, 오류가 발생한 서버는 서버(140, 150)이 된다.
본 발명에 따른 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
본 발명은 클라우드 스트리밍 서비스를 이용하여 데이터 제공을 수행하는 서버를 테스트 하는 시스템에 관한 것으로서, 특히 클라우드 시스템 내에서 데이터를 제공하는 서버를 미리 테스트하여 장애 여부를 확인하도록 함으로써 서비스의 안정화를 도모할 수 있고, 이를 통해 서버의 장애 여부를 조기에 확인하여 테스트 산업의 발전에 이바지할 수 있다. 이는 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100, 101, 102: 클라이언트
110: 통신망 120: 테스트 장치 130, 140, 150: 서버
200: 테스트 제어부 210: 저장부 220: 비교부
230: 입력부 240: 출력부
250, 252, 254: 가상 클라이언트 모듈
300: 제어부 302: 통신부 304: 저장부

Claims (9)

  1. 각각 서로 다른 서버로부터 테스트 데이터를 수신하는 적어도 하나의 가상 클라이언트 모듈;
    상기 적어도 하나의 가상 클라이언트 모듈로 수신된 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교하는 비교부; 및
    상기 비교부를 통해 비교 결과 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간에 일치하는지 또는 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간 발생한 오차가 미리 설정된 오차 범위 내에 해당되는지 여부에 따라 상기 서버의 장애 여부를 판단하는 테스트 제어부;
    를 포함하며,
    상기 테스트 제어부는,
    상기 수신한 테스트 데이터 패턴과 상기 기준 데이터 패턴이 서로 일치 또는 상기 발생한 오차가 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하고, 상기 발생한 오차가 미리 설정된 오차 범위를 벗어나면 해당 서버에 장애가 발생한 것으로 판단하며, 상기 수신한 데이터 패턴과 상기 기준 데이터 패턴이 일치하지 않는 경우, 상기 발생한 오차가 상기 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하는 것을 특징으로 하는 테스트 장치.
  2. 제1항에 있어서, 상기 가상 클라이언트 모듈은,
    각각의 클라이언트와 매칭되며, 상기 클라이언트와 동일한 동작을 수행하는 것을 특징으로 하는 테스트 장치.
  3. 삭제
  4. 테스트 장치의 요청에 따라 테스트를 위한 테스트 데이터를 전송하는 적어도 하나의 서버; 및
    적어도 하나의 가상 클라이언트 모듈을 포함하고, 상기 적어도 하나의 가상 클라이언트 모듈로 각각 서로 다른 서버로부터 테스트 데이터가 수신되면, 상기 수신된 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교하고, 비교 결과 일치 또는 미리 설정된 오차 범위 내에 해당되는지 여부에 따라 상기 서버의 장애 여부를 판단하는 적어도 하나의 테스트 장치;
    를 포함하며,
    상기 테스트 장치는,
    상기 수신한 테스트 데이터 패턴과 상기 기준 데이터 패턴이 서로 일치 또는 수신한 테스트 데이터 패턴과 상기 기준 데이터 패턴간에 발생한 오차가 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하고, 상기 발생한 오차가 미리 설정된 오차 범위를 벗어나면 해당 서버에 장애가 발생한 것으로 판단하며, 상기 수신한 데이터 패턴과 상기 기준 데이터 패턴이 일치하지 않는 경우, 상기 발생한 오차가 상기 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하는 것을 특징으로 하는 클라우드 스트리밍 서비스를 위한 서버의 테스트 시스템.
  5. 적어도 하나의 서버와 통신망을 통해 연결된 적어도 하나의 가상 클라이언트 모듈을 구비하는 테스트 장치를 포함하는 클라우드 스트리밍 서비스를 위한 서버의 테스트 시스템에 있어서,
    상기 적어도 하나의 서버가 각각 서로 다른 가상 클라이언트 모듈로 테스트 데이터를 전송하는 단계;
    상기 테스트 장치가 상기 가상 클라이언트 모듈에 수신된 테스트 데이터 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교하는 단계; 및
    상기 테스트 장치가 상기 비교 결과 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간에 일치하는지 또는 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간 발생한 오차가 미리 설정된 오차 범위 내에 해당되는지 여부에 따라 상기 서버의 장애 여부를 판단하는 단계;
    를 포함하며,
    상기 판단하는 단계는,
    상기 수신한 테스트 데이터 패턴과 상기 기준 데이터 패턴이 서로 일치 또는 수신한 테스트 데이터 패턴과 상기 기준 데이터 패턴간에 발생한 오차가 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하고, 상기 발생한 오차가 미리 설정된 오차 범위를 벗어나면 해당 서버에 장애가 발생한 것으로 판단하며, 상기 수신한 데이터 패턴과 상기 기준 데이터 패턴이 일치하지 않는 경우, 상기 발생한 오차가 상기 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하는 것을 특징으로 하는 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법.
  6. 제5항에 있어서,
    상기 테스트 장치가 각각의 서버로 동일한 데이터 크기의 테스트 데이터 전송을 요청하는 단계;
    상기 테스트 장치가 상기 서버로부터 테스트 데이터를 수신하는 단계;
    상기 테스트 장치가 상기 수신된 테스트 데이터에 대한 데이터 크기를 확인하는 단계; 및
    상기 테스트 장치가 상기 확인된 데이터 크기를 서버 별로 비교한 후, 해당 서버의 장애 여부를 판단하는 단계;
    를 더 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법.
  7. 적어도 하나의 가상 클라이언트 모듈을 구비하는 단계;;
    상기 적어도 하나의 가상 클라이언트 모듈이 각각 서로 다른 서버로부터 테스트 데이터를 수신하는 단계;
    상기 가상 클라이언트 모듈에 수신된 테스트 데이터의 패턴을 미리 설정된 기준 데이터 패턴과 비교하는 단계;
    상기 비교 결과 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간에 일치하는지 또는 수신한 테스트 데이터 패턴과 기준 데이터 패턴 간 발생한 오차가 미리 설정된 오차 범위 내에 해당되는지 여부를 판단하는 단계;
    를 포함하며,
    상기 판단하는 단계는,
    상기 수신한 테스트 데이터 패턴과 상기 기준 데이터 패턴이 서로 일치 또는 수신한 테스트 데이터 패턴과 상기 기준 데이터 패턴간에 발생한 오차가 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하고, 상기 발생한 오차가 미리 설정된 오차 범위를 벗어나면 해당 서버에 장애가 발생한 것으로 판단하며, 상기 수신한 데이터 패턴과 상기 기준 데이터 패턴이 일치하지 않는 경우, 상기 발생한 오차가 상기 미리 설정된 오차 범위 내에 포함되면 해당 서버에 장애가 발생하지 않은 것으로 판단하는 것을 특징으로 하는 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법.
  8. 삭제
  9. 제5항 내지 제7항 중 어느 한 항에 기재된 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
KR1020130014999A 2013-02-12 2013-02-12 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 시스템 및 장치 KR101403321B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130014999A KR101403321B1 (ko) 2013-02-12 2013-02-12 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 시스템 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130014999A KR101403321B1 (ko) 2013-02-12 2013-02-12 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 시스템 및 장치

Publications (1)

Publication Number Publication Date
KR101403321B1 true KR101403321B1 (ko) 2014-06-03

Family

ID=51131726

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130014999A KR101403321B1 (ko) 2013-02-12 2013-02-12 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 시스템 및 장치

Country Status (1)

Country Link
KR (1) KR101403321B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160008400A (ko) * 2014-07-14 2016-01-22 엔트릭스 주식회사 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
KR20160069444A (ko) * 2014-12-08 2016-06-16 엔트릭스 주식회사 클라우드 스트리밍 서비스를 위한 서비스 품질 모니터링 시스템 및 방법, 그리고 컴퓨터 프로그램이 기록된 기록매체
US10904304B2 (en) 2014-07-14 2021-01-26 Sk Planet Co., Ltd. Cloud streaming service system, data compressing method for preventing memory bottlenecking, and device for same
WO2022079480A1 (en) * 2020-10-12 2022-04-21 Coupang Corp. Systems and methods for local randomization distribution of test datasets

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015745A1 (en) * 2002-07-22 2004-01-22 Finisar Corporation Scalable socketed testing tool
KR20040078930A (ko) * 2003-03-05 2004-09-14 엘지전자 주식회사 데이터의 전송속도 확인방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015745A1 (en) * 2002-07-22 2004-01-22 Finisar Corporation Scalable socketed testing tool
KR20040078930A (ko) * 2003-03-05 2004-09-14 엘지전자 주식회사 데이터의 전송속도 확인방법

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160008400A (ko) * 2014-07-14 2016-01-22 엔트릭스 주식회사 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
KR102199296B1 (ko) * 2014-07-14 2021-01-06 에스케이플래닛 주식회사 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
US10904304B2 (en) 2014-07-14 2021-01-26 Sk Planet Co., Ltd. Cloud streaming service system, data compressing method for preventing memory bottlenecking, and device for same
CN112929234A (zh) * 2014-07-14 2021-06-08 Sk 普兰尼特有限公司 云流服务器
CN112929234B (zh) * 2014-07-14 2024-04-30 Sk普兰尼特有限公司 云流服务器
KR20160069444A (ko) * 2014-12-08 2016-06-16 엔트릭스 주식회사 클라우드 스트리밍 서비스를 위한 서비스 품질 모니터링 시스템 및 방법, 그리고 컴퓨터 프로그램이 기록된 기록매체
KR102312354B1 (ko) * 2014-12-08 2021-10-15 에스케이플래닛 주식회사 클라우드 스트리밍 서비스를 위한 서비스 품질 모니터링 시스템 및 방법, 그리고 컴퓨터 프로그램이 기록된 기록매체
WO2022079480A1 (en) * 2020-10-12 2022-04-21 Coupang Corp. Systems and methods for local randomization distribution of test datasets
US11620210B2 (en) 2020-10-12 2023-04-04 Coupang Corp. Systems and methods for local randomization distribution of test datasets

Similar Documents

Publication Publication Date Title
US10298721B2 (en) Method and system to determine a work distribution model for an application deployed on a cloud
US10282246B2 (en) Application error detection method for cloud streaming service, and apparatus and system therefor
US8621069B1 (en) Provisioning a computing application executing on a cloud to a client device
US10313207B2 (en) Method for testing cloud streaming server, and apparatus and system therefor
CN110096370B (zh) 用于虚拟环境的控制反转组件服务模型
KR101522307B1 (ko) 앱테스트시스템 및 앱테스트방법
US20110283002A1 (en) Selectively Communicating Data Of A Peripheral Device To Plural Sending Computers
KR101403321B1 (ko) 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 시스템 및 장치
US11900551B2 (en) Creating cloud-hosted, streamed augmented reality experiences with low perceived latency
KR101445539B1 (ko) 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 장치 및 시스템
US9948691B2 (en) Reducing input processing latency for remotely executed applications
US9392047B1 (en) Facilitating application compatibility across devices
KR101997649B1 (ko) 클라우드 스트리밍 서버를 테스트하기 위한 기준 서버 변경 방법, 이를 위한 장치 및 시스템
KR20140101622A (ko) 클라우드 스트리밍 서비스를 위한 서버 테스트 방법, 이를 위한 시스템 및 장치
KR101543295B1 (ko) 클라우드 스트리밍 서비스를 위한 어플리케이션 에러 검출 방법, 이를 위한 장치 및 시스템
US9049465B2 (en) Media sharing apparatus and method
KR101445538B1 (ko) 클라우드 스트리밍을 위한 서버의 테스트 방법 및 장치
CN116325688A (zh) 用于测量和监测上行链路流式传输的度量
KR102059376B1 (ko) 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
KR102058365B1 (ko) 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
KR102055705B1 (ko) 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
KR102199296B1 (ko) 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
KR101997540B1 (ko) 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
KR102119248B1 (ko) 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템

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: 20180427

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190422

Year of fee payment: 6