This book focuses on the application level aspects of microservices, and addresses the combination of microservices in pervasive computing environments.
It introduces design concepts for pervasive applications with microservices, microservices deployment in edge/fog computing environments, microservice composition model, cooperative microservices provisioning to improve the overall service availability, and an implementation case study for microservices (GoCoMo).
The book also evaluates how the proposed solutions fulfill the identified challenges and research questions in pervasive computing environments, summarizes the research presented, and provides a list of interesting open issues that require further research.
It can serve as a beneficial reference for researchers and engineers in the area of edge computing, AIoT and 5G network applications. Graduated students in CS/EE areas will also find it useful.
關於作者:
陈南希,中国科学院上海微系统与信息技术研究所副研究员、博士生导师。在都柏林大学取得博士学位,曾在计算机领域科研机构从事助理研究员的工作,具有丰富的科研与开发经验。于2016年11月加入中国科学院上海微系统与信息技术研究所。 长期从事泛在智能、边缘计算、知识图谱等领域研究工作,在边缘计算与物联网、智能服务模型等领域取得多项创新性成果。在IEEE Communications Magazine、IEEE Transactions on Service Computing、IEEE Internet of Things Journal等期刊发表了论文十余篇,申请发明专利十余件,入选市级人才项目扬帆计划等。
目錄:
Chapter 1 Introduction 1
Chapter 2 Design Concepts for Pervasive Applications 5
2 1 Motivating Scenario: A Smart Public Space 6
2 1 1 Challenges 9
2 1 2 Possible Solutions 11
2 2 Locating A Provider 14
2 2 1 Reactive Discovery 15
2 2 2 Proactive Discovery 16
2 2 3 Planning-based Composition Announcement 18
2 3 Request Routing 21
2 3 1 Controlled Flooding 22
2 3 2 Directory-based 23
2 3 3 Overlay-based 25
2 3 4 Dynamic Controlled Flooding 26
2 4 Composition Planning 28
2 4 1 Open Service Discovery 28
2 4 2 Goal-oriented Planning 30
2 4 3 Decentralized Flexible Backward Planning 31
2 5 Service Binding 32
2 5 1 QoS-based Selection 33
2 5 2 Adaptable Binding 34
2 5 3 On-demand Binding 35
2 5 4 Path Reliability-driven Selection 35
2 5 5 Bind Microservices on-demand 36
2 6 Service Invocation 37
2 6 1 Fragments Distribution 37
2 6 2 Process Migration Approaches 38
2 6 3 Runtime Service Announcement 39
2 7 Fault Tolerance 40
2 7 1 Preventive Adaptation 40
2 7 2 Composition Recovery 42
2 7 3 Local Execution Path Maintenance 43
2 8 Chapter Summary 44
Chapter 3 Microservice Deployment in Edge/Fog Computing Environments 45
3 1 Edge Computing: Pervasive Applications‘ New Enabler 46
3 2 Features in Edge Computing Environments 48
3 2 1 Latency-sensitive 49
3 2 2 Mobility is Everywhere 49
3 2 3 Openness of Network Systems 50
3 2 4 Constantly Changing Environment 50
3 2 5 Limited Power Supply 51
3 3 Fog as a Service Model 51
3 4 Edge/Fog Computing Architecture 54
3 5 Fog Node Overlay Network 56
3 6 Hierarchical Microservices Management 57
3 6 1 Fog Services and Service Composition 57
3 6 2 Proxy Fog Nodes 58
3 6 3 Seamless Service Invocation 59
3 7 Adaptability at Edge 59
3 7 1 Monitoring Environmental Changes 61
3 7 2 Adaptation Analysis Based on Deep Learning 62
3 7 3 Adaptation Planning Based on Reinforcement Learning 63
3 7 4 Strategy Execution and Knowledge Base Utilization 63
3 7 5 Extension of the MAPE-K Framework 64
3 8 Microservice Deployment and Dynamic Redeployment 65
3 9 Examples of Pervasive Applications at Edge 67
3 9 1 Mobile Video 67
3 9 2 Smart Home 68
3 9 3 Computational Offloading 69
3 10 Open Issues to Edge-enabled Pervasive Applications 71
3 10 1 End-to-end Security 71
3 10 2 Distributed Runtime Management 71
3 10 3 Scalability and Reconfigurability 72
3 10 4 Predictive Fault Tolerance 73
3 10 5 Intelligent Edge Computing for 6G 73
3 11 Chapter Summary 74
Chapter 4 Microservices Composition Model 75
4 1 Microservice Model 78
4 2 Dynamic Goal-driven Composition Planning 79
4 2 1 Local Service Planning 84
4 2 2 Complex Service Flows 88
4 3 Heuristic Service Discovery 90
4 4 Execution Fragments Selection and Invocation 93
4 4 1 Microservice Composite Selection and Invocation 94
4 4 2 Service Execution and Guidepost Adaptation 95
4 5 Discussions 97
4 5 1 Quantitative Analysis 97
4 5 2 Service Flows 99
4 5 3 Privacy and Security 99
4 5 4 Semantic Matchmaking 100
4 5 5 High Composition Demand 100
4 6 Chapter Summary 101
Chapter 5 Cooperative Microservices Provisioning 103
5 1 Cooperative Caching and Selfish Caching 105
5 1 1 Social Behaviours in Caching 105
5 1 2 Social Selfishness of Service Providers 106
5 2 Local Optimal Caching Algorithm with Social Selfishness 106
5 3 Cooperative Devices 107
5 4 Social Selfishness-based Utility 108
5 4 1 Access Admission Mechanism 109
5 4 2 Social Group Utility Mechanism 110
5 5 Service Deployment and Provisioning Game 112
5 6 Optimal Local Service Deployment 112
5 7 Chapter Summary 116
Chapter 6 Implementation I: Service Middleware 117
6 1 Service Composition Architecture 118
6 2 Client and Provider 121
6 2 1 Client Engine 121
6 2 2 Microservices Provider 123
6 3 Routing Controller 125
6 4 Guidepost Manager 125
6 4 1 Adapting a Guidepost 126
6 4 2 Guidepost Data in Service Execution 128
6 5 Message Helper 128
6 6 Prototypes 129
6 6 1 Prototype on Android 129
6 6 2 Prototype on ns-3 131
6 7 Implementation Summary 132
Chapter 7 Implementation II: Artificial Intelligence Services 133
7 1 Service Provisioning Frameworks 134
7 1 1 Spring Cloud 135
7 1 2 Service Configuration 136
7 1 3 Service Registration at Edge 137
7 1 4 Service Gateway 139
7 2 Deploy AI Models 141
7 2 1 Packed as a Microservice 142
7 2 2 Microservice Deployment 147
7 2 3 Platforms for AI Services 150
7 3 Challenges for AI-based Services Composition 151
7 3 1 Feature Heterogeneity 151
7 3 2 High-dimensional Data 152
7 3 3 Dynamic Raw Data 152
7 4 Implementation Summary 152
Chapter 8 Evaluation 155
8 1 Evaluation Methods and Criteria 156
8 2 Prototype Case Study 158
8 2 1 Case Study Configurations 159
8 2 2 Samples and Results 161
8 3 Simulation Studies 166
8 3 1 Environment Configurations 166
8 3 2 Baseline Approach 171
8 3 3 Simulation Results and Analysis 172
8 4 Evaluation Summary 188
8 4 1 Service Composition 188
8 4 2 Cooperative Service Provisioning 189
Chapter 9 Discussions and Conclusions 191
Appendix A Further Implementation Detail: Prototypes 195
A 1 GoCoMo App 196
A 2 GoCoMo-ns3 199
Appendix B Evaluation Results’ Validity 201
B 1 CoopC and GoCoMo‘s Service Discovery Time 202
B 2 CoopC and GoCoMo’s Service Discovery Traffic 203
B 3 CoopC and GoCoMo‘s Response Time 204
B 4 CoopC and GoCoMo’s Composition Traffic 205
Appendix C Glossary of Key Terms 207
Bibliography 211