Video file server using an integrated cached disk array and stream server computers
First Claim
1. A file server for serving clients in a data network, said file server comprising:
- a cached disk array storage subsystem; and
a plurality of server computers linking the cached disk array storage subsystem to said data network for-responding to a request for file access from a client in the data network by transferring data between said cached disk array storage subsystem and said data network;
wherein the cached disk array storage subsystem includes a semiconductor cache memory, an array of disk drives, a plurality of channel directors for interfacing said semiconductor cache memory to said server computers, and a plurality of disk directors and disk adapters for interfacing said semiconductor cache memory to said array of disk drives; and
wherein the file server further includes a controller linked to said network and said server computers for responding to a request for file access from a client by selecting one of the server computers to satisfy the request.
1 Assignment
0 Petitions
Accused Products
Abstract
A video file server includes an integrated cached disk array storage subsystem and a plurality of stream server computers linking the cached disk storage system to the data network for the transfer of video data streams. The video file server further includes a controller server for applying an admission control policy to client requests and assigning stream servers to service the client requests. The stream servers include a real-time scheduler for scheduling isochronous tasks, and supports at least one industry standard network file access protocol and one file access protocol for continuous media file access. The cached disk storage subsystem is responsive to video prefetch commands, and the data specified for a prefetch command for a process are retained in an allocated portion of the cache memory from the time that the cached disk storage subsystem has responded to the prefetch command to the time that the cached disk storage subsystem responds to a fetch command specifying the data for the process. The time between prefetching and fetching is selected based on available disk and cache resources. The video file server provides video-on-demand service by maintaining and dynamically allocating sliding windows of video data in the random access memories of the stream server computers.
269 Citations
40 Claims
-
1. A file server for serving clients in a data network, said file server comprising:
-
a cached disk array storage subsystem; and a plurality of server computers linking the cached disk array storage subsystem to said data network for-responding to a request for file access from a client in the data network by transferring data between said cached disk array storage subsystem and said data network; wherein the cached disk array storage subsystem includes a semiconductor cache memory, an array of disk drives, a plurality of channel directors for interfacing said semiconductor cache memory to said server computers, and a plurality of disk directors and disk adapters for interfacing said semiconductor cache memory to said array of disk drives; and wherein the file server further includes a controller linked to said network and said server computers for responding to a request for file access from a client by selecting one of the server computers to satisfy the request. - View Dependent Claims (2)
-
-
3. A file server for serving clients in a data network, said file server comprising, in combination:
-
a cached disk array storage subsystem; a plurality of stream server computers linking the cached disk array storage subsystem to said data network for transfer of data streams between said cached disk array storage subsystem and said data network; and a controller server connected to said stream server computers for receiving a request for file access from a client in the data network, and for selecting one of the stream server computers to satisfy the request by streaming data between the cached disk array storage subsystem and the data network; wherein said stream server computers are commodity personal computers, and said controller server is also a commodity personal computer, and said file server includes a spare controller server that is also a commodity personal computer. - View Dependent Claims (4, 5, 6, 7, 8)
-
-
9. A file server for serving clients in a data network, said file server comprising, in combination:
-
a cached disk array storage subsystem; a plurality of stream server computers linking the cached disk array storage subsystem to said data network for transfer of data streams between said cached disk array storage subsystem and said data network; and a controller server connected to said stream server computers for receiving a request for file access from a client in the data network, and for selecting one of the stream server computers to satisfy the request by streaming data between the cached disk array storage subsystem and the data network; wherein said file server has multiple file systems existing concurrently over multiple communication stacks, with shared data access.
-
-
10. A file server for serving clients in a data network, said file server comprising, in combination:
-
a cached disk array storage subsystem; a plurality of stream server computers linking the cached disk array storage subsystem to said data network for transfer of data streams between said cached disk array storage subsystem and said data network; and a controller server connected to said stream server computers for receiving a request for file access from a client in the data network, and for selecting one of the stream server computers to satisfy the request by streaming data between the cached disk array storage subsystem and the data network; wherein said cached disk array storage subsystem includes a semiconductor cache memory, an array of disk drives, a plurality of channel directors for interfacing said semiconductor cache memory to said stream server computers, and a plurality of disk directors and disk adapters for interfacing said semiconductor cache memory to said array of disk drives.
-
-
11. A video file server for serving clients in a data network, said video file server comprising, in combination:
-
a cached disk array storage subsystem; a plurality of stream server computers linking the cached disk array storage subsystem to said data network for transfer of video data streams between said cached disk array storage subsystem and said data network; and a controller server connected to said stream server computers for receiving a request from a client in the data network, for applying an admission control policy to determine whether or not there exist sufficient resources in said cached disk array storage subsystem and said stream server computers to satisfy the request, and for selecting one of the stream server computers to satisfy the request when there exists sufficient resources in said cached disk array storage subsystem and said stream servers to satisfy the request. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A video file server for serving clients in a data network, said video file server comprising, in combination:
-
a cached disk array storage subsystem; a plurality of stream server computers linking the cached disk array storage subsystem to said data network for transfer of video data streams between said cached disk array storage subsystem and said data network; and a pair of redundant controller server computers, said controller server computers being connected to said stream server computers for receiving a request from a client in the data network, for applying an admission control policy to determine whether or not there exist sufficient resources in said cached disk array storage subsystem and said stream server computers to satisfy the request, and for selecting one of the stream server computers to satisfy the request when there exists sufficient resources in said cached disk array storage subsystem and said stream server computers to satisfy the request; wherein said stream servers computers include a real-time scheduler for scheduling isochronous tasks, real-time tasks, and general purpose tasks; and wherein said stream server computers support at least one industry standard network file access protocol and one file access protocol for continuous media file access. - View Dependent Claims (25, 26)
-
-
27. A method of operating a video file server for serving clients in a data network, said video file server including a cached disk array storage subsystem and a plurality of stream server computers linking the cached disk array storage subsystem to said data network for transfer of video data streams between the cached disk array storage subsystem and said data network, said method comprising the steps of:
-
(a) the video file server receiving a request from a client in the data network; and
then(b) the video file server applying an admission control policy to determine whether or not there exist sufficient resources in said cached disk array storage subsystem and said stream server computers to satisfy the request; (c) when said admission control policy determines that there exist sufficient resources in said cached disk array storage subsystem and said stream server computers to satisfy the request, selecting one of the stream server computers to satisfy the request; and
then(d) using the selected one of the stream server computers to satisfy the request by transferring a video data stream between said cached disk array storage subsystem and said data network. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. A method of operating a video file server for serving clients in a data network, said video file server including a cached disk array storage subsystem and a plurality of stream server computers linking the cached disk array storage subsystem to said data network for transfer of video data between said cached disk array storage subsystem and said data network, said method comprising the steps of:
-
(a) receiving in a controller server a request from a client in the data network, said controller server applying an admission control policy to determine whether or not there exist sufficient resources in said cached disk array storage subsystem and said stream server computers to satisfy the request; (b) when said admission control policy determines that there exist sufficient resources in said cached disk array storage subsystem and said stream server computers to satisfy the request, said controller server scheduling an isochronous task including the transferring of a video stream between said cached disk array storage subsystem and said data network, and said controller server selecting one of the stream server computers to perform the transferring of said video data stream between said cached disk array storage subsystem and said data network, and said controller server sending an operational command to the selected one of the stream server computers; and (c) in response to said operational command, the selected one of the stream server computers transferring said video data stream between said cached disk array storage subsystem and said data network. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40)
-
Specification