Forschungen auf dem Gebiet der verteilten Anwendungen belegen dass diese immer mehr Bedeutung gewinnen. Besonders Applikationen die in Cloud-basierten Umgebungen laufen Diese Anwendungen enthalten meist komplexe Anwendungslogiken die darauf ausgelegt sein sollten sich dynamisch an eine sich verändernde Umgebung anzupassen. Um Anpassungen aufgrund solcher Umgebungen automatisiert durchführen zu können ist es wichtig Anwendun- gen und deren Umgebungen zu beobachten. Es existieren verschieden Ansätze um auf verschiedene Ereignisse, die während der Laufzeit einer Anwendung aufträten, zu reagieren. Hierbei unterscheiden sich die Ansätze nur durch die Umgebung in der sie eingesetzt werden. Lokale Adaptionsstrategien basieren auf Informationen die eine Anwendung lokal sammeln kann. Dies kann zu Adaptionsszenarien führen die nicht optimal für eine verteilte Anwendung sein können. Solche Adaptionsstrategien umfassen meist mehrere Teile einer Applikation oder benötigen Informationen von diesen um eine optimale Strategie zu erstellen. Aufgrund der Un- vorhersehbarkeit, die eine solche Adaptionsstrategie auf eine verteile Applikation haben kann sind diese für verteilte Anwendungen nicht zu empfehlen. Durch externe Adaptionsmechanismen ist es möglich einen vollständigen Überblick über eine verteile Applikation zu erhalten. Dies ermöglicht es bessere Adaptionsstrategien auszuar- beiten. Existierende Ansätze weisen jedoch Beschränkungen für optimale Strategien für verteilte Applikationen auf. Dies kann auf die verwendeten Ansätze zurückgeführt werden wie Informa- tionen über das verteilte System gesammelt werden. Eine simple Sondierung von bestimmten Informationen könnte aufgrund von diversen Faktoren (z.B. Bandbreite, Granularität, . . . ) nicht praktikabel sein. Des weiteren könnten die gegebenen Informationen nicht ausreichend für Erstellung einer optimalen Adaptionsstrategie sein. Wir stellen ein Framework vor welches speziell auf verteilte Applikationen ausgerichtet ist und auf architecture-based-self-adaption basiert. Unser Ansatz entkoppelt die Applikation von der Adaptionslogik. Dies erlaubt es einen Überblick über die gesamte Applikation einfach zu erstellen und aufgrund dessen eine optimale Adaptionsstrategie zu erarbeiten. Unser vorgestelltes Framework wird mittels einer simplen verteilten Applikation, einem cloud-basierenden Publish-Subscribe System, evaluiert.
de
Distributed applications are becoming more common, especially cloud-based applications are a major topic in recent research. These application mostly contain complex application logic and should be built for dynamic adoption. Thus monitoring of an applications components is an important topic for adaption and scalability. There currently are different methods of adaption approaches: localized and remote. Localized approaches do not always yield optimal solutions due to their localized views. Adoption strategies might include or effect multiple parts of the application, or might need information of those parts to create an optimal adoption strategy. Due to the localized view it is impossible to assess the impact of the adaption effects in one part of the system on other system parts, thus yielding sub-optimal adaption strategies and unforeseen side effects. Remote approaches on the other hand provide a holistic view which allows for more intel- ligent adoption strategies. But existing solutions have limitations with distributed applications. Pure probing might not be feasible (e.g. bandwidth, granularity, . . . ) and the given level of details may not be needed by the adaption control. We propose a distributed architecture tracking framework based on architecture-based-self- adaption. By decoupling the application and the model generation itself we are able to generate a holistic view of the overall application architecture. Thus it is possible to perform optimal adaption decisions for the application. Our proposed framework is evaluated using a simple distributed application, that is a cloud- based publish-subscribe system.
en
Additional information:
Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers Zusammenfassung in deutscher Sprache