SAGE2: 支持可拓展像素显示的协作平台
论文:《SAGE2 – A New Approach for Data Intensive Collaboration Using Scalable Resolution》
作者: Thomas Marrinan, Jillian Aurisano, Arthur Nishimoto, Krishna Bharadwaj, Victor Mateevitsi, Luc Renambot, Lance Long, Andrew Johnson. 通讯作者:Jason Leigh
发表:Best Paper Awards of CollaborataCom 2014
一、简介
SAGE2 作为一款中间件,支持分辨率可拓展的共享显示(SRSD, Scalable Resolution Shared Displays),通过浏览器支持实时多用户的协同合作:
- 它支持如上所示的原型应用;
- 同时用户可向服务器上传文件、视频 (pixel streams) 来分享工作进展;
- 它也支持多用户实时交互。
http://sage2.sagecommons.org/videos/ 中的视频 ”SAGE2 capabilities” 比较好地描述了 SAGE2 的各个功能。
二、相关工作
早在 2004 年,EVL 实验室就基于 C++ 开发了 SAGE 用来支持多用户协同合作。为了改进 SAGE, 了解“用户最期盼的特性”,EVL 实验室开展了用户调研,调研涵盖 40 个不同的地区,调研表明最需要的特性有:
- 整合多用户应用程序
- 加强实时远距离协作
- 降低使用门槛
除了进行用户调研外,EVL 实验室还通过与用户长时间的紧密合作,观察总结了 SAGE 中 4 种常见的工作流程
- lightning collaboration. 它主要描述在会议中,与会者不再需要传统的控制器(比如通过主控电脑连接投影),通过 SAGE 就可以 快速 共享资源(video, PDF, pointer 等),阐述项目进度。
- parallel investigation. 我们在此设想一个由不同的领域专家组成的团队协同工作时,这些领域专家会分别聚焦在各自的问题上,并在自己的设备上进行探索。那如果我们将这些设备的内容同时呈现在屏幕上,专家们就可以看到自己同事的进展,进而提出新的问题,迭代地向实现目标前进。
- single-driver, multiple-navigator scenario. SRSD 通过支持单用户分享交互应用,使得所有用户可以同时在屏幕墙上看到该用户的工作进展;每个用户可以定制自己的光标,来提示该用户。
- remote gigabyte data streams, 用以支持多用户分享多媒体数据。
SAGE 一方面为上述工作流程提供了便利,但同样存在着一些不足。
- 我们以 lightning collaboration 为例,对于一些在会议中需要简报的新用户而言,下载安装客户端存在困难。
- 在 parallel investigation workflow 中,用户无法访问别人的内容;一些用户可能上传大量信息,别的用户进行相关查找时有困难
- 对于第三种工作流程,当角色发生变换时,新的 driver 需要在自己的 PC 上重复之前的预处理工作,才能让大家看到前一个 driver 做的工作,这样比较费时。
- 最后就是因为用户机器配置的问题,可能无法完全发挥 SAGE 功能,甚至不能部署。
当然,除了和自身的前一版本的系统比较外,作者还与约 15 种现有的解决方案相比较,最终提出 SAGE2 是唯一一个能满足他们所有要求的交互系统。
三、设计与实现
基于用户需求及原系统的不足之处,作者在设计 SAGE2 时制定了如下理念:
- 支持多用户同时输入
- 多用户事件处理;消除 轻协作 和 并行调查 下的交互问题;加强实时通讯能力
- 降低使用门槛:开发 Web 系统
- 希望支持用户通过浏览器,访问 Server 进行交互
- 与 SAGE 不同,它降低了系统使用门槛及学习成本
- 为支持用户实时交互,引入了 事件捕获与转发 机制
- 为拓展交互类型,利用 Omicron 以支持四大类不同的交互方式
- 动作追踪 (motion tracking) 或三维设备 (6DOF devices)
- 坐在屏幕前,使用 gyro-mouse 或屏幕指针 (laptop pointer)
- 通过 SAGE UI 在任意远的地方进行交互
挑战 3: 在平台上支持“多用户应用”
- 定制的窗口操作模式 和 应用交互模式
将鼠标悬停在应用边界进而改变窗口大小的的传统方法并不适用于超高清的 SRSD 系统,作者定制了窗口操作模式,用来缩放和平移应用,比较好地解决了上述问题。
- 支持在 SRSD 上动态加载多个 Web 应用
- 实例封装
- 事件转发
- 分享 Web 应用
- 使用户能在远端访问 Web 应用并支持交互,作者将所有应用设计成可通过 URL 来访问的对象 (RESTful)
四、应用开发
作者称,截至 2014 年,SAGE2 是第一款同时支持定制应用 (customize application) 和 现成应用 (off-the-shelf application) 集成的多用户 SRSD 系统。作为用户可以采用如下 3 种方式在 SAGE2 平台上运行应用程序: