Enforcing uniform file-locking for diverse file-locking...

Electrical computers and digital processing systems: multicomput – Computer-to-computer session/connection establishing – Network resources access controlling

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000

Reexamination Certificate

active

06516351

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to locking in a multi-protocol file server.
2. Related Art
In an integrated computer network, it is desirable for multiple client devices to share files. One known method is to provide a network file server for storing files, ca pable of receiving and responding to file server requests from those client devices. These file server requests are made using a file server protocol, which is recognized and adhered to by both the file server and the client device. Because the files are stored at the file server, multiple client devices have the opportunity to share simultaneous access to files.
One problem in the art is that there are multiple diverse file server protocols, each with differing semantics for file operations. It is known to provide a single file server that recognizes multiple file server protocols, but there is a particular difficulty in that many file server protocols have differing and incompatible semantics for file locking and file sharing. Incompatible locking semantics presents a hurdle in providing a single file system to multiple diverse client devices. If a first client device relies on a first file server protocol (having first file-locking semantics), a second client device using a second file server protocol (having different file-locking semantics) can cause applications at that first client device to fail catastrophically. Thus, correct operation of each file server protocol relies on conformity with its file-locking semantics by all other file server protocols.
For example, one protocol commonly used for devices using the Unix operating system (or a variant thereof) is the NFS (“Network File System”) protocol. Devices using the Windows operating system (or a variant thereof) can also use the NFS protocol by means of the “PC NFS” implementation. The NFS protocol is designed to be stateless, and so does not provide any semantics for files to be locked against sharing or otherwise restricted to a single client device. In contrast, one protocol commonly used for devices using the Windows operating system is the CIFS (“Common Internet File System”) protocol. The CIFS protocol has an extensive mandatory file-locking semantics, which CIFS client devices rely on and expect to be adhered to.
In known systems, the NFS protocol has been augmented with an adjunct file-locking protocol, NLM (“Network Lock Manager”), but the NFS protocol treats NLM locks as merely advisory. While this method achieves the purpose of providing file-locking semantics to those NFS applications that use it, it does not prevent NFS applications from ignoring those file-locking semantics, nor does it allow client devices to rely on the file-locking semantics of multiple diverse file server protocols.
Accordingly, it would be desirable to provide a method and system for enforcing file-locking semantics among client devices using multiple diverse file server protocols. This advantage is achieved in an embodiment of the invention in which a uni form set of file-locking semantics is integrated into the kernel of a multi-protocol file server and enforced for client devices using any of the diverse file server protocols recognized by the server. In a preferred embodiment, specific file-locking semantics of the CIFS protocol are implemented so as to allow NFS client devices to inter-operate with CIFS client devices so as to protect data integrity during client access to a shared file system resident on a network file server.
SUMMARY OF INVENTION
The invention provides a method and system for correct interoperation of multiple diverse file server protocols. A file server recognizing multiple diverse file server protocols provides a uniform multi-protocol lock management system (including a uniform file-locking semantics), which it enforces for all client devices and all recognized file server protocols. In a preferred embodiment, a first file server protocol (such as CIFS) enforces mandatory file-open and file-locking semantics together with an opportunistic file-locking technique, while a second file server protocol (such as NFS, together with an adjunct protocol NLM) lacks file-open semantics and provides only for advisory byte-range and file locking semantics.
The uniform file-locking semantics provides that the file server determines, before allowing any client device to read or write data, or to obtain a new file lock or byte-range lock, whether that would be inconsistent with existing locks, regardless of originating client device and regardless of originating file server protocol or file-locking protocol for those existing locks. In the case of CIFS client devices attempting to read or write data, the file server performs this check when the client device opens the file. In the case of CIFS client devices requesting a byte-range lock, the file server performs this check when the client device requests the byte-range lock. In the case of NFS client devices, the file server performs this check when the client device actually issues the read or write request, or when the NFS client device requests an NLM byte-range lock indicating intent to read or write that byte range. Enforcing file-locking semantics protects file data against corruption by NFS client devices.
In a second aspect of the invention, a CIFS client device, upon opening a file, can obtain an “oplock” (opportunistic lock), an exclusive file lock that permits only that one client to read or write the file. When a client device issues a non-CIFS (that is, NFS or NLM) protocol request for the oplocked file, the file server sends an oplock-break message to the CIFS client device, giving the CIFS client device the opportunity to flush any cached write operations and possibly close the file. Allowing NFS and NLM requests to break oplocks ensures that file data remains available to NFS client devices simultaneously with protecting integrity of that file data.
In a third aspect of the invention, a CIFS client device can obtain a “change-monitoring” lock for a directory in the file system, so as to be notified by the file server whenever there is a change to that directory. (Changes to a directory include creating, deleting or renaming files within that directory, or moving files into or out of that directory.) The file server notes changes to the directory by both CIFS client devices and non-CIFS client devices, and notifies those CIFS client devices with “change-monitoring” locks of those changes.


REFERENCES:
patent: 4719569 (1988-01-01), Ludemann et al.
patent: 4742450 (1988-05-01), Duvall et al.
patent: 4780821 (1988-10-01), Crossley
patent: 4825354 (1989-04-01), Agrawal et al.
patent: 4887204 (1989-12-01), Johnson et al.
patent: 4937763 (1990-06-01), Mott
patent: 4984272 (1991-01-01), McIlroy et al.
patent: 5008786 (1991-04-01), Thatte
patent: 5043876 (1991-08-01), Terry
patent: 5067099 (1991-11-01), McCown et al.
patent: 5113442 (1992-05-01), Moir
patent: 5144659 (1992-09-01), Jones
patent: 5202983 (1993-04-01), Orita et al.
patent: 5222217 (1993-06-01), Blount et al.
patent: 5261051 (1993-11-01), Masden et al.
patent: 5283830 (1994-02-01), Hinsley et al.
patent: 5319780 (1994-06-01), Catino et al.
patent: 5504883 (1996-04-01), Coverston et al.
patent: 5535375 (1996-07-01), Eshel et al.
patent: 5572711 (1996-11-01), Hirsch et al.
patent: 5596754 (1997-01-01), Lomet
patent: 5604862 (1997-02-01), Midgely et al.
patent: 5617568 (1997-04-01), Ault et al.
patent: 5628005 (1997-05-01), Horvig
patent: 5649152 (1997-07-01), Ohran et al.
patent: 5649196 (1997-07-01), Woodhill et al.
patent: 5668958 (1997-09-01), Bendert et al.
patent: 5675726 (1997-10-01), Hohenstein et al.
patent: 5675782 (1997-10-01), Montague et al.
patent: 5689701 (1997-11-01), Ault et al.
patent: 5720029 (1998-02-01), Kern et al.
patent: 5721916 (1998-02-01), Pardikar
patent: 5737523 (1998-04-01), Callaghan et al.
patent: 5737744 (1998-04-01), Callison et al.
patent: 5740367 (1998-04-01), Spilo
patent: 5742752 (1998-04-01), DeKoning
patent: 5761669 (1998-06-01), Montague et al.
patent: 5819292

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Enforcing uniform file-locking for diverse file-locking... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Enforcing uniform file-locking for diverse file-locking..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Enforcing uniform file-locking for diverse file-locking... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3179884

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.