IP Library Granted Patent US 12,405,940
Granted Patent B1
US 12,405,940 · App. 18/484,047 · Granted Sep 2, 2025

Feature-based data rollback

Inventors: Saurabh Tandon (Bangalore, IN); Qing Wang (Hangzhou, CN); Jiaguo Wu (Hefei, CN); Yi Zang (Suzhou, CN)
Assignee: Zoom Communications, Inc.
G06F16/235G06F16/2365G06F16/2379
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,405,940
App. No.
18/484,047
Granted
Sep 2, 2025
Kind
B1
Abstract

Pre-update data are changed to post-update data via a set of data update commands executed to process a data modification request. A rollback context that is based on the data modification request is associated with the pre-update data and the post-update data. A rollback request associated with the rollback context is received. In response to receiving the rollback request, a data rollback script is generated. The data rollback script, when executed, changes at least some of the post-update data to corresponding pre-update data. The data rollback script is then executed.

Claims (41)

1. A method, comprising:

changing, via a set of data update commands, pre-update data to post-update data, the set of data update commands executed to process a data modification request;

associating a rollback context that is based on the data modification request with the pre-update data and the post-update data in a transaction log that stores the pre-update data and the post-update data after a commit of the data modification request, wherein the rollback context comprises a tracking identifier having a format <FEATURE><RANDOM NUMBER>, where <FEATURE> identifies a particular request handler or application feature and <RANDOM NUMBER> is a random number that uniquely identifies the data modification request;

receiving a rollback request associated with the rollback context after the commit of the data modification request;

generating, based on the rollback request, a data rollback script that, when executed, changes at least some of the post-update data to corresponding pre-update data; and

executing the data rollback script.

2. The method of claim 1 , wherein the set of data update commands correspond to respective database Structured Query Language (SQL) commands.

3. The method of claim 1 , wherein the rollback context is associated with the pre-update data and the post-update data in an indexing structure of a search engine.

4. The method of claim 1 , wherein the set of data update commands is within one or more database transaction boundaries.

5. The method of claim 1 , wherein associating the rollback context that is based on the data modification request with the pre-update data and the post-update data comprises:

associating the rollback context with data of a row of a database, wherein the post-update data comprises at least a subset of column data of the row.

6. The method of claim 1 , wherein the data rollback script comprises a Structured Query Language (SQL) update statement.

7. The method of claim 1 , wherein the data rollback script comprises a Structured Query Language (SQL) delete statement that rolls back an insert data update command.

8. The method of claim 1 , wherein the data rollback script comprises a Structured Query Language (SQL) insert statement that rolls back an insert data update command.

9. The method of claim 1 , wherein the set of data update commands changes a first subset of columns in one or more rows of a table of a database, and wherein generating the data rollback script comprises:

generating the data rollback script to change post-update data of a second subset of the columns to corresponding pre-update data of the second subset of the columns, wherein the second subset of the columns includes fewer columns than the first subset of the columns.

10. A system, comprising:

one or more processor; and

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

change, via a set of data update commands, pre-update data to post-update data, the set of data update commands executed to process a data modification request;

associate a rollback context that is based on the data modification request with the pre-update data and the post-update data in a transaction log that stores the pre-update data and the post-update data after a commit of the data modification request, wherein the rollback context comprises a tracking identifier having a format <FEATURE><RANDOM NUMBER>, where <FEATURE> identifies a particular request handler or application feature and <RANDOM NUMBER> is a random number that uniquely identifies the data modification request;

receive a rollback request associated with the rollback context after the commit of the data modification request;

generate, based on the rollback request, a data rollback script that, when executed, changes at least some of the post-update data to corresponding pre-update data; and

execute the data rollback script.

11. The system of claim 10 , wherein the rollback context is associated with at least some data of a row of a database.

12. The system of claim 10 , wherein the rollback context is generated by a request handler that receives the data modification request.

13. The system of claim 10 , wherein the rollback context comprises a descriptor of the data modification request.

14. The system of claim 10 , wherein the data update commands are semantically related.

15. One or more non-transitory computer readable media storing instructions operable to cause one or more processors to perform operations comprising:

changing, via a set of data update commands, pre-update data to post-update data, the set of data update commands executed to process a data modification request;

associating a rollback context that is based on the data modification request with the pre-update data and the post-update data in a transaction log that stores the pre-update data and the post-update data after a commit of the data modification request, wherein the rollback context comprises a tracking identifier having a format <FEATURE><RANDOM NUMBER>, where <FEATURE> identifies a particular request handler or application feature and <RANDOM NUMBER> is a random number that uniquely identifies the data modification request;

receiving a rollback request associated with the rollback context after the commit of the data modification request;

generating, based on the rollback request, a data rollback script that, when executed, changes at least some of the post-update data to corresponding pre-update data; and

executing the data rollback script.

16. The one or more non-transitory computer readable media of claim 15 , wherein the rollback context is associated with the data update commands as a comment.

17. The one or more non-transitory computer readable media of claim 15 , wherein the operations further comprise:

constructing the rollback context to include a descriptor of the data modification request.

18. The one or more non-transitory computer readable media of claim 15 , wherein receiving the rollback request associated with the rollback context comprises:

receiving a request to identify the data update commands based on the rollback context.

19. The one or more non-transitory computer readable media of claim 15 , wherein the operations further comprise:

transmitting the data rollback script for approval prior to executing the data rollback script.

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 Oct 10, 2023
From: TANDON, SAURABH; WANG, QING; WU, JIAGUO; ZANG, YI
To: ZOOM VIDEO COMMUNICATIONS, INC.
Reel/Frame 065172/0453 →