IP Library Granted Patent US 7,493,371
Granted Patent B1
US 7,493,371 · App. 10/816,336 · Granted Feb 17, 2009

Using a client-server connection protocol to establish a peer-to-peer connection

Assignee: Network Appliance, Inc.
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 7,493,371
App. No.
10/816,336
Granted
Feb 17, 2009
Kind
B1
Abstract

In one embodiment the invention provides a method for establishing a point-to-point link between two peer nodes in a communications network. According to the method, one of the client and server roles is assigned to each of the two nodes based on a rule. Thereafter, the point-to-point link is established between the two nodes based on a predefined client-server connection protocol.

Claims (57)

1. A method for establishing a point-to-point link between two peer nodes in a communications network, the method comprising:

dynamically assigning one of a client and server role to each of the two nodes by applying a rule to two identifiers corresponding to the two nodes, each node identifying the other node with one of the two identifiers;

establishing an initial link between the two nodes based on the roles assigned to the nodes, the initial link based on a predefined client-server connection protocol;

establishing the point-to-point link between the two nodes based only on the initial link, wherein the point-to-point link is established without using a point-to-point connection protocol; and

closing, in response to establishing the point-to-point link, the initial link.

2. The method of claim 1 , further comprising predefining the rule, wherein the rule assigns the client and server roles based on a numeric value of a network address of the two nodes.

3. A method for establishing a peer-to-peer connection between two peer Fibre Channel Virtual Interface (FC-VI) ports, the method comprising:

dynamically assigning one of a client and server role to each of the two FC-VI ports, each of the two ports identifying the other port with an identifier and the assigning based on the identifier;

establishing an initial connection between the two FC-VI ports based on the roles assigned to the ports based on a client-server connection protocol;

establishing the peer-to-peer connection between the two peer FC-VI ports using only the initial connection, wherein the port assigned the client role sends a peer-to-peer connection request to the port assigned the server role, the port assigned the server role accepts the peer-to-peer connection request, and the port assigned the client role acknowledges the acceptance and wherein the peer-to-peer link is established without using a peer-to-peer connection protocol;

closing, in response to establishing the peer-to-peer connection, the initial connection.

4. The method of claim 3 , wherein dynamically assigning the client and server roles comprises performing a comparison of network addresses for the two peer FC-VI ports; and assigning the client and server roles based on the comparison.

5. A method for a first port in a communications network to establish a point-to-point link with a second port in the communications network, the second port being configured as a peer of the first port, the method comprising:

determining unique identifying information for a first peer node connected through a first port to a second peer node through a second port over a communications network;

assigning one of a client and server role for the first port based on a rule applied to the unique identifying information for the first and second ports, the assigning signaling to the second port a role assignment; and

establishing the point-to-point link using a client-server connection protocol, wherein if the first port is assigned a client role, then the first port sends a point-to-point connection request to the second port; and if the first port is assigned the server role, then the first port receives a point-to-point connection request from the second port in response to the assigning and wherein the point-to-point link is established without using a point-to-point connection protocol.

6. The method of claim 5 , wherein the rule defines the client and server roles based on a comparison of values associated with the unique identifying information for the first and second ports.

7. A computer readable storage medium, having stored thereon a sequence of instructions which when executed by a processor, cause the processor to perform a method, the method comprising:

dynamically assigning one of a client and server role to each of the two nodes by applying a rule to two identifiers corresponding to the two nodes, each node identifying the other node with one of the two identifiers;

establishing an initial link between the two nodes based on the roles assigned to the nodes, the initial link based on a predefined client-server connection protocol;

establishing the point-to-point link between the two nodes based only on the initial link, wherein the point-to-point link is established without using a point-to-point connection protocol; and

closing, in response to establishing the point-to-point link, the initial link.

8. The computer readable storage medium of claim 7 , wherein the rule assigns the client and server roles based on a numeric value of a network address of the two nodes.

9. The computer readable storage medium having stored thereon a sequence of instructions which when executed by a processor, cause the processor to perform a method for establishing a peer-to-peer connection between two peer Fibre Channel Virtual Interface (FC-VI) ports, the method comprising:

dynamically assigning one of a client and server role to each of the two FC-VI ports, each of the two ports identifying the other port with an identifier and the assigning based on the identifier;

establishing an initial connection between the two FC-VI ports based on the roles assigned to the ports based on a client-server connection protocol;

establishing the peer-to-peer connection between the two peer FC-VI ports using only the initial connection, wherein the port assigned the client role sends a peer-to-peer connection request to the port assigned the server role, the port assigned the server role accepts the peer-to-peer connection request, and the port assigned the client role acknowledges the acceptance and wherein the peer-to-peer link is established without using a peer-to-peer connection protocol;

closing, in response to establishing the peer-to-peer connection, the initial connection.

10. The computer readable storage medium of claim 9 , wherein dynamically assigning the client and server roles comprises performing a comparison of network addresses for the two peer FC-VI ports; and assigning the client and server roles based on the comparison.

11. The computer readable storage medium having stored thereon a sequence of instructions which when executed by a processor, cause the processor to perform a method, the method comprising:

determining unique identifying information for a first peer node connected through a first port to a second peer node through a second port over a communications network;

assigning one of a client and server role for the first port based on a rule applied to the unique identifying information for the first and second ports, the assigning signaling to the second port a role assignment; and

establishing the point-to-point link using a client-server connection protocol, wherein if the first port is assigned a client role, then the first port sends a point-to-point connection request to the second port; and if the first port is assigned the server role, then the first port receives a point-to-point connection is established without using a point-to-point connection protocol.

12. The computer readable storage medium of claim 11 , wherein the rule defines the client and server roles based on a comparison of values associated with the unique identifying information for the first and second ports.

13. A storage device, comprising:

a processor; and

a memory coupled to the processor, the memory storing instructions which when executed by the processor, cause the storage device to perform a method for establishing a point-to-point link between two peer nodes in a communications network, the method comprising:

dynamically assigning one of a client and server role to each of the two nodes by applying a rule to two identifiers corresponding to the two nodes, each node identifying the other node with one of the two identifiers;

establishing an initial link between the two nodes based on the roles assigned to the nodes, the initial link based on a predefined client-server connection protocol;

establishing the point-to-point link between the two nodes based only on a the initial link, wherein the point-to-point connection is established without using a point-to-point connection protocol; and

closing, in response to establishing the point-to-point link, the initial link.

14. The storage device of claim 13 , wherein the rule assigns the client and server roles based on a numeric value of a network address of the two nodes.

15. A storage device, comprising:

a processor; and

a memory coupled to the processor, the memory storing instructions which when executed by the processor, cause the storage device to perform a method for establishing a peer-to-peer connection between two peer Fibre Channel Virtual Interface (FC-VI) ports, the method comprising:

dynamically assigning one of a client and server role to each of the two FC-VI ports, each of the two ports identifying the other port with an identifier and the assigning based on the identifier;

establishing an initial connection between the two FC-VI ports based on the roles assigned to the ports based on a client-server connection protocol;

establishing the peer-to-peer connection between the two peer FC-VI ports using only the initial connection, wherein the port assigned the client roles sends a peer-to-peer connection request to the port assigned the server role, the port assigned the server role accepts the peer-to-peer connection request, and the port assigned the client role acknowledges the acceptance and wherein the peer-to-peer connection is established without using a peer-to-peer connection protocol;

closing, in response to establishing the point-to-point connection, the initial connection.

16. The storage device of claim 15 , wherein dynamically assigning the client and server roles comprises performing a comparison of network addresses for the two peer FC-VI ports; and assigning the client and server roles based on the comparison.

17. A storage device, comprising:

a processor; and

a memory coupled to the processor, the memory storing instructions which when executed by the processor, cause the storage device to perform a method for a first port in a communications network to establish a point-to-point link with a second port in the communications network, the second port being configured as a peer of the first port, the method comprising:

determining unique identifying information for a first peer node connected through a first port to a second peer node through a second port over a communications network;

assigning one of a client and server role for the first port based on a rule applied to the unique identifying information for the first and second ports, the assigning signaling to the second port a role assignment; and

establishing the point-to-point link using a client-server connection protocol, wherein if the first port is assigned a client role, then the first port sends a point-to-point connection request to the second port; and if the first port is assigned the server role, then the first port receives a point-to-point connection request from the second port in response to the assigning and wherein the point-to-point connection is established without using a point-to-point connection protocol.

18. The storage device of claim 17 , wherein the rule defines the client and server roles based on a comparison of values associated with the unique identifying information for the first and second ports.

Assignments (2)
CHANGE OF NAME Recorded Jan 27, 2025
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 070128/0524 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2004
From: BALI, NAVEEN; GOLE, ABHIJEET; BUDHIA, RAVI K.
To: NETWORK APPLIANCE, INC.
Reel/Frame 015179/0744 →