Equal-opportunity bandwidth regulation
First Claim
Patent Images
1. A method comprising:
- receiving, by a computing device, data from one or more transmitting entities, wherein the data comprises multiple data packets; and
transmitting, by the computing device, the data across a bus to a target entity by dynamically regulating data transmission bandwidth for a transmitting entity on the bus such that each data transmitting entity of the one or more transmitting entities has a substantially equal opportunity to transmit data associated with the data transmitting entity,wherein dynamically regulating the bandwidth includes;
determining, for a given time period, that the bus will not accommodate every one of the multiple data packets;
calculating a quantum bandwidth value based on a byte size of each data packet and a total number of the one or more transmitting entities; and
for each of the one or more transmitting entities, filling an output buffer with a number of data packet(s) associated with the transmitting entity based on the quantum bandwidth value.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for equal opportunity bandwidth regulation are described. In one aspect, data is received from a transmitting entity of one or more transmitting entities. Responsive to receiving the data, the data is transmitted across a bus to a target entity. This transmission is accomplished by dynamically regulating data transmission bandwidth on the bus such that each data transmitting entity of the transmitting entities has a substantially equal opportunity to have bus bandwidth allocated to transmit data associated with the data transmitting entity.
-
Citations
35 Claims
-
1. A method comprising:
-
receiving, by a computing device, data from one or more transmitting entities, wherein the data comprises multiple data packets; and transmitting, by the computing device, the data across a bus to a target entity by dynamically regulating data transmission bandwidth for a transmitting entity on the bus such that each data transmitting entity of the one or more transmitting entities has a substantially equal opportunity to transmit data associated with the data transmitting entity, wherein dynamically regulating the bandwidth includes; determining, for a given time period, that the bus will not accommodate every one of the multiple data packets; calculating a quantum bandwidth value based on a byte size of each data packet and a total number of the one or more transmitting entities; and for each of the one or more transmitting entities, filling an output buffer with a number of data packet(s) associated with the transmitting entity based on the quantum bandwidth value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-readable medium that stores computer-program instructions that, when executed on a computer, perform the following steps:
-
receiving data from one or more transmitting entities, wherein the data comprises multiple data packets; and transmitting the data across a bus to a target entity by dynamically regulating data transmission bandwidth for a transmitting entity on the bus such that each data transmitting entity of the one or more transmitting entities has a substantially equal opportunity to transmit data associated with the data transmitting entity, wherein dynamically regulating the bandwidth includes; determining, for a given time period, that the bus will not accommodate every one of the multiple data packets; calculating a quantum bandwidth value based on a byte size of each data packet and a total number of the one or more transmitting entities; and for each of the one or more transmitting entities, filling an output buffer with a number of data packet(s) associated with the transmitting entity based on the quantum bandwidth value. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A computing device comprising:
-
a processor; and a memory coupled to the processor, the memory storing computer-program instructions that, when executed on the computing device, perform the following steps; receiving data from one or more transmitting entities, wherein the data comprises multiple data packets; and transmitting the data across a bus to a target entity by dynamically regulating data transmission bandwidth for a transmitting entity on the bus such that each data transmitting entity of the one or more transmitting entities has a substantially equal opportunity to transmit data associated with the data transmitting entity, wherein dynamically regulating the bandwidth includes; determining, for a given time period, that the bus will not accommodate every one of the multiple data packets; calculating a quantum bandwidth value based on a byte size of each data packet and a total number of the one or more transmitting entities; and for each of the one or more transmitting entities, filling an output buffer with a number of data packet(s) associated with the transmitting entity based on the quantum bandwidth value. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A computing device comprising:
-
receiving means to receive data from a transmitting entity of one or more transmitting entities, wherein the data comprises multiple data packets; and transmitting means to transmit the data across a bus to a target entity, the transmitting comprising; dynamically regulating means to dynamically regulate data transmission bandwidth for assignment to a transmitting entity such that each data transmitting entity of the one or more transmitting entities has a substantially equal opportunity to have bus bandwidth allocated to transmit data associated with the data transmitting entity, wherein the dynamically regulating means includes; determining means to determine, for a fixed time period, that the bus will not accommodate every one of the multiple data packets; calculating means to calculate a quantum bandwidth value based on a byte size of all data packet(s) submitted by the one or more transmitting entities and a total number of the one or more transmitting entities; and for each of the one or more transmitting entities, sequentially filling means to fill an output buffer with a number of data packet(s) bytes associated with the transmitting entity based on the quantum bandwidth value. - View Dependent Claims (34, 35)
-
Specification