# US 7,609,649 B1 · Methods and apparatus for improving network based virtualization performance

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

- Number: US 7,609,649 B1
- Document ID: US7609649B1
- Status: Granted
- Kind: B1
- Application number: 11/115,518
- Filed: 2005-04-26
- Granted: 2009-10-27
- Earliest claimed: 2005-04-26
- Assignees: Cisco Technology, Inc.
- Inventors: Rajesh Bhandari; Samar Sharma; Sanjaya Kumar
- Web page: https://patentgrep.com/patent/US7609649B1

## CPC

- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Embodiments of the invention support improvements in network performance in networks such as storage area networks. This is particularly important in networks such as those implementing virtualization. These improvements, therefore, support improved mechanisms for performing processing in network devices such as switches, routers, or hosts. These improvements include various different mechanisms which may be used separately or in combination with one another. These mechanisms include methods and apparatus for processing traffic in an arbitrated loop, performing striping to support fairness and/or loop tenancy, performing configuration of network devices such as switches to enable virtualization to be performed closest to the storage device (e.g., disk), ascertaining a CPU efficiency that quantifies the impact of virtualization on a processor, and configuring or accessing a striped volume to account for metadata stored in each storage partition.

## Claims

### Claim 1

In a Fibre Channel network, a method of processing traffic in an arbitrated loop, comprising:
identifying a status of a fairness indicator associated with the arbitrated loop, wherein the fairness indicator is associated with an interface of a switch that is coupled to the arbitrated loop, the fairness indicator indicating that fairness is enabled when the fairness indicator is in a first state and indicating that fairness is disabled when the fairness indicator is in a second state;
enabling a requesting entity on the arbitrated loop to send an arbitration request when the fairness indicator is in the first state, the arbitration request forcing a transmitting entity that is transmitting frames on the arbitrated loop to relinquish control of the arbitrated loop; and
preventing an entity on the arbitrated loop from sending an arbitration request when the fairness indicator is in the second state.

### Claim 2 (depends on 1)

The method as recited in claim 1, further comprising:
setting the fairness indicator such that the fairness indicator is in the first state or the second state.

### Claim 3 (depends on 1)

The method as recited in claim 1, wherein the switch maintains a different fairness indicator for each one of a plurality of interfaces of the switch such that a requesting entity on a corresponding arbitrated loop coupled to one of the plurality of interfaces can send an arbitration request when the fairness indicator is in the first state, the arbitration request forcing a transmitting entity that is transmitting frames on the arbitrated loop to relinquish control of the arbitrated loop.

### Claim 4 (depends on 3)

The method as recited in claim 3, wherein an entity on the corresponding arbitrated loop is prevented from sending an arbitration request when the fairness indicator of the one of the plurality of interfaces is in the second state.

### Claim 5

A method of processing traffic in an arbitrated loop of a Fibre Channel network, comprising:
ascertaining whether a switch implementing network-based virtualization is coupled to the arbitrated loop;
when a switch implementing network-based virtualization is coupled to the arbitrated loop, setting a fairness indicator associated with the arbitrated loop, the fairness indicator indicating that fairness is enabled when the fairness indicator is in a first state and indicating that fairness is disabled when the fairness indicator is in a second state, wherein the fairness indicator is associated with an interface of the switch that is coupled to the arbitrated loop; and
when a switch implementing network-based virtualization is not coupled to the arbitrated loop, configuring a loop tenancy associated with the arbitrated loop.

### Claim 6 (depends on 5)

The method as recited in claim 5, further comprising:
enabling a requesting entity on the arbitrated loop to send an arbitration request when the fairness indicator is in the first state, the arbitration request forcing a transmitting entity that is transmitting frames on the arbitrated loop to relinquish control of the arbitrated loop.

### Claim 7 (depends on 5)

The method as recited in claim 5, wherein configuring a loop tenancy comprises:
ascertaining an average I/O size associated with the arbitrated loop;
determining a number of simultaneous operations on the loop; and
configuring the loop tenancy such that it is directly proportional to the average I/O size and inversely proportional to the number of simultaneous operations on the loop.

### Claim 8 (depends on 5)

The method as recited in claim 5, further comprising:
setting the fairness indicator such that the fairness indicator is in the first state or the second state.

### Claim 9 (depends on 5)

The method as recited in claim 5, wherein the switch maintains a different fairness indicator for each interface of the switch.

### Claim 10 (depends on 5)

The method as recited in claim 5, further comprising:
preventing an entity on the arbitrated loop from sending an arbitration request when the fairness indicator is in the second state.

### Claim 11

A switch configured to process traffic in an arbitrated loop of a Fibre Channel network, the switch having a plurality of interfaces, comprising:
a processor;
a memory; and
a data structure or register, the data structure or register including a fairness indicator associated with each of the plurality of interfaces of the switch, the fairness indicator indicating that fairness is enabled for the corresponding interface when the fairness indicator is in a first state and indicating that fairness is disabled for the corresponding interface when the fairness indicator is in a second state;
wherein a requesting entity on an arbitrated loop coupled to one of the plurality of interfaces may send an arbitration request when the fairness indicator for the one of the plurality of interfaces coupled to the arbitrated loop is in the first state, the arbitration request forcing a transmitting entity that is transmitting frames on the arbitrated loop to relinquish control of the arbitrated loop.

### Claim 12 (depends on 11)

The switch as recited in claim 11, wherein the network implements virtualization.

### Claim 13 (depends on 11)

The switch as recited in claim 11, wherein the network is a storage area network.

### Claim 14 (depends on 11)

The switch as recited in claim 11, wherein the requesting entity on the arbitrated loop is prevented from sending an arbitration request when the fairness indicator of the one of the plurality of interfaces is in the second state.

### Claim 15 (depends on 11)

The switch as recited in claim 11, wherein the fairness indicator is in the first state when the corresponding interface implements network-based virtualization.

### Claim 16 (depends on 11)

The switch as recited in claim 11, wherein the fairness indicator is in the first state if the switch implements network-based virtualization.

### Claim 17

A computer-readable medium storing thereon computer-readable instructions for processing traffic in an arbitrated loop of a Fibre Channel network, comprising:
instructions for ascertaining whether a switch implementing network-based virtualization is coupled to the arbitrated loop, the switch having a plurality of interfaces;
instructions for setting a fairness indicator associated with the arbitrated loop when a switch implementing network-based virtualization is coupled to the arbitrated loop, the fairness indicator indicating that fairness is enabled when the fairness indicator is in a first state and indicating that fairness is disabled when the fairness indicator is in a second state, wherein the fairness indicator is associated with an interface of the switch that is coupled to the arbitrated loop; and
instructions for configuring a loop tenancy associated with the arbitrated loop when a switch implementing network-based virtualization is not coupled to the arbitrated loop.

### Claim 18 (depends on 17)

The computer-readable medium as recited in claim 17, further comprising:
instructions for enabling a requesting entity on the arbitrated loop to send an arbitration request when the fairness indicator is in the first state, the arbitration request forcing a transmitting entity that is transmitting frames on the arbitrated loop to relinquish control of the arbitrated loop.

### Claim 19 (depends on 17)

The computer-readable medium as recited in claim 17, wherein configuring a loop tenancy comprises:
ascertaining an average I/O size associated with the arbitrated loop;
determining a number of simultaneous operations on the loop; and
configuring the loop tenancy such that it is directly proportional to the average I/O size and inversely proportional to the number of simultaneous operations on the loop.

### Claim 20 (depends on 17)

The computer-readable medium as recited in claim 17, further comprising:
instructions for setting the fairness indicator such that the fairness indicator is in the first state or the second state.

### Claim 21 (depends on 17)

The computer-readable medium as recited in claim 17, wherein the switch maintains a different fairness indicator for each interface of the switch.

### Claim 22 (depends on 17)

The computer-readable medium as recited in claim 17, further comprising:
instructions for preventing an entity on the arbitrated loop from sending an arbitration request when the fairness indicator is in the second state.

### Claim 23

An apparatus for processing traffic in an arbitrated loop of a Fibre Channel network, comprising:
means for ascertaining whether a switch implementing network-based virtualization is coupled to the arbitrated loop, the switch having a plurality of interfaces;
means for setting a fairness indicator associated with the arbitrated loop when a switch implementing network-based virtualization is coupled to the arbitrated loop, the fairness indicator indicating that fairness is enabled when the fairness indicator is in a first state and indicating that fairness is disabled when the fairness indicator is in a second state, wherein the fairness indicator is associated with an interface of the switch that is coupled to the arbitrated loop; and
means for configuring a loop tenancy associated with the arbitrated loop when a switch implementing network-based virtualization is not coupled to the arbitrated loop.
