IP Library Granted Patent US 11,489,723
Granted Patent B2
US 11,489,723 · App. 17/200,896 · Granted Nov 1, 2022

Multicast domain name system (mDNS)-based pull registration

Inventors: Erik Smith (Douglas, MA); Joseph LaSalle White (San Jose, CA)
Assignee: DELL PRODUCTS L.P.
H04L41/0813G06F13/1668G06F13/4282H04L12/4641H04L61/4511H04L67/1063H04L67/561
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 11,489,723
App. No.
17/200,896
Granted
Nov 1, 2022
Kind
B2
Abstract

Multicast Domain Name System (mDNS)-based pull registration systems and methods facilitate discovery in communication networks, such as Storage Area Networks (SANs) that operate in non-volatile memory express over Fabric (NVMe-oF) environments. In various embodiments, this is accomplished by allowing a network entity (e.g., a Centralized Discovery Controller (CDC)) to use a pull registration to exchange discovery information with a storage subsystem (e.g., a storage array), advantageously, without requiring storage subsystem to possess complex functionalities present in existing designs.

Claims (36)

1. A computer-implemented registration method for a non-volatile memory (NVM) storage system in a non-volatile memory express (NVMe)-over-Fabrics (NVMe-oF) system, the method comprising:

using one or more multicast Domain Name System (mDNS) messages to communicate to a centralized discovery controller (CDC) that the non-volatile memory (NVM) storage subsystem seeks registration with the centralized discovery controller, in which the centralized discovery controller detects via one or more of the one or more mDNS messages that the NVM storage subsystem supports pull registration;

establishing a connection with the centralized discovery controller;

receiving from the centralized discovery controller a pull registration message to obtain information about the NVM storage subsystem;

in response to receiving a pull registration message from the centralized discovery controller, providing discovery information associated with the NVM storage subsystem to the centralized discovery controller to allow the centralized discovery controller to register information associated with the NVM storage subsystem in a centralized registration datastore by creating a registration entry associated with the NVM storage subsystem, which registration entry is discoverable by one or more hosts in the NVMe-oF system.

2. The computer-implemented method of claim 1 , wherein the centralized discovery controller comprises a centralized discovery controller proxy that is implemented in a same Virtual Local Area Network (VLAN) as the NVM storage subsystem so that it receives the one or more multicast Domain Name System (mDNS) messages from the NVM storage subsystem.

3. The computer-implemented method of claim 2 , wherein centralized discovery controller proxy forwards at least one of the one or more mDNS messages from the NVM storage subsystem to the centralized discovery controller to facilitate communicating to the centralized discovery controller that the NVM storage subsystem seeks registration with the centralized discovery controller.

4. The computer-implemented method of claim 1 , wherein the discovery information enables a host to access at least part of the NVM storage subsystem that the host is permitted to communicate with.

5. The computer-implemented method of claim 4 , wherein the centralized discovery controller comprises a centralized discovery controller proxy that is implemented in a Virtual Local Area Network (VLAN) and establishes a connection between the host and the at least part of the NVM subsystem.

6. The computer-implemented method of claim 1 , wherein the pull registration message from the centralized discovery controller is a get log page message with an identifier to request for the NVM storage subsystem to return the discovery information via a log page entry or entries.

7. The computer-implemented method of claim 1 , wherein the discovery information identifies a set of storage interfaces associated with the NVM storage subsystem that request a pull registration.

8. The computer-implemented method of claim 1 , further comprising:

issuing an mDNS probe message to verify that certain information that the NVM storage subsystem will advertise is unique.

9. The computer-implemented method of claim 8 , wherein the mDNS probe message is one of the one or more mDNS messages.

10. A computer-implemented method for registering a non-volatile memory (NVM) storage system with a centralized discovery controller in a non-volatile memory express (NVMe)-over-Fabrics (NVMe-oF) system, the method comprising:

using multicast Domain Name System (mDNS) to detect an unregistered interface of a NVM storage subsystem that supports pull registration;

establishing a connection with the NVM storage subsystem;

sending a pull registration message to the NVM storage subsystem to obtain information about the unregistered interface of the NVM storage subsystem;

responsive to receiving discovery information associated with the unregistered interface of the NVM storage subsystem in response to the pull registration message, registering at least some of the discovery information in a centralized registration datastore by creating a registration entry associated with the interface of the NVM storage subsystem, which registration entry is discoverable by one or more hosts in the NVMe-oF system.

11. The computer-implemented method of claim 10 , wherein the step of using multicast Domain Name System (mDNS) to detect an unregistered interface of a NVM storage subsystem that supports pull registration comprises:

transmitting an mDNS query that comprises a pull discovery indicator to determine if there are one or more interfaces in the NVMe-oF system that support pull discovery service; and

responsive to the NVM storage subsystem receiving the mDNS query, having an interface to be registered, and supporting pull registration, receiving at the centralized discovery controller, receiving an mDNS response from the NVM storage subsystem.

12. The computer-implemented method of claim 11 , wherein the centralized discovery controller comprises a centralized discovery controller proxy that is implemented in a same Virtual Local Area Network (VLAN) as the NVM storage subsystem so that centralized discovery controller receives the mDNS response from the NVM storage subsystem.

13. The computer-implemented method of claim 12 , wherein centralized discovery controller proxy forwards the mDNS response from the NVM storage subsystem to the centralized discovery controller to facilitate communicating to the centralized discovery controller that the NVM storage subsystem seeks registration with the centralized discovery controller.

14. The computer-implemented method of claim 10 , wherein at least some of the discovery information enables a host to access at least part of the NVM storage subsystem that the host is permitted to communicate with.

15. The computer-implemented method of claim 14 , wherein the centralized discovery controller comprises a centralized discovery controller proxy that is implemented in a Virtual Local Area Network (VLAN) and establishes a connection between the host and the at least part of the NVM subsystem.

16. The computer-implemented method of claim 10 , wherein the pull registration message from the centralized discovery controller is a get log page message with an identifier to request for the NVM storage subsystem to return the discovery information via a log page entry or entries.

17. An information handling system for facilitating registration with a centralized discovery controller service in a non-volatile memory express (NVMe)-over-Fabrics (NVMe-oF) system, the method comprising, the system comprising:

one or more processors; and

a non-transitory computer-readable medium or media comprising one or more sets of instructions which, when executed by at least one of the one or more processors, causes steps to be performed comprising:

using a multicast Domain Name System (mDNS) protocol to determine whether an interface of an NVM storage subsystem is unregistered and whether the NVM storage subsystem supports pull registration;

causing a pull registration message to be transmitted to the NVM storage subsystem to obtain information about the interface of the NVM storage subsystem;

responsive to receiving discovery information associated with the interface of the NVM storage subsystem in response to the pull registration message, registering at least some of the discovery information in a centralized registration datastore by creating a registration entry associated with the interface of the NVM storage subsystem.

18. The information handling system of claim 17 , wherein at least some of the discovery information enables a host to access at least part of the NVM storage subsystem that the host is permitted to communicate with.

19. The information handling system of claim 17 , wherein the centralized discovery controller interfaces with a centralized discovery controller proxy, which is a member of a same Virtual Local Area Network (VLAN) as the NVM storage subsystem, that helps facilitate the step of using a multicast Domain Name System (mDNS) protocol to determine whether an interface of an NVM storage subsystem is unregistered and whether the NVM storage subsystem supports pull registration.

20. The information handling system of claim 17 , wherein the pull registration message from the centralized discovery controller is a get log page message with an identifier to request for the NVM storage subsystem to return the discovery information via a log page entry or entries.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2021
From: SMITH, ERIK; WHITE, JOSEPH L
To: DELL PRODUCTS L.P.
Reel/Frame 055660/0679 →