Methods and apparatus for path selection within a network based on flow duration
First Claim
1. An apparatus, comprising:
- a switching device including a memory and a processor operatively coupled to the memory, the processor configured to execute a flow module; and
the flow module configured to determine that a data flow identifier included in a data packet does not match an entry in a flow cache,the flow module configured to determine, in response to the determination that the data flow identifier included in the data packet does not match an entry in the flow cache, that a first hash value based on a header portion of the data packet matches an entry in a first hash table,the flow module configured to calculate, in response to the determination that the first hash value based on the header portion of the data packet matches an entry in the first hash table, a second hash value based on that header portion of the data packet,the flow module configured to increment a data flow counter that is in the first hash table and that is associated with a first data flow when the second hash value matches an entry in a second hash table,the flow module configured to define an entry and a data flow counter in the second hash table and that are both associated with a second data flow when the second hash value does not match an entry in the second hash table.
1 Assignment
0 Petitions
Accused Products
Abstract
In some embodiments, an apparatus includes a forwarding module that is configured to receive a group of first data packets. The forwarding module is configured to modify a data flow value in response to receiving each first data packet. The forwarding module is also configured to store each first data packet in a first output queue based on the data flow value not crossing a data flow threshold after being modified. Furthermore, the forwarding module is configured to receive a second data packet. The forwarding module is configured to modify the data flow value in response to receiving the second data packet, such that the data flow value crosses the data flow threshold. The forwarding module is configured to store the second data packet in a second output queue based on the data flow value having crossed the data flow threshold.
144 Citations
20 Claims
-
1. An apparatus, comprising:
-
a switching device including a memory and a processor operatively coupled to the memory, the processor configured to execute a flow module; and the flow module configured to determine that a data flow identifier included in a data packet does not match an entry in a flow cache, the flow module configured to determine, in response to the determination that the data flow identifier included in the data packet does not match an entry in the flow cache, that a first hash value based on a header portion of the data packet matches an entry in a first hash table, the flow module configured to calculate, in response to the determination that the first hash value based on the header portion of the data packet matches an entry in the first hash table, a second hash value based on that header portion of the data packet, the flow module configured to increment a data flow counter that is in the first hash table and that is associated with a first data flow when the second hash value matches an entry in a second hash table, the flow module configured to define an entry and a data flow counter in the second hash table and that are both associated with a second data flow when the second hash value does not match an entry in the second hash table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15)
-
-
9. A method, comprising:
-
determining that a data flow identifier included in a data packet does not match an entry in a flow cache, determining, in response to the determination that the data flow identifier included in the data packet does not match an entry in the flow cache, that a first hash value based on a header portion of the data packet matches an entry in a first hash table, calculating, in response to the determination that the first hash value based on the header portion of the data packet matches an entry in the first hash table, a second hash value based on that header portion of the data packet, incrementing a data flow counter that is in the first hash table and that is associated with a first data flow when the second hash value matches an entry in a second hash table, defining an entry as well as a data flow counter in the second hash table and that are both associated with a second data flow when the second hash value does not match an entry in the second hash table.
-
-
16. A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:
-
determine that a data flow identifier included in a data packet does not match an entry that is associated with a data flow in a flow cache; and when, based on the determination that the data flow identifier included in the data packet does not match an entry that is associated with the data flow in the flow cache, a first hash value based on a header portion of the data packet does not match an entry in a first hash table; define an entry in the first hash table that is associated with the data flow; define a data flow counter in the first hash table that is associated with the data flow; define an entry in a second hash table that is associated with the data flow; and increment the data flow counter in the first hash table. - View Dependent Claims (17, 18, 19, 20)
-
Specification