KR101980834B1 - 컨텍스트 정보 기반 응용프로그램 관리방법 및 그 장치 - Google Patents

컨텍스트 정보 기반 응용프로그램 관리방법 및 그 장치 Download PDF

Info

Publication number
KR101980834B1
KR101980834B1 KR1020120136398A KR20120136398A KR101980834B1 KR 101980834 B1 KR101980834 B1 KR 101980834B1 KR 1020120136398 A KR1020120136398 A KR 1020120136398A KR 20120136398 A KR20120136398 A KR 20120136398A KR 101980834 B1 KR101980834 B1 KR 101980834B1
Authority
KR
South Korea
Prior art keywords
application program
terminal
information
application
user
Prior art date
Application number
KR1020120136398A
Other languages
English (en)
Other versions
KR20140068651A (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 KR1020120136398A priority Critical patent/KR101980834B1/ko
Priority to US14/011,653 priority patent/US20140149348A1/en
Publication of KR20140068651A publication Critical patent/KR20140068651A/ko
Application granted granted Critical
Publication of KR101980834B1 publication Critical patent/KR101980834B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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 Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

컨텍스트 정보 기반 응용프로그램 관리방법 및 그 장치가 개시된다. 본 발명의 일 실시 예에 따른 응용프로그램 관리방법은 제1 단말에서 응용프로그램의 상태가 변경되면 제2 단말에 응용프로그램 업데이트 발생을 알리는 단계와, 단말 간 응용프로그램 동기화를 위해 응용프로그램 업데이트 발생을 인지한 제2 단말에 업데이트된 응용프로그램 또는 응용프로그램의 정보를 제공하는 단계를 포함한다.

Description

컨텍스트 정보 기반 응용프로그램 관리방법 및 그 장치 {Method and apparatus for managing applications based on contexts}
본 발명은 응용프로그램 관리 및 단말 간 응용프로그램 동기화 기술에 관한 것이다.
클라우드 컴퓨팅(cloud computing) 환경에서 사용자는 사용자의 개인정보와, 파일, 이메일 등과 같은 컨텐츠에 대한 동기화 서비스를 통해 사용자가 소지한 단말을 통해 동일한 컨텐츠에 접근할 수 있다.
대표적인 클라우드 서비스 중 하나는 애플(Apple)사의 아이클라우드(iCloud) 서비스이다. 현재 클라우드 서비스는, 사용자가 다수의 단말을 사용하고 있는 경우에 단말 간 컨텐츠, 예를 들어 연락처나 일정 등과 같은 개인 정보와, 사진, 멀티미디어, 문서 등과 같은 파일 컨텐츠 동기화를 통한 관리는 지원하고 있으나, 응용프로그램에 대한 관리는 동종 플랫폼을 사용하는 단말 간 응용프로그램 동기화 기능에 제한되고 있다. 특히, 애플의 응용프로그램 동기화는 클라우드 서버가 아닌 아이튠즈(iTunes)를 통한 단말 간 1:1 동기화이고, 클라우드 서버로는 이메일, 연락처, 일정(캘린더), 작업문서 등만이 동기화된다.
애플의 iTunes를 통한 응용프로그램 동기화는 인증된 컴퓨터로 iOS 장비가 연결된 후 이루어진다. 이때, 인증된 컴퓨터들에 저장된 응용프로그램 항목이 상이하다면 iOS 장비는 해당 컴퓨터의 응용프로그램 항목만을 동기화한다. 애플의 iCloud는 응용프로그램 동기화가 아니라, 응용프로그램을 iCloud로 백업만 한다. iCloud 실시간 동기화는 이메일, 주소록, 일정(캘린더), iWork 등에 한정된다.
일 실시 예에 따라, 동종 또는 이종 플랫폼 기반 단말들 간에 응용프로그램을 동기화할 수 있는 컨텍스트 정보 기반 응용프로그램 관리방법 및 그 장치를 제안한다.
일 실시 예에 따른 응용프로그램 관리방법은, 제1 단말에서 응용프로그램의 상태가 변경되면 제2 단말에 응용프로그램 업데이트 발생을 알리는 단계와, 단말 간 응용프로그램 동기화를 위해 응용프로그램 업데이트 발생을 인지한 제2 단말에 업데이트된 응용프로그램 또는 응용프로그램의 정보를 제공하는 단계를 포함한다.
제1 단말과 제2 단말은 동일 사용자에 의해 인증된 단말들로서 동종 또는 이종 플랫폼 기반에서 동작할 수 있다.
업데이트 발생을 알리는 단계는, 변경된 응용프로그램에 대한 업데이트 요청 메시지와 함께 해당 응용프로그램 정보를 제1 단말로부터 수신하여 단계와, 제1 단말로부터의 업데이트 요청 수신에 따라 해당 응용프로그램 정보를 업데이트하고 업데이트 발생을 알리는 푸쉬 알람 메시지를 푸쉬 서버를 통해 제2 단말에 전송하는 단계를 포함할 수 있다.
응용프로그램의 정보를 제공하는 단계는, 응용프로그램 업데이트 발생을 인지한 제2 단말로부터 해당 응용프로그램 정보 전송을 요청받는 단계와, 응용프로그램 정보 전송을 요청한 제2 단말의 컨텍스트 정보를 이용하여 해당 응용프로그램의 정보 또는 해당 응용프로그램과 연관된 추천 응용프로그램의 정보를 제2 단말에 전송하는 단계를 포함할 수 있다.
컨텍스트 정보는 단말정보, 사용자 정보, 단말 별 응용 프로그램 정보 및 응용프로그램 실행정보를 포함하고, 단말정보는 단말 사양정보와, 단말의 위치 및 응용프로그램 사용빈도를 포함하여 실시간으로 변하는 실시간 정보를 포함하고, 사용자 정보는 사용자의 사용 이력을 포함하며, 응용프로그램 정보는 응용프로그램 설치정보 및 실행상태정보를 포함할 수 있다. 제2 단말에 제공하는 해당 응용프로그램의 정보는 제2 단말이 응용프로그램 스토어로부터 해당 응용프로그램을 제공받을 수 있는 링크 정보와, 응용프로그램 실행시 생성되는 컨텐츠 및 실행상태 정보를 포함할 수 있다.
제2 단말에 전송하는 단계는, 제2 단말로부터 해당 응용프로그램 정보 전송을 요청받으면, 제2 단말의 컨텍스트 정보를 통해 제2 단말의 이기종 여부를 판단하는 단계와, 제2 단말이 제1 단말과 이기종이면, 응용프로그램 스토어에 해당 응용프로그램이 존재하는지 여부를 확인하고, 해당 응용프로그램이 존재하는 경우 해당 응용프로그램을 제공받을 수 있는 링크정보를 제2 단말에 전송하고, 해당 응용프로그램이 존재하지 않는 경우 해당 응용프로그램과 관련된 추천 응용프로그램에 대한 정보를 제2 단말에 전송하는 단계와, 제2 단말이 제1 단말과 동기종이면, 응용프로그램 스토어로부터 해당 응용프로그램을 제공받을 수 있는 링크정보를 제2 단말에 전송하는 단계를 포함할 수 있다.
다른 실시 예에 따른 응용프로그램 관리방법은, 사용자가 소지한 단말들로부터 응용프로그램의 정보와 단말별 컨텍스트 정보를 수신하여 각 단말에서의 응용프로그램 사용형태를 분석하는 단계와, 분석 결과를 기초로 하여 사용자의 단말별 응용프로그램 사용 패턴을 모델링하는 단계와, 모델링된 응용프로그램 사용 패턴을 이용하여 단말 간 응용프로그램 동기화를 수행하는 단계를 포함한다.
단말 간 응용프로그램 동기화를 수행하는 단계는, 모델링된 응용프로그램 사용 패턴을 이용하여 제1 단말에서 소정의 사용빈도를 갖는 응용프로그램의 정보를 제2 단말에 추천할 수 있다.
단말 간 응용프로그램 동기화를 수행하는 단계는, 응용프로그램 동기화 주기와 동기화할 응용프로그램 목록에 대한 제어 및 관리를 수행할 수 있다.
응용프로그램 사용형태를 분석하는 단계는, 컨텍스트 정보에 포함된 응용프로그램 사용 이력을 이용하여 사용자가 소지한 단말들에 설치된 응용프로그램의 시간 구간별 히팅률을 계산하는 단계와, 계산된 응용프로그램의 히팅률을 이용하여 해당 단말에서의 응용프로그램 사용 상태 값을 계산하는 단계를 포함하고, 응용프로그램 사용 패턴을 모델링하는 단계는, 계산된 응용프로그램 사용 상태 값을 이용하여 사용자의 단말별 응용프로그램 사용 패턴을 모델링하고 모델링된 패턴을 저장할 수 있다.
단말 간 응용프로그램 동기화를 수행하는 단계는, 계산된 응용프로그램 사용 상태 값을 이전의 응용프로그램 사용 상태 값과 비교하는 단계와, 비교 결과 이전 값보다 크면 계산된 사용 상태 값을 기초로 해당 응용프로그램의 동기화 우선순위와 동기화 주기를 조정하는 단계와, 비교 결과 이전 값보다 작으면 계산된 사용 상태 값을 임계값과 비교하여, 임계값보다 큰 경우 계산된 사용 상태 값을 기초로 해당 응용프로그램의 동기화 우선순위와 동기화 주기를 조정하고, 임계값보다 작은 경우 해당 응용프로그램의 동기화를 중단하는 단계를 포함할 수 있다.
다른 실시 예에 따른 응용프로그램 관리장치는, 사용자가 소지한 단말들로부터 컨텍스트 정보를 수집하여 수집한 컨텍스트 정보를 응용프로그램에서 사용할 수 있는 형태로 모델링하는 컨텍스트 모델링부와, 모델링된 컨텍스트 정보를 기초로 제1 단말에서 상태가 변경된 응용프로그램 또는 응용프로그램 정보를 제2 단말에 제공하는 응용프로그램 제공부와, 제1 단말에서 응용프로그램의 상태가 변경되면 제1 단말의 요청을 수신하여 해당되는 응용프로그램의 정보를 업데이트하고 제2 단말에 업데이트 발생을 알리는 응용프로그램 동기화부를 포함한다.
일 실시 예에 따르면, 동종 또는 이종 플랫폼을 사용하는 다수의 단말을 사용하는 사용자가 응용프로그램 사용에 있어서 동일한 사용자 경험을 제공받을 수 있다. 즉, 사용자가 소지한 하나의 단말을 통해 추가, 삭제, 갱신 등 상태가 변경된 응용프로그램 정보를, 사용자가 소지한 다른 단말들을 통해서도 단말의 플랫폼의 이종 여부에 관계없이 동일하게 손쉽게 사용할 수 있다.
응용프로그램의 상태가 변경시에 인터넷을 기반으로 단말 간 실시간 응용프로그램 동기화가 이루어지고 응용프로그램 실행환경이 동기화되기 때문에, 사용자는 다양한 단말을 동일한 환경에서 사용할 수 있다. 나아가, 퍼스널 클라우드 컴퓨팅 환경에서 하나의 퍼스널 클라우드 서버와 다수의 단말 간 1: N 응용프로그램 동기화가 가능하다.
도 1은 본 발명의 일 실시 예에 따른 응용프로그램 관리 시스템의 구성도,
도 2는 본 발명이 적용되는 네트워크 구성의 일 실시 예,
도 3은 본 발명이 적용되는 네트워크 구성의 다른 실시 예,
도 4는 본 발명의 일 실시 예에 따른 응용프로그램 관리장치와 단말의 세부 구성도,
도 5는 본 발명의 일 실시 예에 따라 단말 간 응용프로그램 동기화를 위한 구성요소 간 전송 프로세스를 나타내는 참조도,
도 6은 본 발명의 일 실시 예에 따라 단말 간 응용프로그램 동기화를 위한 구성요소 간 전송 프로세스를 도시한 흐름도,
도 7은 도 6의 단말 간 응용프로그램 동기화를 위한 구성요소 간 프로세스를 세부적으로 도시한 흐름도,
도 8은 본 발명의 일 실시 예에 따라 단말의 응용프로그램 사용 이력을 이용하여 지능형 응용프로그램 정보를 제공하기 위한 구성요소 간 전송 프로세스를 나타내는 참조도,
도 9는 본 발명의 일 실시 예에 따라 단말의 위치정보를 이용하여 지능형 응용프로그램 정보를 제공하기 위한 구성요소 간 전송 프로세스를 나타내는 참조도,
도 10은 본 발명의 일 실시 예에 따라 컨텍스트 정보에 기반하여 응용프로그램을 제공하는 프로세스를 도시한 흐름도,
도 11은 본 발명의 일 실시 예에 따라 컨텍스트 정보에 기반하여 단말 간 응용프로그램을 동기화하는 프로세스를 도시한 흐름도,
도 12는 본 발명의 일 실시 예에 따라 도 11의 응용프로그램 사용형태 분석에 따른 사용 상태 패턴 모델링 프로세스를 도시한 흐름도,
도 13은 본 발명의 일 실시 예에 따라 도 11의 응용프로그램 사용 상태 기반 응용프로그램 동기화 주기 및 동기화 항목 제어 프로세스를 세부적으로 도시한 흐름도이다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시 예에 따른 응용프로그램 관리 시스템의 구성도이다.
도 1을 참조하면, 응용프로그램 관리 시스템은 응용프로그램 관리장치(10), 단말(12) 및 응용프로그램 스토어(14)를 포함한다.
단말(12)은 사용자가 응용프로그램을 설치하여 실행할 수 있는 모든 전자장치를 포함한다. 예를 들어, 단말(12)은 스마트폰, 스마트 탭, 노트북, e-book, IPTV, PMP, 내비게이션, MP3 플레이어, 이동방송 수신기, 디지털 카메라, 컴퓨터 등 각종 디바이스일 수 있으며, 전술한 예에 한정되지 않는다. 단말(12)은 다수 개로서, 동일한 사용자가 소지한 디바이스들일 수 있으며, 동종 플랫폼뿐만 아니라 이종 플랫폼 기반에서 동작하는 디바이스들을 포함할 수 있다. 예를 들어, 단말(12)들은 안드로이드 기반에서 운영되는 스마트 패드와 iOS 기반에서 운영되는 아이폰 등일 수 있다.
응용프로그램 관리장치(10)는 단말(12)에 응용프로그램 또는 응용프로그램 관련정보를 제공한다. 응용프로그램 관리장치(10)는 서버일 수 있는데, 특히 클라우드 서버(cloud server)일 수 있다. 클라우드 서버 형태의 응용프로그램 관리장치(10)는 단말(12)에 퍼스널 클라우드 컴퓨팅(Personal Cloud Computing: PCC) 서비스를 제공하는데, 단말(12)이 요청하는 응용프로그램 또는 응용프로그램 관련정보를 인터넷을 통해 제공할 수 있다. 컴퓨터 네트워크 구성도에서 인터넷은 구름으로 표현되며, 이는 숨겨진 복잡한 인프라 구조를 의미한다. 사용자는 퍼스널 클라우드 컴퓨팅 인프라를 이용하여 인터넷을 통해 언제 어디서나 자신이 원하는 응용프로그램을 제공받을 수 있다. 응용프로그램 스토어(14)는 사용자가 단말(12)에 설치하고자 하는 응용프로그램을 구매할 수 있는 공간으로서, 예를 들어 애플의 앱 스토어 또는 구글의 안드로이드 마켓 등이 있다.
본 발명은 사용자가 자신이 소지한 단말의 종류에 상관없이 어느 단말에서나 동일한 사용자 경험(User Experience: UX)을 느낄 수 있도록 하는 것을 그 목적으로 한다. 즉, 사용자가 소지한 하나의 단말에서 응용프로그램의 상태가 추가, 삭제 또는 갱신 등으로 변경되는 경우, 사용자가 소지한 다른 단말들에서도 동일하게 응용프로그램의 상태가 변경되도록 한다. 응용프로그램의 상태 변경은 실시간으로 이루어질 수 있다. 이를 위해, 응용프로그램 관리장치(10)는 단말 간 응용프로그램을 동기화한다. 예를 들어, 사용자가 하나의 단말에 응용프로그램을 설치하면 이 정보가 클라우드 상의 응용프로그램 관리장치(10)에 전송되고, 응용프로그램 관리장치(10)는 사용자의 다른 단말들에도 동일한 응용프로그램이 설치되도록 한다. 결과적으로 사용자가 소지한 모든 단말들에 동일한 응용프로그램이 설치된다.
응용프로그램 관리장치(10)에서 단말(12) 간 응용프로그램 동기화 과정은 두 가지로 분류될 수 있다. 첫째로, 응용프로그램 관리장치(10)가 직접 응용프로그램을 단말(12)에 제공할 수 있다. 둘째로, 응용프로그램 관리장치(10)가 업데이트되는 응용프로그램의 정보를 단말(12)에 알려주면, 단말(12)이 응용프로그램 스토어(14)를 통해 해당 응용프로그램을 설치할 수 있다. 여기서, 업데이트란 응용프로그램의 추가, 삭제, 갱신 등 응용프로그램의 상태가 변경되는 모든 경우를 총칭한다.
도 2는 본 발명이 적용되는 네트워크 구성의 일 실시 예이다.
도 2를 참조하면, 사용자는 동종 또는 이종 플랫폼 기반의 다수의 단말(12)을 소지할 수 있으며, 응용프로그램 관리장치(10)는 단일 개 또는 다수 개일 수 있다. 각 단말(12)은 자신에게 해당되는 플랫폼에 따라 각기 다른 응용프로그램 스토어(14)와 연동하여 해당되는 응용프로그램 스토어(14)로부터 응용프로그램을 제공받아 설치할 수 있다.
도 3은 본 발명이 적용되는 네트워크 구성의 다른 실시 예이다.
도 3을 참조하면, 사용자는 동종 또는 이종 플랫폼 기반의 다수의 단말(12)을 소지할 수 있으며, 응용프로그램 관리장치(10)는 단일 개 또는 다수 개일 수 있다. 클라우드 상의 응용프로그램 관리장치(10)가 응용프로그램을 단말(12)에 제공하여 단말 간 응용프로그램 동기화를 수행할 수 있다. 단말(12)이 어디로부터 응용프로그램을 제공받느냐는 응용프로그램 스토어(14)의 정책에 따라 달라질 수 있다.
도 4는 본 발명의 일 실시 예에 따른 응용프로그램 관리장치(10)와 단말(12)의 세부 구성도이다.
응용프로그램 관리장치(10)는 단말 정보와 사용자 정보를 포함하는 컨텍스트 정보를 관리하고, 실시간으로 가변하는 컨텍스트 정보를 수집 및 저장하며, 컨텍스트 정보를 모델링하여 응용프로그램에 관련된 정보를 단말(12)에 제공한다. 또한, 단말 간 응용프로그램 실행환경을 동기화하여 사용자가 어떤 단말을 사용하더라도 동일한 사용경험을 느끼도록 한다. 이 경우, 사용자가 소지한 하나의 단말에 응용프로그램이 업데이트되면, 사용자가 소지한 다른 단말들에도 동일하게 응용프로그램 업데이트가 적용되어 사용자는 단말에 상관없이 동일한 환경에서 작업할 수 있게 된다.
일 실시 예에 따르면, 응용프로그램 관리장치(10)는 컨텍스트 모델링부(100), 응용프로그램 제공부(102) 및 응용프로그램 동기화부(104)를 포함한다.
컨텍스트 모델링부(100)는 사용자가 소지한 단말들로부터 컨텍스트 정보를 수집하여 수집한 컨텍스트 정보를 응용프로그램에서 사용할 수 있는 형태로 모델링한다. 컨텍스트 정보는 단말 정보, 사용자 정보, 단말 별 응용 프로그램 정보 및 응용프로그램 실행정보 등을 포함하는데, 단말정보는 단말 사양정보와 단말의 위치, 응용프로그램 사용빈도 등 실시간으로 변하는 실시간 정보를 포함하며, 사용자 정보는 사용자의 사용 이력을 포함한다. 사용 이력은 사용자의 응용프로그램 사용에 따라 생성된 정보로서, 응용프로그램 사용횟수, 사용시간 또는 사용량에 대한 정보를 포함한다. 또한, 응용프로그램 사용에 따라 생성되는 컨텐츠 사용정보일 수도 있다. 컨텍스트 정보는 사용자의 단말(12) 사용에 따라 실시간으로 가변할 수 있는 실시간 정보일 수 있다.
일 실시 예에 따라 컨텍스트 모델링부(100)는 컨텍스트 정보에 포함된 응용프로그램 사용 이력을 이용하여 사용자가 소지한 단말들에 설치된 응용프로그램의 시간 구간별 히팅률(hitting rate)을 계산한다. 시간 구간별 히팅률은 시간상 구간을 나누고 그 구간별로 히팅률을 계산한 것이다. 그리고, 계산된 응용프로그램의 시간 구간별 히팅률을 이용하여 해당 단말에서의 응용프로그램 사용 상태 값(Usage State Value)을 계산한다. 이어서, 계산된 응용프로그램 사용 상태 값을 이용하여 사용자의 단말별 응용프로그램 사용 패턴을 모델링하고 모델링된 패턴을 저장한다.
응용프로그램 제공부(102)는 컨텍스트 모델링부(100)에서 모델링된 컨텍스트 정보를 기초로 제1 단말에서 상태가 변경된 응용프로그램 또는 응용프로그램 정보를 제2 단말에 제공한다. 제2 단말에 제공하는 응용프로그램의 정보는 제2 단말이 응용프로그램 스토어로부터 해당 응용프로그램을 제공받을 수 있는 링크 정보를 포함할 수 있다.
일 실시 예에 따라 응용프로그램 제공부(102)는 제2 단말로부터 해당 응용프로그램 정보 전송을 요청받으면, 제2 단말의 컨텍스트 정보를 이용하여 해당 응용프로그램의 정보 또는 해당 응용프로그램과 관련된 추천 응용프로그램의 정보를 제2 단말에 전송한다.
일 실시 예에 따라 응용프로그램 제공부(102)는 제2 단말로부터 해당 응용프로그램 정보 전송을 요청받으면, 제2 단말의 컨텍스트 정보를 이용하여 제2 단말의 이기종 여부를 판단한다. 이때, 제2 단말이 제1 단말과 이기종이면, 응용프로그램 스토어에 해당 응용프로그램이 존재하는지 여부를 확인하고, 해당 응용프로그램이 존재하는 경우 해당 응용프로그램을 제공받을 수 있는 링크정보를 제2 단말에 전송하고 해당 응용프로그램이 존재하지 않는 경우 해당 응용프로그램과 관련된 추천 응용프로그램에 대한 정보를 제2 단말에 전송한다. 이에 비하여, 제2 단말이 제1 단말과 동기종이면, 응용프로그램 스토어로부터 해당 응용프로그램을 제공받을 수 있는 링크정보를 제2 단말에 전송한다.
응용프로그램 동기화부(104)는 제1 단말에서 응용프로그램의 상태가 변경되면 해당되는 응용프로그램의 정보를 업데이트하고 제2 단말에 업데이트 발생을 알린다.
일 실시 예에 따라 응용프로그램 동기화부(104)는 제1 단말에서 변경 또는 설치된 응용프로그램에 대한 업데이트 요청 메시지와 함께 해당 응용프로그램의 정보를 제1 단말로부터 수신하여 해당 응용프로그램 정보를 업데이트한다. 그리고, 업데이트 발생을 알리는 푸쉬 알람 메시지를 푸쉬 서버를 통해 제2 단말에 전송한다.
일 실시 예에 따르면, 단말(12)은 응용프로그램 동기화 클라이언트(120)와 단말 컨텍스트 수집 및 송신부(122)를 포함한다.
응용프로그램 동기화 클라이언트(120)는 응용프로그램의 업데이트 시 응용프로그램 업데이트를 응용프로그램 관리장치(10)에 알린다. 또한, 응용프로그램 관리장치(10)로부터 응용프로그램 동기화를 위한 응용프로그램 정보를 수신하면 해당 응용프로그램을 응용프로그램 스토어로부터 제공받아 설치할 수 있다. 단말 컨텍스트 수집 및 송신부(122)는 단말의 컨텍스트 정보를 수집하여 이를 응용프로그램 관리장치(10)로 전송한다.
도 5는 본 발명의 일 실시 예에 따라 단말 간 응용프로그램 동기화를 위한 구성요소 간 전송 프로세스를 나타내는 참조도이다.
도 5를 참조하면, 사용자가 자신이 소지한 제1 단말(12a)을 이용하여 응용프로그램을 제1 응용프로그램 스토어(14)로부터 제공받아 설치(510)한다고 가정한다. 그러면, 제1 단말(12a)은 업데이트된 응용프로그램 정보를 발견 및 수집하여 응용프로그램 관리장치(10)에 업데이트 이벤트를 전송한다(520). 응용프로그램 관리장치(10)가 제1 단말(12a)로부터 업데이트 이벤트를 전송받으면, 사용자의 제2 단말(12b)에 업데이트 발생을 알린다(530). 업데이트 발생을 인지한 제2 단말(12b)은 응용프로그램 관리장치(10)에 업데이트가 발생한 응용프로그램에 대한 정보를 요청(540)하여, 응용프로그램 관리장치(10)로부터 응용프로그램 정보를 제공받는다(550). 이어서, 제2단말(12b)은 응용프로그램 정보를 이용하여 제2 응용프로그램 스토어(14)에서 해당되는 응용프로그램을 제공받아 설치한다(560).
도 6은 본 발명의 일 실시 예에 따라 단말 간 응용프로그램 동기화를 위한 구성요소 간 전송 프로세스를 도시한 흐름도이다.
도 6을 참조하면, 사용자가 자신이 소지한 제1 단말(12a)을 이용하여 응용프로그램 스토어에서 응용프로그램을 구입하여 설치한다(600). 이때, 제1 단말(12a)은 설치된 응용프로그램 정보를 발견 및 수집하여, 발견 및 수집한 응용프로그램 정보와 함께 응용프로그램 관리장치(10)에 업데이트를 요청한다(610).
이어서, 응용프로그램 관리장치(10)는 업데이트 요청에 따라 설치된 응용프로그램 정보를 업데이트(620)하고, 설치로 인한 응용프로그램 정보 업데이트를 제2 단말(12b)에 알린다(630). 응용프로그램 정보 업데이트를 인지한 제2 단말(12b)이 응용프로그램 관리장치(10)에 설치된 응용프로그램 정보에 대한 전송을 요청(640)하면, 응용프로그램 관리장치(10)는 제2 단말(12b)에 응용프로그램 정보를 제공한다(650). 제2 단말(12b)에 제공하는 응용프로그램 정보는 제2 단말(12b)이 응용프로그램 스토어로부터 해당 응용프로그램을 제공받을 수 있는 링크 정보일 수 있다.
이어서, 제2 단말(12b)은 응용프로그램 관리장치(10)로부터 전송받은 응용프로그램 정보를 이용하여 응용프로그램 스토어로부터 해당 응용프로그램을 제공받아 설치한다(660).
도 7은 도 6의 단말 간 응용프로그램 동기화를 위한 구성요소 간 프로세스를 세부적으로 도시한 흐름도이다.
도 7을 참조하면, 사용자가 자신이 소지한 제1 단말(12a)을 이용하여 응용프로그램 스토어에서 응용프로그램을 구입하여 설치한다(700). 이때, 제1 단말(12a)은 설치된 응용프로그램 정보를 발견 및 수집하여, 발견 및 수집한 응용프로그램 정보와 함께 응용프로그램 관리장치(10)에 업데이트를 요청한다(710).
이어서, 응용프로그램 관리장치(10)는 업데이트 요청에 따라 설치된 응용프로그램 정보를 업데이트(720)하고, 푸쉬 서버(16)에 업데이트 발생을 알리는 푸쉬 알람 메시지를 제2 단말(12b)에 전송할 것을 요청한다(730). 그러면, 푸쉬 서버(16)는 업데이트 발생을 알리는 푸쉬 알람 메시지를 제2 단말(12b)에 전송한다(740).
푸쉬 알람 메시지를 통해 응용프로그램 정보 업데이트를 인지한 제2 단말(12b)이 응용프로그램 관리장치(10)에 설치된 응용프로그램 정보에 대한 전송을 요청(750)하면, 응용프로그램 관리장치(10)는 응용프로그램 정보 전송을 요청한 제2 단말(12b)의 컨텍스트 정보를 분석한다(760). 컨텍스트 정보는 단말 정보, 사용자 정보, 단말 별 응용 프로그램 정보 및 응용프로그램 실행정보 등을 포함하는데, 단말정보는 단말 사양정보와 단말의 위치, 응용프로그램 사용빈도 등 실시간으로 변하는 실시간 정보를 포함하며, 사용자 정보는 사용자의 사용 이력을 포함하며, 응용프로그램 정보는 응용프로그램 설치정보 및 실행상태정보를 포함할 수 있다. 이어서, 응용프로그램 관리장치(10)는 컨텍스트 정보 분석 결과를 토대로 제2 단말(12b)에 응용프로그램 정보 또는 해당 응용프로그램과 연관된 추천 응용프로그램의 정보를 제공한다(770).
이어서, 제2 단말(12b)은 응용프로그램 관리장치(10)로부터 전송받은 응용프로그램 정보를 이용하여 응용프로그램 스토어로부터 해당 응용프로그램을 제공받아 설치한다(780).
도 8은 본 발명의 일 실시 예에 따라 단말의 응용프로그램 사용 이력을 이용하여 지능형 응용프로그램 정보를 제공하기 위한 구성요소 간 전송 프로세스를 나타내는 참조도이다.
도 8을 참조하면, 응용프로그램 관리장치(10)는 사용자의 각 단말로부터 응용프로그램 사용 이력을 제공받는데, 예를 들어 제2 단말(12a)에서 수집된 응용프로그램 히팅률을 포함하는 사용 이력을 제2 단말(12a)로부터 제공받는다(810). 그리고, 제공받은 사용 이력을 이용하여 각 단말에 설치된 응용프로그램의 시간 구간별 히팅률(Hitting Rate)을 계산하며, 계산된 응용프로그램의 시간 구간별 히팅률 값을 이용해서 각 단말의 응용프로그램 사용 상태 패턴을 모델링하여 해당 패턴을 저장한다.
이어서, 응용 응용프로그램 관리장치(10)는 응용프로그램 사용 상태 패턴을 이용하여 추천 응용프로그램 목록을 선정하고, 선정된 추천 응용프로그램 목록을 제2 단말(12b)에 제공한다(820). 추천 응용프로그램 목록 선정의 예로는 Map/Reduce 방식을 이용할 수 있다. Map은 PCC 스토리지에서 흩어져 있는 데이터를 key, value의 형태로 연관성 있는 데이터끼리 분류하여 묶는 단계이고, Reduce는 Map 단계를 거친 후 중복 데이터를 제거하고 원하는 데이터를 추출하는 단계이다. Map/Reduce 방식은 추천 응용프로그램 목록 선정 방식의 일 예일 뿐, 구현 가능한 모든 방식이 사용될 수 있음을 명시한다.
이어서, 제2 단말(12b)은 응용 응용프로그램 관리장치(10)로부터 제공받은 추천 응용프로그램 목록을 사용자에게 표시하고, 사용자는 추천 응용프로그램 목록 중에서 원하는 응용프로그램을 응용프로그램 스토어(14)로부터 구매하여 제2 단말(12b)에 설치할 수 있다(830).
전술한 응용프로그램 관리장치(10)의 관리 프로세스는 응용프로그램의 동기화 프로세스와는 독립적인 형태로 주기적으로 수행될 수 있으며, 응용 사용 상태의 변화에 따라 동적인 관리 프로세스를 지원할 수 있다.
도 9는 본 발명의 일 실시 예에 따라 단말의 위치정보를 이용하여 지능형 응용프로그램 정보를 제공하기 위한 구성요소 간 전송 프로세스를 나타내는 참조도이다.
도 9를 참조하면, 응용프로그램 관리장치(10)는 단말(12)의 위치정보를 포함하는 컨텍스트 정보를 단말(12)로부터 제공받아 저장한다(910). 이때, 퍼스널 클라우드 컴퓨팅(PCC) 스토리지에 위치정보를 포함한 컨텍스트 정보를 저장할 수 있다. 이어서, 응용프로그램 관리장치(10)는 단말(12)의 위치정보를 분석하여 사용자의 위치 이동에 따른 추천 응용프로그램 목록을 선정한다. 예를 들어, 단말(12)이 특정 위치에 있음을 감지하여 사용자의 응용프로그램 사용패턴 및 다른 사용자들의 응용프로그램 사용패턴을 분석하여 응용프로그램을 추천할 수 있다. 추천 응용프로그램 목록 선정의 예로는 Map/Reduce 방식을 이용할 수 있다.
이어서, 응용프로그램 관리장치(10)는 푸쉬 서버(16)에 사용자가 이동한 위치에서 사용자 특성에 적합한 응용프로그램 추천 목록을 단말(12)에 제공할 것을 요청한다(920). 그러면, 푸쉬 서버(16)는 응용프로그램 추천 목록을 푸쉬 알람 서비스 형태로 단말(12)에 전송한다(930). 이어서, 단말(12)은 응용프로그램 추천 목록을 사용자에게 표시하고, 사용자는 응용프로그램 추천 목록들 중에서 원하는 응용프로그램을 응용프로그램 스토어(14)에서 구입하여 단말(12)에 설치할 수 있다(940).
도 10은 본 발명의 일 실시 예에 따라 컨텍스트 정보에 기반하여 응용프로그램을 제공하는 프로세스를 도시한 흐름도이다.
도 10은 구체적으로 컨텍스트 정보에 기반하여 응용프로그램 정보를 업데이트할 필요가 있는 시점으로서, 푸쉬 알람 메시지를 전송받은 단말로부터의 업데이트 요청 발생 이후의 프로세스를 나타낸다.
응용프로그램 관리장치는 푸쉬 알람 메시지를 전송받은 단말로부터 응용프로그램 업데이트 요청을 수신(1000)하면, 단말의 컨텍스트 정보를 이용하여 응용프로그램 업데이트를 요청한 단말이 응용프로그램이 업데이트된 단말과 기종이 동일한지 여부를 판단한다(1010). 컨텍스트 정보는 단말 정보, 사용자 정보 및 응용프로그램 정보 등을 포함하는데, 예를 들어 단말의 위치 정보, 단말 특성 정보, 사용자 선호도(Preference) 정보, 응용프로그램 정보, 응용프로그램 실행정보 등일 수 있다.
단말의 이기종 여부 판단 결과, 단말이 동기종인 경우 응용프로그램 관리장치는 해당 응용프로그램을 구입 혹은 다운로드 받을 수 있는 해당 단말용 응용프로그램 스토어의 링크 정보를 단말에 전송한다(1030).
이에 비하여, 단말이 이기종 단말인 것으로 판단되면, 응용프로그램 관리장치는 해당 단말용 응용프로그램 스토어에 업데이트된 응용프로그램이 존재하는지 여부를 확인한다(1040). 확인 결과, 응용프로그램 스토어에 해당 응용프로그램이 존재하면, 구입 혹은 다운로드 받을 수 있는 해당 단말용 응용프로그램 스토어의 링크 정보를 단말에 전송한다(1050). 그러나, 응용프로그램 스토어에 해당 응용프로그램이 존재하지 않으면, 유사한 기능을 가진 추천 응용프로그램에 대한 정보를 단말에 전송한다(1060).
단말은 응용프로그램 관리장치로부터 전송받은 응용프로그램 정보를 기반으로 사용자가 응용프로그램을 구입 또는 다운로드 할 수 있도록 해당 정보를 표시한다. 또는 추천 응용프로그램 중 소정의 응용프로그램을 선택하여 구입 또는 다운로드 할 수 있도록 사용자에 해당 정보를 표시한다.
도 11은 본 발명의 일 실시 예에 따라 컨텍스트 정보에 기반하여 단말 간 응용프로그램을 동기화하는 프로세스를 도시한 흐름도이다.
도 11을 참조하면, 응용프로그램 관리장치는 사용자가 소지한 단말들로부터 응용프로그램의 정보와 단말별 컨텍스트 정보를 수신(1100)하여 각 단말에서의 응용프로그램 사용형태를 분석한다(1110). 그리고, 분석 결과를 기초로 하여 사용자의 단말별 응용프로그램 사용 패턴을 모델링한다(1120). 사용형태 분석 및 모델링에 대한 세부 프로세스는 도 12에서 상세히 후술한다.
이어서, 응용프로그램 관리장치는 모델링된 응용프로그램 사용 패턴을 이용하여 단말 간 응용프로그램 동기화를 수행한다(1130). 이때, 응용 응용프로그램 관리장치는 응용프로그램 사용 패턴을 이용하여 응용프로그램 동기화 주기와 동기화할 응용프로그램 목록에 대한 제어 및 관리를 수행할 수 있다. 응용프로그램 동기화 관리 프로세스는 도 13에서 상세히 후술한다.
전술한 응용프로그램 관리장치의 관리 프로세스는 응용프로그램의 동기화 프로세스와는 독립적인 형태로 주기적으로 수행될 수 있으며, 응용프로그램 사용 상태의 변화에 따라 동적인 관리 프로세스를 지원할 수 있다.
도 12는 본 발명의 일 실시 예에 따라 도 11의 응용프로그램 사용형태 분석에 따른 사용 상태 패턴 모델링 프로세스를 도시한 흐름도이다.
도 12를 참조하면, 응용프로그램 관리장치는 사용자의 단말들로부터 수집된 단말별 응용프로그램과 응용프로그램 히팅(Hitting) 정보를 포함한 사용 이력을 이용하여 단말들에 설치된 응용프로그램들의 시간 구간별 히팅률을 계산한다(1200). 그리고, 계산된 응용프로그램의 시간 구간별 히팅률을 이용하여 사용자의 각 단말에서의 응용프로그램의 사용 상태 값을 최종적으로 계산한다(1210). 이어서, 응용 응용프로그램 관리장치는 계산된 응용프로그램의 사용 상태 값을 이용하여 사용자의 단말 별 응용프로그램 사용 상태 패턴을 모델링하고 모델링된 사용 상태 패턴을 저장한다(1220).
도 13은 본 발명의 일 실시 예에 따라 도 11의 응용프로그램 사용 상태 기반 응용프로그램 동기화 주기 및 동기화 항목 제어 프로세스를 세부적으로 도시한 흐름도이다.
도 13을 참조하면, 응용프로그램 관리장치는 단말들로부터 응용프로그램의 사용 상태 관련 정보(예를 들어, 특정 시간 구간 동안의 응용프로그램의 사용횟수와 같은 정보 등)를 수집하여 저장하고, 사용자가 사용하고 있는 응용프로그램에 대한 사용 상태 값(Usage State Value)을 계산한다. 이어서, 계산된 응용프로그램에 대한 사용 상태 값을 이전 값(Historical Value)과 비교한다(1300). 비교 결과, 현재 사용 상태 값이 이전 값보다 높은 경우, 해당 사용 상태 값을 기반으로 사용자의 응용프로그램의 동기화 우선 순위 및 동기화 주기를 조정한다(1320). 예를 들어, 사용자의 응용프로그램의 동기화 우선 순위를 높이고, 동기화 주기를 더 빠르게 설정한다.
이에 비하여, 현재 사용 상태 값이 이전 값보다 낮은 경우 해당 사용 상태 값을 임계값(Threshold Value)과 비교한다(1330). 비교 결과, 사용 상태 값이 임계값보다 높은 경우 사용 상태 값을 기반으로 사용자의 응용프로그램의 동기화 우선 순위 및 동기화 주기를 조정한다(1320). 그러나, 임계값보다 낮은 경우 사용자의 해당 응용프로그램의 동기화를 중단한다(1340). 동기화가 중단되어 동기화 항목에서 제외된 응용프로그램을 추후 사용자가 사용하게 되는 경우, 해당 응용프로그램은 다시 동기화 항목에 추가될 수 있다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
10 : 응용프로그램 관리장치 12 : 단말
14 : 응용프로그램 스토어 16 : 푸쉬 서버

Claims (19)

  1. 응용프로그램 관리장치의 응용프로그램 관리방법에 있어서,
    사용자의 제1 단말에서 응용프로그램의 상태가 변경되면, 상기 응용프로그램의 정보를 업데이트하는 단계; 및
    상기 사용자의 제2 단말에서 상기 제1 단말과의 응용프로그램 동기화가 수행되도록, 업데이트된 상기 응용프로그램 또는 상기 응용프로그램의 정보를 상기 제2 단말로 제공하는 단계;
    를 포함하는 것을 특징으로 하는 응용프로그램 관리방법.
  2. 제 1 항에 있어서,
    상기 제1 단말과 상기 제2 단말은 상기 사용자에 의해 인증된 단말들로서 동종 또는 이종 플랫폼 기반에서 동작하는 것을 특징으로 하는 응용프로그램 관리방법.
  3. 제 1 항에 있어서,
    상기 업데이트하는 단계는,
    상태가 변경된 상기 응용프로그램에 대한 업데이트 요청 메시지와 함께 상기 응용프로그램의 정보를 상기 제1 단말로부터 수신하는 단계;
    상기 제1 단말로부터의 상기 업데이트 요청 메시지가 수신됨에 따라, 상기 응용프로그램의 정보를 업데이트하는 단계; 및
    상기 응용프로그램의 업데이트 발생을 알리는 푸쉬 알람 메시지를 푸쉬 서버를 통해 상기 제2 단말에 전송하는 단계;
    를 포함하는 것을 특징으로 하는 응용프로그램 관리방법.
  4. 제 1 항에 있어서,
    상기 응용프로그램 또는 상기 응용프로그램의 정보를 상기 제2 단말로 제공하는 단계는,
    상기 제2 단말로 상기 응용프로그램의 업데이트 발생을 통지하는 단계;
    상기 제2 단말로부터 상기 응용프로그램의 정보 전송을 요청받는 단계; 및
    상기 제2 단말의 컨텍스트 정보를 이용하여, 상기 응용프로그램의 정보 또는 상기 응용프로그램과 연관된 추천 응용프로그램의 정보를 상기 제2 단말에 전송하는 단계;
    를 포함하는 것을 특징으로 하는 응용프로그램 관리방법.
  5. 제 4 항에 있어서,
    상기 컨텍스트 정보는 상기 제2 단말의 단말정보, 상기 사용자의 사용자 정보, 상기 응용프로그램의 응용프로그램 정보 및 응용프로그램 실행정보를 포함하고,
    상기 단말정보는, 상기 제2 단말의 사양정보와, 위치 및 응용프로그램 사용빈도를 포함하고,
    상기 사용자 정보는, 상기 사용자의 사용 이력을 포함하며,
    상기 응용프로그램 정보는, 상기 응용프로그램의 설치정보 및 실행상태정보를 포함하는 것을 특징으로 하는 응용프로그램 관리방법.
  6. 제 4 항에 있어서,
    상기 제2 단말에 제공하는 상기 응용프로그램의 정보는 상기 제2 단말이 응용프로그램 스토어로부터 상기 응용프로그램을 제공받을 수 있는 링크 정보와, 상기 응용프로그램의 실행 시 생성되는 컨텐츠 및 실행상태 정보를 포함하는 것을 특징으로 하는 응용프로그램 관리방법.
  7. 제 4 항에 있어서,
    상기 제2 단말에 전송하는 단계는,
    상기 제2 단말로부터 상기 응용프로그램의 정보 전송을 요청받으면, 상기 제2 단말의 컨텍스트 정보를 통해 상기 제2 단말의 이기종 여부를 판단하는 단계;
    상기 제2 단말이 상기 제1 단말과 이기종이면, 상기 제2 단말에 대응하는 응용프로그램 스토어에 상기 응용프로그램이 존재하는지 여부를 확인하는 단계;
    상기 응용프로그램 스토어에 상기 응용프로그램이 존재하는 경우, 상기 응용프로그램을 제공받을 수 있는 링크정보를 상기 제2 단말에 전송하는 단계;
    상기 응용프로그램 스토어에 상기 응용프로그램이 존재하지 않는 경우, 상기 응용프로그램과 관련된 추천 응용프로그램에 대한 정보를 상기 제2 단말에 전송하는 단계; 및
    상기 제2 단말이 상기 제1 단말과 동기종이면, 상기 응용프로그램 스토어로부터 상기 응용프로그램을 제공받을 수 있는 링크정보를 상기 제2 단말에 전송하는 단계;
    를 포함하는 것을 특징으로 하는 응용프로그램 관리방법.
  8. 사용자가 소지한 복수의 단말로부터 각 단말의 응용프로그램 사용 상태 관련 정보와 컨텍스트 정보를 수신하는 단계;
    상기 응용프로그램 사용 상태 정보와 상기 컨텍스트 정보에 기초하여, 상기 각 단말에서의 응용프로그램 사용형태를 분석하는 단계;
    분석 결과를 기초로 하여, 상기 사용자의 단말별 응용프로그램 사용 패턴을 모델링하는 단계; 및
    상기 단말별 응용프로그램 사용 패턴을 이용하여, 상기 복수의 단말 간 응용프로그램 동기화를 수행하는 단계;
    를 포함하는 것을 특징으로 하는 응용프로그램 관리방법.
  9. 제 8 항에 있어서,
    상기 복수의 단말 간 응용프로그램 동기화를 수행하는 단계는,
    상기 단말별 응용프로그램 사용 패턴을 이용하여, 상기 복수의 단말 중 제1 단말에서 소정의 사용빈도를 갖는 응용프로그램의 정보를 상기 복수의 단말 중 제2 단말에 추천하는 것을 특징으로 하는 응용프로그램 관리방법.
  10. 제 8 항에 있어서,
    상기 복수의 단말 간 응용프로그램 동기화를 수행하는 단계는,
    응용프로그램 동기화 주기와 상기 복수의 단말 간 동기화할 응용프로그램 목록에 대한 제어 및 관리를 수행하는 단계를 포함하는 것을 특징으로 하는 응용프로그램 관리방법.
  11. 제 8 항에 있어서,
    상기 응용프로그램 사용형태를 분석하는 단계는,
    상기 컨텍스트 정보에 포함된 응용프로그램 사용 이력을 이용하여 상기 사용자가 소지한 상기 복수의 단말들에 설치된 응용프로그램들의 시간 구간별 히팅률을 계산하는 단계; 및
    상기 응용프로그램들의 시간 구간별 히팅률을 이용하여, 상기 각 단말에서의 응용프로그램 사용 상태 값을 계산하는 단계;를 포함하고,
    상기 응용프로그램 사용 패턴을 모델링하는 단계는,
    상기 응용프로그램 사용 상태 값을 이용하여 상기 단말별 응용프로그램 사용 패턴을 모델링하는 단계; 및
    모델링된 상기 단말별 응용프로그램 사용 패턴을 저장하는 단계를 포함하는 것을 특징으로 하는 응용프로그램 관리방법.
  12. 제 11 항에 있어서,
    상기 복수의 단말 간 응용프로그램 동기화를 수행하는 단계는,
    상기 응용프로그램 사용 상태 값을 이전의 응용프로그램 사용 상태 값과 비교하는 단계;
    상기 응용프로그램 사용 상태 값이 상기 이전의 응용프로그램 사용 상태 값보다 크면, 상기 응용프로그램 사용 상태 값을 기초로 대응하는 응용프로그램의 동기화 우선순위와 동기화 주기를 조정하는 단계;
    상기 응용프로그램 사용 상태 값이 상기 이전의 응용프로그램 사용 상태 값보다 작고, 상기 응용프로그램 사용 상태 값이 임계값보다 큰 경우, 상기 응용프로그램 사용 상태 값을 기초로 대응하는 응용프로그램의 동기화 우선순위와 동기화 주기를 조정하는 단계; 및
    상기 응용프로그램 사용 상태 값이 상기 이전의 응용프로그램 사용 상태 값보다 작고, 상기 응용프로그램 사용 상태 값이 상기 임계값보다 작은 경우, 대응하는 응용프로그램의 동기화를 중단하는 단계;
    를 포함하는 것을 특징으로 하는 응용프로그램 관리방법.
  13. 사용자가 소지한 복수의 단말로부터 컨텍스트 정보를 수집하고, 상기 컨텍스트 정보를 응용프로그램에서 사용할 수 있는 형태로 모델링하는 컨텍스트 모델링부;
    상기 복수의 단말 중 제1 단말에서 응용프로그램의 상태가 변경되면, 상기 복수의 단말 중 제2 단말에서 상기 제1 단말과의 응용프로그램 동기화가 수행되도록, 모델링된 상기 컨텍스트 정보에 기초하여 상태가 변경된 상기 응용프로그램 또는 상기 응용프로그램의 정보를 상기 제2 단말로 제공하는 응용프로그램 제공부; 및
    상기 제1 단말에서 상기 응용프로그램의 상태가 변경되면, 상기 제1 단말의 요청을 수신하여 상기 응용프로그램의 정보를 업데이트하고, 상기 제2 단말에 상기 응용프로그램의 업데이트 발생을 알리는 응용프로그램 동기화부;
    를 포함하는 것을 특징으로 하는 응용프로그램 관리장치.
  14. 제 13 항에 있어서,
    상기 컨텍스트 정보는, 대응하는 단말의 단말정보, 상기 사용자의 사용자 정보, 응용프로그램 정보 및 응용프로그램 실행정보를 포함하고,
    상기 단말정보는 상기 대응하는 단말의 사양정보와, 상기 대응하는 단말의 위치 및 응용프로그램 사용빈도를 포함하고,
    상기 사용자 정보는 상기 사용자의 사용 이력을 포함하며,
    상기 응용프로그램 정보는, 상기 대응하는 단말의 응용프로그램 설치정보 및 실행상태정보를 포함하는 것을 특징으로 하는 응용프로그램 관리장치.
  15. 제 13 항에 있어서,
    상기 제2 단말에 제공하는 상기 응용프로그램의 정보는, 상기 제2 단말이 응용프로그램 스토어로부터 상기 응용프로그램을 제공받을 수 있는 링크 정보와, 상기 응용프로그램의 실행시 생성되는 컨텐츠 및 실행상태 정보를 포함하는 것을 특징으로 하는 응용프로그램 관리장치.
  16. 제 13 항에 있어서,
    상기 컨텍스트 모델링부는,
    상기 컨텍스트 정보에 포함된 응용프로그램 사용 이력을 이용하여 상기 사용자가 소지한 복수의 단말에 설치된 응용프로그램들의 시간 구간별 히팅률을 계산하고, 상기 응용프로그램들의 시간 구간별 히팅률을 이용하여 상기 복수의 단말 각각에서의 응용프로그램 사용 상태 값을 계산하며, 상기 응용프로그램 사용 상태 값을 이용하여 상기 사용자의 단말별 응용프로그램 사용 패턴을 모델링하고, 모델링된 상기 단말별 응용프로그램 사용 패턴을 저장하는 것을 특징으로 하는 응용프로그램 관리장치.
  17. 제 13 항에 있어서,
    상기 응용프로그램 동기화부는,
    상기 제1 단말로부터 상태가 변경된 상기 응용프로그램에 대한 업데이트 요청 메시지와 함께 상기 응용프로그램의 정보를 수신하면, 상기 응용프로그램의 정보를 업데이트하고, 업데이트 발생을 알리는 푸쉬 알람 메시지를 푸쉬 서버를 통해 상기 제2 단말에 전송하는 것을 특징으로 하는 응용프로그램 관리장치.
  18. 제 13 항에 있어서,
    상기 응용프로그램 제공부는,
    상기 제2 단말로부터 상태가 변경된 상기 응용프로그램의 정보 전송을 요청받으면, 상기 제2 단말의 컨텍스트 정보를 이용하여 상기 응용프로그램의 정보 또는 상기 응용프로그램과 관련된 추천 응용프로그램의 정보를 상기 제2 단말에 전송하는 것을 특징으로 하는 응용프로그램 관리장치.
  19. 제 13 항에 있어서,
    상기 응용프로그램 제공부는,
    상기 제2 단말로부터 상태가 변경된 상기 응용프로그램의 정보 전송을 요청받으면, 상기 제2 단말의 컨텍스트 정보를 이용하여 상기 제1 단말과 상기 제2 단말 간의 이기종 여부를 판단하고,
    상기 제2 단말이 상기 제1 단말과 이기종이면, 상기 제2 단말에 대응하는 응용프로그램 스토어에 상기 응용프로그램이 존재하는지 여부를 확인하고, 상기 응용프로그램이 존재하는 경우 상기 응용프로그램을 제공받을 수 있는 링크정보를 상기 제2 단말에 전송하고, 상기 응용프로그램이 존재하지 않는 경우 상기 응용프로그램과 관련된 추천 응용프로그램에 대한 정보를 상기 제2 단말에 전송하며,
    상기 제2 단말이 상기 제1 단말과 동기종이면, 상기 응용프로그램 스토어로부터 상기 응용프로그램을 제공받을 수 있는 링크정보를 상기 제2 단말에 전송하는 것을 특징으로 하는 응용프로그램 관리장치.
KR1020120136398A 2012-11-28 2012-11-28 컨텍스트 정보 기반 응용프로그램 관리방법 및 그 장치 KR101980834B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120136398A KR101980834B1 (ko) 2012-11-28 2012-11-28 컨텍스트 정보 기반 응용프로그램 관리방법 및 그 장치
US14/011,653 US20140149348A1 (en) 2012-11-28 2013-08-27 Application program management method and apparatus using context information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120136398A KR101980834B1 (ko) 2012-11-28 2012-11-28 컨텍스트 정보 기반 응용프로그램 관리방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20140068651A KR20140068651A (ko) 2014-06-09
KR101980834B1 true KR101980834B1 (ko) 2019-05-21

Family

ID=50774151

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120136398A KR101980834B1 (ko) 2012-11-28 2012-11-28 컨텍스트 정보 기반 응용프로그램 관리방법 및 그 장치

Country Status (2)

Country Link
US (1) US20140149348A1 (ko)
KR (1) KR101980834B1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819461B (zh) * 2012-07-19 2016-05-11 腾讯科技(深圳)有限公司 桌面同步方法、装置、设备及***
KR102022592B1 (ko) * 2013-03-04 2019-09-19 삼성전자주식회사 전자 장치에서 전송 정보를 관리하기 위한 방법 및 장치
US20150088957A1 (en) * 2013-09-25 2015-03-26 Sony Corporation System and methods for managing applications in multiple devices
CN103744691A (zh) * 2013-12-10 2014-04-23 北京奇虎科技有限公司 用户终端间应用更新方法及装置、服务器、应用更新***
US20150172374A1 (en) * 2013-12-17 2015-06-18 Synchronoss Technologies, Inc. Mobile content transfer (mct) solution
CN104298712B (zh) * 2014-09-16 2018-06-08 百度在线网络技术(北京)有限公司 应用资源的同步方法及装置
KR102430271B1 (ko) 2015-07-14 2022-08-08 삼성전자주식회사 전자 장치의 동작 방법 및 전자 장치
CN105208590B (zh) * 2015-08-17 2018-07-06 广东欧珀移动通信有限公司 移动终端操作***卡顿异常的检测恢复方法及移动终端
KR102410329B1 (ko) 2017-08-22 2022-06-20 삼성전자주식회사 서비스 업데이트 제공 방법 및 이를 지원하는 전자 장치
JP6922583B2 (ja) * 2017-09-15 2021-08-18 オムロン株式会社 情報処理装置、情報処理方法、および、情報処理プログラム
CN110297650B (zh) * 2019-06-17 2020-08-11 珠海格力电器股份有限公司 一种应用程序升级的方法、装置、终端设备及存储介质
CN111050157A (zh) * 2019-12-23 2020-04-21 安徽海豚新媒体产业发展有限公司 一种iptv节目单分发检测***
CN111508214B (zh) * 2020-04-22 2022-04-22 杭州电子科技大学 报警控制方法及控制设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060256734A1 (en) * 2005-05-13 2006-11-16 Avaya Technology Corp. Synchronizing information across telecommunications terminals for multiple users
US20100262958A1 (en) * 2009-04-08 2010-10-14 Microsoft Corporation Synchronization of mobile device with application
US20110010244A1 (en) * 2009-07-10 2011-01-13 Microsoft Corporation Sponsored application launcher suggestions

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689721B2 (en) * 1998-05-29 2010-03-30 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device
IL140805A0 (en) * 1998-10-02 2002-02-10 Ibm Structure skeletons for efficient voice navigation through generic hierarchical objects
US7181438B1 (en) * 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
US20030018513A1 (en) * 2001-04-13 2003-01-23 Hoffman George Harry System, method and computer program product for benchmarking in a supply chain management framework
WO2003054704A1 (en) * 2001-12-19 2003-07-03 Netuitive Inc. Method and system for analyzing and predicting the behavior of systems
US20080043694A1 (en) * 2005-12-14 2008-02-21 Research In Motion Limited System and Method for Pushing Information from a Host System to a Mobile Data Communication Device
WO2007087251A2 (en) * 2006-01-25 2007-08-02 Greystripe, Inc. System and methods for managing content in pre-existing mobile applications
IL176274A0 (en) * 2006-06-13 2007-05-15 Celltick Technologies Ltd Web content distribution to personal cellular telecommunications devices
US20110047230A1 (en) * 2006-11-17 2011-02-24 Mcgee Steven J Method / process / procedure to enable: The Heart Beacon Rainbow Force Tracking
KR101461056B1 (ko) * 2007-11-28 2014-11-11 삼성전자주식회사 무선 인스턴트 메시징 시스템의 상태 정보 관리 방법 및 그장치
US8355337B2 (en) * 2009-01-28 2013-01-15 Headwater Partners I Llc Network based service profile management with user preference, adaptive policy, network neutrality, and user privacy
US8589541B2 (en) * 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US20110208616A1 (en) * 2008-06-13 2011-08-25 Christopher Simon Gorman Content system
US8615216B2 (en) * 2009-01-23 2013-12-24 LocusPlay, Inc. Systems and methods for managing mobile communications
US20100198871A1 (en) * 2009-02-03 2010-08-05 Hewlett-Packard Development Company, L.P. Intuitive file sharing with transparent security
CN101656789B (zh) * 2009-07-01 2012-09-05 中兴通讯股份有限公司 手机实现管理应用程序信息的方法及应用程序管理器
US20120005016A1 (en) * 2010-06-30 2012-01-05 Uri Graff Methods and System for Providing and Analyzing Local Targeted Advertising Campaigns
KR101412658B1 (ko) * 2010-11-15 2014-08-07 한국전자통신연구원 지오컨텍스트 생성 장치와 이를 이용한 공간 기반 상황 인식 서비스 제공 시스템 및 방법
US9781540B2 (en) * 2011-07-07 2017-10-03 Qualcomm Incorporated Application relevance determination based on social context

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060256734A1 (en) * 2005-05-13 2006-11-16 Avaya Technology Corp. Synchronizing information across telecommunications terminals for multiple users
US20100262958A1 (en) * 2009-04-08 2010-10-14 Microsoft Corporation Synchronization of mobile device with application
US20110010244A1 (en) * 2009-07-10 2011-01-13 Microsoft Corporation Sponsored application launcher suggestions

Also Published As

Publication number Publication date
US20140149348A1 (en) 2014-05-29
KR20140068651A (ko) 2014-06-09

Similar Documents

Publication Publication Date Title
KR101980834B1 (ko) 컨텍스트 정보 기반 응용프로그램 관리방법 및 그 장치
US20170180909A1 (en) Cloud-Based Custom Metric/Timer Definitions and Real-Time Analytics of Mobile Applications
EP2682863B1 (en) Installing applications remotely
EP2715592B1 (en) Apparatus and method of managing a licensable item
CN104298526A (zh) 一种软件更新方法和装置
US20150288619A1 (en) Distributed service management platform
CN103517405B (zh) 一种网络定位的方法及***、移动终端和网络侧设备
CN104937582A (zh) 数据同步
JP6079183B2 (ja) 情報処理装置、通信端末、アプリケーション提供方法、アプリケーション実行方法、アプリケーション提供プログラム、及びアプリケーション実行プログラム
CN110956505B (zh) 一种广告库存的预估方法以及相关装置
WO2014100587A1 (en) Intelligent prefetching of recommended-media content
KR20130017234A (ko) 서비스형 소프트웨어 목록 갱신 방법 및 이를 위한 시스템
CN104995899A (zh) 服务器负载管理
CN108028768A (zh) 通过近距离通信安装应用程序版本的方法和***
CN102904960A (zh) 一种基于rss的信息同步***及方法
US20150207823A1 (en) Server controlled throttling of client to server requests
CN103473107A (zh) 一种基于移动中间件的交互界面动态更新的方法
US20230035651A1 (en) Apparatuses and methods for facilitating an insertion of markers in content
CN103581218B (zh) 一种用于更新移动终端中移动搜索应用的方法与设备
CN104683473A (zh) 监控服务质量的方法、服务端、客户端及***
CN104636378A (zh) 应用程序的推送方法及装置
CN106682054B (zh) 一种终端应用推荐方法、装置和***
CN103198120A (zh) 网页呈现方法和装置以及网页内容提供方法和***
US20150356017A1 (en) Predictive cache apparatus and method of cache prediction
CN103634348A (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
GRNT Written decision to grant