METHOD AND SYSTEM FOR I/O DRIVEN RATE ADAPTATION
First Claim
Patent Images
1. A system, comprising:
- a first host and a second host connected over a network, the second host being connected to a storage device;
a sending process executable in the first host for communicating data to a receiving process executable in the second host in order for the receiving process to write the data to the storage device, wherein the sending process is configured to send data to the receiving process at a specified variable data transfer rate x(t) at any time t, wherein the receiving process is configured to store data received in a ring buffer before writing it to the storage device;
a storage rate controller incorporated into the receiving process, wherein the storage rate controller is configured to;
1) measure the current occupancy of the ring buffer,
2) calculate an updated data transfer rate x′
(t) as a function of the current data transfer rate x(t), the measured current occupancy, the total ring buffer size, and a specified target occupancy value, and
3) communicate the updated data transfer rate to the sending process; and
,wherein the sending process is configured to adjust the data transfer rate x(t) to the updated data transfer rate x′
(t).
2 Assignments
0 Petitions
Accused Products
Abstract
Described is an I/O driven, feedback based rate control mechanism that allows a transfer session to self-adjust its transfer rate in response to the speed of the storage device at the destination. The described system may operate at the application layer, which makes cross-platform deployment an easier task
52 Citations
20 Claims
-
1. A system, comprising:
-
a first host and a second host connected over a network, the second host being connected to a storage device; a sending process executable in the first host for communicating data to a receiving process executable in the second host in order for the receiving process to write the data to the storage device, wherein the sending process is configured to send data to the receiving process at a specified variable data transfer rate x(t) at any time t, wherein the receiving process is configured to store data received in a ring buffer before writing it to the storage device; a storage rate controller incorporated into the receiving process, wherein the storage rate controller is configured to;
1) measure the current occupancy of the ring buffer,
2) calculate an updated data transfer rate x′
(t) as a function of the current data transfer rate x(t), the measured current occupancy, the total ring buffer size, and a specified target occupancy value, and
3) communicate the updated data transfer rate to the sending process; and
,wherein the sending process is configured to adjust the data transfer rate x(t) to the updated data transfer rate x′
(t). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for transferring data from a first host to a second host connected over a network, the second host being connected to a storage device, comprising:
-
executing a sending process in the first host for communicating data to a receiving process executing in the second host in order for the receiving process to write the data to the storage device, wherein the sending process sends data to the receiving process at a specified variable data transfer rate x(t) at any time t, and wherein the receiving process stores data received in a ring buffer before writing it to the storage device; executing a storage rate controller incorporated into the receiving process, to;
1) measure the current occupancy of the ring buffer,
2) calculate an updated data transfer rate x′
(t) as a function of the current data transfer rate x(t), the measured current occupancy, and a specified target occupancy value, and
3) communicate the updated data transfer rate to the sending process; and
,adjusting the data transfer rate x(t) to the updated data transfer rate x′
(t). - View Dependent Claims (19, 20)
-
Specification