IP Library Granted Patent US 8,887,230
Granted Patent B2
US 8,887,230 · App. 14/041,935 · Granted Nov 11, 2014

Configuring and providing profiles that manage execution of mobile applications

Inventors: Gary Barton (Boca Raton, FL); Zhongmin Lang (Parkland, FL); Nitin Desai (Coral Springs, FL); James Robert Walker (Deerfield Beach, FL)
Assignee: Citrix Systems, Inc.
H04L41/046G06F21/629G06F21/604H04W8/18G06F2221/2143H04L63/20G06F21/88G06F21/6218H04L67/34
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 8,887,230
App. No.
14/041,935
Granted
Nov 11, 2014
Kind
B2
Abstract

Various aspects of the disclosure relate to configuring and providing policies that manage execution of mobile applications. In some embodiments, a user interface may be generated that allows an IT administrator or other operator to set, change and/or add to policy settings. The policy settings can be formatted into a policy file and be made available for download to a mobile device, such as via an application store or to be pushed to the mobile device as part of a data push service. The mobile device, based on the various settings included in the policy file, may perform various actions to enforce the security constraints that are represented by the policy. The various settings that can be included in a policy are numerous and some examples and variations thereof are described in connection with the example embodiments discussed herein.

Claims (56)

1. A method, comprising:

displaying, by one or more computing devices, a user interface that displays policy settings for a managed application that is to be made available for download to a mobile device, wherein each of the policy settings provides a constraint to be enforced by the mobile device prior to the managed application being provided access to at least one resource that is accessible through an access gateway, wherein the policy settings includes at least one first setting specifying that a private secure container, which is to be private to the managed application, is to be configured on the mobile device such that a read or write operation from the managed application is to be redirected to the private secure container, and wherein the policy settings includes at least one second setting specifying that a shared secure container, which is to be accessible by at least one other managed application, is to be configured on the mobile device such that a read or write operation from the managed application is to be redirected to the shared secure container;

displaying, by the one or more computing devices and via the user interface, additional policy settings for the managed application, wherein each of the additional policy settings provides a constraint to be enforced by the mobile device during execution of the managed application, wherein the additional policy settings include at least one third setting specifying that a ticket is to be used by the mobile device in connection with accessing the at least one resource via a per-application policy controlled virtual private network (VPN) tunnel that is inaccessible to other applications of the mobile device, and wherein the ticket is configured to provide authentication in connection with establishing and re-establishing the per-application policy-controlled VPN tunnel to the at least one resource;

modifying, in accordance with input received via the user interface, the policy settings or the additional policy settings, resulting in modified policy settings;

producing a policy file for the managed application that includes the modified policy settings; and

providing the policy file such that the policy is available for download to the mobile device.

2. The method of claim 1 , wherein the policy file is an Extensible Markup Language (XML) file or a JavaScript Object Notation (JSON) file, and wherein the policy file includes one or more key/value pairs organized as a dictionary, wherein each key/value pair of the one or more key/value pairs corresponds to one of the modified policy settings.

3. The method of claim 1 , wherein each of the modified policy settings includes a setting group or category identifier; a setting name; a setting type; a range of possible setting values; a default setting value; a setting friendly name string; a setting unit display string; and a help text string.

4. The method of claim 1 , further comprising:

receiving a managed application from an application developer;

receiving initial policy settings from the application developer, wherein the initial policy settings include the policy settings; and

providing the managed application such that the managed application is available for download to the mobile device.

5. The method of claim 4 , wherein the input received via the user interface is from a user, and wherein producing the policy file is responsive to an acceptance of the policy settings by the user.

6. The method of claim 1 , further comprising:

receiving additional input specifying one or more further policy settings;

producing an additional policy file for the managed application that includes the one or more further policy settings, wherein the additional policy file is assigned to a first user role; and

providing said additional policy file for download in accordance with a requesting user that is assigned the first user role;

wherein the policy file is assigned to a second user role different from the first user role.

7. The method of claim 1 , wherein the providing the policy file includes publishing the policy file to an application store that also publishes the managed application.

8. The method of claim 1 , wherein providing the policy file includes pushing the policy file to the mobile device based on the mobile device being registered with a push service.

9. The method of claim 1 , wherein the additional policy settings include at least one fourth setting specifying an expiration condition of the ticket.

10. An apparatus, comprising:

at least one processor; and

memory storing executable instructions configured to, when executed by the at least one processor, cause the apparatus to:

display a user interface that displays policy settings for a managed application that is to be made available for download to a mobile device, wherein each of the policy settings provides a constraint to be enforced by the mobile device prior to the managed application being provided access to at least one resource that is accessible through an access gateway, wherein the policy settings includes at least one first setting specifying that a private secure container, which is to be private to the managed application, is to be configured on the mobile device such that a read or write operation from the managed application is to be redirected to the private secure container, and wherein the policy settings includes at least one second setting specifying that a shared secure container, which is to be accessible by at least one other managed application, is to be configured on the mobile device such that a read or write operation from the managed application is to be redirected to the shared secure container;

display, via the user interface, additional policy settings for the managed application, wherein each of the additional policy settings provides a constraint to be enforced by the mobile device during execution of the managed application, wherein the additional policy settings include at least one third setting specifying that a ticket is to be used by the mobile device in connection with accessing the at least one resource via a per-application policy controlled virtual private network (VPN) tunnel that is inaccessible to other applications of the mobile device, and wherein the ticket is configured to provide authentication in connection with establishing and re-establishing the per-application policy-controlled VPN tunnel to the at least one resource;

modify, in accordance with input received via the user interface, the policy settings or the additional policy settings, resulting in modified policy settings;

produce a policy file for the managed application that includes the modified policy settings; and

provide the policy file such that the policy is available for download to the mobile device.

11. The apparatus of claim 10 , wherein the policy file is an Extensible Markup Language (XML) file or a JavaScript Object Notation (JSON) file, and wherein the policy file includes one or more key/value pairs organized as a dictionary, wherein each key/value pair of the one or more key/value pairs corresponds to one of the modified policy settings.

12. The apparatus of claim 10 , wherein each of the modified policy settings includes a setting group or category identifier; a setting name; a setting type; a range of possible setting values; a default setting value; a setting friendly name string; a setting unit display string; and a help text string.

13. The apparatus of claim 10 , wherein the executable instructions are configured to, when executed by the at least one processor, further cause the apparatus to:

receive a managed application from an application developer;

receive initial policy settings from the application developer, wherein the initial policy settings include the policy settings; and

provide the managed application such that the managed application is available for download to the mobile device.

14. The apparatus of claim 13 , wherein the input received via the user interface is from a user, and wherein producing the policy file is responsive to an acceptance of the policy settings by the user.

15. The apparatus of claim 10 , wherein the executable instructions are configured to, when executed by the at least one processor, further cause the apparatus to:

receive additional input specifying one or more further policy settings;

produce an additional policy file for the managed application that includes the one or more further policy settings, wherein the additional policy file is assigned to a first user role; and

provide said additional policy file for download in accordance with a requesting user that is assigned the first user role;

wherein the policy file is assigned to a second user role different from the first user role.

16. The apparatus of claim 10 , wherein the providing the policy file includes publishing the policy file to an application store that also publishes the managed application.

17. The apparatus of claim 10 , wherein providing the policy file includes pushing the policy file to the mobile device based on the mobile device being registered with a push service.

18. One or more non-transitory computer-readable media storing instructions configured to, when executed, cause at least one computing device to:

display a user interface that displays policy settings for a managed application that is to be made available for download to a mobile device, wherein each of the policy settings provides a constraint to be enforced by the mobile device prior to the managed application being provided access to at least one resource that is accessible through an access gateway, wherein the policy settings includes at least one first setting specifying that a private secure container, which is to be private to the managed application, is to be configured on the mobile device such that a read or write operation from the managed application are to be redirected to the private secure container, and wherein the policy settings includes at least one second setting specifying that a shared secure container, which is to be accessible by at least one other managed application, is to be configured on the mobile device such that a read or write operation from the managed application is to be redirected to the shared secure container;

display, via the user interface, additional policy settings for the managed application, wherein each of the additional policy settings provides a constraint to be enforced by the mobile device during execution of the managed application, wherein the additional policy settings include at least one third setting specifying that a ticket is to be used by the mobile device in connection with accessing the at least one resource via a per-application policy controlled virtual private network (VPN) tunnel that is inaccessible to other applications of the mobile device, and wherein the ticket is configured to provide authentication in connection with establishing and re-establishing the per-application policy-controlled VPN tunnel to the at least one resource;

modify, in accordance with input received via the user interface, the policy settings or the additional policy settings, resulting in modified policy settings;

produce a policy file for the managed application that includes the modified policy settings; and

provide the policy file such that the policy is available for download to the mobile device.

19. The one or more non-transitory computer-readable media of claim 18 , wherein the policy file is an Extensible Markup Language (XML) file or a JavaScript Object Notation (JSON) file, and wherein the policy file includes one or more key/value pairs organized as a dictionary, wherein each key/value pair of the one or more key/value pairs corresponds to one of the modified policy settings.

20. The one or more non-transitory computer-readable media of claim 18 , wherein each of the modified policy settings includes a setting group or category identifier; a setting name; a setting type; a range of possible setting values; a default setting value; a setting friendly name string; a setting unit display string; and a help text string.

21. The one or more non-transitory computer-readable media of claim 18 , wherein the instructions are configured to, when executed, further cause said at least one computing device to:

receive additional input specifying one or more further policy settings;

produce an additional policy file for the managed application that includes the one or more further policy settings, wherein the additional policy file is assigned to a first user role; and

provide said additional policy file for download in accordance with a requesting user that is assigned the first user role;

wherein the policy file is assigned to a second user role different from the first user role.

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: 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 →
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 →
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 Oct 2, 2013
From: BARTON, GARY; LANG, ZHONGMIN; DESAI, NITIN; WALKER, JAMES
To: CITRIX SYSTEMS INC.
Reel/Frame 031326/0162 →
Continuity (5)
Continuation 14039651 · Sep 27, 2013
Provisional Application 61863194 · Aug 7, 2013
Provisional Application 61713715 · Oct 15, 2012
Provisional Application 61806577 · Mar 29, 2013
Related Publication 20140109178A1 · Apr 17, 2014