Modular storage server architecture with dynamic data management
First Claim
1. In a storage server comprising a plurality of modules, each of said modules comprising a processor and a plurality of disks and a host controller, a method comprising the steps of:
- receiving data requests issued from a plurality of clients, sending vote solicitations from said host controller to each of said modules, each of said vote solicitations containing the name of the requested data, receiving votes from said modules that have said requested data on the module'"'"'s respective disks, each of said votes containing a module ID, if one or more of said votes are received, selecting one of said votes according to a voting algorithm, forwarding said data request to the module that sent the selected vote, and after said module retrieves said requested data from the respective disks, receiving said data from said module and sending said data to said clients issuing said data request.
4 Assignments
0 Petitions
Accused Products
Abstract
A method of data management for efficiently storing and retrieving data in response to user access requests. The architecture comprises a plurality of disk drives over which data is distributed, and a plurality of processors, each of which is assigned to a subset of the disk drives in a modular fashion. The server architecture employs dynamic data management methods and load-balancing methods to assign user requests to processors. The modular server architecture, in combination with the dynamic data management and load balancing methods, provides both good performance (i.e., low expected-case access times and high disk bandwidth), and fault-tolerance. The architecture is particularly well suited to video-on-demand systems in which a video server stores a library of movies and users submit requests to view particular programs.
-
Citations
18 Claims
-
1. In a storage server comprising a plurality of modules, each of said modules comprising a processor and a plurality of disks and a host controller, a method comprising the steps of:
-
receiving data requests issued from a plurality of clients, sending vote solicitations from said host controller to each of said modules, each of said vote solicitations containing the name of the requested data, receiving votes from said modules that have said requested data on the module'"'"'s respective disks, each of said votes containing a module ID, if one or more of said votes are received, selecting one of said votes according to a voting algorithm, forwarding said data request to the module that sent the selected vote, and after said module retrieves said requested data from the respective disks, receiving said data from said module and sending said data to said clients issuing said data request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
Specification