KR20180044345A - 검증된 위치 정보를 생성하고 퍼블리시하기 - Google Patents

검증된 위치 정보를 생성하고 퍼블리시하기 Download PDF

Info

Publication number
KR20180044345A
KR20180044345A KR1020187008100A KR20187008100A KR20180044345A KR 20180044345 A KR20180044345 A KR 20180044345A KR 1020187008100 A KR1020187008100 A KR 1020187008100A KR 20187008100 A KR20187008100 A KR 20187008100A KR 20180044345 A KR20180044345 A KR 20180044345A
Authority
KR
South Korea
Prior art keywords
location
wireless access
location information
access point
signed
Prior art date
Application number
KR1020187008100A
Other languages
English (en)
Other versions
KR102040785B1 (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 KR20180044345A publication Critical patent/KR20180044345A/ko
Application granted granted Critical
Publication of KR102040785B1 publication Critical patent/KR102040785B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • H04W64/003Locating users or terminals or network equipment for network management purposes, e.g. mobility management locating network equipment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

네트워크 디바이스의 위치를 찾기 위한 시스템 및 방법. 위치 제공자는 위치 데이터에 기초하여 무선 엑세스 포인트의 위치를 결정한다. 상기 위치 데이터는 복수의 네트워크 디바이스들 각각으로부터의 위치 데이터를 포함하며, 각 네트워크 디바이스에 대한 상기 위치 데이터는 네트워크 디바이스의 위치와 상기 무선 엑세스 포인트와 각 네트워크 디바이스 가느이 거리를 나타내는 데이터를 포함한다. 위치 제공자는 상기 무선 엑세스 포인트의 위치에 기초하여, 상기 무선 엑세스 포인트에 대한 위치 정보를 생성하며, 서명된 위치 정보를 형성하기 위해 상기 위치 정보를 크레덴셜로 서명하고, 그리고 상기 서명된 위치 정보를 상기 무선 엑세스 포인트에 통신한다.

Description

검증된 위치 정보를 생성하고 퍼블리시하기
모바일 컴퓨팅 디바이스 사용자들은 GPS(Global Positioning System)의 사용을 통해 위치를 결정하는데 익숙해졌다. GPS는 여러 스마트폰 어플리케이션들에 의해 스마트폰 사용자에게 위치-특정 정보를 제공하는데 사용된다. 그러나 GPS는 실외에서 잘 작동한다. GPS 수신기는 예를 들어 대도시 지역의 건물에 의해 GPS 위성 신호가 차단되는 경우 또는 GPS 수신기가 실내에 있는 경우 위치를 결정하기가 어렵다. GPS 수신기는 또한 동등한 Wi-Fi 수신기들보다 높은 전력 요구를 가지며 신뢰성이 낮은 위치 정보를 갖는 경향이 있다.
무선 엑세스 포인트들은 GPS 위치 서비스가 저하되거나 GPS 수신기에 의해 소비되는 전력이 문제인 상황에서 모바일 컴퓨팅 디바이스의 위치를 결정하는데 사용될 수 있다. 무선 엑세스 포인트들에 연결된 디바이스들은 예를 들어, 주변 Wi-Fi 환경을 스캔하고 검출된 무선 엑세스 포인트들과 관련하여 디바이스의 위치를 결정함으로써, 그들 주변의 무선 엑세스 포인트들의 위치들과 관련하여 그들의 위치를 계산할 수 있다. 일부 접근법에서, 디바이스는 스캔에 의해 밝혀진 디바이스로부터의 무선 엑세스 포인트들의 위치 및 거리에 기초하여 그것의 위치를 결정한다. 다른 접근법에서, 주변 Wi-Fi 환경을 스캔하여 엑세스 포인트들의 리스트와 그들의 신호 강도들을 산출한다. 디바이스는 클라우드의 서비스에 리스트를 전송할 수 있고, 여기서 상기 서비스는 이력 지식을 사용하여 디바이스의 위치를 결정할 수 있다. 서비스는 디바이스의 결정된 위치를 포함하는 응답을 디바이스에 전송할 수 있다.
일부 예시에서, 방법은 위치 제공자에 의해, 그리고 위치 데이터에 기초하여, 무선 엑세스 포인트의 위치를 결정하는 단계, 상기 위치 데이터는 복수의 네트워크 디바이스들 각각으로부터의 위치 데이터를 포함하며, 각 네트워크 디바이스에 대한 상기 위치 데이터는 상기 네트워크 디바이스의 위치와 상기 무선 엑세스 포인트와 각 네트워크 디바이스 간의 거리를 나타내는 데이터를 포함하며; 상기 위치 제공자에 의해, 그리고 상기 무선 엑세스 포인트의 상기 위치에 기초하여, 상기 무선 엑세스 포인트에 대한 위치 정보를 생성하는 단계; 서명된 위치 정보를 형성하기 위해 상기 위치 정보를 크레덴셜로 서명하는 단계; 및 상기 서명된 위치 정보를 상기 무선 엑세스 포인트에 통신하는 단계를 포함한다.
일부 예시에서, 위치 제공자는 네트워크 연결; 메모리 및 하나 이상의 프로세서들을 포함하며, 상기 각 프로세서는 상기 메모리에 연결되며, 상기 프로세서는: 상기 메모리에 저장된 위치 데이터에 기초하여, 무선 엑세스 포인트의 위치를 결정하고, 상기 위치 데이터는 복수의 네트워크 디바이스들 각각으로부터의 위치 데이터를 포함하며, 상기 각 네트워크 디바이스에 대한 상기 위치 데이터는 상기 네트워크 디바이스의 위치 및 상기 무선 엑세스 포인트와 상기 네트워크 디바이스 간의 거리를 나타내는 데이터를 포함하며; 상기 무선 엑세스 포인트에 대한 위치에 기초하여, 상기 무선 엑세스 포인트에 대한 위치 정보를 생성하고; 서명된 위치 정보를 형성하기 위해 상기 무선 엑세스 포인트에 대한 위치 정보를 크레덴셜로 서명하고; 그리고 상기 서명된 위치 정보를 상기 무선 엑세스 포인트에 통신하도록 구성된다.
일부 예시에서, 시스템은 위치 제공자; 상기 위치 제공자에 연결된 복수의 무선 엑세스 포인트들, 상기 복수의 엑세스 포인트들은 복수의 제1 무선 엑세스 포인트들을 포함하며; 및 상기 복수의 무선 엑세스 포인트들로부터 하나 이상의 무선 엑세스 포인트들에 연결하도록 구성되는 무선 인터페이스를 포함하는 모바일 컴퓨팅 디바이스를 포함하며, 상기 위치 제공자는 각 무선 엑세스 포인트에 대한 위치를 결정하고, 상기 위치를 위치 정보로서 대응하는 상기 무선 엑세스 포인트에 통신하며, 상기 제1 무선 엑세스 포인트들 각각에 대한 상기 위치 정보는 상기 위치 제공자와 연관된 디지털 서명으로 서명되며, 상기 복수의 무선 엑세스 포인트들로부터의 각 무선 엑세스 포인트는 그 무선 엑세스 포인트에 대한 상기 위치 정보를 무선으로 전송하며, 상기 모바일 컴퓨팅 디바이스는 상기 제1 무선 엑세스 포인트들에 의해 전송된 상기 서명된 위치 정보를 수신하고, 제1 무선 엑세스 포인트들 각각에 대한 상기 서명된 위치 정보가 상기 위치 제공자에 의해 서명되었음을 검증하고, 상기 위치 제공자에 의해 서명된 것으로서 검증된 위치 정보를 가지는 제1 무선 엑세스 포인트들은 검증된 제1 무선 엑세스 포인트들이며, 상기 모바일 컴퓨팅 디바이스는 상기 검증된 제1 무선 엑세스 포인트들 각각까지의 거리를 계산하며, 상기 모바일 컴퓨팅 디바이스는 상기 검증된 제1 무선 엑세스 포인트들 각각까지의 상기 거리와 상기 검증된 제1 무선 엑세스 포인트들 각각으로부터 수신된 상기 위치 정보에 기초하여 상기 모바일 컴퓨팅 디바이스의 위치를 결정한다.
일부 예시에서, 방법은 무선 디바이스에 의해, 복수의 무선 엑세스 포인트들 각각으로부터 각각의 서명된 위치 정보를 수신하는 단계, 상기 각각의 서명된 위치 정보는 대응하는 상기 무선 엑세스 포인트에 대한 위치 정보를 포함하며; 상기 무선 디바이스에 의해, 상기 각각의 서명된 위치 정보에 기초하여, 상기 각각의 서명된 위치 정보 중 임의의 것이 손상(compromised)되었는지 여부를 결정하는 단계; 및 상기 무선 디바이스에 의해, 그리고 손상되지 않은 상기 서명된 위치 정보와 상기 무선 디바이스와 손상되지 않았던 서명된 위치 데이터를 가지는 각 무선 엑세스 포인트 간의 거리를 나타내는 데이터에 기초하여, 상기 무선 디바이스의 위치를 결정하는 단계를 포함한다.
일부 예시에서, 디바이스는 메모리; 무선 인터페이스; 및 상기 메모리와 상기 무선 인터페이스에 연결된 프로세서를 포함하며, 상기 프로세서는 메모리에 복수의 무선 엑세스 포인트들 각각으로부터 수신된 서명된 위치 정보와 상기 모바일 컴퓨팅 디바이스와 각 무선 엑세스 포인트 간의 거리를 나타내는 데이터를 저장하고, 성기 서명된 위치 정보는 각 무선 엑세스 포인트의 위치를 식별하며; 임의의 무선 엑세스 포인트들 중 상기 서명된 위치 정보가 손상되었는지 결정하기 위해 상기 서명된 위치 정보를 검토하고; 손상되지 않은 상건 서명된 위치 정보 및 모바일 컴퓨팅 디바이스와 손상되지 않은 서명된 위치 데이터를 갖는 각 무선 엑세스 포인트 간의 거리를 나타내는 데이터에 기초하여, 모바일 컴퓨팅 디바이스의 위치를 결정하고; 그리고 상기 모바일 컴퓨팅 디바이스의 상기 위치를 메모리에 저장하도록 구성된다.
하나 이상의 예시들의 세부 내용은 첨부 도면과 아래의 설명에서 기술된다. 본 발명의 다른 구성들, 오브젝트들 및 이점들은 설명, 도면들 및 청구항들로부터 명백해질 것이다.
도 1은 본 발명의 하나 이상의 양태들에 따른 모바일 컴퓨팅 디바이스들이 무선 엑세스 포인트들과의 인터렉션을 통해 그들의 위치를 결정하는 예시적 시스템을 도시하는 개념도이다.
도 2는 본 발명의 하나 이상의 양태들에 따른, 예시적 위치 제공자를 도시하는 블록 다이어그램이다.
도 3은 본 발명의 하나 이상의 양태들에 따른, 예시적 모바일 컴퓨팅 디바이스를 도시하는 블록 다이어그램이다.
도 4는 엑세스 포인트 위치 정보를 통해 디바이스 위치를 결정하기 위한 예시적 프로세서를 도시하는 흐름도이다.
도 5a는 본 발명의 하나 이상의 양태들에 따른, 예시적 (위도, 경도, 토큰) 튜플을 도시한다.
도 5b는 본 발명의 하나 이상의 양태들에 따른, 예시적 서명된 (위도, 경도, 토큰, BSSID) 튜플을 도시한다.
도 6은 엑세스 포인트 위치 정보를 통해 디바이스 위치를 결정하기 위한 예시적 프로세스를 도시하는 흐름도이다.
도 7은 본 발명의 하나 이상의 양태들에 따른, 엑세스 포인트들이 다른 네트워크 디바이스들과의 인터렉션을 통해 그들의 위치를 결정하는 예시적 시스템을 도시하는 개념도이다.
도 8은 본 발명의 하나 이상의 양태들에 따른, 엑세스 포인트의 위치를 결정하기 위한 예시적 프로세스를 도시하는 흐름도이다.
도 9는 본 발명의 하나 이상의 양태들에 따른, 엑세스 포인트의 위치를 결정하기 위한 다른 예시적 프로세스를 도시하는 흐름도이다.
도 10은 본 발명의 하나 이상의 양태들에 따른, 위치 제공자가 엑세스 포인트의 위치를 결정하는 예시적 프로세스를 도시하는 흐름도이다.
도 11은 본 발명의 하나 이상의 양태들에 따른, 모바일 컴퓨팅 디바이스가 엑세스 포인트 위치 정보에서 전송된 국가 식별자에 기초하여 스캔하기 위한 Wi-Fi 채널들을 선택하는 동작의 예시적 모드를 도시하는 흐름도이다.
도 12a는 본 발명의 하나 이상의 양태들에 따른, 예시적 (위도, 경도, 토큰) 튜플 기반 국가 식별자를 도시한다.
도 12b는 본 발명의 하나 이상의 양태들에 따른, 예시적 서명된 (위도, 경도, 토큰, BSSID) 튜플 기반 국가 식별자를 도시한다.
일반적으로, 본 발명은 무선 엑세스 포인트들을 갖는 무선 근거리 통신망(WLAN)에서 모바일 컴퓨팅 디바이스의 위치를 결정하기 위한 기법들에 관한 것이다. 모바일 컴퓨팅 디바이스는 WLAN 환경을 스캔하고 하나 이상의 엑세스 포인트들로부터 신호를 수신한다. 각 엑세스 포인트 신호는 신호를 전송하는 엑세스 포인트의 위치를 자세히 설명하는 위치 정보를 포함한다. 디바이스는 주변 엑세스 포인트 각각에 대한 거리 및 엑세스 포인트로부터 수신하는 위치 정보에 기초하여 엑세스 포인트에 상대적인 위치를 결정한다. 일부 접근법에서, 주변 엑세스 포인트들 각각에 대한 거리는 수신된 신호 강도 표시(RSSI)에 기초하여 결정된다. 일부 접근법에서, 주변 엑세스 포인트들 각각에 대한 거리는 왕복 이동 시간(RTT) 추정에 기초하여 결정된다.
무선 엑세스 포인트들을 사용하여 위치를 결정하는 것의 문제점은, 엑세스 포인트들에 의해 퍼블리시된 위치 정보가 스푸핑(spoof)되거나 손상되어 디바이스가 그것의 위치를 결정하는 능력을 손상시키는 것이다. 예를 들어, 엑세스 포인트의 위치에 잘못된 위치 정보로 로드되었거나, 마지막 위치 업데이트 이후에 엑세스 포인트가 이동되었을 수 있다. 어느 경우이든, 모바일 컴퓨팅 디바이스는 이러한 시나리오들에서 그것의 위치를 정확하게 계산할 수 없다. 또한, 손상된 엑세스 포인트는 잘못된 기본 서비스 세트 식별(BSSID)과 같은 잘못된 식별자를 전송함으로써 다른 엑세스 포인트를 스푸핑하거나, 이전에 퍼블리시된 정보를 가져와 그것이 속하지 않는 다른 위치에서 복제할 수 있다.
이를 막기 위해, 일부 접근법에서, 위치 정보가 손상되었을 수 있음을 검출하고 스푸핑을 방지하기 위해, 위치 정보는 공개키 인증과 같은 디지털 서명으로 보호된다. 일부 접근법에서, 위치 정보가 손상되었을 수 있음을 검출하고 스푸핑을 방지하기 위해, 위치 정보는 무효의 위치 정보를 검출하기 위해 위치 정보 또는 업데이트 날짜를 전송해야만 하는 무선 엑세스 포인트의 식별자(예를 들어, 무선 엑세스 포인트의 BSSID)와 같은 보안 데이터로 보호된다.
일 예시적 접근법에서, 무선 엑세스 포인트들은 무선 근거리 네트워크를 스캐닝하고 위치 제공자에게 엑세스 포인트들의 리스트와 주변의 엑세스 포인트들 각각에 대한 거리의 추정을 설명하는 거리 측정을 제출함으로써 그들의 위치를 결정한다. 클라우드에서 동작하는 위치 서비스는 엑세스 포인트들의 리스트와 그들의 연관된 거리 측정들을 수신하고, 엑세스 포인트의 위치를 결정하고, 서명된 위치 정보를 신뢰할 수 있는 위치 정보로서 엑세스 포인트에 리턴한다. 일 예시적 접근법에서, 서명된 위치 정보는 위치 정보의 에이지를 전달하는데 사용되는 최종 업데이트 표시자를 포함한다.
도 1은 본 발명의 하나 이상의 양태들에 따른, 모바일 컴퓨팅 디바이스들이 무선 엑세스 포인트들과의 인터렉션을 통해 그들의 위치를 결정하는 예시적 시스템을 도시하는 개념도이다. 도 1의 예시적인 접근법에서, 시스템(10)은 무선 네트워크 링크들(16)을 통해 3개 이상의 무선 엑세스 포인트들(14)에 연결된 모바일 컴퓨팅 디바이스(12)를 포함한다. 하나 이상의 엑세스 포인트들(14)은 또한 링크들(22)을 통해 클라우드 기반 위치 서비스(18)와 같은 위치 제공자에 연결된다. 일부 예시적 접근법에서, 링크(22)는 클라우드 기반 위치 서비스(18)와 같은 위치 제공자에 대한 유선 네트워크 연결들을 포함한다. 일부 예시적 접근법에서, 링크(22)는 클라우드 기반 위치 서비스(18)에 대한 무선 네트워크 연결을 포함한다. 또한, 모바일 컴퓨팅 디바이스(12)는 링크(20)를 통해 클라우드 기반 위치 서비스(18)와 같은 위치 제공자에 연결될 수 있다. 일 예시적 접근법에서, 링크(20)는 예를 들어, 셀룰러 네트워크를 통해 클라우드 기반 위치 서비스(18)에 대한 무선 네트워크 연결을 포함한다.
일부 예시적 접근법에서, 모바일 컴퓨팅 디바이스(12)는 모바일폰, 태블릿 컴퓨터, 랩톱 컴퓨터, 컴퓨터화된 시계, 컴퓨터화된 안경, 컴퓨터화된 장갑 또는 임의의 다른 유형의 휴대용 컴퓨팅 디바이스와 같은 개별적 모바일 디바이스들을 나타낸다. 모바일 컴퓨팅 디바이스들(12)의 추가의 예시는 개인 휴대 정보 단말기(PDA), 휴대형 게임 시스템, 미디어 플레이어, 전자책 판독기, 모바일 텔레비전 플랫폼, 자동차 내비게이션 및 엔터테인먼트 시스템, 또는 네트워크(16)와 같은 네트워크를 통해 정보를 수신하도록 구성된 임의의 다른 유형의 모바일, 웨어러블 및 비-웨어러블 컴퓨팅 디바이스들을 포함한다.
동작에서, 무선 엑세스 포인트들(14)이 위치 서비스(18)로부터 위치 정보를 수신할 수 있는 동안, 모바일 컴퓨팅 디바이스(12)는 무선 엑세스 포인트들(14)로부터 수신된 위치 정보에 기초하여 위치를 결정할 수 있다. 일 예시적 접근법에서, 위치 서비스(18)는 위치 데이터에 기초하여 각 무선 엑세스 포인트(14)의 위치를 결정하고, 상기 위치를 위치 정보로서 각 무선 엑세스 포인트(14)에 전송할 수 있다. 상기 접근법 중 하나에서, 위치 데이터는 복수의 네트워크 디바이스 각각으로부터의 위치 데이터를 포함하며, 각 네트워크 디바이스에 대한 위치 데이터는 네트워크 디바이스의 위치 및 무선 엑세스 포인트와 각 네트워크 디바이스 간의 거리를 나타내는 데이터를 포함한다.
일 예시적 접근법에서, 위치 서비스(18)는 각 무선 엑세스 포인트(14)의 위치에 기초하여, 무선 엑세스 포인트(14)에 대한 위치 정보를 생성하고, 서명된 위치 정보를 형성하기 위해 위치 정보를 크레덴셜로 서명하고, 상기 서명된 위치 정보를 무선 엑세스 포인트(14)에 통신할 수 있다. 상기 크레덴셜은 위치 정보의 소스를 검증하거나, 위치 정보의 소스를 암호화하고 검증하는, 공개키 또는 개인 키, 신뢰된 인증 기관에 의해 발급된 공개키 인증서, 전자 서명, 디지털 서명 또는 위치 정보를 암호화하는 임의의 기타 메커니즘일 수 있다.
하나 이상의 제1 무선 엑세스 포인트들(14)에 대해, 위치 정보는 검증된 때, 각각의 위치 정보가 신뢰할 수 있음을 표시하는 보안 데이터를 포함할 수 있다. 일 예시적 접근법에서, 복수의 무선 엑세스 포인트들(14)로부터의 각 제1 무선 엑세스 포인트(14)는 그 무선 엑세스 포인트(14)에 대한 서명된 위치 정보를 모바일 컴퓨팅 디바이스(12)에 전송할 수 있다. 상기 접근법에서, 모바일 컴퓨팅 디바이스(12)는 서명된 위치 정보의 디지털 서명에 기초하여 각 제1 무선 엑세스 포인트(14)를 검증할 수 있고, 검증된 제1 무선 엑세스 포인트들(14) 각각에 대한 거리를 계산할 수 있고, 검증된 제1 무선 엑세스 포인트들(14) 각각으로부터 수신된 서명된 위치 정보와 검증된 제1 무선 엑세스 포인트들(14) 각각에 대한 거리에 기초하여 모바일 컴퓨팅 디바이스(12)의 위치를 결정할 수 있다.
일부 예시적 접근법에서, 복수의 무선 엑세스 포인트들(14)은 하나 이상의 제2 무선 엑세스 포인트들을 더 포함할 수 있다. 위치 제공자는 각각의 제2 무선 엑세스 포인트(14)의 위치를 결정할 수 있고, 그 위치를 서명되지 않은 위치 정보로서 대응하는 제2 무선 엑세스 포인트들 각각에 전송할 수 있다. 각각의 제 2 무선 엑세스 포인트(14)는 상기 제2 무선 엑세스 포인트(14)에 대한 서명되지 않은 위치 정보를 모바일 컴퓨팅 디바이스(12)에 전송할 수 있다. 모바일 컴퓨팅 디바이스(12)는 제2 무선 엑세스 포인트들 각각까지의 거리를 계산할 수 있으며, 상기 검증된 제1 무선 엑세스 포인트들 각각으로부터 수신된 상기 서명된 위치 정보, 상기 제2 무선 엑세스 포인트들 각각으로부터 수신된 상기 서명되지 않은 위치 정보, 상기 검증된 제1 무선 엑세스 포인트들 각각까지의 거리 및 제2 무선 엑세스 포인트들 각각까지의 거리에 기초하여 모바일 컴퓨팅 디바이스의 위치를 결정할 수 있다.
일 접근법에서, 무선 엑세스 포인트들(14)은 그들의 비콘 신호 내 또는 모바일 컴퓨팅 디바이스들(12)로부터의 탐색들에 응답하여 그들의 위치를 퍼블리시할 수 있다. 모바일 컴퓨팅 디바이스(12)는 엑세스 포인트들(14)로부터 수신된 위치 정보를 사용하여 모바일 컴퓨팅 디바이스(12)의 현재 위치를 결정한다. 예를 들어, 모바일 컴퓨팅 디바이스(12)는 각 엑세스 포인트(14)로부터 수신된 각각의 수신 신호 강도 표시(RSSI) 추정치들에 기초하여 각 엑세스 포인트(14)에 대한 거리를 결정할 수 있다. 모바일 컴퓨팅 디바이스(12)는 그 위치를 결정하기 위해, 각각의 RSSI 추정치와 함께 인접 엑세스 포인트(14)에 의해 퍼블리시된 위치 정보를 사용한다. 일부 접근법에서, 디바이스(12)는 아래에서 기술될 바와 같이, 위치 검증을 위해 클라우드 기반 위치 서비스(18)에 그것의 계산된 위치를 통신할 수 있다.
전술한 바와 같이, 일부 접근법에서, 모바일 컴퓨팅 디바이스(12)는 RSSI에 기초하여 주변 엑세스 포인트들 각각에 대한 거리를 계산할 수 있다. 다른 접근법에서, 모바일 컴퓨팅 디바이스(12)는 왕복 이동 시간(RTT) 추정치에 기초하여 주변 엑세스 포인트들 각각에 대한 거리를 계산할 수 있다. 전술한 바와 같이, 위치 정보가 손상된 경우를 검출하고 스푸핑을 방지하기 위해, 위치 정보는 공개키 인증서와 같은 디지털 서명으로 보호된다. 일부 접근법에서, 모바일 컴퓨팅 디바이스(12)는 전송하는 엑세스 포인트(14)의 소스 식별자가 서명된 위치 정보에 내장된 소스 식별자와 일치하는지를 검증하기 위해 서명된 위치 정보에 내장된 소스 식별자를 사용할 수 있다. 일부 이러한 접근법에서, 소스 식별자는 BSSID(basic service set identification)로서 포함될 수 있고, 모바일 컴퓨팅 디바이스(12)는 무선 엑세스 포인트로부터 수신된 서명된 위치 정보의 BSSID가 무선 엑세스 포인트를 식별하는 BSSID와 일치하는지를 검증할 수 있다.
위치 정보를 전송할 수 있기 위해, 일부 예시적 접근법에서, 무선 엑세스 포인트들은 위치 제공자를 통해 그들 고유의 위치를 결정한다. 일부 접근법에서, 위치 제공자는 위치 서비스(18)와 같은 클라우드 기반 서비스이다. 일부 접근법에서, 무선 엑세스 포인트들(14)은 주변 무선 엑세스 포인트들과 통신하여 주변 엑세스 포인트들(14)까지의 거리들을 결정한다. 그 후, 무선 엑세스 포인트들(14)은 주변 무선 엑세스 포인트들의 리스트와 주변 무선 엑세스 포인트들(14)까지의 거리들(예를 들어, RSSI 또는 RTT를 통한 측정치)을 클라우드 기반 위치 서비스(18)에 전송할 수 있다. 클라우드 기반 위치 서비스(18)는 엑세스 포인트의 위치를 결정하고 위치 정보의 서명된 사본을 요청하는 엑세스 포인트에 전송할 수 있다. 그 후, 무선 엑세스 포인트(14)는위치 정보를 모바일 컴퓨팅 디바이스(12)에 의한 요청에 응답하여 또는 그것의 비콘 신호의 일부로서 전송하여, 위치 정보가 모바일 컴퓨팅 디바이스(12)의 위치를 결정하기 위해 모바일 컴퓨팅 디바이스(12)에 의해 사용될 수 있게 한다.
일 예시적 접근법에서, 시스템(10)은 엑세스 포인트에 의해 전송된 위치 정보에 보안 데이터를 첨부함으로써 스푸핑을 제한할 수 있다. 보안 데이터에 기초한 모바일 컴퓨팅 디바이스(12)에 의한 보안 체크가 실패하면, 모바일 컴퓨팅 디바이스(12)는 엑세스 포인트 위치가 손상된 것으로 가정할 수 있다. 다른 예시적 접근법에서, 위치 정보는 정보가 신뢰할 만한지를 결정하기 위해 모바일 컴퓨팅 디바이스(12)에 의해 사용되는 디지털 서명을 포함한다.
각각의 무선 엑세스 포인트(14)는 그 무선 엑세스 포인트에 대한 위치 정보를 수신할 수 있고, 그 위치 정보를 비콘 신호 전송으로서 모바일 컴퓨팅 디바이스들(12)에 전송할 수 있다. 예시적 접근법에서, 각각의 모바일 컴퓨팅 디바이스(12)는 무선 엑세스 포인트(14)에 의해 전송된 위치 정보를 수신할 수 있고, 보안 데이터를 사용하여 신뢰된 위치 정보로서 식별된 위치 정보를 검증할 수 있고, 복수의 무선 엑세스 포인트들 각각으로부터 수신된 신뢰된 위치 정보에 기초하여 그 모바일 컴퓨팅 디바이스의 위치를 결정할 수 있다. 상기 예시적 접근법에서, 모바일 컴퓨팅 디바이스의 위치는 사전 지식 또는 다른 소스로부터 획득된 모바일 디바이스 위치의 지식을 고려한다.
예시적 접근법에서, 각각의 모바일 컴퓨팅 디바이스(12)는 무선 엑세스 포인트들(14)에 의해 전송된 위치 정보를 수신할 수 있고, 보안 데이터를 사용하여 신뢰된 위치 정보로서 식별된 위치 정보를 검증할 수 있고, 신뢰된 위치 정보에 기초하여 복수의 무선 엑세스 포인트들에 대한 거리를 결정하고, 복수의 무선 엑세스 포인트들 각각으로부터 수신된 신뢰된 위치 정보 및 복수의 무선 엑세스 포인트들 각각에 대한 거리에 기초하여 그 모바일 컴퓨팅 디바이스의 위치를 결정할 수 있다.
도 2는 본 발명의 하나 이상의 양태들에 따른, 예시적 위치 제공자를 도시하는 블록 다이어그램이다. 도2에서 도시된 예시에서, 위치 제공자 서버(200)는 위치 서비스(18)를 호스팅한다. 일 예시적 접근법에서, 위치 제공자 서버(200)는 통신 채널(204)를 통해 하나 이상의 통신 유닛들(202) 및 하나 이상의 저장 디바이스들(206)에 연결된 하나 이상의 프로세서들(201)을 포함한다.
위치 제공자 서버(200)는 도 1의 위치 서비스(18)의 일 예시적 구현예를 도시하며, 도 1의 시스템(10)의 맥락에서 아래에 기술된다. 도 2는 위치 제공자의 단지 하나의 특정 예시를 도시하며, 위치 서비스(18)과 같은 위치 제공자의 다른 예시들은 다른 경우들에도 사용될 수 있고 예시적 위치 제공자 서버(200)에 포함된 컴포넌트들의 서브셋을 포함할 수 있거나 또는 도 2에 도시되지 않은 추가적인 컴포넌트들을 포함할 수 있다.
위치 제공자 서버(200)는 무선 엑세스 포인트들(14)에 그들의 위치를 결정하고 위치 제공자에 의해 연산된 다른 위치들에 대한 모바일 컴퓨팅 디바이스(12)의 위치를 검증하기 위한 메커니즘을 제공할 수 있다. 도 2의 예시에서 도시된 바와 같이, 위치 제공자 서버(200)의 저장 디바이스들(206)은 위치 결정 모듈(210)과 보안 모듈(212)을 포함한다.
위치 제공자 서버(200)의 저장 디바이스들(206)은 디바이스 위치 데이터 저장소(220A), 스캔 결과 데이터 저장소(220B) 및 위치 정보 데이터 저장소(220C)(집합적으로, ““데이터 저장소들(220)””)을 더 포함한다. 통신 채널(204)은 컴포넌트 상호간 통신을 위해(물리적으로, 통신적으로 및/또는 동작적으로) 각각의 컴포넌트들(200, 202 및 206)과 상호 연결될 수 있다. 일부 예시에서, 통신 채널(204)은 시스템 버스, 네트워크 연결, 프로세스 상호간 통신 데이터 구조 또는 데이터를 통신하기 위한 임의의 기타 기법을 포함할 수 있다.
위치 제공자 서버(200)의 하나 이상의 통신 유닛들(202)은 도 1의 링크(16, 20 및 22)와 같은 네트워크 링크들을 통해 하나 이상의 네트워크 상에서 네트워크 신호를 송신 및/또는 수신함으로써, 도 1의 모바일 컴퓨팅 디바이스들(12) 및 무선 엑세스 포인트들(14)과 같은 외부 네트워크 디바이스들과 통신할 수 있다. 예를 들어, 위치 제공자 서버(200)는 모바일 컴퓨팅 디바이스들(12)과 정보를 교환하기 위해 링크(20)를 통해 무선 신호를 송신 및/또는 수신하기 위해 통신 유닛(202)을 사용할 수 있다. 통신 유닛(202)의 예는 네트워크 인터페이스 카드(예를 들어, 이더넷 카드와 같은), 광학적 트랜시버, 무선 주파수 트랜시버, GPS 수신기, 또는 정보를 송신 및/또는 수신할 수 있는 임의의 다른 유형의 디바이스일 수 있다. 통신 유닛들(202)의 다른 예는 유선 네트워크, 무선 네트워크, 단파 라디오, 셀룰러 데이터 라디오, 무선 이더넷 네트워크 라디오 및 범용 직렬 버스(USB) 컨트롤러를 포함할 수 있다.
위치 제공자 서버(200) 내의 하나 이상의 저장 디바이스들(206)은 위치 제공자 서버(200)의 동작 동안 프로세싱하기 위한 정보를 저장할 수 있다(예를 들어, 위치 서비스(18)는 위치 제공자 서버(200)에서의 실행 중에 모듈들(210 및 212)에 의해 엑세스되는 데이터를 저장할 수 있다). 일부 예시에서, 저장 디바이스들(206)은 일시적인 메모리이며, 이는 저장 디바이스(206)의 주요 목적이 장기 저장이 아니라는 것을 의미한다. 위치 제공자 서버(200)상의 저장 디바이스들(206)은 정보의 단기 저장을 위해 휘발성 메모리로서 구성될 수 있고, 따라서 전원이 꺼지면 저장된 내용들을 보유하지 않는다. 휘발성 메모리들의 예는 랜덤 엑세스 메모리(RAM), 동적 랜덤 엑세스 메모리(DRAM), 정적 랜덤 엑세스 메모리(SRAM) 및 당업계에 공지된 다른 형태의 휘발성 메모리를 포함한다.
일부 예시에서, 저장 디바이스들(206)은 하나 이상의 컴퓨터 판독가능 저장 매체도 포함한다. 저장 디바이스들(206)은 휘발성 메모리보다 많은 양의 정보를 저장하도록 구성될 수 있다. 저장 디바이스들(206)은 비휘발성 메모리 공간으로서 정보의 장기 저장을 위해 더 구성될 수 있고, 전원의 온/오프 사이클들 후에도 정보를 유지한다. 비휘발성 메모리의 예는 자기 하드 디스크, 광 디스크, 플로피 디스크, 플래시 메모리, 또는 전기적으로 프로그램 가능한 메모리(EPROM) 또는 전기적으로 소거 및 프로그램 가능한 (EEPROM) 메모리의 형태를 포함한다. 저장 디바이스들(206)은 모듈들(210 및 212)과 연관된 프로그램 명령들 및/또는 데이터를 저장할 수 있다.
하나 이상의 프로세서들(201)은 위치 제공자 서버(200) 내에서 기능을 구현하고 및/또는 명령을 실행할 수 있다. 예를 들어, 위치 제공자 서버(200)상의 프로세서들(201)은 모듈들(210 및 212)의 기능을 실행하는 저장 디바이스들(206)에 의해 저장된 명령들을 수신하고 실행할 수 있다. 프로세서들(201)에 의해 실행되는 이러한 명령들은 위치 제공자 서버(200)로 하여금 프로그램 실행 중 저장 디바이스들(206) 내에 정보를 저장하게 한다. 프로세서들(201)은 모듈들(210 및 212)의 명령들을 실행하여, 엑세스 포인트들(14)과 모바일 컴퓨팅 디바이스들(12)의 위치를 결정한다. 즉, 모듈들(210 및 212)은 프로세서들(201)에 의해 동작가능하며, 본 명세서에 기술된 위치 제공자 서버(200)의 다양한 액션들 또는 기능들을 수행한다.
저장 디바이스들(206)은 무선 엑세스 포인트들(14)과 모바일 컴퓨팅 디바이스들(12)의 위치를 결정하는 것과 관련된 정보를 저장하는 임의의 적절한 저장 매체를 나타낸다. 저장 디바이스들(206)에 저장된 정보는 검색가능하고 및/또는 카테고리화되어, 하나 이상의 모듈들(210 및 212)이 하나 이상의 저장 디바이스들(206)로부터 정보를 요청하는 입력을 제공하고, 상기 입력에 응답하여 저장 디바이스들(206) 내에 저장된 정보를 수신하도록 한다.
일부 예시적 접근법에서, 디바이스 위치 데이터 저장소(220A)는 위치 결정 모듈(210)을 실행하는 프로세서들(201)에 의해 결정된 것으로서의 디바이스 위치 정보를 포함한다. 일부 접근법에서, 모바일 컴퓨팅 디바이스(12)와 무선 엑세스 포인트(14)와 같은 네트워크 디바이스들에 대해 결정된 위치 정보의 서명되지 않은 버전은 프로세서들(201)에 의한 내부 엑세스에 대한 디바이스 위치 데이터 저장소(220A)에 주로 유지될 수 있다.
일부 예시적 접근법에서, 예를 들어 무선 엑세스 포인트들(14)과 모바일 컴퓨팅 디바이스들(12)과 같은 네트워크 디바이스들에 의해 위치 제공자 서버(200)에 제시된 스캔 결과는 스캔 결과 데이터 저장소(220B)에 저장되고, 그 스캔들과 다른 무선 엑세스 포인트들(14)에 의해 제출된 스캔 간의 이각(anomalie)들을 검출하는데 사용된다. 마지막으로, 서명된 트리플들 또는 튜플들과 같은 위치 정보는 위치 정보 데이터 저장소(220C)에 저장된다.
일부 예시에서, 위치 결정 모듈(210)은 무선 엑세스 포인트(14)에 의해 제공된 스캔된 정보로부터 각 무선 엑세스 포인트의 위치를 결정하고, 상기 위치를 상기 대응하는 무선 엑세스 포인트에 위치 정보로서 전송한다. 일부 예시에서, 위치 정보는 위치 정보를 서명된 위치 정보로서 식별하는 보안 데이터를 포함한다. 각 무선 엑세스 포인트(14)는 그 무선 엑세스 포인트에 대한 위치 정보를 수신하고 상기 위치 정보를 무선 전송으로서 모바일 컴퓨팅 디바이스들(12)에 전송한다. 일부 접근법에서, 무선 엑세스 포인트는 새로운 위치 정보를 수락하기 전에 예상된 위치 서비스(18)로부터 수신된 위치 정보를 검증한다.
일부 예시에서, 보안 모듈(212)은 무선 엑세스 포인트(14)로부터 수신된 스캔된 정보가 다른 무선 엑세스 포인트들(14)로부터 수신된 정보 그리고 일부 경우에, 디바이스 위치 데이터 저장소(220A)와 스캔 결과 데이터 저장소(220B)에 저장된 것과 같은 모바일 컴퓨팅 디바이스들(12)에 의해 제공된 위치 정보와 와 일관되는지 보기 위해 체크한다.
일부 예시에서, 보안 모듈(212)은 서명된 위치 정보를 무선 엑세스 포인트(14)에 전송하기 전에 서명된 위치 정보를 형성하기 위해 위치 정보를 서명한다. 위치 정보는 예를 들어, 위치 서비스(18)의 공개키를 사용하여 서명된다.
도 3은 본 발명의 하나 이상의 양태들에 따른, 예시적 모바일 컴퓨팅 디바이스(12)를 도시하는 블록 다이어그램이다. 도 3의 모바일 컴퓨팅 디바이스는 도 1의 모바일 컴퓨팅 디바이스(12)의 더 상세한 예시이며, 도 1의 시스템(10)의 맥락 내에서 아래에 기술된다. 도 3은 모바일 컴퓨팅 디바이스(12)의 단지 하나의 특정 예시를 도시하며, 모바일 컴퓨팅 디바이스(12)의 다른 많은 예시들도 사용될 수 있다; 일부는 예시적 모바일 컴퓨팅 디바이스(12)에 포함된 컴포넌트들의 서브셋을 포함하거나 도 3에서 도시되지 않은 추가적인 컴포넌트들을 포함할 수 있다. 도 3에서 도시된 예시에서, 모바일 컴퓨팅 디바이스(12)는 통신 채널(404)을 통해 하나 이상의 통신 유닛(402), 하나 이상의 사용자 인터페이스(408) 및 하나 이상의 저장 디바이스들(406)에 연결된 하나 이상의 프로세서들(400)을 포함한다.
일 예시에서, 모바일 컴퓨팅 디바이스(12)는 무선 엑세스 포인트들(14)의 위치를 상세히 설명하는 위치 정보를 수신하고, 모바일 무선 디바이스의 위치를 결정하고, 위치 서비스(18)에 의해 계산된 다른 위치들에 대하여 계산된 위치를 검증한다. 도 3의 예시에 도시된 바와 같이, 모바일 컴퓨팅 디바이스(12)의 저장 디바이스들(406)은 위치 결정 모듈(410) 및 보안 모듈(412)을 포함한다.
위치 제공자 서버(200)의 저장 디바이스들(406)은 스캔 결과 데이터 저장소(420B) 및 위치 정보 데이터 저장소(420C)(집합적으로 "데이터 저장소들(420)")를 더 포함한다. 통신 채널(404)은 컴포넌트 상호간 통신(물리적으로, 통신적으로 및/또는 동작적으로)을 위해 컴포넌트(400, 402 및 406) 각각을 상호 연결시킬 수 있다. 일부 예시에서, 통신 채널(404)은 시스템 버스, 네트워크 연결, 프로세스 상호간 통신 데이터 구조, 또는 데이터를 통신하기 위한 임의의 기타 방법을 포함할 수 있다.
모바일 컴퓨팅 디바이스(12)의 하나 이상의 통신 유닛들(402)은 (도 1의 링크(16 및 20)로 도시된 것과 같은) 하나 이상의 네트워크 상에서 네트워크 신호를 송신 및/또는 수신함으로써, 도 1의 위치 서비스(18)(예를 들어, 링크(20)를 사용하는) 및 무선 엑세스 포인트들(14)(예를 들어, 링크(16)를 사용하는)과 같은 외부 네트워크 디바이스들과 통신할 수 있다. 예를 들어, 모바일 컴퓨팅 디바이스(200)는 위치 서비스(18)와 정보를 교환하기 위해 링크(20)를 통해 무선 신호를 송신 및/또는 수신하기 위해 통신 유닛(202)을 사용할 수 있다. 통신 유닛(202)의 예는 네트워크 인터페이스 카드(예를 들어, 이더넷 카드와 같은), 광학적 트랜시버, 무선 주파수 트랜시버, GPS 수신기, 또는 정보를 송신 및/또는 수신할 수 있는 임의의 다른 유형의 디바이스일 수 있다. 통신 유닛들(202)의 다른 예는 유선 네트워크, 무선 네트워크, 단파 라디오, 셀룰러 데이터 라디오, 무선 이더넷 네트워크 라디오 및 범용 직렬 버스(USB) 컨트롤러를 포함할 수 있다.
모바일 컴퓨팅 디바이스(12) 내의 하나 이상의 저장 디바이스들(406)은 모바일 컴퓨팅 디바이스(200)의 동작 동안 프로세싱하기 위한 정보를 저장할 수 있다(예를 들어, 모바일 컴퓨팅 디바이스(12)는 모바일 컴퓨팅 디바이스(12)에서의 실행 중에 모듈들(410 및 412)에 의해 엑세스되는 데이터를 저장 디바이스(406)에 저장할 수 있다). 일부 예시에서, 저장 디바이스들(406)은 일시적인 메모리이며, 이는 저장 디바이스(406)의 주요 목적이 장기 저장이 아니라는 것을 의미한다. 모바일 컴퓨팅 디바이스(12)상의 저장 디바이스들(406)은 정보의 단기 저장을 위해 휘발성 메모리로서 구성될 수 있고, 따라서 전원이 꺼지면 저장된 내용들을 보유하지 않는다. 휘발성 메모리들의 예는 랜덤 엑세스 메모리(RAM), 동적 랜덤 엑세스 메모리(DRAM), 정적 랜덤 엑세스 메모리(SRAM) 및 당업계에 공지된 다른 형태의 휘발성 메모리를 포함한다.
일부 예시에서, 저장 디바이스들(406)은 하나 이상의 컴퓨터 판독가능 저장 매체도 포함한다. 저장 디바이스들(406)은 휘발성 메모리보다 많은 양의 정보를 저장하도록 구성될 수 있다. 저장 디바이스들(406)은 비휘발성 메모리 공간으로서 정보의 장기 저장을 위해 더 구성될 수 있고, 전원의 온/오프 사이클들 후에도 정보를 유지한다. 비휘발성 메모리의 예는 자기 하드 디스크, 광 디스크, 플로피 디스크, 플래시 메모리, 또는 전기적으로 프로그램 가능한 메모리(EPROM) 또는 전기적으로 소거 및 프로그램 가능한 (EEPROM) 메모리의 형태를 포함한다. 저장 디바이스들(406)은 모듈들(410 및 412)과 연관된 프로그램 명령들 및/또는 데이터를 저장할 수 있다.
하나 이상의 프로세서들(400)은 모바일 컴퓨팅 디바이스(12) 내에서 기능을 구현하고 및/또는 명령을 실행할 수 있다. 예를 들어, 모바일 컴퓨팅 디바이스(12)상의 프로세서들(400)은 모듈들(410 및 412)의 기능을 실행하는 저장 디바이스들(406)에 의해 저장된 명령들을 수신하고 실행할 수 있다. 프로세서들(400)에 의해 실행되는 이러한 명령들은 모바일 컴퓨팅 디바이스(12)로 하여금 프로그램 실행 중 저장 디바이스들(406) 내에 정보를 저장하게 한다. 프로세서들(400)은 모듈들(410 및 412)의 명령들을 실행하여, 모바일 컴퓨팅 디바이스들(12)의 위치를 결정한다. 즉, 모듈들(410 및 412)은 프로세서들(400)에 의해 동작가능하며, 본 명세서에 기술된 모바일 컴퓨팅 디바이스(12)의 다양한 액션들 또는 기능들을 수행한다.
데이터 저장소들(406)은 모바일 컴퓨팅 디바이스(12)의 위치를 결정하는 것과 관련된 정보를 저장하는 임의의 적절한 저장 매체를 나타낸다. 데이터 저장소들(406)에 저장된 정보는 검색가능하고 및/또는 카테고리화되어, 하나 이상의 모듈들(410 및 412)이 하나 이상의 데이터 저장소들(406)로부터 정보를 요청하는 입력을 제공하고, 상기 입력에 응답하여 데이터 저장소들(406) 내에 저장된 정보를 수신하도록 한다.
일부 예시적 접근법에서, 무선 엑세스 포인트들(14)로부터 수신된 스캔 결과는 스캔 결과 데이터 저장소(420B)에 저장되고, 모바일 컴퓨팅 디바이스(12)의 위치를 결정하는데 사용된다. 상기 예시적 접근법에서, 이전의 스캔 결과는 새롭게 획득된 스캔 결과와 비교되어 새롭게 획득된 스캔 결과가 이전의 스캔 결과와 일관되는지 결정한다. 일수 예시적 접근법에서, 스캔 결과는 무선 엑세스 포인트의 위치와 무선 엑세스 포인트까지의 거리의 측정치를 포함한다. 일부 예시적 접근법에서, 거리 측정치는 RSSI의 함수이며, 다른 예시적 접근법에서, 거리 측정치는 RTT의 함수이다.
일부 예시에서, 무선 엑세스 포인트들(14)로부터 수신된 위치 정보는 위치 정보의 양태들을 보안화하는 보안 데이터이다.
일부 예시적 접근법에서, 위치 정보 데이터 저장소(420C)는 위치 결정 모듈(410)을 실행하는 프로세서(400)에 의해 결정된 것으로서 위치 정보를 포함한다. 일부 예시에서, 위치 결정 모듈(410)은 무선 엑세스 포인트들(14)로부터 수신된 위치 정보와 무선 엑세스 포인트들까지의 거리에 기초하여 모바일 컴퓨팅 디바이스(12)의 위치를 결정하고, 위치 정보 데이터 저장소(420C)에 위치를 저장한다.
일부 예시에서, 보안 모듈(413)은 무선 엑세스 포인트(14)로부터 수신된 위치 정보가 신뢰된 위치 서비스(18)로부터 온 것인지 검증한다. 일부 예시에서, 이는 위치 정보가 예상된 신뢰된 위치 제공자에 의해 서명되었음을 검증하는 것을 포함한다. 일부 예시에서, 보안 모듈(412)은 위치 정보가 최신인지 체크한다. 또한, 일부 예시에서, 보안 모듈(412)은 위치 정보가 예상된 무선 엑세스 포인트(14)로부터 온 것인지 체크한다.
일부 예시에서, 보안 모듈(412)은 위치 서비스(18)와 통신하여 그것의 최종 위치를 위치 서비스(18)에 전송한다. 일부 예시에서, 위치 서비스(18)는 위치를 수신하고, 그 위치를 체크하여 위치가 무선 엑세스 포인트들(14) 및 다른 모바일 컴퓨팅 디바이스들(12)로부터 수신된 다른 정보와 일관되는지 결정한다.
도 4는 무선 엑세스 포인트 위치 정보를 통해 디바이스 위치를 결정하기 위한 예시적 프로세스를 도시하는 흐름도이다. 도 4는 도 1의 시스템(10)의 맥락에서 아래에 기술된다. 예를 들어, 모바일 컴퓨팅 디바이스(12)는 본 발명의 하나 이상의 양태들에 따른, 모바일 컴퓨팅 디바이스(12)의 위츨 결정하기 위한 동작들(40-46)을 수행할 수 있다.
도 4에 도시된 예시에서, 모바일 컴퓨팅 디바이스(12)는 무선 엑세스 포인트들(14) 각각으로부터 비콘 신호를 수신한다(40). 모바일 컴퓨팅 디바이스(12)는 비콘 신호들 각각으로부터 서명된 위치 정보를 추출하고(42), 각 무선 엑세스 포인트로부터의 서명된 위치 정보를 사용하여 상기 무선 엑세스 포인트의 위치를 식별한다. 모바일 컴퓨팅 디바이스(12)는 서명된 위치 정보를 제공한 2개 이상의 엑세스 포인트들(14)에 대한 거리를 계산하고(44), 그것의 위치를 각 무선 엑세스 포인트(14)의 위치의 함수로서 그리고 각 무선 엑세스 포인트(14)에 대한 거리로서 계산한다(46).
일부 예시적 접근법에서, 모바일 컴퓨팅 디바이스(12)는 위치 정보를 검토하여, 상기 위치 정보가 신뢰된 위치 서비스(18)로부터 온 것인지 결정한다. 일부 예시에서, 위치 정보가 신뢰된 위치 서비스(18)로부터 온 것인지 결정하는 것은 위치 정보가 예상된 신뢰된 위치 제공자에 의해 서명됨을 검증하는 것을 포함한다.
대안적 예시에서, 각 모바일 컴퓨팅 디바이스(12)는 그것의 이웃하는 엑세스 포인트들(14)을 탐색하고, 전송하는 엑세스 포인트(14)의 위치를 식별하는 서명된 위치 정보를 포함하는 응답을 수신한다. 모바일 컴퓨팅 디바이스(12)는 상기 응답으로부터 위치 정보를 추출하고, 서명된 위치 정보를 제공한 각 엑세스 포인트(14)에 대한 거리를 계산한다. 그 후, 둘 모두 모바일 컴퓨팅 디바이스(12)의 위치를 계산하는데 사용된다. 일부 예시적 접근법에서, 다시 한번, 모바일 컴퓨팅 디바이스(12)는 위치 정보를 검토하여, 상기 기술된 바와 같이 상기 위치 정보가 신뢰된 위치 서비스(18)로부터 온 것인지 결정한다.
일부 예시적 접근법에서, 보안 모듈(412)은 위치 정보가 최신인지 결정하기 위해 체크한다. 일 예시적 접근법에서, 각 비콘 신호는 무선 엑세스 포인트(14)의 위치 정보가 업데이트된 최종 시간의 표시를 포함한다. 일 예시적 접근법에서, 위치 정보는 디지털적으로 서명되고 미리 정의된 시간의 기간 내에 업데이트된 경우 신뢰된 것으로 취급된다.
일부 예시적 접근법에서, 보안 모듈(412)은 위치 정보가 예상된 무선 엑세스 포인트(14)로부터 온 것인지 결정하기 위해 체크한다. 일 예시적 접근법에서, 각 비콘 신호는 엑세스 포인트와 연관된 식별자를 포함한다. 상기 접근법에서, 식별자는 무선 엑세스 포인트(14)의 BSSID이다.
엑세스 포인트 위치들에 대한 이력 지식의 캐시를 유지함으로써, 클라우드 기반 위치 서비스들(18)에 대한 네트워크 연결이 때때로 부족할 수 있음을 보완할 수 있다. 일 예시적 접근법에서, 이력 지식은 클라우드에 유지되어 그 데이터에 대한 오프라인 엑세스를 허용한다.
일 예시적 접근법에서, 무선 엑세스 포인트들(14)과 모바일 컴퓨팅 디바이스들(12)의 위치들은 신뢰된 위치 정보에만 기초하여, 신뢰된 위치 정보와 신뢰된 위치 정보를 제공하지 않는 무선 엑세스 포인트들(14)로부터 수신된 정보의 조합에 기초하여, 신뢰된 위치 정보와 무선 엑세스 포인트(14) 또는 위치가 결정되고 있는 모바일 컴퓨팅 디바이스(12)에 저장된 이력 위치 정보의 조합에 기초하여, 또는 신뢰된 위치 정보, 신뢰되지 않은 위치 정보 및 이력 위치 정보의 조합에 기초하여 계산될 수 있다.
일 예시적 접근법에서, 모바일 컴퓨팅 디바이스(12)는 BSSID에 의해 인덱싱된 이력 위치 정보의 테이블을 유지한다. 이력 위치 정보의 테이블은 예를 들어, 서명된 위치 정보가 무선 엑세스 포인트로부터 사용가능하지 않은 경우 무선 엑세스 포인트(14)의 위치를 획득하는데 사용될 수 있다. 이 이슈를 해결하기 위해, 일 예시적 접근법에서, 아래에서 더 상세히 논의될 바와 같이, 모바일 컴퓨팅 디바이스(12)는 이력 지식을 캐시할 수 있고, 위치를 매칭하는 것 대신에, 이력 위치 정보에 기초하여 BSSID를 사용하여 위치를 식별할 수 있다. 일 접근법에서, 모바일 컴퓨팅 디바이스(12)는 모바일 컴퓨팅 디바이스(12)의 무선 칩셋에 의해 수행되는 삼각 측량(triangulation)이 디바이스(12)를 특정(위도, 경도) 조합에 위치시키는 경우 위치 기반 리마인더를 트리거링한다. 이는 특정 채널들에서 특정 BSSID들을 찾을 필요를 제거하며, 지오펜스를 보다 정확하게 식별하게 한다.
도 5a는 본 발명의 하나 이상의 양태들에 따른, 예시적 (위도, 경도, 토큰) 튜플(500)을 도시한다. 상기 언급된 바와 같이, 위치 정보는 비콘 신호로서 각 무선 엑세스 포인트(14)에 의해 전송되거나 모바일 컴퓨팅 디바이스(12)에 의한 탐색에 대한 응답으로 무선 엑세스 포인트(14)에 의해 전송된다. 도 5a에 도시된 예시에서, 위치 정보는 위도(502), 경도(504) 및 토큰(506)을 포함하는 트리플(500)로서 전송된다. 일부 예시에서, 토큰(506)은 모바일 컴퓨팅 디바이스의 위치를 맥락 내에서 디스플레이하기 위한 모바일 컴퓨팅 디바이스(12)에 의해 사용되는 설명적 정보를 포함할 수 있다. 예를 들어, 토큰(506)은 모바일 컴퓨팅 디바이스(12)에 의해 수신된 경우, 모바일 컴퓨팅 디바이스(12)의 위치를 보여주는 지도에 레이블링하는데 사용되는 ““주차장 4층””과 같은 텍스트를 포함할 수 있다. 다른 예시적 접근법에서, 토큰(506)은 소스 식별자 또는 최종 업데이트 표시자와 같은 보안 데이터를 포함할 수 있다.
무선 엑세스 포인트는 그것의 위치에 관해 거짓말을 하고, 그것의 고유의 위치의 디바이스(12)에 의한 계산을 쓰지 않는다. 이를 방지하기 위해, 시스템(10)은 ““신뢰된 위치 제공자들””을 구현한다. 신뢰된 위치 제공자들 이면의 아이디어는 엑세스 포인트에 의해 퍼블리시된 위치 정보는 신뢰된 위치 제공자 - 일반적으로 (위도, 경도, 토큰) 트리플렛을 생산한 개체 - 에 의해 서명될 수 있고, 상기 서명은 디바이스(12)에 의해 검증될 수 있다는 것이다. 디바이스(12)가 상기 위치 제공자를 신뢰하면, 상기 신뢰된 위치 제공자로부터의 위치 정보는 그것이 선택한 목적이 무엇이든 그 디바이스에 의해 사용될 수 있다.
일 예시적 접근법에서, 위치 서비스(18)는 서명을 (위도, 경도, 토큰) 트리플렛에 제공한다. 일 접근법에서, 서명은 공개키 인증서이며, 다른 인증 기법들도 사용될 수 있다. 신뢰된 위치 제공자는 디바이스에 공개 인증서를 단순히 설치함으로써 디바이스(200)에 제공될 수 있다. 그 후, 상기 인증서에서 사용가능한 키들은 위치 정보가 그 특정 위치 제공자에 의해 정말로 생성되었고, 훼손되지 않았다는 것을 검증하는데 사용된다.
스푸핑과 같은 위치 공격을 방지하기 위해, 위치 트리플렛은 엑세스 포인트(14)의 예상된 BSSID및 서명된 위치 정보에 대한 최종 업데이트 시간과 같은 아이템들을 포함하기 위해 확장될 수 있다. 정보를 더 신뢰할 수 있게 하기 위해, 일 예시적 접근법에서, 위치 정보는 주기적으로 갱신된다(예를 들어, 일주일에 한번, 하루에 한번). 일부 접근법들에서, 디바이스들(12)은 상대적으로 최신의 정보만 선택하는 정책을 포함할 수 있고, 따라서, 부실한 데이터에 의존함에 의해 야기되는 문제들을 피할 수 있다.
도 5b는 본 발명의 하나 이상의 양태들에 따른, 예시적 서명된 (위도, 경도, 토큰, BSSID, 최종 업데이트) 튜플을 도시한다. 도 5b에 도시된 예시에서, 위치 정보는 위도(502), 경도(504), 토큰(506), 소스 식별자(508) 및 최종 업데이트(510)를 포함하는 튜플(520)로서 전송된다. 도 5b에 도시된 예시에서, 소스 식별자(508)는 위치 정보를 전송한 것으로 가정되는 무선 엑세스 포인트의 예상된 BSSID이다. 모바일 컴퓨팅 디바이스(12)는 튜플(520)을 수신하고, 서명을 통해 상기 튜플(520)이 예상된 신뢰된 위치 서비스(18)로부터 온 것임을 검증하고, 그 후 튜플(520)이 튜플(520)을 전송한 무선 엑세스 포인트로부터 온 것임을 검증한다(예를 들어, 튜플(520) 내 BSSID와 일치하는 BSSID를 가짐). 일부 예시적 접근법에서, 신뢰된 제공자(18)는 튜플(520)을 공개키(512)로 서명한다.
도 5a를 참조하여 언급된 바와 같이, 일부 예시에서, 토큰(506)은 모바일 컴퓨팅 디바이스의 위치를 맥락 내에서 디스플레이하기 위한 모바일 컴퓨팅 디바이스(12)에 의해 사용되는 설명적 정보를 포함할 수 있다. 예를 들어, 토큰(506)은 모바일 컴퓨팅 디바이스(12)에 의해 수신된 경우, 모바일 컴퓨팅 디바이스(12)의 위치를 보여주는 지도에 레이블링하는데 사용되는 ““주차장 4층””과 같은 텍스트를 포함할 수 있다.
도 6은 무선 엑세스 포인트 위치 정보를 통해 디바이스 위치를 결정하기 위한 예시적 프로세스를 도시하는 흐름도이다. 도 6은 도 1의 시스템(10)의 맥락에서 아래에 기술된다. 예를 들면, 무선 엑세스 포인트(14) 또는 모바일 컴퓨팅 디바이스(12)와 같은 무선 디바이스는 본 발명의 하나 이상의 양태들에 따른 무선 디바이스의 위치를 결정하기 위한 동작들(50-56)을 수행할 수 있다. 일 예시적 접근법에서, 무선 디바이스는 복수의 무선 엑세스 포인트들(14) 각각으로부터 각각의 서명된 위치 정보를 수신하며, 상기 각각의 서명된 위치 정보는 대응하는 무선 엑세스 포인트에 대한 위치 정보를 포함한다. 무선 디바이스는 각각의 서명된 위치 정보에 기초하여, 임의의 각각의 서명된 위치 정보가 손상되었는지 여부를 결정하고, 손상되지 않은 서명된 위치 정보와 상기 무선 디바이스와 손상되지 않은 서명된 위치 데이터를 가지는 각 무선 엑세스 포인트 간의 거리를 나타내는 데이터에 기초하여 무선 디바이스의 위치를 결정한다.
도 6에 도시된 예시에서, 모바일 컴퓨팅 디바이스(12)는 무선 엑세스 포인트들(14) 각각으로부터 비콘 신호를 수신한다(50). 위치 정보는 비콘 신호들 각각으로부터 추출된다(51). 각 무선 엑세스 포인트로부터의 정보는 그 무선 엑세스 포인트의 위치를 식별한다. 위치 정보는 서명되거나 서명되지 않을 수 있다.
(52)에서, 특정 무선 엑세스 포인트들(14)로부터 수신된 위치 정보가 서명되거나 서명되지 않았는지 결정하기 위한 체크가 이루어진다. 서명되면, (53)에서, 서명된 위치 정보가 손상되었는지 결정하기 위한 체크가 이루어진다. 일부 접근법에서, 서명된 위치 정보는 디지털 서명이 예상된 위치 제공자와 일치하지 않는 경우 또는 서명된 위치 정보가 보안 문제를 일으키는 보안 데이터를 포함한 경우 손상된 것이다. 일부 접근법에서, 서명된 위치 정보는 서명된 위치 정보를 전송하는 무선 엑세스 포인트의 예상된 BSSID를 포함한다. (53)에서, 예상된 BSSID가 무선 엑세스 포인트(14)의 BSSID와 일치하는지 결정하기 위한 체크가 이루어진다. 일치하지 않으면, 서명된 위치 정보는 손상된 것이다. 서명된 위치 정보가 손상된 경우, 신뢰된 정보는 폐기되며, 컨트롤은 디바이스(12)가 다른 세트의 위치 정보를 대기함에 따라 (50)으로 이동할 수 있다.
일부 접근법에서, 예를 들어, 서명된 위치 정보는 체크가 업데이트 시간이 너무 오래됨을 표시하는 경우 손상된 것이다. 그렇다면, 서명된 위치 정보는 손상된 것이고, 신뢰된 정보는 폐기되며, 컨트롤은 디바이스(12)가 다른 세트의 위치 정보를 대기함에 따라 (50)으로 이동한다.
(52)에서, 위치 정보가 서명되지 않았거나 또는 (53)에서 서명된 위치 정보가 손상되지 않은 경우, 컨트롤은 (54)로 이동하여 각 엑세스 포인트(14)에 대한 거리가 계산된다(54). (55)에서, 디바이스(12)가 위치를 계산하기에 충분한 무선 엑세스 포인트들(14)로부터 위치 정보를 수신하였는지 결정하기 위한 체크가 이루어지며, 그렇지 않은 경우, 컨트롤은 디바이스(12)가 다른 세트의 위치 정보를 대기함에 따라 (50)으로 이동한다.
(55)에서, 디바이스(12)는 누적된 위치 정보가 모바일 컴퓨팅 디바이스(12)의 위치를 계산하기에 충분한지 결정하며, 컨트롤은 (56)으로이동하며, 디바이스(12)는 모바일 컴퓨팅 디바이스(12)의 위치를 계산한다. 일부 예시적 접근법에서, 각 모바일 컴퓨팅 디바이스(12)는 무선 엑세스 포인트들 각각으로부터 수신된 위치 정보에 기초하여, 그리고 모바일 컴퓨팅 디바이스와 각 무선 엑세스 포인트 간의 거리를 나타내는 데이터에 기초하여, 모바일 컴퓨팅 디바이스(12)의 위치를 결정한다.
일부 예시적 접근법에서, 서명된 그리고 서명되지 않은 위치 정보 둘 모두는 디바이스(12)의 위치를 계산하는데 사용된다. 일부 접근법에서, 서명된 위치 정보를 통해 수신된 정보에 대한 선호가 주어진다.
대안적 예시에서, 각 모바일 컴퓨팅 디바이스(12)는 그것의 이웃하는 엑세스 포인트들(14)을 탐색하고, 전송하는 엑세스 포인트(14)의 위치를 식별하는 서명된 위치 정보를 포함하는 응답을 수신한다. 위치 정보는 상기 응답으로부터 추출되고, 각 엑세스 포인트(14)에 대한 거리가 계산된다. 그 후, 둘 모두 모바일 컴퓨팅 디바이스(12)의 위치를 계산하는데 사용된다. 일부 예시적 접근법에서, 다시 한번, 모바일 컴퓨팅 디바이스(12)는 위치 정보를 검토하여, 상기 기술된 바와 같이 상기 위치 정보가 신뢰된 위치 서비스(18)로부터 온 것인지 결정한다.
일부 예시에서, 위치 정보가 최신인지 보안 모듈(412)에 의한 체크가 이루어진다. 일부 예시에서, 위치 정보가 예상된 무선 엑세스 포인트(14)로부터 온 것이라는 보안 모듈(412)에 의한 체크가 이루어진다.
도 7은 본 발명의 하나 이상의 양태들에 따른, 엑세스 포인트들이 다른 네트워크 디바이스들과의 인터렉션을 통해 그들의 위치를 결정하는 예시적 시스템을 도시하는 개념도이다. 일 예시적 접근법에서, 무선 엑세스 포인트들(14)은 그들의 위치를 그들의 비콘 신호에 또는 모바일 컴퓨팅 디바이스들(12)로부터 또는 다른 엑세스 포인트들(14)로부터 탐색에 응답하여 퍼블리시한다. 도 7의 예시적 접근법에서, 엑세스 포인트(14)는 그것의 이웃을 스캔하여 비콘 신호를 리스닝하거나 또는 다른 무선 엑세스 포인트들(14)을 탐색한다. 주변 Wi-Fi 환경의 스캔은 다른 엑세스 포인트들(14)와 그들의 신호 강도들의 리스트를 산출한다. 상기 리스트는 위치 서비스(18)에 전송된다.
도 7의 예시적 접근법에서, 시스템(10)은 Wi-Fi 네트워크의 링크들(16)을 통해 연결된 4개 이상의 무선 엑세스 포인트(14)를 포함한다. 하나 이상의 무선 엑세스 포인트들(14)은 네트워크 링크(22)를 통해 위치 제공자에게 연결된다. 일부 예시적 접근법에서, 위치 제공자는 클라우드 기반 위치 서비스(18)이다.
일 예시적 접근법에서, 엑세스 포인트들(14)은 그들의 위치를 그들의 비콘 신호에 또는 모바일 컴퓨팅 디바이스들(12)로부터의 탐색에 응답하여 퍼블리시한다. 무선 엑세스 포인트(14)는 다른 네트워크 디바이스들 각각에 대한 거리의 측정치와 함께 다른 엑세스 포인트들(14)로부터 수신된 위치 정보를 사용하여, 일부 경우에, 다른 네트워크 디바이스들(모바일 컴퓨팅 디바이스들(12)과 같은)로부터 수신된 정보로부터 그 위치를 결정할 수 있다. 일 접근법에서, 각 엑세스 포인트에 대한 거리는 수신된 신호 강도 표시(RSSI) 추정들에 기초하여 결정된다. 무선 엑세스 포인트(14)는 인접 엑세스 포인트들(14)에 의해 퍼블리시된 위치 정보를 수신하고, 위치 서비스(18)가 무선 엑세스 포인트의 위치를 결정할 수 있도록, 수신 신호 강도 표시(RSSI) 추정을 갖는 정보를 위치 서비스(18)에 전송한다.
일 예시적 접근법에서, 각 무선 엑세스 포인트(14)는 엑세스 포인트 신호를 전송한다. 엑세스 포인트 신호는 신호를 전송하는 엑세스 포인트의 위치를 상세히 설명하는 위치 정보를 포함한다. 디바이스는 주변 엑세스 포인트들 각각에 대한 거리와 엑세스 포인트들로부터 수신한 위치 정보에 기초하여 그것의 위치를 결정한다.
일부 접근법에서, 주변 엑세스 포인트들 각각에 대한 거리는 수신 신호 강도 표시(RSSI)에 기초하여 결정된다. 다른 접근법에서, 주변 엑세스 포인트들 각각에 대한 거리는 왕복 이동 시간(RTT) 추정에 기초하여 결정된다. 일부 접근법에서, 위치 정보는 위치 정보가 손상되었을 경우 검출하기 위해 그리고 스푸핑을 방지하기 위해, 공개키 인증서와 같은 디지털 서명으로 보호된다. 일부 접근법에서, 엑세스 포인트의 기본 서비스 세트 식별(BSSID)과 같은 엑세스 포인트 식별자는 서명된 위치 정보에 내장되고, 전송하는 엑세스 포인트(14)가 위치 정보의 BSSID와 일치하는 BSSID를 가짐을 검증하는데 사용된다.
일부 접근법에서, 위치 제공자는 도 1의 위치 서비스(18)와 같은 클라우드 기반 서비스이다. 상기 접근법에서, 무선 엑세스 포인트들은 무선 엑세스 포인트들에 대한 거리를 결정하기 위해 주변 엑세스 포인트들과 통신한다. 그 후, 그들은 주변 엑세스 포인트들의 리스트와 그들의 거리들을 (RSSI 또는 RTT를 통해) 클라우드 기반 위치 서비스(18)에 전송한다. 클라우드 기반 위치 서비스는 엑세스 포인트의 위치를 결정하고 위치 정보의 서명된 사본을 요청하는 엑세스 포인트에 전송한다. 그 후, 엑세스 포인트는 위치 정보를 모바일 컴퓨팅 디바이스(12)에 의한 요청에 응답하여 또는 그것의 비콘 신호의 일부로서 전송하여, 위치 정보가 모바일 컴퓨팅 디바이스의 위치를 결정하기 위해 모바일 컴퓨팅 디바이스(12)에 의해 사용될 수 있게 한다.
일 예시적 접근법에서, 시스템은 보안 데이터를 엑세스 포인트에 의해 전송된 위치 정보에 첨부함으로써 스푸핑을 제한한다. 보안 데이터에 기초한 보안 체크가 실패하면, 모바일 컴퓨팅 디바이스는 엑세스 포인트 위치가 손상되었다고 가정한다. 다른 예시적 접근법에서, 위치 정보는 정보가 신뢰할만한 위치 제공자로부터 온 것인지 결정하기 위해 사용되는 서명을 포함한다.
일 예시적 접근법에서, 위치 서비스(18)는 각 무선 엑세스 포인트(14)의 위치를 결정하고, 대응하는 무선 엑세스 포인트에 대한 위치를 위치 정보로서 전송한다. 일부 무선 엑세스 포인트들에 대해, 위치 정보는 위치 정보를 신뢰된 위치 정보로서 식별하는 보안 데이터를 포함한다.
도 8은 본 발명의 하나 이상의 양태들에 따른, 엑세스 포인트의 위치를 결정하기 위한 예시적 프로세스를 도시하는 흐름도이다. 도 8은 도 7의 시스템(10)의 맥락에서 아래에 기술된다. 예를 들면, 무선 엑세스 포인트(14)는 본 발명의 하나 이상의 양태들에 따른, 무선 엑세스 포인트(14)의 위치를 결정하기 위한 동작들(60-66)을 수행할 수 있다.
일 예시적 접근법에서, 엑세스 포인트들(14)은 그들의 위치를 그들의 비콘 신호에 또는 모바일 컴퓨팅 디바이스들(12)로부터의 탐색에 응답하여 퍼블리시한다. 도 8의 예시적 접근법에서, (60)에서, 엑세스 포인트(14)는 그것의 이웃을 스캔하여 비콘 신호를 리스닝하거나 또는 무선 엑세스 포인트들(14) 또는 모바일 컴퓨팅 디바이스들(12)와 같은 다른 네트워크 디바이스들을 탐색한다. 주변 무선 환경의 스캔은 다른 엑세스 포인트들(14)(그리고, 일부 접근법에서, 알려진 위치를 가지는 모바일 컴퓨팅 디바이스들(14))과 그들의 신호 강도들의 리스트를 산출한다. (62)에서 상기 리스트는 이력 지식이 무선 엑세스 포인트(14)의 위치를 결정하는데 사용되는 위치 서비스(18)(여기서 클라우드의 위치 제공자 서비스로서 도시됨)에 전송된다. 일 접근법에서, 리스트는 예를 들어, RSSI 또는 RTT의 추정에 기초하여 각 엑세스 포인트에 대한 거리 추정과 함께 스캔된 엑세스 포인트들(14) 각각의 기본 서비스 세트 식별(BSSID)를 포함한다. 그 후 (64)에서, 응답이 엑세스 포인트(14)에 적절한 위치 정보와 함께 전송되고 (66)에서 벤더 특정 정보 엘리먼트(위치 IE)에서의 AP의 비콘 신호에 퍼블리시된다. 일 예시적 접근법에서, 위치 서비스(18)는 엑세스 포인트(14)에 의해 전송되는 리스트의 데이터를 검증하고, 엑세스 포인트의 위치에 대한 (위도, 경도, 토큰) 트리플렛을 결정하고, 엑세스 포인트(14)에 대한 트리플렛을 리턴한다. 일 접근법에서, 위치 서비스(18)는 튜플을 서명된 튜플을 무선 엑세스 포인트(14)에 전송하기 전에 디지털 서명으로 서명한다.
일 예시적 접근법에서, 무선 엑세스 포인트(14)가 검증된 위치 정보(즉, 위치 제공자에 의해 검증된 위치 정보)를 모바일 컴퓨팅 디바이스(12)로부터 수신하면, 무선 엑세스 포인트(14)는 무선 엑세스 포인트(14)의 위치를 결정하는데 사용하기 위해 디바이스(12) 위치 정보를 위치 제공자에게 포워딩한다.
또한, 위치 정보는 엑세스 포인트(14)에 관리자 도장을 가짐으로써, 또는 설치시 위치에 프로그래밍 함으로써와 같이 다른 수단들에 의해 엑세스 포인트(14)에 제공될 수 있다. 그러나, 그렇게 하는 것은 일부 단점들을 가진다. 예를 들어, 위치 서비스(18)는 제공이 발생한 때 위치 서비스(18)에 전송된 데이터를 검증할 수 없을 수 있다.
상기 언급된 바와 같이, 무선 엑세스 포인트들(14)이 그들의 Wi-Fi 이웃을 스캔할 때, 그들은 다른 무선 엑세스 포인트들(14)의 위치 IE를 일부 경우들에는, 각 무선 엑세스 포인트(14)의 서비스 세트 식별자(SSID) 또는 BSSID)와 함께 발견한다. 무선 엑세스 포인트(14)는 위치 정보를 파싱하고, 일 예시로, 위도, 경도 및 토큰 (위도, 경도, 토큰) 정보를 그것으로부터 도출한다. 또한, 스캔 동안에, 무선 엑세스 포인트들(14)은 엑세스 포인트들의 RSSI를 기록한다. 3개의 엑세스 포인트들로부터의 이 모든 정보를 고려하여, 위치 서비스(18)는 무선 엑세스 포인트(14)의 위치를 계산한다. 엑세스 포인트들 중 임의의 것이 2-웨이 RTT를 제공하면, 그것은 RSSI 대신에 더 나은 결과로 동일한 계산을 하는데 사용될 수 있다.
또한, 토큰은 위치 특정 정보를 전달하는데 사용될 수 있다. 예를 들어, 토큰은 "주차장의 3 층"과 같은 위치 정보, 도시 또는 국가 또는 디바이스(12)의 사용자에 의해 그들의 방향을 향하게 하기 위해 사용될 수 있는 다른 정보를 전달하는데 사용될 수 있다. 이러한 접근법에서, 토큰은 RSSI 또는 RTT 위치 포지셔닝을 통해 미세 조정된 대략적(rough) 위치를 설정한다.
상기 언급된 바와 같이, 무선 엑세스 포인트는 그것의 위치에 관해 거짓말을 하고, 그것의 고유의 위치의 디바이스의 계산을 쓰지 않는다. 이는 일반적으로 임의의 유용한 어플리케이션들을 막을 수 있다. 이를 방지하기 위해, ““신뢰된 위치 제공자들””의 새로운 개념이 도입된다. 상기 아이디어는 엑세스 포인트에 의해 퍼블리시된 위치 정보는 신뢰된 위치 제공자 - 일반적으로 (위도, 경도, 토큰) 트리플렛을 생산한 개체 - 에 의해 서명될 수 있고, 상기 서명은 디바이스(12)에 의해 검증될 수 있다는 것이다. 디바이스(12)가 상기 위치 제공자를 신뢰하면, 상기 신뢰된 위치 제공자로부터의 위치 정보는 그것이 선택한 목적이 무엇이든 그 디바이스에 의해 사용될 수 있다.
일 예시적 접근법에서, 위치 서비스(18)는 서명을 (위도, 경도, 토큰) 트리플렛에 또는 (도 5b에 도시된 것과 같은) (위도, 경도, 토큰, BSSID) 튜플에 제공한다. 일 접근법에서, 서명은 공개키 인증서이며, 다른 인증 기법들도 사용될 수 있다.
신뢰된 위치 제공자는 디바이스에 공개 인증서를 단순히 설치함으로써 디바이스에 제공될 수 있다. 상기 인증서에서 사용가능한 키들은 위치 정보가 위치 제공자에 의해 정말로 생성되었고, 훼손되지 않았다는 것을 검증하는데 사용된다. 스푸핑과 같은 추가적 위치 공격을 방지하기 위해, 위치 트리플렛은 엑세스 포인트(14)의 BSSID및 쿼리의 시간과 같은 다른 정보를 포함하기 위해 확장될 수 있다. 정보를 더 신뢰할 수 있게 하기 위해, 일 예시적 접근법에서, 위치 정보는 주기적으로 갱신된다(예를 들어, 일주일에 한번, 하루에 한번). 일부 접근법들에서, 디바이스들(12)은 상대적으로 최신의 정보만 선택하는 정책을 포함할 수 있고, 따라서, 부실한 데이터에 의존함에 의해 야기되는 문제들을 피할 수 있다.
엑세스 포인트들(14)은 다른 방식들로 위치 정보를 스푸핑할 수 있다. 예를 들어, 엑세스 포인트(14)는 클라우드 내의 위치 서비스(18)에 보고하는 스캔 데이터 엑세스 포인트(14)에 부정확한 값들을 패스할 수 있다. 이 접근법에 대응하기 위해, 위치 서비스(18)는 엑세스 포인트(14)로부터의 유효하지 않거나 부정확한 요청을 제거하기 위한 체크를 수행할 수 있다. 먼저, 위치 서비스(18)는 하나의 엑세스 포인트(14)로부터 수신된 정보를 주변 엑세스 포인트들(14)로부터 수신된 정보와 비교할 수 있다. 이는 악성 엑세스 포인트를 찾아내게 한다. 일 예시적 접근법에서, 위치 서비스(18)는 단순히 악성 엑세스 포인트의 위치 정보를 업데이트하는 것을 거부하여, 그것의 위치 정보가 부실해지도록 한다. 일부 접근법에서, 디바이스들(12)은 미리 정의된 시간 주기 내에 업데이트되지 않은 위치 정보를 무시한다.
일 접근법에서, 위치 제공자는 메모리에 다른 소스들로부터 수신된 위치 정보를 저장하고, 저장된 위치 정보를 무선 엑세스 포인트로부터 수신된 위치 데이터의 정보와 비교하고 그에 따라 위치 데이터의 정보를 보정하도록 구성된다.
일 접근법에서, 위치 제공자는 무선 엑세스 포인트(14)와 무선 엑세스 포인트로부터 수신한 특정 네트워크 디바이스 간의 거리를 나타내는 데이터를 다른 소스로부터 수신된 거리 데이터와 비교하고, 포인트(14)와 다른 네트워크 디바이스 간의 거리를 다른 소스로부터 수신된 거리 데이터의 함수로서 수정한다.
일 접근법에서, 위치 서비스(18)는 모바일 컴퓨팅 디바이스(12)로부터 획득된 데이터를 사용하여 모든 엑세스 포인트들(14)이 실제로 동일한 부근에 있는지를 검증한다. 일 예시적 접근법에서, 이 접근법은 서로 다른 무선 엑세스 포인트들로부터의 데이터의 비교에 기초한 기법들과 결합되어 신뢰성이 높은 결과를 생성한다.
엑세스 포인트들을 갖는 전술한 기법은 모바일 컴퓨팅 디바이스(12)에 의해 사용되는 위치 정보를 유지하고 분배하여 그것의 위치를 매우 효과적으로 결정한다. 모바일 컴퓨팅 디바이스와 달리, 엑세스 포인트(14)는 일반적으로 이동하지 않는다. 이러한 고정된 포인트들으로부터의 스캔은 모델링 위치에 대한 보다 나은 데이터를 위치 서비스(18)에 제공한다. 또한, 엑세스 포인트들(14)은 일반적으로 벽 또는 천장에 장착되어 디바이스들(12)에 비해 RSSI에서 훨씬 적은 변화를 보인다(디바이스(12)는 주머니/지갑/백 내에 있을 수 있기 때문에). 또한 이러한 접근법은 모델링 정확도를 높이는 데에 기여한다.
상기 기술된 기법들은 또한 위치 서비스(18)를 호스팅하는 서버들(200)에 대한 부하를 감소시킨다. 대신에, 디바이스들(12)은 자체적으로 위치를 계산할 수 있다. 또한, 이 접근법은 더 나은 보안을 제공한다. 예를 들어, 시스템(10)은 토큰(506)의 위치 정보에 의해 정의된 바와 같이, 특정 무선 엑세스 포인트의 위치에 있지 않는 한, 특정 무선 엑세스 포인트(14)에 연결하지 않을 것이다. 마지막으로, 이 접근법은 공항에 착륙한 것과 같은 일반적 시나리오에 대해 보다 빠른 위치 결정을 보장한다.
도 9는 본 발명의 하나 이상의 양태들에 따른, 엑세스 포인트의 위치를 결정하기 위한 다른 예시적 프로세스를 도시하는 흐름도이다. 도 9느는 도 7의 시스템(10)의 맥락에서 아래에 기술된다. 예를 들면, 무선 엑세스 포인트(14)는 본 발명의 하나 이상의 양태들에 따른, 무선 엑세스 포인트(14)의 위치를 결정하기 위한 동작들(80-86)을 수행할 수 있다.
다시 한번, 일 예시적 접근법에서, 엑세스 포인트들(14)은 그들의 위치를 그들의 비콘 신호에서 또는 모바일 컴퓨팅 디바이스들(12)로부터 또는 다른 엑세스 포인트들(14)로부터 탐색들에 응답하여 퍼블리시한다. 도 9의 예시적 접근법에서, (80)에서 엑세스 포인트(14)는 그것의 이웃을 스캔하고, 비콘 신호에 대해 리스닝하거나 무선 엑세스 포인트들(14)과 같은 다른 네트워크 디바이스들을 탐색한다. 주변 Wi-Fi 환경의 스캔은 다른 엑세스 포인트들(14)과 그들의 신호 강도들의 리스트를 산출한다. (82)에서, 상기 리스트는 이력 지식이 무선 엑세스 포인트(14)의 위치를 결정하는데 사용되는 위치 서비스(18)에 전송된다. 일 접근법에서, 리스트는 RSSI 또는 RTT 추정에 기초하여 각 엑세스 포인트에 대한 거리 추정과 함께 스캔된 엑세스 포인트들(14) 각각의 BSSID를 포함한다. 그 후, (84)에서 응답이 적절한 위치 정보와 함께 엑세스 포인트(14)에 전송되며, (86)에서 벤더 특정 정보 엘리먼트에서(위치 IE) AP의 비콘 신호에 퍼블리시된다. 일 예시적 접근법에서, 위치 서비스(18)는 엑세스 포인트(14)에 의해 전송된 리스트의 데이터를 검증하고, 엑세스 포인트의 위치에 대한 (위도, 경도, 토큰, BSSID) 튜플을 결정하고, 튜플을 서명하고 서명된 튜플을 그것의 내장된 BSSID와 함께 엑세스 포인트(14)에 리턴한다.
다시 한번, 일부 예시적 접근법에서, 서명된 위치 정보는 엑세스 포인트들(14)에 주기적으로 업데이트되어, 정보의 보다 나은 질을 보장하며, 상기 언급된 바와 같이, 악성 엑세스 포인트들의 효과를 감소시키기 위한 메커니즘을 제공한다. 일부 예시적 접근법에서, 악성 무선 엑세스 포인트들(14)은 데이터를 적절한 업데이트 시간에 제공할 수 없게 함으로써 폐쇄될 수 있다.
도 10은 본 발명의 하나 이상의 양태들에 따른, 위치 제공자가 엑세스 포인트의 위치를 결정하는 예시적 프로세스를 도시하는 흐름도이다. 도 10은 도 1의 시스템(10)의 맥락에서 아래에 기술된다. 예를 들면, 위치 서비스(18)는 본 발명의 하나 이상의 양태들에 따른, 무선 엑세스 포인트(14)의 위치를 결정하기 위한 동작들(100-108)을 수행할 수 있다. 도 10의 예시적 접근법에서, 신뢰된 위치 서비스(18)는 무선 엑세스 포인트(14)로부터 다른 엑세스 포인트들(14)와 그들의 신호 강도들의 리스트를 수신한다(100). 일 예시적 접근법에서, 신뢰된 위치 서비스(18)는 엑세스 포인트(14)에 의해 전송된 리스트에서 데이터를 검증하고(102), 엑세스 포인트의 위치에 대한 (위도, 경도, 토큰, BSSID) 튜플을 결정하고(104), 튜플을 서명하고(106), 서명된 튜플을 엑세스 포인트(14)에 리턴한다(108). 일 예시적 접근법에서, 신뢰된 위치 서비스(18)는 서명을 (위도, 경도, 토큰, BSSID) 튜플에 제공한다. 일 접근법에서, 서명은 공개키 인증서이나 다른 인증 기법들도 사용될 수 있다.
일 예시적 접근법에서, 엑세스 포인트의 위치에 대한 (위도, 경도, 토큰, BSSID) 튜플을 결정하는 것은 문제되는 BSSID의 위치를 계산하기 위해 다른 이웃 엑세스 포인트들과 같은 다른 소스 또는 모바일 컴퓨팅 디바이스들로부터 제공된 스캔 결과를 찾는 것을 포함한다. 일 예시적 접근법에서, 엑세스 포인트의 위치를 계산하기 위한 데이터가 충분하지 않거나, 위치 제공자 서비스(18)가 데이터에서 불일치를 검출하면, 신뢰된 위치 서비스(18)는 어떠한 위치 정보도 요구하는 Wi-Fi 엑세스 포인트(14)에 제공하지 않는다.
이 기법은 신뢰된 위치 제공자로 하여금 특정 위치들에서 특정 BSSID들을 찍어내기 위해 다수의 소스들로부터 데이터를 모으게 한다. Wi-Fi 엑세스 포인트들로부터 수집된 데이터는 대부분의 엑세스 포인트들이 (모바일 컴퓨팅 디바이스들과 달리) 움직이지 않고 대부분의 엑세스 포인트들이 모바일 컴퓨팅 디바이스들에서는 발생하는(그들이 주머니, 지갑에 위치된 경우) 가끔의 가리움으로부터 자유롭기 때문에 일반적으로 좋은 품질의 데이터이다.
상기 언급된 바와 같이, 위치 제공자 서비스(18)와 같은 위치 제공자는 엑세스 포인트의 위치를 계산하기에 데이터가 충분하지 않거나 또는 위치 제공자 서비스(18)가 데이터에서 불일치를 검출하는 경우, 위치 정보를 엑세스 포인트(14)에 분배하는 것을 거부할 수 있다. 이러한 접근법은 예를 들어, 엑세스 포인트들을 제외하는데 사용될 수 있다. 일부 예시적 접근법에서, 위치 제공자 서비스(18)는 무선 엑세스 포인트의 위치가 대안적 소스들에 의해 확인될 수 없는 경우, 엑세스 포인트(14)의 위치 기여도를 무시할 수 있다. 이 접근법은 또한 모바일 컴퓨팅 디바이스와 함께 사용될 수 있으며, 위치 제공자 서비스(18)는 더 나은 위치 교차 확인을 위해 하나 이상의 모바일 컴퓨팅 디바이스들(12)로부터 위치 정보를 수집할 수 있다.
일 예시적 접근법에서, 위치 제공자는 무선 엑세스 포인트로부터 수신된 위치 데이터를 다른 소스로부터의 위치 데이터와 비교한다. 무선 엑세스 포인트로부터 수신된 위치 데이터가 다른 소스로부터의 위치 데이터와 상이한 임계량보다 크면, 위치 제공자는 무선 엑세스 포인트의 위치를 생성하는데 사용하기 위해 위치 데이터를 결정한다. 일 접근법에서, 사용하기에 적절한 위치 데이터는 무선 엑세스 포인트들(14) 및 모바일 컴퓨팅 디바이스들(12)과 같은 다른 무선 디바이스들로부터 수신된 위치 데이터에 가장 근접하게 매칭되는 위치 데이터이다.
상기 언급된 바와 같이, 현재의 접근법에는 특정 무선 엑세스 포인트의 문제를 검출하거나 그러한 문제를 보고하는 메커니즘이 없다. 이 이슈를 해결하기 위해, 일 접근법에서, 위치 제공자 서비스(18)는 특정 영역에서 각각의 무선 엑세스 포인트(14)에 대한 위치를 주기적으로 결정하고 분배하도록 구성될 수 있다. 다른 접근법에서, 무선 엑세스 포인트들(14)은 특정 무선 엑세스 포인트(14)에 대한 문제를 보다 신속하게 검출하기 위해 매일 또는 매주 그들의 위치 스캔을 갱신하도록 구성될 수 있다.
상기 언급된 바와 같이, 무선 엑세스 포인트를 사용하여 위치를 결정하는 모바일 컴퓨팅 디바이스는 엑세스 포인트에 의해 퍼블리시된 위치 정보가 스푸핑되거나 손상되어, 모바일 컴퓨팅 디바이스가 그것의 위치를 결정하는 능력을 손상시키는 공격을 받을 수 있다. 현재 모바일 컴퓨팅 디바이스들의 경우, 일부 접근법에서, 무선 엑세스 포인트로부터 수신된 정보의 정확성은 보장되지 않는다. 상기 언급된 바와 같이, 시스템(10)은 위치 정보가 손상되었을 수 있음을 검출하고 스푸핑을 방지하기 위해, 공개키 인증서와 같은 디지털 서명으로 위치 정보를 보호함으로써, 이에 대처한다. 또한 상기 언급된 바와 같이, 일부 접근법에서, 시스템(10)은 위치 정보가 손상되었을 수 있음을 검출하고 스푸핑을 방지하기 위해, 보안 데이터를 포함함으로써 스푸핑 및 손상된 데이터의 문제점을 해결한다. 일부 접근법에서, 보안 데이터는 위치 정보를 전송했어야 하는 (무선 엑세스 포인트의 BSSID와 같은) 무선 엑세스 포인트를 식별하는 식별자를 포함한다. 일부 접근법에서, 보안 데이터는 오래된 위치 정보를 검출하는데 사용되는 업데이트 날짜를 포함한다.
위치 정보를 보호하기 위한 서명의 사용의 이점은 정보가 올바른 위치 제공자로부터 온 것인지 그리고 서명된 위치 정보가 손상되었는지를 신속하게 결정할 수 있다는 것이다. 위치를 전송할 것으로 가정되는 무선 엑세스 포인트의 BSSID와 같은 무선 엑세스 포인트 식별자의 위치 정보에서의 분배의 이점은 전송된 식별자와 상기 식별자를 비교할 수 있고, 이것이 스푸핑 시도인지 결정할 수 있다는 것이다. 업데이트 날짜의 사용의 이점은 손상된 무선 엑세스 포인트가 사실상 무시되는 것을 보장할 수 있다는 것이다. 이러한 모든 기법들은 구현될 때, WLAN에서의 위치 결정의 보안 및 효율을 상당히 증가시킨다.
모바일 컴퓨팅 디바이스를 구성하기 위한 위치 정보의 사용이 다음에 논의될 것이다. 일 예시적 접근법에서, 모바일 컴퓨팅 디바이스(12)는 엑세스 포인트들(14)에 의해 공급된 위치 정보를 사용하여 디바이스의 국가 또는 관할을 결정한다. 일 접근법에서, 모바일 컴퓨팅 디바이스들(12)은 이 정보를 사용하여 모바일 컴퓨팅 디바이스의 사용이 위치될 수 있는 임의의 제약들을 결정한다.
모바일 컴퓨팅 디바이스들(12)의 동작 요건은 국가마다 다르며, 처음 국가에 들어갈 때, 국가별 규칙을 결정하는 것은 어렵다. 현재까지는 디바이스(12)가 국가와 해당 국가에 대한 규칙을 결정하는 데 도움이 되는 기술이 없다. 동시에, 디바이스(12)가 새로운 Wi-Fi 환경에 진입할 때, 디바이스(12)는 모국의 채널을 스캔하려고 시도한다. 이는 국가가 모국과 다른 Wi-Fi 채널을 사용하는 경우 문제가 될 수 있다. 예를 들어, 미국은 채널 1-11을 사용할 수 있지만 일본은 채널 1-13과 경우에 따라 채널 14를 사용할 수 있다. 일본으로부터 미국을 방문하는 사람은 채널 12-14를 사용할 수 없지만, 모바일 컴퓨팅 디바이스는 그 제한을 인식하지 못하거나 그에 따라 동작할 수 없다.
이 이슈를 해결하기 위한 하나의 접근법은 무선 엑세스 포인트들(14)에 의해 전송된 위치 정보를 사용하여 모바일 컴퓨팅 디바이스들(12)에 지도 좌표들과 관련한 그들의 위치만 알리는 것이 아니라, 위치의 국가 또는 관할도 알리는 것이다. 모바일 컴퓨팅 디바이스(12)는 무선 엑세스 포인트들(14)로부터 수신된 국가 정보를 사용하여 관할을 결정하고, 그에 따라 동작하기 위한 Wi-Fi 밴드들을 선택한다.
다른 예시적 접근법에서, 모바일 컴퓨팅 디바이스(12)는 도 5a 및 5b에서 도시되고 상기 도 10에서 논의된 튜플들과 같은 튜플들에 포함된 정보를 사용하여 위도와 경도의 함수로서 국가를 결정한다.
도 11은 본 발명의 하나 이상의 양태들에 따른, 모바일 컴퓨팅 디바이스가 엑세스 포인트 위치 정보에서 전송된 국가 식별자에 기초하여 Wi-Fi 채널들을 선택하는 동작의 예시적 모드를 도시하는 흐름도이다. 도 11은 도 1의 시스템(10)의 맥락에서 아래에 기술된다. 예를 들면, 무선 엑세스 포인트(14)는 동작(120)을 수행할 수 있고, 모바일 컴퓨팅 디바이스(12)는 본 발명의 하나 이상의 양태들에 따른, 모바일 컴퓨팅 디바이스(12)의 위치를 결정하고 그 국가에서 모바일 컴퓨팅 디바이스(12)의 동작에서 국가와 제한을 결정하기 위한 동작들(122-126)을 수행할 수 있다.
일 예시적 접근법에서 각 엑세스 포인트(14)는 위치 정보의 일부로서, 위치 표시자를 퍼블리시한다. 예를 들어, 엑세스 포인트는 위치 표시자로서, 엑세스 포인트(14)가 위치된 국가에 대한 국가 코드를 퍼블리시한다(120). 디바이스(12)는 새로운 위치에 진입할 때, 위치 정보를 포함하는 비콘에 대한 모든 사용가능한 채널들을 리스닝하고, 상기 위치 정보에서의 국가 코드를 검출하고(122), 채널 제약들을 검토하고(124), 그 관할에 대해 허용된 채널들에서만 통신한다(126). 일 접근법에서, 국가 코드가 위도와 경도 및 토큰 또는 둘 다에 기초하여 예상된 국가 코드와 일치하지 않는다면, 상기 국가 코드는 무시된다. 만약 이런 일이 발생하면, 디바이스(12)는 신뢰된 엑세스 포인트들(14)로부터 수신된 위치 정보에만 기초하여 국가 코드를 결정할 수 있다.
일 예시적 접근법에서, 엑세스 포인트(14)는 관리자에 의해 활성화된 경우에만 국가 코드를 퍼블리시한다. 상기 접근법은 국가 코드가 예를 들어 여행자가 국가에 도착하는 위치에서만 활성화될 수 있다는 점에서 이점을 가진다. 국가 코드를 전송하는 오버헤드는 다른 위치들에서는 방지된다.
일 예시적 접근법에서, 토큰은 국가 정보를 전달하는데 사용된다. 일 접근법에서, 모바일 컴퓨팅 디바이스(12)는 토큰을 수신하고, 위치 표시자 코드를 디코딩하고, 디바이스(12)의 메모리에 엑세스하여 그 국가에서 허용된 채널들을 결정한다. 추가로, 토큰은 "주차장의 3 층"과 같은 위치 정보, 도시 또는 디바이스(12)의 사용자에 의해 그들의 방향을 향하게 하기 위해 사용될 수 있는 다른 정보를 전달하는데 사용될 수 있다.
도 12a는 본 발명의 하나 이상의 양태들에 따른, 예시적 (위도, 경도, 토큰) 트리플렛 기반 국가 식별자를 도시한다. 도 12a에 도시된 예시에서, 위치 정보는 위도(502), 경도(504) 및 토큰(506)을 포함하는 트리플(600)로서 전송된다. 토큰(506)은 도 11의 논의에서 상기 언급된 바와 같이, 모바일 컴퓨팅 디바이스(12)의 현재 국가 또는 관할을 결정하는데 사용되는 국가 식별자(602)를 포함한다. 추가로, 일부 예시에서, 토큰(506)은 모바일 컴퓨팅 디바이스(12)에 의해 사용되는 설명적 정보를 포함하여, 그것의 위치를 맥락 내에 디스플레이한다. 예를 들어, 토큰(506)은 모바일 컴퓨팅 디바이스(12)에 의해 수신된 경우, 모바일 컴퓨팅 디바이스(12)의 위치를 보여주는 지도에 레이블링하는데 사용되는 ““주차장 4층””과 같은 텍스트를 포함할 수 있다.
도 12b는 본 발명의 하나 이상의 양태들에 따른, 예시적 서명된 (위도, 경도, 토큰, BSSID) 튜플 기반 국가 식별자를 도시한다. 도 12b에 도시된 예시에서, 위치 정보는 위치 정보는 위도(502), 경도(504), 토큰(506) 및 소스 식별자(508)을 포함하는 튜플(620)로서 전송된다. 도 12b에 도시된 예시에서, 소스 식별자(508)는 위치 정보를 전송한 것으로 가정되는 무선 엑세스 포인트의 기본 서비스 세트 식별(BSSID)이다. 모바일 컴퓨팅 디바이스(12)는 튜플(620)을 수신하고, 상기 튜플(620)이 예상된 신뢰된 위치 서비스(18)로부터 온 것인지 검증하고, 그 후 튜플(620)이 튜플(620)의 BSSID와 일치하는 BSSID를 가지는 튜플(620)을 전송한 무선 엑세스 포인트로부터 온 것인지 검증한다. 일부 예시적 접근법에서, 신뢰된 제공자(18)는 튜플(620)을 공개키(512)로 서명한다.
도 12a를 참조하여 상기 언급된 바와 같이, 일부 예시에서, 토큰(506)은 도 11의 논의에서 상기 언급된 바와 같이, 모바일 컴퓨팅 디바이스(12)의 현재 국가 또는 관할을 결정하는데 사용되는 국가 식별자(602)를 포함한다. 추가로, 일부 예시에서, 토큰(506)은 모바일 컴퓨팅 디바이스(12)에 의해 사용되는 설명적 정보를 포함하여 그것의 위치를 맥락 내에서 디스플레이한다.
제1절. 방법으로서 위치 제공자에 의해, 그리고 위치 데이터에 기초하여, 무선 엑세스 포인트의 위치를 결정하는 단계, 상기 위치 데이터는 복수의 네트워크 디바이스들 각각으로부터의 위치 데이터를 포함하며, 각 네트워크 디바이스에 대한 상기 위치 데이터는 상기 네트워크 디바이스의 위치와 상기 무선 엑세스 포인트와 각 네트워크 디바이스 간의 거리를 나타내는 데이터를 포함하며; 상기 위치 제공자에 의해, 그리고 상기 무선 엑세스 포인트의 상기 위치에 기초하여, 상기 무선 엑세스 포인트에 대한 위치 정보를 생성하는 단계; 서명된 위치 정보를 형성하기 위해 상기 위치 정보를 크레덴셜로 서명하는 단계; 및 상기 서명된 위치 정보를 상기 무선 엑세스 포인트에 통신하는 단계를 포함하는 방법.
제2절. 제1절에 있어서, 위치를 결정하는 단계는 상기 무선 엑세스 포인트로부터 수신된 상기 위치 데이터를 다른 소스로부터의 위치 데이터와 비교하는 것과 상기 무선 엑세스 포인트로부터 수신된 상기 위치 데이터가 다른 소스로부터의 상기 위치 데이터와 상이한 임계량보다 많은 경우, 위치 데이터를 상기 무선 엑세스 포인트의 상기 위치를 생성하는데 사용하기 위해 결정하는 것을 포함하는 방법.
제3절. 제1 내지 제2절 중 임의의 절에 있어서, 상기 네트워크 디바이스들은 알려진 위치들을 가지는 모바일 컴퓨팅 디바이스들을 포함하는 방법.
제4절. 제1 내지 제3절 중 임의의 절에 있어서, 위치 정보를 생성하는 단계는 위도와 경도로 표현된 상기 무선 엑세스 포인트의 상기 위치를 결정하는 것과 상기 위치 정보에서 상기 무선 엑세스 포인트의 상기 위도와 경도를 기록하는 것을 포함하는 방법.
제5절. 제1 내지 제4절 중 임의의 절에 있어서, 위치 정보를 생성하는 단계는: 위도와 경도로 표현된 상기 무선 엑세스 포인트의 상기 위치를 결정하는 것; 튜플을 형성하는 것, 상기 튜플은 토큰과 상기 무선 엑세스 포인트의 상기 위도와 경도를 포함하며; 그리고 상기 튜플을 상기 무선 엑세스 포인트에 대한 상기 위치 정보 내에 기록하는 것을 포함하는 방법.
제6절. 제1 내지 제5절 중 임의의 절에 있어서, 상기 무선 엑세스 포인트는 기본 서비스 세트 식별(BSSID)을 포함하고, 튜플을 형성하는 것은 상기 무선 엑세스 포인트의 상기 BSSID를 상기 튜플 내에 기록하는 것을 포함하는 방법.
제7절. 제1 내지 제6절 중 임의의 절에 있어서, 위치 정보를 생성하는 단계는 다른 소스들로부터 수신된 위치 정보를 상기 무선 엑세스 포인트로부터 수신된 상기 위치 데이터와 비교하는 것을 포함하는 방법.
제8절. 위치 제공자로서, 네트워크 연결; 메모리 및 하나 이상의 프로세서들을 포함하며, 상기 각 프로세서는 상기 메모리에 연결되며, 상기 프로세서는: 상기 메모리에 저장된 위치 데이터에 기초하여, 무선 엑세스 포인트의 위치를 결정하고, 상기 위치 데이터는 복수의 네트워크 디바이스들 각각으로부터의 위치 데이터를 포함하며, 상기 각 네트워크 디바이스에 대한 상기 위치 데이터는 상기 네트워크 디바이스의 위치 및 상기 무선 엑세스 포인트와 상기 네트워크 디바이스 간의 거리를 나타내는 데이터를 포함하며; 상기 무선 엑세스 포인트에 대한 위치에 기초하여, 상기 무선 엑세스 포인트에 대한 위치 정보를 생성하고; 서명된 위치 정보를 형성하기 위해 상기 무선 엑세스 포인트에 대한 위치 정보를 크레덴셜로 서명하고; 그리고 상기 서명된 위치 정보를 상기 무선 엑세스 포인트에 통신하도록 구성되는 위치 제공자.
제9절. 제8절에 있어서, 상기 프로세서는: 상기 메모리에 다른 소스들로부터 수신된 위치 정보를 저장하고; 상기 저장된 위치 정보를 상기 무선 엑세스 포인트로부터 수신된 상기 위치 데이터와 비교하고; 그리고 그에 따라 상기 위치 데이터에서 상기 정보를 보정하도록 더 구성되는 위치 제공자.
제10절. 제8 내지 제9절 중 임의의 절에 있어서, 상기 무선 엑세스 포인트의 상기 위치를 결정하는 것은: 상기 무선 엑세스 포인트와 상기 무선 엑세스 포인트로부터 수신된 특정 네트워크 디바이스 간의 거리를 나타내는 데이터를 다른 소스로부터 수신된 거리 데이터와 비교하는 것과; 상기 무선 엑세스 포인트와 상기 특정 네트워크 디바이스 간의 상기 거리를 나타내는 데이터를 상기 다른 소스로부터 수신된 상기 거리 데이터의 함수로서 수정하는 것을 포함하는 위치 제공자.
제11절. 시스템으로서, 위치 제공자; 상기 위치 제공자에 연결된 복수의 무선 엑세스 포인트들, 상기 복수의 엑세스 포인트들은 복수의 제1 무선 엑세스 포인트들을 포함하며; 및 상기 복수의 무선 엑세스 포인트들로부터 하나 이상의 무선 엑세스 포인트들에 연결하도록 구성되는 무선 인터페이스를 포함하는 모바일 컴퓨팅 디바이스를 포함하며, 상기 위치 제공자는 각 무선 엑세스 포인트에 대한 위치를 결정하고, 상기 위치를 위치 정보로서 대응하는 상기 무선 엑세스 포인트에 통신하며, 상기 제1 무선 엑세스 포인트들 각각에 대한 상기 위치 정보는 상기 위치 제공자와 연관된 디지털 서명으로 서명되며, 상기 복수의 무선 엑세스 포인트들로부터의 각 무선 엑세스 포인트는 그 무선 엑세스 포인트에 대한 상기 위치 정보를 무선으로 전송하며, 상기 모바일 컴퓨팅 디바이스는 상기 제1 무선 엑세스 포인트들에 의해 전송된 상기 서명된 위치 정보를 수신하고, 제1 무선 엑세스 포인트들 각각에 대한 상기 서명된 위치 정보가 상기 위치 제공자에 의해 서명되었음을 검증하고, 상기 위치 제공자에 의해 서명된 것으로서 검증된 위치 정보를 가지는 제1 무선 엑세스 포인트들은 검증된 제1 무선 엑세스 포인트들이며, 상기 모바일 컴퓨팅 디바이스는 상기 검증된 제1 무선 엑세스 포인트들 각각까지의 거리를 계산하며, 상기 모바일 컴퓨팅 디바이스는 상기 검증된 제1 무선 엑세스 포인트들 각각까지의 상기 거리와 상기 검증된 제1 무선 엑세스 포인트들 각각으로부터 수신된 상기 위치 정보에 기초하여 상기 모바일 컴퓨팅 디바이스의 위치를 결정하는 시스템.
제12절. 제11절에 있어서, 상기 복수의 무선 엑세스 포인트들은 하나 이상의 제2 무선 엑세스 포인트들을 더 포함하며, 각 제2 무선 엑세스 포인트는 상기 제2 무선 엑세스 포인트에 대한 위치 정보를 상기 모바일 컴퓨팅 디바이스에 전송하고, 상기 모바일 컴퓨팅 디바이스는 상기 제2 무선 엑세스 포인트들 각각에 대한 거리를 계산하고 상기 검증된 제1 무선 엑세스 포인트들 각각에 대한 상기 거리, 상기 제2 무선 엑세스 포인트들 각각에 대한 상기 거리, 상기 제2 무선 엑세스 포인트들 각각으로부터 수신된 상기 위치 정보 및 상기 검증된 제1 무선 엑세스 포인트들 각각으로부터 수신된 상기 위치 정보에 기초하여 상기 모바일 컴퓨팅 디바이스의 상기 위치를 결정하는 시스템.
제13절. 제11 내지 제12절 중 임의의 절에 있어서, 상기 위치 정보는 소스 식별자와 최종 업데이트 표시자를 포함하는 보안 데이터 그룹으로부터 선택된 보안 데이터를 포함하는 시스템.
제14절. 제11 내지 제13절 중 임의의 절에 있어서, 상기 위치 정보는 튜플로서 전송되고, 상기 튜플은 위도, 경도 및 보안 데이터를 포함하는 토큰을 포함하는 시스템.
제15절. 제11 내지 제14절 중 임의의 절에 있어서, 상기 모바일 컴퓨팅 디바이스는 상기 보안 데이터를 사용하여 상기 무선 엑세스 포인트로부터 수신된 위치 정보를 체크하는 시스템.
제16절. 제11 내지 제15절 중 임의의 절에 있어서, 상기 소스 식별자는 상기 무선 엑세스 포인트의 상기 기본 서비스 세트 식별(BSSID)을 포함하며, 상기 모바일 컴퓨팅 디바이스는 상기 위치 정보의 상기 BSSID가 상기 위치 정보를 전송하는 상기 무선 엑세스 포인트의 상기 BSSID와 일치하는지 검증하는 시스템.
제17절. 제11 내지 제16절 중 임의의 절에 있어서, 상기 위치 정보는 상기 무선 엑세스 포인트의 상기 기본 서비스 세트 식별(BSSID)을 포함하며, 상기 모바일 컴퓨팅 디바이스는 상기 위치 정보를 전송하는 상기 무선 엑세스 노드의 상기 BSSID가 상기 무선 엑세스 노드에 의해 전송된 상기 위치 정보에 포함된 상기 BSSID와 일치하는지 검증하고, 상기 위치 정보의 상기 BSSID가 상기 위치 정보를 전송하는 상기 무선 엑세스 포인트의 상기 BSSID와 일치하지 않으면, 상기 위치 정보가 상기 모바일 컴퓨팅 디바이스의 위치를 결정하는데 사용되는 것을 방지하는 시스템.
제18절. 제11 내지 제17절 중 임의의 절에 있어서, 상기 모바일 컴퓨팅 디바이스는 BSSID에 의해 인덱싱된 위치 정보의 테이블을 유지하며, 위치 정보의 상기 테이블은 신뢰된 위치 정보가 무선 엑세스 포인트로부터 사용가능하지 않은 경우 무선 엑세스 포인트의 무선 엑세스 포인트 위치를 획득하는데 사용되는 시스템.
제19절. 제11 내지 제18절 중 임의의 절에 있어서, 특정 무선 엑세스 포인트에 대한 상기 위치 정보는 업데이트 시간을 포함함, 상기 모바일 컴퓨팅 디바이스는 상기 업데이트 시간이 상기 위치 정보가 오래됨을 표시하는 경우 상기 특정 무선 엑세스 포인트에 대한 위치 정보를 폐기하는 시스템.
제20절. 제11 내지 제19절 중 임의의 절에 있어서, 상기 모바일 컴퓨팅 디바이스는 상기 위치 제공자에 통신적으로 연결되며, 상기 통신적으로 연결된 모바일 컴퓨팅 디바이스는 상기 각각의 복수의 무선 엑세스 포인트들에 의해 전송된 상기 위치 정보에 기초하여 결정된 것으로서, 그것의 위치를 검증을 위해 상기 위치 제공자에게 통신하는 시스템.
제21절. 방법으로서, 무선 디바이스에 의해, 복수의 무선 엑세스 포인트들 각각으로부터 각각의 서명된 위치 정보를 수신하는 단계, 상기 각각의 서명된 위치 정보는 대응하는 상기 무선 엑세스 포인트에 대한 위치 정보를 포함하며; 상기 무선 디바이스에 의해, 상기 각각의 서명된 위치 정보에 기초하여, 상기 각각의 서명된 위치 정보 중 임의의 것이 손상(compromised)되었는지 여부를 결정하는 단계; 및 상기 무선 디바이스에 의해, 그리고 손상되지 않은 상기 서명된 위치 정보와 상기 무선 디바이스와 손상되지 않았던 서명된 위치 데이터를 가지는 각 무선 엑세스 포인트 간의 거리를 나타내는 데이터에 기초하여, 상기 무선 디바이스의 위치를 결정하는 단계를 포함하는 방법.
제22절. 제21절에 있어서, 상기 결정하는 단계는 상기 무선 디바이스의 상기 위치를 검증을 위해 위치 제공자에게 전송하는 것을 포함하는 방법.
제23절. 제21 내지 제22절 중 임의의 절에 있어서, 상기 서명된 위치 정보는 최종 업데이트 표시자를 포함하며, 상기 검토하는 것은 상기 서명된 위치 정보를 상기 업데이트 시간이 미리 결정된 시간의 양보다 오래된 경우 손상된 것으로 취급하는 것을 포함하는 방법.
제24절. 제21 내지 제23절 중 임의의 절에 있어서, 상기 서명된 위치 정보는 상기 서명된 위치 정보를 전송한 상기 무선 엑세스 포인트의 상기 위치를 표시하는 (위도, 경도, 토큰) 튜플을 포함하며, 상기 토큰은 보안 데이터를 포함하며, 상기 검토하는 것은 상기 보안데이터를 검토하는 것과 상기 보안 정보가 예상했던 것이 아닌 경우 상기 서명된 위치 정보를 손상된 것으로 취급하는 것을 포함하는 방법.
제25절. 제21 내지 제23절 중 임의의 절에 있어서, 상기 토큰은 상기 토큰을 포함하는 상기 서명된 위치 정보를 전송하는 상기 무선 엑세스 포인트들의 상기 BSSID와 일치해야 하는 기본 서비스 세트 식별(BSSID)를 포함하며, 상기 검토하는 것은 상기 서명된 위치 정보의 상기 BSSID를 상기 서명된 위치 정보를 전송한 상기 무선 엑세스 포인트의 상기 BSSID와 비교하는 것과 상기 서명된 위치 정보의 상기 BSSID가 상기 서명된 위치 정보를 전송한 상기 무선 엑세스 포인트의 상기 BSSID와 일치하지 않는 경우 상기 서명된 위치 정보를 손상된 것으로 취급하는 것을 포함하는 방법.
제26절. 제21 내지 제25절 중 임의의 절에 있어서, 상기 무선 디바이스는 모바일 컴퓨팅 디바이스이며, 상기 위치 정보는 위치 표시자를 포함하며, 상기 모바일 컴퓨팅 디바이스는 상기 위치 표시자에 기초하여 동작 파라미터들을 변경하는 방법.
제27절. 제21 내지 제26절 중 임의의 절에 있어서, 상기 무선 디바이스는 모바일 컴퓨팅 디바이스이며, 상기 위치 정보는 국가 코드를 포함하며, 상기 모바일 컴퓨팅 디바이스는 상기 국가 코드에 기초하여 스캔하기 위한 Wi-Fi 밴드들을 선택하는 방법.
제28절. 디바이스로서, 메모리; 무선 인터페이스; 및 상기 메모리와 상기 무선 인터페이스에 연결된 프로세서를 포함하며, 상기 프로세서는 메모리에 복수의 무선 엑세스 포인트들 각각으로부터 수신된 서명된 위치 정보와 상기 모바일 컴퓨팅 디바이스와 각 무선 엑세스 포인트 간의 거리를 나타내는 데이터를 저장하고, 성기 서명된 위치 정보는 각 무선 엑세스 포인트의 위치를 식별하며; 임의의 무선 엑세스 포인트들 중 상기 서명된 위치 정보가 손상되었는지 결정하기 위해 상기 서명된 위치 정보를 검토하고; 손상되지 않은 상건 서명된 위치 정보 및 모바일 컴퓨팅 디바이스와 손상되지 않은 서명된 위치 데이터를 갖는 각 무선 엑세스 포인트 간의 거리를 나타내는 데이터에 기초하여, 모바일 컴퓨팅 디바이스의 위치를 결정하고; 그리고 상기 모바일 컴퓨팅 디바이스의 상기 위치를 메모리에 저장하도록 구성되는 디바이스.
제29절. 제28절에 있어서, 각 무선 엑세스 포인트에 대한 상기 서명된 위치 정보는 상기 서명된 위치 정보를 전송한 상기 무선 엑세스 포인트의 상기 BSSID와 일치해야 하는 기본 서비스 세트 식별(BSSID)를 포함하며, 상기 프로세서는 상기 서명된 위치 정보의 상기 BSSID를 상기 서명된 위치 정보를 전송한 상기 무선 엑세스 포인트의 상기 BSSID와 비교하고, 상기 서명된 위치 정보의 상기 BSSID가 상기 서명된 위치 정보를 전송한 상기 무선 엑세스 포인트의 상기 BSSID와 일치하지 않는 경우 상기 서명된 위치 정보를 손상된 것으로 취급하도록 더 구성되는 디바이스.
제30절. 제28 내지 제29절 중 임의의 절에 있어서, 상기 복수의 무선 엑세스 포인트들은 하나 이상의 보안되지 않은 무선 엑세스 포인트들을 포함하며, 상기 보안되지 않은 무선 엑세스 포인트들은 서명되지 않은 위치 정보를 전송하며, 상기 프로세서는 상기 보안되지 않은 무선 엑세스 포인트들 각각에 대한 거리를 계산하도록 더 구성되며, 상기 프로세서는 손상되지 않은 서명된 위치 정보를 가지는 무선 엑세스 포인트들 각각에 대한 상기 거리, 상기 보안되지 않은 무선 엑세스 포인트들 각각에 대한 상기 거리, 상기 보안되지 않은 무선 엑세스 포인트들로부터 수신된 상기 보안되지 않은 위치 정보 및 손상되지 않은 상기 서명된 위치에 기초하여 상기 모바일 컴퓨팅 디바이스의 상기 위치를 결정하도록 더 구성되는 디바이스.
하나 이상의 예시에서, 기술된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 기능은 하나 이상의 명령어들 또는 코드로서, 컴퓨터 판독가능 매체 상에 저장되거나 전송될 수 있고 하드웨어 기반 처리 유닛에 의해 실행될 수 있다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 또는 매체들을 포함할 수 있으며, 이는 데이터 저장 매체와 같은 유형 매체 또는 예를 들어 통신 프로토콜에 따라, 컴퓨터 프로그램의 한 장소에서 다른 장소로의 이동을 용이하게 하는 임의의 매체를 포함하는 통신 매체에 대응한다. 이러한 방식으로, 컴퓨터 판독가능 매체는 일반적으로 (1) 비일시적 유형적 컴퓨터 판독가능 매체 또는 (2)신호 또는 반송파와 같은 통신 매체에 대응할 수 있다. 데이터 저장 매체는 본 명세서에 기술된 기업들의 구현을 위한 명령어들, 코드 및/또는 데이터 구조들을 검색하기 위한 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 엑세스될 수 있는 임의의 사용가능한 매체일 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수 있다.
제한이 아닌 예시로서, 상기 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 명령어들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수 있고 컴퓨터에 의해 엑세스될 수 있는 임의의 기타 저장 매체를 포함할 수 있다. 또한, 임의의 연결은 적절하게 컴퓨터 판독가능 매체로 지칭된다. 예를 들어, 동축 케이블, 광섬유 케이블, 트위스트 페어, 디지털 가입자 회선(DSL) 또는 적외선, 라디오 및 마이크로웨이브와 같은 무선 기술들을 사용하여 웹 사이트, 서버 또는 기타 원격 소스로부터 명령어들을 전송하는 경우, 상기 동축 케이블, 광섬유 케이블, 트위스트 페어, DSL 또는 적외선, 무선 및 마이크로웨이브와 같은 무선 기술은 매체의 정의에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체들 및 미디어 및 데이터 저장 매체는 연결, 반송파, 신호 또는 다른 일시적인 매체를 포함하지 않지만, 대신 일시적이지 않은 유형의 저장 매체를 지칭한다는 것을 이해해야 한다. 본 명세서에서 사용되는 디스크 및 디스크는 디스크가 일반적으로 데이터를 자기적으로 재생하는, 디스크가 레이저로 광학적으로 데이터를 재생하는, CD, 레이저 디스크, 광학 디스크, DVD(digital versatile disc), 플로피 디스크 및 블루레이 디스크를 포함한다. 상기의 조합들도 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
명령어들은 하나 이상의 디지털 신호 프로세서들(DSPs), 범용 마이크로 프로세서들, 주문형 집적 회로들(ASICs), 필드 프로그래머블 논리 어레이(FPGAs), 또는 다른 균등한 집적 회로 또는 이산 논리 회로들과 같은 하나 이상의 프로세서들에 의해 실행될 수 있다. 따라서, 본 명세서에서 사용되는 "프로세서"라는 용어는 전술한 구조 또는 본 명세서에 기술된 기법들의 구현에 적합한 임의의 다른 구조를 지칭할 수 있다. 또한, 일부 양태들에서, 본 명세서에서 기술된 기능성은 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수 있다. 또한, 기법들은 하나 이상의 회로 또는 논리 엘리먼트에서 완전히 구현될 수 있다.
본 개시의 기법들은 무선 핸드셋, 집적 회로(IC) 또는 IC들의 세트(예를 들어, 칩셋)를 포함하는 다양한 디바이스들 또는 장치들에서 구현될 수 있다. 다양한 컴포넌트들, 모듈들 또는 유닛들이 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 명세서에 기술되었지만, 다른 하드웨어 유닛들에 의해 실현을 반드시 요구하지는 않는다. 오히려, 상기 기술된 바와 같이, 다양한 유닛들은 적절한 소프트웨어 및/또는 펌웨어와 함께 상기 기술된 하나 이상의 프로세서들을 포함하는 하드웨어 유닛에 결합될 수 있어가 상호동작적 하드웨어 유닛들의 집합에 의해 제공될 수 있다.
다양한 예시들이 기술되었다. 비록 예시들은 Wi-Fi 네트워크의 맥락에서 기술되었지만, 상기 기술된 기법들은 임의의 무선 근거리 네트워크에서 사용될 수 있다. 이들 또는 다른 예시들은 다음의 청구항들의 범위 내에 있다.

Claims (15)

  1. 시스템으로서,
    위치 제공자;
    상기 위치 제공자에 연결된 복수의 무선 엑세스 포인트들, 상기 복수의 엑세스 포인트들은 복수의 제1 무선 엑세스 포인트들을 포함하며; 및
    상기 복수의 무선 엑세스 포인트들로부터 하나 이상의 무선 엑세스 포인트들에 연결하도록 구성되는 무선 인터페이스를 포함하는 모바일 컴퓨팅 디바이스를 포함하며,
    상기 위치 제공자는 각 무선 엑세스 포인트에 대한 위치를 결정하고, 상기 위치를 위치 정보로서 대응하는 상기 무선 엑세스 포인트에 통신하며, 상기 제1 무선 엑세스 포인트들 각각에 대한 상기 위치 정보는 상기 위치 제공자와 연관된 디지털 서명으로 서명되며,
    상기 복수의 무선 엑세스 포인트들로부터의 각 무선 엑세스 포인트는 그 무선 엑세스 포인트에 대한 상기 위치 정보를 무선으로 전송하며,
    상기 모바일 컴퓨팅 디바이스는 상기 제1 무선 엑세스 포인트들에 의해 전송된 상기 서명된 위치 정보를 수신하고, 제1 무선 엑세스 포인트들 각각에 대한 상기 서명된 위치 정보가 상기 위치 제공자에 의해 서명되었음을 검증하고, 상기 위치 제공자에 의해 서명된 것으로서 검증된 위치 정보를 가지는 제1 무선 엑세스 포인트들은 검증된 제1 무선 엑세스 포인트들이며,
    상기 모바일 컴퓨팅 디바이스는 상기 검증된 제1 무선 엑세스 포인트들 각각까지의 거리를 계산하며,
    상기 모바일 컴퓨팅 디바이스는 상기 검증된 제1 무선 엑세스 포인트들 각각까지의 상기 거리와 상기 검증된 제1 무선 엑세스 포인트들 각각으로부터 수신된 상기 위치 정보에 기초하여 상기 모바일 컴퓨팅 디바이스의 위치를 결정하는 것을 특징으로 하는 시스템.
  2. 방법으로서,
    무선 디바이스에 의해, 복수의 무선 엑세스 포인트들 각각으로부터 각각의 서명된 위치 정보를 수신하는 단계, 상기 각각의 서명된 위치 정보는 대응하는 상기 무선 엑세스 포인트에 대한 위치 정보를 포함하며;
    상기 무선 디바이스에 의해, 상기 각각의 서명된 위치 정보에 기초하여, 상기 각각의 서명된 위치 정보 중 임의의 것이 손상(compromised)되었는지 여부를 결정하는 단계; 및
    상기 무선 디바이스에 의해, 그리고 손상되지 않은 상기 서명된 위치 정보와 상기 무선 디바이스와 손상되지 않았던 서명된 위치 데이터를 가지는 각 무선 엑세스 포인트 간의 거리를 나타내는 데이터에 기초하여, 상기 무선 디바이스의 위치를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 청구항 2에 있어서, 상기 서명된 위치 정보는 최종 업데이트 표시자를 포함하며, 상기 리뷰하는 단계는 상기 업데이트 시간이 미리 정의된 시간의 양보다 오래된 경우 상기 서명된 위치 정보를 손상된 것으로 취급하는 것을 포함하는 것을 특징으로 하는 방법.
  4. 청구항 2 및 3 중 임의의 항에 있어서,
    상기 서명된 위치 정보는 상기 서명된 위치 정보를 존송한 상기 무선 엑세스 포인트의 상기 위치를 표시하는 (위도(lat), 경도(long), 토큰(token) 튜플을 포함하며, 상기 토큰은 보안 데이터를 포함하며, 상기 리뷰하는 단계는 상기 보안 데이터를 리뷰하는 것과 상기 보안 데이터가 예상된 것이 아닌 경우 상기 서명된 위치 정보를 손상된 것으로 취급하는 것을 더 포함하며,
    상기 토큰은 기본 서비스 세트 식별(BSSID)를 포함하며, 상기 BSSID는 상기 토큰을 포함하는 상기 서명된 위치 정보를 전송하는 상기 무선 엑세스 포인트들의 상기 BSSID와 반드시 매칭되며, 그리고
    상기 리뷰하는 것은 상기 서명된 위치 정보로부터의 상기 BSSID를 상기 서명된 위치 정보를 전송하는 상기 무선 엑세스 포인트의 상기 BSSID와 비교하는 것과 상기 서명된 위치 정보로부터의 상기 BSSID가 상기 서명된 위치 정보를 전송한 상기 무선 엑세스 포인트의 상기 BSSID와 매칭되지 않은 경우 상기 서명된 위치 정보를 손상된 것으로 취급하는 것을 포함하는 것을 특징으로 하는 방법.
  5. 청구항 2 내지 4 중 임의의 항에 있어서,
    상기 무선 디바이스는 모바일 컴퓨팅 디바이스이며, 상기 위치 정보는 위치 표시자를 포함하며, 상기 모바일 컴퓨팅 디바이스는 상기 위치 표시자에 기초하여 동작 파라미터들을 변경하는 것을 특징으로 하는 방법.
  6. 청구항 2 내지 5 중 임의의 항에 있어서,
    상기 무선 디바이스는 모바일 컴퓨팅 디바이스이며, 상기 위치 정보는 국가 코드를 포함하며, 상기 모바일 컴퓨팅 디바이스는 상기 국가 코드에 기초하여 스캔하기 위해 Wi-Fi 밴드들을 선택하는 것을 특징으로 하는 방법.
  7. 청구항 2 내지 6에 기재된 방법 중 임의의 조합을 수행하기 위한 수단들을 포함하는 디바이스.
  8. 방법으로서,
    위치 제공자에 의해, 그리고 위치 데이터에 기초하여, 무선 엑세스 포인트의 위치를 결정하는 단계, 상기 위치 데이터는 복수의 네트워크 디바이스들 각각으로부터의 위치 데이터를 포함하며, 각 네트워크 디바이스에 대한 상기 위치 데이터는 상기 네트워크 디바이스의 위치와 상기 무선 엑세스 포인트와 각 네트워크 디바이스 간의 거리를 나타내는 데이터를 포함하며;
    상기 위치 제공자에 의해, 그리고 상기 무선 엑세스 포인트의 상기 위치에 기초하여, 상기 무선 엑세스 포인트에 대한 위치 정보를 생성하는 단계;
    서명된 위치 정보를 형성하기 위해 상기 위치 정보를 크레덴셜로 서명하는 단계; 및
    상기 서명된 위치 정보를 상기 무선 엑세스 포인트에 통신하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 청구항 8에 있어서,
    상기 위치를 결정하는 단계는:
    상기 무선 엑세스 포인트로부터 수신된 상기 위치 데이터를 다른 소스로부터의 위치 데이터와 비교하는 것; 및
    상기 무선 엑세스 포인트로부터 수신된 상기 위치 데이터가 다른 소르포부터의 상기 위치 데이터와 상이한 임계량보다 많은 경우, 상기 무선 엑세스 포인트의 상기 위치를 생성하기 위해 사용하기 위한 위치 데이터를 결정하는 것을 포함하는 것을 특징으로 하는 방법.
  10. 청구항 8 및 9 중 임의의 항에 있어서,
    상기 네트워크 디바이스는 알려진 위치들을 가지는 모바일 컴퓨팅 디바이스들을 포함하는 것을 특징으로 하는 방법.
  11. 청구항 8 내지 10 중 임의의 한에 있어서,
    상기 위치 정보를 생성하는 단계는 위도와 경도로 표현된 상기 무선 엑세스 포인트의 상기 위치를 결정하는 것과 상기 무선 엑세스 포인트의 상기 위도와 경도를 상기 위치 정보로 기록하는 것을 포함하는 것을 특징으로 하는 방법.
  12. 청구항 8 내지 11 중 임의의 항에 있어서,
    상기 위치 정보를 생성하는 단계는:
    위도와 경도로 표현된 상기 무선 엑세스 포인트의 상기 위치를 결정하는 단계;
    튜플을 형성하는 단계, 상기 튜플은 토큰과 상기 무선 엑세스 포인트의 상기 위도와 경도를 포함하며; 및
    상기 튜플을 상기 무선 엑세스 포인트에 대한 상기 위치 정보 내에 기록하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 청구항 12에 있어서,
    상기 무선 엑세스 포인트는 기본 서비스 세트 식별(BSSID)를 포함하며, 상기 튜플을 형성하는 단계는 상기 무선 엑세스 포인트의 상기 BSSID를 상기 토큰 내에 기록하는 것을 포함하는 것을 특징으로 하는 방법.
  14. 청구항 12 및 13 중 임의의 항에 있어서,
    상기 위치 정보를 생성하는 단계는 다른 소스들로부터 수신된 위치 정보를 상기 무선 엑세스 포인트로부터 수신된 상기 위치 데이터와 비교하는 것을 포함하는 것을 특징으로 하는 방법.
  15. 청구항 8 내지 14의 방법들 중 임의의 조합을 수행하기 위한 수단들을 포함하는 디바이스.
KR1020187008100A 2015-10-28 2016-10-21 검증된 위치 정보를 생성하고 퍼블리시하기 KR102040785B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/924,771 2015-10-28
US14/924,771 US9883479B2 (en) 2015-10-28 2015-10-28 Generating and publishing validated location information
PCT/US2016/058151 WO2017074814A1 (en) 2015-10-28 2016-10-21 Generating and publishing validated location information

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197032043A Division KR102106092B1 (ko) 2015-10-28 2016-10-21 검증된 위치 정보를 생성하고 퍼블리시하기

Publications (2)

Publication Number Publication Date
KR20180044345A true KR20180044345A (ko) 2018-05-02
KR102040785B1 KR102040785B1 (ko) 2019-11-06

Family

ID=57241178

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187008100A KR102040785B1 (ko) 2015-10-28 2016-10-21 검증된 위치 정보를 생성하고 퍼블리시하기
KR1020197032043A KR102106092B1 (ko) 2015-10-28 2016-10-21 검증된 위치 정보를 생성하고 퍼블리시하기

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197032043A KR102106092B1 (ko) 2015-10-28 2016-10-21 검증된 위치 정보를 생성하고 퍼블리시하기

Country Status (8)

Country Link
US (2) US9883479B2 (ko)
EP (1) EP3335482B1 (ko)
JP (1) JP6694952B2 (ko)
KR (2) KR102040785B1 (ko)
CN (1) CN108141838B (ko)
DE (1) DE112016004969T5 (ko)
GB (1) GB2557553B (ko)
WO (1) WO2017074814A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106537963B (zh) * 2014-06-13 2021-04-27 飞利浦灯具控股公司 基于无线节点的网络进行的定位
US9883479B2 (en) 2015-10-28 2018-01-30 Google Llc Generating and publishing validated location information
US10057844B2 (en) * 2016-01-22 2018-08-21 T-Mobile Usa, Inc. Location or service-based determination of radio selection rules
JP6724174B2 (ja) * 2016-03-18 2020-07-15 プリューム デザイン インコーポレイテッドPlume Design, Inc. 分散Wi−Fiネットワークの最適化を可能にするためのデータ収集
CN106162827A (zh) * 2016-08-16 2016-11-23 Tcl移动通信科技(宁波)有限公司 一种基于移动终端的网络接入点存储处理方法及系统
US10467415B2 (en) * 2017-03-28 2019-11-05 T-Mobile Usa, Inc. Conditional updating based on bootloader unlock status
WO2018213496A1 (en) * 2017-05-16 2018-11-22 Qualcomm Incorporated Regulatory domain security techniques for wireless devices
JP6912271B2 (ja) * 2017-05-17 2021-08-04 株式会社Nttドコモ デバイス位置管理システム及びデバイス位置管理サーバ
US11916923B2 (en) * 2017-12-22 2024-02-27 Telefonaktiebolaget Lm Ericsson (Publ) Method for restricting memory write access in IoT devices
US10667315B2 (en) 2018-06-26 2020-05-26 Microsoft Technology Licensing, Llc Route an emergency call over VOIP client to cellular device
US11088827B2 (en) * 2018-07-09 2021-08-10 At&T Intellectual Property I, L.P. Location-based blockchain
KR102546949B1 (ko) * 2018-07-13 2023-06-23 삼성전자 주식회사 전자 장치, 서버 장치 및 전자 장치의 위치를 결정하는 방법
US10512058B1 (en) 2018-07-24 2019-12-17 Microsoft Technology Licensing, Llc Access point association and tracking of physical addresses
US10757556B2 (en) 2018-07-24 2020-08-25 Microsoft Technology Licensing, Llc Device-based access point association and tracking of physical addresses
US11129127B2 (en) * 2019-01-11 2021-09-21 Qualcomm Incorporated Network calibration with round-trip-time (RTT)-based positioning procedures
EP3690471A1 (en) * 2019-02-04 2020-08-05 HERE Global B.V. Determining a plurality of installation positions of a plurality of radio devices
CN111148025A (zh) * 2019-03-14 2020-05-12 广东小天才科技有限公司 一种可穿戴设备的定位方法及可穿戴设备
US11571126B2 (en) * 2019-03-25 2023-02-07 Micron Technology, Inc. Secure wireless communication between implants and apparatus
US11412384B1 (en) 2019-10-03 2022-08-09 Rapid7, Inc. Incident detection and response using wireless access point data
US11375398B2 (en) * 2019-11-12 2022-06-28 Cisco Technology, Inc. Modular, reliable wireless client device
JP2021141427A (ja) * 2020-03-05 2021-09-16 株式会社東海理化電機製作所 通信装置、端末装置、及び無線信号のデータ構造
US11223960B2 (en) 2020-05-13 2022-01-11 T-Mobile Usa, Inc. Network planning tool for forecasting in telecommunications networks
US11430333B2 (en) * 2020-06-10 2022-08-30 Spaces Operations, Llc Method and system for dynamic mobile data communication

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370629B1 (en) * 2010-05-07 2013-02-05 Qualcomm Incorporated Trusted hybrid location system
WO2013033464A2 (en) * 2011-08-30 2013-03-07 Qualcomm Incorporated Generic broadcast of location assistance data
US20140253390A1 (en) * 2013-03-05 2014-09-11 Yaron Alpert Passive wireless transmitter authentication used for receiver location determination
US20150281888A1 (en) * 2014-03-31 2015-10-01 Igor Muttik Provable geo-location

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9356940B2 (en) * 2003-11-13 2016-05-31 Digital Authentication Technologies, Inc. Security and access system based on multi-dimensional location characteristics
US20050124355A1 (en) * 2003-12-04 2005-06-09 International Business Machines Corporation Self-directed access point location validation
GB0407335D0 (en) 2004-03-31 2004-05-05 British Telecomm Authorisation
CN101208965A (zh) * 2005-02-22 2008-06-25 探空气球无线公司 定位系统中的连续数据优化
JP5021753B2 (ja) * 2006-10-27 2012-09-12 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 無線通信ネットワーク内のアクセスポイントの位置を推定するための方法及び装置
EP2034661A1 (en) * 2007-09-07 2009-03-11 Deutsche Telekom AG Method and system for distributed, localized authentication in the framework of 802.11
US8040219B2 (en) 2008-11-06 2011-10-18 Sony Ericsson Mobile Communications Ab System and method for in-building location determination
US8504061B2 (en) 2010-04-07 2013-08-06 Apple Inc. Multi-tier geofence detection
US8396485B2 (en) 2010-11-09 2013-03-12 Apple Inc. Beacon-based geofencing
US8606188B2 (en) * 2010-11-19 2013-12-10 Qualcomm Incorporated Self-positioning of a wireless station
US9258680B2 (en) 2011-05-20 2016-02-09 Empire Technology Development Llc Location-transmitting device for determining location of a wireless communication device
US8949993B2 (en) 2011-10-17 2015-02-03 Mcafee Inc. Mobile risk assessment
US8805403B2 (en) * 2012-04-05 2014-08-12 Qualcomm Incorporated Automatic data accuracy maintenance in a Wi-Fi access point location database
EP2657719B1 (en) 2012-04-24 2019-09-04 BlackBerry Limited System and method of transmitting location data based on wireless communication activity
WO2013180362A1 (ko) * 2012-06-01 2013-12-05 한국과학기술원 와이파이 신호 맵 구축 장치 및 방법
US9063208B2 (en) 2012-06-07 2015-06-23 Walkbase Oy Assisted global navigation satellite system for indoor positioning
JP5876190B2 (ja) 2013-04-19 2016-03-02 インテル コーポレイション ロケーション・アプリケーションおよびロケーション・プロバイダによって信頼できる通信をおこなうための技術
US9742737B2 (en) * 2013-09-25 2017-08-22 Intel Corporation Authenticated time-of-flight indoor positioning systems and methods
CN103702280A (zh) * 2013-11-26 2014-04-02 中国十七冶集团有限公司 一种基于节点位置检测的物联网安全路由协议
EP3092506B1 (en) * 2014-01-07 2018-10-24 Philips Lighting Holding B.V. Positioning system for determining the location of a device
US9883479B2 (en) 2015-10-28 2018-01-30 Google Llc Generating and publishing validated location information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370629B1 (en) * 2010-05-07 2013-02-05 Qualcomm Incorporated Trusted hybrid location system
WO2013033464A2 (en) * 2011-08-30 2013-03-07 Qualcomm Incorporated Generic broadcast of location assistance data
US20140253390A1 (en) * 2013-03-05 2014-09-11 Yaron Alpert Passive wireless transmitter authentication used for receiver location determination
US20150281888A1 (en) * 2014-03-31 2015-10-01 Igor Muttik Provable geo-location

Also Published As

Publication number Publication date
GB2557553A (en) 2018-06-20
JP2018536842A (ja) 2018-12-13
GB201806486D0 (en) 2018-06-06
US10212689B2 (en) 2019-02-19
KR20190124823A (ko) 2019-11-05
US20170127373A1 (en) 2017-05-04
CN108141838A (zh) 2018-06-08
KR102040785B1 (ko) 2019-11-06
WO2017074814A1 (en) 2017-05-04
EP3335482A1 (en) 2018-06-20
DE112016004969T5 (de) 2018-07-19
US9883479B2 (en) 2018-01-30
JP6694952B2 (ja) 2020-05-20
GB2557553B (en) 2021-07-14
CN108141838B (zh) 2020-12-15
US20180139719A1 (en) 2018-05-17
EP3335482B1 (en) 2020-07-08
KR102106092B1 (ko) 2020-04-29

Similar Documents

Publication Publication Date Title
KR102040785B1 (ko) 검증된 위치 정보를 생성하고 퍼블리시하기
CN110678770B (zh) 定位信息验证
US10757102B2 (en) Methods, apparatus, and systems for identity authentication
US10117096B2 (en) Systems and methods to determine safe zones and safe routes of a device
US11551224B2 (en) Systems and methods for identifying mobile devices
KR101806061B1 (ko) 입증가능한 지오로케이션
US11765580B2 (en) Enabling flexible provision of signature data of position data representing an estimated position
US20220029813A1 (en) Communication network node, methods, and a mobile terminal
US20180184253A1 (en) Systems and methods to determine safe zones and safe routes of a device
Biehl et al. You're where? prove it! towards trusted indoor location estimation of mobile devices
US20180180429A1 (en) Systems and methods to determine safe zones and safe routes of a device
JP6095713B2 (ja) 位置デバイスを搭載する携帯端末装置の動作を制御する方法、携帯端末装置およびコンピュータ・プログラム

Legal Events

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