KR101871794B1 - 개인용 지오펜스 - Google Patents

개인용 지오펜스 Download PDF

Info

Publication number
KR101871794B1
KR101871794B1 KR1020167021591A KR20167021591A KR101871794B1 KR 101871794 B1 KR101871794 B1 KR 101871794B1 KR 1020167021591 A KR1020167021591 A KR 1020167021591A KR 20167021591 A KR20167021591 A KR 20167021591A KR 101871794 B1 KR101871794 B1 KR 101871794B1
Authority
KR
South Korea
Prior art keywords
mobile device
location
determining
geographic
path
Prior art date
Application number
KR1020167021591A
Other languages
English (en)
Other versions
KR20160106694A (ko
Inventor
로버트 메이어
루카스 엠. 마르티
샤논 엠. 마
Original Assignee
애플 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20160106694A publication Critical patent/KR20160106694A/ko
Application granted granted Critical
Publication of KR101871794B1 publication Critical patent/KR101871794B1/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/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3484Personalized, e.g. from learned user behaviour or user-defined profiles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/3608Destination input or retrieval using speech input, e.g. using speech recognition
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/3617Destination input or retrieval using user history, behaviour, conditions or preferences, e.g. predicted or inferred from previous use or current movement
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • G01C21/3655Timing of guidance instructions
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Navigation (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Abstract

개인용 지오펜스에 의해 트리거되는 위치 기반 서비스들을 제공하기 위한 시스템, 방법 및 컴퓨터 프로그램 제품이 개시된다. 모바일 디바이스는, 일정한 지리적 위치에 위치하며 과거에 모바일 디바이스가 자주 방문한 장소가 특정 제품, 서비스 또는 활동과 연관되어 있다고 결정할 수 있다. 제품, 서비스, 또는 활동에 관한 질의를 수신하면, 모바일 디바이스는 장소 주위에 임시 지오펜스를 생성할 수 있다. 과거 거동 패턴들 및 현재 위치를 사용하여, 모바일 디바이스는 애플리케이션 프로그램의 실행 또는 소정 콘텐츠의 표시를 트리거하기 위한 조건을 결정할 수 있다. 조건은 모바일 디바이스의 사용자의 생활 방식과 매칭하도록 개인화될 수 있다. 따라서, 애플리케이션 프로그램의 실행 또는 콘텐츠의 표시를 트리거하는 것은 모바일 디바이스와 점 위치 사이의 거리 이외의 인자들에 기초할 수 있다.

Description

개인용 지오펜스{PERSONAL GEOFENCE}
본 개시내용은 대체로 위치 기반 서비스들에 관한 것이다.
일부 모바일 디바이스들은 위치 기반 서비스들을 제공하기 위한 특징들을 갖는다. 예를 들어, 모바일 디바이스는 모바일 디바이스가 지오펜스(geofence)에 진입하거나 이탈할 때 미리특정된 애플리케이션 프로그램을 실행하거나 소정 콘텐츠를 제시할 수 있다. 지오펜스는 점 위치 및 반경에 의해 정의될 수 있다. 점 위치는 경도 좌표 및 위도 좌표를 가질 수 있다. 모바일 디바이스는, 모바일 디바이스의 추정된 위치를 결정하고 추정된 위치와 점 위치 사이의 거리를 계산함으로써, 모바일 디바이스가 지오펜스에 진입했거나 지오펜스를 이탈했다고 결정할 수 있다. 계산된 거리가 지오펜스의 반경을 초과하는지 여부에 기초하여, 모바일 디바이스는 모바일 디바이스가 지오펜스에 진입했는지 또는 지오펜스를 이탈했는지 여부를 결정할 수 있다. 모바일 디바이스는 글로벌 위성 시스템(예컨대, GPS) 또는 셀룰러 삼각측량을 이용하여, 경도 좌표 및 위도 좌표를 또한 포함하는, 추정된 위치를 결정할 수 있다.
개인용 지오펜스에 의해 트리거되는 위치 기반 서비스들을 제공하기 위한 시스템, 방법 및 컴퓨터 프로그램 제품이 개시된다. 모바일 디바이스는, 일정한 지리적 위치에 위치하며 과거에 모바일 디바이스가 자주 방문한 장소가 특정 제품, 서비스 또는 활동과 연관되어 있다고 결정할 수 있다. 제품, 서비스, 또는 활동에 관한 질의를 수신하면, 모바일 디바이스는 장소 주위에 임시 지오펜스를 생성할 수 있다. 과거 거동 패턴들 및 현재 위치를 사용하여, 모바일 디바이스는 애플리케이션 프로그램의 실행 또는 소정 콘텐츠의 표시를 트리거하기 위한 조건을 결정할 수 있다. 조건은 모바일 디바이스의 사용자의 생활 방식과 매칭하도록 개인화될 수 있다. 따라서, 애플리케이션 프로그램의 실행 또는 콘텐츠의 표시를 트리거하는 것은 모바일 디바이스와 점 위치 사이의 거리 이외의 인자들에 기초할 수 있다.
본 명세서에 기술된 특징들은 하나 이상의 이점을 달성하기 위해 구현될 수 있다. 종래의 지오펜스 기술들에 비해, 본 명세서에 기술된 기술들은 더 개인적이고 사용자의 특정 생활 방식에 더 맞춤화된 서비스들을 제공할 수 있다. 예를 들어, 기재된 기술들을 구현하는 모바일 디바이스는 목적지 위치를 향해 이동하는 사용자에게 목적지 위치에 도달하기 전에 리마인더를 제공할 수 있다. 모바일 디바이스는, 사용자가 이미 목적지 위치에 있을 때 리마인더를 제공하기보다는, 모바일 디바이스의 사용자가 목적지 위치"로 운전할(drive by)" 때 또는 수 마일 떨어져서 리마인더를 제공할 수 있다.
모바일 디바이스는 사용자의 이동에 맞춰 조정하기 위해 모바일 디바이스의 다양한 센서에 기초하여 애플리케이션 프로그램의 개시를 트리거할 수 있다. 예를 들어, 모바일 디바이스는 상점에서 제품을 구매하기 위한 리마인더를 표시하도록 프로그램될 수 있다. 모바일 디바이스는 사용자가 상점을 향해 고속도로 상에서 이동하고 있다고 추정할 수 있다. 이에 응답하여, 모바일 디바이스는, 모바일 디바이스가 상점으로 이어지는 고속도로 출구에 도달하기 전에 리마인더를 트리거할 수 있다. 반면에, 사용자가 상점을 향해 걸어가고 있다고 모바일 디바이스가 추정하는 경우, 모바일 디바이스는 모바일 디바이스가 상점에서 하나 또는 두 개의 거리 블록에 있을 때 리마인더를 트리거할 수 있다.
또한, 기재된 기술들을 구현하는 모바일 디바이스는 전력의 보존과 위치의 정확도 사이에서 종래의 모바일 디바이스보다 더 우수하게 균형을 잡을 수 있다. 모바일 디바이스는 전력-고소비(power-hungry) 기능들, 예를 들어, 글로벌 위치확인 시스템(GPS) 신호들을 사용하는 위치 결정의 스위치를 켤 수 있으며, 모바일 디바이스가 목적지로 향하고 있을 확률이 높다고 결정할 시 더욱 자주 그럴 수 있다. GPS 위치 결정의 보다 빈번한 사용은 모바일 디바이스가 목적지를 지나가고 놓칠 가능성을 줄일 수 있다. GPS 위치 결정의 보다 빈번한 사용은, 모바일 디바이스가 목적지로 이동할 확률이 높다고 모바일 디바이스가 이미 결정했다는 조건에 기초하기 때문에, 보다 빈번한 사용은 전력을 낭비하지 않는다.
개시된 구현예들의 상세 사항들이 첨부 도면 및 이하의 설명에서 제시된다. 다른 특징들, 목적들, 및 이점들이 설명 및 도면으로부터 그리고 청구범위로부터 명백해질 것이다.
도 1은 개인용 지오펜스의 예시적인 사용 사례를 도시하는 도면이다.
도 2는 개인용 지오펜스에 기초하여 서비스들을 제공하는 예시적인 모바일 디바이스와 사용자 사이의 상호작용의 다이어그램이다.
도 3a 및 도 3b는 모바일 디바이스의 예시적인 위치 결정 기술들을 도시한다.
도 4는 개인용 지오펜스를 구현하는 예시적인 모바일 디바이스의 컴포넌트들의 블록도이다.
도 5는 예시적인 개인용 지오펜스 프로세스의 흐름도이다.
도 6은 도 1 내지 도 5의 특징들 및 동작들을 구현하는 모바일 디바이스의 예시적인 디바이스 아키텍처를 도시하는 블록도이다.
도 7은 도 1 내지 도 5의 특징들 및 동작들을 구현하는 모바일 디바이스들에 대한 예시적인 네트워크 운영 환경의 블록도이다.
도 8은 도 1 내지 도 5를 참조하여 기술된 특징들 및 동작들을 구현하는 서버에 대한 예시적인 아키텍처(800)의 블록도이다.
다양한 도면들에서 사용된 동일한 도면 부호는 유사한 요소들을 가리킨다.
예시적인 개인용 지오펜스
도 1은 개인용 지오펜스의 예시적인 사용 사례를 도시하는 도면이다. 모바일 디바이스(102)는 개인용 지오펜스 기술들을 구현하는 예시적인 디바이스이다. 모바일 디바이스(102)는 중요한 위치 데이터베이스(104)를 포함하거나, 이에 연결될 수 있다. 중요한 위치 데이터베이스(104)는 하나 이상의 중요한 위치, 예를 들어, "ABC 식료 잡화점", "OPQ 학교", 또는 "XYZ 빨래방"의 표현들을 저장할 수 있다. 각각의 중요한 위치는 모바일 디바이스(102)의 사용자의 생활에서 어떤 의미를 갖는 위치일 수 있다. 예를 들어, 중요한 위치는 사용자가 임계량의 시간보다 오래 머문 위치, 사용자가 임계 횟수보다 많이 방문한 위치, 또는 사용자가 이동 목적지로서 주소 데이터베이스에 입력하고 이후에 방문한 위치일 수 있다.
모바일 디바이스(102)는 중요한 위치들 중 하나 이상 주위에 개인용 지오펜스를 생성할 수 있다. 개인용 지오펜스는, 지리적 좌표들 및 반경에 추가적이거나 대안적인 정보를 사용하여 정의되는 지오펜스일 수 있다. 종래의 지오펜스는, 모바일 디바이스가 지리적 좌표들 및 반경을 정의한 원에 진입하거나 이탈할 때 애플리케이션의 개시 또는 위치 특정 콘텐츠의 표시를 트리거할 수 있다. 그에 비해, 모바일 디바이스(102)는, 모바일 디바이스(102)가 위치의 일반적 방향을 향해 나아갈 가능성이 임계 값을 초과한다는 결정을 할 때 애플리케이션의 개시 또는 위치 특정 콘텐츠의 표시를 트리거할 수 있다. 또한, 개인용 지오펜스는 사용자에 의해 특정된 특정 활동과 연관된다.
도시된 예에서, 모바일 디바이스(102)는 입력(106)을 수신한다. 입력(106)는 음성 입력, 타이핑된 입력, 또는 쓰여진 입력일 수 있다. 도시된 예에서, 입력(106)은 "우유를 구입하라고 나에게 리마인드해주세요"라는 메시지를 포함한다. 모바일 디바이스(102)는 모바일 디바이스(102)에 로컬인 서비스 또는 원격 서버에 의해 제공되는 서비스를 사용하여 입력(106)을 분석할 수 있다. 분석의 결과로서, 모바일 디바이스(102)는 키워드들 "리마인드", "구입", 및 "우유"를 식별할 수 있다. 모바일 디바이스(102)는 키워드 "리마인드"가 모바일 디바이스(102)의 리마인더 기능 또는 애플리케이션에 대한 개인용 지오펜스의 생성을 트리거하는 기능어라고 결정할 수 있다. 또한, 모바일 디바이스(102)는 "우유를 구입"이 개인용 지오펜스와 연관된 특정 활동이라고 결정할 수 있다.
로컬 또는 원격 서비스를 사용하여, 모바일 디바이스(102)는 중요한 위치 데이터베이스(104) 내의 하나 이상의 중요한 위치가 특정 활동에 관련된다고 결정할 수 있다. 예를 들어, 모바일 디바이스(102)는 중요한 위치 "ABC 식료 잡화점"이 사용자가 제품을 "구입"할 수 있는 식료 잡화 상점으로 분류된 사업이라고 결정할 수 있다. 또한, 모바일 디바이스(102)는 키워드 "우유"가 식료 잡화 제품이라고 결정할 수 있다. 그 결과, 모바일 디바이스(102)는 키워드 "구입" 및 키워드 "우유"가 입력(106)을 중요한 위치 "ABC 식료 잡화점"으로 링크시킨다고 결정할 수 있다. 이에 응답하여, 모바일 디바이스(102)는, 비록 입력(106)이 "ABC 식료 잡화점"에 대한 어떠한 언급도 하지 않지만, 상점 "ABC 식료 잡화점" 주위에 개인용 지오펜스를 생성하고 개인용 지오펜스를 리마인더와 연관시킬 수 있다.
개인용 지오펜스는 "ABC 식료 잡화점"의 종래의 지오펜스와 일치할 필요는 없다. 예를 들어, "ABC 식료 잡화점"은 위치(108)에 위치할 수 있다. 지오펜스(110)는 "ABC 식료 잡화점"에 대한 종래의 지오펜스일 수 있다. 개인용 지오펜스를 구현하면, 모바일 디바이스(102)는 모바일 디바이스(102)가 종래의 지오펜스(110)의 외부에 위치할 때에도 우유를 구입하기 위한 리마인더를 제공할 수 있다.
도시된 예에서, 모바일 디바이스(102)는 모바일 디바이스(102)를 들고 있는 사용자가 "ABC 식료 잡화점"을 향해 이동한다고 결정할 수 있다. 모바일 디바이스(102)는 모바일 디바이스(102)가 고속도로(112) 상에서 이동하고 있다고 결정할 수 있다. 또한, 모바일 디바이스(102)는, 모바일 디바이스(102)가 현재 위치(114)에 위치하고 진행 방향(heading)(116)을 갖고 있다고 결정할 수 있다. 모바일 디바이스(102)는, 모바일 디바이스(102)의 현재 속도 및 현재 위치(114)에 기초하여, 모바일 디바이스가 X분 내에 "ABC 식료 잡화점"에 도달할 수 있다고 결정할 수 있고, 여기서 X는 미리특정된 임계 시간이다. 이에 응답하여, 모바일 디바이스(102)는 사용자에게 사용자 인터페이스(118)를 제공할 수 있다. 사용자 인터페이스(118)는 "ABC 식료 잡화점"에서 우유를 구입하기 위한 시각적 또는 청각적 리마인더일 수 있다.
모바일 디바이스(102)가 위치(114)에 위치하며 진행 방향(116)을 갖고 있다고 결정하는 것은, 전력을 많이 소비하는 동작들을 수반할 수 있다. 예를 들어, 동작들은 GPS 수신기를 켜는 것, 및 애플리케이션 프로세서를 사용하여 위치(114) 및 진행 방향(116)을 결정하는 것을 포함할 수 있다. 이러한 동작들을 수행하면 모바일 디바이스(102)가 개인용 지오펜스에 진입할 것이라는 긍정적 식별을 발생시킬 것 같다고 모바일 디바이스(102)가 상당히 확신할 때에만 이러한 동작들을 트리거함으로써, 모바일 디바이스(102)는 배터리 전력을 보존할 수 있다. 모바일 디바이스(102)는, 과거 활동들로 인해, 모바일 디바이스(102)가 "ABC 식료 잡화점"의 위치(108)로 접근하고 있을 것 같다고 결정할 때, "상당히 확신할" 수 있다.
예를 들어, 모바일 디바이스(102)는, 과거 사용 패턴들에 기초하여, 모바일 디바이스(102)의 사용자가 보통 주중에는 오후 6시에 사무실(120)을 떠나고, 고속도로(112) 또는 어떤 다른 경로에 뒤이어 오후 7시에 집(122)에 도달한다고 결정할 수 있다. 따라서, 모바일 디바이스(102)는, 모바일 디바이스(102)가 평일 오후 6시와 오후 7시 사이의 시간 동안 고속도로(112)를 주행하고 있을 가능성이 임계 값을 초과한다고 결정할 수 있다. 이에 응답하여, 모바일 디바이스(102)는 평일 오후 6시 직후에 위치 모니터링을 자동으로 켤 수 있다.
도 1 및 대응하는 설명들이 도시한 바와 같이, 사용자 인터페이스(118)를 제공하는 것은, 모바일 디바이스(102)의 미리결정된 중요한 위치들(예컨대, "ABC 식료 잡화점"), 사용자에 대한 중요한 위치들의 의미(예컨대, "ABC 식료 잡화점"은 식료 잡화 상점이다), 입력(106)(예컨대, "우유를 구입하라고 나에게 리마인드해주세요"), 의미를 입력에 링크시키는 백엔드 분석(예컨대, 식료 잡화 상점은 우유를 판매한다), 및 사용자의 미리결정된 패턴(예를 들어, 오후 6시에 사무실에서 집으로 떠남)을 포함하는, 입력들의 결과이다. 따라서, 모바일 디바이스(102)에 의해 생성된 지오펜스는 개인적이고, 사용자에게 특정하게 맞춤화되며, 예를 들어, 우유를 구입하는 리마인더에 대해, 특정적이다. 모바일 디바이스(102)는 모바일 디바이스(102)가 도로 상에 있을 때, 예를 들어, 운전중인 차량에 있을 때, 리마인더를 트리거할 수 있다.
도 2는 개인용 지오펜스에 기초하여 서비스들을 제공하는 예시적인 모바일 디바이스(102)와 사용자 사이의 상호작용의 다이어그램이다. 모바일 디바이스(102)는 음성 또는 텍스트 입력(202), "집에 가는 길에 우유를 구입하라고 나에게 리마인드해주세요"를 수신할 수 있다. 모바일 디바이스(102)는, 모바일 디바이스(102)에 로컬이거나, 통신 네트워크를 통해 모바일 디바이스(102)에 접속된 서버에 의해 원격으로 제공된 서비스를 사용하여, 용어들 "리마이드", "구입", "우유", 및 "집에 가는 길"을 인식한다. 이어서 모바일 디바이스(102)는 입력에 응답하도록 개인용 지오펜스를 설정하는 방법에 대한 "최선의 추측"을 한다.
최선의 추측을 할 때, 모바일 디바이스(102)는, 과거에 결정된 중요한 위치들로부터, 입력(202)으로부터의 활동 "구입"에 관련되는 중요한 위치들을 식별할 수 있다. 관련된 중요한 위치들을 식별하기 위해, 모바일 디바이스는 각각의 중요한 위치의 사업 유형을 활동으로 매핑시키는 로컬 또는 원격 사전을 사용할 수 있다. 예를 들어, 식료 잡화 상점, 식당, 주유소는 "구입" 또는 "구매"의 활동들로 매핑될 수 있다. 모바일 디바이스(102)는 추가적인 매핑들을 이용해 사업 유형을 필터링할 수 있다. 예를 들어, 모바일 디바이스(102)는 용어 "우유"의 분류에 따라 "우유"에 기초한 매칭되는 사업들로부터 식료 잡화 상점들을 선택하고, 주유소들 및 식당들을 필터링할 수 있다. 모바일 디바이스(102)는 추가로, 사용자의 사무실과 집 사이의 경로에 있는 2개의 식료 잡화 상점인, "ABC 잡화점" 및 "LMN 식품"을 선택함으로써 용어 "집으로 가는 길"을 사용하여 식료 잡화 상점들을 필터링할 수 있다.
모바일 디바이스(102)는 최선의 추측이 사용자에게 허용되는지를 확인하기 위해 사용자 인터페이스 항목(204)을 제공할 수 있다. 사용자 인터페이스 항목(204)은 최선의 추측을 제시하는 시각적 표시 또는 음성 출력을 포함할 수 있다. 또한, 사용자 인터페이스 항목(204)은 제안들을 제공하기 위한 리드 타임(lead time)이 얼마나 되는지에 대한 제안을 포함할 수 있다. 예를 들어, 모바일 디바이스(102)는, 모바일 디바이스(102)가 "ABC 식료 잡화점"의 위치 또는 "LMN 식품"의 위치 중 임의의 하나에 도착할 것으로 예상되기 X분 전에 리마인더가 제공되는, 디폴트 설정을 가질 수 있다.
모바일 디바이스(102)는 사용자 입력(206)을 수신할 수 있다. 사용자 입력(206)은 제안된 최선의 추측을 확인하거나, 제안된 최선의 추측을 거부하거나, 또는 제안된 최선의 추측을 수정할 수 있다. 예를 들어, 사용자 입력(206)은 "단지 ABC 식료 잡화점만"이라고 말하는 음성 입력을 포함할 수 있다. 이에 응답하여, 모바일 디바이스(102)는 위치들의 목록으로부터 "LMN 식품"을 제거함으로써 제안을 수정할 수 있다. 모바일 디바이스(102)는 이어서, 개인용 지오펜스가 "ABC 식료 잡화점"에 대해 설정되어 있고 리마인더가 "ABC 식료 잡화점"에의 추정된 도착 시간 X분 전에 울리도록 설정되어 있음을 확인하는 사용자 인터페이스(208)를 제공할 수 있다.
도 3a 및 도 3b는 모바일 디바이스의 예시적인 위치 결정 기술들을 도시한다. 도 3a는 전력을 보존하기 위한 통상의 위치 결정 기술들을 도시한다. 모바일 디바이스(302)는 지오펜스(304)에 진입할 시 애플리케이션의 개시를 트리거하도록 프로그램되어 있다. 모바일 디바이스(302)는, 모바일 디바이스(302)의 저-전력 프로세서, 예를 들어, 베이스밴드 프로세서에서, 하나 이상의 신호 소스(306), 예를 들어, 셀 타워들 또는 무선 액세스 포인트들을 등록할 수 있다. 무선 게이트웨이들은 지오펜스(304)가 충분히 가깝게 위치할 수 있어서, 모바일 디바이스(302)는, 지오펜스(304) 내에 위치한다면, 신호 소스들(306)로부터 신호들을 검출할 수 있게 된다. 모바일 디바이스(302)가 꺼진 동안, 모바일 디바이스(302)의 저-전력 프로세서는 주기적으로 공중파를 모니터링하여, 모바일 디바이스(302)가 신호 소스들(306)로부터 신호들을 수신하는지 여부를 결정할 수 있다. 이러한 신호를 검출하면, 저-전력 프로세서는 애플리케이션 프로세서에 통지할 수 있다. 애플리케이션 프로세서는 다른 방법을 사용하여, 예를 들어, 위성(308A)으로부터의 GPS 신호들을 이용함으로써, 모바일 디바이스(302)의 위치를 결정할 수 있다. 모바일 디바이스(302)가 지오펜스(304)를 가로지른 것을 검출하면, 모바일 디바이스(302)는 애플리케이션을 트리거하고 메시지(310)를 표시할 수 있다. 따라서, 모바일 디바이스(302)가 경로(312)를 따라 이동할 경우, 모바일 디바이스(302)는 가능하면 전력을 절약하기 위해 상이한 기술을 사용하여 위치를 모니터링할 수 있다.
도 3b는 개인용 지오펜스에 대한 전력을 절약하기 위한 위치 결정 기술들을 도시한다. 모바일 디바이스(102)는 위치(314)에 관련된 작업을 수행하도록 프로그램되어 있다. 모바일 디바이스(102)는, 다양한 인자들에 기초하여, 모바일 디바이스(102)가 위치(314)로 이동하고 있을 수 있다고 결정할 수 있다. 인자들은 시간 인자들 및 위치 인자들을 포함할 수 있다. 시간 인자들 및 위치 인자들은 둘 다 모바일 디바이스(102)의 사용자의 과거 거동에 기초할 수 있다.
예를 들어, 모바일 디바이스(102)는 (1) 위치(314)가 2개의 중요한 위치들인, 사용자의 사무실과 집 사이의 경로 근처에 있다고 결정할 수 있다. 모바일 디바이스(102)는 (2) 과거에, 모바일 디바이스(102)가 사무실을 떠난 후 집에 도착하기 전에 위치(314)로 이동하기 위해 우회했다고 결정할 수 있다. 모바일 디바이스(102)는 (3) 과거에, 모바일 디바이스(102)가 보통 오후 6시에 사무실을 떠나 오후 7시에 집에 도달한다고 결정할 수 있다. 모바일 디바이스(102)는, 컨텍스트 정보인 위의 (1), (2), 및 (3)을 사용하여, 위치 모니터링을 켜는 것은 배터리 전력의 비용과 사용자 경험의 잠재적 향상의 균형을 이룰 때 가치있을 수 있다고 결정할 수 있다. 따라서, 모바일 디바이스(102)는, 모바일 디바이스(102)가 사무실을 떠나는 시간에 근접하거나 그 이후인 시간에, 예를 들어, 오후 6시 5분에 위성(308B)으로부터의 신호들을 사용하여 현재 위치를 확인하기 위해 애플리케이션 프로세서를 켜거나, 저-전력 모니터링을 켤 것을 결정할 수 있다.
예를 들어, 컨텍스트 정보를 사용하여, 모바일 디바이스(102)는 모바일 디바이스(102)가 운전 상태에 있다고 결정할 수 있다. 모바일 디바이스(102)는 이어서, 저-전력 프로세서를 사용하여, 추가적인 컨텍스트 정보를 결정하는 것을 포함하는, 모바일 디바이스(102)의 상태를 모니터링할 수 있다. 모바일 디바이스(102)는 모바일 디바이스(102)의 대략적인 위치 또는 모바일 디바이스(102)의 진행 방향을 결정할 수 있다. 진행 방향이 위치(314)의 방향에 있는 경우, 모바일 디바이스(102)는 애플리케이션 프로세서를 켤 수 있다.
일부 구현예들에서, 모바일 디바이스(102)는 모바일 디바이스(102)의 현재 위치에서, 예를 들어, 사무실에서 지오펜스를 생성할 수 있다. 모바일 디바이스(102)는 모바일 디바이스(102)의 지오펜싱 특징을 사용하여, 모바일 디바이스(102)가 예를 들어, 사무실을 떠남으로써, 지오펜스에서 이탈했는지를 결정할 수 있다. 모바일 디바이스(102)가 사무실에서 이탈했다고 결정하면, 모바일 디바이스(102)는 모바일 디바이스(102)가 위치(314)로 향하고 있는지 여부를 결정하기 위해 저-전력 프로세서 또는 애플리케이션 프로세서를 사용할 수 있다.
모바일 디바이스(102)가 여전히 사무실에 있다고 결정하면, 또는 모바일 디바이스(102)의 위치가 고정될 수 없다고 결정하면, 모바일 디바이스(102)는 애플리케이션 프로세서를 끄고, 미리결정된 간격, 예를 들어, 5분 후에 자동으로 켜도록 애플리케이션 프로세서를 설정할 수 있다.
모바일 디바이스(102)가 사무실을 떠났다고 결정하면, 모바일 디바이스(102)는 위성(308C)을 사용하여 위치를 모니터링하는 빈도를 결정할 수 있다. 모바일 디바이스(102)는, 모바일 디바이스(102)가 보통 사무실에서 집으로 갈 때 취하는 경로(316) 상에 모바일 디바이스가 있는지 여부에 기초하여 빈도를 결정할 수 있다. 모바일 디바이스(102)가 경로(316) 상에 위치한 경우, 빈도는 더 높을 수 있다. 추가적으로 또는 대안적으로, 모바일 디바이스(102)는 모바일 디바이스(102)의 속도에 기초하여 빈도를 결정할 수 있다. 더 높은 속도는 더 높은 빈도에 대응할 수 있다. 추가적으로 또는 대안적으로, 모바일 디바이스(102)는, 모바일 디바이스(102)와, 도로의 커브, 예를 들어, 위치(314)로의 경로 상에 있는 고속도로 출구 사이의 거리에 기초하여 빈도를 결정할 수 있다. 더 짧은 거리는 더 높은 빈도에 대응할 수 있다.
모바일 디바이스(102)는, 위치(314)에 도달하거나 임계점(318)에 도달하기 미리특정된 시간 전에, 애플리케이션을 개시하거나 특정 콘텐츠를 표시할 수 있다. 임계점(318)은 크게 우회하지 않으면서 집으로의 현재 진행 방향을 위치(314)로의 진행 방향으로 변경하기 위한 마지막 기회일 수 있다. 예를 들어, 모바일 디바이스(102)는 임계점(318)이 위치(314)에 도달하기 위한 마지막 고속도로 출구라고 결정할 수 있다.
도 4는 개인용 지오펜스를 구현하는 예시적인 모바일 디바이스(102)의 컴포넌트들의 블록도이다. 모바일 디바이스(102)는 위치 결정 서브시스템(402)을 포함할 수 있다. 위치 결정 서브시스템(402)은, 셀 신호 삼각측량, 무선 액세스 포인트들의 알려진 위치들, GPS 신호들, 또는 다른 기술들을 사용하여 모바일 디바이스(102)의 위치를 결정하도록 구성된 모바일 디바이스(102)의 컴포넌트이다.
모바일 디바이스(102)는 상태 모델 결정 서브시스템(404)을 포함할 수 있다. 상태 모델 결정 서브시스템(404)은, 중요한 위치들, 및 하나의 중요한 위치로부터 다른 중요한 위치로의, 예를 들어, 사무실로부터 집으로의, 또는 다른 주(out-of-state) 위치들로부터 각각의 중요한 위치로의 전환들의 시간-기반 확률을 결정하도록 구성된 모바일 디바이스(102)의 컴포넌트이다. 다른 주 위치는, 중요한 위치로 등록되지 않거나 등록되기 전에 모바일 디바이스(102)가 방문하지 않은 위치이다.
모바일 디바이스(102)는 중요한 위치 데이터베이스(104)를 포함할 수 있다. 중요한 위치 데이터베이스(104)는 상태 모델 결정 서브시스템(404)에 의해 결정된 중요한 위치들을 저장하도록 구성된 모바일 디바이스(102)의 컴포넌트이다.
모바일 디바이스(102)는 작업 사용자 인터페이스 서브시스템(406)을 포함할 수 있다. 작업 사용자 인터페이스 서브시스템(406)은, 개인용 펜스 기반 작업을 생성하기 위한 사용자 입력을 수신하고, 사용자에게 작업을 생성하기 위한 최선의 추측들을 제공하도록 구성된 모바일 디바이스(102)의 컴포넌트이다. 작업 사용자 인터페이스 서브시스템(406)은 음성 인식 및 음성 합성 하드웨어 및 소프트웨어 또는 펌웨어를 포함할 수 있다.
모바일 디바이스(102)는 작업 분석 엔진(408)을 포함할 수 있다. 작업 분석 엔진(408)은, 키워드들에 대해 작업 사용자 인터페이스 서브시스템(406)으로부터의 수신된 사용자 입력을 분석하여, 키워드들에 관련된 하나 이상의 중요한 위치를 결정하고, 작업 사용자 인터페이스 서브시스템(406)으로부터의 추가적인 입력에 기초하여 하나 이상의 중요한 위치를 필터링하는, 모바일 디바이스(102)의 컴포넌트이다. 작업 분석 엔진(408)의 일부 또는 모든 기능은 모바일 디바이스(102)로부터 원격에 위치한 서비스들을 사용하여 수행될 수 있다. 작업 분석 엔진(408)의 출력은, 사용자 입력 내에 특정된 작업과 연관된, 선택된 중요한 위치들을 포함할 수 있다.
모바일 디바이스(102)는 예측 엔진(410)을 포함할 수 있다. 예측 엔진 (410)은, 모바일 디바이스가 작업 분석 엔진(408)에 의해 선택된 중요한 위치를 방문하거나, 중요한 위치로 이어지는 경로 상에 있는 목적지 위치에, 예를 들어, 고속도로 출구에 도달할 시간을 예측하도록 구성된 모바일 디바이스(102)의 컴포넌트이다. 예측 엔진(410)은 위치 결정 서브시스템(402)에 의해 결정된 바와 같은 현재 위치, 현재 시간, 및 중요한 위치 데이터베이스(104)에 저장된 중요한 위치들 및 통행(transit) 확률들에 기초하여 예측을 할 수 있다. 예측 엔진(410)은 이어서 시간을 작업 스케줄러(412)에 제공할 수 있다.
작업 스케줄러(412)는, 현재 위치를 모니터링하기 위한 계획을 결정하고 계획에 따라 위치 결정 서브시스템(402)을 제어하도록 구성된 모바일 디바이스(102)의 컴포넌트이다. 예를 들어, 작업 스케줄러(412)는, 모바일 디바이스(102)가 중요한 위치로 이어지는 경로 상에 있는 고속도로 출구에 가깝게 위치한다고 결정하면, 위치 모니터링 빈도를 증가시킬 수 있다. 또한, 작업 스케줄러(412)는, 충족되면, 작업의 개시를 트리거하는 조건을 특정할 수 있다. 예를 들어, 작업 스케줄러(412)는, 모바일 디바이스(102)가 상점으로 이어지는 고속도로 출구에 도달하기 X분 전에 상점에서 제품을 구매하도록 하는 리마인더가 개시되도록, 특정할 수 있다. 작업 스케줄러(412)는 이어서, 모바일 디바이스(102)의 위치와 고속도로 출구 사이의 거리를 모바일 디바이스(102)의 속도로 나눈 것이 X분을 만족할 때, 작업을 개시할 수 있다. 작업을 개시하면, 모바일 디바이스(102)는 작업 사용자 인터페이스(414)를 통해 메시지를 제시할 수 있다. 작업 사용자 인터페이스(414)는 음성, 시각적, 또는 진동 출력을 포함할 수 있다.
예시적인 프로세스
도 5는 예시적인 개인용 지오펜스 프로세스(500)의 흐름도이다. 프로세스(500)는 시스템에 의해, 예를 들어, 도 1 내지 도 4의 모바일 디바이스(102), 또는 모바일 디바이스(102)에 원격으로 접속된 하나 이상의 서버 컴퓨터에 의해 수행될 수 있다. 시스템은 하나 이상의 프로세서를 포함할 수 있다.
시스템은, 도 4의 상태 모델 결정 서브시스템(404)을 사용하여, 모바일 디바이스가 이전에 방문한 장소가 모바일 디바이스의 사용자에게 중요한 위치라고 결정할 수 있다(502). 장소가 중요한 위치라고 결정하는 것은 사용자가 이전에 임계 빈도보다 높은 빈도로 장소를 방문했다고 결정하는 것을 포함할 수 있다. 장소가 중요한 위치라고 결정하는 것은, 사용자가 이전에 임계 시간량보다 오래 그 장소에 머물렀다고 결정하는 것을 포함할 수 있다. 장소가 중요한 위치라고 결정하는 것은, 사용자가 이전에 그 장소에서 제품 또는 서비스를 구매했다고, 또는 전술한 것의 임의의 조합을 결정하는 것을 포함할 수 있다.
시스템은, 도 4의 작업 사용자 인터페이스 서브시스템(406)을 사용하여, 미래에 작업을 수행하기 위한 요청을 수신할 수 있다(504). 요청은 작업의 파라미터를 특정하는 질의 용어를 포함할 수 있다. 요청은 자연 언어 음성 입력일 수 있다. 작업은 질의 용어에 관련된 활동을 수행하기 위한 리마인더를 제공하는 것을 포함할 수 있다.
시스템은, 작업 분석 엔진(408)을 사용하여 그리고 질의 용어와 장소의 미리결정된 속성 사이의 매치에 기초하여, 작업이 장소에 관련된다고 결정할 수 있다(506). 시스템은, 질의 용어에 의해 식별된 상업 제품 또는 서비스가 그 장소에서 판매되거나, 질의 용어에 의해 식별된 활동이 그 장소에서 수행된다고 결정하면, 작업이 그 장소에 관련된다고 결정할 수 있다. 예를 들어, 시스템은, 질의 용어 내에 특정된 바와 같은 "아이들을 태우기" 위한 리마인더가 장소 "OPQ 학교"에 관련되고, 질의 용어 내에 특정된 바와 같은 "드라이 클리닝"을 위한 리마인더가 장소 "XYZ 빨래방"에 관련된다고 결정할 수 있다.
시스템은, 도 4의 예측 엔진(410)을 사용하여 그리고 모바일 디바이스의 과거 사용 패턴에 기초하여, 모바일 디바이스가 장소에 근접하게 위치할 것으로 예측할 수 있다(508). 모바일 디바이스가 장소에 근접하게 위치할 것으로 예측하는 것은, 위치 샘플링 계획에 따라 모바일 디바이스와 장소 사이의 지리적 또는 시간적 거리를 모니터링하는 것을 포함할 수 있으며, 위치 샘플링 계획은 모바일 디바이스의 현재 위치, 모바일 디바이스의 현재 모션 판독치, 및 과거 사용 패턴에 기초하여 결정된다. 시스템은 이어서 모바일 디바이스가 미리특정된 리드 타임 이후에 장소에 위치할 것이라고 결정할 수 있다.
모바일 디바이스가 장소에 근접하게 위치할 것으로 예측하는 것은 다음 동작들을 수행하는 것을 포함할 수 있다. 시스템은, 통행 정보 및 모바일 디바이스의 현재 위치에 기초하여, 모바일 디바이스가 제1 중요한 위치로부터 제2 중요한 위치로 통행하고 있을 확률이 임계 값을 초과한다고 결정할 수 있다. 시스템은, 과거에 모바일 디바이스가 예를 들어, 우회함으로써, 제1 지리적 위치로부터 제2 지리적 위치로의 통행 동안에 장소를 방문했다고 결정할 수 있다. 시스템은 이어서, 모바일 디바이스의 진행 방향 및 현재 위치에 기초하여 모바일 디바이스가 장소에 근접하게 위치할 것으로 예측할 수 있다. 모바일 디바이스가 장소에 근접하게 위치할 것으로 예측하는 것은, 모바일 디바이스가 장소의 고정 지오펜스에 진입하기 전에 발생할 수 있다.
과거 사용 패턴은 위치 정보와 통행 정보를 포함할 수 있다. 위치 정보는, 중요한 위치의 지리적 좌표, 및 일부 구현예들에서, 모바일 디바이스가 특정 시간에 그 지리적 위치에 위치할 확률을 포함한다. 통행 정보는, 모바일 디바이스가 특정 시간에 제1 중요한 위치로부터 제2 중요한 위치로 통행할 확률을 포함할 수 있다.
시스템은 다음과 같은 동작들을 사용하여 위치 샘플링 계획을 결정할 수 있다. 시스템은, 모바일 디바이스의 이동 속도 및 모바일 디바이스와 장소 사이의 지리적 거리에 기초하여, 모바일 디바이스의 제1 위치 결정 메커니즘이 작업의 수행을 트리거하기에 불충분한 시간을 가질 수 있다고 결정할 수 있다. 이에 응답하여, 시스템은 제2 위치 결정 메커니즘을 사용하여 지리적 거리 또는 시간적 거리를 모니터링할 수 있다. 일부 구현예들에서, 제1 위치 결정 메커니즘은 하나 이상의 무선 로컬 영역 네트워크(WLAN)로부터의 신호들을 사용하여 모바일 디바이스의 현재 위치를 결정하고, 제2 위치 결정 메커니즘은 위성 위치확인 시스템(satellite positioning system)으로부터의 신호들을 사용하여 모바일 디바이스의 현재 위치를 결정한다.
모바일 디바이스가 장소 또는 결정 위치(decision location)에 도달하기 전에, 시스템은 작업을 수행할 수 있다(510). 결정 위치는, 사용자가 현재 이동 경로를 계속하는 것 또는 장소를 방문하기 위해 우회하는 것 사이에서 선택하는 위치이다.
예시적인 모바일 디바이스 아키텍처
도 6은 개인용 지오펜스의 특징들 및 동작들을 구현하는 모바일 디바이스의 예시적인 디바이스 아키텍처(600)를 도시하는 블록도이다. 모바일 디바이스(예를 들어, 모바일 디바이스(102))는 메모리 인터페이스(602), 하나 이상의 데이터 프로세서, 이미지 프로세서 및/또는 프로세서(604), 및 주변기기 인터페이스(606)를 포함할 수 있다. 메모리 인터페이스(602), 하나 이상의 프로세서(604) 및/또는 주변기기 인터페이스(606)는 별개의 컴포넌트들일 수 있거나 또는 하나 이상의 집적 회로들에 통합될 수 있다. 프로세서들(604)은 애플리케이션 프로세서들, 베이스밴드 프로세서들, 및 무선 프로세서들을 포함할 수 있다. 모바일 디바이스(102) 내의 다양한 컴포넌트들은, 예를 들어, 하나 이상의 통신 버스 또는 신호 라인에 의해 연결될 수 있다.
다수의 기능을 가능하게 하기 위해 센서들, 디바이스들, 및 서브시스템들이 주변기기 인터페이스(606)에 연결될 수 있다. 예를 들어, 모바일 디바이스의 배향, 조명, 및 근접 기능들을 가능하게 하기 위해 모션 센서(610), 조명 센서(612), 및 근접 센서(614)가 주변기기 인터페이스(606)에 연결될 수 있다. 지리적 위치확인(geopositioning)을 제공하기 위해 위치 프로세서(615)(예컨대, GPS 수신기)가 주변기기 인터페이스(606)에 접속될 수 있다. 자북의 방향을 결정하는 데 사용될 수 있는 데이터를 제공하기 위해 전자 자력계(616)(예를 들어, 집적 회로 칩)가 또한 주변기기 인터페이스(606)에 접속될 수 있다. 따라서, 전자 자력계(616)는 전자 나침반으로 사용될 수 있다. 모션 센서(610)는 모바일 디바이스의 이동 속도 및 이동 방향의 변화를 결정하도록 구성된 하나 이상의 가속도계를 포함할 수 있다. 기압계(617)는, 주변기기 인터페이스(606)에 접속되어 모바일 디바이스 주위의 대기압을 측정하도록 구성된 하나 이상의 디바이스를 포함할 수 있다.
사진 및 비디오 클립의 녹화와 같은 카메라 기능들을 가능하게 하기 위해 카메라 서브시스템(620) 및 광 센서(622), 예컨대 전하 결합 소자(CCD) 또는 상보형 금속 산화물 반도체(CMOS) 광 센서가 사용될 수 있다.
통신 기능들은 무선 주파수 수신기와 송신기 및/또는 광학(예컨대, 적외선) 수신기와 송신기를 포함할 수 있는, 하나 이상의 무선 통신 서브시스템(624)을 통하여 가능하게 될 수 있다. 통신 서브시스템(624)의 구체적인 설계 및 구현은 모바일 디바이스가 동작하도록 의도되어 있는 통신 네트워크(들)에 의존할 수 있다. 예를 들어, 모바일 디바이스는 GSM 네트워크, GPRS 네트워크, EDGE 네트워크, Wi-Fi™ 또는 WiMAX™ 네트워크, 및 Bluetooth™ 네트워크를 통해 동작하도록 설계된 통신 서브시스템들(624)을 포함할 수 있다. 특히, 무선 통신 서브시스템들(624)은 모바일 디바이스가 다른 무선 디바이스들에 대한 기지국으로 구성될 수 있도록 호스팅 프로토콜들을 포함할 수 있다.
오디오 서브시스템(626)은 음성 인식, 음성 복제, 디지털 녹음, 및 전화 통신 기능과 같은 음성 지원 기능을 가능하게 하기 위해 스피커(628) 및 마이크로폰(630)에 연결될 수 있다. 오디오 서브시스템(626)은 사용자로부터 음성 명령들을 수신하도록 구성될 수 있다.
I/O 서브시스템(640)은 터치 표면 제어기(642) 및/또는 기타 입력 제어기(들)(644)를 포함할 수 있다. 터치 표면 제어기(642)는 터치 표면(646) 또는 패드에 연결될 수 있다. 터치 표면(646) 및 터치 표면 제어기(642)는, 예를 들어, 용량성, 저항성, 적외선, 및 표면 음파 기술들뿐만 아니라, 터치 표면(646)과의 하나 이상의 접촉점을 결정하기 위한 기타 근접 센서 어레이들 또는 기타 요소들을 포함하지만 이들로 제한되지 않는 복수의 터치 감응성 기술들 중 임의의 기술을 사용하여 접촉 및 그의 이동 또는 중단을 검출할 수 있다. 터치 표면(646)은, 예를 들어 터치 스크린을 포함할 수 있다.
기타 입력 제어기(들)(644)가 하나 이상의 버튼, 로커 스위치(rocker switch), 지동륜(thumb-wheel), 적외선 포트, USB 포트, 및/또는 포인터 디바이스, 예컨대 스타일러스와 같은 기타 입력/제어 디바이스들(648)에 연결될 수 있다. 하나 이상의 버튼(미도시)은 스피커(628) 및/또는 마이크로폰(630)의 음량 제어를 위한 업/다운 버튼을 포함할 수 있다.
일 구현예에서, 제1 지속기간 동안의 버튼 누름은 터치 표면(646)의 잠금을 결합해제할 수 있고; 제1 지속기간보다 더 긴 제2 지속기간 동안의 버튼 누름은 모바일 디바이스(102)에 대한 전원을 켜거나 끌 수 있다. 사용자는 버튼들 중 하나 이상의 버튼의 기능을 사용자 지정(customize)할 수 있다. 터치 표면(646)은 또한, 예를 들어, 가상 또는 소프트 버튼들 및/또는 키보드를 구현하는 데 사용될 수 있다.
일부 구현예들에서, 모바일 디바이스(102)는 MP3, AAC, 및 MPEG 파일들과 같은 레코딩된 오디오 및/또는 비디오 파일들을 제시할 수 있다. 일부 구현예들에서, 모바일 디바이스(102)는 MP3 플레이어의 기능을 포함할 수 있다. 따라서, 모바일 디바이스(102)는 아이팟(iPod)과 호한가능한 핀 커넥터를 포함할 수 있다. 기타 입력/출력 및 제어 디바이스가 또한 사용될 수 있다.
메모리 인터페이스(602)는 메모리(650)에 연결될 수 있다. 메모리(650)는 고속 랜덤 액세스 메모리 및/또는 비휘발성 메모리, 예컨대 하나 이상의 자기 디스크 저장 디바이스, 하나 이상의 광 저장 디바이스, 및/또는 플래시 메모리(예컨대, NAND, NOR)를 포함할 수 있다. 메모리(650)는 다윈(Darwin), RTXC, LINUX, UNIX, OS X, WINDOWS, iOS, 또는 임베디드 운영 체제, 예컨대 VxWorks와 같은 운영 체제(652)를 저장할 수 있다. 운영 체제(652)는 기본 시스템 서비스들을 처리하고 하드웨어 의존적 작업들을 수행하기 위한 명령어들을 포함할 수 있다. 일부 구현예들에서, 운영 체제(652)는 커널(예를 들어, UNIX 커널)을 포함할 수 있다.
메모리(650)는 또한 하나 이상의 추가 디바이스, 하나 이상의 컴퓨터 및/또는 하나 이상의 서버와의 통신을 가능하게 하는 통신 명령어들(654)을 저장할 수 있다. 메모리(650)는 그래픽 사용자 인터페이스 처리를 가능하게 하는 그래픽 사용자 인터페이스 명령어들(656); 센서 관련 처리 및 기능들을 가능하게 하는 센서 처리 명령어들(658); 전화 관련 프로세스들 및 기능들을 가능하게 하는 전화 명령어들(660); 전자 메시징 관련 프로세스들 및 기능들을 가능하게 하는 전자 메시징 명령어들(662); 웹 브라우징 관련 프로세스들 및 기능들을 가능하게 하는 웹 브라우징 명령어들(664); 미디어 처리 관련 프로세스들 및 기능들을 가능하게 하는 미디어 처리 명령어들(666); GPS 및 내비게이션 관련 프로세스 및 명령어들을 가능하게 하는 GPS/내비게이션 명령어들(668); 카메라 관련 프로세스들 및 기능들을 가능하게 하는 카메라 명령어들(670); 및 자력계 교정을 가능하게 하는 자력계 데이터(672) 및 교정 명령어들(674)을 포함할 수 있다. 메모리(650)는 또한 기타 소프트웨어 명령어들(도시되지 않음), 예컨대 보안 명령어들, 웹 비디오 관련 프로세스들 및 기능들을 가능하게 하는 웹 비디오 명령어들, 및/또는 웹 쇼핑 관련 프로세스들 및 기능들을 가능하게 하는 웹 쇼핑 명령어들을 저장할 수 있다. 일부 구현예들에서, 미디어 처리 명령어들(666)은 오디오 처리 관련 프로세스들 및 기능들과 비디오 처리 관련 프로세스들 및 기능들을 각각 가능하게 하는 오디오 처리 명령어들과 비디오 처리 명령어들로 나뉜다. 활성화 레코드 및 IMEI(International Mobile Equipment Identity) 또는 유사한 하드웨어 식별자가 또한 메모리(650)에 저장될 수 있다. 메모리(650)은, 실행 시, 프로세서(604)로 하여금 프로세스(500)를 수행하는 것을 포함한, 개인용 지오펜스를 결정하는 동작들을 수행하게 하는 컴퓨터 명령어들을 포함하는, 개인용 펜스 명령어들(676)을 저장할 수 있다.
위에 확인된 명령어들 및 애플리케이션들 각각은 전술한 하나 이상의 기능을 수행하기 위한 명령어들의 세트에 대응할 수 있다. 이들 명령어는 별개의 소프트웨어 프로그램들, 절차들, 또는 모듈들로서 구현될 필요는 없다. 메모리(650)는 추가의 명령어들 또는 더 적은 수의 명령어들을 포함할 수 있다. 또한, 모바일 디바이스의 다양한 기능들은, 하나 이상의 신호 처리 및/또는 ASIC(application specific integrated circuit)을 포함하여, 하드웨어로 그리고/또는 소프트웨어로 구현될 수 있다.
예시적인 운영 환경
도 7은 개인용 지오펜스의 특징들 및 동작들을 구현하는 모바일 디바이스들에 대한 예시적인 네트워크 운영 환경(700)의 블록도이다. 모바일 디바이스들(702a, 702b)은, 예를 들어, 데이터 통신 시에 하나 이상의 유선 및/또는 무선 네트워크(710)를 통해 통신할 수 있다. 예를 들어, 무선 네트워크(712), 예를 들어, 셀룰러 네트워크가, 게이트웨이(716)를 사용하여, 인터넷과 같은 광역 네트워크(WAN)(714)와 통신할 수 있다. 마찬가지로, 802.11g 무선 액세스 포인트와 같은 액세스 디바이스(718)가 광역 네트워크(714)에의 통신 액세스를 제공할 수 있다. 모바일 디바이스들(702a, 702b) 각각은 모바일 디바이스(102)일 수 있다.
일부 구현예들에서, 음성 및 데이터 통신 둘 모두가 무선 네트워크(712) 및 액세스 디바이스(718)를 통해 확립될 수 있다. 예를 들어, 모바일 디바이스(702a)는 (예컨대, VoIP(voice over Internet Protocol) 프로토콜을 이용하여) 전화를 걸고 받을 수 있고, (예컨대, POP3(Post Office Protocol 3)을 이용하여) 이메일 메시지들을 송신하고 받을 수 있고, (예컨대, TCP/IP(Transmission Control Protocol/Internet Protocol) 또는 UDP(User Datagram Protocol)를 이용하여) 무선 네트워크(712), 게이트웨이(716), 및 광역 네트워크(714)를 통해 웹 페이지, 사진, 및 비디오와 같은 전자 문서들 및/또는 스트림들을 검색할 수 있다. 마찬가지로, 일부 구현예들에서, 모바일 디바이스(702b)는 전화를 걸고 받을 수 있고, 이메일 메시지들을 송신하고 받을 수 있고, 액세스 디바이스(718) 및 광역 네트워크(714)를 통해 전자 문서들을 검색할 수 있다. 일부 구현예들에서, 모바일 디바이스(702a 또는 702b)는 하나 이상의 케이블을 사용하여 액세스 디바이스(718)에 물리적으로 접속될 수 있고, 액세스 디바이스(718)는 개인용 컴퓨터일 수 있다. 이러한 구성에서, 모바일 디바이스(702a 또는 702b)는 "테더링된(tethered)" 디바이스로 지칭될 수 있다.
모바일 디바이스들(702a, 702b)은 또한 다른 수단에 의해 통신을 확립할 수 있다. 예를 들어, 무선 디바이스(702a)는 무선 네트워크(712)를 통해 다른 무선 디바이스들, 예컨대 다른 모바일 디바이스들, 휴대폰들 등과 통신할 수 있다. 마찬가지로, 모바일 디바이스들(702a, 702b)은 Bluetooth™ 통신 디바이스들과 같은 하나 이상의 통신 서브시스템의 사용에 의해 피어-투-피어 통신(720), 예컨대 개인 영역 네트워크(personal area network)를 확립할 수 있다. 기타 통신 프로토콜들 및 토폴로지들이 또한 구현될 수 있다.
모바일 디바이스(702a 또는 702b)는, 예를 들어, 하나 이상의 유선 및/또는 무선 네트워크를 통하여 하나 이상의 서비스(730, 740)와 통신할 수 있다. 예를 들어, 하나 이상의 위치 분류 서비스(730)는 중요성들을 식별하고 분류할 수 있으며, 이는 예를 들어, 중요한 위치의 지리적 좌표가 시스템에 저장된 "ABC 식료 잡화점"의 좌표와 매칭된다고 결정할 시 중요한 위치를 "ABC 식료 잡화점"으로 지정하는 것을 포함한다. 또한, 위치 분류 서비스들(730)은, "ABC 식료 잡화점"에 의해 제공된 등록 정보에 기초하여, "ABC 식료 잡화점"이 식료 잡화 상점이라고 결정할 수 있다. 음성 처리 서비스들(740)은 모바일 디바이스(702a 또는 702b)에 의해 제출된 음성 입력을 분석하고, 분석으로부터 하나 이상의 키워드를 식별하고, 식별된 키워드들을 모바일 디바이스(702a 또는 702b)에 제공할 수 있다.
모바일 디바이스(702a 또는 702b)는 또한 하나 이상의 유선 및/또는 무선 네트워크를 통해 다른 데이터 및 콘텐츠에 액세스할 수 있다. 예를 들어, 뉴스 사이트, RSS(Really Simple Syndication) 피드, 웹 사이트, 블로그, 소셜 네트워킹 사이트, 개발자 네트워크 등과 같은 콘텐츠 게시자들이 모바일 디바이스(702a 또는 702b)에 의해 액세스될 수 있다. 그러한 액세스는, 사용자가 예를 들어 웹 객체를 터치하는 것에 응답하여, 웹 브라우징 기능 또는 애플리케이션(예컨대, 브라우저)의 호출에 의해 제공될 수 있다.
전술한 바와 같이, 본 명세서의 주제의 일부 양태들은 모바일 디바이스가 사용자에게 제공할 수 있는 서비스들을 개선하기 위한 다양한 소스들로부터의 입수가능한 데이터의 수집 및 사용을 포함한다. 본 개시내용은, 일부 경우들에 있어서, 이러한 수집된 데이터가 특정 개인을 고유하게 식별하거나 또는 그와 연락하거나 그의 위치를 확인하는 데 이용될 수 있는 개인 정보 데이터를 포함할 수 있음을 고려한다. 그러한 개인 정보 데이터는 인구통계 데이터, 위치 기반 데이터, 전화번호들, 이메일 주소들, 트위터 ID들, 집 주소들, 또는 임의의 다른 식별 정보를 포함할 수 있다.
본 개시내용은 본 기술에서의 그러한 개인 정보 데이터의 이용이 사용자들에게 이득을 주기 위해 사용될 수 있음을 인식한다. 예를 들어, 개인 정보 데이터는 사용자에게 더 큰 관심대상인 타깃 콘텐츠를 전달하는 데 이용될 수 있다. 따라서, 그러한 개인 정보 데이터의 이용은 전달된 콘텐츠의 계산된 제어를 가능하게 한다. 게다가, 사용자에 이득을 주는 개인 정보 데이터에 대한 다른 이용들이 또한 본 개시내용에 의해 고려된다.
본 개시내용은 그러한 개인 정보 데이터의 수집, 분석, 공개, 전달, 저장, 또는 다른 이용을 책임지고 있는 엔티티들이 잘 확립된 프라이버시 정책들 및/또는 프라이버시 관례들을 준수할 것이라는 것을 추가로 고려한다. 특히, 그러한 엔티티들은, 대체로, 개인 정보 데이터를 사적이고 안전하게 유지시키기 위한 산업적 또는 행정적 요건들을 충족시키거나 넘어서는 것으로 인식되는 프라이버시 정책들 및 관례들을 구현하고 지속적으로 이용해야 한다. 예를 들어, 사용자들로부터의 개인 정보는 엔티티의 적법하며 타당한 사용들을 위해 수집되어야 하고 이들 적법한 사용들을 벗어나서 공유되거나 판매되어서는 안 된다. 또한, 그러한 수집은 단지 사용자들의 통지된 동의를 받은 후에만 발생해야 한다. 부가적으로, 그러한 엔티티들은 그러한 개인 정보 데이터에 대한 액세스를 보호하고 안전하게 하며 개인 정보 데이터에 대한 액세스를 갖는 다른 사람들이 그들의 프라이버시 정책들 및 절차들을 고수한다는 것을 보장하기 위한 임의의 필요한 단계들을 취할 것이다. 게다가, 그러한 엔티티들은 널리 인정된 프라이버시 정책들 및 관례들에 대한 그들의 고수를 증명하기 위해 제3자들에 의해 그들 자신들이 평가를 받을 수 있다.
전술한 것에도 불구하고, 본 개시내용은 또한 사용자가 개인 정보 데이터의 사용, 또는 그에 대한 액세스를 선택적으로 차단하는 실시예들을 고려한다. 즉, 본 개시내용은 그러한 개인 정보 데이터에 대한 액세스를 방지하거나 차단하기 위해 하드웨어 및/또는 소프트웨어 요소들이 제공될 수 있다는 것을 고려한다. 예를 들어, 광고 전달 서비스들의 경우에, 본 기술은 사용자들이 서비스들에 대한 등록 동안에 개인 정보 데이터의 수집에의 참여에 "동의(opt in)" 또는 "동의하지 않음(opt out)"을 선택하게 하도록 구성될 수 있다.
따라서, 본 개시내용이 하나 이상의 다양한 개시된 실시예들을 구현하기 위해 개인 정보 데이터의 사용을 광범위하게 커버하지만, 본 개시내용은 다양한 실시예들이 또한 그러한 개인 정보 데이터에 액세스할 필요 없이 구현될 수 있다는 것을 또한 고려한다. 즉, 본 기술의 다양한 실시예들은 그러한 개인 정보 데이터의 모두 또는 일부분의 결여로 인해 동작 불가능하게 되지는 않는다. 예를 들어, 콘텐츠는, 사용자와 연관된 디바이스에 의해 요청되는 콘텐츠, 콘텐츠 전달 서비스들에 대해 이용가능한 다른 비-개인 정보, 또는 공개적으로 입수가능한 정보와 같은 비-개인 정보 데이터 또는 최소량의 개인 정보에 기초하여 선호도를 추론함으로써 선택되고 사용자들에게 전달될 수 있다.
예시적인 서버 아키텍처
도 8은 도 1 내지 도 5를 참조하여 기술된 특징들 및 동작들을 구현하는 서버에 대한 예시적인 아키텍처(800)의 블록도이다. 아키텍처(800)는 개인용 컴퓨터, 스마트 폰, 전자 태블릿, 게임 콘솔, 서버 또는 메인프레임 컴퓨터를 포함하지만 이로 제한되지 않는, 명령어들로부터 도출된 소프트웨어 애플리케이션들을 실행하는 임의의 데이터 처리 장치 상에서 구현될 수 있다. 일부 구현예들에서, 아키텍처(800)는 프로세서(들)(802), 저장 디바이스(들)(804), 네트워크 인터페이스들(806), 입력/출력(I/O) 디바이스들(808) 및 컴퓨터 판독가능 매체(810)(예를 들어, 메모리)를 포함할 수 있다. 이들 컴포넌트 각각은 하나 이상의 통신 채널(812)에 의해 연결될 수 있다.
통신 채널들(812)은 ISA, EISA, PCI, PCI 익스프레스, NuBus, USB, 직렬 ATA 또는 FireWire를 포함하지만 이로 제한되지 않는, 임의의 알려진 내부 또는 외부 버스 기술일 수 있다.
저장 디바이스(들)(804)는, 비휘발성 저장 매체(예컨대, 광 디스크, 자기 디스크, 플래시 드라이브 등) 또는 휘발성 매체(예컨대, SDRAM, ROM 등)를 제한 없이 포함하는, 실행을 위해 프로세서(802)에 명령어들을 제공하는 데 참여하는 임의의 매체일 수 있다.
I/O 디바이스들(808)은 디스플레이(예를 들어, 터치 감응형 디바이스), 키보드, 제어 디바이스(예를 들어, 마우스, 버튼 또는 스크롤 휠), 라우드 스피커, 헤드폰을 위한 오디오 잭, 마이크로폰 및 정보를 입력 또는 출력하기 위해 사용될 수 있는 다른 디바이스를 포함할 수 있다.
컴퓨터 판독가능 매체(810)는 운영 체제(예컨대, 맥 OS®, 윈도우®, 리눅스)를 구현하기 위한 다양한 명령어들(814)을 포함할 수 있다. 운영 체제는 멀티-유저, 멀티프로세싱, 멀티태스킹, 멀티스레딩, 실시간 등일 수 있다. 운영 체제는 저장 디바이스(들)(804) 상에서 파일들 및 디렉토리들을 추적하는 것; 직접적으로 또는 I/O 제어기를 통해 제어될 수 있는, 주변기기 디바이스들을 제어하는 것; 및 통신 채널들(812) 상의 트래픽을 관리하는 것을 포함하지만 이로 제한되지 않는, 기본 작업들을 수행한다. 네트워크 통신 명령어들(816)은 클라이언트 디바이스들과 네트워크 접속을 확립하고 유지할 수 있다(예를 들어, TCP/IP, RTSP, MMS, ADTS, HTTP 라이브 스트리밍과 같은 전송 프로토콜들을 구현하기 위한 소프트웨어).
컴퓨터 판독가능 매체(810)는 음성 처리 명령어들(820)을 저장할 수 있다. 음성 처리 명령어들(820)은, 프로세서(802)에 의해 실행될 때, 프로세서(802)로 하여금 음성 입력을 분석하여 음성 입력으로부터 키워드들을 인식하고, 음성 출력을 생성하는 동작들을 수행하게 할 수 있다. 컴퓨터 판독가능 매체(810)는 중요한 위치 명령어들(830)을 저장할 수 있다. 중요한 위치 명령어들(830)은, 프로세서(802)에 의해 실행될 때, 프로세서(802)로 하여금 모바일 디바이스의 중요한 위치들을 결정, 저장, 및 업데이트하는 동작들을 수행하게 할 수 있다. 컴퓨터 판독가능 매체(810)는 작업 명령어들(840)을 저장할 수 있다. 작업 명령어들(840)은, 프로세서(802)에 의해 실행될 때, 프로세서(802)로 하여금 개인용 지오펜스를 결정하고, 모바일 디바이스가 개인용 지오펜스에 진입했는지 또는 이탈했는지 여부를 결정하고, 이에 응답하여 작업을 수행하는 동작들을 수행하게 할 수 있다.
기술된 기능들은 디지털 전자 회로에서 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어에서, 또는 이들의 조합으로 구현될 수 있다. 특징들은 프로그래머블 프로세서에 의한 실행을 위해 정보 캐리어에서, 예를 들어, 기계 판독가능 저장 디바이스에서 유형적으로 구현된 컴퓨터 프로그램 제품으로 구현될 수 있으며; 방법 단계들은, 기술된 구현예들의 기능들을 입력 데이터에 대해 동작하고 출력을 생성함으로써 수행하도록 명령어들의 프로그램을 실행하는 프로그래머블 프로세서에 의해 수행될 수 있다.
기술된 특징들은 유리하게는 데이터 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하도록 그리고 그들에 데이터 및 명령어들을 송신하도록 연결된 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행가능한 하나 이상의 컴퓨터 프로그램으로 구현될 수 있다. 컴퓨터 프로그램은 소정의 활동을 수행하거나 소정의 결과를 초래하기 위해 컴퓨터에서 직접 또는 간접적으로 사용될 수 있는 명령어들의 세트이다. 컴퓨터 프로그램은 컴파일러형 또는 해석형 언어를 비롯한 임의의 형태의 프로그래밍 언어(예컨대, 오브젝티브-C(Objective-C), 자바(Java))로 기록될 수 있으며, 그것은 독립형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛으로서를 비롯한 임의의 형태로 효율적으로 사용될 수 있다.
명령어들의 프로그램의 실행에 대해 프로세서들은, 예로서, 임의의 종류의 컴퓨터의, 범용 마이크로프로세서와 특수 목적 마이크로프로세서 둘 모두, 및 단일 프로세서 또는 다수의 프로세서들 또는 코어들 중 하나를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 본질적인 요소는 명령어를 실행하기 위한 프로세서, 및 명령어 및 데이터를 저장하기 위한 하나 이상의 메모리이다. 일반적으로, 컴퓨터는 데이터 파일들을 저장하기 위한 대용량 저장 디바이스들과 통신할 수 있다. 이러한 대용량 저장 디바이스들은 내부 하드디스크 및 탈착가능한 디스크와 같은 자기 디스크; 광자기 디스크; 및 광 디스크를 포함할 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 유형적으로 구현하는 데 적합한 저장 디바이스들은, 예로서 EPROM, EEPROM, 및 플래시 메모리 디스크와 같은 반도체 메모리 디바이스; 내부 하드디스크 및 탈착가능한 디스크와 같은 자기 디스크; 광자기 디스크; 및 CD-ROM 및 DVD-ROM 디스크를 비롯한 모든 형태의 비휘발성 메모리를 포함한다. 프로세서 및 메모리는 ASIC들에 의해 보완되거나 그들에 포함될 수 있다.
저작자와의 상호작용을 제공하기 위해, 특징들은 저작자에게 정보를 표시하기 위한 CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터와 같은 디스플레이 디바이스, 및 저작자가 컴퓨터에 입력을 제공할 수 있게 하는 마우스 또는 트랙볼과 같은 포인팅 디바이스 및 키보드를 갖는 컴퓨터 상에서 구현될 수 있다.
특징들은 데이터 서버와 같은 백-엔드 컴포넌트를 포함하는 컴퓨터 시스템, 또는 애플리케이션 서버 또는 인터넷 서버와 같은 미들웨어 컴포넌트를 포함하는 컴퓨터 시스템, 또는 그래픽 사용자 인터페이스 또는 인터넷 브라우저, 또는 이들의 임의의 조합을 갖는 클라이언트 컴퓨터와 같은 프론트-엔드 컴포넌트를 포함하는 컴퓨터 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 통신 네트워크와 같은 임의의 형태 또는 매체의 디지털 데이터 통신에 의해 접속될 수 있다. 통신 네트워크의 예들은, LAN, WAN, 및 인터넷을 이루는 컴퓨터들과 네트워크들을 포함한다.
컴퓨터 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 대체로 서로 원격이며, 전형적으로 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 각자의 컴퓨터 상에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다.
개시된 실시예들의 하나 이상의 특징 또는 단계는 애플리케이션 프로그래밍 인터페이스(API)를 사용하여 구현될 수 있다. 예를 들어, 데이터 액세스 데몬은 API를 사용하여 다른 애플리케이션(예를 들어, 메모 애플리케이션)에 의해 액세스될 수 있다. API는 호출하는 애플리케이션과, 서비스를 제공하거나 데이터를 제공하거나 동작 또는 계산을 수행하는 다른 소프트웨어 코드(예를 들어, 운영 체제, 라이브러리 루틴, 함수) 사이에 전달되는 하나 이상의 파라미터를 정의할 수 있다.
API는 API 사양서에 정의된 호출 규약에 기초하여 파라미터 목록 또는 다른 구조를 통해 하나 이상의 파라미터를 송신 또는 수신하는 프로그램 코드 내의 하나 이상의 호출로서 구현될 수 있다. 파라미터는 상수, 키, 데이터 구조, 객체, 객체 클래스, 변수, 데이터 타입, 포인터, 배열, 목록, 또는 다른 호출일 수 있다. API 호출들 및 파라미터들은 임의의 프로그래밍 언어로 구현될 수 있다. 프로그래밍 언어는 프로그래머가 API를 지원하는 기능들에 액세스하기 위해 이용할 어휘 및 호출 규약을 정의할 수 있다.
일부 구현예들에서, API 호출은 애플리케이션을 실행하는 디바이스의 능력들, 예컨대 입력 능력, 출력 능력, 처리 능력, 전력 능력, 통신 능력 등을 애플리케이션에게 보고할 수 있다.
다수의 구현예가 기술되었다. 그럼에도 불구하고, 다양한 수정이 이루어질 수 있음이 이해될 것이다. 하나 이상의 구현예의 요소들은 추가적인 구현예들을 형성하기 위해 조합, 삭제, 수정, 또는 보충될 수 있다. 또 다른 예로서, 도면들에 도시된 로직 흐름들은 바람직한 결과들을 달성하기 위해, 도시된 특정 순서 또는 순차적인 순서를 반드시 필요로 하지는 않는다. 또한, 다른 단계들이 제공될 수 있거나, 기술된 흐름들로부터 단계들이 제거될 수 있고, 다른 컴포넌트들이 기술된 시스템들에 추가되거나 그로부터 제거될 수 있다. 따라서, 다른 구현예들은 하기 청구범위의 범주 내에 있다.

Claims (27)

  1. 방법으로서,
    모바일 디바이스에 의해, 작업을 수행하기 위한 리마인더를 제시하기 위한 요청을 수신하는 단계;
    상기 모바일 디바이스에 의해, 상기 모바일 디바이스의 사용자에 의해 이전에 상기 작업이 수행되었던 장소를 결정하는 단계;
    상기 모바일 디바이스에 의해, 상기 모바일 디바이스가 경로 상에서 이동하고 있는 것을 결정하는 단계;
    상기 모바일 디바이스에 의해, 상기 경로 상의 결정 위치를 결정하는 단계 - 상기 결정 위치는 상기 사용자가 상기 경로로부터 상기 장소로 우회하게 하는 상기 경로 상의 위치임 -;
    제1 위치 결정 메커니즘에 의해, 상기 모바일 디바이스의 대략적인 현재 위치 또는 진행 방향을 결정하는 단계;
    상기 모바일 디바이스에 의해, 상기 모바일 디바이스가 상기 경로를 따라 이동함에 따라, 상기 모바일 디바이스와 상기 장소 사이의 지리적 거리 또는 시간적 거리를 모니터링 하는 단계 - 상기 지리적 거리 또는 상기 시간적 거리는 상기 제1 위치 결정 메커니즘과는 상이한 제2 위치 결정 메커니즘에 의해 결정되고, 상기 제2 위치 결정 메커니즘은 상기 대략적인 현재 위치 또는 상기 진행 방향에 기초하여 활성화됨 -; 및
    상기 모바일 디바이스가 상기 결정 위치에 도달하였다고 결정하는 것에 응답하여, 상기 모바일 디바이스 상에 상기 리마인더를 제시하는 단계 - 상기 리마인더를 제시하는 단계는 상기 경로로부터 상기 장소로 우회하기 위한 프롬프트 또는 명령을 생성하는 단계를 포함함 -
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 경로는 과거 이동 데이터에 기초하여 상기 모바일 디바이스에 의해 결정되는 경로인, 방법.
  3. 제1항에 있어서,
    상기 요청은 자연 언어 음성 입력이고,
    상기 리마인더를 제시하는 단계는 음성 출력을 제공하는 단계를 포함하는, 방법.
  4. 제1항에 있어서,
    상기 모바일 디바이스와 상기 장소 사이의 지리적 거리 또는 시간적 거리를 모니터링하는 단계는 위치 샘플링 계획에 따른 것이고,
    상기 위치 샘플링 계획은 상기 모바일 디바이스의 현재 위치, 상기 모바일 디바이스의 현재 모션 판독치, 및 위치 또는 통행과 관련된 과거 사용 패턴에 기초하여 결정되고,
    상기 방법은 상기 지리적 거리 또는 상기 시간적 거리에 기초하여, 상기 모바일 디바이스가 리드 타임(lead time) 내에 상기 장소에 도달할 것이라고 결정하는 단계를 더 포함하는, 방법.
  5. 제4항에 있어서, 상기 위치 샘플링 계획을 결정하는 단계를 더 포함하며, 상기 위치 샘플링 계획을 결정하는 단계는,
    상기 모바일 디바이스의 이동 속도 및 상기 모바일 디바이스와 상기 장소 사이의 상기 지리적 거리에 기초하여, 상기 모바일 디바이스의 상기 제1 위치 결정 메커니즘을 사용할지 또는 상기 지리적 거리 또는 상기 시간적 거리를 모니터링 하기 위한 상기 제2 위치 결정 메커니즘을 사용할지 여부를 결정하는 단계를 포함하는, 방법.
  6. 제5항에 있어서, 상기 제1 위치 결정 메커니즘은 하나 이상의 무선 로컬 영역 네트워크(WLAN)로부터의 신호들을 사용하여 상기 모바일 디바이스의 상기 현재 위치를 결정하고, 상기 제2 위치 결정 메커니즘은 위성 위치확인 시스템(satellite positioning system)으로부터의 신호들을 사용하여 상기 모바일 디바이스의 상기 현재 위치를 결정하는, 방법.
  7. 제1항에 있어서, 상기 장소는 과거 사용 패턴에 기초하여 결정되고, 상기 과거 사용 패턴은 위치 정보 및 통행(transit) 정보를 포함하고, 상기 위치 정보는 지리적 위치 및 상기 모바일 디바이스가 특정 시간에 상기 지리적 위치에 위치할 확률을 포함하며, 상기 통행 정보는 상기 모바일 디바이스가 특정 시간에 제1 지리적 위치로부터 제2 지리적 위치로 통행할 확률을 포함하는, 방법.
  8. 제7항에 있어서, 상기 위치를 결정하는 단계는,
    상기 통행 정보 및 상기 모바일 디바이스의 현재 위치에 기초하여, 상기 모바일 디바이스가 상기 제1 지리적 위치로부터 상기 제2 지리적 위치로 통행하고 있을 확률이 임계 값을 초과한다고 결정하는 단계; 및
    상기 현재 위치 및 상기 모바일 디바이스의 진행 방향에 기초하여 상기 위치를 결정하는 단계를 포함하는, 방법.
  9. 제7항에 있어서, 상기 위치를 결정하는 단계는 상기 모바일 디바이스가 상기 장소의 고정 지오펜스(geofence)에 진입하기 전에 발생하는, 방법.
  10. 하나 이상의 프로세서로 하여금 동작들을 수행하게 하도록 동작가능한 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서, 상기 동작들은,
    모바일 디바이스에 의해, 작업을 수행하기 위한 리마인더를 제시하기 위한 요청을 수신하는 것;
    상기 모바일 디바이스에 의해, 상기 모바일 디바이스의 사용자에 의해 이전에 상기 작업이 수행되었던 장소를 결정하는 것;
    상기 모바일 디바이스에 의해, 상기 모바일 디바이스가 경로 상에서 이동하고 있는 것을 결정하는 것;
    상기 모바일 디바이스에 의해, 상기 경로 상의 결정 위치를 결정하는 것 - 상기 결정 위치는 상기 사용자가 상기 경로로부터 상기 장소로 우회하게 하는 상기 경로 상의 위치임 -;
    제1 위치 결정 메커니즘에 의해, 상기 모바일 디바이스의 대략적인 현재 위치 또는 진행 방향을 결정하는 것;
    상기 모바일 디바이스에 의해, 상기 모바일 디바이스가 상기 경로를 따라 이동함에 따라, 상기 모바일 디바이스와 상기 장소 사이의 지리적 거리 또는 시간적 거리를 모니터링 하는 것 - 상기 지리적 거리 또는 상기 시간적 거리는 상기 제1 위치 결정 메커니즘과는 상이한 제2 위치 결정 메커니즘에 의해 결정되고, 상기 제2 위치 결정 메커니즘은 상기 대략적인 현재 위치 또는 상기 진행 방향에 기초하여 활성화됨 -; 및
    상기 모바일 디바이스가 상기 결정 위치에 도달하였다고 결정하는 것에 응답하여, 상기 모바일 디바이스 상에 상기 리마인더를 제시하는 것 - 상기 리마인더를 제시하는 것은 상기 경로로부터 상기 장소로 우회하기 위한 프롬프트 또는 명령을 생성하는 것을 포함함 -
    을 포함하는 비일시적 컴퓨터 판독가능 매체.
  11. 제10항에 있어서, 상기 경로는 과거 이동 데이터에 기초하여 상기 모바일 디바이스에 의해 결정되는 경로인, 비일시적 컴퓨터 판독가능 매체.
  12. 제10항에 있어서,
    상기 요청은 자연 언어 음성 입력이고,
    상기 리마인더를 제시하는 것은 음성 출력을 제공하는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  13. 제10항에 있어서,
    상기 모바일 디바이스와 상기 장소 사이의 지리적 거리 또는 시간적 거리를 모니터링하는 것은 위치 샘플링 계획에 따른 것이고,
    상기 위치 샘플링 계획은 상기 모바일 디바이스의 현재 위치, 상기 모바일 디바이스의 현재 모션 판독치, 및 위치 또는 통행과 관련된 과거 사용 패턴에 기초하여 결정되고,
    상기 동작들은 상기 지리적 거리 또는 상기 시간적 거리에 기초하여, 상기 모바일 디바이스가 리드 타임 이후에 상기 장소에 도달할 것이라고 결정하는 것을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  14. 제13항에 있어서, 상기 동작들은 상기 위치 샘플링 계획을 결정하는 것을 더 포함하며, 상기 위치 샘플링 계획을 결정하는 것은,
    상기 모바일 디바이스의 이동 속도 및 상기 모바일 디바이스와 상기 장소 사이의 상기 지리적 거리에 기초하여, 상기 모바일 디바이스의 상기 제1 위치 결정 메커니즘을 사용할지 또는 상기 지리적 거리 또는 상기 시간적 거리를 모니터링 하기 위한 상기 제2 위치 결정 메커니즘을 사용할지 여부를 결정하는
    것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  15. 제14항에 있어서, 상기 제1 위치 결정 메커니즘은 하나 이상의 무선 로컬 영역 네트워크(WLAN)로부터의 신호들을 사용하여 상기 모바일 디바이스의 상기 현재 위치를 결정하고, 상기 제2 위치 결정 메커니즘은 위성 위치확인 시스템으로부터의 신호들을 사용하여 상기 모바일 디바이스의 상기 현재 위치를 결정하는, 비일시적 컴퓨터 판독가능 매체.
  16. 제10항에 있어서, 상기 장소는 과거 사용 패턴에 기초하여 결정되고, 상기 과거 사용 패턴은 위치 정보 및 통행 정보를 포함하고, 상기 위치 정보는 지리적 위치 및 상기 모바일 디바이스가 특정 시간에 상기 지리적 위치에 위치할 확률을 포함하며, 상기 통행 정보는 상기 모바일 디바이스가 특정 시간에 제1 지리적 위치로부터 제2 지리적 위치로 통행할 확률을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  17. 제16항에 있어서, 상기 위치를 결정하는 것은,
    상기 통행 정보 및 상기 모바일 디바이스의 현재 위치에 기초하여, 상기 모바일 디바이스가 상기 제1 지리적 위치로부터 상기 제2 지리적 위치로 통행하고 있을 확률이 임계 값을 초과한다고 결정하는 것; 및
    상기 현재 위치 및 상기 모바일 디바이스의 진행 방향에 기초하여 상기 위치를 결정하는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  18. 제16항에 있어서, 상기 위치를 결정하는 것은 상기 모바일 디바이스가 상기 장소의 고정 지오펜스에 진입하기 전에 발생하는, 비일시적 컴퓨터 판독가능 매체.
  19. 시스템으로서,
    하나 이상의 프로세서; 및
    하나 이상의 프로세서로 하여금 동작들을 수행하게 하도록 동작가능한 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체
    를 포함하며, 상기 동작들은,
    모바일 디바이스에 의해, 작업을 수행하기 위한 리마인더를 제시하기 위한 요청을 수신하는 것;
    상기 모바일 디바이스에 의해, 상기 모바일 디바이스의 사용자에 의해 이전에 상기 작업이 수행되었던 장소를 결정하는 것;
    상기 모바일 디바이스에 의해, 상기 모바일 디바이스가 경로 상에서 이동하고 있는 것을 결정하는 것;
    상기 모바일 디바이스에 의해, 상기 경로 상의 결정 위치를 결정하는 것 - 상기 결정 위치는 상기 사용자가 상기 경로로부터 상기 장소로 우회하게 하는 상기 경로 상의 위치임 -;
    제1 위치 결정 메커니즘에 의해, 상기 모바일 디바이스의 대략적인 현재 위치 또는 진행 방향을 결정하는 것;
    상기 모바일 디바이스에 의해, 상기 모바일 디바이스가 상기 경로를 따라 이동함에 따라, 상기 모바일 디바이스와 상기 장소 사이의 지리적 거리 또는 시간적 거리를 모니터링 하는 것 - 상기 지리적 거리 또는 상기 시간적 거리는 상기 제1 위치 결정 메커니즘과는 상이한 제2 위치 결정 메커니즘에 의해 결정되고, 상기 제2 위치 결정 메커니즘은 상기 대략적인 현재 위치 또는 상기 진행 방향에 기초하여 활성화됨 -; 및
    상기 모바일 디바이스가 상기 결정 위치에 도달하였다고 결정하는 것에 응답하여, 상기 모바일 디바이스 상에 상기 리마인더를 제시하는 것 - 상기 리마인더를 제시하는 것은 상기 경로로부터 상기 장소로 우회하기 위한 프롬프트 또는 명령을 생성하는 것을 포함함 -
    을 포함하는 시스템.
  20. 제19항에 있어서,
    상기 경로는 과거 이동 데이터에 기초하여 상기 모바일 디바이스에 의해 결정되는 경로인, 시스템.
  21. 제19항에 있어서,
    상기 요청은 자연 언어 음성 입력이고,
    상기 리마인더를 제시하는 것은 음성 출력을 제공하는 것을 포함하는, 시스템.
  22. 제19항에 있어서,
    상기 모바일 디바이스와 상기 장소 사이의 지리적 거리 또는 시간적 거리를 모니터링하는 것은 위치 샘플링 계획에 따른 것이고,
    상기 위치 샘플링 계획은 상기 모바일 디바이스의 현재 위치, 상기 모바일 디바이스의 현재 모션 판독치, 및 위치 또는 통행과 관련된 과거 사용 패턴에 기초하여 결정되고,
    상기 동작들은, 상기 지리적 거리 또는 상기 시간적 거리에 기초하여, 상기 모바일 디바이스가 리드 타임 이후에 상기 장소에 도달할 것이라고 결정하는 것을 더 포함하는, 시스템.
  23. 제22항에 있어서, 상기 동작들은 상기 위치 샘플링 계획을 결정하는 것을 더 포함하며, 상기 위치 샘플링 계획을 결정하는 것은,
    상기 모바일 디바이스의 이동 속도 및 상기 모바일 디바이스와 상기 장소 사이의 상기 지리적 거리에 기초하여, 상기 모바일 디바이스의 상기 제1 위치 결정 메커니즘을 사용할지 또는 상기 지리적 거리 또는 상기 시간적 거리를 모니터링 하기 위한 상기 제2 위치 결정 메커니즘을 사용할지 여부를 결정하는 것을 포함하는, 시스템.
  24. 제23항에 있어서, 상기 제1 위치 결정 메커니즘은 하나 이상의 무선 로컬 영역 네트워크(WLAN)로부터의 신호들을 사용하여 상기 모바일 디바이스의 상기 현재 위치를 결정하고, 상기 제2 위치 결정 메커니즘은 위성 위치확인 시스템으로부터의 신호들을 사용하여 상기 모바일 디바이스의 상기 현재 위치를 결정하는, 시스템.
  25. 제19항에 있어서, 상기 장소는 과거 사용 패턴에 기초하여 결정되고, 상기 과거 사용 패턴은 위치 정보 및 통행 정보를 포함하고, 상기 위치 정보는 지리적 위치 및 상기 모바일 디바이스가 특정 시간에 상기 지리적 위치에 위치할 확률을 포함하며, 상기 통행 정보는 상기 모바일 디바이스가 특정 시간에 제1 지리적 위치로부터 제2 지리적 위치로 통행할 확률을 포함하는, 시스템.
  26. 제25항에 있어서, 상기 위치를 결정하는 것은,
    상기 통행 정보 및 상기 모바일 디바이스의 현재 위치에 기초하여, 상기 모바일 디바이스가 상기 제1 지리적 위치로부터 상기 제2 지리적 위치로 통행하고 있을 확률이 임계 값을 초과한다고 결정하는 것; 및
    상기 현재 위치 및 상기 모바일 디바이스의 진행 방향에 기초하여 상기 위치를 결정하는 것을 포함하는, 시스템.
  27. 제25항에 있어서, 상기 장소를 결정하는 것은 상기 작업과 관련된 복수의 장소들의 목록을 선택을 위해 상기 사용자에게 제시하는 것; 및 상기 목록으로부터의 사용자 선택을 상기 장소로 지정하는 것을 포함하는, 시스템.
KR1020167021591A 2014-02-14 2015-02-09 개인용 지오펜스 KR101871794B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/180,731 2014-02-14
US14/180,731 US20150237470A1 (en) 2014-02-14 2014-02-14 Personal Geofence
PCT/US2015/015014 WO2015123139A1 (en) 2014-02-14 2015-02-09 Personal geofence

Publications (2)

Publication Number Publication Date
KR20160106694A KR20160106694A (ko) 2016-09-12
KR101871794B1 true KR101871794B1 (ko) 2018-06-28

Family

ID=52577979

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167021591A KR101871794B1 (ko) 2014-02-14 2015-02-09 개인용 지오펜스

Country Status (5)

Country Link
US (1) US20150237470A1 (ko)
EP (1) EP3105947A1 (ko)
KR (1) KR101871794B1 (ko)
CN (1) CN105981418B (ko)
WO (1) WO2015123139A1 (ko)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9247378B2 (en) 2012-08-07 2016-01-26 Honeywell International Inc. Method for controlling an HVAC system using a proximity aware mobile device
WO2015035185A1 (en) 2013-09-06 2015-03-12 Apple Inc. Providing transit information
KR102204141B1 (ko) * 2013-07-12 2021-01-18 삼성전자주식회사 태스크를 리마인드하는 전자 장치 및 그 제어 방법
EP3080967B1 (en) 2013-12-11 2021-10-13 Ademco Inc. Building automation control systems
US10346465B2 (en) 2013-12-20 2019-07-09 Qualcomm Incorporated Systems, methods, and apparatus for digital composition and/or retrieval
US11169773B2 (en) 2014-04-01 2021-11-09 TekWear, LLC Systems, methods, and apparatuses for agricultural data collection, analysis, and management via a mobile device
WO2018022301A1 (en) * 2016-07-12 2018-02-01 TekWear, LLC Systems, methods, and apparatuses for agricultural data collection, analysis, and management via a mobile device
US20150350843A1 (en) 2014-05-30 2015-12-03 Apple Inc. Location application program interface
US20160162469A1 (en) * 2014-10-23 2016-06-09 Audience, Inc. Dynamic Local ASR Vocabulary
WO2016095120A1 (zh) * 2014-12-17 2016-06-23 华为技术有限公司 实现地理围栏的方法和移动设备
US20160241997A1 (en) * 2015-02-13 2016-08-18 Watch Out!, Inc. Geofence entry timestamps from diverse sources
US9900174B2 (en) 2015-03-06 2018-02-20 Honeywell International Inc. Multi-user geofencing for building automation
US9967391B2 (en) 2015-03-25 2018-05-08 Honeywell International Inc. Geo-fencing in a building automation system
US10802459B2 (en) * 2015-04-27 2020-10-13 Ademco Inc. Geo-fencing with advanced intelligent recovery
US10802469B2 (en) 2015-04-27 2020-10-13 Ademco Inc. Geo-fencing with diagnostic feature
US9609478B2 (en) 2015-04-27 2017-03-28 Honeywell International Inc. Geo-fencing with diagnostic feature
US9838848B2 (en) * 2015-06-05 2017-12-05 Apple Inc. Venue data prefetch
US10120948B2 (en) * 2015-10-13 2018-11-06 Google Llc Providing notifications based on geofencing search results
US10057110B2 (en) 2015-11-06 2018-08-21 Honeywell International Inc. Site management system with dynamic site threat level based on geo-location data
US9628951B1 (en) 2015-11-11 2017-04-18 Honeywell International Inc. Methods and systems for performing geofencing with reduced power consumption
US10516965B2 (en) 2015-11-11 2019-12-24 Ademco Inc. HVAC control using geofencing
US9560482B1 (en) 2015-12-09 2017-01-31 Honeywell International Inc. User or automated selection of enhanced geo-fencing
US9860697B2 (en) 2015-12-09 2018-01-02 Honeywell International Inc. Methods and systems for automatic adjustment of a geofence size
US9877154B2 (en) * 2016-02-05 2018-01-23 Google Llc Method and apparatus for providing target location reminders for a mobile device
US10605472B2 (en) 2016-02-19 2020-03-31 Ademco Inc. Multiple adaptive geo-fences for a building
US10251023B2 (en) 2016-04-29 2019-04-02 In-Telligent Properties Inc. Notification and communication system using geofencing to identify members of a community
US9820042B1 (en) 2016-05-02 2017-11-14 Knowles Electronics, Llc Stereo separation and directional suppression with omni-directional microphones
US10643185B2 (en) 2016-06-10 2020-05-05 Apple Inc. Suggested locations for calendar events
US10034132B2 (en) 2016-06-16 2018-07-24 International Business Machines Corporation System and method for defining zones for location-based services
US10302322B2 (en) 2016-07-22 2019-05-28 Ademco Inc. Triage of initial schedule setup for an HVAC controller
US10488062B2 (en) 2016-07-22 2019-11-26 Ademco Inc. Geofence plus schedule for a building controller
US10306403B2 (en) * 2016-08-03 2019-05-28 Honeywell International Inc. Location based dynamic geo-fencing system for security
US10142773B2 (en) * 2016-10-12 2018-11-27 Mars, Incorporated System and method for automatically detecting and initiating a walk
US10317102B2 (en) 2017-04-18 2019-06-11 Ademco Inc. Geofencing for thermostatic control
CN107193907A (zh) * 2017-05-11 2017-09-22 努比亚技术有限公司 一种信息提醒方法及设备、计算机可读存储介质
KR102290755B1 (ko) 2017-05-17 2021-08-18 삼성전자주식회사 인접 기반 정보를 제공하는 방법 및 장치
US10397395B2 (en) 2017-05-17 2019-08-27 Microsoft Technology Licensing, Llc Departure or entry intent-based reminders
CN107270923A (zh) * 2017-06-16 2017-10-20 广东欧珀移动通信有限公司 一种路线推送的方法、终端及存储介质
US11972327B2 (en) * 2017-08-25 2024-04-30 Samsung Electronics Co., Ltd. Method for automating actions for an electronic device
US10171940B1 (en) * 2017-09-07 2019-01-01 International Business Machines Corporation Transportation activated geofence
KR102506866B1 (ko) * 2017-12-13 2023-03-08 현대자동차주식회사 차량 환경에서 선발화 안내 장치, 방법 및 시스템
KR20190100786A (ko) 2018-02-21 2019-08-29 삼성전자주식회사 결제 정보에 기반한 지오펜싱 방법 및 이를 위한 장치
US10893114B2 (en) * 2018-05-01 2021-01-12 Jetsmarter Inc. Optimizing notification transmission
US10602306B1 (en) * 2018-09-24 2020-03-24 Honeywell International Inc. Organizational context-based operations of a mobile device
US11246004B2 (en) 2019-04-16 2022-02-08 Milwaukee Electric Tool Corporation Power tool geofence tracking and dashboard
USD932712S1 (en) 2019-06-26 2021-10-05 Mars, Incorporated Collar charm
USD950863S1 (en) 2019-06-26 2022-05-03 Mars, Incorporated Collar charm
US11228861B2 (en) 2019-09-17 2022-01-18 In-Telligent Properties Llc Emergency alert systems with customized alerts
US11297466B1 (en) 2020-04-24 2022-04-05 Allstate Insurance Company Systems for predicting and classifying location data based on machine learning
USD1000732S1 (en) 2020-11-13 2023-10-03 Mars, Incorporated Pet tracking and monitoring device
DE102021202266A1 (de) 2021-03-09 2022-09-15 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zur Ausgabe von Erinnerungen für einen Fahrzeuginsassen in einem Kraftfahrzeug
CN113115211A (zh) * 2021-04-23 2021-07-13 荣耀终端有限公司 一种多层围栏构建方法、云服务器及第一终端设备
KR102625509B1 (ko) * 2021-07-23 2024-01-23 송경준 키오스크 기반의 서비스 제공 방법 및 장치
CN113794801B (zh) * 2021-08-09 2022-09-27 荣耀终端有限公司 地理围栏的处理方法及装置
CN113779166B (zh) * 2021-08-20 2024-02-13 上海瑾盛通信科技有限公司 地理围栏控制方法、装置、存储介质及电子设备
CN116761230B (zh) * 2023-08-17 2023-12-15 Tcl通讯科技(成都)有限公司 设备入网方法、装置、电子设备及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120149394A1 (en) * 2006-09-28 2012-06-14 Singh Munindar P Apparatus And Method For Providing A Task Reminder Based On Travel History

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035647B2 (en) * 2002-02-07 2006-04-25 Openwave Systems Inc. Efficient location determination for mobile units
US7437295B2 (en) * 2001-04-27 2008-10-14 Accenture Llp Natural language processing for a location-based services system
US6892135B1 (en) * 2001-12-21 2005-05-10 Garmin Ltd. Navigation system, method and device with automatic next turn page
US7693817B2 (en) * 2005-06-29 2010-04-06 Microsoft Corporation Sensing, storing, indexing, and retrieving data leveraging measures of user activity, attention, and interest
US7545318B2 (en) * 2006-07-14 2009-06-09 Remotemdx Remote tracking system and device with variable sampling and sending capabilities based on environmental factors
WO2009099773A2 (en) * 2008-02-01 2009-08-13 Walker Jonathan B Systems and methods for providing location based services (lbs) utilizing wlan and/or gps signals for seamless indoor and outdoor tracking
US8219115B1 (en) * 2008-05-12 2012-07-10 Google Inc. Location based reminders
US9277362B2 (en) * 2010-09-03 2016-03-01 Blackberry Limited Method and apparatus for generating and using location information
GB201113920D0 (en) * 2011-08-12 2011-09-28 Overlay Media Ltd Optimised context-awareness on mobile devices
US8538686B2 (en) * 2011-09-09 2013-09-17 Microsoft Corporation Transport-dependent prediction of destinations

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120149394A1 (en) * 2006-09-28 2012-06-14 Singh Munindar P Apparatus And Method For Providing A Task Reminder Based On Travel History

Also Published As

Publication number Publication date
CN105981418B (zh) 2019-11-19
US20150237470A1 (en) 2015-08-20
WO2015123139A1 (en) 2015-08-20
CN105981418A (zh) 2016-09-28
EP3105947A1 (en) 2016-12-21
KR20160106694A (ko) 2016-09-12

Similar Documents

Publication Publication Date Title
KR101871794B1 (ko) 개인용 지오펜스
US10111036B2 (en) Location based notification services
US20210243552A1 (en) Location Service Management
EP3149975B1 (en) Determining a significant user location for providing location-based services
US8660541B1 (en) Provision of location-based venue information
US9769107B2 (en) Lifestyle-based social groups
KR101876652B1 (ko) 애플리케이션 사용에 기초한 관심 지점 위치 판정
US9094792B2 (en) Predicting routes using wireless networks
CN104798417B (zh) 基于语义位置的地理围栏
US20150256977A1 (en) Determining Activity Paths from Anonymous Application Usage Data and Motion Activity
US20190102705A1 (en) Determining Preferential Device Behavior
US8812029B1 (en) Automated user check-in utilizing mobile computing devices
JP2017538176A (ja) ジオフェンシング通知登録
US10965687B2 (en) Location service authorization and indication
US20210011440A1 (en) Data-Driven Context Determination
WO2013116542A1 (en) Location-based methods, systems, and program products for performing an action at a user device
KR20220066369A (ko) 트래블 기반 통지
US9031978B1 (en) Provision of location-based business information
US9584607B2 (en) Providing content based on location

Legal Events

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