KR20160057442A - 검출능력 및 보안의 개선을 위한 통지 패킷들의 인터리빙 - Google Patents

검출능력 및 보안의 개선을 위한 통지 패킷들의 인터리빙 Download PDF

Info

Publication number
KR20160057442A
KR20160057442A KR1020167009829A KR20167009829A KR20160057442A KR 20160057442 A KR20160057442 A KR 20160057442A KR 1020167009829 A KR1020167009829 A KR 1020167009829A KR 20167009829 A KR20167009829 A KR 20167009829A KR 20160057442 A KR20160057442 A KR 20160057442A
Authority
KR
South Korea
Prior art keywords
message
packet format
data
receiver
messages
Prior art date
Application number
KR1020167009829A
Other languages
English (en)
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
Priority to US201361878899P priority Critical
Priority to US61/878,899 priority
Priority to US14/284,317 priority
Priority to US14/284,317 priority patent/US20140254466A1/en
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Priority to PCT/US2014/055930 priority patent/WO2015042065A1/en
Publication of KR20160057442A publication Critical patent/KR20160057442A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • H04W48/12Access restriction or access information delivery, e.g. discovery data delivery using downlink control channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic or resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • H04W48/10Access restriction or access information delivery, e.g. discovery data delivery using broadcasted information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information

Abstract

본 발명은 인터리빙 방식들로 상이한 패킷 포맷들의 메시지들을 브로드캐스트하기 위한 방법들, 시스템들 및 디바이스들에 관한 것이며, 여기서 송신기는 수신기의 제 1 소프트웨어 구현에 매우 적합하게 구성된 제 1 포맷의 제 1 패킷을 브로드캐스트하고 제 2 소프트웨어 구현(예컨대, 펌웨어, 애플리케이션 등)과 연관되는 제 2 포맷의 제 2 패킷을 브로드캐스트할 수 있다. 수신기는 제 2 패킷 타입의 메시지들의 존재를 표시하는 정보를 검출하기 위하여 제 1 패킷을 수신하여 프로세싱하며, 정보를 검출하는 것에 대한 응답으로 수신기를 조절하며 (즉, 제 2 소프트웨어 구현의 동작을 변경하며), 제 2 소프트웨어 구현을 통해 제 2 패킷을 수신하여 프로세싱하며, 그리고 프로세싱된 제 2 패킷에 기초한 액션을 수행할 수 있다. 일부 실시예들에서, 제 1 및/또는 제 2 메시지들은 수신기에 의해 결합될 수 있는 데이터의 부분들을 포함할 수 있다.

Description

검출능력 및 보안의 개선을 위한 통지 패킷들의 인터리빙{INTERLEAVING ADVERTISING PACKETS FOR IMPROVED DETECTABILITY AND SECURITY}
[0001] 스마트폰들과 같은 셀룰라 및 무선 통신 디바이스들은 지난 수년간 폭발적으로 성장해 왔다. 이러한 성장은 우수한 통신 하드웨어, 대규모 네트워크들, 및 더 신뢰성 있는 프로토콜들에 의해 가속되고 있다. 오늘날의 스마트폰들은 카메라들, GPS 수신기들, Bluetooth® 트랜시버들은 물론, 디바이스들이 인터넷과의 데이터 통신 링크들을 설정하는 것을 가능하게 하는 셀룰라 통신 능력들 (예컨대, LTE, 3G 및/또는 4G 네트워크 액세스)을 포함한다. 스마트폰들은 현재 사회에서 매우 광범위하게 효율적으로 사용된다. 추가로, 스마트폰들의 컴포넌트들 및 능력들은 현재 매우 쉽게 입수할 수 있는데, 이는 이러한 능력들이 다른 타입들의 디바이스들에서 효율적으로 사용되는 것을 가능하게 한다.
[0002] 다양한 실시예들은 프로토콜이 유사하나 패킷 포맷팅이 상이한 메시지들을 활용하기 위한 시스템들, 디바이스들, 비-일시적 프로세서-판독가능 저장 매체 및 방법들을 제공하며, 이들 메시지들은 송신기 또는 비콘, 예컨대 무선 아이덴티티 송신기에 의해 인터리빙 방식으로 브로드캐스트된다. 무선 아이덴티티 송신기는 단거리 무선 시그널링 기술, 예컨대 Bluetooth® Low Energy (LE)를 사용하여 고유한 보안 식별 코드를 포함할 수 있는 패킷들을 브로드캐스트하도록 구성되는 컴팩트 디바이스일 수 있다. 브로드캐스트 패킷들(또한 "브로드캐스트 메시지들" 또는 "비콘 메시지들"로서 지칭됨)은 물리적으로 근접한 근접 브로드캐스트 수신기(PBR)들에 의해 수신될 수 있으며, 이 수신기들은 몇가지만 예로 들자면 전용 수신기들, PBR 애플리케이션으로 구성된 스마트폰들, PBR 애플리케이션으로 구성된 태블릿 컴퓨터들, 및 고정 수신기들일 수 있다. 장거리 무선 네트워크들 및/또는 인터넷을 사용하면, 근접 브로드캐스트 수신기들은 이러한 패킷들과 함께 다른 연관된 정보, 예컨대 시간, 센서 데이터, 및 위치로부터 수신된 식별자들을 사이팅 메시지들로서 중앙 서버에 송신하거나 또는 업로드할 수 있다.
[0003] 다양한 실시예들에서, 무선 아이덴티티 송신기는 제 1 패킷 포맷의 제 1 메시지(또는 패킷)를 브로드캐스트할 수 있는데, 이 제 1 패킷 포맷의 제 1 메시지는 그 제 1 패킷 포맷의 메시지와 연관되는 근접 브로드캐스트 수신기의 제 1 소프트웨어 구현(예컨대, 펌웨어, 애플리케이션, 명령 세트, 루틴, 서비스, 프로세스, 스레드, 운영 체제 등)에 의해 사용하기에 매우 적합하도록 구성된다. 무선 아이덴티티 송신기들은 또한 근접 브로드캐스트 수신기의 제 2 소프트웨어 구현(예컨대, 펌웨어, 애플리케이션, 명령 세트, 루틴, 서비스, 프로세스, 스레드, 운영 체제 등)과 연관되는 제 2 패킷 포맷의 제 2 메시지(또는 패킷)를 브로드캐스트할 수 있다. 제 1 패킷 포맷의 제 1 메시지는 제 1 근접 시스템과 연관될 수 있으며, 제 2 패킷 포맷의 제 2 메시지는 제 2 근접 시스템과 연관될 수 있다. 근접 브로드캐스트 수신기는 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들(즉, 제 2 근접 시스템과 연관된 메시지들)의 존재를 표시하는 정보를 검출하기 위하여 제 1 프로토콜을 사용하여 제 1 메시지를 수신하여 프로세싱할 수 있는데, 이는 수신기에 대한 조절을 야기한다. 예컨대, 제 2 패킷 포맷의 메시지들의 존재를 표시하는 정보를 검출하는 것에 대한 응답으로, 수신기는 제 2 소프트웨어 구현을 웨이크하고 그리고/또는 제 2 소프트웨어 구현의 듀티 사이클을 증가시킴으로써 수신기의 동작을 변경시킬 수 있다. 이후, 조절된 수신기는 (즉, 제 2 소프트웨어 구현을 통해) 제 2 메시지를 수신하여 프로세싱할 수 있고, 프로세싱된 제 2 메시지에 기초한 액션을 수행할 수 있다.
[0004] 일부 실시예들에서, 제 1 패킷 포맷의 제 1 메시지를 수신기에 의해 수신하는 단계는 제 1 비콘으로부터의 제 1 패킷 포맷의 제 1 메시지를 수신기에 의해 수신하는 단계를 포함할 수 있으며, 수신기를 조절하는 것에 대한 응답으로, 적어도 하나의 비콘에 의해 송신되는 제 2 패킷 포맷의 제 2 메시지를 수신기에 의해 수신하는 단계는 제 1 비콘으로부터의 제 2 패킷 포맷의 제 2 메시지를 수신하는 단계를 포함할 수 있다. 일부 실시예들에서, 제 1 패킷 포맷의 제 1 메시지를 수신기에 의해 수신하는 단계는 제 1 비콘으로부터의 제 1 패킷 포맷의 제 1 메시지를 수신기에 의해 수신하는 단계를 포함할 수 있으며, 수신기를 조절하는 것에 대한 응답으로, 적어도 하나의 비콘에 의해 송신되는 제 2 패킷 포맷의 제 2 메시지를 수신기에 의해 수신하는 단계는 제 2 비콘으로부터의 제 2 패킷 포맷의 제 2 메시지를 수신하는 단계를 포함할 수 있다. 일부 실시예들에서, 제 2 비콘은 모바일 디바이스(예컨대, 셀 폰 등)일 수 있다.
[0005] 일부 실시예들에서, 검출된 정보에 기초하여 제 2 패킷 포맷의 하나 또는 그 초과의 메시지를 프로세싱하도록 수신기를 조절하는 단계(즉, 수신기의 동작을 변경하는 단계)는 검출된 정보에 기초하여 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들과 연관된 제 2 소프트웨어 구현을 수신기에 의해 웨이크하는 단계 및 소프트웨어 구현이 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들의 수신기에서의 수신을 모니터링하는 빈도를 증가시키기 위하여, 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들과 연관된 제 2 소프트웨어 구현에 대한 듀티 사이클을 수신기에 의해 변경하는 단계 중 적어도 하나를 포함할 수 있다. 일부 실시예들에서, 수신된 제 2 메시지에 기초한 액션을 수신기에 의해 수행하는 단계는 수신된 제 2 메시지로부터의 데이터를 포함하는 사이팅 메시지를 수신기가 서버에 송신하는 단계를 포함할 수 있다.
[0006] 일부 실시예들에서, 제 1 및/또는 제 2 메시지들은 수신기에 의해 결합될 수 있는 데이터, 예컨대 연관된 애플리케이션(예컨대, 제 2 소프트웨어 구현)과 함께 사용될 수 있는 데이터의 부분들을 포함할 수 있다. 예컨대, 근접 브로드캐스트 수신기는 제 1 및 제 2 메시지를 수신하고 프로세싱하여 이 양 메시지들로부터의 데이터를 결합함으로써 실행할 커맨드 또는 다른 데이터(예컨대, 중앙 서버에 송신할 롤링 식별자)를 생성할 수 있다. 일부 실시예들에서, 제 1 메시지 및 제 2 메시지는 비-연결가능 블루투스 패킷(non-connectable Bluetooth packet)들(예컨대, 블루투스 LE 통지들)일 수 있다. 일부 실시예들에서, 제 1 메시지는 제 1 0 길이를 가진 제 1 범용 고유 식별자를 포함하거나 또는 블루투스 SIG(Special Interest Group) 특정 범용 고유 식별자를 포함하지 않을 수 있으며 제 2 메시지는 0이 아닌 제 2 길이를 가진 제 2 범용 고유 식별자를 포함할 수 있다. 일부 실시예들에서, 제 1 소프트웨어 구현을 통해 근접 브로드캐스트 수신기에 의해 제 1 메시지를 수신하는 단계는 제 2 소프트웨어 구현을 통해 제 2 메시지를 수신하는 단계 보다 수신기 전력을 덜 소비할 수 있다. 일부 실시예들에서, 제 2 메시지는 무선 아이덴티티 송신기와 연관된 롤링 식별자를 포함할 수 있다.
[0007] 일부 실시예들에서, 방법은 수신된 제 1 메시지를 프로세싱함으로써 데이터의 제 1 부분들 수신기에 의해 식별하는 단계, 및 수신된 제 2 메시지를 프로세싱함으로써 데이터의 제 2 부분을 수신기에 의해 식별하는 단계를 더 포함할 수 있으며, 수신된 제 2 메시지에 기초한 액션을 수신기에 의해 수행하는 단계는 데이터의 식별된 제 1 부분 및 데이터의 식별된 제 2 부분을 수신기에 의해 결합하는 단계, 데이터의 식별된 제 1 부분 및 데이터의 식별된 제 2 부분의 결합에 기초하여 커맨드를 수신기에 의해 생성하는 단계 및 수신기에 의해 커맨드를 실행하는 단계를 포함할 수 있다.
[0008] 일부 실시예들에서, 제 2 패킷 포맷은 제 1 메시지에서 보다 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들에서 더 많은 데이터가 송신되도록 허용할 수 있다. 일부 실시예들에서, 제 2 패킷 포맷은 보다 강한 보안 프로토콜을 활용할 수 있다. 일부 실시예들에서, 수신기는 모바일 디바이스에 포함될 수 있다. 일부 실시예들에서, 비콘들(즉, 무선 아이덴티티 송신기)은 모바일 디바이스(예컨대, 셀 폰 등)에 포함될 수 있다.
[0009] 본원에 통합되고 본 명세서의 부분을 구성하는 첨부 도면들은 본 발명의 예시적인 실시예들을 예시하며, 앞서 주어진 개괄적인 설명 및 이하에서 주어진 상세한 설명과 함께 본 발명의 특징들을 설명하는 역할을 한다.
[0010] 도 1은 다양한 실시예들에서 사용하기에 적합한 실시예 아키텍처들의 네트워크 컴포넌트들을 예시하는 통신 시스템 다이어그램이다.
[0011] 도 2a는 무선 아이덴티티 송신기로부터의 식별자를 브로드캐스트하기 위한 실시예 방법을 예시하는 프로세스 흐름도이다.
[0012] 도 2b는 상이한 패킷 포맷들을 사용하여 무선 아이덴티티 송신기로부터의 식별자를 브로드캐스트하기 위한 실시예 방법을 예시하는 프로세스 흐름도이다.
[0013] 도 3a-도 4b는 다양한 실시예들에 따라 아이덴티티 정보를 포함하는 메시지(또는 패킷) 구조들을 예시하는 메시지(또는 패킷) 포맷 다이어그램들이다.
[0014] 도 5는 다양한 실시예들에서 사용하기에 적합한 모바일 근접 브로드캐스트 수신기내의 다양한 모듈들을 예시하는 컴포넌트 다이어그램이다.
[0015] 도 6은 시간 또는 위치와 같은 다른 데이터와 함께 무선 아이덴티티 송신기의 식별자를 중계하는 모바일 근접 브로드캐스트 수신기의 실시예 방법을 예시하는 프로세스 흐름도이다.
[0016] 도 7은 결정된 패킷 포맷에 기초하여 무선 아이덴티티 송신기의 식별자를 중계하는 모바일 근접 브로드캐스트 수신기의 실시예 방법을 예시하는 프로세스 흐름도이다.
[0017] 도 8은 무선 아이덴티티 송신기에 대한 근접성에 기초하여 사이팅 메시지를 송신하는 것에 대한 응답으로 중앙 서버로부터의 명령을 수신하는 실시예 방법을 예시하는 프로세스 흐름도이다.
[0018] 도 9는 다양한 실시예들에서 사용하기에 적합한 중앙 서버내의 다양한 모듈들을 예시하는 컴포넌트 다이어그램이다.
[0019] 도 10은 다양한 실시예들에서 사용하기에 적합한 무선 아이덴티티 송신기 등록 프로세스를 예시하는 다이어그램이다.
[0020] 도 11은 중앙 서버가 근접 브로드캐스트 수신기들로부터 수신되는 사이팅 메시지들을 프로세싱하기 위한 실시예 방법을 예시하는 프로세스 흐름도이다.
[0021] 도 12는 서버가 롤링 식별자를 핸들링하기 위한 실시예 방법을 예시하는 프로세스 흐름도이다.
[0022] 도 13a는 무선 아이덴티티 송신기가 제 1 패킷 포맷의 제 1 메시지 및 제 2 패킷 포맷의 제 2 메시지를 브로드캐스트하기 위한 실시예 방법을 예시하는 프로세스 흐름도이다.
[0023] 도 13b는 도 13a에 설명된 실시예 방법으로 무선 아이덴티티 송신기에 의해 송신된 브로드캐스트 메시지들을 근접 브로드캐스트 수신기가 수신하여 프로세싱하기 위한 실시예 방법을 예시하는 프로세스 흐름도이다.
[0024] 도 14a는 무선 아이덴티티 송신기가 제 1 데이터 부분을 포함하는 제 1 패킷 포맷의 제 1 메시지 및 제 2 데이터 부분을 포함하는 제 2 패킷 포맷의 제 2 메시지를 브로드캐스트하기 위한 실시예 방법을 예시하는 프로세스 흐름도이다.
[0025] 도 14b는 근접 브로드캐스트 수신기가 도 14a에서 설명된 실시예 방법으로 무선 아이덴티티 송신기에 의해 송신된 브로드캐스트 메시지들을 수신하여 프로세싱하기 위한 실시예 방법을 예시하는 프로세스 흐름도이다.
[0026] 도 15는 다양한 실시예들에 따른 무선 아이덴티티 송신기의 컴포넌트 블록도이다.
[0027] 도 16은 다양한 실시예에 따른 근접 브로드캐스트 수신기의 컴포넌트 블록도이다.
[0028] 도 17은 다양한 실시예들에서 사용하기에 적합한 모바일 디바이스의 컴포넌트 블록도이다.
[0029] 도 18은 다양한 실시예들에서 사용하기에 적합한 서버 디바이스의 컴포넌트 블록도이다.
[0030] 다양한 실시예들은 첨부 도면들을 참조하여 상세히 설명될 것이다. 가능한 모든 경우에, 동일한 참조 번호들은 도면들 전반에 걸쳐 동일하거나 유사한 부분들을 참조하도록 사용될 것이다. 특정 예들 및 구현들에 대해 이루어진 참조들은 예시 목적들을 위한 것이고, 본 발명 또는 청구항들의 범위를 제한하도록 의도되지 않는다.
[0031] 용어 "예시적"은 본원에서 "예, 예증, 또는 예시로서 기능하는"을 의미하도록 사용된다. 본원에 "예시적인" 것으로 설명되는 임의의 구현은 반드시 다른 구현들에 비해 선호되거나 유리한 것으로 해석될 필요는 없다.
[0032] 용어 "컴퓨팅 디바이스"는 본원에서 랩톱 컴퓨터들, 서버들,모바일 디바이스들, 퍼스널 컴퓨터들, 및 적어도 프로세서를 갖춘 유사한 전자 디바이스들 중 임의의 하나 또는 모두를 지칭하기 위해 사용된다. 다양한 실시예들에서, 그런 컴퓨팅 디바이스들은 광역 통신망(WAN) 또는 근거리 통신망(LAN) 연결과 같은 네트워크 연결(예컨대, LTE, 3G 또는 4G 무선 광역 통신망 트랜시버, 인터넷에 대한 유선 연결, 또는 WiFi)을 설정하기 위하여 적어도 하나의 네트워크 인터페이스로 구성될 수 있다.
[0033] 용어 "모바일 디바이스"는 본원에서 셀룰라 전화들, 스마트폰들(예컨대, iPhone®), 웹-패드들, 태블릿 컴퓨터들, 인터넷 인에이블 셀룰라 전화들, WiFi 인에이블 전자 디바이스들, 개인휴대단말(PDA)들, 랩톱 컴퓨터들, 퍼스널 컴퓨터들, 및 적어도 프로세스, 단거리 라디오(예컨대, Bluetooth® 라디오, Peanut® 라디오, WiFi 라디오, 등) 및 광역 통신망 연결(예컨대, LTE, 3G 또는 4G 무선 광역 통신망 트랜시버 또는 인터넷에 대한 유선 연결)을 갖춘 유사한 전자 컴퓨팅 디바이스들 중 임의의 하나 또는 모두를 지칭하기 위해 사용된다. 모바일 디바이스인 것으로서의 특정 타입의 컴퓨팅 디바이스에 대한 참조는, 특정 타입의 모바일 디바이스가 청구항들에 열거되지 않으면 청구항들의 범위를 제한하는 것으로 의도되지 않는다.
[0034] 용어들 "비콘 메시지(beacon message)" 및 "브로드캐스트 메시지"는 본원에서 무선 아이덴티티 송신기들 및/또는 이들의 사용자들과 연관된 식별 정보(즉, 식별자들)를 포함할 수 있는 비콘 디바이스들 또는 무선 아이덴티티 송신기들(하기에서 정의됨)에 의해 브로드캐스트되는 단거리 무선 브로드캐스트 신호들(예컨대, 패킷들)을 지칭하기 위해 사용된다. 그런 식별자들은 주기적으로 변경되고 암호화될 수 있다(즉, 롤링(rolling) 식별자들). 다양한 실시예들에서, 브로드캐스트 메시지들은 또한 암호화될 수 있는, Bluetooth® MAC 어드레스들 및 카운터들과 같은 다른 식별 정보를 포함할 수 있다. 추가로, 브로드캐스트 메시지들은 송신 무선 아이덴티티 송신기의 특징들(예컨대, 디바이스 타입), 센서 데이터, 및/또는 커맨드들 또는 다른 명령들과 같은 메타데이터 및 다른 데이터를 포함할 수 있다. 다양한 실시예들에서, 브로드캐스트 메시지들은 Bluetooth Low Energy, WiFi, WiFi Direct, Zigbee®, Peanut®, 및 other RF 프로토콜과 같은 무선 통신 프로토콜을 통해 송신될 수 있다. 다양한 실시예들에서, 특정 단거리 송신 채널들의 높은 비신뢰성 때문에, 브로드캐스트 메시지들은 특정 크기(예컨대, 80 비트, 10 바이트들, 20 바이트들 등)로 제한된 단일 패킷 송신들일 수 있다. 예컨대, 실시예 브로드캐스트 메시지의 페이로드는 배터리 상태 정보를 표시하는 4 비트 및 롤링 식별자를 표시하는 76 비트을 포함하여 총 80 비트일 수 있다. 다른 예로서, 실시예 브로드캐스트 메시지는 넌스(nonce) 또는 카운터를 나타내는 20 비트 및 롤링 식별자를 나타내는 60 비트을 포함할 수 있으며, 이는 예컨대 의사-랜덤 함수 또는 암호화 알고리즘으로 생성된다. 예시적인 브로드캐스트 메시지(또는 패킷) 구조들은 도 3a-도 4b에서 하기에서 상세히 설명된다.
[0035] 용어 "무선 아이덴티티 송신기"는 본원에서 단거리 무선 송신기들을 통하여 브로드캐스트 메시지들을 주기적으로 송신하도록 구성된 컴팩트 디바이스를 지칭하기 위해 사용된다. 무선 아이덴티티 송신기들은 예컨대 모바일 사람들에 의해 휴대되거나 모바일 물품에 부착될 때 모바일일 수 있거나, 대안적으로 예컨대 빌딩들 내에 설치될 때 고정식일 수 있다. 무선 아이덴티티 송신기들은 팩토리(factory) ID와 같은 고유 디바이스 식별자(즉, "디바이스ID")를 저장하고 이 고유 디바이스 식별자와 연관될 수 있다. 일부 실시예들에서, 고유 디바이스 식별자는 길이가 코드 56 비트일 수 있다. 다양한 실시예들에서, 보안 목적들을 위하여, 이런 고유 디바이스 식별자는 다른 데이터(예컨대, 넌스 또는 카운터 값들)와 함께, "롤링 식별자"로서 브로드캐스트 메시지들 내에 포함될 때 인코딩되거나, 암호화되거나, 또는 그렇지 않으면 애매하게 만들어질 수 있다. 무선 아이덴티티 송신기들은 예컨대 클록으로서 30 ppm 16 kHz 수정 발진기를 사용함으로써 부정확한 시간(예컨대, UTC) 정보를 유지하도록 구성될 수 있다. 무선 아이덴티티 송신기들은 본 개시내용 전반에 걸쳐, 특히 도 15를 참조하여 설명된다. 본 개시내용의 다양한 도면들 및 다이어그램들에서, 무선 아이덴티티 송신기들은 "WIT" 또는 "WIT들"로서 지칭될 수 있다. 다양한 실시예들에서, 비-연결가능 메시지들(예컨대, 비-연결가능 블루투스 패킷들 등)을 브로드캐스트하도록 구성될 때, WIT들은 또한 단순히 비콘 디바이스들로서 지칭될 수 있다.
[0036] 용어 "근접 브로드캐스트 수신기"는 본원에서 무선 아이덴티티 송신기들에 의해 송신된 브로드캐스트 메시지들을 수신하도록 구성된 디바이스들을 지칭하기 위해 사용된다. 다양한 실시예들에서, 근접 브로드캐스트 수신기들은 장소들(예컨대, 빌딩들, 소매점들, 등) 전반에 걸쳐 영구적으로 포지셔닝된 고정식 디바이스들(또는 "고정식 근접 브로드캐스트 수신기들")일 수 있거나, 대안적으로 근접 브로드캐스트 수신기들(또는 "모바일 근접 브로드캐스트 수신기들")로서 동작하도록 구성된 모바일 디바이스들일 수 있다. 예컨대, 스마트폰은 브로드캐스트 메시지들을 수신하고 모바일 근접 브로드캐스트 수신기로서 동작하도록 구성될 수 있다. 근접 브로드캐스트 수신기인 것으로서 특정 타입의 컴퓨팅 디바이스에 대한 참조는, 특정 타입의 디바이스가 청구항들에 열거되지 않으면 청구항들의 범위를 제한하는 것으로 의도되지 않는다. 추가로, 만일 달리 표시하지 않으면, 본 개시내용 전반에 걸쳐 근접 브로드캐스트 수신기들에 대한 참조들은 임의의 방법 또는 시스템을 특정 타입의 근접 브로드캐스트 수신기 디바이스(예컨대, 무선 또는 고정식)로 제한하는 것으로 의도되지 않는다. 근접 브로드캐스트 수신기들은 특히 도 16을 참조하여 본 개시내용 전반에 걸쳐 설명된다. 본 개시내용의 다양한 도면들 및 다이어그램들에서, 근접 브로드캐스트 수신기들은 "PBR" 또는 "PBR들"로서 지칭될 수 있고, 모바일 근접 브로드캐스트 수신기들은 도면들에서 "MPBR" 또는 "MPBR들"로서 지칭된다.
[0037] 용어들 "아이덴티티 트랜시버" 및 "무선 아이덴티티 트랜시버"는 본원에서 브로드캐스트 메시지들을 수신 및 송신하도록 구성된 디바이스들을 지칭하도록 사용된다. 다시 말해서, 아이덴티티 트랜시버는 근접 브로드캐스트 수신기 및 아이덴티티 송신기 둘 다로서 기능을 할 수 있다. 예컨대, 스마트폰은 자신의 고유 식별자를 포함하는 단거리 신호들을 브로드캐스트할 뿐 아니라 인근 내의 무선 아이덴티티 송신기들로부터 브로드캐스트 메시지들을 수신하도록 구성될 수 있다. 본 개시내용 전반에 걸쳐, 다양한 동작들은 무선 아이덴티티 송신기 또는 근접 브로드캐스트 수신기에 의해 명백하게 수행되는 것으로 설명될 수 있지만, 당업자들은, 아이덴티티 트랜시버로서 동작하도록 구성된 디바이스가 임의의 동작 또는 모든 동일한 동작들을 수행하도록 구성될 수 있고 따라서 무선 아이덴티티 송신기 또는 근접 브로드캐스트 수신기에 관련하여 상호 교환 가능할 수 있다는 것을 인식하여야 한다.
[0038] 용어 "사이팅 메시지"는, 무선 아이덴티티 송신기들로부터 브로드캐스트 메시지들을 수신하는 것에 대한 응답으로, 근접 브로드캐스트 수신기들에 의해 중앙 서버로 전송되는 보고들, 신호들 및/또는 메시지들을 지칭하기 위해 본원에서 사용된다. 사이팅 메시지들은 무선 아이덴티티 송신기들의 식별자들과 같은, 임의의 숨겨진(obscured) 또는 암호화된 정보를 비롯하여 수신된 브로드캐스트 메시지들에서 인코딩된 정보의 일부 또는 전부를 포함하는 송신들일 수 있다. 추가로, 사이팅 메시지들은 메타데이터 및 다른 정보(또는 "연관된 데이터"), 예컨대 전송 근접 브로드캐스트 수신기의 식별 정보(예컨대, 디바이스 ID, 3자 소속 등), 근접 브로드캐스트 수신기가 무선 아이덴티티 송신기와 페어링되는지 여부, 송신 콘텍스트 정보(예컨대, 사이팅 메시지가 경보 또는 등록 서비스와 관련됨을 표시하는 코드), 근접 브로드캐스트 수신기들상에서 실행되는 소프트웨어 또는 애플리케이션들에 관한 정보(예컨대, 어플 ID들), 위치 정보, 장소내의 알려진 구역들에 관한 근접 정보, 및 타임스탬프 데이터를 포함할 수 있다. 일부 실시예들에서, 사이팅 메시지들은 또한 사이팅 메시지들을 송신하는 근접 브로드캐스트 수신기들의 식별(또는 식별 정보)을 확인하기 위해 중앙 서버에 의해 사용될 수 있는 인증 정보(예컨대, 비밀 키들, 패스들, 특수 코드들, 디지털 인증서들 등)를 포함할 수 있다. 예컨대, 사이팅 메시지는, 전송 근접 브로드캐스트 수신기가 특정 등록 서비스와 연관되도록 보장하기 위해 중앙 서버에 의해 디코딩될 수 있는, 해시 함수로부터의 코드를 포함할 수 있다. 다양한 실시예들에서, 사이팅 메시지들은 브로드캐스트들의 수신 직후(예컨대, 경보와 관련될 때) 전송되거나, 버퍼링되거나, 또는 다른 스케줄링된 송신들과 함께 스케줄링될 수 있다.
[0039] 본원에서 사용되는 용어 "패킷 포맷"은 무선 아이덴티티 송신기에 의해 브로드캐스트될 수 있는 메시지의 임의의 구조, 어레인지먼트, 패턴, 타입 및/또는 포맷을 지칭한다. 패킷 포맷들은 블루투스 규격 또는 다른 규격(예컨대, Qualcomm 소프트웨어 개발 키트(또는 SDK) 등)내에서 특정되거나 정의될 수 있다. 예컨대, 브로드캐스트 메시지의 패킷 포맷은 블루투스 규격내에 표시되는 특정 블루투스 패킷 구조일 수 있다. 다양한 실시예들에서, 브로드캐스트 메시지들은 다양한 패킷 포맷들 또는 타입들의 비-연결가능(또는 비연결) 통지 패킷들로 구조화될 수 있다.
[0040] 다양한 서비스들, 예컨대 사람 또는 자산(asset)을 로케이팅/추적하는데 사용될 정보를 중계하기 위해 셀룰라 및 무선 디바이스들의 무선 통신 기능들을 레버리지(leverage)하는 시스템들이 최근 제안되었다. 이들 시스템들 중 일부는 데이터, 예컨대 착용자의 위치를 서버에 통신하는 웨어러블 디바이스의 개발을 수반한다. 다른 것들은 착용자와 셀룰라 디바이스 사이에 무선 연결을 설정하는 것을 수반하거나, 또는 인근 디바이스들에 의해 수신될 정보의 브로드캐스트들을 활용한다. 예컨대, 디바이스들은 브로드캐스트 신호들, 예컨대 블루투스 통지 패킷들을 이용하여 연결들을 설정할 수 있고 이는 "오버 디 에어" 정보를 식별하는 것을 포함한다. 브로드캐스트 신호들의 패킷 콘텐츠 및/또는 패킷 포맷들은 패킷 스니퍼들 및 분석기들을 통해 식별될 수 있다.
[0041] 서비스들이 이용가능하다는 것을 이러한 시스템들의 디바이스들이 통지하기 위한 많은 상이한 방식들이 존재한다. 특히, 블루투스 트랜시버로 구성된 디바이스들은, 다양한 데이터, 예컨대 서비스 UUID(universally unique identifier), 제조자 특정 데이터, 이름 등과 함께 연결가능 또는 비-연결가능 패킷들 및/또는 통지들을 비롯한 블루투스 통지 패킷을 전송하기 위해 많은 상이한 포맷들, 타입들, 패턴들 또는 구조들을 활용할 수 있다. 블루투스 패킷들의 지원 구조들이 짧아짐에 따라, 단지 제한된 정보만이 다양한 블루투스 패킷 구조들과 함께 전달될 수 있다.
[0042] 패킷들의 다양한 구조들은 상이한 용도들 또는 데이터 제공자들에 해당할 수 있다. 예컨대, 특정 블루투스 패킷 포맷들은 특정 모바일 디바이스 운영 체제들, 펌웨어, 애플리케이션들, 및/또는 기능들과 함께 사용하도록 구조화될 수 있다. 블루투스 패킷 구조들의 다양한 가능한 타입들이 블루투스 규격에 의해 제공될 수 있지만, 모든 디바이스들이 모든 패킷 포맷들에 쉽게 등록 가능하지 않을 수도 있다. 예컨대, 일부 디바이스들은 전력을 절약하기 위해 특정 패킷 포맷들에 대해서만 액티브하게 모니터링하도록 구성될 있고, 따라서 다른 패킷 포맷의 메시지들을 쉽게 수신 및 프로세싱하지 못할 수도 있다.
[0043] 따라서, 상이한 타입들의 패킷들(또는 패킷 포맷들)이 디바이스들상에서 실행되는 다양한 타입들의 디바이스들 및/또는 소프트웨어 구현들(예컨대, 펌웨어, 애플리케이션들, 명령 세트들, 루틴들, 서비스들, 프로세스들, 스레드들, 운영 체제들 등)에 의해 더 잘 처리될 수 있기 때문에, 무선 아이덴티티 송신기들이 상이한 패킷 포맷들을 브로드캐스트하는 것이 유용할 수 있다. 다양한 실시예들은 예컨대 근접 브로드캐스트 수신기들에 의해, 브로드캐스트 메시지들의 프로세싱을 개선시키기 위해, 인터리빙 방식으로 상이한 패킷 포맷들을 브로드캐스트하기 위한 방법들, 디바이스들 및 시스템들을 제공한다. 다양한 실시예들이 무선 아이덴티티 송신기들 및 근접 브로드캐스트 수신기들을 참조로 본원에서 설명되었지만, 2개 또는 그 초과의 상이한 패킷 포맷들을 인터리빙하는 실시예 방법들은 또한 송신기 및 수신기를 수반하는 타입들의 시스템들 및 구현들의 애플리케이션을 가질 수도 있다. 무선 아이덴티티 송신기는 다양한 실시예들을 활용하는데 적합한 하나의 타입의 송신기이며, 근접 브로드캐스트 수신기 또한 이에 적합한 하나의 타입의 수신기이다. 따라서, 무선 아이덴티티 송신기들 및 근접 브로드캐스트 수신기들에 대한 참조는 예시 목적들을 위한 것이며 청구항들에서 명백하게 열거되지 않는다면 청구항들 또는 본 발명의 범위를 제한하는 것으로 의도되지 않는다.
[0044] 무선 아이덴티티 송신기는 인근 근접 브로드캐스트 수신기(예컨대, 스마트폰)가 수신기를 조절하거나 또는 그렇지 않으면 수신기의 동작을 변경하고 조절된 수신기를 사용하여 메시지들로부터의 데이터를 효과적으로 프로세싱하는 것을 가능하게 할 수 있는 적어도 2개의 상이한 패킷 포맷들의 브로드캐스트 메시지들을 포맷하고 송신하도록 구성될 수 있다. 수신기 디바이스의 이러한 조절들(또는 동작의 변경들)은 디바이스상에서 실행되며 특정 패킷 포맷과 연관되는 소프트웨어 구현들(예컨대, 펌웨어, 애플리케이션들, 명령 세트들, 루틴들, 서비스들, 프로세스들, 스레드들, 운영 체제들 등)을 조절하는 것을 포함할 수 있다. 일부 실시예들에서, 근접 브로드캐스트 수신기 디바이스는 소프트웨어 구현을 웨이크하고 그리고/또는 소프트웨어 구현의 듀티 사이클을 변경함으로써 소프트웨어 구현을 조절할 수 있다. 예컨대, 무선 아이덴티티 송신기는 특정 운영 체제에 의해 검출되도록 그리고 근접 브로드캐스트 수신기(예컨대, 스마트폰)로 하여금 애플리케이션을 웨이크하게 하거나 또는 상이한 패킷 포맷들의 후속 브로드캐스트 메시지들에 대해 보다 특정한 스캔들을 실행하기 위해 애플리케이션을 재구성하도록 정교하게 만들어진(crafted) 제 1 블루투스 통지 패킷을 브로드캐스트할 수 있다. 무선 아이덴티티 송신기는 조절된 수신기에 의해, 예컨대 블루투스 서브시스템을 통해 검출되고 프로세싱되도록 정교하게 만들어진 제 2 블루투스 통지 패킷을 증가된 듀티 사이클로 추가로 브로드캐스트할 수 있다. 적어도 2개의 상이한 패킷 포맷들의 브로드캐스트 메시지들은 상이한 패킷 포맷들을 갖는 비연결 블루투스 LE 패킷들일 수 있다.
[0045] 일부 실시예들에서, 상이한 패킷 포맷들의 브로드캐스트 메시지들 또는 패킷들은 물리 계층(또는 'PHY' 계층)에서 상이한 것이 아니라, 대신 단지 수신기 디바이스들의 소프트웨어 구현들(예컨대, 펌웨어, 애플리케이션들, 명령 세트들, 루틴들, 서비스들, 프로세스들, 스레드들, 운영 체제들 등)에 의한 그들의 프로세싱에 관련하여서만 상이할 수 있다. 다시 말해서, 상이한 패킷 포맷들의 브로드캐스트 메시지들은 동일한 통신 프로토콜을 활용할 수 있다. 예컨대, 제 1 패킷 포맷의 제 1 패킷 및 제 2 패킷 포맷의 제 2 패킷은 둘 다 유사한 물리 계층들(예컨대, 블루투스 LE)를 가질 수 있지만, 스마트폰 근접 브로드캐스트 수신기상에서 실행되는 상이한 펌웨어 루틴들과 연관될 수 있다.
[0046] 상이한 패킷 포맷들의 브로드캐스트 메시지들의 송신을 인터리빙하는 것은 무선 아이덴티티 송신기들에 관련된 정보를 포함하는 브로드캐스트 메시지들의 수신 및 프로세싱을 개선시킬 수 있다. 일부 실시예들에서는, 레이턴시 또는 전력-효율적 프로세싱/인지를 위해 매우 적합하고(또는 최적화되고) 그리고 스마트폰(예컨대, 아이폰(iPhone)들, 안드로이드(Android)들 등)의 운영 체제에 의해 통상 사용될 수 있는 제 1 패킷 포맷의 제 1 메시지를 송신함으로써, 무선 아이덴티티 송신기는 근접 브로드캐스트 수신기들로 하여금 그들의 운영 체제들 내에서의 더 신속한 인게이지먼트를 통해 제 2 패킷 포맷의 제 2 브로드캐스트 메시지에 대해 응답하게 할 수 있다. 예컨대, 운영 체제(OS)에 의해서 효율적으로 인지되고 인게이지되도록 구성되는 예비 제 1 패킷을 전송함으로써, 무선 아이덴티티 송신기는 근접 브로드캐스트 수신기로 하여금 상이한 타입의 후속 데이터 패킷들을 핸들링하기에 매우 적합한(또는 최적화된) 코드/루틴들을 실행하거나 특정 애플리케이션들을 론치하게 할 수 있는데, 그 상이한 타입의 후속 데이터 패킷들은 그렇지 않을 경우에는 운영 체제에 의해 효율적으로 인게이지될 수 없다. 다시 말해서, 운영 체제에 매우 적합한(또는 최적화된) 제 1 패킷 포맷의 메시지는 정보를 통신하기에 더욱 적합한 제 2 패킷 포맷의 메시지가 근접 브로드캐스트 수신기에서 효율적으로 수신될 수 있도록 하기 위해서 브로드캐스트될 수 있다. 그러한 제 2 패킷 포맷들은, 이러한 메시지들이 더 많은 데이터, 예컨대 센서 데이터(예컨대, 방사선 센서 데이터, 습도 센서 데이터, 온도 센서 데이터 등)를 포함할 수 있을 때, 특정 수신기들(또는 그들의 활성 소프트웨어 구현들)이 수신하는데 있어 덜 효율적일 수 있다(또는 최적화되지 않을 수 있다). 일부 실시예들에서, 제 2 포맷은 제 1 패킷 포맷의 메시지들에서 보다는 제 2 포맷의 하나 또는 그 초과의 브로드캐스트 메시지들에서 더 많은 데이터가 송신되도록 허용할 수 있다. 일부 실시예들에서, 제 2 포맷은 예컨대 암호화된 또는 롤링 데이터를 포함함으로써 더 강한 보안 프로토콜을 활용할 수 있다.
[0047] 예시로서: 무선 아이덴티티 송신기(예컨대, Qualcomm, Inc.로부터의 Gimbal 비콘 디바이스)는 특정 운영 체제(예컨대, iOS)를 구현하는 근접 브로드캐스트 수신기의 스캐닝 동작들을 위해 구성되지 않는 제 1 패킷 포맷을 사용하여 롤링 식별자를 갖는 제 1 브로드캐스트 메시지를 송신할 수 있다. 제 1 패킷 포맷의 브로드캐스트 메시지만이 근접 브로드캐스트 수신기에서 백그라운드 프로세스들을 통해 핸들리될 수 있고, 따라서 효율적으로 어드레싱될 수 없다. 그러나, 만약 그 후에 무선 아이덴티티 송신기가 근접 브로드캐스트 수신기의 운영 체제에 매우 적합한(또는 최적화된) 것으로 공지되어 있으며 제 1 패킷 포맷의 제 1 메시지와 인터리빙되는 제 2 패킷 포맷의 제 2 메시지를 송신한다면, 근접 브로드캐스트 수신기는 롤링 식별자를 포함하는 제 1 브로드캐스트 메시지에 대한 개선된 스캐닝을 수행할 수 있다.
[0048] 일부 실시예들에서, 제 1 패킷 포맷의 브로드캐스트 메시지들 및 제 2 패킷 포맷의 메시지들 양쪽 모두는 단일 무선 아이덴티티 송신기(또는 비콘 디바이스)에 의해 송신될 수 있다. 일부 실시예들에서, 제 1 패킷 포맷의 브로드캐스트 메시지들은 제 1 디바이스(예컨대, 제 1 비콘 디바이스)에 의해 송신될 수 있고, 제 2 패킷 포맷의 브로드캐스트 메시지들은 제 2 디바이스(예컨대, 제 2 비콘 디바이스)에 의해 송신될 수 있다. 다양한 실시예들에서, 그러한 비콘 디바이스들은 모바일 디바이스들, 예컨대 셀룰라 폰들 또는 스마트폰들 내에 포함될 수 있다.
[0049] 이러한 인터리빙 기술은, 근접 브로드캐스트 수신기가 정적 패킷들을 사용하는 기술들을 활용하고 또한 각각의 무선 아이덴티티 송신기가 누구(예컨대, 패킷 침입자)에 의해서나 판독될 수 있는 고유 코드를 전송하지 않도록 하는 것이 바람직한 경우에, 특히 도움이 될 수 있다. 예컨대, 소매점에서의 복수의 무선 아이덴티티 송신기들은 그 소매점의 각 영역에 대한 고유 정적 ID를 포함하는 메시지들을 브로드캐스트할 수 있다. 이 경우에는, 경쟁자가 브로드캐스트 메시지들을 수신하기 위해서 여기저기 걸어다니고, 경쟁적 오퍼(offer)들을 제공하기 위해서 소매점을 맵핑(map)할 수 있다. 그러나, 패킷 포맷들을 인터리빙함으로써, 소매점은 모든 무선 아이덴티티 송신기들이 동일한 데이터(또는 심지어 다른 경쟁자 상점들 내에서 송신되는 데이터)를 포함하는 메시지들을 송신하게 할 수 있는데, 그 데이터는 인근의 근접 브로드캐스트 수신기들(예컨대, 고객 모바일 폰들)로 하여금 웨이크 업하고, 소매점 영역들과 연관된 롤링 코드들을 포함하는 블루투스 LE 패킷들을 스캔하며, 그 근접 브로드캐스트 수신기들이 현재 로케이팅된 소매점의 영역을 안전하게 결정하게 할 수 있다.
[0050] 일부 실시예들에서, 무선 아이덴티티 송신기는 둘 또는 그 초과의 패킷 포맷들의 둘 또는 그 초과의 브로드캐스트 메시지들을 사용하여 데이터(또는 데이터 부분들)를 송신하도록 구성될 수 있다. 예컨대, 무선 아이덴티티 송신기는, 스마트폰 운영 체제에 의해 사용하기에 매우 적합하고(또는 최적화되고) 또한 커맨드 또는 애플리케이션 데이터의 부분을 포함하는 제 1 패킷 포맷의 제 1 메시지, 및 특정 애플리케이션과 연관되고 또한 커맨드 또는 애플리케이션 데이터의 다른 부분을 포함하는 제 2 패킷 포맷의 제 2 메시지를 브로드캐스트할 수 있다. 근접 브로드캐스트 수신기는 상이한 패킷 포맷들의 두 개의 브로드캐스트 메시지들에서 수신되는 데이터의 부분들을 결합하도록 구성될 수 있다. 예컨대, 근접 브로드캐스트 수신기는 그 근접 브로드캐스트 수신기에 의해 실행될 커맨드를 생성하기 위해 제 1 및 제 2 메시지에서 수신되는 데이터의 바이트들을 결합할 수 있다.
[0051] 다양한 실시예들에서, 무선 아이덴티티 송신기는 상이한 방식들로 상이한 패킷 포맷들의 인터리빙을 수행할 수 있다. 예컨대, 무선 아이덴티티 송신기는, 제 1 패킷 포맷의 제 1 메시지를 그리고 이어서 제 2 패킷 포맷의 제 2 메시지를 브로드캐스트하고(즉, 1-대-1), 미리 정해진 수의 반복들 동안 제 1 패킷 포맷의 제 1 메시지를 브로드캐스트하고 이어서 미리 정의된 수의 반복들 동안 제 2 패킷 포맷의 제 2 메시지를 브로드캐스트하며(예컨대, 3-대-1, 1-대-3 등등), 기타 이러한 방식으로 브로드캐스트하도록 구성될 수 있다. 일부 실시예들에서, 무선 아이덴티티 송신기는 브로드캐스트 메시지들에 대한 인터리빙 패킷 포맷들의 시퀀스를 결정하기 위해 Fibonacci 방정식을 활용할 수 있다. 다른 실시예에서, 무선 아이덴티티 송신기는 상이한 패킷 포맷들의 메시지들의 브로드캐스트 사이에 대기(또는 간격(space)을 추가)할 수 있다. 예컨대, 무선 아이덴티티 송신기는 상이한 패킷 포맷들의 제 1 및 제 2 메시지를 브로드캐스트하는 반복들 사이에 특정 시간 기간(예컨대, 100 ms(millisecond) 등) 동안 대기할 수 있거나, 대안적으로는 제 1 및 제 2 메시지를 브로드캐스트하는 것 사이에 특정 수의 밀리초들(예컨대, 50 ms 등) 동안 대기할 수 있다. 그러한 간격 또는 대기 기간들은 패킷들을 수신하고 있는 운영 체제 또는 디바이스들의 타입들에 기초할 수 있다. 예컨대, 제 1 및 제 2 메시지를 브로드캐스트하는 것 사이의 시간은 제 1 메시지가 iOS 디바이스에서 사용하기에 매우 적합(또는 최적화)하게 되도록 구성될 때 제 1 수의 밀리초들일 수 있다. 다른 예로서, 제 1 및 제 2 메시지를 브로드캐스트하는 것 사이의 시간은 제 1 메시지가 안드로이드 디바이스에서 사용하기에 매우 적합(또는 최적화)하게 되도록 구성될 때 제 2 수의 밀리초들일 수 있다. 다시 말해서, 다양한 실시예들에서, 무선 아이덴티티 송신기는 다양한 반복 및/또는 타이밍 시퀀스들을 사용하여 제 1 및 제 2 메시지를 반복적으로 브로드캐스트(또는 재-브로드캐스트)할 수 있다.
[0052] 다른 실시예에서, 무선 아이덴티티 송신기는 그의 배터리에 대한 송신들의 영향에 기초하여 상이한 패킷 포맷들을 시퀀스들로 브로드캐스트할 수 있다. 예컨대, 특정 패킷 포맷들의 메시지들이 특정 시간 기간 내에 송신될 때는 전력 소비 결과들이 존재할 수 있기 때문에, 무선 아이덴티티 송신기는 배터리의 소비를 막기 위해 그러한 패킷 포맷들의 메시지들의 브로드캐스트를 조절하기 위해서 미리 결정된 시간 임계치를 활용할 수 있다.
[0053] 다양한 실시예들에서, 무선 아이덴티티 송신기는 제 1 및 제 2 포맷들의 패킷들을 개별적으로 브로드캐스트할 수 있다. 예컨대, 무선 아이덴티티 송신기는 상이한 패킷 포맷들을 브로드캐스트하기 위해 상이한 클록들을 활용할 수 있다. 그에 따라서, 제 1 및 제 2 패킷 포맷들이 브로드캐스트 및/또는 수신되는 순서는 다양한 실시예들에서는 중요하지 않을 수 있다. 비-제한적인 예시를 위해, 무선 아이덴티티 송신기는 서비스 UUID를 갖는 제 1 패킷을 무한 시간 기간 동안 주기적으로 브로드캐스트할 수 있고, 또한 서비스 UUID(또는 0 길이의 서비스 UUID)를 갖지 않는 제 2 패킷을 브로드캐스트할 수 있는데, 여기서 제 2 패킷은 제 1 패킷이 또한 브로드캐스트되고 있다는 것을 단지 표시할 수 있다.
[0054] 상이한 브로드캐스트 수신기 디바이스들은, 상이한 패킷 포맷들의 패킷들을 모니터링, 스캐닝, 수신 또는 그렇지 않으면 프로세싱하도록 구성될 수 있다. 예컨대, 제 1 브로드캐스트 수신기 디바이스는 제 1 패킷 포맷의 브로드캐스트 패킷들에 대해서만 스캐닝하도록 구성될 수 있고, 제 2 브로드캐스트 수신기 디바이스는 제 1 패킷 포맷 및/또는 제 2 패킷 포맷의 브로드캐스트 패킷들에 대해 스캐닝하도록 구성될 수 있으며, 제 3 브로드캐스트 수신기 디바이스는 제 2 패킷 포맷의 브로드캐스트 패킷들에 대해서만 스캐닝하도록 구성될 수 있다. 따라서, 어떤 디바이스들의 경우, 무선 아이덴티티 송신기들이, 관련된 정보를 추적하여 이를 서버로 중계하는 것과 같이, 데이터를 가진 다른 패킷들이 이용가능하다는 표시자를 포함하는 제 1 패킷 포맷의 패킷들은 물론, 다양한 애플리케이션(예컨대, 보안, 롤링 식별자들)에 사용될 수 있는 데이터를 포함하는 제 2 포맷의 패킷들 모두를 동시에 브로드캐스트할 수 있기 때문에, 실시예의 인터리빙 기술들이 유용할 수 있다. 예컨대, 제 1 포맷의 패킷들은, 스마트폰(예컨대, 브로드캐스트 수신기 디바이스로서 기능하기 위한 애플리케이션을 갖도록 구성된 스마트폰)으로 하여금, 스마트폰이 이전에 스캐닝하도록 구성되지 않았던(또는 그러한 패킷들을 드물게만 스캐닝하도록 구성되었던) 제 2 포맷의 패킷들(예컨대, 롤링 식별자를 포함함)의 탐색을 시작하게 할 수 있다. 이러한 방식으로, 모든 구성들의 컴퓨팅 디바이스들은 롤링 식별자들을 포함하는 브로드캐스트 메시지를 효율적으로 프로세싱할 수 있게 만들어질 수 있다.
[0055] 다양한 실시예들은 동기화 정보, 타이밍 정보 또는 송신기 디바이스(예컨대, 무선 아이덴티티 송신기)와 수신 디바이스(예컨대, 근접 브로드캐스트 수신기) 사이의 연결을 설정하기 위해 수신 디바이스(예컨대, 근접 브로드캐스트 수신기)에 의해 사용될 수 있는 다른 데이터를 포함하지 않는 패킷들 또는 브로드캐스트 메시지들을 사용할 수 있다는 것을 주목해야 한다. 특히, 브로드캐스트 메시지들 또는 패킷들은 비-연결가능 블루투스 LE 통지들일 수 있다. 또한, 알려진 통신 방식들의 파일럿 통신들과는 다르게, 실시예의 비연결형 패킷들 또는 브로드캐스트 메시지들은 식별 정보를 제공하지 않고, 인근의 근접 시스템들 및/또는 브로드캐스트 디바이스들의 이용가능성을 단지 표시할 수 있다. 예컨대, 무선 아이덴티티 송신기에 의해 브로드캐스트된 제 1 포맷의 패킷들은 무선 아이덴티티 송신기의 아이덴티티를 포함하지 않을 수 있지만, 대신에 플래그들, 데이터, 코드들, 또는 일부 인근의 송신기가 또한 제 2 포맷으로 패킷들을 브로드캐스트하고 있다는 다른 표시자를 단지 포함할 수 있다. 따라서, 다양한 실시예들은 다른 방식들, 예컨대, WAN과 관련된 CDMA 통신들(예컨대, 셀룰라 네트워크) 또는 LAN의 라우터와의 WiFi 통신과 구별되는데, 그 이유는 실시예의 디바이스들이, 연결들을 설정하기 위해 요구되는 데이터를 표시하지 않고, 상이한 근접 시스템들의 존재를 표시하기 위해 상이한 포맷들의 브로드캐스트 패킷들을 간단히 사용할 수 있기 때문이다.
[0056] 일반적으로, 암호화된 식별자를 포함하는 브로드캐스트 메시지들은, 하나 또는 그 초과의 중앙 서버들과 통신할 수 있는 셀 폰들, 모바일 디바이스들, 또는 고정 근접 브로드캐스트 수신기들과 같은 근접 브로드캐스트 수신기들의 네트워크에 의해 수신될 수 있다. 다양한 실시예들에서, 무선 아이덴티티 송신기는, 단거리 무선 브로드캐스트의 범위 내에서 임의의 근접 브로드캐스트 수신기에 의해 수신될 수 있는 포맷으로 식별 코드를 갖는 패킷을 송신하도록 구성된 컴팩트 디바이스일 수 있다. 무선 아이덴티티 송신기가 자신의 식별자를 포함하는 브로드캐스트 메시지들을 송신하기 위해 단거리 무선 시그널링(예컨대, 단거리 라디오 신호들, 예컨대, 블루투스 저 에너지 패킷들, 광 신호들, 사운드 신호들 등)에 의존하기 때문에, 근접한 곳의 근접 브로드캐스트 수신기들만이 이러한 브로드캐스트 메시지를 수신할 수 있다. 따라서, 근접 브로드캐스트 수신기들 그 자체의 위치는 브로드캐스트 메시지를 수신할 때 무선 아이덴티티 송신기에 대한 대략적인 위치를 제공할 수 있다. 무선 아이덴티티 송신기로부터 브로드캐스트 메시지를 수신하는 각각의 근접 브로드캐스트 수신기는 암호화된 무선 아이덴티티 송신기 식별자들을 포함하는 사이팅 메시지들을 프로세싱을 위해 중앙 서버로 전달할 수 있다. 중앙 서버는 수신된 사이팅 메시지들 내의 롤링 식별자를 포함하는, 암호화되거나 숨겨진 정보를 디코딩할 수 있다.
[0057] 다양한 실시예들에서, 무선 아이덴티티 송신기는, 중앙 서버가 무선 아이덴티티 송신기의 고유한 디바이스 식별자(및 다른 식별 정보)를 디코딩, 해독 또는 그렇지 않으면 인식가능하게 하면서, 디바이스 식별자가 인코딩/암호화되는 방식을 주기적으로 변경하거나, 송신기 추적을 어렵게 하는 방식으로 식별자 그 자체를 변경(본 명세서에서 "롤링 식별자"로 지칭됨)하도록 구성될 수 있다. 예컨대, 무선 아이덴티티 송신기는 무선 아이덴티티 송신기의 디바이스 식별자(즉, 디바이스 ID)의 인코딩된 버전을 포함하는 블루투스 패킷을 주기적으로 브로드캐스트하도록 구성될 수 있다. 브로드캐스트 메시지들에 표시된 식별자들의 이러한 암호화는, 단지 추측에 의해 브로드캐스트 메시지의 발신지를 결정하도록 3자(예컨대, 수동 공격자)를 강제하면서, 중앙 서버가 브로드캐스트 메시지의 발신자 무선 아이덴티티 송신기를 신뢰성 있게 식별하게 하도록 요구될 수 있다. 예컨대, 식별자가 정적이라면, 3자는 예컨대, 근접 브로드캐스트 수신기로 가장함으로써 식별자를 스니핑할 수 있고, 그 후 무선 아이덴티티 송신기를 공격하기 위해 식별자를 사용할 수 있다. 롤링 식별자들은, 3자가 암호화된 식별자들을 생성하는 수단이 부족하더라도 이러한 공격을 불가능하게 할 수 있다.
[0058] 단일 패킷 브로드캐스트 메시지가 종래 비대칭 키 암호화의 암호문에 적합할 수 있는 페이로드를 지원하지 못할 수 있기 때문에, 표준 개인/공용 키 쌍 암호화가 다양한 실시예들에서 이용가능하지 않을 수 있다. 부가적으로, 무선 아이덴티티 송신기들은 일반적으로 브로드캐스트 전용 디바이스들이며, 따라서, 종래의 암호화 방식들에서 전형적으로 요구되는 백 채널이 없다. 따라서, 다양한 실시예들에서 중앙 서버는 각각의 무선 아이덴티티 송신기에 고유한 공유 비밀 키를 사전에 공급함으로써 암호화된 메시지 페이로드들을 프로세싱할 수 있다. 이러한 비밀 키들은 중앙 서버의 각각의 무선 아이덴티티 송신기의 고유한 디바이스 식별자와 관련될 수 있고, 각각의 무선 아이덴티티 송신기에 의해 인코딩된 데이터(예컨대, 식별자들)를 디코딩하는데 사용될 수 있다.
[0059] 추가의 예방책이, 중앙 서버와 관련된 데이터베이스에 대한 해커 공격들과 같은 보안 침입들을 방지함은 물론, 등록된 사용자들(예컨대, 상인들, 부모들, 어린이들 등)에게 이들의 프라이버시가 완전하게 보호될 수 있다는 평안함과 신뢰감을 제공하기 위해 중요할 수 있다. 이러한 프라이버시 보호조치는, 사용자들의 근접 정보 및/또는 추적 디바이스들과 관련된 다른 정보와는 분리되게 식별 정보(예컨대, 이름, 주소, 재정 정보, 의료 정보 등)를 저장함으로써, 실시예의 시스템들에 등록된 당사자들에게 제공될 수 있다. 특히, 등록된 상인들, 고객들, 어린이들 또는 개인들의 신상 정보의 의도치 않은 누출을 회피하기 위해, 실시예의 시스템들은 "이중-블라인드" 구조들을 이용할 수 있다. 예컨대, 이러한 이중 블라인드 구조는, 등록된 사용자들의 디바이스들(예컨대, 무선 아이덴티티 송신기들, 근접 브로드캐스트 수신기들, 아이덴티티 송수신기들, 모바일 디바이스들 등)의 근접 정보나 다른 위치 기반 데이터와 관련된 정보를 저장하고 이에 액세스하는 제 1 유닛(예컨대, 서버, 데이터베이스, 또는 다른 컴퓨팅 허브)을 사용할 수 있다. 다시 말해서, 제 1 유닛은, 다양한 사용자들의 디바이스들의 대략적인 위치들/근접들을 나타내는 사이팅 메시지들과 관련된 정보에 액세스할 수 있다. 그러나 제 1 유닛은 고유하게 식별되는 신상 정보, 예컨대, 사용자 이름들, 주소들 및/또는 사회적 보안 번호들을 고유하게 저장하지 않을 수 있다. 대신에, 제 2 유닛은, 제 1 유닛에 의해 사용되는 것처럼 임의의 위치/근접 정보에 액세스하도록 구성되지 않고 식별 신상 정보를 저장할 수 있다. 제 1 및 제 2 유닛들은 이 유닛들 중 하나에 저장된 보호된 정보를 나타내지 않고 두 유닛들 내에 저장된 데이터에 연결하는 익명의 식별자들을 사용할 수 있다. 일부 실시예들에서, 제 1 및 제 2 유닛들은 개별 엔티티들(예컨대, 서비스 제공자들)에 의해 유지될 수 있고, 더욱이, 이러한 엔티티들 중 적어도 하나는 식별 정보를 제공하는, 등록된 사용자들에 의해 신뢰될 수 있다.
[0060] 다양한 실시예들은, 이미 적소에 있는 모바일 디바이스들의 대규모 인프라스트럭처를 레버리지한다. 현대의 많은 모바일 디바이스들, 예컨대 스마트폰들은, Bluetooth® 라디오들과 같은 단거리 라디오들을 포함하는 다수의 라디오들을 이미 갖추고 있으며, 그에 따라, 모바일 근접 브로드캐스트 수신기들로서 작동하고 그리고 근접 무선 아이덴티티 송신기로부터 식별 코드들을 수신하도록 구성될 수 있다. 모바일 디바이스들은 또한, 현재 시간을 제공할 수 있는 클록, 및 무선 아이덴티티 송신기 식별자가 수신될 때 마다 현재 위치를 제공할 수 있는 GPS 수신기를 종종 갖추고 있다. 모바일 디바이스들은, 이러한 식별 코드들, 시간들 및 위치들을 사이팅 메시지들을 통하여, 예컨대 셀룰라 라디오 연결과 같은 보다 긴 범위의 네트워크 연결들을 통해 중앙 서버들에 전달할 수 있다. 따라서, 이미 이용중이거나 곧 이용하게 될 다수의 모바일 디바이스들 중 많은 모바일 디바이스들이 모바일 근접 브로드캐스트 수신기들로서 통합되어, 다양한 실시예의 시스템들의 범위(reach)를 연장시킬 수 있다.
[0061] 수신된 브로드캐스트 메시지(또는 "사이팅들")의 위치 및 시간을 중앙 서버에 보고하기 위해 근접 브로드캐스트 수신기들의 장기간 라디오들 및 다른 서비스들에 의존함으로써, 무선 아이덴티티 송신기들은, 배터리, 및 Bluetooth® LE 트랜시버와 같은 단거리 라디오를 단지 포함하는, 비교적 작고 저렴하며 간단한 디바이스들일 수 있다. 다양한 실시예들에서, 무선 아이덴티티 송신기들은 또한, 예컨대 Peanut® 라디오들과 같은 부가적인 단거리 라디오들을 포함할 수 있다. 다양한 실시예들에서, 무선 아이덴티티 송신기들은, 사용자 인터페이스, 다수의 라디오들, GPS(global positioning system) 수신기, 또는 모바일 디바이스들에 대해 공통적인 다른 피처들을 포함하지 않을 수도 있다. 실시예의 무선 아이덴티티 송신기들은 또한 아주 적은(very little) 전력을 소비할 수 있어서, 이러한 무선 아이덴티티 송신기들이 빈번하게 재충전되거나 교체될 필요없이 배치될 수 있게 허용할 수 있다. 이러한 특징들은, 매우 다양한 이용들에 대해 그리고 다양한 물리적 구성들에서의 구현에 대해 이러한 무선 아이덴티티 송신기들이 이상적이게 한다. 예컨대, 무선 아이덴티티 송신기들은, 예컨대 버튼들, 시계들, 신발들, 서류가방들, 백팩들, ID 배지들, 의복, 제품 패키징 등과 같은 많은 상이한 개인적 물건들 내에 용이하게 숨겨지거나 포함될 수 있다.
[0062] 실시예의 방법들, 디바이스들, 및 시스템들은 광범위한 목적들을 위해 이용될 수 있다. 예컨대, 다양한 실시예들은, 실종 어린이들, 정신병 환자들, 애완동물들, 알츠하이머 환자들, 자연 재해들의 피해자들, 및 이들을 구조하고자 시도하는 최초 대처자들, 등을 추적하는 데에 이용될 수 있다. 다른 실시예들은 고가의 소유물 상에 설치되는데, 이는 로지스틱스 시스템들에서 그러한 소유물을 추적하고, (예컨대, 건축 부지들로의/건축 부지들로부터의) 경계 영역 이송들을 모니터링하고, 그리고 소유물이 도난당했는지 또는 분실이 보고되었는 지를 추적하기 위한 것이다. 실시예들은 또한, 제어된 영역 내로 사람들이 들어오고 나가는 것을 모니터링하는 데에 이용될 수 있다. 다양한 실시예들은 앰버 경고 시스템을 지원 또는 보완할 수 있거나, 또는 경찰관들에게 정보를 제공할 수 있다. 실시예들은 또한, 개인적인 사람들 또는 기업체들에게 귀중한 정보를 제공할 수 있다.
[0063] 무선 아이덴티티 송신기들은 또한, 정보(예컨대, 센서 데이터)를 전달하거나 또는 근접 브로드캐스트 수신기들에게 특정 액션들을 취하도록 프롬프팅하는 역할을 할 수 있다. 일부 실시예들에서, 무선 아이덴티티 송신기들은, 예컨대 모바일 폰과 같은 근접 브로드캐스트 수신기에 의해 수행될 하나 또는 그 초과의 동작들을 표시하는 브로드캐스트 메시지들을 송신할 수 있으며, 이 경우, 브로드캐스트 메시지는 또한, 무선 아이덴티티 송신기의 타입(즉, 디바이스 타입 식별자 또는 디바이스 타입 정보) 또는 커맨드에 해당하는 제 2 세그먼트(즉, 커맨드 식별자)를 포함할 수 있다. 브로드캐스트 메시지를 수신하는 근접 브로드캐스트 수신기들은, 식별 또는 2차 코드에 기초하여 액션을 취할 수 있다. 대안적으로, 근접 브로드캐스트 수신기들은 수신된 브로드캐스트 메시지를 중앙 서버에 송신할 수 있고, 중앙 서버는 수행될 동작을 표시하기 위해, 근접 브로드캐스트 수신기에 명령들 또는 다른 코드를 리턴시킬 수 있다.
[0064] 다른 실시예들에서, 무선 아이덴티티 송신기들 및 근접 브로드캐스트 수신기들은, 다양한 무선 기술들, 예컨대 LTE-D, 피어-투-피어 LTE-D, WiFi, 및 WiFi Direct를 이용하여 송신들을 교환하도록 구성될 수 있다. 일부 실시예들에서, 무선 아이덴티티 송신기들은, WiFi 트랜시버들을 갖는 근접 브로드캐스트 수신기들이 브로드캐스트 메시지들을 수신할 수 있도록, WiFi 라디오를 통해 메시지들을 브로드캐스트하도록 구성될 수 있다. 이러한 실시예들에서, 무선 아이덴티티 송신기들은, WiFi 액세스 포인트 브로드캐스트 통지들과 유사한 식별 정보를 브로드캐스트하기 위해 WiFi 송신들을 활용할 수 있다. 예컨대, WiFi 라디오를 포함하는 무선 아이덴티티 송신기는, 수신 범위가 제한되도록 저 전력을 갖는 WiFi 송신들을 통해 브로드캐스트 메시지들을 송신하도록 구성될 수 있으며, 그에 의해, Bluetooth LE 송신들의 것과 유사한 범위를 갖는 단거리 라디오 신호를 제공할 수 있다. 무선 아이덴티티 송신기들에 의해 다양한 무선 브로드캐스트 기술들 및 통신 프로토콜들을 활용함에 있어서, 제한된 성능들을 갖는 근접 브로드캐스트 수신기들은 여전히, 무선 아이덴티티 송신기들로부터 브로드캐스트 메시지들을 수신하고 프로세싱할 수 있다. 예컨대, 모바일 근접 브로드캐스트 수신기로서 동작하도록 구성되고 그리고 WiFi 트랜시버를 포함하지만 Bluetooth LE 라디오는 아닌 스마트폰은, WiFi 라디오에 의해 단거리 신호들을 브로드캐스트하도록 구성된 무선 아이덴티티 송신기로부터 브로드캐스트 메시지들을 수신하고 프로세싱할 수 있다. 일부 실시예들에서, 무선 아이덴티티 송신기들은, 근접 브로드캐스트 수신기들의 더 많은 모델들(즉, 더 많은 타입들의 스마트폰들)이 사이팅들을 수신하고 중계할 수 있도록 하기 위해, 다수의 라디오들, 예컨대, Bluetooth LE 트랜시버 및 저 전력 WiFi 트랜시버를 통해 브로드캐스트할 수 있다.
[0065] 다른 실시예들에서, 무선 아이덴티티 송신기들은, 브로드캐스트 메시지들 내에서 인코딩될 수 있는 센서 데이터를 생성하는 센서들을 포함할 수 있다. 이러한 센서 데이터는 마이크로폰들, 카메라들, 압력 센서들, 열 센서들, 가속도계들, 습도 센서들, 온도 센서들, 이산화탄소(CO2) 센서들 등을 포함할 수 있다. 이러한 센서들로부터의 데이터는, 근접 브로드캐스트 수신기들 또는 근접 브로드캐스트 수신기들로부터 사이팅 메시지들을 통해 데이터를 수신하는 중앙 서버에 의해 저장되거나 이용될 수 있다.
[0066] 다양한 실시예의 방법들은, 단거리 무선 브로드캐스트 메시지들의 수신에 기초하여, 무선 아이덴티티 송신기들이 근접 브로드캐스트 수신기들에 근접하여 있음을 그리고 그 반대의 경우를 결정할 수 있다. 또한, 실시예들은 무선 아이덴티티 송신기들 및/또는 근접 브로드캐스트 수신기들에 대한 정확한 위치들을 결정하는 것을 요구하지 않을 수 있지만, 대신에, 디바이스들의 서로 간의 개략적인 및/또는 상대적인 위치들을 결정할 수 있다. 따라서, 본 개시내용 전체에 걸쳐서 위치 및/또는 거리의 결정들에 대한 언급들은 시그널링 디바이스들 간의 근접성을 결정하는 목적을 위한 것일 수 있다.
[0067] 다양한 실시예들에서, 회사들, 조직 및 기관들(예컨대, 학교들, 상점들, 공원들, 공항들, 쇼핑 몰들, 사무소 빌딩들 등)은, 사용자들의 무선 아이덴티티 송신기들로부터 브로드캐스트 메시지들을 수신하고 중계하도록 정적 근접 브로드캐스트 수신기들을 배치할 수 있다. 대안적으로, 장소들은 정적 무선 아이덴티티 송신기들을 배치할 수 있고, 사용자들의 모바일 근접 브로드캐스트 수신기들은 브로드캐스트 메시지들을 수신하고 중계할 수 있다. 다른 실시예들에서, 장소들은, 모바일 근접 브로드캐스트 수신기들 및/또는 무선 아이덴티티 송신기들 양자 모두를 보유하는 사용자들로부터 데이터를 수신하고, 중계하고, 프로세싱하기 위해, 근접 브로드캐스트 수신기들 및 무선 아이덴티티 송신기들 양자 모두를 이용할 수 있다. 브로드캐스트 메시지들의 소스에 상관없이, 중앙 서버(또는 로컬 컴퓨팅 디바이스)는, 수신된 사이팅 메시지들에 기초하여, 근접 브로드캐스트 수신기와 무선 아이덴티티 송신기 간의 대략적인 근접들을 결정할 수 있다.
[0068] 도 1은 다양한 실시예들에서 이용될 수 있는 예시적인 통신 시스템(100)을 예시한다. 통신 시스템(100)은, 무선 아이덴티티 송신기들(110)(예컨대, Bluetooth® LE 송신기들)로 하여금, 다이렉트 통신 링크를 협상할 필요없이, 복수의 모바일 근접 브로드캐스트 수신기들(138) 및/또는 정적 근접 브로드캐스트 수신기들(142)을 통해 중앙 서버(120)로, 식별 정보를 포함하는 브로드캐스트 메시지를 송신하는 것을 효과적으로 가능하게 한다. 그러한 브로드캐스트 메시지는, 무선 아이덴티티 송신기들(110)의 근접(또는 브로드캐스트 범위) 내의 임의의 근접 브로드캐스트 수신기에 의해 자동적으로 수집될 수 있다. 예컨대, 특정 근접 내의 모바일 근접 브로드캐스트 수신기(138)는, 무선 아이덴티티 송신기(110) 내의 Bluetooth® 라디오에 의해 송신되는 브로드캐스트 메시지를 수신할 수 있다.
[0069] 통신 시스템(100)은 무선 아이덴티티 송신기(110)를 포함할 수도 있다. 무선 아이덴티티 송신기(110)는 다양한 물건들과 커플링될 수도 있다. 예컨대, 이는 팔찌에 내장될 수도 있다. 무선 아이덴티티 송신기(110)는 위에서 설명된 바와 같이 단거리 무선 신호(114), 예컨대 브로드캐스트 메시지를 송신할 수 있다. 예컨대, 이 단거리 무선 신호(114)는 무선 아이덴티티 송신기의 식별 코드를 포함하는 패킷의 주기적 브로드캐스트일 수도 있다. 대안으로, 단거리 무선 신호(114)는 근접 브로드캐스트 수신기들로서 작동하고 있을 수도 있는 복수의 모바일 디바이스들(138) 중 임의의 모바일 디바이스와 무선 통신 링크를 설정하려는 시도일 수도 있다. 단거리 무선 신호(114)는 가까운 근접 브로드캐스트 수신기들, 예컨대 고정식 근접 브로드캐스트 수신기들(142) 및/또는 모바일 근접 브로드캐스트 수신기들(138)에 의해 수신될 수도 있다.
[0070] 단거리 무선 신호(114)는 다양한 통신 프로토콜들 중 임의의 프로토콜, 예컨대 Bluetooth®, Bluetooth LE®, Wi-Fi, 적외선 무선, 유도 무선, UWB(ultra-wideband), 무선 USB(universal serial bus), Zigbee®, Peanut®, 또는 유효 통신 범위를 상대적으로 단거리로(예컨대, 약 100 미터 이내로) 제한하도록 (예컨대, 송신 전력을 한정함으로써) 수정된 또는 수정될 수 있는 다른 단거리 무선 기술들이나 프로토콜들에 따를 수 있다. 일부 실시예들에서, 무선 아이덴티티 송신기(110)는 Bluetooth® 4.0 프로토콜(또는 더 이후 버전들)로 표준화된 저 에너지 기술을 사용할 수도 있다. 예컨대, 일부 실시예의 시스템들에서 무선 아이덴티티 송신기(110)는 Bluetooth® 4.0 프로토콜에 기술된 바와 같이 통지자로서 구성된 식별 패킷들을 주기적으로 브로드캐스트할 수 있고, 가까운 근접 브로드캐스트 수신기들(142, 138)은 그 프로토콜에 따라 스캐너들로서 작동하도록 구성될 수도 있다.
[0071] Bluetooth® 프로토콜 및 Bluetooth® 디바이스들(예컨대, Bluetooth LE 디바이스들)은 상대적으로 짧은 유효 통신 거리를 가지며, 전개되는 통신 및 컴퓨팅 디바이스들에 널리 사용되고, 다양한 실시예들의 발견 및 보고 요구들을 충족시키는 표준 통지 또는 페어링 프로시저들을 가지며, 낮은 전력 소비를 나타내는데, 이는 프로토콜을 다양한 실시예들의 많은 애플리케이션들에 대해 이상적이 되게 한다. 이러한 이유로, 예시 목적으로 본원의 많은 예들에서 Bluetooth® 및 Bluetooth LE 프로토콜들 및 디바이스들이 언급된다. 그러나 청구항들의 범위는 청구항들에서 구체적으로 언급되지 않는 한 Bluetooth® 또는 Bluetooth LE 디바이스들 및 프로토콜로 제한되지 않아야 한다. 예컨대, Peanut® 트랜시버들은 무선 아이덴티티 송신기들(110) 내에 포함될 수 있으며, Peanut® 단거리 라디오 송신들을 이용하도록 또한 구성된 근접 브로드캐스트 수신기들(142, 138)과의 양-방향 통신들을 송신하는 데 사용될 수 있다.
[0072] 통신 시스템(100)은 당국, 상인들 또는 다양한 3자들에 의해 지역, 건물 또는 장소 전역에 전개될 수도 있는 복수의 고정식 근접 브로드캐스트 수신기들(142)을 포함할 수도 있다. 이러한 고정식 근접 브로드캐스트 수신기들(142)은 구체적으로 무선 아이덴티티 송신기들(110)을 위해 설계될 수 있다(또는 다른 주요 기능, 예컨대 교통 신호등들, 유틸리티 트랜스포머들 등 외에도 이러한 추적 기능들을 포함할 수도 있다). 고정식 근접 브로드캐스트 수신기들(142)은 예컨대, 커뮤니티 중심으로 외벽을 형성하고 그리고/또는 교통 밀집 지역들(예컨대, 주요 교차로들 및 고속도로 온-램프들)에 로케이팅되는 장소 내의 전략적 요충지들에 로케이팅될 수 있다. 고정식 근접 브로드캐스트 수신기들(142)은 인터넷(103)에 대한 연결(148)을 제공하는 인터넷 액세스 서버(140)를 포함할 수도 있는 근거리 네트워크(190), 예컨대 WiFi 네트워크와 통신할 수도 있다. 고정식 근접 브로드캐스트 수신기들(142)은 유선 또는 무선 링크(146)에 의해 근거리 네트워크(190)에 연결될 수 있다. 다양한 실시예들에서, 고정식 근접 브로드캐스트 수신기들(142)은 인터넷 액세스 서버(140) 내에 포함되거나 그 근처에 로케이팅될 수도 있다. 예컨대, 고정식 근접 브로드캐스트 수신기들(142)은 인터넷 액세스 서버(140) 내의 컴포넌트들일 수도 있고 또는 대안적으로, 인터넷 액세스 서버(140) 상부에 또는 그 측면들에 배치될 수도 있다. 일부 실시예들에서, 고정식 근접 브로드캐스트 수신기들(142)은 예컨대, 커뮤니티 중심으로 외벽을 형성하고 그리고/또는 교통 밀집 지역들에(예컨대, 소매점의 통로들을 따라, 빌딩들으로의 입구들에 등)에 로케이팅되는 장소 내의 전략적 요충지들에 로케이팅될 수도 있다. 일부 실시예들에서, 고정식 근접 브로드캐스트 수신기들(142)은 추가 기능을 가질 수도 있다. 예컨대, 고정식 근접 브로드캐스트 수신기들(142)은 또한 소매점 내에서 금전 등록기들, 판매-시점 디바이스들 및/또는 디스플레이 유닛들로서 기능할 수도 있고 또는 이들 내에 포함될 수도 있다.
[0073] 통신 시스템(100)은 또한 모바일 근접 브로드캐스트 수신기들(138)로서 작동하도록 구성된 하나 또는 그 초과의 모바일 디바이스들을 포함할 수도 있다. 모바일 근접 브로드캐스트 수신기들(138)은 유선 또는 무선 연결(158)에 의해 하나 또는 그 초과의 네트워크 운영 센터들(132)에 커플링된 하나 또는 그 초과의 기지국들(134)에 대한 장거리 무선 링크들(136)을 통해 셀룰라 네트워크(121)와 통신하는 일반적인 모바일 디바이스들 또는 스마트폰들일 수도 있다. 이러한 셀룰라 네트워크(121)는 다양한 기술들, 예컨대 3G, 4G 및 LTE를 이용할 수도 있다. 네트워크 운영 센터들(132)은 셀룰라 네트워크(121)를 통한 음성 호들 및 데이터 트래픽들을 관리할 수 있고, 일반적으로는 하나 또는 그 초과의 서버들(130)을 포함하거나 유선 또는 무선 연결(156)에 의해 하나 또는 그 초과의 서버들(130)에 연결될 수도 있다. 서버들(130)은 인터넷(103)에 대한 연결(154)을 제공할 수도 있다. 다양한 실시예들에서, 모바일 근접 브로드캐스트 수신기들(138)은 무선 아이덴티티 송신기들(110)로부터 수신된 브로드캐스트 메시지들(즉, 사이팅 메시지들)의 보고들을 인터넷(103)에 의해 중앙 서버(120)로 중계하는 근접 브로드캐스트 수신기들로서 작동하도록 애플리케이션 또는 다른 소프트웨어 모듈에 의해 구성된 모바일 디바이스들일 수도 있다.
[0074] 근접 브로드캐스트 수신기들(138, 142)은 인터넷(103)을 통해 무선 아이덴티티 송신기(110)와의 접촉들(또는 관찰들)을 중앙 서버(120)에 보고하도록 구성될 수도 있다. 예컨대, 근접 브로드캐스트 수신기들(142)은 무선 아이덴티티 송신기(110)의 사용자의 아이덴티티에 대응하는 롤링 식별자를 포함하는 사이팅 메시지를 중앙 서버(120)에 송신할 수도 있다. 근접 브로드캐스트 수신기(138, 142)가 무선 아이덴티티 송신기(110)로부터 식별자를 수신할 때마다, 식별자는 근접 브로드캐스트 수신기(138, 142)의 연결 위치 및 연결 시간과 연관될 수 있고, 이 정보는 예컨대, 사이팅 메시지 내에서 중앙 서버(120)로 송신될 수도 있다. 일부 실시예들에서, 접촉의 식별자, 시간 및 위치가 예컨대, 중앙 서버(120)의 의한 질의 메시지 브로드캐스트 또는 멀티캐스트에 대한 응답으로, 추후 보고를 위해 근접 브로드캐스트 수신기(138, 142)(또는 중간 서버(130, 140))의 메모리에 저장될 수 있다. 또한, 중앙 서버(120)는 데이터베이스에 사이팅 메시지들에 의해 보고되는 위치 정보를 데이터베이스에 저장할 수도 있으며, 이는 무선 아이덴티티 송신기(110)의 움직임들을 로케이팅하거나, 추적하거나 아니면 모니터링하는 데 사용될 수 있다.
[0075] 일부 실시예들에서, 모바일 근접 브로드캐스트 수신기들(138)은 고정식 근접 브로드캐스트 수신기들(142)과 단거리 무선 신호들(189)을 교환하도록 구성될 수도 있다. 즉, 모바일 근접 브로드캐스트 수신기(138)는 무선 아이덴티티 송신기(110)로부터 단거리 무선 신호들(114)(즉, 브로드캐스트 메시지들)을 수신할 수 있을 뿐만 아니라, 근접 브로드캐스트 수신기들(142)에 의한 수신을 위한 단거리 무선 신호들(189)도 송신할 수 있는 무선 아이덴티티 트랜시버로서 동작하도록 구성될 수도 있다.
[0076] 일부 실시예들에서, 근접 브로드캐스트 수신기들(142)은 무선 라우터(185)에, 예컨대 인터넷(103)에 대한 연결(187)을 제공할 수 있는 근거리 네트워크(190)의 일부에 무선 신호들(188)을 송신할 수도 있다. 예컨대, 고정식 근접 브로드캐스트 수신기들(142)은 무선 아이덴티티 송신기(110)에 의해 WiFi 무선 라우터(185)에 송신되는 브로드캐스트 메시지들로부터의 데이터를 포함하는 사이팅 메시지들을 송신할 수도 있다.
[0077] 중앙 서버(120)는 또한 인터넷(103)에 연결됨으로써, 근접 브로드캐스트 수신기들(142, 138)과 중앙 서버(120) 간의 통신을 가능하게 할 수도 있다. 위에서 설명된 바와 같이, 중앙 서버(120)는 복수의 컴포넌트, 블레이드들, 또는 근접 브로드캐스트 수신기들(142, 138)로부터 수신된 사이팅 메시지들 및 데이터를 프로세싱하기 위한 다른 모듈들을 포함할 수 있다. 추가 실시예들은 중앙 서버들(120)과 모바일 디바이스 네트워크 컴포넌트들 중 임의의 컴포넌트, 예컨대 네트워크 운영 센터들(132) 간의 (도시되지 않은) 직접 연결을 제공하여, 근접 브로드캐스트 수신기들(142, 138)과 중앙 서버들(120)을 더 직접적으로 연결할 수도 있다.
[0078] 통신 시스템(100)은 또한, 컴퓨팅 단말들(124), 예컨대, 가정 또는 작업장의 개인용 컴퓨터들을 포함할 수 있고, 이를 통해 사용자들은 중앙 서버(120)와 인터넷(103)을 통해 통신할 수 있다. 이러한 단말들(124)은, 사용자들, 예컨대, 부모, 경찰, 소방관, 의료 요원들 및 다른 인가된 기관들이 디바이스들(예컨대, 무선 아이덴티티 송신기들(110))을 등록하고, 중앙 서버들(120) 상의 추적 기록들에 액세스하고 그리고/또는 중앙 서버(120)가 특정 무선 아이덴티티 송신기(110)에 대한 탐색을 개시하게 요청하도록 허용할 수 있다. 일부 실시예들에서, 사용자들은, 이러한 단말들(124)을 이용하여, 여컨대, 중앙 서버(120)와 연관된 사용자 계정들 및/또는 웹 포털들에 액세스함으로써, 무선 아이덴티티 송신기들(110), 근접 브로드캐스트 수신기들(142, 138)(예컨대, 중앙 서버와 연관된 클라이언트 소프트웨어를 실행하도록 구성되는 스마트폰들) 및/또는 아이덴티티 트랜시버들(미도시)을 등록할 수 있다. 유사하게, 제 3자들, 예컨대, 상인들은 단말들(124을 이용하여, 무선 아이덴티티 송신기들(110), 근접 브로드캐스트 수신기들(142, 138)(예컨대, 클라이언트 소프트웨어를 실행하고 중앙 서버에 브로드캐스트를 중계하도록 구성되는 정적 수신기들) 및/또는 아이덴티티 트랜시버들(미도시)을 등록할 수 있다.
[0079] 장소 내의 근접 브로드캐스트 수신기들(138, 142)의 위치에 기초하여, 다수의 근접 브로드캐스트 수신기들(138, 142)은 무선 아이덴티티 송신기(110)의 브로드캐스트 영역 내에 있을 수 있고, 브로드캐스트 메시지들을 동시에 수신할 수 있다. 중앙 서버(120)는, 근접 브로드캐스트 수신기들(138, 142)이, 무선 아이덴티티 송신기(110)로부터의 브로드캐스트 메시지들의 수신을 표시하는 사이팅 메시지들을 언제 동시에 (또는 특정 시간 기간 내에) 송신할지를 검출할 수 있다. 이러한 동시의 사이팅 메시지들은, 브로드캐스트의 시간에 무선 아이덴티티 송신기와 관련된 더 정확한 근접도 정보를 결정하기 위해 이용될 수 있다.
[0080] 도 2a는, 무선 아이덴티티 송신기(110)(도 2a에서 "WIT"로 지칭됨), 근접 브로드캐스트 수신기(142) 및 중앙 서버(120)에서의 구현을 위한 실시예 방법(200)을 예시한다. 블록(201)에서, 무선 아이덴티티 송신기가 부트-업할 수 있다. 즉, 무선 아이덴티티 송신기는, 에너지를 공급받고, 초기화되고, 그렇지 않으면, 수면, 슬립, 동면 또는 다른 비활성화된 상태로부터 동작하도록 구성될 수 있다. 다양한 실시예들에서, 부트-업 동작들은, 사용자 입력(예컨대, 버튼 프레스), 무선 아이덴티티 송신기에 배터리의 삽입 또는 단거리 무선 신호(예컨대, 활성화 신호)를 수신하는 것에 대한 응답으로 수행될 수 있다. 블록(202)에서, 무선 아이덴티티 송신기(110)는, 식별자를 포함하는 메시지, 예컨대 앞서 설명된 바와 같은 브로드캐스트 메시지를 브로드캐스트할 수 있다. 예컨대, 무선 아이덴티티 송신기(110)는, 본원에서 설명되는 바와 같은 롤링 식별자를 포함하는 블루투스 LE 통지 패킷을 브로드캐스트할 수 있다. 이것은, 무선 아이덴티티 송신기(110) 내의 마이크로제어기가, 송신기의 식별자를 브로드캐스트할 시간이라고 결정하고, 적절한 브로드캐스트 메시지를 구성하고, 단거리 라디오를 통해 그 패킷(예컨대, Bluetooth®4.0 프로토콜의 블루투스 LE 디바이스들에 대해 특정되는 통지 패킷)을 송신함으로써, 블록(202)에서 달성될 수 있다.
[0081] 다양한 실시예들에서, 무선 아이덴티티 송신기에 의해 브로드캐스트되는 메시지(즉, 브로드캐스트 메시지)는 식별자 세그먼트, 예컨대 롤링 식별자를 포함할 수 있다. 다양한 실시예들에서, 브로드캐스트 메시지는 또한 추가적인 세그먼트들, 예컨대 타입 세그먼트를 포함할 수 있다. 타입 세그먼트는 무선 아이덴티티 송신기의 타입을 표시할 수 있다. 예컨대, 무선 아이덴티티 송신기들은, 다양한 목적들, 예컨대, 아동 보호 디바이스들, 개 목걸이들 또는 상점들을 위한 보안 태그들로 마케팅될 수 있다. 무선 아이덴티티 송신기들은, 의도된 목적에 기초하여 상이한 타입 세그먼트(예컨대, 아동 보호 디바이스들을 위한 하나의 코드, 개 목걸이들을 위한 제 2 코드 등)를 가질 수 있다. 타입 세그먼트들은 정적일 수 있고 제조자들에 의해 설정될 수 있는 한편, 식별자의 나머지 부분은 각각의 디바이스에 고유할 수 있고, 아래에서 설명되는 바와 같이 롤링할 수 있다. 타입 세그먼트는 또한, 예컨대, 무선 아이덴티티 송신기가 상이한 목적 또는 애플리케이션을 위해 리셋되는 경우, 사용자에 의해 변경될 수 있다.
[0082] 다른 실시예들에서, 브로드캐스트 메시지는 또한, 근접 브로드캐스트 수신기에 의해 구현될 명령들 또는 커맨드들을 갖는 하나 또는 그 초과의 정적 또는 동적 세그먼트들을 포함할 수 있다. 이러한 커맨드 세그먼트들은 또한 중앙 서버 또는 다른 네트워크 디바이스에 명령하기 위해 전달될 수 있다. 커맨드 세그먼트들은 설정될 수 있거나, 타입 세그먼트들과 유사하게 정적일 수 있거나 또는 다양한 조건들, 예컨대, 하나 또는 그 초과의 근접 브로드캐스트 수신기들로부터의 데이터 또는 페어링들에 따라 시간에 걸쳐 변할 수 있다. 이러한 커맨드 세팅들은 또한 무선 아이덴티티 송신기의 사용자에 의해 구성될 수 있다. 제 2 또는 추가적인 세그먼트들은 또한, 무선 아이덴티티 송신기의 상태를 표시할 수 있다. 예컨대, 제 2 세그먼트는, 배터리가 방전되기 전에 남은 전력 또는 추정된 남은 시간을 표시할 수 있다. 근접 브로드캐스트 수신기들 또는 중앙 서버는 이러한 상태를 해석할 수 있고, 그에 따라 응답할 수 있다.
[0083] 도 2a로 되돌아가서, 블록(204)에서, 무선 아이덴티티 송신기(110)는 슬립 모드로 들어갈 수 있다. 예컨대, 식별자를 갖는 브로드캐스트 메시지를 브로드캐스트한 후, 무선 아이덴티티 송신기(110)는, 미리 결정된 시간 기간 동안 계속될 수 있는 전력 보존 상태로 들어가도록 구성될 수 있다. 다양한 실시예들에서, 무선 아이덴티티 송신기(110)는 미리 결정된 시간 동안 슬립할 수 있거나, 결코 슬립하지 않을 수 있거나, 또는 다양한 입력들에 기초하여 결정된 가변 시간들 동안 슬립할 수 있다. 블록(206)에서, 무선 아이덴티티 송신기(110)는, 예컨대, 미리 결정된 지속기간이 만료한 후 슬립 모드로부터 웨이크 업할 수 있다. 블록(208)에서, 무선 아이덴티티 송신기(110)는, 롤링 식별자 알고리즘과 같은 알고리즘으로부터 새로운 디바이스 식별자를 생성할 수 있다. 예컨대, 무선 아이덴티티 송신기(110)는, 아래에서 설명되는 바와 같이, 의사-랜덤 함수 또는 스트리밍-유사 암호화 알고리즘(예컨대, AES-CTR)을 이용하여 롤링 식별자를 생성할 수 있다. 그 다음, 무선 아이덴티티 송신기(110)는 다시 브로드캐스트하기 위해 블록(202)으로 리턴할 수 있다. 일부 실시예들에서, 브로드캐스트 메시지는, 메시지들을 수신하기 위한 무선 아이덴티티 송신기의 이용가능성을 표시하는 타이밍, 카운터, 카운트-다운 또는 스케줄링 정보를 포함할 수 있다. 예컨대, 브로드캐스트 메시지는, 무선 아이덴티티 송신기가 특정된 시간 윈도우 내에 착신 구성 메시지들을 수용할 것임을 표시할 수 있다.다양한 실시예들에서, 블록들(202-208)의 동작들은 아이덴티티 트랜시버(예컨대, 아이덴티티 송신기 및 근접 브로드캐스트 수신기 둘 모두로서 동작하도록 구성되는 스마트폰)에 의해 수행될 수 있다.
[0084] 앞서 언급된 바와 같이, 블록(208)에서 이용되는 알고리즘(또는 롤링 식별자 알고리즘)은, 무선 아이덴티티 송신기(110)의 아이덴티티(예컨대, 매체 액세스 제어 어드레스(MAC) 또는 블루투스 ID), 디코딩 키, 및/또는 롤링 식별자를 생성하기 위해 이용된 알고리즘 어느 것도 알지 못하는 디바이스 또는 시스템에 의해 예측 또는 인식하기 매우 곤란한 롤링 식별자를 생성할 수 있다. 아래에서 논의되는 바와 같이, 알고리즘(또는 디코딩 알고리즘) 또는 디코딩 키로 구성되고, 무선 아이덴티티 송신기(110) 아이덴티티들을 소유한 중앙 서버(120)는 롤링 식별자를 이용하여 대응하는 계정 또는 디바이스 아이덴티티를 결정할 수 있다. 방법(200)은 일례로서 모든 웨이크 및 브로드캐스트 사이클마다 변하는 롤링 식별자를 도시하지만, 다른 실시예들에서 식별자는 덜 빈번하게, 예컨대 1분 당 한번, 1시간 당 한번 등으로 변경될 수 있다. 이러한 실시예들에서, 블록(208)에서 새로운 식별자를 생성하는 동작은 오직 지정된 간격으로 수행될 수 있어서, 다른 시간들에는, 웨이크(즉, 블록(206)) 시에, 무선 아이덴티티 송신기(110)가 식별자를 브로드캐스트하기 위해 블록(202)으로 리턴할 수 있다. 롤링 식별자들 또는 다른 인코딩된 식별자들을 생성하기 위한 다양한 알고리즘들은, 앞서 인용에 의해 통합된 관련 출원들에서 논의된다.
[0085] 도 2b는, 무선 아이덴티티 송신기(110)(도 2b에는 "WIT"로 지칭됨)가 상이한 패킷 포맷들의 메시지들을 브로드캐스트하기 위한 실시예 방법(250)을 예시한다. 블록(201)에서, 무선 아이덴티티 송신기는 부트-업할 수 있다. 블록(252)에서, 무선 아이덴티티 송신기(110)는, 제 1 패킷 포맷(예컨대, 제 1 구조)을 이용하여, 식별자, 예컨대, 앞서 설명된 바와 같은 브로드캐스트 메시지를 포함하는 패킷(즉, 브로드캐스트 메시지)를 포맷할 수 있다. 예컨대, 무선 아이덴티티 송신기(110)는, 특정 블루투스 규격에 기초하여, 숨겨진 디바이스 식별자를 포함하는 패킷 또는 메시지를 포맷할 수 있다. 제 1 패킷 포맷은, 근접 브로드캐스트 수신기들 상에서 실행되는 특정 표준들 또는 소프트웨어 구현들(예컨대, 소프트웨어, 펌웨어, 운영 체제 루틴들 등)과 연관된 포맷, 패턴 또는 다른 구조일 수 있다. 예컨대, 제 1 패킷 포맷은, 대중적인 스마트폰들 상에서 실행되는 신호 모니터링 서비스들(즉, 제 1 소프트웨어 구현)에 적합하거나, 최적화되거나 또는 그렇지 않으면 쉽게 수신되고 프로세싱되는 통지 패킷 내의 데이터를 구조화하는 방식일 수 있다. 일부 실시예들에서, 패킷은, 제 1 패킷 포맷으로 포맷되는 경우 롤링 또는 숨겨진 식별자를 포함할 수 있거나 포함하지 않을 수 있다. 다른 실시예에서, 패킷은 서비스 UUID(예컨대, 블루투스 SIG 특정된 범용 고유 식별자)를 포함하지 않을 수 있거나, 또는 대안적으로, 제 1 패킷 포맷으로 포맷되는 경우 0의 길이를 갖는 서비스 UUID를 포함할 수 있다.
[0086] 블록(254)에서, 무선 아이덴티티 송신기는, 예컨대, 블루투스 트랜시버를 사용하여 포맷된 블루투스 통지 패킷을 송신함으로써 포맷된 패킷을 브로드캐스트할 수 있다. 앞서 설명된 바와 같이, 블록(204)에서, 무선 아이덴티티 송신기(110)는 슬립 모드에 들어갈 수 있고, 예컨대, 미리 정의된 기간(예컨대, 50 ms, 60 ms 등)의 만료 후에, 블록(206)에서 슬립 모드로부터 웨이크 업할 수 있다.
[0087] 블록(256)에서, 무선 아이덴티티 송신기는 제 2 패킷 포맷을 사용하여 식별자를 포함하는 패킷을 포맷할 수 있다. 블록(256)에서의 동작들은, 제 2 패킷 포맷이 제 1 패킷 포맷과 상이한 데이터 패턴, 구조 또는 조직을 가질 수 있고 근접 브로드캐스트 수신기들 상에서 실행되는 상이한 소프트웨어 구현들과 연관될 수 있다는 것을 제외하면, 블록(252)에서의 동작들과 유사할 수 있다. 예컨대, 제 2 패킷 포맷은, 제 1 패킷 포맷과 연관된 제 1 소프트웨어 구현과 상이한 근접 브로드캐스트 수신기(예컨대, 스마트폰 근접 브로드캐스트 수신기) 상에서 실행되는 제 2 소프트웨어 구현(예컨대, 펌웨어, 애플리케이션, 명령 세트, 루틴, 서비스, 프로세스, 스레드, 운영 체제 등)과 연관될 수 있다. 일부 실시예들에서, 패킷은, 제 2 패킷 포맷으로 포맷될 때, 서비스 UUID(또는 0보다 더 긴 길이를 갖는 서비스 UUID)를 포함할 수 있다.
[0088] 무선 아이덴티티 송신기(110)는 블록(254)에서 포맷된 메시지를 브로드캐스트할 수 있다. 앞서 설명된 바와 같이, 선택적 블록(204')에서, 무선 아이덴티티 송신기(110)는 슬립 모드, 예컨대, 슬립하거나 비지 사이클을 수행하는 제 2 기간에 들어갈 수 있고, 예컨대, 다른 정의된 기간(예컨대, 50 ms, 60 ms 등)의 만료 후에 선택적 블록(206')에서 슬립 모드로부터 웨이크 업할 수 있다. 블록(204) 및 선택적 블록(204')에서 슬립 동작들과 연관된 시간 기간들은 동일하거나 대안적으로 상이한 시간 기간들일 수 있고, 선택적 블록들(204, 204' 및 206, 206')의 슬립 및 웨이크 동작들은 무선 아이덴티티 송신기(110)로 하여금 상이한 패킷 구조들/타입들의 메시지들을 근접 브로드캐스트 수신기들의 능력들에 대응할 수 있는 다양한 간격들로 브로드캐스트하게 하도록 구성될 수 있다. 예컨대, 특정 스마트폰 근접 브로드캐스트 수신기의 루틴들, 애플리케이션들 또는 운영 체제 동작들의 알려진 프로세싱 레이트들에 기초하여, 무선 아이덴티티 송신기(110)는, 상이한 패킷들의 수신 및 효율적인 처리를 보장하기 위해 제 1 패킷 포맷의 제 1 메시지 및 제 2 패킷 포맷의 제 2 메시지를 브로드캐스트하는 것 사이에 특정 수의 밀리초를 대기할 수 있다. 다시 말해서, 무선 아이덴티티 송신기(110)는 제 1 패킷 포맷의 메시지 및 제 2 패킷 포맷의 메시지를 브로드캐스트하는 것 사이의 제 1 지연뿐만 아니라, 제 1 패킷 포맷의 메시지를 다시 브로드캐스트하기 위해 복귀하기 전의 제 2 지연을 사용할 수 있다. 블록(208)에서, 무선 아이덴티티 송신기(110)는 알고리즘으로부터 새로운 디바이스 식별자(예컨대, 롤링 식별자)를 생성할 수 있고, 이어서 제 1 패킷 포맷을 사용하여 다시 브로드캐스트하기 위해 블록(252)으로 복귀할 수 있다.
[0089] 일부 실시예들에서, 무선 아이덴티티 송신기(110)는 다양한 디바이스들의 펌웨어 또는 운영 체제들 상에서 개선된 성능을 획득하기 위해 복수의 상이한 패킷 타입들 또는 패킷 포맷들의 메시지들을 송신하도록 구성될 수 있다. 예컨대, 무선 아이덴티티 송신기는 아이폰들(또는 iOS 디바이스들)에 매우 적합한(또는 최적화된) 것으로 알려진 제 1 패킷 포맷으로 포맷된 제 1 메시지, 안드로이드들(또는 안드로이드 디바이스들)에 매우 적합한(또는 최적화된) 것으로 알려진 제 2 패킷 포맷으로 포맷된 제 2 메시지, 및 센서 데이터 및 롤링 식별자들과 같이 무선 아이덴티티 송신기들에 관련된 데이터의 통신을 지원할 수 있는 제 3 패킷 포맷으로 포맷된 제 3 메시지를를 브로드캐스트하도록 구성될 수 있다.
[0090] 앞서 언급된 바와 같이, 롤링 식별자 및 다른 정보는 표준 블루투스 LE 메시지 패킷 포맷(또는 패킷 타입)의 페이로드 내에서 통신될 수 있다. 도 3a는 실시예의 롤링 식별자를 구현하는 예시적인 블루투스 LE 메시지 구조를 예시한다. 일 실시예에 따른 브로드캐스트 메시지(300)는 통상의 블루투스 LE 메시지의 어드레스들 및 헤더들, 데이터 필드들(302 내지 308)을 포함할 수 있고, 블루투스 메시지의 페이로드 부분 또는 통지되는 데이터 필드(310) 내에서 롤링 식별자 및 디바이스 정보를 포함할 수 있다. 예컨대, 브로드캐스트 메시지(300)는 송신되고 있는 블루투스 메시지의 타입, 이러한 경우에, 비연결가능 통지 이벤트를 식별하는 4 바이트의 정보일 수 있는 표준 액세스 어드레스 데이터 필드(302)를 포함할 수 있다. 브로드캐스트 메시지(300)에서의 데이터의 다음 블록은 통지된 패킷 데이터 유닛 타입(304)(예컨대, 1 바이트의 데이터)일 수 있고, 이는 통지된 패킷 데이터 유닛 헤더(306)가 후속할 수 있고, 이것은 차례로, 6 바이트의 데이터일 수 있는 통지된 패킷 데이터 유닛 어드레스(308)가 후속된다. 표준 블루투스 데이터 필드들(302 내지 308)은 기본적으로 비연결 통지 이벤트로서 메시지를 식별하며, 메시지는 고유 롤링 식별자뿐만 아니라 송신중인 임의의 데이터를 포함하는 통지된 데이터 필드(310)가 후속한다.
[0091] 브로드캐스트 메시지(300)의 통지된 데이터 필드(310)는 두 개의 데이터 필드들(320 및 322)(또는 부분들)에서 브로드캐스트 정보 및 롤링 식별자를 통합할 수 있다. 통지 타입 블루투스 LE 패킷들에서, 임의의 타입의 통지 데이터가 포함되어, 브로드캐스트 메시지(300) 내에 롤링 식별자 및 다른 데이터를 포함하는 유연성을 제공할 수 있다. 도 3a에 예시된 예시적인 실시예에서, 서비스 UUID(universally unique user identifier) 데이터 필드(320)는 도 3a에 예시된 바와 같이 배터리 상태 및 온도와 같은 무선 아이덴티티 송신기로부터의 센서 또는 다른 데이터를 전달하는데 사용될 수 있다. 예컨대, 데이터 필드(320)는 도 3a에 예시된 바와 같이 11 HEX와 같은 데이터 필드의 길이를 나타내는 표준 블루투스 데이터 필드(330)를 포함할 수 있으며, 이러한 데이터 필드는 메시지의 이 부분이 17 바이트 길이를 가짐을 나타내고, 이것은 후속하는 바이트들의 정보에서 뒤따르는 정보의 타입을 나타내는 코드를 제공하는 데이터 타입 필드(332)가 후속될 수 있다.
[0092] 이들 헤더 필드들(330, 332)에 후속하는 것은 데이터 필드(334)일 수 있다. 이 데이터 필드(334)는 코드에 대한 의도된 의미를 획득하도록 테이블 룩업 키로서 사용될 수 있는 보편적으로 고유한 값 형태의 코드를 포함할 수 있다. 예컨대, 전세계적으로 고유 식별자 넘버들(즉, UUID들)은 UUID들을 생성하기 위한 절차에 따라 생성될 수 있으며, 그 후, 대응하는 데이터베이스에서의 특정 의미들, 값들, 경고들, 및/또는 커맨드들에 링크될 수 있고, 중앙 서버에 의해 유지될 수 있다. 따라서 유효 UUID는 디바이스의 식별자 또는 통상 어드레스로서 기능하기 보다는 특정 메시지 또는 조건을 식별하지만, 블루투스 프로토콜에 따르는 서비스 UUID 필드(334)에 포함될 수 있다. 예컨대, UUID는 데이터베이스에서 특정 배터리 레벨 및 온도 값 또는 범위에 링크될 수 있다. 이러한 방식으로, 브로드캐스트 메시지(300)의 표준 UUID 부분은 표준 블루투스 프로토콜로부터 변경됨이 없이 매우 많은 수의 의미들, 값들, 경보들, 또는 커맨드들을 전달하는데 사용될 수 있다. 또한, 미가공 데이터가 이 데이터가 보편적으로 고유 식별자를 나타낸다는 블루투스 프로토콜에 따르지 않을 것이지만, 미가공 데이터 또는 센서 데이터를 서비스 UUID 데이터 필드(334)에 포함시키는 것이 가능할 수 있다.
[0093] 랜덤 방식으로 데이터 테이블에 서비스 UUID들을 링크시키는 대신에, UUID들에 대한 표준 포맷이 생성된 UUID들의 범위 내에서 데이터 필드들을 제공하는데 사용될 수 있다. 예컨대, 도 3a는 서비스 UUID 데이터 필드(334)가 22 비트 UUID 프리픽스(340)와 12 바이트 접미사(346)를 포함하는 실시예를 예시하며, 이들 사이에는, 배터리 레벨 값 데이터 필드(342) 및 온도 값 데이터 필드(344)와 같은 송신될 3 바이트의 데이터가 포함된다. 이 예에서, 동일한 UUID 프리픽스(340) 값 및 동일한 UUID 접미사 값을 포함하는 1024 개의 상이한 UUID들이 생성될 수 있다. 이 데이터 구조는 그 후, 데이터를 전달하기 위하여 프리픽스와 접미사 사이에서 3 바이트의 데이터, 예컨대, 무선 아이덴티티 송신기의 배터리 레벨(데이터 필드(342))을 나타내는 2 바이트들 및 측정된 온도(데이터 필드(344))를 나타내는 1 바이트를 제공한다. 이 데이터 구조는 일 예로서 제공된 것이고, 많은 다른 데이터 구조들이 사용될 수 있고, 상이한 타입들의 정보가 이러한 방식으로 통신될 수 있다(또는 어떠한 정보도 통신되지 않을 수 있다).
[0094] 서비스 UUDI 데이터 필드(320)에 이어 롤링 식별자가 포함될 수 있는 데이터 필드(322)가 후속한다. 예컨대, 이 식별자 데이터 필드(322)는 패킷 내의 데이터의 바이트들의 수를 식별하는 바이트의 패킷 길이(335)를 포함할 수 있다. 데이터 필드에 이어 데이터 필드가 제조자 특정인 경우에 후속하는 정보의 타입을 표시하는 코드를 포함하는 패킷 타입 필드(336)가 후속할 수 있다. 이들 헤더 데이터 필드들에 이어 무선 아이덴티티 송신기의 제조자 또는 타입, 시스템에 대한 서비스 제공자 등을 식별하는데 이용될 수 있는 (예컨대,) 2 바이트의 데이터를 포함하는 제조 ID 필드(337)가 후속할 수 있다.
[0095] 롤링 식별자는 메시지(300)의 최종 데이터 필드(338)에 포함될 수 있다. 최종 데이터 필드(338)에 포함된 롤링 식별자를 생성하기 위한 다양한 방법들은 이 문서에 인용에 의해 포함되는 관련 출원들에서 설명된다. 예컨대, 이러한 데이터 필드(338)는 넌스(예컨대, 타이머, 넌스 또는 카운터) 및 이 넌스를 이용하여 생성된 숨겨진 "블랍(blob)", 무선 아이덴티티 송신기 및 중앙 서버에만 알려진 키, 및 무선 아이덴티티 송신기의 고유한(예컨대, MAC 어드레스) 식별자를 포함할 수 있다. 위에서 논의된 다른 예로서, 이 데이터 필드(338)는 카운터/클록/넌스를 이용하여 생성된 단일 "블랍", 무선 아이덴티티 송신기 및 중앙 서버에만 알려진 보안 키 및 무선 아이덴티티 송신기의 고유한(예컨대, MAC 어드레스) 식별자를 포함할 수 있다.
[0096] 다양한 실시예들에서, 최종 데이터 필드(322)에 포함된 롤링 식별자의 길이는, 통신 데이터에 대한 서비스 UUID 데이터 필드(320)(즉, 데이터 필드(334))에 포함된 데이터의 바이트들의 수를 감소시킴으로써 증가될 수 있다.
[0097] 도 3b는 실시예 롤링 식별자를 구현하는 다른 예시적인 블루투스 LE 메시지 구조를 예시한다. 일 실시예에 따른 브로드캐스트 메시지(350)는 보통의 블루투스 LE 메시지의 어드레스들 및 헤더들, 즉 데이터 필드들(302 내지 308)을 포함할 수 있고 블루투스 메시지의 페이로드 부분 또는 통지된 데이터 필드(310) 내의 디바이스 정보 및 롤링 식별자를 포함한다. 예컨대, 브로드캐스트 메시지(350)는 송신되고 있는 블루투스 메시지의 타입, 이 경우에, 비-연결가능 통지 이벤트를 식별하는 4바이트의 정보일 수 있는 표준 액세스 어드레스 데이터 필드(302)를 포함할 수 있다. 브로드캐스트 메시지(350)의 다음 데이터 블록은 통지된 패킷 데이터 유닛 타입(304)(예컨대, 1 바이트의 데이터)일 수 있으며, 통지된 패킷 데이터 유닛 타입(304)에 이어 통지된 패킷 데이터 유닛 헤더(306)가 후속할 수 있고, 차례로 통지된 패킷 데이터 유닛 헤더(306)에 이어 6바이트의 데이터일 수 있는 통지된 패킷 데이터 유닛 어드레스(308)가 후속할 수 있다. 표준 블루투스 데이터 필드들(302 내지 308)은 기본적으로 비-연결 가능 통지 이벤트로서 메시지를 식별하며, 이것에 이어 송신되고 있는 임의의 데이터는 물론 고유한 롤링 식별자를 포함하는 통지된 데이터 필드(310)가 후속한다.
[0098] 브로드캐스트 메시지(350)의 통지된 데이터 필드(310)는 2개의 데이터 필드들(352 및 354)(또는 데이터 부분들)의 브로드캐스트 정보 및 롤링 식별자를 포함할 수 있다. 통지 타입 블루투스 LE 패킷들에는 임의의 타입의 통지 데이터가 포함될 수 있어서, 브로드캐스트 메시지(350) 내의 롤링 식별자 및 다른 데이터를 포함하는 융통성이 제공된다. 메시지(350)는 서비스 UUID(universally unique user identifier) 데이터 필드(352)를 포함할 수 있다. 예컨대, 데이터 필드(352)는 데이터 필드의 길이를 표시하는 표준 블루투스 데이터 필드(356)를 포함할 수 있으며, 표준 블루투스 데이터 필드(356)에 이어 정보의 후속 바이트들을 따르는 정보의 타입을 표시하는 코드를 제공하는 데이터 타입 필드(358)가 후속할 수 있다. 이들 헤더 필드들(356, 358)에 이어 코드에 대한 의도된 의미를 획득하기 위한 테이블 룩업 키로서 이용될 수 있는 범용 고유 값(즉, UUID)의 형태의 코드를 갖는 부분(360)이 이어질 수 있다.
[0099] 서비스 UUID 데이터 필드(352)에 이어 롤링 식별자가 포함될 수 있는 데이터 필드(354)(즉, 제조자 데이터)가 이어진다. 예컨대, 이 데이터 필드(354)는 패킷 내의 데이터의 바이트들의 수를 식별하는 바이트의 패킷 길이(362)를 포함할 수 있다. 데이터 필드에 이어, 뒤따르는 정보의 타입을 표시하는 코드를 포함하는 패킷 타입 필드(364)가 후속할 수 있다. 이들 헤더 데이터 필드들은 무선 아이덴티티 송신기의 제조자 또는 타입, 시스템에 대한 서비스 제공자 등을 식별하는데 이용될 수 있는 (예컨대) 2바이트 데이터를 포함하는 제조 ID 필드(366)가 후속할 수 있다. 롤링 식별자는 롤링 식별자 정보와 함께, 배터리, 온도, 및 다른 센서 데이터를 포함할 수 있는 메시지(350)의 최종 부분(368)에 포함될 수 있다.
[0100] 도 4a는 실시예 롤링 식별자를 구현하는 다른 예시적인 블루투스 LE 메시지 구조를 예시한다. 일 실시예에 따른 브로드캐스트 메시지(400)는 보통의 블루투스 LE 메시지의 어드레스들 및 헤더들, 즉 데이터 필드들(302 내지 308)을 포함할 수 있고, 블루투스 메시지의 페이로드 부분 또는 통지된 데이터 필드(310) 내의 디바이스 정보 및 롤링 식별자를 포함할 수 있다. 예컨대, 브로드캐스트 메시지(400)는, 송신되는 블루투스 메시지의 타입, 이 경우에 비-연결 가능 통지 이벤트를 식별하는 4 바이트의 정보일 수 있는 표준 액세스 어드레스 데이터 필드(302)를 포함할 수 있다.
[0101] 브로드캐스트 메시지(400)에서 다음 데이터 블록은 통지된 패킷 데이터 유닛 타입(304)(예컨대, 1 바이트의 데이터)일 수 있으며, 통지된 패킷 데이터 유닛 타입(304)에 이어 통지된 패킷 데이터 유닛 헤더(306)가 후속할 수 있으며, 차례로 통지된 패킷 데이터 유닛 헤더(306)에 이어 6바이트의 데이터일 수 있는 통지된 패킷 데이터 유닛 어드레스(308)가 후속한다. 이 실시예에서, 표준 블루투스 데이터 필드들(302 내지 308)은 기본적으로 비-연결 가능 통지 이벤트로서 메시지를 식별하며, 이것에 이어 송신되고 있는 임의의 데이터는 물론 고유한 롤링 식별자를 포함하는 통지된 데이터 필드(310)가 후속한다.
[0102] 브로드캐스트 메시지(400)의 통지된 데이터 필드(310)는 2개의 데이터 필드들(402 및 404)(또는 부분들)의 브로드캐스트 정보 및 롤링 식별자를 포함할 수 있다. 통지 타입 블루투스 LE 패킷들에는 임의의 타입의 통지 데이터가 포함될 수 있어서, 브로드캐스트 메시지(400) 내의 롤링 식별자 및 다른 데이터를 포함하기 위한 융통성이 제공된다. 메시지(400)는 서비스 UUID(niversally unique user identifier) 데이터 필드(402)를 포함할 수 있다. 예컨대, 데이터 필드(402)는 데이터 필드의 길이를 표시하는 표준 블루투스 데이터 필드(404)를 포함할 수 있으며, 표준 블루투스 데이터 필드(404)에 이어 정보의 후속 바이트들을 따르는 정보의 타입을 표시하는 코드를 제공하는 데이터 타입 필드(406)가 후속할 수 있다. 이 헤더 필드들(404, 406)에 이어 코드에 대한 의도된 의미를 획득하기 위한 테이블 룩업 키로서 이용될 수 있는 범용 고유 값(즉, UUID)의 형태의 코드를 갖는 데이터 필드 부분(408)이 이어질 수 있다.
[0103] 서비스 UUID 데이터 필드(402)에 이어 롤링 식별자가 포함될 수 있는 다른 데이터 필드(404)(즉, 제조자 데이터)가 이어질 수 있다. 예컨대, 이 데이터 필드(404)는 패킷 내의 데이터의 바이트들의 수를 식별하는 바이트의 패킷 길이(410)를 포함할 수 있다. 데이터 필드에 이어, 뒤따르는 정보의 타입을 표시하는 코드를 포함하는 패킷 타입 필드(412)가 후속할 수 있다. 이들 헤더 데이터 필드들에 이어 무선 아이덴티티 송신기의 제조자 또는 타입, 시스템에 대한 서비스 제공자 등을 식별하는데 이용될 수 있는 (예컨대) 2 바이트의 데이터를 포함하는 제조 ID 필드(414)가 후속할 수 있다. 롤링 식별자는 롤링 식별자 정보와 함께 배터리, 온도 및 다른 센서 데이터를 포함할 수 있는 메시지(400)의 최종 부분(416)에 포함될 수 있다.
[0104] 도 4b는 실시예 롤링 식별자를 구현하는 다른 예시적인 블루투스 LE 메시지 구조를 예시한다. 일 실시예에 따른 브로드캐스트 메시지(450)는 보통의 블루투스 LE 메시지의 어드레스들 및 헤더들, 즉 데이터 필드들(302 내지 308)을 포함할 수 있고, 블루투스 메시지의 페이로드 부분 또는 통지된 데이터 부분(310) 내의 디바이스 정보 및 롤링 식별자를 포함한다. 예컨대, 브로드캐스트 메시지(450)는 송신되는 블루투스 메시지의 타입, 이 경우에, 비-연결 가능 통지 이벤트를 식별하는 4 바이트의 정보일 수 있는 표준 액세스 어드레스 데이터 필드(302)를 포함할 수 있다. 브로드캐스트 메시지(450)의 다음 데이터 블록은 통지된 패킷 데이터 유닛 타입(304)(예컨대, 1 바이트의 데이터)일 수 있으며, 통지된 패킷 데이터 유닛 타입(304)에 이어 통지된 패킷 데이터 유닛 헤더(306)가 후속할 수 있으며, 차례로 통지된 패킷 데이터 유닛 헤더(306)에 이어 6바이트의 데이터일 수 있는 통지된 패킷 데이터 유닛 어드레스(308)가 후속한다. 이 실시예에서, 표준 블루투스 데이터 필드들(302 내지 308)은 기본적으로 비-연결 가능 통지 이벤트로서 메시지를 식별하며, 이것에 이어 송신되고 있는 임의의 데이터는 물론 고유한 롤링 식별자를 포함하는 통지된 데이터 필드(310)가 후속한다.
[0105] 브로드캐스트 메시지(450)의 통지된 데이터 필드(310)는 하나의 데이터 부분(452)의 브로드캐스트 정보 및 롤링 식별자를 포함할 수 있다. 데이터 부분(452)(즉, 제조자 데이터)은 패킷 내의 데이터의 바이트들의 수를 식별하는 바이트의 패킷 길이(454)를 포함할 수 있다. 데이터 필드에 이어, 패킷 타입 필드(456)가 후속될 수 있으며, 이 패킷 타입 필드는 뒤따라는 정보의 타입을 표시하는 코드를 포함한다. 이들 헤더 데이터 필드들에 이어, 무선 아이덴티티 송신기의 타입 또는 제조업자, 시스템에 대한 서비스 제공자 등을 식별하는데 사용될 수 있는 예컨대 2 바이트의 데이터와 같은 제조자 ID 필드(458)가 후속될 수 있다. 롤링 식별자는, 롤링 식별자 정보와 함께 배터리, 온도, 및 다른 센서 데이터를 포함할 수 있는 메시지(450)의 최종 부분(460)에 포함될 수 있다.
[0106] 도 5는 모바일 근접 브로드캐스트 수신기(138) 내의 다양한 모듈들의 다이어그램(500)을 예시한다. 위에서 설명된 바와 같이, 근접 브로드캐스트 수신기들은 빌딩 주위에 놓여진 전용 디바이스들과 같은 고정식 근접 브로드캐스트 수신기들, 및 무선 아이덴티티 송신기들(110)로부터 브로드캐스트 메시지들을 수신하고, 장거리 통신들을 통해 (예컨대, WiFi 또는 셀룰라 네트워크를 통해) 인터넷(103)을 거쳐 중앙 서버(120)로 사이팅 메시지들을 송신하는 동작들을 수행하도록 구성된 모바일 디바이스들과 같은 모바일 근접 브로드캐스트 수신기들(138)을 포함할 수 있다. 모바일 근접 브로드캐스트 수신기(138) 내의 엘리먼트들의 상황에서 다양한 모듈들 및 컴포넌트들이 하기에 설명되지만, 그러나, 다양한 실시예들에서, 고정식 근접 브로드캐스트 수신기와 같은 임의의 근접 브로드캐스트 수신기가 유사한 모듈들 및/또는 컴포넌트들을 포함할 수 있다.
[0107] 모바일 근접 브로드캐스트 수신기(138)는, 근접한 무선 아이덴티티 송신기들(110)로부터의 수신된 브로드캐스트 메시지들을 프로세싱하는 데 활용되는 소프트웨어, 명령들, 루틴들, 애플리케이션들, 동작들, 또는 다른 회로일 수 있는 코어 클라이언트 모듈(115)을 포함할 수 있다. 코어 클라이언트 모듈(115)은 또한, 사이팅 메시지들을 송신하고 중앙 서버(120)로부터 리턴 메시지들을 수신하는 것과 같은, 근접 브로드캐스트 수신기들(142, 138)과 중앙 서버(120) 사이의 통신들을 핸들링할 수 있다. 예컨대, 코어 클라이언트 모듈(115)은, 사용자로부터의 상호작용 없이, 사이팅 메시지들을 업로드하거나 송신하는 것과 같은 동작들을 수행하는 백그라운드 서비스로서 동작할 수 있다.
[0108] 코어 클라이언트 모듈(115)은, 브로드캐스트 메시지들 및/또는 사이팅 메시지들에 관련된 애플리케이션 프로그래밍 인터페이스 데이터, 코드, 또는 다른 커맨드들에 대응하는 API 컴포넌트(506)를 포함할 수 있다. 예컨대, API 컴포넌트(506)는, 무선 아이덴티티 송신기(110)로부터 수신되는 블루투스 LE 통지 패킷들을 청취할 때 근접 브로드캐스트 수신기에 의해 활용될 수 있다. 다른 예로서, API 컴포넌트(506)는, 무선 아이덴티티 송신기들(110)에 대응하는 통지들, 경보들 또는 다른 통신들을 수신하도록 모바일 근접 브로드캐스트 수신기(138)를 등록하는 데 활용될 수 있다.
[0109] 코어 클라이언트 모듈(115)은 수신된 브로드캐스트 메시지들을 프로세싱하기 위한 허가 시스템 컴포넌트(508)를 또한 포함할 수 있다. 예컨대, 모바일 근접 브로드캐스트 수신기(138)는 허가 요청들에 대해서는 oAuth를 그리고 승인된 통신 파트너들에 대해서는 xAuth를 지원할 수 있다.
[0110] 코어 클라이언트 모듈(115)은 라디오 특정 사이팅 수신기 컴포넌트(radio specific sightings receiver component; 510)(예컨대, 블루투스 LE, LTE-D, WiFi, 및 다른 통신들을 핸들링하기 위한 컴포넌트), 운영, 관리 및 유지(operations, administration, and management)(또는 OA & M)모듈(512), 무선 아이덴티티 송신기 네트워크 매니저 컴포넌트(514), 저장된 룩-어헤드(look-ahead) 식별자들에 관련하는 이벤트 등록 컴포넌트(516), 및 사이팅들 매니저 컴포넌트(518)를 또한 포함할 수 있다. 일부 실시예에서, 이벤트 등록 컴포넌트(516)는 중앙 서버(120)로부터 다운로드되고 특정 무선 아이덴티티 송신기(110)에 대응하는 다수의 롤링 식별자들, 예컨대 특정 시간 윈도우 동안 무선 아이덴티티 송신기(110)에 의해 브로드캐스트된 가능한 롤링 식별자들과 매칭될 수 있는 롤링 식별자들의 세트를 저장할 수 있다.
[0111] 많은 현대의 모바일 디바이스들과 마찬가지로, 모바일 근접 브로드캐스트 수신기(138)는 3자 애플리케이션들(또는 "앱들")을 실행하도록 구성될 수 있고, 따라서 다양한 3자들(예컨대, 머천트들)에 의해 제공된 애플리케이션들에 관련되는 소프트웨어 명령들 및 루틴들을 실행하고, 관리하고, 그리고 다른 방식으로 수행할 수 있는 3자 애플리케이션 모듈(116)을 포함할 수 있다. 예컨대, 3자 애플리케이션 모듈(116)은 다양한 3자 애플리케이션들에 의해 사용될 다양한 데이터를 코어 클라이언트 모듈(115)로부터 수신할 수 있다. 예시적인 목적들을 위해, 중앙 서버(120)에 등록된 백화점에 관련된 3자 애플리케이션은, 모바일 근접 브로드캐스트 수신기(138)의 사용자가 백화점(예컨대, 상점의 지오펜스)에 들어오고, 남아 있고, 및/또는 떠날 때 코어 클라이언트 모듈(115)로부터 통지들을 수신하도록 구성될 수 있다. 일 실시예에서, 최적화의 목적들을 위해, 3자 애플리케이션 모듈(116)을 통해 실행하는 애플리케이션들 또는 앱들은, 특정 무선 아이덴티티 송신기들이 근접한 곳 내에 있거나, 또는 다르게는, 근접한 곳을 벗어날 때 코어 클라이언트 모듈(115)로부터 통지들을 수신하도록 구성되거나 또는 다르게는 코어 클라이언트 모듈(115)에 등록될 수 있다. 예컨대, 특정 무선 아이덴티티 송신기가 근접한 곳에 들어오거나, 근접한 곳 내에 머물거나 (예컨대, 근처에 서있고 움직이지 않음), 또는 근접한 곳을 벗어나는지의 여부를 표시하는 이벤트 통지들을 수신하기 위해, 애플리케이션들은 코어 클라이언트 모듈(115)에 미리 등록될 수 있다.
[0112] 모바일 근접 브로드캐스트 수신기(138)는 다양한 동작들을 수행하고 단거리 신호 수신기 회로와 같은 회로를 관리하기 위한 운영 체제 및 플랫폼 모듈(520)을 또한 포함할 수 있다. 특히, 운영 체제 및 플랫폼 모듈(520)은 블루투스 LE 프로토콜들을 활용하는 통신들을 프로세싱하기 위한 블루투스 로우 에너지(LE) 모듈(524), 다양한 셀룰라 및 유사한 장거리 무선 네트워크들(예컨대, LTE-D 등)에 대응하는 통신들을 프로세싱하기 위한 셀룰라 네트워크 모듈(526)을 포함할 수 있다.
[0113] 일부 실시예들에서, 운영 체제 및 플랫폼 모듈(520)은, 본원에 설명된 바와 같이 블루투스 통지 패킷의 제 1 및 제 2 타입과 같은 패킷들의 상이한 타입들의 수신을 모니터링을 위한 스위치 모듈(550)을 포함할 수 있다. 스위치 모듈(550)은, 예컨대, 특정 타입들의 데이터 패킷들이 수신될 때 3자 애플리케이션들 모듈(116) 및/또는 코어 클라이언트 모듈(115)에게 표시함으로써, 근접 브로드캐스트 수신기(138) 내의 다양한 모듈들을 표시하고, 이송하고, 그리고/또는 통지하도록 구성될 수 있다.
[0114] 운영 체제 및 플랫폼 모듈(520)은, 시간을 추적하고 타임스탬프 데이터를 생성할 수 있는 시간 서비스들 컴포넌트(528), 낮은 정밀도의 위치 데이터 또는 대안적으로 더 정확한 GPS(또는 A-GPS)위치 데이터를 유지할 수 있는 위치 서비스들 컴포넌트(530), 스토리지 컴포넌트(532), 및 WiFi 또는 다른 무선 네트워크들을 통한 통신들을 가능하게 하기 위한 무선 광역 통신망/무선 근거리 통신망 컴포넌트(522)를 또한 포함할 수 있다.
[0115] 일 실시예에서, 코어 클라이언트 모듈(115)은 무선 아이덴티티 송신기 식별자들의 세트들(예컨대, 관심 리스트의 모든 송신기들의 롤링 식별자들, 사용자에 의해 소유된 모든 송신기들에 대한 식별자들 등)을 중앙 서버로부터 요청할 수 있다. 이러한 세트들은, 현재 사용되고 있으며 어떤 시간의 기간 동안 사용될 것으로 예상되는 무선 아이덴티티 송신기들에 대응할 수 있다.
[0116] 도 6은 근접 브로드캐스트 수신기, 예컨대 고정식 근접 브로드캐스트 수신기 또는 모바일 근접 브로드캐스트 수신기 상에서 구현될 수 있는 실시예 방법(600)을 예시한다. 결정 블록(602)에서, 근접 브로드캐스트 수신기는 브로드캐스트 메시지가 수신되는지의 여부를 결정할 수 있다. 예컨대, 근접 브로드캐스트 수신기는 무선 아이덴티티 송신기들에 의한 브로드캐스트 통지 패킷들 또는 페어링 시도들에 대한 청취를 시작할 수 있다. 근접 브로드캐스트 수신기는 계속 모니터링 모드에 있거나, 또는 중앙 서버로부터 수신된 경보(또는 검색 활성화 메시지)에 응답하여 특정 식별자들에 대한 청취를 시작할 수 있다. 페어링이 발생하는 일 실시예들에서, 근접 브로드캐스트 수신기가 키를 사용함이 없이, 무선아이덴티티 송신기와의 이전 페어링으로부터 저장된 키를 사용함으로써 또는 중앙 서버로부터 수신된 키를 사용함으로써 임의의 무선 아이덴티티 송신기와 페어링하도록 세팅되면, 페어링이 자동으로 설정될 수 있다. 근접 브로드캐스트 수신기가 브로드캐스트 메시지를 수신하지 않으면(즉, 결정 블록 602="아니오"), 근접 브로드캐스트 수신기는 결정 블록(602)에서의 동작들로 계속될 수 있다.
[0117] 근접 브로드캐스트 수신기가 브로드캐스트 메시지를 수신하면(즉, 결정 블록(602)="예"), 블록(604)에서, 근접 브로드캐스트 수신기는, 수신된 브로드캐스트 메시지 및 다른 연관된 데이터로부터의 정보에 기초하여 사이팅 메시지를 생성할 수 있다. 특히, 사이팅 메시지는, 수신된 브로드캐스트 메시지를 송신했던 무선 아이덴티티 송신기에 특정한 식별자, 예컨대 롤링 식별자(즉, 인코딩된 디바이스 식별자), MAC 어드레스, 또는 특정한 무선 아이덴티티 송신기를 식별하는데 사용될 수 있는 다른 고유한 코드를 포함할 수 있다. 대안적인 실시예들에서, 무선 아이덴티티 송신기의 식별자는 페어링 프로세스의 일부로서 수신될 수 있다.
[0118] 사이팅 메시지에 포함될 수 있는 다른 연관된 데이터는 브로드캐스트 메시지의 수신에 관련된 다양한 정보, 예컨대 근접 브로드캐스트 수신기가 브로드캐스트 메시지를 수신했던 시간, 위치 정보, 근접 브로드캐스트 수신기의 식별 정보, 관련된 서비스들(예컨대, 연관된 상인들), 및 신호 세기 정보를 포함할 수 있다. 즉, 근접 브로드캐스트 수신기는, 현재의 조건들에 대한 데이터(예컨대, 타임스탬프, GPS 좌표들, 가장 가까운 기지국의 셀 ID 등)를 브로드캐스트 메시지 및/또는 무선 아이덴티티 송신기의 식별자와 연관시킬 수 있다. 이러한 데이터는 다양한 타입들의 데이터 구조들 중 임의의 구조, 예컨대 각각의 식별자에 대응하는 사이팅이 발생했던 때로부터의 타임스탬프들 및 GPS 좌표들과 연관된 하나 또는 그 초과의 식별자들을 갖는 어레이에 저장될 수 있다. 일부 실시예들에서, 사이팅 메시지는, 근접 브로드캐스트 수신기의 아이덴티티를 확인하도록 중앙 서버에 의해 사용될 수 있는 인증 데이터, 예컨대 디지털 인증서 또는 코드를 포함할 수 있다. 예컨대, 사이팅 메시지의 메타데이터 내에서, 근접 브로드캐스트 수신기는, 근접 브로드캐스트 수신기 및 중앙 서버에만 알려진 특수한 해시 코드를 포함할 수 있다.
[0119] 블록(606)에서, 근접 브로드캐스트 수신기는 도 1을 참조하여 상술된 바와 같이, 예컨대 셀룰라(예컨대, LTE, 3G, 또는 4G 네트워크) 또는 다른 네트워크 및 인터넷을 통해 중앙 서버에 사이팅 메시지를 송신할 수 있다. 사이팅 메시지를 송신함으로써 접촉 이벤트를 보고할 시에, 근접 브로드캐스트 수신기는, 결정 블록(602)에서 동작들을 수행하도록 즉시 리턴하며, 무선 아이덴티티 송신기들로부터의 추가적인 브로드캐스트들을 대기할 수 있다. 이것은 근접 브로드캐스트 수신기가 접촉 이벤트를 중앙 서버에 계속 보고할 수 있게 한다.
[0120] 도 7은, 모바일 근접 브로드캐스트 수신기가 결정된 패킷 포맷(또는 패킷 타입)에 기초하여 무선 아이덴티티 송신기의 식별자를 중계하기 위한 일 실시예의 방법(700)을 도시한다. 블록(702)에서, 근접 브로드캐스트 수신기는, 근접 내의 무선 아이덴티티 송신기에 의해 송신된 패킷, 예컨대 블루투스 LE 브로드캐스트 메시지를 수신할 수 있다. 결정 블록(706)에서, 근접 브로드캐스트 수신기는, 수신된 패킷이 무선 아이덴티티 송신기와 연관된 패킷 포맷인지를 결정할 수 있다. 예컨대, 근접 브로드캐스트 수신기는, 구조가 무선 아이덴티티 송신기들에 관련된 소프트웨어 구현들(예컨대, 펌웨어, 애플리케이션들, 명령 세트들, 루틴들, 서비스들, 프로세스들, 스레드들, 운영 체제들 등)에 대응하는 알려진 또는 그렇지 않으면 미리 정의된 패턴 또는 구조, 예컨대 도 3a-4b를 참조하여 상술된 패킷 구조들과 매칭하는지를 식별하기 위해, 수신된 메시지의 구조를 평가할 수 있다. 근접 브로드캐스트 수신기가 수신된 패킷이 무선 아이덴티티 송신기와 연관된 패킷 포맷이 아니라고 결정하면(즉, 결정 블록(706)="아니오"), 블록(704)에서, 근접 브로드캐스트 수신기는, 예컨대 통상적인 블루투스 LE 메시지들과 연관된 디폴트 펌웨어, 애플리케이션, 또는 서비스를 이용하여 수신된 패킷을 평소처럼 프로세싱할 수 있으며, 블록(702)의 동작들로 계속할 수 있다.
[0121] 근접 브로드캐스트 수신기가 수신된 패킷이 무선 아이덴티티 송신기와 연관된 패킷 포맷이라고 결정하면(즉, 결정 블록(706)="예"), 블록(604')에서, 근접 브로드캐스트 수신기는, 도 6의 블록(604)의 동작들을 참조하여 상술된 바와 같이, 수신된 브로드캐스트 패킷 및 다른 연관된 데이터로부터의 정보에 기초하여 사이팅 메시지를 생성할 수 있다. 블록(606)에서, 근접 브로드캐스트 수신기는 사이팅 메시지를 중앙 서버에 송신할 수 있다.
[0122] 도 8은 무선 아이덴티티 송신기에 대한 근접도에 기초하여 콘텐츠를 제공하기 위한 일 실시예의 방법(800)을 도시한다. 근접 브로드캐스트 수신기는, 블록(802)에서, 식별 코드 및/또는 제 2 세그먼트를 포함하는 브로드캐스트 메시지를 (도 8에서 "WIT"로 지칭되는) 무선 아이덴티티 송신기로부터 수신할 수 있다. 근접 브로드캐스트 수신기는, 결정 블록(805)에서, 식별 코드 및/또는 제 2 세그먼트와 연관된 액션이 (예컨대, 근접 브로드캐스트 수신기의 메모리에) 로컬적으로 저장되는지를 결정할 수 있다. 연관된 액션이 국부적으로 발견되면(즉, 결정 블록(805)=예), 액션은 블록(808)에서 근접 브로드캐스트 수신기에 의해 수행될 수 있다.
[0123] 연관된 액션이 국부적으로 발견되지 않으면(즉, 결정 블록(805)=아니오), 근접 브로드캐스트 수신기는 블록(810)에서, 식별자 및/또는 제 2 세그먼트를 갖는 사이팅 메시지를 중앙 서버에 송신할 수 있다. 일부 실시예들에서, 근접 브로드캐스트 수신기는 다른 디바이스, 예컨대 사용자 디바이스에 메시지를 송신할 수 있다. 근접 브로드캐스트 수신기는 블록(812)에서 명령 메시지를 수신할 수 있다. 이러한 명령은 식별자 및/또는 제 2 세그먼트를 갖는 사이팅 메시지에 대한 응답으로 중앙 서버 또는 다른 디바이스에 의해 전송될 수 있다. 블록(814)에서, 근접 브로드캐스트 수신기는, 웹 페이지 또는 다른 온라인 리소스에 진행함으로써, 수신된 명령 메시지, 예컨대 액세스 콘텐츠에 기초하여 액션을 수행할 수 있다. 대안적인 실시예들에서, 근접 브로드캐스트 수신기는, 결정 블록(805)을 스킵할 수 있으며, 블록(810)에서 사이팅 메시지를 송신하거나 국부적으로 저장된 액션을 수행하기를 시도하는 것으로 자동적으로 진행할 수 있다.
[0124] 근접도-기반 콘텐츠 발행 시스템은 넓은 범위의 활동들에 대해 사용될 수 있다. 예컨대, 10대들은, 그들이 그들의 소셜 네트워킹 페이지(예컨대, Facebook
Figure pct00001
)에 포인팅하는 무선 아이덴티티 송신기를 그들과 함께 휴대할 수 있다. 그들이 친구들에 근접할 경우, 페이지들은 근접 브로드캐스트 수신기들 상에서 신속하게 액세스될 수 있다(즉, 모바일 폰들은 모바일 근접 브로드캐스트 수신기들로서 동작하도록 구성됨). 부동산 중개인들은 집 및 부착물에 대한 웹 페이지를, 무선 아이덴티티 송신기가 웹 페이지로 포인팅하는 집의 이정표로 셋업할 수 있어서, 집에 의해 드라이빙한 누구라도 그 정보에 액세스할 수 있게 한다. 상점들은 동적 디스플레이들, 예컨대 쿠폰들로의 링크들, 소비자 보고들, 또는 부가적인 영향 정보를 제공하기 위한 제품들을 갖는 무선 아이덴티티 송신기들을 포함할 수 있다. 분실된 개가 그의 목걸이 상에 무선 아이덴티티 송신기를 가지면, 그의 목걸이로의 액세스를 위해 개와 씨름하기 보다는, 근접 브로드캐스트 수신기는 간단히, 무선 아이덴티티 송신기에 액세스하고, 메시지를 전송하거나 소유자를 호출할 수 있다.
[0125] 다양한 특성들 및 대안적인 액션들은 시스템이 유연하고 확장가능한 기능을 가질 수 있게 할 수 있다. 기능은, 취해진 액션들이 시간에 걸쳐 근접 브로드캐스트 수신기들에서 업데이트될 수 있는 애플리케이션들에 의해 제어되는 바와 같이 추후에 부가될 수 있다.
[0126] 도 9는 중앙 서버(120) 내의 다양한 모듈들의 다이어그램(900)을 예시한다. 하기에서는, 다양한 모듈들 및 컴포넌트들이 중앙 서버(120) 내의 모듈들, 컴포넌트들, 및/또는 엘리먼트들의 맥락에서 설명된다. 그러나, 다양한 실시예들에서, 중앙 서버(120)는, 하기에서 설명되는 다양한 모듈들 및/또는 컴포넌트들과 연관된 동작들을 수행할 수 있는 개별 컴퓨팅 디바이스들, 서버 블레이드들, 또는 다른 유닛들을 포함하거나 또는 이에 연결될 수 있다.
[0127] 위에서 설명된 바와 같이, 중앙 서버(120)는 무선 아이덴티티 송신기들에 대응하는 데이터를 수신하고, 저장하고, 그리고 다른 방식으로 프로세싱하도록 구성될 수 있다. 예컨대, 중앙 서버(120)는 인터넷(103)을 통해 다양한 디바이스들, 예컨대, 근접 브로드캐스트 수신기들(142), 모바일 근접 브로드캐스트 수신기들(138), 3자 시스템들(101), 및 다른 지원 시스템들 및/또는 서비스들(102)과 통신들을 교환하도록 구성될 수 있다.
[0128] 중앙 서버(120)는, 예컨대, 근접 브로드캐스트 수신기들(142, 138), 3자 시스템들(101), 또는 다른 지원 시스템들 및/또는 서비스들(102)로부터 수신된 데이터를 프로세싱하는 다양한 동작들을 수행하기 위해, 여러 컴포넌트들(104-109)을 포함할 수 있다. 특히, 중앙 서버(120)는 코어 컴포넌트(108)를 포함할 수 있고, 이 코어 컴포넌트(108)는 사이팅 메시지들을 프로세싱하고, 경보 또는 공지 엔진 모듈을 실행하고, API(application programming interface) 커맨드들을 핸들링하고, 그리고 중앙 서버(120) 내의 다른 컴포넌트들과 데이터를 교환할 수 있다. 코어 컴포넌트(108)는 데이터 계층 모듈(902)을 포함할 수 있고, 이 데이터 계층 모듈(902)은 단기간 데이터 및 3자 특정 데이터를 저장하기 위한 유닛들을 포함할 수 있다. 코어 컴포넌트(108)는 또한, 근접 브로드캐스트 수신기들로의 송신들을 위한 경보 메시지들을 생성하고 그리고 다양한 타겟 무선 아이덴티티 송신기들의 검색들을 개시하기 위한 경보 엔진 모듈(904)을 포함할 수 있다. 코어 컴포넌트(108)는 데이터 어노니마이저 모듈(906)을 더 포함할 수 있고, 이 데이터 어노니마이저 모듈(906)은 사용자들의 프라이버시 정책들 또는 프로파일 선호들에 기초하여 일반적이거나, 익명이거나, 또는 다른 방식으로 프로세싱된 데이터를 생성할 수 있다. 예컨대, 데이터 어노니마이저 모듈(906)이 상점과 연관된 근접 브로드캐스트 수신기에 송신되는 리턴 메시지들로부터 개인 정보를 없애서, 무선 아이덴티티 송신기의 고객 사용자가 상점에서 식별되는 것이 아니라, 사용자가 상점 내에 있다는 사실이 여전히 상점에 보고될 수 있다. 코어 컴포넌트(108)는 또한, 프라이버시 관리자 모듈(908)을 포함할 수 있고, 이 프라이버시 관리자 모듈(908)은 다양한 사용자들에 대한 프라이버시 허용 정보를 유지할 수 있다. 예컨대, 프라이버시 관리자 모듈(908)은, 등록 시 사용자들에 의해 제공되는 프라이버시 파라미터들의 데이터베이스를 포함할 수 있다.
[0129] 코어 컴포넌트(108)는 또한, 검색들을 조직화하고 관리하는 것을 돕기 위한 검색 관리자 모듈(910), 및 허가 시스템 모듈(912)을 포함할 수 있다. 코어 컴포넌트(108)는 사이팅 리졸버 모듈(914)을 더 포함할 수 있고, 이 사이팅 리졸버 모듈(914)은 근접 브로드캐스트 수신기들(142, 138)로부터 수신되는 사이팅 메시지들 내에서 보고되는 브로드캐스트 메시지들과 연관된 무선 아이덴티티 송신기들을 식별하기 위해 중앙 서버(120)에 의해 활용될 수 있다. 코어 컴포넌트(108)는, 동작들을 개시하기 위한 기능들 및 인터페이스들을 포함할 수 있는 API 모듈(916), 및 상인들, 3자들, 및 다른 서비스들로의 결합된 형태의 송신들을 위해 기간에 걸쳐 다양한 사이팅 메시지들을 합치기 위한 사이팅 애그리게이터 모듈(918)을 포함할 수 있다. 코어 컴포넌트(108)는 또한, 인터넷을 통해 디바이스들, 예컨대, 근접 브로드캐스트 수신기들(142, 138) 및 3자 시스템들(101)과 다양한 통신들을 송수신하기 위한 네트워크 모듈(920)을 포함할 수 있다.
[0130] 중앙 서버(120)는 또한, 데이터 웨어하우스 컴포넌트(104)를 포함할 수 있고, 이 데이터 웨어하우스 컴포넌트(104)는 장기간 데이터(예컨대, 아카이브된 사용자 데이터, 과거 위치 정보 등)를 저장할 수 있다. 데이터 웨어하우스 컴포넌트(104)는, 무선 아이덴티티 송신기들의 사용자들에 관련 있는 정보, 예컨대, 등록 웹사이트들을 통해 사용자들에 의해 제공된 프로파일 정보를 저장하기 위한 다양한 데이터베이스들을 포함할 수 있다. 데이터 웨어하우스 컴포넌트(104)는 코어 컴포넌트(108)의 데이터 계층 모듈(902)과 데이터를 교환하도록 구성될 수 있다. 중앙 서버(120)는 또한, 사용자 포털 액세스들, 스크립트들, 및 도구들(예컨대, 소프트웨어 유틸리티들, 루틴들 등)과 연관된 소프트웨어를 프로세싱 및/또는 저장할 수 있는 운영들, 관리, 및 유지(또는 OA & M) 컴포넌트(105)를 포함할 수 있다. OA & M 컴포넌트(105)는 코어 컴포넌트(108)와 데이터를 교환하도록 구성될 수 있다.
[0131] 중앙 서버(120)는 또한, 개발자 포털 컴포넌트(106)를 포함할 수 있고, 이 개발자 포털 컴포넌트(106)는 개발자 계정 데이터를 저장할 수 있고, 그리고 무선 아이덴티티 송신기들(110)의 사용자들과 상호작용하도록 등록되는 개발자들, 예컨대, 벤더들 또는 상인들과 연관된 등록, 계정 관리, 및 경보(또는 공지) 관리 루틴들을 수행할 수 있다. 중앙 서버(120)는 또한, 사용자 포털 컴포넌트(109)를 포함할 수 있고, 이 사용자 포털 컴포넌트(109)는 사용자 계정 데이터를 저장할 수 있고, 그리고 사용자들, 예컨대, 무선 아이덴티티 송신기들과 연관되는 사람들과 연관된 등록, 계정 관리, 및 검색 루틴들을 수행할 수 있다. 사용자 포털 컴포넌트(109) 및 개발자 포털 컴포넌트(106)는 코어 컴포넌트(108)의 허가 시스템 모듈(912)과 데이터를 교환하도록 구성될 수 있다. 중앙 서버(120)는 또한, 롤링 식별자(또는 ID) 리졸버 컴포넌트(107)를 포함할 수 있고, 이 롤링 식별자(또는 ID) 리졸버 컴포넌트(107)는 무선 아이덴티티 송신기들(110)과 연관된 팩토리 키들을 저장할 수 있을 뿐만 아니라, 연계된 사용자 데이터와 함께 수신되는 사이팅 메시지들 내의 암호화되거나, 인코딩되거나, 롤링되거나, 또는 다른 방식으로 모호하게 만들어진 식별 정보에 매칭되는 동작들, 소프트웨어, 또는 루틴들을 수행할 수 있다. 롤링 식별자(또는 ID) 리졸버 컴포넌트(107)는 코어 컴포넌트(108)의 사이팅 리졸버 모듈(914)과 데이터를 교환하도록 구성될 수 있다.
[0132] 다양한 실시예들에서, 도 9를 참조하여 설명된 모듈들 및 컴포넌트들, 예컨대, 롤링 ID 리졸버 컴포넌트(107)는 소프트웨어 명령들, 애플리케이션들, 루틴들, 스레드들, 회로, 또는 하드웨어 유닛들에 의해 수행될 수 있거나 또는 다른 방식으로 인에이블될 수 있다.
[0133] 도 10은 다양한 실시예들에서 사용하기 위한 무선 아이덴티티 송신기 등록 프로세스를 예시한다. 일반적으로, 브로드캐스트 메시지들이 중앙 서버에 의해 프로세싱될 수 있기 이전에, 중앙 서버는 무선 아이덴티티 송신기들 및 그들의 사용자들이 중앙 서버에 등록될 것을 요구할 수 있다. 예컨대, 무선 아이덴티티 송신기에 관련된 임의의 추적, 검색, 또는 다른 위치-기반 활동들이 개시될 수 있기 이전에, 중앙 서버는 전세계에서 유통되는 다양한 무선 아이덴티티 송신기들과 연관된 사용자들을 결정할 수 있어야 한다. 등록은 무선 아이덴티티 송신기들에 의해 브로드캐스트 메시지들로 송신되는 식별자들, 무선 아이덴티티 송신기들, 및 그들의 사용자들 사이에 링크들을 생성할 수 있다. 예컨대, 아동이 발견되었다는 통지를 실종 아동의 부모에게 송신하기 위하여, 중계되는 모호하게 만들어진(또는 인코딩된) 식별자들이, 등록된 사용자 계정과 관련하여 저장된 부모의 휴대폰 번호를 표시하는 계정 정보에 매칭되어야 한다.
[0134] 특히, 등록을 통해, 타이밍 메커니즘이 각각의 무선 아이덴티티 송신기와 중앙 서버(즉, 카운터) 사이에 동기화될 수 있다. 이러한 카운터를 이용하여, 무선 아이덴티티 송신기 및 중앙 서버는 식별자들을 각각 인코딩(또는 롤링) 및 디코딩할 수 있고, 이는, 무선 아이덴티티 송신기(및 그것의 사용자들)와 연관된 아이덴티티를 감춰진 채로 그리고 비밀로 유지시킨다. 이러한 타이밍 메커니즘 또는 카운터를 동기화시키기 위한 가장 적절한 시간은 하기에서 설명되는 디바이스 등록 및/또는 계정 생성 프로세스 동안일 수 있다. 도 10의 목적을 위해, 모바일 디바이스, 예컨대, 스마트폰이, 계정 생성 및 등록 동작들을 수행하기 위해 사용자에 의해 사용되고 있는 것으로서 설명된다(예컨대, 모바일 디바이스가 중앙 서버에 등록하기 위해 웹 포털에 액세스하는 식이다). 그러나, 인터넷에 연결되고 그리고 등록 웹 포털 또는 웹사이트를 통해 중앙 서버와 통신들을 교환할 수 있는 임의의 컴퓨팅 디바이스가 관련될 수 있다.
[0135] 블록(1002)에서, 사용자의 모바일 디바이스(예컨대, iPhone, Android, 태블릿 디바이스 등)는 무선 아이덴티티 송신기들과 사용하기 위한 애플리케이션을 설치할 수 있다. 이러한 애플리케이션(또는 "앱")은 모바일 디바이스의 프로세서 상에서 백그라운드 서비스로서 실행될 수 있거나, 또는 대안적으로 사용자에 의해 선택적 사용을 위해 활성화될 수 있다. 본 개시내용에 걸쳐 설명되는 바와 같이, 예컨대, 수신된 신호들을 브로드캐스트 메시지들로서 식별하고 그리고 위치 정보를 갖는 사이팅 메시지들을 중앙 서버에 응답으로 중계함으로써, 이러한 애플리케이션은 모바일 디바이스가 근접 무선 아이덴티티 송신기들로부터의 단거리 브로드캐스트 메시지들을 프로세싱하는 것을 가능하게 할 수 있다.
[0136] 블록(1004)에서, 모바일 디바이스는 사용자 정보(예컨대, 디바이스 아이덴티티 또는 "디바이스ID")를 가진 등록 요청을 송신할 수 있다. 등록 요청은 중앙 서버에 의해 제어되거나 또는 그렇지 않으면 액세스가능한 웹 포탈, 웹 사이트 또는 웹 서버와의 인터넷 통신들을 통해 중앙 서버에 전송될 수 있다. 다시 말해서, 모바일 디바이스는, 설치된 앱을 통해 사용자 정보(예컨대, 디바이스 ID)를 제공하는 것에 의해 또는 디바이스 ID(디바이스ID) 및 등록 요청을 계정과 묶기 위해 중앙 서버가 활용할 수 있는 다른 정보를 제공하는 것에 의해, 등록 프로세스를 인보크할 수 있다. 예컨대, 사용자의 모바일 디바이스는, 도 9a를 참조하여 위에서 설명된 바와 같이, 등록 웹사이트에 액세스하고, 사용자로부터 입력들을 수신하고, 그리고 중앙 서버에 의한 사용을 위해 사용자 입력을 데이터로서 등록 웹사이트에 송신할 수 있다.
[0137] 일부 실시예들에서, 사용자 정보는 사용자에 대한 개인 정보, 예컨대, 이름, 주소, 연락처 정보(예컨대, 소셜 네트워크 사이트들, 셀 폰 번호, 이메일 주소, 전화번호 등), 나이, 및 다른 인구 통계학적 정보뿐만 아니라, 사용자의 계정과 연관될 수 있는 근접 브로드캐스트 수신기들 및/또는 무선 아이덴티티 송신기들에 대한 식별용 정보를 포함할 수 있다. 예컨대, 중앙 서버에 송신되는 사용자 정보는, 무선 아이덴티티 송신기의 시리얼 번호 및/또는 블록(1002)에서의 동작들을 통한 애플리케이션 설치에 대한 응답으로 모바일 디바이스에 의해 생성된 확인 코드를 포함할 수 있다. 사용자 정보는 또한, 선호도 정보, 예컨대, 먹거나 또는 소비하기 위한 영역들, 제품 라인들, 및 사용자가 선호하는 소매점들을 포함할 수 있다.
[0138] 사용자 정보는 개인 정보가 중앙 서버에 의해 어떻게 분산될 수 있는지 또는 어떻게 사용될 수 있는지를 표시하는 프라이버시 퍼미션들을 더 포함할 수 있다. 일부 실시예들에서, 사용자들은 익명의 사용자들로서 등록할 수 있어서, 중앙 서버는 그 사용자들에 대한 어떠한 식별용 정보도 저장하지 않는다. 예컨대, 별특징 없는 사서함, 일회용 셀룰라 전화 번호, 또는 계정의 소유자 또는 사용자를 직접적으로 식별하지 않는 다른 연락처 정보에 링크된 계정이 등록될 수 있다. 이것은, 중앙 서버에 의해 제공되는 서비스를 활용할 것을 선택할 수 있지만, 사적인 또는 식별용 정보가 누출되는 것을 걱정하는 사람들에게 중요할 수 있다.
[0139] 블록(1012)에서, 사용자의 모바일 디바이스는 계정 정보, 예컨대, 소유된 무선 아이덴티티 송신기와 연관된 디바이스 ID 또는 중앙 서버로부터의 인증 정보(예컨대, 코드들, 메시지들)를 저장할 수 있다.
[0140] 블록(1006)에서, 중앙 서버는 계정 등록을 위한 사용자 정보를 수신할 수 있다. 블록(1008)에서, 중앙 서버는 사용자에 대한 계정을 등록할 수 있다. 예컨대, 중앙 서버는, 제공된 디바이스 식별들을 포함하는 사용자의 정보를, 모든 등록된 사용자들의 데이터베이스에 저장할 수 있다. 블록(1010)에서, 중앙 서버는 계정 생성 정보를 사용자에게 제공할 수 있다. 계정 생성 정보는, 미래의 사용을 위해 사용자의 모바일 디바이스가 저장할 수 있는 인증 코드 또는 다른 정보를 포함할 수 있다. 예컨대, 중앙 서버는 사용자의 모바일 디바이스에 의해 액세스가능한 웹 사이트 상에 계정 생성의 확인을 디스플레이할 수 있거나 또는 대안적으로 확인 신호, 텍스트 메시지, 이메일, 또는 다른 통신을 사용자의 모바일 디바이스에 송신할 수 있다.
[0141] 블록(201)에서, 무선 아이덴티티 송신기는, 예컨대 사용자가 배터리를 삽입하는 것에 대한 응답으로 부트-업할 수 있다. 무선 아이덴티티 송신기가 부팅하는 경우, 넌스 또는 카운터 값이 초기화될 수 있다. 예컨대, 무선 아이덴티티 송신기는, 시간의 경과를 표현하는 값을 0의 값에서부터 시작하여 증분시키는 것을 시작할 수 있다.
[0142] 블록(1013)에서, 무선 아이덴티티 송신기는 인코딩된(또는 롤링) 식별자를 포함하는 메시지(즉, 브로드캐스트 메시지)를 브로드캐스트할 수 있다. 예컨대, 무선 아이덴티티 송신기는, 매 수 초 마다 브로드캐스트 메시지들의 송신을 시작할 수 있다. 무선 아이덴티티 송신기는 본원에 포함되는 관련 애플리케이션들에서 설명되는 실시예 방법들로 롤링 식별자들을 생성할 수 있다. 일반적으로, 브로드캐스트 메시지는 의사 랜덤 함수를 수행함으로써 생성되는 데이터를 포함하는 페이로드를 포함할 수 있다. 예컨대, 무선 아이덴티티 송신기는, 무선 아이덴티티 송신기의 디바이스 ID의 입력 값들, 넌스 또는 카운터 값, 및 무선 아이덴티티 송신기와 중앙 서버에게만 알려진 비밀 키, 씨드, 또는 다른 값에 기초하여 인코딩된 데이터를 생성하기 위해 의사 랜덤 함수를 수행할 수 있다. 일부 실시예들에서, 의사 랜덤 함수는, 무선 아이덴티티 송신기 및 중앙 서버에게만 알려진 랜덤하게 선택된 씨드 값을 활용할 수 있는 다항 시간 컴퓨팅가능한 함수일 수 있어서, 의사 랜덤 함수는, 의사 랜덤 함수와 동일한 범위로 출력을 가진 동일한 도메인 상에서 정의된 랜덤 함수와는 컴퓨팅방식으로(computationally) 구분불가능할 수 있다. 일부 실시예들에서, 의사 랜덤 함수로서, HMAC(keyed-hash Message Authentication Code) 또는 CMAC(cipher-based Message authentication Code)가 사용될 수 있다.
[0143] 일부 실시예들에서, 무선 아이덴티티 송신기는, 모바일 디바이스가 블록(1004)에서의 동작들로 등록 프로세스를 시작하는 시간 내의 미리 정의된 수 초 내에 활성화되도록 요구될 수 있다. 다시 말해서, 일단 무선 아이덴티티 송신기가 자신의 넌스 또는 카운터 값을 증분시키는 것을 시작하면, 사용자는 특정 기간 내에 중앙 서버에 등록하여야 한다. 이것은, 등록 동안 무선 아이덴티티 송신기에서의 넌스 또는 카운터 값을 결정하려고 시도하는 경우, 중앙 서버가 특정 개수의 값들에서만 시도하는 것을 가능하게 한다.
[0144] 일부 실시예들에서, 무선 아이덴티티 송신기는 브로드캐스트 메시지의 페이로드 내의 데이터를 조정함으로써 초기 브로드캐스트를 표시할 수 있다. 예컨대, 무선 아이덴티티 송신기는, 중앙 서버가 무선 아이덴티티 송신기에 대한 초기화 시간 기간을 표시하는 것으로 인식할 수 있는 브로드캐스트 메시지 내의 비트를 변경할 수 있다. 페이로드들 내에 초기화 표시자들이 존재하면, 중앙 서버는, 중앙 서버 룩업 데이터 테이블 내의 이미 등록된(또는 인식된) 무선 아이덴티티 송신기들에 대응하는 페이로드들과의 비교들을 회피함으로써, 수신된 페이로드들과 저장된 페이로드들 사이의 비교들을 촉진할 수 있다.
[0145] 블록(1014)에서, 사용자의 모바일 디바이스는 브로드캐스트 메시지를 수신할 수 있다. 다시 말해서, 설치된 애플리케이션(또는 앱)에 기초하여, 모바일 디바이스는 모바일 근접도 브로드캐스트 수신기로서 기능할 수 있다. 설치된 애플리케이션, 예컨대, 블록(1002)에서의 동작들로 설치된 앱은, 등록 요청을 통해 중앙 서버에 대한 등록 동작들을 개시하는 것에 대한 응답으로 이러한 브로드캐스트 메시지의 수신을 대기하고 있을 수 있다. 블록(1016)에서, 모바일 디바이스는 무선 아이덴티티 송신기의 롤링 식별자 및 다른 정보, 예컨대, 저장된 디바이스 ID 및 인증 정보를 송신할 수 있다. 일부 실시예들에서, 모바일 디바이스는, 예컨대, 텍스트 비교 및/또는 파싱 동작들을 사용함으로써, 수신된 브로드캐스트 메시지로부터 인코딩된 정보를 추출할 수 있다. 예컨대, 모바일 디바이스는 최상위 비트 연산을 수행할 수 있다.
[0146] 블록(1018)에서, 중앙 서버는 인코딩된 정보뿐만 아니라 인증 정보와 디바이스 ID를 가진 메시지를 수신할 수 있다. 블록(1020)에서, 중앙 서버는, 예컨대, 모바일 디바이스로부터의 수신된 메시지에서의 인증 정보를 검증할 수 있다. 특히, 중앙 서버는 블록들(1008-1010)에서의 동작들에서 생성된 정보와 인증 정보를 비교할 수 있다.
[0147] 블록(1022)에서, 중앙 서버는 디바이스 ID 및 가능한 넌스 또는 카운터 값들을 사용하여 롤링 식별자들의 세트를 생성할 수 있다. 중앙 서버는 세트의 인코딩된 식별자들을, 모바일 디바이스로부터 수신된 롤링 식별자와 비교할 수 있다. 일부 실시예들에서, 중앙 서버는, 디바이스 ID 및 다수의 넌스 또는 카운터 값들과 함께, 위에서 설명된 바와 같이 의사 랜덤 함수를 사용함으로써, 인코딩된 데이터의 세트를 컴퓨팅할 수 있다. 예컨대, 중앙 서버는, 0으로 시작하는 많은 넌스 또는 카운터 값들, 모바일 디바이스에 의해 표시되는 디바이스 ID, 및 무선 아이덴티티 송신기들에 의해 공유되는 씨드로 의사 랜덤 함수를 실행할 수 있다.
[0148] 블록(1024)에서, 중앙 서버가 수신된 롤링 식별자를 생성된 세트에서의 롤링 식별자들 중 하나와 매칭시키는 경우에, 중앙 서버는 관련 넌스 또는 카운터 값 및 WIT에 관한 시간을 저장할 수 있다. 중앙 서버는, 무선 아이덴티티 송신기 상에서 실행하는 넌스 또는 카운터와 동기화시키기 위해, 매칭 롤링 식별자를 생성하는데 사용된 넌스 또는 카운터 값을 사용할 수 있다. 일부 실시예들에서, 중앙 서버는 무선 아이덴티티 송신기를 성공적으로 등록 및/또는 동기화된 것으로 설명하는 표시자를 저장할 수 있다.
[0149] 선택적 블록(1026)에서, 그 후에, 중앙 서버는, 예컨대, 모바일 디바이스에 메시지를 송신함으로써, 사용자에게 등록 결과 메시지를 송신할 수 있다. 등록 결과 메시지는 중앙 서버가 수신된 인코딩된 식별자를 생성된 식별자와 매칭시킬 수 있었는지 여부를 표시할 수 있다.
[0150] 선택적 블록(1028)에서, 모바일 디바이스는 등록 결과 메시지를 수신할 수 있다. 일부 실시예들에서, 등록 결과 메시지는 등록 프로세스가 실패하였다는 것(예컨대, 모바일 디바이스에 의해 수신된, 수신된 브로드캐스트 메시지가 사용자의 무선 아이덴티티 송신기에 대응하지 않았다는 것)을 표시하고, 모바일 디바이스는 다른 브로드캐스트 메시지를 수신하고 중계함으로써 등록을 재-시도할 수 있다.
[0151] 위에서 설명된 동작들, 특히, 블록들(1013-1024) 내에서 설명된 동작들은, 다양한 디바이스들에 의해 수행되는 메시지 프로세싱 동작들, 뿐만 아니라, 임의의 전파 지연이, 무선 아이덴티티 송신기에서 넌스 또는 카운터 값을 증가시키는데(또는 업데이트하는데) 요구되는 시간보다 훨씬 더 작을 수 있다고 가정한다. 이는, 중앙 서버 및 무선 아이덴티티 송신기에서의 넌스 또는 카운터 값들이 1 초과만큼 상이하지 않게 되는 것을 보장한다.
[0152] 도 11은 중앙 서버가 근접 브로드캐스트 수신기들로부터 수신되는 사이팅 메시지들을 프로세싱하기 위한 실시예 방법(1100)을 예시한다. 위에서 설명된 바와 같이, 중앙 서버는, 사이팅 메시지들을 프로세싱하기 위해, 다양한 모듈들, 컴포넌트들, 회로, 및 소프트웨어를 활용하도록 구성될 수 있다. 결정 블록(1102)에서, 중앙 서버는 사이팅 메시지가 수신되었는지를 결정할 수 있다. 중앙 서버는, 근접 브로드캐스트 수신기들과 같은 다양한 디바이스들로부터 메시지들이 수신된 때를 결정하기 위해, 수신 회로, 버퍼, 큐, 또는 다른 표시자를 평가할 수 있다. 일부 실시예들에서, 중앙 서버는, 사이팅 메시지가 수신되었는지를 결정하기 위해, 위에서 설명된 바와 같은 네트워크 모듈을 활용할 수 있다. 일반적으로, 사이팅 메시지들은, 인터넷을 통하여 셀룰라 네트워크를 통해 송신되는 패킷들과 같이, 장거리 통신들을 통해 수신될 수 있다. 중앙 서버가 사이팅 메시지를 수신하지 않은 경우에(즉, 결정 블록(1102) = "아니오"), 중앙 서버는 결정 블록(1102)에서의 동작들을 계속할 수 있다.
[0153] 중앙 서버가 사이팅 메시지를 수신하는 경우에(즉, 결정 블록(1102) = "예"), 블록(1104)에서, 중앙 서버는, 사이팅 메시지에 기초하여, 무선 아이덴티티 송신기 정보, 근접 브로드캐스트 수신기 정보, 및 연관된 데이터를 식별할 수 있다. 중앙 서버는 수신된 사이팅 메시지 내의 다양한 데이터 및 정보 세그먼트들을 평가할 수 있고, 파싱할 수 있고, 그렇지 않으면, 액세스 가능하게 만들 수 있다. 예컨대, 중앙 서버는, 무선 아이덴티티 송신기로부터의 포함된 브로드캐스트 메시지를 식별하기 위해, 사이팅 메시지를 파싱할 수 있다. 다른 예로서, 중앙 서버는, 무선 아이덴티티 송신기 아이덴티티(즉, 롤링 식별자), 근접 브로드캐스트 수신기 식별 정보(예컨대, 수신기 ID), 위치 정보, 타임스탬프 정보, 센서 데이터(예컨대, 가속도계 센서 데이터 등), 근접 브로드캐스트 수신기와 연관된 애플리케이션들의 식별자들(또는 애플리케이션들)(예컨대, 설치된 애플리케이션들의 리스트, 근접 브로드캐스트 수신기 상에서 실행하는 관련 애플리케이션에 대한 식별자 등)에 대응하는 인코딩된 데이터를 식별할 수 있다. 일부 실시예들에서, 중앙 서버는, 위에서 설명된 바와 같은 사이팅 리졸버 모듈을 이용하여 블록(1104)의 동작들을 수행할 수 있다.
[0154] 블록(1106)에서, 중앙 서버는 사이팅 메시지 내의 롤링 식별자에 기초하여, 무선 아이덴티티 송신기 아이덴티티를 획득할 수 있다. 중앙 서버는, 롤링 식별자를 디코딩하거나, 디스크램블링하거나, 디크립팅하거나, 또는 그렇지 않으면, 액세스 가능하게 만들기 위한 동작들을 수행할 수 있다. 예컨대, 중앙 서버는, 무선 아이덴티티 송신기의 아이덴티티를 획득하기 위해, 디코딩 알고리즘 또는 비밀 키를 적용하기 위한 동작들을 수행할 수 있다. 일부 실시예들에서, 블록(1106)의 동작들은, 위에서 설명된 바와 같은 롤링 ID 리졸버 컴포넌트를 통해 중앙 서버에 의해 수행될 수 있다. 예컨대, 중앙 서버는, 디코딩된 무선 아이덴티티 송신기 식별자를 획득하기 위해, 사이팅 리졸버 모듈이 롤링 ID 리졸버 컴포넌트와 데이터를 교환하게 할 수 있다.
[0155] 블록(1108)에서, 중앙 서버는, 획득된 무선 아이덴티티 송신기 아이덴티티에 기초하여, 무선 아이덴티티 송신기 사용자 정보를 리트리빙할 수 있다. 예컨대, 중앙 서버는, 무선 아이덴티티 송신기에 관련된 사용자 계정 정보, 예컨대, 인구통계 정보, 이전의 행동들(예컨대, 이동 경로들, 위치 히스토리 등)을 표시하는 저장된 데이터를 리트리빙할 수 있다. 일부 실시예들에서, 블록(1108)의 동작들은, 위에서 설명된 바와 같은 허가 시스템 모듈을 통해 중앙 서버에 의해 수행될 수 있다. 예컨대, 중앙 서버는, 사용자 등록 데이터베이스들 내에 저장된 사용자 정보를 획득하기 위해, 허가 시스템 모듈이 사용자 포털 컴포넌트와 무선 아이덴티티 송신기 아이덴티티 정보를 교환하게 할 수 있다.
[0156] 블록(1110)에서, 중앙 서버는, 식별된 근접 브로드캐스트 수신기 정보에 기초하여, 근접 브로드캐스트 수신기 사용자 정보 및 관련된 서비스들과 같은 근접 브로드캐스트 수신기 식별 정보를 리트리빙할 수 있다. 예컨대, 중앙 서버는, 수신된 사이팅 메시지를 송신하였던 근접 브로드캐스트 수신기와 연관된 머천트 아이덴티티, 근접 브로드캐스트 수신기가 참가하는 것으로 등록된 추적 서비스들, 뿐만 아니라, 근접 브로드캐스트 수신기에 대한 임의의 다른 관련 정보를 리트리빙할 수 있다. 중앙 서버는, 사이팅 메시지 내의 정보에 기초하여, 관련된 근접 브로드캐스트 수신기의 사용자에 관련된 이메일 어드레스들, MAC 어드레스들, 전화 번호들, 및 다른 연락 정보를 리트리빙할 수 있다. 예컨대, 중앙 서버는, 관심 있는 아이템에 대한 근접성을 표시하는 이메일들 또는 SMS 문자 메시지들과 같은, 중앙 서버로부터의 후속 송신들을 위해 사용될 수 있는, 근접 브로드캐스트 수신기와 연관된 사용자 연락 정보를 결정할 수 있다. 일부 실시예들에서, 중앙 서버는, 모바일 근접 브로드캐스트 수신기의 동작들을 수행하도록 구성된 스마트폰의 사용자의 아이덴티티를 결정할 수 있다.
[0157] 일부 실시예들에서, 블록(1110)의 동작들은, 위에서 설명된 바와 같은 허가 시스템 모듈을 통해 중앙 서버에 의해 수행될 수 있다. 예컨대, 중앙 서버는, 개발자 등록 데이터베이스들 내에 세이빙된 바와 같은 관련된 등록된 서비스들(예컨대, 머천트들, 상점들, 벤더들, 서비스들 등)에 관한 정보를 획득하기 위해, 허가 시스템 모듈이 개발자(또는 사용자) 포털 컴포넌트와 근접 브로드캐스트 수신기 정보를 교환하게 할 수 있다.
[0158] 선택적 블록(1111)에서, 중앙 서버는 사이팅 메시지를 인증할 수 있다. 수신된 사이팅 메시지 내의 인증 정보에 기초하여, 중앙 서버는, 알려진 또는 그렇지 않으면 유효한 근접 브로드캐스트 수신기로부터 유래한 것으로서 사이팅 메시지의 정당성을 확인하는 인증 동작들을 수행할 수 있다. 위에서 설명된 바와 같이, 사이팅 메시지들은, 유효한 근접 브로드캐스트 수신기들의 아이덴티티들을 확인하기 위해 사용될 수 있는, 비밀 코드들, 인증서들, 또는 해시 데이터와 같은 데이터를 포함할 수 있다.
[0159] 3자들이 등록된 서비스들과 연관된 근접 브로드캐스트 수신기들을 스푸핑하기 위해 시도할 수 있기 때문에(예컨대, 불법적인 스패머가 사기 사이팅 메시지를 전송함으로써, 머천트의 상점 근접 브로드캐스트 수신기를 모방하기 위해 시도할 수 있기 때문에), 중앙 서버는, 사이팅 메시지 내의 정보가 유용하고 등록된 서비스(예컨대, 등록된 머천트, 유효한 개발자, 또는 정당한 근접 브로드캐스트 수신기들을 이용하는 다른 파티)에 관련된 것을 확인하는 인증 정보를 체크할 수 있다. 예컨대, 중앙 서버는, 등록된 개발자로서 중앙 서버 내에 설정된 머천트에 관련된, 사이팅 메시지 내의 숨겨진 헤더 정보를 검출할 수 있다.
[0160] 사이팅 메시지가 중앙 서버에 의해 예상되는 인증 정보, 예컨대 특정 빌딩 내의 모든 근접 브로드캐스트 수신기들이 소유하는 특별 코드를 포함하지 않거나, 또는 중앙 서버에 저장된 정보와 매칭되지 않는 인증 정보를 포함하는 경우, 중앙 서버는 그 사이팅 메시지 및 모든 포함된 정보를 무시할 수 있다. 예컨대, 유효기간이 지난(out-of-date) 또는 불완전한 인증 정보를 갖는 사이팅 메시지는 중앙 서버에 의해 무시될 수 있거나, 또는 대안적으로는 잠재적으로 부정한 근접 브로드캐스트 수신기들에 대한 리스트에 저장될 수 있다.
[0161] 선택적 블록(1112)에서, 중앙 서버는 획득된 및/또는 리트리브 데이터에 기초하여 해싱된 데이터를 생성할 수 있다. 일부 실시예들에서, 선택적 블록(1112)의 동작들은 위에서 설명된 바와 같은 데이터 익명서비스 모듈을 통해 중앙 서버에 의해 수행될 수 있다. 블록(1114)에서, 중앙 서버는 무선 아이덴티티 송신기 아이덴티티와 관련하여 사이팅 메시지에 기초하여 데이터를 저장할 수 있다. 예컨대, 중앙 서버는 무선 아이덴티티 송신기의 디코딩된 아이덴티티와 관련하여 사이팅 메시지로부터 식별된 연관된 데이터를 데이터베이스에 저장할 수 있다. 일부 실시예들에서, 블록(1114)의 동작들은 위에서 설명된 바와 같은 데이터 계층 모듈을 통해 중앙 서버에 의해 수행될 수 있다.
[0162] 위에서 설명된 바와 같이, 다양한 메시지들, 예컨대 리턴 메시지들, 경보들(또는 검색 활성화 메시지들)은 중앙 서버에 의해 다양한 수신측들, 예컨대 사용자와 연관된 모바일 디바이스들로 송신될 수 있다. 예컨대, 중앙 서버는 메시지들을 사용자의 태블릿, 스마트폰, 무선 수신기 디바이스, 또는 다른 컴퓨팅 디바이스로 송신할 수 있다. 수신측은 모바일 디바이스 상에서 실행하는 애플리케이션 또는 앱을 또한 포함할 수 있다. 일부 실시예들에서, 중앙 서버는, 메시지들을 다른 3자 수신측들 또는 디바이스들, EMT, 소방, 로컬 폴리스, 소매점, 머천트 컴퓨팅 디바이스들, 및 통지 서버들을 포함할 수 있는 이러한 등록된 서비스들로 또한 송신할 수 있다.
[0163] 사이팅 메시지들을 수신하는 것에 대한 응답으로 중앙 서버에 의해 송신되는 메시지들은, 사용자에 의해 휴대되는 모바일 근접 브로드캐스트 수신기 또는 모바일 폰과 같은 디바이스들에게, 알려진 무선 아이덴티티 송신기들의 근접의 위치를 통지하기 위해 송신될 수 있다. 예컨대, 근접 브로드캐스트 수신기, 예컨대 소매점 내의 고정식 근접 브로드캐스트 수신기가, 사용자와 연관된 무선 아이덴티티 송신기로부터의 브로드캐스트 메시지를 중계하는 경우, 중앙 서버, 사용자가 상점의 수신기 디바이스 근처에 있다는 것을 표시하는 메시지를 사용자의 모바일 디바이스에 다시 송신함으로써 응답할 수 있다. 또한, 사용자의 디바이스 상에서 실행하는 3자 애플리케이션은 메시지 내의 정보를 사용할 수 있다. 예컨대, 사용자의 스마트폰 상에서 실행하는 소매점 앱은, 사용자가 소매점 빌딩의 근접 내의 디스플레이 영역의 근접 내에서 이동했다는 통지를 수신할 수 있다. 다양한 다른 실시예들에서, 3자 애플리케이션들은 무선 아이덴티티 송신기들과 연관된 소유하고 있는 아이템들을 추적하는 데 활용될 수 있다. 예컨대, 특정 3자 애플리케이션은, 찾고 있는 실종 아동의 근접 내에 사용자가 있을 때 링톤을 수행할 수 있다.
[0164] 도 11을 다시 참조하면, 결정 블록(1152)에서, 중앙 서버는, 3자 애플리케이션(또는 앱)이 획득된 근접 브로드캐스트 수신기 정보를 갖는 것이 허용되는지의 여부를 결정할 수 있다. 다시 말하면, 무선 아이덴티티 송신기의 사용자와 연관되는 중앙 서버에 저장된 데이터에 기초하여, 중앙 서버는 사용자의 디바이스들과 연관되는 임의의 등록된 서비스들 또는 3자 애플리케이션들을 검출할 수 있다. 예컨대, 중앙 서버는, 사용자가 소매점에 대응하는 3자 애플리케이션을 자신의 스마트폰에 설치했다는 것을 식별하기 위해 데이터베이스 정보를 평가할 수 있다. 근접 브로드캐스트 수신기 정보는 근접 브로드캐스트 수신기 식별(예컨대, ID 코드 또는 식별자) 및 근접 브로드캐스트 수신기의 사용자 아이덴티티를 포함할 수 있다. 일부 실시예들에서, 중앙 서버는, 예컨대 3자가 개발자 또는 등록된 서비스로서 등록되었을 때 표시된 3자의 개발자 권리들에 기초하여, 또는 대안적으로 중앙 서버 내의 사용자의 프로파일 내에 저장된 사용자의 퍼미션 설정들에 기초하여, 3자 애플리케이션들이 이러한 정보를 허용받는지의 여부를 식별할 수 있다. 일부 실시예들에서, 중앙 서버는, 사용자의 디바이스 상의 3자 애플리케이션들이 근접 브로드캐스트 수신기 정보를 수신할 수 있는지의 여부를 결정하기 위해, 수신된 사이팅 메시지 내에서 제공되는 애플리케이션 식별 정보를 사용할 수 있다. 예컨대, 사이팅 메시지는, 사이팅 메시지에 대응하며 그에 따라 중앙 서버로부터 임의의 근접 브로드캐스트 수신기 정보를 수신하도록 허용되는 애플리케이션들의 표시자들(예컨대, 앱 ID들)을 포함할 수 있다.
[0165] 3자 앱이 획득된 근접 브로드캐스트 수신기 정보를 갖도록 허용되지 않는 경우(즉, 결정 블록(1152)="아니오"), 블록(1156)에서, 중앙 서버는, 사이팅 메시지로부터의 무선 아이덴티티 송신기 식별 정보 및 연관된 데이터만을 포함하는 메시지를 사용자의 디바이스로 송신할 수 있다. 예컨대, 중앙 서버에 의해 송신된 메시지는, 사이팅 메시지로부터의 획득된 무선 아이덴티티 송신기 아이덴티티, 사용자 정보, 타임스탬프 데이터, 및 위치 정보를 포함할 수 있다.
[0166] 3자 앱이 획득된 근접 브로드캐스트 수신기 정보를 갖도록 허용되는 경우(즉, 결정 블록(1152)="예"), 블록(1154)에서, 중앙 서버는, 사이팅 메시지로부터의 무선 아이덴티티 송신기 식별 정보, 근접 브로드캐스트 수신기 정보, 및 연관된 데이터를 포함하는 메시지를 사용자의 디바이스로 송신할 수 있다. 예컨대, 중앙 서버에 의해 사용자의 스마트폰으로 송신된 메시지는, 획득된 근접 브로드캐스트 수신기 식별의 표시자들(예컨대, 시리얼 코드, 그룹 제휴, 머천트 카테고리 등)을 포함할 수 있다. 그 다음, 중앙 서버는 결정 블록(1102)에서의 동작들로 계속될 수 있다. 일부 실시예들에서, 다양한 디바이스들로의 송신을 위한 메시지들을 송신 및/또는 생성하기 위해, 중앙 서버는, 예컨대 도 9를 참조하여 위에서 설명된 바와 같은 경보 엔진 모듈을 활용할 수 있다.
[0167] 도 12는 중앙 서버 내에서 구현될 수 있는 실시예 방법(1200)을 예시한다. 방법(1200)은, 원래는 무선 아이덴티티 송신기에 의해 브로드캐스트된 인코딩된, 롤링, 또는 다르게는 보호된 데이터를 포함하는 사이팅 메시지를 근접 브로드캐스트 수신기로부터 수신하는 것에 대한 응답으로 중앙 서버에 의해 수행될 수 있다. 무선 아이덴티티 송신기들의 사용자들의 프라이버시는, 각각의 무선 아이덴티티 송신기에 대해 롤링하는 또는 랜덤하게 변하는 식별자를 사용하여, 식별자가 시간에 따라 변하는 것에 의해 보호될 수 있다. 새로운 식별자들은 주기적으로, 또는 무선 아이덴티티 송신기가 특정 횟수 또는 특정 시간 기간(예컨대, 한 시간) 동안 식별자를 브로드캐스트하는 경우와 같은 특정 이벤트들에 기초하여, 또는 하나 또는 그 초과의 페어링들 후에 생성될 수 있다. 식별자들의 이러한 롤링은, 무선 아이덴티티 송신기가 여전히 추적될 수 있도록 중앙 서버로 조정될 수 있다. 예컨대, 무선 아이덴티티 송신기 및 중앙 서버 각각은, 임의의 주어진 순간에, 중앙 서버가 특정 무선 아이덴티티 송신기에 의해 송신되고 있는 식별자를 계산할 수 있도록 공통 시간 스케일로 식별자들을 생성하기 위해 사용되는 암호적으로 안전한 의사-난수 발생기 또는 알고리즘을 구비할 수 있다.
[0168] 롤링 식별자들을 생성하는 것, 또는 식별자들을 난독화하는 다른 방법들은, 그것이 3자로부터의 스니핑 공격들을 방지할 수 있다는 점에서 중요하다. 예컨대, 식별자가 정적이면, 3자는, 예컨대 근접 브로드캐스트 수신기를 흉내냄으로써 그 식별자를 스니핑하고, 그 다음 무선 아이덴티티 송신기를 추적하기 위해 그 식별자를 사용할 수 있을 것이다. 3자가 의사-난수 발생기 또는 최신 롤링 식별자들을 생성하는 다른 수단이 없으면, 롤링 식별자는 이러한 난감한 공격을 방해할 수 있다.
[0169] 블록(1202)에서, 중앙 서버는, 근접 브로드캐스트 수신기로부터 사이팅 메시지의 무선 아이덴티티 송신기의 롤링 식별자를 수신할 수 있다. 블록(1204)에서, 중앙 서버는, 무선 아이덴티티 송신기와 공유된 알고리즘, 예컨대 공유 비밀 키들을 갖는 암호화 알고리즘 또는 의사-랜덤 함수에 의해 계산된 코드와 롤링 식별자를 비교할 수 있다. 알고리즘은, 일 기간에 걸쳐 무선 아이덴티티 송신기에 의해 생성되어 브로드캐스트된 롤링 식별자들과 정렬할 것으로 예상되는 코드들을 계산하기 위해 중앙 서버에 의해 이용되는 소프트웨어 명령들, 루틴들, 알고리즘들, 회로, 또는 모듈들일 수 있다. 다양한 실시예들에서, 중앙 서버는, 일부 식별자들이 사라졌던 경우에, 다음번 수 개의 코드들과 수신된 식별자를 비교할 수 있다. 수신된 식별자가 중앙 서버에 의해 생성 또는 예상되는 임의의 코드들과 매칭되면, 블록(1206)에서, 중앙 서버는, 무선 아이덴티티 송신기에 대응하는 시리얼 코드와 매칭 식별자 및 임의의 연관된 데이터를 연관시킬 수 있다. 이러한 방식으로, 중앙 서버가 무선 아이덴티티 송신기의 시리얼 코드를 갖는 사용자 요청, 예컨대 아이에 의해 휴대되는 무선 아이덴티티 송신기를 로케이팅하기 위한 부모로부터의 요청을 나중에 수신하면, 중앙 서버는, 모든 각각의 이전 롤링 식별자를 검색할 필요 없이, 모든 이전의 매치들 및 임의의 연관 데이터 발견할 수 있다.
[0170] 도 13a-b 및 도 14a-b는, 근접 브로드캐스트 수신기들에 의한 수신 및 프로세싱을 위한 상이한 패킷 포맷들의 메시지들(즉, 비콘 메시지들 또는 패킷들)을 브로드캐스트하기 위한 무선 아이덴티티 송신기에 대한 실시예의 방법들을 예시한다. 위에 설명된 바와 같이, 상이한 패킷 포맷들 각각은 상이한 소프트웨어 구현들, 예컨대 수신기 디바이스들 상에서 실행되는 펌웨어 또는 애플리케이션들과 연관되거나 또는 그렇지 않으면 그에 대해 매우-적합할 수 있다. 추가로, 상이한 패킷 포맷들(및 소프트웨어 구현들)은, "근접 시스템들"로 지칭되는 상이한 통신 프레임워크들과 연관될 수 있다. 상이한 근접 시스템들은, 동일한 타입의 일반 통신 프로토콜들 또는 신호들, 예컨대 블루투스 LE 패킷들을 이용할 수 있지만, 상이한 근접 시스템들에 대한 연관들 또는 적용가능성을 표시하기 위해 상이한 패킷 포맷들의 패킷들 및/또는 다른 패킷 데이터(예컨대, 헤더 정보)를 이용할 수 있다. 다시 말해서, 상이한 근접 시스템들의 송신기들(또는 비콘 디바이스들)은, 동일한 통신 프로토콜의 패킷들이지만 상이한 패킷 포맷들을 갖는 패킷들을 송신할 수 있다. 특히, 일 근접 시스템은, 본원에 일반적으로 설명되는 바와 같이, 블루투스 LE 패킷들, 무선 아이덴티티 송신들, 근접 브로드캐스트 수신기들, 및 중앙 서버들을 이용하는 독점 아키텍쳐와 연관될 수 있다.
[0171] 도 13a 및 13b는, 근접 브로드캐스트 수신기(138)에 의한 프로세싱을 위한 제 1 패킷 포맷의 제 1 패킷(또는 브로드캐스트 메시지) 및 제 2 패킷 포맷의 제 2 패킷을 브로드캐스트하는 무선 아이덴티티 송신기(110)에 대한 실시예의 방법들(1300, 1350)을 예시한다. 일반적으로, 등록 호들은, 브로드캐스트 메시지들을 수신하는 것에 기초하여 근접 브로드캐스트 수신기(138)에 의해 실행될 수 있고, 근접 브로드캐스트 수신기(138) 상의 다양한 소프트웨어 구현들, 예컨대 펌웨어, 루틴들, 및 애플리케이션들에 의해 사용될 수 있다. 그러나, 근접 브로드캐스트 수신기(138)의 효율성 및 다른 동작들은, 수신된 패킷들을 프로세싱하기 위해 사용되는 다양한 소프트웨어 구현들에 기초하여 상이할 수 있다. 따라서, 브로드캐스트 수신기 디바이스들은, 전력 소비를 제한하기 위해 드물게 슬립 또는 수행하기 위한 롤링 식별자들을 포함하는 브로드캐스트 메시지들과 연관된 소프트웨어 구현들을 구성할 수 있다. 브로드캐스트 수신기 디바이스들은 추가로, 연관된 패킷들이 이용가능한 것으로 결정되는 경우에 그러한 소프트웨어 구현들을 동작 또는 실행시키도록 구성될 수 있다. 예컨대, 롤링 식별자들을 갖는 브로드캐스트 메시지들이 인근에 있다고 표시하는 제 1 패킷 포맷의 패킷을 수신하는 것에 대한 응답으로, 근접 브로드캐스트 수신기(138)는 웨이크 업하거나 또는 제 2 패킷 포맷의 메시지들을 핸들링하는데 매우-적합한(또는 최적화된) 펌웨어의 듀티 사이클을 증가시킬 수 있으며, 그에 따라, 배터리 전력을 더 효율적으로 사용하거나 그리고/또는 더 적은 패킷 프로세싱 레이턴시를 겪는다.
[0172] 다양한 실시예들에서, 근접 브로드캐스트 수신기(138)는, 블루투스(또는 블루투스 LE) 트랜시버를 포함하는 스마트폰일 수 있고, 다양한 블루투스 통지 패킷들을 수신 및 프로세싱하도록 구성될 수 있다. 예컨대, 근접 브로드캐스트 수신기(138)는, 상이한 패킷 포맷들 또는 구조들의 블루투스 통지 패킷들을 핸들링하기 위한 소프트웨어 구현들(예컨대, 소프트웨어, 루틴들, 동작들, 또는 앱들)을 실행할 수 있다.
[0173] 도 13a를 참조하면, 방법(1300)의 경우, 블록(208)에서, 무선 아이덴티티 송신기(110)는 롤링 식별자들을 생성하기 위한 의사랜덤 알고리즘과 같은 알고리즘으로부터 새로운 디바이스 식별자를 생성할 수 있다. 블록(1302)에서, 무선 아이덴티티 송신기(110)는, 제 1 근접 시스템과 연관된 제 1 패킷 포맷으로 포맷되고 제 2 근접 시스템의 존재를 표시하는 정보를 포함하는 제 1 패킷을 브로드캐스트할 수 있다. 제 1 패킷 포맷의 그러한 패킷들은, 수신기 디바이스들 상에서 실행되는 제 1 소프트웨어 구현(예컨대, 펌웨어, 애플리케이션, 루틴 등)에 의한 프로세싱에 대해 매우-적합할 수 있다. 예컨대, 브로드캐스트 패킷은, 메시지가 스마트폰 수신기(예컨대, 근접 브로드캐스트 수신기(138))의 운영 체제에 대한 사용에 대해 매우-적합하도록(또는 최적화되도록) 구조화됨을 표시하는 헤더 또는 다른 플래그 또는 코드를 갖도록 포맷될 수 있다. 위에 설명된 바와 같이, 비-연결가능 블루투스 패킷들의 상이한 구조들과 같은 다양한 패킷 포맷들은, 블루투스 규격과 같은 통신 프로토콜 규격들에 의해 표시될 수 있다.
[0174] 제 1 패킷은 또한, 수신 디바이스들에 의해 실행 또는 식별되는 경우 제 2 소프트웨어 구현(예컨대, 펌웨어, 소프트웨어, 루틴들 등)으로 하여금 개시, 준비, 우선순위화(예컨대, 증가된 듀티 사이클), 또는 달리 어웨이큰되게 할 수 있는 커맨드, 명령, 또는 코드를 포함할 수 있다. 예컨대, 제 1 패킷은, 임의의 근접 수신자 디바이스가 제 2 패킷 포맷의 메시지들과 연관된 펌웨어를 개시(또는 웨이크)하라는 커맨드를 포함할 수 있다. 다른 예로서, 제 1 패킷은, 애플리케이션으로 하여금 근접 브로드캐스트 수신기(138)의 포어그라운드가 되게 하고 상이한 패킷 포맷을 갖는 메시지들을 청취하는 것을 시작하게 할 수 있는 토큰을 포함할 수 있다. 다시 말해서, 제 1 패킷은, 특수 데이터(예컨대, 센서 데이터, 숨겨진 것, 롤링 식별자들 등)를 브로드캐스트하는 무선 아이덴티티 송신기(110) 근처에 있다고 근접 브로드캐스트 수신기(138)(예컨대, 스마트폰)에 알리는 정보를 포함하도록 설계될 수 있으며, 따라서, 근접 브로드캐스트 수신기(138)는 레이턴시가 감소되게 이들 브로드캐스트들을 수신하기 위해서는 등록해야 한다. 다양한 실시예들에서, 제 1 패킷은 블록(208)의 동작들로 생성되는 바와 같은 롤링 식별자를 포함할 수 있거나 또는 포함하지 않을 수 있다. 일부 실시예들에서, 제 1 패킷은 서비스 UUID를 포함하지 않을 수 있거나, 또는 대안적으로, 제 1 패킷 포맷으로 포맷된 경우, 0의 길이를 갖는 서비스 UUID를 포함할 수 있다.
[0175] 제 1 패킷 포맷의 제 1 패킷을 브로드캐스트한 이후에, 무선 아이덴티티 송신기(110)는, 예컨대 미리 정의된 수의 밀리초(예컨대, 40ms, 50ms, 60ms, 100ms 등) 동안 비지-대기 사이클을 수행함으로써, 선택적 블록(1304)에서 일정 기간을 대기할 수 있다. 미리 정의된 수의 밀리초는 미리 결정된 시간량(또는 임계치)에 대응할 수 있는데, 이 시간 동안, 근접 브로드캐스트 수신기(138)는 제 1 패킷을 수신하여 프로세싱할 필요가 있을 수 있다. 선택적 실시예에서, 무선 아이덴티티 송신기(110)는 미리 정의된 수의 반복들로 블록(1302)의 동작들을 이용하여 제 1 패킷을 계속해서 브로드캐스트할 수 있다. 예컨대, 무선 아이덴티티 송신기(110)는, 인근의 근접 브로드캐스트 수신기들(138)이 제 1 패킷을 수신하여 프로세싱할 수 있음을 보장하기 위해, 미리 정의된 수의 반복들로 수 밀리초마다 제 1 패킷을 다시 브로드캐스트할 수 있다. 제 1 패킷을 브로드캐스트하는 선택적 대기 기간 및/또는 반복 횟수들은, 알려진 프로세싱 사이클 시간들 또는 다양한 수신기 디바이스들의 기능들에 기초할 수 있거나, 또는 대안적으로, 근접 브로드캐스트 수신기들(138)에 대한 특정한 기능/프로세싱 요건들에 기초할 수 있다.
[0176] 도 13b를 참조하면, 근접 브로드캐스트 수신기(138)는, 방법(1350)의 블록(1352)에서 제 1 패킷 포맷의 제 1 패킷을 제 1 소프트웨어 구현을 통해 수신할 수 있다. 위에 설명된 바와 같이, 근접 브로드캐스트 수신기(138)는, 도 3a-4b를 참조하여 위에 설명된 바와 같이 그리고/또는 블루투스 규격에서 정의된 패킷 포맷들과 같은, 단거리 무선 신호들(114)을 통해 브로드캐스트하고 그리고 제 1 소프트웨어 구현과 연관되는 알려진 구조들의 패킷들을 블루투스 통지하는 것을 모니터링하도록 구성될 수 있다. 위에 설명된 바와 같이, 제 1 소프트웨어 구현은, 제 1 패킷 포맷의 패킷들을 효율적으로 프로세싱하기 위한 근접 브로드캐스트 수신기(138)에 의한 사용에 대해 설계되거나 또는 달리 매우-적합한(또는 최적화된) 펌웨어, 애플리케이션들, 루틴들 등일 수 있다. 일부 실시예들에서, 수신된 제 1 패킷은, 헤더 비트, 코드, 또는 제 1 패킷 포맷을 표시하는 다른 정보를 포함할 수 있고, 근접 브로드캐스트 수신기(138)는, 제 1 패킷 포맷을 표시하는 정보를 검출하는 것에 대한 응답으로 제 1 소프트웨어 구현의 동작들, 루틴들, 방법들, 소프트웨어 등을 실행하도록 구성될 수 있다.
[0177] 이하에서 설명되는 바와같이, 제 1 소프트웨어 구현을 통해 제 1 패킷 포맷의 패킷들을 수신(및 프로세싱)하는 것은 근접 브로드캐스트 수신기에 의해 지원되는 다른 소프트웨어 구현들을 통해 다른 포맷들의 패킷들을 모니터링하고 그리고/또는 수신하는 것보다 수신기 전력을 덜 소비할 수 있다. 예컨대, 제 1 패킷 포맷과 연관된 제 1 소프트웨어 구현은 최소 대기시간량 및/또는 배터리 전력 소비로, 수신된 제 1 패킷을 파싱하는 운영 체제 루틴일 수 있다. 근접 브로드캐스트 수신기(138)는 제 1 소프트웨어 구현을 정상적으로 (또는 디폴트로) 실행하도록 구성될 수 있다.
[0178] 블록(1354)에서, 근접 브로드캐스트 수신기(138)는 제 2 근접 시스템의 존재를 표시하는 정보를 검출하기 위하여 제 1 소프트웨어 구현으로, 수신된 제 1 패킷을 프로세싱할 수 있다. 근접 브로드캐스트 수신기(138)는 제 2 근접 시스템과 연관된 메시지들이 이용가능하며 그리고/또는 제 2 근접 시스템과 연관된 제 2 소프트웨어 구현이 근접 브로드캐스트 수신기(138)에 의해 수행되어야 한다는 것을 표시하는 커맨드들, 표시자들, 플래그들, 코드들 또는 명령들을 식별하기 위하여, 수신된 제 1 패킷을 프로세싱할 수 있다. 예컨대, 수신된 제 1 패킷은 근접 브로드캐스트 수신기(138)가 특정 루틴들을 로드하거나, 론치하거나, 웨이크-업하거나 또는 등록하기 위한 커맨드를 포함할 수 있다.
[0179] 따라서, 블록(1356)에서, 제 2 근접 시스템의 존재를 표시하는 정보(즉, 제 2 포맷의 메시지들)를 검출하는 것에 대한 응답으로, 근접 브로드캐스트 수신기(138)는 예컨대 프로세싱된 제 1 패킷에 기초하여 제 2 패킷 포맷과 연관된 애플리케이션 또는 펌웨어를 웨이크함으로써 제 2 근접 시스템과 연관된 제 2 소프트웨어 구현을 조절할 수 있다(또는 제 2 소프트웨어 구현의 동작을 변경할 수 있다). 다시 말해서, 수신기(138)는 제 2 패킷 포맷의 패킷들을 더 양호하게 핸들링하도록 조절될 수 있다. 이러한 조절 또는 변경은 제 2 소프트웨어 구현을 웨이크하는 것 또는 단순히 제 2 소프트웨어 구현의 동작 파라미터를 변경시키는 것을 포함할 수 있다. 예컨대, 근접 브로드캐스트 수신기(138)는 애플리케이션이 제 2 패킷 포맷의 패킷들의 수신기에서의 수신을 모니터링하는 빈도를 증가시키기 위하여 애플리케이션에 대한 듀티 사이클을 변경할 수 있다. 제 2 소프트웨어 구현은 제 2 근접 시스템의 존재의 검출에 기초하여 휴면 또는 콜드(cold) 상태로부터 어웨이크 또는 론치되거나 또는 어웨이크 또는 론치되지 않을 수 있다.
[0180] 일부 실시예들에서, 제 2 패킷 포맷의 후속 제 2 패킷이 무선 아이덴티티 송신기(110)에 의해 송신될 수 있다는 것을 표시하는 제 1 패킷내의 데이터를 검출하는 것에 대한 응답으로, 근접 브로드캐스트 수신기(138)는 제 2 패킷 포맷의 후속 메시지들을 수신하기 위하여 하나 또는 그 초과의 운영 체제 API들에 등록할 수 있다. 예컨대, 근접 브로드캐스트 수신기(138)는 수신된 제 1 패킷에서 표시된 서비스 UUID에 기초하여 패킷들을 수신할 것을 등록하거나, 모든 후속 패킷들을 수신할 것을 등록하거나, 또는 무선 아이덴티티 송신기(110)와 연관되고 무선 아이덴티티 송신기(110)내에 코딩되는 독점 값 또는 서비스 UUID를 가진 후속 패킷들을 수신하기 위하여 등록하는 것 등을 수행할 수 있다. 일부 실시예들에서, 근접 브로드캐스트 수신기(138)는 수신된 제 1 패킷을 프로세싱하는 것에 대한 응답으로 제 2 패킷 포맷에 대한 휴면 애플리케이션을 로드하거나 또는 그렇지 않은 경우에 론치할 수 있다.
[0181] 도 13a를 참조하면, 방법(1300)의 블록(1306)에서, 무선 아이덴티티 송신기(110)는 제 2 근접 시스템과 연관된 제 2 포맷으로 포맷되고 디바이스 식별자를 포함하는 제 2 패킷(또는 메시지)을 브로드캐스트할 수 있다. 예컨대, 제 2 패킷은 도 3a-도 4b를 참조로 하여 앞서 설명된 바와같은 패킷 구조들 중 하나의 패킷 구조로 포맷된 비연결 블루투스 패킷일 수 있다. 무선 아이덴티티 송신기(110)는 제 1 패킷을 브로드캐스트한 이후 미리 정의된 기간의 만료시(예컨대, 제 1 패킷의 송신 이후 50 ms, 51 ms, 60 ms 등이 경과한 때) 제 2 패킷 포맷의 제 2 패킷을 단거리 무선 신호들을 통해 브로드캐스트할 수 있다. 제 2 패킷은 블록(208)의 동작들에서 생성된 식별자, 예컨대 암호화되거나 또는 그렇지 않은 경우에 숨겨진 롤링 식별자를 포함할 수 있다. 제 2 패킷은 다른 데이터, 예컨대 센서 데이터(예컨대, 서미스터 센서 데이터, 가속도계 센서 데이터, 방사선 센서 데이터, 습도 센서 데이터, CO2 센서 데이터 등)를 더 포함할 수 있다. 일부 실시예들에서, 제 2 패킷은 서비스 UUID 또는 0보다 더 긴 길이를 가진 서비스 UUID를 포함할 수 있다. 이후, 무선 아이덴티티 송신기(110)는 선택 블록(1308)에서의 일정 기간, 예컨대 미리 정의된 수의 밀리초를 대기할 수 있으며, 새로운 디바이스 식별자를 생성하기 위하여 블록(208)의 동작들을 계속할 수 있다. 선택적인 실시예에서, 무선 아이덴티티 송신기(110)는 예컨대 미리 정의된 횟수 또는 미리 정의된 반복들로 브로드캐스트를 반복함으로써 제 2 패킷의 브로드캐스트를 반복하기 위하여 블록(1306)의 동작들을 계속할 수 있다.
[0182] 도 13b를 참조하면, 방법(1350)의 블록(1358)에서, 근접 브로드캐스트 수신기(138)는 조절된 제 2 소프트웨어 구현으로 제 2 패킷을 수신할 수 있으며, 블록(1360)에서 제 2 패킷 포맷과 연관된 제 2 소프트웨어 구현(그리고 제 2 근접 시스템)으로, 수신된 제 2 패킷을 프로세싱할 수 있다. 다시 말해서, 근접 브로드캐스트 수신기(138)는 블록(1356)의 동작들을 통해 수행된 조절들에 대한 응답으로 제 2 패킷을 수신할 수 있다. 예컨대, 어웨이큰드 펌웨어(awakened firmware)는 롤링 식별자를 식별하기 위하여 수신된 제 2 패킷 내의 헤더 데이터를 해석하고 그리고/또는 수신된 제 2 패킷내의 데이터를 해석할 수 있다. 블록(1362)에서, 근접 브로드캐스트 수신기(138)는 프로세싱된 제 2 패킷에 기초한 액션들, 예컨대 무선 아이덴티티 송신기(110)(즉, 롤링 식별자)가 근접 브로드캐스트 수신기(138)의 근처에 있음을 표시하는 사이팅 메시지를 중앙 서버에 송신하는 것을 수행할 수 있다. 근접 브로드캐스트 수신기(138)는 또한 예컨대 제 2 패킷의 수신을 로깅하고, 애플리케이션을 론치하며 그리고 정보를 사용자에게 방사함으로써 (예컨대, 무선 아이덴티티 송신기(110)가 근처에 있음을 표시하는 텍스트 메시지를 렌더링하고, 사운드 샘플을 플레이(play)하는 등을 수행함으로써), 수신된 제 2 패킷을 프로세싱하는 것에 대한 응답으로 다양한 동작들(예컨대, 소프트웨어 명령들, 루틴들 등)을 수행할 수 있다. 근접 브로드캐스트 수신기(138)는 추가 메시지들을 수신하기 위하여 블록(1352)으로 리턴함으로써 동작들을 반복할 수 있다.
[0183] 일부 실시예들에서, 근접 브로드캐스트 수신기(138)는 일단 제 1 패킷 및 제 2 패킷이 수신되면 무선 아이덴티티 송신기(110)로부터의 후속 브로드캐스트 메시지들을 무시하도록 구성될 수 있다. 예컨대, 근접 브로드캐스트 수신기(138)는 후속 패킷들이 무시되거나 또는 새로운 통신들로서 프로세싱될 수 있는지의 여부를 결정하기 위하여 후속 패킷들 내의 데이터와 무선 아이덴티티 송신기(110)(예컨대, 롤링 식별자)로부터의 제 1 및/또는 제 2 패킷들 내에서 수신되는 데이터를 비교할 수 있다. 이러한 기술은 근접 브로드캐스트 수신기(138)의 근처내에 있는 동안 동일한 데이터를 반복적으로 (그리고 연속적으로) 브로드캐스트할 수 있는 무선 아이덴티티 송신기(110s)로부터의 패킷들의 불필요한 프로세싱을 방지하는데 매우 유용할 수 있다. 일부 실시예들에서, 근접 브로드캐스트 수신기(138)는 단지 미리 정의된 시간 기간, 예컨대 수 초, 수 분 등 동안 후속 메시지들을 무시할 수 있다.
[0184] 도 14a-도 14b는 근접 브로드캐스트 수신기(138)에 의해 프로세싱하기 위한 제 2 데이터 부분을 포함하는 제 2 패킷 포맷의 제 2 패킷 및 제 1 데이터 부분을 포함하는 제 1 패킷 포맷의 제 1 패킷을 무선 아이덴티티 송신기(110)가 브로드캐스트하기 위한 실시예 방법들(1400, 1450)을 예시한다. 방법들(1400, 1450)은 방법들(1400, 1450)이 제 1 및 제 2 패킷들 둘다에 걸쳐 확산된 데이터를 브로드캐스트하고 프로세싱하기 위한 동작들을 포함할 수 있다는 점을 제외하고, 앞서 설명된 방법들(1300, 1350)과 각각 유사하다. 다시 말해서, 제 1 패킷 포맷의 제 1 패킷은 근접 브로드캐스트 수신기(138)가 제 2 타입의 패킷과 연관된 소프트웨어 구현을 조절하거나 또는 변경하도록 (예컨대, 애플리케이션, 펌웨어, 연산, 루틴 등과 연관된 듀티 사이클을 웨이크하거나 또는 변경하도록) 구성될 뿐만아니라 제 2 타입의 패킷과 연관된 그 소프트웨어 구현에 의해 사용될 수 있는 데이터의 일부분을 포함할 수 있다. 예컨대, 무선 아이덴티티 송신기(110)는 고유 식별자(예컨대, 롤링 코드)와 같은 원래의 페이로드를 2개의 데이터 세그먼트들로 분할하기 위한 동작들을 수행할 수 있으며, 이후 제 1 패킷 포맷의 제 1 블루투스 패킷에서 제 1 데이터 세그먼트를 브로드캐스트하고 제 2 패킷 포맷의 제 2 블루투스 패킷에서 제 2 데이터 세그먼트를 브로드캐스트할 수 있다. 근접 브로드캐스트 수신기(138)는 정보(예컨대, 완전한 롤링 식별자) 및/또는 커맨드들을 생성하기 위하여 제 1 및 제 2 패킷들로부터의 데이터 세그먼트들을 함께 결합하거나 또는 그렇지 않은 경우에 프로세싱하도록 구성될 수 있다. 다양한 실시예들에서, 순차 정보, 예컨대 일련의 배열된 커맨드들, 소프트웨어 명령들, 패스코드들, 키들 또는 애플리케이션 데이터는 제 1 패킷 및 제 2 패킷으로부터의 데이터가 수신되어 프로세싱되지 않는 경우에 순차 정보가 알려지거나 또는 사용되거나 또는 실행될 수 없도록 제 1 및 제 2 패킷에서 개별적으로 송신될 수 있다. 예컨대, 무선 아이덴티티 송신기(110)는 제 1 패킷의 데이터에서 커맨드의 제 2 명령을 송신할 수 있고 제 2 패킷의 데이터에서 커맨드의 제 1 및 제 3 명령들을 송신할 수 있으며, 따라서 근접 브로드캐스트 수신기(138)는 제 1 및 제 2 패킷들 둘다의 데이터를 결합할 때만 커맨드를 실행할 수 있다.
[0185] 도 14a의 방법(1400)을 참조하면, 블록(208)에서, 무선 아이덴티티 송신기(110)는 알고리즘으로부터 새로운 디바이스 식별자를 생성할 수 있다. 블록(1402)에서, 무선 아이덴티티 송신기(110)는 제 1 근접 시스템과 연관된 제 1 패킷 포맷으로 포맷되고 제 2 근접 시스템의 존재를 표시하는 정보를 포함하고 데이터의 제 1 부분을 포함하는 제 1 패킷(또는 메시지)을 브로드캐스트할 수 있다. 예컨대, 데이터의 제 1 부분은 명령 세트, 애플리케이션 데이터의 세그먼트, 비밀 메시지 또는 비밀 정보의 서브세트 등의 시작부분일 수 있다. 데이터의 제 1 부분을 가진 제 1 패킷 포맷의 제 1 패킷을 브로드캐스트 한 이후에, 무선 아이덴티티 송신기(110)는 예컨대 미리 정의된 수의 밀리초(예컨대, 40ms, 50ms, 60ms, 100ms 등) 동안 비지-대기 사이클(busy-wait cycle)을 수행함으로써, 선택 블록(1304)에서 일정 기간을 대기할 수 있다. 미리 정의된 수의 밀리초는 미리 결정된 시간량(또는 임계치)에 대응할 수 있는데, 이 시간 동안, 근접 브로드캐스트 수신기(138)는 제 1 패킷을 수신하여 프로세싱할 것을 요구할 수 있다. 선택 실시예에서, 무선 아이덴티티 송신기(110)는 미리 정의된 횟수/미리 정의된 반복들/미리 정의된 재연들로 블록(1402)의 동작들을 사용하여 제 1 패킷을 계속해서 브로드캐스트할 수 있다. 예컨대, 무선 아이덴티티 송신기(110)는 인근의 근접 브로드캐스트 수신기들(138)이 제 1 패킷을 수신하여 프로세싱할 수 있도록 보장하기 위하여 특정 횟수의 반복들로 수밀리초마다 제 1 패킷을 다시 브로드캐스트할 수 있다. 선택적인 대기 기간 및/또는 제 1 패킷을 브로드캐스트하는 반복 횟수들은 알려진 프로세싱 사이클 시간들 또는 다양한 수신기 디바이스들의 기능들에 기초할 수 있거나 또는 대안적으로 근접 브로드캐스트 수신기들(138)에 대한 특정 기능/프로세싱 요건들에 기초할 수 있다.
[0186] 도 14b의 방법(1450)을 참조하면, 블록들(1352, 1354-1360)의 동작들은 앞서 설명된 것과 유사할 수 있다. 특히, 근접 브로드캐스트 수신기(138)는 블록(1352)에서 제 1 패킷 포맷의 제 1 패킷을 제 1 소프트웨어 구현을 통해 수신할 수 있다. 앞서 설명된 바와같이, 근접 브로드캐스트 수신기(138)는 도 3a-도 4b를 참조로 하여 앞서 설명된 바와같은 그리고/또는 블루투스 규격에서 정의된 패킷 포맷들과 같은, 단거리 무선 신호들(114)을 통해 브로드캐스트되는 알려진 구조들의 패킷들을 블루투스 통지하는 것을 모니터링하도록 구성될 수 있다. 블록(1354)에서, 근접 브로드캐스트 수신기(138)는 제 2 근접 시스템의 존재를 표시하는 정보를 검출하기 위하여 제 1 소프트웨어 구현으로, 수신된 제 1 패킷을 프로세싱할 수 있다. 블록(1452)에서, 근접 브로드캐스트 수신기(138)는 프로세싱된 제 1 패킷으로부터 데이터의 제 1 부분을 식별하여 저장할 수 있다. 특히, 근접 브로드캐스트 수신기(138)는 제 1 부분이 존재한다는 것을 표시하며 무선 아이덴티티 송신기(110)로부터 후속하여 수신된 데이터와 결합될 수 있는 코드들, 비트, 메시지들 또는 다른 정보를 수신된 제 1 패킷의 페이로드내에서 식별할 수 있다. 예컨대, 근접 브로드캐스트 수신기(138)는 페이로드가 근접 브로드캐스트 수신기(138)에 의해 아직 수신될 다른 패킷들과 함께 사용될 데이터를 포함한다는 것을 표시하는 플래그 비트를 검출하기 위하여, 수신된 제 1 패킷내의 데이터를 파싱할 수 있다. 근접 브로드캐스트 수신기(138)는 제 2 패킷 포맷 및/또는 애플리케이션과 연관된 임시 저장 버퍼 또는 다른 위치내에 데이터의 제 1 부분을 저장할 수 있다. 예컨대, 데이터의 제 1 부분은 근접 브로드캐스트 수신기(138)가 무선 아이덴티티 송신기(110s)로부터의 브로드캐스트 메시지들로부터의 부분 데이터와 연관시키는 레지스터 또는 메모리내에 저장될 수 있다. 일부 실시예들에서, 근접 브로드캐스트 수신기(138)는 데이터의 나머지 부분(즉, 데이터의 제 2 부분)의 수신 시에 정확한 후속 결합 동작들을 가능하게 하기 위하여 제 1 패킷 및/또는 무선 아이덴티티 송신기(110)에 대응하는 식별자 및/또는 수신된 제 1 패킷과 관련하여 데이터의 제 1 부분을 저장할 수 있다. 예컨대, 근접 브로드캐스트 수신기(138)는 제 1 패킷내에서 또한 표시된 고유 식별자 또는 타임스탬프에 링크되는 데이터베이스의 데이터 레코드에 데이터의 제 1 부분을 저장할 수 있다.
[0187] 근접 브로드캐스트 수신기(138)는 근접 브로드캐스트 수신기(138)에 의해 수행되어야 하는 액션들을 표시하는 커맨드들, 코드들, 또는 명령들, 예컨대 특정 루틴들 또는 소프트웨어에 대해 로드, 론치, 웨이크-업 또는 등록하기 위한 커맨드를 식별하기 위하여, 수신된 제 1 패킷을 프로세싱할 수 있다. 따라서, 블록(1356)에서, 제 2 근접 시스템의 존재를 표시하는 정보를 검출하는 것에 대한 응답으로, 근접 브로드캐스트 수신기(138)는 예컨대 프로세싱된 제 1 패킷에 기초하여 제 2 패킷 포맷과 연관된 애플리케이션 또는 펌웨어를 웨이크함으로써 제 2 근접 시스템과 연관된 제 2 소프트웨어 구현을 조절할 수 있다(또는 제 2 소프트웨어 구현의 동작을 변경할 수 있다).
[0188] 방법(1400)을 참조하면, 블록(1406)에서, 무선 아이덴티티 송신기(110)는 제 2 근접 시스템과 연관된 제 2 포맷으로 포맷되고 데이터의 제 2 부분 및 디바이스 식별자를 포함하는 제 2 패킷(또는 메시지)을 브로드캐스트할 수 있다. 예컨대, 제 2 패킷은 도 3a-도 4b를 참조로 하여 앞서 설명된 바와같은 패킷 구조들 중 하나의 구조로 포맷된 비연결 블루투스 패킷일 수 있다. 제 2 패킷은 블록(208)의 동작들에서 생성된 식별자, 예컨대 암호화되거나 또는 그렇지 않은 경우에 숨겨진 롤링 식별자를 포함할 수 있다. 데이터의 제 2 부분은 유용한 정보, 명령들, 커맨드들 또는 데이터를 생성하기 위하여 제 1 데이터 내에서 결합될 수 있는 다양한 타입들의 정보를 포함할 수 있다. 예컨대, 제 2 부분은 그것이 데이터의 제 1 부분내의 정보와 결합되지 않는 경우에 중요하지 않거나 또는 유용하지 않은 정보를 포함할 수 있다. 다른 예로서, 데이터의 제 2 부분은 센서 데이터 보고의 제 1 절반인 데이터의 제 1 부분과 결합될 수 있는 센서 데이터 보고의 다른 절반일 수 있다. 이후, 무선 아이덴티티 송신기(110)는 새로운 디바이스 식별자를 생성하기 위하여 블록(208)의 동작들을 계속하기 전에 선택 블록(1308)에서의 일정 기간, 예컨대 미리 정의된 수의 밀리초를 대기할 수 있다. 선택적인 실시예에서, 무선 아이덴티티 송신기(110)는 제 2 패킷의 브로드캐스트를 반복하기 위하여 블록(1406)의 동작들, 예컨대 미리 정의된 횟수의 반복들로 제 2 패킷을 브로드캐스트하는 것을 계속할 수 있다.
[0189] 일부 실시예들에서, 디바이스 식별자는 데이터의 제 1 부분과 제 2 부분 사이에서 분할될 수 있다. 예컨대, 무선 아이덴티티 송신기(110)는 숨겨진 또는 롤링 식별자를 나타내는 제 1 수의 비트을 가진 제 1 패킷을 송신할 수 있으며, 숨겨진 식별자의 나머지를 나타내는 제 2 수의 비트을 가진 제 2 패킷을 송신할 수 있다.
[0190] 방법(1450)을 참조하면, 블록(1358)에서, 근접 브로드캐스트 수신기(138)는 제 2 패킷 포맷의 제 2 패킷을, 조절된 제 2 소프트웨어 구현을 통해 수신할 수 있으며, 블록(1360)에서 제 2 근접 시스템(및 제 2 패킷 포맷)과 연관된 제 2 소프트웨어 구현으로, 수신된 제 2 패킷을 프로세싱할 수 있다. 예컨대, 어웨이큰드 애플리케이션은 수신된 제 2 패킷내에서 롤링 식별자 및/또는 데이터를 식별하기 위하여, 수신된 제 2 패킷 내의 헤더 데이터를 해석할 수 있다. 블록(1454)에서, 근접 브로드캐스트 수신기(138)는 프로세싱된 제 2 패킷내로부터의 데이터의 제 2 부분을 식별할 수 있다. 예컨대, 프로세싱(예컨대, 파싱 및 파싱된 데이터의 해석)에 기초하여, 근접 브로드캐스트 수신기(138)는 제 2 패킷의 페이로드가 수신된 제 1 패킷내의 제 1 부분과 결합될 제 2 부분을 포함한다는 것을 표시하는 비트, 플래그 또는 코드를 검출할 수 있다.
[0191] 블록(1456)에서, 근접 브로드캐스트 수신기(138)는 수신된 제 1 및 제 2 패킷들로부터 식별된 데이터의 제 1 및 제 2 부분들을 사용하는 액션들을 수행할 수 있다. 예컨대, 근접 브로드캐스트 수신기(138)는 데이터의 제 2 부분과 데이터의 저장된 제 1 부분을 결합 또는 융합하기 위한 동작들을 수행할 수 있다. 다른 예로서, 근접 브로드캐스트 수신기(138)는 제 1 및 제 2 부분들에 의해 표현되는 동작들의 순서를 식별하기 위하여 데이터의 제 1 및 제 2 부분들을 분석할 수 있으며, 동작들을 순서대로 수행할 수 있다. 또 다른 예로서, 근접 브로드캐스트 수신기(138)는 중앙 서버에 중계될 사이팅 메시지에 데이터의 제 1 부분 및 제 2 부분 둘다를 패키징할 수 있다. 일부 실시예들에서, 데이터의 제 1 및 제 2 부분들은 근접 브로드캐스트 수신기(138)에 의해 실행될 수 있는 커맨드(예컨대, 소프트웨어 명령, API 콜 등)를 생성하기 위하여 근접 브로드캐스트 수신기(138)에 의해 프로세싱되거나 또는 그렇지 않은 경우에 결합될 수 있다. 또 다른 실시예에서, 데이터의 제 1 및 제 2 부분들은 무선 아이덴티티 송신기(110)와 연관된 롤링 식별자를 생성하기 위하여 프로세싱되거나 또는 그렇지 않은 경우에 결합될 수 있다. 근접 브로드캐스트 수신기(138)는 추가 패킷들을 수신하기 위하여 블록(1352)으로 리턴함으로써 동작들을 반복할 수 있다.
[0192] 도 15는 예시적인 무선 아이덴티티 송신기(110)의 컴포넌트들을 예시한다. 무선 아이덴티티 송신기(110)는 마이크로제어기(1501), 안테나(1506)에 커플링된 단거리 라디오(1504)(예컨대, Bluetooth® 라디오 또는 트랜시버), 메모리(1502) 및 배터리(1510)를 포함할 수 있다. 비록 이들 컴포넌트들이 공통 연결부에 의해 링크된 것으로 도시될지라도, 이들 컴포넌트들은 다양한 방식들로 상호 연결되고 구성될 수 있다. 예컨대, 무선 아이덴티티 송신기(110)는 마이크로제어기(1501)가 메모리(1502)의 콘텐츠들에 기초하여 메시지를 언제 송신해야하는지를 결정할 수 있도록 구성될 수 있다. 일부 실시예들에서, 마이크로제어기(1501)는 블루투스 시스템-온-칩 유닛(Bluetooth system-on-chip unit)일 수 있다. 메모리(1502)는 또한 마이크로제어기(1501)로부터의 커맨드들에 기초하여 안테나(1506)를 통해 단거리 라디오(1504에 의해 송신될 하나 또는 그 초과의 메시지들 또는 메시지 부분들을 포함할 수 있다. 배터리(1510)는 다른 컴포넌트들에 의해 필요에 따라 전력을 공급할 수 있다. 또한, 일부 구현들에서, 마이크로제어기(1501), 단거리 라디오(1504) 및/또는 메모리(1502)는 단일 집적회로로서 함께 집적될 수 있다. 이들 컴포넌트들이 표준 또는 기성품 구성의 마이크로칩들일 수 있기 때문에, 이들 컴포넌트들은 예시적인 실시예의 구조와 일치하는 블록들로서 도 15에 표현된다.
[0193] 무선 아이덴티티 송신기(110)는 팔치와 같은 다양한 물건들과 결합되거나 또는 이 다양한 물건들내에 구축될 수 있다. 예컨대, 예시적인 무선 아이덴티티 송신기(110)는 손목시계 밴드 또는 개 목걸이와 같은 끈에 용이하게 부착되는 형태일 수 있다. 대안적인 실시예들은 무선 아이덴티티 송신기(110)를 추적할 필요가 있을 수 있는 임의의 다른 모바일 물건들내에 통합할 수 있다.
[0194] 무선 아이덴티티 송신기(110)는 주기적으로 전력 절약 모드로 들어가거나 또는 슬립 모드로 들어감으로써, 예컨대 무선 아이덴티티 송신기(110)의 식별 코드를 가진 패킷의 브로드캐스트과 슬립핑 간을 규칙적으로 번갈아 수행함으로써 전력을 절약할 수 있다. 다양한 실시예들은 상이한 브로드캐스트 및 슬립핑 사이클들을 포함할 수 있으며, 예컨대 일부 실시예들은 브로드캐스트을 더 자주 또는 덜 수행할 수 있으며, 이를 테면 슬립 기간들 사이에서 수초 또는 수분마다 웨이크 및 브로드캐스트할 수 있다.
[0195] 일부 실시예들에서, 배터리(1510)는 교체 가능한 코인 셀 배터리일 수 있다. 다른 실시예에서, 무선 아이덴티티 송신기(110)는 송신 간격들 및/또는 송신 전력을 구성하는 것과 같은 구성 동작들에서의 사용 및 저장을 위한 업데이트 소프트웨어, 명령들 또는 다른 데이터를 수신하기 위하여 안테나(1506)를 활용할 수 있다. 무선 아이덴티티 송신기(110)는 또한 앞서 설명된 바와같이 롤링 코드들 또는 식별자들을 생성하기 위한 소프트웨어, 알고리즘들, 명령들, 코드 또는 다른 루틴들을 저장 및 실행할 수 있다. 일부 실시예들에서, 무선 아이엔티티 송신기는 시간(예컨대, UTC) 정보를 유지하지 않을 수 있으나 대신에 클록으로서 30 ppm 16 kHz 수정(crystal)을 사용할 수 있다. 클록으로서 이러한 수정의 사용은 년당 대략 40초의 시간 드리프트를 발생시킬 수 있다.
[0196] 대안적으로, 메모리(1502)는 마이크로제어기(1501)내에 포함될 수 있으며, 이는 또한 개별 프로세싱 유닛을 포함할 수 있다. 단거리 라디오(1504)는 디바이스 ID를 포함하는 메시지들 또는 신호들을 브로드캐스트할 수 있는 송신기 또는 대안적으로 RF 신호들을 송신 및 수신하도록 구성된 트랜시버일 수 있어서, 통신 프로토콜을 활용하는 다른 디바이스들과의 통신들을 할 수 있다. 예컨대, 무선 아이덴티티 송신기(110)는 스마트폰들과 같은 다른 단거리 라디오 인에이블 디바이스(short-range radio enabled device)들과 통신하도록 구성될 수 있다. 일부 실시예들에서, 단거리 라디오(1504)는 다양한 저-에너지 무선 통신 프로토콜들, 예컨대 LTE-D, 피어-투-피어 LTE-D, 및 WiFi-Direct를 통해 통신하도록 구성될 수 있다.
[0197] 일부 실시예들에서, 무선 아이덴티티 송신기(110)는 근접 브로드캐스트 수신기에 의해 수신될 수 있고 그리고/또는 사용자가 들 수 있는 사운드를 방사하도록 구성된 스피커(도시안됨)를 포함할 수 있다. 예컨대, 무선 아이덴티티 송신기(110)는 청취하는 근접 브로드캐스트 수신기들에 자신의 존재를 표시할 수 있는 가청 통신들을 방사할 수 있다. 다른 실시예에서, 무선 아이덴티티 송신기(110)는 변화하는 신호 세기들로 신호들을 송신하도록 구성될 수 있으며, 따라서 무선 아이덴티티 송신기(110)로부터의 브로드캐스트들이 근접 브로드캐스트 수신기들에 의해 수신될 수 있는 범위가 변화할 수 있다.
[0198] 부가적으로, 무선 아이덴티티 송신기(110)는 다양한 상태들 및 변수들을 측정하기 위한 하나 또는 그 초과의 센서들을 포함할 수 있다. 일부 실시예들에서, 무선 아이덴티티 송신기(110)는 가속도계(1515)(또는 임의의 다른 모션 센서 예컨대 자이로스코프 또는 중력계(gravitometer))를 포함할 수 있으며, 이는 무선 아이덴티티 송신기(110)와 연관된 자산의 모션을 표시하는 데이터를 수집할 수 있다. 예컨대, 가속도계(1515)는 무선 아이덴티티 송신기(110)를 휴대하고 있는 어린이의 이동들을 설명하는 모션 데이터를 생성할 수 있다. 무선 아이덴티티 송신기(110)내에 포함될 수 있는 다른 센서들은 온도 센서(1516)(예컨대, 서미스터), 방사선 센서(1517), 습도 센서(1518) 및 이산화탄소(CO2) 센서(1519)를 포함한다. 다양한 실시예들에서, 무선 아이덴티티 송신기(110)는 이들 및 다른 센서들의 임의의 조합을 포함할 수 있다. 이들 잠재적인 센서들은 단지 무선 아이덴티티 송신기들(110)내에 통합될 수 있는 센서들의 타입들의 예들이며, 다른 타입들의 센서들이 포함될 수 있다. 예컨대, 무선 아이덴티티 송신기(110)는 또한 다양한 다이어그램들에 도시되지 않은 센서들, 예컨대 마이크로폰, 카메라, 열 센서, 압력 센서 및 광 센서를 포함할 수 있다.
[0199] 도 16은 예시적인 근접 브로드캐스트 수신기 실시예의 주요 컴포넌트들을 예시한다. 근접 브로드캐스트 수신기(142)는 안테나(1606)에 커플링된 단거리 무선 라디오(예컨대, 무선 아이덴티티 송신기의 블루투스 라디오)와 통신할 수 있는 단거리 라디오(1604)(예컨대, 블루투스 라디오 또는 트랜시버), 및 인터넷과 같은 네트워크를 통해 직접적으로 또는 간접적으로 다시 중앙 서버(120)에 통신할 수 있는 2차 네트워크 디바이스(1608)를 포함할 수 있다. 일부 실시예들에서, 2차 네트워크 디바이스(1608)는 셀룰라 또는 무선 라디오 또는 모뎀 또는 다른 유선 네트워크 디바이스일 수 있다. 근접 브로드캐스트 수신기(142)는 또한 프로세서(1601), 메모리(1602), 및 근접 브로드캐스트 수신기(142)가 상용 전력(utility power)에 커플링된 경우에 백업 전원으로서 또는 주 전원으로서 배터리(1610)를 포함할 수 있다. 근접 브로드캐스트 수신기(142)는 GPS 수신기(1614) 또는 무선 아이덴티티 송신기로부터 수신되는 임의의 메시지와 연관되는 현재 위치를 결정하기 위한 다른 타입의 위치 결정 메커니즘을 포함할 수 있다. 일부 실시예들에서, 만일 근접 브로드캐스트 수신기가 모바일이 아니면, 근접 브로드캐스트 수신기는 위치가 알려지고 변함이 없을 수 있기 때문에 GPS 수신기(1614)를 포함하지 않을 수 있다. 비록 이들 컴포넌트들이 공통 연결에 의해 링크된 것으로 도시될지라도, 이들 컴포넌트들은 다양한 방식들로 상호 연결되고 구성될 수 있다. 이들 컴포넌트들이 표준 또는 기성품 구성의 마이크로칩들일 수 있기 때문에, 이들 컴포넌트들은 예시적인 실시예의 구조와 일치하는 블록들로서 도 16에 표현된다.
[0200] 도 17은 다양한 실시예들에서 사용하기에 적합한 스마트폰 타입 모바일 디바이스의 시스템 블록도이다. 스마트폰 모바일 디바이스(1700)는 내부 메모리(1702)에 커플링된 프로세서(1701), 디스플레이(1703) 및 스피커(1754)를 포함할 수 있다. 추가로, 스마트폰 모바일 디바이스(1700)는 무선 데이터 링크에 연결될 수 있는 전자기 방사선을 전송 및 수신하기 위한 안테나(1704) 및/또는 프로세서(1701)에 커플링되고 광역 무선 통신 네트워크를 통해 통신할 수 있는 셀 전화 트랜시버(1705)를 포함할 수 있다. 스마트폰 모바일 디바이스(1700)는 무선 아이덴티티 송신기들과 통신하거나 또는 페어링할 수 있는 개별적인 단거리 라디오 트랜시버(1724)를 포함할 수 있다. 스마트폰 모바일 디바이스(1700)는 전형적으로 사용자 입력들을 수신하기 위한 메뉴 선택 버튼들 또는 로커 스위치들(1708)을 또한 포함할 수 있다. 일부 실시예들에서, 스마트폰 모바일 디바이스(1700)는 또한 프로세서(1701)에 커플링된 GPS 칩(1726)을 포함할 수 있다.
[0201] 도 18은 본 개시내용의 다양한 실시예들을 구현하기에 적합한 서버(1800)의 시스템 블록도이다. 서버(1800)는 상업적으로 이용가능한 서버 디바이스일 수 있다. 이러한 서버(1800)는 전형적으로 휘발성 메모리(1802) 및 대용량 비휘발성 메모리, 예컨대 디스크 드라이브(1803)에 커플링된 프로세서(1801)를 포함한다. 서버(1800)는 또한 프로세서(1801)에 커플링된 플로피 디스크 드라이브, 컴팩트 디스크(CD) 또는 DVD 디스크 드라이브(1806)를 포함할 수 있다. 서버(1800)는 또한 네트워크(1805), 예컨대 다른 브로드캐스트 시스템 컴퓨터들 및 서버들에 커플링된 근거리 통신망과의 데이터 연결들을 설정하기 위하여 프로세서(1801)에 커플링된 네트워크 액세스 포트들(1804)을 포함할 수 있다.
[0202] 프로세서들(1501, 1601, 1701, 1801)은 이하에서 설명된 다양한 실시예들의 기능들을 비롯한 다양한 기능들을 수행하기 위한 소프트웨어 명령들(애플리케이션들)에 의해 구성될 수 있는 임의의 프로그램가능 마이크로프로세서, 마이크로컴퓨터 또는 다수의 프로세서 칩 또는 칩들일 수 있다. 일부 모바일 근접 브로드캐스트 수신기들에서, 다수의 프로세서들(1701), 예컨대 무선 통신 기능들에 전용된 하나의 프로세서 및 다른 애플리케이션들을 실행하는 것에 전용된 하나의 프로세서가 제공될 수 있다. 전형적으로, 소프트웨어 애플리케이션들은 이들이 액세스되어 프로세서들(1501, 1601, 1701, 1801)에 로드되기 전에 내부 메모리(1502, 1602, 1702, 1802)에 저장될 수 있다. 프로세서들(1501, 1601, 1701, 1801)은 애플리케이션 소프트웨어 명령들을 저장하기에 충분한 내부 메모리를 포함할 수 있다.
[0203] 전술한 방법 설명들 및 프로세스 흐름도들은 단지 예시적인 예들로서 제공되고, 다양한 실시예들의 단계들이 제시된 순서로 수행되어야 함을 요구하거나 의미하는 것으로 의도되지 않는다. 당업자에 의해 인식될 바와 같이, 전술한 실시예들의 단계들의 순서는 임의의 순서로 수행될 수 있다. "그 후", "이후", "다음" 등과 같은 단어들은 단계들의 순서를 제한하는 것으로 의도되지 않고; 이 단어들은 단순히, 방법들의 설명 전반에 걸쳐 독자를 안내하기 위해 사용된다. 추가로, 예컨대, 단수형 표현을 이용한 단수인 청구항 엘리먼트들에 대한 임의의 참조는 그 엘리먼트를 단수로 제한하는 것으로 해석되어서는 안된다.
[0204] 본원에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 회로들 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 하드웨어 및 소프트웨어의 이러한 상호 호환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 그들의 기능적 관점에서 앞서 설명되었다. 이러한 기능이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션, 및 전체 시스템에 대해 부과된 설계 제한들에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 이러한 구현 결정들이 본 발명의 범위를 벗어나는 것을 야기하는 것으로 해석되어서는 안 된다.
[0205] 본원에 개시되는 양상들과 관련하여 설명된 다양한 예시적인 로직, 로직 블록들, 모듈들 및 회로들을 구현하는데 이용되는 하드웨어는 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그램 가능 게이트 어레이(FPGA) 또는 다른 프로그램 가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에서 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합에 의해 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, 예컨대 DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 그 초과의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수 있다. 대안적으로, 몇몇 단계들 또는 방법들은, 주어진 기능에 특정된 회로에 의해 수행될 수 있다.
[0206] 하나 또는 그 초과의 예시적인 양상들에서, 설명된 기능들은 하드웨어, 소프트웨어, 프로세서-실행가능 소프트웨어 명령들(또는 프로세서-실행가능 명령들), 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되면, 기능들은 컴퓨터-판독가능 매체 상에 하나 또는 그 초과의 명령들 또는 코드로서 저장되거나 또는 이들을 통해 송신될 수 있다. 본원에 개시된 알고리즘 또는 방법의 단계들은 유형의 비일시적 프로세서-판독가능 또는 컴퓨터-판독가능 저장 매체(즉, 프로세서-실행가능 명령들을 저장한 비-일시적 프로세서-판독가능 저장 매체)상에 상주할 수 있는 프로세서-실행가능 소프트웨어 모듈에서 구현될 수 있다. 유형의 비일시적 컴퓨터-판독가능 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능 매체일 수 있다. 제한이 아닌 예시로, 이러한 비일시적 컴퓨터-판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 요구되는 프로그램 코드를 저장하는데 이용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 여기서 사용되는 디스크(disk 및 disc)는 컴팩트 디스크(disc)(CD), 레이저 디스크(disc), 광 디스크(disc), 디지털 다기능 디스크(DVD), 플로피 디스크(disk), 및 블루-레이 디스크(disc)를 포함하며, 여기서 디스크(disk)들은 보통 데이터를 자기적으로 재생하지만, 디스크(disc)들은 레이저들로 데이터를 광학적으로 재생한다. 상기한 것의 조합들 또한 비일시적 컴퓨터-판독가능 매체의 범위 내에 포함되어야 한다. 추가로, 방법 또는 알고리즘의 동작들은, 컴퓨터 프로그램 물건에 통합될 수 있는 유형의 비일시적 머신 판독가능 매체 및/또는 컴퓨터 판독가능 매체 상에 코드들 및/또는 명령들 중 하나 또는 이들의 임의의 조합 또는 이들의 세트로서 상주할 수 있다.
[01207] 개시된 실시예들의 앞의 설명은 당업자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이 실시예들에 대한 다양한 변형들은 당업자들에게 쉽게 명백할 것이며, 본원에서 정의된 일반적인 원리들은 본 발명의 사상 또는 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 따라서, 본 발명은 본원에서 제시된 실시예들로 한정되는 것으로 의도되지 않고, 본원에 개시된 하기 청구항들 및 원리들 및 신규한 특징들과 부합하는 가장 넓은 범위에 따라야 한다.

Claims (30)

  1. 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법으로서,
    비콘에 의해 송신되는 상기 제 1 패킷 포맷의 제 1 메시지를 수신기에 의해 수신하는 단계;
    비콘에 의해 송신되고 있는 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들의 존재를 표시하는 정보를 상기 제 1 메시지에서 검출하는 단계;
    검출된 정보에 기초하여 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들을 프로세싱하도록 상기 수신기를 조절하는 단계;
    상기 수신기를 조절하는 것에 대한 응답으로, 비콘에 의해 송신되는 상기 제 2 패킷 포맷의 제 2 메시지를 상기 수신기에 의해 수신하는 단계; 및
    수신된 제 2 메시지에 기초한 액션(action)을 상기 수신기에 의해 수행하는 단계를 포함하는, 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법.
  2. 제 1항에 있어서, 상기 제 2 패킷 포맷의 제 2 메시지를 수신하는 상기 단계는 상기 제 1 패킷 포맷의 제 1 메시지를 수신하는 상기 단계보다 더 많은 전력을 소비하는, 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법.
  3. 제 1항에 있어서, 상기 제 1 패킷 포맷의 제 1 메시지를 수신기에 의해 수신하는 상기 단계는 제 1 비콘으로부터의 상기 제 1 패킷 포맷의 제 1 메시지를 상기 수신기에 의해 수신하는 단계를 포함하며; 그리고
    상기 수신기를 조절하는 것에 대한 응답으로, 비콘에 의해 송신되는 상기 제 2 패킷 포맷의 제 2 메시지를 상기 수신기에 의해 수신하는 상기 단계는 상기 수신기를 조절하는 것에 대한 응답으로, 상기 제 1 비콘으로부터의 상기 제 2 패킷 포맷의 제 2 메시지를 상기 수신기에 의해 수신하는 단계를 포함하는, 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법.
  4. 제 1항에 있어서, 상기 제 1 패킷 포맷의 제 1 메시지를 상기 수신기에 의해 수신하는 단계는 제 1 비콘으로부터의 상기 제 1 패킷 포맷의 제 1 메시지를 상기 수신기에 의해 수신하는 단계를 포함하며; 그리고
    상기 수신기를 조절하는 것에 대한 응답으로, 비콘에 의해 송신되는 상기 제 2 패킷 포맷의 제 2 메시지를 상기 수신기에 의해 수신하는 상기 단계는 상기 수신기를 조절하는 것에 대한 응답으로, 제 2 비콘으로부터의 상기 제 2 패킷 포맷의 제 2 메시지를 상기 수신기에 의해 수신하는 단계를 포함하는, 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법.
  5. 제 4항에 있어서, 상기 제 2 비콘은 모바일 디바이스인, 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법.
  6. 제 1항에 있어서, 검출된 정보에 기초하여 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들을 프로세싱하도록 상기 수신기를 조절하는 상기 단계는,
    상기 검출된 정보에 기초하여 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들과 연관된 소프트웨어 구현을 상기 수신기에 의해 웨이크(wake)하는 단계; 및
    상기 소프트웨어 구현이 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들의 상기 수신기에서의 수신을 모니터링하는 빈도를 증가시키기 위하여, 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들과 연관된 상기 소프트웨어 구현에 대한 듀티 사이클(duty cycle)을 상기 수신기에 의해 변경하는 단계 중 적어도 하나를 포함하는, 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법.
  7. 제 1항에 있어서, 수신된 제 2 메시지에 기초한 액션을 상기 수신기에 의해 수행하는 상기 단계는 상기 수신된 제 2 메시지로부터의 데이터를 포함하는 사이팅 메시지(sighting message)를 상기 수신기가 서버에 송신하는 단계를 포함하는, 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법.
  8. 제 1항에 있어서, 수신된 제 1 메시지를 프로세싱함으로써 데이터의 제 1 부분을 상기 수신기에 의해 식별하는 단계; 및
    수신된 제 2 메시지를 프로세싱함으로써 상기 데이터의 제 2 부분을 상기 수신기에 의해 식별하는 단계를 더 포함하며;
    상기 수신된 제 2 메시지에 기초한 액션을 상기 수신기에 의해 수행하는 상기 단계는,
    상기 데이터의 식별된 제 1 부분 및 상기 데이터의 식별된 제 2 부분을 상기 수신기에 의해 결합하는 단계,
    상기 데이터의 식별된 제 1 부분 및 상기 데이터의 식별된 제 2 부분의 결합에 기초하여 상기 수신기에 의해 커맨드를 생성하는 단계, 및
    상기 수신기에 의해 상기 커맨드를 실행하는 단계를 포함하는, 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법.
  9. 제 1항에 있어서, 상기 제 1 메시지 및 상기 제 2 메시지는 비-연결가능 블루투스 패킷(non-connectable Bluetooth packet)들인, 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법.
  10. 제 1항에 있어서, 상기 제 1 메시지는 제 1 0 길이를 가진 제 1 범용 고유 식별자를 포함하거나 또는 블루투스 SIG 특정 범용 고유 식별자를 포함하지 않으며; 그리고
    상기 제 2 메시지는 0이 아닌 제 2 길이를 가진 제 2 범용 고유 식별자를 포함하는, 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법.
  11. 제 1항에 있어서, 상기 제 2 패킷 포맷은 상기 제 1 메시지에서 보다 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들에서 더 많은 데이터가 송신되도록 허용하는, 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법.
  12. 제 1항에 있어서, 상기 제 2 패킷 포맷은 보다 강한 보안 프로토콜을 활용하는, 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법.
  13. 제 1항에 있어서, 상기 수신기는 모바일 디바이스에 포함되는, 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법.
  14. 제 1항에 있어서, 상기 비콘은 모바일 디바이스에 포함되는, 제 1 패킷 포맷 및 제 2 패킷 포맷을 사용하여 인터리빙 방식으로 송신되는 비콘 메시지들을 프로세싱하기 위한 방법.
  15. 컴퓨팅 디바이스로서,
    프로세서를 포함하며;
    상기 프로세서는,
    비콘에 의해 송신되는 제 1 패킷 포맷의 제 1 메시지를 수신하는 동작;
    비콘에 의해 송신되고 있는 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들의 존재를 표시하는 정보를 상기 제 1 메시지에서 검출하는 동작;
    검출된 정보에 기초하여, 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들을 프로세싱하도록 상기 컴퓨팅 디바이스를 조절하는 동작;
    상기 컴퓨팅 디바이스를 조절하는 것에 대한 응답으로, 비콘에 의해 송신되는 상기 제 2 패킷 포맷의 제 2 메시지를 수신하는 동작; 및
    수신된 제 2 메시지에 기초한 액션을 수행하는 동작을 포함하는 동작들을 수행하도록 하는 프로세서-실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  16. 제 15항에 있어서, 상기 프로세서는 상기 제 2 패킷 포맷의 제 2 메시지를 수신하는 상기 동작이 상기 제 1 패킷 포맷의 제 1 메시지를 수신하는 상기 동작보다 더 많은 전력을 소비하도록 하는 프로세서-실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  17. 제 15항에 있어서, 상기 프로세서는,
    상기 제 1 패킷 포맷의 제 1 메시지를 수신하는 동작이 제 1 비콘으로부터의 상기 제 1 패킷 포맷의 제 1 메시지를 수신하는 동작을 포함하며; 그리고
    상기 컴퓨팅 디바이스를 조절하는 것에 대한 응답으로, 비콘에 의해 송신되는 상기 제 2 패킷 포맷의 제 2 메시지를 수신하는 상기 동작이 상기 컴퓨팅 디바이스를 조절하는 것에 대한 응답으로, 상기 제 1 비콘으로부터의 상기 제 2 패킷 포맷의 제 2 메시지를 수신하는 동작을 포함하도록 하는 프로세서-실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  18. 제 15항에 있어서, 상기 프로세서는,
    제 1 패킷 포맷의 제 1 메시지를 수신하는 상기 동작이 제 1 비콘으로부터의 상기 제 1 패킷 포맷의 제 1 메시지를 수신하는 동작을 포함하며; 그리고
    상기 컴퓨팅 디바이스를 조절하는 것에 대한 응답으로, 비콘에 의해 송신되는 상기 제 2 패킷 포맷의 제 2 메시지를 수신하는 상기 동작이 상기 컴퓨팅 디바이스를 조절하는 것에 대한 응답으로, 제 2 비콘으로부터의 상기 제 2 패킷 포맷의 제 2 메시지를 수신하는 동작을 포함하도록 하는 프로세서-실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  19. 제 18항에 있어서, 상기 제 2 비콘은 모바일 디바이스인, 컴퓨팅 디바이스.
  20. 제 15항에 있어서, 상기 프로세서는,
    검출된 정보에 기초하여 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들을 프로세싱하도록 상기 컴퓨팅 디바이스를 조절하는 상기 동작이,
    상기 검출된 정보에 기초하여 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들과 연관된 소프트웨어 구현을 웨이크하는 동작, 및
    상기 소프트웨어 구현이 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들의 상기 컴퓨팅 디바이스에서의 수신을 모니터링하는 빈도를 증가시키기 위하여, 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들과 연관된 상기 소프트웨어 구현에 대한 듀티 사이클을 변경하는 동작 중 적어도 하나를 포함하도록 하는 프로세서-실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  21. 제 15항에 있어서, 상기 프로세서는 수신된 제 2 메시지에 기초한 액션을 수행하는 상기 동작이 상기 수신된 제 2 메시지로부터의 데이터를 포함하는 사이팅 메시지를 서버에 송신하는 동작을 포함하도록 하는 프로세서-실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  22. 제 15항에 있어서, 상기 프로세서는,
    수신된 제 1 메시지를 프로세싱함으로써 데이터의 제 1 부분을 식별하는 동작; 및
    상기 수신된 제 2 메시지를 프로세싱함으로써 상기 데이터의 제 2 부분을 식별하는 동작을 더 포함하는 프로세서-실행가능 명령들로 구성되며;
    상기 수신된 제 2 메시지에 기초한 액션을 수행하는 동작은,
    상기 데이터의 식별된 제 1 부분 및 상기 데이터의 식별된 제 2 부분을 결합하는 동작,
    상기 데이터의 식별된 제 1 부분 및 상기 데이터의 식별된 제 2 부분의 결합에 기초하여 커맨드를 생성하는 동작, 및
    상기 커맨드를 실행하는 동작을 포함하는, 컴퓨팅 디바이스.
  23. 제 15항에 있어서, 상기 제 1 메시지 및 상기 제 2 메시지는 비-연결가능 블루투스 패킷들인, 컴퓨팅 디바이스.
  24. 제 15항에 있어서, 상기 제 1 메시지는 제 1 0 길이를 가진 제 1 범용 고유 식별자를 포함하거나 또는 블루투스 SIG 특정 범용 고유 식별자를 포함하지 않으며; 그리고
    상기 제 2 메시지는 0이 아닌 제 2 길이를 가진 제 2 범용 고유 식별자를 포함하는, 컴퓨팅 디바이스.
  25. 제 15항에 있어서, 상기 제 2 패킷 포맷은 상기 제 1 메시지에서 보다 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들에서 더 많은 데이터가 송신되도록 허용하는, 컴퓨팅 디바이스.
  26. 제 15항에 있어서, 상기 제 2 패킷 포맷은 보다 강한 보안 프로토콜을 활용하는, 컴퓨팅 디바이스.
  27. 제 15항에 있어서, 상기 컴퓨팅 디바이스는 모바일 디바이스인, 컴퓨팅 디바이스.
  28. 제 15항에 있어서, 상기 비콘은 모바일 디바이스에 포함되는, 컴퓨팅 디바이스.
  29. 프로세서-실행가능 명령들을 저장한 비-일시적 프로세서-판독가능 저장 매체로서,
    상기 프로세서-실행가능 명령들은, 컴퓨팅 디바이스의 프로세서가,
    비콘에 의해 송신되는 제 1 패킷 포맷의 제 1 메시지를 수신하는 동작;
    비콘에 의해 송신되고 있는 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들의 존재를 표시하는 정보를 상기 제 1 메시지에서 검출하는 동작;
    검출된 정보에 기초하여, 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들을 프로세싱하도록 상기 컴퓨팅 디바이스를 조절하는 동작;
    상기 컴퓨팅 디바이스를 조절하는 것에 대한 응답으로, 비콘에 의해 송신되는 상기 제 2 패킷 포맷의 제 2 메시지를 수신하는 동작; 및
    수신된 제 2 메시지에 기초한 액션을 수행하는 동작을 포함하는 동작들을 수행하도록 구성되는, 비-일시적 프로세서-판독가능 저장 매체.
  30. 시스템으로서,
    수신기; 및
    제 1 비콘을 포함하며,
    상기 수신기는,
    제 1 트랜시버; 및
    상기 제 1 트랜시버와 커플링된 제 1 프로세서를 포함하며;
    상기 제 1 프로세서는,
    제 1 패킷 포맷의 제 1 메시지를 상기 제 1 트랜시버를 통해 수신하는 동작;
    인근 비콘들에 의해 송신되고 있는 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들의 존재를 표시하는 정보를 상기 제 1 메시지에서 검출하는 동작;
    검출된 정보에 기초하여, 상기 제 2 패킷 포맷의 하나 또는 그 초과의 메시지들을 프로세싱하도록 상기 수신기를 조절하는 동작;
    상기 수신기를 조절하는 것에 대한 응답으로, 상기 제 2 패킷 포맷의 제 2 메시지를 상기 제 1 트랜시버를 통해 수신하는 동작; 및
    수신된 제 2 메시지에 기초한 액션을 상기 수신기에 의해 수행하는 동작을 포함하는 동작들을 수행하도록 하는 프로세서-실행가능 명령들로 구성되며,
    상기 제 1 비콘은,
    제 2 트랜시버; 및
    상기 제 2 트랜시버에 커플링되며, 상기 제 2 트랜시버를 통해 상기 제 1 패킷 포맷의 제 1 메시지를 브로드캐스트하는 동작을 포함하는 동작들을 수행하도록 하는 프로세서-실행가능 명령들로 구성되는 제 2 프로세서를 포함하는, 시스템.
KR1020167009829A 2013-02-21 2014-09-16 검출능력 및 보안의 개선을 위한 통지 패킷들의 인터리빙 KR20160057442A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US201361878899P true 2013-09-17 2013-09-17
US61/878,899 2013-09-17
US14/284,317 2014-05-21
US14/284,317 US20140254466A1 (en) 2013-02-21 2014-05-21 Interleaving Advertising Packets For Improved Detectability And Security
PCT/US2014/055930 WO2015042065A1 (en) 2013-09-17 2014-09-16 Interleaving advertising packets for improved detectability and security

Publications (1)

Publication Number Publication Date
KR20160057442A true KR20160057442A (ko) 2016-05-23

Family

ID=51660044

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167009829A KR20160057442A (ko) 2013-02-21 2014-09-16 검출능력 및 보안의 개선을 위한 통지 패킷들의 인터리빙

Country Status (5)

Country Link
EP (1) EP3047681B1 (ko)
JP (1) JP2016534675A (ko)
KR (1) KR20160057442A (ko)
CN (1) CN105557031A (ko)
WO (1) WO2015042065A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10136250B2 (en) 2015-09-02 2018-11-20 Estimote Polska Sp. Z O. O. System and method for lower power data routing
EP3148237A1 (en) * 2015-09-28 2017-03-29 Alcatel Lucent Monitoring of attacks on bluetooth beacon devices
JP6486811B2 (ja) * 2015-10-16 2019-03-20 日本電信電話株式会社 無線システム、端末装置および識別情報報知方法
JP6300855B2 (ja) * 2016-03-24 2018-03-28 キヤノン株式会社 印刷装置、印刷装置の制御方法及びプログラム
JP6697355B2 (ja) * 2016-08-31 2020-05-20 株式会社エヌ・ティ・ティ ピー・シー コミュニケーションズ 送信機、通信システム、送信方法及びプログラム
JP6293247B1 (ja) * 2016-11-29 2018-03-14 キヤノン株式会社 印刷装置、印刷装置の制御方法及びプログラム
JP6253751B1 (ja) * 2016-11-29 2017-12-27 キヤノン株式会社 印刷装置及び印刷装置の制御方法
JP6300888B1 (ja) * 2016-11-29 2018-03-28 キヤノン株式会社 印刷装置、システム及び印刷装置の制御方法
JP6297123B1 (ja) * 2016-11-29 2018-03-20 キヤノン株式会社 印刷装置、印刷装置の制御方法及びプログラム
US10531229B2 (en) 2017-02-02 2020-01-07 Radius Networks Inc. Wireless locator system
JP6891072B2 (ja) * 2017-08-09 2021-06-18 オムロンヘルスケア株式会社 情報処理装置、受信方法、およびプログラム
JP6584553B2 (ja) * 2018-02-28 2019-10-02 キヤノン株式会社 印刷装置、印刷装置の制御方法、及びプログラム
EP3841770A1 (en) * 2018-08-22 2021-06-30 Estimote Polska Sp. Z O.O. System and method for verifying device security
CN109255653A (zh) * 2018-08-27 2019-01-22 阿里巴巴集团控股有限公司 一种动销方法、装置及电子设备
CN109831746B (zh) * 2018-11-27 2020-09-01 阿里巴巴集团控股有限公司 一种基于蓝牙广播进行数据传输的方法、装置及蓝牙设备
US10484831B1 (en) * 2018-12-26 2019-11-19 Radius Networks Inc. Local ephemeral location tracking of mobile device users

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4579947B2 (ja) * 2007-06-22 2010-11-10 日本電信電話株式会社 無線lan省電力制御方法および無線基地局装置並びに無線端末装置
WO2009025747A1 (en) * 2007-08-21 2009-02-26 Packetvideo Corp. Mobile media router and method for using same
US9167609B2 (en) * 2011-07-10 2015-10-20 Qualcomm Incorporated Systems and methods for low-overhead wireless beacon timing
US20130178163A1 (en) * 2012-01-10 2013-07-11 Htc Corporation Systems for Facilitating Wireless Communication and Related Methods
US9155026B2 (en) * 2012-01-10 2015-10-06 Htc Corporation Systems for facilitating wireless communication and related methods
JP2015505219A (ja) * 2012-01-19 2015-02-16 インテル コーポレイション サービス発見のためのシステム及び方法
US20130214909A1 (en) * 2012-02-22 2013-08-22 Qualcomm Incorporated Airplane mode for wireless transmitter device and system using short-range wireless broadcasts
US20140133656A1 (en) * 2012-02-22 2014-05-15 Qualcomm Incorporated Preserving Security by Synchronizing a Nonce or Counter Between Systems

Also Published As

Publication number Publication date
WO2015042065A1 (en) 2015-03-26
CN105557031A (zh) 2016-05-04
EP3047681B1 (en) 2017-10-18
JP2016534675A (ja) 2016-11-04
EP3047681A1 (en) 2016-07-27

Similar Documents

Publication Publication Date Title
KR20160057442A (ko) 검출능력 및 보안의 개선을 위한 통지 패킷들의 인터리빙
US20140254466A1 (en) Interleaving Advertising Packets For Improved Detectability And Security
JP2018078578A (ja) デバイス識別子を不明瞭にするための方法およびデバイス
US9424417B2 (en) Secure current movement indicator
US20170070847A1 (en) Platform for Wireless Identity Transmitter and System Using Short Range Wireless Broadcasts
US10419907B2 (en) Proximity application discovery and provisioning
US20130214909A1 (en) Airplane mode for wireless transmitter device and system using short-range wireless broadcasts
JP2018061264A (ja) 短距離ワイヤレスブロードキャストを使用したワイヤレス送信機デバイスおよびシステムのための機内モード
US20130217333A1 (en) Determining rewards based on proximity of devices using short-range wireless broadcasts
US10360593B2 (en) Retail proximity marketing
US20130282438A1 (en) System for delivering relevant user information based on proximity and privacy controls
US10111031B2 (en) Object detection and tracking system
JP2015515080A (ja) 近接度およびプライバシーコントロールに基づく関連のあるユーザ情報を伝達するためのシステム
WO2013163338A2 (en) Determining rewards based on proximity of devices using short-range wireless broadcasts

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination