KR20150022809A - 위치 인식 리마인더 기법 - Google Patents

위치 인식 리마인더 기법 Download PDF

Info

Publication number
KR20150022809A
KR20150022809A KR1020147034287A KR20147034287A KR20150022809A KR 20150022809 A KR20150022809 A KR 20150022809A KR 1020147034287 A KR1020147034287 A KR 1020147034287A KR 20147034287 A KR20147034287 A KR 20147034287A KR 20150022809 A KR20150022809 A KR 20150022809A
Authority
KR
South Korea
Prior art keywords
user
time
reminder
event
scheduled event
Prior art date
Application number
KR1020147034287A
Other languages
English (en)
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 마이크로소프트 코포레이션
Publication of KR20150022809A publication Critical patent/KR20150022809A/ko

Links

Images

Classifications

    • 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/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/21Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
    • 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/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72451User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to schedules, e.g. using calendar applications
    • 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/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72457User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • 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/024Guidance services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephone Function (AREA)
  • Navigation (AREA)
  • Mobile Radio Communication Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

위치 인식 리마인더 기법이 설명된다. 하나 이상의 구현예에서, 컴퓨팅 장치에 의해 사용자가 스케줄링된 이벤트에 액세스하는데 필요할 것 같은 시간 양이 결정된다. 사용자가 스케줄링된 이벤트에 액세스하는데 필요할 것 같은 결정된 시간 양에 적어도 부분적으로 기초하여 스케줄링된 이벤트 전에 컴퓨팅 장치에 의해 리마인더를 출력할 시점이 계산된다.

Description

위치 인식 리마인더 기법{LOCATION AWARE REMINDERS}
다양한 스케줄링 기능이 사용자들에게 이용가능하게 되고 있다. 그러한 기능의 일례로, 이벤트를 추적하고, 예컨대 네트워크를 통한 미팅 요청의 전달을 통해, 다른 사용자를 이벤트에 참가하도록 초대하는데 사용될 수 있는 캘린더가 있다. 이 스케줄링 기능은 비즈니스 및 개인적인 용무에 있어서 다양한 사용자에게 일상의 일부가 되었다.
그러나, 이벤트를 스케줄하는데 이용된 종래의 기법들은 통상적으로 이벤트의 주최자에 의해 설정된 리마인더를 포함하였다. 비록 사용자에게 리마인더 기간을 선택하는 옵션이 주어지긴 했지만, 이것은 캘린더 이벤트에 수동으로 액세스하여 그 기간을 변경하는 중요한 일련의 단계를 수반할 수 있다. 또한, 이 기간은 얼마나 많은 통지가 바람직한지에 대해 사용자측에서 흔히 "최선의 추론(best guess)"으로서 설정되었는데, 이는 이 수동 상호작용을 다시 필요로 하는 다양한 이유로 변경될 수 있다.
위치 인식 리마인더 기법이 설명된다. 하나 이상의 구현예에서, 컴퓨팅 장치에 의해 사용자가 스케줄링된 이벤트에 액세스하는데 필요할 것 같은 시간 양이 결정된다. 사용자가 스케줄링된 이벤트에 액세스하는데 필요할 것 같은 결정된 시간 양에 적어도 부분적으로 기초하여 스케줄링된 이벤트 전에 컴퓨팅 장치에 의해 리마인더를 출력할 시점이 계산된다.
하나 이상의 구현예에서, 리마인더의 대상인 목적지의 지리적 위치로 물리적으로 이동하는데 걸리는 적절한 이동 시간(travel time)에 적어도 부분적으로 기초하여 컴퓨팅 장치에 의해 리마인더를 디스플레이할 시점이 결정된다. 그 후 결정된 시점에 컴퓨팅 장치에 의해 리마인더가 출력된다.
하나 이상의 실시예에서, 사용자가 스케줄링된 이벤트와 연관된 지리적 위치로 이동하는데 걸리는 적절한 이동 시간에 대해 판정이 이루어진다. 결정된 적절한 이동 시간은 적어도 대응하는 양의 시간이 스케줄링된 이벤트 전에 사용자의 스케줄을 사용하여 다른 이벤트를 스케줄링하는데 이용가능하지 않음을 나타내는데 이용된다.
본 개요는 후속하여 발명의 상세한 설명 부분에서 설명되는 개념들 중 선택된 것들을 단순화된 형태로 소개하고자 제공되는 것이다. 본 개요는 청구항의 청구대상의 핵심적인 특징이나 필수적인 특징들을 밝히고자 함이 아니며, 청구항의 청구대상의 범위를 결정하는 데 도움이 되고자 함도 아니다.
상세한 설명은 첨부 도면을 참고하여 설명한다. 도면에서, 참조번호의 맨좌측 숫자는 참조번호가 처음 나타나는 도면을 의미한다. 상세한 설명과 도면에서 상이한 예들에 동일 참조번호를 사용한 것은 동일 또는 유사한 항목들을 나타낼 수 있다. 도면에 표시된 개체들은 하나 이상의 개체를 나타낼 수 있으며, 따라서 하기 논의에서 단수형 또는 복수형의 개체는 교환가능하게 참조될 수 있다.
도 1은 본 명세서에 기술된 위치 인식 리마인더 기법을 이용하도록 동작가능한 구현예의 환경을 도시한 것이다.
도 2는 도 1의 스케줄러 모듈을 포함하는 시스템을 도시한 다이어그램이다.
도 3은 리마인더를 출력하는 시점을 결정하는 예를 도시한 순서도이다.
도 4는 스케줄링된 이벤트에 액세스하는 다른 사용자에게 다른 리마인더를 출력하는데 사용되는 워크플로의 예를 도시한 것이다.
도 5는 사용자가 스케줄링된 이벤트에 어떻게 액세스하는지를 스케줄러 모듈을 이용하여 설명하도록 구성된 시스템을 도시한 것이다.
도 6은 이벤트를 스케줄하는데 이용가능한 사용자 인터페이스의 일례를 도시한 것이다.
도 7은 도 6의 이벤트에 대한 리마인더의 일환으로서 이동 시간(travel time)을 이용할지를 스케줄링하는데 이용가능한 사용자 인터페이스의 일례를 도시한 것이다.
도 8은 리마인더를 출력할 시점이 사용자 액세스에 기초하여 결정되는 구현예의 절차를 도시한 흐름도이다.
도 9는 리마인더를 디스플레이할 시점이 지리적 위치로의 이동 시간에 적어도 부분적으로 기초하여 결정되는 구현예의 절차를 도시한 흐름도이다.
도 10은 스케줄링된 이벤트로의 이동에 사용될 것 같은 시간 양이 사용자의 캘린더 상에 이용불가능으로 표시되는 구현예의 절차를 도시한 흐름도이다.
도 11은 본 명세서에 기술된 기법들의 실시예를 구현하기 위해 도 1 내지 7을 참조하여 설명한 임의의 컴퓨팅 장치로서 구현될 수 있는 예시적인 장치의 다양한 컴포넌트를 포함하는 예시적인 시스템을 도시한 것이다.
개요
스케줄링된 이벤트의 리마인더는 통상적으로 정적이며 이벤트의 주최자에 의해 설정된다. 그 결과, 리마인더는 사용자에게 적절히 통지되도록 제공되지 않을 수 있는데, 다른 사용자들이 그 사용자의 스케줄에 액세스하는 경우에 특히 그러하다.
위치 인식 리마인더 기법을 설명한다. 하나 이상의 구현예에서, 사용자가 스케줄링된 이벤트에 액세스하는데 걸릴 적절한 시간 양에 기초하여, 스케줄링된 이벤트 이전에 리마인더를 디스플레이하는데 사용되는 시간 양이 결정되는 기법을 설명한다. 사용자는, 예를 들어 전화를 통해 이벤트에 액세스하도록 스케줄링될 수 있고, 따라서, 예컨대, 이벤트 3분 전에 비교적 적은 양의 통지를 주도록 출력하는 리마인더가 설정될 수 있다.
다른 예에서, 사용자는 이벤트에 본인이 직접 참석하도록 스케줄링될 수 있다. 이 예에서, 사용자가 이벤트로 이동하는데 걸리는 적절한 이동 시간이 계산될 수 있다. 이 이동 시간은 그 후, 적어도 부분적으로, 리마인더를 출력하는 시점을 결정하는데 사용될 수 있다. 이런 방법으로, 리마인더는 사용자가 이벤트 참가에 대한 충분한 통지를 주도록 동적으로 구성될 수 있다.
거리, 이동 모드(예컨대, 전동식 대 비전동식(motorized versus un-motorized), 잠재적 지연(예컨대, 교통, 사고), 기상, 스케줄링된 이벤트의 위치의 변경, 이벤트 이전의 사용자의 있음직한 위치(예컨대, GPS, 이전의 스케줄링된 이벤트의 위치) 등과 같은 다양한 다른 요인들을 파악하기 위한 시간 양이 계산될 수 있다. 이 시간 양은 사용가가 이 시간 동안 다른 스케줄링된 이벤트에 참석할 수 없음을 자동으로 통지하는 것과 같이 다양한 다른 기능을 제공하는데 이용될 수도 있다. 이들 특징 및 다른 특징들에 대한 추가적인 논의는 다음 섹션에서 찾아볼 수 있을 것이다.
이하의 논의에서는, 먼저 본 명세서에 기술된 기법들을 이용할 수 있는 예시적인 환경에 대해 설명한다. 그 다음에 예시적인 절차들을 설명하는데, 이들 절차는 예시적인 환경에서뿐만 아니라 다른 환경에서도 동작가능하다. 즉, 예시적인 절차의 실시는 예시적인 환경에 제한되지 않고 예시적인 환경은 이 예시적인 절차의 수행에 한정되지 않는다.
예시적인 환경
도 1은 본 명세서에서 기술되는 위치 인식 리마인더 기법을 이용하도록 동작가능한 예시적인 구현예의 환경을 도시한 것이다. 도시된 환경(100)은 컴퓨팅 장치(102)를 포함한다. 컴퓨팅 장치는 다양한 방식으로 구성될 수 있다. 예를 들어, 컴퓨팅 장치는 데스크탑 컴퓨터, 모바일 스테이션, 엔터테인먼트 기기, 태블릿, 디스플레이 장치와 통신가능하게 연결된 셋탑 박스, 무선 전화기, 게임 콘솔, 및 위치의 표시를 수신할 수 있는 기타 장치와 같이, 네트워크(104)를 통해 통신할 수 있는 컴퓨터로서 구성될 수 있다. 도시된 예에서, 컴퓨팅 장치(102)는 예컨대 도 11과 관련하여 보다 자세히 설명되는 모바일 전화 또는 태블릿처럼 사용자의 하나 이상의 손(108, 10)으로 잡도록 구성되는 하우징(106)을 사용하는 구현예를 통해 모바일 구성을 취하는 것으로 도시되어 있다.
따라서, 컴퓨팅 장치(102)의 범위는 많은 메모리 및 프로세서 자원을 갖는 풀 리소스 장치(예컨대, 개인용 컴퓨터, 게임 콘솔)에서부터 제한된 메모리 및/또는 처리 자원을 갖는 로우 리소스(low-resource) 장치(예컨대, 셋탑 박스, 핸드헬드 게임 콘솔)에 이른다. 또한, 단일 컴퓨팅 장치(102)가 도시되어 있지만, 컴퓨팅 장치(102)는 도 11에 도시된 웹 서비스의 플랫폼과 통신하는 클라이언트 장치, 원격 제어 및 셋탑 박스 조합, 제스처를 캡처하도록 구성된 이미지 캡처 장치 및 게임 콘솔 등과 같이 복수의 상이한 장치를 나타낼 수도 있다.
컴퓨팅 장치(102)는 운영 체제(112)를 포함하는 것으로 도시되어 있다. 운영 체제(112)는 컴퓨팅 장치(102)의 하부 기능을 컴퓨팅 장치(102) 상에서 실행가능한 하나 이상의 애플리케이션(114)으로 추상화하도록 구성된다. 예를 들어, 운영 체제(112)는 프로세싱, 메모리, 네트워크, 및/또는 디스플레이(116)를 추상화할 수 있으며, 애플리케이션이 이 하부 기능이 어떻게 구현되는지 알 필요없이 애플리케이션이 기록될 수 있도록 컴퓨팅 장치(102)의 기능을 추상화할 수 있다. 애플리케이션은, 예컨대, 데이터를 운영 체제(112)에 제공하여 렌더링되게 할 수 있고 이 렌더링이 어떻게 수행될지를 이해할 필요없이 디스플레이 장치(116)에 의해 디스플레이되게 할 수 있다. 운영 체제(112)는 또한 컴퓨팅 장치(102)의 사용자에 의해 탐색가능한 사용자 인터페이스 및 파일 시스템을 관리하는 것과 같이 다양한 다른 기능을 나타낼 수 있다.
이 예에서의 애플리케이션(114)은 스케줄러 모듈(118) 및 위치 결정 모듈(120)을 포함하는 것으로 도시된다. 이들 모듈은 애플리케이션(114)의 부분으로서 도시되었지만, 이들 모듈에 의해 표현되는 기능은 독립형 애플리케이션, 서드 파티 플러그인, 운영 체제(112)의 부분, 도 11에 도시된 웹 플랫폼의 부분 등과 같이 다양한 다른 방법으로 구현될 수 있음은 명백하다.
스케줄러 모듈(118)은 사용자에게 이벤트의 스케줄을 유지하는 기능을 나타낸다. 예컨대, 사용자는 미팅 주최자 역할을 할 수 있으며, 따라서 주제(예컨대, 이벤트의 명칭), 위치, 시작 시간, 종료 시간, 리마인더, 상대적인 중요도(예컨대, 높거나 또는 낮은 중요도) 등과 같은 스케줄링된 이벤트에 속하는 기준을 기술하는 이벤트를 생성할 수 있고, 다른 참석자들을 초대할 수 있다. 다른 예에서, 사용자는 유사한 정보를 포함할 수 있는 다른 미팅 주최자로부터의 초대를 수락할 수 있다. 이벤트가 어떻게 발생되는지에 관계없이, 스케줄러 모듈(118)은 스케줄을 관리하는데 있어 사용자를 돕도록 이벤트를 유지할 수 있다.
사용자의 스케줄 관리와 관련된 하나의 기법은 리마인더를 포함한다. 종래의 리마인더는 이벤트가 스케줄링되어 발생하기 소정 시간 전에 출력된다. 이 시간은 통상적으로 이벤트의 주최자에 의해 설정되며 그 이벤트에 참가하도록 초대된 사용자에 의해 수동으로 변경가능하다. 따라서 이들 종래의 기법들은 정적이고 유연성이 없다.
그러나, 도시된 예에서 스케줄러 모듈(118)은 리마인더(122)가 출력될 때를 표시하는데 사용되는 시간 양을 동적으로 결정하는 기능을 포함할 수 있다. 이 결정은 다양한 요인들에 기초할 수 있다. 예컨대, 스케줄러 모듈(118)은 위치 결정 모듈(120)을 이용하여 컴퓨팅 장치(102)의 현재 위치를 결정할 수 있다. 이것은, 예컨대, 컴퓨팅 장치(102)의 지리적 위치를 결정하는 위치 결정 센서(124)(예컨대, GPS 센서, 셀룰러 삼각측량 등)를 통해, 다양한 방법으로 수행될 수 있다. 다른 예에서, 컴퓨팅 장치(102)의 지리적 위치는 도 2와 관련하여 자세히 기술되는 바와 같이 네트워크(104)를 통해 액세스 가능한 하나 이상의 웹 서비스와의 통신을 통해 수행될 수 있다.
그 후, 스케줄러 모듈(118)은 이 위치를 스케줄링된 이벤트와 연관된 지리적 위치와 비교하여 현재의 위치와 이벤트의 위치 사이의 적절한 이동 시간을 결정할 수 있다. 이 시간은 그 후 리마인더(122)를 출력할 때를 계산하는데 사용될 수 있다.
도시된 예에서는, 리마인더(122)가 사용자 인터페이스의 시작 화면에서 타일들 위에 중첩되는 것으로 출력되지만, 다른 예들에서는 디스플레이 장치(116)에 의해 보여진 제각기의 타일 내에 포함되는 것이 고려될 수도 있다. 리마인더(122)는 스케줄링된 이벤트의 주제, 위치, 스케줄링된 이벤트가 발생할 때까지의 시간, 및 이벤트의 지리적 위치까지의 거리 및 이동 시간을 나타낸다. 따라서, 이 예에서 이동 시간(예컨대, 20분)은, 적어도 부분적으로 스케줄링된 이벤트 전에 리마인더의 출력을 위해 설정되어야 하는 시간 양(이 예에서는 30분)에 도착하도록, 사전 정의된 버퍼 시간(예컨대, 10분으로 이는 사용자 선호사항에 따라 설정될 수 있다)과 함께 사용된다. 따라서, 리마인더(122)가 출력되는 시점이 동적으로 결정될 수 있다. 적어도 이동 시간에 기초한 시점의 결정을 설명하였지만, 이 결정은 사용자가 이벤트에 접근하는 방법(예컨대, 직접 또는 원격으로), 이벤트에 물리적으로 참석하는데 이용되는 이동 모드, 이벤트 이전에 발생하도록 스케줄링되는 이벤트의 위치, 이벤트가 발생하는 위치의 변경, 이벤트로의 이동 시간에 영향을 줄 것 같은 지연요소들(예컨대, 공사, 사고) 등과 같이 다양한 다른 요인에 기초할 수 있으며, 이들에 대한 설명은 대해서는 아래 도면과 관련하여 찾아볼 수 있을 것이다.
도 2는 도 1의 스케줄러 모듈(118)을 포함하는 다이어그램을 보여주는 구현예의 시스템(200)을 도시한 것이다. 스케줄러 모듈(118)은 전술한 바와 같이 운영 체제(112)에 의해 추상화된 컴퓨팅 장치(102)의 기능을 이용하는 운영 체제(112)와 함께 도시되어 있다.
스케줄러 모듈(118)은 도 1의 리마인더(122)를 렌더링하는 것과 같이, 컴퓨팅 장치(102)의 디스플레이 장치(116) 상에 렌더링하기 위한 사용자 인터페이스를 생성하는 기능을 나타내는 UI 표현 층(202)을 포함하는 것으로 도시되어 있다. 스케줄러 모듈(118)은 또한 미팅 요청, 리마인더 출력 등을 통신하고 관리하는 것과 같이, 메시지 및 통지를 포함하는 기능을 나타내는 메시징/통지 층(204)을 포함하는 것으로 도시되어 있다.
프로세스 엔진(206)은 사용자의 스케줄을 관리하는 기능을 나타낸다. 이것은 캘린더에의 포함, 충돌의 해결, 사용자 선호사항의 관리, 이벤트 관련 데이터의 유지 및 리마인더 출력 시기의 결정을 위한 스케줄링된 이벤트의 생성을 포함한다.
스케줄러 모듈(118)은 또한 API 어댑터(208) 및 서비스 어댑터(210)를 포함하는 것으로 도시된다. API 어댑터(208)는 API와 상호작용하여, 캘린더 및/또는 이벤트의 위치와 같이 스케줄링된 이벤트와 관련된 데이터를 획득하도록 구성된다. 컴퓨팅 장치(102)의 센서를 이용하여 현재의 지리적 위치를 결정하는 것과 같은 다양한 다른 예들이 또한 고려된다.
서비스 어댑터(210)는 도 1의 네트워크(104)를 통해 액세스가능한 웹 서비스와 같이 하나 이상의 서비스(212)에 대한 액세스를 지원하도록 구성된다. 리마인더가 출력되는 시간을 동적으로 생성하는데 사용될 수 있는 데이터를 찾아내기 위해 다양한 서비스가 액세스될 수 있다. 그러한 서비스의 예로는 맵 서비스(214) 및 교통 서비스(216)를 들 수 있다. 맵 서비스(214)는 컴퓨팅 장치(102)의 지리적 위치 및/또는 스케줄링된 이벤트가 발생하는 물리적 위치의 지리 좌표(geo-coordinate)와 같은 다양한 데이터를 획득하는데 이용될 수 있다. 맵 서비스(214)는 또한 위치들 사이의 적절한 이동 시간, 방향, 위치를 보여주는 맵 등을 계산하는데 사용될 수 있으며, 따라서 스케줄러 모듈(118)의 기능을 지원할 수 있다.
교통 서비스(216)는 시간 양을 계산하는 것에 기초하여 이용될 수 있는 다양한 데이터를 획득하는데 사용될 수 있다. 예를 들어, 교통 서비스(216)는 위치들 사이의 이동 시간에 영향을 미칠 수 있는 사고, 공사 및 기상에 대한 데이터를 제공할 수 있다. 도 1의 리마인더(122)의 출력을 스케줄링하는데 사용되는 시간의 계산에 영향을 미칠 수 있는 데이터를 제공하기 위해 다양한 다른 서비스들(212)이 액세스될 수 있다. 리마인더를 출력하는 시점을 결정하는 스케줄러 모듈(118)의 동작의 일례는 다음 도면과 관련하여 찾아볼 수 있을 것이다.
도 3은 리마인더를 출력하는 시점 결정의 일례를 도시한 순서도(300)이다. 순서도(300)는 사용자(302), 스케줄러 모듈(118), 사용자 선호사항 저장부(304), 캘린더(306), 및 맵 서비스(214)의 표시를 포함한다.
이 예에서, 사용자(302)는 먼저 사용자 선호사항 저장부(304) 내에 사용자 선호사항(308)을 설정한다. 이동 시간과 함께 사용되는 디폴트 버퍼 시간, 버퍼로서 다른 액세스 기법에 사용되는 사전 정의된 시간 양(예컨대, 원격 방식 대 직접 방식), 사용자의 디폴트 지리적 위치(예컨대, 가정, 사무실), 이동 모드(예컨대, 차량, 도보, 비행) 등과 같이 다양한 사용자 선호사항이 설정될 수 있다. 그 후 스케줄러 모듈(118)은 사용자 선호사항 저장부(304)로부터 예컨대 사용자 선호사항(312)으로서 리턴된 것으로 도시된 특정 사용자에 대한 이들 사용자 선호사항(310)을 판독할 수 있다.
스케줄러 모듈(118)은 저장된 캘린더(306)와 상호작용하여 약속을 잡는데(314), 이것은 약속(316)을 기술하는 데이터를 리턴하는 것으로 도시되어 있다. 약속(316)은 스케줄링된 이벤트의 일례이며 따라서 리턴되는 데이터는 약속(316)의 주제, 날짜, 시간 또는 위치를 기술할 수 있다. 그 후 스케줄러 모듈(118)은 그 약속으로부터의 위치를 맵 서비스에게 제공하여 약속에 대한 이동 시간 및 방향(318)을 얻도록 서비스를 맵핑시킬 수 있다. 맵 서비스(214)는 도 1의 컴퓨팅 장치(102)(및 그 결과로서의 사용자(302))의 적절한 현재의 위치와 약속과 연관된 위치 사이의 이동 시간을 계산하기 위해 그 약속으로부터 공통 명칭, 어드레드 등을 분석할 수 있다. 사용자 맵 서비스(214)는 위치들 사이의 방향을 계산할 수 있고 이동 시간 및 방향(320)을 다시 스케줄러 모듈(118)로 리턴할 수 있다. 따라서, 이 예에서는 스케줄러 모듈(118)이 계산을 수행하는 맵 서비스(214)와의 통신을 통해 이동 시간을 결정할 수 있으며, 물론 다른 예들이 고려될 수도 있다.
그 후, 스케줄러 모듈(118)은 이동 시간 및 방향(320)을 이용하여 리마인더(322, 324)를 생성하고 출력하는 시점을 결정할 수 있는데, 그 일례가 도 1에서는 리마인더(122)로서 보여진다. 이런 방식으로, 리마인더는, 이벤트에 대한 사용자의 액세스 모드(예컨대, 원격 액세스와 반대로 직접) 및 직접 액세스를 위한 이벤트와 연관된 위치에 대한 지리적 관계를 고려하여 동적으로 생성될 수 있다.
리마인더는 또한 리마인더를 출력하는 시점을 결정하는데 사용되는 요인들을 변경하는 것에 기초하여 재계산될 수 있다(326). 예컨대 이벤트의 위치는 변경될 수 있고, 따라서 스케줄러 모듈(118)은 맵 서비스(214)로부터 새로운 이동 시간 및 방향(328)을 얻을 수 있다. 그 다음에 맵 서비스(214)는 사용자(302)에게 출력하기 위한 다른 리마인더(332)를 생성하기 위해 스케줄러 모듈(118)에 의해 사용되는 새로운 위치에 대해 계산된 이동 시간 및 방향(330)을 리턴할 수 있다. 후속 리마인더를 위해 사전 정의된 시간 간격으로 수행되는 사용자(302)의 지리적 위치의 변경(예컨대, 사용자가 약속의 위치에 보다 가까이로 이동할 때) 등과 같이 다양한 다른 요인들이 사용될 수 있다. 이 예에서 스케줄러 모듈(118)에 의한 이동 시간의 결정을 설명하였지만, 리마인더를 출력하는 시점을 결정하는 다양한 다른 요인들이 스케줄러 모듈(118)에 의해 이용될 수 있는데, 그 일례는 다음 도면과 관련하여 찾아볼 수 있다.
도 4는 스케줄링된 이벤트에 액세스하는 상이한 사용자들에게 상이한 리마인더를 출력하는데 사용되는 워크플로(400)의 예를 도시한 것이다. 이 예에서, 미팅 스케줄러(404)에 의해 새로운 미팅 요청(402)이 발생된다. 이 미팅 요청은 10분의 리마인더 시간(406)을 갖도록 미팅 스케줄러(404)에 의해 설정되며, 다른 참석자들에게 보내진다. 다른 미팅 참석자의 예는 본인이 직접 참석하는 미팅 참석자(408) 및 전화를 하거나, 온라인 미팅 애플리케이션을 통해 웹사이트에 로그인하거나, 화상 회의를 하거나 함으로써 원격으로 이벤트에 액세스하는 참석자(410)로서 도시되어 있다.
직접 참석할 예정인 미팅 참석자(408)를 위해, 스케줄러 모듈은 이전 미팅의 위치와 새로운 미팅 요청(402)의 위치 사이의 이동 시간을 결정하여 리마인더 시간(412), 예컨대, 리마인더를 출력할 시점을 계산한다. 다른 예에서, 이것은 가정이나 사무실 등과 같은 디폴트 위치에 기초하여 결정될 수 있다.
원격으로 이벤트에 액세스하는 미팅 참석자(410)의 경우, 사용자 선호사항(414)에 기초하여 리마인더 시간이 결정된다. 예를 들어, 미팅 참석자(410)는 원격 회의를 수행하기 위해 전화할 계획을 세우고, 따라서 미팅 준비를 위해 참석자가 선호하는 버퍼 시간을 지정할 수 있다. 버퍼 시간은 도 3과 관련하여 전술한 바와 같이 사용자 선호사항의 일부로서 저장될 수 있다. 다양한 버퍼 시간이, 예컨대, 흐름도와 관련하여 보다 상세히 설명되는 수송 모드(예컨대, 도 5에 도시된 바와 같이 전동식, 비전동식 등), 액세스 타입(예컨대, 전화, 로그인, 물리적 참석) 등에 기초하여 사용자 선호의 일환으로 지정될 수 있다.
그 다음에 제1 리마인더(416)가 미팅 스케줄러(404), 미팅에 물리적으로 참석할 미팅 참석자(408), 및 미팅에 원격으로 참석하는 미팅 참석자(410)에 대해 출력될 수 있다. 미팅 스케줄러(404)의 경우, 제1 리마인더(416)는 지정된 대로 미팅(418) 10분 전에 출력된다.
직접 참석하는 미팅 참석자(408)의 경우, 이 예에서는 도중에 사고가 검출되며, 그래서 리마인더 시간이 그 지연을 고려하여 리셋된다(420). 예컨대, 스케줄러 모듈(118)은 전술한 바와 같이 교통 서비스(216)와 통신할 수 있고, 서비스에 의해 나타내어진 지연에 기초하여 리마인더 시간을 조정할 수 있다. 그 후, 리셋된 리마인더 시간에, 예컨대 미팅 참석자(408)에게 미팅의 위치로 이동하기 위한 추가 시간을 제공하는 것보다 일찍, 리마인더가 출력된다(422). 따라서, 이 시간 동안 이벤트에 물리적으로 참석할 수 있는 사용자의 능력에 영향을 줄 수 있는 상황의 변경을 동적으로 처리할 수 있다.
미팅에 원격으로 액세스하는 미팅 참석자(410)의 경우, 예컨대, 미팅에 전화하기 전에 사용자가 준비할 수 있게 하는 3분과 같이 사용자 선호사항(424)에 의해 표시된 시간에 제1 리마인더(416)가 출력된다. 이런 방법으로, 참석자가 미팅에 액세스하는 방법을 고려하여 참석자 각각에 대해 제1 리마인더(416)가 상이한 시점에 출력될 수 있다. 리마인더를 출력할 때를 계산하는데 사용될 수 있는 요인들에 대해 다양한 다른 예들이 또한 고려될 수 있는데, 그 예들은 다음 도면과 관련하여 찾아볼 수 있다.
도 5는 사용자가 스케줄링된 이벤트에 액세스하는 방법을 처리하기 위해 스케줄러 모듈을 이용하도록 구성되는 시스템(500)을 도시한 것이다. 전술한 바와 같이, 사용자는 도시된 바와 같이 모바일 폰(504)으로 원격으로 또는 직접 참석하는 것과 같이 다양한 방법으로 스케줄링된 이벤트(502)에 액세스할 수 있다. 따라서, 스케줄러 모듈(118)은 이들 상이한 유형의 액세스를 고려할 수 있다.
또한, 스케줄러 모듈(118)은 사용자를 이벤트(502)의 지리적 위치로 데려가는데 이용될 수 있는 이동 모드를 고려할 수 있다. 예를 들어, 이동 모드는 비전동식 이동 모드(예컨대, 걷기, 자전거 타기)와 전동식 이동 모드 사이를 구별할 수 있다. 사용자가 어느 모드를 이용하고자 하는지에 대한 결정은 거리 및 이 거리를 커버하는 다른 이동 모드의 이용가능성에 기초하거나, 애플리케이션 레벨뿐만 아니라 이벤트 레벨 등에서의 환경설정과 연관되거나 할 수 있다.
예를 들어, 사용자는 이벤트(502)의 위치에 걸어가기(508)에 적합한 거리(506)에 위치해 있을 수 있고 따라서 스케줄러 모듈(118)에 의해 계산된 시간 양은 이것을 고려할 것이다. 다른 예에서, 사용자는 전동식 이동(512)(예컨대, 승용차, 버스, 철도, 대중 교통)을 나타내는 거리(510)에 위치해 있을 수 있고, 따라서 이것을 계산의 일환으로 사용한다. 예를 들어, 스케줄러 모듈(118)은 대중 교통 데이터를 포함하는 서비스에 액세스하여 대중 교통을 이용하여 이동 시간을 결정할 수 있다. 다른 예에서, 항공 이동(516)을 나타내는 거리(514)와 같이 전동식 이동 모드들 간의 차이가 이용될 수 있다.
또한, 다양한 이동 모드를 고려하여 사용자 선호사항이 정의될 수 있다. 예를 들어, 비행기에 탑승하기에 충분한 시간을 제공하는 것과 같이, 상이한 이동 모드에 대해 상이한 버퍼 시간이 설정될 수 있다. 또한, 임계 거리 또는 이동 시간 양을 초과할 경우 이동 시간의 계산을 회피하거나(예컨대, 이동 시간을 포함하지 않고 디폴트 시간 양을 사용하는 것) 리마인더의 출력을 회피하거나 하는데 사용될 수 있는 임계치를 이용하도록 사용자 선호사항이 정의될 수 있다. 이런 방법으로, 사용자는, 예컨대, 바람직하지 않은 리마인더로 인한 혼란 및 방해를 줄이기 위해, 리마인더가 언제 어떻게 출력되는지를 관리할 수 있다.
도 6은 이벤트를 스케줄하는데 이용가능한 사용자 인터페이스(600)의 일례를 도시한 것이다. 이 예에서, 사용자 인터페이스(600)는 주최자가 캘린더에 포함시키기 위한 이벤트를 스케줄할 수 있도록 새로운 약속 기능을 출력하는 것으로 도시되어 있다. 이 예에서, 사용자는 새로운 약속과 상호작용하여 스케줄링된 이벤트에 대한 위치를 지정하는데, 이는 본 예에서 "My office"의 디폴트 위치를 포함하는 것으로 도시되어 있다. 데이터를 식별하는 지리적 위치(예컨대, 지리 좌표)는 그 위치로의 이동 시간을 결정하기에 적합한 위치와 연관될 수 있다. 스케줄러 모듈(118) 및/또는 서비스(예컨대, 맵 서비스)의 일부로서 특정 지리적 좌표에 대한 일반 명칭(예컨대, 레드몬드 캠퍼스, 스투지오 B)을 분석하기 위한 기능을 포함하는 것과 같이 다른 예들이 또한 고려될 수 있다.
도 7은 도 6의 이벤트에 대한 리마인더의 일환으로서 이동 시간을 이용할지를 스케줄링하는데 이용가능한 사용자 인터페이스의 일례를 도시한 것이다. 이 예는 도 6의 사용자 인터페이스(600)로부터 계속된다. 그러나, 이 예에서, 새로운 약속이 주최자에게 이벤트에 대한 리마인더를 출력하는데 사용되는 시간을 특정하기 위한 기능을 제공하는 것으로 도시되어 있다. 이 예에서, 사용자에게는 시간 양(예컨대, "15 mins, time only")을 선택하거나 또는 시간 양 및 이동 시간의 세트(예컨대, "15 mins, time and travel)를 선택하는 옵션이 주어진다. 따라서, 이 예에서의 옵션들은 사용자가 버퍼 시간을 지정하고 또한 이동 시간을 이용할 수 있게 한다. 다양한 다른 예들(예컨대, 이동 시간을 고려할지의 여부를 나타내는 체크 박스의 사용)이 또한 고려될 수 있는데, 이들에 대한 논의는 다음의 절차와 관련하여 찾아볼 수 있다.
예시적인 절차
다음의 논의는 전술한 시스템 및 장치를 이용하여 구현될 수 있는 리마인더 기법들을 설명한다. 절차들 각각의 특징은 하드웨어, 펌웨어, 또는 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 이들 절차는, 하나 이상의 장치에 의해 수행되는 동작을 특정하는 일련의 블록으로 도시되어 있는데, 제각기의 블록에 의해 동작들을 수행하는데 있어서 도시된 순서로 제한될 필요는 없다. 이하의 논의에서는 도 1 내지 7을 참조할 것이다.
도 8은 리마인더를 출력하는 시점이 사용자 액세스에 기초하여 결정되는 예시적인 구현예에서의 절차(800)를 도시한 것이다. 사용자가 스케줄링된 이벤트에 액세스하는데 필요할 것 같은 시간 양이 컴퓨팅 장치에 의해 결정된다(블록 802). 스케줄러 모듈(118)은, 예컨대, 사용자가 스케줄링된 이벤트에 어떻게(예컨대, 네트워크를 통해 원격으로 또는 물리적으로 직접) 액세스하도록 특정되는지를 결정할 수 있다. 또한, 전동식 또는 비전동식과 같은 이동 모드에 기초하여 그리고 전동식 액세스와 연관된 추가 이동 모드에 기초하여 결정이 이루어질 수 있다. 또한, 이 결정은 (예컨대, GPS 또는 기타 위치 결정 기능을 이용하는)컴퓨팅 장치(102) 자체에 의해, 서비스와의 통신 등을 통해 수행될 수 있다.
또한, 컴퓨팅 장치(102)의 적절한 지리적 위치의 결정은 다양한 방법으로 수행될 수 있다. 이것은 컴퓨팅 장치(102)의 센서를 사용하여 또는 전술한 바와 같이 서비스와의 통신을 통해 수행될 수 있다. 또한, 이 결정은 해당 이벤트 이전에 스케줄링되는 다른 이벤트의 지리적 위치와 같은 다른 스케줄링된 이벤트의 "정보(knowledge)"에 기초할 수 있다.
스케줄링된 이벤트 이전의 컴퓨팅 장치에 의해 리마인더를 출력하는 시점은 사용자가 스케줄링된 이벤트에 액세스하는데 필요한 상기 결정된 시간 양에 적어도 부분적으로 기초하여 계산된다(블록 804). 예를 들어, 이 시점은 이벤트의 시작 시간, 상기 결정된 이동 시간, 사용자 선호사항을 이용하여 사용자에 의해 또는 컴퓨팅 장치(102)에 의해 자동으로 설정된 버퍼 시간에 기초하여 계산될 수 있다. 이런 방식으로, 스케줄러 모듈(118)은 리마인더를 언제 출력할지를 결정할 수 있다.
그 다음에, 계산된 시점에 리마인더가 출력된다(블록 806). 이것은 사용자 인터페이스 내의 디스플레이, 햅틱 응답, 오디오 출력 등을 포함할 수 있다. 이런 방법으로, 사용자가 이벤트에 어떻게 액세스하는지에 기초하여 리마인더가 동적으로 계산될 수 있다.
도 9는 리마인더를 디스플레이할 시점이 지리적 위치로의 이동 시간에 적어도 부분적으로 기초하여 결정되는 구현예의 절차(900)를 도시한 것이다. 리마인더와 연관된 목적지의 지리적 위치로 물리적으로 이동하는데 걸리는 적절한 이동 시간에 적어도 부분적으로 기초하여 컴퓨팅 장치에 의해 리마인더를 디스플레이하는 시점이 결정된다(블록 902). 적절한 이동 시간은 이동 거리 및 이동 모드, 직면할 수 있는 지연들(예컨대, 공사, 교통, 기상) 등과 같은 다양한 요인들에 기초하여 계산될 수 있다. 앞에서와 같이, 이것은 컴퓨팅 장치에 의해 계산될 수도 있고, 하나 이상의 웹 서비스를 이용하거나 할 수도 있다. 그 다음에, 컴퓨팅 장치에 의해 결정된 시점에 리마인더가 출력된다(블록 904). 앞에서와 같이, 다양한 출력 기법을 이용하여 출력이 이루어질 수 있다.
도 10은 스케줄링된 이벤트로의 이동에 사용될 시간 양이 사용자의 캘린더 상에 이용가능하지 않음으로 표시되는 구현예의 절차를 도시한 것이다. 사용자가 스케줄링된 이벤트와 연관된 지리적 위치로 이동하는데 걸리는 적절한 이동 시간에 대한 결정이 이루어진다(블록 1002). 적어도 결정된 적절한 이동 시간은 대응하는 시간 양이 스케줄링된 이벤트 전에 사용자의 스케줄을 이용하여 다른 이벤트를 스케줄링하는데 이용가능하지 않음을 나타내는데 이용된다(블록 1004).
이 결정은 리마인더와 관련하여 앞에서 설명한 바와 같이 수행될 수 있다. 또한, 이 결정은 리마인더에 사용되는 것 및 그 시간 양이 사용자의 스케줄에 이용가능하지 않음을 나타내는 것과 같이 두 가지 목적을 위해 리마인더를 이용할 수 있다. 이것은 대응하는 기간이 "차단됨(blocked out)"을 나타내는 것 또는 미팅 요청의 수신에 응답하여 잠재적으로 충돌하는 것으로 표시된다거나 하는 것과 같이 다양한 방식으로 수행될 수 있다. 사용자가 예컨대 사무실과 같은 디폴트 위치로 이동할 수 있도록 유사한 결정을 이용하여 스케줄링된 이벤트 후의 시간 양을 차단하는 것과 같이, 다양한 다른 예들이 또한 고려된다.
예시적인 시스템 및 장치
도 11은 본 명세서에 기술된 다양한 기법을 구현할 수 있는 하나 이상의 컴퓨팅 시스템 및/또는 장치를 나타내는 예시적인 컴퓨팅 장치(1102)를 포함하는 예시적인 시스템을 전반적으로 참조부호 1100을 사용하여 도시하고 있다. 컴퓨팅 장치(1102)는, 예를 들어, 서비스 제공자의 서버, 클라이언트와 연관된 장치(예컨대, 클라이언트 장치), 온-칩 시스템 및/또는 기타 적절한 컴퓨팅 장치나 컴퓨팅 시스템일 수 있다.
전술한 예시적인 컴퓨팅 장치(1102)는 프로세싱 시스템(1104), 하나 이상의 컴퓨터 판독가능 매체(1106), 서로 통신가능하게 연결된 하나 이상의 I/O 인터페이스(1108)를 포함한다. 도시되지는 않았지만, 컴퓨팅 장치(1102)는 시스템 버스 또는 다양한 컴포넌트에 서로 연결되는 기타 데이터 및 명령어 전달 시스템을 더 포함할 수 있다. 시스템 버스는 메모리 버스나 메모리 제어기, 주변형 버스, USB(universal serial bus) 및/또는 다양한 버스 아키텍쳐 중 임의의 것을 이용하는 로컬 버스나 프로세서와 같이 다양한 버스 구조 중 임의의 하나 또는 이들의 조합을 포함할 수 있다. 컨트롤 및 데이터 라인과 같은 다른 다양한 예들도 고려될 수 있다.
프로세싱 시스템(1104)은 하드웨어를 이용하여 하나 이상의 동작을 수행하는 기능을 나타낸다. 따라서, 프로세싱 시스템(1104)은 프로세서, 기능 블럭 등으로서 구성될 수 있는 하드웨어 구성요소(1110)를 포함하는 것으로 도시되어 있다. 이는 ASIC(application specific integrated circuit)이나 하나 이상의 반도체를 사용하여 형성된 기타 로직 장치와 같은 하드웨어로 구현될 수 있다. 하드웨어 구성요소(1110)는 자신을 형성하는 재료나 자신이 이용하는 처리 메커니즘에 의해 제한되지 않는다. 예로서, 프로세서는 반도체(들) 및/또는 트랜지스터로 이루어질 수 있다 (예컨대, 전자 집적 회로 (IC)). 그런 경우, 프로세서-실행가능 명령어는 전자적으로 실행가능한 명령어일 수 있다.
컴퓨터 판독가능 저장 매체(1106)는 메모리/저장부(1112)를 포함하는 것으로 도시되어 있다. 메모리/저장부(1112)는 하나 이상의 컴퓨터 판독가능 매체와 관련된 메모리/저장부 성능을 나타낸다. 메모리/저장부 컴포넌트(1112)는 (RAM과 같은) 휘발성 매체 및/또는 (ROM, 플래시 메모리, 광학 디스크, 자기 디스크 등과 같은) 비휘발성 매체를 포함할 수 있다. 메모리/저장부 컴포넌트(1112)는 고정식 매체(예컨대, RAM, ROM, 고정식 하드 드라이브 등) 뿐 아니라 착탈가능형 매체(이를테면, 플래시 메모리, 착탈가능형 하드 드라이브, 광학 디스크 등)도 포함할 수 있다. 컴퓨터 판독가능 매체(1106)는 후속하여 설명할 다양한 방식으로 구성될 수 있다.
입/출력 인터페이스(1108)는 사용자로 하여금 컴퓨팅 장치(1102)에 명령어와 정보를 입력하도록 하고, 사용자 및/또는 다양한 입/출력 장치를 사용하는 다른 컴포넌트나 장치에 정보가 제공되도록 하는 기능을 나타낸다. 입력 장치의 예로는 키보드, 커서 제어 장치(예컨대, 마우스), 마이크로폰, 스캐너, 터치 기능(예를 들어, 물리적 터치를 감지하도록 구성된 용량성 또는 다른 센서), (이를테면 터치가 아닌 제스쳐와 같은 움직임을 인식하기 위한 적외선 주파수와 같은 가시 또는 비가시 파장을 채용하는) 카메라 등이 있다. 출력 장치의 예로는 (모니터나 프로젝터와 같은) 디스플레이 장치, 스피커, 프린터, 네트워크 카드, 촉각-반응(tactile-response) 장치 등이 있다. 따라서, 컴퓨팅 장치(1102)는 이하에서 논의될 다양한 방식으로 구성되어 사용자 상호작용을 지원할 수 있다.
본 명세서에는 소프트웨어, 하드웨어 구성요소, 프로그램 모듈의 일반적인 맥락에서 다양한 기법들이 기술된다. 일반적으로 그러한 모듈은 루틴, 프로그램, 객체, 구성요소, 컴포넌트, 데이터 구조 등 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 것을 포함한다. 본 명세서에서 사용된 "모듈", "기능", "컴포넌트"라는 용어는 일반적으로 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합을 나타낸다. 본 명세서에 기술된 기법들의 특징은 플랫폼 독립형인데, 이는 다양한 프로세서를 구비하는 다양한 상용화된 컴퓨팅 플랫폼 상에서 구현될 수 있음을 의미한다.
전술한 모듈과 기법의 구현은 컴퓨터 판독가능 매체의 형태를 통해 저장되거나 전송될 수 있다. 컴퓨터 판독가능 매체는 컴퓨팅 장치(1102)에 의해 액세스 가능한 다양한 매체를 포함할 수 있다. 예를 들면, 컴퓨터 판독가능 매체는 "컴퓨터 판독가능 저장 매체"와 "컴퓨터 판독가능 신호 매체"를 포함할 수 있으며, 이에 제한되지는 않는다.
컴퓨터 판독가능 저장 매체는 신호 전송, 반송파, 신호 자체와는 달리 정보를 영구적 및/또는 비일시적으로 저장하는 매체 및/또는 장치를 가리킨다. 따라서, 컴퓨터 판독가능 저장 매체는 비-신호 전달 매체를 나타낸다. 컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 로직 구성요소/회로, 또는 기타 데이터와 같은 정보 저장에 적합한 방법이나 기법에서 구현되는 휘발성 및 비휘발성, 착탈가능형 및 비착탈가능형 매체 및/또는 저장 장치를 포함한다. 컴퓨터 판독가능 저장 매체의 예로는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기법, CD-ROM, DVD 또는 기타 광학 저장부, 하드 디스크, 자기 카세트, 자기 테이프, 자기 디스크 저장부 또는 기타 자기 저장 장치, 또는 기타 저장 장치, 유형 매체, 또는 원하는 정보를 저장하는 데 적합하고 컴퓨터에 의해 액세스될 수 있는 제조품(article of manufacture)이 있으나, 여기에 제한되지는 않는다.
컴퓨터 판독가능 신호 매체는 예컨대 네트워크를 통해 컴퓨팅 장치(1102)의 하드웨어로 명령어를 전송하도록 구성된 신호 전달 매체를 일컫는다. 신호 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호 내의 데이터, 데이터 신호, 기타 전송 메커니즘을 채용할 수 있다. 신호 매체는 임의의 정보 전달 매체도 포함할 수 있다. "변조된 데이터 신호"라는 용어는 신호 내의 정보를 인코딩하는 것과 같은 방식으로 신호의 하나 이상의 특성이 설정되거나 변경된 신호를 가리킨다. 예를 들어, 통신 매체는 유선 네트워크나 직접-유선 접속(direct-wired connection)과 같은 유선 매체, 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함할 수 있다.
전술한 바와 같이, 하드웨어 구성요소(1110)와 컴퓨터 판독가능 매체(1106)는 하나 이상의 명령어를 수행하는 것과 같이 본 명세서에 기술된 기법의 적어도 일부 특징을 구현하도록 일부 실시예에서 채택될 수 있는 하드웨어 형식으로 구현되는 모듈, 프로그램가능 장치 로직 및/또는 고정형 장치 로직을 나타낸다. 하드웨어는 직접 회로나 온-칩 시스템, ASIC, FPGA(field-programmable gate array), CPLD(complex programmable logic device), 기타 실리콘 내의 구현물, 기타 하드웨어의 컴포넌트를 포함한다. 이러한 맥락에서, 하드웨어는 명령어에 의해 정의된 프로그램 태스크를 수행하는 처리 장치 및/또는 하드웨어에 의해 구현되는 로직으로서 작동할 수 있으며, 예컨대, 전술한 컴퓨터 판독가능 저장 매체의 실행을 위한 명령어를 저장하는 데 사용되는 하드웨어로서 작동할 수도 있다.
전술한 내용의 조합을 이용하여 전술한 다양한 기법을 구현할 수 있다. 따라서, 소프트웨어, 하드웨어, 또는 실행가능한 모듈은 컴퓨터 판독가능 저장 매체의 소정 형식으로 및/또는 하나 이상의 하드웨어 구성요소(1110)에 의해 구현되는 하나 이상의 명령어 및/또는 로직으로서 구현될 수 있다. 컴퓨팅 장치(1102)는 소프트웨어 및/또는 하드웨어 모듈에 대응하는 특정 명령어 및/또는 기능을 구현하도록 구성될 수 있다. 따라서, 컴퓨팅 장치(1102)에 의해 소프트웨어로서 실행가능한 모듈의 구현은 적어도 부분적으로 하드웨어로, 예를 들어, 컴퓨터 판독가능 저장 매체 및/또는 프로세싱 시스템(1104)의 하드웨어 구성요소(1110)를 통해 달성될 수 있다. 명령어 및/또는 기능은 하나 이상의 제조품(예컨대, 하나 이상의 컴퓨팅 장치(1102) 및/또는 프로세싱 시스템(1104))에 의해 실행가능/작동가능하여, 본 명세서에 기술한 기법, 방법 및 실시예를 구현할 수 있다.
도 11에 더 도시되어 있듯이, 예시적인 시스템(1100)은 개인용 컴퓨터(PC), 텔레비전 장치 및/또는 이동 장치 상에서 애플리케이션이 실행될 때 끊김없는 사용자 경험을 위한 유비쿼터스 환경을 가능하게 한다. 애플리케이션을 이용하는 동안, 비디오 게임을 하는 동안, 비디오를 시청하는 동안 하나의 장치로부터 다른 장치로 옮겨갈 때 서비스와 애플리케이션은 공통된 사용자 경험을 위해 세 환경 모두에서 실질적으로 유사하게 실행된다.
예시적인 시스템(1100)에서, 복수 개의 장치가 중앙 컴퓨팅 장치를 통해 상호접속된다. 중앙 컴퓨팅 장치는 복수 개의 장치에 대해 같은 위치에 있거나 복수 개의 장치로부터 원격으로 위치할 수 있다. 일 실시예에서, 중앙 컴퓨팅 장치는 네트워크, 인터넷, 또는 기타 다른 통신 링크를 통해 복수 개의 장치에 접속되는 하나 이상의 서버 컴퓨터의 클라우드일 수 있다.
일 실시예에서, 이러한 상호접속 구조는 복수 개의 장치를 통해 기능들이 전달되도록 하여, 복수 개의 장치의 사용자에게 공통되고 끊김없는 경험을 제공할 수 있다. 예를 들어, 기능이 환경을 통해 분산될 수 있는데, 예컨대 스케줄러 모듈(118)이 웹 플랫폼의 일부로서 구현되거나, 컴퓨팅 장치(1102) 상에 로컬로 구현되거나 할 수 있다. 복수 개의 장치 각각은 서로 다른 물리적 요구조건과 성능을 가질 수 있고, 중앙 컴퓨팅 장치는 어떤 장치에 대해 맞춤화됨과 동시에 모든 장치들에 대해 공통인 장치에 대한 경험의 전달을 가능하게 하도록 플랫폼을 사용한다. 일 실시예에서, 타겟 장치의 클래스가 생성되고 경험들은 장치의 공통 클래스(generic class)에 대해 맞춤화된다. 장치의 클래스는 물리적 특징, 사용의 유형, 기타 장치의 공통 특성에 의해 정의될 수 있다.
다양한 구현예에서, 컴퓨팅 장치(1102)는 컴퓨터(1114), 모바일(1116), 텔레비전(1118) 용도와 같은 다양한 구성을 상정할 수 있다. 이들 구성 각각은 전반적으로 상이한 구성과 성능을 가질 수 있어서, 컴퓨팅 장치(1102)는 하나 이상의 상이한 장치 클래스에 따라 구성될 수 있다. 예를 들어, 컴퓨팅 장치(1102)는 개인용 컴퓨터, 데스크탑 컴퓨터, 멀티-스크린 컴퓨터, 랩탑 컴퓨터, 넷북 등을 포함하는 장치의 컴퓨터(1114) 클래스로서 구현될 수 있다.
컴퓨팅 장치(1102)는 휴대 전화, 휴대용 뮤직 플레이어, 휴대용 게임 장치, 태블릿 컴퓨터, 멀티-스크린 컴퓨터 등과 같은 모바일 장치를 포함하는 장치의 모바일(1116) 클래스로서 구현될 수도 있다. 컴퓨팅 장치(1102)는 통상의 시청 환경에서 일반적으로 대형 스크린에 접속되거나 대형 스크린을 구비하는 장치를 포함하는 장치의 텔레비전(1118) 클래스로서 구현될 수도 있다. 이들 장치는 텔레비전, 셋탑 박스, 게임 콘솔, 장치의 지리적 위치를 검출할 수 있는 장치 등을 포함한다.
본 명세서에 기술된 기법은 컴퓨팅 장치(1102)의 다양한 구성에 의해 지원되며, 본 명세서에 기술된 구체적인 예로 한정되지 않는다. 이 기능은 후술하는 플랫폼(1122)을 통한 클라우드(1120)에 걸친 분산형 시스템을 사용하여 전체적 또는 부분적으로 구현될 수 있다.
클라우드(1120)는 자원(1124)을 위한 플랫폼(1122)을 포함하거나 나타낼 수 있다. 플랫폼(1122)은 하드웨어(예컨대, 서버)의 기본 기능과 클라우드(1120)의 소프트웨어 자원을 추출한다. 자원(1124)은 컴퓨팅 장치(1102)로부터 떨어져 있는 서버 상에서 컴퓨터 처리가 수행되는 동안 이용될 수 있는 데이터 및/또는 애플리케이션을 포함할 수 있다. 자원(1124)은 셀룰러 또는 Wi-Fi 네트워크와 같은 가입자 네트워크를 통하거나 인터넷을 통해 제공되는 서비스들도 포함할 수 있다.
플랫폼(1122)은 자원과 기능을 추출하여 컴퓨팅 장치(1102)를 다른 컴퓨팅 장치와 접속할 수 있다. 플랫폼(1122)은 자원의 스케일링을 추출하여, 플랫폼(1122)을 통해 구현되는 자원(1124)에 대한 요구에 상응하는 스케일 레벨을 제공한다. 따라서, 상호접속된 장치의 실시예에서, 본 명세서에 기술된 기능의 구현은 시스템(1100) 전체에 분산될 수 있다. 예를 들어, 기능은 컴퓨팅 장치(1102) 상에서 부분적으로 구현될 수도 있고, 클라우드(1120)의 기능을 추출하는 플랫폼(1122)을 통해 구현될 수도 있다.
결론
본 명세서에서는 본 발명을 구조적 특징 및/또는 방법적 동작에 특유한 표현을 사용하여 기술하였지만, 후속하는 특허청구범위에 정의된 발명은 기술된 구체적인 특징이나 동작으로 한정되는 것은 아님을 이해해야 한다. 오히려, 개시된 구체적인 특징이나 동작은 청구항에 기재된 발명을 구현하기 위한 예시적인 형태로 기술된 것이다.

Claims (10)

  1. 사용자가 스케줄링된 이벤트에 액세스하는데 필요한 시간 양을 결정하는 단계(802)와,
    상기 사용자가 스케줄링된 이벤트에 액세스하는데 필요한 상기 결정된 시간 양에 적어도 부분적으로 기초하여 상기 스케줄링된 이벤트 전에 컴퓨팅 장치에 의해 리마인더(reminder)를 출력할 시점을 계산하는 단계(804)
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 시점은 상기 사용자가 상기 스케줄링된 이벤트에 어떻게 액세스하는지를 나타내는 표시에 기초하여 계산되는
    방법.
  3. 제2항에 있어서,
    상기 표시는 상기 사용자가 상기 스케줄링된 이벤트에 물리적으로 직접 액세스할지 또는 네트워크를 통해 원격으로 액세스할지를 특정하는
    방법.
  4. 제1항에 있어서,
    상기 시점은 상기 리마인더와 연관된 사용자의 적절한 지리적 위치(likely geographic location)와 목적지의 지리적 위치 사이의 이동 시간에 기초하는
    방법.
  5. 제4항에 있어서,
    상기 이동 시간은 상기 사용자에 의해 이용될 이동 모드에 적어도 부분적으로 기초하는
    방법.
  6. 제4항에 있어서,
    상기 적절한 지리적 위치는 네트워크를 통한 상기 컴퓨팅 장치와 서비스의 통신에 적어도 부분적으로 기초하여 결정되는
    방법.
  7. 제4항에 있어서,
    상기 적절한 지리적 위치는 상기 스케줄링된 이벤트 전에 발생하도록 스케줄링되는 다른 스케줄링된 이벤트의 지리적 위치에 적어도 부분적으로 기초하여 결정되는
    방법.
  8. 제4항에 있어서,
    상기 결정하는 단계 및 상기 계산하는 단계는 상기 리마인더의 시점을 업데이트하기 위해 상이한 시점에서 반복되는
    방법.
  9. 적어도 부분적으로 하드웨어로 구현되어 동작들을 수행하는 하나 이상의 모듈을 포함하는 시스템으로서,
    상기 동작들은
    리마인더와 연관되는 목적지의 지리적 위치로 물리적으로 이동하는데 걸리는 적절한 이동 시간에 적어도 부분적으로 기초하여 상기 리마인더를 디스플레이할 시점을 결정하는 동작(120)과,
    상기 결정된 시점에 상기 리마인더를 출력하는 동작(118)
    을 포함하는 시스템.
  10. 적어도 부분적으로 하드웨어로 구현되어 동작들을 수행하는 하나 이상의 모듈을 포함하는 장치(102)로서,
    상기 동작들은
    사용자가 스케줄링된 이벤트와 연관된 지리적 위치로 이동하는데 걸리는 적절한 이동 시간을 결정하는 동작과,
    적어도 상기 결정된 적절한 이동 시간을 이용하여 대응하는 시간 양이 상기 스케줄링된 이벤트 전에 상기 사용자의 스케줄에서 다른 이벤트를 스케줄링하는데 이용가능하지 않음(unavailable)을 표시하는 동작
    을 포함하는 장치.
KR1020147034287A 2012-06-08 2013-05-23 위치 인식 리마인더 기법 KR20150022809A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/492,079 2012-06-08
US13/492,079 US20130329527A1 (en) 2012-06-08 2012-06-08 Location aware reminders
PCT/US2013/042323 WO2013184363A2 (en) 2012-06-08 2013-05-23 Location aware reminders

Publications (1)

Publication Number Publication Date
KR20150022809A true KR20150022809A (ko) 2015-03-04

Family

ID=48579496

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147034287A KR20150022809A (ko) 2012-06-08 2013-05-23 위치 인식 리마인더 기법

Country Status (11)

Country Link
US (1) US20130329527A1 (ko)
EP (1) EP2859413A4 (ko)
JP (1) JP2015528933A (ko)
KR (1) KR20150022809A (ko)
CN (1) CN103514533A (ko)
AU (1) AU2013272092A1 (ko)
BR (1) BR112014030344A2 (ko)
CA (1) CA2875971A1 (ko)
MX (1) MX2014014970A (ko)
RU (1) RU2014149198A (ko)
WO (1) WO2013184363A2 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010701B2 (en) * 2012-04-30 2021-05-18 Salesforce.Com, Inc. System and method for managing sales meetings
US20150025790A1 (en) * 2013-07-17 2015-01-22 Vivint, Inc. Geo-location services
US9307033B1 (en) * 2013-08-20 2016-04-05 Google Inc. Scheduling alerts based on calendar and location
CN103856896B (zh) * 2014-03-24 2017-07-11 南京大学 一种Android手机上带有基于地图日程提醒功能的路径时长预测方法
US9659480B2 (en) * 2014-07-14 2017-05-23 Lenovo (Singapore) Pte. Ltd. Reminders based on virtual locations
US10034052B2 (en) 2014-07-28 2018-07-24 Eldon Technologies Apparatus, systems and methods for synchronizing calendar information with electronic program guide information
US10642843B2 (en) 2015-05-28 2020-05-05 Google Llc World knowledge triggers
US10650317B2 (en) * 2015-09-21 2020-05-12 Google Llc Detecting and correcting potential errors in user behavior
KR20170039471A (ko) * 2015-10-01 2017-04-11 엘지전자 주식회사 이동 단말기 및 그 제어방법
US20170316385A1 (en) * 2016-04-29 2017-11-02 Microsoft Technology Licensing, Llc Contextually-aware insights for calendar events
US11004041B2 (en) 2016-08-24 2021-05-11 Microsoft Technology Licensing, Llc Providing users with insights into their day
US10705891B2 (en) 2018-10-26 2020-07-07 International Business Machines Corporation Cognitive agent for persistent multi-platform reminder provision
US20220012659A1 (en) * 2018-11-01 2022-01-13 Cole Webber Method and system for organizing events
US20220187963A9 (en) * 2019-04-16 2022-06-16 Apple Inc. Reminders techniques on a user device
US11372696B2 (en) 2019-05-30 2022-06-28 Apple Inc. Siri reminders found in apps
US11379798B2 (en) * 2020-05-28 2022-07-05 Microsoft Technology Licensing, Llc Identification and surfacing of contextual data related to electronic calendar events

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139722B2 (en) * 2001-06-27 2006-11-21 Bellsouth Intellectual Property Corporation Location and time sensitive wireless calendaring
US20050243165A1 (en) * 2004-04-07 2005-11-03 Endler Sean C Methods and apparatuses for mapping locations
US20070250257A1 (en) * 2006-04-20 2007-10-25 Sbc Knowledge Ventures, L.P. Geopositional reminder updating
US8112100B2 (en) * 2006-05-12 2012-02-07 At&T Intellectual Property I, L.P. Location-based status checking
US7869941B2 (en) * 2006-12-29 2011-01-11 Aol Inc. Meeting notification and modification service
US20110137548A1 (en) * 2009-12-07 2011-06-09 Microsoft Corporation Multi-Modal Life Organizer
CN102123343A (zh) * 2010-01-08 2011-07-13 中国移动通信集团公司 一种日程提醒方法、装置和系统
US8504404B2 (en) * 2010-06-17 2013-08-06 Google Inc. Distance and location-aware scheduling assistance in a calendar system with notification of potential conflicts

Also Published As

Publication number Publication date
EP2859413A2 (en) 2015-04-15
WO2013184363A3 (en) 2014-08-28
BR112014030344A2 (pt) 2017-06-27
MX2014014970A (es) 2016-06-02
AU2013272092A1 (en) 2015-01-15
JP2015528933A (ja) 2015-10-01
US20130329527A1 (en) 2013-12-12
WO2013184363A2 (en) 2013-12-12
CA2875971A1 (en) 2013-12-12
EP2859413A4 (en) 2016-03-30
RU2014149198A (ru) 2016-06-27
CN103514533A (zh) 2014-01-15

Similar Documents

Publication Publication Date Title
KR20150022809A (ko) 위치 인식 리마인더 기법
US9854010B2 (en) Smart notifications using a calendar
US9743376B2 (en) Apparatuses, methods, and recording mediums for providing location sharing services
US9479576B2 (en) Image session ranking
US20140337751A1 (en) Automatic creation of calendar items
US20150142895A1 (en) Real Life Presence and Dynamic Meeting Scheduling
JP6832098B2 (ja) 装置、コンピュータプログラム及び方法
JP2017527933A (ja) フライト通知方法、フライト設定方法、装置、プログラムおよび記録媒体
US20150358414A1 (en) Inference Based Event Notifications
WO2019198057A2 (en) Device and method for crowd-sourcing movie screenings
US20210158304A1 (en) Enhanced views and notifications of location and calendar information
US10433105B2 (en) Geographically-driven group communications
KR20160138076A (ko) 크로스 클라이언트 그룹 가입 기법
CN110462660B (zh) 控制计算系统以生成用于日历共享的预先接受的缓存
KR20200060386A (ko) 대화형 스케줄링 어시스턴트 컴퓨팅 시스템에서의 자연어 처리 및 분석 기법
US10291745B2 (en) Cross-client integration of groups
US10554598B2 (en) Accessibility processing when making content available to others
US20130288701A1 (en) User interface, associated apparatus and methods
US20140344350A1 (en) Image Session Invitation and Management Techniques
US11068552B2 (en) Updating social media post based on subsequent related social media content
US20210117058A1 (en) Information processing method and terminal
JP7505902B2 (ja) イベントメッセージを管理するための方法、システム、および非一時的なコンピュータ読み取り可能な記録媒体
KR102676795B1 (ko) 프로그램, 표시 방법 및 정보처리 단말
KR20220148981A (ko) 대화형 컴퓨팅 시스템에서의 자연어 처리 및 분석 기법

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid