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

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

Info

Publication number
KR20180055342A
KR20180055342A KR1020160153107A KR20160153107A KR20180055342A KR 20180055342 A KR20180055342 A KR 20180055342A KR 1020160153107 A KR1020160153107 A KR 1020160153107A KR 20160153107 A KR20160153107 A KR 20160153107A KR 20180055342 A KR20180055342 A KR 20180055342A
Authority
KR
South Korea
Prior art keywords
application
final state
input information
execution result
terminal
Prior art date
Application number
KR1020160153107A
Other languages
English (en)
Other versions
KR102004970B1 (ko
Inventor
김동국
Original Assignee
에스케이테크엑스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이테크엑스 주식회사 filed Critical 에스케이테크엑스 주식회사
Priority to KR1020160153107A priority Critical patent/KR102004970B1/ko
Priority to US15/812,429 priority patent/US10560501B2/en
Priority to JP2017220565A priority patent/JP6517307B2/ja
Priority to CN201711135416.4A priority patent/CN108076139B/zh
Priority to EP17202223.8A priority patent/EP3324292B1/en
Publication of KR20180055342A publication Critical patent/KR20180055342A/ko
Application granted granted Critical
Publication of KR102004970B1 publication Critical patent/KR102004970B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/601
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치에 관한 것으로, 클라우드 스트리밍 서버는 접속된 각 단말마다 브라우저를 할당하는 것이 아니라, 단말로부터 입력이 있는 경우에만 브라우저를 할당하여 그에 해당하는 실행 결과를 단말로 스트리밍하고, 동일한 입력에 대한 실행 결과는 클라우드 스트리밍 서버에 저장해둠으로써, 서버 자원을 효율적으로 관리하고, 동시에 실행할 수 있는 브라우저 수보다 더 많은 단말을 지원할 수 있도록 한다.

Description

클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치 {METHOD AND APPARATUS FOR CLOUD STREAMING SERVICE}
본 발명은 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치에 관한 것으로, 클라우드 스트리밍 서비스 제공 시, 단말의 입력 단위로 상기 입력을 실행할 어플리케이션을 할당함으로써 클라우드 스트리밍 서버의 자원을 효율적으로 관리하고 동시에 서비스할 수 있는 단말의 세션 수를 증가시킬 수 있는 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
컴퓨터 네트워크 기술의 발전에 따라, 각 단말기의 독립적인 하드웨어 성능에 의존하던 기존의 컴퓨팅 환경은 네트워크 상의 모든 컴퓨팅 자원을 활용하여 단말의 요청에 따라 해당 서비스를 제공하는 클라우드 컴퓨팅 형태로 진화하고 있다.
클라우드 컴퓨팅이란, 인터넷과 같은 정보 통신망을 통한 '컴퓨팅 자원의 온 디맨드 아웃소싱 서비스' 라고 정의할 수 있다. 클라우드 컴퓨팅 환경에서, 서비스 제공자는 여러 곳에 분산되어 있는 데이터 센터를 가상화 기술로 통합하여 사용자들에게 필요로 하는 서비스를 제공한다. 서비스 사용자는 컴퓨팅 자원을 각 사용자 소유의 단말에 설치하여 사용하는 것이 아니라, 가상화 기술을 통해 생성된 가상 공간 상의 서비스를 원하는 시점에 원하는 만큼 골라서 사용한다.
이러한 클라우드 컴퓨팅에 따르면, 사용자는 네트워크 접속과 기본적인 연산 기능만을 수행하는 단말기를 통해 클라우드 망에 접속하여 대용량의 저장 장치와 고성능 컴퓨팅 리소스가 필요한 작업들을 수행하고, 다양한 서비스를 제공받을 수 있다.
클라우드 스트리밍 서비스는 이러한 클라우드 컴퓨팅 환경을 기반으로 한 스트리밍 서비스로서, 서버 자원을 활용하여 컨텐츠를 서버 측에서 실행한 후, 그 실행화면을 캡처 및 인코딩하여 단말로 전송하고, 단말 측에서는 이를 디코딩하여 디스플레이함으로써, 단말 사양에 관계 없이 고성능 컴퓨팅 리소스가 요구되는 컨텐츠를 사용자가 이용할 수 있도록 하는 것이다.
도 1은 클라우드 컴퓨팅 기반의 웹 브라우징 서비스를 제공하는 클라우드 스트리밍 시스템에서 종래의 브라우저의 할당 구조를 도시한 도면이다.
도 1을 참조하면, 종래의 클라우드 스트리밍 시스템에서는 각 단말 별로 하나의 브라우저를 할당한다.
각 브라우저는 각 단말의 현재 화면을 표시하고 있으며, 단말로부터 입력이 들어오면 할당된 브라우저에 전달되어 변경된 화면을 렌더링, 캡처, 인코딩한 후 각 단말에 전송한다.
이러한 기존 방식의 경우, 각 단말의 사용자들이 현재 보고 있는 화면이 같더라도, 각 사용자마다 별도의 브라우저가 할당되기 때문에, 클라우드 스트리밍 시스템에서 지원할 수 있는 최대 접속자 수는 동시에 실행할 수 있는 브라우저 수로 제한이 되게 되고, 각 단말로부터 동일한 입력이 들어오더라도 해당 입력에 대한 출력 화면을 렌더링, 캡처, 인코딩을 항상 수행하게 되므로 서버 자원의 소비가 증가하는 문제점이 있다.
한국공개특허 제10-2012-0111598호, 2012년 10월 10일 공개 (명칭: 웹 환경에서 캐싱 효율을 높인 서버, 단말기 및 그 방법)
본 발명의 목적은 상기한 종래의 문제점을 해결하기 위한 것으로, 클라우드 스트리밍 서버에서 접속된 단말 단위로 해당 단말의 입력을 실행할 어플리케이션을 할당하는 것이 아닌, 단말의 입력 단위로 상기 단말의 입력을 실행할 어플리케이션을 할당하여 그에 해당하는 실행 결과를 단말로 스트리밍하도록 함으로써, 동시에 실행할 수 있는 브라우저 수 보다 더 많은 단말을 지원하고자 한다.
또한, 본 발명의 목적은 동일한 입력에 대한 실행 결과는 클라우드 스트리밍 서버에 저장해둠으로써, 반복적으로 렌더링, 캡처 및 인코딩의 절차가 발생하지 않도록 하여 서버 자원을 효율적으로 관리하고자 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 스트리밍 서버는 단말로부터 입력 정보가 적용될 어플리케이션의 최종 상태 정보 및 상기 입력 정보를 수신하고, 어플리케이션을 할당하여 수신한 최종 상태 정보를 상기 어플리케이션에 적용하여 상기 어플리케이션을 대응하는 최종 상태로 변환한 후, 상기 최종 상태에서 상기 입력 정보를 적용하여 상기 어플리케이션을 실행하고, 실행 결과가 상기 단말로 전송되도록 제어하는 제어부를 포함할 수 있다.
이때, 상기 실행 결과를 최종 상태 정보 및 입력 정보와의 조합으로 매핑하여 저장하는 저장부;를 더 포함할 수 있고, 상기 제어부는 상기 어플리케이션 할당 전에, 상기 수신한 최종 상태 정보 및 입력 정보와 매핑된 실행 결과가 상기 저장부에 저장되어 있는지를 판단하고, 저장되어 있지 않은 경우, 상기 어플리케이션을 할당하고 상기 수신한 최종 상태 정보 및 입력 정보를 적용하여 상기 어플리케이션을 실행하여 그 실행 결과를 상기 저장부에 저장 및 상기 단말로 전송하도록 제어하고, 저장되어 있는 경우, 상기 저장된 실행 결과를 상기 단말로 전송하도록 제어할 수 있다.
이때, 상기 제어부의 제어에 따라서, 상기 실행 결과가 저장되어 있지 않은 경우, 상기 최종 상태에 상기 입력 정보를 반영하여 상기 어플리케이션을 실행하고, 그 실행 결과를 렌더링, 캡처 및 인코딩하는 화면 생성부; 및 상기 제어부의 제어에 따라서, 상기 저장부에 저장된 실행 결과 또는 상기 화면 생성부에서 인코딩된 실행 결과를 상기 단말로 스트리밍 전송하는 전송부를 더 포함할 수 있다.
이때, 상기 어플리케이션은, 웹 문서를 로딩하여 실행하는 응용 프로그램일 수 있다.
또한, 상기 제어부는, 하나 이상의 어플리케이션에 대하여 하나 이상의 단말로부터 수신되는 상기 최종 상태 정보 및 입력 정보를 순차적으로 할당할 수 있다.
또한, 상기 제어부는, 상기 최종 상태 정보를 기준으로 하나 이상의 어플리케이션 중 상기 최종 상태 정보 및 입력 정보를 실행할 어플리케이션을 할당할 수 있다.
또한, 상기 제어부는, 어플리케이션 별로 복수의 단말을 할당하고, 복수의 단말로부터 수신되는 상기 최종 상태 정보 및 입력 정보를 순차적으로 상기 어플리케이션에 적용하여 실행할 수 있다.
한편, 상기 최종 상태 정보는 웹 문서의 URL(Uniform Resource Locater) 정보이고, 상기 입력 정보는 상기 웹 문서에서 선택된 키 값일 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법은 클라우드 스트리밍 서버가, 단말로부터 입력 정보가 적용될 어플리케이션의 최종 상태 정보 및 상기 입력 정보를 수신하는 단계; 상기 최종 상태 정보 및 입력 정보를 실행할 어플리케이션을 할당하는 단계; 상기 최종 상태 정보를 상기 어플리케이션에 적용하여 상기 어플리케이션을 대응하는 최종 상태로 변환하고, 상기 최종 상태에서 상기 입력 정보를 적용하여 상기 어플리케이션을 실행하는 단계; 및 상기 어플리케이션을 실행한 실행 결과를 상기 단말로 스트리밍 전송하는 단계를 포함할 수 있다.
이때, 상기 어플리케이션 별 실행 결과를 최종 상태 정보 및 입력 정보와의 조합으로 매핑하여 저장하는 단계 더 포함할 수 있다.
이때, 상기 어플리케이션을 할당하기 전에, 상기 수신한 최종 상태 정보 및 입력 정보와 매핑된 실행 결과가 저장되어 있는지를 판단하는 단계를 더 포함하여, 상기 수신한 최종 상태 정보 및 입력 정보와 매핑된 실행 결과가 저장되어 있지 않은 경우 상기 어플리케이션을 할당하도록 할 수 있다.
이때, 상기 매핑된 실행 결과가 저장되어 있지 않은 경우에, 상기 어플리케이션을 실행한 실행 결과를 저장한 후, 상기 단말로 스트리밍 전송하고, 상기 매핑된 실행 결과가 저장되어 있는 경우에, 상기 저장된 실행 결과를 상기 단말로 스트리밍 전송할 수 있다.
이때, 상기 할당하는 단계는, 하나 이상의 어플리케이션에 대하여 하나 이상의 단말로부터 수신되는 상기 최종 상태 정보 및 입력 정보를 순차적으로 할당할 수 있다.
이때, 상기 할당하는 단계는, 상기 최종 상태 정보를 기준으로 하나 이상의 어플리케이션 중 상기 최종 상태 정보 및 입력 정보를 실행할 어플리케이션을 할당할 수 있다.
이때, 상기 할당하는 단계는, 복수의 단말로부터 수신되는 최종 상태 정보 및 입력 정보를 순차적으로 적용하여 실행할 수 있도록 임의의 어플리케이션을 할당할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 컴퓨터에서 판독 가능한 기록 매체는 클라우드 스트리밍 서비스 제공 방법을 실행시키는 컴퓨터 프로그램이 기록되어 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 시스템은 단말로부터 최종 상태 정보 및 입력 정보를 수신하고, 어플리케이션을 할당하여 수신한 최종 상태 정보를 상기 어플리케이션에 적용하여 상기 어플리케이션을 대응하는 최종 상태로 변환한 후, 상기 최종 상태에서 상기 입력 정보를 적용하여 상기 어플리케이션을 실행하고, 그 실행 결과를 상기 단말로 스트리밍 전송하는 클라우드 스트리밍 서버; 및 상기 클라우드 스트리밍 서버로 입력 정보 및 상기 입력 정보가 적용될 어플리케이션의 최종 상태 정보를 전송하고, 상기 클라우드 스트리밍 서버로부터 상기 최종 상태 정보 및 입력 정보에 따른 실행 결과를 수신하여 표시하는 단말을 포함할 수 있다.
본 발명에 따르면, 웹 브라우징 서비스를 제공하는 클라우드 스트리밍 서비스에 있어서, 단말로부터 입력이 있는 경우에만 브라우저를 할당하므로, 동시에 지원할 수 있는 단말의 세션 수가 증가하고, 동일한 입력에 대한 실행 결과는 클라우드 스트리밍 서버에 저장해둠으로써, 반복적으로 렌더링, 캡처 및 인코딩의 절차가 수행되지 않으므로 서버 자원을 효율적으로 관리할 수 있다.
도 1은 클라우드 컴퓨팅 기반의 웹 브라우징 서비스를 제공하는 클라우드 스트리밍 시스템에서 종래의 브라우저의 할당 구조를 도시한 도면이다.
도 2는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 시스템을 도시한 도면이다.
도 3은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 제공하기 위한 클라우드 스트리밍 서버의 구성을 도시한 도면이다.
도 4는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 과정을 도시한 순서도이다.
도 5는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 과정을 더 구체적으로 도시한 순서도이다.
도 6은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 과정에 대한 구체적인 예시를 도시한 메시지 흐름도이다.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원 시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 발명에 따른 클라우드 스트리밍 서비스 시스템은 SaaS(Software as a Service)를 제공하는 것으로서, 하나 이상의 어플리케이션을 탑재하고, 단말로부터의 입력에 따라서 상기 어플리케이션을 실행한 후, 그 실행 결과를 단말로 스트리밍 서비스를 제공하는 것이다.
본 발명의 명세서에서 기술하는 어플리케이션은 예를 들어, 웹 문서를 로딩하여 실행하는 응용 프로그램(예를 들면 브라우저)이 될 수 있다. 이하, 웹 브라우저를 클라우드 스트리밍 기반으로 서비스하는 경우를 예로 들어 설명한다.
이제, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치에 대하여 도면을 참조하여 상세하게 설명하도록 한다.
도 2는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 시스템을 도시한 도면이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 시스템은, 클라우드 스트리밍 서버(100), 복수의 단말(200-1 ~ 200-N) 및 클라우드 스트리밍 서버(100)와 복수의 단말(200-1 ~ 200-N) 간의 정보의 송수신을 지원하는 통신망(300)을 포함하여 구성될 수 있다.
각 구성요소에 대해 개략적으로 설명하면, 본 발명의 단말(200-1)은 사용자의 조작에 따라 통신망(300)을 경유하여 각종 데이터를 송수신할 수 있는 사용자의 장치를 의미한다.
이러한 단말(200-1)은 통신망(300)을 통해 클라우드 스트리밍 서버(100)에 접근하여 클라우드 스트리밍 서비스 방식으로 클라우드 스트리밍 서버(100)가 제공하는 다양한 정보를 수신하고, 사용자의 입력을 클라우드 스트리밍 서버(100)로 전송할 수 있다.
이를 위한 본 발명의 단말(200-1)은 정보의 송수신을 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있다.
특히, 본 발명의 실시 예에 따른 단말(200-1)은 통신망(300)을 거쳐 클라우드 스트리밍 서버(100)에 접속하여 어플리케이션의 최종 상태 정보 및 입력 정보를 제공하여, 특정 컨텐츠의 실행을 요청하고, 클라우드 스트리밍 서버(100)로부터 실행에 따른 결과 정보를 스트리밍 방식으로 수신함으로써, 단말(200-1)의 사용자는 해당 실행 결과를 이용할 수 있게 된다.
이러한 본 발명의 단말(200-1)은 기본적으로 인코딩된 스트리밍 데이터를 수신하여 디코딩하는 기능을 구비할 수 있으며, 여기에 더하여 디코딩된 데이터를 출력하는 기능을 포함할 수 있다.
이러한 본 발명의 실시 예에 따른 단말(200-1)은 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 단말(200-1)은 스마트폰(smart phone), 태블릿 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터, 셋톱박스 등과 같은 고정 단말기가 사용될 수도 있다.
또한, 본 발명의 실시 예에 따른 단말(200-1)은 출력 기능을 보유한 장치와, 출력 기능을 보유하지 않은 장치로 구분될 수 있으며, 상기 출력 기능을 보유하지 않은 장치는 TV, 모니터, 프로젝터와 같은 출력 장치(미도시)와 연결되어, 상기 출력 장치로 데이터를 전송함으로써, 상기 출력 장치를 통해서 클라우드 스트리밍 서버(100)로부터 스트리밍 방식으로 수신한 실행 결과 화면을 출력할 수 있다.
이러한 본 발명의 단말(200-1)은 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 통신망(300)을 통해 클라우드 스트리밍 서버(100)와 정보를 송수신하고, 클라우드 스트리밍 서버(100)로부터 스트리밍 방식으로 전달되는 인코딩 데이터를 디코딩하여 재생할 수 있는 장치라면, 그 어떠한 장치도 본 발명의 실시 예에 따른 단말(200-1)로 이용될 수 있다.
클라우드 스트리밍 서버(100)는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 제공하는 구성으로, 화면 가상화 기능을 통해 단말(200-1)에서 요청된 서비스 혹은 기능을 단말(200-1)로 제공하는 역할을 수행한다. 여기서 화면 가상화는 단말(200-1)에서 실행된 것과 같이 특정 컨텐츠의 실행 화면을 통신망(300)을 통해 연결된 서버 측, 즉, 클라우드 스트리밍 서버(100)에서 구현하여 단말(200-1)로 제공하는 것을 의미한다.
이를 위하여, 상기 클라우드 스트리밍 서버(100)는 단말(200-1)로부터 입력 정보가 적용될 어플리케이션의 최종 상태 정보와 상기 입력 정보를 수신하면, 어플리케이션을 할당하고, 수신한 최종 상태 정보를 상기 할당된 어플리케이션에 적용하여 어플리케이션을 대응되는 최종 상태로 변환한 후에 상기 최종 상태에서 상기 입력 정보를 적용하여 어플리케이션을 실행하여, 렌더링하고, 그 실행 화면을 캡처 및 인코딩하여 스트리밍 방식으로 단말(200-1)로 전송한다.
이때, 상기 클라우드 스트리밍 서버(100)는 최종 상태 정보 및 입력 정보에 대한 실행 결과를 저장해둠으로써, 동일한 입력에 대해 반복적으로 렌더링, 캡처, 인코딩을 수행하지 않도록 한다.
이때, 상기 클라우드 스트리밍 서버(100)는 어플리케이션 할당 전에, 최종 상태 정보 및 입력 정보와의 조합으로 매핑된 실행 결과, 즉 최종 상태 및 인코딩된 결과 화면이 매핑되어 저장되어 있는 경우라면, 어플리케이션 할당 및 실행 없이, 저장된 실행 결과를 단말(200-1)로 전송하고, 저장되어 있지 않은 경우에만, 어플리케이션을 할당하여 실행할 수 있도록 한다.
여기서, 상기 어플리케이션은 웹 문서를 로딩하여 실행하는 응용 프로그램인 것으로서, 예를 들면 브라우저가 될 수 있다.
또한, 최종 상태 정보는 웹 문서의 URL 정보이고, 입력 정보는 웹 문서에서 선택된 키 값일 수 있다.
본 발명의 실시 예에 따른 통신망(300)은 WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신 방식을 이용하는 것이 바람직하나, 이에 한정되는 것은 아니며, 시스템 구현 방식에 따라 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신 방식을 이용할 수도 있다.
아울러, 본 발명의 통신망(300)은 예컨대, 다수의 접속망(미도시) 및 코어망(미도시)을 포함하며, 외부망, 예컨대 인터넷망(미도시)을 포함하여 구성될 수 있다. 여기서, 접속망(미도시)은 복수의 단말들(200-1 ~ 200-N)과 유무선 통신을 수행하는 접속망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다.
또한, 상기 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 DU라 함과 무선 유니트(Radio Unit, 이하 RU라 함)으로 구분하여, 다수의 영역에 각각 다수의 RU(미도시)를 설치하고, 다수의 RU(미도시)를 집중화된 DU(미도시)와 연결하여 구성할 수도 있다.
또한, 접속망(미도시)과 함께 모바일 망을 구성하는 코어망(미도시)은 접속망(미도시)과 외부 망, 예컨대, 인터넷망(미도시)을 연결하는 역할을 수행한다.
이러한 코어망(미도시)은 앞서 설명한 바와 같이, 접속망(미도시) 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망(미도시)은 주파수간 이동성을 관리하고, 접속망(미도시) 및 코어망(미도시) 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망(미도시)과의 연동을 위한 역할을 수행할 수도 있다. 이러한 코어망(미도시)은 SGW(Serving GateWay), PGW(PDN GateWay), MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다.
또한, 인터넷망(미도시)은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미하는 것으로, 클라우드 스트리밍 서버(100)로부터 제공되는 정보를 코어망(미도시) 및 접속망(미도시)을 거쳐 단말(200-1)로 제공할 수 있으며, 단말(200-1)로부터 제공되는 정보를 접속망(미도시) 및 코어망(미도시)을 거쳐 클라우드 스트리밍 서버(100)로 제공할 수도 있다. 그러나, 이에 한정되는 것은 아니며, 클라우드 스트리밍 서버(100)는 코어망(미도시)과 일체로 구현될 수도 있다.
또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
본 발명의 실시 예에 따른 클라우드 스트리밍 서버(100)는 하드웨어적으로는 통상적인 웹서버(Web Server) 또는 네트워크 서버와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는 C, C++, Java, Visual Basic, Visual C 등과 같은 언어를 통하여 구현되는 프로그램 모듈(Module)을 포함한다.
또한, 본 발명의 실시 예에 따른 클라우드 스트리밍 서버(100)는 하나의 슈퍼 컴퓨터 또는 여러 대의 컴퓨터가 하나의 컴퓨터처럼 작동하도록 연결된 동일한 하드웨어 플랫폼상에서 복수의 사용자에게 독립적인 가상 머신(Virtual Machine: VM)을 제공하는 분산 컴퓨팅 시스템의 형태로 구현될 수 있다.
도 3은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 제공하기 위한 클라우드 스트리밍 서버의 구성을 도시한 도면이다.
도 3을 참조하면, 본 발명의 클라우드 스트리밍 서버(100)는 제어부(110), 저장부(120), 화면 생성부(130) 및 전송부(140)를 포함할 수 있다.
저장부(120)는 데이터를 저장하기 위한 장치로, 주 기억 장치 및 보조 기억 장치를 포함하고, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 처리를 위한 다양한 명령들을 저장할 수 있다.
특히, 본 발명에 따른 저장부(120)는 단말로부터 수신하는 최종 상태 정보 및 입력 정보와 그에 따른 실행 결과를 매핑하여 최종 상태 정보 및 입력 정보와 실행 결과의 조합을 저장할 수 있다. 매핑되어 저장되는 실행 결과는 어플리케이션에서 최종 상태 정보가 적용된 최종 상태에 상기 입력 정보를 적용하여 실행된 결과에 대한 상태 정보 및 실행된 결과를 어플리케이션 상에서 렌더링, 캡처 및 인코딩하여 생성된 화면을 의미할 수 있다.
또한, 본 발명에 따른 저장부(120)는 고속 기억 장치인 캐시 메모리일 수 있다.
화면 생성부(130)는 최종 상태 정보 및 입력 정보가 적용된 어플리케이션 실행 결과를 어플리케이션 상에 렌더링하고, 이를 캡처 및 인코딩하여 단말(200-1)로 전송될 최종 결과 화면을 생성한다.
전송부(140)는 최종 상태 정보 및 입력 정보가 적용된 어플리케이션 실행 결과를 단말(200-1)로 스트리밍 전송한다.
이때, 제어부(110)의 제어에 따라, 저장부(120)에 최종 상태 정보 및 입력 정보와 매핑된 실행 결과가 저장되어 있는 경우에는, 저장된 실행 결과를 그대로 스트리밍 전송하지만, 저장된 실행 결과가 없는 경우에는, 화면 생성부(130)에서 생성된 화면을 스트리밍 전송한다.
제어부(110)는 운영 체제(OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치가 될 수 있다. 특히, 본 발명의 실시 예에 따른 제어부(110)는 클라우드 스트리밍 서버(100)의 전반적인 제어를 수행한다.
제어부(110)는 각 단말들(200-1 ~ 200-N)마다 어플리케이션을 할당해 놓는 것이 아니라, 단말들(200-1 ~ 200-N)로부터 특정 입력이 있을 때에만 어플리케이션을 할당한다.
구체적으로, 단말(200-1)로부터 최종 상태 정보 및 입력 정보를 수신하는 경우, 어플리케이션을 할당하기 전에, 저장부(120)에 상기 최종 상태 정보 및 입력 정보와 매핑된 실행 결과가 저장되어 있는지를 판단한다.
저장되어 있다면, 전송부(140)를 통해 저장된 실행 결과를 스트리밍 방식으로 전송한다.
저장되어 있지 않다면, 어플리케이션을 할당하여, 해당 어플리케이션에서 최종 상태 정보를 적용하여 최종 상태를 로딩한 후, 입력 정보를 적용하여 상기 어플리케이션을 실행한다. 실행된 결과는 화면 생성부(130)를 통해 렌더링, 캡처, 인코딩을 거쳐 결과 화면이 생성되며, 상기 최종 상태 정보 및 입력 정보가 적용되어 실행된 상태에 대한 정보 및 상기 인코딩된 화면 데이터는 실행 결과로써, 단말(200-1)로부터 수신한 상기 최종 상태 정보 및 입력 정보와 매핑되어 저장부(120)에 저장된다. 실행 결과를 저장한 후에, 전송부(140)를 통해 실행 결과를 스트리밍 방식으로 전송한다.
여기서, 클라우드 스트리밍 서버(100)가 할당하는 어플리케이션이란, 웹 문서를 로딩하여 실행하는 응용 프로그램으로써, 예를 들면 브라우저일 수 있으며, 단말(200-1)로부터 수신하는 최종 상태 정보는 웹 문서의 URL일 수 있고, 입력 정보는 웹 문서에서 선택된 키 값일 수 있다.
예를 들어, 클라우드 스트리밍 서버(100)가 단말(200-1)로부터 URL=A, KEY=Right을 수신한다면, 제어부(110)는 저장부(120)에 이미 실행되어 저장된 실행 결과가 저장되어 있는지를 판단하고, 저장되어 있지 않다면 브라우저를 할당한다.
할당된 브라우저에서 URL=A에 따른 상태를 로딩하고, 해당 화면에 키 값인 Right를 적용하여 URL=A1을 획득하고, 그에 따른 실행 결과 화면을 렌더링하고, 캡처, 인코딩한다.
제어부(110)는 (A, Right, A1, 인코딩된 결과 화면)의 조합을 저장부(120)에 저장함으로써 추후에 동일한 입력에 대해서는 브라우저를 할당하지 않고, 곧바로 저장된 실행 결과를 단말(200-1)로 전송할 수 있게 된다.
한편, 제어부(110)는 단말(200-1)의 입력에 대응하여, 다양한 방식으로 어플리케이션을 할당할 수 있다.
본 발명의 제1 실시 예에서, 제어부(110)는 하나 이상의 어플리케이션에 대하여 하나 이상의 단말(200-1 ~ 200-N)로부터 수신되는 최종 상태 정보 및 입력 정보를 순차적으로 할당할 수 있다.
예를 들어, 클라우드 스트리밍 서버(100)에는 복수 개의 브라우저가 존재하므로, 단말들(200-1 ~ 200-N)로부터 수신되는 입력을 처리할 브라우저를 순차적으로 할당할 수 있다.
본 발명의 제2 실시 예에서, 제어부(110)는 최종 상태 정보를 기준으로 하나 이상의 어플리케이션 중에서 단말들(200-1 ~ 200-N)로부터 수신하는 최종 상태 정보 및 입력 정보를 실행할 어플리케이션을 할당할 수 있다.
예를 들어, 단말(200-1)로부터 URL과 KEY 값을 수신하면, 클라우드 스트리밍 서버(100)의 하나 이상의 브라우저 중에서, 현재 동일한 URL 정보를 표시하고 있는 브라우저를 할당할 수 있다.
본 발명의 제3 실시 예에서, 제어부(110)는 복수의 단말(200-1 ~ 200-N)로부터 수신되는 최종 상태 정보 및 입력 정보를 순차적으로 적용하여 실행할 수 있도록 임의의 어플리케이션을 할당할 수 있다.
예를 들어, 임의로 한 브라우저를 할당하여, 복수의 단말(200-1 ~ 200-N)들로부터 수신하는 최종 상태 정보 및 입력 정보를 순차적으로 실행하도록 할 수 있다.
저장부(120)에 최종 상태 정보 및 입력 정보에 따른 실행 결과가 매핑된 정보가 저장되어 있지 않은 경우에 있어서, 제어부(110)가 어플리케이션을 할당하는 방식은 상기의 실시 예에 한정되는 것은 아니다.
도 4는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 과정을 도시한 순서도이다.
도 4를 참조하면, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스는, 클라우드 스트리밍 서버(100)가 단말(200-1)로부터 최종 상태 정보 및 입력 정보를 수신한 경우에만(S 400), 어플리케이션을 할당한다(S 402). 본 발명에 따르면, 어플리케이션은 항상 실행되어 있을 필요가 없고, 단말(200-1)로부터 입력이 들어오는 경우에만 할당되므로, 클라우드 스트리밍 서버(100)에서 동시에 지원할 수 있는 단말의 수가 증가하게 된다.
클라우드 스트리밍 서버(100)는 최종 상태 정보 및 입력 정보를 적용하여 어플리케이션을 실행하고(S 404), 실행 결과를 단말로 스트리밍 전송한다(S 406).
도 5는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 과정을 더 구체적으로 도시한 순서도이다.
클라우드 스트리밍 서버(100)는 단말(200-1)로부터 최종 상태 정보 및 입력 정보를 수신한다(S 500). 이때, 클라우드 스트리밍 서버(100)는 어플리케이션을 할당하기 전에, 저장부(120)에 저장된 실행 결과가 존재하는지를 판단한다(S 502).
존재하는 경우라면, 저장된 실행 결과를 스트리밍 전송하기만 하면 된다(S 512).
그러나, 실행 결과가 저장되어 있지 않다면, 클라우드 스트리밍 서버(100)는 다양한 방식으로 어플리케이션을 할당하고(S 504), 할당된 어플리케이션에 최종 상태 정보 및 입력 정보를 적용하여 어플리케이션을 실행한다(S 506).
클라우드 스트리밍 서버(100)는 화면 생성부(130)를 통해 결과 화면을 렌더링, 캡처, 인코딩하여 화면을 생성하고(S 508), 인코딩된 실행 결과를 저장부(120)에 저장한다(S 510). 저장부(120)에 저장하는 것은 인코딩된 실행 결과뿐만 아니라, 동일한 입력에 대해, 동일한 실행 과정을 수행하지 않도록 하기 위해, 최종 상태 정보 및 입력 정보와 그에 따른 실행 결과를 매핑하여 함께 저장한다.
클라우드 스트리밍 서버(100)는 실행 결과를 단말(200-1)로 스트리밍 전송한다(S 512).
도 6은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 과정에 대한 구체적인 예시를 도시한 메시지 흐름도이다.
클라우드 스트리밍 서버(100)가 단말(200-1)로부터 최종 상태 정보인 URL=A, 입력 정보인 KEY=Right을 수신하면(S 600), 수신한 최종 상태 정보 및 입력 정보에 따른 실행 결과가 기 저장되어 있는지를 판단한다(S 602). URL=A, KEY=Right을 적용한 최종 상태의 URL=A1이라 할 때, 저장부(120)에 A1과 인코딩된 결과 화면이 매핑되어 저장되어 있다면, (A1, 인코딩된 결과 화면)을 단말(200-1)로 스트리밍 전송하기만 하면 된다(S 610).
그러나, 저장되어 있지 않은 경우, 브라우저를 할당하고 할당된 브라우저에서 URL=A를 적용하여 대응하는 상태를 로딩하고 로딩된 상태에서 KEY=Right을 적용하여 최종적으로 브라우저를 실행한다(S 604). 여기서, 브라우저 할당은 다양한 방식으로 할 수 있으며, 예를 들면, 복수의 단말들(200-1 ~ 200-N)에 복수의 브라우저를 순차적으로 할당하거나, 브라우저가 현재 표시하고 있는 최종 상태 정보를 기준으로 할당하거나, 임의의 한 브라우저를 할당할 수도 있다.
실행 결과를 브라우저에 렌더링, 캡처, 인코딩하여 결과 화면을 생성하고, (A, Right, A1, 인코딩된 결과 화면)의 조합으로 저장부(120)에 저장한다(S 606, 608).
클라우드 스트리밍 서버(100)는, 저장 후에, (A1, 인코딩된 결과 화면)을 단말(200-1)로 스트리밍 전송한다.
본 명세서에서 방법 단계들은 온 입력(on input) 데이터를 동작 시키고 출력을 발생시킴으로써 기능들을 수행하기 위해 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 프로세서들에 의해 수행될 수 있다. 방법 단계들은 또한 특수 목적 논리 회로 조직, 예를 들어 FPGA(field programmable gate away) 또는 ASIC(application-specific integrated circuit)에 의해 수행될 수 있고, 장치는 이들로서 구현될 수 있다.
컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다.
일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수 있다.
컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD_ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다.
프로세서 및 메모리는 특수 목적 논리 회로 조직에 의해 보충되거나, 이에 포함될 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시 형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다.
개별적인 실시 형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시 형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시 형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시 형태에서 구현 가능하다.
나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다.
특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시 형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
본 명세서에서 설명한 주제의 특정한 실시 형태를 설명하였다. 기타의 실시 형태들은 이하의 청구항의 범위 내에 속한다.
예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
본 발명에 의하면, 클라우드 스트리밍 서버는 접속된 각 단말마다 브라우저를 할당하는 것이 아니라, 단말로부터 입력이 있는 경우에만 브라우저를 할당하여 그에 해당하는 실행 결과를 단말로 스트리밍하고, 동일한 입력에 대한 실행 결과는 클라우드 스트리밍 서버에 저장해둠으로써, 서버 자원을 효율적으로 관리하고, 동시에 실행할 수 있는 브라우저 수보다 더 많은 단말을 지원할 수 있다.
따라서 클라우드 스트리밍 서비스 산업을 활성화 시키고 산업발전에 이바지할 수 있다.
더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100: 클라우드 스트리밍 서버
110: 제어부
120: 저장부
130: 화면 생성부
140: 전송부
200-1 ~ 200-N: 단말
300: 통신망

Claims (19)

  1. 단말로부터 전송된 입력 정보에 따라서 어플리케이션을 실행하고, 상기 어플리케이션의 실행 결과를 상기 단말로 스트리밍 서비스하는 클라우드 스트리밍 서버에 있어서,
    상기 단말로부터 상기 입력 정보가 적용될 상기 어플리케이션의 최종 상태 정보 및 상기 입력 정보를 수신하고, 어플리케이션을 할당하여 수신한 최종 상태 정보를 상기 어플리케이션에 적용하여 상기 어플리케이션을 대응하는 최종 상태로 변환한 후, 상기 최종 상태에서 상기 입력 정보를 적용하여 상기 어플리케이션을 실행하고, 실행 결과가 상기 단말로 전송되도록 제어하는 제어부
    를 포함하는 것을 특징으로 하는 클라우드 스트리밍 서버.
  2. 제1항에 있어서,
    상기 실행 결과를 최종 상태 정보 및 입력 정보와의 조합으로 매핑하여 저장하는 저장부;
    를 더 포함하고,
    상기 제어부는 상기 어플리케이션 할당 전에, 상기 수신한 최종 상태 정보 및 입력 정보와 매핑된 실행 결과가 상기 저장부에 저장되어 있는지를 판단하고, 저장되어 있지 않은 경우, 상기 어플리케이션을 할당하고 상기 수신한 최종 상태 정보 및 입력 정보를 적용하여 상기 어플리케이션을 실행하여 그 실행 결과를 상기 저장부에 저장 및 상기 단말로 전송하도록 제어하고, 저장되어 있는 경우, 상기 저장된 실행 결과를 상기 단말로 전송하도록 제어하는 것을 특징으로 하는 클라우드 스트리밍 서버.
  3. 제2항에 있어서,
    상기 제어부의 제어에 따라서, 상기 실행 결과가 저장되어 있지 않은 경우, 상기 최종 상태에 상기 입력 정보를 반영하여 상기 어플리케이션을 실행하고, 그 실행 결과를 렌더링, 캡처 및 인코딩하는 화면 생성부; 및
    상기 제어부의 제어에 따라서, 상기 저장부에 저장된 실행 결과 또는 상기 화면 생성부에서 인코딩된 실행 결과를 상기 단말로 스트리밍 전송하는 전송부
    를 더 포함하는 것을 특징으로 하는 클라우드 스트리밍 서버.
  4. 제1항에 있어서,
    상기 어플리케이션은, 웹 문서를 로딩하여 실행하는 응용 프로그램인 것을 특징으로 하는 클라우드 스트리밍 서버.
  5. 제2항에 있어서, 상기 제어부는,
    하나 이상의 어플리케이션에 대하여 하나 이상의 단말로부터 수신되는 상기 최종 상태 정보 및 입력 정보를 순차적으로 할당하는 것을 특징으로 하는 클라우드 스트리밍 서버.
  6. 제2항에 있어서, 상기 제어부는,
    상기 최종 상태 정보를 기준으로 하나 이상의 어플리케이션 중 상기 최종 상태 정보 및 입력 정보를 실행할 어플리케이션을 할당하는 것을 특징으로 하는 클라우드 스트리밍 서버.
  7. 제2항에 있어서, 상기 제어부는,
    어플리케이션 별로 복수의 단말을 할당하고, 복수의 단말로부터 수신되는 상기 최종 상태 정보 및 입력 정보를 순차적으로 상기 어플리케이션에 적용하여 실행시키는 것을 특징으로 하는 클라우드 스트리밍 서버.
  8. 제1항에 있어서,
    상기 최종 상태 정보는 웹 문서의 URL(Uniform Resource Locater) 정보이고, 상기 입력 정보는 상기 웹 문서에서 선택된 키 값인 것을 특징으로 하는 클라우드 스트리밍 서버.
  9. 단말로부터 전송된 입력 정보에 따라서 어플리케이션을 실행하고, 상기 어플리케이션의 실행 결과를 상기 단말로 스트리밍 서비스하는 클라우드 스트리밍 서버가,
    단말로부터 상기 입력 정보가 적용될 상기 어플리케이션의 최종 상태 정보 및 상기 입력 정보를 수신하는 단계;
    상기 최종 상태 정보 및 입력 정보를 실행할 어플리케이션을 할당하는 단계;
    상기 최종 상태 정보를 상기 어플리케이션에 적용하여 상기 어플리케이션을 대응하는 최종 상태로 변환하고, 상기 최종 상태에서 상기 입력 정보를 적용하여 상기 어플리케이션을 실행하는 단계; 및
    상기 어플리케이션을 실행한 실행 결과를 상기 단말로 스트리밍 전송하는 단계
    를 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  10. 제9항에 있어서,
    상기 어플리케이션 별 실행 결과를 최종 상태 정보 및 입력 정보와의 조합으로 매핑하여 저장하는 단계
    를 더 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  11. 제10항에 있어서,
    상기 어플리케이션을 할당하기 전에,
    상기 수신한 최종 상태 정보 및 입력 정보와 매핑된 실행 결과가 저장되어 있는지를 판단하는 단계
    를 더 포함하여, 상기 수신한 최종 상태 정보 및 입력 정보와 매핑된 실행 결과가 저장되어 있지 않은 경우 상기 어플리케이션을 할당하도록 하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  12. 제11항에 있어서,
    상기 매핑된 실행 결과가 저장되어 있지 않은 경우에, 상기 어플리케이션을 실행한 실행 결과를 저장한 후, 상기 단말로 스트리밍 전송하고,
    상기 매핑된 실행 결과가 저장되어 있는 경우에, 상기 저장된 실행 결과를 상기 단말로 스트리밍 전송하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  13. 제9항에 있어서,
    상기 어플리케이션은 웹 문서를 로딩하여 실행하는 응용 프로그램인 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  14. 제11항에 있어서, 상기 할당하는 단계는,
    하나 이상의 어플리케이션에 대하여 하나 이상의 단말로부터 수신되는 상기 최종 상태 정보 및 입력 정보를 순차적으로 할당하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  15. 제11항에 있어서, 상기 할당하는 단계는,
    상기 최종 상태 정보를 기준으로 하나 이상의 어플리케이션 중 상기 최종 상태 정보 및 입력 정보를 실행할 어플리케이션을 할당하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  16. 제11항에 있어서, 상기 할당하는 단계는,
    복수의 단말로부터 수신되는 최종 상태 정보 및 입력 정보를 순차적으로 적용하여 실행할 수 있도록 임의의 어플리케이션을 할당하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  17. 제9항에 있어서,
    상기 최종 상태 정보는 웹 문서의 URL(Uniform Resource Locater) 정보이고, 상기 입력 정보는 상기 웹 문서에서 선택된 키 값인 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  18. 제9항 내지 제17항 중 어느 한 항에 기재된 클라우드 스트리밍 서비스 제공 방법을 실행시키는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  19. 단말로부터 최종 상태 정보 및 입력 정보를 수신하고, 어플리케이션을 할당하여 수신한 최종 상태 정보를 상기 어플리케이션에 적용하여 상기 어플리케이션을 대응하는 최종 상태로 변환한 후, 상기 최종 상태에서 상기 입력 정보를 적용하여 상기 어플리케이션을 실행하고, 그 실행 결과를 상기 단말로 스트리밍 전송하는 클라우드 스트리밍 서버; 및
    상기 클라우드 스트리밍 서버로 입력 정보 및 상기 입력 정보가 적용될 어플리케이션의 최종 상태 정보를 전송하고, 상기 클라우드 스트리밍 서버로부터 상기 최종 상태 정보 및 입력 정보에 따른 실행 결과를 수신하여 표시하는 단말
    을 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스 시스템.
KR1020160153107A 2016-11-17 2016-11-17 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치 KR102004970B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020160153107A KR102004970B1 (ko) 2016-11-17 2016-11-17 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
US15/812,429 US10560501B2 (en) 2016-11-17 2017-11-14 Method and apparatus for cloud streaming service
JP2017220565A JP6517307B2 (ja) 2016-11-17 2017-11-16 クラウドストリーミングサービス提供方法及びそのための装置
CN201711135416.4A CN108076139B (zh) 2016-11-17 2017-11-16 用于云流送服务的方法和设备
EP17202223.8A EP3324292B1 (en) 2016-11-17 2017-11-17 Method and apparatus for cloud streaming service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160153107A KR102004970B1 (ko) 2016-11-17 2016-11-17 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20180055342A true KR20180055342A (ko) 2018-05-25
KR102004970B1 KR102004970B1 (ko) 2019-07-30

Family

ID=60409156

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160153107A KR102004970B1 (ko) 2016-11-17 2016-11-17 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치

Country Status (5)

Country Link
US (1) US10560501B2 (ko)
EP (1) EP3324292B1 (ko)
JP (1) JP6517307B2 (ko)
KR (1) KR102004970B1 (ko)
CN (1) CN108076139B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220104462A (ko) * 2021-01-18 2022-07-26 주식회사 이알마인드 가상의 원격 브라우저 서비스 제공 방법 및 이를 수행하는 클라우드 서버
KR20220139632A (ko) * 2021-04-08 2022-10-17 주식회사 엘지유플러스 서비스 서버 및 그 동작 방법
KR20220150038A (ko) * 2021-05-03 2022-11-10 주식회사 엘지유플러스 화면 제공을 위한 서비스 서버 및 그 동작 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113687946A (zh) * 2021-08-19 2021-11-23 海尔数字科技(青岛)有限公司 一种任务管理方法、装置、服务器和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120111598A (ko) 2011-04-01 2012-10-10 (주)네오위즈게임즈 웹 환경에서 캐싱 효율을 높인 서버, 단말기 및 그 방법
KR20140106838A (ko) * 2013-02-27 2014-09-04 한국전자통신연구원 스트리밍 기반의 게임 플랫폼을 이용한 클라우드 서비스 제공 장치 및 방법
KR20160000911A (ko) * 2014-06-25 2016-01-06 엔트릭스 주식회사 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치
KR20160069443A (ko) * 2014-12-08 2016-06-16 에스케이플래닛 주식회사 웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치
KR20160131830A (ko) * 2015-05-07 2016-11-16 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 리사이즈 기반의 멀티뷰 화면을 제공하는 클라우드 스트리밍 서비스 방법 및 이를 위한 장치

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040220926A1 (en) * 2000-01-03 2004-11-04 Interactual Technologies, Inc., A California Cpr[P Personalization services for entities from multiple sources
US20040220791A1 (en) * 2000-01-03 2004-11-04 Interactual Technologies, Inc. A California Corpor Personalization services for entities from multiple sources
JP2004220260A (ja) 2003-01-14 2004-08-05 Nec Access Technica Ltd ウェブページ閲覧システム及び画像配信サーバ
EP1787470A1 (en) * 2004-08-30 2007-05-23 Telecom Italia S.p.A. Method and system for providing interactive services in digital television
FR2884671B1 (fr) 2005-04-19 2007-07-27 Streamezzo Sa Procede d'optimisation de la gestion d'un cache de serveur pouvant etre consulte par des terminaux clients de caracteristiques differentes
US9211473B2 (en) * 2008-12-15 2015-12-15 Sony Computer Entertainment America Llc Program mode transition
US9498714B2 (en) * 2007-12-15 2016-11-22 Sony Interactive Entertainment America Llc Program mode switching
US9656160B2 (en) * 2007-12-15 2017-05-23 Sony Interactive Entertainment America Llc Massive multi-player online (MMO) games server and methods for executing the same
US8365235B2 (en) * 2007-12-18 2013-01-29 Netflix, Inc. Trick play of streaming media
US8250177B2 (en) 2008-06-27 2012-08-21 Microsoft Corporation Uncached data control in server-cached page
US8145521B2 (en) * 2008-07-15 2012-03-27 Google Inc. Geographic and keyword context in embedded applications
US8051081B2 (en) * 2008-08-15 2011-11-01 At&T Intellectual Property I, L.P. System and method for generating media bookmarks
US9749713B2 (en) * 2009-10-15 2017-08-29 Citrix Systems, Inc. Budget encoding
US8315977B2 (en) * 2010-02-22 2012-11-20 Netflix, Inc. Data synchronization between a data center environment and a cloud computing environment
KR20170129297A (ko) * 2010-09-13 2017-11-24 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 게임 서버
CN102456035A (zh) * 2010-10-28 2012-05-16 金蝶软件(中国)有限公司 一种网页资源缓存控制方法、装置及系统
CN102780689B (zh) * 2011-05-02 2015-08-12 克利特Ip控股有限责任公司 用于远程访问应用程序的渲染服务
US9960928B1 (en) * 2011-07-07 2018-05-01 Cisco Technology, Inc. System and method for topic-based eventing for flexible system management
US10258881B2 (en) * 2012-12-26 2019-04-16 Sony Interactive Entertainment America Llc Systems and methods for tagging content of shared cloud executed mini-games and tag sharing controls
US9844729B2 (en) * 2012-12-26 2017-12-19 Sony Interactive Entertainment America Llc Systems and methods for managing video game titles and user play metrics for video game titles executing on a game cloud system
US9179199B2 (en) * 2013-03-14 2015-11-03 Apple Inc. Media playback across multiple devices
US9467359B1 (en) * 2013-06-07 2016-10-11 Google Inc. Methods, systems, and media for resuming playback of media content across multiple devices
EP3683692A1 (en) * 2014-02-07 2020-07-22 SK Planet Co., Ltd. Cloud streaming service system, and method and apparatus for providing cloud streaming service
US20170251257A1 (en) * 2014-05-28 2017-08-31 Dermot OBrien Apps, LLC System and method for aggregating and displaying media from multiple cloud services
KR101630640B1 (ko) * 2014-08-05 2016-06-15 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 방법 및 이를 위한 서버
WO2016043530A1 (en) * 2014-09-18 2016-03-24 Samsung Electronics Co., Ltd. System and method for providing service via application
US9917791B1 (en) * 2014-09-26 2018-03-13 Netflix, Inc. Systems and methods for suspended playback
KR20160097957A (ko) 2015-02-10 2016-08-18 엔트릭스 주식회사 캐시 장치를 이용한 클라우드 컴퓨팅 시스템 및 캐시 장치를 이용한 클라우드 스트리밍 서비스 제공 방법
KR102050736B1 (ko) 2015-02-23 2020-01-08 에스케이플래닛 주식회사 클라우드 스트리밍 시스템 및 그 시스템에서의 데이터 캐싱을 위한 장치
KR102050735B1 (ko) 2015-02-23 2019-12-03 에스케이플래닛 주식회사 클라우드 스트리밍 서비스를 위한 프락시 서버, 이를 이용한 클라우드 스트리밍 시스템 및 클라우드 스트리밍 서비스 제공 방법
US11420114B2 (en) * 2015-09-30 2022-08-23 Sony Interactive Entertainment LLC Systems and methods for enabling time-shifted coaching for cloud gaming systems
US20170180814A1 (en) * 2015-12-22 2017-06-22 Rovi Guides, Inc. Methods and systems of alerting users viewing over-the-top content

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120111598A (ko) 2011-04-01 2012-10-10 (주)네오위즈게임즈 웹 환경에서 캐싱 효율을 높인 서버, 단말기 및 그 방법
KR20140106838A (ko) * 2013-02-27 2014-09-04 한국전자통신연구원 스트리밍 기반의 게임 플랫폼을 이용한 클라우드 서비스 제공 장치 및 방법
KR20160000911A (ko) * 2014-06-25 2016-01-06 엔트릭스 주식회사 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치
KR20160069443A (ko) * 2014-12-08 2016-06-16 에스케이플래닛 주식회사 웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치
KR20160131830A (ko) * 2015-05-07 2016-11-16 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 리사이즈 기반의 멀티뷰 화면을 제공하는 클라우드 스트리밍 서비스 방법 및 이를 위한 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문, 클라우드 컴퓨팅 환경에서 웹 어플리케이션을 이용한 장면전환 검출, 한국통신학회, 2013.11. *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220104462A (ko) * 2021-01-18 2022-07-26 주식회사 이알마인드 가상의 원격 브라우저 서비스 제공 방법 및 이를 수행하는 클라우드 서버
KR20220139632A (ko) * 2021-04-08 2022-10-17 주식회사 엘지유플러스 서비스 서버 및 그 동작 방법
KR20220150038A (ko) * 2021-05-03 2022-11-10 주식회사 엘지유플러스 화면 제공을 위한 서비스 서버 및 그 동작 방법

Also Published As

Publication number Publication date
EP3324292A1 (en) 2018-05-23
KR102004970B1 (ko) 2019-07-30
US20180139256A1 (en) 2018-05-17
US10560501B2 (en) 2020-02-11
CN108076139A (zh) 2018-05-25
JP2018081695A (ja) 2018-05-24
EP3324292B1 (en) 2022-11-23
CN108076139B (zh) 2022-01-18
JP6517307B2 (ja) 2019-05-22

Similar Documents

Publication Publication Date Title
KR102004970B1 (ko) 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
JP5459693B2 (ja) 端末機による適応的画面仮想化方法及びシステム
EP3267331B1 (en) Method and apparatus for cloud streaming service
JP2015509229A (ja) アプリケーション駆動のcdnのプリキャッシング
JP2022525496A (ja) 通信方法、装置、電子機器及びコンピュータプログラム
CN113709200B (zh) 一种建立通信连接的方法及装置
KR102050735B1 (ko) 클라우드 스트리밍 서비스를 위한 프락시 서버, 이를 이용한 클라우드 스트리밍 시스템 및 클라우드 스트리밍 서비스 제공 방법
CN106686635B (zh) 基于无线接入点的控制和配置协议的数据传输方法和装置
CN114586325B (zh) 用于媒体流式传输网络的内容准备的方法、设备和介质
CN112995005B (zh) 虚拟网络数据交换方法和装置
KR20160097957A (ko) 캐시 장치를 이용한 클라우드 컴퓨팅 시스템 및 캐시 장치를 이용한 클라우드 스트리밍 서비스 제공 방법
KR102310070B1 (ko) 클라우드 스트리밍 서비스 제공을 위한 어플리케이션 캐싱 방법 및 이를 위한 장치
CN107078965B (zh) 流媒体服务提供方法和设备
US11178527B1 (en) Method and apparatus for proactive data hinting through dedicated traffic channel of telecom network
KR102050736B1 (ko) 클라우드 스트리밍 시스템 및 그 시스템에서의 데이터 캐싱을 위한 장치
KR102147053B1 (ko) 컨텐츠 전송 서비스 기반의 api 제공 방법 및 이를 위한 캐시 장치
WO2018219221A1 (zh) 报文转发方法、设备及系统
KR20200097498A (ko) 비디오 클라우드 스트리밍 인코더 할당 장치 및 방법
CN111782268B (zh) 分配硬件资源的方法、装置、设备和计算机可读介质
KR101093047B1 (ko) 풀 브라우징 서비스의 다중 채널을 이용한 데이터 제공 시스템 및 그 방법
KR20200097499A (ko) 비디오 클라우드 스트리밍을 위한 gpu 할당 장치 및 방법
KR20160084214A (ko) 클라우드 스트리밍 서비스 시스템, 선택적 스트리밍 파이프라인 방식에 기반한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20160087255A (ko) 클라우드 스트리밍 서비스 시스템, 전체 화면 변화를 고려한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant