IP Library Granted Patent US 9,854,039
Granted Patent B2
US 9,854,039 · App. 15/004,523 · Granted Dec 26, 2017

Method and system for synchronizing a server and an on-demand database service

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 9,854,039
App. No.
15/004,523
Granted
Dec 26, 2017
Kind
B2
Abstract

In accordance with embodiments, there are provided mechanisms and methods for synchronizing a server and an on-demand database service. These mechanisms and methods for synchronizing a server and an on-demand database service can enable embodiments to synchronize a larger amount of data. The ability of embodiments to provide such feature can enable more effective synchronization of a user-level sharing entity database with a multi-user on-demand database service.

Claims (35)

1. A method for synchronizing data with a hosted system, the method including:

receiving a request to update data of a user of a system, the data of the user being stored by the system;

responsive to the request, identifying, by the system, data relevant to the user that is stored by a server that is separate from the system;

utilizing a data structure stored on a non-transitory computer readable storage medium accessible to the system to automatically determine, by the system, a portion of the data stored by the server and identified as relevant to the user that is different from the data of the user that is stored by the system, the data portion identified including: (i) a plurality of user identifiers each identifying one of a plurality of users; and (ii) a plurality of data identifiers each correlated with at least one of the user identifiers and identifying data associated with the user identifier; and

synchronizing, by the system updating the data of the user stored by the system with the portion of the data stored by the server that is determined by the system to be different from the data of the user that is stored by the system.

2. The method of claim 1 , wherein the data includes data of a Customer Relationship Management (CRM) system.

3. The method of claim 1 , further including receiving the request using a network at a location external to the system.

4. The method of claim 1 , further including receiving the request from a device of a user using the system to manage customer information.

5. The method of claim 1 , further including mapping fields of the server with fields of the system thereby replicating the data of the server by the system.

6. The method of claim 5 , further including propagating an identified change made to a field in the server to at least one corresponding mapped field of the system.

7. The method of claim 1 , further including throttling synchronization using the server thereby preventing the system from being overrun.

8. The method of claim 1 , further including the user accessing the data stored on the system using a wireless device.

9. The method of claim 1 , further including synchronizing data accessible to an identified group of users.

10. The method of claim 1 , wherein the system further implements an on-demand database storing data accessible to the user.

11. The method of claim 1 , wherein the system further implements an application platform including applications accessible to the user.

12. A non-transitory computer readable medium storing a plurality of instructions for programming one or more processors to provide synchronizing data with a hosted system, which instructions when executed on the processors, implement actions including:

receiving a request to update data of a user of a system, the data of the user being stored by the system;

responsive to the request, identifying, by the system, data relevant to the user that is stored by a server that is separate from the system;

utilizing a data structure stored on a non-transitory computer readable storage medium accessible to the system to automatically determine, by the system, a portion of the data stored by the server and identified as relevant to the user that is different from the data of the user that is stored by the system, the data portion identified including: (i) a plurality of user identifiers each identifying one of a plurality of users; and (ii) a plurality of data identifiers each correlated with at least one of the user identifiers and identifying data associated with the user identifier; and

synchronizing, by the system updating the data of the user stored by the system with the portion of the data stored by the server that is determined by the system to be different from the data of the user that is stored by the system.

13. The non-transitory computer readable medium of claim 12 , wherein the data includes data of a Customer Relationship Management (CRM) system.

14. The non-transitory computer readable medium of claim 12 , the actions further including receiving the request using a network to remotely access.

15. The non-transitory computer readable medium of claim 12 , the actions further including receiving the request from a salesperson using the system to manage a sales lead.

16. The non-transitory computer readable medium of claim 12 , the actions further including mapping fields of the server with fields of the system thereby replicating the data of the server by the system.

17. The non-transitory computer readable medium of claim 16 , the actions further including propagating an identified change made to a field in the server to at least one corresponding mapped field of the system.

18. The non-transitory computer readable medium of claim 12 , the actions further including throttling synchronization using the server thereby preventing the system from being overrun.

19. The non-transitory computer readable medium of claim 12 , the actions further including the user accessing the data stored on the system using a wireless device.

20. The non-transitory computer readable medium of claim 12 , the actions further including synchronizing data accessible to an identified group of users.

21. A synchronization server, comprising:

a processor; and

a non-transitory machine-readable medium storing one or more sequences of instructions, which instructions when executed by the processor, cause the processor to carry out a method including:

receiving a request to update data of a user of a system, the data of the user being stored by the system;

responsive to the request, identifying by the synchronization server, data relevant to the user that is stored by a server that is separate from the system;

utilizing a data structure stored on a non-transitory computer readable storage medium accessible to the system to automatically determine, by the synchronization server, a portion of the data stored by the separate server and identified as relevant to the user that is different from the data of the user that is stored by the system, the data portion identified including: (i) a plurality of user identifiers each identifying one of a plurality of users; and (ii) a plurality of data identifiers each correlated with at least one of the user identifiers and identifying data associated with the user identifier; and

synchronizing by the synchronization server updating the data of the user stored by the system with the portion of the data stored by the separate server that is determined by the system to be different from the data of the user that is stored by the system.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069430/0944 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2016
From: SALMON, GREG; HOPKINS, CHRIS; VERMA, ANANT; COLLINS, JESSE; WEISSMAN, CRAIG
To: SALESFORCE.COM, INC.
Reel/Frame 037829/0498 →