IP Library Granted Patent US 12,707,371
Granted Patent B2
US 12,707,371 · App. 18/099,406 · Granted Aug 11, 2026

Context-aware mobile device management

Inventors: Joseph E. Breaux, III (Baton Rouge, LA); Michael W. Lynn (Baton Rouge, LA); Chad Howell (Mandeville, LA); Nicholas Hathaway (Zachary, LA); Chad A. Kennedy (Baton Rouge, LA)
Assignee: CELLCONTROL, INC.
H04W48/04G06F3/0227H04W4/027H04W4/80H04W76/14H04R3/00H04R2499/11H04R2499/13H04W84/12H04W84/18
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,707,371
App. No.
18/099,406
Filed
Jan 20, 2023
Granted
Aug 11, 2026
Kind
B2
Examiner
ONAT, UMUT
Art Unit
2194
USPC
455/414.1
Abstract

Technologies disclosed herein are directed to context-based mobile device management. According to one embodiment, an application executing in a mobile device detects an event to trigger context-based management of the mobile device. A usage context associated with the mobile device is determined. One or more policies to enforce on the mobile device are identified as a function of the usage context. The application enforces the one or more policies on the mobile device.

Claims (50)

1 . A computer-implemented method, comprising:

invoking, by execution of one or more processors of a mobile device having an operating system (OS) and by a control application executing on the mobile device, one or more Application Programming Interface (API) functions associated with a device usage management application native to the OS of the mobile device, wherein the invocation of the one or more API functions causes the OS to generate a plurality of opaque tokens comprising information about a respective user application from the plurality of user applications;

determining, via the control application, a mapping between each of the plurality of opaque tokens and the plurality of user applications installed on the mobile device; and

controlling, via the control application and based on the determined mapping, access to one or more of the user applications according to a policy managed by the control application by:

detecting an attempt from the user to access a first user application unauthorized for foreground access according to the policy;

invoking the one or more API functions to block foreground access to the first user application;

upon detecting the user exiting the first user application, invoking another of the one or more API functions to cause the first user application to execute in the background.

2 . The computer-implemented method of claim 1 , wherein controlling the access to the one or more of the user applications comprises:

identifying, via the control application and based on a first context associated with the mobile device determined according to the policy, a first set of the user applications comprising one or more of the plurality of user applications that a user of the mobile device is authorized to access within the first context;

retrieving, via the control application and based on the determined mapping, a first set of opaque tokens from the plurality of opaque tokens, each opaque token of the first set of opaque tokens corresponding to one of the user applications in the first set of applications; and

invoking, via the control application and using the first set of opaque tokens, the one or more API functions to allow access to the first set of user applications and prevent access to each of the plurality of user applications outside of the first set of user applications.

3 . The computer-implemented method of claim 2 , further comprising:

determining, via the control application, that the mobile device is to be associated with a second context according to the policy;

identifying, via the control application and based on the second context, a second set of user applications comprising one or more of the plurality of user applications that the user is authorized to access within the second context;

retrieving, via the control application and based on the determined mapping, a second set of opaque tokens from the plurality of opaque tokens, each opaque token of the second set of opaque tokens corresponding to one of the user applications of the second set of user applications; and

invoking, via the control application and using the second set of opaque tokens, the one or more API functions to allow access to the second set of user applications and prevent access to each of the plurality of user applications outside of the second set of user applications.

4 . The computer-implemented method of claim 1 , wherein invoking the one or more API functions further causes the OS to initially prevent access to each of the plurality of user applications.

5 . The computer-implemented method of claim 4 , further comprising:

receiving, by the control application, information associated with the first application of the plurality of user applications from the OS in response to detecting the user attempting to access the first application;

determining, by the control application and based on the information associated with the first application, whether the first application is authorized for access according to the policy; and

invoking, by the control application and in response to determining that the first application is authorized for access according to the policy, the one or more API functions to cause the OS to allow access to the first application.

6 . The computer-implemented method of claim 5 , wherein determining the mapping comprises storing received the information associated with the first application to enable subsequent access to the first application.

7 . The computer-implemented method of claim 1 , wherein invoking the one or more API functions further causes the control application to present a user interface (UI) prompting the user to select one or more of the plurality of user applications.

8 . The computer-implemented method of claim 7 , wherein determining the mapping between the plurality of opaque tokens and the plurality of user applications comprises causing the OS to send information about each of the selected one or more of the plurality of user applications.

9 . The computer-implemented method of claim 1 , wherein controlling access to the one or more user applications according to the policy comprises determining, based on the mapping, one or more of the user applications to hide from display.

10 . One or more non-transitory computer-readable storage media storing instructions, which, when executed on one or more processors, causes a mobile device having an operating system (OS) to, comprising:

invoke, by a control application executing on the mobile device, one or more Application Programming Interface (API) functions associated with a device usage management application native to the OS of the mobile device, wherein the invocation of the one or more API functions causes the OS to generate a plurality of opaque tokens comprising information about a respective user application from the plurality of user applications;

determine, via the control application, a mapping between the plurality of opaque tokens and the plurality of user applications installed on the mobile device; and

control, via the control application and based on the determined mapping, access to one or more of the user applications according to a policy managed by the control application by:

detecting an attempt from the user to access a first user application unauthorized for foreground access according to the policy;

invoking the one or more API functions to block foreground access to the first user application;

upon detecting the user exiting the first user application, invoking another of the one or more API functions to cause the first user application to execute in the background.

11 . The one or more non-transitory computer-readable storage media of claim 10 , wherein to control the access to the one or more of the user applications comprises:

identify, via the control application and based on a first context associated with the mobile device determined according to the policy, a first set of the user applications comprising one or more of the plurality of user applications that a user of the mobile device is authorized to access within the first context;

retrieve, via the control application and based on the determined mapping, a first set of opaque tokens from the plurality of opaque tokens, each opaque token of the first set of opaque tokens corresponding to one of the user applications in the first set of applications; and

invoke, via the control application and using the first set of opaque tokens, the one or more API functions to allow access to the first set of user applications and prevent access to each of the plurality of user applications outside of the first set of user applications.

12 . The one or more non-transitory computer-readable storage media of claim 11 , wherein the plurality of instructions, when executed, further cause the mobile device to:

determine, via the control application, that the mobile device is to be associated with a second context according to the policy;

identify, via the control application and based on the second context, a second set of user applications comprising one or more of the plurality of user applications that the user is authorized to access within the second context;

retrieve, via the control application and based on the determined mapping, a second set of opaque tokens from the plurality of opaque tokens, each opaque token of the second set of opaque tokens corresponding to one of the user applications of the second set of user applications; and

invoke, via the control application and using the second set of opaque tokens, the one or more API functions to allow access to the second set of user applications and prevent access to each of the plurality of user applications outside of the second set of user applications.

13 . The one or more non-transitory computer-readable storage media of claim 10 , wherein to invoke the one or more API functions further causes the OS to initially prevent access to each of the plurality of user applications.

14 . The one or more non-transitory computer-readable storage media of claim 13 , wherein the plurality of instructions, when executed, further cause the mobile device to:

receive, by the control application, information associated with the first application of the plurality of user applications from the OS in response to detecting the user attempting to access the first application;

determine, by the control application and based on the information associated with the first application, whether the first application is authorized for access according to the policy; and

invoke, by the control application and in response to determining that the first application is authorized for access according to the policy, the one or more API functions to cause the OS to allow access to the first application.

15 . The one or more non-transitory computer-readable storage media of claim 14 , wherein to determine the mapping comprises to store received the information associated with the first application to enable subsequent access to the first application.

16 . The one or more non-transitory computer-readable storage media of claim 10 , wherein to invoke the one or more API functions further causes the control application to present a user interface (UI) prompting the user to select one or more of the plurality of user applications.

17 . The one or more non-transitory computer-readable storage media of claim 16 , wherein to determine the mapping between the plurality of opaque tokens and the plurality of user applications comprises to cause the OS to send information about each of the selected one or more of the plurality of user applications.

18 . The one or more non-transitory computer-readable storage media of claim 10 , wherein to control access to the one or more user applications according to the policy comprises to determine, based on the mapping, one or more of the user applications to hide from display.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2026
From: BREAUX III, JOSEPH E.; LYNN, MICHAEL W.; HOWELL, CHAD; HATHAWAY, NICHOLAS; KENNEDY, CHAD A.
To: CELLCONTROL, INC.
Reel/Frame 075183/0417 →
Continuity (11)
Continuation In Part 17368454 · Jul 6, 2021
Continuation In Part 17068611 · Oct 12, 2020
Continuation 16276194 · Feb 14, 2019
Continuation In Part 15191353 · Jun 23, 2016
Continuation In Part 14944178 · Nov 17, 2015
Continuation 14273505 · May 8, 2014
Provisional Application 62183452 · Jun 23, 2015
Provisional Application 61936152 · Feb 5, 2014
Provisional Application 61892406 · Oct 17, 2013
Provisional Application 61821019 · May 8, 2013
Related Publication 20230156569A1 · May 18, 2023
References Cited (136)
US 5410621A · Hyatt · 1995 [cited by applicant]
US 6745021B1 · Stevens · 2004 [cited by applicant]
US 6909359B1 · McGovern · 2005 [cited by applicant]
US 7269162B1 · Turner · 2007 [cited by applicant]
US 7711355B1 · Kruger · 2010 [cited by applicant]
US 7991399B2 · Ganesan · 2011 [cited by applicant]
US 8213962B2 · Carr et al. · 2012 [cited by applicant]
US 8254592B2 · Sander et al. · 2012 [cited by applicant]
US 8280791B2 · Davis, III · 2012 [cited by applicant]
US 8504066B1 · Green · 2013 [cited by applicant]
US 8618913B1 · Bailey et al. · 2013 [cited by applicant]
US 8630283B1 · Breau · 2014 [cited by applicant]
US 8676266B2 · Kim · 2014 [cited by applicant]
US 8732827B1 · Zhukov · 2014 [cited by applicant]
US 8750853B2 · Abramson · 2014 [cited by applicant]
US 8856322B2 · Dare · 2014 [cited by applicant]
US 8898771B1 · Kim · 2014 [cited by applicant]
US 8948790B1 · Kim · 2015 [cited by applicant]
US 8958853B1 · Bovis · 2015 [cited by applicant]
US 9338605B2 · Guba et al. · 2016 [cited by applicant]
US 9398421B2 · Guba et al. · 2016 [cited by applicant]
US 9912802B2 · Wolterman · 2018 [cited by applicant]
US 10268530B2 · Breaux et al. · 2019 [cited by applicant]
US 10271265B2 · Breaux · 2019 [cited by applicant]
US 10477454B2 · Breaux · 2019 [cited by applicant]
US 10922157B2 · Breaux · 2021 [cited by applicant]
US 11119836B2 · Breaux · 2021 [cited by applicant]
US 20010005804A1 · Rayner · 2001 [cited by applicant]
US 20050220286A1 · Valdez · 2005 [cited by applicant]
US 20060080444A1 · Peddemors · 2006 [cited by applicant]
US 20060083390A1 · Kaderavek · 2006 [cited by applicant]
US 20060177014A1 · Skakkebaek · 2006 [cited by applicant]
US 20060223494A1 · Chmaytelli et al. · 2006 [cited by applicant]
US 20070183651A1 · Comaniciu · 2007 [cited by applicant]
US 20070195818A1 · Stephenson · 2007 [cited by applicant]
US 20070280211A1 · Malueg · 2007 [cited by applicant]
US 20080114647A1 · Singer et al. · 2008 [cited by applicant]
US 20080181140A1 · Bangor · 2008 [cited by applicant]
US 20080200143A1 · Qiu · 2008 [cited by applicant]
US 20080227493A1 · Yamazaki · 2008 [cited by applicant]
US 20090005136A1 · Hutzel et al. · 2009 [cited by applicant]
US 20090049220A1 · Conti · 2009 [cited by applicant]
US 20090153295A1 · Hamada · 2009 [cited by applicant]
US 20090181657A1 · Ramanathan · 2009 [cited by applicant]
US 20090247189A1 · Sennett · 2009 [cited by applicant]
US 20090309831A1 · Sun · 2009 [cited by applicant]
US 20090325566A1 · Bell · 2009 [cited by applicant]
US 20100005804A1 · Chen et al. · 2010 [cited by applicant]
US 20100090816A1 · Hirsch · 2010 [cited by applicant]
US 20100305779A1 · Hassan · 2010 [cited by applicant]
US 20110009107A1 · Guba · 2011 [cited by applicant]
US 20110053665A1 · Yamashita · 2011 [cited by applicant]
US 20110065375A1 · Bradley · 2011 [cited by applicant]
US 20110105082A1 · Haley · 2011 [cited by applicant]
US 20110105097A1 · Tadayon et al. · 2011 [cited by applicant]
US 20110112717A1 · Resner · 2011 [cited by applicant]
US 20110112969A1 · Zaid et al. · 2011 [cited by applicant]
US 20110137854A1 · Walter · 2011 [cited by applicant]
US 20110151830A1 · Blanda, Jr. et al. · 2011 [cited by applicant]
US 20110185390A1 · Faenger · 2011 [cited by applicant]
US 20110205040A1 · van Wiemeersch · 2011 [cited by applicant]
US 20110248992A1 · Van Os · 2011 [cited by applicant]
US 20110269441A1 · Silver · 2011 [cited by applicant]
US 20110280386A1 · Fotta · 2011 [cited by applicant]
US 20110298924A1 · Miller · 2011 [cited by applicant]
US 20120009896A1 · Bandyopadhyay · 2012 [cited by applicant]
US 20120021770A1 · Naqvi · 2012 [cited by applicant]
US 20120036220A1 · Dare · 2012 [cited by applicant]
US 20120142315A1 · Chung · 2012 [cited by applicant]
US 20120172012A1 · Sumcad · 2012 [cited by applicant]
US 20120214470A1 · Tadayon et al. · 2012 [cited by applicant]
US 20120214472A1 · Tadayon · 2012 [cited by applicant]
US 20120220284A1 · Tadayon et al. · 2012 [cited by applicant]
US 20120244877A1 · Margalef · 2012 [cited by applicant]
US 20120276867A1 · McNamee · 2012 [cited by applicant]
US 20130024812A1 · Reeves · 2013 [cited by applicant]
US 20130072174A1 · Enty et al. · 2013 [cited by applicant]
US 20130084847A1 · Tibbitts et al. · 2013 [cited by applicant]
US 20130111020A1 · Cohen · 2013 [cited by applicant]
US 20130131890A1 · Armitage · 2013 [cited by applicant]
US 20130147901A1 · Weiser · 2013 [cited by applicant]
US 20130163476A1 · Meghani · 2013 [cited by applicant]
US 20130183924A1 · Saigh · 2013 [cited by applicant]
US 20130212130A1 · Rahnama · 2013 [cited by applicant]
US 20130218902A1 · Vendrow · 2013 [cited by applicant]
US 20130227419A1 · Lee · 2013 [cited by applicant]
US 20130281079A1 · Vidal · 2013 [cited by applicant]
US 20130295901A1 · Abramson · 2013 [cited by applicant]
US 20130303143A1 · Schrader · 2013 [cited by applicant]
US 20130304758A1 · Gruber · 2013 [cited by applicant]
US 20130324160A1 · Sabatellil · 2013 [cited by applicant]
US 20130336094A1 · Gruteser et al. · 2013 [cited by applicant]
US 20140007198A1 · Durbha · 2014 [cited by examiner]
US 20140052531A1 · Kent et al. · 2014 [cited by applicant]
US 20140052681A1 · Nitz · 2014 [cited by applicant]
US 20140063175A1 · Jafry · 2014 [cited by applicant]
US 20140087708A1 · Kalita · 2014 [cited by applicant]
US 20140111391A1 · Nagata · 2014 [cited by applicant]
US 20140177818A1 · Chang · 2014 [cited by applicant]
US 20140179261A1 · Riggs · 2014 [cited by applicant]
US 20140187219A1 · Yang · 2014 [cited by applicant]
US 20140256303A1 · Jones · 2014 [cited by applicant]
US 20140280625A1 · Byrd et al. · 2014 [cited by applicant]
US 20140282003A1 · Gruber · 2014 [cited by applicant]
US 20140370869A1 · Naqvi · 2014 [cited by applicant]
US 20140373095A1 · Yoon · 2014 [cited by applicant]
US 20150024804A1 · Davis · 2015 [cited by applicant]
US 20150062017A1 · Barabas et al. · 2015 [cited by applicant]
US 20150139058A1 · Xia · 2015 [cited by applicant]
US 20150207708A1 · Raleigh · 2015 [cited by applicant]
US 20150271102A1 · Antich · 2015 [cited by applicant]
US 20150339912A1 · Farrand · 2015 [cited by applicant]
US 20160021238A1 · Abramson · 2016 [cited by applicant]
US 20160044511A1 · Broch · 2016 [cited by examiner]
US 20160094563A1 · Arsanjani et al. · 2016 [cited by applicant]
US 20160094707A1 · Stuntebeck · 2016 [cited by applicant]
US 20160121817A1 · Liu · 2016 [cited by applicant]
US 20160209018A1 · Johnson · 2016 [cited by applicant]
US 20160301808A1 · Choi · 2016 [cited by applicant]
US 20160309018A1 · Tibbitts · 2016 [cited by applicant]
US 20160335038A1 · Choi · 2016 [cited by applicant]
US 20160364665A1 · Hurst · 2016 [cited by applicant]
US 20170291611A1 · Innes · 2017 [cited by applicant]
US 20170302006A1 · Lavin · 2017 [cited by applicant]
US 20170339636A1 · Buck et al. · 2017 [cited by applicant]
US 20180007149A1 · Gauglitz · 2018 [cited by applicant]
US 20200364067A1 · Accame · 2020 [cited by examiner]
US 20220329579A1 · Grinman · 2022 [cited by examiner]
US 20230100200A1 · Evani · 2023 [cited by examiner]
EP 1335614 · 2007 [cited by applicant]
WO WO2018073561A1 · 2018 [cited by examiner]
Extended Search Report issued in Appl. No. EP20755622.6 (Oct. 17, 2022). [cited by applicant]
English Translation of Office Action issued in KR10-2021-7029654 (Apr. 19, 2024). [cited by applicant]
Examination Report issued in NZ 779934 (Jun. 24, 2024). [cited by applicant]
Office Action issued in CA3188150 (Jun. 4, 2024). [cited by applicant]
Canadian Office Action for application No. 3,188,150 (Jul. 25, 2025). [cited by applicant]