第二人生新网格架构的初步分析
2007年12月8日 3:21 发表者: Ken
赵珂(islab.org/cn), 易思社区
第二人生网格架构(Second Life Grid Architecture)包含了很多为Second Life用户提供网络服务的服务器, 并包含SIM服务器, AGENT服务器等集群组成的计算资源.
第二人生当前的网格架构:
图中的Viewer(客户端程序)首先连接到Region(区域)服务器上, 然后再连接到Central Databases(中央数据库)服务器群组上.
现在网格架构的缺点是不便于分散管理, 单个故障点可能导致整个网络陷入崩溃状态.
第二人生新的网络架构:
Agent Domain(代理域): 处理跟用户有关的所有事情. 它存储了用户的帐户信息, 物品库, 登陆等.
Agent Domain包括三个部分:
1). Agent Services(代理服务): 处理跟用户有关的无状态数据, 比如个人信息.
2). Agent Hosts(代理主机): 处理用户的登陆信息, 比如用户的位置, 状态, 朋友状态等.
3). Agent Stores(代理存储): 存储了用户的实际数据, 比如用户的物品数据.
Region Domain(空间域): 空间域处理所有跟区域有关的事情. 比如区域名字, 土地信息, 用户位置, 物品的元信息.
Region Domain包括三个部分:
1). Region Services(空间服务): 处理跟区域有关的无状态数据. 比如名字, 土地信息等.
2). Region Hosts(空间主机): 也就是我们通常所说的Simulators(模拟器), 也叫SIM主机. SIM主机主要处理用户帐户和物品之间信息交换.
3). Region Stores(空间存储): 存储了区域的实际数据, 比如物品信息(位置, 形状, 材质, 连接/组群关系, 物品库, 元数据), 区域信息, 土地信息等.
用户登陆到second life里面的顺序首先登陆到Agent Domain(代理域), 然后登陆Region Domain(空间域).
大致的过程是:
1. Agent Domain阶段
1). 用户客户端发送登陆信息给Agent Domain中的Agent Service(代理服务).
2). Agent Sercice从Agent Store(代理存储)中查询用户的数据.
3). Agent Service请求Agent Host(代理主机)发起一个链接会话.
4). Agent Host建立与用户客户端之间的链接.
2. Region Domain阶段
1). Agent Host联系Region Service.
2). Region Service从Region Store取得区域的相关信息.
3). Region Service联系Region Host, 要求为新的用户建立起链接会话.
4). Agent Host直接与Region Host联系.
5). Agent Host把Region Host交给用户的客户端(建立直接通信).
6). 用户客户端现在能够正确的与Region Host通信.
新的网格架构便于分散管理, 从而其它(非linden实验室托管)的主机也可以加入到整个Second Life网格中来, 单个故障点(如果出现了)将不会让整个网络陷入崩溃状态.
参考资料:





