KR101512353B1 - 클라우드 스트리밍 서비스 제공 방법, 이를 위한 서비스 제어 장치 및 시스템 - Google Patents

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

Info

Publication number
KR101512353B1
KR101512353B1 KR20130014906A KR20130014906A KR101512353B1 KR 101512353 B1 KR101512353 B1 KR 101512353B1 KR 20130014906 A KR20130014906 A KR 20130014906A KR 20130014906 A KR20130014906 A KR 20130014906A KR 101512353 B1 KR101512353 B1 KR 101512353B1
Authority
KR
South Korea
Prior art keywords
service
application
group
request
applications
Prior art date
Application number
KR20130014906A
Other languages
English (en)
Other versions
KR20140101576A (ko
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 KR20130014906A priority Critical patent/KR101512353B1/ko
Publication of KR20140101576A publication Critical patent/KR20140101576A/ko
Application granted granted Critical
Publication of KR101512353B1 publication Critical patent/KR101512353B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Abstract

본 발명은 클라우드 스트리밍 서비스 제공 방법, 이를 위한 서비스 제어 장치 및 시스템에 관한 것으로서, 제1 그룹의 어플리케이션에 대한 서비스 요청에 따라서 해당 어플리케이션을 실행하여 그 실행 화면을 사용자 장치로 제공하는 제1 서비스 장치를 네트워크 상의 임의 위치에 배치하고, 제2 그룹의 어플리케이션에 대한 서비스 요청에 따라서 해당 어플리케이션을 실행하여 그 실행 화면을 사용자 장치로 제공하는 하는 다수의 제2 서비스 장치를 네트워크 상의 지리적으로 서로 다른 위치에 분산 배치한 후, 사용자 장치로부터 특정 어플리케이션에 대한 서비스 요청을 수신하면, 상기 특정 어플리케이션이 제1 그룹에 속하는 경우 상기 수신한 서비스 요청을 제1 서비스 장치로 전송하고, 상기 특정 어플리케이션이 제2 그룹에 속하는 경우 상기 특정 어플리케이션의 타입에 따른 요구 레이턴시를 고려하여 다수의 제2 서비스 장치 중 하나를 선택하고, 선택된 제2 서비스 장치로 상기 수신한 서비스 요청을 전송하여, 어플리케이션의 특성에 따라서, 제1 서비스 장치 및 분산 배치된 제2 서비스 장치 중 하나를 통해서 서비스 제공을 분산시키도록 구현된다.

Description

클라우드 스트리밍 서비스 제공 방법, 이를 위한 서비스 제어 장치 및 시스템{Method for providing cloud streaming service, service control apparatus and system therefor}
본 발명은 클라우드 스트리밍 서비스 제공 방법, 이를 위한 서비스 제어 장치 및 시스템에 관한 것으로서, 더욱 상세하게는 어플리케이션의 특성에 따라서 일부 어플리케이션은 분산 배치된 서비스 장치를 통해 요구 레이턴시를 만족하도록 서비스하고 나머지 어플리케이션은 레이턴시의 고려 없이 서비스 하는 클라우드 스트리밍 서비스 제공 방법, 이를 위한 서비스 제어 장치 및 시스템에 관한 것이다.
클라우드 컴퓨팅이란 인터넷 기반의 컴퓨터 기술을 의미하는 것으로, 사용자가 필요한 소프트웨어를 자신의 컴퓨터에 설치하지 않고도 인터넷 접속을 통해 언제든 사용할 수 있고 동시에 각종 정보통신 기기로 데이터를 손쉽게 공유할 수 있는 사용 환경이다. 즉, 개인이 웹에 접속해서 포토샵, 오피스 같은 프로그램을 작업할 수 있고 그 작업에 대한 저장도 웹에서 하게 된다. 결국 가상공간에 한 서버(컴퓨터)만을 놓고 이러한 컴퓨터를 통해 여러 사람이 개인 작업을 할 수 있는 것이다. 은행의 APM이나 항공기, 열차의 실시간 좌석 예약 시스템이 대표적이다.
IT기술이 발전하고, 어플리케이션 시장이 커지고, SNS 시장이 활성화될 수록 유저들의 콘텐츠 등 데이터 양이 급증하고 있다. 그러고 이제는 데이터가 과포화 상태가 되어 각각의 단말기로는 감당하기 어려운 상황까지 놓이게 되었다. 이런 상황을 클라우드 시스템은 완전히 해결할 수 있다. 그리고, 이러한 클라우드 시스템은 초소형 디바이스 환경을 구축하는데 밑바탕이 될 것이다.
예를 들어, 대용량의 영상 처리가 요구되는 서비스나 기능을 실행하는데 있어서, 클라우드 컴퓨팅 기반의 서버를 통해서 상기 서비스나 기능을 실행하도록 하고, 화면 가상화 기술을 적용하여 그 실행된 결과 화면만을 스트리밍 기술을 이용하여 사용자의 단말기로 전송함으로써, 사용자가 단말기를 통해 고사양 또는 고기능이 요구되는 서비스나 기능을 이용할 수 있도록 한다.
이렇게 사용자 단말기의 요구에 따라서 특정 서비스 혹은 기능을 실행하고 그 결과를 사용자 단말로 전송하는 화면 가상화 기술을 통하여 사용자 단말기가 다양한 서비스나 기능을 이용할 수 있도록 하는 기술을 클라우드 스트리밍 서비스라 한다.
이러한 클라우드 스트리밍 서비스의 경우, 다수의 사용자 단말기가 동시 접속하여 이용할 수 있으며, 또한, 이러한 클라우드 스트리밍 서비스를 통해서, 게임, 문서 편집용 어플리케이션, 동영상 재생기 등 그 특성이나 사용자 요구 사항이 서로 다른 다양한 종류의 소프트웨어가 제공될 수 있다.
예를 들어, 이용 빈도 및 사용자 수가 많고, 사용자 입력에 대한 신속한 결과 제공을 필요로 하는 어플리케이션의 경우, 안정된 서비스 제공을 위하여 분산 처리가 요구되는 반면에, 이용 빈도 및 사용자 수가 적은 어플리케이션의 경우 분산 처리가 더 비효율적일 수 있다.
따라서, 클라우드 스트리밍 서비스를 보다 효율적으로 제공할 수 있는 서버 시스템의 구축이 필요하다.
한국등록특허 제10-1081489호, 2011년 11월 02 등록 (명칭: 클라우드 컴퓨팅 기반 통합 사용자 환경 제공 방법 및 장치)
상술한 점을 감안한 본 발명은 클라우드 스트리밍 서비스를 제공하는데 있어서, 어플리케이션의 특성에 따라서 일부 어플리케이션은 분산 배치된 서비스 장치를 통해 요구 레이턴시를 만족하도록 서비스하고 나머지 어플리케이션은 레이턴시의 고려 없이 서비스 하는 클라우드 스트리밍 서비스 제공 방법, 이를 위한 서비스 제어 장치 및 시스템을 제공하고자 한다.
특히, 본 발명은 사용자 장치의 서비스 요청에 따라서 요청된 어플리케이션을 실행하여 그 실행 화면을 스트리밍 서비스하는데 있어서, 일부 어플리케이션은 네트워크 상의 특정 위치에 배치된 제1 서비스 장치를 통해서 레이턴시의 고려 없이 서비스하고, 나머지 어플리케이션은 네트워크 상에 분산 배치된 다수의 제1 서비스 장치 중 요구 레이턴시를 고려하여 서비스하는 클라우드 스트리밍 서비스 제공 방법, 이를 위한 서비스 제어 장치 및 시스템을 제공하고자 한다.
상술한 과제를 해결하기 위한 수단으로, 본 발명의 일 실시 예에 따른 클라우드 스트리밍 서비스를 위한 서비스 제어 장치는, 사용자 장치, 네트워크 상의 특정 위치에 배치되고 제1 그룹의 어플리케이션에 대한 서비스 요청에 따라서 해당 어플리케이션을 실행하여 그 실행 화면을 사용자 장치로 제공하는 제1 서비스 장치 및 네트워크 상의 지리적으로 서로 다른 위치에 분산 배치되고 제2 그룹의 어플리케이션에 대한 서비스 요청에 따라서 해당 어플리케이션을 실행하여 그 실행 화면을 사용자 장치로 제공하는 하는 다수의 제2 서비스 장치와 통신하기 위한 통신 모듈; 및 통신 모듈을 통해 사용자 장치로부터 특정 어플리케이션에 대한 서비스 요청을 수신하면, 특정 어플리케이션이 제1 그룹에 속하는 경우 수신한 서비스 요청을 제1 서비스 장치로 전송하고, 특정 어플리케이션이 제2 그룹에 속하는 경우 특정 어플리케이션의 타입에 따른 요구 레이턴시를 고려하여 다수의 제2 서비스 장치 중 하나를 선택하고, 선택된 제2 서비스 장치로 수신한 서비스 요청을 전송하는 제어 모듈을 포함하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 위한 서비스 제어 장치에 있어서, 제1 그룹의 어플리케이션은, UI(User Interface) 어플리케이션, 문서 작성용 어플리케이션 중 하나 이상을 포함하고, 제2 그룹의 어플리케이션은 게임 어플리케이션을 포함할 수 있으며, 또한, 제1 그룹의 어플리케이션은 미리 설정된 용량 미만의 데이터 크기를 가지는 어플리케이션이며, 상기 제2 그룹의 어플리케이션은 상기 미리 설정된 용량 이상의 데이터 크기를 가지는 어플리케이션으로 설정되거나, 제1 그룹의 어플리케이션은 미리 설정된 값 이상의 요구 레이턴시를 가지는 어플리케이션으로, 제2 그룹의 어플리케이션은 미리 설정된 값 미만의 요구 레이턴시를 가지는 어플리케이션으로 설정될 수 있다.
본 발명의 일 실시 예에 따른 클라우드 스트리밍 서비스를 제공하기 위한 서비스 제어 장치는, 제1 그룹의 어플리케이션에 대한 정보, 제2 그룹의 어플리케이션에 대한 정보, 다수의 제2 서비스 장치의 위치 정보 중 하나 이상을 저장하는 저장 모듈을 더 포함하고, 제어 모듈이 저장 모듈에 저장된 정보를 참조하여 수신한 서비스 요청을 처리하도록 할 수 있다.
또한, 본 발명의 일 실시 예에 따른 클라우드 스트리밍 서비스를 위한 서비스 제어 장치에 있어서, 제어 모듈은 특정 어플리케이션이 제2 그룹에 속하는 경우, 사용자 장치와 다수의 제2 서비스 장치 간의 거리, 다수의 제2 서비스 장치의 부하, 사용자 장치와 다수의 제2 서비스 장치 간의 네트워크 상태 중에서 하나 이상을 더 고려하여, 다수의 제2 서비스 장치 중에서 하나를 선택할 수 있다.
더하여, 본 발명의 일 실시 예에 따른 클라우드 스트리밍 서비스를 제공하기 위한 시스템은, 네트워크 상의 특정 위치에 배치되어, 제1 그룹의 어플리케이션들에 대하여, 사용자 장치의 서비스 요청에 따라서, 요청된 어플리케이션을 실행하고 그 실행 화면을 상기 사용자 장치로 제공하는 제1 서비스 장치; 네트워크 상의 서로 다른 위치에 각각 배치되어, 제1 그룹을 제외한 제2 그룹의 어플리케이션들에 대하여, 사용자 장치의 서비스 요청에 따라서 요청된 어플리케이션을 실행하여 그 실행 화면을 상기 사용자 장치로 제공하는 다수의 제2 서비스 장치; 및 사용자 장치의 서비스 요청을 수신하여, 서비스 요청된 어플리케이션이 제1 그룹에 속하는 경우, 어플리케이션의 타입에 따른 요구 레이턴시와 관계 없이 제1 서비스 장치로 상기 사용자 장치의 서비스 요청을 전송하고, 서비스 요청된 어플리케이션이 제2 그룹에 속하는 경우, 서비스 요청된 어플리케이션의 타입에 따른 요구 레이턴시를 고려하여, 다수의 제2 서비스 장치 중에서 특정 제2 서비스 장치를 선택하여 사용자 장치의 서비스 요청을 전송하는 서비스 제어 장치를 포함하는 것을 특징으로 한다.
더하여, 상술한 과제를 해결하기 위한 또 다른 수단으로서, 본 발명의 일 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법은, 네트워크 상의 특정 위치에 배치되어, 사용자 장치의 서비스 요청에 따라서 제1 그룹의 어플리케이션을 실행하고 그 실행 화면을 사용자 장치로 제공하는 제1 서비스 장치를 설정하는 단계; 네트워크 상의 서로 다른 위치에 분산 배치되어, 각각 제2 그룹의 어플리케이션을 실행하고, 그 실행 화면을 사용자 장치로 제공하는 다수의 제2 서비스 장치를 설정하는 단계; 특정 어플리케이션에 대한 서비스 요청을 사용자 장치로부터 수신하는 단계; 특정 어플리케이션이 제1 그룹에 속하는 경우, 서비스 요청을 제1 서비스 장치로 전송하는 단계; 및 특정 어플리케이션이 제2 그룹에 속하는 경우, 특정 어플리케이션의 타입에 따른 요구 레이턴시에 기초하여, 다수의 제2 서비스 장치 중에서 하나를 선택하고, 선택한 제2 서비스 장치로 서비스 요청을 전송하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법에 있어서, 제1 그룹의 어플리케이션은 미리 설정된 용량 미만의 데이터 크기를 가지는 어플리케이션으로, 제2 그룹의 어플리케이션은 상기 미리 설정된 용량 이상의 데이터 크기를 가지는 어플리케이션으로 설정되거나, 제1 그룹의 어플리케이션은 미리 설정된 값 이상의 요구 레이턴시를 가지는 어플리케이션으로, 제2 그룹의 어플리케이션은 상기 미리 설정된 값 미만의 요구 레이턴시를 가지는 어플리케이션으로 설정될 수 있다.
또한, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법에 있어서, 제2 서비스 장치로 상기 서비스 요청을 전송하는 단계는, 사용자 장치와 다수의 제2 서비스 장치 간의 거리, 다수의 제2 서비스 장치의 부하, 사용자 장치와 다수의 제2 서비스 장치 간의 네트워크 상태 중에서 하나 이상을 더 고려하여, 다수의 제2 서비스 장치 중에서 하나를 선택할 수 있다.
또한, 본 발명은 상술한 클라우드 스트리밍 서비스 제공 방법을 실행하는 컴퓨터 판독 가능한 기록 매체를 더 제공할 수 있다.
본 발명은 클라우드 스트리밍 서비스를 통해 사용자에게 제공되는 다양한 종류의 어플리케이션 중에서 제1 그룹의 어플리케이션에 대해서는 레이턴시를 고려하지 않고 네트워크 상의 특정 위치에 배치된 제1 서비스 장치를 통하여 사용자 장치로 서비스하고, 제2 그룹의 어플리케이션에 대해서는 해당 어플리케이션의 요구 레이턴시를 고려하여 네트워크 상의 서로 다른 위치에 분산 배치된 다수의 제2 서비스 장치 중에서 선택된 제2 서비스 장치를 통해서 사용자 장치로 서비스되도록 구현된다.
이에 따르면, 본 발명은 빠른 응답이 요구되는 특성을 갖는 어플리케이션에 대해서는 분산 배치된 제2 서비스 장치를 통하여, 요구 레이턴시를 만족하도록 요청된 서비스를 제공하되, 나머지 어플리케이션에 대해서는 제1 서비스 장치를 통해서 요구 레이턴시의 고려 없이 서비스를 제공함으로써, 사용자 만족도를 보장하는 범위 내에서 클라우드 스트리밍 서비스 시스템을 효율적으로 구현할 수 있는 우수한 효과가 있다.
도 1은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 위한 시스템의 구조를 나타낸 블럭도이다.
도 2는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 위한 서비스 제어 장치의 구성을 나타낸 블럭도이다.
도 3은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 제공받는 사용자 장치의 구성을 나타낸 블럭도이다.
도 4는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 위한 시스템에서의 동작 과정을 나타낸 흐름도이다.
도 5는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법을 나타낸 순서도이다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하의 설명에 있어서, 클라우드 스트리밍 서비스는, 클라우드 컴퓨팅 기술을 기반으로 사용자 장치로 다수의 어플리케이션을 제공하는 서비스이다. 구체적으로, 사용자 장치가 요청한 어플리케이션을 네트워크 상에 배치된 서버(이하, 서비스 장치라 함)를 통해서 실행한 후, 그 실행 결과를 사용자 장치로 제공할 수 있다. 이에 따르면, 사용자 장치에서는, 사용자의 입력 및 입력에 따른 결과의 출력만 이루어지고, 실제 어플리케이션의 실행은 서비스 장치에서 이루어지게 된다. 따라서, 사용자는 사용자 장치의 성능 및 사양으로 지원할 수 없는 다양한 어플리케이션을 이용할 수 있게 된다.
본 발명은 이러한 클라우드 스트리밍 서비스를 제공하는 시스템의 구현 방식과 관련된다.
도 1은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 위한 시스템의 구조를 나타낸 블럭도이다.
도 1을 참조하면, 본 발명에 따른 클라우드 스트리밍 서비스를 위한 시스템(300)은, 클라우드 컴퓨팅 기술을 기반으로 다양한 어플리케이션을 사용자 장치(100)로 제공하기 위한 시스템으로서, 사용자 장치(100)가 접근 가능한 네트워크 상에 연결된다. 여기서, 상기 네트워크는 사용자가 접근 가능한 통신망으로서, 다양한 방식의 통신망 및 이들을 결합망이 될 수 있다. 예컨대, 본 발명에 따른 시스템(300)은, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신 방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신 방식에 따른 네트워크 상에 구현될 수 있다.
사용자 장치(100)은 네트워크를 통해 클라우드 스트리밍 서비스를 위한 시스템(300)에 접속을 수행하고, 시스템(300)에서 제공하는 다양한 서비스 및 기능들을 이용할 수 있다. 예컨대, 사용자 장치(100)은 시스템(300)에서 제공하는 다수의 어플리케이션 중 특정 어플리케이션의 실행 요청을 전송하고, 상기 시스템(300)으로부터 상기 어플리케이션 실행에 따른 결과 정보를 수신하여 이를 화면을 통해 출력할 수 있다. 더하여, 사용자 장치(100)는 상기 어플리케이션의 실행과 관련된 사용자 입력을 상기 시스템(300)으로 전송하고, 상기 시스템(300)으로부터 상기 사용자 입력에 따른 어플리케이션의 실행 결과를 수신하여 출력할 수 있다.
상기 사용자 장치(100)로 클라우드 컴퓨팅 기반의 어플리케이션 서비스를 제공하는 시스템(300)은, 제1 서비스 장치(310)와, 다수의 제2 서비스 장치(320)와, 서비스 제어 장치(330)를 포함하여 이루어질 수 있다.
상기 제1 서비스 장치(310)는, 네트워크 상의 특정 위치에 배치되어, 제1 그룹의 어플리케이션들에 대한 서비스 요청에 따라서, 요청된 어플리케이션을 실행하고 그 실행 화면을 사용자 장치(100)로 제공한다.
상기 다수의 제2 서비스 장치(320)는, 네트워크 상의 서로 다른 위치에 각각 분산 배치되어, 상기 제1 그룹을 제외한 제2 그룹의 어플리케이션들에 대한 서비스 요청에 따라서, 요청된 어플리케이션을 실행하여 그 실행 화면을 사용자 장치(100)로 제공한다.
즉, 상기 제1 서비스 장치(310) 및 다수의 제2 서비스 장치(320)는 서비스하는 어플리케이션의 종류가 서로 상이하며, 또한, 제1 서비스 장치(310)는 해당 어플리케이션의 요구 레이턴시를 고려하지 않고 네트워크 상에 배치되는 반면, 다수의 제2 서비스 장치(320)는 해당 어플리케이션의 요구 레이턴시를 고려하여 네트워크 상의 서로 다른 위치에 분산 배치되는 점에서 차이가 있다.
서비스 제어 장치(330)는 이러한 제1 서비스 장치(310) 및 다수의 제2 서비스 장치(320)를 제어하기 위한 구성이다. 구체적으로, 서비스 제어 장치(330)는 상기 사용자 장치(100)의 특정 어플리케이션에 대한 서비스 요청을 수신한다. 그리고, 서비스 제어 장치(330)는 서비스 요청된 어플리케이션이 제1 그룹과 제2 그룹 중 어느 곳에 속하는 지를 확인한다. 그 결과 서비스 요청된 어플리케이션이 제1 그룹에 속하는 경우, 서비스 제어 장치(330) 어플리케이션의 타입에 따른 요구 레이턴시와 관계 없이 상기 제1 서비스 장치(310)로 상기 사용자 장치(100)의 서비스 요청을 전송한다. 이에 따라서, 상기 제1 서비스 장치(310)는 사용자 장치(100)의 서비스 요청을 수신하여, 요청된 어플리케이션을 실행하고 그 실행 결과를 사용자 장치(100)로 제공하게 된다. 반면에, 서비스 요청된 어플리케이션이 제2 그룹에 속하는 경우, 서비스 제어 장치(330)는 서비스 요청된 어플리케이션의 타입에 따른 요구 레이턴시를 고려하여, 다수의 제2 서비스 장치(320) 중에서 특정 제2 서비스 장치(320)를 선택하고, 선택된 제2 서비스 장치(320)로 상기 사용자 장치(100)의 서비스 요청을 전송한다. 이에 선택된 제2 서비스 장치(320)는 사용자 장치(100)의 서비스 요청을 수신하여, 요청된 어플리케이션을 실행하고 그 실행 결과를 사용자 장치(100)로 제공하게 된다.
여기서, 제1 그룹의 어플리케이션과, 제2 그룹의 어플리케이션은 어플리케이션의 특성을 기반으로 분류되어 설정될 수 있다.
예를 들어, 상기 제1 그룹의 어플리케이션은 미리 설정된 용량 미만의 데이터 크기를 가지는 어플리케이션으로, 제2 그룹의 어플리케이션은 상기 미리 설정된 용량 이상의 데이터 크기를 가지는 어플리케이션으로 분류될 수 있다. 즉, 어플리케이션의 데이터 크기가 설정된 용량 이상으로, 해당 어플리케이션을 처리하는데 다소 시간이 소요되는 게임 어플리케이션 등의 경우, 분산 배치된 제2 서비스 장치(320)를 통해 분산 처리하도록 함으로써, 해당 어플리케이션에 대하여 요구되는 최소한의 요구 레이턴시를 충족시킬 수 있도록 있고, 반면 UI 어플리케이션과 같이 데이터 크기가 설정 용량 이하로 큰 부담을 가중시키지 않는 어플리케이션에 대해서는 제2 서비스 장치(310)를 통해 처리하도록 할 수 있다.
또 다른 예로서, 상기 제1 그룹의 어플리케이션은 미리 설정된 값 이상의 요구 레이턴시를 가지는 어플리케이션으로, 상기 제2 그룹의 어플리케이션은 상기 미리 설정된 값 미만의 요구 레이턴시를 가지는 어플리케이션으로 분류될 수 있다. 즉, 어플리케이션의 특성 상 빠른 응답이 요구되어 기 설정 값 미만의 요구 레이턴시를 갖는 게임 어플리케이션 등에 대해서는 다수의 제2 서비스 장치(320)를 통해서 분산 처리함으로써, 서버의 부하 집중으로 인한 응답이 지연되는 것을 방지하고, 특별히 빨리 응답하지 않아도 되어 기 설정 값 이상의 요구 레이턴시를 갖는 UI 어플리케이션이나, 문서 작성용 어플리케이션 등의 경우, 제1 서비스 장치(310)를 통해서 최소의 요구 레이턴시를 만족하는 범위 내에서 서비스를 제공하도록 할 수 있다.
이하, 상술한 서비스 제어 장치(330)의 구성 및 작용을 좀더 구체적으로 설명한다.
도 2는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 위한 서비스 제어 장치의 구성을 나타낸 블럭도이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 서비스 제어 장치(330)는, 통신 모듈(331), 제어 모듈(332), 저장 모듈(333)을 포함하여 구성될 수 있다.
먼저, 통신 모듈(331)는 네트워크를 다수의 사용자 장치(100)와 서비스와 관련된 데이터를 송수신하는 것으로, 특히, 사용자 장치(100)로부터 특정 어플리케이션에 대한 서비스 요청을 수신한다. 또한 상기 사용자 장치(100)로부터 어플리케이션의 실행 중에 나타나는 사용자의 입력 정보를 수신한다. 또한, 통신 모듈(331)은 제1 서비스 장치(310) 및 다수의 제2 서비스 장치(320)와 서비스 제공을 위한 데이터를 송수신한다. 구체적으로, 통신 모듈(331)은 제1 서비스 장치(310) 및 다수의 제2 서비스 장치(320)로 상기 수신한 사용자 장치(100)의 서비스 요청 또는 입력 정보를 전송한다.
제어 모듈(332)는 본 발명에 따른 서비스 제어 장치(330)의 전반적인 동작을 제어하는 것으로, 특히, 본 발명의 제어 모듈(332)는 통신 모듈(331)을 통해서 어느 하나의 사용자 장치(100)로부터 특정 어플리케이션에 대한 서비스 요청이 수신되면, 상기 수신한 사용자 장치(100)의 서비스 요청을 제1 서비스 장치(310) 또는 다수의 제2 서비스 장치(320) 중 하나로 전송한다.
더 구체적으로 설명하면, 제어 모듈(332)은 상기 통신 모듈(331)을 통해, 사용자 장치(100)로부터 특정 어플리케이션에 대한 서비스 요청을 수신하면, 상기 특정 어플리케이션이 제1 그룹과 제2 그룹 중 어느 곳에 속하는 지를 확인한다. 그리고, 상기 특정 어플리케이션이 제1 그룹에 속하는 경우, 제어 모듈(332)은 상기 수신한 서비스 요청을 제1 서비스 장치(310)로 전송하고, 상기 특정 어플리케이션이 제2 그룹에 속하는 경우 상기 특정 어플리케이션의 타입에 따른 요구 레이턴시를 고려하여 다수의 제2 서비스 장치(320) 중 하나를 선택하고, 선택된 제2 서비스 장치(320)로 상기 수신한 서비스 요청을 전송한다.
여기서, 상기 제어 모듈(332)이 다수의 제2 서비스 장치(320) 중에서 하나를 선택하는 것은, 분산 배치된 다수의 제2 서비스 장치(320) 중에서 상기 특정 어플리케이션의 요구 레이턴시의 범위 내에서 특정 어플리케이션을 실행하고 그 실행 결과를 사용자 장치(100)로 전송할 수 있는 서비스 장치를 선택하기 위한 것이다. 이를 위하여, 상기 제어 모듈(332)은, 상기 특정 어플리케이션이 제2 그룹에 속하는 경우, 상기 사용자 장치(100)와 다수의 제2 서비스 장치(320) 간의 거리, 상기 다수의 제2 서비스 장치(320)의 부하, 상기 사용자 장치(100)와 다수의 제2 서비스 장치(320) 간의 네트워크 상태 중에서 하나 이상을 더 고려하여, 해당 어플리케이션에 대하여 기 설정된 요구 레이턴시를 만족시킬 수 있는 제2 서비스 장치(320)를 선택할 수 있다. 예를 들어, 제어 모듈(332)은 상기 사용자 장치(100)와 가까운 거리에 위치한 제2 서비스 장치(320)를 선택하거나, 다수의 제2 서비스 장치(320) 중 현재 부하가 상대적으로 적은 제2 서비스 장치(320)를 선택하거나, 사용자 장치(100) 간의 네트워크 상태가 양호한 제2 서비스 장치(320)를 선택하거나, 이들 중 둘 이상을 만족하는 제2 서비스 장치(320)를 선택할 수 있다.
상술한 제어 모듈(332)의 동작을 위하여, 서비스 제어 장치(330)는, 상기 제1 그룹의 어플리케이션에 대한 정보, 제2 그룹의 어플리케이션에 대한 정보, 다수의 제2 서비스 장치의 위치 정보 중 하나 이상을 저장하고 있어야 한다.
즉, 저장 모듈(333)은, 상기 제어 모듈(332)에 동작에 필요한 정보를 저장하기 위한 구성으로서, 상기 제1 그룹의 어플리케이션에 대한 정보, 제2 그룹의 어플리케이션에 대한 정보, 다수의 제2 서비스 장치의 위치 정보 중에서 하나 이상을 저장할 수 있다. 또한, 저장 모듈(333)은 어플리케이션 별로 기 설정된 요구 레이턴시에 대한 정보를 더 저장할 수 있다. 상기 요구 레이턴시는 어플리케이션의 특성을 반영하여 설정될 수 있다.
따라서, 상기 제어 모듈(332)은 상기 저장 모듈(333)에 저장된 정보를 참조하여 수신한 사용자 장치(100)의 서비스 요청을 어떠한 서비스 장치로 전송할 지를 결정한다.
상술한 바와 같이 구성된 서비스 제어 장치(330)로부터 사용자의 서비스 요청을 전달받은 제1 서비스 장치(310) 및 다수의 제2 서비스 장치(320)는, 요청된 어플리케이션을 실행하고, 어플리케이션 실행 결과에 따른 화면 데이터를 프레임 단위로 실시간 인코딩하고, 인코딩된 데이터를 상기 사용자 장치(100)로 전송할 수 있다. 아울러, 제1 서비스 장치(310) 및 다수의 제2 서비스 장치(320)는 해당 사용자 장치(100)로부터 어플리케이션의 실행 중에 발생한 사용자의 입력 정보를 수신하고, 수신한 사용자의 입력 정보를 어플리케이션에 반영하여 그 결과로 나타난 화면 데이터를 프레임 단위로 실시간 인코딩하여, 인코딩된 데이터를 사용자 장치(100)로 전송할 수 있다. 상기 사용자 장치(100)는 수신한 데이터를 디코딩하여 화면으로 출력함으로써, 사용자가 요청한 어플리케이션의 실행 결과를 사용자에게 제공하게 된다.
이상으로, 본 발명의 실시 예에 따른 서비스 제어 장치(330)의 주요 구성 및 동작 방법에 대해 설명하였다. 본 발명의 일 실시 예에 따른 시스템(300)는 클라우드 방식으로 동작하는 것을 예로 들어 설명하였으나, 일반적인 서버 기반 컴퓨팅 방식에도 용이하게 적용 가능하다.
다음으로, 도 3은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 이용하는 사용자 장치(100)의 구성을 설명하기 위한 블럭도이다.
도 3을 참조하면, 본 발명의 실시 예에 따른 사용자 장치(100)는 통신부(110), 표시부(120), 입력부(130), 저장부(140) 및 제어부(150)를 포함한다.
통신부(110)는 네트워크를 통해 클라우드 스트리밍 서비스를 위한 시스템(300)에 접속하여 통신을 하기 위한 것이다. 통신부(110)는 제어부(150)의 제어에 따라, 시스템(300)의 서비스 제어 장치(330)에 특정 어플리케이션에 대한 서비스 요청을 전송할 수 있다. 또한, 통신부(110)는 제1 서비스 장치(310) 및 다수의 제2 서비스 장치(320) 중 하나로부터 요청된 어플리케이션의 실행 결과에 대한 데이터를 수신할 수 있다. 더하여, 통신부(110)는 상기 실행 중에 어플리케이션과 관련된 사용자 입력 정보를 제1 서비스 장치(310) 및 다수의 제2 서비스 장치(320) 중 하나로 전송하고, 그에 대응하는 실행 결과에 대한 데이터를 수신할 수 있다. 이때, 통신부(110)는 스트리밍 기법에 따라 어플리케이션의 실행 화면에 대한 인코딩 데이터를 프레임 단위로 수신할 수 있다. 이러한 통신부(110)는 네트워크의 종류 및 네트워크에 적용된 프로토콜에 따라서 데이터를 처리하는 기능을 더 포함할 수 있다.
표시부(120)는 사용자 장치(100)의 실행에 따라 발생되는 정보를 사용자가 시각적으로 인지할 수 있도록 출력하기 위한 수단이다. 표시부(120)가 터치스크린(touch screen)이 될 수 있으며, 이와 같이, 터치스크린 형태로 표시부(120)가 형성된 경우, 표시부(120)는 입력부(130)의 기능 중 일부 또는 전부를 수행할 수 있다. 즉, 상기 제1 서비스 장치(310) 및 다수의 제2 서비스 장치(320) 중 하나로부터 수신한 실행 결과를 출력한다.
입력부(130)는 사용자의 명령, 선택, 데이터, 정보 중에서 적어도 하나를 입력 받기 위한 수단으로서, 숫자 또는 문자 정보를 입력 받고 다양한 기능을 설정하기 위한 다수의 입력키 및 기능키를 포함할 수 있다. 그리고 입력부(130)는 사용자의 키 입력을 감지하여, 감지된 키 입력에 따른 입력 신호를 제어부(150)로 전달한다. 입력부(130)는 키보드, 키패드, 마우스, 조이스틱 등과 같은 입력 장치 등을 예시할 수 있다. 특히, 표시부(120)가 터치스크린 형태로 형성된 경우, 입력부(130)의 기능 중 일부 또는 전부는 표시부(120)를 통해 수행될 수 있다.
저장부(140)는 데이터를 저장하기 위한 장치로, 주 기억 장치 및 보조 기억 장치를 포함한다. 이러한 저장부(140)는 운영 체제(OS, Operation System), 각 종 어플리케이션 등을 저장할 수 있다. 그리고 저장부(140)는 사용자 장치(100) 사용에 따라 발생되는 각 종 데이터를 저장할 수 있다. 저장부(140)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다.
제어부(150)는 운영 체제를 실제로 구동시키는 프로세스 장치가 될 수 있다. 예컨대, 제어부(150)는 중앙처리장치(CPU, Central Processing Unit)가 될 수 있다. 제어부(150)는 사용자 장치(100)의 전원이 켜지면, 운영 체제를 저장부(140)의 보조 기억 장치로부터 주 기억 장치로 이동시킨 후, 운영 체제를 구동하는 부팅(booting)을 수행한다.
제어부(150)는 사용자의 입력부(130)를 통한 요청이 있는 경우, 특정 어플리케이션에 대한 서비스 요청을 통신부(110)를 통해서 서비스 제어 장치(330)로 전송하도록 제어한다. 그리고, 통신부(110)를 통해서 상기 제1 서비스 장치(310) 및 다수의 제2 서비스 장치(320) 중 하나로부터 수신한 실행 결과에 대한 데이터를 디코딩하여 상기 표시부(120)를 통해 출력되도록 제어한다. 더하여, 어플리케이션의 실행 중에 입력부(130)를 통해 발생하는 사용자 입력 정보를 상기 제1 서비스 장치(310) 및 다수의 제2 서비스 장치(320) 중 하나로 전송하고, 그에 따른 실행 결과에 대한 데이터가 수신되며, 이를 디코딩하여 상기 표시부(120)를 통해 출력되도록 제어한다.
이하 상술한 바와 같이 구성된 본 발명의 클라우드 스트리밍 서비스를 위한 시스템에서의 동작 과정을 도 4를 참조하여 설명한다.
도 4는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 위한 시스템에서의 동작 과정을 나타낸 흐름도이다.
도 4를 참조하면, S105단계에서, 특정 어플리케이션에 대한 클라우드 스트리밍 서비스를 제공받고자 하는 사용자의 조작에 의하여, 사용자 장치(100)가 특정 어플리케이션에 대한 서비스 요청 명령을 입력 받는다.
이에 사용자 장치(100)는, S110 단계에서, 특정 어플리케이션에 대한 서비스 요청을 클라우드 스트리밍 서비스를 위한 시스템(300)의 서비스 제어 장치(330)로 전송한다.
이에 의하여, 사용자 장치(100)로부터 특정 어플리케이션에 대한 서비스 요청을 수신한 서비스 제어 장치(330)는, S115 단계에서, 서비스 요청된 특정 어플리케이션이 제1 그룹과 제2 그룹 중 어느 곳에 속하는 지를 확인한다. 이는 요청된 어플리케이션의 특성에 따라서, 해당 어플리케이션을 분산 배치된 제2 서비스 장치(320)를 통해 제공할 지, 제1 서비스 장치(310)를 통해 제공할 지를 판단하기 위한 것이다.
그리고, 확인 결과에 따라서, 서비스 제어 장치(330)는, 상기 특정 어플리케이션이 제1 그룹에 속하는 경우, S120 단계에서, 상기 수신한 사용자 장치(100)의 서비스 요청을 제1 서비스 장치(310)로 전송한다. 이때, 전송되는 서비스 요청은, 사용자 장치(100)에 대한 정보, 특정 어플리케이션에 대한 정보를 포함한다.
이에 사용자 장치(100)의 서비스 요청을 전달받은 제1 서비스 장치(310)는, S125 단계에서, 해당 어플리케이션을 실행한다. 더하여, 상기 어플리케이션의 실행에 따른 결과 화면을 프레임 단위로 인코딩한다.
그리고, 제1 서비스 장치(310)는 S130 단계에서, 상기 어플리케이션의 실행 화면을 사용자 장치(100)로 전송한다. 더 구체적으로, 프레임 단위로 인코딩한 실행 화면을 사용자 장치(100)에 스트리밍 방식으로 실시간으로 전송하는 것이다.
이에 사용자 장치(100)는 S135 단계에서, 수신된 데이터를 디코딩하여 상기 원래의 화면을 복원한 후 표시부(120)을 통해 출력한다.
반면에, S125 단계의 확인 결과, 상기 특정 어플리케이션이 제1 그룹에 속하지 않는 경우, 즉, 제2 그룹에 속하는 경우, 서비스 제어 장치(330)는 S140 단계에서, 상기 특정 어플리케이션의 타입에 따른 요구 레이턴시를 고려하여 다수의 제2 서비스 장치(320) 중 하나를 선택한다. 이는, 분산 배치된 다수의 제2 서비스 장치(320) 중에서 상기 특정 어플리케이션의 요구 레이턴시의 범위 내에서 특정 어플리케이션을 실행하고 그 실행 결과를 사용자 장치(100)로 전송할 수 있는 서비스 장치를 선택하기 위한 것이다. 이를 위하여, 상기 서비스 제어 장치(330)은, 상기 특정 어플리케이션이 제2 그룹에 속하는 경우, 상기 사용자 장치(100)와 다수의 제2 서비스 장치(320) 간의 거리, 상기 다수의 제2 서비스 장치(320)의 부하, 상기 사용자 장치(100)와 다수의 제2 서비스 장치(320) 간의 네트워크 상태 중에서 하나 이상을 더 고려하여, 해당 어플리케이션에 대하여 기 설정된 요구 레이턴시를 만족시킬 수 있는 제2 서비스 장치(320)를 선택할 수 있다.
그리고, 제2 서비스 장치(320)가 선택되면, 서비스 제어 장치(330)는 S145 단계에서, 선택된 제2 서비스 장치(320)로 상기 S110 단계에서 수신한 사용자 장치(100)의 서비스 요청을 전송한다. 앞서 설명한 바와 같이, 상기 서비스 요청은, 사용자 장치(100)에 대한 정보, 특정 어플리케이션에 대한 정보를 포함한다.
이에 사용자 장치(100)의 서비스 요청을 전달받은 제2 서비스 장치(320)는, S150 단계에서, 해당 어플리케이션을 실행한다. 더하여, 상기 어플리케이션의 실행에 따른 결과 화면을 프레임 단위로 인코딩한다.
그리고, 제2 서비스 장치(320)는 S155 단계에서, 상기 어플리케이션의 실행 화면을 사용자 장치(100)로 전송한다. 더 구체적으로, 프레임 단위로 인코딩한 실행 화면을 사용자 장치(100)에 스트리밍 방식으로 실시간으로 전송하는 것이다.
이에 사용자 장치(100)는 S160 단계에서, 수신된 데이터를 디코딩하여 상기 원래의 화면을 복원한 후 표시부(120)을 통해 출력한다.
상기에 의하여, 사용자 장치(100)는 제1 서비스 장치(310) 및 다수의 제2 서비스 장치(320) 중 하나를 통해서 특정 어플리케이션에 대한 클라우드 스트리밍 서비스를 제공받게 된다.
도 5는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법을 나타낸 순서도이다.
도 5를 참조하면, 본 발명은, 클라우드 스트리밍 서비스의 제공을 위하여, S205 단계에서, 사용자 장치(100)의 서비스 요청에 따라서 제1 그룹의 어플리케이션을 실행하고 그 실행 화면을 사용자 장치로 제공할 제1 서비스 장치(310)를 네트워크 상의 특정 위치에 배치한다. 상기 제1 서비스 장치(310)의 위치는 임의로 설정되는 것으로 어느 곳에 배치되더라도 관계없다. 이러한 제1 서비스 장치(310)에 대한 정보는 서비스 제공 장치(330)에 설정된다.
아울러, 본 발명은 S210 단계에서, 각각 제2 그룹의 어플리케이션을 실행하고, 그 실행 화면을 사용자 장치(100)로 제공할 다수의 제2 서비스 장치(210)를 네트워크 상의 서로 다른 위치에 분산 배치하고, 그 설정 정보를 서비스 제어 장치(330)에 저장한다. 상기 다수의 제2 서비스 장치(210)의 위치는 다양한 위치에서 네트워크에 접속한 사용자 장치(100)들에 대하여 서비스를 효율적으로 분산시킬 수 있도록 적절히 배치되는 것이 바람직하다.
그리고, S215 단계에서, 본 발명에 따른 서비스 제어 장치(330)는 특정 어플리케이션에 대한 서비스 요청을 사용자 장치(100)로부터 수신할 수 있다.
이에, S215 단계에서 사용자 장치(100)로부터 특정 어플리케이션에 대한 서비스 요청을 수신한 서비스 제어 장치(330)는, S220 단계에서, 서비스 요청된 특정 어플리케이션이 제1 그룹과 제2 그룹 중 어느 곳에 속하는 지를 확인한다.
그리고, 확인 결과에 따라서, 서비스 제어 장치(330)는, 상기 특정 어플리케이션이 제1 그룹에 속하는 경우, S225 단계에서, 상기 수신한 사용자 장치(100)의 서비스 요청을 제1 서비스 장치(310)로 전송한다.
반면에, 상기 특정 어플리케이션이 제1 그룹에 속하지 않는 경우, 즉, 제2 그룹에 속하는 경우, 서비스 제어 장치(330)는 S230 단계로 진행하여, 상기 특정 어플리케이션의 타입에 따른 요구 레이턴시를 고려하여 다수의 제2 서비스 장치(320) 중 하나를 선택한다.
그리고, S235 단계에서, 서비스 제어 장치(330)는 선택된 제2 서비스 장치(320)로 사용자 장치(100)의 서비스 요청을 전송한다.
상술한 서비스 제어 장치(330)의 제어에 의하여, 사용자 장치(100)의 서비스 요청은, 요청된 어플리케이션의 특성에 따라서 제1 서비스 장치(310) 및 다수의 제2 서비스 장치(320) 중 하나로 분배될 수 있으며, 특히, 제2 그룹의 어플리케이션에 대한 요청은 다수의 제2 서비스 장치(320) 중 하나에 의하여 분산 처리될 수 있다.
본 발명에 따른 클라우드 스트리밍 서비스 제공 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으나, 여기에 개시된 실시 예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다.
따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
본 발명은 클라우드 스트리밍 서비스를 통해 사용자에게 제공되는 다양한 종류의 어플리케이션 중에서 제1 그룹의 어플리케이션에 대해서는 레이턴시를 고려하지 않고 네트워크 상의 특정 위치에 배치된 제1 서비스 장치를 통하여 사용자 장치로 서비스하고, 제2 그룹의 어플리케이션에 대해서는 해당 어플리케이션의 요구 레이턴시를 고려하여 네트워크 상의 서로 다른 위치에 분산 배치된 다수의 제2 서비스 장치 중에서 선택된 제2 서비스 장치를 통해서 사용자 장치로 서비스되도록 구현된다.
이에 따르면, 본 발명은 빠른 응답이 요구되는 특성을 갖는 어플리케이션에 대해서는 분산 배치된 제2 서비스 장치를 통하여, 요구 레이턴시를 만족하도록 요청된 서비스를 제공하되, 나머지 어플리케이션에 대해서는 제1 서비스 장치를 통해서 요구 레이턴시의 고려 없이 서비스를 제공함으로써, 사용자 만족도를 보장하는 범위 내에서 클라우드 스트리밍 서비스 시스템을 효율적으로 구현할 수 있는 것으로서, 산업상 이용 가능성이 있는 것이다.
100: 사용자 장치 110: 통신부
120: 표시부 130: 입력부
140: 저장부 150: 제어부
300: 클라우드 스트리밍 서비스를 위한 시스템
310: 제1 서비스 장치 320: 제2 서비스 장치
330: 서비스 제어 장치 331: 통신 모듈
332: 제어 모듈 333: 저장 모듈

Claims (12)

  1. 사용자 장치, 네트워크 상의 특정 위치에 배치되고 제1 그룹의 어플리케이션에 대한 서비스 요청에 따라서 해당 어플리케이션을 실행하여 그 실행 화면을 사용자 장치로 제공하는 제1 서비스 장치 및 네트워크 상의 지리적으로 서로 다른 위치에 분산 배치되고 제2 그룹의 어플리케이션에 대한 서비스 요청에 따라서 해당 어플리케이션을 실행하여 그 실행 화면을 사용자 장치로 제공하는 하는 다수의 제2 서비스 장치와 통신하기 위한 통신 모듈; 및
    상기 통신 모듈을 통해, 사용자 장치로부터 특정 어플리케이션에 대한 서비스 요청을 수신하면, 상기 특정 어플리케이션이 제1 그룹에 속하는 경우 상기 수신한 서비스 요청을 제1 서비스 장치로 전송하고, 상기 특정 어플리케이션이 제2 그룹에 속하는 경우 상기 특정 어플리케이션의 타입에 따른 요구 레이턴시를 고려하여 다수의 제2 서비스 장치 중 하나를 선택하고, 선택된 제2 서비스 장치로 상기 수신한 서비스 요청을 전송하는 제어 모듈을 포함하되,
    상기 제1 그룹의 어플리케이션은 미리 설정된 값 이상의 요구 레이턴시를 가지는 어플리케이션이며,
    상기 제2 그룹의 어플리케이션은 상기 미리 설정된 값 미만의 요구 레이턴시를 가지는 어플리케이션인 것을 특징으로 하는 클라우드 스트리밍 서비스를 위한 서비스 제어 장치.
  2. 제1항에 있어서,
    제1 그룹의 어플리케이션은, UI(User Interface) 어플리케이션, 문서 작성용 어플리케이션 중 하나 이상을 포함하고,
    제2 그룹의 어플리케이션은 게임 어플리케이션을 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스를 위한 서비스 제어 장치.
  3. 제1항에 있어서,
    상기 제1 그룹의 어플리케이션은 미리 설정된 용량 미만의 데이터 크기를 가지는 어플리케이션이며,
    상기 제2 그룹의 어플리케이션은 상기 미리 설정된 용량 이상의 데이터 크기를 가지는 어플리케이션인 것을 특징으로 하는 클라우드 스트리밍 서비스를 위한 서비스 제어 장치.
  4. 삭제
  5. 제1항에 있어서,
    상기 제1 그룹의 어플리케이션에 대한 정보, 제2 그룹의 어플리케이션에 대한 정보, 다수의 제2 서비스 장치의 위치 정보 중 하나 이상을 저장하는 저장 모듈을 더 포함하고,
    상기 제어 모듈은 상기 저장 모듈에 저장된 정보를 참조하여 수신한 서비스 요청을 처리하는 것을 특징으로 하는 클라우드 스트리밍 서비스를 위한 서비스 제어 장치.
  6. 제1항에 있어서, 상기 제어 모듈은
    상기 특정 어플리케이션이 제2 그룹에 속하는 경우,
    상기 사용자 장치와 다수의 제2 서비스 장치 간의 거리, 상기 다수의 제2 서비스 장치의 부하, 상기 사용자 장치와 다수의 제2 서비스 장치 간의 네트워크 상태 중에서 하나 이상을 더 고려하여, 상기 다수의 제2 서비스 장치 중에서 하나를 선택하는 것을 특징으로 하는 클라우드 스트리밍 서비스를 위한 서비스 제어 장치.
  7. 네트워크 상의 특정 위치에 배치되어, 제1 그룹의 어플리케이션들에 대하여, 사용자 장치의 서비스 요청에 따라서, 요청된 어플리케이션을 실행하고 그 실행 화면을 상기 사용자 장치로 제공하는 제1 서비스 장치;
    네트워크 상의 서로 다른 위치에 각각 분산 배치되어, 상기 제1 그룹을 제외한 제2 그룹의 어플리케이션들에 대하여, 사용자 장치의 서비스 요청에 따라서 요청된 어플리케이션을 실행하여 그 실행 화면을 상기 사용자 장치로 제공하는 다수의 제2 서비스 장치; 및
    상기 사용자 장치의 서비스 요청을 수신하여, 서비스 요청된 어플리케이션이 제1 그룹에 속하는 경우, 어플리케이션의 타입에 따른 요구 레이턴시와 관계 없이 상기 제1 서비스 장치로 상기 사용자 장치의 서비스 요청을 전송하고, 서비스 요청된 어플리케이션이 제2 그룹에 속하는 경우, 서비스 요청된 어플리케이션의 타입에 따른 요구 레이턴시를 고려하여, 다수의 제2 서비스 장치 중에서 특정 제2 서비스 장치를 선택하여 상기 사용자 장치의 서비스 요청을 전송하는 서비스 제어 장치를 포함하되,
    상기 제1 그룹의 어플리케이션은 미리 설정된 값 이상의 요구 레이턴시를 가지는 어플리케이션이며,
    상기 제2 그룹의 어플리케이션은 상기 미리 설정된 값 미만의 요구 레이턴시를 가지는 어플리케이션인 것을 특징으로 하는 클라우드 스트리밍 서비스를 위한 시스템.
  8. 네트워크 상의 특정 위치에 배치되어, 사용자 장치의 서비스 요청에 따라서 제1 그룹의 어플리케이션을 실행하고 그 실행 화면을 사용자 장치로 제공하는 제1 서비스 장치를 설정하는 단계;
    네트워크 상의 서로 다른 위치에 분산 배치되어, 각각 제2 그룹의 어플리케이션을 실행하고, 그 실행 화면을 사용자 장치로 제공하는 다수의 제2 서비스 장치를 설정하는 단계;
    특정 어플리케이션에 대한 서비스 요청을 사용자 장치로부터 수신하는 단계;
    상기 특정 어플리케이션이 제1 그룹에 속하는 경우, 상기 서비스 요청을 제1 서비스 장치로 전송하는 단계; 및
    상기 특정 어플리케이션이 제2 그룹에 속하는 경우, 상기 특정 어플리케이션의 타입에 따른 요구 레이턴시에 기초하여, 상기 다수의 제2 서비스 장치 중에서 하나를 선택하고, 선택한 제2 서비스 장치로 상기 서비스 요청을 전송하는 단계를 포함하되,
    상기 제1 그룹의 어플리케이션은 미리 설정된 값 이상의 요구 레이턴시를 가지는 어플리케이션이며,
    상기 제2 그룹의 어플리케이션은 상기 미리 설정된 값 미만의 요구 레이턴시를 가지는 어플리케이션인 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  9. 제8항에 있어서,
    상기 제1 그룹의 어플리케이션은 미리 설정된 용량 미만의 데이터 크기를 가지는 어플리케이션이며,
    상기 제2 그룹의 어플리케이션은 상기 미리 설정된 용량 이상의 데이터 크기를 가지는 어플리케이션인 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  10. 삭제
  11. 제8항에 있어서, 상기 제2 서비스 장치로 상기 서비스 요청을 전송하는 단계는,
    상기 사용자 장치와 다수의 제2 서비스 장치 간의 거리, 상기 다수의 제2 서비스 장치의 부하, 상기 사용자 장치와 다수의 제2 서비스 장치 간의 네트워크 상태 중에서 하나 이상을 더 고려하여, 상기 다수의 제2 서비스 장치 중에서 하나를 선택하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  12. 제8항, 제9항, 및 제11항 중 어느 한 항에 기재된 클라우드 스트리밍 서비스 제공 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
KR20130014906A 2013-02-12 2013-02-12 클라우드 스트리밍 서비스 제공 방법, 이를 위한 서비스 제어 장치 및 시스템 KR101512353B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130014906A KR101512353B1 (ko) 2013-02-12 2013-02-12 클라우드 스트리밍 서비스 제공 방법, 이를 위한 서비스 제어 장치 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130014906A KR101512353B1 (ko) 2013-02-12 2013-02-12 클라우드 스트리밍 서비스 제공 방법, 이를 위한 서비스 제어 장치 및 시스템

Publications (2)

Publication Number Publication Date
KR20140101576A KR20140101576A (ko) 2014-08-20
KR101512353B1 true KR101512353B1 (ko) 2015-04-15

Family

ID=51746885

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130014906A KR101512353B1 (ko) 2013-02-12 2013-02-12 클라우드 스트리밍 서비스 제공 방법, 이를 위한 서비스 제어 장치 및 시스템

Country Status (1)

Country Link
KR (1) KR101512353B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102313531B1 (ko) * 2015-03-30 2021-10-18 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 동일 세션 다중 접속 방식을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR101715803B1 (ko) * 2015-08-20 2017-03-13 (주)아라커뮤니케이션즈 모바일 기반 플래시 파일 서비스 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100673177B1 (ko) 2005-12-15 2007-01-22 에스케이 텔레콤주식회사 이동통신 단말기에서 실행되는 네트워크 기반어플리케이션의 QoS 보장 방법
KR20080020429A (ko) * 2006-08-29 2008-03-05 삼성전자주식회사 서비스 분산을 위한 장치 및 방법
KR20110132609A (ko) * 2009-03-23 2011-12-08 온라이브, 인크. 레이턴시 측정 및 다른 피드백에 기초하여 비디오를 압축하기 위한 시스템 및 방법
KR20120071981A (ko) * 2010-12-23 2012-07-03 주식회사 케이티 클라우드 컴퓨팅 시스템 및 클라우드 컴퓨팅 시스템에서의 트래픽 분산 방법 및 제어 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100673177B1 (ko) 2005-12-15 2007-01-22 에스케이 텔레콤주식회사 이동통신 단말기에서 실행되는 네트워크 기반어플리케이션의 QoS 보장 방법
KR20080020429A (ko) * 2006-08-29 2008-03-05 삼성전자주식회사 서비스 분산을 위한 장치 및 방법
KR20110132609A (ko) * 2009-03-23 2011-12-08 온라이브, 인크. 레이턴시 측정 및 다른 피드백에 기초하여 비디오를 압축하기 위한 시스템 및 방법
KR20120071981A (ko) * 2010-12-23 2012-07-03 주식회사 케이티 클라우드 컴퓨팅 시스템 및 클라우드 컴퓨팅 시스템에서의 트래픽 분산 방법 및 제어 방법

Also Published As

Publication number Publication date
KR20140101576A (ko) 2014-08-20

Similar Documents

Publication Publication Date Title
KR101471366B1 (ko) 단말기에 따른 적응적 화면 가상화 방법 및 시스템
WO2021143182A1 (zh) 游戏的处理方法、装置、电子设备及计算机可读存储介质
US8762544B2 (en) Selectively communicating data of a peripheral device to plural sending computers
JP2016539394A (ja) ワイヤレスデバイス間におけるマルチメディアコンテンツのリアルタイム共有のための方法および装置
KR101594105B1 (ko) 사용자 장치 간에 여러 화면을 분배하고 입력 인터페이스를 공유하는 멀티 스크린 구현 방법 및 장치
CN113849271B (zh) 云桌面展示方法、装置、设备、系统和存储介质
KR20180100371A (ko) 데이터 전송 방법 및 디바이스
US10073688B2 (en) Method and apparatus for executing application
KR101512353B1 (ko) 클라우드 스트리밍 서비스 제공 방법, 이를 위한 서비스 제어 장치 및 시스템
KR101531284B1 (ko) 클라우드 스트리밍 서비스를 제공하기 위한 장치, 이를 위한 방법 및 이를 위한 시스템
CN114245175A (zh) 视频转码方法、装置、电子设备及存储介质
CN111143017B (zh) 云操作系统交互处理方法、客户端及云操作系统
WO2019119280A1 (zh) 业务处理方法、云服务器和终端设备
WO2014015731A1 (zh) 一种基于终端能力调整业务的方法及系统
US20150100629A1 (en) Method for providing cloud service, and system and apparatus therefor
CN111477229B (zh) 语音识别请求处理方法和装置
KR101237504B1 (ko) 이종의 원격 제어 서비스를 지원하는 서버 및 방법
JP5651778B2 (ja) モバイル機器ユーザのためのパソコンシステム及びそのパソコンシステムの運用方法
US10148763B2 (en) Establish client-host connection
KR102313529B1 (ko) 클라우드 스트리밍 서비스 시스템, 최적 렌더링에 기반한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR101520414B1 (ko) 어플리케이션 원격 제어 시스템, 어플리케이션 원격 제어 장치 및 방법
KR102204223B1 (ko) 원격 접속을 위한 장치, 시스템 및 방법
CN107920259A (zh) 虚拟化平台视频播放加速方法、虚拟机服务器及存储介质
KR20220148495A (ko) 화면 제공을 위한 서비스 서버 및 그 동작 방법
KR20160106346A (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
FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190320

Year of fee payment: 5