Chapter 1 Introduction Chapter 2 Design Concepts for Pervasive Applications 2.1 Motivating Scenario: A Smart Public Space 2.1.1 Challenges 2.1.2 Possible Solutions 2.2 Locating A Provider 2.2.1 Reactive Discovery 2.2.2 Proactive Discovery 2.2.3 Planning-based Composition Announcement 2.3 Request Routing 2.3.1 Controlled Flooding 2.3.2 Directory-based 2.3.3 Overlay-based 2.3.4 Dynamic Controlled Flooding 2.4 Composition Planning 2.4.1 Open Service Discovery 2.4.2 Goal-oriented Planning 2.4.3 Decentralized Flexible Backward Planning 2.5 Service Binding 2.5.1 QoS-based Selection 2.5.2 Adaptable Binding 2.5.3 On-demand Binding 2.5.4 Path Reliability-driven Selection 2.5.5 Bind Microservices on-demand 2.6 Service Invocation 2.6.1 Fragments Distribution 2.6.2 Process Migration Approaches 2.6.3 Runtime Service Announcement 2.7 Fault Tolerance 2.7.1 Preventive Adaptation 2.7.2 Composition Recovery 2.7.3 Local Execution Path Maintenance 2.8 Chapter Summary Chapter 3 Microservice Deployment in Edge/Fog Computing Environments 3.1 Edge Computing: Pervasive Applications' New Enabler 3.2 Features in Edge Computing Environments 3.2.1 Latency-sensitive 3.2.2 Mobility is Everywhere 3.2.3 Openness of Network Systems 3.2.4 Constantly Changing Environment 3.2.5 Limited Power Supply 3.3 Fog as a Service Model 3.4 Edge/Fog Computing Architecture 3.5 Fog Node Overlay Network 3.6 Hierarchical Microservices Management 3.6.1 Fog Services and Service Composition 3.6.2 Proxy Fog Nodes 3.6.3 Seamless Service Invocation 3.7 Adaptability at Edge 3.7.1 Monitoring Environmental Changes
3.7.2 Adaptation Analysis Based on Deep Learning 3.7.3 Adaptation Planning Based on Reinforcement Learning 3.7.4 Strategy Execution and Knowledge Base Utilization 3.7.5 Extension of the MAPE-K Framework 3.8 Microservice Deployment and Dynamic Redeployment 3.9 Examples of Pervasive Applications at Edge 3.9.1 Mobile Video 3.9.2 Smart Home 3.9.3 Computational Offloading 3.10 Open Issues to Edge-enabled Pervasive Applications 3.10.1 End-to-end Security 3.10.2 Distributed Runtime Management 3.10.3 Scalability and Reconfigurability 3.10.4 Predictive Fault Tolerance 3.10.5 Intelligent Edge Computing for 6G 3.11 Chapter Summary Chapter 4 Microservices Composition Model 4.1 Microservice Model 4.2 Dynamic Goal-driven Composition Planning 4.2.1 Local Service Planning 4.2.2 Complex Service Flows 4.3 Heuristic Service Discovery 4.4 Execution Fragments Selection and Invocation 4.4.1 Microservice Composite Selection and Invocation 4.4.2 Service Execution and Guidepost Adaptation 4.5 Discussions 4.5.1 Quantitative Analysis 4.5.2 Service Flows 4.5.3 Privacy and Security 4.5.4 Semantic Matchmaking 4.5.5 High Composition Demand 4.6 Chapter Summary Chapter 5 Cooperative Microservices Provisioning 5.1 Cooperative Caching and Selfish Caching 5.1.1 Social Behaviours in Caching 5.1.2 Social Selfishness of Service Providers 5.2 Local Optimal Caching Algorithm with Social Selfishness 5.3 Cooperative Devices 5.4 Social Selfishness-based Utility 5.4.1 Access Admission Mechanism 5.4.2 Social Group Utility Mechanism 5.5 Service Deployment and Provisioning Game 5.6 Optimal Local Service Deployment 5.7 Chapter Summary Chapter 6 Implementation I: Service Middleware 6.1 Service Composition Architecture 6.2 Client and Provider 6.2.1 Client Engine 6.2.2 Microservices Provider 6.3 Routing Controller
6.4 Guidepost Manager 6.4.1 Adapting a Guidepost 6.4.2 Guidepost Data in Service Execution 6.5 Message Helper 6.6 Prototypes 6.6.1 Prototype on Android 6.6.2 Prototype on ns 6.7 Implementation Summary Chapter 7 Implementation II: Artificial Intelligence Services 7.1 Service Provisioning Frameworks 7.1.1 Spring Cloud 7.1.2 Service Configuration 7.1.3 Service Registration at Edge 7.1.4 Service Gateway 7.2 Deploy AI Models 7.2.1 Packed as a Microservice 7.2.2 Microservice Deployment 7.2.3 Platforms for AI Services 7.3 Challenges for AI-based Services Composition 7.3.1 Feature Heterogeneity 7.3.2 High-dimensional Data 7.3.3 Dynamic Raw Data 7.4 Implementation Summary Chapter 8 Evaluation 8.1 Evaluation Methods and Criteria 8.2 Prototype Case Study 8.2.1 Case Study Configurations 8.2.2 Samples and Results 8.3 Simulation Studies 8.3.1 Environment Configurations 8.3.2 Baseline Approach 8.3.3 Simulation Results and Analysis 8.4 Evaluation Summary 8.4.1 Service Composition 8.4.2 Cooperative Service Provisioning Chapter 9 Discussions and Conclusions Appendix A Further Implementation Detail: Prototypes A.1 GoCoMo App A.2 GoCoMo-ns3 Appendix B Evaluation Results' Validity B.1 CoopC and GoCoMo's Service Discovery Time B.2 CoopC and GoCoMo's Service Discovery Traffic B.3 CoopC and GoCoMo's Response Time B.4 CoopC and GoCoMo's Composition Traffic Appendix C Glossary of Key Terms Bibliography