IP Library Granted Patent US 8,150,805
Granted Patent B1
US 8,150,805 · App. 11/762,605 · Granted Apr 3, 2012

Consistency interval marker assisted in-band commands in distributed systems

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 8,150,805
App. No.
11/762,605
Filed
Jun 13, 2007
Granted
Apr 3, 2012
Kind
B1
Examiner
TRAN, BAO G
Art Unit
2158
USPC
707/629
Abstract

In-band commands may be associated with a particular consistency interval and may indicate requested actions to be performed for that consistency interval. An application may desire to perform actions, such as additional backup, snapshots, etc. on stored data, when that data is in a consistent state from the application's point of view. In order to ensure that the data is in a consistent state, a consistency interval may be created on demand. A node may request a consistency interval by sending a consistency request message to a consistency interval coordinator, which in turn, establishes the consistency interval with all nodes in the distributed environment. After sending all write requests for the consistency interval, the node may then send the command message. Command messages may be stored in consistency logs along with write requests and a replication target, or other device, may read both the write requests and the command message.

Claims (67)

1. A method, comprising:

sending replicated write requests from a plurality of nodes in a distributed computing environment to a shared replication target device,

wherein each of the plurality of nodes is a computing entity configured to send replicated write requests in a request stream or log stream to the shared replication target device, and

wherein each replicated write request is associated with a first consistency interval;

requesting, by one of the nodes, a consistency interval transition from the first consistency interval to a second consistency interval,

wherein the one of the nodes requesting the consistency interval transition is one of the plurality of nodes sending replicated write requests, and

wherein the consistency interval transition applies to each one of the plurality of nodes;

in response to said requesting, initiating the consistency interval transition to define a point in time for which data on the shared replication target device is in a consistent state,

wherein the data on the shared replication target device is consistent with respect to replicated write requests from each one of the plurality of nodes to the shared replication target device for the first consistency interval; and

sending a command message to the shared replication target device,

wherein the command message is associated with the consistency interval transition and specifies a requested action to be performed with respect to said consistent state,

wherein said sending the command message comprises inserting the command message for the consistency interval transition in the request stream or the log stream.

2. The method as recited in claim 1 , further comprising:

the shared replication target device storing data corresponding to the replicated write requests to secondary storage; and

subsequent to said storing data corresponding to the replicated write requests to secondary storage, the shared replication target device executing the requested action specified in the command message.

3. The method as recited in claim 1 , wherein an application executing in the distributed computing environment performs said requesting.

4. The method as recited in claim 1 , wherein said sending replicated write requests comprises:

storing the replicated write requests in a log file;

storing the command message in the log file after said storing the replicated write requests in the log file; and

the shared replication target device reading the replicated write requests and the command message from the log file.

5. The method as recited in claim 1 , wherein said sending a command message to the shared replication target device comprises:

storing the command message in a log file; and

the shared replication target device reading the replicated write requests from the log file.

6. The method as recited in claim 1 , wherein the requested action comprises one or more of: creating a checkpoint, creating an incremental backup, and/or creating a snapshot of data on the shared replication target device.

7. The method as recited in claim 1 , wherein the requested action comprises reading data corresponding to the replicated write requests from secondary storage.

8. The method as recited in claim 1 , wherein the replicated write requests originate from an application executing in the distributed computing environment, the method further comprising saving data corresponding to the replicated write requests on a primary data storage device prior to said sending the replicated write requests to the shared replication target device.

9. The method as recited in claim 1 , further comprising:

in response to the initiation of the consistency interval transition, each of the plurality of nodes:

temporarily suspending sending replicated write requests to the shared replication target device; and

subsequent to said temporarily suspending:

sending a consistency interval marker to the shared replication target device; and

resuming sending replicated write requests to the shared replication target device, wherein an indication of a second consistency interval is associated with each replicated write request sent after said resuming.

10. A system, comprising:

a plurality of nodes in a distributed computing environment;

a shared replication target device coupled to the plurality of nodes; and

a consistency interval coordinator coupled to the plurality of nodes and the shared replication target device;

wherein each of the plurality of nodes is an entity configured to send replicated write requests in a request stream or log stream in a distributed computing environment to a shared replication target device, wherein each replicated write request is associated with a first consistency interval;

wherein the consistency interval coordinator, in response to a request, from one of the plurality of nodes that is configured to send replicated write requests, for a consistency interval transition from the first consistency interval to a second consistency interval, wherein the consistency interval transition applies to each one of the plurality of nodes, is configured to initiate the consistency interval transition to define a point in time for which data on the shared replication target device is in a consistent state, wherein the data on the shared replication target device is consistent with respect to replicated write requests from each one of the plurality of nodes to the shared replication target device for the first consistency interval; and

wherein at least one of the plurality of nodes is configured to send a command message to the shared replication target device, wherein the command message is associated with the consistency interval transition and specifies a requested action to be performed with respect to said consistent state,

wherein sending the command message comprises inserting the command message for the consistency interval transition in the request stream or the log stream.

11. The system of claim 10 , wherein the shared replication target device is configured to:

store data corresponding to the replicated write requests to secondary storage; and

subsequent to said storing data corresponding to the replicated write requests to secondary storage, execute the requested action specified in the command message.

12. The system of claim 10 , wherein the at least one node is further configured to request the consistency interval transition, and wherein the consistency interval coordinator is configured to initiate the consistency interval transition in response to said requesting.

13. The system of claim 10 , further comprising an application executing one or more of the plurality of nodes is configured to request the consistency interval transition, and wherein the consistency interval coordinator is configured to initiate the consistency interval transition in response to said requesting.

14. The system of claim 10 , wherein in order to send the replication write requests to the shared replication target device, each of the plurality of nodes is further configured to:

store the replicated write requests in a log file; and

store the command message in the log file after said storing the replicated write requests in the log file;

wherein the shared replication target device is configured to read the replicated write requests and the command message from the log file.

15. The system of claim 10 , wherein the requested action comprises one or more of: creating a checkpoint, creating an incremental backup, and/or creating a snapshot of data on the shared replication target device.

16. The system of claim 10 , wherein the requested action comprises reading data corresponding to the replicated write requests from secondary storage.

17. The system of claim 10 , wherein an application executing on one or more of the plurality of nodes is configured to send the replicated writes, and where one or more of the plurality of nodes is configured to save data corresponding to the replicated write requests on a primary data storage device prior to said sending the replicated write requests to the shared replication target device.

18. The system of claim 10 , wherein in response to the initiation of the consistency interval transition each of the plurality of nodes is configured to:

temporarily suspend sending replicated write requests to the shared replication target device;

send a consistency interval marker to the shared replication target device subsequent to said temporarily suspending; and

resume sending replicated write requests to the shared replication target device, wherein an indication of a second consistency interval is associated with each replicated write request sent after said resuming.

19. A device, comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory comprises program instructions executable by the one or more processors to implement a node in a networked computing environment, wherein the node is an entity configured to:

send replicated write requests in a request stream or log stream to a shared replication target device, wherein each replicated write request is associated with a first consistency interval;

request a consistency interval transition from the first consistency interval to a second consistency interval,

wherein the node requesting the consistency interval transition is the node sending the replicated write requests,

wherein the consistency interval transition defines a point in time for which data on the shared replication target device is in a consistent state,

wherein the data on the shared replication target device is consistent with respect to replicated write requests from the node to the shared replication target device for the first consistency interval and with respect to other replicated write requests from other nodes to the shared replication target device for the first consistency interval; and

send a command message to the shared replication target device, wherein the command message is associated with the consistency interval transition and specifies a request action to be performed with respect to said consistent state,

wherein sending the command message comprises inserting the command message for the consistency interval transition in the request stream or the log stream.

20. The method as recited in claim 1 , wherein the command message specifies delaying execution of the request action until after all of the writes for the first consistency interval have been sent.

Assignments (15)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2007
From: TAWRI, DEEPAK; KARR, RONALD S.
To: VERITAS OPERATING CORPORATION
Reel/Frame 019428/0873 →