IP Library Granted Patent US 10,025,836
Granted Patent B2
US 10,025,836 · App. 14/569,547 · Granted Jul 17, 2018

Application synchronization

Inventors: Suresh Kumar Batchu (Milpitas, CA); Mansu Kim (Cupertino, CA)
Assignee: MOBILE IRON, INC.
G06F17/30557H04W4/50H04W4/60
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,025,836
App. No.
14/569,547
Granted
Jul 17, 2018
Kind
B2
Abstract

Application synchronization techniques are disclosed. An indication is received that a mobile app has performed an operation affecting mobile app data of the mobile app. At least a portion of the mobile app data is stored to a remote storage system based at least in part on the indication. The indication may be received by and the storing operation may be performed at least in part by a management code embedded in mobile app code comprising the mobile app.

Claims (50)

1. A method, comprising:

receiving, by a management code embedded in mobile app code comprising a mobile app, an indication that the mobile app has performed an operation affecting mobile app data of the mobile app, wherein the management code is configured to modify one or more file access commands in the mobile app code with one or more management code commands, wherein the one or more file access commands includes the operation affecting mobile app data;

in response to receiving the indication, storing, by the management code, at least a portion of the mobile app data to a remote storage system, wherein the one or more management code commands includes the storing at least a portion of the mobile app data to the remote storage system wherein the mobile app data stored at the remote storage system is accessible by a remote system, wherein the remote help system is configured to:

send to a device management server a communication that requests the mobile app data stored at the remote storage system, wherein in response to the communication, the device management server is configured to send to the remote storage system a command to provide the mobile app data stored at the remote storage system to a remote device;

diagnose an issue associated with the mobile app based on the mobile app data provided to the remote device;

update the mobile app data provided to the remote device; and

synchronize the updated mobile app data from the remote device to the remote storage system;

receiving an indication to synchronize the mobile app with the updated mobile app data stored at the remote storage system; and

synchronizing the mobile app with the updated mobile app data, wherein the issue associated with the mobile app is resolved when the mobile app is synchronized with the updated mobile app data.

2. The method of claim 1 , wherein the operation comprises a system call to access persistent data.

3. The method of claim 1 , wherein the operation comprises a file access operation.

4. The method of claim 3 , wherein the operation comprises one or more of a file open, a file write, a file read, and a file close.

5. The method of claim 3 , wherein receiving the indication includes using the management code to intercept a request by the mobile app to perform the file access operation.

6. The method of claim 1 , wherein:

the mobile app data of the mobile app includes mobile app data stored persistently by the mobile app on a mobile device; and

storing includes synchronizing to the remote storage system at least a portion of the mobile app data stored persistently by the mobile app on a mobile device.

7. The method of claim 6 , wherein synchronizing to the remote storage system at least a portion of the mobile app data stored persistently by the mobile app on a mobile device includes synchronizing to the remote storage system a portion of the mobile app data that is affected by a file access operation.

8. The method of claim 6 , wherein said step of synchronizing to a remote storage system at least a portion of the mobile app data stored persistently by the mobile app on a mobile device is performed at least in part in response to a communication received from a management agent on the mobile device.

9. The method of claim 8 , further comprising using a secure app connection bus on the mobile device to provide to a second mobile app on the mobile device a communication to prompt the second mobile app to synchronize mobile app data associated with the second mobile app.

10. The method of claim 1 , wherein the mobile app is installed on a mobile device, wherein said step of storing the mobile app data to the remote storage system is performed asynchronously in the event the operation is performed at time when a connection between the mobile device and the remote storage system is not present, including by storing the mobile app data on the mobile device until such a connection can be established and using the connection to send the mobile app data to the remote storage system.

11. The method of claim 10 , wherein the storing the mobile app data on the mobile device includes encrypting the mobile app data and storing the encrypted mobile app data on the mobile device.

12. The method of claim 1 , further comprising synchronizing to the remote storage system a mobile app configuration data associated with the mobile device.

13. The method of claim 1 , wherein the remote storage system comprises a backup storage system.

14. The method of claim 13 , further comprising using the mobile app data stored to the remote storage system to restore the mobile app data to a mobile device, wherein the mobile app is installed on the mobile device.

15. The method of claim 1 , wherein the mobile app is installed on a mobile device, wherein the remote storage system is configured to store the stored data in a manner that associates the stored data with one or both of the mobile device and a user with which the mobile device is associated.

16. The method of claim 1 , wherein the remote storage system is configured to provide access to the stored data to an authorized remote user.

17. The method of claim 16 , wherein the remote storage system is configured to enable the authorized remote user to make changes to the stored data, and to synchronize to the mobile device changes made by the authorized remote user to the stored data as stored at the remote storage system.

18. The method of claim 16 , wherein the remote storage system is configured to enable the authorized remote user to make changes to the stored data, and to synchronize to a plurality of mobile devices the changes made by the authorized remote user to the stored data as stored at the remote storage system.

19. The method of claim 16 , wherein the remote storage system is configured to enable the authorized remote user to use the stored data to generate a template associated with the mobile application, modify the template, and synchronize the modified template with a plurality of mobile devices.

20. The method of claim 1 , wherein the remote help system is separate from the device management server, the remote storage system, and the remote device.

21. A system, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

receive, by a management code embedded in mobile app code comprising a mobile app, an indication that the mobile app has performed an operation affecting mobile app data of the mobile app, wherein the management code is configured to modify one or more file access commands in the mobile app code with one or more management code commands, wherein the one or more file access commands includes the operation affecting mobile app data;

in response to a step of receiving the indication, store, by the management code, at least a portion of the mobile app data to a remote storage system, wherein the one or more management code commands includes the storing at least a portion of the mobile app data to the remote storage system, wherein the mobile app data stored at the remote storage system is accessible by a remote help system, wherein the remote help system is configured to:

send to a device management server a communication that requests the mobile app data stored at the remote storage system, wherein in response to the communication, the device management server is configured to send to the remote storage system a command to provide the mobile app data stored at the remote storage system to a remote device;

diagnose an issue associated with the mobile app based on the mobile app data provided to the remote device;

update the mobile app data provided to the remote device; and

synchronize the updated mobile app data from the remote device to the remote storage system;

receive an indication to synchronize the mobile app with the updated mobile app data stored at the remote storage system; and

synchronize the mobile app with the updated mobile app data, wherein the issue associated with the mobile app is resolved when the mobile app is synchronized with the updated mobile app data.

22. A computer program product, the computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:

receiving, by a management code embedded in mobile app code comprising a mobile app, an indication that the mobile app has performed an operation affecting mobile app data of the mobile app, wherein the management code is configured to modify one or more file access commands in the mobile app code with one or more management code commands, wherein the one or more file access commands includes the operation affecting mobile app data;

in response to receiving the indication, storing, by the management code, at least a portion of the mobile app data to a remote storage system, wherein the one or more management code commands includes the storing at least a portion of the mobile app data to the remote storage system, wherein the mobile app data stored at the remote storage system is accessible by a remote help system, wherein the remote help system is configured to:

send to a device management server a communication that requests the mobile app data stored at the remote storage system, wherein in response to the communication, the device management server is configured to send to the remote storage system a command to provide the mobile app data stored at the remote storage system to a remote device;

diagnose an issue associated with the mobile app based on the mobile app data provided to the remote device;

update the mobile app data provided to the remote device; and

synchronize the updated mobile app data from the remote device to the remote storage system;

receiving an indication to synchronize the mobile app with the updated mobile app data stored at the remote storage system; and

synchronizing the mobile app with the updated mobile app data, wherein the issue associated with the mobile app is resolved when the mobile app is synchronized with the updated mobile app data.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY 14633493 WHICH WAS ENTERED INCORRECTLY AS 14633793 PREVIOUSLY RECORDED ON REEL 71176 FRAME 315. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST LIEN NEWCO SECURITY AGREEMENT. Recorded Nov 10, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 073818/0515 →
FIRST LIEN NEWCO SECURITY AGREEMENT Recorded May 5, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071176/0315 →
SECURITY INTEREST Recorded May 2, 2025
From: IVANTI, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071164/0482 →
NOTICE OF SUCCESSION OF AGENCY FOR SECURITY INTEREST AT REEL/FRAME 054665/0873 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071123/0386 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2022
From: MOBILEIRON, INC.
To: IVANTI, INC.
Reel/Frame 061327/0751 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; INVANTI, INC.; MOBILEIRON, INC.; INVANTI US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054665/0873 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; IVANTI, INC.; MOBILEIRON, INC.; IVANTI US LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 054665/0062 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2015
From: BATCHU, SURESH KUMAR; KIM, MANSU
To: MOBILE IRON, INC.
Reel/Frame 035030/0394 →
Continuity (3)
Provisional Application 61926902 · Jan 13, 2014
Provisional Application 61915460 · Dec 12, 2013
Related Publication 20150169615A1 · Jun 18, 2015
Cited By (15)
US 12,204,564 US 12,216,794 US 12,265,896 US 12,277,232 US 12,299,065 US 12,381,915 US 12,412,140 US 12,500,951 US 12,536,329 US 12,591,828 US 12,609,938 US 12,641,108 US 12,688,324 US 12,694,044 US 12,718,167