Eduardo Miguel Coutinho Gomes De Pinho Um Toolkit Web Para

Total Page:16

File Type:pdf, Size:1020Kb

Eduardo Miguel Coutinho Gomes De Pinho Um Toolkit Web Para Departamento de Eletrónica, Universidade de Aveiro Telecomunicações e Informática 2014 Eduardo Miguel Um toolkit web para integração de serviços cloud Coutinho Gomes de Pinho A web toolkit for cloud service integration Departamento de Eletrónica, Universidade de Aveiro Telecomunicações e Informática 2014 Eduardo Miguel Um toolkit web para integração de serviços cloud Coutinho Gomes de Pinho A web toolkit for cloud service integration Dissertação apresentada à Universidade de Aveiro para cumprimento dos requisitos necessários à obtenção do grau de Mestre em Engenharia de Com- putadores e Telemática, realizada sob a orientação científica do Doutor Carlos Manuel Azevedo Costa, Professor auxiliar do Departamento de Eletrónica, Telecomunicações e Informática da Universidade de Aveiro. o júri / the jury presidente / president Prof. Doutor António Manuel Melo de Sousa Pereira Professor catedrático da Universidade de Aveiro vogais / examiners committee Prof. Doutor Rui Pedro Sanches de Castro Lopes Professor coordenador da Escola Superior de Tecnologia e Gestão do Instituto Politécnico de Bragança Prof. Doutor Carlos Manuel Azevedo Costa Professor auxiliar da Universidade de Aveiro (orientador) agradecimentos / Agradecimentos a família, colegas e amigos, pelo constante apoio. acknowledgements Palavras Chave computação na cloud, interoperabilidade entre clouds, serviços web, engen- haria de software, aplicações web. Resumo A utilização do paradigma de computação na cloud está hoje generalizada em diferentes áreas da sociedade. No entanto, a utilização de recursos forne- cidos por múltiplos fornecedores de serviços tem um conjunto de problemas associados à normalização e interoperabilidade destes serviços. Os esforços para ultrapassar tal problema têm passado pela criação de especificações abertas e frameworks de integração. Contudo, o desenvolvimento de aplica- ções web levanta outras questões no que diz respeito ao acesso e gestão de recursos cloud por parte da lógica da aplicação executada no lado do cli- ente. Esta dissertação propõe e desenvolve uma plataforma extensível para a integração de serviços cloud, desenhada para satisfazer os requisitos e pa- drões comuns das aplicações web. A plataforma inclui políticas de controlo de acesso e mecanismos para a partilha, delegação e replicação de recursos. Finalmente, apresentam-se testes de desempenho da solução implementada, seguindo-se uma análise e discussão dos resultados obtidos. Keywords cloud computing, cloud interoperability, web services, software engineering, web applications. Abstract The latest trends on cloud and multi-cloud computing are well established in our society. However, the lack of interoperability raised a few issues that have been tackled with open standards and integration frameworks. Still, web ap- plication development adds a few more issues when accessing and managing cloud resources in the application’s logic. This thesis describes an extensi- ble platform architecture for portable cloud service integration, designed to satisfy requirements and usage patterns of web applications. Moreover, it im- plements access control policies and mechanisms for cloud resource sharing, delegation and replication. Finally, the thesis presents performance tests of the solution, along with an analysis and discussion of the results obtained. Contents Contents i List of Figures v List of Tables vii Glossary ix 1 Introduction 1 1.1 Overview1 1.2 Proposal2 1.3 Thesis Structure3 2 State of the Art 5 2.1 Web Services5 2.2 Cloud Computing6 2.3 Cloud Services7 2.3.1 Compute8 2.3.2 Data Storage9 2.3.3 Message Queues 10 2.3.4 Notification 10 2.4 Cloud Computing Interoperability and Sky Computing 10 2.4.1 Cloud Interoperability Standardization 11 2.4.2 Solutions for Cloud Service Integration 13 2.5 Service Delivery Cloud Platform 15 2.5.1 Storage Abstraction 17 2.5.2 Database Abstraction 18 2.5.3 Notification Abstraction 18 2.6 mOSAIC Project 18 i 2.6.1 Architecture 18 2.6.2 Components Description 20 2.6.3 API design 22 3 Platform Design 25 3.1 A cloud service platform oriented to web applications 25 3.2 Platform Requirements 26 3.3 The Architecture 27 3.4 Cloud Controller model 28 3.5 Cloud resource model and manipulation 30 3.6 Agents, Authentication and Access Control Policies 32 3.6.1 Resource Delegation 34 3.7 The API 37 3.8 The Plugin support 37 3.9 The Services 38 4 Platform Development 43 4.1 Pre-Development Considerations 43 4.1.1 mOSAIC Considerations 44 4.2 Data Models and Protocols 46 4.3 Cloud Controller 49 4.3.1 Cloud Controller Web Services 49 4.4 Remote Connector SDK 53 4.4.1 Internal Architecture 54 4.5 Cloud Provider Access Drivers 55 4.6 SDCP Runtime 57 4.7 Resource Type: Simple Database 59 4.7.1 AWS SimpleDB 62 4.7.2 Client Module 62 5 Results and Discussion 63 5.1 Benchmarking 63 5.1.1 Environment Conditions and Sequence of Operations 63 5.1.2 Results 64 5.1.3 Observations 66 5.2 Discussion topics 67 5.2.1 mOSAIC Integration 67 5.2.2 Security 67 5.2.3 Benefits 68 5.2.4 Drawbacks 69 ii 6 Conclusion 71 6.1 Future Work 72 References 73 iii List of Figures 2.1 Service Delivery Cloud Platform legacy architecture 16 2.2 Main sub-systems of the mOSAIC architecture 20 2.3 API layers of mOSAIC 24 3.1 SDCP Concept Diagram 28 3.2 SDCP Cloud Controller Model 29 3.3 SDCP Remote Connector model, containing an example of dynamic remote connector access information. 31 3.4 SDCP’s cloud resource hierarchy model 32 3.5 SDCP Agent Authentication and Access Control Diagram 33 3.6 Resource delegation in SDCP, client-oriented approach. 36 3.7 Resource delegation in SDCP, server-oriented approach. 36 3.8 Filestore resource model. 39 3.9 Simple database resource model. 40 3.10 Notification service resource model. 41 4.1 Remote connector internal structure 54 4.2 Internal structure of a mOSAIC connector-driver pair implementation 56 5.1 A comparison of performance between the use of SDCP for simple database operations and direct SimpleDB access. 66 v List of Tables 4.1 A simple comparison of web server applications and technologies. 44 4.2 JSON document definitions in SDCP. 48 4.3 Main SDCP cloud controller web service. 51 4.4 Administration SDCP cloud controller web service. 51 4.5 Cloud access SDCP cloud controller web service. 51 4.6 Internal SDCP cloud controller web service. 52 4.7 Client Runtime API description. 58 4.8 SDCP Simple Database remote connector web service description. 61 5.1 The benchmarking results containing average and maximum execution times of each operation type, in milliseconds. 65 vii Glossary ACL Access Control List JSON JavaScript Object Notation AMQP Advanced Message Queuing Protocol NaaS Notification as a Service API Application Programming Interface NIST National Institute of Standards and AWS Amazon Web Services Technology CaaS Communication as a Service OCCI Open Cloud Computing Interface CAMP Cloud Application Management for OS Operating System Platforms PaaS Platform as a Service CCIF Cloud Computing Interoperability QoS Quality of Service Forum REST Representational State Transfer CDMI Cloud Data Management Interface RPC Remote Procedure Call CFP Call For Proposals SaaS Software as a Service CORS Cross Origin Resource Sharing SDCP Service Delivery Cloud Platform CSB Cloud Service Broker SDK Software Development Kit CSV Comma Separated Values SLA Service-Level Agreement DaaS Data-Storage as a Service SOA Service Oriented Architecture DBMS Database Management System DICOM Digital Imaging and Communications SOAP Simple Object Access Protocol in Medicine SQL Structured Query Language FTP File Transfer Protocol TLS Transport Layer Security GAE Google App Engine URI Universal Resource Identifier GICTF Global Inter-Cloud Technology Forum URL Universal Resource Locator HTTP Hyper-Text Transfer Protocol UUID Universally Unique IDentifier HTTPS HTTP Secure VM Virtual Machine IaaS Infrastructure as a Service WSDL Web Service Definition Language IDL Interface Description Language XML Extended Markup Language IP Internet Protocol XMPP Extensible Messaging and Presence JPA Java Persistence API Protocol ix chapter 1 Introduction 1.1 overview Web applications can deliver a program to the user without a previous installation process on the client machine, while still being able to delegate part of the application’s logic (mostly the user interface) to the local machine, regardless of its operating system. The modern HTML5 standard [1], while still under development, has already increased the potential of many web applications with capabilities such as new local storage mechanisms and JavaScript objects. These additional elements significantly reduce the need for third-party dependencies, like for instance, Adobe Flash. Furthermore, from the fact that web applications lift many resource requirements from the local machine, the development of cross-platform applications for mobile devices has become feasible and worthwhile. While the evolution of web applications has been a reality, it has also brought new challenges. There are many critical applications on the web that need to assure reliability and scalability in order to support their business models correctly, with a minimal chance of failure. The cloud computing concept emerged to become a rather acceptable solution to the deployment of web services, bringing several advantages like, for instance, elasticity, scalability, robustness, flexibility and fault tolerance. The consequence is that many enterprise services are handled by cloud platforms. Amazon Web Services (AWS) [2], Microsoft Windows Azure [3], Rackspace Online [4], Heroku [5] and PubNub [6] are only a few of the cloud providers that are publicly available for service provisioning to their customers. They supply a distinct range of service types, including but not limited to, storage, computing, notification and database services. The outsourcing of applications, including web applications, became prevalent for more demanding services. One of the main drawbacks of these cloud 1 providers resides at their interfaces, which are not interoperable. Thus, it leads to additional effort when a service needs to be migrated or augmented to another provider.
Recommended publications
  • Security in Cloud Computing a Security Assessment of Cloud Computing Providers for an Online Receipt Storage
    Security in Cloud Computing A Security Assessment of Cloud Computing Providers for an Online Receipt Storage Mats Andreassen Kåre Marius Blakstad Master of Science in Computer Science Submission date: June 2010 Supervisor: Lillian Røstad, IDI Norwegian University of Science and Technology Department of Computer and Information Science Problem Description We will survey some current cloud computing vendors and compare them to find patterns in how their feature sets are evolving. The start-up firm dSafe intends to exploit the promises of cloud computing in order to launch their business idea with only marginal hardware and licensing costs. We must define the criteria for how dSafe's application can be sufficiently secure in the cloud as well as how dSafe can get there. Assignment given: 14. January 2010 Supervisor: Lillian Røstad, IDI Abstract Considerations with regards to security issues and demands must be addressed before migrating an application into a cloud computing environment. Different vendors, Microsoft Azure, Amazon Web Services and Google AppEngine, provide different capabilities and solutions to the individual areas of concern presented by each application. Through a case study of an online receipt storage application from the company dSafe, a basis is formed for the evaluation. The three cloud computing vendors are assessed with regards to a security assessment framework provided by the Cloud Security Alliance and the application of this on the case study. Finally, the study is concluded with a set of general recommendations and the recommendation of a cloud vendor. This is based on a number of security as- pects related to the case study’s existence in the cloud.
    [Show full text]
  • Open Cloud Computing with the Simple Cloud API and Apache Libcloud Doug Tidwell Cloud Computing Evangelist, IBM [email protected]
    Open Cloud Computing with the Simple Cloud API and Apache libcloud Doug Tidwell Cloud Computing Evangelist, IBM [email protected] Session 7665 Agenda • Portability and interoperability • A few words about APIs • The Simple Cloud API • Storage • Queues • Documents • Controlling VMs with Apache libcloud • Resources / Next steps The problem Vendor lock-in • If there’s a new technology, any talented programmer will want to use it. • Maybe the shiny new thing is appropriate for what we’re doing. • Maybe not. • We’re probably going to use it anyway. • The challenge is to walk the line between using the newest, coolest thing and avoiding vendor lock-in. Portability and Interoperability • In writing flexible code for the cloud, there are two key concepts: • Portability is the ability to run components or systems written for one cloud provider in another cloud provider’s environment. • Interoperability is the ability to write one piece of code that works with multiple cloud providers, regardless of the differences between them. How standards work • For a standards effort to work, three things have to happen: • The standard has to solve a common problem in an elegant way. • The standard has to be implemented consistently by vendors. • Users have to insist that the products they use implement the standard. How standards work • All three things have to happen. • If the standard doesn't solve a common problem, or if it solves it in an awkward way, the standard fails. • If the standard isn't implemented by anyone, the standard fails. • If customers buy and use products even though they don't implement the standard, the standard fails.
    [Show full text]
  • Software As a Service
    Software as a Service Haojie Hang Ogheneovo Dibie Executive Summary • In this presentation, we go through the Software as a Service Methodology, examine its benefits and drawbacks and talk about two state-of-art SaaS systems– Amazon Web Service and Google App Engine • We also look into Service Oriented Architecture powering SaaS applications and its impact on modern web 2.0 applications • Finally, we examine hybrids of traditional and SaaS applications Overview • What is Software as a Service (SaaS) • Background o Brief history o Concept o Big picture o Related terms • Computing Today o SasS is everywhere o The SaaS Market • Benefits of SaaS • Drawbacks of SaaS o Robustness o Privacy o Security o Reliability • Service Oriented Architectures (SOA) o Guiding principles of SOA • Case studies o Amazon Web Services (AWS) o Google App Engine • Influence of SOA on Web 2.0 development o Zend Framework • Hybrids of Traditional and SaaS applications o Dropbox o Microsoft Office • Summary • References What is SaaS? • Definition: Software as a Service (SaaS), a.k.a. on- demand software, is a software delivery model in which software and its associated data are hosted centrally and accessed using a thin-client, usually a web browser over the internet. – Wikipedia • Simply put, SaaS is a method for delivering software that provides remote access to software as a web- based service. The software service can be purchased with a monthly fee and pay as you go. What is SaaS? • Where does the term SaaS come from? o The SAAS acronym allegedly first appeared
    [Show full text]
  • Cloud Computing Bible Is a Wide-Ranging and Complete Reference
    A thorough, down-to-earth look Barrie Sosinsky Cloud Computing Barrie Sosinsky is a veteran computer book writer at cloud computing specializing in network systems, databases, design, development, The chance to lower IT costs makes cloud computing a and testing. Among his 35 technical books have been Wiley’s Networking hot topic, and it’s getting hotter all the time. If you want Bible and many others on operating a terra firma take on everything you should know about systems, Web topics, storage, and the cloud, this book is it. Starting with a clear definition of application software. He has written nearly 500 articles for computer what cloud computing is, why it is, and its pros and cons, magazines and Web sites. Cloud Cloud Computing Bible is a wide-ranging and complete reference. You’ll get thoroughly up to speed on cloud platforms, infrastructure, services and applications, security, and much more. Computing • Learn what cloud computing is and what it is not • Assess the value of cloud computing, including licensing models, ROI, and more • Understand abstraction, partitioning, virtualization, capacity planning, and various programming solutions • See how to use Google®, Amazon®, and Microsoft® Web services effectively ® ™ • Explore cloud communication methods — IM, Twitter , Google Buzz , Explore the cloud with Facebook®, and others • Discover how cloud services are changing mobile phones — and vice versa this complete guide Understand all platforms and technologies www.wiley.com/compbooks Shelving Category: Use Google, Amazon, or
    [Show full text]
  • Open Source and Third Party Documentation
    Open Source and Third Party Documentation Verint.com Twitter.com/verint Facebook.com/verint Blog.verint.com Content Introduction.....................2 Licenses..........................3 Page 1 Open Source Attribution Certain components of this Software or software contained in this Product (collectively, "Software") may be covered by so-called "free or open source" software licenses ("Open Source Components"), which includes any software licenses approved as open source licenses by the Open Source Initiative or any similar licenses, including without limitation any license that, as a condition of distribution of the Open Source Components licensed, requires that the distributor make the Open Source Components available in source code format. A license in each Open Source Component is provided to you in accordance with the specific license terms specified in their respective license terms. EXCEPT WITH REGARD TO ANY WARRANTIES OR OTHER RIGHTS AND OBLIGATIONS EXPRESSLY PROVIDED DIRECTLY TO YOU FROM VERINT, ALL OPEN SOURCE COMPONENTS ARE PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. Any third party technology that may be appropriate or necessary for use with the Verint Product is licensed to you only for use with the Verint Product under the terms of the third party license agreement specified in the Documentation, the Software or as provided online at http://verint.com/thirdpartylicense. You may not take any action that would separate the third party technology from the Verint Product. Unless otherwise permitted under the terms of the third party license agreement, you agree to only use the third party technology in conjunction with the Verint Product.
    [Show full text]
  • A Generic Development and Deployment Framework for Cloud Computing and Distributed Applications
    Computing and Informatics, Vol. 32, 2013, 461{485 A GENERIC DEVELOPMENT AND DEPLOYMENT FRAMEWORK FOR CLOUD COMPUTING AND DISTRIBUTED APPLICATIONS Binh Minh Nguyen, Viet Tran, Ladislav Hluchy´ Institute of Informatics Slovak Academy of Sciences D´ubravsk´acesta 9 845 07 Bratislava, Slovakia e-mail: fminh.ui, viet.ui, [email protected] Communicated by Jacek Kitowski Abstract. Cloud computing has paved the way for advance of IT-based on demand services. This technology helps decrease capital expenditure and operation costs, solve scalability issue and many more user and provider constraints. However, devel- opment and deployment of distributed applications on cloud environment becomes a more and more complex task. Cloud users must spend a lot of time to prepare, in- stall and configure their applications on clouds. In addition, after development and deployment, the applications almost cannot move from one cloud to another due to the lack of interoperability between them. To address these problems, in this paper we present a novel development and deployment framework for cloud distributed applications/services. Our approach is based on abstraction and object-oriented programming technique, allowing users to easily and rapidly develop and deploy their services into cloud environment. The approach also enables service migration and interoperability among the clouds. Keywords: Cloud computing, distributed application, abstraction, object-oriented programming, interoperability Mathematics Subject Classification 2010: 68-M14 462 B. M. Nguyen, V. Tran, L. Hluch´y 1 INTRODUCTION Cloud computing is described as a business model for on-demand delivery of com- putation power, in which consumers pay providers what they used (\pay-as-you- go").
    [Show full text]
  • Cloud Storage: Adoption, Practice and Deployment
    Cloud Storage: Adoption, Practice and Deployment An Outlook Report from Storage Strategies NOW April 4, 2011 By Deni Connor, Patrick H. Corrigan and James E. Bagley Client Relations: Phylis Bockelman Storage Strategies NOW 8815 Mountain Path Circle Austin, Texas 78759 (512) 345-3850 SSG-NOW.COM Note: The information and recommendations made by Storage Strategies NOW, Inc. are based upon public information and sources and may also include personal opinions both of Storage Strategies NOW and others, all of which we believe are accurate and reliable. As market conditions change however and not within our control, the information and recommendations are made without warranty of any kind. All product names used and mentioned herein are the trademarks of their respective owners. Storage Strategies NOW, Inc. assumes no responsibility or liability for any damages whatsoever (including incidental, consequential or otherwise), caused by your use of, or reliance upon, the information and recommendations presented herein, nor for any inadvertent errors which may appear in this document. This report is purchased by Gluster for distribution only to its customers and prospects. Copyright 2011. All rights reserved. Storage Strategies NOW, Inc. 1 Sponsors ......................................................................................................................................................................................... 4 What is cloud storage? ....................................................................................................................................................................5
    [Show full text]
  • Web Application Programming Interfaces (Apis): General-Purpose Standards, Terms and European Commission Initiatives
    Web Application Programming Interfaces (APIs): general-purpose standards, terms and European Commission initiatives APIs4DGov study — digital government APIs: the road to value-added open API-driven services Santoro, M., Vaccari, L., Mavridis, D., Smith, R. S., Posada, M., Gattwinkel, D. 2019 EUR 29984 EN This publication is a Technical report by the Joint Research Centre (JRC), the European Commission’s science and knowledge service. It aims to provide evidence-based scientific support to the European policymaking process. The scientific output expressed does not imply a policy position of the European Commission. Neither the European Commission nor any person acting on behalf of the Commission is responsible for the use that might be made of this publication. For information on the methodology and quality underlying the data used in this publication for which the source is neither Eurostat nor other Commission services, users should contact the referenced source. The designations employed and the presentation of material on the maps do not imply the expression of any opinion whatsoever on the part of the European Union concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries. Contact information Name: European Commission, Joint Research Centre (JRC), Digital Economy Unit (JRC.B6) Address: Via Enrico Fermi, 2749 — 21027 Ispra (VA), Italy Email: [email protected] Tel.: +39 0332 78 57 58 EU Science Hub https://ec.europa.eu/jrc JRC118082 EUR 29984 EN PDF ISBN 978-92-76-13183-0 ISSN 1831-9424 doi:10.2760/675 Luxembourg: Publications Office of the European Union, 2019 © European Union, 2019 The reuse policy of the European Commission is implemented by the Commission Decision 2011/833/EU of 12 December 2011 on the reuse of Commission documents (OJ L 330, 14.12.2011, p.
    [Show full text]
  • Experiences in Building a Mosaic of Clouds
    CORE Metadata, citation and similar papers at core.ac.uk Provided by Springer - Publisher Connector Petcu et al. Journal of Cloud Computing: Advances, Systems and Applications 2013, 2:12 http://www.journalofcloudcomputing.com/content/2/1/12 RESEARCH Open Access Experiences in building a mOSAIC of clouds Dana Petcu1*, Beniamino Di Martino2, Salvatore Venticinque2, Massimiliano Rak2, Tamás Máhr3, Gorka Esnal Lopez4,FabriceBrito5, Roberto Cossu6, Miha Stopar7, Svatopluk Šperka8 and Vlado Stankovski9 Abstract The diversity of Cloud computing services is challenging the application developers as various and non-standard interfaces are provided for these services. Few middleware solutions were developed until now to support the design, deployment and execution of service-independent applications as well as the management of resources from multiple Clouds. This paper focuses on one of these advanced middleware solutions, called mOSAIC. Written after the completion of its development, this paper presents an integrated overview of the mOSAIC approach and the use of its various software prototypes in a Cloud application development process. We are starting from the design concepts and arrive to various applications, as well as to the position versus similar initiatives. Introduction 2. Design a generic agent skeleton for representing The story of mOSAIC (Open-source API and Platform various stakeholders, e.g. Cloud vendors and their for Multiple Clouds) starts in Spring 2009 when its idea resources, Cloud users of various types, and a emerged. The main challenges for Cloud Computing iden- collection of modules that can be used to adapt agent tified to that moment, as shown in [1,2], were application skeleton to support needed functionalities.
    [Show full text]
  • HYCU for Google Cloud Open Source Licenses
    OPEN SOURCE LICENSES HYCU Data Protection as a Service for Google Cloud Service update date: January 2021 Document release date: January 2021 OPEN SOURCE LICENSES Legal notices Copyright notice © 2021 HYCU. All rights reserved. This document contains proprietary information, which is protected by copyright. No part of this document may be photocopied, reproduced, distributed, transmitted, stored in a retrieval system, modified or translated to another language in any form by any means, without the prior written consent of HYCU. Trademarks HYCU logos, names, trademarks and/or service marks and combinations thereof are the property of HYCU or its affiliates. Other product names are the property of their respective trademark or service mark holders and are hereby acknowledged. GCP™, Google Chrome™, Google Cloud™, Google Cloud Platform™, Google Cloud Storage™, and Google Compute Engine™ are trademarks of Google LLC. Internet Explorer®, Microsoft®, Microsoft Edge™, and Windows® are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries. Mozilla and Firefox are trademarks of the Mozilla Foundation in the U.S. and other countries. SAP HANA® is the trademark or registered trademark of SAP SE or its affiliates in Germany and in several other countries. HYCU Data Protection as a Service for Google Cloud is not affiliated with Debian. Debian is a registered trademark owned by Software in the Public Interest, Inc. Disclaimer The details and descriptions contained in this document are believed to have been accurate and up to date at the time the document was written.
    [Show full text]
  • Implementing and Developing Cloud Computing Applications [2011]
    Implementing and Developing Cloud Computing Applications K11513_C000.indd 1 10/18/10 2:47 PM Implementing and Developing Cloud Computing Applications DAVID E.Y. SARNA K11513_C000.indd 3 10/18/10 2:47 PM Auerbach Publications Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2011 by Taylor and Francis Group, LLC Auerbach Publications is an imprint of Taylor & Francis Group, an Informa business No claim to original U.S. Government works Printed in the United States of America on acid-free paper 10 9 8 7 6 5 4 3 2 1 International Standard Book Number: 978-1-4398-3082-6 (Hardback) This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint. Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, micro- filming, and recording, or in any information storage or retrieval system, without written permission from the publishers.
    [Show full text]
  • Powerpoint Slides)
    © Practising Law Institute INTELLECTUAL PROPERTY Course Handbook Series Number G-1308 Advanced Licensing Agreements 2017 Volume Two Co-Chairs Marcelo Halpern Ira Jay Levy Joseph Yang To order this book, call (800) 260-4PLI or fax us at (800) 321-0093. Ask our Customer Service Department for PLI Order Number 185480, Dept. BAV5. Practising Law Institute 1177 Avenue of the Americas New York, New York 10036 © Practising Law Institute 24 Open Source Issues and Opportunities (PowerPoint slides) David G. Rickerby Boston Technology Law, PLLC If you find this article helpful, you can learn more about the subject by going to www.pli.edu to view the on demand program or segment for which it was written. 2-315 © Practising Law Institute 2-316 © Practising Law Institute Open Source Issues and Opportunities Practicing Law Institute Advanced Licensing Agreements 2017 May 12th 2017 10:45 AM - 12:15 PM David G. Rickerby 2-317 © Practising Law Institute Overview z Introduction to Open Source z Enforced Sharing z Managing Open Source 2-318 © Practising Law Institute “Open” “Source” – “Source” “Open” licensing software Any to available the source makes model that etc. modify, distribute, copy, What is Open Source? What is z 2-319 © Practising Law Institute The human readable version of the code. version The human readable and logic. interfaces, secrets, Exposes trade What is Source Code? z z 2-320 © Practising Law Institute As opposed to Object Code… 2-321 © Practising Law Institute ~185 components ~19 different OSS licenses - most reciprocal Open Source is Big Business ANDROID -Apache 2.0 Declared license: 2-322 © Practising Law Institute Many Organizations 2-323 © Practising Law Institute Solving Problems in Many Industries Healthcare Mobile Financial Services Everything Automotive 2-324 © Practising Law Institute So, what’s the big deal? Why isn’t this just like a commercial license? In many ways they are the same: z Both commercial and open source licenses are based on ownership of intellectual property.
    [Show full text]