随着云计算和移动计算的发展,以智能手机为代表的智能移动终端不再是简单的通信工具,还有丰富的应用形态,可以方便地访问云服务。借助软件应用,用户可以方便地访问各种在线服务以及计算、存储资源。除了满足线上的部分需求外,还可以满足线下的部分需求。以读者借阅图书为例。读者先通过图书馆提供的在线服务预借图书,再从图书馆的线下服务窗口获取所借图书。此外,用户在遇到计算或存储资源不足、缺少特定软件应用或相关信息时,也需要其他用户通过资源和信息分享来提供支持。在当前的软件应用模式下,用户往往通过微信等在线社交应用或短信、电话等传统通信手段联系和请求协助,或人工完成相关任务。
以云平台与智能移动终端的深度融合和资源汇聚为主要特征的云-端融合计算技术及平台,促进了人机物三方面的深度融合。另一方面,共享经济的思想已被广泛接受,通过移动社交网络,广泛连接的用户可以利用其位置、资源和能力优势,提供个性化的服务和协助。这些都使得个人资源的开放与融合成为可能,即以智能移动终端为载体,通过丰富的人机交互和协作机制,实现用户之间的资源分享和互助,并与各种软件服务和资源实现有机融合,以满足用户高层需求。通过云-端融合环境下的个人资源开放和融合,可以更好地促进线上与线下任务的集成,实现各种商业与公共服务的无缝衔接,解决服务资源供应的“最后一公里”难题。
个人资源开放融合模式
个人资源开放和融合存在多种模式,其核心在于通过人机交互和社会化协作,实现个人资源分享、线上与线下要素的深度融合,从而更好地满足用户高层需求。其中,云-端融合环境下的个人资源开放主要有以下几种形式:
1. 基于移动设备的用户设备及软件应用资源开放共享,利用移动设备的计算和存储能力、传感器、软件应用、所处的位置优势提供个人资源共享服务。
2. 基于移动社交网络的直接任务委托,选择处于特定位置或具有特定知识、技能的用户完成信息查询、线上或线下事务办理等任务,或提供专业化的服务。
3. 通过面向不确定人群的众包(crowdsourcing)式任务协作,实现用户智力及人力资源的开放共享,包括参与式(participatory)或机遇式(opportunistic)的众包任务,以及基于位置或与位置无关的众包任务。
为了实现用户需求,各种个人资源需要以多种不同的方式与云服务、移动应用以及用户自身的行为相互融合。主要的融合模式包括以下几种:
动态迁移(dynamic migration) 用户移动设备将应用软件中的一些计算或操作任务动态迁移到其他用户的移动设备上,利用其他用户设备的计算、存储、传感、显示、网络连接、应用软件或位置等方面的优势帮助自身实现某些需求。在此基础上,多个用户还可以利用移动设备组成一个临时的协作网络,通过软件应用模块的合理分布,更好地实现用户的个人或群体需求。
服务组合(service composition) 将基于移动设备、专业能力、众包任务以及线下行为等的个人资源,封装为方便调用的在线服务,通过服务组合的方式实现与云服务、软件应用服务的无缝集成。
面向目标的任务委托(goal-oriented task delegation) 基于目标分解将用户高层需求分解为可直接执行的任务,通过基于社交网络的任务委托,实现任务的分配和执行结果获取。
动态迁移
云-端融合环境下的动态迁移的一个常见模式,是通过计算卸载(computation offloading)将移动设备上的计算任务动态迁移到云平台,从而节省移动设备的能耗、提高移动应用的性能。关于计算卸载的相关工作及技术介绍可以参见本期专题中的其他几篇文章。
面向个人资源开放融合的动态迁移主要关注不同用户(往往在具备信任关系的社交网络中)移动设备之间计算任务迁移。其目标除了能耗和性能优化外,还特别关注不同用户移动设备所具有的硬件(如屏幕)、传感器、软件应用或所处的位置优势。
除了后台计算任务外,移动应用的用户界面也可以动态迁移到其他用户设备上,从而利用其他用户的知识和技能实现交互式协作。CollaDroid[1]是一种面向安卓应用的轻量级、交互式用户界面迁移协作方法。CollaDroid可以通过程序分析和行为增强自动将一个安卓应用(APK文件)转换为一个具有交互式协作能力的新应用版本。如图1所示,请求方在应用界面(图1(a))上发起协作请求并得到响应后,协作方设备上将生成一个模拟界面(Mock UI) (图1(b)),双方通过用户界面内容以及事件的同步来实现交互式协作。
移动众包
众包服务是指以开放征集的方式,面向非特定人群发出任务邀请,获得信息咨询、事务办理等服务。众包作为一种利用群体智慧的有效手段,已经得到了广泛关注和应用。除了基于众包的特定应用外,各种通用众包平台也应运而生。Amazon Mechanical Turk(AMT)[2]是亚马逊公司推出的基于Web的在线众包平台。基于该平台,人们可以临时雇用其他人来完成一些短期、独立的工作,如翻译一段文字、进行人工图片标注等。在数据库管理领域,众包被用于回答各种信息查询,完成缺失信息查询、复杂比较等计算机无法完成的查询操作。其中,CrowdDB[3]是一个利用众包来完成数据库查询操作的关系查询处理系统。该系统通过扩展SQL查询语句以及相应的查询处理系统,使得一些数据库和搜索引擎无法回答的查询可以利用众包来完成。为此,CrowdDB针对基于众包的数据查询自动生成可以获得人工输入内容的交互式界面,使得数据库查询过程可以与AMT等众包平台集成,并通过众包提交结果的自动聚合运算(如以多数人的回答作为最终结果)进行结果的整合,以产生众包查询结果。这类众包主要针对与位置无关的信息查询操作。为了支持基于位置的线下任务,需要将基于Web的众包扩展为基于位置的移动众包,从而基于移动设备实现众包参与者的选择、任务执行以及结果聚合。
另一类基于众包的计算形式是移动群智感知(mobile crowdsensing),即带有感知和计算能力设备的个体之间,共同分享数据、挖掘信息,以满足共同利益[4]。当前的移动设备和可穿戴设备装备了加速度、GPS位置、距离、摄像头等丰富的传感器。通过移动设备以及移动网络,可以通过收集、汇聚和分析处于不同位置的用户随身携带的传感器信息,实现交通路况、空气质量、人员拥挤状况、公交车行驶状况等的监测和预测任务。
为了便于用户通过众包完成各种线上和线下任务,可以将一些常用的众包任务类型封装为稳定的服务接口,如二手物品现场查验、二手笔记本估价等。CrowdService[5]是一个移动众包框架,可以将移动众包任务包装成标准化的服务接口(如REST服务)。CrowdService将众包服务调用转换为众包任务进行发布,根据候选参与者(worker)的位置、报价、可靠性等优化选择任务参与者,通过参与者客户端上自动生成的任务界面指导任务完成和结果提交,并通过自动化的聚合操作(如求平均值)产生整个服务调用的返回结果。
移动服务与组合
随着计算和存储能力的不断增长以及所装备的传感器的不断丰富,移动设备已经不再扮演单纯的资源消费者的角色,而是也可以作为服务提供方提供移动Web服务。移动Web服务以REST服务等形式在Ad Hoc网络中提供高性能的P2P式的Web服务,如各种基于位置的服务。移动Web服务的优势在于,提供服务以及使用服务的移动设备用户可以通过Web服务,实现个人资源共享或协同工作,降低Web服务部署和使用带来的开销。移动设备的私密性、资源受限性以及移动性等特征,使得基于移动设备的个人化服务存在用户隐私、移动设备资源消耗、服务失效和不稳定等问题[6]。为此,个人化服务发布需要综合考虑动态变化的用户服务意愿、设备的电量、网络连接状况等因素。
利用各种丰富的移动应用、云服务和开放API,用户可以在移动设备上通过轻量级的Mashup工具自由组合不同的计算构件和服务,按照自己的需求搭建个性化的应用。钦齐亚·卡皮耶罗(Cinzia Cappiello) 等人[7]开发的MobiMash框架,通过可视化的终端用户编程机制,使用户可以通过简单的点击和拖拽等操作,将数据服务、UI构件、Web服务和移动设备提供的服务,组合成所需要的移动应用,并在自己的移动设备上安装运行。如图2所示。
由于移动设备电量有限,电量消耗成为基于移动设备的服务选取和编排需要考虑的一个重要因素。针对此问题,邓水光等人[8]将移动设备的位置、用户路线、信号强弱以及被调用服务的响应时间等进行建模,对候选服务的电量消耗进行预测,从而使所选取的服务的总体耗电量能够尽可能的低。另一方面,移动设备的移动性使其所处的网络环境经常处于变化之中,导致所选取和编排的服务在执行过程中,经常会由于网络状况的变化而发生中断和执行失败。针对这一问题,邓水光等人[9]在选取服务时对每个候选服务的可用性进行风险评估,然后将风险与服务的其他(服务质量,QoS)属性一起作为一个多目标优化问题进行考虑,以选取整体风险最低、同时整体QoS最高的服务集合作为目标。
O2O服务组合
用户在现实生活的需求往往涉及一些线下物理资源,如停车位、文档打印装订、图书借阅等。这些物理资源的使用往往包括线上的信息交换和线下的物理活动。例如,打印服务涉及线上的订单提交、费用支付和文档提交,以及线下的装订本取件;图书借阅涉及线上的图书查询和预约,以及线下的取书和还书。二维码的使用使得线上与线下活动可以方便地联系到一起。
基于移动设备的P2P模式的个人化服务正在兴起。其中,P2P配送服务已经有了成熟的商业模式和应用平台。例如,2015年亚马逊发布了P2P配送应用“On My Way”,使普通用户可以顺路为其他用户捎带物品,从而降低配送成本、提高用户体验。这种个人化服务的出现,使得线上服务与线下活动的无缝衔接成为可能。例如,通过在线服务完成图书查询和预约后,可以通过P2P服务平台,请求一个在图书馆附近的用户通过扫描二维码获取到所借的图书,并带到指定地点。
如果用户需求涉及一系列线上和线下服务,且这些服务之间存在线上或线下的依赖关系,那么需要在考虑服务质量的基础上,结合线下位置和路线考虑线上到线下(Online to Offline, O2O)的服务组合。O2O服务组合涉及一系列相互依赖的线上和线下服务。与传统的服务组合相似,每种类型的服务都可能存在多个服务质量各不相同的服务实例。对于线下服务而言,不同的服务实例可能分布在不同的位置上,例如,可能有多个图书馆的服务站都可以提供预约图书的取书服务。因此,O2O服务组合除了像传统服务组合一样考虑服务实例间的QoS聚合计算(如基于每个服务实例的响应时间,计算整体的响应时间)之外,还需要考虑线下服务实例的位置,并规划来往于各个线下服务实例位置之间的路线,将线下的路线距离以及所花费的时间、开销等与各个服务实例的其他QoS属性(如响应时间、成本等)进行合并考虑。此外,考虑到P2P模式的个人化服务,还需要进一步考虑存在潜在协作者时,如何进一步优化行动路线以及选择服务方案。
面向目标的任务委托
用户需求的满足往往涉及到一系列的任务执行,其中一些任务之间还存在依赖关系(如一个任务在另一个任务之后执行)。此外,一些需求存在多种可选的实现方式,包括不同的目标实现策略(如获取一本图书可以从公共图书馆借阅,也可以购买新书或二手书)以及不同的任务执行方式(如可以在线预订餐馆或委托在餐馆附近的人现场预订)。需求工程中的目标模型以目标和目标分解的形式,刻画了用户需求及其实现策略。一个面向“获取图书”需求的目标模型[10]如图3所示,其中的圆角矩形表示目标(goal)和子目标(subgoal),而六边形则表示可以直接执行的任务(task)。目标模型刻画了从根目标(对应用户高层需求)到子目标和可执行任务的层次化分解结构,其中的基本分解关系包括AND分解(表示父目标的实现需要所有子目标或任务都实现)和OR分解(表示父目标的实现需要任意一个子目标或任务被实现)。目标模型中的OR分解为刻画用户高层需求的不同实现策略(即不同任务集合)提供了手段。而AND分解产生的多个子目标或任务之间则可以进一步标注行为信息,如图3中T2; T3这样的标注所表示的执行序列关系。
在需求目标模型基础上,可以通过面向用户高层目标的任务调度执行及策略自适应调整,实现个人资源与云服务、移动应用等多种不同资源的按需融合。如图4所示,用户以个人移动设备为载体,通过面向需求的智能助手(一种软件Agent),导入面向特定用户需求的目标模型(如图3中的“获取图书”目标模型)作为策略模型,实现面向目标的资源按需融合。
为此,智能助手应当基于需求目标模型,实现任务调度执行以及执行策略的自适应调整。目标模型中的顶层目标可以定义激活事件和条件,例如屏幕上的按钮点击、日程表中的日程项添加、定时器时间等,这些事件发生并被捕获到之后会激发目标模型自顶向下的实例化和执行。为此,智能助手需要管理目标模型中所有目标和任务实例的运行时生命周期,自顶向下地调度子目标和任务的激活和执行。对于OR分解的可选方案,还需要在考虑质量属性和用户偏好的情况下进行优化选择。在此过程中,各个子目标和任务还需要在开始执行前检查前置条件并在完成后检查后置条件以确保成功完成。其中,任务将通过调用各种服务资源(软件和数据服务、人力资源服务、物理资源服务)来执行。为了调用人力资源服务或物理资源服务,智能助手通过协作者选择以及消息通信发起社会化的任务委托。例如,为了完成图3中的任务T4(从图书馆取得所借图书),智能助手可以根据当前位置与图书馆的距离、与当前用户的熟悉程度、过去的服务声誉等从当前在线用户中选择合适的协作者并发出任务请求。协作者完成任务后通过任务委托界面进行确认并返回结果。
在目标模型执行过程中,某些子目标或任务可能会遇到首选服务资源不可用、执行过程异常等问题。此时需要通过自底向上的执行状态反馈,来实现问题处理和自适应调整。为此,智能助手将维护每个子目标和任务的运行时状态机实例,通过状态机之间的消息发送,实现执行状态的传播和自适应调整(如通过服务资源切换,改变任务执行方式,或通过目标执行路径切换,改变目标执行策略)。
总结和展望
实现个人资源开放融合是“人机物”融合计算的必然要求。通过个人资源开放融合不仅可以实现个人设备资源、专业能力、位置优势等的开放共享,还可以利用社会化协作实现线上与线下服务资源的无缝衔接,从而实现面向用户需求的人机物资源按需组合与调度。为此,需要统一“人机物”三方面服务资源的描述、接入和执行,通过一套统一的机制实现执行调度和自适应调整。未来还需要从以下几个方面开展研究工作:
第一,面向不同类型的服务建立服务资源统一描述框架。在基于输入/输出和前置/后置条件的功能语义描述以及基于QoS属性的服务质量描述基础上扩展位置、可用时间段等人力资源和物理资源服务所特有的描述信息。
第二,面向不同类型的服务建立统一的服务调用和运行时质量保障机制。通过自动生成的面向任务的人机交互界面、众包任务控制以及结果聚合等手段实现人力资源服务和线下物理资源服务的软件接口包装。通过派生出新的人力资源服务请求、调用软件服务等手段对人力资源服务和线下物理资源服务的前后置条件等进行检查,实现对这些服务执行条件及执行结果的确认,保障运行时质量。
第三,面向专业服务、机遇式和参与式服务等不同类型的人力资源服务建立相应的服务质量和信誉评价机制以及激励机制,通过货币报酬、虚拟积分、社交评价等多方面的激励机制鼓励各类人员参与各类人力资源服务。
第四,综合线上和线下因素实现服务资源的优化选取、执行调度和自适应调整。在传统的服务选取和组合所考虑的线上QoS属性基础上,结合时间(如人力资源或物理资源的空闲时间)、空间(位置、路线)等线下因素实现线上和线下服务资源的优化选取和执行调度,并通过线上和线下信息的监控和分析实现服务组合与调度方案的自适应调整。
所有评论仅代表网友意见