KR20160000911A - 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치 - Google Patents

클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치 Download PDF

Info

Publication number
KR20160000911A
KR20160000911A KR1020140077924A KR20140077924A KR20160000911A KR 20160000911 A KR20160000911 A KR 20160000911A KR 1020140077924 A KR1020140077924 A KR 1020140077924A KR 20140077924 A KR20140077924 A KR 20140077924A KR 20160000911 A KR20160000911 A KR 20160000911A
Authority
KR
South Korea
Prior art keywords
user interface
application
cloud
terminal
cloud service
Prior art date
Application number
KR1020140077924A
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 KR1020140077924A priority Critical patent/KR20160000911A/ko
Priority to PCT/KR2014/012474 priority patent/WO2015199299A1/ko
Publication of KR20160000911A publication Critical patent/KR20160000911A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치에 관한 것으로서, 웹 어플리케이션을 구성된 사용자 인터페이스를 보다 용이하게 캡쳐하여 스트리밍 형태로 단말로 제공할 수 있는 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치에 관한 것이다.
이를 위한, 본 발명의 일 실시 예에 따른 클라우드 서비스 장치는 단말의 요청에 따라 컨텐츠 제공 장치가 제공하는 컨텐츠 데이터에 대응하는 사용자 인터페이스 어플리케이션의 구동을 어플리케이션 처리 장치로 전달하고, 상기 어플리케이션 처리 장치로부터 제공되는 사용자 인터페이스 어플리케이션 실행에 따른 캡쳐 이미지를 생성한 후, 생성한 상기 캡쳐 이미지를 상기 단말로 스트리밍하여 제공하는 클라우드 스트리밍 서비스 지원 장치; 및 상기 클라우드 스트리밍 서비스 지원 장치의 요청에 따라 상기 사용자 인터페이스 어플리케이션을 구동하여 상기 사용자 인터페이스 어플리케이션을 문자열로 변환한 후, 상기 변환된 사용자 인터페이스 어플리케이션을 실행에 따른 결과를 상기 클라우드 스트리밍 서비스 지원 장치로 전달하는 어플리케이션 처리 장치;를 포함하여 이뤄질 수 있다.

Description

클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치{METHOD FOR PROVIDING OF CLOUD SERVICE, COMPUTER READABLE STORAGE MEDIUM STORING WEB APPLICATION FOR THE SAME, CLOUD SERVICE SYSTEM AND APPARATUS USINT THE SAME}
본 발명은 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치에 관한 것으로서, 웹 어플리케이션을 구성된 사용자 인터페이스를 보다 용이하게 캡쳐하여 스트리밍 형태로 단말로 제공할 수 있는 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
컴퓨터 네트워크의 기술 발전에 따라, 각 단말기의 독립적인 하드웨어 성능에 의존하던 기존의 컴퓨팅 환경은 네트워크상의 모든 컴퓨팅 자원을 활용하여 단말의 요청에 따라 해당 서비스를 제공하는 클라우드 컴퓨팅(Cloud Computing) 형태로 진화하고 있다.
클라우드 컴퓨팅이란, 인터넷과 같은 정보 통신망을 통한 '컴퓨팅 자원의 온 디맨드 아웃소싱 서비스'라고 정의할 수 있다. 클라우드 컴퓨팅 환경에서, 서비스 제공자는 여러 곳에 분산되어 있는 데이터 센터를 가상화 기술로 통합하여 사용자들에게 필요로 하는 서비스를 제공한다. 서비스 사용자는 어플리케이션(Application), 스토리지(Storage), 운영체제(OS), 보안(Security) 등의 컴퓨팅 자원을 각 사용자 소유의 단말에 설치하여 사용하는 것이 아니라, 가상화 기술을 통해 생성된 가상 공간상의 서비스를 원하는 시점에 원하는 만큼 골라서 사용한다. 다시 말하면, 클라우트 컴퓨팅은 구름(cloud)과 같이 무형의 형태로 존재하는 하드웨어/소프트웨어 등의 컴퓨팅 자원을 자신이 필요한 만큼 빌려 쓰고 이에 대한 사용요금을 지급하는 방식의 컴퓨팅 서비스로, 서로 다른 물리적인 위치에 존재하는 컴퓨팅 자원을 가상화 기술로 통합해 제공하는 기술을 말한다.
이러한 클라우드 컴퓨팅에 따르면, 사용자는 네트워크 접속과 기본적인 연산 기능만을 수행하는 단말기를 통해 클라우드 망에 접속하여 대용량의 저장 장치와 고성능 컴퓨팅 리소스가 필요한 작업들을 수행하고, 다양한 서비스를 제공받을 수 있다.
클라우드 스트리밍 서비스는 이러한 클라우드 컴퓨팅 환경을 기반으로 한 서비스로서, 서버 자원을 활용하여 웹 어플리케이션 등의 컨텐츠를 서버측에서 실행한 후, 그 실행 화면을 GUI 화면으로 캡쳐 및 인코딩하여 실시간으로 단말로 전송하고, 단말 측에서는 입력 및 출력만 이루지도록 함으로써, 단말 사양에 관계없이 고성능 컴퓨팅 리소스가 요구되는 어플리케이션이나 컨텐츠를 사용자가 이용할 수 있도록 하는 것이다.
현재까지의 클라우드 스트리밍 서비스는 웹 어플리케이션으로 제작된 사용자 인터페이스를 브라우저 단위로 캡쳐 및 인코딩하여 단말로 스트리밍 하게 된다. 그러나, 이러한 종래의 클라우드 스트리밍 서비스는 웹 어플리케이션으로 제작된 사용자 인터페이스의 투명도를 캡쳐할 수가 없어, 투명화가 적용된 사용자 인터페이스의 제공이 불가능하다는 문제점이 있다.
한국공개특허 제10-2013-0026609호, 2013년 3월 14일 공개 (명칭: 멀티미디어 클라우드 시스템의 클라이언트에서 멀티미디어 클라우드 서비스 제공 장치 및 방법, 그리고 멀티미디어 클라우드 시스템의 소셜 네트워크 서비스 서버에서 멀티미디어 클라우드 서비스 제공 방법)
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 투명화가 적용된 사용자 인터페이스를 포함하는 웹 어플리케이션에서, 사용자 인터페이스 레이어만을 캡쳐하여 단말로 제공할 수 있는 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치를 제공하는 데 목적이 있다.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 서비스 장치는 단말의 요청에 따라 컨텐츠 제공 장치가 제공하는 컨텐츠 데이터에 대응하는 사용자 인터페이스 어플리케이션의 구동을 어플리케이션 처리 장치로 전달하고, 어플리케이션 처리 장치로부터 제공되는 사용자 인터페이스 어플리케이션 실행에 따른 캡쳐 이미지를 생성한 후, 생성한 캡쳐 이미지를 단말로 스트리밍하여 제공하는 클라우드 스트리밍 서비스 지원 장치; 및 클라우드 스트리밍 서비스 지원 장치의 요청에 따라 사용자 인터페이스 어플리케이션을 구동하여 사용자 인터페이스 어플리케이션을 문자열로 변환한 후, 변환된 사용자 인터페이스 어플리케이션을 실행에 따른 결과를 클라우드 스트리밍 서비스 지원 장치로 전달하는 어플리케이션 처리 장치;를 포함하여 구성될 수 있다.
이때, 클라우드 스트리밍 서비스 지원 장치는 사용자 인터페이스 어플리케이션 실행에 따른 캡쳐 이미지를 생성하는 캡쳐부; 캡쳐된 캡쳐 이미지를 인코딩하는 인코딩부; 및 단말의 요청을 수신하고, 인코딩된 캡쳐 이미지를 스트리밍하여 단말로 제공하는 스트리밍부;를 포함하여 구성될 수 있다.
또한, 어플리케이션 처리 장치는 클라우드 스트리밍 서비스 지원 장치의 요청에 따라 브라우저를 구동하는 브라우저 구동부; 및 구동된 브라우저를 통해 사용자 인터페이스 어플리케이션을 구동하여 변환된 사용자 인터페이스 어플리케이션을 출력하는 어플리케이션 실행부;를 포함하여 구성될 수 있다.
또한, 사용자 인터페이스 어플리케이션은 캔버스(canvas) 오브젝트를 이용하여 구현된 사용자와 상호 작용이 가능한 사용자 인터페이스를 포함하며, 어플리케이션 처리 장치는 클라우드 스트리밍 서비스 지원 장치의 요청에 따라, 캔버스 오브젝트가 제공하는 메소드를 이용하여 사용자 인터페이스를 문자열로 변환하고, 변환된 사용자 인터페이스를 클라우드 스트리밍 서비스 지원 장치로 전달할 수 있다.
이때, 어플리케이션 처리 장치는 변환된 사용자 인터페이스를 웹 소켓(web socket) 프로그램을 이용하여 클라우드 스트리밍 서비스 지원 장치로 전달할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 서비스 시스템은 단말의 요청에 따라 컨텐츠 제공 장치가 제공하는 컨텐츠 데이터에 대응하는 사용자 인터페이스 어플리케이션을 구동하여 사용자 인터페이스 어플리케이션을 문자열로 변환한 후, 변환된 사용자 인터페이스 어플리케이션의 실행에 따른 캡쳐 이미지를 단말로 스트리밍하여 제공하는 클라우드 서비스 장치; 및 컨텐츠 제공 장치가 제공하는 컨텐츠 데이터를 요청하고, 클라우드 서비스 장치로부터 컨텐츠 데이터에 대응하는 사용자 인터페이스 어플리케이션의 스트리밍 데이터를 수신하는 단말;을 포함하여 구성될 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 서비스 제공 방법은 단말의 요청에 따라 컨텐츠 제공 장치가 제공하는 컨텐츠 데이터에 대응하는 사용자 인터페이스 어플리케이션을 구동하는 단계; 사용자 인터페이스 어플리케이션을 문자열로 변환하여 캡쳐 이미지를 생성하는 단계; 및 캡쳐 이미지를 컨텐츠 데이터에 대응하여 단말로 스트리밍하여 전송하는 단계;를 포함하여 이뤄질 수 있다.
이때, 구동하는 단계 이전에, 컨텐츠 제공 장치가 제공하는 컨텐츠 데이터에 대응하는 사용자 인터페이스 어플리케이션이 존재하는 지 여부를 검사하는 단계;를 더 포함하여 이뤄질 수 있다.
또한, 사용자 인터페이스 어플리케이션은 캔버스(canvas) 오브젝트를 이용하여 구현된 사용자와 상호 작용이 가능한 사용자 인터페이스를 포함할 수 있다.
또한, 캡쳐 이미지를 생성하는 단계는 캔버스 오브젝트가 제공하는 메소드를 이용하여 사용자 인터페이스를 문자열로 변환하는 단계; 및 변환된 사용자 인터페이스에 대한 캡쳐 이미지 생성을 위해, 클라우드 스트리밍 서비스 지원 장치로 전달하는 단계;를 포함하여 이뤄질 수 있다.
또한, 클라우드 스트리밍 서비스 지원 장치로 전달하는 단계는 웹 소켓(web socket) 프로그램을 이용하여 전달될 수 있다.
추가로 본 발명은 상술한 바와 같은 클라우드 서비스 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체는 캔버스(canvas) 오브젝트를 이용하여 사용자와 상호 작용이 가능한 사용자 인터페이스를 구현하는 기능; 캔버스 오브젝트로 구현된 사용자 인터페이스를 캔버스 오브젝트가 제공하는 메소드를 이용하여 문자열로 변환하는 기능; 및 문자열로 변환된 사용자 인터페이스를 클라우드 스트리밍 서비스 기능을 지원하는 클라우드 스트리밍 서비스 지원 장치로 전송하는 기능;을 처리하기 위한 웹 어플리케이션을 기록할 수 있다.
여기서, 전송하는 기능은 변환된 사용자 인터페이스를 웹 소켓을 통해 클라우드 스트리밍 서비스 지원 장치로 전송되도록 구현될 수 있다.
또한, 웹 어플리케이션은 사용자 인터페이스를 포함하는 사용자 인터페이스 레이어 및 브라우저 레이어로 구성될 수 있다.
본 발명의 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치에 의하면, 투명화가 적용된 사용자 인터페이스에 대한 어플리케이션에 대한 캡쳐 이미지 생성이 가능하여, 투명화가 적용된 사용자 인터페이스에 대한 클라우드 서비스 제공이 가능하게 된다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도 1은 본 발명의 실시 예에 따른 클라우드 서비스 시스템의 개략적인 구성도이다.
도 2는 도 1에 도시된 본 발명의 실시 예에 따른 단말의 주요 구성을 도시한 블록도이다.
도 3은 도 1에 도시된 본 발명의 실시 예에 따른 클라우드 서비스 장치의 주요 구성을 도시한 블록도이다.
도 4 내지 도 7은 본 발명의 실시 예에 따른 웹 어플리케이션을 설명하기 위한 도면이다.
도 8은 본 발명의 실시 예에 따른 웹 어플리케이션의 기능 구성을 설명하기 위한 흐름도이다.
도 9는 본 발명의 실시 예에 따른 웹 어플리케이션 구동 동작을 설명하기 위한 데이터 흐름도이다.
도 10은 본 발명의 실시 예에 따른 웹 어플리케이션에 대한 클라우드 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 하나, 이는 본 발명을 특정한 실시 형태로 한정하려는 것은 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이제 본 발명의 실시 예에 따른 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치에 대하여 도면을 참조하여 상세하게 설명하도록 한다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다.
설명에 앞서, 본 발명은 클라우드 컴퓨팅 환경을 기반으로 화면 가상화를 통해 사용자가 단말의 성능에 관계 없이 소정의 서비스 혹은 기능을 이용할 수 있도록 하는 클라우드 스트리밍 서비스에 관한 것이다. 특히, 본 발명은 서로 다른 종류의 컨텐츠를 융합하여 클라우드 스트리밍을 통해 서비스를 제공하고자 한다. 본 발명에 적용되는 컨텐츠는 실시간 방송, VOD, 게임이나 UI(User Interface) 등 다양한 기능을 제공하는 어플리케이션을 포함할 수 있다.
먼저, 본 발명의 실시 예에 따른 클라우드 서비스 시스템에 대해 설명하도록 한다.
도 1은 본 발명의 실시 예에 따른 클라우드 서비스 시스템의 개략적인 구성도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 클라우드 서비스 시스템(1000)은 단말(100) 및 클라우드 서비스 장치(200), 그리고 상기 단말(100) 및 클라우드 서비스 장치(200) 간의 정보의 송수신을 지원하는 통신망(300)을 포함하여 구성될 수 있다. 더하여, 본 발명의 실시 예에 따른 클라우드 서비스 시스템(1000)은 다수의 컨텐츠 제공 장치(400)와 연동하여 동작할 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저, 단말(100)은 사용자의 조작에 따라 통신망(300)을 경유하여 각종 데이터를 송수신할 수 있는 사용자의 장치를 의미한다. 이러한 단말(100)은 통신망(300)을 통해 음성 또는 데이터 통신을 수행할 수 있으며, 클라우드 서비스 장치(200)와 다양한 정보를 송수신할 수 있다. 이를 위한 본 발명의 단말(100)은 정보의 송수신을 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있다.
특히, 본 발명의 실시 예에 따른 단말(100)은 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(400) 중 하나 이상으로 소정의 서비스 혹은 기능을 요청하고, 이에 대응하여 상기 클라우드 서비스 장치(200)로부터 스트리밍 데이터를 수신하여 재생한 후 출력할 수 있다. 이러한 단말(100)은 기본적으로 인코딩된 스트리밍 데이터를 수신하여 디코딩하는 기능을 구비할 수 있으며, 여기에 더하여 디코딩된 비디오 데이터를 랜더링하여 출력하는 기능을 더 포함할 수 있다.
이러한 본 발명의 실시 예에 따른 단말(100)은 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 단말(100)은 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수도 있다.
또한, 본 발명의 실시 예에 따른 단말(100)은 디스플레이 기능을 보유한 장치와, 디스플레이 기능을 보유하지 않은 장치로 구분될 수 있으며, 상기 디스플레이 기능을 보유하지 않은 장치는, TV, 모니터, 프로젝터와 같은 다른 영상 출력 장치(도시생략)과 연결되어, 상기 영상 출력 장치로 데이터를 전송함으로써, 상기 영상 출력 장치를 통해서 서비스 화면을 출력할 수 있다.
이러한 본 발명의 단말(100)은 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 단말(100)로 사용될 수도 있으며, 통신망(300)을 통해 클라우드 서비스 장치(200)가 제공하는 스트리밍 데이터를 수신할 수 있는 장치라면 그 어떠한 장치도 본 발명의 단말(100)로 적용 가능하다.
클라우드 서비스 장치(200)는 본 발명의 클라우드 스트리밍 서비스를 제공하는 구성으로, 화면 가상화 기능을 통해 단말(100)에서 요청된 서비스 혹은 기능을 단말(100)로 제공하는 역할을 수행한다. 여기서, 화면 가상화는 단말(100)에서 실행된 것과 같이 특정 어플리케이션의 실행 화면을 통신망(300)을 통해 연결된 서버 측, 즉, 클라우드 서비스 장치(200)에서 구현하여 단말(100)에 제공하는 것을 의미한다. 이를 위하여, 상기 클라우드 서비스 장치(200)는 자신이 보유한 자원, 예를 들어, 사용자 인터페이스(UI) 어플리케이션, 게임 어플리케이션 등 다양한 어플리케이션을 실행하고, 그 실행 화면을 캡쳐하여 캡쳐 이미지를 생성한 후, 이를 인코딩하여 스트리밍 방식으로 단말(100)로 전송한다. 이때, 상기 클라우드 서비스 장치(200)는 상기 어플리케이션을 단말(100)로부터 전송되는 사용자 입력에 따라서 구동시키며, 변경된 실행 화면을 상기 스트리밍 방식으로 단말(100)로 전송함으로써, 단말(100)의 사용자는 자신의 단말(100)에서 직접 어플리케이션을 실행하는 것과 같은 사용자 경험을 제공받을 수 있다.
보다 구체적인 클라우드 서비스 장치(200)의 주요 구성 및 동작 방법에 대해서는 후술하도록 하며, 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.
마지막으로, 컨텐츠 제공 장치(400)는 상기 클라우드 서비스 장치(200)와는 별도로 소정의 컨텐츠를 제공하는 장치로서, 구체적으로, 스트리밍 방식으로 소정의 컨텐츠를 전송한다. 상기 컨텐츠 제공 장치(400)에서 제공하는 컨텐츠는 예를 들어, 실시간 방송 혹은 VOD와 같은 동영상으로 이루어진 컨텐츠가 될 수 있다. 이러한 컨텐츠 제공 장치(400)는 상기 클라우드 서비스 장치(200)와는 다른 주체(서비스 제공자)에 의해서 운영될 수 있다. 구체적으로, 상기 컨텐츠 제공 장치(400)는 IPTV Head-End system 또는 케이블 TV의 QAM Transmitter 등이 될 수 있다.
아울러, 본 발명의 실시 예에 따른 통신망(300)은 단말(100)과 클라우드 서비스 장치(200) 간, 클라우드 서비스 장치(200)와 컨텐츠 제공 장치(400) 간, 단말(100)과 컨텐츠 제공 장치(400) 사이를 연결하여, 데이터를 전달하기 위한 구성으로서, 다양한 형태의 통신망으로 구현될 수 있다.
예컨대, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신 방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신 방식을 이용할 수 있다. 또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
또한, 단말(100)과 클라우드 서비스 장치(200), 단말(100)과 컨텐츠 제공 장치(400), 클라우드 서비스 장치(200)와 컨텐츠 제공 장치(400) 각각은 서로 다른 통신매체 혹은 통신 방식으로 연결될 수 있다. 예를 들어, 단말(100)과 클라우드 서비스 장치(200), 단말(100)과 컨텐츠 제공 장치(400)는 공용 통신망으로 연결되고, 상기 컨텐츠 제공 장치(400)와 클라우드 서비스 장치(300)는 전용 통신망을 통해 연결될 수 있다.
본 발명은 상술한 단말(100)과 클라우드 스트리밍 장치(200)와 컨텐츠 제공 장치(400)와의 연동을 통해, 컨텐츠 제공 장치(400)로부터 제공되는 컨텐츠 데이터를 클라우드 서비스 장치(200)에서 제공하는 컨텐츠 데이터와 융합하여, 단말(100)로 제공할 수 있다. 컨텐츠 간의 융합은, 예를 들어, 컨텐츠 제공 장치(400)가 제공하는 실시간 방송 또는 VOD의 비디오 영상에, 클라우드 스트리밍 장치(200)가 제공하는 사용자 조작을 위한 사용자 인터페이스 어플리케이션의 융합이 될 수 있다. 그러나, 상술한 예는 단순한 예시에 불과하며, 본 발명에 따른 클라우드 스트리밍 서비스에 따르면 다양한 종류의 서로 다른 컨텐츠 간의 융합이 가능해진다.
아울러, 본 발명의 실시 예에 따른 클라우드 스트리밍 장치(200)와 컨텐츠 제공 장치(400) 간의 연동은 다음과 같은 두 가지 방식으로 이뤄질 수 있다.
먼저, 단말(100)을 통한 컨텐츠 융합이 이뤄질 수 있다.
이때, 단말(100)은 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(400)와 각각 연결될 수 있으며, 상기 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(400) 각각으로 서비스 요청을 전송한다.
이에 의하여, 상기 컨텐츠 제공 장치(400)는 단말(100)이 요청한 제1 컨텐츠를 스트리밍 방식으로 단말(100)로 전송하고, 또한 클라우드 서비스 장치(200)는 상기 서비스 요청에 따라, 사용자 단말(100)에서 요청한 제2 컨텐츠를 실행하고, 그 실행 화면을 실시간으로 캡쳐 및 인코딩하여 스트리밍 방식으로 단말(100)에 전송한다.
그리고, 단말(100)은 컨텐츠 제공 장치(400)로부터 수신되는 제1 컨텐츠와 클라우드 서비스 장치(200)로부터 수신된 제2 컨텐츠를 각각 디코딩한 후 이를 PIP(Picture In Picture), 알파블렌딩(Alphablend) 기술 등 다양한 방식으로 융합하여 융합된 제3 컨텐츠를 실시간 생성하여 출력할 수 있다.
상술한 동작 지원을 위해 단말(100)은 상기 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(400)로 각각 서비스 요청 시, 두 컨텐츠를 연관지을 수 있는 관련 정보를 포함하는 것이 바람직하다. 예를 들어, 클라우드 서비스 장치(200)로 전송되는 서비스 요청에는 상기 컨텐츠 제공 장치(400)로 전송된 서비스 요청과 관련된 관련 정보(예를 들어, 컨텐츠 명 등)가 포함되고, 상기 클라우드 서비스 장치(200)는 상기 관련 정보를 참조하여 해당 컨텐츠와 융합될 컨텐츠를 선택하게 된다. 이를 위해 상기 클라우드 서비스 장치(200)는 상기 컨텐츠 제공 장치(400)에서 제공되는 컨텐츠와 자신이 제공할 컨텐츠 간의 매핑 정보를 관리할 수 있다.
아울러, 상기 단말(100)이 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(400)로부터 전송된 제1,2 컨텐츠 데이터를 수신하고 디코딩하여 융합하는데 있어서, 그 융합 시점의 정확한 동기화를 위하여, 상기 제1,2 컨텐츠 데이터에 동기화 정보를 포함할 수도 있다.
더하여, 본 발명의 실시 예에 따른 클라우드 스트리밍 장치(200)와 컨텐츠 제공 장치(400) 간의 연동은 클라우드 스트리밍 장치(200)를 통해 이뤄질 수 있다.
이를 위해, 상기 클라우드 서비스 장치(200)는 컨텐츠 제공 장치(400)와 연결되어, 상기 컨텐츠 제공 장치(400)로부터 출력되는 제1 컨텐츠를 수신하고, 이에 대한 제1 스트리밍 데이터를 생성한 후, 상기 제1 컨텐츠에 대응하는 제2 컨텐츠(예컨대, 사용자 인터페이스)를 실행하여 제2 스트리밍 데이터를 생성한 후, 제1 스트리밍 데이터와 제2 스트리밍 데이터를 융합하여, PIP(Picture In Picture), 알파블렌딩(Alphablend) 등 다양한 방식을 적용하여 융합하여 제3 스트리밍 데이터를 생성한 후 인코딩하여 단말(100)로 전송할 수 있다.
이하, 본 발명의 실시 예에 따른 단말(100)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 2는 도 1에 도시된 본 발명의 실시 예에 따른 단말의 주요 구성을 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 실시 예에 단말(100)은 통신부(110), 입력부(120), 제어부(130), 저장부(140) 및 표시부(150)를 포함하여 구성될 수 있다.
이 중, 상기 통신부(110)는 통신망(400)을 통해 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(300) 중 하나 이상에 접속하여, 클라우드 스트리밍 서비스와 관련된 데이터를 송수신하기 위한 구성이다. 보다 구체적으로, 본 발명의 제1 실시 예의 경우, 상기 통신부(110)는 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(300)에 동시 접속하여, 각각 서비스 요청을 전송하고, 그에 대한 응답으로 융합할 두 컨텐츠와 관련된 스트리밍 데이터를 수신한다. 반면, 본 발명의 제2 실시 예의 경우, 상기 통신부(110)는 상기 클라우드 서비스 장치(200)에 접속하여, 상기 클라우드 서비스 장치(200)로 서비스 요청을 전송하고 그에 대응하여 두 컨텐츠가 융합된 스트리밍 데이터를 수신한다.
이러한 통신부(110)는 단말(100)이 접속한 통신망(400)의 종류에 대응하여 데이터를 송수신할 수 있도록 다양한 방식의 통신 모듈로 구현될 수 있다. 예를 들어, 통신부(110)는 WCDMA, LTE, LTE-A 등의 이동통신망에 접속하여 데이터를 송수신하기 위한 이동통신 모듈, TCP/IP 기반의 유선 인터넷과 같은 유선 통신망과 접속하여 유선 통신망을 통해서 데이터를 송수신하기 위한 유선 통신 모듈, Wi-Fi 등의 무선 통신 기술을 통해 통신망(400)에 접속하여 데이터를 송수신하기 위한 무선 통신 모듈, 블루투스나 NFC(Near Field Commucation)과 같은 근거리 통신 기술을 통해서 데이터를 송수신하는 근거리 통신 모듈 등 하나 이상의 서로 다른 통신 모듈을 포함할 수 있다. 상기 통신부(110)는 이러한 하나 이상의 통신 모듈을 구비함으로써, 상기 클라우드 서비스 장치(200)와 컨텐츠 제공 장치(300)에 대하여 서로 다른 경로를 통해서 데이터를 송수신할 수 있다.
입력부(120)는 사용자로부터 숫자 및 문자 정보 등의 다양한 정보를 입력 받기 위한 것으로서, 사용자 조작에 따라서 단말(100)에 대한 각종 기능을 설정 및 제어와 관련된 사용자 입력 신호를 생성하여 제어부(130)로 전달한다. 특히, 본 발명의 입력부(120)는 사용자가 클라우드 스트리밍 서비스를 요청할 수 있도록 지원한다.
이러한, 입력부(120)는 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단 또는 음성 입력 수단 중 하나 이상을 포함하여 구현될 수 있다. 상기 입력부(120)에는 이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다. 이때, 입력부(120)가 터치스크린의 형태로 구성될 경우, 입력 기능과 표시 기능을 동시에 수행할 수 있다.
제어부(130)는 본 발명에 따른 단말(100)의 동작 전반을 제어하기 위한 것으로서, 기본적으로, 상기 단말(100)를 구성하는 각 구성 요소의 전원 공급 및 기능 수행을 위한 제어를 수행한다. 이때 제어부(130)는 운영 체제(OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치, 예컨대, 중앙처리장치(CPU, Central Processing Unit)를 결합으로 구현될 수 있다. 즉, 제어부(130)는 단말(100)의 전원 온 시, OS 프로그램을 로딩하여 실행함으로써, 다양한 응용 프로그램들의 실행을 위한 운영체제를 구축하고, 이를 기반으로 하나 이상의 응용 프로그램을 실행하거나, 구성 요소들의 기능을 제어할 수 있다.
특히, 본 발명에 따른 단말(100)의 제어부(130)는 클라우드 스트리밍 서비스와 관련된 사용자 요청에 대응하여 상기 통신부(110)를 통해서 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(300) 중 하나 이상에 접속하여 서비스를 요청한다. 구체적으로, 본 발명의 제1 실시 예에 따르면, 상기 제어부(130)는 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(300)로 동시에 서비스를 요청한 후, 상기 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(300)로부터 각각 제1,2 스트리밍 데이터가 수신되면, 이를 디코딩하여 복원한 후 합성하여, 두 컨텐츠가 융합된 데이터를 생성할 수 있다. 상기 제어부(130)는 생성된 데이터를 렌더링하여 표시부(150)를 통해 출력하거나, 통신부(110)를 통해 별도의 영상 출력 장치(미도시)와 연결된 경우, 상기 영상 출력 장치(미도시)로 제공할 수도 있다.
상술한 과정을 수행하기 위해 제어부(130)는 디코딩 모듈(130a)을 포함하여 구성될 수 있다. 더하여, 도면에는 도시하지 않았으나, 스트리밍 데이터 융합을 위한 믹싱 모듈(미도시), 데이터 출력을 위한 렌더링 모듈(미도시) 등을 더 포함하여 구성될 수도 있다.
다음으로, 저장부(140)는 본 발명의 실시 예에 따른 단말(100)의 동작에 필요한 프로그램 및 데이터를 저장한다. 구체적으로, 상기 저장부(140)은 상기 제어부(130)에 의해 로딩되어 실행될 OS 프로그램 및 하나 이상의 응용 프로그램을 저장하고, 아울러, 상기 하나 이상의 응용 프로그램에 의해 생성되거나 이용될 데이터를 더 저장할 수 있다. 이러한, 저장부(140)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.
표시부(150)는 단말(100)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 표시한다. 특히, 본 발명의 표시부(150)는 상기 제어부(130)의 제어에 따라서 두 컨텐츠가 융합된 컨텐츠를 디스플레이할 수 있다. 이러한 표시부(150)는 LCD(Liquid Crystal Display), TFT-LCD(Thin Film Transistor LCD), OLED(Organic Light Emitting Diodes), 발광다이오드(LED), AMOLED(Active Matrix Organic LED), 플렉시블 디스플레이(Flexible display) 및 3차원 디스플레이(3 Dimension) 등으로 구현될 수 있다.
이와 같이, 도 2를 통해 단말(100)의 주요 구성요소에 대해 설명하였다. 그러나 도 2를 통해 도시된 구성요소가 모두 필수 구성요소인 것은 아니며, 도시된 구성요소보다 많은 구성 요소에 의해 단말(100)이 구현될 수도 있고, 그 보다 적은 구성요소에 의해 단말(100)이 구현될 수도 있다. 예컨대, 단말(100)은 전기적인 신호인 음원을 아날로그 신호로 변환하여 출력하는 음원 출력부(미도시)를 더 포함하여 구성될 수 있다. 또한, 외부의 다른 장치와 연결하여 신호를 전달할 수 있는 접속 인터페이스부(미도시)를 더 포함하여 구성될 수 있다. 이때, 접속 인터페이스부(미도시)는 TV, 모니터, 프로젝터와 같은 영상 출력 장치(미도시)와 접속되어 영상 및 음성 신호 및 제어 신호를 입출력할 수 있도록 한다. 이때의 접속 인터페이스부(미도시)는 HDMI(High-Definition Multimedia Interface: 고선명 멀티미디어 인터페이스)를 포함하는 다양한 AV 인터페이스가 될 수 있다.
또한, 접속 인터페이스부(미도시) 또는 표시부(150)는 선택적으로 단말(100)에 구비될 수 있다. 예컨대, 단말(100)이 셋탑박스로 구현되는 경우, 단말(100)은 표시부(150) 대신 접속 인터페이스부(미도시)를 구비할 수 있으며, 스마트폰, 태블릿 PC로 구현되는 경우, 접속 인터페이스부(미도시) 대신 표시부(150)가 구비될 수 있다.
또한, 도 2를 통해 도시된 단말(100)의 주요 구성요소의 위치는 얼마든지 편의상 또는 다른 이유로 바뀔 수 있음이 물론이다.
이하, 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 3은 도 1에 도시된 본 발명의 실시 예에 따른 클라우드 서비스 장치의 주요 구성을 도시한 블록도이다.
도 1 및 도 3을 참조하면, 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)는 어플리케이션 처리 장치(210), 클라우드 스트리밍 서비스 지원 장치(220) 및 통신 장치(230)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저 통신 장치(230)는 외부적으로는 통신망(300)을 통해 하나 이상의 단말(100), 컨텐츠 제공 장치(400)와 정보를 송수신하는 역할을 지원할 수 있다. 또한, 통신 장치(230)는 내부적으로는 어플리케이션 처리 장치(210)와 클라우드 스트리밍 서비스 지원 장치(200)와 정보를 송수신하는 역할을 지원할 수도 있다.
어플리케이션 처리 장치(210)는 클라우드 스트리밍 서비스 지원 장치(220)의 요청에 따라 사용자 인터페이스 어플리케이션 등 다양한 웹 어플리케이션을 구동하고, 이에 따른 처리 결과를 상기 클라우드 스트리밍 서비스 지원 장치(200)로 제공하는 역할을 수행하게 된다.
어플리케이션 처리 장치(210)로부터 웹 어플리케이션 실행에 따른 결과를 수신한 클라우드 스트리밍 서비스 지원 장치(200)는 상기 결과를 실시간 캡쳐하여 캡쳐 이미지를 생성하고, 생성된 캡쳐 이미지를 인코딩 후 단말(100)로 스트리밍 하여 스트리밍 데이터를 통신 장치(230)를 거쳐 전송하게 된다.
상기 어플리케이션 처리 장치(210) 및 클라우드 스트리밍 서비스 지원 장치(220)의 동작에 대해 보다 더 구체적으로 설명하면, 어플리케이션 처리 장치(210)는 브라우저 구동부(211), 어플리케이션 실행부(212) 및 저장부(213)를 포함하여 구성될 수 있으며, 클라우드 스트리밍 서비스 지원 장치(220)는 캡쳐부(221), 인코딩부(222) 및 스트리밍부(223)을 포함하여 구성될 수 있다.
먼저, 어플리케이션 처리 장치(210)의 브라우저 구동부(211)는 클라우드 스트리밍 서비스 지원 장치(220)의 요청에 따라 저장부(213)에 기 저장된 웹 어플리케이션 실행을 위한 브라우저를 구동한다. 그리고, 클라우드 스트리밍 서비스 지원 장치(200)가 요청한 웹 어플리케이션, 예컨대 사용자 인터페이스 어플리케이션의 실행을 어플리케이션 실행부(212)로 요청한다.
이를 수신한 어플리케이션 실행부(212)는 해당하는 웹 어플리케이션, 예컨대 사용자 인터페이스 어플리케이션을 구동하고, 그 구동에 따른 결과를 브라우저 구동부(211)를 통해 출력할 수 있다.
이를 수신한 브라우저 구동부(211)는 실행에 따른 결과를 클라우드 스트리밍 서비스 지원 장치(220)로 전달한다.
이를 수신한 클라우드 스트리밍 서비스 지원 장치(220)의 캡쳐부(221)는 실행에 따른 결과를 실시간 캡쳐하여 캡쳐 이미지를 생성하고, 생성된 캡쳐 이미지를 인코딩부(222)로 전달한다. 인코딩부(222)는 상기 캡쳐 이미지를 인코딩하여 스트리밍부(223)로 전달하고, 스트리밍부(223)는 상기 인코딩된 캡쳐 이미지를 스트리밍 방식으로 단말(100)로 제공하는 역할을 수행할 수 있다.
이러한 다수의 장치가 연동하는 클라우드 서비스 장치(200)에 있어서, 특히, 본 발명의 실시 예에 따른 어플리케이션 처리 장치(210)가 저장부(213)에 기 저장하고 있는 웹 어플리케이션은 사용자와 상호 작용이 가능한 사용자 인터페이스만을 포함하는 사용자 인터페이스 어플리케이션이 될 수 있으며, 상기 사용자 인터페이스를 포함하고 별도의 처리가 가능한 게임 어플리케이션 등 다양한 형태의 웹 어플리케이션이 될 수 있다.
또한, 상기 웹 어플리케이션은 저장부(213)에 웹 컨테이너(web container)의 형태로 존재할 수 있다.
이하, 본 발명의 실시 예에 따른 웹 어플리케이션에 대해 보다 더 구체적으로 설명하도록 한다.
도 4 내지 도 7은 본 발명의 실시 예에 따른 웹 어플리케이션을 설명하기 위한 도면이다.
먼저, 도 4를 참조하면, 본 발명의 실시 예에 따른 웹 어플리케이션(251)은 브라우저 엔진(252)과 함께 웹 컨테이너(250)를 구성한다. 브라우저 엔진(252)은 웹 기반으로 구성된 웹 어플리케이션의 소프트웨어 로직 및 데이터를 렌더링 및 파싱하는 과정을 수행한다. 이때, 웹 기반으로 구성된 웹 어플리케이션의 소프트웨어 로직 및 데이터는 HTML과 같은 마크업 언어, 스트립트(script) 및 CSS(Cascading Style Sheets) 등의 웹 코드를 이용하여 제작된 사용자 인터페이스 로직 등을 의미한다. 즉, 브라우저 엔진(252)은 HTML, 자바스크립트, CSS 등의 웹 코드로 구현된 웹 어플리케이션을 실행하며, 상기 웹 어플리케이션의 내용에 따라 사용자 인터페이스를 렌더링 및 파싱하여 출력하는 과정을 수행할 수 있다.
한편, 웹 어플리케이션(251)의 파일 구조는 도 5에 도시된 바와 같이, 소스 파일(251a), 리소스 파일(251b) 및 구성 정보(251c)를 포함하여 구성될 수 있다. 여기서, 소스 파일(251a)에 의해 웹 어플리케이션의 각 페이지가 표현되며, 본 발명의 실시 예에 따른 사용자 인터페이스에 대한 소스 파일을 포함할 수 있다. 이러한 소스 파일은 마크업 언어(Markup Language), 스타일시트(Style Sheets), 및 스크립트 언어(scripting language)로 작성될 수 있으며, 이중 스타일시트 및 스크립트 언어는 선택적으로 생략 가능하다. 또한, 마크업 언어로는 HTML(Hypertext Markup Language), XHTML(extensible Hypertext Markup Language), XML(Extensible Markup Language) 등을 예시할 수 있으며, 이러한 마크업 언어는 다수의 태그(tag)와 각 태그의 속성 (attribute) 및 일반적인 텍스트로 이루어진다. 스타일시트는 사용자가 정의한 디자인 속성, 즉, 스타일을 기술하기 위한 언어로서, 태그, 속성, 및 텍스트에 의해 보여지는 페이지의 글꼴, 크기, 색상, 레이아웃 등의 스타일을 기술한다. 이러한 스타일시트를 사용한 페이지는 다른 화면 해상도를 가지는 표시 장치와 다른 종류의 브라우저에서도 스타일시트에 기술한 바에 따라 동일하게 보여진다. 이 스타일시트는 대표적으로 CSS(Cascading Style Sheets)를 예시할 수 있다. 스크립트 언어는 프로그래밍 언어로서 웹 어플리케이션을 동적으로 제어하기 위한 언어이다. 대표적으로, 자바 스크립트(Java Script)를 예시할 수 있다.
리소스 파일(251b)은 웹 어플리케이션의 각 페이지에 삽입되는 소스 파일(251a) 이외의 각종 파일을 말한다. 이 리소스 파일(251b)은 소스 파일(251a)을 기술하는 프로그래밍 언어를 통해 링크 태그를 이용하여 페이지에 삽입될 수 있다. 또한, 이러한 리소스 파일(251b)은 웹(Web) 상의 어느 일 디바이스 또는 웹 어플리케이션이 실행되는 로컬 디바이스에 저장될 수 있으며, 이 리소스 파일(251b)에 접근하여 다운로드 받을 수 있는 주소(URL)는 마크업 언어를 통해 태그의 속성으로 기술된다. 이러한 리소스 파일(251b)로 장면 기술(scene description), 비디오(video), 오디오(audio), 이미지(image), 폰트(font), 텍스트(text), 메타데이터(metadata) 및 스크립트(script) 파일 등을 예시할 수 있다. 리소스 파일(251b)은 앞서 나열한 것 이외에도 다양한 종류가 존재할 수 있으며, 다양한 형식(format)의 파일이 될 수 있다.
구성(Configuration) 정보는 구성 정보 파일(210)에 기술되는 내용으로, 해당 웹 어플리케이션에 포함되는 파일 의 목록, 그 파일 별 공개 여부와 공개 범위, 및 웹 어플리케이션의 실행 환경을 설정하기 위한 설정 값이 저장된다. 여기서, 실행 환경은 웹 어플리케이션이 실행되기 위해 요구되는 사양과 그 설정을 기술하는 것으로, 화면 크기, CPU, 그 CPU의 클럭 속도, 운영 체제, 입력 및 출력을 위한 버퍼(buffer)의 형태 및 크기 등이 될 수 있다.
이러한, 웹 어플리케이션은 클라우드 서비스 장치(200)에 의해 실행되어, 도 6에 도시된 바와 같이, 단말(100)을 통해 출력될 수 있다.
이때, 웹 어플리케이션은 논리적 관점에서 계층적 형태로 구분될 수 있다. 즉, 사용자 인터페이스 레이어(503), 웹 어플리케이션 레이어(501), 브라우저 레이어(500)로 구분될 수 있다. 이때, 사용자 인터페이스 레이어(503)는 웹 어플리케이션 레이어(501) 위에 오버레이하여 표시될 수 있으며, 상기 사요ㅇ자 인터페이스 부분을 제외한 나머지 웹 어플리케이션 레이어(501)와 겹치는 부분은 투명화 처리가 된 상태이다.
이때, 본 발명의 실시 예에 따른 웹 어플리케이션이, 사용자와 상호 작용이 가능한 사용자 인터페이스만을 포함하는 사용자 인터페이스 어플리케이션일 경우, 상기 웹 어플리케이션 레이어(501)에 해당하는 부분은 별도의 컨텐츠 제공 장치(400)로부터 제공된 데이터가 될 수 있으며, 클라우드 서비스 장치(200)에 의해 융합되어 표시될 수 있다.
도 7은 상술한 웹 어플리케이션의 레이어 계층을 도식화한 것으로, 상기 사용자 인터페이스 레이어(503)가 도 6에 도시된 바와 같이 투명화 처리되어 표시되는 경우, 종래에는 투명화 처리가 된 사용자 인터페이스 레이어를 클라우드 서비스 장치(200)가 캡쳐하여 단말(100)로 제공하지 못하였다.
본 발명은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 상기 사용자 인터페이스 레이어(503)는 캔버스(canvas) 오브젝트를 이용하여 구현, 보다 정확하게는 캔버스 오브젝트를 포함하는 HTML(HyperText Transfer Protocol)로 구현하는 것을 특징으로 한다.
캔버스 오브젝트는 HTML(Hypertext Markup Language)에서 새롭게 도입된 개념의 오브젝트로서, 텍스트 기반의 HTML 데이터에 기초하여 사용자 인터페이스가 구성될 때 2차원의 비트맵 이미지 렌더링을 가능하게 한다. DOM인터페이스(Document Object Model Interface)를 통해, 스크립트에 의해 캔버스 오브젝트에 기초한 그래픽 랜더링이 제어된다.
상기 캔버스 오브젝트를 이용하여 구현되는 사용자 인터페이스를 포함하는 본 발명의 실시 예에 따른 웹 어플리케이션은 클라우드 스트리밍 서비스 지원 장치(220)로 실행에 따른 결과 제공하기 위해, 먼저, 상기 클라우드 스트리밍 서비스 지원 장치(220)의 요청에 따라 상기 캔버스 오브젝트가 제공하는 메소드, 예컨대, toDaTaURL을 이용하여 상기 캔버스 오브젝트를 이용하여 렌더링된 그래픽 개체들을 문자열로 변환하게 된다. 이후, 문자열로 변환된 상기 사용자 인터페이스를 캡쳐하여 캡쳐 이미지를 생성하고 스트리밍 방식으로 단말(100)로 제공하기 위해, 클라우드 스트리밍 서비스 지원 장치(220)로 전송한다.
이때, 본 발명의 실시 예에 따른 웹 어플리케이션은 웹 소켓(web socket) 프로그램을 이용하여 클라우드 스트리밍 서비스 지원 장치(220)로 전송되도록 구현될 수 있으며, 어플리케이션 처리 장치(210)와 클라우드 스트리밍 서비스 지원 장치(220)는 프록시 서버(미도시)를 통해 연동될 수도 있다.
이러한 웹 어플리케이션의 코딩 예는 다음과 같다.
var canvas=document.getElementById("myCanvas");
//...
//canvas를 사용한 메뉴 구성
//...

//image : base64string 형태의 image data
var image = canvas.toDataURL("image/png");

//send to proxy server
websocket.send(image);
이상으로 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)의 주요 구성 및 동작 방법에 대해 설명하였다.
본 발명의 실시 예에 따른 클라우드 서비스 장치(200)는 하드웨어적으로는 통상적인 웹서버(Web Server) 또는 네트워크 서버와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는 C, C++, Java, Visual Basic, Visual C 등과 같은 언어를 통하여 구현되는 프로그램 모듈(Module)을 포함한다.
클라우드 서비스 장치(200)는 전술한 바와 같이 웹서버 또는 네트워크 서버의 형태로 구현될 수 있으며, 웹서버는 일반적으로 인터넷과 같은 개방형 컴퓨터 네트워크를 통하여 불특정 다수 클라이언트 및/또는 다른 서버와 연결되어 있고, 클라이언트 또는 다른 웹서버의 작업수행 요청을 접수하고 그에 대한 작업 결과를 도출하여 제공하는 컴퓨터 시스템 및 그를 위하여 설치되어 있는 컴퓨터 소프트웨어(웹서버 프로그램)를 뜻하는 것이다. 그러나, 전술한 웹서버 프로그램 이외에도, 웹서버 상에서 동작하는 일련의 응용 프로그램(Application Program)과 경우에 따라서는 내부에 구축되어 있는 각종 데이터베이스를 포함하는 넓은 개념으로 이해되어야 할 것이다. 이러한 클라우드 서비스 장치(200)는 일반적인 서버용 하드웨어에 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 매킨토시(Macintosh) 등의 운영체제에 따라 다양하게 제공되고 있는 웹서버 프로그램을 이용하여 구현될 수 있으며, 대표적인 것으로는 윈도우 환경에서 사용되는 웹사이트(Website), IIS(Internet Information Server)와 유닉스환경에서 사용되는 CERN, NCSA, APPACH 등이 이용될 수 있다. 또한, 클라우드 서비스 장치(200)는 서비스 가입 정보를 분류하여 회원 데이터베이스(Database)에 저장시키고 관리할 수 있으며, 이러한 데이터베이스는 클라우드 서비스 장치(200)의 내부 또는 외부에 구현될 수 있다.
또한, 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)는 하나의 슈퍼 컴퓨터 또는 여러 대의 컴퓨터가 하나의 컴퓨터처럼 작동하도록 연결된 동일한 하드웨어 플랫폼상에서 복수의 사용자에게 독립적인 가상 머신(Virtual Machine:VM)을 제공하는 분산 컴퓨팅 시스템의 형태로 구현될 수 있다.
한편, 단말(100) 또는 클라우드 서비스 장치(200)에 탑재되는 메모리는 그 장치 내에서 정보를 저장한다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛 일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛 일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.
아울러, 본 발명의 실시 예에서 사용되는 '~모듈'이라는 용어는 소프트웨어 구성요소를 의미하며, '~모듈'은 어떤 역할들을 수행한다. 일 예로서 '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.
비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
이하, 본 발명의 실시 예에 따른 웹 어플리케이션의 구동 방법에 대해 설명하도록 한다.
도 8은 본 발명의 실시 예에 따른 웹 어플리케이션의 기능 구성을 설명하기 위한 흐름도이다.
도 1 내지 도 8을 참조하면, 본 발명의 실시 예에 따른 웹 어플리케이션은 사용자와 상호 작용이 가능한 사용자 인터페이스를 포함할 수 있다. 또는 사용자 인터페이스만을 포함하는 사용자 인터페이스 어플리케이션이 될 수 있다.
이러한 웹 어플리케이션의 사용자 인터페이스는 전술한 바와 같이 HTML이 제공하는 캔버스 오브젝트를 이용하여 구현되어야 한다(S101). 이러한 웹 어플리케이션은 어플리케이션 처리 장치(210)에서 동작하고 그 처리 결과를 클라우드 스트리밍 서비스 지원 장치(220)로 전달하며, 클라우드 스트리밍 서비스 지원 장치(220)는 스트리밍 방식으로 단말(100)로 처리 결과를 제공할 수 있다. 이러한 환경에서 구동하는 본 발명의 웹 어플리케이션은 상기 클라우드 스트리밍 서비스 지원 장치(220)의 요청에 따라 구동되며, 구동에 따른 처리 결과를 클라우드 스트리밍 서비스 지원 장치(220)로 전달하기 위해, 웹 어플리케이션의 사용자 인터페이스를 상기 캔버스 오브젝트가 제공하는 메소드를 이용하여 문자열로 변환한 후(S103), 문자열로 변환된 사용자 인터페이스를 클라우드 스트리밍 서비스 지원 장치(220)로 제공한다(S105). 이때, 상기 클라우드 스트리밍 서비스 지원 장치(220)로 제공하기 위한 기능은 웹 소켓 프로그램을 이용하도록 구현될 수 있다.
상술한 과정에 대해 도 9를 참조하여 보다 더 구체적으로 설명하도록 한다.
도 9는 본 발명의 실시 예에 따른 웹 어플리케이션 구동 동작을 설명하기 위한 데이터 흐름도이다.
도 9를 참조하면, 마찬가지로 사용자 인터페이스를 포함하는 웹 어플리케이션(251)은 캔버스 오브젝트를 이용하여 상기 사용자 인터페이스가 구현된 상태에서 동작하는 것이 바람직하다(S201). 이러한 상태에서, 클라우드 스트리밍 서비스 지원 장치(220)은 단말의 요청에 따라(S203) 컨텐츠 제공 장치(400)가 제공하는 컨텐츠 데이터에 대응하는 사용자 인터페이스 어플리케이션, 즉 웹 어플리케이션의 구동 요청을 어플리케이션 처리 장치(210)의 브라우저 엔진(252)으로 전달한다(S205). 상기 브라우저 엔진(252)의 접근은 어플리케이션 처리 장치(210)의 논리적 구성 요소인 브라우저 구동부(211)를 통해 이뤄질 수 있다. 그리고, 브라우저 엔진(252)은 상기 어플리케이션 처리 장치(210)의 논리적 구성 요소인 어플리케이션 실행부(212)로 해당 요청을 전달하고(S207), 상기 어플리케이션 실행부(212)의 요청에 따라 웹 어플리케이션(251)은 구동하고, 상기 웹 어플리케이션의 사용자 인터페이스는 캔버스 오브젝트가 제공하는 메소드를 이용하여 문자열로 변환되게 된다(S209). 그리고, 웹 어플리케이션은 변환된 사용자 인터페이스를 웹 소켓을 이용하여 브라우저 엔진(252)을 거쳐, 클라우드 스트리밍 서비스 지원 장치(200)로 전달되도록 프로그램화되어 있다. 따라서, 상술한 바와 같은 S211~S213 단계의 동작 수행이 가능하며, 이를 수신한 클라우드 스트리밍 서비스 지원 장치(200)은 상기 브라우저 엔진(252)을 통해 제공되는 결과를 캡쳐하여 캡쳐 이미지를 생성한 후 인코딩하여 단말(100)로 스트리밍 방식으로 제공할 수 있게 된다.
이하, 본 발명의 실시 예에 따른 웹 어플리케이션에 대한 클라우드 서비스 제공 방법에 대해 설명하도록 한다.
도 10은 본 발명의 실시 예에 따른 웹 어플리케이션에 대한 클라우드 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 10을 참조하여 본 발명의 실시 예에 웹 어플리케이션에 대한 클라우드 서비스 제공 방법에 대해 설명하기에 앞서, 클라우드 서비스 장치(200)가 제공하는 웹 어플리케이션이 컨텐츠 제공 장치(400)가 제공하는 컨텐츠 데이터에 대응하는 사용자 인터페이스만을 포함하는 사용자 인터페이스 어플리케이션인 것으로 가정하여 설명하도록 한다.
아울러, 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)가 상기 컨텐츠 제공 장치(400)가 제공하는 컨텐츠 데이터에 대한 실행에 따라 생성된 캡쳐 이미지와, 상기 컨텐츠 데이터에 대응하는 사용자 인터페이스 어플리케이션(251)의 실행에 따라 생성된 캡쳐 이미지를 동기화하여 합성하고, 이를 단말(100)로 제공하는 것을 중심으로 설명하도록 하나, 이에 한정되는 것은 아니며, 도 1을 참조하여 설명한 바와 같이, 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(400)가 단말(100)의 요청에 따라 각각 해당하는 데이터를 제공하고, 단말(100)에 의해 합성되어 출력될 수도 있다.
도 10을 참조하면, 먼저, 단말(100)은 클라우드 서비스 장치(200)로 컨텐츠 제공 장치(400)가 제공하는 컨텐츠 데이터를 요청한다(S301). 이때의 상기 컨텐츠 데이터는 VOD(Video on Demand) 서비스가 될 수 있다.
이를 수신한 클라우드 서비스 장치(200)는 해당하는 컨텐츠 제공 장치(400)로 컨텐츠 데이터를 요청(S303)함과 동시에, 상기 컨텐츠 데이터에 대응하는 사용자 인터페이스 어플리케이션이 존재하는 지 여부를 판단한다(S303), 상기 판단 결과, 상기 컨텐츠 제공 장치(400)가 제공하는 컨텐츠 데이터에 대한 사용자 인터페이스 어플리케이션이 존재하는 경우, 상기 사용자 인터페이스 어플리케이션(251)의 구동을 시작하고, 이를 문자열로 변환한다(S309). 이때, 상기 사용자 인터페이스는 캔버스 오브젝트를 이용하여 구현되며, 상기 캔버스 오브젝트가 제공하는 메소드, 예컨대 toDataURL을 이용하여 문자열로 변환하고, 변환된 문자열에 대한 캡쳐 이미지를 생성하게 된다(S311).
그리고, 상기 컨텐츠 데이터 요청에 따라 컨텐츠 제공 장치(400)로부터 해당하는 컨텐츠 또는 컨텐츠 실행에 따른 결과가 제공되면, 상기 컨텐츠 데이터 실행에 따른 결과 화면을 캡쳐하여 캡쳐 이미지를 생성하고(S315), 클라우드 서비스 장치(200)는 상기 캡쳐 이미지를 합성하여(S317), 단말(100)로 제공할 수 있다(S319). 이때 상기 캡쳐 이미지는 인코딩되어 스트리밍 방식으로 단말(100)로 전송되며, 단말(100)은 상기 인코딩된 캡쳐 이미지를 디코딩하여 출력하는 과정을 수행할 수 있다.
이상으로 본 발명의 실시 예에 따른 클라우드 서비스 제공 방법에 대해 설명하였다.
상술한 바와 같은 본 발명의 클라우드 서비스 제공 방법 및 상기 기능 지원을 위한 웹 어플리케이션은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 이때, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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: 제어부
130a: 디코딩 모듈 140: 저장부
150: 표시부 200: 클라우드 서비스 장치
210: 어플리케이션 처리 장치 211: 브라우저 구동부
212: 어플리케이션 실행부 213: 저장부
220: 클라우드 스트리밍 서비스 지원 장치
221: 캡쳐부 222: 인코딩부
223: 스트리밍부 230: 통신 장치
300: 통신망 400: 컨텐츠 제공 장치

Claims (15)

  1. 단말의 요청에 따라 컨텐츠 제공 장치가 제공하는 컨텐츠 데이터에 대응하는 사용자 인터페이스 어플리케이션의 구동을 어플리케이션 처리 장치로 전달하고, 상기 어플리케이션 처리 장치로부터 제공되는 사용자 인터페이스 어플리케이션 실행에 따른 캡쳐 이미지를 생성한 후, 생성한 상기 캡쳐 이미지를 상기 단말로 스트리밍하여 제공하는 클라우드 스트리밍 서비스 지원 장치; 및
    상기 클라우드 스트리밍 서비스 지원 장치의 요청에 따라 상기 사용자 인터페이스 어플리케이션을 구동하여 상기 사용자 인터페이스 어플리케이션을 문자열로 변환한 후, 상기 변환된 사용자 인터페이스 어플리케이션을 실행에 따른 결과를 상기 클라우드 스트리밍 서비스 지원 장치로 전달하는 어플리케이션 처리 장치;
    를 포함하는 것을 특징으로 하는 클라우드 서비스 장치.
  2. 제1 항에 있어서,
    상기 클라우드 스트리밍 서비스 지원 장치는
    상기 사용자 인터페이스 어플리케이션 실행에 따른 캡쳐 이미지를 생성하는 캡쳐부;
    상기 캡쳐된 캡쳐 이미지를 인코딩하는 인코딩부; 및
    상기 단말의 요청을 수신하고, 상기 인코딩된 캡쳐 이미지를 스트리밍하여 상기 단말로 제공하는 스트리밍부;
    를 포함하는 것을 특징으로 하는 클라우드 서비스 장치.
  3. 제1 항에 있어서,
    상기 어플리케이션 처리 장치는
    상기 클라우드 스트리밍 서비스 지원 장치의 요청에 따라 브라우저를 구동하는 브라우저 구동부; 및
    상기 구동된 브라우저를 통해 상기 사용자 인터페이스 어플리케이션을 구동하여 변환된 상기 사용자 인터페이스 어플리케이션을 출력하는 어플리케이션 실행부;
    를 포함하는 것을 특징으로 하는 클라우드 서비스 장치.
  4. 제1 항에 있어서,
    상기 사용자 인터페이스 어플리케이션은
    캔버스(canvas) 오브젝트를 이용하여 구현된 사용자와 상호 작용이 가능한 사용자 인터페이스를 포함하며,
    상기 어플리케이션 처리 장치는
    상기 클라우드 스트리밍 서비스 지원 장치의 요청에 따라, 상기 캔버스 오브젝트가 제공하는 메소드를 이용하여 상기 사용자 인터페이스를 문자열로 변환하고, 변환된 상기 사용자 인터페이스를 상기 클라우드 스트리밍 서비스 지원 장치로 전달하는 것을 특징으로 하는 클라우드 서비스 장치.
  5. 제4 항에 있어서,
    상기 어플리케이션 처리 장치는
    상기 변환된 사용자 인터페이스를 웹 소켓(web socket) 프로그램을 이용하여 상기 클라우드 스트리밍 서비스 지원 장치로 전달하는 것을 특징으로 하는 클라우드 서비스 장치.
  6. 단말의 요청에 따라 컨텐츠 제공 장치가 제공하는 컨텐츠 데이터에 대응하는 사용자 인터페이스 어플리케이션을 구동하여 상기 사용자 인터페이스 어플리케이션을 문자열로 변환한 후, 변환된 상기 사용자 인터페이스 어플리케이션의 실행에 따른 캡쳐 이미지를 상기 단말로 스트리밍하여 제공하는 클라우드 서비스 장치; 및
    컨텐츠 제공 장치가 제공하는 컨텐츠 데이터를 요청하고, 상기 클라우드 서비스 장치로부터 상기 컨텐츠 데이터에 대응하는 사용자 인터페이스 어플리케이션의 스트리밍 데이터를 수신하는 단말;
    을 포함하는 것을 특징으로 하는 클라우드 서비스 시스템
  7. 단말의 요청에 따라 컨텐츠 제공 장치가 제공하는 컨텐츠 데이터에 대응하는 사용자 인터페이스 어플리케이션을 구동하는 단계;
    상기 사용자 인터페이스 어플리케이션을 문자열로 변환하여 캡쳐 이미지를 생성하는 단계; 및
    상기 캡쳐 이미지를 상기 컨텐츠 데이터에 대응하여 상기 단말로 스트리밍하여 전송하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  8. 제7 항에 있어서,
    상기 구동하는 단계 이전에,
    상기 컨텐츠 제공 장치가 제공하는 컨텐츠 데이터에 대응하는 사용자 인터페이스 어플리케이션이 존재하는 지 여부를 검사하는 단계;
    를 더 포함하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  9. 제7 항에 있어서,
    상기 사용자 인터페이스 어플리케이션은
    캔버스(canvas) 오브젝트를 이용하여 구현된 사용자와 상호 작용이 가능한 사용자 인터페이스를 포함하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  10. 제9 항에 있어서,
    상기 캡쳐 이미지를 생성하는 단계는
    상기 캔버스 오브젝트가 제공하는 메소드를 이용하여 상기 사용자 인터페이스를 문자열로 변환하는 단계; 및
    상기 변환된 사용자 인터페이스에 대한 캡쳐 이미지 생성을 위해, 클라우드 스트리밍 서비스 지원 장치로 전달하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  11. 제10 항에 있어서,
    상기 클라우드 스트리밍 서비스 지원 장치로 전달하는 단계는
    웹 소켓(web socket) 프로그램을 이용하여 전달되는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  12. 제7항 내지 제11항 중 어느 하나의 항에 기재된 클라우드 서비스 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  13. 클라우드 스트리밍 서비스 기능 지원을 위한 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체에 있어서,
    캔버스(canvas) 오브젝트를 이용하여 사용자와 상호 작용이 가능한 사용자 인터페이스를 구현하는 기능;
    상기 캔버스 오브젝트로 구현된 상기 사용자 인터페이스를 상기 캔버스 오브젝트가 제공하는 메소드를 이용하여 문자열로 변환하는 기능; 및
    상기 문자열로 변환된 상기 사용자 인터페이스를 상기 클라우드 스트리밍 서비스 기능을 지원하는 클라우드 스트리밍 서비스 지원 장치로 전송하는 기능;
    을 처리하기 위한 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체.
  14. 제13 항에 있어서,
    상기 전송하는 기능은
    상기 변환된 사용자 인터페이스를 웹 소켓을 통해 상기 클라우드 스트리밍 서비스 지원 장치로 전송되도록 구현되는 것을 특징으로 하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체.
  15. 제13 항에 있어서,
    상기 웹 어플리케이션은
    상기 사용자 인터페이스를 포함하는 사용자 인터페이스 레이어 및 브라우저 레이어로 구성되는 것을 특징으로 하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체.
KR1020140077924A 2014-06-25 2014-06-25 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치 KR20160000911A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140077924A KR20160000911A (ko) 2014-06-25 2014-06-25 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치
PCT/KR2014/012474 WO2015199299A1 (ko) 2014-06-25 2014-12-17 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140077924A KR20160000911A (ko) 2014-06-25 2014-06-25 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치

Publications (1)

Publication Number Publication Date
KR20160000911A true KR20160000911A (ko) 2016-01-06

Family

ID=54938363

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140077924A KR20160000911A (ko) 2014-06-25 2014-06-25 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치

Country Status (2)

Country Link
KR (1) KR20160000911A (ko)
WO (1) WO2015199299A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180055342A (ko) * 2016-11-17 2018-05-25 에스케이테크엑스 주식회사 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
KR20220130391A (ko) * 2021-03-18 2022-09-27 주식회사 엘지유플러스 클라우드 렌더링 서비스

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114268626A (zh) * 2020-09-16 2022-04-01 阿里巴巴集团控股有限公司 窗口处理系统、方法以及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130026609A (ko) 2011-08-18 2013-03-14 (주)필링크 멀티미디어 클라우드 시스템의 클라이언트에서 멀티미디어 클라우드 서비스 제공 장치 및 방법, 그리고 멀티미디어 클라우드 시스템의 소셜 네트워크 서비스 서버에서 멀티미디어 클라우드 서비스 제공 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101319815B1 (ko) * 2011-06-22 2013-10-21 김강수 멀티 단말 장치 간 서버-클라이언트 서비스 환경을 지원하는 앱 구동 방법
WO2013006168A1 (en) * 2011-07-06 2013-01-10 Empire Technology Development, Llc Transcoding detection and adjustment of content for optimal display
KR20130038130A (ko) * 2011-10-07 2013-04-17 주식회사 케이티 클라우드 기반 사용자 메뉴 제공 방법 및 그 장치
KR101467430B1 (ko) * 2011-12-12 2014-12-01 주식회사 케이티 클라우드 컴퓨팅 기반 어플리케이션 제공 방법 및 시스템
KR101907660B1 (ko) * 2011-12-15 2018-12-06 한국전자통신연구원 웹 기반의 운영체제를 탑재한 단말 장치 및 이를 이용한 서비스 제공 방법
US20130219006A1 (en) * 2012-02-21 2013-08-22 Sony Corporation Multiple media devices through a gateway server or services to access cloud computing service storage

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130026609A (ko) 2011-08-18 2013-03-14 (주)필링크 멀티미디어 클라우드 시스템의 클라이언트에서 멀티미디어 클라우드 서비스 제공 장치 및 방법, 그리고 멀티미디어 클라우드 시스템의 소셜 네트워크 서비스 서버에서 멀티미디어 클라우드 서비스 제공 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180055342A (ko) * 2016-11-17 2018-05-25 에스케이테크엑스 주식회사 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
US10560501B2 (en) 2016-11-17 2020-02-11 Sk Planet Co., Ltd. Method and apparatus for cloud streaming service
KR20220130391A (ko) * 2021-03-18 2022-09-27 주식회사 엘지유플러스 클라우드 렌더링 서비스

Also Published As

Publication number Publication date
WO2015199299A1 (ko) 2015-12-30

Similar Documents

Publication Publication Date Title
US11422779B2 (en) Application support for network devices
US8271675B2 (en) Remote control apparatus and method
US10769353B2 (en) Dynamic streaming content provided by server and client-side tracking application
US9621957B2 (en) Method and system for low-latency browsing on a device with limited processing resources
EP2903241B1 (en) Compression of serialized data for communication from a client-side application
CN108337560B (zh) 用于在web浏览器上播放媒体的媒体重放设备和媒体服务设备
KR20110040604A (ko) 클라우드 서버, 클라이언트 단말, 디바이스, 클라우드 서버의 동작 방법 및 클라이언트 단말의 동작 방법
US9680897B2 (en) Throttled scanning for optimized compression of network communicated data
US10534852B2 (en) Display system and virtual web device in the cloud
KR20150096440A (ko) 분산 크로스-플랫폼 사용자 인터페이스 및 애플리케이션 프로젝션
US20150350734A1 (en) Method and system for providing complete internet anywhere with full server assisted processing
WO2017101416A1 (zh) 一种用于多端内容发布的设备、系统及方法
KR102086731B1 (ko) 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체
US8332897B1 (en) Remote rendering of webpages on television
KR20160000911A (ko) 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치
CN116261003A (zh) 一种显示设备及基于浏览器的流媒体播放控制方法
KR102078576B1 (ko) 알파 데이터 압축을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20160110844A (ko) 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
KR101262493B1 (ko) Ux 특성을 갖춘 웹 기반 프레임워크를 제공하는 시스템 및 방법
US20120102389A1 (en) Method and system for rendering web content
CN113497965A (zh) 旋转动画的配置方法及显示设备

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application