Dynamic Provisioning for Community Services outlines a dynamic provisioning and maintenance mechanism in a running distributed system, e.g. the grid, which can be used to maximize the utilization of computing resources and user demands. The book includes a complete and reliable maintenance system solution for the large-scale distributed system and an interoperation mechanism for the grid middleware deployed in the United States, Europe, and China. The experiments and evaluations have all been practically implemented for ChinaGrid, and the best practices established can help readers to construct reliable distributed systems.
《社区服务的动态提供技术(英文版)》由齐力、金海所著。
1 Provisioning and Maintenance
1.1 History of Software Maintenance
1.1.1 Maintenance in Software Engineering
1.1.2 Dynamic Maintenance
1.2 Maintenance Provisioning
1.2.1 Server Provisioning
1.2.2 User Provisioning
1.3 Characteristics and Challenges
1.3.1 Provisioning Characteristics
1.3.2 Challenges
1.4 Distributed and Service-Oriented Dynamic Provisioning.
1.4.1 Target System
1.4.2 Related Products
1.4.3 Related Standards
1.5 Summary
References
2 Grid and Distributed Systems
2.1 Fundamental Concepts
2.2 The Principles of Grids
2.2.1 Service-Oriented Architecture
2.2.2 Open Grid Service Architecture
2.3 Grid Middleware
2.3.1 Globus Toolkit
2.3.2 CGSP
2.3.3 gLite
2.3.4 UNICORE
2.3.5 ProActive
2.4 Dynamic Provisioning in Middleware
2.4.1 Provisioning of Middleware
2.4.2 Provisioning Using Middleware
2.5 ChinaGrid and Related Projects
2.5.1 CGSV
2.5.2 GPE4CGSP
2.5.3 Application Grids
2.6 Summary
References
3 Highly Available Dynamic Deployment Infrastructure
3.1 Motivation
3.2 Principle of Dynamic Deployment Infrastructure
3.2.1 Dynamic Deployer Core
3.2.2 Deploy Approach Manager
3.2.3 Service Package Manager
3.3 Service-Level vs. Container-Level
3.3.1 HAND-C: Container-Level Deployment
3.3.2 HAND-S: Service-Level Deployment
3.3.3 Service Dependency
3.3.4 Avoid Deadlock
3.3.5 Time Cost Analysis
3.4 Performance Analysis
3.4.1 Dynamic Deployment Experiments
3.4.2 Capability and Availability in Dynamic Environment
3.4.3 GAR File Transfer Performance
3.5 Summary
References
4 Service-Oriented Dependency-Aware Maintenance
4.1 Dependency-Aware Maintenance
4.2 Motivations
4.2.1 Concepts
4.2.2 Dependencies in a Grid
4.2.3 Maintaining Solution and Dependencies
4.2.4 Objectives
4.3 Definitions
4.4 Design of Cobweb Guardian
4.4.1 Architecture
4.4.2 Environment Dependency-Aware Maintenance in Three Granularities
4.4.3 Deployment Dependency-Aware Propagating Maintenance
4.4.4 Invocation Dependency-Aware Grouping Maintenance
4.4.5 Grouping Maintenance with Feedback
4.5 Evaluations
4.5.1 Test Environment
4.5.2 Deployment Dependency-Aware Propagation
4.5.3 Invocation Dependency-Aware Grouping
4.5.4 Environment Dependency-Aware Maintenance in Different Granularities
4.5.5 Evaluation for Dynamicity
4.6 Summary
References
5 Asynchronous Provisioning Strategy for Heterogeneous Grids
5.1 Motivation
5.2 Asynchronous Provisioning Model
5.2.1 Traditional Maintaining Solutions
5.2.2 Definitions for Asynchronous Maintenance
5.2.3 Specification
5.3 Maintenance Algorithms
5.3.1 The Virtual Maintainer
5.3.2 HAND Handler
5.4 Time Sequence Analysis
5.5 Characteristics Discussion
5.5.1 Transient Fault Tolerance
5.5.2 Archive Pending Tasks
5.5.3 Applicability
5.6 Correctness Proof
5.7 Evaluations
5.7.1 Environment Settings
5.7.2 Metrics
5.7.3 Applications
5.7.4 Overheads
5.7.5 Evaluations in Cluster and Grid
5.8 Summary
References
6 Orchestrating Provisioning among Heterogeneous Middleware
6.1 Introduction
6.2 Related Works
6.2.1 Interoperability
6.2.2 Dynamic Provisioning
6.2.3 Scheduling in a Distributed System
6.3 Orchestrating Model
6.3.1 Definitions
6.3.2 Optional Solutions for Resourceless Execution
6.3.3 Classic Formulation
6.4 Problem Formulation for Resourceless Orchestration
6.4.1 Constraints for Provisioning
6.4.2 Optimization Goal
6.5 Implementation of Orchestrator
6.6 Evaluations
6.6.1 Environment Setup
6.6.2 Application GridBean
6.6.3 Abbreviation
6.6.4 Running Applications Separately on Specific Middleware
6.6.5 Orchestration with Specific Demands
6.7 Summary
References
7 Implementation of Dynamic Provisioning with Community Services
7.1 Introduction
7.2 Implementation of Essential Components
7.2.1 Service Repository
7.2.2 Administration Console Client
7.2.3 Virtual Maintainer
7.2.4 Maintenance Workers
7.2.5 Dependency Probes
7.2.6 Working Flow
7.2.7 Lessons
7.3 Community Services that Apply the Dynamic Provisioning System
7.3.1 Bioinformatic Services
7.3.2 Image Processing Services
7.3.3 Massive Data Processing Services
7.3.4 CFD Grid
7.4 Summary
References
8 Conclusions and Future Challenges
8.1 Conclusions
8.2 Future Challenges
References
Glossary
Index