Dynamic network traffic throttling
US-9276864-B1 · Mar 1, 2016 · US
US11799760B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11799760-B2 |
| Application number | US-202117301364-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 31, 2021 |
| Priority date | Mar 7, 2017 |
| Publication date | Oct 24, 2023 |
| Grant date | Oct 24, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method and apparatus for routing a plurality of session packets across a network toward a destination modifies each packet to include a sequence number that is different from the sequence number of other packets in the plurality of packets. Accordingly, at this point, each of the plurality of packets is transformed into a corresponding plurality of processed packets. The method also duplicates the plurality of processed packets to produce a corresponding plurality of duplicated packets. Next, the method forwards the plurality of processed packets toward the destination using a first stateful path through the network, and correspondingly forwards the plurality of duplicated packets toward the destination using a second stateful path through the network. In preferred embodiments, the first stateful path is different from the second stateful path. For example, the two paths may be entirely distinct in that they share no common intermediary elements.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving, by a network device, a first packet of a first plurality of packets associated with a first session; determining, by the network device and based on a session identifier of the first packet, a session associated with the first plurality of packets; determining, by the network device and based on the session associated with the first plurality of packets, a first network path and a second network path, wherein the first network path is different from the second network path; modifying, by the network device, the first packet and each subsequent packet of the first plurality of packets to include first metadata comprising a corresponding sequence number of a first plurality of sequence numbers for the first plurality of packets, each sequence number of the first plurality of sequence numbers being different from each other sequence number of the first plurality of sequence numbers; duplicating the modified first plurality of packets to form a second plurality of packets; forwarding, by the network device, the first packet and each subsequent packet of the first plurality of packets along the first network path; and forwarding, by the network device, each packet of the second plurality of packets along the second network path. 2. The method of claim 1 , wherein the network device comprises a first network device, and wherein the session identifier comprises a network address and a port number of a second network device from which the first network device received the first plurality of packets. 3. A method comprising: receiving, by a network device, a first packet of a first plurality of packets associated with a first session; determining, based on a source address and a source port of the first packet, a session associated with the first plurality of packets; determining, by the network device and based on the session associated with the first plurality of packets, a first network path and a second network path, wherein the first network path is different from the second network path; modifying, by the network device, the first packet and each subsequent packet of the first plurality of packets to include first metadata comprising a corresponding sequence number of a first plurality of sequence numbers for the first plurality of packets, each sequence number of the first plurality of sequence numbers being different from each other sequence number of the first plurality of sequence numbers; generating, by the network device and based on the session associated with the first plurality of packets, a session identifier for the session; modifying at least the first packet of the first plurality of packets to include second metadata comprising the session identifier for the session; duplicating the modified first plurality of packets to form a second plurality of packets; forwarding, by the network device, the first packet and each subsequent packet of the first plurality of packets along the first network path; and forwarding, by the network device, each packet of the second plurality of packets along the second network path. 4. The method of claim 3 , wherein the second metadata further comprises a network address of the network device. 5. The method of claim 1 , wherein the first packet and each subsequent packet of the first plurality of packets comprises an initial checksum, and wherein the method further comprises: after modifying the first packet and each subsequent packet of the first plurality of packets to include the first metadata, computing a new checksum for the first packet and each subsequent packet of the first plurality of packets; and replacing the initial checksum of the first packet and each subsequent packet of the first plurality of packets with the new checksum for the first packet and each subsequent packet of the first plurality of packets. 6. The method of claim 1 , wherein the method further comprises modifying, by the network device, each packet of the first plurality of packets to include second metadata specifying a network address of the network device and a port number of the network device with which the network device is to forward the first plurality of packets. 7. The method of claim 1 , wherein the first network path comprises a first stateful, bidirectional network path, and wherein the second network path comprises a second stateful, bidirectional network path. 8. The method of claim 1 , wherein the first network path comprises a first plurality of network devices, and wherein the second network path comprises a second plurality of network devices, wherein each network device of the first plurality of network devices is different from each network device of the second plurality of network devices. 9. A network device comprising processing circuitry configured to: receive a first packet of a first plurality of packets associated with a first session; determine, based on a session identifier of the first packet, a session associated with the first plurality of packets; determine, based on the session associated with the first plurality of packets, a first network path and a second network path, wherein the first network path is different from the second network path; modify the first packet and each subsequent packet of the first plurality of packets to include first metadata comprising a corresponding sequence number of a first plurality of sequence numbers for the first plurality of packets, each sequence number of the first plurality of sequence numbers being different from each other sequence number of the first plurality of sequence numbers; duplicate the modified first plurality of packets to form a second plurality of packets; forward the first packet and each subsequent packet of the first plurality of packets along the first network path; and forward each packet of the second plurality of packets along the second network path. 10. The network device of claim 9 , wherein the network device comprises a first network device, and wherein the session identifier comprises a network address and a port number of a second network device from which the first network device received the first plurality of packets. 11. A network device comprising processing circuitry configured to: receive a first packet of a first plurality of packets associated with a first session; determine, based on a source address and a source port of the first packet, the session associated with the first plurality of packets; determine, based on the session associated with the first plurality of packets, a first network path and a second network path, wherein the first network path is different from the second network path; modify the first packet and each subsequent packet of the first plurality of packets to include first metadata comprising a corresponding sequence number of a first plurality of sequence numbers for the first plurality of packets, each sequence number of the first plurality of sequence numbers being different from each other sequence number of the first plurality of sequence numbers; generate, based on the session associated with the first plurality of packets, a session identifier for the session; modify at least the first packet of the first plurality of packets to include second metadata comprising the session identifier for the session; duplicate the modified first plurality of packets to form a second plurality of packets; forward the first packet and each subsequent packet of the first plurality of packets along the first network path; and forward each packet of the second plurality of packets along the second network path. 12. The
Related publications grouped by family.
Answers are generated from the same data shown on this page.