KR102199276B1 - System for cloud streaming service, method for processing service based on type of cloud streaming service and apparatus for the same - Google Patents

System for cloud streaming service, method for processing service based on type of cloud streaming service and apparatus for the same Download PDF

Info

Publication number
KR102199276B1
KR102199276B1 KR1020140108120A KR20140108120A KR102199276B1 KR 102199276 B1 KR102199276 B1 KR 102199276B1 KR 1020140108120 A KR1020140108120 A KR 1020140108120A KR 20140108120 A KR20140108120 A KR 20140108120A KR 102199276 B1 KR102199276 B1 KR 102199276B1
Authority
KR
South Korea
Prior art keywords
service
cloud streaming
type
streaming service
cloud
Prior art date
Application number
KR1020140108120A
Other languages
Korean (ko)
Other versions
KR20160022505A (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 KR1020140108120A priority Critical patent/KR102199276B1/en
Priority to PCT/KR2015/007261 priority patent/WO2016010319A2/en
Priority to JP2017519439A priority patent/JP6467503B2/en
Priority to CN201580047076.2A priority patent/CN106797487B/en
Priority to EP15822844.5A priority patent/EP3171601A4/en
Priority to CN202110160960.4A priority patent/CN112929234A/en
Publication of KR20160022505A publication Critical patent/KR20160022505A/en
Priority to US15/406,594 priority patent/US10397288B2/en
Priority to US16/505,144 priority patent/US10904304B2/en
Application granted granted Critical
Publication of KR102199276B1 publication Critical patent/KR102199276B1/en

Links

Images

Abstract

클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법 및 이를 위한 장치가 개시된다. 사용자 단말 장치로부터 서비스 요청을 수신하고, 서비스 요청에 상응하는 클라우드 스트리밍 서비스의 유형을 감지하고, 클라우드 스트리밍 서비스의 유형에 기반하여 클라우드 스트리밍 서비스에 우선순위를 부여하고, 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달했는지 여부에 따라 우선순위에 상응하게 클라우드 스트리밍 서비스를 제공할 수 있다. 클라우드 스트리밍 서비스 제공 시, 서비스 품질에 영향을 주지 않으면서 병목현상 없이 더 많은 수의 어플리케이션을 서비스하는 것이 가능하다.Disclosed are a cloud streaming service system, a service processing method according to a cloud streaming service type, and an apparatus therefor. Receives a service request from the user terminal device, detects the type of cloud streaming service corresponding to the service request, gives priority to the cloud streaming service based on the type of cloud streaming service, and the streaming pipeline limits simultaneous service processing Cloud streaming service can be provided according to the priority depending on whether or not. When providing a cloud streaming service, it is possible to service a larger number of applications without affecting service quality and without bottlenecks.

Description

클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법 및 이를 위한 장치{SYSTEM FOR CLOUD STREAMING SERVICE, METHOD FOR PROCESSING SERVICE BASED ON TYPE OF CLOUD STREAMING SERVICE AND APPARATUS FOR THE SAME}Cloud streaming service system, service processing method according to cloud streaming service type, and devices therefor {SYSTEM FOR CLOUD STREAMING SERVICE, METHOD FOR PROCESSING SERVICE BASED ON TYPE OF CLOUD STREAMING SERVICE AND APPARATUS FOR THE SAME}

본 발명은 클라우드 스트리밍 서비스 시 한 서버에서 처리할 수 있는 동시 접속자수에 따른 처리 한계 도달 여부에 따라 서비스의 유형별로 우선순위를 적용하여 클라우드 스트리밍 서비스를 제공하는 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법 및 이를 위한 장치에 관한 것이다.The present invention applies a priority for each type of service according to whether or not a processing limit is reached according to the number of concurrent users that can be processed by a server in the case of a cloud streaming service to provide a cloud streaming service. It relates to a service processing method and an apparatus therefor.

인터넷의 급속한 발달은 개인의 통신 속도를 급격하게 향상시키는 결과를 가져왔다. 이와 같은 개인의 통신 속도 향상으로 원격지에 위치한 컴퓨터에 접속하여 대용량의 데이터를 다운로드 또는 업로드 하거나, 원격지 컴퓨터 제어 프로그램을 사용하여 마치 원격지 컴퓨터에 로컬 로그인할 것과 같이 원격지 컴퓨터를 이용할 수 있는 환경을 제공할 수 있게 되었다.The rapid development of the Internet has resulted in a rapid improvement in personal communication speed. With such an improvement in personal communication speed, it is possible to access a remote computer to download or upload large amounts of data, or to provide an environment in which a remote computer can be used as if logging in to the remote computer locally using a remote computer control program. Became possible.

또한, 어플리케이션을 서버에서 구동시키고 구동화면을 비디오 인코딩(encoding)을 통해 압축하여 클라이언트로 전송시킴으로써, 클라이언트는 전송된 비디오를 재생하여 마치 자신의 단말에서 어플리케이션이 구동되는 것과 같은 효과를 내는 화면가상화 기반의 클라우드 스트리밍 서비스를 제공받을 수 있다.In addition, by running the application on the server and compressing the driving screen through video encoding and transmitting it to the client, the client plays the transmitted video and creates an effect as if the application is running on its own terminal, based on screen virtualization. Cloud streaming service of

이러한 클라우드 스트리밍 서비스 시스템에서는 동시에 서비스가 가능한 동시 접속자의 수를 늘리기 위해 클라우드 스트리밍 서비스를 단계별로 동시에 처리하기 위한 스트리밍 파이프 라인을 이용하여 서비스를 병렬적으로 처리할 수 있다. 그러나, 동시 접속자 수만큼의 어플리케이션이 서버에서 구동되어 동작하기 때문에 스트리밍 파이프 라인을 이용하더라도 서버의 중앙처리장치(Central Processing Unit; CPU)와 메모리 버스(Memory BUS)의 이용이 집중되면서 해당 구간들에 병목 현상이 발생하기 쉬워질 수 있다. 이와 같이 병목현상이 발생하면 시스템 불안정을 야기하므로 최대 처리 가능한 동시 접속자 수가 제한될 수 있다.In such a cloud streaming service system, services can be processed in parallel using a streaming pipeline for simultaneously processing a cloud streaming service step by step in order to increase the number of concurrent users who can service simultaneously. However, since as many applications as the number of concurrent users are running and running on the server, even if the streaming pipeline is used, the use of the server's Central Processing Unit (CPU) and memory bus is concentrated, and the corresponding sections are concentrated. It can become prone to bottlenecks. If such a bottleneck occurs, it causes system instability, so the maximum number of simultaneous users that can be handled may be limited.

한국 공개 특허 제10-2012-0062758호, 2012년 6월 14일 공개 (명칭: 오디오 객체들을 적응적으로 스트리밍하기 위한 시스템)Korean Patent Publication No. 10-2012-0062758, published on June 14, 2012 (Name: System for adaptively streaming audio objects)

본 발명의 목적은, 클라우드 스트리밍 서비스 제공 시, 서비스 품질에 영향을 주지 않으면서 병목 현상 없이 더 많은 수의 어플리케이션을 서비스할 수 있도록 하는 것이다.An object of the present invention is to enable a greater number of applications to be serviced without affecting service quality when providing a cloud streaming service.

또한, 본 발명의 목적은 클라우드 스트리밍 서비스 제공 시, 클라이언트들로부터 서비스 요청이 집중될 때와 그렇지 않을 때를 구분하여 서비스 방법을 조절함으로써, 보다 효율적으로 클라우드 스트리밍 서비스를 제공하는 것이다.In addition, an object of the present invention is to provide a cloud streaming service more efficiently by controlling a service method by distinguishing when a service request from clients is concentrated and when a service request is not concentrated when a cloud streaming service is provided.

상기한 목적을 달성하기 위한 본 발명에 따른 클라우드 스트리밍 서버는, 사용자의 단말 장치로부터 서비스 요청을 수신하는 수신부; 상기 서비스 요청에 상응하는 클라우드 스트리밍 서비스의 유형을 감지하는 서비스 유형 감지부; 상기 클라우드 스트리밍 서비스의 유형에 기반하여 상기 클라우드 스트리밍 서비스에 우선순위를 부여하는 서비스 순위 설정부; 및 상기 클라우드 스트리밍 서비스를 병렬적으로 동시에 처리할 수 있는 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달했는지 여부를 판단하고, 상기 판단결과에 따라 상기 우선순위에 상응하게 상기 클라우드 스트리밍 서비스를 제공하는 서비스 제공부를 포함한다.A cloud streaming server according to the present invention for achieving the above object includes: a receiving unit for receiving a service request from a user's terminal device; A service type detection unit detecting a type of cloud streaming service corresponding to the service request; A service priority setting unit that gives priority to the cloud streaming service based on the type of the cloud streaming service; And determining whether a streaming pipeline capable of concurrently processing the cloud streaming service in parallel has reached a service concurrent processing limit, and providing a service providing the cloud streaming service according to the priority according to the determination result. Includes wealth.

이 때, 서비스 유형 감지부는 상기 클라우드 스트리밍 서비스에서 오디오 디바이스를 설정하기 위한 OPEN 명령어를 감지하여 상기 클라우드 스트리밍 서비스의 유형이 동영상인지 여부를 감지할 수 있다.In this case, the service type detection unit may detect whether the type of the cloud streaming service is a video by detecting an OPEN command for setting an audio device in the cloud streaming service.

이 때, 서비스 유형 감지부는 상기 OPEN 명령어가 감지된 경우에 상기 동영상이 재생중인 것으로 판단하고 상기 클라우드 스트리밍 서비스의 유형을 상기 동영상으로 감지할 수 있다.In this case, when the OPEN command is detected, the service type detection unit may determine that the video is being played and detect the type of the cloud streaming service as the video.

이 때, 서비스 유형 감지부는 상기 서비스 요청에 상응하는 어플리케이션의 실행 초기에 상기 서비스 요청을 수신하지 않은 상태에서 감지된 상기 OPEN 명령어는 무시하고, 상기 서비스 요청을 수신한 뒤 상기 OPEN 명령어가 감지된 경우에 상기 클라우드 스트리밍 서비스의 유형을 상기 동영상으로 감지할 수 있다.At this time, the service type detection unit ignores the OPEN command detected while the service request is not received at the initial execution of the application corresponding to the service request, and the OPEN command is detected after receiving the service request. The type of the cloud streaming service may be detected as the video.

이 때, 서비스 유형 감지부는 상기 서비스 요청에 상응하는 어플리케이션을 캡처하는 과정에서 Sound Open 함수가 감지되는 경우에 상기 클라우드 스트리밍 서비스의 유형을 상기 동영상으로 감지할 수 있다.In this case, the service type detection unit may detect the type of the cloud streaming service as the video when the Sound Open function is detected in the process of capturing the application corresponding to the service request.

이 때, 서비스 순위 설정부는 상기 유형이 상기 동영상이 아닌 클라우드 스트리밍 서비스의 우선순위보다 상기 유형이 상기 동영상인 클라우드 스트리밍 서비스의 우선순위를 낮게 부여할 수 있다.In this case, the service priority setting unit may give a priority of a cloud streaming service whose type is the moving picture lower than that of a cloud streaming service whose type is not the moving picture.

이 때, 서비스 제공부는 상기 스트리밍 파이프 라인이 상기 서비스 동시 처리 한계에 도달하지 않은 경우에 상기 우선순위와 상관없이, 상기 서비스 요청 시 상기 클라우드 스트리밍 서비스를 상기 단말 장치에게 바로 제공할 수 있다.In this case, the service provider may directly provide the cloud streaming service to the terminal device when the service is requested, regardless of the priority, when the streaming pipeline does not reach the service simultaneous processing limit.

이 때, 서비스 제공부는 상기 스트리밍 파이프 라인에서 동시에 처리하는 상기 클라우드 스트리밍 서비스의 개수가 기설정된 동시 처리 개수 이상이면 상기 스트리밍 파이프 라인이 상기 서비스 동시 처리 한계에 도달한 것으로 판단할 수 있다.In this case, the service provider may determine that the streaming pipeline has reached the service simultaneous processing limit if the number of the cloud streaming services simultaneously processed by the streaming pipeline is equal to or greater than a preset number of simultaneous processing.

이 때, 기설정된 동시 처리 개수는 상기 스트리밍 파이프 라인에서 상기 클라우드 스트리밍 서비스를 동시에 처리할 수 있는 최대 개수보다 작을 수 있다.In this case, the preset number of simultaneous processing may be smaller than the maximum number that can simultaneously process the cloud streaming service in the streaming pipeline.

또한, 본 발명에 따른 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법은, 사용자의 단말 장치로부터 서비스 요청을 수신하는 단계; 상기 서비스 요청에 상응하는 클라우드 스트리밍 서비스의 유형을 감지하는 단계; 상기 클라우드 스트리밍 서비스의 유형에 기반하여 상기 클라우드 스트리밍 서비스에 우선순위를 부여하는 단계; 및 상기 클라우드 스트리밍 서비스를 병렬적으로 동시에 처리할 수 있는 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달했는지 여부를 판단하고, 상기 판단결과에 따라 상기 우선순위에 상응하게 상기 클라우드 스트리밍 서비스를 제공하는 단계를 포함한다.In addition, a service processing method according to a cloud streaming service type according to the present invention includes: receiving a service request from a terminal device of a user; Detecting a type of cloud streaming service corresponding to the service request; Giving priority to the cloud streaming service based on the type of the cloud streaming service; And determining whether a streaming pipeline capable of concurrently processing the cloud streaming service in parallel has reached a service concurrent processing limit, and providing the cloud streaming service according to the priority according to the determination result. Include.

이 때, 유형을 감지하는 단계는 상기 클라우드 스트리밍 서비스의 오디오 디바이스를 설정하기 위한 OPEN 명령어를 감지하여 상기 클라우드 스트리밍 서비스의 유형이 동영상인지 여부를 감지할 수 있다.In this case, the step of detecting the type may detect whether the type of the cloud streaming service is a video by detecting an OPEN command for setting the audio device of the cloud streaming service.

이 때, 유형을 감지하는 단계는 상기 OPEN 명령어가 감지된 경우에 상기 동영상이 재생중인 것으로 판단하고 상기 클라우드 스트리밍 서비스의 유형을 상기 동영상으로 감지할 수 있다.In this case, the step of detecting the type may determine that the video is being played when the OPEN command is detected, and detect the type of the cloud streaming service as the video.

이 때, 상기 유형을 감지하는 단계는 상기 서비스 요청에 상응하는 어플리케이션의 실행 초기에 상기 서비스 요청을 수신하지 않은 상태에서 감지된 상기 OPEN 명령어는 무시하고, 상기 서비스 요청을 수신한 뒤 상기 OPEN 명령어가 감지된 경우에 상기 클라우드 스트리밍 서비스의 유형을 상기 동영상으로 감지할 수 있다.In this case, the step of detecting the type is to ignore the OPEN command detected in the state that the service request is not received at the initial execution of the application corresponding to the service request, and the OPEN command is executed after receiving the service request. When detected, the type of the cloud streaming service may be detected as the video.

이 때, 유형을 감지하는 단계는 상기 서비스 요청에 상응하는 어플리케이션을 캡처하는 과정에서 Sound Open 함수가 감지되는 경우에 상기 클라우드 스트리밍 서비스의 유형을 상기 동영상으로 감지할 수 있다.In this case, the step of detecting the type may detect the type of the cloud streaming service as the video when the Sound Open function is detected in the process of capturing the application corresponding to the service request.

이 때, 우선순위를 부여하는 단계는 상기 유형이 상기 동영상이 아닌 클라우드 스트리밍 서비스의 우선순위보다 상기 유형이 상기 동영상인 클라우드 스트리밍 서비스의 우선순위를 낮게 부여할 수 있다.In this case, in the step of assigning the priority, the priority of the cloud streaming service whose type is the moving picture may be given lower than the priority of the cloud streaming service whose type is not the moving picture.

이 때, 클라우드 스트리밍 서비스를 제공하는 단계는 상기 스트리밍 파이프 라인이 상기 서비스 동시 처리 한계에 도달하지 않은 경우에 상기 우선순위와 상관없이, 상기 서비스 요청 시 상기 클라우드 스트리밍 서비스를 상기 단말 장치에게 바로 제공할 수 있다.In this case, the providing of the cloud streaming service includes providing the cloud streaming service directly to the terminal device when the service is requested, regardless of the priority when the streaming pipeline does not reach the service simultaneous processing limit. I can.

이 때, 클라우드 스트리밍 서비스를 제공하는 단계는 상기 스트리밍 파이프 라인에서 동시에 처리하는 상기 클라우드 스트리밍 서비스의 개수가 기설정된 동시 처리 개수 이상이면 상기 스트리밍 파이프 라인이 상기 서비스 동시 처리 한계에 도달한 것으로 판단할 수 있다.In this case, in the providing of the cloud streaming service, if the number of the cloud streaming services simultaneously processed by the streaming pipeline is equal to or greater than a preset number of simultaneous processing, it may be determined that the streaming pipeline has reached the service simultaneous processing limit. have.

이 때, 기설정된 동시 처리 개수는 상기 스트리밍 파이프 라인에서 상기 클라우드 스트리밍 서비스를 동시에 처리할 수 있는 최대 개수보다 작을 수 있다.In this case, the preset number of simultaneous processing may be smaller than the maximum number that can simultaneously process the cloud streaming service in the streaming pipeline.

또한, 본 발명의 과제 해결을 위한 또 다른 수단으로써, 상술한 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램을 제공한다.In addition, as another means for solving the problem of the present invention, a computer program stored in a medium is provided in order to execute the above-described method.

또한, 본 발명에 따른 클라우드 스트리밍 서비스 시스템은 사용자로부터 수신한 서비스 요청에 상응하는 클라우드 스트리밍 서비스의 유형을 감지하고, 상기 클라우드 스트리밍 서비스의 유형에 기반하여 상기 클라우드 스트리밍 서비스에 우선순위를 부여하고, 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달했는지 여부를 판단한 결과에 따라 상기 우선 순위에 상응하게 상기 클라우드 스트리밍 서비스를 제공하는 클라우드 스트리밍 서버; 및 상기 클라우드 스트리밍 서버로부터 상기 클라우드 스트리밍 서비스에 상응하는 어플리케이션 실행 결과 화면을 수신하는 단말을 포함한다.In addition, the cloud streaming service system according to the present invention detects the type of cloud streaming service corresponding to the service request received from the user, gives priority to the cloud streaming service based on the type of the cloud streaming service, and streams A cloud streaming server that provides the cloud streaming service according to the priority according to a result of determining whether the pipeline has reached a service simultaneous processing limit; And a terminal receiving an application execution result screen corresponding to the cloud streaming service from the cloud streaming server.

본 발명에 따르면, 클라우드 스트리밍 서비스 제공 시, 서비스 품질에 영향을 주지 않으면서 병목 현상 없이 더 많은 수의 어플리케이션을 서비스할 수 있다.According to the present invention, when a cloud streaming service is provided, a larger number of applications can be serviced without affecting service quality and without a bottleneck.

또한, 본 발명은 클라우드 스트리밍 서비스 제공 시, 클라이언트들로부터 서비스 요청이 집중될 때와 그렇지 않을 때를 구분하여 서비스 방법을 조절함으로써, 보다 효율적으로 클라우드 스트리밍 서비스를 제공할 수 있다.In addition, the present invention can provide a cloud streaming service more efficiently by controlling a service method by distinguishing when a service request from clients is concentrated and when a service request is not concentrated when a cloud streaming service is provided.

도 1은 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 시스템을 나타낸 블록도이다.
도 2는 도 1에 도시된 클라우드 스트리밍 서버의 일 예를 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법을 나타낸 동작 흐름도이다.
도 4는 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법을 상세하게 나타낸 동작 흐름도이다.
1 is a block diagram showing a cloud streaming service system according to an embodiment of the present invention.
2 is a block diagram illustrating an example of a cloud streaming server shown in FIG. 1.
3 is a flowchart illustrating a service processing method according to a cloud streaming service type according to an embodiment of the present invention.
4 is an operation flowchart showing in detail a service processing method according to a cloud streaming service type according to an embodiment of the present invention.

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

이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. 또한 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다.The terms or words used in the present specification and claims described below should not be construed as being limited to a conventional or dictionary meaning, and the inventor is appropriate as a concept of terms for describing his own invention in the best way. It should be interpreted as a meaning and concept consistent with the technical idea of the present invention on the basis of the principle that it can be defined. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are only the most preferred embodiments of the present invention, and do not represent all the technical spirit of the present invention, and thus various alternatives that can be substituted for them at the time of application It should be understood that there may be equivalents and variations. In addition, terms such as first and second are used to describe various elements, and are used only for the purpose of distinguishing one element from other elements, and are not used to limit the elements.

도 1은 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 시스템을 나타낸 블록도이다.1 is a block diagram showing a cloud streaming service system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 시스템은 클라우드 스트리밍 서버(110), 단말 장치들(120-1, ..., 120-N) 및 네트워크(130)를 포함한다.Referring to FIG. 1, a cloud streaming service system according to an embodiment of the present invention includes a cloud streaming server 110, terminal devices 120-1, ..., 120-N, and a network 130. .

클라우드 스트리밍 서버(110)는 사용자의 단말 장치들(120-1, ..., 120-N)로부터 서비스 요청을 수신한다. 단말 장치들(120-1, ..., 120-N)에서 어플리케이션을 구동시키려면 많은 저장공간과 처리능력이 필요하므로, 클라우드 스트리밍 서버(110)에서 구동된 어플리케이션의 구동화면을 압축하여 제공받기 위해 클라우드 스트리밍 서버(110)로 어플리케이션을 실행하기 위한 서비스를 요청할 수 있다.The cloud streaming server 110 receives a service request from the user's terminal devices 120-1, ..., 120-N. Since a lot of storage space and processing power are required to run the application in the terminal devices 120-1, ..., 120-N, the driving screen of the application driven in the cloud streaming server 110 is compressed and provided. For this, the cloud streaming server 110 may request a service for running an application.

또한, 클라우드 스트리밍 서버(110)는 서비스 요청에 상응하는 클라우드 스트리밍 서비스의 유형을 감지한다. 이 때, 클라우드 스트리밍 서비스에서 오디오 디바이스를 설정하기 위한 OPEN 명령어를 감지하여 클라우드 스트리밍 서비스의 유형이 동영상인지 여부를 감지할 수 있다. 이 때, OPEN 명령어가 감지된 경우에는 동영상이 재생 중인 것으로 판단하고, 클라우드 스트리밍 서비스의 유형을 동영상으로 감지할 수 있다. 이 때, 서비스 요청에 상응하는 어플리케이션의 실행 초기에 서비스 요청을 수신하지 않은 상태에서 감지된 OPEN 명령어는 무시하고, 서비스 요청을 수신한 뒤 OPEN 명령어가 감지된 경우에 클라우드 스트리밍 서비스의 유형을 동영상으로 감지할 수 있다. 또한, 서비스 요청에 상응하는 어플리케이션을 캡처하는 과정에서 Sound Open 함수가 감지되는 경우에도 클라우드 스트리밍 서비스의 유형을 동영상으로 감지할 수 있다.In addition, the cloud streaming server 110 detects the type of cloud streaming service corresponding to the service request. In this case, by detecting an OPEN command for setting an audio device in the cloud streaming service, it is possible to detect whether the type of the cloud streaming service is a video. In this case, when the OPEN command is detected, it is determined that the video is being played, and the type of cloud streaming service may be detected as a video. At this time, the OPEN command detected when the service request is not received at the initial execution of the application corresponding to the service request is ignored, and the cloud streaming service type is converted to a video when the OPEN command is detected after receiving the service request. Can be detected. In addition, even when the Sound Open function is detected in the process of capturing the application corresponding to the service request, the type of the cloud streaming service can be detected as a video.

또한, 클라우드 스트리밍 서버(110)는 클라우드 스트리밍 서비스의 유형에 기반하여 클라우드 스트리밍 서비스에 우선순위를 부여한다. 이 때, 유형이 동영상이 아닌 클라우드 스트리밍 서비스의 우선순위보다 유형이 동영상인 클라우드 스트리밍 서비스의 우선순위를 낮게 부여할 수 있다.In addition, the cloud streaming server 110 gives priority to the cloud streaming service based on the type of the cloud streaming service. In this case, a priority of a cloud streaming service having a video type may be given lower than a priority of a cloud streaming service having a type other than a video.

또한, 클라우드 스트리밍 서버(110)는 클라우드 스트리밍 서비스를 병렬적으로 동시에 처리할 수 있는 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달했는지 여부를 판단하고, 판단결과에 따라 우선순위에 상응하게 클라우드 스트리밍 서비스를 제공한다. 이 때, 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달하지 않은 경우에는 우선순위와 상관없이, 서비스 요청 시 클라우드 스트리밍 서비스를 단말 장치에게 바로 제공할 수 있다. 또한, 스트리밍 파이프 라인에서 동시에 처리하는 클라우드 스트리밍 서비스의 개수가 기설정된 동시 처리 개수 이상이면 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달한 것으로 판단할 수 있다. 이 때, 기설정된 동시 처리 개수는 스트리밍 파이프 라인에서 클라우드 스트리밍 서비스를 동시에 처리할 수 있는 최대 개수보다 작을 수 있다.In addition, the cloud streaming server 110 determines whether a streaming pipeline capable of concurrently processing cloud streaming services in parallel has reached the service simultaneous processing limit, and provides the cloud streaming service according to the priority according to the determination result. to provide. In this case, when the streaming pipeline does not reach the service simultaneous processing limit, the cloud streaming service can be directly provided to the terminal device when a service is requested, regardless of priority. In addition, if the number of cloud streaming services that are simultaneously processed in the streaming pipeline is equal to or greater than a preset number of simultaneous processing, it may be determined that the streaming pipeline has reached a service simultaneous processing limit. In this case, the preset number of simultaneous processing may be smaller than the maximum number of simultaneous processing of cloud streaming services in the streaming pipeline.

단말 장치들(120-1, ..., 120-N)은 클라우드 스트리밍 서버(110)로부터 클라우드 스트리밍 서비스에 상응하는 어플리케이션 실행 결과 화면을 수신하여 사용자에게 제공한다.The terminal devices 120-1, ..., 120-N receive an application execution result screen corresponding to the cloud streaming service from the cloud streaming server 110 and provide it to the user.

단말 장치들(120-1, ..., 120-N)은 각각 통신망에 연결되어 클라우드 컴퓨팅 시스템 기반으로 어플리케이션을 실행할 수 있는 장치로, 이동통신단말기에 한정된 것이 아니고, 모든 정보통신기기, 멀티미디어 단말, 유선 단말, 고정형 단말 및 IP(Internet Protocol) 단말 등의 다양한 단말일 수 있다. 또한, 단말 장치들(120-1, ..., 120-N)은 각각 휴대폰, PMP(Portable Multimedia Player), MID(Mobile Internet Device), 스마트폰(Smart Phone), 데스크톱(Desktop), 태블릿컴퓨터(Tablet PC), 노트북(Note book), 넷북(Net book), 개인휴대용 정보단말(Personal Digital Assistant; PDA), 스마트 TV 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말일 수 있다.Terminal devices 120-1, ..., 120-N are devices that are connected to a communication network and can execute applications based on a cloud computing system, and are not limited to mobile communication terminals, and all information and communication devices and multimedia terminals , A wired terminal, a fixed terminal, and an Internet Protocol (IP) terminal. In addition, the terminal devices 120-1, ..., 120-N are mobile phones, portable multimedia players (PMPs), mobile internet devices (MIDs), smart phones, desktops, and tablet computers, respectively. (Tablet PC), notebook (Note book), Net book (Net book), Personal Digital Assistant (PDA), smart TV and information communication devices, such as mobile devices with various mobile communication specifications have.

네트워크(130)는 클라우드 스트리밍 서버(110) 및 단말 장치들(120-1, ..., 120-N) 사이에 데이터를 전달하는 통로를 제공하는 것으로서, 기존에 이용되는 네트워크 및 향후 개발 가능한 네트워크를 모두 포괄하는 개념이다. 예를 들면, 네트워크(130)는 한정된 지역 내에서 각종 정보장치들의 통신을 제공하는 유무선근거리 통신망, 이동체 상호 간 및 이동체와 이동체 외부와의 통신을 제공하는 이동통신망, 위성을 이용해 지구국과 지구국간 통신을 제공하는 위성통신망이거나 유무선 통신망 중에서 어느 하나이거나, 둘 이상의 결합으로 이루어질 수 있다. 한편, 네트워크(130)의 전송 방식 표준은, 기존의 전송 방식 표준에 한정되는 것은 아니며, 향후 개발될 모든 전송 방식 표준을 포함할 수 있다. 또한, 도 1에서 클라우드 스트리밍 서버(110)와 단말 장치들(120-1, ..., 120-N) 사이에 사용되는 네트워크는 단말 장치들(120-1, ..., 120-N) 상호간에 사용되는 네트워크와 상이한 것일 수도 있고, 동일한 것일 수도 있다.The network 130 provides a path for transmitting data between the cloud streaming server 110 and the terminal devices 120-1, ..., 120-N, and is a network that is used in the past and a network that can be developed in the future. It is a concept that encompasses all. For example, the network 130 is a wired/wireless local area communication network that provides communication of various information devices within a limited area, a mobile communication network that provides communication between mobiles and the mobile and the outside, and the earth station and the earth station communicate using satellites. It may be a satellite communication network, a wired or wireless communication network, or a combination of two or more. Meanwhile, the transmission method standard of the network 130 is not limited to the existing transmission method standard, and may include all transmission method standards to be developed in the future. In addition, in FIG. 1, a network used between the cloud streaming server 110 and the terminal devices 120-1, ..., 120-N is the terminal devices 120-1, ..., 120-N. It may be different from a network used for each other, or may be the same.

도 2는 도 1에 도시된 클라우드 스트리밍 서버의 일 예를 나타낸 블록도이다.2 is a block diagram illustrating an example of a cloud streaming server shown in FIG. 1.

도 2를 참조하면, 도 1에 도시된 클라우드 스트리밍 서버(110)는 수신부(210), 서비스 유형 감지부(220), 서비스 순위 설정부(230) 및 서비스 제공부(240)을 포함한다.Referring to FIG. 2, the cloud streaming server 110 illustrated in FIG. 1 includes a receiving unit 210, a service type detecting unit 220, a service priority setting unit 230, and a service providing unit 240.

수신부(210)는 사용자의 단말 장치로부터 서비스 요청을 수신한다. 단말 장치에서 어플리케이션을 구동시키려면 단말 장치가 많은 저장공간과 높은 처리 능력을 필요로 할 수 있다. 따라서, 클라우드 스트리밍 서버(110)에서 어플리케이션을 구동시킨 후, 어플리케이션의 구동화면을 압축하여 제공받기 위해서 클라우드 스트리밍 서버(110)로 어플리케이션을 실행하기 위한 서비스를 요청할 수 있다.The receiver 210 receives a service request from a user's terminal device. In order to run an application in the terminal device, the terminal device may require a large amount of storage space and high processing power. Accordingly, after running the application in the cloud streaming server 110, the cloud streaming server 110 may request a service for executing the application in order to receive the compressed driving screen of the application.

서비스 유형 감지부(220)는 서비스 요청에 상응하는 클라우드 스트리밍 서비스의 유형을 감지한다. 클라우드 스트리밍 서버(110)로 요청되는 서비스 중에서는 서비스 요청을 수신하는 즉시 반응하여 서비스를 제공해야 하는 유형이 있는 반면에, 서비스 요청을 수신하더라도 즉시 반응하지 않아도 괜찮은 유형도 존재할 수 있다. 예를 들면, 게임과 같은 경우에는 사용자로부터 서비스 요청이 수신되는 경우에 바로 서비스를 제공해야 하고, 유투브에서 동영상을 재생하는 경우에는 설정 FPS(frame per second)를 맞출 수만 있으면 해당 서비스의 처리 순서를 낮출 수 있는 여지가 생길 수 있다. 따라서, 클라우드 스트리밍 서비스의 유형에 따라 서비스를 처리하는 순서를 스케줄 하여 보다 원활하게 클라우드 스트리밍 서버를 운영할 수 있다.The service type detection unit 220 detects the type of cloud streaming service corresponding to the service request. Among the services requested by the cloud streaming server 110, there is a type that responds immediately upon receiving a service request to provide a service, while a type that does not immediately respond even when a service request is received may exist. For example, in the case of games, when a service request is received from a user, the service must be provided immediately, and in the case of playing a video on YouTube, the processing order of the service can be adjusted as long as the setting FPS (frame per second) can be met. There may be room for lowering. Therefore, it is possible to more smoothly operate the cloud streaming server by scheduling the order of processing the service according to the type of cloud streaming service.

이 때, 클라우드 스트리밍 서비스에서 오디오 디바이스를 설정하기 위한 OPEN 명령어를 감지하여 클라우드 스트리밍 서비스의 유형이 동영상인지 여부를 감지할 수 있다. 동영상에는 비디오와 함께 오디오가 포함되어 있을 수 있고, 동영상에서 오디오를 지원하기 위해서는 오디오를 지원하는 디바이스를 설정할 필요가 있다. 따라서 OPEN 및 CLOSE 등의 명령어를 이용하여 오디오를 지원하는 디바이스를 설정할 수 있다. 예를 들어, OPEN 명령어를 통해 오디오와 비디오 재생을 지원하는 MCI(Media Control Interface) 디바이스를 호출하여 설정하고 CLOSE 명령어를 통해 설정을 종료함으로써 MCI 디바이스의 설정에 상응하는 동영상 파일을 재생할 수 있다. 따라서, 오디오 디바이스를 설정하기 위한 OPEN 명령어 감지를 통해 해당 클라우드 스트리밍 서비스의 유형이 동영상인지 확인하는 것이 가능할 수 있다. In this case, by detecting an OPEN command for setting an audio device in the cloud streaming service, it is possible to detect whether the type of the cloud streaming service is a video. Video may include audio along with video, and in order to support audio in video, it is necessary to set up a device that supports audio. Therefore, you can set a device that supports audio by using commands such as OPEN and CLOSE. For example, by calling and setting a Media Control Interface (MCI) device that supports audio and video playback through the OPEN command and ending the configuration through the CLOSE command, a video file corresponding to the configuration of the MCI device can be played. Therefore, it may be possible to check whether the type of the cloud streaming service is a video through the detection of an OPEN command for setting an audio device.

이 때, OPEN 명령어가 감지된 경우에 동영상이 재생중인 것으로 판단하고 클라우드 스트리밍 서비스의 유형을 동영상으로 감지할 수 있다. 예를 들어, 특정 클라우드 스트리밍 서비스에서 오디오 디바이스를 설정하기 위한 OPEN 명령어가 감지되었다면 해당 클라우드 스트리밍 서비스의 유형이 오디오가 포함된 동영상 파일인 것으로 판단할 수 있다.In this case, when the OPEN command is detected, it is determined that the video is being played, and the type of cloud streaming service may be detected as a video. For example, if an OPEN command for setting an audio device in a specific cloud streaming service is detected, it may be determined that the type of the cloud streaming service is a video file containing audio.

이 때, 서비스 요청에 상응하는 어플리케이션의 실행 초기에 서비스 요청을 수신하지 않은 상태에서 감지된 OPEN 명령어는 무시하고, 서비스 요청을 수신한 뒤 OPEN 명령어가 감지된 경우에 클라우드 스트리밍 서비스의 유형을 동영상으로 감지할 수 있다. 예를 들어, 클라우드 스트리밍 서비스의 유형이 게임인 경우에도 어플리케이션 실행 초기에는 오디오 디바이스를 설정하기 위한 OPEN 명령어가 감지될 수 있는데, 본 발명에 따른 감지 방식은 사용자로부터 서비스 요청을 수신한 뒤에 감지되는 OPEN 명령어에 대해서만 클라우드 스트리밍 서비스의 유형을 동영상으로 감지하는데 사용될 수 있다. 따라서, 클라우드 스트리밍 서비스의 유형을 감지하기 위한 것으로 어플리케이션 실행 초기에 사용자로부터의 서비스 요청이 수신되지 않은 상태에서 감지되는 OPEN 명령어는 무시할 수 있다.At this time, the OPEN command detected when the service request is not received at the initial execution of the application corresponding to the service request is ignored, and the cloud streaming service type is converted to a video when the OPEN command is detected after receiving the service request. Can be detected. For example, even if the type of cloud streaming service is a game, an OPEN command for setting an audio device may be detected at the beginning of application execution. The detection method according to the present invention is an OPEN command detected after receiving a service request from a user. For commands only, it can be used to detect the type of cloud streaming service as a video. Accordingly, the OPEN command detected when a service request from a user is not received at the initial stage of application execution may be ignored for detecting the type of cloud streaming service.

또한, 클라우드 스트리밍 서비스의 유형이 게임인 경우에도 어플리케이션을 실행 시킨 후 사용자로부터 서비스 요청을 수신한 뒤 오디오 디바이스를 지원하기 위한 OPEN 명령어가 감지된다면, 해당 서비스 요청에 대해서는 클라우드 스트리밍 서비스의 유형을 동영상으로 감지하여 처리할 수 있다.In addition, even if the cloud streaming service type is game, if an OPEN command to support the audio device is detected after running the application and receiving a service request from the user, the cloud streaming service type is converted to a video for the service request. It can be detected and processed.

이 때, 서비스 요청에 상응하는 어플리케이션을 캡처하는 과정에서 Sound Open 함수가 감지되는 경우에 클라우드 스트리밍 서비스의 유형을 동영상으로 감지할 수 있다. 예를 들어, 클라우드 스트리밍 서비스를 통해 제공되는 어플리케이션이 클라우드 스트리밍의 용도로 제작되지 않아 동영상을 재생하는지 알아서 감지할 수 있다. 이와 같은 경우에는 사용자가 단말 장치에서 서비스 요청을 위한 클릭 이벤트를 발생시킨 후, 클라우드 스트리밍 서버(110)에서 해당 어플리케이션을 캡처하는 과정에서 Sound Open 함수가 존재하는지 여부를 감지할 수 있다. Sound Open 함수가 감지되는 경우에는 해당 클라우드 스트리밍 서비스의 유형을 동영상으로 구분할 수 있다.In this case, when the Sound Open function is detected in the process of capturing the application corresponding to the service request, the type of the cloud streaming service may be detected as a video. For example, an application provided through a cloud streaming service may be automatically detected whether or not an application is playing a video because it is not produced for cloud streaming. In this case, after the user generates a click event for a service request from the terminal device, the cloud streaming server 110 may detect whether the Sound Open function exists in the process of capturing the application. When the Sound Open function is detected, the type of the cloud streaming service can be classified as a video.

서비스 순위 설정부(230)는 클라우드 스트리밍 서비스의 유형에 기반하여 클라우드 스트리밍 서비스에 우선순위를 부여한다. 상기에서 설명한 것과 같이 클라우드 스트리밍 서버(110)로 요청되는 서비스에는 서비스 요청을 수신하는 즉시 반응해야 하는 게임 같은 유형과, 서비스 요청을 수신하더라도 실제 서비스를 제공하기까지 어느 정도 처리를 늦출 수 있는 동영상과 같은 유형이 존재할 수 있다. 따라서, 서비스의 유형에 따라 즉시 처리해야 하는 클라우드 스트리밍 서비스에는 우선순위를 높게 부여하고, 즉시 처리하지 않아도 되는 클라우드 스트리밍 서비스는 우선순위를 낮게 부여하는 방식으로 서비스를 처리하는 스트리밍 파이프 라인을 스케줄링 함으로써 보다 원활한 클라우드 스트리밍 서비스를 제공할 수 있다.The service priority setting unit 230 gives priority to the cloud streaming service based on the type of the cloud streaming service. As described above, the service requested to the cloud streaming server 110 includes a type of game that must react immediately upon receiving a service request, and a video that can delay processing to some extent until the actual service is provided even when a service request is received. The same type can exist. Therefore, according to the type of service, cloud streaming services that need to be processed immediately are given high priority, and cloud streaming services that do not need to be processed immediately are given a lower priority. It can provide seamless cloud streaming service.

이 때, 유형이 동영상이 아닌 클라우드 스트리밍 서비스의 우선순위보다 유형이 동영상인 클라우드 스트리밍 서비스의 우선순위를 낮게 부여할 수 있다. 예를 들어, 게임과 같은 유형의 클라우드 스트리밍 서비스는 동영상보다 우선순위를 높게 부여함으로써 사용자에게 보다 신속하게 서비스를 제공할 수 있도록 할 수 있다.In this case, a priority of a cloud streaming service having a video type may be given lower than a priority of a cloud streaming service having a type other than a video. For example, a cloud streaming service of a type such as a game can provide a service to users more quickly by giving a higher priority than a video.

서비스 제공부(240)는 클라우드 스트리밍 서비스를 병렬적으로 동시에 처리할 수 있는 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달했는지 여부를 판단하고, 판단결과에 따라 우선순위에 상응하게 클라우드 스트리밍 서비스를 제공한다. The service provider 240 determines whether a streaming pipeline capable of concurrently processing cloud streaming services in parallel has reached the service simultaneous processing limit, and provides a cloud streaming service according to the priority according to the determination result. .

파이프 라인은 컴퓨터의 중앙 처리 장치를 최적화하여 사용할 수 있는 데이터 처리 과정으로, 하나의 프로세서를 서로 다른 기능을 가진 여러 개의 서브프로세서로 나누어 각각의 서브프로세서가 동시에 다른 데이터를 처리하도록 설계하는 방식이다. 예를 들어, 컴퓨터 명령어는 일반적으로 인출, 분석, 내용인출 및 수행의 4단계를 거치는데, 파이프 라인 방식을 적용하지 않으면 컴퓨터 프로세서가 명령어들을 입력된 순서대로 하나씩 단계에 따라 처리할 수 밖에 없다. 그러나 파이프 라인 방식에서는 명령어를 병렬 처리할 수 있으므로 처리 속도를 높일 수 있다. 따라서 이와 같은 파이프 라인을 클라우드 스트리밍 서버(110)에 적용하여 클라우드 스트리밍 서비스를 단계별로 병렬 처리함으로써 클라우드 스트리밍 서버(110)의 서비스 속도를 향상시킬 수 있다.A pipeline is a data processing process that can be used by optimizing the central processing unit of a computer, and is a method in which one processor is divided into several subprocessors with different functions, and each subprocessor processes different data at the same time. For example, computer instructions generally go through four stages of retrieval, analysis, content retrieval, and execution. If the pipeline method is not applied, the computer processor has no choice but to process the instructions one by one in the order in which they are input. However, in the pipeline method, instructions can be processed in parallel, which can speed up processing. Accordingly, by applying such a pipeline to the cloud streaming server 110 to process the cloud streaming service in parallel step by step, the service speed of the cloud streaming server 110 may be improved.

이와 같은 스트리밍 파이프 라인에도 동시에 서비스를 처리할 수 있는 한계점이 있으며, 이 한계를 초과하도록 서비스 처리를 수행하면 해당 처리 구간의 성능이 저하되거나 마비되는 병목 현상이 발생할 수 있다. 따라서, 병목 현상이 발생하면 전체 시스템의 효율 저하를 초래할 수 있기 때문에, 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달할 것 같다고 예상되면 처리해야 할 클라우드 스트리밍 서비스의 수를 줄여 병목 현상을 방지할 수 있다. 이 때, 클라우드 스트리밍 서비스에 부여된 우선순위를 이용하여 즉시 처리할 서비스의 수를 감소시킬 수 있다.Even in such a streaming pipeline, there is a limitation in that the service can be processed at the same time, and if the service processing is performed to exceed this limit, the performance of the corresponding processing section may be degraded or a bottleneck may occur. Therefore, if a bottleneck occurs, the efficiency of the entire system can be degraded. Therefore, if the streaming pipeline is expected to reach the service simultaneous processing limit, the number of cloud streaming services to be processed can be reduced to prevent the bottleneck. . In this case, it is possible to reduce the number of services to be processed immediately by using the priority given to the cloud streaming service.

이 때, 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달하지 않은 경우에 우선순위와 상관없이, 서비스 요청 시 클라우드 스트리밍 서비스를 단말 장치에게 바로 제공할 수 있다. 사용자에 의해 서비스 요청이 들어온 클라우드 스트리밍 서비스의 우선순위가 낮다고 하더라도, 스트리밍 파이프 라인에서 서비스를 처리할 수 있을 만큼 여유가 있다면 우선순위에 따라 처리를 늦추지 않고 바로 처리하여 서비스를 제공할 수 있다.In this case, when the streaming pipeline does not reach the service simultaneous processing limit, regardless of the priority, the cloud streaming service can be provided directly to the terminal device when a service is requested. Even if the priority of the cloud streaming service received by the user is low, if there is enough room to process the service in the streaming pipeline, the service can be provided by immediately processing it according to the priority without delaying the processing.

이 때, 스트리밍 파이프 라인에서 동시에 처리하는 클라우드 스트리밍 서비스의 개수가 기설정된 동시 처리 개수 이상이면 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달한 것으로 판단할 수 있다.In this case, if the number of cloud streaming services that are simultaneously processed by the streaming pipeline is equal to or greater than a preset number of simultaneous processing, it may be determined that the streaming pipeline has reached the service simultaneous processing limit.

이 때, 기설정된 동시 처리 개수는 스트리밍 파이프 라인에서 클라우드 스트리밍 서비스를 동시에 처리할 수 있는 최대 개수보다 작을 수 있다. 예를 들어, 스트리밍 파이프 라인의 한계를 예측하는 기준 값이 스트리밍 파이프 라인에서 클라우드 스트리밍 서비스를 동시에 처리할 수 있는 최대 개수로 설정된다면, 예측과 동시에 병목 현상이 발생할 수 있다. 따라서, 병목 현상을 예측할 수 있는 기준 값인 기설정된 동시 처리 개수를 스트리밍 파이프 라인에서 클라우드 스트리밍 서비스를 동시에 처리할 수 있는 최대 개수보다는 작게 설정하여 예측과 동시에 병목 현상이 발생하는 것을 방지할 수 있다. 또한, 기설정된 동시 처리 개수는 클라우드 스트리밍 서버(110)의 관리자에 의해 자유롭게 설정될 수 있다.In this case, the preset number of simultaneous processing may be smaller than the maximum number of simultaneous processing of cloud streaming services in the streaming pipeline. For example, if the reference value for predicting the limit of the streaming pipeline is set to the maximum number that can simultaneously process cloud streaming services in the streaming pipeline, a bottleneck may occur simultaneously with the prediction. Accordingly, it is possible to prevent the bottleneck from occurring simultaneously with prediction by setting a preset number of simultaneous processing, which is a reference value for predicting the bottleneck, less than the maximum number that can simultaneously process cloud streaming services in the streaming pipeline. In addition, the preset number of simultaneous processing may be freely set by the administrator of the cloud streaming server 110.

도 3은 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법을 나타낸 동작 흐름도이다.3 is a flowchart illustrating a service processing method according to a cloud streaming service type according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법은 사용자 단말 장치로부터 서비스 요청을 수신한다(S310). 단말 장치에서 어플리케이션을 구동시키려면 단말 장치가 많은 저장공간과 높은 처리 능력을 필요로 할 수 있다. 따라서, 클라우드 스트리밍 서버에서 어플리케이션을 구동시킨 후, 어플리케이션의 구동화면을 압축하여 제공받기 위해서 클라우드 스트리밍 서버로 어플리케이션을 실행하기 위한 서비스를 요청할 수 있다.Referring to FIG. 3, a service processing method according to a cloud streaming service type according to an embodiment of the present invention receives a service request from a user terminal device (S310). In order to run an application in the terminal device, the terminal device may require a large amount of storage space and high processing power. Accordingly, after running the application in the cloud streaming server, in order to receive the compressed driving screen of the application, a service for executing the application may be requested from the cloud streaming server.

또한, 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법은 서비스 요청에 상응하는 클라우드 스트리밍 서비스의 유형을 감지한다(S320). 클라우드 스트리밍 서버로 요청되는 서비스 중에서는 서비스 요청을 수신하는 즉시 반응하여 서비스를 제공해야 하는 유형이 있는 반면에, 서비스 요청을 수신하더라도 즉시 반응하지 않아도 괜찮은 유형도 존재할 수 있다. 예를 들면, 게임과 같은 경우에는 사용자로부터 서비스 요청이 수신되는 경우에 바로 서비스를 제공해야 하고, 유투브에서 동영상을 재생하는 경우에는 설정 FPS(frame per second)를 맞출 수만 있으면 해당 서비스의 처리 순서를 낮출 수 있는 여지가 생길 수 있다. 따라서, 클라우드 스트리밍 서비스의 유형에 따라 서비스를 처리하는 순서를 스케줄링 하여 보다 원활하게 클라우드 스트리밍 서버를 운영할 수 있다.In addition, the service processing method according to the cloud streaming service type according to an embodiment of the present invention detects the type of cloud streaming service corresponding to the service request (S320). Among the services requested by the cloud streaming server, there are types that respond immediately upon receiving a service request to provide a service, while there may be types that do not require immediate response even when a service request is received. For example, in the case of games, when a service request is received from a user, the service must be provided immediately, and in the case of playing a video on YouTube, the processing order of the service can be adjusted as long as the setting FPS (frame per second) can be met. There may be room for lowering. Therefore, it is possible to more smoothly operate the cloud streaming server by scheduling the order of processing the service according to the type of cloud streaming service.

이 때, 클라우드 스트리밍 서비스에서 오디오 디바이스를 설정하기 위한 OPEN 명령어를 감지하여 클라우드 스트리밍 서비스의 유형이 동영상인지 여부를 감지할 수 있다. 동영상에는 비디오와 함께 오디오가 포함되어 있을 수 있고, 동영상에서 오디오를 지원하기 위해서는 오디오를 지원하는 디바이스를 설정할 필요가 있다. 따라서 OPEN 및 CLOSE 등의 명령어를 이용하여 오디오를 지원하는 디바이스를 설정할 수 있다. 예를 들어, OPEN 명령어를 통해 오디오와 비디오 재생을 지원하는 MCI(Media Control Interface) 디바이스를 호출하여 설정하고 CLOSE 명령어를 통해 설정을 종료함으로써 MCI 디바이스의 설정에 상응하는 동영상 파일을 재생할 수 있다. 따라서, 오디오 디바이스를 설정하기 위한 OPEN 명령어 감지를 통해 해당 클라우드 스트리밍 서비스의 유형이 동영상인지 확인하는 것이 가능할 수 있다.In this case, by detecting an OPEN command for setting an audio device in the cloud streaming service, it is possible to detect whether the type of the cloud streaming service is a video. Video may include audio along with video, and in order to support audio in video, it is necessary to set up a device that supports audio. Therefore, you can set a device that supports audio by using commands such as OPEN and CLOSE. For example, by calling and setting a Media Control Interface (MCI) device that supports audio and video playback through the OPEN command and ending the configuration through the CLOSE command, a video file corresponding to the configuration of the MCI device can be played. Therefore, it may be possible to check whether the type of the cloud streaming service is a video through the detection of an OPEN command for setting an audio device.

이 때, OPEN 명령어가 감지된 경우에 동영상이 재생중인 것으로 판단하고 클라우드 스트리밍 서비스의 유형을 동영상으로 감지할 수 있다. 예를 들어, 특정 클라우드 스트리밍 서비스에서 오디오 디바이스를 설정하기 위한 OPEN 명령어가 감지되었다면 해당 클라우드 스트리밍 서비스의 유형이 오디오가 포함된 동영상 파일인 것으로 판단할 수 있다.In this case, when the OPEN command is detected, it is determined that the video is being played, and the type of cloud streaming service may be detected as a video. For example, if an OPEN command for setting an audio device in a specific cloud streaming service is detected, it may be determined that the type of the cloud streaming service is a video file containing audio.

이 때, 서비스 요청에 상응하는 어플리케이션의 실행 초기에 서비스 요청을 수신하지 않은 상태에서 감지된 OPEN 명령어는 무시하고, 서비스 요청을 수신한 뒤 OPEN 명령어가 감지된 경우에 클라우드 스트리밍 서비스의 유형을 동영상으로 감지할 수 있다. 예를 들어, 클라우드 스트리밍 서비스의 유형이 게임인 경우에도 어플리케이션 실행 초기에는 오디오 디바이스를 설정하기 위한 OPEN 명령어가 감지될 수 있는데, 본 발명에 따른 감지 방식은 사용자로부터 서비스 요청을 수신한 뒤에 감지되는 OPEN 명령어에 대해서만 클라우드 스트리밍 서비스의 유형을 동영상으로 감지하는데 사용될 수 있다. 따라서, 클라우드 스트리밍 서비스의 유형을 감지하기 위한 것으로 어플리케이션 실행 초기에 사용자로부터의 서비스 요청이 수신되지 않은 상태에서 감지되는 OPEN 명령어는 무시할 수 있다.At this time, the OPEN command detected when the service request is not received at the initial execution of the application corresponding to the service request is ignored, and the cloud streaming service type is converted to a video when the OPEN command is detected after receiving the service request. Can be detected. For example, even if the type of cloud streaming service is a game, an OPEN command for setting an audio device may be detected at the beginning of application execution. The detection method according to the present invention is an OPEN command detected after receiving a service request from a user. For commands only, it can be used to detect the type of cloud streaming service as a video. Accordingly, the OPEN command detected when a service request from a user is not received at the initial stage of application execution may be ignored for detecting the type of cloud streaming service.

또한, 클라우드 스트리밍 서비스의 유형이 게임인 경우에도 어플리케이션을 실행 시킨 후 사용자로부터 서비스 요청을 수신한 뒤 오디오 디바이스를 지원하기 위한 OPEN 명령어가 감지된다면, 해당 서비스 요청에 대해서는 클라우드 스트리밍 서비스의 유형을 동영상으로 감지하여 처리할 수 있다.In addition, even if the cloud streaming service type is game, if an OPEN command to support the audio device is detected after running the application and receiving a service request from the user, the cloud streaming service type is converted to a video for the service request. It can be detected and processed.

이 때, 서비스 요청에 상응하는 어플리케이션을 캡처하는 과정에서 Sound Open 함수가 감지되는 경우에 클라우드 스트리밍 서비스의 유형을 동영상으로 감지할 수 있다. 예를 들어, 클라우드 스트리밍 서비스를 통해 제공되는 어플리케이션이 클라우드 스트리밍의 용도로 제작되지 않아 동영상을 재생하는지 알아서 감지할 수 있다. 이와 같은 경우에는 사용자가 단말 장치에서 서비스 요청을 위한 클릭 이벤트를 발생시킨 후, 클라우드 스트리밍 서버에서 해당 어플리케이션을 캡처하는 과정에서 Sound Open 함수가 존재하는지 여부를 감지할 수 있다. Sound Open 함수가 감지되는 경우에는 해당 클라우드 스트리밍 서비스의 유형을 동영상으로 구분할 수 있다.In this case, when the Sound Open function is detected in the process of capturing the application corresponding to the service request, the type of the cloud streaming service may be detected as a video. For example, an application provided through a cloud streaming service may be automatically detected whether or not an application is playing a video because it is not produced for cloud streaming. In this case, after the user generates a click event for a service request from the terminal device, it is possible to detect whether the Sound Open function exists in the process of capturing the application in the cloud streaming server. When the Sound Open function is detected, the type of the cloud streaming service can be classified as a video.

또한, 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법은 클라우드 스트리밍 서비스의 유형에 기반하여 클라우드 스트리밍 서비스에 우선순위를 부여한다(S330). 상기에서 설명한 것과 같이 클라우드 스트리밍 서버로 요청되는 서비스에는 서비스 요청을 수신하는 즉시 반응해야 하는 게임 같은 유형과, 서비스 요청을 수신하더라도 실제 서비스를 제공하기까지 어느 정도 처리를 늦출 수 있는 동영상과 같은 유형이 존재할 수 있다. 따라서, 서비스의 유형에 따라 즉시 처리해야 하는 클라우드 스트리밍 서비스에는 우선순위를 높게 부여하고, 즉시 처리하지 않아도 되는 클라우드 스트리밍 서비스는 우선순위를 낮게 부여하는 방식으로 서비스를 처리하는 스트리밍 파이프 라인을 스케줄링 함으로써 보다 원활한 클라우드 스트리밍 서비스를 제공할 수 있다.In addition, the service processing method according to the cloud streaming service type according to an embodiment of the present invention gives priority to the cloud streaming service based on the cloud streaming service type (S330). As described above, the service requested to the cloud streaming server has a type such as a game that must react immediately upon receiving a service request, and a type such as a video that can delay processing to some extent until the actual service is provided even when a service request is received. Can exist. Therefore, according to the type of service, cloud streaming services that need to be processed immediately are given high priority, and cloud streaming services that do not need to be processed immediately are given a lower priority. It can provide seamless cloud streaming service.

이 때, 유형이 동영상이 아닌 클라우드 스트리밍 서비스의 우선순위보다 유형이 동영상인 클라우드 스트리밍 서비스의 우선순위를 낮게 부여할 수 있다. 예를 들어, 게임과 같은 유형의 클라우드 스트리밍 서비스는 동영상보다 우선순위를 높게 부여함으로써 사용자에게 보다 신속하게 서비스를 제공할 수 있도록 할 수 있다.In this case, a priority of a cloud streaming service having a video type may be given lower than a priority of a cloud streaming service having a type other than a video. For example, a cloud streaming service of a type such as a game can provide a service to users more quickly by giving a higher priority than a video.

또한, 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법은 클라우드 스트리밍 서비스를 병렬적으로 동시에 처리할 수 있는 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달했는지 여부를 판단하고, 판단 결과에 따라 우선순위에 상응하게 클라우드 스트리밍 서비스를 제공한다(S340).In addition, the service processing method according to the cloud streaming service type according to an embodiment of the present invention determines whether a streaming pipeline capable of concurrently processing cloud streaming services in parallel has reached the service simultaneous processing limit, and the determination result In accordance with the priority, a cloud streaming service is provided (S340).

파이프 라인은 컴퓨터의 중앙 처리 장치를 최적화하여 사용할 수 있는 데이터 처리 과정으로, 하나의 프로세서를 서로 다른 기능을 가진 여러 개의 서브프로세서로 나누어 각각의 서브프로세서가 동시에 다른 데이터를 처리하도록 설계하는 방식이다. 예를 들어, 컴퓨터 명령어는 일반적으로 인출, 분석, 내용인출 및 수행의 4단계를 거치는데, 파이프 라인 방식을 적용하지 않으면 컴퓨터 프로세서가 명령어들을 입력된 순서대로 하나씩 단계에 따라 처리할 수 밖에 없다. 그러나 파이프 라인 방식에서는 명령어를 병렬 처리할 수 있으므로 처리 속도를 높일 수 있다. 따라서 이와 같은 파이프 라인을 클라우드 스트리밍 서버에 적용하여 클라우드 스트리밍 서비스를 단계별로 병렬 처리함으로써 클라우드 스트리밍 서버의 서비스 속도를 향상시킬 수 있다.A pipeline is a data processing process that can be used by optimizing the central processing unit of a computer, and is a method in which one processor is divided into several subprocessors with different functions, and each subprocessor processes different data at the same time. For example, computer instructions generally go through four stages of retrieval, analysis, content retrieval, and execution. If the pipeline method is not applied, the computer processor has no choice but to process the instructions one by one in the order in which they are input. However, in the pipeline method, instructions can be processed in parallel, which can speed up processing. Therefore, it is possible to improve the service speed of the cloud streaming server by applying such a pipeline to the cloud streaming server to process the cloud streaming service in parallel step by step.

이와 같은 스트리밍 파이프 라인에도 동시에 서비스를 처리할 수 있는 한계점이 있으며, 이 한계를 초과하도록 서비스 처리를 수행하면 해당 처리 구간의 성능이 저하되거나 마비되는 병목 현상이 발생할 수 있다. 따라서, 병목 현상이 발생하면 전체 시스템의 효율 저하를 초래할 수 있기 때문에, 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달할 것 같다고 예상되면 처리해야 할 클라우드 스트리밍 서비스의 수를 줄여 병목 현상을 방지할 수 있다. 이 때, 클라우드 스트리밍 서비스에 부여된 우선순위를 이용하여 즉시 처리할 서비스의 수를 감소시킬 수 있다.Even in such a streaming pipeline, there is a limitation in that the service can be processed at the same time, and if the service processing is performed to exceed this limit, the performance of the corresponding processing section may be degraded or a bottleneck may occur. Therefore, if a bottleneck occurs, the efficiency of the entire system can be degraded. Therefore, if the streaming pipeline is expected to reach the service simultaneous processing limit, the number of cloud streaming services to be processed can be reduced to prevent the bottleneck. . In this case, it is possible to reduce the number of services to be processed immediately by using the priority given to the cloud streaming service.

이 때, 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달하지 않은 경우에 우선순위와 상관없이, 서비스 요청 시 클라우드 스트리밍 서비스를 단말 장치에게 바로 제공할 수 있다. 사용자에 의해 서비스 요청이 들어온 클라우드 스트리밍 서비스의 우선순위가 낮다고 하더라도, 스트리밍 파이프 라인에서 서비스를 처리할 수 있을 만큼 여유가 있다면 우선순위에 따라 처리를 늦추지 않고 바로 처리하여 서비스를 제공할 수 있다.In this case, when the streaming pipeline does not reach the service simultaneous processing limit, regardless of the priority, the cloud streaming service can be directly provided to the terminal device when a service is requested. Even if the priority of the cloud streaming service received by the user is low, if there is enough room to process the service in the streaming pipeline, the service can be provided by immediately processing it according to the priority without delaying the processing.

이 때, 스트리밍 파이프 라인에서 동시에 처리하는 클라우드 스트리밍 서비스의 개수가 기설정된 동시 처리 개수 이상이면 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달한 것으로 판단할 수 있다.In this case, if the number of cloud streaming services that are simultaneously processed by the streaming pipeline is equal to or greater than a preset number of simultaneous processing, it may be determined that the streaming pipeline has reached the service simultaneous processing limit.

이 때, 기설정된 동시 처리 개수는 스트리밍 파이프 라인에서 클라우드 스트리밍 서비스를 동시에 처리할 수 있는 최대 개수보다 작을 수 있다. 예를 들어, 스트리밍 파이프 라인의 한계를 예측하는 기준 값이 스트리밍 파이프 라인에서 클라우드 스트리밍 서비스를 동시에 처리할 수 있는 최대 개수로 설정된다면, 예측과 동시에 병목 현상이 발생할 수 있다. 따라서, 병목 현상을 예측할 수 있는 기준 값인 기설정된 동시 처리 개수를 스트리밍 파이프 라인에서 클라우드 스트리밍 서비스를 동시에 처리할 수 있는 최대 개수보다는 작게 설정하여 예측과 동시에 병목 현상이 발생하는 것을 방지할 수 있다. 또한, 기설정된 동시 처리 개수는 클라우드 스트리밍 서버의 관리자에 의해 자유롭게 설정될 수 있다.In this case, the preset number of simultaneous processing may be smaller than the maximum number of simultaneous processing of cloud streaming services in the streaming pipeline. For example, if the reference value for predicting the limit of the streaming pipeline is set to the maximum number that can simultaneously process cloud streaming services in the streaming pipeline, a bottleneck may occur simultaneously with the prediction. Accordingly, it is possible to prevent the bottleneck from occurring simultaneously with prediction by setting a preset number of simultaneous processing, which is a reference value for predicting the bottleneck, less than the maximum number that can simultaneously process cloud streaming services in the streaming pipeline. In addition, the preset number of simultaneous processing can be freely set by the administrator of the cloud streaming server.

도 4는 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법을 상세하게 나타낸 동작 흐름도이다.4 is an operation flowchart showing in detail a service processing method according to a cloud streaming service type according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법은 먼저 클라우드 스트리밍 서버가 사용자 단말 장치로부터 서비스 요청을 수신한다(S410).Referring to FIG. 4, in the service processing method according to the type of cloud streaming service according to an embodiment of the present invention, first, a cloud streaming server receives a service request from a user terminal device (S410).

이 후, 클라우드 스트리밍 서버에서 사용자의 서비스 요청에 상응하는 클라우드 스트리밍 서비스의 유형을 감지한다(S420).After that, the cloud streaming server detects the type of cloud streaming service corresponding to the user's service request (S420).

클라우드 스트리밍 서버는 사용자의 서비스 요청에 상응하는 클라우드 스트리밍 서비스가 동영상인지 여부를 파악하기 위해, 오디오 디바이스를 설정하기 위한 OPEN 명령어가 감지되는지 여부를 판단한다(S425).The cloud streaming server determines whether an OPEN command for setting an audio device is detected in order to determine whether the cloud streaming service corresponding to the user's service request is a video (S425).

단계(S425)의 판단결과 OPEN 명령어가 감지되지 않는다면, 클라우드 스트리밍 서비스의 유형이 동영상이 아닌 것으로 감지한다(S430).If the OPEN command is not detected as a result of the determination in step S425, it is detected that the type of the cloud streaming service is not a video (S430).

단계(S425)의 판단결과 OPEN 명령어가 감지된다면, 클라우드 스트리밍 서비스의 유형을 동영상으로 감지한다(S440).If the OPEN command is detected as a result of the determination in step S425, the type of the cloud streaming service is detected as a video (S440).

이 후, 클라우드 스트리밍 서버는 감지된 클라우드 스트리밍 서비스의 유형에 따라 우선순위를 부여한다(S450).After that, the cloud streaming server gives priority according to the detected type of cloud streaming service (S450).

클라우드 스트리밍 서버는 스트리밍 파이프 라인에서 동시에 처리하는 클라우드 스트리밍 서비스의 개수가 기설정된 동시 처리 개수 이상인지 판단한다(S455).The cloud streaming server determines whether the number of cloud streaming services simultaneously processed in the streaming pipeline is equal to or greater than a preset number of simultaneous processing (S455).

단계(S455)의 판단결과 스트리밍 파이프 라인에서 동시에 처리하는 클라우드 스트리밍 서비스의 개수가 기설정된 동시 처리 개수 이상이면, 클라우드 스트리밍 서비스에 부여된 우선순위에 따라 서비스를 처리하여 사용자에게 제공한다(S460).As a result of the determination in step S455, if the number of concurrently processed cloud streaming services in the streaming pipeline is equal to or greater than the preset number of simultaneous processing, the services are processed according to the priority given to the cloud streaming service and provided to the user (S460).

단계(S455)의 판단결과 스트리밍 파이프 라인에서 동시에 처리하는 클라우드 스트리밍 서비스의 개수가 기설정된 동시 처리 개수 미만이면, 사용자로부터 서비스 요청을 수신하는 즉시 클라우드 스트리밍 서비스를 처리하여 제공한다(S470).As a result of the determination in step S455, if the number of concurrently processed cloud streaming services in the streaming pipeline is less than the preset number of simultaneous processing, the cloud streaming service is processed and provided as soon as a service request is received from the user (S470).

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

이상에서와 같이 본 발명에 따른 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법 및 이를 위한 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the cloud streaming service system according to the present invention, the service processing method according to the cloud streaming service type, and the apparatus therefor are not limited to the configuration and method of the embodiments described as described above, but the above implementation. Examples may be configured by selectively combining all or part of each embodiment so that various modifications may be made.

본 발명에 의하면 사용자의 단말 장치로부터 서비스 요청을 수신하고, 서비스 요청에 상응하는 클라우드 스트리밍 서비스의 유형을 감지하고, 클라우드 스트리밍 서비스의 유형에 기반하여 클라우드 스트리밍 서비스에 우선순위를 부여하고, 클라우드 스트리밍 서비스를 병렬적으로 동시에 처리할 수 있는 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달했는지 여부에 따라 우선순위에 상응하게 클라우드 스트리밍 서비스를 제공할 수 있다. 나아가, 서버에서는 더 많은 수의 클라이언트들에게 서비스를 원활하게 제공하는 것이 가능하고, 서버를 증축하지 않고도 클라우드 스트리밍 서비스를 보다 많이 제공할 수 있으므로 비용을 절약하는 효과를 가져올 수 있다.According to the present invention, a service request is received from a user's terminal device, a cloud streaming service type corresponding to the service request is detected, a cloud streaming service is given priority based on the cloud streaming service type, and a cloud streaming service It is possible to provide a cloud streaming service according to the priority depending on whether the streaming pipeline that can simultaneously process data in parallel has reached the service simultaneous processing limit. Furthermore, it is possible to smoothly provide services to a greater number of clients in the server, and since it is possible to provide more cloud streaming services without expanding the server, it is possible to save cost.

110: 클라우드 스트리밍 서버 120-1~ 120-N: 단말 장치
130: 네트워크 210: 수신부
220: 서비스 유형 감지부 230: 서비스 순위 설정부
240: 서비스 제공부
110: cloud streaming server 120-1 to 120-N: terminal device
130: network 210: receiver
220: service type detection unit 230: service priority setting unit
240: service provider

Claims (20)

사용자의 단말 장치로부터 서비스 요청을 수신하는 수신부;
상기 서비스 요청에 상응하는 클라우드 스트리밍 서비스의 유형을 감지하는 서비스 유형 감지부;
상기 클라우드 스트리밍 서비스의 유형에 기반하여 상기 클라우드 스트리밍 서비스에 우선순위를 부여하는 서비스 순위 설정부; 및
상기 클라우드 스트리밍 서비스를 병렬적으로 동시에 처리할 수 있는 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달했는지 여부를 판단하고, 상기 판단결과에 따라 상기 우선순위에 상응하게 상기 클라우드 스트리밍 서비스를 제공하는 서비스 제공부
를 포함하는 것을 특징으로 하는 클라우드 스트리밍 서버.
A receiver configured to receive a service request from a user's terminal device;
A service type detection unit detecting a type of cloud streaming service corresponding to the service request;
A service priority setting unit that gives priority to the cloud streaming service based on the type of the cloud streaming service; And
A service provider that determines whether a streaming pipeline capable of concurrently processing the cloud streaming service in parallel has reached a service concurrent processing limit, and provides the cloud streaming service according to the priority according to the determination result
Cloud streaming server comprising a.
청구항 1에 있어서,
상기 서비스 유형 감지부는
상기 클라우드 스트리밍 서비스에서 오디오 디바이스를 설정하기 위한 OPEN 명령어를 감지하여 상기 클라우드 스트리밍 서비스의 유형이 동영상인지 여부를 감지하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method according to claim 1,
The service type detection unit
The cloud streaming server, characterized in that by detecting an OPEN command for setting an audio device in the cloud streaming service to detect whether the type of the cloud streaming service is a video.
청구항 2에 있어서,
상기 서비스 유형 감지부는
상기 OPEN 명령어가 감지된 경우에 상기 동영상이 재생중인 것으로 판단하고 상기 클라우드 스트리밍 서비스의 유형을 상기 동영상으로 감지하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method according to claim 2,
The service type detection unit
When the OPEN command is detected, it is determined that the video is being played and the type of the cloud streaming service is detected as the video.
청구항 3에 있어서,
상기 서비스 유형 감지부는
상기 서비스 요청에 상응하는 어플리케이션의 실행 초기에 상기 서비스 요청을 수신하지 않은 상태에서 감지된 상기 OPEN 명령어는 무시하고, 상기 서비스 요청을 수신한 뒤 상기 OPEN 명령어가 감지된 경우에 상기 클라우드 스트리밍 서비스의 유형을 상기 동영상으로 감지하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method of claim 3,
The service type detection unit
The type of cloud streaming service when the OPEN command is detected after receiving the service request, ignoring the OPEN command detected when the service request is not received at the initial execution of the application corresponding to the service request Cloud streaming server, characterized in that detecting the video as the video.
청구항 3에 있어서,
상기 서비스 유형 감지부는
상기 서비스 요청에 상응하는 어플리케이션을 캡처하는 과정에서 Sound Open 함수가 감지되는 경우에 상기 클라우드 스트리밍 서비스의 유형을 상기 동영상으로 감지하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method of claim 3,
The service type detection unit
A cloud streaming server, characterized in that, when a Sound Open function is detected while capturing an application corresponding to the service request, the type of the cloud streaming service is detected as the video.
청구항 5에 있어서,
상기 서비스 순위 설정부는
상기 유형이 상기 동영상이 아닌 클라우드 스트리밍 서비스의 우선순위보다 상기 유형이 상기 동영상인 클라우드 스트리밍 서비스의 우선순위를 낮게 부여하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method of claim 5,
The service priority setting unit
A cloud streaming server, characterized in that the priority of the cloud streaming service of the video type is given lower than the priority of the cloud streaming service of which the type is not the video.
청구항 6에 있어서,
상기 서비스 제공부는
상기 스트리밍 파이프 라인이 상기 서비스 동시 처리 한계에 도달하지 않은 경우에 상기 우선순위와 상관없이, 상기 서비스 요청 시 상기 클라우드 스트리밍 서비스를 상기 단말 장치에게 바로 제공하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method of claim 6,
The service provider
When the streaming pipeline does not reach the service simultaneous processing limit, regardless of the priority, the cloud streaming service is directly provided to the terminal device when the service is requested.
청구항 7에 있어서,
상기 서비스 제공부는
상기 스트리밍 파이프 라인에서 동시에 처리하는 상기 클라우드 스트리밍 서비스의 개수가 기설정된 동시 처리 개수 이상이면 상기 스트리밍 파이프 라인이 상기 서비스 동시 처리 한계에 도달한 것으로 판단하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method of claim 7,
The service provider
And if the number of the cloud streaming services simultaneously processed by the streaming pipeline is equal to or greater than a preset number of simultaneous processing, it is determined that the streaming pipeline has reached a limit of simultaneous processing of the services.
청구항 8에 있어서,
상기 기설정된 동시 처리 개수는
상기 스트리밍 파이프 라인에서 상기 클라우드 스트리밍 서비스를 동시에 처리할 수 있는 최대 개수보다 작은 것을 특징으로 하는 클라우드 스트리밍 서버.
The method of claim 8,
The preset number of simultaneous processing is
Cloud streaming server, characterized in that less than the maximum number that can simultaneously process the cloud streaming service in the streaming pipeline.
사용자의 단말 장치로부터 서비스 요청을 수신하는 단계;
상기 서비스 요청에 상응하는 클라우드 스트리밍 서비스의 유형을 감지하는 단계;
상기 클라우드 스트리밍 서비스의 유형에 기반하여 상기 클라우드 스트리밍 서비스에 우선순위를 부여하는 단계; 및
상기 클라우드 스트리밍 서비스를 병렬적으로 동시에 처리할 수 있는 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달했는지 여부를 판단하고, 상기 판단결과에 따라 상기 우선순위에 상응하게 상기 클라우드 스트리밍 서비스를 제공하는 단계
를 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스의 서비스 유형에 따른 서비스 처리 방법.
Receiving a service request from a user's terminal device;
Detecting a type of cloud streaming service corresponding to the service request;
Giving priority to the cloud streaming service based on the type of the cloud streaming service; And
Determining whether a streaming pipeline capable of concurrently processing the cloud streaming service in parallel has reached a service concurrent processing limit, and providing the cloud streaming service according to the priority according to the determination result
Service processing method according to the service type of the cloud streaming service comprising a.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 사용자로부터 수신한 서비스 요청에 상응하는 클라우드 스트리밍 서비스의 유형을 감지하고, 상기 클라우드 스트리밍 서비스의 유형에 기반하여 상기 클라우드 스트리밍 서비스에 우선순위를 부여하고, 스트리밍 파이프 라인이 서비스 동시 처리 한계에 도달했는지 여부를 판단한 결과에 따라 상기 우선 순위에 상응하게 상기 클라우드 스트리밍 서비스를 제공하는 클라우드 스트리밍 서버; 및
상기 클라우드 스트리밍 서버로부터 상기 클라우드 스트리밍 서비스에 상응하는 어플리케이션 실행 결과 화면을 수신하는 단말
을 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스 시스템.
Detects the type of cloud streaming service corresponding to the service request received from the user, gives priority to the cloud streaming service based on the type of cloud streaming service, and whether the streaming pipeline reaches the service simultaneous processing limit A cloud streaming server that provides the cloud streaming service according to the priority according to a result of determining the value; And
Terminal receiving an application execution result screen corresponding to the cloud streaming service from the cloud streaming server
Cloud streaming service system comprising a.
KR1020140108120A 2014-07-14 2014-08-20 System for cloud streaming service, method for processing service based on type of cloud streaming service and apparatus for the same KR102199276B1 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020140108120A KR102199276B1 (en) 2014-08-20 2014-08-20 System for cloud streaming service, method for processing service based on type of cloud streaming service and apparatus for the same
PCT/KR2015/007261 WO2016010319A2 (en) 2014-07-14 2015-07-13 Cloud streaming service system, data compressing method for preventing memory bottlenecking, and device for same
JP2017519439A JP6467503B2 (en) 2014-07-14 2015-07-13 Cloud streaming service system, data compression method for preventing memory bottleneck, and apparatus therefor
CN201580047076.2A CN106797487B (en) 2014-07-14 2015-07-13 Cloud streaming server
EP15822844.5A EP3171601A4 (en) 2014-07-14 2015-07-13 Cloud streaming service system, data compressing method for preventing memory bottlenecking, and device for same
CN202110160960.4A CN112929234A (en) 2014-07-14 2015-07-13 Cloud streaming server
US15/406,594 US10397288B2 (en) 2014-07-14 2017-01-13 Cloud streaming service system, data compressing method for preventing memory bottlenecking, and device for same
US16/505,144 US10904304B2 (en) 2014-07-14 2019-07-08 Cloud streaming service system, data compressing method for preventing memory bottlenecking, and device for same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140108120A KR102199276B1 (en) 2014-08-20 2014-08-20 System for cloud streaming service, method for processing service based on type of cloud streaming service and apparatus for the same

Publications (2)

Publication Number Publication Date
KR20160022505A KR20160022505A (en) 2016-03-02
KR102199276B1 true KR102199276B1 (en) 2021-01-06

Family

ID=55582343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140108120A KR102199276B1 (en) 2014-07-14 2014-08-20 System for cloud streaming service, method for processing service based on type of cloud streaming service and apparatus for the same

Country Status (1)

Country Link
KR (1) KR102199276B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100648659B1 (en) 2004-08-03 2006-11-23 주식회사 케이티프리텔 Rate control method and device for streaming video
KR100823522B1 (en) 2007-06-18 2008-04-21 주식회사 셀런 Caching method for reducing bottle neck between storage and server in real-time streaming system
US20120154389A1 (en) 2010-12-15 2012-06-21 International Business Machines Corporation Hardware Accelerated Graphics for Network Enabled Applications
US20130155075A1 (en) 2011-12-15 2013-06-20 Fujitsu Limited Information processing device, image transmission method, and recording medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101805212B1 (en) 2009-08-14 2017-12-05 디티에스 엘엘씨 Object-oriented audio streaming system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100648659B1 (en) 2004-08-03 2006-11-23 주식회사 케이티프리텔 Rate control method and device for streaming video
KR100823522B1 (en) 2007-06-18 2008-04-21 주식회사 셀런 Caching method for reducing bottle neck between storage and server in real-time streaming system
US20120154389A1 (en) 2010-12-15 2012-06-21 International Business Machines Corporation Hardware Accelerated Graphics for Network Enabled Applications
US20130155075A1 (en) 2011-12-15 2013-06-20 Fujitsu Limited Information processing device, image transmission method, and recording medium

Also Published As

Publication number Publication date
KR20160022505A (en) 2016-03-02

Similar Documents

Publication Publication Date Title
JP6467503B2 (en) Cloud streaming service system, data compression method for preventing memory bottleneck, and apparatus therefor
US10601891B2 (en) Cloud streaming service system and cloud streaming service method for utilizing an optimal GPU for video decoding based on resource conditions, and apparatus for the same
JP7386990B2 (en) Video playback methods, devices, equipment and computer programs
KR102336604B1 (en) Method for monitoring web server based on cloud streaming service and apparatus for the same
KR102426670B1 (en) System for cloud streaming service, method of image cloud streaming service using process shortering and apparatus for the same
KR101531284B1 (en) An apparatus for presenting cloud streaming services, a method thereof and a system thereof
KR102247886B1 (en) System for cloud streaming service, method of cloud streaming service based on type of image and apparatus for the same
KR101543295B1 (en) Application error detection method for cloud streaming service, apparatus and system therefor
KR102199276B1 (en) System for cloud streaming service, method for processing service based on type of cloud streaming service and apparatus for the same
KR102442699B1 (en) System for cloud streaming service, method of image cloud streaming service using common cache and apparatus for the same
KR20160131827A (en) System for cloud streaming service, method of image cloud streaming service using alpha level of color bit and apparatus for the same
KR102313529B1 (en) System for cloud streaming service, method of image cloud streaming service based on optimum rendering and apparatus for the same
KR20160091622A (en) System for cloud streaming service, method of image cloud streaming service using division of the change area and apparatus for the same
KR102247887B1 (en) System for cloud streaming service, method of cloud streaming service using source information and apparatus for the same
KR102313530B1 (en) System for cloud streaming service, method of image cloud streaming service using split screen and apparatus for the same
KR102247888B1 (en) System for cloud streaming service, method of image cloud streaming service based on selective streaming pipeline method and apparatus for the same
KR102273143B1 (en) System for cloud streaming service, method of cloud streaming service based on still image and apparatus for the same
KR102284685B1 (en) System for cloud streaming service, method of image cloud streaming service based on performance of terminal and apparatus for the same
KR20160109805A (en) System for cloud streaming service, method of image cloud streaming service using split of changed image and apparatus for the same
KR102094677B1 (en) System for servicing cloud streaming, method of servicing cloud streaming and server for the same
KR102313531B1 (en) System for cloud streaming service, method of cloud streaming service using single session multi-access and apparatus for the same
KR20200056859A (en) A method and system for generating and providing a preview video of a video content
KR102228375B1 (en) Method and system for reproducing multiple streaming contents
KR101587192B1 (en) System for servicing cloud streaming, method of servicing cloud streaming and server for the same
KR102247657B1 (en) System for cloud streaming service, method of cloud streaming service using separate operations of the encoding process unit and apparatus for the same

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant