Diplomarbeit Vertrauenswürdige Und Soziale Verwaltung Von
Total Page:16
File Type:pdf, Size:1020Kb
TECHNISCHE UNIVERSITÄT DRESDEN FAKULTÄT INFORMATIK INSTITUT FÜR SYSTEMARCHITEKTUR PROFESSUR FÜR RECHNERNETZE PROF. DR. RER. NAT. HABIL DR. H. C. ALEXANDER SCHILL Diplomarbeit zur Erlangung des akademischen Grades Diplom-Medieninformatiker Vertrauenswürdige und soziale Verwaltung von Ressourcen als Dienstleistung in persönlichen Cloudkontrollzentren Stephan Zepezauer (Geboren am 30. Mai 1980 in Elsterwerda) Betreuer: Dr.-Ing. Josef Spillner Dresden, 27. März 2012 Selbstständigkeitserklärung Hiermit erkläre ich, dass ich die von mir am heutigen Tag dem Prüfungsausschuss der Fakultät Infor- matik eingereichte Diplomarbeit zum Thema: Vertrauenswürdige und soziale Verwaltung von Ressourcen als Dienstleistung in persönlichen Cloudkontrollzentren vollkommen selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt sowie Zitate kenntlich gemacht habe. Dresden, 27. März 2012 Stephan Zepezauer 1 Contents 1 Introduction 4 1.1 Motivation...................................... 5 1.2 Scenario........................................ 7 1.3 Outline ......................................... 8 2 Basics 10 2.1 CloudComputingDefinition . ..... 10 2.2 Cloud Computing Reference Model . ...... 12 2.3 ServiceModelsoftheCloud . ..... 12 2.3.1 Infrastructure as a Service . ..... 13 2.3.2 PlatformasaService. 15 2.3.3 SoftwareasaService. 16 2.4 Fundamental Deployment Models of the Cloud . ......... 17 2.4.1 PublicCloud .................................. 17 2.4.2 CommunityCloud ............................... 18 2.4.3 PrivateCloud.................................. 20 2.4.4 HybridCloud.................................. 20 2.5 Bordering of the Cloud Domain and Emphasis of the Individual ........... 21 2.5.1 Toward the Integration of Regional Clouds for Businesses and Communities . 22 2.5.2 Services in Home-based Cloud Computing Environments ........... 23 2.5.3 A proper Distinction between Home Cloud and Personal Cloud . 25 2.6 Mechanisms for the Development of Trusted Clouds . ........... 26 2.6.1 PrivacyintheCloud ............................. 26 2.6.2 Security of Outsourced Data . 27 2.6.3 Trustworthy Cloud Computing . 29 2.7 Summary ........................................ 30 3 Requirements Analysis 32 3.1 ProblemContext .................................. 32 3.2 Requirements .................................... 36 3.3 Summary ........................................ 37 4 Stateofthe Art 38 4.1 PersonalCloudProducts . ..... 38 4.2 ResearchProjects ................................ 41 2 4.3 Tools........................................... 48 4.4 SummaryandDiscussion . 52 5 System Design 56 5.1 Global Process and Delimitation . ........ 56 5.2 Resource Integration . ..... 57 5.2.1 FunctionalUnits ............................... 58 5.2.2 Functional Unit Description . ..... 59 5.2.3 Remote Device and Resource Discovery . ...... 60 5.2.4 Local Device and Resource Discovery . ...... 63 5.2.5 Resource Information Discovery . ...... 65 5.2.6 Manual Resource Integration . ..... 65 5.3 TheResourceManagement . 66 5.3.1 ResourcePlan.................................. 66 5.3.2 ResourceLabeling .............................. 67 5.4 DataManagement.................................. 71 5.5 Application Programming Interface . ......... 72 5.6 Summary ........................................ 72 6 Implementation 74 6.1 PrototypeOverview............................... 74 6.1.1 Package: ResourceManagement . 74 6.1.2 Package: PluginController . ..... 75 6.1.3 Package: DataManagement . 75 6.1.4 Package:Logging ............................... 75 6.2 Resource Integration . ..... 75 6.3 Gathering of Resource Information . ......... 78 6.4 Application Programming Interface . ......... 78 6.5 PrototypeExtension.... ...... ..... ...... ..... .... ..... 78 6.6 Summary ........................................ 79 7 Evaluation 80 7.1 Evaluation of Requirements . ....... 80 7.2 Scenario-based Evaluation . ....... 82 8 Summary and Outlook 85 8.1 FutureWork...................................... 86 9 Abbreviation 88 Bibliography 90 List of Figures 95 3 List of Tables 96 A Service Discovery Protocols 97 B Scenario-based Evaluation 113 1. INTRODUCTION 4 1 Introduction Cloud computing emerged from the Service-Oriented Architecture (SOA) paradigm that defines prin- ciples for the development of software, in which well-defined business functionalities are provided as a service. According to this paradigm, all resources of the Cloud are made available as services and can be accessed through the Internet by offering a user-centric interface that acts as a point of access for costumer’s needs and requirements. The term Cloud originated from the early days of the Internet, where internal processes and the complexity of message propagation were hidden in a Cloud of interconnected computer networks. This image of a global network system was derived from network diagrams from the early 1960s, whereby the network was drawn as a cloud in which data was delegated across carrier backbones from one location to another [RR10]. Another idea of this time was to provide computing power and even specific applications through a utility business model - just as water and electricity utilities operate today. The idea of utility computing was first proposed by John McCarthy in 1961 and is realized by the current cloud computing technology1. But the IT-related technologies that existed at this time, could not implement such a futuristic computing model and so it took more than forty years until Cloud computing emerged in technology and public circles. The new millennium brought innovations in the field of Internet technologies (SOA, Web 2.0, Web Services), distributed computing (clusters, grids) and hardware (virtualization, multi-core chips). As some of these innovations were in their infancy, they were first seen as hype, but later became pop- ular in academia and major industry, followed by specifications and standardizations [VBB11]. The maturity of these technologies mainly influenced the advent of Cloud computing. Cloud computing is determined by virtualized resources, dynamically scaled services and the avail- ability of resources as a web-delivered service to customers (e.g., companies, developer teams). The services provided by Cloud vendors mostly contain infrastructure, platform and software (applica- tions) as a service. This way, the applications of Cloud users, deployed in the cloud, are not tightly bound to the underlying IT infrastructure and are managed by the vendors. For example, a Software- as-a-Service (Saas) vendor is responsible for all of the hardware and software management consumed by their customer base. Thus, the customers can obtain additionally required resources immediately and are liberated from the maintenance burden they would otherwise have for their own applications. From the customer’s perspective, cloud computing allows the reduction of management cost, whereby the customers can focus on their business activities. As with other new technologies, this new way of IT infrastructure management brings new challenges and risks. When considering the customers’ data is stored and processed by a Cloud vendor, questions about privacy, trust and security of information arise immediately. 1http://computinginthecloud.wordpress.com/2008/09/25/utility-cloud-computingflashback-to-1961-prof-john-mccarthy/ 1. INTRODUCTION 5 Besides the aforementioned relationship between customers and Cloud vendors, also known as pub- lic cloud, in which the vendors provide services to a variety of customers distributed over the whole world, separated by different goals and management domains, there exist other solutions to organize the relationship between customers’ and vendors’ domains. A private cloud contains all Cloud ser- vices where customers and vendors belong to the same organizational unit and thus, control over the data remains with the customers or their organization [BKNT11]. If companies, managing a private cloud, outsource data into the public cloud for the purpose of storage or processing, then this rela- tionship is called hybrid cloud. Another case is the provision of resources for a community, called community cloud, which constitutes the context of this thesis. In such a community each mem- ber should have the possibility to provide own resources and to use resources of other community members in a flexible and trustworthy environment. When considering the storage and processing of data by remote vendors, whereby data and applications are distributed over several locations, then the latency for transfered data is a further challenge. Regional/local clouds are a solution for such a challenge and provide the disintegration of dependencies from the public cloud providers. Imagine a community of regionally collaborating musicians make up a social network, which allows them to use resources of other musicians according to the rules of the social network. Such a process facilitates the storage and sharing of different kinds of media, such as audio files, music sheets, and digital graphics, and even the computation of specific task. Even with this simple scenario, one can already notice the underlying concept of this thesis: The concept of trustworthy and social manage- ment of resources as a service. This thesis provides solutions for resource owners to automatically discover available personal resources to integrate them into the Cloud (community cloud, region- al/local cloud) and assures that the resources can be synchronized trustworthy with heterogenous computing devices.