IP Library Granted Patent US 11,138,228
Granted Patent B2
US 11,138,228 · App. 16/586,765 · Granted Oct 5, 2021

Org sync async subscribe emails

Inventors: Jong Lee (Pleasanton, CA); Joonyul Lee (Berkeley, CA); Yamuna Esaiarasan (Fremont, CA)
Assignee: salesforce.com, inc.
G06F16/273G06F16/2379G06Q10/10G06Q10/107H04L67/1095H04L67/1097H04L67/306H04L67/02
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 11,138,228
App. No.
16/586,765
Granted
Oct 5, 2021
Kind
B2
Abstract

Disclosed are some implementations of systems, apparatus, methods and computer program products for performing an asynchronous subscription process that enables a secondary organization to subscribe to receive data from a primary organization. A primary organization provides publish data indicating fields to which a secondary organization can subscribe. The secondary organization provides subscription data that indicates published fields to which the secondary organization has subscribed. In some implementations, a state of a connection between the primary organization and the secondary organization is maintained and updated to ensure that the publish data and subscription data cannot be modified until the subscription process is completed.

Claims (60)

1. A system comprising:

a database system implemented using a server system, the database system configurable to cause:

providing, for presentation on a display of a user device, publish metadata indicating a first set of object types of data objects stored in at least one database of a first entity and available via subscription from the first entity;

processing, by a second entity, subscription metadata received from the user device, the subscription metadata indicating a subset of the first set of object types, the subset selected for subscription by user input associated with the presentation of the publish metadata on the display of the user device;

transmitting, by the second entity to the first entity, a request to update a first transaction state to indicate that a subscription is in progress, wherein the publish metadata cannot be modified while the first transaction state indicates that the subscription is in progress;

updating, by the second entity, a second transaction state to indicate that the subscription is in progress, wherein the subscription metadata cannot be modified while the second transaction state indicates that the subscription is in progress; and

after updating the second transaction state and transmitting the request, initiating a subscription process to provide the subscription metadata to the first entity.

2. The system as recited in claim 1 , the database system further configurable to cause:

adding a subscription event to a message queue; and

initiating the subscription process by a message handler that processes the subscription event.

3. The system as recited in claim 1 , the database system further configurable to cause:

responsive to completion of the subscription process, updating the second transaction state from subscription in progress to a previous transaction state.

4. The system as recited in claim 1 , the database system further configurable to cause:

responsive to completion of the subscription process, updating the second transaction state from subscription in progress to an active state.

5. A method, comprising:

providing, for presentation on a display of a user device, publish metadata indicating a first set of object types of data objects stored in at least one database of a first entity and available via subscription from the first entity;

processing, by a second entity, subscription metadata received from the user device, the subscription metadata indicating a subset of the first set of object types, the subset selected for subscription by user input associated with the presentation of the publish metadata on the display of the user device;

transmitting, by the second entity to the first entity, a request to update a first transaction state to indicate that a subscription is in progress, wherein the publish metadata cannot be modified while the first transaction state indicates that the subscription is in progress;

updating, by the second entity, a second transaction state to indicate that the subscription is in progress, wherein the subscription metadata cannot be modified while the second transaction state indicates that the subscription is in progress; and

after updating the second transaction state and transmitting the request, initiating a subscription process to provide the subscription metadata to the first entity.

6. The method as recited in claim 5 , further comprising:

adding a subscription event to a message queue; and

initiating the subscription process by a message handler that processes the subscription event.

7. The method as recited in claim 5 , further comprising:

responsive to completion of the subscription process, updating the second transaction state from subscription in progress to a previous transaction state.

8. The method as recited in claim 5 , further comprising:

responsive to completion of the subscription process, updating the second transaction state from subscription in progress to an active state.

9. The method as recited in claim 5 , further comprising:

causing display, on the display of the user device of a notification that the subscription process is successfully completed.

10. The method as recited in claim 5 , further comprising:

identifying metadata associated with the subscription metadata, wherein the metadata indicates triggers associated with the subscription metadata; and

storing the metadata in a database associated with the second entity.

11. A computer program product comprising computer-readable program code capable of being executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code comprising instructions configurable to cause:

providing publish metadata by a first entity, the publish metadata indicating a first set of object types of data objects stored in at least one database of the first entity and available via subscription from the first entity by a second entity;

processing, by the first entity, a request received from the second entity;

responsive to processing the request, updating, by the first entity, a first transaction state to indicate that a subscription is in progress, wherein the publish metadata cannot be modified while the first transaction state indicates that a subscription is in progress; and

after updating the first transaction state to indicate that a subscription is in progress, participating in a subscription process such that subscription metadata is received by the first entity from the second entity and stored in a database by the first entity, the subscription metadata indicating a subset of the first set of object types, the subset selected for subscription by user input associated with presentation of the publish metadata on a display of a user device.

12. The computer program product as recited in claim 11 , the computer program instructions further configurable to cause:

responsive to completing the subscription process, updating, by the first entity, the first transaction state to a previous transaction state.

13. The computer program product as recited in claim 11 , the computer program code instructions further configurable to cause:

responsive to completing the subscription process, setting, by the first entity, the first transaction state to an active state.

14. The computer program product as recited in claim 11 , the computer program instructions further configurable to cause:

ascertaining a mapping between the subscription metadata and a set of fields of one or more databases of the second entity.

15. A system comprising:

a database system implemented using a server system, the database system configurable to cause:

providing publish metadata by a first entity, the publish metadata indicating a first set of object types of data objects stored in at least one database of the first entity and available via subscription from the first entity by a second entity;

processing, by the first entity, a request received from the second entity;

responsive to processing the request, updating, by the first entity, a first transaction state to indicate that a subscription is in progress, wherein the publish metadata cannot be modified while the first transaction state indicates that a subscription is in progress; and

after updating the first transaction state to indicate that a subscription is in progress, participating in a subscription process such that subscription metadata is received by the first entity from the second entity and stored in a database by the first entity, the subscription metadata indicating a subset of the first set of object types, the subset selected for subscription by user input associated with presentation of the publish metadata on a display of a user device.

16. The system as recited in claim 15 , the database system further configurable to cause:

responsive to completing the subscription process, updating, by the first entity, the first transaction state to a previous transaction state.

17. The system as recited in claim 15 , the database system further configurable to cause:

responsive to completing the subscription process, setting, by the first entity, the first transaction state to an active state.

18. The system as recited in claim 15 , the database system further configurable to cause:

prior to participating in the subscription process, saving a current status of the first transaction state.

19. The system as recited in claim 15 , the database system further configurable to cause:

processing an indication of the user input submitted at the user device, the user input indicating the publish metadata; and

saving the publish metadata in a database of the first entity.

20. The system as recited in claim 15 , the database system further configurable to cause:

ascertaining a mapping between the subscription metadata and a set of fields of one or more databases of the second entity.

Assignments (1)
CHANGE OF NAME Recorded Jan 27, 2025
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 070014/0841 →
Continuity (2)
Continuation 15391605 · Dec 27, 2016
Related Publication 20200026713A1 · Jan 23, 2020