KR101343174B1 - 위치 데이터베이스를 이용한 모바일 장치의 위치 결정 - Google Patents

위치 데이터베이스를 이용한 모바일 장치의 위치 결정 Download PDF

Info

Publication number
KR101343174B1
KR101343174B1 KR1020127021348A KR20127021348A KR101343174B1 KR 101343174 B1 KR101343174 B1 KR 101343174B1 KR 1020127021348 A KR1020127021348 A KR 1020127021348A KR 20127021348 A KR20127021348 A KR 20127021348A KR 101343174 B1 KR101343174 B1 KR 101343174B1
Authority
KR
South Korea
Prior art keywords
location
mobile device
locations
access point
access points
Prior art date
Application number
KR1020127021348A
Other languages
English (en)
Other versions
KR20120117865A (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 KR20120117865A publication Critical patent/KR20120117865A/ko
Application granted granted Critical
Publication of KR101343174B1 publication Critical patent/KR101343174B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • 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
    • G01S5/02521Radio frequency fingerprinting using a radio-map
    • G01S5/02524Creating or updating the radio-map
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information

Abstract

위치 데이터베이스를 이용하여 모바일 장치의 위치를 결정하기 위한 방법, 프로그램 제품 및 시스템이 설명된다. 모바일 장치는 액세스 포인트들과 연관된 위치들을 저장할 수 있는 위치 데이터베이스를 호스팅할 수 있다. 위치들은 지리적 격자의 셀 그룹에서 분배될 수 있다. 모바일 장치가 이동하고 셀 그룹 외부의 위치와 연관된 액세스 포인트에 연결되는 경우, 모바일 장치는 위치 데이터베이스의 업데이트를 요청할 수 있다. 모바일 장치는 현재 액세스 포인트의 식별자(identifier)를 이용하여 위치 데이터베이스의 검색을 수행함으로써 모바일 장치의 통신 범위 내에 있는 현재 액세스 포인트들을 이용하여 모바일 장치의 현재 위치를 계산할 수 있다. 모바일 장치는 위치 데이터베이스의 현재 액세스 포인트들에 대응하는 위치들을 이용하여 현재 위치를 계산할 수 있다.

Description

위치 데이터베이스를 이용한 모바일 장치의 위치 결정{DETERMINING A LOCATION OF A MOBILE DEVICE USING A LOCATION DATABASE}
본 발명은 일반적으로 모바일 장치에 대한 지리적 위치를 결정하는 것에 관한 것이다.
무선 통신 네트워크는 무선으로 통신하는 장치를 위한 다양한 기술을 사용할 수 있다. 예를 들어, 무선 로컬 네트워크(WLAN)는 네트워크의 노드들(예컨대, 장치들) 간의 통신을 위한 선들 보다 전파(radio wave)를 이용하는 로컬 영역 네트워크(예컨대, 집, 사무실 또는 학교와 같은 작은 그룹의 빌딩과 같은 상대적으로 작은 물리적 영역을 커버하는 컴퓨터 네트워크)를 포함할 수 있다. 일부 WLAN 기술 예는 임의의 IEEE(Institute of Electrical and Electronics Engineers) 802.11 표준에 기초하는 임의의 WLAN 제품을 포함할 수 있는 WiFi를 포함한다.
송신자 및 수신자 간의 무선 연결은 무선 주파수(RF) 기술, 전파 진행과 연관되는 전자기 스펙트럼 내의 주파수를 이용할 수 있다. WiFi에 사용되는 일부 예시적인 무선 주파수는 2.5 기가헤르츠(GHz) 또는 5 GHz이다. RF 전류가 안테나에 공급되는 경우, 전자기장이 생성될 수 있다. 전자기장은 공간을 통해 전파할 수 있다. 무선 통신 네트워크의 구성요소는 액세스 포인트(AP)가 될 수 있다. 액세스 포인트는 무선 모바일 장치가 유선 네트워크와 통신하도록 할 수 있다. 액세스 포인트의 한 기능은 무선 어댑터 또는 무선 모바일 장치가 장착된 컴퓨터가 검출하고 "조정"될 수 있는 무선 신호를 브로드캐스팅할 수 있다.
WiFi 네트워크의 액세스 포인트는 액세스 포인트로부터 보내지고 이에 의해 수신되는 신호들의 세기 및 지리적 영역의 물리적 특성에 의해 결정되는 지리적 영역을 커버할 수 있다. 모바일 장치의 변수는 액세스 포인트의 통신 범위 내에 위치할 수 있다. 모바일 장치는 동시에 다수의 액세스 포인트의 통신 범위 내에 있을 수 있다. 모바일 장치는 때때로 모바일 장치가 통신할 수 있는 액세스 포인트의 위치를 이용하여 자신의 위치를 결정할 수 있는데, 액세스 포인트의 위치가 알려지면 액세스 포인트로부터 수신되는 신호들의 세기에 기초하여 자신의 위치를 3각 측량을 하여 결정할 수 있다.
네트워크 기반 위치 확인 시스템의 위치 데이터베이스를 관리하기 위한 방법, 프로그램 제품 및 시스템이 설명된다. 서버 컴퓨터는 무선 통신 네트워크의 액세스 포인트들의 통신 범위 내에 위치하는 위치 인식 모바일 장치(예컨대, GPS 가능 장치)로부터 위치 정보를 수신할 수 있다. 서버는 각 액세스 포인트에 대한 수신된 위치를 이용하여 평균 지리적 위치들을 계산할 수 있다. 평균 지리적 위치들에 기초하여, 서버 컴퓨터는 액세스 포인트들을 지리적 격자의 셀들에 할당할 수 있다. 서버 컴퓨터는 액세스 포인트 및 수신된 데이터의 인기도, 안정성, 수명 및 최신 정도에 기초하여 각 셀 내의 액세스 포인트들을 필터링할 수 있다. 서버 컴퓨터는 액세스 포인트들의 식별자를 평균 지리적 위치들과 연관시켜 위치 데이터베이스에 저장할 수 있다.
모바일 장치는 모바일 장치가 연결할 수 있는 액세스 포인트들의 위치를 이용하여 자신의 위치를 결정할 수 있다. 모바일 장치는 지리적 격자 상의 셀 내의 액세스 포인트에 연결됨에 따라, 액세스 포인트의 위치 정보, 셀 내의 다른 액세스 포인트의 위치, 및 이 셀에 이웃하는 셀들 내의 액세스 포인트들의 위치를 요청하고 수신할 수 있다. 모바일 장치는 모바일 장치의 통신 범위 내의 액세스 포인트와 연관되는 위치들을 수신된 정보로부터 식별할 수 있다. 모바일 장치는 식별된 위치들을 이용하여 평균 지리적 위치를 계산할 수 있다. 모바일 장치는 각 위치 및 계산된 평균 간의 거리를 더욱 계산할 수 있다. 모바일 장치는 평균으로부터 충분히 멀리 떨어진 위치들을 배제할 수 있다. 모바일 장치는 평균 지리적 위치에 대해 정확도가 달성될 때까지 계산 및 배제를 반복할 수 있다. 모바일 장치는 모바일 장치의 지도 디스플레이 상에 정보를 디스플레이할 수 있다.
네트워크 기반 위치 확인 시스템의 위치 데이터베이스를 관리하는 기술은 다음의 예시적인 이점을 달성하기 위해 수행될 수 있다. 지리적 영역은 액세스 포인트의 실제 위치가 알려지지 않은 경우 무선 통신 네트워크의 액세스 포인트와 연관될 수 있다. 지리적 영역은, 액세스 포인트의 실제 위치보다는 액세스 포인트의 통신 범위 내에 위치하는 실제 모바일 장치가 위치할 가능성이 높은 영역에 대응할 수 있다. 지리적 영역은 자주 업데이트될 수 있는 모바일 장치들로부터의 실시간 데이터에 기초하여 추정될 수 있고, 따라서 최신 위치 정보를 제공할 수 있다. 만약 액세스 포인트가 멀리 벗어나거나 정지되면, 액세스 포인트가 데이터베이스로부터 제거되어 유효하지 않은 위치 결정을 피할 수 있다. 지리적 영역은 다양한 시간에서 모바일 장치로부터 수신되는 데이터에 기초하여 계산될 수 있고, 따라서 지리적 영역은 예컨대 통근 시간, 영업 시간, 또는 밤에 대한 다양한 사용 패턴에 대응할 수 있다.
지리적 영역과 연관되는 액세스 포인트가 액세스 포인트의 통신 영역 내에 위치하는 GPS 사용불가 모바일 장치의 위치를 결정하는데 사용될 수 있다. 액세스 포인트 및 모바일 장치 사이의 데이터 송신은 모바일 장치 및 액세스 포인트 간의 정상 통신에 간섭을 하는 것을 막기 위해, 모바일 장치가 유휴 상태(idle)시 발생할 수 있다. 액세스 포인트의 위치들을 이용하여 모바일 장치의 위치를 결정하는 시스템은 모바일 장치의 대역폭의 소비를 스스로 제한할 수 있는데, 시스템이 직접 모바일 장치의 통신 범위 내에 있는 액세스 포인트들의 위치 및 이웃하는 영역들 내의 액세스 포인트들의 위치를 송신할 수 있기 때문이다. 따라서, 모바일 장치가 움직이는 경우에도 잦은 업데이트 및 재전송이 불필요하다. 각 셀 내의 액세스 포인트들의 필터링 메커니즘은 각 송신에서 모바일 장치로 송신되는 데이터 양을 더욱 제한할 수 있다. 모바일 장치는 신호 세기가 다양한 간섭으로 인해 변할 수 있기 때문에, 예컨대 위치를 추정하는 신호 세기를 이용하는 것보다 자신의 위치를 보다 정확히 추정할 수 있다. GPS 이용가능 모바일 장치는 예컨대 GPS 신호가 약한 경우(예컨대, 빌딩 내에 있는 경우), 무선 액세스 포인트들의 위치를 이용할 수 있다.
네트워크 기반 위치 확인 시스템의 위치 데이터베이스를 관리하는 하나 이상의 구현의 상세한 내용은 첨부되는 도면 및 아래의 설명에서 제시된다. 위치 데이터 베이스를 관리하는 다른 특징, 양상 및 이점은 상세한 설명, 도면 및 청구항으로부터 명확해질 것이다.
도 1a는 위치 데이터베이스를 관리하는 기술의 개략도.
도 1b는 3차원 공간에서 위치 데이터베이스를 관리하는 기술을 도시한 도면.
도 2a 내지 2c는 모바일 장치를 이용하여 WLAN 내의 액세스 포인트와 연관되는 위치를 결정하는 예시적인 단계를 도시한 도면.
도 2d는 3차원 공간 내의 모바일 장치를 이용하여 WLAN 내의 액세스 포인트와 연관되는 위치들을 결정하는 예시적인 단계를 도시한 도면.
도 3a 및 3b는 모바일 장치를 이용하여 WLAN 내의 액세스 포인트와 연관되는 위치들을 결정하는 예시적인 프로세스를 도시하는 흐름도.
도 3c는 위치 데이터베이스를 관리하는 기술을 구현하는 예시적인 시스템을 도시하는 블록도.
도 4a는 네트워크 기반 위치 확인 시스템 내의 위치 데이터베이스를 이용하여 모바일 장치의 위치들을 결정하기 위한 기술을 도시하는 도면.
도 4b는 위치 데이터베이스를 이용하여 모바일 장치의 위치를 결정하는 예시적인 프로세스를 도시하는 흐름도.
도 4c는 모바일 장치의 위치를 결정하는 예시적인 적응 다중 패스 프로세스를 도시하는 흐름도.
도 5는 무선 액세스 포인트의 위치를 이용하여 모바일 장치의 위치를 결정하기 위한 예시적인 사용자 인터페이스를 도시하는 도면.
도 6은 도 1 내지 5와 관련하여 설명되는 특징 및 작동을 구현하기 위한 예시적인 시스템 아키텍처의 블록도.
도 7은 모바일 장치의 예시적인 아키텍처의 블록도.
여러 도면 내의 유사한 참조 번호는 유사한 요소를 나타낸다.
위치 데이터베이스 관리의 개요
도 1a는 네트워크 기반 위치 확인 시스템에 대한 위치 데이터베이스를 관리하는 기술의 개략도이다. 무선 로컬 영역 네트워크(WLAN)는 여러 액세스 포인트(105)를 포함하는 무선 통신 네트워크가 될 수 있다. 액세스 포인트(105)는 무선 장치들에 대한 통신 허브로 동작할 수 있는 하드웨어 장치 또는 컴퓨터 소프트웨어를 포함하여 유선 네트워크에 연결될 수 있다. 복수의 액세스 포인트(105)가 영역(예컨대, 사무실 빌딩 또는 공항)에서 분배될 수 있다.
액세스 포인트(105)는 다양한 통신 프로토콜을 이용하여 무선 장치들(예컨대, 모바일 장치(108 및 110))과 통신할 수 있다. 일부 구현에서, 액세스 포인트(105)는 IEEE(Institute of Electrical and Electronics Engineers) 802.11 기반 프로토콜(예컨대, IEEE 802.11a)을 구현하는 WiFiTM 네트워크의 액세스 포인트가 될 수 있다. 일부 구현에서, 액세스 포인트(105)는 IEEE 802.16 기반 프로토콜(예컨대, IEEE 802.16-2004 또는 IEEE 802.16e-2005)을 구현하는 WiMAX(worldwide interoperability for microwave access) 네트워크의 액세스 포인트가 될 수 있다. 액세스 포인트(105)는 액세스 포인트(105)의 위치로부터, 액세스 포인트(105)의 구성 및 물리적 환경을 포함하는 요소들에 따라 10미터 미만에서 수 백미터에 이르는 위치에 달하는 통신 범위를 가질 수 있다. 복수의 무선 장치(108 및 110)는 모바일 장치(108 및 110)가 액세스 포인트(105)의 통신 범위 내에 있는 경우 액세스 포인트로 연결될 수 있다. 다음으로, 복수의 액세스 포인트(105)가 연결하기 위한 단일 모바일 장치(108 또는 110)에 이용가능할 수 있다. 모바일 장치(108 및 110)는 모바일 장치(108 및 110)가 다양한 요소에 기초하여 연결할 수 있는 특정 액세스 포인트(105)를 선택할 수 있다. 예를 들어, 선택은 모바일 장치(108)가 액세스 포인트(105a)로 연결되도록 인가되는지 여부, 또는 액세스 포인트(105a)가 무선 연결을 위한 가장 강한 신호를 모바일 장치(108)로 제공할 수 있는지 여부에 기초할 수 있다.
시스템은 액세스 포인트들(105)과 연관되는 위치 영역들(115)을 결정할 수 있다. 위치 영역(115)은 액세스 포인트(105)의 통신 범위 내에 위치하는 모바일 장치(108)가 위치할 가능성이 높은 곳을 나타내도록 계산될 수 있다. 시스템은 액세스 포인트들(105)의 통신 범위 내에 위치하는 모바일 장치(108)로부터의 알려진 위치들에 기초하여 이 결정을 할 수 있다. 모바일 장치들(108)은 위치 인식 모바일 장치, 예컨대 글로벌 위치확인 시스템(Global Positioning System; GPS)을 수신할 수 있고 GPS 신호들을 이용하여 위치들을 결정할 수 있는 수신기들을 내부에 가지고 있거나 이와 결합되는 GPS 이용가능 모바일 장치가 될 수 있다. 위치 인식 모바일 장치들(108)은 도 1a의 검은 삼각형으로 나타난다. 위치 인식 모바일 장치들(108)이 특정 액세스 포인트(105)(예컨대, 액세스 포인트(105a))의 통신 범위 내에 위치하는 경우, 위치 인식 모바일 장치들(108)은 장치들의 위치를 액세스 포인트(105a)로 전송할 수 있다. 액세스 포인트(105a)는 전송을 시스템으로 중계할 뿐만 아니라 액세스 포인트(105a)의 식별자를 시스템으로 중계할 수 있다. 시스템은 액세스 포인트(105a)의 통신 범위 내에 위치하는 임의의 모바일 장치(108 또는 110)가 위치할 가능성이 가장 높은 추정된 위치 영역(115a)을 결정할 수 있다. 이 설명에서, 추정된 위치 영역들(115)은 존재 영역들이라 하고, 특정 액세스 포인트(105)의 통신 범위 내에 위치하는 경우 모바일 장치(108 또는 110)이 존재할 가능성이 높다고 나타낸다.
존재 영역들(115)을 계산하기 위해, 시스템은 반복 프로세스(예컨대, 다중 패스 분석을 수행하여)를 적용할 수 있다. 반복 프로세스는 액세스 포인트(예컨대, 액세스 포인트(105))와 연관된 존재 영역(예컨대, 존재 영역(115))을 원으로서 결정할 수 있다. 원은 액세스 포인트(105)에 접속된 위치 인식 모바일 장치(108)의 위치들에 기초하여 계산되는 평균 지리적 위치에 대응하는 중심을 가질 수 있다. 원은 오차 마진에 대응하는 반경을 가질 수 있는데, 이는 예컨대 모바일 장치(108)의 위치 및 평균 지리적 위치 간의 거리에 의해 결정될 수 있다. 반복 프로세스에 대한 추가적인 상세한 내용은 도 2 및 3을 참조하여 아래에서 설명된다. 반복 프로세스는 하루 중 상이한 시간 동안 상이한 무선 액세스 사용 패턴을 포착하고 액세스 포인트들(105)의 잠재적 움직임들을 포착하도록 주기적으로(예컨대, 매 6시간마다) 수행될 수 있다.
시스템은 수신 모바일 장치가 존재 영역들(115)을 이용하여 장치들의 추정된 위치를 결정할 수 있도록 액세스 포인트들(105)의 통신 범위 내에 위치하는 GPS 이용불가 모바일 장치(예컨대, 모바일 장치(110))를 포함하는 모바일 장치들에게 존재 영역들(115)의 정보를 보낼 수 있다. 예를 들어, 모바일 장치(110)가 액세스 포인트(105b)의 통신 범위 내에 위치하면, 모바일 장치(110)의 위치는 액세스 포인트(105b)와 연관되는 존재 영역(115b)과 일치하는 것으로 추정될 수 있다.
주어진 영역(예컨대, 공항)에서, 여러 액세스 포인트들(105)이 존재할 수 있다. 더욱이, 모바일 장치(110)는 이동할 수 있는데, 모바일 장치(110)의 통신 범위 바로 내에 있지는 않지만 충분히 가까이 있는 액세스 포인트들의 위치들을 모바일 장치(110)로 보내서, 모바일 장치(110)가 이 위치들을 이용하여 자신의 움직임을 추적할 수 있다. 많은 양의 위치 데이터를 모바일 장치(110)로 보내는 것을 막기 위해, 시스템은 세상에 존재하는 모든 단일 액세스 포인트들의 위치 데이터보다는 제한된 수의 액세스 포인트들(예컨대, 액세스 포인트(105a))의 위치 데이터만이 전송되도록 액세스 포인트들(105) 및 위치 영역들(115)을 필터링할 수 있다. 필터링은 위치들(115) 및 액세스 포인트들(105)의 인기도, 안정성, 수명, 및 최신 정도를 포함하는 다양한 요소들에 기초할 수 있다.
위치들(115) 및 액세스 포인트들(105)을 필터링하기 위해, 시스템은 셀들(102)을 포함하는 지리적 격자(100)를 생성할 수 있다. 셀(102)은 실질적으로 직사각형 모양을 갖는 다각형일 수 있는데, 이 다각형은 지리적 영역의 식별점(예컨대, 중심 또는 코너)의 위도 및 경도 및 크기(예컨대, 위도로 측정되는 길이, 및 경도로 측정되는 폭)에 의해 지리적 격자(100) 상에서 식별될 수 있는 지리적 영역에 대응한다. 각 셀(102)은 특정 수의 위치를 포함할 수 있는 컨테이너로 사용될 수 있다. 예를 들어, 셀(102)은 길이가 0.0005도 자오선(약 56미터) 및 폭이 0.0005도 위도(미터 폭은 위도에 따라 변할 수 있음)인 직사각형이 될 수 있다. 셀(102)은 액세스 포인트(105)에 대응하는 존재 영역(115)의 수(예컨대, 3)를 유지하도록 구성될 수 있다. 일부 구현에서, 셀(102)은 존재 영역(115)의 중심이 셀(102)의 경계 내에 위치하면 존재 영역(115)을 "유지(hold)"할 수 있다. 존재 영역들(115)은 하나 이상의 신뢰 요소에 기초하여 셀(102) 내에 위치하는 모든 존재 영역들(115)로부터 선택될 수 있다. 선택은 인기도, 안정성, 수명 및 최신 정도와 같은 다양한 조건에 기초할 수 있다.
특정 액세스 포인트(예컨대, 액세스 포인트(105b)) 및 액세스 포인트와 연관된 존재 영역(예컨대, 존재 영역(115b))은 동일한 셀(102)에 위치할 필요가 없다. 이는 예를 들어, 액세스 포인트(105b)가 셀(102a) 내의 빌딩에 위치하고 액세스 포인트(105b)의 통신 범위 내에 위치하는 대부분의 모바일 장치들(108)이 셀(102b) 내의 또 다른 빌딩 내에 위치하는 경우 발생할 수 있다. 일부 구현에서, 시스템은 액세스 포인트(105b)의 실제 위치를 무시할 수 있다.
모바일 장치(110)가 액세스 포인트(예컨대, 자신의 연관된 존재 영역(115a)이 셀(102c) 내에 위치하는 액세스 포인트(105a))에 연결되는 경우, 또는 다른 방법으로(예컨대, 셀룰러 네트워크를 통해) 시스템에 연결되는 경우, 모바일 장치(110)는 시스템으로부터 위치 업데이트를 수신할 수 있다. 위치 업데이트는 존재 영역(115a)이 위치하는 동일한 셀(예컨대, 셀(102c))에 위치하는 모든 존재 영역들(115)을 포함할 수 있다. 위치 업데이트는 지리적 격자(100) 상의 셀(102c)에 이웃하는 다른 셀들(102)(예컨대, 셀(102a) 및 셀(102b)) 내에 위치하는 존재 영역들(115)을 더 포함할 수 있다.
모바일 장치(110)가 액세스 포인트(105a)로 연결되는 경우, 모바일 장치(110)는 이용가능한 다른 액세스 포인트(105)(예컨대, 액세스 포인트(105b))를 검출할 수 있다. 모바일 장치(110)는 이용가능한 액세스 포인트들에 대한 존재 영역들(예컨대, 존재 영역들(115a 및 115b))을 식별할 수 있다. 모바일 장치(110)는 다양한 알고리즘을 이용하여 모바일 장치(110)의 현재 위치를 계산할 수 있다. 예를 들어, 하나의 존재 영역(115a)만이 식별되는 경우, 모바일 장치(110)는 존재 영역(115a)을 모바일 장치(110)의 현재 위치로 지정할 수 있다. 둘 이상의 존재 영역(115)이 식별되는 경우, 모바일 장치(110)는 반복 프로세스(예컨대, 다중 패스 분석)를 이용하여 자신의 현재 위치를 계산할 수 있다. 반복 프로세스는 존재 영역들의 평균 위치를 계산하고, 존재 영역들 및 평균 위치 간의 거리들을 계산하며, 평균 위치로부터 가장 멀리 있는 존재 영역들을 배재할 수 있다. 모바일 장치(110)는 모바일 장치(110)의 위치를 결정하기 위한 정확도 요건이 만족될 때까지 반복을 계속할 수 있다. 모바일 장치(110)는 평균 위치를 모바일 장치(110)의 현재 위치로 지정할 수 있고 평균 위치를 지도 디스플레이 장치 상에 디스플레이할 수 있다.
일부 구현에서, 시스템으로부터 모바일 장치(110) 상으로 수신되는 위치 업데이트는 존재 영역(115a) 주위의 충분히 큰 영역(예컨대, 1 또는 2 제곱 킬로미터)이 커버될 수 있도록 여러 이웃하는 셀들을 포함할 수 있다. 큰 영역을 커버하는 위치 업데이트에 기초하여, 모바일 장치(110)는 모바일 장치(110)가 움직이는 경우 잦은 업데이트를 요청해야 하는 것을 피할 수 있다. 모바일 장치(110)는 예컨대 모바일 장치(110)가 유휴 상태이거나 아니면 이용가능한 통신 대역폭을 갖는 경우 업데이트된 존재 영역 정보를 수신할 기회를 가질 수 있다.
도 1b는 3차원 공간에서 위치 데이터베이스를 관리하는 것을 도시한다. 일부 위치 인식 모바일 장치들(108)(예컨대, GPS 이용가능 장치)은 3차원 공간에서의 위치들을 식별할 수 있다. 위치들은 위도, 경도 및 고도에 의해 나타날 수 있다. 고도는 예컨대 해수면으로부터 미터로 측정되는 높이로 나타날 수 있다. 3차원 공간에 모바일 장치를 놓는 것은 모바일 장치의 위치를 알아내는데 모바일 장치의 고도가 필요한 경우 바람직할 수 있다. 예를 들어, 고도는 모바일 장치가 고층 빌딩에서 위치하는 층을 결정하는데 사용될 수 있다. 3차원 공간에서 모바일 장치(108)의 위치는 고도를 주석으로 갖는 2차원 지도 상에서, 또는 3차원 지도 상에서 디스플레이될 수 있다.
모바일 장치들(108)은 액세스 포인트(126)에 연결될 수 있다. 모바일 장치들(108)은 위도, 경도 및 고도 좌표를 포함하는 자신들의 위치들을 시스템으로 전송할 수 있는 위치 인식 모바일 장치들이 될 수 있다. 시스템은 모바일 장치들(108)로부터 수신되는 위도, 경도 및 고도 좌표들에 기초하여 평균 위치를 계산할 수 있다. 평균 위치를 중심으로 갖고 오차 마진을 반경으로 갖는 3차원 공간(124)이 액세스 포인트(126)와 연관될 수 있다. 공간(124)은 모바일 장치가 액세스 포인트(126)의 통신 범위 내에 위치하는 경우 모바일 장치가 위치할 가능성이 높은 공간을 나타낼 수 있다. 이 설명에서, 공간(124)은 존재 공간이라고 한다.
시스템은 존재 공간(124)에 대한 정보를 액세스 포인트(126)의 통신 범위 내에 위치하는 모바일 장치들로 보낼 수 있다. 정보를 수신하는 모바일 장치들은 이 정보를 이용하여 자신의 지리적 위치들을 결정할 수 있다. 시스템은 3차원 지리적 공간을 3차원 격자(120)로 나눌 수 있다. 3차원 격자(120)는 3차원 셀들(122)로 구성될 수 있다. 각 3차원 셀(122)은 지리적 격자(100)의 셀(102)에 대응하는 베이스를 가질 수 있다. 각 3차원 셀(122)은 한 차원으로서 (예컨대, 미터로 측정되는) 높이를 가질 수 있다. 존재 영역(124)은 존재 영역(124)의 중심이 셀(122) 내에 있으면 셀(122) 내에 위치한다고 할 수 있다. 시스템은 존재 공간의 대중성(예컨대, 얼마나 많은 연결들이 존재 공간 내의 모바일 장치들(108)로부터 액세스 포인트(126)로 이루어지는지), 존재 공간(124)의 안정성(예컨대, 존재 공간(124)이 얼마나 안정되어 있는지), 액세스 포인트(126)의 수명(예컨대, 액세스 포인트(126)가 얼마나 오래 존재했는지), 및 존재 공간(124)의 최신 정도(예컨대, 액세스 포인트(126)의 통신 범위 내에 위치하는 모바일 장치(108)로부터 가장 최근의 위치 송신을 언제 수신하였는지)에 기초하여 셀(122) 내의 존재 공간들의 수를 제한할 수 있다.
시스템은 존재 공간(124) 및 3차원 격자(120)의 3차원 셀들(122)에 기초한 인접하는 존재 공간들에 대한 정보를 액세스 포인트(126)의 통신 범위 내에 위치하는 모바일 장치(예컨대, 모바일 장치(110))로 보낼 수 있다. 모바일 장치(110)는 이 정보를 이용하여 3차원 공간 내의 모바일 장치(110)의 현재 위치를 추정할 수 있고, 추정된 현재 위치를 3차원 지도 상에 디스플레이할 수 있다.
위치 데이터베이스를 관리하기 위한 예시적인 서버측 프로세스 및 시스템
도 2a 내지 2c는 위치 데이터베이스를 관리하는 예시적인 단계들을 도시한다. 편의상, 기술들은 이 기술들을 구현하는 서버를 포함하는 네트워크 기반 위치 결정 시스템을 참고하여 설명된다.
도 2a는 액세스 포인트(105)와 연관되는 존재 영역을 결정하는데 사용될 수 있는 다중 패스 분석의 예시적인 단계를 도시한다. 액세스 포인트(105)는 액세스 포인트(105)의 송신기의 신호 강도 및 기타 요소들(예컨대, 액세스 포인트(105)를 둘러싸는 지리적 영역들의 물리적 특성)에 의해 결정될 수 있는 커버 영역(202)을 가질 수 있다. 커버 영역(202) 내에 위치하는 모바일 장치들(108)은 액세스 포인트(105)에 무선으로 연결될 수 있다. 액세스 포인트(105)는 모바일 장치들(108)이 다양한 게이트웨이를 통해 유선 네트워크로 연결되도록 할 수 있다. 유선 네트워크는 데이터 네트워크(예컨대, 인터넷), 공중 교환 전화 네트워크(public switched telephone network; PSTN), 기타 디지털 또는 아날로그 네트워크, 또는 이들의 조합을 포함할 수 있다.
모바일 장치(108)는 위치 인식 모바일 장치(예컨대, GPS 가능 모바일 장치)를 포함할 수 있다. 각 위치 인식 모바일 장치들(108)(도 2a의 검은 삼각형으로 나타남)은 자신의 현재 지리적 위치를 검출할 수 있다. 현재 지리적 위치는 모바일 장치(108)의 위도 및 경도를 포함하는 지리적 좌표에 의해 나타날 수 있다. 모바일 장치들(108)이 액세스 포인트(105)와 통신하는 경우, 모바일 장치들(108)은 위치 정보를 액세스 포인트(105)를 통해 시스템으로 송신할 수 있다. 위치 정보는 액세스 포인트(105)의 식별자(예컨대, 액세스 포인트(105)의 매체 액세스 제어(Media Access Control; MAC) 주소)와 연관될 수 있다. 시스템은 다수의 모바일 장치들(108)로부터 수신되는 위치 정보를 이용하여 액세스 포인트(105)와 연관될 수 있는 존재 영역을 결정할 수 있다. 존재 영역은 액세스 포인트(100)가 실제로 위치하는 위치를 반드시 포함할 필요는 없다. 존재 영역이 커버 영역(202) 내에 위치할 수 있더라도 존재 영역이 커버 영역(202)의 기하학적 위치 또는 모양에 대응할 필요는 없다.
커버 영역(202)으로 모바일 장치들(108)을 분배하는 것은 특정 시간(예컨대, 액세스 포인트(105)가 위치하는 시간대의 오전 8:30 지역 시간)에서의 모바일 장치들(108)의 스냅 사진에 대응할 수 있다. 각 모바일 장치(108)는 단일 위치와 연관될 수 있다. 커버 영역(202)으로 모바일 장치들(108)을 분배하는 것은 또한 시간 동안(예컨대, 오전 4시에서 오전 10시까지 6시간 동안) 모바일 장치들(108)의 위치들에 대응할 수 있다. 각 모바일 장치(108)는 (예컨대 모바일 장치(108)가 움직이는 경우) 다수의 위치들과 연관될 수 있다. 다수의 위치들과 연관되는 단일 모바일 장치(108)는 도 2a의 다수의 삼각형에 의해 도시된 바와 같이 시스템 내의 다수의 위치들에 의해 나타날 수 있다.
서버는 모바일 장치들(108)로부터 수신된 위치들의 세트의 평균 지리적 위치를 결정할 수 있다. 위치들의 세트는 특정 시간에서 또는 특정 시간 동안 모바일 장치들(108)로부터 수신되는 위치들을 포함할 수 있다. 평균 지리적 위치는 원(204a)에 의해 둘러싸이는 영역의 중심(205)으로 지정될 수 있다. 원(204a)의 중심은 액세스 포인트(105)의 위치와 일치할 필요가 없다. 서버는 평균 지리적 위치 및 세트 내의 각 위치 간의 거리를 계산하고 하나 이상의 이상치를 식별할 수 있다. 이상치들은 평균 지리적 위치로부터 가장 멀리 떨어져 위치하는 세트 내의 위치들일 수 있다. 중심으로의 거리들이 임계값을 초과하는 이상치들(예컨대, 위치(210))은 세트로부터 제외될 수 있다. 원(204a)은 평균 지리적 위치 및 이상치들이 제외된 후의 현재 세트 내의 위치들 간의 가장 먼 거리에 대응하는 반경(206)을 가질 수 있다.
도 2b는 도 2a의 단계 다음의 다중 패스 분석의 예시적인 단계를 도시한다. 도 2a의 평균 지리적 위치(원(204a)의 중심(205))까지의 거리들이 임계값을 초과하는 위치들은 세트로부터 제외되었다. 임계값은 위치들의 퍼센트(예컨대, 도 2a의 위치들의 5퍼센트)가 제외되도록 구성될 수 있다. 새로운 평균 지리적 위치는 세트 내에 남아 있는 위치들(예컨대, 남아있는 위치들의 95퍼센트)에 기초하여 계산될 수 있다. 새로운 평균 지리적 위치는 예컨대 원(204b)의 중심(225)이 될 수 있다. 다양한 구현에서, 새로운 평균 지리적 위치를 계산하는 것은 세트 내의 남아 있는 위치들을 평균내는 것, 세트 내의 중간 지리적 위치를 선택하는 것(예컨대, 중간 위도 또는 중간 경도를 선택하여), 또는 다른 알고리즘을 적용하는 것을 포함할 수 있다. 평균 지리적 위치를 계산하기 위한 알고리즘들은 다중 패스 분석의 각 패스에서 동일할 수 있거나, 각 패스에서 서로 상이할 수 있다.
원(204b)에 의해 둘러쌓이는 영역은 이상치 위치들이 제외되는 경우 이전 패스에서 결정된 바와 같이 원(204a)에 의해 둘러쌓이는 영역보다 작을 수 있다. 더 작은 영역은 향상된 계산 정확도를 반영할 수 있다. 원(204b)의 중심(225)은 원(204a)의 중심(205)과 반드시 일치할 필요는 없다. 일부 구현에서, 원(204b)의 반경(216)은 원(204b)의 중심(225)으로부터 가장 멀리 떨어져 있는 모바일 장치(108)의 남아있는 위치에 대응할 수 있다. 반경(216)은 현재 패스에서 계산되는 존재 영역의 새로운 추정의 오차 마진을 나타낼 수 있다.
도 2c는 다중 패스 분석의 예시적인 최종 단계를 도시한다. 특정 종료 조건이 만족되는 경우, 시스템은 최종 단계 후에 반복 프로세스를 종료할 수 있다. 최종 단계는 모바일 장치들(108)의 위치들의 무리에 대응하는 최종 평균 지리적 위치를 생산할 수 있다. 최종 평균 지리적 위치는 원(204c)의 중심(235)으로 나타날 수 있다. 원(204c)은 최종 평균 지리적 위치 및 무리 내의 한 위치 간의 거리에 기초하는 최종 오차 마진에 대응하는 반경을 가질 수 있다. 원(204c)은 액세스 포인트(105) 및 액세스 포인트(105)의 식별자(예컨대, MAC 주소)와 연관되는 존재 영역으로 지정될 수 있다.
서버는 다양한 요인에 기초하여 액세스 포인트(105)의 식별자 및 위치 데이터베이스 내의 연관된 존재 영역을 포함할지 여부를 결정할 수 있다. 예를 들어, 서버는 지리적 격자(100)의 셀(102) 내의 존재 영역들의 수를 셀 수 있고, 인기도, 안정성, 및 수명에 기초하여 여러 존재 영역들을 선택할 수 있다. 서버는 위치 데이터베이스 내의 (존재 영역(204c)이 선택되면 존재 영역(204c)을 포함하는) 존재 영역들의 정보를, 모바일 장치(215)가 GPS 이용가능한 것인지 여부에 상관없이, 모바일 장치(예컨대, 모바일 장치(215))로 보낼 수 있다.
도 2d는 3차원 공간 내의 위치 데이터베이스를 관리하는 예시적인 단계를 도시한다. 도 2d에서, 축 X, Y 및 Z은 3차원 공간을 나타내는데 사용될 수 있다. 예를 들어, 축 X, Y, 및 Z는 각각 위도, 경도 및 고도를 나타낼 수 있다. 편의상, 액세스 포인트(126)의 위치는 도 2d 내의 X, Y, 및 Z 축 상의 0점과 일치하도록 도시된다. 일부 구현에서, 액세스 포인트(126)의 실제 위치(예컨대, 위도, 경도 및 고도 좌표)는 계산에서 선택적이다.
도 2d의 각 삼각형은 3차원 공간 내에 위치하는 모바일 장치의 위치를 나타낼 수 있다. 위치들은 3차원 공간 내의 평면 상에 투사(projection)(예컨대, 투사(226))를 가질 수 있다. 평면은 임의의 고도(예컨대, 액세스 포인트(126)의 고도)에서 정의될 수 있다. 예를 들어, 평면은 축 X 및 Y에 의해 정의될 수 있다. 액세스 포인트(126)는 액세스 포인트(126)의 신호 강도 및 기타 제한 인자(예컨대, 신호 경로 상의 바닥, 천장, 빌딩)에 의해 결정될 수 있는 커버 공간(222)에 대응할 수 있다.
다중 패스 분석은 지리적 공간을 셀 공간(202)에 위치하는 위치 인식 모바일 장치들(108)로부터 수신된 위치들의 세트 상의 WLAN 기반 액세스 포인트(126)와 연관시킬 수 있다. 다중 경로 분석의 패스에서, 평균 지리적 위치(예컨대, 공간(224)의 중심)는 예컨대 세트 내의 위치들의 위도, 경도 및 고도 좌표를 평균내어 결정될 수 있다. 평균 지리적 위치 및 커버 공간(222) 내의 위치들 간의 거리들이 계산될 수 있다. 커버 공간(222) 내에 있지만 평균 지리적 위치로부터 충분히 멀리 떨어져 잇는 위치들은 세트로부터 제외되고 추가 계산에서 제외될 수 있다. 공간(224)의 반경은 예컨대 세트 내의 남아 있는 위치들 및 평균 지리적 위치 간의 가장 먼 거리에 의해 결정될 수 있다.
시스템은 세트 내의 평균 지리적 위치를 계산하는 단계, 평균 지리적 위치 및 세트 내의 위치들 간의 거리들을 계산하는 단계, 및 계산된 거리들에 기초하여 세트로부터 위치들을 제외시키는 단계를 반복할 수 있다. 반복은 종료 조건이 만족될 때까지 계속될 수 있다. 평균 지리적 위치에서 중심을 갖는 공간 및 평균 지리적 위치 및 세트 내의 남아 있는 위치 간의 거리에 기초하는 반경은 액세스 포인트(126)와 연관될 수 있는 존재 공간으로 지정될 수 있다.
도 3a는 위치 데이터베이스를 관리하는 예시적인 프로세스(300)를 도시하는 흐름도이다. 프로세스(300)는 예컨대 WLAN의 액세스 포인트와 연관되는 존재 영역 또는 존재 공간을 결정하는데 사용될 수 있다. 존재 영역 또는 존재 공간은 GPS 이용불가 모바일 장치의 위치를 결정하는데 사용될 수 있다. 편의상, 프로세스(300)는 프로세스(300)를 구현하는 시스템을 참조하여 설명된다.
시스템은 액세스 포인트(105)의 통신 범위 내에 위치하는 하나 이상의 제1 모바일 장치(108)로부터 위치들의 세트를 수신할 수 있다(302). 각 위치는 지리적 좌표 세트(예컨대, 위도, 경도 및 고도)에 의해 나타날 수 있다. 위치는 액세스 포인트(105)의 식별자(예컨대, MAC 주소)와 연관될 수 있다. 액세스 포인트의 식별자는 액세스 포인트(105)가 시스템과 통신하는 경우 액세스 포인트(105)에 의해 자동으로 공급될 수 있다. 다양한 구현에서, 위치들의 세트는 시간 구간(예컨대, 6시간, 또는 액세스 포인트(105)가 위치하는 시간대의 오전 6시에서 오전 10시)에 대응할 수 있다.
일부 구현에서, 시간 구간은 하루 중 다양한 시간에서의 특정 사용 패턴의 특성을 반영하도록 구성될 수 있다. 액세스 포인트(105)의 통신 범위 내에 위치하는 모바일 장치들이 가장 가능성 높게 위치할 영역은 낮 시간 동안 변할 수 있는데, 이는 특정 시간대에서 다양한 사용 패턴을 나타낸다. 예를 들어, 시간 구간은 "통근 시간", "영업 시간", "밤 시간" 등에 대응할 수 있다. 하루 중 시간대의 특성은 모바일 장치(108)의 다양한 사용 패턴에 대응할 수 있다. 예를 들어, 통근 시간 동안, 액세스 포인트(105)와 연관되는 존재 영역은 고속도로에 또는 그 근처에 있을 수 있고; 영업 시간 동안, 액세스 포인트(105)와 연관되는 존재 영역은 사무실 빌딩에 또는 그 근처에 있을 수 있으며; 밤 시간에는, 액세스 포인트(105)와 연관되는 존재 영역은 특정 집중 지점 없이 퍼져있을 수 있다. 시스템은 예컨대 오전 4시에서 오전 10시에 수신된 위치들에 기초한 존재 영역을 계산할 수 있고, 오전 10시에서 오후 4시에 수신된 위치에 기초한 존재 영역을 재계산할 수 있다. 각 특정 시간대에서 수신된 위치들은 시스템에 세트로 그룹화될 수 있다. 위치들은 서버에 결합되는 저장 장치에 임의의 데이터 구조(예컨대, 세트, 목록, 어레이, 관련 데이터 베이스 내의 데이터 레코드 등)로 저장될 수 있다.
시스템은 수신된 위치들의 세트의 평균에 기초하여 액세스 포인트(105)와 연관된 지리적 위치를 결정할 수 있다(304). 지리적 위치는 존재 영역 또는 위에서 설명되는 존재 공간을 포함할 수 있다. 존재 영역 또는 존재 공간은 예컨대 액세스 포인트(105)의 MAC 주소에 의해 액세스 포인트(105)와 연관될 수 있다. 일부 구현에서, 지리적 위치를 결정하는 단계는 각 패스 내의 세트로부터 적어도 하나의 위치를 제외하는 것을 포함하는 수신된 위치들의 세트에 대해 다중 패스 알고리즘을 적용하는 단계를 포함할 수 있다. 지리적 위치를 결정하는 단계는 다중 패스 알고리즘을 주기적으로 적용하는 단계를 포함할 수 있다.
시스템은 액세스 포인트(105) 및 액세스 포인트(105)와 연관된 지리적 위치를 액세스 포인트(105)의 인기도, 지리적 위치의 안정성, 및 액세스 포인트(105)의 수명을 포함하는 다양한 인자에 기초하여 지리적 격자(예컨대 지리적 격자(100)) 상의 셀(예컨대, 셀(102))로 지정할 수 있다(306). 일부 구현에서, 액세스 포인트(105)의 인기도는 얼마나 많은 모바일 장치(108)가 액세스 포인트(105)의 통신 범위 내에 있는지를 측정할 수 있다. 액세스 포인트의 인기도는 예컨대 액세스 포인트(105)의 통신 범위 내에 위치하는 모바일 장치들(108)의 얼마나 많은 위치들이 시간 구간에서 시스템에 의해 수신되는지에 의해 측정될 수 있다.
액세스 포인트(105)와 연관되는 존재 영역의 안정도가 존재 영역이 액세스 포인트(105)의 통신 범위 내에 위치하는 장치의 위치를 추정하는데 사용되면, 존재 영역이 얼마나 믿을만한지를 반영할 수 있다. 액세스 포인트(105)와 연관되는 존재 영역의 안정성은 예컨대 마지막 두 계산에 의해 계산되는 존재 영역들을 비교하여 측정될 수 있고, 존재 영역들 간의 겹치는 정도를 결정할 수 있다. 겹치는 정도가 높을수록, 존재 영역은 더 안정된다.
액세스 포인트(105)의 수명은 액세스 포인트(105)와 연관되는 데이터의 품질을 반영할 수 있다. 예를 들어, 오랜 기간 데이터베이스에 있던 액세스 포인트는 최근에 추가된 액세스 포인트에 비해 더 신뢰성이 있을 수 있다. 액세스 포인트(105)의 수명은 위치 데이터베이스 내의 데이터의 히스토리에 의해 측정될 수 있다.
일부 구현에서, 데이터의 최신 정도는 액세스 포인트(105)와 연관되는 존재 영역이 지리적 격자(100)의 셀(102)로 지정되는지 여부를 결정하는데 또한 사용될 수 있다. 데이터의 최신 정도는 얼마나 전에 시스템이 모바일 장치(108)로부터 가장 최근의 정보를 수신하였는지에 의해 측정될 수 있다.
시스템은 인기도, 안정성, 수명 및 최신 정도에 기초하여 지리적 격자(100)의 셀(102) 내에 위치하는 각각의 존재 영역을 등급 매길 수 있다. 적어도 셀(102) 내에 위치하는 모든 존재 영역들 중 일부가(예컨대, 액세스 포인트(105)와 연관되는 존재 영역을 포함하는 3개의 존재 영역들) 셀(102)로 지정될 수 있다. 지정된 액세스 포인트들 및 존재 영역들은 액세스 포인트(105)의 통신 영역 내에 위치하는 모바일 장치들(예컨대, 모바일 장치들(110))을 위치 확인하는데 사용될 수 있다. 지정되지 않은 존재 영역들은 나중의 사용을 위해 위치 데이터베이스에 저장될 수 있다.
시스템은 액세스 포인트(105)와 연관된 지리적 위치를 액세스 포인트(105)의 통신 범위 내에 위치하는 제2 모바일 장치(예컨대, 모바일 장치(110))로 제공할 수 있다(308). 시스템은 동일한 셀 내에 위치하는 다른 지리적 위치들 및 이웃하는 셀들에 지정되는 액세스 포인트들과 연관되는 지리적 위치들을 제2 모바일 장치에 추가로 제공할 수 있다. 위치들은 요청에 따라 또는 다양한 푸시 또는 브로드캐스트 기술을 이용하여 액세스 포인트(105)로부터 제2 모바일 장치로 전송될 수 있다.
일부 구현에서, 시스템은 3차원 위치 정보를 수신, 처리 및 송신할 수 있다. 존재 공간들(예컨대, 존재 공간(124))은 지리적 3차원 격자(예컨대, 3차원 격자(120)) 상의 3차원 셀들(예컨대, 3차원 셀(122))로 지정될 수 있다. 위치들은 요청에 따라 또는 다양한 푸시 또는 브로드캐스트 기술을 이용하여 액세스 포인트(126)로부터 액세스 포인트(126)의 통신 범위 내에 위치하는 제2 모바일 장치로 송신될 수 있다.
도 3b는 위치들의 세트를 이용하여 평균 지리적 위치를 계산하는 예시적인 프로세스(304)를 도시하는 흐름도이다. 편의상, 프로세스(304)는 프로세스(304)를 구현하는 시스템을 참고하여 설명된다.
시스템은 세트 내의 위치들을 이용하여 평균 지리적 위치를 계산할 수 있다(324). 평균 지리적 위치를 계산하는 것은 세트 내의 위치들의 위도, 경도 및 고도의 평균을 계산하는 것, 및 계산된 평균 위도, 경도 및 고도에서의 위치를 평균 지리적 위치로 지정하는 것을 포함할 수 있다. 일부 구현에서, 평균 지리적 위치를 계산하는 것은 세트 내의 위치들의 중간(median) 위도, 중간 경도, 및 중간 고도에서의 위치를 평균 지리적 위치로 지정하는 것을 포함할 수 있다.
시스템은 세트 내의 위치들 및 평균 지리적 위치 간의 거리들을 계산할 수 있다(326). 일부 구현에서, 시스템은 유클리드 공간에서 세트 내의 각각의 위치들 및 평균 지리적 위치 간의 선형 거리를 계산할 수 있다. 일부 구현에서, 시스템은 지구의 곡률을 고려하여 세트 내의 각각의 위치들 및 평균 지리적 위치 간의 측지 거리(geodesic distance)를 계산할 수 있다.
단계(326)에서 계산된 거리들은 중심과 연관되는 반경으로 지정될 수 있다. 중심은 단계(324)에서 계산되는 평균 지리적 위치가 될 수 있는데, 이는 원(예컨대, 원(204a))의 중심이 될 수 있다. 원의 반경은 위치들의 세트 내의 위치 및 평균 지리적 위치 간의 적어도 하나의 거리에 기초하여 결정될 수 있다. 일부 구현에서, 반경은 평균 지리적 위치 및 세트 내에 남아있는 위치 간의 가장 먼 거리와 동일할 수 있다. 일부 구현에서, 반경은 원(106d)이 반경 및 평균 지리적 위치를 중심으로서 이용하여 그려진 경우 원이 세트 내의 남아 있는 위치들의 퍼센트(예컨대, 80 퍼센트)를 감쌀 수 있는 거리가 될 수 있다. 반경은 이를 넘어서는 경우 GPS 이용불가 모바일 장치의 위치 추정이 통계적으로 별로 중요하지 않을 수 있는 오차 마진을 나타낼 수 있다.
시스템은 평균 위치 및 위치 간의 거리에 기초하여 적어도 하나의 위치를 세트로부터 제외할 수 있다(328). 일부 구현에서, 시스템은 평균 지리적 위치까지의 거리가 임계 거리를 초과하는 위치들을 제외할 수 있다. 다중-패스 분석의 각 패스에서, 시스템은 위치들의 집중(예컨대, 덩어리)으로부터 떨어지는 것으로 보이는 위치들을 제외하여 추정된 평균 지리적 위치의 정확도 증가시킬 수 있다. 위치들의 덩어리로부터 떨어지는 위치는 액세스 포인트(105)와 연관되는 존재 영역을 추정하는데 덜 유용할 수 있고, 제외될 수 있다. 다양한 구현에서, 임계 거리는 하나의 패스에서 다른 패스로 변할 수 있다. 일부 구현에서, 임계 거리는 세트 내의 위치들의 특정 퍼센트(예컨대, 95 퍼센트)가 그 안에 위치하는 평균 지리적 위치까지의 거리가 될 수 있다. 일부 구현에서, 임계 거리는 패스들에 대응하는 거리들의 세트(예컨대, 제1 패스에 대해 250미터, 제2 패스에 대해 150미터 등)가 될 수 있다. 시스템은 평균 지리적 위치와 적어도 하나의 위치 사이의 거리가 임계 거리를 초과하는 경우 세트로부터 이 위치를 제외할 수 있다.
시스템은 종료 조건이 만족될 때까지 프로세스(304)의 단계들(324, 326 및 328)을 반복할 수 있다. 시스템은 반복을 종료시키기 위한 종료 조건이 만족되는지 여부를 결정할 수 있다(330). 일부 구현에서, 종료 조건은 반복 수가 임계 수(예컨대, 10번)에 도달하는 경우 만족될 수 있다. 임계 수 및 제외할 위치들의 퍼센트는 확실성(예컨대, 더 큰 존재 영역은 셀 내의 모바일 장치가 실제로 존재 영역 내에 위치한다고 보다 확실하는 결과를 가져올 수 있음) 및 정확도(예컨대, 보다 작은 존재 영역은 모바일 장치의 보다 정확한 위치를 가져올 수 있음) 간의 균형을 미세 조정하도록 구성될 수 있다. 예를 들어, 퍼센트가 95 퍼센트로 설정되고 패스의 수가 10개로 설정되는 경우, 최종 패스는 모든 위치 데이터 포인트들의 약 60 퍼센트를 포함하는 원을 생성할 수 있다.
일부 구현에서, 단계(330)의 종료 조건은 존재 영역 또는 존재 공간이 충분히 작은 경우 만족될 수 있다. 모바일 장치들이 매우 집중되는 셀에서, 추가적인 패스가 반드시 정확도를 증가시킬 필요가 없을 정도로 존재 영역이 충분히 작을 수 있다. 단계들(324, 326 및 328)의 반복은 원의 반경이 임계 반경 아래로 도달하는 경우 종료될 수 있다. 예를 들어, 임계 반경은 8 내지 10미터가 될 수 있다. 임계 반경은 수신된 세트 내의 위치들의 분배 패턴(예컨대, 수신된 위치 데이터 포인트들의 수, 위치 데이터 포인트들의 밀도, 및 셀들 내의 집중 영역들)에 기초하여 액세스 포인트마다 상이할 수 있다.
시스템은 적어도 하나의 계산된 거리에 기초하여 지리적 영역을 평균 지리적 위치를 중심 및 반경으로서 갖는 원으로 지정할 수 있다(332). 지리적 영역은 액세스 포인트(예컨대, 액세스 포인트(105))와 연관될 수 있다. 서버는 지리적 영역(예컨대, 중심 및 반경)을 모바일 장치의 현재 위치를 계산하기 위한 모바일 장치로 제공할 수 있다. 중심은 위도 및 경도로 나타날 수 있다. 거리들이 3차원 공간에서 계산되는 일부 구현에서, 중심은 추가로 고도로 나타날 수 있다.
도 3c는 위치 데이터베이스를 관리하는 기술들을 구현하는 예시적인 시스템을 도시하는 블록도이다. 시스템은 하나 이상의 프로세서, 명령어들을 저장하는 하나 이상의 메모리 장치, 및 기타 하드웨어 또는 소프트웨어 구성요소를 포함할 수 있다. 시스템은 액세스 포인트(예컨대, 액세스 포인트(105))와 연관되는 존재 영역 또는 존재 공간를 결정하는데 사용될 수 있는 위치 엔진(350)을 포함할 수 있다.
위치 엔진(350)은 다양한 액세스 포인트를 통해 다양한 모바일 장치로부터 데이터를 수신할 수 있는 데이터 수집 모듈(352)을 포함할 수 있다. 데이터는 하나 이상의 위치 인식 모바일 장치(예컨대, 모바일 장치들(108))의 위치 뿐만 아니라 액세스 포인트 모바일 장치들(108)이 연결되는 곳을 나타내는 액세스 포인트들의 식별자들(예컨대, 액세스 포인트들(105)의 MAC 주소들)을 나타낼 수 있는 다수의 데이터 포인트들을 포함할 수 있다. 일부 구현에서, 데이터 포인트들은 또한 모바일 장치들(108)이 위치하는 시간대에 관한 정보를 포함할 수 있다. 데이터 수집 모듈(352)은 모바일 장치들(108)로부터 송신된 데이터를 수신할 수 있는 데이터 수신 모듈(354) 및 데이터 색인 모듈(356)을 포함할 수 있다. 데이터 색인 모듈(356)은 수신된 데이터 포인트들에 대하여 다양한 프로세싱을 수행할 수 있다. 예를 들어, 데이터 색인 모듈(356)은 셀 ID에 기초하여 위도, 경도 및 고도를 정렬할 수 있다. 데이터 색인 모듈(356)은 또한 시간 구간에 기초하여 데이터를 세트들로 그룹화할 수 있다. 예를 들어, 수신된 위치들의 새로운 세트가 구성가능 시간 구간(예컨대, 6시간)에 대해 생성될 수 있다.
모바일 장치들(108)의 수신된 위치들의 세트들은 데이터 포인트 데이터베이스(360)에 저장될 수 있다. 데이터 포인트 데이터베이스(360)는 다양한 모바일 장치들(108)의 현재 및 이전 위치들을 저장할 수 있다. 데이터 포인트 데이터베이스(360)는 애드-혹 데이터베이스, 관계 데이터베이스, 객체 지향 데이터베이스를 포함할 수 있다. 데이터 포인트 데이터베이스(360)는 위치 엔진(350)에 대하여 지역적으로 또는 원격으로 관리될 수 있다.
위치 계산 모듈(364)은 데이터 포인트 데이터베이스 내의 데이터 포인트들의 세트들 내의 평균 지리적 위치를 계산하고, 평균 지리적 위치 및 다양한 데이터 포인트들의 위치들 간의 거리들을 계산하며, 위치들을 추가적인 계산을 위해 세트들로부터 제외하는데 활용될 수 있다. 위치 계산 모듈(364)은 종료 조건이 특정 세트에 대해 도달할 때까지 특정 세트(예컨대, 셀 ID와 연관된 데이터 포인트 세트)에 대해 계산을 수행할 수 있다. 위치 계산 모듈(364)은 각 액세스 포인트(예컨대, 액세스 포인트(105))에 대한 존재 영역들 또는 존재 공간들을 결정할 수 있다.
일부 구현에서, 위치 계산 모듈(464)은 유효성 검사기(366)를 이용하여 데이터 포인트들 내의 다양한 조건 및 다양한 데이터에 기초하여 존재 영역들 또는 존재 공간들에 대한 유효성 검사를 수행할 수 있다. 예를 들어, 모바일 장치들(108)로부터 수신되는 데이터 포인트들은 모바일 국가 코드들(Mobile Country Codes; MCCs) 및 시간대 정보를 포함할 수 있다. 유효성 검사기(366)는 계산된 존재 영역 또는 존재 공간을 MCC들에 의해 나타나는 국가들에 대응하는 다각형들 및 시간대들에 대응하는 다각형들과 비교할 수 있다. 만약 계산된 존재 영역 또는 존재 공간이 다각형들 밖에 위치하면, 유효성 검사기(366)는 비정상을 등록하고 액세스 포인트를 제거할 수 있다.
위치 필터링 엔진(368)은 존재 영역 또는 존재 공간이 액세스 포인트의 통신 범위 내에 현재 위치하는 모바일 장치의 위치를 추정하는데 사용될 수 있는지 여부를 판단할 수 있다. 위치 필터링 엔진(368)은 지리적 영역을 지리적 격자(100)의 셀들(102) 또는 3차원 격자(120)의 3차원 셀들(122)로 나눌 수 있다. 위치 필터링 엔진(368)은 인기도, 안정성, 수명 및 최신 정도에 기초하여 존재 영역들 또는 존재 공간들의 등급을 매길 수 있다. 위치 필터링 엔진(368)은 각 셀(102) 또는 3차원 셀(122) 내에 위치하는 최상위 등급 존재 영역들 또는 존재 공간들을 셀(102) 또는 3차원 셀들로 할당할 수 있다.
존재 영역들 및 존재 공간들은 위치들의 세트의 평균 위도, 경도 및 고도 좌표를 갖는 중심에 의해 정의될 수 있다. 존재 영역들 및 존재 공간들은 위치들의 세트 내의 위치들로부터 중심으로의 거리들에 기초하여 결정되는 반경에 의해 추가로 정의될 수 있다. 존재 영역들 및 존재 공간들에 대한 중심 들의 위도, 경도 및 고도 좌표 및 존재 영역들 및 존재 공간들의 반경들은 위치 데이터베이스(372)에 저장될 수 있다. 위치 데이터베이스(372)는 지정 및 비지정된 존재 영역들 및 존재 공간들 모두를 저장할 수 있다. 비지정된 존재 영역들 또는 존재 공간들은 위치 계산 모듈(364)에 의해 다음 계산에 할당될 수 있다. 위치 데이터베이스(372)는 위치 계산 모듈(364)에 의해 주기적으로 업데이트될 수 있다.
위치 데이터베이스(372)의 데이터는 데이터 분배 모듈(376)을 이용하여 모바일 장치들로 분배될 수 있다. 데이터 분배 모듈(376)은, 모바일 장치들로부터의 요청들을 수신하지 않고 브로드캐스팅을 통해 또는 다양한 푸시 기술을 이용하여, 요청에 따라 액세스 포인트들과 연관되는 할당된 존재 영역들 및 존재 공간들의 정보(예컨대, 중심 좌표 및 반경)를 모바일 장치들(예컨대, GPS 이용불가 모바일 장치(110))로 보낼 수 있다.
일부 구현에서, 데이터 분배 모듈(376)은 다수의 존재 영역 및 존재 공간을 하나의 송신 세션에서 모바일 장치들로 보낼 수 있다. 모바일 장치의 통신 대역폭을 소비할 수 있는 모바일 장치들로의 위치 송신들의 수를 줄이기 위해, 데이터 분배 모듈(376)은 이웃 위치 탐지기(378)를 이용하여 모바일 장치(110)가 위치하는 셀에 이웃하는 셀들을 위치 탐지할 수 있다. 이웃하는 셀들은, 예컨대 셀의 전체 영역 및 둘러싸는 셀들의 전체 영역이 특정 지리적 영역(예컨대, 일 또는 이 제곱 킬로미터)을 커버하도록 모바일 장치(110)가 위치하는 셀을 둘러싸는 여러 셀들을 포함할 수 있다. 다수의 셀들(예컨대, 400 셀들)과 연관되는 존재 영역들 및 존재 공간들에 대한 정보를 모바일 장치(110)로 송신하는 것은 모바일 장치(110)가 셀들을 건너 이동하는 경우 송신의 수를 줄일 수 있다. 이러한 구현에서, 데이터 분배 모듈(376)은 모바일 장치(110)가 이전에 보내진 모들 셀들을 떠나는 경우에만 업데이트를 모바일 장치(110)로 보내면 된다.
위치 데이터베이스를 이용하여 모바일 장치들의 위치들을 결정하기 위한 예시적인 프로세스
도 4a는 무선 액세스 포인트들의 위치들을 이용하여 모바일 장치들의 위치들을 결정하기 위한 기술들을 도시한다. 모바일 장치(400)는 무선 액세스 포인트들의 위치들을 이용하여 자신의 위치를 결정할 수 있는 예시적인 모바일 장치가 될 수 있다. 액세스 포인트들(400)을 포함하는 통신 네트워크의 예시적인 섹션이 설명된다.
모바일 장치(400)는 액세스 포인트(404a)의 통신 범위 내에 위치할 수 있다. 액세스 포인트(404a)로부터, 모바일 장치(400)는 이웃하는 액세스 포인트들의 존재 영역들 또는 존재 공간들(존재 영역들(406)을 포함)에 대한 정보를 포함하는 데이터를 수신할 수 있다. 모바일 장치(400)는 위치 데이터베이스에 수신된 데이터를 저장할 수 있다. 위치 데이터베이스는 모바일 장치(400)의 저장 장치 상에서 호스팅될 수 있다. 저장된 데이터는 주기적으로 또는 요청시에 업데이트될 수 있다.
설명된 예에서, 모바일 장치(400)는 액세스 포인트(400a)의 통신 범위 내에 위치한다. 또한, 모바일 장치(400)는 액세스 포인트들(404b, 404c 및 404d)에 대한 통신 범위들 내에 있다. 모바일 장치들(400)은 WLAN (예컨대, IEEE 802.11a)에서 사용되는 무선 통신 프로토콜 하에서 액세스 포인트들(404a, 404b, 404c 및 404d)을 식별할 수 있다. 액세스 포인트들(404a, 404b, 404c 및 404d)은 액세스 포인트들의 MAC 주소들 또는 기타 식별자(예컨대, BluetoothTM 식별자)에 의해 식별될 수 있다.
모바일 장치(400)는 각각 액세스 포인트들(404a-d)과 연관되는 존재 영역들(406a, 406b, 406c 및 406d)을 식별할 수 있다. 존재 영역들(406a-d)을 식별하는 것은 모바일 장치(400)에 결합된 메모리 장치로부터 존재 영역들(406a-d)에 대한 정보를 검색하는 것을 포함할 수 있다. 일부 구현에서, 모바일 장치(400)는 액세스 포인트들(404a-d)의 식별자들을 서버로 보냄으로써 서버로부터 존재 영역들(406a-d)을 요청할 수 있다.
존재 영역들(406a-d)에 기초하여, 모바일 장치(400)는 존재 영역들(406a-d)에 대해 반복 프로세스(예컨대, 다중-패스 분석)를 실행할 수 있다. 반복 프로세스는 모바일 장치(400)의 현재 지리적 위치의 추정이 될 수 있는 지리적 영역(402)을 생성할 수 있다. 지리적 영역(402)은 3차원 위치 정보가 활용되는 경우 지리적 공간이 될 수 있다. 모바일 장치(400)는 디스플레이 장치(예컨대, 지도 디스플레이) 상에 추정된 현재 위치를 디스플레이할 수 있다.
도 4b는 위치 데이터베이스를 이용하여 모바일 장치의 위치를 결정하는 예시적인 프로세스(410)을 도시하는 흐름도이다. 편의상, 프로세스(410)는 프로세스(410)를 구현하는 모바일 장치(400)를 참고하여 설명된다.
모바일 장치(400)는 모바일 장치(400)가 위치한 통신 범위 내의 현재 액세스 포인트를 식별할 수 있다(412). 모바일 장치(400)는 현재 액세스 포인트를 이용하여 모바일 장치(400) 상에서 관리되는 위치 데이터베이스의 업데이트를 요청해야하는지 여부를 판단할 수 있다. 모바일 장치(400) 상에서 관리되는 위치 데이터베이스는 모바일 장치(400)로 이전에 다운로드된 액세스 포인트들의 기록들을 포함할 수 있다. 모바일 장치(400) 상에서 관리되는 위치 데이터베이스 내의 기록들은 액세스 포인트들의 식별자들(예컨대, MAC 주소들) 및 대응하는 위치들(예컨대, 위도/경도 좌표)을 포함할 수 있다.
단계(412)에서, 모바일 장치(400)는 현재 액세스 포인트가 위치 데이터베이스의 기록들에 포함되는지 여부를 판단할 수 있다. 모바일 장치는 모바일 장치(400)가 위치한 통신 범위 내의 현재 액세스 포인트의 식별자(예컨대, MAC 주소)를 이용하여 위치 데이터베이스의 검색을 수행할 수 있다. 만약 현재 액세스 포인트가 위치 데이터베이스의 기록들에 포함되면, 모바일 장치는 위치 데이터베이스가 최신 것이라고 판단할 수 있다. 만약 현재 액세스 포인트가 위치 데이터베이스의 기록들에 포함되지 않으면, 모바일 장치(400)는 위치 데이터베이스가 업데이트될 필요가 있다고 판단할 수 있다.
모바일 장치(400)는 현재 액세스 포인트의 식별자를 이용하여 서버로부터 모바일 장치(400)의 위치 데이터베이스의 업데이트를 요청할 수 있다(414). 액세스 포인트들의 식별자들 및 위치들을 포함하는, 위치 데이터 베이스 내의 기록들은 새로운 액세스 포인트들의 새로운 식별자들 및 위치들을 이용하여 리프레시될 수 있다. 모바일 장치(400)는 현재 액세스 포인트의 식별자를 서버로 보낼 수 있다. 서버는 하나의 셀을 지리적 격자 내의 중심 셀로 식별할 수 있다. 중심 셀은 서버에 대한 현재 액세스 포인트의 식별자와 연관되는 위치를 포함하고, 셀 및 이웃하는 셀들 내의 모든 액세스 포인트 위치들을 모바일 장치(400)로 보내는 셀이 될 수 있다. 서버는 중심 셀을 시작 지점으로서 이용하여 이웃하는 셀들의 위치를 찾을 수 있다. 중심 셀은 그 중심 셀과 이웃하는 셀들을 포함하는 셀 그룹의 앵커(anchor)가 될 수 있지만, 중심 셀은 이 셀 그룹의 정확한 지리적 중심에 위치될 것이 요구되는 것은 아니다. 예를 들어, 중심 셀은 모든 이웃하는 셀이 중심 셀의 한쪽에 위치될 수 있는 임해지(oceanfront)에 위치한 셀일 수 있다.
모바일 장치(400)는 제2 액세스 포인트들과 연관되는 제2 위치들의 세트를 수신할 수 있다(416). 제2 액세스 포인트들은 중심 셀 및 지리적 격자 상에서 중심 셀에 이웃하는 셀들 내에 분배될 수 있다. 현재 액세스 포인트와 연관되는 위치(예컨대, 원형 영역의 중심)는 중심 셀 내에 위치할 수 있다. 이웃하는 셀들은 지리적 격자 상의 중심 셀 옆에 위치하거나 가장 가까이 위치하는 셀들이 될 수 있다. 이웃하는 셀들의 수는 중심 셀 및 이웃하는 셀들이 사전결정된 지리적 영역(예컨대, 1.5 제곱 킬로미터)을 커버할 수 있도록 하는 값을 가질 수 있다. 액세스 포인트들 및 액세스 포인트들과 연관되는 위치들의 식별자들은 액세스 포인트들과 연관되는 위치들이 중심 셀 및 이웃하는 셀들에 의해 커버되는 지리적 영역 내에 있는 경우 업데이트에 포함될 수 있다. 현재 액세스 포인트가 위치 데이터베이스의 기록들에 포함되지 않는 경우 위치를 모바일 장치(400)로 업데이트하는 한가지 예시적인 장점은, 모바일 장치(400)가 셀 간을 움직이는 경우, 모바일 장치(400)가 단일 액세스 포인트의 커버 영역에 비해 넓은 영역을 벗어날 때까지 업데이트가 필요없다는 점이다. 따라서, 잦은 업데이트를 피할 수 있어, 모바일 장치(400)에 대한 리소스들(예컨대, 대역폭, CPU 사이클, 배터리 전력) 및 서버에 대한 리소스들(예컨대, 서버는 장치들이 하나의 거리 블록에서 다음으로 이동하는 경우 매우 많은 모바일 장치들에게 잦은 업데이트를 보낼 필요가 없음)을 절약할 수 있다.
모바일 장치(400)는 액세스 포인트들의 위치들 및 식별자들의 수신된 세트를 이용하여 모바일 장치(400) 상에서 관리되는 위치 데이터베이스를 업데이트할 수 있다(418). 업데이트는 중심 셀 및 이웃하는 셀들에 의해 커버되는 지리적 영역에 모바일 장치(400)를 "중심에 놓을" 수 있다. 모바일 장치(400)는 모바일 장치(400)가 중심 셀에서 이웃하는 셀들 중 하나에 의해 커버되지 않는 셀로 움직일 때가지 또 다른 업데이트를 요청할 필요가 없다. 예를 들어, 만약 각 셀이 대략 가로 세로 50미터이고, 사전결정된 지리적 영역이 1.5 제곱 킬로미터이면, 각 업데이트는 대략 600 셀을 모바일 장치(400)의 위치 데이터베이스로 넣을 수 있다. 모바일 장치(400)는 모바일 장치가 600셀에 의해 커버되는 영역을 벗어나지 않는 한 또 다른 업데이트를 요청할 필요가 없다.
모바일 장치(400)는 모바일 장치(400) 상에서 관리되는 위치 데이터베이스를 이용하여 모바일 장치(400)의 현재 위치를 계산할 수 있다(420). 계산은 모바일 장치(400)에 의해 실행되는 적응 다중-경로 프로세스를 이용하여 수행될 수 있다. 다중-패스의 추가적인 상세한 설명은 아래의 도 4c와 관련하여 설명된다. 다른 요소들(예컨대, 다양한 액세스 포인트들로부터의 신호 세기)이 현재 위치의 계산을 도울 수 있지만, 이러한 요소들은 계산에서 요구되지는 않는다.
모바일 장치(400)는 모바일 장치(400)의 현재 위치를 모바일 장치(400)의 지도 디스플레이 장치 상에 선택적으로 디스플레이할 수 있다(422). 현재 위치의 디스플레이 예는 도 5와 관련하여 아래에서 더 상세히 설명된다.
도 4c는 모바일 장치의 위치를 결정하는 예시적인 적응 다중-패스 프로세스(430)를 도시하는 흐름도이다. 편의상, 프로세스(430)는 프로세스(430)를 수행하는 모바일 장치(400)를 참고하여 설명된다.
모바일 장치(400)는 무선 통신 네트워크(예컨대, WLAN)의 액세스 포인트들(예컨대, 액세스 포인트들(404))의 식별자들을 수신할 수 있다(432). 액세스 포인트들은 모바일 장치(400)의 통신 범위 내에 위치할 수 있다. 식별자들은 모바일 장치(400)가 연결되거나 연결될 수 있는 액세스 포인트들과 연관될 필요가 없다. 예를 들어, 특정 위치에서, 모바일 장치(400)는 3 내지 20 액세스 포인트의 통신 범위 내에 있을 수 있다. 모바일 장치(400)는 두 개의 액세스 포인트에만 연결될 수 있다(예컨대, 액세스 포인트들 및 모바일 장치(400)의 보안 설정으로 인해). 모바일 장치(400)는 두 액세스 포인트 중 하나에만 동적으로 연결될 수 있거나, 어떠한 액세스 포인트에도 연결되지 않을 수 있다. 그러나, 모바일 장치(400)에 의해 수신되는 액세스 포인트들의 모든 식별자가 계산에서 사용될 수 있다.
모바일 장치(400)는 모바일 장치(400)의 위치 데이터베이스로부터 액세스 포인트들과 연관되는 위치들의 세트를 식별할 수 있다(433). 위치들의 세트는 액세스 포인트와 연관되는 존재 영역들(406) 또는 존재 공간들에 대응할 수 있다. 각 위치는 지리적 좌표(예컨대, 위도, 경도 및 고도)에 의해 나타날 수 있다. 각 위치는 액세스 포인트(404)의 식별자(예컨대, MAC 주소)와 연관될 수 있다. 모바일 장치(400)는 데이터베이스 검색을 이용하여 위치들을 식별할 수 있다.
모바일 장치(400)는 세트 내의 위치들을 이용하여 평균 지리적 위치를 계산할 수 있다(434). 평균 지리적 위치를 계산하는 것은 세트 내의 위치들의 위도, 경도 및 고도의 평균을 계산하는 것, 및 계산된 평균 위도, 경도 및 고도에서의 위치를 평균 지리적 위치로 지정하는 것을 포함할 수 있다. 일부 구현에서, 평균 지리적 위치를 계산하는 것은 세트 내의 위치들의 중간 위도, 중간 경도 및 중간 고도에서의 위치를 평균 지리적 위치로 지정하는 것을 포함할 수 있다.
모바일 장치(400)는 세트 내의 위치들 및 평균 지리적 위치 간의 거리들을 계산할 수 있다(436). 일부 구현에서, 시스템은 유클리드 공간에서 세트 내의 각각의 위치들 및 평균 지리적 위치 간의 선형 거리를 계산할 수 있다. 일부 구현에서, 시스템은, 지구의 곡률을 고려하여, 세트 내의 각각의 위치들 및 평균 지리적 위치 간의 측지 거리를 계산할 수 있다.
단계(436)에서 계산된 거리들은 중심과 연관되는 반경으로 지정될 수 있다. 중심은 단계(434)에서 계산되는 평균 지리적 위치가 될 수 있는데, 이는 원(예컨대, 지리적 영역(402)을 둘러싸는 원)의 중심이 될 수 있다. 원의 반경은 위치들의 세트 내의 위치 및 평균 지리적 위치 간의 적어도 하나의 거리에 기초하여 결정될 수 있다. 일부 구현에서, 반경은 평균 지리적 위치 및 세트 내에 남아있는 위치 간의 가장 먼 거리와 동일할 수 있다. 일부 구현에서, 반경은, 원이 반경 및 평균 지리적 위치를 중심으로 이용하여 그려진 경우, 원이 세트 내에 남아 있는 위치들의 퍼센트(예컨대, 80 퍼센트)를 둘러쌀 수 있는 거리가 될 수 있다. 반경은 이를 넘어서는 경우 GPS 이용불가 모바일 장치의 위치 추정이 통계적으로 덜 중요하게 되는 오차 마진을 나타낼 수 있다.
모바일 장치(400)는 평균 위치 및 적어도 하나의 위치 간의 거리에 기초하여 이 위치를 세트로부터 제외할 수 있다(438). 일부 구현에서, 시스템은 평균 지리적 위치까지의 거리가 임계 거리를 초과하는 위치들을 제외할 수 있다. 다중-패스 분석의 각 패스에서, 시스템은 위치들의 집중(예컨대, 덩어리)으로부터 멀리 떨어져 보이는 위치들을 제외하여 추정되는 평균 지리적 위치의 정확도를 높일 수 있다. 위치들의 덩어리로부터 멀리 떨어지는 위치는 모바일 장치(400)의 현재 위치를 추정하는데 덜 유용할 수 있고, 제외될 수 있다. 다양한 구현에서, 임계 거리는 하나의 패스에서 다음 패스로 갈 때 변할 수 있다. 예를 들어, 임계 거리는 패스들(예컨대, 제1 패스에 대해서 50미터, 제2 패스에 대해 30미터 등)에 대응하는 거리들의 세트가 될 수 있다. 시스템은 평균 지리적 위치 및 적어도 하나의 위치 간의 거리가 임계 거리를 초과하는 경우 세트로부터 이 위치를 제외할 수 있다.
일부 구현에서, 모바일 장치(400)는 제외될 위치들의 임계 퍼센트를 결정할 수 있다. 임계 퍼센트는 사전 지정된 값(예컨대, 5 퍼센트)을 가질 수 있다. 각 패스에서, 모바일 장치(400)는 평균 지리적 위치로부터 가장 멀리 위치하는 임계 퍼센트의 위치들을 제외할 수 있다.
모바일 장치(400)는 종료 조건이 만족될 때까지 프로세스(430)의 단계들(434, 436 및 438)을 반복할 수 있다. 시스템은 반복을 멈추기 위한 종료 조건이 만족되는지 여부를 판단할 수 있다(440). 일부 구현에서, 종료 조건은 반복 횟수가 임계 횟수(예컨대, 5회)에 도달하는 경우 만족될 수 있다. 임계 횟수는 처음에 수신된 세트 내의 위치들의 수와 연관될 수 있다. 임계 횟수 뿐만 아니라 제외할 위치들의 퍼센트는 확실성(예컨대, 더 큰 존재 영역은 셀 내의 모바일 장치가 실제로 존재 영역 내에 위치한다고 보다 확실하는 결과를 가져올 수 있음) 및 정확도(예컨대, 보다 작은 존재 영역은 모바일 장치의 보다 정확한 위치를 가져올 수 있음) 간의 균형을 미세 조정하도록 구성될 수 있다. 예를 들어, 퍼센트가 95 퍼센트로 설정되고 패스의 수가 10개로 설정되는 경우, 최종 패스는 모든 위치 데이터 포인트들의 약 60 퍼센트를 포함하는 원을 생성할 수 있다.
일부 구현에서, 단계(330)의 종료 조건은 존재 영역 또는 존재 공간이 충분히 작은 경우 만족될 수 있다. 액세스 포인트들(404)이 매우 집중되는 영역에서, 추정된 현재 위치는 추가적인 패스들이 반드시 정확도를 높이지는 않는 충분히 작은 영역을 포함할 수 있다. 단계(434, 436 및 438)의 반복은 원의 반경이 임계 반경 아래로 도달하는 경우 종료될 수 있다. 예를 들어, 임계 반경은 8 내지 10미터가 될 수 있다. 임계 반경은 존재 영역들(406)의 반경에 기초할 수 있다. 일부 구현에서, 만약 존재 영역들(406)의 일부 반경이 충분히 작으면, 임계 반경이 작을 수 있어 추정에 신뢰도를 줄 수 있다.
모바일 장치(400)는 적어도 하나의 계산된 거리에 기초하여 평균 지리적 위치를 갖는 원을 이용하여 모바일 장치(400)의 현재 위치를 중심 및 반경으로 지정할 수 있다(442). 중심은 위도 및 경도로 나타날 수 있다. 거리들이 3차원 공간들에서 계산되는 일부 구현에서, 중심은 추가적으로 고도로 나타날 수 있다. 일부 구현에서, 모바일 장치는 추가적으로 현재 위치를 지도 사용자 인터페이스 상의 디스플레이 장치에 디스플레이할 수 있다. 예시적인 지도 사용자 인터페이스들은 아래의 도 5를 참고하여 설명된다.
모바일 장치들의 위치들을 결정하기 위한 예시적인 사용자 인터페이스들
도 5는 무선 액세스 포인트들의 위치들을 이용하여 모바일 장치들의 위치들을 결정하기 위한 예시적인 사용자 인터페이스를 도시한다. 도 5에서, 지리적 영역의 예시 지도(502)가 모바일 장치(500) 상에 디스플레이된다. 일부 구현에서, 모바일 장치(500)는 디스플레이 지도(502)를 모바일 장치(500)의 터치 감지 디스플레이(530) 상에 디스플레이할 수 있다. 지도(502)는 사용자가 맵핑 및 위치 기반 서비스를 보기 위해 지도 객체를 선택하는 경우 디스플레이될 수 있다. 일부 구현에서, 객체들 이를테면 지도 객체는 음성 작동에 의해 선택될 수 있다. 검색 바(504) 및 북마크 목록 객체(506)는 지도(502)의 맨 위에서 디스플레이될 수 있다. 지도의 맨 아래에 하나 이상의 디스플레이 객체들이 디스플레이 될 수 있는데, 예컨대 검색 객체(508), 방향 객체(510), 지도 보기 객체(512), 및 현재 위치 객체(514)가 디스플레이될 수 있다.
검색 바(504)는 지도 상의 주소 또는 다른 위치를 찾는데 사용될 수 있다. 예를 들어, 사용자는 검색 바(504)에 자신의 집 주소를 입력할 수 있고, 이 주소를 포함하는 지역이 지도(502) 상에 디스플레이될 수 있다. 북마크 목록 객체(506)는 예컨대 사용자의 집 주소와 같은 자주 방문하는 주소들을 포함하는 북마크 목록을 가져올 수 있다. 북마크 목록은 예컨대 현재 위치(예컨대, 모바일 장치(500)의 현재 위치)와 같은 특정 북마크를 포함할 수 있다.
검색 객체(508)는 검색 바(504) 및 기타 지도 관련 검색 메뉴를 디스플레이하는데 사용될 수 있다. 방향 객체(510)는 예컨대 사용자가 시작 및 종료 위치를 입력할 수 있게 하는 메뉴 인터페이스를 가져올 수 있다. 인터페이스는 그 다음 정보(예컨대, 시작 위치로부터 종료 위치까지의 경로에 대한 방향 및 이동 시간)를 디스플레이할 수 있다. 지도 보기 객체(512)는 사용자가 지도(502)에 대한 디스플레이 옵션들을 선택할 수 있도록 하는 메뉴를 가져올 수 있다. 예를 들어, 지도(502)가 검정색에서 흰색으로 바뀔 수 있거나, 지도의 배경이 변경될 수 있거나, 사용자가 지도의 밝기를 변경할 수 있다.
현재 위치 객체(514)는 사용자가 장치(500)가 현재 위치하는 곳을 나타내는 지도(502) 상의 지리적 영역(516)을 볼 수 있도록 할 수 있다. 지리적 영역(516)은 중심이 모바일 장치(500)의 통신 범위 내에 있는 액세스 포인트들과 연관되는 데이터 포인트들의 평균 지리적 위치인 추정된 지리적 영역(예컨대, 지리적 영역(402))에 대응할 수 있다. 지리적 영역(516)의 반경은 평균 지리적 위치 및 액세스 포인트들과 연관되는 하나 이상의 위치들 간의 거리에 기초하여 결정될 수 있다. 특정 현재 위치 북마크가 현재 위치 객체(514)가 선택되는 경우 북마크 목록에 놓일 수 있다. 특정 현재 위치 북마크가 북마크 목록에 미리 설정되는 경우, 예컨대, 이전의 북마크 정보가 새로운 현재 위치 정보로 교체될 수 있다. 일부 구현에서, 특정 현재 위치 북마크는 지리적 영역(516)의 중심과 결부된다. 즉, 특정 현재 위치 북마크는 지리적 영역(516)의 중심에 대한 좌표를 포함할 수 있다. 지리적 영역(516)은 모바일 장치(500)의 메모리 장치에 저장되는 위치 명령어들을 이용하여 결정되거나 추정되는 위치 데이터에 기초할 수 있다. 지리적 영역(516)은 예컨대 원, 직사각형, 정사각형, 육각형, 또는 기타 십자선을 갖는 둘러싸인 영역, 또는 지리적 영역(516)을 지도(502)로부터 구별하기 위한 일부 다른 구분되는 요소에 의해 그려질 수 있다.
일부 구현에서, 지리적 영역(516)은 모바일 장치(500)가 위치하는 것으로 판단되거나 추정되는 영역을 나타낼 수 있고, 지리적 영역은 모바일 장치(500)의 실제 현재 위치 상의 중심에 반드시 놓일 필요가 없다. 이 예에서, 모바일 장치(500)는 지리적 영역 내의 중심이 아닌 곳에 위치할 수 있다. 또 다른 예에서, 지리적 영역(516)은 모바일 장치(500)의 추정된 현재 위치 상의 중심에 놓일 수 있다.
모바일 장치(500)는 예컨대 현재 위치 객체(514)가 두드러지거나 선택되는 경우 지리적 영역(516) 상에 지도 보기를 중심에 놓을 수 있다. 일부 구현에서, 지도의 줌 레벨은 위치 데이터 또는 기술의 정확도 또는 정밀도, 시스템 또는 위치 데이터를 제공한 서비스에 기초하여 조정될 수 있다. 예를 들어, 지도는 모바일 장치(500)가 낮은 정확도로는 GPS 신호들을 수신할 수 없고 액세스 포인트 데이터를 이용하여 자신의 위치를 결정하는 경우 줌 아웃될 수 있다. 지도는 모바일 장치(500)가 GPS 위치 데이터를 이용하여 자신의 현재 위치를 결정할 수 있으면 보다 높은 정확도를 위해 줌 인될 수 있다. 일부 구현에서, 줌 레벨은 모바일 장치(500)의 속도에 기초할 수 있다(예컨대, 지도는 더 빠른 속도에서 줌 아웃될 수 있고 모바일 장치(500)가 움직이지 않는 경우 줌 인 될 수 있다). 정확도 또는 정밀도 및 속도의 조합이 또한 사용될 수 있다.
위치 기반 데이터를 검색하기 위한 모든 방법이 실패하고(예컨대, 모바일 장치(500)가 임의의 액세스 포인트의 통신 범위 내에 있지 않거나, 속도 검사기(366)가 어떠한 존재 영역도 모바일 장치(500)가 연결될 수 있는 임의의 액세스 포인트들과 연관될 수 없다고 결정하는 경우), 모바일 장치(500)의 현재 위치를 판단하거나 추정할 다른 시스템 또는 서비스가 이용가능하지 않으면, 오류가 사용자에게 디스플레이될 수 있고 지리적 영역은 지도(502) 상에 디스플레이되지 않는다. 예를 들어, 오류는 사용자에게 실패 및 실패에 대한 가능한 원인 또는 원인들을 알리는 메시지를 포함할 수 있다.
현재 위치 객체(514)가 선택되어, 예컨대, 지도(502) 상의 지리적 영역(516)의 추정 및 디스플레이를 활성화하거나, 추정된 현재 위치(예컨대, 지리적 영역(516)의 중심)로의 방향 또는 이로부터의 방향을 얻거나, 모바일 장치(500)의 추정된 현재 위치를 친구로 보내거나(예컨대, 친구가 동일한 위치로 갈 수 있도록), 추정된 현재 위치에 대한 북마크를 생성할 수 있다.
예시적인 시스템 아키텍처
도 6은 도 1 내지 5와 관련하여 설명된 특징 및 작동을 구현하기 위한 예시적인 시스템 아키텍처(600)의 블록도이다. 더 많거나 적은 구성요소를 갖는 아키텍처를 포함하는 다른 아키텍처가 가능하다. 일부 구현에서, 아키텍처(600)는 하나 이상의 프로세서(602)(예컨대, 듀얼 코어 Intel® Xeon® Processors), 하나 이상의 출력 장치(604)(예컨대, LCD), 하나 이상의 네트워크 인터페이스(606), 하나 이상의 입력 장치(608)(예컨대, 마우스, 키보드, 터치 감지 디스플레이) 및 하나 이상의 컴퓨터 판독가능 매체(612)(예컨대, RAM, ROM, SDRAM, 하드 디스크, 광 디스크, 플래시 메모리 등)를 포함한다. 이 구성요소들은 하나 이상의 통신 채널(610)(예컨대, 버스)을 통해 통신하고 데이터를 교환할 수 있는데, 이는 데이터 전송을 용이하게 하기 위한 다양한 하드웨어 및 소프트웨어를 활용하고 구성요소들 간의 신호들을 제어할 수 있다.
"컴퓨터 판독가능 매체"라는 용어는, 이하에 한정되지 않는 비휘발성 매체(예컨대, 광 또는 자기 디스크), 휘발성 매체(예컨대, 메모리) 및 전송 매체를 포함하는, 프로세서(602)가 실행하기 위한 명령어들을 제공하는 것에 관여하는 임의의 매체를 의미한다. 전송 매체는 제한 없이 동축 케이블, 구리 와이어 및 광섬유를 포함한다.
컴퓨터 판독가능 매체(612)는 도 1 내지 5를 참고하여 설명된 바와 같이, 오퍼레이팅 시스템(614)(예컨대, Mac OS® 서버, Windows® NT 서버), 네트워크 통신 모듈(616), 데이터베이스 인터페이스(620), 데이터 수집 모듈(630), 데이터 분배 모듈(640), 및 위치 계산 모듈(650)을 더 포함할 수 있다. 오퍼레이팅 시스템(614)은 멀티-유저, 멀티프로세싱, 멀티태스킹, 멀티스레딩, 실시간 등이 될 수 있다. 오퍼레이팅 시스템(614)은 이하에 한정되지 않지만 장치들(606, 608)로부터 입력을 인식하고 출력을 이로 제공하는 것; 컴퓨터 판독가능 매체들(612)(예컨대, 메모리 또는 저장 장치) 상의 파일들 및 디렉토리들을 추적하고 관리하는 것; 주변 장치들을 제어하는 것; 및 하나 이상의 통신 채널(610) 상의 트래픽을 관리하는 것을 포함하는 기본 작업들을 수행한다. 네트워크 통신 모듈(616)은 네트워크 연결을 구축하고 관리하기 위한 다양한 구성요소들(예컨대, 통신 프로토콜, 이를테면 TCP/IP, HTTP 등을 구현하기 위한 소프트웨어)을 포함한다. 데이터베이스 인터페이스(620)는 파일 시스템 상의 하나 이상의 데이터베이스(예컨대, 데이터 포인트 데이터베이스(360) 및 위치 데이터베이스(372))에 대한 인터페이스들을 포함할 수 있다. 데이터베이스는 계층 폴더 구조하에서 조직될 수 있는데, 폴더들은 파일 시스템 내의 디렉토리들로 맵핑된다. 데이터 수집 모듈(630)은 액세스 포인트들 또는 기타 통신 채널들(예컨대, 셀룰러 네트워크들)을 통해 시스템(600)에 무선으로 연결되는 다수의 모바일 장치들로부터 데이터를 수집하기 위한 구성요소들을 포함할 수 있다. 데이터 분배 모듈(640)은 위치 데이터를 무선 통신 네트워크의 액세스 포인트들과 관련하여, 모바일 장치들(108 및 110)을 포함하는 컴퓨팅 장치들로 전송하기 위한 다양한 기능들을 수행할 수 있다. 위치 계산 모듈(650)은 모바일 장치들(108)로부터 수신된 위치들에 대해 멀티-패스 분석을 수행하기 위한 하나 이상의 구성요소들을 포함할 수 있다.
아키텍처(600)는 데이터베이스 애플리케이션 프로그램을 관리할 수 있는 임의의 장치에 포함될 수 있다. 아키텍처(600)는 병렬 프로세싱 또는 피어-투-피어 하부구조로 또는 하나 이상의 프로세서를 갖는 단일 장치 상에서 구현될 수 있다. 소프트웨어는 다수의 소프트웨어 구성요소를 포함할 수 있거나 코드 단일체가 될 수 있다.
설명된 특징들은 데이터 및 명령어들을 데이터 저장 시스템, 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치로부터 수신하고 데이터 및 명령어들을 이들로 송신하도록 결합된 적어도 하나의 프로그램가능 프로세서를 포함하는 프로그램가능 시스템 상에서 실행될 수 있는 하나 이상의 컴퓨터 프로그램에서 효과적으로 구현될 수 있다. 컴퓨터 프로그램은 컴퓨터에서 특정 동작을 수행하거나 특정 결과를 가져오는데, 직접 또는 간접적으로 사용될 수 있는 명령어들의 세트이다. 컴퓨터 프로그램은 컴파일되거나 해석된 언어들을 포함하는 임의의 형태의 프로그래밍 언어(예컨대, Objective-C, Java)로 작성될 수 있고, 스탠드 어론 프로그램, 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 구성요소, 서브루틴, 브라우저 기반 웹 애플리케이션 또는 기타 유닛을 포함하는 임의의 형태로 사용될 수 있다.
명령어들의 프로그램의 실행을 위한 적절한 프로세서들은 예로서, 임의의 종류의 컴퓨터의 범용 및 특수 목적 마이크로프로세서, 및 단일 프로세서 또는 다수의 프로세서들 또는 코어들 중 하나를 포함한다. 일반적으로, 프로세서는 리드-온니 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신한다. 컴퓨터의 필수 요소들은 명령어들을 실행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리이다. 일반적으로, 컴퓨터는 또한 데이터 파일들을 저장하기 위한 하나 이상의 대용량 저장 장치를 포함하거나 이와 동작적으로 결합된다; 이러한 장치들은 자기 디스크들, 이를테면 내부 하드 디스크 및 제거가능 디스크; 자기-광 디스크; 및 광 디스크를 포함한다. 컴퓨터 프로그램 명령어들 및 데이터를 실체적으로 구현하기에 적절한 저장 장치들은 예로서 반도체 메모리 장치들, 예컨대, EPROM, EEPROM, 및 플래시 메모리 장치들; 자기 디스크 이를테면 내부 하드 디스크 및 착탈식 디스크; 자기-광 디스크; 및 CD-ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리를 포함한다. 프로세서 및 메모리는 ASIC(애플리케이션 특정 집적회로)에 의해 보충될 수 있거나, 이에 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 특징들은 디스플레이 장치 이를테면 정보를 사용자에게 디스플레이하기 위한 CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 장치 이를테면 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다.
특징들은 데이터 서버와 같은 백-엔드 구성요소를 포함하거나, 애플리케이션 서버 또는 인터넷 서버와 같은 미들웨어 구성요소를 포함하거나, 그래픽 사용자 인터페이스 또는 인터넷 브라우저, 또는 이들의 임의의 조합을 갖는 클라이언트 컴퓨터와 같은 프론트-엔드 구성요소를 포함하는 컴퓨터 시스템에서 구현될 수 있다. 시스템의 구성요소들은 통신 네트워크와 같은 디지털 데이터 통신의 임의의 형태 또는 매체에 의해 연결될 수 있다. 통신 네트워크 예들은 예컨대, LAN, WAN 및 인터넷을 형성하는 컴퓨터 및 네트워크를 포함한다.
컴퓨터 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 떨어져 있고 통상적으로 네트워크를 통해 상호작용한다. 클라이언트 및 서버의 관계는 각각의 컴퓨터 상에서 실행되는 컴퓨터 프로그램에 의해 이루어지고 서로에 대해 클라이언트-서버 관계를 갖는다.
예시적인 모바일 장치 아키텍처
도 7은 모바일 장치의 예시적인 아키텍처(700)의 블록도이다. 모바일 장치는 예컨대 핸드헬드 컴퓨터, 개인용 디지털 보조기, 셀룰러 전화기, 전자 태블릿, 네트워크 기기, 카메라, 스마트폰, 향상된 일반 패킷 무선 서비스(enhanced general packet radio service; EGPRS) 모바일 전화기, 네트워크 기지국, 매체 재생기, 네비게이션 장치, 이메일 장치, 게임 콘솔, 또는 임의의 둘 이상의 이러한 데이터 프로세싱 장치 또는 기타 데이터 프로세싱 장치들의 조합이 될 수 있다.
모바일 장치는 메모리 인터페이스(702), 하나 이상의 데이터 프로세서, 이미지 프로세서 및/또는 중앙 처리 장치(704), 및 주변장치 인터페이스(706)를 포함할 수 있다. 메모리 인터페이스(702), 하나 이상의 프로세서(704) 및/또는 주변장치 인터페이스(706)는 별도의 구성요소가 될 수 있거나 하나 이상의 집적 회로에 통합될 수 있다. 모바일 장치(100) 내의 다양한 구성요소들은 하나 이상의 통신 버스 또는 신호 라인들에 의해 결합될 수 있다.
센서, 장치 및 서브시스템이 주변장치 인터페이스(706)에 결합되어 다중 기능을 용이하게 할 수 있다. 예를 들어, 움직임 센서(710), 광 센서(712), 및 근접 센서(714)가 주변장치 인터페이스(706)에 결합되어 모바일 장치의 배향, 빛, 및 근접 기능을 용이하게 할 수 있다. 위치 프로세서(715)(예컨대, GPS 수신기)가 주변 장치 인터페이스(706)에 연결되어 지구상의 위치를 제공할 수 있다. 전자 자기계(716)(예컨대, 집적회로 칩)가 또한 주변 인터페이스(706)에 연결되어 자기 북극의 방향을 결정하는데 사용될 수 있는 데이터를 제공할 수 있다.
카메라 서브시스템(720) 및 광 센서(722), 예컨대 전하 결합 디바이스(CCD) 또는 CMOS(complementary metal-oxide semiconduct) 광 센서가 카메라 기능, 이를테면 사진 및 비디오 클립 녹음을 용이하게 하는데 활용될 수 있다.
통신 기능들은 무선 주파수 수신기 및 송신기 및/또는 광(예컨대, 적외선) 수신기 및 송신기를 포함할 수 있는 하나 이상의 무선 통신 서브시스템(724)을 통해 용이하게 할 수 있다. 통신 서브시스템(724)의 특정 디자인 및 구현은 모바일 장치가 동작하도록 의도되는 통신 네트워크에 달려 있을 수 있다. 예를 들어, 모바일 장치는 GSM 네트워크, GPRS 네트워크, EDGE 네트워크, Wi-Fi 또는 WiMax 네트워크, 및 블루투스 네트워크를 통해 작동하도록 설계되는 통신 서브시스템(724)을 포함할 수 있다. 특히, 무선 통신 서브시스템(724)은 장치가 다른 무선 장치들에 대한 기지국으로서 구성될 수 있도록 호스팅 프로토콜들을 포함할 수 있다.
오디오 서브시스템(726)은 스피커(728) 및 마이크로폰(730)에 결합되어 음성 인식, 음성 복제, 디지털 레코딩, 및 전화 기능과 같은 음성 가능 기능을 용이하게 할 수 있다.
I/O 서브시스템(740)은 터치 스크린 컨트롤러(742) 및/또는 기타 입력 컨트롤러(744)를 포함할 수 있다. 터치 스크린 컨트롤러(742)는 터치 스크린(746) 또는 패드에 결합될 수 있다. 터치 스크린(746) 및 터치 스크린 컨트롤러(742)는 예를 들어 이하에 한정되지는 않지만 용량성, 저항성, 적외선 및 표면 음파 기술 뿐만 아니라 터치 스크린(746)과의 하나 이상의 접촉점을 결정하기 위한 기타 근접 센서 배열들 또는 기타 요소들을 포함하는 임의의 복수의 터치 감지 기술을 이용하여 접촉 및 움직임 또는 이들의 해제를 검출할 수 있다.
기타 입력 컨트롤러(744)가 기타 입력/제어 장치들(748), 이를테면 하나 이상의 버튼, 록커 스위치, 엄지 휠, 적외선 포트, USB 포트, 및/또는 스타일러스와 같은 포인터 장치에 결합될 수 있다. 하나 이상의 버튼(도시되지 않음)은 스피커(728) 및/또는 마이크로폰(730)의 볼륨 제어를 위한 업/다운 버튼을 포함할 수 잇다.
일 구현에서, 제1 기간 동안 버튼을 누르는 것은 터치 스크린(746)의 잠금을 해재할 수 있고; 제1 기간보다 긴 제2 기간 동안 버튼을 누르는 것은 모바일 장치의 전원을 키거나 끌 수 있다. 사용자는 하나 이상의 버튼의 기능을 커스텀화할 수 있다. 터치 스크린(746)이 예컨대 가상 또는 소프트 버튼 및/또는 키보드를 구현하는데 사용될 수 있다.
일부 구현에서, 모바일 장치는 녹음된 오디오 및/또는 비디오 파일, 이를테면 MP3, AAC, 및 MPEG 파일들을 제시할 수 있다. 일부 구현에서, 모바일 장치는 iPodTM과 같은 MP3 플레이어의 기능을 포함할 수 있다. 따라서, 모바일 장치는 iPod과 호환되는 핀 커넥터를 포함할 수 있다. 기타 입력/출력 및 제어 장치들이 또한 사용될 수 있다.
메모리 인터페이스(702)가 메모리(750)에 결합될 수 있다. 메모리(750)는 고속 랜덤 액세스 메모리 및/또는 비휘발성 메모리, 이를테면 하나 이상의 자기 디스크 저장 장치, 하나 이상의 광 저장 장치, 및/또는 플래시 메모리(예컨대, NAND, NOR)를 포함할 수 있다. 메모리(750)는 오퍼레이팅 시스템(752), 이를테면 Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS 또는 VxWorks와 같은 임베디드 오퍼레이팅 시스템을 저장할 수 있다. 오퍼레이팅 시스템(752)은 기본 시스템 서비스를 다루기 위한 명령어들 및 하드웨어 종속 작업들을 수행하기 위한 명령어들을 포함할 수 있다. 일부 구현에서, 오퍼레이팅 시스템(752)은 커널을 포함할 수 있다(예컨대, UNIX 커널).
메모리(750)는 또한 통신 명령어들(754)을 저장하여 하나 이상의 추가적인 장치, 하나 이상의 컴퓨터 및/또는 하나 이상의 서버와의 통신을 용이하게 할 수 있다. 메모리(750)는 그래픽 사용자 인터페이스 명령어들(756)을 포함하여 그래픽 사용자 인터페이스 프로세싱을 용이하게 할 수 있는데; 센서 프로세싱 명령어들(758)을 포함하여 센서 관련 프로세싱 및 기능을 용이하게 하고; 전화 명령어들(760)을 포함하여 전화 관련 프로세스들 및 기능들을 용이하게 하며; 전자 메시징 명령어들(762)을 포함하여 전자 메시징 관련 프로세스들 및 기능들을 용이하게 하고; 웹 브라우징 명령어들(764)을 포함하여 웹 브라우징-관련 프로세스들 및 기능들을 용이하게 하며; 매체 프로세싱 명령어들(766)을 포함하여 매체 프로세싱 관련 프로세스들 및 기능들을 용이하게 하고; GPS/네비게이션 명령어들(768)을 포함하여 GPS 및 네비게이션 관련 프로세시들 및 명령어들을 용이하게 하며; 카메라 명령어들(770)을 포함하여 카메라 관련 프로세스들 및 기능들을 용이하게 하고; 자기계 데이터(772) 및 보정 명령어들(774)을 포함하여 자기계 보정을 용이하게 할 수 있다. 메모리(750)는 현재 위치를 액세스 포인트로 송신하고, 모바일 장치가 통신 범위 내에 있는 액세스 포인트들과 연관되는 위치 데이터에 기초하여 추정된 현재 위치를 결정하는데 사용될 수 있는 위치 명령어들(776)을 포함할 수 있다. 메모리(750)는 또한 보안 명령어들, 웹 비디오 명령어들과 같은 기타 소프트웨어 명령어들(도시되지 않음)을 저장하여 웹 비디오 관련 프로세스들 및 기능들을 용이하게 하고 및/또는 웹 쇼핑 명령어들을 포함하여 웹 쇼핑 관련 프로세서들 및 기능들을 용이하게 할 수 있다. 일부 구현에서, 매체 프로세싱 명령어들(766)은 오디오 프로세싱 명령어들 및 비디오 프로세싱 명령어들로 나뉘어져 오디오 프로세싱 관련 프로세스들 및 기능들 및 비디오 프로세싱 관련 프로세스들 및 기능들 각각을 용이하게 할 수 있다. 작동 레코드 및 국제 이동 단말기 식별번호(International Mobile Equipment Identity; IMEI) 또는 유사한 하드웨어 식별자가 또한 메모리(750)에 저장될 수 있다.
위에서 식별된 명령어들 및 애플리케이션들 각각은 위에서 설명되는 하나 이상의 기능을 수행하기 위한 명령어들의 세트에 대응할 수 있다. 이 명령어들은 별개의 소프트웨어 프로그램, 절차, 또는 모듈로 구현될 필요가 없다. 메모리(750)는 추가적인 명령어들 또는 더 적은 명령어들을 포함할 수 있다. 더욱이, 모바일 장치의 다양한 기능은 하드웨어 및/또는 소프트웨어서 구현될 수 있는데, 하나 이상의 신호 프로세싱 및/또는 애플리케이션 특정 집적 회로에서 구현되는 것을 포함한다.
본 발명의 여러 구현이 설명되었다. 그렇지만, 당업자라면 본 발명의 사상 및 범위를 벗어나지 않는 한도 내에서 다양한 수정을 할 수 있음을 알 것이다. 예를 들어, 위치 인식 장치는 GPS 이용가능으로 나타날 수 있다. 위치 인식 모바일 장치들은 또한 삼각 측량 또는 기타 기술에 기초할 수 있다. 셀들은 도면들에서 실질적으로 직사각형 모양으로 나타난다. 셀의 실제 모양을 변할 수 있다. 위치들은 "원들"로 설명되었다. 본 명세서에서 사용되는 "원"이라는 용어는 완벽히 원형일 필요는 없지만 둘러싸이거나 둘러싸인 모습을 갖는 임의의 기하학적 모양(예컨대, 타원, 정사각형, 볼록 또는 오목 다각형, 또는 자유로운 모양)을 포함할 수 있다. 완벽히 원형이 아닌 기하학적 모양의 반경은 기하학적 모양의 경계 상의 다양한 포인트들 및 기하학적 모양의 중심 간의 평균 거리를 포함할 수 있다. WiFi 및 WiMax 네트워크들이 예로 사용된다. 기타 무선 기술(예컨대, 셀룰러 네트워크)이 또한 사용될 수 있다. 따라서, 기타 구현은 다음의 청구항의 범위 내에 있다.

Claims (24)

  1. 모바일 장치에 의해 실행되는 컴퓨터로 구현된 방법으로서,
    상기 모바일 장치가 위치한 통신 범위 내의 현재 액세스 포인트를 식별하는 단계;
    서버로부터 상기 현재 액세스 포인트의 식별자(identifier)를 이용하여 상기 모바일 장치의 위치 데이터베이스의 업데이트를 요청하는 단계 - 상기 위치 데이터베이스는 제1 액세스 포인트들과 연관된 제1 위치를 저장함 - ;
    제2 액세스 포인트들과 연관된 제2 위치들의 세트를 수신하는 단계 - 상기 제2 위치들은 지리적 격자의 중심 셀 및 상기 지리적 격자의 중심 셀과 이웃하는 셀들에서 분배되고, 상기 현재 액세스 포인트는 상기 중심 셀 내의 위치에 대응하고, 상기 중심 셀 및 상기 중심 셀과 이웃하는 셀들은 미리 정해진 지리적 영역을 커버함 - ;
    수신된 상기 위치들의 세트를 이용하여 상기 위치 데이터베이스를 업데이트하는 단계; 및
    상기 위치 데이터베이스를 이용하여 상기 모바일 장치의 현재 위치를 계산하는 단계
    를 포함하는 컴퓨터로 구현된 방법.
  2. 제1항에 있어서,
    상기 위치 데이터베이스를 이용하여 상기 모바일 장치의 현재 위치를 계산하는 단계는:
    (a) 상기 모바일 장치의 통신 범위 내에 있는 액세스 포인트들의 식별자를 수신하는 단계;
    (b) 상기 모바일 장치의 위치 데이터베이스로부터 상기 액세스 포인트들과 연관된 제3 위치들의 세트를 식별하는 단계;
    (c) 상기 제3 위치들의 세트를 이용하여 평균 지리적 위치를 계산하는 단계;
    (d) 상기 평균 지리적 위치와 상기 세트 내의 제3 위치들 간의 거리를 계산하는 단계;
    (e) 상기 평균 지리적 위치와 적어도 하나의 제3 위치 간의 거리에 기초하여 상기 세트로부터 상기 적어도 하나의 제3 위치를 제외하는 단계;
    (f) 종료 조건이 만족될 때까지 (c), (d), 및 (e)를 반복하는 단계; 및
    (g) 적어도 하나의 계산된 거리에 기초하여 상기 평균 지리적 위치를 가지는 원을 이용하여 상기 모바일 장치의 현재 위치를 중심 및 반경으로 지정하는 단계;
    를 포함하는, 컴퓨터로 구현된 방법.
  3. 제2항에 있어서,
    상기 세트로부터 상기 적어도 하나의 제3 위치를 제외하는 단계는:
    제외될 제3 위치들의 임계 퍼센트를 결정하는 단계; 및
    상기 평균 지리적 위치로부터 가장 멀리 위치한 제3 위치들의 임계 퍼센트를 제외하는 단계
    를 포함하는, 컴퓨터로 구현된 방법.
  4. 제2항에 있어서,
    상기 종료 조건은 반복 횟수가 임계 횟수에 도달하는 경우 만족되는, 컴퓨터로 구현된 방법.
  5. 제2항에 있어서,
    상기 종료 조건은 상기 원의 반경이 임계 반경 아래로 도달하는 경우 만족되는, 컴퓨터로 구현된 방법.
  6. 제2항에 있어서,
    상기 세트 내의 제3 위치들 각각은 위도, 경도 및 고도를 포함하는, 컴퓨터로 구현된 방법.
  7. 제1항에 있어서,
    상기 모바일 장치의 지도 디스플레이 상에 상기 모바일 장치의 현재 위치를 디스플레이하는 단계를 더 포함하는, 컴퓨터로 구현된 방법.
  8. 제1항에 있어서,
    상기 액세스 포인트들의 식별자는 상기 액세스 포인트들의 매체 액세스 제어(Media Access Control; MAC) 주소를 포함하는, 컴퓨터로 구현된 방법.
  9. 모바일 장치를 포함하는 시스템으로서,
    상기 모바일 장치가 위치한 통신 범위 내의 현재 액세스 포인트를 식별하는 동작;
    서버로부터 상기 현재 액세스 포인트의 식별자를 이용하여 상기 모바일 장치의 위치 데이터베이스의 업데이트를 요청하는 동작 - 상기 위치 데이터베이스는 제1 액세스 포인트들과 연관된 제1 위치를 저장함 - ;
    제2 액세스 포인트들과 연관된 제2 위치들의 세트를 수신하는 동작 - 상기 제2 위치들은 지리적 격자의 중심 셀 및 상기 지리적 격자의 중심 셀과 이웃하는 셀들에서 분배되고, 상기 현재 액세스 포인트는 상기 중심 셀 내의 위치에 대응하고, 상기 중심 셀 및 상기 중심 셀과 이웃하는 셀들은 미리 정해진 지리적 영역을 커버함 - ;
    수신된 상기 위치들의 세트를 이용하여 상기 위치 데이터베이스를 업데이트하는 동작; 및
    상기 위치 데이터베이스를 이용하여 상기 모바일 장치의 현재 위치를 계산하는 동작
    을 포함하는 동작들을 수행하도록 상기 모바일 장치가 구성되는, 시스템.
  10. 제9항에 있어서,
    상기 위치 데이터베이스를 이용하여 상기 모바일 장치의 현재 위치를 계산하는 동작은,
    (a) 상기 모바일 장치의 통신 범위 내에 있는 액세스 포인트들의 식별자를 수신하는 동작;
    (b) 상기 모바일 장치의 위치 데이터베이스로부터 상기 액세스 포인트들과 연관된 제3 위치들의 세트를 식별하는 동작;
    (c) 상기 제3 위치들의 세트를 이용하여 평균 지리적 위치를 계산하는 동작;
    (d) 상기 평균 지리적 위치와 상기 세트 내의 제3 위치들 간의 거리를 계산하는 동작;
    (e) 상기 평균 지리적 위치와 적어도 하나의 제3 위치 간의 거리에 기초하여 상기 세트로부터 상기 적어도 하나의 제3 위치를 제외하는 동작;
    (f) 종료 조건이 만족될 때까지 (c), (d), 및 (e)를 반복하는 동작; 및
    (g) 적어도 하나의 계산된 거리에 기초하여 상기 평균 지리적 위치를 가지는 원을 이용하여 상기 모바일 장치의 현재 위치를 중심 및 반경으로 지정하는 동작
    을 포함하는, 시스템.
  11. 제10항에 있어서,
    상기 세트로부터 상기 적어도 하나의 제3 위치를 제외하는 동작은:
    제외될 제3 위치들의 임계 퍼센트를 결정하는 동작; 및
    상기 평균 지리적 위치로부터 가장 멀리 위치한 제3 위치들의 임계 퍼센트를 제외하는 동작
    을 포함하는, 시스템.
  12. 제10항에 있어서,
    상기 종료 조건은 반복 횟수가 임계 횟수에 도달하는 경우 만족되는, 시스템.
  13. 제10항에 있어서,
    상기 종료 조건은 상기 원의 반경이 임계 반경 아래로 도달하는 경우 만족되는, 시스템.
  14. 제10항에 있어서,
    상기 세트 내의 제3 위치들 각각은 위도, 경도 및 고도를 포함하는, 시스템.
  15. 제9항에 있어서,
    상기 동작들은 상기 모바일 장치의 지도 디스플레이 상에 상기 모바일 장치의 현재 위치를 디스플레이하는 동작을 더 포함하는, 시스템.
  16. 제9항에 있어서,
    상기 액세스 포인트들의 식별자는 상기 액세스 포인트들의 매체 액세스 제어(Media Access Control; MAC) 주소를 포함하는, 시스템.
  17. 명령어들이 저장되어 있는 컴퓨터 판독가능 매체로서, 상기 명령어들은 모바일 장치로 하여금,
    상기 모바일 장치가 위치한 통신 범위 내의 현재 액세스 포인트를 식별하는 동작;
    서버로부터 상기 현재 액세스 포인트의 식별자를 이용하여 상기 모바일 장치의 위치 데이터베이스의 업데이트를 요청하는 동작 - 상기 위치 데이터베이스는 제1 액세스 포인트들과 연관된 제1 위치를 저장함 - ;
    제2 액세스 포인트들과 연관된 제2 위치들의 세트를 수신하는 동작 - 상기 제2 위치들은 지리적 격자의 중심 셀 및 상기 지리적 격자의 중심 셀과 이웃하는 셀들에서 분배되고, 상기 현재 액세스 포인트는 상기 중심 셀 내의 위치에 대응하고, 상기 중심 셀 및 상기 중심 셀과 이웃하는 셀들은 미리 정해진 지리적 영역을 커버함 - ;
    수신된 상기 위치들의 세트를 이용하여 상기 위치 데이터베이스를 업데이트하는 동작; 및
    상기 위치 데이터베이스를 이용하여 상기 모바일 장치의 현재 위치를 계산하는 동작
    을 포함하는 동작들을 수행하게 하도록 동작할 수 있는, 컴퓨터 판독가능 매체.
  18. 제17항에 있어서,
    상기 위치 데이터베이스를 이용하여 상기 모바일 장치의 현재 위치를 계산하는 동작은,
    (a) 상기 모바일 장치의 통신 범위 내에 있는 액세스 포인트들의 식별자를 수신하는 동작;
    (b) 상기 모바일 장치의 위치 데이터베이스로부터 상기 액세스 포인트들과 연관된 제3 위치들의 세트를 식별하는 동작;
    (c) 상기 제3 위치들의 세트를 이용하여 평균 지리적 위치를 계산하는 동작;
    (d) 상기 평균 지리적 위치와 상기 세트 내의 제3 위치들 간의 거리를 계산하는 동작;
    (e) 상기 평균 지리적 위치와 적어도 하나의 제3 위치 간의 거리에 기초하여 상기 세트로부터 상기 적어도 하나의 제3 위치를 제외하는 동작;
    (f) 종료 조건이 만족될 때까지 (c), (d), 및 (e)를 반복하는 동작; 및
    (g) 적어도 하나의 계산된 거리에 기초하여 상기 평균 지리적 위치를 가지는 원을 이용하여 상기 모바일 장치의 현재 위치를 중심 및 반경으로 지정하는 동작
    을 포함하는, 컴퓨터 판독가능 매체.
  19. 제18항에 있어서,
    상기 세트로부터 상기 적어도 하나의 제3 위치를 제외하는 동작은:
    제외될 제3 위치들의 임계 퍼센트를 결정하는 동작; 및
    상기 평균 지리적 위치로부터 가장 멀리 위치한 제3 위치들의 임계 퍼센트를 제외하는 동작
    을 포함하는, 컴퓨터 판독가능 매체.
  20. 제18항에 있어서,
    상기 종료 조건은 반복 횟수가 임계 횟수에 도달하는 경우 만족되는, 컴퓨터 판독가능 매체.
  21. 제18항에 있어서,
    상기 종료 조건은 상기 원의 반경이 임계 반경 아래로 도달하는 경우 만족되는, 컴퓨터 판독가능 매체.
  22. 제18항에 있어서,
    상기 세트 내의 제3 위치들 각각은 위도, 경도 및 고도를 포함하는, 컴퓨터 판독가능 매체.
  23. 제17항에 있어서,
    상기 동작들은 상기 모바일 장치의 지도 디스플레이 상에 상기 모바일 장치의 현재 위치를 디스플레이하는 동작을 더 포함하는, 컴퓨터 판독가능 매체.
  24. 제17항에 있어서,
    상기 액세스 포인트들의 식별자는 상기 액세스 포인트들의 매체 액세스 제어(Media Access Control; MAC) 주소를 포함하는, 컴퓨터 판독가능 매체.
KR1020127021348A 2010-01-15 2011-01-13 위치 데이터베이스를 이용한 모바일 장치의 위치 결정 KR101343174B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/688,788 2010-01-15
US12/688,788 US8200251B2 (en) 2010-01-15 2010-01-15 Determining a location of a mobile device using a location database
PCT/US2011/021172 WO2011088233A1 (en) 2010-01-15 2011-01-13 Determining a location of a mobile device using a location database

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020137028622A Division KR101343219B1 (ko) 2010-01-15 2011-01-13 위치 데이터베이스를 이용한 모바일 장치의 위치 결정

Publications (2)

Publication Number Publication Date
KR20120117865A KR20120117865A (ko) 2012-10-24
KR101343174B1 true KR101343174B1 (ko) 2013-12-19

Family

ID=43759479

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020137028622A KR101343219B1 (ko) 2010-01-15 2011-01-13 위치 데이터베이스를 이용한 모바일 장치의 위치 결정
KR1020127021348A KR101343174B1 (ko) 2010-01-15 2011-01-13 위치 데이터베이스를 이용한 모바일 장치의 위치 결정

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020137028622A KR101343219B1 (ko) 2010-01-15 2011-01-13 위치 데이터베이스를 이용한 모바일 장치의 위치 결정

Country Status (8)

Country Link
US (2) US8200251B2 (ko)
EP (1) EP2360605A1 (ko)
JP (2) JP5603432B2 (ko)
KR (2) KR101343219B1 (ko)
CN (1) CN102804184B (ko)
AU (1) AU2011205237B2 (ko)
TW (1) TWI498025B (ko)
WO (1) WO2011088233A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101573198B1 (ko) 2014-06-23 2015-12-02 에스케이텔레콤 주식회사 관심 지점 자동 인식을 위한 방법 및 장치, 이를 위한 기록 매체

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8838481B2 (en) * 2011-07-26 2014-09-16 Golba Llc Method and system for location based hands-free payment
US8838477B2 (en) 2011-06-09 2014-09-16 Golba Llc Method and system for communicating location of a mobile device for hands-free payment
US8756010B2 (en) * 2009-10-12 2014-06-17 Qualcomm Incorporated Method and apparatus for identification of points of interest within a predefined area
US8660576B2 (en) * 2010-01-15 2014-02-25 Apple Inc. Adaptive location determination
US8634860B2 (en) * 2010-01-15 2014-01-21 Apple Inc. Location determination using cached location area codes
US8433334B2 (en) * 2010-01-15 2013-04-30 Apple Inc. Managing a location database for network-based positioning system
US8504059B2 (en) * 2010-01-15 2013-08-06 Apple Inc. Location filtering using mobile country code
US8655371B2 (en) * 2010-01-15 2014-02-18 Apple Inc. Location determination using cached location area codes
GB2481191A (en) 2010-02-25 2011-12-21 Sita Information Networking Computing Ireland Ltd Graphical development tool for software application development
US8620344B2 (en) 2010-04-07 2013-12-31 Apple Inc. Location-based application program management
US8874710B2 (en) * 2010-04-27 2014-10-28 Nokia Corporation Access network discovery
KR101440836B1 (ko) * 2010-07-08 2014-11-04 에스케이텔레콤 주식회사 무선랜 신호를 이용한 측위 오차 판별 방법 및 장치
US9335181B2 (en) * 2010-11-10 2016-05-10 Qualcomm Incorporated Haptic based personal navigation
SG190038A1 (en) 2010-12-21 2013-06-28 Sita N V Reservation system and method
US20120249300A1 (en) * 2011-03-30 2012-10-04 Avital Shlomo Determination of location using rssi and transmit power
US8810598B2 (en) 2011-04-08 2014-08-19 Nant Holdings Ip, Llc Interference based augmented reality hosting platforms
US8548493B2 (en) * 2011-04-14 2013-10-01 Navteq B.V. Location tracking
US8494554B2 (en) 2011-06-03 2013-07-23 Apple Inc. Mobile device location estimation
AU2011374196B2 (en) 2011-08-03 2014-08-28 Sita Information Networking Computing Usa, Inc Item handling and tracking system and method therefor
KR101127794B1 (ko) * 2011-08-17 2012-03-23 주식회사 씽크풀 네트워크 식별자 위치판단 시스템 및 그 방법
US9877299B2 (en) 2011-08-18 2018-01-23 Rivada Research, Llc Method and system for performing trilateration for fixed infrastructure nodes (FIN) based on enhanced location based information
US9485623B2 (en) * 2011-08-18 2016-11-01 Rivada Research, Llc Method and system for providing enhanced location based trilateration
GB201116374D0 (en) 2011-09-22 2011-11-02 Sensewhere Ltd Positioning method
GB201116524D0 (en) 2011-09-23 2011-11-09 Sensewhere Ltd Method of estimating the position of a user device
GB201117723D0 (en) 2011-10-13 2011-11-23 Sensewhere Ltd Method of estimating the position of a user device using radio beacons and radio beacons adapted to facilitate the methods of the invention
US9354033B2 (en) * 2011-11-18 2016-05-31 Fluke Corporation Smart electromagnetic sensor array
US8635023B2 (en) * 2011-11-22 2014-01-21 Google Inc. Position indication controls for device locations
US8897803B2 (en) * 2012-01-13 2014-11-25 Apple Inc. Finding wireless network access points
GB201200831D0 (en) 2012-01-18 2012-02-29 Sensewhere Ltd Improved positioning system
US8611247B2 (en) * 2012-01-24 2013-12-17 Qualcomm Incorporated Dynamic data retrieval in a WLAN positioning system
GB2499288A (en) 2012-02-09 2013-08-14 Sita Inf Networking Computing Usa Inc Path determination
US8837366B2 (en) * 2012-03-19 2014-09-16 Apple Inc. Method to use network measurements to optimize mobile wireless device performance
US8599812B2 (en) * 2012-03-26 2013-12-03 Qualcomm Incorporated Encoded wireless data delivery in a WLAN positioning system
US8983490B2 (en) * 2012-03-27 2015-03-17 Microsoft Technology Licensing, Llc Locating a mobile device
US9279878B2 (en) * 2012-03-27 2016-03-08 Microsoft Technology Licensing, Llc Locating a mobile device
US9087204B2 (en) 2012-04-10 2015-07-21 Sita Information Networking Computing Ireland Limited Airport security check system and method therefor
US9253728B2 (en) 2012-04-30 2016-02-02 Apple Inc. Operating geographic location systems
GB2502068B (en) 2012-05-14 2019-03-27 Sensewhere Ltd Method of and system for estimating position
US8855931B2 (en) 2012-06-25 2014-10-07 Google Inc. Location history filtering
GB201211994D0 (en) 2012-07-05 2012-08-22 Sensewhere Ltd Method of estimating position of user device
US9787778B2 (en) * 2012-07-05 2017-10-10 Aruba Networks, Inc. Geographic proximity based service discovery
WO2014008630A1 (en) * 2012-07-10 2014-01-16 Telefonaktiebolaget L M Ericsson(Publ) Reducing signaling load caused by change of terminal location
EP2876949A4 (en) * 2012-07-18 2015-08-05 Fujitsu Ltd POSITION ESTIMATING METHOD, POSITION ESTIMATING SYSTEM AND DEVICE
US8744484B2 (en) * 2012-07-24 2014-06-03 Qualcomm Incorporated Wireless network coverage estimation using down-sampled crowd-sourced data
GB201213172D0 (en) 2012-07-24 2012-09-05 Sensewhere Ltd Method of estimating position of a device
CN104471967A (zh) * 2012-07-25 2015-03-25 西门子医疗保健诊断公司 基于位置的虚拟网络计算-切换系统
US8768369B2 (en) * 2012-08-01 2014-07-01 Alcatel Lucent Network map for location-based mobility decisions
US8995255B2 (en) 2012-08-03 2015-03-31 Intel Corporation Coverage adjustment in E-UTRA networks
US8886230B2 (en) * 2012-08-08 2014-11-11 Intel Corporation Systems and methods for service set identifier-based location detection
US9426611B2 (en) * 2012-08-09 2016-08-23 Sony Interactive Entertainment Inc. Information processing terminal, information processing method, program, and information storage medium
US9237544B2 (en) * 2012-09-28 2016-01-12 Intel Corporation Methods and arrangements to communicate environmental information for localization
US8812026B2 (en) * 2012-11-13 2014-08-19 Intel Corporation System and method for autonomous connectivity to improve location-based information
US9612121B2 (en) 2012-12-06 2017-04-04 Microsoft Technology Licensing, Llc Locating position within enclosure
US9838834B2 (en) * 2012-12-21 2017-12-05 Facebook, Inc. Techniques for wireless transmitter location detection
US10075814B2 (en) * 2012-12-24 2018-09-11 Intel Corporation Location-based selection of wireless peripheral devices
CN104054376B (zh) * 2013-01-16 2018-01-09 华为技术有限公司 定位处理方法、装置及系统
CN103944932B (zh) * 2013-01-18 2017-07-14 阿里巴巴集团控股有限公司 搜索、确定活跃区域的方法与服务器
GB2510169A (en) * 2013-01-28 2014-07-30 Microsoft Corp Determining a location of a mobile user terminal
US20140235266A1 (en) * 2013-02-16 2014-08-21 Qualcomm Incorporated Focused assistance data for WiFi access points and femtocells
JP2014179765A (ja) * 2013-03-14 2014-09-25 Panasonic Corp 無線通信端末、無線アクセス装置、無線通信システム及び無線通信プログラム
US20140266915A1 (en) * 2013-03-15 2014-09-18 Nextnav, Llc Techniques to improve the performance of a fixed, timing-based radio positioning network using external assistance information
US10320908B2 (en) 2013-03-25 2019-06-11 Sita Information Networking Computing Ireland Limited In-flight computing device for aircraft cabin crew
JP2014197759A (ja) * 2013-03-29 2014-10-16 富士通株式会社 プレゼンス管理方法、情報処理装置およびプログラム
US9197998B2 (en) * 2013-05-16 2015-11-24 Marvell World Trade Ltd. Method and system for positioning wireless device
FR3007870A1 (fr) * 2013-06-27 2015-01-02 France Telecom Verification de la validite d'une transaction par localisation d'un terminal.
CN103415048B (zh) * 2013-08-07 2015-11-04 东莞宇龙通信科技有限公司 无线通信方法、无线通信系统、终端和无线移动通信网络
US9398465B2 (en) * 2013-08-08 2016-07-19 Intel IP Corporation User equipment distribution information collection
US9906896B2 (en) * 2013-09-21 2018-02-27 Avaya Inc. Client location discovery
TWI503028B (zh) * 2013-10-11 2015-10-01 Chunghwa Telecom Co Ltd 一種Wi-Fi潛在熱點佈建位置之推估方法及其系統
US9582516B2 (en) 2013-10-17 2017-02-28 Nant Holdings Ip, Llc Wide area augmented reality location-based services
US9547068B2 (en) * 2013-11-07 2017-01-17 Qualcomm Incorporated Methods, systems and devices for providing location based services in a venue
US10134098B2 (en) 2013-11-11 2018-11-20 Nomadix, Inc. Traveler tracking system
US9241252B2 (en) 2013-12-20 2016-01-19 Google Inc. Identifying an entity associated with wireless network access point
US9197994B2 (en) * 2014-01-29 2015-11-24 Kaseya Limited Identifying mobile device location and corresponding support center locations to provide support services over a network
CN108259159B (zh) 2014-02-05 2021-02-05 苹果公司 用于在控制器和附件之间进行配对的方法和系统
US10321266B2 (en) * 2014-02-10 2019-06-11 Hewlett Packard Enterprise Development Lp Distance estimation
GB2523441A (en) 2014-02-19 2015-08-26 Sita Information Networking Computing Ireland Ltd Reservation system and method therefor
US9443275B1 (en) 2014-02-20 2016-09-13 Hm Electronics, Inc. Facilitating ordering at an order point via smart ordering devices
US10664772B1 (en) 2014-03-07 2020-05-26 Steelcase Inc. Method and system for facilitating collaboration sessions
US9716861B1 (en) 2014-03-07 2017-07-25 Steelcase Inc. Method and system for facilitating collaboration sessions
US9635566B2 (en) 2014-04-25 2017-04-25 At&T Intellectual Property I, L.P. Enhancement of access points to support heterogeneous networks
US9516564B2 (en) 2014-04-25 2016-12-06 At&T Intellectual Property I, L.P. Enhancement of a cell reselection parameter in heterogeneous networks
US9380682B2 (en) 2014-06-05 2016-06-28 Steelcase Inc. Environment optimization for space based on presence and activities
US9766079B1 (en) 2014-10-03 2017-09-19 Steelcase Inc. Method and system for locating resources and communicating within an enterprise
US9955318B1 (en) 2014-06-05 2018-04-24 Steelcase Inc. Space guidance and management system and method
US10433646B1 (en) 2014-06-06 2019-10-08 Steelcaase Inc. Microclimate control systems and methods
US11744376B2 (en) 2014-06-06 2023-09-05 Steelcase Inc. Microclimate control systems and methods
US9264855B2 (en) * 2014-07-02 2016-02-16 Qualcomm Incorporated Cell location estimation
US20160029186A1 (en) * 2014-07-24 2016-01-28 Be Heard, LLC Communications system for filtering recipients based upon geographical proximity
US10200963B2 (en) * 2014-07-25 2019-02-05 Verizon Patent And Licensing Inc. Reducing power consumption and network usage when locating a user device
US9513671B2 (en) 2014-08-01 2016-12-06 Microsoft Technology Licensing, Llc Peripheral retention device
US9888344B2 (en) * 2014-08-05 2018-02-06 Viavi Solutions Uk Limited Techniques for multiple pass geolocation
US10191986B2 (en) 2014-08-11 2019-01-29 Microsoft Technology Licensing, Llc Web resource compatibility with web applications
US20160050529A1 (en) * 2014-08-18 2016-02-18 Microsoft Corporation Location Information from a Mobile Device
US9705637B2 (en) 2014-08-19 2017-07-11 Microsoft Technology Licensing, Llc Guard band utilization for wireless data communication
US9397723B2 (en) 2014-08-26 2016-07-19 Microsoft Technology Licensing, Llc Spread spectrum wireless over non-contiguous channels
US9424048B2 (en) 2014-09-15 2016-08-23 Microsoft Technology Licensing, Llc Inductive peripheral retention device
CN105430032A (zh) 2014-09-17 2016-03-23 阿里巴巴集团控股有限公司 结合终端地理位置推送信息的方法及服务器
US9621294B2 (en) 2014-10-02 2017-04-11 At&T Intellectual Property I, L.P. Enhancement of inter-cell interference coordination with adaptive reduced-power almost blank subframes based on neighbor cell profile data
US9852388B1 (en) 2014-10-03 2017-12-26 Steelcase, Inc. Method and system for locating resources and communicating within an enterprise
US10140623B1 (en) 2014-10-27 2018-11-27 Square, Inc. Detection and explanation of lifts in merchant data
CN107110652B (zh) * 2014-10-27 2021-02-23 华为技术有限公司 处理空间特征
US9730013B2 (en) * 2014-10-31 2017-08-08 Hsiao-Tse Chang Method, recording medium and electronic device of 3D geolocation
US10001546B2 (en) 2014-12-02 2018-06-19 Sita Information Networking Computing Uk Limited Apparatus for monitoring aircraft position
US9167389B1 (en) 2015-01-15 2015-10-20 Blackpoint Holdings, Llc Clustering location data to determine locations of interest
US9386414B1 (en) * 2015-01-26 2016-07-05 Apple Inc. Location support for emergency calls
US10206170B2 (en) 2015-02-05 2019-02-12 Apple Inc. Dynamic connection path detection and selection for wireless controllers and accessories
US10178644B2 (en) 2015-02-20 2019-01-08 Telefonaktiebolaget Lm Ericsson (Publ) Positioning methods for a communication device and a positioning server in a wireless communication environment
US10158972B2 (en) * 2015-03-06 2018-12-18 Sony Corporation Selectively using beacon radio node location to determine user equipment location based on sensed movement of the beacon radio node
US10733371B1 (en) 2015-06-02 2020-08-04 Steelcase Inc. Template based content preparation system for use with a plurality of space types
KR102365600B1 (ko) * 2015-06-09 2022-02-21 삼성전자주식회사 위치 정보 송수신을 위한 방법 및 장치
KR101676572B1 (ko) * 2015-06-29 2016-11-15 네이버비즈니스플랫폼 주식회사 위치 기반 서비스 제공 방법 및 시스템
RU2609082C2 (ru) 2015-06-30 2017-01-30 Общество С Ограниченной Ответственностью "Яндекс" Способ и система определения адреса, соответствующего наиболее вероятному физическому положению электронного устройства, связанного с пользователем
US20170082729A1 (en) * 2015-09-22 2017-03-23 Intel IP Corporation Positioning device and method for determining the position of a communication device
CA3010604A1 (en) * 2016-01-07 2017-07-13 Erica C. JONES Systems and methods of mapping storage facilities
TWI585434B (zh) * 2016-01-30 2017-06-01 Long distance multi - point positioning system and method
KR102461973B1 (ko) * 2016-02-19 2022-11-03 삼성전자주식회사 전자 장치 및 전자 장치의 정보 관리 방법
CN115767728A (zh) 2016-03-25 2023-03-07 松下电器(美国)知识产权公司 通信设备及其执行的方法以及控制其过程的集成电路
CN105974451A (zh) * 2016-04-29 2016-09-28 厦门市美亚柏科信息股份有限公司 基于点集合的位置信息获取方法和装置
US20170328679A1 (en) 2016-05-11 2017-11-16 Rivada Research, Llc Method and System for Using Enhanced Location-Based Information to Guide Munitions
US9921726B1 (en) 2016-06-03 2018-03-20 Steelcase Inc. Smart workstation method and system
US9635510B1 (en) 2016-06-24 2017-04-25 Athentek Innovations, Inc. Database for Wi-Fi position estimation
US10349214B2 (en) 2016-07-28 2019-07-09 Hewlett Packard Enterprise Development Lp Localization using access point
JP6780357B2 (ja) * 2016-08-08 2020-11-04 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP6764285B2 (ja) * 2016-08-29 2020-09-30 株式会社Nttドコモ 情報処理装置
US10281589B2 (en) 2016-08-29 2019-05-07 International Business Machines Corporation Dynamic GPS location update
US10317236B2 (en) 2016-08-29 2019-06-11 International Business Machines Corporation Dynamic GPS location update
TWI617931B (zh) 2016-09-23 2018-03-11 李雨暹 適地性空間物件遠距管理方法與系統
JP6862738B2 (ja) * 2016-09-26 2021-04-21 いすゞ自動車株式会社 測位装置
US10747788B2 (en) * 2016-10-24 2020-08-18 Oath Inc. Clustering of geographical content
US10349375B2 (en) 2016-11-16 2019-07-09 At&T Intellectual Property I, L.P. Location determination based on access point emulation
US10264213B1 (en) 2016-12-15 2019-04-16 Steelcase Inc. Content amplification system and method
US10430874B1 (en) * 2016-12-23 2019-10-01 Wells Fargo Bank, N.A. Verifying a customer address by device location prior to sending replacement card
US10496508B2 (en) 2017-06-02 2019-12-03 Apple Inc. Accessory communication control
US10311616B2 (en) * 2017-06-30 2019-06-04 Intel Corporation Methods and apparatus to define augmented content regions for augmented reality systems
US10231167B2 (en) 2017-06-30 2019-03-12 Otis Elevator Company Building access zone specification for mobile applications
US10609672B2 (en) * 2017-07-28 2020-03-31 Bank Of America Corporation Network device navigation using a distributed wireless network
JP7021505B2 (ja) 2017-11-08 2022-02-17 セイコーエプソン株式会社 電子機器
FR3074305B1 (fr) * 2017-11-30 2021-02-12 Sigfox Procede et systeme de geolocalisation d’un terminal occupant des positions geographiques particulieres
US11055800B2 (en) 2017-12-04 2021-07-06 Telcom Ventures, Llc Methods of verifying the onboard presence of a passenger, and related wireless electronic devices
CN107959919B (zh) * 2017-12-07 2019-03-19 北京三快在线科技有限公司 移动终端的定位方法、装置、计算设备及存储介质
CN108377547B (zh) * 2018-01-05 2020-06-02 阿里巴巴集团控股有限公司 一种定位的方法、装置及设备
US10477511B2 (en) * 2018-01-19 2019-11-12 Verizon Patent And Licensing Inc. Mobile device mapping for wireless access point connection management and device automation
EP3748299B1 (en) * 2018-02-02 2024-03-06 Panasonic Intellectual Property Corporation of America Information transmitting method, and client device
JP6797145B2 (ja) * 2018-03-23 2020-12-09 Hapsモバイル株式会社 水中探査を行うシステム及び遠隔制御装置
JP6715281B2 (ja) * 2018-03-23 2020-07-01 Hapsモバイル株式会社 水中探査を行うシステム及び情報処理装置
EP3779497B1 (en) * 2018-03-26 2024-04-03 Alps Alpine Co., Ltd. Position estimation device, position estimation system, position estimation method, and program
US11360182B2 (en) * 2018-04-19 2022-06-14 Assa Abloy Ab Determining a location of a mobile device
US10390180B1 (en) * 2018-05-22 2019-08-20 Netscout Systems, Inc Geolocation determination with power fingerprinting
US11805009B2 (en) 2018-06-03 2023-10-31 Apple Inc. Configuring accessory network connections
JP7032735B2 (ja) * 2018-06-20 2022-03-09 三菱電機特機システム株式会社 水中測位装置
KR102546949B1 (ko) * 2018-07-13 2023-06-23 삼성전자 주식회사 전자 장치, 서버 장치 및 전자 장치의 위치를 결정하는 방법
CN109238295A (zh) * 2018-07-16 2019-01-18 西安艾润物联网技术服务有限责任公司 信息提示方法及相关产品
KR102136333B1 (ko) * 2018-10-11 2020-07-21 국방과학연구소 표적의 위치 추정을 위한 장치 및 방법
US11210721B1 (en) 2018-10-15 2021-12-28 Square, Inc. Converting items into vectors to determine optimized locations
US11589187B2 (en) 2019-09-13 2023-02-21 Troverlo, Inc. Passive sensor tracking using observations of Wi-Fi access points
US11622234B2 (en) 2019-09-13 2023-04-04 Troverlo, Inc. Passive asset tracking using observations of Wi-Fi access points
US11917488B2 (en) 2019-09-13 2024-02-27 Troverlo, Inc. Passive asset tracking using observations of pseudo Wi-Fi access points
TWI721665B (zh) * 2019-11-22 2021-03-11 光禾感知科技股份有限公司 基於磁場強度的定位系統和定位方法
JP7255747B2 (ja) * 2020-03-06 2023-04-11 日本電信電話株式会社 集計装置、集計方法、および、集計プログラム
US20220027790A1 (en) * 2020-07-27 2022-01-27 Cambridge Mobile Telematics Inc. Virtual tagging of vehicles
US11200306B1 (en) 2021-02-25 2021-12-14 Telcom Ventures, Llc Methods, devices, and systems for authenticating user identity for location-based deliveries
CN113473483A (zh) * 2021-06-29 2021-10-01 航天海鹰机电技术研究院有限公司 一种全量用户的定位方法及系统
GB2613158A (en) * 2021-11-24 2023-05-31 British Telecomm Wireless telecommunications network
JP7304397B2 (ja) 2021-12-03 2023-07-06 ソフトバンク株式会社 位置管理端末、プログラム、システム、及び位置管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060264222A1 (en) 2002-12-10 2006-11-23 International Business Machines Corporation Dynamic service binding providing transparent switching of information services having defined coverage regions
US20070066322A1 (en) 2001-01-12 2007-03-22 Microsoft Corporation Systems and Methods for Locating Geographical Regions of Mobile Computer Users
US20090061870A1 (en) 2007-08-29 2009-03-05 Palm, Inc. Use of position data to select wireless access point

Family Cites Families (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6278936B1 (en) * 1993-05-18 2001-08-21 Global Research Systems, Inc. System and method for an advance notification system for monitoring and reporting proximity of a vehicle
US5444450A (en) 1993-08-11 1995-08-22 Motorola, Inc. Radio telecommunications system and method with adaptive location determination convergence
US5412388A (en) 1993-08-11 1995-05-02 Motorola, Inc. Position ambiguity resolution
US5519760A (en) * 1994-06-22 1996-05-21 Gte Laboratories Incorporated Cellular network-based location system
US5570412A (en) 1994-09-28 1996-10-29 U.S. West Technologies, Inc. System and method for updating a location databank
US5508707A (en) 1994-09-28 1996-04-16 U S West Technologies, Inc. Method for determining position by obtaining directional information from spatial division multiple access (SDMA)-equipped and non-SDMA-equipped base stations
US5913170A (en) 1994-11-16 1999-06-15 Highwaymaster Communications, Inc. Locating system and method using a mobile communications network
US5642303A (en) 1995-05-05 1997-06-24 Apple Computer, Inc. Time and location based computing
US5945944A (en) 1996-03-08 1999-08-31 Snaptrack, Inc. Method and apparatus for determining time for GPS receivers
CA2265875C (en) 1996-09-09 2007-01-16 Dennis Jay Dupray Location of a mobile station
US6122520A (en) 1998-02-13 2000-09-19 Xerox Corporation System and method for obtaining and using location specific information
US6236861B1 (en) 1998-07-30 2001-05-22 Ramot University Authority For Applied Research And Development Ltd. Method for tracking mobile users in a cellular network
JP2000134662A (ja) 1998-10-26 2000-05-12 Fujitsu Ltd 移動通信システムおよび移動機
US6321092B1 (en) 1998-11-03 2001-11-20 Signal Soft Corporation Multiple input data management for wireless location-based applications
US8135413B2 (en) 1998-11-24 2012-03-13 Tracbeam Llc Platform and applications for wireless location and other complex services
US6232915B1 (en) 1999-08-31 2001-05-15 Qwest Communications International Inc. System and method for identifying clusters of geographic locations
US6490519B1 (en) * 1999-09-27 2002-12-03 Decell, Inc. Traffic monitoring system and methods for traffic monitoring and route guidance useful therewith
US7457628B2 (en) 2000-02-29 2008-11-25 Smarter Agent, Llc System and method for providing information based on geographic position
US6625457B1 (en) 2000-04-11 2003-09-23 Ericsson Inc. Mobile terminal with location database
US8050686B1 (en) 2000-08-29 2011-11-01 Motorola Mobility, Inc. Method of enabling low tier location applications
US6856807B1 (en) 2000-09-07 2005-02-15 Ericsson Inc. Method to control the update frequency of a positioning device by a mobile terminal
JP3777299B2 (ja) * 2000-11-20 2006-05-24 日本電信電話株式会社 無線移動端末の位置検出方法
FI111901B (fi) 2000-12-29 2003-09-30 Ekahau Oy Sijainnin arviointi langattomissa tietoliikenneverkoissa
KR100898530B1 (ko) 2001-03-15 2009-05-20 퀄컴 인코포레이티드 무선 위치 결정 시스템에서의 시간 획득
US7974642B2 (en) 2001-09-10 2011-07-05 Sirf Technology, Inc. System and method for estimating cell center position for cell ID based positioning
FI113731B (fi) 2001-09-21 2004-05-31 Locus Portal Corp Paikannusmenetelmä matkaviestin verkoille
EP1304897A1 (en) 2001-10-22 2003-04-23 Agilent Technologies, Inc. (a Delaware corporation) Methods and apparatus for providing data for enabling location of a mobile communications device
US7127257B2 (en) 2001-12-27 2006-10-24 Qualcomm Incorporated Use of mobile stations for determination of base station location parameters in a wireless mobile communication system
US7528772B2 (en) 2002-01-21 2009-05-05 Nokia Corporation Provision of location information
JP2003230171A (ja) 2002-01-31 2003-08-15 Ntt Docomo Inc 移動管理装置、移動通信端末及び移動通信システム
US20040203845A1 (en) 2002-03-22 2004-10-14 Lal Amrish K. Method and system for associating location specific data with data in a mobile database
US7565155B2 (en) 2002-04-10 2009-07-21 Networks In Motion Method and system for dynamic estimation and predictive route generation
US6947880B2 (en) 2002-04-23 2005-09-20 Motorola, Inc. Method for improving accuracy of a velocity model
JP4179473B2 (ja) 2002-10-30 2008-11-12 リサーチ イン モーション リミテッド データサービスを利用可能にする通信ネットワークを優先的に選択するための、方法およびデバイス
US20070207816A1 (en) 2003-02-24 2007-09-06 Polaris Wireless, Inc. Location Estimation of Wireless Terminals Based on Combinations of Signal-Strength Measurements and Geometry-of-Arrival Measurements
US7346359B2 (en) 2003-07-31 2008-03-18 Pango Networks, Inc. Method for RF fingerprinting
US20050239478A1 (en) 2003-09-03 2005-10-27 Nokia Corporation Terminal location
US7312752B2 (en) 2003-10-22 2007-12-25 Awarepoint Corporation Wireless position location and tracking system
JP4046705B2 (ja) * 2004-03-23 2008-02-13 三洋電機株式会社 移動通信支援装置、移動通信端末および移動通信システム
US7460872B2 (en) 2004-07-06 2008-12-02 International Business Machines Corporation Method and application for automatic tracking of mobile devices for computer network processor systems
US7024339B1 (en) * 2004-10-18 2006-04-04 Kla-Tencor Technologies Corporation Full swath analysis
US8019692B2 (en) 2004-10-19 2011-09-13 Yahoo! Inc. System and method for location based social networking
US7433693B2 (en) 2004-10-27 2008-10-07 Qualcomm Incorporated Location-sensitive calibration data
US8369264B2 (en) 2005-10-28 2013-02-05 Skyhook Wireless, Inc. Method and system for selecting and providing a relevant subset of Wi-Fi location information to a mobile client device so the client device may estimate its position with efficient utilization of resources
US7414988B2 (en) 2004-10-29 2008-08-19 Skyhook Wireless, Inc. Server for updating location beacon database
FR2880505B1 (fr) 2004-12-31 2007-05-11 Evolium Sas Soc Par Actions Si Procede et systeme pour l'exploitation d'un reseau de communications mobiles
EP1851979B1 (en) 2005-02-22 2018-06-13 Skyhook Wireless, Inc. Method of continuous data optimization in a positioning system
JP4465661B2 (ja) 2005-03-01 2010-05-19 株式会社カシオ日立モバイルコミュニケーションズ 移動通信端末及び通信制御方法
WO2006096416A2 (en) 2005-03-04 2006-09-14 Skyhook Wireless, Inc. Encoding and compression of a location beacon database
US7450064B2 (en) 2005-03-22 2008-11-11 Qualcomm, Incorporated Methods and systems for deriving seed position of a subscriber station in support of unassisted GPS-type position determination in a wireless communication system
US7478578B2 (en) 2005-06-24 2009-01-20 Honeywell International Inc. Commercial airliner missile protection using formation drone aircraft
US8589532B2 (en) 2005-06-24 2013-11-19 Qualcomm Incorporated Apparatus and method for determining WLAN access point position
US8126477B2 (en) 2005-07-07 2012-02-28 Qualcomm Incorporated Methods and devices for interworking of wireless wide area networks and wireless local area networks or wireless personal area networks
US7664511B2 (en) 2005-12-12 2010-02-16 Nokia Corporation Mobile location method for WLAN-type systems
US20070290924A1 (en) 2005-12-14 2007-12-20 Innerwireless, Inc. Wireless resource monitoring system and method
KR100651594B1 (ko) 2005-12-29 2006-11-30 주식회사 팬택 목적지 방향표시 기능을 제공하는 이동통신 단말기 및 그방향표시 방법
US8706159B2 (en) 2006-01-03 2014-04-22 Apple Inc. Media data transfer
US7471954B2 (en) 2006-02-24 2008-12-30 Skyhook Wireless, Inc. Methods and systems for estimating a user position in a WLAN positioning system based on user assigned access point locations
JP2007232458A (ja) 2006-02-28 2007-09-13 Seiko Epson Corp 測位装置、測位装置の制御方法、測位装置の制御プログラム、測位装置の制御プログラムを記録したコンピュータ読み取り可能な記録媒体
US20070233899A1 (en) 2006-04-03 2007-10-04 Aborn Justin A Locating devices
US7551929B2 (en) 2006-05-08 2009-06-23 Skyhook Wireless, Inc. Estimation of speed and direction of travel in a WLAN positioning system using multiple position estimations
US7551579B2 (en) 2006-05-08 2009-06-23 Skyhook Wireless, Inc. Calculation of quality of wlan access point characterization for use in a wlan positioning system
US7515578B2 (en) 2006-05-08 2009-04-07 Skyhook Wireless, Inc. Estimation of position using WLAN access point radio propagation characteristics in a WLAN positioning system
BRPI0621394A2 (pt) 2006-05-16 2011-12-06 Tomtom Int Bv dispositivo de navegação com aumento automático de precisão de gps
US7561890B2 (en) * 2006-06-22 2009-07-14 Sony Ericsson Mobile Communications Ab Hotspot location database system, mobile terminal for use in such a system and method for creating maintaining and updating such a system
US8144673B2 (en) 2006-07-07 2012-03-27 Skyhook Wireless, Inc. Method and system for employing a dedicated device for position estimation by a WLAN positioning system
US20080225779A1 (en) 2006-10-09 2008-09-18 Paul Bragiel Location-based networking system and method
GB2443860B (en) * 2006-10-19 2011-02-16 Vodafone Plc Controlling the use of access points in a telecommunications network
JP4957174B2 (ja) * 2006-10-19 2012-06-20 ソニー株式会社 位置記憶装置、無線端末、位置記憶システム、位置登録方法、位置更新方法およびプログラム
US9226257B2 (en) 2006-11-04 2015-12-29 Qualcomm Incorporated Positioning for WLANs and other wireless networks
US9110903B2 (en) 2006-11-22 2015-08-18 Yahoo! Inc. Method, system and apparatus for using user profile electronic device data in media delivery
GB2445986A (en) 2007-01-17 2008-07-30 Connect Spot Ltd Database Update Systems for Wireless communications Systems
US8000276B2 (en) 2007-02-05 2011-08-16 Wefi, Inc. Providing easy access to radio networks
ATE429775T1 (de) 2007-02-15 2009-05-15 Research In Motion Ltd Notrufnummerwahl für mobiles kommunikationsgerät
JP4971822B2 (ja) * 2007-02-19 2012-07-11 三洋電機株式会社 ナビゲーション装置
US8768356B2 (en) 2007-04-23 2014-07-01 At&T Mobility Ii Llc Dual mode device with MAC address capture and pairing
US9066199B2 (en) 2007-06-28 2015-06-23 Apple Inc. Location-aware mobile device
US8290513B2 (en) 2007-06-28 2012-10-16 Apple Inc. Location-based services
US9109904B2 (en) 2007-06-28 2015-08-18 Apple Inc. Integration of map services and user applications in a mobile device
JP4794518B2 (ja) * 2007-08-15 2011-10-19 株式会社ナビタイムジャパン 地図表示システム、地図表示装置および地図表示方法
US7474954B1 (en) * 2007-08-23 2009-01-06 Detroit Diesel Corporation EGR differential pressure sensor auto calibration method
US20090067420A1 (en) 2007-09-11 2009-03-12 General Instrument Corporation Location Determination for a Packet-Switched Device for Providing Location-Based Services
US8711034B2 (en) 2007-10-02 2014-04-29 Ricoh Co., Ltd. Geographically self-labeling access points
US8620996B2 (en) 2007-11-19 2013-12-31 Motorola Mobility Llc Method and apparatus for determining a group preference in a social network
US9392572B2 (en) 2008-03-04 2016-07-12 Yahoo! Inc. Using location-based request data for identifying beacon locations
US20090234876A1 (en) 2008-03-14 2009-09-17 Timothy Schigel Systems and methods for content sharing
US8213389B2 (en) 2008-04-15 2012-07-03 Apple Inc. Location determination using formula
US8761786B2 (en) 2008-05-02 2014-06-24 Pine Valley Investments, Inc. System and method for assigning communication cells to servers in a cellular communication system
US20090280801A1 (en) 2008-05-09 2009-11-12 Ajay Malik Cell Sensor for Access Ports
WO2009149417A1 (en) 2008-06-06 2009-12-10 Skyhook Wireless, Inc. Method and system for determining location using a hybrid satellite and wlan positioning system by selecting the best wlan-ps solution
US8885736B2 (en) 2008-06-13 2014-11-11 Ikanos Communications, Inc. Systems and methods for positioning and messaging of reserved tones for peak-to-average ratio (PAR) reduction in DSL systems
US8155666B2 (en) 2008-06-16 2012-04-10 Skyhook Wireless, Inc. Methods and systems for determining location using a cellular and WLAN positioning system by selecting the best cellular positioning system solution
US7916071B2 (en) 2008-12-23 2011-03-29 Andrew, Llc System and method for determining a reference location of a mobile device
US20100255856A1 (en) 2009-04-03 2010-10-07 Microsoft Corporation Location Sensing Selection for Mobile Devices
US8434153B2 (en) 2009-08-24 2013-04-30 Microsoft Corporation Application display on a locked device
US8374632B2 (en) * 2010-01-04 2013-02-12 Alcatel Lucent Method and apparatus for providing geo-location enablement for wireless device
US8504059B2 (en) 2010-01-15 2013-08-06 Apple Inc. Location filtering using mobile country code
US8655371B2 (en) 2010-01-15 2014-02-18 Apple Inc. Location determination using cached location area codes
US8433334B2 (en) 2010-01-15 2013-04-30 Apple Inc. Managing a location database for network-based positioning system
US8660576B2 (en) 2010-01-15 2014-02-25 Apple Inc. Adaptive location determination
US8634860B2 (en) 2010-01-15 2014-01-21 Apple Inc. Location determination using cached location area codes
US9198202B2 (en) * 2010-05-18 2015-11-24 Verizon Patent And Licensing Inc. Default civic address locations for mobile E9-1-1 calls
US8478291B2 (en) * 2010-08-27 2013-07-02 Trueposition, Inc. Location accuracy improvement using a priori probabilities

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070066322A1 (en) 2001-01-12 2007-03-22 Microsoft Corporation Systems and Methods for Locating Geographical Regions of Mobile Computer Users
US20060264222A1 (en) 2002-12-10 2006-11-23 International Business Machines Corporation Dynamic service binding providing transparent switching of information services having defined coverage regions
US20090061870A1 (en) 2007-08-29 2009-03-05 Palm, Inc. Use of position data to select wireless access point

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101573198B1 (ko) 2014-06-23 2015-12-02 에스케이텔레콤 주식회사 관심 지점 자동 인식을 위한 방법 및 장치, 이를 위한 기록 매체

Also Published As

Publication number Publication date
US20130165142A1 (en) 2013-06-27
CN102804184A (zh) 2012-11-28
JP2015053678A (ja) 2015-03-19
KR101343219B1 (ko) 2013-12-18
EP2360605A1 (en) 2011-08-24
JP6025790B2 (ja) 2016-11-16
JP5603432B2 (ja) 2014-10-08
AU2011205237A1 (en) 2012-08-16
US8700060B2 (en) 2014-04-15
WO2011088233A1 (en) 2011-07-21
TWI498025B (zh) 2015-08-21
JP2013517697A (ja) 2013-05-16
KR20120117865A (ko) 2012-10-24
TW201141282A (en) 2011-11-16
KR20130127548A (ko) 2013-11-22
US20110177831A1 (en) 2011-07-21
CN102804184B (zh) 2017-02-08
US8200251B2 (en) 2012-06-12
AU2011205237B2 (en) 2014-07-17

Similar Documents

Publication Publication Date Title
KR101343174B1 (ko) 위치 데이터베이스를 이용한 모바일 장치의 위치 결정
KR101355269B1 (ko) 네트워크 기반 위치 결정 시스템을 위한 위치 데이터베이스 관리
US9078230B2 (en) Selective location determination
KR101347467B1 (ko) 이동 국가 코드를 이용한 위치 필터링
US8634860B2 (en) Location determination using cached location area codes
US8655371B2 (en) Location determination using cached location area codes
US20150346313A1 (en) Wireless access point location estimation using collocated harvest data
AU2016225929A1 (en) Managing a location database for network-based positioning system
AU2015202130A1 (en) Managing a location database for network-based positioning system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 6