协同人机交互机制的研究与设计

2014-12-23 01:29刘要华朱珍民
计算机工程与设计 2014年2期
关键词:控件指令消息

刘要华,朱珍民,叶 剑

(1.湘潭大学 信息工程学院,湖南 湘潭411105;2.中国科学院 计算技术研究所,北京100190)

0 引 言

随着全球经济的快速发展与Internet的普及,移动电子产品空前流行,信息资源和计算资源共享变得越来越普遍。用户的需求呈现多元化,从多人一机的大型机时代到一人一机的微机时代,再到如今一人多机的移动互联网时代,单纯的人机两元端交互模式逐渐转变成人机物三元端交互;传统的 “一人一屏”不能满足用户的需要,从而催生了 “一人多屏,多屏互动[1]”的产生。

在多设备环境下,传统的人机交互方式给用户带来了诸多不便;多屏互动技术为解决这种问题而产生,它能够在不同平台设备上同时共享内容,比如电视上的电影在手机上播放,电脑或平板上的图片在电视上显示。

本文介绍了云设备环境下,移动智能设备和智能电视之间自主互连互通;使用消息控制机制,实现了人机物三元交互过程中界面的更新与切换,消息的转发与显示、指令的解析与执行等的同步,完成了多媒体资源的智能分享。实验结果表明,人机交互过程中,界面的平滑切换、指令及数据的即时传输在3s以内,验证了新型协同人机交互方法的可行性。

1 相关工作

要满足用户通过独立的人机交互接口操作多台设备,需要硬件设备、网络及设备互连技术等的支持。现在最新的家用电器都支持universal plug and play(UPnP)[4],文献[5,6]介绍了UPnP在家庭网络中的应用及在软件开发技术中使用UPnP 的细节。有了硬件设备的支持,通过digital living network alliance(DLNA)[7]技术可 以 使 多 设 备 彼此进行相互连通。经UPnP/DLNA 认证的媒体服务器[8,9]通过带宽或WIFI[10]网络连接,在不同的终端设备之间进行数据的传输、解析、展示、控制等一系列操作;为用户分享多媒体资源提供简单、便捷的途径。

目前的研究是在设备集成环境下,设计一种方法或机制来实现人与多设备之间的互动,即协同人机交互机制。文献 [2,3]都介绍了通过智能手机来连接公共的显示设备,并通过多屏互动技术来与这些设备进行交互,如查询设备信息,获取设备服务,控制设备界面显示等。本文介绍了互动过程中新增的消息控制与超时检测等机制,改进了同步实现,增强了用户体验。

2 协同人机交互系统原理

该系统通过广域网将各个云设备子系统进行联通,云设备子系统由移动智能设备与智能电视构成,移动智能设备包括苹果平板电脑、安卓平板电脑、苹果手机、安卓智能手机及其它各种智能手机。移动智能设备与智能电视使用DLNA 与UPnP等技术通过WIFI相互连接。

2.1 系统架构

协同人机交互系统由广域网与多个云设备子系统构成,如图1所示。云设备子系统由多个移动智能设备及智能电视组成,云设备子系统之间的交互主要包括设备互联互发现与消息控制两大模块。设备互联互发现用于智能设备之间独立发现、自主互连,为消息控制提供环境基础;消息控制用于数据转发及指令控制,它是云设备间数据共享,UI同步等控制机制的实现。

图1 系统架构

设备互联互发现模块运行于移动智能设备与智能电视上,移动智能设备自主搜索、发现网络中的智能电视,让用户自行选择连接;智能电视监听到其它设备的握手请求后,对该设备进行确认,并记录该设备的详细信息,如设备ID、IP地址、端口等;经过前面几次握手,移动智能设备与智能电视能够相互通信。

2.2 设备自主互联技术

设备自主互联是指各个云设备子系统中移动智能设备与智能电视之间能够发现对方并自主实现彼此的相互连通,这种互连互通的技术是在UPnP 基础上通过DLNA 实现。UPnP即通用即插即用,构建于IP,TCP,UDP,HTTP和XML 等许多协议之上;它由 “通用即插即用论坛”(UPnPTMForum)推广的一套网络协议。其目标是使家庭网络 (数据共享、通信和娱乐)和公司网络中的各种智能设备通过简单操作实现局域网、广播网中各设备之间的互连。UPnP在控制点和被控制设备之间提供通讯与控制的功能;而其它网络介质、TCP/IP协议、HTTP仅提供基本的连接和IP地址分配。UPnP在工作过程中需要处理6方面的内容,即设备寻址、发现设备、对设备的描述、设备控制、设备事件以及设备表达。DLNA 是一种解决方案,它选择的各种技术和协议都是现在应用非常广泛成熟的技术和协议;其整个应用规定成5个功能组件,从下到上依次为网络互连、网络协议、媒体传输、设备的发现控制和管理以及媒体格式。

2.3 协同交互原理

协同交互是在人机交互的基础上增加了设备间互联互通与消息同步的机制,从而实现了云设备数据传输、指令执行、UI切换的同步。在云设备环境中,移动智能设备与智能电视接入同一局域网,设置IP地址为同一网段;设备之间通过互联互发现模块自主发现其它设备,并进行连接;智能电视连接到广域网,两台智能电视之间进行拨号连接。移动智能设备发送消息给智能电视,消息包括数据消息与指令消息;智能电视接收并智能转发消息给消息接收者。通过指令消息的发送与返回,移动智能设备与智能电视能够保持界面的即时更新与平滑切换、数据的转发与解析、指令的执行等同步。

3 协同人机交互系统设计与实现

协同人机交互系统需要解决云设备间的连通,交互过程中界面的更新与切换、消息的转发与显示、指令的解析与执行等的同步,及各种异常情况下程序的稳定性、健壮性等问题。

3.1 设备互发现机制

云设备子系统中移动智能设备与智能电视彼此能够发现对方并自主实现相互连通,智能电视作为受控设备,提供UPnP服务及通信服务;移动智能设备作为控制点,负责发现智能电视及其提供的服务,并主动与智能电视进行握手连接。设备互发现过程如图2所示。

智能电视首先开启UPnP 服务,通过简单服务发现协议 (simple service discovery protocol,SSDP)向局域网单播或组播设备与服务;然后开启通信服务,用于监听移动智能设备发送消息及握手连接。移动智能设备通过设备发现模块搜索可用的智能电视,获取并记录设备服务信息中设备ID、IP地址、端口;通过得到的IP地址、端口与智能电视进行握手连接;智能电视监听到握手连接后,对对方的身份等信息进行验证,验证通过后并记录设备ID、IP地址、端口等信息;在双方已经记录对方ID、IP地址、端口等信息然后,断开握手连接;移动智能设备进入可交互状态。

3.2 协同人机交互机制

图2 设备互发现过程

协同人机交互系统在一次视频会话过程涉及本地移动智能设备、本地智能电视、远程智能电视和远程移动智能设备等设备之间的多屏互动。多屏互动在视频会话建立后进行,通过发送任务消息的方式进行动态控制,这里的消息包括数据消息与指令消息。数据消息包括文件ID、设备ID、文件名字、数据及长度、发送者、接收者、发送时间等,指令消息包括设备ID、发送者、指令名字、发送时间、是否执行等。指令消息重用了数据消息的格式,没有文件数据项及其它可选项,这样减少了消息整体的数据长度,降低网络带宽负荷,提高消息的传输速度,从而加快指令的执行效率及设备UI更新、切换的效率,增强了用户体验。

在多屏互动过程中,消息的控制包括消息转发、消息返回与消息超时检测,如图3所示。消息转发包括智能传输与点对点传输,智能传输是移动智能设备与智能电视之间自主发现对方、智能分辨接收对象,并转发消息给接收者;点对点传输是拨号连接的各个智能电视之间转发消息。

这种“共享坟墓”的理念,在我国台湾地区也出现了兆头。2011年初,50多岁的台湾牙医李伟文发起了一个“夏瓣生”(即“下半生”谐音)俱乐部,其成员多为50岁上下的“准老人”,12个没有任何血缘关系的不同家庭共同集资,在台南市选了一块地,自建一栋老人公寓,取名为“蜗居”。在有生之年,他们相约居住在一起,尽情享受愉悦生活,一同交流、学习、旅游。生前,一起结伴老去,死后,还要一起埋葬。他们的宣言是:“未来选择树葬,将骨灰回归于大自然。”

消息转发时,在智能传输阶段,本地移动智能设备准备消息内容,设置屏幕控件状态,然后将消息发送给智能电视。智能电视对接收到的消息进行转发送给智能电视。智能电视对接收到的消息进行解析与验证,判断消息的发送者与接收者,消息数据不完整或指令不合法,则向消息发送者返回 “接收失败”的消息;否则,执行消息指令,设置并更新屏幕控件状态,最后智能转发消息。移动智能设备接收到消息后,恢复屏幕控件状态;判断消息内容,如果是 “接收失败”的消息,则重新发送相关的消息。在点对点传输阶段,智能电视通过拨号连接将接收到的消息转发给远程智能电视,远程智能电视对消息进行解析、验证,然后智能转发消息。

用户与多设备进行交互时,设备间同步至关重要。客户端执行消息发送操作以后,客户端程序设置屏幕控件状态,收回用户控制权,并等待返回消息;如果没有收到返回消息,客户端程序没有释放控制权,用户不能进行后续操作,所以消息返回是设备同步的关键。

图3 消息控制流程

消息返回过程中,移动智能设备或智能电视接收到返回消息后,对消息进行解析与验证,然后分析消息内容,若消息内容显示上一则消息发送成功,则更新屏幕显示及控件状态,释放控制权限;如果是上一则消息发送失败,则恢复屏幕显示及控件状态,释放控制权限。

因为网络或其它原因,移动智能设备或智能电视无法接收到返回消息,如果没有其它机制对此进行控制,程序就无法继续正常运行。因此,在客户端程序中设计了消息超时检测机制,当程序执行发送消息操作后启动超时检测,经过一定时间后,如果没有接收到特定消息的返回信息,超时机制会恢复屏幕控件状态,释放控制权给用户,通知用户上一次消息发送失败,恢复系统运行状态。用户可以选择重新发送消息,也可以继续其它操作。

用户如果使用多个移动智能设备对智能电视进行控制或发送数据到智能电视,可按照以下步骤进行操作:退出正在与智能电视进行交互的客户端程序或断开客户端的WIFI信号;当智能电视检测到移动智能设备断开后,重设连接状态为 “空闲”,此时其它移动智能设备能够对智能电视进行握手连接,包括刚才退出的设备。

3.3 终端交互流程

用户使用移动智能终端时交互流程如图4所示。

首先启动终端程序进入登录界面,程序自动搜索所有可用的智能电视,并在客户端界面中显示智能电视连接信息。用户从显示列表中选择相应的并且状态标志为 “空闲”的智能电视进行连接,连接成功后进入控制界面;用户可以从控制界面发送消息;执行消息发送操作后,客户端程序设置屏幕控件状态,等待返回消息。如果返回消息是“接收失败”,则重发上一次发送失败的消息;若返回消息是 “接收成功”或当客户端检测到消息发送超时后,恢复屏幕控件状态并返回到控制界面。用户可以退出控制界面返回到登录界面,返回到登录界面后,用户可以重新选择智能电视进行连接,这样可以解决用户无法使用多个移动智能设备与智能电视进行连接的问题。用户返回到登录界面后才能退出程序。

图4 移动智能终端交互流程

4 性能验证与评测

为了验证系统在网络中文件传输效率,选取规定范围内100k到2000k不等大小的20 组文件进行测试。测试环境中各设备详细配置信息见表1。

本地智能电视与远程智能电视进行拨号连接,本地安卓智能手机连接上本地智能电视,远程苹果手机连接上远程智能电视。本地安卓智能手机发送文件到远程苹果手机,文件传输依次经过本地智能电视、远程智能电视。记录本地安卓智能手机开始发送文件的时间、本地智能电视接收到文件的时间、远程苹果手机接收到文件的时间,以上时间均精确到1毫秒。分别计算出本地安卓智能手机传输文件到本地智能电视、远程苹果手机耗费的时间,得到文件传输效率统计信息如图5所示。

表1 测试环境中各设备配置信息

图5 文件传输效率统计

经过分析与计算,本地智能电视与远程移动智能设备接收不同大小的文件所花费的时间近似于以下计算式

式中:a——常量,x——文件大小,Δt——网络波动花费的时间。远程移动智能设备接收文件时,式中a 为本地移动智能设备到本地智能电视时间、本地智能电视到远程智能电视时间与远程智能电视到远程移动智能设备时间三者之和,由于a的影响比较大,耗费时间T 基本上与文件大小成正比例,网络波动对文件传输的影响较小。本地智能电视接收文件时,计算式中a 仅为本地移动智能设备到本地智能电视的时间,a 的影响较小,网络波动Δt对文件传输的影响较大,耗费时间T 与文件大小存在一定的关系,且随机性比较明显,但花费的时间不超过3s。

5 结束语

本文基于机物协同及设备互联互发现技术,提出了一种新型协同人机交互方法,实现了多媒体资源的共享及设备的控制。解决了人机物三元交互过程中界面的更新与切换,消息的转发与显示、指令的解析与执行等的同步。实验结果表明,同步所需时间符合系统要求,效果令人满意。在广域网中数据传输延迟增加,这可以通过改进编码等方法进行改善。

[1]Lee J Y.Dual interactions between multi-display and smartphone for collaborative design and sharing [C]//IEEE Virtual Reality Conf IEEE,2011:221-222.

[2]Boring S,Altendorfer M,Broll G,et al.Shoot & copy:Phonecam-based information transfer from public displays onto mobile phones[C]//Proceedings of the 4th International Conference on Mobile Technology,Applications and Systems and the 1st International Symposium on Computer Human Interaction in Mobile Technology.ACM,2007:24-31.

[3]Clinch S.Smartphones and pervasive public displays [J].IEEE Pervasive Computing,2013,12 (1):92-95.

[4]UPnP forum [EB/OL].[2013-06-01].http://www.upnp.org/.

[5]Li Chung-Sheng,Huang Yueh-Min,Han-Chieh Chao.UPnP IPv4/IPv6bridge for home networking environment[J].IEEE Transactions on Consumer Electronics,2008,4 (4):1651-1644.

[6]Alvaro Reina Nieves,Natividad Martinez Madrid,Ralf Seepold.A UPnP service to control and manage IEEE 1451transducers in control networks[J].IEEE Transactions on Instrumentation and Measurement,2012,61 (3):791-800.

[7]Digital living network alliance(DLNA)[EB/OL].[2013-06-01].http://www.dlna.org/.

[8]Twonkyvision GmbH.Twonkyvision media server[EB/OL].[2013-06-01].http://www.twonkyvision.de/.

[9]Microsoft.Windows media connect[EB/OL].[2013-06-01].http://www.microsoft.com/windows/windowsmedia/devices/wmconnect/default.aspx.

[10]World wide web consortium(W3C) [EB/OL]. [2013-06-01].http://www.w3c.org/.

猜你喜欢
控件指令消息
一张图看5G消息
ARINC661显控指令快速验证方法
关于.net控件数组的探讨
杀毒软件中指令虚拟机的脆弱性分析
中断与跳转操作对指令串的影响
消息
消息
消息
ASP.NET服务器端验证控件的使用
一种基于滑窗的余度指令判别算法