IP Library Granted Patent US 7,287,186
Granted Patent B2
US 7,287,186 · App. 10/858,295 · Granted Oct 23, 2007

Shared nothing virtual cluster

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,287,186
App. No.
10/858,295
Granted
Oct 23, 2007
Kind
B2
Abstract

A shared-nothing virtual cluster including multiple virtual servers located on a corresponding number of physical servers linked together via a network. The virtual servers collectively form an active/passive (A/P) cluster including an active virtual server and at least one passive server. The shared-nothing virtual cluster further includes an interlink and multiple virtual drives located on the physical servers. The active virtual server handles a cluster load and executes a first operating system that operates the virtual drives in a data redundant configuration that collectively stores a data set for the cluster. Each passive virtual server, when activated, is coupled to a sufficient number of the virtual drives with redundant information to recover the data set for the cluster. The interlink is operatively configured to detect failure of the active server and to initiate promotion of a virtual server to active status to resume handling the cluster load after failover.

Claims (63)

1. A shared-nothing virtual cluster, comprising:

a plurality of virtual servers located on a corresponding plurality of physical servers linked together via a network;

said plurality of virtual servers collectively forming an active/passive (A/P) cluster including an active virtual server and at least one passive virtual server;

a plurality of virtual drives, each located on a corresponding one of said plurality of physical servers;

said active virtual server handling a cluster load and executing a first operating system (OS) that operates said plurality of virtual drives in a data redundant configuration that collectively stores a data set for said cluster;

each passive virtual server coupled to a sufficient number of said plurality of virtual drives with redundant information to recover said data set for said cluster; and

an interlinik operatively configured to detect failure of said active virtual server and to initiate promotion of one of said one or more passive virtual servers to active status to resume handling said cluster load after failover.

2. The shared-nothing virtual cluster of claim 1 , wherein:

said plurality of virtual servers comprises said active virtual server located on a first physical server and a passive virtual server located on a second physical server;

wherein said plurality of virtual drives comprises a first virtual drive located on said first physical server and a second virtual drive located on said second physical server; and

wherein said first OS maintains said first and second virtual drives in a mirrored configuration in which said first virtual drive is a primary drive storing said data set and wherein said second virtual drive is a mirrored drive storing a copy of said data set.

3. The shared-nothing virtual cluster of claim 2 , wherein said passive virtual server located on said second physical server is an inactive instance of said active virtual server and includes a second OS that is configured, when said passive virtual server located on said second physical server is activated, to operate said second virtual drive as its primary drive storing said data set.

4. The shared-nothing virtual cluster of claim 3 , wherein said second OS is configured, when said passive virtual server located on said second physical server is activated, to maintain said mirrored configuration in which said first virtual drive is a mirrored drive storing a copy of said data set.

5. The shared-nothing virtual cluster of claim 3 , wherein said second OS is configured, when said passive virtual server located on said second physical server is activated, to replace said first virtual drive in said mirrored configuration with a third virtual drive located on a third physical server as a mirrored drive storing a copy of said data set.

6. The shared-nothing virtual cluster of claim 1 , wherein each of said plurality of virtual drives comprises a virtual static drive and at least one virtual differential drive.

7. The shared-nothing virtual cluster of claim 1 , wherein said network comprises an inter-network and wherein at least one of said plurality of physical servers is physically located at a geographically remote location.

8. The shared-nothing virtual cluster of claim 1 , wherein said plurality of virtual drives comprises at least three drives in said data redundant configuration.

9. The shared-nothing virtual cluster of claim 8 , wherein said data redundant configuration comprises a RAID level 5 configuration.

10. The shared-nothing virtual cluster of claim 8 , wherein at least one of said at least one passive virtual server comprises an inactive instance of said active virtual server including a corresponding OS that, when said inactive instance is activated, includes a network link to a majority of said plurality of virtual drives configured in said data redundant configuration.

11. The shared-nothing virtual cluster of claim 10 , wherein said inactive instance is configured such that said corresponding OS uses a local one of said plurality of virtual drives as its primary drive.

12. The shared-nothing virtual cluster of claim 11 , wherein said inactive instance is configured such that said corresponding OS uses a replacement virtual drive to replace a failed virtual drive in said data redundant configuration.

13. The shared-nothing virtual cluster of claim 1 , wherein said interlink comprises:

a status monitor that detects failure of said active virtual server;

a load monitor that monitors relative load level of each of said plurality of physical servers; and

a cluster manager, interfaced with said status monitor and said load monitor, that configures and maintains said cluster, that manages failover, and that selects a passive virtual server for promotion during said failover.

14. The shared-nothing virtual cluster of claim 13 , wherein said cluster manager monitors load information from said load manager to ensure adequate resources before and after said failover.

15. A virtual cluster, comprising:

a plurality of virtual drives located on a corresponding plurality of physical servers coupled together via a network;

a first virtual server located on a first of said plurality of physical servers, said first virtual server being active and handling a cluster load and storing cluster data in said plurality of virtual drives organized in a data redundant configuration;

a disk image incorporating attributes of said first virtual server stored on said plurality of virtual drives; and

an interlinik operative to monitor said first virtual server and to initiate promotion of a second virtual server on a second of said plurality of physical servers to active status using said disk image in the event of failure of said first virtual server to effectuate failover;

wherein said second virtual server, when activated, resumes handling of said cluster load and accesses said cluster data.

16. The virtual cluster of claim 15 , wherein said plurality of virtual drives comprises a first virtual drive located on said first physical server and a second virtual drive located on said second physical server, wherein said data redundant configuration comprises a mirrored configuration in which said first virtual drive stores said cluster data and wherein said second virtual drive stores a mirrored copy of said cluster data.

17. The virtual cluster of claim 16 , wherein said second virtual server is configured to use said second virtual drive as its primary drive when said second virtual server is activated.

18. The virtual cluster of claim 17 , wherein said second virtual server is configured to use a third virtual drive to store said mirrored copy of said cluster data in said mirrored configuration when said second virtual server is activated.

19. The virtual cluster of claim 16 , wherein said first virtual server synchronizes cluster data between said first and second virtual drives when said first virtual server and first virtual drive are available.

20. The virtual cluster of claim 16 , wherein said second virtual server, when activated, synchronizes cluster data between said first and second virtual drives when said first virtual drive is available.

21. The virtual cluster of claim 15 , wherein said plurality of virtual drives comprises at least three virtual drives located on a corresponding at least three of said plurality of physical servers, wherein said data redundant configuration including said at least three virtual drives collectively stores said cluster data, and wherein said second virtual server accesses said cluster data from less than all of said plurality of virtual drives when activated.

22. The virtual cluster of claim 21 , wherein said data redundant configuration comprises a RAID level 5 configuration.

23. The virtual cluster of claim 21 , wherein said second virtual server is configured to use a local one of said plurality of virtual drives as its primary drive when said second virtual server is activated.

24. The virtual cluster of claim 23 , wherein said second virtual server is configured to use a replacement virtual drive to replace a failed virtual drive in said data redundant configuration when said second virtual server is activated.

25. The virtual cluster of claim 21 , wherein said interlink activates said second virtual server on a selected one of said at least three of said plurality of physical servers.

26. The virtual cluster of claim 25 , wherein said interlinik monitors relative load of said at least three of said plurality of physical servers and selects a physical server based on relative load.

27. The virtual cluster of claim 15 , wherein said second virtual server is an inactive instance of said active virtual server prior to failover.

28. A method of configuring and operating a shared-nothing virtual cluster in a plurality of physical servers coupled together via a network including a plurality of virtual drives each located on a corresponding one of the plurality of physical servers, the method comprising:

operating an active virtual server on a first one of the plurality of physical servers to handle a cluster load;

storing, by the active virtual server, cluster data onto the plurality of virtual drives organized in a data redundant configuration;

detecting failure of the first physical server; and

in the event of failure of the first physical server, activating a second virtual server on a second one of the plurality of physical servers to resume handling of the cluster load and providing access by the activated second virtual server to a sufficient number of the plurality of virtual drives that collectively stores the cluster data.

29. The method of claim 28 , wherein said activating a second virtual server comprises activating an inactive instance of said active virtual server.

30. The method of claim 28 , wherein said storing cluster data comprises storing cluster data on a first virtual drive and storing a mirrored copy of the cluster data on a second virtual drive, and wherein said providing access by the activated second virtual server comprises providing access to the second virtual drive.

31. The method of claim 28 , wherein said storing cluster data comprises storing cluster data in redundant format across at least three virtual drives, and wherein said providing access by the activated second virtual server comprises providing access to less than all of said plurality of virtual servers.

32. The method of claim 28 , further comprising coupling the plurality of physical servers together via an inter-network that enables the physical servers to be remotely located in a large geographical area.

33. The method of claim 28 , further comprising storing a disk image including persistent attributes of the active virtual server, and wherein said activating a second virtual server comprises using the disk image.

34. The method of claim 28 , further comprising:

locating each of a plurality of static virtual drives on a corresponding one of the plurality of physical servers;

locating each of a plurality of differential virtual drives with a corresponding one of the plurality of static virtual drives; and

said storing cluster data comprising storing changes of the cluster data in the plurality of differential virtual drives.

35. The method of claim 28 , further comprising monitoring relative load of each of the plurality of physical servers and providing load information.

36. The method of claim 35 , further comprising selecting the first physical server to initially handle the cluster load based on the load information.

37. The method of claim 35 , further comprising selecting the second physical server to resume handling of the cluster load based on the load information in the event of failure of the first physical server.

38. The method of claim 28 , further comprising pre-configuring said second virtual server such that when it is activated, it executes an operating system that accesses the data redundant configuration including a local one of plurality of virtual drives as its primary drive.

39. The method of claim 38 , further comprising pre-configuring said second virtual server such that when it is activated, it executes an operating system that accesses the data redundant configuration including a replacement one of plurality of virtual drives to replace a failed virtual drive.

Assignments (30)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044800/0848 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
RELEASE BY SECURED PARTY, EFFECTIVE 08/10/2010 Recorded Nov 22, 2013
From: SQUARE 1 BANK
To: SURGIENT, INC.
Reel/Frame 031694/0688 →
RELEASE BY SECURED PARTY, EFFECTIVE 08/09/2010 Recorded Nov 22, 2013
From: ESCALATE CAPITAL I, L.P.
To: SURGIENT, INC.
Reel/Frame 031694/0705 →
CHANGE OF NAME Recorded Aug 20, 2013
From: QUEST SOFTWARE, INC.
To: DELL SOFTWARE INC.
Reel/Frame 031043/0281 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Sep 28, 2012
From: WELLS FARGO CAPITAL FINANCE, LLC (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, LLC)
To: QUEST SOFTWARE, INC.; AELITA SOFTWARE CORPORATION; SCRIPTLOGIC CORPORATION; VIZIONCORE, INC.; NETPRO COMPUTING, INC.
Reel/Frame 029050/0679 →
AMENDMENT NUMBER SIX TO PATENT SECURITY AGREEMENT Recorded Jan 10, 2011
From: QUEST SOFTWARE, INC.; AELITA SOFTWARE CORPORATION; SCRIPTLOGIC CORPORATION; VIZIONCORE, INC.; NETPRO COMPUTING, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 025608/0173 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2010
From: SURGIENT, INC.
To: QUEST SOFTWARE, INC.
Reel/Frame 025381/0523 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT TO THAT CERTAIN LOAN AGREEMENT Recorded Oct 22, 2008
From: SURGIENT, INC., A DELAWARE CORPORATION
To: ESCALATE CAPITAL I, L.P., A DELAWARE LIMITED PARTNERSHIP
Reel/Frame 021709/0971 →
SECURITY AGREEMENT Recorded Jan 8, 2008
From: SURGIENT, INC.
To: SQUARE 1 BANK
Reel/Frame 020325/0985 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2004
From: MCCRORY, DAVE D.; HIRSCHFELD, ROBERT A.
To: SURGIENT, INC.
Reel/Frame 015272/0717 →