Method and system for synchronizing databases automatically and periodically

US10936623B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10936623-B2
Application numberUS-201815885048-A
CountryUS
Kind codeB2
Filing dateJan 31, 2018
Priority dateJan 31, 2018
Publication dateMar 2, 2021
Grant dateMar 2, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Through a first processing thread, a first database is accessed via a first API to retrieve a list of event objects of the first database. Through a second processing thread, for each of the event objects, participant identifiers (IDs) are determined from the event object. For each of the participant IDs, a domain ID is extracted from the participant ID. A list of one or more entity objects are identified based on the domain ID, where the entity objects are stored in a second database such as a task database storing and managing many tasks. At least one attribute of at least one of the entity objects is modified based of the participant ID and the domain ID, which generates a modified entity object. Through a third processing thread, any event objects that have been modified are transmitted to the second database via a second API over the network.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for synchronizing databases using multi-threading, the method comprising: periodically and automatically via a first processing thread executed by a processor, accessing a first database system via a first application programming interface (API) over a network to retrieve a list of a plurality of event objects of the first database system; periodically and automatically via a second processing thread, for each of the event objects, determining one or more participant identifiers (IDs) from the event object, the participant IDs identifying one or more participants associated with the event object, each participant having contact information, for each of the participant IDs, extracting a domain ID from the participant ID, identifying a list of one or more entity objects from a second database system based on the domain ID, for each of the one or more entity objects in the list, determining one or more task objects associated with the entity object, each task object being associated with a user group, the user group including a first user ID and a second user ID, each user ID associated with a user object, for each of the one or more task objects, determining that the participant ID matches the first user ID of the user group, and does not match the second user ID of the user group, in response to determining that the participant ID matches at least one user ID of the user group, modifying the entity object to generate a first modified entity object, including updating contact information of a user object associated with the first user ID with contact information of the participant associated with the participant ID, and in response to determining that the participant ID does not match any of the user IDs of the user group, modifying the entity object to generate a second modified entity object, including creating a new user object with the participant ID and the contact information of the participant; and periodically and automatically via a third processing thread, transmitting each entity object that has been modified to the second database system via a second API over the network, wherein the first processing thread, the second processing thread, and the third processing thread are executed independently. 2. The method of claim 1 , further comprising: for each of the domain IDs obtained from the participant IDs, determining whether the domain ID matches one of predetermined domain IDs; and removing any matching domain ID prior to identifying event objects based on the domain IDs. 3. The method of claim 1 , further comprising: determining whether there are a plurality of entity objects associated with the domain ID; in response to determining that there are multiple entity objects associated with the domain ID, selecting a first entity object from the plurality of entity objects based on a set of one or more selection rules; and modifying at least one attribute of the first entity object based on the participant ID and the domain ID. 4. The method of claim 3 , wherein selecting a first entity object from the plurality of entity objects comprises: determining whether the participant ID matches an owner ID corresponding to an owner of any of the entity objects; and if the participant ID matches an owner ID of any of the entity objects, selecting the first entity object. 5. The method of claim 4 , further comprising selecting the first entity object if a participant associated with the participant ID initiated an event associated with the event object in the first database system and the participant is an owner of the first entity object in the second database system. 6. The method of claim 1 , further comprising: determining whether the participant ID matches an owner ID of an owner of a first task object of the task objects; and modifying at least one attribute of the first task object if the participant ID matches the owner ID of the first task object. 7. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations, the operations comprising: periodically and automatically via a first processing thread executed by a processor, accessing a first database system via a first application programming interface (API) over a network to retrieve a list of a plurality of event objects of the first database system; periodically and automatically via a second processing thread, for each of the event objects, determining one or more participant identifiers (IDs) from the event object, the participant IDs identifying one or more participants associated with the event object, each participant having contact information, for each of the participant IDs, extracting a domain ID from the participant ID, identifying a list of one or more entity objects from a second database system based on the domain ID, for each of the one or more entity objects in the list, determining one or more task objects associated with the entity object, each task object being associated with a user group, the user group including a first user ID and a second user ID, each user ID associated with a user object, for each of the one or more task objects, determining that participant ID matches the first user ID of the user group, and does not match the second user ID of the user group, in response to determining that the participant ID matches at least one user ID of the user group, modifying the entity object to generate a first modified entity object, including updating contact information of a user object associated with the first user ID with contact information of the participant associated with the participant ID, and in response to determining that the participant ID does not match any of the user IDs of the user group, modifying the entity object to generate a second modified entity object, including creating a new user object with the participant ID and the contact information of the participant; and periodically and automatically via a third processing thread, transmitting each entity object that has been modified to the second database system via a second API over the network, wherein the first processing thread, the second processing thread, and the third processing thread are executed independently. 8. The machine-readable medium of claim 7 , wherein the operations further comprise: for each of the domain IDs obtained from the participant IDs, determining whether the domain ID matches one of predetermined domain IDs; and removing any matching domain ID prior to identifying event objects based on the domain IDs. 9. The machine-readable medium of claim 7 , wherein the operations further comprise: determining whether there are a plurality of entity objects associated with the domain ID; in response to determining that there are multiple entity objects associated with the domain ID, selecting a first entity object from the plurality of entity objects based on a set of one or more selection rules; and modifying at least one attribute of the first entity object based on the participant ID and the domain ID. 10. The machine-readable medium of claim 9 , wherein selecting a first entity object from the plurality of entity objects comprises: determining whether the participant ID matches an owner ID corresponding to an owner of any of the entity objects; and if the participant ID matches an owner ID of any of the entity objects, selecting the first entity object. 11. The machine-readable medium of claim 10 , wherein the operations further comprise selecting the first entity object if a participant associated with the participant ID initiated a

Assignees

Inventors

Classifications

  • G06F16/27Primary

    Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Change logging, detection, and notification (replication G06F16/27) · CPC title

  • Updating · CPC title

  • Event management; Broadcasting; Multicasting; Notifications · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10936623B2 cover?
Through a first processing thread, a first database is accessed via a first API to retrieve a list of event objects of the first database. Through a second processing thread, for each of the event objects, participant identifiers (IDs) are determined from the event object. For each of the participant IDs, a domain ID is extracted from the participant ID. A list of one or more entity objects are…
Who is the assignee on this patent?
Clari Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/27. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 02 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).