KR20140133380A - 휴대 단말기의 사용 로그를 활용하는 방법 및 이를 이용한 장치 - Google Patents

휴대 단말기의 사용 로그를 활용하는 방법 및 이를 이용한 장치 Download PDF

Info

Publication number
KR20140133380A
KR20140133380A KR20130082882A KR20130082882A KR20140133380A KR 20140133380 A KR20140133380 A KR 20140133380A KR 20130082882 A KR20130082882 A KR 20130082882A KR 20130082882 A KR20130082882 A KR 20130082882A KR 20140133380 A KR20140133380 A KR 20140133380A
Authority
KR
South Korea
Prior art keywords
application
user
portable terminal
context state
state
Prior art date
Application number
KR20130082882A
Other languages
English (en)
Other versions
KR102196057B1 (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 US14/275,233 priority Critical patent/US9582317B2/en
Publication of KR20140133380A publication Critical patent/KR20140133380A/ko
Application granted granted Critical
Publication of KR102196057B1 publication Critical patent/KR102196057B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 휴대 단말기의 사용 로그를 활용하여, 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하고, 사용자에 입력에 따라 상기 제2 어플리케이션을 실행하는 방법 및 이를 지원하는 장치에 관한 것이다.
이를 위해, 휴대 단말기는 현재 사용자의 컨텍스트 상태와 동일 또는 유사한 이전의 컨텍스트 상태에서 수집된 사용 로그에 기초하여 상기 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정할 수 있다. 그리고, 이때, 현재 사용자의 컨텍스트 상태를 결정하기 위하여, 휴대 단말기는 상기 휴대 단말기의 위치와 관련된 정보 및 현재 시각과 관련된 정보를 이용할 수 있다.

Description

휴대 단말기의 사용 로그를 활용하는 방법 및 이를 이용한 장치{Method for utilizing Usage Log of Portable Terminal and Apparatus for using the same}
본 발명은 휴대 단말기에 의하여 수집된 휴대 단말기의 사용 로그를 활용하는 방법 및 장치에 관한 것으로, 특히, 휴대 단말기가 이동된 위치와 관련된 사용 로그를 활용하는 방법 및 장치에 관한 것이다.
최근 들어, 휴대 단말기는 다양한 방식으로 휴대 단말기의 위치를 측정할 수 있다. 휴대 단말기는 CPS(Cell Positioning System) 방식으로 휴대 단말기의 위치를 측정할 수 있다. 이 방식은 휴대 단말기에서 가까운 곳에 있는 기지국으로부터 신호를 수집하여 위치를 측정하는 기술로서 Cell-ID 방식이라고도 한다. 다른 예로, 휴대 단말기는 GPS(Global Positioning System) 방식으로 휴대 단말기의 위치를 측정할 수 있다. 이 방식은 위성으로부터 수신한 GPS 신호를 이용하여 위치를 측정하는 기술로서 CPS 방식보다는 적은 오차를 가질 수 있다. 또 다른 예로, 휴대 단말기는 WPS(Wi-Fi Positioning System) 방식을 이용하여 휴대 단말기의 위치를 측정할 수 있다. 이 방식은 Wi-Fi로 들어오는 AP(Access Point)의 정보와 미리 저장된 AP에 대한 정보를 비교하여 휴대 단말기의 위치를 측정하는 기술이다. 그 밖에, 휴대 단말기는 내장된 중력 센서 및 가속도 센서 등을 이용하여 휴대 단말기의 위치를 측정 및 보완할 수 있다.
그러나, CPS의 방식의 경우는 휴대 단말기의 위치의 오차가 크다는 단점을 가지고 있다. 또한, GPS 방식 또는 CPS 방식을 이용하거나, 중력 센서 및 가속도 센서를 이용하여 휴대 단말기의 위치를 측정하는 경우는, 상기 센서들과 관련된 모듈을 동작시키기 위한 추가적인 전력이 소모될 수 있다. 이에, 휴대 단말기의 전력 소모를 최소화하면서 휴대 단말기의 위치를 정확히 측정하기 위한 방법이 요구된다.
본 발명에서는, 휴대 단말기가 이동된 위치 정보가 기록된 휴대 단말기의 사용 로그를 이용하여, 전력 소모를 최소화하면서 현재 휴대 단말기의 위치를 측정하는 방법을 제공한다.
특히, 본 발명에서는 현재 휴대 단말기의 위치를 측정하기 위하여, 휴대 단말기의 사용 로그를 이용하여 업데이트 되는 사용 이력 모델을 이용한다. 나아가, 본 발명에서는 현재 휴대 단말기의 사용 로그를 이용하여 현재 휴대 단말기에서 실행 중인 어플리케이션과 관련된 다른 어플리케이션에 대한 정보를 제공하는 방법을 제안한다.
예시적인 일 실시 예에 따르면, 휴대 단말기의 사용 로그를 활용하는 방법은 실행 중인 제1 어플리케이션을 디스플레이부 상에 제공하는 단계, 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 정보에 기초하여, 상기 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하는 단계, 상기 결정된 제2 어플리케이션의 식별자를 제공하는 단계, 상기 제2 어플리케이션의 식별자를 선택하는 사용자의 입력을 감지하는 단계 및 상기 감지된 사용자의 입력에 응답하여, 상기 제2 어플리케이션을 실행하는 단계를 포함한다.
또한, 상기 제1 어플리케이션과 관련된 제2 어플리케이션은, 상기 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 상기 제1 어플리케이션이 실행되기 전 또는 후로 일정 시간 이내에 실행되었던 어플리케이션인 것을 특징으로 할 수 있다.
또한, 상기 제1 어플리케이션과 관련된 제2 어플리케이션은, 상기 제1 어플리케이션이 실행되기 전 또는 후로 일정 시간 이내에 일정 횟수 이상 실행되었던 어플리케이션인 것을 특징으로 할 수 있다.
또한, 상기 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 정보에 기초하여, 상기 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하는 단계는, 상기 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 사용 로그를 분석한 통계 결과를 이용하여, 상기 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하는 단계 를 포함할 수 있다.
또한, 상기 컨텍스트 상태는, 특정 장소에서 이동 상태, 특정 장소에서 체류 상태, 특정 장소로 진입 상태, 특정 장소로부터 진출 상태, 출근 중 상태, 퇴근 중 상태 또는 교통 수단 이용 상태 중 적어도 하나 이상의 상태인 것을 특징으로 할 수 있다.
또한, 상기 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태는, 상기 사용자의 현재 컨텍스트 상태가 현재 사용자가 위치하는 장소인 경우, 상기 장소와 동일 또는 일정 거리 이내에 위치한 장소이거나, 상기 장소와 동일한 이름 또는 동일한 종류의 장소인 것을 특징으로 할 수 있다.
또한, 상기 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하는 단계는, 상기 실행 중인 제1 어플리케이션과 관련된 제3 어플리케이션을 추가로 결정하는 단계를 포함하고, 상기 결정된 제2 어플리케이션의 식별자를 제공하는 단계는, 터치 스크린의 일 측에서 상기 터치 스크린의 중앙의 방향으로 터치 드래그하는 사용자의 입력에 응답하여, 상기 제2 어플리케이션의 아이콘 및 상기 제2 어플리케이션의 아이콘을 표시하는 단계를 포함할 수 있다.
또한, 상기 사용자의 현재 컨텍스트 상태에 대한 정보를 터치스크린 상에 제공하는 단계 를 더 포함할 수 있다.
또한, 상기 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 정보에 기초하여, 상기 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하는 단계는, 상기 휴대 단말기의 위치와 관련된 정보 및 현재 시각과 관련된 정보를 이용하여 현재 사용자의 컨텍스트 상태를 결정하는 단계를 포함할 수 있다.
또한, 상기 휴대 단말기의 전력이 소정의 임계치 이하인 경우, 상기 휴대 단말기의 위치와 관련된 정보는, 상기 휴대 단말기가 위치하는 장소를 포함하는 네트워크 영역을 대표하는 식별자이고, 상기 휴대 단말기의 전력이 소정의 임계치 이상인 경우, 상기 휴대 단말기의 위치와 관련된 정보는, 상기 휴대 단말기가 위치하는 좌표 값 또는 상기 휴대 단말기와 연결된 AP(Access Point) 정보 중 적어도 하나인 것을 특징으로 할 수 있다.
예시적인 다른 일 실시 예에 따르면, 사용 로그를 활용하는 휴대 단말기는, 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 정보에 기초하여, 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하고 상기 결정된 제2 어플리케이션의 식별자를 제공하는 프로세서, 상기 결정된 제2 어플리케이션의 식별자를 선택하는 사용자의 입력을 감지하는 사용자 입력부, 및 상기 감지된 사용자의 입력에 응답하여, 상기 제2 어플리케이션을 표시하는 디스플레이부를 포함한다.
또한, 상기 제1 어플리케이션과 관련된 제2 어플리케이션은, 상기 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 상기 제1 어플리케이션이 실행되기 전 또는 후로 일정 시간 이내에 실행되었던 어플리케이션인 것을 특징으로 할 수 있다.
또한, 상기 제1 어플리케이션과 관련된 제2 어플리케이션은, 상기 제1 어플리케이션이 실행되기 전 또는 후로 일정 시간 이내에 일정 횟수 이상 실행되었던 어플리케이션인 것을 특징으로 할 수 있다.
또한, 상기 프로세서는, 상기 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 사용 로그를 분석한 통계 결과를 이용하여, 상기 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하는 것을 특징으로 할 수 있다.
또한, 상기 컨텍스트 상태는, 특정 장소에서 이동 상태, 특정 장소에서 체류 상태, 특정 장소로 진입 상태, 특정 장소로부터 진출 상태, 출근 중 상태, 퇴근 중 상태 또는 교통 수단 이용 상태 중 적어도 하나 이상의 상태인 것을 특징으로 할 수 있다.
또한, 상기 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태는, 상기 사용자의 현재 컨텍스트 상태가 현재 사용자가 위치하는 장소인 경우, 상기 장소와 동일 또는 일정 거리 이내에 위치한 장소이거나, 상기 장소와 동일한 이름 또는 동일한 종류의 장소인 것을 특징으로 할 수 있다.
또한, 상기 프로세서는, 상기 실행 중인 제1 어플리케이션과 관련된 제3 어플리케이션을 추가로 결정하고, 상기 디스플레이부는, 상기 사용자 입력부를 통하여 터치 드래그하는 사용자의 입력에 응답하여, 상기 제2 어플리케이션의 아이콘 및 상기 제2 어플리케이션의 아이콘을 표시하는 것을 특징으로 할 수 있다.
또한, 상기 디스플레이부는, 상기 사용자의 현재 컨텍스트 상태에 대한 정보를 상기 디스플레이부 상에 표시하는 것을 특징으로 할 수 있다.
또한, 상기 프로세서는, 상기 휴대 단말기의 위치와 관련된 정보 및 현재 시각과 관련된 정보를 이용하여 현재 사용자의 컨텍스트 상태를 결정하는 것을 특징으로 할 수 있다.
또한, 상기 휴대 단말기의 전력이 소정의 임계치 이하인 경우, 상기 휴대 단말기의 위치와 관련된 정보는, 상기 휴대 단말기가 위치하는 장소를 포함하는 네트워크 영역을 대표하는 식별자이고, 상기 휴대 단말기의 전력이 소정의 임계치 이상인 경우, 상기 휴대 단말기의 위치와 관련된 정보는, 상기 휴대 단말기가 위치하는 좌표 값 또는 상기 휴대 단말기와 연결된 AP(Access Point) 정보 중 적어도 하나인 것을 특징으로 할 수 있다.
예시적인 또 다른 일 실시 예에 따르면, 휴대 단말기의 사용 로그를 활용하는 방법은, 휴대 단말기가 위치하는 적어도 하나의 네트워크 영역을 대표하는 적어도 하나의 네트워크 식별자 및 현재 시각과 관련된 정보를 사용 로그 통계 모델에 적용하는 단계, 상기 적용 결과, 상기 네트워크 영역보다 작은 크기의 상기 휴대 단말기가 위치하는 장소를 결정하는 단계, 및 상기 장소에서의 사용자의 컨텍스트 상태를 이용하여 상기 휴대 단말기에 설치된 어플리케이션을 제어하는 단계를 포함할 수 있다.
또한, 상기 현재 시각과 관련된 정보를 사용 로그 통계 모델에 적용하는 단계는, 상기 현재 시각인 제1 시각과 다른 제2 시각과 관련된 정보를 사용 로그 통계 모델에 적용하는 단계이고, 상기 휴대 단말기가 위치하는 장소를 결정하는 단계는, 상기 제2 시각과 관련된 정보를 상기 사용 로그 통계 모델에 적용한 결과, 휴대 단말기가 위치하는 장소인 제1 장소와 다른 제2 장소를 결정하는 단계를 포함할 수 있다.
또한, 상기 휴대 단말기가 위치하는 장소는, 상기 휴대 단말기가 위치하는 좌표 값, 상기 휴대 단말기가 위치하는 건물명 또는 건물 식별자, 상기 휴대 단말기가 위치하는 거리명 또는 거리 식별자 중 적어도 하나인 것을 특징으로 할 수 있다.
또한, 상기 장소에서의 사용자의 컨텍스트 상태는, 상기 장소에서 이동 상태, 상기 장소에서 체류 상태, 상기 장소로 진입 상태, 상기 장소로부터 진출 상태 중 적어도 하나의 상태인 것을 특징으로 할 수 있다.
또한, 상기 사용 로그 통계 모델은 상기 휴대 단말기가 주기적으로 획득하는 시각 별 네트워크 식별자를 이용하여 업데이트 되는 것을 특징으로 할 수 있다.
또한, 상기 장소에서의 사용자의 컨텍스트 상태를 이용하여 상기 휴대 단말기에 설치된 어플리케이션을 제어하는 단계는, 상기 사용자의 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 실행된 상기 휴대 단말기에 설치된 어플리케이션을 실행하는 단계를 특징으로 할 수 있다.
또한, 상기 장소에서의 사용자의 컨텍스트 상태를 이용하여 상기 휴대 단말기에 설치된 어플리케이션을 제어하는 단계는, 상기 장소에서의 사용자의 컨텍스트 상태를 이용하여, 현재 상기 휴대 단말기에서 실행 중인 어플리케이션과 관련된 다른 상기 휴대 단말기에 설치된 어플리케이션을 실행하는 단계를 포함할 수 있다.
또한, 상기 장소에서의 사용자의 컨텍스트 상태를 이용하여 상기 휴대 단말기에 설치된 어플리케이션을 제어하는 단계는, 상기 사용자의 생활 패턴 정보를 획득하는 단계, 및 상기 획득된 사용자의 생활 패턴 정보를 이용하여 상기 장소에서의 사용자의 컨텍스트 상태를 결정하는 단계를 포함할 수 있다.
또한, 상기 휴대 단말기가 위치하는 장소를 결정하는 단계는, 특정 조건에서, 상기 휴대 단말기의 위치 정보부를 동작시켜 상기 휴대 단말기가 위치하는 좌표 값을 획득하는 단계, 및 상기 획득된 좌표 값에 기초하여 상기 휴대 단말기가 위치하는 장소를 결정하는 단계를 더 포함할 수 있다.
또한, 상기 특정 조건은, 상기 휴대 단말기의 전력이 소정의 임계치 이상인 경우인 것을 특징으로 할 수 있다.
예시적인 또 다른 일 실시 예에 따르면, 사용 로그를 활용하는 휴대 단말기는, 사용 로그 통계 모델을 유지하는 메모리, 휴대 단말기가 위치하는 적어도 하나의 네트워크 영역을 대표하는 적어도 하나의 네트워크 식별자 및 현재 시각과 관련된 정보를 상기 사용 로그 통계 모델에 적용하여, 상기 네트워크 영역보다 작은 크기의 상기 휴대 단말기가 위치하는 장소를 결정하고, 상기 장소에서의 컨텍스트 상태를 이용하여 상기 휴대 단말기에 설치된 어플리케이션을 제어하는 프로세서, 및 상기 어플리케이션이 제어된 결과를 표시하는 디스플레이부를 포함할 수 있다.
또한, 상기 프로세서는, 상기 현재 시각인 제1 시각과 다른 제2 시각과 관련된 정보를 사용 로그 통계 모델에 적용하여, 상기 제2 시각과 관련된 정보를 상기 사용 로그 통계 모델에 적용한 결과, 휴대 단말기가 위치하는 장소인 제1 장소와 다른 제2 장소를 결정하는 것을 특징으로 할 수 있다.
또한, 상기 휴대 단말기가 위치하는 장소는, 상기 휴대 단말기가 위치하는 좌표 값, 상기 휴대 단말기가 위치하는 건물명 또는 건물 식별자, 상기 휴대 단말기가 위치하는 거리명 또는 거리 식별자 중 적어도 하나인 것을 특징으로 할 수 있다.
또한, 상기 장소에서의 사용자의 컨텍스트 상태는, 상기 장소에서 이동 상태, 상기 장소에서 체류 상태, 상기 장소로 진입 상태, 상기 장소로부터 진출 상태 중 적어도 하나의 상태인 것을 특징으로 할 수 있다.
또한, 상기 사용 로그 통계 모델은 상기 휴대 단말기가 주기적으로 획득하는 시각 별 네트워크 식별자를 이용하여 업데이트 되는 것을 특징으로 할 수 있다.
또한, 상기 프로세서는, 상기 장소에서의 사용자의 컨텍스트 상태를 이용하여 상기 휴대 단말기에 설치된 어플리케이션을 제어하는 경우, 상기 사용자의 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 실행된 상기 휴대 단말기에 설치된 어플리케이션을 실행하는 것을 특징으로 할 수 있다.
또한, 상기 프로세서는, 상기 장소에서의 사용자의 컨텍스트 상태를 이용하여 상기 휴대 단말기에 설치된 어플리케이션을 제어하는 경우,
상기 장소에서의 사용자의 컨텍스트 상태를 이용하여, 현재 상기 휴대 단말기에서 실행 중인 어플리케이션과 관련된 다른 상기 휴대 단말기에 설치된 어플리케이션을 실행하는 것을 특징으로 할 수 있다.
또한, 상기 프로세서는, 상기 사용자의 생활 패턴 정보를 획득하고, 상기 획득된 사용자의 생활 패턴 정보를 이용하여 상기 장소에서의 사용자의 컨텍스트 상태를 결정하는 것을 특징으로 할 수 있다.
또한, 상기 프로세서는, 특정 조건에서, 상기 휴대 단말기의 위치 정보부를 동작시켜 상기 휴대 단말기가 위치하는 좌표 값을 획득하고, 상기 획득된 좌표 값에 기초하여 상기 휴대 단말기가 위치하는 장소를 결정하는 것을 특징으로 할 수 있다.
또한, 상기 특정 조건은, 상기 휴대 단말기의 전력이 소정의 임계치 이상인 경우인 것을 특징으로 할 수 있다.
본 발명에서는 제1 어플리케이션이 실행 중에 제1 어플리케이션과 관련성이 높은 제2 어플리케이션을 추천함으로써, 사용자가 어플리케이션을 새로 검색하는 불편함을 줄일 수 있다. 이를 위하여, 본 발명에서는 과거에 상기 제1 및 제2 어플리케이션이 실행된 시각 간에 상관 관계, 상기 제1 및 제2 어플리케이션들의 이용 기록 간에 상관 관계 및 상기 제1 및 제2 어플리케이션들과 다른 영역(예로, Media, Web. 통신 대상, 물리적 상태 등) 간에 상관 관계 중 적어도 하나를 분석함으로써 제1 어플리케이션과 관련성이 높은 제2 어플리케이션을 높은 정확도로 추천할 수 있다. 또한, 휴대 단말기의 가용 전력 및 자원을 고려하여 상기 상관 관계 분석을 선택적으로 수행함으로써, 휴대 단말기의 전력 소모 및 서비스 응답성 저하를 최소할 수 있다. 즉, 본 발명을 통하여 LBS, SNS 또는 사용자 맞춤형 서비스를 이용하는 사용자의 만족도는 더욱 향상될 수 있을 것이다.
그 외에 본 발명의 실시 예로 인해 얻을 수 있거나 예측되는 효과에 대해서는 본 발명의 실시 예에 대한 상세한 설명에서 직접적 또는 암시적으로 개시하도록 한다. 즉, 본 발명의 실시 예에 따라 예측되는 다양한 효과에 대해서는 후술될 상세한 설명 내에서 개시될 것이다.
도 1은 본 발명의 일 실시 예에 따른 휴대 단말기가 위치한 장소에 따라 다른 어플리케이션을 추천하는 시나리오의 일 예이다.
도 2는 본 발명의 일 실시 예에 따른 휴대 단말기의 구성요소를 나타내는 도시하는 도면이다.
도 3은 본 발명의 일 실시 예에 따른 휴대 단말기의 하드웨어의 구성을 상세하게 나타내는 도면이다.
도 4는 본 발명의 일 실시 예에 따른 휴대 단말기의 소프트웨어의 구성을 상세하게 나타내는 도면이다.
도 5는 본 발명의 일 실시 예에 따른 휴대 단말기의 프로세서의 구성을 상세하게 나타내는 도면이다.
도 6는 본 발명의 일 실시 예에 따른 휴대 단말기의 사용 로그를 이용하여 사용자의 컨텍스트 상태를 결정하는 프로세서의 동작을 설명하는 도면이다.
도 7은 본 발명의 다른 일 실시 예에 따른 휴대 단말기의 사용 로그를 이용하여 사용자의 컨텍스트 상태를 결정하는 프로세서의 동작을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시 예에 따른 휴대 단말기의 사용 로그에 기초하여 새로운 어플리케이션을 추천하는 프로세서의 동작을 설명하기 위한 도면이다.
도 9A 내지 도 9E는 본 발명의 일 실시 예에 따른 제1 어플리케이션이 실행 중에 적어도 하나의 제2 어플리케이션을 추천하는 시나리오의 예이다.
도 10A 내지 도 10E는 본 발명의 다른 일 실시 예에 따른 제1 어플리케이션이 실행 중에 적어도 하나의 제2 어플리케이션을 추천하는 시나리오의 예이다.
도 11은 본 발명의 일 실시 예에 따른 메모리의 사용 로그 DB에 저장되는 사용 로그 포맷의 일 예이다.
도 12는 본 발명의 일 실시 예에 따른 프로세서의 사용 로그 통계 모델을 이용하여 획득한 사용 로그 통계 결과의 일 예이다.
이하 본 발명에 따른 상세한 설명에서는 상술한 기술적 과제를 이루기 위한 대표적인 실시 예를 제시할 것이다. 또한, 본 발명에 대한 설명의 편의를 위하여 정의하고 있는 개체들의 명칭들을 동일하게 사용할 수 있다. 하지만 설명의 편의를 위해 사용된 명칭들이 본 발명에 따른 권리를 한정하는 것은 아니며, 유사한 기술적 배경을 가지는 시스템에 대해 동일 또는 용이한 변경에 의해 적용이 가능함은 물론이다.
마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 따라서 본 발명은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되어지지 않는다.
본 명세서 및 첨부된 특허 청구범위에 사용된 단수형은 문맥상 명확하게 달리 지적하지 않은 이상 복수형도 포함하는 것으로 의도된 것이다. 또한, 본 명세서에 사용된 “및” 이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.
또한 흐름도와 관련하여 설명되는 방법들은 흐름도에 도시된 단계의 순서를 바꾸거나, 특정 단계를 반복하거나 생략함으로써 변경될 수 있다.
이하, 첨부된 도면을 참조하여 본 개시를 설명한다.
도 1은 본 발명의 일 실시 예에 따른 휴대 단말기가 위치한 장소에 따라 다른 어플리케이션을 추천하는 시나리오의 일 예이다.
도 1을 참조하면, 휴대 단말기(100)는 제1 네트워크 영역(10)의 제1 장소에서 제1 시각(예로, 오전 09:00)에 출발할 수 있다. 제1 장소에서 사용자는 제1 어플리케이션을 실행할 수 있다. 이 때, 사용자가 어플리케이션의 추천을 요청하는 경우, 휴대 단말기(100)는 실행 중인 제1 어플리케이션에 관한 정보, 제1 장소에 관한 정보 및 제1 시간을 고려하여 제2A 어플리케이션을 추천할 수 있다. 그리고, 사용자가 상기 제2A 어플리케이션의 실행을 요청하는 경우, 휴대 단말기(100)는 상기 제2A 어플리케이션을 실행할 수 있다.
다음으로, 휴대 단말기(100)는 제2 네트워크 영역(20)의 제2 장소에 제 2 시각(예로, 11:00)에 도착할 수 있다. 제2 장소에서 사용자는 제1 장소와 동일한 제1 어플리케이션을 실행할 수 있다. 이 때, 사용자가 어플리케이션의 추천을 요청하는 경우, 휴대 단말기(100)는 실행 중인 제1 어플리케이션에 관한 정보, 제2 장소에 관한 정보 및 제2 시간을 고려하여 제2A 어플리케이션과 다른 제2B 어플리케이션을 추천할 수 있다. 그리고, 사용자가 상기 제2B 어플리케이션의 실행을 요청하는 경우, 휴대 단말기(100)는 상기 제2B 어플리케이션을 실행할 수 있다.
유사한 방식으로, 휴대 단말기는(100)는 제2 네트워크 영역(20)의 제3 장소, 제3 네트워크 영역(30)과 제4 네트워크 영역(40)의 공통 영역인 제4 장소에 각각 제3 및 제 4시각에 도착할 수 있다. 휴대 단말기(100)는 도착한 제3 및 제4 장소에서, 사용자에 의하여 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션의 추천을 요청 받을 수 있다. 이 경우, 휴대 단말기(100)는 각각의 도착한 장소 및 도착 당시의 각각의 시각을 고려하여, 서로 다른 제2C 및 제2D 어플리케이션을 추천할 수 있다. 그리고, 사용자가 추천된 어플리케이션의 실행을 요청하는 경우, 휴대 단말기(100)는 제2C 및 제2D 어플리케이션을 각각 실행할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 휴대 단말기(100)의 구성요소를 나타내는 도시하는 도면이다.
도 2를 참조하면, 휴대 단말기(100)는 하드웨어(110) 및 소프트웨어(120)로 구성될 수 있다. 소프트웨어(120)는 커널(Kernel)(121), 미들웨어(Middleware)(122), 어플리케이션 프로그래밍 인터페이스(Application Programming Interface: API) 및 어플리케이션(Application)(124)의 구성요소를 포함할 수 있다. 하드웨어(110) 및 소프트웨어(120)의 구성의 일 예는 각각 도 3의 하드웨어(200) 및 도 4의 소프트웨어(300)의 구성으로 상세하게 후술될 것이다.
본 발명의 휴대 단말기(100)의 구성은 일반적으로 Galaxy S 또는 iphone 등과 같은 스마트 폰(Smart phone)에 적용될 수 있으나, 이에 한정되지 않고 다양한 장치에 적용될 수 있다. 예를 들어, 휴대 단말기(100)의 구성은 Galaxy Tab 또는 ipad 등과 같은 태블릿 기기, PMP(Portable Multimedia Player), PDA(Personal Digital Assistant), 랩탑 PC(Laptop Personal Computer), 손목 시계(Wrist watch), HMD(Head-Mounted Display), 웨어러블 기기(Wearable device)에도 적용될 수 있다.
도 3은 본 발명의 일 실시 예에 따른 휴대 단말기(100)의 하드웨어(200)의 구성을 상세하게 나타내는 도면이다. 도 3의 하드웨어(200)의 구성은 하나 이상의 프로세스(201)를 포함할 수 있다.
프로세서(201)는 운영체제 및 응용 프로그램을 구동하여 프로세서(201)에 연결된 다수의 하드웨어 및 소프트웨어 구성요소들을 제어하고, 멀티 미디어 데이터를 포함하는 각종 데이터 처리 및 연산을 수행하는 프로세서(201)로서 동작할 수 있다. 프로세서(201)는, 예를 들어, SoC(System on Chip)으로 구현될 수 있으며, GPU(Graphic Processing Unit)을 더 포함할 수도 있다.
또한, 프로세서(201)는 통신 기능을 수행할 수도 있다. 예를 들어, 프로세서(201)는 SIM 카드(Subscriber Identification Module card)(221)와 같은 가입자 식별 모듈을 이용하여 네트워크 내에서 휴대 단말기(100)의 구별 및 인증을 수행하고, 사용자에게 음성 통화, 영상 통화, 문자 메시지 또는 패킷 데이터(packet data) 등과 같은 서비스들을 제공할 수 있다. 한편, 도 3에서, 프로세서(201)는 전력 관리부(203) 또는 내장 메모리(204A)의 일부를 포함하여 구현될 수도 있다.
메모리(Memory)(204)는 내장 메모리(Internal Memory)(204A) 및 외장 메모리(External Memory)(204B) 중 적어도 하나를 포함할 수 있다.
내장 메모리(204A)는 휘발성 메모리(예를 들면, DRAM(Dynamic RAM), SRAM(Static RAM), SDRAM(Synchronous Dynamic RAM) 등) 및 비휘발성 메모리(예를 들면, OTPROM(One Time Programmable ROM), PROM(Programmable ROM), EPROM(Erasable and Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), Mask ROM, Flash ROM 등) 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따르면, 프로세서(201)는 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 프로세서(201)는 다른 구성요소로부터 수신하거나 생성된 데이터를 비휘발성 메모리에 보존할 수 있다.
외장 메모리(204B)는, 예를 들면, CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(extreme Digital) 및 Memory Stick 중 적어도 하나를 포함할 수 있다.
전력관리부(203)는 하드웨어(200)의 전력을 관리하거나 또는 모니터링할 수 있다. 도시되지는 않았으나, 전력관리부(203)는, 예를 들어, PMIC(Power Management Integrated Circuit), 충전 IC(Charger Integrated Circuit) 또는 배터리 게이지(Battery Gauge)를 포함할 수 있다. 상기 PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 상기 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 이때, 상기 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나의 방식으로 동작될 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있다. 이 경우, 무선 충전을 위한 부가적인 회로, 예를 들어, 코일 루프, 공진 회로, 정류기 등의 회로가 포함될 수 있다. 상기 배터리 게이지는 배터리(223)의 잔량, 충전 중 전압, 전류 또는 온도 중 적어도 하나를 측정할 수 있다. 여기에서, 배터리(223)는 전기를 생성하여 전원을 공급할 수 있으며, 예를 들어, 충전식 전지(rechargeable battery)일 수 있다.
인터페이스부(206)는, 예를 들면, HDMI(206A), USB(Universal Serial Bus)(206B), 프로젝터(projector)(206C), D-sub(D-subminiature)(206D), SD(Secure Digital)/MMC(Multi-Media Card)(미도시) 및 IrDA(infrared data association)(미도시) 중 적어도 하나를 포함할 수 있다.
통신부(230)는 방송 수신부(231), 이동 통신부(232), 무선 인터넷부(233), 근거리 통신부(234) 및 위치 정보부(235) 중 적어도 하나를 포함할 수 있다. 방송 수신부(231)는 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 상기 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 상기 방송 관리 서버는 방송 신호 및/또는 방송 관련 정보를 생성하여 송신하는 서버 또는 기 생성된 방송 신호 및/또는 방송 관련 정보를 제공받아 단말기에 송신하는 서버를 의미할 수 있다. 상기 방송 신호는 TV 방송 신호, 라디오 방송 신호, 데이터 방송 신호를 포함할 뿐만 아니라, TV 방송 신호 또는 라디오 방송 신호에 데이터 방송 신호가 결합한 형태의 방송 신호도 포함할 수 있다. 상기 방송 관련 정보는 방송 채널, 방송 프로그램 또는 방송 서비스 제공자에 관련된 정보를 의미할 수 있다. 상기 방송 관련 정보는 이동 통신망을 통하여도 제공될 수 있다. 이러한 경우에는 이동 통신부(232)에 의해 수신될 수 있다. 상기 방송 관련 정보는 다양한 형태로 존재할 수 있다. 예를 들어, DMB(Digital Multimedia Broadcasting)의 EPG(Electronic Program Guide) 또는 DVB-H(Digital Video Broadcasting-Handheld)의 ESG(Electronic Service Guide) 등의 형태로 존재할 수 있다. 방송 수신부(231)은 각종 방송 시스템을 이용하여 방송 신호를 수신하는데, 특히, DMB-T(Digital Multimedia Broadcasting-Terrestrial), DMB-S(Digital Multimedia Broadcasting-Satellite), MediaFLO(Media Forward Only), DVB-H(Digital Video Broadcast-Handheld), ISDB-T(Integrated Services Digital Broadcast-Terrestrial) 등의 디지털 방송 시스템을 이용하여 디지털 방송 신호를 수신할 수 있다. 물론, 방송 수신부(231)는 상술한 디지털 방송 시스템뿐만 아니라 방송 신호를 제공하는 다른 방송 시스템에 적합하도록 구성될 수도 있다. 방송 수신부(231)을 통해 수신된 방송 신호 및/또는 방송 관련 정보는 메모리(204)에 저장될 수 있다.
이동 통신부(232)는 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 상기 무선 신호는 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷부(233)는 무선 인터넷 접속을 위한 기능을 수행한다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등이 이용될 수 있다.
근거리 통신부(234)는 근거리 통신을 위한 기능을 수행한다. 근거리 통신 기술로는 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
위치 정보부(235)은 이동 단말기의 위치를 획득하거나 확인하기 위한 기능을 수행한다. 위치 정보부(235)은 범지구적 위성항법시스템(Global Navigation Satellite System, GNSS)를 이용하여 위치 정보를 획득할 수 있다. 여기서, 범지구적 위성항법시스템(GNSS)은 지구를 공전하여 무선 항법 수신기들의 소정의 타입들이 지표명 또는 지표면 근처의 그들의 위치를 결정할 수 있는 기준 신호들을 보내는 무선 항법위성시스템들을 설명하기 위해 이용되는 용어이다. 상기 범지구적 위성항법시스템(GNSS)에는 미국에서 운영하는 GPS(Global Position System), 유럽에서 운영하는 갈릴레오(Galileo), 러시아에서 운영하는 GLONASS(Global Orbiting Navigational Satellite System), 중국에서 운영하는 COMPASS 및 일본에서 운영하는 QZSS(Quasi-Zenith Satellite System) 등이 있다.
추가적으로 또는 대체적으로, 통신부(230)는 하드웨어(200)를 네트워크(예로, Internet, LAN(Local Area Network), WAN(Wire Area Network), Telecommunication Network, Cellular Network, Satellite Network 또는 POTS(Plain Old Telephone Service) 등과 연결시키기 위한 네트워크 인터페이스(예: LAN card) 또는 모뎀 등을 포함할 수 있다.
사용자 입력부(208)는 사용자로부터 다양한 명령어를 입력 받을 수 있다. 사용자 입력부(208)는, 예를 들면, 터치 패널(208A), (디지털) 펜 센서(208B), 키(208C) 및 초음파(Ultrasonic) 입력부(208D) 중 적어도 하나를 포함할 수 있다.
터치 패널(208A)은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 사용자에 의한 터치 입력을 인식할 수 있다. 터치 패널(208A)은 컨트롤러(미도시)를 더 포함할 수도 있다. 한편, 정전식의 경우에는 직접 터치 외에 근접 인식도 가능할 수 있다. 터치 패널(208A)은 택타일 레이어(Tactile Layer)를 더 포함할 수도 있다. 이 경우, 터치 패널(208A)은 사용자에게 촉각 반응을 제공할 수 있다. (디지털) 펜 센서(208B)는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일한 방식으로 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 키(208C)는, 예를 들어, 키패드 또는 터치 키가 이용될 수 있다. 초음파 입력부(208D)는 초음파 신호를 발생하는 펜을 통해, 예를 들어, 마이크(215D)로 수신되는 음파를 감지하여 데이터를 확인할 수 있다. 다양한 실시 예에 따르면, 하드웨어(200)는, 예를 들어, 통신부(230)를 이용하여, 휴대 단말기의(100)의 외부에 위치한 외부 장치(예로, 네트워크, 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
디스플레이부(209)는 영상 또는 데이터를 사용자에게 표시하기 위한 장치로서, 예를 들면, 표시 패널(209A) 또는 빛의 간섭을 이용하여 입체 영상을 허공에 보여주는 홀로그램부(209B)를 포함할 수 있다. 표시 패널(209A)로서, 예를 들면, LCD(Liquid-Crystal Display) 또는 AM-OLED(Active-Matrix Organic Light-Emitting Diode) 등이 이용될 수 있다. 이때, 디스플레이부(209)에는 표시 패널(209A)을 제어하는 컨트롤러가 더 구성될 수 있다. 표시 패널(209A)은, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 한편, 표시 패널(209A)은 터치 패널(208A)과 하나의 모듈로 구성되어 터치 스크린(540)의 형태로 제공될 수 있다.
카메라부(210)는 화상 및 동영상을 촬영하는 기능을 수행할 수 있다. 카메라부(210)는, 구현 예에 따라, 하나 이상의 이미지 센서(예로, 전면 렌즈 또는 후면 렌즈)(미도시), ISP(Image Signal Processor)(미도시) 또는 플래쉬 LED(flash LED)(미도시)를 포함할 수 있다.
타이머(211)는 특정 시각에 대한 정보를 제공하는 기능을 수행할 수 있다. 예를 들어, 타이머는 내부의 기준 시계 또는 통신부(230)로부터 획득한 기준 시간을 이용하여 현재 시각을 결정하고, 프로세서(201)자가 요청 시에 현재 시각에 대한 정보를 제공할 수 있다.
모터(212)는 전기적 신호를 기계적 진동으로 변환하는 기능을 수행할 수 있다.
센서부(213)는, 예를 들면, 제스처 센서(Gesture Sensor)(213A), 자이로 센서(Gyro Sensor)(213B), 기압 센서(Barometer Sensor)(213C), 마그네틱 센서(Magnetic Sensor)(213D), 가속도 센서(Acceleration Sensor)(213E), 그립 센서(Grip Sensor)(213F), 근접 센서(Proximity Sensor)(213G), RGB 센서(Red Green Blue Sensor)(213H), 생체 센서(Biometric Sensor)(213I), 온도/습도 센서(213J), 조도 센서(Illuminance Sensor)(213K), UV 센서(Ultraviolet Sensor)(213L), 후각 센서(E-nose sensor)(미도시), EMG 센서(Eectromyography Sensor)(미도시), EEG 센서(Electroencephalogram Sensor)(미도시), ECG 센서(electrocardiogram sensor)(미도시) 또는 지문 센서 등을 포함할 수 있다. 구현 예에 따라서는, 하드웨어(200)는 센서부(213)를 제어하기 위한 MCU(Micro Controller Unit)(214)를 더 포함할 수 있다.
오디오 코덱부(215)는 음성과 전기신호를 쌍방향으로 변환시킬 수 있다. 오디오 코덱부(215)는, 예를 들면, 스피커(215A), 리시버(215B), 이어폰(215C) 또는 마이크(215D) 등을 통해 입력 또는 출력되는 음성 정보를 변환시킬 수 있다. 전술한 하드웨어(200)의 구성요소들의 명칭은 달라질 수 있다. 또한, 본 개시에 따른 하드웨어(200)는 전술한 구성요소들 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 휴대 단말기(100)의 소프트웨어(300)의 구성을 상세하게 나타내는 도면이다.
소프트웨어(300)는 하드웨어(200)에 구현되어 휴대 단말기(100)의 자원을 제어하는 운영체제(Operation System: OS) 및 운영체제 상에서 구동되는 어플리케이션(340)을 포함할 수 있다. 운영체제는 커널(310), 미들웨어(320), API(330) 및 어플리케이션(340)의 적어도 일부를 포함할 수 있다. 운영체제로는, 예를 들어, 안드로이드(Android), iOS, 윈도우즈(Windows), 심비안(Symbian), 타이젠(Tizen) 또는 바다(Bada) 운영 체제가 이용될 수 있다.
커널(310)은 자원을 관리할 수 있는 시스템 리소스 매니저(311) 및 디바이스 드라이버(312)를 포함할 수 있다. 시스템 리소스 매니저(311)는, 예를 들어, 프로세스 관리부(311A), 메모리 관리부(311B) 또는 파일 시스템 관리부(311C) 등을 포함할 수 있으며, 시스템 리소스의 제어, 할당 또는 회수 등의 기능을 수행할 수 있다.
디바이스 드라이버(312)는 휴대 단말기(100)의 하드웨어(200)의 다양한 구성요소들을 소프트웨어적으로 접근하여 제어할 수 있도록 한다. 이를 위하여, 디바이스 드라이버(312)는, 도시되지는 않았으나, 예를 들면, 인터페이스와 각 하드웨어 업체가 제공하는 개별 드라이버 모듈 부분으로 구분될 수 있다. 예컨대, 디바이스 드라이버(312)는, 디스플레이 드라이버(312A), 카메라 드라이버(312B), 블루투스 드라이버(312C), 공유 메모리 드라이버(312D), USB 드라이버(312E), 키패드 드라이버(312F), Wi-Fi 드라이버(312G) 오디오 드라이버(312H) 또는 IPC(Inter-Process Communication) 드라이버(미도시) 중 적어도 하나를 포함할 수 있다.
미들웨어(320)는 다양한 어플리케이션들에서 공통적으로 필요한 기능을 제공하기 위해 미리 구현해 놓은 복수의 모듈들을 포함하여 구성될 수 있다. 미들웨어(320)는 어플리케이션(340) 에서 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API(330)를 통해 공통적으로 필요한 기능을 제공할 수 있다. 미들웨어(320)는, 예컨대, 어플리케이션 매니저(Application Manager)(320A), 윈도우 매니저(Window Manager)(320B), 멀티미디어 매니저(Multimedia Manager)(320C), 리소스 매니저(Resource Manager)(320D), 파워 매니저(Power Manager)(320E), 데이터베이스 매니저(Database Manager)(320F) 또는 패키지 매니저(package manager)(320G) 등의 복수의 모듈들 중 하나 이상을 포함할 수 있다.
어플리케이션 매니저(320A)는 어플리케이션(340) 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 윈도우 매니저(320B)는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(320C)는 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 리소스 매니저(320D)는 어플리케이션(340) 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다. 파워 매니저(320E)는 바이오스(Basic Input/Output System: BIOS) 등과 함께 동작하여 배터리(battery) 또는 전원을 관리하고, 동작에 필요한 전력 정보 등을 제공할 수 있다. 데이터베이스 매니저(320F)는 어플리케이션(340) 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색 또는 변경할 수 있도록 관리할 수 있다. 패키지 매니저(320G)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
미들웨어(320)는 구현 예에 따라, 연결 매니저(Connectivity Manager)(320H), 통지 매니저(Notification Manager)(320I), 위치 매니저(Location Manager)(320J), 그래픽 매니저(Graphic Manager)(320K) 또는 보안 매니저(Security Manager)(320L) 중 적어도 하나를 포함할 수 있다.
연결 매니저(320H)는, 예를 들어, Wi-Fi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 통지 매니저(320I)는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 위치 매니저(320J)는 휴대 단말기(100)의 위치 정보를 관리할 수 있다. 그래픽 매니저(320K)는 사용자에게 제공될 그래픽 효과 및 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(320L)는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 그밖에, 휴대 단말기(100)가 전화 기능을 구비한 경우, 미들웨어(320)는 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(Telephony Manager)(미도시)를 더 포함할 수 있다.
미들웨어(320)는, 구현 예에 따라, 런타임 라이브러리(Runtime Library)(325) 또는 기타 라이브러리 모듈들(미도시)을 포함할 수 있다. 런타임 라이브러리(325)는, 어플리케이션이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈이다. 예컨대, 런타임 라이브러리(325)는 입출력, 메모리 관리 또는 산술 함수에 대한 기능 등을 수행할 수 있다. 미들웨어(320)는 전술한 내부 구성요소 모듈들의 다양한 기능 조합을 통해 새로운 미들웨어 모듈을 생성하여 사용할 수도 있다. 한편, 미들웨어(320)는 차별화된 기능을 제공하기 위해 운영체제의 종류별로 특화된 모듈을 제공할 수도 있다.
API(330)는, API 프로그래밍 함수들의 집합으로, 운영체제에 따라 다른 구성으로 제공될 수 있다. 예컨대, 안드로이드 또는 iOS의 경우, 예를 들면, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(Tizen)의 경우, 예를 들면, 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션(340)은 API(330)를 이용하여 휴대 단말기(100)에서 구현되는 적어도 하나의 응용 프로그램들을 나타낼 수 있다. 어플리케이션(340)은, 예를 들면, 프리로드 어플리케이션(Preloaded Application) 또는 제 3자 어플리케이션(Third Party Application)로 구분될 수 있다. 그리고, 예를 들어, 어플리케이션(340)은 홈 화면으로 돌아가기 위한 홈 어플리케이션(340A), 다이얼러(Dialer) 어플리케이션(340B), SMS(Short Message Server)/MMS(Multi-media Message Service) 어플리케이션(340C), IM(Instant Message) 어플리케이션(340D), 브라우저(Browser) 어플리케이션(340E), 카메라 어플리케이션(340F), 알람(Alarm) 어플리케이션(340G), 컨택츠(Contacts (or address book)) 어플리케이션(340H), 음성 다이얼(Voice dial) 어플리케이션(340I), 이메일(email) 어플리케이션(340J), 달력 어플리케이션(340K), 미디어 플레이어(Media Player)(340L), 앨범 어플리케이션(340M) 및 시계 어플리케이션(340N) 중 적어도 하나를 포함할 수 있다.
전술한 소프트웨어(300)의 구성요소들의 명칭은 달라질 수 있다. 또한, 본 개시에 따른 소프트웨어(300)는 전술한 구성요소들 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 휴대 단말기(100)의 프로세서(201)의 구성을 상세하게 나타내는 도면이다.
도 5를 참조하면, 휴대 단말기(100)의 프로세서(201)는 사용 정보 모니터링부(510), 사용 로그 통계부(520) 및 어플리케이션 제어부(530)를 포함할 수 있다.
사용 정보 모니터링부(510)는 휴대 단말기(100)의 하드웨어 사용 정보를 수집하는 하드웨어 정보 수집부(511) 및 소프트웨어 사용 정보를 수집하는 소프트웨어 정보 수집부(515)를 포함할 수 있다.
하드웨어 정보 수집부(511)는 위치 정보 수집부(512), 시각 정보 수집부(513) 및 센서 정보 수집부(514)를 포함할 수 있다. 위치 정보 수집부(512)는 통신부(230)로부터 위치 정보를 수집할 수 있다. 여기에서, 위치 정보는, 예를 들어, 통신부(230)의 이동 통신부(232)로부터 획득되는 네트워크 영역의 식별자인 Cell-ID 값이 될 수 있다. 또는, 위치 정보는 통신부(230)의 위치 정보부(235)로부터 획득되는 위도 및 경도 정보를 포함하는 GPS 좌표 값이 될 수 있다. 또는, 위치 정보는 통신부(230)의 무선 인터넷부(233)로부터 획득되는 AP(Access Point) 정보가 될 수 있다.
시각 정보 수집부(513)는 타이머(211)로부터 특정 시각에 대한 정보를 획득할 수 있다. 특정 시각에 대한 정보는 프로세서(201)로부터 특정 시각을 요청하는 이벤트가 발생되거나 또는 위치 정보 수집부(512)에서 휴대 단말기(100)의 위치 정보를 수집할 때에 획득될 수 있다. 특정 시각에 대한 정보는, 예를 들어, 월, 일, 시, 요일, 분, 초 중 적어도 하나 이상의 값이 될 수 있다.
센서 정보 수집부(514)는 센서부(213)로부터 적어도 하나 이상의 센서 값을 획득할 수 있다. 센서 정보 수집부(514)는 예를 들어, 마그네틱 센서, 가속도 센서(231E), 근접 센서(213G)로부터 센서 값을 획득하고, 이를 이용하여 위치 정보의 거리 또는 고도를 보정할 수 있다. 또는, 센서 정보 수집부(514)는 획득된 센서 값을 이용하여, 사용자의 행동 상태를 예측할 수 있다. 예를 들어, 사용자 행동 상태가 걷는 상태인지, 뛰는 상태인지, 앉은 상태인지, 일어서는 상태인지 등을 예측할 수 있다.
소프트웨어 정보 수집부(515)는 사용자가 어플리케이션을 이용하는 사용 정보를 수집할 수 있다. 예를 들어, 소프트웨어 정보 수집부(515)는 어플리케이션이 실행될 때의 시각 정보, 상기 어플리케이션이 사용된 시간, 상기 어플리케이션의 이름 및 상기 어플리케이션을 통해 실행한 컨텐츠에 대한 정보 등을 수집할 수 있다.
사용 정보 모니터링부(510)는 하드웨어 정보 수집부(511) 및 소프트웨어 정보 수집부(515)로부터 수집된 사용 정보를 메모리(204)의 사용 로그 DB(541)에 저장할 수 있다.
도 11은 본 발명의 일 실시 예에 따른 메모리(204)의 사용 로그 DB(541)에 저장되는 사용 로그 포맷의 일 예이다.
도 11을 참조하면, 사용 로그 포맷은 사용 로그 종류, 상기 사용 로그 각각의 데이터 타입, 상기 사용 로그에 대한 설명으로 구성될 수 있다. 사용 로그 종류로는 예를 들어, TIMESTAMP_UTC(사용 로그가 기록될 때의 UTC 방식에 따른 시각), TIMESTAMP_WT(사용 로그가 기록될 때의 WT 방식에 따른 시각), CATEGORY**(어플리케이션의 카테고리 리스트), TYPE(어플리케이션 타입), LAUNCH_TYPE(어플리케이션 실행 타입), START_TIME(어플리케이션의 실행 시각), STOP_TIME(어플리케이션이 포그라운드로 이동할 때 또는 어플리케이션의 종료 시각), DURATION(어플리케이션의 사용 시간), PLACE_ID(휴대 단말기가 위치하는 장소 식별자), PLACE_NAME**(휴대 단말기가 위치하는 장소 식별자의 명칭), PLACE_CATEGORY(상기 장소의 카테고리), LONGITUDE(콜이 시작될 때의 사용자가 위치하는 경도), LATITUDE(콜이 시작될 때 사용자가 위치하는 위도), APP_ID(어플리케이션 식별자), APP_SUB_ID(어플리케이션의 클래스 명칭) 등이 포함될 수 있다. 여기에서 ‘**’표시는 상기 값이 복수 개의 값을 가질 수 있음을 의미한다.
그 밖에, 하드웨어 정보 수집부(511) 및 소프트웨어 정보 수집부(515)로부터 수집된 사용 정보들은 상술한 사용 로그 종류들에 한정되지 않고 다양한 종류를 가질 수 있다. 예를 들어, 휴대 단말기(100)는 Map, LBS, SNS, PIMS(Contact, Calendar 등), Web Browser 등의 위치 정보를 이용하는 어플리케이션들에서 이용된 위치 정보를 수집하고, 수집된 다양한 종류의 정보들을 사용 로그 DB(541)에 저장할 수 있다.
사용 로그 통계부(520)는 하드웨어 로그 통계부(521), 소프트웨어 로그 통계부(522) 및 사용 정보 획득부(523)을 포함할 수 있다. 사용 정보 획득부(523)는 사용 정보 모니터링부(510)로부터 현재 휴대 단말기(100)의 사용 정보를 회득하거나, 사용 로그 DB(541)로부터 휴대 단말기(100)의 사용 정보를 수집한 이력인 사용 로그를 획득할 수 있다. 또는, 사용 정보 획득부(523)는 휴대 단말기(100)를 이용하는 현재 사용자의 컨텍스트 상태를 어플리케이션의 UI 제공부(533)를 통하여 사용자에게 질의하고 이에 대한 응답을 획득할 수 있다. 하드웨어 로그 통계부(522)는 사용 정보 획득부(523)로부터 획득된 사용 정보 또는 사용 로그를 이용하여, 현재 휴대 단말기의 장소 및 상기 장소에서의 사용자의 컨텍스트 상태를 결정할 수 있다. 예를 들어, 하드웨어 로그 통계부(522)는 현재 휴대 단말기가 위치하는 네트워크 식별 정보 및 현재 시각 정보를 획득하고, 이와 관련된 사용 로그에 기초하여 현재 휴대 단말기가 위치하는 장소 및 상기 장소에서의 사용자의 컨텍스트 상태를 결정할 수 있다. 소프트웨어 로그 통계부(522)는 사용 정보 획득부(523)로부터 획득된 사용 정보 또는 사용 로그를 이용하여 현재 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정할 수 있다. 예를 들어, 소프트웨어 로그 통계부(522)는 실행 중인 제1 어플리케이션 정보 및 현재 사용자의 컨텍스트 상태를 획득하고, 현재 사용자의 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 사용 로그에 기초하여 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정할 수 있다.
사용 로그 통계부(520)는 사용자의 컨텍스트 상태를 결정하는 경우, 사용 정보 또는 사용 로그를 사용 로그 통계 모델(542)에 적용한 통계 결과에 기초하여 사용자의 컨텍스트 상태를 결정할 수 있다.
사용 로그 통계 모델(542)은 기계 학습(Machine Learning) 알고리즘을 사용하여 동작하는 모델이 될 수 있다. 사용 로그 통계 모델(542)은 휴대 단말기(100)가 주기적으로 획득하는 시각 별 네트워크 정보 등을 이용하여 지속적으로 업데이트 될 수 있다. 이러한, 사용 로그 통계 모델(542)에 이용되는 기계 학습 알고리즘은 수집된 데이터를 이용하여 모델을 학습시킨 후에, 새로운 질문에 대하여 기계가 답할 수 있도록 만드는 알고리즘으로서, 베이지 분류기(Bayes Classifier), K-평균(K-means), SVM(Support Vector Machine), 부스팅(Boosting), 결정 트리(Decision Tree), 임의 트리(Random Tree), EM(Expectation-Maximization), 신경망(Neural Network) 알고리즘 등이 있을 수 있다. 그리고, 상술한 알고리즘들 중 적어도 두 개 이상이 결합되어 사용 로그 통계 모델(542)에 이용될 수도 있으며, 상기 기계 학습 알고리즘과 다른 통계 알고리즘 등이 결합되어 사용 로그 통계 모델(542)에 이용될 수도 있다.
사용 로그 통계부(520)는 사용 로그 통계 모델(542)로부터 획득된 사용 로그의 통계 결과를 어플리케이션 제어부(530)로 제공할 수 있다.
어플리케이션 제어부(530)는 통계 정보 획득부(531), 어플리케이션 동작부(532) 및 UI 제공부(533)를 포함할 수 있다. 통계 정보 획득부(531)는 사용 로그 통계부(520)로부터 사용 로그의 통계 결과를 획득할 수 있다. 예를 들어, 통계 정보 획득부(531)는 사용 로그의 통계 결과로서 현재 사용자가 위치한 장소, 현재 사용자의 컨텍스트 상태 또는 현재 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션에 대한 정보를 획득할 수 있다. 그리고, 획득된 사용 로그의 통계 결과를 어플리케이션 동작부(532) 또는 UI 제공부(533)로 제공할 수 있다. 어플리케이션 동작부(532)는 통계 정보 획득부(531)로부터 획득한 결과에 기초하여 상기 제2 어플리케이션을 자동으로 실행하거나, 혹은 상기 제2 어플리케이션의 실행을 요청하는 사용자의 응답에 대응하여 상기 제2 어플리케이션을 실행할 수 있다. 통계 정보 획득부(531)로부터 획득된 결과에 기초하여 현재 사용자가 위치한 장소 또는 현재 사용자의 컨텍스트 상태를 표시 패널(209A)를 통해 제공할 수 있다. 또는, UI 제공부(533)는 상기 제2 어플리케이션을 추천하는 UI를 제공하고, 사용자로부터 상기 제2 어플리케이션의 실행을 요청하는 응답을 터치 패널(208A)를 통해 획득할 수 있다. 또는, UI 제공부(533)는 현재 사용자의 컨텍스트 상태를 사용자에게 질의하고 이에 대한 응답을 획득할 수 있다. 그리고, 획득된 응답 정보를 사용 로그 통계부(520)로 제공할 수 있다.
도 6는 본 발명의 일 실시 예에 따른 휴대 단말기(100)의 사용 로그를 이용하여 사용자의 컨텍스트 상태를 결정하는 프로세서(201)의 동작을 설명하는 도면이다.
도 6을 참조하면, 프로세서(201)의 하드웨어 로그 통계부(521)는 사용 정보 모니터링부(510)로부터 휴대 단말기(100)의 현재 위치에 관한 정보로서, 상기 휴대 단말기(100)가 위치하는 적어도 하나의 네트워크 영역을 대표하는 네트워크 식별자(예로, Cell-ID), 및 현재 시각과 관련된 정보(예로, 월, 일, 요일, 시, 분, 초 중 적어도 하나)를 획득할 수 있다(601). 그리고, 하드웨어 로그 통계부(521)는 획득된 적어도 하나의 네트워크 식별자 및 현재 시각과 관련된 정보를 사용 로그 통계 모델(542)에 적용하여, 현재 휴대 단말기(100)가 위치하는 장소를 결정할 수 있다(602). 이 때, 휴대 단말기(100)가 위치하는 장소의 크기는 상기 네트워크 영역보다 작을 수 있다. 예를 들어, 휴대 단말기(100)가 위치하는 장소는, 휴대 단말기(100)가 위치하는 좌표 값, 휴대 단말기(100)가 위치하는 좌표가 포함되는 거리명, 거리 식별자, 건물명, 건물 식별자 또는, 휴대 단말기(100)가 위치하는 장소의 명칭 등이 될 수 있다. 다음으로, 하드웨어 로그 통계부(521)는 시각 별 네트워크 식별자의 변화에 기초하여, 상기 장소에서의 사용자의 초기 컨텍스트 상태를 획득할 수 있다(603).
한편, 하드웨어 로그 통계부(521)는 휴대 단말기가 상기 적어도 하나의 네트워크 식별자와 동일한 적어도 하나의 네트워크 식별자를 획득하나, 현재 시각인 제1 시각과 다른 제2 시각에 획득하는 경우, 상기 적어도 하나의 네트워크 식별자 및 상기 제2 시각과 관련된 정보를 사용 로그 통계 모델(542)에 적용할 수 있다. 그리고, 하드웨어 로그 통계부(521)는 단계 602에서, 결정된 휴대 단말기(100)의 제1 장소와 다른 제2 장소를 현재 휴대 단말기(100)가 위치하는 장소로 결정할 수 있다. 다음으로, 하드웨어 로그 통계부(521)는 시각 별 네트워크 식별자의 변화에 기초하여, 상기 제2 장소에서의 사용자의 초기 컨텍스트 상태를 획득할 수 있다.
상기 단계 602에서, 현재 휴대 단말기(100)가 위치하는 장소를 결정할 수 없는 경우, 휴대 단말기(100)는 위치 정보부(235)를 동작시켜 휴대 단말기(100)가 위치하는 GPS 좌표 값을 획득할 수 있다(604). 그리고, 획득된 GPS 좌표 값을 이용하여 현재 휴대 단말기(100)가 위치하는 장소를 결정할 수 있다(605).
한편, 다른 예로, 휴대 단말기(100)는 현재 휴대 단말기(100)가 위치하는 장소를 결정하기 위하여, 전력 관리부(203)를 이용하여 배터리의 전력을 모니터링하며 휴대 단말기(100)의 전력 상태에 관한 조건을 고려할 수 있다.
예를 들어, 휴대 단말기(100)의 전력이 소정의 임계치 이하인 경우(예를 들어, 약 10% 이하의 전력만 남은 경우), 휴대 단말기(100)는 현재 위치에 관한 정보로서, 상기 휴대 단말기가 위치하는 장소를 포함하는 네트워크 영역을 대표하는 식별자를 이용할 수 있다. 반면, 휴대 단말기(100)의 전력이 소정의 임계치 이상인 경우(예를 들어, 약 10% 이상의 전력이 남은 경우), 휴대 단말기(100)는 현재 위치에 관한 정보로서, 위치 정보부(235)를 동작시켜 획득한 GPS 좌표 값을 이용하거나, 또는 무선 인터넷부(233)를 동작시켜 획득한 AP(Access Point) 정보를 이용할 수 있다.
또 다른 예로, 휴대 단말기(100)는 현재 휴대 단말기(100)가 위치하는 장소를 결정하기 위하여, 휴대 단말기(100)가 위치하는 지리적 상태를 고려할 수 있다. 예를 들어, 휴대 단말기(100)는 위치 정보부(235)가 동작하지 않았던 장소에서는 네트워크 영역을 대표하는 식별자를 이용하고, 위치 정보부(235)가 항상 동작했던 장소에서는 상기 위치 정보부(235)를 동작시켜 GPS 값을 획득하고, 이를 이용하여 휴대 단말기(100)가 위치하는 장소를 결정할 수 있다.
사용자의 초기 컨텍스트 상태는, 예를 들어, 사용자가 현재 장소에서 체류 상태(610)인지 또는 이동 상태(620)인지가 될 수 있다.
일 실시 예로, 사용자의 초기 상태가 체류 상태(610)인 경우, 하드웨어 로그 통계부(521)는 사용자가 저속으로 이동 중인지를 판단할 수 있다(611). 하드웨어 로그 통계부(521)는 사용자가 저속 또는 고속 이동 중인지 판단하기 위하여, 시간 대 이동 거리의 비를 이용할 수 있다. 예를 들어, 하드웨어 로그 통계부(521)는 네트워크 식별 정보인 Cell-ID의 값에 기반하여, 최근의 Cell-ID에 대응하는 기지국의 좌표 값과 이전의 Cell-ID에 대응하는 기지국의 좌표 값으로부터 이동 거리를 계산하고, 상기 이동 거리 간에 이동 시간을 계산하여, 사용자의 이동 속도로서 시간 대 이동 거리의 비를 계산할 수 있다. 그리고, 상기 비율이 일정 임계치 이하일 경우는 사용자의 이동 속도가 저속인 것으로 판단할 수 있다. 반면에, 상기 비율이 일정 임계치 이상인 경우는 사용자의 이동 속도가 고속인 것으로 판단할 수 있다.
저속으로 이동 중인 것으로 판단되는 경우, 하드웨어 로그 통계부(521)는 계속하여 현재 사용자의 컨텍스트 상태를 체류 상태(610)로 결정할 수 있다. 반면에, 저속으로 이동 중인지의 판단이 불가능한 경우, 하드웨어 로그 통계부(521)는 현재 시각과 관련된 사용 로그에 기초하여 상기 사용자의 이동 시작 확률을 계산할 수 있다(612). 예를 들어, 하드웨어 로그 통계부(521)는 사용 로그 통계 모델(542)를 이용하여, 현재 시각과 관련된 과거 시각에서의 확률 값에 기초하여 현재 사용자의 이동 시작 확률을 계산할 수 있다. 사용 로그 통계 모델(542)은 휴대 단말기(100)의 사용 로그에 기초하여 각 시각 별로 확률 값을 미리 계산할 수 있다. 예를 들어, 사용 로그 통계 모델(542)는 특정 시각 T 및 요일에 있어서, 조건부 확률인 Pr(Z|T), Pr(A,δ|Z∧T), Pr(A,δ→B|Z∧T)를 미리 계산할 수 있다. 그리고, 이후 현재 시각 및 현재 요일과 같은 요일 및 같은 시각에서의 확률 값을 이용하여 현재의 사용자의 이동 시작 확률을 계산할 수 있다. 이로 인하여, 휴대 단말기(100)는 동일한 장소에서도 시각에 따라 다른 이동 패턴을 갖는 사용자에게 높은 정확도로 사용자의 이동 시작 확률을 결정할 수 있다.
이동 시작 확률 계산 결과에 따라, 현재 사용자의 컨텍스트 상태가 이동 시작인지 여부를 판단할 수 있다(613). 하드웨어 로그 통계부(521)는 사용자의 컨텍스트 상태가 이동 시작 상태로 판단되는 경우, 사용자의 컨텍스트 상태를 이동 상태(614)로 결정할 수 있다(609). 반면에, 사용자의 컨텍스트 상태가 이동 시작 상태가 아닌 것으로 판단되는 경우, 하드웨어 로그 통계부(521)는 사용자의 컨텍스트 상태를 체류 상태(624)로 결정할 수 있다.
다른 일 실시 예로, 사용자의 초기 상태가 이동 상태(620)인 경우, 하드웨어 로그 통계부(521)는 사용자가 고속으로 이동 중인지를 판단할 수 있다(621). 그리고, 고속으로 이동 중인 것으로 판단되는 경우, 하드웨어 로그 통계부(521)는 계속하여 현재 사용자의 컨텍스트 상태를 이동 상태(620)로 결정할 수 있다. 반면에, 고속으로 이동 중인지의 판단이 불가능한 경우, 하드웨어 로그 통계부(521)는 현재 시각과 관련된 사용 로그에 기초하여 상기 사용자의 이동 종료 확률을 계산할 수 있다(622). 예를 들어, 하드웨어 로그 통계부(521)는 현재 시각과 관련된 과거 시각에서의 확률 값에 기초하여 이동 종료 확률을 계산할 수 있다. 그리고, 하드웨어 로그 통계부(521)는 현재 사용자의 컨텍스트 상태가 이동 종료인지 여부를 판단할 수 있다(623). 하드웨어 로그 통계부(521)는 사용자의 컨텍스트 상태가 이동 종료 상태로 판단되는 경우, 사용자의 컨텍스트 상태를 체류 상태(624)로 결정할 수 있다. 반면에, 사용자의 컨텍스트 상태가 이동 종료 상태가 아닌 것으로 판단되는 경우, 하드웨어 로그 통계부(521)는 사용자의 컨텍스트 상태를 이동 상태(614)로 결정할 수 있다.
도 7은 본 발명의 다른 일 실시 예에 따른 휴대 단말기(100)의 사용 로그를 이용하여 사용자의 컨텍스트 상태를 결정하는 프로세서(201)의 동작을 설명하기 위한 도면이다.
도 7을 참조하면, 프로세서(201)의 하드웨어 로그 통계부(521)는 사용자의 컨텍스트 상태를 획득할 수 있다(701). 이 때, 사용자의 컨텍스트 상태를 결정하는 방식은 도 6에서 상술한 바와 같이 네트워크 식별자 및 현재 시각과 관련된 정보 등을 이용하여 결정할 수 있다. 다음으로, 하드웨어 로그 통계부(521)는 사용자의 컨텍스트 상태가 이동 상태인지를 판단할 수 있다(702). 그리고, 사용자의 컨텍스트 상태가 이동 상태인 경우, 하드웨어 로그 통계부(521)는 사용자의 생활 패턴 정보를 획득할 수 있다(703). 사용자의 생활 패턴 정보는, 예를 들어, 사용자의 집 또는 회사의 위치 및, 사용자가 출근하는 요일에 대한 정보 등이 될 수 있다. 만약, 사용자의 컨텍스트 상태가 이동 상태가 아닌 경우, 하드웨어 로그 통계부(521)는 사용자의 컨텍스트 상태가 이동 상태인지를 주기적으로 모니터링할 수 있다(704).
다음으로, 하드웨어 로그 통계부(521)는 현재 시각 정보와 사용자의 생활 패턴 정보를 이용하여 현재 요일이 회사에 체류하는 출근 요일인지를 판단할 수 있다(705). 그리고, 현재 요일이 출근 요일인 경우, 하드웨어 로그 통계부(521)는 사용자가 집과 회사 간에 이동 경로에 있는지를 판단할 수 있다(706). 반면에, 현재 요일이 출근 요일이 아닌 경우, 또는 현재 요일이 출근 요일이지만 사용자가 집과 회사 간에 이동 경로에 있지 않은 경우, 하드웨어 로그 통계부(521)는 사용자의 컨텍스트 상태가 조건에 맞을 때까지 주기적으로 모니터링 할 수 있다(704).
사용자가 집과 회사 간에 이동 경로에 있는 경우, 하드웨어 로그 통계부(521)는 사용자의 이동 방향이 집으로부터 회사로의 방향인지를 판단할 수 있다(707). 판단 결과, 사용자의 이동 방향이 집으로부터 회사로의 방향이라면 하드웨어 로그 통계부(521)는 사용자의 컨텍스트 상태를 출근 중 상태(709)로 결정할 수 있다. 반면에, 사용자의 이동 방향이 회사로부터 집으로의 방향이라면 하드웨어 로그 통계부(521)는 사용자의 컨텍스트 상태를 퇴근 중 상태(708)로 결정할 수 있다.
한편, 단계 705에서, 하드웨어 로그 통계부(521)는 현재 요일이 출근 요일이 아님에도 불구하고 출근 또는 퇴근 중 상태로 인식되는 경우, 어플리케이션 제어부(530)의 UI 제공부(533)를 통하여 현재 사용자의 컨텍스트 상태를 요청할 수 있다(709). 예를 들어, UI 제공부(533)는“오늘 일하러 가시는 중입니까?’라는 내용의 사용자의 응답을 요청하는 UI를 제공할 수 있다. 그리고, UI 제공부(533)는 ‘예’ 또는 ‘아니오’와 같은 사용자의 응답을 받는 경우, 이를 사용자의 생활 패턴 정보와 관련된 피드백으로 제공할 수 있다. 반면에, UI 제공부(533)가 사용자의 응답을 받지 못하는 경우, 하드웨어 로그 통계부(521)는 주기적으로 사용자의 컨텍스트 상태를 계속하여 모니터링할 수 있다(704).
상술한 바와 같이, 사용자의 컨텍스트 상태는 특정 장소에서 이동 상태, 특정 장소에서 체류 상태, 출근 중 상태, 체류 중 상태 등을 가질 수 있으나, 본 발명의 상술한 실시 예에 한정되지 않고, 다양한 컨텍스트 상태 등을 가질 수 있다. 예를 들어, 사용자의 컨텍스트 상태는 특정 장소로 진입 상태, 특정 장소로부터 진출 상태, 교통 수단 이용 상태, 사용자 행동 상태(예로, 걷는 상태, 뛰는 상태, 앉는 상태, 일어서는 상태 등을 포함할 수 있다. 그리고, 각각 사용자의 컨텍스트 상태에서 휴대 단말기(100)는 각 상태에서 적합한 어플리케이션 및 휴대 단말기(100)의 설정을 제어할 수 있다.
예를 들어, 사용자의 컨텍스트 상태가 출근 상태로 판단되는 경우, 휴대 단말기(100)는 교통 정보를 제공하는 어플리케이션을 실행하여 표시할 수 있다. 또는, 사용자의 컨텍스트 상태가 회사에 체류 중인 상태로 판단되는 경우, 휴대 단말기(100)는 벨소리 모드를 진동 모드로 설정할 수 있다. 또한, 사용자의 컨텍스트 상태가 정오에 회사 근처에 이동 중인 상태로 판단되는 경우, 휴대 단말기(100)는 사용자 주변의 식당 및 카페 정보를 제공하는 어플리케이션을 실행하여 표시할 수 있다.
도 8은 본 발명의 일 실시 예에 따른 휴대 단말기(100)의 사용 로그에 기초하여 새로운 어플리케이션을 추천하는 프로세서(201)의 동작을 설명하기 위한 도면이다.
도 8을 참조하면, 프로세서(201)의 소프트웨어 로그 통계부(522)는 하드웨어 로그 통계부(521)로부터 현재 사용자의 컨텍스트 상태를 획득할 수 있다(801). 이 때, 사용자의 컨텍스트 상태를 결정하기 위한 방식은, 도 6 및 도 7에서 상술한 방식을 이용할 수 있다.
소프트웨어 로그 통계부(522)는 획득된 사용자의 현재 컨텍스트 상태를, 과거의 사용자의 컨텍스트 상태와 비교하고, 사용자의 컨텍스트 상태 간에 변경 여부를 판단할 수 있다(802). 예를 들어, 소프트웨어 로그 통계부(522)는 휴대 단말기(100)가 위치하는 장소가 변경되었는지를 판단할 수 있다. 그리고, 휴대 단말기(100)가 위치하는 장소가 변경된 경우, 소프트웨어 로그 통계부(522)는 휴대 단말기(100)의 전력 상태에 따라 새로운 어플리케이션을 추천하기 위하여 이용되는 사용 로그의 종류를 다르게 할 수 있다. 반면에, 휴대 단말기(100)가 위치하는 장소가 변경되지 않은 경우, 휴대 단말기(100)는 주기적으로 사용자의 컨텍스트 상태가 변경되었는지 여부를 계속하여 모니터링할 수 있다(803).
소프트웨어 로그 통계부(522)는 사용자의 컨텍스트 상태가 변경되고 휴대 단말기(100)의 전력이 부족한 경우(804), 현재 사용자의 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 실행된 어플리케이션들의 실행 시각에 관한 사용 로그를 획득할 수 있다(805). 예를 들어, 소프트웨어 로그 통계부(522)는 현재 사용자의 장소와 동일 또는 일정 거리 이내에 위치한 장소이거나, 또는 현재 사용자가 위치하는 장소와 동일한 이름의 장소(예로, 동일한 이름의 상점, 동일한 번호의 버스) 또는 동일한 종류의 장소(예로, 장소의 종류가 상점, 장소의 종류가 버스)에서 실행되었던 어플리케이션들의 실행 시각에 관한 사용 로그를 획득할 수 있다. 다음으로, 소프트웨어 로그 통계부(522)는 획득한 사용 로그를 사용 로그 통계 모델(542)에 적용하여, 어플리케이션들의 실행 시각 간에 상관 관계(correlation)로서 시간적 인접성 및 실행 시각 선/후 관계 등을 분석할 수 있다(806).
한편, 소프트웨어 로그 통계부(522)는 사용자의 컨텍스트 상태가 변경되고 휴대 단말기(100)의 전력이 충분한 경우(807), 현재 사용자의 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 실행된 어플리케이션들의 실행 시각에 대한 사용 로그 및, 상기 어플리케이션이 실행될 때 실행한 어플리케이션의 컨텐츠에 대한 사용 로그를 획득할 수 있다(808). 여기에서, 어플리케이션의 컨텐츠에 대한 사용 로그는, 예를 들어, 상기 어플리케이션에서 실행한 미디어 컨텐츠 정보, 상기 어플리케이션을 이용하여 접속했던 웹 페이지 정보, 상기 어플리케이션을 이용하여 통신 중이던 서버에 관한 로그, 상기 어플리케이션을 이용할 때의 휴대 단말기(100)의 물리적 상태에 관한 로그(예로, 센서에 관한 로그) 등을 획득할 수 있다. 여기에서, 현재 사용자의 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태는 현재 사용자의 장소와 동일 또는 일정 거리 이내에 위치한 장소이거나, 또는 현재 사용자가 위치하는 장소와 동일한 이름의 장소 또는 동일한 종류의 장소가 될 수 있다. 다음으로, 소프트웨어 로그 통계부(522)는 획득한 사용 로그를 사용 로그 통계 모델(542)에 적용하여, 어플리케이션들의 실행 시각 간에 상관(correlation) 관계 및, 컨텐츠들 간에 상관(correlation) 관계를 분석할 수 있다(809).
다음으로, 소프트웨어 로그 통계부(522)는 현재 실행 중인 제1 어플리케이션의 식별 정보(예로, 제1 어플리케이션을 대표하는 아이디)를 획득할 수 있다. 그리고, 소프트웨어 로그 통계부(522)는 획득된 제1 어플리케이션의 식별 정보 및 상기 분석된 상관 관계의 결과들을 기존에 알려진 선형 확률 모델(Linear Probabilistic Model)에 적용하여 현재 실행 중인 제1 어플리케이션과 상관 관계가 높은 n 개의 제2 어플리케이션들을 결정할 수 있다(810). 예를 들어, 어플리케이션 로그 통계부(522)는 제1 어플리케이션이 실행 중에 함께 실행될 가능성이 높은 순서대로 n 개의 제2 어플리케이션들을 결정할 수 있다. 이 때, 선형 확률 모델은 보통은 사용 로그 통계 모델(542)의 일부로서 동작되며, 다른 실시 예로, 선형 확률 모델은 사용 로그 통계 모델(542)과는 별도의 모듈로서 동작될 수도 있다.
제1 어플리케이션이 실행 중에 실행될 가능성이 높은 제2 어플리케이션들은, 예를 들어, 현재 사용자가 위치하는 장소와 동일 또는 유사한 이전의 장소에서 제1 어플리케이션이 실행되기 전 또는 후로 일정 시간 이내(예로, 제1 어플리케이션이 실행되기 전 10분 전부터 제1 어플리케이션이 종료된 후 10분 후까지의 시간)에 실행되었던 어플리케이션들이 될 수 있다. 또는, 제1 어플리케이션이 실행 중에 실행될 가능성이 높은 제2 어플리케이션들은 현재 사용자가 위치하는 장소와 동일 또는 유사한 과거의 장소에서 일정 시간 이내(예로, 제1 어플리케이션이 실행되기 전 30분 전부터 제1 어플리케이션이 종료된 후 30분 후까지의 시간)에 일정 횟수(예로, 3회 이상) 이상 실행되었던 어플리케이션들이 될 수 있다.
다음으로, 소프트웨어 로그 통계부(522)는 결정된 n개의 제2 어플리케이션들의 식별 정보를 어플리케이션 제어부(530)의 통계 정보 획득부(531)로 제공할 수 있다. 어플리케이션 제어부(530)는 사용자가 제2 어플리케이션을 요청하는지를 판단할 수 있다(811). 예를 들어, 제1 어플리케이션이 실행 중인 상태에서 사용자가 터치 스크린(540)의 일 측 방향에서 중앙 방향으로 터치 드래그 제스처를 수행하는 경우, 어플리케이션 제어부(530)는 사용자가 제2 어플리케이션을 요청하는 것으로 판단할 수 있다. 이 경우, 어플리케이션 제어부(530)는 통계 정보 획득부(531)로부터 n개의 제2 어플리케이션들의 식별 정보를 획득할 수 있다. 그리고, 획득한 n개의 제2 어플리케이션들의 식별자들을 표시 패널(540)을 통하여 제공할 수 있다(812). 이 때, 제2 어플리케이션들의 식별자들은, 예를 들어, 제2 어플리케이션들 각각을 대표하는 아이콘들이 될 수 있다
어플리케이션 제어부(530)는 상기 제공된 제2 어플리케이션의 아이콘들 중 적어도 하나의 제2 어플리케이션을 선택하는 사용자의 신호를 수신할 수 있다(813). 그리고, 사용자의 선택에 대한 응답으로서, 어플리케이션 제어부(530)는 선택된 적어도 하나의 제2 어플리케이션을 실행할 수 있다(814).
도 12는 본 발명의 일 실시 예에 따른 사용 로그 통계 모델(542)를 이용하여 획득한 사용 로그 통계 결과의 일 예이다.
도 12를 참조하면, 사용 로그 통계 모델(542)은 사용자의 컨텍스트의 상태에 따라 실행 중인 제1 어플리케이션과 상관 관계가 높은 제 2 어플리케이션들을 포함할 수 있다. 도 12의 1201를 참조하면, 사용자의 컨텍스트 상태가 출근 중에 버스 안에 있는 것으로 판단되는 경우, 사용 로그 통계 결과는 현재 사용자가 실행 중인 제1 어플리케이션(예로, Facebook 앱)과 상관 관계가 높은 제2 어플리케이션들(예로, Music 앱, S-Note 앱, ChatON 앱)을 포함할 수 있다. 또한, 도 12의 1202를 참조하면, 사용자의 컨텍스트 상태가 퇴근 중인 것으로 판단되는 경우, 사용 로그 통계 결과는 현재 사용자가 실행 중인 제1 어플리케이션(예로, E-mail 앱)과 상관 관계가 높은 제2 어플리케이션들(예로, E-book 앱, Facebook 앱, Web_browser의 news.naver.com 웹 페이지)을 포함할 수 있다. 또한, 도 12의 1203을 참조하면, 사용자의 컨텍스트 상태가 Homeplus에서 쇼핑 중인 것으로 판단되는 경우, 사용 로그 통계 결과는 현재 사용자가 실행 중인 제1 어플리케이션(예로, T_money 앱)과 상관 관계가 높은 제2 어플리케이션들(예로, Wallet 앱, Facebook 앱, Web_browser의 www.danawa.com 웹 페이지)을 포함할 수 있다. 또한, 도 12의 1204를 참조하면, 사용자의 컨텍스트 상태가 자신의 차를 이용하여 운전 중인 것으로 판단되는 경우, 사용 로그 통계 결과는 현재 사용자가 실행 중인 제1 어플리케이션(예로, Youtube 앱)과 상관 관계가 높은 제2 어플리케이션들(예로, Call 앱, Radio 앱, Navigation 앱)을 포함할 수 있다. 또한, 도 12의 1205를 참조하면, 사용자의 컨텍스트 상태가 서점에서 쇼핑 중인 것으로 판단되는 경우, 사용 로그 통계 결과는 현재 사용자가 실행 중인 제1 어플리케이션(예로, S-Note)와 상관 관계가 높은 제2 어플레케이션들(예로, Facebook 앱, Web_browser의 www.yes24.com 웹 페이지, T_Money 앱)을 포함할 수 있다. 또한, 도 12의 1206을 참조하면, 사용자의 컨텍스트 상태가 도보로 걷는 중인 것으로 판단되는 경우, 사용 로그 통계 결과는 현재 사용자가 실행 중인 제1 어플리케이션(예로, Music_plyaer 앱)와 상관 관계가 높은 제2 어플레케이션들(예로, Pedometer 앱, Call 앱, Kakato_Talk 앱)을 포함할 수 있다. 또한, 도 12의 1207를 참조하면, 사용자의 컨텍스트 상태가 집에서 체류 중인 것으로 판단되는 경우, 사용 로그 통계 결과는 현재 사용자가 실행 중인 제1 어플리케이션(예로, E-book 앱)와 상관 관계가 높은 제2 어플레케이션들(예로, E-mail 앱, 개임 앱의 Crash Clean 게임, Kakao_Talk 앱)을 포함할 수 있다.
도 9A 내지 도 9E는 본 발명의 일 실시 예에 따른 제1 어플리케이션이 실행 중에 적어도 하나의 제2 어플리케이션을 추천하는 시나리오의 예이다.
도 9A의 910에서, 휴대 단말기(100)는 실행 중인 제1 어플리케이션(911)을 디스플레이부 상에 제공할 수 있다. 이 때, 제1 어플리케이션(911)은 사용자에 의하여 선택되어 실행된 어플리케이션일 수 있다. 또는, 제1 어플리케이션(911)은 휴대 단말기(100)에 의하여 자동으로 제공되는 어플리케이션일 수도 있다. 예를 들어, 휴대 단말기(100)는 사용자의 현재 컨텍스트 상태(예를 들어, 현재 사용자가 위치하는 장소)와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 휴대 단말기(100)의 사용 로그에 기초하여, 상기 컨텍스트 상태에서 사용 빈도가 가장 높은 제1 어플리케이션(911)을 결정하고, 상기 결정된 제1 어플리케이션(911)을 자동으로 제공할 수 있다.
이 때, 터치 스크린(540) 상에는 현재 사용자의 컨텍스트 상태(912a)(예를 들어, 현재 사용자가 위치하는 장소로서 서점 또는 마트)가 제공될 수 있다. 예를 들어, 현재 사용자가 위치하는 장소가 서점인 경우, 휴대 단말기는 ‘서점입니다’라는 메시지(912a)를 사용자에게 제공할 수 있다. 그리고, NFC를 이용하여 책 또는 잡화의 결재, 책 또는 잡화의 정보를 획득할 수 있도록, NFC의 사용 여부를 묻는 메시지(912b)를 사용자에게 자동으로 제공할 수 있다. 예를 들어, 휴대 단말기는 ‘NFC를 켤까요’라는 알림 메시지(912b)를 사용자에게 제공할 수 있다.
다음으로, 도 9B의 920에서, 휴대 단말기(100)는 터치 스크린(540)의 일 측에서 터치 스크린의 중앙 방향으로 터치 드래그하는 사용자의 제스처(921)를 감지할 수 있다. 이 때, 사용자의 제스처(921)는 터치 드래그 제스처 또는 플릭 제스처가 될 수 있다. 다음으로, 도 9C의 930에서, 휴대 단말기(100)는 사용자의 제스처(921)에 응답하여, 현재 사용자의 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 정보에 기초하여 상기 실행 중인 제1 어플리케이션(911)과 관련된 복수 개의 제2 어플리케이션들의 아이콘들(931~934)이 포함되어 있는 영역(935)를 점차적으로 표시할 수 있다. 이 때, 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 정보에 기초하는 것은 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 사용 로그를 분석한 통계 결과를 이용하는 것이 될 수 있다. 예를 들어, 휴대 단말기는 현재 사용자의 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 상기 제1 어플리케이션(911)이 실행되기 전 또는 후로 일정 시간 이내에 일정 횟수 이상 실행되었던 어플리케이션들을 제2 어플리케이션들로 결정하고, 제2 어플리케이션들의 아이콘들(931~934)이 포함되어 있는 영역(935)을 점차적으로 표시할 수 있다.
다음으로, 도 9D의 940에서, 휴대 단말기는 복수 개의 제2 어플리케이션들의 아이콘들(931~934) 중 적어도 하나의 어플리케이션의 아이콘(932)을 선택하는 사용자의 제스처(941)를 감지할 수 있다. 이 때, 사용자의 제스처(941)는 터치를 소정 시간 동안 유지하는 제스처 또는 터치 후 제1 어플리케이션(911)이 존재하는 상 방향으로 터치 드래그하는 제스처가 될 수 있다.
다음으로, 도 9E의 950에서, 휴대 단말기(100)는 사용자의 제스처(941)에 응답하여, 선택된 적어도 하나의 제2 어플리케이션을 실행하여 표시할 수 있다. 이 때, 제2 어플리케이션은 실행 중인 제1 어플리케이션(911) 위에 포그라운드 상태로 제공되거나, 또는 서브 윈도우의 형태로 제1 어플리케이션(911)과 함께 제공될 수 있다.
도 10A 내지 도 10E는 본 발명의 다른 일 실시 예에 따른 제1 어플리케이션이 실행 중에 적어도 하나의 제2 어플리케이션을 추천하는 시나리오의 예이다.
도 10A의 1010에서, 휴대 단말기(100)는 실행 중인 제1 어플리케이션(1011)을 디스플레이부 상에 제공할 수 있다. 이 때, 제1 어플리케이션(1011)은 사용자에 의하여 선택되어 실행된 어플리케이션일 수 있다. 또는, 제1 어플리케이션(1011)은 휴대 단말기(100)에 의하여 자동으로 제공되는 어플리케이션일 수도 있다. 예를 들어, 휴대 단말기(100)는 사용자의 현재 컨텍스트 상태(예를 들어, 사용자가 퇴근 중 또는 출근 중)와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 휴대 단말기(100)의 사용 로그에 기초하여, 상기 컨텍스트 상태에서 사용 빈도가 가장 높은 제1 어플리케이션(1011)을 결정하고, 상기 결정된 제1 어플리케이션(1011)을 자동으로 제공할 수 있다. 예를 들어, 출근 중에 사용자가 가장 많이 사용하는 어플리케이션이 뉴스 관련 앱인 경우, 휴대 단말기(100)는 사용자의 현재 컨텍스트 상태가 출근 중인 것으로 판단되면 상기 뉴스 관련 앱을 자동으로 실행하여 표시할 수 있다.
이 때, 터치 스크린(540) 상에는 현재 사용자의 컨텍스트 상태(1012A,1012B)가 적어도 하나 이상 제공될 수 있다. 예를 들어, 현재 사용자의 컨텍스트 상태가 집에서 회사로 출근 중인 상태인 경우, 휴대 단말기(100)는 ‘출근 중’이라는 메시지(1012A)를 사용자에게 제공할 수 있다. 또한, 현재 사용자가 위치하는 장소가 버스인 경우, 휴대 단말기(100)는 ‘버스 안입니다’라는 메시지(1012B)를 사용자에게 제공할 수 있다.
다음으로, 도 10B의 1020에서, 휴대 단말기(100)는 터치 스크린(540)의 일 측에서 터치 스크린의 중앙 방향으로 터치 드래그하는 사용자의 제스처(1021)를 감지할 수 있다. 이 때, 사용자의 제스처(1021)는 터치 드래그 제스처 또는 플릭 제스처가 될 수 있다. 다음으로, 도 10C의 1030에서, 휴대 단말기(100)는 사용자의 제스처(1021)에 응답하여, 현재 사용자의 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 정보에 기초하여 상기 실행 중인 제1 어플리케이션(1011)과 관련된 복수 개의 제2 어플리케이션들의 아이콘들(1031~1034)이 포함되어 있는 영역(1035)를 점차적으로 표시할 수 있다. 이 때, 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 정보에 기초하는 것은 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 사용 로그를 분석한 통계 결과를 이용하는 것이 될 수 있다. 예를 들어, 휴대 단말기(100)는 현재 사용자의 상태와 동일 또는 유사한 상태에서 제1 어플리케이션(1011)이 실행되기 전 또는 후로 일정 시간 이내에 일정 횟수 이상 실행되었던 어플리케이션들을 제2 어플리케이션들로 결정하고, 제2 어플리케이션들의 아이콘들(1031~1034)이 포함되어 있는 영역(1035)을 점차적으로 표시할 수 있다. 구체적인 예로, 제1 어플리케이션이 뉴스 관련 앱인 경우, 상기 제1 어플리케이션이 실행되기 전 또는 후로 5분 이내에 실행되었던 제2 어플리케이션들로 Music 앱, S-Note 앱, Facebook 앱, ChatON 이 결정되고, 상기 앱들의 아이콘들(1031~1034)이 포함되어 있는 영역(1035)이 표시될 수 있다.
다음으로, 도 10D의 1040에서, 휴대 단말기는 복수 개의 제2 어플리케이션들의 아이콘들(1031~1034) 중 적어도 하나의 어플리케이션의 아이콘(1032)를 선택하는 사용자의 제스처(1041)를 감지할 수 있다. 이 때, 사용자의 제스처(1041)는 터치를 소정 시간 동안 유지하는 제스처 또는 터치 후 제1 어플리케이션(1011)이 있는 상 방향으로 터치 드래그하는 제스처가 될 수 있다.
다음으로, 도 10E의 1050에서, 휴대 단말기(100)는 사용자의 제스처(1041)에 응답하여, 선택된 적어도 하나의 제2 어플리케이션을 실행하여 표시할 수 있다. 이 때, 제2 어플리케이션은 실행 중인 제1 어플리케이션(1011) 위에 포그라운드 상태로 제공되거나, 또는 서브 윈도우의 형태로 제1 어플리케이션(1011)과 함께 제공될 수 있다.
상술한 본 발명의 실시 예들은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 임의의 소프트웨어는 예를 들어, 삭제 가능 또는 재 기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비 휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다.
본 발명의 휴대 단말기의 사용 로그를 활용하는 방법 및 이를 이용한 장치는 프로세서 및 메모리를 포함하는 컴퓨터 또는 휴대 단말기에 의해 구현될 수 있고, 상기 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. 따라서, 본 발명은 본 명세서의 임의의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다. 또한, 상기 휴대 단말기의 사용 로그를 활용하는 방법 및 이를 이용한 장체는 유선 또는 무선으로 연결되는 프로그램 제공 장치로부터 상기 프로그램을 수신하여 저장할 수 있다. 뿐만 아니라 사용자는 사용자 휴대 단말기의 설정을 조정하여 본 발명의 실시 예에 따른 동작을 사용자 단말 내로 한정하거나 네트워크를 통한 서버와의 연동으로 확장하는 것을 선택적으로 이용할 수도 있다.

Claims (20)

  1. 휴대 단말기의 사용 로그를 활용하는 방법에 있어서,
    실행 중인 제1 어플리케이션을 디스플레이부 상에 제공하는 단계;
    사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 정보에 기초하여, 상기 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하는 단계;
    상기 결정된 제2 어플리케이션의 식별자를 제공하는 단계;
    상기 제2 어플리케이션의 식별자를 선택하는 사용자의 입력을 감지하는 단계; 및
    상기 감지된 사용자의 입력에 응답하여, 상기 제2 어플리케이션을 실행하는 단계
    를 포함하는 휴대 단말기의 사용 로그 활용 방법.
  2. 제1항에 있어서,
    상기 제1 어플리케이션과 관련된 제2 어플리케이션은,
    상기 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 상기 제1 어플리케이션이 실행되기 전 또는 후로 일정 시간 이내에 실행되었던 어플리케이션인 것
    을 특징으로 하는 휴대 단말기의 사용 로그 활용 방법.
  3. 제2항에 있어서,
    상기 제1 어플리케이션과 관련된 제2 어플리케이션은,
    상기 제1 어플리케이션이 실행되기 전 또는 후로 일정 시간 이내에 일정 횟수 이상 실행되었던 어플리케이션인 것
    을 특징으로 하는 휴대 단말기의 사용 로그 활용 방법.
  4. 제1항에 있어서,
    상기 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 정보에 기초하여, 상기 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하는 단계는,
    상기 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 사용 로그를 분석한 통계 결과를 이용하여, 상기 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하는 단계
    를 포함하는 휴대 단말기의 사용 로그 활용 방법.
  5. 제1항에 있어서,
    상기 컨텍스트 상태는,
    특정 장소에서 이동 상태, 특정 장소에서 체류 상태, 특정 장소로 진입 상태, 특정 장소로부터 진출 상태, 출근 중 상태, 퇴근 중 상태, 교통 수단 이용 상태 또는 사용자 행동 상태 중 적어도 하나 이상의 상태인 것
    을 특징으로 하는 휴대 단말기의 사용 로그 활용 방법.
  6. 제1항에 있어서,
    상기 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태는,
    상기 사용자의 현재 컨텍스트 상태가 현재 사용자가 위치하는 장소인 경우,
    상기 장소와 동일 또는 일정 거리 이내에 위치한 장소이거나, 상기 장소와 동일한 이름 또는 동일한 종류의 장소인 것
    을 특징으로 하는 휴대 단말기의 사용 로그 활용 방법.
  7. 제1항에 있어서,
    상기 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하는 단계는,
    상기 실행 중인 제1 어플리케이션과 관련된 제3 어플리케이션을 추가로 결정하는 단계를 포함하고,
    상기 결정된 제2 어플리케이션의 식별자를 제공하는 단계는,
    터치 스크린의 일 측에서 상기 터치 스크린의 중앙의 방향으로 터치 드래그하는 사용자의 입력에 응답하여, 상기 제2 어플리케이션의 아이콘 및 상기 제2 어플리케이션의 아이콘을 표시하는 단계
    를 포함하는 휴대 단말기의 사용 로그 활용 방법.
  8. 제1항에 있어서,
    상기 사용자의 현재 컨텍스트 상태에 대한 정보를 터치스크린 상에 제공하는 단계
    를 더 포함하는 휴대 단말기의 사용 로그 활용 방법.
  9. 제1항에 있어서,
    상기 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 정보에 기초하여, 상기 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하는 단계는,
    상기 휴대 단말기의 위치와 관련된 정보 및 현재 시각과 관련된 정보를 이용하여 현재 사용자의 컨텍스트 상태를 결정하는 단계
    를 포함하는 휴대 단말기의 사용 로그 활용 방법.
  10. 제9항에 있어서,
    상기 휴대 단말기의 전력이 소정의 임계치 이하인 경우,
    상기 휴대 단말기의 위치와 관련된 정보는,
    상기 휴대 단말기가 위치하는 장소를 포함하는 네트워크 영역을 대표하는 식별자이고,
    상기 휴대 단말기의 전력이 소정의 임계치 이상인 경우,
    상기 휴대 단말기의 위치와 관련된 정보는,
    상기 휴대 단말기가 위치하는 좌표 값 또는 상기 휴대 단말기와 연결된 AP(Access Point) 정보 중 적어도 하나인 것
    을 특징으로 하는 휴대 단말기의 사용 로그 활용 방법.
  11. 사용 로그를 활용하는 휴대 단말기에 있어서,
    사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 정보에 기초하여, 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하고 상기 결정된 제2 어플리케이션의 식별자를 제공하는 프로세서;
    상기 결정된 제2 어플리케이션의 식별자를 선택하는 사용자의 입력을 감지하는 사용자 입력부; 및
    상기 감지된 사용자의 입력에 응답하여, 상기 제2 어플리케이션을 표시하는 디스플레이부
    를 포함하는 휴대 단말기.
  12. 제11항에 있어서,
    상기 제1 어플리케이션과 관련된 제2 어플리케이션은,
    상기 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 상기 제1 어플리케이션이 실행되기 전 또는 후로 일정 시간 이내에 실행되었던 어플리케이션인 것
    을 특징으로 하는 휴대 단말기.
  13. 제12항에 있어서,
    상기 제1 어플리케이션과 관련된 제2 어플리케이션은,
    상기 제1 어플리케이션이 실행되기 전 또는 후로 일정 시간 이내에 일정 횟수 이상 실행되었던 어플리케이션인 것
    을 특징으로 하는 휴대 단말기.
  14. 제11항에 있어서,
    상기 프로세서는,
    상기 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태에서 수집된 사용 로그를 분석한 통계 결과를 이용하여, 상기 실행 중인 제1 어플리케이션과 관련된 제2 어플리케이션을 결정하는 것
    을 특징으로 하는 휴대 단말기.
  15. 제11항에 있어서,
    상기 컨텍스트 상태는,
    특정 장소에서 이동 상태, 특정 장소에서 체류 상태, 특정 장소로 진입 상태, 특정 장소로부터 진출 상태, 출근 중 상태, 퇴근 중 상태, 교통 수단 이용 상태 또는 사용자 행동 상태 중 적어도 하나 이상의 상태인 것
    을 특징으로 하는 휴대 단말기.
  16. 제11항에 있어서,
    상기 사용자의 현재 컨텍스트 상태와 동일 또는 유사한 이전 컨텍스트 상태는,
    상기 사용자의 현재 컨텍스트 상태가 현재 사용자가 위치하는 장소인 경우,
    상기 장소와 동일 또는 일정 거리 이내에 위치한 장소이거나, 상기 장소와 동일한 이름 또는 동일한 종류의 장소인 것
    을 특징으로 하는 휴대 단말기.
  17. 제11항에 있어서,
    상기 프로세서는,
    상기 실행 중인 제1 어플리케이션과 관련된 제3 어플리케이션을 추가로 결정하고,
    상기 디스플레이부는,
    상기 사용자 입력부를 통하여 터치 드래그하는 사용자의 입력에 응답하여, 상기 제2 어플리케이션의 아이콘 및 상기 제2 어플리케이션의 아이콘을 표시하는 것
    을 특징으로 하는 휴대 단말기.
  18. 제11항에 있어서,
    상기 디스플레이부는,
    상기 사용자의 현재 컨텍스트 상태에 대한 정보를 상기 디스플레이부 상에 표시하는 것
    을 특징으로 하는 휴대 단말기.
  19. 제11항에 있어서,
    상기 프로세서는,
    상기 휴대 단말기의 위치와 관련된 정보 및 현재 시각과 관련된 정보를 이용하여 현재 사용자의 컨텍스트 상태를 결정하는 것
    을 특징으로 하는 휴대 단말기.
  20. 제19항에 있어서,
    상기 휴대 단말기의 전력이 소정의 임계치 이하인 경우,
    상기 휴대 단말기의 위치와 관련된 정보는,
    상기 휴대 단말기가 위치하는 장소를 포함하는 네트워크 영역을 대표하는 식별자이고,
    상기 휴대 단말기의 전력이 소정의 임계치 이상인 경우,
    상기 휴대 단말기의 위치와 관련된 정보는,
    상기 휴대 단말기가 위치하는 좌표 값 또는 상기 휴대 단말기와 연결된 AP(Access Point) 정보 중 적어도 하나인 것
    을 특징으로 하는 휴대 단말기.
KR1020130082882A 2013-05-10 2013-07-15 휴대 단말기의 사용 로그를 활용하는 방법 및 이를 이용한 장치 KR102196057B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/275,233 US9582317B2 (en) 2013-05-10 2014-05-12 Method of using use log of portable terminal and apparatus using the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361821996P 2013-05-10 2013-05-10
US61/821,996 2013-05-10

Publications (2)

Publication Number Publication Date
KR20140133380A true KR20140133380A (ko) 2014-11-19
KR102196057B1 KR102196057B1 (ko) 2020-12-30

Family

ID=52454060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130082882A KR102196057B1 (ko) 2013-05-10 2013-07-15 휴대 단말기의 사용 로그를 활용하는 방법 및 이를 이용한 장치

Country Status (1)

Country Link
KR (1) KR102196057B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050010907A (ko) * 2002-06-14 2005-01-28 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 위치 정보 생성 방법 및 모바일 장치
US20110106736A1 (en) * 2008-06-26 2011-05-05 Intuitive User Interfaces Ltd. System and method for intuitive user interaction
KR20120071163A (ko) * 2010-12-22 2012-07-02 엘지전자 주식회사 이동 단말기 및 그 동작 제어 방법
KR20120127657A (ko) * 2010-02-24 2012-11-22 콸콤 인코포레이티드 다중 무선 네트워크들에서 다수의 아이덴티티들 및 참가를 관리하기 위한 방법 및 무선 디바이스

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050010907A (ko) * 2002-06-14 2005-01-28 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 위치 정보 생성 방법 및 모바일 장치
US20110106736A1 (en) * 2008-06-26 2011-05-05 Intuitive User Interfaces Ltd. System and method for intuitive user interaction
KR20120127657A (ko) * 2010-02-24 2012-11-22 콸콤 인코포레이티드 다중 무선 네트워크들에서 다수의 아이덴티티들 및 참가를 관리하기 위한 방법 및 무선 디바이스
KR20120071163A (ko) * 2010-12-22 2012-07-02 엘지전자 주식회사 이동 단말기 및 그 동작 제어 방법

Also Published As

Publication number Publication date
KR102196057B1 (ko) 2020-12-30

Similar Documents

Publication Publication Date Title
US9582317B2 (en) Method of using use log of portable terminal and apparatus using the same
CN108701495B (zh) 用于整合和提供从多个设备收集的数据的方法以及用于实现该方法的电子设备
KR101674852B1 (ko) 클라이언트 디바이스 상의 애플리케이션들 관리
US10831792B2 (en) Sensor information using method and electronic device using the same
KR102160975B1 (ko) 전자장치로 위치 기반 서비스를 제공하기 위한 방법 및 시스템
CN107923980B (zh) 用于提供位置信息的方法和装置
US11411961B2 (en) Electronic device and method for providing location data
US10080108B2 (en) Electronic device and method for updating point of interest
KR20150008653A (ko) 휴대 단말기의 사용 로그를 활용하는 방법 및 이를 이용한 장치
KR102240719B1 (ko) 위치 정보 획득 방법 및 그 전자 장치
KR20180063538A (ko) Poi 정보를 제공하는 방법 및 이를 지원하는 전자 장치
US10292107B2 (en) Electronic device and method for providing route information
US20170109710A1 (en) Method for providing schedule and electronic device supporting the same
KR20170114636A (ko) 식별 정보를 제공하는 전자 장치 및 방법
US10210104B2 (en) Apparatus and method for providing handoff thereof
US10621308B2 (en) Electronic device and method for linking exercise schedule thereof
KR20170054876A (ko) 스케줄 정보를 관리하기 위한 방법 및 그 전자 장치
US11234103B2 (en) Electronic device and method for providing identification information
KR102196057B1 (ko) 휴대 단말기의 사용 로그를 활용하는 방법 및 이를 이용한 장치
KR20140137653A (ko) 전자장치의 이벤트 로그 분석 방법 및 장치

Legal Events

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