# US 12,015,552 B2 · Layer-2 networking information in a virtualized cloud environment

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

- Number: US 12,015,552 B2
- Document ID: US12015552B2
- Status: Granted
- Kind: B2
- Application number: 17/494,722
- Filed: 2021-10-05
- Published: 2022-06-30
- Granted: 2024-06-18
- Earliest claimed: 2020-12-30
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Jagwinder Singh Brar; Lucas Michael Kreger-Stickles; Bryce Eugene Bockman; Peter Croft Jones; Shane Baker
- Web page: https://patentgrep.com/patent/US12015552B2

## CPC

- H04L 45/586: of virtual routers
- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- H04L 12/1886: {with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains}
- H04L 12/46: Interconnection of networks
- H04L 12/4633: {Interconnection of networks using encapsulation techniques, e.g. tunneling}
- H04L 12/4641: {Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272)}
- H04L 12/4675: {Dynamic sharing of VLAN information amongst network nodes (configuration of the network or of network elements H04L41/08)}
- H04L 45/04: {Interdomain routing, e.g. hierarchical routing}
- H04L 45/16: Multipoint routing
- H04L 45/64: using an overlay routing layer
- H04L 45/66: {Layer 2 routing, e.g. in Ethernet based MAN's}
- H04L 47/12: Avoiding congestion; Recovering from congestion
- H04L 47/2483: involving identification of individual flows
- H04L 49/70: {Virtual switches}
- H04L 61/103: across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
- H04L 61/2517: using port numbers
- H04L 63/101: {Access control lists [ACL]}
- H04L 69/22: Parsing or analysis of headers
- H04L 69/324: in the data link layer [OSI layer 2], e.g. HDLC
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- H04L 45/52: Multiprotocol routers
- H04L 45/56: {Routing software}
- H04L 61/58: Caching of addresses or names
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 2101/622: Layer-2 addresses, e.g. medium access control [MAC] addresses
- 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 are described for communications in an L2 virtual network of a customer. In an example, the L2 virtual network includes a plurality of L2 compute instances hosted on a set of host machines and a plurality of L2 virtual network interfaces and L2 virtual switches hosted on a set of network virtualization devices. An L2 virtual network interface emulates an L2 port of the L2 virtual network. Information associated with the L2 virtual switches is collected and provided to the customer.

## Claims

### Claim 1

A method comprising:
determining first Layer 2 information associated with a first Layer 2 virtual switch of a Layer 2 virtual network of a customer, wherein the first Layer 2 information comprises at least one of: a first Layer 2 forwarding table of the first Layer 2 virtual switch or first metrics about a first frame flow of the first Layer 2 virtual switch, wherein:
the Layer 2 virtual network is hosted by a physical network and comprises a first compute instance, a second compute instance, a first Layer 2 virtual network interface, a second Layer 2 virtual network interface, a first Layer 2 virtual switch, and a second Layer 2 virtual switch,
the first compute instance and the second compute instance are hosted by a same host machine or different host machines of the physical network,
the first Layer 2 virtual network interface and the first Layer 2 virtual switch are hosted by a network virtualization device (NVD) of the physical network and are associated with the first compute instance, and
the second Layer 2 virtual network interface and the second Layer 2 virtual switch are hosted by the NVD or a different NVD of the physical network and are associated with the second compute instance;
determining second Layer 2 information associated with the second Layer 2 virtual switch, wherein the second Layer 2 information comprises at least one of: a second Layer 2 forwarding table of the second Layer 2 virtual switch or second metrics about a second frame flow of the second Layer 2 virtual switch;
generating third Layer 2 information based on the first Layer 2 information and the second Layer 2 information, wherein the third Layer 2 information comprises at least one of: a third Layer 2 forwarding table of the Layer 2 virtual network generated based on the first Layer 2 forwarding table and the second Layer 2 forwarding table or statistics about a third frame flow of the Layer 2 virtual network generated based on the first metrics and the second metrics; and
sending the third Layer 2 information to a device of the customer.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving input of the customer, the input indicating a customer configuration of the Layer 2 virtual network; and
determining a mapping between the customer configuration and a distribution of resources of the Layer 2 virtual network on the physical network, wherein the third Layer 2 information is generated further based on the mapping.

### Claim 3 (depends on 2)

The method of claim 2, wherein the customer configuration indicates a first port and a second port of the Layer 2 virtual network, wherein the mapping indicates that the first port corresponds to the first Layer 2 virtual network interface and that the second port corresponds to the second Layer 2 virtual network interface, and wherein the method further comprises:
determining that the first Layer 2 virtual network interface is associated with the first Layer 2 virtual switch;
determining that the second Layer 2 virtual network interface is associated with the second Layer 2 virtual switch; and
indicating that the third Layer 2 information is associated with the first port and the second port.

### Claim 4 (depends on 2)

The method of claim 2, wherein the customer configuration indicates a first port, and wherein the method further comprises:
receiving an information query of the customer, the information query indicating the first port;
determining that the first port corresponds to the first Layer 2 virtual network interface based on the mapping;
determining that the first Layer 2 virtual network interface is associated with the first Layer 2 virtual switch; and
generating a query result based on the first Layer 2 information and associated with the first port, wherein the third Layer 2 information comprises the query result.

### Claim 5 (depends on 2)

The method of claim 2, wherein the customer configuration indicates a first port, wherein the method further comprises:
receiving, from the NVD, the first Layer 2 information associated with the first Layer 2 virtual switch;
determining that the first Layer 2 virtual switch is associated with the first Layer 2 virtual network interface;
determining that the first Layer 2 virtual network interface corresponds to the first port based on the mapping; and
including, in the third Layer 2 information, at least a portion of the first layer 2 information in association with the first port.

### Claim 6 (depends on 5)

The method of claim 5, wherein the first Layer 2 information is received from the NVD based at least in part on a Layer 2 information query of the customer or a change to a distribution of resources of the Layer 2 virtual network on the physical network.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
receiving second input of the customer, the second input indicating a first port of the Layer 2 virtual network;
determining that the first port corresponds to the first Layer 2 virtual network interface;
determining that the first Layer 2 virtual network interface is associated with the first Layer 2 virtual switch;
determining, based on the second Layer 2 forwarding table that a media access control (MAC) address of the first Layer 2 virtual network interface is associated with the first compute instance; and
including, in the third Layer 2 forwarding table, an indication that the MAC address corresponds to the first port and is associated with the first compute instance.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
receiving second input of the customer, the second input indicating a first port of the Layer 2 virtual network;
receiving a Layer 2 forwarding table query of the customer, the Layer 2 forwarding table query indicating the first port;
determining that the first port corresponds to the first Layer 2 virtual network interface;
determining that the first Layer 2 virtual network interface is associated with the first Layer 2 virtual switch; and
generating a query result based on the first Layer 2 information and associated with the first port, wherein the third Layer 2 information comprises the query result.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
receiving second input of the customer, the second input indicating a first port of the Layer 2 virtual network;
determining a change to the first Layer 2 forwarding table, the change associated with the first Layer 2 virtual network interface;
determining that the first Layer 2 virtual network interface corresponds to the first port;
associating the change with the first port; and
including, in the third Layer 2 forwarding table, the change in association with the first port.

### Claim 10 (depends on 9)

The method of claim 9, wherein the change comprises at least one: a re-association of a first media access control (MAC) address from the second Layer 2 virtual network interface to another Layer 2 virtual network interface, or an association of a second MAC address with the second Layer 2 virtual network interface.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
receiving second input of the customer, the second input indicating a type and a target of the statistics, wherein the type comprises at least one of: a number of frames, a frame size, or an amount of bits, and wherein the target comprises at least one of: a port, a set of ports, or the Layer 2 virtual network.

### Claim 12 (depends on 1)

The method of claim 1, further comprising:
receiving, from the NVD, the first metrics and metadata associated with the first metrics, the metadata identifying at least one of the Layer 2 virtual network or the first Layer 2 virtual network interface, wherein the statistics is generated further based at least in part on the metadata.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
receiving second input of the customer, the second input indicating a first port of the Layer 2 virtual network;
determining, based on the metadata, that the first metrics are associated with the first Layer 2 virtual network interface;
determining that the first Layer 2 virtual network interface corresponds to the first port; and
associating the first metrics with the first port.

### Claim 14

A system comprising:
one or more processors; and
one or more computer-readable storage media storing instructions that, upon execution by the one or more processors, configure the system to:
determine first Layer 2 information associated with a first Layer 2 virtual switch of a Layer 2 virtual network of a customer, wherein the first Layer 2 information comprises at least one of: a first Layer 2 forwarding table of the first Layer 2 virtual switch or first metrics about a first frame flow of the first Layer 2 virtual switch, wherein:
the Layer 2 virtual network is hosted by a physical network and comprises a first compute instance, a second compute instance, a first Layer 2 virtual network interface, a second Layer 2 virtual network interface, a first Layer 2 virtual switch, and a second Layer 2 virtual switch,
the first compute instance and the second compute instance are hosted by a same host machine or different host machines of the physical network,
the first Layer 2 virtual network interface and the first Layer 2 virtual switch are hosted by a network virtualization device (NVD) of the physical network and are associated with the first compute instance, and
the second Layer 2 virtual network interface and the second Layer 2 virtual switch are hosted by the NVD or a different NVD of the physical network and are associated with the second compute instance;
determine second Layer 2 information associated with the second Layer 2 virtual switch, wherein the second Layer 2 information comprises at least one of: a second Layer 2 forwarding table of the second Layer 2 virtual switch or second metrics about a second frame flow of the second Layer 2 virtual switch;
generate third Layer 2 information based on the first Layer 2 information and the second Layer 2 information, wherein the third Layer 2 information comprises at least one of: a third Layer 2 forwarding table of the Layer 2 virtual network generated based on the first Layer 2 forwarding table and the second Layer 2 forwarding table or statistics about a third frame flow of the Layer 2 virtual network generated based on the first metrics and the second metrics; and
send the third Layer 2 information to a device of the customer.

### Claim 15 (depends on 14)

The system of claim 14, wherein the one or more computer-readable storage media store further instructions that, upon execution by the one or more processors, configure the system to:
receive input of the customer, the input indicating a customer configuration of the Layer 2 virtual network; and
determine a mapping between the customer configuration and a distribution of resources of the Layer 2 virtual network on the physical network, wherein the third Layer 2 information is generated further based on the mapping.

### Claim 16 (depends on 15)

The system of claim 15, wherein the customer configuration indicates a first port and a second port of the Layer 2 virtual network, wherein the mapping indicates that the first port corresponds to the first Layer 2 virtual network interface and that the second port corresponds to the second Layer 2 virtual network interface, and wherein the one or more computer-readable storage media store further instructions that, upon execution by the one or more processors, configure the system to:
determine that the first Layer 2 virtual network interface is associated with the first Layer 2 virtual switch;
determine that the second Layer 2 virtual network interface is associated with the second Layer 2 virtual switch; and
indicate that the third Layer 2 information is associated with the first port and the second port.

### Claim 17

One or more non-transitory computer-readable storage media storing instructions that, upon execution on a system, cause the system to perform operations comprising:
determining first Layer 2 information associated with a first Layer 2 virtual switch of a Layer 2 virtual network of a customer, wherein the first Layer 2 information comprises at least one of: a first Layer 2 forwarding table of the first Layer 2 virtual switch or first metrics about a first frame flow of the first Layer 2 virtual switch, wherein:
the Layer 2 virtual network is hosted by a physical network and comprises a first compute instance, a second compute instance, a first Layer 2 virtual network interface, a second Layer 2 virtual network interface, the first Layer 2 virtual switch, and a second Layer 2 virtual switch,
the first compute instance and the second compute instance are hosted by a same host machine or different host machines of the physical network,
the first Layer 2 virtual network interface and the first Layer 2 virtual switch are hosted by a network virtualization device (NVD) of the physical network and are associated with the first compute instance, and
the second Layer 2 virtual network interface and the second Layer 2 virtual switch are hosted by the NVD or a different NVD of the physical network and are associated with the second compute instance;
determining second Layer 2 information associated with the second Layer 2 virtual switch, wherein the second Layer 2 information comprises at least one of: a second Layer 2 forwarding table of the second Layer 2 virtual switch or second metrics about a second frame flow of the second Layer 2 virtual switch;
generating third Layer 2 information based on the first Layer 2 information and the second Layer 2 information, wherein the third Layer 2 information comprises at least one of: a third Layer 2 forwarding table of the Layer 2 virtual network generated based on the first Layer 2 forwarding table and the second Layer 2 forwarding table or statistics about a third frame flow of the Layer 2 virtual network generated based on the first metrics and the second metrics; and
sending the third Layer 2 information to a device of the customer.

### Claim 18 (depends on 17)

The one or more non-transitory computer-readable storage media of claim 17, wherein the one or more non-transitory computer-readable storage media store further instructions, that upon execution on the system, cause the system to perform operations comprising:
receiving input of the customer, the input indicating a customer configuration of the Layer 2 virtual network; and
determining a mapping between the customer configuration and a distribution of resources of the Layer 2 virtual network on the physical network, wherein the third Layer 2 information is generated further based on the mapping.

### Claim 19 (depends on 18)

The one or more non-transitory computer-readable storage media of claim 18, wherein the customer configuration indicates a first port and a second port of the Layer 2 virtual network, wherein the mapping indicates that the first port corresponds to the first Layer 2 virtual network interface and that the second port corresponds to the second Layer 2 virtual network interface, and wherein the one or more non-transitory computer-readable storage media store further instructions, that upon execution on the system, cause the system to perform operations comprising:
determining that the first Layer 2 virtual network interface is associated with the first Layer 2 virtual switch;
determining that the second Layer 2 virtual network interface is associated with the second Layer 2 virtual switch; and
indicating that the third Layer 2 information is associated with the first port and the second port.
