IP Library Granted Patent US 8,972,581
Granted Patent B2
US 8,972,581 · App. 14/327,828 · Granted Mar 3, 2015

Server clustering in a computing-on-demand system

Inventors: Emily Katherine Witt (Livermore, CA); Richard Cooke (New Windsor, MD); William Thomas Everhart, Jr. (Belcamp, MD); Jinendrakumar J Patel (Laurel, MD); Vijay Kumar (Edison, NJ)
Assignee: Verizon Patent and Licensing Inc.
H04L47/70H04L29/08144H04L45/28H04L41/0654
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 8,972,581
App. No.
14/327,828
Granted
Mar 3, 2015
Kind
B2
Abstract

A device may provision two or more servers, each of the servers including a network interface. In addition, the device may enable the network interface in each of the provisioned servers, create a shared volume, assign the shared volume to each of the provisioned servers, and enable a clustering application on each of the provisioned servers to form a cluster comprising the provisioned servers, the cluster having a heartbeat via the network interfaces.

Claims (75)

1. A method comprising:

receiving, at a portal device at a network and from a client application, a user request to provision a cluster in the network, wherein the client application includes a browser;

provisioning, by at least one device in response to the request, two or more servers having a plurality of network interfaces, wherein each of the servers includes a corresponding network interface;

enabling, by at least one device, the corresponding network interface in each server of the provisioned servers;

creating, by at least one device, a shared volume;

assigning, by at least one device, the shared volume to each of the provisioned servers;

enabling a clustering application on each of the provisioned servers, wherein the enabled clustering application creates the cluster comprising the provisioned servers, wherein the cluster has a heartbeat via the provisioned servers over the plurality of network interfaces in the provisioned servers; and

fencing, via a power control device, one of the two or more servers when a different one of the two or more servers fails.

2. The method of claim 1 , further comprising at least one of:

updating the cluster.

3. The method of claim 1 , further comprising one of:

selecting a least used cluster; or

selecting a most used cluster.

4. The method of claim 1 , wherein provisioning the two or more servers comprise:

creating two or more virtual servers by cloning the two or more virtual servers.

5. The method of claim 1 , further comprising:

installing the clustering application on each of the provisioned servers; and

updating the clustering application on each of the provisioned servers.

6. The method of claim 1 , further comprising:

placing a first server of the provisioned servers in a standby mode; and

placing a second server of the provisioned servers in an active mode.

7. The method of claim 6 , further comprising:

activating the first server when the second server fails.

8. The method of claim 6 , further comprising:

preventing the second server from writing to the shared volume.

9. The method of claim 1 , wherein assigning the shared volume includes:

mapping the shared volume to one of the provisioned servers;

rescanning the shared volume at the one of the provisioned servers; and

formatting the shared volume at the one of the provisioned servers.

10. The method of claim 9 , further comprising:

mounting the shared volume at a mount point on the one of the provisioned servers; and

recording the mount point and an identifier for the shared volume in a file system table (FSTAB) on the one of the provisioned servers.

11. The method of claim 1 , further comprising:

creating a cluster name;

reserving an Internet Protocol (IP) address for the cluster at a network device; and

registering the cluster name and the IP address at a domain name server.

12. The method of claim 1 , further comprising:

de-provisioning the cluster.

13. A system comprising:

first logic comprising at least one processor to:

generate a job for provisioning a cluster in a network, wherein the cluster includes at least one standby device and an active device that are interconnected via a heartbeat network, and wherein in response to a failure of the active device, the standby device becomes active and operates in place of the failed active device; and

place the job in a database;

second logic comprising at least one processor to drive an execution of the job in the database, the job comprising instructions for one or more of devices in the system to:

provision two servers having a plurality of network interfaces, each of the two servers including a network interface;

enable the network interface in each of the provisioned servers, wherein each of the network interfaces includes at least one of an Ethernet interface or an Internet Protocol (IP) network interface;

create a shared volume;

assign the shared volume to each of the provisioned servers; and

create a cluster from the provisioned servers, the cluster having a heartbeat over the plurality of network interfaces;

a portal device to receive a user request to provision the cluster, from a client application on a remote device, wherein the client application includes a browser; and

a power control device for fencing one of the two servers when the one of the two servers fails,

wherein the system is included in the network.

14. The system of claim 13 , wherein the second logic is further configured to:

de-provision the cluster.

15. The system of claim 13 , wherein the two servers include two virtual machines, and wherein when the second logic provisions the two servers, the second logic is configured to:

clone one of the two virtual servers to create the other of the two virtual servers.

16. The system of claim 13 , wherein the job includes further comprising instructions for the one or more of devices in the system to:

create a cluster name for the cluster;

reserve an Internet Protocol (IP) address for the cluster at a network device; and

register the cluster name and the IP address at a domain name server.

17. Non-transitory computer-readable media comprising computer executable instructions for causing one or more processors to:

receive, at a portal device at a network, a user request to provision two or more devices in the network, from a client application on a remote device, wherein the client application includes a browser;

provision two or more devices having a plurality of network interfaces, each of the devices including a network interface in response to the user request;

enable the network interface in each of the provisioned devices;

create a quorum disk;

assign a logical volume associated with the quorum disk to each of the provisioned devices,

install a clustering application on each of the provisioned devices,

enable the clustering application and a heartbeat between the provisioned devices via the plurality of network interfaces in the provisioned devices; and

fencing, via a power control device, one of the two or more devices when a different one of the two or more devices fails.

18. The non-transitory computer-readable media of claim 17 , wherein when the one or more processors provision the two or more devices, the one or more processors create two or more virtual servers by cloning the two or more virtual servers.

19. The non-transitory computer-readable media of claim 17 , further comprising computer-executable instructions for causing the one or more processors to:

create a cluster name for the two or more devices;

reserve an Internet Protocol (IP) address for the cluster name at a network device; and

register the cluster name and the IP address at a domain name server.

20. The non-transitory computer-readable media of claim 17 , wherein the computer-executable instructions include further instructions for causing the one or more processors to:

instantiate a cluster object, in a memory, that corresponds to the two or more devices.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2015
From: VERIZON PATENT AND LICENSING INC.
To: SALESFORCE.COM, INC.
Reel/Frame 034972/0609 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2014
From: WITT, EMILY KATHERINE; COOKE, RICHARD; EVERHART, WILLIAM THOMAS, JR.; PATEL, JINENDRAKUMAR; KUMAR, VIJAY
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 033286/0564 →
Continuity (2)
Continuation 12940682 · Nov 5, 2010
Related Publication 20140325074A1 · Oct 30, 2014