Wrapping unmanaged applications on a mobile device

US9971585B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9971585-B2
Application numberUS-201514752132-A
CountryUS
Kind codeB2
Filing dateJun 26, 2015
Priority dateOct 16, 2012
Publication dateMay 15, 2018
Grant dateMay 15, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and systems are disclosed for providing approaches to generating managed applications from unmanaged applications on a mobile device. The methods and systems may include storing, by a mobile device in a memory of the mobile device, one or more unmanaged applications each comprising a corresponding application bundle and decoding, by the mobile device, the retrieved application bundle corresponding to the first unmanaged application. The methods and systems may also include modifying, by the mobile device, the decoded application bundle corresponding to the first unmanaged application by adding a set of one or more policy-based control instructions, compiling, by the mobile device, the modified application bundle to generate a first managed application, the first managed application being configured to operate in accordance with the set of one or more policy-based control instructions, and providing, by the mobile device, the first managed application.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: storing, in a memory, one or more unmanaged applications each comprising a corresponding application bundle; retrieving metadata associated with the one or more unmanaged applications; displaying, via a user interface, one or more selectable objects, each of the one or more selectable objects corresponding to an unmanaged application of the one or more unmanaged applications, each displayed selectable object comprising the retrieved metadata associated with the corresponding unmanaged application; receiving, via the user interface, a selection of a first selectable object of the one or more selectable objects, the first selectable object associated with a first unmanaged application of the one or more unmanaged applications; retrieving, from the memory and based on the selection of the first selectable object, an application bundle corresponding to the first unmanaged application; decoding the retrieved application bundle corresponding to the first unmanaged application to generate a decoded application bundle corresponding to the first unmanaged application; modifying the decoded application bundle corresponding to the first unmanaged application, to generate a modified application bundle, by adding, to the decoded application bundle corresponding to the first unmanaged application: a set of one or more policy-based control instructions, a hook configured to call instructions in a library file, and the library file; compiling the modified application bundle to generate a first managed application, the first managed application configured to operate in accordance with the set of one or more policy-based control instructions; and providing the first managed application for installation on a mobile device. 2. The method of claim 1 , wherein providing the first managed application further comprises transmitting, by a first device, the first managed application to a second device different than the first device. 3. The method of claim 1 , wherein each step of the method is performed by the mobile device. 4. The method of claim 1 , comprising: based on the set of one or more policy-based control instructions, restricting each managed application to only be able to communicate with other managed applications and trusted enterprise resources. 5. The method of claim 1 , comprising: receiving, via the user interface, a selection of an option to operate the first unmanaged application in an unmanaged mode or in a managed mode; based on the selection of the option to operate the first unmanaged application in the unmanaged mode, starting the first unmanaged application; and based on the selection of the option to operate the first unmanaged application in the managed mode, starting the first managed application. 6. The method of claim 1 , wherein providing the first managed application for installation on a mobile device comprises providing the first managed application for installation on the mobile device via an application store. 7. The method of claim 1 , comprising: based on the set of one or more policy-based control instructions, causing the first managed application to: pair with a client agent on first launch of the first managed application; initialize a secure channel between the first managed application and the client agent; and receive, from the client agent, a policy for the first managed application. 8. The method of claim 1 , comprising: based on the set of one or more policy-based control instructions, causing the first managed application to: make a vault available only after an online authentication; and limit offline access to the vault to at most a policy refresh period before the online authentication is again required. 9. The method of claim 1 , comprising: based on the set of one or more policy-based control instructions, causing the first managed application to: set a hidden property of a key window, the hidden property causing content currently displayed on a screen to be hidden during a screen shot of the screen. 10. The method of claim 1 , comprising: based on the set of one or more policy-based control instructions, causing the first managed application to: disable an autocorrect feature of a keyboard when entering text into sensitive text fields of the first managed application. 11. The method of claim 1 , comprising: determining which of the one or more unmanaged applications could be wrapped; and displaying, with each of the one or more selectable objects, whether the corresponding unmanaged application could be wrapped. 12. The method of claim 1 , comprising: sending instructions to an agent application to replace the library file of the first managed application with an updated library file. 13. The method of claim 1 , comprising: determining data associated with the first unmanaged application; and importing the data associated with the first unmanaged application from the first unmanaged application to the first managed application for use in the first managed application. 14. A system, comprising: at least one processor; and at least one memory storing computer-readable instructions that, when executed by the at least one processor, cause the system to perform: storing, in a memory, one or more unmanaged applications each comprising a corresponding application bundle; retrieving, from the memory, metadata associated with the one or more unmanaged applications; displaying, via a user interface, one or more selectable objects, each of the one or more selectable objects corresponding to an unmanaged application of the one or more unmanaged applications, each displayed selectable object comprising the retrieved metadata associated with the corresponding unmanaged application; receiving, via the user interface, a selection of a first selectable object of the one or more selectable objects, the first selectable object associated with a first unmanaged application of the one or more unmanaged applications; retrieving, from the memory and based on the selection of the first selectable object, an application bundle corresponding to the first unmanaged application; decoding the retrieved application bundle corresponding to the first unmanaged application to generate a decoded application bundle corresponding to the first unmanaged application; modifying the decoded application bundle corresponding to the first unmanaged application, to generate a modified application bundle, by adding, to the decoded application bundle corresponding to the first unmanaged application: a set of one or more policy-based control instructions, a hook configured to call instructions in a library file, and the library file; compiling the modified application bundle to generate a first managed application, the first managed application configured to operate in accordance with the set of one or more policy-based control instructions; and providing the first managed application for installation on a mobile device. 15. The system of claim 14 , wherein: the decoding comprises accessing source code of the first unmanaged application, the source code comprising instructions for operating the first unmanaged application; and the modifying comprises modifying the source code by adding the set of one or more policy-based control instructions to the instructions for operating the first unmanaged application. 16. The system of claim 14 , wherein the storing further comprises storing a security certificate configured for the first unmanaged application, the security certificate being required

Assignees

Inventors

Classifications

  • Compilation · CPC title

  • Binary to binary · CPC title

  • Code refactoring · CPC title

  • Adapting program code to run in a different environment; Porting · CPC title

  • Graphical or visual programming · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9971585B2 cover?
Methods and systems are disclosed for providing approaches to generating managed applications from unmanaged applications on a mobile device. The methods and systems may include storing, by a mobile device in a memory of the mobile device, one or more unmanaged applications each comprising a corresponding application bundle and decoding, by the mobile device, the retrieved application bundle co…
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/61. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 15 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).