Resource allocation throttling in remote data mirroring system
First Claim
1. In a remote data mirroring system that mirrors data from a primary computer system to a secondary computer system over a network, a method for controlling the utilization of a component of the network so as to facilitate mirroring, the method comprising:
- creating a throttle in the primary computer system, wherein the throttle defines a test and an associated action;
applying the test defined by the throttle to the component of the network so as to compare actual usage of the component with a threshold value; and
if, in response to applying the test, it is determined that the actual usage of the component has a specified relationship with the threshold value, performing the action to adjust the actual usage of the component.
9 Assignments
0 Petitions
Accused Products
Abstract
A computer network remote data mirroring system writes update data both to a local data device and to a local, chronologically sequenced journal storage area, or writelog device. A graphical user interface enables a user to create and configure throttles, which are user-defined tests and actions evaluated by the primary mirror daemon to regulate network bandwidth, CPU, and writelog device utilization during data update mirroring. Network bandwidth throttling enables a predetermined portion of the network bandwidth to be assigned to remote data mirroring based on user-selected criteria. CPU throttling enables a user to control the amount of time the local data storage unit will wait prior to returning control to applications after an update. Writelog device throttling prevents a memory overflow condition by dynamically assigning memory to the writelog device by chaining writelog device extensions to the writelog device.
-
Citations
21 Claims
-
1. In a remote data mirroring system that mirrors data from a primary computer system to a secondary computer system over a network, a method for controlling the utilization of a component of the network so as to facilitate mirroring, the method comprising:
-
creating a throttle in the primary computer system, wherein the throttle defines a test and an associated action;
applying the test defined by the throttle to the component of the network so as to compare actual usage of the component with a threshold value; and
if, in response to applying the test, it is determined that the actual usage of the component has a specified relationship with the threshold value, performing the action to adjust the actual usage of the component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13)
receiving a logical operator selection for determining when the throttle is to be applied; and
receiving the threshold value for comparison to the actual usage of the component of the network with a logical operator selected by the logical operator selection; and
in response to applying the test, determining whether the actual usage of the component has a specified relationship with the threshold value.
-
-
6. A method as recited in claim 5, wherein determining whether the actual usage of the component has a specified relationship with the threshold value comprises determining whether the actual usage of the one component, when compared to the threshold value, causes application of the logical operator to evaluate as true.
-
7. A method as recited in claim 1, wherein the component comprises a network connection between the primary computer system and the secondary network system that has a network bandwidth parameter.
-
8. A method as recited in claim 7, wherein the test relates to the rate by which data is transmitted over the network connection between a primary mirror daemon of the primary computer system to a remote mirror daemon of the secondary computer system.
-
9. A method as recited in claim 7, wherein the action relates to the primary mirror daemon pausing during a specified amount of time after each transmission of data to the remote mirror daemon.
-
10. A method as recited in claim 1, wherein:
-
the component comprises a central processing unit of the primary computer system; and
the test relates to the percentage of resources of the central processing unit consumed by a primary mirror daemon of the primary computer system.
-
-
12. A computer program product as recited in claim 1, wherein the component of the network comprises a writelog device configured for receiving data updates, and wherein the data is transmitted from the writelog device to a primary mirror daemon of the primary computer system that communicates with a remote mirror daemon of the secondary computer system.
-
13. A computer program product as recited in claim 12, wherein performing the action to adjust the actual usage of the component comprises adjusting the actual usage of the writelog device to avoid an underflow or an overflow condition of the writelog device.
-
11. A computer program product for implementing, in a primary computer system included in a remote data mirroring system that mirrors data from the primary computer system to a secondary computer system over a network, a method for controlling the utilization of a component of the network so as to facilitate mirroring, the computer program product comprising:
-
a computer-readable medium carrying computer-executable instructions for implementing the method, the computer-executable instructions, when executed, causing the primary computer system to;
create a throttle in the primary computer system, wherein the throttle defines a test and an associated action;
apply the test defined by the throttle to the component of the network so as to compare actual usage of the component with a threshold value; and
if, in response to applying the test, it is determined that the actual usage of the component has a specified relationship with the threshold value, performing the action to adjust the actual usage of the component. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
receive a logical operator selection for determining when the throttle is to be applied; and
receive the threshold value for comparison to the actual usage of the component of the network with a logical operator selected by the logical operator selection; and
in response to applying the test, determine whether the actual usage of the component has a specified relationship with the threshold value.
-
-
16. A computer program product as recited in claim 15, wherein determining whether the actual usage of the component has a specified relationship with the threshold value comprises determining whether the actual usage of the one component, when compared to the threshold value, causes application of the logical operator to evaluate as true.
-
17. A computer program product as recited in claim 11, wherein the component comprises a network connection between the primary computer system and the secondary network system that has a network bandwidth parameter.
-
18. A computer program product as recited in claim 17, wherein the test relates to the rate by which data is transmitted over the network connection between a primary mirror daemon of the primary computer system to a remote mirror daemon of the secondary computer system.
-
19. A computer program product as recited in claim 17, wherein the action relates to the primary mirror daemon pausing during a specified amount of time after each transmission of data to the remote mirror daemon.
-
20. A computer program product as recited in claim 11, wherein:
-
the component comprises a central processing unit of the primary computer system; and
the test relates to the percentage of resources of the central processing unit consumed by a primary mirror daemon of the primary computer system.
-
-
21. In a remote data mirroring system that mirrors data from a primary computer system to a secondary computer system over a network, a method for controlling the utilization of a component of the network so as to facilitate mirroring, the method comprising:
-
creating a throttle in the primary computer system, wherein the throttle defines a test and an associated action;
obtaining a start time input for initiating operation of the throttle and a stop time input for terminating operation of the throttle, the start time and the stop time identifying the time span during which the throttle is active;
obtaining a logical operator selection for determining when the test defined by the throttle is to be applied; and
obtaining a threshold value to be used by the test;
while the throttle is active, applying the test defined by the throttle to a writelog device configured to receive data updates so as to compare actual usage of the writelog device with the threshold value, the writelog device being in communication with a primary mirror daemon of the primary computer system that communicates with a remote mirror daemon of the secondary computer system; and
if, in response to applying the test, it is determined that the actual usage of the writelog device has a specified relationship with the threshold value, adjusting the actual usage of the writelog device to avoid an underflow or an overflow condition of the writelog device.
-
Specification