复杂系统自我修复技术:SHADOWS项目解析
1. 项目背景与目标
在当今计算机系统规模和复杂度不断增加的背景下,传统的软件保障技术,如严格的开发测试方法和容错机制,虽曾发挥重要作用,但在应对现代系统时显得力不从心,导致系统拥有成本上升。为解决这一问题,自我管理和自主计算等新研究方向应运而生,旨在开发高可靠性、低成本的自管理复杂软件系统。
SHADOWS项目正是在这样的背景下启动的,它专注于复杂系统的自我修复,在多个方面拓展了现有技术水平。该项目由九个合作伙伴组成,包括研究机构和工业软件开发人员,这种组合有助于创建统一的自我修复解决方案,并在不同应用领域进行验证,以提供更高质量的成果。目前项目仅开展了几个月,具体结果尚未出炉,中间结果将发布在其网站上。
2. 相关工作概述
2.1 可重构架构
可重构架构系统能够在故障发生时自动应用策略动态修改自身结构,例如动态添加冗余服务器、调整连接带宽、增减组件以及修改组件间连接等。这些自我修复技术主要关注系统的非功能属性,如服务可用性和性能。
2.2 一致性管理技术
一致性管理技术是运行时技术,用于维持系统处于一致和合法状态,例如回滚和恢复技术以及故障屏蔽技术。有研究提出了基于故障屏蔽和可重构架构的自我修复系统,能在设备移动时发现并连接新的服务提供商。
2.3 代码修改和迁移技术
代码修改和迁移技术通过动态修改应用程序代码来修复已诊断的故障。有工作展示了使用代码移动技术将代码动态迁移到不同位置以修复故障,还有初步研究建议用新实现替换活动系统组件的实现,同时保持组件功能的可用性。