IP Library Granted Patent US 10,939,231
Granted Patent B2
US 10,939,231 · App. 16/457,815 · Granted Mar 2, 2021

Geofencing

Inventors: Afshin Gharachedaghi (Palo Alto, CA); Thaddeus White (Los Altos, CA); Alexander Ilin (Sunnyvale, CA); Alexander Rusin (Moscow, RU); Anthony Hizon (Mountain View, CA); Robert Mines (San Francisco, CA)
Assignee: Ooma, Inc.
H04W4/021
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 10,939,231
App. No.
16/457,815
Granted
Mar 2, 2021
Kind
B2
Abstract

Methods and systems for determining a geofence has been crossed are provided. Exemplary methods include: configuring a plurality of services of a mobile operating system using respective application programming interfaces; receiving a wake up from the mobile operating system; getting a notification from a service of the plurality of services; confirming the geofence has been crossed; and notifying a backend that the geofence has been crossed.

Claims (70)

1. A computer-implemented method for determining a geofence has been crossed, the method comprising:

configuring a plurality of services of a mobile operating system using respective application programming interfaces to determine when a geofence has likely been crossed by a mobile device running the mobile operating system;

receiving a wake up of a mobile application from the mobile operating system, wherein the wake up results from a response generated by a backend server as a result of the backend server receiving a communication from a device within the geofence;

getting a notification from a service of the plurality of services;

confirming the geofence has been crossed using a Global Positioning System service to determine an accurate location;

using the Global Positioning System service until the notifying a backend service data center is completed and thereby keeping the mobile operating system from putting the mobile application asleep;

notifying the backend service data center associated with at least one of the plurality of services that the geofence has been crossed; and

sleeping the mobile application after the notifying is complete.

2. The computer-implemented method of claim 1 , wherein:

the plurality of services includes a geofence service; and

configuring the geofence service includes defining an area about an address associated with the geofence.

3. The computer-implemented method of claim 1 , wherein:

the plurality of services includes a push notification service; and

the notification is a push notification received from a data center associated with a provider of the mobile operating system, the data center receiving a request from the backend server, the backend server sending the request in response to a sensor within the geofence being triggered.

4. The computer-implemented method of claim 1 , wherein:

the plurality of services includes a network change service; and

confirming the geofence has been crossed includes checking that a network connection is to a Wi-Fi network registered with a location, the location being associated with the geofence.

5. The computer-implemented method of claim 1 , wherein:

the plurality of services includes a beacon service;

the notification includes a signal from a Bluetooth beacon; and

confirming the geofence has been crossed includes checking the Bluetooth beacon is registered with a location associated with the geofence.

6. The computer-implemented method of claim 1 , wherein:

the plurality of services includes a significant-change location service.

7. The computer-implemented method of claim 1 , wherein:

confirming the geofence has been crossed includes using an accelerometer to determine that there is movement.

8. The computer-implemented method of claim 1 , wherein:

the backend service data center changes a notification mode in response to the geofence being crossed.

9. The computer-implemented method of claim 1 , wherein:

the mobile operating system is at least one of Apple iOS and Google Android.

10. The computer-implemented method of claim 1 , wherein the device within the geofence is a hub.

11. The computer-implemented method of claim 1 , wherein the device within the geofence is a motion sensor or door alarm.

12. A system for determining a geofence has been crossed, the system comprising:

a processor; and

a memory communicatively coupled to the processor, the memory storing instructions executable by the processor to perform a method comprising:

configuring a plurality of services of a mobile operating system using respective application programming interfaces to determine when a geofence has likely been crossed by a mobile device running the mobile operating system;

receiving a wake up of a mobile application from the mobile operating system, wherein the wake up results from a response generated by a backend server as a result of the backend server receiving a communication from a device within the geofence;

getting a notification from a service of the plurality of services;

confirming the geofence has been crossed using a Global Positioning System service to determine an accurate location;

using the Global Positioning System service until the notifying is completed and thereby keeping the mobile operating system from putting the service asleep;

sleeping the service after the notifying is complete; and

notifying a backend service data center associated with at least one of the plurality of services that the geofence has been crossed.

13. The system of claim 12 , wherein:

the plurality of services includes a geofence service; and

configuring the geofence service includes defining an area about an address associated with the geofence.

14. The system of claim 12 , wherein:

the plurality of services includes a push notification service; and

the notification is a push notification received from a data center associated with a provider of the mobile operating system, the data center receiving a request from the backend server, the backend server sending the request in response to a sensor within the geofence being triggered.

15. The system of claim 12 , wherein:

the plurality of services includes a network change service; and

confirming the geofence has been crossed includes checking that a network connection is to a Wi-Fi network registered with a location, the location being associated with the geofence.

16. The system of claim 12 , wherein:

the plurality of services includes a beacon service;

the notification includes a signal from a Bluetooth beacon; and

confirming the geofence has been crossed includes checking the Bluetooth beacon is registered with a location associated with the geofence.

17. The system of claim 12 , wherein:

the plurality of services includes a significant-change location service.

18. The system of claim 12 , wherein:

confirming the geofence has been crossed includes using an accelerometer to determine that there is movement.

19. The system of claim 12 , wherein:

the backend service data center changes a notification mode in response to the geofence being crossed.

20. The system of claim 12 , wherein the device within the geofence is a hub.

21. The system of claim 12 , wherein the device within the geofence is a motion sensor or door alarm.

22. A system for determining a geofence has been crossed, the system comprising:

means for configuring a plurality of services of a mobile operating system using respective application programming interfaces to determine when a geofence has likely been crossed by a mobile device running the mobile operating system;

means for receiving the wake up from the mobile operating system, wherein the means for receiving the wake up is in response to a backend server notification or message as a result of the backend server receiving a communication from a device within the geofence;

means for getting a notification from a service of the plurality of services;

means for confirming the geofence has been crossed using a Global Positioning System service to determine an accurate location;

means for using the Global Positioning System service until the notifying of a backend service data center is completed; and

means for notifying the backend service data center associated with at least one of the plurality of services that the geofence has been crossed; and

means for sleeping the mobile application after the notifying is complete.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jun 9, 2023
From: KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: OOMA, INC.
Reel/Frame 063910/0866 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 11, 2021
From: OOMA, INC.
To: KEYBANK NATIONAL ASSOCIATION
Reel/Frame 054959/0756 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2020
From: MINES, ROBERT
To: OOMA, INC.
Reel/Frame 054272/0692 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2019
From: GHARACHEDAGHI, AFSHIN; WHITE, THADDEUS; ILIN, ALEXANDER; RUSIN, ALEXANDER; HIZON, ANTHONY
To: OOMA, INC.
Reel/Frame 049754/0182 →
Continuity (1)
Related Publication 20200413215A1 · Dec 31, 2020