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

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

Info

Publication number
WO2014092289A1
WO2014092289A1 PCT/KR2013/007494 KR2013007494W WO2014092289A1 WO 2014092289 A1 WO2014092289 A1 WO 2014092289A1 KR 2013007494 W KR2013007494 W KR 2013007494W WO 2014092289 A1 WO2014092289 A1 WO 2014092289A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
client terminal
information
service
execution
Prior art date
Application number
PCT/KR2013/007494
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020120144193A external-priority patent/KR101471914B1/ko
Priority claimed from KR1020120144194A external-priority patent/KR20140076073A/ko
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to EP13862151.1A priority Critical patent/EP2933729B1/en
Priority to CN201380062193.7A priority patent/CN104823178B/zh
Publication of WO2014092289A1 publication Critical patent/WO2014092289A1/ko
Priority to US14/570,187 priority patent/US20150100629A1/en

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • 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/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Abstract

본 발명은 클라우드 서비스 제공 방법에 관한 것으로서, 더욱 상세하게는 클라이언트 단말이 실행 요청한 어플리케이션이 클라이언트 단말에서 실행이 불가능할 경우, 클라이언트 단말에서 실행 가능하도록 변환한 후 상기 클라이언트 단말로 제공하는 클라우드 서비스 제공 방법, 이를 위한 시스템 장치에 관한 것이다. 이를 위해 본 발명의 일 실시 예에 따른 클라우드 시스템은 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능한 지 여부를 판단하여, 그렇지 않을 경우, 상기 클라이언트 단말에서 실행 가능하도록 상기 어플리케이션을 변환하여 실행하고, 상기 어플리케이션 실행에 따른 결과 정보를 상기 클라이언트 단말로 전송하는 서비스 장치 및 상기 서비스 장치로 특정 어플리케이션에 대한 실행을 요청하고, 상기 서비스 장치로부터 상기 어플리케이션 실행에 따른 결과 정보를 수신하여 출력하는 클라이언트 단말을 포함하여 구성될 수 있다.

Description

클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치
본 발명은 클라우드 서비스 제공 방법에 관한 것으로서, 더욱 상세하게는 클라이언트 단말이 실행 요청한 어플리케이션이 클라이언트 단말에서 실행이 불가능할 경우, 클라이언트 단말 또는 어플리케이션을 보유하고 있는 다른 어플리케이션 장치에서 실행 가능하도록 하는 클라우드 서비스 제공 방법, 이를 위한 시스템 장치에 관한 것이다.
기술이 발전됨에 따라, 사용자의 단말에서 구동될 수 있는 어플리케이션의 수가 증대되고 있으며, 상기 어플리케이션 구동에 필요한 단말의 사양 또한 급속히 발전하고 있다.
그러나, 사용자들은 3D 게임 등과 같이 고사양의 어플리케이션을 구동하기 위해서는 자신이 이용하고자 하는 단말이 고사양의 어플리케이션 구동에 적합한 단말인지 여부를 사전에 확인해야 하며, 만일 사용자의 단말이 고사양의 어플리케이션을 구동하기에 부족한 사양일 경우, 사용자들은 어플리케이션 자체를 이용할 수 없다는 불편함이 있다.
이에, 사용자의 단말의 사양과는 상관없이 네트워크를 통해 서비스 제공자가 제공하는 서비스에 접속하여 어플리케이션을 이용할 수 있는 클라우드 서비스가 주목 받고 있다.
최근에는 화면 가상화 기반의 클라우드 서비스가 개발되고 있는데, 화면 가상화 기반의 클라우드 서비스는 사용자의 요청에 서버에서 구동된 어플리케이션의 결과 화면을 실시간으로 사용자의 단말로 전송함으로써, 사용자는 자신의 단말에 해당 어플리케이션을 구비하고 있지 않더라도 어플리케이션을 용이하게 이용할 수 있는 서비스를 의미한다.
이러한 클라우드 서비스를 위해 서버는 사용자의 단말에서 구동 가능한 어플리케이션을 미리 구비하고 있어야 한다.
예를 들어, 조이스틱 입력 장치를 지원하는 어플리케이션을 사용자가 요청한 경우, 사용자의 단말이 조이스틱 입력 장치를 구비하고 있지 않다면 사용자는 해당되는 어플리케이션을 정상적으로 이용할 수 없게 된다. 따라서, 이러한 문제점을 해결하기 위해, 클라우드 서비스를 제공하는 서버는 사용자의 단말에 적합한 어플리케이션을 미리 구비하고 있어야 한다. 그러나, 서버가 사용자의 단말에 적합한 어플리케이션을 모두 구비하고자 할 경우 많은 비용이 야기된다는 문제점이 있다.
또한, 클라우드 서비스를 위해 서버는 사용자의 단말에서 구동 가능한 어플리케이션을 미리 구비하고 있어야 한다. 이때, 다양한 종류의 사용자 단말을 고려하여 적합한 어플리케이션을 서버에서 미리 구비하고 있더라도, 상기 서버가 다양한 이유, 예컨대 네트워크 이상 발생, 서버 과부하 등으로 인해 사용자의 단말로 정상적인 어플리케이션 제공이 불가능한 경우, 이에 대처하기가 어렵다는 문제점이 있다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 서비스 장치가 클라이언트 단말에서 실행을 요청한 어플리케이션이 클라이언트 단말에서 실행이 불가능한 어플리케이션일 경우, 어플리케이션을 실행 가능하도록 변환한 후 상기 클라이언트 단말로 제공할 수 있는 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치를 제공하는 데 목적이 있다.
또한, 본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 어느 하나의 클라이언트 단말이 실행 요청한 어플리케이션을 보유하고 있는 어플리케이션 제공 장치가 클라이언트 단말로 어플리케이션 제공이 불가능한 경우, 어플리케이션을 보유하고 있는 다른 어플리케이션 제공 장치로 어플리케이션에 대한 실행을 요청할 수 있는 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치를 제공하는 데 목적이 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 클라우드 시스템은 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 어플리케이션이 클라이언트 단말에서 실행 가능한 지 여부를 판단하여, 그렇지 않을 경우, 클라이언트 단말에서 실행 가능하도록 어플리케이션을 변환하여 실행하고, 어플리케이션 실행에 따른 결과 정보를 클라이언트 단말로 전송하는 서비스 장치; 및 서비스 장치로 특정 어플리케이션에 대한 실행을 요청하고, 서비스 장치로부터 어플리케이션 실행에 따른 결과 정보를 수신하여 출력하는 클라이언트 단말;을 포함하여 구성될 수 있다.
본 발명의 클라우드 시스템에 있어서, 서비스 장치는, 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 어플리케이션을 보유하고 있는 제1 어플리케이션 제공 장치를 확인한 후, 제1 어플리케이션 제공 장치로 어플리케이션에 대한 실행을 요청하되, 제1 어플리케이션 제공 장치가 어플리케이션 실행이 불가능할 경우, 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치로 어플리케이션에 대한 실행을 요청할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 서비스 장치는, 하나 이상의 어플리케이션 및 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 저장하는 장치 저장부; 및 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 어플리케이션의 최소 사양 정보와 클라이언트 단말의 리소스 정보를 비교하여 어플리케이션이 클라이언트 단말에서 실행 가능한지 여부를 판단하고, 그렇지 않을 경우, 클라이언트 단말에서 실행 가능하도록 어플리케이션을 변환하여 실행한 후 어플리케이션 실행에 따른 결과 정보를 클라이언트 단말로 전송하는 장치 제어부;를 포함하여 구성될 수 있다.
여기서, 장치 제어부는 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 클라이언트 단말의 기 저장된 리소스 정보를 확인한 후 어플리케이션의 최소 사양 정보와 비교할 수 있다.
또한, 장치 제어부는 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 클라이언트 단말의 기 저장된 리소스 정보가 없을 경우, 클라이언트 단말로 리소스 수집을 요청한 후 확인할 수 있다.
또한, 장치 제어부는 어플리케이션이 변환 가능한 지 여부를 확인한 후, 어플리케이션이 변환이 불가능한 경우, 어플리케이션을 실행하기 위한 클라이언트 단말의 필요 리소스 정보를 확인한 후, 필요 리소스 정보를 포함하는 안내 메시지를 클라이언트 단말로 전송할 수도 있다.
또한, 장치 제어부는 어플리케이션이 지원하는 입력 장치를 클라이언트 단말이 구비하고 있지 않을 경우, 클라이언트 단말이 구비하고 있는 입력 장치에 적합하게 어플리케이션을 변환할 수 있다.
또한, 장치 제어부는 어플리케이션이 지원하는 해상도가 클라이언트 단말의 해상도와 상이한 경우, 클라이언트 단말의 해상도에 적합하게 어플리케이션을 변환할 수도 있다.
또한, 장치 제어부는 클라이언트 단말의 디코더를 확인한 후, 디코더가 지원하는 압축률에 따라 어플리케이션을 인코딩하여 클라이언트 단말로 전송할 수도 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 서비스 장치는, 하나 이상의 어플리케이션 제공 장치로부터 수신한 보유 어플리케이션 정보 및 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 저장하는 장치 저장부; 및 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 어플리케이션을 보유하고 있는 제1 어플리케이션 제공 장치를 확인한 후, 제1 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하되, 제1 어플리케이션 제공 장치가 상기 어플리케이션 실행이 불가능할 경우, 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치로 어플리케이션에 대한 실행을 요청하는 장치 제어부를 포함할 수 있다.
여기서, 장치 제어부는 클라이언트 단말의 리소스 정보와 어플리케이션의 최소 사양 정보와 비교하여, 해당되는 제1 어플리케이션 제공 장치를 확인할 수 있다.
또한, 장치 제어부는 클라이언트 단말의 기 저장된 리소스 정보가 없을 경우, 클라이언트 단말로 리소스 수집을 요청한 후 확인할 수 있다.
또한, 장치 제어부는 제1 어플리케이션 제공 장치로부터 어플리케이션 제공 불가능 상태 정보가 수신되면, 제1 어플리케이션 제공 장치가 보유하고 있는 어플리케이션과 동일하나 클라이언트 단말의 최소 사양 정보가 다른 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치로 어플리케이션에 대한 실행을 요청할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 클라우드 서비스 제공 방법은 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청을 수신하는 단계; 어플리케이션의 최소 사양 정보와 클라이언트 단말의 리소스 정보를 비교하여, 어플리케이션이 클라이언트 단말에서 실행 가능한지 여부를 판단하는 단계; 판단 결과, 어플리케이션이 클라이언트 단말에서 실행 가능하지 않을 경우, 어플리케이션을 클라이언트 단말에서 실행 가능하도록 변환하는 단계; 및 변환된 어플리케이션을 실행하여 어플리케이션 실행에 따른 결과 정보를 클라이언트 단말로 전송하는 단계;를 포함하여 이뤄질 수 있다.
이때, 실행 요청을 수신하는 단계 이전에, 하나 이상의 어플리케이션 제공 장치로부터 보유 어플리케이션 정보 및 어플리케이션을 이용할 수 있는 클라이언트 단말의 최소 사양 정보를 수신하여 저장하는 단계;를 더 포함하며, 변환하는 단계는 어플리케이션을 보유하고 있는 어플리케이션 제공 장치로부터 어플리케이션을 수신한 후 변환할 수 있다.
또한, 판단하는 단계 이후에, 판단 결과, 어플리케이션이 클라이언트 단말에서 실행 가능한 경우, 어플리케이션을 실행한 후 실행에 따른 화면 데이터를 실시간 인코딩하여 클라이언트 단말로 전송할 수도 있다.
여기서, 변환하는 단계는 판단 결과, 어플리케이션이 클라이언트 단말에서 실행 가능하지 않을 경우, 어플리케이션이 변환 가능한 어플리케이션인지 확인하는 단계; 확인 결과, 어플리케이션이 변환이 불가능한 경우, 어플리케이션을 실행하기 위한 클라이언트 단말의 필요 리소스 정보를 확인하는 단계; 및 확인된 필요 리소스 정보를 포함하는 안내 메시지를 클라이언트 단말로 전송하는 단계;를 더 포함할 수도 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 다른 클라우드 서비스 제공 방법은, 서비스 장치가 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청을 수신하는 단계; 서비스 장치가 어플리케이션을 보유하고 있는 제1 어플리케이션 제공 장치를 확인하는 단계; 서비스 장치가 제1 어플리케이션 제공 장치로 어플리케이션에 대한 실행을 요청하는 단계; 제1 어플리케이션 제공 장치로부터 어플리케이션 제공 불가능 상태 정보가 수신되면, 서비스 장치가 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치를 확인하는 단계; 및 서비스 장치가 제2 어플리케이션 제공 장치로 어플리케이션에 대한 실행을 요청하는 단계;를 포함하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
이때, 특정 어플리케이션에 대한 실행 요청을 수신하는 단계 이전에, 서비스 장치가 제1 어플리케이션 제공 장치 및 제2 어플리케이션 제공 장치가 보유 어플리케이션 정보 및 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 수신하는 단계; 및 서비스 장치가 보유 어플리케이션 정보 및 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 저장하는 단계;를 더 포함하며, 제1 어플리케이션 제공 장치가 및 제2 어플리케이션 제공 장치가 보유하고 있는 어플리케이션은 동일하나, 이에 대응하는 클라이언트 단말의 최소 사양 정보만이 다를 수 있다.
또한, 제1 어플리케이션 제공 장치를 확인하는 단계는 클라이언트 단말의 리소스 정보와 어플리케이션에 대응하여 기 저장된 최소 사양 정보와 비교하여 확인할 수 있다.
여기서, 제2 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 단계 이후에, 제2 어플리케이션 제공 장치가 클라이언트 단말로 어플리케이션 제공이 가능한 지 판단하는 단계; 판단 결과, 클라이언트 단말로 어플리케이션 제공이 가능한 경우, 제2 어플리케이션 제공 장치가 어플리케이션이 클라이언트 단말에서 실행 가능한지 판단하는 단계; 판단 결과, 어플리케이션이 클라이언트 단말에서 실행 가능하지 않을 경우, 제2 어플리케이션 제공 장치가 클라이언트 단말의 리소스 정보를 기초로 어플리케이션을 변환하는 단계; 및 제2 어플리케이션 제공 장치가 변환된 어플리케이션을 실행한 후 실행에 따른 화면 데이터를 실시간 인코딩하여 클라이언트 단말로 전송하는 단계를 더 포함할 수 있다.
추가로, 상술한 바와 같은 클라우드 서비스 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 더 제공할 수도 있다.
본 발명의 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치에 의하면, 서비스 장치가 클라이언트 단말에서 실행을 요청한 어플리케이션이 클라이언트 단말에서 실행이 불가능한 어플리케이션일 경우, 어플리케이션을 실행 가능하도록 변환한 후 클라이언트 단말로 제공할 수 있게 된다.
이로 인해, 서비스 장치는 클라이언트 단말의 모든 사양을 고려한 어플리케이션을 미리 구비하고 있지 않더라도, 클라이언트 단말의 사양에 따라 필요한 부분만을 변환하여 상기 클라이언트 단말로 제공함으로써, 보다 효율적인 서비스 제공이 가능하며, 사용자 또한 자신의 클라이언트 단말에서 이용이 불가능한 어플리케이션이 없이, 모든 종류의 어플리케이션을 이용할 수 있다는 효과가 있다.
또한, 본 발명의 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치에 의하면, 클라이언트 단말이 실행 요청한 어플리케이션을 보유하고 있는 어플리케이션 제공 장치가 과부하 등의 이유로 상기 클라이언트 단말로 정상적인 어플리케이션 제공이 불가능한 경우, 이를 확인한 서비스 장치가 상기 어플리케이션을 보유하고 있는 다른 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청함으로써, 클라이언트 단말은 원활한 어플리케이션 이용이 가능하게 된다.
더욱이, 본 발명은 서비스 장치가 어플리케이션을 제공하는 어플리케이션 제공 장치의 상황에 따라 적절한 어플리케이션 제공 장치와 클라이언트 단말을 연결함으로써, 클라우드 서비스를 요청하는 클라이언트 단말의 수가 증가하더라도 보다 유연하게 서비스 제공이 가능할 수 있다.
도 1은 본 발명의 실시 예들에 따른 클라우드 시스템을 개략적으로 도시한 구성도이다.
도 2는 본 발명의 실시 예들에 따른 클라이언트 단말의 주요 구성을 도시한 블록도이다.
도 3은 본 발명의 실시 예들에 따른 서비스 장치의 주요 구성을 도시한 블록도이다.
도 4는 본 발명의 제1 실시 예에 따른 클라우드 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 5는 본 발명의 제1 실시 예에 따른 서비스 장치에서의 클라우드 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 제2 실시 예에 따른 클라우드 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 7은 본 발명의 제2 실시 예에 따른 서비스 장치에서의 클라우드 서비스 제공 방법을 설명하기 위한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.
이하, 본 발명의 실시 예들에 따른 클라우드 시스템에 대해 설명하도록 한다. 우선, 본 발명의 제1 실시예에 따른 클라우드 시스템에 대해 설명하기로 한다.
도 1은 본 발명의 실시 예들에 따른 클라우드 시스템을 개략적으로 도시한 구성도이다.
도 1을 참조하면, 본 발명의 제1 실시 예들에 따른 클라우드 시스템은(100)은 하나 이상의 클라이언트 단말(10), 상기 클라이언트 단말(10)의 요청에 따라 어플리케이션을 실행하고, 상기 어플리케이션 실행 결과에 따른 결과 정보를 상기 클라이언트 단말(10)로 전송하는 서비스 장치(20) 및 통신망(30)을 포함하여 구성될 수 있다.
여기어 더불어, 다수의 어플리케이션을 제공하는 다수의 어플리케이션 제공 장치(40)를 더 포함하여 구성될 수 있다.
각 구성에 대해 개략적으로 설명하면, 클라이언트 단말(10)은 통신망(30)을 통해 서비스 장치(20)에 접속을 수행하고, 서비스 장치(20)가 제공하는 다양한 기능들을 이용할 수 있는 사용자의 장치를 의미한다. 특히, 본 발명의 실시 예에 따른 클라이언트 단말(10)은 서비스 장치(20)에 접속하여 상기 서비스 장치(20)가 제공하는 다수의 어플리케이션 중 특정 어플리케이션의 실행을 요청하고, 상기 서비스 장치(20)로부터 상기 어플리케이션 실행에 따른 결과 정보를 수신하여, 이를 출력함으로써 해당 어플리케이션을 이용할 수 있다.
서비스 장치(20)는 다수의 클라이언트 단말(10)로 클라우드 기반의 어플리케이션을 제공하는 장치로, 어느 하나의 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 해당되는 어플리케이션을 보유하고 있는 어플리케이션 제공 장치(40)로부터 어플리케이션을 가져와 실행한 후, 실행에 따른 결과만을 상기 클라이언트 단말(10)로 전송하는 역할을 수행하게 된다.
또는 상기 서비스 장치(20)가 직접 어플리케이션을 저장하고 있는 경우, 어플리케이션 제공 장치(40)와의 연동없이 어플리케이션을 실행한 후 실행에 따른 결과 정보를 상기 클라이언트 단말(10)로 전송할 수도 있다.
이때, 보다 정확하게 서비스 장치(20)는 어플리케이션 실행 결과에 따른 화면 데이터를 프레임 단위로 실시간 인코딩하고, 인코딩된 데이터를 상기 클라이언트 단말(10)로 전송하게 된다.
이를 위해 서비스 장치(20)는 다수의 어플리케이션을 포함하며, 상기 어플리케이션을 실행하고, 그 결과를 클라이언트 단말(10)로 전송할 수 있는 어플리케이션 실행 모듈(22_2)을 포함하여 구성될 수 있다.
특히, 본 발명의 서비스 장치(20)는 다수의 어플리케이션 제공 장치(40)의 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 저장하고 있는 상태에서, 어느 하나의 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 클라이언트 단말(10)의 리소스 정보를 확인한 후 상기 클라이언트 단말(10)의 리소스 정보와 상기 어플리케이션에 대응하여 기 저장된 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보와 비교를 수행하게 된다.
상기 비교 결과, 상기 클라이언트 단말(10)이 상기 어플리케이션을 실행할 수 있는 것으로 확인되면, 서비스 장치(20)는 상기 어플리케이션을 실행한 후, 상기 어플리케이션 실행에 따른 결과 정보를 상기 클라이언트 단말(10)로 전송하게 된다. 그러나, 상기 클라이언트 단말(10)이 상기 어플리케이션을 실행할 수 없는 것으로 확인되면, 서비스 장치(20)는 상기 어플리케이션을 상기 클라이언트 단말(10)에서 실행 가능하도록 변환한 후 변환된 어플리케이션을 실행하여 상기 클라이언트 단말(10)로 제공할 수 있다.
여기서, 서비스 장치(20)는 상기 어플리케이션이 변환될 수 없는 어플리케이션일 경우, 상기 클라이언트 단말(10)의 상기 어플리케이션 구동에 필요한 리소스 정보를 확인한 후, 이에 대한 안내 메시지를 상기 클라이언트 단말(10)로 전송할 수도 있다.
이를 통해, 사용자는 서비스 장치(20)가 제공하는 모든 어플리케이션을 이용할 수가 있으며, 클라우드 서비스를 제공하는 서비스 장치(20) 또한 모든 경우의 수를 고려한 클라이언트 단말(10)에 적합한 어플리케이션을 미리 구비하고 있지 않더라도, 클라이언트 단말(10)에 적합하게 어플리케이션을 변환한 후 제공함으로써, 자원을 보다 효율적으로 사용할 수 있게 된다.
더하여, 다수의 어플리케이션 제공 장치(40)는 하나 이상의 어플리케이션을 보유하며, 서비스 장치(20)의 요청에 따라 어플리케이션을 제공하는 역할을 수행하게 된다. 여기서, 서비스 장치(20)에 제공될 수 있는 어플리케이션은 문서 편집 어플리케이션, 게임 어플리케이션, 음악 또는 영화 등과 같은 미디어 재생 어플리케이션, 기타 서비스 어플리케이션 등 그 어떠한 것도 가능하다.
또한, 본 발명의 일 실시 예에서는 서비스 장치(20)의 요청에 따라 어플리케이션 제공 장치(40)가 상기 서비스 장치(20)로 어플리케이션을 제공하고, 서비스 장치(20)가 상기 어플리케이션을 실행하는 것을 예로 들어 설명하나, 이에 한정되는 것은 아니며, 서비스 장치(20)가 클라이언트 단말(10)과 적합한 어플리케이션 제공 장치(40)를 연결하게 되면, 어플리케이션 제공 장치(40)가 직접 클라이언트 단말(10)로 어플리케이션 실행에 따른 결과 정보를 제공할 수도 있다.
본 발명의 클라이언트 단말(10) 및 서비스 장치(20)에서의 보다 구체적인 동작 방법에 대해서는 후술하도록 하며, 앞서 설명한 바와 같이 본 발명의 클라이언트 단말(10) 및 서비스 장치(20)는 통신망(30)을 통해 관련된 다양한 정보를 송수신하게 되며, 이때의 통신망(30)은 다양한 형태의 통신망이 이용될 수 있다.
예컨대, 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) 등의 유선 통신 방식을 이용할 수 있다.
또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
이하, 본 발명의 제1 실시 예에 따른 클라이언트 단말(10)의 주요 구성 및 동작 방법에 대해 먼저 설명하도록 한다.
도 2는 본 발명의 실시 예들에 따른 클라이언트 단말의 주요 구성을 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 제1 실시예에 따른 클라이언트 단말(10)은 통신부(11), 입력부(12), 제어부(13), 저장부(14) 및 표시부(15)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저, 통신부(11)는 통신망(30)을 통해 서비스 장치(20)와 관련된 다양한 정보를 송수신하는 것으로, 특히 본 발명의 통신부(11)는 서비스 장치(20)로 특정 어플리케이션에 대한 실행 요청을 전송하고, 상기 서비스 장치(20)로부터 상기 어플리케이션 실행에 따른 결과 정보를 수신할 수 있다.
더하여, 통신부(11)는 서비스 장치(20)로부터 리소스 수집 요청 정보를 수신하고, 상기 서비스 장치(20)로 리소스 정보를 전달할 수 있으며, 이와 더불어 사용자 인증에 필요한 사용자 정보를 전달할 수도 있다. 또한, 상기 어플리케이션 실행 중에 발생되는 다양한 사용자 입력을 서비스 장치(20)로 전송할 수도 있다.
입력부(12)는 사용자로부터 입력되는 숫자 및 문자 정보 등의 다양한 정보를 입력 받고, 각종 기능을 설정 및 클라이언트 단말(10)의 기능 제어와 관련하여 입력되는 신호를 제어부(13)로 전달한다. 특히, 본 발명의 입력부(12)는 서비스 장치(20)로 사용자 인증을 위한 사용자 정보 입력을 지원하며, 서비스 장치(20)가 제공하는 다수의 어플리케이션 중 특정 어플리케이션에 대한 실행 요청 정보에 대한 입력을 지원할 수 있다. 또한, 어플리케이션 구동 중에 발생되는 다양한 기능 및 동작을 수행하기 위한 사용자의 입력을 지원하게 된다.
이러한, 입력부(12)는 사용자의 터치 또는 조작에 따른 입력 신호를 발생하는 키패드와 터치패드 중 적어도 하나를 포함하여 구성될 수 있다. 이때, 입력부(12)는 후술할 표시부(15)와 함께 하나의 터치패널(또는 터치스크린)의 형태로 구성되어 입력과 표시 기능을 동시에 수행할 수 있다. 또한, 입력부(12)는 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단 또는 음성 입력 수단 중 하나 이상을 포함할 수 있다. 이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다.
제어부(13)는 클라이언트 단말(10)의 전반적인 제어를 수행하는 것으로, 예컨대 상기 클라이언트 단말(10)을 구성하는 각 구성 요소에 전원 공급 및 기능 수행을 위한 신호의 흐름을 제어하게 된다. 이때의 제어부(13)는 운영 체제(OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치, 예컨대, 중앙처리장치(CPU, Central Processing Unit)가 될 수 있다.
특히, 본 발명의 실시 예에 따른 제어부(13)는 사용자의 요청에 따라 서비스 장치(20)가 제공하는 서비스 페이지, 예컨대 웹 페이지로 접속을 시도하게 된다. 이때, 바람직하게는 서비스 장치(20)로 서비스 가입 아이디와 비밀번호 등 사용자 인증을 수행할 수 있는 사용자 정보를 서비스 장치(20)로 제공할 수 있다. 이후, 상기 사용자 정보를 기초로 사용자 인증이 성공적으로 수행되면, 서비스 장치(20)와의 접속이 이뤄지고, 제어부(13)는 서비스 장치(20)로부터 어플리케이션 목록 정보를 수신하여, 표시부(15)를 통해 표시하게 된다.
이후, 입력부(12)를 통해 사용자로부터 특정 어플리케이션에 대한 선택이 입력되면, 제어부(13)는 상기 통신부(11)를 통해 서비스 장치(20)로 해당 어플리케이션에 대한 실행 요청 정보를 전송하게 된다.
이때, 서비스 장치(20)로부터 리소스 수집 요청 정보가 수신되면, 제어부(13)는 자신의 하드웨어 사양 및 소프트웨어 사양에 대한 정보를 수집하게 된다. 예컨대, 입력부(12)에서 지원하는 입력 장치의 종류, 표시부(15)에서 지원하는 표시 사양 등이 될 수 있다.
표 1
OS X17
CPU Pen 3.2GHz
그래픽 카드 F 7800GT
메모리 1GB
입력 장치 키보드, 마우스
상기의 <표 1>과 같이, 제어부(13)는 서비스 장치(20)로부터 리소스 수집 요청 정보가 수신되면, 단말 내 하드웨어 사양 및 소프트웨어 사양에 대한 다양한 정보를 수집한 후, 이를 서비스 장치(20)로 전송한다.
이후, 제어부(13)는 서비스 장치(20)로부터 실시간 수신되는 상기 어플리케이션 실행 결과를 수신하여 표시부(15)를 통해 출력할 수 있게 된다.
상술한 바와 같은 제어부(13)의 동작을 위해, 제어부(13)는 서비스 장치(20)로부터의 요청에 따라 리소스를 수집하기 위한 리소스 수집 모듈(13_1)을 포함하여 구성될 수 있으며, 서비스 장치(20)로부터 수신되는 어플리케이션에 대한 실행 결과에 따른 화면 데이터를 실시간으로 수신하고, 수신된 상기 화면 데이터를 실시간으로 복호화하여 출력할 수 있는 스트림 데이터 디코더(13_2)를 포함하여 구성될 수 있다. 이때, 스트림 데이터 디코더(13_2)는 H.264 방식의 디코더가 될 수 있다.
여기서, 상기 리소스 수집 모듈(13_1) 및 스트림 데이터 디코더(13_2)는 서비스 장치(20)에 접속한 후 상기 서비스 장치(20)로부터 제공받아 구비될 수 있으며, 서비스 장치(20)의 요청에 따라 또는 일정 시간 경과 후 상기 리소스 수집 모듈(13_1) 및 스트림 데이터 디코더(13_2)는 삭제될 수 있다.
저장부(14)는 본 발명의 실시 예에 따른 기능 동작에 필요한 응용 프로그램을 비롯하여, 그 응용 프로그램 실행 중에 발생되는 다양한 데이터를 일시적으로 저장할 수 있다. 특히 본 발명의 저장부(14)는 서비스 장치(20)로부터 제공되는 어플리케이션 목록 정보, 사용자가 요청한 어플리케이션 실행 결과에 따른 결과 정보를 일시적으로 저장하는 역할을 수행할 수 있으며, 상기 서비스 장치(20)와의 접속이 종료되면, 상기 일시적으로 저장된 데이터는 삭제될 수 있다.
이러한 저장부(14)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역은 클라이언트 단말(10)를 부팅시키는 운영체제(OS)와 같은 단말(10) 구동을 위한 관련된 정보들을 저장하며, 데이터 영역은 클라이언트 단말(10)의 사용에 따라 발생되는 데이터가 저장되는 영역으로, 상술한 바와 같이 서비스 장치(20)로부터 수신되는 정보 등이 일시적으로 저장될 수 있다. 이러한, 저장부(14)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.
표시부(15)는 클라이언트 단말(10)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 표시한다. 특히, 본 발명의 표시부(15)는 서비스 장치(20)가 제공하는 어플리케이션에 대한 목록 정보를 표시할 수 있으며, 어플리케이션 실행에 따른 결과 정보는 물론 상기 어플리케이션 실행 중에 입력부(12)를 통해 발생되는 다양한 사용자 입력 정보를 표시할 수도 있다.
이러한 표시부(15)는 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를 참조하여 클라이언트 단말(10)의 주요 구성 요소에 대해 설명하였다. 그러나 도 2를 통해 도시된 구성 요소가 모두 필수 구성 요소인 것은 아니며, 도시된 구성 요소보다 많은 구성 요소에 의해 클라이언트 단말(10)이 구현될 수도 있고, 그 보다 적은 구성 요소에 의해 클라이언트 단말(10)이 구현될 수도 있다.
이러한, 본 발명의 클라이언트 단말(10)은 다양한 형태로 구현될 수 있다. 예를 들어, 본 발명의 클라이언트 단말(10)은 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수 있다.
이하, 본 발명의 제1 실시 예에 따른 서비스 장치(20)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 3은 본 발명의 실시 예들에 따른 서비스 장치의 주요 구성을 도시한 블록도이다.
도 1 및 도 3을 참조하면, 본 발명의 제1 실시예에 따른 서비스 장치(20)는 장치 통신부(21), 장치 제어부(22) 및 장치 저장부(23)를 포함하여 구성될 수 있다.
먼저, 장치 통신부(21)는 통신망(30)을 통해 다수의 클라이언트 단말(10)과 관련된 정보를 송수신하는 것으로, 특히, 어느 하나의 클라이언트 단말(10)의 접속이 확인되면, 상기 클라이언트 단말(10)로 제공 가능한 어플리케이션에 대한 목록 정보를 전송하고, 상기 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 어플리케이션 실행에 따른 결과 정보를 클라이언트 단말(10)로 전송할 수 있다.
또한, 장치 제어부(22)의 제어에 따라 상기 클라이언트 단말(10) 리소스 수집 요청을 전송하거나 이에 대응하여 상기 클라이언트 단말(10)로부터 리소스 정보를 수신할 수 있다.
장치 제어부(22)는 본 발명의 서비스 장치(20)의 전반적인 동작을 제어하는 것으로, 특히, 본 발명의 장치 제어부(22)는 먼저, 하나 이상의 어플리케이션 제공 장치(40)로부터 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말(10)의 최소 사양 정보가 수신되면, 이를 장치 저장부(23)에 저장하게 된다.
예컨대, 다수의 어플리케이션 제공 장치(40) 중 제1 어플리케이션 제공 장치(41)는 A 게임 어플리케이션을 보유하며, 제2 어플리케이션 제공 장치(42)는 B 문서 편집 어플리케이션을 보유하고 있는 상태라면, 제1 어플리케이션 제공 장치(41)는 A 게임 어플리케이션 정보 및 상기 A 게임 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 상기 서비스 장치(20)로 전송하고, 제2 어플리케이션 제공 장치(42)는 B 문서 편집 어플리케이션 정보 및 상기 B 문서 편집 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 서비스 장치(20)로 전송할 수도 있다.
또한, 다수의 어플리케이션 제공 장치(40)가 모두 동일한 어플리케이션을 저장할 수도 있으며, 시스템 설계 방식에 따라, 하나의 어플리케이션을 일정 단위로 분할한 후, 분할된 어플리케이션을 저장할 수도 있다.
이와 같이, 서비스 장치(20)의 장치 제어부(22)가 다수의 어플리케이션 제공 장치(40)로부터 보유하고 있는 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보가 수신되면, 수신된 정보를 장치 저장부(23)에 저장하게 된다.
예컨대, 하기의 <표 2>와 같은 정보가 장치 저장부(23)에 저장될 수 있다.
표 2
어플리케이션 제공 장치 정보 보유 어플리케이션 정보 클라이언트 단말의 최소 사양 정보
제1 어플리케이션 제공 장치 게임 1 OS X17
CPU Pen 3.2GHz
그래픽 카드 F 7800GT
메모리 1GB
입력 장치 전용 게임패드
제2 어플리케이션 제공 장치 문서 편집 1 OS X17
CPU Pen 2.0GHz
그래픽 카드 F 3800GT
메모리 500MB
입력 장치 키보드, 마우스
이후, 장치 제어부(22)는 어느 하나의 클라이언트 단말(10)의 접속을 확인하게 된다. 여기서, 클라이언트 단말(10)의 접속이란, 사용자가 서비스 장치(20)가 제공하는 서비스 페이지, 예컨대, 웹 페이지, 유무선 어플리케이션에서의 접속 페이지로 상기 클라이언트 단말(10)이 접근하여, 상기 서비스 페이지를 통해 사용자 정보, 예컨대, 아이디, PIN(Personal Identification Number) 등 사용자 식별 정보와 이에 대응하는 비밀번호를 입력하여 서비스 장치(20)로 전송하는 행위가 될 수 있다.
이후, 장치 제어부(22)는 서비스 장치(20)는 클라이언트 단말(10)로부터 사용자 정보가 수신되면, 상기 사용자 정보를 기초로 사용자 인증을 수행하고, 적합한 사용자인지 확인하게 된다. 장치 제어부(22)는 상기 클라이언트 단말(10)의 사용자가 적합한 사용자로 확인되면, 상기 클라이언트 단말(10)로 보유하고 있는 어플리케이션에 대한 어플리케이션 목록 정보를 제공할 수 있다.
그리고 나서, 장치 제어부(22)는 상기 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 클라이언트 단말(10)의 리소스 정보와 상기 클라이언트 단말(10)이 실행을 요청한 어플리케이션에 대응하여 기 저장된 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 비교하게 된다.
이때, 상기 클라이언트 단말(10)의 리소스 정보는 사용자 정보에 대응하여 장치 저장부(23)에 미리 저장되어 있을 수 있으며, 미리 저장되어 있지 않을 경우, 장치 제어부(22)는 상기 클라이언트 단말(10)로 리소스 수집 요청을 전송할 수 있다. 이후, 장치 제어부(22)는 상기 클라이언트 단말(10)로부터 하드웨어 및 소프트웨어에 대한 리소스 정보를 수신할 수 있다.
여기서, 장치 제어부(22)는 상기 클라이언트 단말(10)의 리소스 수집 모듈이 존재하지 않는 것으로 확인되면, 먼저, 클라이언트 단말(10)로 리소스 수집 모듈을 제공할 수도 있다. 여기서의 리소스 수집 모듈을 API(Application Programming Interface) 형태로 제공될 수 있다.
상기 비교 결과, 장치 제어부(22)는 클라이언트 단말(10)이 요청한 어플리케이션이 클라이언트 단말(10)에서 구동 가능하면, 상기 어플리케이션을 실행하고 실행 결과에 따른 결과 정보, 즉 프레임 단위의 화면 데이터를 실시간 인코딩하고, 인코딩된 데이터를 상기 클라이언트 단말(10)로 전송하게 된다.
이때, 장치 제어부(22)는 보유 어플리케이션에 대한 정보만을 저장하고, 실제 어플리케이션 데이터를 저장하고 있지 않을 경우, 상기 어플리케이션에 대응하는 어플리케이션 제공 장치(40)를 확인한 후, 확인된 어플리케이션 제공 장치(40)로 어플리케이션을 요청하여 수신한 후 상기 어플리케이션을 실행할 수 있다.
반면, 클라이언트 단말(10)이 요청한 어플리케이션이 클라이언트 단말(10)에서 구동이 불가능한 경우, 장치 제어부(22)는 상기 어플리케이션을 클라이언트 단말(10)에서 구동 가능하도록 변환할 수 있다.
예를 들어, 클라이언트 단말(10)로부터 수신된 리소스 정보가 <표 1>에 도시된 바와 같다고 가정한다. 또한 장치 저장부(23)에 저장된 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보가 <표 2>에 도시된 바와 같다고 가정한다. 장치 제어부(22)는 클라이언트 단말(10)로부터 게임 1 어플리케이션에 대한 실행 요청이 수신되면, 상기 게임 1 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보와 상기 클라이언트 단말(10)의 리소스 정보를 비교하게 되고, 장치 제어부(22)는 상기 게임 1 어플리케이션은 별도의 전용 게임패드가 필요하나, 클라이언트 단말(10)은 이를 구비하고 있지 않아 구동이 불가능한 것으로 확인하게 된다.
이후, 장치 제어부(22)는 상기 어플리케이션이 지원하는 전용 게임패드 입력 방식을 키보드와 마우스를 지원하는 입력 방식으로 변환하게 된다. 즉, 어플리케이션은 다수의 프로그램 모듈로 구성될 수 있는 데, 장치 제어부(22)는 상기 어플리케이션의 입력과 관련된 모듈에서, 키보드 및 마우스를 지원하도록 변환하게 된다. 또는 장치 제어부(22)는 미리 키보드 및 마우스를 통해 발생되는 다양한 입력을 전용 게임패드 입력에 대응하여 저장한 후, 클라이언트 단말(10)로부터 키보드 및 마우스를 통해 발생되는 입력 정보가 인가되면, 이에 대응하는 전용 게임패드 입력으로 변환할 수 있다. 예컨대, 클라이언트 단말(10)로부터 키보드를 통해 입력된 'A'가 수신되면, 장치 제어부(22)는 상기 'A'를 전용 게임패드의 [LEFT] 버튼 입력인 것으로 변환하여 처리할 수 있다.
또한, 장치 제어부(22)는 클라이언트 단말(10)의 리소스 정보를 통해 상기 클라이언트 단말(10)은 700x800 해상도를 지원하나 상기 클라이언트 단말(10)이 요청한 어플리케이션은 1200x1000 해상도에 최적화된 경우, 상기 어플리케이션의 해상도를 변환하여 실행한 후 클라이언트 단말(10)로 제공할 수도 있다. 해상도 변환하는 방법은 다양한 공지된 기술을 적용할 수 있으며, 예컨대, 중요도가 낮은 매크로 블록을 삭제함으로써 고 해상도에서 저 해상도로 변환할 수 있다.
또한, 장치 제어부(22)는 클라이언트 단말(10)의 리소스 정보를 통해 상기 클라이언트 단말(10)이 지원하는 디코더를 확인한 후, 상기 디코더가 지원하는 압축률에 따라 상기 어플리케이션을 인코딩하여 클라이언트 단말(10)로 제공할 수도 있다. 예컨대, 장치 제어부(22)는 클라이언트 단말(10)이 구비하고 있는 디코더가 H.264 스트림 데이터를 디코딩할 수 있는 디코더일 경우, 장치 제어부(22)는 어플리케이션 실행에 따른 화면 데이터를 H.264 방식으로 인코딩한 후 클라이언트 단말(10)로 제공할 수 있다.
여기서, 장치 제어부(22)는 클라이언트 단말(10)이 실행 가능하도록 어플리케이션을 변환하기에 앞서, 상기 어플리케이션이 변환 가능한 어플리케이션인지 여부를 먼저 확인할 수도 있다. 만약, 어플리케이션이 변환이 불가능한 경우, 장치 제어부(22)는 상기 어플리케이션을 실행하기 위한 클라이언트 단말(10)의 필요 리소스 정보를 확인한 후, 필요 리소스 정보를 포함하는 안내 메시지를 상기 클라이언트 단말(10)로 전송할 수도 있다.
이를 통해, 서비스 장치(20)는 클라이언트 단말(10)의 다양한 사양을 고려한 어플리케이션을 미리 구비하고 있지 않더라도, 필요한 부분을 중심으로 어플리케이션을 변환함으로써, 보다 쉽게 클라이언트 단말(10)로 어플리케이션을 제공할 수 있으며, 자원의 효용성이 높아진다는 우수한 효과가 있다.
상기와 같은 동작을 위해 장치 제어부(22)는 사용자 관리 모듈(22_1) 및 어플리케이션 실행 모듈(22_2)을 포함하여 구성될 수 있다. 여기서 사용자 관리 모듈(22_1)는 사용자 인증과 관련된 다양한 관리를 수행할 수 있으며, 어플리케이션 실행 모듈(22_2)는 어플리케이션 관리, 변환 및 실행하여 클라이언트 단말(10)로 제공하는 역할을 수행할 수 있다.
더불어, 본 발명의 일 실시 예에서는 서비스 장치(20)가 어플리케이션 제공 장치(40)로부터 어플리케이션을 가져와 실행한 후 실행에 따른 결과 정보를 상기 클라이언트 단말(10)로 전송하는 것을 예로 들어 설명하나, 이에 한정되는 것은 아니며, 서비스 장치(20)는 클라이언트 단말(10)이 실행을 요청한 어플리케이션을 보유하고 있는 어플리케이션 제공 장치(40)를 확인한 후 상기 어플리케이션 제공 장치(40)로 실행을 요청하면, 어플리케이션 제공 장치(40)가 직접 어플리케이션을 실행하고, 그 실행에 따른 결과 정보를 클라이언트 단말(10)로 전송할 수도 있다.
장치 저장부(23)는 상술한 바와 같이 본 발명의 클라우드 서비스와 관련된 다양한 정보들을 저장하는 것으로, 사용자 인증을 수행하기 위한 사용자 정보 (23_1), 어플리케이션 제공 장치(40)로부터 수신한 보유 어플리케이션 정보(23_2) 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말(10)의 최소 사양 정보(23_3)를 저장할 수 있다. 또한, 사용자 정보(23_1)에 대응하여 리소스 정보를 저장하고 관리할 수도 있다.
이상으로, 본 발명의 제1 실시 예에 따른 서비스 장치(20)의 주요 구성 및 동작 방법에 대해 설명하였다.
본 발명의 제1 실시 예에 따른 서비스 장치(20)는 클라우드 방식으로 동작하는 것을 예로 들어 설명하였으나, 일반적인 서버 기반 컴퓨팅 방식에도 용이하게 적용 가능하다.
이하, 본 발명의 제1 실시 예에 따른 클라우드 서비스 제공 방법에 대해 설명하도록 한다.
도 4는 본 발명의 제1 실시 예에 따른 클라우드 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 4를 참조하면, 먼저, 클라이언트 단말(10)로 어플리케이션을 제공하기 이전에, 서비스 장치(20)는 어플리케이션을 보유하고 있는 어플리케이션 제공 장치(40)로부터 보유 어플리케이션에 대한 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 수신하여(S101) 저장하게 된다(S103).
여기서, 어플리케이션 제공 장치(40)에 새로운 어플리케이션이 등록되는 즉시 서비스 장치(20)로 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보가 자동적으로 제공될 수 있다. 또한, 본 발명의 일 실시 예에서는 서비스 장치(20)가 어플리케이션 제공 장치(40)로부터 보유 어플리케이션에 대한 정보 및 최소 사양 정보를 수신한 후, 이를 저장하는 것을 예로 들어 설명하나, 이에 한정되는 것은 아니며, 보유 어플리케이션에 대한 정보뿐 아니라 어플리케이션을 가져와 서비스 장치(20)가 저장하고 관리할 수도 있다.
이후, 서비스 장치(20)는 어느 하나의 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청을 수신하게 된다(S105). 여기서, 특정 어플리케이션에 대한 실행 요청을 수신하기에 앞서, 서비스 장치(20)는 상기 클라이언트 단말(10)로부터 사용자 인증에 필요한 사용자 정보를 수신하고, 상기 사용자 정보를 기초로 사용자 인증을 수행할 수도 있다.
이후, 서비스 장치(20)는 클라이언트 단말(10)이 실행을 요청한 상기 어플리케이션이 상기 클라이언트 단말(10)에서 실행 가능한 어플리케이션인지 확인하게 된다(S107).
상기 확인은, 서비스 장치(20)에 상기 클라이언트 단말(10)에 대응하여 미리 저장된 리소스 정보가 존재할 경우, 상기 리소스 정보와 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보와 비교를 통해 확인할 수 있다. 또한, 상기 클라이언트 단말(10)에 대응하여 미리 저장된 리소스 정보가 존재하지 않을 경우, 클라이언트 단말(10)로 리소스 수집을 요청한 후 리소스 정보를 확인 할 수 있다.
이후, S107 확인 결과에 따라, 상기 어플리케이션이 클라이언트 단말(10)에서 실행이 불가능한 어플리케이션일 경우, 상기 어플리케이션을 상기 클라이언트 단말(10)에서 실행 가능하도록 변환(S109)한 후, 어플리케이션을 실행하고(S111), 실행에 따른 결과 정보를 상기 클라이언트 단말(10)로 제공할 수 있다(S113).
예컨대, 어플리케이션이 지원하는 입력 장치를 상기 클라이언트 단말(10)이 구비하고 있지 않을 경우, 상기 클라이언트 단말(10)이 구비하고 있는 입력 장치에 적합하게 상기 어플리케이션의 입력을 처리하는 프로그램 모듈을 변환할 수 있다. 또한, 상기 어플리케이션이 지원하는 해상도가 상기 클라이언트 단말(10)의 해상도와 상이한 경우, 클라이언트 단말(10)의 해상도에 적합하게 상기 어플리케이션을 변환할 수도 있다. 또한, 상기 클라이언트 단말(10)의 디코더의 압축률을 확인한 후, 상기 디코더가 지원하는 압축률에 따라 상기 어플리케이션 실행에 따른 화면 데이터를 인코딩하여 클라이언트 단말(10)로 제공할 수도 있다.
이하, 도 5를 참조하여 상기 서비스 장치(20)에서의 클라우드 서비스 제공 방법에 대해 보다 더 구체적으로 설명하도록 한다.
도 5는 본 발명의 제1 실시 예에 따른 서비스 장치에서의 클라우드 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 1 및 도 5를 참조하면, 앞서 설명한 바와 같이 먼저 서비스 장치(20)는 하나 이상의 어플리케이션 제공 장치(40)로부터 보유 어플리케이션에 대한 정보 및 최소 사양 정보를 수신하여(S201), 서비스 장치(20) 내 장치 저장부에 저장하게 된다(S203).
이후, 서비스 장치(20)가 어느 하나의 클라이언트 단말(10)로부터 어플리케이션 실행 요청을 수신하게 되면(S205), 서비스 장치(20)는 먼저, 상기 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하는 지 판단하게 된다(S207).
상기 판단 결과, 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하지 않을 경우, 서비스 장치(20)는 클라이언트 단말(10)로 리소스 수집을 요청한 후(S209), 리소스 정보를 수신할 수 있다(S211). 상기 판단 결과, 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하는 경우, 상기 과정은 생략될 수 있다. 또한, 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하더라도, 상기 클라이언트 단말(10)의 하드웨어 및 소프트웨어 사양이 변경된 경우, 이를 감지하여, 서비스 장치(20)가 상기 클라이언트 단말(10)로 리소스 수집을 요청할 수도 있다.
이후, 서비스 장치(20)는 S203 단계에서 어플리케이션에 대응하여 기 저장된 상기 어플리케이션을 구동하기 위한 클라이언트 단말의 최소 사양 정보와 상기 클라이언트 단말(10)의 리소스 정보를 비교하여(S213), 상기 어플리케이션이 클라이언트 단말(10)에서 실행 가능한 어플리케이션인지 확인하게 된다(S215).
확인 결과, 상기 어플리케이션이 클라이언트 단말(10)에서 실행 불가능한 어플리케이션인 경우, 서비스 장치(20)는 상기 어플리케이션이 변환 가능한 어플리케이션인지 여부를 다시 확인할 수 있다(S217).
이때, 변환이 가능한 경우, 상기 어플리케이션을 상기 클라이언트 단말(10)에서 실행 가능하도록 변환하여 실행(S221)한 후 실행에 따른 결과 정보, 예컨대 화면 데이터를 인코딩하여 클라이언트 단말(10)로 제공하고, 이를 수신한 클라이언트 단말(10)은 상기 화면 데이터를 디코딩하여 화면을 통해 출력할 수 있게 된다.
상술한 과정은 실시간으로 이뤄지게 되므로, 사용자는 별다른 인지 없이 서비스 장치(20)가 제공하는 쉽게 어플리케이션을 이용할 수 있게 된다.
반면, 상기 어플리케이션이 변환이 불가능한 경우, 서비스 장치(20)는 상기 클라이언트 단말(10)이 상기 어플리케이션을 실행하기 위해 필요한 리소스 정보를 확인한 후(S223), 이에 대한 안내 메시지를 상기 클라이언트 단말(10)로 제공할 수 있다(S225). 예컨대, '해당 어플리케이션은 전용 햅틱 장비를 필요로 하는 어플리케이션입니다. 전용 햅틱 장비를 구매하시려면 [확인] 버튼을 클릭하세요'라는 안내 메시지를 제공할 수도 있다.
이를 통해, 사용자는 자신의 단말 사양에 적합한 어플리케이션을 서비스 장치(20)로부터 제공받아 이용할 수 있으며, 추가로 자신의 단말에서 실행이 불가능한 어플리케이션을 실행하기 위한 필요한 정보를 안내 받을 수 있어, 사용자의 편의성이 향상될 수 있다.
또한, 클라우드 서비스를 제공하는 서비스 장치(20)는 모든 클라이언트 단말(10) 사양을 고려한 어플리케이션을 미리 구비하고 있지 않더라도, 경우에 따라 필요한 부분만을 변환한 후 사용자에게 제공함으로써, 자원을 보다 효율적으로 활용할 수 있다는 장점이 있다.
다음으로, 본 발명의 제2 실시 예에 따른 클라우드 서비스를 제공하기 위한 시스템에 대해 설명하도록 한다.
도 1은 본 발명의 실시 예들에 따른 클라우드 시스템을 개략적으로 도시한 구성도이다.
도 1을 참조하면, 본 발명의 제2 실시 예에 따른 클라우드 시스템은(100)은 하나 이상의 클라이언트 단말(10), 상기 클라이언트 단말(10)의 서비스 접속을 지원하는 서비스 장치(20) 및 통신망(30)을 포함하여 구성될 수 있다.
여기어 더불어, 하나 이상의 어플리케이션을 제공하는 다수의 어플리케이션 제공 장치(40)를 더 포함하여 포함하여 구성될 수 있다.
각 구성에 대해 개략적으로 설명하면, 클라이언트 단말(10)은 통신망(30)을 통해 서비스 장치(20)에 접속을 수행하고, 서비스 장치(20)가 제공하는 다양한 기능들을 이용할 수 있는 사용자의 장치를 의미한다. 특히, 본 발명의 실시 예에 따른 클라이언트 단말(10)은 서비스 장치(20)에 접속하여 상기 서비스 장치(20)가 제공하는 다수의 어플리케이션 중 특정 어플리케이션의 실행을 요청하고, 상기 서비스 장치(20)가 연결을 어플리케이션 제공 장치(40)로부터 상기 어플리케이션 실행에 따른 결과 정보를 수신하여, 이를 출력함으로써 해당 어플리케이션을 이용할 수 있다.
서비스 장치(20)는 다수의 클라이언트 단말(10)의 서비스 접속을 지원하는 장치로, 특히 본 발명의 실시 예에 따른 서비스 장치(20)는 어느 하나의 클라이언트 단말(10)의 서비스 접속이 확인되면, 클라이언트 단말(10)로 서비스 제공이 가능한 어플리케이션에 대한 목록 정보를 제공할 수 있다. 클라이언트 단말(10)은 이를 수신하여 출력하고, 사용자로부터 어느 하나의 어플리케이션에 대한 선택 입력이 확인되면, 서비스 장치(20)로 상기 어플리케이션에 대한 실행 요청을 전송하게 된다.
서비스 장치(20)는 어느 하나의 클라이언트 단말(10)로부터 어플리케이션에 대한 실행 요청이 수신되면, 상기 어플리케이션을 보유하고 있는 어플리케이션 제공 장치(40), 예컨대 제1 어플리케이션 제공 장치(41)를 확인하게 된다. 이후, 확인된 제1 어플리케이션 제공 장치(41)로 어플리케이션 실행 요청을 전송한다. 이때, 바람직하게는 클라이언트 단말(10)의 식별 정보를 더 포함하여 전송하게 되며, 이를 수신한 제1 어플리케이션 제공 장치(41)는 해당되는 어플리케이션을 실행한 후, 실행에 따른 결과 정보, 예컨대 화면 데이터를 프레임 단위로 실시간 인코딩하고, 인코딩된 데이터를 상기 클라이언트 단말(10)로 전송하게 된다.
만일, 제1 어플리케이션 제공 장치(41)가 다수의 클라이언트 단말(10)로 어플리케이션을 제공하는 과부하 상태이거나 어플리케이션을 제공할 수 없는 문제가 발생된 상태라면, 서비스 장치(20)로 어플리케이션 제공 불가능 상태 정보를 전송할 수 있다. 이를 수신한 서비스 장치(20)는 상기 어플리케이션을 보유하고 있는 다른 어플리케이션 제공 장치, 예컨대 제2 어플리케이션 제공 장치(42)를 확인한 후, 상기 제2 어플리케이션 제공 장치(42)로 어플리케이션 실행 요청을 전송하게 된다. 이를 수신한 제2 어플리케이션 제공 장치(42)는 해당되는 어플리케이션을 실행한 후, 실행에 따른 결과 정보를 클라이언트 단말(10)로 전송하게 된다.
상술한 바와 같은 동작을 위해 서비스 장치(20)는 다수의 어플리케이션 제공 장치(40)로부터 보유 어플리케이션에 대한 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 미리 저장하는 것이 바람직하다. 이후, 서비스 장치(20)는 어느 하나의 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 먼저, 상기 클라이언트 단말(10)의 리소스 정보를 기초로, 해당되는 어플리케이션을 보유하고 있는 어플리케이션 제공 장치(40)를 확인할 수 있다.
또한, 서비스 장치(20)로부터 어플리케이션 실행 요청을 수신한 다수의 어플리케이션 제공 장치(40)는 어플리케이션을 실행한 후, 실행에 따른 결과 정보, 예컨대 화면 데이터를 실시간 인코딩할 수 있는 인코더를 포함하고 있는 것이 바람직하다. 여기서, 어플리케이션 제공 장치(40)가 클라이언트 단말(10)로 제공할 수 있는 어플리케이션은 문서 편집 어플리케이션, 게임 어플리케이션, 음악 또는 영화 등과 같은 미디어 재생 어플리케이션, 기타 서비스 어플리케이션 등 그 어떠한 것도 가능하다.
본 발명의 제2 실시 예에 따른 클라우드 시스템(100)을 통해, 사용자는 네트워크 상황과는 상관없이 원활한 어플리케이션 이용이 가능하며, 서비스 장치(20)가 어플리케이션을 제공하는 어플리케이션 제공 장치(40)의 상황에 따라 적절한 어플리케이션 제공 장치(40)와 클라이언트 단말(10)을 연결함으로써, 클라우드 서비스를 요청하는 클라이언트 단말(10)의 수가 증가하더라도 보다 유연하게 서비스 제공이 가능할 수 있다.
또한, 본 발명의 제2 실시 예에서는 서비스 장치(20)가 클라이언트 단말(10)과 적합한 어플리케이션 제공 장치(40)를 연결하게 되면, 어플리케이션 제공 장치(40)가 직접 클라이언트 단말(10)로 어플리케이션 실행에 따른 결과 정보를 제공하는 것을 예로 들어 설명하나, 이에 한정되는 것은 아니며, 어플리케이션 제공 장치(40)가 서비스 장치(20)로 어플리케이션을 제공하고, 서비스 장치(40)가 상기 어플리케이션을 실행한 후 실행에 따른 결과 정보를 클라이언트 단말(10)로 제공할 수도 있다.
본 발명의 클라이언트 단말(10) 및 서비스 장치(20)에서의 보다 구체적인 동작 방법에 대해서는 후술하도록 하며, 앞서 설명한 바와 같이 본 발명의 클라이언트 단말(10) 및 서비스 장치(20)는 통신망(30)을 통해 관련된 다양한 정보를 송수신하게 되며, 이때의 통신망(30)은 다양한 형태의 통신망이 이용될 수 있다.
예컨대, 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) 등의 유선 통신 방식을 이용할 수 있다.
또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
이하, 본 발명의 제2 실시 예에 따른 클라이언트 단말(10)의 주요 구성 및 동작 방법에 대해 먼저 설명하도록 한다.
도 2는 본 발명의 실시 예들에 따른 클라이언트 단말의 주요 구성을 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 제2 실시예에 따른 클라이언트 단말(10)은 통신부(11), 입력부(12), 제어부(13), 저장부(14) 및 표시부(15)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저, 통신부(11)는 통신망(30)을 통해 서비스 장치(20)와 관련된 다양한 정보를 송수신하는 것으로, 특히 본 발명의 통신부(11)는 서비스 장치(20)로 특정 어플리케이션에 대한 실행 요청을 전송하고, 상기 서비스 장치(20)로부터 상기 어플리케이션 실행에 따른 결과 정보를 수신할 수 있다.
더하여, 통신부(11)는 서비스 장치(20)로부터 리소스 수집 요청 정보를 수신하고, 상기 서비스 장치(20)로 리소스 정보를 전달할 수 있으며, 이와 더불어 사용자 인증에 필요한 사용자 정보를 전달할 수도 있다. 또한, 상기 어플리케이션 실행 중에 발생되는 다양한 사용자 입력을 서비스 장치(20)로 전송할 수도 있다.
입력부(12)는 사용자로부터 입력되는 숫자 및 문자 정보 등의 다양한 정보를 입력 받고, 각종 기능을 설정 및 클라이언트 단말(10)의 기능 제어와 관련하여 입력되는 신호를 제어부(13)로 전달한다. 특히, 본 발명의 입력부(12)는 서비스 장치(20)로 사용자 인증을 위한 사용자 정보 입력을 지원하며, 서비스 장치(20)가 제공하는 다수의 어플리케이션 중 특정 어플리케이션에 대한 실행 요청 정보에 대한 입력을 지원할 수 있다. 또한, 어플리케이션 구동 중에 발생되는 다양한 기능 및 동작을 수행하기 위한 사용자의 입력을 지원하게 된다.
이러한, 입력부(12)는 사용자의 터치 또는 조작에 따른 입력 신호를 발생하는 키패드와 터치패드 중 적어도 하나를 포함하여 구성될 수 있다. 이때, 입력부(12)는 후술할 표시부(15)와 함께 하나의 터치패널(또는 터치스크린)의 형태로 구성되어 입력과 표시 기능을 동시에 수행할 수 있다. 또한, 입력부(12)는 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단 또는 음성 입력 수단 중 하나 이상을 포함할 수 있다. 이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다.
제어부(13)는 클라이언트 단말(10)의 전반적인 제어를 수행하는 것으로, 예컨대 상기 클라이언트 단말(10)을 구성하는 각 구성 요소에 전원 공급 및 기능 수행을 위한 신호의 흐름을 제어하게 된다. 이때의 제어부(13)는 운영 체제(OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치, 예컨대, 중앙처리장치(CPU, Central Processing Unit)가 될 수 있다.
특히, 본 발명의 실시 예에 따른 제어부(13)는 사용자의 요청에 따라 서비스 장치(20)가 제공하는 서비스 페이지, 예컨대 웹 페이지로 접속을 시도하게 된다. 이때, 바람직하게는 사용자로부터 입력된 서비스 가입 아이디와 비밀번호 등 사용자 인증을 수행할 수 있는 사용자 정보를 서비스 장치(20)로 제공할 수 있다. 이후, 상기 사용자 정보를 기초로 사용자 인증이 성공적으로 수행되면, 서비스 장치(20)와의 접속이 이뤄지고, 제어부(13)는 서비스 장치(20)로부터 어플리케이션 목록 정보를 수신하여, 표시부(15)를 통해 표시하게 된다.
이후, 입력부(12)를 통해 사용자로부터 특정 어플리케이션에 대한 선택이 입력되면, 제어부(13)는 상기 통신부(11)를 통해 서비스 장치(20)로 해당 어플리케이션에 대한 실행 요청 정보를 전송하게 된다.
이때, 서비스 장치(20)로부터 리소스 수집 요청 정보가 수신되면, 제어부(13)는 자신의 하드웨어 사양 및 소프트웨어 사양에 대한 정보를 수집하게 된다. 예컨대, 입력부(12)에서 지원하는 입력 장치의 종류, 표시부(15)에서 지원하는 표시 사양 등이 될 수 있다.
표 3
OS X17
CPU Pen 3.2GHz
그래픽 카드 F 7800GT
메모리 1GB
입력 장치 키보드, 마우스
상기의 <표 3>과 같이, 제어부(13)는 서비스 장치(20)로부터 리소스 수집 요청 정보가 수신되면, 단말 내 하드웨어 사양 및 소프트웨어 사양에 대한 다양한 정보를 수집한 후, 이를 서비스 장치(20)로 전송한다.
이후, 제어부(13)는 서비스 장치(20)로부터 실시간 수신되는 상기 어플리케이션 실행 결과를 수신하여 표시부(15)를 통해 출력할 수 있게 된다.
상술한 바와 같은 제어부(13)의 동작을 위해, 제어부(13)는 서비스 장치(20)로부터의 요청에 따라 리소스를 수집하기 위한 리소스 수집 모듈(13_1)을 포함하여 구성될 수 있으며, 서비스 장치(20)로부터 수신되는 어플리케이션에 대한 실행 결과에 따른 화면 데이터를 실시간으로 수신하고, 수신된 상기 화면 데이터를 실시간으로 복호화하여 출력할 수 있는 스트림 데이터 디코더(13_2)를 포함하여 구성될 수 있다. 이때, 스트림 데이터 디코더(13_2)는 H.264 방식의 디코더가 될 수 있다.
여기서, 상기 리소스 수집 모듈(13_1) 및 스트림 데이터 디코더(13_2)는 서비스 장치(20)에 접속한 후 상기 서비스 장치(20)로부터 제공받아 구비될 수 있으며, 서비스 장치(20)의 요청에 따라 또는 일정 시간 경과 후 상기 리소스 수집 모듈(13_1) 및 스트림 데이터 디코더(13_2)는 삭제될 수 있다.
저장부(14)는 본 발명의 실시 예에 따른 기능 동작에 필요한 응용 프로그램을 비롯하여, 그 응용 프로그램 실행 중에 발생되는 다양한 데이터를 일시적으로 저장할 수 있다. 특히 본 발명의 저장부(14)는 서비스 장치(20)로부터 제공되는 어플리케이션 목록 정보, 사용자가 요청한 어플리케이션 실행 결과에 따른 결과 정보를 일시적으로 저장하는 역할을 수행할 수 있으며, 상기 서비스 장치(20)와의 접속이 종료되면, 상기 일시적으로 저장된 데이터는 삭제될 수 있다.
이러한 저장부(14)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역은 클라이언트 단말(10)를 부팅시키는 운영체제(OS)와 같은 단말(10) 구동을 위한 관련된 정보들을 저장하며, 데이터 영역은 클라이언트 단말(10)의 사용에 따라 발생되는 데이터가 저장되는 영역으로, 상술한 바와 같이 서비스 장치(20)로부터 수신되는 정보 등이 일시적으로 저장될 수 있다. 이러한, 저장부(14)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.
표시부(15)는 클라이언트 단말(10)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 표시한다. 특히, 본 발명의 표시부(15)는 서비스 장치(20)가 제공하는 어플리케이션에 대한 목록 정보를 표시할 수 있으며, 어플리케이션 실행에 따른 결과 정보는 물론 상기 어플리케이션 실행 중에 입력부(12)를 통해 발생되는 다양한 사용자 입력 정보를 표시할 수도 있다.
이러한 표시부(15)는 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를 참조하여 클라이언트 단말(10)의 주요 구성 요소에 대해 설명하였다. 그러나 도 2를 통해 도시된 구성 요소가 모두 필수 구성 요소인 것은 아니며, 도시된 구성 요소보다 많은 구성 요소에 의해 클라이언트 단말(10)이 구현될 수도 있고, 그 보다 적은 구성 요소에 의해 클라이언트 단말(10)이 구현될 수도 있다.
이러한, 본 발명의 제2 실시 예에 따른 클라이언트 단말(10)은 다양한 형태로 구현될 수 있다. 예를 들어, 본 발명의 클라이언트 단말(10)은 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수 있다.
이하, 본 발명의 제2 실시 예에 따른 서비스 장치(20)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 3은 본 발명의 실시 예들에 따른 서비스 장치의 주요 구성을 도시한 블록도이다.
도 1 및 도 3을 참조하면, 본 발명의 제2 실시예에 따른 서비스 장치(20)는 장치 통신부(21), 장치 제어부(22) 및 장치 저장부(23)를 포함하여 구성될 수 있다.
먼저, 장치 통신부(21)는 통신망(30)을 통해 다수의 클라이언트 단말(10)과 관련된 정보를 송수신하는 것으로, 특히, 어느 하나의 클라이언트 단말(10)의 접속이 확인되면, 상기 클라이언트 단말(10)로 제공 가능한 어플리케이션에 대한 목록 정보를 전송하고, 상기 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 어플리케이션 실행에 따른 결과 정보를 클라이언트 단말(10)로 전송할 수 있다.
또한, 장치 제어부(22)의 제어에 따라 상기 클라이언트 단말(10) 리소스 수집 요청을 전송하거나 이에 대응하여 상기 클라이언트 단말(10)로부터 리소스 정보를 수신할 수 있다.
장치 제어부(22)는 본 발명의 제2 실시예에 따른 서비스 장치(20)의 전반적인 동작을 제어하는 것으로, 특히, 본 발명의 제2 실시예에 따른 장치 제어부(22)는 먼저, 하나 이상의 어플리케이션 제공 장치(40)로부터 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말(10)의 최소 사양 정보가 수신되면, 이를 장치 저장부(23)에 저장하게 된다.
예컨대, 다수의 어플리케이션 제공 장치(40) 중 제1 어플리케이션 제공 장치(41)는 A 게임 어플리케이션을 보유하며, 제2 어플리케이션 제공 장치(42)는 B 문서 편집 어플리케이션을 보유하고 있는 상태라면, 제1 어플리케이션 제공 장치(41)는 A 게임 어플리케이션 정보 및 상기 A 게임 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 상기 서비스 장치(20)로 전송하고, 제2 어플리케이션 제공 장치(42)는 B 문서 편집 어플리케이션 정보 및 상기 B 문서 편집 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 서비스 장치(20)로 전송할 수도 있다.
또한, 다수의 어플리케이션 제공 장치(40)는 동일한 어플리케이션을 보유하고 있을 수 있다. 예컨대, 제1 어플리케이션 제공 장치(41) 및 제2 어플리케이션 제공 장치(42) 모두 A 게임 어플리케이션을 보유하고 있을 수 있다. 이때, 제1 어플리케이션 제공 장치(41)가 지원하는 A 게임 어플리케이션의 클라이언트 단말의 최소 사양 정보와 제2 어플리케이션 제공 장치(42)가 지원하는 A 게임 어플리케이션의 클라이언트 단말의 최소 사양 정보는 서로 상이할 수 있다. 또한, 시스템 설계 방식에 따라 하나의 어플리케이션을 일정 단위로 분할한 후, 분할된 어플리케이션을 다수의 어플리케이션 제공 장치(40)가 보유하고 있을 수도 있다.
이와 같이, 서비스 장치(20)의 장치 제어부(22)가 다수의 어플리케이션 제공 장치(40)로부터 보유하고 있는 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보가 수신되면, 수신된 정보를 장치 저장부(23)에 저장하게 된다.
예컨대, 하기의 <표 4>와 같은 정보가 장치 저장부(23)에 저장될 수 있다.
표 4
어플리케이션 제공 장치 정보 보유 어플리케이션 정보 클라이언트 단말의 최소 사용 정보
제1 어플리케이션 제공 장치 게임 1 OS X17
CPU Pen 3.2GHz
그래픽 카드 F 7800GT
메모리 1GB
입력 장치 전용 게임패드
제2 어플리케이션 제공 장치 게임 1 OS X17
CPU Pen 3.2GHz
그래픽 카드 F 7800GT
메모리 1GB
입력 장치 키보드, 마우스
이후, 장치 제어부(22)는 어느 하나의 클라이언트 단말(10)의 접속을 확인하게 된다. 여기서, 클라이언트 단말(10)의 접속이란, 사용자가 서비스 장치(20)가 제공하는 서비스 페이지, 예컨대, 웹 페이지, 유무선 어플리케이션에서의 접속 페이지로 상기 클라이언트 단말(10)이 접근하여, 상기 서비스 페이지를 통해 사용자 정보, 예컨대, 아이디, PIN(Personal Identification Number) 등 사용자 식별 정보와 이에 대응하는 비밀번호를 입력하여 서비스 장치(20)로 전송하는 행위가 될 수 있다.
이후, 장치 제어부(22)는 서비스 장치(20)는 클라이언트 단말(10)로부터 사용자 정보가 수신되면, 상기 사용자 정보를 기초로 사용자 인증을 수행하고, 적합한 사용자인지 확인하게 된다. 장치 제어부(22)는 상기 클라이언트 단말(10)의 사용자가 적합한 사용자로 확인되면, 상기 클라이언트 단말(10)로 보유하고 있는 어플리케이션에 대한 어플리케이션 목록 정보를 제공할 수 있다.
그리고 나서, 장치 제어부(22)는 상기 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청이 수신하게 된다. 예컨대 클라이언트 단말(10)로부터 게임 1에 대한 어플리케이션 실행 요청을 수신할 수 있다.
이후, 장치 제어부(22)는 클라이언트 단말(10)이 실행 요청한 게임 1 어플리케이션을 보유하고 있는 어플리케이션 제공 장치(40)를 확인하게 된다. 확인 결과, 게임 1 어플리케이션은 제1 어플리케이션 제공 장치(41) 및 제2 어플리케이션 제공 장치(42) 모두 보유하고 있으므로, 장치 제어부(22)는 클라이언트 단말(10)의 리소스 정보와 상기 어플리케이션에 대응하여 기 저장된 상기 어플리케이션을 실행할 수 있는 클라이언트 단말의 최소 사양 정보를 비교하게 된다.
이때, 상기 클라이언트 단말(10)의 리소스 정보는 사용자 정보에 대응하여 장치 저장부(23)에 미리 저장되어 있을 수 있으며, 미리 저장되어 있지 않을 경우, 장치 제어부(22)는 상기 클라이언트 단말(10)로 리소스 수집 요청을 전송할 수 있다. 이후, 장치 제어부(22)는 상기 클라이언트 단말(10)로부터 하드웨어 및 소프트웨어에 대한 리소스 정보를 수신할 수 있다.
또한, 장치 제어부(22)는 상기 클라이언트 단말(10)의 리소스 수집 모듈이 존재하지 않는 것으로 확인되면, 먼저, 클라이언트 단말(10)로 리소스 수집 모듈을 제공할 수도 있다. 여기서의 리소스 수집 모듈을 API(Application Programming Interface) 형태로 제공될 수 있다.
장치 제어부(22)가 클라이언트 단말(10)의 리소스 정보와 상기 어플리케이션에 대응하여 기 저장된 상기 어플리케이션을 실행할 수 있는 클라이언트 단말의 최소 사양 정보를 비교하는 것을 예를 들어 보다 구체적으로 설명하면, 클라이언트 단말(10)로부터 수신된 리소스 정보가 <표 1>에 도시된 바와 같다고 가정한다. 또한 장치 저장부(23)에 저장된 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보가 <표 2>에 도시된 바와 같다고 가정한다. 장치 제어부(22)는 클라이언트 단말(10)로부터 게임 1 어플리케이션에 대한 실행 요청이 수신되면, 상기 게임 1 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보와 상기 클라이언트 단말(10)의 리소스 정보를 비교하게 되고, 장치 제어부(22)는 제1 어플리케이션 제공 장치(41)가 보유하고 있는 게임 1 어플리케이션은 별도의 전용 게임패드가 필요하나, 클라이언트 단말(10)은 이를 구비하고 있지 않아 구동이 불가능한 것으로 확인하게 된다.
반면, 장치 제어부(22)는 제2 어플리케이션 제공 장치(42)가 보유하고 있는 게임 1 어플리케이션은 클라이언트 단말(10)에서 정상적으로 구동이 가능한 것으로 확인하게 된다.
이후, 장치 제어부(22)는 제2 어플리케이션 제공 장치(42)로 게임 1 어플리케이션 실행을 요청하게 된다. 이때, 게임 1 어플리케이션에 대한 식별 정보와 클라이언트 단말(10)의 식별 정보를 함께 제2 어플리케이션 제공 장치(42)로 전달할 수 있다. 이를 수신한 제2 어플리케이션 제공 장치(42)는 현재의 상태를 확인한 후, 클라이언트 단말(10)로 게임 1 어플리케이션을 제공할 수 있는 상태이면, 게임 1 어플리케이션을 실행한 후 실행에 따른 화면 데이터를 실시간 인코딩하여 클라이언트 단말(10)로 전송하게 된다.
반면, 제2 어플리케이션 제공 장치(42)가 현재 다수의 다른 클라이언트 단말로 어플리케이션을 제공하여 과부하 상태일 경우, 제2 어플리케이션 제공 장치(42)는 서비스 장치(20)로 클라이언트 단말(10)로 게임 1 어플리케이션을 제공할 수 없음을 통보하게 된다. 이를 수신한 서비스 장치(20)는 게임 1 어플리케이션과 동일한 어플리케이션을 보유하고 있는 제1 어플리케이션 제공 장치(41)로 게임 1 어플리케이션 실행을 요청하게 된다. 이때, 서비스 장치(20)는 제1 어플리케이션 제공 장치(41)로 게임 1 어플리케이션 식별 정보와 클라이언트 단말(10)의 식별 정보와 더불어, 클라이언트 단말(10)의 리소스 정보를 더 제공할 수 있다.
이를 수신한 제1 어플리케이션 제공 장치(41)는 클라이언트 단말(10)의 입력 장치는 자신이 보유하고 있는 게임 1 어플리케이션이 지원하는 입력 장치와는 상이하므로, 상기 게임 1 어플리케이션이 지원하는 전용 게임패드 입력 방식을 키보드와 마우스를 지원하는 입력 방식으로 변환하여 실행한 후 클라이언트 단말(10)로 제공하게 된다.
즉, 어플리케이션은 다수의 프로그램 모듈로 구성될 수 있는데, 제1 어플리케이션 제공 장치(41)는 상기 어플리케이션의 입력과 관련된 모듈에서, 키보드 및 마우스를 지원하도록 변환하게 된다. 또는 제1 어플리케이션 제공 장치(41)는 미리 키보드 및 마우스를 통해 발생되는 다양한 입력을 전용 게임패드 입력에 대응하여 저장한 후, 클라이언트 단말(10)로부터 키보드 및 마우스를 통해 발생되는 입력 정보가 인가되면, 이에 대응하는 전용 게임패드 입력으로 변환할 수 있다. 예컨대, 클라이언트 단말(10)로부터 키보드를 통해 입력된 'A'가 수신되면, 제1 어플리케이션 제공 장치(41)는 상기 'A'를 전용 게임패드의 [LEFT] 버튼 입력인 것으로 변환하여 처리할 수 있다.
본 발명의 제2 실시 예에서는 서비스 장치(20)의 요청 하에 제1 어플리케이션 제공 장치(41)가 게임 1 어플리케이션을 클라이언트 단말(10) 환경에 적합하게 변환한 후 클라이언트 단말(10)로 제공하는 것을 예로 들어 설명하였으나, 이에 한정되는 것은 아니며, 제1 어플리케이션 제공 장치(41)가 자신이 보유하고 있는 게임 1 어플리케이션에 대한 정보를 서비스 장치(20)로 전달하고, 서비스 장치(20)가 상기 게임 1 어플리케이션을 클라이언트 단말(10) 환경에 적합하게 변환하여 실행한 후 클라이언트 단말(10)로 제공할 수도 있다.
또한, 상술한 예에서는 제1 어플리케이션 제공 장치(41)가 보유하고 있는 어플리케이션의 입력 방식을 클라이언트 단말(10)에서 지원 가능한 입력 방식으로 변환하는 것을 예로 들어 설명하였으나, 클라이언트 단말(10)의 적합한 해상도로 변환하거나, 클라이언트 단말(10)이 보유하고 있는 디코더가 지원하는 압축률에 따라 어플리케이션을 인코딩하여 클라이언트 단말(10)로 제공할 수도 있다.
상기와 같은 동작을 위해 장치 제어부(22)는 사용자 관리 모듈(22_1) 및 어플리케이션 실행 모듈(22_2)을 포함하여 구성될 수 있다. 여기서 사용자 관리 모듈(22_1)는 사용자 인증과 관련된 다양한 관리를 수행할 수 있으며, 어플리케이션 실행 모듈(22_2)는 다수의 어플리케이션 제공 장치(40)로부터 보유 어플리케이션 정보를 수신하거나, 클라이언트 단말(10)이 요청한 어플리케이션을 보유하고 있는 어플리케이션 제공 장치(40)를 확인하는 역할을 수행할 수 있다. 더불어, 서비스 장치(20)가 직접 어플리케이션을 실행한 후 클라이언트 단말(10)로 제공하는 경우, 어플리케이션 실행 모듈(22_2)이 어플리케이션 실행 및 인코딩 등의 역할을 수행할 수도 있다.
장치 저장부(23)는 상술한 바와 같이 본 발명의 클라우드 서비스와 관련된 다양한 정보들을 저장하는 것으로, 사용자 인증을 수행하기 위한 사용자 정보 (23_1), 어플리케이션 제공 장치(40)로부터 수신한 보유 어플리케이션 정보(23_2) 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말(10)의 최소 사양 정보(23_3)를 저장할 수 있다. 또한, 사용자 정보(23_1)에 대응하여 리소스 정보를 저장하고 관리할 수도 있다.
이상으로, 본 발명의 제2 실시 예에 따른 서비스 장치(20)의 주요 구성 및 동작 방법에 대해 설명하였다.
본 발명의 제2 실시 예에 따른 서비스 장치(20)는 클라우드 방식으로 동작하는 것을 예로 들어 설명하였으나, 일반적인 서버 기반 컴퓨팅 방식에도 용이하게 적용 가능하다.
이하, 본 발명의 제2 실시 예에 따른 클라우드 서비스 제공 방법에 대해 설명하도록 한다.
도 6은 본 발명의 제2 실시 예에 따른 클라우드 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 6을 참조하면, 먼저, 제1 어플리케이션 제공 장치(41) 및 제2 어플리케이션 제공 장치(42)는 자신이 보유하고 있는 어플리케이션에 대한 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 서비스 장치(20)로 전송하게 된다(S301 ~ S303).
여기서, 제1 어플리케이션 제공 장치(41) 및 제2 어플리케이션 제공 장치(42)에 새로운 어플리케이션이 등록되는 즉시 서비스 장치(20)로 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 제공할 수 있으며, 서비스 장치(20)의 요청에 따라 상기 정보를 전송할 수 있다.
이후, 서비스 장치(20)는 제1 어플리케이션 제공 장치(41) 및 제2 어플리케이션 제공 장치(42)로부터 수신된 보유 어플리케이션 정보 및 최소 사양 정보를 저장하게 된다(S305). 이후, 어느 하나의 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청을 수신한다(S307). 여기서, 특정 어플리케이션에 대한 실행 요청을 수신하기에 앞서, 서비스 장치(20)는 상기 클라이언트 단말(10)로부터 사용자 인증에 필요한 사용자 정보를 수신하고, 상기 사용자 정보를 기초로 사용자 인증을 수행할 수도 있다.
이후, 서비스 장치(20)는 클라이언트 단말(10)이 실행을 요청한 상기 어플리케이션을 보유하고 있는 어플리케이션 제공 장치를 확인하게 된다(S309). 이때, 클라이언트 단말(10)의 리소스 정보와 S305 단계에 어플리케이션에 대응하여 기 저장된 최소 사양 정보를 비교하여, 어플리케이션 제공 장치를 확인할 수 있다.
상기 확인 결과, 서비스 장치(20)는 제1 어플리케이션 제공 장치(41)가 해당되는 어플리케이션을 보유하고 있는 것으로 확인되면, 제1 어플리케이션 제공 장치(41)로 어플리케이션 실행을 요청하게 된다(S311). 이에 제1 어플리케이션 제공 장치(41)는 현재의 상태가 어플리케이션 제공이 가능한 상태인지 판단한 후(S313), 어플리케이션 제공이 가능한 상태이면, 해당 어플리케이션을 실행하고, 실행에 따른 결과 정보를 클라이언트 단말(10)로 제공한다
반면, S313 단계에서 어플리케이션 제공이 불가능한 경우, 제1 어플리케이션 제공 장치(41)는 어플리케이션 제공 불가능 상태 정보를 서비스 장치(20)로 전송하고(S317), 이를 수신한 서비스 장치(20)는 해당 어플리케이션을 보유하고 있는 또 다른 어플리케이션 제공 장치를 확인하여, 제2 어플리케이션 제공 장치(42)로 어플리케이션 실행을 요청하게 된다(S319).
이때, 서비스 장치(20)는 제2 어플리케이션 제공 장치(42)로 클라이언트 단말(10)의 리소스 정보를 더 전송할 수 있으며, 이를 수신한 제2 어플리케이션 제공 장치(42)는 어플리케이션 변환이 필요한 경우(S321), 어플리케이션을 클라이언트 단말(10)에서 구동 가능하도록 변환한 후(S323), 어플리케이션을 실행하고(S125), 실행에 따른 결과 정보를 제공하게 된다(S327).
예컨대, 제2 어플리케이션 제공 장치(42)는 어플리케이션이 지원하는 입력 장치를 상기 클라이언트 단말(10)이 구비하고 있지 않을 경우, 상기 클라이언트 단말(10)이 구비하고 있는 입력 장치에 적합하게 상기 어플리케이션의 입력을 처리하는 프로그램 모듈을 변환할 수 있다. 또한, 상기 어플리케이션이 지원하는 해상도가 상기 클라이언트 단말(10)의 해상도와 상이한 경우, 클라이언트 단말(10)의 해상도에 적합하게 상기 어플리케이션을 변환할 수도 있다. 또한, 상기 클라이언트 단말(10)의 디코더의 압축률을 확인한 후, 상기 디코더가 지원하는 압축률에 따라 상기 어플리케이션 실행에 따른 화면 데이터를 인코딩하여 클라이언트 단말(10)로 제공할 수도 있다.
이후, 클라이언트 단말(10)은 제2 어플리케이션 제공 장치(42)로부터 전송되는 어플리케이션 실행에 따른 결과 정보, 예컨대 인코딩된 화면 데이터를 디코딩하여 출력하게 된다(S329).
더하여, 클라이언트 단말(10)이 어플리케이션 이용 중에 서비스를 종료하게 되면, 상기 클라이언트 단말(10)로 어플리케이션을 제공하고 있던 제2 어플리케이션 제공 장치(42)는 클라이언트 단말(10)의 어플리케이션 이용과 관련된 정보를 서비스 장치(20)로 전송할 수 있다. 예컨대, 게임 어플리케이션 실행 중에 클라이언트 단말(10)이 접속을 종료하게 되면, 마지막 게임 저장 시점, 게임 이용 시간 등의 정보를 서비스 장치(20)로 전송하게 된다. 이후, 클라이언트 단말(10)로부터 어플리케이션 실행 요청이 수신되면, 서비스 장치(20)는 상술한 바와 같이, 먼저 제1 어플리케이션 제공 장치(41)로 어플리케이션 실행을 요청하고, 제1 어플리케이션 제공 장치(41)가 클라이언트 단말(10)로 어플리케이션 제공이 가능한 경우, 제2 어플리케이션 제공 장치(42)로부터 수신된 어플리케이션 이용과 관련된 정보를 제1 어플리케이션 제공 장치(41)로 전달하게 되며, 이를 수신한 제1 어플리케이션 제공 장치(41)는 상기 마지막 게임 저장 시점 이후부터 어플리케이션을 실행한 후 실행에 따른 결과 정보를 클라이언트 단말(10)로 제공할 수도 있다.
이하, 도 7을 참조하여 상기 서비스 장치(20)에서의 클라우드 서비스 제공 방법에 대해 보다 더 구체적으로 설명하도록 한다.
도 7은 본 발명의 제2 실시 예에 따른 서비스 장치에서의 클라우드 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 1 및 도 7을 참조하면, 앞서 설명한 바와 같이 먼저 서비스 장치(20)는 하나 이상의 어플리케이션 제공 장치(40)로부터 보유 어플리케이션에 대한 정보 및 최소 사양 정보를 수신하여(S401), 서비스 장치(20) 내 장치 저장부에 저장하게 된다(S403).
이후, 서비스 장치(20)가 어느 하나의 클라이언트 단말(10)로부터 어플리케이션 실행 요청을 수신하게 되면(S405), 서비스 장치(20)는 먼저, 상기 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하는 지 판단하게 된다(S407).
상기 판단 결과, 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하지 않을 경우, 서비스 장치(20)는 클라이언트 단말(10)로 리소스 수집을 요청한 후(S409), 리소스 정보를 수신할 수 있다(S411). 상기 판단 결과, 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하는 경우, 상기 과정은 생략될 수 있다. 또한, 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하더라도, 상기 클라이언트 단말(10)의 하드웨어 및 소프트웨어 사양이 변경된 경우, 이를 감지하여, 서비스 장치(20)가 상기 클라이언트 단말(10)로 리소스 수집을 요청할 수도 있다.
이후, 서비스 장치(20)는 S403 단계에서 어플리케이션에 대응하여 기 저장된 상기 어플리케이션을 구동하기 위한 클라이언트 단말의 최소 사양 정보와 상기 클라이언트 단말(10)의 리소스 정보를 비교하여 상기 어플리케이션을 보유하고 있는 어플리케이션 제공 장치를 확인하게 된다(S413).
이후, 서비스 장치(20)는 확인된 어플리케이션 제공 장치, 예컨대 제1 어플리케이션 제공 장치(41)로 어플리케이션 실행을 요청하게 된다(S415). 이후, 제1 어플리케이션 제공 장치(41)로부터 어플리케이션 제공 불가능 상태 정보가 수신되면(S417), 서비스 장치(20)는 다른 어플리케이션 제공 장치, 예컨대 제2 어플리케이션 제공 장치(42)를 확인하게 된다.
여기서, 제2 어플리케이션 제공 장치(42)는 제1 어플리케이션 제공 장치(41)가 보유하고 있는 어플리케이션과 동일한 어플리케이션이나 이에 대응하는 클라이언트 단말의 최소 사양 정보가 다른 어플리케이션을 저장하고 있는 상태이다.
서비스 장치(20)는 확인된 제2 어플리케이션 제공 장치(42)로 어플리케이션 실행을 요청하고, 제2 어플리케이션 제공 장치(42)는 어플리케이션 제공이 가능한 경우, 어플리케이션을 실행하고 실행에 따른 결과 정보를 클라이언트 단말(10)로 제공할 수 있다.
이를 통해, 사용자는 네트워크 상황에 많은 영향을 받는 클라우드 서비스 이용 시 네트워크 상황과는 전혀 상관없이 원활하게 어플리케이션 이용이 가능하며, 또한, 서비스 장치가 어플리케이션을 제공하는 어플리케이션 제공 장치의 상황에 따라 적절한 어플리케이션 제공 장치와 클라이언트 단말을 연결함으로써, 클라우드 서비스를 요청하는 클라이언트 단말의 수가 증가하더라도 보다 유연하게 서비스 제공이 가능하게 된다.
이상으로, 본 발명의 실시 예들에 따른 클라우드 서비스 제공 방법에 대해 설명하였다.
본 발명의 실시 예들에 따른 클라우드 서비스 제공 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예들과 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것은 아니며, 기술적 사상의 범주를 이탈함없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예들에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 예컨대, 클라이언트 단말에 적합하도록 어플리케이션을 변환하는 방법은 다양한 방법을 이용할 수 있다.
본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
본 발명은 클라우드 서비스 제공 방법에 관한 것으로서, 더욱 상세하게는 클라이언트 단말이 실행 요청한 어플리케이션이 클라이언트 단말에서 실행이 불가능할 경우, 클라이언트 단말에서 실행 가능하도록 변환한 후 상기 클라이언트 단말로 제공하는 클라우드 서비스 제공 방법, 이를 위한 시스템 장치에 관한 것이다.
본 발명의 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치에 의하면, 서비스 장치가 클라이언트 단말에서 실행을 요청한 어플리케이션이 상기 클라이언트 단말에서 실행이 불가능한 어플리케이션일 경우, 상기 어플리케이션을 실행 가능하도록 변환한 후 상기 클라이언트 단말로 제공할 수 있게 된다. 이로 인해, 서비스 장치는 클라이언트 단말의 모든 사양을 고려한 어플리케이션을 미리 구비하고 있지 않더라도, 클라이언트 단말의 사양에 따라 필요한 부분만을 변환하여 상기 클라이언트 단말로 제공함으로써, 보다 효율적인 서비스 제공이 가능하게 된다.
또한, 본 발명은 클라우드 서비스 제공 방법에 관한 것으로서, 더욱 상세하게는 클라이언트 단말이 실행 요청한 어플리케이션을 보유하고 있는 어플리케이션 제공 장치가 어플리케이션 실행이 불가능한 경우, 상기 어플리케이션을 보유하고 있는 다른 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 것을 특징으로 하는 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치에 관한 것이다.
이를 통해, 클라이언트 단말은 네트워크 상황에 영향을 받지 않고 원활한 어플리케이션 이용이 가능하게 되며, 서비스 장치가 어플리케이션을 제공하는 어플리케이션 제공 장치의 상황에 따라 적절한 어플리케이션 제공 장치와 클라이언트 단말을 연결함으로써, 클라우드 서비스를 요청하는 클라이언트 단말의 수가 증가하더라도 보다 유연하게 서비스 제공이 가능하게 된다. 이를 통해 클라우드 서비스 산업 발전에 이바지할 수 있다.
더불어, 본 발명은 이는 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.

Claims (22)

  1. 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능한 지 여부를 판단하여, 그렇지 않을 경우, 상기 클라이언트 단말에서 실행 가능하도록 상기 어플리케이션을 변환하여 실행하고, 상기 어플리케이션 실행에 따른 결과 정보를 상기 클라이언트 단말로 전송하는 서비스 장치; 및
    상기 서비스 장치로 특정 어플리케이션에 대한 실행을 요청하고, 상기 서비스 장치로부터 상기 어플리케이션 실행에 따른 결과 정보를 수신하여 출력하는 클라이언트 단말;
    을 포함하는 것을 특징으로 하는 클라우드 시스템.
  2. 제1항에 있어서, 상기 서비스 장치는,
    상기 어느 하나의 클라이언트 단말로부터 상기 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 어플리케이션을 보유하고 있는 제1 어플리케이션 제공 장치를 확인한 후, 상기 제1 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하되, 상기 제1 어플리케이션 제공 장치가 상기 어플리케이션 실행이 불가능할 경우, 상기 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 것을 특징으로 하는 클라이언트 시스템.
  3. 하나 이상의 어플리케이션 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 저장하는 장치 저장부; 및
    어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 어플리케이션의 최소 사양 정보와 상기 클라이언트 단말의 리소스 정보를 비교하여 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능한지 여부를 판단하고, 그렇지 않을 경우, 상기 클라이언트 단말에서 실행 가능하도록 상기 어플리케이션을 변환하여 실행한 후 상기 어플리케이션 실행에 따른 결과 정보를 상기 클라이언트 단말로 전송하는 장치 제어부;
    를 포함하는 것을 특징으로 하는 서비스 장치.
  4. 제3 항에 있어서,
    상기 장치 제어부는
    상기 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 클라이언트 단말의 기 저장된 리소스 정보를 확인한 후 상기 어플리케이션의 최소 사양 정보와 비교하는 것을 특징으로 하는 서비스 장치.
  5. 제3 항에 있어서,
    상기 장치 제어부는
    상기 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 클라이언트 단말의 기 저장된 리소스 정보가 없을 경우, 상기 클라이언트 단말로 리소스 수집을 요청한 후 확인하는 것을 특징으로 하는 서비스 장치.
  6. 제3 항에 있어서,
    상기 장치 제어부는
    상기 어플리케이션이 변환 가능한 지 여부를 확인한 후, 상기 어플리케이션이 변환이 불가능한 경우, 상기 어플리케이션을 실행하기 위한 상기 클라이언트 단말의 필요 리소스 정보를 확인한 후, 필요 리소스 정보를 포함하는 안내 메시지를 상기 클라이언트 단말로 전송하는 것을 특징으로 하는 서비스 장치.
  7. 제3 항에 있어서,
    상기 장치 제어부는
    상기 어플리케이션이 지원하는 입력 장치를 상기 클라이언트 단말이 구비하고 있지 않을 경우, 상기 클라이언트 단말이 구비하고 있는 입력 장치에 적합하게 상기 어플리케이션을 변환하는 것을 특징으로 하는 서비스 장치.
  8. 제3 항에 있어서,
    상기 장치 제어부는
    상기 어플리케이션이 지원하는 해상도가 상기 클라이언트 단말의 해상도와 상이한 경우, 상기 클라이언트 단말의 해상도에 적합하게 상기 어플리케이션을 변환하는 것을 특징으로 하는 서비스 장치.
  9. 제3 항에 있어서,
    상기 장치 제어부는
    상기 클라이언트 단말의 디코더를 확인한 후, 상기 디코더가 지원하는 압축률에 따라 상기 어플리케이션을 인코딩하여 상기 클라이언트 단말로 전송하는 것을 특징으로 하는 서비스 장치.
  10. 하나 이상의 어플리케이션 제공 장치로부터 수신한 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 저장하는 장치 저장부; 및
    어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 어플리케이션을 보유하고 있는 제1 어플리케이션 제공 장치를 확인한 후, 상기 제1 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하되, 상기 제1 어플리케이션 제공 장치가 상기 어플리케이션 실행이 불가능할 경우, 상기 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 장치 제어부;
    를 포함하는 것을 특징으로 하는 서비스 장치.
  11. 제10 항에 있어서,
    상기 장치 제어부는
    상기 클라이언트 단말의 리소스 정보와 상기 어플리케이션의 최소 사양 정보와 비교하여, 해당되는 제1 어플리케이션 제공 장치를 확인하는 것을 특징으로 하는 서비스 장치.
  12. 제10 항에 있어서,
    상기 장치 제어부는
    상기 클라이언트 단말의 기 저장된 리소스 정보가 없을 경우, 상기 클라이언트 단말로 리소스 수집을 요청한 후 확인하는 것을 특징으로 하는 서비스 장치.
  13. 제10 항에 있어서,
    상기 장치 제어부는
    상기 제1 어플리케이션 제공 장치로부터 어플리케이션 제공 불가능 상태 정보가 수신되면, 상기 제1 어플리케이션 제공 장치가 보유하고 있는 어플리케이션과 동일하나 클라이언트 단말의 최소 사양 정보가 다른 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 것을 특징으로 하는 서비스 장치.
  14. 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청을 수신하는 단계;
    상기 어플리케이션의 최소 사양 정보와 상기 클라이언트 단말의 리소스 정보를 비교하여, 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능한지 여부를 판단하는 단계;
    상기 판단 결과, 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능하지 않을 경우, 상기 어플리케이션을 상기 클라이언트 단말에서 실행 가능하도록 변환하는 단계; 및
    상기 변환된 어플리케이션을 실행하여 상기 어플리케이션 실행에 따른 결과 정보를 상기 클라이언트 단말로 전송하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  15. 제14 항에 있어서,
    상기 실행 요청을 수신하는 단계 이전에,
    하나 이상의 어플리케이션 제공 장치로부터 보유 어플리케이션 정보 및 상기 어플리케이션을 이용할 수 있는 클라이언트 단말의 최소 사양 정보를 수신하여 저장하는 단계;
    를 더 포함하며,
    상기 변환하는 단계는
    상기 어플리케이션을 보유하고 있는 어플리케이션 제공 장치로부터 상기 어플리케이션을 수신한 후 변환하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  16. 제14 항에 있어서,
    상기 판단하는 단계 이후에,
    상기 판단 결과, 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능한 경우, 상기 어플리케이션을 실행한 후 실행에 따른 화면 데이터를 실시간 인코딩하여 상기 클라이언트 단말로 전송하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  17. 제14 항에 있어서,
    상기 변환하는 단계는
    상기 판단 결과, 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능하지 않을 경우, 상기 어플리케이션이 변환 가능한 어플리케이션인지 확인하는 단계;
    상기 확인 결과, 상기 어플리케이션이 변환이 불가능한 경우, 상기 어플리케이션을 실행하기 위한 상기 클라이언트 단말의 필요 리소스 정보를 확인하는 단계; 및
    확인된 필요 리소스 정보를 포함하는 안내 메시지를 상기 클라이언트 단말로 전송하는 단계;
    를 더 포함하는 것을 특징으로 하는 서비스 제공 방법.
  18. 서비스 장치가 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청을 수신하는 단계;
    상기 서비스 장치가 상기 어플리케이션을 보유하고 있는 제1 어플리케이션 제공 장치를 확인하는 단계;
    상기 서비스 장치가 상기 제1 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 단계;
    상기 제1 어플리케이션 제공 장치로부터 어플리케이션 제공 불가능 상태 정보가 수신되면, 상기 서비스 장치가 상기 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치를 확인하는 단계; 및
    상기 서비스 장치가 상기 제2 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  19. 제18 항에 있어서,
    상기 특정 어플리케이션에 대한 실행 요청을 수신하는 단계 이전에,
    상기 서비스 장치가 상기 제1 어플리케이션 제공 장치 및 상기 제2 어플리케이션 제공 장치가 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 수신하는 단계; 및
    상기 서비스 장치가 상기 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 저장하는 단계;
    를 더 포함하며,
    상기 제1 어플리케이션 제공 장치가 및 상기 제2 어플리케이션 제공 장치가 보유하고 있는 어플리케이션은 동일하나, 이에 대응하는 클라이언트 단말의 최소 사양 정보만이 다른 것을 특징으로 하는 클라우드 서비스 제공 방법.
  20. 제18 항에 있어서,
    상기 제1 어플리케이션 제공 장치를 확인하는 단계는
    상기 클라이언트 단말의 리소스 정보와 상기 어플리케이션에 대응하여 기 저장된 최소 사양 정보와 비교하여 확인하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  21. 제18 항에 있어서,
    상기 제2 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 단계 이후에,
    상기 제2 어플리케이션 제공 장치가 상기 클라이언트 단말로 상기 어플리케이션 제공이 가능한 지 판단하는 단계;
    상기 판단 결과, 상기 클라이언트 단말로 상기 어플리케이션 제공이 가능한 경우, 상기 제2 어플리케이션 제공 장치가 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능한지 판단하는 단계;
    상기 판단 결과, 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능하지 않을 경우, 상기 제2 어플리케이션 제공 장치가 상기 클라이언트 단말의 리소스 정보를 기초로 상기 어플리케이션을 변환하는 단계; 및
    상기 제2 어플리케이션 제공 장치가 상기 변환된 어플리케이션을 실행한 후 실행에 따른 화면 데이터를 실시간 인코딩하여 상기 클라이언트 단말로 전송하는 단계;
    를 더 포함하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  22. 제14 항 내지 제21 항에 기재된 클라우드 서비스 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
PCT/KR2013/007494 2012-12-12 2013-08-21 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치 WO2014092289A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP13862151.1A EP2933729B1 (en) 2012-12-12 2013-08-21 Method for providing cloud service, and system and apparatus therefor
CN201380062193.7A CN104823178B (zh) 2012-12-12 2013-08-21 提供云服务的方法及其系统和装置
US14/570,187 US20150100629A1 (en) 2012-12-12 2014-12-15 Method for providing cloud service, and system and apparatus therefor

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2012-0144194 2012-12-12
KR1020120144193A KR101471914B1 (ko) 2012-12-12 2012-12-12 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치
KR1020120144194A KR20140076073A (ko) 2012-12-12 2012-12-12 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치
KR10-2012-0144193 2012-12-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/570,187 Continuation US20150100629A1 (en) 2012-12-12 2014-12-15 Method for providing cloud service, and system and apparatus therefor

Publications (1)

Publication Number Publication Date
WO2014092289A1 true WO2014092289A1 (ko) 2014-06-19

Family

ID=50934549

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/007494 WO2014092289A1 (ko) 2012-12-12 2013-08-21 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치

Country Status (4)

Country Link
US (1) US20150100629A1 (ko)
EP (1) EP2933729B1 (ko)
CN (1) CN104823178B (ko)
WO (1) WO2014092289A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104823179B (zh) * 2012-12-12 2018-08-07 Sk 普兰尼特有限公司 用于提供用户输入的即时结果的方法及其系统和设备
CN106254409A (zh) * 2015-11-20 2016-12-21 深圳超多维科技有限公司 应用于移动终端的立体应用启动方法、装置及系统
KR102361991B1 (ko) * 2016-11-03 2022-02-11 소니그룹주식회사 무선 원격 통신 장치들 및 방법들

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010093237A (ko) * 1998-12-31 2001-10-27 엘그레시 도론 클라이언트-서버 동적 파일 엑세스 시스템 및 방법
WO2004038614A2 (en) * 2002-10-21 2004-05-06 The Boeing Company Client-server system for converting project management data
KR100625383B1 (ko) * 2004-07-01 2006-09-20 에스케이 텔레콤주식회사 기업용 무선 어플리케이션 서비스의 변환엔진 시스템 및운용방법
KR101088673B1 (ko) * 2010-07-13 2011-12-01 인하대학교 산학협력단 클라이언트 단말 운영 시스템 및 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9094805B2 (en) * 2003-06-25 2015-07-28 Oracle International Corporation Mobile messaging concierge
US8347263B1 (en) * 2007-05-09 2013-01-01 Vmware, Inc. Repository including installation metadata for executable applications
US8478245B2 (en) * 2007-08-01 2013-07-02 Phunware, Inc. Method and system for rendering content on a wireless device
JP5285069B2 (ja) * 2008-06-17 2013-09-11 パナソニック株式会社 サーバ装置、サーバ処理方法およびプログラム
US8527578B2 (en) * 2008-08-29 2013-09-03 Red Hat, Inc. Methods and systems for centrally managing multiple provisioning servers
US9753746B2 (en) * 2008-12-19 2017-09-05 Paul Krzyzanowski Application store and intelligence system for networked telephony and digital media services devices
US9842006B2 (en) * 2009-12-01 2017-12-12 International Business Machines Corporation Application processing allocation in a computing system
US8606920B1 (en) * 2010-05-28 2013-12-10 Amazon Technologies, Inc. Providing notification of computing resource availability for on-demand allocation
US9424018B2 (en) * 2011-03-21 2016-08-23 Microsoft Technology Licensing, Llc Filtering and promoting application store applications
US8694995B2 (en) * 2011-12-14 2014-04-08 International Business Machines Corporation Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment
US9392047B1 (en) * 2012-09-13 2016-07-12 Amazon Technologies, Inc. Facilitating application compatibility across devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010093237A (ko) * 1998-12-31 2001-10-27 엘그레시 도론 클라이언트-서버 동적 파일 엑세스 시스템 및 방법
WO2004038614A2 (en) * 2002-10-21 2004-05-06 The Boeing Company Client-server system for converting project management data
KR100625383B1 (ko) * 2004-07-01 2006-09-20 에스케이 텔레콤주식회사 기업용 무선 어플리케이션 서비스의 변환엔진 시스템 및운용방법
KR101088673B1 (ko) * 2010-07-13 2011-12-01 인하대학교 산학협력단 클라이언트 단말 운영 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2933729A4 *

Also Published As

Publication number Publication date
EP2933729A1 (en) 2015-10-21
EP2933729B1 (en) 2018-11-21
CN104823178B (zh) 2018-06-08
EP2933729A4 (en) 2016-07-06
CN104823178A (zh) 2015-08-05
US20150100629A1 (en) 2015-04-09

Similar Documents

Publication Publication Date Title
WO2017142293A1 (en) Electronic device and method of application data display therefor
WO2016068622A1 (en) Terminal device and method of controlling same
WO2015041494A1 (ko) 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치
WO2018026059A1 (ko) 이동 단말기 및 그 제어방법
WO2022050652A1 (en) Method, apparatus, and computer readable storage medium for controlling account
WO2015026058A1 (en) Method, terminal, and system for reproducing content
WO2019078617A1 (en) ELECTRONIC APPARATUS AND VOICE RECOGNITION METHOD
WO2018076841A1 (zh) 数据分享方法、装置、存储介质及服务器
WO2014157903A1 (en) Method and device for displaying service page for executing application
WO2014126335A1 (ko) 클라우드 컴퓨팅 기반의 데이터 관리 방법, 이를 위한 시스템 및 장치
WO2018076812A1 (zh) 数据请求的响应方法、装置、存储介质、服务器及系统
WO2012124985A2 (en) Method and apparatus for synchronizing personal inforamtion
WO2018117536A1 (en) Electronic apparatus, control authority authentication method thereof and user terminal apparatus
WO2016010319A2 (ko) 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
WO2014042357A1 (ko) 화면 동기 제어 시스템, 이를 이용한 화면 동기 방법 및 장치
WO2014092389A1 (en) Application execution method and apparatus
WO2017034136A1 (en) Mobile apparatus, image scan apparatus and method for processing a job
WO2018076829A1 (zh) 终端数据的处理方法、装置、系统、存储介质及服务器
WO2019135553A1 (en) Electronic device, control method thereof, and computer readable recording medium
WO2014092289A1 (ko) 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치
WO2017222204A1 (ko) 화상 형성 장치, 모바일 단말 및 그 장치들의 로컬 로그인 처리 방법
WO2015119361A1 (ko) 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
WO2021101275A1 (en) Method, system and device for sharing contents
WO2020027562A1 (en) Electronic apparatus for controlling display of virtual input interface in environment of a plurality of output screens and operating method thereof
WO2020197281A1 (ko) 클라우드 스트리밍 서비스에서의 사용자 인터페이스 세션 복구 방법 및 이를 위한 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13862151

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2013862151

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE