Rozproszony system plików AFS stworzono na Canergie-Mellon University we współpracy z IBM (Information Technology Center ITC). ITC stworzyło kilka wersji, w tym ostateczną AFS 3.0. Dalsze prace prowadzono w Transarc Corporation, gdzie system AFS przekształcono w DFS, składową środowiska DCE.
Najważniejsze założenia dla systemu AFS:
W systemie AFS sieć podzielona jest na pewną liczbę niezależnych klastrów. W systemie AFS używa się
serwerów dedykowanych. Komputer w sieci jest
albo serwerem, albo klientem, nie może pełnić obu funkcji. Do każdego klastra należy pewna liczba
kllientów oraz serwer, który przechowuje pliki dla tych klientów. Chociaż użytkownicy mają dostęp
do wszystkich plików w sieci, najszybciej otrzymają te, które znajdują się na serwerze należącym
do tego samego segmentu sieci.
Aby zwiększyć wydajność w systemie AFS zastosowano ,,agresywne'' techniki cache'owania po stronie
klientów. Zapamiętywany jest cały plik lub 64-kilobajtowe kawałki. O ważność danych u klientów
dbają serwery.
Aby zmniejszyć obciązenie serwerów analiza nazw plików odbywa się u klientów.
Pliki współdzielone są przechowywane przez zestaw serwerów Vice. Zorganizowane są one w logiczne jednostki woluminy (ang. volume). Wolumin jest to zestaw związanych ze sobą plików i katalogów, przy czym jest to jednostka różna od partycji dysku. Użycie woluminów ma następujące zalety:
Zestaw serwerów w systemie AFS nazywany jest Vice, zaś stacje klientów Virtue. W jądrze klienta działa zarządca pamięci podręcznej AFS, natomiast w serwerze większość jego funkcji wykonywanych jest na poziomie jądra przez procesy-demony.
Implementacją operacji v-węzła u klienta zajmuje się zarządca pamięci podręcznej. O spójność danych w pamięciach podręcznych klientów dba serwer, przy użyciu mechanizmu obietnicy powiadomienia (ang. callback), co oznacza że jeśli inny klient zmodyfikuje plik, to pozostali są o tym powiadamiani. Wiąże się to oczywiście z faktem, iż serwer AFS musi być stanowy, by przechowywać informacje o otwartych plikach.
Analiza nazw ścieżkowych jest wykonywana po stronie klienta, aby odciążyć serwer. Klient pamięta więc dowiązania symboliczne, katalogi jak i pozycje położenia woluminów z bazy danych. Analiza odbywa się po jednej składowej na raz.
W systemie AFS korzysta się z systemu uwierzytelniania Kerberos opracowanego na MIT, przy czym
uwierzytelnianie klientów odbywa się poprzez odpowiedzi na zaszyfrowane komunikaty serwera. Klucz
do szyfrowania zna klient i serwer.
Ponadto wykorzystywana jest lista kontroli dostępu ACL (ang. Access Control List) do
poszczególnych katalogów.
Pomimo sukcesu pod koniec lat 80. system AFS miał kilka znaczących wad, które wymusiły zmiany w jego następcy, systemie DFS, a mianowicie: