计算机工程
Computer Engineering
1999年　第25卷　第9期　Vol.25 No.9  1999



WBTool：一个基于多层Client/Server结构的白板工具
徐保民　唐东升　石　磊
　　摘　要：通过对白板工具所提供功能的分析，提出一个多层结构模型，用于支持实时、异步和临时3种讲座方式；同时就该工具所采用的通信协议集、发言权控制以及动态组合语义光标技术等问题进行论述．
　　关键词：白板工具；控制机制；协同感；组合光标
WBTool: Whiteboard Tool Based on Multi-layer Client/Server Architecture
Xu Baomin
(CAd Lab. Institute of Computing Technology, Academi of Science of China Beijing 100080)
Tang Dongsheng
(Information Center of State Tax Bureau of Henan Province, Zhenzhou 450002)
Shi Lei
(Computer Department of Zhenzhou University, Zhenzhou 450052)
　　Abstract　The paper provides a multi-layer Client/Server architecture model by analzing functions supplied by WBTool. It can support real-time, asynchronous and temporary discussion modes, and communication proptocol sets, speaking control mechanism and dynamic integration semantics cursor are discussed also.
　　Key words　Whteboard tool; Control mechanism; Cooperative awareness; Dynamic integration semantics cursor 
　　随着计算机技术及网络技术的发展，计算机应用系统正从传统的支持个体工作的人机交互方式向支持群体工作的人机交互方式发展。特别自1984年MIT的Grief和DEC的Cashman正式提出CSCW(Computer Supported Cooperative Work)概念以来，CSCW技术得到了迅速发展。
　　目前，CSCW已广泛应用于CAD、远程医疗诊断、多媒体协同编著、电子会议等领域。其中白板工具是CSCW的一个重要研究领域，它通过向协作者提供一虚拟共享空间，支持处于异地的群体成员在各自的计算机屏幕上来观看同一内容以及对同一问题进行讨论，也是实现群体协同工作的主要方式之一。
　　以白板工具－WBTool的设计为背景，首先论述了WBTool的通信协议和实现模型，然后深入探讨了该工具所采用的发言权控制机制和动态组合光标技术。
1 系统功能和实现模型
　　尽管听与说是人们最常用的交流手段，但文字、图形也是十分重要的交流媒介，因作为支持群体协同工作的通用白板工具WBTool，除提供基本的文字、图形处理功能外，应具有以下功能特性：
　　.支持多输入流的同步、异步操作。
　　.支持多交谈室同时工作，对于同一交谈室的交流信息其它交谈室不可见。
　　针对上述特性，WBTool提供3种讨论方式：实时、异步方式和临时方式。用来真实地模拟现实世界中人们的讨论方式。用户可以根据实际情况，灵活地在这3种工作方式中进行选择，从而增强系统的实用性。
　　(1)工作方式
　　要求与会者在同一时间内对同一问题进行实时讨论，并保存讨论结果，当讨论结束后，用户可以随时查看讨论结果以及对整个讨论过程进行跟踪和分析。
　　(2)临时工作方式
　　与同步工作方式基本一致，不同之处在于它不对讨论过程及结果进行保存。当讨论结束后，用户无法查看讨论过程中的各种信息。
　　(3)异步工作方式
　　不要求用户同时工作，用户产生的信息也不是在用户间实时传输。当一个用户向服务器发出信息时，服务器会将这些信息存储到数据库中，以便其他用户请求这些信息时，服务器能够从数据库中读取信息并送给用户。
　　典型Client/Server结构并不能充分体现上述3种工作方式，因此，结合WBTool工具的特点，对典型的Client/Server体系结构进行改进，构造出一个更适合WBTool工具的，由服务器、消息转发器和EDBMS数据库管理系统等组成的多层Client/Server结构模型(见图1)。


图1 扩展Client/Server结构模型
　　在WBTool中，服务器负责用户登录、整个系统的管理以及用户交谈信息的存储等工作。消息转发器主要负责同步和临时讨论方式下，白板工具所产生的控制信息及数据的转发。对于每一个交谈室，系统均能动态构造一个相应的消息转发器为其服务。
　　由上可知，WBTool工具所采用的结构模型与典型的Client/Server结构不同之处在于它增加了一个消息转发器，其优点在于：当系统同时有多个组分别进行讨论时，消息转发器和服务器可以分担消息及数据的转发工作，这样可降低服务器负担，减少通信链路发生阻塞的次数，提高通信质量，从而有效地提高整个系统的健壮性。
2 关键技术
2.1 通信协议集
　　WBTool工具采用Java语言开发，由于该语言支持标准通信协议族TCP/IP，所以用户只需建立应用层协议集即可。依据白板工具的功能和实现模型，WBTool工具采用Client/Server的请求/应答和主动广播相结合的协议集模型。协议集中包括：登录、退出、控制信息传输及数据传输等协议。数据包格式的BNF描述为：
　　数据包：= 控制信息｜数据信息
　　控制信息：= 操作码｜信息发送者
　　数据信息：= 文本内容｜文本控制信息｜图形控制信息｜定位信息｜颜色信息
　　定位信息：= {坐标位置(X,Y)}
　　文本控制信息：=字体
　　图形控制信息：=宽度
　　由上可知，该协议集可扩充性强，用户可随时增加所需协议。
2.2 发言权控制机制
　　白板工具支持多人间的协同工作，因此冲突是不可避免的。当出现冲突时，为了使协同工作能够继续进行下去，系统必须提供显式或(和)隐式的解决冲突的机制。目前，WBTool工具所提供的发言权控制机制有：
·　　.自由竞争的民主式控制机制
　　各协作者的地位平等，对共享空间的操作控制由协作者自由争夺使用，谁获取控制权，谁就可以对共享空间进行操作。协作者凭借良好的愿望、常识和社会行为来避免冲突。
·　　.主席制的集中式控制机制
　　通过主席来维护整个讨论的正常发起、进行，直到结束。WBTool工具对主席采用动态法确定，即发起讨论的人由系统缺省为该讨论室的主席，在讨论过程中缺省主席可放弃其主席地位而重新指定某成员为主席，该讨论室的成员由主席指定。主席通过维护一张参加讨论人员状态表对讨论人员的状态进行管理，并通过一个优先权队列对讨论人员的发言权进行分配。
　　.无锁控制机制
　　每个参与者可自由访问共享空间，WBTool工具通过提供能充分体现社会规则与社会协议的界面规范着每个人对共享空间的使用。同时该工具通过提供一隐式的冲突检测和协调算法[1]来解决用户间出现的冲突。
2.3 动态组合语义光标技术
　　为了更好地进行协同工作，协作者需要知道同组内其他用户的存在、行为及状态，这种感知能力是CSCW系统区别于非协同系统的显著标志之一。
　　通过对目前CSCW系统通常采用的感知技术如多光标、远程指针优缺点的分析，并考虑到系统可利用图标资源的有限性和协作过程中人员的动态性，WBTool工具对一般的远程指针技术加以推广，提出了动态组合语义光标的概念。在WBTool工具中，动态组合语义光标由行为、识别、位置3部分感知信息组成。
　　(1)行为
　　由于WBTool工具提供基本图形绘制、文本输入及对象擦除等操作，为体现用户当前的操作行为，动态组合语义光标中提供操作行为域，并通过形状可变的光标技术加以表现，如手形光标表示用户进行擦除操作。
　　(2)识别
　　共享空间好比实际社会中的群体工作空间，既应显示行为结果，也应标明该行为的发出者。WBTool工具由颜色标示法和用户名构造的字符光标组成，其中颜色和用户名是一对一的关系．
　　(3)位置
　　当用户在本地进行鼠标操作时，鼠标位置不仅能显示在本地共享空间上,同时也能显示在其他协作者的共享空间上。该信息通过行为和识别域隐含实现。
总之，通过动态组合语义光标技术，WBTool工具为协作者提供了比较完美的WYSIWIS效果。
3 结束语
　　介绍了一个支持群体协同工作的白板工具-WBTool。它采用多层Client/Server结构模型，支持实时、异步和临时3种讨论方式。同时对该工具采用的通信协议集，发言权控制机制和动态组合语义光标技术进行论述。
　　该工具目前已经在Windows 95/NT环境下，用Java语言开发完毕，并在并行工程桌面电子会议系统中得到了成功的应用。
作者简介：徐保民(1966～)，男，博士生，研究方向：CSCW工程数据库
作者单位：徐保民　中科院计算机所开放研究实验室，北京　100080
　　　　　唐东升　河南省国家税务局信息中心，郑州　450002
　　　　　石　磊　郑州大学计算机系，郑州　450052
参考文献
1 Xu B,Shi H,Lin S.Some Issues in Implementation of a 解情况 Whiteboard Tool.Proceedings of the Third International Workshop on CSCW in Design,Japan,1998
2 徐保民,林守勋.CSCW中的并发控制技术.第八届全国数字系统设 计自动化暨协同设计研讨会,郑州,1998
3 徐保民,施航,郭玉钗.多用户界面与群体感知技术.第一次全国 CSCW学术会议,北京,1998
收稿日期：1999-03-02
