← Back to Patent Explorer
US5561759A Expired / Lapsed US ⏱️ 0.0 years remaining

Fault tolerant computer parallel data processing ring architecture and work rebalancing method under node failure conditions

Assignee: Sybase Inc
•
Filing: 1995-12-18
•
Granted: 1996-10-01
•
Expires: 2015-12-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Method and system for distributing prefragmented data processing loads in a fault tolerant system linked in a ring topology of disk subsystems and data processing nodes. The data processing load of the node under fault is shifted in one direction along the ring, and adjacent nodes in the same direction along the ring successively shift their entire data processing loads to their immediately adjacent data processing nodes. The adjacent data processing nodes in the non-shifted direction absorb increased workloads by one net data fragment each until the entire data processing load of the data processing node under fault is absorbed.

Inventors

  • 👤 Jason S. Chen

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 01:18
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/20; G06F11/202; G06F11/2023; G06F11/203; G06F11/2035; G06F11/2046

Claims Analysis

Total Claims: 35
Claim 1
Independent Claim 251 words
A fault-tolerant parallel data processing system, comprising: a plurality of more than two disk subsystems for distributed data storage of data fragments in groups of predetermined numbers of data fragments, a corresponding plurality of data processing nodes, referred to as nodes, for processing data fragments in said plurality of disk subsystems, said plurality of disk subsystems being interconnected with said plurality of nodes in a ring topology wherein each node has a first neighbor in a first direction along the ring and a second neighbor in a second direction along the ring, said nodes being interconnected through an interconnection system, each of said nodes being connected only to a single pair of disk subsystems on the ring and each of said disk subsystems being connected only to a single pair of nodes on the ring such that the data fragments being processed by any given one of said nodes during no-fault conditions are accessible by the given node's first neighbor, so that when any particular one of said nodes experiences a fault condition, the data fragments that were being processed by said particular node are processed by said particular node's first neighbor without moving the data fragments between disk subsystems, and at least some of the data fragments that were being processed by said particular node's first neighbor are processed by said particular node's first neighbor's first neighbor, whereby data processing loads can be balanced over said nodes during both fault and no-fault conditions on both sides of said particular node.
Claim 2
Dependent Claim 251 words
A fault-tolerant parallel data processing system, comprising: a plurality of more than two disk subsystems for distributed data storage of data fragments in groups of predetermined numbers of data fragments, a corresponding plurality of data processing nodes, referred to as nodes, for processing data fragments in said plurality of disk subsystems, said plurality of disk subsystems being interconnected with said plurality of nodes in a ring topology wherein each node has a first neighbor in a first direction along the ring and a second neighbor in a second direction along the ring, said nodes being interconnected through an interconnection system, each of said nodes being connected only to a single pair of disk subsystems on the ring and each of said disk subsystems being connected only to a single pair of nodes on the ring such that the data fragments being processed by any given one of said nodes during no-fault conditions are accessible by the given node's first neighbor, so that when any particular one of said nodes experiences a fault condition, the data fragments that were being processed by said particular node are processed by said particular node's first neighbor without moving the data fragments between disk subsystems, and at least some of the data fragments that were being processed by said particular node's first neighbor are processed by said particular node's first neighbor's first neighbor, whereby data processing loads can be balanced over said nodes during both fault and no-fault conditions on both sides of said particular node.
Claim 3
Dependent Claim 19 words
The system of claim 1, wherein said nodes and said disk subsystems are interconnected with a single bus structure.
Claim 4
Dependent Claim 38 words
The system of claim 1, wherein when said particular one of said nodes experiences a fault condition, said ring topology is broken into one or more chains comprising disk subsystems and other nodes connected to the particular node.
Claim 5
Dependent Claim 42 words
The system of claim 1, wherein when said particular node experiences a fault condition, data processing workload of said particular node is redistributed among other nodes which comprise a particular chain associated with said particular node which has experienced a fault condition.
Claim 6
Dependent Claim 34 words
The system of claim 4, wherein when said particular node experiences a fault condition, said data processing workload of said particular node is redistributed substantially evenly over said other nodes of said particular chain.
Claim 7
Dependent Claim 59 words
The system of claim 4, wherein when said particular node experiences a fault condition, said data processing workload of said particular node is redistributed such that data processing workload of any particular node of said particular chain does not deviate from the data processing workload of any other node of said particular chain by more than one data fragment.
Claim 8
Dependent Claim 19 words
The system of claim 1, wherein at least one of said disk subsystems comprises a plurality of interconnected disks.
Claim 9
Dependent Claim 16 words
The system of claim 1, wherein all of said data fragments are substantially equal in size.
Claim 10
Dependent Claim 47 words
The system of claim 1, wherein each node of the system is primarily associated with a particular disk subsystem, so that before a fault occurs data fragments stored on a given disk subsystem are initially processed by the node with which the disk subsystem is primarily associated.
Claim 11
Dependent Claim 50 words
The method of claim 1, wherein said data fragments of said particular node experiencing a fault condition being processed by said particular node's first neighbor comprises: data fragments of said particular node whose processing has been shifted in a clockwise manner to said particular node's first neighbor on the right.
Claim 12
Dependent Claim 50 words
The method of claim 1, wherein said data fragments of said particular node experiencing a fault condition being processed by said particular node's first neighbor comprises: data fragments of said particular node whose processing has been shifted in a counter-clockwise manner to said particular node's first neighbor on the left.
Claim 13
Dependent Claim 40 words
The system of claim 1, wherein said at least some of the data fragments that were being processed by said particular node's first neighbor comprise: all of the data fragments that were being processed by said particular node's first neighbor.
Claim 14
Dependent Claim 54 words
The system of claim 1, wherein processing of some of the data fragments of the node experiencing a fault condition is shifted clockwise to said particular node's first neighbor on the right and processing of others of said particular node's data fragments is shifted counter-clockwise to said particular node's first neighbor on the left.
Claim 15
Dependent Claim 65 words
The system of claim 1, wherein processing of data fragments of the particular node experiencing a fault condition is repeatedly shifted to successive neighbors within the ring topology until all data fragments of said particular node experiencing a fault condition are being processed by said particular node's first neighbor, so that increased processing resulting from the fault is evenly absorbed by others of said nodes.
Claim 16
Dependent Claim 45 words
The system of claim 1, wherein shifting of processing of data fragments results in an incremental increase in workload at each node other than the particular node, said incremental increase being equal to processing for a single data fragment greater than that originally being processed.
Claim 17
Dependent Claim 33 words
The system of claim 1, wherein said data fragments are distributed among said disk subsystems so that multiple threads of computation are enabled to permit access to multiple fragments of data in parallel.
Claim 18
Dependent Claim 254 words
In a computer system comprising a plurality of processing nodes and a plurality of more than two disk subsystems, a method for providing fault-tolerant data processing, the method comprising: (a) partitioning data storage into groups of predetermined numbers of data fragments; (b) interconnecting said plurality of disk subsystems with said plurality of nodes in a closed-loop topology wherein each node has a first neighbor in a first direction along the closed loop and a second neighbor in a second direction along the closed loop, said nodes being interconnected through an interconnection system, each of said nodes being connected only to a single pair of disk subsystems on the closed loop and each of said disk subsystems being connected only to a single pair of nodes on the closed loop such that the data fragments being processed by any given one of said nodes during no-fault conditions are accessible by the given node's first neighbor; (c) experiencing a fault condition at a particular one of said nodes; and (d) shifting processing of the data fragments such that the data fragments that were being processed by said particular node are processed by said particular node's first neighbor without moving the data fragments between disk subsystems, and at least some of the data fragments that were being processed by said particular node's first neighbor are processed by said particular node's first neighbor's first neighbor, wherein data processing loads can be balanced over said nodes during both fault and no-fault conditions on both sides of said particular node.
Claim 19
Dependent Claim 254 words
In a computer system comprising a plurality of processing nodes and a plurality of more than two disk subsystems, a method for providing fault-tolerant data processing, the method comprising: (a) partitioning data storage into groups of predetermined numbers of data fragments; (b) interconnecting said plurality of disk subsystems with said plurality of nodes in a closed-loop topology wherein each node has a first neighbor in a first direction along the closed loop and a second neighbor in a second direction along the closed loop, said nodes being interconnected through an interconnection system, each of said nodes being connected only to a single pair of disk subsystems on the closed loop and each of said disk subsystems being connected only to a single pair of nodes on the closed loop such that the data fragments being processed by any given one of said nodes during no-fault conditions are accessible by the given node's first neighbor; (c) experiencing a fault condition at a particular one of said nodes; and (d) shifting processing of the data fragments such that the data fragments that were being processed by said particular node are processed by said particular node's first neighbor without moving the data fragments between disk subsystems, and at least some of the data fragments that were being processed by said particular node's first neighbor are processed by said particular node's first neighbor's first neighbor, wherein data processing loads can be balanced over said nodes during both fault and no-fault conditions on both sides of said particular node.
Claim 20
Dependent Claim 22 words
The method of claim 17, wherein said interconnecting steps includes interconnecting said nodes and said disk subsystems in a single bus structure.
Claim 21
Dependent Claim 38 words
The method of claim 17, wherein when said particular one of said nodes experiences a fault condition, said closed-loop topology is broken into one or more chains comprising disk subsystems and other nodes connected to the particular node.
Claim 22
Dependent Claim 42 words
The method of claim 17, wherein when said particular node experiences a fault condition, data processing workload of said particular node is redistributed among other nodes which comprise a particular chain associated with said particular node which has experienced a fault condition.
Claim 23
Dependent Claim 34 words
The method of claim 20, wherein when said particular node experiences a fault condition, said data processing workload of said particular node is redistributed substantially evenly over said other nodes of said particular chain.
Claim 24
Dependent Claim 58 words
The method of claim 20, wherein when said particular node experiences a fault condition, said data processing workload of said particular node is redistributed such that data processing workload any particular node of said particular chain does not deviate from the data processing workload of any other node of said particular chain by more than one data fragment.
Claim 25
Dependent Claim 14 words
The method of claim 17, wherein said system processes said data fragments in parallel.
Claim 26
Dependent Claim 16 words
The method of claim 17, wherein all of said data fragments are substantially equal in size.
Claim 27
Dependent Claim 47 words
The method of claim 17, wherein each node of the system is primarily associated with a particular disk subsystem, so that before a fault occurs data fragments stored on a given disk subsystem are initially processed by the node with which the disk subsystem is primarily associated.
Claim 28
Dependent Claim 33 words
The method of claim 17, wherein said shifting processing step includes: shifting processing of data fragments of said particular node in a clockwise manner to said particular node's first neighbor on the right.
Claim 29
Dependent Claim 32 words
The method of claim 17, wherein said shifting step includes: shifting processing of data fragments of said particular node in a counter-clockwise manner to said particular node's first neighbor on the left.
Claim 30
Dependent Claim 40 words
The method of claim 17, wherein said at least some of the data fragments that were being processed by said particular node's first neighbor comprise: all of the data fragments that were being processed by said particular node's first neighbor.
Claim 31
Dependent Claim 56 words
The method of claim 17, wherein said shifting step includes: shifting processing of some of the data fragments of the node experiencing a fault condition clockwise to said particular node's first neighbor on the right and shifting processing of others of said particular node's data fragments counter-clockwise to said particular node's first neighbor on the left.
Claim 32
Dependent Claim 68 words
The method of claim 17, wherein said shifting step includes: shifting processing of data fragments of the particular node experiencing a fault condition repeatedly to successive neighbors within the closed-loop topology until all data fragments of said particular node experiencing a fault condition are being processed by said particular node's first neighbor, so that increased processing resulting from the fault is evenly absorbed by others of said nodes.
Claim 33
Dependent Claim 50 words
The method of claim 17, wherein said shifting step includes: shifting processing of data fragments such that only an incremental increase in workload results at each node other than the particular node, said incremental increase being equal to processing for a single data fragment greater than that originally being processed.
Claim 34
Dependent Claim 33 words
The method of claim 17, wherein said data fragments are distributed among said disk subsystems so that multiple threads of computation are enabled to permit access to multiple fragments of data in parallel.
Claim 35
Dependent Claim 13 words
The method of claim 17, wherein said closed-loop topology comprises a ring topology.

References Cited (Backward Citations)

US4412281A Cited
US4868818A Cited
US5089958A Cited
US5251205A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-10-01 2000-04-01 2000-10-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-10-01 2004-04-01 2004-10-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-10-01 2008-04-01 2008-10-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag