KR101607605B1 - 피어-투-피어 위치 서비스 - Google Patents

피어-투-피어 위치 서비스 Download PDF

Info

Publication number
KR101607605B1
KR101607605B1 KR1020137018554A KR20137018554A KR101607605B1 KR 101607605 B1 KR101607605 B1 KR 101607605B1 KR 1020137018554 A KR1020137018554 A KR 1020137018554A KR 20137018554 A KR20137018554 A KR 20137018554A KR 101607605 B1 KR101607605 B1 KR 101607605B1
Authority
KR
South Korea
Prior art keywords
location
peer
wireless communication
server
communication device
Prior art date
Application number
KR1020137018554A
Other languages
English (en)
Other versions
KR20130132543A (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 KR20130132543A publication Critical patent/KR20130132543A/ko
Application granted granted Critical
Publication of KR101607605B1 publication Critical patent/KR101607605B1/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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • G01S5/0018Transmission from mobile station to base station
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/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
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Abstract

피어-투-피어 위치 서비스를 제공하고 위치 결정 및 위치 표적화를 용이하게 하기 위해, 무선 장치의 무선 피어들의 고분해능의 물리적 위치 기능들을 강화함으로써 무선 장치를 위한 고분해능의 물리적인 위치들을 얻기 위한 기법들이 개시된다. 무선 장치들은 컴퓨팅 클라우드에 위치 업데이트들을 제공하며, 이 컴퓨팅 클라우드는 무선 장치 식별자들을 대응하는 무선 장치들에 대한 수신된 위치 정보와 관련시키는 레코드들을 저장한다. 무선 장치가 그의 네트워크에 있는 부근의 무선 피어들을 동적으로 확인하기 위해 피어 발견 요청을 발행한다. 그 후, 이 무선 장치는 위치 요청에서 부근의 무선 피어들에 대한 무선 장치 식별자들을 컴퓨팅 클라우드에 전송하며, 이 컴퓨팅 클라우드는 상기 부근의 무선 피어들에 대한 사전 기록된 위치 정보를 이용하여 상기 무선 장치에 대한 위치를 추정한다. 컴퓨팅 클라우드는 컴퓨팅 클라우드는 상기 추정된 위치를 상기 요청을 행한 무선 장치에 리턴한다.

Description

피어-투-피어 위치 서비스{PEER-TO-PEER LOCATION SERVICE}
본 발명의 컴퓨터 네트워크에 관한 것으로, 보다 구체적으로는 컴퓨팅 장치의 물리적 위치를 결정하는 것에 관한 것이다.
컴퓨터 네트워크는 데이터와 자원을 공유 교환할 수 있는 상호 연결된 컴퓨팅 장치의 집합체이다. 예를 들어, 이더넷 네트워크와 같은 패킷 기반 네트워크에서, 컴퓨팅 장치들은 개별적으로 네트워크를 통해 발신지 장치로부터 착신지 장치에 라우팅되는 패킷들로 칭해지는 작은 블록들로 상기 데이터를 분할함으로써 데이터통신을 행한다. 다양한 중간 장치들이 컴퓨팅 장치들 간에 패킷들을 라우팅하는 동작을 행한다. 예를 들어, 컴퓨터 네트워크는 라우터, 스위치, 게이트웨이, 방화벽, 및 네트워크 통신을 제공하고 촉진하기 위한 다른 다양한 장치를 포함할 수 있다.
무선 통신 네트워크는 각각 무선 통신 장치들에 신호들을 전송 및 중계할 수 있는 적어도 하나의 기지국을 포함하는 셀들의 집합체를 포함한다. "셀"은 일반적으로 데이터 전송을 위한 특정 주파수 또는 주파수의 범위를 사용하는 무선 네트워크의 개별(distinct) 영역이다. 전형적인 기지국은 특정 주파수를 통해 데이터를 전송 및 수신하는 다수의 안테나가 접속된 탑(tower)이다. 셀룰러 또는 모바일 폰, 스마트 폰, 카메라 폰, 개인 디지털 보조 (PDA), 노트북 컴퓨터 및 태블릿 컴퓨터와 같은 무선 장치들이 호출 또는 데이터 세션을 개시하고 데이터 전송을 시작하기 위해, 지정된 주파수의 신호를 기지국에 개시하거나 전송할 수 있다. 기지국은 한정된 지리적 영역( "셀")을 커버하지만, 기지국 셀내의 무선 장치가 이동 중인지 또는 정지하고 있는지 여부에 관계없이 무선 장치와 데이터를 교환할 수 있다.
무선 네트워크에 액세스하는 많은 무선 컴퓨팅 장치들은 컴퓨팅 장치들이 정확하게 그들의 물리적 위치를 결정할 수 있게하는 글로벌 포지셔닝 시스템 (GPS) 수신기를 포함한다. 무선 장치들의 정확한 위치들은 예컨대 그러한 위치 정보를 제공할 수 있는 무선 장치들을 위한, 예를 들어 위치-표적 네트워크 및 애플리케이션 서비스 개발을 주도하고 있다.
일반적으로, 피어-투-피어 위치 서비스를 제공하고 위치 결정 및 위치 표적화를 용이하게 하기 위해, 무선 장치의 무선 피어들의 고분해능의 물리적 위치 기능들을 레버리징(leveraging)함으로써 무선 장치를 위한 고분해능의 물리적인 위치들을 얻기 위한 기법들이 개시된다. 일례로, 이 기법들은 위치 서비스의 물리적 위치 정보를 제공하는 정책에 따라 동작하는 무선 장치에서 업데이트 데몬을 실행하는 단계를 포함한다. 위치 서비스는 무선 장치의 업데이트 데몬으로부터, 무선 장치에 대한 다른 설명 정보와 함께, 물리적 위치 정보를 수신하고 이 정보를 데이터베이스 등의 위치 정보 서비스 백엔드에 제공한다.
피어-투-피어 위치 서비스를 이용하기 위해, 무선 장치는 먼저, 그의 네트워크에 인접한 무선 피어를 동적으로 식별하는 피어 발견 요청을 행한다. 각각의 인접 무선 피어는 식별자로 상기 요청을 행한 무선 장치에 응답한다. 무선 장치는 무선 피어 식별자를 수집하고, 위치 퀴리로부터의 무선 피어 식별자들을 위치 서비스에 발행한다. 무선 피어 식별자를 포함하는 위치 쿼리의 수신하에서, 위치 서비스는 식별된 무선 피어들을 위한 이전에 저장된 물리적 위치 및 다른 설명 정보를 얻기 위해 상기 백엔드에 액세스한다. 위치 서비스는 그 후, 무선 장치의 물리적 위치를 추정하기 위하여, 상기 식별된 무선 피어들에 대한 물리적 위치 및 다른 설명 정보에 위치 모델을 적용한다. 상기 위치 서비스는 그 후, 무선 장치의 추정된 물리적 위치로 상기 위치 쿼리에 응답한다.
상기 설명된 기법은 하나 이상의 장점을 제공할 수 있다. 예를 들어, 피어-투-피어 위치 서비스는, 위치 결정 기능이 없거나, 저분해능의 위치 결정 능력을 갖거나 혹은 간섭으로 인해 그들의 위치 결정 기능을 사용할 수 없는 무선 디바이스들에 고분해능의 위치 정보를 제공할 수 있다. 예를 들어, 피어-투-피어 위치 서비스는 무선 장치들이 갖고 있지 않은 추가 정보를 포함할 수 있다. 더욱이, 모바일 폰 등 다양한 무선 장치가 제한된 전력 및/또는 처리 능력을 가지며, 피어-투-피어 위치 서비스에 위치 결정을 아웃소싱함으로써 전력 및/또는 처리량의 감소를 달성 할 수 있다. 또 다른 예로서, 위치를 결정하는 피어 위치들을 얻기위해 그들의 위치에 대해 이웃 피어들에 직접 쿼리하는 것과 같은 다른 피어 활용 기법들이 무선 네트워크내의 트래픽을 증가시키기고 그럼으로써 사용가능한 대역폭을 줄일 수 있다. 위치 정보 서비스의 이용은 무선 네트워크내의 피어-투-피어 메시지들의 수를 줄일 수 있고 그럼으로써 혼잡을 줄일 수 있다.
일 실시 예에서, 본 발명은 한 방법을 개시하는바, 이 방법은 무선 통신 네트워크에 통신 가능하게 연결된 무선 통신 장치에 의해, 무선 통신 네트워크에 통신가능하게 연결된 대응하는 하나 이상의 피어 장치들에 대한 하나 이상의 피어 신원들을 수신하는 단계를 포함한다. 이 방법은 또한, 상기 무선 통신 장치로부터 위치 서비스의 서버로 상기 하나 이상의 피어 신원들을 포함하는 위치 쿼리를 전송하는 단계를 포함하며, 상기 위치 쿼리는, 적어도 상기 하나 이상의 피어 디바이스들의 물리적 위치들에 기초하여 상기 위치 서비스에 의해 추정되는 무선 통신 장치의 물리적 위치에 대한 요청을 포함한다. 상기 방법은 또한, 위치 서비스로부터의 위치 응답에서, 상기 무선 통신 장치의 상기 추정된 물리적 위치를 수신하는 단계를 포함한다.
일 실시 예에서, 본 발명은 방법에 관한 것으로, 이 방법은 위치 서비스의 서버에 의해, 대응 무선 통신 장치로부터 위치 업데이트 메시지를 수신하는 단계를 포함하며, 상기 위치 업데이트 메시지는 대응 무선 통신 장치를 위한 물리적 위치들 및 피어 신원들을 포함한다. 이 방법은 또한, 상기 서버에 의해, 상기 물리적 위치와 피어의 신원들을 위치 서비스를 위한 데이터 저장 및 검색을 제공하는 저장 장치에 저장하는 단계와 상기 서버에 의해, 상기 피어 신원들에 대응하는 무선 통신 장치들의 물리적 위치들을 얻기 위해 상기 피어 신원들을 이용하여 상기 저장 장치에 쿼리하는 단계를 포함한다. 본 방법은 또한, 서버에 의해, 적어도 상기 물리적 위치들에 기초하여 상기 무선 통신 장치들의 피어인 제1 무선 통신 장치의 추정된 물리적 위치를 결정함과 아울러 상기 추정된 물리적 위치를 위치 응답으로 상기 서버로부터 상기 제 1의 무선 통신 장치에 출력하는 단계를 포함한다.
다른 실시 예에서, 본 발명은 무선 통신 네트워크에 연결된 무선 통신 장치에 관한 것으로, 상기 무선 통신 장치는 상기 무선 통신 장치에 통신가능하게 연결된 대응 피어 장치에 대한 하나 이상의 피어 신원들을 수신하는 수단을 포함한다. 상기 무선 통신 장치는 또한, 피어 신원들을 포함하는 위치 쿼리를 위치 서비스에 전송하는 위치 모듈을 포함하며, 상기 위치 쿼리는 적어도 상기 하나 이상의 피어 디바이스들의 물리적 위치들에 기초하여 상기 위치 서비스에 의해 추정되는 무선 통신 장치의 물리적 위치에 대한 요청을 포함한다. 상기 위치 모듈은 상기 위치 서비스로부터의 위치 응답에서, 상기 무선 통신 장치의 상기 추정된 물리적 위치를 수신한다.
다른 실시 예에서, 본 발명은 대응하는 무선 통신 장치들에서 위치 업데이트 메시지들을 수신하는 업데이트 서버를 포함하는 시스템에 관한 것으로서, 상기 위치 업데이트 메시지들은 상기 대응하는 무선 통신 장치들에 대한 물리적 위치 및 피어 신원들을 포함한다. 본 시스템은 또한, 상기 대응하는 무선 통신 장치들에 대한 물리적 위치 및 피어 신원들을 데이터의 저장 및 검색을 제공하는 저장 장치에 저장하는 컴퓨터 판독가능 저장 매체로 구성된 위치 데이터 저장소를 포함한다. 본 시스템은 또한, 상기 물리적 위치들을 얻기 위하여 상기 피어 신원들을 사용하여 상기 위치 데이터 저장소에 쿼리하는 쿼리 서버의 데이터베이스 인터페이스를 포함한다. 이 시스템은 또한, 적어도 상기 물리적 위치들에 기초하여 상기 무선 통신 장치와 피어인 제 1의 무선 통신 장치의 추정된 물리적 위치를 결정하는 수단을 포함한다. 이 시스템은 또한, 위치 응답에서, 제 1의 무선 통신 장치에 상기 추정된 물리적 위치를 출력하는 쿼리 서버의 쿼리 인터페이스를 포함한다.
다른 실시 예에서, 본 발명은 명령어들이 수록된 비-일시적인 컴퓨터 판독 가능 매체에 관한 것이다. 이 명령어들은 프로그램 가능 프로세서로 하여금 무선 통신 네트워크에 통신 가능하게 연결된 무선 통신 장치로 상기 무선 통신 네트워크에 통신가능하게 연결된 대응하는 하나 이상의 피어 장치들에 대한 하나 이상의 피어 신원들을 수신하게 한다. 이 명령어는 또한, 상기 프로그램 가능 프로세서로 하여금 상기 무선 통신 장치로부터 위치 서비스의 서버로 상기 하나 이상의 피어 신원들을 포함하는 위치 쿼리를 전송하게 하며, 상기 위치 쿼리는 적어도 상기 하나 이상의 피어 디바이스들의 물리적 위치들에 기초하여 상기 위치 서비스에 의해 추정되는 무선 통신 장치의 물리적 위치에 대한 요청을 포함한다. 상기 명령어는 또한, 상기 프로그램 가능 프로세서로 하여금 위치 서비스로부터의 위치 응답에서, 상기 무선 통신 장치의 상기 추정된 물리적 위치를 수신하게 한다.
다른 실시 예에서, 본 발명은 명령어들을 수록한 비-일시적인 컴퓨터 판독 가능 매체에 관한 것이다. 상기 명령어들은 프로그램 가능 프로세서로 하여금 위치 서비스의 서버에 의해 대응 무선 통신 장치에서 위치 업데이트 메시지를 수신하게하며, 상기 위치 업데이트 메시지는 대응 무선 통신 장치를 위한 물리적 위치들 및 피어 신원들을 포함한다. 상기 명령어들은 프로그램 가능 프로세서로 하여금 상기 서버에 의해 상기 물리적 위치와 피어의 신원들을 위치 서비스를 위한 데이터 저장 및 검색을 제공하는 저장 장치에 저장하게 함과 아울러 상기 서버에 의해, 상기 피어 신원들에 대응하는 무선 통신 장치들의 물리적 위치들을 얻기 위해 상기 피어 신원들을 이용하여 상기 저장 장치에 쿼리하게 한다. 상기 명령어들은 또한, 프로그램 가능 프로세서로 하여금 상기 서버에 의해 적어도 상기 물리적 위치들에 기초하여 상기 무선 통신 장치들의 피어인 제1 무선 통신 장치의 추정된 물리적 위치를 결정하게 함과 아울러 상기 추정된 물리적 위치를 위치 응답으로 상기 서버로부터 상기 제 1의 무선 통신 장치에 출력하게 한다.
본 발명의 하나 이상의 실시 예들의 세부사항들이 첨부 도면 및 하기 상세한 설명에 제시된다. 본 발명의 다른 특징, 목적 및 장점들이 상세한 설명, 도면 및 특허청구의 범위로부터 명확해질 것이다.
도 1은 본 명세서에 기재된 기법들 중 하나 이상에 따라 피어-투-피어 위치 서비스를 제공하는 예시적인 네트워크 시스템을 나타내는 블록도이다.
도 2는 상기 기법들 중 하나 이상에 따라 피어-투-피어 위치 서비스를 구현하는 예시적인 네트워크 시스템을 나타내는 블록도이다.
도 3은 장치에 의해 제공되는 하나 이상의 피어 신원들을 사용하여 장치의 위치를 추정하는 서버를 나타내는 블록도이다.
도 4는 피어-투-피어 위치 서비스를 구현하기 위해 컴퓨팅 클라우드와 협동하며, 그리고 또한 무선 장치에 대한 추정된 위치를 얻기 위해 상기 피어-투-피어 위치 서비스를 사용하는 예시적인 무선 장치를 나타낸 블록도 이다.
도 5는 피어-투-피어 위치 서비스로부터 추정된 위치를 요청 및 수신하는 무선 장치의 동작의 일례의 모드를 나타내는 흐름도이다.
도 6은 요청을 행하는 무선 장치의 위치를 추정하기 위해 위치 서비스를 구현하는 예시적인 장치들의 예시적인 동작 모드를 나타내는 흐름도이다.
도 1은 본 명세서에 기재된 기법들 중 하나 이상에 따라 피어-투-피어 위치 서비스를 제공하는 일례의 네트워크 시스템(2)을 나타내는 블록도이다. 네트워크 시스템(2)은 무선 통신 장치(8a-8c)("무선 장치(8)")에서 위치 정보를 수신하고 클라이언트(6)의 추정된 위치를 제공하는 네트워크(10)를 포함한다.
네트워크(10)는 네트워크 액세스와, 데이터 전송과, 그리고 무선 장치의 피어-투-피어 위치 서비스를 비롯한 다른 서비스를 무선 장치들(8)에 제공한다. 일반적으로, 네트워크(10)는, 예를 들어 이동 통신 (GSM) 협회를 위한 글로벌 시스템, 3rd 세대 파트너십 프로젝트(3GPP), 3rd 세대 파트너십 프로젝트 2 (3GGP/2), 인터넷 엔지니어링 태스크 포스(IETF), 및 마이크로 웨이브 액세스 (WiMAX의) 포럼에 대한 세계적인 상호 운용성과 같은 그러한 표준 기구들에 의해 정의된 것들을 포함하는 일반적으로 정의된 모든 셀룰러 네트워크 아키텍춰를 포함 및 구현할 수 있다. 예를 들어, 네트워크(10)는 (각각 3GGP 의해 표준화되어 있는) GSM 아키텍처, 일반 패킷 무선 서비스 (GPRS) 아키텍처, 범용 모바일 통신 시스템 (UMTS) 아키텍처, 및 롱텀 에볼루션 (LTE)이라 불리는 UMTS의 진화 중 하나 이상을 구현할 수 있다. 네트워크(10)는 대안적으로 또는 상기 것들 중 하나와 연계하여, 코드 분할 다중 액세스 2000 ("CDMA2000") 아키텍처를 구현할 수 있다. 네트워크(10)는 또한, 대안적으로 또는 상기 것들 중 하나 이상과 연계하여, WiMAX 포럼에 의해 정의된 WiMAX 아키텍처를 구현할 수 있다. 네트워크(10)는 또한, 예를 들어 로컬 영역 네트워크 (LAN), 광역 네트워크 (WAN), 인터넷, 가상 LAN(VLAN), 엔터프라이즈 LAN, 레이어 3 가상 사설망 (VPN) 혹은 엔터프라이즈 IP 네트워크를 포함하거나 또는 이들의 조합을 포함할 수 있다.
일부 실시 예들에서, 네트워크 시스템(2)은 클라우드 컴퓨팅 서비스로 피어-투-피어 위치 서비스를 구현한다. 이러한 실시 예에서, 네트워크(10)는 피어-투-피어 위치 서비스를 제공하기 위해, 무선 장치(8) 및 클라이언트(6)에서 동작하는 컴퓨팅 클라우드 프론트 엔드와 협동하는 컴퓨팅 클라우드 백엔드를 포함한다. 이러한 실시 예들에서, 네트워크 클라우드(10)의 백엔드는 예를 들어, 하나 이상의 어플리케이션 서버, 컨트롤러, 및 통신 링크를 통해 상호 연결된 데이터 저장 장치 센터를 포함한다.
본 명세서에서 사용되는 용어 "통신 링크"는 전송 매체, 유선, 또는 무선 중 그 어떤 형태일 수 있으며, 네트워크 장치들 등의 중간 노드들을 포함할 수 있다. 컴퓨팅 클라우드 프론트 엔드는 무선 장치(8) 및 클라이언트(6)과, 그리고 클라우드 미들웨어 프로토콜에 따라, 네트워크(10)의 컴퓨팅 클라우드 백엔드와 데이터를 교환하기 위해 자신 내에서 실행되는 어플리케이션들을 포함한다.
클라이언트(6)와, 무선 장치들(8) 각각은 예를 들어, 모바일폰; 3G 무선 카드를 구비하는 랩탑, 태블릿 또는 데스크톱 컴퓨터; 무선 지원 넷북; 비디오 게임 장치, 호출기, 스마트 폰, 울트라 모바일 개인용 컴퓨터 (UMPC) 또는 개인 데이터 단말기(PDA)를 포함하는 무선 통신 장치이다. 클라이언트(6)와, 무선 장치들(8) 각각은 다른 무엇보다도 특히, 인터넷 브라우저, 음성 통화, 비디오 게임, 화상 회의, 이메일 등의 하나 이상의 어플리케이션들을 실행할 수 있다.
무선 장치(8)는 위치 정보를 생성하기 위해 그들 각각의 위치들을 결정한다. 위치 정보는 2 차원 또는 3 차원 공간내에서 무선 장치들의 물리적 위치들을 식별한다. 도시된 예에서, 무선 장치들(8)은 무선 장치의 지리적 위치 즉, 지구 표면에서의 무선 장치의 위치를 나타내는 위도와 경도 좌표들(즉, "GPS 좌표들")을 생성하기 위해 각 무선 장치(8)가 이용하는 GPS 신호로부터 신호들을 수신하는 글로벌 포지셔닝 시스템 (GPS) 수신기를 포함한다. 어떤 실시예들에서, 하나 이상의 무선 장치들(8)은 그들 각각의 위치들을 결정하고 위치 정보를 발생시키기 위한 대안적인 기법들을 이용한다. 예를 들어, 무선 장치들(8)은 사용자로 하여금 예를 들어, 도시 및 주, 주소 또는 건물 층과 같은 위치를 입력할 수 있게 하는 사용자 인터페이스를 제공할 수 있다. 또 다른 예로서, 무선 장치들(8)은 기지국 식별자를 사용할 수 있으며, 이 식별자를 이용하여 호스트는 물리적 위치값으로서 무선 신호들을 교환한다. 셀룰러 네트워크의 다양한 기지국들이 서로 다른 여러 위치들을 커버하며, 따라서 상기 기지국 식별자는 이 기지국 식별자에 의해 서비스되는 모바일 장치에 대한 물리적 위치에 상관되게 된다. 또 다른 예로는 무선 장치들(8)은 Wi-Fi 연결 위치 식별자, GSM 정위치 정보(GSM localization information), 도착 시간 차이(TDOA) 정보 또는 고도 데이터를 결정하고, 이러한 정보를 위치 정보내에 포함 할 수 있다.
무선 장치들(8) 각각은 네트워크(10)에 각각의 위치 업데이트 (16A-16C) ( "위치 업데이트 16")를 발행한다. 위치 업데이트(16)는 무선 장치들(8) 중 상기 위치 업데이트를 발부한 무선 장치의 현재 위치를 나타내는 위치 정보를 포함한다. 위치 업데이트들(16)은 메시지를 무선 장치들(18) 중 상기 발행한 무선 장치에 대한 위치 정보를 포함하는 것으로서 메시지를 식별하는 피어-투-피어 위치 서비스 프로토콜을 준수할 수 있다. 위치 업데이트들(16)은 또한 일부 예에서 각각의 위치 업데이트 메시지를 갖는 위치 정보의 정확성을 설명하는 커버링 반경(covering radius) 값을 포함할 수 있다. 예를 들어, GPS 수신기를 이용하여 얻은 위치 정보는 정확도가 높고 이에 대응하여 반경 값이 낮을 수 있다. 위치 업데이트들(16)은 추가로, 무선 장치들(18) 중 상기 발행 무서 장치에 대한 피어 식별자를 포함한다. 도 2와 관련하여 하기에 더 자세히 설명하는 바와 같이, 피어 식별자들은 피어-투-피어 위치 서비스에 특정적 일 수 있거나, 무선 장치 식별자들로부터 도출될 수 있다. 일부 실시 형태들에서, 위치 업데이트들(16)은 추가적으로 상기 위치 업데이트들내에 포함된 위치 정보를 얻기 위해 무선 장치들(8)에 의해 사용되는 방법들을 식별하는 위치 획득 방법 식별자를 포함할 수 있다. 예를 들어, 위치 획득 방법 식별자는 GPS를 참조할 수 있다.
네트워크(10)는 위치 업데이트들(16)을 수신하고 그리고 피어 신원들을 대응 위치 정보에 관련시키는 관련 데이터 구조를 이용하여 피어 신원들과 위치 정보를 저장한다. 예를 들어, 네트워크(10)는 무선 디바이스(8A)에 대한 피어 신원과 위치 정보를 데이터베이스 테이블에 저장할 수 있는데, 상기 데이터베이스 테이블은 피어 신원과 위치 정보를 관련시킨다. 이러한 방식으로, 네트워크(10)는 무선 디바이스들(8) 각각에 대한 업데이트된 위치 정보를 저장한다. 일부 실시예에서, 네트워크(10)는 관련된 피어 신원들과 위치 정보와 함께 위치 업데이트들(16)에서 수신된 위치 획득 방법 식별자들을 추가로 저장한다.
클라이언트(6)는 그의 위치를 결정하기 위하여 네트워크(10)에 의해 제공되는 피어-투-피어 위치 서비스를 이용하는 무선 디바이스이다. 클라이언트(6)는 클라이언트(6)의 무선 피어들(wireless peers)을 결정하기 위하여 무선 대역 내에서 피어 발견 요청(12)을 브로드캐스트한다. 본 명세서에서 사용되는 "무선 피어들" 이라는 용어는 예컨대, IEEE 802.11에 의해서 정의되는 무선 LAN(WLAN), 블루투스 네트워크, 혹은 무선 피어들이 동작하는 셀을 정의하는 셀룰러 네트워크의 특정 기지국 등과 같은 동일한 무선 네트워크를 이용하여 통신하는 2개 이상의 무선 디바이스들을 지칭한다. IEEE 802.11 기반의(Wi-Fi) 네트워크는 ad-hoc(피어-투-피어) 혹은 인프라스트럭처 모드에서 동작할 수 있다. 일부 실시예들에서, 클라이언트(6)는 무선 디바이스들에 의해 수신되도록 피어 발견 요청(12)을 브로드캐스트할 수도 있다. 일부 실시예들에서, 클라이언트(6)는 무선 액세스 포인트(WAP)에 접속된 무선 디바이스들의 피어 ID들을 요청하기 위하여 예컨대, 셀룰러 기지국 혹은 IEEE 802.11 WAP 등과 같은 무선 액세스 포인트(WAP)에 피어 발견 요청(12)을 전송할 수 있다. 이러한 경우, 무선 디바이스들(8)은 WAP 접속의 양상에 따라 그들 각각의 피어 신원들을 WAP에 등록할 수 있다.
무선 디바이스들(8)에 의해 수신되는 피어 발견 요청(12)은 각각의 피어 응답들(14A - 14C)(피어 응답들 14)로 응답하도록 무선 디바이스들을 프롬프트하는데, 피어 응답들 각각은 발행 디바이스에 대한 피어 신원을 포함한다. 클라이언트(6)로 피어 응답(14)을 수신하는 것은, 무선 디바이스들(8)이 무선 피어들이며 따라서 클라이언트(6)에 가까이 있음을 나타낸다. 피어 발견 요청들(12)과 피어 응답들(14)은 위치 업데이트들(16)에 관하여 앞서 설명된 피어-투-피어 위치 서비스 프로토콜을 따를 수도 있다.
클라이언트(6)는 무선 디바이스들(8)에 대한, 피어 응답들(14)에서 수신된 피어 신원들을 수집하며 그리고 위치 쿼리(18)를 네트워크(10)에 발행한다. 위치 쿼리(18)는 수집된 피어 신원들의 리스트를 포함한다. 위치 쿼리(18)의 수신 시, 네트워크(10)는 위치 업데이트들(16)로부터 수집된 정보를 이용하여, 네트워크(10)에 의해서 앞서 팝퓰레이트된(populated) 관련 데이터 구조로부터, 수집된 피어 신원들의 리스트에 대한 대응 위치 정보를 획득한다. 그 후, 네트워크(10)는 클라이언트(6)의 무선 피어들 즉, 무선 디바이스들(8)에 대한 위치 정보를 이용하여 클라이언트(6)에 대한 추정된 물리적 위치를 결정하고 그리고 추정된 위치를 위치 응답(19)에서 클라이언트(6)에 리턴한다. 물리적 위치는 예컨대, GPS 좌표 혹은 다른 위치 정보를 특정할 수 있다. 몇몇 경우에서, 네트워크(10)는 커버링 반경 및 클라이언트(6)의 무선 피어들에 대한 위치 정보에 기초하여 네트워크(10)가 계산하는 신뢰도를 나타내는 신뢰 값(confidence value)을 위치 응답에 추가로 포함할 수도 있다. 위치 쿼리(18)와 위치 응답(19)은 위치 업데이트들(16)에 관하여 앞서 설명된 피어-투-피어 위치 서비스 프로토콜을 따를 수도 있다. 네트워크(10)가 위치 획득 방법 신원들을 수신 및 저장하는 실시예에서, 네트워크(10)는 클라이언트(6)의 물리적 위치 혹은 다른 위치 정보(예컨대, 신뢰도 레벨)에 대한 평가에 영향을 미치도록, 위치 획득 방법 신원들을 추가로 이용할 수도 있다.
많은 무선 디바이스들은 디바이스 어플리케이션들에게 디바이스의 위치를 알려주기 위한 예컨대, GPS 수신기와 같은 고-분해능의 위치 능력을 갖지 못한다. 이러한 능력을 갖고 있는 무선 디바이스들이라 할지라도, 예컨대, 특정 위치에서의 간섭으로 인하여 상기 능력이 방해되는 경우가 있을 수 있다. 무선 디바이스들을 결정하기 위한 다른 통상적인 방법들은, 네트워크 토폴로지 혹은 무선 디바이스가 접속되는 액세스 네트워크를 구현하는 네트워크 디바이스들의 알려진 물리적 위치들로부터 도출된 경험적 방법(heuristics)에 의존한다. 이들 방법들은 효과적인 위치 표적화에는 불충분한, 상대적으로 낮은-분해능의 위치 데이터를 제공하는 경향이 있다.
전술한 방법으로 피어-투-피어 위치 서비스를 이용함으로써, 클라이언트(6)가 GPS 신호를 수신할 수 없거나 혹은 다른 유형의 위치 서비스에 액세스할 수 없는 경우에도, 클라이언트(6)는 자신의 물리적 위치를 결정할 수 있다. 따라서, 클라이언트(6)가 "도심 협곡(urban canyon)"에 있거나 혹은 실내에 있는 경우에도, 클라이언트(6)는, 그것의 무선 피어들의 위치 분해능을 레버리지(leverage)하는 분해능을 갖는 추정된 위치를 피어-투-피어 위치 서비스에 따라 네트워크(10)로부터 수신할 수 있다. 또한, 클라이언트(6)의 물리적 위치에 대한 계산을 네트워크(10)에 아웃소싱함으로써, 네트워크(10)의 훨씬-우수한 프로세싱 능력들을 활용할 수 있으며 그리고 클라이언트(6)의 전력 소비를 감소시킬 수 있다.
도2는 전술한 기술들에 따른 피어-투-피어 위치 서비스를 구현하는 예시적인 네트워크 시스템의 블록도이다. 네트워크 시스템(20)은 도1의 네트워크 시스템(2)의 예시적인 일례를 나타낼 수도 있다. 몇몇 경우에 있어서, 네트워크 시스템(20)은 무선 네트워크(34)의 조합은 도1의 네트워크(10)에 대한 일례를 나타낸다.
네트워크 시스템(20)의 무선 네트워크(34)는 인프라스트럭처 모드에서 동작하는 Wi-Fi 네트워크를 포함하며, 인프라스트럭처 모드에서 무선 피어들(26A - 26D)(피어들 26)은, 피어(26)가 통신가능하게 접속된 무선 액세스 포인트(36)(WAP 36)를 통해 통신한다. 비록, 피어들(26) 각각은 실질적으로 유사한 구조적 모델들을 포함할 수도 있지만, 설명의 간략함을 위해서 피어(26A)만이 도2에 예시 및 상세히 설명된다. WAP(36)는 무선 네트워크(34)에 접속된 무선 피어들(26)의 네트워크 어드레스들을 기록한다. 일부 실시예들에서, 피어들(26)은 ad-hoc Wi-Fi, 블루투스 네트워크 혹은 다른 유형의 ad-hoc 네트워크를 형성하며, 따라서 통신가능하게 접속되며, 그리고 WAP(36)를 통해서가 아니라 직접 통신한다
피어(26A)의 위치 모듈(27)은 피어 발견 요청(38)을 발행함으로써 무선 네트워크(34) 내의 피어들(26B -26D)을 결정한다. 예시된 실시예에서, 피어 발견 요청(38)은 도1에 대하여 앞서 설명된 피어-투-피어 위치 서비스 프로토콜을 따르는 어플리케이션-계층 페이로드(payload)를 포함하는 브로드캐스트 패킷이다. 즉, 피어 발견 요청(38)은 피어 발견 요청으로서 메시지를 서술하는 어플리케이션-계층 메시지 헤더를 포함한다. 메시지 보디는 비어있을 수도 있으며 혹은 대안적으로는 피어(26A)에 대한 피어 신원을 포함할 수도 있다. 업데이트 모듈(28)은 무선 네트워크(34) 프로토콜 인터페이스들을 통해 피어 발견 요청을 WAP(36)로 전송함으로써, 피어 발견 요청(38)을 발행한다. WAP(36)는 피어들(26B - 26D)에게 피어 발견 요청(38)을 브로드캐스트한다.
피어들(26B - 26D) 각각은, 피어 발견 요청(38)을 수신하고 그리고 WAP(36)을 통해 각각의 피어 응답들(40B - 40D)(피어 응답들 40)로 피어(26)에 응답한다. 피어 응답들(40) 각각은 피어들(26) 중 응답하는 피어에 대한 피어 신원을 포함한다. 피어 응답들(40)은 메시지를 피어 응답으로 서술하는 어플리케이션-계층 메시지 헤더를 포함하는 어플리케이션-계층 프로토콜을 따를 수 있다. 피어 응답들(40)은, 피어 발견 요청(38)과 유사하게, WAP(36)를 통해 모든 피어들(26)로 브로드캐스트될 수 있으며, 그리고 피어들(26) 중 응답하는 한 피어에 대한 수록된 피어 신원에 따라 구별될 수 있다. 대안적으로, 피어 응답들(40)은 응답하는 피어에 의해서 피어(26A)로 어드레스될 수도 있다. 예를 들어, 피어(26C)는 피어 발견 요청(38)으로부터 피어(26A)에 대한 네트워크-계층 소스 어드레스(예컨대, IP 어드레스)를 결정할 수 있다. 그후, 피어(26C)는 피어 응답(40) 내의 네트워크-계층 목적지 어드레스를 상기 결정된 네트워크-계층 소스 어드레스로 설정하는바, 이는 피어(26C)에 대한 피어 신원으로 피어(26A)에 직접 응답하기 위한 것이다. 피어들(26B - 26D)은 다수의 hop 구성으로 배치된 피어 디바이스들을 나타낼 수도 있으며 따라서 피어(26A)로부터 다수의 네트워크 hops 로 논리적으로 위치될 수 있다.
피어 응답들(40)은 피어(26A)까지의 거리를 나타내는 추가 정보를 포함할 수 있다. 예를 들어, 하나 이상의 피어 응답들(40)은 WAP(36)까지의 거리 혹은 ad-hoc Wi-Fi 네트워크 내의 피어까지의 거리에 상관되는 발행 디바이스에 대한 신호 강도 값을 포함할 수 있다. 피어들(26B - 26D)은, 피어들이 그들의 현재 물리적 위치에 대한 지식을 갖고 있으며 그리고 위치 업데이트들을 제공하는 피어-투-피어 위치 서비스에 참가하는 경우, 대응 피어 응답들(40)에만 응답할 수도 있다.
일부 실시예들에서, WAP(36)는 또한 피어 발견 요청(38)을 수신하고, WAP에 대한 피어 신원으로 이 요청에 응답한다. 이 실시예들에서, WAP(36)는 업데이트 서버(24)에 WAP에 대한 위치를 제공하는 업데이트 모듈을 포함할 수 있다. 대안적으로는, 일반적으로 WAP(36)는 정지되어 있기 때문에, 관리자는 WAP(36)에 대한 피어 신원과 WAP에 대한 위치 사이에서 위치 데이터 저장소(42) 내에 어소시에이션(association)을 세팅할 수 있다.
일부 실시예들에서, WAP(36)은 접속 프로세스 동안 피어들(26)에 대한 피어 신원들을 수집한다. 즉, WAP(36)은 각각의 피어들이 무선 서비스들을 요청하는 때에, 피어들(26) 각각에 대한 피어 신원들을 수신한다. 이러한 실시예에서, WAP(36)는 피어(26A)로부터 피어 발견 요청(38)을 수신하고 그리고 피어들(26) 중 접속된 피어들의 피어 신원들의 수집된 리스트로 응답한다. 일부 실시예들에서, 피어들(26)은 ad-hoc Wi-Fi 혹은 다른 유형의 ad-hoc 네트워크를 형성하며 그리고 WAP(36)을 통해서가 아니라 직접 통신한다. 이 경우, 피어(26A)는 개별적인 피어 발견 요청들(38)을 피어들(26B - 26D) 각각에 직접 발행할 수 있거나 혹은 피어들(26B - 26D) 모두에게 피어 발견 요청(38)을 브로드캐스트할 수도 있다. 무선 네트워크(34)가 블루투스 네트워크를 포함하는 경우, 피어 발견 요청(38)은 하나 이상의 INQUIRY 메시지들 혹은 PAGE 메시지들을 포함할 수 있다. 블루투스 INQUIRY 메시지들과 PAGE 메시지들은 블루투스 스페셜 인터리스트 그룹의 "블루투스 표준" 2010년 6월의 버전 4.0, 볼륨 1, 4.2 섹션에 서술되어 있으며, 그 내용은 참조로서 본 명세서에 통합된다.
일부 실시예들에서, 피어(26A)는 Wi-Fi 모니터 혹은 복잡(promiscuous) 모드를 구현하거나 혹은 블루투스를 구현하며, 이들은 피어(26A)가 대응 네트워크에 걸친 무선 네트워크 트래픽를 모니터링할 수 있게 한다. 피어(26A)는, 네트워크 어드레스, MAC 어드레스, 혹은 모니터링된 무선 네트워크 트래픽으로부터 피어들에 대한 다른 신원들을 식별함으로써, 피어들(26B - 26D)을 결정할 수 있다.
피어(26A)는 식별 모듈(29)("ID 모듈 29" 로 예시됨)을 추가적으로 포함하는바, 이는 피어(26A)에 대한 피어 신원으로 피어들(26B - 26D) 중 임의의 것으로부터 수신된 피어 발견 요청들에 응답하기 위한 것이다. 식별 모듈(29)은 네트워크(21)에 대하여 피어를 고유하게 식별하는 피어 신원을 보유한다. 피어 신원은 예를 들면, IP 혹은 다른 패킷 데이터 프로토콜(PDP) 어드레스, 글로벌 유니크(globally unique) IP 어드레스, 국제 모바일 가입자 신원(IMSI), 혹은 국제 모바일 장비 신원(IMEI)을 포함한다. 일부 경우에 있어서, 피어 신원은 예컨대, 템포러리 모바일 가입자 신원(TMSI) 혹은 패킷-템포러리 모바일 가입자 신원(P-TMSI)과 같은 프라이버시 보호 피어 신원(privacy-preserved peer identity: PPID)을 포함할 수 있는바, 이는 피어 신원에 기초하여 무선 디바이스 혹은 무선 디바이스 사용자의 식별을 방지한다. 일부 실시예들에서, 피어 신원들은 피어-투-피어 위치 서비스에 의해서 각각의 피어들(26)에 할당 및 지정될 수 있는데, 이는 피어-투-피어 위치 서비스에 대해서 피어들(26)을 특별하게 식별하기 위한 것이다. 신원 모듈(29)은 가입자 식별 모듈(SIM)을 포함할 수 있다.
피어들(26B - 26D)은 신원 모듈(29)과 실질적으로 유사한 신원 모듈을 포함한다. 피어 발견 요청을 수신하면, 신원 모듈(29)은 요청을 행한 피어에게 피어 신원을 리턴한다. 예를 들어, 피어 발견 요청(38)을 수신하면, 피어(26B)의 신원 모듈(29)은 피어(26B)를 위해 보유된 피어 신원을 피어(26A)로 리턴하는바, 이는 피어(26A)의 위치 모듈(27)에 의해 사용되기 위한 것이다.
피어(26A)의 업데이트 모듈(28)은 네트워크(21)의 업데이트 서버(24)에게 위치 업데이트(32)를 제공한다. 위치 업데이트(32)는 피어(26A)의 현재 위치를 기술하는 위치 정보를 포함한다. 물리적 위치는 피어(26A)에 의한 임의의 움직임에 따라 변할 수 있기 때문에, 업데이트 모듈(28)은 정책들(30)을 포함하는바, 정책들(30)은 위치 업데이트 메시지들의 개수를 가능한 감소시키기 위해 위치 업데이트 메시지들에 대한 예컨대, 비율 혹은 트리거를 결정한다. 즉, 정책들(30)은 하나 이상의 정책들을 정의하는바, 상기 정책들은 그 각각이 조건의 발생에 기초하여 위치 업데이트(32)의 발행을 특정한다. 예를 들어, 정책들(30)은 주기적인 업데이트들(예컨대, 30초 마다), 이전의 위치 업데이트 메시지에 서술된 위치로부터 소정 거리만큼 이동하면 위치 업데이트(32)를 발행하는 것, 피어들(26B - 26D) 중 하나로부터 피어 발견 요청(38)을 수신하면 위치 업데이트(32)를 발행하는 것, 혹은 이러한 정책들의 조합을 포함할 수 있다. 또한, 정책들(30)은, 피어(26A)의 현재 위치 및 피어(26A)에 대한 현재 방향과 속도를 서술하는 속도 벡터에 기초하는 예측된 위치를 포함하는, 위치 업데이트(32)의 발행을 특정할 수도 있다. 일부 실시예들에서, 위치 업데이트(32)는 위치 획득 방법 신원을 포함할 수도 있다.
네트워크 시스템(20)은 또한 네트워크(21)를 포함하고, 네트워크(21)는 도 1의 네트워크(10)의 예시적 실시예를 나타낼 수 있다. 네트워크(21)는 본 명세서에서 설명되는 기법들에 따른 피어-투-피어 위치 서비스(peer-to-peer location service)를 구현하기 위해 무선 네트워크(34)의 무선 장치들과 인터페이스하는 쿼리 서버(query server)(22) 및 업데이트 서버(update server)(24)를 포함한다. 업데이트 서버(24)는 위치 업데이트(location update)(32)와 같은 위치 업데이트 메시지들(location update messages)을 수신하기 위해 인터페이스를 노출시킨다. 예를 들어, 업데이트 서버(24)는 단순 객체 액세스 프로토콜(Simple Object Access Protocol, SOAP) 방법들, 원격 절차 호출(Remote Procedure Call, RPC)들, 혹은 공통 객체 요청 브로커 아키텍처(Common Object Request Broker Architecture, CORBA) 인터페이스를 노출시킬 수 있다. 일부 인터페이스들에서, 업데이트 서버(24) 인터페이스는 피어-투-피어 위치 서비스 프로토콜을 따르는 위치 업데이트 메시지들을 수용하며, 여기서 피어-투-피어 위치 서비스 프로토콜은 메시지를 위치 업데이트로서 기술하는 어플리케이션-계층 메시지 헤더(application-layer message header)를 포함하는 위치 업데이트들을 기술한다. 업데이트 서버(24)는 예를 들어, 어플리케이션 서버 혹은 AAA 서버를 포함할 수 있고, 그리고 업데이트 서버(24)는 컴퓨팅 클라우드 백-엔드(computing cloud back-end)의 일 실시형태를 구성할 수 있다.
업데이트 서버(24)는 피어들(26)로부터 위치 업데이트(32)와 같은 위치 업데이트 메시지들을 수신하고, 그 안에 포함된 위치 정보 및 관련된 피어 신원들을 위치 데이터 저장소(42)에 저장하는바, 위치 데이터 저장소(42)는 관련 데이터 구조(associative data structure)를 사용하여 위치 정보-피어 신원 관련(location information-peer identity association)을 유지시킨다. 관련 데이터 구조는 예를 들어, 테이블(table), 링크 리스트(linked list), 혹은 해쉬 테이블(hash table) 또는 다른 맵핑 구조(mapping structure)를 포함할 수 있다. 위치 데이터 저장소(42)에서, 피어 신원은 관련된 위치 정보에 대한 룩업 값(lookup value)이다. 즉, 피어 신원이 제공되는 경우, 위치 데이터 저장소(42)는 피어들(26) 중 대응하는 피어에 대한 위치 정보를 결정한다. 위치 데이터 저장소(42)는, 하나 이상의 데이터베이스, 데이터베이스 서버들, 파일 서버들, 및/또는 인증, 인가, 및 과금(Authentication, Authorization, and Accounting, AAA) 서버들, 예를 들어, 원격 인증 다이얼-인 사용자 서비스(Remote Authentication Dial-In User Service, RADIUS) 장치를 포함할 수 있는 저장 장치이다. 일부 실시예들에서, 위치 데이터 저장소(42)는 쿼리 서버(22) 혹은 업데이트 서버(24)의 비일시적 컴퓨터-판독가능 매체들, 예를 들어, 디스크 드라이브 혹은 메모리를 포함할 수 있는 저장 장치이다. 즉, 위치 데이터 저장소(42)는 예를 들어, 샤시(chassis) 혹은 랙(rack) 내에 쿼리 서버(22) 혹은 업데이트 서버(24)와 함께 같은 위치에 배치될 수 있다.
피어(26A)의 위치 모듈(27)은 피어 응답들(40)에서 수신된 피어 신원들을 어플리케이션-계층 메시지에 수집하고, 위치 쿼리(18) 내의 메시지를 쿼리 서버(22)에 전송하며, 쿼리 서버(22)는 피어(26A)에 대한 추정된 위치를 위치 응답(19)으로 피어(26A)에게 제공하기 위해 피어-투-피어 위치 서비스의 일 실시형태를 구현한다. 일부 경우에 있어서, 위치 쿼리(18)는 위치 쿼리(18)를 발행한 피어(26A)에 대한 피어 신원을 포함할 수 있다. 일부 경우에 있어서, 위치 쿼리(18)는 셀률러 기지국 식별자(cellular base station identifier) 또는 WAP 36 식별자를 포함할 수 있다.
쿼리 서버(22)는 위치 쿼리(18)를 수신하고 그 안에 포함된 피어 신원들의 세트를 결정하는바, 여기서 피어 신원들의 세트는 무선 네트워크(34) 내의 피어(26A)의 피어들(26B-26D)을 나타낸다. 쿼리 서버(22)는 위치 데이터 저장소(42)로부터 피어 신원들에 대응하는 피어들에 대한 관련된 위치 정보를 결정하기 위해 피어 신원들의 세트를 사용한다. 일부 경우에 있어서, 쿼리 서버(22)는 구조화된 쿼리 언어(Structured Query Language, SQL) 쿼리를 위치 데이터 저장소(42)에 발행할 수 있고, 위치 데이터 저장소(42)는 관련된 위치 정보로 응답한다.
피어들(26B-26D) 각각에 대한 관련된 위치 정보의 결정하에서, 쿼리 서버(22)는 피어(26A)에 대한 위치를 추정하고, 추정된 위치 정보를 피어(26A)에게 위치 응답(19)으로 리턴시킨다. 추정된 위치 정보는 예를 들어, GPS 좌표, 위치 반경, 및 신뢰도 레벨을 포함할 수 있다. 피어(26A)의 위치 모듈(27)은 추정된 위치 정보를 위치 응답(19)에서 수신하고, 추정된 위치 정보를 피어(26A) 상에서 실행되는 임의의 요청 어플리케이션(requesting application)에게 제공한다.
쿼리 서버(22)는 예를 들어, 어플리케이션 서버 혹은 AAA 서버를 포함할 수 있고, 그리고 쿼리 서버(22)는 컴퓨팅 클라우드 백-엔드의 일 실시형태를 구성할 수 있다. 일부 실시예들에서, 쿼리 서버(22) 및 업데이트 서버(24)는 단일 서버 상에서 실행된다. 이러한 예에서, 쿼리 서버(22) 및 업데이트 서버(24)는 개별 프로세스들을 포함할 수 있거나, 혹은 단일 서버 상에서 실행되는, 동일 프로세스의 인터페이스들을 포함할 수 있다. 추정된 위치를 피어들(26B-26D)로부터 수신된 위치들을 사용하여 자체적으로 계산하지 않을지라도, 피어(26A)는 추정된 위치를 획득한다. 결과적으로, 네트워크(21) 내에서 고용량의 위치 데이터 저장 및 유지와 복합 위치 결정 모델들을 레버리징(leveraging)함으로써, 피어(26A)는 배터리 및 컴퓨팅 리소스들을 절약함과 아울러 고분해능의 추정된 위치(high-resolution estimated location)를 획득할 수 있다.
일부 실시예들에서, 네트워크 시스템(20)은, 피어(26A)가 피어 발견 요청(peer discovery request)(38)을 발행하고 피어들(26B-26D)에 대한 피어 신원들을 수신하는 것 대신에, 피어(26A)에게 추정된 위치를 사전에(proactively) 제공하기 위한 푸시 기법(push technique)을 구현한다. 피어들(26B-26D)은 피어들(26B-26D) 각각과 피어(26A) 간의 신호 강도를 사용하여 피어(26A)에 대한 근접도(proximity)를 결정할 수 있다. 피어들(26B-26D) 각각은 업데이트 서버(24)에 대해 위치 업데이트에서 피어(26A)에 대한 피어 신원, 예를 들어, IP 어드레스를 포함할 수 있다. 각각의 위치 업데이트를 수신하는 경우, 업데이트 서버(24)는 위치 업데이트를 발행한 피어들(26B-26D) 중 하나와 피어(26A)에 대한 피어 신원 간의 관련으로서 저장을 행한다. 피어(26A)로부터 위치 요청(18)을 기다리는 대신에, 쿼리 서버(22)는 피어(26A) 장치에 대한 위치 정보를 사전에(proactively) 추정한다. 쿼리 서버(22)는 피어(26A)에 대한 피어 신원으로 위치 데이터 저장소(42)에 쿼리를 행 수 있어 피어들(26B-26D)에 대한 피어 신원들에 대해 피어 신원들을 획득하게 되는바, 이후 쿼리 서버(22)는 이것을 피어들(26B-26D)에 대한 위치 정보를 획득하는데 사용할 수 있다. 획득된 위치 정보에 기초하여, 쿼리 서버(22)는 피어(26A)에 대한 위치 정보를 추정하고, 이 위치 정보를 위치 응답(19)으로 위치 모듈(27)에 푸시한다.
도 3은 일 예에 따라 보다 상세하게 도 2의 쿼리 서버(22)를 나타낸 블록도이다. 쿼리 서버(22)는 제어 유닛(50)을 포함하는바, 제어 유닛(50)은, 소프트웨어 혹은 컴퓨터 프로그램을 정의하는데 사용되는 것들과 같은 그러한 소프트웨어 명령들을 실행하는 하나 이상의 프로세서들 혹은 제어기들(도 3에서는 미도시)을 포함할 수 있고, 여기서 소프트웨어 명령들은 비일시적 컴퓨터-판독가능 매체(역시 도 3에서는 미도시), 예를 들어, 저장 장치(예를 들어, 디스크 드라이브 혹은 광학 드라이브), 또는 메모리(예를 들어, 플래시 메모리, 랜덤 액세스 메모리(Random Access Memory), 즉 RAM) 또는 임의의 다른 타입의 휘발성 혹은 비휘발성 메모리에 저장되는바, 이들은 프로그래밍가능 프로세서로 하여금 본 명세서에서 설명되는 기법들을 수행하도록 하는 명령들을 저장한다. 대안적으로, 혹은 추가적으로, 제어 유닛(50)은 전용 하드웨어를 포함할 수 있는바, 예를 들어, 하나 이상의 집적 회로들, 하나 이상의 어플리케이션 특정 집적 회로(Application Specific Integrated Circuit, ASIC)들, 하나 이상의 어플리케이션 특정 특수 프로세서(Application Specific Special Processor, ASSP)들, 하나 이상의 현장 프로그래밍가능 게이트 어레이(Field Programmable Gate Array, FPGA)들, 혹은 이러한 것들 중 하나 이상의 것들의 임의의 조합, 또는 전용 하드웨어의 다른 예들을 포함할 수 있다.
쿼리 인터페이스(52)는, 위치 쿼리들(이들 각각은 하나 이상의 피어 신원들의 세트를 포함함)을 수신함과 아울러 피어 신원들의 각각의 세트를 (피어 신원들에 대한 위치 정보의 결정을 위해) 데이터베이스 인터페이스(54)에게 넘겨주는, 무선 장치-페이싱 인터페이스(wireless device-facing interface)이다. 일부 실시예들에서, 쿼리 인터페이스(52)는 단순 객체 액세스 프로토콜(SOAP) 방법들, 원격 절차 호출(RPC)들, 혹은 공통 객체 요청 브로커 아키텍처(CORBA) 인터페이스를 노출시킬 수 있다. 쿼리 인터페이스(52)는, 피어-투-피어 위치 서비스 프로토콜을 따르는 위치 쿼리들(예를 들어, 위치 쿼리(18))을 수용할 수 있으며, 여기서 피어-투-피어 위치 서비스 프로토콜은 메시지를 위치 쿼리로서 기술하는 어플리케이션-계층 메시지 헤더를 포함하는 그리고 하나 이상의 피어 신원들의 세트를 운반하는 어플리케이션-계층 메시지 바디(application-layer message body)를 더 포함하는, 위치 쿼리들을 기술한다.
데이터베이스 인터페이스(54)는, 쿼리 인터페이스(52)로부터 피어 신원들의 각각의 세트들을 수신하여 피어 신원들을 포함하는 위치 룩업 쿼리(location lookup query)를 위치 데이터 저장소에 발행하는, 위치 데이터 저장소-페이싱 인터페이스(location data store-facing interface)이다. 위치 룩업 쿼리는 예를 들어, SQL 쿼리, RPC, 혹은 CORBA 혹은 SOAP 방법을 포함할 수 있다. 데이터베이스(54)는, 위치 룩업 쿼리에 응답하여, 피어 신원들에 대한 관련된 위치 정보를 수신하고 관련된 위치 정보를 위치 추정기(56)에게 넘겨준다.
위치 추정기(56)는, 피어 신원들의 관련된 세트에 대한 위치 정보의 세트에 기초하여, 피어 신원들의 세트에 대응하는 피어들의 세트로 무선 네트워크에 참여하여 피어에 대한 추정된 위치를 계산한다. 예를 들어, 도 2를 참조하면, 위치 추정기(56)는, 피어들(26B-26D)에 대한 피어 신원들의 관련된 세트에 대한 위치 정보의 세트에 기초하여, 피어(26A)에 대한 추정된 위치를 결정할 수 있다.
제시된 예에서, 위치 추정기(56)는 임의의 신뢰도 레벨과 함께 피어들의 세트중 요청을 행한 피어에 대한 위치 정보를 추정하기 위해 위치 정보의 세트들에 위치 모델(58)을 적용한다. 위치 정보는 삼차원 공간에서의 위치를 포함할 수 있다. 신뢰도 레벨은, 일부 경우에 있어, (0, 1]의 범위에 있는 부동소수점 값을 포함할 수 있다. 위치 추정기(56)는 또한, 위치 정보에 대응하는 피어들의 세트에 대한 커버링 반경을 계산할 수 있다. 커버링 반경은, 반경이 r인 구(sphere)(혹은 2차원 공간에 있어서는, 원(circle))가 피어들의 세트 각각을 둘러싸도록 하는 가장 작은 값(r)을 나타낸다. 위치 모델(58)은 데이터 구조, 알고리즘, 및 누적된 학습(accumulated learning)을 포함할 수 있다. 위치 모델(58)은 관리자 혹은 소프트웨어 에이전트와 같은 모델러(modeler)에 의해 생성되는 수학적 모델을 나타낼 수 있다. 예를 들어, 위치 모델(58)은 피어들에 대한 위치 정보의 세트를 구성하는 GPS 좌표들의 세트에 대한 평균 위치의 계산을 특정할 수 있다.
일부 실시예들에서, 피어 신원들의 관련된 세트에 대한 위치 정보의 세트는 위치 획득 방법 식별자들을 포함한다. 위치 추정기(56)는 이러한 위치 획득 방법 식별자들을 사용하여 위치를 추정하고 그리고/또는 요청을 행한 피어에 대한 추정된 위치 정보에 대해 신뢰도 레벨을 계산한다. 예를 들어, GPS와 같은, 고분해능의 위치 획득 방법은, 저분해능의 위치 획득 방법과 비교하여, 상대적으로 높은 신뢰도 레벨을 수반할 수 있다. 위치 추정기(56)는, 위치 획득 방법 식별자들을 신뢰도 값의 계산을 위해 분해능 값들에 맵핑하는 맵핑 데이터 구조(미도시)를 포함할 수 있다.
일부 경우에 있어서, 위치 추정기(56)는 요청을 행한 장치에 대한 추정된 위치의 정밀 튜닝(fine tunning)을 위해 위치 쿼리에서 수신된 무선 액세스 포인트 식별자 혹은 셀률러 기지국 식별자를 사용한다. 데이터베이스 인터페이스(54)는 위치 데이터 저장소로부터 대응하는 식별자에 대한 위치에 대해 쿼리를 행하고 이 위치를 위치 추정기(56)에게 넘겨준다. 그 다음에 위치 추정기(56)는 컴퓨팅된 신뢰도 레벨을 증가/감소시키기 위해 이 위치를 사용할 수 있고, 추정된 위치를 수정할 수 있다. 위치 추정기(56)는 추정된 위치에 영향을 미치기 위해 위치 모델(58)에 위치를 입력할 수 있다.
위치 추정기(56)는 요청을 행한 피어 장치에 대한 추정된 위치를 쿼리 인터페이스(52)에 제공하는바, 쿼리 인터페이스(52)는 위치 응답으로 요청을 행한 피어 장치로부터의 위치 쿼리에 응답하는바, 여기서 위치 응답은, 추정된 위치를 포함하고, 그리고 요청을 행한 피어 장치의 피어들에 대한 계산된 신뢰도 레벨 및/또는 계산된 커버링 반경을 더 포함할 수 있다.
쿼리 인터페이스(52), 데이터베이스 인터페이스(54), 및 위치 추정기(56)는 다수의 위치 쿼리들에 대한 쿼리 서버(22) 내에서의 상태(도 3에서는 미도시)를 유지할 수 있다. 이러한 상태는 위치 쿼리 레코드(location query record)들을 포함할 수 있는바, 이들 각각은 예를 들어, 위치 쿼리 식별자, 요청을 행한 피어 장치에 대한 피어 신원 및/또는 네트워크 어드레스, 요청을 행한 피어 장치로부터의 위치 쿼리에서 수신된 피어들의 세트들에 대한 피어 신원들, 대응하는 피어들에 대한 위치 정보 그리고/또는 요청을 행한 피어 장치에 대한 추정된 위치 정보를 포함한다.
도 4는 도 2의 무선 장치들(26A-26D) 중 하나를 나타낼 수 있는 예시적인 무선 장치(118)를 예시하는 블록도이다. 예시된 실시예에서, 무선 장치(118)는 사용자 인터페이스(120), 디스플레이(124), 저장 장치(128), 하나 이상의 프로세서들(132), 네트워크 모듈(136), 위치 모듈(138), 그리고 업데이트 모듈(140)을 포함한다. 도 4에 제시된 것보다 더 많거나 혹은 더 적은 컴포넌트들을 구비하는 무선 장치(118)의 다른 예시적 구현예들이 가능하다. 예를 들어, 무선 장치(118)는 추가적인 컴포넌트들(예를 들어, 광학 드라이브, 카메라 등)을 구비한 개인용 컴퓨터일 수 있다. 또 다른 예에서, 무선 장치(118)는 도 4에 제시된 것보다 더 적은 컴포넌트들을 구비한 개인용 미디어 플레이어(예를 들어, 디스플레이가 없는 개인용 미디어 플레이어)일 수 있다.
사용자 인터페이스(120)는 무선 장치(118)의 사용자로 하여금 무선 장치(118)와 상호작용할 수 있도록 한다. 사용자 인터페이스(120)의 예들은 임베디드 키보드 혹은 다른 버튼들을 포함한다. 사용자 인터페이스(120)는 또한, 탈착가능형 혹은 독립형 장치를 포함할 수 있는바, 예컨대 키패드, 키보드, 마우스, 롤러 볼(roller ball), 버튼들, 혹은 (사용자로 하여금 무선 장치(118)와 상호작용할 수 있도록 하는) 다른 디바이스들을 구비한 종래의 원격 제어 장치를 포함할 수 있다. 사용자는 무선 장치(118)에 의해 제공되는 미디어 콘텐츠(예를 들어, 오디오 혹은 비디오 콘텐츠)를 제어하기 위해 사용자 인터페이스(120)를 사용할 수 있다. 일 예에서, 사용자는, 웹 페이지에 의해 호스팅되는 콘텐츠의 디스플레이를 위해 어플리케이션들(130) 내에서 인터넷 브라우저 어플리케이션을 사용하여 인터넷상의 웹 페이지로 네비게이팅(navigating)을 행하기 위해 사용자 인터페이스(120)를 사용할 수 있다. 사용자 인터페이스(120)는, 텍스트박스들(textboxes), 그래픽 선택 인터페이스들(graphical selection interfaces) 혹은 다른 인터페이스들을 제공할 수 있는바, 이들을 이용해 사용자는 위치 정보, 예를 들어, 거리 주소, 우편 번호, 도시/주, 빌딩 층 혹은 객실 번호를 입력할 수 있다.
사용자 인터페이스(120)는 사용자가 스트리트 주소, 우편번호, 시/주(city/state), 건물의 층 또는 방의 번호와 같은 위치 정보를 입력할 수 있는 텍스트 박스들, 그래픽 선택 인터페이스들 또는 다른 인터페이스들을 제시할 수 있다. 디스프레이(124)는 액정 디스플레이(LCD), e-잉크 디스플레이, 음극선관(CRT), 플라즈마 디스플레이, OLED 디스플레이 또는 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들을 포함할 수 있다. 디스플레이(124)는 무선 디바이스(118)의 사용자에게 어플리케이션(130)의 컨텐트를 제시하고, 또한 그래픽 사용자 인터페이스(GUI)의 형태로 사용자 인터페이스(120)를 제시할 수 있다.
저장 디바이스(128)는 무선 디바이스(118)의 하나 이상의 프로세서(132)에 의해 실행될 수 있는 어플리케이션들(130)을 위한 명령들을 저장한다. 설명의 편의를 위해, 복수의 프로세서(132)에 의해 실행될 수 있는 어플리케이션들(130)은 하나의 프로세서(132)에 의해 실행되는 것으로서 하기에 기술된다. 어플리케이션들(130)은 무선 디바이스(118)의 제조자에 의해 미리 설치될 수 있거나 또는 사용자에 의해 네트워크를 통해 서버로부터 다운로드되거나 또는 휴대용 저장 매체(예컨대, 플래시 드라이브)를 이용하여 설치될 수 있다. 어플리케이션들(130)은, 사용자가 상기 어플리케이션들(130)을 실행하도록 사용자 인터페이스(120)를 통해 무선 디바이스(118)와 상호작용함에 응답하여 프로세서(132)에 의해 실행될 수 있다.
또한, 저장 디바이스(128)는, 프로세서(132)로 하여금 위치 모듈(138) 및 업데이트 모듈(140)의 기능을 수행하게끔 하는 명령들을 포함할 수 있다. 저장 디바이스(128)는 업데이트 모듈(140)의 정책들(142)을 저장할 수 있다. 저장 디바이스(128)는, 하나 이상의 프로세서 예컨대, 프로세서들(132)로 하여금 다양한 기능들을 수행하게끔 하는 명령들을 포함하는 컴퓨터-판독가능, 머신-판독가능 또는 프로세서-판독가능 저장 매체를 포함할 수 있다. 저장 디바이스(128)는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 프로그램가능한 판독 전용 메모리(PROM), 소거가능하고 프로그램가능한 판독 전용 메모리(EPROM), 전기적으로 소거가능하고 프로그램가능한 판독 전용 메모리(EEPROM), 플래시 메모리, 하드 디스크, CD-ROM, 플로피 디스크, 카세트, 자기 매체, 광학 매체 또는 다른 컴퓨터-판독가능 저장 매체와 같은 어떤 비-일시적 컴퓨터-판독가능 저장 매체를 포함할 수 있다.
프로세서(132)는 어떤 하나 이상의 마이크로프로세서, 제어기, 디지털 신호 프로세서(DSP), 응용 주문형 집적 회로(ASIC), 현장-프로그래머블 게이트 어레이(FPGA) 또는 균등한 개별 또는 집적 로직 회로를 포함할 수 있다. 추가적으로, 본 발명에서 프로세서(132)에 기인한 기능들은 소프트웨어, 펌웨어, 하드웨어 또는 이들의 어떤 조합으로서 구현될 수 있다.
프로세서(132)는 단독으로 또는 동시에 하나 이상의 어플리케이션(130)을 실행할 수 있다. 어플리케이션들(130)의 예들은 위성 또는 케이블 제공자에 의해 제공되는 텔레비전 컨텐트를 디스플레이하는 어플리케이션, 월드 와이드 웹(World Wide Web) 상에 호스팅되는 컨텐트를 디스플레이하는 어플리케이션, 웹 브라우져 어플리케이션, 소셜 네트워킹 어플리케이션, e-메일 어플리케이션, 주식 시세를 검색하는 프로그램들, 식당들 또는 다른 사업체들을 검색하는 프로그램들, 현재와 향후의 날씨 정보를 검색하는 프로그램들, 게임들, 인터넷을 검색하는 프로그램들, 뉴스를 제공하는 프로그램, 및 지도들을 제공하는 프로그램을 포함한다. 어플리케이션들(130)은 사용자로부터의 요청에 기초하여 실행될 수 있고, 사용자로부터의 요청에 기초하여 종료될 수 있다. 일부 어플리케이션들(130)은 배경에 지속적으로 실행될 수 있다. 일부 어플리케이션들(130)은 예컨대, 전원을 켤 시(power up) 무선 디바이스(118)에 의해 자동적으로 실행될 수 있고, 예컨대, 전원을 끌 시(power down) 무선 디바이스(118)에 의해 자동적으로 종료될 수 있다.
일부 예들에서, 프로세서(132)에 의해 실행되는 어플리케이션들(130) 중 어떤 어플리케이션은 무선 디바이스(118)의 위치를 기술하는 위치 정보를 요구할 수 있다. 예를 들어, 근처(nearby)의 식당들의 위치를 찾는 어플리케이션은 근처에 있는 식당들을 식별하기 위해서 이러한 위치 정보를 요구할 수 있는 바, 여기서 "근처"는 2차원 또는 3차원 공간에서 무선 디바이스(118)로부터의 거리를 나타낸다.
위치 모듈(138)은 도 2의 위치 모듈(27)의 예시적인 실시예를 나타내고, 전술한 방식으로 피어-투-피어 위치 서비스를 사용한다. 즉, 위치 모듈(138)은 피어 신원들의 목록을 획득하기 위해 피어 발견 요청들을 발행하고, 위치 요청에서 피어-투-피어 위치 서비스에 상기 목록을 보내며, 그리고 위치 응답에서 요청된 위치 정보를 예컨대, 컴퓨팅 클라우드 또는 쿼리 서버로부터 수신한다. 위치 모듈(138)은 위치-표적화 네트워크 및 어플리케이션 서비스들을 향상시키도록 어플리케이션(130) 내의 어떤 요청 어플리케이션에 상기 위치 정보를 제공한다. 예를 들어, 상술된 근처의 식당 어플리케이션은, 상기 식당 어플리케이션을 위해 대응하는 서버에 상기 위치 정보를 보내서 상기 서버로 하여금 근처의 식당들을 식별하고 그 이후에 무선 디바이스(118)에 사용자에게 제시하기 위한 어떤 식별된 식당들을 보내게끔 할 수 있다.
업데이트 모듈(140) 및 정책들(142)은 업데이트 모듈(38) 및 정책들(30)의 예시적인 실시예들을 각각 나타낸다. 업데이트 모듈(140)은 정책들(142)에 따라 무선 디바이스(118)를 위한 위치 정보를 포함하는 위치 갱신들을 제공하기 위해 피어-투-피어 위치 서비스와 함께 동작한다. 위치 정보는, 위치 좌표들, 속도 벡터들, 셀룰러 기지국 식별자들 및 WAP 식별자들을 수신 또는 계산하기 위해 (무선 디바이스(118)의 일부 실시예들에서) GPS 수신기 또는 다른 위치 결정 모듈을 사용하여 결정되거나 예컨대, 또는 사용자 인터페이스(120)의 인터페이스에 위치를 입력하도록 사용자를 프롬프트함으로써 결정될 수 있다.
도 5는 도 2의 피어(26A)에 대한 예시적인 동작의 모드를 도시하는 흐름도이다. 위치 모듈(27)은 무선 네트워크(34)에서 피어(26A)에 인접한 피어 디바이스들을 식별하고자하는 피어 발견 요청(38)을 브로드캐스트한다(200). 위치 모듈(27)은 대응하는 피어 디바이스에 대한 피어 신원을 각각 포함하는 하나 이상의 피어 응답(40)을 하나 이상의 피어 디바이스(26)로부터 수신한다(202). 위치 모듈(27)은 수신된 피어 신원들을 위치 요청(18)에 어셈블하고 컴퓨팅 클라우드에 또는 도 2의 예시적인 실시예에서, 쿼리 서버(22)에 위치 요청을 발행한다(204). 위치 요청(18)에 응답하여, 위치 모듈(27)은 피어(26A)에 대한 추정 위치를 포함하는 위치 응답(19)를 수신한다(206).
도 6은 요청을 행한 피어 디바이스에 대한 위치를 추정하기 위한 쿼리 서버(22) 및 업데이트 서버(24)의 예시적인 동작의 모드를 도시하는 흐름도이다. 동작에서, 업데이트 서버(24)는 대응하는 피어들로부터 하나 이상의 위치 업데이트 메시지를 수신한다(210). 각 위치 업데이트 메시지는 전송을 행한 피어에 대한 피어 신원 및 위치 정보를 포함하는 바, 업데이트 서버(24)는 상기 피어 신원 및 위치 정보를 서로와 관련시키고 위치 데이터 저장소(42)에 저장한다(212).
쿼리 서버(22)의 쿼리 인터페이스(52)는 요청을 행한 피어로부터, 하나 이상의 대응하는 피어 디바이스에 대한 하나 이상의 피어 신원의 목록을 포함하는 위치 쿼리를 수신한다(214). 쿼리 서버(22)의 데이터베이스 인터페이스(54)는 상기 피어 신원들에 대한 관련된 위치 정보를 조회하기 위해 상기 피어 신원들을 사용하여 위치 데이터 저장소(42)에 쿼리한다(216). 위치 추정기(56)는 상기 요청을 행한 피어에 대한 위치를 추정하도록 상기 피어 신원들에 대한 관련된 위치 정보에 위치 모델(58)을 적용시키고(218), 쿼리 인터페이스(52)는 상기 요청을 행한 피어에 추정된 위치를 리턴한다(220).
본 발명에 기술된 기법들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 어떤 조합에서 적어도 부분적으로 구현될 수 있다. 예를 들어, 기술된 기법들의 다양한 양상들은 하나 이상의 마이크로프로세서, 디지털 신호 프로세서(DSP)들, 응용 주문형 집적 회로(ASIC)들, 현장 프로그래머블 게이트 어레이(FPGA)들 또는 어떤 다른 균등한 집적 또는 개별 로직 회로뿐만 아니라 이러한 컴포넌트들의 어떤 조합들을 포함하는 하나 이상의 프로세서 내에 구현될 수 있다. 상기 용어, "프로세서" 또는 "프로세싱 회로"는 일반적으로, 독립형 또는 다른 로직 회로와 결합한 상술된 로직 회로 중 어느 것, 또는 어떤 다른 균등한 회로를 나타낼 수 있다. 또한, 하드웨어를 포함하는 제어 유닛은 본 발명의 하나 이상의 기법을 수행할 수 있다.
이러한 하드웨어, 소프트웨어 및 펌웨어는 본 발명에 기술된 다양한 동작들 및 기능들을 지원하기 위해 동일한 디바이스 내에 또는 별개의 디바이스들 내에 구현될 수 있다. 게다가, 기술된 유닛들, 모듈들 또는 컴포넌트들 중 어떤 것은 함께 구현되거나 또는 개별적이지만 상호 동작가능한 로직 디바이스들로서 별개로 구현될 수 있다. 모듈들 또는 유닛들로서의 다른 특징들의 묘사는 다른 기능적 양상들을 강조하기 위해 의도된 것이며 필수적으로, 이러한 모듈들 또는 유닛들이 별개의 하드웨어 또는 소프트웨어 컴포넌트들에 의해 실현되어야만 함을 나타내지는 않는다. 오히려, 하나 이상의 모듈 또는 유닛과 관련된 기능은 별개의 하드웨어 또는 소프트웨어 컴포넌트들에 의해 수행되거나 또는 공통 또는 별개의 하드웨어 또는 소프트웨어 컴포넌트들 내에 집적될 수 있다.
또한, 본 발명에 기술된 기법들은 명령들을 포함하는 비-일시적 컴퓨터-판독가능 매체 또는 컴퓨터-판독가능 저장 매체와 같은 컴퓨터-판독가능 매체에 수록 또는 인코딩될 수 있다. 컴퓨터-판독가능 매체에 수록 또는 인코딩된 명령들은, 프로그램가능한 프로세서 또는 다른 프로세서로 하여금 예컨대, 상기 명령들이 실행될 때 방법을 수행하게끔 할 수 있다. 컴퓨터-판독가능 저장 매체는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 프로그램가능한 판독 전용 메모리(PROM), 소거가능하고 프로그램가능한 판독 전용 메모리(EPROM), 전기적으로 소거가능하고 프로그램가능한 판독 전용 메모리(EEPROM), 플래시 메모리, 하드 디스크, CD-ROM, 플로피 디스크, 카세트, 자기 매체, 광학 매체 또는 다른 컴퓨터-판독가능 저장 매체를 포함할 수 있다. 상기 용어, "컴퓨터-판독가능 저장 매체"는, 비록 상기 용어 "컴퓨터-판독가능 매체"가 물리적인 저장 매체에 더하여 신호들과 같은 일시적인 매체(transient media)를 포함하지만은, 신호들이나 반송파들이 아니라 물리적 저장 매체를 지칭함이 이해되어야만 한다.
본 발명의 다양한 양상들이 기술되었다. 이들 및 다른 실시예들이 다음의 특허 청구 범위 내에 속한다.
6: 클라이언트
10, 21: 네트워크
22: 쿼리 서버
24: 업데이트 서버
26A: 피어
27, 138: 위치 모듈
28, 140: 업데이트 모듈
29. ID 모듈,
30, 142: 정책들
42: 위치 데이터 저장소
50: 제어 유닛
52: 쿼리 인터페이스
54: 데이터베이스 인터페이스
56: 위치 추정기
58: 위치 모델
120: 사용자 인터페이스
124: 디스플레이
128: 저장 장치
130: 어플리케이션들
132: 프로세서
136. 네트워크 모듈

Claims (20)

  1. 방법으로서,
    무선 통신 네트워크에 통신 가능하게 연결된 무선 통신 장치에 의해, 하나 이상의 피어 신원(peer identity)들에 대한 요청을 포함하는 피어 발견 요청을 출력하는 단계와;
    상기 무선 통신 네트워크에 통신 가능하게 연결된 상기 무선 통신 장치에 의해, 상기 무선 통신 네트워크에 통신가능하게 연결된 피어 장치에 대한 피어 신원을 수신하는 단계와;
    상기 무선 통신 장치에 의해 위치 서비스의 서버로, 상기 피어 신원을 포함하는 위치 쿼리를 전송하는 단계 - 상기 위치 쿼리는, 적어도 상기 피어 장치의 물리적 위치에 기초하여 상기 위치 서비스에 의해 추정되는 상기 무선 통신 장치의 물리적 위치에 대한 요청을 포함하며 - 와; 그리고
    상기 무선 통신 장치에 의해 그리고 상기 위치 서비스로부터의 위치 응답에서, 상기 무선 통신 장치의 상기 추정된 물리적 위치를 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 피어 발견 요청을 출력하는 단계는 상기 피어 발견 요청을 브로드 캐스팅하는 단계를 포함하며, 그리고
    상기 피어 신원을 수신하는 단계는, 상기 무선 통신 장치에 의해 그리고 상기 피어 장치로부터, 상기 피어 신원을 포함하는 피어 응답을 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 무선 통신 네트워크는 기지국을 포함하는 인프라스트럭처 네트워크를 포함하고,
    상기 피어 발견 요청을 출력하는 단계는, 상기 무선 통신 장치에 의해 상기 기지국으로, 상기 피어 발견 요청을 전송하는 단계를 포함하고,
    상기 피어 신원을 수신하는 단계는, 상기 기지국으로부터 상기 무선 통신 장치에 의해 그리고 상기 피어 발견 요청에 응답하여, 상기 피어 신원를 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 피어 신원을 수신하는 단계는, 상기 무선 통신 네트워크에 걸친 무선 네트워크 트래픽을 모니터링하고 그리고 상기 무선 네트워크 트래픽으로부터 상기 피어 신원을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 무선 통신 장치에 의해, 상기 무선 통신 장치의 물리적 위치를 결정하는 단계와; 그리고
    상기 무선 통신 장치에 의해 상기 위치 서비스의 서버로, 위치 업데이트 메시지를 전송하는 단계를 더 포함하며,
    상기 위치 업데이트 메시지는 상기 무선 통신 장치의 물리적 위치와 피어 신원을 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 물리적 위치는 글로벌 포지셔닝 시스템(GPS) 좌표, 셀룰러 기지국 식별자, 무선 액세스 포인트 식별자, 이동 통신을 위한 글로벌 시스템(GSM) 정위치 정보, 및 도착 시간 차이(TDOA) 정보로 이루어지는 군으로부터 선택되는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 피어 신원은, 상기 피어 장치의 식별을 방지하는 프라이버시 보호(privacy-preserved) 피어의 신원인 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 무선 통신 네트워크는 애드혹(ad-hoc) 무선 통신 네트워크를 포함하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 무선 통신 장치는 모바일 무선 통신 장치인 것을 특징으로 하는 방법.
  10. 방법에 있어서,
    위치 서비스의 서버에 의해, 대응 무선 통신 장치들로부터 위치 업데이트 메시지들을 수신하는 단계 - 상기 위치 업데이트 메시지들은 상기 대응 무선 통신 장치들을 위한 물리적 위치들 및 피어 신원들을 포함하며 - 와;
    상기 서버에 의해, 상기 위치 서비스를 위한 데이터 저장 및 검색을 제공하는 저장 장치에 상기 물리적 위치들 및 상기 피어 신원들을 저장하는 단계와;
    상기 서버에 의해, 상기 무선 통신 장치들의 피어인 피어 무선 통신 장치로부터 위치 쿼리를 수신하는 단계 - 상기 위치 쿼리는 상기 피어 신원들을 포함하며 - 와;
    상기 서버에 의해, 상기 피어 신원들에 대응하는 상기 무선 통신 장치들의 물리적 위치들을 얻도록 상기 피어 신원들을 이용하여 상기 저장 장치에 쿼리하는 단계와; 그리고
    상기 서버에 의해, 적어도 상기 물리적 위치들에 기초하여 상기 피어 무선 통신 장치의 추정된 물리적 위치를 결정하는 단계와; 그리고
    상기 서버에 의해 상기 피어 무선 통신 장치에, 상기 추정된 물리적 위치를 위치 응답으로 출력하는 단계를 포함하는 것을 특징으로 하는 방법.
  11. 제10항에 있어서,
    적어도 상기 물리적 위치들에 기초하여 제1 무선 통신 장치의 추정된 물리적 위치를 결정하는 단계는, 상기 서버에 의해, 상기 무선 통신 장치들에 대한 상기 물리적 위치들에 위치 모델을 적용하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 위치 업데이트 메시지들은 대응하는 물리적 위치들에 대한 위치 획득 방법들을 특정하는 위치 획득 방법 식별자들을 포함하며, 상기 방법은,
    상기 서버에 의해, 상기 추정된 물리적 위치에 대한 신뢰 레벨(confidence level)를 계산하기 위해 상기 위치 획득 방법 식별자들에 상기 위치 모델을 적용하는 단계와; 그리고
    상기 신뢰 레벨을 상기 서버로부터 상기 제1 무선 통신 장치에 출력하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 제10항에 있어서,
    상기 서버에 의해, 제1 무선 통신 장치로부터 위치 쿼리를 수신하는 단계를 더 포함하며, 상기 위치 쿼리는 상기 피어 신원들을 포함하는 것을 특징으로 하는 방법.
  14. 제10항에 있어서,
    상기 위치 쿼리는 제1 무선 통신 장치를 서비스하는 기지국에 대한 기지국 식별자를 더 포함하고,
    상기 제1 무선 통신 장치의 추정된 물리적 위치를 결정하는 단계는 적어도 상기 기지국의 물리적 위치에 기초하여 상기 추정된 물리적 위치를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제10항에 있어서,
    상기 서버에 의해, 적어도 상기 무선 통신 장치들의 물리적 위치들에 기초하여 상기 추정된 물리적 위치에 대한 신뢰 레벨을 계산하는 단계와; 그리고
    상기 신뢰 레벨을 상기 서버로부터 제1 무선 통신 장치에 출력하는 단계를 포함하는 것을 특징으로 하는 방법.
  16. 제10항에 있어서,
    상기 서버는 상기 위치 서비스를 운영하는 클라우드 컴퓨팅 네트워크의 서버인 것을 특징으로 하는 방법.
  17. 무선 통신 네트워크에 연결된 무선 통신 장치로서,
    상기 무선 통신 장치는,
    프로세서와; 그리고
    상기 무선 통신 네트워크에 통신가능하게 연결된 피어 장치에 대한 피어 신원을 수신하도록 된 위치 모듈을 포함하고,
    상기 위치 모듈은, 상기 피어 신원을 포함하는 위치 쿼리를 위치 서비스에 전송하도록 되고,
    상기 위치 쿼리는, 적어도 상기 피어 장치의 물리적 위치에 기초하여 상기 위치 서비스에 의해 추정되는 상기 무선 통신 장치의 물리적 위치에 대한 요청을 포함하고,
    상기 위치 모듈은 상기 위치 서비스로부터의 위치 응답에서, 상기 추정된 물리적 위치를 수신하도록 된 것을 특징으로 하는 무선 통신 장치.
  18. 시스템으로서,
    대응하는 무선 통신 장치들로부터 위치 업데이트 메시지들을 수신하도록 된 업데이트 서버 - 상기 위치 업데이트 메시지들은 상기 대응하는 무선 통신 장치들에 대한 물리적 위치들 및 피어 신원들을 포함하며 - 와;
    데이터의 저장 및 검색을 제공하는 저장 장치에 상기 물리적 위치들 및 상기 신원들을 저장하는 컴퓨터 판독가능 저장 매체로 구성된 위치 데이터 저장소와;
    상기 무선 통신 장치들의 피어인 피어 무선 통신 장치로부터 위치 쿼리를 수신하도록 된 쿼리 서버의 쿼리 인터페이스 - 상기 위치 쿼리는 상기 피어 신원들을 포함하며 - 와;
    상기 물리적 위치들을 얻도록 상기 피어 신원들을 이용하여 상기 위치 데이터 저장소에 쿼리하도록 된 상기 쿼리 서버의 데이터베이스 인터페이스와;
    상기 쿼리 서버는, 적어도 상기 물리적 위치들에 기초하여 상기 피어 무선 통신 장치의 추정된 물리적 위치를 결정하도록 되어 있고,
    상기 쿼리 인터페이스는, 상기 피어 무선 통신 장치에 상기 추정된 물리적 위치를 위치 응답으로 출력하도록 되어 있는 것을 특징으로 하는 시스템.
  19. 명령어들이 수록된 비-일시적인 컴퓨터 판독 가능 매체로서,
    상기 명령어들은 프로그램 가능 프로세서로 하여금,
    무선 통신 네트워크에 통신 가능하게 연결된 무선 통신 장치에 의해, 상기 무선 통신 네트워크에 통신가능하게 연결된 피어 장치에 대한 피어 신원을 수신하게 하고;
    상기 무선 통신 장치에 의해, 상기 피어 신원을 포함하는 위치 쿼리를 위치 서비스에 전송하게 하고,
    상기 위치 쿼리는, 적어도 상기 피어 장치의 물리적 위치에 기초하여 상기 위치 서비스에 의해 추정되는 상기 무선 통신 장치의 물리적 위치에 대한 요청을 포함하며; 그리고
    상기 무선 통신 장치에 의해 상기 위치 서비스로부터의 위치 응답에서, 상기 추정된 물리적 위치를 수신하게 하는 것을 특징으로 하는 비-일시적인 컴퓨터 판독 가능 매체.
  20. 명령어들이 수록된 비-일시적인 컴퓨터 판독 가능 매체로서,
    상기 명령어들은 프로그램 가능 프로세서로 하여금,
    위치 서비스의 서버에 의해, 대응하는 무선 통신 장치들로부터 위치 업데이트 메시지들을 수신하게 하고, 상기 위치 업데이트 메시지들은 상기 대응하는 무선 통신 장치들에 대한 물리적 위치들 및 피어 신원들을 포함하며;
    상기 서버에 의해, 상기 위치 서비스를 위한 데이터 저장 및 검색을 제공하는 저장 장치에 상기 물리적 위치들 및 상기 피어 신원들을 저장하게 하고;
    상기 서버에 의해, 상기 무선 통신 장치들의 피어인 피어 무선 통신 장치로부터 위치 쿼리를 수신하게 하고, 상기 위치 쿼리는 상기 피어 신원들을 포함하며;
    상기 서버에 의해, 상기 피어 신원들에 대응하는 상기 무선 통신 장치들의 물리적 위치들을 얻기 위해 상기 피어 신원들을 이용하여 상기 저장 장치에 쿼리하게 하며;
    상기 서버에 의해, 적어도 상기 물리적 위치들에 기초하여 상기 피어 무선 통신 장치의 추정된 물리적 위치를 결정하게 하고;
    상기 서버에 의해, 상기 추정된 물리적 위치를 상기 피어 무선 통신 장치에 위치 응답으로 출력하게 하는 것을 특징으로 하는 비-일시적인 컴퓨터 판독 가능 매체.
KR1020137018554A 2010-12-15 2011-12-14 피어-투-피어 위치 서비스 KR101607605B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US12/969,291 2010-12-15
US12/969,291 US8364172B2 (en) 2010-12-15 2010-12-15 Peer-to-peer location service
US13/250,709 US8326326B2 (en) 2010-12-15 2011-09-30 Peer-to-peer location service
US13/250,709 2011-09-30
PCT/US2011/064788 WO2012082828A1 (en) 2010-12-15 2011-12-14 Peer-to-peer location service

Publications (2)

Publication Number Publication Date
KR20130132543A KR20130132543A (ko) 2013-12-04
KR101607605B1 true KR101607605B1 (ko) 2016-03-30

Family

ID=46235052

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137018554A KR101607605B1 (ko) 2010-12-15 2011-12-14 피어-투-피어 위치 서비스

Country Status (7)

Country Link
US (3) US8364172B2 (ko)
KR (1) KR101607605B1 (ko)
CN (1) CN103339522B (ko)
AU (1) AU2011343874B2 (ko)
DE (1) DE112011103948B4 (ko)
GB (1) GB2499557B (ko)
WO (1) WO2012082828A1 (ko)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101584166A (zh) 2006-11-02 2009-11-18 迪吉福尼卡(国际)有限公司 产生用于ip语音通信的路由消息
EP2090024B1 (en) 2006-11-29 2020-03-04 Voip-Pal.Com, Inc. Intercepting voice over ip communications and other data communications
WO2008116296A1 (en) 2007-03-26 2008-10-02 Digifonica (International) Limited Emergency assistance calling for voice over ip communications systems
US8630234B2 (en) 2008-07-28 2014-01-14 Digifonica (International) Limited Mobile gateway
CA2812174C (en) 2009-09-17 2018-05-15 Digifonica (International) Limited Uninterrupted transmission of internet protocol transmissions during endpoint changes
US8744487B2 (en) * 2011-01-19 2014-06-03 Qualcomm Incorporated Methods and apparatus for determining mobile device location in a communications system
US9537869B2 (en) * 2011-02-11 2017-01-03 Blue Cedar Networks, Inc. Geographical restrictions for application usage on a mobile device
TWI429308B (zh) * 2011-02-14 2014-03-01 Wistron Corp 建立點對點傳輸的方法及行動通訊系統
KR101723453B1 (ko) * 2011-02-21 2017-04-05 삼성전자주식회사 휴대용 단말기에서 와이파이 다이렉트 연결 기반 유니버설 플러그 앤 플레이 서비스를 제공하기 위한 장치 및 방법
US9482734B2 (en) * 2011-03-28 2016-11-01 Qualcomm Incorporated Methods and apparatus for triggering cooperative positioning or learning in a wireless network
GB201116374D0 (en) 2011-09-22 2011-11-02 Sensewhere Ltd Positioning method
GB201116524D0 (en) 2011-09-23 2011-11-09 Sensewhere Ltd Method of estimating the position of a user device
GB201117723D0 (en) 2011-10-13 2011-11-23 Sensewhere Ltd Method of estimating the position of a user device using radio beacons and radio beacons adapted to facilitate the methods of the invention
US8755331B2 (en) * 2011-12-13 2014-06-17 International Business Machines Corporation Determining a physical location of a wireless mobile device
US8897803B2 (en) * 2012-01-13 2014-11-25 Apple Inc. Finding wireless network access points
GB201200831D0 (en) 2012-01-18 2012-02-29 Sensewhere Ltd Improved positioning system
US20130290522A1 (en) * 2012-04-11 2013-10-31 Edward F. Behm, Jr. Engine, System and Method of Locating a Mobile Device and Reporting on Other Devices Proximately Located Thereto
GB2502068B (en) 2012-05-14 2019-03-27 Sensewhere Ltd Method of and system for estimating position
GB201211994D0 (en) 2012-07-05 2012-08-22 Sensewhere Ltd Method of estimating position of user device
EP2875666B1 (en) 2012-07-20 2019-01-30 LG Electronics Inc. Method and apparatus for information on interference for device-to-device connection in wireless communication system
GB201213172D0 (en) 2012-07-24 2012-09-05 Sensewhere Ltd Method of estimating position of a device
US9036603B2 (en) * 2012-08-03 2015-05-19 Intel Corporation Network assistance for device-to-device discovery
US8913518B2 (en) 2012-08-03 2014-12-16 Intel Corporation Enhanced node B, user equipment and methods for discontinuous reception in inter-ENB carrier aggregation
US10531269B2 (en) * 2012-11-01 2020-01-07 Intel Corporation Network assisted device-to-device discovery for peer-to-peer applications
US9113431B2 (en) * 2012-11-16 2015-08-18 Qualcomm Incorporated Method for corroboration and transferring trust between network databases for enhanced positioning accuracy
US9002348B2 (en) * 2012-11-20 2015-04-07 Aeris Communications, Inc. Utilizing devices nearby
US9404997B2 (en) * 2013-03-08 2016-08-02 Intel Corporation Communication station and method for time-of-flight positioning using cooperating stations
CN103248671B (zh) * 2013-03-13 2016-08-03 王龙飞 一种服务提供方法、服务提供装置和服务器
US9282427B2 (en) * 2013-03-15 2016-03-08 Amatis Controls, Llc Wireless network design, commissioning, and controls for HVAC, water heating, and lighting system optimization
US10021211B2 (en) * 2013-05-10 2018-07-10 Empire Technology Development Llc Estimation of missed information
JP2016521514A (ja) * 2013-05-12 2016-07-21 エルジー エレクトロニクス インコーポレイティド 近接サービス実行方法及びそのための装置
JP5603973B1 (ja) * 2013-06-12 2014-10-08 日本電信電話株式会社 無線通信装置及び無線通信端末探索方法
EP3014934B1 (en) 2013-06-28 2020-08-05 Intel Corporation Network assisted device-to-device discovery for peer-to-peer applications
EP3047689B1 (en) * 2013-09-20 2021-06-30 Intel Corporation Ap location query
US9912415B2 (en) * 2013-11-12 2018-03-06 Qualcomm Incorporated Fast service discovery and pairing using ultrasonic communication
US9638783B2 (en) * 2013-12-12 2017-05-02 Qualcomm Incorporated Broadcast-based positioning for device-to-device proximity services
US10686854B2 (en) * 2014-03-05 2020-06-16 Verizon Patent And Licensing Inc. Streaming content using ad hoc networks of user devices
WO2015163593A1 (en) 2014-04-22 2015-10-29 Lg Electronics Inc. Method for processing received pdcp pdus for d2d communication system and device therefor
KR102280610B1 (ko) 2014-04-24 2021-07-23 삼성전자주식회사 전자 장치의 위치 추정 방법 및 장치
US9713117B2 (en) * 2014-09-25 2017-07-18 Intel Corporation Device-to-device assisted positioning in wireless cellular technologies
CN107690777A (zh) * 2015-03-30 2018-02-13 爱迪德技术有限公司 监视对等网络
US20160323715A1 (en) * 2015-04-30 2016-11-03 Huawei Technologies Co., Ltd. System and Method for Data Packet Scheduling and Delivery
KR102402743B1 (ko) 2015-05-27 2022-05-27 삼성전자주식회사 위치 측정 방법 및 전자장치
KR102024560B1 (ko) 2016-12-13 2019-09-24 한국전자통신연구원 재난 환경에서 구조를 지원하기 위한 정보 제공 방법 및 장치
US10154406B2 (en) * 2017-03-10 2018-12-11 Google Llc Attaching visible networks for synchronous local search results
WO2019027979A1 (en) 2017-08-03 2019-02-07 Walmart Apollo, Llc SYSTEMS AND METHODS FOR MONITORING NON-PERMANENT INK MARKERS OF RFID TAGS IN RETAIL ESTABLISHMENT THROUGH
WO2019123469A1 (en) * 2017-12-20 2019-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and location service component for providing location of device
US10986525B2 (en) * 2018-07-12 2021-04-20 Qualcomm Incorporated Relaying vehicular communications using network coding
KR102537840B1 (ko) 2018-07-13 2023-05-31 삼성전자 주식회사 서버 장치 및 다른 장치들의 위치 정보를 수집하는 방법
US10779237B2 (en) 2018-10-18 2020-09-15 Microsoft Technology Licensing, Llc Sharing location data to reduce power consumption
US11678348B2 (en) * 2020-01-31 2023-06-13 Qualcomm Incorporated Sidelink-assisted information transfer
KR20210148503A (ko) * 2020-05-28 2021-12-08 삼성전자주식회사 디바이스 간 데이터 교환 방법 및 이 방법을 실행하는 시스템
CN112051956A (zh) * 2020-09-09 2020-12-08 北京五八信息技术有限公司 一种房源的交互方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040162027A1 (en) * 2003-02-17 2004-08-19 Samsung Electronics Co., Ltd. Bluetooth wireless communication apparatus and method of notifying users of devices connectable to ad-hoc networks to establish effective connections based on a user's selection
US20080200181A1 (en) * 2007-02-19 2008-08-21 Microsoft Corporation Self-Configuring Wireless Network Location System
US20100061294A1 (en) * 2008-09-08 2010-03-11 Proctor Jr James Arthur Enforcing policies in wireless communication using exchanged identities
US20100254308A1 (en) * 2009-04-02 2010-10-07 Qualcomm Incorporated Methods and apparatus for peer discovery in a communications system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206934B2 (en) 2002-09-26 2007-04-17 Sun Microsystems, Inc. Distributed indexing of identity information in a peer-to-peer network
US20040063451A1 (en) * 2002-09-27 2004-04-01 Bonta Jeffrey D. Relaying information within an ad-hoc cellular network
US20040162830A1 (en) 2003-02-18 2004-08-19 Sanika Shirwadkar Method and system for searching location based information on a mobile device
US8015211B2 (en) 2004-04-21 2011-09-06 Architecture Technology Corporation Secure peer-to-peer object storage system
US7788713B2 (en) 2004-06-23 2010-08-31 Intel Corporation Method, apparatus and system for virtualized peer-to-peer proxy services
US7395075B2 (en) 2004-09-09 2008-07-01 Nextel Communications Inc. System and method for collecting continuous location updates while minimizing overall network utilization
US7933612B2 (en) * 2006-02-28 2011-04-26 Microsoft Corporation Determining physical location based upon received signals
DE102007028114A1 (de) * 2007-03-16 2008-09-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur Lokalisierung von Endgeräten
CN101150856B (zh) * 2007-11-02 2010-09-22 江苏华科导航科技有限公司 导航装置定位手机位置的方法
JP2010276411A (ja) * 2009-05-27 2010-12-09 Denso Corp 移動端末装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040162027A1 (en) * 2003-02-17 2004-08-19 Samsung Electronics Co., Ltd. Bluetooth wireless communication apparatus and method of notifying users of devices connectable to ad-hoc networks to establish effective connections based on a user's selection
US20080200181A1 (en) * 2007-02-19 2008-08-21 Microsoft Corporation Self-Configuring Wireless Network Location System
US20100061294A1 (en) * 2008-09-08 2010-03-11 Proctor Jr James Arthur Enforcing policies in wireless communication using exchanged identities
US20100254308A1 (en) * 2009-04-02 2010-10-07 Qualcomm Incorporated Methods and apparatus for peer discovery in a communications system

Also Published As

Publication number Publication date
DE112011103948T5 (de) 2013-08-22
US8364172B2 (en) 2013-01-29
CN103339522B (zh) 2015-05-27
GB201310538D0 (en) 2013-07-31
AU2011343874A1 (en) 2013-07-04
GB2499557B (en) 2015-06-03
US20130143599A1 (en) 2013-06-06
AU2011343874B2 (en) 2014-06-19
US20120157123A1 (en) 2012-06-21
DE112011103948B4 (de) 2017-08-03
CN103339522A (zh) 2013-10-02
KR20130132543A (ko) 2013-12-04
US8600409B2 (en) 2013-12-03
US8326326B2 (en) 2012-12-04
GB2499557A (en) 2013-08-21
WO2012082828A1 (en) 2012-06-21
US20120157121A1 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
KR101607605B1 (ko) 피어-투-피어 위치 서비스
US9408176B2 (en) Location and state information providing/inquiring system using WLAN/WPAN communication, log information providing/inquiring system and method, service server and customer terminal, location and state providing/inquiring method
EP1656755B1 (en) Facilitating location determination of a mobile station pursuant to a location based application
CN104010364B (zh) 用于确定基站的估计的地理位置的方法和系统
Hansen et al. Seamless indoor/outdoor positioning handover for location-based services in streamspin
EP2620020B1 (en) Method, central station, system and computer-readable medium for locating data spots
EP2066143A1 (en) Radio cell performance monitoring and/or control based on user equipment positioning data and radio quality parameters
US8611247B2 (en) Dynamic data retrieval in a WLAN positioning system
US20060121914A1 (en) Handover method and apparatus for mobile terminal using location information in heterogeneous system network
US8290510B2 (en) System and method for SUPL held interworking
CN110166501B (zh) 一种定位方法、终端及服务器
JP2001045543A (ja) 移動端末装置の現在位置判定方法
WO2009086278A1 (en) Providing wi-fi location information to a mobile device in order to estimate its position
US8301160B2 (en) System and method for SUPL roaming using a held client
US8918115B2 (en) Method and location server for determining a postion of a target device
US11856471B2 (en) Method and apparatus for edge computing service
EP3200520B1 (en) Cooperative locating method and wireless terminal
KR20120005642A (ko) 오차 범위를 이용한 위치 정보 제공 방법 및 장치
US9210680B2 (en) Method and apparatus for selecting a real time location service provider
US20210084577A1 (en) Communications devices, infrastructure equipment, location servers and methods
KR101416275B1 (ko) 단말의 위치 정보 획득 시스템 및 방법
KR20240027626A (ko) Ue 포지셔닝을 위한 디바이스 선택
CN116456268A (zh) 定位方法和定位装置
Cianca et al. Integration of Navigation and Communication for Location and Context aware RRM

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190313

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200312

Year of fee payment: 5