IP Library Granted Patent US 11,290,346
Granted Patent B2
US 11,290,346 · App. 16/934,058 · Granted Mar 29, 2022

Providing mobile device management functionalities

Inventor: Simon Frost (Hitchin, GB)
Assignee: Citrix Systems, Inc.
H04L41/18H04L67/34H04W4/50H04W12/086H04W12/37G06F9/45533
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 11,290,346
App. No.
16/934,058
Granted
Mar 29, 2022
Kind
B2
Abstract

Methods, systems, computer-readable media, and apparatuses for providing mobile device management (MDM) functionalities are presented. In some embodiments, a pseudo device representative of a physical end user device may be established within a cloud computing environment. The pseudo device may be provisioned for use with MDM service providers and configured to receive commands from the MDM service providers on behalf of the physical end user device. In some embodiments, multiple pseudo devices each representative of a physical end user device may be established within a cloud computing environment. A first pseudo device may be provisioned for use with a first MDM service provider and configured to receive commands from the first MDM service provider on behalf of the physical end user device. A second pseudo device may be provisioned for use with a second MDM service provider and configured to receive commands from the second MDM service provider.

Claims (72)

1. A method, comprising:

receiving, by a remote computing device, a command from a computing device, the remote computing device configured to receive commands on behalf of an end user device, and the received command instructing the end user device to transition to a desired state;

determining, by the remote computing device, based on state information received from the end user device, that the end user device is in the desired state; and

in response to the determining that the end user device is in the desired state, providing, by the remote computing device, a response to the received command without transmission of the received command to the end user device, the response including an indication that the end user device is in the desired state.

2. The method of claim 1 , wherein determining that the end user device is in the desired state in response to receipt of the command comprises:

receiving, by the remote computing device, the state information from the end user device; and

determining a match between the state information and information indicating the desired state.

3. The method of claim 1 , wherein the remote computing device impersonates the end user device such that the remote computing device appears to be the end user device to the computing device.

4. The method of claim 1 , further comprising:

receiving, by the remote computing device, resource data associated with the computing device;

caching, by the remote computing device, the resource data when a profile associated with the resource data is not currently active on the end user device; and

pushing, by the remote computing device, the resource data to the end user device when the profile associated with the resource data is currently active on the end user device.

5. The method of claim 1 , further comprising:

receiving, by the remote computing device, a second command from a second computing device;

modifying, by the remote computing device, the second command to produce a modified command; and

sending, by the remote computing device, the modified command to the end user device.

6. The method of claim 1 , further comprising:

in response to receiving, by the remote computing device, an indication from the end user device that the end user device is within a defined geographic area, deploying, by the remote computing device, a first profile and application data to the end user device; and

in response to receiving an indication that the end user device is no longer within the defined geographic area, retracting, by the remote computing device, the first profile and the application data from the end user device.

7. The method of claim 1 , further comprising:

identifying a conflict between policies associated with the computing device and policies associated with a second computing device;

resolving the conflict by performing one or more of:

applying a solution determined from a knowledge-based system;

sending a warning to the end user device, the warning comprising one or more user-selectable commands to resolve the conflict; or

sending a mini-wipe command to the end user device, wherein the mini-wipe command is configured to cause at least a subset of data causing the conflict to be deleted.

8. A system comprising:

a first computing device; and

a remote computing device comprising one or more processors and storing instructions that, when executed by the one or more processors, cause the remote computing device to:

receive a command from the first computing device on behalf of an end user device, the received command being configured to transition the end user device to a desired state;

determine, based on state information received from the end user device, that the end user device is in the desired state; and

in response to the determination that the end user device is in the desired state, provide a response to the received command without transmission of the received command to the end user device, the response including an indication that the end user device is in the desired state.

9. The system of claim 8 , wherein the remote computing device is configured to determine that the end user device is in the desired state by:

receiving the state information from the end user device; and

determining a match between the state information and information indicating the desired state.

10. The system of claim 8 , wherein the remote computing device impersonates the end user device such that the remote computing device appears to be the end user device to the first computing device.

11. The system of claim 8 , wherein the remote computing device is configured to receive a second command from a second computing device, the received second command being configured to transition the end user device to a second desired state different than that of a current state of the end user device.

12. The system of claim 8 , wherein the remote computing device is further configured to:

identify a conflict between policies of the first computing device and policies of a second computing device; and

resolve the conflict by performing one or more of:

applying a solution determined from a knowledge-based system;

sending a warning to the end user device, the warning comprising one or more user-selectable commands to resolve the conflict; or

sending a mini-wipe command to the end user device, wherein the mini-wipe command is configured to cause at least a subset of data causing the conflict to be deleted.

13. The system of claim 8 , wherein the remote computing device is further configured to:

receive resource data associated with the computing device;

cache the resource data when a profile associated with the resource data is not currently active on the end user device; and

push the resource data to the end user device when the profile associated with the resource data is currently active on the end user device.

14. One or more non-transitory computer-readable media comprising instructions that, when executed by one or more processors of a remote computing device, cause:

configuring the remote computing device to receive commands on behalf of an end user device;

receiving a command from a computing device, the received command instructing the end user device to transition to a desired state;

determining, based on state information received from the end user device, that the end user device is in the desired state; and

in response to determining that the end user device is in the desired state, providing a response to the received command without transmission of the received command to the end user device, the response including an indication that the end user device is in the desired state.

15. The one or more non-transitory computer-readable media of claim 14 , wherein the instructions are further configured to cause the determining that the end user device is in the desired state in response to receipt of the command by:

receiving the state information from the end user device; and

determining a match between the state information and information indicating the desired state.

16. The one or more non-transitory computer-readable media of claim 14 , wherein the instructions are further configured to cause the remote computing device to impersonate the end user device such that the remote computing device appears to be the end user device to the computing device.

17. The one or more non-transitory computer-readable media of claim 14 , wherein the instructions are further configured to cause:

receiving resource data associated with the computing device;

caching the resource data when a profile associated with the resource data is not currently active on the end user device; and

pushing the resource data to the end user device when the profile associated with the resource data is currently active on the end user device.

18. The one or more non-transitory computer-readable media of claim 14 , wherein the instructions are further configured to cause:

receiving a second command from the computing device;

modifying the second command to produce a modified command; and

sending the modified command to the end user device.

19. The one or more non-transitory computer-readable media of claim 14 , wherein the instructions are further configured to cause:

in response to receiving an indication from the end user device that the end user device is within a defined geographic area, deploying a first profile and application data to the end user device; and

in response to receiving an indication that the end user device is no longer within the defined geographic area, retracting the first profile and the application data from the end user device.

20. The one or more non-transitory computer-readable media of claim 14 , wherein the instructions are further configured to cause:

identifying a conflict between policies associated with the computing device and policies associated with a second computing device;

resolving the conflict by performing one or more of:

applying a solution determined from a knowledge-based system;

sending a warning to the end user device, the warning comprising one or more user-selectable commands to resolve the conflict; or

sending a mini-wipe command to the end user device, wherein the mini-wipe command is configured to cause at least a subset of data causing the conflict to be deleted.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
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 →
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 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 →
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 Jul 21, 2020
From: FROST, SIMON
To: CITRIX SYSTEMS, INC.
Reel/Frame 053266/0743 →
Continuity (2)
Continuation 14144702 · Dec 31, 2013
Related Publication 20200351174A1 · Nov 5, 2020