IP Library Granted Patent US 9,843,515
Granted Patent B2
US 9,843,515 · App. 15/159,567 · Granted Dec 12, 2017

Distributed methodology for peer-to-peer transmission of stateful packet flows

Inventors: Robert Bays (San Francisco, CA); Mike Larson (San Francisco, CA); Stephen Hemminger (Beaverton, OR)
Assignee: AT&T Intellectual Property I, L.P.
H04L45/74H04L45/302H04L47/2441H04L67/104
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 9,843,515
App. No.
15/159,567
Granted
Dec 12, 2017
Kind
B2
Abstract

Techniques for enabling peer-to-peer transmission of stateful packet flows in a network environment are provided. In certain embodiments, a computer system receives a packet belonging to a stateful flow, accesses flow associating information (e.g., network address) from the packet, determines a computer system comprising a state analysis owner for the stateful flow, using the flow associating information, and transmits the first packet to the second computer system.

Claims (74)

1. A method comprising:

receiving, by a computer system, a packet belonging to a stateful flow;

accessing, by the computer system, flow associating information from the packet, the flow associating information comprising a source network address and a destination network address;

determining, by the computer system, a source host computer system using the source network address and a destination host computer system using the destination network address;

selecting, by the computer system, from among the source host computer system and the destination host computer system, the host computer system with a lower network address as a state analysis owner for the stateful flow; and

transmitting, by the computer system, the packet to the selected host computer system.

2. The method of claim 1 , wherein the flow associating information further comprises one or more of session ID or query subset for the packet belonging to the stateful flow.

3. The method of claim 1 , wherein the state analysis owner for the stateful flow performs run-to-completion state processing on the packet.

4. The method of claim 1 , wherein the state analysis owner for the stateful flow performs routing functions for the packet.

5. The method of claim 1 , wherein the stateful flow comprises a sequence of packets, wherein processing of a past packet affects the processing or transmission of the packet or a future packet.

6. The method of claim 1 , wherein the stateful flow comprises one of firewall traffic, network address translation (NAT) traffic, or application layer classification for Quality of Service (QoS).

7. A non-transitory computer readable medium having stored thereon program code executable by a processor, the program code comprising:

code that causes the processor to receive a packet belonging to a stateful flow;

code that causes the processor to access flow associating information from the packet, the flow associating information comprising a source network address and a destination network address for the packet;

code that causes the processor to determine that only one of the source network address and the destination network address is resolvable to a host computer system;

code that causes the processor to select the host computer system as a state analysis owner for the stateful flow; and

code that causes the processor to transmit the packet to the selected host computer system.

8. The non-transitory computer readable medium of claim 7 , wherein the flow associating information further comprises one or more of session ID or query subset for the packet belonging to the stateful flow.

9. The non-transitory computer readable medium of claim 7 , wherein the state analysis owner for the stateful flow performs run-to-completion state processing on the packet.

10. The non-transitory computer readable medium of claim 7 , wherein the state analysis owner for the stateful flow performs routing functions for the packet.

11. The non-transitory computer readable medium of claim 7 , wherein the stateful flow comprises a sequence of packets, wherein processing of a past packet affects the processing or transmission of the packet or a future packet.

12. The non-transitory computer readable medium of claim 7 , wherein the stateful flow comprises one of firewall traffic, network address translation (NAT) traffic, or application layer classification for Quality of Service (QoS).

13. A computer system comprising:

a processor; and

a non-transitory computer readable medium having stored thereon executable program code which, when executed by the processor, causes the processor to:

receive a packet belonging to a stateful flow;

access flow associating information from the packet, the flow associating information comprising a source network address and a destination network address;

determine a source host computer system using the source network address and a destination host computer system using the destination network address;

select, from among the source host computer system and the destination host computer system, the host computer system with a higher network address as a state analysis owner for the stateful flow; and

transmit the packet to the selected host computer system.

14. The computer system of claim 13 , wherein the flow associating information further comprises one or more of session ID or query subset for the packet belonging to the stateful flow.

15. The computer system of claim 13 , wherein the state analysis owner for the stateful flow is further configured to perform run-to-completion state processing on the packet.

16. The computer system of claim 13 , wherein the stateful flow comprises a sequence of packets, wherein processing of a past packet affects the processing or transmission of the packet or a future packet.

17. The computer system of claim 13 , wherein the stateful flow comprises one of firewall traffic, network address translation (NAT) traffic, or application layer classification for Quality of Service (QoS).

18. A method comprising:

receiving, by a computer system, a packet belonging to a stateful flow;

accessing, by the computer system, flow associating information from the packet, the flow associating information comprising a source network address and a destination network address;

determining, by the computer system, a source host computer system using the source network address and a destination host computer system using the destination network address;

selecting, by the computer system, from among the source host computer system and the destination host computer system, the host computer system with a higher network address as a state analysis owner for the stateful flow; and

transmitting, by the computer system, the packet to the selected host computer system.

19. The method of claim 18 , wherein the state analysis owner for the stateful flow performs one or more of run-to-completion state processing on the packet or routing functions for the packet.

20. The method of claim 18 , wherein the stateful flow comprises a sequence of packets, wherein processing of a past packet affects the processing or transmission of the packet or a future packet.

21. The method of claim 18 , wherein the stateful flow comprises one of firewall traffic, network address translation (NAT) traffic, or application layer classification for Quality of Service (QoS).

22. A method comprising:

receiving, by a computer system, a packet belonging to a stateful flow;

accessing, by the computer system, flow associating information from the packet, the flow associating information comprising a source network address and a destination network address;

determining, by the computer system, that only one of the source network address and the destination network address is resolvable to a host computer system;

selecting, by the computer system, the host computer system with the resolvable network address as a state analysis owner for the stateful flow; and

transmitting, by the computer system, the packet to the selected host computer system.

23. The method of claim 22 , wherein the state analysis owner for the stateful flow performs one or more of run-to-completion state processing on the packet or routing functions for the packet.

24. The method of claim 22 , wherein the stateful flow comprises a sequence of packets, wherein processing of a past packet affects the processing or transmission of the packet or a future packet.

25. The method of claim 22 , wherein the stateful flow comprises one of firewall traffic, network address translation (NAT) traffic, or application layer classification for Quality of Service (QoS).

26. A computer system comprising:

a processor; and

a non-transitory computer readable medium having stored thereon executable program code which, when executed by the processor, causes the processor to:

receive a packet belonging to a stateful flow;

access flow associating information from the packet, the flow associating information comprising a source network address and a destination network address;

determine a source host computer system using the source network address and a destination host computer system using the destination network address;

select from among the source host computer system and the destination host computer system, the host computer system with a lower network address as a state analysis owner for the stateful flow; and

transmit the packet to the selected host computer system.

27. The computer system of claim 26 , wherein the state analysis owner for the stateful flow performs one or more of run-to-completion state processing on the packet or routing functions for the packet.

28. The computer system of claim 26 , wherein the stateful flow comprises a sequence of packets, wherein processing of a past packet affects the processing or transmission of the packet or a future packet.

29. The computer system of claim 26 , wherein the stateful flow comprises one of firewall traffic, network address translation (NAT) traffic, or application layer classification for Quality of Service (QoS).

30. A computer system comprising:

a processor; and

a non-transitory computer readable medium having stored thereon executable program code which, when executed by the processor, causes the processor to:

receive a packet belonging to a stateful flow;

access flow associating information from the packet, the flow associating information comprising a source network address and a destination network address;

determine that only one of the source network address and the destination network address is resolvable to a host computer system;

select the host computer system with the resolvable network address as a state analysis owner for the stateful flow; and

transmit the packet to the selected host computer system.

31. The computer system of claim 30 , wherein the state analysis owner for the stateful flow performs one or more of run-to-completion state processing on the packet or routing functions for the packet.

32. The computer system of claim 30 , wherein the stateful flow comprises a sequence of packets, wherein processing of a past packet affects the processing or transmission of the packet or a future packet.

33. The computer system of claim 30 , wherein the stateful flow comprises one of firewall traffic, network address translation (NAT) traffic, or application layer classification for Quality of Service (QoS).

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2021
From: AT&T INTELLECTUAL PROPERTY I, LP
To: CIENA CORPORATION
Reel/Frame 058088/0833 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2017
From: BAYS, ROBERT; LARSON, MIKE; HEMMINGER, STEPHEN
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 044249/0142 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 043248/0750 →
Continuity (3)
Continuation 14262694 · Apr 25, 2014
Provisional Application 61816571 · Apr 26, 2013
Related Publication 20170126560A1 · May 4, 2017