IP Library Granted Patent US 9,531,585
Granted Patent B2
US 9,531,585 · App. 15/056,773 · Granted Dec 27, 2016

Network bootstrapping for a distributed storage system

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,531,585
App. No.
15/056,773
Granted
Dec 27, 2016
Kind
B2
Abstract

Embodiments are directed towards configuring a distributed storage system over a network. Master computers and Subordinate computers may separate components of the distributed storage system. Each subordinate computer may perform actions when connected to the network. When the network provides for site-level multicasting, the subordinate computer broadcasts site-level multicast request(s) for a network address of master computer(s) assigned to that subordinate computer. When the network supports a local domain name system (DNS) server, the subordinate computer provides a DNS query to the local DNS server to obtain from an external server the network address for the master computer(s) assigned to that subordinate computer. When then network supports a master computer as a DNS server, the subordinate computer provides the DNS query to the master computer DNS server to obtain from the external server the network address of the master computer(s) assigned to that subordinate computer.

Claims (55)

1. A method for a distributed storage system on a network, comprising:

establishing communication between a plurality of separate controllers over the network, wherein each controller is coupled to a storage device and each controller is identified as one of a master computer or a subordinate computer, and wherein each subordinate computer is assigned to one or more master computers;

when the network provides for site-level multicasting and a controller is identified as the subordinate computer, broadcasting site-level multicast requests for a network address of one or more master computers assigned to that subordinate computer;

when the network supports a local domain name system (DNS) server, providing a DNS query to the local DNS server to obtain the network address for the one or more master computers assigned to the subordinate computer; and

when the network supports a master computer as a DNS server, providing the DNS query to the master computer DNS server to obtain the network address and identify the one or more master computers assigned to the subordinate computer, wherein one of the identified master computers notifies each other identified master computer in its cluster of the subordinate computer or the subordinate computer registers itself with each identified master computer assigned to the subordinate computer based on a response from the DNS query.

2. The method of claim 1 , further comprising, employing one subordinate computer to provide a request to one of the master computers assigned to the one subordinate computer to determine other subordinate computers associated with the one subordinate computer.

3. The method of claim 1 , further comprising, configuring one of the master computers as a DNS server to communicate DNS requests to an external server.

4. The method of claim 1 , wherein each of the master computers provides its network address to an external server to enable the external server to provide master computer network addresses to the subordinate computer based on the query.

5. The method of claim 1 , further comprising:

when the network provides for site-level multicasting, employing a master computer to broadcast site-level multicast requests for a network address of one or more other master computers assigned to a same cluster as that master computer;

when the network supports a local domain name system (DNS) server, employing one master computer to provide a DNS query to the local DNS server to obtain from an external server the network address for the one or more other master computers assigned to the same cluster as the one master computer; or

when the network supports one master computer as a DNS server, employing that master computer, providing the DNS query to the master computer DNS server to obtain from the external server the network address of the one or more other master computers assigned to the same cluster as that master computer.

6. A controller for a distributed storage system over a network, comprising:

an interface that is coupled to one or more storage devices;

an interface for communicating over the network with at least a plurality of controllers; and

one or more processors that execute instructions to perform actions, including:

establishing communication with the plurality of controllers over the network, wherein each controller is identified as one of a master computer or a subordinate computer, and wherein each subordinate computer is assigned to one or more master computers;

when the network provides for site-level multicasting and a controller is identified as the subordinate computer, broadcasting site-level multicast requests for a network address of one or more master computers assigned to that subordinate computer;

when the network supports a local domain name system (DNS) server, providing a DNS query to the local DNS server to obtain the network address for the one or more master computers assigned to the subordinate computer; and

when the network supports a master computer as a DNS server, providing the DNS query to the master computer DNS server to obtain the network address and identify the one or more master computers assigned to the subordinate computer, wherein one of the identified master computers notifies each other identified master computer in its cluster of the subordinate computer or the subordinate computer registers itself with each identified master computer assigned to the subordinate computer based on a response from the DNS query.

7. The controller of claim 6 , further comprising, employing one subordinate computer to provide a request to one of the master computers assigned to the one subordinate computer to determine other subordinate computers associated with the one subordinate computer.

8. The controller of claim 6 , further comprising, configuring one of the master computers as a DNS server to communicate DNS requests to an external server.

9. The controller of claim 6 , wherein each of the master computers provides its network address to an external server to enable the external server to provide master computer network addresses to the subordinate computer based on the query.

10. The controller of claim 6 , further comprising:

when the network provides for site-level multicasting, employing a master computer to broadcast site-level multicast requests for a network address of one or more other master computers assigned to a same cluster as that master computer;

when the network supports a local domain name system (DNS) server, employing one master computer to provide a DNS query to the local DNS server to obtain from an external server the network address for the one or more other master computers assigned to the same cluster as the one master computer; or

when the network supports one master computer as a DNS server, employing that master computer, providing the DNS query to the master computer DNS server to obtain from the external server the network address of the one or more other master computers assigned to the same cluster as that master computer.

11. A system for a distributed storage system over a network, comprising:

a plurality of controllers, comprising:

an interface that is coupled to one or more storage devices;

another interface for communicating over the network; and

one or more processors that execute instructions to perform actions, including:

establishing communication between the plurality of controllers over the network, wherein each controller is identified as one of a master computer or a subordinate computer, and wherein each subordinate computer is assigned to one or more master computers;

when the network provides for site-level multicasting and a controller is identified as the subordinate computer, broadcasting site-level multicast requests for a network address of one or more master computers assigned to that subordinate computer;

when the network supports a local domain name system (DNS) server, providing a DNS query to the local DNS server to obtain the network address for the one or more master computers assigned to the subordinate computer; and

when the network supports a master computer as a DNS server, providing the DNS query to the master computer DNS server to obtain the network address and identify the one or more master computers assigned to the subordinate computer, wherein one of the identified master computers notifies each other identified master computer in its cluster of the subordinate computer or the subordinate computer registers itself with each identified master computer assigned to the subordinate computer based on a response from the DNS query.

12. The system of claim 11 , further comprising, employing one subordinate computer to provide a request to one of the master computers assigned to the one subordinate computer to determine other subordinate computers associated with the one subordinate computer.

13. The system of claim 11 , further comprising, configuring one of the master computers as a DNS server to communicate DNS requests to an external server.

14. The system of claim 11 , wherein each of the master computers provides its network address to an external server to enable the external server to provide master computer network addresses to the subordinate computer based on the query.

15. The system of claim 11 , further comprising:

when the network provides for site-level multicasting, employing a master computer to broadcast site-level multicast requests for a network address of one or more other master computers assigned to a same cluster as that master computer;

when the network supports a local domain name system (DNS) server, employing one master computer to provide a DNS query to the local DNS server to obtain from an external server the network address for the one or more other master computers assigned to the same cluster as the one master computer; or

when the network supports one master computer as a DNS server, employing that master computer, providing the DNS query to the master computer DNS server to obtain from the external server the network address of the one or more other master computers assigned to the same cluster as that master computer.

16. A processor readable non-transitory storage media that includes instructions for managing a distributed storage system over a network, wherein execution of the instructions by one or more processors performs actions, comprising:

establishing communication between a plurality of separate controllers over the network, wherein each controller is coupled to a storage device and each controller is identified as one of a master computer or a subordinate computer, and wherein each subordinate computer is assigned to one or more master computers;

when the network provides for site-level multicasting and a controller is identified as the subordinate computer, broadcasting site-level multicast requests for a network address of one or more master computers assigned to that subordinate computer;

when the network supports a local domain name system (DNS) server, providing a DNS query to the local DNS server to obtain the network address for the one or more master computers assigned to the subordinate computer; and

when the network supports a master computer as a DNS server, providing the DNS query to the master computer DNS server to obtain the network address and identify the one or more master computers assigned to the subordinate computer, wherein one of the identified master computers notifies each other identified master computer in its cluster of the subordinate computer or the subordinate computer registers itself with each identified master computer assigned to the subordinate computer based on a response from the DNS query.

17. The media of claim 16 , further comprising, employing one subordinate computer to provide a request to one of the master computers assigned to the one subordinate computer to determine other subordinate computers associated with the one subordinate computer.

18. The media of claim 16 , further comprising, configuring one of the master computers as a DNS server to communicate DNS requests to an external server.

19. The media of claim 16 , wherein each of the master computers provides its network address to an external server to enable the external server to provide master computer network addresses to the subordinate computer based on the query.

20. The media of claim 16 , further comprising:

when the network provides for site-level multicasting, employing a master computer to broadcast site-level multicast requests for a network address of one or more other master computers assigned to a same cluster as that master computer;

when the network supports a local domain name system (DNS) server, employing one master computer to provide a DNS query to the local DNS server to obtain from an external server the network address for the one or more other master computers assigned to the same cluster as the one master computer; or

when the network supports one master computer as a DNS server, employing that master computer, providing the DNS query to the master computer DNS server to obtain from the external server the network address of the one or more other master computers assigned to the same cluster as that master computer.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 60333/0323 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071565/0602 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 10, 2022
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 060333/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2020
From: IGNEOUS SYSTEMS, INC.
To: RUBRIK, INC.
Reel/Frame 054781/0196 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 29, 2016
From: DAUD, ASIF ARIF; PILLOUD, ANDREW MARTIN; WALLACE, KEVIN THOMAS
To: IGNEOUS SYSTEMS, INC.
Reel/Frame 037958/0636 →