KR20170137954A - 동반 디바이스를 사용한 위치 결정 - Google Patents

동반 디바이스를 사용한 위치 결정 Download PDF

Info

Publication number
KR20170137954A
KR20170137954A KR1020177034810A KR20177034810A KR20170137954A KR 20170137954 A KR20170137954 A KR 20170137954A KR 1020177034810 A KR1020177034810 A KR 1020177034810A KR 20177034810 A KR20177034810 A KR 20177034810A KR 20170137954 A KR20170137954 A KR 20170137954A
Authority
KR
South Korea
Prior art keywords
location
mobile device
accuracy
determining
specified
Prior art date
Application number
KR1020177034810A
Other languages
English (en)
Other versions
KR101913535B1 (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 KR20170137954A publication Critical patent/KR20170137954A/ko
Application granted granted Critical
Publication of KR101913535B1 publication Critical patent/KR101913535B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0205Details
    • G01S5/0236Assistance data, e.g. base station almanac
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/51Relative positioning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • G01S5/0072Transmission between mobile stations, e.g. anti-collision systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0205Details
    • G01S5/0244Accuracy or reliability of position solution or of measurements contributing thereto
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0252Radio frequency fingerprinting
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0257Hybrid positioning
    • G01S5/0263Hybrid positioning by combining or switching between positions derived from two or more separate positioning systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0284Relative positioning
    • 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/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • 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/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • H04M1/72527
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • 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/029Location-based management or tracking services
    • H04W76/023
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • 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/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/724094Interfacing with a device worn on the user's body to provide access to telephonic functionalities, e.g. accepting a call, reading or composing a message
    • H04M1/724095Worn on the wrist, hand or arm

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

동반 디바이스(106)의 위치에 기초하여 모바일 디바이스(102)가 자신의 위치를 결정하기 위한 방법들, 시스템들 및 컴퓨터 프로그램 제품들이 설명된다. 모바일 디바이스(102)는 애플리케이션으로부터 모바일 디바이스(102)의 위치를 결정하기 위한 요청을 수신할 수 있다. 요청은 결정된 위치의 정확도에 대한 하한을 제공하는 정확도 세부사항을 포함할 수 있다. 모바일 디바이스(102)는, 모바일 디바이스(102)가 그 정확도를 달성할 수 없다고 결정할 수 있다. 그 다음, 모바일 디바이스(102)는 모바일 디바이스(102)와 페어링된 동반 디바이스(106)에 위치 요청을 제출할 수 있다. 동반 디바이스(106)는 위치 요청을 수신하면, 동반 디바이스(106)의 위치를 결정하고, 동반 디바이스(106)의 위치를 모바일 디바이스(102)에 제공할 수 있다. 그 다음, 모바일 디바이스(102)는 동반 디바이스(106)의 위치를 모바일 디바이스(102)의 위치로서 지정하고, 그 위치를 애플리케이션에 제공할 수 있다.

Description

동반 디바이스를 사용한 위치 결정
관련 출원에 대한 상호 참조
본 출원은 2015년 6월 5일에 출원되고 발명의 명칭이 "Location Determination Using A Companion Device"인 미국 가특허 출원 제62/171,973호에 대한 우선권을 주장하며, 상기 가특허 출원의 전체 내용은 참조로 본원에 통합된다.
기술분야
본 개시내용은 일반적으로 위치 결정에 관한 것이다.
일부 무선 디바이스들은 서로 무선으로 접속되거나 "페어링될(paired)" 수 있다. 2개의 디바이스들이 서로 페어링된 경우, 2개의 디바이스들은, 인간의 개입을 요구하지 않고 무선으로 서로에게 정보를 제출하고 서로로부터 정보를 수신하는 것을 포함하여 서로 통신할 수 있다. 페어링은 무선 핸드셰이킹 프로세스를 수반할 수 있는데, 예를 들어, 제1 디바이스는 신호를 브로드캐스트하고, 제2 디바이스는 신호를 검출하고 제1 디바이스와 무선 접속을 설정한다. 그 다음, 제1 디바이스 및 제2 디바이스는 페어링된다. 제1 디바이스 및 제2 디바이스는 그 쌍에서 동반 디바이스들일 수 있다. 페어링의 간단한 예는 오디오 출력 디바이스를 전자 디바이스에 추가하는 것이다. 예를 들어, 모바일 디바이스(예를 들어, 스마트 폰)는 무선 헤드셋 또는 카 오디오 시스템과 페어링될 수 있다. 페어링되는 경우, 헤드셋은 스마트 폰을 위한 오디오 출력 디바이스가 된다.
동반 디바이스를 사용하여 위치를 결정하기 위한 기술들이 설명된다. 모바일 디바이스는 애플리케이션으로부터 모바일 디바이스의 위치를 결정하기 위한 요청을 수신할 수 있다. 요청은 결정된 위치의 정확도에 대한 하한을 제공하는 정확도 세부사항을 포함할 수 있다. 모바일 디바이스는, 모바일 디바이스가 그 정확도를 달성할 수 없다고 결정할 수 있다. 그 다음, 모바일 디바이스는 모바일 디바이스와 페어링된 동반 디바이스에 위치 요청을 제출할 수 있다. 동반 디바이스는 위치 요청을 수신하면, 동반 디바이스의 위치를 결정하고, 동반 디바이스의 위치를 제1 모바일 디바이스에 제공할 수 있다. 그 다음, 모바일 디바이스는 동반 디바이스의 위치를 모바일 디바이스의 위치로서 지정하고, 그 위치를 애플리케이션에 제공할 수 있다.
본 명세서에 기술되는 특징들은 다양한 이점들을 달성하도록 구현될 수 있다. 예를 들어, 종래의 위치 결정과 비교하여, 본 명세서에서 설명된 기술들은 보다 유연하다. 종래에, 디바이스가 위치에 대한 요청을 수신하지만 요청된 대로 위치를 제공할 수 없으면, 디바이스는 실패를 표시함으로써 응답할 수 있다. 본 명세서에서 설명된 기술을 사용하여, 디바이스는, 자기 자신의 위치를 더 잘 결정할 수 있는 페어링된 동반 디바이스로부터 도움을 요청함으로써 위치를 얻으려고 시도할 수 있다. 도움을 위한 요청은 사용자 개입 없이 배경에서 행해질 수 있다. 따라서, 디바이스는 더 적은 실패들을 제공하고, 더 양호한 사용자 경험을 제공할 수 있다.
첨부 도면들과 하기의 설명에서는 기술들의 하나 이상의 구현들의 세부 사항들이 제시된다. 실내 위치 조사 기술들의 다른 특징들, 양태들, 및 이점들은 본 명세서, 도면들, 및 청구범위들로부터 명백해질 것이다.
도 1은 동반 디바이스를 사용한 위치 결정의 예시적인 기술들을 도시하는 도면이다.
도 2는 동반 디바이스를 사용한 위치 결정의 예시적인 프로세스의 흐름도이다.
도 3은 위치 결정 기술들을 구현하는 예시적인 디바이스의 컴포넌트들을 도시하는 블록도이다.
도 4는 예시적인 데이터 흐름을 도시하는 블록도이다.
도 5는 동반 디바이스를 사용한 위치 결정의 예시적인 프로세스의 흐름도이다.
도 6은 도 1 내지 도 5를 참조하여 설명된 특징들 및 동작들을 구현하는 모바일 디바이스의 예시적인 디바이스 아키텍처를 도시하는 블록도이다.
도 7은 도 1 내지 도 6의 모바일 디바이스들에 대한 예시적인 네트워크 운영 환경의 블록도이다.
다양한 도면들에서의 유사한 도면 부호들은 유사한 요소들을 가리킨다.
예시적인 위치 추정
도 1은 동반 디바이스를 사용한 위치 결정의 예시적인 기술들을 도시하는 도면이다. 모바일 디바이스(102)는 동반 디바이스와 페어링할 수 있는 임의의 디바이스일 수 있다. 예를 들어, 모바일 디바이스(102)는 웨어러블 전자 디바이스, 예를 들어, 스마트 시계일 수 있다. 모바일 디바이스(102)는 하나 이상의 애플리케이션 프로그램들을 실행할 수 있다. 애플리케이션 프로그램은 위치 기반 서비스, 예를 들어, 현재 위치에 대한 교통 경보를 디스플레이하는 것을 제공하도록 구성될 수 있다.
위치 기반 서비스를 수행하기 위해, 애플리케이션 프로그램은 모바일 디바이스(102)의 위치를 요청할 수 있다. 예를 들어, 교통 경고 애플리케이션 프로그램은 목적지로의 루트에 대한 시작점으로서 사용하기 위해 모바일 디바이스(102)의 현재 위치를 요청할 수 있다. 애플리케이션 프로그램은 모바일 디바이스(102)의 위치 서브시스템에 요청을 전송할 수 있다. 요청은 애플리케이션 프로그램의 위치 정확도 요건을 특정할 수 있다. 상이한 애플리케이션 프로그램은 상이한 위치 정확도를 요청할 수 있다. 예를 들어, 교통 경고 애플리케이션은 시간 구역 디스플레이 애플리케이션이 요청할 수 있는 것(예를 들어, 킬로미터 단위)보다 높은 위치 정확도(예를 들어, 미터 단위)를 요청할 수 있다.
모바일 디바이스(102)의 위치 서브시스템은 다양한 기술들을 사용하여 모바일 디바이스(102)의 위치를 결정할 수 있다. 예를 들어, 위치 서브시스템은 신호 소스(104)로부터의 무선 신호들을 사용하여 위치를 결정할 수 있다. 신호 소스(104)는 식별자, 예를 들어, 미디어 액세스 제어(MAC) 어드레스를 브로드캐스트하는 무선 액세스 포인트일 수 있다. 신호를 검출하고 식별자를 디코딩하면, 모바일 디바이스(102)는 신호 소스(104)가 공지된 위치를 갖는지 여부를 결정할 수 있고, 공지된 위치를 갖는다면 모바일 디바이스(102)의 위치를 결정하기 위해 그 공지된 위치를 사용할 수 있다.
모바일 디바이스(102)는, 위치 서브시스템이, 위치 요청에서의 정확도 세부사항을 만족시키는 정도의 정확도로 모바일 디바이스(102)의 위치를 결정할 수 없다고 결정할 수 있다. 예를 들어, 애플리케이션 프로그램은 50 미터의 정확도를 요청할 수 있지만, 위치 서브시스템은 최대 100 미터의 정확도만을 제공할 수 있다. 위치 결정의 실패를 표시하는 위치 요청에 대한 응답을 제공하는 것 대신에, 모바일 디바이스(102)는 동반 디바이스(106)로부터 도움을 요청할 수 있다.
동반 디바이스(106)는 모바일 디바이스(102)의 인근에 위치되고 모바일 디바이스(102)와 페어링된 전자 디바이스(예를 들어, 모바일 폰, 태블릿 컴퓨팅 디바이스 또는 다른 웨어러블 디바이스)일 수 있다. 동반 디바이스(106)가 단거리 통신 기술을 사용하여 통신하기 위한 모바일 디바이스(102)의 범위 내에 위치되면, 동반 디바이스(106)는 모바일 디바이스(102)의 인근에 위치된다. 단거리 통신 기술(예를 들어, Bluetooth™)은 구현들 사이에서 변할 수 있다. 단거리(예를 들어, 10 미터 이하)는 정확도 요건보다 짧은 범위이다. 동반 디바이스(106)는, 모바일 디바이스(102)와 동반 디바이스(106) 사이에 통신 채널(108)이 설정된 후, 모바일 디바이스(102)와 페어링된다. 모바일 디바이스(102) 또는 동반 디바이스(106) 중 어느 하나는 통신 채널(108)을 설정함으로써 페어링을 개시할 수 있다. 다양한 구현들에서, 페어링은 위치 요청 전에 발생할 수 있다. 대안적으로, 페어링은 위치 요청에 의해 트리거링될 수 있다.
모바일 디바이스(102)는 정확도 세부사항을 포함하는 위치 요청을 동반 디바이스(106)에 제출할 수 있다. 동반 디바이스(106)는 모바일 디바이스(102)의 위치 서브시스템보다 더 능력이 있는 위치 서브시스템을 가질 수 있다. 예를 들어, 동반 디바이스(106)는 모바일 디바이스(102)가 갖지 않은 글로벌 내비게이션 위성 시스템(GNSS) 수신기를 포함할 수 있다. GNSS 수신기는 GNSS의 위성들(110)로부터의 신호들을 사용하여 동반 디바이스(106)의 위치를 결정할 수 있다. GNSS에 기초하여 결정된 위치는 모바일 디바이스(102)의 위치 서브시스템에 의해 결정된 위치보다 더 정확할 수 있다.
또한, 동반 디바이스(106)는 모바일 디바이스(102)에 저장된 위치 데이터보다 더 완벽한 위치 데이터를 가질 수 있다. 동반 디바이스(106)는 위치 서버(112)로부터 위치 데이터를 요청할 수 있다. 위치 서버(112)는 하나 이상의 신호 소스들, 예를 들어, 신호 소스들(104 및 114)의 위치들을 저장하는 하나 이상의 컴퓨터들을 포함할 수 있다. 위치 서버(112)는 무선 주파수(RF) 신호 핑거프린트들을 저장할 수 있다. RF 핑거프린트들은 하나 이상의 장소들 내부의 신호들의 예상 측정치들(예를 들어, RSSI들)을 포함할 수 있다. 모바일 디바이스(102) 및 동반 디바이스(106)는 RF 핑거프린트들을 사용하여 장소 내부의 위치를 결정할 수 있다. 동반 디바이스(106)는 위치 서버(112)로부터 위치 데이터를 수신한 후, 수신된 위치 데이터를 통신 채널(108)을 통해 모바일 디바이스(102)에 제공함으로써 모바일 디바이스(102)와 동기화할 수 있다. 다양한 이유들(예를 들어, 통신에서의 간섭, 모바일 디바이스(102)의 휴면 상태 등)로 인해 동기화가 실패할 수 있다. 그 결과, 모바일 디바이스(102)는 위치 데이터를 소유하지 않을 수 있다.
모바일 디바이스(102)가 위치 데이터를 갖지 않은 경우, 모바일 디바이스(102)는 위치를 결정할 수 없을 수 있다. 모바일 디바이스(102)는 통신 채널(108)을 통해 동반 디바이스(106)에 위치 요청을 제출할 수 있다. 요청을 수신하면, 동반 디바이스(106)는 신호 소스들(104 및 114)로부터의 측정된 신호, 위치 데이터 및 위치를 추정하기 위한 통계적 필터를 사용하여 동반 디바이스(106)의 위치를 결정할 수 있다. 그 다음, 동반 디바이스(106)는 통신 채널(108)을 통해 모바일 디바이스(102)에 위치를 제공할 수 있다.
동반 디바이스(106)로부터 위치를 수신하면, 모바일 디바이스(102)는 모바일 디바이스(102)와 동반 디바이스(106)의 근접성으로 인해 그 위치를 모바일 디바이스(102)의 위치로서 채택할 수 있다. 수신된 위치는, 동반 디바이스(106)에 의해 결정된 바와 같은 수신된 위치의 정확도에 대응할 수 있는 불확실성 값을 포함하거나 그와 관련될 수 있다. 정확도가 애플리케이션 프로그램에 의해 제공된 정확도 세부사항을 만족시킨다고 결정하면, 모바일 디바이스(102)는 수신된 위치를 애플리케이션 프로그램에 제공할 수 있다. 그 다음, 애플리케이션 프로그램은 그 위치를 파라미터로서 사용하여 위치 기반 서비스(예를 들어, 교통 경고)를 제공할 수 있다.
다양한 조건들(예를 들어, 정확도 능력의 부족 또는 위치 데이터의 부족)은 모바일 디바이스(102)에 의한 동반 디바이스(106)로의 위치 요청의 제출을 트리거링할 수 있다. 일부 구현들에서, 모바일 디바이스(102)가 요청된 위치 정확도를 제공할 수 있는지 여부를 결정하는 동작들을 단순화하기 위해, 모바일 디바이스(102)는 요청된 위치 정확도가 정확도 임계치(예를 들어, 100 미터)를 만족하는지 여부를 결정할 수 있다. 정확도 세부사항이 정확도 임계치(예를 들어, <100 미터)보다 작은 정확도를 요구하면, 모바일 디바이스(102)는 동반 디바이스(106)로부터 위치를 요청한다. 그렇지 않으면, 모바일 디바이스(102)는 모바일 디바이스(102)의 위치 서브시스템을 사용하여 위치를 결정하려 시도할 수 있다. 동반 디바이스(106)에 위치 요청을 제출하기 위한 트리거링 조건들에 대한 추가적인 세부 사항들 및 예들은 도 2를 참조하여 아래에서 설명된다.
동반 디바이스에 요청하기 위한 예시적인 조건들
도 2는 동반 디바이스를 사용한 위치 결정의 예시적인 프로세스(200)의 흐름도이다. 프로세스(200)는 모바일 디바이스(102) 및 동반 디바이스(106)에 의해 수행될 수 있다. 일부 구현들에서, 프로세스(200)는 도 3 및 도 6에서 설명된 아키텍처를 사용하여 구현될 수 있다.
모바일 디바이스(102)는 애플리케이션 프로그램으로부터 위치 요청을 수신할 수 있다(202). 애플리케이션 프로그램은 모바일 디바이스(102) 상에서 실행되는 프로그램 또는 모바일 디바이스(102)로부터 원격으로 실행되는 프로그램일 수 있다. 위치 요청은 정확도 세부사항(예를 들어, 미터 단위)을 포함하거나 그렇지 않으면 그와 연관될 수 있다. 애플리케이션 프로그램은 애플리케이션 프로그래밍 인터페이스(API)에 의해 정의된 함수 호출을 통해 위치 요청을 제출할 수 있다.
모바일 디바이스(102)는 모바일 디바이스(102)가 요청된 정확도를 제공할 수 있는지 여부를 결정할 수 있다(204). 예를 들어, 요청된 정확도는 위치 서브시스템이 결정할 수 있는 능력 이상일 수 있다. 일부 구현들에서, 요청된 정확도는, 모바일 디바이스(102)가 요청된 정확도를 제공할 수 있는지 여부를 결정하기 위해 임계 정확도와 비교된다.
정확도 세부사항이 모바일 디바이스(102)의 위치 서브시스템의 능력보다 높다고 결정하면, 모바일 디바이스(102)는 모바일 디바이스(102)와 페어링된 동반 디바이스(106)로부터 위치를 요청할 수 있다(206). 모바일 디바이스(102)는 동반 디바이스(106)로부터 응답을 수신할 수 있다. 응답은 위치 보조 정보를 포함할 수 있다. 위치 보조 정보는 동반 디바이스(106)에 의해 결정된 바와 같은 동반 디바이스(106)의 추정된 위치를 포함할 수 있다. 선택적으로 또는 추가적으로, 위치 보조 정보는 위치를 결정하기 위해 모바일 디바이스(102)를 보조할 수 있는 데이터를 포함할 수 있다. 데이터는 예를 들어, 지도 좌표, RF 핑거프린트 데이터, 또는 위치를 결정하기 위해 모바일 디바이스(102)의 위치 서브시스템에 의해 사용될 수 있는 다른 데이터를 포함할 수 있다.
모바일 디바이스(102)는 위치 보조 데이터를 사용하여 위치를 결정할 수 있다. 위치 보조 데이터를 사용하여 결정된 위치는 모바일 디바이스(102)의 보조 위치로 지칭될 수 있다. 제공된 경우, 보조 위치는 동반 디바이스(106)의 위치를 포함할 수 있다. 보조 위치는 지도 좌표, RF 핑거프린트 데이터 또는 다른 데이터를 파라미터들로 사용한 위치 추정치를 포함할 수 있으며, 위치 추정치는 정확도 세부사항을 만족하는 불확실성을 갖는다. 모바일 디바이스(102)는 위치 요청에 대한 응답으로서 애플리케이션에 보조 위치를 제공할 수 있다(208).
정확도 세부사항이 모바일 디바이스(102)의 위치 서브시스템의 능력 내에 있다고 결정하면, 모바일 디바이스(102)는 모바일 디바이스(102)의 위치를 결정하기 위한 신호들을 위치 서브시스템이 수신했는지 여부를 결정할 수 있다(210). 예를 들어, 위치 서브시스템이 위치를 결정하기 위해 액세스 포인트들로부터의 무선 신호들을 사용하면, 모바일 디바이스(102)는 액세스 포인트들이 검출되었는지 여부, 및 검출되었다면, 신호들이 위치 결정을 위해 충분히 강한지 여부를 결정할 수 있다. 모바일 디바이스(102)가 신호 소스들을 검출할 수 없거나 신호들이 너무 약하면, 모바일 디바이스(102)는 동반 디바이스(106)로부터 위치를 요청할 수 있다(206).
신호들이 이용가능하다고 결정하면, 모바일 디바이스(102)는 위치 데이터가 동기화되었는지 여부를 결정할 수 있다(212). 위치 데이터가 동기화되었는지 여부를 결정하는 것은, 검출된 신호 소스들의 정보를 포함하는 동반 디바이스(106)로부터의 위치 데이터를 모바일 디바이스(102)가 수신했는지 여부를 결정하는 것을 포함할 수 있다. 예를 들어, 모바일 디바이스(102)는 MAC 어드레스들 AP1 및 AP2를 갖는 무선 액세스 포인트들을 검출했을 수 있다. 모바일 디바이스(102)는, AP1 및 AP1의 위치들 또는 RF 핑거프린트들을 특정하는 위치 데이터를 모바일 디바이스(102)가 갖는지 여부를 결정할 수 있다. 갖지 않는다면, 모바일 디바이스(102)는 위치 데이터가 동기화되지 않았다고 결정할 수 있고, 동반 디바이스(106)로부터 위치를 요청할 수 있다(206).
위치 데이터가 동기화된 것으로 결정하면, 모바일 디바이스(102)는, 검출된 신호들 및 동기화된 위치 데이터를 사용하여 모바일 디바이스(102)가 위치를 결정할 수 있는지 여부를 결정할 수 있다(214). 모바일 디바이스(102)는, 검출된 신호들을 검사함으로써 모바일 디바이스(102)가 위치를 결정할 수 있는지 여부를 결정할 수 있고, 신호들이 서로 일치하는지 여부를 결정할 수 있다. 예를 들어, 모바일 디바이스(102)는 위치 데이터에 따라 서로의 인근에(예를 들어, 동일한 도시에) 위치되지 않는 2개의 무선 액세스 포인트들을 검출할 수 있다. 추가적인 데이터가 없으면, 모바일 디바이스(102)는 모바일 디바이스(102)가 어느 도시에 위치되는지를 결정할 수 없을 수 있다. 모바일 디바이스(102)가 위치를 결정할 수 없으면, 모바일 디바이스(102)는 동반 디바이스(106)로부터 위치를 요청할 수 있다(206). 모바일 디바이스(102)가 위치를 결정할 수 있으면, 모바일 디바이스(102)는 위치 서브시스템을 사용하여 위치를 결정할 수 있다(216).
모바일 디바이스(102)는 위치 서브시스템에 의해 결정된 위치가 정확도 세부사항을 만족시키는지 여부를 결정할 수 있다(218). 위치 서브시스템에 의해 결정된 위치가 정확도 세부사항을 만족시키는지 여부를 결정하는 것은 위치 서브시스템에 의해 제공되는 바와 같은 위치의 불확실성이 정확도 세부사항보다 큰지 여부를 결정하는 것을 포함할 수 있다. 위치 서브시스템에 의해 결정된 위치가 정확도 세부사항을 만족시킨다고 결정하면, 모바일 디바이스(102)는 결정된 위치를 위치 요청에 대한 응답으로서 제공할 수 있다(220). 위치 서브시스템에 의해 결정된 위치가 정확도 세부사항을 만족시키지 않는다고 결정하면, 모바일 디바이스(102)는 동반 디바이스(106)로부터 위치를 요청할 수 있다(206).
예시적인 디바이스
도 3은 위치 결정 기술들을 구현하는 예시적인 모바일 디바이스(102)의 컴포넌트들을 도시하는 블록도이다. 모바일 디바이스(102)는 애플리케이션 프로그램(302)을 포함할 수 있다. 애플리케이션 프로그램(302)은 위치 기반 서비스를 제공하는 시스템 또는 사용자 프로그램일 수 있다. 애플리케이션 프로그램(302)은 애플리케이션 프로그램 프로그래밍 인터페이스(API) 호출을 행하여 위치 요청을 전송함으로써 모바일 디바이스(102)의 위치를 요청할 수 있다.
모바일 디바이스(102)는 애플리케이션 인터페이스(304)를 포함할 수 있다. 애플리케이션 인터페이스(304)는 위치 요청을 수신하고 위치 요청에 응답하도록 구성된 모바일 디바이스(102)의 컴포넌트이다. 애플리케이션 인터페이스(304)는 API 라이브러리(306)를 포함할 수 있다. API 라이브러리(306)는 애플리케이션 프로그램(302)으로부터 특정된 호출들을 수신할 수 있는 프로그램 라이브러리를 포함할 수 있다.
위치 요청은 requestLocation으로서 API 라이브러리(306)에 정의된 방법 호출일 수 있다. 이 호출은, 애플리케이션 프로그램(302)이 모바일 디바이스(102)의 위치 서비스로부터 위치 업데이트를 요청하도록 허용할 수 있다. 위치 서비스는 특정된 속성 desiredAccuracy에 따라 요청된 정확도로 위치를 결정하려 시도할 수 있다. 위치 서비스는 예를 들어, locationManager:didUpdateLocations를 호출함으로써 위치 관리자의 표준 델리게이트(delegate callback) 콜백을 통해 애플리케이션 프로그램(302)에 위치 업데이트를 전달할 수 있다. 이용가능한 위치가 더 낮은 정확도를 가지면, 위치 서비스는 타임아웃 이후 표준 델리게이트 콜백을 통해 위치를 전달할 수 있다. 위치 서비스가 위치를 결정할 수 없으면, 위치 서비스는 locationManager:didFailWithError 방법을 호출하고, 미지의 에러 위치를 갖는 델리게이트 콜백을 전달할 수 있다.
API 라이브러리(306)는 현저한 위치 요청들을 미리 특정된 수(예를 들어, 1)로 제한할 수 있고, 방법 requestLocationstartUpdatingLocation 또는 allowDeferredLocationUpdates 방법과 동시에 사용되는 것을 방지할 수 있다. 이러한 방법들 중 어느 하나를 호출하는 것은 위치 요청을 즉시 취소할 수 있다. 요청을 명시적으로 취소하기 위해 방법 stopUpdatingLocation이 사용될 수 있다.
API 라이브러리(306)는 다음과 같이 속성 desiredAccuracy를 정의할 수 있다.
@property(할당, 비원자적) CLLocationAccuracy desiredAccuracy;
desiredAccuracy 속성은 위치의 정확도 세부사항일 수 있다. 위치 서비스는 원하는 정확도를 전달하려 시도할 수 있다. 그러나, 위치 서비스는 위치 정확도를 보장하지 않을 수 있다. 전력 성능을 최적화하기 위해, 대략적 위치만이 필요한 경우 큰 정확도 값이 특정될 수 있다. API 라이브러리(306)는 상수 kCLLocationAccuracyBest를 특정하여 가장 높은 가능한 정확도를 제공할 수 있다. API 라이브러리(306)는 내비게이션을 위해 상수 kCLLocationAccuracyBestForNavigation을 특정할 수 있다. 이러한 상수들의 디폴트 값들은 플랫폼에 의해 변할 수 있다.
요청 분석 모듈(316) 및 위치 서브시스템(318)은 전술한 바와 같이 위치 서비스를 제공할 수 있다. 요청 분석 모듈(316)은, 위치 서브시스템(318)이 애플리케이션 프로그램(302)에 의해 특정된 바와 같이 desiredAccuracy 속성을 만족시킬 수 있는지 여부를 결정하도록 구성되는 모바일 디바이스(102)의 컴포넌트이다. 결정을 행하기 위해, 요청 분석 모듈(316)은 desiredAccuracy 속성의 값을 미리 특정된 임계치(예를 들어, X 미터)와 비교할 수 있다. desiredAccuracy 속성의 값이 미리 특정된 임계치보다 크다고 결정하면, 요청 분석 모듈(316)은 위치 요청을 위치 서브시스템(318)에 전달할 수 있다. 그렇지 않으면, 요청 분석 모듈(316)은 위치 요청을 디바이스 위치 인터페이스(320)에 전달할 수 있다.
디바이스 위치 인터페이스(320)는 위치 요청을 동반 디바이스에 제출하고, 동반 디바이스로부터 위치를 수신하고, 수신된 위치를 애플리케이션 인터페이스(304)를 통해 애플리케이션 프로그램(302)에 제공하도록 구성되는 모바일 디바이스(102)의 컴포넌트이다. 디바이스 위치 인터페이스(320)는 통신 서브시스템(322)을 통해 위치 요청을 제출할 수 있다.
통신 서브시스템(322)은 제2 디바이스, 예를 들어, 동반 디바이스(106)와 페어링하도록 구성되는 모바일 디바이스(102)의 컴포넌트이다. 통신 서브시스템(322)은 다양한 인증 및 인가 기능들을 수행하는 것을 포함하여 통신 채널(108)을 개방할 수 있다. 통신 서브시스템(322)은 위치 요청을 동반 디바이스(106)에 제출할 수 있고, 동반 디바이스(106)로부터 위치를 수신할 수 있다.
위치 서브시스템(318)은 모바일 디바이스(102)의 위치를 결정하도록 구성되는 모바일 디바이스(102)의 컴포넌트이다. 위치 서브시스템(318)은 예를 들어, Wi-Fi™ 위치 결정을 사용함으로써 다양한 기술들을 사용하여 위치를 결정할 수 있다. 위치 서브시스템(318)은 위치 분석기(324)를 포함할 수 있다. 위치 분석기(324)는 무선 주파수(RF) 수신기(326)로부터 판독치들을 수신할 수 있다. 위치 분석기(324)는 판독치들이 모바일 디바이스(102)의 위치를 결정하기에 충분한지 여부를 결정할 수 있다. 위치 분석기(324)는 위치 서브시스템(318)이 정확도 세부사항을 달성할 수 없다고 결정할 수 있다. 예를 들어, 위치 분석기(324)는, 액세스 포인트들의 부족, 약한 RSSI 또는 위치 데이터의 부족으로 인해, RF 수신기(326)의 측정치들을 사용하여 위치를 결정하는 것이 불가능하다고 결정할 수 있다. 그 다음, 위치 분석기(324)는 프로세싱을 위해 디바이스 위치 인터페이스(320)에 위치 요청을 제출할 수 있다.
대안적으로, 위치 분석기(324)는 RF 수신기(326) 및 위치 데이터(328)로부터 수신된 신호 측정치들을 사용하여 모바일 디바이스(102)의 위치를 결정할 수 있다. 모바일 디바이스(102)는 동반 디바이스(106)로부터 위치 데이터(328)를 수신할 수 있다. 모바일 디바이스(102)는 데이터 동기화 모듈(330)을 포함할 수 있다. 데이터 동기화 모듈(330)은 동반 디바이스(106)로부터 위치 데이터를 요청하고, 동반 디바이스(106)로부터 위치 데이터를 수신하고, 위치 서브시스템(318)에 대한 위치 데이터를 저장하도록 구성되는 모바일 디바이스(102)의 컴포넌트이다. 데이터 동기화 모듈(330)은 통신 서브시스템(322)을 통해 동반 디바이스(106)와 통신할 수 있다.
위치 서브시스템(318) 또는 디바이스 위치 인터페이스(320) 중 어느 하나는 애플리케이션 인터페이스(304)에 위치를 제출할 수 있다. 그 다음, 애플리케이션 인터페이스(304)는 위치 및 연관된 정확도를 API 호출의 리턴 값으로서 애플리케이션 프로그램(302)에 제공할 수 있다. 그 다음, 애플리케이션 프로그램(302)은 리턴된 위치를 사용하여 위치 기반 서비스를 제공할 수 있다. 위치 기반 서비스는, 예를 들어, 지도 또는 위치 기반 경보를 디스플레이하는 것을 포함할 수 있다.
도 4는 예시적인 데이터 흐름을 도시하는 블록도이다. 위치 서버(112)는 위치 데이터(328)를 동반 디바이스(106)에 제공하도록 구성되는 하나 이상의 컴퓨터들을 포함할 수 있다. 위치 데이터(328)는 하나 이상의 장소들에 대한 다양한 신호 소스들의 위치 및 RF 핑거프린트 데이터를 포함할 수 있다. 위치 서버(112)는 지도 데이터 소스(404)로부터의 지도 데이터(402)를 사용하여 위치 데이터(328)를 생성할 수 있다. 지도 데이터(402)는 지리적 위치들(예를 들어, 도시들, 우편 영역들 또는 이웃들) 및 장소들(예를 들어, 건물들, 캠퍼스들 또는 공원들)의 지도를 포함할 수 있다. 지도 데이터(402)는 예를 들어, 벽들, 기둥들 및 다른 접근불가능한 특징부들의 위치들 및 크기들을 포함하여 장소들의 구조적 특징부들의 표현들을 포함할 수 있다.
위치 서버(112)는 모바일 디바이스들(408)로부터 크라우드-소싱된 데이터(406)를 수신할 수 있다. 크라우드-소싱된 데이터(406)는 위치와 연관된 신호 소스들의 식별자들을 포함할 수 있다. 위치 인식 모바일 디바이스들(408)은 위치 인식 모바일 디바이스들(408)에 의해 검출된 그러한 식별자들을 제출할 수 있다. 크라우드-소싱된 데이터(406)는 다양한 장소들에서 모바일 디바이스들(408)에 의해 수행된 조사들로부터의 데이터를 포함할 수 있다. 조사 데이터는 장소의 다양한 위치들에서 신호 소스들의 측정치들(예를 들어, RSSI)을 포함할 수 있다.
위치 서버(112)는 지도 데이터(402) 및 크라우드-소싱된 데이터(406)에 기초하여 위치 데이터(328)를 결정할 수 있다. 그 다음, 위치 서버(112)는 위치 데이터(328)를 동반 디바이스(106)에 제공할 수 있다. 동반 디바이스(106)는 데이터 동기화 동안 모바일 디바이스(102)에 위치 데이터(328)를 제공할 수 있다. 데이터 동기화는 통신 채널(108)을 통해 발생할 수 있다. 동반 디바이스(106) 또는 모바일 디바이스(102) 중 어느 하나는 동기화를 개시할 수 있다.
예시적인 절차들
도 5는 동반 디바이스를 사용한 위치 결정의 예시적인 프로세스(500)의 흐름도이다. 프로세스(500)는 도 3 및 도 6에 도시된 아키텍처를 사용하여 모바일 디바이스(102) 및 동반 디바이스(106)에 의해 수행될 수 있다.
모바일 디바이스(102)는 모바일 디바이스(102) 상에서 실행되는 애플리케이션 프로그램으로부터 제1 위치 요청을 수신할 수 있다(502). 제1 위치 요청은 모바일 디바이스(102)의 위치를 요청할 수 있다. 제1 위치 요청은 위치에 대한 위치 정확도를 특정하는 정확도 세부사항을 포함할 수 있다. 모바일 디바이스(102)는 웨어러블 컴퓨팅 디바이스일 수 있다. 애플리케이션 프로그램은 애플리케이션 프로그램에 의해 사용되는 API에서 정의된 함수에 대한 호출로서 제1 위치 요청을 제출할 수 있다. 정확도 세부사항은 API에 의해 속성으로 지정될 수 있다.
모바일 디바이스(102)는, 특정된 위치 정확도가 모바일 디바이스(102)의 위치 결정 서브시스템(예를 들어, 위치 서브시스템(318))에 의해 달성가능한 위치 정확도보다 높은지 여부를 결정할 수 있다(504). 특정된 위치 정확도가 위치 결정 서브시스템에 의해 달성가능한 위치 정확도보다 높다고 결정하는 것은 특정된 위치 정확도가 미리-특정된 임계값보다 작다고 결정하는 것을 포함할 수 있다.
특정된 위치 정확도가 위치 결정 서브시스템에 의해 달성가능한 위치 정확도보다 높다고 결정하는 것에 응답하여, 모바일 디바이스(102)는 무선 통신 채널(예를 들어, 통신 채널(108))을 통해 제2 위치 요청을, 모바일 디바이스(102)와 페어링된 동반 디바이스(106)에 제출할 수 있다(506). 동반 디바이스(106)는 스마트폰일 수 있다. 제2 위치 요청은 동반 디바이스(106)로부터 위치 보조 데이터를 요청할 수 있다. 제2 위치 요청은 제1 위치 요청의 정확도 세부사항에 따라 위치 정확도를 특정할 수 있다. 무선 통신 채널은, 디바이스들 사이의 통신 범위가 정확도 세부사항보다 작은 프로토콜을 사용하여 설정될 수 있다. 위치 보조 정보는 동반 디바이스(106)의 위치를 포함할 수 있다. 위치 보조 정보는 모바일 디바이스의 위치 추정치의 정확도를 개선할 수 있는 데이터를 포함할 수 있다. 데이터는 지도 좌표, GNSS 위치, RF 핑거프린트 데이터 또는 다른 데이터를 포함할 수 있다.
특정된 위치 정확도가 위치 결정 서브시스템에 의해 달성가능한 위치 정확도보다 높지 않다고 결정하는 것에 응답하여, 모바일 디바이스(102)는 모바일 디바이스(102)의 위치 결정 서브시스템이 모바일 디바이스(102)의 위치를 결정할 수 없다고 결정할 수 있다. 모바일 디바이스(102)의 위치 결정 서브시스템이 모바일 디바이스(102)의 위치를 결정할 수 없다고 결정하는 것에 응답하여, 모바일 디바이스(102)는 제2 위치를 동반 디바이스(106)에 제출할 수 있다. 위치 결정 서브시스템은 이전 동기화에 의해 동반 디바이스(106)로부터 수신된 RF 핑거프린트 데이터에 기초하여 모바일 디바이스(102)의 위치를 결정하도록 구성될 수 있다.
일부 구현들에서, 모바일 디바이스(102)의 위치 결정 서브시스템이 모바일 디바이스(102)의 위치를 결정할 수 없다고 결정하는 것은 동작(210, 212 또는 214)의 판정들 중 적어도 하나를 포함할 수 있다. 예를 들어, 모바일 디바이스(102)는, 모바일 디바이스(102)가 RF 핑거프린트 데이터를 수신하지 않았다고 결정할 수 있다. 모바일 디바이스(102)는, 수신된 RF 핑거프린트 데이터에 대응하는 무선 신호 소스들이 검출되지 않았다고 결정하면, 결정을 행할 수 있다.
동반 디바이스(106)의 위치 보조 정보를 수신하면, 모바일 디바이스(102)는 보조 위치를 결정할 수 있고(508), 보조 위치를 제1 위치 요청에 대한 응답으로서 애플리케이션 프로그램에 제출할 수 있다. 보조 위치는 동반 디바이스(106)의 위치를 포함할 수 있다. 보조 위치는 위치 보조 데이터를 파라미터들로서 사용하여 모바일 디바이스(102)의 위치 서브시스템에 의해 결정된 위치를 포함할 수 있다. 동반 디바이스(106)의 보조 위치의 정확도는 정확도 세부사항을 만족시킬 수 있다. 그 다음, 애플리케이션 프로그램은 모바일 디바이스(102)의 대체물로서 보조 위치를 사용하여 위치 기반 서비스를 제공할 수 있다.
예시적인 모바일 디바이스 아키텍처
도 6은 모바일 디바이스에 대한 예시적인 아키텍처(600)의 블록도이다. 모바일 디바이스(예를 들어, 모바일 디바이스(102) 또는 동반 디바이스(106))는 메모리 인터페이스(602), 하나 이상의 데이터 프로세서들, 이미지 프로세서들 및/또는 프로세서들(604), 및 주변기기 인터페이스(606)를 포함할 수 있다. 메모리 인터페이스(602), 하나 이상의 프로세서들(604) 및/또는 주변기기 인터페이스(606)는 별개의 컴포넌트들일 수 있거나 또는 하나 이상의 집적 회로들에 통합될 수 있다. 프로세서들(604)은 애플리케이션 프로세서들, 베이스밴드 프로세서들, 및 무선 프로세서들을 포함할 수 있다. 예를 들어, 모바일 디바이스 내의 다양한 컴포넌트들은 하나 이상의 통신 버스들 또는 신호 라인들에 의해 커플링될 수 있다.
다수의 기능들을 가능하게 하기 위해 센서들, 디바이스들, 및 서브시스템들이 주변기기 인터페이스(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 지속기간 동안의 버튼 누름은 모바일 디바이스에 대한 전원을 켜거나 끌 수 있다. 사용자는 버튼들 중 하나 이상의 버튼의 기능을 사용자 지정(customize)할 수 있다. 터치 표면(646)은 또한, 예를 들어, 가상 또는 소프트 버튼들 및/또는 키보드를 구현하는 데 사용될 수 있다.
일부 구현예들에서, 모바일 디바이스(102)는 MP3, AAC, 및 MPEG 파일들과 같은 레코딩된 오디오 및/또는 비디오 파일들을 제시할 수 있다. 일부 구현예들에서, 모바일 디바이스는 MP3 플레이어의 기능을 포함할 수 있다. 기타 입력/출력 및 제어 디바이스가 또한 사용될 수 있다.
메모리 인터페이스(602)는 메모리(650)에 연결될 수 있다. 메모리(650)는 고속 랜덤 액세스 메모리 및/또는 비휘발성 메모리, 예를 들어, 하나 이상의 자기 디스크 저장 디바이스, 하나 이상의 광 저장 디바이스, 및/또는 플래시 메모리(예를 들어, NAND, NOR)를 포함할 수 있다. 메모리(650)는 다윈(Darwin), RTXC, LINUX, UNIX, OS X, WINDOWS, 또는 임베디드 운영 체제, 예를 들어, 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)로 하여금 도 2 및 도 5를 참조하여 전술한 예시적인 프로세스들(200 및 500)의 동작들을 수행하게 할 수 있는 동반 위치 명령어들(676)을 저장할 수 있다.
앞서 확인된 명령어들 및 애플리케이션들 각각은 전술한 하나 이상의 기능을 수행하기 위한 명령어들의 세트에 대응할 수 있다. 이들 명령어는 별개의 소프트웨어 프로그램들, 절차들, 또는 모듈들로서 구현될 필요는 없다. 메모리(650)는 추가의 명령어들 또는 더 적은 수의 명령어들을 포함할 수 있다. 또한, 모바일 디바이스의 다양한 기능들은, 하나 이상의 신호 처리 및/또는 ASIC(application specific integrated circuit)을 포함하여, 하드웨어로 그리고/또는 소프트웨어로 구현될 수 있다.
예시적인 운영 환경
도 7은 도 1 내지 도 6의 모바일 디바이스들에 대한 예시적인 네트워크 운영 환경(700)의 블록도이다. 모바일 디바이스들(702a, 702b)은, 예를 들어, 데이터 통신 시에 하나 이상의 유선 및/또는 무선 네트워크(710)를 통해 통신할 수 있다. 예를 들어, 무선 네트워크(712), 예를 들어, 셀룰러 네트워크가, 게이트웨이(716)를 사용하여, 인터넷과 같은 광역 네트워크(WAN)(714)와 통신할 수 있다. 마찬가지로, 802.11g 무선 액세스 포인트와 같은 액세스 디바이스(718)가 광역 네트워크(714)로의 통신 액세스를 제공할 수 있다. 모바일 디바이스들(702a 및 702b) 각각은 모바일 디바이스(102) 또는 동반 디바이스(106)일 수 있다.
일부 구현예들에서, 음성 및 데이터 통신 둘 모두가 무선 네트워크(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, 750)과 통신할 수 있다. 예를 들어, 하나 이상의 장소 서비스들(730)은 장소 데이터 소스로부터 장소 정보를 모바일 디바이스들(702a 및 702b)에 제공할 수 있다. 장소 정보는 장소 지도들과 연관된 장소 식별자들을 포함할 수 있다. 조사 서비스(740)는 하나 이상의 조사 디바이스들로부터 조사 데이터를 수신하고 조사 데이터를 위치 서버(112)에 제공할 수 있다. 위치 서버(112)는 위치 서비스(750)를 제공할 수 있다. 위치 서비스(750)는 신호 소스들의 위치들 및 장소들에 대한 RF 핑거프린트들을 포함하는 크라우드-소싱된 데이터를 모바일 디바이스들(702a 및 702b)에 제공하는 것을 포함할 수 있다.
모바일 디바이스(702a 또는 702b)는 또한 하나 이상의 유선 및/또는 무선 네트워크를 통해 다른 데이터 및 콘텐츠에 액세스할 수 있다. 예를 들어, 뉴스 사이트, RSS(Really Simple Syndication) 피드, 웹 사이트, 블로그, 소셜 네트워킹 사이트, 개발자 네트워크 등과 같은 콘텐츠 게시자들이 이동 디바이스(702a 또는 702b)에 의해 액세스될 수 있다. 그러한 액세스는, 사용자가 예를 들어 웹 객체를 터치하는 것에 응답하여, 웹 브라우징 기능 또는 애플리케이션(예를 들어, 브라우저)의 호출에 의해 제공될 수 있다.
본 발명의 다수의 구현예가 기술되었다. 그럼에도 불구하고, 본 발명의 사상 및 범주를 벗어남이 없이 다양한 수정들이 이루어질 수 있다는 것을 이해할 것이다.

Claims (20)

  1. 방법으로서,
    모바일 디바이스 상에서 실행되는 애플리케이션 프로그램으로부터의 제1 위치 요청을 상기 모바일 디바이스에 의해 수신하는 단계 - 상기 제1 위치 요청은 상기 모바일 디바이스의 위치를 요청하고, 상기 위치에 대한 위치 정확도를 특정하는 정확도 세부사항을 포함함 -;
    상기 특정된 위치 정확도가 상기 모바일 디바이스의 위치 결정 서브시스템에 의해 달성가능한 위치 정확도보다 높은지 여부를 상기 모바일 디바이스에 의해 결정하는 단계;
    상기 특정된 위치 정확도가 상기 위치 결정 서브시스템에 의해 달성가능한 위치 정확도보다 높다고 결정하는 것에 응답하여, 상기 모바일 디바이스에 의한 제2 위치 요청을, 무선 통신 채널을 통해, 상기 모바일 디바이스와 페어링된(paired) 동반(companion) 디바이스에 제출하는 단계 - 상기 제2 위치 요청은 상기 동반 디바이스로부터 위치 보조 정보를 요청함 -; 및
    상기 모바일 디바이스에 의해 상기 동반 디바이스로부터 상기 위치 보조 정보를 수신하면, 상기 위치 보조 정보를 사용하여 상기 모바일 디바이스의 보조된 위치를 결정하고, 상기 동반 디바이스의 보조된 위치를 상기 제1 위치 요청에 응답하여 상기 애플리케이션 프로그램에 제출하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 모바일 디바이스는 웨어러블 컴퓨팅 디바이스이고, 상기 동반 디바이스는 스마트폰인, 방법.
  3. 제1항에 있어서, 상기 제1 위치 요청은 상기 애플리케이션 프로그램에 의해 사용되는 애플리케이션 프로그래밍 인터페이스(API)에서 정의된 함수에 대한 호출로서 제출되고, 상기 정확도 세부사항은 상기 API에 의한 특성으로서 지정되는, 방법.
  4. 제1항에 있어서, 상기 특정된 위치 정확도가 상기 위치 결정 서브시스템에 의해 달성가능한 상기 위치 정확도보다 높다고 결정하는 단계는 상기 특정된 위치 정확도가 미리-특정된 임계값보다 작다고 결정하는 단계를 포함하는, 방법.
  5. 제1항에 있어서, 상기 특정된 위치 정확도가 상기 모바일 디바이스에 의해 달성가능한 상기 위치 정확도보다 높지 않다고 결정하는 것에 응답하여,
    상기 모바일 디바이스가 상기 모바일 디바이스의 위치를 결정할 수 없다고 상기 모바일 디바이스에 의해 결정하는 단계; 및
    상기 모바일 디바이스의 위치 결정 서브시스템이 상기 모바일 디바이스의 위치를 결정할 수 없다고 결정하는 것에 응답하여, 상기 동반 디바이스에 상기 제2 위치를 제출하는 단계를 포함하고, 상기 위치 결정 서브시스템은 상기 동반 디바이스로부터 수신된 무선 주파수(RF) 핑거프린트 데이터에 기초하여 상기 모바일 디바이스의 위치를 결정하도록 구성되는, 방법.
  6. 제5항에 있어서, 상기 모바일 디바이스가 상기 모바일 디바이스의 위치를 결정할 수 없다고 결정하는 단계는,
    상기 모바일 디바이스가 상기 RF 핑거프린트 데이터를 수신하지 않았다고 결정하는 단계; 또는
    수신된 RF 핑거프린트 데이터에 대응하는 어떠한 무선 신호 소스들도 검출되지 않았다고 결정하는 단계
    중 적어도 하나를 포함하는, 방법.
  7. 제1항에 있어서, 상기 무선 통신 채널은, 통신 범위가 상기 정확도 세부사항보다 작은 프로토콜을 사용하여 설정되는, 방법.
  8. 제1항에 있어서, 상기 위치 보조 정보는 상기 동반 디바이스의 위치를 포함하는, 방법.
  9. 제1항에 있어서, 상기 위치 보조 정보는, 상기 모바일 디바이스의 위치 추정치의 정확도를 개선하는 데이터를 포함하는, 방법.
  10. 시스템으로서,
    하나 이상의 프로세서들; 및
    명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체를 포함하고, 상기 명령어들은 상기 하나 이상의 프로세서들에 의해 실행되는 경우 상기 하나 이상의 프로세서들로 하여금,
    모바일 디바이스 상에서 실행되는 애플리케이션 프로그램으로부터의 제1 위치 요청을 상기 모바일 디바이스에 의해 수신하는 단계 - 상기 제1 위치 요청은 상기 모바일 디바이스의 위치를 요청하고, 상기 위치에 대한 위치 정확도를 특정하는 정확도 세부사항을 포함함 -;
    상기 특정된 위치 정확도가 상기 모바일 디바이스의 위치 결정 서브시스템에 의해 달성가능한 위치 정확도보다 높은지 여부를 상기 모바일 디바이스에 의해 결정하는 단계;
    상기 특정된 위치 정확도가 상기 위치 결정 서브시스템에 의해 달성가능한 위치 정확도보다 높다고 결정하는 것에 응답하여, 상기 모바일 디바이스에 의한 제2 위치 요청을, 무선 통신 채널을 통해, 상기 모바일 디바이스와 페어링된 동반 디바이스에 제출하는 단계 - 상기 제2 위치 요청은 상기 동반 디바이스로부터 위치 보조 정보를 요청함 -; 및
    상기 모바일 디바이스에 의해 상기 동반 디바이스로부터 상기 위치 보조 정보를 수신하면, 상기 위치 보조 정보를 사용하여 상기 모바일 디바이스의 보조된 위치를 결정하고, 상기 동반 디바이스의 보조된 위치를 상기 제1 위치 요청에 응답하여 상기 애플리케이션 프로그램에 제출하는 단계를 포함하는 동작들을 수행하게 하는, 시스템.
  11. 제10항에 있어서, 상기 모바일 디바이스는 웨어러블 컴퓨팅 디바이스이고, 상기 동반 디바이스는 스마트폰인, 시스템.
  12. 제10항에 있어서, 상기 제1 위치 요청은 상기 애플리케이션 프로그램에 의해 사용되는 애플리케이션 프로그래밍 인터페이스(API)에서 정의된 함수에 대한 호출로서 제출되고, 상기 정확도 세부사항은 상기 API에 의한 특성으로서 지정되는, 시스템.
  13. 제10항에 있어서, 상기 특정된 위치 정확도가 상기 위치 결정 서브시스템에 의해 달성가능한 상기 위치 정확도보다 높다고 결정하는 단계는 상기 특정된 위치 정확도가 미리-특정된 임계값보다 작다고 결정하는 단계를 포함하는, 시스템.
  14. 제10항에 있어서, 상기 동작들은, 상기 특정된 위치 정확도가 상기 모바일 디바이스에 의해 달성가능한 상기 위치 정확도보다 높지 않다고 결정하는 것에 응답하여,
    상기 모바일 디바이스가 상기 모바일 디바이스의 위치를 결정할 수 없다고 상기 모바일 디바이스에 의해 결정하는 단계; 및
    상기 모바일 디바이스의 위치 결정 서브시스템이 상기 모바일 디바이스의 위치를 결정할 수 없다고 결정하는 것에 응답하여, 상기 동반 디바이스에 상기 제2 위치를 제출하는 단계를 포함하고, 상기 위치 결정 서브시스템은 상기 동반 디바이스로부터 수신된 무선 주파수(RF) 핑거프린트 데이터에 기초하여 상기 모바일 디바이스의 위치를 결정하도록 구성되는, 시스템.
  15. 제14항에 있어서, 상기 모바일 디바이스가 상기 모바일 디바이스의 위치를 결정할 수 없다고 결정하는 단계는,
    상기 모바일 디바이스가 상기 RF 핑거프린트 데이터를 수신하지 않았다고 결정하는 단계; 또는
    수신된 RF 핑거프린트 데이터에 대응하는 어떠한 무선 신호 소스들도 검출되지 않았다고 결정하는 단계
    중 적어도 하나를 포함하는, 시스템.
  16. 제10항에 있어서, 상기 무선 통신 채널은, 통신 범위가 상기 정확도 세부사항보다 작은 프로토콜을 사용하여 설정되는, 시스템.
  17. 제10항에 있어서, 상기 위치 보조 정보는, 상기 동반 디바이스의 위치 또는 상기 모바일 디바이스의 위치 추정치의 정확도를 개선하는 데이터 중 적어도 하나를 포함하는, 시스템.
  18. 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은 하나 이상의 프로세서들에 의해 실행되는 경우 모바일 디바이스의 상기 하나 이상의 프로세서들로 하여금,
    상기 모바일 디바이스 상에서 실행되는 애플리케이션 프로그램으로부터의 제1 위치 요청을 상기 모바일 디바이스에 의해 수신하는 단계 - 상기 제1 위치 요청은 상기 모바일 디바이스의 위치를 요청하고, 상기 위치에 대한 위치 정확도를 특정하는 정확도 세부사항을 포함함 -;
    상기 특정된 위치 정확도가 상기 모바일 디바이스의 위치 결정 서브시스템에 의해 달성가능한 위치 정확도보다 높은지 여부를 상기 모바일 디바이스에 의해 결정하는 단계;
    상기 특정된 위치 정확도가 상기 위치 결정 서브시스템에 의해 달성가능한 위치 정확도보다 높다고 결정하는 것에 응답하여, 상기 모바일 디바이스에 의한 제2 위치 요청을, 무선 통신 채널을 통해, 상기 모바일 디바이스와 페어링된 동반 디바이스에 제출하는 단계 - 상기 제2 위치 요청은 상기 동반 디바이스로부터 위치 보조 정보를 요청함 -; 및
    상기 모바일 디바이스에 의해 상기 동반 디바이스로부터 상기 위치 보조 정보를 수신하면, 상기 위치 보조 정보를 사용하여 상기 모바일 디바이스의 보조된 위치를 결정하고, 상기 동반 디바이스의 보조된 위치를 상기 제1 위치 요청에 응답하여, 상기 애플리케이션 프로그램에 제출하는 단계를 포함하는 동작들을 수행하게 하는, 비일시적 컴퓨터 판독가능 매체.
  19. 제18항에 있어서, 상기 제1 위치 요청은 상기 애플리케이션 프로그램에 의해 사용되는 애플리케이션 프로그래밍 인터페이스(API)에서 정의된 함수에 대한 호출로서 제출되고, 상기 정확도 세부사항은 상기 API에 의한 특성으로서 지정되는, 비일시적 컴퓨터 판독가능 매체.
  20. 제18항에 있어서, 상기 특정된 위치 정확도가 상기 위치 결정 서브시스템에 의해 달성가능한 상기 위치 정확도보다 높다고 결정하는 단계는 상기 특정된 위치 정확도가 미리-특정된 임계값보다 작다고 결정하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 매체.
KR1020177034810A 2015-06-05 2016-05-26 동반 디바이스를 사용한 위치 결정 방법 및 시스템 KR101913535B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562171973P 2015-06-05 2015-06-05
US62/171,973 2015-06-05
US14/869,900 US9838838B2 (en) 2015-06-05 2015-09-29 Location determination using a companion device
US14/869,900 2015-09-29
PCT/US2016/034313 WO2016196188A2 (en) 2015-06-05 2016-05-26 Location determination using a companion device

Publications (2)

Publication Number Publication Date
KR20170137954A true KR20170137954A (ko) 2017-12-13
KR101913535B1 KR101913535B1 (ko) 2018-10-30

Family

ID=56118025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177034810A KR101913535B1 (ko) 2015-06-05 2016-05-26 동반 디바이스를 사용한 위치 결정 방법 및 시스템

Country Status (5)

Country Link
US (1) US9838838B2 (ko)
EP (1) EP3304119B1 (ko)
KR (1) KR101913535B1 (ko)
CN (1) CN107667542B (ko)
WO (1) WO2016196188A2 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9801058B2 (en) * 2014-04-29 2017-10-24 Tarik Tali Method and system for authenticating an individual's geo-location via a communication network and applications using the same
US10708778B2 (en) 2014-04-29 2020-07-07 Taliware, Inc. Method and system for authenticating an individual's geo-location via a communication network and applications using the same
US11039314B2 (en) 2014-04-29 2021-06-15 Taliware, Inc. Method for passive authentication of an individual using an individual's geo-location via a communication network and blockchain associated recording of individual's authentication data
US10278016B2 (en) * 2017-02-03 2019-04-30 Qualcomm Incorporated Systems and methods for position estimation using proximity devices
WO2019023503A1 (en) * 2017-07-26 2019-01-31 The Wireless Registry, Inc SYSTEMS, DEVICES, SOFTWARE AND METHODS FOR MANAGING ACCESS USING WIRELESS SIGNALS
AU2018306627B2 (en) 2017-07-28 2021-07-22 Accenture Global Solutions Limited Service provider support platform
US10966209B2 (en) * 2018-12-12 2021-03-30 Qualcomm Incorporated Systems and methods for super low latency location service for wireless networks
US10893377B2 (en) * 2019-03-28 2021-01-12 Here Global B.V. Determining a position estimate of a mobile device based on layout information
US10694372B1 (en) * 2019-09-06 2020-06-23 International Business Machines Corporation Independent agent-based location verification
US11309233B2 (en) 2019-09-18 2022-04-19 Alpha And Omega Semiconductor (Cayman), Ltd. Power semiconductor package having integrated inductor, resistor and capacitor
US20210099832A1 (en) * 2019-10-01 2021-04-01 Qualcomm Incorporated Low-tier user equipment positioning with premium user equipment assistance
US11950200B2 (en) * 2020-07-10 2024-04-02 Qualcomm Incorporated Enabling user equipment (UE) positioning anchors for vehicle-to-everything (V2X), vehicle-to-vehicle (V2V), and vehicle-to-pedestrian (V2P) positioning
US11864153B1 (en) * 2021-04-22 2024-01-02 T-Mobile Usa, Inc. Estimating cellular site locations
US11617059B1 (en) 2021-05-28 2023-03-28 T-Mobile Usa, Inc. Mobile device geographic location determination for emergency services

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI108372B (fi) 2000-06-30 2002-01-15 Nokia Corp Menetelmõ ja laite paikanmõõritykseen
US6535815B2 (en) * 2000-12-22 2003-03-18 Telefonaktiebolaget L. M. Ericsson Position updating method for a mobile terminal equipped with a positioning receiver
SE524509C2 (sv) 2002-04-23 2004-08-17 Axis Ab Metod och anordning för bestämning av positionen för en bärbar anordning
US6816734B2 (en) * 2002-09-17 2004-11-09 Motorola, Inc. Method and apparatus for improved location determination in a private radio network using a public network system
US7254405B2 (en) * 2004-11-22 2007-08-07 Motorola, Inc. System and method for providing location information to applications
US7277049B2 (en) 2005-07-29 2007-10-02 Motorola, Inc. Method for providing location aiding among peers operating in a direct communication mode
US8838481B2 (en) * 2011-07-26 2014-09-16 Golba Llc Method and system for location based hands-free payment
US8483705B1 (en) * 2007-02-06 2013-07-09 Sprint Communications Company L.P. GPS proxy for location-unaware devices
US9250092B2 (en) * 2008-05-12 2016-02-02 Apple Inc. Map service with network-based query for search
US8521429B2 (en) * 2009-06-17 2013-08-27 Microsoft Corporation Accuracy assessment for location estimation systems
US20110039623A1 (en) * 2009-08-12 2011-02-17 3 Legged Dog, Inc. Interactive system and method for digital artifact relocation and activation
US8981902B2 (en) * 2009-10-13 2015-03-17 F-Secure Corporation Controlling location information
US8942676B2 (en) * 2009-11-06 2015-01-27 ActiveCare, Inc. Systems and devices for emergency tracking and health monitoring
US8374632B2 (en) * 2010-01-04 2013-02-12 Alcatel Lucent Method and apparatus for providing geo-location enablement for wireless device
US8665154B2 (en) * 2011-05-13 2014-03-04 Microsoft Corporation Modeling and location inference based on ordered beacon sets
US8787944B2 (en) * 2011-08-18 2014-07-22 Rivada Research, Llc Method and system for providing enhanced location based information for wireless handsets
WO2013034635A1 (de) 2011-09-07 2013-03-14 J. Schmalz Gmbh Greif- oder spannvorrichtung sowie verfahren zur handhabung von gegenständen
CA2847222C (en) * 2011-09-23 2020-07-21 Rx Networks Inc. Geo-reference based positioning of a mobile device
US20140045547A1 (en) 2012-08-10 2014-02-13 Silverplus, Inc. Wearable Communication Device and User Interface
US9154910B2 (en) 2012-09-28 2015-10-06 Tencent Technology (Shenzhen) Company Limited Terminal location obtaining method, device, and system
GB2510169A (en) 2013-01-28 2014-07-30 Microsoft Corp Determining a location of a mobile user terminal
US9167390B2 (en) 2013-03-06 2015-10-20 Qualcomm Incorporated Adaptive assistance data for tiered service and efficiency in indoor positioning
US9247518B2 (en) 2013-03-12 2016-01-26 Qualcomm Incorporated Mobile device positioning responsive to externally generated regional candidate position fix mode selection
US9131341B2 (en) * 2013-05-28 2015-09-08 Tencent Technology (Shenzhen) Company Limited System and method for locating a mobile device
US9648074B2 (en) * 2013-05-31 2017-05-09 Tencent Technology (Shenzhen) Company Limited Systems and methods for delivering media data based on geographical locations
US20140358434A1 (en) 2013-06-02 2014-12-04 Hangzhou Haicun Information Technology Co. Ltd. Peer-Assisted Dead Reckoning
US9301082B2 (en) 2013-12-06 2016-03-29 Apple Inc. Mobile device sensor data subscribing and sharing
CN103702414B (zh) * 2013-12-11 2017-05-24 北京智谷睿拓技术服务有限公司 定位方法及移动设备、基站
KR102092057B1 (ko) * 2013-12-13 2020-03-23 삼성전자주식회사 전자 장치의 위치 정보 공유 방법 및 장치
KR102239090B1 (ko) * 2014-06-05 2021-04-13 삼성전자 주식회사 위치 정보를 제공하기 위한 방법 및 장치
US9419964B2 (en) * 2014-06-26 2016-08-16 Cisco Technology Inc. Sharing between CPE and companion device
WO2016061736A1 (zh) * 2014-10-20 2016-04-28 华为技术有限公司 协作定位方法及无线终端

Also Published As

Publication number Publication date
EP3304119B1 (en) 2022-10-19
US9838838B2 (en) 2017-12-05
WO2016196188A2 (en) 2016-12-08
US20160360354A1 (en) 2016-12-08
EP3304119A2 (en) 2018-04-11
KR101913535B1 (ko) 2018-10-30
WO2016196188A3 (en) 2017-01-12
CN107667542A (zh) 2018-02-06
CN107667542B (zh) 2018-10-19

Similar Documents

Publication Publication Date Title
KR101913535B1 (ko) 동반 디바이스를 사용한 위치 결정 방법 및 시스템
KR101258013B1 (ko) 위치 결정
EP2880880B1 (en) Generating geofences
US9560489B2 (en) Reducing location search space
US10064003B2 (en) Beacon-based geofencing
US8868104B2 (en) Multi-tier geofence detection
US9198004B2 (en) User-in-the-loop architecture for indoor positioning
US9769622B2 (en) Indoor location survey assisted by a motion path on a venue map
US20120309410A1 (en) Mobile Device Location Estimation
KR20140031363A (ko) 기저대역 온보드 위치 모니터링
WO2019036939A1 (zh) 一种定位方法及装置
US9838848B2 (en) Venue data prefetch
WO2015109114A1 (en) Range-free proximity determination
US20210144786A1 (en) Location source control
CN108093362B (zh) 定位模块的控制方法、装置、存储介质及终端
CN108093373B (zh) 定位控制方法、装置、存储介质及终端设备
US10820159B1 (en) Systems and methods for location tracking relating to dynamically generated geo data
WO2023206085A1 (zh) 辅助信息接收、发送方法和装置、通信装置及存储介质
JP2014174827A (ja) 位置情報送信システム

Legal Events

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