KR101868386B1 - 어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버 - Google Patents

어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버 Download PDF

Info

Publication number
KR101868386B1
KR101868386B1 KR1020110133781A KR20110133781A KR101868386B1 KR 101868386 B1 KR101868386 B1 KR 101868386B1 KR 1020110133781 A KR1020110133781 A KR 1020110133781A KR 20110133781 A KR20110133781 A KR 20110133781A KR 101868386 B1 KR101868386 B1 KR 101868386B1
Authority
KR
South Korea
Prior art keywords
application
display device
executable file
area
version
Prior art date
Application number
KR1020110133781A
Other languages
English (en)
Other versions
KR20130066981A (ko
Inventor
이대현
강춘운
김문수
김정곤
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020110133781A priority Critical patent/KR101868386B1/ko
Priority to EP12196045.4A priority patent/EP2605482A1/en
Priority to US13/710,654 priority patent/US9253228B2/en
Priority to CN201210538779.3A priority patent/CN103167015B/zh
Publication of KR20130066981A publication Critical patent/KR20130066981A/ko
Application granted granted Critical
Publication of KR101868386B1 publication Critical patent/KR101868386B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Landscapes

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

Abstract

어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버가 제공된다. 디스플레이 장치의 어플리케이션 제공 방법은 서버와 연결되면, 서버를 이용하여 복수의 어플리케이션 중 적어도 하나를 실행하기 위한 가상 디스크를 생성하고, 가상 디스크에 포함된 복수의 어플리케이션 중 하나의 실행을 요청하며, 상기 요청된 어플리케이션에 대응되는 실행파일을 다운로드 하여 실행한다. 이에 의해, 사용자는 어플리케이션의 최초 실행 시 다운로드하고 설치하는 과정에서 발생하는 시간 지연을 제거할 수 있게 된다.

Description

어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버{Method for providing application and Display apparatus, and server}
본 발명은 어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버에 관한 것으로, 더욱 상세하게는 네트워크를 통해 대용량의 클라우드 저장 서비스를 제공하는 클라우드 서버를 이용한 어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버에 관한 것이다.
근래에는 네트워크상에서 데이터를 저장하여 사용자에게 제공하는 클라우드 저장 서비스(cloud storage service)가 제공되고 있다. 이러한 클라우드 저장 서비스를 통해 사용자는 별도의 저장 장치(예를 들어, USB, 외장형 하드디스크)없이도 외부에서 다양한 컨텐츠를 이용할 수 있게 된다.
그러나, 종래의 클라우드 저장 서비스는 서버에 어플리케이션 파일을 포함한 각종 파일(예를 들어, 비디오 파일, 사진 파일, 음악 파일, 문서 파일 등)을 저장하고, 저장된 각종 파일의 다운로드 또는 스트리밍을 위한 다운로드 URL 이나, RTSP(Really Time Streaming Protocol)을 제공하게 된다.
따라서, 종래의 클라우드 저장 서비스를 이용하여 어플리케이션을 실행하기 위해서는 사용자 단말기에서 어플리케이션을 선택하여, 어플리케이션을 구매하고, 어플리케이션을 다운로드 한다. 그 후, 사용자 단말기는 설치 전에 사용자 단말기에 설치 권한이 있는지 여부를 확인한 후, 어플리케이션을 설치해야만, 설치된 어플리케이션을 실행할 수 있다.
즉, 종래의 클라우드 저장 서비스를 이용하여 어플리케이션을 실행하기 위해서는 많은 단계를 거치고, 다운로드와 설치 단계에서 많은 시간이 지연된다. 또한, 각 단말기별, 운영체제 및 플랫폼 등과 같은 기기 특성에 따라 별도의 어플리케이션 스토어(application store)를 구축해야 하거나 사용자 단말기에 맞는 어플리케이션을 다운로드 할 수 있도록 인터페이스를 제공하여야 하는 문제점이 존재한다. 뿐만 아니라, 어플리케이션의 업데이트가 발생되면, 사용자는 업데이트된 어플리케이션을 다시 다운로드 하고 설치해야 하는 번거로움이 존재하게 된다.
본 발명은 상기 목적을 해결하기 위해 안출된 것으로, 본 발명의 목적은 가상 디스크를 생성하여, 어플리케이션을 다운로드 하는 단계 및 설치하는 단계를 없애고 클라우드 저장 서버에서 바로 어플리케이션을 실행할 수 있도록 하는 어플리케이션 제공 방법 및 이를 적용한 디스플레이 장치, 그리고 서버를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 디스플레이 장치의 어플리케이션 제공 방법은, 서버와 연결되면, 상기 서버를 이용하여 복수의 어플리케이션 중 적어도 하나를 실행하기 위한 가상 디스크를 생성하는 단계; 상기 가상 디스크에 포함된 복수의 어플리케이션 중 하나의 실행을 요청하는 단계; 및 상기 요청된 어플리케이션에 대응되는 실행파일을 다운로드 하여 실행하는 단계;를 포함한다.
그리고, 상기 생성하는 단계는, 상기 사용자 정보 및 기기 정보를 상기 서버로 전송하는 단계;및 상기 사용자 정보 및 기기 정보를 바탕으로 사용자가 이용 가능한 어플리케이션 리스트를 서버로부터 수신하는 단계;를 포함할 수 있다.
또한, 상기 어플리케이션 리스트는, 사용자가 이용한 가능한 어플리케이션의 ID 및 제목 중 적어도 하나를 포함할 수 있다.
그리고, 상기 요청하는 단계는, 실행하고자 하는 어플리케이션의 ID 및 제목 중 하나를 서버로 전송하여 상기 어플리케이션의 실행을 요청할 수 있다.
또한, 상기 다운로드 된 실행 파일은, 상기 디스플레이 장치의 플랫폼 및 운영체제를 바탕으로 결정된 실행 파일일 수 있다.
그리고, 상기 다운로드 하여 실행하는 단계는, 상기 요청된 어플리케이션의 실행 파일이 저장되어 있는지 여부를 판단하는 단계; 상기 요청된 어플리케이션의 실행 파일이 저장된 경우, 상기 저장된 어플리케이션의 실행 파일이 최신 버전인지 여부를 판단하는 단계; 상기 저장된 어플리케이션의 실행 파일이 최신 버전인 경우, 상기 어플리케이션을 바로 실행하는 단계;를 포함할 수 있다.
또한, 상기 다운로드 하여 실행하는 단계는, 상기 요청된 어플리케이션의 실행 파일이 기 저장되어 있지 않거나 최신 버전이 아닌 경우, 상기 어플리케이션의 실행 파일을 다운로드 하여 실행하는 단계;를 포함할 수 있다.
그리고, 상기 어플리케이션의 실행 파일은 버전 영역, 코드 영역 및 리소스영역을 포함하고 있으며, 상기 다운로드 하여 실행하는 단계는, 상기 어플리케이션의 실행 파일 중 버전 영역을 먼저 다운로드 하여 상기 요청된 어플리케이션의 실행 파일이 저장된 실행 파일인지 여부 및 최신 버전인지 여부를 판단할 수 있다.
또한, 상기 다운로드 하여 실행하는 단계는, 상기 어플리케이션의 실행 파일 중 상기 어플리케이션을 실행하기 위해 최소한의 영역을 먼저 다운로드 하여 실행하고, 나머지 영역은 랜덤하게 다운로드 할 수 있다.
한편, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 디스플레이 장치는, 서버와 통신을 수행하는 통신부; 상기 통신부를 통해 서버와 연결되면, 상기 서버를 이용하여 복수의 어플리케이션 중 적어도 하나를 실행하기 위한 가상 디스크를 생성하고, 상기 가상 디스크에 포함된 복수의 어플리케이션 중 하나의 실행이 요청되면, 상기 요청된 어플리케이션에 대응되는 실행파일을 다운로드 하여 실행하는 제어부;를 포함한다.
그리고, 상기 제어부는, 상기 사용자 정보 및 기기 정보를 상기 서버로 전송하고, 상기 사용자 정보 및 기기 정보를 바탕으로 사용자가 이용 가능한 어플리케이션 리스트를 서버로부터 수신하도록 상기 통신부를 제어할 수 있다.
또한, 상기 어플리케이션 리스트는, 사용자가 이용한 가능한 어플리케이션의 ID 및 제목 중 적어도 하나를 포함할 수 있다.
그리고, 상기 제어부는, 실행하고자 하는 어플리케이션의 ID 및 제목 중 하나를 상기 통신부를 통해 상기 서버로 전송하여 상기 어플리케이션의 실행을 요청할 수 있다.
또한, 상기 다운로드 된 실행 파일은, 상기 디스플레이 장치의 플랫폼 및 운영체제를 바탕으로 결정된 실행 파일일 수 있다.
그리고, 상기 제어부는, 상기 요청된 어플리케이션의 실행 파일이 저장되어 있는지 여부를 판단하고, 상기 요청된 어플리케이션의 실행 파일이 저장된 경우, 상기 저장된 어플리케이션의 실행 파일이 최신 버전인지 여부를 판단하며, 상기 저장된 어플리케이션의 실행 파일이 최신 버전인 경우, 상기 어플리케이션을 바로 실행할 수 있다.
또한, 상기 제어부는, 상기 요청된 어플리케이션의 실행 파일이 기 저장되어 있지 않거나 최신 버전이 아닌 경우, 상기 어플리케이션의 실행 파일을 다운로드 하여 실행할 수 있다.
그리고, 상기 어플리케이션의 실행 파일은 버전 영역, 코드 영역 및 리소스 영역을 포함하고 있으며, 상기 제어부는, 상기 어플리케이션의 실행 파일 중 버전 영역을 먼저 다운로드 하여 상기 요청된 어플리케이션의 실행 파일이 저장된 실행 파일인지 여부 및 최신 버전인지 여부를 판단할 수 있다.
또한, 상기 제어부는, 상기 어플리케이션의 실행 파일 중 상기 어플리케이션을 실행하기 위해 최소한의 영역을 먼저 다운로드 하여 상기 어플리케이션을 실행하고, 나머지 영역을 랜덤하게 다운로드 할 수 있다.
한편, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 서버의 어플리케이션 제공 방법은, 디스플레이 장치와 연결되면, 상기 디스플레이 장치로부터 상기 디스플레이 장치의 사용자 정보 및 기기 정보를 수신하는 단계; 상기 디스플레이 장치의 사용자 정보 및 기기 정보를 바탕으로 상기 디스플레이 장치의 가상 디스크를 생성하고, 상기 디스플레이 장치의 사용자가 이용할 수 있는 어플리케이션 리스트를 전송하는 단계; 상기 디스플레이 장치로부터 어플리케이션의 실행 요청이 수신되면, 상기 요청된 어플리케이션에 대응되는 실행 파일을 전송하는 단계;를 포함한다.
그리고, 상기 어플리케이션 리스트는, 사용자가 이용한 가능한 어플리케이션의 ID 및 제목 중 적어도 하나를 포함할 수 있다.
또한, 상기 어플리케이션의 실행 요청은, 상기 디스플레이 장치로부터 실행하고자 하는 어플리케이션의 ID 및 제목 중 하나를 수신할 수 있다.
그리고, 상기 실행 파일은, 상기 디스플레이 장치의 플랫폼, 운영체제 및 스크린 크기를 바탕으로 결정된 실행 파일일 수 있다.
또한, 상기 어플리케이션의 실행 파일은 버전 영역, 코드 영역 및 리소스 영역을 포함하고 있으며, 상기 실행 파일을 전송하는 단계는, 상기 어플리케이션의 실행 파일 중 버전 영역을 우선적으로 전송할 수 있다.
그리고, 상기 전송하는 단계는, 상기 어플리케이션의 실행 파일 중 상기 어플리케이션을 실행하기 위해 최소한의 영역을 먼저 전송하고, 나머지 영역을 랜덤하게 전송할 수 있다.
한편, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 서버는, 복수의 어플리케이션이 저장된 저장부; 디스플레이 장치와 통신을 수행하는 통신부; 및 상기 통신부를 통해 디스플레이 장치와 연결되면, 상기 통신부를 통해 상기 디스플레이 장치로부터 상기 디스플레이 장치의 사용자 정보 및 기기 정보를 수신하여 상기 디스플레이 장치의 사용자 정보 및 기기 정보를 바탕으로 상기 디스플레이 장치의 가상 디스크를 생성하며, 상기 통신부를 통해 상기 디스플레이 장치의 사용자가 이용할 수 있는 어플리케이션 리스트를 전송하고, 상기 디스플레이 장치로부터 어플리케이션의 실행 요청이 수신되면, 상기 요청된 어플리케이션에 대응되는 실행 파일을 전송하도록 상기 통신부를 제어하는 제어부;를 포함한다.
그리고, 상기 어플리케이션 리스트는, 사용자가 이용한 가능한 어플리케이션의 ID 및 제목 중 적어도 하나를 포함할 수 있다.
또한, 상기 어플리케이션의 실행 요청은, 상기 디스플레이 장치로부터 실행하고자 하는 어플리케이션의 ID 및 제목 중 하나를 수신할 수 있다.
그리고, 상기 실행 파일은, 상기 디스플레이 장치의 플랫폼, 운영체제 및 스크린 크기를 바탕으로 결정된 실행 파일일 수 있다.
또한, 상기 어플리케이션의 실행 파일은 버전 영역, 코드 영역 및 리소스 영역을 포함하고 있으며, 상기 제어부는, 상기 어플리케이션의 실행 파일 중 버전 영역을 우선적으로 전송하도록 상기 통신부를 제어할 수 있다.
그리고, 상기 제어부는, 상기 어플리케이션의 실행 파일 중 상기 어플리케이션을 실행하기 위해 최소한의 영역을 먼저 전송하고, 나머지 영역을 랜덤하게 전송하도록 상기 통신부를 제어할 수 있다.
상술한 바와 같은 본 발명의 다양한 실시예에 의해, 사용자는 어플리케이션의 최초 실행 시 다운로드하고 설치하는 과정에서 발생하는 시간 지연을 제거할 수 있게 된다. 또한, 최신 버전의 어플리케이션을 자동으로 업데이트함으로써, 사용자 편의성 역시 증대된다.
도 1은 본 발명의 일 실시예에 따른, 어플리케이션 제공 시스템에 대한 도면,
도 2는 본 발명의 일 실시예에 따른, 디스플레이 장치의 구성을 나타내는 블럭도,
도 3a 내지 도 3e는 본 발명의 일 실시예에 따른, 어플리케이션 실행 파일의 다운로드 방법을 설명하기 위한 도면,
도 4는 본 발명의 일 실시예에 따른, 클라우드 저장 서버의 구성을 나타내는 블럭도,
도 5는 본 발명의 일 실시예에 따른, 디스플레이 장치의 어플리케이션 제공 방법을 설명하기 위한 흐름도,
도 6은 본 발명의 일 실시예에 따른, 클라우드 저장 서버의 어플리케이션 제공 방법을 설명하기 위한 흐름도이다.
이하에서는 도면을 참조하여 본 발명에 대해 더욱 상세히 설명하도록 한다. 도 1은 본 발명의 일 실시예에 따른, 어플리케이션 제공 시스템(10)을 설명하기 위한 도면이다. 어플리케이션 제공 시스템(10)은 디스플레이 장치(100) 및 클라우드 저장 서버(Cloud storage server)(200)가 포함된다. 이때, 디스플레이 장치(100)는 도 1에 도시된 바와 같이, TV(100-1), 휴대폰(100-2) 및 태블릿 PC(100-3)으로 구현될 수 있으나, 이에 한정되는 것은 아니며, 어플리케이션을 실행할 수 있는 다른 디스플레이 장치(예를 들어, 노트북 PC, 데스크탑 PC, PDA 등)에도 적용될 수 있다.
디스플레이 장치(100)가 부팅되거나 인터넷에 접속되어 클라우드 저장 서버(200)에 연결되면, 디스플레이 장치(100)는 클라우드 저장 서버(200)를 이용하여 복수의 어플리케이션 중 적어도 하나를 실행하기 위한 가상 디스크(Virture disc)를 생성한다. 이때, 가상 디스크는 디스플레이 장치(100)에 물리적으로 할당된 저장 공간을 가지고 있지 않으나, 클라우드 저장 서버(200)에 저장 공간을 디스플레이 장치(100)에 직접 연결되어 있는 것처럼 가상화(virtualization)시켜서 디스플레이 장치(100)의 로컬 디스크(local disc)처럼 인식하는 것을 말한다.
가상 디스크가 생성되면, 디스플레이 장치(100)는 클라우드 저장 서버(200)로부터 실행 가능한 복수의 어플리케이션이 포함된 어플리케이션 리스트를 수신한다. 이때, 어플리케이션 리스트에 포함된 어플리케이션은 가상 디스크에서 이미 설치되어 있으므로, 사용자에게 바로 실행 가능한 상태의 어플리케이션으로 제공된다.
복수의 어플리케이션 중 하나의 실행 명령이 입력되면, 디스플레이 장치(100)는 클라우드 저장 서버(200)에 실행 명령이 입력된 어플리케이션에 대한 실행을 요청한다.
그리고, 디스플레이 장치(100)는 실행 명령이 입력된 어플리케이션에 대응되는 실행 파일의 일부 영역(예를 들어, 버전 영역)을 다운로드 하여 실행 명령이 입력된 어플리케이션이 기 저장된 어플리케이션인지 여부 및 최신 버전의 어플리케이션인지 여부를 판단한다.
실행 명령이 입력된 어플리케이션이 기 저장된 어플리케이션이며, 최신 버전의 어플리케이션이면, 디스플레이 장치(100)는 기 저장된 어플리케이션을 바로 실행한다.
그러나, 실행 명령이 입력된 어플리케이션이 기 저장된 어플리케이션이 아니거나 최신 버전의 어플리케이션이 아닌 경우, 디스플레이 장치(100)는 실행 명령이 입력된 어플리케이션의 나머지 실행 파일을 다운로드한다. 이때, 디스플레이 장치(100)는 어플리케이션의 실행 파일을 랜덤하게 다운로드할 수 있다. 이에 대해서는 도 4를 참조하여 추후에 자세히 설명하기로 한다.
그리고, 코드(code) 수행을 위한 최소한의 파일이 다운로드되면, 디스플레이 장치(100)는 어플리케이션을 바로 실행한다.
클라우드 저장 서버(200)는 디스플레이 장치(100)와 연결되면, 디스플레이 장치(100)로부터 디스플레이 장치(100)의 사용자 정보 및 기기 정보를 수신한다.
클라우드 저장 서버(200)는 수신된 사용자 정보 및 기기 정보를 바탕으로 디스플레이 장치(100)의 가상 디스크를 생성한다. 이때, 가상 디스크에는 인스톨된 복수의 어플리케이션이 포함되고, 클라우드 저장 서버(200)는 복수의 인스톨된 어플리케이션이 포함된 어플리케이션 리스트를 디스플레이 장치(100)에 전송한다
디스플레이 장치(100)로부터 어플리케이션 실행 요청이 수신되면, 클라우드 저장 서버(200)는 요청된 어플리케이션 실행 파일의 유형을 결정한다. 이때, 어플리케이션 실행 파일의 유형은 디스플레이 장치(100)에서 제공되는 운영체제(Operating System) 및 플랫폼에 의해 결정될 수 있으나, 이는 일 실시예에 불과할 뿐, 디스플레이 스크린 크기 및 3D 기능 지원과 같은 다양한 요인에 의해 결정될 수 있다.
어플리케이션 실행 파일의 유형이 결정되면, 클라우드 저장 서버(200)는 어플리케이션의 실행 파일을 전송한다. 그러나, 디스플레이 장치(100)가 어플리케이션의 실행 파일 중 일부 영역(예를 들어, 버전 영역)을 다운로드 하여 다운로드가 필요 없다고 판단할 때, 클라우드 저장 서버(200)는 어플리케이션의 실행 파일 전송을 중단하고, 반복적인 파일 전송을 피한다.
상술한 바와 같은 어플리케이션 제공 시스템(10)에 의해, 사용자는 클라우드 저장 서버(200)의 가상 디스크를 이용하여 어플리케이션의 최초 실행 시 및 최신 어플리케이션 업데이트 시 다운로드하고 설치하는 과정에서 발생하는 시간 지연을 제거할 수 있게 된다.
이하에서는 도 2 및 도 3을 참조하여, 디스플레이 장치(100) 및 클라우드 저장 서버(200)에 대해 더욱 상세히 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른, 디스플레이 장치(100)의 구성을 나타내는 블럭도를 나타내는 도면이다. 도 2에 도시된 바와 같이, 디스플레이 장치(100)는 통신부(110), 저장부(120), 사용자 입력부(130), 디스플레이부(140) 및 제어부(150)를 포함한다. 이때, 디스플레이 장치(100)는 TV(100-1), 휴대폰(100-2) 및 태블릿 PC(100-3)으로 구현될 수 있으나, 이에 한정되는 것은 아니며, 어플리케이션을 실행할 수 있는 다른 디스플레이 장치(예를 들어, 노트북 PC, 데스크탑 PC, PDA 등)로 구현될 수 있다.
통신부(110)는 네트워크를 통해 외부의 클라우드 저장 서버(200)와 통신을 수행한다. 이때, 통신부(110)는 이더넷(Ethernet), 와이-파이(Wi-fi) 등으로 구현될 수 있다.
저장부(120)는 디스플레이 장치(100)를 구동하기 위한 각종 데이터 및 프로그램이 저장된다. 특히, 저장부(120)는 디스플레이 장치(100)의 사용자 정보 및 기기 정보를 저장한다. 또한, 저장부(120)는 한 번 설치된 어플리케이션의 실행 파일을 저장할 수 있다.
사용자 입력부(130)는 디스플레이 장치(100)를 제어하기 위한 사용자 명령을 입력받는다. 이때, 사용자 입력부(130)는 터치 스크린, 리모컨, 마우스, 버튼 등으로 구현될 수 있으나, 이에 한정되는 것은 아니다.
디스플레이부(140)는 제어부(150)의 제어에 의해 신호 처리된 영상을 디스플레이한다. 그리고, 디스플레이부(140)는 클라우드 저장 서버(200)로부터 제공되는 어플리케이션의 실행 화면을 디스플레이할 수 있다.
제어부(150)는 사용자 입력부(130)를 통해 입력된 사용자 명령에 따라, 디스플레이 장치(100) 전반을 제어한다. 특히, 제어부(150)는 통신부(110)를 통해 클라우드 저장 서버(200)와 연결되면, 클라우드 저장 서버(200)를 이용하여 복수의 어플리케이션 중 적어도 하나를 실행하기 위한 가상 디스크를 생성한다. 그리고, 가상 디스크에 포함된 복수의 어플리케이션 중 하나의 실행이 요청되면, 제어부(150)는 요청된 어플리케이션에 대응되는 실행파일을 다운로드 하여 실행한다.
구체적으로, 디스플레이 장치(100)가 부팅되거나 인터넷이 접속되어 클라우드 저장 서버(200)와 연결되면, 제어부(150)는 저장부(120)에 저장된 사용자 정보 및 기기 정보를 클라우드 저장 서버(200)에 전송하도록 통신부(110)를 제어한다.
제어부(150)는 전송된 사용자 정보 및 기기 정보를 바탕으로 클라우드 저장 서버(200)를 이용하여 가상 디스크를 생성한다. 이때, 가상 디스크는 디스플레이 장치(100)에 물리적으로 할당된 저장 공간을 가지지 않으나, 클라우드 저장 서버(200)에 저장 공간을 디스플레이 장치(100)에 직접 연결되어 있는 것처럼 가상화(virtualization)시켜서 디스플레이 장치(100)의 로컬 디스크(local disc)처럼 인식하는 것을 말한다.
구체적으로, 클라우드 저장 서버(200)가 사용자 정보 및 기기 정보를 바탕으로 사용자가 이용 가능한 어플리케이션 리스트 및 디바이스가 실행할 수 있는 파일 시스템 구조 정보를 생성하여 가상 디스크를 생성하면, 제어부(150)는 통신부(100)를 통해 클라우드 저장 서버(200)로 부터 어플리케이션 리스트를 수신한다. 여기서 어플리케이션 리스트에는 어플리케이션의 ID 및 타이틀 등과 같은 속성 정보가 포함될 수 있다.
그리고, 제어부(150)는 수신된 어플리케이션 리스트를 디스플레이부(150)를 통해 표시할 수 있다. 이때, 어플리케이션 리스트에 포함된 어플리케이션은 이미 클라우드 저장 서버(200)에 인스톨 되어 있기 때문에 사용자에게 바로 실행 가능한 상태로 표시될 수 있다. 또
사용자 입력부(130)를 통해 어플리케이션 리스트에 포함된 어플리케이션 중 하나의 어플리케이션이 선택되면, 제어부(150)는 선택된 어플리케이션의 ID 및 타이틀과 같은 정보를 클라우드 저장 서버(200)에 전송하여, 어플리케이션 실행을 요청한다.
그리고, 클라우드 저장 서버(200)가 요청된 어플리케이션의 실행 파일 전송하면, 제어부(150)는 전송된 어플리케이션 실행 파일의 버전(version) 영역을 판단하여 어플리케이션 실행 파일이 기 저장되어 있는지 여부 및 최신 버전인지 여부를 판단한다.
구체적으로, 전송된 어플리케이션의 실행 파일의 버전 영역을 이용하여 어플리케이션 실행 파일이 기 저장되어 있으며, 기 저장된 어플리케이션 실행 파일이 최신 버전의 실행 파일이라고 판단되면, 제어부(150)는 요청된 어플리케이션 실행 파일의 다운로드를 중단하고, 기 저장된 어플리케이션의 실행 파일을 바로 실행한다.
그러나, 요청된 어플리케이션의 실행 파일이 기 저장되어 있지 않거나 기 저장되어 있더라도 최신 버전의 실행 파일이 아니면, 제어부(150)는 요청된 어플리케이션 실행 파일의 나머지 영역(예를 들어, 코드 영역, 리소스 영역)을 다운로드 하도록 통신부(110)를 제어한다.
한편, 클라우드 저장 서버(200)로부터 전송되는 어플리케이션의 실행 파일은 디스플레이 장치(100)의 기기 정보에 의해 결정될 수 있다. 예를 들어, 클라우드 저장 서버(200)로부터 전송되는 어플리케이션의 실행 파일은 디스플레이 장치(100)의 운영체제 및 플랫폼에 의해 결정될 수 있다. 그러나, 이는 일 실시예에 불과할 뿐 다른 요인(예를 들어, 디스플레이 장치(100)에서 지원 가능한 해상도 정보, 3D 기능 지원 가능 여부)에 의해 실행 파일이 결정될 수 있다.
그리고, 제어부(150)는 어플리케이션의 실행 파일을 랜덤하게 다운로드할 수 있다. 이에 대해서는 도 3a 내지 도 3e를 참조하여 설명하기로 한다.
구체적으로, 도 3a에 도시된 바와 같이, 제어부(150)는 어플리케이션의 버전 정보가 포함된 버전 영역(301)을 먼저 다운로드한다. 그리고, 제어부(150)는 시퀀스 포지션(Sequence Position)(310)과 코드 포인터(Code pointer)(320)를 도 3 a에 도시된 바와 같이, 코드 영역(302)의 시작 부분에 위치시킨다. 단, 상술한 바와 같이, 버전 영역(301)에 포함된 버전 정보를 이용하여 요청된 어플리케이션이 기 저장되고 최신 버전이라고 판단되면, 제어부(150)는 나머지 영역인 코드 영역(302) 및 리소스 영역(303)을 다시 다운로드 하지 않는다.
그리고, 시퀀스 포지션(310)이 어플리케이션을 실행하기 위한 최소한 영역에 위치하면, 제어부(150)는 어플리케이션을 실행하여 코드 포인터(320)를 이동시킨다. 한편, 요청된 어플리케이션의 실행 파일을 다운로드 하는 도중 코드 수행을 위한 최소한의 실행 파일이 다운로드되면, 제어부(150)는 요청된 어플리케이션을 바로 실행한다. 이때, 코드 포인터(320)는 도 3b에 도시된 바와 같이, 시퀀스 포지션(310)으로부터 점프하여 코드 영역(302)의 중간 부분부터 다운로드를 시작할 수 있다.
또한, 어플리케이션 실행시 리소스(Resource)를 참조하면, 제어부(150)는 리스스 포인터(Resource Pointer)(330)를 도 2b에 도시된 바와 같이 리소스 영역(3030)의 임의의 부분부터 다운로드를 시작한다.
이때, 시퀀스 포지션(301), 코드 포인터(302) 및 리소스 포인터(303)는 병렬적으로 다운로드 할 수 있으나, 다운로드의 우선 순위는 코드 포인터(302), 리소스 포인터(3030), 시퀀스 포지션(301) 순서이다.
그리고, 도 3c에 도시된 바와 같이, 코드 포인터(302) 및 리소스 포인터(303)는 랜덤하게 다운로드하고, 시퀀스 포지션(310)는 버전 영역(301)으로부터 시작하여 다운로드 되지 않은 영역에 위치할 수 있다.
그리고, 도 3d에 도시된 바와 같이, 코드 영역(302)이 모두 다운로드 되면, 코드 포인터(320)는 더 이상 다운로드할 필요가 없고, 리소스 포인터(330)는 랜덤하게 여러 영역의 리소스를 한꺼번에 다운로드 할 수 있다.
그리고, 도 3e에 도시된 바와 같이, 리소스 영역(303)이 모두 다운로드 되면, 시퀀스 포지션(310)은 리소스 영역(303)의 맨 끝에 위치하고 다운로드를 마치게 된다.
상술한 바와 같은 디스플레이 장치(100)에 의해, 사용자는 가상 디스크를 이용하여 어플리케이션의 최초 실행 시 다운로드하고 설치하는 과정에서 발생하는 시간 지연을 제거할 수 있게 된다. 또한, 최신 버전의 어플리케이션을 자동으로 업데이트함으로써, 사용자 편의성 역시 증대된다.
도 4는 본 발명의 일 실시예에 따른, 클라우드 저장 서버(200)의 구성을 나타내는 도면이다. 도 4에 도시된 바와 같이, 클라우드 저장 서버(200)는 통신부(210), 가상 디스크부(220), 저장부(230) 및 제어부(240)를 포함한다.
통신부(210)는 네트워크를 통해 복수의 디스플레이 장치(100-1,100-2,100-3)와 통신을 수행한다. 이때, 통신부(210)는 이더넷(Ethernet), 와이-파이(Wi-fi) 등으로 구현될 수 있다.
가상 디스크부(220)는 외부의 디스플레이 장치(100)가 연결되면, 외부의 디스플레이 장치(100)로부터 전송된 사용자 정보 및 기기 정보를 이용하여 생성된다.
이때, 가상 디스크부(220)에는 사용자와 디스프레이 장치(100) 별로 마운트 리소스(Mount Resource), 인스톨된 어플리케이션 실행 파일, 어플리케이션 리소스 및 그밖에 데이터(application data, device user profile, application profile, user data 등)가 다르게 저장된다.
저장부(230)는 복수의 디스플레이 장치(100-1,100-2,100-3)에게 서로 다른 가상 디스크를 제공하기 위한 다양한 데이터가 저장된다. 구체적으로, 저장부(230)는 실행 파일 유형 테이블(231), 디스플레이 장치 테이블(232), 어플리케이션 저장부(233) 및 사용자 정보 저장부(234)를 포함한다.
실행 파일 유형 테이블(231)은 어플리케이션 제공자에 의해 관리되는 테이블로 디스플레이 장치의 운영 체제, 플랫폼 및 어플리케이션 실행에 영향을 주는 요인(예를 들어, 디스플레이 장치(100)의 지원 가능한 해상도 등)에 따라 실행 파일을 매핑하여 관리하는 테이블이다.
일 예로, 아래와 같이 표 1의 실행 파일 유형 테이블이 저장부(230)에 저장될 수 있다.
실행 파일 운영체제 플랫폼 스크린 사이즈
BT00001.exe Linux 2.1 Genoa 960x540
BT00002.exe iOS iPhone 4 800x600
BT00003.exe Linux Android 800x600
디스플레이 장치 테이블(232)은 운영 체제 및 플랫폼에 따라 가상 디스크가 생성될 수 있는 파일 시스템 정보를 포함하는 테이블이다.
어플리케이션 저장부(233)는 어플리케이션이 디스플레이 장치(100)에서 실행될 수 있는 직접적인 정보를 가지고 있는 실행 파일과 리소스, 컨텐츠 데이터가 저장된다. 특히, 어플리케이션 저장부(233)는 디스플레이 장치(100)의 운영 체제 및 플랫폼에 따라 상이한 유형의 실행 파일이 포함된 실행 파일 패키지가 저장된다. 그리고, 어플리케이션 저장부(233)는 운영 체제 및 플랫폼에 상관없이 어플리케이션을 실행하기 위해 저장된 리소스가 저장된다. 또한, 어플리케이션 저장부(233)는 어플리케이션 구동과 상관없이 어플리케이션을 이용하여 재생(play)하거나 읽을 수거나 독출(read)할 수 있는 어플리케이션 데이터를 저장한다. 이때, 어플리케이션 데이터는 여러 사용자가 이용 가능하도록 공유 가능한 구조일 수 있다.
사용자 정보 저장부(234)는 디스플레이 장치(100)별 사용자 정보를 저장한다. 특히, 사용자 정보 저장부(234)는 사용자별로 어플리케이션의 실행 환경을 저장한다. 여기서, 사용자 정보는 사용자가 동일하면, 디스플레이 장치(100)가 상이하더라도 사용자 인증을 통해 복수의 디스플레이 장치(100)를 통해 이용가능하다. 또한, 사용자 정보 저장부(234)에는 다른 사용자와 공유하지 않는 개인 컨텐츠 데이터를 함께 저장할 수 있다.
제어부(240)는 클라우드 저장 서버(200)의 전반적인 동작을 제어한다. 구체적으로, 클라우드 저장 서버(200)와 디스플레이 장치(100)가 연결되면, 제어부(240)는 디스플레이 장치(100)로부터 사용자 정보 및 기기 정보를 수신하면, 가상 디스크부(220)에 가상 디스크를 생성한다.
구체적으로, 제어부(240)는 디스플레이 장치(100)로부터 수신된 사용자 정보를 통해 사용자가 이용 가능한 어플리케이션이 포함된 어플리케이션 리스트를 생성하고, 디스플레이 장치(100)로부터 수신된 기기 정보를 통해 디스플레이 장치(100)가 실행할 수 있는 파일 시스템 구조 정보를 생성한다. 그리고, 제어부(240)는 생성된 어플리케이션 리스트 및 파일 시스템 구조 정보를 바탕으로 연결된 디스플레이 장치(100)의 가상 디스크를 생성한다. 이때, 가상 디스크에 저장된 어플리케이션을 이미 인스톨된 상태이다.
그리고, 제어부(240)는 통신부(210)를 통해 디스플레이 장치(100)가 이용 가능한 어플리케이션이 포함된 어플리케이션 리스트를 디스플레이 장치(100)에 전송한다.
디스플레이 장치(100)로부터 어플리케이션 리스트 중 하나의 어플리케이션에 대한 실행 요청이 수신되면, 제어부(240)는 이전에 수신된 기기 정보 및 실행 파일 유형 테이블(231)을 바탕으로, 어플리케이션 저장부(233)에 저장된 실행 파일 패키지 중 연결된 디스플레이 장치(100)에 대응되는 실행 파일을 결정한다. 이때, 실행 파일은 디스플레이 장치(100)의 플랫폼, 운영 체제 및 어플리케이션 실행에 영향을 주는 요소(예를 들어, 디스플레이 장치(100)의 지원 가능한 해상도, 3D 기능 지원 여부 등) 등에 의해 결정된다.
예를 들어, 연결된 디스플레이 장치(100)의 운영체제가 Linux이고, 플랫폼이 Android이며, 스크린 크기가 800x600인 경우, 제어부(100)는 연결된 디스플레이 장치(100)에게 전송할 어플리케이션의 실행 파일의 유형을 "BT00003.exe"로 결정한다.
그리고, 제어부(240)는 결정된 실행 파일을 디스플레이 장치(100)에 전송한다. 이때, 제어부(240)는 실행 파일 중 버전 영역을 우선적으로 전송하고, 디스플레이 장치(100)에 이미 저장된 어플리케이션이고, 최신 버전이라고 판단된 경우, 실행 파일의 전송을 중단한다. 이는 실행 파일이 이미 디스플레이 장치(100)에 설치되었기 때문이다.
그러나, 디스플레이 장치(100)에 이미 저장되어 있지 않거나 최신 버전이 아닌 경우, 제어부(240)는 요청된 어플리케이션의 실행 파일 전부를 전송한다. 이때, 제어부(240)는 도 3a 내지 도 3e에서 설명한 바와 같이, 어플리케이션의 실행 파일을 전송할 수 있다.
상술한 바와 같은 클라우드 저장 서버(200)의 가상 디스크에 의해, 사용자는 어플리케이션의 최초 실행 시 다운로드하고 설치하는 과정에서 발생하는 시간 지연을 제거할 수 있게 된다. 또한, 최신 버전의 어플리케이션을 자동으로 업데이트함으로써, 사용자 편의성 역시 증대된다.
이하에서는 도 5 및 도 6을 참조하여, 디스플레이 장치(100) 및 클라우드 저장 서버(200)의 어플리케이션 제공 방법에 대해 설명하기로 한다.
도 5는 본 발명의 일 실시예에 따른, 디스플레이 장치(100)의 어플리케이션 제공 방법을 설명하기 위한 흐름도이다.
우선, 디스플레이 장치(100)는 클라우드 저장 서버(200)와 연결된다(S510). 이때, 디스플레이 장치(100)는 부팅되거나 인터넷과 같은 네트워크에 접속된 경우, 클라우드 저장 서버(200)와 연결될 수 있다.
그리고, 디스플레이 장치(100)는 사용자 정보 및 기기 정보를 클라우드 저장 서버(200)로 전송한다(S520). 사용자 정보 및 기기 정보가 전송되면, 클라우드 저장 서버(200)는 사용자 정보 및 기기 정보를 바탕으로 어플리케이션 리스트 및 파일 시스템 구조 정보를 생성한다.
그리고, 디스플레이 장치(100)는 클라우드 저장 서버(200)를 이용하여 가상 디스크를 생성한다(S530). 이때, 가상 디스크는 디스플레이 장치(100)에 물리적으로 할당된 저장 공간을 가지고 있지 않으나, 클라우드 저장 서버(200)에 저장 공간을 디스플레이 장치(100)에 직접 연결되어 있는 것처럼 가상화(virtualization)시켜서 디스플레이 장치(100)의 로컬 디스크(local disc)처럼 인식하는 것을 말한다.
이때, 가상 디스크에 포함된 어플리케이션은 이미 설치된 형태로 사용자에게 제공될 수 있다.
그리고, 디스플레이 장치(100)는 사용자 명령에 따라 어플리케이션 리스트에 포함된 복수의 어플리케이션 중 하나의 어플리케이션에 대한 실행 요청한다(S540). 이때, 디스플레이 장치(100)는 요청된 어플리케이션의 ID 및 타이틀 중 하나를 클라우드 저장 서버(200)에 전송하여 어플리케이션의 실행을 요청할 수 있다.
그리고, 디스플레이 장치(100)는 클라우드 저장 서버(200)로부터 어플리케이션 실행 파일의 버전 영역을 다운로드 한다(S550).
그리고, 디스플레이 장치(100)는 다운로드 된 어플리케이션 실행 파일의 버전 영역을 이용하여 어플리케이션 실행 파일이 이미 저장된 것인지 여부를 판단한다(S560).
어플리케이션 실행 파일이 이미 저장된 실행 파일이라고 판단된 경우(S560-Y), 디스플레이 장치(100)는 이미 저장된 실행 파일이 최신 버전인지 여부를 판단한다(S570).
최신 버전이라고 판단된 경우(S570-Y), 디스플레이 장치(100)는 이미 저장된 실행 파일을 이용하여 어플리케이션을 실행한다(S590).
그러나, 어플리케이션 실행 파일이 이미 저장된 것은 아니거나(S560-N), 어플리케이션 실행 파일의 버전이 최신 버전이 아닌 경우(S570-N), 디스플레이 장치(100)는 나머지 어플리케이션 실행 파일을 다운로드한다(S580), 이때, 디스플레이 장치(100)는 어플리케이션 실행 파일의 나머지 영역(예를 들어, 코드 영역, 리소스 영역)을 도 3a 내지 도 3e에서 설명한 바와 같이 다운로드할 수 있다.
그리고, 디스플레이 장치(100)는 다운로드된 어플리케이션을 실행한다(S590). 이때, 디스플레이 장치(100)는 어플리케이션을 실행하기 위한 최소한의 코드 정보가 다운로드되면 어플리케이션을 바로 실행할 수 있다.
도 6은 본 발명의 일 실시예에 따른, 클라우드 저장 서버(200)의 어플리케이션 제공 방법을 설명하기 위한 흐름도이다.
우선, 클라우드 저장 서버(200)는 디스플레이 장치(100)와 연결된다(S610). 이때, 클라우드 저장 서버(200)는 디스플레이 장치(100)가 부팅되거나 인터넷과 같은 네트워크에 접속하였을 때, 디스플레이 장치(100)와 연결될 수 있다.
그리고, 클라우드 저장 서버(200)는 연결된 디스플레이 장치(100)로부터 사용자 정보 및 기기 정보를 수신한다(S620).
그리고, 클라우드 저장 서버(200)는 수신된 사용자 정보 및 기기 정보를 바탕으로 가상 디스크를 생성한다(S630). 구체적으로, 클라우드 저장 서버(200)는 수신된 사용자 수신된 사용자 정보를 통해 사용자가 이용 가능한 어플리케이션이 포함된 어플리케이션 리스트를 생성하고, 디스플레이 장치(100)로부터 수신된 기기 정보를 통해 디스플레이 장치(100)가 실행할 수 있는 파일 시스템 구조 정보를 생성한다. 그리고, 클라우드 저장 서버(200)는 생성된 어플리케이션 리스트 및 파일 시스템 구조 정보를 바탕으로 연결된 디스플레이 장치(100)의 가상 디스크를 생성한다.
그리고, 클라우드 저장 서버(200)는 가상 디스크에 포함된 어플리케이션 리스트를 디스플레이 장치(100)에 전송한다(S640).
그리고, 클라우드 저장 서버(200)는 전송된 어플리케이션 중 사용자로부터 입력된 어플리케이션에 대한 실행 요청을 수신한다(S650). 이때, 클라우드 저장 서버(200)는 디스플레이 장치(100)로부터 요청하고자 하는 어플리케이션의 ID 및 타이틀과 같은 정보를 수신할 수 있다.
그리고, 클라우드 저장 서버(200)는 요청된 어플리케이션의 실행 파일의 유형을 결정한다(S660). 이때, 클라우드 저장 서버(200)는 연결된 디스플레이 장치(100)의 운영 체제, 플랫폼, 지원 가능한 해상도와 같이, 어플리케이션 실행에 영향을 주는 요소를 고려하여 어플리케이션의 실행 파일 유형을 결정한다.
그리고, 클라우드 저장 서버(200)는 결정된 유형의 어플리케이션의 실행 파일을 전송한다(S670). 이때, 클라우드 저장 서버(200)는 어플리케이션의 실행 파일 중 버전 영역을 먼저 전송한다. 그리고, 디스플레이 장치(100)에 어플리케이션이 저장되어 있지 않거나 최신 버전이 아닌 경우, 클라우드 저장 서버(200)는 실행 파일의 나머지 영역을 도 3a 내지 도 3e에 도시된 바와 같이 전송할 수 있다. 그러나, 요청된 어플리케이션의 실행 파일이 디스플레이 장치(100)에 기 저장되어 있고, 최신 버전인 경우, 클라우드 저장 서버(200)는 실행 파일 전송을 중단한다.
상술한 바와 같은 디스플레이 장치(100) 및 클라우드 저장 서버(200)의 어플리케이션 제공 방법을 통해, 사용자는 가상 디스크를 이용하여 어플리케이션의 최초 실행 시 다운로드하고 설치하는 과정에서 발생하는 시간 지연을 제거할 수 있게 된다. 또한, 최신 버전의 어플리케이션을 자동으로 업데이트함으로써, 사용자 편의성 역시 증대된다.
상술한 바와 같은 다양한 실시 예에 따른 어플리케이션 제공 방법을 수행하기 위한 프로그램 코드는 다양한 유형의 기록 매체에 저장될 수 있다. 구체적으로는, RAM(Random Access Memory), 플레시메모리, ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electronically Erasable and Programmable ROM), 레지스터, 하드디스크, 리무버블 디스크, 메모리 카드, USB 메모리, CD-ROM 등과 같이, 단말기에서 판독 가능한 다양한 유형의 기록 매체에 저장되어 있을 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
110: 통신부 120: 저장부
130: 사용자 입력부 140: 디스플레이 장치
150: 제어부 210: 통신부
220: 가상 디스크부 230: 저장부
240: 제어부

Claims (30)

  1. 디스플레이 장치의 어플리케이션 제공 방법에 있어서,
    서버로부터 가상 디스크에 인스톨된 복수의 어플리케이션을 포함하는 어플리케이션 리스트를 수신하는 단계;
    상기 복수의 어플리케이션 중 하나의 실행 요청을 상기 서버로 전송하는 단계; 및
    상기 요청된 어플리케이션에 대응되는 실행 파일을 상기 서버로부터 다운로드 하여 실행하는 단계;를 포함하며,
    상기 다운로드 하여 실행하는 단계는,
    상기 요청된 어플리케이션에 대응되는 실행 파일의 버전 영역을 다운로드 하여 상기 요청된 어플리케이션에 대응되는 실행 파일이 기 저장되어 있는지 여부 및 상기 기 저장된 실행 파일의 버전이 최신 버전인지 여부를 판단하는 단계; 및
    상기 요청된 어플리케이션에 대응되는 실행 파일이 기 저장되어 있고 최신 버전인 경우, 상기 다운로드를 취소하고 상기 기 저장된 실행 파일에 기초하여 상기 어플리케이션을 실행하는 단계;를 포함하는 것을 특징으로 하는 어플리케이션 제공 방법.
  2. 제1항에 있어서,
    상기 수신하는 단계는,
    상기 디스플레이 장치의 사용자 정보 및 기기 정보를 상기 서버로 전송하는 단계; 및
    상기 사용자 정보 및 기기 정보를 바탕으로 사용자가 이용 가능한 어플리케이션 리스트를 상기 서버로부터 수신하는 단계;를 포함하는 것을 특징으로 하는 어플리케이션 제공 방법.
  3. 제2항에 있어서,
    상기 어플리케이션 리스트는,
    상기 사용자가 이용 가능한 어플리케이션의 ID 및 제목 중 적어도 하나를 포함하는 것을 특징으로 하는 어플리케이션 제공 방법.
  4. 제3항에 있어서,
    상기 전송하는 단계는,
    실행하고자 하는 어플리케이션의 ID 및 제목 중 하나를 상기 서버로 전송하여 상기 어플리케이션의 실행을 요청하는 것을 특징으로 하는 어플리케이션 제공 방법.
  5. 제1항에 있어서,
    상기 다운로드 된 실행 파일은,
    상기 디스플레이 장치의 플랫폼 및 운영체제를 바탕으로 결정된 실행 파일인 것을 특징으로 하는 어플리케이션 제공 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 다운로드 하여 실행하는 단계는,
    상기 요청된 어플리케이션의 실행 파일이 기 저장되어 있지 않거나 최신 버전이 아닌 경우, 상기 요청된 어플리케이션의 실행 파일을 다운로드 하여 실행하는 단계;를 포함하는 것을 특징으로 하는 어플리케이션 제공 방법.
  8. 제1항에 있어서,
    상기 요청된 어플리케이션의 실행 파일은 버전 영역, 코드 영역 및 리소스 영역을 포함하는 것을 특징으로 하는 어플리케이션 제공 방법.
  9. 제1항에 있어서,
    상기 다운로드 하여 실행하는 단계는,
    상기 어플리케이션의 실행 파일 중 상기 어플리케이션을 실행하기 위해 최소한의 영역을 먼저 다운로드 하여 실행하고, 나머지 영역은 랜덤하게 다운로드 하는 것을 특징으로 하는 어플리케이션 제공 방법.
  10. 디스플레이 장치에 있어서,
    디스플레이부;
    서버와 통신을 수행하는 통신부; 및
    상기 서버로부터 가상 디스크에 인스톨된 복수의 어플리케이션을 포함하는 어플리케이션 리스트를 수신하고, 상기 복수의 어플리케이션 중 하나의 실행 요청을 서버로 전송하며, 상기 요청된 어플리케이션에 대응되는 실행파일을 상기 서버로부터 다운로드 하여 실행하는 제어부;를 포함하며,
    상기 제어부는,
    상기 요청된 어플리케이션에 대응되는 실행 파일의 버전 영역을 다운로드 하여 상기 요청된 어플리케이션에 대응되는 실행 파일이 기 저장되어 있는지 여부 및 상기 기 저장된 실행 파일의 버전이 최신 버전인지 여부를 판단하며, 상기 요청된 어플리케이션에 대응되는 실행 파일이 기 저장되어 있고 최신 버전인 경우, 상기 다운로드를 취소하고 상기 기 저장된 실행 파일에 기초하여 상기 어플리케이션을 실행하는 것을 특징으로 하는 디스플레이 장치.
  11. 제10항에 있어서,
    상기 제어부는,
    상기 디스플레이 장치의 사용자 정보 및 기기 정보를 상기 서버로 전송하고, 상기 사용자 정보 및 기기 정보를 바탕으로 사용자가 이용 가능한 어플리케이션 리스트를 상기 서버로부터 수신하도록 상기 통신부를 제어하는 것을 특징으로 하는 디스플레이 장치.
  12. 제11항에 있어서,
    상기 어플리케이션 리스트는,
    상기 사용자가 이용 가능한 어플리케이션의 ID 및 제목 중 적어도 하나를 포함하는 것을 특징으로 하는 디스플레이 장치.
  13. 제12항에 있어서,
    상기 제어부는,
    실행하고자 하는 어플리케이션의 ID 및 제목 중 하나를 상기 통신부를 통해 상기 서버로 전송하여 상기 어플리케이션의 실행을 요청하는 것을 특징으로 하는 디스플레이 장치.
  14. 제10항에 있어서,
    상기 다운로드 된 실행 파일은,
    상기 디스플레이 장치의 플랫폼 및 운영체제를 바탕으로 결정된 실행 파일인 것을 특징으로 하는 디스플레이 장치.
  15. 삭제
  16. 제10항에 있어서,
    상기 제어부는,
    상기 요청된 어플리케이션의 실행 파일이 기 저장되어 있지 않거나 최신 버전이 아닌 경우, 상기 요청된 어플리케이션의 실행 파일을 다운로드 하여 실행하는 것을 특징으로 하는 디스플레이 장치.
  17. 제10항에 있어서,
    상기 요청된 어플리케이션의 실행 파일은 버전 영역, 코드 영역 및 리소스 영역을 포함하는 것을 특징으로 하는 디스플레이 장치.
  18. 제17항에 있어서,
    상기 제어부는,
    상기 어플리케이션의 실행 파일 중 상기 어플리케이션을 실행하기 위해 최소한의 영역을 먼저 다운로드 하여 상기 어플리케이션을 실행하고, 나머지 영역을 랜덤하게 다운로드하는 것을 특징으로 하는 디스플레이 장치.
  19. 서버의 어플리케이션 제공 방법에 있어서,
    디스플레이 장치로부터 상기 디스플레이 장치의 사용자 정보 및 기기 정보를 수신하는 단계;
    상기 디스플레이 장치의 사용자 정보 및 기기 정보를 바탕으로 상기 디스플레이 장치의 가상 디스크를 생성하는 단계;
    상기 디스플레이 장치의 사용자가 이용할 수 있는 복수의 어플리케이션을 포함하는 어플리케이션 리스트를 상기 디스플레이 장치로 전송하는 단계; 및
    상기 디스플레이 장치로부터 어플리케이션의 실행 요청이 수신되면, 상기 요청된 어플리케이션에 대응되는 실행 파일을 상기 디스플레이 장치로 전송하는 단계;를 포함하며,
    상기 요청된 어플리케이션에 대응되는 실행 파일을 전송하는 단계는,
    상기 요청된 어플리케이션에 대응되는 실행 파일의 버전 영역을 상기 디스플레이 장치로 전송하는 단계; 및
    상기 실행 파일의 버전 영역에 기초하여 상기 실행 파일이 상기 디스플레이 장치에 기 저장되어 있고 상기 기 저장된 실행 파일의 버전이 최신 버전인 것으로 상기 디스플레이 장치에 의해 결정되면, 상기 실행 파일의 전송을 취소하고,
    상기 실행 파일이 상기 디스플레이 장치에 기 저장되어 있지 않거나 상기 기 저장된 실행 파일의 버전이 최신 버전이 아닌 것으로 상기 디스플레이 장치에 의해 결정되면, 상기 실행 파일을 전송하는 단계;를 포함하는 것을 특징으로 하는 어플리케이션 제공 방법.
  20. 제19항에 있어서,
    상기 어플리케이션 리스트는,
    사용자가 이용한 가능한 어플리케이션의 ID 및 제목 중 적어도 하나를 포함하는 것을 특징으로 하는 어플리케이션 제공 방법.
  21. 제19항에 있어서,
    상기 어플리케이션의 실행 요청은,
    상기 디스플레이 장치로부터 실행하고자 하는 어플리케이션의 ID 및 제목 중 하나를 수신하는 것을 특징으로 하는 어플리케이션 제공 방법.
  22. 제19항에 있어서,
    상기 실행 파일은,
    상기 디스플레이 장치의 플랫폼, 운영체제 및 스크린 크기를 바탕으로 결정된 실행 파일인 것을 특징으로 하는 어플리케이션 제공 방법.
  23. 제19항에 있어서,
    상기 어플리케이션의 실행 파일은 버전 영역, 코드 영역 및 리소스 영역을 포함하는 것을 특징으로 하는 어플리케이션 제공 방법.
  24. 제19항에 있어서,
    상기 전송하는 단계는,
    상기 어플리케이션의 실행 파일 중 상기 어플리케이션을 실행하기 위해 최소한의 영역을 먼저 전송하고, 나머지 영역을 랜덤하게 전송하는 것을 특징으로 하는 어플리케이션 제공 방법.
  25. 디스플레이 장치에게 어플리케이션을 제공하는 서버에 있어서,
    복수의 어플리케이션을 저장하는 저장부;
    디스플레이 장치와 통신을 수행하는 통신부; 및
    상기 통신부를 통해 디스플레이 장치와 연결되면, 상기 통신부를 통해 상기 디스플레이 장치로부터 상기 디스플레이 장치의 사용자 정보 및 기기 정보를 수신하여 상기 디스플레이 장치의 사용자 정보 및 기기 정보를 바탕으로 상기 디스플레이 장치의 가상 디스크를 생성하며, 상기 통신부를 통해 상기 디스플레이 장치의 사용자가 이용할 수 있는 어플리케이션 리스트를 전송하고, 상기 디스플레이 장치로부터 어플리케이션의 실행 요청이 수신되면, 상기 요청된 어플리케이션에 대응되는 실행 파일을 전송하도록 상기 통신부를 제어하는 제어부;를 포함하며,
    상기 제어부는,
    상기 요청된 어플리케이션에 대응되는 실행 파일의 버전 영역을 상기 디스플레이 장치로 전송하고, 상기 실행 파일의 버전 영역에 기초하여 상기 실행 파일이 상기 디스플레이 장치에 기 저장되어 있고 상기 기 저장된 실행 파일의 버전이 최신 버전인 것으로 상기 디스플레이 장치에 의해 결정되면, 상기 실행 파일의 전송을 취소하고, 상기 실행 파일이 상기 디스플레이 장치에 기 저장되어 있지 않거나 상기 기 저장된 실행 파일의 버전이 최신 버전이 아닌 것으로 상기 디스플레이 장치에 의해 결정되면, 상기 실행 파일을 전송하는 것을 특징으로 하는 서버.
  26. 제25항에 있어서,
    상기 어플리케이션 리스트는,
    사용자가 이용한 가능한 어플리케이션의 ID 및 제목 중 적어도 하나를 포함하는 것을 특징으로 하는 서버.
  27. 제26항에 있어서,
    상기 어플리케이션의 실행 요청은,
    상기 디스플레이 장치로부터 실행하고자 하는 어플리케이션의 ID 및 제목 중 하나를 수신하는 것을 특징으로 하는 서버.
  28. 제26항에 있어서,
    상기 실행 파일은,
    상기 디스플레이 장치의 플랫폼, 운영체제 및 스크린 크기를 바탕으로 결정된 실행 파일인 것을 특징으로 하는 서버.
  29. 제26항에 있어서,
    상기 어플리케이션의 실행 파일은 버전 영역, 코드 영역 및 리소스 영역을 포함하는 것을 특징으로 하는 서버.
  30. 제26항에 있어서,
    상기 제어부는,
    상기 어플리케이션의 실행 파일 중 상기 어플리케이션을 실행하기 위해 최소한의 영역을 먼저 전송하고, 나머지 영역을 랜덤하게 전송하도록 상기 통신부를 제어하는 것을 특징으로 하는 서버.
KR1020110133781A 2011-12-13 2011-12-13 어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버 KR101868386B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020110133781A KR101868386B1 (ko) 2011-12-13 2011-12-13 어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버
EP12196045.4A EP2605482A1 (en) 2011-12-13 2012-12-07 Method of providing application, display apparatus using the same, and server
US13/710,654 US9253228B2 (en) 2011-12-13 2012-12-11 Cloud computing method, computing apparatus and server using the same
CN201210538779.3A CN103167015B (zh) 2011-12-13 2012-12-13 云计算方法、计算装置以及使用其的服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110133781A KR101868386B1 (ko) 2011-12-13 2011-12-13 어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버

Publications (2)

Publication Number Publication Date
KR20130066981A KR20130066981A (ko) 2013-06-21
KR101868386B1 true KR101868386B1 (ko) 2018-06-19

Family

ID=47563004

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110133781A KR101868386B1 (ko) 2011-12-13 2011-12-13 어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버

Country Status (4)

Country Link
US (1) US9253228B2 (ko)
EP (1) EP2605482A1 (ko)
KR (1) KR101868386B1 (ko)
CN (1) CN103167015B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8910147B2 (en) * 2012-04-17 2014-12-09 Asustek Computer Inc. Application installation method and mobile device
US9892177B2 (en) * 2013-07-11 2018-02-13 Salesforce.Com, Inc. Systems and methods for interacting with external content objects
CN103701922B (zh) * 2013-12-31 2017-06-06 曙光云计算技术有限公司 Paas平台的应用安全部署的方法和系统
KR20150081699A (ko) 2014-01-06 2015-07-15 삼성전자주식회사 영상표시장치, 영상표시장치의 구동방법 및 컴퓨터 판독가능 기록매체
CN105635237B (zh) * 2014-11-27 2021-02-19 广州方硅信息技术有限公司 一种客户端的频道内应用程序的下载方法及设备、系统
US10721304B2 (en) * 2017-09-14 2020-07-21 International Business Machines Corporation Storage system using cloud storage as a rank
JP7067232B2 (ja) * 2018-04-20 2022-05-16 コニカミノルタ株式会社 サービス提供装置およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010011341A1 (en) * 1998-05-05 2001-08-02 Kent Fillmore Hayes Jr. Client-server system for maintaining a user desktop consistent with server application user access permissions
US20030022657A1 (en) * 2001-07-18 2003-01-30 Mark Herschberg Application provisioning over a wireless network
JP2010061683A (ja) * 2003-01-02 2010-03-18 Samsung Electronics Co Ltd アプリケーション管理システム及び方法
US8560694B2 (en) * 2008-02-01 2013-10-15 Microsoft Corporation Virtual application server with version control

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998050853A1 (en) * 1997-05-08 1998-11-12 Pinnacle Technology, Inc. Network desktop management security system and method
US9134989B2 (en) * 2002-01-31 2015-09-15 Qualcomm Incorporated System and method for updating dataset versions resident on a wireless device
CA2537910C (en) * 2003-09-05 2012-11-06 Itron, Inc. Synchronizing and controlling software downloads, such as for utility meter-reading data collection and processing
JP4168338B2 (ja) * 2003-09-18 2008-10-22 ブラザー工業株式会社 インストールプログラム、コンピュータ読取可能な記録媒体、及びインストール方法
US20050160104A1 (en) * 2004-01-20 2005-07-21 Datasource, Inc. System and method for generating and deploying a software application
KR100928866B1 (ko) * 2007-09-10 2009-11-30 주식회사 안철수연구소 가상 환경에서의 어플리케이션 실행 장치 및 방법
WO2009132261A1 (en) * 2008-04-25 2009-10-29 Vmware, Inc. Updating a file using differences and file format therefor
WO2011021908A2 (en) * 2009-08-21 2011-02-24 Samsung Electronics Co., Ltd. Application downloading method, application providing method, user terminal using the same
KR101623987B1 (ko) * 2010-02-04 2016-05-24 삼성전자주식회사 어플리케이션 실행 장치 및 방법
CN102075571A (zh) * 2010-12-31 2011-05-25 成都市华为赛门铁克科技有限公司 应用程序的执行方法、设备及系统
US8578376B2 (en) * 2011-01-04 2013-11-05 International Business Machines Corporation Automatically and securely configuring and updating virtual machines
WO2011127860A2 (zh) * 2011-05-18 2011-10-20 华为技术有限公司 启动应用的方法、服务器和系统
US8918712B2 (en) * 2011-12-13 2014-12-23 Fmr Llc Dynamically generating a mobile application
US20140114901A1 (en) * 2012-10-19 2014-04-24 Cbs Interactive Inc. System and method for recommending application resources

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010011341A1 (en) * 1998-05-05 2001-08-02 Kent Fillmore Hayes Jr. Client-server system for maintaining a user desktop consistent with server application user access permissions
US6339826B2 (en) * 1998-05-05 2002-01-15 International Business Machines Corp. Client-server system for maintaining a user desktop consistent with server application user access permissions
US20030022657A1 (en) * 2001-07-18 2003-01-30 Mark Herschberg Application provisioning over a wireless network
JP2010061683A (ja) * 2003-01-02 2010-03-18 Samsung Electronics Co Ltd アプリケーション管理システム及び方法
US8560694B2 (en) * 2008-02-01 2013-10-15 Microsoft Corporation Virtual application server with version control

Also Published As

Publication number Publication date
CN103167015B (zh) 2018-12-21
KR20130066981A (ko) 2013-06-21
US9253228B2 (en) 2016-02-02
CN103167015A (zh) 2013-06-19
EP2605482A1 (en) 2013-06-19
US20130151672A1 (en) 2013-06-13

Similar Documents

Publication Publication Date Title
KR101868386B1 (ko) 어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버
US11010147B2 (en) Method and apparatus for running mobile device software
KR102310780B1 (ko) 웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치
US9621477B2 (en) System and method of offloading browser computations
US8949947B2 (en) Network system and non-transitory computer-readable storage medium
KR20140126328A (ko) 애플리케이션 캐시를 사용하여 설치된 애플리케이션의 리소스를 업데이트하는 기법
KR20100017023A (ko) 화상형성장치 및 그의 어플리케이션 제어방법
US9648042B2 (en) Apparatus and method for managing security content using virtual folder
US20230388578A1 (en) Systems and Methods of Alternative Networked Application Services
CN110764805A (zh) 客户端无感升级的方法、装置、终端及存储介质
US10666707B2 (en) Nonconsecutive file downloading
JP6358063B2 (ja) 要求送信方法、情報処理装置、及びプログラム
KR20120092433A (ko) 프로세싱 디바이스에서의 컨텐트 관리 방법 및 그 장치
KR102124330B1 (ko) 어플리케이션 업데이트 방법 및 이를 지원하는 단말
KR102177764B1 (ko) 단말장치 및 그 제어 방법
US10791441B2 (en) Terminal device and method for controlling the same
US11843659B2 (en) Server system, information processing method, and storage medium
KR20190089810A (ko) 단말장치 및 그 제어 방법
KR20220028326A (ko) 트래픽 제어 정보를 이용하여 미디어를 재생하는 방법과 시스템 및 컴퓨터 판독가능한 기록 매체
KR20120097741A (ko) 게임 서비스 시스템, 게임 서비스 장치, 단말 장치 및 그의 게임 세이브 데이터 관리 방법

Legal Events

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