KR101251861B1 - 근접도 기반 애드혹 네트워크에 기초하는 위치 추적 - Google Patents

근접도 기반 애드혹 네트워크에 기초하는 위치 추적 Download PDF

Info

Publication number
KR101251861B1
KR101251861B1 KR1020127010464A KR20127010464A KR101251861B1 KR 101251861 B1 KR101251861 B1 KR 101251861B1 KR 1020127010464 A KR1020127010464 A KR 1020127010464A KR 20127010464 A KR20127010464 A KR 20127010464A KR 101251861 B1 KR101251861 B1 KR 101251861B1
Authority
KR
South Korea
Prior art keywords
sensor
sensors
data
user
location
Prior art date
Application number
KR1020127010464A
Other languages
English (en)
Other versions
KR20120058620A (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 KR20120058620A publication Critical patent/KR20120058620A/ko
Application granted granted Critical
Publication of KR101251861B1 publication Critical patent/KR101251861B1/ko

Links

Images

Classifications

    • 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/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
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0284Relative positioning
    • G01S5/0289Relative positioning of multiple transceivers, e.g. in ad hoc networks
    • 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/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0212Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • H04W52/0235Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a power saving command
    • 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
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

복수의 센서 사이에 근접도 기반 애드혹 네트워크를 구축하고, 이 네트워크를 이용하여 위치 추적을 수행하고, 위치 기반 서비스들을 제공하기 위한 시스템 및 방법이 설명된다. 센서들 각각으로부터 수신된 시간 코딩된 데이터를 이용하여, 센서들 각각의 복수의 센서 내의 다른 센서들에 대한 현재 근접도를 결정한다. 이어서, 특정 센서와 관련된 실제 위치 정보를 이용하여, 특정 센서에 공간적으로, 시간적으로 근접하는 것으로 알려진 다른 센서들과 관련된 위치 정보를 생성하거나 증대시킬 수 있다.

Description

근접도 기반 애드혹 네트워크에 기초하는 위치 추적{LOCATION TRACKING BASED ON PROXIMITY-BASED AD HOC NETWORK}
본 발명은 일반적으로 위치 기반 서비스와 같은 서비스를 사용자에게 제공하기 위한 목적으로 사용자와 연관된 하나 이상의 장치 및/또는 물체의 위치를 결정하기 위한 시스템들 및 방법들에 관한 것이다.
위치 기반 서비스들은 위치 고유 콘텐츠 또는 지원을 사용자들에게 제공하는 서비스들이다. 위치 기반 서비스들은 통상적으로 사용자 장치 또는 물체의 위치를 추적하는 능력, 때로는 위치 결정으로 지칭되는 프로세스에 의존한다. 위치 기반 서비스들의 몇 가지 예는 개인 네비게이션, 자원 위치 결정, 자원 추적, 근접도 기반 통지, 위치 기반 과금 및 비상 서비스들을 포함한다.
현재, 사용자 장치 또는 물체의 위치를 자동으로 결정하기 위한 다양한 시스템이 존재한다. 이러한 시스템들은 예를 들어 글로벌 위치 결정 시스템(GPS), WiFi 기반 위치 결정 시스템들, 셀룰러 전화 기반 위치 결정 시스템들 및 블루투스(상표) 기반 위치 결정 시스템들을 포함한다. 이러한 시스템들 각각은 그 자신의 상대적인 이점들 및 단점들의 세트를 제공한다. 예컨대, GPS는 매우 정확한 위치 추정을 제공하지만, 실내 환경들에서 또는 도시 협곡과 같은 다중 경로 효과들에 취약한 영역들에서 양호하게 동작하지 못한다. WiFi 기반 위치 결정 시스템들은 실내 환경들에서 GPS보다 양호하게 동작하지만, 동작하기 위해 사용자가 다수의 무선 액세스 포인트의 전송 범위 내에 있을 것을 요구한다. 셀룰러 전화 기반 및 블루투스 기반 위치 결정 시스템들도 그들 자신의 이점들 및 단점들을 갖는다.
다양한 타입의 위치 결정 시스템들이 존재하지만, 통상적으로 네트워크들 및 통신 캐리어들은 위치 기반 서비스들의 제공을 위해 한 가지 타입의 시스템만을 채용한다. 따라서, 각각의 네트워크/캐리어의 사용자들은 채용된 위치 결정 시스템의 타입과 연관된 특정 세트의 단점들과 더불어 살아야 한다. 이것은 예를 들어 소정 시간들에 또는 소정 조건들 하에서의 신뢰성 없는 위치 정보의 생성 또는 제한된 또는 발산하는 입도를 갖는 위치 정보의 생성을 포함할 수 있다.
더구나, 상이한 네트워크들/캐리어들은 상이한 위치 결정 기술을 이용하므로, 다수의 네트워크 또는 캐리어에 걸쳐 확장하는 사용자들에 대한 정교한 위치 기반 서비스들이 현재 결여되어 있다. 또한, 위치 정보의 향상된 또는 더 포괄적인 세트를 생성하기 위하여 각자가 상이한 방식으로 상이한 포맷을 갖는 위치 정보를 생성할 수 있는 이러한 위치 정보의 다양한 소스들을 유리하게 접속하고 이용할 수 있는 시스템이 존재하지 않는다. 실제로, 소정의 위치 결정 시스템들(즉, WiFi 기반, 셀룰러 전화 기반 및 블루투스 기반 위치 결정 시스템들)과 연관된 비컨들은 매우 상이한 전송 범위들 및 신호 강도들을 가지므로, 이러한 시스템들에 의해 생성되는 정보를 개별 정보 사일로들 내에 유지하기 위한 강한 인센티브가 존재한다.
게다가, 위치 기반 서비스들 및 다른 타입의 서비스들의 제공에 사용될 수 있는 실시간 장치/물체 위치들의 데이터베이스를 생성하기 위하여, 상이한 타입의 위치 결정 시스템들과 그리고 상이한 네트워크들 및 캐리어들과 연관된 센서 인에이블드 장치들/물체들을 포함하는 다양한 상이한 센서 인에이블드 장치들 및 물체들에 의해 생성되는 정보를 이용할 수 있는 시스템 및 방법이 필요하다. 요구되는 시스템 및 방법은 기존의 기술들 및 기초 구조들을 이용하여 향상되고 더 포괄적인 위치 정보 세트를 위치 기반 서비스 제공자에게 제공해야 한다.
복수의 센서 인에이블드 장치들 및 물체들(본 명세서에서 간단하게 "센서들"로 지칭됨) 사이에 근접도 기반 애드혹 네트워크를 구축하고, 그러한 네트워크를 이용하여 위치 추적을 수행하기 위한 시스템 및 방법이 본 명세서에서 설명된다. 본 시스템 및 방법은 센서들 각각으로부터 수신되는 시간 코딩된 데이터를 이용하여, 하나 이상의 비컨에 대한 센서들 각각의 현재 근접도를 결정한다. 이어서, 비컨들의 유효 전송 범위에 관한 정보를 이용함으로써, 본 시스템 및 방법은 복수의 센서 내의 다른 센서들에 대한 복수의 센서 각각의 상대 위치를 결정한다. (상대적이 아니라) 실제의 위치 정보가 특정 센서에 대해 이용 가능한 경우에, 실제 위치 정보는 특정 센서에 공간적으로, 시간적으로 근접한 것으로 알려진 다른 센서들과 연관된 위치 정보를 생성하거나 증대시키는 데 사용될 수 있다. 이어서, 센서들 각각에 대한 현재 위치 정보는 위치 기반 서비스들을 제공하는 데 사용된다.
본 발명의 일 실시예는 상이한 위치 결정 기술들(예를 들어, GPS, WiFi 기반, 셀룰러 전화 기반 및 블루투스 기반 위치 결정 기술들)을 이용하거나 지원하는 센서들로부터 얻은 감지 정보를 이용함으로써 풍부한 이용 가능한 감지 정보를 이용하는 애드혹 네트워크를 유리하게 구축할 수 있다. 더구나, 위치 메타데이터가 그러한 센서들 사이에서 공유되게 함으로써, 본 발명의 일 실시예는 임의의 관련된 단점들을 완화하면서 그러한 기술들과 연관된 이점들을 이용하는 방식으로 위치 추적을 수행할 수 있다. 본 발명의 일 실시예는 또한 애드혹 네트워크를 구축하기 위하여 다양한 상이한 네트워크들 및 통신 캐리어들과 연관된 센서들로부터 감지 정보를 유리하게 얻을 수 있다.
특히, 복수의 센서 사이에 근접도 기반 애드혹 네트워크를 구축하기 위한 방법이 본 명세서에 설명된다. 본 방법에 따르면, 복수의 센서 각각으로부터 센서 데이터가 수신되고, 복수의 센서 각각으로부터 수신된 센서 데이터는 센서에 의해 검출된 하나 이상의 비컨을 식별하며, 하나 이상의 비컨 각각이 언제 센서에 의해 각각 검출되었는지를 지시하는 하나 이상의 시간 코드를 포함한다. 이어서, 수신된 센서 데이터에 포함된 시간 코드들에 기초하여, 수신된 센서 데이터로부터 시간적으로 근접하는 센서 데이터가 추출된다. 이어서, 시간적으로 근접하는 센서 데이터에 의해 식별되는 검출된 비컨들에 적어도 기초하여, 복수의 센서 내에서 공간적으로, 시간적으로 근접하는 센서들이 식별된다. 이어서, 공간적으로, 시간적으로 근접하는 센서들 사이에 애드혹 네트워크가 구축된다.
위의 방법에 따르면, 복수의 센서 각각으로부터 센서 데이터를 수신하는 단계는 WiFi 센서, 셀룰러 전화 센서 및 블루투스 센서로부터 또는 이러한 센서 타입들의 임의의 조합으로부터 센서 데이터를 수신하는 단계를 포함할 수 있다. 복수의 센서 각각으로부터 센서 데이터를 수신하는 단계는 또한, 복수의 상이한 네트워크 또는 통신 캐리어로부터 센서 데이터를 수신하거나, 정지 및 이동 센서들 양자로부터 센서 데이터를 수신하는 단계를 포함할 수 있다.
위의 방법은 복수의 센서 내의 제1 센서와 연관된 위치 정보를 취득하는 단계, 및 복수의 센서 내의 제2 센서가 제1 센서에 공간적으로, 시간적으로 근접한다는 결정에 응답하여, 제1 센서와 연관된 위치 정보에 기초하여, 제2 센서와 연관된 위치 정보를 생성하거나 증대시키는 단계를 더 포함할 수 있다. 제1 센서와 연관된 위치 정보를 취득하는 단계는 제1 센서와 연관된 위치 정보를 제1 센서로부터 수신되는 센서 데이터의 일부로서 수신하는 단계를 포함할 수 있다. 또한, 제1 센서와 연관된 위치 정보를 취득하는 단계는 제1 센서에 공간적으로, 시간적으로 근접하는 것으로 결정되는 복수의 센서 내의 제3 센서와 연관된 위치 정보에 기초하여 제1 센서와 연관된 위치 정보를 생성하거나 증대시키는 단계를 포함할 수 있다. 위의 방법은 제1 센서 및/또는 제2 센서와 각각 연관된 위치 정보에 기초하여 제1 센서 및/또는 제2 센서와 연관된 사용자들에게 하나 이상의 위치 기반 서비스를 제공하는 단계를 더 포함할 수 있다.
복수의 센서 사이에 근접도 기반 애드혹 네트워크를 구축하기 위한 시스템도 본 명세서에 설명된다. 본 시스템은 통신 관리자 및 위치 추적 관리자를 포함한다. 통신 관리자는 복수의 센서 각각으로부터 센서 데이터를 수신하도록 구성되며, 복수의 센서 각각으로부터 수신되는 센서 데이터는 센서에 의해 검출되는 하나 이상의 비컨을 식별하고, 하나 이상의 비컨 각각이 언제 센서에 의해 각각 검출되었는지를 지시하는 하나 이상의 시간 코드를 포함한다. 위치 추적 관리자는 수신된 센서 데이터에 포함된 시간 코드들에 기초하여 수신된 센서 데이터로부터 시간적으로 근접하는 센서 데이터를 추출하고, 시간적으로 근접하는 센서 데이터에 의해 식별되는 검출된 비컨들에 적어도 기초하여 복수의 센서 내에서 공간적으로, 시간적으로 근접하는 센서들을 식별하고, 공간적으로, 시간적으로 근접하는 센서들 사이에 애드혹 네트워크를 구축하도록 구성된다.
위의 시스템에서, 복수의 센서는 WiFi 센서, 셀룰러 전화 센서 및 블루투스 센서 또는 이러한 센서 타입들의 임의 조합을 포함할 수 있다. 복수의 센서는 또한 정지 및 이동 센서들 양자를 포함할 수 있다. 또한, 통신 관리자는 복수의 상이한 네트워크 또는 통신 캐리어를 통해 복수의 센서로부터 센서 데이터를 수신하도록 구성될 수 있다.
위의 시스템의 위치 추적 관리자는 복수의 센서 내의 제1 센서와 관련된 위치 정보를 취득하고, 복수의 센서 내의 제2 센서가 제1 센서에 공간적으로, 시간적으로 근접한다는 결정에 응답하여, 제1 센서와 연관된 위치 정보에 기초하여, 제2 센서와 연관된 위치 정보를 생성하거나 증대시키도록 더 구성될 수 있다. 위치 추적 관리자는 제1 센서와 연관된 위치 정보를 제1 센서로부터 수신되는 센서 데이터의 일부로서 수신함으로써 제1 센서와 연관된 위치 정보를 취득하도록 구성될 수 있다. 위치 추적 관리자는 또한, 제1 센서에 공간적으로, 시간적으로 근접하는 것으로 결정되는 복수의 센서 내의 제3 센서와 연관된 위치 정보에 기초하여 제1 센서와 연관된 위치 정보를 생성하거나 증대시킴으로써 제1 센서와 연관된 위치 정보를 취득하도록 구성될 수 있다.
위의 시스템은 제1 센서 및/또는 제2 센서와 각각 연관된 위치 정보에 기초하여 제1 센서 및/또는 제2 센서와 연관된 사용자들에게 하나 이상의 위치 기반 서비스를 제공하도록 구성되는 매칭 관리자를 더 포함할 수 있다.
컴퓨터 프로그램 제품도 본 명세서에 설명된다. 본 컴퓨터 프로그램 제품은 처리 유닛이 근접도 기반 애드혹 네트워크를 구축할 수 있게 하기 위한 컴퓨터 프로그램 로직이 기록된 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 프로그램 로직은 제1 수단, 제2 수단, 제3 수단 및 제4 수단을 포함한다. 제1 수단은 처리 유닛이 복수의 센서 각각으로부터 센서 데이터를 수신하는 것을 가능하게 하도록 프로그래밍되며, 복수의 센서 각각으로부터 수신되는 센서 데이터는 센서에 의해 검출되는 하나 이상의 비컨을 식별하고, 하나 이상의 비컨 각각이 언제 센서에 의해 각각 검출되었는지를 지시하는 하나 이상의 시간 코드를 포함한다. 제2 수단은 처리 유닛이 수신된 센서 데이터에 포함된 시간 코드들에 기초하여 수신된 센서 데이터로부터 시간적으로 근접하는 센서 데이터를 추출하는 것을 가능하게 하도록 프로그래밍된다. 제3 수단은 처리 유닛이 시간적으로 근접하는 센서 데이터에 의해 식별되는 검출된 비컨들에 적어도 기초하여 복수의 센서 내에서 공간적으로, 시간적으로 근접하는 센서들을 식별하는 것을 가능하게 하도록 프로그래밍된다. 제4 수단은 처리 유닛이 공간적으로, 시간적으로 근접하는 센서들 사이에 애드혹 네트워크를 구축하는 것을 가능하게 하도록 프로그래밍된다.
위의 컴퓨터 프로그램 제품에서, 제1 수단은 처리 유닛이 WiFi 센서, 셀룰러 전화 센서, 블루투스 센서 또는 이러한 센서 타입들의 임의 조합으로부터 센서 데이터를 수신하는 것을 가능하게 하기 위한 수단을 포함할 수 있다. 제1 수단은 처리 유닛이 복수의 상이한 네트워크 또는 통신 캐리어로부터 센서 데이터를 수신하는 것을 가능하게 하기 위한 수단도 포함할 수 있다. 제1 수단은 처리 유닛이 정지 및 이동 센서들 양자로부터 센서 데이터를 수신하는 것을 가능하게 하기 위한 수단을 더 포함할 수 있다.
위의 컴퓨터 프로그램 제품에서, 컴퓨터 프로그램 로직은 제5 수단 및 제6 수단을 더 포함할 수 있다. 제5 수단은 처리 유닛이 복수의 센서 내의 제1 센서와 연관된 위치 정보를 취득하는 것을 가능하게 하도록 프로그래밍된다. 제6 수단은 처리 유닛이 복수의 센서 내의 제2 센서가 제1 센서에 공간적으로, 시간적으로 근접하다는 결정에 응답하여 제1 센서와 연관된 위치 정보에 기초하여 제2 센서와 연관된 위치 정보를 생성하거나 증대시키는 것을 가능하게 하도록 프로그래밍된다. 제5 수단은 처리 유닛이 제1 센서와 연관된 위치 정보를 제1 센서로부터 수신되는 센서 데이터의 일부로서 수신하는 것을 가능하게 하기 위한 수단을 포함할 수 있다. 또한, 제5 수단은 처리 유닛이 제1 센서에 공간적으로, 시간적으로 근접하는 것으로 결정되는 복수의 센서 내의 제3 센서와 연관된 위치 정보에 기초하여 제1 센서와 연관된 위치 정보를 생성하거나 증대시키는 것을 가능하게 하기 위한 수단을 포함할 수 있다.
위의 컴퓨터 프로그램 제품에서, 컴퓨터 프로그램 로직은 제7 수단을 더 포함할 수 있으며, 제7 수단은 처리 유닛이 제1 센서 및/또는 제2 센서와 각각 연관된 위치 정보에 기초하여 제1 센서 및/또는 제2 센서와 연관된 사용자들에게 하나 이상의 위치 기반 서비스를 제공하는 것을 가능하게 하도록 프로그래밍된다.
본 발명의 추가 특징들 및 이익들은 물론, 본 발명의 다양한 실시예들의 구조 및 동작이 첨부 도면들을 참조하여 아래에 상세히 설명된다. 본 발명은 여기에 설명되는 특정 실시예들로 한정되지 않는다는 점에 유의한다. 그러한 실시예들은 본 명세서에서 단지 예시의 목적으로 제공된다. 관련 분야(들)의 기술자들에게는 본 명세서에 포함되는 가르침들에 기초하여 추가 실시예들이 명백할 것이다.
본 명세서에 포함되고 명세서의 일부를 형성하는 첨부 도면들은 본 발명을 도시하며, 그 설명과 더불어 본 발명의 원리들을 설명하고, 관련 분야(들)의 기술자가 본 발명을 실시하고 이용하는 것을 가능하게 하는 데에 더 사용된다.
도 1은 본 발명의 일 실시예에 따른, 근접도 기반 애드혹 네트워크를 구축하고, 이를 이용하여 위치 기반 서비스들을 제공하기 위한 시스템의 하이 레벨 블록도이다.
도 2는 본 발명의 일 실시예에 따른 위치 기반 서비스(LBS) 전달 엔진의 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 센서가 단일 비컨의 검출과 연관된 센서 데이터를 LBS 전달 엔진으로 전송하는 시나리오의 블록도이다.
도 4는 본 발명의 일 실시예에 따른, 센서가 복수의 비컨의 검출과 연관된 센서 데이터를 LBS 전달 엔진으로 전송하는 시나리오의 블록도이다.
도 5는 본 발명의 일 실시예에 따른, 센서들 및 비컨들 양자로서 작용하는 2개의 장치/물체가 서로를 검출하고, 그러한 검출에 응답하여 센서 데이터를 LBS 전달 엔진으로 전송하는 시나리오의 블록도이다.
도 6은 도 5의 2개의 장치/물체를 더 상세히 나타내는 블록도이다.
도 7은 본 발명의 일 실시예에 따른, 하나 이상의 근접 위치하는 비컨의 감지와 연관된 센서 데이터를 보고하기 위한 예시적인 방법의 흐름도이다.
도 8은 복수의 센서가 센서 데이터를 LBS 전달 엔진에 주기적으로 보고하는 본 발명의 일 실시예에 따른 시스템의 블록도이다.
도 9는 본 발명의 일 실시예에 따른 근접도 기반 애드혹 네트워크를 구축하기 위한 방법의 흐름도이다.
도 10은 본 발명의 일 실시예에 따른, 근접도 기반 애드혹 네트워크가 어떻게 구축될 수 있는지를 나타내는 개념도이다.
도 11은 본 발명의 일 실시예에 따른, 근접도 기반 애드혹 네트워크를 이용하여, 공간적으로, 시간적으로 근접하는 센서들 사이에서 위치 정보를 전달하기 위한 방법의 흐름도이다.
도 12는 본 발명의 일 실시예에 따른, 근접도 기반 애드혹 네트워크에서 공간적으로, 시간적으로 근접하는 센서들 사이에서 위치 정보가 어떻게 전달될 수 있는지를 나타내는 개념도이다.
도 13은 전력 관리 관리자를 포함하는 본 발명의 일 실시예에 따른 LBS 전달 엔진의 블록도이다.
도 14는 본 발명의 일 실시예에 따른 전력 관리 로직을 포함하는 센서의 블록도이다.
도 15는 본 발명의 일 실시예에 따른, 근접도 기반 애드혹 네트워크에서 전력 소비를 관리하기 위한 방법의 흐름도이다.
도 16은 근접도 기반 애드혹 네트워크에서 제1 센서가 제2 센서를 통신 허브로서 이용하는 전력 관리 스킴의 블록도이다.
도 17은 시간 코드 관리자를 포함하는 본 발명의 일 실시예에 따른 LBS 전달 엔진의 블록도이다.
도 18은 본 발명의 일 실시예에 따른, 복수의 센서에 의해 생성되는 시간 코드들을 검증하고 정정하기 위한 제1 방법의 흐름도이다.
도 19는 본 발명의 일 실시예에 따른, 시간 코드 검증 및/또는 정정이 수행될 수 있는 근접도 기반 애드혹 네트워크 내의 공간적으로, 시간적으로 근접하는 센서들의 그룹의 블록도이다.
도 20은 본 발명의 일 실시예에 따른, 복수의 센서에 의해 생성되는 시간 코드들을 검증하고 정정하기 위한 제2 방법의 흐름도이다.
도 21은 데이터 공유 관리자를 포함하는 본 발명의 일 실시예에 따른 LBS 전달 엔진의 블록도이다.
도 22는 본 발명의 일 실시예에 따른, LBS 전달 엔진이 제1 센서로부터의 사용자 데이터를 복수의 근접 위치하는 센서들로 전달하는 시스템의 블록도이다.
도 23은 본 발명의 일 실시예에 따른, LBS 전달 엔진이 센서들 사이에서 데이터를 전달하는 방법의 흐름도이다.
도 24는 본 발명의 양태들을 구현하는 데 사용될 수 있는 예시적인 컴퓨터 시스템의 블록도이다.
본 발명의 특징들 및 이익들은 전반적으로 동일한 참조 문자들이 대응하는 요소들을 식별하는 도면들과 관련하여 취해질 때 아래에 기재되는 상세한 설명으로부터 더 명백해질 것이다. 도면들에서, 동일한 참조 번호들은 일반적으로 동일하고, 기능적으로 유사하고 그리고/또는 구조적으로 유사한 요소들을 지시한다. 요소가 처음 나타나는 도면은 대응하는 참조 번호 내의 가장 좌측의 숫자(들)에 의해 지시된다.
A. 예시적인 시스템 아키텍처
도 1은 근접도 기반 애드혹 네트워크를 구축하고, 이를 이용하여 위치 기반 서비스들을 제공하기 위한 본 발명의 일 실시예에 따른 예시적인 시스템(100)의 하이 레벨 블록도이다. 도 1에 도시된 바와 같이, 시스템(100)은 제1 인터페이스(122)를 통해 사용자들(108)에, 제2 인터페이스(124)를 통해 위치 기반 서비스 제공자들(110)에 그리고 제3 인터페이스(126)를 통해 센서 네트워크(104)에 통신 가능하게 접속되는 위치 기반 서비스(LBS) 전달 엔진(102)을 포함한다. 이제, 시스템(100)의 요소들 각각이 후속 섹션들에서 제공되는 추가 상세들과 더불어 간단하게 설명될 것이다.
제1 인터페이스(122)는 사용자들(108)로 하여금 그들이 LBS 전달 엔진(102)으로부터 위치 기반 서비스들을 수신하도록 "가입(opt in)"하기를 원하는지의 여부를 지정하는 목적을 위해 LBS 전달 엔진(102)과 상호작용하는 것을 허가하도록 구성된다. 제1 인터페이스(122)는 사용자로 하여금 어느 위치 기반 서비스들이 사용자에게 제공되어야 하는지를 지정하고, 그러한 서비스들이 어떻게 전달되어야 하는지에 관한 선호들을 지정하는 것을 허가하도록 더 구성될 수 있다. 제1 인터페이스(122)는 소비자로 하여금 사용자와 연관된 하나 이상의 센서 인에이블드 장치들 또는 물체들이 LBS 전달 엔진(102)에 의해 추적되는 방식에 관한 선호들을 지정하는 것을 허가하도록 더 구성될 수 있다. 본 발명의 일 실시예에서, 제1 인터페이스(122)는 사용자 시스템들/장치들이 LBS 전달 엔진(102)과 상호작용할 수 있게 하는 애플리케이션들을 구축하는 데 사용될 수 있는 애플리케이션 프로그래밍 인터페이스(API)를 포함하지만, 본 발명에 이에 한정되지 않는다.
제2 인터페이스(124)는 위치 기반 서비스 제공자들(110)이 LBS 전달 엔진(102)의 등록된 사용자들에게 위치 고유 서비스들 및/또는 콘텐츠를 제공하는 목적을 위해 LBS 전달 엔진(102)과 상호작용하는 것을 허가하도록 구성된다. 제2 인터페이스(124)는 또한 본 명세서에 더 상세히 설명되는 다른 기능들을 수행하도록 구성될 수 있다. 본 발명의 일 실시예에서, 제2 인터페이스(124)는 위치 기반 서비스 제공자들에 의해 소유되거나 조작되는 시스템들이 LBS 전달 엔진(102)과 상호작용할 수 있게 하는 애플리케이션들을 구축하는 데 사용될 수 있는 API를 포함하지만, 본 발명은 이에 한정되지 않는다.
LBS 전달 엔진(102)은 사용자들과 연관된 센서 인에이블드 장치들 및 물체들의 위치를 시간에 걸쳐 추적하고, 위치 정보를 이용하여 사용자들에 대한 위치 기반 서비스들 및 콘텐츠의 제공을 지원하도록 구성되는 시스템이다. 본 명세서에 더 상세히 설명되는 바와 같이, LBS 전달 엔진(102)은 센서 네트워크(104)를 통해 센서 인에이블드 장치들/물체들(112)로부터 센서 데이터를 수신함으로써 그리고 이 센서 데이터에 기초하여 센서 인에이블드 장치들/물체들(112) 사이에 근접도 기반 애드혹 네트워크를 구축함으로써 부분적으로 위치 추적 기능을 수행하도록 구성된다. 일 실시예에서, LBS 전달 엔진(102)에 의해 전달되는 위치 기반 서비스들 및 콘텐츠도 센서 네트워크(104)를 통해 전달되지만, 이것은 반드시 그러할 필요는 없다.
센서 인에이블드 장치들/물체들(112)은 몇 가지 예로서 핸드헬드 사용자 장치들(예를 들어, 이동 전화, 개인 휴대 단말기, 핸드헬드 컴퓨터, 매체 재생기, 핸드헬드 네비게이션 장치, 핸드헬드 스캐너), 수송 수단들(예를 들어, 자동차, 비행기, 트럭, 기차), 사무실 장비(예를 들어, 컴퓨터, 프린터, 복사기), 기구들, 목록, 화물, 소포 또는 상용 제품들을 포함하지만 이에 한정되지 않는, 감지 기술을 포함할 수 있는 임의의 장치 또는 물체를 나타내는 것을 의도한다. 감지 기술은 WiFi 감지 기술, 셀룰러 전화 감지 기술, 블루투스 감지 기술 또는 무선 주파수 식별(RFID) 감지 기술을 포함할 수 있지만, 이에 한정되지 않는다.
LBS 전달 엔진(102)과 센서 네트워크(104) 사이의 통신은 제3 인터페이스(126)를 통해 이루어진다. 본 발명의 일 실시예에서, 제3 인터페이스(126)는 센서 인에이블드 장치들/물체들(112)이 LBS 전달 엔진(102)과 통신할 수 있게 하는 애플리케이션들을 구축하는 데 사용될 수 있는 API를 포함하지만, 본 발명은 이에 한정되지 않는다.
도 2는 LBS 전달 엔진(102)을 더 상세히 도시한다. 도 2에 도시된 바와 같이, LBS 전달 엔진(102)은 사용자 인터페이스(202), LBS 제공자 인터페이스(204), 통신 관리자(206), 사용자 데이터 인터페이스(208), LBS 데이터 데이터베이스(210), 위치 추적 관리자(212), 위치 그래프(214), 매칭 관리자(216) 및 센서 로그 데이터베이스(218)를 포함하는 다수의 통신 가능하게 접속되는 요소를 포함한다. 이제, 이러한 요소들 각각이 설명될 것이다.
1. 사용자 인터페이스(202)
사용자 인터페이스(202)는 사용자로 하여금 소비자가 LBS 전달 엔진(102)으로부터 위치 기반 서비스들을 수신하고, 그러한 서비스들이 전달되는 방식에 관한 선호들을 옵션으로서 지정하기를 원하는지의 여부를 지정하는 목적을 위해 원격 위치로부터 LBS 전달 엔진(102)과 상호작용하는 것을 허가하도록 구성되는 컴포넌트이다. 사용자 인터페이스(202)는 또한, 사용자로 하여금 사용자와 연관된 하나 이상의 장치 또는 물체가 LBS 전달 엔진(102)에 의해 추적되는 방식에 관한 정보를 제공하는 것을 허가하도록 구성될 수 있다. 사용자 인터페이스(202)를 통해 사용자에 의해 제공되는 정보는 사용자 데이터 데이터베이스(208)에 저장된다. 사용자 인터페이스(202)는 웹 서비스 및 웹 서비스를 이용하기 위한 웹 API들의 표준 세트를 이용하여 구현될 수 있다. 웹 서비스 상에 구축된 웹 애플리케이션들은 LBS 전달 엔진(102)을 소유 및/또는 조작하는 엔티티에 의해 또는 다른 엔티티들에 의해 발행 수 있다. 그러한 웹 애플리케이션들은 사용자들에 의해 웹 브라우저들을 이용하여 공지된 방식으로 액세스된다.
사용자 인터페이스(202)와 상호작용하기 위해 사용자에 의해 사용되는 시스템/장치는 도 1에 도시된 센서 인에이블드 장치들(112) 중 하나 또는 소정의 다른 시스템/장치일 수 있다. 일 실시예에서, 사용자들과 사용자 인터페이스(202) 사이의 통신은 인터넷을 통해 이루어진다. 그러나, 본 발명은 이에 한정되지 않으며, 사용자들과 사용자 인터페이스(202) 사이의 통신은 광역 네트워크, 근거리 네트워크, 비공개 네트워크, 공개 네트워크, 패킷 네트워크, 회선 교환 네트워크 및 유선 또는 무선 네트워크를 포함하는 임의 타입의 네트워크 또는 네트워크들의 조합을 통해 이루어질 수 있다.
2. 사용자 데이터 데이터베이스(208)
사용자 데이터 데이터베이스(208)는 어느 위치 기반 서비스들이 특정 사용자에게 제공되어야 하는지 및 그러한 서비스들이 제공되어야 하는 방식을 결정하기 위해 LBS 전달 엔진(102)에 의해 사용되는 특정 사용자들과 연관된 데이터를 저장하도록 구성된다. 이 때문에, 사용자 데이터 데이터베이스(208)는 사용자가 이용하려고 등록한 위치 기반 서비스들의 리스트 및 이러한 서비스들이 어떻게 전달되어야 하는지에 관한 관련 사용자 선호 정보를 포함한다.
사용자 데이터 데이터베이스(208)는 또한, 장치/물체 위치(들)를 결정하고, 그러한 위치(들)에 기초하여 서비스들을 수신하는 목적을 위해 LBS 전달 엔진(102)에 의해 추적되는 하나 이상의 센서 인에이블드 장치들 또는 물체들을 식별하는 사용자 제공 정보를 저장하도록 구성된다. 사용자 데이터 데이터베이스(208)는 또한, 그러한 센서 인에이블드 장치들/물체들이 언제, 어떻게 추적되어야 하는지에 관한 사용자 선호들을 저장하도록 구성될 수 있다.
사용자 데이터 인터페이스(208)는 또한, 사용자의 식별자, 활동들, 관심들, 선호들 또는 소셜 네트워크에 관한 데이터와 같이, 사용자에 대한 위치 기반 서비스들 또는 콘텐츠의 표적화된 전달을 수행하는 데 사용될 수 있는 사용자에 관한 다른 데이터를 저장하도록 구성될 수 있다. 이러한 데이터는 (사용자 인터페이스(202) 등을 통해) 사용자에 의해 능동적으로 제공되고, 센서 네트워크(104) 또는 소정의 다른 채널을 통해 센서 인에이블드 장치들(112)로부터 수집되고, 그러한 데이터를 수집하는 소정의 다른 네트워크, 시스템 또는 데이터베이스로부터 또는 위의 것들의 임의의 조합에 의해 LBS 전달 엔진(102)에 제공될 수 있다. 이러한 타입의 사용자 데이터를 수집하기 위해 센서 네트워크를 이용하는 시스템의 일례가 일반 소유되고, 함께 계류중인 "Methods, Systems and Apparatus for Delivery of Media"라는 제목의 미국 특허 출원 번호 11/562,976에 설명되어 있으며, 이 출원의 전체는 본 명세서에 참고 문헌으로 포함된다.
3. LBS 제공자 인터페이스(204)
LBS 제공자 인터페이스(204)는 위치 기반 서비스 제공자들 및 그들의 시스템들이 사용자들에게 배포할 위치 기반 콘텐츠 또는 서비스들을 생성하거나 제공하는 것은 물론, 다른 기능들도 수행하는 목적을 위해 원격 위치로부터 LBS 전달 엔진(102)과 상호작용하는 것을 허가하도록 구성되는 컴포넌트이다. 그러한 다른 기능들은 위치 기반 콘텐츠 또는 서비스들을 사용자들에게 매칭시키는 데 사용되는 표적화 기준들의 지정을 포함할 수 있다. LBS 제공자 인터페이스(204)와의 상호작용을 통해 위치 기반 서비스 제공자에 의해 제공되는 정보는 LBS 데이터 데이터베이스(210)에 저장된다.
일 실시예에서, 위치 기반 서비스를 제공하는 데 필요한 전자 콘텐츠 및 다른 데이터는 LBS 제공자 인터페이스(204)를 통해 위치 기반 서비스 제공자에 의해 제공되거나 생성되며, LBS 데이터 데이터베이스(210)에 저장된다. 이어서, 이 데이터는 LBS 전달 엔진(102)에 의해 사용자들과 연관된 센서 인에이블드 장치들/물체들의 현재 위치에 기초하여 위치 기반 콘텐츠 또는 서비스들을 자동으로 생성하고 사용자들에게 전달하는 데에 사용될 수 있다. 예를 들어, 위치 기반 콘텐츠가 위치 고유 광고를 포함하는 경우, 이 광고는 LBS 데이터 데이터베이스(210)에 저장된 후, 사용자들이 특정 위치를 통해 또는 그 근처에서 이동 장치들을 소지할 때 그러한 사용자들에게 전달될 수 있다. 그러나, 이러한 예는 한정적인 것을 의도하지 않으며, 관련 분야(들)의 기술자들은 위치 기반 서비스들의 전달을 지원하기 위해 다양한 전자 콘텐츠 및 다른 데이터가 LBS 데이터 데이터베이스(210)에 저장될 수 있다는 것을 쉽게 알 것이다.
대안 실시예에서, 위치 기반 서비스 제공자는 LBS 전달 엔진(102)에 의해 결정되는 바와 같은 사용자들과 연관된 센서 인에이블드 장치들/물체들의 위치에 기초하여 사용자들에게 전달하기 위해 LBS 제공자 인터페이스(204)를 통해 위치 기반 콘텐츠 및 서비스들을 실시간으로 LBS 전달 엔진(102)에 제공한다. 이 경우에, LBS 전달 엔진(102)은 위치 기반 콘텐츠를 생성하거나 LBS 데이터 데이터베이스(210)로부터 위치 기반 콘텐츠에 액세스하는 것을 담당하지 않으며, 오히려 그러한 콘텐츠는 위치 기반 서비스 제공자로부터 직접 제공된다. 또 다른 실시예에서, 위치 기반 콘텐츠 및 서비스들은 위치 기반 서비스 제공자로부터 그리고 LBS 데이터 데이터베이스(210)로부터 제공되는 콘텐츠 및 데이터의 조합을 이용하여 제공될 수 있다.
이러한 방식으로 LBS 전달 엔진(102)에 의해 제공될 수 있는 위치 기반 서비스들은 개인 네비게이션 서비스, 자원 위치 결정(예를 들어, 사용자 조회에 응답하여 ATM, 의사 또는 레스토랑과 같은 로컬 비즈니스, 전문가 또는 서비스의 식별을 제공하는 것), 자원 추적(예를 들어, 소포 및 화물차와 같은 물체들의 추적), 동적 분포를 이용한 자원 추적(예를 들어, 택시들, 서비스하는 사람들, 렌탈 장비, 의사들 등의 빠른 스케줄링 및 추적), 근접도 기반 통지(예를 들어, 가스 세일의 통지, 교통 혼잡의 경고, 또는 실제의 또는 잠재적인 비즈니스 또는 사교적 접촉의 공존과 같은 경보들 또는 통지들), 위치 기반 콘텐츠 전달(예를 들어, 지방 날씨, 표적 광고 또는 쿠폰), 위치 기반 과금(예를 들어, EZ 통행 및 통행료 감시) 및 비상 서비스들을 포함하지만 이에 한정되지 않는다. 관련 분야(들)의 기술자들은 여기에 리스트되지 않은 다른 위치 기반 서비스들도 LBS 전달 엔진(102)을 이용하여 전달될 수 있다는 것을 알 것이다.
본 발명의 일 실시예에서, 위치 기반 서비스 제공자들 및 그들의 시스템들은 사전 정의된 API 상에 구축된 애플리케이션들을 이용하여 LBS 제공자 인터페이스(204)와 통신한다. 그러한 애플리케이션들은 LBS 전달 엔진(102)을 소유 및/또는 조작하는 엔티티에 의해 또는 다른 엔티티들에 의해 발행될 수 있다. 위치 기반 서비스 제공자들과 LBS 제공자 인터페이스(204) 사이의 통신은 인터넷을 통해 이루어질 수 있다. 그러나, 본 발명은 그에 한정되지 않으며, 위치 기반 서비스 제공자들과 LBS 제공자 인터페이스(204) 사이의 통신은 광역 네트워크, 근거리 네트워크, 비공개 네트워크, 공개 네트워크, 패킷 네트워크, 회선 교환 네트워크 및 유선 또는 무선 네트워크를 포함하는 임의 타입의 네트워크 또는 네트워크들의 조합을 통해 이루어질 수 있다.
4. LBS 데이터 데이터베이스(210)
전술한 바와 같이, LBS 제공자 인터페이스(204)와의 상호작용을 통해 위치 기반 서비스 제공자에 의해 제공되는 소정의 정보는 LBS 데이터 데이터베이스(210)에 저장된다. 이러한 정보는 예를 들어 LBS 전달 엔진(102)을 사용하기 위해 등록한 각각의 위치 기반 서비스 제공자에 대한 데이터는 물론, 하나 이상의 위치 기반 서비스와 관련되거나 그를 제공하는 데 필요한 전자 콘텐츠 및 기타 데이터를 포함할 수 있다.
5. 통신 관리자(206)
통신 관리자(206)는 LBS 전달 엔진(102)과, 센서 네트워크(104) 상에 상주하거나 현재 그에 접속된 센서 인에이블드 장치들/물체들(112) 사이의 모든 통신을 관리하도록 구성되는 컴포넌트이다. 통신 관리자(206)는 많은 가운데에서 특히, 센서 네트워크(104)를 통한 센서 인에이블드 장치들(112)로의 위치 기반 서비스들과 연관된 위치 기반 콘텐츠 및 기타 데이터의 전송을 수행하도록 구성된다. 통신 관리자(206)는 또한, 센서 인에이블드 장치들/물체들(112)로부터 센서 데이터를 수신하고, LBS 전달 엔진(102)에 의한 위치 추적 기능들을 수행하는 데 사용하기 위해 센서 데이터를 센서 로그 데이터베이스(218)에 저장하도록 구성된다. 구현에 따라, 통신 관리자(206)는 또한, 통신들을 실행하기 위해 제삼자 캐리어들 및 네트워크들과 연동하도록 구성될 수 있다.
6. 센서 로그 데이터베이스(218)
전술한 바와 같이, 센서 인에이블드 장치들/물체들(112)로부터 수신된 센서 데이터는 센서 로그 데이터베이스(218)에 저장된다. 이어서, 센서 데이터는 위치 추적 관리자(212)에 의해 센서 인에이블드 장치들/물체들(112)의 위치를 추적하는 데 사용되는 근접도 기반 애드혹 네트워크를 구축 및/또는 갱신하는 데에 사용된다.
본 명세서에 더 상세히 설명되는 바와 같이, 이러한 센서 데이터는 보고하는 센서 인에이블드 장치/물체(112)의 고유 식별자(ID), 보고하는 센서 인에이블드 장치/물체에 의해 감지되는 하나 이상의 비컨에 각각 대응하는 하나 이상의 고유 ID 및 하나 이상의 비컨 각각이 보고 센서 인에이블드 장치/물체에 의해 언제 각각 감지되었는지를 지시하는 하나 이상의 시간 코드를 포함할 수 있다. 센서 데이터의 일부로서 제공될 수 있는 다른 정보는 하나 이상의 비컨 각각과 연관된 신호 강도 및 보고 센서 인에이블드 장치/물체로부터 LBS 전달 시스템(102)으로의 센서 데이터의 전송 시간을 포함할 수 있다. 센서 데이터는 보고 센서 인에이블드 장치/물체와 연관된 위치 정보 또는 다른 정보와 같은 보고 센서 인에이블드 장치/물체와 관련된 메타데이터를 더 포함할 수 있다.
7. 위치 추적 관리자(212)
위치 추적 관리자(212)는 센서 로그 데이터베이스(218)로부터의 센서 데이터를 이용하여 센서 인에이블드 장치들/물체들(112)의 위치를 추적하는 데 사용되는 근접도 기반 애드혹 네트워크를 구축 및/또는 갱신하도록 구성되는 컴포넌트이다. 위치 추적 관리자(212)가 이러한 기능을 수행하도록 동작하는 방식은 아래에 상세히 설명된다. 위치 추적 관리자(212)는 센서 인에이블드 장치/물체의 현재의 상대적 또는 실제 위치를 결정한 경우에 그러한 정보를 이용하여 센서 인에이블드 장치/물체를, LBS 전달 엔진(102)에 의해 추적되는 모든 센서 인에이블드 장치들/물체들 및 그들의 현재 위치들을 나타내는 위치 그래프(214)로 맵핑한다.
8. 매칭 관리자(216)
매칭 관리자(216)는 위치 그래프(214)로부터 결정되는 바와 같은 사용자와 연관된 하나 이상의 센서 인에이블드 장치들/물체들의 현재 위치에 관한 정보를 그 사용자에게 제공되는 위치 기반 서비스에 매칭시켜, 위치 기반 서비스가 그러한 위치 정보를 고려할 수 있게 하도록 구성되는 컴포넌트이다. 매칭 관리자(216)는 사용자에게 위치 기반 콘텐츠 또는 다른 정보를 제공하도록 더 구성되며, 그러한 콘텐츠 또는 다른 정보는 센서 인에이블드 장치(들)/물체(들)의 현재 위치를 고려한다. 일 실시예에서, 매칭 관리자(216)는 LBS 데이터 데이터베이스(210)로부터 콘텐츠를 선택하거나 맞춤화하고, 이를 사용자에게 전송함으로써 그러한 기능을 수행하는 반면, 다른 실시예에서 매칭 관리자(216)는 LBS 제공자 인터페이스(204)를 통해 위치 기반 서비스 제공자로부터 콘텐츠를 수신하고 이를 사용자에게 전송함으로써 그러한 기능을 수행한다. 어느 경우에나, 사용자에 대한 임의의 결과적인 통신은 통신 관리자(206)를 통해 센서 네트워크(104) 상에서 전송된다.
매칭 관리자(216)는 또한, 위치 기반 콘텐츠 또는 다른 정보를 사용자에게 제공할지의 여부를 결정할 때 사용자에 대한 다른 정보를 고려하도록 구성될 수 있다. 이러한 정보는 예를 들어 사용자의 식별자, 활동들, 관심들, 선호들 또는 소셜 네트워크에 관한 데이터를 포함할 수 있다. 매칭 관리자(216)는 사용자 데이터 데이터베이스(208)로부터 이러한 데이터에 액세스할 수 있다.
B. 본 발명의 일 실시예에 따른 위치 추적
전술한 바와 같이, LBS 전달 엔진(102) 내의 위치 추적 관리자(212)는 복수의 센서 인에이블드 장치들 및 물체들 사이에 근접도 기반 애드혹 네트워크를 구축하여, 그러한 센서 인에이블드 장치들 및 물체들(이하, 간단히 "센서들"로서 지칭됨)의 위치를 추적한다. 특히, 위치 추적 관리자(212)는 센서들 각각으로부터 수신된 시간 코딩된 데이터를 이용하여, 하나 이상의 비컨에 대한 센서들 각각의 현재 근접도를 결정한다. 이어서, 비컨들의 유효 전송 범위들에 관한 정보를 이용함으로써, 위치 추적 관리자(212)는 복수의 센서 내의 다른 센서들에 대한 복수의 센서 각각의 상대 위치를 결정한다. 이어서, (상대적이 아니라) 실제의 위치 정보가 특정 센서에 대해 이용 가능한 경우, 이것은 특정 센서에 공간적으로, 시간적으로 근접하는 것으로 알려진 다른 센서들과 연관된 위치 정보를 생성하거나 증대시키는 데 사용될 수 있다. 이어서, 센서들 각각에 대한 현재 위치 정보는 위치 기반 서비스들을 제공하는 데 사용하기 위해 위치 그래프(214)로 맵핑된다.
도 3은 센서(302)가 단일 비컨(312)의 검출과 관련된 센서 데이터를 LBS 전달 엔진(102)으로 전송하는 시나리오의 블록도(300)이다. 도 3에 도시된 바와 같이, 센서(302)는 비컨(312)의 현재 전송 범위(314) 내로 입장하였거나 그 안에 존재하며, 따라서 비컨(312)으로부터의 전송들을 검출할 수 있다. 비컨(312)의 검출에 응답하여, 센서(302)는 센서 네트워크(104)를 통해 센서 데이터를 LBS 전달 엔진(102)으로 전송한다. 일 실시예에서, 이러한 센서 데이터는 센서(302)의 고유 ID, 비컨(312)의 고유 ID 및 비컨(312)이 센서(302)에 의해 언제 감지되었는지를 지시하는 시간 코드를 포함한다. 센서 데이터는 그러한 정보가 이용 가능한 경우에 센서(302)에 의해 검출되는 바와 같은 비컨(312)의 신호 강도, 및 센서 정보가 센서(302)로부터 LBS 전달 시스템(102)으로 언제 전송되었는지를 지시하는 시간 코드도 포함할 수 있다. 센서 데이터는 위치 정보(예를 들어, GPS 또는 소정의 다른 위치 결정 모듈에 의해 생성되는 위치 정보 또는 사용자 입력 위치 정보) 또는 센서(302)와 연관된 다른 정보와 같은 센서(302)와 연관된 메타데이터를 더 포함할 수 있다.
센서(302) 및 비컨(312)은 임의의 다양한 공지 센서 및 비컨 타입들을 포함할 수 있다. 예컨대, 센서(302)는 제1 WiFi 장치를 포함할 수 있고, 비컨(312)은 제2 WiFi 장치를 포함할 수 있으며, 제1 WiFi 장치는 공지 방식으로 제2 WiFi 장치를 검출할 수 있다. 제1 및 제2 WiFi 장치들 각각은 예를 들어 WiFi 사용자 장치 또는 액세스 포인트를 포함할 수 있다. 관련 분야(들)의 기술자들이 이해하듯이, WiFi는 IEEE 802.11 표준들의 패밀리의 주위에 구축되는 무선 네트워킹 기술을 지칭한다. 전통적인 WiFi 장치들은 통상적으로 0에서 최대 약 100미터의 전송 범위를 갖는다. 통상적인 WiFi 장치는 센서 및 비컨 양자로서 동작할 수 있으며, 따라서 비컨(312)은 다른 WiFi 장치들을 검출하고, 관련된 감지 정보를 LBS 전달 엔진(102)에 보고할 수도 있는 것이 가능하다. WiFi 장치들은 정지하거나 이동할 수 있으며, 따라서 이 경우에 센서(302) 및 비컨(312)도 정지하거나 이동할 수 있다.
다른 예로서, 센서(302)는 셀룰러 전화를 포함할 수 있고, 비컨(312)은 셀룰러 타워를 포함할 수 있으며, 셀룰러 전화는 공지 방식으로 셀룰러 타워를 검출할 수 있다. 전통적인 셀룰러 타워는 0에서 최대 약 10,000미터의 전송 범위를 갖는다. 셀룰러 전화들은 사용자에 의해 위치마다 운반될 수 있는 반면, 셀룰러 타워들은 정지해 있으며, 따라서 이 경우에 센서(302)는 비컨(312)이 정지해 있는 동안 정지하거나 이동할 수 있다.
추가 예로서, 센서(302)는 제1 블루투스 장치를 포함할 수 있고, 비컨(312)은 제2 블루투스 장치를 포함할 수 있으며, 제1 블루투스 장치는 공지 방식으로 제2 블루투스 장치를 검출할 수 있다. 관련 분야(들)의 전문가들이 이해하듯이, 블루투스는 블루투스 특수 이익 단체에 의해 개발되고 허가된 사양들에 기초하는 무선 개인 영역 네트워크들(PANs)에 대한 산업 표준을 지칭한다. 전통적인 블루투스 장치들은 통상적으로 0에서 약 10미터까지의 전송 범위를 갖는다. 통상적인 블루투스 장치는 센서 및 비컨 양자로서 동작할 수 있으며, 따라서 비컨(312)은 다른 블루투스 장치들을 검출하고, 관련된 감지 정보를 LBS 전달 엔진(102)에 보고할 수도 있는 것이 가능하다. 블루투스 장치들은 정지하거나 이동할 수 있으며, 따라서 이 경우에 센서(302) 및 비컨(312)도 정지하거나 이동할 수 있다.
아래의 표 1은 본 발명의 일 실시예에 의해 지원될 수 있는 다양한 센서 및 비컨 이동성 이용 예를 나타낸다. 구체적으로, 표 1의 각각의 엔트리는 본 발명의 일 실시예에 따라 센서 데이터를 생성하여 LBS 전달 엔진에 보고할 수 있는 센서-비컨 조합을 설명한다.
센서 및 비컨 이동성 이용 예
정지 센서가 정지 비컨을 검출한다 이동 센서가 정지 비컨을 검출한다
정지 센서가 이동 비컨을 검출한다 이동 센서가 이동 비컨을 검출한다
센서-비컨 타입에 따라, 센서(302) 및 비컨(304)과 연관된 고유 ID들은 센서(302) 및 비컨(304)과 각각 연관된 MAC 어드레스일 수 있다. 이러한 접근법은 예를 들어 센서(302) 및 비컨(304)이 WiFi 또는 블루투스 장치들일 경우에 이용될 수 있다. 그러나, 센서(302) 및 비컨(304)에 고유 ID들을 할당하는 다른 방법들이 사용될 수 있다.
도 4는 센서(402)가 복수의 비컨의 검출과 관련된 감지 정보를 LBS 전달 엔진(102)으로 전송하는 시나리오의 블록도(400)이다. 도 4에 도시된 바와 같이, 센서(402)는 제1 비컨(412)의 현재 전송 범위(414), 제2 비컨(422)의 현재 전송 범위(424) 및 제3 비컨(432)의 현재 전송 범위(434) 내로 진입하거나 그 안에 존재하며, 따라서 3개의 모든 비컨으로부터 전송들을 검출할 수 있다. 3개의 모든 비컨의 검출에 응답하여, 센서(402)는 센서 데이터를 LBS 전달 엔진(102)으로 전송한다. 일 실시예에서, 이러한 센서 데이터는 센서(402)의 고유 ID, 제1 비컨(412), 제2 비컨(422) 및 제3 비컨(432)의 각각과 연관된 고유 ID들, 및 각각의 비컨이 센서(402)에 의해 언제 각각 감지되었는지를 지시하는 시간 코드들을 포함한다. 센서 데이터는 또한, 그러한 정보가 이용 가능한 경우에 센서(402)에 의해 검출된 바와 같은 3개 비컨 각각의 신호 강도, 및 센서 정보가 센서(402)로부터 LBS 전달 시스템(102)으로 언제 전송되었는지를 지시하는 시간 코드를 포함할 수 있다. 센서 데이터는 위치 정보(예를 들어, GPS 위치 정보) 또는 센서(402)와 연관된 다른 정보와 같은 센서(402)와 연관된 메타데이터를 더 포함할 수 있다.
도 5는 센서들 및 비컨들 양자로서 동작하도록 구성되는 장치들 또는 물체들이 서로를 검출하고, 그러한 검출에 응답하여 센서 정보를 LBS 전달 엔진(102)으로 전송하는 시나리오의 블록도이다. 전술한 바와 같이, WiFi 장치들 및 블루투스 장치들은 센서들 및 비컨들 양자로서 동작할 수 있는 장치들의 예들이다.
도 5에 도시된 바와 같이, 센서/비컨(502)은 센서/비컨(504)의 현재 전송 범위 내에 입장하거나 그 안에 존재하며, 따라서 센서/비컨(504)으로부터의 전송들을 검출할 수 있다. 또한, 센서/비컨(504)은 센서/비컨(502)의 현재 전송 범위 내에 입장하거나 그 안에 존재하며, 따라서 센서/비컨(502)으로부터의 전송들을 검출할 수 있다. 센서/비컨(504)의 검출에 응답하여, 센서/비컨(502)은 센서/비컨(502)의 고유 ID, 센서/비컨(504)과 연관된 고유 ID 및 센서/비컨(504)이 센서/비컨(502)에 의해 언제 감지되었는지를 지시하는 시간 코드는 물론, 이전 예들에서 설명된 바와 같은 다른 정보도 포함하는 센서 데이터를 센서 네트워크(104)를 통해 LBS 전달 엔진(102)으로 전송한다. 또한, 센서/비컨(502)의 검출에 응답하여, 센서/비컨(504)은 센서/비컨(504)의 고유 ID, 센서/비컨(502)의 고유 ID 및 센서/비컨(502)이 센서/비컨(504)에 의해 언제 감지되었는지를 지시하는 시간 코드는 물론, 이전 예들에서 설명된 바와 같은 다른 정보도 포함하는 센서 데이터를 센서 네트워크(104)를 통해 LBS 전달 엔진(102)으로 전송한다.
도 6은 센서/비컨(502) 및 센서/비컨(504)을 더 상세히 나타내는 블록도(600)이다. 도 6에 도시된 바와 같이, 센서/비컨(502)은 네트워크 인터페이스(602), 근접도 감지 관리자(604) 및 센서 데이터 발행자(606)를 포함하는 다수의 통신 가능하게 접속된 컴포넌트를 포함한다. 네트워크 인터페이스(602)는 센서/비컨(502)이 다른 근접 위치하는 엔티티에 의한 검출을 위해 신호들을 전송하는 것은 물론, 다른 근접 위치하는 엔티티들에 의해 전송되는 신호들을 검출하는 것을 허가하도록 구성된다. 네트워크 인터페이스(602)는 또한, 센서 데이터를 센서 네트워크(104)를 통해 (도 6에 도시되지 않은) LBS 전달 엔진(102)으로 전송하고, LBS 전달 엔진(102)으로부터 위치 기반 서비스들에 관한 데이터를 수신하도록 구성된다. 대안 실시예에서는, 네트워크 인터페이스(602)가 근접도 감지에 사용되는 동안에, 추가 네트워크 인터페이스(도 6에 도시되지 않음)가 센서 네트워크(104)를 통한 LBS 전달 엔진(102)과의 통신에 사용된다.
근접도 감지 관리자(604)는 임의의 근접 위치하는 비컨들의 전송을 검출하기 위하여 네트워크 인터페이스(602)를 통해 하나 이상의 무선 채널을 스캐닝하도록 구성된다. 비컨이 검출되는 경우, 근접도 감지 관리자(604)는 (최초 수신된 비컨 전송으로부터 또는 비컨과의 메시지들의 후속 교환을 통해) 비컨과 연관된 고유 ID를 취득하며, 옵션으로서 비컨으로부터 전송들과 연관된 신호 강도를 측정하거나 취득한다. 근접도 감지 관리자(604)는 또한, 비컨이 검출된 시간을 지시하는 시간 코드를 생성하도록 구성된다. 근접도 감지 관리자(604)는 현재 감지된 비컨들의 ID들, 관련된 시간 코드들 및 (옵션으로서) 신호 강도 데이터를 센서 데이터 발행자(606)에게 제공하도록 더 구성된다. 근접도 감지 관리자(604)는 본 명세서에서 "폴링"이라고도 하는 스캐닝 기능을 주기적으로 수행하도록 구성된다. 일 실시예에서, 폴링이 수행되는 빈도는 구성 가능한 폴링 빈도 파라미터를 변경함으로써 제어될 수 있다.
구현에 따라서, 근접도 감지 관리자(604)는 또한 비컨이 감지된 채널, 비컨 타입의 지시 또는 현재 감지된 비컨의 지향성의 지시와 같은 현재 감지된 비컨들에 관한 추가 정보를 센서 데이터 발행자(606)에게 제공할 수 있다.
센서 데이터 발행자(606)는 근접도 감지 관리자(604)로부터 전술한 정보를 수신하고, LBS 전달 엔진(102)으로의 후속 전송을 위해 정보를 버퍼 내에 축적한다. 센서 데이터 발행자(606)는 정보를 LBS 전달 엔진(102)으로 전송하기 전에 정보에 추가 메타데이터를 추가할 수 있다. 이러한 추가 메타데이터는 예를 들어 센서/비컨(502)과 연관된 위치 정보를 포함할 수 있다. 그러한 위치 정보는 예를 들어 센서/비컨(502) 내의 GPS 모듈 또는 다른 위치 결정 모듈에 의해 제공되는 위치 정보를 포함할 수 있다. 대안으로서, 그러한 위치 정보는 센서/비컨(502)의 사용자 인터페이스(도 6에 도시되지 않음)를 통해 센서/비컨(502)의 사용자에 의해 제공되는 위치 정보(예를 들어, 우편 번호, 거리 번지 등)를 포함할 수 있다. 센서 데이터 발행자(606)는 축적된 센서 데이터를 LBS 전달 엔진(102)으로 주기적으로 전송하도록 구성된다. 일 실시예에서, 그러한 보고가 수행되는 빈도는 구성 가능한 보고 빈도 파라미터를 변경함으로써 제어될 수 있다.
센서/비컨(502)과 마찬가지로, 센서/비컨(504)도 네트워크 인터페이스(612), 근접도 감지 관리자(614) 및 센서 데이터 발행자(616)를 포함하는 다수의 통신 가능하게 접속된 컴포넌트를 포함한다. 이들 컴포넌트는 센서/비컨(502)과 관련하여 전술한 바와 같은 네트워크 인터페이스(602), 근접도 감지 관리자(604) 및 센서 데이터 발행자(606)와 유사한 기능들을 수행한다.
도 6은 각자가 나머지 센서/비컨을 감지할 수 있는 2개의 센서/비컨(502, 504)을 도시하지만, 그러한 근접도 감지는 양방향일 필요는 없다는 점에 유의한다. 즉, 대안 실시예들에서는, 센서/비컨(502)이 센서/비컨(504)을 검출할 수 있거나, 센서/비컨(504)이 센서/비컨(502)을 검출할 수 있지만, 둘 다는 아니다. 각각의 센서/비컨(502, 504)에 의해 수행되는 바와 같은 전술한 근접도 감지 및 센서 데이터 보고의 기능들은 이롭게도 다른 장치와의 짝짓기 없이도 수행될 수 있다.
도 7은 하나 이상의 근접 위치하는 비컨의 감지와 연관된 센서 데이터를 보고하기 위한 본 발명의 일 실시예에 따른 예시적인 방법의 흐름도(700)를 나타낸다. 흐름도(700)의 방법은 여기에 설명되는 다양한 타입의 센서들 및 센서/비컨들 중 어느 하나를 포함하지만 이에 한정되지 않는 임의 타입의 센서 또는 센서/비컨에 의해 수행될 수 있으며, 따라서 특정 구조 또는 구현으로 한정되지 않아야 한다.
도 7에 도시된 바와 같이, 흐름도(700)의 방법은 센서가 하나 이상의 근접 위치하는 비컨을 검출하는 단계 702에서 시작된다. 단계 702는 전술한 바와 같은 센서에 의한 주기적 폴링 기능의 수행에 응답하여 이루어질 수 있다. 단계 704에서, 센서는 하나 이상의 근접 위치하는 비컨 각각과 연관된 하나 이상의 고유 ID들을 각각 취득한다. 단계 704는 하나 이상의 근접 위치하는 비컨 각각과 연관된 신호 강도, 각각이 채널이 감지된 채널, 각각의 비컨 타입의 지시, 또는 각각의 현재 감지된 비컨의 지향성의 지시를 포함하지만 이에 한정되지 않는 하나 이상의 근접 위치하는 비컨과 관련된 다른 정보를 취득하는 단계도 포함할 수 있다. 단계 706에서, 센서는 근접 위치하는 비컨들 각각이 검출된 시간을 지시하는 하나 이상의 시간 코드를 생성한다. 단계 708에서, 옵션으로서 센서는 전술한 센서 데이터에 (센서 생성 또는 사용자 제공 위치 데이터를 포함하지만 이에 한정되지 않는) 메타데이터를 추가한다. 단계 710에서, 센서는 센서의 고유 ID, 근접 위치하는 비컨(들)과 관련된 고유 ID(들) 및 다른 정보, 시간 코드들 및 메타데이터를 LBS 전달 엔진으로 전송한다. 단계 710은 전술한 바와 같은 센서에 의한 주기적 보고 기능의 수행에 응답하여 이루어질 수 있다.
따라서, 본 발명의 일 실시예에 따르면, (비컨으로도 동작하는 센서들을 포함하는) 다수의 센서가 센서 데이터를 LBS 전달 엔진(102)에 제공하며, 그러한 센서 데이터는 각각의 센서 및 센서/비컨에 의해 현재 검출될 수 있는 비컨들을 식별한다. 이것은 복수의 센서(802)("S"로 표시된 박스들로서 도시됨)를 나타내는 도 8에 도시되어 있으며, 각각의 센서는 센서 데이터를 센서 네트워크(104)를 통해 LBS 전달 엔진(102)에 보고한다. LBS 전달 엔진(102)은 그러한 센서 데이터를 이용하여, 복수의 센서(802) 내의 각각의 센서의 복수의 센서(802) 내의 다른 센서들에 대한 상대 위치를 결정하고, 그러한 상대 위치 정보에 기초하여 복수의 센서(802) 사이에 근접도 기반 애드혹 네트워크를 구축한다. LBS 전달 엔진(102)은 이롭게도 다양한 상이한 센서 타입(예를 들어, WiFi, 셀룰러 또는 블루투스)으로부터 그리고 상이한 네트워크들 또는 통신 캐리어들과 관련된 센서들로부터 센서 데이터를 취득함으로써 그러한 기능을 수행할 수 있다.
이제, LBS 전달 엔진(102)이 센서 데이터에 기초하여 근접도 기반 애드혹 네트워크를 구축하도록 동작하는 방식이 도 9의 흐름도(900)를 참조하여 설명된다. 도 9에 도시된 바와 같이, 본 방법은 통신 관리자(206)가 복수의 센서로부터 센서 데이터를 수신하는 단계 902에서 시작되며, 복수의 센서 각각으로부터 수신되는 센서 데이터는 적어도 센서와 연관된 고유 ID, 센서에 의해 검출되는 하나 이상의 비컨과 각각 연관된 하나 이상의 고유 ID 및 하나 이상의 비컨 각각이 센서에 의해 언제 각각 검출되었는지를 지시하는 하나 이상의 시간 코드를 포함한다. 통신 관리자(206)는 이러한 센서 데이터를 센서 로그 데이터베이스(218)에 저장하며, 이 데이터베이스는 위치 추적 관리자(212)에 의해 액세스 가능하다.
단계 904에서, 위치 추적 관리자(212)는 센서 로그 데이터베이스(218)에 액세스하고, 단계 902에서 수신된 센서 데이터로부터 시간적으로 근접하는 센서 데이터를 추출한다. 위치 추적 관리자(212)는 고유 검출 시간 또는 검출 기간에 대응하는 센서 데이터를 추출함으로써 그러한 기능을 수행한다. 고유 검출 시간 또는 검출 기간에 대응하는 센서 데이터를 식별함으로써, 위치 추적 관리자(212)는 특정 시간 예 또는 특정 시간 윈도에 대응하는 수신된 센서 데이터의 서브세트를 취득할 수 있다. 일 실시예에서, 이 단계는 센서 데이터의 각각의 세트와 연관된 시간 코드들을 분석함으로써 수행되며, 각각의 시간 코드는 특정 비컨이 특정 센서에 의해 식별된 시간을 지시한다. 시간 코드들은 지방 센서 시간을 이용하는 센서들에 의해 생성될 수 있으므로, 이 단계는 시간 코드들을 정규화하는 단계도 포함할 수 있다. 시간 코드들의 정규화는 예를 들어 시간 코드들의 각각을 시스템 시간으로 변환하는 단계를 포함할 수 있다.
단계 906에서, 위치 추적 관리자(212)는 시간적으로 근접하는 센서 데이터에 의해 식별되는 검출된 비컨들에 기초하여 복수의 센서 내의 공간적으로, 시간적으로 근접하는 센서들을 식별한다. 이 단계는 예를 들어 각각의 센서에 의해 동시에 또는 동일 기간 동안에 검출된 비컨들을 비교하여, 어느 센서들이 서로 근접해 있는지를 결정하는 단계를 포함할 수 있다. 예를 들어, 2개의 센서가 동시에 또는 동일 기간 동안에 동일 비컨을 검출하는 경우, 2개의 센서는 시간적으로, 공간적으로 근접하는 것으로 추정될 수 있다. 다른 예로서, 비컨으로도 동작할 수 있는 2개의 센서가 동시에 또는 동일 기간 동안에 서로를 검출하는 경우, 2개의 센서는 시간적으로, 공간적으로 근접하는 것으로 추정될 수 있다.
단계 906의 기능을 수행하기 위해 위치 추적 관리자(212)에 의해 시간적으로 근접하는 센서 데이터가 분석되는 방식은 구현 및 각각의 센서에 대해 이용 가능한 센서 데이터의 양에 따라 다를 수 있다. 예를 들어, 위치 추적 관리자(212)에 의해 수행되는 분석은 센서들이 시간적으로, 공간적으로 근접하는지를 결정할 때 각각의 검출된 비컨과 연관된 신호 강도, 비컨 타입 또는 각각의 검출된 비컨과 연관된 지향성의 지시와 같은 센서 데이터의 일부로서 제공되는 다른 정보를 고려할 수 있다. 시간 및 공간 근접도를 결정할 때, 위치 추적 관리자(212)는 소정의 비컨 타입들과 연관된 최대 전송 범위들에 관한 공지된 정보도 이용할 수 있다.
단계 908에서, 위치 추적 관리자(212)는 공간적으로, 시간적으로 근접하는 센서들 사이에 애드혹 네트워크를 구축하거나 갱신한다. 애드혹 네트워크는 네트워크에 포함되는 센서들이 서로 물리적으로 접속되는 것이 아니라, 위치 추적 관리자(212)에 의해 식별되고 유지되는 공간적, 시간적 관계들에 의해 서로 논리적으로 접속된다는 점에서 가상적인 것으로 간주할 수 있다.
도 10은 그러한 애드혹 네트워크가 어떻게 구축될 수 있는지를 나타내는 개념도(1000)이다. 이 도면을 참조하면, 위치 추적 관리자(212)는 센서(1002)가 주어진 시점에서 또는 주어진 기간 동안에 센서들(1004, 1006, 1008)에 공간적으로 근접하는 것으로 결정한 것으로 가정한다. 이러한 관계는 도 10에 도시된 바와 같이 그러한 센서들을 연결하는 점선들에 의해 표현된다. 또한, 위치 추적 관리자는 센서들(1004, 1006, 1008) 각각이 또한 동일 시점에 또는 동일 기간 동안에 (센서(1002)가 접속되지 않은) 복수의 다른 센서에 공간적으로 근접하는 것으로 더 결정한 것으로 가정한다. 이어서, 이러한 관계들도 도 10에 도시된 바와 같이 그러한 센서들을 센서들의 추가 세트들에 연결하는 점선들에 의해 표현될 수 있다.
이어서, 도 10의 관계들을 분석함으로써, 센서(1002)도 센서들(1004, 1006, 1008)이 아닌 추가 수의 센서들(즉, 임의의 센서들(1012, 1014, 1016, 1018, 1020, 1022, 1024, 1026, 1028))에 공간적으로, 시간적으로 근접할 수 있다는 것을 알 수 있다. 본 발명의 일 실시예에서, 위치 추적 관리자(212)는 그러한 센서들 각각에 의해 검출된 비컨들의 전송 범위들에 관한 정보(및 이용 가능한 경우에 비컨 신호 강도와 같은 다른 정보)를 이용하여, 센서(1002)와 그가 센서들(1004, 1006, 1008)에 대한 그의 접속들에 의해서만 접속되는 센서들 사이의 거리를 추정할 수 있다. 전술한 분석은 센서(1002)로부터 훨씬 더 떨어진 센서들을 식별하고 센서(1002)와 그러한 센서들 사이의 거리를 추정하기 위해 반복될 수 있다. 이러한 분석을 센서(1002) 및 다른 센서들에 적용함으로써, 전체 애드혹 네트워크가 논리적으로 구축될 수 있다.
애드혹 네트워크가 구축된 경우(또는 애드혹 네트워크의 하나의 버전이 더 최신의 버전을 생성하도록 변경되는 경우에 갱신된 경우), 위치 추적 관리자(212)는 이롭게도 애드혹 네트워크를 이용하여, 공간적으로, 시간적으로 근접하는 센서들 사이에 위치 정보를 전파할 수 있다. 이제, 이러한 특징이 도 11의 흐름도(1100)를 참조하여 설명된다.
도 11에 도시된 바와 같이, 흐름도(1100)의 방법은 위치 추적 관리자(212)가 근접도 기반 애드혹 네트워크 내에 표현되는 복수의 센서 내의 제1 센서와 연관된 위치 정보를 취득하는 단계 1102에서 시작된다. 제1 센서와 연관된 위치 정보는 제1 센서에 의해 LBS 전달 시스템(102)으로 전송되는 센서 데이터와 함께 제공되는 제1 센서의 실제 위치의 추정치 또는 지시를 포함할 수 있다. 이러한 제1 센서의 실제 위치의 추정치 또는 지시는 GPS 위치 결정 모듈 또는 서비스, WiFi 기반 위치 결정 모듈 또는 서비스, 셀룰러 전화 기반 위치 결정 모듈 또는 서비스 또는 블루투스 기반 위치 결정 모듈 또는 서비스와 같은, 그러나 그에 한정되지 않는, 제1 센서 상에 존재하는 위치 결정 모듈 또는 서비스에 의해 생성될 수 있다. 이러한 제1 센서의 실제 위치의 추정치 또는 지시는 제1 센서의 사용자 인터페이스를 통해 제1 센서의 사용자에 의해서도 제공될 수 있다. 예컨대, 제1 센서의 실제 위치의 추정치 또는 지시는 제1 센서의 사용자에 의해 제공되는 우편 번호 또는 거리 번지일 수 있다.
대안으로서, 위치 추적 관리자(212)는 제1 센서에 공간적으로, 시간적으로 근접하는 것으로 결정된 복수의 센서 내의 하나 이상의 다른 센서와 연관된 위치 정보에 기초하여 제1 센서와 연관된 위치 정보를 생성하거나 증대시킴으로써 제1 센서와 연관된 위치 정보를 취득할 수 있다. 즉, 제1 센서와 연관된 위치 정보는 하나 이상의 다른 공간적으로, 시간적으로 근접하는 센서들로부터 제1 센서로 전송될 수 있다.
또 다른 예로서, 위치 추적 관리자(212)는 제1 센서에 의해 사용되는 네트워크 게이트웨이와 연관된 위치 정보에 액세스함으로써 제1 센서와 연관된 위치 정보를 취득할 수 있다. 예를 들어, 관련 분야(들)의 기술자들이 아는 바와 같이, 지리 코딩된 네트워크 게이트웨이들과 연관된 IP 어드레스들이 대응하는 지리 영역들에 맵핑될 수 있다.
더구나, 위치 추적 관리자(212)는 제1 센서의 위치를 복수의 비컨에 대한 그의 근접도에 의해 계산함으로써 제1 센서와 연관된 위치 정보를 취득할 수 있다. 예를 들어, 삼각법을 이용하여, 제1 센서의 위치를 복수의 비컨에 대한 그의 근접도에 의해 계산할 수 있다. 제1 센서의 비컨들 각각에 대한 근접도는 제1 센서에 의해 또는 제1 센서에 공간적으로, 시간적으로 근접하는 것으로 결정된 하나 이상의 센서에 의해 제공되는 센서 데이터에 기초하여 결정될 수 있다.
단계 1104에서, 위치 추적 관리자(212)는 제1 센서에 공간적으로, 시간적으로 근접하는 복수의 센서 내의 제2 센서를 식별한다. 위치 추적 관리자(212)가 공간적으로, 시간적으로 근접하는 센서들을 식별할 수 있는 하나의 방식은 도 9의 흐름도(900)를 참조하여 위에서 설명되었다.
단계 1106에서, 위치 추적 관리자(212)는 제1 센서와 연관된 위치 정보에 기초하여 제2 센서와 연관된 위치 정보를 생성하거나 증대시킨다. 위치 추적 관리자(212)는 예를 들어 제1 센서의 실제 위치의 추정치 또는 지시를 제2 센서의 실제 위치의 추정치 또는 지시로서 사용함으로써 이 단계를 수행할 수 있다. 예를 들어, 이전에 우편 번호가 제1 센서와 연관된 경우, 위치 추적 관리자(212)는 2개의 센서의 공간적, 시간적 근접도에 기초하여 우편 번호를 제2 센서와 연관시킬 수도 있다. 이와 동일한 접근법은 예를 들어 제1 장치와 연관된 위치의 지리 좌표들, 거리 번지 또는 임의의 다른 표현을 제2 장치에 할당하는 데 이용될 수 있다.
위치 추적 관리자(212)는 또한, 제1 센서의 실제 위치의 추정치 또는 지시를 오프셋만큼 변경함으로써 단계 1106을 수행할 수 있고, 여기서 오프셋은 두 센서들 간의 거리를 나타내는 것으로 의도된다. 예컨대, 위치 추적 관리자(212)는 제1 센서와 제2 센서 사이의 추정된 상대적 거리를 설명하도록 제1 센서의 위치를 표현하는 지리 좌표들을 변경할 수 있다. 전술한 바와 같이, 센서들 사이의 상대적 거리는 근접도 기반 애드혹 네트워크 내의 복수의 센서에 의해 제공되는 비컨 ID들, 비컨 타입들 및 신호 강도들과 같은 센서 데이터를 이용하여 결정될 수 있다.
위치 추적 관리자(212)는 제1 센서와 연관된 위치 정보에 기초하여 제2 센서와 이전에 연관된 위치 정보를 증대시킴으로써 단계 1106을 수행할 수도 있다. 예를 들어, 제2 센서와 이전에 연관된 위치 정보는 제한되거나, 제1 센서와 연관된 위치 정보와 동일한 입도가 결여될 수 있다. 이 경우에, 위치 추적 관리자(212)는 제1 센서와 연관된 위치 정보를 이용하여, 제2 센서와 연관된 위치 정보를 더 완전하게 하거나 입자화할 수 있다. 따라서, 본 발명의 일 실시예는 복수의 공간적으로, 시간적으로 근접하는 센서들로부터의 위치 정보를 결합하여, 정교한 위치 정보를 생성할 수 있다.
위치 추적 관리자(212)가 단계 1106을 수행할 수 있는 방식의 위의 예들은 단지 예시적으로 제공되었으며, 본 발명을 한정하는 것을 의도하지 않는다. 관련 분야(들)의 기술자들은 제1 센서와 연관된 위치 정보에 기초하여 제2 센서와 연관된 위치 정보를 생성하거나 증대시키기 위하여 다른 방법들이 이용될 수 있다는 것을 쉽게 알 것이다.
도 12는 근접도 기반 애드혹 네트워크 내의 공간적으로, 시간적으로 근접하는 센서들 사이에서 어떻게 위치 정보가 전파될 수 있는지를 나타내는 개념도(1200)이다. 도 12는 도 10에 도시된 근접도 기반 애드혹 네트워크의 동일 부분을 나타낸다. 그러나, 도 12는 또한 센서(1002)와 연관된 위치 정보가 그들의 공지된 공간적, 시간적 근접도에 의해 센서(1006)로 전송될 수 있다는 것을 보여준다. 이러한 위치 정보의 전송은 센서(1006)와 연관된 새로운 위치 정보의 생성 또는 센서(1006)와 연관된 기존 위치 정보의 증대를 포함할 수 있다. 이어서, 센서(1006)와 연관된 새로운 또는 증대된 위치 정보는 그들의 공지된 공간적, 시간적 근접도에 의해 센서들(1016, 1018)로 더 전송될 수 있다. 더구나, 센서(1002)와 관련된 위치 정보 자체는 공간적으로, 시간적으로 근접하는 센서(1010)로부터 전송되었을 수 있다.
실제 위치 정보가 애드혹 네트워크 내의 다수의 공간적으로, 시간적으로 근접하는 센서들에 대해 이용 가능한 경우, 본 발명의 일 실시예는 이롭게도 주변의 센서들 사이에 전송하기 위해 최상의 이용 가능한 위치 정보를 선택할 수 있다. 무엇이 최상의 이용 가능한 위치 정보를 구성하는지에 대한 결정은 예를 들어 위치 정보의 입도 또는 위치 정보의 정확도의 소정의 다른 지시들에 기초할 수 있다. 그러한 다른 지시들은 위치 정보를 보고한 센서의 타입, 위치 정보가 보고된 조건들, 동일 센서로부터 이전에 보고된 위치 정보의 정확도, 또는 다른 공간적으로, 시간적으로 근접하는 센서들과 비교할 때, 특정 센서에 의해 보고되는 위치 정보 사이의 유사성 또는 차이를 포함할 수 있다.
더구나, 실제 위치 정보가 애드혹 네트워크 내의 다수의 공간적으로, 시간적으로 근접하는 센서들에 대해 이용 가능한 경우에, 본 발명의 일 실시예는 이롭게도 실제 위치 정보의 다수의 예를 이용하여 나쁜 센서 판독들을 검출할 수 있다. 예를 들어, 공간적으로, 시간적으로 근접하는 센서들의 그룹의 대다수가 제1 위치 또는 영역에 대응하는 실제 위치 정보를 보고하고 있고, 동일 그룹의 소수가 제1 영역으로부터 지리적으로 먼 제2 위치 또는 영역에 대응하는 실제 위치 정보를 보고하고 있는 경우에, 본 발명의 일 실시예는 소수에 의해 보고되고 있는 실제 위치 정보가 부정확한 것으로 결정할 수 있다. 이러한 실시예는 또한 주위의 센서들에 의해 제공되는 양호한 위치 정보에 기초하여 추정된 위치로 나쁜 위치 정보를 정정하거나 무시하도록 시도할 수 있다.
이어서, 위치 추적 관리자(212)가 전술한 바와 같이 근접도 기반 애드혹 네트워크를 생성/갱신하였고, 그 네트워크의 센서들 사이에 실제 위치 정보를 전파한 경우에, 위치 추적 관리자(212)는 센서들 각각을 위치 그래프(214)로 맵핑하며, 이 그래프는 LBS 전달 엔진(102)에 의해 현재 추적되고 있는 모든 센서들 및 이들의 현재의 상대적 또는 실제 위치들을 나타낸다. 이어서, 매칭 관리자(216)는 위치 그래프(214)를 이용하여, 전술한 방식으로 위치 기반 서비스들의 전달을 가능하게 한다.
전술한 위치 추적의 접근법은 다수의 이유에서 유리하다. 예컨대, 전술한 접근법은 정교한 위치 기반 서비스들이 다수의 네트워크, 캐리어, 신호 타입 및 프로토콜에 걸쳐 사용자들에게 전달되는 것을 가능하게 한다. 전술한 바와 같이, 이것은 위치 정보의 다수의 소스 및 포맷을 센서들의 실시간 그래프 또는 메쉬(mesh)로 통합하는 데 이용될 수 있다. 이것은 또한 단일 근접도 기반 애드혹 네트워크를 통해 다수의 발산 입도의 위치 기반 서비스들을 전달하는 데 이용될 수 있다.
더구나, 전술한 접근법은 공간적으로, 시간적으로 근접하는 센서들 사이의 위치 정보의 전송을 이용하므로, 이용 가능한 위치 정보의 값을 최적화하며, 애드혹 네트워크 내의 모든 센서가 센서 타입에 관계없이 높은 정확도로 배치될 수 있게 한다. 이러한 접근법은 또한 상이한 정보 사일로들 사이에 지금까지 확산된 데이터가 위치 메타데이터 분석 및 최적화를 통해 단일 데이터베이스 내에 재생성되는 것을 허가하여, 정보 병목들 및 게이트-키퍼들(gate-keepers)을 최소화한다.
또한, 본 발명의 일 실시예에 따르면, 사용자 장치들은 사용자와 연계될 때만 관련되는 간단한 덤(dumb) 단말기들로서가 아니라, 반복되는 최적화된 위치 추적 모델을 생성하기 위한 센서들 및 비컨들로서 사용될 수 있다.
C. 본 발명의 일 실시예에 따른 근접도 기반 애드혹 네트워크들에 대한 전력 관리
전술한 바와 같이, 본 발명의 일 실시예에서, LBS 전달 엔진(102)에 센서 데이터를 제공하는 센서들은 센서 인에이블드 이동 장치들 또는 물체들을 포함할 수 있다. 통상적으로, 이러한 이동 센서들은 전력에 대한 제한된 액세스를 갖는다. 예를 들어, 이러한 이동 센서들은 이동성을 촉진하기 위하여 배터리들 또는 소정의 다른 제한된 전원에 의존할 수 있다.
일반적으로, LBS 전달 엔진(102)은 센서들에 의한 센서 데이터의 빈번한 수집 및 보고로부터 이익을 얻는데, 그 이유는 이것이 LBS 전달 엔진(102)으로 하여금 더 최신의 근접도 기반 애드혹 네트워크를 구축하거나 유지하는 것을 가능하게 하여, 보다 양호한 위치 추적을 용이하게 하기 때문이다. 그러나, 센서 데이터의 수집 및 보고는 전술한 바와 같이 제한될 수 있는 센서 전력을 소비한다. 센서가 전력을 다 소비한 경우, 센서는 센서 데이터를 LBS 전달 엔진(102)에 제공할 수 없을 것이며, 이는 LBS 전달 엔진(102)이 그의 위치 추적 기능을 수행하는 능력을 제한할 것이다. 더구나, 센서가 또한 사용자 장치인 경우, 센서가 전력을 다 소비한 때, 센서는 사용자를 위한 임의의 다른 기능들을 수행하지 못할 것이며, 이는 사용자 관점에서 바람직하지 못하다.
따라서, LBS 전달 엔진(102)에 의한 센서 데이터의 빈번한 수집 및 보고에 대한 필요가 어떻게든지 하여 근접도 기반 애드혹 네트워크 내의 각각의 센서의 전력 요구들 및 제한들과 균형을 이룰 수 있는 것이 유리할 것이다.
도 13은 위의 문제를 해결하는 LBS 전달 엔진(1300)의 블록도이다. 구체적으로, 그리고 본 명세서에 더 상세히 설명되는 바와 같이, LBS 전달 엔진(1300)은 근접도 기반 애드혹 네트워크 내의 공간적으로, 시간적으로 근접하는 센서들의 전력 요구들 및 제한들에 관한 정보를 이용하여, 센서, 그룹 또는 네트워크 레벨에서의 전력 소비에 관한 결정들을 행한다. 애드혹 네트워크 내의 센서들의 위치 및 전력 상태를 계속 모니터링함으로써, LBS 전달 엔진(1300)은 각각의 센서가 센서 데이터를 수집하고 보고하는 방식을 동적으로, 적응적으로 변경함으로써 갱신된 센서 데이터에 대한 필요와 센서 및 사용자 전력 요구들 양자를 균형화한다.
도 13에 도시된 바와 같이, LBS 전달 엔진(1300)은 사용자 인터페이스(1302), LBS 제공자 인터페이스(1304), 통신 관리자(1306), 사용자 데이터 데이터베이스(1308), LBS 데이터 데이터베이스(1310), 위치 추적 관리자(1312), 위치 그래프(1314), 매칭 관리자(1316) 및 센서 로그 데이터베이스(1318)를 포함하는 다수의 통신 가능하게 접속되는 요소를 포함한다. 바로 아래에 설명되는 소정의 기능들은 예외로 하고, 이러한 요소들 각각은 LBS 전달 엔진(102)의 동일 명칭의 요소들을 참조하여 전술한 것과 본질적으로 동일한 기능들을 수행한다.
도 13에 또한 도시된 바와 같이, LBS 전달 엔진은 전력 관리 관리자(1320)를 더 포함한다. 전력 관리 관리자(1320)는 센서 데이터를 LBS 전달 엔진(1300)에 현재 보고하고 있는 복수의 센서 각각과 연관된 전력 상태 정보를 취득하도록 구성된다. 이러한 전력 상태 정보는 복수의 센서 각각에 의해 센서 네트워크(104)를 통해 보고된다. 일 실시예에서, 전력 상태 정보는 각각의 센서에 의해 LBS 전달 엔진(1300)으로 전송되는 센서 데이터의 일부로서 또는 그와 함께 전송되며, 통신 관리자(1306)에 의해 센서 로그 데이터베이스(1318)에 저장된다. 센서에 대한 전력 상태 정보는 센서가 이용 가능한 전력의 현재 또는 예상되는 양의 정도 및/또는 센서에 의해 요구되는 전력의 현재 또는 예상되는 양의 정도를 포함할 수 있지만, 이에 한정되지 않는다.
전력 관리 관리자(1320)는 위치 추적 관리자(1312)에 의해 유지되는 위치 그래프(1314)로부터 센서 데이터를 LBS 전달 엔진(1300)에 현재 보고하고 있는 센서들의 공간적, 시간적 근접도에 관한 정보를 취득하도록 더 구성된다. 위치 추적 관리자(1312)는 LBS 전달 엔진(102)의 위치 추적 관리자(112) 및 위치 그래프(114)와 관련하여 전술한 바와 동일한 방식으로 위치 그래프(1314)를 구축하고 유지하도록 구성되며, 따라서 그러한 프로세스에 대한 추가 설명은 제공될 필요가 없다.
전력 관리 관리자(1320)는 센서 데이터를 LBS 전달 엔진(1300)에 현재 보고하고 있는 복수의 센서 각각과 연관된 근접도 및 전력 상태 정보 양자를 이용하여, 그러한 센서들에 관한 전력 관리 결정들을 행하도록 더 구성된다. 이러한 전력 관리 결정들이 행해지는 방식은 아래에 더 상세히 설명될 것이다. 전력 관리 관리자(1320)는 센서들 중 하나 이상이 센서 데이터를 수집하고 보고하는 방식을 동적으로, 적응적으로 제어함으로써 전력 관리 결정들을 구현할 수 있다. 전력 관리 관리자(1320)는 통신 관리자(1306)를 통해 센서 네트워크(104) 상에서 하나 이상의 센서 각각에 구성 명령들을 전송함으로써 그러한 센서 기능들을 제어하도록 구성된다.
도 14는 본 발명의 일 실시예에 따른, 전력 상태 정보를 LBS 전달 엔진(1300)에 보고하고, LBS 전달 엔진(1300)으로부터 전력 관리에 관한 구성 명령들을 수신하도록 구성되는 예시적인 센서(1400)의 블록도이다. 도 14에 도시된 바와 같이, 센서(1400)는 네트워크 인터페이스(1402), 근접도 감지 관리자(1404) 및 센서 데이터 발행자(1406)를 포함하는 다수의 통신 가능하게 접속된 컴포넌트를 포함한다. 바로 아래에 설명될 소정의 기능들은 예외로 하고, 이러한 요소들 각각은 도 6에 도시된 바와 같은 센서/비컨(502) 또는 센서/비컨(504)의 동일 명칭의 요소들과 관련하여 전술한 바와 본질적으로 동일한 기능들을 수행할 수 있다.
도 14에 도시된 바와 같이, 센서(1400)는 전력 관리 로직(1408)을 또한 포함한다. 전력 관리 로직(1408)은 센서(1400)와 연관된 전력 상태 정보를 LBS 전달 엔진(1406)으로의 전송을 위해 센서 데이터 발행자(1406)에 제공하도록 구성된다. 일 실시예에서, 센서 데이터 발행자(1406)는 전력 상태 정보를, 센서 데이터 발행자(1406)가 LBS 전달 엔진(1400)에 주기적으로 전송하는 다른 센서 데이터의 일부로서 또는 그와 함께 포함한다. 대안 실시예에서, 센서 데이터 발행자(1406)는 전력 상태 정보를 그러한 센서 데이터와 별개로 전송한다. 구현에 따라, 센서 데이터 발행자(1406)는 그가 다른 센서 데이터를 전송하는 빈도와 동일한 빈도로 또는 상이한 빈도로 전력 상태 정보를 전송할 수 있다. 센서 데이터 발행자(1406)는 또한 전력 상태 정보가 언제 생성되었는지를 지시하는 시간 코드와 함께 전력 상태 정보를 전송할 수 있다.
전력 관리 로직(1408)은 또한, 센서 네트워크(104)를 통해 LBS 전달 엔진(1300)으로부터 수신되는 구성 명령들에 응답하여 소정의 전력 소비 기능들이 센서(1400)에 의해 수행되는 방식을 변경하도록 구성된다. 구성 명령들은 네트워크 인터페이스(1402)에 의해 수신된 후에, 처리를 위해 전력 관리 로직(1408)으로 전달된다.
본 명세서에 더 상세히 설명되는 바와 같이, 구성 명령들의 처리에 응답하여, 전력 관리 로직(1408)은 센서(1400)가 센서 데이터를 LBS 전달 엔진(1300)에 제공하는 방식을 변경할 수 있다. 구성 명령들의 처리에 응답하여, 전력 관리 로직(1408)은 또한 센서(1400)가 비컨 기능을 포함하는 경우에 센서(1400)가 비컨으로서 동작하는 방식을 변경하거나, 센서(1400)가 위치 결정 로직을 포함하는 경우에 센서(1400)가 위치 결정 정보의 보고를 중지하게 할 수 있다.
이제, LBS 전달 엔진(1300)이 근접도 기반 애드혹 네트워크 내의 복수의 센서(센서(1400) 등) 사이의 전력 소비를 관리하는 방식이 도 15의 흐름도(1500)를 참조하여 설명된다. 흐름도(1500)의 단계들은 LBS 전달 엔진(1300) 및 센서(1400)의 컴포넌트들을 계속 참조하여 설명되지만, 관련 분야(들)의 전문가들은 본 방법이 그러한 구현들로 한정되지 않으며, 본 방법을 수행하기 위해 다른 수단들이 사용될 수 있다는 것을 쉽게 알 것이다.
도 15에 도시된 바와 같이, 흐름도(1500)의 방법은 통신 관리자(1306)가 복수의 센서로부터 제공되는 센서 데이터를 수신하는 단계 1502에서 시작된다. 통신 관리자(1306)는 이 센서 데이터를 센서 로그 데이터베이스(1318)에 저장하며, 이 데이터베이스는 위치 추적 관리자(1312)에 의해 액세스될 수 있다. 단계 1504에서, 위치 추적 관리자(1312)는 수신된 센서 데이터에 기초하여 복수의 센서 사이에 근접도 기반 애드혹 네트워크를 구축한다. 위치 추적 관리자(1312)가 근접도 기반 애드혹 네트워크를 구축할 수 있는 하나의 방식은 LBS 전달 엔진(102)의 위치 추적 관리자(112)를 참조하여 위에서 설명되었으며, 따라서 그러한 프로세스의 추가 설명은 제공될 필요가 없다.
단계 1506에서, 통신 관리자(1306)는 또한 복수의 센서 내의 각각의 센서와 관련된 전력 상태 정보를 수신한다. 이 전력 상태 정보는 단계 1502에서 수신되는 센서 데이터에 포함될 수 있거나, 그 데이터와 별개로 전송될 수 있다. 특정 센서에 대한 전력 상태 정보는 또한 단계 1502에서 그 센서로부터 수신되는 센서 데이터와 동일한 빈도로 또는 상이한 빈도로 제공될 수 있다. 예를 들어, 일 실시예에서, 특정 센서에 대한 전력 상태 정보는 그 센서와 관련된 센서 데이터보다 훨씬 덜 빈번하게 제공된다. 이러한 타입의 구현은 센서의 전력 상태가 센서의 위치만큼 빠르게 변하지 않을 것으로 예상되는 경우에 이해될 수 있다. 전력 상태 정보는 또한 센서가 언제 전력 상태 정보를 생성하였는지를 지시하는 시간 코드와 함께 수신될 수 있다. 단계 1506에서 통신 관리자(1306)에 의해 수신된 전력 상태 정보는 센서 로그 데이터베이스(1318)에 저장된다.
단계 1508에서, 전력 관리 관리자(1320)는 근접도 기반 애드혹 네트워크 내의 공간적으로, 시간적으로 근접하는 센서들의 그룹 내의 각각의 센서와 관련된 전력 상태 정보를 분석한다. 이 그룹은 전력 관리 관리자(1320)가 그들의 공간적, 시간적 근접도에 의해 전력 관리 스킴을 구현할 수 있는 둘 이상의 센서를 포함한다. 여기에 설명되는 바와 같이, 전력 관리 스킴은 그룹 내의 각각의 센서의 전력 상태에 기초하여 그룹 내의 다른 센서들과 달리 그룹 내의 소정 센서들에 센서 데이터 수집 및 보고에 관한 더 전력 소비적인 작업들을 할당하는 단계를 포함할 수 있다.
단계 1510에서, 전력 관리 관리자(1320)는 공간적으로, 시간적으로 근접하는 센서들의 그룹 내의 적어도 하나의 센서가 센서 데이터를 제공하는 방식을 전력 상태 정보의 분석에 기초하여 변경한다. 전력 관리 관리자(1320)에 의한 이 단계의 수행은 하나 이상의 구성 명령을 센서 네트워크(104)를 통해 센서로 전송하는 단계를 포함한다. 구성 명령의 수신에 응답하여, 센서 내의 전력 관리 로직(센서(1400)의 전력 관리 로직(1408) 등)은 센서가 센서 데이터를 제공하는 방식을 변경한다.
위의 방법에 따라 전력 관리 관리자(1320)에 의해 구현될 수 있는 일 타입의 전력 관리 스킴은 각각의 센서의 전력 상태에 기초하여, 공간적으로, 시간적으로 근접하는 센서들의 그룹 내의 소정 센서들이 동일 그룹 내의 다른 센서들에 비해 더 빈번한 센서 데이터 폴링 및/또는 보고를 수행할 것을 요구하는 단계를 포함한다. 이러한 방식으로, 더 많은 전력을 갖는 센서들이 더 적은 전력을 갖는 그룹 내의 다른 센서들에 비해 폴링/보고 부담을 더 많이 갖도록 요구될 수 있다. 이러한 스킴은 시간적으로, 공간적으로 근접하는 센서들의 충분히 밀도 높은 그룹에서 최신의 근접도 기반 애드혹 네트워크를 구축하고 유지하기 위해 각각의 센서로부터 동일 빈도로 센서 데이터가 수집될 필요가 없다는 통찰을 전제로 한다. 따라서, 이러한 전력 관리 스킴은 또한 그룹의 현재 밀도는 물론, 그룹 내의 센서들과 연관된 전력 상태 정보도 고려할 수 있다.
센서 데이터 폴링 빈도의 변경은 구성 명령을 센서로 전송하는 단계를 포함할 수 있으며, 이 구성 명령은 근접 위치하는 비컨들을 스캐닝하는 레이트를 결정하기 위하여 센서에 의해 사용되는 파라미터를 변경한다. 또한, 센서가 LBS 전달 엔진(1300)에 센서 데이터를 보고하는 레이트의 변경은 센서에 구성 명령을 전송하는 단계를 포함할 수 있으며, 이 구성 명령은 센서가 센서 데이터를 보고하는 레이트를 결정하기 위해 센서에 의해 사용되는 파라미터를 변경한다. 센서 데이터 폴링 빈도의 변경은 센서에 대한 폴링 기능을 일시적으로 턴오프하는 단계를 포함할 수 있다. 또한, 센서가 센서 데이터를 보고하는 레이트의 변경은 센서에 대한 센서 데이터 보고 기능을 일시적으로 턴오프하는 단계를 포함할 수 있다.
공간적으로, 시간적으로 근접하는 센서들의 그룹이 충분히 밀도가 높은 경우, 전력 관리 관리자(1320)는 또한 그룹 내의 적어도 하나의 센서가 비컨으로서 동작하는 방식을 변경할 수 있다. 예를 들어, 전력 관리 관리자(1320)는 근접도 기반 애드혹 네트워크의 상당히 새로운 픽처를 얻기 위해 비컨 기능의 제공이 필요하지 않은 경우에 하나 이상의 센서 내의 비컨 기능을 턴오프할 수 있다.
공간적으로, 시간적으로 근접하는 센서들의 그룹의 현재 밀도의 고려에 더하여, 전력 관리 관리자(1320)는 또한 유용한 센서 데이터를 계속 제공하기 위하여 주어진 센서에 대해 요구되는 폴링 빈도를 고려할 수 있다. 예를 들어, 센서가 정지해 있고, 센서 근처의 비컨들이 정지해 있는 경우, 폴링 빈도는 극히 낮은 레벨로 감소될 수 있으며, 이는 전력을 보존한다. 이와 달리, 센서가 이동하고 있고, 센서 근처의 비컨들도 이동하고 있는 경우, 유용한 센서 데이터를 획득하기 위해 폴링 빈도는 비교적 높은 것이 필요할 수 있다. 전력 관리 관리자(1320)는 그룹 내의 상이한 센서들과 관련된 폴링 빈도들을 줄이거나 늘릴 때 그러한 인자들을 고려할 수 있다.
전력 관리 관리자(1320)는 또한 그룹 내의 센서들이 유용한 센서 데이터를 반환하게 하기 위하여 그러한 센서들과 연관된 안테나들에 공급되어야 하는 전력의 양을 고려할 수 있다. 따라서, 예를 들어, 전력 관리 관리자(1320)는 제1 타입의 센서와 관련된 안테나의 이득의 증가가 동일 그룹 내의 제2 타입의 센서와 관련된 안테나의 이득의 증가보다 더 유용한 데이터를 산출할 것으로 결정할 수 있다. 이 상황에서, 전력 관리 관리자(1320)는 제1 타입의 센서의 안테나에 공급되는 전력을 증가시키는 반면, 제2 타입의 센서의 안테나에 공급되는 전력은 유지하거나 줄일 수 있으며, 따라서 제2 타입의 센서에서 전력을 보존할 수 있다.
전력 관리 관리자(1320)는 그룹 내의 센서에 의해 현재 생성되고 있는 위치 결정 정보가 유용하거나 정확한지를 더 고려할 수 있다. 예를 들어, 그룹 내의 다른 장치들이 동일하거나 더 정확한 위치 결정 정보를 제공하고 있는 경우, 전력 관리 관리자(1320)는 센서가 그러한 위치 결정 정보의 보고를 중지하게 하여, 그 센서에 대한 전력을 절약할 수 있다. 이것의 일례는 GPS가 잘 동작하지 않는 영역에 센서가 위치할 때(예를 들어, 센서가 실내에 있을 때) GPS 인에이블드 센서로부터의 위치 결정 데이터의 보고를 턴오프하는 것이다.
다른 전력 관리 스킴에 따르면, 전력 관리 관리자(1320)는 그룹 내의 선택된 센서가 근거리 네트워크 접속을 통해 그룹 내의 하나 이상의 다른 센서로부터 센서 데이터를 수집하고, 수집된 센서 데이터를 다른 센서(들)를 대신하여 LBS 전달 엔진(1300)에 제공하게 할 수 있다. 전력 관리 관리자(1320)는 또한 선택된 센서가 다른 센서(들)를 대신하여 LBS 전달 엔진(1300)으로부터 위치 기반 서비스들에 관한 데이터를 수신하고, 이 데이터를 다른 센서(들)로 배포하게 할 수 있다. 이것은 더 많은 이용 가능 전력을 가질 수 있는 선택된 센서가 더 적은 이용 가능 전력을 갖는 다른 센서들에 대한 통신 허브로서 동작하게 한다.
이러한 전력 관리 스킴의 일례가 공간적으로, 시간적으로 근접하는 센서들의 그룹(1606) 내의 제1 센서(1602) 및 제2 센서(1604)를 나타내는 도 16의 블록도(1600)에 도시되어 있다. 도 16에 도시된 바와 같이, 제2 센서(1604)는 근거리 네트워크 접속을 통해 제1 센서(1602)로부터 센서 데이터를 수신하고, 제1 센서(1602)를 대신하여 센서 데이터를 센서 네트워크(104)를 통해 LBS 전달 엔진(1600)에 제공한다. 도 16에 또한 도시된 바와 같이, 제2 센서(1604)는 제1 센서(1602)를 대신하여 센서 네트워크(104)를 통해 LBS 전달 엔진(1300)으로부터 위치 기반 서비스 데이터를 수신하고, 위치 기반 서비스 데이터를 제1 센서(1602)로 배포한다.
전력 관리 관리자(1320)는 전력 관리가 수행되어야 하는 공간적으로, 시간적으로 근접하는 센서들의 그룹들을 자동으로 식별할 수 있다. 그러한 그룹들은 공간적, 시간적 근접도, 전력 자원들 또는 다른 인자들에 기초하여 식별될 수 있다. 그러한 그룹들의 크기는 구현 또는 동작 모드에 따라 다를 수 있다. 하나의 극단에서, 그룹은 위치 추적 관리자(1312)에 의해 구축된 근접도 기반 애드혹 네트워크 내의 모든 센서를 포함할 수 있다. 다른 극단에서, 그룹은 2개의 센서만으로 구성될 수 있다. 더구나, 전력 관리 관리자(1320)는 개별 센서들에 대한 전력 관리를 수행할 수 있다. 예를 들어, 전력 관리 관리자(1320)는 임의의 공간적으로, 시간적으로 근접하는 센서들의 전력 상태에 관계없이 (저전력 조건을 보고하고 있는 센서와 같은) 센서 내의 전력 소비를 줄이기 위한 전술한 방법들 중 임의의 방법을 이용할 수 있다.
본 발명의 일 실시예는 또한 이롭게도 사용자로 하여금 전력 관리 관리자(1320)가 전력 관리 기능을 수행하는 방식을 무시하거나 제어하는 것을 가능하게 한다. 예를 들어, 일 실시예에서, 사용자는 센서 데이터가 센서에 의해 수집 및/또는 보고되는 빈도를 줄이거나, 폴링 또는 보고 기능을 완전히 턴오프하는 것이 허가된다. 이것은 사용자가 원할 경우에 다른 기능들에 제공될 수 있는 센서 전력을 보존하는 것을 허가한다. 이러한 기능들의 턴오프는 또한 사용자 프라이버시의 보호 또는 LBS 전달 엔진(1300)과의 통신과 관련된 비용 보존에 관한 이유들로 바람직할 수 있다. 그러한 사용자 제어 메커니즘들은 센서 자체 내에 포함되거나, LBS 전달 엔진(1300)과의 사용자 통신을 통해 구현될 수 있다.
대안 실시예에서, 사용자는 전력 관리 기능에 관계없이 센서에 의해 센서 데이터가 수집 및/또는 보고되는 빈도를 고정하는 것이 허가된다. 이것은 예를 들어 아이와 관련된 센서가 저전력 상태에 있을 때에도 센서 데이터를 계속 제공하여, 아이의 위치가 LBS 전달 엔진(1300)에 의해 계속 추적되는 것을 보장하기 위해 부모에 의해 이용될 수 있다.
다른 실시예에 따르면, 사용자들은 전력 관리 관리자(1320)가 전력 관리 기능들을 수행해야 하는 센서들의 그룹들을 정의할 수 있다. 예를 들어, 사용자는 전력 관리가 수행되어야 하는 가족의 구성원들, 비즈니스 조직의 구성원들 또는 활동 또는 이벤트의 참가자들과 연관된 센서들의 그룹을 지정할 수 있다. 이것은 이롭게도 특정 그룹의 사람들에 의해 사용되는 센서들 사이의 전력 할당 및 부하 균형화를 허가한다. 추가 실시예에서, 사용자는 사용자 정의 그룹 내의 센서들과 연관된 계층 구조를 정의할 수 있으며, 계층 구조의 바닥에 있는 센서들의 전력은 계층 구조의 정상에 있는 센서들의 전력보다 앞서거나 더 큰 레이트로 소비된다. 이것은 예를 들어 계층 구조의 바닥에 있는 하나 이상의 센서에 의해 센서 데이터가 수집되거나 보고되는 레이트를 증가시키거나, 계층 구조의 바닥에 있는 하나 이상의 센서가 LBS 전달 엔진(1300)과의 통신 허브로서 동작하게 하는 것을 포함할 수 있다.
D. 근접도 기반 애드혹 네트워크들에 대한 시간 코드 검증 및 정정
전술한 바와 같이, 본 발명의 일 실시예에서, 각각의 센서로부터 LBS 전달 엔진으로 제공되는 센서 데이터는 적어도 센서와 관련된 고유 ID, 센서에 의해 현재 검출된 비컨들 각각과 연관된 하나 이상의 고유 ID들, 및 각각의 비컨이 센서에 의해 언제 각각 감지되었는지를 지시하는 하나 이상의 시간 코드를 포함한다. LBS 전달 엔진은 이 센서 데이터에 포함된 시간 코드들을 이용하여, 주어진 순간에 또는 주어진 시간 윈도 동안에 어느 센서들이 어느 비컨들을 검출하고 있는지를 결정한다. 시간 코드들에 기초하여 센서 데이터를 상관시키는 이러한 LBS 전달 엔진의 능력은 위치 추적에 유용한 근접도 기반 애드혹 네트워크의 구축 및 유지에 중요하다.
그러나, 센서가 센서 데이터를 LBS 전달 엔진에 보고하는 다른 센서들에 의해 유지되는 시간의 개념과 다른 시간의 개념을 이용하여 시간 코드들을 생성할 때 문제가 발생한다. 이것이 발생할 때, 시간 코드들에 기초하여 모든 센서로부터 수신된 센서 데이터를 정확하게 상관시키는 LBS 전달 엔진의 능력은 손상된다. 이것은 예를 들어, 네트워크 내의 센서가 지방 클럭을 이용하여 시간 코드들을 생성하는 반면, 동일 네트워크 내의 다른 센서들이 네트워크 클럭을 이용하여 시간 코드들을 생성하며, 지방 클럭과 네트워크 클럭이 동기화되지 않은 경우에 발생할 수 있다. 이것은 예를 들어, 제1 네트워크 내의 센서가 제1 네트워크 클럭을 이용하여 시간 코드들을 생성하는 반면, 제2 네트워크 내의 센서가 제2 네트워크 클럭을 이용하여 시간 코드들을 생성하며, 제1 네트워크 클럭과 제2 네트워크 클럭이 동기화되지 않은 경우에도 발생할 수 있다.
도 17은 전술한 문제를 해결하는 LBS 전달 엔진(1700)의 블록도이다. 구체적으로 그리고 여기에 더 상세히 설명되는 바와 같이, LBS 전달 엔진(1700)은 근접도 기반 애드혹 네트워크 내의 센서들의 시간적, 공간적 근접도에 관한 정보를 이용하여, 그러한 센서들에 의해 생성된 시간 코드들을 검증 및/또는 정정한다. 일 실시예에서, LBS 전달 엔진(1700)은 애드혹 네트워크 내의 같은 곳에 위치하는 센서들에 의해 생성된 시간 코드들에 협력 필터링을 적용하여, 그러한 센서들에 의해 생성된 시간 코드들을 검증 및/또는 정정한다. 다른 실시예에서, LBS 전달 엔진(1700)은 애드혹 네트워크 내의 소정의 근접 위치하는 센서들과 연관되거나 그들 사이에 전파되는 지리 위치 정보를 이용하여, 같은 곳에 위치하는 센서들에 의해 생성된 시간 코드들을 정정하고 검증하기 위해 사용될 수 있는 지방시를 취득한다. 어느 실시예에서나, LBS 전달 엔진(1700)은 특정 센서에 대한 시간 코드 오프셋을 구현함으로써, 센서와 연관된 클럭의 상태가 자동으로 변경되게 함으로써, 또는 센서와 관련된 클럭의 상태가 수동으로 변경되어야 한다는 것을 센서의 사용자에게 통지함으로써 부정확한 시간 코드의 검출을 해결할 수 있다.
도 17에 도시된 바와 같이, LBS 전달 엔진(1700)은 사용자 인터페이스(1702), LBS 제공자 인터페이스(1704), 통신 관리자(1706), 사용자 데이터 데이터베이스(1708), LBS 데이터 데이터베이스(1710), 위치 추적 관리자(1712), 위치 그래프(1714), 매칭 관리자(1716) 및 센서 로그 데이터베이스(1718)를 포함하는 다수의 통신 가능하게 접속된 요소를 포함한다. 바로 아래에 설명될 소정 기능들은 예외로 하고, 이러한 요소들 각각은 LBS 전달 엔진(102)의 동일 명칭의 요소들과 관련하여 전술한 것과 본질적으로 동일한 기능들을 수행한다.
도 17에 또한 도시된 바와 같이, LBS 전달 엔진(1700)은 시간 코드 관리자(1720)를 더 포함한다. 시간 코드 관리자(1720)는 센서 데이터를 LBS 전달 엔진(1700)으로 현재 보고하고 있는 복수의 센서 각각에 의해 생성되는 시간 코드들을 취득하도록 구성된다. 전술한 바와 같이, 이러한 시간 코드들은 복수의 센서 각각에 의해 센서 네트워크(104)를 통해 LBS 전달 엔진(1700)으로 주기적으로 전송되고, 통신 관리자(1706)에 의해 센서 로그 데이터베이스(1718)에 저장되는 센서 데이터의 일부를 포함한다. 구현에 따라서, 시간 코드 관리자(1720)는 센서 로그 데이터베이스(1718)로부터 또는 위치 추적 관리자(1712)에 의해 위치 그래프(1714)로 맵핑되는 센서들과 관련하여 시간 코드들이 유지되는 실시예에서는 위치 그래프(1714)로부터 시간 코드들을 추출함으로써 시간 코드들을 취득할 수 있다.
시간 코드 관리자(1720)는 위치 추적 관리자(1712)에 의해 유지되는 위치 그래프(1714)로부터 센서 데이터를 LBS 전달 엔진(1700)으로 현재 보고하고 있는 센서들의 공간적, 시간적 근접도에 관한 정보를 취득하도록 더 구성된다. 위치 추적 관리자(1712)는 LBS 전달 엔진(102)의 위치 추적 관리자(112) 및 위치 그래프(114)를 참조하여 전술한 것과 동일한 방식으로 위치 그래프(1714)를 구축하고 유지하도록 구성된다.
시간 코드 관리자(1720)는 센서 데이터를 LBS 전달 엔진(1700)으로 현재 보고하고 있는 복수의 센서 각각과 연관된 근접도 정보 및 시간 코드들 양자를 이용하여, 그러한 센서들에 의해 생성되는 시간 코드들을 자동으로 검증 및/또는 정정하도록 더 구성된다. 이제, 이러한 기능들이 시간 코드 관리자(1720)에 의해 수행되는 방식이 도 18 및 20에 도시된 흐름도들을 참조하여 설명된다.
구체적으로, 도 18은 본 발명의 일 실시예에 따라 LBS 전달 엔진(1700)이 복수의 센서에 의해 생성되는 시간 코드들을 검증하고 정정하는 제1 방법의 흐름도(1800)를 도시한다. 흐름도(1800)의 단계들은 LBS 전달 엔진(1700)의 컴포넌트들을 계속 참조하여 설명되지만, 관련 분야(들)의 기술자들은 본 방법이 그러한 구현들로 한정되지 않으며, 본 방법을 수행하기 위해 다른 수단들이 이용될 수 있다는 것을 쉽게 알 것이다.
도 18에 도시된 바와 같이, 흐름도(1800)의 방법은 통신 관리자(1706)가 복수의 센서에 의해 제공되는 센서 데이터를 수신하는 단계 1802에서 시작되며, 각각의 센서로부터 수신된 센서 데이터는 센서에 의해 생성된 시간 코드를 포함한다. 통신 관리자(1706)는 이 센서 데이터를 센서 로그 데이터베이스(1718)에 저장하며, 이 데이터베이스는 위치 추적 관리자(1712)에 의해 액세스될 수 있다. 단계 1704에서, 위치 추적 관리자(1712)는 수신된 센서 데이터에 기초하여 복수의 센서 사이에 근접도 기반 애드혹 네트워크를 구축한다. 위치 추적 관리자(1712)가 수신된 센서 데이터에 기초하여 근접도 기반 애드혹 네트워크를 구축할 수 있는 하나의 방식은 LBS 전달 엔진(102)의 위치 추적 관리자(1712)와 관련하여 전술하였으며, 따라서 그러한 프로세스의 추가 설명은 제공될 필요가 없다.
단계 1806에서, 시간 코드 관리자(1720)는 시간 코드 검증 및/또는 정정이 수행될 근접도 기반 애드혹 네트워크 내의 2개 이상의 공간적으로, 시간적으로 근접하는 센서의 그룹을 식별한다. 시간 코드 관리자(1720)가 센서들의 그룹을 식별하는 방식은 시간 코드 관리자(1720)의 구현 및 동작 모드에 따라 다를 수 있다. 예를 들어, 시간 코드 관리자(1720)는 애드혹 네트워크 내의 센서들의 물리적 또는 논리적 위치 결정에 기초하여 그룹을 식별할 수 있으며, 그러한 위치 결정은 예를 들어 소정의 그룹 크기 또는 그룹 밀도에 또는 애드혹 네트워크 내의 센서들의 상대적 또는 실제 위치에 기초할 수 있다. 시간 코드 관리자(1720)는 또한 그룹 내의 센서들에 의해 생성된 시간 코드들 사이의 인식된 불일치에 기초하여, 또는 그러한 불일치의 정도에 의해 그룹을 식별할 수 있다.
도 19는 흐름도 1800의 단계 1806에 따라 시간 코드 관리자(1720)에 의해 식별될 수 있는 공간적으로, 시간적으로 근접하는 센서들의 예시적인 그룹(1900)을 나타내는 블록도이다. 도 19에 도시된 바와 같이, 그룹(1900)은 4개의 센서(센서들 1902, 1904, 1906, 1908)를 포함하며, 이들 각각은 위치 추적 관리자(1712)에 의해 특정 시간에 또는 특정 기간 동안에 다른 센서에 공간적으로 근접하는 것으로 결정되었으며, 이들 각각은 그 시간에 또는 그 기간 동안에 상이한 시간 코드를 포함하는 센서 데이터를 생성하였다. 구체적으로, 도 19에 도시된 바와 같이, 센서(1902)는 제1 시간 코드(1912)를 생성하였고, 센서(1904)는 제2 시간 코드(1914)를 생성하였고, 센서(1906)는 제3 시간 코드(1916)를 생성하였으며, 센서(1908)는 제4 시간 코드(1918)를 생성하였다. 이러한 예의 목적을 위해, 센서들(1902, 1904, 1906, 1908) 각각에 의해 생성된 시간 코드들은 동일하거나, 동일한 값들의 범위 내에 있어야 하는 것으로 가정되어야 하는데, 이는 그러한 센서들 각각이 그러한 시간 코드들과 연관된 폴링 데이터를 거의 동시에 또는 동일한 기간 동안에 취득했기 때문이다. 시간 코드들은 동일하지 않거나, 동일한 값들의 범위 내에 있지 않은 것으로 더 가정되어야 하는데, 이는 시간 코드들을 생성하기 위해 센서들 각각에 의해 사용된 클럭들이 동기화되지 않기 때문이다.
그러한 시간 코드들 사이의 불일치에도 불구하고, 위치 추적 관리자(1712)는 센서들(1902, 1904, 1906, 1908)이 같은 곳에 위치한다는 것을 그러한 센서들 및 그들 주위의 센서들에 의해 보고되는 센서 데이터에 의해 결정할 수 있다. 예를 들어, 위치 추적 관리자(1712)는 센서들(1902, 1904, 1906, 1908)이 특정 시간에 또는 특정 기간 동안에 같은 곳에 위치하는 것으로 결정할 수 있는데, 이는 그룹(1900) 내의 다른 공간적으로 근접하는 센서들이 그러한 센서들을 동시에 또는 동일한 기간 동안에 검출한 것을 보고했기 때문이다. 다른 예로서, 위치 추적 관리자(1712)는 센서들(1902, 1904, 1906, 1908)이 특정 시간에 또는 특정 기간 동안에 같은 곳에 위치하는 것으로 결정할 수 있는데, 이는 그러한 센서들 각각이 특정 시간 간격 내에서 동일한 정지 비컨의 검출을 보고했기 때문이다. 그러나, 이러한 예들은 한정적인 것으로 의도하지 않으며, 상이한 시간 코드들을 보고하는 같은 곳에 위치하는 센서들을 식별하는 다른 방법들도 이용될 수 있다.
위치 추적 관리자(1712)는 센서들(1902, 1904, 1906, 1908)이 상이한 시간 코드들을 보고하고 있을 때에도 같은 곳에 위치하는 것으로 결정할 수 있지만, 그러한 센서들에 의해 생성되는 시간 코드들을 검증하고, 적절한 경우에는 그들을 정정하는 것이 유리할 것이다. 이러한 기능을 수행함으로써, 시간 코드 관리자(1720)는 그러한 센서들로부터 후속 수신되는 센서 데이터의 무결성을 향상시킬 수 있으며, 이것은 또한 시간 코드들에 기초하여 센서 데이터를 상관시키고, 센서들이 같은 곳에 위치하는 기간들을 더 쉽고 정확하게 식별하는 위치 추적 관리자(1712)의 능력을 향상시킨다. 더구나, 이러한 기능을 수행함으로써, 시간 코드 관리자(1720)는 센서들과 관련된 클럭들이 적절한 경우에 미래의 시간 코드 생성을 정정하도록 자동으로 또는 수동으로 리셋되는 것을 가능하게 한다.
이제, 흐름도(1800)의 방법으로 돌아가서, 시간 코드 관리자(1720)가 시간 코드 검증 및/또는 정정이 수행될 공간적으로, 시간적으로 근접하는 센서들의 그룹을 식별한 후에, 시간 코드 관리자(1720)는 단계 1808에 도시된 바와 같이 식별된 그룹에 의해 생성된 시간 코드들을 분석한다. 일 실시예에서, 이 단계는 그룹에 의해 생성된 시간 코드들 각각에 신뢰도 값을 할당하는 단계를 포함한다. 시간 코드에 할당되는 신뢰도 값은 본질적으로, 그 시간 코드가 분석되는 모든 시간 코드들 사이에서 가장 정확할 가능성의 정도이다. 정확도는 근접도 기반 애드혹 네트워크 내의 다른 센서들에 의해 유지되는 시간의 개념에 관하여 또는 LBS 전달 엔진(1700)에 의해 유지되는 시간의 개념에 관하여 측정될 수 있다.
시간 코드 관리자(1720)는 특정 시간 코드에 신뢰도 값을 할당할 때 다양한 인자를 고려할 수 있다. 예를 들어, 시간 코드 관리자(1720)는 시간 코드를 생성한 그룹 내의 센서들의 수에 적어도 부분적으로 기초하여 그 시간 코드에 신뢰도 값을 할당할 수 있으며, 더 많은 센서가 그 시간 코드를 생성할수록, 신뢰도 값은 높아진다. 시간 코드 관리자(1720)는 이러한 기능을 수행하기 위하여 그룹에 의해 생성된 시간 코드들의 히스토그램을 구축할 수 있다.
시간 코드 관리자(1720)는 시간 코드를 생성한 센서 또는 센서들의 신뢰성의 지시자에 적어도 부분적으로 기초하여 그 시간 코드에 신뢰도 값을 할당할 수 있다. 따라서, 예컨대, 시간 코드 관리자(1720)는 시간 코드가 불리한 감지 조건들(예컨대, 센서가 간섭을 겪는 채널을 통해 비컨들을 검출하거나, 센서가 높은 속도로 이동하는 조건들) 하에 동작하는 센서에 의해 생성되었을 때 또는 시간 코드가 과거에 부정확한 시간 코드들 또는 열악한 센서 데이터를 생성한 센서에 의해 생성되었을 때 그 시간 코드에 보다 낮은 신뢰도 값을 할당할 수 있다.
단계 1810에서, 시간 코드 관리자(1720)는 단계 1808에서 수행된 분석에 기초하여 그룹 내의 적어도 하나의 센서에 의해 생성된 시간 코드를 변경한다. 이 단계는 예를 들어, 시간 코드들에 할당된 신뢰도 값들 및/또는 소정의 다른 인자(들)에 기초하여 그룹에 의해 생성된 시간 코드들 중 하나를 선택한 후에 그룹 내의 적어도 하나의 센서에 의해 생성된 시간 코드를 선택된 시간 코드로 교체하는 단계를 포함할 수 있다. 다른 실시예에서, 이 단계는 시간 코드들에 할당된 신뢰도 값들 및/또는 소정의 다른 인자(들)에 기초하여 그룹에 의해 생성된 하나 이상의 시간 코드를 조합하거나 평균하여, 조합된 시간 코드를 생성한 후에, 그룹 내의 적어도 하나의 센서에 의해 생성된 시간 코드를 조합된 시간 코드로 교체하는 단계를 포함할 수 있다. 이 단계는 또한 그룹 내의 적어도 하나의 센서에 의해 생성된 시간 코드에 시간 오프셋을 더하거나 빼는 단계를 포함할 수 있다.
전술한 방법은 이롭게도 같은 곳에 위치하는 센서들에 의해 생성된 시간 코드들에 협력 필터링을 적용하여, 그러한 센서들에 의해 생성된 시간 코드들을 검증 및/또는 정정한다. 이 실시예에 더 따르면, 시간 코드 관리자(1720)가 부정확한 시간 코드를 생성한 센서를 식별한 경우, 시간 코드 관리자는 동일 센서에 의해 제공되는 미래의 시간 코드들이 더 정확할 것을 보장하기 위한 단계들을 수행할 수 있다. 예를 들어, 시간 코드 관리자(1720)는 동일 센서에 의해 생성된 후속 수신된 시간 코드들에 소정의 오프셋을 적용하여, 그러한 시간 코드들이 더 정확한 것을 보장할 수 있다. 대안으로, 시간 코드 관리자(1720)는 명령을 센서로 전송할 수 있으며, 이 명령은 센서에 의해 사용되는 클럭의 상태가 자동으로 변경되는 시간 코드들을 생성하게 한다. 더구나, 시간 코드 관리자(1720)는 센서와 관련된 클럭의 상태가 변경되어야 함을 지시하는 통지를 센서의 사용자에게 전송할 수 있으며, 따라서 사용자는 클럭을 수동으로 변경할 수 있다.
도 20은 복수의 센서에 의해 생성된 시간 코드들을 검증하고 정정하기 위한 본 발명의 일 실시예에 따른 제2 방법의 흐름도(2000)이다. 흐름도(2000)의 방법은 그러한 시간 코드들의 무결성을 향상시키기 위해 흐름도(1800)의 방법의 대안으로서 또는 그와 연계하여 사용될 수 있다. 흐름도 1800과 같이, 흐름도(2000)의 단계들은 LBS 전달 엔진(1700)의 컴포넌트들을 계속 참조하여 설명되며, 관련 분야(들)의 기술자들은 본 방법이 그러한 구현들로 한정되지 않으며, 본 방법을 수행하기 위하여 다른 수단들이 사용될 수 있다는 것을 쉽게 알 것이다.
도 20에 도시된 바와 같이, 흐름도(2000)의 방법은 통신 관리자(1706)가 복수의 센서로부터 제공되는 센서 데이터를 수신하는 단계 2002에서 시작되며, 각각의 센서로부터 수신되는 센서 데이터는 센서에 의해 생성된 시간 코드를 포함한다. 통신 관리자(1706)는 이 센서 데이터를 센서 로그 데이터베이스(1718)에 저장하며, 이 데이터베이스는 위치 추적 관리자(1712)에 의해 액세스될 수 있다. 단계 2004에서, 위치 추적 관리자(1712)는 수신된 센서 데이터에 기초하여 복수의 센서 사이에 근접도 기반 애드혹 네트워크를 구축한다. 위치 추적 관리자(1712)가 수신된 센서 데이터에 기초하여 근접도 기반 애드혹 네트워크를 구축할 수 있는 하나의 방식은 LBS 전달 엔진(102)의 위치 추적 관리자(112)를 참조하여 전술하였으며, 따라서 그러한 프로세스의 추가 설명은 제공될 필요가 없다.
단계 2006에서, 위치 추적 관리자(1712)는 근접도 기반 애드혹 네트워크 내의 제1 센서의 지리 위치를 결정한다. 위치 추적 관리자(1712)는 제1 센서에 의해 다른 센서 데이터와 함께 LBS 전달 엔진(1700)으로 제공되는 위치 정보를 분석함으로써 제1 센서의 지리 위치를 결정할 수 있다. 그러한 위치 정보는 예를 들어 제1 센서 내의 GPS 모듈 또는 다른 위치 결정 모듈에 의해 제공되는 위치 정보 또는 제1 센서의 사용자에 의해 제공되는 위치 정보(예를 들어, 우편 번호, 거리 번지 등)를 포함할 수 있다. 대안으로, 위치 추적 관리자(1712)는 도 11의 흐름도(1100)를 참조하여 전술한 것과 동일한 방식으로 공간적으로, 시간적으로 근접하는 센서로부터 제1 센서로 위치 정보를 전송함으로써 제1 센서의 지리 위치를 결정할 수 있다.
단계 2008에서, 시간 코드 관리자(1720)는 제1 센서의 지리 위치에 기초하여 지방시 정보를 취득한다. 예를 들어, 시간 코드 관리자(1720)는 제1 센서의 지리 정보를 이용하여, 제1 센서가 현재 위치하는 시간 존을 결정하고, 그 시간 존과 관련된 지방시를 결정할 수 있다.
단계 2010에서, 시간 코드 관리자(1720)는 지방시 정보를 이용하여, 근접도 기반 애드혹 네트워크 내의 제1 센서에 공간적으로 근접하는 제2 센서에 의해 생성된 시간 코드를 정정한다. 예를 들어, 시간 코드 관리자(1720)는 제2 센서에 의해 생성된 시간 코드와 단계 2008에서 결정된 지방시를 비교하고, 불일치의 검출에 응답하여 시간 코드를 정정할 수 있다.
위의 방법은 이롭게도 애드혹 네트워크 내의 소정의 센서들과 연관되거나 그들 사이에 전파되는 지리 위치 정보를 이용하여, 같은 곳에 위치하는 센서들에 의해 생성되는 시간 코드들을 검증하고 정정하기 위해 사용될 수 있는 지방시를 취득한다. 이 실시예에 더 따르면, 시간 코드 관리자(1720)가 부정확한 시간 코드를 생성한 센서를 식별한 경우, 시간 코드 관리자는 동일 센서에 의해 제공되는 미래의 시간 코드들이 더 정확할 것을 보장하기 위한 단계들을 수행할 수 있다. 예를 들어, 시간 코드 관리자(1720)는 동일 센서에 의해 생성된 후속 수신된 시간 코드들에 소정의 오프셋을 적용하여, 그러한 시간 코드들이 더 정확한 것을 보장할 수 있다. 대안으로, 시간 코드 관리자(1720)는 명령을 센서로 전송할 수 있으며, 이 명령은 센서에 의해 사용되는 클럭의 상태가 자동으로 변경되는 시간 코드들을 생성하게 한다. 더구나, 시간 코드 관리자(1720)는 센서와 관련된 클럭의 상태가 변경되어야 함을 지시하는 통지를 센서의 사용자에게 전송할 수 있으며, 따라서 사용자는 클럭을 수동으로 변경할 수 있다.
E. 근접도 기반 애드혹 네트워크에 기초하는 데이터 공유
휴대용 전자 장치들의 사용자들이 그러한 장치들 사이에 데이터를 쉽게 전송할 수 있다면 유리할 것이다. 그러나, 호환 가능한 장치들 사이에 통신 링크를 설정하기 위한 전통적인 프로토콜들은 시간 소모적일 수 있다. 예를 들어, 2개의 블루투스 장치를 함께 짝짓기 위하여, 2개의 장치 중 적어도 하나는 그가 다른 장치를 발견할 수 있는 모드에 있어야 한다. 다른 장치가 발견되면, 동일 패스 키가 2개의 장치 각각에 입력되어야 한다. 이러한 프로세스가 완료된 후에만 2개의 장치 사이에 데이터가 공유될 수 있다. 이것은 성가신 프로세스이다. 더구나, 사용자 장치들이 호환되지 않는 경우(예를 들어, 하나의 장치가 블루투스 통신만을 지원하고, 다른 장치가 WiFi 통신만을 지원하는 경우), 장치들 사이의 직접적인 데이터 전송은 전혀 불가능하다.
사용자 장치들이 동일 장소에 위치하는 것에 응답하여 사용자 장치들 사이에 정보가 자동으로 전송될 수 있다면 또한 유리할 것이다. 그러한 시스템은 이롭게도 예를 들어 사용자들이 근접 위치하는 시점에 개인적으로 그리고/또는 직업적으로 관련되는 그러한 사용자들(또는 그러한 관계를 형성할 가능성이 있는 사용자들) 사이에 정보 또는 통지들을 교환하는 데 사용될 수 있다. 그러한 시스템은 또한 이롭게도 근접 위치하는 사용자들에게 그리고 그들 사이에 마켓팅 정보 또는 다른 상업 정보를 배포하는 데 사용될 수 있다. 이들은 그러한 시스템의 이익들의 몇몇 예일 뿐이다. 그러나, 그러한 자동 데이터 전송은 사용자 프라이버시를 보호하는 방식으로 수행되어야 한다.
도 21은 위의 문제들을 해결하는 LBS 전달 엔진(2100)의 블록도이다. 구체적으로 그리고 여기에 더 상세히 설명되는 바와 같이, LBS 전달 엔진(2100)은 이롭게도 같은 곳에 위치하는 센서들 사이의 근거리 접속들 또는 통신을 필요로 하지 않고 사용자 프라이버시를 보호하는 방식으로 그러한 센서들 사이에 데이터가 공유될 수 있게 한다. LBS 전달 엔진(2100)은 또한 이롭게도, 다른 방법으로는 서로를 검출하고 그리고/또는 서로 통신할 수 없는 이종 센서 타입들 사이에 데이터가 전송되는 것을 가능하게 한다. LBS 전달 엔진(2100)은 센서 근접도, 및 사용자 관심들 및/또는 활동들의 공통성 또는 소셜 네트워크의 멤버쉽과 같은 다른 인자들에 응답하여 사용자 개시 데이터 전송은 물론, 자동 데이터 전송도 수행할 수 있다.
도 21에 도시된 바와 같이, LBS 전달 엔진(2100)은 사용자 인터페이스(2102), LBS 제공자 인터페이스(2104), 통신 관리자(2106), 사용자 데이터 데이터베이스(2108), LBS 데이터 데이터베이스(2110), 위치 추적 관리자(2112), 위치 그래프(2114), 매칭 관리자(2116) 및 센서 로그 데이터베이스(2118)를 포함하는 다수의 통신 가능하게 접속되는 요소를 포함한다. 바로 아래에 설명되는 소정의 기능들은 예외로 하고, 이러한 요소들의 각각은 LBS 전달 엔진(102)의 동일 명칭의 요소들과 관련하여 전술한 것과 본질적으로 동일한 기능들을 수행한다.
도 21에 또한 도시된 바와 같이, LBS 전달 엔진(2100)은 데이터 공유 관리자(2120)를 더 포함한다. 데이터 공유 관리자(2120)는 제1 센서로부터 사용자 데이터를 수신한 후에, 하나 이상의 다른 센서가 제1 센서에 시간적으로, 공간적으로 근접할 때 그러한 다른 센서(들)에 사용자 데이터를 전송함으로써 근접 위치하는 센서들 사이의 사용자 데이터의 전송을 용이하게 하도록 구성된다. 따라서, 데이터 공유 관리자(2120)는 LBS 전달 엔진(2100)이 그러한 데이터 전송의 목적을 위해 제1 센서와 다른 센서(들) 사이의 중개자로서 동작하게 한다. 이것은 도 22에 도시되어 있으며, 이 도면은 제1 센서(2202)가 사용자 데이터를 LBS 전달 엔진(2100)으로 전송하고, LBS 전달 엔진(2100)이 사용자 데이터의 사본들을 복수의 근접 위치하는 센서(2204) 각각으로 전송하는 시스템(2200)을 나타낸다.
이러한 기능을 수행하기 위하여, 데이터 공유 관리자(2120)는 위에 상세히 설명된 방식으로 위치 추적 관리자(2112)에 의해 유지되는 센서 위치들의 현재 그래프(2114)에 액세스함으로써 어느 센서들이 근접 위치하는지를 결정하도록 구성된다. 데이터 공유 관리자(2120)는 또한, 데이터 전송을 수행하기 전에 센서 근접도 외의 다른 조건들이 충족되었는지를 결정하도록 구성된다. 그러한 조건들은 프라이버시, 적절한 데이터 전송 소스들 또는 타겟들, 또는 사용자 데이터 데이터베이스(2108)에 저장된 데이터 전송의 다른 양태들에 관한 사용자 지정 조건들 또는 선호들을 포함할 수 있다. 이러한 사용자 지정 조건들 또는 선호들은 사용자에 의해 사용자 인터페이스(2102)를 통해 제공되거나 설정될 수 있다.
구현에 따라서, 전송에 적합한 사용자 데이터는 사용자 장치로부터 센서 네트워크(104)를 통해 그리고/또는 사용자 인터페이스(2102)를 통해 데이터 공유 관리자(2120)에 제공된다. 그러한 사용자 데이터는 데이터 공유 관리자(2120)로 직접 제공되거나, 사용자 데이터 데이터베이스(2108)에 저장될 수 있고, 데이터 전송을 위한 소정의 조건들이 충족될 때 데이터 공유 관리자(2120)에 의해 액세스될 수 있다.
데이터 전송의 목적으로 같은 장소에 위치하는 센서들 사이의 중개자로서 동작함으로써, 데이터 공유 관리자(2120)는 그러한 센서들 사이에 근거리 링크가 설정되는 것을 요구하지 않는 방식으로 데이터 공유를 용이하게 한다. 전술한 바와 같이, 그러한 링크의 설정은 시간 소모적이며, 사용자들에게 성가실 수 있다. 더구나, 그러한 근거리 링크들이 LBS 전달 엔진(2100)에 대한 링크들보다 더 대역폭이 제한되는 예들에서는, LBS 전달 엔진(2100)을 통한 데이터 전송이 근거리 통신 링크를 통한 센서들 사이의 전송보다 훨씬 더 효율적일 수 있다.
또한, 데이터 전송의 목적으로 같은 곳에 위치하는 센서들 사이의 중개자로서 동작함으로써, 데이터 공유 관리자(2120)는 다른 방법으로는 서로를 검출하고 그리고/또는 서로 통신할 수 없는 센서들 사이에 데이터가 공유되는 것을 가능하게 한다. 예들 들어, 데이터 공유 관리자(2120)는 정상적으로는 서로를 검출하거나 서로 통신할 수 없는 WiFi 장치들, 셀룰러 전화들 및 블루투스 장치들 사이에서 데이터를 전송할 수 있다.
더구나, 데이터 전송의 목적으로 같은 곳에 위치하는 센서들 사이의 중개자로서 동작함으로써, 데이터 공유 관리자(2120)는 근접도, 및 사용자 관심들 및/또는 활동들의 공통성 또는 소셜 네트워크의 멤버쉽과 같은 임의의 다양한 다른 인자에 기초하여 그러한 장치들 사이에 데이터가 자동으로 전송되게 할 수 있다. 그러나, 데이터 공유 관리자(2120)는 그러한 전송들을 중개하는 중개자로서 동작하므로, 이롭게도 사용자 데이터를 검증하고, 사용자 프라이버시를 보호하기 위한 필터들을 구현할 수 있다.
이제, 본 발명의 일 실시예에 따라 LBS 전달 엔진(2100)이 센서들 사이에 데이터를 전송하는 하나의 방식이 도 23의 흐름도(2300)를 참조하여 설명된다. 흐름도(2300)의 단계들은 LBS 전달 엔진(2100)의 컴포넌트들을 계속 참조하여 설명되지만, 관련 분야(들)의 기술자들은 본 방법이 그러한 구현들로 한정되지 않으며, 본 방법을 수행하기 위해 다른 수단들이 사용될 수 있다는 것을 쉽게 알 것이다.
도 23에 도시된 바와 같이, 흐름도(2300)의 방법은 통신 관리자(2106)가 복수의 센서 각각으로부터 제공되는 센서 데이터를 수신하는 단계 2302에서 시작된다. 통신 관리자(2106)는 이 센서 데이터를 센서 로그 데이터베이스(2118)에 저장하며, 이 데이터베이스는 위치 추적 관리자(2112)에 의해 액세스될 수 있다. 단계 2304에서, 위치 추적 관리자(2112)는 수신된 센서 데이터에 기초하여 복수의 센서 사이에 근접도 기반 애드혹 네트워크를 구축한다. 위치 추적 관리자(2112)가 수신된 센서 데이터에 기초하여 근접도 기반 애드혹 네트워크를 구축할 수 있는 하나의 방식은 LBS 전달 엔진(102)의 위치 추적 관리자(112)를 참조하여 전술하였으며, 따라서 그러한 프로세스의 추가 설명은 제공될 필요가 없다.
단계 2306에서, 데이터 공유 관리자(2120)는 근접도 기반 애드혹 네트워크에 기초하여 복수의 센서 내의 제1 센서가 복수의 센서 내의 제2 센서에 공간적으로, 시간적으로 근접하는 것으로 결정한다. 일 실시예에서, 데이터 공유 관리자(2120)는 전술한 방식으로 위치 추적 관리자(2112)에 의해 유지되는 센서 위치들의 현재 그래프(2114)에 액세스함으로써 그러한 기능을 수행한다.
단계 2308에서, 데이터 공유 관리자(2120)는 제1 센서가 제2 센서에 공간적으로, 시간적으로 근접한다는 결정에 적어도 응답하여 제1 센서로부터 수신된 사용자 데이터를 제2 센서로 전송한다. 사용자 데이터는 센서 네트워크(104)를 통해 제2 센서로 전송된다.
제1 센서로부터 수신된 사용자 데이터는 임의 타입의 텍스트, 그래프, 오디오 및/또는 비디오 콘텐츠 또는 파일들을 포함하지만 이에 한정되지 않는 임의 타입의 사용자 데이터일 수 있다. 사용자 데이터는 또한 네트워크 액세스 가능 콘텐츠 또는 데이터에 액세스하고, 옵션으로서 그를 변경하기 위한 링크 또는 허가를 포함할 수 있다. 사용자 데이터는 단일 개체 또는 엔티티로의 전송을 위해 또는 다수의 개체 또는 엔티티로의 방송을 위해 의도될 수 있다. LBS 전달 엔진(2100)의 데이터 전송 기능이 개인 또는 비즈니스 관계를 구축하는 목적을 위해 근접 위치하는 사용자들을 소개하는 데 사용되는 경우, 사용자 데이터는 사용자 프로파일, 비즈니스 카드, 분류된 광고, 개인 광고, 이력서 또는 구인 게시를 포함할 수 있다. "개인 방송"의 성질을 갖는 사용자 데이터의 다른 예들이 2007년 12월 14일자로 출원된 "Personal Broadcast Engine and Network"라는 제목의 함께 소유되고 함께 계류중인 미국 특허 출원 번호 11/957,052에 설명되어 있으며, 그 전체는 본 명세서에 참고 문헌으로 포함된다.
제1 센서로부터 수신되는 사용자 데이터는 센서 네트워크(104)로부터 통신 관리자(2106)에 의해 수신된 후에, 제2 센서로의 전송을 위해 데이터 공유 관리자(2120)에게 직접 제공될 수 있다. 대안으로서, 제1 센서로부터 수신되는 사용자 데이터는 사용자 인터페이스(2102)를 통해 수신된 후에 사용자 데이터 데이터베이스(2108)에 저장될 수 있다. 이 경우에, 데이터 공유 관리자(2120)는 데이터 전송을 위한 소정의 조건들이 충족된 때 사용자 데이터 데이터베이스(2108)에 저장된 사용자 데이터에 액세스한다. 데이터 전송 프로세스는 사용자에 의해 또는 센서 또는 LBS 전달 엔진(2100) 상에서 실행되는 프로세스에 의해 개시될 수 있다.
전술한 바와 같이, 데이터 공유 관리자(2120)는 개별 센서들 사이에 데이터를 전송하는 것은 물론, 제1 센서로부터의 데이터를 복수의 다른 센서로 방송할 수 있다. 따라서, 단계 2308에서, 제1 센서로부터 수신된 사용자 데이터를 제2 센서로 전송하는 것은 사용자 데이터를 제1 센서에 공간적으로, 시간적으로 근접하는 복수의 센서로 전송하는 단계를 포함할 수 있다.
또한, 전술한 바와 같이, 데이터 전송의 목적으로 같은 곳에 위치하는 센서들 사이의 중개자로서 동작함으로써, 데이터 공유 관리자(2120)는 다른 방법으로는 서로를 검출하고 그리고/또는 서로 통신할 수 없는 센서들 사이에 데이터가 공유되는 것을 허가한다. 따라서, 흐름도(2300)의 방법에 따르면, 제1 센서는 제1 장치 타입일 수 있고, 제2 센서는 제1 장치 타입과 직접 통신할 수 없는 제2 장치 타입일 수 있다. 그러한 장치 타입들은 WiFi 장치들, 셀룰러 전화들 및 블루투스 장치들을 포함할 수 있다.
위의 방법은 또한 제1 및 제2 센서가 현재 서로를 검출할 수 없는 때에도 그러한 센서들이 데이터를 공유하는 것을 허가한다. 예를 들어, 위치 추적 관리자(2112)는 각각의 센서가 복수의 센서 내의 제3 센서에 근접 위치하는 것으로 결정함으로써 제1 및 제2 센서들이 근접 위치하는 것으로 결정할 수 있다. 이 제3 센서는 제1 또는 제2 센서들 양자에 의해 또는 그러한 센서들에 근접 위치하는 센서들에 의해 감지될 수 있다. 따라서, LBS 전달 엔진(2100)은 위치 추적 관리자(2112)에 의해 구축되고 유지되는 근접도 기반 애드혹 네트워크 내의 다수의 중간 노드(예를 들어, 센서들 또는 비컨들)를 통해 간접적으로만 접속되는 센서들 사이에 데이터가 전송되는 것을 허가한다.
단계 2308에서의 제1 센서와 제2 센서 사이의 데이터 전송은 이롭게도 제1 센서의 사용자와 제2 센서의 사용자 사이의 관계의 식별시에 조정될 수 있다. 이러한 관계는 각각의 사용자와 연관된 하나 이상의 활동, 관심, 선호 및/또는 소셜 네트워크에 관한 사용자 데이터에 기초할 수 있다. 데이터 전송이 자동인 경우, 그러한 필터링은 데이터의 소스와 소정 종류의 공통성을 공유하는 사용자들에게만 데이터가 전송되는 것을 허가한다.
단계 2308에서의 제1 센서와 제2 센서 사이의 데이터 전송은 또한 전송이 허가되었는지에 관한 결정시에 조정될 수 있다. 이것은 사용자 프라이버시가 보호되는 것을 보장한다. 데이터 공유 관리자(2120)는 예를 들어 제1 센서의 사용자 및/또는 제2 센서의 사용자와 연관된 허가 규칙들에 기초하여 그러한 결정을 행할 수 있다. 그러한 허가 규칙들은 사용자 데이터 데이터베이스(2102)에 저장될 수 있으며, 데이터 공유 관리자(2120)에 의해 필요할 때 액세스될 수 있다.
F. 예시적인 컴퓨터 시스템 구현
본 명세서에 설명되는 LBS 전달 엔진들 및 센서들의 컴포넌트들 각각은 임의의 공지된 프로세서 기반 컴퓨터 시스템에 의해 단독으로 또는 조합하여 구현될 수 있다. 그러한 컴퓨터 시스템(2400)의 일례가 도 24에 도시되어 있다.
도 24에 도시된 바와 같이, 컴퓨터 시스템(2400)은 하나 이상의 프로세서를 포함하는 처리 유닛(2404)을 포함한다. 처리 유닛(2404)은 예를 들어 버스 또는 네트워크를 포함할 수 있는 통신 기초 구조(2402)에 접속된다.
컴퓨터 시스템(2400)은 또한 메인 메모리(2406), 바람직하게는 랜덤 액세스 메모리(RAM)를 포함하며, 보조 메모리(2420)도 포함할 수 있다. 보조 메모리(2420)는 예를 들어 하드 디스크 드라이브(2422), 이동식 저장 드라이브(2424) 및/또는 메모리 스틱을 포함할 수 있다. 이동식 저장 드라이브(2424)는 플로피 디스크 드라이브, 자기 테이프 드라이브, 광 디스크 드라이브, 플래시 메모리 등을 포함할 수 있다. 이동식 저장 드라이브(2424)는 공지 방식으로 이동식 저장 유닛(2428)으로부터 판독하고 그리고/또는 그에 기입한다. 이동식 저장 유닛(2428)은 이동식 저장 드라이브(2424)에 의해 판독되고 기입되는 플로피 디스크, 자기 테이프, 광 디스크 등을 포함할 수 있다. 관련 분야(들)의 기술자들이 알듯이, 이동식 저장 유닛(2428)은 컴퓨터 소프트웨어 및/또는 데이터를 저장한 컴퓨터 사용 가능 저장 매체를 포함한다.
대안 구현들에서, 보조 메모리(2420)는 컴퓨터 프로그램들 또는 다른 명령어들이 컴퓨터 시스템(2400) 내에 로딩되게 하기 위한 다른 유사한 수단들을 포함할 수 있다. 그러한 수단들은 예를 들어 이동식 저장 유닛(2430) 및 인터페이스(2426)를 포함할 수 있다. 그러한 수단들의 예들은 프로그램 카트리지 및 카트리지 인터페이스(비디오 게임 장치들에서 발견되는 것 등), 이동식 메모리 칩(EPROM 또는 PROM 등) 및 관련 소켓, 및 이동식 저장 유닛(2430)으로부터 컴퓨터 시스템(2400)으로 소프트웨어 및 데이터가 전송되게 하는 다른 이동식 저장 유닛들(2430) 및 인터페이스들(2426)을 포함할 수 있다.
컴퓨터 시스템(2400)은 또한 통신 인터페이스(2440)를 포함할 수 있다. 통신 인터페이스(2440)는 컴퓨터 시스템(2400)과 외부 장치들 사이에 소프트웨어 및 데이터가 전송되게 한다. 통신 인터페이스(2440)의 예들은 모뎀, 네트워크 인터페이스(이더넷 카드 등), 통신 포트, PCMCIA 카드 및 슬롯 등을 포함할 수 있다. 통신 인터페이스(2440)를 통해 전송되는 소프트웨어 및 데이터는 통신 인터페이스(2440)에 의해 수신될 수 있는 전자, 전자기, 광 또는 기타 신호들일 수 있는 신호들의 형태를 갖는다. 이러한 신호들은 통신 경로(2442)를 통해 통신 인터페이스(2440)로 제공된다. 통신 경로(2442)는 신호들을 운반하며, 와이어 또는 케이블, 광섬유, 전화선, 셀룰러 전화 링크, RF 링크 및 다른 통신 채널들을 이용하여 구현될 수 있다.
본 명세서에서 사용될 때, "컴퓨터 프로그램 매체" 및 "컴퓨터 사용 가능 매체"라는 용어는 일반적으로 이동식 저장 유닛(2428), 이동식 저장 유닛(2430), 하드 디스크 드라이브(2422) 내에 설치된 하드 디스크, 및 통신 인터페이스(2440)에 의해 수신되는 신호들과 같은 매체들을 지칭하는 데 사용된다. 컴퓨터 프로그램 매체 및 컴퓨터 사용 가능 매체는 또한 반도체 장치들(예를 들어, DRAM 등)일 수 있는 메인 메모리(2406) 및 보조 메모리(2420)와 같은 메모리들을 지칭할 수 있다. 이러한 컴퓨터 프로그램 제품들은 컴퓨터 시스템(2400)에 소프트웨어를 제공하기 위한 수단이다.
(컴퓨터 제어 로직, 프로그래밍 로직 또는 로직이라고도 하는) 컴퓨터 프로그램들은 메모리 메모리(2406) 및/또는 보조 메모리(2420)에 저장된다. 컴퓨터 프로그램들은 통신 인터페이스(2440)를 통해 수신될 수도 있다. 그러한 컴퓨터 프로그램들은 실행시에 컴퓨터 시스템(2400)이 여기에 설명되는 바와 같은 본 발명의 특징들을 구현하는 것을 가능하게 한다. 따라서, 그러한 컴퓨터 프로그램들은 컴퓨터 시스템(2400)의 제어기들을 나타낸다. 본 발명이 소프트웨어를 이용하여 구현되는 경우, 소프트웨어는 컴퓨터 프로그램 제품 내에 저장되고, 이동식 저장 드라이브(2424), 인터페이스(2426) 또는 통신 인터페이스(2440)를 이용하여 컴퓨터 시스템(2400) 내에 로딩될 수 있다.
본 발명은 또한 임의의 컴퓨터 사용 가능 매체 상에 저장된 소프트웨어를 포함하는 컴퓨터 프로그램 제품에 관한 것이다. 그러한 소프트웨어는 하나 이상의 데이터 처리 장치 상에서 실행될 때 데이터 처리 장치(들)가 여기에 설명되는 바와 같이 동작하게 한다. 본 발명의 실시예들은 현재 또는 미래에 공지되는 임의의 컴퓨터 사용 가능 또는 판독 가능 매체를 이용한다. 컴퓨터 사용 가능 매체들의 예들은 주 저장 장치들(예를 들어, 임의 타입의 랜덤 액세스 메모리), 보조 저장 장치들(예컨대, 하드 드라이브, 플로피 디스크, CD ROM, 짚 디스크, 테이프, 자기 저장 장치, 광학 저장 장치, MEM, 나노기술 기반 저장 장치 등) 및 통신 매체(예를 들어, 유선 및 무선 통신 네트워크, 근거리 네트워크, 광역 네트워크, 인트라넷 등)를 포함하지만, 이에 한정되지 않는다.
G. 결론
본 발명의 다양한 실시예들이 위에 설명되었지만, 이들은 제한이 아니라 단지 예시적으로 제공되었다는 것을 이해해야 한다. 관련 분야(들)의 기술자들은 첨부된 청구항들에서 정의되는 바와 같은 본 발명의 사상 및 범위를 벗어나지 않고 그 안에서 형태 및 상세들의 다양한 변경이 이루어질 수 있음을 이해할 것이다. 따라서, 본 발명의 넓이 및 범위는 임의의 전술한 실시예들에 의해 한정되는 것이 아니라, 아래의 청구항들 및 그들의 균등물들에 따라서만 정의되어야 한다.

Claims (21)

  1. 사용자들 사이에서 데이터를 전달하기 위한 방법으로서,
    복수의 센서 각각으로부터 센서 데이터를 수신하는 단계 - 상기 복수의 센서 각각으로부터 수신된 센서 데이터는 하나 이상의 비컨(beacon)이 상기 센서에 의해 각각 언제 검출되었는지를 지시하는 하나 이상의 시간 코드를 포함함 -;
    상기 수신된 센서 데이터에 기초하여 상기 복수의 센서 사이의 근접도 기반 애드 혹 네트워크(proximity-based ad hoc network)를 구축하는 단계;
    상기 근접도 기반 애드 혹 네트워크에 기초하여 상기 복수의 센서 내의 제1 센서가 상기 복수의 센서 내의 제2 센서에 공간적으로 및 시간적으로 근접하다고 결정하는 단계; 및
    적어도 상기 제1 센서가 상기 제2 센서에 공간적으로 및 시간적으로 근접하다는 결정에 응답하여, 상기 제1 센서로부터 수신된 사용자 데이터를 상기 제2 센서로 전달하는 단계
    를 포함하는 데이터 전달 방법.
  2. 제1항에 있어서,
    상기 제1 센서로부터 수신된 사용자 데이터를 상기 제2 센서로 전달하는 단계는 상기 사용자 데이터를 상기 제1 센서에 공간적으로 및 시간적으로 근접한 복수의 센서로 전달하는 단계를 포함하는 데이터 전달 방법.
  3. 제1항에 있어서,
    상기 제1 센서는 제1 장치 타입이고, 상기 제2 센서는 상기 제1 장치 타입과 직접 통신할 수 없는 제2 장치 타입이고,
    상기 장치 타입들은,
    WiFi 장치들,
    셀룰러 전화들, 및
    블루투스TM 장치들로 이루어지는 데이터 전달 방법.
  4. 제1항에 있어서,
    상기 제1 센서가 상기 제2 센서에 공간적으로 및 시간적으로 근접하다고 결정하는 단계는,
    상기 근접도 기반 애드 혹 네트워크에 기초하여 상기 제1 센서가 상기 복수의 센서 내의 제3 센서에 공간적으로 및 시간적으로 근접하다고 결정하는 단계; 및
    상기 근접도 기반 애드 혹 네트워크에 기초하여 상기 제3 센서가 상기 제2 센서에 공간적으로 및 시간적으로 근접하다고 결정하는 단계
    를 포함하는 데이터 전달 방법.
  5. 제1항에 있어서,
    상기 제1 센서의 사용자 및/또는 상기 제2 센서의 사용자와 연관된 허가 규칙들에 기초하여, 상기 제1 센서로부터 수신된 사용자 데이터의 상기 제2 센서로의 전달이 허가되는지를 결정하는 단계를 더 포함하고,
    상기 제1 센서로부터 수신된 사용자 데이터를 상기 제2 센서로 전달하는 것은 상기 제1 센서가 상기 제2 센서에 공간적으로 및 시간적으로 근접하다는 결정 및 상기 사용자 데이터의 전달이 허가된다는 결정에 응답하여 상기 사용자 데이터를 전달하는 것을 포함하는 데이터 전달 방법.
  6. 제1항에 있어서,
    사용자 각각과 연관된 하나 이상의 활동, 관심, 선호 및/또는 소셜 네트워크에 관한 사용자 데이터에 기초하여, 상기 제1 센서의 사용자와 상기 제2 센서의 사용자 사이의 관계를 식별하는 단계
    를 더 포함하고,
    상기 제1 센서로부터 수신된 사용자 데이터를 상기 제2 센서로 전달하는 것은 상기 제1 센서가 상기 제2 센서에 공간적으로 및 시간적으로 근접하다는 결정 및 상기 관계의 식별에 응답하여 상기 사용자 데이터를 전달하는 것을 포함하는 데이터 전달 방법.
  7. 제1항에 있어서, 상기 사용자 데이터는,
    사용자 프로파일;
    비즈니스 카드;
    분류된 광고;
    개인 광고;
    이력서; 또는
    구인 게시(help wanted posting)
    중 하나를 포함하는 데이터 전달 방법.
  8. 사용자들 사이에서 데이터를 전달하기 위한 시스템으로서,
    복수의 센서 각각으로부터 센서 데이터를 수신하도록 구성된 통신 관리자 - 상기 복수의 센서 각각으로부터 수신된 상기 센서 데이터는 하나 이상의 비컨이 상기 센서에 의해 각각 언제 검출되었는지를 지시하는 하나 이상의 시간 코드를 포함함 -;
    상기 수신된 센서 데이터에 기초하여 상기 복수의 센서 사이의 근접도 기반 애드 혹 네트워크를 구축하도록 구성된 위치 추적 관리자; 및
    상기 근접도 기반 애드 혹 네트워크에 기초하여 상기 복수의 센서 내의 제1 센서가 상기 복수의 센서 내의 제2 센서에 공간적으로 및 시간적으로 근접하다고 결정하고, 적어도 상기 제1 센서가 상기 제2 센서에 공간적으로 및 시간적으로 근접하다는 결정에 응답하여 상기 제1 센서로부터 수신된 사용자 데이터를 상기 제2 센서로 전달하도록 구성된 데이터 공유 관리자
    를 포함하는 데이터 전달 시스템.
  9. 제8항에 있어서,
    상기 데이터 공유 관리자는 상기 제1 센서로부터 수신된 사용자 데이터를 상기 제1 센서에 공간적으로 및 시간적으로 근접한 복수의 센서로 전달하도록 구성되는 데이터 전달 시스템.
  10. 제8항에 있어서,
    상기 제1 센서는 제1 장치 타입이고, 상기 제2 센서는 상기 제1 장치 타입과 직접 통신할 수 없는 제2 장치 타입이고,
    상기 장치 타입들은,
    WiFi 장치들,
    셀룰러 전화들, 및
    블루투스TM 장치들로 이루어지는 데이터 전달 시스템.
  11. 제8항에 있어서,
    상기 데이터 공유 관리자는, 상기 근접도 기반 애드 혹 네트워크에 기초하여 상기 제1 센서가 상기 복수의 센서 내의 제3 센서에 공간적으로 및 시간적으로 근접하다고 결정하고, 상기 근접도 기반 애드 혹 네트워크에 기초하여 상기 제3 센서가 상기 제2 센서에 공간적으로 및 시간적으로 근접하다고 결정함으로써, 상기 제1 센서가 상기 제2 센서에 공간적으로 및 시간적으로 근접하다고 결정하도록 구성되는 데이터 전달 시스템.
  12. 제8항에 있어서,
    상기 데이터 공유 관리자는, 상기 제1 센서의 사용자 및/또는 상기 제2 센서의 사용자와 연관된 허가 규칙들에 기초하여, 상기 제1 센서로부터 수신된 사용자 데이터의 상기 제2 센서로의 전달이 허가되는지를 결정하고, 상기 제1 센서가 상기 제2 센서에 공간적으로 및 시간적으로 근접하다는 결정 및 상기 사용자 데이터의 전달이 허가된다는 결정에 응답하여, 상기 제1 센서로부터 수신된 사용자 데이터를 상기 제2 센서로 전달하도록 더 구성되는 데이터 전달 시스템.
  13. 제8항에 있어서,
    상기 데이터 공유 관리자는, 사용자 각각과 연관된 하나 이상의 활동, 관심, 선호 및/또는 소셜 네트워크에 관한 사용자 데이터에 기초하여, 상기 제1 센서의 사용자와 상기 제2 센서의 사용자 사이의 관계를 식별하고, 상기 제1 센서가 상기 제2 센서에 공간적으로 및 시간적으로 근접하다는 결정 및 상기 관계의 식별에 응답하여 상기 제1 센서로부터 수신된 사용자 데이터를 상기 제2 센서로 전달하도록 더 구성되는 데이터 전달 시스템.
  14. 제8항에 있어서, 상기 사용자 데이터는,
    사용자 프로파일;
    비즈니스 카드;
    분류된 광고;
    개인 광고;
    이력서; 또는
    구인 게시
    중 하나를 포함하는 데이터 전달 시스템.
  15. 처리 유닛이 사용자들 사이에서 데이터를 전달할 수 있게 하는 컴퓨터 프로그램 로직을 기록한 컴퓨터 판독 가능 기억 매체로서,
    상기 컴퓨터 프로그램 로직은,
    상기 처리 유닛이 복수의 센서 각각으로부터 센서 데이터를 수신하도록 하기 위한 제1 수단 - 상기 복수의 센서 각각으로부터 수신된 상기 센서 데이터는 하나 이상의 비컨이 상기 센서에 의해 각각 언제 검출되었는지를 지시하는 하나 이상의 시간 코드를 포함함 -;
    상기 처리 유닛이 상기 수신된 센서 데이터에 기초하여 상기 복수의 센서 사이의 근접도 기반 애드 혹 네트워크를 구축하도록 하기 위한 제2 수단;
    상기 처리 유닛이 상기 근접도 기반 애드 혹 네트워크에 기초하여 상기 복수의 센서 내의 제1 센서가 상기 복수의 센서 내의 제2 센서에 공간적으로 및 시간적으로 근접하다고 결정하도록 하기 위한 제3 수단; 및
    상기 처리 유닛이 적어도 상기 제1 센서가 상기 제2 센서에 공간적으로 및 시간적으로 근접하다는 결정에 응답하여, 상기 제1 센서로부터 수신된 사용자 데이터를 상기 제2 센서로 전달하도록 하기 위한 제4 수단
    을 포함하는 컴퓨터 판독 가능 기억 매체.
  16. 제15항에 있어서,
    상기 제4 수단은 상기 처리 유닛이 상기 사용자 데이터를 상기 제1 센서에 공간적으로 및 시간적으로 근접한 복수의 센서로 전달하도록 하기 위한 수단을 포함하는 컴퓨터 판독 가능 기억 매체.
  17. 제15항에 있어서,
    상기 제1 센서는 제1 장치 타입이고, 상기 제2 센서는 상기 제1 장치 타입과 직접 통신할 수 없는 제2 장치 타입이고,
    상기 장치 타입들은,
    WiFi 장치들,
    셀룰러 전화들, 및
    블루투스TM 장치들로 이루어지는 컴퓨터 판독 가능 기억 매체.
  18. 제15항에 있어서, 상기 제3 수단은,
    상기 처리 유닛이 상기 근접도 기반 애드 혹 네트워크에 기초하여 상기 제1 센서가 상기 복수의 센서 내의 제3 센서에 공간적으로 및 시간적으로 근접하다고 결정하도록 하기 위한 수단; 및
    상기 처리 유닛이 상기 근접도 기반 애드 혹 네트워크에 기초하여 상기 제3 센서가 상기 제2 센서에 공간적으로 및 시간적으로 근접하다고 결정하도록 하기 위한 수단
    을 포함하는 컴퓨터 판독 가능 기억 매체.
  19. 제15항에 있어서,
    상기 컴퓨터 프로그램 로직은, 상기 처리 유닛이 상기 제1 센서의 사용자 및/또는 상기 제2 센서의 사용자와 연관된 허가 규칙들에 기초하여, 상기 제1 센서로부터 수신된 사용자 데이터의 상기 제2 센서로의 전달이 허가되는지를 결정하도록 하기 위한 수단을 더 포함하고,
    상기 제4 수단은, 상기 처리 유닛이 상기 제1 센서가 상기 제2 센서에 공간적으로 및 시간적으로 근접하다는 결정 및 상기 사용자 데이터의 전달이 허가된다는 결정에 응답하여 상기 제1 센서로부터 수신된 사용자 데이터를 상기 제2 센서로 전달하도록 하기 위한 수단을 포함하는 컴퓨터 판독 가능 기억 매체.
  20. 제15항에 있어서,
    상기 컴퓨터 프로그램 로직은, 상기 처리 유닛이 사용자 각각과 연관된 하나 이상의 활동, 관심, 선호 및/또는 소셜 네트워크에 관한 사용자 데이터에 기초하여, 상기 제1 센서의 사용자와 상기 제2 센서의 사용자 사이의 관계를 식별하도록 하기 위한 수단을 더 포함하고,
    상기 제4 수단은, 상기 처리 유닛이 상기 제1 센서가 상기 제2 센서에 공간적으로 및 시간적으로 근접하다는 결정 및 상기 관계의 식별에 응답하여 상기 제1 센서로부터 수신된 사용자 데이터를 상기 제2 센서로 전달하도록 하기 위한 수단을 포함하는 컴퓨터 판독 가능 기억 매체.
  21. 제15항에 있어서, 상기 사용자 데이터는,
    사용자 프로파일;
    비즈니스 카드;
    분류된 광고;
    개인 광고;
    이력서; 또는
    구인 게시
    중 하나를 포함하는 컴퓨터 판독 가능 기억 매체.
KR1020127010464A 2008-02-08 2009-02-02 근접도 기반 애드혹 네트워크에 기초하는 위치 추적 KR101251861B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/028,422 US8045482B2 (en) 2008-02-08 2008-02-08 Location tracking based on proximity-based ad hoc network
US12/028,422 2008-02-08
PCT/US2009/032854 WO2009100013A2 (en) 2008-02-08 2009-02-02 Location tracking based on proximity-based ad hoc network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020107019986A Division KR101185672B1 (ko) 2008-02-08 2009-02-02 근접도 기반 애드혹 네트워크에 기초하는 위치 추적

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020127024272A Division KR101385341B1 (ko) 2008-02-08 2009-02-02 근접도 기반 애드혹 네트워크에 기초하는 위치 추적

Publications (2)

Publication Number Publication Date
KR20120058620A KR20120058620A (ko) 2012-06-07
KR101251861B1 true KR101251861B1 (ko) 2013-04-10

Family

ID=40938805

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020107019986A KR101185672B1 (ko) 2008-02-08 2009-02-02 근접도 기반 애드혹 네트워크에 기초하는 위치 추적
KR1020127024272A KR101385341B1 (ko) 2008-02-08 2009-02-02 근접도 기반 애드혹 네트워크에 기초하는 위치 추적
KR1020127010464A KR101251861B1 (ko) 2008-02-08 2009-02-02 근접도 기반 애드혹 네트워크에 기초하는 위치 추적

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020107019986A KR101185672B1 (ko) 2008-02-08 2009-02-02 근접도 기반 애드혹 네트워크에 기초하는 위치 추적
KR1020127024272A KR101385341B1 (ko) 2008-02-08 2009-02-02 근접도 기반 애드혹 네트워크에 기초하는 위치 추적

Country Status (5)

Country Link
US (1) US8045482B2 (ko)
KR (3) KR101185672B1 (ko)
CN (1) CN101940055B (ko)
TW (1) TWI412292B (ko)
WO (1) WO2009100013A2 (ko)

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8311526B2 (en) 2007-06-28 2012-11-13 Apple Inc. Location-based categorical information services
US8275352B2 (en) 2007-06-28 2012-09-25 Apple Inc. Location-based emergency information
US9472125B2 (en) * 2007-10-05 2016-10-18 E.J. Brooks Company Reusable bolt electronic seal module with GPS/cellular phone communications and tracking system
US8060018B2 (en) * 2008-02-08 2011-11-15 Yahoo! Inc. Data sharing based on proximity-based ad hoc network
US8045482B2 (en) 2008-02-08 2011-10-25 Yahoo! Inc. Location tracking based on proximity-based ad hoc network
US9250092B2 (en) 2008-05-12 2016-02-02 Apple Inc. Map service with network-based query for search
US8644843B2 (en) 2008-05-16 2014-02-04 Apple Inc. Location determination
US8369867B2 (en) 2008-06-30 2013-02-05 Apple Inc. Location sharing
US8359643B2 (en) * 2008-09-18 2013-01-22 Apple Inc. Group formation using anonymous broadcast information
US20100076777A1 (en) * 2008-09-23 2010-03-25 Yahoo! Inc. Automatic recommendation of location tracking privacy policies
US20100077484A1 (en) * 2008-09-23 2010-03-25 Yahoo! Inc. Location tracking permissions and privacy
US8260320B2 (en) 2008-11-13 2012-09-04 Apple Inc. Location specific content
US8155630B2 (en) * 2009-02-27 2012-04-10 Research In Motion Limited Communications system providing mobile device notification based upon personal interest information and calendar events
US8666367B2 (en) 2009-05-01 2014-03-04 Apple Inc. Remotely locating and commanding a mobile device
US8670748B2 (en) 2009-05-01 2014-03-11 Apple Inc. Remotely locating and commanding a mobile device
US8660530B2 (en) 2009-05-01 2014-02-25 Apple Inc. Remotely receiving and communicating commands to a mobile device for execution by the mobile device
EE01079U1 (et) * 2009-09-17 2012-01-16 Smartdust Solutions OÜ Territooriumi ja selle perimeetri j„lgimise ssteem
US20110068892A1 (en) * 2009-09-20 2011-03-24 Awarepoint Corporation Wireless Tracking System And Method Utilizing Near-Field Communication Devices
US9633327B2 (en) * 2009-09-25 2017-04-25 Fedex Corporate Services, Inc. Sensor zone management
WO2011083237A1 (fr) * 2009-12-21 2011-07-14 France Telecom Procede d'evaluation d'une position geographique courante d'un nœud mobile d'un reseau de telecommunications sans fil
ES2551099T3 (es) * 2009-12-22 2015-11-16 9Solutions Oy Sistema de seguimiento de la posición
GB201001732D0 (en) * 2010-02-03 2010-03-24 Bae Systems Plc Sensor network
US8638236B2 (en) * 2010-02-25 2014-01-28 Qualcomm Incorporated Methods and apparatus for applying tactile pressure sensors
CN101820588A (zh) * 2010-05-07 2010-09-01 中兴通讯股份有限公司 一种移动终端之间传感器数据共享的方法及网络
EP2572211A1 (en) * 2010-05-21 2013-03-27 Nokia Corp. Method and apparatus for topology map determination
US8774829B2 (en) 2010-07-16 2014-07-08 Qualcomm Incorporated Sensor node positioning for location determination
US8670935B2 (en) 2010-08-17 2014-03-11 Blackberry Limited Tagging a location by pairing devices
EP2420854B1 (en) * 2010-08-17 2014-04-09 BlackBerry Limited Tagging a location by pairing devices
US8463459B2 (en) * 2010-08-24 2013-06-11 The Boeing Company Methods and apparatus for indicating a location
US20120134282A1 (en) 2010-11-30 2012-05-31 Nokia Corporation Method and apparatus for selecting devices to form a community
JP5895199B2 (ja) * 2010-12-28 2016-03-30 パナソニックIpマネジメント株式会社 無線装置
GB201107849D0 (en) 2011-05-11 2011-06-22 Cambridge Silicon Radio Ltd Cooperative positioning
US9301097B2 (en) * 2011-10-27 2016-03-29 Point Inside, Inc. Correlating wireless signals to a location on an image using mobile sensor technologies
DE102011087914B4 (de) * 2011-12-07 2013-11-14 Sebastian Wille Verfahren zur Verknüpfung von Daten physischer Objekte mit Datenobjekten eines Sozialen Netzwerks
KR20130096978A (ko) 2012-02-23 2013-09-02 삼성전자주식회사 사용자 단말, 서버, 상황기반 정보 제공 시스템 및 그 방법
US9143892B2 (en) * 2012-03-09 2015-09-22 Microsoft Technology Licensing, Llc Wireless beacon filtering and untrusted data detection
JP5843004B2 (ja) * 2012-04-20 2016-01-13 トヨタ自動車株式会社 情報特定装置
US9342209B1 (en) * 2012-08-23 2016-05-17 Audible, Inc. Compilation and presentation of user activity information
KR101974820B1 (ko) 2012-09-10 2019-08-23 삼성전자주식회사 기기 제어 방법 및 이를 수행하는 기기
US9401121B2 (en) * 2012-09-27 2016-07-26 Futurewei Technologies, Inc. Network visualization through augmented reality and modeling
EP2929295A4 (en) * 2012-12-07 2016-07-27 Nokia Technologies Oy MANAGEMENT OF POSITIONING RESOURCES
US9622040B2 (en) * 2012-12-07 2017-04-11 Nokia Technologies Oy Handling packet data units
DE102012112974A1 (de) * 2012-12-21 2014-06-26 Bdt Media Automation Gmbh Verfahren und Vorrichtung zur automatischen Adressierung und Erkennung räumlicher Nachbarschaftsbeziehungen in modularen Systemen zur Objektübergabe
EP2768269B1 (en) * 2013-02-15 2019-03-13 Fujitsu Limited Automatic ad-hoc network of mobile devices
US9515769B2 (en) * 2013-03-15 2016-12-06 Src, Inc. Methods and systems for exploiting sensors of opportunity
US20140327521A1 (en) * 2013-05-01 2014-11-06 Qualcomm Incorporated Asset location using relays
US9565584B2 (en) * 2013-06-24 2017-02-07 Cisco Technology, Inc. Human mobility rule-based device location tracking
US9788163B2 (en) * 2013-07-02 2017-10-10 Life360, Inc. Apparatus and method for increasing accuracy of location determination of mobile devices within a location-based group
US9730163B2 (en) * 2013-08-27 2017-08-08 Life360, Inc. Apparatus and method for conservation of battery power of mobile devices within a location-based group
US9179251B2 (en) * 2013-09-13 2015-11-03 Google Inc. Systems and techniques for colocation and context determination
US9843911B2 (en) 2013-09-23 2017-12-12 At&T Intellectual Property I, L.P. Remotely activated monitoring service
DE102013018918A1 (de) * 2013-11-13 2015-05-28 Deutsche Telekom Ag Verfahren und System zur Ausgabe von stimulierten Signalen mittels Empfängereinheiten
US9234757B2 (en) 2013-11-29 2016-01-12 Fedex Corporate Services, Inc. Determining node location using a variable power characteristic of a node in a wireless node network
CN103686875B (zh) * 2013-12-03 2016-08-17 浙江工业大学 一种无线纳米传感器网络无冲突等发送速率的接入控制方法
US9894633B2 (en) * 2013-12-06 2018-02-13 Google Llc Reminders based on device proximity using bluetooth LE
FR3014560B1 (fr) * 2013-12-09 2017-03-10 Second Bridge Procede de geolocalisation d'une flotte d'objets communicants sans systeme de type gps
CN104753866A (zh) * 2013-12-27 2015-07-01 中国移动通信集团公司 一种数据传输方法及装置
US20150201306A1 (en) 2014-01-16 2015-07-16 Apple Inc. Range-Free Proximity Determination
JP6484986B2 (ja) 2014-01-31 2019-03-20 株式会社リコー 位置情報発信システム、位置情報発信装置および位置情報発信方法
US11102746B2 (en) 2014-03-03 2021-08-24 Rosemount Inc. Positioning system
US10942250B2 (en) 2014-03-03 2021-03-09 Rosemount Inc. Positioning system
WO2015142879A1 (en) * 2014-03-18 2015-09-24 Imi Hydronic Engineering, Inc. Retrofit smart components for use in a fluid transfer system
US10453023B2 (en) 2014-05-28 2019-10-22 Fedex Corporate Services, Inc. Methods and node apparatus for adaptive node communication within a wireless node network
US20150350262A1 (en) * 2014-06-02 2015-12-03 Nokia Corporation Causation of establishment of a location sharing group
US20150347562A1 (en) * 2014-06-02 2015-12-03 Qualcomm Incorporated Deriving user characteristics from users' log files
AU2015281777A1 (en) 2014-06-26 2016-09-29 Parousia Investments Pty Ltd A method and system for enabling a payment
EP2977782B1 (en) * 2014-07-22 2020-11-18 Mitel Networks Corporation Positioning system and method
US9513671B2 (en) 2014-08-01 2016-12-06 Microsoft Technology Licensing, Llc Peripheral retention device
US10191986B2 (en) 2014-08-11 2019-01-29 Microsoft Technology Licensing, Llc Web resource compatibility with web applications
US20160050529A1 (en) * 2014-08-18 2016-02-18 Microsoft Corporation Location Information from a Mobile Device
US9705637B2 (en) 2014-08-19 2017-07-11 Microsoft Technology Licensing, Llc Guard band utilization for wireless data communication
US9397723B2 (en) 2014-08-26 2016-07-19 Microsoft Technology Licensing, Llc Spread spectrum wireless over non-contiguous channels
US9424048B2 (en) 2014-09-15 2016-08-23 Microsoft Technology Licensing, Llc Inductive peripheral retention device
US9167554B1 (en) * 2014-09-30 2015-10-20 Walkbase Oy Method and system for tracking communication devices in a radio communication network in a facility
US9641974B2 (en) 2014-12-10 2017-05-02 Qualcomm Incorporated Techniques for determining a position fix of an object using one or more mobile devices co-located with the object
US11238397B2 (en) 2015-02-09 2022-02-01 Fedex Corporate Services, Inc. Methods, apparatus, and systems for generating a corrective pickup notification for a shipped item using a mobile master node
KR101613147B1 (ko) * 2015-02-25 2016-04-19 네무스텍(주) 블루투스 신호를 이용한 모바일 기기 측위 시스템 및 측위 방법
US9629064B2 (en) 2015-03-20 2017-04-18 Bkon Connect, Inc. Beacon-implemented system for mobile content management
US9985839B2 (en) 2015-07-08 2018-05-29 Fedex Corporate Services, Inc. Systems, apparatus, and methods of event monitoring for an event candidate within a wireless node network based upon sighting events, sporadic events, and benchmark checkpoint events
KR102452997B1 (ko) 2015-08-31 2022-10-12 삼성전자주식회사 위치 기반 서비스를 위한 방법 및 장치
US9432465B1 (en) 2015-09-25 2016-08-30 Intel Corporation Service discovery with beacons having ranked neighboring services
US9900745B2 (en) 2015-09-25 2018-02-20 Intel Corporation Service discovery with beacons using bluetooth low energy signal
GB201518339D0 (en) * 2015-10-16 2015-12-02 Ibm Mobile device location proofing
US11202172B2 (en) 2015-10-29 2021-12-14 Stratacache Limited System and method for managing indoor positioning data
US10015772B2 (en) * 2015-12-03 2018-07-03 Dell Products L.P. Geo-tagged beacons for Wi-Fi performance optimization
US10375060B1 (en) 2016-02-10 2019-08-06 Bkon Connect, Inc. System for mobile content and metadata management
WO2017144089A1 (en) * 2016-02-24 2017-08-31 Taggalo S.R.L. Method for managing advanced plugins in an electronic device for analyzing the people behaviour in a physical space, electronic device for analyzing the people behaviour in a physical space and related program product
CN107197432A (zh) * 2016-03-14 2017-09-22 深圳康耐讯网络科技有限公司 具有移动节点的网格网络
US10728103B2 (en) * 2016-03-21 2020-07-28 Dell Products L.P. Edge device resourcing using recursive ledger chaining
JP6957496B2 (ja) 2016-03-23 2021-11-02 フェデックス コーポレイト サービシズ,インコーポレイティド 無線ノードネットワーク内のノードのブロードキャスト設定を自動調整するための無線ノードベースの方法、その方法を実行する命令を含む非一時的コンピュータ可読媒体、および無線ノードネットワークにおける自動調整ブロードキャストノード装置
JP6940214B2 (ja) * 2016-05-12 2021-09-22 ローズマウント インコーポレイテッド ポジショニングシステム
WO2017197320A2 (en) * 2016-05-13 2017-11-16 Shockwatch, Inc. Wireless environmental sensor
JP6623954B2 (ja) * 2016-06-29 2019-12-25 富士通株式会社 データ転送プログラム、データ転送装置、およびデータ転送方法
US10341814B2 (en) * 2017-03-17 2019-07-02 SCRRD, Inc. Wireless device detection, tracking, and authentication platform and techniques
US10085118B1 (en) 2017-03-17 2018-09-25 SCRRD, Inc. Wireless device detection, tracking, and authentication platform and techniques
US9900742B1 (en) * 2017-03-17 2018-02-20 SCRRD, Inc. Wireless device detection, tracking, and authentication platform and techniques
KR102195766B1 (ko) * 2017-10-25 2020-12-28 에스케이텔레콤 주식회사 이웃 노드 간의 협업 및 사전 데이터 학습을 이용한 클럭 동기화 방법 및 장치
US10317216B1 (en) * 2018-03-16 2019-06-11 Microsoft Technology Licensing, Llc Object and location tracking with a graph-of-graphs
CA3104580A1 (en) 2018-06-22 2019-12-26 Humanitas Solutions Inc. Method and system for determining a position of a plurality of transmitting nodes
US11924924B2 (en) 2018-09-17 2024-03-05 Rosemount Inc. Location awareness system
FR3103285A1 (fr) * 2019-11-19 2021-05-21 Orange Procédé de localisation d’une balise de géolocalisation.
US11037422B1 (en) * 2020-05-11 2021-06-15 Worthwhile Products Ad hoc peer-to-peer communication network product location system
US11508226B2 (en) * 2020-05-11 2022-11-22 Worthwhile Products Inventory control system with integrated ID tags
AU2022291446B1 (en) * 2022-01-03 2023-02-09 Worthwhile Products Inventory control system with integrated id tags

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060167618A1 (en) * 2005-01-26 2006-07-27 Symbol Technologies, Inc. Aircraft traffic warning system using an ad-hoc radio network

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6239719B1 (en) * 1997-06-03 2001-05-29 At&T Wireless Services, Inc. Method for time-stamping a message based on a recipient location
US7038584B2 (en) 2000-03-31 2006-05-02 Ge Medical Systems Information Technologies, Inc. Object location monitoring within buildings
WO2003063103A1 (en) 2002-01-18 2003-07-31 Georgia Tech Research Corporation Monitoring and tracking of assets by utilizing wireless communications
US7508840B2 (en) * 2004-05-28 2009-03-24 Bae Systems Information And Electronic Systems Integration Inc. Mobile temporary incident area network for local communications interoperability
US7155238B2 (en) 2004-07-06 2006-12-26 Katz Daniel A Wireless location determining device
CN100440832C (zh) * 2004-08-20 2008-12-03 清华大学 一种自组织网络骨干结构的构建方法
US7317914B2 (en) * 2004-09-24 2008-01-08 Microsoft Corporation Collaboratively locating disconnected clients and rogue access points in a wireless network
KR20060075797A (ko) * 2004-12-29 2006-07-04 한국과학기술정보연구원 엠알이-디디 센서 네트워크 라우팅 알고리즘 방법
US20070037574A1 (en) * 2005-08-09 2007-02-15 Jonathan Libov Method and apparatus of a location-based network service for mutual social notification
EP1770955A1 (en) * 2005-09-30 2007-04-04 BRITISH TELECOMMUNICATIONS public limited company Information based on location and activity of a user
US8761125B2 (en) 2006-05-01 2014-06-24 The Hong Kong University Of Science And Technology Scalable wireless mesh networks
FI119712B (fi) * 2006-11-07 2009-02-13 Timo D Haemaelaeinen Energiatehokas naapureiden havaitseminen liikkuvissa langattomissa sensoriverkoissa
US7502619B1 (en) * 2008-01-22 2009-03-10 Katz Daniel A Location determination of low power wireless devices over a wide area
US8045482B2 (en) 2008-02-08 2011-10-25 Yahoo! Inc. Location tracking based on proximity-based ad hoc network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060167618A1 (en) * 2005-01-26 2006-07-27 Symbol Technologies, Inc. Aircraft traffic warning system using an ad-hoc radio network

Also Published As

Publication number Publication date
KR20120058620A (ko) 2012-06-07
TWI412292B (zh) 2013-10-11
KR101185672B1 (ko) 2012-09-24
TW201014438A (en) 2010-04-01
CN101940055B (zh) 2013-07-10
CN101940055A (zh) 2011-01-05
WO2009100013A3 (en) 2009-11-12
US8045482B2 (en) 2011-10-25
US20090201850A1 (en) 2009-08-13
KR20100117658A (ko) 2010-11-03
KR20120120446A (ko) 2012-11-01
WO2009100013A2 (en) 2009-08-13
KR101385341B1 (ko) 2014-04-14

Similar Documents

Publication Publication Date Title
KR101251861B1 (ko) 근접도 기반 애드혹 네트워크에 기초하는 위치 추적
US9467808B2 (en) Time code validation and correction for proximity-based ad hoc networks
US8060018B2 (en) Data sharing based on proximity-based ad hoc network
US7822564B2 (en) Power management for proximity-based ad hoc networks
US7792040B2 (en) Bandwidth and cost management for ad hoc networks
Murty et al. Senseless: A database-driven white spaces network
CN102960007B (zh) 独立于低阈值感测来启用空白频谱网络
KR101513829B1 (ko) 무선 주파수 정보를 이용한 로케이션 결정
RU2419255C2 (ru) Способ обнаружения физического местоположения мобильного телефона в данное время
US8463280B1 (en) Heterogeneous mobile networking
CN1312952C (zh) 移动通信终端和无线通信系统
US10728842B2 (en) Methods and systems for opportunistically connecting devices to a communication network
CN105282844A (zh) 定位方法、系统、终端与定位服务器
KR20020015122A (ko) 위치정보와 지리정보에 기반한 정보 수집 방법 및 정보서비스 제공 방법
Bareth Privacy-aware and energy-efficient geofencing through reverse cellular positioning
US8914235B1 (en) System and method for detecting a user location using a latest available location
CN102014456B (zh) 一种搜索节点的方法和系统
US9709660B1 (en) Crowdsourced user density applications
KR100836864B1 (ko) 센서 네트워크와 이동통신 망을 연동한 위치정보 서비스제공 방법 및 그 시스템
CN111758283B (zh) 用于确定无线联网设备的相对邻近度的方法
Martin-Escalona et al. Middleware for positioning in cellular networks
Muñoz Jiménez Location-based service platform architecture for wireless mobile users in convergent networks
Rodriguez et al. Location Acquisition and Applications in Mobile and Ad-Hoc Environments

Legal Events

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

Payment date: 20160318

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170322

Year of fee payment: 5