Method and system for accessing a file
First Claim
1. A computer storage medium for use in a system that provides state-full access to a file and for implementing a method for accessing the file through a duplicate handle, the computer storage medium comprising:
- stored computer-executable instructions for performing the method, the method comprising;
a server receiving a request from a client through a first channel to open a file residing on the server, the file having state information associated therewith;
in response to the request, the server sending a first handle to the client to use to access data in the file and at least part of the state information associated therewith, the first handle having access rights to the file;
the server sending a resume key to the client by which a duplicate handle may be requested, the duplicate handle having access rights to the file that correspond to the first handle;
the server receiving a new request from the client through a second channel for a duplicate handle to the file, the new request being sent with the resume key;
the server sending the duplicate handle to the client in response to receiving the new request for a duplicate handle and the resume key; and
the server providing the client with access to the file via the duplicate handle.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for providing state-full access to files and resuming access should a connection be broken. A resume key is returned to the client that allows the client to request a duplicate handle to an open file. The duplicate handle can be used to access the file in the same manner as the handle used to open the file. When a connection is broken, the file remains open on the server for a period of time and the state information associated with the file is maintained. Even if a connection is not broken, a client may request one or more duplicate handles and establish other channels (also known as connections) with which to access the file.
-
Citations
41 Claims
-
1. A computer storage medium for use in a system that provides state-full access to a file and for implementing a method for accessing the file through a duplicate handle, the computer storage medium comprising:
stored computer-executable instructions for performing the method, the method comprising; a server receiving a request from a client through a first channel to open a file residing on the server, the file having state information associated therewith; in response to the request, the server sending a first handle to the client to use to access data in the file and at least part of the state information associated therewith, the first handle having access rights to the file; the server sending a resume key to the client by which a duplicate handle may be requested, the duplicate handle having access rights to the file that correspond to the first handle; the server receiving a new request from the client through a second channel for a duplicate handle to the file, the new request being sent with the resume key; the server sending the duplicate handle to the client in response to receiving the new request for a duplicate handle and the resume key; and the server providing the client with access to the file via the duplicate handle. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
20. A computer storage medium for use in a system that provides state-full access to a file and for implementing a method for accessing a file through a duplicate handle, the computer storage medium comprising:
stored computer-executable instructions for performing the method, the method comprising; a client sending a request to a server through a first channel to open a file in a file access mode including data indicative of access rights, the file residing on the server; the client receiving a first handle to use to access data in the file in accordance with the access rights, the first handle providing access to all or part of any state information associated with the file; the client receiving a resume key by which a duplicate handle may be requested; the client sending the resume key to the server with a new request for a duplicate handle through a second channel, the duplicate handle having access rights that correspond to the access rights of the first handle; the client receiving the duplicate handle; and the client accessing the file via the duplicate handle. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29)
-
30. A computer storage medium for use in a system that provides state-full access to a file and for implementing a method for accessing the file through a duplicate handle, the computer storage medium comprising:
stored computer-executable instructions for performing the method, the method comprising; a client requesting to open a file in a mode comprising a set of one or more access rights and associating state information therewith, the file being stored on a server; the client obtaining a first handle to the file, the first handle capable of accessing the file in accordance with any access right included in the mode, the first handle obtained via a first channel; the client obtaining a resume key with which to request a duplicate handle, the duplicate handle capable of accessing the file in any way in which the first handle is capable;
closing the first channel and keeping the file open afterwards;the client sending a new request for the duplicate handle together with the resume key, the request being sent via a second channel; and the client accessing the file via the duplicate handle. - View Dependent Claims (31, 32, 33, 34)
-
35. A computer storage medium having stored computer- executable instructions for use in a system that provides state-full access to a file and for implementing a method for accessing a file through a duplicate handle, the method comprising:
-
a client using a network redirector to request a first handle to open a file, the request being made via a loopback path, the first handle capable of accessing the file in accordance with any rights granted while opening the file, the file being stored on a server; after requesting the first handle via the loopback path, the client requesting subsequent accesses to the file through a separate channel; the client obtaining a resume key with which to request a duplicate handle, the duplicate handle capable of accessing the file in any way in which the first handle is capable; and the client using at least the resume key to obtain the duplicate handle to the file and thereafter performing any read or write access to the file via the duplicate handle. - View Dependent Claims (36, 37, 38, 39)
-
-
40. A system for accessing a file through a duplicate handle, comprising:
-
a client that performs the following steps; sending a request through a first channel to open a file residing on a server, the file having state information associated therewith; receiving a first handle to the file and a resume key, the first handle having access rights the file sending a request through a second channel for a duplicate handle together with the resume key, the duplicate handle having access rights to the file that correspond to the first handle; and accessing the file via the first and duplicate handles; and a plurality of servers associated with a data store, only an active one of the plurality of servers controlling the data store at a time, the plurality of servers configured in a redundant relationship wherein in response to the active server going offline another one of the plurality of servers becoming active and taking control of the data store, the data store comprising open files including the file and a data structure including resume keys to obtain duplicate handles for the open files, wherein after the active server goes offline, the other server that becomes active builds a data structure that is included on the other server and resume places keys stored in the data store therein, so that the other server may provide a duplicate handle in response to a request for the duplicate handle from the client.
-
-
41. A system for accessing a file through a duplicate handle, comprising:
-
a client that performs the following steps; sending a request through a first channel to open a file residing on a server, the file having state information associated therewith; receiving a first handle to the file and a resume key, the first handle having access rights to the file sending a request through a second channel for a duplicate handle together with the resume key, the duplicate handle having access rights to the file that correspond to the first handle; and accessing the file via the first and duplicate handles; a plurality of data stores that operate in a distributed file system; and a plurality of servers, each server associated with one of the data stores, each server including a data structure comprising resume keys to use in providing duplicate handles for the open files included on the data store associated with the server, wherein in response to a first server being notified that it will be taken offline, the first server sending data including resume keys from its data structure to a second server and refers any requests for access to files associated with the sent data to the second server, the second server providing access to the file thereafter, the second server incorporating the data into the data structure included on the second server, so that the second server provides a duplicate handle in response to a request for the duplicate handle from the client.
-
Specification