第五章 命名
1.移动实体定位的方法有哪些?
(1)使用多播和广播。实体的标识符被广播给分布式系统的每个进程。为实体提供访问点的进程通过提供访问点的地址进行响应。这种方法的扩展性有限。
(2)使用转发指针。每当一个实体转发到另一个位置时,他就会留下一个指针,说明它下一步所在的位置。定位实体需要遍历转发指针形成的路线。为了避免形成太长的指针链,定期缩短指针链是很重要的。
(3)给实体指定一个起始位置。每当实体转移到另一个地方时,他都会通知起始位置,告诉起始位置自己当前的位置。在定位实体时,首先询问起始位置,以便了解实体的当前位置。
(4)创建一棵分层搜索树。网络划分成不重叠的域。域可以组合成更高层的不重叠的域,以此类推。只有一个顶级域,它覆盖了整个网络。每个层次的每个域都有关联的目录节点。如果一个实体位于域D中,那么更高一层的域所用的目录节点将拥有一个指向D的指针。最底层目录节点存储了实体的地址。更高层的目录节点知道所有的实体。
2.描述分层方法中查找一实体的过程
(1)希望定位实体E 的客户向它所在的叶域D 的目录节点发送了一个查找请求。
(2)如果叶域D 的目录节点中没有存储该实体的位置记录,那么就说明该实体现在不在D 中。因此这个节点会把请求转发给它的父节点。
(3)如果父节点也没有E 的位置记录,那么就会把查找请求转发给更高一层的域,依次类推。
(4)如果节点M 存储了E 的位置记录,那么一旦请求到达M 后,就可以知道E 位于节点M 代表的域中,M 存储了一条位置记录ÿ