Hardware and software failover services for a file server
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 linked to the cached disk array storage subsystem for responding to requests for file access from the clients in the data network by transferring data between the cached disk array storage subsystem and the data network,wherein the plurality of server computers are programmed for;
(a) executing tasks for responding to requests for file access from the clients in the data network; and
(b) detecting a failure of one of the server computers causing interruption of execution of one of the tasks, and upon detecting the failure, for causing another one of the server computers to resume automatically the interrupted one of the tasks;
wherein the interrupted one of the tasks includes a series of transactions, and said plurality of server computers are programmed to record state information for the interrupted one of the tasks during execution of the interrupted one of the tasks, and for resuming automatically the interrupted one of the tasks by recovering the recorded state information for the interrupted one of the tasks including state information from at least one transaction completed prior to the interruption of the interrupted one of the tasks, and resuming execution of a next one of the transactions in the interrupted one of the tasks using the recovered state information from said at least one of the transactions completed prior to the interruption of the interrupted one of the tasks.
0 Assignments
0 Petitions
Accused Products
Abstract
A file server includes stream server computers linking a cached disk array storage subsystem to a data network, and at least two controller servers for receiving requests for file access from network clients. At any given time one of the controller servers is active and another is inactive in servicing client requests. The active controller server selects one of the stream servers to service each request. A controller server failover mechanism is provided for recovering from a failure of the active controller server, and a stream server failover mechanism is provided for recovering from a failure of a stream server. The inactive controller server becomes active when it fails to receive a signal periodically transmitted by the active controller server. The active controller server begins stream server failover when it fails to receive a signal periodically transmitted by each stream server. To resume automatically an interrupted task, the tasks are organized as a series of transactions, and each transaction includes operations which can be duplicated without substantial disruption. The active controller server commits results of each transaction to memory of the cached disk array. Before becoming active, the inactive controller recovers the committed state of the interrupted tasks from the cached disk array.
-
Citations
45 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 linked to the cached disk array storage subsystem for responding to requests for file access from the clients in the data network by transferring data between the cached disk array storage subsystem and the data network, wherein the plurality of server computers are programmed for; (a) executing tasks for responding to requests for file access from the clients in the data network; and (b) detecting a failure of one of the server computers causing interruption of execution of one of the tasks, and upon detecting the failure, for causing another one of the server computers to resume automatically the interrupted one of the tasks; wherein the interrupted one of the tasks includes a series of transactions, and said plurality of server computers are programmed to record state information for the interrupted one of the tasks during execution of the interrupted one of the tasks, and for resuming automatically the interrupted one of the tasks by recovering the recorded state information for the interrupted one of the tasks including state information from at least one transaction completed prior to the interruption of the interrupted one of the tasks, and resuming execution of a next one of the transactions in the interrupted one of the tasks using the recovered state information from said at least one of the transactions completed prior to the interruption of the interrupted one of the tasks. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. 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 the data network for transfer of data streams between the cached disk array storage subsystem and the data network; and at least two controller servers for receiving requests for file access from clients in the data network, said controller servers being connected to the stream server computers for selecting one of the stream server computers to service each request by streaming data between the cached disk array storage subsystem and the data network; wherein the controller servers are programmed so that at any given time one of the controller servers is active in executing tasks for responding to requests for file access from clients in the data network by selecting respective ones of the stream server computers to service the requests, and at any given time one of the controller servers is inactive in executing tasks for responding to requests for file access from clients in the data network by selecting respective ones of the stream server computers to service the requests, and wherein the inactive one of the controller servers is programmed to respond automatically to a failure of the active one of the controller servers by resuming tasks of the active one of the controllers having been interrupted by the failure, and becoming active in executing tasks for responding to requests for file access from clients in the data network by selecting respective ones of the stream server computers to service the requests; wherein an interrupted one of said tasks includes a series of transactions, and the controller servers are programmed to record state information for the interrupted one of the tasks during execution of the interrupted one of the tasks, and for resuming automatically the interrupted one of the tasks by recovering the recorded state information for the interrupted one of the tasks including state information from at least one transaction completed prior to the interruption of the interrupted one of the tasks, and resuming execution of a next one of the transactions in the interrupted one of the tasks using the recovered state information from said at least one of the transactions completed prior to the interruption of the interrupted one of the tasks. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. 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 the data network for transfer of data streams between the cached disk array storage subsystem and the data network; and at least one controller server for receiving a request for file access from a client in the data network, said controller server being connected to the stream server computers for selecting one of the stream server computers to service the request by streaming data between the cached disk array storage subsystem and the data network; wherein the controller server is programmed to perform a stream server failover task for detecting a failure of one of the stream server computers and in response selecting another one of the stream server computers to resume servicing of a client request interrupted by the failure of one of the stream server computers; wherein the stream servers are programmed to execute tasks to service client requests, and an interrupted one of the tasks includes a series of transactions, and said stream server computers are programmed to record state information for the interrupted one of the tasks during execution of the interrupted one of the tasks, and upon interruption of the interrupted one of the tasks, for resuming automatically the interrupted one of the tasks by recovering the recorded state information for the interrupted one of the tasks including state information from at least one transaction completed prior to the interruption of the interrupted one of the tasks, and resuming execution of a next one of the transactions in the interrupted one of the tasks by using the recovered state information from said at least one of the transactions completed prior to the interruption of the interrupted one of the tasks. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A file server for serving clients in a data network, said file server comprising, in combination:
-
a cached disk array storage subsystem; and a plurality of stream server computers linking the cached disk array storage subsystem to the data network for transfer of data streams between the cached disk array storage subsystem and the data network, at least one of the stream server computers being programmed for responding to a request from a client for file access by streaming data between the cached disk array storage subsystem and the data network; wherein the file server is programmed to perform stream server failover, in response to a failure of said one of the stream server computers, in which another one of the stream server computers resumes servicing of a client request interrupted by the failure of said one of the stream server computers, and wherein the client request includes a failover mode selection signal, and wherein the file server is programmed for checking the failover mode selection signal to select one of a plurality of predetermined modes for resuming servicing of the client request found to have been interrupted by the failure of said one of the stream server computers. - View Dependent Claims (22, 23)
-
-
24. A method of operating a file server for serving clients in a data network, said file server having a cached disk array storage subsystem and a plurality of server computers linked to the cached disk array storage subsystem for transferring data between the cached disk array storage subsystem and the data network, said method comprising the steps of:
-
(a) said server computers executing tasks for responding to requests for file access from the clients in the data network; and (b) detecting a failure of one of the server computers causing interruption of execution of one of the tasks, and upon detecting the failure, causing another one of the server computers to resume automatically the interrupted one of the tasks; wherein the interrupted one of the tasks includes a series of transactions, execution of the interrupted one of the tasks includes recording state information from at least one transaction completed prior to the interruption of the interrupted one of the tasks, and resuming automatically the interrupted one of the tasks includes recovering the recorded state information from said at least one transaction completed prior to the interruption of the interrupted one of the tasks, and resuming execution of a next one of the transactions in the interrupted one of the tasks using the recovered state information from said at least one of the transactions completed prior to the interruption of the interrupted one of the tasks. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A method of operating a file server for serving clients in a data network, the file server having a cached disk array storage subsystem, a plurality of stream server computers linking the cached disk array storage subsystem to the data network for transfer of data streams between the cached disk array storage subsystem and the data network, and at least two controller servers for receiving a request for file access from a client in the data network, said method comprising the steps of:
-
(a) selecting one of the controller servers to be active in executing tasks for responding to requests for file access from clients in the data network by selecting respective ones of the stream server computers to service the requests, and selecting another one of the controller servers to be inactive in executing tasks for responding to requests for file access from clients in the data network by selecting respective ones of the stream server computers to service the requests, and (b) the inactive one of the controller servers responding automatically to a failure of the active one of the controller servers by resuming tasks of the active one of the controllers having been interrupted by the failure, and becoming active in executing tasks for responding to requests for file access from clients in the data network by selecting respective ones of the stream server computers to service the requests; wherein an interrupted one of said tasks includes a series of transactions, and the active one of the controller servers records state information for the interrupted one of the tasks during execution of the interrupted one of the tasks, and the inactive one of the controller servers resumes automatically the interrupted one of the tasks by recovering the recorded state information for the interrupted one of the tasks including state information from at least one transaction completed prior to the interruption of the interrupted one of the tasks, and resuming execution of a next one of the transactions in the interrupted one of the tasks using the recovered state information from said at least one of the transactions completed prior to the interruption of the interrupted one of the tasks. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
-
-
37. A method of operating a file server for serving clients in a data network, said file server having a cached disk array storage subsystem, a plurality of stream server computers linking the cached disk array storage subsystem to the data network for transfer of data streams between the cached disk array storage subsystem and the data network, and at least one controller server for receiving a request for file access from a client in the data network, said controller server being connected to the stream server computers for selecting one of the stream server computers to service the request by streaming data between the cached disk array storage subsystem and the data network, said method comprising the steps of:
-
the controller server performing a stream server failover task including the detection of a failure of one of the stream server computers, and in response selecting another one of the stream server computers to resume servicing of a client request interrupted by the failure of one of the stream server computers; and said another one of the stream server computers resuming the servicing of the client request having been interrupted by the failure of one of the stream server computers; wherein the servicing of the client request interrupted by the failure of one of the stream server computers includes execution of an interrupted task including a series of transactions, execution of the interrupted task includes recording state information from at least one transaction completed prior to the interruption of the interrupted task, and the resuming of servicing of the client request having been interrupted by the failure of one of the stream server computers includes recovering the recorded state information from said at least one transaction completed prior to the interruption of the interrupted task, and resuming execution of a next one of the transactions in the interrupted task using the recovered state information from said at least one of the transactions completed prior to the interruption of the interrupted task. - View Dependent Claims (38, 39, 40, 41, 42)
-
-
43. A method of operating a file server for serving clients in a data network, said file server having a cached disk array storage subsystem, and a plurality of stream server computers linking the cached disk array storage subsystem to the data network for transfer of data streams between the cached disk array storage subsystem and the data network, wherein said method comprises the steps of:
-
one of the stream server computers responding to a request from a client for file access by streaming data between the cached disk array storage subsystem and the data network; and the file server performing stream server failover in response to a failure of said one of the stream server computers in which another one of the stream server computers resumes servicing of a client request interrupted by the failure of said one of the stream server computers; wherein the client request includes a failover mode selection signal, and wherein the file server checks the failover mode selection signal to select one of a plurality of predetermined modes for resuming servicing of the client request found to have been interrupted by the failure of said one of the stream server computers. - View Dependent Claims (44, 45)
-
Specification