Method and apparatus for implementing high-performance, scaleable data processing and storage systems
First Claim
1. Apparatus for providing high-performance, scaleable data storage services to a client from a plurality of storage devices, comprising:
- an access interface module which receives from the client data storage requests, each including a data object to be stored and a data object identifier that identifies that data object and, in response to each storage request and based on a workload and on relative demands placed on subsets of the plurality of storage devices instead of a physical location in the plurality of storage devices, dynamically selects a subset of the plurality of storage devices in which the data is stored so that data corresponding to the same data object identifier can be transferred to different physical storage device locations from request to request in order to dynamically distribute the workload across the plurality of storage devices; and
a switch fabric for temporarily connecting the access interface module to the selected subset of the plurality of storage devices so that the data can be transferred to the selected subset of storage devices.
10 Assignments
0 Petitions
Accused Products
Abstract
A data system architecture is described that allows multiple processing and storage resources to be connected to multiple clients so as 1) to distribute the clients'"'"' workload efficiently across the available resources; and 2) to enable scaleable expansion, both in terms of the number of clients and in the number of resources. The major features of the architecture are separate, modular, client and resource elements that can be added independently, a high-performance cross-bar data switch interconnecting these various elements, separate serial communication paths for controlling the cross-bar switch settings, separate communication paths for passing control information among the various elements and a resource utilization methodology that enables clients to distribute processing or storage tasks across all available resources, thereby eliminating “hot spots” resulting from uneven utilization of those resources.
24 Citations
20 Claims
-
1. Apparatus for providing high-performance, scaleable data storage services to a client from a plurality of storage devices, comprising:
-
an access interface module which receives from the client data storage requests, each including a data object to be stored and a data object identifier that identifies that data object and, in response to each storage request and based on a workload and on relative demands placed on subsets of the plurality of storage devices instead of a physical location in the plurality of storage devices, dynamically selects a subset of the plurality of storage devices in which the data is stored so that data corresponding to the same data object identifier can be transferred to different physical storage device locations from request to request in order to dynamically distribute the workload across the plurality of storage devices; and a switch fabric for temporarily connecting the access interface module to the selected subset of the plurality of storage devices so that the data can be transferred to the selected subset of storage devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for providing high-performance, scaleable data storage services to a client from a plurality of storage devices, the method comprising
(a) providing an access interface module which receives from the client data storage requests, each including a data object to be stored and a data object identifier that identifies that data object; -
(b) using the access interface module in response to each data storage request and based on a workload and on relative demands placed on subsets of the plurality of storage devices instead of a physical location in the plurality of storage devices, dynamically selects a subset of the plurality of storage devices in which the data is stored so that data corresponding to the same data object identifier can be transferred to different physical storage device locations from request to request in order to dynamically distribute the workload across the plurality of storage devices; and (c) using a switch fabric to temporarily connect the access interface module to the selected subset of the plurality of storage devices so that the data can be transferred to the selected subset of storage devices. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification