KR20160033579A - 애플리케이션을 통하여 서비스를 제공하는 시스템 및 방법 - Google Patents

애플리케이션을 통하여 서비스를 제공하는 시스템 및 방법 Download PDF

Info

Publication number
KR20160033579A
KR20160033579A KR1020150015582A KR20150015582A KR20160033579A KR 20160033579 A KR20160033579 A KR 20160033579A KR 1020150015582 A KR1020150015582 A KR 1020150015582A KR 20150015582 A KR20150015582 A KR 20150015582A KR 20160033579 A KR20160033579 A KR 20160033579A
Authority
KR
South Korea
Prior art keywords
application
service
browser
providing server
received
Prior art date
Application number
KR1020150015582A
Other languages
English (en)
Other versions
KR102321361B1 (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 PCT/KR2015/009747 priority Critical patent/WO2016043530A1/en
Priority to TW104130689A priority patent/TWI682290B/zh
Priority to EP15185969.1A priority patent/EP2999200B1/en
Priority to CN201910520338.2A priority patent/CN110286919B/zh
Priority to US14/857,909 priority patent/US9971586B2/en
Priority to EP20165263.3A priority patent/EP3694196B1/en
Priority to CN201510599214.XA priority patent/CN105446766B/zh
Publication of KR20160033579A publication Critical patent/KR20160033579A/ko
Priority to US15/938,691 priority patent/US10613845B2/en
Application granted granted Critical
Publication of KR102321361B1 publication Critical patent/KR102321361B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

애플리케이션을 통하여 서비스를 제공하는 시스템 및 방법이 제공된다. 애플리케이션을 이용하여 서비스를 수신하는 디바이스는, 서비스 제공 서버 및 애플리케이션 제공 서버와 통신하는 통신부; 상기 통신부를 제어함으로써, 상기 서비스 제공 서버의 서비스를 이용하기 위한 애플리케이션 및 상기 애플리케이션의 브라우저 UI를 애플리케이션 제공 서버에게 요청하고; 상기 애플리케이션 제공 서버로부터 상기 브라우저 UI를 수신하고; 상기 브라우저 UI를 이용하여 상기 서비스 제공 서버로부터 상기 서비스를 수신하며; 상기 서비스를 수신하는 동안에, 상기 애플리케이션을 상기 애플리케이션 제공 서버로부터 수신하여 실행하고; 상기 브라우저 UI를 이용하여 수신 중인 서비스를, 상기 실행된 애플리케이션을 이용하여 계속하여 수신하는 제어부;를 포함한다.

Description

애플리케이션을 통하여 서비스를 제공하는 시스템 및 방법{SYSTEM AND METHOD FOR PROVIDING SERVICE VIA APPLICATION}
본 개시는 애플리케이션을 다운로드 중인 디바이스에게 서비스를 제공하는 시스템 및 방법 시스템 및 방법에 관한 것이다.
네트워크 및 멀티미디어 기술이 발전함에 따라, 디바이스의 사용자는 서비스 제공 서버로부터 다양한 서비스를 제공받을 수 있게 되었다. 또한, 서비스 제공 서버마다 서비스 제공 서버의 서비스를 이용하기 위한 전용의 애플리케이션을 제공하게 되었다. 이에 따라, 디바이스는 서비스 제공 서버의 전용 애플리케이션을 수신하고 설치함으로써, 보다 편리하게 서비스 제공 서버의 서비스를 이용할 수 있게 되었다.
그러나, 디바이스는 서비스 제공 서버의 서비스를 이용하기 위한 애플리케이션을 다운로드하고 디바이스 내에 설치하여야만, 서비스 제공 서버의 서비스를 이용할 수 있기 때문에, 디바이스의 사용자는 원하는 서비스를 즉시에 제공받기 힘든 문제가 있었다.
따라서, 디바이스가 서비스 제공 서버의 서비스를 이용하기 위한 애플리케이션을 다운로드하고 설치하는 동안에도, 서비스 제공 서버의 서비스를 효과적으로 수신할 수 있도록 하는 기술이 요구되고 있다.
일부 실시예는, 서비스 제공 서버의 서비스를 이용하기 위한 애플리케이션이 디바이스에 설치되기 전에, 디바이스가 애플리케이션의 브라우저 UI를 통하여 서비스 제공 서버의 서비스를 이용할 수 있도록 하는, 서비스 제공 시스템 및 방법을 제공할 수 있다.
또한, 일부 실시예는, 애플리케이션의 브라우저 UI를 통하여 서비스 제공 서버의 서비스를 이용하는 도중에, 디바이스가 서비스 제공 서버의 서비스를 이용하기 위한 애플리케이션을 다운로드하고 설치할 수 있도록 하는, 서비스 제공 시스템 및 방법을 제공할 수 있다.
또한, 일부 실시예는, 디바이스가 애플리케이션의 브라우저 UI를 통하여 수신하던 서비스를, 디바이스에 설치되는 애플리케이션을 통하여 심리스하게 계속하여 이용할 수 있도록 하는, 서비스 제공 시스템 및 방법을 제공할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1 측면은, 서비스 제공 서버 및 애플리케이션 제공 서버와 통신하는 통신부; 상기 통신부를 제어함으로써, 상기 서비스 제공 서버의 서비스를 이용하기 위한 애플리케이션 및 상기 애플리케이션의 브라우저 UI를 애플리케이션 제공 서버에게 요청하고; 상기 애플리케이션 제공 서버로부터 상기 브라우저 UI를 수신하고; 상기 브라우저 UI를 이용하여 상기 서비스 제공 서버로부터 상기 서비스를 수신하며; 상기 서비스를 수신하는 동안에, 상기 애플리케이션을 상기 애플리케이션 제공 서버로부터 수신하여 실행하고; 상기 브라우저 UI를 이용하여 수신 중인 서비스를, 상기 실행된 애플리케이션을 이용하여 계속하여 수신하는 제어부;를 포함하는, 애플리케이션을 이용하여 서비스를 수신하는 디바이스를 제공할 수 있다.
또한, 상기 제어부는, 디바이스 내에 설치된 브라우저를 실행하고 상기 실행된 브라우저를 통하여 상기 브라우저 UI를 상기 디바이스의 화면 상에 디스플레이하며, 상기 디스플레이된 브라우저 UI를 통한 사용자 입력에 기초하여 상기 서비스 제공 서버로부터 상기 서비스를 수신할 수 있다.
또한, 상기 제어부는, 상기 통신부를 제어함으로써, 상기 브라우저 UI를 이용하여 수신 중인 서비스의 로그 정보를 상기 서비스 제공 서버로부터 수신하고, 상기 수신된 로그 정보를 이용하여 상기 수신 중인 서비스를 상기 실행된 애플리케이션을 이용하여 계속하여 수신할 수 있다.
또한, 상기 제어부는, 상기 브라우저 UI의 디스플레이를 종료하고, 상기 종료 시점까지의 상기 로그 정보를 상기 실행된 애플리케이션을 통해 수신될 서비스에 적용할 수 있다.
또한, 상기 제어부는, 상기 브라우저 UI를 이용하여 수신 중인 서비스의 서비스 이용 상황에 기초하여, 상기 브라우저 UI의 디스플레이를 종료할 시점을 결정할 수 있다.
또한, 상기 제어부는, 상기 종료 시점까지 상기 브라우저 UI를 이용하여 수신된 서비스 데이터와, 상기 실행된 애플리케이션을 이용하여 수신될 서비스 데이터를 동기화할 수 있다.
또한, 상기 애플리케이션을 요청하는 것은, 상기 애플리케이션의 설치 파일 또는 상기 애플리케이션의 업데이트 파일을 요청할 수 있다.
또한, 상기 브라우저 UI는, 상기 서비스 제공 서버에 의해, 상기 애플리케이션의 설치 파일 또는 상기 애플리케이션의 업데이트 파일과 함께 상기 애플리케이션 제공 서버에 등록될 수 있다.
또한, 상기 브라우저 UI는 상기 애플리케이션의 UI로부터 상기 애플리케이션 제공 서버에 의해 자동으로 변환될 수 있다.
또한, 상기 제어부는, 상기 디바이스의 백그라운드에서 상기 요청된 애플리케이션을 수신하고 실행할 수 있다.
또한, 상기 애플리케이션 제공 서버 및 상기 서비스 제공 서버는 하나의 사업자에 의해 운영될 수 있다.
또한, 본 개시의 제 2 측면은, 서비스 제공 서버의 서비스를 이용하기 위한 애플리케이션 및 상기 애플리케이션의 브라우저 UI를, 애플리케이션 제공 서버에게 요청하는 단계; 상기 애플리케이션 제공 서버로부터 상기 브라우저 UI를 수신하는 단계; 상기 브라우저 UI를 이용하여 상기 서비스 제공 서버로부터 상기 서비스를 수신하는 단계; 상기 서비스를 수신하는 동안에, 상기 애플리케이션을 상기 애플리케이션 제공 서버로부터 수신하여 실행하는 단계; 및 상기 수신 중인 서비스를, 상기 실행된 애플리케이션을 이용하여 계속하여 수신하는 단계;를 포함하는, 디바이스가 애플리케이션을 이용하여 서비스를 수신하는 방법을 제공할 수 있다.
또한, 상기 브라우저 UI를 이용하여 상기 서비스를 수신하는 단계는, 상기 디바이스 내에 설치된 브라우저를 실행하고 상기 실행된 브라우저를 통하여 상기 브라우저 UI를 상기 디바이스의 화면 상에 디스플레이하며, 상기 디스플레이된 브라우저 UI를 통한 사용자 입력에 기초하여 상기 서비스 제공 서버로부터 상기 서비스를 수신할 수 있다.
또한, 상기 수신 중인 서비스를 계속하여 수신하는 단계는, 상기 브라우저 UI를 이용하여 수신 중인 서비스의 로그 정보를 상기 서비스 제공 서버로부터 수신하고, 상기 수신된 로그 정보를 이용하여 상기 수신 중인 서비스를 상기 실행된 애플리케이션을 이용하여 계속하여 수신할 수 있다.
또한, 상기 수신 중인 서비스를 계속하여 수신하는 단계는, 상기 브라우저 UI의 디스플레이를 종료하고, 상기 종료 시점까지의 상기 로그 정보를 상기 실행된 애플리케이션을 통해 수신될 서비스에 적용할 수 있다.
또한, 상기 수신 중인 서비스를 계속하여 수신하는 단계는, 상기 브라우저 UI를 이용하여 수신 중인 서비스의 서비스 이용 상황에 기초하여, 상기 브라우저 UI의 디스플레이를 종료할 시점을 결정하는 단계;를 더 포함할 수 있다.
또한, 상기 수신 중인 서비스를 계속하여 수신하는 단계는, 상기 종료 시점까지 상기 브라우저 UI를 이용하여 수신된 서비스 데이터와, 상기 실행된 애플리케이션을 이용하여 수신될 서비스 데이터를 동기화할 수 있다.
또한, 상기 애플리케이션을 요청하는 단계는, 상기 애플리케이션의 설치 파일 또는 상기 애플리케이션의 업데이트 파일을 요청할 수 있다.
또한, 상기 브라우저 UI는, 상기 서비스 제공 서버에 의해, 상기 애플리케이션의 설치 파일 또는 상기 애플리케이션의 업데이트 파일과 함께 상기 애플리케이션 제공 서버에 등록될 수 있다.
또한, 본 개시의 제 3 측면은, 애플리케이션 및 상기 애플리케이션을 통한 서비스를 제공하는 서버와 통신하는 통신부; 상기 통신부를 제어함으로써, 상기 서비스를 이용하기 위한 애플리케이션 및 상기 애플리케이션의 브라우저 UI를 상기 서버에게 요청하고; 상기 서버로부터 상기 브라우저 UI를 수신하고; 상기 브라우저 UI를 이용하여 상기 서버로부터 상기 서비스를 수신하며; 상기 서비스를 수신하는 동안에, 상기 애플리케이션을 상기 서버로부터 수신하여 실행하고; 상기 브라우저 UI를 이용하여 수신 중인 서비스를, 상기 실행된 애플리케이션을 이용하여 계속하여 수신하는 제어부;를 포함하는, 디바이스를 제공할 수 있다.
또한, 본 개시의 제 4 측면은, 서비스 제공 서버의 서비스를 이용하기 위한 애플리케이션 및 상기 애플리케이션의 브라우저 UI를 등록하는 단계; 디바이스로부터 상기 애플리케이션 및 상기 애플리케이션의 브라우저 UI의 제공 요청을 수신하는 단계; 및 상기 요청에 응답하여, 상기 디바이스에게 상기 브라우저 UI 및 상기 애플리케이션을 제공하는 단계;를 포함하며, 상기 디바이스에 제공된 브라우저 UI를 통해 상기 디바이스에게 상기 서비스 제공 서버의 서비스가 제공되는 동안에, 상기 애플리케이션이 상기 디바이스에게 제공되고 상기 디바이스 내에 설치되는 것인, 애플리케이션 제공 서버가, 서비스 제공 서버의 서비스를 이용하기 위한 애플리케이션을 제공하는 방법을 제공할 수 있다.
또한, 본 개시의 제 5 측면은, 제 2 측면의 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체를 제공할 수 있다.
도 1a은 일부 실시예에 따른 디바이스(1000)에게 서비스 제공 서버(3000)의 서비스를 제공하는 서비스 제공 시스템의 개요도이다.
도 1b는 일부 실시예에 따른 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)를 포함하는 통합 서버(4000)를 통하여 디바이스(1000)에게 서비스를 제공하는 서비스 제공 시스템의 개요도이다.
도 2는 일부 실시예에 따른 디바이스(1000)가 서비스 제공 서버(3000)의 서비스를 이용하는 방법의 흐름도이다.
도 3은 일부 실시예에 따른 서비스 제공 서버(3000)에 저장된 로그 정보를 이용하여 디바이스(1000)에게 서비스 제공 서버(3000)의 서비스를 제공하는 방법의 흐름도이다.
도 4는 일부 실시예에 따른 디바이스(1000)에 저장된 로그 정보를 이용하여 디바이스(1000)에게 서비스 제공 서버(3000)의 서비스를 제공하는 방법의 흐름도이다.
도 5는 일부 실시예에 따른 디바이스(1000)가 서비스 제공 서버(3000)의 서비스를 위한 애플리케이션의 실행 주체를 변경하는 방법의 흐름도이다.
도 6은 일부 실시예에 따른 디바이스(1000)가 애플리케이션 제공 서버(2000)로부터 브라우저 UI를 수신하는 예시를 나타내는 도면이다.
도 7은 일부 실시예에 따른 디바이스(1000)가 브라우저 UI를 화면 상에 디스플레이하는 예시를 나타내는 도면이다.
도 8은 일부 실시예에 따른 디바이스(1000)가 브라우저 UI를 통하여 채팅 서비스를 이용하는 도중에, 챗온 애플리케이션의 설치가 완료되었음을 알리는 일례를 나타내는 도면이다.
도 9는 일부 실시예에 따른 디바이스(1000)가 브라우저 UI를 통하여 이용하던 채팅 서비스를, 디바이스(1000)에 설치된 챗온 애플리케이션을 통하여 계속하여 이용하는 일례를 나타내는 도면이다.
도 10은 일부 실시예에 따른 디바이스(1000)가 브라우저 UI를 통하여 이용하던 게임 서비스를, 디바이스(1000)에 설치된 게임 애플리케이션을 통하여 계속하여 이용하는 일례를 나타내는 도면이다.
도 11은 일부 실시예에 따른 서비스 제공 서버(3000)가 애플리케이션 제공 서버(2000)에 애플리케이션 및 애플리케이션의 브라우저 UI를 등록하는 방법의 흐름도이다.
도 12 및 도 13은 일부 실시예에 따른 서비스 제공 서버(3000)에게 제공되는 애플리케이션 등록을 위한 UI의 일례를 나타내는 도면이다.
도 14는 일부 실시예에 따른 애플리케이션의 브라우저 UI를 등록하기 위한 메뉴의 예시를 나타내는 도면이다.
도 15는 일부 실시예에 따른 애플리케이션 제공 서버(2000)가 브라우저 UI를 생성하는 방법의 흐름도이다.
도 16은 일부 실시예에 따른 애플리케이션의 UI로부터 생성된 브라우저 UI의 예시를 나타내는 도면이다.
도 17 및 도 18은 일부 실시예에 따른 디바이스(1000)의 블록도이다.
도 19는 일부 실시예에 따른 애플리케이션 제공 서버(2000)의 블록도이다.
도 20은 일부 실시예에 따른 서비스 제공 서버(3000)의 블록도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서, 서비스는, 서비스 제공 서버에 의해 디바이스에게 제공되는 모든 종류의 서비스를 포함한다. 서비스는, 예를 들어, 방송 서비스, 콘텐트 공유 서비스, 콘텐트 제공 서비스, 전력 관리 서비스, 게임 제공 서비스, 채팅 서비스, 문서 작성 서비스, 검색 서비스, 통화 서비스, 사진 촬영 서비스, 교통 수단 추천 서비스 및 동영상 재생 서비스를 포함할 수 있다. 그러나, 이에 제한되지 않는다.
또한, 서비스의 로그 정보는 서비스를 이용하는 사용자의 서비스 이용 내역을 나타내는 정보일 수 있다. 서비스의 로그 정보는 서비스를 이용하기 위한 애플리케이션의 실행에 의해 발생되는 이벤트 정보를 포함할 수 있다.
또한, 브라우저 UI는 서비스 제공 서버의 서비스를 제공받기 위한 UI로서, 디바이스 내의 브라우저 기반으로 디바이스의 화면 상에 디스플레이되고 이용될 수 있다. 또한, 사용자는 디바이스의 화면 상에 디스플레이된 브라우저 UI를 통하여, 서비스 제공 서버로부터 제공되는 웹 기반의 서비스를 이용할 수 있다.
또한, 애플리케이션 제공 서버는 서비스 제공 서버의 서비스를 이용하기 위한 애플리케이션을 디바이스에게 제공하는 서버일 수 있다. 예를 들어, 애플리케이션 제공 서버는, 애플리케이션 마켓을 운영하는 서버일 수 있다. 또한, 애플리케이션 마켓은, 예를 들어, Galaxy Apps, Google Play, 및 App Store 등을 포함할 수 있으나, 이에 제한되지 않는다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1a는 일부 실시예에 따른 디바이스(1000)에게 서비스 제공 서버(3000)의 서비스를 제공하는 서비스 제공 시스템의 개요도이다.
도 1a를 참조하면, 일부 실시예에 따른 서비스 제공 서버(3000)는 디바이스(1000), 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)를 포함할 수 있다.
디바이스(1000)는 애플리케이션 제공 서버(2000)에 접속하여 서비스 제공 서버(3000)의 서비스를 이용하기 위한 애플리케이션 및 디바이스(1000)의 브라우저를 통하여 디바이스(1000)의 화면 상에 디스플레이될 브라우저 UI를 수신할 수 있다. 또한, 디바이스(1000)는 애플리케이션 제공 서버(2000)로부터 애플리케이션을 수신하는 도중에, 디바이스(1000) 내의 브라우저를 실행하고 브라우저 UI를 디스플레이할 수 있으며, 디스플레이된 브라우저 UI를 이용하여 서비스 제공 서버(3000)로부터 서비스 제공 서버(3000)의 서비스를 수신할 수 있다. 서비스를 수신하는 것은, 서비스 제공 서버(3000)의 서비스를 이용하기 위한 서비스 데이터를 수신하는 것일 수 있다.
또한, 애플리케이션 제공 서버(2000)로부터의 애플리케이션의 수신이 완료되면, 디바이스(1000)는 수신된 애플리케이션을 디바이스(1000)에 설치하고 실행할 수 있다. 이 후, 디바이스(1000)는 브라우저 UI를 통하여 이용 중인 서비스를 실행된 애플리케이션을 통하여 계속하여 이용할 수 있다. 이 경우, 디바이스(1000)는 브라우저 UI를 통하여 이용 중에 서비스의 서비스 데이터와, 애플리케이션을 통하여 계속하여 이용할 서비스의 서비스 데이터를, 서비스 제공 서버(3000)로부터 수신된 서비스 로그 정보 또는 디바이스(1000) 내에 저장된 서비스 로그 정보를 사용하여, 동기화함으로써, 서비스 제공 서버(3000)의 서비스를 심리스(seamless)하게 이용할 수 있다.
한편, 서비스 제공 서버(3000)는 서비스 제공 서버(3000)의 서비스를 이용하기 위한 애플리케이션 및 디바이스(1000) 내의 브라우저를 통하여 디바이스(1000)의 화면 상에 디스플레이될 브라우저 UI를 애플리케이션 제공 서버(2000)에 등록할 수 있다.
이를 위하여, 애플리케이션 제공 서버(2000)는 애플리케이션 등록을 위한 UI를 서비스 제공 서버(3000)에게 제공할 수 있으며, 서비스 제공 서버(3000)는 애플리케이션 등록을 위한 UI를 통하여 서비스 제공 서버(3000)의 애플리케이션을 애플리케이션 제공 서버(2000)에 등록할 수 있다. 또한, 애플리케이션 제공 서버(2000)는 등록된 애플리케이션의 UI를 분석함으로써, 브라우저 UI를 자동적으로 생성할 수 있다.
디바이스(1000)는 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 디바이스(1000)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)는 애플리케이션 제공 서버(2000)로부터 애플리케이션을 수신하여 설치할 수 있으며, 서비스 제공 서버(3000)의 서비스를 이용할 수 있는 모든 종류의 기기를 포함할 수 있다.
한편, 도 1b에서와 같이, 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)는 하나의 통합 서버(4000)로 통합되어 운영될 수 있다. 또한, 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)는 하나의 사업자에 의해 운영될 수 있다.
도 1b는 일부 실시예에 따른 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)를 포함하는 통합 서버(4000)를 통하여 디바이스(1000)에게 서비스를 제공하는 서비스 제공 시스템의 개요도이다.
도 1b를 참조하면, 디바이스(1000)는 통합 서버(4000)로부터 애플리케이션을 수신하는 도중에, 디바이스(1000) 내의 브라우저를 실행하고 통합 서버(4000)로부터 통합 서버(4000)의 서비스를 수신할 수 있다. 서비스를 수신하는 것은, 통합 서버(4000)의 서비스를 이용하기 위한 서비스 데이터를 수신하는 것일 수도 있다. 또한, 통합 서버(4000)의 서비스는 서비스 제공 서버(3000)의 서비스와 동일한 서비스일 수 있으나, 이에 제한되지 않는다.
도 2는 일부 실시예에 따른 디바이스(1000)가 서비스 제공 서버(3000)의 서비스를 이용하는 방법의 흐름도이다.
단계 S200에서 디바이스(1000)는 서비스 제공 서버(3000)의 서비스를 이용하기 위한 애플리케이션을 애플리케이션 제공 서버(2000)에게 요청할 수 있다. 디바이스(1000)는 애플리케이션 제공 서버(2000)의 애플리케이션 마켓에 접속하고, 서비스 제공 서버(3000)의 애플리케이션을 애플리케이션 제공 서버(2000)에게 요청할 수 있다. 디바이스(1000)는 애플리케이션의 설치 또는 업데이트를 위한 파일을 애플리케이션 제공 서버(2000)에게 요청할 수 있다. 애플리케이션 마켓은, 예를 들어, Galaxy Apps, Google Play, 및 App Store를 포함할 수 있으나, 이에 제한되지 않는다.
단계 S210에서 디바이스(1000)는 디바이스(1000) 내의 브라우저를 통하여 디스플레이될 수 있는 브라우저 UI를 애플리케이션 제공 서버(2000)로부터 수신할 수 있다. 브라우저 UI는 서비스 제공 서버(3000)의 서비스를 이용하기 위한 UI로서, 디바이스(1000) 내의 브라우저를 통하여 디스플레이될 수 있는 UI일 수 있다. 브라우저 UI는 서비스 제공 서버(3000)의 서비스를 제공받기 위한 애플리케이션의 UI로부터 변환된 UI일 수 있다. 또한, 브라우저는, 예를 들어, HTML5 기반의 브라우저, CSS3 기반의 브라우저 및 Java Script 기반의 브라우저일 수 있으나, 이에 제한되지 않는다.
이 경우, 애플리케이션 제공 서버(2000)는 단계 S200에서 디바이스(1000)로부터 수신된 애플리케이션 제공 요청에 응답하여, 애플리케이션의 설치 파일 또는 애플리케이션의 업데이트 파일을 디바이스(1000)에게 제공하면서, 서비스 제공 서버(3000)의 브라우저 UI를 디바이스(1000)에게 제공할 수 있다. 또한, 브라우저 UI는 서비스 제공 서버(3000)에 의해 애플리케이션 제공 서버(2000)에 미리 등록될 수 있다.
단계 S220에서 디바이스(1000)는 브라우저 UI를 이용하여 서비스 제공 서버(3000)로부터 서비스를 수신할 수 있다. 디바이스(1000)는 기 설정된 브라우저를 실행하고, 실행된 브라우저를 통하여 브라우저 UI를 디바이스(1000)의 화면 상에 디스플레이할 수 있다. 또한, 디바이스(1000)는 브라우저 UI를 통한 사용자 입력에 따라, 소정의 서비스를 서비스 제공 서버(3000)로부터 수신할 수 있다.
단계 S230에서 디바이스(1000)는 브라우저 UI를 통하여 서비스 제공 서버(3000)의 서비스를 수신하는 동안에, 애플리케이션 제공 서버(2000)로부터 애플리케이션을 수신할 수 있다. 애플리케이션 제공 서버(2000)는 단계 S200에서 디바이스(1000)로부터 수신된 애플리케이션 제공 요청에 응답하여, 애플리케이션의 설치 파일 또는 애플리케이션의 업데이트 파일, 및 서비스 제공 서버(3000)의 브라우저 UI의 전송을 함께 수행할 수 있다.
단계 S240에서 디바이스(1000)는 수신된 애플리케이션을 실행할 수 있다. 디바이스(1000)는 브라우저 UI를 이용하여 서비스 제공 서버(3000)의 서비스를 수신하는 동안에, 애플리케이션 제공 서버(2000)로부터 수신된 애플리케이션을 디바이스(1000) 내에 설치하고 설치된 애플리케이션을 실행할 수 있다.
단계 S250에서 디바이스(1000)는 브라우저 UI를 통하여 수신 중인 서비스를, 실행된 애플리케이션을 이용하여 계속하여 수신할 수 있다. 디바이스(1000)는 브라우저 UI를 통한 서비스 수신을 중단하고, 실행된 애플리케이션을 통하여 중단된 서비스를 계속하여 실행할 수 있다. 디바이스(1000)는 브라우저 UI를 이용하여 수신 중인 서비스의 로그 정보를 서비스 제공 서버(3000)로부터 수신하거나 디바이스(1000) 내에 저장된 서비스의 로그 정보를 추출하고, 브라우저 UI를 통하여 이용 중인 서비스 데이터 및 애플리케이션을 통하여 이용될 서비스 데이터를 로그 정보를 이용하여 동기화할 수 있다. 예를 들어, 디바이스(1000)는 서비스 제공 서버(3000)로부터 수신된 서비스 로그 정보를 디바이스(1000)에 설치된 애플리케이션이 이용하게 함으로써, 서비스 제공 서버(3000)로부터 수신된 서비스 로그 정보와 디바이스(1000)에 설치된 애플리케이션의 서비스 로그 정보를 동기화할 수 있다. 또한, 예를 들어, 디바이스(1000)는 디바이스(1000) 내에 저장되어 있는 서비스 로그 정보를 디바이스(1000)에 설치된 애플리케이션이 이용하게 함으로써, 디바이스(1000) 내에 저장되어 있는 서비스 로그 정보와 디바이스(1000)에 설치된 애플리케이션의 서비스 로그 정보를 동기화할 수 있다. 그러나, 이에 제한되지 않는다.
한편, 도 2에서는 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)가 별개의 서버인 것으로 설명하였지만, 이에 제한되지 않는다. 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)는 하나의 통합 서버(4000)로 운영될 수 있으며, 이 경우, 통합 서버(4000)는 도 2에 도시된 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)의 일부 또는 전부의 동작을 수행할 수 있다.
도 3은 일부 실시예에 따른 서비스 제공 서버(3000)에 저장된 로그 정보를 이용하여 디바이스(1000)에게 서비스 제공 서버(3000)의 서비스를 제공하는 방법의 흐름도이다.
단계 S300에서 디바이스(1000)는 애플리케이션 제공 서버(2000)에게 애플리케이션 및 브라우저 UI를 요청할 수 있다. 디바이스(1000)는 애플리케이션 제공 서버(2000)의 애플리케이션 마켓에 접속하고, 서비스 제공 서버(3000)의 애플리케이션 및 브라우저 UI를 애플리케이션 제공 서버(2000)에게 요청할 수 있다. 애플리케이션 마켓은, 예를 들어, Galaxy Apps, Google Play, 및 App Store를 포함할 수 있으나, 이에 제한되지 않는다. 디바이스(1000)는 애플리케이션의 설치 또는 업데이트를 위한 파일을 애플리케이션 제공 서버(2000)에게 요청할 수 있다. 또한, 디바이스(1000)는 사용자 입력에 기초하여, 브라우저 UI를 애플리케이션 제공 서버(2000)에게 요청할 지를 결정할 수 있다.
단계 S305에서 애플리케이션 제공 서버(2000)는 요청된 애플리케이션의 설치 파일 및 브라우저 UI를 추출할 수 있다. 애플리케이션 제공 서버(2000)는 디바이스(1000)로부터의 요청에 응답하여, 애플리케이션 제공 서버(2000)의 DB에 등록된 애플리케이션의 설치 파일 및 브라우저 UI를 추출할 수 있다. 애플리케이션 제공 서버(2000)는 디바이스(1000)에 설치된 브라우저의 종류를 식별하고, 디바이스(1000)에 설치된 브라우저에 호환되는 브라우저 UI를 추출할 수 있다. 이 경우, 브라우저의 종류 별로, 브라우저 UI가 애플리케이션 제공 서버(2000)에 미리 등록되어 있을 수 있다. 또한, 브라우저 UI는 서비스 제공 서버(3000)의 서비스를 이용하기 위한 애플리케이션의 UI을 분석함으로써, 애플리케이션 제공 서버(2000)에 의해 자동적으로 생성될 수 있다.
또한, 브라우저 UI는 미리 생성되어 애플리케이션 제공 서버(2000) 내에 저장될 수 있으나, 이에 제한되지 않는다. 애플리케이션 제공 서버(2000)는 디바이스(1000)로부터의 요청을 수신한 후에, 브라우저 UI를 생성할 수도 있다.
단계 S310에서 애플리케이션 제공 서버(2000)는 브라우저 UI를 디바이스(1000)에게 제공하고, 단계 S315에서 애플리케이션 제공 서버(2000)는 애플리케이션의 설치 파일을 디바이스(1000)에게 제공할 수 있다. 애플리케이션 제공 서버(2000)는 브라우저 UI 및 애플리케이션의 설치 파일을 디바이스(1000)에게 함께 제공할 수 있다.
단계 S320에서 디바이스(1000)는 디바이스(1000) 내의 브라우저를 통하여 브라우저 UI를 디스플레이할 수 있다. 디바이스(1000)는 애플리케이션 제공 서버(2000)에게 브라우저 UI를 요청하면서, 브라우저를 실행할 수 있다. 디바이스(1000)는 애플리케이션 제공 서버(2000)로부터 수신된 브라우저 UI를, 실행된 브라우저를 통하여 디바이스(1000)의 화면 상에 디스플레이할 수 있다.
단계 S325에서 디바이스(1000)는 브라우저 UI를 통하여 서비스 제공 서버(3000)에게 서비스를 요청할 수 있다. 디바이스(1000)는, 디바이스(1000)의 화면 상에 디스플레이된 브라우저 UI를 통한 사용자 입력을 수신하고, 서비스 제공 서버(3000)에게 서비스를 요청할 수 있다.
단계 S330에서 서비스 제공 서버(3000)는 서비스 제공을 위한 애플리케이션을 실행할 수 있다. 서비스 제공 서버(3000)는 디바이스(1000)로부터의 서비스 제공 요청에 응답하여, 디바이스(1000)에 디스플레이된 브라우저 UI에 대응되는 애플리케이션을 실행할 수 있다. 이 경우, 애플리케이션은 서비스 제공 서버(3000)에 미리 저장되어 있을 수 있다. 한편, 단계 S330에서 서비스 제공 서버(3000)가 서비스 제공을 위한 애플리케이션을 실행하는 것으로 설명하였지만, 이에 제한되지 않으며, 서비스 제공 서버(3000)는 서비스 제공을 위한 다양한 종류의 소프트웨어 프로그램을 실행할 수 있다.
단계 S335에서 서비스 제공 서버(3000)는 디바이스(1000)에게 서비스를 제공할 수 있다. 서비스 제공 서버(3000)는 서비스 제공 서버(3000)에서 실행된 애플리케이션을 통하여 서비스를 디바이스(1000)에게 제공할 수 있다.
예를 들어, 서비스 제공 서버(3000)가 게임 서비스를 제공하는 경우에, 디바이스(1000)의 사용자는 브라우저 UI를 통해 게임을 조작할 수 있으며, 서비스 제공 서버(3000)로부터 제공되는 웹 기반의 게임 서비스를 이용할 수 있게 된다. 디바이스(1000)는 브라우저 UI를 통한 사용자 입력을 서비스 제공 서버(3000)에게 제공하고, 서비스 제공 서버(3000)가 제공된 사용자 입력에 따라 게임 서비스를 위한 애플리케이션을 실행할 수 있으며, 애플리케이션의 실행 결과를 디바이스(1000)에게 제공할 수 있다.
단계 S340에서 서비스 제공 서버(3000)는 제공 중인 서비스의 로그 정보를 저장할 수 있다. 서비스의 로그 정보는 서비스를 이용하는 사용자의 서비스 이용 내역을 나타내는 정보일 수 있다. 서비스의 로그 정보는 서비스를 이용하기 위한 애플리케이션의 실행에 의해 발생되는 이벤트 정보를 포함할 수 있다. 예를 들어, 서비스가 게임 서비스인 경우에, 로그 정보는 게임 캐릭터의 현재 상태, 게임의 진행 상황 등에 관한 정보를 포함할 수 있다. 또한, 예를 들어, 서비스가 채팅 서비스인 경우에, 로그 정보는 사용자 간의 대화 내용, 사용자 간에 송수신된 콘텐트 등에 관한 정보를 포함할 수 있다. 또한, 예를 들어, 서비스가 검색 서비스인 경우에, 로그 정보는 사용자의 검색 이력에 관한 정보를 포함할 수 있다.
단계 S345에서 디바이스(1000)는 애플리케이션의 설치 파일의 수신을 완료할 수 있다. 디바이스(1000)는 브라우저 UI를 통하여 서비스 제공 서버(3000)의 서비스를 수신하는 도중에, 애플리케이션의 설치 파일을 백그라운드에서 수신할 수 있으며 애플리케이션의 설치 파일의 수신을 완료할 수 있다. 디바이스(1000)는 브라우저 UI를 통하여 서비스 제공 서버(3000)의 서비스를 이용하는 도중에, 디바이스(1000)의 리소스 점유율에 따라, 서비스 제공 서버(3000)의 서비스를 이용에 방해가 되지 않도록 애플리케이션 설치 파일의 수신을 조절할 수 있다. 리소스 점유율은, 예를 들어, 서비스 제공 서버(3000)의 서비스 이용을 위한 CPU 점유율, 메모리 점유율 및 네트워크 점유율 중 적어도 하나에 의해 결정될 수 있다.
단계 S350에서 디바이스(1000)는 애플리케이션을 설치하고 실행할 수 있다. 디바이스(1000)는 브라우저 UI를 통하여 서비스 제공 서버(3000)의 서비스를 이용하는 도중에, 디바이스(1000)의 리소스 이용 상황에 따라, 서비스 제공 서버(3000)의 서비스를 이용에 방해가 되지 않도록 애플리케이션 설치 파일의 설치하고 실행할 수 있다.
디바이스(1000)는 애플리케이션의 설치가 완료됨에 따라, 디바이스(1000) 내의 미들웨어에 애플리케이션의 설치 완료 이벤트를 등록할 수 있으며, 미들웨어는 서비스의 이용 주체를 디바이스(1000)로 변경하고 설치된 애플리케이션을 실행할 수 있다.
단계 S355에서 디바이스(1000)는 서비스 제공 서버(3000)에게 서비스의 이전을 요청할 수 있다. 디바이스(1000)는 브라우저 UI를 통하여 제공받던 서비스를, 디바이스(1000)에 설치된 애플리케이션을 통하여 계속하여 제공받기 위하여, 서비스 제공 서버(3000)에게 서비스의 이전을 요청할 수 있다. 또한, 디바이스(1000)는 디바이스(1000)의 서비스 이용 상황에 따라, 서비스가 심리스하게 이전될 수 있도록, 서비스의 이전을 요청할 시점을 결정할 수 있다. 예를 들어, 디바이스(1000)가 게임 서비스를 이용하는 경우에, 게임의 특정 스테이지가 종료될 때에 디바이스(1000)는 게임 서비스의 이전을 서비스 제공 서버(3000)에게 요청할 수 있다.
단계 S360에서 서비스 제공 서버(3000)는 제공 중인 서비스의 로그 정보를 디바이스(1000)에게 제공할 수 있다. 서비스 제공 서버(3000)는 서비스 이전 요청을 수신한 때까지의 로그 정보를 디바이스(1000)에게 제공할 수 있다.
단계 S365에서 디바이스(1000)는 브라우저를 통한 브라우저 UI의 디스플레이를 종료할 수 있다. 디바이스(1000)는 서비스 제공 서버(3000)로부터 로그 정보를 수신함에 따라, 브라우저 UI를 이용하고 있는 브라우저의 실행을 종료할 수 있다.
단계 S370에서 서비스 제공 서버(3000)는 서비스 제공 서버(3000)에서 실행 중인 애플리케이션을 종료할 수 있다. 서비스 제공 서버(3000)는 서비스 제공 서버(3000)에서 실행 중인 애플리케이션의 기능들 중 일부 또는 전부를 종료할 수 있다. 예를 들어, 서비스 제공 서버(3000)는 서비스 제공 서버(3000)에서 실행 중인 애플리케이션의 기능들 중에서, 디바이스(1000)에서 실행된 애플리케이션에 의해 수행되는 기능을 종료할 수 있다.
단계 S375에서 디바이스(1000)는 디바이스(1000)에서 실행된 애플리케이션을 통하여 서비스를 계속하여 이용할 수 있다. 디바이스(1000)는 서비스 제공 서버(3000)로부터 수신된 로그 정보를 이용하여, 브라우저 UI를 통해 제공받던 서비스를 디바이스(1000)에서 실행된 애플리케이션을 통하여 계속하여 이용할 수 있다. 예를 들어, 서비스 제공 서버(3000)의 서비스가 게임 서비스인 경우에, 디바이스(1000)는, 서비스 제공 서버(3000)로부터 수신된 로그 정보를 이용하여, 브라우저 UI를 통해 이용하던 게임 서비스가 어느 스테이지에서 중단되었는지, 게임 캐릭터의 상태는 어떤지를 식별할 수 있다. 또한, 디바이스(1000)는, 식별된 게임 캐릭터의 상태를 식별된 스테이지부터 적용하여 게임 서비스를 계속하여 제공받을 수 있다. 또한, 이에 따라, 서비스 제공 서버(3000)의 서비스를 위한 애플리케이션의 실행 주체가 서비스 제공 서버(3000)로부터 디바이스(1000)로 변경될 수 있다. 디바이스(1000)는 브라우저 UI의 디스플레이를 종료하고, 디스플레이의 종료 시점까지의 서비스 로그 정보를 디바이스(1000)에서 실행된 애플리케이션을 통해 수신될 서비스에 적용할 수 있다.
한편, 도 3에서는 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)가 별개의 서버인 것으로 설명하였지만, 이에 제한되지 않는다. 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)는 하나의 통합 서버(4000)로 운영될 수 있으며, 이 경우, 통합 서버(4000)는 도 3에 도시된 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)의 일부 또는 전부의 동작을 수행할 수 있다.
도 4는 일부 실시예에 따른 디바이스(1000)에 저장된 로그 정보를 이용하여 디바이스(1000)에게 서비스 제공 서버(3000)의 서비스를 제공하는 방법의 흐름도이다.
도 4의 단계 S400 내지 단계 S435는 도 3의 단계 S300 내지 단계 S335에 대응되므로, 이에 대한 설명은 생략하기로 한다.
단계 S440에서 디바이스(1000)는 수신 중인 서비스의 로그 정보를 저장할 수 있다. 디바이스(1000)는 서비스의 로그 정보를 서비스 제공 서버(3000)로부터 실시간으로 또는 주기적으로 수신하고 저장할 수 있다. 예를 들어, 서비스가 게임 서비스인 경우에, 로그 정보는 게임 캐릭터의 현재 상태, 게임의 진행 상황 등에 관한 정보를 포함할 수 있다. 또한, 예를 들어, 서비스가 채팅 서비스인 경우에, 로그 정보는 사용자 간의 대화 내용, 사용자 간에 송수신된 콘텐트 등에 관한 정보를 포함할 수 있다. 또한, 예를 들어, 서비스가 검색 서비스인 경우에, 로그 정보는 사용자의 검색 이력에 관한 정보를 포함할 수 있다.
단계 S445에서 디바이스(1000)는 브라우저 UI를 통하여 서비스를 수신하는 도중에, 애플리케이션의 설치 파일의 수신을 완료할 수 있으며, 단계 S450에서 디바이스(1000)는 브라우저 UI를 통하여 서비스를 수신하는 도중에, 애플리케이션을 설치하고 실행할 수 있다.
단계 S455에서 디바이스(1000)는 서비스 제공 서버(3000)에게 서비스의 이전을 요청할 수 있으며, 단계 S460에서 디바이스(1000)는 브라우저를 통한 브라우저 UI의 디스플레이를 종료할 수 있다. 또한, 단계 S465에서 서비스 제공 서버(3000)는 서비스 제공 서버(3000)에서 실행 중인 애플리케이션을 종료할 수 있다. 서비스 제공 서버(3000)는 서비스 제공 서버(3000)에서 실행 중인 애플리케이션의 기능들 중 일부 또는 전부를 종료할 수 있다. 예를 들어, 서비스 제공 서버(3000)는 서비스 제공 서버(3000)에서 실행 중인 애플리케이션의 기능들 중에서, 디바이스(1000)에서 실행된 애플리케이션에 의해 수행되는 기능을 종료할 수 있다.
단계 S470에서 디바이스(1000)는 디바이스(1000)에서 실행된 애플리케이션을 통하여 서비스를 계속하여 이용할 수 있다. 디바이스(1000)는 디바이스(1000) 내에 저장되어 있는 로그 정보를 이용하여, 브라우저 UI를 통해 제공받던 서비스를 디바이스(1000)에서 실행된 애플리케이션을 통하여 계속하여 이용할 수 있다.
한편, 도 4에서는 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)가 별개의 서버인 것으로 설명하였지만, 이에 제한되지 않는다. 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)는 하나의 통합 서버(4000)로 운영될 수 있으며, 이 경우, 통합 서버(4000)는 도 4에 도시된 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)의 일부 또는 전부의 동작을 수행할 수 있다.
도 5는 일부 실시예에 따른 디바이스(1000)가 서비스 제공 서버(3000)의 서비스를 위한 애플리케이션의 실행 주체를 변경하는 방법의 흐름도이다.
단계 S500에서 디바이스(1000)는 애플리케이션의 설치가 완료되었는지를 판단할 수 있다. 디바이스(1000)는 브라우저 UI를 통하여 서비스 제공 서버(3000)로부터 서비스를 제공받는 도중에, 디바이스(1000)의 백그라운드에서 애플리케이션 제공 서버(2000)로부터 애플리케이션의 설치 파일을 다운로드하고 설치할 수 있다. 또한, 디바이스(1000)는 디바이스(1000)의 리소스 점유율에 따라 애플리케이션의 다운로드 및 설치를 조절할 수 있다.
단계 S500에서의 판단 결과, 애플리케이션의 설치가 완료되었다고 판단되면, 단계 S510에서 디바이스(1000)는 브라우저 UI를 통한 서비스의 이용 상황을 확인할 수 있다. 예를 들어, 서비스가 게임 서비스인 경우에, 디바이스(1000)는 게임의 진행 상황을 확인할 수 있다. 또한, 예를 들어, 서비스가 채팅 서비스인 경우에, 디바이스(1000)는 사용자 간에 메시지 또는 콘텐트가 송수신 중인지를 확인할 수 있다. 또한, 예를 들어, 서비스가 검색 서비스인 경우에, 디바이스(1000)는 검색을 위한 사용자 입력이 수신 중인지 또는 검색이 진행 중인지를 확인할 수 있다.
단계 S520에서 디바이스(1000)는 서비스 제공 서버(3000)의 서비스를 디바이스(1000)에 설치된 애플리케이션을 통하여 수신할 것인지를 판단할 수 있다. 디바이스(1000)는 서비스 이용 상황이 기설정된 상황인지를 판단함으로써, 브라우저 UI를 통하여 수신하고 있는 서비스를 디바이스(1000)에 설치된 애플리케이션을 통하여 수신할 지를 결정할 수 있다. 예를 들어, 서비스가 게임 서비스인 경우에, 디바이스(1000)는 게임의 특정 스테이지가 종료되었다고 판단되면, 게임 서비스를 디바이스(1000)에 설치된 애플리케이션을 통하여 수신할 것을 결정할 수 있다. 또한, 예를 들어, 서비스가 채팅 서비스인 경우에, 디바이스(1000)는 사용자 간에 메시지 또는 콘텐트의 송수신이 완료되었다고 판단되면, 채팅 서비스를 디바이스(1000)에 설치된 애플리케이션을 통하여 수신할 것을 결정할 수 있다. 또한, 예를 들어, 서비스가 검색 서비스인 경우에, 디바이스(1000)는 검색을 위한 사용자의 키워드 입력이 완료되었는지 또는 키워드에 기초한 검색이 완료되었다고 판단되면, 검색 서비스를 디바이스(1000)에 설치된 애플리케이션을 통하여 수신할 것을 결정할 수 있다. 또한, 예를 들어, 디바이스(1000)는 화면 상에 디스플레이된 브라우저 UI의 페이지가 다른 페이지로 전환될 시점에, 브라우저 UI를 통하여 수신하던 서비스를 디바이스(1000)에 설치된 애플리케이션을 통하여 수신할 것을 결정할 수 있다.
단계 S530에서 디바이스(1000)는 서비스 제공 서버(3000)로부터 이용 중인 서비스의 로그 정보를 수신할 수 있다. 또한, 디바이스(1000)는 디바이스(1000) 내에 이용 중인 서비스의 로그 정보를 저장할 수 있다. 예를 들어, 서비스가 게임 서비스인 경우에, 로그 정보는 게임 캐릭터의 현재 상태, 게임의 진행 상황 등에 관한 정보를 포함할 수 있다. 또한, 예를 들어, 서비스가 채팅 서비스인 경우에, 로그 정보는 사용자 간의 대화 내용, 사용자 간에 송수신된 콘텐트 등에 관한 정보를 포함할 수 있다. 또한, 예를 들어, 서비스가 검색 서비스인 경우에, 로그 정보는 사용자의 검색 이력에 관한 정보를 포함할 수 있다.
단계 S540에서 디바이스(1000)는 설치된 애플리케이션을 실행할 수 있으며, 단계 S550에서 디바이스(1000)는 브라우저 UI의 디스플레이를 종료할 수 있다. 디바이스(1000)는 브라우저 UI를 디스플레이하는 브라우저의 실행을 종료함으로써, 디바이스(1000)는 브라우저 UI의 디스플레이를 종료할 수 있다.
단계 S560에서 디바이스(1000)는 브라우저 UI를 통해 이용된 서비스 데이터와 애플리케이션을 통해 이용될 서비스 데이터를 동기화할 수 있다. 디바이스(1000)는 서비스의 로그 정보를 이용하여, 브라우저 UI의 디스플레이가 종료된 때의 서비스 데이터를 애플리케이션을 통해 이용될 서비스 데이터와 동기화할 수 있다. 디바이스(1000)는 브라우저 UI의 디스플레이를 종료하고, 디스플레이의 종료 시점까지의 서비스 로그 정보를 디바이스(1000)에서 실행된 애플리케이션을 통해 수신될 서비스에 적용할 수 있다. 이에 따라, 사용자는 브라우저 UI를 통하여 이용하던 서비스를 디바이스(1000)에 설치된 애플리케이션을 통하여 연속적으로 이용할 수 있다.
한편, 도 5에서는 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)가 별개의 서버인 것으로 설명하였지만, 이에 제한되지 않는다. 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)는 하나의 통합 서버(4000)로 운영될 수 있으며, 이 경우, 디바이스(1000)는 통합 서버(4000)와 통신함으로써, 도 5의 일부 또는 전부의 동작을 수행할 수 있다.
도 6은 일부 실시예에 따른 디바이스(1000)가 애플리케이션 제공 서버(2000) 또는 통합 서버(4000)로부터 브라우저 UI를 수신하는 예시를 나타내는 도면이다.
도 6(a)를 참조하면, 디바이스(1000)는 애플리케이션 제공 서버(2000) 또는 통합 서버(4000)의 앱 마켓에 접속할 수 있다. 디바이스(1000)는 앱 마켓에서 채팅 애플리케이션인 챗온(ChatOn) 애플리케이션을 검색하고, 챗온 애플리케이션을 디바이스(1000)에 설치하기 위하여 버튼(60)을 선택할 수 있다.
또한, 도 6(b)를 참조하면, 버튼(60)이 선택됨에 따라, 디바이스(1000)의 화면 상에는 챗온 애플리케이션의 브라우저 UI를 수신할 것인지를 선택하기 위한 메뉴 창(62)이 디스플레이될 수 있다. 이 경우, 애플리케이션 제공 서버(2000) 또는 통합 서버(4000)는 챗온 애플리케이션의 브라우저 UI가 애플리케이션 제공 서버(2000) 또는 통합 서버(4000)에 등록되었는지를 판단하고, 브라우저 UI가 애플리케이션 제공 서버(2000) 또는 통합 서버(4000)에 등록된 경우에, 메뉴 창(62)이 디바이스(1000)의 화면 상에 디스플레이되도록 할 수 있다. 또한, 디바이스(1000)의 사용자는 챗온 애플리케이션의 브라우저 UI를 제공받기 위하여, 메뉴 창(62) 내의 “YES” 버튼을 선택할 수 있다. 디바이스(1000)에서 “YES” 버튼이 선택됨에 따라, 애플리케이션 제공 서버(2000) 또는 통합 서버(4000)는 디바이스(1000) 내의 브라우저에 호환되는 브라우저 UI를 디바이스(1000)에게 제공할 수 있다.
또한, 애플리케이션 제공 서버(2000) 또는 통합 서버(4000)는 챗온 애플리케이션의 설치 파일을 디바이스(1000)에 제공할 수 있으며, 디바이스(1000)는 백그라운드에서 챗온 애플리케이션을 다운로드할 수 있다.
도 7은 일부 실시예에 따른 디바이스(1000)가 브라우저 UI를 화면 상에 디스플레이하는 예시를 나타내는 도면이다.
도 7을 참조하면, 도 6(b)에서 “YES” 버튼이 선택됨에 따라, 디바이스(1000)는 디바이스(1000) 내의 웹 브라우저를 실행하고, 디바이스(1000)는 챗온 애플리케이션의 브라우저 UI를 수신할 수 있다. 디바이스(1000)는 챗온 애플리케이션의 브라우저 UI를 수신하기 위한 주소를 웹 브라우저의 입력창(70)에 입력하고, 애플리케이션 제공 서버(2000) 또는 통합 서버(4000)로부터 챗온 애플리케이션의 브라우저 UI를 수신할 수 있다. 또한, 디바이스(1000)는 실행된 웹 브라우저를 통하여 챗온 애플리케이션의 브라우저 UI를 디바이스(1000)의 화면 상에 디스플레이할 수 있다.
이후, 사용자는 디바이스(1000)의 화면 상에 디스플레이된 브라우저 UI를 통하여 다른 사용자와 채팅을 수행할 수 있다. 챗온 애플리케이션의 브라우저 UI는 챗온 애플리케이션의 UI와 동일 또는 상이할 수 있다.
도 8은 일부 실시예에 따른 디바이스(1000)가 브라우저 UI를 통하여 채팅 서비스를 이용하는 도중에, 챗온 애플리케이션의 설치가 완료되었음을 알리는 일례를 나타내는 도면이다.
도 8을 참조하면, 디바이스(1000)가 브라우저 UI를 통하여 채팅 서비스를 이용하는 도중에, 디바이스(1000)는 백그라운드에서 챗온 애플리케이션을 다운로드하고 설치할 수 있다. 또한, 챗온 애플리케이션의 설치가 완료됨에 따라, 디바이스(1000)는 챗온 애플리케이션의 설치가 완료됨을 알리고 설치된 챗온 애플리케이션을 통하여 채팅 서비스를 계속하여 이용할 것인지를 선택하기 위한 창(80)을 디바이스(1000)의 화면 상에 디스플레이할 수 있다. 창(80)에는, 예를 들어, “챗온 애플리케이션의 설치가 완료되었습니다. 챗온 애플리케이션을 통하여 현재 이용 중인 서비스를 계속하여 이용하시겠습니까?”라는 텍스트가 디스플레이될 수 있다.
또한, 디바이스(1000)는 창(80) 내의 “YES” 버튼을 선택하는 사용자 입력을 수신하고, 디바이스(1000)에 설치된 챗온 애플리케이션을 실행할 수 있다.
도 9는 일부 실시예에 따른 디바이스(1000)가 브라우저 UI를 통하여 이용하던 채팅 서비스를, 디바이스(1000)에 설치된 챗온 애플리케이션을 통하여 계속하여 이용하는 일례를 나타내는 도면이다.
도 9(a)를 참조하면, 디바이스(1000)는 브라우저 UI를 통하여 채팅 서비스를 이용할 수 있으며, 디바이스(1000)는 브라우저 UI를 통하여 다른 디바이스(미도시)에게 콘텐트를 전송할 수 있다.
또한, 디바이스(1000)는 콘텐트의 전송이 완료되었는지를 판단함으로써, 설치된 챗온 애플리케이션을 통하여 현재 이용 중인 채팅 서비스를 계속하여 이용하기 위한 시점을 결정할 수 있다. 디바이스(1000)는 콘텐트의 전송이 완료될 때까지 브라우저 UI를 통하여 채팅 서비스를 이용하다가, 콘텐트의 전송이 완료되면, 도 9(b)에서와 같이, 현재 이용 중인 채팅 서비스를 챗온 애플리케이션을 통하여 이용할 수 있다.
이 경우, 디바이스(1000)는 브라우저 UI를 통하여 다른 디바이스(미도시)와 송수신한 텍스트 및 콘텐트에 관한 서비스 데이터를, 디바이스(1000)에 의해 이용될 챗온 애플리케이션의 서비스 데이터와 동기화함으로써, 챗온 애플리케이션을 통하여 현재 이용 중인 채팅 서비스를 계속하기 이용할 수 있다. 디바이스(1000)는 브라우저 UI를 통하여 다른 디바이스(미도시)와 송수신한 텍스트 및 콘텐트에 관한 서비스 데이터를 챗온 애플리케이션에 그대로 적용할 수 있다.
이에 따라, 디바이스(1000)와 다른 디바이스(1000) 간에 송수신된 메시지 및 콘텐트가, 브라우저 UI에 표시되었던 메시지 및 콘텐트와 동일하게, 챗온 애플리케이션의 실행 화면 상에 디스플레이될 수 있다.
도 10은 일부 실시예에 따른 디바이스(1000)가 브라우저 UI를 통하여 이용하던 게임 서비스를, 디바이스(1000)에 설치된 게임 애플리케이션을 통하여 계속하여 이용하는 일례를 나타내는 도면이다.
도 10(a)를 참조하면, 디바이스(1000)는 브라우저 UI를 통하여 슈팅 게임의 스테이지 #1에서 게임 서비스를 이용할 수 있다.
또한, 디바이스(1000)는 스테이지 #1이 종료되었는지를 판단함으로써, 설치된 게임 애플리케이션을 통하여 현재 이용 중인 게임 서비스를 계속하여 이용하기 위한 시점을 결정할 수 있다. 디바이스(1000)는 스테이지 #1이 종료될 때 까지 브라우저 UI를 통하여 게임 서비스를 이용하다가, 스테이지 #1이 종료되면, 도 10(b)에서와 같이, 현재 이용 중인 게임 서비스를 게임 애플리케이션을 통하여 이용할 수 있다.
이 경우, 디바이스(1000)는 스테이지 #1이 종료할 때까지 저장된 게임 서비스의 서비스 데이터를, 게임 애플리케이션의 서비스 데이터와 동기화함으로써, 게임 애플리케이션을 통하여 현재 이용 중인 게임 서비스를 계속하기 이용할 수 있다. 디바이스(1000)는 스테이지 #1이 종료할 때까지 저장된 게임 서비스의 서비스 데이터를, 게임 애플리케이션에 그대로 적용할 수 있다. 이에 따라, 스테이지 #1까지 진행된 게임에서의 캐릭터의 상태, 게임의 점수 등이, 게임 애플리케이션을 통해 이용되는 게임 서비스에 적용될 수 있다.
도 11은 일부 실시예에 따른 서비스 제공 서버(3000)가 애플리케이션 제공 서버(2000)에 애플리케이션 및 애플리케이션의 브라우저 UI를 등록하는 방법의 흐름도이다.
단계 S1100에서 서비스 제공 서버(3000)는 애플리케이션 등록을 위한 UI를 애플리케이션 제공 서버(2000)에게 요청할 수 있으며, 단계 S1110에서 애플리케이션 제공 서버(2000)는 서비스 제공 서버(3000)에게 애플리케이션 등록을 위한 UI를 제공할 수 있다. 애플리케이션 등록을 위한 UI는 애플리케이션의 설치 파일을 등록하기 위한 페이지 및 브라우저 UI를 등록하기 위한 페이지를 별개로 포함할 수 있다.
단계 S1120에서 서비스 제공 서버(3000)는 애플리케이션 등록을 위한 UI를 디스플레이할 수 있다. 서비스 제공 서버(3000)는, 애플리케이션 등록을 위한 UI를 통하여 서비스 제공 서버(3000)의 애플리케이션 및 애플리케이션의 브라우저 UI를 애플리케이션 제공 서버(2000)에 등록하기 위한 사용자 입력을 수신할 수 있다.
단계 S1130에서 서비스 제공 서버(3000)는 애플리케이션의 설치 파일을 애플리케이션 제공 서버(2000)에게 제공할 수 있다. 단계 S1130에서 서비스 제공 서버(3000)는 디스플레이된 UI의 애플리케이션의 설치 파일을 등록하기 위한 페이지에서 애플리케이션의 설치 파일을 등록하기 위한 사용자 입력이 수신됨에 따라, 서비스 제공 서버(3000)는 애플리케이션 설치 파일을 애플리케이션 제공 서버(2000)에게 제공할 수 있다.
단계 S1140에서 애플리케이션 제공 서버(2000)는 애플리케이션의 설치 파일을 등록할 수 있다.
단계 S1150에서 서비스 제공 서버(3000)는 애플리케이션의 브라우저 UI의 등록을 애플리케이션 제공 서버(2000)에게 요청할 수 있다. 서비스 제공 서버(3000)는 디스플레이된 UI의 애플리케이션의 브라우저 UI를 등록하기 위한 페이지에서 브라우저 UI를 등록하기 위한 사용자 입력이 수신됨에 따라, 애플리케이션의 브라우저 UI의 등록을 애플리케이션 제공 서버(2000)에게 요청할 수 있다.
단계 S1160에서 애플리케이션 제공 서버(2000)는 애플리케이션의 UI로부터 브라우저 UI를 생성할 수 있다. 애플리케이션 제공 서버(2000)는 애플리케이션의 설치 파일로부터 애플리케이션 UI를 분석할 수 있으며, 애플리케이션 UI를 이용하여 브라우저 UI를 생성할 수 있다.
단계 S1170에서 애플리케이션 제공 서버(2000)는 브라우저 UI를 수정할 수 있다. 서비스 제공 서버(3000)는 생성된 브라우저 UI를 수정하기 위한 페이지를 디스플레이할 수 있으며, 디스플레이된 페이지를 통한 사용자 입력에 따라 브라우저 UI를 수정하기 위한 명령을 애플리케이션 제공 서버(2000)에게 제공할 수 있다. 또한, 애플리케이션 제공 서버(2000)는 수신된 명령에 따라 브라우저 UI를 수정할 수 있다.
단계 S1180에서 애플리케이션 제공 서버(2000)는 생성 또는 수정된 브라우저 UI를 등록할 수 있다. 애플리케이션 제공 서버(2000)는 생성 또는 수정된 브라우저 UI를 애플리케이션의 설치 파일과 연관하여 등록하고 저장할 수 있다.
도 12 및 도 13은 일부 실시예에 따른 서비스 제공 서버(3000)에게 제공되는 애플리케이션 등록을 위한 UI의 일례를 나타내는 도면이다.
도 12(a)를 참조하면, 서비스 제공 서버(3000)는 애플리케이션 등록을 위한 UI를 서비스 제공 서버(3000) 내의 디스플레이 장치(미도시)의 화면 상에 디스플레이할 수 있으며, 애플리케이션 등록을 위한 UI 내에는 애플리케이션 등록을 선택하기 위한 버튼(120)이 포함될 있다. 또한, 사용자가 버튼(120)을 선택하면, 도 12(b)에서와 같이, 애플리케이션 등록을 위한 UI 내에는 등록될 애플리케이션의 세부 정보를 입력하기 위한 메뉴가 디스플레이될 수 있다.
또한, 등록될 애플리케이션의 세부 정보를 입력하기 위한 메뉴는 애플리케이션의 제목을 입력하기 위한 필드(121), 애플리케이션이 지원하는 언어를 입력하기 위한 필드(122), 애플리케이션의 가격을 입력하기 위한 필드(123), 브라우저 UI를 등록하기 위한 필드(124) 및 애플리케이션의 설치 파일을 업로드하기 위한 필드(125)를 포함할 수 있다.
서비스 제공 서버(3000)의 사용자는, 애플리케이션의 제목을 입력하기 위한 필드(121)를 선택하고 애플리케이션의 제목을 입력할 수 있으며, 애플리케이션이 지원하는 언어를 입력하기 위한 필드(122)를 선택하고 애플리케이션의 지원 언어를 입력할 수 있으며, 애플리케이션의 가격을 입력하기 위한 필드(123)를 선택하고 애플리케이션의 가격을 입력할 수 있다.
또한, 서비스 제공 서버(3000)의 사용자가 브라우저 UI를 등록하기 위한 필드(124)를 선택하면, 후술할 도 14의 UI가 서비스 제공 서버(3000) 내의 디스플레이 장치(미도시)의 화면 상에 디스플레이될 수 있다.
또한, 서비스 제공 서버(3000)의 사용자는 애플리케이션의 설치 파일을 업로드하기 위한 필드(125)를 선택하고 애플리케이션의 설치 파일을 선택할 수 있으며, 이에 따라, 서비스 제공 서버(3000)는 애플리케이션 설치 파일을 애플리케이션 제공 서버(2000)로 전송할 수 있다.
한편, 도 12(b)에서 사용자가 페이지를 넘기는 입력을 하면, 도 13에서와 같이, 등록될 애플리케이션의 세부 정보를 입력하기 위한 다른 메뉴가 디스플레이될 수 있다.
등록될 애플리케이션의 세부 정보를 입력하기 위한 다른 메뉴는, 애플리케이션에 관한 설명을 입력하기 위한 필드(130), 애플리케이션의 버전 별 기능을 설명하기 위한 필드(131), 애플리케이션의 실행 화면의 캡쳐 이미지를 입력하기 위한 필드(132), 애플리케이션의 출시 국가를 입력하기 위한 필드(133) 및 애플리케이션의 타입을 입력하기 위한 필드(134)를 포함할 수 있다.
또한, 서비스 제공 서버(3000)의 사용자는, 애플리케이션에 관한 설명을 입력하기 위한 필드(130)를 선택하고 애플리케이션에 관한 설명을 입력할 수 있고, 애플리케이션의 버전 별 기능을 설명하기 위한 필드(131)를 선택하고, 애플리케이션의 버전 별 기능에 관한 설명을 입력할 수 있다. 또한, 서비스 제공 서버(3000)의 사용자는, 애플리케이션의 실행 화면의 캡쳐 이미지를 입력하기 위한 필드(132)를 선택하고 애플리케이션의 실행 화면을 캡쳐한 이미지를 애플리케이션 제공 서버(2000)에 업로드할 수 있으며, 애플리케이션의 출시 국가를 입력하기 위한 필드(133)를 선택하고 애플리케이션의 출시 국가를 입력할 수 있다. 또한, 서비스 제공 서버(3000)의 사용자는, 애플리케이션의 타입을 입력하기 위한 필드(134)를 선택하고 애플리케이션의 타입을 입력할 수 있다. 애플리케이션의 타입은, 예를 들어, 게임, 교육, SNS 등을 포함할 수 있다.
도 14는 일부 실시예에 따른 애플리케이션의 브라우저 UI를 등록하기 위한 메뉴의 예시를 나타내는 도면이다.
도 12(b)에서 서비스 제공 서버(3000)의 사용자가 브라우저 UI를 등록하기 위한 필드(124)를 선택하면, 도 14에 도시된 바와 같이, 애플리케이션의 브라우저 UI를 등록하기 위한 메뉴가 서비스 제공 서버(3000) 내의 디스플레이 장치(미도시)의 화면 상에 디스플레이될 수 있다.
애플리케이션의 브라우저 UI를 등록하기 위한 메뉴는 브라우저 UI 자동 생성 필드(140) 및 브라우저 UI 수정 필드(142)를 포함할 수 있다. 서비스 제공 서버(3000)의 사용자가 브라우저 UI 자동 생성 필드(140)을 선택하면, 서비스 제공 서버(3000)는 애플리케이션 제공 서버(2000)에게 브라우저 UI의 자동 생성을 요청할 수 있다. 또한, 애플리케이션 제공 서버(2000)는 요청에 응답하여, 서비스 제공 서버(3000)의 애플리케이션의 UI를 분석함으로써, 애플리케이션의 브라우저 UI를 자동으로 생성할 수 있다. 애플리케이션 제공 서버(2000)는 애플리케이션 UI에 포함된 텍스트 및 버튼 등의 메타 데이터를 분석하고, 애플리케이션 UI를 디바이스(1000)의 브라우저에서 사용하는 언어의 형식으로 변환함으로써, 브라우저 UI를 생성할 수 있다.
또한, 서비스 제공 서버(3000)의 사용자가 브라우저 UI 수정 필드(142)를 선택하면, 애플리케이션 제공 서버(2000)는 서비스 제공 서버(3000)에게 브라우저 UI를 수정하기 위한 도구(Tool)을 제공할 수 있으며, 서비스 제공 서버(3000)는 수신된 도구를 이용하여 브라우저 UI를 수정할 수 있다.
한편, 도 11 내지 도 14에서는 서비스 제공 서버(3000)가 서비스 제공 서버(3000)의 애플리케이션을 애플리케이션 제공 서버(2000)에 등록하는 것으로 설명하였지만, 이에 제한되지 않는다. 서비스 제공 서버(3000)에 포함되지 않은 별도의 다른 디바이스(미도시)가, 서비스 제공 서버(3000)의 애플리케이션을 애플리케이션 제공 서버()에 등록할 것을 애플리케이션 제공 서버(2000)에게 요청할 수도 있다. 예를 들어, 서비스 제공 서버(3000)의 애플리케이션을 개발한 개발자가 자신의 개인용 디바이스를 이용하여 애플리케이션을 애플리케이션 제공 서버(2000)에 등록할 수 있다. 그러나, 이에 제한되지 않는다.
또한, 도 11 내지 도 14에서는 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)가 별개의 서버인 것으로 설명하였지만, 이에 제한되지 않는다. 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)는 하나의 통합 서버(4000)로 운영될 수 있으며, 이 경우, 통합 서버(4000)는 도 11 내지 도 14에 도시된 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)의 일부 또는 전부의 동작을 수행할 수 있다.
도 15는 일부 실시예에 따른 애플리케이션 제공 서버(2000)가 브라우저 UI를 생성하는 방법의 흐름도이다.
단계 S1500에서 애플리케이션 제공 서버(2000)는 애플리케이션의 UI로부터 메타 데이터를 추출할 수 있다. 애플리케이션 제공 서버(2000)는 애플리케이션의 설치 파일로부터 애플리케이션의 UI의 메타 데이터를 추출할 수 있다. 애플리케이션의 UI의 메타 데이터는, 애플리케이션 UI의 레이아웃, 애플리케이션 UI 내의 텍스트, 이미지 및 버튼 등에 관한 정보를 포함할 수 있다.
단계 S1510에서 애플리케이션 제공 서버(2000)는 추출된 메타 데이터를 브라우저에 의해 사용되는 언어 형식으로 변환할 수 있다. 디바이스(1000)에 설치되거나 설치될 수 있는 브라우저의 종류가 복수인 경우에, 애플리케이션 제공 서버(2000)는 브라우저의 종류 별로 브라우저에 의해 이용되는 언어 형식을 식별하고, 각각의 언어 형식으로 메타 데이터를 변환할 수 있다. 또한, 브라우저에 의해 사용되는 언어는, 예를 들어, HTML5, CSS3, Java Script 등의 언어 형식을 포함할 수 있다.
단계 S1520에서 애플리케이션 제공 서버(2000)는 브라우저 UI의 레이아웃을 결정할 수 있다. 애플리케이션 제공 서버(2000)는 애플리케이션 UI를 분석하고, 분석 결과에 따라 브라우저 UI의 프레임 및 브라우저 UI에 포함될 텍스트, 이미지 및 버튼을 결정할 수 있다. 또한, 애플리케이션 제공 서버(2000)는 결정된 프레임 내에 결정된 텍스트, 이미지 및 버튼이 표시될 위치를 결정할 수 있다. 만약, 서비스 제공 서버(3000)가 애플리케이션 UI에 포함된 구성 요소 중에서 브라우저 UI에 포함시킬 구성 요소 및 브라우저 UI에 포함시키지 않을 구성 요소를 미리 설정한 경우에, 애플리케이션 제공 서버(2000)는 설정에 따라 브라우저 UI의 레이아웃을 결정할 수 있다.
단계 S1530에서 애플리케이션 제공 서버(2000)는 브라우저 UI를 생성할 수 있다. 애플리케이션 제공 서버(2000)는, 단계 S1510에서 변환된 메타 데이터를 이용하여, 단계 S1520에서 결정된 레이아웃에 따라, 브라우저 UI를 생성할 수 있다.
한편, 도 15에서는 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)가 별개의 서버인 것으로 설명하였지만, 이에 제한되지 않는다. 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)는 하나의 통합 서버(4000)로 운영될 수 있으며, 이 경우, 통합 서버(4000)는 도 15에 도시된 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)의 일부 또는 전부의 동작을 수행할 수 있다.
도 16은 일부 실시예에 따른 애플리케이션의 UI로부터 생성된 브라우저 UI의 예시를 나타내는 도면이다.
도 16을 참조하면, 애플리케이션 제공 서버() 또는 통합 서버()는 애플리케이션 UI의 메타데이터를 추출하고 추출된 메타 데이터를 분석함으로써, 애플리케이션 UI에 포함된 버튼(160), 텍스트(161) 및 이미지(162)를 식별할 수 있다. 또한, 애플리케이션 제공 서버() 또는 통합 서버()는, 버튼(160), 텍스트(161) 및 이미지(162)의 속성에 기초하여, 브라우저의 언어 형태를 가지는 버튼(165), 텍스트(166), 및 이미지(167)를 포함하는 브라우저 UI를 생성할 수 있다. 브라우저의 언어 형태는, 예를 들어, 예를 들어, HTML, CSS, 및 Java Script을 포함할 수 있으나, 이에 제한되지 않는다.
도 16의 애플리케이션 UI는 버튼(160), 텍스트(161) 및 이미지(162)를 포함할 수 있다. 또한, 애플리케이션 UI로부터 생성된 브라우저 UI는, 버튼(160)에 대응되는 버튼(165), 텍스트(161)에 대응되는 텍스트(166), 및 이미지(162)에 대응되는 이미지(167)을 포함할 수 있다.
버튼(165)은 버튼(160)과 동일 또는 유사한 모양일 수 있다. 또한, 애플리케이션 UI 내에서의 버튼(160)의 위치와, 브라우저 UI 내에서의 버튼(165)의 위치는 동일 또는 유사할 수 있다. 또한, 텍스트(166)는 텍스트(161)와 동일 또는 유사한 모양일 수 있다. 또한, 애플리케이션 UI 내에서의 텍스트(161)의 위치와, 브라우저 UI 내에서의 텍스트(166)의 위치는 동일 또는 유사할 수 있다. 또한, 이미지(167)는 이미지(162)와 동일 또는 유사한 모양일 수 있다. 또한, 애플리케이션 UI 내에서의 이미지(162)의 위치와, 브라우저 UI 내에서의 이미지(167)의 위치는 동일 또는 유사할 수 있다.
도 17 및 도 18은 일부 실시예에 따른 디바이스(1000)의 블록도이다.
도 17에 도시된 바와 같이, 일부 실시예에 따른 디바이스(1000)는, 사용자 입력부(1100), 출력부(1200), 제어부(1300), 및 통신부(1500)를 포함할 수 있다. 그러나, 도 17에 도시된 구성 요소 모두가 디바이스(1000)의 필수 구성 요소인 것은 아니다. 도 17에 도시된 구성 요소보다 많은 구성 요소에 의해 디바이스(1000)가 구현될 수도 있고, 도 16에 도시된 구성 요소보다 적은 구성 요소에 의해 디바이스(1000)가 구현될 수도 있다.
예를 들어, 도 18에 도시된 바와 같이, 일부 실시예에 따른 디바이스(1000)는, 사용자 입력부(1100), 출력부(1200), 제어부(1300), 및 통신부(1500) 이외에 센싱부(1400), A/V 입력부(1600), 및 메모리(1700)를 더 포함할 수도 있다.
사용자 입력부(1100)는, 사용자가 디바이스(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
사용자 입력부(1100)는, 서비스 제공 서버(3000)의 애플리케이션 및 애플리케이션의 브라우저 UI를 수신하고, 서비스 제공 서버(3000)의 서비스를 이용하기 위한 사용자 입력을 수신할 수 있다.
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다.
디스플레이부(1210)는 디바이스(1000)에서 처리되는 정보를 표시 출력한다. 예를 들어, 디스플레이부(1210)는, 디바이스(1000)에 설치된 브라우저를 통하여 애플리케이션의 브라우저 UI를 디스플레이할 수 있다. 또한, 디스플레이부(1210)는, 서비스 제공 서버(3000)의 애플리케이션의 실행 화면을 디스플레이할 수 있다.
한편, 디스플레이부(1210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(1210)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 디바이스(1000)의 구현 형태에 따라 디바이스(1000)는 디스플레이부(1210)를 2개 이상 포함할 수도 있다. 이때, 2개 이상의 디스플레이부(1210)는 힌지(hinge)를 이용하여 마주보게 배치될 수 있다.
음향 출력부(1220)는 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(1220)는 디바이스(1000)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력한다. 이러한 음향 출력부(1220)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
진동 모터(1230)는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터(1230)는 오디오 데이터 또는 비디오 데이터(예컨대, 호신호 수신음, 메시지 수신음 등)의 출력에 대응하는 진동 신호를 출력할 수 있다. 또한, 진동 모터(1230)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.
제어부(1300)는, 통상적으로 디바이스(1000)의 전반적인 동작을 제어한다. 예를 들어, 제어부(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다. 제어부(1300)는, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 제어함으로써, 도 1 내지 도 16에서의 디바이스(1000)의 동작을 수행할 수 있다.
구체적으로, 제어부(1300)는, 서비스 제공 서버(3000)의 서비스를 이용하기 위한 애플리케이션을 애플리케이션 제공 서버(2000)에게 요청할 수 있다. 제어부(1300)는 애플리케이션 제공 서버(2000)의 애플리케이션 마켓에 접속하고, 서비스 제공 서버(3000)의 애플리케이션을 애플리케이션 제공 서버(2000)에게 요청할 수 있다. 제어부(1300)는 애플리케이션의 설치 또는 업데이트를 위한 파일을 애플리케이션 제공 서버(2000)에게 요청할 수 있다. 애플리케이션 마켓은, 예를 들어, Galaxy Apps, Google Play, 및 App Store를 포함할 수 있으나, 이에 제한되지 않는다.
제어부(1300)는 디바이스(1000) 내의 브라우저를 통하여 디스플레이될 수 있는 브라우저 UI를 애플리케이션 제공 서버(2000)로부터 수신할 수 있다. 브라우저 UI는 서비스 제공 서버(3000)의 서비스를 이용하기 위한 UI로서, 디바이스(1000) 내의 브라우저를 통하여 디스플레이될 수 있는 UI일 수 있다. 브라우저 UI는 서비스 제공 서버(3000)의 서비스를 제공받기 위한 애플리케이션의 UI로부터 변환된 UI일 수 있다. 또한, 브라우저는, 예를 들어, HTML5 기반의 브라우저, CSS3 기반의 브라우저 및 Java Script 기반의 브라우저일 수 있으나, 이에 제한되지 않는다.
이 경우, 애플리케이션 제공 서버(2000)는 애플리케이션 제공 요청에 응답하여, 애플리케이션의 설치 파일 또는 애플리케이션의 업데이트 파일을 디바이스(1000)에게 제공하면서, 서비스 제공 서버(3000)의 브라우저 UI를 디바이스(1000)에게 제공할 수 있다. 또한, 브라우저 UI는 서비스 제공 서버(3000)에 의해 애플리케이션 제공 서버(2000)에 미리 등록될 수 있다.
제어부(1300)는 브라우저 UI를 이용하여 서비스 제공 서버(3000)로부터 서비스를 수신할 수 있다. 제어부(1300)는 기 설정된 브라우저를 실행하고, 실행된 브라우저를 통하여 브라우저 UI를 디바이스(1000)의 화면 상에 디스플레이할 수 있다. 또한, 제어부(1300)는 브라우저 UI를 통한 사용자 입력에 따라, 소정의 서비스를 서비스 제공 서버(3000)로부터 수신할 수 있다.
제어부(1300)는 브라우저 UI를 통하여 서비스 제공 서버(3000)의 서비스를 수신하는 동안에, 애플리케이션 제공 서버(2000)로부터 애플리케이션을 수신할 수 있다. 애플리케이션 제공 서버(2000)는 애플리케이션 제공 요청에 응답하여, 애플리케이션의 설치 파일 또는 애플리케이션의 업데이트 파일, 및 서비스 제공 서버(3000)의 브라우저 UI의 전송을 함께 수행할 수 있다.
제어부(1300)는 수신된 애플리케이션을 실행할 수 있다. 제어부(1300)는 브라우저 UI를 이용하여 서비스 제공 서버(3000)의 서비스를 수신하는 동안에, 애플리케이션 제공 서버(2000)로부터 수신된 애플리케이션을 디바이스(1000) 내에 설치하고 실행할 수 있다.
제어부(1300)는 브라우저 UI를 통하여 수신 중인 서비스를, 실행된 애플리케이션을 이용하여 계속하여 수신할 수 있다. 제어부(1300)는 브라우저 UI를 통한 서비스 수신을 중단하고, 실행된 애플리케이션을 통하여 중단된 서비스를 계속하여 실행할 수 있다. 제어부(1300)는 브라우저 UI를 이용하여 수신 중인 서비스의 로그 정보를 서비스 제공 서버(3000)로부터 수신하고, 브라우저 UI를 통하여 이용 중인 서비스 데이터 및 실행된 애플리케이션을 통하여 이용될 서비스 데이터를 수신된 로그 정보를 이용하여 동기화할 수 있다.
한편, 제어부(1300)는 서비스 제공 서버(3000)의 서비스를 위한 애플리케이션의 실행 주체를 변경하기 위하여 아래의 동작을 수행할 수 있다.
제어부(1300)는 애플리케이션의 설치가 완료되었는지를 판단할 수 있다. 제어부(1300)는 브라우저 UI를 통하여 서비스 제공 서버(3000)로부터 서비스를 제공받는 도중에, 디바이스(1000)의 백그라운드에서 애플리케이션 제공 서버(2000)로부터 애플리케이션의 설치 파일을 다운로드하고 설치할 수 있다. 또한, 제어부(1300)는 디바이스(1000)의 리소스 점유율에 따라 애플리케이션의 다운로드 및 설치를 조절할 수 있다.
애플리케이션의 설치가 완료되었다고 판단되면, 제어부(1300)는 브라우저 UI를 통한 서비스의 이용 상황을 확인할 수 있다. 예를 들어, 서비스가 게임 서비스인 경우에, 제어부(1300)는 게임의 진행 상황을 확인할 수 있다. 또한, 예를 들어, 서비스가 채팅 서비스인 경우에, 제어부(1300)는 사용자 간에 메시지 또는 콘텐트가 송수신 중인지를 확인할 수 있다. 또한, 예를 들어, 서비스가 검색 서비스인 경우에, 제어부(1300)는 검색을 위한 사용자 입력이 수신 중인지 또는 검색이 진행 중인지를 확인할 수 있다.
제어부(1300)는 서비스 제공 서버(3000)의 서비스를 디바이스(1000)에 설치된 애플리케이션을 통하여 수신할 것인지를 판단할 수 있다. 제어부(1300)는 서비스 이용 상황이 기설정된 상황인지를 판단함으로써, 브라우저 UI를 통하여 수신하고 있는 서비스를 디바이스(1000)에 설치된 애플리케이션을 통하여 수신할 지를 결정할 수 있다. 예를 들어, 서비스가 게임 서비스인 경우에, 제어부(1300)는 게임의 특정 스테이지가 종료되었다고 판단되면, 게임 서비스를 디바이스(1000)에 설치된 애플리케이션을 통하여 수신할 것을 결정할 수 있다. 또한, 예를 들어, 서비스가 채팅 서비스인 경우에, 제어부(1300)는 사용자 간에 메시지 또는 콘텐트의 송수신이 완료되었다고 판단되면, 채팅 서비스를 디바이스(1000)에 설치된 애플리케이션을 통하여 수신할 것을 결정할 수 있다. 또한, 예를 들어, 서비스가 검색 서비스인 경우에, 제어부(1300)는 검색을 위한 사용자의 키워드 입력이 완료되었는지 또는 키워드에 기초한 검색이 완료되었다고 판단되면, 검색 서비스를 디바이스(1000)에 설치된 애플리케이션을 통하여 수신할 것을 결정할 수 있다. 또한, 예를 들어, 제어부(1300)는 화면 상에 디스플레이된 브라우저 UI의 페이지가 다른 페이지로 전환될 시점에, 브라우저 UI를 통하여 수신하던 서비스를 디바이스(1000)에 설치된 애플리케이션을 통하여 수신할 것을 결정할 수 있다.
제어부(1300)는 서비스 제공 서버(3000)로부터 이용 중인 서비스의 로그 정보를 수신할 수 있다. 예를 들어, 서비스가 게임 서비스인 경우에, 로그 정보는 게임 캐릭터의 현재 상태, 게임의 진행 상황 등에 관한 정보를 포함할 수 있다. 또한, 예를 들어, 서비스가 채팅 서비스인 경우에, 로그 정보는 사용자 간의 대화 내용, 사용자 간에 송수신된 콘텐트 등에 관한 정보를 포함할 수 있다. 또한, 예를 들어, 서비스가 검색 서비스인 경우에, 로그 정보는 사용자의 검색 이력에 관한 정보를 포함할 수 있다.
제어부(1300)는 설치된 애플리케이션을 실행할 수 있으며, 브라우저 UI의 디스플레이를 종료할 수 있다. 제어부(1300)는 브라우저 UI를 디스플레이하는 브라우저의 실행을 종료함으로써, 브라우저 UI의 디스플레이를 종료할 수 있다.
제어부(1300)는 브라우저 UI를 통해 이용된 서비스 데이터와 애플리케이션을 통해 이용될 서비스 데이터를 동기화할 수 있다. 제어부(1300)는 서비스의 로그 정보를 이용하여, 브라우저 UI의 디스플레이가 종료된 때의 서비스 데이터를 애플리케이션을 통해 이용될 서비스 데이터와 동기화할 수 있다. 이에 따라, 사용자는 브라우저 UI를 통하여 이용하던 서비스를 디바이스(1000)에 설치된 애플리케이션을 통하여 연속적으로 이용할 수 있다.
센싱부(1400)는, 디바이스(1000)의 상태 또는 디바이스(1000) 주변의 상태를 감지하고, 감지된 정보를 제어부(1300)로 전달할 수 있다.
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
통신부(1500)는, 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)와의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(151)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 디바이스(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
또한, 통신부(1500)는, 서비스 제공 서버(3000)의 애플리케이션의 브라우저 UI를 통하여 수신하던 서비스를, 서비스 제공 서버(3000)의 애플리케이션을 통하여 수신하기 위하여 필요한 정보를, 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)와 송수신할 수 있다.
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)은 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 제어부(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다.
카메라(1610)에서 처리된 화상 프레임은 메모리(1700)에 저장되거나 통신부(1500)를 통하여 외부로 전송될 수 있다. 카메라(1610)는 단말기의 구성 태양에 따라 2개 이상이 구비될 수도 있다.
마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(1620)은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰(1620)는 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다.
메모리(1700)는, 제어부(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 디바이스(1000)로 입력되거나 디바이스(1000)로부터 출력되는 데이터를 저장할 수도 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다.
UI 모듈(1710)은, 애플리케이션 별로 디바이스(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 제어부(1300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
또한, 터치스크린의 터치를 감지하기 위한 센서의 일례로 근접 센서가 있다.
근접 센서는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 근접 센서의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접 센서, 정전용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다. 사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.
알림 모듈(1730)은 디바이스(1000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 디바이스(1000)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다. 알림 모듈(1730)은 디스플레이부(1210)를 통해 비디오 신호 형태로 알림 신호를 출력할 수도 있고, 음향 출력부(1220)를 통해 오디오 신호 형태로 알림 신호를 출력할 수도 있고, 진동 모터(1230)를 통해 진동 신호 형태로 알림 신호를 출력할 수도 있다.
도 19는 일부 실시예에 따른 애플리케이션 제공 서버(2000)의 블록도이다.
도 19를 참조하면, 일부 실시예에 따른 애플리케이션 제공 서버(2000)는 통신부(2100), 메모리(2200), 제어부(2300)를 포함할 수 있다.
통신부(2100)는 서비스 제공 서버(3000) 및 디바이스(1000)와의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 통신부(2100)는 애플리케이션 제공 서버(2000)에 서비스 제공 서버(3000)의 애플리케이션을 등록하기 위한 정보를 서비스 제공 서버(3000)와 송수신할 수 있다. 또한, 통신부(2100)는 서비스 제공 서버(3000)의 애플리케이션 및 애플리케이션의 브라우저 UI를 제공하기 위한 정보를 디바이스(1000)와 송수신할 수 있다.
메모리(2200)는 애플리케이션 제공 서버(2000)에 서비스 제공 서버(3000)의 애플리케이션을 등록하기 위한 정보 및 서비스 제공 서버(3000)의 애플리케이션 및 애플리케이션의 브라우저 UI를 제공하기 위한 정보를 저장할 수 있다.
제어부(2300)는 통상적으로 애플리케이션 제공 서버(2000)의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부(2300)는, 메모리(2200)에 저장된 프로그램들을 실행함으로써, 통신부(2100), 및 메모리(2200) 등을 전반적으로 제어할 수 있다.
제어부(2300)는 서비스 제공 서버(3000)의 애플리케이션 및 애플리케이션의 브라우저 UI를 등록할 수 있다. 제어부(2300)는 서비스 제공 서버(3000)에게 애플리케이션 등록을 위한 UI를 제공할 수 있다. 애플리케이션 등록을 위한 UI는 애플리케이션의 설치 파일을 등록하기 위한 페이지 및 브라우저 UI를 등록하기 위한 페이지를 별개로 포함할 수 있다. 제어부(2300)는 서비스 제공 서버(3000)에게 제공된 UI를 통하여 서비스 제공 서버(3000)로부터 수신되는 애플리케이션 설치 파일을 등록할 수 있다. 또한, 제어부(2300)는 서비스 제공 서버(3000)에게 제공된 UI를 통하여 서비스 제공 서버(3000)로부터 수신되는 브라우저 UI 등록 요청에 응답하여, 브라우저 UI를 생성하고 등록할 수 있다. 제어부(2300)는 애플리케이션의 설치 파일로부터 애플리케이션 UI를 분석할 수 있으며, 애플리케이션 UI를 이용하여 브라우저 UI를 생성할 수 있다. 제어부(2300)는 브라우저 UI를 수정할 수 있다. 서비스 제공 서버(3000)는 생성된 브라우저 UI를 수정하기 위한 페이지를 디스플레이할 수 있으며, 디스플레이된 페이지를 통한 사용자 입력에 따라 브라우저 UI를 수정하기 위한 명령을 애플리케이션 제공 서버(2000)에게 제공할 수 있다. 제어부(2300)는 수신된 명령에 따라 브라우저 UI를 수정할 수 있다. 제어부(2300)는 생성 또는 수정된 브라우저 UI를 등록할 수 있다. 제어부(2300)는 생성 또는 수정된 브라우저 UI를 애플리케이션의 설치 파일과 연관하여 등록하고 저장할 수 있다.
구체적으로, 제어부(2300)는 브라우저 UI를 아래와 같이 생성할 수 있다.
제어부(2300)는 애플리케이션의 UI로부터 메타 데이터를 추출할 수 있다. 제어부(2300)는 애플리케이션의 설치 파일로부터 애플리케이션의 UI의 메타 데이터를 추출할 수 있다. 애플리케이션의 UI의 메타 데이터는, 애플리케이션 UI의 레이아웃, 애플리케이션 UI 내의 텍스트, 이미지 및 버튼 등에 관한 정보를 포함할 수 있다.
제어부(2300)는 추출된 메타 데이터를 브라우저에 의해 사용되는 언어 형식으로 변환할 수 있다. 디바이스(1000)에 설치되거나 설치될 수 있는 브라우저의 종류가 복수인 경우에, 애플리케이션 제공 서버(2000)는 브라우저의 종류 별로 브라우저에 의해 이용되는 언어 형식을 식별하고, 각각의 언어 형식으로 메타 데이터를 변환할 수 있다. 또한, 브라우저에 의해 사용되는 언어는, 예를 들어, HTML5, CSS3, Java Script 등의 언어 형식을 포함할 수 있다.
제어부(2300)는 브라우저 UI의 레이아웃을 결정할 수 있다. 애플리케이션 제공 서버(2000)는 애플리케이션 UI를 분석하고, 분석 결과에 따라 브라우저 UI의 프레임 및 브라우저 UI에 포함될 텍스트, 이미지 및 버튼을 결정할 수 있다. 또한, 제어부(2300)는 결정된 프레임 내에 결정된 텍스트, 이미지 및 버튼이 표시될 위치를 결정할 수 있다. 만약, 서비스 제공 서버(3000)가 애플리케이션 UI에 포함된 구성 요소 중에서 브라우저 UI에 포함시킬 구성 요소 및 브라우저 UI에 포함시키지 않을 구성 요소를 미리 설정한 경우에, 제어부(2300)는 설정에 따라 브라우저 UI의 레이아웃을 결정할 수 있다.
제어부(2300)는 브라우저 UI를 생성할 수 있다. 제어부(2300)는, 변환된 메타 데이터를 이용하여, 결정된 레이아웃에 따라, 브라우저 UI를 생성할 수 있다.
도 20은 일부 실시예에 따른 서비스 제공 서버(3000)의 블록도이다.
도 20을 참조하면, 일부 실시예에 따른 서비스 제공 서버(3000)는 통신부(3300), 메모리(3400), 제어부(3500)를 포함할 수 있으며, 디스플레이부(3100) 및 사용자 입력부(3200)를 선택적으로 포함할 수 있다. 사용자 입력부(3100) 및 디스플레이부(3200)는 서비스 제공 서버(3000) 내에 포함되지 않고, 서비스 제공 서버(3000) 외의 별도의 장치 내에 포함될 수도 있다.
사용자 입력부(3100)는 서비스 제공 서버(3000)의 애플리케이션을 애플리케이션 제공 서버(2000)에 등록하기 위한 사용자 입력을 수신할 수 있다.
디스플레이부(3200)는 서비스 제공 서버(3000)의 애플리케이션을 애플리케이션 제공 서버(2000)에 등록하기 위한 UI를 디스플레이할 수 있다.
통신부(3300)는 애플리케이션 제공 서버(2000) 및 디바이스(1000)와의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 통신부(3300)는 애플리케이션 제공 서버(2000)에 서비스 제공 서버(3000)의 애플리케이션을 등록하기 위한 정보를 애플리케이션 제공 서버(2000)와 송수신할 수 있다. 또한, 통신부(3300)는 서비스 제공 서버(3000)의 서비스를 위한 정보를 디바이스(1000)와 송수신할 수 있다.
메모리(3400)는 애플리케이션 제공 서버(2000)에 서비스 제공 서버(3000)의 애플리케이션을 등록하기 위한 정보 및 서비스 제공 서버(3000)의 서비스에 관한 정보를 저장할 수 있다.
제어부(3500)는 통상적으로 서비스 제공 서버(3000)의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부(3500)는, 메모리(3400)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(3100), 디스플레이부(3200), 통신부(3300), 및 메모리(3400) 등을 전반적으로 제어할 수 있다.
제어부(3500)는 브라우저 UI를 통한 서비스 제공 요청을 디바이스(1000)로부터 수신하고, 디바이스(1000)로부터의 서비스 제공 요청에 응답하여, 디바이스(1000)에서 디스플레이된 브라우저 UI에 대응되는 애플리케이션을 실행할 수 있다. 이 경우, 애플리케이션은 서비스 제공 서버(3000)에 미리 저장되어 있을 수 있다. 한편, 제어부(3500)는 서비스 제공을 위한 애플리케이션 외에, 서비스 제공을 위한 다양한 종류의 소프트웨어 프로그램을 실행할 수 있다.
제어부(3500)는 서비스 제공 서버(3000)에서 실행된 애플리케이션을 통하여 서비스를 디바이스(1000)에게 제공할 수 있다. 예를 들어, 서비스 제공 서버(3000)가 게임 서비스를 제공하는 경우에, 디바이스(1000)의 사용자는 브라우저 UI를 통해 게임을 조작할 수 있으며, 서비스 제공 서버(3000)로부터 제공되는 웹 기반의 게임 서비스를 이용할 수 있게 된다. 디바이스(1000)는 브라우저 UI를 통한 사용자 입력을 서비스 제공 서버(3000)에게 제공하고, 제어부(3500))가 제공된 사용자 입력에 따라 게임 서비스를 위한 애플리케이션을 실행할 수 있으며, 애플리케이션의 실행 결과를 디바이스(1000)에게 제공할 수 있다.
제어부(3500)는 제공 중인 서비스의 로그 정보를 저장할 수 있다. 서비스의 로그 정보는 서비스를 이용하는 사용자의 서비스 이용 내역을 나타내는 정보일 수 있다. 서비스의 로그 정보는 서비스를 이용하기 위한 애플리케이션의 실행에 의해 발생되는 이벤트 정보를 포함할 수 있다. 예를 들어, 서비스가 게임 서비스인 경우에, 로그 정보는 게임 캐릭터의 현재 상태, 게임의 진행 상황 등에 관한 정보를 포함할 수 있다. 또한, 예를 들어, 서비스가 채팅 서비스인 경우에, 로그 정보는 사용자 간의 대화 내용, 사용자 간에 송수신된 콘텐트 등에 관한 정보를 포함할 수 있다. 또한, 예를 들어, 서비스가 검색 서비스인 경우에, 로그 정보는 사용자의 검색 이력에 관한 정보를 포함할 수 있다.
디바이스(1000)는 애플리케이션의 설치가 완료됨에 따라, 서비스 제공 서버(3000)에게 서비스의 이전을 요청할 수 있으며, 제어부(3500)는 서비스 이전 요청에 응답하여, 제공 중인 서비스의 로그 정보를 디바이스(1000)에게 제공할 수 있다. 제어부(3500)는 서비스 이전 요청을 수신한 때까지의 로그 정보를 디바이스(1000)에게 제공할 수 있다.
또한, 디바이스(1000)에서 브라우저를 통한 브라우저 UI의 디스플레이가 종료됨에 따라, 제어부(3500)는 서비스 제공 서버(3000)에서 실행 중인 애플리케이션을 종료할 수 있다. 제어부(3500)는 서비스 제공 서버(3000)에서 실행 중인 애플리케이션의 기능들 중 일부 또는 전부를 종료할 수 있다. 예를 들어, 제어부(3500)는 서비스 제공 서버(3000)에서 실행 중인 애플리케이션의 기능들 중에서, 디바이스(1000)에서 실행된 애플리케이션에 의해 수행되는 기능을 종료할 수 있다.
제어부(3500)는 브라우저 UI를 통해 디바이스(1000)에게 제공하던 서비스를 디바이스(1000)에서 실행된 애플리케이션을 통하여 계속하여 제공할 수 있다. 제어부(3500)는 디바이스(1000)에서 브라우저 UI를 이용하는 브라우저와 연동하여 서비스를 디바이스(1000)에게 제공할 수 있으며, 이후, 브라우저와의 연동을 중단하고 디바이스(1000)에서 실행된 애플리케이션과 연동하여 서비스를 디바이스(1000)에게 계속하여 제공할 수 있다.
한편, 제어부(3500)는 애플리케이션 등록을 위한 UI를 애플리케이션 제공 서버(2000)에게 요청할 수 있으며, 애플리케이션 제공 서버(2000)로부터 서비스 제공 서버(3000)에게 애플리케이션 등록을 위한 UI를 수신할 수 있다. 애플리케이션 등록을 위한 UI는 애플리케이션의 설치 파일을 등록하기 위한 페이지 및 브라우저 UI를 등록하기 위한 페이지를 별개로 포함할 수 있다.
제어부(3500)는 애플리케이션 등록을 위한 UI를 디스플레이할 수 있다. 제어부(3500)는, 애플리케이션 등록을 위한 UI를 통하여 서비스 제공 서버(3000)의 애플리케이션 및 애플리케이션의 브라우저 UI를 애플리케이션 제공 서버(2000)에 등록하기 위한 사용자 입력을 수신할 수 있다.
제어부(3500)는 애플리케이션의 설치 파일을 애플리케이션 제공 서버(2000)에게 제공할 수 있다. 제어부(3500)는 디스플레이된 UI의 애플리케이션의 설치 파일을 등록하기 위한 페이지에서 애플리케이션의 설치 파일을 등록하기 위한 사용자 입력이 수신됨에 따라, 제어부(3500)는 애플리케이션 설치 파일을 애플리케이션 제공 서버(2000)에게 제공할 수 있다. 이후, 애플리케이션 제공 서버(2000)는 애플리케이션의 설치 파일을 등록할 수 있다.
제어부(3500)는 애플리케이션의 브라우저 UI의 등록을 애플리케이션 제공 서버(2000)에게 요청할 수 있다. 제어부(3500)는 디스플레이된 UI의 애플리케이션의 브라우저 UI를 등록하기 위한 페이지에서 브라우저 UI를 등록하기 위한 사용자 입력이 수신됨에 따라, 애플리케이션의 브라우저 UI의 등록을 애플리케이션 제공 서버(2000)에게 요청할 수 있다. 이후, 애플리케이션 제공 서버(2000)는, 요청에 응답하여 애플리케이션의 브라우저 UI를 생성하고 등록할 수 있다.
제어부(3500)는 애플리케이션 제공 서버(2000)에서 생성된 브라우저 UI의 수정을 애플리케이션 제공 서버(2000)에게 요청할 수 있다. 또한, 브라우저 UI의 수정을 위한 정보를 애플리케이션 제공 서버(2000)에게 제공할 수 있다.
한편, 애플리케이션 제공 서버(2000) 및 서비스 제공 서버(3000)는 하나의 통합 서버(4000)로 운영될 수 있으며, 이 경우, 통합 서버(4000)는 도 19 및 도 20의 구성들을 포함할 수 있다. 또한, 통신부(2100) 및 통신부(3300)는 하나의 구성으로 통합될 수 있고, 메모리(2200) 및 메모리(3400)는 하나의 구성으로 통합될 수 있으며, 제어부(2300) 및 제어부(3500)는 하나의 구성으로 통합될 수 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (22)

  1. 애플리케이션을 이용하여 서비스를 수신하는 디바이스에 있어서,
    서비스 제공 서버 및 애플리케이션 제공 서버와 통신하는 통신부;
    상기 통신부를 제어함으로써, 상기 서비스 제공 서버의 서비스를 이용하기 위한 애플리케이션 및 상기 애플리케이션의 브라우저 UI를 상기 애플리케이션 제공 서버에게 요청하고; 상기 애플리케이션 제공 서버로부터 상기 브라우저 UI를 수신하고; 상기 브라우저 UI를 이용하여 상기 서비스 제공 서버로부터 상기 서비스를 수신하며; 상기 서비스를 수신하는 동안에, 상기 애플리케이션을 상기 애플리케이션 제공 서버로부터 수신하여 실행하고; 상기 브라우저 UI를 이용하여 수신 중인 서비스를, 상기 실행된 애플리케이션을 이용하여 계속하여 수신하는 제어부;
    를 포함하는, 디바이스.
  2. 제 1 항에 있어서,
    상기 제어부는, 디바이스 내에 설치된 브라우저를 실행하고 상기 실행된 브라우저를 통하여 상기 브라우저 UI를 상기 디바이스의 화면 상에 디스플레이하며, 상기 디스플레이된 브라우저 UI를 통한 사용자 입력에 기초하여 상기 서비스 제공 서버로부터 상기 서비스를 수신하는 것인, 디바이스.
  3. 제 1 항에 있어서,
    상기 제어부는, 상기 통신부를 제어함으로써, 상기 브라우저 UI를 이용하여 수신 중인 서비스의 로그 정보를 상기 서비스 제공 서버로부터 수신하고, 상기 수신된 로그 정보를 이용하여 상기 수신 중인 서비스를 상기 실행된 애플리케이션을 이용하여 계속하여 수신하는 것인, 디바이스.
  4. 제 3 항에 있어서,
    상기 제어부는, 상기 브라우저 UI의 디스플레이를 종료하고, 상기 종료 시점까지의 상기 로그 정보를 상기 실행된 애플리케이션을 통해 수신될 서비스에 적용하는 것인, 디바이스.
  5. 제 4 항에 있어서,
    상기 제어부는, 상기 브라우저 UI를 이용하여 수신 중인 서비스의 서비스 이용 상황에 기초하여, 상기 브라우저 UI의 디스플레이를 종료할 시점을 결정하는 것인, 디바이스.
  6. 제 3 항에 있어서,
    상기 제어부는, 상기 종료 시점까지 상기 브라우저 UI를 이용하여 수신된 서비스 데이터와, 상기 실행된 애플리케이션을 이용하여 수신될 서비스 데이터를 동기화하는 것인, 디바이스.
  7. 제 1 항에 있어서,
    상기 애플리케이션을 요청하는 것은, 상기 애플리케이션의 설치 파일 또는 상기 애플리케이션의 업데이트 파일을 요청하는 것인, 디바이스.
  8. 제 1 항에 있어서,
    상기 브라우저 UI는, 상기 서비스 제공 서버에 의해, 상기 애플리케이션의 설치 파일 또는 상기 애플리케이션의 업데이트 파일과 함께 상기 애플리케이션 제공 서버에 등록된 것인, 디바이스.
  9. 제 8 항에 있어서,
    상기 브라우저 UI는 상기 애플리케이션의 UI로부터 상기 애플리케이션 제공 서버에 의해 자동으로 변환된 것인, 디바이스.
  10. 제 9 항에 있어서,
    상기 제어부는, 상기 디바이스의 백그라운드에서 상기 요청된 애플리케이션을 수신하고 실행하는 것인, 디바이스.
  11. 제 1 항에 있어서,
    상기 애플리케이션 제공 서버 및 상기 서비스 제공 서버는 하나의 사업자에 의해 운영되는 것인, 디바이스.
  12. 디바이스가 애플리케이션을 이용하여 서비스를 수신하는 방법에 있어서,
    서비스 제공 서버의 서비스를 이용하기 위한 애플리케이션 및 상기 애플리케이션의 브라우저 UI를, 애플리케이션 제공 서버에게 요청하는 단계;
    상기 애플리케이션 제공 서버로부터 상기 브라우저 UI를 수신하는 단계;
    상기 브라우저 UI를 이용하여 상기 서비스 제공 서버로부터 상기 서비스를 수신하는 단계;
    상기 서비스를 수신하는 동안에, 상기 애플리케이션을 상기 애플리케이션 제공 서버로부터 수신하여 실행하는 단계; 및
    상기 수신 중인 서비스를, 상기 실행된 애플리케이션을 이용하여 계속하여 수신하는 단계;
    를 포함하는, 방법.
  13. 제 12 항에 있어서,
    상기 브라우저 UI를 이용하여 상기 서비스를 수신하는 단계는, 상기 디바이스 내에 설치된 브라우저를 실행하고 상기 실행된 브라우저를 통하여 상기 브라우저 UI를 상기 디바이스의 화면 상에 디스플레이하며, 상기 디스플레이된 브라우저 UI를 통한 사용자 입력에 기초하여 상기 서비스 제공 서버로부터 상기 서비스를 수신하는 것인, 방법.
  14. 제 12 항에 있어서,
    상기 수신 중인 서비스를 계속하여 수신하는 단계는, 상기 브라우저 UI를 이용하여 수신 중인 서비스의 로그 정보를 상기 서비스 제공 서버로부터 수신하고, 상기 수신된 로그 정보를 이용하여 상기 수신 중인 서비스를 상기 실행된 애플리케이션을 이용하여 계속하여 수신하는 것인, 방법.
  15. 제 14 항에 있어서,
    상기 수신 중인 서비스를 계속하여 수신하는 단계는, 상기 브라우저 UI의 디스플레이를 종료하고, 상기 종료 시점까지의 상기 로그 정보를 상기 실행된 애플리케이션을 통해 수신될 서비스에 적용하는 것인, 방법.
  16. 제 17 항에 있어서,
    상기 수신 중인 서비스를 계속하여 수신하는 단계는, 상기 브라우저 UI를 이용하여 수신 중인 서비스의 서비스 이용 상황에 기초하여, 상기 브라우저 UI의 디스플레이를 종료할 시점을 결정하는 단계;
    를 더 포함하는 것인, 방법.
  17. 제 14 항에 있어서,
    상기 수신 중인 서비스를 계속하여 수신하는 단계는, 상기 종료 시점까지 상기 브라우저 UI를 이용하여 수신된 서비스 데이터와, 상기 실행된 애플리케이션을 이용하여 수신될 서비스 데이터를 동기화하는 것인, 방법.
  18. 제 12 항에 있어서,
    상기 애플리케이션을 요청하는 단계는, 상기 애플리케이션의 설치 파일 또는 상기 애플리케이션의 업데이트 파일을 요청하는 것인, 방법.
  19. 제 12 항에 있어서,
    상기 브라우저 UI는, 상기 서비스 제공 서버에 의해, 상기 애플리케이션의 설치 파일 또는 상기 애플리케이션의 업데이트 파일과 함께 상기 애플리케이션 제공 서버에 등록된 것인, 방법.
  20. 애플리케이션을 이용하여 서비스를 수신하는 디바이스에 있어서,
    상기 애플리케이션 및 상기 애플리케이션을 통한 상기 서비스를 제공하는 서버와 통신하는 통신부;
    상기 통신부를 제어함으로써, 상기 서비스를 이용하기 위한 애플리케이션 및 상기 애플리케이션의 브라우저 UI를 상기 서버에게 요청하고; 상기 서버로부터 상기 브라우저 UI를 수신하고; 상기 브라우저 UI를 이용하여 상기 서버로부터 상기 서비스를 수신하며; 상기 서비스를 수신하는 동안에, 상기 애플리케이션을 상기 서버로부터 수신하여 실행하고; 상기 브라우저 UI를 이용하여 수신 중인 서비스를, 상기 실행된 애플리케이션을 이용하여 계속하여 수신하는 제어부;
    를 포함하는, 디바이스.
  21. 애플리케이션 제공 서버가, 서비스 제공 서버의 서비스를 이용하기 위한 애플리케이션을 제공하는 방법에 있어서,
    서비스 제공 서버의 서비스를 이용하기 위한 애플리케이션 및 상기 애플리케이션의 브라우저 UI를 등록하는 단계;
    디바이스로부터 상기 애플리케이션 및 상기 애플리케이션의 브라우저 UI의 제공 요청을 수신하는 단계; 및
    상기 요청에 응답하여, 상기 디바이스에게 상기 브라우저 UI 및 상기 애플리케이션을 제공하는 단계;
    를 포함하며,
    상기 디바이스에 제공된 브라우저 UI를 통해 상기 디바이스에게 상기 서비스 제공 서버의 서비스가 제공되는 동안에, 상기 애플리케이션이 상기 디바이스에게 제공되고 상기 디바이스 내에 설치되는 것인, 방법.
  22. 제 12 항의 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
KR1020150015582A 2014-09-18 2015-01-30 애플리케이션을 통하여 서비스를 제공하는 시스템 및 방법 KR102321361B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
PCT/KR2015/009747 WO2016043530A1 (en) 2014-09-18 2015-09-16 System and method for providing service via application
TW104130689A TWI682290B (zh) 2014-09-18 2015-09-17 使用應用程式自服務提供伺服器接收服務的裝置及方法
EP15185969.1A EP2999200B1 (en) 2014-09-18 2015-09-18 Device and method for providing service via application
CN201910520338.2A CN110286919B (zh) 2014-09-18 2015-09-18 用于经由应用提供服务的***和方法
US14/857,909 US9971586B2 (en) 2014-09-18 2015-09-18 System and method for providing service via application
EP20165263.3A EP3694196B1 (en) 2014-09-18 2015-09-18 System and method for providing service via application
CN201510599214.XA CN105446766B (zh) 2014-09-18 2015-09-18 用于经由应用提供服务的***和方法
US15/938,691 US10613845B2 (en) 2014-09-18 2018-03-28 System and method for providing service via application

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20140124631 2014-09-18
KR1020140124631 2014-09-18

Publications (2)

Publication Number Publication Date
KR20160033579A true KR20160033579A (ko) 2016-03-28
KR102321361B1 KR102321361B1 (ko) 2021-11-04

Family

ID=57007672

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150015582A KR102321361B1 (ko) 2014-09-18 2015-01-30 애플리케이션을 통하여 서비스를 제공하는 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102321361B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102146883B1 (ko) * 2020-05-28 2020-08-21 주식회사 엠티커뮤니케이션 서버 및 사용자 디바이스를 관리하는 시스템
KR102177223B1 (ko) * 2020-06-26 2020-11-10 최원천 악성코드 모니터링을 수행하는 서버 및 그 시스템
KR102206493B1 (ko) * 2020-08-12 2021-01-22 주식회사 엠티커뮤니케이션 디바이스의 빅데이터에 기반하여 디바이스 관리 서비스를 제공하는 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030105888A1 (en) * 1999-08-10 2003-06-05 David Connelly Method and apparatus for expedited file downloads in an applet environment
US20090199132A1 (en) * 2006-07-10 2009-08-06 Devicevm, Inc. Quick access to virtual applications
KR20110114820A (ko) * 2010-04-14 2011-10-20 삼성전자주식회사 이동통신 시스템에서 응용 서비스를 제공하는 방법 및 장치
KR20130019065A (ko) * 2011-08-16 2013-02-26 엘지전자 주식회사 디스플레이기기 및 디스플레이기기의 컨텐츠 제공 방법
KR20130025251A (ko) * 2011-09-01 2013-03-11 주식회사 케이티 심리스 서비스를 제공하는 방법 및 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030105888A1 (en) * 1999-08-10 2003-06-05 David Connelly Method and apparatus for expedited file downloads in an applet environment
US20090199132A1 (en) * 2006-07-10 2009-08-06 Devicevm, Inc. Quick access to virtual applications
KR20110114820A (ko) * 2010-04-14 2011-10-20 삼성전자주식회사 이동통신 시스템에서 응용 서비스를 제공하는 방법 및 장치
KR20130019065A (ko) * 2011-08-16 2013-02-26 엘지전자 주식회사 디스플레이기기 및 디스플레이기기의 컨텐츠 제공 방법
KR20130025251A (ko) * 2011-09-01 2013-03-11 주식회사 케이티 심리스 서비스를 제공하는 방법 및 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102146883B1 (ko) * 2020-05-28 2020-08-21 주식회사 엠티커뮤니케이션 서버 및 사용자 디바이스를 관리하는 시스템
KR102177223B1 (ko) * 2020-06-26 2020-11-10 최원천 악성코드 모니터링을 수행하는 서버 및 그 시스템
KR102206493B1 (ko) * 2020-08-12 2021-01-22 주식회사 엠티커뮤니케이션 디바이스의 빅데이터에 기반하여 디바이스 관리 서비스를 제공하는 시스템

Also Published As

Publication number Publication date
KR102321361B1 (ko) 2021-11-04

Similar Documents

Publication Publication Date Title
US11164160B2 (en) System and method of providing to-do list of user
CN107943439B (zh) 界面移动方法、装置、智能终端、服务器和操作***
US10613845B2 (en) System and method for providing service via application
KR102027899B1 (ko) 메신저를 이용한 정보 제공 방법 및 장치
US20150333971A1 (en) Method and device for managing processes of application program
KR20160148260A (ko) 전자 장치 및 이의 제어 방법
EP3407189B1 (en) Application distribution method and device
KR20160094927A (ko) 단문 메시지 콘텐츠를 디스플레이하는 방법, 장치 및 시스템, 단문 메시지의 디스플레이를 결정하는 방법 및 장치
EP3726376B1 (en) Program orchestration method and electronic device
US10789033B2 (en) System and method for providing widget
RU2647683C2 (ru) Способ и система передачи контента, устройство и машиночитаемый носитель записи, которые используют их
US10831514B2 (en) Display method and device of application interface
CN113835571A (zh) 一种终端设备、信息展示方法和存储介质
KR102321361B1 (ko) 애플리케이션을 통하여 서비스를 제공하는 시스템 및 방법
CN105808304B (zh) 代码部署方法、装置及***
CN104965907A (zh) 结构化对象的生成方法及装置
CN110955436A (zh) 一种应用程序安装方法及电子设备
US10678836B2 (en) Slide show-providing system and method
KR20140003115A (ko) 이동 단말기 및 이동 단말기의 제어 방법
KR20130106691A (ko) 에이전트 서비스 방법, 이를 위한 전자 기기, 서버 및 기록 매체
CN116048335A (zh) 交互方法、交互装置、电子设备和计算机可读存储介质
CN112925545A (zh) 移动终端及其应用更新方法

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