IP Library Granted Patent US 10,303,567
Granted Patent B2
US 10,303,567 · App. 13/968,278 · Granted May 28, 2019

Managing database nodes

Inventors: James L. Finnerty (Concord, MA); Jaimin M. Dave (Burlington, MA); Stephen G. Walkauskas (Pittsburgh, PA)
Assignee: ENTIT SOFTWARE LLC
G06F11/2025G06F11/1461G06F11/2035G06F11/2048
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 10,303,567
App. No.
13/968,278
Filed
Aug 15, 2013
Granted
May 28, 2019
Kind
B2
Examiner
TRUONG, LOAN
Art Unit
2114
USPC
714/4.2
Abstract

A method for managing database nodes includes determining that a data segment is on a failed node. The data segment is referenced by an operation of a query plan. The method includes selecting a victim node based on a segmentation ring, a buddy node for the data segment, a plurality of remaining operational nodes, and a predetermined selection parameter. The method includes generating a query plan such that the victim node performs double duty for operations accessing the data segment from a buddy projection on the victim node, and operations accessing a data segment for a primary projection of the victim node.

Claims (42)

1. A method for managing database nodes, the method comprising:

determining that a data segment is on a failed node in a segmentation ring, the data segment being referenced by an operation of a query plan;

replacing the failed node in the query plan with a buddy node for the data segment;

selecting a plurality of potential victim nodes that includes each node in the segmentation ring that is operational;

selecting a victim node from the plurality of potential victim nodes based on the buddy node for the data segment and a predetermined selection parameter; and

generating a second query plan such that the victim node performs double duty for operations of a node in the segmentation ring.

2. The method of claim 1 , comprising:

determining that a segment group is on the failed node, the segment group comprising a plurality of segments;

selecting a plurality of victim nodes based on the segmentation ring, buddy nodes hosting copies of the segments belonging to buddy projections, the plurality of remaining operational nodes, and the predetermined selection parameter; and

generating a query plan such that the victim nodes perform double duty for operations accessing the segments from buddy projections on the victim nodes, and operations accessing data segments for primary projections of the victim nodes.

3. The method of claim 2 , the segments comprising a segment group being hosted on a failed node, and the predetermined selection parameter comprising a workload balance for the victim nodes.

4. The method of claim 3 , wherein the workload balance comprises work being performed at a time of failure for the failed node, and work being performed at the time of failure by the failed node for the segment group.

5. The method of claim 1 , each of the database nodes comprising at least one segment of a projection.

6. The method of claim 1 , the predetermined selection parameter being a round-robin selection.

7. The method of claim 1 , the predetermined selection parameter being a random selection.

8. The method of claim 1 , the predetermined selection parameter being based on resource parameters of the remaining operational nodes.

9. A system, comprising:

a plurality of database nodes; and

a database node comprising:

a processor that is adapted to execute stored instructions; and

a memory device that stores instructions, the memory device comprising:

computer-implemented instructions to determine that a plurality of segment groups are on a plurality of failed nodes in a segmentation ring, the segment groups comprising pluralities of segments;

computer-implemented instructions to replacing the plurality of failed nodes in with buddy nodes hosting copies of the segments;

computer-implemented instructions to select a plurality of potential victim nodes that includes each node in the segmentation ring that is operational;

computer-implemented instructions to select, for each segment group in the plurality of segment groups, a victim node from the plurality of potential victim nodes based on the buddy nodes and a predetermined selection parameter; and

computer-implemented instructions to generate a query plan such that the victim nodes perform double duty for operations of a node in the segmentation ring.

10. The system of claim 9 , the predetermined selection parameter comprising a workload balance for the victim nodes.

11. The system of claim 10 , wherein the workload balance comprises work being performed by the victim nodes, at a time of failure for one of the failed nodes, and work being performed, at the time of failure for the one, by the failed nodes, for the segment groups.

12. The system of claim 9 , each of the database nodes comprising at least one segment of a projection.

13. The system of claim 9 , each of the database nodes comprising at least one segment group of a projection.

14. The system of claim 9 , the predetermined selection parameter being a selected one of a round-robin selection, and a random selection, or being based on resource parameters of the remaining operational nodes.

15. A tangible, non-transitory, machine-readable medium that stores machine-readable instructions executable by a processor to manage database nodes, the tangible, non-transitory, machine-readable medium comprising:

machine-readable instructions that, when executed by the processor, determine that a plurality of segment groups are on a plurality of failed nodes in a segmentation ring, the segment groups comprising pluralities of segments;

machine-readable instructions that, when executed by the processor, replace the plurality of failed nodes in the segmentation ring with buddy nodes hosting copies of the segments belonging to buddy projections;

machine-readable instructions that, when executed by the processor, select a plurality of potential victim nodes that includes each node in the segmentation ring that is operational;

machine-readable instructions that, when executed by the processor, for each segment group in the plurality of segment groups, a victim node from the plurality of potential victim nodes based on buddy nodes hosting copies of the segments belonging to buddy projections and a predetermined selection parameter; and

machine-readable instructions that, when executed by the processor, generate a query plan such that the victim nodes perform double duty for operations of a node in the segmentation ring.

16. The medium of claim 15 , the predetermined selection parameter comprising a workload balance for the victim nodes.

17. The medium of claim 16 , wherein the workload balance comprises work being performed by the victim nodes, at a time of failure for one of the failed nodes, and work being performed, at the time of failure for the one, by the failed nodes, for the segment groups.

18. The medium of claim 15 , each of the database nodes comprising at least one segment of a projection.

19. The medium of claim 15 , each of the database nodes comprising at least one segment group of a projection.

20. The method of claim 1 , wherein the victim note is a node other than the buddy node.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2026
From: MICRO FOCUS LLC
To: ROCKET SOFTWARE, INC.
Reel/Frame 075795/0114 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2013
From: FINNERTY, JAMES L.; DAVE, JAIMIN M.; WALKAUSKAS, STEPHEN G.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 031551/0465 →
Continuity (1)
Related Publication 20150052383A1 · Feb 19, 2015
Cited By (1)
US 12,585,649