System and method for establishing a peer connection using reliable RDMA primitives
First Claim
1. A method for initiating a peer-to-peer communication session, the method comprising:
- initiating a boot process;
initializing a cluster connection manager in the booting process before a storage operating system executing on a cluster partner is fully active;
initiating, by the cluster connection manger, a first remote direct memory access (RDMA) read operation directed to a cluster partner before a storage operating system executing on the cluster partner is fully active, the RDMA read operation bypassing the operating system;
performing, in response to a successful first RDMA read operation, a first RDMA write operation to the cluster partner;
performing, in response to a successful RDMA write operation, a second RDMA read operation directed to the cluster partner; and
performing, in response to a successful second RDMA read operation, a second RDMA write operation to the cluster partner before a storage operating system executing on the cluster partner is fully active, in the booting process.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for reliable peer-to-peer communication is provided. The system and method includes a cluster connection manager that acts as a unified resource for opening, closing and maintaining peer-to-peer communication channels between applications executing on storage systems comprising a storage system cluster. The cluster connection manager communicates with cluster connection manager clients to maintain and manage the communication channels. The cluster connection manager may also be operatively interconnected with a plurality of cluster interconnect devices, thereby enabling failover operation in the event that a cluster interconnect device suffers an error condition.
77 Citations
28 Claims
-
1. A method for initiating a peer-to-peer communication session, the method comprising:
-
initiating a boot process; initializing a cluster connection manager in the booting process before a storage operating system executing on a cluster partner is fully active; initiating, by the cluster connection manger, a first remote direct memory access (RDMA) read operation directed to a cluster partner before a storage operating system executing on the cluster partner is fully active, the RDMA read operation bypassing the operating system; performing, in response to a successful first RDMA read operation, a first RDMA write operation to the cluster partner; performing, in response to a successful RDMA write operation, a second RDMA read operation directed to the cluster partner; and performing, in response to a successful second RDMA read operation, a second RDMA write operation to the cluster partner before a storage operating system executing on the cluster partner is fully active, in the booting process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
initiating a boot process; initializing a cluster connection manager in the boot process before a storage operating system executing on a cluster partner is fully active; initiating, a peer-to-peer communication session, by a cluster connection manager, before a storage operating system executing on the cluster partner is fully active which bypasses an operating system on a storage system by attempting a first remote direct memory access read operation directed to a predefined hardware address and a predefined port number, the predefined hardware address and the predefined port number previously known to support a RDMA operation; and performing, in the booting process before a storage operation system executing on the cluster partner is fully active, in response to a successful initiating, a first remote direct memory access write operation directed to the predefined hardware address and the predefined port number. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A system configured to establish reliable peer-to-peer communication among storage system of a clustered environment, the system comprising:
-
a booting process executed by a processor; a peer process executing on each storage system partner having an operating system; and a cluster connection manager executing on each storage system partner, the cluster connection manager establishing a reliable peer-to-peer connection between each peer process in the booting process before a storage operating system executing on a cluster partner is fully active be connecting to a predetermined port number using a predetermined network address, the reliable peer-to-peer connection bypassing the operating system and initiate a remote direct memory access (RDMA) read operation directed to a cluster partner. - View Dependent Claims (16, 17, 18)
-
-
19. A system configured to open initial peer-to-peer connection over a cluster interconnect, the system comprising:
-
a storage system having an operating system; a booting process executed by a processor; a cluster connection manager executing on the storage system, the cluster connection manager configured to establish a peer connection in the booting process before a storage operating system executing on a cluster partner in fully active on a predetermined port number and using a predetermined network address with in the storage system the peer-to-peer connection bypassing the operating system and initiate a remote direct memory access (RDMA) read operation directed to a cluster partner; and a process executing on the storage system, the process configured to use the established peer connection for communication. - View Dependent Claims (20, 21, 22)
-
-
23. A system configured to accept the initiation of a peer-to-peer connection over a cluster interconnect, the system comprising:
-
a storage system having an operating system; a booting process executed by a process; a cluster connection manager executing on the storage system, the cluster connection manager executing on the storage system, the cluster connection manager configured to accept a peer connection on a predetermined port number and using a predetermined network address within the storage system and initiate a remote direct memory access (RDMA) read operation to a cluster partner in the booting process before a storage operating system executing fully active; and a process executing on the storage system, the process configured to read information from the established peer connection. - View Dependent Claims (24, 25, 26, 27)
-
-
28. A computer readable medium containing executable program instructions executed by a processor, comprising:
-
program instructions that initiate a booting process; program instructions that initialize a cluster connection manager in the booting process before a storage operating system executing a cluster partner is fully active; program instructions that initiate in the booting process, a first remote direct memory access (RDMA) read operation before a storage operating system executing on a cluster partner is fully active; program instructions that perform, in response to a successful RDMA write operation, a second RDMA read operation directed to the cluster partner; and program instructions that perform in the booting process before a storage cooperating system executing on the cluster partner is fully active, in response to a successful second RDMA read operation, a second RDMA write operation to the cluster partner.
-
Specification