Method and system for accessing a file
First Claim
1. A computer-readable medium having computer-executable instructions, comprising:
- receiving a request to open a file, the file having state information associated therewith;
in response to the request, sending a first handle 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;
sending a resume key by which a duplicate handle may be requested, the duplicate handle having access rights to the file that correspond to the first handle;
receiving the resume key and a request for a duplicate handle to the file;
sending the duplicate handle in response to the request for a duplicate handle; and
providing 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.
49 Citations
44 Claims
-
1. A computer-readable medium having computer-executable instructions, comprising:
-
receiving a request to open a file, the file having state information associated therewith;
in response to the request, sending a first handle 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;
sending a resume key by which a duplicate handle may be requested, the duplicate handle having access rights to the file that correspond to the first handle;
receiving the resume key and a request for a duplicate handle to the file;
sending the duplicate handle in response to the request for a duplicate handle; and
providing 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)
-
-
21. A computer-readable medium having computer-executable instructions, comprising:
-
sending a request to open a file in a file access mode including data indicative of access rights;
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;
sending a resume key with a request for a duplicate handle, the duplicate handle having access rights that correspond to the access rights of the first handle;
receiving the duplicate handle; and
accessing the file via the duplicate handle. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A computer-readable medium having computer-executable instructions, comprising:
-
opening a file in a mode comprising a set of one or more access rights and associating state information therewith;
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;
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 opened afterwards;
sending a request for the duplicate handle together with the resume key, the request being sent via a second channel; and
accessing the file via the duplicate handle. - View Dependent Claims (32, 33, 34, 35)
-
-
36. A computer-executable method for accessing to a file, comprising:
-
obtaining a first handle to a file via a loopback path, the first handle capable of accessing the file in accordance with any rights granted while opening the file;
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
obtaining the duplicate handle to the file and thereafter performing any read or write access to the file via the duplicate handle. - View Dependent Claims (37, 38, 39, 40)
-
-
41. A system for accessing a file, comprising:
-
a client configured to send a request to open a file, receive a first handle to the file and a resume key, send a request for a duplicate handle together with the resume key, and access 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 when the active server goes offline another one of the plurality of servers becomes active and takes 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 is configured to build a data structure that is included on the other server and to place resume 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. - View Dependent Claims (42)
-
-
43. A system for accessing a file, comprising:
-
a client configured to send a request to open a file, receive a first handle to the file and a resume key, send a request for a duplicate handle together with the resume key, and access the file via the first and duplicate handles;
a plurality of data stores configured to 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 when any of the servers is notified that it will be taken offline, the server is configured to send data including resume keys from its data structure to another server and to refer any requests for access to files associated with the sent data to the other server, the other server providing access to the file thereafter, the other server incorporating the data into the data structure included on the other server, so that the other server provides a duplicate handle in response to a request for the duplicate handle from the client. - View Dependent Claims (44)
-
Specification