KR20160093877A - 가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체 - Google Patents

가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체 Download PDF

Info

Publication number
KR20160093877A
KR20160093877A KR1020150014732A KR20150014732A KR20160093877A KR 20160093877 A KR20160093877 A KR 20160093877A KR 1020150014732 A KR1020150014732 A KR 1020150014732A KR 20150014732 A KR20150014732 A KR 20150014732A KR 20160093877 A KR20160093877 A KR 20160093877A
Authority
KR
South Korea
Prior art keywords
streaming server
cloud streaming
image
test
virtual client
Prior art date
Application number
KR1020150014732A
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 KR1020150014732A priority Critical patent/KR20160093877A/ko
Publication of KR20160093877A publication Critical patent/KR20160093877A/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/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체를 개시한다. 즉, 본 발명은 클라우드 스트리밍 서버 1대를 미리 구동하여 사전에 비교 이미지를 저장해두고, 가상 클라이언트를 통해 생성된 화면과 미리 저장된 비교 이미지를 비교하여 클라우드 스트리밍 서버에 대한 테스트 기능을 수행함으로써 1대의 클라우드 스트리밍 서버만 있어도 클라우드 스트리밍 서버에 대한 테스트가 가능하고, 테스트 결과에 대한 오류 확산을 방지하며, 서비스 품질을 향상시킬 수 있다.

Description

가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체{Virtual client, cloud streaming server, cloud streaming server test system comprising the same, control method thereof and computer readable medium having computer program recorded therefor}
본 발명은 가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체에 관한 것으로, 특히 클라우드 스트리밍 서버 1대를 미리 구동하여 사전에 비교 이미지를 저장해두고, 테스트 수행 시 서버에서 생성된 테스트 이미지와 미리 저장된 비교 이미지를 비교하여 클라우드 스트리밍 서버에 대한 테스트 기능을 수행하는 가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체에 관한 것이다.
스트리밍(streaming)은 주로 소리나 동영상 등의 멀티미디어 파일을 전송하고 재생하는 방식의 하나이다. 이러한 스트리밍 방식이란 멀티미디어 데이터 전송 방식 중의 하나로 인터넷에서 물 흐르듯 데이터를 읽으면서 전송은 물론 실시간 재생이 가능한 전송 방식을 말한다. 보통 파일은 다운로드 한 후 실행하는 작업을 수행 하지만, 동영상과 같이 크기가 큰 파일을 재생할 때에는 다운로드 하는 데에 시간이 오래 걸릴 수 있다. 이와 같이, 파일을 다운로드하는 것과 더불어 재생을 함으로써 기다리는 시간을 크게 줄일 수 있다. 이 기술로 사용자는 인터넷상에서 데이터 용량이 큰 비디오 혹은 오디오 자료를 자신의 개인용 컴퓨터 등에 다운로드 하지 않고도 실시간으로 보거나 들을 수 있게 되었다. 기존의 방송사나 신문사, 사내 교육 및 방송 등에서 정보를 제공하는 수단으로 많이 사용되고 있다.
한편, 최근 사용자가 필요한 소프트웨어 등을 자신의 컴퓨터에 설치하지 않고도 인터넷 접속을 통해 언제든 사용할 수 있고 동시에 각종 정보통신 기기로 데이터를 손쉽게 공유할 수 있는 클라우드 컴퓨팅 서비스에 대한 연구 및 상용화가 이루어지고 있다.
이러한 클라우드 컴퓨팅 서비스는, 대용량의 영상 처리가 요구되는 서비스나 기능을 실행하는데 있어서, 클라우드 컴퓨팅 기반의 서버를 통해서 서비스나 기능을 실행하도록 하고, 그 실행된 결과 화면만을 스트리밍 기술을 이용하여 사용자의 단말기로 전송함으로써, 사용자가 단말기를 통해 고사양 또는 고기능이 요구되는 서비스나 기능을 이용할 수 있도록 한다.
이렇게 사용자 단말기의 요구에 따라서 특정 서비스 혹은 기능을 실행하고 그 결과를 사용자 단말기로 전송하는 화면 가상화 기술을 통하여 사용자 단말기가 다양한 서비스나 기능을 이용할 수 있도록 하는 기술을 클라우드 스트리밍 서비스라 한다.
이러한 클라우드 스트리밍 서비스를 제공하는 클라우드 스트리밍 서버를 테스트하기 위해서는 SED(Service Error Detection)에서 복수의 가상 클라이언트를 생성하여, 복수의 클라우드 스트리밍 서버들과 연동하여 키 스크립트 입력을 전송하고, 비디오를 제공받아서 상호 비교하여, 오작동하는 클라우드 스트리밍 서버를 검출하여야 하며, 이와 같이 오작동하는 클라우드 스트리밍 서버를 검출하기 위해서는 적어도 3대의 클라우드 스트리밍 서버들을 사용하여야 테스트가 가능하고, 기준이 되는 클라우드 스트리밍 서버가 오작동하는 경우, 테스트 결과에 오류가 확산되는 측면이 있다.
한국공개특허 제10-2011-0103699호 [명칭: 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 및 그 제어 방법]
본 발명의 목적은 클라우드 스트리밍 서버 1대를 미리 구동하여 사전에 비교 이미지를 저장해두고, 테스트 수행 시 서버에서 생성된 테스트 이미지와 미리 저장된 비교 이미지를 비교하여 클라우드 스트리밍 서버에 대한 테스트 기능을 수행하는 가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체를 제공하는 데 있다.
본 발명의 실시예에 따른 가상 클라이언트는 클라우드 스트리밍 서버로부터 전송되는 이미지를 근거로 클라우드 스트리밍 서버에 대한 테스트를 수행하는 가상 클라이언트에 있어서, 기준 이미지를 저장하는 저장부; 클라우드 스트리밍 서버에 대한 정상 동작 유무를 확인하기 위한 테스트 수행 시, 클라우드 스트리밍 서버와 접속하는 통신부; 테스트 키 스크립트를 생성하고, 생성된 테스트 키 스크립트를 클라우드 스트리밍 서버에 전송하도록 통신부를 제어하여, 전송된 테스트 키 스크립트에 응답하여 클라우드 스트리밍 서버로부터 전송되는 테스트 이미지와 저장부에 미리 저장된 기준 이미지를 비교하여 두 이미지가 일치하는지 여부를 비교하고, 비교 결과를 출력하는 제어부를 포함할 수 있다.
본 발명과 관련된 일 예로서 제어부는, 통신부를 통한 클라우드 스트리밍 서버와의 접속 이전에, 통신부를 통해 클라우드 스트리밍 서버에 접속하며, 생성된 키 스크립트를 통신부를 통해 클라우드 스트리밍 서버에 전송하고, 전송에 응답하여 클라우드 스트리밍 서버로부터 전송되는 다른 하나의 이미지를 기준 이미지로 설정하여 저장부에 저장할 수 있다.
본 발명과 관련된 일 예로서 클라우드 스트리밍 서버는 미리 저장된 복수의 이미지 중에서 키 스크립트에 대응하는 다른 하나의 이미지를 확인하고, 확인된 다른 하나의 이미지를 가상 클라이언트에 제공할 수 있다.
본 발명과 관련된 일 예로서 클라우드 스트리밍 서버는 미리 저장된 복수의 이미지 중에서 테스트 키 스크립트에 대응하는 테스트 이미지를 확인하고, 확인된 테스트 이미지를 가상 클라이언트에 제공할 수 있다.
본 발명과 관련된 일 예로서 제어부는, 테스트 이미지와 기준 이미지가 일치하지 않을 때, 클라우드 스트리밍 서버에 장애가 있는 것으로 판단하고, 클라우드 스트리밍 서버에 장애가 있음을 나타내는 정보를 표시하도록 표시부를 제어할 수 있다.
본 발명과 관련된 일 예로서 제어부는, 테스트 이미지와 기준 이미지가 미리 설정된 오차 범위 내에서 동일하거나 유사하지 않을 때, 클라우드 스트리밍 서버에 장애가 있는 것으로 판단하고, 클라우드 스트리밍 서버에 장애가 있음을 나타내는 정보를 표시하도록 표시부를 제어할 수 있다.
본 발명과 관련된 일 예로서 제어부는 전송된 테스트 키 스크립트에 응답하여 클라우드 스트리밍 서버로부터 전송되는 데이터를 수신하도록 통신부를 제어하고, 수신된 데이터에서 미리 설정된 시점에 테스트 이미지를 캡쳐하고, 캡쳐된 테스트 이미지와 저장부에 미리 저장된 기준 이미지를 비교하여 두 이미지가 일치하는지 여부를 비교하고, 비교 결과를 출력할 수 있다.
본 발명의 실시예에 따른 가상 클라이언트의 제어 방법은 클라우드 스트리밍 서버로부터 전송되는 이미지를 근거로 클라우드 스트리밍 서버에 대한 테스트를 수행하는 가상 클라이언트의 제어 방법에 있어서, 통신부를 통해, 클라우드 스트리밍 서버에 접속하는 단계; 통신부를 통해, 제어부에 의해 생성된 키 스크립트를 클라우드 스트리밍 서버에 전송하는 단계; 제어부를 통해, 전송된 키 스크립트에 응답하여 클라우드 스트리밍 서버로부터 전송되는 하나의 이미지를 기준 이미지로 설정하고, 클라우드 스트리밍 서버와의 접속을 종료하는 단계; 통신부를 통해, 클라우드 스트리밍 서버에 대한 정상 동작 유무를 확인하기 위한 테스트 수행 시, 클라우드 스트리밍 서버에 재접속하는 단계; 통신부를 통해, 제어부에 의해 생성된 테스트 키 스크립트를 클라우드 스트리밍 서버에 전송하는 단계; 제어부를 통해, 전송된 테스트 키 스크립트에 응답하여 클라우드 스트리밍 서버로부터 전송되는 테스트 이미지와 설정된 기준 이미지를 비교하여 두 이미지가 일치하는지 여부를 비교하는 단계; 및 표시부를 통해, 비교 결과를 표시하는 단계를 포함할 수 있다.
본 발명의 실시예에 따른 가상 클라이언트의 제어 방법은 클라우드 스트리밍 서버로부터 전송되는 이미지를 근거로 클라우드 스트리밍 서버에 대한 테스트를 수행하는 가상 클라이언트의 제어 방법에 있어서, 통신부를 통해, 클라우드 스트리밍 서버에 접속하는 단계; 통신부를 통해, 제어부에 의해 생성된 키 스크립트를 클라우드 스트리밍 서버에 전송하는 단계; 제어부를 통해, 전송된 키 스크립트에 응답하여 클라우드 스트리밍 서버로부터 전송되는 하나의 데이터에서 미리 설정된 시점에 이미지를 캡쳐하고, 클라우드 스트리밍 서버와의 접속을 종료하는 단계; 제어부를 통해, 캡쳐된 이미지를 기준 이미지로 설정하는 단계; 통신부를 통해, 클라우드 스트리밍 서버에 대한 정상 동작 유무를 확인하기 위한 테스트 수행 시, 클라우드 스트리밍 서버에 재접속하는 단계; 통신부를 통해, 제어부에 의해 생성된 테스트 키 스크립트를 클라우드 스트리밍 서버에 전송하는 단계; 제어부를 통해, 전송된 테스트 키 스크립트에 응답하여 클라우드 스트리밍 서버로부터 전송되는 다른 하나의 데이터에서 미리 설정된 시점에 테스트 이미지를 캡쳐하는 단계; 제어부를 통해, 캡쳐된 테스트 이미지와 설정된 기준 이미지를 비교하여 두 이미지가 일치하는지 여부를 비교하는 단계; 및 표시부를 통해, 비교 결과를 표시하는 단계를 포함할 수 있다.
본 발명의 실시예에 따른 컴퓨터 프로그램이 기록된 기록매체에는 상술한 실시예에 따른 방법을 수행하는 컴퓨터 프로그램이 저장될 수 있다.
본 발명은 클라우드 스트리밍 서버 1대를 미리 구동하여 사전에 비교 이미지를 저장해두고, 가상 클라이언트를 통해 생성된 화면과 미리 저장된 비교 이미지를 비교하여 클라우드 스트리밍 서버에 대한 테스트 기능을 수행함으로써, 1대의 클라우드 스트리밍 서버만 있어도 클라우드 스트리밍 서버에 대한 테스트가 가능하고, 테스트 결과에 대한 오류 확산을 방지하며, 서비스 품질을 향상시키는 효과가 있다.
도 1은 본 발명의 실시예에 따른 클라우드 스트리밍 서버 테스트 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 가상 클라이언트의 구성을 나타낸 블록도이다.
도 3은 본 발명의 제 1 실시예에 따른 클라우드 스트리밍 서버 테스트 시스템의 제어 방법을 나타낸 흐름도이다.
도 4 및 도 5는 본 발명의 제 1 실시예에 따른 가상 클라이언트의 화면을 나타낸 도이다.
도 6은 본 발명의 제 2 실시예에 따른 클라우드 스트리밍 서버 테스트 시스템의 제어 방법을 나타낸 흐름도이다.
도 7 및 도 8은 본 발명의 제 2 실시예에 따른 가상 클라이언트의 화면을 나타낸 도이다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 본 발명의 실시예에 따른 클라우드 스트리밍 서버 테스트 시스템(10)의 구성을 나타낸 블록도이다.
도 1에 도시된 바와 같이, 클라우드 스트리밍 서버 테스트 시스템(10)은 가상 클라이언트(100) 및 클라우드 스트리밍 서버(200)로 구성된다. 도 1에 도시된 클라우드 스트리밍 서버 테스트 시스템(10)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 클라우드 스트리밍 서버 테스트 시스템(10)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 클라우드 스트리밍 서버 테스트 시스템(10)이 구현될 수도 있다.
가상 클라이언트(100)에서 연결된 클라우드 스트리밍 서버(200)에 키 스크립트를 전송하고, 전송된 키 스크립트에 응답하여 클라우드 스트리밍 서버(200)로부터 전송되는 이미지를 기준 이미지로 설정한 후, 해당 클라우드 스트리밍 서버(200)와 연결을 종료한다. 이후, 클라우드 스트리밍 서버(200)에 대한 정상 동작 유무(또는 장애 여부/오류 여부)를 확인하기 위한 테스트 수행 시, 가상 클라이언트(100)는 클라우드 스트리밍 서버(200)에 접속하고, 테스트 키 스크립트를 클라우드 스트리밍 서버(200)에 전송한다. 이후, 가상 클라이언트(100)는 전송된 테스트 키 스크립트에 응답하여 클라우드 스트리밍 서버(200)로부터 전송되는 테스트 이미지와 앞서 설정된 기준 이미지의 일치 유무를 비교하여, 해당 클라우드 스트리밍 서버(200)에 대한 정상 동작 유무(또는 장애 여부/오류 여부)를 판단하고, 판단 결과를 출력한다.
또한, 가상 클라이언트(100)에서 연결된 클라우드 스트리밍 서버(200)에 키 스크립트를 전송하고, 전송된 키 스크립트에 응답하여 클라우드 스트리밍 서버(200)로부터 전송되는 데이터(예를 들어 동영상 등 포함) 중에서 미리 설정된 시점을 기준으로 이미지를 캡쳐하고, 해당 클라우드 스트리밍 서버(200)와 연결을 종료하며, 캡쳐된 이미지를 기준 이미지로 설정한다. 이후, 클라우드 스트리밍 서버(200)에 대한 정상 동작 유무(또는 장애 여부/오류 여부)를 확인하기 위한 테스트 수행 시, 가상 클라이언트(100)는 클라우드 스트리밍 서버(200)에 접속하고, 테스트 키 스크립트를 클라우드 스트리밍 서버(200)에 전송한다. 이후, 가상 클라이언트(100)는 전송된 테스트 키 스크립트에 응답하여 클라우드 스트리밍 서버(200)로부터 전송되는 다른 데이터 중에서 미리 설정된 시점을 기준으로 테스트 이미지를 캡쳐한다. 이후, 가상 클라이언트(100)는 캡쳐된 테스트 이미지와 앞서 설정된 기준 이미지의 일치 유무를 비교하여, 해당 클라우드 스트리밍 서버(200)에 대한 정상 동작 유무(또는 장애 여부/오류 여부)를 판단하고, 판단 결과를 출력한다.
도 2에 도시된 바와 같이, 가상 클라이언트(virtual client)(100)는 통신부(110), 저장부(120), 제어부(130), 표시부(140) 및 음성 출력부(150)로 구성된다. 도 2에 도시된 가상 클라이언트(100)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 가상 클라이언트(100)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 가상 클라이언트(100)가 구현될 수도 있다.
본 발명의 실시예에서는 가상 클라이언트(100) 내에 통신부(110), 저장부(120), 제어부(130), 표시부(140) 및 음성 출력부(150)가 구성되는 것을 설명하고 있으나, 이에 한정되는 것은 아니며, 테스트 장치(미도시) 내에 가상 클라이언트가 구성되고, 해당 테스트 장치 내에 가상 클라이언트 이외에, 통신부(110), 저장부(120), 제어부(130), 표시부(140) 및 음성 출력부(150)가 구성될 수도 있다.
또한, 클라우드 스트리밍 서버 테스트 시스템(10)에는 클라이언트(미도시)가 더 포함될 수 있다. 이때, 해당 가상 클라이언트(100)는 해당 클라이언트 내에 구성될 수도 있다.
이러한 클라이언트는 통신망을 경유하여 각종 데이터를 송수신할 수 있는 단말기를 나타내며, 특히 클라우드 스트리밍 서버(200)에 접속하여 클라우드 스트리밍 서비스를 제공하는 사용자측 장치를 의미한다. 여기서, 해당 클라이언트(또는 사용자측 장치)는 스마트 폰(Smart Phone), 휴대 단말기(Portable Terminal), 이동 단말기(Mobile Terminal), 개인 정보 단말기(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말기, 텔레매틱스(Telematics) 단말기, 내비게이션(Navigation) 단말기, 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터, 슬레이트 PC(Slate PC), 태블릿 PC(Tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(Wearable Device, 예를 들어, 워치형 단말기(Smartwatch), 글래스형 단말기(Smart Glass), HMD(Head Mounted Display) 등 포함), 와이브로(Wibro) 단말기, IPTV(Internet Protocol Television) 단말기, 스마트 TV, 디지털방송용 단말기, 텔레비전(Television), 3D 텔레비전, 홈 시어터(Home Theater) 시스템, AVN(Audio Video Navigation) 단말기, A/V(Audio/Video) 시스템, 플렉시블 단말기(Flexible Terminal) 등과 같은 다양한 단말기에 적용될 수 있다.
또한, 클라이언트는 통신망을 경유하여 클라우드 스트리밍 서버(200)와 통신하기 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위함 마이크로프로세서 등을 구비하고 있는 단말기일 수 있다.
즉, 클라이언트는 클라우드 스트리밍 서버(200)와 통신이 가능하다면 그 어떠한 단말기도 가능할 수 있다.
이러한 클라이언트는 예를 들어 클라우드 스트리밍 서버(200)에 접속하여 사용자 입력에 따라서 특정 서비스 또는 기능을 요청하고, 요청된 서비스 또는 기능의 실행에 따른 결과 화면을 클라우드 스트리밍 서버(200)로부터 수신하여 출력할 수도 있다.
또한, 가상 클라이언트(100)는 클라우드 스트리밍 서버(200)로부터 클라우드 스트리밍 서비스를 제공받는 사용자 측의 클라이언트 장치를 가상화한 가상 클라이언트 모듈일 수도 있다.
통신부(110)는 유/무선 통신망을 통해 내부의 임의의 구성 요소 또는 외부의 임의의 적어도 하나의 단말기와 통신 연결한다. 이때, 외부의 임의의 단말기는 네트워크 서비스 시스템, 서버, 클라우드 스트리밍 서버(200) 등을 포함할 수 있다. 여기서, 무선 인터넷 기술로는 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS) 등이 있으며, 통신부(110)는 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 데이터를 송수신하게 된다. 또한, 근거리 통신 기술로는 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등이 포함될 수 있다. 또한, 유선 통신 기술로는 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있다.
또한, 통신부(110)는 유니버설 시리얼 버스(Universal Serial Bus: USB)를 통해 임의의 단말과 정보를 상호 전송할 수 있다.
또한, 통신부(110)는 제어부(130)의 제어에 의해 클라우드 스트리밍 서버(200)와의 접속(또는 연결/세션)을 형성(또는 구성)한다.
저장부(120)는 다양한 사용자 인터페이스(User Interface: UI), 그래픽 사용자 인터페이스(Graphic User Interface: GUI) 등을 저장한다.
또한, 저장부(120)는 가상 클라이언트(100)가 동작하는데 필요한 데이터와 프로그램 등을 저장한다.
즉, 저장부(120)는 가상 클라이언트(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 가상 클라이언트(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 한편, 응용 프로그램은 저장부(120))에 저장되고, 가상 클라이언트(100) 상에 설치되어, 제어부(130)에 의하여 가상 클라이언트(100)의 동작(또는 기능)을 수행하도록 구동될 수 있다.
또한, 저장부(120)는 플래시 메모리 타입(Flash Memory Type), 하드 디스크 타입(Hard Disk Type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro Type), 카드 타입의 메모리(예를 들면, SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 광디스크, 램(Random Access Memory: RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory: ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 중 적어도 하나의 저장매체를 포함할 수 있다. 또한, 가상 클라이언트(100)는 인터넷(internet)상에서 저장부(120)의 저장 기능을 수행하는 웹 스토리지(web storage)를 운영하거나, 또는 웹 스토리지와 관련되어 동작할 수도 있다.
또한, 저장부(120)는 제어부(130)의 제어에 의해 설정되는 기준 이미지(또는 기준 영상/기준 동영상)를 저장한다.
제어부(130)는 가상 클라이언트(100)의 전반적인 제어 기능을 실행한다.
또한, 제어부(130)는 저장부(120)에 저장된 프로그램 및 데이터를 이용하여 가상 클라이언트(100)의 전반적인 제어 기능을 실행한다. 제어부(130)는 RAM, ROM, CPU, GPU, 버스를 포함할 수 있으며, RAM, ROM, CPU, GPU 등은 버스를 통해 서로 연결될 수 있다. CPU는 저장부(120)에 액세스하여, 저장부(120)에 저장된 O/S를 이용하여 부팅을 수행할 수 있으며, 저장부(120)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.
또한, 제어부(130)는 클라우드 스트리밍 서버(200)와의 접속(또는 연결/세션) 구성(또는 형성)과 관련한 기능을 제어(또는 수행)한다.
또한, 제어부(130)는 키 스크립트(또는 미리 설정된 키 스크립트)를 생성한다.
또한, 제어부(130)는 생성된 키 스크립트를 해당 클라우드 스트리밍 서버(200)에 전송하도록 통신부(110)를 제어한다.
또한, 제어부(130)는 전송된 키 스크립트에 응답하여 클라우드 스트리밍 서버(200)로부터 전송되는 하나의 이미지(또는 영상)를 수신하도록 통신부(110)를 제어한다.
또한, 제어부(130)는 수신된 이미지를 기준 이미지로 설정(또는 생성)한다.
또한, 제어부(130)는 설정된 기준 이미지를 저장부(120)에 저장한다.
또한, 기준 이미지 설정이 완료된 이후, 제어부(130)는 해당 클라우드 스트리밍 서버(200)와의 접속을 종료하도록 통신부(110)를 제어한다.
클라우드 스트리밍 서버(200)에 대한 정상 동작 유무(또는 장애 여부/오류 여부)를 확인하기 위한 테스트 수행 시, 제어부(130)는 클라우드 스트리밍 서버(200)와의 접속(또는 연결/세션) 구성(또는 형성)과 관련한 기능을 제어(또는 수행)한다.
즉, 클라우드 스트리밍 서버(200)에 대한 정상 동작 유무(또는 장애 여부/오류 여부)를 확인하기 위한 테스트 수행 시, 제어부(130)는 클라우드 스트리밍 서버(200)와 접속하도록 통신부(110)를 제어한다.
또한, 제어부(130)는 테스트 키 스크립트(또는 미리 설정된 테스트 키 스크립트)를 생성한다.
또한, 제어부(130)는 생성된 테스트 키 스크립트를 클라우드 스트리밍 서버(200)에 전송하도록 통신부(110)를 제어한다.
또한, 제어부(130)는 전송된 테스트 키 스크립트에 응답하여 클라우드 스트리밍 서버(200)로부터 전송되는 다른 하나의 이미지(또는 영상)를 수신하도록 통신부(110)를 제어한다.
또한, 제어부(130)는 해당 클라우드 스트리밍 서버(200)의 정상 동작 유무(또는 장애 여부/오류 여부)를 확인하기 위해서, 수신된 다른 하나의 이미지와 미리 설정된 기준 이미지를 비교하여 두 이미지가 일치하는지 여부(또는 미리 설정된 오차 범위 내에서 동일/유사한지 여부)를 판단(또는 확인)한다.
또한, 제어부(130)는 두 이미지가 일치하는지 여부에 대한 비교 결과(또는 판단 결과/확인 결과)를 표시부(140) 및/또는 음성 출력부(150)를 통해 출력한다. 여기서, 비교 결과는 해당 클라우드 스트리밍 서버(200)의 정상 동작 유무(또는 장애 여부/오류 여부)를 나타내는 정보를 포함한다.
즉, 수신된 다른 하나의 이미지와 미리 설정된 기준 이미지가 일치하는 경우(또는 미리 설정된 오차 범위 내에서 동일/유사한 경우), 제어부(130)는 해당 클라우드 스트리밍 서버(200)에 장애(또는 오류)가 없는 것으로 판단하고, 해당 클라우드 스트리밍 서버(200)가 정상 동작 중임을 나타내는 정보(또는 장애/오류 없음을 나타내는 정보)를 표시부(140) 및/또는 음성 출력부(150)를 통해 출력한다.
또한, 수신된 다른 하나의 이미지와 미리 설정된 기준 이미지가 일치하지 않는 경우(또는 두 이미지가 미리 설정된 오차 범위 내에서 동일/유사하지 않은 경우), 제어부(130)는 해당 클라우드 스트리밍 서버(200)에 장애(또는 오류)가 있는 것으로 판단하고, 해당 클라우드 스트리밍 서버(200)가 비정상적으로 동작 중임을 나타내는 정보(또는 장애/오류 있음을 나타내는 정보)를 표시부(140) 및/또는 음성 출력부(150)를 통해 출력한다.
또한, 제어부(130)는 전송된 키 스크립트에 응답하여 클라우드 스트리밍 서버(200)로부터 전송되는 하나의 데이터(예를 들어 동영상 등 포함)를 수신하도록 통신부(110)를 제어할 수 있다. 이때, 데이터를 수신한 이후, 제어부(130)는 해당 클라우드 스트리밍 서버(200)와의 접속을 종료하도록 통신부(110)를 제어할 수 있다.
또한, 제어부(130)는 수신된 데이터에서 미리 설정된 시점에 이미지를 캡쳐할 수 있다.
또한, 제어부(130)는 캡쳐된 이미지를 기준 이미지로 설정(또는 생성)할 수 있다. 또한, 제어부(130)는 설정된 기준 이미지를 저장부(120)에 저장할 수 있다.
클라우드 스트리밍 서버(200)에 대한 정상 동작 유무(또는 장애 여부/오류 여부)를 확인하기 위한 테스트 수행 시, 제어부(130)는 클라우드 스트리밍 서버(200)와의 접속(또는 연결/세션)을 구성하도록 통신부(110)를 제어할 수 있다.
또한, 제어부(130)는 테스트 키 스크립트(또는 미리 설정된 테스트 키 스크립트)를 생성할 수 있다.
또한, 제어부(130)는 생성된 테스트 키 스크립트를 클라우드 스트리밍 서버(200)에 전송하도록 통신부(110)를 제어할 수 있다.
또한, 제어부(130)는 전송된 테스트 키 스크립트에 응답하여 클라우드 스트리밍 서버(200)로부터 전송되는 다른 하나의 데이터(예를 들어 동영상 등 포함)를 수신하도록 통신부(110)를 제어할 수 있다.
또한, 제어부(130)는 수신된 다른 하나의 데이터에서 미리 설정된 시점(또는 미리 설정된 다른 시점)에 이미지(또는 테스트 이미지)를 캡쳐할 수 있다.
또한, 제어부(130)는 해당 클라우드 스트리밍 서버(200)의 정상 동작 유무(또는 장애 여부/오류 여부)를 확인하기 위해서, 캡쳐된 테스트 이미지와 미리 설정된 기준 이미지를 비교하여 두 이미지가 일치하는지 여부(또는 미리 설정된 오차 범위 내에서 동일/유사한지 여부)를 판단(또는 확인)할 수 있다.
또한, 제어부(130)는 두 이미지가 일치하는지 여부에 대한 비교 결과(또는 판단 결과/확인 결과)를 표시부(140) 및/또는 음성 출력부(150)를 통해 출력할 수 있다. 여기서, 비교 결과는 해당 클라우드 스트리밍 서버(200)의 정상 동작 유무(또는 장애 여부/오류 여부)를 나타내는 정보를 포함할 수 있다.
즉, 캡쳐된 테스트 이미지와 미리 설정된 기준 이미지가 일치하는 경우(또는 미리 설정된 오차 범위 내에서 동일/유사한 경우), 제어부(130)는 해당 클라우드 스트리밍 서버(200)에 장애(또는 오류)가 없는 것으로 판단하고, 해당 클라우드 스트리밍 서버(200)가 정상 동작 중임을 나타내는 정보(또는 장애/오류 없음을 나타내는 정보)를 표시부(140) 및/또는 음성 출력부(150)를 통해 출력한다.
또한, 캡쳐된 테스트 이미지와 미리 설정된 기준 이미지가 일치하지 않는 경우(또는 두 이미지가 미리 설정된 오차 범위 내에서 동일/유사하지 않은 경우), 제어부(130)는 해당 클라우드 스트리밍 서버(200)에 장애(또는 오류)가 있는 것으로 판단하고, 해당 클라우드 스트리밍 서버(200)가 비정상적으로 동작 중임을 나타내는 정보(또는 장애/오류 있음을 나타내는 정보)를 표시부(140) 및/또는 음성 출력부(150)를 통해 출력한다.
표시부(140)는 제어부(130)의 제어에 의해 저장부(120)에 저장된 사용자 인터페이스 및/또는 그래픽 사용자 인터페이스를 이용하여 다양한 메뉴 화면 등과 같은 다양한 콘텐츠를 표시할 수 있다. 여기서, 표시부(140)에 표시되는 콘텐츠는 다양한 텍스트 또는 이미지 데이터(각종 정보 데이터 포함)와 아이콘, 리스트 메뉴, 콤보 박스 등의 데이터를 포함하는 메뉴 화면 등을 포함한다. 또한, 표시부(140)는 터치 스크린 일 수 있다. 이때, 사용자의 터치 제스쳐를 감지하기 위한 터치 센서가 포함될 수 있다. 터치 센서는 정전식이나, 감압식, 압전식 등과 같은 다양한 형태 중 하나일 수 있다. 정전식인 경우 터치 스크린 표면에 코팅된 유전체를 이용하여, 사용자의 신체 일부가 터치 스크린 표면에 터치되었을 때 사용자의 인체로 여기되는 미세 전기를 감지하여 터치 좌표가 산출된다. 감압식인 경우 터치 스크린에 두 개의 전극 판이 내장되며, 사용자가 화면을 터치하면 터치된 위치의 상하 전극 판이 접촉되어 전류가 흐르게 되며, 이러한 전류의 흐름이 감지되어 터치 좌표가 산출된다. 이 외에도, 사용자 장치가 펜 입력 기능을 지원할 수 있으며, 이 경우 사용자의 신체 일부가 아닌 펜과 같은 입력 수단을 활용한 사용자의 제스쳐도 감지될 수 있다. 예로서, 입력 수단이 코일을 내부에 포함하는 스타일러스 펜인 경우, 사용자 장치는 스타일러스 펜 내부의 코일에 의해 변화되는 자기장을 감지하기 위한 자기장 감지 센서를 포함할 수 있다. 이 경우 사용자의 터치 제스쳐 뿐만 아니라 호버링(hovering)과 같은 사용자의 근접 제스쳐도 감지할 수 있다.
또한, 표시부(140)는 액정 디스플레이(Liquid Crystal Display: LCD), 박막 트랜지스터 액정 디스플레이(Thin Film Transistor-Liquid Crystal Display: TFT LCD), 유기 발광 다이오드(Organic Light-Emitting Diode: OLED), 플렉시블 디스플레이(Flexible Display), 3차원 디스플레이(3D Display), 전자잉크 디스플레이(e-ink display), LED(Light Emitting Diode) 중에서 적어도 하나의 형태로 구현될 수 있으며, 이를 위한 구동회로, 백라이트 유닛 등을 함께 포함할 수 있다.
또한, 표시부(140)는 입체영상을 표시하는 입체 디스플레이부로서 구성될 수 있다.
입체 디스플레이부에는 스테레오스코픽 방식(안경 방식), 오토 스테레오스코픽 방식(무안경 방식), 프로젝션 방식(홀로그래픽 방식) 등의 3차원 디스플레이 방식이 적용될 수 있다.
또한, 표시부(140)는 제어부(130)의 제어에 의해 수신된 이미지(또는 캡쳐된 이미지)와 기준 이미지 간의 비교 결과를 표시한다. 여기서, 비교 결과는 해당 클라우드 스트리밍 서버(200)의 정상 동작 유무(또는 장애 여부/오류 여부)를 나타내는 정보를 포함한다.
음성 출력부(150)는 제어부(130)에 의해 소정 신호 처리된 신호에 포함된 음성 정보를 출력한다. 여기서, 음성 출력부(150)에는 리시버(receiver), 스피커(speaker), 버저(buzzer) 등이 포함될 수 있다.
또한, 음성 출력부(150)는 제어부(130)에 의해 생성된 안내 음성을 출력한다.
또한, 음성 출력부(150)는 제어부(130)의 제어에 의해 수신된 이미지(또는 캡쳐된 이미지)와 기준 이미지 간의 비교 결과에 대응하는 음성 정보를 출력한다. 여기서, 비교 결과는 해당 클라우드 스트리밍 서버(200)의 정상 동작 유무(또는 장애 여부/오류 여부)를 나타내는 정보를 포함한다.
또한, 가상 클라이언트(100)는 해당 가상 클라이언트(100)에 연결되는 모든 외부기기와의 인터페이스 역할을 수행하는 인터페이스부(미도시)를 더 포함할 수도 있다. 예를 들면, 인터페이스부는 유/무선 헤드셋 포트(Headset Port), 외부 충전기 포트, 유/무선 데이터 포트, 메모리 카드(Memory Card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트, 오디오 I/O(Input/Output) 포트, 비디오 I/O(Input/Output) 포트, 이어폰 포트 등으로 구성될 수 있다. 여기서, 식별 모듈은 가상 클라이언트(100)의 사용 권한을 인증하기 위한 각종 정보를 저장한 칩으로서, 사용자 인증 모듈(User Identify Module: UIM), 가입자 인증 모듈(Subscriber Identify Module: SIM), 범용 사용자 인증 모듈(Universal Subscriber Identity Module: USIM) 등을 포함할 수 있다. 또한, 식별 모듈이 구비된 장치는 스마트 카드(Smart Card) 형식으로 제작될 수 있다. 따라서, 식별 모듈은 포트를 통하여 가상 클라이언트(100)와 연결될 수 있다. 이와 같은 인터페이스부는 외부 기기로부터 데이터를 수신하거나 전원을 수신하여 가상 클라이언트(100)내부의 각 구성 요소에 전달하거나 가상 클라이언트(100) 내부의 데이터가 외부 기기로 전송되도록 한다.
또한, 인터페이스부는 가상 클라이언트(100)가 외부 크래들(Cradle)과 연결될 때 크래들로부터의 전원이 해당 가상 클라이언트(100)에 공급되는 통로가 되거나, 사용자에 의해 크래들에서 입력되는 각종 명령 신호가 해당 가상 클라이언트(100)로 전달되는 통로가 될 수 있다. 크래들로부터 입력되는 각종 명령 신호 또는 해당 전원은 가상 클라이언트(100)가 크래들에 정확히 장착되었음을 인지하기 위한 신호로 동작될 수도 있다.
또한, 가상 클라이언트(100)는 사용자에 의한 버튼 조작 또는 임의의 기능 선택에 따른 신호를 수신하거나, 디스플레이되는 화면을 터치/스크롤하는 등의 조작에 의해 생성된 명령 또는 제어 신호를 수신하기 위한 입력부(미도시)를 더 포함할 수도 있다.
입력부는 사용자의 명령, 선택, 데이터, 정보 중에서 적어도 하나를 입력 받기 위한 수단으로서, 숫자 또는 문자 정보를 입력 받고 다양한 기능을 설정하기 위한 다수의 입력키 및 기능키를 포함할 수 있다.
또한, 입력부는 키 패드(Key Pad), 돔 스위치 (Dome Switch), 터치 패드(정압/정전), 터치 스크린(Touch Screen), 조그 휠, 조그 스위치, 조그 셔틀(Jog Shuttle), 마우스(mouse), 스타일러스 펜(Stylus Pen), 터치 펜(Touch Pen) 등의 다양한 장치가 사용될 수 있다. 특히, 표시부(140)가 터치스크린 형태로 형성된 경우, 입력의 기능 중 일부 또는 전부는 표시부(140)를 통해 수행될 수 있다.
클라우드 스트리밍 서버(cloud streaming server)(또는 서버)(200)는 가상 클라이언트(100)의 접속 요청에 응답하여 해당 가상 클라이언트(100)와 접속(또는 연결/세션 연결/형성)한다.
또한, 클라우드 스트리밍 서버(200)는 가상 클라이언트(100)로부터 전송되는 키 스크립트를 수신한다.
또한, 클라우드 스트리밍 서버(200)는 미리 저장된 복수의 이미지 중에서 수신된 키 스크립트에 대응하는 하나의 이미지를 확인한다.
또한, 클라우드 스트리밍 서버(200)는 확인된 이미지를 가상 클라이언트(100)에 전송한다.
이때, 클라우드 스트리밍 서버(200)는 미리 저장된 복수의 데이터(예를 들어 동영상 등 포함) 중에서 수신된 키 스크립트에 대응하는 하나의 데이터를 확인할 수 있다.
또한, 클라우드 스트리밍 서버(200)는 확인된 하나의 데이터를 가상 클라이언트(100)에 전송할 수도 있다.
또한, 가상 클라이언트(100)로부터 전송되는 키 스크립트에 응답하여 하나의 이미지 또는 하나의 데이터를 해당 가상 클라이언트(100)에 전송한 이후에, 클라우드 스트리밍 서버(200)는 해당 가상 클라이언트(100)와의 연동에 의해 접속을 종료한다.
또한, 클라우드 스트리밍 서버(200)에 대한 정상 동작 유무(또는 장애 여부/오류 여부)를 확인하기 위한 테스트 수행 시, 클라우드 스트리밍 서버(200)는 가상 클라이언트(100)로부터 전송되는 테스트 키 스크립트를 수신한다.
또한, 클라우드 스트리밍 서버(200)는 미리 저장된 복수의 이미지(또는 영상/동영상) 중에서 수신된 테스트 키 스크립트에 대응하는 다른 하나의 이미지를 확인한다.
또한, 클라우드 스트리밍 서버(200)는 확인된 다른 하나의 이미지를 가상 클라이언트(100)에 전송한다.
이때, 클라우드 스트리밍 서버(200)는 미리 저장된 복수의 데이터(예를 들어 동영상 등 포함) 중에서 수신된 테스트 키 스크립트에 대응하는 다른 하나의 데이터를 확인할 수 있다.
또한, 클라우드 스트리밍 서버(200)는 확인된 다른 하나의 데이터를 가상 클라이언트(100)에 전송할 수도 있다.
또한, 클라우드 스트리밍 서버(200)는 전송된 다른 하나의 이미지 또는 다른 하나의 데이터를 근거로 해당 가상 클라이언트(100)에 의해 수행된 해당 클라우드 스트리밍 서버(200)의 정상 동작 유무에 대한 결과 정보(또는 비교 결과)를 해당 가상 클라이언트(100)로부터 제공받을 수도 있다.
또한, 클라우드 스트리밍 서버(200)는 해당 가상 클라이언트(100)로부터 제공받은 해당 클라우드 스트리밍 서버(200)의 정상 동작 유무에 대한 결과 정보(또는 비교 결과)를 출력하거나 저장할 수 있다.
또한, 클라우드 스트리밍 서버(200)는 하나 이상의(또는 복수의) 가상 클라이언트(100)에 특정 서비스나 기능을 제공하는 구성으로서, 특히 클라우드 스트리밍 서비스를 제공할 수 있다.
즉, 클라우드 스트리밍 서버(200)는 가상 클라이언트(100)(또는 앞서 설명한 테스트 장치 또는 클라이언트)의 OS 종류, CPU 성능, 메모리 용량, 기타 소프트웨어 및 하드웨어 사양에 관계없이, 미리 설정된 서비스나 기능, 예를 들어 고성능의 이미지 처리를 요하는 서비스나 기능을 제공할 수 있도록, 가상 클라이언트(100)로부터 전송된 사용자 입력에 따른 서비스 또는 기능을 수행하고, 그 결과 화면을 해당 가상 클라이언트(100)에 전송할 수 있다.
이를 위해, 클라우드 스트리밍 서버(200)는 화면 가상화 기능을 구비할 수 있다.
특히, 클라우드 스트리밍 서버(200)는 정상 동작 여부(또는 장애 여부)를 테스트하기 위해서, 미리 설정된 이미지 또는 데이터를 가상 클라이언트(100)에 전송할 수 있다.
또한, 클라우드 스트리밍 서버(200)는 가상 클라이언트(100)(또는 클라이언트/테스트 장치)에 네트워크를 통해 어플리케이션 및 콘텐츠를 클라우드 스트리밍 방식으로 서비스한다. 특히, 클라우드 스트리밍 서버(200)는 가상 클라이언트(100)에서 요청한 특정 어플리케이션 또는 서비스(콘텐츠)를 실행한 후, 그 실행 화면을 스트리밍 방식으로 가상 클라이언트(100)에 제공함으로써, 가상 클라이언트(100)가 해당 어플리케이션 또는 서비스를 실행할 수 없는 사양이더라도 해당 어플리케이션 또는 서비스를 이용할 수 있도록 한다. 이러한 클라우드 스트리밍 서비스의 예로서, 클라우드 스트리밍 서버(200)가 동영상 재생기에서 동영상을 재생한 후, 동영상(콘텐츠) 재생 화면을 제공하는 것을 예시할 수 있다. 또 다른 예로서, 클라우드 스트리밍 서버(200)가 가상 클라이언트(100)로부터 전송된 사용자 입력에 따라서 특정 게임 어플리케이션을 실행한 후, 그 실행 화면을 가상 클라이언트(100)로 스트리밍함으로써, 사용자가 자신의 가상 클라이언트(100)를 통해서 게임을 실행하는 듯한 경험을 제공받을 수 있도록 한다. 또한, 본 발명에서 용어 "스트리밍 방식의 서비스"는 동영상 서비스와 같이 반드시 끊김 없이 데이터가 클라우드 스트리밍 서버(200)에서 가상 클라이언트(100)로 전송되는 서비스만으로 한정하는 것은 아니다. 가상 클라이언트(100)와 클라우드 스트리밍 서버(200) 간의 상호 작용에 의해, 또는 클라우드 스트리밍 서버(200)에 의해 데이터가 불연속적으로 발생될 수 있으며, 클라우드 스트리밍 서버(200)는 불연속적으로 발생된 데이터를 데이터가 발생된 시점에 가상 클라이언트(100)에 실시간으로 제공할 수 있다. 이와 같이, 본 발명의 실시예에 따르면, 데이터를 실시간으로 제공되는 모든 서비스는 스트리밍 방식의 서비스의 범주에 포함된다. 예를 들면, 클라우드 스트리밍 서버(200)가 게임 어플리케이션을 클라우드 스트리밍 기반으로 서비스 하는 서버라고 가정하는 경우, 사용자가 게임 조작을 하기 위한 입력은 불연속적일 수 있으며, 불연속적인 입력에 의해 가상 클라이언트(100)가 클라우드 스트리밍 서버(200)로 전송하는 입력에 의해 클라우드 스트리밍 서버(200)는 실시간으로 데이터를 발생시키고, 이를 가상 클라이언트(100)에 실시간으로 제공할 수 있다. 또 다른 예를 들면, 클라우드 스트리밍 서버(200)가 클라우드 컴퓨팅 환경에서 문서 편집기를 실행시키고, 어플리케이션의 일부인 문서 편집기의 인터페이스 및 편집 대상이 되는 콘텐츠인 문서를 제공한다고 가정한다. 이러한 경우에도 사용자가 문서 편집기의 인터페이스를 통한 입력은 불연속적일 수 있으며, 불연속적인 입력에 의해 가상 클라이언트(100)가 클라우드 스트리밍 서버(200)로 전송하는 입력에 의해 클라우드 스트리밍 서버(200)는 실시간으로 문서 편집기를 실행하여 문서를 편집하고, 이에 의해 발생되는 실행 화면을 가상 클라이언트(100)에 실시간으로 제공할 수 있다.
한편, 가상 클라이언트(100)(또는 단말)는 클라우드 스트리밍 서버(200)에 네트워크를 통해 접속하여, 상술한 다양한 종류의 어플리케이션 및 콘텐츠 등을 클라우드 스트리밍 방식으로 제공받아 가상 클라이언트(100)상에서 실행시킬 수 있다.
이를 위하여, 가상 클라이언트(100)는 특정 어플리케이션 또는 서비스에 대한 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 생성하여 전송한다. 이러한 요청 메시지는 특정 어플리케이션에 대한 스트리밍 서비스를 요청하는 것이거나, 특정 어플리케이션에서 실행되는 특정 콘텐츠에 대한 스트리밍 서비스를 요청하는 것이 될 수 있다. 따라서 요청 메시지는 요청되는 어플리케이션을 다른 어플리케이션과 구분하기 위한 어플리케이션 식별자 혹은 요청되는 콘텐츠를 다른 콘텐츠와 구분하기 위한 콘텐츠 식별자 중 적어도 하나를 포함한다.
즉, 가상 클라이언트(100)(또는 단말)는 클라우드 스트리밍 서비스를 이용하는 사용자의 단말 장치로서, 통신망을 통해서 클라우드 스트리밍 서버(200)에 접속하여, 특정 어플리케이션에 대한 클라우드 스트리밍 서비스를 요청하고, 그에 대한 응답으로서 특정 어플리케이션에 대한 실행 결과를 제공받아 사용자에게 출력한다. 여기서, 서비스 요청 시, 특정 어플리케이션에 대한 실행 요청, 특정 어플리케이션과 관련된 사용자 입력 중 하나 이상을 포함하여 전송될 수 있다. 특히, 가상 클라이언트(100)는 클라우드 스트리밍 서버(200)로부터 사용자가 요청한 특정 어플리케이션의 실행 화면을 실행 결과로서 수신하여 사용자에게 출력함으로써, 특정 어플리케이션이 해당 가상 클라이언트(100)에서 실행되는 것과 유사한 사용자 경험을 사용자에게 제공할 수 있다.
또한, 클라우드 스트리밍 서버(200)는 웹 서버, 데이터베이스 서버, 프록시 서버 등의 형태로 구현될 수 있다. 또한, 클라우드 스트리밍 서버(200)에는 네트워크 부하 분산 메커니즘, 내지 클라우드 스트리밍 서버(200)가 인터넷 또는 다른 네트워크 상에서 동작할 수 있도록 하는 다양한 소프트웨어 중 하나 이상이 설치될 수 있으며, 이를 통해 컴퓨터화된 시스템으로 구현될 수 있다. 또한, 네트워크는 http 네트워크일 수 있으며, 전용 회선(private line), 인트라넷 또는 임의의 다른 네트워크일 수 있다. 나아가, 클라우드 스트리밍 서버(200)와 가상 클라이언트(100)의 연결은 데이터가 임의의 해커 또는 다른 제3자에 의한 공격을 받지 않도록 보안 네트워크로 연결될 수 있다. 또한, 클라우드 스트리밍 서버(200)는 복수의 데이터베이스 서버를 포함할 수 있으며, 이러한 데이터베이스 서버가 분산 데이터베이스 서버 아키텍쳐를 비롯한 임의의 유형의 네트워크 연결을 통해 클라우드 스트리밍 서버(200)와 별도로 연결되는 방식으로 구현될 수 있다.
또한, 본 발명에 따른 가상 클라이언트(100) 또는 클라우드 스트리밍 서버(200)에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multi-threaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.
이와 같이, 클라우드 스트리밍 서버 1대를 미리 구동하여 사전에 비교 이미지를 저장해두고, 가상 클라이언트를 통해 생성된 화면과 미리 저장된 비교 이미지를 비교하여 클라우드 스트리밍 서버에 대한 테스트 기능을 수행할 수 있다.
이하에서는, 본 발명에 따른 가상 클라이언트와 클라우드 스트리밍 서버를 포함하는 클라우드 스트리밍 서버 테스트 시스템의 제어 방법을 도 1 내지 도 8을 참조하여 상세히 설명한다.
도 3은 본 발명의 제 1 실시예에 따른 클라우드 스트리밍 서버 테스트 시스템의 제어 방법을 나타낸 흐름도이다.
먼저, 가상 클라이언트(100)는 클라우드 스트리밍 서버(또는 서버)(200)에 접속(또는 연결/세션 형성)한다.
일 예로, 가상 클라이언트(100)는 클라우드 스트리밍 서버(200)에 접속한다(S310).
이후, 가상 클라이언트(100)는 키 스크립트(또는 미리 설정된 키 스크립트)를 생성한다.
또한, 가상 클라이언트(100)는 생성된 키 스크립트를 해당 클라우드 스트리밍 서버(200)에 전송한다.
일 예로, 가상 클라이언트(100)는 제 1 키 스크립트를 생성하고, 생성된 제 1 키 스크립트를 연결된 클라우드 스트리밍 서버(200)에 전송한다(S320).
이후, 클라우드 스트리밍 서버(200)는 가상 클라이언트(100)로부터 전송되는 키 스크립트를 수신한다.
또한, 클라우드 스트리밍 서버(200)는 미리 저장된 복수의 이미지 중에서 수신된 키 스크립트에 대응하는 하나의 이미지를 확인한다.
또한, 클라우드 스트리밍 서버(200)는 확인된 이미지를 가상 클라이언트(100)에 전송한다.
일 예로, 클라우드 스트리밍 서버(200)는 미리 저장된 복수의 이미지 중에서 수신된 제 1 키 스크립트에 대응하는 제 11 이미지를 확인하고, 확인된 제 11 이미지를 가상 클라이언트(110)에 전송한다(S330).
이후, 가상 클라이언트(100)는 전송된 키 스크립트에 응답하여 클라우드 스트리밍 서버(200)로부터 전송되는 이미지를 수신한다.
또한, 가상 클라이언트(100)는 수신된 이미지를 기준 이미지로 설정(또는 생성)한다.
또한, 기준 이미지 설정이 완료된 이후, 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버(200)와의 접속을 종료한다.
일 예로, 가상 클라이언트(100)는 전송된 제 1 키 스크립트에 응답하여 클라우드 스트리밍 서버(200)로부터 전송되는 제 11 이미지를 수신하고, 수신된 제 11 이미지를 기준 이미지로 설정한 후, 해당 클라우드 스트리밍 서버(200)와의 연결(또는 세션 연결)을 종료한다(S340)
이후, 클라우드 스트리밍 서버(200)에 대한 정상 동작 유무(또는 장애 여부/오류 여부)를 확인하기 위한 테스트 수행 시, 가상 클라이언트(100)는 클라우드 스트리밍 서버(200)에 접속(또는 연결/세션 형성)한다.
일 예로, 해당 클라우드 스트리밍 서버(200)에 테스트 기능을 수행하고자 할 때, 가상 클라이언트(100)는 클라우드 스트리밍 서버(200)에 접속한다(S350).
이후, 가상 클라이언트(100)는 테스트 키 스크립트(또는 미리 설정된 테스트 키 스크립트)를 생성한다.
또한, 가상 클라이언트(100)는 생성된 테스트 키 스크립트를 클라우드 스트리밍 서버(200)에 전송한다.
일 예로, 가상 클라이언트(100)는 테스트 키 스크립트를 생성하고, 생성된 테스트 키 스크립트를 연결된 클라우드 스트리밍 서버(200)에 전송한다(S360).
이후, 클라우드 스트리밍 서버(200)는 가상 클라이언트(100)로부터 전송되는 테스트 키 스크립트를 수신한다.
또한, 클라우드 스트리밍 서버(200)는 미리 저장된 복수의 이미지 중에서 수신된 테스트 키 스크립트에 대응하는 다른 하나의 이미지를 확인한다.
또한, 클라우드 스트리밍 서버(200)는 확인된 다른 하나의 이미지를 가상 클라이언트(100)에 전송한다.
일 예로, 클라우드 스트리밍 서버(200)는 미리 저장된 복수의 이미지 중에서 수신된 테스트 키 스크립트에 대응하는 제 12 이미지를 확인하고, 확인된 제 12 이미지를 가상 클라이언트(110)에 전송한다(S370).
이후, 가상 클라이언트(100)는 전송된 테스트 키 스크립트에 응답하여 클라우드 스트리밍 서버(200)로부터 전송되는 다른 하나의 이미지를 수신한다.
또한, 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버(200)의 정상 동작 유무(또는 장애 여부/오류 여부)를 확인하기 위해서, 수신된 다른 하나의 이미지와 미리 설정된 기준 이미지를 비교하여 두 이미지가 일치하는지 여부(또는 미리 설정된 오차 범위 내에서 동일/유사한지 여부)를 판단(또는 확인)한다.
일 예로, 가상 클라이언트(100)는 수신된 제 12 이미지와 미리 설정된 기준 이미지인 제 11 이미지가 일치하는지 비교한다(S380).
이후, 가상 클라이언트(100)는 두 이미지가 일치하는지 여부에 대한 비교 결과(또는 판단 결과/확인 결과)를 출력한다. 여기서, 비교 결과는 해당 클라우드 스트리밍 서버(200)의 정상 동작 유무(또는 장애 여부/오류 여부)를 나타내는 정보를 포함한다.
즉, 수신된 다른 하나의 이미지와 미리 설정된 기준 이미지가 일치하는 경우(또는 미리 설정된 오차 범위 내에서 동일/유사한 경우), 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버(200)에 장애(또는 오류)가 없는 것으로 판단하고, 해당 클라우드 스트리밍 서버(200)가 정상 동작 중임을 나타내는 정보(또는 장애/오류 없음을 나타내는 정보)를 출력한다.
또한, 수신된 다른 하나의 이미지와 미리 설정된 기준 이미지가 일치하지 않는 경우(또는 두 이미지가 미리 설정된 오차 범위 내에서 동일/유사하지 않은 경우), 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버(200)에 장애(또는 오류)가 있는 것으로 판단하고, 해당 클라우드 스트리밍 서버(200)가 비정상적으로 동작 중임을 나타내는 정보(또는 장애/오류 있음을 나타내는 정보)를 출력한다.
일 예로, 비교 결과, 수신된 제 12 이미지와 미리 설정된 기준 이미지인 제 11 이미지가 일치할 때, 도 4에 도시된 바와 같이, 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버가 정상 동작 중임을 나타내는 정보를 생성하고, 생성된 클라우드 스트리밍 서버가 정상 동작 중임을 나타내는 정보(410)를 출력한다. 이때, 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버가 정상 동작 중임을 나타내기 위해서 미리 설정된 색상인 녹색을 함께 표시할 수도 있다.
다른 일 예로, 비교 결과, 수신된 제 12 이미지와 미리 설정된 기준 이미지인 제 11 이미지가 일치하지 않을 때, 도 5에 도시된 바와 같이, 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버에 장애(또는 오류)가 있음을 나타내는 정보를 생성하고, 생성된 클라우드 스트리밍 서버에 장애(또는 오류)가 있음을 나타내는 정보(510)를 출력한다. 이때, 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버에 장애가 발생했음을 나타내기 위해서 미리 설정된 다른 색상인 적색을 함께 표시할 수도 있다(S390).
도 6은 본 발명의 제 2 실시예에 따른 클라우드 스트리밍 서버 테스트 시스템의 제어 방법을 나타낸 흐름도이다.
먼저, 가상 클라이언트(100)는 클라우드 스트리밍 서버(200)에 접속(또는 연결/세션 형성)한다.
일 예로, 가상 클라이언트(100)는 클라우드 스트리밍 서버(200)에 접속한다(S610).
이후, 가상 클라이언트(100)는 키 스크립트(또는 미리 설정된 키 스크립트)를 생성한다.
또한, 가상 클라이언트(100)는 생성된 키 스크립트를 해당 클라우드 스트리밍 서버(200)에 전송한다.
일 예로, 가상 클라이언트(100)는 제 1 키 스크립트를 생성하고, 생성된 제 1 키 스크립트를 연결된 클라우드 스트리밍 서버(200)에 전송한다(S620).
이후, 클라우드 스트리밍 서버(200)는 가상 클라이언트(100)로부터 전송되는 키 스크립트를 수신한다.
또한, 클라우드 스트리밍 서버(200)는 미리 저장된 복수의 데이터(예를 들어 동영상 등 포함) 중에서 수신된 키 스크립트에 대응하는 하나의 데이터를 확인한다.
또한, 클라우드 스트리밍 서버(200)는 확인된 데이터를 가상 클라이언트(100)에 전송한다.
일 예로, 클라우드 스트리밍 서버(200)는 미리 저장된 복수의 동영상 중에서 수신된 제 1 키 스크립트에 대응하는 제 7 동영상을 확인하고, 확인된 제 7 동영상을 가상 클라이언트(110)에 전송한다(S630).
이후, 가상 클라이언트(100)는 전송된 키 스크립트에 응답하여 클라우드 스트리밍 서버(200)로부터 전송되는 데이터를 수신한다. 이때, 데이터를 수신한 이후, 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버(200)와의 접속을 종료한다.
또한, 가상 클라이언트(100)는 수신된 데이터에서 미리 설정된 시점에 이미지를 캡쳐한다.
일 예로, 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버(200)로부터 전송되는 제 7 동영상을 수신하고, 해당 클라우드 스트리밍 서버(200)와의 연결(또는 세션 연결)을 종료한다. 또한, 도 7에 도시된 바와 같이, 가상 클라이언트(100)는 수신된 제 7 동영상에서 미리 설정된 시점(예를 들어 동영상 중 시작으로부터 3분 시점)에 제 13 이미지(710)를 캡쳐한다(S640).
이후, 가상 클라이언트(100)는 캡쳐된 이미지를 기준 이미지로 설정(또는 생성)한다.
일 예로, 가상 클라이언트(100)는 캡쳐된 제 13 이미지를 기준 이미지로 설정한다(S650).
이후, 클라우드 스트리밍 서버(200)에 대한 정상 동작 유무(또는 장애 여부/오류 여부)를 확인하기 위한 테스트 수행 시, 가상 클라이언트(100)는 클라우드 스트리밍 서버(200)에 접속(또는 연결/세션 형성)한다.
일 예로, 해당 클라우드 스트리밍 서버(200)에 테스트 기능을 수행하고자 할 때, 가상 클라이언트(100)는 클라우드 스트리밍 서버(200)에 접속한다(S660).
이후, 가상 클라이언트(100)는 테스트 키 스크립트(또는 미리 설정된 테스트 키 스크립트)를 생성한다.
또한, 가상 클라이언트(100)는 생성된 테스트 키 스크립트를 클라우드 스트리밍 서버(200)에 전송한다.
일 예로, 가상 클라이언트(100)는 테스트 키 스크립트를 생성하고, 생성된 테스트 키 스크립트를 연결된 클라우드 스트리밍 서버(200)에 전송한다(S670).
이후, 클라우드 스트리밍 서버(200)는 가상 클라이언트(100)로부터 전송되는 테스트 키 스크립트를 수신한다.
또한, 클라우드 스트리밍 서버(200)는 미리 저장된 복수의 데이터(예를 들어 동영상 등 포함) 중에서 수신된 테스트 키 스크립트에 대응하는 다른 하나의 데이터를 확인한다.
또한, 클라우드 스트리밍 서버(200)는 확인된 다른 하나의 데이터를 가상 클라이언트(100)에 전송한다.
일 예로, 클라우드 스트리밍 서버(200)는 미리 저장된 복수의 동영상 중에서 수신된 테스트 키 스크립트에 대응하는 제 9 동영상을 확인하고, 확인된 제 9 동영상을 가상 클라이언트(110)에 전송한다(S680).
이후, 가상 클라이언트(100)는 전송된 테스트 키 스크립트에 응답하여 클라우드 스트리밍 서버(200)로부터 전송되는 다른 하나의 데이터를 수신한다.
또한, 가상 클라이언트(100)는 수신된 데이터에서 미리 설정된 시점(또는 미리 설정된 다른 시점)에 이미지(또는 테스트 이미지)를 캡쳐한다.
일 예로, 도 8에 도시된 바와 같이, 가상 클라이언트(100)는 수신된 제 9 동영상에서 미리 설정된 시점(예를 들어 동영상 중 시작으로부터 3분 시점)에 제 14 이미지(810)를 캡쳐한다(S690).
이후, 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버(200)의 정상 동작 유무(또는 장애 여부/오류 여부)를 확인하기 위해서, 캡쳐된 테스트 이미지와 미리 설정된 기준 이미지를 비교하여 두 이미지가 일치하는지 여부(또는 미리 설정된 오차 범위 내에서 동일/유사한지 여부)를 판단(또는 확인)한다.
일 예로, 가상 클라이언트(100)는 캡쳐된 제 14 이미지와 미리 설정된 기준 이미지인 제 13 이미지가 일치하는지 비교한다(S700).
이후, 가상 클라이언트(100)는 두 이미지가 일치하는지 여부에 대한 비교 결과(또는 판단 결과/확인 결과)를 출력한다. 여기서, 비교 결과는 해당 클라우드 스트리밍 서버(200)의 정상 동작 유무(또는 장애 여부/오류 여부)를 나타내는 정보를 포함한다.
즉, 캡쳐된 테스트 이미지와 미리 설정된 기준 이미지가 일치하는 경우(또는 미리 설정된 오차 범위 내에서 동일/유사한 경우), 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버(200)에 장애(또는 오류)가 없는 것으로 판단하고, 해당 클라우드 스트리밍 서버(200)가 정상 동작 중임을 나타내는 정보(또는 장애/오류 없음을 나타내는 정보)를 출력한다.
또한, 캡쳐된 테스트 이미지와 미리 설정된 기준 이미지가 일치하지 않는 경우(또는 두 이미지가 미리 설정된 오차 범위 내에서 동일/유사하지 않은 경우), 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버(200)에 장애(또는 오류)가 있는 것으로 판단하고, 해당 클라우드 스트리밍 서버(200)가 비정상적으로 동작 중임을 나타내는 정보(또는 장애/오류 있음을 나타내는 정보)를 출력한다.
일 예로, 비교 결과, 캡쳐된 제 14 이미지와 미리 설정된 기준 이미지인 제 13 이미지가 일치할 때, 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버가 정상 동작 중임을 나타내는 정보를 생성하고, 생성된 클라우드 스트리밍 서버가 정상 동작 중임을 나타내는 정보를 출력한다. 이때, 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버가 정상 동작 중임을 나타내기 위해서 미리 설정된 색상인 녹색을 함께 표시할 수도 있다.
다른 일 예로, 비교 결과, 캡쳐된 제 14 이미지와 미리 설정된 기준 이미지인 제 13 이미지가 일치하지 않을 때, 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버에 장애(또는 오류)가 있음을 나타내는 정보를 생성하고, 생성된 클라우드 스트리밍 서버에 장애(또는 오류)가 있음을 나타내는 정보를 출력한다. 이때, 가상 클라이언트(100)는 해당 클라우드 스트리밍 서버에 장애가 발생했음을 나타내기 위해서 미리 설정된 다른 색상인 적색을 함께 표시할 수도 있다(S710).
본 발명의 실시예에 따른 가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템은 컴퓨터 프로그램으로 작성 가능하며, 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 해당 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터나 본 발명의 실시예에 따른 가상 클라이언트, 클라우드 스트리밍 서버 등에 의하여 읽혀지고 실행됨으로써 가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템을 구현할 수 있다.
정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다. 본 발명의 실시예에 따른 가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템을 구현하는 컴퓨터 프로그램은 가상 클라이언트, 클라우드 스트리밍 서버 등의 내장 메모리에 저장 및 설치될 수 있다. 또는, 본 발명의 실시예에 따른 가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템을 구현하는 컴퓨터 프로그램을 저장 및 설치한 스마트 카드 등의 외장 메모리가 인터페이스를 통해 가상 클라이언트, 클라우드 스트리밍 서버 등에 장착될 수도 있다.
본 발명의 실시예는 앞서 설명된 바와 같이, 클라우드 스트리밍 서버 1대를 미리 구동하여 사전에 비교 이미지를 저장해두고, 가상 클라이언트를 통해 생성된 화면과 미리 저장된 비교 이미지를 비교하여 클라우드 스트리밍 서버에 대한 테스트 기능을 수행하여, 1대의 클라우드 스트리밍 서버만 있어도 클라우드 스트리밍 서버에 대한 테스트가 가능하고, 테스트 결과에 대한 오류 확산을 방지하며, 서비스 품질을 향상시킬 수 있다.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명은 클라우드 스트리밍 서버 1대를 미리 구동하여 사전에 비교 이미지를 저장해두고, 가상 클라이언트를 통해 생성된 화면과 미리 저장된 비교 이미지를 비교하여 클라우드 스트리밍 서버에 대한 테스트 기능을 수행함으로써 1대의 클라우드 스트리밍 서버만 있어도 클라우드 스트리밍 서버에 대한 테스트가 가능하고, 테스트 결과에 대한 오류 확산을 방지하며, 서비스 품질을 향상시키는 것으로, 클라우드 스트리밍 서비스 분야, 가상 클라이언트 분야, 스트리밍 서버 분야 등에서 광범위하게 이용될 수 있다.
10: 클라우드 스트리밍 서버 테스트 시스템
100: 가상 클라이언트 200: 클라우드 스트리밍 서버
110: 통신부 120: 저장부
130: 제어부 140: 표시부
150: 음성 출력부

Claims (10)

  1. 클라우드 스트리밍 서버로부터 전송되는 이미지를 근거로 상기 클라우드 스트리밍 서버에 대한 테스트를 수행하는 가상 클라이언트에 있어서,
    기준 이미지를 저장하는 저장부;
    상기 클라우드 스트리밍 서버에 대한 정상 동작 유무를 확인하기 위한 테스트 수행 시, 상기 클라우드 스트리밍 서버와 접속하는 통신부;
    테스트 키 스크립트를 생성하고, 상기 생성된 테스트 키 스크립트를 상기 클라우드 스트리밍 서버에 전송하도록 상기 통신부를 제어하여, 상기 전송된 테스트 키 스크립트에 응답하여 상기 클라우드 스트리밍 서버로부터 전송되는 테스트 이미지와 상기 저장부에 미리 저장된 기준 이미지를 비교하여 두 이미지가 일치하는지 여부를 비교하고, 상기 비교 결과를 출력하는 제어부를 포함하는 가상 클라이언트.
  2. 제 1 항에 있어서,
    상기 제어부는, 상기 통신부를 통한 상기 클라우드 스트리밍 서버와의 접속 이전에, 상기 통신부를 통해 상기 클라우드 스트리밍 서버에 접속하며, 생성된 키 스크립트를 상기 통신부를 통해 상기 클라우드 스트리밍 서버에 전송하고, 상기 전송에 응답하여 상기 클라우드 스트리밍 서버로부터 전송되는 다른 하나의 이미지를 상기 기준 이미지로 설정하여 상기 저장부에 저장하는 것을 특징으로 하는 가상 클라이언트.
  3. 제 2 항에 있어서,
    상기 클라우드 스트리밍 서버는 미리 저장된 복수의 이미지 중에서 상기 키 스크립트에 대응하는 상기 다른 하나의 이미지를 확인하고, 상기 확인된 다른 하나의 이미지를 상기 가상 클라이언트에 제공하는 것을 특징으로 하는 가상 클라이언트.
  4. 제 1 항에 있어서,
    상기 클라우드 스트리밍 서버는 미리 저장된 복수의 이미지 중에서 상기 테스트 키 스크립트에 대응하는 상기 테스트 이미지를 확인하고, 상기 확인된 테스트 이미지를 상기 가상 클라이언트에 제공하는 것을 특징으로 하는 가상 클라이언트.
  5. 제 1 항에 있어서,
    상기 제어부는, 상기 테스트 이미지와 상기 기준 이미지가 일치하지 않을 때, 상기 클라우드 스트리밍 서버에 장애가 있는 것으로 판단하고, 상기 클라우드 스트리밍 서버에 장애가 있음을 나타내는 정보를 표시하도록 표시부를 제어하는 것을 특징으로 하는 가상 클라이언트.
  6. 제 1 항에 있어서,
    상기 제어부는, 상기 테스트 이미지와 상기 기준 이미지가 미리 설정된 오차 범위 내에서 동일하거나 유사하지 않을 때, 상기 클라우드 스트리밍 서버에 장애가 있는 것으로 판단하고, 상기 클라우드 스트리밍 서버에 장애가 있음을 나타내는 정보를 표시하도록 표시부를 제어하는 것을 특징으로 하는 가상 클라이언트.
  7. 제 1 항에 있어서,
    상기 제어부는 상기 전송된 테스트 키 스크립트에 응답하여 상기 클라우드 스트리밍 서버로부터 전송되는 데이터를 수신하도록 상기 통신부를 제어하고, 상기 수신된 데이터에서 미리 설정된 시점에 상기 테스트 이미지를 캡쳐하고, 상기 캡쳐된 테스트 이미지와 상기 저장부에 미리 저장된 기준 이미지를 비교하여 두 이미지가 일치하는지 여부를 비교하고, 상기 비교 결과를 출력하는 것을 특징으로 하는 가상 클라이언트.
  8. 클라우드 스트리밍 서버로부터 전송되는 이미지를 근거로 상기 클라우드 스트리밍 서버에 대한 테스트를 수행하는 가상 클라이언트의 제어 방법에 있어서,
    통신부를 통해, 상기 클라우드 스트리밍 서버에 접속하는 단계;
    상기 통신부를 통해, 제어부에 의해 생성된 키 스크립트를 상기 클라우드 스트리밍 서버에 전송하는 단계;
    제어부를 통해, 상기 전송된 키 스크립트에 응답하여 상기 클라우드 스트리밍 서버로부터 전송되는 하나의 이미지를 기준 이미지로 설정하고, 상기 클라우드 스트리밍 서버와의 접속을 종료하는 단계;
    상기 통신부를 통해, 상기 클라우드 스트리밍 서버에 대한 정상 동작 유무를 확인하기 위한 테스트 수행 시, 상기 클라우드 스트리밍 서버에 재접속하는 단계;
    상기 통신부를 통해, 상기 제어부에 의해 생성된 테스트 키 스크립트를 상기 클라우드 스트리밍 서버에 전송하는 단계;
    상기 제어부를 통해, 상기 전송된 테스트 키 스크립트에 응답하여 상기 클라우드 스트리밍 서버로부터 전송되는 테스트 이미지와 상기 설정된 기준 이미지를 비교하여 두 이미지가 일치하는지 여부를 비교하는 단계; 및
    표시부를 통해, 상기 비교 결과를 표시하는 단계를 포함하는 가상 클라이언트의 제어 방법.
  9. 클라우드 스트리밍 서버로부터 전송되는 이미지를 근거로 상기 클라우드 스트리밍 서버에 대한 테스트를 수행하는 가상 클라이언트의 제어 방법에 있어서,
    통신부를 통해, 상기 클라우드 스트리밍 서버에 접속하는 단계;
    상기 통신부를 통해, 제어부에 의해 생성된 키 스크립트를 상기 클라우드 스트리밍 서버에 전송하는 단계;
    제어부를 통해, 상기 전송된 키 스크립트에 응답하여 상기 클라우드 스트리밍 서버로부터 전송되는 하나의 데이터에서 미리 설정된 시점에 이미지를 캡쳐하고, 상기 클라우드 스트리밍 서버와의 접속을 종료하는 단계;
    상기 제어부를 통해, 상기 캡쳐된 이미지를 기준 이미지로 설정하는 단계;
    상기 통신부를 통해, 상기 클라우드 스트리밍 서버에 대한 정상 동작 유무를 확인하기 위한 테스트 수행 시, 상기 클라우드 스트리밍 서버에 재접속하는 단계;
    상기 통신부를 통해, 상기 제어부에 의해 생성된 테스트 키 스크립트를 상기 클라우드 스트리밍 서버에 전송하는 단계;
    상기 제어부를 통해, 상기 전송된 테스트 키 스크립트에 응답하여 상기 클라우드 스트리밍 서버로부터 전송되는 다른 하나의 데이터에서 상기 미리 설정된 시점에 테스트 이미지를 캡쳐하는 단계;
    상기 제어부를 통해, 상기 캡쳐된 테스트 이미지와 상기 설정된 기준 이미지를 비교하여 두 이미지가 일치하는지 여부를 비교하는 단계; 및
    표시부를 통해, 상기 비교 결과를 표시하는 단계를 포함하는 가상 클라이언트의 제어 방법.
  10. 제8항 및 제9항 중 어느 한 항에 따른 방법을 수행하는 컴퓨터 프로그램이 기록된 기록매체.
KR1020150014732A 2015-01-30 2015-01-30 가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체 KR20160093877A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150014732A KR20160093877A (ko) 2015-01-30 2015-01-30 가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150014732A KR20160093877A (ko) 2015-01-30 2015-01-30 가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체

Publications (1)

Publication Number Publication Date
KR20160093877A true KR20160093877A (ko) 2016-08-09

Family

ID=56712287

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150014732A KR20160093877A (ko) 2015-01-30 2015-01-30 가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체

Country Status (1)

Country Link
KR (1) KR20160093877A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306610A (zh) * 2020-11-02 2021-02-02 北京字节跳动网络技术有限公司 终端控制方法、装置和电子设备
CN114268626A (zh) * 2020-09-16 2022-04-01 阿里巴巴集团控股有限公司 窗口处理系统、方法以及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110103699A (ko) 2010-03-15 2011-09-21 한국전자통신연구원 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 및 그 제어 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110103699A (ko) 2010-03-15 2011-09-21 한국전자통신연구원 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 및 그 제어 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114268626A (zh) * 2020-09-16 2022-04-01 阿里巴巴集团控股有限公司 窗口处理系统、方法以及装置
CN112306610A (zh) * 2020-11-02 2021-02-02 北京字节跳动网络技术有限公司 终端控制方法、装置和电子设备

Similar Documents

Publication Publication Date Title
US11050683B2 (en) System for providing dialog content
US10747491B2 (en) Methods and systems for displaying content on multiple networked devices with a simple command
CN107341387B (zh) 用于安全增强的电子图章系统及其控制方法
KR102261910B1 (ko) 클라우드 스트리밍 서비스를 위한 서비스 에러 검출 장치 및 이를 포함하는 종단간 서비스 모니터링 시스템 및 방법
US8656067B2 (en) Peripheral device identification for pairing
JP6064050B2 (ja) ルータアクセス制御方法、ルータアクセス制御装置、及びネットワークシステム
KR102657527B1 (ko) 계정 관련 정보에 기반하여 장치를 설정하는 방법 및 그 전자 장치
US10506068B2 (en) Cloud-based cross-device digital pen pairing
US20130262687A1 (en) Connecting a mobile device as a remote control
KR102206351B1 (ko) 전자 장치 및 이의 작업 연계 방법
KR102202110B1 (ko) 서비스 제공 방법, 전자 장치 및 저장 매체
US9602868B2 (en) Method and apparatus for controlling a media device
WO2015062425A1 (en) User identity verification method and system, password protection apparatus and storage medium
KR102110257B1 (ko) 전화번호를 이용하여 외부 기기를 제어하는 전자 기기 및 방법
US20150331501A1 (en) Smart pen pairing and connection
US11909806B2 (en) Systems and methods for establishing highly secure and resilient persistent communication connections
KR102502655B1 (ko) 연속성을 갖는 컨텐츠 재생 방법 및 이를 위한 전자 장치
JP2016530628A (ja) アプリテストシステム及びアプリテスト方法
KR102220766B1 (ko) 메시지를 구성하는 전자 장치와 방법 및 메시지를 수신하여 실행하는 웨어러블 전자 장치와 방법
KR101876394B1 (ko) 단말기에 미디어 데이터를 재생하는 방법 및 장치
KR20160093877A (ko) 가상 클라이언트와 클라우드 스트리밍 서버, 그를 포함하는 클라우드 스트리밍 서버 테스트 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체
US10277961B2 (en) Electronic device, companion device, and method of operating the electronic device
US10983745B2 (en) Display device and display system including same
KR102281127B1 (ko) 사용자 장치, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체
KR20200053752A (ko) 자동 완성 기능 지원 방법 및 이를 지원하는 전자 장치

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X601 Decision of rejection after re-examination