# US 2019/0173787 A1 · Distributed methodology for peer-to-peer transmission of stateful packet flows

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0173787 A1
- Document ID: US20190173787A1
- Status: Published application
- Kind: A1
- Application number: 16/271,307
- Filed: 2019-02-08
- Published: 2019-06-06
- Earliest claimed: 2013-04-26
- Assignees: AT&T Intellectual Property I, L. P.
- Applicants: AT&T Intellectual Property I, L. P.
- Inventors: Robert Bays; Mike Larson; Stephen Hemminger
- Web page: https://patentgrep.com/patent/US20190173787A1

## CPC

- H04L 67/104: Peer-to-peer [P2P] networks
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- H04L 45/302: Route determination based on requested QoS
- H04L 45/586: of virtual routers
- H04L 45/74: Address processing for routing
- H04L 47/10: Flow control; Congestion control
- H04L 47/2441: relying on flow classification, e.g. using integrated services [IntServ]
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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, determines a query subset from a plurality of query subsets based on information from the packet, determines a first forwarding plane from a plurality of forwarding planes as an owner of the query subset, sends the packet to the first forwarding plane that owns the query subset, receives from the first forwarding plane information indicating that a second forwarding plane from the plurality of forwarding planes is a state analysis owner for the packet, and transmits the packet to the second forwarding plane. Examples of stateful flow include firewall traffic, network address translation traffic, or application layer classification for Quality of Service. In certain embodiments, the state analysis owner for the stateful flow may perform routing functions for the packet.

## Claims

### Claim 1

A method comprising:
receiving, by a computer system, a packet belonging to a stateful flow between a virtual machine and a second virtual machine;
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;
performing one of: (i) responsive to determining, by the computer system and using the source network address, that a source host is unknown, selecting a destination host as a state analysis owner for the stateful flow, or (ii) responsive to determining, by the computer system and using the destination network address that the destination host is unknown, selecting the source host as the state analysis owner for the stateful flow; and
transmitting, by the computer system, the packet to the state analysis owner.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 1)

The method of claim 1, wherein the state analysis owner performs routing functions for packets between the virtual machine and the second virtual machine.

### Claim 4 (depends on 1)

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

### Claim 5 (depends on 1)

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

### Claim 6 (depends on 1)

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).

### Claim 7 (depends on 1)

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.

### Claim 8

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 perform operations comprising:
receiving a packet belonging to a stateful flow between a virtual machine and a second virtual machine;
accessing flow associating information from the packet, the flow associating information comprising a source network address and a destination network address;
performing one of: (i) responsive to determining, using the source network address, that a source host is unknown, select a destination host as a state analysis owner for the stateful flow, or (ii) responsive to determining, using the destination network address that the destination host is unknown, select the source host as the state analysis owner for the stateful flow; and
transmitting the packet to the state analysis owner.

### Claim 9 (depends on 8)

The computer system of claim 8, wherein the state analysis owner performs run-to-completion state processing on the packet.

### Claim 10 (depends on 8)

The computer system of claim 8, wherein the state analysis owner performs routing functions for packets between the virtual machine and the second virtual machine.

### Claim 11 (depends on 8)

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

### Claim 12 (depends on 8)

The computer system of claim 8, wherein the state analysis owner performs routing functions for the packet.

### Claim 13 (depends on 8)

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

### Claim 14 (depends on 8)

, The computer system of claim 8, 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.

### Claim 15

A non-transitory computer readable medium having stored thereon program code that, when executed by a processor, cause the processor to perform operations comprising:
receiving a packet belonging to a stateful flow between a virtual machine and a second virtual machine;
accessing flow associating information from the packet, the flow associating information comprising a source network address and a destination network address;
performing one of: (i) responsive to determining, using the source network address, that a source host is unknown, selecting a destination host as a state analysis owner for the stateful flow, or (ii) responsive to determining, using the destination network address that the destination host is unknown, selecting the source host as the state analysis owner for the stateful flow; and
transmitting the packet to the state analysis owner.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the state analysis owner performs run-to-completion state processing on the packet.

### Claim 17 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the operations further comprise causing the state analysis owner to perform routing functions for packets between the virtual machine and the second virtual machine.

### Claim 18 (depends on 15)

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

### Claim 19 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the operations further comprise causing the state analysis owner to perform routing functions for the packet.

### Claim 20 (depends on 15)

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