IP Library Granted Patent US 8,768,972
Granted Patent B1
US 8,768,972 · App. 13/550,490 · Granted Jul 1, 2014

System, method and computer program product for locking data in 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 8,768,972
App. No.
13/550,490
Granted
Jul 1, 2014
Kind
B1
Abstract

In accordance with embodiments, there are provided mechanisms and methods for locking data in an on-demand database service. These mechanisms and methods for locking data in an on-demand database service can enable embodiments to prevent race conditions, etc. The ability of embodiments to provide such feature may lead to enhanced data integrity when editing data.

Claims (79)

1. A method, comprising:

sending a webpage including a first version of data retrieved from a database of an on-demand database service, over a network, for review by a user;

receiving, over the network, a command generated by the user to save edits to include in a second version of the data; and

in response to the command,

locking the data in the database of the on-demand database service,

retrieving a third version of the data from the database of the on-demand database service,

comparing the first version of the data from before the locking to the third version of the data from after the locking,

conditionally applying the edits to the data, when the comparison shows no difference between the first and third versions of the data, and

writing the data with the edits to the database of on-demand database service.

2. The method of claim 1 , further comprising:

detecting a change between the first and third versions of the data;

sending a further webpage over the network, alerting the user to the detected change; and

receiving a further command generated by the user, before writing the data with the edits, wherein the command addresses the detected change.

3. An apparatus, comprising:

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

sending a webpage including a first version of data retrieved from a database of an on-demand database service, over a network, for review by a user;

receiving, over the network, a command generated by the user to save edits to include in a second version of the data; and

in response to the command,

locking the data in the database of the on-demand database service, retrieving a third version of the data from the database of the on-demand database service,

comparing the first version of the data from before the locking to the third version of the data from after the locking,

conditionally applying the edits to the data, when the comparison shows no difference between the first and third versions of the data, and

writing the data with the edits to the database of the on-demand database service.

4. The apparatus of claim 3 , wherein the stored sequences of instructions which, when executed by the processor, further cause the processor to carry out of the steps of:

detecting a change between the first and third versions of the data;

sending a further webpage over the network, alerting the user to the detected change; and

receiving a further command generated by the user, before writing the data with the edits, wherein the command addresses the detected change.

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

sending a webpage including a first version of data retrieved from a database of an on-demand database service, over a network, for review by a user;

receiving, over the network, a command generated by the user to save edits to include in a second version of the data; and

in response to the command,

locking the data in the database of the on-demand database service,

retrieving a third version of the data from the database of the on-demand database service,

comparing the first version of the data from before the locking to the third version of the data from after the locking,

conditionally applying the edits to the data, when the comparison shows no difference between the first and third versions of the data, and

writing the data with the edits to the database of the on-demand database service.

6. The machine-readable non-transitory medium of claim 5 , wherein the one or more stored sequences of instructions, when executed by one or more processors, further cause the processors to carry out of the steps of:

detecting a change between the first and third versions of the data;

sending a further webpage over the network, alerting the user to the detected change; and

receiving a further command generated by the user, before writing the data with the edits, wherein the command addresses the detected change.

7. A method, comprising:

sending a webpage including a first version of data retrieved from a database of an on-demand database service, over a network, for review by a user;

receiving, over the network, a command generated by the user to save edits to include in a second version of the data; and

in response to the command,

locking the data in the database of the on-demand database service,

retrieving a third version of the data from the database of the on-demand database service,

comparing the first version of the data from before the locking to the third version of the data from after the locking,

upon detecting a difference between the first and third versions of the data:

sending a further webpage over the network, alerting the user of the detected change; and

receiving a further command generated by the user, before writing the data with the edits, wherein the command addresses the detected change;

upon detecting no difference between the first and third versions of the data:

conditionally applying the edits to the data; and

writing the data with the edits to the database of the on-demand database service.

8. An apparatus, comprising:

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

sending a webpage including a first version of data retrieved from a database of an on-demand database service, over a network, for review by a user;

receiving, over the network, a command generated by the user to save edits to include in a second version of the data; and

in response to the command,

locking the data in the database of the on-demand database service,

retrieving a third version of the data from the database of the on-demand database service,

comparing the first version of the data from before the locking to the third version of the data from after the locking,

upon detecting a difference between the first and third versions of the data:

sending a further webpage over the network, alerting the user of the detected change; and

receiving a further command generated by the user, before writing the data with the edits, wherein the command addresses the detected change;

upon detecting no difference between the first and third versions of the data:

conditionally applying the edits to the data; and

writing the data with the edits to the database of the on-demand database service.

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

sending a webpage including a first version of data retrieved from a database of an on-demand database service, over a network, for review by a user;

receiving, over the network, a command generated by the user to save edits to include in a second version of the data; and

in response to the command,

locking the data in the database of the on-demand database service,

retrieving a third version of the data from the database of the on-demand database service,

comparing the first version of the data from before the locking to the third version of the data from after the locking,

upon detecting a difference between the first and third versions of the data:

sending a further webpage over the network, alerting the user of the detected change; and

receiving a further command generated by the user, before writing the data with the edits, wherein the command addresses the detected change;

upon detecting no difference between the first and third versions of the data:

conditionally applying the edits to the data; and

writing the data with the edits to the database of the on-demand database service.

Assignments (2)
CHANGE OF NAME Recorded Oct 25, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069268/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2014
From: WONG, SIMON
To: SALESFORCE.COM, INC.
Reel/Frame 032721/0772 →