KR101347467B1 - 이동 국가 코드를 이용한 위치 필터링 - Google Patents
이동 국가 코드를 이용한 위치 필터링 Download PDFInfo
- Publication number
- KR101347467B1 KR101347467B1 KR1020127021371A KR20127021371A KR101347467B1 KR 101347467 B1 KR101347467 B1 KR 101347467B1 KR 1020127021371 A KR1020127021371 A KR 1020127021371A KR 20127021371 A KR20127021371 A KR 20127021371A KR 101347467 B1 KR101347467 B1 KR 101347467B1
- Authority
- KR
- South Korea
- Prior art keywords
- location
- mobile device
- access point
- geographic
- locations
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-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/0205—Details
- G01S5/021—Calibration, monitoring or correction
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-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/0205—Details
- G01S5/0242—Determining the position of transmitters to be subsequently used in positioning
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-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/0295—Proximity-based methods, e.g. position inferred from reception of particular signals
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-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/0295—Proximity-based methods, e.g. position inferred from reception of particular signals
- G01S5/02955—Proximity-based methods, e.g. position inferred from reception of particular signals by computing a weighted average of the positions of the signal transmitters
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
- Telephonic Communication Services (AREA)
Abstract
MCC(mobile country code)를 이용하여 위치 필터링하는 방법들, 프로그램 제품들, 및 시스템들이 기재되어 있다. 이동 장치는 이동 장치가 접속되는 무선 통신 네트워크의 액세스 포인트들의 위치들을 이용하여 그 지리적 위치를 결정할 수 있다. 이동 장치는 셀룰러 네트워크를 통해 무선 통신 네트워크의 하나 이상의 액세스 포인트의 식별자들 및 현재의 MCC를 무선 수신할 수 있다. 이동 장치는 현재의 MCC에 대응하는 지리적 영역의 바운딩 박스인 폴리곤을 식별할 수 있다. 이동 장치는 수신된 식별자들을 이용하여 위치 데이터베이스로부터 액세스 포인트 위치들 세트를 선택할 수 있으며, 액세스 포인트 위치들은 식별된 폴리곤 내부에 있다. 이동 장치는 선택된 액세스 포인트 위치들 세트의 평균 위치에 기초하여 이동 장치의 현재의 위치를 결정할 수 있다.
Description
본 명세서는 일반적으로 이동 장치의 지리적 위치를 결정하는 것에 관한 것이다.
이동 장치들이 서로 통신하며 유선 네트워크 상의 장치들과 통신하게 하기 위해 각종 기술들이 무선 통신 네트워크에 이용될 수 있다. 사용된 기술들에 따라, 이동 장치들의 통신 거리들은 수 미터(예를 들어, 개인 영역 네트워크에서)에서 수 킬로미터(예를 들어, 셀룰러 네트워크에서)까지의 범위에 이를 수 있다. 무선 통신 기술들 중에서, WLAN(wireless local network)은 통신을 위한 전파를 이용하는 근거리 네트워크(예를 들어, 가정, 사무실, 또는 소그룹 빌딩들 예컨대 학교와 같은 비교적 작은 물리적 영역을 커버하는 컴퓨터 네트워크)를 포함할 수 있다. WLAN 기술의 일부 예들은 WiFi를 포함하며, 그것은 임의의 IEEE(Institute of Electrical and Electronics Engineers) 802.XX 표준들에 기초하는 임의의 WLAN 제품들을 포함할 수 있다. 이동 장치는 WLAN 내의 다른 장치들과 또는 무선 네트워크의 액세스 포인트를 통해 WLAN 외부의 장치들과 통신할 수 있다.
일반적으로, 셀룰러 통신 네트워크는 이동 장치들이 서로 통신하거나 WLAN의 것보다 긴 거리들에 걸쳐 다른 장치들과 통신하게 할 수 있다. 일부 예시적 셀룰러 기술들은 GSM(Global System for Mobile communications) 네트워크, 또는 UMTS(Universal Mobile Telecommunications System) 네트워크를 포함한다. 소정 위치에서 셀룰러 네트워크 내의 이동 장치는 소정 위치의 국가를 지정할 수 있는 현재의 MCC(mobile country code), 이동 네트워크 운영자를 식별할 수 있는 현재의 MNC(mobile network code), 위치 영역(이동 네트워크 운영자에 의해 정의될 수 있음)을 식별할 수 있는 현재의 LAC(location area code), 및 위치의 현재의 시간대를 가질 수 있다. MCC, MNC, LAC, 및 현재의 시간대 정보는 셀룰러 타워를 통해 이동 장치에 이동 네트워크 운영자에 의해 제공될 수 있다.
MCC(mobile country code)를 이용하여 위치 필터링하는 방법들, 프로그램 제품들, 및 시스템들이 기재되어 있다. 이동 장치는 이동 장치가 접속되는 무선 통신 네트워크의 액세스 포인트들의 위치들을 이용하여 그 지리적 위치를 결정할 수 있다. 이동 장치는 셀룰러 네트워크를 통해 무선 통신 네트워크의 하나 이상의 액세스 포인트의 식별자들 및 현재의 MCC를 무선 수신할 수 있다. 이동 장치는 현재의 MCC에 대응하는 지리적 영역의 바운딩 박스인 폴리곤을 식별할 수 있다. 이동 장치는 수신된 식별자들을 이용하여 위치 데이터베이스로부터 액세스 포인트 위치들 세트를 선택할 수 있으며, 액세스 포인트 위치들은 식별된 폴리곤 내부에 있다. 이동 장치는 선택된 액세스 포인트 위치들 세트의 평균 위치에 기초하여 이동 장치의 현재의 위치를 결정할 수 있다.
이동 국가 코드를 이용하여 위치 필터링하는 기술들은 이하의 예시적 장점들을 달성하기 위해 구현될 수 있다. 이동 장치는 이동 장치가 GPS(Global Positioning System) 신호들을 수신할 수 없을지라도 그 위치를 결정할 수 있다. 예를 들어, GPS 수신기가 구비되지 않거나 이에 연결되지 않은 이동 장치는 이동 장치의 현재의 위치를 결정할 수 있다. 이동 장치는 이동 장치가 무선 네트워크(예를 들어, WiFi, WiMax, 또는 다른 무선 네트워크)에 접속될 때 그 위치를 결정할 수 있다. 이동 장치는 이동 장치가 접속될 수 있는 무선 액세스 포인트들의 위치들에 기초하여 그 위치를 결정할 수 있다. GPS 가능 이동 장치들은 예를 들어 GPS 신호들이 약해질 때(예를 들어, 빌딩들 내부) 무선 액세스 포인트들의 위치들을 이용할 수도 있다.
MCC를 이용하는 위치 필터링은 최근에 이동된 액세스 포인트들을 필터 아웃하기 위한 효율적인 방법을 제공할 수 있다. 이동 장치는 이동 장치가 접속되는 액세스 포인트의 위치 기록을 갖고, 위치 기록이 액세스 포인트가 현재의 국가와 상이한 국가에 위치되는 것을 나타내면, 이동 장치는 위치 계산으로부터 액세스 포인트를 배제할 수 있다. 이동 장치는 예를 들어 이동 장치가 접속되는 액세스 포인트가 캐나다에 위치되지만 액세스 포인트가 프랑스에 위치되는 것을 나타내는 기록을 이동 장치가 가질 때 부정확한 위치 계산을 회피할 수 있다. 위치 계산은 MCC를 이용하는 위치 필터링의 기술들이 이용될 때 보다 정확할 수 있다.
MCC를 이용한 위치 필터링의 하나 이상의 구현들의 상세한 설명은 이하의 첨부 도면들 및 설명에 진술되어 있다. 무선 액세스 포인트들의 위치들을 결정하는 다른 특징들, 양상들, 및 장점들은 설명, 도면들, 및 청구범위로부터 분명해질 것이다.
도 1은 이동 국가 코드를 이용하는 위치 필터링의 개요이다.
도 2a는 무선 액세스 포인트들의 위치들을 결정하기 위한 기술의 개요이다.
도 2b는 3차원 공간에서 무선 액세스 포인트들의 위치들을 결정하는 것을 예시한다.
도 3a-3c는 이동 장치들을 이용하여 WLAN 내의 액세스 포인트들과 관련된 위치들을 결정하는 예시적 단계들을 예시한다.
도 3d는 3차원 공간에서 이동 장치들을 이용하여 WLAN 내의 액세스 포인트들과 관련된 위치들을 결정하는 예시적 단계를 예시한다.
도 4a 및 4b는 이동 장치들을 이용하여 WLAN 내의 액세스 포인트들과 관련된 위치들을 결정하는 예시적 프로세스들을 예시하는 순서도들이다.
도 4c는 무선 액세스 포인트들의 위치들을 결정하는 기술들을 구현하는 예시적 시스템을 예시하는 블록도이다.
도 5a는 무선 액세스 포인트들의 위치들을 결정하는 기술들을 이용하는 이동 장치들의 위치들을 결정하기 위한 기술들을 예시한다.
도 5b는 이동 국가 코드를 이용하여 위치 필터링의 예시적 프로세스를 예시하는 순서도이다.
도 5c는 무선 액세스 포인트들의 필터링된 위치들을 이용하여 이동 장치의 위치를 결정하기 위한 예시적 프로세스를 예시하는 순서도이다.
도 6은 무선 액세스 포인트들의 위치들을 이용하여 이동 장치들의 위치들을 결정하기 위한 예시적 사용자 인터페이스를 예시한다.
도 7은 이동 장치의 예시적 아키텍처의 블록도이다.
각종 도면에서의 동일한 참조 부호들은 동일한 요소들을 지시한다.
도 2a는 무선 액세스 포인트들의 위치들을 결정하기 위한 기술의 개요이다.
도 2b는 3차원 공간에서 무선 액세스 포인트들의 위치들을 결정하는 것을 예시한다.
도 3a-3c는 이동 장치들을 이용하여 WLAN 내의 액세스 포인트들과 관련된 위치들을 결정하는 예시적 단계들을 예시한다.
도 3d는 3차원 공간에서 이동 장치들을 이용하여 WLAN 내의 액세스 포인트들과 관련된 위치들을 결정하는 예시적 단계를 예시한다.
도 4a 및 4b는 이동 장치들을 이용하여 WLAN 내의 액세스 포인트들과 관련된 위치들을 결정하는 예시적 프로세스들을 예시하는 순서도들이다.
도 4c는 무선 액세스 포인트들의 위치들을 결정하는 기술들을 구현하는 예시적 시스템을 예시하는 블록도이다.
도 5a는 무선 액세스 포인트들의 위치들을 결정하는 기술들을 이용하는 이동 장치들의 위치들을 결정하기 위한 기술들을 예시한다.
도 5b는 이동 국가 코드를 이용하여 위치 필터링의 예시적 프로세스를 예시하는 순서도이다.
도 5c는 무선 액세스 포인트들의 필터링된 위치들을 이용하여 이동 장치의 위치를 결정하기 위한 예시적 프로세스를 예시하는 순서도이다.
도 6은 무선 액세스 포인트들의 위치들을 이용하여 이동 장치들의 위치들을 결정하기 위한 예시적 사용자 인터페이스를 예시한다.
도 7은 이동 장치의 예시적 아키텍처의 블록도이다.
각종 도면에서의 동일한 참조 부호들은 동일한 요소들을 지시한다.
이동 국가 코드를 이용하는 위치 필터링의 개요
도 1은 MCC(mobile country code)를 이용하는 위치 필터링의 개요이다. 편의상, 단지 북아메리카 및 하와이 제도가 도 1에 도시되어 있다. 게다가, 단지 캐나다, 미합중국, 및 멕시코는 MCC를 이용하는 위치 필터링에 대한 예들로 제공된다. MCC를 이용하는 위치 필터링의 기술들은 다른 국가들 및 대륙들에 적용가능하다.
이동 장치(112)는 액세스 포인트(125)를 통해 무선 통신 네트워크에 접속될 수 있다. 액세스 포인트들(125)은 유선 네트워크에 접속되도록 무선 장치들에 대한 통신 허브 역할을 할 수 있는 하드와이어 장치 또는 컴퓨터 소프트웨어를 포함할 수 있다. 다수의 액세스 포인트들(125)이 영역(예를 들어, 사무실 빌딩 또는 공항) 내에서 분배될 수 있다. 액세스 포인트(125)는 액세스 포인트(125)가 서비스 제공할 수 있는 위치와 관련될 수 있다. 예를 들어, 액세스 포인트(125a)는 미합중국 캘리포니아주 샌프란시스코에 위치될 수 있으며, 특정 영역(예를 들어, 부시 스트리트 300에 위치된 빌딩)에 서비스 제공한다.
이동 장치(112)는 이동 장치(112)의 현재의 위치를 결정하기 위해 이동 장치(112)가 접속되는 액세스 포인트(125)의 위치를 이용할 수 있다. 이동 장치(112)가 액세스 포인트(125a)에 무선 접속될 때, 이동 장치(112)는 위치 데이터베이스로부터 액세스 포인트(115a)의 위치를 식별할 수 있다. 위치 데이터베이스는 액세스 포인트(115a)의 식별자(예를 들어, MAC(Media Access Control) 어드레스) 및 식별자와 관련된 위치를 저장할 수 있다. 예를 들어, 위치 데이터베이스 내의 기록은 액세스 포인트(125a)가 미합중국 캘리포니아주 샌프란시스코 부시 스트리트 300에 위치된 것을 나타내는 위도 및 경도 좌표들 37°47'27.56"N 및 122°24'08.69"W와 액세스 포인트(125a)의 식별자를 관련시킬 수 있다. 이동 장치(112)가 액세스 포인트(115a)에 무선 접속되기 때문에 액세스 포인트(115a)의 식별자를 알고 있는 이동 장치(112)는 적어도 접속시에, 이동 장치(112)가 미합중국 캘리포니아주 샌프란시스코에 위치된 것을 결정할 수 있다. 액세스 포인트(125)의 위치 및 이동 장치(112)의 현재의 위치를 결정하는 더 상세한 설명이 이하에 기재될 것이다.
액세스 포인트(125)는 이동될 수 있다. 예를 들어, 액세스 포인트(125a)는 미합중국 캘리포니아주 샌프란시스코로부터 캐나다 앨버타주 애드먼턴으로(예를 들어, 회사의 재배치로 인함) 물리적으로 이동될 수 있다. 이동된 액세스 포인트(125a)는 액세스 포인트(125b)로서 표현된다. 그러나, 위치 데이터베이스가 갱신될 때까지, 그리고 갱신되지 않으면, 위치 데이터베이스는 액세스 포인트(125b)의 실제 하드웨어 구성요소를 미합중국 캘리포니아주 샌프란시스코로서 식별하는 식별자를 여전히 관련시킨다. 그러므로, 캐나다 앨버타주 애드먼턴에 위치된 이동 장치(125b)에 현재 접속되는 이동 장치(114)는 이동 장치(114b)가 미합중국 캘리포니아주 샌프란시스코에 위치한다고 잘못 결정할 수 있다.
잘못된 위치 결정을 회피하는 하나의 방법은 이동 장치(114)의 현재의 MCC를 이용하여 위치 데이터베이스를 필터링하는 것이다. MCC는 ITU(International Telecommunication Union)이 국가에 할당한 코드이다. MCC는 각 국가에 고유하며 국가를 식별하는데 이용될 수 있다. 각 국가는 그것에 할당된 하나 이상의 MCC를 가질 수 있다. 표 1은 일부 예시적 MCC들 및 대응하는 국가들을 예시한다.
MCC | 국가 |
302 | 캐나다 |
310-316 | 미합중국 |
334 | 멕시코 |
이동 장치(114)는 이동 장치(114)의 가입자의 국가를 식별할 수 있는 가입자 MCC를 가질 수 있다. 가입자 MCC는 이동 장치(114)의 본국을 나타낼 수 있다. 예를 들어, 가입자 이동 장치(114)는 이동 장치(113)의 본국이 멕시코인 것을 나타내는 "334"일 수 있다. 게다가, 이동 장치(114)는 이동 장치들(114)이 현재 어느 국가에 위치하는 지를 나타내는 현재의 MCC를 검출할 수 있다. 예를 들어, 이동 장치(114)의 현재의 MCC는 이동 장치(114)가 현재 캐나다에 위치하고 있음을 나타내는 "302"일 수 있다. 이동 장치(114)의 현재의 MCC는 무선 통신들 및 제어를 담당하는 이동 장치(114)의 특화된 프로세서로부터 획득될 수 있다. 각종 구현들에서, 특화된 프로세서들은 베이스밴드 프로세서들, GMS 무선 모뎀들, 및 UMTS 무선 모뎀들로 알려질 수 있다. 본 명세서에서, 다르게 지정되지 않으면, 용어 MCC는 이동 장치의 홈 MCC보다는 오히려 이동 장치의 현재의 MCC를 지칭하는데 이용될 것이다.
이동 장치(114)는 현재의 MCC를 이용하여, 위치 데이터베이스 내의 기록이 현재의 MCC와 일관되는지를 판단함으로써 위치 데이터베이스를 필터링할 수 있다. 예를 들어, 이동 장치(114)는 현재의 국가가 캐나다인 것을 나타내는 현재의 MCC("302")와 미합중국 캘리포니아주 샌프란시스코에 대응하는 위치를 갖는 액세스 포인트(125b)가 일치하지 않는 것을 결정할 수 있다. 샌프란시스코가 캐나다에 위치되지 않기 때문에, 이동 장치(114)는 위치 데이터베이스에서 액세스 포인트(125b)에 대한 기록이 잘못되었으며, 데이터베이스로부터 이 기록을 제거하는 것을 결정할 수 있다.
액세스 포인트(125b)의 위치가 현재의 MCC와 일관되는지를 결정하기 위해, 시스템은 각 MCC의 바운딩 박스들인 폴리곤들을 발생시키며 액세스 포인트(125b)의 위치가 올바른 폴리콘 내부에 있는지를 판단할 수 있다. 예를 들어, 바운딩 박스(100)는 MCC("302")(캐나다)에 대응할 수 있다. 바운딩 박스들(102)은 MCC들("310", "311", "312", "313", "314", "315", 및 "316")(미합중국)에 대응할 수 있다. 바운딩 박스(104)는 MCC("334")(멕시코)에 대응할 수 있다. 명확화를 위해, 다른 북아메리카 국가들에 대한 바운딩 박스들은 도 1에 도시되어 있지 않다. 액세스 포인트(125b)의 위치는, 위치 데이터베이스에 기록된 바와 같이, 위도 및 경도를 포함할 수 있다. 예를 들어, 위치 데이터베이스 내의 기록은 액세스 포인트(125b)가 미합중국 캘리포니아주 샌프란시스코 부시 스트리트 300에 위치되는 것을 나타내는 위도 및 경도 좌표들 37°47'27.56"N 및 122°24'08.69"W와 액세스 포인트(125b)의 식별자를 관련시킬 수 있다. 이 위치는 캐나다에 대한 바운딩 박스(100) 외부에 있다. 그러므로, 이동 장치(114)는 위치 데이터베이스로부터 기록을 제거하고, 이동 장치(114)의 현재의 위치를 추정하기 위해 다른 액세스 포인트를 이용할 수 있다.
시스템은 MCC와 관련된 국가의 바운딩 박스(예를 들어, 바운딩 박스(100))를 결정하기 위해 각종 알고리즘들을 이용할 수 있다. 국가(예를 들어, 캐나다)는 정점들이 위도/경도 좌표들로 저장될 수 있는 하나 이상의 단순 폴리곤들로서 표현될 수 있다. 국가의 바운딩 박스는 예를 들어 Akl-Toussaint 휴리스틱스 또는 Melkman 알고리즘에 의해 결정되는 국가의 단순 폴리곤의 컨벡스 헐(convex hull)일 수 있다. 일부 구현들에서, 국가의 바운딩 박스는 국가의 경계들 내의 극단 지점들(예를 들어, 가장 동쪽, 가장 서쪽, 가장 북쪽, 및 가장 남쪽 지점들)에 의해 결정될 수 있다. 바운딩 박스는 메르카토르 도법을 이용하여 그려진 맵 상의 실질적으로 직사각형의 영역(예를 들어, 바운딩 박스들(100, 102 및 104))일 수 있다. 바운딩 박스는 2개의 지점들(예를 들어, 그 북서 정점 및 그 남동 정점)의 위도/경도 좌표들을 이용하여 저장될 수 있다.
예를 들어, 캐나다의 바운딩 박스(100)는 캐나다 경계 내의 북단 지점인 누나부트 엘즈미어섬 컬럼비아곶의 위도에 대응하는 위도 83°08'N에 의해 윤곽이 정해진 북쪽 경계를 가질 수 있다. 바운딩 박스(100)는 캐나다의 남단 지점인 온타리오주 미들 섬의 위도에 대응하는 위도 41°41'N에 의해 윤곽이 정해진 남쪽 경계를 가질 수 있다. 바운딩 박스(100)는 경도 52°37'W(뉴펀들랜드 스피어곶)에 의해 윤곽이 정해진 동쪽 경계, 및 경도 141°00'W(알래스카 국경 유콘)에 의해 윤곽이 정해진 서쪽 경계를 가질 수 있다. 바운딩 박스(100)는 2개의 좌표 세트들(예를 들어, 83°08'N/141°00'W 및 41°41'N/52°37'W)로 저장될 수 있다.
일부 국가들(예를 들어, 미합중국)은 다수의 단순 폴리곤들(예를 들어, 대륙의 48 주, 알래스카 및 하와이)로서 표현될 수 있다. 다수의 단순 폴리곤들로서 표현될 수 있는 국가들은 다수의 바운딩 박스들(예를 들어, 알래스카에 대한 바운딩 박스들(102a), 대륙의 48 주에 대한 바운딩 박스(102b), 및 하와이에 대한 바운딩 박스(102c))을 가질 수 있다. 여러 국가들의 바운딩 박스들은 예를 들어 바운딩 박스들(100 및 102a) 사이의 중첩 영역에 도시된 바와 같이 중첩될 수 있다.
바운딩 박스들은 MCC들과 관련하여 이동 장치 상에 저장될 수 있다. 예를 들어, 이동 장치(114)는 MCC들 및 대응하는 바운딩 박스들이 저장되는 지리적 데이터베이스를 저장하거나, 이에 접속될 수 있다. MCC("302")(캐나다)는 예컨대 바운딩 박스(100)의 북서 정점 및 남동 정점과 관련될 수 있다.
현재의 MCC가 "302"인 이동 장치(114)가 액세스 포인트(125b)에 접속되며, 위치 데이터베이스로부터 액세스 포인트(125b)의 위치를 식별할 때, 이동 장치(114)는 그 위치가 바운딩 박스(100) 내부에 있는 지를 판단하기 위해 그 위치와 바운딩 박스(100)를 비교할 수 있다. 각종 알고리즘들(예를 들어, 레이 캐스팅 알고리즘 또는 와인딩 넘버 알고리즘)이 위치가 바운딩 박스(100) 내부에 있는지를 판단하는데 이용될 수 있다. 예를 들어, 바운딩 박스(100)가 북서 정점 및 남동 정점에 의해 표현될 때, 액세스 포인트(125b)의 위치의 위도 및 경도 좌표들은 액세스 포인트(125b)의 위치가 바운딩 박스(100)의 실질적으로 직사각형의 영역 내에 위치되는지를 판단하기 위해 정점들의 위도 및 경도 좌표들과 비교될 수 있다.
액세스 포인트(125b)의 위치가 현재의 MCC("302")와 관련된 바운딩 박스(100) 내부에 있다고 결정하면, 이동 장치(114)는 액세스 포인트(125b)의 위치를 이용하여 이동 장치(114)의 현재의 위치를 추정하기 위해 진행될 수 있다. 액세스 포인트(125b)의 위치(예를 들어, 37°47'27.56"N 및 122°24'08.69"W)가 바운딩 박스(100)(83°08'N/141°00'W 및 41°41'N/52°37'W) 외부에 있는 것이 결정되면, 이동 장치(114)는 이동 장치(104)의 현재의 위치를 추정하기 위해 통신 범위 내에서 다른 액세스 포인트를 이용할 수 있다. 이동 장치(104)는 또한, 위치 데이터베이스를(예를 들어, 액세스 포인트(125b)의 위치를 "더티(dirty)"로 마킹하여 액세스 포인트(125b)와 관련된 기록을 삭제함으로써) 갱신할 수 있다. 따라서, 이동 장치(114)는 잘못된 현재의 위치의 디스플레이를 회피할 수 있다.
무선 액세스 포인트들의 위치들의 결정
도 2a는 무선 액세스 포인트들의 위치들을 결정하는 기술들의 개요이다. 편의상, 기술들은 무선 액세스 포인트들의 위치들을 결정하는 기술들을 구현하는 시스템과 관련하여 설명될 것이다.
WLAN(wireless local area network)은 다수의 액세스 포인트들(155)을 포함하는 무선 통신 네트워크일 수 있다. 액세스 포인트(155)는 각종 통신 프로토콜들을 이용하여 무선 장치들(예를 들어, 이동 장치들(158 및 160))과 통신할 수 있다. 일부 구현들에서, 액세스 포인트(155)는 WiFi™ 네트워크의 액세스 포인트일 수 있으며, 그것은 IEEE(Institute of Electrical and Electronics Engineers) 802.11-기반 프로토콜(예를 들어, IEEE 802.11a)을 구현한다. 일부 구현들에서, 액세스 포인트(155)는 WiMAX(worldwide interoperability for microwave access) 네트워크의 액세스 포인트일 수 있으며, 그것은 IEEE 802.16 기반 프로토콜(예를 들어, IEEE 802.16-1554 또는 IEEE 802.16e-1555)을 구현한다. 액세스 포인트(155)는 액세스 포인트(155)의 구성 및 물리적 환경을 포함하는 요인들에 따라, 액세스 포인트(155)의 위치로부터 10보다 작은 미터에서 수백 미터까지 도달할 수 있는 통신 범위를 가질 수 있다. 다수의 무선 장치들(158 및 160)은 이동 장치들(158 및 160)이 액세스 포인트(155)의 통신 범위 내에 있을 때 액세스 포인트에 접속될 수 있다. 차례로, 다수의 액세스 포인트들(155)은 접속을 위한 단일 이동 장치(158 또는 160)에 이용가능할 수 있다. 이동 장치들(158 및 160)은 각종 요인들에 기초하여 이동 장치들(158 및 160)이 접속되는 특정 액세스 포인트(155)를 선택할 수 있다. 예를 들어, 선택은 이동 장치(158)가 액세스 포인트(155a)에 접속되도록 인가되는지, 또는 액세스 포인트(155a)가 이동 장치들(158)에 무선 접속을 위한 가장 강한 신호를 제공할 수 있는지에 기초할 수 있다.
시스템은 액세스 포인트들(155)과 관련되는 위치 영역들(165)을 결정할 수 있다. 위치 영역들(165)은 액세스 포인트들(155)에 접속되는 이동 장치들(158)이 위치되기 쉬운 곳을 나타내도록 계산될 수 있다. 시스템은 액세스 포인트들(155)에 접속되는 이동 장치들(158)로부터 알려진 위치들에 기초하여 결정할 수 있다. 이동 장치들(158)은 위치 인식 이동 장치들, 예를 들어 GPS(Global Positioning System) 신호들을 수신하며 GPS 신호들을 이용하여 위치들을 결정할 수 있는 수신기들을 내장하거나 이들과 연결되는 GPS 가능 이동 장치들일 수 있다. 위치 인식 이동 장치들(158)은 도 2a에 검은 삼각형들로서 표현된다. 위치 인식 이동 장치들(158)이 특정 액세스 포인트(155)(예를 들어, 액세스 포인트(155a))에 접속될 때, 위치 인식 이동 장치들(158)은 액세스 포인트(155a)에 장치들의 위치들을 송신할 수 있다. 액세스 포인트(155a)는 시스템에 액세스 포인트(155a)의 식별자뿐만 아니라 송신을 릴레이할 수 있다. 시스템은 액세스 포인트(155a)에 접속되는 임의의 이동 장치(158 또는 160)가 위치될 가능성이 가장 높은 추정된 위치 영역(165a)을 결정할 수 있다. 본 명세서에서, 추정된 위치 영역들(165)은 이동 장치(158 또는 160)가 특정 액세스 포인트(155)에 접속될 때 존재하기 쉽다는 것을 나타내기 위해 존재 영역들로 지칭될 것이다.
존재 영역들(165)을 계산하기 위해, 시스템은 반복 처리를(예를 들어, 멀티 패스 분석을 수행함으로써) 적용할 수 있다. 반복 처리는 원으로서 액세스 포인트(예를 들어, 액세스 포인트(155))와 관련되는 존재 영역(예를 들어, 존재 영역(165))을 결정할 수 있다. 원은 액세스 포인트(155)에 무선 접속되는 위치 인식 이동 장치들(158)의 위치들에 기초하여 계산된 평균 지리적 위치에 대응하는 중심을 가질 수 있다. 원은 에러 마진에 대응하는 반경을 가질 수 있으며, 그것은 예를 들어 이동 장치(158)의 위치와 평균 지리적 위치 사이의 거리에 의해 결정될 수 있다. 반복 처리에 관한 더욱 상세한 설명은 도 2 및 3과 관련하여 이하에 설명될 것이다. 반복 처리는 액세스 포인트들(155)의 잠재적인 이동을 포착할뿐만 아니라 하루의 상이한 시간 동안의 상이한 무선 액세스 사용 패턴을 포착하기 위해 주기적으로(예를 들어, 6시간마다) 실행될 수 있다.
시스템은 액세스 포인트들(155)에 접속되는 비GPS 가능 이동 장치들(예를 들어, 이동 장치(160))을 포함하는 이동 장치들에 존재 영역들(165)의 정보를 송신하여, 수신측 이동 장치들이 존재 영역들(165)을 이용하여 장치들의 추정된 위치들을 결정할 수 있도록 할 수 있다. 예를 들어, 이동 장치(160)가 액세스 포인트(155b)에 접속되면, 이동 장치(160)의 위치는 액세스 포인트(155b)와 관련된 존재 영역(165b)과 일치하는 것으로서 추정될 수 있다.
소정의 영역(예를 들어, 공항)에서, 다수의 액세스 포인트들(155)이 존재할 수 있다. 게다가, 이동 장치(160)가 이동될 수 있으므로, 이동 장치(160)의 통신 범위 내에 직접 있는 것이 아니라 이동 장치(160)에 충분히 인접한 액세스 포인트들의 위치들을 송신하여, 이동 장치(160)가 그 위치들을 이용하여 자신의 이동을 추적할 수 있도록 하는 것이 논리적일 수 있다. 이동 장치(160)에 대량의 위치 데이터의 송신을 회피하기 위해, 시스템은 세계에 존재하는 단일 액세스 포인트 마다의 위치 데이터보다는 오히려 단지 제한된 수의 액세스 포인트들(예를 들어, 액세스 포인트(155a))의 위치 데이터가 송신되도록 액세스 포인트들(155) 및 위치 영역들(165)을 필터링할 수 있다. 필터링은 위치들(165) 및 액세스 포인트들(155)의 대중성, 안정성, 수명, 및 신선도를 포함하는 각종 요인들에 기초할 수 있다.
위치들(165) 및 액세스 포인트들(155)을 필터링하기 위해, 시스템은 셀들(152)을 포함하는 지리적 그리드(150)를 생성할 수 있다. 셀(152)은 실질적으로 직사각형의 형상을 갖는 폴리곤일 수 있으며, 폴리곤은 지리적 영역의 식별 포인트(예를 들어, 중심, 또는 코너)의 위도 및 경도와, 사이즈(예를 들어, 경도의 각도로 측정된 길이, 및 위도의 각도로 측정된 폭)에 의해 지리적 그리드(150) 상에서 식별가능한 지리적 영역에 대응한다. 각 셀(152)은 특정 수의 위치들을 포함할 수 있는 컨테이너로서 이용될 수 있다. 예를 들어, 셀(152)은 길이가 0.0005도 자오선(대략 56 미터)이며 폭이 0.0005도 위도(미터의 폭은 위도에 따라 변경될 수 있음)인 직사각형일 수 있다. 셀(152)은 액세스 포인트들(155)에 대응하는 다수의(예를 들어, 3개의) 존재 영역들(165)을 유지하도록 구성될 수 있다. 일부 구현들에서, 셀(152)은 존재 영역(165)의 중심이 셀(152)의 경계들 내에 위치되면 존재 영역(165)을 "보유"할 수 있다. 존재 영역들(165)은 하나 이상의 신뢰성 요인들에 기초하여 셀(152)에 위치되는 모든 존재 영역들(165)로부터 선택될 수 있다. 선택은 대중성, 안정성, 수명, 및 신선도와 같은 각종 기준에 기초할 수 있다.
특정 액세스 포인트(예를 들어, 액세스 포인트(155b)) 및 액세스 포인트(예를 들어, 존재 영역(165b))와 관련된 존재 영역은 동일한 셀(152)에 위치될 필요가 없다. 이것은 예를 들어 액세스 포인트(155b)가 셀(152a) 내의 빌딩 상에 위치되며 액세스 포인트(155b)에 접속되는 대부분의 이동 장치들(158)은 셀(152b) 내의 다른 빌딩에 위치될 때 발생할 수 있다. 일부 구현들에서, 시스템은 액세스 포인트(155b)의 실제 위치를 무시할 수 있다.
이동 장치(160)는 액세스 포인트(예를 들어, 관련된 존재 영역(165a)이 셀(152c)에 위치되는 액세스 포인트(155a))에 접속될 때, 이동 장치(160)는 시스템으로부터 위치 갱신을 수신할 수 있다. 위치 갱신은 존재 영역(165a)이 위치된 동일한 셀(예를 들어, 셀(152c))에 위치되는 모든 존재 영역들(165)을 포함할 수 있다. 위치 갱신은 지리적 그리드(150) 상의 셀(152c)에 인접하는 다른 다른 셀들(152)(예를 들어, 셀(152a) 및 셀(152b))에 위치되는 존재 영역들(165)을 더 포함할 수 있다.
이동 장치(160)가 액세스 포인트(155a)에 접속될 때, 이동 장치(160)는 이용가능한 다른 액세스 포인트들(155)(예를 들어, 액세스 포인트(155b))을 검출할 수 있다. 이동 장치(160)는 이용가능한 액세스 포인트들에 대한 존재 영역들(예를 들어, 존재 영역들(165a 및 165b)을 식별할 수 있다. 이동 장치(160)는 각종 알고리즘들을 이용하여 이동 장치(160)의 현재의 위치를 계산할 수 있다. 예를 들어, 단지 하나의 존재 영역(165a)이 식별될 때, 이동 장치(160)는 이동 장치(160)의 현재의 위치로서 존재 영역(165a)을 지정할 수 있다. 2개 이상의 존재 영역들(165)이 식별될 때, 이동 장치(160)는 반복 처리(예를 들어, 멀티 패스 분석)를 이용하여 그 현재의 위치를 계산할 수 있다. 반복 처리는 존재 영역들의 평균 위치를 계산하고, 존재 영역들과 평균 위치 사이의 거리들을 계산하며, 평균 위치로부터 가장 멀리 떨어진 존재 영역들을 배제할 수 있다. 이동 장치(160)는 이동 장치(160)의 위치를 결정하기 위해 정밀도 요건이 만족될 때까지 반복을 되풀이할 수 있다. 이동 장치(160)는 이동 장치(160)의 현재의 위치로서 평균 위치를 지정해서 맵 디스플레이 장치 상에 평균 위치를 디스플레이할 수 있다.
일부 구현들에서, 시스템으로부터 이동 장치(160) 상에 수신된 위치 갱신은 존재 영역(165a) 주위의 충분히 넓은 영역(예를 들어, 1 또는 2 제곱 킬로미터)이 커버될 수 있도록 다수의 인접하는 셀들을 포함할 수 있다. 넓은 영역을 커버하는 위치 갱신에 기초하여, 이동 장치(160)는 이동 장치(160)가 이동될 때 빈번한 갱신들을 요청해야 하는 것을 회피할 수 있다. 이동 장치(160)는 예를 들어 이동 장치(160)가 유휴이거나 다르게 이용가능한 통신 대역폭을 가질 때 갱신된 존재 영역 정보를 수신할 기회를 가질 수 있다.
도 2b는 3차원 공간에서 무선 액세스 포인트들의 위치들을 결정하는 것을 예시한다. 일부 위치 인식 이동 장치들(158)(예를 들어, GPS 가능 장치들)은 3차원 공간에서 위치들을 식별할 수 있다. 위치들은 위도들, 경도들, 및 고도들에 의해 표현될 수 있다. 고도들은 예를 들어 해수면으로부터 미터로 측정된 고도(elevation)로서 표현될 수 있다. 3차원 공간에서 이동 장치를 위치시키는 것은 이동 장치의 고도가 이동 장치의 위치를 알아내는 데 필요할 때 바람직할 수 있다. 예를 들어, 고도는 고층 빌딩에서 이동 장치가 위치되는 층을 결정하는데 이용될 수 있다. 3차원 공간에서의 이동 장치(158)의 위치는 애노테이션(annotation)으로서 고도를 갖는 2차원 맵 상에, 또는 3차원 맵 상에 디스플레이될 수 있다.
이동 장치들(158)은 액세스 포인트(176)에 접속될 수 있다. 이동 장치들(158)은 시스템에 위도, 경도, 및 고도 좌표들을 포함해서 그의 위치들을 송신할 수 있는 위치 인식 이동 장치들일 수 있다. 시스템은 이동 장치들(158)로부터 수신된 위도, 경도, 및 고도 좌표들에 기초하여 평균 위치를 계산할 수 있다. 중심으로서 평균 위치를 그리고 반경으로서 에러 마진을 갖는 3차원 공간(174)은 액세스 포인트(176)와 관련될 수 있다. 공간(174)은 이동 장치가 액세스 포인트(176)에 접속될 때 이동 장치가 위치되기 쉬운 공간을 나타낼 수 있다. 본 명세서에서, 공간(174)은 존재 공간으로 지칭될 것이다.
시스템은 액세스 포인트(176)에 접속되는 이동 장치들에 존재 공간(174)에 대한 정보를 송신할 수 있다. 정보를 수신하는 이동 장치들은 그 정보를 이용하여 자신의 지리적 위치들을 결정할 수 있다. 시스템은 3차원 지리적 공간을 3차원 그리드(170)로 분할할 수 있다. 3차원 그리드(170)는 3차원 셀들(172)로 구성될 수 있다. 각 3차원 셀(172)은 지리적 그리드(150)의 셀(152)에 대응하는 2차원 영역에 대한 투영을 가질 수 있다. 각 3차원 셀(172)은 차원으로서 높이(예를 들어, 미터로 측정됨)를 가질 수 있다. 존재 공간(174)은 존재 공간(174)의 중심이 셀(172)에 있으면 셀(172)에 위치되는 것으로 참조될 수 있다. 시스템은 존재 공간의 대중성(예를 들어, 존재 공간 내의 이동 장치들(158)로부터 액세스 포인트(176)로 얼마나 많은 접속들이 이루어지는지), 존재 공간(174)의 안정성(예를 들어, 존재 공간(174)이 얼마나 안정한지), 액세스 포인트(176)의 수명(예를 들어, 액세스 포인트(176)가 얼마나 오래 존재하는지), 및 존재 공간(174)의 신선도(예를 들어, 액세스 포인트(176)에 접속되는 이동 장치(158)로부터 최신의 위치 전송이 수신되었을 때)에 기초하여 셀(172)에서 존재 공간들의 수를 제한할 수 있다.
시스템은 액세스 포인트(176)에 접속되는 이동 장치(예를 들어, 이동 장치(160))에 3차원 그리드(170)의 3차원 셀들(172)에 기초한 존재 공간(174) 및 인접하는 존재 공간들에 대한 정보를 송신할 수 있다. 이동 장치(160)는 이 정보를 이용하여, 3차원 공간에서 이동 장치(160)의 현재의 위치를 추정하며, 3차원 맵 상에서 추정된 현재의 위치를 디스플레이할 수 있다.
무선 액세스 포인트들의 위치들을 결정하기 위한 예시적 서버 측 프로세스 및 시스템
도 3a-3c는 무선 액세스 포인트들의 위치들을 결정하는 예시적 단계들을 예시한다. 편의상, 기술들은 기술들을 구현하는 서버를 포함하는 시스템에 관하여 설명될 것이다.
도 3a는 액세스 포인트(155)와 관련된 존재 영역을 결정하는데 이용될 수 있는 멀티 패스 분석의 예시적 단계를 예시한다. 액세스 포인트(155)는 커버리지 영역(202)을 가질 수 있으며, 그것은 액세스 포인트(155)의 송신기의 신호 강도 및 다른 요인들(예를 들어, 액세스 포인트(155)를 둘러싸는 지리적 영역들의 물리적 특성들)에 의해 결정될 수 있다. 커버리지 영역(202) 내에 위치되는 이동 장치들(158)은 액세스 포인트(155)에 무선 접속될 수 있다. 액세스 포인트(155)는 이동 장치들(158)이 다양한 게이트웨이들을 통해 유선 네트워크에 접속되게 할 수 있다. 유선 네트워크는 데이터 네트워크(예를 들어, 인터넷), PSTN(public switched telephone network), 다른 디지털 또는 아날로그 네트워크들, 또는 상술한 것의 조합을 포함할 수 있다.
이동 장치(158)는 위치 인식 이동 장치들(예를 들어, GPS 가능 이동 장치들)을 포함할 수 있다. 각 위치 인식 이동 장치들(158)(도 3a의 검은 삼각형으로 표현됨)은 자신의 현재의 지리적 위치를 검출할 수 있다. 현재의 지리적 위치는 이동 장치(158)의 위도 및 경도를 포함하는 지리적 좌표들에 의해 표현될 수 있다. 이동 장치들(158)이 액세스 포인트(155)와 통신할 때, 이동 장치들(158)은 액세스 포인트(155)를 통해 시스템에 위치 정보를 송신할 수 있다. 위치 정보는 액세스 포인트(155)의 식별자(예를 들어, 액세스 포인트(155)의 MAC(Media Access Control) 어드레스)와 관련될 수 있다. 시스템은 다수의 이동 장치들(158)로부터 수신된 위치 정보를 이용하여 액세스 포인트(155)와 관련될 수 있는 존재 영역을 결정할 수 있다. 존재 영역은 액세스 포인트(150)가 실제로 위치되는 위치를 반드시 둘러싸는 것은 아니다. 존재 영역이 커버리지 영역(202) 내에 위치될 수 있을지라도, 존재 영역이 커버리지 영역(202)의 기하학적 위치 또는 형상에 대응하는 것이 필요하지 않다.
커버리지 영역(202)에 있어서의 이동 장치들(158)의 분배는 특정 시간(예를 들어, 액세스 포인트(155)가 위치되는 시간대(time zone)에 대한 8:30 am 현지 시간)에서의 이동 장치들(158)의 스냅샷에 대응할 수 있다. 각 이동 장치(158)는 단일 위치와 관련될 수 있다. 커버리지 영역(202)에 있어서의 이동 장치들(158)의 분배는 어느 기간(예를 들어, 4 am에서 10 am까지의 6시간) 동안 이동 장치들(158)의 위치들에 대응할 수도 있다. 각 이동 장치(158)는 다수의 위치들과 관련될 수 있다(예를 들어, 이동 장치(158)가 이동하고 있을 때). 다수의 위치들과 관련되는 단일 이동 장치(158)는 도 3a의 다수의 삼각형들에 의해 예시된 바와 같이, 시스템에서 다수의 위치들에 의해 표현될 수 있다.
서버는 이동 장치들(158)로부터 수신된 위치들 세트의 평균 지리적 위치를 결정할 수 있다. 위치들 세트는 특정 시간에 또는 특정 기간 동안 이동 장치들(158)로부터 수신된 위치들을 포함할 수 있다. 평균 지리적 위치는 원(204a)의 중심(244a)으로서 지정될 수 있다. 원(204a)의 중심(244a)은 액세스 포인트(예를 들어, 액세스 포인트(155) 또는 액세스 포인트(200))의 위치와 일치할 필요는 없다. 서버는 평균 지리적 위치와 세트 내의 각 위치 사이의 거리를 계산하며 하나 이상의 아웃라이어들을 식별할 수 있다. 아웃라이어들은 평균 지리적 위치로부터 가장 멀리 위치될 수 있는 세트 내의 위치들이다. 중심까지의 거리들이 임계값을 초과하는 아웃라이어들(예를 들어, 위치(210))은 세트로부터 배제될 수 있다. 원(204a)은 아웃라이어들이 배제된 후에 평균 지리적 위치와 현재의 세트 내의 위치들 사이의 가장 긴 거리에 대응하는 반경(245a)을 가질 수 있다.
도 3b는 도 3a의 단계에 이어서 멀티 패스 분석의 예시적 단계를 예시한다. 도 3a의 평균 지리적 위치(원(204a)의 중심(244a))까지의 거리들이 임계값을 초과하는 위치들은 세트로부터 배제되었다. 임계값은 위치들의 일정 퍼센티지(예를 들어, 도 3a의 위치들의 5 퍼센트)가 배제되도록 구성될 수 있다. 새로운 평균 지리적 위치는 세트에 남아 있는 위치들(예를 들어, 남아 있는 95 퍼센트의 위치들)에 기초하여 계산될 수 있다. 새로운 평균 지리적 위치는 예를 들어 원(204b)의 중심(244b)일 수 있다. 각종 구현들에서, 새로운 평균 지리적 위치를 계산하는 것은 세트 내의 남아 있는 위치들을 평균화하는 것, 세트 내의 중간 지리적 위치를 선택하는 것(예를 들어, 중간 위도 또는 중간 경도를 선택함으로써), 또는 다른 알고리즘들을 적용하는 것을 포함할 수 있다. 평균 지리적 위치를 계산하기 위한 알고리즘들은 멀티 패스 분석의 각 패스에서 동일하거나, 각 패스에서 서로 상이할 수 있다.
원(204b)에 의해 둘러싸여지는 영역은 아웃라이어 위치들이 배제될 때 이전 패스에서 결정된 원(204a)에 의해 둘러싸여지는 영역보다 작을 수 있다. 보다 작은 영역은 증가된 계산 정밀도를 반영할 수 있다. 원(204b)의 중심(244b)은 원(204a)의 중심(244a)과 반드시 일치하는 것은 아니다. 일부 구현들에서, 원(204b)의 반경(245b)은 원(204b)의 중심(244b)으로부터 가장 멀리 떨어져 있는 이동 장치(158)의 남아 있는 위치에 대응할 수 있다. 반경은 현재의 패스에서 계산된 존재 영역의 새로운 추정의 에러 마진을 나타낼 수 있다.
도 3c는 멀티 패스 분석의 예시적 최종 단계를 예시한다. 특정 종료 조건들이 만족될 때, 시스템은 최종 단계 후에 반복 처리를 종결시킬 수 있다. 최종 단계는 이동 장치들(158)의 위치들의 클러스터에 대응하는 최종 평균 지리적 위치를 생성할 수 있다. 최종 평균 지리적 위치는 원(204c)의 중심(244c)으로서 표현될 수 있다. 원(204c)은 최종 에러 마진에 대응하는 반경(245c)을 가질 수 있으며, 그것은 최종 평균 지리적 위치와 클러스터 내의 위치 사이의 거리에 기초한다. 원(204c)은 액세스 포인트(155)의 식별자(예를 들어, MAC 어드레스)를 통해 액세스 포인트(155)와 관련되는 존재 영역으로서 지정될 수 있다.
서버는 각종 요인들에 기초하여 위치 데이터베이스에서 액세스 포인트(155)의 식별자 및 관련된 존재 영역을 포함할지를 판단할 수 있다. 예를 들어, 서버는 지리적 그리드(150)의 셀(152)에서 존재 영역들의 수를 카운트하며, 대중성, 안정성, 및 수명에 기초하여 다수의 존재 영역들을 선택할 수 있다. 서버는 이동 장치(215)가 GPS 가능인지에 관계없이, 이동 장치(예를 들어, 이동 장치(215))에 위치 데이터베이스 내의 존재 영역들의 정보(존재 영역(204c)이 선택되면 존재 영역(204c)을 포함함)를 송신할 수 있다.
도 3d는 3차원 공간에서 무선 액세스 포인트들의 위치들을 결정하는 예시적 단계를 예시한다. 도 3d에서, 축들(X, Y, 및 Z)은 3차원 공간을 나타내는데 이용될 수 있다. 예를 들어, 축들(X, Y, 및 Z)은 경도, 위도, 및 고도 각각을 나타낼 수 있다. 편의상, 액세스 포인트(176)의 위치는 도 3d에서 X, Y, 및 Z 축들 상의 포인트 제로와 일치하도록 도시되어 있다. 일부 구현들에서, 액세스 포인트(176)의 실제 위치(예를 들어, 위도, 경도, 및 고도 좌표들)는 계산들에서 선택적이다.
도 3d의 각 삼각형은 3차원 공간에 위치된 이동 장치의 위치를 나타낼 수 있다. 위치들은 3차원 공간 내의 평면 상의 투영들(예를 들어, 투영(226))을 가질 수 있다. 평면은 임의의 고도(예를 들어, 액세스 포인트(176)의 고도)에서 정의될 수 있다. 예를 들어, 평면은 축들(X 및 Y)에 의해 정의될 수 있다. 액세스 포인트(176)는 커버리지 공간(222)에 대응할 수 있으며, 그것은 액세스 포인트(176)의 신호 강도 및 다른 제한적 요인들(예를 들어, 신호 경로에서의 층들, 천장들, 빌딩들)에 의해 결정될 수 있다.
멀티 패스 분석은 셀 공간(202)에 위치되는 위치 인식 이동 장치들(158)로부터 수신된 위치들 세트에 기초하여 WLAN의 액세스 포인트(176)와 지리적 공간을 관련시킬 수 있다. 다중 경로 분석의 패스에서, 평균 지리적 위치(예를 들어, 공간(224)의 중심)는 예를 들어 세트 내의 위치들의 위도, 경도, 및 고도 좌표들을 평균화함으로써 결정될 수 있다. 평균 지리적 위치와 커버리지 공간(222) 내의 위치들 사이의 거리들이 계산될 수 있다. 커버리지 공간(222) 내에 있지만 평균 지리적 위치로부터 충분히 멀리 떨어져 있는 위치들은 세트로부터 그리고 추가 계산들로부터 배제될 수 있다. 공간(224)의 반경은 예를 들어 세트 내의 남아 있는 위치들과 평균 지리적 위치 사이의 가장 먼 거리에 의해 결정될 수 있다.
시스템은 세트에서 평균 지리적 위치를 계산하고, 평균 지리적 위치와 세트 내의 위치들 사이의 거리들을 계산하며, 계산된 거리들에 기초하여 세트 위치들로부터 배제하는 단계들을 반복할 수 있다. 반복은 종료 조건이 만족될 때까지 계속될 수 있다. 평균 지리적 위치에서의 중심 및 평균 지리적 위치와 세트 내의 남아 있는 위치 사이의 거리에 기초하는 반경을 갖는 공간은 액세스 포인트(176)와 관련될 수 있는 존재 공간으로서 지정될 수 있다.
도 4a는 무선 액세스 포인트들의 위치들을 결정하는 예시적 프로세스(300)를 예시하는 순서도이다. 프로세스(300)는 예를 들어 WLAN의 액세스 포인트와 관련된 존재 영역 또는 존재 공간을 결정하는데 이용될 수 있다. 존재 영역 또는 존재 공간은 비GPS 가능 이동 장치의 위치를 결정하는데 이용될 수 있다. 편의상, 프로세스(300)는 프로세스(300)를 구현하는 시스템에 관하여 설명될 것이다.
시스템은 액세스 포인트(155)에 접속된 하나 이상의 제 1 이동 장치들(158)로부터 위치들 세트를 수신할 수 있다(302). 각 위치는 지리적 좌표들(예를 들어, 위도, 경도, 및 고도) 세트에 표현될 수 있다. 위치는 액세스 포인트(155)의 식별자(예를 들어, MAC 어드레스)와 관련될 수 있다. 액세스 포인트의 식별자는 액세스 포인트(155)가 시스템과 통신할 때 액세스 포인트(155)에 의해 자동적으로 공급될 수 있다. 각종 구현들에서, 위치들 세트는 기간(예를 들어, 액세스 포인트(155)가 위치되는 6 시간, 또는 6 am에서 10 am까지의 시간대)에 대응할 수 있다.
일부 구현들에서, 기간은 하루의 각종 시간들에서 특정 사용 패턴들의 특성들을 반영하도록 구성될 수 있다. 액세스 포인트(155)에 접속된 이동 장치들이 위치될 가능성이 가장 높은 영역은 하루 동안 변화되어, 특정 시간들에서 다양한 사용 패턴들을 나타낼 수 있다. 예를 들어, 기간은 "통근 시간", "집무 시간", "밤" 등에 대응할 수 있다. 하루의 시간 특성들은 이동 장치들(158)의 각종 사용 패턴들에 대응할 수 있다. 예를 들어, 통근 시간 동안, 액세스 포인트(155)와 관련된 존재 영역은 고속 도로에 또는 이 근방에 있을 수 있고; 집무 시간 동안, 액세스 포인트(155)와 관련된 존재 영역은 사무실 빌딩에 또는 이 근방에 있을 수 있으며; 밤에, 액세스 포인트(155)와 관련된 존재 영역은 특정 집중 지점없이 퍼질 수 있다. 시스템은 예를 들어 4 am에서 10 am까지 수신된 위치들에 기초하여 존재 영역을 계산하며, 10 am에서 4 pm까지 수신된 위치에 기초하여 존재 영역을 재계산하는 등을 할 수 있다. 각 특징적인 기간에 수신된 위치들은 시스템에서 세트로 그룹화될 수 있다. 위치들은 서버에 결합된 저장 장치 상의 임의의 데이터 구조(예를 들어, 관계 데이터베이스에서의 세트, 리스트, 어레이, 데이터 기록들 등)에 저장될 수 있다.
시스템은 수신된 위치들 세트의 평균에 기초하여 액세스 포인트(155)와 관련된 지리적 위치를 결정할 수 있다(304). 지리적 위치는 상술한 바와 같이 존재 영역 또는 존재 공간을 포함할 수 있다. 존재 영역 또는 존재 공간은 예를 들어 액세스 포인트(155)의 MAC 어드레스에 의해 액세스 포인트(155)와 관련될 수 있다. 일부 구현들에서, 지리적 위치를 결정하는 것은 수신된 위치들 세트 상에 멀티 패스 알고리즘을 적용하는 것을 포함하며, 각 패스에서 세트로부터 적어도 하나의 위치를 배제하는 것을 포함할 수 있다. 지리적 위치를 결정하는 것은 멀티 패스 알고리즘을 주기적으로 적용하는 것을 포함할 수 있다.
시스템은 액세스 포인트(155)의 대중성, 지리적 위치의 안정성, 및 액세스 포인트(155)의 수명을 포함하는 각종 요인들에 기초하여 지리적 그리드(예를 들어, 지리적 그리드(150)) 상의 셀(예를 들어, 셀(152))에 액세스 포인트(155) 및 액세스 포인트(155)와 관련된 지리적 위치를 할당할 수 있다(306). 일부 구현들에서, 액세스 포인트(155)의 대중성은 얼마나 많은 이동 장치들(158)이 액세스 포인트(155)에 접속되는지를 측정할 수 있다. 액세스 포인트의 대중성은 예를 들어 액세스 포인트(155)에 접속되는 이동 장치들(158)의 얼마나 많은 위치들이 기간 내에 시스템에 의해 수신되는지에 의해 측정될 수 있다.
액세스 포인트(155)와 관련된 존재 영역의 안정성은 존재 영역이 액세스 포인트(155)에 접속된 장치의 위치를 추정하는데 이용되면, 존재 영역이 얼마나 신뢰되는지를 반영할 수 있다. 액세스 포인트(155)와 관련된 존재 영역의 안정성은 예를 들어 최종 2개의 계산들에 의해 계산된 존재 영역들을 비교함으로써 측정되며, 존재 영역들 사이에서 중첩도를 결정할 수 있다. 중첩도가 높으면 높을수록, 존재 영역이 더 안정해진다.
액세스 포인트(155)의 수명은 액세스 포인트(155)와 관련된 데이터의 품질을 반영할 수 있다. 예를 들어, 보다 오랫동안 데이터베이스에 있었던 액세스 포인트는 최근에 추가된 액세스 포인트보다 더 신뢰될 수 있다. 액세스 포인트(155)의 수명은 위치 데이터베이스의 데이터 이력에 의해 측정될 수 있다.
일부 구현들에서, 데이터의 신선도는 액세스 포인트(155)와 관련된 존재 영역이 지리적 그리드(150)의 셀(152)에 할당될지를 판단하는데 이용될 수도 있다. 데이터의 신선도는 시스템이 얼마나 오래전에 이동 장치(158)로부터 가장 최근의 위치를 수신했는지에 의해 측정될 수 있다.
시스템은 대중성, 안정성, 수명, 및 신선도에 기초하여 지리적 그리드(150)의 셀(152)에 위치된 각 존재 영역을 순위화시킬 수 있다. 셀(152)에 위치되는 모든 존재 영역들(예를 들어, 액세스 포인트(155)와 관련된 존재 영역을 포함하는 3개의 존재 영역들)의 적어도 일부는 셀(152)에 할당될 수 있다. 할당된 액세스 포인트들 및 존재 영역들은 액세스 포인트(155)에 접속되는 이동 장치들(예를 들어, 이동 장치들(160))의 위치를 알아내는 데 이용될 수 있다. 비할당된 존재 영역들은 장래의 이용을 위해 위치 데이터베이스에 저장될 수 있다.
시스템은 액세스 포인트(155)에 접속되는 제 2 이동 장치(예를 들어, 이동 장치(160))에 액세스 포인트(155)와 관련된 지리적 위치를 제공할 수 있다(308). 시스템은 제 2 이동 장치에 동일한 셀에 위치된 다른 지리적 위치들뿐만 아니라 인접 셀에 할당된 액세스 포인트들과 관련된 지리적 위치들을 더 제공할 수 있다. 위치들은 요청에 따라 또는 각종 푸시 또는 브로드캐스트 기술들을 이용하여 액세스 포인트(155)로부터 제 2 이동 장치로 송신될 수 있다.
일부 구현들에서, 시스템은 3차원 위치 정보를 수신, 처리, 및 송신할 수 있다. 존재 공간들(예를 들어, 존재 공간(174))은 지리적 3차원 그리드(예를 들어, 3차원 그리드(170)) 상의 3차원 셀들(예를 들어, 3차원 셀(172))에 할당될 수 있다. 위치들은 요청에 따라 또는 각종 푸시 또는 브로드캐스트 기술들을 이용하여 액세스 포인트(176)로부터 액세스 포인트(176)에 접속되는 제 2 이동 장치로 송신될 수 있다.
도 4b는 위치들 세트를 이용하여 평균 지리적 위치를 계산하는 예시적 프로세스(304)를 예시하는 순서도이다. 편의상, 프로세스(304)는 프로세스(304)를 구현하는 시스템에 관하여 설명될 것이다.
시스템은 세트 내의 위치들을 이용하여 평균 지리적 위치를 계산할 수 있다(324). 평균 지리적 위치를 계산하는 것은 세트 내의 위치들의 위도들, 경도들, 및 고도들의 평균을 계산하는 것, 및 평균 지리적 위치로서 계산된 평균 위도, 경도, 및 고도에서의 위치를 지정하는 것을 포함할 수 있다. 일부 구현들에서, 평균 지리적 위치를 계산하는 것은 평균 지리적 위치로서 세트 내의 위치들의 중앙 위도, 중앙 경도, 및 중앙 고도에서의 위치를 지정하는 것을 포함할 수 있다.
시스템은 세트 내의 위치들과 평균 지리적 위치 사이의 거리들을 계산할 수 있다(326). 일부 구현들에서, 시스템은 유클리드 공간에서 세트 내의 각 위치들과 평균 지리적 위치 사이의 선형 거리를 계산할 수 있다. 일부 구현들에서, 시스템은 지구의 곡률을 고려하면서 세트 내의 각 위치들과 평균 지리적 위치 사이의 최단선 거리를 계산할 수 있다.
단계(326)에서 계산된 거리들은 중심과 관련된 반경으로 지정될 수 있다. 중심은 단계(324)에서 계산된 평균 지리적 위치일 수 있으며, 그것은 원(예를 들어, 원(204a))의 중심(예를 들어, 중심(244a))일 수 있다. 원의 반경(예를 들어, 반경(245a))은 위치들 세트 내의 위치와 평균 지리적 위치 사이의 적어도 하나의 거리에 기초하여 결정될 수 있다. 일부 구현들에서, 반경은 평균 지리적 위치와 세트에 남아 있는 위치 사이의 가장 긴 거리와 같을 수 있다. 일부 구현들에서, 반경은, 원(106d)이 반경 및 중심으로서의 평균 지리적 위치를 이용하여 그려질 때, 원이 세트에 남아 있는 위치들의 일정 퍼센티지(예를 들어, 80 퍼센트)를 둘러쌀 수 있는 거리일 수 있다. 반경은 비GPS 가능 이동 장치의 위치의 추정이 통계적으로 덜 중요한 에러 마진을 나타낼 수 있다.
시스템은 평균 위치와 위치 사이의 거리에 기초하여 세트로부터 적어도 하나의 위치를 배제할 수 있다(328). 일부 구현들에서, 시스템은 평균 지리적 위치까지의 거리가 임계 거리를 초과하는 위치들을 배제할 수 있다. 멀티 패스 분석의 각 패스에서, 시스템은 위치들의 집중(예를 들어, 클러스터)으로부터 떨어져서 나타나는 위치들을 배제함으로써 추정된 평균 지리적 위치의 정밀도를 증가시킬 수 있다. 위치들의 클러스터로부터 떨어져 있는 위치는 액세스 포인트(155)와 관련된 존재 영역을 추정하는데 덜 유용할 수 있으며, 배제될 수 있다. 각종 구현들에서, 임계 거리는 한 패스로부터 다음 패스까지 변경될 수 있다. 일부 구현들에서, 임계 거리는 세트 내의 위치들의 어떤 퍼센티지(예를 들어, 95 퍼센트)가 위치되는 평균 지리적 위치까지의 거리일 수 있다. 일부 구현들에서, 임계 거리는 패스들에 대응하는 거리들 세트(예를 들어, 제 1 패스에 대해서는 250 미터, 제 2 패스에 대해서는 150 미터 등)일 수 있다. 시스템은 평균 지리적 위치와 위치 사이의 거리가 임계 거리를 초과할 때 세트로부터 적어도 하나의 위치를 배제할 수 있다.
시스템은 종료 조건이 만족될 때까지 프로세스(304)의 단계들(324, 326, 및 328)을 반복할 수 있다. 시스템은 반복을 종결시키기 위해 종료 조건이 만족되는지를 결정할 수 있다(330). 일부 구현들에서, 종료 조건은 다수의 반복들이 임계 수(예를 들어, 10회)에 도달할 때 만족될 수 있다. 임계 수뿐만 아니라 배제되는 위치들의 퍼센티지는 확실성(예를 들어, 보다 큰 존재 영역은 셀 내의 이동 장치가 존재 영역에 실제로 위치되는 것을 보다 신뢰할 수 있음)과 정밀도(예를 들어, 보다 작은 존재 영역은 이동 장치의 위치를 보다 정확하게 할 수 있음) 사이의 밸런스를 미세 조정하도록 구성가능할 수 있다. 예를 들어, 퍼센티지가 95 퍼센트로 설정되며 패스들의 수가 10으로 설정될 때, 최종 패스는 모든 위치 데이터 포인트들의 약 60 퍼센트를 둘러싸는 원을 생성할 수 있다.
일부 구현들에서, 단계(330)의 종료 조건은 존재 영역 또는 존재 공간이 충분히 작을 때 만족될 수 있다. 이동 장치들이 크게 집중되는 셀들에서, 존재 영역은 추가 패스들이 정밀도를 증가시킬 필요가 없도록 충분히 작을 수 있다. 단계들(324, 326, 및 328)의 반복은 원의 반경이 임계 반경보다 아래에 도달할 때 종결될 수 있다. 예를 들어, 임계 반경은 8-10 미터일 수 있다. 임계 반경은 수신된 세트 내의 위치들의 분배 패턴(예를 들어, 수신된 위치 데이터 포인트들의 수, 위치 데이터 포인트들의 밀도, 및 셀들 내의 집중 영역들)에 기초하여 액세스 포인트에서 액세스 포인트까지 상이할 수 있다.
시스템은 적어도 하나의 계산된 거리에 기초하여 중심 및 반경으로서 평균 지리적 위치를 갖는 원으로서 지리적 영역을 지정할 수 있다(332). 지리적 영역은 액세스 포인트(예를 들어, 액세스 포인트(155))와 관련될 수 있다. 서버는 이동 장치의 디스플레이를 맵 상에 디스플레이하기 위한 지리적 영역(예를 들어, 중심 및 반경)을 제공할 수 있다. 중심은 위도들 및 경도들로 표현될 수 있다. 거리들이 3차원 공간들에서 계산되는 일부 구현들에서, 중심은 고도로 더 표현될 수 있다.
도 4c는 무선 액세스 포인트들의 위치들을 결정하는 기술들을 구현하는 예시적 시스템을 예시하는 블록도이다. 시스템은 하나 이상의 프로세서들, 명령어들을 저장하는 하나 이상의 메모리 장치들, 및 다른 하드웨어 또는 소프트웨어 구성요소들을 포함할 수 있다. 시스템은 액세스 포인트(예를 들어, 액세스 포인트(155))와 관련될 존재 영역 또는 존재 공간을 결정하는데 이용될 수 있는 위치 엔진(350)을 포함할 수 있다.
위치 엔진(350)은 각종 액세스 포인트들을 통해 각종 이동 장치들로부터 데이터를 수신할 수 있는 데이터 수집 모듈(352)을 포함할 수 있다. 데이터는 액세스 포인트 이동 장치들(158)이 접속되는 것을 나타내는 액세스 포인트들의 식별자들(예를 들어, 액세스 포인트들(155)의 MAC 어드레스들)뿐만 아니라, 하나 이상의 위치 인식 이동 장치들(예를 들어, 이동 장치들(158))의 위치들을 나타낼 수 있는 다수의 데이터 포인트들을 포함할 수 있다. 일부 구현들에서, 데이터 포인트들은 또한 어느 시간대에 이동 장치들(158)이 위치되는 지에 관한 정보를 포함할 수 있다. 데이터 수집 모듈(352)은 데이터 수신 모듈(354)을 포함할 수 있으며, 그것은 이동 장치들(158) 및 데이터 인덱싱 모듈(356)로부터 송신된 데이터를 수신할 수 있다. 데이터 인덱싱 모듈(356)은 수신된 데이터 포인트들 상에서 각종 처리를 수행할 수 있다. 예를 들어, 데이터 인덱싱 모듈(356)은 셀 ID들에 기초하여 위도들, 경도들, 및 고도들을 분류할 수 있다. 데이터 인덱싱 모듈(356)은 기간들에 기초하여 데이터를 세트로 그룹화할 수도 있다. 예를 들어, 새로운 수신된 위치들 세트는 구성가능한 기간(예를 들어, 6 시간) 동안 생성될 수 있다.
이동 장치들(158)의 수신된 위치들 세트들은 데이터 포인트 데이터베이스(360)에 저장될 수 있다. 데이터 포인트 데이터베이스(360)는 각종 이동 장치들(158)의 현재 및 이력 위치들을 저장할 수 있다. 데이터 포인트 데이터베이스(360)는 애드 혹 데이터베이스, 관계형 데이터베이스, 및/또는 객체 지향 데이터베이스를 포함할 수 있다. 데이터 포인트 데이터베이스(360)는 위치 엔진(350)에 대하여 로컬로 또는 원격으로 호스팅될 수 있다.
위치 계산 모듈(364)은 데이터 포인트들 데이터베이스(360) 내의 데이터 포인트 세트들에서 평균 지리적 위치를 계산하고, 평균 지리적 위치와 각종 데이터 포인트들의 위치들 사이의 거리들을 계산하며, 추가 계산을 위해 세트들로부터 위치들을 배제하는데 이용될 수 있다. 위치 계산 모듈(364)은 특정 세트에 대해 종료 조건에 도달할 때까지 특정 세트(예를 들어, 셀 ID와 관련된 데이터 포인트들 세트)에 대한 계산들을 수행할 수 있다. 위치 계산 모듈(364)은 각 액세스 포인트(예를 들어, 액세스 포인트(155))에 대한 존재 영역들 또는 존재 공간들을 결정할 수 있다.
일부 구현들에서, 위치 계산 모듈(464)은 유효성 체커(366)를 이용해서 데이터 포인트들 내의 각종 기준 및 각종 데이터에 기초하여 존재 영역들 또는 존재 공간들에 대해 유효성 체크들을 수행할 수 있다. 예를 들어, 이동 장치들(158)로부터 수신된 데이터 포인트들은 이동 국가 코드(MCC) 및 시간대 정보를 포함할 수 있다. 유효성 체커(366)는 계산된 존재 영역 또는 존재 공간을 MCC들에 의해 표현되는 국가들에 대응하는 폴리곤들 및 시간대들에 대응하는 폴리곤들와 비교할 수 있다. 계산된 존재 영역 또는 존재 공간이 폴리곤들 외부에 위치되면, 유효성 체커(366)는 변칙을 등록하고 액세스 포인트를 제거할 수 있다.
위치 필터링 엔진(368)은 존재 영역 또는 존재 공간이 액세스 포인트에 현재 접속되는 이동 장치의 위치를 추정하는데 이용될 수 있는지를 판단할 수 있다. 위치 필터링 엔진(368)은 지리적 영역을 지리적 그리드(150)의 셀들(152), 또는 3차원 그리드(170)의 3차원 셀들(172)로 분할할 수 있다. 위치 필터링 엔진(368)은 대중성, 안정성, 수명, 및 신선도에 기초하여 존재 영역들 또는 존재 공간들을 순위화할 수 있다. 위치 필터링 엔진(368)은 셀(152) 또는 3차원 셀들에 각 셀(152) 또는 3차원 셀(172)에 위치되는 최상위의 존재 영역들 또는 존재 공간들을 할당할 수 있다.
존재 영역들 및 존재 공간들은 위치들 세트의 평균 위도, 경도, 및 고도 좌표들을 갖는 중심에 의해 정의될 수 있다. 존재 영역들 및 존재 공간들은 위치들 세트 내의 위치들로부터 중심으로의 거리들에 기초하여 결정된 반경에 의해 더 정의될 수 있다. 존재 영역들 및 존재 공간들에 대한 중심들의 위도, 경도, 및 고도 좌표들, 및 존재 영역들 및 존재 공간들의 반경은 위치 데이터베이스(372)에 저장될 수 있다. 위치 데이터베이스(372)는 할당된 및 비할당된 존재 영역들 및 존재 공간들 둘 다를 저장할 수 있다. 비할당된 존재 영역들 또는 존재 공간들은 후속 계산들에서 위치 계산 모듈(364)에 의해 할당될 수 있다. 위치 데이터베이스(372)는 위치 계산 모듈(364)에 의해 주기적으로 갱신될 수 있다.
위치 데이터베이스(372)의 데이터는 데이터 분배 모듈(376)을 이용하여 이동 장치들에 분배될 수 있다. 데이터 분배 모듈(376)은 이동 장치들로부터 요청들을 수신하지 않고, 브로드캐스팅을 통해, 또는 각종 푸시 기술을 이용하여 요청 시 이동 장치들(예를 들어, 비GPS 가능 이동 장치(160))에 액세스 포인트들과 관련되는 할당된 존재 영역들 및 존재 공간들(예를 들어, 중심 좌표들 및 반경들)의 정보를 송신할 수 있다.
일부 구현들에서, 데이터 분배 모듈(376)은 하나의 전송 세션에서 이동 장치들에 다수의 존재 영역들 및 존재 공간들을 송신할 수 있다. 이동 장치의 통신 대역폭들을 소비할 수 있는 이동 장치들에 대한 위치 전송들의 수를 감소시키기 위해, 데이터 분배 모듈(376)은 이동 장치(160)가 위치되는 셀에 인접하는 셀들의 위치를 알아내는 인접 로케이터(378)를 이용할 수 있다. 인접하는 셀들은 예를 들어 셀 및 주위 셀들의 전체 영역이 어떤 지리적 영역(예를 들어, 1 또는 2 제곱 킬로미터)을 커버하도록 이동 장치(160)가 위치되는 셀을 둘러싸는 다수의 셀들을 포함할 수 있다. 이동 장치(160)에 다수의 셀들(예를 들어, 400 셀들)과 관련되는 존재 영역들 및 존재 공간들에 대한 정보를 송신하는 것은 이동 장치(160)가 셀들을 가로질러 이동할 때 전송들의 수를 감소시킬 수 있다. 그러한 구현들에서, 데이터 분배 모듈(376)은 이동 장치(160)가 이전에 송신된 모든 셀들 밖으로 이동할 때 이동 장치(160)에 갱신을 송신하기만 하면 된다.
위치들 필터링을 이용한 이동 장치들의 위치들의 결정
도 5a는 무선 액세스 포인트들의 위치들을 이용하여 이동 장치들의 위치들을 결정하기 위한 기술들을 예시한다. 이동 장치(400)는 그 위치를 결정하기 위해 무선 액세스 포인트들의 위치들을 이용할 수 있는 예시적 이동 장치일 수 있다. 액세스 포인트들(400)을 포함하는 통신 네트워크의 예시적 부분이 예시된다.
이동 장치(400)는 액세스 포인트(404a)에 무선 접속될 수 있다. 액세스 포인트(404a)로부터, 이동 장치(400)는 인접하는 액세스 포인트들의 존재 영역들 또는 존재 공간들(존재 영역들(406)을 포함함)에 대한 정보를 포함하는 데이터를 수신할 수 있다. 이동 장치(400)는 저장 장치 상에 수신된 데이터를 저장할 수 있다. 저장된 데이터는 주기적으로 갱신될 수 있다.
도시된 예에서, 이동 장치(400)는 액세스 포인트(400a)에 접속된다. 게다가, 이동 장치(400)는 액세스 포인트들(404b, 404c, 및 404d)에 대한 통신 범위들 내에 있다. 이동 장치들(400)은 WLAN(예를 들어, IEEE 802.11a)에 이용되는 무선 통신 프로토콜들 하에 액세스 포인트들(404a, 404b, 404c, 및 404d)을 식별할 수 있다. 액세스 포인트들(404a, 404b, 404c, 및 404d)은 액세스 포인트들의 MAC 어드레스들 또는 다른 식별자들(예를 들어, Bluetooth™ 식별자들)에 의해 식별될 수 있다.
이동 장치(400)는 액세스 포인트들(404a-d)과 관련되는 존재 영역들(406a, 406b, 406c, 및 406d)을 각각 식별할 수 있다. 존재 영역들(406a-d)을 식별하는 것은 이동 장치(400)에 연결된 메모리 장치로부터 존재 영역들(406a-d)에 대한 정보를 검색하는 것을 포함할 수 있다. 일부 구현들에서, 이동 장치(400)는 액세스 포인트들(404a-d)의 서버 식별자들에 송신함으로써 서버로부터 존재 영역들(406a-d)을 요청할 수 있다.
존재 영역들(406a-d)에 기초하여, 이동 장치(400)는 존재 영역들(406a-d) 상에서 반복 처리(예를 들어, 멀티 패스 분석)를 실행할 수 있다. 반복 처리는 지리적 영역(402)을 생성할 수 있으며, 그것은 이동 장치(400)의 현재의 지리적 위치의 추정일 수 있다. 지리적 영역(402)은 3차원 위치 정보가 이용될 때 지리적 공간일 수 있다. 이동 장치(400)는 디스플레이 장치 상에(예를 들어, 맵 디스플레이 상에) 추정된 현재의 위치를 디스플레이할 수 있다.
도 5b는 이동 국가 코드를 이용하여 위치 필터링의 예시적 프로세스(410)를 예시하는 순서도이다. 편의상, 프로세스(410)는 프로세스(410)를 구현하는 이동 장치(400)에 관하여 설명될 것이다.
이동 장치(400)는 하나 이상의 액세스 포인트들(404)의 식별자들 및 현재의 MCC를 무선 수신할 수 있다(412). 액세스 포인트들(404)의 식별자들(예를 들어, MAC 어드레스들)은 액세스 포인트들로부터 수신될 수 있다. 액세스 포인트들은 중첩하는 커버리지 영역들을 가질 수 있다. 예를 들어, 이동 장치(400)는 다수의 액세스 포인트들(예를 들어, 액세스 포인트들(404))의 통신 범위 내에 위치될 수 있다. MCC는 셀룰러 통신 네트워크의 송수신기(예를 들어, 셀 타워)로부터 수신될 수 있다.
이동 장치(400)는 현재의 MCC에 대응하는 지리적 영역의 바운딩 박스인 폴리곤을 식별할 수 있다(414). 지리적 영역은 국가 또는 국가의 일부(예를 들어, 알래스카)에 대응할 수 있다. 폴리곤은 지리적 영역의 극단 지점들의 위도 및 경도 좌표들에 의해 정의될 수 있다. 폴리곤은 MCC와 관련하여 폴리곤을 저장하는 지리적 데이터베이스로부터 식별될 수 있다. 지리적 데이터베이스는 이동 장치(400)에 대해 로컬인 데이터베이스일 수 있다. 예를 들어, 이동 장치(400)는 로컬 지리적 데이터베이스에 MCC들에 의해 식별되는 지리적 영역들의 바운딩 박스들인 폴리곤들을 저장할 수 있다. 지리적 데이터베이스는 원격으로(예를 들어, 원격으로 위치된 서버 컴퓨터 상에) 저장될 수도 있다. 지리적 데이터베이스는 서버에 의해 미리 실장되어(pre-populated) 이동 장치(400) 상에 설치(예를 들어, 다운로드)될 수 있다.
일부 구현들에서, 국가들의 폴리곤들은 시간대들과 더 관련될 수 있으며, 그것은 MCC 기반 위치 필터링을 확장할 수 있다. 폴리곤은 국가 내에서 시간대들 별로 더 정의될 수 있다. 폴리곤은 현재의 시간대와 조합하여 MCC에 의해 식별될 수 있다. 예를 들어, 바운딩 박스들(102a-c)은 MCC들(310-316)(미합중국)과 관련될 수 있다. 바운딩 박스(102a)는 알래스카 시간대(표준 시간에 대한 GMT(Greenwich Mean Time) 마이너스 9시간)와 더 관련될 수 있다. 바운딩 박스(102b)는 4개의 서브박스들로 더 분할될 수 있으며, 각 서브박스는 동부 시간대(GMT 마이너스 5 시간), 중부 시간대(GMT 마이너스 6 시간), 산악 시간대(GMT 마이너스 7 시간), 및 태평양 시간대(GMT 마이너스 8 시간)에 대응한다. 바운딩 박스(102c)는 하와이/알류샨 시간대(GMT 마이너스 10 시간)과 더 관련될 수 있다.
이동 장치(400)는 셀 타워로부터 인코딩된 현재의 시간대를 수신할 수 있다. 이동 장치(400)의 통신 및 제어 프로세서(예를 들어, 베이스밴드 프로세서)는 수신된 현재의 시간대를 디코딩할 수 있다. MCC 및 현재의 시간대로부터, 이동 장치(400)는 서브바운딩 박스를 식별할 수 있다. 이동 장치(400)는 이동 장치(400)가 접속되는 액세스 포인트의 위치가 서브바운딩 박스 외부에 있는 것을 검출하면, 이동 장치는 그 액세스 포인트를 필터링 아웃할 수 있다. 예를 들어, 이동 장치(400)는 현재의 MCC가 "310"(미합중국)인 것을 결정하면, 이동 장치(400)는 바인딩 박스들(102)을 식별할 수 있다. 이동 장치(400)는 현재의 시간대가 GMT 마이너스 10 시간인 것을 결정하면, 이동 장치는 바운딩 박스가 102c인 것을 결정할 수 있다. 이동 장치(400)는 후속 계산들을 위해 바운딩 박스(102c)를 이용할 수 있다.
이동 장치(400)는 수신된 액세스 포인트 식별자들을 이용하여 위치 데이터베이스로부터 액세스 포인트 위치들 세트를 선택할 수 있다(416). 위치가 식별된 폴리곤 내부에 있으면 위치가 선택될 수 있다. 위치 데이터베이스는 액세스 포인트들의 식별자들(예를 들어, MAC 어드레스들) 및 액세스 포인트들의 대응하는 지리적 좌표들을 포함할 수 있다. 위치 데이터베이스는 이동 장치(400) 상에 저장될 수 있다. 예를 들어, 이동 장치는 액세스 포인트들(예를 들어, 공항들에서의 또는 근방의 액세스 포인트들)의 미리 결정된 위치들 세트를 포함할 수 있다. 위치 데이터베이스는 서버로부터 주기적으로 갱신될 수 있다. 위치 데이터베이스는 예를 들어 서버가 액세스 포인트의 이동을 검출할 때 갱신될 수 있다. 현재의 MCC 및 시간대에 대응하는 폴리곤 외부에 있는 현재 접속된 액세스 포인트들에 대응하는 위치 기록들은 위치 데이터베이스로부터 그리고 추가 계산들로부터 배제될 수 있다.
이동 장치(400)는 선택된 액세스 포인트 위치들 세트의 평균 위치에 기초하여 이동 장치(400)의 현재의 위치를 결정할 수 있다(418). 현재의 위치를 결정하는 것은 MCC 및 시간대를 이용하여 이미 필터링된 액세스 포인트 위치들 세트에 적응적 위치 계산 처리를 적용하는 것을 포함할 수 있다. 적응적 위치 계산 처리를 포함하여 현재의 위치를 결정하는 더욱 상세한 설명은 도 5c에 관하여 이하에 더 상세히 설명될 것이다. 이동 장치(400)는 이동 장치의 맵 디스플레이 상에 현재의 위치를 디스플레이할 수 있다.
도 5c는 무선 액세스 포인트들의 위치들을 이용하여 이동 장치의 위치를 결정하는 예시적 프로세스(418)를 예시하는 순서도이다. 편의상, 프로세스(418)는 프로세스(418)를 구현하는 이동 장치(400)에 관하여 설명될 것이다.
위치 데이터베이스는 무선 통신 네트워크(예를 들어, WLAN)의 액세스 포인트들(예를 들어, 액세스 포인트들(404))의 식별자들 및 액세스 포인트들과 관련된 위치들 세트를 포함할 수 있다. 위치들 세트는 액세스 포인트와 관련된 존재 영역들(406) 또는 존재 공간들에 대응할 수 있다. 각 위치는 지리적 좌표들(예를 들어, 위도, 경도, 및 고도)에 의해 표현될 수 있다. 각 위치는 액세스 포인트(404)의 식별자(예를 들어, MAC 어드레스)와 관련될 수 있다. 각종 구현들에서, 위치들 세트는 주기적으로 또는 요청에 따라 서버로부터 수신된다.
이동 장치(400)는 세트 내의 위치들을 이용하여 평균 지리적 위치를 계산할 수 있다(434). 평균 지리적 위치를 계산하는 것은 세트 내의 위치들의 위도들, 경도들, 및 고도들의 평균을 계산하는 것, 및 평균 지리적 위치로서 계산된 평균 위도, 경도, 및 고도에서의 위치를 지정하는 것을 포함할 수 있다. 일부 구현들에서, 평균 지리적 위치를 계산하는 것은 평균 지리적 위치로서 세트 내의 위치들의 중앙 위도, 중앙 경도, 및 중앙 고도에서의 위치를 지정하는 것을 포함할 수 있다.
이동 장치(400)는 세트 내의 위치들과 평균 지리적 위치 사이의 거리들을 계산할 수 있다(436). 일부 구현들에서, 시스템은 유클리드 공간에서 세트 내의 각 위치들과 평균 지리적 위치 사이의 선형 거리를 계산할 수 있다. 일부 구현들에서, 시스템은 지구의 곡률을 고려하면서 세트 내의 각 위치들과 평균 지리적 위치 사이의 최단선 거리를 계산할 수 있다.
단계(436)에서 계산된 거리들은 중심과 관련된 반경으로서 지정될 수 있다. 중심은 단계(434)에서 계산된 평균 지리적 위치일 수 있으며, 그것은 원(예를 들어, 지리적 영역(402)를 둘러싸는 원)의 중심일 수 있다. 원의 반경은 위치들 세트 내의 위치와 평균 지리적 위치 사이의 적어도 하나의 거리에 기초하여 결정될 수 있다. 일부 구현들에서, 반경은 평균 지리적 위치와 세트에 남아 있는 위치 사이의 가장 긴 거리와 같을 수 있다. 일부 구현들에서, 반경은 원이 반경 및 중심으로서의 평균 지리적 위치를 이용하여 그려질 때, 원이 세트에 남아 있는 위치들의 일정 퍼센티지(예를 들어, 80 퍼센트)를 둘러쌀 수 있는 거리일 수 있다. 반경은 비GPS 가능 이동 장치의 위치의 추정이 통계적으로 덜 중요할 수 있는 에러 마진을 나타낼 수 있다.
이동 장치(400)는 평균 위치와 위치 사이의 거리에 기초하여 세트로부터 적어도 하나의 위치를 배제할 수 있다(438). 일부 구현들에서, 시스템은 평균 지리적 위치까지의 거리가 임계 거리를 초과하는 위치들을 배제할 수 있다. 멀티 패스 분석의 각 패스에서, 시스템은 위치들의 집중(예를 들어, 클러스터)으로부터 떨어져서 나타나는 위치들을 배제함으로써 추정된 평균 지리적 위치의 정밀도를 증가시킬 수 있다. 위치들의 클러스터로부터 떨어져 있는 위치는 이동 장치(400)의 현재의 위치를 추정하는데 덜 유용할 수 있으며, 배제될 수 있다. 각종 구현들에서, 임계 거리는 한 패스로부터 다음 패스까지 변경될 수 있다. 일부 구현들에서, 임계 거리는 위치들 세트 내의 위치들의 특정 퍼센티지(예를 들어, 95 퍼센트)가 위치되는 평균 지리적 위치까지의 거리일 수 있다. 일부 구현들에서, 임계 거리는 패스들에 대응하는 거리들 세트(예를 들어, 제 1 패스에 대해서는 50 미터, 제 2 패스에 대해서는 30 미터 등)일 수 있다. 시스템은 평균 지리적 위치와 위치 사이의 거리가 임계 거리를 초과할 때 세트로부터 적어도 하나의 위치를 배제할 수 있다.
이동 장치(400)는 종료 조건이 만족될 때까지 프로세스(430)의 단계들(434, 436, 및 438)을 반복할 수 있다. 시스템은 반복을 종결시키기 위해 종료 조건이 만족되는지를 판단할 수 있다(440). 일부 구현들에서, 종료 조건은 다수의 반복들이 임계 수(예를 들어, 5회)에 도달할 때 만족될 수 있다. 임계 수는 원래 수신된 세트 내의 다수의 위치들에 관련될 수 있다. 배제되는 위치들의 퍼센티지뿐만 아니라 임계 수는 확실성(예를 들어, 보다 큰 존재 영역은 셀 내의 이동 장치가 존재 영역에 실제로 위치되는 것을 보다 신뢰할 수 있음)과 정밀도(예를 들어, 보다 작은 존재 영역은 이동 장치의 위치를 보다 정확하게 할 수 있음) 사이의 밸런스를 미세 조정하도록 구성가능할 수 있다. 예를 들어, 퍼센티지가 95 퍼센트로 설정되며 패스들의 수가 10으로 설정될 때, 최종 패스는 모든 위치 데이터 포인트들의 약 60 퍼센트를 둘러싸는 원을 생성할 수 있다.
일부 구현들에서, 단계(330)의 종료 조건은 존재 영역 또는 존재 공간이 충분히 작을 때 만족될 수 있다. 액세스 포인트들(404)이 크게 집중되는 영역들에서, 추정된 현재의 위치는 추가 패스들이 정밀도를 증가시킬 필요가 없는 충분히 작은 영역을 포함할 수 있다. 단계들(434, 436, 및 438)의 반복은 원의 반경이 임계 반경보다 아래에 도달할 때 종결될 수 있다. 예를 들어, 임계 반경은 8-10 미터일 수 있다. 임계 반경은 존재 영역들(406)의 반경들에 기초할 수 있다. 일부 구현들에서, 존재 영역들(406)의 일부 반경들이 충분히 작으면, 임계 반경이 작아서, 추정에 신뢰를 반영할 수 있다.
이동 장치(400)는 적어도 하나의 계산된 거리에 기초하여 중심으로서의 평균 지리적 위치 및 반경을 갖는 원을 이용하여 이동 장치(400)의 현재의 위치를 디스플레이할 수 있다(442). 중심은 위도들 및 경도들로 표현될 수 있다. 거리들이 3차원 공간들에서 계산되는 일부 구현들에서, 중심은 고도로 더 표현될 수 있다. 일부 구현들에서, 이동 장치는 맵 사용자 인터페이스 상의 디스플레이 장치에 현재의 위치를 더 디스플레이할 수 있다. 예시적 맵 사용자 인터페이스들은 도 6에 관하여 이하에 설명될 것이다.
이동 장치들의 위치들을 결정하기 위한 예시적 사용자 인터페이스들
도 6은 무선 액세스 포인트들의 위치들을 이용하여 이동 장치들의 위치들을 결정하기 위한 예시적 사용자 인터페이스를 예시한다. 도 6에서, 지리적 영역을 갖는 예시적 맵(맵(502))이 이동 장치(500) 상에 표시될 수 있다. 일부 구현들에서, 이동 장치(500)는 이동 장치(500)의 터치 감지 디스플레이(530) 상에 맵(502)을 디스플레이할 수 있다. 맵(502)은 맵핑 및 위치 기반 서비스들을 보기 위해 사용자가 맵들 객체(144)를 선택할 때 디스플레이될 수 있다. 일부 구현들에서, 맵들 객체(144)와 객체들은 음성 활성화에 의해 선택될 수 있다. 검색 바(504) 및 북마크들 리스트 객체(506)는 맵(502)의 상부에서 디스플레이될 수 있다. 맵의 하부 아래에는 하나 이상의 디스플레이 객체들, 예를 들어 검색 객체(508), 방향 객체(510), 맵 뷰 객체(512), 및 현재의 위치 객체(514)가 디스플레이될 수 있다.
검색 바(504)는 맵 상에서 어드레스 또는 다른 위치를 발견하는데 이용될 수 있다. 예를 들어, 사용자는 검색 바(504)에 자신의 집 주소를 기입할 수 있으며, 주소를 포함하는 영역이 맵(502) 상에 디스플레이된다. 북마크들 리스트 객체(506)는 예를 들어 사용자의 집 주소와 같이 빈번히 방문되는 주소들을 포함하는 북마크들 리스트를 꺼낼 수 있다. 북마크들 리스트는 예를 들어 현재의 위치(예를 들어 이동 장치(500)의 현재의 위치)와 같은 특수한 북마크들을 포함할 수도 있다.
검색 객체(508)는 검색 바(504) 및 다른 맵 관련 검색 메뉴들을 디스플레이하는데 이용될 수 있다. 방향 객체(510)는 예를 들어 사용자가 시작 및 종료 위치를 기입하게 하는 메뉴 인터페이스를 꺼낼 수 있다. 인터페이스는 이 때 정보(예를 들어, 시작 위치로부터 종료 위치로의 경로에 대한 방향 및 이동 시간)를 디스플레이할 수 있다. 맵 뷰 객체(512)는 사용자가 맵(502)에 대한 디스플레이 옵션들을 선택하게 하는 메뉴를 꺼낼 수 있다. 예를 들어, 맵(502)은 흑백으로부터 컬러로 변경될 수 있거나, 맵의 배경이 변경될 수 있거나, 사용자는 맵의 휘도를 변경할 수 있다.
현재의 위치 객체(514)는 장치(150)가 현재 위치되는 곳을 나타내는 지리적 영역(516)을 사용자가 맵(502) 상에서 확인하게 할 수 있다. 지리적 영역(516)은 중심이 이동 장치(500)의 통신 범위 내에 있는 액세스 포인트들과 관련된 데이터 포인트들의 평균 지리적 위치인 추정된 지리적 영역(예를 들어, 지리적 영역(402))에 대응할 수 있다. 지리적 영역(516)의 반경은 액세스 포인트들과 관련된 평균 지리적 위치와 하나 이상의 위치들 사이의 거리에 기초하여 결정될 수 있다. 특수한 현재의 위치 북마크는 현재의 위치 객체(514)가 선택될 때 북마크들 리스트에 배치될 수 있다. 특수한 현재의 위치 북마크가 북마크들 리스트에 이전에 설정되었다면, 오래된 북마크 정보는 예를 들어 새로운 현재의 위치 정보로 대체될 수 있다. 일부 구현들에서, 특수한 현재의 위치 북마크는 지리적 영역(516)의 중심에 구속된다. 즉, 특수한 현재의 위치 북마크는 지리적 영역(516)의 중심에 대한 좌표들을 포함할 수 있다. 지리적 영역(516)은 이동 장치(500)의 메모리 장치에 저장된 위치 명령어들을 이용하여 결정 또는 추정된 위치 데이터에 기초할 수 있다. 지리적 영역(516)은 예를 들어 원, 직사각형, 정사각형, 6각형, 또는 십자선을 갖는 다른 둘러싸인 영역, 또는 맵(502)으로부터 지리적 영역(516)을 구별하는 일부 다른 특이한 요소에 의해 묘사될 수 있다.
일부 구현들에서, 지리적 영역(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)의 추정된 현재의 위치를 송신하거나(예를 들어, 친구가 동일한 위치에 갈 수 있도록), 추정된 현재의 위치에 대한 북마크를 생성하기 위해 선택될 수 있다.
예시적 이동 장치 아키텍처
도 7은 이동 장치의 예시적 아키텍처(700)의 블록도이다. 이동 장치는 예를 들어 핸드헬드 컴퓨터, 개인 휴대 정보 단말기, 휴대 전화, 전자 태블릿, 네트워크 기기, 카메라, 스마트 폰, EGPRS(enhanced general packet radio service) 이동 전화, 네트워크 기지국, 미디어 플레이어, 내비게이션 장치, 이메일 장치, 게임 콘솔, 또는 이 데이터 처리 장치들 또는 다른 데이터 처리 장치들 중 임의의 2개 이상의 조합일 수 있다.
이동 장치는 메모리 인터페이스(702), 하나 이상의 데이터 프로세서들, 이미지 프로세서들 및/또는 중앙 처리 유닛들(704), 및 주변 장치들의 인터페이스(706)를 포함할 수 있다. 메모리 인터페이스(702), 하나 이상의 프로세서들(704) 및/또는 주변 장치들의 인터페이스(706)는 개별 구성요소일 수 있거나 하나 이상의 집적 회들에 집적될 수 있다. 이동 장치(150) 내의 각종 구성요소들은 하나 이상의 통신 버스들 또는 신호 라인들에 의해 연결될 수 있다.
센서들, 장치들, 및 서브시스템들은 다수의 기능성들을 용이하게 하도록 주변 장치들의 인터페이스(706)에 연결될 수 있다. 예를 들어, 모션 센서(710), 광 센서(712), 및 근접 센서(714)는 이동 장치의 방위, 조명, 및 근접 기능들을 용이하게 하도록 주변 장치들의 인터페이스(706)에 연결될 수 있다. 위치 프로세서(715)(예를 들어, GPS 수신기)는 지상 위치 추적을 제공하도록 주변 장치들의 인터페이스(706)에 접속될 수 있다. 전자 마그네토미터(716)(예를 들어, 집적 회로 칩)는 자북의 방향을 결정하는데 이용될 수 있는 데이터를 제공하도록 주변 장치들의 인터페이스(706)에 접속될 수도 있다.
카메라 서브시스템(720) 및 광 센서(722), 예를 들어 전하 결합 소자(CCD) 또는 CMOS(complementary metal-oxide semiconductor) 광 센서는 레코딩 포토그래프들 및 비디오 칩들과 같은 카메라 기능들을 용이하게 하는데 이용될 수 있다.
통신 기능들은 하나 이상의 무선 통신 서브시스템들(724)을 통해 용이해질 수 있으며, 그것은 무선 주파수 수신기들 및 송신기들 및/또는 광(예를 들어, 적외) 수신기들 및 송신기들을 포함할 수 있다. 통신 서브시스템(724)의 특정 설계 및 구현은 이동 장치가 동작되도록 의도되는 통신 네트워크(들)에 의존할 수 있다. 예를 들어, 이동 장치는 GSM 네트워크, GPRS 네트워크, EDGE 네트워크, Wi-Fi 또는 WiMax 네트워크, 및 블루투스 네트워크를 통해 동작하도록 설계된 통신 서브시스템들(724)을 포함할 수 있다. 특히, 무선 통신 서브시스템들(724)은 장치가 다른 무선 장치들에 대한 기지국으로서 구성될 수 있도록 호스팅 프로토콜들을 포함할 수 있다.
오디오 서브시스템(726)은 음성 인식, 음성 복제, 디지털 레코딩, 및 텔레포니 기능들과 같은 음성 가능 기능들을 용이하게 하도록 스피커(728) 및 마이크로폰(730)에 연결될 수 있다.
I/O 서브시스템(740)은 터치 스크린 컨트롤러(742) 및/또는 다른 입력 컨트롤러(들)(744)를 포함할 수 있다. 터치 스크린 컨트롤러(742)는 터치 스크린(746) 또는 패드에 연결될 수 있다. 터치 스크린(746) 및 터치 스크린 컨트롤러(742)는 예를 들어 다른 근접 센서 어레이들 또는 터치 스크린(746)과의 하나 이상의 접촉 지점들을 결정하기 위한 다른 요소들뿐만 아니라, 용량성, 저항성, 적외선, 및 표면 탄성파 기술들을 포함하지만 이들에 한정되지 않는 복수의 터치 감지 기술들 중 어느 하나를 이용하여 접촉 및 이동 또는 차단을 검출할 수 있다.
다른 입력 컨트롤러(들)(744)는 하나 이상의 버튼들, 로커 스위치들, 썸 휠, 적외선 포트, USB 포트, 및/또는 포인터 장치 예컨대 스타일러스와 같은 다른 입력/제어 장치들(748)에 연결될 수 있다. 하나 이상의 버튼들(도시되지 않음)은 스피커(728) 및/또는 마이크로폰(730)의 볼륨 제어를 위한 업/다운 버튼을 포함할 수 있다.
일 구현에서, 제 1 지속 시간 동안의 버튼의 프레싱은 터치 스크린(746)의 잠금을 해제할 수 있으며; 제 1 지속 시간보다 긴 제 2 지속 시간 동안의 버튼의 프레싱은 이동 장치에 대한 파워를 온 또는 오프할 수 있다. 사용자는 버튼들 중 하나 이상의 기능성을 커스터마이즈할 수 있다. 터치 스크린(746)은 예를 들어 가상 또는 소프트 버튼들 및/또는 키보드를 구현하는데 이용될 수도 있다.
일부 구현들에서, 이동 장치는 MP3, AAC, 및 MPEG 파일들과 같은 기록된 오디오 및/또는 비디오 파일들을 제공할 수 있다. 일부 구현들에서, 이동 장치는 iPod™와 같은 MP3 플레이어의 기능성을 포함할 수 있다. 그러므로, 이동 장치는 iPod와 호환되는 핀 커넥터를 포함할 수 있다. 다른 입력/출력 및 제어 장치들이 이용될 수도 있다.
메모리 인터페이스(702)는 메모리(750)에 연결될 수 있다. 메모리(750)는 하나 이상의 자기 디스크 저장 장치들, 하나 이상의 광 저장 장치들, 및/또는 플래시 메모리(예를 들어, NAND, NOR)와 같은 고속 랜덤 액세스 메모리 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(750)는 Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, 또는 내장 운영 체제 예컨대 VxWorks와 같은 운영 체제(752)를 저장할 수 있다. 운영 체제(752)는 기본 시스템 서비스들을 처리하며 하드웨어 의존 태스크를 수행하기 위한 명령어들을 포함할 수 있다. 일부 구현들에서, 운영 체제(752)는 커널(예를 들어, UNIX 커널)을 포함할 수 있다.
메모리(750)는 하나 이상의 추가적인 장치들, 하나 이상의 컴퓨터들 및/또는 하나 이상의 서버들과의 통신을 용이하게 하도록 통신 명령어들(754)을 저장할 수도 있다. 메모리(750)는 그래픽 사용자 인터페이스 처리를 용이하게 하기 위한 그래픽 사용자 인터페이스 명령어들(756); 센서 관련 처리와 기능들을 용이하게 하기 위한 센서 처리 명령어들(758); 폰 관련 처리들 및 기능들을 용이하게 하기 위한 폰 명령어들(760); 전자 메시징 관련 처리들 및 기능들을 용이하게 하기 위한 전자 메시징 명령어들(762); 웹 브라우징 관련 처리들 및 기능들을 용이하게 하기 위한 웹 브라우징 명령어들(764); 미디어 처리 관련 처리들 및 기능들을 용이하게 하기 위한 미디어 처리 명령어들(766); GPS 및 내비게이션 관련 처리들 및 명령어들을 용이하게 하기 위한 GPS/내비게이션 명령어들(768); 카메라 관련 처리들 및 기능들을 용이하게 하기 위한 카메라 명령어들(770); 마그네토미터 교정을 용이하게 하기 위한 마그네토미터 데이터(772) 및 교정 명령어들(774)을 포함할 수 있다. 메모리(750)는 액세스 포인트에 현재의 위치를 송신하는데, 그리고 이동 장치가 통신 범위 내에 있는 액세스 포인트들과 관련된 위치 데이터에 기초하여 추정된 현재의 위치를 결정하는데 이용될 수 있는 위치 명령어들(776)을 포함할 수 있다. 메모리(750)는 보안 명령어들, 웹 비디오 관련 처리들 및 기능들을 용이하게 하기 위한 웹 비디오 명령어들, 및/또는 웹 쇼핑 관련 처리들 및 기능들을 용이하게 하기 위한 웹 쇼핑 명령어들과 같은 다른 소프트웨어 명령어들(도시되지 않음)을 저장할 수도 있다. 일부 구현들에서, 미디어 처리 명령어들(766)은 오디오 처리 관련 처리들 및 기능들과 비디오 처리 관련 처리들 및 기능들 각각을 용이하게 하기 위한 오디오 처리 명령어들 및 비디오 처리 명령어들으로 분할된다. 활성화 레코드 및 IMEI(International Mobile Equipment Identity) 또는 유사한 하드웨어 식별자는 메모리(750)에 저장될 수도 있다.
상기 식별된 명령어들 및 응용들 각각은 상술한 하나 이상의 기능들을 수행하기 위한 명령어들 세트에 대응할 수 있다. 이 명령어들은 개별 소프트웨어 프로그램들, 프로시져들, 또는 모듈들로서 구현될 필요는 없다. 메모리(750)는 추가적인 명령어들 또는 보다 적은 명령어들을 포함할 수 있다. 게다가, 이동 장치의 각종 기능들은 하나 이상의 신호 처리 및/또는 응용 주문형 집적 회로들을 포함하여 하드웨어 및/또는 소프트웨어로 구현될 수 있다.
본 발명 대상의 다수의 구현들이 설명되었다. 그럼에도 불구하고, 각종 수정들은 본 발명의 정신 및 범위로부터 벗어나지 않고 이루어질 수 있는 것이 이해될 것이다. 예를 들어, 위치 인식 장치들은 GPS 가능으로 지칭된다. 위치 인식 이동 장치들은 삼각 측량 또는 다른 기술에 기초할 수도 있다. 셀들은 도면들에서 실질적으로 직사각형의 형상으로 표현된다. 셀의 실제 형상은 변경될 수 있다. 위치들은 "원들"로 설명된다. 본 명세서에서 이용되는 용어 "원"은 완전히 원형일 필요는 없으며 폐쇄되거나 둘러쌈의 외관을 갖는 임의의 기하학적 형상(예를 들어, 타원, 정사각형, 볼록 또는 오목 폴리곤, 또는 프리스타일 형상)을 포함할 수 있다. 완전히 원형이 아닌 기하학적 형상의 반경은 기하학적 형상의 경계 상의 각종 기점과 기하학적 형상의 중심 사이의 평균 거리를 포함할 수 있다. WiFi 및 WiMax 네트워크들은 예들로서 이용된다. 다른 무선 기술(예를 들어, 셀룰러 네트워크)이 이용될 수도 있다. 따라서, 다른 구현들은 이하의 청구범위의 범위 내에 있다.
Claims (30)
- 이동 장치에 의해 실행되는 방법으로서,
무선 통신 네트워크의 하나 이상의 액세스 포인트들의 식별자들 및 현재의 MCC(mobile country code)를 수신하는 단계,
상기 현재의 MCC에 대응하는 지리적 영역의 바운딩 박스인 폴리곤을 식별하는 단계,
상기 수신된 식별자들을 이용하여 위치 데이터베이스로부터 액세스 포인트 위치들 세트를 선택하는 단계 - 상기 액세스 포인트 위치들은 상기 식별된 폴리곤 내부에 있음 -, 및
상기 선택된 액세스 포인트 위치들 세트의 평균 위치에 기초하여 상기 이동 장치의 현재의 위치를 결정하는 단계
를 포함하는 방법. - 제1항에 있어서,
이동 국가 코드들에 의해 식별되는 지리적 영역들의 바운딩 박스들인 폴리곤들을 지리적 데이터베이스 내에 저장하는 단계, 및
상기 이동 장치의 저장 장치 상의 상기 위치 데이터베이스 내에 저장하는 단계
를 더 포함하는 방법. - 제1항에 있어서,
상기 이동 장치의 맵 디스플레이 상에 상기 현재의 위치를 디스플레이하는 단계를 더 포함하는 방법. - 제1항에 있어서, 상기 액세스 포인트들의 상기 식별자들은 상기 액세스 포인트들의 MAC(Media Access Control) 어드레스들을 포함하는 방법.
- 제1항에 있어서, 상기 폴리곤은 상기 지리적 영역의 지점들의 위도 및 경도 좌표들에 의해 정의되는 방법.
- 제1항에 있어서, 상기 지리적 영역은 시간대(time zone)에 더 대응하는 방법.
- 제1항에 있어서, 상기 현재의 위치를 결정하는 단계는,
(a) 상기 액세스 포인트 위치들 세트를 이용하여 평균 지리적 위치를 계산하는 단계,
(b) 상기 평균 지리적 위치와 상기 세트 내의 액세스 포인트 위치들 사이의 거리들을 계산하는 단계,
(c) 상기 평균 지리적 위치와 적어도 하나의 위치 사이의 거리에 기초하여 상기 세트로부터 적어도 하나의 액세스 포인트 위치를 배제하는 단계,
(d) 종료 조건이 만족될 때까지 (a), (b) 및 (c)를 반복하는 단계, 및
(e) 적어도 하나의 계산된 거리에 기초하여 상기 평균 지리적 위치를 갖는 원을 이용하여 상기 이동 장치의 현재의 위치를 중심 및 반경으로서 지정하는 단계를 포함하는 방법. - 제7항에 있어서, 상기 종료 조건은 다수의 반복들이 임계 수에 도달할 때 만족되는 방법.
- 제7항에 있어서, 상기 종료 조건은 상기 원의 상기 반경이 임계 반경 미만에 도달할 때 만족되는 방법.
- 제7항에 있어서, 상기 세트 내의 상기 위치들 각각은 위도 및 경도를 포함하는 방법.
- 무선 통신 네트워크의 하나 이상의 액세스 포인트들의 식별자들 및 현재의 MCC(mobile country code)를 수신하는 동작,
상기 현재의 MCC에 대응하는 지리적 영역의 바운딩 박스인 폴리곤을 식별하는 동작,
상기 수신된 식별자들을 이용하여 위치 데이터베이스로부터 액세스 포인트 위치들 세트를 선택하는 동작 - 상기 액세스 포인트 위치들은 상기 식별된 폴리곤 내부에 있음 -, 및
상기 선택된 액세스 포인트 위치들 세트의 평균 위치에 기초하여 이동 장치의 현재의 위치를 결정하는 동작
을 포함하는 동작들을 수행하도록 구성된 이동 장치를 포함하는 시스템. - 제11항에 있어서, 상기 동작들은,
이동 국가 코드들에 의해 식별되는 지리적 영역들의 바운딩 박스들인 폴리곤들을 지리적 데이터베이스 내에 저장하는 동작, 및
상기 이동 장치의 저장 장치 상의 상기 위치 데이터베이스 내에 저장하는 동작
을 더 포함하는 시스템. - 제11항에 있어서, 상기 동작들은,
상기 이동 장치의 맵 디스플레이 상에 상기 현재의 위치를 디스플레이하는 동작을 더 포함하는 시스템. - 제11항에 있어서, 상기 액세스 포인트들의 상기 식별자들은 상기 액세스 포인트들의 MAC(Media Access Control) 어드레스들을 포함하는 시스템.
- 제11항에 있어서, 상기 폴리곤은 상기 지리적 영역의 지점들의 위도 및 경도 좌표들에 의해 정의되는 시스템.
- 제11항에 있어서, 상기 지리적 영역은 시간대(time zone)에 더 대응하는 시스템.
- 제11항에 있어서, 상기 현재의 위치를 결정하는 동작은,
(a) 상기 액세스 포인트 위치들의 세트를 이용하여 평균 지리적 위치를 계산하는 동작,
(b) 상기 평균 지리적 위치와 상기 세트 내의 액세스 포인트 위치들 사이의 거리들을 계산하는 동작,
(c) 상기 평균 지리적 위치와 적어도 하나의 위치 사이의 거리에 기초하여 상기 세트로부터 적어도 하나의 액세스 포인트 위치를 배제하는 동작,
(d) 종료 조건이 만족될 때까지 (a), (b) 및 (c)를 반복하는 동작, 및
(e) 적어도 하나의 계산된 거리에 기초하여 상기 평균 지리적 위치를 갖는 원을 이용하여 상기 이동 장치의 현재의 위치를 중심 및 반경으로서 지정하는 동작
을 포함하는 시스템. - 제17항에 있어서, 상기 종료 조건은 다수의 반복들이 임계 수에 도달할 때 만족되는 시스템.
- 제17항에 있어서, 상기 종료 조건은 상기 원의 상기 반경이 임계 반경 미만에 도달할 때 만족되는 시스템.
- 명령어들이 저장되어 있는 컴퓨터 판독 가능 매체로서,
상기 명령어들은 이동 장치로 하여금
무선 통신 네트워크의 하나 이상의 액세스 포인트들의 식별자들 및 현재의 MCC(mobile country code)를 수신하는 동작,
상기 현재의 MCC에 대응하는 지리적 영역의 바운딩 박스인 폴리곤을 식별하는 동작,
상기 수신된 식별자들을 이용하여 위치 데이터베이스로부터 액세스 포인트 위치들의 세트를 선택하는 동작 - 상기 액세스 포인트 위치들은 상기 식별된 폴리곤 내부에 있음 -, 및
상기 선택된 액세스 포인트 위치들의 세트의 평균 위치에 기초하여 상기 이동 장치의 현재의 위치를 결정하는 동작
을 포함하는 동작들을 수행하게 하도록 동작가능한 컴퓨터 판독 가능 매체. - 제20항에 있어서, 상기 동작들은,
이동 국가 코드들에 의해 식별되는 지리적 영역들의 바운딩 박스들인 폴리곤들을 지리적 데이터베이스 내에 저장하는 동작, 및
상기 이동 장치의 저장 장치 상의 상기 위치 데이터베이스 내에 저장하는 동작
을 더 포함하는 컴퓨터 판독 가능 매체. - 제20항에 있어서, 상기 동작들은,
상기 이동 장치의 맵 디스플레이 상에 상기 현재의 위치를 디스플레이하는 동작을 더 포함하는 컴퓨터 판독 가능 매체. - 제20항에 있어서, 상기 액세스 포인트들의 상기 식별자들은 상기 액세스 포인트들의 MAC(Media Access Control) 어드레스들을 포함하는 컴퓨터 판독 가능 매체.
- 제20항에 있어서, 상기 폴리곤은 상기 지리적 영역의 지점들의 위도 및 경도 좌표들에 의해 정의되는 컴퓨터 판독 가능 매체.
- 제20항에 있어서, 상기 지리적 영역은 시간대(time zone)에 더 대응하는 컴퓨터 판독 가능 매체.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/687,993 US8504059B2 (en) | 2010-01-15 | 2010-01-15 | Location filtering using mobile country code |
US12/687,993 | 2010-01-15 | ||
PCT/US2011/021182 WO2011088239A2 (en) | 2010-01-15 | 2011-01-13 | Location filtering using mobile country code |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120117870A KR20120117870A (ko) | 2012-10-24 |
KR101347467B1 true KR101347467B1 (ko) | 2014-01-02 |
Family
ID=43836625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127021371A KR101347467B1 (ko) | 2010-01-15 | 2011-01-13 | 이동 국가 코드를 이용한 위치 필터링 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8504059B2 (ko) |
EP (1) | EP2524554B1 (ko) |
JP (1) | JP5389275B2 (ko) |
KR (1) | KR101347467B1 (ko) |
CN (1) | CN103039115B (ko) |
AU (1) | AU2011205243B2 (ko) |
WO (1) | WO2011088239A2 (ko) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
EP1851979B1 (en) | 2005-02-22 | 2018-06-13 | Skyhook Wireless, Inc. | Method of continuous data optimization in a positioning system |
US8200251B2 (en) | 2010-01-15 | 2012-06-12 | Apple Inc. | Determining a location of a mobile device using a location database |
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 |
US8655371B2 (en) * | 2010-01-15 | 2014-02-18 | Apple Inc. | Location determination using cached location area codes |
US8620344B2 (en) | 2010-04-07 | 2013-12-31 | Apple Inc. | Location-based application program management |
KR101446032B1 (ko) * | 2010-05-06 | 2014-10-02 | 에스케이텔레콤 주식회사 | 무선랜 신호를 이용한 위치 측위 방법 및 장치 |
US8971915B2 (en) | 2010-06-11 | 2015-03-03 | Skyhook Wireless, Inc. | Systems for and methods of determining likelihood of mobility of reference points in a positioning system |
KR101440836B1 (ko) * | 2010-07-08 | 2014-11-04 | 에스케이텔레콤 주식회사 | 무선랜 신호를 이용한 측위 오차 판별 방법 및 장치 |
EP2490085B1 (en) | 2011-02-21 | 2018-03-07 | BlackBerry Limited | Apparatus, and associated method, for estimating a time zone at which a device is positioned |
US8548493B2 (en) | 2011-04-14 | 2013-10-01 | Navteq B.V. | Location tracking |
US9420396B2 (en) * | 2011-07-29 | 2016-08-16 | Blackberry Limited | System and method for determining a location for a device in a communication network |
KR20130021616A (ko) * | 2011-08-23 | 2013-03-06 | 삼성전자주식회사 | 다중 측위를 이용한 단말의 측위 장치 및 방법 |
KR102147625B1 (ko) | 2011-11-02 | 2020-08-24 | 샤이 론넨 | 위치지문맵의 생성 및 이용 |
US8577376B2 (en) * | 2011-11-17 | 2013-11-05 | Lenovo (Singapore) Pte. Ltd. | Location based network access point scanning |
US8611247B2 (en) * | 2012-01-24 | 2013-12-17 | Qualcomm Incorporated | Dynamic data retrieval in a WLAN positioning system |
US8744484B2 (en) | 2012-07-24 | 2014-06-03 | Qualcomm Incorporated | Wireless network coverage estimation using down-sampled crowd-sourced data |
CN104641702A (zh) * | 2012-08-10 | 2015-05-20 | 诺基亚公司 | 具有由bssid和mcc的组合唯一识别的接入点的wlan无线电地图 |
JP6060646B2 (ja) * | 2012-11-27 | 2017-01-18 | 株式会社デンソー | 地図表示装置および地図表示システム |
US9408132B2 (en) | 2013-04-09 | 2016-08-02 | Microsoft Technology Licensing, Llc | Radio white space database discovery |
US9268741B1 (en) * | 2013-06-07 | 2016-02-23 | Lytx, Inc. | Deleting unnecessary map data |
CN105393134B (zh) * | 2013-07-18 | 2018-09-25 | 赫尔环球有限公司 | 使用栅格有效降低无线电地图中访问点数量的方法和装置 |
GB2516832A (en) * | 2013-07-31 | 2015-02-11 | Here Global Bv | Method and apparatus for determining quality of radio maps |
US9432466B2 (en) * | 2014-05-30 | 2016-08-30 | Linkedin Corporation | Member time zone inference |
US9215562B1 (en) * | 2014-07-28 | 2015-12-15 | Intel IP Corporation | Method and apparatus for optimized indoor position estimation |
US9253599B1 (en) * | 2014-08-20 | 2016-02-02 | Qualcomm Incorporated | RTT processing based on a characteristic of access points |
US9793988B2 (en) * | 2014-11-06 | 2017-10-17 | Facebook, Inc. | Alignment in line-of-sight communication networks |
US10028084B2 (en) * | 2015-02-10 | 2018-07-17 | Qualcomm Incorporated | Adaptive position indicator |
US10503124B2 (en) * | 2015-10-31 | 2019-12-10 | Microsoft Technology Licensing, Llc | Automatic time zone detection in devices |
US9709660B1 (en) * | 2016-01-11 | 2017-07-18 | Qualcomm Incorporated | Crowdsourced user density applications |
US20180106618A1 (en) * | 2016-10-14 | 2018-04-19 | Westfield Retail Solutions, Inc. | Systems and methods to determine a location of a mobile device |
US10264511B2 (en) * | 2017-05-25 | 2019-04-16 | King Fahd University Of Petroleum And Minerals | Geographic location aware routing for wireless sensor networks |
CN109284952B (zh) * | 2017-07-21 | 2023-04-18 | 菜鸟智能物流控股有限公司 | 一种归属区域的定位方法和装置 |
KR20190020940A (ko) * | 2017-08-22 | 2019-03-05 | 삼성전자주식회사 | 외부 전자 장치에 대응하는 식별 정보를 이용하여 위치를 결정하는 방법 및 장치 |
CN107623945B (zh) * | 2017-10-09 | 2020-06-05 | 上海连尚网络科技有限公司 | 定位移动设备所在区域的方法、系统和计算机存储介质 |
CN108377547B (zh) * | 2018-01-05 | 2020-06-02 | 阿里巴巴集团控股有限公司 | 一种定位的方法、装置及设备 |
JP7077691B2 (ja) * | 2018-03-16 | 2022-05-31 | トヨタ自動車株式会社 | 自己位置検出装置 |
JP2022517818A (ja) * | 2019-01-18 | 2022-03-10 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 測位のサポート |
US11337176B2 (en) * | 2020-06-12 | 2022-05-17 | Cisco Technology, Inc. | Access point based location system for high density wifi deployments |
CN114579681B (zh) * | 2021-07-08 | 2024-08-20 | 林杨 | 一种基于地理坐标数据的高速公路编号系统和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060240840A1 (en) | 2005-02-22 | 2006-10-26 | Skyhook Wireless, Inc. | Continuous data optimization by filtering and positioning systems |
KR20070060367A (ko) * | 2005-12-08 | 2007-06-13 | 삼성전자주식회사 | 무선 랜 단말의 접속 액세스 포인트 선택 장치 및 방법 |
KR20090009957A (ko) * | 2006-05-08 | 2009-01-23 | 스카이후크 와이어리스, 인크. | Wlan 위치 확인 시스템에서 사용하기 위한 wlan 액세스 포인트 특성의 품질 계산 방법 |
Family Cites Families (120)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9016277D0 (en) | 1990-07-25 | 1990-09-12 | British Telecomm | Location and handover in mobile radio systems |
US5412388A (en) | 1993-08-11 | 1995-05-02 | Motorola, Inc. | Position ambiguity resolution |
US5444450A (en) | 1993-08-11 | 1995-08-22 | Motorola, Inc. | Radio telecommunications system and method with adaptive location determination convergence |
US5539924A (en) | 1994-03-10 | 1996-07-23 | Motorola, Inc. | Method for providing communications within a geographic region |
US5493286A (en) | 1994-03-10 | 1996-02-20 | Motorola, Inc. | Method for providing communications within a geographic region |
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 |
US5802468A (en) | 1995-06-28 | 1998-09-01 | Mci Corporation | System and method for identifying calling areas within a communication system |
JPH0993653A (ja) * | 1995-09-25 | 1997-04-04 | Nippon Telegr & Teleph Corp <Ntt> | 位置情報表示機能付端末装置 |
US5945944A (en) | 1996-03-08 | 1999-08-31 | Snaptrack, Inc. | Method and apparatus for determining time for GPS receivers |
US5945948A (en) | 1996-09-03 | 1999-08-31 | Motorola, Inc. | Method and apparatus for location finding in a communication system |
GB2337386B (en) * | 1996-09-09 | 2001-04-04 | Dennis J 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 |
DE19911938A1 (de) | 1999-03-17 | 2000-09-21 | Viag Interkom Gmbh & Co | Kommunikationssystem für den Mobilfunk und geeignetes Verfahren hierfür |
US6232915B1 (en) | 1999-08-31 | 2001-05-15 | Qwest Communications International Inc. | System and method for identifying clusters of geographic locations |
US6424840B1 (en) | 1999-11-05 | 2002-07-23 | Signalsoft Corp. | Method and system for dynamic location-based zone assignment for a wireless communication network |
US6445937B1 (en) | 1999-12-02 | 2002-09-03 | Lucent Technologies Inc. | Methods and apparatus for mobile phone power management |
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 |
US20020067308A1 (en) | 2000-12-06 | 2002-06-06 | Xerox Corporation | Location/time-based reminder for personal electronic devices |
FI111901B (fi) | 2000-12-29 | 2003-09-30 | Ekahau Oy | Sijainnin arviointi langattomissa tietoliikenneverkoissa |
US7133909B2 (en) | 2001-01-12 | 2006-11-07 | Microsoft Corporation | Systems and methods for locating mobile computer users in a wireless network |
MXPA03008298A (es) | 2001-03-15 | 2004-02-17 | Qualcomm Inc | Adquisicion de tiempo en un sistema inalambrico para la determinacion de posicion. |
US7072666B1 (en) | 2001-06-21 | 2006-07-04 | Spring Spectrum L.P. | Method and system for communicating location in a cellular wireless system |
US20030013449A1 (en) | 2001-07-11 | 2003-01-16 | Hose David A. | Monitoring boundary crossings in a wireless network |
US7974642B2 (en) | 2001-09-10 | 2011-07-05 | Sirf Technology, Inc. | System and method for estimating cell center position for cell ID based positioning |
DE60232214D1 (de) | 2001-09-10 | 2009-06-18 | Ntt Docomo Inc | Standortregistrierung und Funkruf in einem Mobilkommunikationssystem |
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 |
EP2282222B1 (en) | 2002-01-21 | 2014-08-20 | Nokia Corporation | Communicating positioning assistance data |
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 |
WO2004040931A2 (en) | 2002-10-30 | 2004-05-13 | Research In Motion Limited | Methods and device for preferably selecting a communication network which makes data service available |
US20040203891A1 (en) | 2002-12-10 | 2004-10-14 | International Business Machines Corporation | Dynamic service binding providing transparent switching of information services having defined coverage regions |
US20040176107A1 (en) | 2003-02-07 | 2004-09-09 | Lovleen Chadha | Methods and systems for position based tasks for wireless devices |
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 |
US7373109B2 (en) | 2003-11-04 | 2008-05-13 | Nokia Corporation | System and method for registering attendance of entities associated with content creation |
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 |
ATE356507T1 (de) | 2004-09-27 | 2007-03-15 | Ibm | System und verfahren zur dynamischen planung von aufgaben in abhängigkeit von der position eines mobilen benutzers |
US7195566B2 (en) * | 2004-10-15 | 2007-03-27 | Ming Hsing Leather Co., Ltd. | Grip of sports equipment |
EP1825430A4 (en) | 2004-10-19 | 2009-08-26 | Yahoo Inc | SYSTEM AND METHOD FOR PERSONAL NETWORKING BASED ON LOCATION |
US7433693B2 (en) | 2004-10-27 | 2008-10-07 | Qualcomm Incorporated | Location-sensitive calibration data |
US7305245B2 (en) | 2004-10-29 | 2007-12-04 | Skyhook Wireless, Inc. | Location-based services that choose location algorithms based on number of detected access points within range of user device |
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 |
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 |
US7502620B2 (en) | 2005-03-04 | 2009-03-10 | Shyhook Wireless, Inc. | Encoding and compression of a location beacon database |
JP4465661B2 (ja) | 2005-03-01 | 2010-05-19 | 株式会社カシオ日立モバイルコミュニケーションズ | 移動通信端末及び通信制御方法 |
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 |
EP1739991B1 (en) * | 2005-07-01 | 2019-10-02 | BlackBerry Limited | System and method for accelerating network selection by a wireless user equipment device using satellite based positioning system |
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 |
RU2390791C2 (ru) | 2005-11-07 | 2010-05-27 | Квэлкомм Инкорпорейтед | Позиционирование для wlan и других беспроводных сетей |
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 |
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 |
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 |
WO2008054191A2 (en) | 2006-05-16 | 2008-05-08 | Tomtom International B.V. | Navigation device with automatic gps precision enhancement |
US8185129B2 (en) | 2006-07-07 | 2012-05-22 | Skyhook Wireless, Inc. | System and method of passive and active scanning of WLAN-enabled access points to estimate position of a WLAN positioning device |
US7974645B2 (en) | 2006-08-30 | 2011-07-05 | At&T Mobility Ii Llc | Mobile registration using a service area identifier or plurality of service area identifiers |
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 |
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 |
DE602007000963D1 (de) | 2007-02-15 | 2009-06-04 | Research In Motion Ltd | Notrufnummerwahl für mobiles Kommunikationsgerät |
KR100896680B1 (ko) * | 2007-04-13 | 2009-05-14 | 에스케이 텔레콤주식회사 | G-pCell 데이터베이스를 이용하여 위치에 따라이동통신 단말기에 네트워크 기반의 위치 측위를 제공하는방법 및 시스템 |
US8768356B2 (en) | 2007-04-23 | 2014-07-01 | At&T Mobility Ii Llc | Dual mode device with MAC address capture and pairing |
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 |
US9066199B2 (en) | 2007-06-28 | 2015-06-23 | Apple Inc. | Location-aware mobile device |
US9288751B2 (en) | 2007-08-29 | 2016-03-15 | Qualcomm Incorporated | Use of position data to select wireless access point |
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 |
US8089405B2 (en) * | 2007-10-02 | 2012-01-03 | Ricoh Co., Ltd. | Applications for geographically coded 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 |
WO2009070138A1 (en) | 2007-11-29 | 2009-06-04 | David Stackpole | Dynamic geosocial networking |
WO2009089308A2 (en) | 2008-01-10 | 2009-07-16 | Apple Inc. | Wireless data acquisition for mobile electronic devices |
US9094933B2 (en) | 2008-01-14 | 2015-07-28 | Qualcomm Incorporated | Wireless communication paging utilizing multiple types of node identifiers |
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 |
US20100052983A1 (en) | 2008-06-06 | 2010-03-04 | Skyhook Wireless, Inc. | Systems and methods for maintaining clock bias accuracy in a hybrid positioning system |
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 |
US20090312036A1 (en) | 2008-06-16 | 2009-12-17 | Skyhook Wireless, Inc. | Methods and systems for improving the accuracy of expected error estimation in location determinations using a hybrid cellular and wlan positioning system |
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 |
US8467805B2 (en) * | 2009-05-08 | 2013-06-18 | Andrew Llc | System and method for determining a reference location using cell table data mining |
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 |
US8660576B2 (en) | 2010-01-15 | 2014-02-25 | Apple Inc. | Adaptive location determination |
US8655371B2 (en) | 2010-01-15 | 2014-02-18 | Apple Inc. | Location determination using cached location area codes |
US8634860B2 (en) | 2010-01-15 | 2014-01-21 | Apple Inc. | Location determination using cached location area codes |
US8200251B2 (en) | 2010-01-15 | 2012-06-12 | Apple Inc. | Determining a location of a mobile device using a location database |
US8433334B2 (en) | 2010-01-15 | 2013-04-30 | Apple Inc. | Managing a location database for network-based positioning system |
US8447326B2 (en) | 2010-04-07 | 2013-05-21 | Apple Inc. | Selective location determination |
US20110252423A1 (en) | 2010-04-07 | 2011-10-13 | Apple Inc. | Opportunistic Multitasking |
US8886158B2 (en) | 2010-12-30 | 2014-11-11 | GreatCall, Inc. | Extended emergency notification systems and methods |
-
2010
- 2010-01-15 US US12/687,993 patent/US8504059B2/en active Active
-
2011
- 2011-01-13 KR KR1020127021371A patent/KR101347467B1/ko active IP Right Grant
- 2011-01-13 AU AU2011205243A patent/AU2011205243B2/en active Active
- 2011-01-13 WO PCT/US2011/021182 patent/WO2011088239A2/en active Application Filing
- 2011-01-13 JP JP2012549087A patent/JP5389275B2/ja active Active
- 2011-01-13 EP EP11706656.3A patent/EP2524554B1/en active Active
- 2011-01-13 CN CN201180014327.9A patent/CN103039115B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060240840A1 (en) | 2005-02-22 | 2006-10-26 | Skyhook Wireless, Inc. | Continuous data optimization by filtering and positioning systems |
KR20070060367A (ko) * | 2005-12-08 | 2007-06-13 | 삼성전자주식회사 | 무선 랜 단말의 접속 액세스 포인트 선택 장치 및 방법 |
KR20090009957A (ko) * | 2006-05-08 | 2009-01-23 | 스카이후크 와이어리스, 인크. | Wlan 위치 확인 시스템에서 사용하기 위한 wlan 액세스 포인트 특성의 품질 계산 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP2013517698A (ja) | 2013-05-16 |
US20110176494A1 (en) | 2011-07-21 |
AU2011205243B2 (en) | 2015-02-12 |
EP2524554A2 (en) | 2012-11-21 |
WO2011088239A2 (en) | 2011-07-21 |
CN103039115A (zh) | 2013-04-10 |
WO2011088239A3 (en) | 2014-03-27 |
US8504059B2 (en) | 2013-08-06 |
CN103039115B (zh) | 2016-05-25 |
EP2524554B1 (en) | 2016-12-07 |
AU2011205243A1 (en) | 2012-08-16 |
KR20120117870A (ko) | 2012-10-24 |
JP5389275B2 (ja) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101347467B1 (ko) | 이동 국가 코드를 이용한 위치 필터링 | |
KR101343219B1 (ko) | 위치 데이터베이스를 이용한 모바일 장치의 위치 결정 | |
US9119168B2 (en) | Managing a location database for network-based positioning system | |
US8447326B2 (en) | Selective location determination | |
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 | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161129 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20181129 Year of fee payment: 6 |