Orchestration of resources in distributed, heterogeneous grid environments using dynamic service level agreements

In recent decades the acceptance of the internet and the increase of network capacity have resulted in a situation in which it is now possible to transfer huge amounts of data efficiently and reliably between different computing systems worldwide. This enables new paradigms in provision and use of distributed IT resources. A well-known paradigm is grid computing where computing resources owned by various institutions and organizations are used in a coordinated way in order to solve scientific and economic problems. Access to these resources is realized through public or private networks. Besides computing resources also data, data storage or software resources are provided. In this context it becomes more and more important with which quality these resources are provided. This may be, for example, the minimal availability of computing resources, the maximum access time of a data storage or the maximum response time of a web-based application. Offering resources with a defined quality means for resource providers that they need to implement specific processes to assert the quality of the provisioning process. On the other hand, they can also provide their services at different quality levels. Services with lower quality levels can be offered cheaper than those with high quality levels. Therefore, service consumers can now select the required service with the appropriate service level in terms of their requirements and budget. This provides both parties, service provider and consumer, with more flexibility in the service provisioning process. Service level agreements (SLAs) are an accepted approach to realize contracts for IT services and service qualities. They describe the functional and the non-functional requirements of IT services. Additionally, they define compensation and penalties for delivering services with the defined requirements respectively for failing to meet these quality criteria. This thesis examines methods for negotiation and management of SLAs in distributed systems based on the WS-Agreement standard. The focus is on methods for SLA declaration, automated SLA negotiation and creation processes, monitoring of SLA guarantees, and the application of SLAs for coordinated IT resource provisioning. Therefore, a protocol for dynamic negotiation or renegotiation of SLAs is developed as an extension to the WS-Agreement specification. This includes the definition of a negotiation model for the exchange of offers between the negotiating partners. The subsequent SLA creation process is an automated process in distributed systems. Since SLAs are a kind of electronic contracts a mechanism for validating the integrity of SLA offers was developed and is presented in detail. In addition, automatic methods for SLA guarantee evaluation are described. Finally, an orchestration service for coallocating arbitrary resources such as computing and network resources is presented. The resource orchestration process has been realized using SLAs. The architecture of this service is evaluated and based on the evaluation result an advanced orchestration service architecture is conceived. ZUSAMMENFASSUNG Die Akzeptanz des Internets und der zunehmende Ausbau von Netzwerkkapazitaten fuhrte in den vergangenen Jahrzehnten zu einer Situation in der es nun moglich ist riesige Datenmengen effizient und zuverlassig zwischen verschiedenen Rechnersystemen weltweit zu transferieren. Dies ermoglicht neue Paradigmen bei der Bereitstellung und Nutzung verteilter IT-Ressourcen. Ein wohlbekanntes Paradigma ist Grid-Computing bei dem Rechenressourcen verschiedener Institutionen bzw. Organisationen koordiniert zur Losung wissenschaftlicher und wirtschaftlicher Problemstellungen genutzt werden. Der Zugang zu den benotigten Rechenressourcen wird dabei uber offentliche oder private Netze realisiert. Neben Rechenressourcen werden dabei auch Daten, Datenspeicher oder Software bereitgestellt. Dabei gewinnt auch die Qualitat mit der diese Ressourcen bereitgestellt werden immer mehr an Bedeutung. Darunter versteht man zum Beispiel die minimale Verfugbarkeit von Rechenressourcen, die maximale Zugriffszeit eines Datenspeichers oder die maximale Antwortzeit einer web-basierten Anwendung. Fur die Ressourcenanbieter bedeutet dies dass spezifische Prozesse implementiert werden mussen um IT-Dienste mit einer definierten Qualitat bereitzustellen. Zudem konnen sie ihre Dienste in unterschiedlicher Dienstqualitat bereitstellen. Dienste mit geringerer Qualitat konnen so preiswerter angeboten werden als solche mit hoher Qualitat. Anwender hingegen konnen den passenden Dienst hinsichtlich ihrer Anforderungen und ihres Budgets auswahlen. Service Level Agreements (SLAs) sind ein akzeptierter Ansatz um Vertrage uber IT-Dienste und Dienstqualitaten zu realisieren. SLAs beschreiben sowohl die funktionalen als auch die nicht-funktionalen Anforderungen von IT-Diensten. Daruber hinaus definieren sie Vergutung und Strafen bei Erfullung bzw. Nichterfullung der definierten Anforderungen. Diese Arbeit behandelt Methoden zur Verhandlung und Verwaltung von dynamischen SLAs in verteilten Systemen auf Basis des WS-Agreement Standards. Im Fokus steht hierbei die Deklaration von SLAs, deren automatisierte Verhandlung und Erstellung, das Monitoring von SLA Garantien, sowie die Verwendung von SLAs zur koordinierten Nutzung von IT-Ressourcen. Zu diesem Zweck wurde aufbauend auf die WS-Agreement Spezifikation ein Protokoll zur dynamischen Verhandlung bzw. Neuverhandlung von SLAs entwickelt. Dies beinhaltet die Definition eines Verhandlungsmodells zum Austausch von Angeboten zwischen den Verhandlungspartnern. Die anschliesende Erstellung der SLAs basiert auf dem WSAgreement Standard stellt einen automatisierter Prozess dar. Da es sich bei SLAs um elektronische Vertrage handelt wurden Mechanismen zur Validierung von SLA Angeboten entwickelt und im Detail vorgestellt. Daruber hinaus werden Methoden zur automatisierten Evaluation von SLA Garantien beschrieben. Abschliesend wird ein Orchestrierungsdienst zur Co-Allokation beliebiger Ressource wie z.B. Rechenund Netzwerkressourcen vorgestellt. Die Orchestrierung der verschiedenen Ressourcen wurde mittels SLAs realisiert. Die Architektur des Orchestrierungsdienstes wird evaluiert und basierend auf dem Resultat der Evaluierung wird eine erweiterte Dienstarchitektur konzeptioniert.