Die Ablaufumgebung für verteilte, adaptive Dienste (EDAS) erlaubt die
Verwendung von clientseitigen Resourcen auf eine kontrollierte und
sichere Weise. Sie unterstützt eine dynamische Adaption zur Laufzeit,
stellte eine Management-Infrastruktur bereit und bietet Systemmechanismen
für Skalierbarkeit und Fehlertoleranz.
Die Ablaufumgebung baut auf unserer AspectIX Middleware-
Infrastruktur auf. Sie unterstützt flexible Service-Modelle,
einschliesslich einem klassischen, zentralisierten Client-/Server-
Modell, einer komplett auf Peer-to-Peer-Netzen basiertenden
Architektur, und verschiedene zwischen diesen Extrema liegenden
Modellen, die eine kontrollierte Verwendung von clientseitigen
Resourcen erlaubt. Es wird eine generische Dienstarchitektur
angestrebt, die es erlaubt, eine Dienstfunktionalität einmal zu
implementieren, und dann diesen Dienst mit verschiedenen
Dienstmodellen auszuführen und auch zur Laufzeit dynamisch
anzupassen.
EDAS unterstützt eine explizite Verwaltung von verfügbaren
Resourcen über einen Behausungsdienst.
Durch diesen Behausungsdienst können Domänenadministratoren
Resourcen für Anwendungsdienste bereitstellen. Um die Administration
zu vereinfachen, können beliebige Mengen von Knoten innerhalb einer
administrativen Domäne gemeinsam verwaltet werden. Darüber hinaus ist
der Behausungsdienst verantwortlich für eine lokele Resourcen-
Überwachung (z.B. verfügbarer Hauptspeicher, CPU-Resourcen,
Netzwerkkapazitäten) sowie für eine Benachrichtigung über
resourcenbezogene Ereignisse (wie das Hinzufügen oder Entfernen
von Resourcen oder das Herunterfahren eines Knotens).
Die zweite Kernkomponenten ist die Dienstumgebung
Deren Aufgabe ist das Bereitstellen einer Umgebung, in der
Dienste ausgeführt werden können. Sie verwaltet die verfügbaren
Ausführungsorte, abhängig von Resource-Angeboten von Behausungsdiensten
und Vertrauens-Politiken des Administrators der Dienstumgebung.
Zudem reagiert die Dienstumgebung auf Benachrichtigungen vom
Behausungsdienst, und schlägt z.B. vor, dass ein Dienst migriert
werden soll als Reaktion auf die Ankündigung, dass ein Knoten
heruntergefahren wird. Zudem lassen sich verschiedene
Vertrauensstufen differenzieren.
Zum Beispiel kann der Kern eines Dienst (alle primären Replikate)
ausschliesslich auf vollständig vertrauenswürdigen Knoten
beheimatet werden, während Cache-Knoten oder sekundäre
nur-lese-Replikate auch auf anderen Knoten plaziert werden
können.