IP Library Granted Patent US 9,407,492
Granted Patent B2
US 9,407,492 · App. 14/089,388 · Granted Aug 2, 2016

System and method for enabling control of mobile device functional components

Inventor: Joseph Anakata (Alameda, CA)
Assignee: Location Labs, Inc.
H04L29/06047H04L41/0853H04L51/34H04L67/26G06F9/445G06F9/4843H04L12/587
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,407,492
App. No.
14/089,388
Granted
Aug 2, 2016
Kind
B2
Abstract

A system is provided including a non-transitory computer readable storage medium that causes a mobile device to store client states indicating statuses of mobile device functional components. Each client state corresponds to a functional component. A client digest of the client state is stored. A server digest corresponding to a server state and the client digest is received from a server. The server state indicates a status of a mobile device functional component. The server digest is compared with the client digest. A state request is transmitted to the server responsive to a determination of a difference between the server digest and client digest. The server state is received from the server. The functional component is enabled or disabled as indicated by the server state. The server state and digest are stored as the client state and digest respectively. Methods for control of mobile device functional components are also provided.

Claims (51)

1. A method for initiating and performing an action on a computing device, the method comprising:

executing by the computing device an application by the computing device in a background state, wherein the background state corresponds to a reduced use of resources of the computing device as compared to a foreground state in which the application is also executable;

transmitting by a server via a network a message to the application executable on a computing device, the application corresponding to a badge enabled by an operating system of the computing device, the message comprising a request to change a status indicator of the badge;

receiving by the computing device the message and changing the status indicator of the badge responsive to the message while the application is executing in the background state;

polling by the application to determine a change in the status indicator of the badge while the application is executing in the background state;

determining by the application a change in the status indicator of the badge based on the polling;

transmitting by the application via the computing device a state request to the server for a functional component state corresponding to at least one functional component of the computing device, wherein the state request is transmitted at least based on the determination of the change in the status indicator of the badge associated with the application executing in the background state;

receiving by the server the state request from the application;

transmitting by the server the functional component state to the computing device;

receiving by the computing device from the server the functional component state requested by the application;

determining by the application that the functional component state indicates a requirement to perform a particular action on the computing device; and

performing the particular action by the application, wherein the action triggers at least one of enabling, disabling, or modifying of a status or parameter of the at least one functional component of the computing device.

2. The method of claim 1 , wherein the message is a push message.

3. The method of claim 2 , wherein the server uses APPLE™ Push Notification Service to deliver the push message via an intermediary system in the network.

4. The method of claim 1 , wherein: the status indicator of the badge is an icon badge number; and

changing the status indicator comprises changing the icon badge number.

5. The method of claim 1 , wherein the computing device is a mobile device and the functional component state indicates a requirement to determine a location of the mobile device, the method further comprising:

initiating by the application a determination of the location of the mobile device responsive to the functional component state; and

transmitting by the application via the computing device the location of the mobile device.

6. The method of claim 1 , wherein:

the application does not have access to incoming messages while executing in the background state; and

the polling by the application to determine a change in the status indicator of the badge is enabled while the application is executing in the background state.

7. A method for initiating and performing an action on a mobile computing device, the method comprising:

executing, by the mobile computing device an application by the mobile computing device in a background state, wherein the background state corresponds to a reduced use of resources of the mobile computing device as compared to a foreground state in which the application is also executable;

receiving by the mobile computing device via a network while the application is executing in the background state a message transmitted to the application on the mobile computing device, the application corresponding to a badge enabled by an operating system of the mobile computing device, the message comprising a request to change a status indicator of the badge;

changing by the mobile computing device the status indicator of the badge responsive to the message;

polling by the application to determine a change in the status indicator of the badge while the application is executing in the background state;

determining by the application a change in the status indicator of the badge based on the polling;

transmitting by, the application via the mobile computing device a state request to a server for a functional component state corresponding to at least one functional component of the mobile computing device, wherein the state request is transmitted at least based on the determination of the change in the status indicator of the badge associated with the application executing in the background state;

receiving by the mobile computing device from the server the functional component state requested by the application;

determining by the application that the functional component state indicates a requirement to perform a particular action on the mobile computing device; and

performing the particular action by the application, wherein the action triggers at least one of enabling, disabling, or modifying of a status or parameter of the at least one functional component of the computing device.

8. The method of claim 7 , wherein the functional component state indicates a requirement to determine a location of the mobile device, the method further comprising:

initiating by the application a determination of the location of the mobile device responsive to the functional component state; and

transmitting by the application via the computing device the location of the mobile device.

9. A system for initiating and performing an action on a computing device, the system comprising:

a server comprising one or more processing units and one or more data stores and a computing device operable in a network, the computing device comprising non-transitory computer readable storage medium and a processor, wherein

the server is configured to transmit via the network a message to an application executable on the computing device, the application corresponding to a badge enabled by an operating system of the computing device, the message comprising a request to charge a status indicator of the badge;

the computing device is configured via the processor to execute an application in a background state, wherein the background state corresponds to a reduced use of resources of the computing device as compared to a foreground state in which application is also executable;

the computing device is configured via the processor to receive the message while the application is executing in the background state and charge the status indicator of the badge responsive to the message;

the computing device is configured via the processor to enable polling by the application while the application is executing in the background state to determine a change in the status indicator of the badge;

the computing device is configured via the processor to enable determining by the application a change in the status indicator of the badge based on the polling;

the computing device is configured via the processor to enable transmitting a state request to the server for a functional component state corresponding to at least one functional component of the computing device, wherein the state request is transmitted at least based on the determination of the change in the status indicator of the badge associated with the application executing in the background state;

the server is configured to receive the state request from the application;

the server is configured to transmit the functional component state to the computing device;

the computing device is configured via the processor to receive from the server the functional component state requested by the application;

the computing device is configured via the processor to enable determining by the application that the functional component state indicates a requirement to perform a particular action; and

the computing device is configured via the processor to perform the particular action, wherein the action triggers at least one of enabling, disabling, or modifying of a status or parameter of the at least one functional component of the computing device.

10. The system of claim 9 , wherein the computing device is a mobile device and the functional component state indicates a requirement to determine a location of the mobile device, and wherein:

the mobile device is configured via the processor to enable initiating by the application a determination of the location of fine mobile device responsive to the functional component state; and

the mobile device is configured via the processor to transmit the location of the mobile device to the server.

Assignments (8)
CHANGE OF NAME Recorded Oct 25, 2021
From: LOCATION LABS, INC.
To: LOCATION LABS, LLC.
Reel/Frame 057908/0949 →
CHANGE OF NAME Recorded Oct 25, 2021
From: LOCATION LABS, LLC.
To: SMITH MICRO SOFTWARE, LLC
Reel/Frame 057909/0020 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2021
From: CREDIT SUISSE INTERNATIONAL, AS COLLATERAL AGENT
To: LOCATION LABS, LLC (F/K/A LOCATION LABS, INC.)
Reel/Frame 055742/0932 →
SECURITY INTEREST Recorded Jan 27, 2017
From: LOCATION LABS, INC.
To: CREDIT SUISSE INTERNATIONAL, AS COLLATERAL AGENT
Reel/Frame 041522/0972 →
RELEASE OF SECURITY INTEREST Recorded Oct 3, 2016
From: HSBC BANK USA, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: LOCATION LABS, INC.; AVG NETHERLANDS B.V.
Reel/Frame 040205/0406 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: WAVEMARKET, INC.
To: LOCATION LABS, INC.
Reel/Frame 036754/0685 →
SECURITY INTEREST Recorded Oct 16, 2014
From: AVG NETHERLANDS B.V.; LOCATION LABS, INC.
To: HSBC BANK USA, N.A.
Reel/Frame 034012/0721 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2013
From: ANAKATA, JOSEPH
To: WAVEMARKET, INC.
Reel/Frame 031678/0132 →
Continuity (3)
Continuation In Part 13217093 · Aug 24, 2011
Provisional Application 61749904 · Jan 7, 2013
Related Publication 20140082065A1 · Mar 20, 2014