Apparatus for ethernet traffic aggregation of radio links
First Claim
1. An aggregating radio device comprising:
- a plurality of queues, wherein each queue of the plurality of queues corresponds to a different receiving device of a plurality of receiving devices, wherein each receiving device of the plurality of receiving devices receives data from a different transmitting device of a plurality of transmitting devices;
wherein each device in the plurality of receiving devices is different than each device in the plurality of transmitting devices;
a first determiner that determines whether each queue of the plurality of queues contains at least one data packet and none of the data packets in the plurality of queues indicates an expected next sequence number;
a dequeuer which, in response to a determination by the first determiner that each queue of the plurality of queues contains at least one data packet and none of the data packets in the plurality of queues indicates the expected next sequence number, removes, from one queue of the plurality of queues, a particular data packet that contains a particular sequence number that is closest to the expected next sequence number among sequence numbers that are indicated by data packets in the plurality of queues;
a processor that processes the particular data packet; and
a sender that sends at least a portion of the particular data packet toward a destination that is indicated within the particular data packet.
6 Assignments
0 Petitions
Accused Products
Abstract
A multi-radio device system includes a set of sending radio devices and a set of receiving radio devices. Among the sending radio devices is a load-balancing radio device that receives data packets from an originating network. The load-balancing radio device labels data packets with sequence numbers and distributes the labeled data packets among the sending radio devices based on the relative capacities and statuses of those sending radio devices. The sending radio devices transmit the labeled data packets to the receiving radio devices. The receiving radio devices send the labeled data packets to an aggregating radio device within the set of receiving radio devices. The aggregating radio device uses the sequence numbers to ensure that the data packets are forwarded to a destination network in the correct order, extracting original data packets from the labeled data packets before forwarding the original data packets on toward the destination network.
109 Citations
20 Claims
-
1. An aggregating radio device comprising:
-
a plurality of queues, wherein each queue of the plurality of queues corresponds to a different receiving device of a plurality of receiving devices, wherein each receiving device of the plurality of receiving devices receives data from a different transmitting device of a plurality of transmitting devices; wherein each device in the plurality of receiving devices is different than each device in the plurality of transmitting devices; a first determiner that determines whether each queue of the plurality of queues contains at least one data packet and none of the data packets in the plurality of queues indicates an expected next sequence number; a dequeuer which, in response to a determination by the first determiner that each queue of the plurality of queues contains at least one data packet and none of the data packets in the plurality of queues indicates the expected next sequence number, removes, from one queue of the plurality of queues, a particular data packet that contains a particular sequence number that is closest to the expected next sequence number among sequence numbers that are indicated by data packets in the plurality of queues; a processor that processes the particular data packet; and a sender that sends at least a portion of the particular data packet toward a destination that is indicated within the particular data packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
determining whether each queue of a plurality of queues, within an aggregating device, contains at least one data packet and whether none of the data packets in any of the plurality of queues indicates an expected next sequence number; in response to determining that each queue of the plurality of queues contains at least one data packet and that none of the data packets in any of the plurality of queues indicates the expected next sequence number, removing, from a particular queue of the plurality of queues, a particular data packet that contains a particular sequence number that is closest to the expected next sequence number among sequence numbers that are indicated by data packets in the plurality of queues; processing the particular data packet; and sending, at least a portion of the particular data packet toward a destination that is indicated within the particular data packet; wherein the method is performed by one or more computing devices. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A multi-radio communication system comprising:
-
a load-balancing device that receives a plurality of data packets and associates, with each data packet of the plurality of data packets, a sequence number; a plurality of transmitting radio devices, each of which receives a different set of data packets from the load-balancing device; a plurality of receiving radio devices, each of which receives the different set of data packets from a transmitting radio device of the plurality of transmitting radio devices; an aggregating device that (1) receives the different set of data packets from each receiving radio device of the plurality of receiving radio devices and (2) contains a plurality of queues, wherein each queue of the plurality of queues corresponds to a different receiving radio device of the plurality of receiving radio devices; wherein the aggregating device is configured to determine whether all of the plurality of queues contain at least one data packet and none of the data packets in any of the plurality of queues indicates an expected next sequence number; wherein the aggregating device is configured to remove, from a particular queue of the plurality of queues, a particular data packet that contains a particular sequence number that is closest to the expected next sequence number among sequence numbers that are indicated by data packets in the plurality of queues in response to determining that all of the plurality of queues contain at least one data packet and that none of the data packets in any of the plurality of queues indicates the expected next sequence number.
-
Specification