IP Library Granted Patent US 12,475,140
Granted Patent B1
US 12,475,140 · App. 18/428,473 · Granted Nov 18, 2025

Synchronizing loosely coupled systems at a third-party system

Inventors: Rajaram Mohandas Bhakta (San Jose, CA); Sivakumar Damodaran Pooruli (Fremont, CA); Swetha Tumkur Prakash (Bangalore, IN)
Assignee: Zoom Communications, Inc.
G06F16/27G06F16/215
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 12,475,140
App. No.
18/428,473
Granted
Nov 18, 2025
Kind
B1
Abstract

Synchronizing loosely coupled systems where a third-party system receives from a source system a source evaluation of a validation function based on a data record sent to a target system, and the third party receives from the target system a target evaluation of the validation function based on the data record received by the target system. The third-party system compares the source evaluation to the target evaluation and, in response to a mismatch, the third-party system executes a predefined action for synchronizing the data record at the target system with the data record at the source system. The predefined action may comprise the third-party system sending to the source system a request to resend the data record to the target system.

Claims (72)

1 . A method, comprising:

sending, by a third-party system to a source system, a set of validation functions;

sending, by the third-party system to a target system, the set of validation functions;

receiving, by the third-party system from the source system, a set of source evaluations for the set of validation functions determined by the source system based on one or more data records stored by the source system;

receiving, by the third-party system from the target system, a set of target evaluations for the set of validation functions determined by the target system based on the one or more data records received from the source system and stored by the target system;

determining, by the third-party system, at least one mismatch between a respective target evaluation of a respective validation function and a respective source evaluation of the respective validation function by comparing the set of source evaluations to the set of target evaluations; and

executing, by the third-party system, in response to the at least one mismatch, a predefined action for synchronizing the one or more data records at the target system with the one or more data records at the source system.

2 . The method of claim 1 , wherein at least one of the validation functions comprises:

an aggregation operation.

3 . The method of claim 1 , wherein at least one of the validation functions comprises at least one of:

a summation operation;

an average operation;

a count operation;

a minimum operation; or

a maximum operation.

4 . The method of claim 1 , wherein the executing of the predefined action comprises at least one of:

instructing the source system, by the third-party system, to resend the one or more data records to the target system;

instructing the source system, by the third-party system, to resend a subset of the one or more data records to the target system; or

sending, by the third-party system, an error message.

5 . The method of claim 1 , further comprising:

delaying the executing of the predefined action by a predefined duration.

6 . The method of claim 1 , further comprising:

determining, by the third-party system, a criticality of at least one of the mismatches; wherein

the executing of the predefined action is in further response to the criticality exceeding a predefined threshold.

7 . The method of claim 1 , further comprising:

determining, by the third-party system, a count of the at least one mismatch; wherein

the executing of the predefined action is further responsive to the count exceeding a predefined threshold.

8 . The method of claim 1 , further comprising:

receiving, by the third-party system, the set of source evaluations at a predefined interval.

9 . The method of claim 1 , further comprising:

receiving, by the third-party system, the set of target evaluations at a predefined interval.

10 . A non-transitory computer-readable medium storing instructions operable to cause one or more processors to perform operations comprising:

sending, by a third-party system to a source system, a set of validation functions;

sending, by the third-party system to a target system, the set of validation functions;

receiving, by the third-party system from the source system, a set of source evaluations for the set of validation functions determined by the source system based on one or more data records stored by the source system;

receiving, by the third-party system from the target system, a set of target evaluations for the set of validation functions determined by the target system based on the one or more data records received from the source system and stored by the target system;

determining, by the third-party system, at least one mismatch between a respective target evaluation of a respective validation function and a respective source evaluation of the respective validation function by comparing the set of source evaluations to the set of target evaluations; and

executing, by the third-party system, in response to the at least one mismatch, a predefined action for synchronizing the one or more data records at the target system with the one or more data records at the source system.

11 . The medium of claim 10 , wherein:

the source system is configured to execute a first software-as-a-service application that processes at least one of the one or more data records; and

the target system is configured to execute a second software-as-a-service application that processes at least one of the one or more data records.

12 . The medium of claim 10 , the operations further comprising:

receiving, by the third-party system, the set of source evaluations at a predefined interval; and

receiving, by the third-party system, the set of target evaluations at the predefined interval.

13 . The medium of claim 10 , wherein at least one of the validation functions comprises at least one of:

a summation operation; or

a count operation.

14 . The medium of claim 10 , the operations further comprising:

determining, by the third-party system, whether the respective validation function has a priority that exceeds a predefined threshold; wherein

the executing of the predefined action is in further response to the priority exceeding the predefined threshold.

15 . A system, comprising:

one or more memories; and

one or more processors configured to execute instructions stored in the one or more memories to:

send, by a third-party system to a source system, a set of validation functions;

send, by the third-party system to a target system, the set of validation functions;

receive, by the third-party system from the source system, a set of source evaluations for the set of validation functions determined by the source system based on one or more data records stored by the source system;

receive, by the third-party system from the target system, a set of target evaluations for the set of validation functions determined by the target system based on the one or more data records received from the source system and stored by the target system;

determine, by the third-party system, at least one mismatch between a respective target evaluation of a respective validation function and a respective source evaluation of the respective validation function by comparing the set of source evaluations to the set of target evaluations; and

execute, by the third-party system, in response to the at least one mismatch, a predefined action for synchronizing the one or more data records at the target system with the one or more data records at the source system.

16 . The system of claim 15 , wherein the one or more processors are configured to execute the instructions to:

send, by the third-party system to the source system, an indication of a predefined interval;

send, by the third-party system to the target system, the indication of the predefined interval;

receive, by the third-party system from the source system, the set of source evaluations at the predefined interval; and

receive, by the third-party system from the target system, the set of target evaluations at the predefined interval.

17 . The system of claim 15 , wherein the one or more processors are configured to execute the instructions to:

determine, by the third-party system, the at least one mismatch at a predefined interval.

18 . The system of claim 15 , wherein:

the at least one mismatch comprises at least two mismatches.

19 . The system of claim 15 , wherein the one or more processors are configured to execute the instructions to:

determine, by the third-party system, a criticality of the at least one mismatch; and

determine, by the third-party system, whether the respective validation function has a priority that exceeds a predefined priority threshold; wherein

executing the instructions to execute the predefined action is in further response to either the criticality exceeding a predefined criticality threshold or the priority exceeding the predefined priority threshold.

Assignments (2)
CHANGE OF NAME Recorded Jan 7, 2025
From: ZOOM VIDEO COMMUNICATIONS, INC.
To: ZOOM COMMUNICATIONS, INC.
Reel/Frame 069839/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2024
From: BHAKTA, RAJARAM MOHANDAS; POORULI, SIVAKUMAR DAMODARAN; PRAKASH, SWETHA TUMKUR
To: ZOOM VIDEO COMMUNICATIONS, INC.
Reel/Frame 066560/0247 →
References Cited (47)
US 7137100B2 · Iborra et al. · 2006 [cited by applicant]
US 9137256B2 · Singhal · 2015 [cited by applicant]
US 9210030B1 · Miller et al. · 2015 [cited by applicant]
US 9734224B2 · Chatterjee et al. · 2017 [cited by applicant]
US 9804957B1 · Chopra et al. · 2017 [cited by applicant]
US 10430437B2 · Purushothaman et al. · 2019 [cited by applicant]
US 10503723B2 · Zachrisen et al. · 2019 [cited by applicant]
US 10963435B1 · McAlister · 2021 [cited by examiner]
US 10965547B1 · Esposito et al. · 2021 [cited by applicant]
US 11190587B1 · Burnett et al. · 2021 [cited by applicant]
US 11194783B2 · Bandyopadhyay et al. · 2021 [cited by applicant]
US 11487631B2 · Willoughby et al. · 2022 [cited by applicant]
US 11526470B2 · Lee · 2022 [cited by applicant]
US 11797541B1 · Fitzgerald et al. · 2023 [cited by applicant]
US 11940960B2 · Mulcrone · 2024 [cited by examiner]
US 12068911B2 · Ingah · 2024 [cited by applicant]
US 20080205655A1 · Wilkins et al. · 2008 [cited by applicant]
US 20120204032A1 · Wilkins et al. · 2012 [cited by applicant]
US 20120272221A1 · Pessoa et al. · 2012 [cited by applicant]
US 20130124473A1 · Gutberlet et al. · 2013 [cited by applicant]
US 20150019488A1 · Higginson · 2015 [cited by examiner]
US 20150244795A1 · Cantwell et al. · 2015 [cited by applicant]
US 20150269212A1 · Kramer et al. · 2015 [cited by applicant]
US 20160085794A1 · Bengali et al. · 2016 [cited by applicant]
US 20160110439A1 · Hrle et al. · 2016 [cited by applicant]
US 20160306864A1 · Estes, Jr. · 2016 [cited by applicant]
US 20170322794A1 · Ferlitsch et al. · 2017 [cited by applicant]
US 20170330078A1 · Koduru · 2017 [cited by applicant]
US 20180300390A1 · Burchard · 2018 [cited by examiner]
US 20190005086A1 · Manor · 2019 [cited by applicant]
US 20190102258A1 · Banister · 2019 [cited by applicant]
US 20200007344A1 · Chepak, Jr. · 2020 [cited by examiner]
US 20200104236A1 · Creel et al. · 2020 [cited by applicant]
US 20210357424A1 · Martynov et al. · 2021 [cited by applicant]
US 20220012134A1 · Chatterjee et al. · 2022 [cited by applicant]
US 20220075692A1 · Guha et al. · 2022 [cited by applicant]
US 20220188324A1 · Ramesh et al. · 2022 [cited by applicant]
US 20220261395A1 · Gubba · 2022 [cited by examiner]
US 20230034941A1 · Bos et al. · 2023 [cited by applicant]
US 20230296918A1 · Muschielok et al. · 2023 [cited by applicant]
US 20230334069A1 · Kozak et al. · 2023 [cited by applicant]
US 20230385271A1 · Bensberg et al. · 2023 [cited by applicant]
US 20240241981A1 · Tong · 2024 [cited by applicant]
US 20240354291A1 · Achappan et al. · 2024 [cited by applicant]
US 20250005014A1 · Gubba et al. · 2025 [cited by applicant]
CN 108200220B · 2021 [cited by applicant]
WO 2001057720A2 · 2001 [cited by applicant]