IP Library Granted Patent US 8,296,410
Granted Patent B1
US 8,296,410 · App. 12/614,174 · Granted Oct 23, 2012

Bandwidth management in a client/server environment

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,296,410
App. No.
12/614,174
Granted
Oct 23, 2012
Kind
B1
Abstract

A method of managing bandwidth usage among a plurality of client devices is provided. A request is received at a first device from a second device. The request is to transfer a file between the first device and the second device and includes an identifier of the second device. A client group associated with the second device is determined based on the identifier and used to select a bandwidth usage policy. A data transfer rate for transferring the file between the first device and the second device is determined based on the selected bandwidth usage policy and a bandwidth usage at the first device associated with a plurality of devices. A number of bytes to transfer is determined based on the determined data transfer rate and a time period. A response, which includes the determined number of bytes and the time period, is sent to the second device.

Claims (39)

1. A device comprising:

a processor;

a communication interface operably coupled to the processor and configured to receive a request from a second device, the request including an indication to transfer a file between the device and the second device and an identifier of the second device; and to send a response to the second device; and

a computer-readable medium operably coupled to the processor, the computer-readable medium comprising instructions that if executed by the processor cause the device to

determine a client group associated with the second device based on the identifier of the second device;

select a bandwidth usage policy based on the determined client group;

determine a data transfer rate for transferring the file between the device and the second device based on the selected bandwidth usage policy, a bandwidth usage at the device associated with a plurality of devices, and a storage memory usage of less than a predetermined amount at the device by the second device; and

determine a number of bytes to transfer between the device and the second device during a next bandwidth interval based on the determined data transfer rate and a duration of the next bandwidth interval;

wherein the response includes the determined number of bytes to transfer during the next bandwidth interval and the duration of the next bandwidth interval.

2. A computer-readable storage device comprising computer-readable instructions stored thereon that if executed by a processor, cause a computing device to:

receive a request from a second device, the request including an indication to transfer a file between the computing device and the second device and an identifier of the second device;

determine a client group associated with the second device based on the identifier of the second device;

select a bandwidth usage policy based on the determined client group;

determine a data transfer rate for transferring the file between the computing device and the second device based on the selected bandwidth usage policy, a bandwidth usage at the computing device associated with a plurality of devices, and a storage memory usage of less than a predetermined amount at the computing device by the second device;

determine a number of bytes to transfer between the computing device and the second device during a next bandwidth interval based on the determined data transfer rate and a duration of the next bandwidth interval; and

send a response to the second device, the response including the determined number of bytes to transfer during the next bandwidth interval and the duration of the next bandwidth interval.

3. A method of managing bandwidth usage among a plurality of client devices, the method comprising:

receiving a request at a first device from a second device, the request including an indication to transfer a file between the first device and the second device and an identifier of the second device;

determining, by the first device, a client group associated with the second device based on the identifier of the second device;

selecting, by the first device, a bandwidth usage policy based on the determined client group;

determining, by the first device, a data transfer rate for transferring the file between the first device and the second device based on the selected bandwidth usage policy, a bandwidth usage at the first device associated with a plurality of devices, and a storage memory usage of less than a predetermined amount at the first device by the second device;

determining, by the first device, a number of bytes to transfer between the first device and the second device during a next bandwidth interval based on the determined data transfer rate and a duration of the next bandwidth interval; and

sending a response to the second device from the first device, the response including the determined number of bytes to transfer during the next bandwidth interval and the duration of the next bandwidth interval.

4. The method of claim 3 , wherein the bandwidth usage policy includes a plurality of settings associated with the client group.

5. The method of claim 4 , wherein the plurality of settings include a download rate and an upload rate.

6. The method of claim 4 , wherein the plurality of settings include a short-term time interval transfer rate and a long-term time interval transfer rate, the short-term time interval shorter than the long-term time interval.

7. The method of claim 4 , wherein the plurality of settings include a maximum rate and a guaranteed rate.

8. The method of claim 7 , wherein the method is repeated with each of the plurality of devices as the second device.

9. The method of claim 8 , wherein the determined data transfer rate is the maximum rate for each of the plurality of devices if there is sufficient bandwidth available.

10. The method of claim 8 , wherein the determined data transfer rate is a percentage of the guaranteed rate if there is insufficient bandwidth available, wherein the percentage is less than 100%.

11. The method of claim 8 , wherein the determined data transfer rate exceeds the guaranteed rate for each of the plurality of devices if there is sufficient bandwidth available.

12. The method of claim 11 , wherein the bandwidth usage policy further applies a criterion to determine how much the determined data transfer rate exceeds the guaranteed rate.

13. The method of claim 12 , wherein the criterion includes a consideration of whether the request to transfer the file is to download the file from the first device or to upload the file to the first device.

14. The method of claim 12 , wherein the criterion includes a consideration of a type of the file.

15. The method of claim 12 , wherein the criterion includes a consideration of a credit associated with the second device earned through usage characteristics.

16. The method of claim 15 , wherein the credit is based on a past low-bandwidth usage during a previous bandwidth interval by the second device.

17. The method of claim 3 , wherein the determined number of bytes to transfer during the next bandwidth interval is a percentage of a previously determined number of bytes to transfer during the prior bandwidth interval if there is sufficient bandwidth available and the second device transferred the previously determined number of bytes during the prior bandwidth interval, wherein the percentage is greater than 100%.

18. The method of claim 3 , wherein the determined number of bytes to transfer during the next bandwidth interval is a percentage of a previously determined number of bytes to transfer during the prior bandwidth interval if the second device did not transfer the previously determined number of bytes during the prior bandwidth interval, wherein the percentage is less than 100%.

19. The method of claim 3 , wherein the bandwidth usage policy may change automatically based on satisfaction of a criterion.

Assignments (7)
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Oct 12, 2023
From: CARBONITE, LLC
To: OPEN TEXT INC.
Reel/Frame 065222/0310 →
CERTIFICATE OF CONVERSION Recorded Oct 12, 2023
From: CARBONITE, INC.
To: CARBONITE, LLC
Reel/Frame 065222/0303 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS RECORDED AT R/F 048723/0374 Recorded Dec 26, 2019
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: CARBONITE, INC.
Reel/Frame 051418/0807 →
SECURITY INTEREST Recorded Mar 28, 2019
From: CARBONITE, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 048723/0374 →
TERMINATION OF PATENT SECURITY AGREEMENT FILED AT R/F 045640/0335 Recorded Mar 26, 2019
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: CARBONITE, INC.
Reel/Frame 048702/0929 →
SECURITY INTEREST Recorded Mar 19, 2018
From: CARBONITE, INC.
To: SILICON VALLEY BANK
Reel/Frame 045640/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2010
From: MYHILL, ROBERT; FLOWERS, JEFF C.
To: CARBONITE, INC.
Reel/Frame 023798/0245 →