专利名称:基于Web服务的分布式人机交互系统的制作方法
技术领域:
本发明涉及的是一种网络信息传输技术领域的系统,具体是一种基于Web服务的 分布式人机交互系统。
背景技术:
人机交互是通过计算机输入、输出设备有效实现人与计算机对话的技术;这些输 入输出设备称为交互设备;交互设备的类型决定了交互形式。人机交互是人与信息世界沟 通的唯一途径,合理的交互形式能提供良好的用户体验。当前,计算机网络中存在各个层次 的计算机,从大型云计算服务器到微型嵌入式系统,它们的交互设备各不相同,交互形式和 交互能力也随之不同。对于交互能力差,交互形式不友好、不符合用户需求的计算机系统, 有必要利用用户周围网络中其他计算机系统的交互设备,提供跨交互设备、跨交互形式的、 满足用户需求的动态分布式人机交互。这里,跨交互设备,是指人机交互通过非本地的网络 设备实现;跨交互形式是指针对同一交互内容,交互形式随着交互设备的不同,是动态可变 的,如从文本输出到语音输出的变化。所述的动态分布式人机交互,是指计算机应用软件在 运行时,根据用户位置以及网络环境的变化,动态地将交互界面分布到网络的交互设备。经对现有技术文献的检索发现,Kris Luyten等(Kris Luyten,Jan Van Den Bergh, Chris Vandervelpen,Karin Coninx,智能环境下基于模型的分布式用户界面设计 与模拟,Computer&Graphics vol. 30,2006)曾将交互界面建模为交互任务树,软件运行时 由中央服务器Interface Distribution Daemon(IDD)把各个交互任务转换成能在相应终 端呈现的交互界面,并分派到网络终端进行呈现,从而实现动态分布式人机交互。然而,这 种方法需要中央服务器,所有终端设备需要在服务器注册登记,交互界面呈现之前均需要 经过服务器转化处理,因此,中央服务器成为系统瓶颈,该方法的可扩展性差,无法对开放 网络环境下的分布式人机交互提供良好的支持。
发明内容
本发明的目的在于克服现有技术的上述不足,提供一种基于Web服务的分布式人 机交互系统,能根据计算机用户位置的变化,以及网络中计算机交互设备的改变,动态地将 人机交互界面分发到网络中的计算机,利用网络计算机的交互设备,为用户提供符合需求 的人机交互形式。本发明是通过以下技术方案实现的,本发明包括位于客户计算机的人机交互代 理模块和位于网络计算机的人机交互服务提供模块、交互设备管理模块以及交互设备Web 服务模块,其中人机交互代理模块与人机交互服务提供模块相连并传输设备请求信息与 设备响应信息,人机交互服务提供模块与交互设备管理模块相连并传输交互设备Web服务 描述信息与交互设备状态信息,人机交互代理模块与交互设备Web服务模块相连并传输交 互呈现参数信息与交互输入的设备响应信息,交互设备Web服务模块与交互设备管理模块 相连并传输交互设备状态信息。
3
所述的人机交互代理模块包括交互请求接收子模块、交互请求管理子模块、设备 请求子模块、设备响应接收子模块、设备选择子模块、交互呈现子模块和交互输入响应接收 子模块,其中交互请求接收子模块与交互请求管理子模块相连并传输应用软件的人机交 互请求,交互请求管理子模块对人机交互请求进行分解并将交互单元传输给设备请求子模 块,设备请求子模块生成设备请求信息并通过网络分发给临近的计算机,设备响应接收子 模块负责接收来自网络计算机对设备请求的响应并传输给设备选择子模块,设备选择子模 块根据接收到的响应中选择一个交互设备,并向该交互设备发送确认消息,交互呈现子模 块与交互设备相连并调用该交互设备的Web服务实现交互单元的呈现,交互输入响应接收 子模块针对交互界面中的输入单元接收来自交互设备的输入响应并提交上层应用软件。所述的人机交互服务提供模块包括设备请求接收子模块、设备匹配子模块和设 备响应子模块,其中设备请求接收子模块接收客户机的设备请求信息并传输给设备匹配 子模块,设备匹配子模块根据设备请求信息在交互设备管理模块输出的交互设备Web服务 描述信息中查找符合需求的一个交互设备,设备响应子模块生成设备响应消息并将匹配的 交互设备Web服务描述信息发送给客户机。所述的交互设备管理模块包括交互设备Web服务描述信息管理子模块和交互设 备运行状态管理子模块,其中交互设备Web服务描述信息管理子模块负责对每个支持分 布式交互的人机交互设备对应的Web服务提供描述信息的管理,交互设备运行状态管理子 模块维护设备的当前状态并实现客户机对交互设备的互斥访问,所述的当前状态包括空 闲状态,锁定状态和使用状态,所述的互斥访问仅当当前设备为空闲状态时得以实现。所述的交互设备Web服务模块包含本计算机所有交互设备Web服务,每个Web服 务对应本计算机的一个交互设备供远程计算机通过网络访问。与现有技术相比,本发明以Web服务点对点的方式实现动态分布式人机交互,无 需中央服务器的支持,从而系统具有良好的可扩展性,对开放网络环境下的分布式人机交 互提供了良好的支持。
图1为本发明的系统组成示意图。
具体实施例方式下面结合附图对本发明的实施例作详细说明本实施例在以本发明技术方案为前 提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下 述的实施例。如图1所示,本实施例以HTML描述的Web页面作为人机交互界面,包括位于客户 计算机的人机交互代理模块1和位于网络计算机的人机交互服务提供模块2、交互设备管 理模块3和交互设备Web服务模块4,其中人机交互代理模块1与人机交互服务提供模块 2相连并传输设备请求信息与设备响应信息,人机交互服务提供模块2与交互设备管理模 块3相连并传输交互设备Web服务描述信息与交互设备状态信息,人机交互代理模块1与 交互设备Web服务模块4相连并传输交互呈现参数信息与交互输入的设备响应信息,交互 设备Web服务模块4与交互设备管理模块3相连并传输交互设备状态信息。
所述的人机交互代理模块1接收应用软件的人机交互请求,并利用网络中其他计 算机的交互设备,生成分布式的人机交互界面。该模块包括交互请求接收子模块5、交互 请求管理子模块6、设备请求子模块7、设备响应接收子模块8、设备选择子模块9、交互呈现 子模块10、交互输入响应接收子模块11,其中交互请求接收子模块5与交互请求管理子模 块6相连,传输应用软件的人机交互请求,本实施例中为HTML页面。交互请求管理子模块 6与设备请求子模块7相连,传输经过分解后形成的交互单元,即HTML页面中的交互元素。 设备请求子模块7与网络计算机的设备请求接收子模块12相连,负责通过网络分发交互元 素给临近的计算机。设备响应接收子模块8与网络计算机的设备响应子模块14相连,负责 接收来自网络计算机对设备请求的响应,并与设备选择子模块9相连,传输网络计算机的 响应。设备选择子模块9与交互呈现子模块10相连,传输选中的交互设备Web服务的描述 信息,并与网络计算机的设备响应子模块14相连,传输设备使用确认信息。交互呈现子模 块10与交互设备Web服务模块4相连,传输Web服务的调用参数信息。交互输入响应接收 子模块11与交互设备Web服务模块4相连,传输交互设备的输入信息。所述的人机交互服务提供模块接收来自客户机的设备请求信息,并据此为客户机 选择合适的交互设备。该模块包括设备请求接收子模块12、设备匹配子模块13和设备响 应子模块14,其中设备请求接收子模块12与客户机的设备请求子模块7相连,接收客户 机的设备请求信息,并与设备匹配子模块13相连,传输设备请求信息。设备匹配子模块13 与交互设备Web服务描述信息管理子模块15相连,传输交互设备Web服务的描述信息,并 与设备响应子模块相连,传输选定设备信息。设备响应子模块14与交互设备运行状态管理 子模块16相连,传输选定设备的状态信息,并与客户机的设备响应接收子模块8相连,传输 选定设备Web服务描述信息。所述的交互设备管理模块负责对交互设备Web服务描述信息以及设备运行状态 的管理。该模块包括交互设备Web服务描述信息管理子模块15和交互设备运行状态管理 子模块16,其中交互设备Web服务描述信息管理子模块15与设备匹配子模块13相连,传 输交互设备Web服务的描述信息。交互设备运行状态管理子模块16与设备响应子模块14 相连,传输设备的状态信息,与交互设备Web服务模块4相连,传输设备的状态信息,以维护 设备的当前状态,实现客户机对交互设备的互斥访问。所述的交互设备Web服务模块4包含本计算机所有交互设备Web服务,每个Web 服务对应本计算机的一个交互设备。本实施例的工作过程客户计算机中应用软件向交互请求接收子模块5提交HTML 页面,交互请求接收子模块5将页面发送给交互请求管理子模块6,交互请求管理子模块6 对页面进行分解,形成能在网络计算机的交互设备进行交互的多个HTML页面元素,设备请 求子模块7根据各个HTML页面元素,形成设备请求消息,发送给网络计算机。设备请求接 收子模块12在接收到设备请求消息后,向设备匹配子模块13提交请求,设备匹配子模块13 根据请求消息,从交互设备Web服务描述信息管理子模块中获取Web服务的描述信息,并进 行匹配,寻找符合请求的Web服务。本实施例中,交互设备Web服务描述采用基于本体的 WSDL-S描述语言,交互设备的选择通过交互设备请求与Web服务语义描述之间的语义匹配 实现。Web服务描述中包含对相应交互设备特征的描述。语义匹配通过本体概念间的相似 度判断,相似度依赖于本体概念的结构层次、继承关系以及概念的属性。在获得匹配的情况下,设备响应子模块14将匹配的交互设备Web服务描述信息通过网络发送给设备响应接收 子模块8,并通过交互设备运行状态管理子模块16设置该设备状态为锁定,使该设备不提 供给其它应用软件使用。设备选择子模块9在收到多个网络计算机设备响应的情况下,选 择最符合交互请求的设备,并通过网络发送交互设备使用确认消息。设备响应子模块14在 接收到交互设备使用确认消息后,如果设备使用确认消息表明客户计算机中的应用软件将 不使用该网络计算机的交互设备,则设备响应子模块14将通过子模块16的状态设置,解锁 相应的交互设备。交互呈现子模块在获得最后选定的交互设备Web服务描述信息后,通过 该信息,调用远程Web服务,实现交互元素的呈现。对于交互输入,交互设备Web服务模块 4在完成用户输入后,通过交互输入响应接收子模块11,向客户机返回输入结果。
权利要求
一种基于Web服务的分布式人机交互系统,包括位于客户计算机的人机交互代理模块和位于网络计算机的人机交互服务提供模块、交互设备管理模块以及交互设备Web服务模块,其中人机交互代理模块与人机交互服务提供模块相连并传输设备请求信息与设备响应信息,人机交互服务提供模块与交互设备管理模块相连并传输交互设备Web服务描述信息与交互设备状态信息,人机交互代理模块与交互设备Web服务模块相连并传输交互呈现参数信息与交互输入的设备响应信息,交互设备Web服务模块与交互设备管理模块相连并传输交互设备状态信息。
2.根据权利要求1所述的基于Web服务的分布式人机交互系统,其特征是,所述的人机 交互代理模块包括交互请求接收子模块、交互请求管理子模块、设备请求子模块、设备响 应接收子模块、设备选择子模块、交互呈现子模块和交互输入响应接收子模块,其中交互 请求接收子模块与交互请求管理子模块相连并传输应用软件的人机交互请求,交互请求管 理子模块对人机交互请求进行分解并将交互单元传输给设备请求子模块,设备请求子模块 生成设备请求信息并通过网络分发给临近的计算机,设备响应接收子模块负责接收来自网 络计算机对设备请求的响应并传输给设备选择子模块,设备选择子模块根据接收到的响应 中选择一个交互设备,并向该交互设备发送确认消息,交互呈现子模块与交互设备相连并 调用该交互设备的Web服务实现交互单元的呈现,交互输入响应接收子模块针对交互界面 中的输入单元接收来自交互设备的输入响应并提交上层应用软件。
3.根据权利要求1所述的基于Web服务的分布式人机交互系统,其特征是,所述的人机 交互服务提供模块包括设备请求接收子模块、设备匹配子模块和设备响应子模块,其中 设备请求接收子模块接收客户机的设备请求信息并传输给设备匹配子模块,设备匹配子模 块根据设备请求信息在交互设备管理模块输出的交互设备Web服务描述信息中查找符合 需求的一个交互设备,设备响应子模块生成设备响应消息并将匹配的交互设备Web服务描 述信息发送给客户机。
4.根据权利要求1或3所述的基于Web服务的分布式人机交互系统,其特征是,所述的 交互设备管理模块包括交互设备Web服务描述信息管理子模块和交互设备运行状态管理 子模块,其中交互设备Web服务描述信息管理子模块负责对每个支持分布式交互的人机 交互设备对应的Web服务提供描述信息的管理,交互设备运行状态管理子模块维护设备的 当前状态并实现客户机对交互设备的互斥访问,所述的当前状态包括空闲状态,锁定状态 和使用状态,所述的互斥访问仅当当前设备为空闲状态时得以实现。
5.根据权利要求1所述的基于Web服务的分布式人机交互系统,其特征是,所述的交互 设备Web服务模块包含本计算机所有交互设备Web服务,每个Web服务对应本计算机的一 个交互设备供远程计算机通过网络访问。
全文摘要
一种网络信息传输技术领域的基于Web服务的分布式人机交互系统,包括人机交互代理模块、人机交互服务提供模块、交互设备管理模块以及交互设备Web服务模块,人机交互代理模块与人机交互服务提供模块相连并传输设备请求信息与设备响应信息,人机交互服务提供模块与交互设备管理模块相连并传输交互设备Web服务描述信息与交互设备状态信息,人机交互代理模块与交互设备Web服务模块相连并传输交互呈现参数信息与交互输入的设备响应信息,交互设备Web服务模块与交互设备管理模块相连并传输交互设备状态信息。本发明动态地将人机交互界面分发到网络中的计算机,利用网络计算机的交互设备,为用户提供符合需求的人机交互形式。
文档编号G06F3/048GK101951413SQ201010510578
公开日2011年1月19日 申请日期2010年10月19日 优先权日2010年10月19日
发明者唐飞龙, 张东擎, 沈耀, 盛文辉, 过敏意 申请人:上海交通大学