IP Library Granted Patent US 9,794,744
Granted Patent B1
US 9,794,744 · App. 14/972,636 · Granted Oct 17, 2017

Physical presence validation through use of time-restricted secure beacon devices

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,794,744
App. No.
14/972,636
Granted
Oct 17, 2017
Kind
B1
Abstract

A system and method for efficiently establishing secure mobile device communication for location-aware applications. A beacon device broadcasts encrypted packets. Each of the packets includes an indication of a respective time of broadcast. A mobile computing device, such as a smartphone, receives a packet that is broadcast from the beacon device. The mobile computing device determines the packet corresponds to a particular location-aware application and sends the packet to a server. The server determines an expected latency for the received packet based at least in part on crowdsourcing, which includes latencies of other packets sent from the same location. If the server determines the latency of the received packet is not within an expected range, the server considers the packet to be invalid.

Claims (42)

1. A communication system comprising:

a transmitter device configured to broadcast a plurality of packets, wherein each of said packets indicates a time of broadcast;

a receiver device configured to receive the plurality of packets; and

a destination device configured to:

receive a given packet of the plurality of packets from the receiver device;

determine a first indication of time corresponding to receipt of the given packet;

extract a second indication of time from the given packet that corresponds to broadcast of the given packet from the transmitter device;

determine a first difference between the first indication of time and the second indication of time; and

in response to determining the first difference exceeds an expected latency, send a response to the receiver device indicating the given packet is invalid, wherein the expected latency is based at least in part on crowdsourcing information from a location of the transmitter device.

2. The communication system as recited in claim 1 , wherein the crowdsourcing information comprises a moving average of latencies between the transmitter device and the destination device.

3. The communication system as recited in claim 1 , wherein the crowdsourcing information comprises an absolute average of latencies between the transmitter device and the destination device.

4. The communication system as recited in claim 1 , wherein the destination device is further configured to maintain expected latencies based on crowdsourcing information that corresponds to one or more of a particular time of day, a particular day of the week and a particular month.

5. The communication system as recited in claim 1 , wherein the receiver device utilizes a given network carrier to convey packets, and wherein the expected latency is based at least in part on the given network carrier.

6. The communication system as recited in claim 1 , wherein in response to determining the first difference is below a threshold latency, send a response to the receiver device indicating the given packet is invalid, wherein the threshold latency is based at least in part on the crowdsourcing information.

7. The communication system as recited in claim 1 , wherein the destination device is further configured to determine a second difference different from the first difference using one or more of the following indications of time: a time the transmitter device generates the given packet, a time the receiver device receives the given packet, and a time the receiver device conveys the given packet.

8. The communication system as recited in claim 1 , wherein the transmitter device is further configured to encrypt the given packet prior to conveyance to the destination device.

9. A method comprising:

broadcasting a plurality of packets from a transmitter device, wherein each of said packets indicates a time of broadcast;

receiving the plurality of packets at a receiver device configured to receive and convey packets;

receiving a given packet of the plurality of packets from the receiver device at a destination device;

determining a first indication of time corresponding to receipt of the given packet;

extracting a second indication of time from the given packet that corresponds to broadcast of the given packet from the transmitter device;

determining a first difference between the first indication of time and the second indication of time; and

in response to determining the first difference exceeds an expected latency, sending a response to the receiver device indicating the given packet is invalid, wherein the expected latency is based at least in part on crowdsourcing information from a location of the transmitter device.

10. The method as recited in claim 9 , wherein the crowdsourcing information comprises a moving average of latencies between the transmitter device and the destination device.

11. The method as recited in claim 10 , further comprising utilizes a given network carrier to convey packets, and wherein the expected latency is based at least in part on the given network carrier.

12. The method as recited in claim 9 , wherein the crowdsourcing information comprises an absolute average of latencies between the transmitter device and the destination device.

13. The method as recited in claim 9 , further comprising maintaining expected latencies based on crowdsourcing information that corresponds to one or more of a particular time of day, a particular day of the week and a particular month.

14. The method as recited in claim 9 , wherein in response to determining the first difference is below a low expected latency less than the high expected latency, the method further comprises sending a response to the receiver device indicating the given packet is invalid, wherein the low expected latency is based at least in part on the crowdsourcing information.

15. The method as recited in claim 9 , further comprising encrypting the given packet.

16. The method as recited in claim 9 , wherein the transmitter device is a beacon device, the receiver device is a mobile computing device, and the destination device is a server.

17. A non-transitory computer readable storage medium comprising program instructions, wherein the program instructions are executable by a processor to:

broadcast a plurality of packets from a transmitter device, wherein each of said packets indicates a time of broadcast;

receive the plurality of packets at a receiver device configured to receive and convey packets;

receive a given packet of the plurality of packets from the receiver device at a destination device;

determine a first indication of time corresponding to receipt of the given packet;

extract a second indication of time from the given packet that corresponds to broadcast of the given packet from the transmitter device;

determine a first difference between the first indication of time and the second indication of time; and

in response to determining the first difference exceeds an expected latency, send a response to the receiver device indicating the given packet is invalid, wherein the expected latency is based at least in part on crowdsourcing information from a location of the transmitter device.

18. The non-transitory computer readable storage medium as recited in claim 17 , wherein the crowdsourcing information comprises a moving average of a plurality of latencies between the transmitter device and the destination device.

19. The non-transitory computer readable storage medium as recited in claim 18 , wherein the program instructions are further executable to maintain expected latencies based on crowdsourcing information that corresponds to at least one or more of a particular time of day, a particular day of the week and a particular month.

20. The non-transitory computer readable storage medium as recited in claim 17 , wherein the crowdsourcing information comprises an absolute average of latencies between the transmitter device and the destination device.

Assignments (4)
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2015
From: GU, LEI; SOKOLOV, ILYA
To: SYMANTEC CORPORATION
Reel/Frame 037319/0005 →