[OpenAFS-win32-devel] Re : Help needed in developing disconnected
operation for OpenAFS on windows
Jeffrey Altman
jaltman@secure-endpoints.com
Mon, 03 Mar 2008 15:07:09 -0500
This is a cryptographically signed message in MIME format.
--------------ms010306060608080004090306
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
vvelagapuri@students.iiit.ac.in 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.
--------------ms010306060608080004090306
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature
MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJeTCC
AxcwggKAoAMCAQICEALr5BE3U6n+HWCoLbyhohMwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UE
BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMT
I1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA3MDUzMTA2MTM1N1oX
DTA4MDUzMDA2MTM1N1owczEPMA0GA1UEBBMGQWx0bWFuMRUwEwYDVQQqEwxKZWZmcmV5IEVy
aWMxHDAaBgNVBAMTE0plZmZyZXkgRXJpYyBBbHRtYW4xKzApBgkqhkiG9w0BCQEWHGphbHRt
YW5Ac2VjdXJlLWVuZHBvaW50cy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCsoz/0+s4Cn65n/3bU3shXw4y5u1uEMEsBOiqNU0PfIKGYQe95b1FKNbNAkctSdQT6GF5c
bhSnJPmb2OOb1frx64dlDgskaG561xa8XPA1aP8Cc+33dgsSLIxGEh97lyUYHEfWBC03KMCF
PKhZfcrGAXoVCrFBadnLAokQbUTFahVg/qQx2IT3wSj1sCIfV5UDuXcEKHCvRtEZIsSzu184
9Cj6I4nY5bt+r94kyDHM94MHYBJi+6tWLFRy2gkIB3HEPmxAiQrKljNpH9bOffiBLIAgmJ6d
1ZXepBXyexQbwOYvftpVlMEFHHQmdiwH3tj69hE78XvM5X9J+SbjbuNpAgMBAAGjOTA3MCcG
A1UdEQQgMB6BHGphbHRtYW5Ac2VjdXJlLWVuZHBvaW50cy5jb20wDAYDVR0TAQH/BAIwADAN
BgkqhkiG9w0BAQUFAAOBgQB8FShDN2Ig034Y5eyadiFDEtOvsIJ3Z2xV9aTL4u8xMlz1gZR1
AZAvCv+ZMMRRKWCsrG5tItV8DFPSfWAGMpInmMarA4f76JRLQEUhkRUg8GpkJM5ryk5EDakk
0oiBQcQD8A+UHwrcmaj3UWxQ9zCjDgU+1mY9nEQxZZyp4eeUfzCCAxcwggKAoAMCAQICEALr
5BE3U6n+HWCoLbyhohMwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoT
HFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25h
bCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA3MDUzMTA2MTM1N1oXDTA4MDUzMDA2MTM1N1ow
czEPMA0GA1UEBBMGQWx0bWFuMRUwEwYDVQQqEwxKZWZmcmV5IEVyaWMxHDAaBgNVBAMTE0pl
ZmZyZXkgRXJpYyBBbHRtYW4xKzApBgkqhkiG9w0BCQEWHGphbHRtYW5Ac2VjdXJlLWVuZHBv
aW50cy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoz/0+s4Cn65n/3bU
3shXw4y5u1uEMEsBOiqNU0PfIKGYQe95b1FKNbNAkctSdQT6GF5cbhSnJPmb2OOb1frx64dl
DgskaG561xa8XPA1aP8Cc+33dgsSLIxGEh97lyUYHEfWBC03KMCFPKhZfcrGAXoVCrFBadnL
AokQbUTFahVg/qQx2IT3wSj1sCIfV5UDuXcEKHCvRtEZIsSzu1849Cj6I4nY5bt+r94kyDHM
94MHYBJi+6tWLFRy2gkIB3HEPmxAiQrKljNpH9bOffiBLIAgmJ6d1ZXepBXyexQbwOYvftpV
lMEFHHQmdiwH3tj69hE78XvM5X9J+SbjbuNpAgMBAAGjOTA3MCcGA1UdEQQgMB6BHGphbHRt
YW5Ac2VjdXJlLWVuZHBvaW50cy5jb20wDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQUFAAOB
gQB8FShDN2Ig034Y5eyadiFDEtOvsIJ3Z2xV9aTL4u8xMlz1gZR1AZAvCv+ZMMRRKWCsrG5t
ItV8DFPSfWAGMpInmMarA4f76JRLQEUhkRUg8GpkJM5ryk5EDakk0oiBQcQD8A+UHwrcmaj3
UWxQ9zCjDgU+1mY9nEQxZZyp4eeUfzCCAz8wggKooAMCAQICAQ0wDQYJKoZIhvcNAQEFBQAw
gdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUg
VG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRp
b24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFp
bCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw0w
MzA3MTcwMDAwMDBaFw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxU
aGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwg
RnJlZW1haWwgSXNzdWluZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxKY8VXNV
+065yplaHmjAdQRwnd/p/6Me7L3N9VvyGna9fww6YfK/Uc4B1OVQCjDXAmNaLIkVcI7dyfAr
hVqqP3FWy688Cwfn8R+RNiQqE88r1fOCdz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/
p7bRPGEEQB5kGXJgt/sCAwEAAaOBlDCBkTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8
MDowOKA2oDSGMmh0dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWls
Q0EuY3JsMAsGA1UdDwQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxh
YmVsMi0xMzgwDQYJKoZIhvcNAQEFBQADgYEASIzRUIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/
TCG4+DYfqi2fNi/A9BxQIJNwPP2t4WFiw9k6GX6EsZkbAMUaC4J0niVQlGLH2ydxVyWN3amc
OY6MIE9lX5Xa9/eH1sYITq726jTlEBpbNU1341YheILcIRk13iSx0x1G/11fZU8xggNkMIID
YAIBATB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5
KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQ
AuvkETdTqf4dYKgtvKGiEzAJBgUrDgMCGgUAoIIBwzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcN
AQcBMBwGCSqGSIb3DQEJBTEPFw0wODAzMDMyMDA3MDlaMCMGCSqGSIb3DQEJBDEWBBRW/w/l
Q6yVHRz9wN1gGQpKO6OJUzBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMHMA4GCCqGSIb3
DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBhQYJKwYB
BAGCNxAEMXgwdjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcg
KFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3Vpbmcg
Q0ECEALr5BE3U6n+HWCoLbyhohMwgYcGCyqGSIb3DQEJEAILMXigdjBiMQswCQYDVQQGEwJa
QTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhh
d3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECEALr5BE3U6n+HWCoLbyhohMwDQYJ
KoZIhvcNAQEBBQAEggEALhvgITtPdvydioqWsOT0hh80q9eeibA5Jv7s02gvwR789F0KzkID
MZBIOdt+ecy+WqNAFZnxbrAY8XvfIEn//wu5lx5FoJYrS620Qq/iDfHUq26bsha08ez8/8sP
ZTjU5Lu12uatc9gwnGHAsnq0Yn/SUI8X1HvTQZ4FqSFW6pqXcuzyEvySIJrsTeboH5w1e5oD
7jRG5aF64etVPmBo9opRQnZ6/xVfEHsiGNJ3+J26WElwfTNRGaA0vEsbNNUHaIlSRxsI6l8v
cVkZ35/Oeht1EmGeUbk8stKeDGNVHTFnln5A2fan39KQaRFUnHnyZ+7xVywKOd4KdIanXqZx
MwAAAAAAAA==
--------------ms010306060608080004090306--