互联网编程中的移动代理通信与相关技术探索
引言
近年来,广域分布式应用在企业内部网和全球互联网上的关注度急剧上升。移动代理作为构建这类应用的关键概念,是能够在不同站点间迁移的执行代码单元。移动代理编程需要全新的语言和运行时支持,以实现代理间的交互、应对网络故障和重新配置、绑定资源以及管理安全等功能。本文聚焦于移动代理间通信原语的设计、语义定义和实现。
移动代理通信原语可分为两类:
- 低级别 :位置相关原语,要求程序员知晓移动代理的当前站点才能与其通信。若通信方迁移,程序需明确跟踪其新位置。
- 高级别 :位置无关原语,允许与移动代理通信,不受其当前站点和迁移的影响。但其实现需要复杂的分布式基础设施。
为了清晰理解和便捷实验基础设施算法,并在同一网络上同时支持多种基础设施,本文提出了两级架构:
- 低级别 :由一组易于理解的位置相关原语组成,可直接基于标准网络协议实现。这些原语包括代理创建、代理迁移、同一站点内代理间消息发送、生成全局唯一名称和本地计算等。
- 高级别 :基于低级别原语实现的各种位置无关通信抽象。本文仅考虑一种代表性形式:类似于低级别原语的异步消息传递,但独立于代理位置且对迁移透明。
这种两级架构使用进程演算理论进行清晰表述,允许将分布式基础设施算法严格视为演算之间的翻译。演算的操作语义为理解算法行为、设计以及推理其正确性和健壮性提供了坚实基础。
两级演算
为了精确界定这两级抽象,引入了低级别和高级别的Nomad
超级会员免费看
订阅专栏 解锁全文
3426

被折叠的 条评论
为什么被折叠?



