IP Library Granted Patent US 12,585,623
Granted Patent B1
US 12,585,623 · App. 18/428,464 · Granted Mar 24, 2026

Synchronizing loosely coupled systems at a source system

Inventors: Rajaram Mohandas Bhakta (San Jose, CA); Sivakumar Damodaran Pooruli (Fremont, CA); Swetha Tumkur Prakash (Bangalore, IN)
Assignee: Zoom Communications, Inc.
G06F16/215G06F16/27
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,585,623
App. No.
18/428,464
Granted
Mar 24, 2026
Kind
B1
Abstract

Synchronizing loosely coupled systems where a source system determines a source evaluation of a validation function based on a data record sent to a target system and the source system receives from the target system a target evaluation of the validation function based on the data record. The source system compares the source evaluation to the target evaluation and, in response to a mismatch, the source 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 source system resending the data record to the target system.

Claims (69)

1 . A method, comprising:

sending, by a source system to a target system, one or more data records;

determining, by the source system, a set of source evaluations for a set of validation functions based on the one or more data records;

receiving, by the source 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;

determining, by the source 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 source 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:

resending, by the source system, the one or more data records to the target system;

resending, by the source system, a subset of the one or more data records to the target system; or

sending, by the source 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 source system, a criticality of one or more of the at least one mismatch; 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 source 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:

determining, by the source system, the set of source evaluations at a predefined interval.

9 . The method of claim 1 , further comprising:

receiving, by the source 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 source system to a target system, one or more data records;

determining, by the source system, a set of source evaluations for a set of validation functions based on the one or more data records;

receiving, by the source 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;

determining, by the source 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 source 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 non-transitory computer-readable medium of claim 10 , the operations further comprising:

executing, by the source system, a software-as-a-service application that processes at least one of the one or more data records.

12 . The non-transitory computer-readable medium of claim 10 , the operations further comprising:

determining, by the source system, the set of source evaluations at a predefined interval; and

receiving, by the source system, the set of target evaluations at the predefined interval.

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

sending, by the source system to the target system, the set of validation functions.

14 . The non-transitory computer-readable medium of claim 10 , wherein at least one of the set of validation functions comprises at least one of:

a summation operation; or

a count operation.

15 . The non-transitory computer-readable medium of claim 10 , the operations further comprising:

determining, by the source 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.

16 . 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 source system to a target system, one or more data records;

determine, by the source system, a set of source evaluations for a set of validation functions based on the one or more data records;

receive, by the source 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;

determine, by the source 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 source 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.

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

send, by the source system to the target system, the set of validation functions;

indicate, by the source system to the target system, a predefined interval; and

receive, by the source system from the target system, the set of target evaluations at the predefined interval.

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

determine, by the source system, the at least one mismatch at a predefined interval.

19 . The system of claim 16 , wherein:

the at least one mismatch comprises at least two mismatches.

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

determine, by the source system, a criticality of the at least one mismatch; and

determine, by the source 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 (1)
CHANGE OF NAME Recorded Jan 7, 2025
From: ZOOM VIDEO COMMUNICATIONS, INC.
To: ZOOM COMMUNICATIONS, INC.
Reel/Frame 069839/0593 →
References Cited (48)
US 7137100B2 · Iborra · 2006 [cited by examiner]
US 9137256B2 · Singhal · 2015 [cited by examiner]
US 9210030B1 · Miller et al. · 2015 [cited by applicant]
US 9734224B2 · Chatterjee et al. · 2017 [cited by applicant]
US 9804957B1 · Chopra · 2017 [cited by examiner]
US 10430437B2 · Purushothaman · 2019 [cited by examiner]
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 · 2023 [cited by examiner]
US 11940960B2 · Mulcrone · 2024 [cited by applicant]
US 12068911B2 · Ingah · 2024 [cited by examiner]
US 20080205655A1 · Wilkins · 2008 [cited by examiner]
US 20120204032A1 · Wilkins · 2012 [cited by examiner]
US 20120272221A1 · Pessoa et al. · 2012 [cited by applicant]
US 20130124473A1 · Gutberlet · 2013 [cited by examiner]
US 20150019488A1 · Higginson et al. · 2015 [cited by applicant]
US 20150244795A1 · Cantwell · 2015 [cited by examiner]
US 20150269212A1 · Kramer · 2015 [cited by examiner]
US 20160070725A1 · Marrelli et al. · 2016 [cited by applicant]
US 20160085794A1 · Bengali · 2016 [cited by examiner]
US 20160110439A1 · Hrle · 2016 [cited by examiner]
US 20160306864A1 · Estes, Jr. · 2016 [cited by examiner]
US 20170322794A1 · Ferlitsch · 2017 [cited by examiner]
US 20170330078A1 · Koduru · 2017 [cited by examiner]
US 20180300390A1 · Burchard et al. · 2018 [cited by applicant]
US 20190005086A1 · Manor · 2019 [cited by applicant]
US 20190102258A1 · Banister · 2019 [cited by applicant]
US 20200007344A1 · Chepak, Jr. et al. · 2020 [cited by applicant]
US 20200104236A1 · Creel · 2020 [cited by examiner]
US 20210357424A1 · Martynov et al. · 2021 [cited by applicant]
US 20220012134A1 · Chatterjee · 2022 [cited by examiner]
US 20220075692A1 · Guha · 2022 [cited by examiner]
US 20220188324A1 · Ramesh · 2022 [cited by examiner]
US 20220261395A1 · Gubba et al. · 2022 [cited by applicant]
US 20230034941A1 · Bos et al. · 2023 [cited by applicant]
US 20230296918A1 · Muschielok · 2023 [cited by examiner]
US 20230334069A1 · Kozak · 2023 [cited by examiner]
US 20230385271A1 · Bensberg et al. · 2023 [cited by applicant]
US 20240241981A1 · Tong · 2024 [cited by examiner]
US 20240354291A1 · Achappan · 2024 [cited by examiner]
US 20250005014A1 · Gubba · 2025 [cited by examiner]
CN 108200220B · 2021 [cited by applicant]
WO 2001057720A2 · 2001 [cited by applicant]