安全移动计算与WCL运行时系统解析
1. 同步与异步通信在移动环境中的差异
在移动环境下,同步和异步通信原语的差异变得明显。当一个密封体(seal)在发出请求后、收到确认信息前移动,它可能无法收到确认信息,这可能导致密封体再次请求相同服务。虽然转发消息是一种解决方案,但在像互联网这样的系统中跟踪移动实体需要大量的支持和协作,这并不现实。
Seal演算采用了不同的方法,它让所有通信(包括密封体移动)都为同步方式。不过,这里的通信是本地化的,同步操作要么局限于一个密封体内部,要么限制在父子之间(如机器和应用程序、局域网和机器)。其他交互模式需通过一系列同步交换来实现,本质上是异步的。密封体实现中的跨机器边界通信仅需相邻密封体之间的同步,移动性也只需相邻密封体间的同步。
| 通信类型 | 特点 | 范围 |
|---|---|---|
| 本地和父子通信 | 同步,需要同步共识,但范围有限 | 密封体内部或父子之间 |
| 其他通信模式 | 异步,通过同步交换序列实现 | 除本地和父子通信外 |
2. 密封体与对象的区别
许多分布式编程语言采用面向对象模型来构建分布式服务。最初,我们也持有这种观点,但后来发现涉及的抽象比对象范式更基础,因此将名称从“密封对象演算”简化为“密封体(seals)
超级会员免费看
订阅专栏 解锁全文
714

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



