IP Library › Granted Patent US 10,783,010
Granted Patent B2
US 10,783,010 · App. 16/266,783 · Granted Sep 22, 2020

Offline briefcase synchronization

Inventors: Victor Oliveros (San Francisco, CA); Gautam Shivnani (Santa Clara, CA); David Klein (San Francisco, CA); Christopher Douglas Seymour (San Francisco, CA)
Assignee: salesforce.com, inc.
G06F9/52G06F1/3206G06F9/542G06F16/90335
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,783,010
App. No.
16/266,783
Filed
Feb 4, 2019
Granted
Sep 22, 2020
Kind
B2
Examiner
LEE, MARINA
Art Unit
2192
USPC
717/172
Abstract

Disclosed herein are system, method, and computer program product embodiments for synchronizing an offline briefcase. An embodiment operates by defining an offline briefcase for a user group that is accessible offline at an application. The embodiment detects a change to a component of the offline briefcase. The embodiment sends a push notification to the application based on the detected change to the component. The embodiment receives a synchronization request from the application in response to the sent push notification. The embodiment then sends the changed component to the application based on the synchronization request.

Claims (51)

1. A computer implemented method, comprising:

defining, by at least one processor of a host server, an offline briefcase for a user group that is accessible offline at an application operating on a client device, wherein the offline briefcase comprises a component representing an object of the application, the component comprising record data that includes data related to the object and record metadata that includes information defining how to display and interact with the object, and wherein the offline briefcase enables the component to operate offline in a same manner as while operating online;

generating, by the at least one processor, an endpoint for accessing and downloading the offline briefcase, the endpoint representing the offline briefcase and being implemented using an application programming interface (API) that includes a uniform resource locator (URL);

detecting, by the at least one processor, a change to the component;

sending, by the at least one processor, a push notification to the application based on the detected change to the component, the push notification comprising the endpoint;

receiving, by the at least one processor, a synchronization request from the application in response to the sent push notification, the synchronization request being issued to the URL of the endpoint; and

sending, by the at least one processor, the changed component to the application based on the synchronization request.

2. The method of claim 1 , further comprising:

updating a synchronization status of the component for a user of the user group based on the detected change to the component.

3. The method of claim 1 , further comprising:

calculating a data size of the offline briefcase; and

adding the data size to the push notification.

4. The method of claim 1 , further comprising:

determining a second component that is related to the component; and

adding the second component to the offline briefcase.

5. The method of claim 1 , the defining further comprises:

adding the component to the offline briefcase based on a query condition.

6. The method of claim 1 , wherein the synchronization request is received in response to a mobile operating system waking up the application based on the push notification.

7. The method of claim 6 , wherein the mobile operating system determines a time to wake up the application based on a connection type, battery level, usage pattern, data quota, or geo fence criteria.

8. A system, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

define an offline briefcase for a user group that is accessible offline at an application operating on a client device, wherein the offline briefcase comprises a component representing an object of the application, the component comprising record data that includes data related to the object and record metadata that includes information defining how to display and interact with the object, and wherein the offline briefcase enables the component to operate offline in a same manner as while online;

generate an endpoint for accessing and downloading the offline briefcase, the endpoint representing the offline briefcase and being implemented using an application programming interface (API) that includes a uniform resource locator (URL);

detect a change to the component;

send a push notification to the application based on the detected change to the component, the push notification comprising the endpoint;

receive a synchronization request from the application in response to the sent push notification, the synchronization request being issued to the URL of the endpoint; and

send the changed component to the application based on the synchronization request.

9. The system of claim 8 , the at least one processor further configured to:

update a synchronization status of the component for a user of the user group based on the detected change to the component.

10. The system of claim 8 , wherein the at least one processor is further configured to:

determine a second component that is related to the component; and

add the second component to the offline briefcase.

11. The system of claim 8 , wherein the at least one processor is further configured to:

add the component to the offline briefcase based on a query condition.

12. The system of claim 8 , wherein the synchronization request is received in response to a mobile operating system waking up the application based on the push notification, and wherein the mobile operating system determines a time to wake up the application based on a connection type, battery level, usage pattern, data quota, or geo fence criteria.

13. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:

defining an offline briefcase for a user group that is accessible offline at an application operating on a client device, wherein the offline briefcase comprises a component representing an object of the application, the component comprising record data that includes data related to the object and record metadata that includes information defining how to display and interact with the object, and wherein the offline briefcase enables the component to operate offline in a same manner as while online;

generating, by the at least one processor, an endpoint for accessing and downloading the offline briefcase, the endpoint representing the offline briefcase and being implemented using an application programming interface (API) that includes a uniform resource locator (URL);

detecting a change to the component;

sending a push notification to the application based on the detected change to the component, the push notification comprising the endpoint;

receiving a synchronization request from the application in response to the sent push notification, the synchronization request being issued to the URL of the endpoint; and

sending the changed component to the application based on the synchronization request.

14. The non-transitory computer-readable device of claim 13 , the operations further comprising:

updating a synchronization status of the component for a user of the user group based on the detected change to the component.

15. The non-transitory computer-readable device of claim 13 , the operations further comprising:

determining a second component that is related to the component; and

adding the second component to the offline briefcase.

16. The non-transitory computer-readable device of claim 13 , the defining comprising:

adding the component to the offline briefcase based on a query condition.

17. The non-transitory computer-readable device of claim 13 , wherein the synchronization request is received in response to a mobile operating system waking up the application based on the push notification, and wherein the mobile operating system determines a time to wake up the application based on a connection type, battery level, usage pattern, data quota, or geo fence criteria.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2019
From: OLIVEROS, VICTOR; SHIVNANI, GAUTAM; KLEIN, DAVID; SEYMOUR, CHRISTOPHER DOUGLAS
To: SALESFORCE.COM, INC.
Reel/Frame 048238/0689 →
Continuity (2)
Provisional Application 62735499 · Sep 24, 2018
Related Publication 20200097334A1 · Mar 26, 2020