KR101428472B1 - 클라우드 스트리밍 서비스 제공을 위한 장치 및 이를 위한 방법 - Google Patents

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

Info

Publication number
KR101428472B1
KR101428472B1 KR1020130016196A KR20130016196A KR101428472B1 KR 101428472 B1 KR101428472 B1 KR 101428472B1 KR 1020130016196 A KR1020130016196 A KR 1020130016196A KR 20130016196 A KR20130016196 A KR 20130016196A KR 101428472 B1 KR101428472 B1 KR 101428472B1
Authority
KR
South Korea
Prior art keywords
service
latency
application
cloud streaming
request
Prior art date
Application number
KR1020130016196A
Other languages
English (en)
Inventor
배태면
Original Assignee
에스케이플래닛 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to KR1020130016196A priority Critical patent/KR101428472B1/ko
Application granted granted Critical
Publication of KR101428472B1 publication Critical patent/KR101428472B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display

Landscapes

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

Abstract

본 발명은 클라우드 스트리밍 서비스 제공을 위한 장치 및 이를 위한 방법에 관한 것으로, 이러한 본 발명은, 서비스 장치와 통신하기 위한 통신부; 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 통신부를 통해 서비스 장치로 전송하고, 통신부를 통해 서비스 장치로부터 요청된 어플리케이션 또는 서비스에 대한 클라우드 스트리밍 서비스를 제공하기 위해 기 설정된 요구 레이턴시를 나타내는 정보 메시지를 수신하면, 요구 레이턴시에 따라 요청된 클라우드 스트리밍 서비스를 위한 버퍼의 용량을 할당하는 제어부;를 포함하는 것을 특징으로 하는 스트리밍 서비스 제공을 위한 사용자 장치와, 이에 따른 방법을 제공한다.

Description

클라우드 스트리밍 서비스 제공을 위한 장치 및 이를 위한 방법{An apparatus for presenting cloud streaming service and a method thereof}
본 발명은 클라우드 스트리밍 기술에 관한 것으로, 보다 상세하게는, 어플리케이션의 특성에 따른 적정 레이턴시를 고려하여 버퍼의 용량을 조절함으로써 최적의 클라우드 스트리밍 서비스를 제공할 수 있는 클라우드 스트리밍 서비스 제공을 위한 장치 및 이를 위한 방법에 관한 것이다.
스트리밍(streaming)은 주로 소리나 동영상 등의 멀티미디어 파일을 전송하고 재생하는 방식의 하나이다. 이러한 스트리밍 방식이란 멀티미디어 데이터 전송 방식 중의 하나로 인터넷에서 물 흐르듯 데이터를 읽으면서 전송은 물론 실시간 재생이 가능한 전송 방식을 말한다. 보통 파일은 다운로드 한 후 실행하는 작업을 수행 하지만, 동영상과 같이 크기가 큰 파일을 재생할 때에는 다운로드 하는 데에 시간이 오래 걸릴 수 있다. 이와 같이, 파일을 다운로드하는 것과 더불어 재생을 함으로써 기다리는 시간을 크게 줄일 수 있다. 이 기술로 사용자는 인터넷상에서 데이터 용량이 큰 비디오 혹은 오디오 자료를 자신의 개인용 컴퓨터 등에 다운로드 하지 않고도 실시간으로 보거나 들을 수 있게 되었다. 기존의 방송사나 신문사, 사내 교육 및 방송 등에서 정보를 제공하는 수단으로 많이 사용되고 있다.
또한, 최근 사용자가 필요한 소프트웨어를 자신의 컴퓨터에 설치하지 않고도 인터넷 접속을 통해 언제든 사용할 수 있고 동시에 각종 정보통신 기기로 데이터를 손쉽게 공유할 수 있는 클라우드 컴퓨팅 서비스에 대한 연구 및 상용화가 이루어지고 있다.
이러한 클라우드 컴퓨팅 서비스는, 대용량의 영상 처리가 요구되는 서비스나 기능을 실행하는데 있어서, 클라우드 컴퓨팅 기반의 서버를 통해서 상기 서비스나 기능을 실행하도록 하고, 그 실행된 결과 화면만을 스트리밍 기술을 이용하여 사용자의 단말기로 전송함으로써, 사용자가 단말기를 통해 고사양 또는 고기능이 요구되는 서비스나 기능을 이용할 수 있도록 한다.
이렇게 사용자 단말기의 요구에 따라서 특정 서비스 혹은 기능을 실행하고 그 결과를 사용자 단말로 전송하는 화면 가상화 기술을 통하여 사용자 단말기가 다양한 서비스나 기능을 이용할 수 있도록 하는 기술을 클라우드 스트리밍 서비스라 한다.
그런데 클라우드 스트리밍 서비스를 제공하는데 있어서, 어플리케이션 또는 콘텐츠의 종류에 따라서 최적의 레이턴시(latency)가 달라질 수 있다. 예를 들어, 게임의 경우는 레이턴시를 최소화하기 위해 사용자 단말기에서의 버퍼링을 최소화하는 것이 바람직하며, 반대로 UI 화면의 경우 레이턴시를 길게 하더라도 네트워크 불안정으로 인한 스트리밍 플레이의 끊김 문제를 최소화하는 것이 바람직하다.
한국공개특허 제10-2006-0008684호, 2006년 1월 27일 공개 (명칭: 송신 지연 시간의 협상을 이용한 스트리밍 방법)
상술한 바와 같은 점을 감안한 본 발명의 목적은 어플리케이션의 종류 및 어플리케이션에서 실행되는 콘텐츠에 따라 레이턴시를 달리 설정함으로써 최적의 클라우드 스트리밍 서비스를 제공할 수 있는 클라우드 스트리밍 서비스 제공을 위한 장치 및 이를 위한 방법을 제공함에 있다.
또한, 본 발명의 목적은 레이턴시에 따라 버퍼링 용량을 조절함으로써, 어플리케이션 또는 서비스의 특성에 맞춘 최적의 클라우드 스트리밍 서비스를 제공할 수 있는 클라우드 스트리밍 서비스 제공을 위한 장치 및 이를 위한 방법을 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 클라우드 스트리밍 서비스 제공을 위한 사용자 장치는, 특정 어플리케이션 또는 서비스를 실행하여 그 실행 결과를 스트리밍 방식으로 실시간 전송하는 클라우드 스트리밍 서비스를 제공하는 서비스 장치와 통신하기 위한 통신부; 및 상기 통신부와 연동하여, 특정 어플리케이션 또는 서비스에 대한 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 상기 서비스 장치로 전송한 후, 상기 서비스 장치로부터 요청된 어플리케이션 또는 서비스에 대하여 기 설정된 요구 레이턴시를 포함하는 정보 메시지를 수신하고, 수신한 요구 레이턴시에 따라 상기 클라우드 스트리밍 서비스를 위한 버퍼의 용량을 할당하는 제어부;를 포함한다.
본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공을 위한 사용자 장치에 있어서, 제어부는 통신 모듈을 통해 서비스 장치로부터 사용자가 클라우드 스트리밍 서비스를 요청한 어플리케이션 또는 서비스의 실행 화면에 대한 스트리밍 데이터를 수신하되, 할당된 버퍼의 용량에 따라 수신되는 스트리밍 데이터에 대한 버퍼링을 수행하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공을 위한 사용자 장치에 있어서, 요구 레이턴시는 서비스 장치에서 발생되는 서비스 준비 레이턴시 및 사용자 장치에서 클라우드 스트리밍 서비스에 상응하는 스트리밍 데이터를 처리할 때 발생하는 내부 처리 레이턴시를 고려하여 설정되는 것을 특징으로 한다.
본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공을 위한 사용자 장치에 있어서, 요구 레이턴시는 서비스 장치와 사용자 장치 간의 네트워크 상태에 따른 네트워크 레이턴시를 더 고려하여 설정되는 것을 특징으로 한다.
본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공을 위한 사용자 장치에 있어서, 요구 레이턴시는 클라우드 스트리밍 서비스가 제공되는 어플리케이션의 종류에 따라 설정되는 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 클라우드 스트리밍 서비스 제공을 위한 서비스 장치는, 사용자 장치와 통신하기 위한 통신 모듈; 및 상기 통신 모듈과 연동하여, 상기 사용자 장치로부터 특정 어플리케이션 또는 서비스에 대한 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 수신하면, 상기 어플리케이션 또는 서비스에 대하여 기 설정된 요구 레이턴시를 포함하는 정보 메시지를 상기 사용자 장치로 전송한 후, 상기 어플리케이션 혹은 서비스의 실행하고, 그 실행 결과를 스트리밍 방식으로 전송하는 제어 모듈;을 포함한다.
본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공을 위한 서비스 장치에 있어서, 요구 레이턴시는 클라우드 스트리밍 서비스가 제공되는 어플리케이션의 종류에 따라 설정되는 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 사용자 장치의 클라우드 스트리밍 서비스 제공을 위한 방법은, 특정 어플리케이션 또는 서비스에 대한 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 서비스 장치로 전송하는 단계; 상기 요청 메시지에 대응하여 상기 서비스 장치로부터 상기 어플리케이션 또는 서비스에 대하여 기 설정된 요구 레이턴시를 포함하는 정보 메시지를 수신하는 단계; 및 상기 요구 레이턴시에 따라 상기 요청된 클라우드 스트리밍 서비스를 위한 버퍼의 용량을 할당하는 단계;를 포함한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 서비스 장치의 클라우드 스트리밍 서비스 제공을 위한 방법은, 특정 어플리케이션 또는 서비스에 대한 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 사용자 장치로부터 수신하는 단계; 상기 어플리케이션 또는 서비스에 대하여 기 설정된 요구 레이턴시를 포함하는 정보 메시지를 상기 사용자 장치로 전송하는 단계; 및 요청된 특정 어플리케이션 또는 서비스를 실행하고, 그 실행 결과에 대한 스트리밍 서비스를 상기 사용자 장치로 제공하는 단계;를 포함하는 것을 특징으로 한다.
상술한 바와 같이 본 발명에 따르면, 어플리케이션의 특성에 따라 요구 레이턴시를 설정하고, 설정된 요구 레이턴시에 따라 사용자 단말의 버퍼링 용량을 조절하여 클라우드 스트리밍 서비스를 제공한다. 따라서 본 발명은 클라우드 스트리밍 서비스 시에, 어플리케이션의 특성을 고려하지 않고 일률적으로 버퍼링 용량을 동일하게 할당되는 것에 비해, 버퍼의 용량을 효율적으로 활용할 수 있으면서, 서비스 품질을 만족시킬 수 있는 이점이 있다.
도 1은 본 발명의 실시예에 따른 클라우드 스트리밍 서비스 제공을 위한 시스템을 설명하기 위한 블록도이다.
도 2는 본 발명의 실시예에 따른 서비스 장치의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 사용자 장치의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 클라우드 스트리밍 서비스 제공을 위한 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시예에 따른 서비스 장치의 클라우드 스트리밍 서비스 제공을 위한 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시예에 따른 사용자 장치의 클라우드 스트리밍 서비스 제공을 위한 방법을 설명하기 위한 흐름도이다.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
도 1은 본 발명의 실시예에 따른 클라우드 스트리밍 서비스 제공을 위한 시스템을 설명하기 위한 블록도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 시스템은, 사용자 장치(100) 및 서비스 장치(200)를 포함한다.
기본적으로, 사용자 장치(100)와 서비스 장치(200)는 네트워크(300)를 통해 상호간에 통신한다. 이러한 네트워크(300)는 반드시 이에 한정되는 것은 아니나, IP 기반의 네트워크임이 바람직하다. IP 기반의 네트워크는 대표적으로 인터넷을 예시할 수 있다. 이하로는, 네트워크(300)가 IP 기반의 네트워크인 것으로 가정하여 설명한다.
서비스 장치(200)는 사용자 장치(100)에 네트워크를 통해 어플리케이션 및 콘텐츠를 클라우드 스트리밍 방식으로 서비스한다. 특히, 서비스 장치(200)는 사용자 장치(100)에서 요청한 특정 어플리케이션 또는 서비스(콘텐츠)를 실행한 후, 그 실행 화면을 스트리밍 방식으로 사용자 장치(100)에 제공함으로써, 사용자 장치(100)가 상기 어플리케이션 또는 서비스를 실행할 수 없는 사양이더라도 상기 어플리케이션 또는 서비스를 이용할 수 있도록 한다. 이러한 클라우드 스트리밍 서비스의 예로서, 서비스 장치(200)가 동영상 재생기에서 동영상을 재생한 후, 동영상(콘텐츠) 재생 화면을 제공하는 것을 예시할 수 있다.. 또 다른 예로서, 서비스 장치(200)가 사용자 장치(100)로부터 전송된 사용자 입력에 따라서 특정 게임 어플리케이션을 실행한 후, 그 실행 화면을 사용자 장치(100)로 스트리밍함으로써, 사용자가 자신의 사용자 장치(100)를 통해서 게임을 실행하는 듯한 경험을 제공받을 수 있도록 한다. 또한, 본 발명에서 용어 “스트리밍 방식의 서비스”는 동영상 서비스와 같이 반드시 끊김 없이 데이터가 서비스 장치(200)에서 사용자 장치(100)로 전송되는 서비스만으로 한정하는 것은 아니다. 사용자 장치(100)와 서비스 장치(200) 상호작용에 의해, 혹은 서비스 장치(200)에 의해 데이터가 불연속적으로 발생될 수 있으며, 서비스 장치(200)는 불연속적으로 발생된 데이터를 데이터가 발생된 시점에 사용자 장치(100)에 실시간으로 제공할 수 있다. 이와 같이, 본 발명의 실시예에 따르면, 데이터를 실시간으로 제공되는 모든 서비스는 “스트리밍 방식의 서비스”의 범주에 포함된다. 예를 들면, 서비스 장치(200)가 게임 어플리케이션을 클라우드 스트리밍 기반으로 서비스 하는 서버라고 가정하는 경우, 사용자가 게임 조작을 하기 위한 입력은 불연속적일 수 있으며, 불연속적인 입력에 의해 사용자 장치(100)가 서비스 장치(200)로 전송하는 입력에 의해 서비스 장치(200)는 실시간으로 데이터를 발생시키고, 이를 사용자 장치(100)에 실시간으로 제공할 수 있다. 또 다른 예를 들면, 서비스 장치(200)가 클라우드 컴퓨팅 환경에서 문서 편집기를 실행시키고, 어플리케이션의 일부인 문서 편집기의 인터페이스 및 편집 대상이 되는 콘텐츠인 문서를 제공한다고 가정한다. 이러한 경우에도 사용자가 문서 편집기의 인터페이스를 통한 입력은 불연속적일 수 있으며, 불연속적인 입력에 의해 사용자 장치(100)가 서비스 장치(200)로 전송하는 입력에 의해 서비스 장치(200)는 실시간으로 문서 편집기를 실행하여 문서를 편집하고, 이에 의해 발생되는 실행 화면을 사용자 장치(100)에 실시간으로 제공할 수 있다.
한편, 사용자 장치(100)는 서비스 장치(200)에 네트워크를 통해 접속하여, 상술한 다양한 종류의 어플리케이션 및 콘텐츠 등을 클라우드 스트리밍 방식으로 제공받아 사용자 장치(100) 상에서 실행시킬 수 있다.
이를 위하여, 사용자 장치(100)는 특정 어플리케이션 또는 서비스에 대한 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 생성하여 전송한다. 이러한 요청 메시지는 특정 어플리케이션에 대한 스트리밍 서비스를 요청하는 것이거나, 특정 어플리케이션에서 실행되는 특정 콘텐츠에 대한 스트리밍 서비스를 요청하는 것이 될 수 있다. 따라서 요청 메시지는 요청되는 어플리케이션을 다른 어플리케이션과 구분하기 위한 어플리케이션 식별자, 혹은 요청되는 콘텐츠를 다른 콘텐츠와 구분하기 위한 콘텐츠 식별자 중 적어도 하나를 포함한다.
서비스 장치(200)는 수신된 요청 메시지에 상응하는 정보 메시지를 사용자 장치(100)에 전송한다. 정보 메시지는 요청 메시지에 상응하는 클라우드 스트리밍 서비스를 제공하기 위해 기 설정된 요구 레이턴시가 기술된다. 상기 요구 레이턴시는 서비스 장치(200) 내에서 처리(처리 과정)에 의해 발생되는 레이턴시인 서비스 준비 레이턴시를 고려하여 설정될 수 있다. 여기서 처리 과정은 특정 데이터(어플리케이션)를 저장 매체로부터 인출하고, 인출된 어플리케이션을 실행하고, 그 실행 화면을 스트리밍 서비스를 제공하기 위해 필요한 형식으로 변환하기 위한 인코딩을 수행하는 등의 과정을 모두 포함할 수 있다. 이러한 요구 레이턴시는 어플리케이션의 종류에 따라 설정될 수 있다. 즉, 어플리케이션의 종류에 따라 처리되는 스트리밍 데이터의 용량이 많은 경우, 레이턴시는 높게 설정될 수 있고, 그 반대의 경우는 레이턴시가 낮게 설정될 수 있다. 예를 들면, 어플리케이션 1은 동영상 재생기이고, 어플리케이션 2는 문서 편집기라고 가정하면, 어플리케이션 1은 어플리케이션 2에 비해 처리되는 데이터(스트리밍 데이터)의 용량이 많고, 지속적으로 이루어진다. 따라서 어플리케이션 1은 어플리케이션 2 보다 높은 레이턴시가 할당될 수 있다. 또 다른 예로서, 사용자 입력에 따른 반응이 신속하게 이루어져야 하는 게임을 클라우드 스트리밍 기반으로 서비스 하는 경우, 네트워크 변동에 따라서 끊김이 발생하더라도 레이턴시를 최소화하는 것이 바람직하나, 메뉴를 제공하는 UI 화면의 경우 레이턴시를 길게 하더라도 네트워크 변동에 따른 끊김을 최소화하는 것이 바람직하다. 따라서, 게임에 비하여 UI 화면에 대한 요구 레이턴시가 높게 설정될 수 있다. 또한,
사용자 장치(100)는 정보 메시지를 수신하면, 정보 메시지에 기술된 요구 레이턴시에 따라 해당 스트리밍 서비스를 위해 할당되는 버퍼의 용량을 할당한다. 즉, 사용자 장치(100)는 정보 메시지에 기술된 요구 레이턴시에 따라 버퍼의 용량(버퍼링 용량)을 할당한다.
여기서, 상기 요구 레이턴시는 사용자 장치 내에서 클라우드 스트리밍 서비스에 상응하는 스트리밍 데이터를 처리(처리 과정)할 때 발생하는 레이턴시인 내부 처리 레이턴시를 더 고려하여 설정될 수 있다. 여기 처리 과정은 스트리밍 데이터를 수신하고, 수신된 스트리밍 데이터를 출력(혹은 실행)하기 위한 포맷으로 변환 혹은 디코딩하는 과정 등을 말한다. 그리고 요구 레이턴시는 서비스 장치(200)와 사용자 장치(100) 간의 네트워크 상태에 따른 레이턴시인 네트워크 레이턴시를 더 고려하여 설정될 수 있다. 즉, 사용자 장치(100)는 서비스 준비 레이턴시, 내부 처리 레이턴시, 네트워크 레이턴시 등을 고려하여 해당 클라우드 스트리밍 서비스에 대한 버퍼 용량을 할당한다. 이와 같이, 서비스 장치(200)가 기 설정된 요구 레이턴시를 정보 메시지를 통해 사용자 장치(100)에 제공하면, 사용자 장치(100)는 이러한 레이턴시에 따라 버퍼링 용량을 할당한다. 또한, 서비스 장치(200)가 요청된 어플리케이션 또는 서비스의 실행 화면에 대한 스트리밍 데이터를 전송하면, 사용자 장치(100)는 스트리밍 데이터를 수신하되, 할당된 버퍼 용량에 따라 버퍼링을 수행한 후, 버퍼로부터 스트리밍 데이터를 출력하여 해당 스트리밍 데이터를 화면으로 출력 한다.
예를 들어, 사용자 장치(100)는 클라우드 스트리밍 서비스를 지원하는데 있어서, UI 화면의 경우 요구 레이턴시에 따라서 버퍼링 용량을 크게 하여, 레이턴시는 길어질 수 있으나, 네트워크 변동에 따라서 스트리밍 플레이의 끊김이 발생할 확률을 최소화할 수 있으며, 게임 어플리케이션의 경우, 요구 레이턴시를 짧게 설정하여 버퍼링 용량을 줄임으로써, 사용자 레이턴시를 최소화하여 사용자 입력에 따른 실행 화면을 신속하게 제공할 수 있다.
도 2는 본 발명의 실시예에 따른 서비스 장치의 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 서비스 장치는 통신 모듈(210), 저장 모듈(220) 및 제어 모듈(230)을 포함한다.
통신 모듈(210)은 사용자 장치(100)와 네트워크를 통해 데이터를 송수신하도록 구성된다. 특히, 통신 모듈(210)은 사용자 장치(100)에 요청된 어플리케이션 또는 서비스의 실행 화면에 대한 데이터를 스트리밍 방식으로 전송할 수 있다. 즉, 통신 모듈(210)은 스트리밍 데이터를 사용자 장치(100)에 전송한다. 또한, 통신 모듈(210)은 요청 메시지 등을 수신하며, 정보 메시지를 전송하도록 구성된다. 이러한 통신 모듈(110)은 네트워크의 종류 및 네트워크에 적용된 프로토콜에 따라서 데이터를 처리하는 기능을 더 포함할 수 있다.
저장 모듈(220)은 기본적으로 복수의 어플리케이션 및 컨텐츠 등을 저장할 수 있다. 이러한 저장 모듈(140)의 저장 형태는 파일(file) 시스템에 따라 저장 될 수 도 있고, 데이터베이스(database) 시스템에 따라 저장 될 수 도 있다.
제어 모듈(230)은 기본적으로, 요청된 어플리케이션 및/또는 컨텐츠를 실행하고, 그 실행 화면을 스트리밍 방식으로 전송하는 클라우드 스트리밍 서비스를 사용자 장치(100)에 제공하기 위한 것이다.
제어 모듈(230)은 미리 저장 모듈(220)에 저장된 복수의 어플리케이션 각각에 대해 어플리케이션의 특성을 고려하여 요구 레이턴시를 설정한다. 상기 요구 레이턴시는, 서비스 장치(200) 내에서 클라우드 스트리밍 서비스를 처리하기 위한 서비스 준비 레이턴시, 사용자 장치 내에서 클라우드 스트리밍 서비스에 상응하는 스트리밍 데이터를 처리(처리 과정)할 때 발생하는 내부 처리 레이턴시, 서비스 장치(200)와 사용자 장치(100) 간의 네트워크 상태에 따른 네트워크 레이턴시 중 하나 이상을 고려하여 설정될 수 있다.
이때, 제어 모듈(230)은 사용자 장치(100)로부터 통신 모듈(210)을 통해 복수의 어플리케이션 중 어느 하나의 어플리케이션에 대한 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 수신할 수 있다. 이러한 경우, 제어 모듈(230)은 요청 메시지에 대응하여 요청된 어플리케이션에 대한 요구 레이턴시를 나타내는 정보 메시지를 통신 모듈(210)을 통해 사용자 장치(100)로 전송할 수 있다.
요구 레이턴시는 어플리케이션의 종류에 따라 설정될 수 있다. 즉, 어플리케이션의 종류에 따라 처리되는 데이터의 용량이 많은 경우, 레이턴시는 높게 설정될 수 있고, 그 반대의 경우는 레이턴시가 낮게 설정될 수 있다. 또는, 요구 레이턴시는 어플리케이션의 특성(게임 또는 UI 화면 등)에 따라서 설정될 수 있다. 신속한 반응을 요하는 어플리케이션의 경우 레이턴시가 낮게 설정되고, 끊김없이 안정된 서비스가 요구되는 데이터의 경우, 레이턴시가 높게 설정될 수 있다. 또는, 요구 레이턴시는 콘텐츠의 종류에 따라 설정될 수 있다. 즉, 콘텐츠의 종류에 따라 처리되는 스트리밍 데이터의 용량이 많은 경우, 레이턴시는 높게 설정될 수 있고, 그 반대의 경우는 레이턴시가 낮게 설정될 수 있다.
이러한 정보 메시지를 수신한 사용자 장치(100)는 해당 요구 레이턴시에 따라 버퍼를 할당할 것이다. 다음으로, 제어 모듈(230)은 네트워크를 통해 요청 메시지에 상응하는 어플리케이션 또는 서비스를 실행하고, 그 실행 화면을 스트리밍 데이터로 변환한 후, 이 스트리밍 데이터를 통신 모듈(210)을 통해 사용자 장치(100)로 전송함으로써, 클라우드 스트리밍 서비스를 제공한다.
도 3은 본 발명의 실시예에 따른 사용자 장치의 구성을 설명하기 위한 블록도이다.
도 3을 참조하면, 본 발명의 실시예에 따른 사용자 장치(100)는 통신부(110), 표시부(120), 입력부(130), 저장부(140) 및 제어부(150)를 포함한다.
통신부(110)는 기본적으로, 네트워크를 통해 서비스 장치(200)에 접속하여, 서비스 장치(200)와 데이터를 송수신하도록 구성된다. 이와 같이, 송수신되는 데이터는 요청 메시지, 정보 메시지, 스트리밍 데이터 등이다. 특히, 통신부(110)는 제어부(150)의 제어에 따라, 서비스 장치(200)에 어플리케이션 등을 클라우드 스트리밍 방식으로 서비스할 것을 요청하는 요청 메시지를 전송할 수 있고, 요청 메시지에 대응하여 통신부(110)는 서비스 장치(200)로부터 정보 메시지를 수신할 수 있다. 이러한 정보 메시지는 서비스 장치(200) 내에서 클라우드 스트리밍 데이터를 처리하기 위한 “요구 레이턴시”를 나타낸다. 이러한 통신부(110)는 네트워크의 종류 및 네트워크에 적용된 프로토콜에 따라서 데이터를 처리하는 기능을 더 포함할 수 있다.
표시부(120)는 사용자 장치(100)의 사용에 따라 발생되는 정보를 사용자가 시각적으로 인지할 수 있도록 출력하기 위한 수단이다. 표시부(120)가 터치스크린(touch screen)이 될 수 있으며, 이와 같이, 터치스크린 형태로 표시부(120)가 형성된 경우, 표시부(120)는 입력부(130)의 기능 중 일부 또는 전부를 수행할 수 있다.
입력부(130)는 사용자의 명령, 선택, 데이터, 정보 중에서 적어도 하나를 입력 받기 위한 수단으로서, 숫자 또는 문자 정보를 입력 받고 다양한 기능을 설정하기 위한 다수의 입력키 및 기능키를 포함할 수 있다. 그리고 입력부(130)는 사용자의 키 입력을 감지하여, 감지된 키 입력에 따른 입력 신호를 제어부(150)로 전달한다. 입력부(130)는 키보드, 키패드, 마우스, 조이스틱 등과 같은 입력 장치 등을 예시할 수 있다. 특히, 표시부(120)가 터치스크린 형태로 형성된 경우, 입력부(130)의 기능 중 일부 또는 전부는 표시부(120)를 통해 수행될 수 있다.
저장부(140)는 데이터를 저장하기 위한 장치로, 주 기억 장치 및 보조 기억 장치를 포함한다. 이러한 저장부(140)는 운영 체제(OS, Operation System), 어플리케이션 등을 저장할 수 있다. 특히, 저장부(140)는 본 발명의 실시예에 따른 상태 정보를 저장할 수 있다. 그리고 저장부(140)는 사용자 장치(100) 사용에 따라 발생되는 각 종 데이터를 저장할 수 있다. 저장부(140)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다.
제어부(150)는 운영 체제를 실제로 구동시키는 프로세스 장치가 될 수 있다. 예컨대, 제어부(150)는 중앙처리장치(CPU, Central Processing Unit)가 될 수 있다. 제어부(150)는 사용자 장치(100)의 전원이 켜지면, 운영 체제를 저장부(140)의 보조 기억 장치로부터 주 기억 장치로 이동시킨 후, 운영 체제를 구동하는 부팅(booting)을 수행한다.
제어부(150)는 사용자의 요청을 입력부(130)를 통한 감지하는 경우, 본 발명의 실시예에 따라, 특정 어플리케이션 또는 컨텐츠에 대한 클라우드 스트리밍 서비스를 제공하도록 요청하기 위한 요청 메시지를 생성하며, 생성된 요청 메시지를 통신부(110)를 통해 서비스 장치(200)로 전송한다.
요청 메시지에 상응하여, 서비스 장치(200)는 요청된 어플리케이션에 대해 서비스 장치(200) 내에서 클라우드 스트리밍 서비스를 처리하기 위한 레이턴시, 즉, 요구 레이턴시가 기술된 정보 메시지를 전송할 것이다. 그러면, 제어부(150)는 이러한 통신부(110)를 통해 정보 메시지를 수신하고, 수신된 정보 메시지에 기술된 요구 레이턴시에 따라, 버퍼의 용량을 할당한다. 여기서, 버퍼는 도시되지는 않았지만, 스트리밍 데이터가 수신된 후, 실행되어 출력되기 전, 일시 혹은 임시 저장되는 모든 저장 공간을 통칭한다. 이러한 버퍼는 휘발성 메모리를 통해 형성됨이 바람직하다. 또한, 본 발명의 다른 실시 예에 있어서, 제어부(150)는 사용자 장치(100) 내에서 수신되는 스트리밍 데이터를 처리할 때 발생되는 내부 처리 레이턴시를 더 고려하여 버퍼의 용량을 할당할 수 있다. 그리고 제어부(150)는 서비스 장치(200)와 사용자 장치(100) 간의 네트워크 상태에 따른 네트워크 레이턴시를 측정하고, 측정된 네트워크 레이턴시를 더 고려하여 버퍼의 용량을 할당할 수 있다. 제어부(150)는 통신부(110)를 통해 서비스 장치로부터 상기 스트리밍 데이터를 수신하되, 할당된 버퍼의 용량에 따라 버퍼링을 수행한다. 그리고 버퍼로부터 출력되는 스트리밍 데이터를 실행한다.
도 4는 본 발명의 실시예에 따른 클라우드 스트리밍 서비스 제공을 위한 방법을 설명하기 위한 흐름도이다.
도 4를 참조하면, 사용자의 특정 어플리케이션에 대한 클라우드 스트리밍 서비스를 제공할 것을 요청하는 입력이 있으면, 사용자 장치(100)는 S400 단계에서 이를 감지하고, S405 단계에서 해당 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 생성한다. 그런 다음, 사용자 장치(100)는 S410 단계에서 서비스 장치(200)에 생성된 요청 메시지를 전송한다. 이러한 요청 메시지는 특정 어플리케이션에 대한 스트리밍 서비스를 요청하는 것이거나, 특정 어플리케이션에서 실행되는 특정 콘텐츠에 대한 스트리밍 서비스를 요청하는 것이 될 수 있다. 따라서 요청 메시지는 요청되는 어플리케이션을 다른 어플리케이션과 구분하기 위한 어플리케이션 식별자, 혹은 요청되는 콘텐츠를 다른 콘텐츠와 구분하기 위한 콘텐츠 식별자 중 적어도 하나를 포함한다.
요청 메시지를 수신한 서비스 장치(200)는 S415 단계에서 수신된 요청 메시지에 상응하는 정보 메시지를 사용자 장치(100)에 전송한다. 정보 메시지는 요청 메시지에 상응하는 클라우드 스트리밍 서비스를 제공하기 위해 기 설정된 요구 레이턴시가 기술된다. 요구 레이턴시는 어플리케이션의 종류에 따라 설정될 수 있다. 즉, 어플리케이션의 종류에 따라 처리되는 스트리밍 데이터의 용량이 많은 경우, 요구 레이턴시는 높게 설정될 수 있고, 그 반대의 경우는 요구 레이턴시가 낮게 설정될 수 있다. 예를 들면, 어플리케이션 1은 동영상 재생기이고, 어플리케이션 2는 문서 편집기라고 가정하면, 어플리케이션 1은 어플리케이션 2에 비해 처리되는 데이터(스트리밍 데이터)의 용량이 많고, 지속적으로 이루어진다. 따라서 어플리케이션 1은 어플리케이션 2 보다 높은 레이턴시가 할당될 수 있다. 또는, 요구 레이턴시는 클라우드 스트리밍 서비스되는 어플리케이션 또는 서비스의 특성에 따라서 달리 설정될 수 있다. 즉, 사용자 입력에 따른 신속한 결과 제공이 요구되는 게임 어플리케이션의 경우 요구 레이턴시는 UI 화면의 요구 레이턴시보다 낮게 할당될 수 있다. 또는, 요구 레이턴시는 콘텐츠의 종류에 따라 설정될 수 있다. 즉, 콘텐츠의 종류에 따라 처리되는 스트리밍 데이터의 용량이 많은 경우, 레이턴시는 높게 설정될 수 있고, 그 반대의 경우는 레이턴시가 낮게 설정될 수 있다. 예를 들면, 어플리케이션이 동영상 재생기이고, 동영상 재생기에서 재생되는 콘텐츠 1과 콘텐츠 2가 있다고 가정할 때, 콘텐츠 1이 콘텐츠 2 보다 코딩 레이트 혹은 데이터의 양이 높다면, 콘텐츠 1의 레이턴시는 콘텐츠 2의 레이턴시 보다 높게 설정될 것이다.
상기 요구 레이턴시는 서비스 장치(100)측에서의 처리를 위해 필요한 서비스 준비 레이턴시를 고려하여 설정될 수 있다. 또한 사용자 장치 내에서 클라우드 스트리밍 서비스에 상응하는 스트리밍 데이터를 처리할 때 발생하는 내부 처리 레이턴시, 및 서비스 장치(200)와 사용자 장치(100) 간의 네트워크 상태에 따른 네트워크 레이턴시를 더 고려하여 설정될 수 도 있다.
정보 메시지를 수신한 사용자 장치(100)는 S420 단계에서 수신된 정보 메시지에 기술된 레이턴시에 따라 해당 클라우드 스트리밍 서비스를 위해 할당되는 버퍼의 용량을 할당한다. 즉, 사용자 장치(100)는 정보 메시지에 기술된 요구 레이턴시에 따라 버퍼의 용량을 할당한다. 본 발명의 다른 실시 예에 있어서, S420 단계에서 사용자 장치(100)는 사용자 장치 내에서 클라우드 스트리밍 서비스에 상응하는 스트리밍 데이터를 처리할 때 발생하는 레이턴시인 내부 처리 레이턴시를 더 고려하여 버퍼의 용량을 할당할 수 있다. 또한, S420 단계에서 사용자 장치(100)는 서비스 장치(200)와 사용자 장치(100) 간의 네트워크 상태에 따른 레이턴시인 네트워크 레이턴시를 측정하고, 측정된 네트워크 레이턴시를 더 고려하여 버퍼의 용량을 할당할 수 있다. 즉, 사용자 장치(100)는 레이턴시(서비스 준비 레이턴시, 내부 처리 레이턴시, 네트워크 레이턴시)가 높을수록, 버퍼의 용량을 크게 한다.
한편, 정보 메시지를 전송 한 후, 서비스 장치(200)는 S425 단계에서 요청 메시지를 참조하여 어플리케이션 및 콘텐츠를 추출한다. 즉, 서비스 장치(200)는 요청 메시지의 어플리케이션 식별자 및 콘텐츠 식별자에 상응하는 어플리케이션 및 콘텐츠를 추출한다.
그런 다음, 서비스 장치(200)는 S430 앞서 추출된 어플리케이션 및 콘텐츠의 실행 화면을 스트리밍 방식으로 제공하는 클라우드 스트리밍 서비스를 사용자 장치(100)에 제공한다. 즉, S430 단계에서 서비스 장치(200)는 추출된 어플리케이션 및 콘텐츠를 실행하거나 재생한 후, 그 결과 화면을 스트리밍 데이터로 변환하고, 변환된 스트리밍 데이터를 사용자 장치(100)에 전송한다.
사용자 장치(100)는 상기 스트리밍 서비스에 상응하는 스트리밍 데이터를 수신하되, S435 단계에서 앞서 할당된 버퍼의 용량에 따라 수신되는 스트리밍 데이터에 대한 버퍼링을 수행하며, S440 단계에서 버퍼링된 스트리밍 데이터를 디코딩하여 실행시킨다.
도 5는 본 발명의 실시예에 따른 서비스 장치의 클라우드 스트리밍 서비스 제공을 위한 방법을 설명하기 위한 흐름도이다.
도 5를 참조하면, 사용자의 요청에 의해 사용자 장치(100)는 특정 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 전송할 수 있다.
제어 모듈(230)은 S510 단계에서 통신 모듈(210)을 통해 요청 메시지를 수신할 수 있다. 이러한 요청 메시지는 특정 어플리케이션에 대한 클라우드 스트리밍 서비스를 요청하기 위해 요청하는 어플리케이션을 다른 어플리케이션과 구분하기 위한 어플리케이션 식별자, 혹은 특정 어플리케이션에서 실행되는 특정 콘텐츠에 대한 스트리밍 서비스를 요청하기 위해 요청되는 콘텐츠를 다른 콘텐츠와 구분하기 위한 콘텐츠 식별자 중 적어도 하나를 포함한다.
제어 모듈(230)은 S515 단계에서 앞서 수신된 요청 메시지에 상응하는 정보 메시지를 통신 모듈(210)을 통해 사용자 장치(100)에 전송한다. 정보 메시지는 요청 메시지에 상응하는 스트리밍 서비스를 제공하기 기 설정된 요구 레이턴시가 기술된다. 요구 레이턴시는 어플리케이션의 종류에 따라 설정될 수 있다. 즉, 어플리케이션의 종류에 따라 처리되는 스트리밍 데이터의 용량이 많은 경우, 레이턴시는 높게 설정될 수 있고, 그 반대의 경우는 레이턴시가 낮게 설정될 수 있다. 예를 들면, 어플리케이션 1은 동영상 재생기이고, 어플리케이션 2는 문서 편집기라고 가정하면, 어플리케이션 1은 어플리케이션 2에 비해 처리되는 데이터(스트리밍 데이터)의 용량이 많고, 지속적으로 이루어진다. 따라서 어플리케이션 1은 어플리케이션 2 보다 높은 레이턴시가 할당될 수 있다. 또한, 게임 어플리케이션의 경우 UI 화면에 비하여 낮은 레이턴시가 할당될 수 있다.
정보 메시지를 수신한 사용자 장치(100)는 수신된 정보 메시지에 기술된 레이턴시에 따라 해당 클라우드 스트리밍 서비스를 위해 할당되는 버퍼의 용량을 할당할 것이다. 즉, 사용자 장치(100)는 레이턴시가 높을수록, 버퍼의 용량을 크게 설정할 것이다.
정보 메시지를 전송 한 후, 제어 모듈(230)은 S520 단계에서 저장 모듈(220)에서 앞서 수신된 요청 메시지를 참조하여 요청되는 어플리케이션 또는 콘텐츠를 추출한다. 즉, 서비스 장치(200)는 요청 메시지의 어플리케이션 식별자 또는 콘텐츠 식별자에 상응하는 어플리케이션 또는 콘텐츠를 추출한다.
그런 다음, 제어 모듈(230)은 S525 단계에서 앞서 추출된 어플리케이션를 실행하거나 또는 콘텐츠를 재생한 후 그 결과 화면을 스트리밍 데이터로 변환한다. 예컨대, 이러한 스트리밍 데이터는 실시간 스트리밍 프로토콜(Real Time Streaming Protocol, RTSP)의 형식이 될 수 있지만, 이에 한정되는 것은 아니고, 어플리케이션, 콘텐츠 등을 실시간으로 전송할 수 있는 형식이라면 어떤 것이라도 가능하다.
다음으로, S530 단계에서 제어 모듈(230)은 변환된 스트리밍 데이터를 통신 모듈(210)을 통해 사용자 장치(100)로 전송한다. 이러한 전송에 따라 사용자 장치(100)는 요청된 스트리밍 서비스에 상응하는 스트리밍 데이터를 수신할 것이며, 레이턴시에 따라 할당된 버퍼의 용량에 따라 수신되는 스트리밍 데이터에 대한 버퍼링을 수행하며, 버퍼링된 스트리밍 데이터를 디코딩하여 실행시킬 것이다.
도 6은 본 발명의 실시예에 따른 사용자 장치의 클라우드 스트리밍 서비스 제공을 위한 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 사용자는 입력부(130)를 통해 특정 클라우드 스트리밍 서비스를 제공할 것을 요청하는 입력을 할 수 있다. 그러면, 제어부(150)는 S610 단계에서 입력부(130)를 통해 이러한 요청을 감지할 수 있다. 이러한 요청을 감지하면, 제어부(150)는 S615 단계에서 해당 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 생성한다. 여기서, 요청 메시지는 특정 어플리케이션에 대한 클라우드 스트리밍 서비스를 요청하는 것이거나, 특정 어플리케이션에서 실행되는 특정 콘텐츠에 대한 클라우드 스트리밍 서비스를 요청하는 것이 될 수 있다. 이에 따라, 요청 메시지는 요청되는 어플리케이션을 다른 어플리케이션과 구분하기 위한 어플리케이션 식별자, 혹은 요청되는 콘텐츠를 다른 콘텐츠와 구분하기 위한 콘텐츠 식별자 중 적어도 하나를 포함한다.
그런 다음, 제어부(150)는 S620 단계에서 서비스 장치(200)에 생성된 요청 메시지를 통신부(110)를 통해 전송한다. 요청 메시지를 수신한 서비스 장치(200)는 수신된 요청 메시지에 상응하는 정보 메시지를 사용자 장치(100)에 전송할 것이다. 정보 메시지는 요구 레이턴시가 기술되며, 요구 레이턴시는 어플리케이션의 종류 또는 특성에 따라 설정되거나, 콘텐츠의 종류에 따라 설정될 수 있다.
이에 따라, 제어부(150)는 S625 단계에서 정보 메시지를 수신한다. 그런 다음, 제어부(150)는 S630 단계에서 수신된 정보 메시지에 기술된 레이턴시에 따라 해당 클라우드 스트리밍 서비스를 위해 할당되는 버퍼의 용량을 할당한다. 즉, 제어부(150)는 정보 메시지에 기술된 요구 레이턴시에 따라 버퍼의 용량을 할당한다. 버퍼의 용량을 할 때, 제어부(150)는 사용자 장치(100) 내에서 클라우드 스트리밍 서비스에 상응하는 스트리밍 데이터를 처리할 때 발생하는 레이턴시인 내부 처리 레이턴시를 더 고려하여 버퍼의 용량을 할당할 수 있다. 또한, 제어부(150)는 버퍼의 용량을 할당 할 때, 서비스 장치(200)와 사용자 장치(100) 간의 네트워크 상태에 따른 레이턴시인 네트워크 레이턴시를 측정하고, 측정된 네트워크 레이턴시를 더 고려하여 버퍼의 용량을 할당할 수 있다. 이를 위하여, 제어부(150)는 서비스 장치(100)에 테스트 메시지를 전송하고, 전송된 테스트 메시지에 대한 회신에 걸리는 시간을 산출하여 네트워크 레이턴시를 도출할 수 있다. 상술한 바와 같이, 제어부(150)는 서비스 준비 레이턴시, 내부 처리 레이턴시 및 네트워크 레이턴시 등을 고려하여 버퍼의 용량을 할당할 수 있다. 이때, 제어부(150)는 레이턴시가 높을수록, 버퍼의 용량을 크게 할당한다.
한편, 서비스 장치(200)는 정보 메시지를 전송한 후, 요청 메시지에 상응하는 클라우드 스트리밍 서비스를 제공하기 위해 해당 어플리케이션의 실행 화면 또는 콘텐츠의 재생 화면에 대한 스트리밍 데이터를 전송할 수 있다. 그러면, 제어부(150)는 S635 단계에서 통신부(110)를 통해 스트리밍 데이터를 수신하고, S640 단계에서 앞서 할당된 버퍼의 용량에 따라 스트리밍 데이터를 버퍼링하며, S645 단계에서 버퍼링된 스트리밍 데이터를 디코딩하여 화면으로 출력시킨다.
종래에는 클라우드 스트리밍 서비스는 서비스 대상 각각에 대해 일률적으로 버퍼의 용량을 동일하게 할당하였다. 이는 어플리케이션 또는 콘텐츠에 따라 버퍼의 용량이 부족하거나, 남는 경우가 발생할 수 있다. 또한 어플리케이션 또는 컨텐츠의 특성에 따라서 서비스 품질을 달라질 수 있다. 하지만, 상술한 바와 같은 본 발명에 따르면, 어플리케이션의 종류 및 어플리케이션에서 실행되는 콘텐츠에 따라 레이턴시를 설정하고, 설정된 레이턴시에 따라 버퍼의 용량을 조절하여 클라우드 스트리밍 서비스를 제공한다. 따라서 버퍼의 용량을 효율적으로 활용하면서, 서비스 품질을 최적화할 수 있는 이점이 있다.
본 발명에 따른 클라우드 스트리밍 서비스 제공을 위한 방법은, 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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), 플래시 메모리, SSD(Solid State Disk), HDD(Hard Disk Drive) 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
본 발명은 클라우드 스트리밍 서비스 제공을 위한 장치 및 이를 위한 방법에 관한 것으로, 사용자 장치는 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 서비스 장치로 전송하고, 이에 따라, 사용자 장치가 서비스 장치로부터 상기 요청된 클라우드 스트리밍 서비스를 제공하기 위해 기 설정된 요구 레이턴시를 나타내는 정보 메시지를 수신한다. 이에 따라, 사용자 장치는 요구 레이턴시에 의거하여 요청된 스트리밍 서비스를 위한 버퍼의 용량을 할당한다. 또한, 사용자 장치는 서비스 장치로부터 요청한 어플리케이션 또는 서비스의 실행 화면에 상응하는 스트리밍 데이터를 수신하되, 할당된 버퍼의 용량에 따라 수신되는 스트리밍 데이터에 대한 버퍼링을 수행한다. 이와 같이 본 발명은 어플리케이션의 종류 및 어플리케이션에서 실행되는 콘텐츠에 따라 레이턴시를 설정하고, 설정된 레이턴시에 따라 버퍼의 용량을 조절하여 스트리밍 서비스를 제공한다. 따라서 스트리밍 서비스 각각에 대해 일률적으로 버퍼의 용량을 동일하게 할당되는 것에 비해, 버퍼의 용량을 효율적으로 활용하면서, 클라우드 서비스 품질을 최적화할 수 있는 이점이 있다. 이는 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100: 사용자 장치 110: 통신부
120: 표시부 130: 입력부
140: 저장부 150: 제어부
200: 서비스 장치 210: 통신 모듈
220: 저장 모듈 230: 제어 모듈

Claims (10)

  1. 특정 어플리케이션 또는 서비스를 실행하여 그 실행 결과를 스트리밍 방식으로 실시간 전송하는 클라우드 스트리밍 서비스를 제공하는 서비스 장치와 통신하기 위한 통신부; 및
    상기 통신부와 연동하여, 특정 어플리케이션 또는 서비스에 대한 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 상기 서비스 장치로 전송한 후, 상기 서비스 장치로부터 요청된 어플리케이션 또는 서비스에 대하여 기 설정된 요구 레이턴시를 포함하는 정보 메시지를 수신하고, 수신한 요구 레이턴시에 따라 상기 클라우드 스트리밍 서비스를 위한 버퍼의 용량을 할당하는 제어부;를 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공을 위한 사용자 장치.
  2. 제1항에 있어서,
    상기 제어부는
    상기 통신부를 통해 상기 서비스 장치로부터 상기 특정 어플리케이션 또는 서비스의 실행 화면에 대한 스트리밍 데이터를 수신하되, 상기 할당된 버퍼의 용량에 따라 수신되는 스트리밍 데이터에 대한 버퍼링을 수행하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공을 위한 사용자 장치.
  3. 제1항에 있어서,
    상기 요구 레이턴시는
    상기 서비스 장치에 의해서 발생되는 서비스 준비 레이턴시 및 사용자 장치 내에서 상기 클라우드 스트리밍 서비스에 상응하는 스트리밍 데이터를 처리할 때 발생하는 내부 처리 레이턴시 중 하나 이상을 고려하여 설정되는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공을 위한 사용자 장치.
  4. 제3항에 있어서,
    상기 요구 레이턴시는
    서비스 장치와 사용자 장치 간을 연결하는 네트워크 상태에 따른 네트워크 레이턴시를 더 고려하여 설정되는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공을 위한 사용자 장치.
  5. 제1항에 있어서,
    상기 요구 레이턴시는
    상기 클라우드 스트리밍 서비스로 제공되는 어플리케이션 또는 서비스의 종류에 따라 설정되는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공을 위한 사용자 장치.
  6. 사용자 장치와 통신하기 위한 통신 모듈; 및
    상기 통신 모듈과 연동하여, 상기 사용자 장치로부터 특정 어플리케이션 또는 서비스에 대한 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 수신하면, 상기 어플리케이션 또는 서비스에 대하여 기 설정된 요구 레이턴시를 포함하는 정보 메시지를 상기 사용자 장치로 전송한 후, 상기 어플리케이션 혹은 서비스의 실행하고, 그 실행 결과를 스트리밍 방식으로 전송하는 제어 모듈;
    을 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공을 위한 서비스 장치.
  7. 제6항에 있어서,
    상기 요구 레이턴시는
    상기 클라우드 스트리밍 서비스가 제공되는 어플리케이션의 종류에 따라 설정되는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공을 위한 서비스 장치.
  8. 특정 어플리케이션 또는 서비스에 대한 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 서비스 장치로 전송하는 단계;
    상기 요청 메시지에 대응하여 상기 서비스 장치로부터 상기 어플리케이션 또는 서비스에 대하여 기 설정된 요구 레이턴시를 포함하는 정보 메시지를 수신하는 단계; 및
    상기 요구 레이턴시에 따라 상기 요청된 클라우드 스트리밍 서비스를 위한 버퍼의 용량을 할당하는 단계;를 포함하는 것을 특징으로 하는 사용자 장치의 클라우드 스트리밍 서비스 제공을 위한 방법.
  9. 특정 어플리케이션 또는 서비스에 대한 클라우드 스트리밍 서비스를 요청하는 요청 메시지를 사용자 장치로부터 수신하는 단계;
    상기 어플리케이션 또는 서비스에 대하여 기 설정된 요구 레이턴시를 포함하는 정보 메시지를 상기 사용자 장치로 전송하는 단계; 및
    요청된 특정 어플리케이션 또는 서비스를 실행하고, 그 실행 결과에 대한 스트리밍 서비스를 상기 사용자 장치로 제공하는 단계;를 포함하는 것을 특징으로 하는 서비스 장치의 클라우드 스트리밍 서비스 제공을 위한 방법.
  10. 제8항 또는 제9항에 기재된 클라우드 스트리밍 서비스 제공을 위한 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
KR1020130016196A 2013-02-15 2013-02-15 클라우드 스트리밍 서비스 제공을 위한 장치 및 이를 위한 방법 KR101428472B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130016196A KR101428472B1 (ko) 2013-02-15 2013-02-15 클라우드 스트리밍 서비스 제공을 위한 장치 및 이를 위한 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130016196A KR101428472B1 (ko) 2013-02-15 2013-02-15 클라우드 스트리밍 서비스 제공을 위한 장치 및 이를 위한 방법

Publications (1)

Publication Number Publication Date
KR101428472B1 true KR101428472B1 (ko) 2014-08-08

Family

ID=51749990

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130016196A KR101428472B1 (ko) 2013-02-15 2013-02-15 클라우드 스트리밍 서비스 제공을 위한 장치 및 이를 위한 방법

Country Status (1)

Country Link
KR (1) KR101428472B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160084214A (ko) * 2015-01-05 2016-07-13 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 선택적 스트리밍 파이프라인 방식에 기반한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
WO2023182615A1 (ko) * 2022-03-22 2023-09-28 에스케이텔레콤 주식회사 비디오 프레임과 오디오 프레임 간의 동기화를 위한 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040084845A (ko) * 2003-03-26 2004-10-06 마이크로소프트 코포레이션 스트림을 위한 메시지 처리 파이프라인
KR20060035934A (ko) * 2004-10-21 2006-04-27 주식회사 팬택 스트리밍 서비스 제공 방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040084845A (ko) * 2003-03-26 2004-10-06 마이크로소프트 코포레이션 스트림을 위한 메시지 처리 파이프라인
KR20060035934A (ko) * 2004-10-21 2006-04-27 주식회사 팬택 스트리밍 서비스 제공 방법 및 그 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160084214A (ko) * 2015-01-05 2016-07-13 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 선택적 스트리밍 파이프라인 방식에 기반한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102247888B1 (ko) * 2015-01-05 2021-05-04 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 선택적 스트리밍 파이프라인 방식에 기반한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
WO2023182615A1 (ko) * 2022-03-22 2023-09-28 에스케이텔레콤 주식회사 비디오 프레임과 오디오 프레임 간의 동기화를 위한 방법 및 장치

Similar Documents

Publication Publication Date Title
EP3255889B1 (en) System and method for testing and certification of media devices for use within a connected media environment
US10051013B2 (en) Method and apparatus for streaming multimedia content of server by using cache
KR101417242B1 (ko) 세션 이동을 갖는 개인 클라우드 컴퓨팅
US10152964B2 (en) Audio output of a document from mobile device
EP3840307B1 (en) System and method for use of a media content bot in a social messaging environment
US8788544B2 (en) Method and apparatus for managing data
US20190069006A1 (en) Seeking in live-transcoded videos
KR20110040604A (ko) 클라우드 서버, 클라이언트 단말, 디바이스, 클라우드 서버의 동작 방법 및 클라이언트 단말의 동작 방법
KR20060132756A (ko) 백그라운드 트랜스코딩
EP3041241B1 (en) Method and apparatus for playing multimedia resource
KR101420638B1 (ko) 스트리밍 서비스에서 콘텐츠 제공을 위한 장치 및 이를 위한 방법
US20140223500A1 (en) Method and system for transmitting wirelessly video in portable terminal
KR101428472B1 (ko) 클라우드 스트리밍 서비스 제공을 위한 장치 및 이를 위한 방법
KR101531284B1 (ko) 클라우드 스트리밍 서비스를 제공하기 위한 장치, 이를 위한 방법 및 이를 위한 시스템
KR101543295B1 (ko) 클라우드 스트리밍 서비스를 위한 어플리케이션 에러 검출 방법, 이를 위한 장치 및 시스템
US9762704B2 (en) Service based media player
KR101703963B1 (ko) 캐시 서버를 이용한 멀티미디어 서비스를 제공하는 방법 및 시스템
KR102079339B1 (ko) 클라우드 시스템상의 컨텐츠를 디엘엔에이로 연결된 디바이스로 전달하는 전자 장치 및 방법
WO2019089700A1 (en) Automated playback and redistribution of internet streaming content with automatic retrieval of user credentials
KR102399661B1 (ko) 원격 접속을 위한 장치 및 방법
KR102199276B1 (ko) 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법 및 이를 위한 장치
KR101072475B1 (ko) 외부 컨텐츠 서버에 저장된 컨텐츠 스트리밍 방법 및 그 장치
KR20140076836A (ko) 스트리밍 서비스에서 데이터 저장을 위한 장치 및 이를 위한 방법
KR101358814B1 (ko) 외부단말의 재생능력에 기반한 미디어파일 변환 시스템 및 변환 방법
JP2012014542A (ja) 情報システム、コアサーバ、サービス提供方法、およびプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180711

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 6