# US 2014/0153443 A1 · Per-Address Spanning Tree Networks

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

- Number: US 2014/0153443 A1
- Document ID: US20140153443A1
- Status: Published application
- Kind: A1
- Application number: 13/690,712
- Filed: 2012-11-30
- Published: 2014-06-05
- Earliest claimed: 2012-11-30
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: John B. Carter; Wesley M. Felter; Brent E. Stephens
- Web page: https://patentgrep.com/patent/US20140153443A1

## CPC

- H04L 45/484: using multiple routing trees
- H04L 45/54: {Organization of routing tables}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A mechanism is provided for implementing a per-address spanning tree (PAST) to direct the forwarding of packets in a set of switches. The per-address spanning tree is computed for each identified address in a set of addresses thereby forming a set of per-address spanning trees. A set of forwarding rules associated with each per-address spanning tree in the set of per-address spanning trees is generated and installed all appropriate switches in the set of switches for which the per-address spanning tree is generated so that each switch in the set of switches will forward packets based on the set of forwarding rules installed in that switch.

## Claims

### Claim 1

A method, in a data processing system, for implementing a per-address spanning tree to direct the forwarding of packets in a set of network switches, the method comprising:
computing the per-address spanning tree for each identified address in a set of addresses thereby forming a set of per-address spanning trees;
generating a set of forwarding rules associated with each per-address spanning tree in the set of per-address spanning trees; and
installing the set of forwarding rules associated with each per-address spanning tree in the set of per-address spanning trees in all appropriate switches in the set of switches for which the per-address spanning tree is generated so that each switch in the set of switches will forward packets based on the set of forwarding rules installed in that switch.

### Claim 2 (depends on 1)

The method of claim 1, wherein each address in the set of addresses is a media access control (MAC) address or an internet protocol (IP) address.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
discovering the topology of the set of switches comprising the network; and
detecting a set of addresses handled by each switch in the set of switches,
wherein each address in the set of addresses is an address utilized by a host in a set of hosts that is coupled to a switch in the set of switches.

### Claim 4 (depends on 3)

The method of claim 3, wherein the topology is the aggregation of link connectivity between two switches in the set of switches or link connectivity between a switch and a host.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
responsive to the topology being link connectivity between switches in the set of switches and between switches and hosts, discovering the identifier Ds of the switches and hosts that comprise the network.

### Claim 6 (depends on 1)

The method of claim 1, wherein the set of rules associated with each per-address spanning tree in the set of per-address spanning trees is installed in all appropriate switches in the set of switches in parallel.

### Claim 7 (depends on 1)

The method of claim 1, wherein the set of rules is installed in an Ethernet table of the switch.

### Claim 8 (depends on 1)

The method of claim 1, wherein the set of rules is installed utilizing a separate out-of-band control network isolated from links that connect switches in the set of switches to other switches or hosts.

### Claim 9

A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:
compute the per-address spanning tree for each identified address in a set of addresses thereby forming a set of per-address spanning trees;
generate a set of forwarding rules associated with each per-address spanning tree in the set of per-address spanning trees; and
install the set of forwarding rules associated with each per-address spanning tree in the set of per-address spanning trees in all appropriate switches in the set of switches for which the per-address spanning tree is generated so that each switch in the set of switches will forward packets based on the set of forwarding rules installed in that switch.

### Claim 10 (depends on 9)

The computer program product of claim 9, wherein each address in the set of addresses is a media access control (MAC) address or an internet protocol (IP) address.

### Claim 11 (depends on 9)

The computer program product of claim 9, wherein the computer readable program further causes the computing device to:
discover the topology of the set of switches comprising the network; and
detect a set of addresses handled by each switch in the set of switches,
wherein each address in the set of addresses is an address utilized by a host in a set of hosts that is coupled to a switch in the set of switches.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein the topology is the aggregation of link connectivity between two switches in the set of switches or link connectivity between a switch and a host.

### Claim 13 (depends on 12)

The computer program product of claim 12, wherein the computer readable program further causes the computing device to:
responsive to the topology being link connectivity between switches in the set of switches and between switches and hosts, discover the identifier Ds of the switches and hosts that comprise the network.

### Claim 14 (depends on 9)

The computer program product of claim 9, wherein the set of rules associated with each per-address spanning tree in the set of per-address spanning trees is installed in all appropriate switches in the set of switches in parallel.

### Claim 15 (depends on 9)

The computer program product of claim 9, wherein the set of rules is installed in an Ethernet table of the switch.

### Claim 16 (depends on 9)

The computer program product of claim 9, wherein the set of rules is installed utilizing a separate out-of-band control network isolated from links that connect switches in the set of switches to other switches or hosts.

### Claim 17

An apparatus, comprising:
a processor; and
a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:
compute the per-address spanning tree for each identified address in a set of addresses thereby forming a set of per-address spanning trees;
generate a set of forwarding rules associated with each per-address spanning tree in the set of per-address spanning trees; and
install the set of forwarding rules associated with each per-address spanning tree in the set of per-address spanning trees in all appropriate switches in the set of switches for which the per-address spanning tree is generated so that each switch in the set of switches will forward packets based on the set of forwarding rules installed in that switch.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein each address in the set of addresses is a media access control (MAC) address or an internet protocol (IP) address.

### Claim 19 (depends on 17)

The apparatus of claim 17, wherein the instructions further cause the processor to:
discover the topology of the set of switches comprising the network; and
detect a set of addresses handled by each switch in the set of switches,
wherein each address in the set of addresses is an address utilized by a host in a set of hosts that is coupled to a switch in the set of switches.

### Claim 20 (depends on 19)

The apparatus of claim 19, wherein the topology is the aggregation of link connectivity between two switches in the set of switches or link connectivity between a switch and a host.

### Claim 21 (depends on 20)

The apparatus of claim 20, wherein the instructions further cause the processor to:
responsive to the topology being link connectivity between switches in the set of switches and between switches and hosts, discover the identifier IDs of the switches and hosts that comprise the network.

### Claim 22 (depends on 17)

The apparatus of claim 17, wherein the set of rules associated with each per-address spanning tree in the set of per-address spanning trees is installed in all appropriate switches in the set of switches in parallel.

### Claim 23 (depends on 17)

The apparatus of claim 17, wherein the set of rules is installed in an Ethernet table of the switch.

### Claim 24 (depends on 17)

The apparatus of claim 17, wherein the set of rules is installed utilizing a separate out-of-band control network isolated from links that connect switches in the set of switches to other switches or hosts.
