IP Library Granted Patent US 9,270,578
Granted Patent B2
US 9,270,578 · App. 13/950,188 · Granted Feb 23, 2016

Management of multiple network routes

Inventors: Samuel A. Hopkins (Foster City, CA); Sherman J. Sanders (Foster City, CA); Steven E. Stallion (Santa Clara, CA)
Assignee: INTERMODAL DATA, INC.
H04L45/24H04L67/1097H04L69/14H04L45/125H04L61/103
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,270,578
App. No.
13/950,188
Granted
Feb 23, 2016
Kind
B2
Abstract

Managing network communications between network hosts that have multiple physical network ports coupled to the network. A first host broadcasts address resolution requests from first physical network ports of the first host and receives responses to the address resolution requests from second physical network ports of a second host. The responses include respective connection bandwidths of the second physical network ports. The first host generates connectivity information describing a plurality of available communication routes in the network between first physical network ports of the first host and second physical network ports of the second host based on the responses, from which a subset of available communication routes can be selected for data transfer.

Claims (68)

1. A computer implemented method of operations in a first host that communicates with a second host through a network, comprising:

broadcasting address resolution requests from a plurality of first physical network ports of the first host to a plurality of second physical network ports of the second host;

receiving responses to the address resolution requests from the second physical network ports of the second host, the responses to the address resolution requests including respective connection bandwidths of the second physical network ports;

generating connectivity information describing a plurality of available communication routes in the network between the plurality of first physical network ports of the first host and the plurality of second physical network ports of the second host based on the responses to the address resolution requests;

selecting a subset of the available communication routes for data transfer via the network between the first host and the second host based on the respective connection bandwidths of the second physical network ports; and

transferring data with the second host via the subset of the available communication routes,

wherein the respective port bandwidths for the second physical network ports are included in optional extension fields of the responses to the address resolution requests.

2. The method of claim 1 , wherein the connectivity information includes a plurality of entries for the available communication routes, an entry for a available communication route identifying a respective one of the first physical network ports, a respective one of the second physical network ports and a respective connection bandwidth for the respective one of the second physical network ports.

3. A computer implemented method of operations in a first host that communicates with a second host through a network, comprising:

broadcasting address resolution requests from a plurality of first physical network ports of the first host to a plurality of second physical network ports of the second host;

receiving responses to the address resolution requests from the second physical network ports of the second host, the responses to the address resolution requests including respective connection bandwidths of the second physical network ports;

generating connectivity information describing a plurality of available communication routes in the network between the plurality of first physical network ports of the first host and the plurality of second physical network ports of the second host based on the responses to the address resolution requests;

selecting a subset of the available communication routes for data transfer via the network between the first host and the second host based on the respective connection bandwidths of the second physical network ports; and

transferring data with the second host via the subset of the available communication routes,

wherein selecting the subset of the available communication routes for data transfer via the network between the first host and the second host comprises: selecting the subset of the available communication routes for data transfer via the network between the first host and the second host based on respective connection bandwidths of the first physical network ports and the respective connection bandwidths of the second physical network ports.

4. The method of claim 3 , wherein selecting the subset of the available communication routes comprises: selecting the subset of the available communication routes by allocating the respective connection bandwidths of the first physical network ports and the respective connection bandwidths of the second physical network ports until the respective connection bandwidths for either the first physical network ports or the second physical network ports are consumed.

5. The method of claim 3 , wherein the subset of available communication routes are selected to balance data transfer across at least one of the first physical network ports or the second physical network ports.

6. A computer implemented method of operations in a first host that communicates with a second host through a network, comprising:

broadcasting address resolution requests from a plurality of first physical network ports of the first host to a plurality of second physical network ports of the second host;

receiving responses to the address resolution requests from the second physical network ports of the second host, the responses to the address resolution requests including respective connection bandwidths of the second physical network ports;

generating connectivity information describing a plurality of available communication routes in the network between the plurality of first physical network ports of the first host and the plurality of second physical network ports of the second host based on the responses to the address resolution requests;

selecting a subset of the available communication routes for data transfer via the network between the first host and the second host based on the respective connection bandwidths of the second physical network ports; and

transferring data with the second host via the subset of the available communication routes,

wherein the subset of available communication routes is a minimum subset of the available communication routes that fully utilizes all available bandwidth of at least one of the first physical network ports or the second physical network ports.

7. The method of claim 6 , wherein a first communication route in the subset of communication routes is a communication route between a first physical network port and a second physical network port having different connection bandwidths.

8. A computer implemented method of operations in a first host that communicates with a second host through a network, comprising:

broadcasting address resolution requests from a plurality of first physical network ports of the first host to a plurality of second physical network ports of the second host;

receiving responses to the address resolution requests from the second physical network ports of the second host, the responses to the address resolution requests including respective connection bandwidths of the second physical network ports;

generating connectivity information describing a plurality of available communication routes in the network between the plurality of first physical network ports of the first host and the plurality of second physical network ports of the second host based on the responses to the address resolution requests;

selecting a subset of the available communication routes for data transfer via the network between the first host and the second host based on the respective connection bandwidths of the second physical network ports; and

transferring data with the second host via the subset of the available communication routes,

wherein the first physical ports have different physical addresses and a single network address.

9. The method of claim 8 , wherein the network is a storage area network (SAN), the first host is an initiator host and the second host is a storage host that provides storage services for the initiator host via the SAN through a SAN protocol, wherein generating connectivity information comprises:

generating connectivity information describing a plurality of available communication routes in the SAN between a plurality of first physical network ports of the initiator host and a plurality of second physical network ports of the storage host that provide storage services for the initiator host via the SAN.

10. A non-transitory computer readable medium storing processor executable instructions for network communications between a first host that communicates with a second host through a network, the instructions comprising instructions for:

broadcasting address resolution requests from a plurality of first physical network ports of the first host to a plurality of second physical network ports of the second host;

receiving responses to the address resolution requests from the second physical network ports of the second host, the responses to the address resolution requests including respective connection bandwidths of the second physical network ports;

generating connectivity information describing a plurality of available communication routes in the network between the plurality of first physical network ports of the first host and the plurality of second physical network ports of the second host based on the responses to the address resolution requests;

selecting a subset of the available communication routes for data transfer via the network between the first host and the second host based on the respective connection bandwidths of the second physical network ports; and

transferring data with the second host via the subset of the available communication routes,

wherein the connectivity information includes a plurality of entries for the available communication routes, an entry for a available communication route identifying a respective one of the first physical network ports, a respective one of the second physical network ports and a respective connection bandwidth for the respective one of the second physical network ports.

11. The computer readable medium of claim 10 , wherein the respective port bandwidths for the second physical network ports are included in optional extension fields of the responses to the address resolution requests.

12. The computer readable medium of claim 10 , wherein the subset of available communication routes are selected to balance data transfer across at least one of the first physical network ports or the second physical network ports.

13. A non-transitory computer readable medium storing processor executable instructions for network communications between a first host that communicates with a second host through a network, the instructions comprising instructions for:

broadcasting address resolution requests from a plurality of first physical network ports of the first host to a plurality of second physical network ports of the second host;

receiving responses to the address resolution requests from the second physical network ports of the second host, the responses to the address resolution requests including respective connection bandwidths of the second physical network ports;

generating connectivity information describing a plurality of available communication routes in the network between the plurality of first physical network ports of the first host and the plurality of second physical network ports of the second host based on the responses to the address resolution requests;

selecting a subset of the available communication routes for data transfer via the network between the first host and the second host based on the respective connection bandwidths of the second physical network ports; and

transferring data with the second host via the subset of the available communication routes,

wherein selecting the subset of the available communication routes for data transfer via the network between the first host and the second host comprises: selecting the subset of the available communication routes for data transfer via the network between the first host and the second host based on respective connection bandwidths of the first physical network ports and the respective connection bandwidths of the second physical network ports.

14. The computer readable medium of claim 13 , wherein selecting the subset of the available communication routes comprises: selecting the subset of the available communication routes by allocating the respective connection bandwidths of the first physical network ports and the respective connection bandwidths of the second physical network ports until the respective connection bandwidths for either the first physical network ports or the second physical network ports are consumed.

15. A non-transitory computer readable medium storing processor executable instructions for network communications between a first host that communicates with a second host through a network, the instructions comprising instructions for:

broadcasting address resolution requests from a plurality of first physical network ports of the first host to a plurality of second physical network ports of the second host;

receiving responses to the address resolution requests from the second physical network ports of the second host, the responses to the address resolution requests including respective connection bandwidths of the second physical network ports;

generating connectivity information describing a plurality of available communication routes in the network between the plurality of first physical network ports of the first host and the plurality of second physical network ports of the second host based on the responses to the address resolution requests;

selecting a subset of the available communication routes for data transfer via the network between the first host and the second host based on the respective connection bandwidths of the second physical network ports; and

transferring data with the second host via the subset of the available communication routes,

wherein the subset of available communication routes is a minimum subset of the available communication routes that fully utilizes all available bandwidth of at least one of the first physical network ports or the second physical network ports.

16. The computer readable medium of claim 15 , wherein a first communication route in the subset of communication routes is a communication route between a first physical network port and a second physical network port having different connection bandwidths.

17. A non-transitory computer readable medium storing processor executable instructions for network communications between a first host that communicates with a second host through a network, the instructions comprising instructions for:

broadcasting address resolution requests from a plurality of first physical network ports of the first host to a plurality of second physical network ports of the second host;

receiving responses to the address resolution requests from the second physical network ports of the second host, the responses to the address resolution requests including respective connection bandwidths of the second physical network ports;

generating connectivity information describing a plurality of available communication routes in the network between the plurality of first physical network ports of the first host and the plurality of second physical network ports of the second host based on the responses to the address resolution requests;

selecting a subset of the available communication routes for data transfer via the network between the first host and the second host based on the respective connection bandwidths of the second physical network ports; and

transferring data with the second host via the subset of the available communication routes,

wherein the network is a storage area network (SAN), the first host is an initiator host and the second host is a storage host that provides storage services for the initiator host via the SAN through a SAN protocol, wherein generating connectivity information comprises:

generating connectivity information describing a plurality of available communication routes in the SAN between a plurality of first physical network ports of the initiator host and a plurality of second physical network ports of the storage host that provide storage services for the initiator host via the SAN.

18. The computer readable medium of claim 17 , wherein the first physical ports have different physical addresses and a single network address.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2016
From: CORAID, INC.
To: INTERMODAL DATA, INC.
Reel/Frame 038576/0184 →
SECURITY INTEREST Recorded May 12, 2016
From: INTERMODAL DATA, INC.
To: TRIPLEPOINT VENTURE GROWTH BDC CORP.
Reel/Frame 038576/0311 →
SECURED PARTY BILL OF SALE Recorded Jun 4, 2015
From: CORAID, INC.
To: INTERMODAL DATA, INC.
Reel/Frame 035827/0886 →
ASSIGNMENT OF SECURITY AGREEMENT (REEL 031869, FRAME 0790) Recorded Mar 7, 2014
From: TRIPLEPOINT CAPITAL LLC
To: TRIPLEPOINT VENTURE GROWTH BDC CORP.
Reel/Frame 032410/0347 →
SECURITY AGREEMENT Recorded Dec 26, 2013
From: CORAID, INC.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 031869/0790 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2013
From: HOPKINS, SAMUEL A.; SANDERS, SHERMAN J.; STALLION, STEVEN E.
To: CORAID, INC.
Reel/Frame 030879/0770 →
Continuity (1)
Related Publication 20150030025A1 · Jan 29, 2015