IP Library Granted Patent US 12,443,404
Granted Patent B2
US 12,443,404 · App. 17/328,836 · Granted Oct 14, 2025

Method and apparatus for enabling an application to detect specified circumstances

Inventors: Bradley Geilfuss (Los Angeles, CA); Chris Bleakley (Los Angeles, CA); Arthur Wolf (Los Angeles, CA); Evan Gamble (Los Angeles, CA); Wesley Henderson (Los Angeles, CA); Chen Guo (Los Angeles, CA); Yajia Yang (Los Angeles, CA); Boris Shimanovsky (Los Angeles, CA)
Assignee: FOURSQUARE LABS, INC.
G06F8/71G06F8/65G06Q30/0225G06Q30/0254G06Q30/0255H04L67/12H04L67/34H04L67/535H04W4/027H04M2250/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 12,443,404
App. No.
17/328,836
Granted
Oct 14, 2025
Kind
B2
Abstract

Methods and systems are provided that may be utilized to detect occurrence of one or more specified circumstances. A determination may be made as to whether one or more specified circumstances are detected such as responsive to one or more user actions or an occurrence of an event unrelated to a user. One or more binary digital signals may be generated to store a detection of one or more specified user circumstances in a log or memory at least partially in response to detection of the one or more specified circumstances.

Claims (82)

1. A method, comprising:

processing, by one or more processors of a mobile device, at least one of: sensor output from one or more sensors and at least one operating system property of an operating system of the mobile device;

determining, by the one or more processors, whether one or more specified circumstances are detected based upon the at least one sensor output or the at least one operating system property;

receiving, by the one or more processors, one or more directives related to the one or more specified circumstances, wherein the one or more directives cause one or more callback functions to be invoked to perform a specific task based upon the one or more specified circumstances;

determining one or more actions performed by the mobile device in response to the one or more specified circumstances previously resulted in a user response, wherein determining the one or more actions comprises:

determining a prior circumstance associated with a prior action performed by the mobile device, wherein the prior circumstance includes at least a location condition; and

determining whether a prior response was received in response to the prior action; and

generating, by the one or more processors, one or more binary digital signals to indicate that an application is to invoke a specified function, of the mobile device, at least partially in response to detection of the one or more specified circumstances, the one or more directives, and the determination of which actions previously resulted in the user response.

2. The method of claim 1 , wherein the one or more specified circumstances comprise at least one of:

a user activity;

a user location;

one or more location conditions;

a mobility condition; or

a temporal condition.

3. The method of claim 1 , wherein the sensor output comprises one or more of:

a measurement from an accelerometer; or

a location estimate.

4. The method of claim 1 , wherein the at least one operating system property comprises at least one of:

data or information output by an operating system;

data or information accessible via the operating system.

5. The method of claim 4 , wherein the data or information accessible via the operating system comprises one or more of:

data from an application executing on the operating system;

data related to a user action; or

cell tower service data.

6. The method of claim 1 , further comprising:

determine one or more observations from the at least one of the sensor output and the at least one operating system property, wherein detecting the circumstances is further based upon the one or more observations.

7. The method of claim 1 , wherein the application comprises a software development kit comprising an observation engine.

8. A mobile device, comprising:

a receiver to receive one or more electronic signals from an electronic communication network;

a memory to store state information comprising one or more electronic signals; and

a processor to:

process at least one of: sensor output from one or more sensors and at least one operating system property of an operating system of the mobile device;

determine whether one or more specified circumstances are detected based upon the at least one sensor output or the at least one operating system property;

receive one or more directives related to the one or more specified circumstances, wherein the one or more directives cause one or more callback functions to be invoked to perform a specific task upon based upon the one or more specified circumstances;

determine one or more actions performed by the mobile device in response to the one or more specified circumstances previously resulted in a user response, wherein determining the one or more actions comprises:

determining a prior circumstance associated with a prior action performed by the mobile device, wherein the prior circumstance includes at least a location condition; and

determining whether a prior response was received in response to the prior action; and

generate one or more binary digital signals to indicate that an application is to invoke a specified function, of the mobile device, at least partially in response to detection of the one or more specified circumstances, the one or more directives, and the determination of the one or more actions previously resulted in the user response.

9. The mobile device of claim 8 , wherein the one or more specified circumstances comprise at least one of:

a user activity;

a user location;

one or more location conditions;

a mobility condition; or

a temporal condition.

10. The mobile device of claim 8 , wherein the sensor output comprises one or more of:

a measurement from an accelerometer; or

a location estimate.

11. The mobile device of claim 8 , wherein the at least one operating system property comprises at least one of:

data or information output by an operating system;

data or information accessible via the operating system.

12. The mobile device of claim 11 , wherein the data or information accessible via the operating system comprises one or more of:

data from an application executing on the operating system;

data related to a user action; or

cell tower service data.

13. The mobile device of claim 8 , wherein the application comprises a software development kit comprising an observation engine.

14. A system, comprising:

a non-transitory storage medium comprising machine-readable instructions executable by a special purpose computing apparatus to:

process at least one of: sensor output from one or more sensors and at least one operating system property of an operating system of the mobile device;

determine whether one or more specified circumstances are detected based upon the at least one sensor output or the at least one operating system property;

receive one or more directives related to the one or more specified circumstances, wherein the one or more directives cause one or more callback functions to be invoked to perform a specific task based upon the one or more specified circumstances;

determine one or more actions performed by the mobile device in response to the one or more specified circumstances previously resulted in a user response, wherein determining the one or more actions comprises:

determining a prior circumstance associated with a prior action performed by the mobile device, wherein the prior circumstance includes at least a location condition; and

determining whether a prior response was received in response to the prior action; and

generate one or more binary digital signals to indicate that an application is to invoke a specified function, of the mobile device, at least partially in response to detection of the one or more specified circumstances, the one or more directives, and the determination of the one or more actions previously resulted in the user response.

15. The system of claim 14 , wherein the one or more specified circumstances comprise at least one of:

a user activity;

a user location,

one or more location conditions;

a mobility condition; or

a temporal condition.

16. The system of claim 14 , wherein the sensor output comprises one or more of:

a measurement from an accelerometer; or

a location estimate.

17. The system of claim 14 , wherein the at least one operating system property comprises at least one of:

data or information output by an operating system;

data or information accessible via the operating system.

18. The system of claim 17 , wherein the data or information accessible via the operating system comprises one or more of:

data from an application executing on the operating system;

data related to a user action; or

cell tower service data.

19. The system of claim 14 , further comprising determine one or more observations from the at least one of the sensor output and the at least one operating system property, wherein detecting the circumstances is further based upon the one or more observations.

20. The system of claim 14 , wherein the application comprises a software development kit comprising an observation engine.

Assignments (3)
SECURITY INTEREST Recorded Jul 13, 2022
From: FOURSQUARE LABS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 060649/0366 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2022
From: GEILFUSS, BRADLEY; BLEAKLEY, CHRIS; WOLF, ARTHUR; GAMBLE, EVAN; HENDERSON, WESLEY; GUO, CHEN; YANG, YAJIA; SHIMANOVSKY, BORIS
To: FACTUAL, INC.
Reel/Frame 060240/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2022
From: FACTUAL, INC.
To: FOURSQUARE LABS, INC.
Reel/Frame 059977/0688 →
Continuity (3)
Continuation 16684484 · Nov 14, 2019
Continuation 15368455 · Dec 2, 2016
Related Publication 20220012047A1 · Jan 13, 2022
References Cited (16)
US 9760399B1 · Fraser · 2017 [cited by examiner]
US 20080002740A1 · Ramachandran · 2008 [cited by examiner]
US 20100137003A1 · Goldfarb · 2010 [cited by examiner]
US 20120296686A1 · Fugman · 2012 [cited by examiner]
US 20150031326A1 · Begin · 2015 [cited by examiner]
US 20150128058A1 · Anajwala · 2015 [cited by examiner]
US 20150248284A1 · Poiesz · 2015 [cited by examiner]
US 20160067547A1 · Anthony · 2016 [cited by examiner]
US 20160142894A1 · Papakonstantinou · 2016 [cited by examiner]
US 20160360336A1 · Gross · 2016 [cited by examiner]
US 20160379105A1 · Moore, Jr. · 2016 [cited by examiner]
US 20170063606A1 · Babu · 2017 [cited by examiner]
US 20170090963A1 · Nakajima · 2017 [cited by examiner]
US 20170103103A1 · Nixon · 2017 [cited by examiner]
US 20170308866A1 · Dotan-Cohen · 2017 [cited by examiner]
US 20180060749A1 · Yan · 2018 [cited by examiner]