| |
| |
Preface | |
| |
| |
Foreword | |
| |
| |
| |
Introduction | |
| |
| |
| |
Network-Centric Computing and Network-Centric Content | |
| |
| |
| |
Peer-to-Peer Systems | |
| |
| |
| |
Cloud Computing: An Old Idea Whose Time has Come | |
| |
| |
| |
Cloud Computing Delivery Models and Services | |
| |
| |
| |
Ethical Issues in Cloud Computing | |
| |
| |
| |
Cloud Vulnerabilities | |
| |
| |
| |
Major Challenges Faced by Cloud Computing | |
| |
| |
| |
Further Reading | |
| |
| |
| |
History Notes | |
| |
| |
| |
Exercises and Problems | |
| |
| |
| |
Parallel and Distributed Systems | |
| |
| |
| |
Parallel Computing | |
| |
| |
| |
Parallel Computer Architecture | |
| |
| |
| |
Distributed Systems | |
| |
| |
| |
Global State of a Process Group | |
| |
| |
| |
Communication Protocols and Process Coordination | |
| |
| |
| |
Logical Clocks | |
| |
| |
| |
Message Delivery Rules; Causal Delivery | |
| |
| |
| |
Runs and Cuts; Causal History | |
| |
| |
| |
Concurrency | |
| |
| |
| |
Atomic Actions | |
| |
| |
| |
Consensus Protocols | |
| |
| |
| |
Modeling Concurrency with Petri Nets | |
| |
| |
| |
Enforced Modularity: The Client-Server Paradigm | |
| |
| |
| |
Further Reading | |
| |
| |
| |
History Notes | |
| |
| |
| |
Exercises and Problems | |
| |
| |
| |
Cloud Infrastructure | |
| |
| |
| |
Cloud Computing at Amazon | |
| |
| |
| |
Cloud Computing: The Google Perspective | |
| |
| |
| |
Microsoft Windows Azure and Online Services | |
| |
| |
| |
Open-Source Software Platforms for Private Clouds | |
| |
| |
| |
Cloud Storage Diversity and Vendor Lock-in | |
| |
| |
| |
Cloud Computing Interoperability: The Intercloud | |
| |
| |
| |
Energy Use and Ecological Impact of Large-Scale Data Centers | |
| |
| |
| |
Service- and Compliance-Level Agreements | |
| |
| |
| |
Responsibility Sharing Between User and Cloud Service Provider | |
| |
| |
| |
User Experience | |
| |
| |
| |
Software Licensing | |
| |
| |
| |
Further Reading | |
| |
| |
| |
History Notes | |
| |
| |
| |
Exercises and Problems | |
| |
| |
| |
Cloud Computing: Applications and Paradigms | |
| |
| |
| |
Challenges for Cloud Computing | |
| |
| |
| |
Existing Cloud Applications and New Application Opportunities | |
| |
| |
| |
Architectural Styles for Cloud Applications | |
| |
| |
| |
Workflows: Coordination of Multiple Activities | |
| |
| |
| |
Coordination Based on a State Machine Model: The ZooKeeper | |
| |
| |
| |
The MapReduce Programming Model | |
| |
| |
| |
A Case Study: The Grep The Web Application | |
| |
| |
| |
Clouds for Science and Engineering | |
| |
| |
| |
High-Performance Computing on a Cloud | |
| |
| |
| |
Cloud Computing for Biology Research | |
| |
| |
| |
Social Computing, Digital Content, and Cloud Computing | |
| |
| |
| |
Further Reading | |
| |
| |
| |
Exercises and Problems | |
| |
| |
| |
Cloud Resource Virtualization | |
| |
| |
| |
Virtualization | |
| |
| |
| |
Layering and Virtualization | |
| |
| |
| |
Virtual Machine Monitors | |
| |
| |
| |
Virtual Machines | |
| |
| |
| |
Performance and Security Isolation | |
| |
| |
| |
Full Virtualization and Paravirtualization | |
| |
| |
| |
Hardware Support for Virtualization | |
| |
| |
| |
Case Study: Xen, a VMM Based on Paravirtualization | |
| |
| |
| |
Optimization of Network Virtualization in Xen 2.0 | |
| |
| |
| |
vBlades: Paravirtualization Targeting an X86-64 Itanium Processor | |
| |
| |
| |
A Performance Comparison of Virtual Machines | |
| |
| |
| |
The Darker Side of Virtualization | |
| |
| |
| |
Software Fault Isolation | |
| |
| |
| |
Further Reading | |
| |
| |
| |
History Notes | |
| |
| |
| |
Exercises and Problems | |
| |
| |
| |
Cloud Resource Management and Scheduling | |
| |
| |
| |
Policies and Mechanisms for Resource Management | |
| |
| |
| |
Applications of Control Theory to Task Scheduling on a Cloud | |
| |
| |
| |
Stability of a Two-Level Resource Allocation Architecture | |
| |
| |
| |
Feedback Control Based on Dynamic Thresholds | |
| |
| |
| |
Coordination of Specialized Autonomic Performance Managers | |
| |
| |
| |
A Utility-Based Model for Cloud-Based Web Services | |
| |
| |
| |
Resource Bundling: Combinatorial Auctions for Cloud Resources | |
| |
| |
| |
Scheduling Algorithms for Computing Clouds | |
| |
| |
| |
Fair Queuing | |
| |
| |
| |
Start-Time Fair Queuing | |
| |
| |
| |
Borrowed Virtual Time | |
| |
| |
| |
Cloud Scheduling Subject to Deadlines | |
| |
| |
| |
Scheduling MapReduce Applications Subject to Deadlines | |
| |
| |
| |
Resource Management and Dynamic Application Scaling | |
| |
| |
| |
Further Reading | |
| |
| |
| |
Exercises and Problems | |
| |
| |
| |
Networking Support | |
| |
| |
| |
Packet-Switched Networks | |
| |
| |
| |
The Internet | |
| |
| |
| |
Internet Migration to IPv6 | |
| |
| |
| |
The Transformation of the Internet | |
| |
| |
| |
Web Access and the TCP Congestion Control Window | |
| |
| |
| |
Network Resource Management | |
| |
| |
| |
Interconnection Networks for Computer Clouds | |
| |
| |
| |
Storage Area Networks | |
| |
| |
| |
Content-Delivery Networks | |
| |
| |
| |
Overlay Networks and Small-World Networks | |
| |
| |
| |
Scale-Free Networks | |
| |
| |
| |
Epidemic Algorithms | |
| |
| |
| |
Further Reading | |
| |
| |
| |
History Notes | |
| |
| |
| |
Exercises and Problems | |
| |
| |
| |
Storage Systems | |
| |
| |
| |
The Evolution of Storage Technology | |
| |
| |
| |
Storage Models, File Systems, and Databases | |
| |
| |
| |
Distributed File Systems: The Precursors | |
| |
| |
| |
General Parallel File System | |
| |
| |
| |
Google File System | |
| |
| |
| |
Apache Hadoop | |
| |
| |
| |
Locks and Chubby: A Locking Service | |
| |
| |
| |
Transaction Processing and NoSQL Databases | |
| |
| |
| |
BigTable | |
| |
| |
| |
Megastore | |
| |
| |
| |
History Notes | |
| |
| |
| |
Further Reading | |
| |
| |
| |
Exercises and Problems | |
| |
| |
| |
Cloud Security | |
| |
| |
| |
Cloud Security Risks | |
| |
| |
| |
Security: The Top Concern for Cloud Users | |
| |
| |
| |
Privacy and Privacy Impact Assessment | |
| |
| |
| |
Trust | |
| |
| |
| |
Operating System Security | |
| |
| |
| |
Virtual Machine Security | |
| |
| |
| |
Security of Virtualization | |
| |
| |
| |
Security Risks Posed by Shared Images | |
| |
| |
| |
Security Risks Posed by a Management OS | |
| |
| |
| |
Xoar: Breaking the Monolithic Design of the TCB | |
| |
| |
| |
A Trusted Virtual Machine Monitor | |
| |
| |
| |
Further Reading | |
| |
| |
| |
Exercises and Problems | |
| |
| |
| |
Complex Systems and Self-Organization | |
| |
| |
| |
Complex Systems | |
| |
| |
| |
Abstraction and Physical Reality | |
| |
| |
| |
Quantifying Complexity | |
| |
| |
| |
Emergence and Self-Organization | |
| |
| |
| |
Composability Bounds and Scalability | |
| |
| |
| |
Modularity, Layering, and Hierarchy | |
| |
| |
| |
More on the Complexity of Computing and Communication Systems | |
| |
| |
| |
Systems of Systems: Challenges and Solutions | |
| |
| |
| |
Further Reading | |
| |
| |
| |
Exercises and Problems | |
| |
| |
| |
Cloud Application Development | |
| |
| |
| |
Amazon Web Services: EC2 Instances | |
| |
| |
| |
Connecting Clients to Cloud Instances Through Firewalls | |
| |
| |
| |
Security Rules for Application and Transport Layer Protocols in EC2 | |
| |
| |
| |
How to Launch an EC2 Linux Instance and Connect to it | |
| |
| |
| |
How to Use S3 in Java | |
| |
| |
| |
How to Manage SQS Services in C# | |
| |
| |
| |
How to Install the Simple Notification Service on Ubuntu 10.04 | |
| |
| |
| |
How to Create an EC2 Placement Group and Use MPI | |
| |
| |
| |
How to Install Hadoop on Eclipse on a Windows System | |
| |
| |
| |
Cloud-Based Simulation of a Distributed Trust Algorithm | |
| |
| |
| |
A Trust Management Service | |
| |
| |
| |
A Cloud Service for Adaptive Data Streaming | |
| |
| |
| |
Cloud-Based Optimal FPGA Synthesis | |
| |
| |
| |
Exercises and Problems | |
| |
| |
Literature | |
| |
| |
Glossary | |
| |
| |
Index | |