IP Library Granted Patent US 9,866,389
Granted Patent B2
US 9,866,389 · App. 14/603,270 · Granted Jan 9, 2018

Multi-broadcast beacon signals

Inventors: Ryan Preston Reed (Issaquah, WA); Casey Roger Graika (Bellevue, WA)
Assignee: FOOTMARKS, INC.
H04L9/3236H04L63/126H04W12/10H04W12/12H04L2209/80H04W48/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,866,389
App. No.
14/603,270
Granted
Jan 9, 2018
Kind
B2
Abstract

Disclosed herein are techniques and systems for transmitting a multi-broadcast signal from a wireless broadcasting device (or beacon) as part of a beacon recognition process. Specifically, the multi-broadcast signal may be in the form of multiple packets that are broadcast from the beacon within a recognition time period. A process may include creating a first packet having a first identifier (ID) and a randomly generated value, broadcasting the first packet from the beacon, generating a second ID based at least in part on the randomly generated value included in the first packet, and broadcasting, within a period of time from the broadcast of the first packet, a second packet having the second ID and a device ID that uniquely identifies the beacon. A mobile device in proximity to the beacon may include logic to detect and interpret a multi-broadcast signal from the beacon.

Claims (73)

1. A wireless broadcasting device comprising:

one or more processors;

a transceiver;

one or more memories storing a device identifier (ID) that uniquely identifies the wireless broadcasting device and computer-executable instructions that, when executed by the one or more processors, perform acts comprising:

creating a first packet having: (i) a first ID and (ii) a randomly generated value;

broadcasting, via the transceiver, the first packet;

generating a second, different ID based at least in part on the randomly generated value included in the first packet;

creating a second packet having: (i) the second ID and (ii) the device ID; and

broadcasting, via the transceiver, the second packet,

wherein the first packet and the second packet are continuously re-broadcast for a period of time from broadcasting the first packet, the acts further comprising, upon expiration of the period of time:

generating a new randomly generated value;

broadcasting a third packet that includes the first ID and the new randomly generated value;

generating a third ID based at least in part on the new randomly generated value included in the third packet; and

broadcasting a fourth packet that includes the third ID and the device ID.

2. The wireless broadcasting device of claim 1 , wherein the wireless broadcasting device comprises a Bluetooth Low Energy (BLE) beacon.

3. The wireless broadcasting device of claim 1 , wherein the one or more memories further store a Pseudo Random Number Generator (PRNG) to generate the randomly generated value.

4. The wireless broadcasting device of claim 3 , wherein the PRNG is further configured to, at multiple different times:

generate a random value for the device ID; and

assign the random value to the wireless broadcasting device as the device ID that is to be included in the second packet.

5. The wireless broadcasting device of claim 1 , wherein the generating the second ID comprises using the randomly generated value as a seed for a hashing algorithm that is used to generate the second ID.

6. The wireless broadcasting device of claim 5 , wherein the using the randomly generated value as a seed for the hashing algorithm comprises:

replicating the randomly generated value a predetermined number of times to obtain a value constituted of the replicated randomly generated value; and

encrypting the value with a cryptographic key to form the second ID.

7. A computer-implemented method to be performed by a wireless broadcasting device, the method comprising:

creating, by the wireless broadcasting device, a first packet having: (i) a first identifier (ID) and (ii) a randomly generated value;

broadcasting, by the wireless broadcasting device, the first packet;

generating, by the wireless broadcasting device, a second, different ID based at least in part on the randomly generated value included in the first packet;

creating, by the wireless broadcasting device, a second packet having: (i) the second ID and (ii) a device ID that uniquely identifies the wireless broadcasting device; and

broadcasting, by the wireless broadcasting device, the second packet,

wherein the first packet and the second packet are continuously broadcast for a period of time from the broadcasting of the first packet, the method further comprising, upon expiration of the period of time:

generating a new randomly generated value;

broadcasting a third packet that includes the first ID and the new randomly generated value;

generating a third ID based at least in part on the new randomly generated value included in the third packet; and

broadcasting a fourth packet that includes the third ID and the device ID.

8. The method of claim 7 , wherein the device ID comprises a randomly generated device ID, the method further comprising, prior to broadcasting the second packet, assigning the randomly generated device ID to the wireless broadcasting device.

9. The method of claim 7 , wherein the generating the second ID comprises using the randomly generated value as a seed for a hashing algorithm that is used to generate the second ID.

10. The method of claim 9 , wherein the using the randomly generated value as a seed for the hashing algorithm comprises:

replicating the randomly generated value a predetermined number of times to obtain a value constituted of the replicated randomly generated value; and

encrypting the value with a cryptographic key to form the second ID.

11. The method of claim 7 , wherein the generating the second ID comprises encrypting the randomly generated value with a symmetric key.

12. The method of claim 7 , further comprising receiving a write command from a mobile device, the write command comprising a command to update a characteristic of the wireless broadcasting device.

13. The method of claim 12 , further comprising authenticating the write command by:

extracting a characteristic from a message carrying the received write command;

calculating a hash of the characteristic using a hashing algorithm;

extracting a characteristic hash from the message;

comparing the calculated hash of the characteristic to the extracted characteristic hash;

authenticating the write command if the calculated hash of the characteristic matches the extracted characteristic hash; and

rejecting the write command if the calculated hash of the characteristic does not match the extracted characteristic hash.

14. The method of claim 12 , further comprising:

parsing a pre-validation value associated with the write command;

comparing the pre-validation value to a predetermined value;

rejecting the write command if the pre-validation value does not equal the predetermined value; and

processing the write command if the pre-validation value equals the predetermined value.

15. A non-transitory computer-readable medium storing computer-executable instructions that, when executed by one or more processors of a wireless broadcasting device, perform acts comprising:

creating a first packet having: (i) a first identifier (ID) and (ii) a randomly generated value;

broadcasting, via a transceiver of the wireless broadcasting device, the first packet;

generating a second, different ID based at least in part on the randomly generated value included in the first packet;

creating a second packet having: (i) the second ID and (ii) a device ID that uniquely identifies the wireless broadcasting device; and

broadcasting, via the transceiver, the second packet,

wherein the first packet and the second packet are continuously re-broadcast for a period of time from broadcasting the first packet, the acts further comprising, upon expiration of the period of time:

generating a new randomly generated value;

broadcasting, via the transceiver, a third packet that includes the first ID and the new randomly generated value;

generating a third ID based at least in part on the new randomly generated value included in the third packet; and

broadcasting, via the transceiver, a fourth packet that includes the third ID and the device ID.

16. The non-transitory computer-readable medium of claim 15 , wherein the wireless broadcasting device comprises a Bluetooth Low Energy (BLE) beacon.

17. The non-transitory computer-readable medium of claim 15 , further storing a Pseudo Random Number Generator (PRNG) to generate the randomly generated value.

18. The non-transitory computer-readable medium of claim 17 , wherein the PRNG is further configured to, at multiple different times:

generate a random value for the device ID; and

assign the random value to the wireless broadcasting device as the device ID that is to be included in the second packet.

19. The non-transitory computer-readable medium of claim 15 , wherein the generating the second ID comprises using the randomly generated value as a seed for a hashing algorithm that is used to generate the second ID.

20. The non-transitory computer-readable medium of claim 19 , wherein the using the randomly generated value as a seed for the hashing algorithm comprises:

replicating the randomly generated value a predetermined number of times to obtain a value constituted of the replicated randomly generated value; and

encrypting the value with a cryptographic key to form the second ID.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2015
From: REED, RYAN PRESTON; GRAIKA, CASEY ROGER
To: FOOTMARKS, INC.
Reel/Frame 034794/0625 →
Continuity (2)
Provisional Application 61931041 · Jan 24, 2014
Related Publication 20150215781A1 · Jul 30, 2015