
随着通信和计算技术的快速发展、计算成本的不断降低,物理世界与信息世界正在发生加速融合。不仅仅是物理世界的信息被映射到网络当中,通信和计算的能力也随着嵌入式技术的发展融入到了世间万物。随着物联网和5G通信产业的快速兴起,越来越多的人和物开始持续产生大量、多样的计算任务,“无处不在的计算”成为了各类应用共性而迫切的需求,边缘计算应运而生。
相比于云计算,边缘计算将计算资源下沉到网络边缘设备、甚至嵌入到各类网络系统当中,为大至自动驾驶车联网、小到可穿戴设备提供快速、稳定、无处不在的计算服务。如果说物联网让物理世界具备了“感知”和“沟通”的能力,那么边缘计算的使命则是让世间万物具备“思考”的能力。网络边缘在形态上可以千变万化,既可以是部署在移动蜂窝网络的数据中心、亦可以是随车而载的小型服务器,甚至可以是随身携带的迷你节点,以完成各类场景的计算服务,这些场景包括移动计算、自动驾驶车联网、智慧工业、智能家居、可穿戴计算等。
推荐序一<br/>推荐序二<br/>自序<br/>前言<br/>第1章 边缘计算概述 1<br/>1.1 边缘计算的背景与概念 1<br/>1.1.1 边缘计算的历史背景 1<br/>1.1.2 边缘计算的概念 3<br/>1.1.3 边缘计算带来的改变 4<br/>1.2 边缘计算发展的历史必然性 7<br/>1.2.1 催生边缘计算的技术 7<br/>1.2.2 计算形态变革的内在逻辑 12<br/>1.2.3 边缘计算将深刻改变计算方式 16<br/>1.3 边缘计算的重要意义 20<br/>1.4 边缘计算中的关键问题 21<br/>1.4.1 关键词 22<br/>1.4.2 关键研究问题概述 23<br/>1.4.3 边缘计算架构 27<br/>1.4.4 操作系统与编程模型 27<br/>1.4.5 计算卸载与资源分配 28<br/>1.4.6 虚拟化与服务管理 28<br/>1.4.7 服务集群管理 29<br/>1.4.8 人工智能与大数据 29<br/>1.4.9 移动性管理 30<br/>1.4.10 系统与应用 30<br/>1.5 发展趋势与技术挑战 31<br/>1.5.1 发展趋势 31<br/>1.5.2 关键机构与成果 32<br/>1.6 本书的写作逻辑 33<br/>习题 34<br/>参考文献 34<br/>第2章 边缘计算架构原理 35<br/>2.1 边缘计算架构概述 35<br/>2.1.1 系统评价及设计要求 35<br/>2.1.2 边缘计算架构设计面临的独特挑战 37<br/>2.2 总体系统架构 39<br/>2.2.1 两类边缘:主干网边缘和<br/> 泛在边缘 39<br/>2.2.2 云-边-端架构 40<br/>2.2.3 边-端架构 42<br/>2.2.4 多接入边缘计算 43<br/>2.2.5 分布式D2D/D4D架构(泛在边缘架构) 43<br/>2.2.6 AIoT架构 43<br/>2.3 软件计算架构 44<br/>2.3.1 一般边缘计算软件架构 45<br/>2.3.2 多接入边缘计算架构 47<br/>2.3.3 AIoT软件架构 48<br/>2.3.4 卫星边缘计算架构 49<br/>2.3.5 编程模型 53<br/>2.4 边缘计算操作系统与开源框架 55<br/>2.4.1 EdgeX Foundry 56<br/>2.4.2 StarlingX 58<br/>2.4.3 其他开源框架 58<br/>2.4.4 融合边缘的前端物联网操作系统 59<br/>习题 59<br/>参考文献 59<br/>第3章 边缘接入技术 60<br/>3.1 无线传输机制 61<br/>3.1.1 无线局域网传输机制 61<br/>3.1.2 无线个域网传输机制 62<br/>3.1.3 无线广域网传输机制 68<br/>3.1.4 低功耗广域网传输机制 74<br/>3.1.5 新型无线传输机制 81<br/>3.1.6 总结 84<br/>3.2 无线接入的通信服务协议 84<br/>3.2.1 MQTT 85<br/>3.2.2 AMQP 85<br/>3.2.3 Kaf?ka 87<br/>3.2.4 STOMP 87<br/>3.3 可靠的数据传输 88<br/>3.3.1 考虑移动性的可靠数据传输 88<br/>3.3.2 基于博弈的数据接入 91<br/>3.4 多接入边缘网络与超密集网络 92<br/>习题 94<br/>参考文献 94<br/>第4章 计算任务卸载 95<br/>4.1 任务卸载概述 96<br/>4.1.1 任务卸载概念与步骤 96<br/>4.1.2 计算卸载的时延模型 97<br/>4.1.3 边缘计算任务卸载评价指标 101<br/>4.2 任务卸载方式 103<br/>4.2.1 0-1卸载 103<br/>4.2.2 部分卸载 104<br/>4.2.3 任务切分技术及实例分析 106<br/>4.2.4 子任务卸载策略 109<br/>4.3 不同场景下任务卸载策略研究 110<br/>4.3.1 单用户边缘网络场景 110<br/>4.3.2 多用户边缘网络场景 112<br/>4.3.3 异构服务器边缘网络场景 115<br/>4.4 不同架构下任务卸载策略研究 117<br/>4.4.1 云-边-端架构中的卸载策略 117<br/>4.4.2 边-边架构中的卸载策略 118<br/>4.4.3 多接入边缘架构中的计算卸载 120<br/>4.4.4 定制化边缘架构中的计算卸载 121<br/>4.4.5 用户高移动性网络场景中的计算卸载 123<br/>4.4.6 分布式D2D网络中的计算卸载 129<br/>4.5 开源工具概述 133<br/>4.5.1 Slacker 133<br/>4.5.2 EdgeCloudSim 134<br/>4.5.3 EdgeX Foundry 136<br/>4.5.4 Apache Edgent 136<br/>4.5.5 KubeEdge 137<br/>4.6 边缘卸载策略展望与挑战 139<br/>4.6.1 资源协同调度的挑战与展望 139<br/>4.6.2 用户移动性管理的挑战与展望 140<br/>习题 141<br/>参考文献 141<br/>第5章 虚拟化技术 142<br/>5.1 虚拟化技术概述 143<br/>5.2 虚拟化技术发展历史 143<br/>5.3 虚拟化技术分类 145<br/>5.3.1 指令架构级虚拟化 146<br/>5.3.2 硬件抽象级虚拟化 147<br/>5.3.3 操作系统级虚拟化 153<br/>5.3.4 库函数级虚拟化 156<br/>5.3.5 编程语言级虚拟化 157<br/>5.4 轻量级虚拟化 158<br/>5.4.1 虚拟机与容器 159<br/>5.4.2 Docker 160<br/>5.4.3 Unikernel 162<br/>5.4.4 Firecraker 164<br/>5.4.5 总结 165<br/>5.5 微服务 165<br/>5.5.1 服务架构的发展历程 166<br/>5.5.2 微服务架构特点 166<br/>5.5.3 微服务架构面临的挑战 169<br/>5.6 服务网格 169<br/>5.6.1 服务网格的发展历程 169<br/>5.6.2 服务网格工具: Istio 173<br/>5.6.3 服务网格工具对比 181<br/>5.7 无服务架构 185<br/>5.7.1 发展历史 185<br/>5.7.2 Serverless开源工具 188<br/>习题 192<br/>参考文献 192<br/>第6章 边缘服务管理支撑技术 193<br/>6.1 NFV架构 194<br/>6.1.1 NFV概述 194<br/>6.1.2 服务功能链备份 196<br/>6.1.3 虚拟化内容分发网络 198<br/>6.1.4 NFV与移动场景中的边缘计算 199<br/>6.1.5 NFV MANO架构 200<br/>6.2 软件定义网络 203<br/>6.2.1 SDN架构 204<br/>6.2.2 分布式SDN的一致性更新 205<br/>6.2.3 SDN与NFV的区别与联系 206<br/>6.3 网络切片技术 207<br/>6.3.1 网络切片 207<br/>6.3.2 切片管理 208<br/>6.3.3 切片与NFV服务链 211<br/>6.3.4 网络切片研究项目 213<br/>6.4 数据放置、检索与存储 214<br/>6.4.1 数据放置、检索与存储定义 214<br/>6.4.2 针对不同场景的数据放置与检索服务架构 214<br/>6.4.3 移动性预测检索 217<br/>6.4.4 数据定位服务 219<br/>6.4.5 分布式数据存储 221<br/>6.5 开源框架 222<br/>6.6 总结 230<br/>习题 230<br/>参考文献 230<br/>第7章 边缘服务缓存 231<br/>7.1 边缘服务缓存评价指标 231<br/>7.1.1 面向应用的评价指标 233<br/>7.1.2 服务缓存的评价方法 234<br/>7.2 不同架构下的服务缓存策略研究 237<br/>7.2.1 云-边架构中的服务缓存策略 237<br/>7.2.2 边-边架构中的服务缓存策略 238<br/>7.2.3 多接入边缘架构中的服务缓存策略 240<br/>7.2.4 定制化边缘架构中的服务缓存策略 241<br/>7.2.5 算力优先网络 249<br/>7.2.6 命名数据网络 250<br/>7.3 应用案例分析 252<br/>7.3.1 内容缓存案例及系统实现 252<br/>7.3.2 服务缓存案例及系统实现 255<br/>7.4 边缘缓存策略展望与挑战 260<br/>7.4.1 服务发现、服务交付和移动性 260<br/>7.4.2 异构边缘计算系统中的协作 260<br/>7.4.3 低成本容错部署模型 261<br/>7.4.4 无线大数据的利用 261<br/>7.4.5 系统集成 261<br/>7.4.6 资源管理 262<br/>7.4.7 卸载策略的其他优化 262<br/>7.4.8 考虑卸载与未卸载数据的流量范式 262<br/>7.4.9 隐私安全以及用户信任相关 262<br/>习题 263<br/>参考文献 263<br/>第8章 边缘系统部署 264<br/>8.1 边缘系统部署的典型场景 265<br/>8.1.1 静态部署场景 265<br/>8.1.2 动态部署场景 267<br/>8.2 边缘服务器部署问题 267<br/>8.2.1 部署问题的评价指标及限制条件 268<br/>8.2.2 静态部署问题 271<br/>8.2.3 动态部署问题 281<br/>8.3 部署方案性能评估工具 284<br/>8.3.1 OPNET 285<br/>8.3.2 NS 285<br/>8.3.3 SSFNet 288<br/>8.3.4 MiniNet 288<br/>习题 289<br/>参考文献 289<br/>第9章 边缘计算与人工智能 290<br/>9.1 边缘场景中的人工智能 290<br/>9.1.1 人工智能技术回顾 291<br/>9.1.2 典型的人工智能技术 291<br/>9.1.3 边缘计算与人工智能的结合 295<br/>9.2 人工智能在边缘计算中的应用 297<br/>9.2.1 利用机器学习进行计算卸载决策优化 298<br/>9.2.2 利用机器学习进行服务器部署决策优化 302<br/>9.2.3 利用机器学习进行资源分配决策优化 303<br/>9.2.4 基于边缘计算系统的深度学习应用 305<br/>9.3 边缘网络中的人工智能技术 308<br/>9.3.1 分布式机器学习 308<br/>9.3.2 联邦学习与边缘网络 309<br/>9.3.3 TinyML 313<br/>9.3.4 Fregata 315<br/>9.3.5 AIoT系统 315<br/>9.4 移动端开源机器学习框架 316<br/>9.4.1 TensorFlow Lite 318<br/>9.4.2 Core ML 319<br/>9.4.3 NCNN 320<br/>9.4.4 Paddle Lite 320<br/>9.4.5 MNN 321<br/>9.4.6 MACE 321<br/>9.4.7 SNPE 321<br/>9.5 边缘人工智能展望 322<br/>9.5.1 资源友好型边缘AI模型设计 322<br/>9.5.2 计算感知网络技术 322<br/>9.5.3 任务卸载到IoT设备 323<br/>9.5.4 动态预测 323<br/>9.5.5 ML集成 324<br/>9.5.6 DNN性能指标权衡 324<br/>9.5.7 新型AI模型与技术探索 325<br/>习题 325<br/>参考文献 325<br/>第10章 安全与隐私保护 326<br/>10.1 边缘计算隐私保护概述 327<br/>10.1.1 隐私保护在边缘计算中的作用 328<br/>10.1.2 边缘计算相比云计算在隐私保护方面的优势 328<br/>10.2 边缘计算数据安全与隐私保护体系 329<br/>10.2.1 基础设施安全 329<br/>10.2.2 边缘数据安全 330<br/>10.2.3 边缘网络安全 332<br/>10.2.4 移动终端安全 332<br/>10.3 通用边缘安全技术 333<br/>10.3.1 数据加密 333<br/>10.3.2 身份认证 338<br/>10.3.3 隐私保护 339<br/>10.3.4 访问控制 340<br/>10.4 区块链与联邦学习 341<br/>10.4.1 区块链+边缘计算 341<br/>10.4.2 隐私保护的边缘联邦学习 348<br/>10.5 隐私保护的开源工具和未来挑战 352<br/>10.5.1 隐私保护的开源工具 352<br/>10.5.2 隐私保护的未来挑战 354<br/>习题 355<br/>参考文献 355<br/>第11章 应用案例分析 356<br/>11.1 智慧远程医疗 356<br/>11.1.1 设计思路与解决方案 357<br/>11.1.2 存在的问题与发展方向 359<br/>11.2 智慧交通 359<br/>11.2.1 设计思路与解决方案 361<br/>11.2.2 存在的问题与发展方向 362<br/>11.3 智慧家居网关 362<br/>11.3.1 设计思路与解决方案 364<br/>11.3.2 存在的问题与发展方向 365<br/>11.4 智慧工厂 365<br/>11.4.1 设计思路与解决方案 366<br/>11.4.2 存在的问题与发展方向 368<br/>11.5 自动驾驶车联网 369<br/>11.5.1 设计思路与解决方案 370<br/>11.5.2 存在的问题与发展方向 371<br/>11.6 可穿戴边缘计算 372<br/>11.6.1 设计思路与解决方案 373<br/>11.6.2 存在的问题与发展方向 374<br/>11.7 VR/AR 375<br/>11.7.1 设计思路与解决方案 375<br/>11.7.2 存在的问题与发展方向 378<br/>参考文献 378<br/>第12章 边缘系统设计与实践 379<br/>12.1 架构设计与硬件设备概述 380<br/>12.1.1 AVR 381<br/>12.1.2 MSP430 382<br/>12.1.3 ARM 383<br/>12.1.4 设备选择 383<br/>12.2 前端硬件设备环境说明 386<br/>12.3 服务器环境配置 387<br/>12.3.1 系统安装 388<br/>12.3.2 Web服务器的搭建 389<br/>12.3.3 视觉算法概述 391<br/>12.3.4 TensorFlow Lite的安装及测试 393<br/>12.4 服务部署 395<br/>12.4.1 Docker安装 395<br/>12.4.2 Docker Hub 397<br/>12.4.3 个性化Docker镜像 397<br/>12.4.4 整合 406<br/>12.5 利用EdgeX Foundry开源平台创建服务 408<br/>12.5.1 EdgeX Foundry概述 408<br/>12.5.2 环境配置及使用 409<br/>参考文献 418