24.08.2013 Aufrufe

Download - FESG - Technische Universität München

Download - FESG - Technische Universität München

Download - FESG - Technische Universität München

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

102 KAPITEL 4: DIE VERBESSERUNG DER DIENSTGÜTE<br />

überhaupt genutzt werden soll). Alle weiteren Verästelungen sind so gestaltet, dass<br />

sie die minimalen Erfordernisse der Container erfüllen (Integration von Kopieroperatoren)<br />

und interne Fehler durch Ausnahmebehandlungen preisgeben.<br />

Erste Baumebene bilden Pfadan- Die nächste Stufe ergibt sich aus der Notwendigkeit heraus, Zusatzinformatiogaben<br />

nen zu den Pfaden der Dateien zu verwalten. Dabei werden die Pfade nicht als hierarchisch<br />

angesehen. Jeder Pfad (Schlüssel in eine Map), auch wenn er ein Teilpfad<br />

eines anderen ist, erhält einen eigenen Eintrag. Dies ist wegen des linearen Verwaltungsaufwandes<br />

möglich, birgt allerdings eine Bedingung: Generelle Absorptionen<br />

(Durchläufe durch die Strukturen mit dem Zweck nicht weiter benötigte Einträge<br />

zu entfernen und betroffene Elemente je nach Zustand zu übernehmen oder zu löschen)<br />

müssen entsprechend der Pfadhierarchie stattfinden. Das bedeutet, dass die<br />

Absorption bei den längsten Pfaden beginnen muss, um dann in den Wurzelverzeichnissen<br />

zu enden. Deshalb wird zum einfacheren Sortieren der Pfadlängen in<br />

die über den Pfad als Schlüssel zugreifbare Pfadverwaltung auch direkt die Angabe<br />

zur Pfadlänge mit integriert.<br />

Sperrverweise für ganze Verzeichnisbäume<br />

sind in dieser<br />

Ebene angesiedelt<br />

Eine weitere Kontrollinformation der Pfadverwaltung ist die Anzahl zugreifender<br />

Nutzer, so dass evtl. einsetzende Löschaktionen abgeblockt werden können,<br />

solange mehr als ein Nutzer zugreift. Eine Vormerkung ist ebenfalls nicht nötig, da<br />

verwaltete Einträge auf zugreifende Nutzer deuten und somit von einem Inhalt in<br />

dem Verzeichnis ausgegangen werden kann. Außerdem werden rekursive Vorgänge<br />

nicht von der Schnittstelle unterstützt, sondern sind von den Anwendungen als<br />

zusätzliche Basisbefehle einer höheren Ebene zu realisieren.<br />

Um schon hier den nützlichen Sperrmechanismus einzubringen, existiert ein<br />

Eintrag, welcher auf einen sperrenden Nutzer verweist (Zeiger auf die Registrierung<br />

seiner Sitzung). Dadurch ist es möglich, komplette Pfade und damit Speicherbereiche<br />

zu sperren. Sperren wirken dabei autoritär. Alle aktiven Zugriffe ohne<br />

Sperren anderer Nutzer werden sofort beendet und begonnene mehrteilige Aktionen<br />

verworfen. Bei existierenden Sperren gilt das Vorrecht des Ersten, so dass weitere<br />

abgewiesen werden. Ab dann hat nur noch der Halter der Sperre ein exklusives<br />

Nutzungsrecht zum Lesen und Schreiben, bis er es freiwillig aufgibt. Sperren dienen<br />

somit zur Verhinderung von sog. „Lost Updates“ (unbemerktes Verschwinden<br />

von Veränderungen, sobald mindestens zwei Autoren gleichzeitig an derselben Datei<br />

arbeiten und diese zu verschiedenen Zeitpunkten freigeben). Zur Vermeidung<br />

von Deadlocks wird regelmäßig die Existenz des Inhabers einer Sperre dadurch<br />

überprüft, dass sein letzter Zugriff nicht länger zurückliegen darf, als eine vordefinierte<br />

Zeitspanne. Wird sie überschritten, wird sein exklusives Recht zwangsweise<br />

zurückgezogen, und alle bis dato unvollständigen Abläufe werden verworfen.<br />

Eine weitere Baumebene sind die Einem Pfadelement ist weiter eine Liste für die Menge der gerade in Bear-<br />

Dateiangaben beitung befindlichen Dateien (Originale, Replikate, Versionen) eingegliedert. Ein<br />

Element der Liste beinhaltet die eindeutige Identifikationsnummer der ersten Version<br />

(Zeitstempel erweitert durch eine fortlaufende Nummer und eine Zufallszahl)<br />

und der letzten. Auch hier kann wieder ein exklusives Nutzungsrecht eingetragen<br />

werden. Allerdings sperrt der Inhaber nur die jeweilige Datei und ihre Versionen<br />

mit ähnlichen Konsequenzen wie bei Pfadsperren. Soll eine Datei gelöscht werden,<br />

während noch Versionen geschrieben werden, so existiert ein Eintrag zur Vormerkung<br />

des Löschvorgangs. Da dieser in der logischen Ordnung nach allen bisherigen<br />

Startzeiten von Schreibaktionen stattfindet, tritt er nach Beendigung des letz-

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!