Re: Re : Help needed in developing disconnected operation for OpenAFS on windows
Jeffrey Altman <[email protected]> Mon, 03 Mar 2008 15:07:09 -0500
| Newsgroups | gmane.comp.file-systems.openafs.devel.win32 |
|---|---|
| Organization | Secure Endpoints Inc. |
| Message-ID | <[email protected]> |
[email protected] wrote: > Dear sir/madam, > > We are working on Disconnected operation for AFS on windows platform > as a part of microsoft open research project (15 months duration). We > want to implement the features that are there in AFS at University of > Michigan.They have implemented it as a part of LITTLE WORK PROJECT.For > this we need the basic design of AFS on Microsoft windows.We are not > disturbing the server most of the times. > > here is the link to their project : > http://delivery.acm.org/10.1145/1290000/1287074/p1-huston.htm?key1=1287074&key2=6570754021&coll=&dl=&CFID=18653746&CFTOKEN=64668636 I do not believe that the UMichigan model for disconnected operations is viable for the Microsoft Windows environment. The UMichigan model is a research project which in my opinion does not provide a user experience that meets the minimum requirements of an end user system. In my opinion, a disconnected operations model for Microsoft Windows should be implemented as part of a Redirector that is independent of AFS. The desired functionality should provide the ability to redirect files, folders, or volumes to local disk when in offline mode. Switching to/from offline mode can be triggered by the AFS Cache Manager automatically using the OAFW Volume Status reporting interface. The Offline Folders functionality should combine the redirector with a user mode interface that permits the selection of files, folders, and volumes for offline use, that performs manual or automatic synchronization based upon policy, and that communicates with the user to address synchronization collisions. > Our implementation details are as follows : > > 1)Change the cache control system. Make the cache manager more > optimistic towards the files . > > 2)Run a the program that works as server in the client itself. I do not understand what this means. Why will there be an AFS File Server running in the client itself. For what purpose? > 3) Make sure that you implement different set of actions in the > disconnected mode for commands like open ,read and write.This can be > achived by setting a variable to turn on in the disconnected mode. Disconnected operations should not be a globally setting. That is acceptable for a research project that demonstrates the capability but it is not acceptable for real world environments in which some servers or cells may not be accessible while others remain accessible. Open, Read, Write, and Close are the easy issues. The hard issues are: (1) how do you ensure that you have all of the data for all of the files and directories that the user wishes to access in the cache? AFS caches arbitrary blocks not whole files or directories. (2) how do you synchronize read and write locks when the file server is not accessible? Windows makes heavy use of mandatory byte ranging locking. The UMich disconnected operations code ignores the issues surrounding file locks entirely. (3) how do you interact with the end user to notify them of collisions and what do you do when there are collisions? (4) how do you respond to applications when open files cannot be synchronized back to the file server or when locks cannot be obtained? (5) how do you address access control issues for files that are offline? Simply because something exists within the cache does not mean that it may be accessed by all users of the machine. AFS is frequently deployed in multi-user environments. Switching to offline mode cannot be a method of bypassing AFS' access controls. (6) how do you ensure that the file are synchronized back to file server with the same user credentials that were intended to be used when the files were modified? > 4) When the connection resumed ,we will write all the logs in main > server.We have mechanisms to take care of synchronization problems. What is a "main server"? > The basic problem that we are facing is the nativity. I have been > working on linux for the past 6 years and i had very little experience > in windows application development. You should familiarize yourself with the Windows Driver Kit and the SMB/CIFS protocol specifications which were publicly released last week. > We would be thankful to you if you can provide detailed design/component > diagram of AFS on windows so that we can easily locate which modules we > have to change and where they are. The desired documentation and designs do not exist. IBM did not provide any when the source code was released as OpenAFS. All of the source code for the AFS Client Service that you should need to touch resides in the src/WINNT/afsd directory. This includes the SMB Server which accepts requests from the Windows SMB Redirector client over the NetBIOS interface and the cache manager implementation. The SMB Server implementation consists of the smb*.[ch] files and cache manager files are afs*.[ch] and cm_*.[ch]. > We would be delightful if you can suggest any material ( books / > journals /research papers / release notes / source code ) on AFS > development for windows. Source code is available from OpenAFS. The repository information can be found at http://www.openafs.org/cvs.html. Source code browsing via the web is accessible at http://www.openafs.org/frameset/cgi-bin/cvsweb.cgi/openafs/. Jeffrey Altman Secure Endpoints Inc.
smime.p7s
(application/x-pkcs7-signature, 3.3 KB) - not displayed