KR102047500B1 - 사용자의 할일 목록을 제공하는 시스템 및 방법 - Google Patents

사용자의 할일 목록을 제공하는 시스템 및 방법 Download PDF

Info

Publication number
KR102047500B1
KR102047500B1 KR1020140167811A KR20140167811A KR102047500B1 KR 102047500 B1 KR102047500 B1 KR 102047500B1 KR 1020140167811 A KR1020140167811 A KR 1020140167811A KR 20140167811 A KR20140167811 A KR 20140167811A KR 102047500 B1 KR102047500 B1 KR 102047500B1
Authority
KR
South Korea
Prior art keywords
user
task
list
information
controller
Prior art date
Application number
KR1020140167811A
Other languages
English (en)
Other versions
KR20160063913A (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
Priority to KR1020140167811A priority Critical patent/KR102047500B1/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2015/012210 priority patent/WO2016085170A1/en
Priority to US14/940,676 priority patent/US10657501B2/en
Priority to EP21170164.4A priority patent/EP3872727A1/en
Priority to EP15863291.9A priority patent/EP3224780A4/en
Priority to CN201510850072.XA priority patent/CN105654271B/zh
Publication of KR20160063913A publication Critical patent/KR20160063913A/ko
Application granted granted Critical
Publication of KR102047500B1 publication Critical patent/KR102047500B1/ko
Priority to US16/793,609 priority patent/US11164160B2/en
Priority to US17/512,066 priority patent/US11803819B2/en
Priority to US18/474,717 priority patent/US20240013160A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1097Task assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/725Cordless telephones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/725Cordless telephones
    • H04M1/72502Cordless telephones with one base station connected to a single line
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/725Cordless telephones
    • H04M1/72502Cordless telephones with one base station connected to a single line
    • H04M1/72505Radio link set-up procedures

Abstract

사용자의 할일 목록을 제공하는 시스템 및 방법이 제공된다. 사용자의 할일 목록을 제공하는 디바이스는, 상기 디바이스를 통하여 수행된 상기 사용자와 다른 사용자 간의 행동에 관한 행동 정보를 수집하고, 상기 수집된 행동 정보에 기초하여 상기 사용자의 할일 목록을 생성하며, 상기 디바이스의 동작에 관한 로그 정보를 이용하여 상기 할일 목록 내의 상기 적어도 하나의 태스크 중에서 상기 사용자에 의해 수행되지 않은 미수행 태스크를 결정하는 제어부; 및 상기 결정된 미수행 태스크를 알리는 알림 근거를 포함하며 대화체의 알림 정보를 출력하는 출력부;를 포함한다.

Description

사용자의 할일 목록을 제공하는 시스템 및 방법{SYSTEM AND METHOD FOR PROVIDING TO-DO-LIST OF USER}
본 개시는 사용자의 할일 목록을 제공하는 시스템 및 방법에 관한 것으로서, 보다 상세하게는, 사용자의 행동 기반으로 사용자의 할일 목록을 생성하고, 할일 목록 내의 미수행 태스크를 사용자에게 알리는 시스템 및 방법에 관한 것이다.
멀티미디어 기술 및 네트워크 기술이 발전함에 따라, 사용자는 다양한 디바이스 및 서비스 제공 서버를 통하여 자신이 원하는 서비스를 이용할 수 있게 되었다. 또한, 사용자는 자신의 디바이스를 이용하여 다른 사용자의 디바이스와 서로 커뮤니케이션 할 수 있게 되었다. 사용자가 다양한 디바이스 및 서비스 제공 서버를 이용할 수 있게 됨으로써, 사용자의 행동 패턴이 복잡하게 되었으나, 사용자가 해야 할 일이 다수의 디바이스, 다른 사용자 및 서비스 제공 서버와 관련됨에 따라, 사용자는 자신이 해야 할 일을 효과적으로 확인하기 힘들게 되었다. 이에 따라, 사용자의 다양한 행동을 분석하여 사용자의 할일 목록을 효과적으로 생성하며, 사용자의 할일 목록 내의 태스크들 중에서 미수행된 태스크를 효율적으로 판단하고 사용자에게 알릴 수 있는 기술이 요구되고 있다.
일부 실시예는, 사용자의 디바이스 및 사용자가 가입된 서비스 제공 서버의 동작에 기초하여 사용자의 할일 목록 내의 미수행 태스크를 효과적으로 판단할 수 있는, 사용자의 할일 목록을 제공하는 시스템 및 방법을 제공할 수 있다.
또한, 일부 실시예는, 할일 목록 내의 태스크와 관련된 다른 사용자의 행동에 기초하여, 할일 목록 내의 태스크의 수행 여부를 판단할 수 있는, 사용자의 할일 목록을 제공하는 시스템 및 방법을 제공할 수 있다.
또한, 일부 실시예는, 할일 목록 내의 태스크의 수행 여부를 판단하기 위한 디바이스의 세부 동작들 및 세부 동작들 간의 관계에 기초하여, 할일 목록 내의 미수행 태스크를 판단할 수 있는, 사용자의 할일 목록을 제공하는 시스템 및 방법을 제공할 수 있다.
또한, 일부 실시예는, 미수행 태스크를 알리는 근거를 미수행 태스크와 함께 사용자에게 알릴 수 있는, 사용자의 할일 목록을 제공하는 시스템 및 방법을 제공할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1 측면은, 제1 디바이스를 통하여 수행된 상기 사용자와 다른 사용자 간의 행동에 관한 행동 정보를 수집하고, 상기 수집된 행동 정보에 기초하여, 상기 사용자의 할일 목록을 생성하며, 상기 제1 디바이스의 동작에 관한 로그 정보, 및 상기 사용자가 가입된 서비스 제공 서버의 동작에 관한 로그 정보를 이용하여, 상기 할일 목록 내의 상기 적어도 하나의 태스크 중에서 상기 사용자에 의해 수행되지 않은 미수행 태스크를 결정하는 제어부; 및 상기 결정된 미수행 태스크의 알림 정보를 출력하는 출력부;를 포함하는, 사용자의 할일 목록을 제공하는 제1 디바이스를 제공할 수 있다.
또한, 상기 제어부는, 상기 할일 목록 내의 태스크의 수행을 위한 상기 제 1 디바이스의 세부 동작들 및 세부 동작들 간의 관계를 결정하고, 상기 세부 동작들 간의 관계 및 상기 세부 동작들의 수행 여부에 기초하여 상기 미수행 태스크를 결정할 수 있다.
또한, 상기 할일 목록 내의 태스크에 관련된 다른 사용자 및 콘텐트를 결정하고, 상기 할일 목록 내의 태스크에 관련된 상기 제1 디바이스에 설치된 애플리케이션 및 상기 애플리케이션의 기능을 결정하고, 상기 결정된 애플리케이션, 기능, 다른 사용자 및 콘텐트의 일부 또는 전부를 조합함으로써, 상기 태스크 수행을 위한 상기 제1 디바이스의 상기 세부 동작들을 정의함으로써, 상기 세부 동작들 및 상기 세부 동작들 간의 관계를 결정할 수 있다.
또한, 상기 제어부는, 상기 할일 목록 내의 적어도 하나의 태스크와 관련된 다른 사용자의 제2 디바이스의 동작에 관한 로그 정보를 이용하여, 상기 미수행 태스크를 결정할 수 있다.
또한, 상기 제어부는, 상기 사용자의 제3 디바이스의 동작에 관한 로그 정보를 이용하여, 상기 미수행 태스크를 결정할 수 있다.
또한, 상기 제어부는, 상기 사용자와 상기 다른 사용자 간의 통화 음성, 상기 사용자와 상기 다른 사용자 간에 송수신된 메시지, 상기 사용자의 일정 정보, 상기 사용자의 메모 정보 및 상기 디바이스에서 실행된 애플리케이션의 로그 정보 중 적어도 하나를 수집할 수 있다.
또한, 상기 제어부는, 상기 사용자와 상기 다른 사용자와의 통화 음성을 텍스트로 변환하고, 상기 통화 음성의 톤 정보 및 상기 변환된 텍스트를 분석함으로써, 상기 할일 목록을 생성할 수 있다.
또한, 상기 제어부는, 적어도 하나의 메인 태스크, 및 상기 메인 태스크에 종속된 적어도 하나의 서브 태스크를 포함하는 상기 할일 목록을 생성할 수 있다.
또한, 상기 메인 태스크는 상기 사용자의 행동 정보에 기초하여 결정되며, 상기 서브 태스크는 상기 결정된 메인 태스크에 대응되는 기 설정된 서브 태스크들 중 선택될 수 있다.
또한, 상기 제어부는, 상기 할일 목록 내의 상기 서브 태스크 중 일부 또는 전부가 수행됨에 따라, 상기 할일 목록을 갱신할 수 있다.
또한, 상기 알림 정보는, 상기 미수행 태스크에 관한 알림을 제공하는 근거를 포함할 수 있다.
또한, 제어부는, 상기 미수행 태스크를 결정하는 시점 및 상기 알림 정보를 출력하는 시점을 설정할 수 있다.
또한, 본 개시의 제 2 측면은, 제1 디바이스를 통하여 수행된 상기 사용자와 다른 사용자 간의 행동에 관한 행동 정보를 수집하는 단계; 상기 수집된 행동 정보에 기초하여, 상기 사용자의 할일 목록을 생성하는 단계; 상기 제1 디바이스의 동작에 관한 로그 정보, 및 상기 사용자가 가입된 서비스 제공 서버의 동작에 관한 로그 정보를 이용하여, 상기 할일 목록 내의 상기 적어도 하나의 태스크 중에서 상기 사용자에 의해 수행되지 않은 미수행 태스크를 결정하는 단계; 및 상기 결정된 미수행 태스크의 알림 정보를 출력하는 단계;를 포함하는, 제1 디바이스가 사용자의 할일 목록을 제공하는 방법을 제공할 수 있다.
또한, 상기 미수행 태스크를 결정하는 단계는, 상기 할일 목록 내의 태스크의 수행을 위한 상기 제 1 디바이스의 세부 동작들 및 세부 동작들 간의 관계를 결정하고, 상기 세부 동작들 간의 관계 및 상기 세부 동작들의 수행 여부에 기초하여 상기 미수행 태스크를 결정할 수 있다.
또한, 상기 세부 동작들 및 상기 세부 동작들 간의 관계를 결정하는 단계는, 상기 할일 목록 내의 태스크에 관련된 다른 사용자 및 콘텐트를 결정하는 단계; 상기 할일 목록 내의 태스크에 관련된 상기 제1 디바이스에 설치된 애플리케이션 및 상기 애플리케이션의 기능을 결정하는 단계; 및 상기 결정된 애플리케이션, 기능, 다른 사용자 및 콘텐트의 일부 또는 전부를 조합함으로써, 상기 태스크 수행을 위한 상기 제1 디바이스의 상기 세부 동작들을 정의하는 단계;를 더 포함할 수 있다.
또한, 상기 할일 목록을 생성하는 단계는, 적어도 하나의 메인 태스크, 및 상기 메인 태스크에 종속된 적어도 하나의 서브 태스크를 포함하는 상기 할일 목록을 생성할 수 있다.
또한, 상기 알림 정보는, 상기 미수행 태스크에 관한 알림을 제공하는 근거를 포함할 수 있다.
또한, 본 개시의 제 3 측면은, 사용자의 적어도 하나의 디바이스로부터 상기 사용자의 행동 정보를 수신하는 통신부; 상기 수신된 행동 정보에 기초하여, 상기 사용자의 할일 목록을 생성하며, 상기 제1 디바이스의 동작에 관한 로그 정보, 및 상기 사용자가 가입된 서비스 제공 서버의 동작에 관한 로그 정보를 이용하여, 상기 할일 목록 내의 상기 적어도 하나의 태스크 중에서 상기 사용자에 의해 수행되지 않은 미수행 태스크를 결정하고, 상기 통신부를 통하여 상기 디바이스에게 상기 미수행 태스크의 목록을 제공하는 제어부;를 포함하는, 사용자의 할일 목록을 제공하는 서버를 제공할 수 있다.
또한, 본 개시의 제 4 측면은, 사용자의 적어도 하나의 디바이스로부터 상기 사용자의 행동 정보를 수신하는 단계; 상기 수신된 행동 정보에 기초하여, 상기 사용자의 할일 목록을 생성하는 단계; 상기 제1 디바이스의 동작에 관한 로그 정보, 및 상기 사용자가 가입된 서비스 제공 서버의 동작에 관한 로그 정보를 이용하여, 상기 할일 목록 내의 상기 적어도 하나의 태스크 중에서 상기 사용자에 의해 수행되지 않은 미수행 태스크를 결정하는 단계; 상기 디바이스에게 상기 미수행 태스크의 목록을 제공하는 단계;를 포함하는, 서버가 사용자의 할일 목록을 제공하는 방법을 제공할 수 있다.
또한, 본 개시의 제 5 측면은, 제 2 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
도 1은 일부 실시예에 따른 디바이스가 사용자가 해야 할 일을 사용자에게 알리는 예시를 나타내는 도면이다.
도 2는 일부 실시예에 따른 디바이스가 사용자의 할일 목록을 알리는 방법의 흐름도이다.
도 3은 일부 실시예에 따른 디바이스가 사용자의 행동 정보를 획득하는 방법의 흐름도이다.
도 4는 일부 실시예에 따른 디바이스가 통화 음성 및 통화 음성의 톤 정보를 이용하여 할일 목록을 생성하는 방법의 흐름도이다.
도 5는 일부 실시예에 따른 디바이스가 할일 목록에 포함될 태스크를 결정하고 검증함으로써, 할일 목록을 생성하는 방법의 흐름도이다.
도 6은 일부 실시예에 따른 디바이스가 메인 태스크 및 서브 태스크를 결정하는 방법의 흐름도이다.
도 7은 일부 실시예에 따른 디바이스가 사용자 입력에 기초하여 할일 목록을 수정하는 방법의 흐름도이다.
도 8은 일부 실시예에 따른 사용자와 다른 사용자 간의 대화 내용에 기초하여 디바이스에 의해 생성된 할일 목록의 예시를 나타내는 도면이다.
도 9는 일부 실시예에 따른 디바이스가 사용자 입력에 기초하여 할일 목록을 수정하는 예시를 나타내는 도면이다.
도 10은 일부 실시예에 따른 디바이스에 의해 생성된 할일 목록 테이블의 예시를 나타내는 도면이다.
도 11은 일부 실시예에 따른 디바이스가 할일 목록을 갱신하는 방법의 흐름도이다.
도 12는 일부 실시예에 따른 디바이스가 할일 목록을 갱신하는 일례를 도시한 도면이다.
도 13은 일부 실시예에 따른 디바이스가 할일 목록 내의 태스크의 수행 여부를 판단하는 방법의 흐름도이다.
도 14는 일부 실시예에 따른 디바이스가 할일 목록 내의 태스크가 수행되었는지를 판단하는 방법의 세부 흐름도이다.
도 15는 일부 실시예에 따른 태스크 수행에 관련된 세부 동작들의 관계를 나타내는 도면이다.
도 16은 일부 실시예에 따른 디바이스가 미수행된 태스크를 나타내는 알림 정보를 출력하는 방법의 흐름도이다.
도 17은 일부 실시예에 따른 알림 정보의 알림 시점을 나타내는 알림 시점 테이블의 일례를 나타내는 도면이다.
도 18은 일부 실시예에 따른 디바이스가 알림 정보를 출력하는 예시를 나타내는 도면이다.
도 19는 일부 실시예에 따른 사용자의 디바이스가 다른 사용자의 다른 디바이스와 커뮤니케이션을 형성함에 따라, 다른 사용자와 관련된 미수행 태스크를 사용자에게 알리는 방법의 흐름도이다.
도 20은 일부 실시예에 따른 디바이스가 다른 디바이스와 통화 연결됨에 따라, 다른 디바이스의 다른 사용자와 관련된 미수행 태스크를 출력하는 예시를 나타내는 도면이다.
도 21은 일부 실시예에 따른 디바이스를 통하여 사용자의 할일 목록을 사용자에게 알리는 할일 목록 알림 시스템의 예시를 나타내는 도면이다.
도 22는 일부 실시예에 따른 서버가 할일 목록을 생성하고 디바이스가 할일 목록 내의 태스크들 중에서 미수행 태스크를 판단하고 알리는 방법의 흐름도이다.
도 23은 일부 실시예에 따른, 서버가 할일 목록을 생성하고 할일 목록 내의 태스크들 중에서 미수행 태스크를 판단하며, 디바이스가 미수행 태스크를 알리는 방법의 흐름도이다.
도 24 및 도 25는 일부 실시예에 따른 디바이스의 블록도이다.
도 26은 일부 실시예에 따른 서버의 블록도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일부 실시예에 따른 디바이스(1000)가 사용자가 해야 할 일을 사용자에게 알리는 예시를 나타내는 도면이다.
도 1을 참조하면, 디바이스(1000)는 사용자의 다양한 행동을 분석함으로써, 사용자가 해야 할 일을 결정하고, 결정된 할 일이 수행되지 않았음을 판단하고 사용자에게 알릴 수 있다. 예를 들어, 디바이스(1000)는 디바이스(1000)를 이용한 사용자의 통화, 사용자의 메시지 전송 및 사용자의 이메일 전송 등의 행동을 분석함으로써, 사용자가 해야 할 일의 목록을 생성할 수 있다. 또한, 디바이스(1000)는 사용자의 행동을 모니터링함으로써 사용자가 해야 할 일이 수행되었는지를 판단하고, 사용자에게 사용자의 할 일이 수행되지 않았음을 알릴 수 있다. 또한, 디바이스(1000)는 사용자에게 해야 할 일을 알리는 근거를 출력할 수 있으며, 해야 할 일에 관련된 부가 정보를 제공할 수 있다.
디바이스(1000)는, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 디바이스(1000)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다.
도 2는 일부 실시예에 따른 디바이스(1000)가 사용자의 할일 목록을 알리는 방법의 흐름도이다.
단계 S200에서 디바이스(1000)는 사용자의 행동 정보를 획득할 수 있다. 사용자의 행동 정보는, 사용자가 디바이스(1000)를 이용하는 행동에 관한 정보로서 사용자가 어떤 일을 해야 하는 지를 판단하는데 이용되는 정보일 수 있다. 예를 들어, 디바이스(1000)는, 디바이스(1000)를 통한 통화 내용, 디바이스(1000)를 통해 송수신된 메시지(예를 들어, SMS, MMS, 채팅 메시지 등)의 내용, 디바이스(1000)를 통해 송수신된 이메일 내용, 디바이스(1000)에 기록된 메모 내용, 디바이스(1000)에 녹음된 음성 내용 및 디바이스(1000)에 저장된 사용자 일정의 내용 등의 정보를 획득할 수 있다.
단계 S210에서 디바이스(1000)는 사용자의 할일 목록을 생성할 수 있다. 디바이스(1000)는 사용자의 행동 정보를 분석하여 사용자의 할일 목록을 생성할 수 있다. 디바이스(1000)는 사용자와 다른 사용자 간의 커뮤니케이션 내용을 분석하고, 분석된 커뮤니케이션 내용에 기초하여 사용자가 해야 할 일을 결정할 수 있다. 예를 들어, 디바이스(1000)는 사용자와 다른 사용자 간의 커뮤니케이션 내용을 다양한 데이터 마이닝(data mining) 기술을 이용하여 분석할 수 있다. 또한, 예를 들어, 디바이스(1000)는 다양한 자연어 해석 기술을 이용하여 사용자와 다른 사용자 간의 커뮤니케이션 내용을 분석할 수 있다. 이 경우, 디바이스(1000)는 형태소 분석, 구문 분석 등의 자연어 처리 방식을 통하여 사용자와 다른 사용자 간의 커뮤니케이션 내용의 의미를 해석할 수 있다.
또한, 디바이스(1000)는 디바이스(1000)에 기록된 메모 및 사용자 일정을 분석함으로써, 사용자가 해야 할 일을 결정할 수 있다. 디바이스(1000)는 다양한 데이터 마이닝 기술 및 자연어 해석 기술을 이용하여, 메모 및 사용자 일정을 분석할 수 있다.
또한, 디바이스(1000)는 디바이스(1000)에 설치된 애플리케이션을 통하여 수행된 디바이스(1000)의 동작을 분석함으로써, 사용자가 해야 할 일을 결정할 수 있다. 이 경우, 디바이스(1000)는 애플리케이션에 관한 로그 정보를 이용하여 사용자의 해야 할 일을 결정할 수 있다.
사용자의 해야 할 일은 단순 태스크 및 복합 태스크를 포함할 수 있다. 단순 태스크는 하나의 태스크로 이루어질 수 있으며, 예를 들어, “파일 전송“ 및 “메일 발송“ 등과 같은 태스크일 수 있다. 복합 태스크는 메인 태스크 및 서브 태스크를 포함할 수 있으며, 예를 들어, “여행 준비“라는 메인 태스크 및, “비행기 티켓 예매”, “여행지 검색”, “렌트카 대여”, “음식점 검색”, “숙소 검색” 및 “준비물 구매” 등의 서브 태스크를 포함할 수 있다.
또한, 디바이스(1000)는 생성된 할일 목록을 디바이스(1000)의 화면 상에 디스플레이하고, 생성된 할일 목록을 편집하기 위한 편집 툴(tool)을 사용자에게 제공할 수 있다. 디바이스(1000)는 편집 툴을 통한 사용자 입력에 기초하여 생성된 할일 목록을 수정할 수 있다.
단계 S220에서 디바이스(1000)는 할일 목록에 포함된 태스크의 수행 여부를 판단할 수 있다. 디바이스(1000)는 디바이스(1000), 다른 디바이스(미도시), 및 서비스 제공 서버(3000)에 저장된 사용자의 로그 정보를 이용하여, 할일 목록에 포함된 태스크의 수행 여부를 판단할 수 있다. 이 경우, 할일 목록에 포함된 태스크의 수행과 관련된 모니터링 항목이 미리 설정될 수 있다. 모니터링 항목은, 예를 들어, 할일 목록 내의 태스크의 수행에 관련된 애플리케이션, 사용자 및 이들의 동작에 관련된 항목일 수 있다. 또한, 디바이스(1000)는 로그 정보를 이용하여 모니터링 항목을 분석함으로써 할일 목록 내의 태스크의 수행 여부를 판단할 수 있다.
또한, 디바이스(1000)는 다른 디바이스(미도시), 및 서비스 제공 서버(3000)에 저장된 다른 사용자의 로그 정보를 이용하여, 할일 목록에 포함된 태스크의 수행 여부를 판단할 수 있다. 이 경우, 다른 사용자는 할일 목록에 포함된 태스크의 수행에 관련된 다른 사용자일 수 있다. 예를 들어, 할일 목록 내의 태스크가 “디바이스(1000)의 사용자 A가 다른 사용자 B에게 사진을 전송”인 경우에, 디바이스(1000)는 사용자 B의 다른 디바이스(미도시)의 동작 또는 사용자 B가 가입된 서비스 제공 서버(3000)에 저장된 사용자 B의 로그 정보를 모니터링할 수 있다.
디바이스(1000)가 할일 목록에 포함된 태스크의 수행 여부를 판단하는 시점이 미리 설정될 수 있다.
단계 S230에서 디바이스(1000)는 할일 목록에 포함된 태스크 중에서 미수행 태스크에 관한 알림 정보를 출력할 수 있다. 디바이스(1000)는 알림 정보를 출력하는 시점을 미리 설정할 수 있다. 예를 들어, 디바이스(1000)는 기 설정된 주기로 알림 정보를 출력할 수 있다. 예를 들어, 디바이스(1000)는, 특정 애플리케이션의 실행, 특정 시점의 도래 등과 같은 기 설정된 이벤트가 발생되면 알림 정보를 출력할 수 있다.
또한, 디바이스(1000)는 알림 정보를 출력하는 근거를 나타내는 근거 정보를 생성하고, 근거 정보를 포함하는 알림 정보를 출력할 수 있다. 이 경우, 디바이스(1000)는 근거 정보를 자연어로 된 문장으로 생성할 수 있다.
도 3은 일부 실시예에 따른 디바이스(1000)가 사용자의 행동 정보를 획득하는 방법의 흐름도이다.
단계 S300에서 디바이스(1000)는 사용자와 다른 사용자 간의 통화 음성을 획득할 수 있다. 디바이스(1000)는 디바이스(1000) 내의 통화 애플리케이션이 실행되고 다른 사용자와의 통화가 연결되면, 사용자와 다른 사용자 간의 통화 음성을 녹음할 수 있다. 또한, 디바이스(1000)는 녹음된 통화 음성을 텍스트로 변환할 수 있다. 디바이스(1000)는 직접 통화 음성을 텍스트로 변환할 수 있으나, 이에 제한되지 않는다. 예를 들어, 디바이스(1000)는 녹음된 통화 음성을 서버(2000)로 전송하고, 통화 음성으로부터 변환된 텍스트를 서버(2000)로부터 수신할 수 있다.
단계 S310에서 디바이스(1000)는 사용자와 다른 사용자 간에 송수신된 메시지를 획득할 수 있다. 디바이스(1000)는, 디바이스(1000)가 디바이스(1000) 내의 메시지 송수신 애플리케이션을 실행하고 다른 사용자와 메시지를 송수신함에 따라 송수신된 메시지를 획득할 수 있다. 메시지 송수신 애플리케이션은, 예를 들어, 채팅 애플리케이션, SMS/MMS 송수신 애플리케이션, 메신저 애플리케이션 및 SNS 애플리케이션을 포함할 수 있다. 또한, 디바이스(1000)는 디바이스(1000)에서 송수신된 이메일의 텍스트를 획득할 수 있다. 이 경우, 디바이스(1000)는 디바이스(1000)에서 실행된 웹 브라우저 또는 이메일 송수신 애플리케이션으로부터 이메일의 텍스트를 획득할 수 있다.
단계 S320에서 디바이스(1000)는 사용자의 일정 정보를 수집할 수 있다. 디바이스(1000)의 사용자는 디바이스(1000)의 일정 관리 애플리케이션을 통하여 사용자의 일정 정보를 디바이스(1000)에 입력할 수 있으며, 디바이스(1000)는 일정 관리 애플리케이션으로부터 사용자의 일정 정보를 수집할 수 있다. 또한, 디바이스(1000)의 사용자는 서비스 제공 서버(3000)의 서비스를 이용하여 서비스 제공 서버(3000)에 사용자의 일정 정보를 기록할 수 있으며, 디바이스(1000)는 서비스 제공 서버(3000)에 저장된 사용자의 일정 정보를 서비스 제공 서버(3000)로부터 수신할 수도 있다. 이 경우, 디바이스(1000)는 서비스 제공 서버(3000)의 사용자 ID를 이용하여 서비스 제공 서버(3000)로부터 사용자의 일정 정보를 수신할 수 있다. 또한, 디바이스(1000)의 사용자는 사용자의 다른 디바이스(미도시)에 사용자의 일정 정보를 입력할 수 있으며, 디바이스(1000)는 다른 디바이스(미도시)로부터 사용자의 일정 정보를 수신할 수 있다.
단계 S330에서 디바이스(1000)는 사용자의 메모 정보를 수집할 수 있다. 디바이스(1000)의 사용자는 디바이스(1000)의 메모 애플리케이션을 통하여 사용자의 메모를 디바이스(1000)에 입력할 수 있으며, 디바이스(1000)는 메모 애플리케이션으로부터 사용자의 메모 정보를 수집할 수 있다. 또한, 디바이스(1000)의 사용자는 서비스 제공 서버(3000)의 서비스를 이용하여 서비스 제공 서버(3000)에 사용자의 메모를 기록할 수 있으며, 디바이스(1000)는 서비스 제공 서버(3000)에 저장된 사용자의 메모 정보를 서비스 제공 서버(3000)로부터 수신할 수도 있다. 이 경우, 디바이스(1000)는 서비스 제공 서버(3000)의 사용자 ID를 이용하여 서비스 제공 서버(3000)로부터 사용자의 메모 정보를 수신할 수 있다. 또한, 디바이스(1000)의 사용자는 사용자의 다른 디바이스(미도시)에 사용자의 메모를 입력할 수 있으며, 디바이스(1000)는 다른 디바이스(미도시)로부터 사용자의 메모 정보를 수신할 수 있다.
또한, 사용자는 디바이스(1000), 다른 디바이스(미도시) 및 서비스 제공 서버(3000)에 음성 메모를 저장할 수 있으며, 디바이스(1000)는 STT(Speech To Text) 변환 기술을 이용하여 음성 메모로부터 변환된 텍스트를 획득할 수 있다.
단계 S340에서 디바이스(1000)는 디바이스(1000)에서 실행된 애플리케이션의 로그 정보를 수집할 수 있다. 로그 정보는, 디바이스(1000)에서 실행된 애플리케이션이 사용자 입력에 기초하여 어떠한 동작을 수행했는지를 나타낼 수 있다. 디바이스(1000)는 단계 S300 내지 단계 S330에서 수집된 행동 정보 외에도, 디바이스(1000)에서 실행된 애플리케이션의 세부 동작에 관한 로그 정보들을 수집함으로써, 디바이스(1000)의 동작과 관련된 사용자의 행동 패턴을 판단하는데 로그 정보들을 이용할 수 있다.
도 4는 일부 실시예에 따른 디바이스(1000)가 통화 음성 및 통화 음성의 톤 정보를 이용하여 할일 목록을 생성하는 방법의 흐름도이다.
단계 S400에서 디바이스(1000)는 통화 음성을 텍스트로 변환할 수 있다. 디바이스(1000)는 사용자와 다른 사용자 간의 통화 음성을 자동으로 인식하고, 인식된 통화 음성을 텍스트로 변환할 수 있다. 또는, 디바이스(1000)는 사용자와 다른 사용자 간의 통화 음성을 서버(2000)로 전송하고, 서버(2000)에 의해 통화 음성으로부터 변환된 텍스트를 서버(2000)로부터 수신할 수 있다.
단계 S410에서 디바이스(1000)는 통화 음성의 톤 정보를 획득할 수 있다. 디바이스(1000)는, 예를 들어, 통화 음성의 크기 및 주파수 등에 관한 정보를 획득할 수 있다. 디바이스(1000)는 획득된 톤 정보와, 통화 음성으로부터 변환된 텍스트의 싱크를 동기화할 수 있다.
단계 S420에서 디바이스(1000)는 메시지, 일정 정보 및 메모 정보에 포함된 텍스트, 및 통화 음성으로부터 변환된 텍스트를 분석할 수 있다. 디바이스(1000)는 다양한 데이터 마이닝 기술 및 자연어 처리 기술을 이용하여, 메시지, 일정 정보 및 메모 정보에 포함된 텍스트, 및 통화 음성으로부터 변환된 텍스트의 의미를 파악할 수 있다. 이 경우, 디바이스(1000)는 사용자와 다른 사용자 간의 대화의 문맥을 파악하고, 파악된 문맥에 기초하여 텍스트의 의미를 파악할 수 있다. 디바이스(1000)는 적어도 하나 이상의 데이터 마이닝 기술, 및/또는 적어도 하나 이상의 자연어 처리 기술을 이용하여, 텍스트의 의미를 파악할 수 있다. 또한, 디바이스(1000)는 파악된 텍스트의 의미에 기초하여, “누가”, “언제”, “어디서”, “무엇을”, “어떻게”, “왜”와 같은 의문사에 대응되는 키워드를 결정하고, 결정된 키워드를 조합함으로써 사용자가 해야 할 태스크를 결정할 수 있다.
또한, 디바이스(1000)는 통화 음성으로부터 변환된 텍스트에 동기화된 톤 정보를 이용하여, 텍스트에 포함된 단어의 가중치를 결정할 수 있으며, 결정된 가중치에 기초하여 텍스트의 의미를 파악할 수 있다.
또한, 디바이스(1000)는 텍스트의 의미에 기초하여, 사용자가 다른 사용자에게 요청한 태스크, 다른 사용자가 사용자에게 요청한 태스크, 사용자와 다른 사용자 간의 질문에 관련된 태스크를 결정할 수 있다.
단계 S430에서 디바이스(1000)는 사용자의 할일 목록을 생성할 수 있다. 디바이스(1000)는 단계 S420에서 결정된 태스크의 진정성 레벨을 판단하고, 기 설정된 임계치 이상의 진정성 레벨을 가지는 태스크를 할일 목록에 포함될 태스크로 결정할 수 있다. 이 경우, 디바이스(1000)는 사용자와 다른 사용자 간의 대화의 문맥을 파악하고, 파악된 문맥에 기초하여, 결정된 태스크의 진정성 레벨을 판단할 수 있다.
또한, 디바이스(1000)는 단계 S420에서 결정된 태스크와 관련된 서브 태스크들을 자동으로 결정할 수 있다. 디바이스(1000)는 텍스트의 의미에 기초하여 메인 태스크를 결정하고, 결정된 메인 태스크와 관련된 서브 태스크를 결정할 수 있다. 예를 들어, 디바이스(1000)는 텍스트에 기초하여 “5/5 제주도 여행 준비“라는 메인 태스크를 결정하고, “5/5자 비행기 티켓 예매”, “여행지 검색”, “렌트카 대여”, 및 “준비물 구매” 등과 같이 여행 준비를 위한 서브 태스크를 결정할 수 있다. 이 경우, 메인 태스크에 관련된 서브 태스크의 목록이 미리 설정될 수 있으며, 디바이스(1000)는 미리 설정된 서브 태스크의 목록 중에서 일부 서브 태스크를 선택함으로써 서브 태스크를 결정할 수 있다. 서브 태스크의 목록은, 사용자의 행동 패턴을 이용하여 설정될 수 있다. 예를 들어, 사용자가 선호하는 교통편, 사용자가 선호하는 렌트카 회사, 사용자가 선호하는 여행 테마 등의 정보가 서브 태스크를 결정하는데 이용될 수 있다.
또한, 디바이스(1000)는 할일 목록에 포함될 태스크의 목록을 디바이스(1000)의 화면 상에 디스플레이할 수 있고, 디스플레이된 태스크의 목록에 대한 사용자 입력에 기초하여 태스크를 할일 목록에 포함시킬 지를 결정할 수 있다. 또한, 디바이스(1000)는 할일 목록에 포함될 태스크를 수정하기 위한 GUI를 디바이스(1000)의 화면 상에 디스플레이하고, GUI를 통한 사용자 입력에 기초하여 할일 목록에 포함될 태스크를 수정할 수 있다.
도 5는 일부 실시예에 따른 디바이스(1000)가 할일 목록에 포함될 태스크를 결정하고 검증함으로써, 할일 목록을 생성하는 방법의 흐름도이다.
단계 S500에서 디바이스(1000)는 다른 사용자가 사용자에게 요청한 태스크를 결정할 수 있다. 디바이스(1000)는 다른 사용자가 사용자에게 전송한 메시지, 이메일 및 통화 음성을 식별하고, 식별된 메시지, 이메일 및 통화 음성을 분석함으로써 다른 사용자가 사용자에게 요청한 태스크를 결정할 수 있다. 또한, 예를 들어, 디바이스(1000)는 Intention Extraction Analytics, Dialog Act Analytics, Information Extraction Analytics, Class Detection, Regular Expression 등의 기술을 활용하여, 사용자의 행동 정보에 포함된 텍스트 또는 통화 음성으로부터 변환된 텍스트의 의미를 파악할 수 있다. 또한, 디바이스(1000)는 텍스트의 의미에 기초하여 다른 사용자가 사용자에게 요청한 태스크를 결정할 수 있다.
단계 S510에서 디바이스(1000)는 사용자가 다른 사용자에게 요청한 태스크를 결정할 수 있다. 디바이스(1000)는 사용자가 다른 사용자에게 전송한 메시지, 이메일 및 통화 음성을 식별하고, 식별된 메시지, 이메일 및 통화 음성을 분석함으로써 사용자가 다른 사용자에게 요청한 태스크를 결정할 수 있다. 또한, 예를 들어, 디바이스(1000)는 Intention Extaction Analytics, Dialog Act Analytics, Information Extraction Analytics, Class Detection, Regular Expression 등의 기술을 활용하여, 사용자의 행동 정보에 포함된 텍스트 또는 통화 음성으로부터 변환된 텍스트의 의미를 파악할 수 있다. 또한, 디바이스(1000)는 텍스트의 의미에 기초하여 사용자가 다른 사용자에게 요청한 태스크를 결정할 수 있다.
단계 S520에서 디바이스(1000)는 사용자 또는 다른 사용자의 질문과 관련된 태스크를 결정할 수 있다. 디바이스(1000)는 사용자와 다른 사용자 간에 송수신된 메시지, 이메일 및 통화 음성을 식별하고, 식별된 메시지, 이메일 및 통화 음성을 분석함으로써 사용자 또는 다른 사용자의 질문과 관련된 태스크를 결정할 수 있다. 또한, 예를 들어, 디바이스(1000)는 Intention Extaction Analytics, Dialog Act Analytics, Information Extraction Analytics, Class Detection, Regular Expression 등의 기술을 활용하여, 사용자의 행동 정보에 포함된 텍스트 또는 통화 음성으로부터 변환된 텍스트의 의미를 파악할 수 있다. 또한, 디바이스(1000)는 텍스트의 의미에 기초하여 사용자 또는 다른 사용자의 질문과 관련된 태스크를 결정할 수 있다.
단계 S530에서 디바이스(1000)는 결정된 태스크를 검증할 수 있다. 디바이스(1000)는 메시지, 이메일 및 통화 음성으로부터 획득된 텍스트의 문맥에 기초하여, 결정된 태스크를 검증할 수 있다. 예를 들어, 다른 사용자가 사용자에게 사진을 전송해 달라고 요청하는 문장이 텍스트 내에 포함되어 있고, 사용자가 다른 사용자에게 사진을 전송하겠다는 답변이 텍스트 내에 포함되어 있으면, 디바이스(1000)는 “다른 사용자에게 사진을 전송할 것”이라는 태스크를 할일 목록에 포함될 태스크로 결정할 수 있다. 또는, 디바이스(1000)는 텍스트의 문맥에 기초하여, 결정된 태스크의 진정성 레벨을 판단하고, 기 설정된 임계치 이상의 진정성 레벨을 가지는 태스크를 할일 목록에 포함될 태스크로 결정할 수 있다. 예를 들어, 디바이스(1000)는 “누가”, “언제”, “어디서”, “무엇을”, “어떻게”, “왜”와 같은 의문사에 대응되는 단어들이 태스크 내에 어느 정도 포함되어 있는지를 판단할 수 있다. 또한, 예를 들어, 디바이스(1000)는 Dialogue boundary detection을 통해서 텍스트로부터 전반적인 대화 Session 을 추출하고, 추출된 세션 및 의문사들에 대응되는 단어들의 포함 여부 등을 분석함으로써 태스크의 진정성 레벨을 결정할 수 있다.
또한, 디바이스(1000)는 결정된 태스크를 사용자 입력에 기초하여 검증할 수 있다. 디바이스(1000)는 결정된 태스크를 디바이스(1000)의 화면 상에 디스플레이하고, 결정된 태스크가 사용자가 수행해야 하는 태스크가 맞는지를 사용자의 입력에 기초하여 판단할 수 있다.
또한, 디바이스(1000)는 검증된 태스크와 관련된 서브 태스크들을 자동으로 결정하고 검증할 수 있다.
단계 S540에서 디바이스(1000)는 검증된 태스크를 포함하는 할일 목록을 생성할 수 있다. 디바이스(1000)는 검증된 태스크를 나열하여 할일 목록을 생성할 수 있다. 디바이스(1000)는 할일 목록에 포함된 태스크를 수정하기 위한 GUI를 디바이스(1000)의 화면 상에 디스플레이하고, GUI를 통한 사용자 입력에 기초하여 할일 목록에 포함될 태스크를 수정할 수 있다.
도 6은 일부 실시예에 따른 디바이스(1000)가 메인 태스크 및 서브 태스크를 결정하는 방법의 흐름도이다.
단계 S600에서 디바이스(1000)는 할일 목록에 포함될 메인 태스크를 결정할 수 있다. 디바이스(1000)는 사용자의 행동 정보로부터 획득된 텍스트를 분석함으로써, 할일 목록에 포함될 메인 태스크를 결정할 수 있다. 예를 들어, 디바이스(1000)는 “5/5 제주도 여행 준비”, 및 “사진을 다른 사용자에게 전송”과 같은 메인 태스크를 결정할 수 있다.
단계 S610에서 디바이스(1000)는 메인 태스크에 관련된 서브 태스크를 결정할 수 있다. 디바이스(1000)는 메인 태스크의 목적 및 내용을 파악하고, 메인 태스크의 종류 및 내용에 따라 기설정된 서브 태스크의 목록 중 일부를 선택함으로써, 메인 태스크에 관련된 서브 태스크를 결정할 수 있다. 예를 들어, 디바이스(1000)는 텍스트에 기초하여 “5/5 제주도 여행 준비“라는 메인 태스크가 여행 준비를 위한 태스크임을 식별하고, 여행 준비에 관련된 기 설정된 태스크들 중 일부인 “교통 티켓 예매”, “여행지 검색” 및 “준비물 구매”를 선택할 수 있다. 또한, 디바이스(1000)는 메인 태스크의 내용에 기초하여, “5/5자에 제주도에 가기 위한 항공기 티켓 예매”, “제주도에서 이용될 렌트카 예매”, “제주도 내의 여행지 검색” 및 “준비물 구매”와 같은 서브 태스크를 결정할 수 있다. 이 경우, 서브 태스크의 목록은, 사용자의 행동 패턴을 이용하여 결정될 수 있다. 예를 들어, 사용자가 선호하는 교통편, 사용자가 선호하는 렌트카 회사, 사용자가 선호하는 여행 테마 등의 정보가 서브 태스크를 결정하는데 이용될 수 있다.
한편, 디바이스(1000)는 시간의 흐름에 따라 서브 태스크들을 분류할 수 있다. 예를 들어, “여행 준비”라는 메인 태스크에 관련된 서브 태스크들을 여행 전, 여행 중 및 여행 후의 서브 태스크들로 분류할 수 있다. 디바이스(1000)는, 여행 전의 서브 태스크들로서 “교통 수단 검색”, “숙박지 검색” 및 “준비물 구매”를 결정하고, 여행 중의 서브 태스크들로서 “음식점 검색”, “교통 수단 검색” 및 “관광지 검색”을 결정하고, 여행 후의 서브 태스크들로서 “보고서 작성”을 결정할 수 있다.
또한, 디바이스(1000)는 서브 태스크의 서브 태스크를 결정할 수 있다. 예를 들어, 디바이스(1000)는 서브 태스크인 “교통 수단 검색”의 서브 태스크들로서, “비행키 티켓 예매” 및 “렌터카 예약”을 결정할 수 있다. 예를 들어, 디바이스(1000)는 서브 태스크인 “보고서 작성”의 서브 태스크들로서 “자료 다운로드“, “보고서 포맷 결정“, “중간 보고“, 및 “최종 보고“를 결정할 수 있다.
한편, 디바이스(1000)는 결정된 서브 태스크를 검증할 수 있다. 예를 들어, 디바이스(1000)는 결정된 서브 태스크를 디바이스(1000)의 화면 상에 디스플레이하고, 디스플레이된 서브 태스크를 검증하기 위한 사용자 입력에 기초하여 서브 태스크를 검증할 수 있다.
단계 S620에서 디바이스(1000)는 메인 태스크 및 서브 태스크를 매칭하여 할일 목록을 생성할 수 있다. 디바이스(1000)는 적어도 하나의 메인 태스크 및 적어도 하나의 메인 태스크에 각각 매칭되는 적어도 하나의 서브 태스크를 조합함으로써, 할일 목록을 생성할 수 있다.
또한, 디바이스(1000)는, 태스크들의 수행 순서가 정해져 있는 경우에, 태스크들 중 일부의 수행 여부에 기초하여 할일 목록을 동적으로 변경할 수 있다. 디바이스(1000)는 이전 단계의 서브 태스크가 수행됨에 따라, 이후 단계의 서브 태스크들을 보다 구체적으로 할일 목록에 포함시킬 수 있다. 예를 들어, “여행 전”의 태스크가 수행되면, 디바이스(1000)는 할일 목록에 “여행 중”의 서브 태스크들을 구체적으로 포함시킬 수 있다.
도 7은 일부 실시예에 따른 디바이스(1000)가 사용자 입력에 기초하여 할일 목록을 수정하는 방법의 흐름도이다.
단계 S700에서 디바이스(1000)는 할일 목록을 수정하기 위한 GUI를 디바이스(1000)의 화면 상에 디스플레이할 수 있다. 할일 목록을 수정하기 위한 GUI은 할일 목록을 디스플레이하기 위한 영역을 포함할 수 있으며, 할일 목록 내의 태스크 중 일부가 선택됨에 따라 태스크를 수정하기 위한 편집창 등을 포함할 수 있다.
단계 S710에서 디바이스(1000)는 GUI를 통한 사용자 입력에 기초하여 할일 목록을 수정할 수 있다. 예를 들어, 사용자는 GUI를 통해 디스플레이된 할일 목록에서 메인 태스크인 “제주도 여행 준비”를 선택할 수 있으며, 디바이스(1000)는 “제주도 여행 준비”가 선택됨에 따라 “제주도 여행 준비”를 편집하기 위한 문자 입력창을 디스플레이할 수 있다. 또한, 사용자는 문자 입력창을 이용하여 “제주도 여행 준비”를 “5/5 제주도 여행 준비”로 수정할 수 있다.
또한, 할일 목록 내의 메인 태스크가 수정됨에 따라, 디바이스(1000)는 수정된 태스크에 관련된 서브 태스크들을 자동적으로 수정할 수 있다. 이 경우, 디바이스(1000)는 수정된 메인 태스크의 의미를 해석하고, 해석된 메인 태스크의 의미에 기초하여 서브 태스크들을 수정할 수 있다. 또한, 디바이스(1000)는 수정된 서브 태스크들을 디스플레이하고, 수정된 서브 태스크들을 사용자 입력에 따라 추가적으로 수정할 수 있다.
도 8은 일부 실시예에 따른 사용자와 다른 사용자 간의 대화 내용에 기초하여 디바이스(1000)에 의해 생성된 할일 목록의 예시를 나타내는 도면이다.
도 8을 참조하면, 디바이스(1000)는, 디바이스(1000)의 사용자 “A”와 다른 사용자들 간의 대화 내용을 나타내는 텍스트를 분석함으로써, 사용자 “A”의 할일 목록을 생성할 수 있다. 예를 들어, 디바이스(1000)는 사용자 “A”와 사용자 “B” 간의 대화에서, 사용자 “A”의 질문 중 “제주도에 여행 갈까?” 및 사용자 “B”의 대답 중 “응, 그래.”에 기초하여, 사용자 “A”와 사용자 “B” 가 제주도 여행을 계획하고 있음을 해석할 수 있다. 또한, 예를 들어, 디바이스(1000)는 사용자 “A”와 사용자 “B” 간의 대화에서, 사용자 “B”의 “여행 준비를 부탁해” 및 사용자 “A”의 “그래, 내가 준비할께.”에 기초하여, 사용자 “A”가 제주도 여행을 준비를 해야 함을 해석할 수 있다. 이에 따라, 디바이스(1000)는 상기 해석에 기초하여, “제주도 여행을 준비”를 메인 태스크로 결정할 수 있다. 또한, 디바이스(1000)는 여행 준비에 관련된 기 설정된 서브 태스크의 목록에서 일부를 선택하고, 사용자 “A”와 사용자 “B” 간의 대화 내용에 기초하여 선택된 서브 태스크를 편집함으로써, “제주도행 비행기 티켓을 예매”, “여행지 검색”, “렌터카 대여” 및 “준비물 구매”를 서브 태스크로 결정할 수 있다.
또한, 예를 들어, 디바이스(1000)는 사용자 “A”와 사용자 “C” 간의 대화에서, 사용자 “A”의 “나 내일 소녀시대 팬클럽 행사 갈꺼야. 너도 같이 갈래?” 및 사용자 “C”의 “아, 난 내일 같이 가기 힘들 것 같아.”에 기초하여, 사용자 “A”만 소녀시대의 팬클럽 행사에 참여함을 판단할 수 있다. 또한, 디바이스(1000)는 사용자 “C”의 “소녀시대 사진 찍으면 나한테 좀 보내줘.” 및 사용자 “A”의 “그래, 소녀시대 사진 찍어서 보내줄께.”를 해석함으로써, 사용자 “A”가 내일 소녀시대 팬클럽 행사에서 소녀시대 사진을 찍어서 사용자 “C”에게 보내줘야 함을 판단할 수 있다. 이에 따라, 디바이스(1000)는 상기 해석에 기초하여, “소녀시대 사진을 C에게 전송”을 메인 태스크로 결정할 수 있다. 또한, 디바이스(1000)는 사진 전송에 관련된 기 설정된 서브 태스크의 목록에서 일부를 선택하고, 사용자 “A”와 사용자 “C” 간의 대화 내용에 기초하여 선택된 서브 태스크를 편집함으로써, “소녀시대 팬클럽 행사장 위치 검색”, “소녀 시대 사진 촬영”, 및 “소녀시대 사진을 C에게 전송”을 서브 태스크로 결정할 수 있다.
도 9는 일부 실시예에 따른 디바이스(1000)가 사용자 입력에 기초하여 할일 목록을 수정하는 예시를 나타내는 도면이다.
도 9를 참조하면, 디바이스(1000)의 화면 상에 사용자의 할일 목록이 디스플레이될 수 있다. 예를 들어, 디바이스(1000)의 화면 상에는, 메인 태스크인 “제주도 여행을 준비” 및 서브 태스크들인 “제주도행 비행기 티켓을 예매”, “여행지 검색”, “렌터카 대여”, “준비물 구매”가 디스플레이될 수 있다. 또한, 사용자는 서브 태스크들 중 “제주도행 비행기 티켓을 예매”를 수정하기 위하여, “제주도행 비행기 티켓을 예매”를 터치할 수 있다. 또한, 사용자는 제주도행 비행기 티켓을 예매해야 하는 날짜인 5/5 및 5/9을 “제주도행 비행기 티켓을 예매”에 추가함으로써, “제주도행 비행기 티켓을 예매”를 “제주도행 비행기 티켓을 예매 (5/5, 5/9)”로 수정할 수 있다.
도 10은 일부 실시예에 따른 디바이스(1000)에 의해 생성된 할일 목록 테이블의 예시를 나타내는 도면이다.
도 10을 참조하면, 할일 목록 테이블은 메인 태스크 필드(100), 서브 태스크 필드(200) 및 부가 정보 필드(300)를 포함할 수 있다. 메인 태스크 필드(100)에는 사용자의 행동 정보로부터 결정된 사용자의 메인 태스크가 기록될 수 있다. 예를 들어, “제주도 여행 준비”, “소녀시대 사진을 C에게 전송”, “서울 XX 전시장에 4/30 참석”, 및 “물품 A를 구매”가 기록될 수 있다. 서브 태스크 필드(200)에는, 메인 태스크와 관련된 서브 태스크가 기록될 수 있다. 예를 들어, “제주도 여행 준비”와 관련하여, “제주도 비행기 티켓을 예매 (5/5, 5/9)”, “여행지 검색”, “렌터카 대여 (5/5~5/9), 및 “준비물 구매”가 기록될 수 있다.
또한, 부가 정보 필드(104)에는 메인 태스크 및 서브 태스크에 관련된 부가 정보가 기록될 수 있다. 부가 정보는, 태스크의 수행과 관련하여 사용자에게 보조적으로 제공되는 정보일 수 있다. 부가 정보는, 예를 들어, 태스크의 수행에 관하여 디바이스(1000)에 의해 검색된 연관 정보, 및 태스크의 수행을 가이드하기 위한 디바이스(1000)의 동작에 관한 정보를 포함할 수 있다. 연관 정보는, 예를 들어, 목적지 정보, 맛집 정보, 교통 정보, 날씨 정보를 포함할 수 있다. 메인 태스크 및 서브 태스크에 관련된 부가 정보는 디바이스(1000)가 사용자에게 할일 목록의 알림 정보를 출력하는 경우에, 알림 정보와 함께 사용자에게 제공될 수 있다. 예를 들어, “제주도 비행기 티켓을 예매 (5/5, 5/9)”와 관련하여 항공료 비교 정보가 사용자에게 제공될 수 있으며, “여행지 검색”과 관련하여 추천 여행지 정보가 사용자에게 제공될 수 있으며, “렌터카 대여 (5/5~5/9)와 관련하여 렌트료 비교 정보가 사용자에게 제공될 수 있으며, “준비물 구매”와 관련하여 물품 가격 비교 정보가 사용자에게 제공될 수 있다.
부가 정보의 종류는 태스크의 종류 및 내용에 따라 미리 설정될 수 있으며, 디바이스(1000)는 인터넷 상의 다양한 정보를 검색함으로써 부가 정보를 생성하고 사용자에게 부가 정보를 제공할 수 있다. 이 경우, 디바이스(1000)는 사용자의 선호 정보를 고려하여 부가 정보를 제공할 수 있다. 사용자의 선호 정보는 사용자의 행동 패턴 등에 기초하여 생성될 수 있으며, 예를 들어, 사용자가 선호하는 관심 분야, 선호 사이트, 선호 물품 등을 포함할 수 있다. 또한, 디바이스(1000)는 사용자의 태스크 수행을 가이드하기 위한 디바이스(1000)의 동작 자동으로 실행할 수 있다. 예를 들어, 사용자 C에게 소녀시대 사진을 촬영하여 전송하는 태스크와 관련하여, 디바이스(1000)는 카메라 애플리케이션을 실행하고, “소녀시대 사진을 촬영하라”는 안내 문구를 디바이스(1000)의 화면 상에 디스플레이할 수 있으며, 채팅 애플리케이션을 자동으로 실행하고 “소녀시대 사진을 첨부하여 사용자 C에게 전송하라”는 안내 문구를 디바이스(1000)의 화면 상에 디스플레이할 수 있다.
도 11은 일부 실시예에 따른 디바이스(1000)가 할일 목록을 갱신하는 방법의 흐름도이다. 도 11에서는, 할일 목록에 제1 서브 태스크 및 제 2 서브 태스크를 포함하는 제1 메인 태스크가 포함되어있다고 가정하기로 한다.
단계 S1100에서 디바이스(1000)는 제1 서브 태스크가 수행되었는지를 판단할 수 있다. 디바이스(1000)는, 예를 들어, 사용자의 디바이스(1000)의 동작에 관련된 로그 정보, 다른 디바이스(4000)의 동작에 관련된 로그 정보, 사용자가 가입된 서비스 제공 서버(3000)에서의 사용자의 동작에 관련된 로그 정보, 다른 사용자가 가입된 서비스 제공 서버(3000)에서의 다른 사용자의 동작에 관련된 로그 정보를 이용하여 제1 서브 태스크가 수행되었는지를 판단할 수 있다.
단계 S1100에서의 판단 결과, 제1 서브 태스크가 수행되었다고 판단되면, 단계 S1110에서 디바이스(1000)는 제1 서브 태스크를 할일 목록에서 삭제하고, 할일 목록을 갱신할 수 있다.
단계 S1120에서 디바이스(1000)는 제2 서브 태스크가 수행되었는지를 판단할 수 있다. 디바이스(1000)는, 예를 들어, 사용자의 디바이스(1000)의 동작에 관련된 로그 정보, 다른 디바이스(4000)의 동작에 관련된 로그 정보, 사용자가 가입된 서비스 제공 서버(3000)에서의 사용자의 동작에 관련된 로그 정보, 다른 사용자가 가입된 서비스 제공 서버(3000)에서의 다른 사용자의 동작에 관련된 로그 정보를 이용하여 제2 서브 태스크가 수행되었는지를 판단할 수 있다.
단계 S1120에서의 판단 결과, 제2 서브 태스크가 수행되었다고 판단되면, 단계 S1130에서 디바이스(1000)는 제2 서브 태스크를 포함하는 제1 메인 태스크를 할일 목록에서 삭제할 수 있다.
도 12는 일부 실시예에 따른 디바이스(1000)가 할일 목록을 갱신하는 일례를 도시한 도면이다.
도 12(a)를 참조하면, 디바이스(1000)는 “제주도 여행을 준비”라는 메인 태스크 및, 메인 태스크에 관련된 서브 태스크들을 포함하는 할일 목록을 생성할 수 있다.
또한, 도 12(b)를 참조하면, 사용자는 디바이스(1000)를 통하여 서울 및 제주 간의 왕복 비행기 티켓을 구매할 수 있다. 이 경우, 디바이스(1000)는 “제주도행 비행기 티켓을 예매”라는 서브 태스크를 수행해야 함을 사용자에게 알리고, 사용자가 제주도행 비행기 티켓을 용이하게 예매할 수 있도록, 사용자가 자주 이용하는 항공사의 저렴한 비행기 티켓을 사용자에게 추천할 수 있다.
또한, 도 12(c)를 참조하면, 사용자가 제주도행 비행기 티켓을 예매함에 따라, 디바이스(1000)는 “제주도 여행을 준비”라는 메인 태스크에 관련된 서브 태스크들 중에서 “제주도행 비행기 티켓을 예매”를 삭제하고 할일 목록을 갱신할 수 있다.
도 13은 일부 실시예에 따른 디바이스(1000)가 할일 목록 내의 태스크의 수행 여부를 판단하는 방법의 흐름도이다. 도 13에서 제1 디바이스(1001)는 디바이스(1000)일 수 있으며, 설명의 편의상 후술할 제2 디바이스(1002) 및 제3 디바이스(4001)와 구별하기 위하여 디바이스(1000)를 제1 디바이스(1001)라고 칭하기로 한다.
단계 S1300에서 제1 디바이스(1001)는 사용자의 제1 디바이스(1001)의 동작에 관한 로그 정보를 획득할 수 있다. 제1 디바이스(1001)는 제1 디바이스(1001)에서 실행된 애플리케이션에서 생성되는 로그 정보 및 제1 디바이스(1001)의 기본 동작에 관련된 로그 정보 등을 수집할 수 있다. 예를 들어, 제1 디바이스(1001)는 메신저 애플리케이션을 실행하고 실행된 애플리케이션을 통한 메시지 및 콘텐트의 송수신에 관련된 로그 정보를 획득할 수 있다. 또한, 예를 들어, 제1 디바이스(1001)는 인터넷 브라우저를 실행하고 실행된 브라우저를 통한 데이터 검색에 관련된 로그 정보를 획득할 수 있다. 그러나, 이에 제한되지 않는다.
단계 S1310에서 제1 디바이스(1001)는 사용자의 제2 디바이스(1002)의 동작에 관한 로그 정보를 획득할 수 있다. 제1 디바이스(1001)는 사용자의 다른 디바이스인 제2 디바이스(1002)의 디바이스 정보를 미리 저장할 수 있으며, 제2 디바이스(1002)의 디바이스 정보를 이용하여 제2 디바이스(1002)로부터 제2 디바이스(1002)의 동작에 관한 로그 정보를 수신할 수 있다. 그러나, 이에 제한되지 않으며, 제2 디바이스(1002)는 제2 디바이스(1002)의 동작에 관한 로그 정보를 서버(2000)에 저장할 수 있으며, 제1 디바이스(1001)는 서버(2000)에 저장된 제2 디바이스(1002)의 로그 정보를 서버(2000)로부터 수신할 수도 있다.
단계 S1320에서 제1 디바이스(1001)는 사용자가 가입된 서비스 제공 서버(3000)에서의 사용자의 로그 정보를 획득할 수 있다. 사용자는 서비스 제공 서버(3000)로부터 제공되는 서비스를 이용할 수 있으며, 서비스 제공 서버(3000)는 사용자의 서비스 이용 이력에 관한 로그 정보를 저장할 수 있다. 또한, 제1 디바이스(1001)는 서비스 제공 서버(3000)의 사용자 ID를 이용하여 서비스 제공 서버(3000)로부터 사용자의 서비스 이용에 관한 로그 정보를 수신할 수 있다.
단계 S1330에서 제1 디바이스(1001)는 다른 사용자의 제3 디바이스(4001)의 동작에 관한 로그 정보를 획득할 수 있다. 다른 사용자는, 제1 디바이스(1001)의 사용자의 할일 목록에 관련된 사용자일 수 있다. 제1 디바이스(1001)는 사용자의 할일 목록 내의 태스크의 의미를 파악하고, 태스크를 수행하기 위하여 관련된 다른 사용자의 사용자 정보를 획득할 수 있다. 사용자 정보는 사용자 및/또는 사용자의 디바이스에 관한 정보로서, 예를 들어, 사용자의 이름, 사용자의 전화 번호, 사용자의 서비스 ID 등을 포함할 수 있으나, 이에 제한되지 않는다.
또한, 제1 디바이스(1001)는 다른 사용자의 사용자 정보를 이용하여 제3 디바이스(4001)로부터 제3 디바이스(4001)의 동작에 관한 로그 정보를 수신할 수 있다. 그러나, 이에 제한되지 않으며, 제3 디바이스(4001)는 제3 디바이스(4001)의 동작에 관한 로그 정보를 서버(2000)에 저장할 수 있으며, 제1 디바이스(1001)는 서버(2000)에 저장된 제3 디바이스(4001)의 로그 정보를 서버(2000)로부터 수신할 수도 있다.
단계 S1340에서 제1 디바이스(1001)는 다른 사용자가 가입된 서비스 제공 서버(3000)에서의 사용자의 로그 정보를 획득할 수 있다. 다른 사용자는 서비스 제공 서버(3000)로부터 제공되는 서비스를 이용할 수 있으며, 서비스 제공 서버(3000)는 다른 사용자의 서비스 이용 이력에 관한 로그 정보를 저장할 수 있다. 또한, 제1 디바이스(1001)는 서비스 제공 서버(3000)의 다른 사용자의 ID를 이용하여 서비스 제공 서버(3000)로부터 다른 사용자의 서비스 이용에 관한 로그 정보를 수신할 수 있다. 이 경우, 사용자가 다른 사용자의 서비스 이용에 관한 로그 정보를 이용할 수 있는 권한이 서비스 제공 서버(3000)에 미리 설정될 수 있다.
단계 S1350에서 제1 디바이스(1001)는 획득된 로그 정보에 기초하여, 할일 목록에 포함된 태스크의 수행 여부를 판단할 수 있다. 제1 디바이스(1001)는 획득된 로그 정보를 이용하여, 사용자가 제1 디바이스(1001), 제2 디바이스(1002) 및/또는 서비스 제공 서버(3000)를 통하여 할일 목록 내의 태스크를 수행했는지, 다른 사용자가 제3 디바이스(4001) 및/또는 서비스 제공 서버(3000)를 통하여 할일 목록 내의 태스크와 관련된 동작을 수행했는지를 판단할 수 있다.
한편, 도 13에서는 제1 디바이스(1001)가 제2 디바이스(1002), 제3 디바이스(1003) 및 서비스 제공 서버(3000)로부터 로그 정보를 획득하는 것으로 설명하였지만, 이에 제한되지 않는다. 제1 디바이스(1001)는, 서비스 제공 서버(3000) 또는 서버(2000)의 개입 없이, 제2 디바이스(1002) 및 제3 디바이스(1003)들과만 로그 정보를 송수신할 수도 있다
또한, 도 13에서는 제1 디바이스(1001)가 로그 정보를 이용하여 할일 목록 내의 태스크의 수행 여부를 판단하는 것으로 설명하였지만, 이에 제한되지 않는다. 제1 디바이스(1000)는 할일 목록 내의 태스크에 관련된 각종 정보(예를 들어, 뉴스)를 인터넷을 통하여 검색할 수 있으며, 검색 결과를 참조하여 할일 목록 내의 태스크의 수행 여부를 판단할 수도 있다..
도 14는 일부 실시예에 따른 디바이스(1000)가 할일 목록 내의 태스크가 수행되었는지를 판단하는 방법의 세부 흐름도이다.
단계 S1400에서 디바이스(1000)는 할일 목록 내의 태스크의 수행 여부 판단에 관련된 다른 사용자 및 콘텐트를 결정할 수 있다. 디바이스(1000)는 할일 목록 내의 태스크의 의미를 파악하고, 태스크의 수행에 관련된 다른 사용자 및 콘텐트를 결정할 수 있다. 예를 들어, 할일 목록 내의 태스크가 “사용자 C에게 소녀시대 사진을 촬영하여 전송”인 경우에, 디바이스(1000)는 태스크와 관련된 다른 사용자가 사용자 C임을 결정하고 사용자 C의 사용자 정보를 수집할 수 있다. 또한, 디바이스(1000)는 태스크와 관련된 콘텐트가, 디바이스(1000)에 의해 촬영된 소녀시대 사진임을 결정할 수 있다.
단계 S1410에서 디바이스(1000)는 할일 목록 내의 태스크의 수행 여부 판단에 관련된 애플리케이션 및 기능을 결정할 수 있다. 예를 들어, 할일 목록 내의 태스크가 “사용자 C에게 소녀시대 사진을 촬영하여 전송”인 경우에, 디바이스(1000)는 디바이스(1000)에 설치된 애플리케이션들 중에서 카메라 애플리케이션, 메시지 송수신 애플리케이션, 웹 브라우저를 태스크와 관련된 애플리케이션으로 결정할 수 있다. 또한, 디바이스(1000)는 카메라 애플리케이션의 사진 촬영 기능, 사진 촬영시의 위치 및 시간 확인 기능, 및 사진 저장 기능 등을 태스크와 관련된 기능으로 결정할 수 있다. 또한, 디바이스(1000)는 메시지 송수신 애플리케이션의 수신자 입력 기능, 사진 첨부 기능, 및 사진 전송 기능 등을 태스크와 관련된 기능으로 결정할 수 있다.
또한, 예를 들어, 할일 목록 내의 태스크가 “제주도행 비행기 티켓을 예매”인 경우에, 디바이스(1000)는 디바이스(1000)에 설치된 애플리케이션들 중에서 비행기 티켓을 예매하는데 이용될 수 있는 애플리케이션을 결정할 수 있다. 또한, 디바이스(1000)는 식별된 애플리케이션의 기능들 중에서 비행기 티켓 예매를 하기 위하여 이용될 수 있는 기능을 결정할 수 있다.
단계 S1420에서 디바이스(1000)는 할일 목록 내의 태스크의 수행을 위한 디바이스의 세부 동작들 및 세부 동작들 간의 관계를 결정할 수 있다. 디바이스(1000)는 단계 S1400 및 단계 S1410에서 결정된 애플리케이션, 기능, 다른 사용자 및 콘텐트의 일부 또는 전부를 조합함으로써, 태스크 수행을 위하여 필요한 디바이스(1000)의 세부 동작들을 정의할 수 있다. 또한, 디바이스(1000)는 정의된 세부 동작들 간의 관계를 결정하고, 세부 동작들 간의 관계를 나타내는 관계 그래프를 생성할 수 있다. 디바이스(1000)의 세부 동작들 간의 관계에 관하여는 도 15에서 보다 상세히 설명하기로 한다.
단계 S1430에서 디바이스(1000)는 할일 목록 내의 태스크의 수행 여부를 판단할 수 있다. 디바이스(1000)는 복수의 세부 동작 중 일부 또는 전부가 수행됨에 따라, 세부 동작들 간의 관계를 고려하여, 할일 목록 내의 태스크가 수행 중인지 수행 완료되었는지를 결정할 수 있다.
단계 S1440에서 디바이스(1000)는 태스크의 수행 여부에 관한 결정에 대한 사용자 확인을 위한 GUI를 디바이스(1000)의 화면 상에 디스플레이할 수 있다. 디바이스(1000)는 수행 완료되었다고 판단된 태스크의 목록을 디바이스(1000)의 화면 상에 디스플레이하고, 이를 확인하는 사용자 입력에 기초하여 태스크 수행 여부에 관한 결정을 검증할 수 있다.
한편, 도 14에서는 디바이스(1000)에 의해 수행될 세부 동작들 및 세부 동작들 간의 관계를 결정하고, 결정된 관계에 기초하여 할일 목록 내의 태스크의 수행 여부를 판단하는 것으로 설명하였지만, 이에 제한되지 않는다. 디바이스(1000)는 디바이스(1000)뿐만 아니라 사용자의 다른 디바이스, 다른 사용자의 다른 디바이스, 서버(2000), 및 서비스 제공 서버(3000) 중 적어도 하나에 의해 수행될 세부 동작들 및 세부 동작들의 관계를 결정하고, 결정된 관계에 기초하여 할일 목록 내의 태스크의 수행 여부를 판단할 수도 있다.
도 15는 일부 실시예에 따른 태스크 수행에 관련된 세부 동작들의 관계를 나타내는 도면이다.
도 15를 참조하면, “소녀시대 사진을 촬영하여 사용자 C에게 전송”이라는 태스크와 관련하여, “제1 카메라 애플리케이션을 실행”, “제2 카메라 애플리케이션을 실행”, “소녀시대를 촬영 및 저장”, “제1 메신저 애플리케이션을 실행”, “제2 애플리케이션을 실행”, “웹 브라우저를 통해 이메일 계정에 접속”, “사용자 C를 입력”, “소녀시대 사진 첨부 및 저장”을 세부 동작들로 결정할 수 있다. 이 경우, 제1 카메라 애플리케이션, 제2 카메라 애플리케이션, 제1 메신저 애플리케이션, 제2 메신저 애플리케이션 및 웹 브라우저는 디바이스(1000)에 설치된 애플리케이션일 수 있다.
또한, 디바이스(1000)는 “제1 카메라 애플리케이션을 실행”, 및 “제2 카메라 애플리케이션을 실행”을 선택적인 세부 동작들로 정의하고, “제1 메신저 애플리케이션을 실행”, “제2 애플리케이션을 실행”, “웹 브라우저를 통해 이메일 계정에 접속”을 선택적인 세부 동작들로 정의할 수 있다.
또한, 디바이스(1000)는 “소녀시대 사진을 촬영하여 사용자 C에게 전송”이라는 태스크의 실행을 위한 세부 동작들간의 관계를 나타내는 도 15와 같은 그래프를 생성할 수 있으며, 그래프 내의 세부 동작들의 수행 경로를 모니터링함으로써, 태스크가 수행 중인지, 태스크가 수행 완료되었는지를 판단할 수 있다.
도 16은 일부 실시예에 따른 디바이스(1000)가 미수행된 태스크를 나타내는 알림 정보를 출력하는 방법의 흐름도이다.
단계 S1600에서 디바이스(1000)는 할일 목록 내의 미수행된 태스크의 알림 시점을 설정할 수 있다. 디바이스(1000)는 할일 목록 내의 태스크 별로 수행 기한을 설정하고, 수행 기한이 도과되기 전에 태스크가 미수행되었음을 알리기 위한 알림 시점을 설정할 수 있다. 예를 들어, 디바이스(1000)는 기 설정된 주기로 알림 정보를 출력하도록 알림 시점을 설정할 수 있다. 또한, 예를 들어, 디바이스(1000)는, 특정 애플리케이션의 실행, 특정 시점의 도래, 특정 사용자로부터의 질문 수신 등과 같은 기 설정된 이벤트가 발생되면 알림 정보를 출력하도록 알림 시점을 설정할 수 있다. 예를 들어, 할일 목록 내의 태스크의 수행과 관련된 애플리케이션이 실행될 때, 미수행 태스크의 알림 정보를 출력하도록 알림 시점을 설정할 수 있다.
단계 S1610에서 디바이스(1000)는 알림 근거를 포함하는 알림 정보를 생성할 수 있다. 디바이스(1000)는 미수행 태스크가 무엇인지를 알리기 위한 자연어 문장 및 태스크가 미수행되었다고 판단하는 근거를 자연어 문장을 생성할 수 있다. 예를 들어, 디바이스(1000)는 “주인님, 혹시 친구 C에게 요청 받았던 사진 보내주셨나요? 사진을 검색하신 History나 사진을 전송한 History가 없어서요.”, 및 “주인님, 3일전에 B과장의 질문 내용에 답변을 하셨나요? 답변을 보내신 내용이 없어서요”와 같은 자연어 문장을 생성할 수 있다.
또한, 디바이스(1000)는 생성된 자연어 문장을 음성으로 변환하거나, 생성된 자연어 문장을 포함하는 동영상을 생성할 수 있다.
단계 S1620에서 디바이스(1000)는 할일 목록 내의 미수행된 태스크의 알림 정보를 출력할 수 있다. 디바이스(1000)는 기 설정된 알림 시점에 알림 근거를 포함하는 알림 정보를 출력할 수 있다. 디바이스(1000)는 텍스트 또는 이미지 형식의 알림 정보를 디바이스(1000)의 화면 상에 디스플레이하거나, 음성 형식의 알림 정보를 디바이스(1000) 내의 스피커를 통하여 출력할 수 있다.
또한, 디바이스(1000)는 태스크 수행에 관한 부가 정보를 디바이스(1000)의 화면 상에 디스플레이할 수 있다. 부가 정보는, 태스크의 수행과 관련하여 사용자에게 보조적으로 제공되는 정보일 수 있다. 부가 정보는, 예를 들어, 태스크의 수행에 관하여 디바이스(1000)에 의해 검색된 연관 정보, 및 태스크의 수행을 가이드하기 위한 디바이스(1000)의 동작에 관한 정보를 포함할 수 있다. 또한, 디바이스(1000)는 사용자의 태스크 수행을 가이드하기 위하여, 특정 동작을 자동으로 실행하고 부가 정보를 디스플레이할 수 있다. 예를 들어, 사용자 C에게 소녀시대 사진을 촬영하여 전송하는 태스크와 관련하여, 디바이스(1000)는 카메라 애플리케이션을 실행하고, “소녀시대 사진을 촬영하라”는 안내 문구를 디바이스(1000)의 화면 상에 디스플레이할 수 있으며, 채팅 애플리케이션을 자동으로 실행하고 “소녀시대 사진을 첨부하여 사용자 C에게 전송하라”는 안내 문구를 디바이스(1000)의 화면 상에 디스플레이할 수 있다.
한편, 디바이스(1000)는 알림 정보를 다양한 형식으로 제공할 수 있다. 예를 들어, 디바이스(1000)는 할일 목록 내에서 선택된 특정 태스크를 수행할 것을 알리는 알림 정보를 출력할 수 있다. 또한, 예를 들어, 디바이스(1000)는 일간, 주간 또는 월간 단위의 할일 목록을 알리기 위한 알림 정보를 출력할 수도 있다. 또한, 예를 들어, 디바이스(1000)는 할일 목록 내의 복수의 태스크들을 디스플레이하면서, 복수의 태스크들 중에서 현재 수행되어야 할 것으로 판단되는 태스크를 구별하여 표시할 수 있다.
도 17은 일부 실시예에 따른 알림 정보의 알림 시점을 나타내는 알림 시점 테이블의 일례를 나타내는 도면이다.
도 17을 참조하면, 알림 시점 테이블은 태스크 필드(170) 및 알림 시점 필드(172)를 포함할 수 있다. 태스크 필드(170)에는 할일 목록에 포함된 태스크의 내용이 기록될 수 있다. 그러나, 이에 제한되지 않으며, 태스크 필드(170)에는 태스크를 식별하기 위한 식별 값이 기록될 수도 있다.
또한, 알림 시점 필드(172)에는 태스크가 미수행되었을 때, 태스크가 미수행되었음을 알림 정보를 출력하는 알림 시점에 관한 정보가 기록될 수 있다. 예를 들어, 알림 시점 필드(172)에는 “2014-05-03 15:00”와 같이 알림 시점을 나타내는 시각 정보가 기록될 수 있다. 또한, 예를 들어, 알림 시점 필드(172)에는 “인터넷 브라우저가 실행될 때”와 같이, 알림 시점에 관련된 소정의 이벤트를 나타내는 정보가 기록될 수 있다. 소정의 이벤트는 특정 애플리케이션을 실행하는 이벤트뿐만 아니라 특정 애플리케이션 내의 특정 기능을 실행하는 이벤트를 포함할 수 있으나, 이에 제한되지 않는다.
도 18은 일부 실시예에 따른 디바이스(1000)가 알림 정보를 출력하는 예시를 나타내는 도면이다.
도 18을 참조하면, 미수행된 태스크를 알리는 알림 시점이 되었을 때, 디바이스(1000)는, “5/5일 제주도 비행기표 예매하셨나요? 내일이 5/5인데, 아직 비행기표를 구매한 History가 없으셔서요.”와 같은 알림 정보를 포함하는 팝업 창을 디바이스(1000)의 화면 상에 디스플레이할 수 있다.
도 19는 일부 실시예에 따른 사용자의 디바이스(1000)가 다른 사용자의 다른 디바이스(4000)와 커뮤니케이션을 형성함에 따라, 다른 사용자와 관련된 미수행 태스크를 사용자에게 알리는 방법의 흐름도이다.
단계 S1900에서 디바이스(1000)는 다른 사용자의 디바이스와의 커뮤니케이션 형성을 감지할 수 있다. 예를 들어, 디바이스(1000)가 다른 디바이스(4000)에게 전화를 걸거나, 다른 디바이스(4000)가 디바이스(1000)에게 전화를 걸면, 디바이스(1000)는 다른 디바이스(4000)와 전화 통화를 위한 커뮤니케이션을 형성할 수 있다. 또한, 디바이스(1000)가 다른 디바이스(4000)에게 메시지를 전송하거나 다른 디바이스(4000)가 디바이스(1000)에게 메시지를 전송하면, 디바이스(1000)는 다른 디바이스(4000)와 메시지 송수신을 위한 커뮤니케이션을 형성할 수 있다.
단계 S1910에서 디바이스(1000)는 할일 목록 내의 태스크들 중에서 다른 사용자와 관련된 태스크를 식별할 수 있다. 디바이스(1000)는 디바이스(1000)와 커뮤니케이션을 형성한 다른 디바이스(4000)의 다른 사용자에 관련된 사용자 정보를 획득하고, 획득된 사용자 정보를 이용하여, 사용자의 할일 목록 내의 태스크들 중에서 다른 사용자와 관련된 적어도 하나의 태스크를 식별할 수 있다.
단계 S1920에서 디바이스(1000)는 다른 사용자와 관련된 태스크 중에서 미수행 태스크를 출력할 수 있다. 디바이스(1000)는 디바이스(1000), 다른 디바이스(4000), 및 서비스 제공 서버(3000)에 저장된 사용자의 로그 정보를 이용하여, 할일 목록에 포함된 태스크들 중에서 다른 사용자에 관련된 태스크의 수행 여부를 판단할 수 있다. 또한, 디바이스(1000)는 다른 사용자와 관련된 태스크들 중에서 미수행 태스크의 목록을 디바이스(1000)의 화면 상에 디스플레이하거나 디바이스(1000) 내의 스피커를 통하여 출력할 수 있다. 디바이스(1000)는 다른 디바이스(4000)와 커뮤니케이션을 형성함에 따라, 다른 사용자와 관련된 태스크들 중에서 미수행 태스크의 목록을 출력할 수 있다.
단계 S1930에서 디바이스(1000)는 다른 사용자의 사용자 정보를 출력할 수 있다. 디바이스(1000)는 다른 사용자와 관련된 태스크들 중에서 미수행 태스크의 목록을 출력하면서, 다른 사용자의 사용자 정보를 함께 출력할 수 있다. 예를 들어, 디바이스(1000)는 다른 사용자의 이름, 최근 통화 시각, 최근 메시지 송수신 시각을 출력할 수 있다. 또한, 디바이스(1000)는 다른 사용자의 서비스 제공 서버(3000)로부터 다른 사용자의 최근 현황에 관한 정보를 수집하고, 수집된 현황 정보를 출력할 수 있다. 예를 들어, 다른 사용자의 승진, 이직, 이사 및 생일 등에 관한 현황을 수집할 수 있다. 이 경우, 디바이스(1000)는 다른 사용자의 사용자 정보를 수집하기 위한 권한을 미리 획득할 수 있으며, 다른 사용자의 사용자 정보를 주기적으로 수집하고, 수집된 정보를 텍스트로 요약하여 저장할 수 있다.
사용자가 잘 알지 못하는 다른 사용자로부터 디바이스(1000)가 전화를 수신하는 경우, 또는 다른 사용자의 프로필이 다른 사용자의 홈페이지 또는 다른 사용자가 가입된 SNS 서버 등에 공개되어 있지 않을 경우, 디바이스(1000)는 다른 사용자와의 최근 커뮤니케이션에 관련된 정보(예를 들어, 통화 내용, 채팅 내용, 및 문자 내용 등)을 분석하여, 다른 사용자와 사용자와의 관계 및 다른 사용자와 관련된 태스크 등을 정리하여 사용자에게 제공할 수 있다. 또한, 디바이스(1000)는 다른 사용자와의 커뮤니케이션이 종료하면, 커뮤니케이션에 관련된 정보를 요약하고 태깅하여 저장할 수 있다.
도 20은 일부 실시예에 따른 디바이스(1000)가 다른 디바이스(4000)와 통화 연결됨에 따라, 다른 디바이스(4000)의 다른 사용자와 관련된 미수행 태스크를 출력하는 예시를 나타내는 도면이다.
도 20(a)를 참조하면, 디바이스(1000)는 다른 디바이스(4000)로부터의 통화 호를 수신하고, 다른 디바이스(4000)의 발신 정보를 디바이스(1000)의 화면 상에 디스플레이할 수 있다. 도 20(a)에서는 디바이스(1000)는 다른 디바이스(4000)의 발신 정보를 디스플레이하는 것으로 설명하였지만, 이에 제한되지 않는다. 디바이스(1000)는 다른 사용자인 사용자 C의 사용자 정보를 추가적으로 디스플레이할 수 있다.
도 20(b)를 참조하면, 디바이스(1000)는 사용자 C와 관련된 미수행 태스크를 디스플레이할 수 있다. 이 경우, 디바이스(1000)는 대화체 형식으로 미수행 태스크를 디스플레이할 수 있으며, 사용자 C의 사용자 정보를 함께 디스플레이할 수 있다. 예를 들어, 디바이스(1000)는 “ 주인님, 2개월 전에 자동차 보험 관련해서, 문의했었던 J사의 C 부장님입니다. 그 당시 XXX 보험대신 YYY보험으로 가입해 달라고 요청했었습니다. 현재는 상무로 승진하셨으며, BMW를 구매 예정입니다.”를 디바이스(1000)의 화면 상에 디스플레이할 수 있다.
도 21은 일부 실시예에 따른 디바이스(1000)를 통하여 사용자의 할일 목록을 사용자에게 알리는 할일 목록 알림 시스템의 예시를 나타내는 도면이다.
도 21에 도시된 바와 같이, 일부 실시예에 따른 할일 목록 알림 시스템은 사용자의 적어도 하나의 디바이스(1000), 서버(2000), 적어도 하나의 서비스 제공 서버(3000) 및 다른 사용자의 적어도 하나의 다른 디바이스(4000)를 포함할 수 있다. 또한, 서버(2000)는 도 1 내지 도 20에서의 디바이스(1000)의 기능들 중 일부를 수행함으로써, 디바이스(1000)를 통하여 사용자의 할일 목록이 출력되도록 할 수 있다.
서버(2000)는 사용자의 할일 목록을 제공하는 서비스를 제공하는 서버일 수 있으며, 서비스 제공 서버(3000)는 할일 목록 제공 서비스 외의 다양한 서비스를 제공하는 서버일 수 있다. 서비스 제공 서버(3000)는, 예를 들어, 통신사 서버, SNS 서비스 제공 서버, 게임 서비스 제공 서버, 콘텐트 공유 서비스 제공 서버 및 방송 서비스 제공 서버 등을 포함할 수 있으나, 이에 제한되지 않는다. 또한, 서버(2000)와 서비스 제공 서버(3000)는 각각 별개의 사업자에 의해 운영될 수 있으나, 이에 제한되지 않는다. 서버(2000)와 서비스 제공 서버(3000)는 하나의 사업자에 의해 운영될 수도 있다.
서버(2000)는 사용자의 다양한 행동을 분석함으로써, 사용자가 해야 할 일을 결정하고, 결정된 할 일이 수행되지 않았음을 디바이스(1000)를 통하여 사용자에게 알릴 수 있다. 서버(2000)는 사용자의 적어도 하나의 디바이스(1000) 및 사용자가 가입된 서비스 제공 서버(3000)로부터 사용자의 행동 정보를 획득하고, 획득된 행동 정보를 분석하여 사용자의 할일 목록을 생성할 수 있다. 예를 들어, 서버(2000)는 디바이스(1000) 및/또는 서비스 제공 서버(3000)를 이용한 사용자의 통화, 사용자의 메시지 전송 및 사용자의 이메일 전송 등의 행동을 분석함으로써, 사용자가 해야 할 일의 목록을 생성할 수 있다. 또한, 서버(2000)는 사용자의 행동을 모니터링함으로써 사용자가 해야 할 일이 수행되었는지를 판단하고, 사용자에게 사용자의 할 일을 알릴 수 있다. 서버(2000)는 디바이스(1000) 및/또는 서비스 제공 서버(3000)를 통한 사용자의 행동, 다른 디바이스(4000) 및/또는 서비스 제공 서버(3000)를 통한 다른 사용자의 행동 등을 모니터링함으로써, 사용자의 할일 목록 내의 태스크들 중에서 미수행된 태스크를 결정할 수 있다. 또한, 서버(2000)는 디바이스(1000)를 통하여 사용자에게 해야 할 일을 알리는 근거를 출력할 수 있다.
다른 디바이스(4000)는, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 디바이스(1000)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다.
또한, 디바이스(1000) 및 다른 디바이스(4000)는 다양한 유,무선 통신 수단을 통하여 서로 연결될 수 있다. 예를 들어, 디바이스(1000) 및 다른 디바이스(4000)는 블루투스 통신 및 와이파이 통신 등의 통신 수단을 통하여 연결될 수 있으나, 이에 제한되지 않는다.
또한, 서버(2000) 및 서비스 제공 서버(3000)는 하나의 사업자에 의해 운영되는 서버들일 수 있다. 그러나, 이에 제한되지 않으며, 서버(2000) 및 서비스 제공 서버(3000)는, 각각 상이한 사업자에 의해 운영되는 서버일 수 있다. 또한, 서버(2000) 및 서비스 제공 서버(3000)는 하나의 통합된 서버로 운영될 수도 있다.
도 22는 일부 실시예에 따른 서버(2000)가 할일 목록을 생성하고 디바이스(1000)가 할일 목록 내의 태스크들 중에서 미수행 태스크를 판단하고 알리는 방법의 흐름도이다.
단계 S2200에서 디바이스(1000)는 디바이스(1000)를 통한 사용자의 행동 정보를 획득할 수 있다. 예를 들어, 디바이스(1000)는, 디바이스(1000)를 통한 통화 내용, 디바이스(1000)를 통해 송수신된 메시지의 내용, 디바이스(1000)를 통해 송수신된 이메일 내용, 디바이스(1000)에 기록된 메모 내용, 디바이스(1000)에 녹음된 음성 내용 및 디바이스(1000)에 저장된 사용자 일정의 내용 등의 정보를 획득할 수 있다.
단계 S2210에서 서비스 제공 서버(3000)는 서비스 제공 서버(3000)를 통한 사용자 및 다른 사용자의 행동 정보를 획득할 수 있다. 사용자 및 다른 사용자는, 서비스 제공 서버(3000)에 의해 제공되는 다양한 서비스를 이용할 수 있으며, 서비스 제공 서버(3000)는 사용자 및 다른 사용자의 서비스 이용에 관한 로그 정보 등에 기초하여, 사용자 및 다른 사용자의 행동 정보를 획득할 수 있다. 예를 들어, 서비스 제공 서버(3000)는 SNS 서비스, 메시지 송수신 서비스, 통신 서비스, 일정 관리 서비스, 콘텐트 제공 서비스, 및 검색 서비스 등을 제공할 수 있으나, 이에 제한되지 않는다.
단계 S2215에서 다른 디바이스(4000)는 다른 디바이스(4000)를 통한 다른 사용자의 행동 정보를 획득할 수 있다. 예를 들어, 다른 디바이스(4000)는, 다른 디바이스(4000)를 통한 통화 내용, 다른 디바이스(4000)를 통해 송수신된 메시지의 내용, 다른 디바이스(4000)를 통해 송수신된 이메일 내용, 다른 디바이스(4000)에 기록된 메모 내용, 다른 디바이스(4000)에 녹음된 음성 내용 및 다른 디바이스(4000)에 저장된 다른 사용자 일정의 내용 등의 정보를 획득할 수 있다.
단계 S2220에서 디바이스(1000)는 디바이스(1000)에서 획득된 사용자의 행동 정보를 서버(2000)로 제공할 수 있으며, 단계 S2225에서 서비스 제공 서버(3000)는 서비스 제공 서버(3000)에서 획득된 사용자 및 다른 사용자의 행동 정보를 서버(2000)에게 제공할 수 있으며, 단계 S2230에서 다른 디바이스(4000)는 다른 디바이스(4000)에서 획득된 다른 사용자의 행동 정보를 서버(2000)에게 제공할 수 있다.
또한, 사용자의 행동 정보 및 다른 사용자의 행동 정보는 디바이스(1000), 서버(2000), 서비스 제공 서버(3000) 및 다른 디바이스(4000) 내에 동기화되어 저장될 수 있다.
단계 S2235에서 서버(2000)는 사용자 및/또는 다른 사용자의 행동 정보를 분석하여 사용자의 할일 목록을 생성할 수 있다. 서버(2000)는 사용자의 행동 정보에 기초하여, 사용자의 행동과 관련된 다른 사용자를 식별하고, 식별된 다른 사용자의 행동 정보 및 사용자의 행동 정보를 분석함으로써, 사용자의 할일 목록을 생성할 수 있다.
서버(2000)는 사용자와 다른 사용자 간의 커뮤니케이션 내용을 분석하고, 분석된 커뮤니케이션 내용에 기초하여 사용자가 해야 할 일을 결정할 수 있다. 예를 들어, 서버(2000)는 사용자와 다른 사용자 간의 커뮤니케이션 내용을 다양한 데이터 마이닝(data mining) 기술을 이용하여 분석할 수 있다. 또한, 예를 들어, 서버(2000)는 다양한 자연어 해석 기술을 이용하여 사용자와 다른 사용자 간의 커뮤니케이션 내용을 분석할 수 있다. 이 경우, 서버(2000)는 형태소 분석, 구문 분석 등의 자연어 처리 방식을 통하여 사용자와 다른 사용자 간의 커뮤니케이션 내용의 의미를 해석할 수 있다.
또한, 서버(2000)는 디바이스(1000), 다른 디바이스(4000) 및/또는 서비스 제공 서버(3000)에 기록된 메모 및 사용자 일정을 분석함으로써, 사용자가 해야 할 일을 결정할 수 있다. 서버(2000)는 다양한 데이터 마이닝 기술 및 자연어 해석 기술을 이용하여, 메모 및 사용자 일정을 분석할 수 있다.
또한, 서버(2000)는 디바이스(1000) 및/또는 다른 디바이스(4000)에 설치된 애플리케이션을 통하여 수행된 디바이스(1000) 및/또는 다른 디바이스(4000)의 동작을 분석함으로써, 사용자가 해야 할 일을 결정할 수 있다. 이 경우, 서버(2000)는 애플리케이션에 관한 로그 정보를 이용하여 사용자의 해야 할 일을 결정할 수 있다.
사용자의 해야 할 일은 단순 태스크 및 복합 태스크를 포함할 수 있다. 단순 태스크는 하나의 태스크로 이루어질 수 있으며, 예를 들어, “파일 전송“ 및 “메일 발송“ 등과 같은 태스크일 수 있다. 복합 태스크는 메인 태스크 및 서브 태스크를 포함할 수 있으며, 예를 들어, “여행 준비“라는 메인 태스크 및, “비행기 티켓 예매”, “여행지 검색”, “렌트카 대여”, 및 “준비물 구매” 등의 서브 태스크를 포함할 수 있다.
또한, 서버(2000)는 디바이스(1000)로부터 획득된 행동 정보, 다른 디바이스(4000)로부터 획득된 행동 정보, 및 서비스 제공 서버(3000)로부터 획득된 행동 정보를 비교함으로써, 할일 목록의 진정성을 검증할 수 있다.
단계 S2240에서 서버(2000)는 사용자의 할일 목록을 디바이스(1000)에게 제공할 수 있다. 서버(2000)는 디바이스(1000)로부터의 요청에 응답하여 사용자의 할일 목록을 디바이스(1000)에게 제공할 수 있다. 서버(2000)는 기 설정된 주기로 사용자의 할일 목록을 디바이스(1000)에게 제공할 수 있다. 서버(2000)는 기 설정된 이벤트가 발생되면, 사용자의 할일 목록을 디바이스(1000)에게 제공할 수 있다. 이 경우, 기 설정된 이벤트는, 사용자의 할일 목록의 생성 및 갱신 등을 포함할 수 있으나, 이에 제한되지 않는다.
또한, 사용자의 할일 목록은 디바이스(1000), 서버(2000), 서비스 제공 서버(3000) 및 다른 디바이스(4000) 내에 동기화되어 저장될 수 있다.
단계 S2245에서 디바이스(1000)는 사용자의 할일 목록을 출력할 수 있다. 디바이스(1000)는 사용자의 할일 목록을 디바이스(1000)의 화면 상에 디스플레이하고, 생성된 할일 목록을 편집하기 위한 편집 툴(tool)을 사용자에게 제공할 수 있다. 디바이스(1000)는 편집 툴을 통한 사용자 입력에 기초하여 생성된 할일 목록을 수정할 수 있다.
단계 S2250에서 디바이스(1000)는 디바이스(1000)에서 실행된 애플리케이션의 기능을 모니터링할 수 있다. 디바이스(1000)는 할일 목록 내의 태스크의 수행 여부 판단에 관련된 다른 사용자 및 콘텐트를 결정할 수 있다. 또한, 디바이스(1000)는 사용자의 할일 목록에 관련된 애플리케이션 및 애플리케이션의 기능을 식별하고, 식별된 애플리케이션의 기능이 수행되었는지를 모니터링할 수 있다.
단계 S2255에서 서비스 제공 서버(3000)는 사용자 및 다른 사용자의 서비스 이용 정보를 수신할 수 있다. 이 경우, 디바이스(1000)는 사용자의 서비스 ID, 및 사용자의 할일 목록에 관련된 다른 사용자의 서비스 ID를 서비스 제공 서버(3000)에게 제공함으로써, 사용자 및 다른 사용자의 서비스 이용 정보를 서비스 제공 서버(3000)에게 요청할 수 있다.
단계 S2260에서 다른 디바이스(4000)는 다른 디바이스(4000)에서 실행된 애플리케이션의 기능에 관한 정보를 디바이스(1000)에게 제공할 수 있다. 이 경우, 디바이스(1000)는 사용자의 할일 목록 내의 태스크들 중에서 다른 사용자와 관련된 태스크를 식별하고, 식별된 태스크의 수행에 관련된 애플리케이션 및 애플리케이션의 기능에 관한 정보를 다른 디바이스(4000)에게 제공함으로써, 다른 디바이스(4000)에서 실행된 애플리케이션의 기능에 관한 정보를 다른 디바이스(4000)에게 요청할 수 있다.
또한, 단계 S2250에서 모니터링된 기능에 관한 정보, 단계 S2255에서의 사용자 및 다른 사용자의 서비스 이용 정보, 및 단계 S2260에서의 다른 디바이스(4000)에서 실행된 애플리케이션의 기능에 관한 정보는, 디바이스(1000), 서버(2000), 서비스 제공 서버(3000) 및 다른 디바이스(4000) 내에 동기화되어 저장될 수 있다.
단계 S2265에서 디바이스(1000)는 사용자의 할일 목록에 포함된 태스크의 수행 여부를 판단할 수 있다. 디바이스(1000)는 단계 S2250에서의 모니터링 결과, 단계 S2255 및 단계 S2260에서 수신된 정보를 이용하여, 할일 목록 내의 태스크의 수행을 위한 디바이스(1000), 다른 디바이스(4000) 및 서비스 제공 서버(3000)의 세부 동작들 및 세부 동작들 간의 관계를 결정하고, 결정된 관계를 고려하여 태스크의 수행 여부를 판단할 수 있다.
또한, 디바이스(1000)는 할일 목록 내의 미수행 태스크를 판단하고, 할일 목록을 갱신할 수 있다. 디바이스(1000)는 할일 목록 내에서 수행된 태스크를 삭제하고, 수행된 태스크와 관련된 세부 태스크가 존재한다면, 세부 태스크를 할일 목록 내에 추가할 수 있다.
단계 S2270에서 디바이스(1000)는 할일 목록 내의 태스크들 중에서 미수행된 태스크를 알리기 위한 알림 정보를 출력할 수 있다. 이 경우, 알림 정보는 미수행 태스크를 알리는 근거에 관한 정보를 포함할 수 있다. 또한, 알림 정보를 출력하기 위한 알림 시점이 미리 설정될 수 있다.
또한, 디바이스(1000)는 사용자의 미수행 태스크의 수행과 관련된 부가 정보를 출력할 수 있다. 또한, 디바이스(1000)는 미수행 태스크를 수행하기 위한 가이드를 사용자에게 제공할 수 있다. 예를 들어, 디바이스(1000)는 미수행 태스크를 수행하기 위한 세부 동작을 사용자에게 추천하거나, 일부 세부 동작을 자동적으로 수행할 수 있다.
도 23은 일부 실시예에 따른, 서버(2000)가 할일 목록을 생성하고 할일 목록 내의 태스크들 중에서 미수행 태스크를 판단하며, 디바이스(1000)가 미수행 태스크를 알리는 방법의 흐름도이다.
단계 S2300 내지 단계 S2345는, 단계 S2200 내지 단계 S2245에 대응되므로, 단계 S2300 내지 단계 S2345에 대한 설명은 편의상 생략하기로 한다.
단계 S2350에서 디바이스(1000)는 디바이스(1000)에서 실행된 애플리케이션의 기능에 관한 정보를 서버(2000)에게 제공할 수 있다. 디바이스(1000)는 할일 목록 내의 태스크의 수행 여부 판단에 관련된 다른 사용자 및 콘텐트를 결정할 수 있다. 또한, 디바이스(1000)는 사용자의 할일 목록에 관련된 애플리케이션 및 애플리케이션의 기능을 식별하고, 식별된 애플리케이션의 기능이 수행되었는지에 관한 정보를 서버(2000)에게 제공할 수 있다.
단계 S2355에서 서비스 제공 서버(3000)는 사용자 및 다른 사용자의 서비스 이용 정보를 서버(2000)에게 제공할 수 있다. 이 경우, 서버(2000)는 사용자의 서비스 ID, 및 사용자의 할일 목록에 관련된 다른 사용자의 서비스 ID를 서비스 제공 서버(3000)에게 제공함으로써, 사용자 및 다른 사용자의 서비스 이용 정보를 서비스 제공 서버(3000)에게 요청할 수 있다.
단계 S2360에서 다른 디바이스(4000)는 다른 디바이스(4000)에서 실행된 애플리케이션의 기능에 관한 정보를 서버(2000)에게 제공할 수 있다. 이 경우, 서버(2000)는 사용자의 할일 목록 내의 태스크들 중에서 다른 사용자와 관련된 태스크를 식별하고, 식별된 태스크의 수행에 관련된 애플리케이션 및 애플리케이션의 기능에 관한 정보를 다른 디바이스(4000)에게 제공함으로써, 다른 디바이스(4000)에서 실행된 애플리케이션의 기능에 관한 정보를 다른 디바이스(4000)에게 요청할 수 있다.
또한, 단계 S2350에서 모니터링된 기능에 관한 정보, 단계 S2355에서의 사용자 및 다른 사용자의 서비스 이용 정보, 및 단계 S2360에서의 다른 디바이스(4000)에서 실행된 애플리케이션의 기능에 관한 정보는, 디바이스(1000), 서버(2000), 서비스 제공 서버(3000) 및 다른 디바이스(4000) 내에 동기화되어 저장될 수 있다.
단계 S2365에서 서버(2000)는 사용자의 할일 목록에 포함된 태스크의 수행 여부를 판단할 수 있다. 서버(2000)는 단계 S2350 내지 단계 S2260에서 수신된 정보를 이용하여, 할일 목록 내의 태스크의 수행을 위한 디바이스(1000), 다른 디바이스(4000) 및 서비스 제공 서버(3000)의 세부 동작들 및 세부 동작들 간의 관계를 결정하고, 결정된 관계를 고려하여 태스크의 수행 여부를 판단할 수 있다.
단계 S2370에서 서버(2000)는 할일 목록 내의 미수행 태스크에 기초하여, 할일 목록을 갱신할 수 있다. 서버(2000)는 할일 목록 내에서 수행된 태스크를 삭제하고, 수행된 태스크와 관련된 세부 태스크가 존재한다면, 세부 태스크를 할일 목록 내에 추가할 수 있다. 또한, 갱신된 할일 목록은 디바이스(1000), 서버(2000), 서비스 제공 서버(3000) 및 다른 디바이스(4000) 내에 동기화되어 저장될 수 있다.
또한, 서버(2000)는 사용자의 미수행 태스크의 수행과 관련된 부가 정보를 생성할 수 있다. 또한, 서버(2000)는 미수행 태스크를 수행하기 위한 가이드 정보를 생성할 수 있다. 예를 들어, 서버(2000)는 디바이스(1000)가 미수행 태스크를 수행하기 위한 세부 동작을 사용자에게 추천하거나 일부 세부 동작을 자동적으로 수행할 수 있도록 부가 정보 및/또는 가이드 정보를 생성할 수 있다.
단계 S2375에서 서버(2000)는 미수행 태스크의 목록을 디바이스(1000)에게 제공할 수 있다. 서버(2000)는 미수행 태스크의 알림 근거를 포함하는 알림 정보를 디바이스(1000)에게 제공할 수 있다.
단계 S2380에서 디바이스(1000)는 할일 목록 내의 태스크들 중에서 미수행된 태스크를 알리기 위한 알림 정보를 출력할 수 있다. 이 경우, 알림 정보는 미수행 태스크를 알리는 근거에 관한 정보를 포함할 수 있다. 또한, 알림 정보를 출력하기 위한 알림 시점이 미리 설정될 수 있다. 또한, 디바이스(1000)는 사용자의 미수행 태스크의 수행과 관련된 부가 정보를 출력할 수 있다. 또한, 디바이스(1000)는 미수행 태스크를 수행하기 위한 가이드를 사용자에게 제공할 수 있다.
도 24 및 도 25는 일부 실시예에 따른 디바이스(1000)의 블록도이다.
도 24에 도시된 바와 같이, 일부 실시예에 따른 디바이스(1000)는, 사용자 입력부(1100), 출력부(1200), 제어부(1300), 및 통신부(1500)를 포함할 수 있다. 그러나, 도 24에 도시된 구성 요소 모두가 디바이스(1000)의 필수 구성 요소인 것은 아니다. 도 24에 도시된 구성 요소보다 많은 구성 요소에 의해 디바이스(1000)가 구현될 수도 있고, 도 24에 도시된 구성 요소보다 적은 구성 요소에 의해 디바이스(1000)가 구현될 수도 있다.
예를 들어, 도 25에 도시된 바와 같이, 일부 실시예에 따른 디바이스(1000)는, 사용자 입력부(1100), 출력부(1200), 제어부(1300), 및 통신부(1500) 이외에 센싱부(1400), A/V 입력부(1600), 및 메모리(1700)를 더 포함할 수도 있다.
사용자 입력부(1100)는, 사용자가 디바이스(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다.
디스플레이부(1210)는 디바이스(1000)에서 처리되는 정보를 표시 출력한다. 예를 들어, 디스플레이부(1210)는, 사용자의 할일 목록, 미수행 태스크의 알림 정보, 및 미수행 태스크와 관련된 부가 정보 및 가이드 정보를 출력할 수 있다. 또한, 디스플레이부(1210)는 할일 목록을 편집하기 위한 GUI, 알림 시점을 결정하기 위한 GUI 등을 디스플레이할 수 있다.
한편, 디스플레이부(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)는, 사용자의 행동 정보를 획득할 수 있다. 사용자의 행동 정보는, 사용자가 디바이스(1000)를 이용하는 행동에 관한 정보로서 사용자가 어떤 일을 해야하는 지를 판단하는데 이용되는 정보일 수 있다. 예를 들어, 제어부(1300)는, 디바이스(1000)를 통한 통화 내용, 디바이스(1000)를 통해 송수신된 메시지의 내용, 디바이스(1000)를 통해 송수신된 이메일 내용, 디바이스(1000)에 기록된 일정 정보 및 메모 내용, 디바이스(1000)에 녹음된 음성 내용 및 디바이스(1000)에 저장된 사용자 일정의 내용 등의 정보를 획득할 수 있다. 또한, 제어부(1300)는 통화 음성을 텍스트로 변환하고, 통화 음성의 톤 정보를 획득할 수 있다.
제어부(1300)는 사용자의 할일 목록을 생성할 수 있다. 제어부(1300)는 사용자의 행동 정보를 분석하여 사용자의 할일 목록을 생성할 수 있다. 제어부(1300)는 사용자와 다른 사용자 간의 커뮤니케이션 내용을 분석하고, 분석된 커뮤니케이션 내용에 기초하여 사용자가 해야 할 일을 결정할 수 있다. 예를 들어, 제어부(1300)는 사용자와 다른 사용자 간의 커뮤니케이션 내용을 다양한 데이터 마이닝(data mining) 기술을 이용하여 분석할 수 있다. 또한, 예를 들어, 제어부(1300)는 다양한 자연어 해석 기술을 이용하여 사용자와 다른 사용자 간의 커뮤니케이션 내용을 분석할 수 있다. 이 경우, 제어부(1300)는 형태소 분석, 구문 분석 등의 자연어 처리 방식을 통하여 사용자와 다른 사용자 간의 커뮤니케이션 내용의 의미를 해석할 수 있다.
제어부(1300)는 디바이스(1000)에 기록된 메모 및 사용자 일정을 분석함으로써, 사용자가 해야 할 일을 결정할 수 있다. 제어부(1300)는 다양한 데이터 마이닝 기술 및 자연어 해석 기술을 이용하여, 메모 및 사용자 일정을 분석할 수 있다.
제어부(1300)는 디바이스(1000)에 설치된 애플리케이션을 통하여 수행된 디바이스(1000)의 동작을 분석함으로써, 사용자가 해야 할 일을 결정할 수 있다. 이 경우, 제어부(1300)는 애플리케이션에 관한 로그 정보를 이용하여 사용자의 해야 할 일을 결정할 수 있다.
제어부(1300)는 행동 정보를 분석하여, 다른 사용자가 사용자에게 요청한 태스크를 결정하고, 사용자가 다른 사용자에게 요청한 태스크를 결정하고, 사용자 또는 다른 사용자의 질문과 관련된 태스크를 결정할 수 있다.
사용자의 해야 할 일은 단순 태스크 및 복합 태스크를 포함할 수 있다. 단순 태스크는 하나의 태스크로 이루어질 수 있으며, 예를 들어, “파일 전송“ 및 “메일 발송“ 등과 같은 태스크일 수 있다. 복합 태스크는 메인 태스크 및 서브 태스크를 포함할 수 있으며, 예를 들어, “여행 준비“라는 메인 태스크 및, “비행기 티켓 예매”, “여행지 검색”, “렌트카 대여”, 및 “준비물 구매” 등의 서브 태스크를 포함할 수 있다.
제어부(1300)는 생성된 할일 목록을 디바이스(1000)의 화면 상에 디스플레이하고, 생성된 할일 목록을 편집하기 위한 편집 툴(tool)을 사용자에게 제공할 수 있다. 제어부(1300)는 편집 툴을 통한 사용자 입력에 기초하여 생성된 할일 목록을 수정 및 검증할 수 있다.
제어부(1300)는 할일 목록에 포함된 태스크의 수행 여부를 판단할 수 있다. 제어부(1300)는 디바이스(1000), 다른 디바이스(미도시), 및 서비스 제공 서버(3000)에 저장된 사용자의 로그 정보를 이용하여, 할일 목록에 포함된 태스크의 수행 여부를 판단할 수 있다. 이 경우, 할일 목록에 포함된 태스크의 수행과 관련된 모니터링 항목이 미리 설정될 수 있다. 모니터링 항목은, 예를 들어, 할일 목록 내의 태스크의 수행에 관련된 애플리케이션, 사용자 및 이들의 동작에 관련된 항목일 수 있다. 또한, 제어부(1300)는 로그 정보를 이용하여 모니터링 항목을 분석함으로써 할일 목록 내의 태스크의 수행 여부를 판단할 수 있다.
제어부(1300)는 디바이스(1000)의 동작에 관한 로그 정보, 다른 사용자의 다른 디바이스(4000)의 동작에 관한 로그 정보, 사용자가 가입된 서비스 제공 서버(3000)에서의 사용자 및 다른 사용자의 로그 정보를 획득할 수 있다. 제어부(1300)는 획득된 로그 정보에 기초하여, 할일 목록에 포함된 태스크의 수행 여부를 판단할 수 있다. 예를 들어, 할일 목록 내의 태스크가 “디바이스(1000)의 사용자 A가 다른 사용자 B에게 사진을 전송”인 경우에, 제어부(1300)는 사용자 B의 다른 디바이스(미도시)의 동작 또는 사용자 B가 가입된 서비스 제공 서버(3000)에 저장된 사용자 B의 로그 정보를 모니터링할 수 있다.
디바이스(1000)가 할일 목록에 포함된 태스크의 수행 여부를 판단하는 시점이 미리 설정될 수 있다.
제어부(1300)는 할일 목록 내의 태스크의 수행 여부 판단에 관련된 다른 사용자 및 콘텐트를 결정할 수 있다. 디바이스(1000)는 할일 목록 내의 태스크의 의미를 파악하고, 태스크의 수행에 관련된 다른 사용자 및 콘텐트를 결정할 수 있다. 예를 들어, 할일 목록 내의 태스크가 “사용자 C에게 소녀시대 사진을 촬영하여 전송”인 경우에, 디바이스(1000)는 태스크와 관련된 다른 사용자가 사용자 C임을 결정하고 사용자 C의 사용자 정보를 수집할 수 있다. 또한, 디바이스(1000)는 태스크와 관련된 콘텐트가, 디바이스(1000)에 의해 촬영된 소녀시대 사진임을 결정할 수 있다.
제어부(1300)는 할일 목록 내의 태스크의 수행 여부 판단에 관련된 애플리케이션 및 기능을 결정할 수 있다. 예를 들어, 할일 목록 내의 태스크가 “사용자 C에게 소녀시대 사진을 촬영하여 전송”인 경우에, 제어부(1300)는 디바이스(1000)에 설치된 애플리케이션들 중에서 카메라 애플리케이션, 메시지 송수신 애플리케이션, 웹 브라우저를 태스크와 관련된 애플리케이션으로 결정할 수 있다. 또한, 제어부(1300)는 카메라 애플리케이션의 사진 촬영 기능, 사진 촬영시의 위치 및 시간 확인 기능, 및 사진 저장 기능 등을 태스크와 관련된 기능으로 결정할 수 있다. 또한, 제어부(1300)는 메시지 송수신 애플리케이션의 수신자 입력 기능, 사진 첨부 기능, 및 사진 전송 기능 등을 태스크와 관련된 기능으로 결정할 수 있다.
또한, 예를 들어, 할일 목록 내의 태스크가 “제주도행 비행기 티켓을 예매”인 경우에, 제어부(1300)는 디바이스(1000)에 설치된 애플리케이션들 중에서 비행기 티켓을 예매하는데 이용될 수 있는 애플리케이션을 결정할 수 있다. 또한, 제어부(1300)는 식별된 애플리케이션의 기능들 중에서 비행기 티켓 예매를 하기 위하여 이용될 수 있는 기능을 결정할 수 있다.
제어부(1300)는 할일 목록 내의 태스크의 수행을 위한 디바이스의 세부 동작들 및 세부 동작들 간의 관계를 결정할 수 있다. 제어부(1300)는 결정된 애플리케이션, 기능, 다른 사용자 및 콘텐트의 일부 또는 전부를 조합함으로써, 태스크 수행을 위하여 필요한 디바이스(1000)의 세부 동작들을 정의할 수 있다. 또한, 제어부(1300)는 정의된 세부 동작들 간의 관계를 결정하고, 세부 동작들 간의 관계를 나타내는 관계 그래프를 생성할 수 있다.
제어부(1300)는 할일 목록 내의 태스크의 수행 여부를 판단할 수 있다. 제어부(1300)는 복수의 세부 동작 중 일부 또는 전부가 수행됨에 따라, 세부 동작들 간의 관계를 고려하여, 할일 목록 내의 태스크가 수행 중인지 수행 완료되었는지를 결정할 수 있다.
제어부(1300)는 할일 목록에 포함된 태스크 중에서 미수행 태스크에 관한 알림 정보를 출력할 수 있다. 제어부(1300)는 알림 정보를 출력하는 시점을 미리 설정할 수 있다. 예를 들어, 제어부(1300)는 기 설정된 주기로 알림 정보를 출력할 수 있다. 예를 들어, 제어부(1300)는, 특정 애플리케이션의 실행, 특정 시점의 도래 등과 같은 기 설정된 이벤트가 발생되면 알림 정보를 출력할 수 있다.
제어부(1300)는 알림 정보를 출력하는 근거를 나타내는 근거 정보를 생성하고, 근거 정보를 포함하는 알림 정보를 출력할 수 있다. 이 경우, 제어부(1300)는 근거 정보를 자연어로 된 문장으로 생성할 수 있다.
제어부(1300)는 사용자의 미수행 태스크의 수행과 관련된 부가 정보를 출력할 수 있다. 또한, 제어부(1300)는 미수행 태스크를 수행하기 위한 가이드를 사용자에게 제공할 수 있다. 예를 들어, 제어부(1300)는 미수행 태스크를 수행하기 위한 세부 동작을 사용자에게 추천하거나, 일부 세부 동작을 자동적으로 수행할 수 있다.
한편, 서버(2000)가 사용자의 할일 목록을 생성하는 경우에, 제어부(1300)는 서버(2000)에게 사용자의 행동 정보를 제공하고, 서버(2000)로부터 사용자의 할일 목록을 수신할 수 있다.
또한, 서버(2000)가 할일 목록 내의 태스크의 수행 여부를 판단하는 경우에, 제어부(1300)는 태스크 수행 여부의 판단에 필요한 정보를 서버(2000)에게 전송할 수 있다. 제어부(1300)는 서버(2000)로부터 미수행 태스크에 관한 정보를 수신할 수 있다.
센싱부(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) 및/또는 다른 디바이스(4000)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(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)는, 사용자의 할일 목록을 생성하고 미수행 태스크를 판단하고 알리기 위하여 필요한 정보를, 서버(2000), 서비스 제공 서버(3000) 및 다른 디바이스(4000)와 송수신할 수 있다.
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)를 통해 진동 신호 형태로 알림 신호를 출력할 수도 있다.
도 26은 일부 실시예에 따른 서버(2000)의 블록도이다.
도 26을 참조하면, 일부 실시예에 따른 서버(2000)는 통신부(2100), 제어부(2200) 및 DB(2300)를 포함할 수 있다. 또한, DB(2300)는 할일 목록 DB(2310) 및 태스크 수행 판단 DB(2320)를 포함할 수 있다.
디바이스(1000)가 사용자의 할일 목록을 생성하고 할일 목록 내의 태스크의 수행 여부를 판단하는 경우에, 서버(2000)는 할일 목록 생성 및 태스크 수행 여부 판단에 필요한 정보를 디바이스(1000)에게 제공할 수 있다.
또한, 서버(2000)가 사용자의 할일 목록을 생성하고 할일 목록 내의 태스크의 수행 여부를 판단하는 경우에, 서버(2000)는 할일 목록 생성 및 태스크 수행 여부 판단에 필요한 정보를 디바이스(1000), 다른 디바이스(4000) 및 서비스 제공 서버(3000)로부터 수신할 수 있다.
통신부(2100)는 디바이스(1000), 서비스 제공 서버(3000) 및/또는 다른 디바이스(4000)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(2100)는, 근거리 통신부, 무선 통신부, 및 유선 통신부를 포함할 수 있다.
제어부(2200)는 통신부(2100) 및 DB(2300)를 제어함으로써, 사용자의 할일 목록을 생성하고 할일 목록 내의 태스크의 수행 여부를 판단할 수 있다.
제어부(2200)는 사용자의 행동 정보를 획득할 수 있다. 제어부(2200)는 디바이스(1000)에서 획득된 사용자의 행동 정보를 디바이스(1000)로부터 수신할 수 있으며, 서비스 제공 서버(3000)에서 획득된 사용자 및 다른 사용자의 행동 정보를 서비스 제공 서버(3000)로부터 수신할 수 있으며, 다른 디바이스(4000)에서 획득된 다른 사용자의 행동 정보를 다른 디바이스(4000)로부터 수신할 수 있다. 또한, 제어부(2200)는 서버(2000)의 서비스를 이용하는 사용자의 행동 정보를 획득할 수 있다.
제어부(2200)는 사용자 및/또는 다른 사용자의 행동 정보를 분석하여 사용자의 할일 목록을 생성할 수 있다. 제어부(2200)는 사용자의 행동 정보에 기초하여, 사용자의 행동과 관련된 다른 사용자를 식별하고, 식별된 다른 사용자의 행동 정보 및 사용자의 행동 정보를 분석함으로써, 사용자의 할일 목록을 생성할 수 있다.
제어부(2200)는 사용자와 다른 사용자 간의 커뮤니케이션 내용을 분석하고, 분석된 커뮤니케이션 내용에 기초하여 사용자가 해야 할 일을 결정할 수 있다. 예를 들어, 제어부(2200)는 사용자와 다른 사용자 간의 커뮤니케이션 내용을 다양한 데이터 마이닝(data mining) 기술을 이용하여 분석할 수 있다. 또한, 예를 들어, 제어부(2200)는 다양한 자연어 해석 기술을 이용하여 사용자와 다른 사용자 간의 커뮤니케이션 내용을 분석할 수 있다. 이 경우, 제어부(2200)는 형태소 분석, 구문 분석 등의 자연어 처리 방식을 통하여 사용자와 다른 사용자 간의 커뮤니케이션 내용의 의미를 해석할 수 있다.
또한, 제어부(2200)는 디바이스(1000), 다른 디바이스(4000) 및/또는 서비스 제공 서버(3000)에 기록된 메모 및 사용자 일정을 분석함으로써, 사용자가 해야 할 일을 결정할 수 있다. 제어부(2200)는 다양한 데이터 마이닝 기술 및 자연어 해석 기술을 이용하여, 메모 및 사용자 일정을 분석할 수 있다.
또한, 제어부(2200)는 디바이스(1000) 및/또는 다른 디바이스(4000)에 설치된 애플리케이션을 통하여 수행된 디바이스(1000) 및/또는 다른 디바이스(4000)의 동작을 분석함으로써, 사용자가 해야 할 일을 결정할 수 있다. 이 경우, 제어부(2200)는 애플리케이션에 관한 로그 정보를 이용하여 사용자의 해야 할 일을 결정할 수 있다.
사용자의 해야 할 일은 단순 태스크 및 복합 태스크를 포함할 수 있다. 단순 태스크는 하나의 태스크로 이루어질 수 있으며, 예를 들어, “파일 전송“ 및 “메일 발송“ 등과 같은 태스크일 수 있다. 복합 태스크는 메인 태스크 및 서브 태스크를 포함할 수 있으며, 예를 들어, “여행 준비“라는 메인 태스크 및, “비행기 티켓 예매”, “여행지 검색”, “렌트카 대여”, 및 “준비물 구매” 등의 서브 태스크를 포함할 수 있다.
또한, 제어부(2200)는 디바이스(1000)로부터 획득된 행동 정보, 다른 디바이스(4000)로부터 획득된 행동 정보, 및 서비스 제공 서버(3000)로부터 획득된 행동 정보를 비교함으로써, 할일 목록의 진정성을 검증할 수 있다.
제어부(2200)는 사용자의 할일 목록을 디바이스(1000)에게 제공할 수 있다. 제어부(2200)는 디바이스(1000)로부터의 요청에 응답하여 사용자의 할일 목록을 디바이스(1000)에게 제공할 수 있다. 제어부(2200)는 기 설정된 주기로 사용자의 할일 목록을 디바이스(1000)에게 제공할 수 있다. 제어부(2200)는 기 설정된 이벤트가 발생되면, 사용자의 할일 목록을 디바이스(1000)에게 제공할 수 있다. 이 경우, 기 설정된 이벤트는, 사용자의 할일 목록의 생성 및 갱신 등을 포함할 수 있으나, 이에 제한되지 않는다. 또한, 제어부(2200)는 생성, 수정 또는 갱신된 할일 목록을 할일 목록 DB(2310)에 저장할 수 있다.
제어부(2200)는 디바이스(1000)에서 실행된 애플리케이션의 기능에 관한 정보를 디바이스(1000)로부터 수신할 수 있다. 디바이스(1000)는 할일 목록 내의 태스크의 수행 여부 판단에 관련된 다른 사용자 및 콘텐트를 결정할 수 있다. 또한, 디바이스(1000)는 사용자의 할일 목록에 관련된 애플리케이션 및 애플리케이션의 기능을 식별하고, 식별된 애플리케이션의 기능이 수행되었는지에 관한 정보를 서버(2000)에게 제공할 수 있다.
제어부(2200)는 사용자 및 다른 사용자의 서비스 이용 정보를 서비스 제공 서버(3000)로부터 수신할 수 있다. 이 경우, 제어부(2200)는 사용자의 서비스 ID, 및 사용자의 할일 목록에 관련된 다른 사용자의 서비스 ID를 서비스 제공 서버(3000)에게 제공함으로써, 사용자 및 다른 사용자의 서비스 이용 정보를 서비스 제공 서버(3000)에게 요청할 수 있다.
제어부(2200)는 다른 디바이스(4000)에서 실행된 애플리케이션의 기능에 관한 정보를 다른 디바이스(4000)로부터 수신할 수 있다. 이 경우, 제어부(2200)는 사용자의 할일 목록 내의 태스크들 중에서 다른 사용자와 관련된 태스크를 식별하고, 식별된 태스크의 수행에 관련된 애플리케이션 및 애플리케이션의 기능에 관한 정보를 다른 디바이스(4000)에게 제공함으로써, 다른 디바이스(4000)에서 실행된 애플리케이션의 기능에 관한 정보를 다른 디바이스(4000)에게 요청할 수 있다.
제어부(2200)는 사용자의 할일 목록에 포함된 태스크의 수행 여부를 판단할 수 있다. 제어부(2200)는 할일 목록 내의 태스크의 수행을 위한 디바이스(1000), 다른 디바이스(4000) 및 서비스 제공 서버(3000)의 세부 동작들 및 세부 동작들 간의 관계를 결정하고, 결정된 관계를 고려하여 태스크의 수행 여부를 판단할 수 있다.
제어부(2200)는 할일 목록 내의 미수행 태스크에 기초하여, 할일 목록을 갱신할 수 있다. 제어부(2200)는 할일 목록 내에서 수행된 태스크를 삭제하고, 수행된 태스크와 관련된 세부 태스크가 존재한다면, 세부 태스크를 할일 목록 내에 추가할 수 있다.
제어부(2200)는 사용자의 미수행 태스크의 수행과 관련된 부가 정보를 생성할 수 있다. 또한, 제어부(2200)는 미수행 태스크를 수행하기 위한 가이드 정보를 생성할 수 있다. 예를 들어, 제어부(2200)는 디바이스(1000)가 미수행 태스크를 수행하기 위한 세부 동작을 사용자에게 추천하거나 일부 세부 동작을 자동적으로 수행할 수 있도록 부가 정보 및/또는 가이드 정보를 생성할 수 있다.
제어부(2200)는 미수행 태스크의 목록을 디바이스(1000)에게 제공할 수 있다. 제어부(2200)는 미수행 태스크의 알림 근거를 포함하는 알림 정보를 디바이스(1000)에게 제공할 수 있다. 제어부(2200)는 부가 정보 및/또는 가이드 정보를 디바이스(1000)에게 제공할 수 있다.
할일 목록 DB(2310)는 생성, 수정 및/또는 갱신된 할일 목록을 저장할 수 있다. 또한, 할일 목록 DB(2310)는 할일 목록을 제공하는 시점을 저장할 수 있다.
태스크 수행 판단 DB(2320)는 할일 목록 내의 태스크의 수행 여부를 판단하는 기준에 관한 정보를 저장할 수 있다. 태스크 수행 판단 DB(2320)는 할일 목록 내의 태스크의 수행을 위한 디바이스(1000)의 세부 동작들, 다른 디바이스(4000)의 세부 동작들, 서비스 제공 서버(3000)의 세부 동작들, 및 세부 동작들 간의 관계에 관한 정보를 저장할 수 있다. 또한, 태스크 수행 판단 DB(2320)는 세부 동작들 간의 관계를 나타내는 관계 그래프를 저장할 수 있다. 또한, 태스크 수행 판단 DB(2320)는 할일 목록 내의 미수행 태스크에 관한 정보를 알리는 시점, 할일 목록 내의 태스크의 수행 여부를 판단하는 시점 등에 관한 정보를 저장할 수 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 사용자의 할일 목록을 제공하는 디바이스에 있어서,
    상기 디바이스를 통하여 수행된 상기 사용자와 다른 사용자 간의 행동에 관한 행동 정보를 수집하고, 상기 수집된 행동 정보에 기초하여 상기 사용자의 할일 목록을 생성하며, 상기 디바이스의 동작에 관한 로그 정보를 이용하여 상기 할일 목록 내의 적어도 하나의 태스크 중에서 상기 사용자에 의해 수행되지 않은 미수행 태스크를 결정하는 제어부; 및
    상기 결정된 미수행 태스크를 알리는 알림 근거를 포함하며 대화체의 알림 정보를 출력하는 출력부;
    를 포함하고, 상기 제어부는, 상기 할일 목록 내의 적어도 하나의 태스크 중에서, 다른 사용자의 식별 정보가 포함된 태스크는, 상기 다른 사용자의 다른 디바이스의 동작에 관한 로그 정보에 기초하여, 상기 미수행 태스크인지 여부를 결정하고,
    상기 행동 정보는, 상기 사용자와 상기 다른 사용자 간의 대화 텍스트를 포함하고,
    상기 대화 텍스트에서 식별되는 의문사와 대응되는 키워드에 기초하여, 상기 할일 목록이 생성되는, 디바이스.
  2. 제 1 항에 있어서,
    상기 제어부는, 상기 할일 목록 내의 태스크의 수행을 위한 상기 제 1 디바이스의 세부 동작들 및 상기 세부 동작들 간의 관계를 결정하고, 상기 세부 동작들 간의 관계 및 상기 세부 동작들의 수행 여부에 기초하여 상기 미수행 태스크를 결정하는 것인, 디바이스.
  3. 제 2 항에 있어서,
    상기 제어부는,
    상기 할일 목록 내의 태스크에 관련된 다른 사용자 및 콘텐트를 결정하고, 상기 할일 목록 내의 태스크에 관련된 상기 디바이스에 설치된 애플리케이션 및 상기 애플리케이션의 기능을 결정하고, 상기 결정된 애플리케이션, 기능, 다른 사용자 및 콘텐트의 일부 또는 전부를 조합함으로써, 상기 태스크 수행을 위한 상기 디바이스의 상기 세부 동작들을 정의함으로써, 상기 세부 동작들 및 상기 세부 동작들 간의 관계를 결정하는 것인, 디바이스.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 제어부는, 상기 사용자의 다른 디바이스의 동작에 관한 로그 정보, 및 상기 사용자가 가입된 서비스 제공 서버의 동작에 관한 로그 정보를 이용하여, 상기 미수행 태스크를 결정하는 것인, 디바이스.
  6. 제 1 항에 있어서,
    상기 제어부는, 상기 사용자와 상기 다른 사용자 간의 통화 음성, 상기 사용자와 상기 다른 사용자 간에 송수신된 메시지, 상기 사용자의 일정 정보, 상기 사용자의 메모 정보 및 상기 디바이스에서 실행된 애플리케이션의 로그 정보 중 적어도 하나를 수집하는 것인, 디바이스.
  7. 제 1 항에 있어서,
    상기 제어부는, 적어도 하나의 메인 태스크, 및 상기 메인 태스크에 종속된 적어도 하나의 서브 태스크를 포함하는 상기 할일 목록을 생성하는 것인, 디바이스.
  8. 제 1 항에 있어서,
    상기 제어부는, 상기 사용자와 상기 다른 사용자와의 통화 음성을 텍스트로 변환하고, 상기 통화 음성의 톤 정보 및 상기 변환된 텍스트를 분석함으로써, 상기 할일 목록을 생성하는 것인, 디바이스.
  9. 제 7 항에 있어서,
    상기 메인 태스크는 상기 사용자의 행동 정보에 기초하여 결정되며, 상기 서브 태스크는 상기 결정된 메인 태스크에 대응되는 기 설정된 서브 태스크들 중 선택된 것인, 디바이스.
  10. 제 7 항에 있어서,
    상기 제어부는, 상기 할일 목록 내의 상기 서브 태스크 중 일부 또는 전부가 수행됨에 따라, 상기 할일 목록을 갱신하는 것인, 디바이스.
  11. 제 1 항에 있어서,
    제어부는, 상기 미수행 태스크를 결정하는 시점 및 상기 알림 정보를 출력하는 시점을 설정하는 것인, 디바이스.
  12. 제1 디바이스가 사용자의 할일 목록을 제공하는 방법에 있어서,
    상기 제1 디바이스를 통하여 수행된 상기 사용자와 다른 사용자 간의 행동에 관한 행동 정보를 수집하는 단계;
    상기 수집된 행동 정보에 기초하여, 상기 사용자의 할일 목록을 생성하는 단계;
    상기 제1 디바이스의 동작에 관한 로그 정보를 이용하여, 상기 할일 목록 내의 적어도 하나의 태스크 중에서 상기 사용자에 의해 수행되지 않은 미수행 태스크를 결정하는 단계; 및
    상기 결정된 미수행 태스크를 알리는 알림 근거를 포함하며 대화체의 알림 정보를 출력하는 단계;
    를 포함하고,
    상기 미수행 태스크를 결정하는 단계는, 상기 할일 목록 내의 적어도 하나의 태스크 중에서, 다른 사용자의 식별 정보가 포함된 태스크는, 상기 다른 사용자의 다른 디바이스의 동작에 관한 로그 정보에 기초하여, 상기 미수행 태스크인지 여부를 결정하는 단계를 포함하고,
    상기 행동 정보는, 상기 사용자와 상기 다른 사용자 간의 대화 텍스트를 포함하고,
    상기 대화 텍스트에서 식별되는 의문사와 대응되는 키워드에 기초하여, 상기 할일 목록이 생성되는, 방법.
  13. 제 12 항에 있어서,
    상기 미수행 태스크를 결정하는 단계는, 상기 할일 목록 내의 태스크의 수행을 위한 상기 제 1 디바이스의 세부 동작들 및 상기 세부 동작들 간의 관계를 결정하고, 상기 세부 동작들 간의 관계 및 상기 세부 동작들의 수행 여부에 기초하여 상기 미수행 태스크를 결정하는 것인, 방법.
  14. 제 13 항에 있어서,
    상기 세부 동작들 및 상기 세부 동작들 간의 관계를 결정하는 단계는,
    상기 할일 목록 내의 태스크에 관련된 다른 사용자 및 콘텐트를 결정하는 단계;
    상기 할일 목록 내의 태스크에 관련된 상기 제1 디바이스에 설치된 애플리케이션 및 상기 애플리케이션의 기능을 결정하는 단계; 및
    상기 결정된 애플리케이션, 기능, 다른 사용자 및 콘텐트의 일부 또는 전부를 조합함으로써, 상기 태스크 수행을 위한 상기 제1 디바이스의 상기 세부 동작들을 정의하는 단계;
    를 더 포함하는 것인, 방법.
  15. 제 12 항에 있어서,
    상기 할일 목록을 생성하는 단계는, 적어도 하나의 메인 태스크, 및 상기 메인 태스크에 종속된 적어도 하나의 서브 태스크를 포함하는 상기 할일 목록을 생성하는 것인, 방법.
  16. 제 15 항에 있어서,
    상기 할일 목록 내의 상기 서브 태스크 중 일부 또는 전부가 수행됨에 따라, 상기 할일 목록을 갱신하는 단계;
    를 더 포함하는 것인, 방법.
  17. 제 12 항에 있어서,
    상기 미수행 태스크를 결정하는 시점 및 상기 알림 정보를 출력하는 시점을 설정하는 단계;
    를 더 포함하는 것인, 방법.
  18. 사용자의 할일 목록을 제공하는 서버에 있어서,
    사용자의 적어도 하나의 디바이스로부터 상기 사용자의 행동 정보를 수신하는 통신부;
    상기 수신된 행동 정보에 기초하여, 상기 사용자의 할일 목록을 생성하며, 상기 디바이스의 동작에 관한 로그 정보를 이용하여, 상기 할일 목록 내의 상기 적어도 하나의 태스크 중에서 상기 사용자에 의해 수행되지 않은 미수행 태스크를 결정하고, 상기 통신부를 통하여 상기 디바이스에게 상기 미수행 태스크의 목록 및 상기 미수행 태스크를 알리는 근거를 포함하는 대화체의 알림 정보를 제공하는 제어부;
    를 포함하고,
    상기 제어부는, 상기 할일 목록 내의 적어도 하나의 태스크 중에서, 다른 사용자의 식별 정보가 포함된 태스크는, 상기 다른 사용자의 다른 디바이스의 동작에 관한 로그 정보에 기초하여, 상기 미수행 태스크인지 여부를 결정하고,
    상기 행동 정보는, 상기 사용자와 상기 다른 사용자 간의 대화 텍스트를 포함하고,
    상기 대화 텍스트에서 식별되는 의문사와 대응되는 키워드에 기초하여, 상기 할일 목록이 생성되는, 서버.
  19. 서버가 사용자의 할일 목록을 제공하는 방법에 있어서,
    사용자의 적어도 하나의 디바이스로부터 상기 사용자의 행동 정보를 수신하는 단계;
    상기 수신된 행동 정보에 기초하여, 상기 사용자의 할일 목록을 생성하는 단계;
    상기 디바이스의 동작에 관한 로그 정보, 및 상기 사용자가 가입된 서비스 제공 서버의 동작에 관한 로그 정보를 이용하여, 상기 할일 목록 내의 상기 적어도 하나의 태스크 중에서 상기 사용자에 의해 수행되지 않은 미수행 태스크를 결정하는 단계;
    상기 디바이스에게 상기 미수행 태스크의 목록 및 상기 미수행 태스크를 알리는 근거를 포함하는 대화체의 알림 정보를 제공하는 단계;
    를 포함하고,
    상기 미수행 태스크를 결정하는 단계는, 상기 할일 목록 내의 적어도 하나의 태스크 중에서, 다른 사용자의 식별 정보가 포함된 태스크는, 상기 다른 사용자의 다른 디바이스의 동작에 관한 로그 정보에 기초하여, 상기 미수행 태스크인지 여부를 결정하고,
    상기 행동 정보는, 상기 사용자와 상기 다른 사용자 간의 대화 텍스트를 포함하고,
    상기 대화 텍스트에서 식별되는 의문사와 대응되는 키워드에 기초하여, 상기 할일 목록이 생성되는 단계를 포함하는, 방법.
  20. 제 13 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020140167811A 2014-11-27 2014-11-27 사용자의 할일 목록을 제공하는 시스템 및 방법 KR102047500B1 (ko)

Priority Applications (9)

Application Number Priority Date Filing Date Title
KR1020140167811A KR102047500B1 (ko) 2014-11-27 2014-11-27 사용자의 할일 목록을 제공하는 시스템 및 방법
US14/940,676 US10657501B2 (en) 2014-11-27 2015-11-13 System and method of providing to-do list of user
EP21170164.4A EP3872727A1 (en) 2014-11-27 2015-11-13 System and method of providing to-do list of user
EP15863291.9A EP3224780A4 (en) 2014-11-27 2015-11-13 System and method of providing to-do list of user
PCT/KR2015/012210 WO2016085170A1 (en) 2014-11-27 2015-11-13 System and method of providing to-do list of user
CN201510850072.XA CN105654271B (zh) 2014-11-27 2015-11-27 提供用户的待办事项列表的系统和方法
US16/793,609 US11164160B2 (en) 2014-11-27 2020-02-18 System and method of providing to-do list of user
US17/512,066 US11803819B2 (en) 2014-11-27 2021-10-27 System and method of providing to-do list of user
US18/474,717 US20240013160A1 (en) 2014-11-27 2023-09-26 System and method of providing to-do list of user

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140167811A KR102047500B1 (ko) 2014-11-27 2014-11-27 사용자의 할일 목록을 제공하는 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20160063913A KR20160063913A (ko) 2016-06-07
KR102047500B1 true KR102047500B1 (ko) 2019-11-21

Family

ID=56074647

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140167811A KR102047500B1 (ko) 2014-11-27 2014-11-27 사용자의 할일 목록을 제공하는 시스템 및 방법

Country Status (5)

Country Link
US (4) US10657501B2 (ko)
EP (2) EP3872727A1 (ko)
KR (1) KR102047500B1 (ko)
CN (1) CN105654271B (ko)
WO (1) WO2016085170A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220011038A (ko) * 2020-07-20 2022-01-27 한남대학교 산학협력단 알림 시스템

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105214309B (zh) * 2015-10-10 2017-07-11 腾讯科技(深圳)有限公司 一种信息处理方法、终端及计算机存储介质
JP2017138476A (ja) * 2016-02-03 2017-08-10 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US11244288B2 (en) * 2016-06-03 2022-02-08 International Business Machines Corporation Task reminder generator
KR101886373B1 (ko) * 2016-07-14 2018-08-09 주식회사 언더핀 딥러닝 인공신경망 기반의 타스크 제공 플랫폼
CN106375585B (zh) * 2016-09-13 2019-10-22 宇龙计算机通信科技(深圳)有限公司 一种日程提醒方法、系统及终端
CN107886206A (zh) * 2016-09-30 2018-04-06 优甸网络科技(上海)有限公司 基于事项列表的个人助理机制
KR102458663B1 (ko) * 2016-12-23 2022-10-25 삼성전자주식회사 사용자의 할일 목록을 제공하는 시스템 및 방법
WO2018117685A1 (en) 2016-12-23 2018-06-28 Samsung Electronics Co., Ltd. System and method of providing to-do list of user
US11347805B2 (en) 2017-03-08 2022-05-31 Samsung Electronics Co., Ltd. Electronic apparatus, method for controlling the same, and non-transitory computer readable recording medium
US11244106B2 (en) * 2019-07-03 2022-02-08 Microsoft Technology Licensing, Llc Task templates and social task discovery
US11900323B1 (en) 2020-06-29 2024-02-13 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on video dictation
JP7375727B2 (ja) * 2020-10-20 2023-11-08 株式会社リコー データ管理システム、端末装置、プログラム、データ入力方法、情報処理システム
EP4207712A4 (en) * 2021-01-29 2024-01-10 Samsung Electronics Co Ltd ELECTRONIC DEVICE FOR DETERMINING THE TIME DURING THE CHATBOT KEEPING THE SESSION AND OPERATING METHOD THEREOF
CN112967023B (zh) * 2021-03-05 2023-01-24 北京百度网讯科技有限公司 获取日程信息的方法、装置、设备、存储介质及程序产品
US11809222B1 (en) 2021-05-24 2023-11-07 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on selection of text
US11836681B1 (en) 2022-02-17 2023-12-05 Asana, Inc. Systems and methods to generate records within a collaboration environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070300225A1 (en) * 2006-06-27 2007-12-27 Microsoft Coporation Providing user information to introspection
WO2013173511A2 (en) * 2012-05-15 2013-11-21 Apple Inc. Actionable reminder entries

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5573404A (en) * 1994-02-01 1996-11-12 Stawski, Ii; Willard S. Device and process for modifying behavior of children
US6092197A (en) 1997-12-31 2000-07-18 The Customer Logic Company, Llc System and method for the secure discovery, exploitation and publication of information
US6405170B1 (en) * 1998-09-22 2002-06-11 Speechworks International, Inc. Method and system of reviewing the behavior of an interactive speech recognition application
US7797204B2 (en) * 2001-12-08 2010-09-14 Balent Bruce F Distributed personal automation and shopping method, apparatus, and process
US7844454B2 (en) * 2003-03-18 2010-11-30 Avaya Inc. Apparatus and method for providing voice recognition for multiple speakers
US7725842B2 (en) * 2003-04-24 2010-05-25 Bronkema Valentina G Self-attainable analytic tool and method for adaptive behavior modification
CN1627851A (zh) 2003-12-09 2005-06-15 三星电子株式会社 在无线电话中利用动漫形象来告警日程的方法
US7702532B2 (en) * 2003-12-12 2010-04-20 At&T Intellectual Property, I, L.P. Method, system and storage medium for utilizing training roadmaps in a call center
US7496500B2 (en) * 2004-03-01 2009-02-24 Microsoft Corporation Systems and methods that determine intent of data and respond to the data based on the intent
US7596507B2 (en) * 2005-06-10 2009-09-29 At&T Intellectual Property, I,L.P. Methods, systems, and storage mediums for managing accelerated performance
US7564805B1 (en) * 2005-08-08 2009-07-21 At&T Intellectual Property, Ii, L.P. Systems, methods, and device for simulating capacity in a network
US8976944B2 (en) * 2006-02-10 2015-03-10 Nuance Communications, Inc. Mass-scale, user-independent, device-independent voice messaging system
US20070239520A1 (en) * 2006-03-31 2007-10-11 Devin Collins Motivational apparatus and method of motivation
KR20080109322A (ko) * 2007-06-12 2008-12-17 엘지전자 주식회사 사용자의 직관적 의도 파악에 따른 서비스 제공 방법 및장치
US20090018865A1 (en) 2007-07-12 2009-01-15 Carmella Lynn Earnest Earnest custom calibration system delivering dietary supplements
US8775365B2 (en) 2010-03-07 2014-07-08 Hamid Hatami-Hanza Interactive and social knowledge discovery sessions
KR101414465B1 (ko) 2007-10-26 2014-07-03 에스케이플래닛 주식회사 통신 단말 장치 및 이를 이용한 일정 관리 방법
JP5151600B2 (ja) * 2008-03-26 2013-02-27 大日本印刷株式会社 行動分析システム
KR20080068793A (ko) * 2008-05-13 2008-07-24 (주)에어패스 모바일 지식 검색 서비스 제공방법
CN101345956B (zh) 2008-08-22 2013-07-24 惠州Tcl移动通信有限公司 一种手机待办事项的管理方法
US20100268571A1 (en) 2009-04-16 2010-10-21 Mitel Networks Corporation System and method for determining availibility of a group to communicate with a user
US20100332404A1 (en) 2009-06-29 2010-12-30 David Valin Method and mechanism for protection, sharing, storage, accessing, authentication, certification, attachment and tracking anything in an electronic network
US8527315B2 (en) * 2009-12-07 2013-09-03 Nippon Steel & Sumitomo Metal Corporation Operation support apparatus, operation support method, and computer program
US8662898B2 (en) * 2010-03-15 2014-03-04 Joan Bellontine Goal achievement game and method
US8381088B2 (en) * 2010-06-22 2013-02-19 Microsoft Corporation Flagging, capturing and generating task list items
US8370767B2 (en) * 2010-06-22 2013-02-05 Microsoft Corporation List authoring surface
US8375320B2 (en) 2010-06-22 2013-02-12 Microsoft Corporation Context-based task generation
CN101969496B (zh) 2010-08-25 2013-02-20 宇龙计算机通信科技(深圳)有限公司 一种数据交互的方法、移动终端
KR101413297B1 (ko) 2010-11-22 2014-07-01 한국전자통신연구원 단말 프로비저닝 관리 시스템 및 그 방법
US8639719B2 (en) * 2011-02-02 2014-01-28 Paul Tepper Fisher System and method for metadata capture, extraction and analysis
US8589407B2 (en) 2011-06-17 2013-11-19 Google Inc. Automated generation of suggestions for personalized reactions in a social network
CN202261494U (zh) * 2011-09-09 2012-05-30 戴佳捷 一种基于手机平台实体识别应用的智能手机
US10217117B2 (en) 2011-09-15 2019-02-26 Stephan HEATH System and method for social networking interactions using online consumer browsing behavior, buying patterns, advertisements and affiliate advertising, for promotions, online coupons, mobile services, products, goods and services, entertainment and auctions, with geospatial mapping technology
CN102945074B (zh) * 2011-10-12 2016-04-27 微软技术许可有限责任公司 根据所捕捉的语音和音频内容来填充列表和任务
KR101340464B1 (ko) 2012-04-23 2013-12-11 공주대학교 산학협력단 지능형 일정관리 에이전트
CN103686593A (zh) 2012-09-20 2014-03-26 杭州点云信息技术有限公司 待办事项提醒方法及其系统
US10573037B2 (en) * 2012-12-20 2020-02-25 Sri International Method and apparatus for mentoring via an augmented reality assistant
US10824310B2 (en) * 2012-12-20 2020-11-03 Sri International Augmented reality virtual personal assistant for external representation
KR101415016B1 (ko) 2012-11-07 2014-07-08 한국과학기술연구원 영상기반 실내 위치 검출방법 및 이를 이용한 휴대용 단말기
CN103902540A (zh) * 2012-12-25 2014-07-02 联想(北京)有限公司 一种信息处理方法和装置
US20140297348A1 (en) * 2013-01-21 2014-10-02 David A. Ellis Merit-based incentive to-do list application system, method and computer program product
US9672822B2 (en) * 2013-02-22 2017-06-06 Next It Corporation Interaction with a portion of a content item through a virtual assistant
US9106757B2 (en) 2013-03-26 2015-08-11 Lg Uplus Corp. Terminal, server, and method for actively providing information based on communication contents
US20150073790A1 (en) * 2013-09-09 2015-03-12 Advanced Simulation Technology, inc. ("ASTi") Auto transcription of voice networks
US10055681B2 (en) * 2013-10-31 2018-08-21 Verint Americas Inc. Mapping actions and objects to tasks
US20150148621A1 (en) * 2013-11-22 2015-05-28 Grant Joseph Sier Methods and systems for creating a preventative care plan in mental illness treatment
CN104753985B (zh) * 2013-12-30 2018-12-28 腾讯科技(深圳)有限公司 会话列表显示方法和装置
CN105874895B (zh) * 2013-12-30 2018-07-31 施耐德电气美国股份有限公司 增加安装din导轨的外壳的散热能力的方法和装置
US9823811B2 (en) * 2013-12-31 2017-11-21 Next It Corporation Virtual assistant team identification
US20160048934A1 (en) * 2014-09-26 2016-02-18 Real Data Guru, Inc. Property Scoring System & Method
CN108874895B (zh) 2018-05-22 2021-02-09 北京小鱼在家科技有限公司 交互信息推送方法、装置、计算机设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070300225A1 (en) * 2006-06-27 2007-12-27 Microsoft Coporation Providing user information to introspection
WO2013173511A2 (en) * 2012-05-15 2013-11-21 Apple Inc. Actionable reminder entries

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220011038A (ko) * 2020-07-20 2022-01-27 한남대학교 산학협력단 알림 시스템
KR102406830B1 (ko) 2020-07-20 2022-06-08 한남대학교 산학협력단 알림 시스템

Also Published As

Publication number Publication date
EP3224780A1 (en) 2017-10-04
CN105654271B (zh) 2020-12-29
KR20160063913A (ko) 2016-06-07
US11803819B2 (en) 2023-10-31
US20160155096A1 (en) 2016-06-02
CN105654271A (zh) 2016-06-08
WO2016085170A1 (en) 2016-06-02
US10657501B2 (en) 2020-05-19
US20240013160A1 (en) 2024-01-11
US20220051197A1 (en) 2022-02-17
US20200184427A1 (en) 2020-06-11
US11164160B2 (en) 2021-11-02
EP3872727A1 (en) 2021-09-01
EP3224780A4 (en) 2017-10-04

Similar Documents

Publication Publication Date Title
KR102047500B1 (ko) 사용자의 할일 목록을 제공하는 시스템 및 방법
EP3335190B1 (en) Device and method for providing user-customized content
US10498673B2 (en) Device and method for providing user-customized content
US10586211B2 (en) Shared collaboration objects
EP3425872A1 (en) Dual-modality client application
EP2987164B1 (en) Virtual assistant focused user interfaces
US20190095846A1 (en) Implicit status tracking of tasks and management of task reminders based on device signals
EP2936404B1 (en) Suggesting related items
US20190129749A1 (en) Automated extraction and application of conditional tasks
KR102458663B1 (ko) 사용자의 할일 목록을 제공하는 시스템 및 방법
TW201701251A (zh) 一種資訊展示方法及裝置
US9524071B2 (en) Threshold view
US10026132B2 (en) Chronological information mapping
US11734631B2 (en) Filtering records on a unified display
EP3619660B1 (en) Sharing events with structured metadata
US11856070B2 (en) Interactive notification panes in a computing system
US11789696B2 (en) Voice assistant-enabled client application with user view context
US20150278733A1 (en) Method and system for reporting events and conditions
EP2765513A2 (en) System and method for providing object via which a service is used
KR20150109245A (ko) 콘텐츠 제공 방법 및 장치
US20230401031A1 (en) Voice assistant-enabled client application with user view context
WO2015166630A1 (ja) 情報提示システム、装置、方法、およびコンピュータプログラム
WO2023113898A1 (en) Method and system for facilitating convergence
CN117556155A (zh) 基于大语言模型的行程规划方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)