IP Library Granted Patent US 12,688,198
Granted Patent B1
US 12,688,198 · App. 18/428,469 · Granted Jul 21, 2026

Synchronizing loosely coupled systems at a target system

Inventors: Rajaram Mohandas Bhakta (San Jose, CA); Sivakumar Damodaran Pooruli (Fremont, CA); Swetha Tumkur Prakash (Bangalore, IN)
Assignee: Zoom Communications, Inc.
G06F16/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,688,198
App. No.
18/428,469
Filed
Jan 31, 2024
Granted
Jul 21, 2026
Kind
B1
Art Unit
2166
USPC
707/634
Abstract

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

Claims (70)

1 . A method, comprising:

receiving, by a target system from a source system, one or more data records;

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

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

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

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

sending, by the target 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 target 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 target 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 target system, the set of target evaluations at a predefined interval.

9 . The method of claim 1 , further comprising:

receiving, by the target system, the set of source 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:

receiving, by a target system from a source system, one or more data records;

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

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

determining, by the target 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 target 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 target 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 target system, the set of target evaluations at a predefined interval; and

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

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

receiving, by the target system from the source system, the set of validation functions.

14 . The non-transitory computer-readable medium of claim 10 , wherein at least one of the 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 target 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:

receive, by a target system from a source system, one or more data records;

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

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

determine, by the target 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 target 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:

receive, by the target system from the source system, the set of validation functions;

receive, by the target system from the source system, an indication of a predefined interval;

determine, by the target system, the set of target evaluations at the predefined interval; and

receive, by the target system from the source system, the set of source 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 target 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 target system, a criticality of the at least one mismatch; and

determine, by the target 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/0222 →
References Cited (48)
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 · 2019 [cited by examiner]
US 10963435B1 · McAlister et al. · 2021 [cited by applicant]
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 · 2022 [cited by examiner]
US 11526470B2 · Lee · 2022 [cited by examiner]
US 11797541B1 · Fitzgerald et al. · 2023 [cited by applicant]
US 11940960B2 · Mulcrone · 2024 [cited by applicant]
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 et al. · 2015 [cited by applicant]
US 20150244795A1 · Cantwell et al. · 2015 [cited by applicant]
US 20150269212A1 · Kramer et al. · 2015 [cited by applicant]
US 20160070725A1 · Marrelli · 2016 [cited by examiner]
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 et al. · 2018 [cited by applicant]
US 20190005086A1 · Manor · 2019 [cited by examiner]
US 20190102258A1 · Banister · 2019 [cited by examiner]
US 20200007344A1 · Chepak, Jr. et al. · 2020 [cited by applicant]
US 20200104236A1 · Creel et al. · 2020 [cited by applicant]
US 20210357424A1 · Martynov · 2021 [cited by examiner]
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 et al. · 2022 [cited by applicant]
US 20230034941A1 · Bos · 2023 [cited by examiner]
US 20230296918A1 · Muschielok et al. · 2023 [cited by applicant]
US 20230334069A1 · Kozak et al. · 2023 [cited by applicant]
US 20230385271A1 · Bensberg · 2023 [cited by examiner]
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]