IP Library Granted Patent US 9,244,995
Granted Patent B2
US 9,244,995 · App. 14/275,777 · Granted Jan 26, 2016

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

Inventors: Greg Salmon (Walnut Creek, CA); Chris Hopkins (San Mateo, CA); Anant Verma (Fremont, CA); Jesse Collins (San Francisco, CA); Craig Weissman (San Francisco, CA)
Assignee: salesforce.com, inc.
G06F17/30575G06F17/30174
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,244,995
App. No.
14/275,777
Granted
Jan 26, 2016
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 (23)

1. A method, comprising:

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

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

utilizing a data structure stored on a non-transitory computer readable storage medium of the system to 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 structure including a plurality of user identifiers each identifying one of a plurality of users of the system and a plurality of data identifiers each correlated with at least one of the user identifiers and identifying data accessible to the user associated with the correlated user identifier; and

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

2. The method of claim 1 , wherein the data structure includes a first table.

3. The method of claim 2 , wherein a second table includes the data identifiers each correlated with corresponding data.

4. The method of claim 3 , wherein the second table is used in conjunction with the first table for accessing the data using the user identifiers.

5. The method of claim 1 , wherein the first server includes a user-level sharing entity.

6. The method of claim 1 , wherein the system includes a multi-tenant database system.

7. The method of claim 1 , wherein the server is a mail server and the identified data stored by the mail server that is relevant to the user includes contact information.

8. A non-transitory machine-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to carry out the steps of:

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

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

utilizing a data structure stored on a non-transitory computer readable storage medium of the system to 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 structure including a plurality of user identifiers each identifying one of a plurality of users of the system and a plurality of data identifiers each correlated with at least one of the user identifiers and identifying data accessible to the user associated with the correlated user identifier; and

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

9. An apparatus, comprising:

a processor of a system; and

one or more stored sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of:

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

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

utilizing a data structure stored on a non-transitory computer readable storage medium of the system to 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 structure including a plurality of user identifiers each identifying one of a plurality of users of the system and a plurality of data identifiers each correlated with at least one of the user identifiers and identifying data accessible to the user associated with the correlated user identifier; and

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

Assignments (2)
CHANGE OF NAME Recorded Oct 25, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069268/0034 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2015
From: SALMON, GREG; HOPKINS, CHRIS; VERMA, ANANT; COLLINS, JESSE; WEISSMAN, CRAIG
To: SALESFORCE.COM, INC.
Reel/Frame 035964/0219 →
Continuity (5)
Continuation 13475893 · May 18, 2012
Continuation 12883082 · Sep 15, 2010
Continuation 11848993 · Aug 31, 2007
Provisional Application 60827874 · Oct 2, 2006
Related Publication 20140250065A1 · Sep 4, 2014