IP Library Granted Patent US 10,713,087
Granted Patent B2
US 10,713,087 · App. 15/357,363 · Granted Jul 14, 2020

Management of unmanaged user accounts and tasks in a multi-account mobile application

Inventors: Nitin Desai (Coral Springs, FL); Zhongmin Lang (Parkland, FL)
Assignee: Citrix Systems, Inc.
G06F9/468H04L67/306G06F9/48G06F21/60H04L63/20H04L67/10H04L67/141H04L67/20H04W12/08
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,713,087
App. No.
15/357,363
Granted
Jul 14, 2020
Kind
B2
Abstract

Methods, systems, computer-readable media, and apparatuses for providing mobile application management (MAM) functionalities are presented. In some embodiments, a mobile device may initialize a partially managed application associated with a first managed user account and an unmanaged user account. The mobile device may execute first managed tasks associated with the first managed user account in accordance with a first set of MAM policies provided by a first MAM service provider. The mobile device may execute unmanaged tasks associated with the unmanaged account independent of the first set of MAM policies. In some embodiments, the mobile device may initialize the multi-account managed application associated with a second managed user account.

Claims (62)

1. A method comprising:

executing, by a mobile device, a partially managed application associated with a first managed user account and an unmanaged user account,

wherein the partially managed application is configured to perform a plurality of tasks for the unmanaged user account, and

wherein the partially managed application is configured to perform a first subset of the plurality of tasks for the first managed user account in accordance with a first set of managed policies, wherein the first set of managed policies specifies the first subset of the plurality of tasks;

monitoring, by the mobile device, state information of the mobile device;

determining, based on a change in the state information of the mobile device and based on the first set of managed policies, whether the first managed user account or the unmanaged user account should be in focus; and

in response to determining that the first managed user account should be in focus,

moving a task for the unmanaged user account from a foreground context and to a background context for continued execution; and

moving a task for the first managed user account from the background context and to the foreground context for continued execution.

2. The method of claim 1 , wherein the determining that the first managed user account should be in focus is in response to the mobile device entering a geofence specified by the first set of managed policies.

3. The method of claim 2 , further comprising:

in response to determining that the mobile device has exited the geofence specified by the first set of managed policies,

moving the task for the unmanaged user account from the background context and to the foreground context for continued execution; and

moving the task for the first managed user account from the foreground context and to the background context for continued execution.

4. The method of claim 1 , wherein the determining that the first managed user account should be in focus is in response to the mobile device establishing a connection with a network specified by the first set of managed policies.

5. The method of claim 4 , further comprising:

in response to determining that the mobile device no longer has the connection with the network specified by the first set of managed policies,

moving the task for the unmanaged user account from the background context and to the foreground context for continued execution; and

moving the task for the first managed user account from the foreground context and to the background context for continued execution.

6. The method of claim 1 , further comprising:

permitting execution of a particular task, of the plurality of tasks, for the unmanaged user account; and

preventing execution of the particular task for the first managed user account based on the first set of managed policies.

7. The method of claim 6 , wherein the particular task is a copy operation, a content-editing operation, an external communication operation, an internal communication operation, a request to access a camera of the mobile device, a request to access an external resource, or a request to activate a communication function.

8. The method of claim 1 , wherein the partially managed application has a second managed user account that is managed according to a second set of managed policies, wherein the second managed user account is different from the first managed user account, and wherein the second set of managed policies is different from the first set of managed policies.

9. The method of claim 8 , wherein the first set of managed policies is set by a first mobile application management provider and the second set of managed policies is set by a second mobile application management provider, wherein the second mobile application management provider is different from the first mobile application management provider.

10. A non-transitory storage medium storing machine-executable instructions that, when executed, cause a mobile device to:

execute a multi-account managed application having a first managed user account and a second managed user account,

wherein the multi-account managed application is configured to perform a first subset of a plurality of tasks for the first managed user account in a foreground context in accordance with a first set of managed policies, wherein the first set of managed policies specifies the first subset of the plurality of tasks, and

wherein the multi-account managed application is configured to perform a second subset of the plurality of tasks for the second managed user account in a background context in accordance with a second set of managed policies, wherein the second set of managed policies specifies the second subset of the plurality of tasks;

monitor state information of the mobile device;

determine, based on a change in the state information of the mobile device, and based on the first set of managed policies; and the second set of managed policies, whether the first managed user account or the second managed user account should be in focus; and

in response to a determination that the second managed user account should be in focus,

move a task for the first managed user account from the foreground context and to the background context for continued execution; and

move a task for the second managed user account from the background context and to the foreground context for continued execution.

11. The non-transitory storage medium of claim 10 , wherein the determination that the second managed user account should be in focus is in response to the mobile device entering a geofence specified by the second set of managed policies.

12. The non-transitory storage medium of claim 10 , wherein the determination that the second managed user account should be in focus is in response to the mobile device establishing a connection with a network specified by the second set of managed policies.

13. The non-transitory storage medium of claim 10 , wherein the machine-executable instructions, when executed, further cause the mobile device to:

permit execution of a particular task for the first managed user account based on the first set of managed policies; and

prevent execution of the particular task for the second managed user account based on the second set of managed policies,

wherein the particular task is part of the first subset but not part of the second subset.

14. The non-transitory storage medium of claim 13 , wherein the particular task is a copy operation, a content-editing operation, an external communication operation, an internal communication operation, a request to access a camera of the mobile device, a request to access an external resource, or a request to activate a communication function.

15. The non-transitory storage medium of claim 10 , wherein the multi-account managed application has an unmanaged user account.

16. An apparatus comprising:

a processor; and

a memory storing machine-executable instructions that, when executed by the processor, cause the apparatus to:

execute a multi-account managed application having a first managed user account, a second managed user account, and an unmanaged user account;

wherein the multi-account managed application is configured to perform a plurality of tasks for the unmanaged user account in a foreground context,

wherein the multi-account managed application is configured to perform a first subset of the plurality of tasks for the first managed user account in a background context in accordance with a first set of managed policies, wherein the first set of managed policies specifies the first subset of the plurality of tasks, and

wherein the multi-account managed application is configured to perform a second subset of the plurality of tasks for the second managed user account in the background context in accordance with a second set of managed policies, wherein the second set of managed policies specifies the second subset of the plurality of tasks;

monitor state information of the apparatus;

determine, based on a change in the state information of the apparatus, and based on the first set of managed policies; and the second set of managed policies, whether the unmanaged user account, the first managed user account, or the second managed user account should be in focus; and

in response to a determination that the first managed user account should be in focus,

move a task for the unmanaged user account from the foreground context and to the background context for continued execution; and

move a task for the first managed user account from the background context and to the foreground context for continued execution.

17. The apparatus of claim 16 , wherein the determination that the first managed user account should be in focus is in response to the apparatus entering a geofence specified by the first set of managed policies.

18. The apparatus of claim 16 , wherein the determination that the first managed user account should be in focus is in response to the apparatus establishing a connection with a network specified by the first set of managed policies.

19. The apparatus of claim 16 , wherein the machine-executable instructions, when executed, further cause the apparatus to:

permit execution of a particular task, of the plurality of tasks, for the unmanaged user account;

permit execution of the particular task for the first managed user account based on the first set of managed policies; and

prevent execution of the particular task for the second managed user account based on the second set of managed policies,

wherein the particular task is part of the first subset but not part of the second subset.

20. The apparatus of claim 19 , wherein the particular task is a copy operation, a content-editing operation, an external communication operation, an internal communication operation, a request to access a camera of the apparatus, a request to access an external resource, or a request to activate a communication function.

Assignments (8)
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2019
From: DESAI, NITIN; LANG, ZHONGMIN
To: CITRIX SYSTEMS, INC.
Reel/Frame 048319/0278 →
Continuity (2)
Continuation 14151972 · Jan 10, 2014
Related Publication 20170068568A1 · Mar 9, 2017