这是 “虚拟空间:实现浸入式协作性企业” 系列的第二部分。第 1 篇文章 简单介绍了虚拟世界的历史,介绍并解释了虚拟空间概念。它解释了促使虚拟空间开发在 IBM 内兴起的用途模式和技术,并对虚拟空间和虚拟世界进行了比较和对比。该文章还考察了 6 个平台:Active Worlds、Forterra OLIVE、OpenSimulator、Second Life、Torque 和 Unity,这些平台要么用于构建虚拟空间,要么用于探索特定特性和理想功能。
在第 2 部分中,您将了解如何为大型虚拟活动、跨文化团队间协作、虚拟空间中的远程指导和身份验证构建虚拟空间。除业务上下文和社交特性外,您还将在每个场景中检查开发人员必须应对的挑战以及相应的解决方案及其支持技术的架构概述。您还将了解每个虚拟空间实现的有形业务成果和成功经验。本文还将探索基于 SOA 的虚拟空间方法的动力和好处。
在最近两年中,IBM 积累了大量关于如何在虚拟空间中运行大型活动的知识,下面就介绍这方面的内容。
最初,我们的途径是利用公共 Second Life (SL) 网格,该网格易于访问并提供脚本编写和用户内容创建功能,深受广大 IBM 虚拟空间爱好者的喜爱。这种途径成本低廉,因为基本用户帐户是免费的且有大量内容可用。但是,由于 SL 是 IBM 防火墙之外的一个公共网格,因此它不安全,不能使用和共享机密信息。尽管内容丰富,但 SL 环境不是面向业务的,许多地方与 IBM 的业务目标不相关(或不合适)。 尽管来自 SL 居民的骚扰(称为恶意破坏)并不普遍,但这的确是该环境的一个特点。另外,如果一个企业想控制它的内容/用户,则 SL 主网格并不适合,因为它受到 Linden Lab Terms of Service (ToS) 的约束。
与魔兽争霸(World of Warcraft)等游戏使用的共享模型不同,公共 SL 网格是一个大型 2D 处理器网格,其中每个处理器管理 256m × 256m 的正方形虚拟区域。一个大型数据库(称为资产服务器)存储每个 3D 模型、纹理、角色和其他资产的详细信息。图 1 中的图表已经过简化,没有显示诸如登录和即时消息传送之类的 “环境” 服务。
图 1. 公共 Second Life 网格的简化视图
- 新用户需要协助:SL 查看器比较复杂,新用户必须经过高强度的短期学习以便快速熟悉 SL 界面。相关数据表明,新用户可能需要 4 个小时(最多)以熟悉 SL 查看器并定制他们的角色。调整视点(point-of-view)以聚焦一个呈现器/呈现屏幕等基本任务并不直观。
- 由于在 SL 环境中不能讨论机密信息,因此该环境的业务用途受到严重限制。
随着利用虚拟世界媒介试验浸入式虚拟活动的愿望越来越强烈,公共 SL 网格作为业务环境的限制成为严重的障碍。2008 年初,IBM Academy of Technology (AoT) 决定在一个虚拟环境中举行首届会议。但鉴于 AoT 处理的许多主题的机密性要求,它的会议必须在 IBM 防火墙后面托管的一个安全环境中举行,且只有那些经过适当授权的人员可以访问。于是,IBM 和 Linden Lab 开始联手开发一个只有 IBM 成员可以访问的 “私有” SL 网格实现,以便他们可以在这个网格中讨论机密信息并避免公共网格中常见的恶意破坏等问题。这个 9 个月的项目以首届 IBM Academy of Technology (AoT) 会议在一个虚拟空间中召开而圆满结束,会议的主题很恰当地确定为 “虚拟世界”。
图 2 中的图表展示了这个混合 SL 网格的概览,IBM 专属区域和 Asset Server 包含在 IBM 防火墙后面,机密内容托管在 IBM Asset Server 上,非 IBM 成员不能访问 IBM 网格中的任何内容。
图 2. IBM 混合 SL 网格的架构概览
来自 97 个国家的 150 位人士参加了首届 IBM 虚拟空间活动,活动为期 3 天,在 IBM 防火墙后面运行的 SL 中举行。这次活动包括 37 次正式会议,“循回” 海报招贴会议,以及乘坐水上摩托艇和悬挂式滑翔机等社交活动。
在这次活动中,远程协作创建的重要性显而易见 —— 来自世界各地的大量设计师和构建师志愿者为创建这个环境投入了数千小时时间。参与者的自我形象展示了背景和选择的个性和多样性 —— 有的是商务人士,有的是机器人;还有蓝色的头发,时髦的服饰或牛仔裤,甚至还有带有音效的微型摩托车。
入职培训(On-boarding)—— 建立并培训用户 —— 很费时间。无论是 SL 的新用户还是当前用户,他们都需要下载并安装一个新的查看器以支持这个私有 Voice over Internet Protocol (VoIP) 特性,而 VoIP 本身则容易出现小故障。来自安排在邻近虚拟空间的会议的声音有些重叠 —— 这勾起了我们对薄薄的旅馆墙壁的回忆。使用地标在公共空间和私有空间之间导航也存在问题,导致几个 “丢失的角色”。
尽管存在各种问题,事实证明 VoIP 是一个无所不能的 “杀手级应用程序”。通过 VoIP,用户间的互动和交互更容易。用户反馈表明,无形的 “闲谈” 能力 —— 与他人见面、认识和交谈,就像某人在真实会议中所做的那样 —— 是虚拟空间活动的主要好处。
由于 AoT 活动的参与者来自世界各地,旅行总是一个问题,不只是由于旅行费用,还在于旅行时间问题。虚拟会议节约了数十万(以美元计算)旅行和会议费用,消除了参与者的旅行 “宕机” 时间。
在这次首届活动成功举办之后不久,难以预测的全球经济环境导致 AoT 大会取消。突然,这个试验性的混合 SL 虚拟空间被视为规模更大的、更复杂的 AoT 大会的可行平台。这次 AoT 大会吸引了来自 34 个国家的 200 多位参会者,大约有 150 次海报招贴会议以及各种其他会议和社交活动在这个 SL 平台中举行。反馈数据表明,75% 的与会者认为会议举办成功。
在这两次活动成功举办之后,许多 IBM 机构对利用虚拟空间满足它们的业务需求表现出兴趣,这促使我们进行更多的虚拟空间开发工作,下面的小节将介绍这方面的内容。
在经济下滑,商务旅行受到限制的时期,我们找到了一种创新方法将来自不同地理区域的 6 个实验室的 200 多位 IBM 研究人员集合到一起,这是一件具有开创意义的事件。
这次 “混合真实感” 活动集成了 SL 和真实会议方式,为世界范围内的观众举办了两次会议。在这次活动中,IBM Research Senior VP 和 4 位专家小组成员(他们所在的 IBM 研究机构位于世界各地)在虚拟世界中坐在一起,通过 SL 的 Vivox spatial VoIP 讨论他们的工作。这次活动为位于沃森、霍桑、剑桥、奥斯汀、苏黎世、海法、阿尔马登、北京、上海、东京、新德里和班加罗尔的研究人员提供实时广播。当世界各地的研究人员在这个 Hybrid SL 网格上实时观看活动时,每个站点的摄影师都操作一个连接到投影屏的 SL 查看器。在专家小组成员所在的站点上,有一个志愿者运行一个第二 SL 查看器以协助专家小组成员的角色运作。
图 3 中的图表显示这次活动的连通性和硬件需求的高级视图。一个特殊的摄影机控制脚本允许一个人在全球同步控制所有 “摄像机” 计算机的视点。
图 3. 混合真实感 2009 Research 开创性活动概览
这次混合真实感活动为参与者提供与视频会议类似的体验,但其成本比用新型音频/视频设备装备 12 个参与站点的费用更低。
使用单个 “主摄像师” 来控制所有站点的摄像机有助于在所有站点上保持一个统一的视点。
由于这是一次混合真实感活动,因此后勤工作类似于真实活动。检查表的使用对保持所有人同步很关键。
为满足前面小节描述的企业需求,IBM 与 Linden Lab 联手试验了一个独立版本 SL。“Nebraska” 是 Linden Lab 的 “SL in a box” 应用程序的代码名称。
这个 Nebraska 单元包含 3 个服务器:
- 一个 SL 服务器运行一个小型 SL 网格,该服务器没有连接到公共 SL 网格。
- 一个流媒体服务器存储音频、视频和图像数据。
- 一个 Vivox voice 服务器提供 spatial VoIP。
Linden Lab 复制了 AoT “混合” SL 网格的大部分内容,这样该环境一开始就拥有大量可靠的内容,比如剧院和其他设施。某些新增功能,比如与企业 LDAP 目录集成以进行验证,使这个环境更适用于业务需求。
- 新用户 “入职培训” 很重要。入职培训时间和会议价值有直接关系 —— 用户花费在会前培训的时间越多,实际活动期间产生的问题也就越少。这样,活动的目标也就越有可能实现。
- 事实证明,虚拟世界活动花费的成本和时间(旅行和建立活动所需的)比真实世界活动要少。
- 许多用户对虚拟活动期间的真实感体验表示满意,但是要充分利用这个 3D 环境的潜力还有许多工作要做。
- 活动安排、用户登记和初始角色设置必须被自动化,其中大部分目标已经实现了。
- 尽管许多人要求具有 “照片真实感” 的角色,但在实际操作中,我们发现人们更喜欢真实感较低、更理想化的个人形象。流媒体服务器的加入促进了形象呈现中视频的使用。
- 要使 SL(和其他虚拟空间环境)正常工作,我们需要一台相对高性能的计算机。事实证明,某些机器中的集成视频芯片组经常会导致崩溃和其他异常行为。
表 1 总结了 Nebraska 解决方案的优点和缺点。
表 1. SL 解决方案比较
| 虚拟空间 | 优点 | 缺点 |
|---|---|---|
| SL 主网格 |
|
|
| 防火墙后的混合 SL |
|
|
| 混合真实感 Hybrid SL |
|
|
| Nebraska "SL in a box" |
|
|
作为全球人力资源的一部分,某些分散的团队也许只能通过他们声音和一张小照片互相了解,他们主要通过会议、电子邮件和即时消息传送进行沟通。尽管这些方式很有效,但它们单调乏味,缺乏人际连接。在这个环境中,远程指导提出的挑战不仅仅是团体集会,因为讨论通常是私密的,涉及机密信息的交换。要实现远程指导,需要带有私密语音和聊天通道的设施。
虚拟空间团队开始着手实现一个远程指导设施,它将比打电话更有真实感,且支持信息交换的私密性。
由于 Metaverse(基于 Torque Game Engine 的虚拟空间)不包含语音集成,该解决方案的关注点是私密文本聊天。与多数虚拟空间一样,在默认情况下,Metaverse 文本聊天将向外广播,广播范围可能是全球也可能是附近,具体情况取决于您的需求。这个模型不支持私密聊天,为解决这个问题,我们实现了聊天 “通道”(一个通道就是一条单独的聊天线路)。
私密聊天区域通过触发器定义,一个触发器就是一个 3D 空间,它知道一个角色何时进入、何时离开以及是否处于空间中。然后,我们将一个聊天通道和那个触发器区域关联起来。
在服务器端,一个聊天通道只是一个 SimSet(一个简单的对象集合),这里即客户机 ID。当用户通过一个关联聊天通道进入触发器区域时,该客户机 ID 就被加入到 SimSet 中。当用户离开时,客户机 ID 即被删除。在这个 Metaverse 实现中,不同的通道是互相排斥的。有一点应该引起注意,“公共” 通道根本算不上一个通道,尽管这种通道也可以实现。公共通道的结果是,私密聊天中的成员也可以接收到公共聊天的内容。
最后,为了阻止其他人进入私密聊天,也可以分配一个访问控制列表(ACL)给触发区域。
图 4 展示来自一个用户的文本聊天如何到达接收者的逻辑流。
图 4. Metaverse 文本聊天逻辑流
OpenSimulator (OpenSim) 最大的好处是提供语音通信。OpenSim 不能定义触发器区域,但您可以制作允许定义私密语音和文本区域的媒体包。遗憾的是,这些媒体包通过 2D 坐标定义,因此媒体包实际上是无限扩展的列。这意味着,与 Torque 不同的是,您不能创建一个拥有私密语音的房间并将私密语音限制在该房间内。媒体包从屋顶和地板垂直穿过房间,这样,站在房间外面的人听不到聊天,但在房间上面盘旋的人则能听到。
最初,使用虚拟空间进行远程指导很受欢迎。人们喜欢拥有私密空间进行聊天的这个想法。到目前为止,最常见的请求是安全的私密空间,这促使我们为 OpenSim 中私密空间和区域实现访问控制列表(ACL)。ACL 就绪且会议组织者具有指定个人和/或小组的能力后,下一步就是为在虚拟空间中讨论敏感信息的人提供安全区域。
身份灵活性不仅是一个有趣的问题,也是虚拟空间的一个关键特性。当玩家加入多个世界或在一个世界中拥有多个身份时,他们也担任多个社交角色。角色扮演和身份灵活性不可能对多个虚拟世界保持唯一性。角色的视觉呈现引入了一个新维度,从而产生了关于身份灵活性、个人隐私、声誉和信任等新问题。由于虚拟世界主要是娱乐和创造奇迹的地方,身份灵活性(很多玩家都喜欢和支持的重要特性)是那里的一种娱乐(生活)方式。
在 SL 这样的地方,身份灵活性几乎无处不在。您只是通过人们的角色身份认识他们,但您不知道他们是您的邻居还是世界那头的某个人。
当虚拟空间被某个企业利用,尤其是在一个防火墙后面(我们称之为 IBM Virtual Spaces)利用时,身份和信任问题值得仔细考虑。我们在开发虚拟空间时很快发现一个问题:人们想知道 与他们交互的人是谁。一次对 531 个 Metaverse 用户的调查表明,IBM 成员希望他们的 “工作” 角色不仅包含他们的真实姓名,而且看起来要象他们。角色识别是最想要的特性(87%),只有定制的重要性与其一样(87%)。而且,他们想知道您在公司内的职位,以及如何通过其他方式与您联系。为满足这种需求,我们开发了一个名为 Bluecard 的解决方案。
对于虚拟空间中的多数用例来说,最容易识别真实身份的角色最受钟爱。但是 ,也有一些用例匿名角色更能满足业务需求,例如,经理和普通员工都参与的培训活动,匿名调查和反馈活动。从长期来看,虚拟空间能够满足所有这些场景的需求。
IBM 公司目录(称为 BluePages)允许员工轻松管理、查找并连接同事。与一个员工关联的所有富元数据,包括基本联系信息、技巧、当前项目和专利活动等,都可以通过 REST 风格的服务访问,从而促进重用和再混合能力。BluePages 是 IBM 中流量最大的应用程序,每天处理数百万条员工请求,向员工提供联系信息和专有技术。Bluecard 小部件通过自动提供上下文员工信息来利用这种受欢迎程度。到目前为止,Bluecard 已在两个虚拟空间中实现:Metaverse 和 OpenSim。在 Metaverse 中,用户可以通过以下几种方法查看一个角色的 Bluecard:
- 查看角色(将十字标放置到角色上面)
- 从在线用户列表选择用户并单击 “Bluecard” 按钮
- 通过一条聊天命令(如 /whois alther@us.ibm.com)
员工在 IBM 内部的一个唯一标识符是他们的电子邮件地址。在 Metaverse 中,这个信息在登录过程中存储为他们的角色的信息。通过电子邮件地址,您可以收集一个员工的所有公共信息。
有一点很有趣且值得注意:Bluecard 完全是一个客户端解决方案。角色信息缓存在每个客户机上,只有使用上述第一种方法确定用户正在查找哪个员工时才需要 Metaverse 服务器。
Torque 引擎只提供基本 HTTP 支持,因此,您不能使用比简单的 GET/Response 更复杂的 Web 服务。为避免在该引擎中编写更复杂的 HTTP 支持,我们决定采用 SOA 方法。我们编写了一个 Nova REST 服务来接受简单的 GET 请求并返回 JSON 响应(Nova 是一个 J2EE 框架,允许开发人员定义并托管新的 REST 风格的 Web 服务),这个 Web 服务承担所有从公司 BluePages 服务器提取数据集合的繁重工作。采用 SOA 方法和客户端解决方案的好处是:
- Metaverse 服务器上的负载更低,因为它无需管理请求。
- 客户机和服务器之间消耗的带宽更少。
- 复杂性更低:客户机只需发送一个 REST 请求并解析 JSON 数据。
- 缓存:客户机能够缓存数据片段,比如员工的照片。
- 重用:其他应用程序可以使用该服务。
图 5. Bluecard 架构
图 5 中描述的架构和组件展示以下基本流程:
- Metaverse 查看器发送一个 REST 请求到适当的 Nova 服务。
- Nova 服务查询公司 BluePages 服务器以获取请求的信息并聚合该信息。
- Nova 服务将请求的数据作为一个 JSON 响应返回。
图 6. 显示 Metaverse 中的 Bluecard 的屏幕截图
图 6 显示 Metaverse 中的 Bluecard 的屏幕截图。当用户使用十字标查看某个角色时,Bluecard 将自动出现。
Bluecard 特性在用户中很受欢迎。在一个业务环境中,人们想知道他们正在和谁聊天,并能够在必要时通过其他方式联系对方。
并不是虚拟空间中的所有事物都需要是 3D —— 这个解决方案成功地将一个熟悉的 2D 界面集成到虚拟空间。
最后,SOA 方法允许我们轻易绕过 Torque 引擎的一些很麻烦的限制,同时能够简化代码。它还有一个好处:允许其他应用程序和工具重用完成的工作。
我们在虚拟空间中的试验已经展示了实实在在的成本节约,以及在我们的不同业务领域中的更多好处。近期项目包括集成虚拟空间与协作工具、视频和移动技术,从而尽量减少旅行需求。
然而,使用虚拟空间支持业务的原因还有很多。当构建全球集成的企业时,我们的通信受到当今扁平的、基于打印的 Web 模式的限制。我们生活在一个 3D 世界中,以视觉方式思考。我们需要通过利用支持下一代真实感技术并支持集成虚拟世界和真实世界的技术缩小扁平的 Internet 和多维真实世界之间的差距。
请继续关注本系列第 3 部分,它将展示我们构建的虚拟空间的更多细节。这些虚拟空间将包含白板头脑风暴、即时翻译的多语言协作、社交网络工具集成和系统监控。我们将继续探索基于 SOA 的虚拟空间方法的好处。
我们感谢 Neil Katz、Suzy Deffeyes、Thomas Cook 和 Rob Smart 为 Second Life 和 OpenSim 中的 IBM 虚拟空间所做的贡献。没有 Mike Ackerbauer、Richard Newhook、Robi Bruner、Charisse Lu、Jeffrey Abbott 和 Joshua Scribner 的努力工作,Metaverse 就不会存在。我们还要感谢曾经和现在的 VUC 同事,以及对 IBM 中的虚拟空间开发贡献过力量或者在论坛、博客或直接和我们分享过经验的 Linden Lab 代表。
学习
- 阅读 报刊新闻,了解关于 IBM 和虚拟世界的更多信息。
- 访问 OpenSimulator,了解如何入门。
- 试用新的 OpenSim Idealist 查看器。
- 进一步了解这个新的虚拟世界协议:Metaverse eXchange Protocol(MXP)。
- 探索 Unity 引擎的功能。
- 阅读 IBM 在 Second Life 中开展的关于 Academy of Technology Virtual World Conference 的案例研究的研究报告。
- 阅读关于 IBM 虚拟宇宙社区的发展历程 的信息。
- 这个位于 Linden Scripting Language 上的开放文档用于 Second Life 中,以帮助各种水平的脚本编写人员。
- 仔细阅读 IBM 出版的 虚拟世界报告。
- 查看关于 IBM Academy of Technology 为期数天的 虚拟会议 的信息。
- 观看 CNBC 访谈 Conferences Go Virtual,来自 IBM 的 Karen Keeter 谈论 Sametime 3D。
- 浏览 技术书店,获取关于这个主题和其他技术主题的图书。
- developerWorks 技术活动和网络广播:随时关注 developerWorks 技术活动和网络广播。
-
developerWorks SOA and Web services
专区:让您了解更多和 SOA 以及 Web 服务相关的内容,包括技术文章、教程以及特殊专题等。
获得产品和技术
- 下载 IBM 产品评估版 或 在线试用 IBM SOA Sandbox,并开始使用来自 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的应用程序开发工具和中间件产品。
讨论
-
参与 developerWorks blogs 并加入 developerWorks 社区。

Luba Cherakov 是 IBM 杰出工程师和 IBM Academy of Technology 的成员,是 IBM CIO Office 的关键技术负责人。作为 Innovate Quick 团队的主管,Luba 推动许多计划,比如 Genographic 项目、Nature Conservancy 水建模、3-D 虚拟空间和社交计算工具。她的团队主要关注新兴技术和科技与创新性企业解决方案的集成。Cherbakov 女士参与了 IBM Service-Oriented Modeling and Architecture (SOMA) 方法、参考体系结构、Architectural Description Standard 和网格计算资产的开发。她两次获得了 IBM Outstanding Technical Achievement Award,还获得了 IBM Corporate Award(表彰对业务价值做出突出技术贡献的人员的最高技术奖项)。Cherbakov 女士是 Society of Women Engineers 和 Association for Computing Machinery 的成员,拥有 George Washington University 的计算机科学硕士学位。

Robi Brunner 是一位服务工程师和 Innovate Quick 团队的成员。他从事各种服务的开发,跨虚拟世界和网站提供数据和功能集成。他当前是 Virtual Universe Community 的公会管理员之一,帮助 IBM 人员更好地融入虚拟世界和空间。他还是 IBM 的 HackDays 的积极推动者,HackDays 是一个草根运动,致力于推动 IBM 人员在创新方面发挥才智。

