# US 2014/0195695 A1 · Method and apparatus to distribute data center network traffic

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

- Number: US 2014/0195695 A1
- Document ID: US20140195695A1
- Status: Published application
- Kind: A1
- Application number: 13/736,243
- Filed: 2013-01-08
- Published: 2014-07-10
- Earliest claimed: 2013-01-08
- Assignees: Hitachi, Ltd.
- Applicants: Hitachi, Ltd.
- Inventors: Hideki OKITA
- Web page: https://patentgrep.com/patent/US20140195695A1

## CPC

- H04L 47/125: by balancing the load, e.g. traffic engineering
- H04L 45/245: {Link aggregation, e.g. trunking}
- H04L 45/7453: using hashing
- H04L 61/103: across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
- H04L 61/5069: for group communication, multicast communication or broadcast communication
- Y02D 30/50: in wire-line communication networks, e.g. low power modes or reduced link rate
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Exemplary embodiments provide a technique to improve the system availability of the systems that have multiple links and are connected to a network fabric. In one embodiment, a switch comprises: a memory storing a first logical group which has a first plurality of IP addresses of a first plurality of ports and is assigned to a first ID (identifier), and a second logical group which has a second plurality of IP addresses of a second plurality of ports and is assigned to a second ID; and a controller controlling to cause a logical path of the first logical group to use a first physical path which is different from a second physical path to be used by a logical path of the second logical group, based on the first ID and the second ID.

## Claims

### Claim 1

A switch comprising:
a memory storing a first logical group which has a first plurality of IP addresses of a first plurality of ports and is assigned to a first ID (identifier), and a second logical group which has a second plurality of IP addresses of a second plurality of ports and is assigned to a second ID; and
a controller controlling to cause a logical path of the first logical group to use a first physical path which is different from a second physical path to be used by a logical path of the second logical group, based on the first ID and the second ID.

### Claim 2 (depends on 1)

The switch according to claim 1,
wherein the first logical group is assigned to the first ID by correlating the IP addresses of the first plurality of ports in the first logical group with the first ID; and
wherein the second logical group is assigned to the second ID by correlating the IP addresses of the second plurality of ports in the second logical group with the second ID.

### Claim 3 (depends on 2)

The switch according to claim 2, wherein the controller is configured, for each packet received, to:
read a source IP address of the received packet;
if the source IP address matches an IP address of the first plurality of ports or the second plurality of ports, determine whether the source IP address is assigned to the first ID or the second ID; if the source IP address is assigned to the first ID, determine an outgoing port for the packet based on the first physical path; and if the source IP address is assigned to the second ID, determine an outgoing port for the packet based on the second physical path; and
if the source IP address does not match an IP address of the first plurality of ports and the second plurality of ports, read a destination IP address of the received packet, and determine whether the destination IP address matches an IP address of the first plurality of ports or the second plurality of ports; if the destination IP address matches an IP address of the first plurality of ports or the second plurality of ports, determine whether the destination IP address is assigned to the first ID or the second ID; if the destination IP address is assigned to the first ID, determine an outgoing port for the packet based on the first physical path; and if the destination IP address is assigned to the second ID, determine an outgoing port for the packet based on the second physical path; and if the destination IP address does not match an IP address of the first plurality of ports and the second plurality of ports, calculate a hash value of the source IP address and the destination IP address of the packet, and select an outgoing port according to an order of the hash value based on a correlation between order of hash values and order of paths through a network fabric.

### Claim 4 (depends on 1)

The switch according to claim 1,
wherein the first logical group is assigned to the first ID by correlating VLAN (Virtual Logical Area Network) IDs of the first plurality of ports in the first logical group with the first ID; and
wherein the second logical group is assigned to the second ID by correlating VLAN IDs of the second plurality of ports in the second logical group with the second ID.

### Claim 5 (depends on 4)

The switch according to claim 4, wherein the controller is configured, for each packet received, to:
read a VLAN ID of the received packet;
if the VLAN ID of the received packet matches a VLAN ID of the first plurality of ports or the second plurality of ports, determine whether the VLAN ID is assigned to the first ID or the second ID; if the VLAN ID is assigned to the first ID, determine an outgoing port for the packet based on the first physical path; and if the VLAN ID is assigned to the second ID, determine an outgoing port for the packet based on the second physical path; and
if the VLAN ID does not match a VLAN ID of the first plurality of ports and the second plurality of ports, calculate a hash value of the VLAN ID of the packet and select an outgoing port according to an order of the hash value based on a correlation between order of hash values and order of paths through a network fabric.

### Claim 6 (depends on 1)

The switch according to claim 1,
wherein the first logical group is assigned to the first ID by correlating VNIs (VXLAN (Virtual eXtensible LAN) Network Identifiers) of the first plurality of ports in the first logical group with the first ID; and
wherein the second logical group is assigned to the second ID by correlating VNIs of the second plurality of ports in the second logical group with the second ID.

### Claim 7 (depends on 6)

The switch according to claim 6, wherein the controller is configured, for each packet received, to:
read a VNI of the received packet;
if the VNI of the received packet matches a VNI of the first plurality of ports or the second plurality of ports, determine whether the VNI is assigned to the first ID or the second ID; if the VNI is assigned to the first ID, determine an outgoing port for the packet based on the first physical path; and if the VNI is assigned to the second ID, determine an outgoing port for the packet based on the second physical path; and
if the VNI does not match a VNI of the first plurality of ports and the second plurality of ports, calculate a hash value of the VNI of the packet and select an outgoing port according to an order of the hash value based on a correlation between order of hash values and order of paths through a network fabric.

### Claim 8

A computer-readable storage medium storing a plurality of instructions for controlling a data processor to manage network traffic, the plurality of instructions comprising:
instructions that cause the data processor to store, in a memory, a first logical group which has a first plurality of IP addresses of a first plurality of ports and is assigned to a first ID (identifier), and a second logical group which has a second plurality of IP addresses of a second plurality of ports and is assigned to a second ID; and
instructions that cause the data processor to control to cause a logical path of the first logical group to use a first physical path which is different from a second physical path to be used by a logical path of the second logical group, based on the first ID and the second ID.

### Claim 9 (depends on 8)

The computer-readable storage medium according to claim 8,
wherein the first logical group is assigned to the first ID by correlating the IP addresses of the first plurality of ports in the first logical group with the first ID; and
wherein the second logical group is assigned to the second ID by correlating the IP addresses of the second plurality of ports in the second logical group with the second ID.

### Claim 10 (depends on 9)

The computer-readable storage medium according to claim 9, wherein the plurality of instructions further comprise, for each packet received:
instructions that cause the data processor to read a source IP address of the received packet;
instructions that cause the data processor, if the source IP address matches an IP address of the first plurality of ports or the second plurality of ports, to determine whether the source IP address is assigned to the first ID or the second ID; if the source IP address is assigned to the first ID, to determine an outgoing port for the packet based on the first physical path; and if the source IP address is assigned to the second ID, to determine an outgoing port for the packet based on the second physical path; and
instructions that cause the data processor, if the source IP address does not match an IP address of the first plurality of ports and the second plurality of ports, to read a destination IP address of the received packet, and determine whether the destination IP address matches an IP address of the first plurality of ports or the second plurality of ports; if the destination IP address matches an IP address of the first plurality of ports or the second plurality of ports, to determine whether the destination IP address is assigned to the first ID or the second ID; if the destination IP address is assigned to the first ID, to determine an outgoing port for the packet based on the first physical path; and if the destination IP address is assigned to the second ID, to determine an outgoing port for the packet based on the second physical path; and if the destination IP address does not match an IP address of the first plurality of ports and the second plurality of ports, to calculate a hash value of the source IP address and the destination IP address of the packet, and select an outgoing port according to an order of the hash value based on a correlation between order of hash values and order of paths through a network fabric.

### Claim 11 (depends on 8)

The computer-readable storage medium according to claim 8,
wherein the first logical group is assigned to the first ID by correlating VLAN (Virtual Logical Area Network) IDs of the first plurality of ports in the first logical group with the first ID; and
wherein the second logical group is assigned to the second ID by correlating VLAN IDs of the second plurality of ports in the second logical group with the second ID.

### Claim 12 (depends on 11)

The computer-readable storage medium according to claim 11, wherein the plurality of instructions further comprise, for each packet received:
instructions that cause the data processor to read a VLAN ID of the received packet;
instructions that cause the data processor, if the VLAN ID of the received packet matches a VLAN ID of the first plurality of ports or the second plurality of ports, to determine whether the VLAN ID is assigned to the first ID or the second ID; if the VLAN ID is assigned to the first ID, to determine an outgoing port for the packet based on the first physical path; and if the VLAN ID is assigned to the second ID, to determine an outgoing port for the packet based on the second physical path; and
instructions that cause the data processor, if the VLAN ID does not match a VLAN ID of the first plurality of ports and the second plurality of ports, to calculate a hash value of the VLAN ID of the packet and select an outgoing port according to an order of the hash value based on a correlation between order of hash values and order of paths through a network fabric.

### Claim 13 (depends on 8)

The computer-readable storage medium according to claim 8,
wherein the first logical group is assigned to the first ID by correlating VNIs (VXLAN (Virtual eXtensible LAN) Network Identifiers) of the first plurality of ports in the first logical group with the first ID; and
wherein the second logical group is assigned to the second ID by correlating VNIs of the second plurality of ports in the second logical group with the second ID.

### Claim 14 (depends on 13)

The computer-readable storage medium according to claim 13, wherein the plurality of instructions further comprise, for each packet received:
instructions that cause the data processor to read a VNI of the received packet;
instructions that cause the data processor, if the VNI of the received packet matches a VNI of the first plurality of ports or the second plurality of ports, to determine whether the VNI is assigned to the first ID or the second ID; if the VNI is assigned to the first ID, to determine an outgoing port for the packet based on the first physical path; and if the VNI is assigned to the second ID, to determine an outgoing port for the packet based on the second physical path; and
instructions that cause the data processor, if the VNI does not match a VNI of the first plurality of ports and the second plurality of ports, to calculate a hash value of the VNI of the packet and select an outgoing port according to an order of the hash value based on a correlation between order of hash values and order of paths through a network fabric.

### Claim 15

A method of controlling network traffic using a switch that includes a memory and a controller, the method comprising:
storing, in the memory, a first logical group which has a first plurality of IP addresses of a first plurality of ports and is assigned to a first ID (identifier), and a second logical group which has a second plurality of IP addresses of a second plurality of ports and is assigned to a second ID; and
controlling to cause a logical path of the first logical group to use a first physical path which is different from a second physical path to be used by a logical path of the second logical group, based on the first ID and the second ID.

### Claim 16 (depends on 15)

The method according to claim 15,
wherein the first logical group is assigned to the first ID by correlating the IP addresses of the first plurality of ports in the first logical group with the first ID; and
wherein the second logical group is assigned to the second ID by correlating the IP addresses of the second plurality of ports in the second logical group with the second ID.

### Claim 17 (depends on 16)

The method according to claim 16, further comprising, for each packet received:
reading a source IP address of the received packet;
if the source IP address matches an IP address of the first plurality of ports or the second plurality of ports, determining whether the source IP address is assigned to the first ID or the second ID; if the source IP address is assigned to the first ID, determining an outgoing port for the packet based on the first physical path; and if the source IP address is assigned to the second ID, determining an outgoing port for the packet based on the second physical path; and
if the source IP address does not match an IP address of the first plurality of ports and the second plurality of ports, reading a destination IP address of the received packet, and determining whether the destination IP address matches an IP address of the first plurality of ports or the second plurality of ports; if the destination IP address matches an IP address of the first plurality of ports or the second plurality of ports, determining whether the destination IP address is assigned to the first ID or the second ID; if the destination IP address is assigned to the first ID, determining an outgoing port for the packet based on the first physical path; and if the destination IP address is assigned to the second ID, determining an outgoing port for the packet based on the second physical path; and if the destination IP address does not match an IP address of the first plurality of ports and the second plurality of ports, calculating a hash value of the source IP address and the destination IP address of the packet, and select an outgoing port according to an order of the hash value based on a correlation between order of hash values and order of paths through a network fabric.

### Claim 18 (depends on 15)

The method according to claim 15,
wherein the first logical group is assigned to the first ID by correlating VLAN (Virtual Logical Area Network) IDs of the first plurality of ports in the first logical group with the first ID; and
wherein the second logical group is assigned to the second ID by correlating VLAN IDs of the second plurality of ports in the second logical group with the second ID.

### Claim 19 (depends on 18)

The method according to claim 18, further comprising, for each packet received:
reading a VLAN ID of the received packet;
if the VLAN ID of the received packet matches a VLAN ID of the first plurality of ports or the second plurality of ports, determining whether the VLAN ID is assigned to the first ID or the second ID; if the VLAN ID is assigned to the first ID, determining an outgoing port for the packet based on the first physical path; and if the VLAN ID is assigned to the second ID, determining an outgoing port for the packet based on the second physical path; and
if the VLAN ID does not match a VLAN ID of the first plurality of ports and the second plurality of ports, calculating a hash value of the VLAN ID of the packet and select an outgoing port according to an order of the hash value based on a correlation between order of hash values and order of paths through a network fabric.

### Claim 20 (depends on 15)

The method according to claim 15,
wherein the first logical group is assigned to the first ID by correlating VNIs (VXLAN (Virtual eXtensible LAN) Network Identifiers) of the first plurality of ports in the first logical group with the first ID;
wherein the second logical group is assigned to the second ID by correlating VNIs of the second plurality of ports in the second logical group with the second ID; and
wherein the method further comprises, for each packet received:
reading a VNI of the received packet;
if the VNI of the received packet matches a VNI of the first plurality of ports or the second plurality of ports, determining whether the VNI is assigned to the first ID or the second ID; if the VNI is assigned to the first ID, determining an outgoing port for the packet based on the first physical path; and if the VNI is assigned to the second ID, determining an outgoing port for the packet based on the second physical path; and
if the VNI does not match a VNI of the first plurality of ports and the second plurality of ports, calculating a hash value of the VNI of the packet and select an outgoing port according to an order of the hash value based on a correlation between order of hash values and order of paths through a network fabric.
