US2005166017A1PendingUtilityA1

Loosely coupled mass storage computer cluster

48
Assignee: SEACHANGE INTERNATIONAL INC APriority: Oct 24, 1995Filed: Sep 10, 2004Published: Jul 28, 2005
Est. expiryOct 24, 2015(expired)· nominal 20-yr term from priority
G06F 11/1088G06F 11/1076
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method and apparatus redundantly store data, in particular video data objects, in a distributed computer system having at least three processor systems, each processor system being connected in point to point two way channel interconnection with each other processor system. The data is stored in a redundant fashion both at the computer system level as well as the processor system level. Accordingly, the failure of a single processor does not adversely affect the integrity of the data. The computer system can also overlay a switching system connected in a ring fashion for providing a fault tolerance to the failure of a single connected processor system at the switch level. Accordingly, there results a fault tolerant data distribution system.

Claims

exact text as granted — not AI-modified
1 . A method for redundantly storing data in a distributed computer system having at least three processor systems, each processor system comprising at least one central processing unit and at least one mass storage sub-system, comprising the steps of: 
 interconnecting each one of said processor systems in a point-to-point two way channel interconnection with each other one of said processor systems; and    storing data input at any one of said processor systems according to a distributed, redundant storage process whereby data is stored at each of said processor systems and some of a redundant representation of the data is stored at each of said processors.    
   
   
       2 . The method of  claim 1  wherein said storing step comprises the step of storing data across said processor systems according to a RAID-5 process.  
   
   
       3 . The method of  claim 2  further comprising the step of storing data at each processor system according to a RAID-5 process.  
   
   
       4 . The method of  claim 1  further comprising the step of 
 reading data from said computer system, in the absence of a failure of any of said processor systems, from each of said processor systems over respective ones of said data channel interconnections, whereby said reading step establishes a load balance across said processor systems.    
   
   
       5 . The method of  claim 4  further comprising the steps of 
 reading data from said computer system, in the presence of a failure of one of said processor systems, said reading step, in the presence of failure, comprising the steps of 
 reading data from each non-failed processor system storing said data, and  
 reading redundant data from said non-failed processor systems in place of said data stored at said failed processor system, and  
 recreating said data stored at said failed processor system using said redundant data and data read from said non-failed processor systems.  
   
   
   
       6 . The method of  claim 5  wherein said data input storing step comprises the step of storing said input data according to a RAID-5 process.  
   
   
       7 . The method of  claim 6  wherein each said processor system stores data on its associated mass storage sub-system according to a RAID-5 process.  
   
   
       8 . The method of  claim 5  further comprising the step of 
 preventing, during the presence of the failure of any of said processing systems, the writing of any data in the mass storage sub-system of any of said processor systems.    
   
   
       9 . The method of  claim 1  wherein said storing step comprises the step of 
 designating one processor system to effect all write functions for said computer system.    
   
   
       10 . The method of  claim 1  wherein said storing step comprises the steps of 
 one processor system allocating files for each data input, and    enabling all processor systems to write input data to its associated allocated files.    
   
   
       11 . The method of  claim 1  wherein said storing step comprises the step of 
 arbitrating write operations among said processor systems using a distributed lock manager.    
   
   
       12 . The method of  claim 1  wherein said data input storing step comprises the step of 
 storing said input data as named fragment files in each said processor system.    
   
   
       13 . The method of  claim 12  wherein said data input storing step further comprises the step of 
 storing said input data according to a RAID-5 process.    
   
   
       14 . The method of  claim 13  further comprising the steps of 
 adding a processor system to said distributed computer system, and    reconstructing said named fragment files to extend over all the processor systems while said distributed computer system continues to actively deliver stored data as an output stream.    
   
   
       15 . The method of  claim 14  further comprising the step of 
 reconstructing a failed processor system by reconstructing only data objects which were written while the processor system was in a failed state.    
   
   
       16 . A distributed computer system having at least three processor systems for redundantly storing data, each processor system comprising at least one central processing unit and at least one mass storage sub-system, comprising 
 interconnecting channels providing a point-to-point two way channel interconnection from each one of said processor systems to each other one of said processor systems; and    a data storage controller at each processor system, said controller storing data input at any one of said processor systems according to a distributed, redundant storage process whereby data is stored at each of said processor systems and some of a redundant representation of the data is stored at each of said processors.    
   
   
       17 . The apparatus of  claim 16  wherein said storage controllers store data across said processor systems according to a RAID-5 process.  
   
   
       18 . The apparatus of  claim 17  further wherein each said storage controller stores data at each processor system according to a RAID-5 process.  
   
   
       19 . The apparatus of  claim 16  further comprising 
 said controllers reading data from said computer system, in the absence of a failure of any of said processor systems, from each of said processor systems over respective ones of said interconnecting channels, whereby said controllers establish a load balance across said processor systems.    
   
   
       20 . The apparatus of  claim 19  further comprising 
 said controllers reading data from said computer system, in the presence of a failure of one of said processor systems, said controllers reading data from each non-failed processor system storing said data, and reading redundant data from said non-failed processor systems in place of said data stored at said failed processor system, and    the requesting processor system recreating said data stored at said failed processor system using said read data and said redundant data.    
   
   
       21 . The apparatus of  claim 18  wherein said data storage controllers store said input data among the processors according to a RAID-5 process.  
   
   
       22 . The apparatus of  claim 21  wherein each said processor system controller stores data on its associated mass storage according to a RAID-5 process.  
   
   
       23 . The apparatus of  claim 20  further wherein said storage controllers prevent, during the presence of a failure of any of said processing systems, writing of any data to the mass storage sub-system of any of said processor systems.  
   
   
       24 . The apparatus of  claim 16  wherein 
 one processor system is designated to effect all write functions for said computer system.    
   
   
       25 . The apparatus of  claim 16  wherein 
 one processor system allocates files for each data input, and    each processor system is enabled to write input data to its associated allocated files.    
   
   
       26 . The apparatus of  claim 16  wherein said controllers arbitrate write operations among said processor systems using a distributed lock.  
   
   
       27 . The apparatus of  claim 16  further wherein 
 said storage controllers store said input data as named fragment files in said distributed computer system.    
   
   
       28 . The apparatus of  claim 27  wherein said storage controllers store said data objects as named fragment files across said processor systems according to a RAID-5 process.  
   
   
       29 . A redundant switch having n interruptible inputs, n interrupting inputs and n outputs comprising 
 (n+1) switched systems, each switched system having at least two control inputs, a first input, a second input, a third input, and a fourth input, and a first output and a second output, each switched system being connected at its second output to an interrupting signal generator, an interrupting output of said associated signal generator being connected to the second input of said connected switched system,    said switched systems being interconnected in a ring structure so that each switched system further has an interruptible input signal connected to the first input, the second input of a first neighbor switched system connected to the third input, and the interruptible input from the other neighbor switched system on the ring connected to the fourth input,    each said switched system having switching circuitry responsive to said control inputs for switching any of its inputs to at least its first output, and for connecting either of its first and fourth inputs to its second output, and    a control system providing said control inputs of said switched system.    
   
   
       30 . A redundant switch having n interruptible inputs, n interrupting inputs and n outputs comprising 
 (n+1) switched systems, each switched system having at least two control inputs, four signal inputs, and two signal outputs, each switched system being connected at one of its outputs to an associated interrupting signal generator, and an interrupting output of said associated signal generator being connected to an input of said connected switched system,    said switched systems being interconnected in a ring structure so that each switched system is connected to a first and a second neighbor switched system,    each said switched system having switching circuitry responsive to said control inputs for selectively switching its inputs to its outputs, and    a control system for providing said control inputs to said switched systems to enable said switched systems to effectively rotate signal switching functions one position in either direction around the ring whereby a failed signal generator can be bypassed and the signals on said n first outputs continue uninterrupted.    
   
   
       31 . The redundant switch of  claim 30  wherein said control system can effectively rotate switching signal functions in either direction around the ring.  
   
   
       32 . A distributed data delivery system comprising at least three processor systems for redundantly storing data, each processor system comprising at least one central processing unit and at least one mass storage sub-system, 
 interconnecting data channels providing a point-to-point two way channel interconnection from each one of said processor systems to each other one of said processor systems,    a data storage controller at each processor system, said controller storing data input at any one of said processor systems according to a distributed, redundant storage process whereby data is stored at each of said processor systems and some of a redundant representation of the data is stored at each of said processors,    a switching circuit having n interruptible input ports, at least n+1 interrupting input ports, and at least n+1 output ports, said n interruptible input ports being connected to a respective primary processor system, each said primary processor system having an output connected to a respective interrupting input port, and    each said processor system connected to two of said switching circuits and able to selectively interrupt one of the n interruptible input ports with the signal information available from a respective one of said processor systems, and    said processor systems, in the event of a failure at one processor system, using a previously unused one of said processor systems, and causing said switching circuit to connect the interruptible input port of the failed processor system to a different processor system, and to replace the output of said failed processor system with the output of said different processor system.    
   
   
       33 . A distributed data delivery system comprising 
 at least three processor systems for redundantly storing data, each processor system comprising at least one central processing unit and at least one mass storage sub-system,    interconnecting data channels providing a point-to-point two way channel interconnection from each one of said processor systems to each other one of said processor systems,    a data storage controller at each processor system, said controller storing data input at any one of said processor systems according to a distributed, redundant storage process whereby data is stored at each of said processor systems and some of a redundant representation of the data is stored at each of said processors,    (n+1) switched systems, each switched system having at least two control inputs, a first input, a second input, a third input, and a fourth input, and a first output and a second output, each switched system being connected at its second output to a processor system, an interrupting output of said associated processor system being connected to the second input of said connected switched system,    said switched systems being interconnected in a ring structure so that each switched system further has an interruptible input signal connected to the first input, the second input of a first neighbor switched system connected to the third input, and the interruptible input from the other neighbor switched system on the ring connected to the fourth input,    each said switched system having switching circuitry responsive to switch control signals at said control inputs for switching any of its inputs to at least its first output, and for connecting either of its first and fourth inputs to its second output, and    said processor systems for providing said switch control input signals to said switched systems.    
   
   
       34 . A distributed data delivery system comprising 
 at least three processor systems for redundantly storing data, each processor system comprising at least one central processing unit and at least one mass storage sub-system,    interconnecting data channels providing a point-to-point two way channel interconnection from each one of said processor systems to each other one of said processor systems,    a data storage controller at each processor system, said controller storing data input at any one of said processor systems according to a distributed, redundant storage process whereby data is stored at each of said processor systems and some of a redundant representation of the data is stored at each of said processors,    (n+1) switched systems, each switched system having at least two control inputs, four signal inputs, and two signal outputs, each switched system being connected at one of its outputs to an associated processor system, and an interrupting output of said associated processor system being connected to an input of said connected switched system,    said switched systems being interconnected in a ring structure so that each switched system is connected to a first and a second neighbor switched system,    each said switched system having switching circuitry responsive to switch control signals at said control inputs for selectively switching its inputs to its outputs, and    said processors providing said switch control input signals to said switched systems to enable said switched systems to effectively rotate signal switching functions one position around the ring whereby a failed signal processor system can be bypassed and the signals on said n first outputs continue unimpaired.    
   
   
       35 . The distributed data delivery system of  claim 24  further wherein said processors effectively rotate signal switching functions in either direction around the ring.  
   
   
       36 . A method for redundantly storing data in a distributed computer system having at least two processor systems, each processor system comprising at least one central processing unit and at least one mass storage sub-system, comprising the steps of: 
 interconnecting each one of said processor systems in a point-to-point two way channel internconnection with each other one of said processor systems;    storing data input at any one of said processor systems according to a distributed, redundant storage process whereby data is stored at each of said processor systems and some of a redundant representation of the data is stored at each of said processors; and    reading data from said computer system, in the absence of a failure of any of said processor systems, from each of said processor systems over repsective ones of said data channel interconnections, whereby said reading step establishes a load balance across said processor systems.    
   
   
       37 . The method of  claim 36  further comprising the step of storing data at each processor system according to a RAID-5 process.  
   
   
       38 . A distributed computer system having at least two processor systems for redundantly storing data, each processor system comprising at least one central processing unit and at least one mass storage sub-system, comprising 
 interconnecting channels providing a point-to-point two way channel interconnection from each one of said processor systems to each other one of said processor systems;    a data storage controller at each processor system, said controller storing data input at any one of said processor systems according to a distributed, redundant storage process whereby data is stored at each of said processor systems and some of a redundant representation of the data is stored at each of said processors; and    said controllers reading data from said computer system, in the absence of a failure of any of said processor systems, from each of said processor systems over respective ones of said interconnecting channels, whereby said controllers establish a load balance across said processor systems.    
   
   
       39 . The apparatus of  claim 38  further wherein each said storage controller stores data at each processor system according to a RAID-5 process.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.