尽管电子白板是一种很好的信息共享工具,但在使用过程中,各个用户之间需要交互,信息共享由人的行为驱动,它们是无序的,也是不可预测的。从已有的电子白板模型看,它们都没有很好地解决信息共享的一致性和主动性问题。另外,对异步工作方式的支持不够,灵活性需要进一步提高,而且我们还希望电子白板系统能够采用一种比较规范化和灵活的通信语言,使得用户能更好地进行交流与沟通。
借助于Agent技术的优越性,在远程网络学习环境中,我们提出了一个基于Agent的电子白板模型,如图9-2所示。该模型由用户Agent、管理Agent和消息路由Agent组成。
图9-2 基于Agent电子白板模型
9.3.1 各Agent的功能说明
(1)服务Agent:负责整个系统的管理工作,包括用户登录/退出管理、安全管理等;处理用户会话,维持多个交谈室的并发工作;与数据库相连进行交谈数据的存储和检验。其服务过程为:服务Agent主事务接收到KQML消息,根据消息分析得到的语义动作类型及有关参数,执行相应的事务(包括用户等级、创建新交谈室、用户绘图操作数据和交谈文字数据传送等);确定需发送的信息。使用KQML消息生产函数封装为KQML消息之后发送出去。
(2)用户Agent:提供一个人机交互的界面,来输入用户的请求,并将接收到的消息反馈给用户。其中,用户的身份有三种:教师、学生和访客。系统会根据用户登录的身份不同,而赋予用户不同权限。教师的权力最大,不仅在通常情况下拥有发言权,而且有控制学生发言的权力,访客一般不能发言,但可以留下意见。用户Agent核心事务完成与用户交流、管理用户界面和与消息路由Agent、服务路由Agent通信的任务。用户Agent经由消息路由Agent向服务路由Agent发送登记消息,系统开始交互过程;用户在白板中绘图操作产生的图形数据或者输入的交谈文字经过相应事务过程处理,封装为KQML消息发送出去;同时,接收消息路由Agent转发的消息,根据消息中的语义动作及有关参数调用相应事务过程处理。
(3)管理Agent:负责整个系统的管理工作,包括处理用户消息、维持共享区域的并发工作、与数据库相连以及数据的存储和检索等。具体包括更新管理、Cache管理和任务协同管理三个功能模块。各模块的具体功能如下:
①更新管理负责接收用户的任何更新消息,并且根据接收到的消息包中的消息调用相应的处理方法对所有用户的电子白板系统进行更新。
②Cache管理实现消息的一个缓存功能,当消息路由模块无法连接所转发消息的客户时,Cache管理就将这些消息缓存到数据库中等待再发,这样既支持了异步的工作方式,也有利于系统异常中断工作后的恢复。
③任务协同管理。电子白板是一种共享工具,它允许多个用户对其进行操作,因而对系统的响应性要求很高,在网络条件的限制下,电子白板系统为提高系统的响应时间,一般将共享对象复制到各用户本地端,各用户对共享对象的操作以消息的形式通知其他用户,其他用户在接收到消息后在本地执行相应操作,从而保持各用户端共享对象的一致性和达到用户间相互感应的目的。在各用户端维护共享对象虽然避免了传输共享对象带来的网络拥塞和响应时延,但如果没有任何的并发控制机制,所有操作按照它们的到来顺序执行,往往会造成各个用户端上的共享对象的不一致,影响协同工作的正常进行。为此,通过任务协同管理模块实现并发控制功能,保持白板系统中共享空间的一致性。
(4)消息路由Agent:在传统的白板模型中,客户端直接和服务器端进行通信,但随着网络上客户规模的增大,这种传统的直接通信就给服务器造成很大的资源开销,从而有可能造成网络瓶颈,降低通信的效率。在该模型中,为了克服上述问题,引入了一个专门的消息路由Agent,用户Agent和管理Agent之间的通信都由消息路由Agent进行转发。消息路由Agent由两个功能模块组成:注册管理模块和消息路由管理模块。消息路由Agent主要提供三方面功能:一是ANS(Agent Name Service)服务,系统中各Agent均要在Agent中注册,建立Agent注册表,记录各Agent的实际网络地址,实现动态维持Agent与网络地址的联系,避免了由于网络地址经常变动而引起的程序麻烦;二是路由转发功能,分析KQML消息中的有关路由转发,依据注册表进行各种消息(包括控制消息和交换数据)的路由转发,完成网络寻址任务;三是消息的缓存功能,当消息路由Agent无法连接所转发消息的接收Agent时,将这些消息缓存(存放需要异步转发的KQML消息)到数据库中等待再发,这样既支持异步的工作方式,也有利于系统异常中断工作后的恢复。
①注册管理。登录到系统中的各个Agent都要通过注册管理模块进行登记注册,建立Agent注册表,实现动态维护Agent与网络地址的联系,避免由于网络地址经常变动而引起的程序修改麻烦。
②消息路由管理。实现路由转发功能,分析消息中的有关路由信息,依据注册表里的各种信息进行各种消息的路由转发,完成网络寻址任务。
9.3.2 Agent之间的通信
在多Agent系统中,各Agent能够协同工作的基础是Agent之间具备有效可靠的通信协议。Agent通信语言(ACL)将Agent通信建立在知识级别(Knowledge Level)上,从而使Agent间的通信效率大大高于传统的分布式计算中的通信。目前主要有两种ACL:一种是ARPA的KSE(Knowledge Sharing Effort)联盟提出的KQML语言;另一种是欧洲的FIPA协会提出的语言标准,即FIPA_ACL。在该模型中我们采用的是现在使用最广泛的KQML语言。
知识查询与操纵语言KQML(Knowledge Query and Manipulation Language)是一种用于信息和知识交换的语言和协议,既是一种Agent之间的消息的表示格式,也是一种消息处理协议,支持Agent之间的运行时共享。KQML的核心为一组可扩展的行为原语(Performative),定义了可作用于Agent彼此的知识库和目标库各种许可的操作。KQML可作为应用程序与智能系统之间或智能系统相互之间进行交流的一种语言,以知识共享为基础,支持协同问题处理。
多Agent系统中各Agent能够协同工作的基础是Agent之间具备有效可靠的通信协议。由ARPA在其KSE计划中为解决大规模知识库共享和再利用而提出的KQML语言是一种选项,KQML是描述性语言,定义了Agent通信的消息格式和消息处理协议,通过提供一套标准的通信语言使得Agent间可以交流和共享知识。KQML语言采取了“协议线”思想,它携带的消息内容可以使用实现Agent的(编程)语言表达,即意味着KQML可以携带任何语言表示的信息。
KQML消息可以用ASCII字符串表示,其语法基于数据结构“表”的形式,即由一对圆括号括起的元素列表,表中首元为语义动作(performative),其后为以关键词/值对形式出现的成对语义动作参数。KQML具体语法和语义可参见KQML定义文档,其中提供了一套定义好的、具有明确语义的保留语义动作集,可供人们应用时选择使用;而且KQML语义动作集是可扩充的,允许人们按照KQML的规则定义新的语义动作及其意义和用途。
电子白板系统的实质是典型的数据通信,要求有可靠的传输机制和通信模型,需要为系统定义通信协议集,Internet的标准通信协议是TCP/IP协议族,可在其基础上建立电子白板的应用层协议集,协议集的模型采取请求/应答模式与KQML通信模式相结合的方式,采用符合KQML规范的消息格式。可将协议集分为两大类:数据传输协议和信息控制协议。数据传输协议包括文字传输和图形传输,主要用于传输用户输入的文字和绘图数据。文字传输协议的KQML消息中只需在“content”值域中封装用户在界面上输入的文本即可,图形传输协议的KQML消息中则需在“content”值域中包含图形类别以及图形的关键点坐标数组值。信息控制协议主要处理控制、管理任务,包括用户登录、用户退出、暂停/恢复交谈、刷新白板视图或成员列表、Agent注册等。主要通过消息中的Performative值确定控制信息类型,实现时,可利用KQML的保留语义动作。例如用KQML保留语义动作“tell”定义文字传输消息,如图9-3(a)所示,它表示用户Teacher输入了“Hello,everyone!”字符串,由系统转发给同一交谈室的其他成员。也可根据需要自行定义新的语义动作,如图9-3(b)所示,它表示用户Student1向服务器Agent发出登录请求,用户密码为“student1”。由于KQML语言具有可扩充性、内容表达语言无关性等特征,实现较为方便,由此所制定的协议集具有较好的可扩充性,可满足系统的需要。
图9-3 KQML消息应用例
Agent用户首次参加白板系统时,需要向消息路由Agent发送注册消息(Register),消息路由Agent取出消息中的Agent名字、密码、IP地址等有关数据,建立ANS数据表。已注册Agent以后使用白板时无须再注册,只需发送登录消息(Login),经过消息路由Agent和服务Agent验证后,建立起通信链路即可参加白板系统工作。
9.3.3 基于Agent的电子白板系统(WBAgent)的模型
考虑到网上教学系统的分布特性和开放性,采用方便维护升级的基于Web的Browser/Server(浏览器/服务器)模式。基于该结构的系统,用户可以通过浏览器向分布在网络上的许多服务器发出请求,极大地简化了客户机的工作。客户机上只需安装、配置少量的客户端软件即可,服务器将担负更多的工作,尤其是对数据库的访问和应用程序的执行将在服务器上完成。
客户登录端采用IE标准浏览器,服务器端采用Windows2000 IIS 5.0Web服务器,后台数据库采用SQL Server2000管理各种数据表格。基于Agent的电子白板系统(WBAgent)的模型见图9-4。
图9-4 基于Agent电子白板系统的结构模型
9.3.4 Agent技术对移动白板的影响
移动终端设备与PC机相比有许多不足之处:CPU处理能力不强、内存容量小、网络带宽窄、显示屏幕小等等。Agent技术与移动计算环境结合的天然优势,使得Agent成为MWBS(Mobile WhiteBoard System)中首选的技术。Agent技术应用在MWBS中,具有以下优势:
(1)降低网络延迟:Agent技术允许将相关的交互操作打包并作为一个个离散的网络交易段发送出去,从而减少网络交互次数,降低网络延迟并提高网络利用率。
(2)降低网络负载:以往在传统查询协议中所有的相关数据都要通过网络传递,但实际上关心的结果集往往只是该数据的一个很小的子集,这种大量中间数据、极少结果数据的模式加重了网络负载。Agent技术能有效去除大量无关的中间数据,只保留必需的和结果集紧密相关的数据,从而解决这一问题。
(3)可伸缩性:Agent技术所独有的可伸缩性,能够根据网络情况和应用需要改变自身的能力,以适应多变、脆弱的移动网络环境。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。