分享

新型服务计算的研究进展与趋势

 壞尐孒95qanplv 2018-03-19



1 引言


服务计算 (Service Computing 或者Service-oriented Computing) 是一门研究和发展支持广义 服务的计算抽象、架构、技术和工具的学科,它是软件工程与分布式计算的前沿发展方向,具有重要的科学意义和应用价值[1]。云计算、物联网、微服务等技术的广泛应用使得软件功能、硬件资源和设备能力被大规模地服务化,这给服务计算带来了广阔的应用前景。


纵观服务计算的十余年的发展与应用,我们可以大致将其发展过程划分为三个阶段,即模型建立阶段、方法设计阶段和技术应用阶段[2]。(1)模型建立阶段:该阶段属于服务计算发展初期,其核心问题是服务的认知、服务模型的建立和服务语言的设计等。学术界与工业界围绕Web Service、SOA展开讨论,提出了WSDL、SOAP、UDDI、OWL-S、SCA/SDO等标准;在此期间,IEEE 计算机学会成立了服务计算技术委员会;ACM发布了服务计算知识体系,明确了服务计算研究的主题和边界。(2)方法设计阶段:该阶段属于服务计算技术快速发展的阶段,其核心问题是如何快速、高效的使用服务,国内外一大批学者围绕服务使能问题展开了如火如荼的研究,在服务发现、推荐、选择、组合、验证等方面出现了大量研究成果。这些成果在推动服务技术在现代服务业各行业应用中的实践起到了至关重要的作用。(3)技术应用阶段:该阶段属于服务计算应用深化和推广的重要阶段,其核心问题在于如何跨越业务服务与IT服务的鸿沟,基于前一阶段形成的各种服务使能技术,为各种创新的服务模式和应用场景提供技术和方法,使得服务过程更为便捷和高效,从而快速实现服务价值共创和传递。


目前,云计算、物联网、移动互联网、大数据为代表的新一代信息技术与传统服务业的融合创新,催生了以共享经济、跨界经济、平台经济、体验经济为代表的多种创新模式。这些创新模式的推广与应用使得服务形式更为多样、服务应用更加泛化、服务的内涵和外延也随之被不断拓展,并给服务计算带了新的挑战和要求[3],这也成为第三阶段服务计算研究的热点。本文结合大数据、移动计算、物联网等新型服务计算,探讨服务计算发展的最新现状与趋势。


2 大数据驱动的服务计算研究进展与趋势


2.1 数据即服务


在云计算时代,随着可植入设备、可穿戴设备、便携设备和网络化物理系统 (Cyber-Physical Systems, CPS) 持续增多,设备数据和行为数据正经历着前所未有的增长,无论是数据的尺度规模还是涉及IT系统的广度均导致了数据管理的复杂程度不断增加。如何在正确的时间将正确的数据传输到正确的位置?如何将困在应用系统中的数据进行聚合以便揭示更深层的业务价值?如何在数据复杂度以及数据量不断增长的情况下,依然能够在拥有高可靠性和安全性要求的前提下保持较低的运维成本?这些问题促进了数据即服务(Data-as-a-Service,DaaS)[4-7]这一概念的发展。


通过对数据资源的集中化存储、清洗、聚合、质量管理、分析挖掘,以云服务模式交付给不同的系统或用户而无需考虑这些数据来自于哪些数据源,DaaS在提高资源利用率和业务响应速度、减低运营成本和管理难度方面起到积极地作用[7,8]。将数据以服务的形式提供给外部应用使用起源于Web混搭[9, 10], 随着各种物联网设备和无线传感网络采集的海量异构传感数据爆炸式增长,通过云计算的方式对复杂的大规模数据集进行存储和利用已成为当前的主流做法。


通过将数据库资源池化并以服务的形式借助网络交付给,使得不具有数据库运维技术能力的用户都可以轻易地创建、使用、扩容和销毁数据库实例,数据库即服务(Database-as-a-Service,DBaaS)[11-13],也称云数据库[14],向用户提供与其他云服务相类似的优势:一个灵活的、可扩展的、低成本的按需服务平台。该平台以自助服务和便捷管理为导向,不需要关注数据库的部署、配置、监控和管理等繁琐工作,让用户能够将精力聚焦到他们的核心业务上去,或者极大的提升传统IT部门和业务部门的生产力。


基于自身在数据中心等基础设施方面的实力,亚马逊、Microsoft、Oracle、阿里、腾讯等均推出多种定价策略,涵盖容灾、备份、恢复、监控、迁移等方面的云数据库解决方案;在金融服务、电信以及公共部门、医疗、保险、零售、制造、电子商务以及媒体娱乐等行业涌现出众多的DaaS应用案例[15, 16]。Sorokine等人[17]基于大数据即服务的思想构建了一个城市信息系统(Urban Information System, UrbIS),针对异构离散的海量城市信息提供数据管理、元数据搜索、空间搜索、集成建模与分析、地学可视化等功能,进而对跨越多个城市的大数据进行深度的挖掘和分析以便探究城市地区和周围的环境气候变化间的相互影响。Chang等[18]以数据库即服务的方式存储医疗保健系统中可穿戴设备收集的海量生理信号数据,并提供数据隐私鉴权和访问控制。


大数据的价值不在于简单的存储和访问,而是取决于以智能的、富有洞察的方式分析数据,以便为业务运营、产品和观点提供数据支持。分析即服务(Analytics as a service,AaaS)可看做是大数据、云计算和软件即服务的自然汇集[19-21],通过Web接口向用户提供面向大数据的分析软件及操作,如在智慧城市CityPulse¹项目中数据分析工具被封装为Web服务,使用者利用简单的HTTP请求就可以实现数据处理和分析[22],而在MERRA²(Modern-Era Retrospective Analysis for Research and Applications) 数据集基础上,MERRA 分析服务 (MERRA/AS)[23]向研究者提供气候变化方面的数据支持。在商业领域,众多公司已推出了自己的大数据分析平台,如IBM Bluemix数据分析、 腾讯移动分析等等。


总之,可靠存储和获取物联网(Internet of Things,IoT)设备所产生大数据的通用平台,将是大数据应用的基础;而基于大数据的分析及服务则简便高效的向用户展示大数据内在价值,是更好的理解业务和决策支持的关键。跟目前其他云服务的局限类似,当用户将数据放入云端时会遭遇到无法控制的网络性能问题,除此之外,还存在数据隐私和安全保护方面的严重挑战[24]。


2.2 面向交通大数据的服务计算


随着物联网技术特别是交通相关的感知、监测技术的发展,各类智能交通系统在实践应用中不断产生并积累了大量的交通数据,这些通过各种交通传感设备(如全球定位系统传感器、车牌识别传感器、交通流量传感器、路况传感器、车况传感器等)实时采集并集中汇聚的交通大数据逐渐成为智能交通系统中一类新的、关键的数据内容,基于交通大数据提供更加精确、全面、智能的交通管理及信息服务(如交通信号智能控制、城市车辆管理、复杂路网空间及交通流分析等)成为当前智能交通系统中的研发热点。交通大数据以及相关的处理需求表现出了多源性和多样性、面向对象和时空相关、海量性和实时性、复杂性和动态性等特性。具有这些特性的交通大数据及其处理需求对智能交通系统的建设带来了巨大的挑战,如何面向交通大数据提供可扩展、实时、连续的计算支持以满足复杂、多样、动态变化的交通数据处理需求成为其中的一个核心问题[25, 26]。


针对该问题,近些年兴起的以MapReduce[27]为代表的大数据批处理计算、以Storm[28]及Spark Streaming[29]为代表的流式计算可以在一定程度上满足具有前文所述需求特征的交通大数据实时处理的需求,它们也被众多研究者应用到交通大数据处理的研究工作中[30, 31]。然而这些计算模型和相应的系统由于抽象层次过高,缺乏对具有对交通大数据的有效抽象和直接支持,在编写交通大数据处理应用时不能提供对具有上述特征的交通大数据的有效刻画和组织,也难以在多样化的交通大数据处理应用间实现数据及处理功能的共享以优化应用的构造和执行,因此它们在应对具有前文所述特征的交通大数据流式计算时尚存在诸多不足。另一方面,服务、面向服务的架构及“软件即服务”作为一种面向复杂系统集成与协同的抽象模型、技术架构及云计算环境下灵活、性价比较高的软件交付模型,可以用来提高交通大数据计算应用开发的灵活性,一定程度上弥补上述不足。近年来,国内外很多研究机构和学者,结合交通大数据及其处理需求的特征分析,从服务计算的角度对交通大数据处理的相关理论、技术展开研究,并取得了一些突破。


(1)面向交通大数据的“软件即服务”


“软件即服务”是经典服务计算在云计算环境中的延伸。采用“软件即服务”的服务提供方式,将对交通大数据进行处理和分析的功能进行管理、部署和运营的任务托管给云基础设施进行,并将相关的数据管理与分析功能作为云数据服务交付给用户使用。近几年,出现了许多“软件即服务”模式的交通大数据服务研究工作,主要包括存储即服务、预处理及计算服务和分析服务三类。在存储即服务方面,GoogleDrive的STACEE系统[32]采用P2P模型及C/S模型结合的方式提供交通数据的存储服务; WhereStore[33]则将用户任务调度到本地存储副本附近来优化数据存储和访问性能。StreamLoader支持用户通过Web方式进行流式数据的抽取转换和加载预处理服务[34];CaaaS则提供一种对交通流式大数据进行持续查询的云服务[35];微软亚洲研究院的郑宇团队采用“云+端”的服务模式实现了一种基于浮动车数据进行快速车路线设计的方法[36]。在分析服务方面,法国国立电信学院的张大庆团队提出移动预测即服务模型(mobility prediction as a service, MPaaS),支持大规模的移动位置预测[37];天津大学冯志勇团队根据移动对象的轨迹数据发现出租车乘客热点区域,并提供离线的预测及在线的载客地点推荐服务[38]。


(2)交通数据服务抽象


数据服务是服务计算领域封装数据资源和构造数据集成类应用的一种有效抽象形式,其适于应用集成背景下多源、多样化数据的抽象与共享。国内外有研究者在数据服务模型方面开展了不同程度的研究工作和实践[39, 40],包括“数据服务”(Data Services)以及“数据密集型服务”(Data-intensive Services)的工作。而针对流式计算中涉及的流数据,其模型和数据服务模型类似,都将数据作为服务描述的“一级实体”。已有研究工作提出了流数据服务模型支持规模大、实时、持续不间断的流数据访问和查询等。Stream Feeds工作建立了基于RESTful 服务模型的流数据服务,将来自传感器的流数据变为Web 上可直接访问的资源[41]。Victor W. Chu等人还特别针对时空轨迹流数据,在传统实体-关系模型的基础上提出了一种能够刻画时空变化及它们与移动对象之间关系的数据模型,并基于此数据模型设计了交通流数据分析服务以捕捉交通流在不同情境下的变化[42]。北方工业大学韩燕波团队提出一种流数据服务模型,支持基于车牌识别数据的流数据服务定义及实现方法,用于在社区中发现潜在的拼车伙伴等场景[43]。


(3)交通数据服务组合


交通数据服务的目标是面向不同类型应用的需求,在以服务方式提供对移动对象数据连续查询、分析等的能力的基础上,支持用户通过组合大粒度服务及应用的编程和构造来实现交通大数据处理与分析的灵活定制。在近年来交通数据应用构造的研究中,基于服务组合的编程模型得到广泛采用。其主要思想是将现实世界中的交通感知数据抽象为服务,并将其与交通环境及参与者的情景信息相关联,从而实现灵活的智能服务,能够感知现实交通情况并主动做出响应。与传统的服务不同,原始采集的交通数据是基于计算能力有限的传感器设备提供的,其数量多、变化快,因此在其服务编程方法中,需尽可能减小服务执行和注册的开销,同时对根据情境信息动态发现服务并主动按需向用户提供服务的能力具有更突出的要求。当前与此相关的研究主要针对流数据进行服务的发现、组合与编程,SOCRADES提出了一种流数据服务发现、选取及按需提供的方法[44]。Thing-REST提出了一种mashup基本结构来生成智能mashup应用[45]。当前该方面的研究还比较初步,未来应回答如何对传统服务编程的方法加以改进,使其符合交通数据服务自身的特点并满足相关应用特有的需求。


(4)交通数据服务执行优化


不同于传统服务计算的应用领域,由于交通数据的海量性和处理需求的复杂性,对封装交通数据的服务及应对不同处理需求的组合服务在实现层面提出了更高的性能要求,为此特别需要对交通数据服务(包括组合服务)的执行提供不同方面的优化手段。轨迹数据的查询服务是一种重要的交通数据服务,特别是一些高级查询操作,例如skyline查询、K最近邻查询、相似轨迹查询等。已有研究工作针对这些查询服务采用划分的方法将高速到达的大规模流数据进行有效划分以分配到各个并行计算节点上,并利用各节点的并行来提高服务的性能[46]。此外,在组合服务执行方面,Chuan Lei等人将分布式流处理建模为可参数化的查询服务优化问题(通过多维参数空间模型对流数据的不确定性进行表示,包括流数据速率、操作选择度等),在此基础上可通过服务化实现计算任务负载的动态分布[47];Silva等人通过提供一组服务接口允许用户对流处理应用进行运行时调整,用户可以通过编写对注册事件(如系统状态、内置的系统指标、用户定制的指标等的变化)的处置程序来实现动态执行优化能力[48]。


面向交通大数据的服务计算作为一个新兴的交叉方向正随着智能交通系统的发展而得到越来越多的关注,但其仍面临着交通大数据环境下的数据服务识别、数据服务建模、数据服务组合以及数据服务执行优化等新问题和挑战,需要结合交通大数据的特征和应用需求开展深入研究,其中值得关注的研究内容包括:支持多尺度表达的数据服务模型,以实现对交通大数据自身在空间、时间、对象、使用者等方面的特征以及交通大数据在分布式流式计算系统中空间分布(跨节点存储情况)、共享情况、访问负载等方面的特征的刻画;面向不确定性交通分析的交互式服务组合,通过支持反复迭代的人机交互,以适应交通大数据分析时从数据中发现、抽象“未知”信息的过程,实现一种支持探索式构造的服务组合编程模型;基于数据服务的交通数据处理执行优化,从交通数据服务内(数据服务自身)和数据服务间(数据服务组合)两个层次对基于数据服务的交通数据处理应用进行执行优化,以保证交通大数据处理的实时性。


2.3 面向医学大数据的服务计算


随着先进仪器装备与信息技术等越来越广泛和深入的整合到生物技术中来,生物医学研究中越来越频繁的涉及到大数据存储和分析等信息技术。大数据时代下,生物医学研究正面临着一个重要的发展趋势——有假设驱动向数据驱动的转变。在这样的趋势下,生物医学数据迅速积累(如图1 GenBank SRA数据库的数据量增长情况所示),并涌现出了大量的医学数据共享服务资源(数据API)和医学计算平台资源(平台服务)。


图1.  GenBank SRA数据库的数据量增长情况


在大数据共享平台建设方面,以生命组学数据为核心的数据平台建设推动了数据共享服务发展,美国NCBI、欧洲EMBL-EBI、日本DDBJ等发展成为代表性的生命科学数据库;在组学数据标准化方面,上述几个数据共享平台分别制定了各类组学数据文件格式、序列表示和特征描述标准,以支持数据的存储、提交、解读与检索;在临床数据标准描述方面,初步建立了临床数据标准与信息结构标准,如国际疾病分类标准 (ICD-11)、医学语言系统(UMLS)和临床术语(SNOMED CT) 、电子病历信息模型(HL7 RIM)等;在数据处理分析方面,DNANexus生物信息处理平台为数据管理及分析提供了解决方案,GenomeSpace平台整合了多种生物信息学软件工具和资源;在数据融合集成应用方面,临床数据与组学数据的结合分析已经在医学诊疗中初见成效,Kaplan-Meier通过测序数据和临床数据相结合筛选出了多种生物标志物,肿瘤的云数据存储和分析平台OncologyCloud可找出对肿瘤治疗有价值的数据。


“十二五”期间我国启动了生物大数据开发与利用关键技术研究计划,如组学大数据中心和知识库建设、疾病大数据处理分析与应用和基于区域医疗与健康大数据处理分析与应用等,取得了一些成果。解放军总医院与协和医院联合承担了国家临床数据中心共享平台建设,成为国内最大的临床共享数据资源库;华大基因筹建了首个国家基因库,并与阿里云合作建立基因组数据分析云计算平台BGI Online;药明康德与华为携手打造精准医疗云平台;博奥生物开发了健康大数据标准和健康大数据知识库,建立了多个应用于慢病预测、预警和诊断的计算模型。表1列举出了近年来国内外进行了医学大数据存储、分析挖掘的相关平台和信息系统,以及它们的应用情况。


表1 近年来国内外医学大数据相关平台和信息系统


纵观现有的医学大数据相关的研究来看,服务于新一代生物医学研究的信息化技术,需要对极端高通量、多来源、异质性的数据进行高效准确的处理,如数据质量评价、新旧数据比较、数据多角度多层次的多元分析、异质性数据的深度融合等。这就要求相关的平台具有强大的存储能力、计算能力、协同能力、无限拓展能力。另外,面向医学大数据的服务计算还需要做到对于生物医学数据的实时分析和临床处理、医学问题的挖掘和知识发现、生物个体数据的个性化分析、预测和安全保存、服务于公共卫生和公共安全(构造医药大数据生态系统,包含人体基因、人体微生物群落等数据,以及人体饮食、环境等元数据)。图2展示了大数据驱动下面向生物医学的服务计算的研究方向。


图2 大数据驱动下面向生物医学的服务计算的研究方向


综上所述,目前,我国的医学和生物数据共享服务在资源规模、种类多样性和深度的数据分析处理方面仍存在较大差距,主要表现在:异构异质数据融合缺少统一的信息标准,各类生命科学数据分析技术工具尚待研发,临床表型和生命组学数据及其复杂关联语义的检索和分析方法等难以满足精准医疗需求,生命组学与临床数据缺少一体化共享平台。


大数据只有转变为服务才能充分显示其价值。随着大数据的发展与应用,大数据服务将成为未来最为重要的服务形态和使能技术,支撑面向用户的大数据存储、分析和应用,实现数据产业价值的放大和增值。以交通、医学和生物数据为代表的大数据驱动的服务计算将呈现如下趋势:


1)可持续性服务计算技术


随着未来无论是底层大数据规模尺度还是上层业务应用复杂性方面不断增加,需要研究并构建支持业务持续性发展的服务计算技术,促进业务层面的流程演化和持续性发展,进一步发挥大数据蕴含的价值。如面向不确定性交通分析的交互式服务组合,通过支持反复迭代的人机交互,以适应交通大数据分析时从数据中发现、抽象“未知”信息的过程,实现一种支持探索式构造的服务组合编程模型;基于数据服务的交通数据处理执行优化,从交通数据服务内(数据服务自身)和数据服务间(数据服务组合)两个层次对基于数据服务的交通数据处理应用进行执行优化,以保证交通大数据处理的实时性。


2)个性化、可定制的数据分析及应用服务


用于上层业务应用需求的不确定性和多样性,大数据驱动的服务计算需进一步研究并支持多尺度表达的数据服务模型,以实现对大数据自身在空间、时间、对象、使用者等方面的特征以及大数据在分布式流式计算系统中空间分布(跨节点存储情况)、共享情况、访问负载等方面的特征的刻画。


3)基于服务的资源集成与动态协同技术


针对服务平台的多样性、数据规模的高速增长带来的扩展性、服务集成的对象不同带来的兼容性、以及上层复杂业务需要底层异构多源数据支持等问题,基于服务的资源池化和动态集成技术成为克服上述挑战的关键。例如在医疗大数据方面进一步支持生命组学与临床表型数据深度融合,建立综合化数据共享服务平台,集成各类处理分析和数据挖掘工具,实现高效便捷的跨库检索与智能搜索,实现医疗机构与生物信息分析机构数据互联互通。


3. 移动服务计算的研究进展与趋势


近年来,移动通信技术得到了飞跃式发展,移动互联网业务也随之成为继宽带技术之后互联网发展的又一个重大推动力量。国际知名信息技术战略咨询公司Gartner公布的 十大战略技术中,移动计算技术高居首位。


云计算与移动互联网的结合使得人们通过智能手机等移动终端设备访问各类云端服务成为主流趋势。而以iOS和Android系统为代表的智能手机平台上,各类移动应用和服务数量呈爆炸式增长。移动应用与服务数量的剧增给用户的服务选择带来了巨大挑战。如何针对用户个性化需求,从门类繁多、属性各异、数量巨大的服务海洋中选择服务,并进一步实现服务组合以完成较为复杂的业务,成为当前服务计算领域的热点问题。另一方面,随着移动设备自身的计算能力和计算资源的提高,移动设备可以通过无线通信技术(WLAN、蓝牙、红外、近场通讯)以服务的方式发布、共享自身的计算能力、资源、应用、数据、外接设备和传感器等。移动设备提供服务的方式具有方便、快捷、不受地域和网络限制等优点,目前已在GPS共享、热点共享、传感器数据应用、群体计算等方面得到广泛应用。而移动边际计算模式的出现,使得移动设备可以调用边际设备(网络基站、Wi-Fi接入点、路由器等)上的服务,而无需通过网络与云服务器交互,实现高性能、低延迟与高带宽的服务交互体验。


移动服务是以移动通信技术为基础,以移动设备为载体,通过移动网络互联,向移动终端用户交付内容并完成服务交互过程的应用模式,具备计算主体移动、计算资源受限、计算情景位置感知等特点。移动网络中的服务选择和组合主要涉及“云-管-端”,其中“云”是指提供移动服务的云端服务器;“管”指用于完成服务信息传输的移动通信网络;“端”指任何可以接入并完成服务交互的移动智能终端设备。根据移动服务的不同组织与交互方式,将移动网络中的服务应用总结为如图3所示的三种典型模式,即“云-端”模式、“端-端”模式和混合模式[49]:1)“云-端”模式:在该模式中,服务被部署在固定的云端服务器上,移动用户通过手机等移动终端对服务进行调用。服务请求通过移动网络传输到云端服务器,云端服务器在收到用户请求后进行相应的服务处理并将计算结果返回给终端用户。移动边际计算的出现使得服务调用所需的数据、数据处理和应用程序可以部署在网络边际设备中,移动用户可以直接与边际服务器交互进行服务调用。边际服务器收到用户请求后直接执行服务并将结果返回给移动终端用户,实现高性能、低延迟与高带宽的服务交互体验。2)“端-端”模式:随着移动设备的计算、存储、通讯等能力的大幅提升,用户利用移动设备完成复杂和连续的任务成为可能。“端-端”模式就是移动用户为协作完成特定任务,共享各自的应用服务、计算能力和存储能力等。每个用户既可以提供服务,也可以请求服务,用户通过设备间直接的服务交互协作完成任务。3)混合模式:该模式将上述两种应用模式结合在一起,移动用户既可以调用云端提供的服务,也可以调用局部范围内其他移动用户在移动设备上开放的服务。根据用户的不同需求将两种模式有机的结合起来能为用户提供更加高效可靠的个性化服务。


图3. 移动网络中的三种服务应用模式[49]


3.1 面向移动环境的服务选择与组合


移动应用与服务数量的剧增给用户的服务选择带来了巨大挑战。如何针对用户个性化需求,从门类繁多、属性各异、数量巨大的服务海洋中选择服务,并进一步实现服务组合以完成较为复杂的业务,一直以来都是服务计算领域的热点问题。传统的服务选择的研究主要集中在QoS 感知的服务选择、服务组合效率、语义Web服务等方面。 移动环境下,移动网络动态变化、用户位置频繁移动、移动设备能力受限等因素使得移动环境中的服务选择的优化目标发生变化。移动网络的动态变化和用户位置的频繁变动大大降低了移动环境下服务交互的可靠性,而移动设备能力受限使得设备的能耗成为移动环境下服务选择的又一重要指标。因此,移动环境下的服务选择和与组合的研究主要集中在QoS驱动的服务选择与组合、可靠性驱动的服务选择与组合和能耗驱动的服务选择与组合三个方面。


3.1.1 QoS驱动的服务选择与组合


QoS一直以来都是服务选择与组合的重要指标。随着服务数量的不断增多,用户对QoS的关注程度日趋增高。移动环境下,网络的动态变化和用户位置的频繁变动对服务的响应时间等QoS属性造成了极大的不确定性,这使得移动环境下QoS驱动的服务选择与组合不同于传统固网环境下的QoS驱动的服务选择与组合,如何描述这些不确定性因素(特别是网络的不确定性)对QoS的影响、如何度量和分析不确定环境下的QoS、如何根据用户体验质量来选择与组合服务均成为移动环境下服务计算的难点。


加州大学尔湾分校研究团队提出了一种新的框架[50]将移动环境中的服务建模为位置-时间任务工作流,将其描述为NP-难问题,并提出了一种有效的启发式算法来解决此问题,该方法既能在用户数量多时展现出良好的可扩展性,又可以保证用户调用服务时可以得到较高的QoS。德国雷根斯堡大学研究团队研究移动环境中服务组合中的服务环境对服务QoS的影响,引入状态的概念描述服务选择的环境信息,对服务的环境参数进行了定量描述,并据此对组合服务的QoS进行计算以获取 QoS最优的服务组合[51] 。


在国内,华中科技大学研究团队从移动用户的角度对服务的体验服务质量进行了建模描述,提出了一种基于众包的QoS感知的移动云服务框架对云服务进行选择和组合来满足不同移动用户的不同QoS需求[52]。他们采用众包的方式对与服务进行智能、高效和可靠的选择,并开发了原型系统对方法进行验证。南京大学研究团队针对“云-端”模式提出了新的QoS模型[53],该模型综合所有用户的交互记录,而不是仅针对某一个体得出。在该模型的基础上,他们提出了两个启发式算法对该问题进行求解。浙江大学研究团队 针对用户移动特性以及随着用户位置变化而变化的移动网络质量,建立了一个可计算的移动模型[54]。基于该移动模型,他们提出了移动感知的服务质量计算规则,将移动服务组合问题转化为以移动感知服务质量为目标的优化问题, 基于“教”与“学”优化方法的服务组合选择方法获取近似最优的服务组合结果,以此提高移动环境下服务组合的QoS。 


3.1.2 可靠性驱动的服务选择与组合


传统固网环境下的服务组合多部署在处理能力强、计算资源充足的服务器上执行,而移动环境下的服务组合要在移动终端上执行。由于移动终端自身存在能力受限的缺陷,加之移动网络的动态变化,如何进行服务的选择与组合以实现服务组合的优化部署和调度,保障移动服务组合的可靠执行,成为面向移动环境的服务选择与组合的一个的重要研究问题。 


悉尼大学研究团队针对移动ad-hoc网络环境下的服务选择设计了一种新的中间件[55]。该中间件在用户端执行,通过设备之间的连接性收集用户的环境信息,并根据这些信息对用户的请求进行安全等级分类。当网络可用时,基于用户请求的不同安全分类采用不同的服务选择方法对服务进行选择。弗吉尼亚理工学院研究团队将移动环境中可靠性驱动的服务选择问题描述为一个多目标优化问题[56],以最大化服务的可靠性为组合目标,提出了一种多维信赖算法,该方法可以有效检测有攻击行为的恶意服务,并通过降低其信用有效地将这些恶意服务淘汰。 佐治亚理工大学研究团队[57]研究移动设备计算卸载服务的选择问题,设计了COSMOS系统,可以在提高移动设备的性能的同时降低服务提供者的开销,除此之外,服务选择过程中重点考虑了移动环境中动态网络连接和程序执行的不确定性。


在国内, 香港城市大学研究团队提出了一种利用移动预测的服务组合方法[58]。该方法考虑了服务提供者的移动性并对其进行建模,旨在为移动用户选择最可靠的一套组合服务。北京邮电大学研究团队在服务选择时将服务载体的状态和历史数据考虑在内,提出了一种移动服务的状态和稳定性驱动的服务选择方法,采用优化的云模型对服务载体的稳定性进行评价,并提出了一种最优移动服务的选择算法[59]。浙江大学研究团队针对移动设备的计算能力受限、能耗敏感带来的运行风险,提出了移动环境下服务交互的质量模型和能耗模型,并基于该模型设计了组合服务的服务选择策略[60];在选择过程中,针对服务调用失效点、交互失败点,设计了容错方案和恢复机制,该机制可以降低组合服务执行的风险,提升移动设备上的组合服务运行效率。 针对移动环境下服务对象与服务载体的频繁移动,引发服务失效的运行风险,建立了移动服务调用的风险模型和计算方法,并优先确保运行风险最小的前提下,动态构造性能最佳的组合服务[61];并进一步提出了面向移动服务社区的服务提供框架与组合策略[62],从组合服务构造的角度显著降低了潜在的运行风险。 


3.1.3 能耗驱动的服务选择与组合


移动环境中,服务的消费载体是移动设备,能耗是移动设备待机时长的决定因素,因此,能耗是移动环境中用户关注的重要指标。在服务交互的过程中,移动终端的能耗来自数据通信会产生的能耗和设备待机产生的能耗,如何对这两部分能耗进行建模运算,并据此对服务进行选择以降低移动终端的能耗开销成为移动环境中服务选择与组合的重要问题。


墨尔本大学研究团队提出了一种环境感知的服务选择算法为移动设备选择卸载服务,其中考虑了环境因素对服务选择的影响,提出了一种通用的计算模型对任务执行的能耗进行计算[63]。佩斯大学研究团队为了减少移动设备的能耗浪费,提出了一种动态能耗感知的移动云计算模型,基于云片的模型动态地为移动设备选择就近而高效的云服务,以此减少通讯过程中额外的能耗开销[64]。


国内方面,东南大学的研究团队针对当前服务组合方法只考虑组合服务QoS的优化而不考虑组合服务的能耗优化提出了两种服务能耗模型[65],并在基于工作流的服务组合环境下,提出了一种能耗感知的多路径服务组合方法。浙江大学研究团队发将服务的能耗分为服务交互过程中的输入参数传输、输出参数传输和设备待机所产生的能耗,分别给出了其简化计算模型,其中综合考虑了设备的移动速度、服务交互地点的网络信号强度、调用服务的参数大小、响应时间以及设备待机功率等参数。针对组合服务的不同结构,给出了组合服务的简化能耗计算模型。并将遗传算法应用到节能驱动的服务选择中,实现了一种节能驱动的服务选优方法[66]。


3.2 面向移动边际计算的任务分载


随着移动设备的快速化发展,越来越多的移动应用尝试完成更加复杂的逻辑功能,诸如人工智能、增强现实、大型游戏等。然而,电池技术的停滞不前限制了移动设备的应用场景和能力,成为影响用户体验的重要因素[67]。针对这一问题,除了对电池技术本身的研究之外,软件技术层面的研究也尝试对移动设备能耗进行优化,如代码优化[68]、漏洞检测和消除[69]等。但是,这仅能在一定程度上缓解移动终端设备的能耗问题[70]。


计算分载为移动终端设备能耗问题提供了一个全新的解决方案。在计算分载中,移动设备通过把移动应用中的工作负载分载到云端,利用云端收集、存储和处理数据,实现对云端计算、存储和网络资源的利用,减轻了移动设备本身的资源负担,减少了移动设备的程序执行时间,提高了应用性能,并降低了移动设备能耗[71]。下面将介绍计算分载的国内外研究进展。


3.2.1 国外研究进展


杜克大学研究团队[72]在2010年提出的MAUI是最早的计算分载实现模型。MAUI在微软公司.NET公共语言运行时(.NET CLR)上实现代码和计算的运行时分载,支持在应用运行时细粒度地决定将哪些代码分载至云端执行。MAUI设计了一个简单的开发框架,开发人员在该框架下将那些可以分载到云端运行的方法标注为“Remoteable”。在应用运行时,通过自省技术对标注为“Remoteable”的方法进行辨识,当某个“Remoteable”方法被调用并且有可用的云资源时,MAUI的决策引擎通过分析分载的成本与收益、评估带宽和延迟等,决定是否要分载该“Remoteable”方法到云端执行。MAUI移动设备端主要包括三个组件:客户端代理,负责传输待分载方法的状态信息;分析器,负责分析分载的成本和收益;决策引擎,为了降低能耗,它实际运行在MAUI服务器上。MAUI服务器主要包括四个组件:服务端代理和分析器,与移动设备上相应的组件功能一致;决策引擎,定期对方法是否需要分载进行决策;MAUI控制器,用于对方法分载请求进行身份验证和资源分配。


由于MAUI对代码可分载性的判断依赖于开发人员手工进行,一方面为开发人员带来了额外负担,另一方面开发人员可能错误地将不可分载的代码指定为可分载,为了解决这些问题,英特尔伯克利实验室提出CloneCloud[73]计算分载模型。CloneCloud通过使用静态代码分析和动态环境分析相结合的方法,对应用代码进行划分。CloneCloud先在云端为移动设备创建克隆的虚拟机实例,在应用运行过程中,如果遇到一个分载节点,那么正在运行的线程会被暂时挂起,它的相关状态信息被发送到云端的克隆虚拟机中,由云端继续运行该线程。本地应用的其他线程不会受到影响,但如果它们试图访问分载到云端的线程的相关状态信息,就会进入暂时挂起状态。当分载到云端的线程执行完毕时,相关的状态信息被发送回本地,合并到本地被挂起的线程中去,本地被挂起的线程被唤醒并继续执行。


佐治亚理工学院研究团队提出的COSMOS是以风险控制方式进行分载决策[74]。在COSMOS中,移动设备的扩展资源来自传统的远端云,执行流程与以往的分载方案类似。COSMOS可以有效地分配分载请求,以解决云资源争用问题;以风险控制的方式进行分载决策,以解决由可变网络连接和程序执行所引起的不确定性问题。云资源通常以虚拟机实例的形式提供,为了使用虚拟机实例,用户需要在虚拟机上安装操作系统并启动它,这两者都会导致延迟。用户可以基于一个时间量租赁虚拟机实例,一个云提供商通常会提供具有不同属性和价格的各种类型的虚拟机实例。


卡耐基梅隆大学研究团队[75]在2009年提出利用Cloudlet扩展移动设备的能力,Cloudlet是在移动用户附近的、可信的、资源丰富的计算机集群。Cloudlet是广泛分布的互联网基础设施,一个Cloudlet可以被视为一个云端。Cloudlet能够实现自我管理,功率小,能够连接到Internet,能够进行访问控制设置,与移动设备之间仅有一跳的距离。这种资源管理模式使Cloudlet可以很方便地被部署在诸如咖啡店、图书馆、商场、医院等场所。为了保证部署的安全性,可以通过第三方远程监控把Cloudlet封装在一个防篡改或防拆封的机柜中。在利用Cloudlet时,移动设备充当瘦客户端,所有重要且复杂的计算都分载到附近的Cloudlet中。如果移动设备附近没有可用的Cloudlet,则移动设备可以使用传统的远端云或者仅使用移动设备本身的资源。


另外,德国电信实验室研究团队[76]提出的ThinkAir在云端提供完整的安卓虚拟机环境,以执行从移动设备分载而来的计算任务。密歇根大学研究团队[77]提出的COMET允许线程根据工作负载在机器之间进行分载,同时实现分布式内存模型,从而提高应用程序的执行速度。里昂大学研究团队[78]提出一组临近的移动设备可以通过自组织协作的方式进行任务分载,移动设备之间可以通过中间件进行交互。


3.2.2 国内研究进展


CloneCloud支持自动地对代码进行划分并在运行时完成方法粒度的计算分载,这一技术需要修改应用运行底层的虚拟机,将计算线程挂起,获取状态信息,在运行时恢复合并。CloneCloud由于对底层机制进行了修改,从而限制了其适用场景,降低了用户接受度,同时带来了一些安全性问题和可维护性问题[79]。为了解决这些问题,北京大学研究团队[80]提出基于应用自动化重构工具DPartner实现计算分载。安卓应用本质上是由许多类组成的Java程序,一项计算任务被实现为类中的某个方法,可以被本类或其他类中的方法调用,因此安卓应用计算任务分载可以实现为包含该计算任务的某个类的远程部署和调用。该工作首先提出一种支持安卓应用计算任务按需远程执行的程序结构,它主要包含两个核心元素:NProxy和Endpoint。它将调用者X和被调用者N之间的直接内存调用以及通过远程通信服务的远程调用都转换成了经由NProxy和Endpoint进行的间接调用。NProxy本身不执行任何实际的计算操作,只负责将方法调用转发到N执行。Endpoint负责获取N当前的位置并提供N的引用供X使用。然后,利用Dpartner自动地对安卓应用进行重构以符合程序结构。最后,对安卓应用中的类进行分类、聚类和封装,生成两部分制品,一部分是转换后留在本地运行的应用,另一部分是转换后的Movable类组成的集合,部署到云端以供远程调用。


为了解决云端和终端运行环境的异构问题,南京大学研究团队提出CoseDroid框架[81],采用比以往更激进的方式实现计算分载:让计算分载发生在临近的移动终端之间。由于不同终端可能存在完全相同或部分相同的运行环境,因此可分载部分显得更为宽松。在CoseDroid框架下,一个计算过程是否可被分载需要满足两点:代码在执行过程中无须在两个设备之间进行消息传递;方法在本地和远程设备上执行结果状态保持一致。CoseDroid通过Soot工具静态分析代码并寻找满足这两个条件的方法,通过代码插桩将这部分代码和序列化的对象状态从当前设备发送到另一个终端设备以实现计算分载。


计算分载通过将复杂计算分载到云端服务器,能够有效减小移动终端的计算负荷,而且基本不会带来附加的时延,因此可以有效节省移动终端的能耗。计算分载为移动终端节能提供了更好的解决方案,也带来了新的挑战:(1)分载点的异构性:多个用户的计算分载可能导致负载均衡和调度问题,需要考虑多个分载点的不同特征。(2)最优划分:为了提高远程执行效率,仅仅分载被请求的数据,应当最小化冗余数据传输。(3)时延:按需进行资源分配,但是由于虚拟机的启动、重新恢复和同步等操作会导致额外的时延。(4)复杂性:为了增强计算分载的性能,分析、分割等处理过程可能变得更复杂而难以实现,从而导致额外开销。


3.3移动互联网环境下的Web服务交互体验优化


目前,通过对RESTful Web API的复用和组装来开发Web应用已经成为互联网软件主流开发方式之一。特别地, HTML5、CSS和JavaScript等Web应用前端开发技术的发展,基于服务的Web应用已经能够为用户提供更加丰富的功能和体验。近年来,随着移动终端成为用户接入互联网的主要设备,移动Web应用得到了广泛关注,不仅可以通过浏览器直接访问,很多原生应用(Native App)也嵌入浏览器提供内容服务。但是,由于终端设备的软硬件资源能力存在很大的异构性(例如市面上在售的Android设备超过2万种),以及用户所处的网络环境高度动态可变等,移动用户在进行Web浏览时,经常会遇到加载时间过长、无法打开页面和非预期流量和电量消耗问题。


由于开发者很难预知Web应用的客户端运行环境并保障所有用户总能够享受到一致和良好的交互体验,在移动终端浏览器上优化Web应用的交互体验就成为一个自然的解决途径,成为近年来网络系统和移动计算领域的研究热点问题之一。近年来,包括斯坦福大学、密歇根大学、伊利诺伊香槟分校、华盛顿大学在内的多个知名学术团队在顶级学术期刊TMC、TWEB等和会议SOSP、OSDI、NSDI、MobiCom、MobiSys、WWW、ICWS等均有相关工作发表。总体而言,从万维网应用体系结构来看,现有工作从客户端、云端/服务器端和边缘端三个方面来尝试解决移动互联网环境下Web服务体验优化问题。


3.3.1 客户端


Web浏览器是Web服务的主要客户端运行环境浏览器,负责提供网络连接的建立管理、服务调用请求的解析、终端用户界面的渲染生成等。但是,现在的主流的浏览器,如Chrome,FireFox等,结构极其复杂,运行时涉及到多类操作系统级的资源调度,如何精确地度量浏览器上服务交互体验、定位到性能瓶颈并开展优化是公认极具挑战性的技术难题[82]。


莱斯大学研究团队发表在WWW’12的工作[83],在Webkit的基础上实现了支持推测式加载机制的浏览器——Tempo。对于各个网站,Tempo构造维护一个资源关系图,每个页面是其中一个节点。使用这种结构的原因是由于在同一个网站里,多个网页会共享相同的资源。当用户再次访问相同的页面时,Tempo可以直接预取图中的子资源;如果访问新页面,则会查找对应的子资源。同时,通过定时更新机制,在一个页面打开之后会更新一些子节点,同时也会去除一些很久不用的资源。通过仿真实验,发现Tempo对速度的提升达到了理论上限的70%左右。


威廉玛丽大学研究团队发表于UbiComp’13的文章[84]设计了一个Android系统服务——CacheKeeper。通过对1000个安卓应用的网络数据分析,该工作总结了页面内缓存的实现问题和页面间资源的冗余传输。是CacheKeeper的架构,在系统内核层设置专门的缓存管理模块来处理HTTP请求。实验数据表明,CacheKeeper能够减少42%的网络流量,在3G环境下提速2倍。


北京大学研究团队通过数百万行浏览器内核源代码分析、大量网络度量和用户实验,深入剖析了移动Web浏览的工作机理,在WWW‘15[85]的工作中提出了一种跨层(Cross-Layer)的RESTful服务调用性能剖面模型,设计了基于主动传播路径的细粒度资源计量(Accounting)方法,精确地度量了浏览器上端到端(End-to-End)的交互体验;基于该模型,发表在TMC上工作[86]揭示了目前主流WebKit浏览器内核上RESTful服务调用机制中影响交互体验的多个设计缺陷(如缓存设置时间失配导致冗余数据传输、JavaScript的动态数据获取导致同一内容的重复请求等),并在WebKit源代码中精确定位到相关实现。在此基础上,借鉴原生应用(Native App)的资源管理与更新特点,该团队在TMC上的工作提出了新的Web编程模型和部署框架ReWAP[87],实现了终端设备计算能力驱动的预测式服务数据打包推送方法,在细粒度上准确预测Web网页的数据更新并进行优先级排序,将冗余数据流量减少51%。


3.3.2 云端/服务器端


移动设备通过状态机模型来维持通信信号:在设备没有网络行为时,处于idle状态,功率很低;在网络传输时,功率会急剧升高到某个比较稳定的值;如果超过了某个特定的阈值,又会进入另一个状态,功率会继续升高。针对当前Web页面资源的复杂性,芬兰阿尔托大学研究团队发表于Computer Networks的工作[88]提出通过代理预取所需资源,然后打包发送到移动设备上,进而加速页面加载,节省电量。该系统包括两个机制:1)对请求和响应的压缩,压缩请求的重要原因是希望不会超过阈值,从而让移动设备稳定在一个较低的功耗状态;2)打包,将所有返回的资源放在一起返回给浏览器,这样移动设备就不用多次请求,也就可以在更多的时间停留在低功耗状态。同时,在发出和接受请求这段时间里,移动设备也是处于低功耗的。EEP系统包含本地和服务器的两个代理,移动端和服务器代理端用来解析HTML和JavaScript的浏览器则是用Qt实现。浏览器与本地代理通过HTTP连接,本地代理和服务器代理用自定义的协议连接(实现了打包和压缩)和传输,服务器代理和原服务器采用标准HTTP协议通信。通过在不同的RTT条件下对比普通的预期机制和EEP系统,发现EEP系统可以节省电量和加载时间,并且RTT越大节省越多。


加州大学河滨分校研究团队发表于MobiCom’15的工作[89]研究了Web架构中的内容压缩代理对移动Web浏览体验的影响。内容压缩代理通过对文本内容的压缩和图片压缩,以减少Web资源的网络传输量,从而提高页面加载速度。目前的许多浏览器(如Android Chrome)都具备这样的功能。但是,现有的内容压缩代理是一种“all or nothing”的策略,即要么所有请求都通过代理,要么都不通过代理。文章通过一组测量实验,发现网络情况良好的时候通过内容压缩代理获取Web资源实际上对浏览体验是有损害的:由于路由跳数的增加和代理服务器的处理开销导致页面加载时间变长。根据这一发现,论文提出了一种网络感知(Network aware)的内容压缩代理技术FlexiWeb。网络感知具体体现在两个方面:一是根据网络情况来选择某个资源请求是否通过代理服务器,二是权衡网络传输开销和用户体验损耗来选择最优的图片压缩率。论文修改了Android Chrome浏览器进行了初步实现,修改了Chrome提供的Mod_Speed Apache模块实现了内容压缩代理,通过抓取Alexa Top 500的网页作为测试数据集。实验结果表明,FlexiWeb能够减少35%-42%的页面加载时间。


除了学术界的研究工作,为了提升移动Web的浏览体验,一些商业移动浏览器通过在服务器端对网页进行预处理,从而优化Web资源的调度。


Opera Mini是一款为移动设备开发的浏览器[90]。用户使用Opera Mini浏览网页时,Opera公司的服务器首先对所访问的网页进行压缩和优化,缩小文件大小,以便于传递,使之适合于手机浏览,再于手机上显示,传输中信息使用SSL协议进行加密。可以看到,用户手机发送请求,通过移动通信网络网关转到Opera的代理服务器,然后Opera代理服务器将转发请求到原网站的服务器。服务器正常响应后,Opera代理服务器解析标记和样式表,执行 JavaScript,然后把数据转码成Opera Binary Markup Language(OBML),再返回给客户端。OBML数据在用户的设备上通过Opera Mini逐步加载。OBML 对用户和载体非常有好处,它能够节省90%的数据传输。


Google为Android开发的Chrome Beta浏览器[91]中加入了服务器端数据压缩代理机制(Data Compression Proxy,DCP)。当用户使用Chrome Beta浏览页面时,浏览器会与运行在Google数据中心的代理服务器建立连接,将所有的非加密HTTP请求都通过这个连接发送,因而DCP可以获取对传输的数据进行优化,主要包括图片转码(转化为WebP格式比JPG和PNG格式的图片小很多从而节省流量)、内容感知的压缩(将HTML、CSS和JavaScript资源中与页面渲染无关的的空格和注释删除)等。


3.3.3 边缘端


云计算已经成为以互联网为主干,移动互联网、物联网等深度融合形成的复杂网络环境下的最为主要的计算模式。作为云计算的重要延伸和拓展--边缘计算,近年来得到了学术界和工业界的广泛关注。基于边缘计算模式的移动Web服务交互体验优化也取得了一些进展。微软研究团队发表于ASPLOS’11的工作[92],研究了在移动操作系统上支持Cloudlet的可能性,提出了Pocket Cloudlet架构。通过移动设备访问云服务的延迟很大,并且受到电池电量的限制。移动设备的非易失性存储(NVM)的增长非常迅速,可以用来解决云服务访问的问题。这篇文章提出了通过NVM来搭建Cloudlet,展示Pocket Cloudlet架构。在底层,每个云服务都有一个专门的存储空间,将服务的访问结果存储在其中,由于数据量巨大,而且在断电后应该保留在设备上,所以可存储在NAND闪存中。同时,每个云服务还需要在快速存储介质(如DRAM)中存储一个索引,该索引可以支持快速查找数据结果。该团队后续发表于ASPLOS’12的文章[93]中,作者研究了如何将Pocket Cloudlet应用到移动Web浏览,提出了PocketWeb系统。Web访问的动态性增加了缓存的难度,于是这篇文章主要研究用户访问Web的行为,进而提出了一个预测模型来预测合理的预取时间。通过对8000个用户Web访问历史数据的分析,文章发现Web访问呈现出一种与用户相关的时空特性。进而提出使用机器学习的方法来建立基于用户的预测模型。实验结果表明,该模型对于80%-90%的用户能在其访问2分钟前抓取60%的资源。


加州大学河滨分校研究团队发表于NSDI’15的文章[94]提出了根据用户偏好来优先加载资源的系统KLOSKI,作为移动Web加速的云服务而存在,不需要对客户端做任何改动。KLOSKI后端利用测量终端离线地获取页面依赖关系和动态信息。对于每一个获取的页面,测量终端记录资源获取的依赖关系、资源大小、加载顺序和资源在显示界面上的位置;进而通过汇总同样页面的不同测量数据(不同设备的长时间记录)来生成一个指纹记录。指纹记录是一个有向无环图,记录资源之间的关系信息。KLOSKI前端作为一个代理存在,它会将用户可能优先需要的资源优先返回。它采用现有的HTTP协议与原服务器进行通信,采用SPDY协议与客户端通信。当前端收到页面请求时,KLOSKI会根据指纹记录计算出需要优先加载的资源并通过SPDY的推送机制返回。实验结果表明KLOSKI能够将2秒内使用的资源率从25%提高到约60%。


采用类似的边缘计算思想,北京大学研究团队引入基于个人云的中间层(MiddleBox),分别从计算和数据两个角度进行Web服务调用优化。发表在TOIT上工作,针对计算密集型Web任务优化设计实现了i-Jacob系统[95],通过动态程序切片和云端分载(Offloading)执行的方式提高页面计算和渲染速度,可将单元计算速度最高提高近50倍,电量平均节省约40%。发表在TMC上的工作,针对数据密集型Web应用优化设计实现了SWAROVsky系统[96],通过用户浏览行为学习、页面预取压缩、同服务域数据多路链接复用等技术,减少数据冗余传输,可将加载时间平均提升57%,数据流量传输减少58%。


工业界也出现了基于类似思想的产品。Amazon Silk是Amazon Kindle Fire电子书阅读器上的浏览器。与传统浏览器不同,Silk的各个子系统——包括网络处理、HTML、CSS、呈现等——的执行在平板和云之间分离开来,浏览器动态判断哪些在AWS上执行,哪些在本地执行。AWS被看做无限大的缓存,用来存储用户将会使用Silk加载的页面图像、JavaScript和CSS文件。AWS服务把页面传回Silk之前,会准备页面的内容。以图像为例,AWS会根据将要展示的屏幕大小,自动缩减图片尺寸,因此文件变小,传送和加载更快。浏览器保持与Amazon服务器的单一打开连接,随时准备请求更多内容。


4 物联网中的服务计算研究进展与趋势


因特网从PC终端互联网发展到了移动互联网,目前已经开始逐步地发展和拓展到物联网领域。根据IDC预测,2020年全球物联网设备数将达到281亿,全球物联网市场总量将达7.1万亿美元;Garter预测2020年物联网设备数将达260亿,全球经济价值将达1.9万亿;Machina Research 则预测2020年全球M2M(machine to machine)连接数将达250亿,全球产业机会将达1.2万亿美元。物联网不仅仅是一堆连接上互联网的物理设备,随着物联网技术的不断发展与成熟,各种物联网应用不断涌现,以满足不同的特定需求,“物联网即服务”正成为共识。当物联网成为一种服务,消费者就不会再担心各种零部件和技术问题,而商家对其产品和服务的定位也会更加明确。


4.1 面向服务的物联网架构特点


4.1.1 面向服务的可迭代架构


服务化是产生商业价值的必由之路,对于物联网。物联网架构应该指导使用者如何组织具有实际服务能力的物联网体系、并具有根据实际反馈进行迭代和演进的能力。这一方面最重要的两个特征如下:


(a)开放性。开放性指物联网架构与其他技术体系的兼容程度。具有高开放性的架构能够允许其他信息技术与物联网技术结合形成新的服务。新的服务将会具备综合性高、功能性强以及演化可能性多等特点。比如架构中提供人工智能的接入解决方案,则可能形成智能化的独特服务,产生新的价值点。并且这一价值点还会随着技术演进而获得进一步升值。


(b)场景化。物联网架构本身不应受制于场景,但必须允许场景化的实际应用实现。或者说,物联网架构本身一旦被实现,就应该是天然具有产品化、服务化倾向的实体系统,而不仅仅简单只是技术范畴内的产物。比如架构中如果提供业务流程的整合方案,尽管可能不同业务将表现出不同的属性和特征,但这已经说明该系统将具备支撑某方面业务的属性,甚至可以提前评估优劣,最终对物联网服务化提供推动作用。


4.1.2架构层次化与模块化


架构层次化指通过不同视角描述系统体系。每个视角将获得物联网系统的一个完整的层的描述。实际上,一个视角就是一个具体的业务切入方向,尤其对于物联网体系而言,其组织结构庞大复杂,从单一视角入手是实际落地的良好选择。比如,从网络结构的视角出发,可以获得物联网网络组织层的描述,这一描述可能包括了其组网方式、网络拓扑、网络规模、动态演化、SDN等等相关方向,擅长这些方向的使用者可以从这个层出发建立属于自己的商业物联网模型。


架构模块化则使得使用者可按需组装实际系统。每一层实际上由多个模块组成。一般而言,好的架构模块具有独立性、完备性和冗余性。独立性指模块间不存在交集,相互之间单独运行、互不干扰;完备性指每一层一定被划分成足够完整形成该层的所有模块;冗余性则指该层有些模块可能可以相互取代,或者暂时去除而不影响层的功能,或者说不影响使用者需要保障的某部分能力。


对物联网架构而言,每层的下属模块通常具备高独立性和完备性,而冗余性较低。这是由于物联网作为网络组织,基本结构和范式已经确定,因此每层下的模块行为较为确定。但这并不代表物联网架构变化程度单一:其模块内部实际上可以使用多种具体不同的解决方案实现。比如,考虑一个协议层的视角,可能会存在一个独立模块称为通信协议。通信协议本身是不可取代的,但其实现方式可能多种多样:有线或无线、局域或广域、低功耗或高带宽等。


4.2 轻服务


一般来说,作为基础平台,物联网系统只需设备和组件就足够完备了。但尽管如此,真正价值化的物联网必定需要安装应用程序,以提供各类有价值的服务。考虑到应用的可重用性和可维护性,构建所谓的“轻型服务”的小型一般应用是必要的。它们的目的不在于直接实现业务价值,而是通过完成某些简单的任务来形成构建应用程序的基石。确切的说,物联网轻服务是基于物联网网络的、最多只有一个逻辑判断和开放接口、并执行通用应用中常见的一种功能或者在操作系统中重复使用的服务


4.2.1检测和执行轻服务


这类服务允许应用直接访问物联网设备并利用其能力。一般来说,它们是物联网的基本服务,与硬件紧密相关。


检测服务实现了物联网感知世界及其本身或其他设备和网络的方式。它们包括传感器驱动服务、终端监控服务和物联网自检服务。传感器驱动服务唤醒终端的特定传感器,并以标准形式获取感测数据。终端监控服务读取某一终端设备的实时描述,主要涉及其功率、基本功能和工作状态。 物联网自检服务报告物联网的状态,包括设备规模、网络负载、云服务器状态、通信协议、可用接口等。


执行服务控制执行器和虚拟执行资源,包括执行器驱动服务、终端刷新服务和虚拟执行服务。执行器驱动服务控制特定的执行器,以实现对世界的真正影响。终端刷新服务允许终端重置或刷新其结构或存储器。虚拟执行服务命令物联网的虚拟执行器部分,例如一组用户自定义的摄像头组合的联合驱动服务。


4.2.2控制轻服务


这些服务提供了控制终端和逻辑网络的方法。根据权限等级,控制服务可以划分为系统服务、应用服务和用户服务。


系统服务面向操作系统或物联网管理员进行物联网管理,如设备管理服务、资源管理服务、安全服务等。应用服务为应用程序提供相对低权限的功能,如设备调用服务、资源请求服务等。用户服务是权限最低的,它们相关的具体功能主要通过应用程序的定制服务或物联网的一些互动服务来实现。


4.2.3通信轻服务


基于协议中设置的通信规则,通信服务允许用户、设备、操作系统和其他应用程序进行通信,而不必关心具体的技术问题。


在物联网中,通信服务主要起读写服务、数据库和文件服务、应用通信服务(ACS)和数据分析服务的作用。 读写服务是最基本的I / O服务,而数据库和文件服务则提供高级的数据库和文件操作方式。 ACS在实时和离线模式之间的通用应用程序(用户,设备,操作系统,其他应用程序等)间传输消息。数据分析服务实际上是通过与物联网连接或涉及OS的开放API与能提供决策分析服务的人工智能系统通信的特殊ACS。 


4.3 物联网网络结构、支撑环境与交付模式


物联网组网的核心目标是为用户提供功能更强大的网络实体。这一网络实体的能力不仅仅基于网络各层面的能力提升,更需要对传统网络拓扑结构的颠覆。这需要先进的服务计算技术形成可靠的支撑环境,最终构造先进的服务交付模式。下文将讨论两类网络结构对应的物联网特性,以及其支撑技术和服务交付模式。


(1)中心化网络


早ne期因特网组网目标仅仅在于提供节点间信息互联的通道,与此不同的是,物联网组网要求网络具有自身的管理和计算能力。一种解决方案是提供中心化的层次网络结构,并在各层中心实现网络管理和计算。


云计算技术在一定程度上满足了这种类型物联网对计算中心的绝大部分需求。主要包括三个方面。其一,物联网终端设备较弱,需要网络中存在高性能的中央节点用于处理终端所不能实现的服务需求。云计算技术可使网络具备这类远程处理能力。其二,物联网终端节点可能随时连断,这导致其服务请求所需的计算能力变化不定。云计算依靠虚拟技术可以根据任务水平弹性分配计算资源,对物联网的伸缩性提供最大程度的支持。其三,物联网终端的数据采集量非常庞大,对计算能力提出了非常高的要求。云计算技术在这一方面同样具有相当的优势:一方面它能整合许多计算资源满足海量数据处理过程,另一方面它尽可能地将计算任务按数据存储位置分配给各个计算节点(比如Map-reduce体系),避免了因传输大量基本数据的导致的网络带宽拥堵和存储资源浪费。这些特性使得云计算技术成为未来物联网发展的核心支撑技术之一。


值得注意的是,中心化网络的弱点在于网络整体对中心依赖过强。一旦网络中心被破坏或者联系中断,整个网络就会趋于瘫痪。弥补这一缺陷的方式是弱化中心能力或者建立层次结构型的中心网络。弱化中心能力即相当于将部分计算任务尽可能地推到网络边缘,即其终端节点上实现。这一处理方式称为边缘计算。层次结构型的中心化网络即指在局域网上搭载强大处理功能的网关或专门的计算节点,完成小范围内的计算处理工作。这一技术也被称为雾计算技术。


中心化网络结构的物联网所实现的服务交付模式类似于传统的客户端/服务器模式(也可以是B/S模式或者S/M模式)。用户所需要的服务通过端设备提交向网络中心,在中心整合数据处理后再反馈回来服务结果。这一模式能够利用网络中心的强大功能和海量数据支持为用户提供超乎想象的服务。并且,不同的服务与服务之间的耦合可以通过中心变得更为紧密乃至产生增值效应。这一架构的物联网适合于发展各类智能物联网络。目前大多数物联网平台均为此类型架构,比如Thunder IoT of SalesForce, Predix IoT of GE, Watson IoT of IBM and Azure IoT Suite of MS等等。


(b)去中心化网络


另一种物联网网络结构是去中心化网络。注意这种网络结构依然需要满足物联网网络所需要的自治功能,而非如基础因特网一般仅能承载通信。


实现这类网络的一类技术是区块链技术。区块链技术使单个对象维护所有对象的所有行为信息的数据库,从而保证网络信息的公平有效。这一技术实际上没有提升物联网的计算能力,但极大地增加了物联网自我管理的能力。主要包括三个方面。其一,物联网的可分割性。无中心化后,网络的任一部分可以自由地切割组合而不会损伤其他部分的性能。其二,物联网的安全性。区块链中的每个区块都是物联网“历史”的证明,而这些区块被存储在每个终端对象中(也可能是局域网络中),足够多数量的对象可以极大地降低真实“历史”被篡改的可能。其三,物联网的可靠性。假定物联网因为意外而遭到物理破坏或者网络中断。此时承载区块链的那些对象实际上才是物联网的管理节点,只要这些节点有一个幸存,整个物联网就可以持续有效地运行,或者至少可以及时给出危险反馈。


去中心化网络结构的物联网的服务交付模式即类似于对等网络的交付模式。用户提起的请求不会由某个中心服务器处理,而是可能会直接交付给附近的其他终端乃至自身。更为特别的是,这些服务信息可能会被所有承载区块链的对象所记录。从这个意义上说,物联网本身将不能提供超出单个或者少部分终端处理能力的服务,但是可以保证服务的安全可靠。这一类型网络结构的物联网非常适用于小范围、低计算能力要求、高安全性要求的网络。比如一辆各部件物联的车内物联网,或是一个小型的金融交易系统。当然,这种类型网络也可以通过只处理需要加密和认证的少量数据而搭载在中心化网络结构中,促使二者实现良好的互补。目前采用这一结构的实际物联网平台有ADEPT of IBM & Samsung, AllJoyn open source project, IoT of Filament, ePlug IoT of Ken Code等等。


4.4 物联网数据结构和智能


物联网产生大量数据。处理和利用这样庞大的数据成为一个很大的挑战。妥善准备的物联网数据架构有助于解决问题。从数据生命周期的角度来看,架构必须覆盖以下几个方面。


4.4.1数据标准化


最初,不同格式的数据来自物联网中的不同设备和源。在使用它们之前,物联网需要通过归一化来识别它们。归一化意味着每个物联网层只有一种特定格式的数据。例如,考虑到组件层,如果一个终端通过TCP / IP协议通信,其他终端应该遵循相同的规则,否则实际上它们在组件层中已经断开连接。如果不同格式存在于物联网的某一层中,则必须应用能够规范化数据格式的中间件或其他类似技术的解决方案。数据的统一格式也是构建灵活物联网的基础。


 数据的预处理对于物联网也很重要。物联网的传感器或终端可以从环境或用户处收集微不足道或甚至错误的信息。这些消息将占用物联网的大量资源。从根本上处理数据的解决方案是必要的。滤波器或其他简单规则可以应用于物联网的终端,而更复杂的算法可以添加到具有更强大处理器的计算中心。当物联网的某一部分接收到所有数据时,应立即进行预处理。


4.4.2储存与管理


物联网中的数据量可能会达到非常夸张的程度,例如PB或甚至EB。建议的解决方案是将它们分为两部分,使用不同的管理方法:暂时需要的数据(TRD)和永久需要的数据(PRD)。它们的属性是不同的。


首先,面向的人群不同。物联网客户可能需要TRD,而物联网服务提供商则需要PRD。第二,PRD没有时间限制,但TRD需要立即处理。第三,TRD可以在一段时间之后刷新,而PRD需要长期稳定的存储环境。第四,PRD来自TRD。


以手机打车为例。这一网络中的 TRD可能包括汽车的位置、乘客路线和每次行程的价格。对于乘客和司机,这些数据是透明的。他们发生互动但这些数据仅仅暂时有效。某旅程的信息可能会在每一个可能的时间由乘客修改,但在旅途结束后,旅行的具体属性将变得无用。PRD可能包括用户的信息、所有行程的记录和所有行业的历史现金流。他们实际上是TRD的一些结论(某种聚类)。物联网服务提供商可能需要这些历史信息来帮助他们改善业务。


因此,为TRD和PRD需提供不同的解决方案。 TRD需要数据库管理系统(DBMS),而PRD需要数据仓库系统(DWS)(ADENDORFF,M.,2001)。传统的DBMS构建了一个组织良好的系统来处理数据。然而,当数据量在一定程度上增长时,系统会失去效率。开发高效率分布式数据库系统的物联网技术,降低TRD总量是典型的解决方案。 DWS提供的功能比DBMS少,但可用于管理海量数据,适合处理PRD。


4.4.3知识获取


知识获取最初是描述人类的活动。如今,它是物联网的目标:学习和改进自身。基于最近的技术,计算机从逻辑上总括学到的经验。也就是说,物联网的知识获取基于数据。其实现方法如下。


首先是数据分析。数据分析由人类驱动,采用数学和统计方法来描述物联网中数据的特征。它的范围并不确定:简单的SUM_ALL函数是数据分析,而在线分析处理(OLAP)(ABELLÓ,A.,2009)也是数据分析。只不过他们都要求人为的操纵,具有相当的目的性和针对性。数据分析可以回答某些具体问题并找到解决方案。


二是自动学习。自动学习物联网可以自动从数据库中得出模式和结果。它可以用数据挖掘技术或人工智能来实现。例如,健康护理手表可以收集人们的健康数据,并自动发现某种疾病的特征。这些特征和结论可能成为重要的诊断标准。


第三是物联网进化。物联网能够通过“考虑”其数据来扩展自身并调整服务。例如,在智能城市的物联网中,交通灯系统将通过从摄像机系统学习数据来调整自身,以减少交通堵塞和事故。该过程实际上将多个自动学习过程与多个数据资源相结合。 


5 结束语


2017年4月,澳大利亚墨尔本RMIT大学的Athman Bouguettaya教授联合18位学者(包括4位IEEE Fellow)在《Communications of the ACM》上发表论文《服务计算宣言:下一个十年》,指出“服务计算具有良好的发展前景,极大推动着移动计算、云计算、大数据和社会计算等新兴计算领域的进步”[1]。综合前述服务计算的最新研究进展,我们认为服务计算将呈现如下重要趋势:


1)大数据服务与服务大数据相互引领,将推动数据与服务产业的快速发展:服务是继数据、信息、知识之后的最高计算形态[1],大数据只有转变为服务才能充分显示其价值。随着大数据的发展与应用,大数据服务将成为未来最为重要的服务形态;与此同时,随着各类服务的不断涌现,服务的静态数据、产生的运行时数据、日志数据等也将构成服务大数据,如何挖掘和利用服务大数据,为服务的运行与管理提供全方位的数据诊断,进而提升服务能力也将成为服务大数据的研究热点。


2)移动边缘计算的兴起,将为服务计算提供更为广阔与实际的应用场景:作为下一代通信技术的核心,移动边缘计算利用无线接入网络就近为用户提供云端内容、服务和计算能力,并创造出一个高性能、低延迟与高带宽的服务环境,让移动用户享有高质量服务体验。随着运营商、设备制造商、学术界的积极推动,移动边缘计算将迎来快速发展机遇,应用前景广阔。如何在移动边缘环境下实现高效可靠的服务供应,以及最优化、个性化的服务选用将成为服务计算应用的关键问题。


3)软件定义的一切(SDX)给服务计算带来新的发展机遇:服务计算是支持软件定义的核心使能支撑技术。一方面,我们要关注轻量级、细粒度的开放API开发方法和管理框架,这其中微服务得到广泛关注,应重点研究基于微服务的事件驱动的开发运行一体化(DevOps)基础设施架构、细粒度基础资源及其状态监控、在线测试和快速部署、容错等关键技术;另一方面,服务计算需要研究面向遗产系统的服务化重建、API自动构造,以支持对这些系统资源的开放共享和互操作。


4)物联网服务将进一步延伸服务概念,拓展服务能力:服务计算原有领域集中在互联网服务的实现和价值化,而今后通过物联网的部署和实现,线下数据大量涌现,服务从原来的互联网服务逐步与传统服务融合。很多传统服务都将逐步实现智能化、网络化,从而创造更高的价;物联网提供海量的数据,而这些数据用于深度学习、数据挖掘后,可以为多个领域多个方向提供指导性的知识。服务计算通过提取这些知识价值,融入服务中,可以获得比过去更强大的服务能力。


总而言之,服务计算在经历了十余年的快速发展,当一系列基础的理论、方法、技术和平台相继成熟之后,将伴随大数据、云计算、物联网的兴起而将迎来新一轮的发展和应用,为信息产业的发展,特别是软件服务产业的发展提供支撑。


¹ http://www./page/

² https://climatedataguide./climate-data/nasa-merra


参考文献


[1] Bouguettaya, A., Singh, M. P., et al. A service computing manifesto: the next 10 years. Commun. ACM 60(4): 64-72, 2017.


[2] Wu, Z., Deng, S., Wu, J. Service Computing: Concepts, Methods and Technology. Elsevier. 2014.


[3] 吴朝晖, 邓水光. 跨界服务:现代服务业的创新服务模 式. 中国计算机学会通讯. 8(8): 1~4. 2012.


[4] Data as a service, https://en./wiki/Data_as_a_service.


[5] Olson, J.A., Data as a service: are we in the clouds? Journal of Map & Geography Libraries, 2009. 6(1): p. 76-78.


[6] Machan, D., DaaS: The new information goldmine. Wall Street Journal, 2009: p. 1-3.


[7] Badidi, E., H. Routaib, and M. El Koutbi, Towards Data-as-a-Service Provisioning with High-Quality Data, in Advances in Ubiquitous Networking 2. 2017, Springer. p. 611-623.


[8] Chethan, S., Compendious study of Big Data as a Service (BDaaS). International Journal of Control Theory and Applications, 2017. 10(14): p. 59-63.


[9] Jhingran, A. Enterprise information mashups: integrating information, simply. in Proceedings of the 32nd international conference on Very large data bases. 2006. VLDB Endowment.


[10] Benslimane, D., S. Dustdar, and A. Sheth, Services mashups: The new generation of web applications. IEEE Internet Computing, 2008. 12(5).


[11] Seibold, M. and A. Kemper, Database as a Service. Datenbank-Spektrum, 2012. 12(1): p. 59-62.


[12] Curino, C., et al., Relational cloud: A database-as-a-service for the cloud. 2011.


[13] Hacigumus, H., B. Iyer, and S. Mehrotra. Providing database as a service. in Data Engineering, 2002. Proceedings. 18th International Conference on. 2002. IEEE.


[14] Cloud database, https://en./wiki/Cloud_database.


[15] Salbaroli, E., et al. Database as a service in a public administration datacenter. in Black Sea Conference on Communications and Networking (BlackSeaCom), 2016 IEEE International. 2016. IEEE.


[16] Gogawale, A., et al. Database-as-a-Service for IoT. in Computing for Sustainable Global Development (INDIACom), 2016 3rd International Conference on. 2016. IEEE.


[17] Sorokine, A., et al. Big data as a service from an urban information system. in Proceedings of the 5th ACM SIGSPATIAL International Workshop on Analytics for Big Geospatial Data. 2016. ACM.


[18] Chang, H.-T. and T.-H. Lin, A Database as a Service for the Healthcare System to Store Physiological Signal Data. PloS one, 2016. 11(12): p. e0168935.


[19] Martin, P., et al. Analytics-as-a-service: confluence of big data, cloud computing and software-as-a-service. in Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research. 2013. IBM Corp.


[20] Delen, D. and H. Demirkan, Data, information and analytics as services. 2013, lsevier.


[21] Zulkernine, F., et al. Towards cloud-based analytics-as-a-service (claaas) for big data analytics in the cloud. in Big Data (BigData Congress), 2013 IEEE International Congress on. 2013. IEEE.


[22] Ahrabian, A., et al. Data analysis as a web service: A case study using IoT sensor data. in Acoustics, Speech and Signal Processing (ICASSP), 2017 IEEE International Conference on. 2017. IEEE.


[23] Schnase, J.L., et al., MERRA analytic services: meeting the big data challenges of climate science through cloud-enabled climate analytics-as-a-service. Computers, Environment and Urban Systems, 2017. 61: p. 198-211.


[24] Munir, K. Security model for cloud database as a service (DBaaS). in Cloud Technologies and Applications (CloudTech), 2015 International Conference on. 2015. IEEE.


[25] Meng X, Ding Z, Xu J. Moving Objects Management: Models, Techniques and Applications. Springer Publishing Company, 2014.


[26] Biem A, Bouillet E, Feng H, et al. IBM InfoSphere Streams for Scalable, Real-Time, Intelligent Transportation Services. In Proceedings of the 2010 ACM SIGMOD International Conference on Management of data, 2010, pp. 1093-1104.


[27] Dean J, Ghemawat S. MapReduce: Simplified Data Processing on Large Clusters. ACM Communication, 2008, 51(1):107-113.


[28] Toshniwal A, Taneja S, Shukla A, et al. Storm @Twitter. In Proceedings of 2014 ACM International Conference on Management of Data (SIGMOD), New York, USA, 2014, pp. 147-156.


[29] Zaharia M, Das T, Li H, et al. Discretized streams: an efficient and fault-tolerant model for stream processing on large clusters. The 4th USENIX conference on Hot Topics in Cloud Computing, USENIX Association Berkeley, CA, USA, 2012.


[30] 崔星灿, 禹晓辉, 刘洋, 吕朝阳. 分布式流处理技术综述. 计算机研究与发展, 2015, 52(2): 318-332.


[31] 孙大为, 张广艳, 郑纬民. 大数据流式计算:关键技术及系统实例. 软件学报, 2014, 25(4): 839-862.


[32] Neumann D, Bodenstein C, Rana O F, Krishnaswamy R. STACEE: enhancing storage clouds using edge devices. The 1st IEEE/ACM Workshop on Autonomic Computing for Economics (ACE 2011), Karlsruhe, Germany, 2011, pp. 19-26.


[33] Stuedi P, Mohomed I, Terry D. WhereStore: Location-based data storage for mobile devices interacting with the cloud. The 1st ACM Workshop on Mobile Cloud Computing & Services: Social Networks and Beyond, 2010, pp. 1-8.


[34] Mesiti M, Ferrari L, Valtolina S, et al. StreamLoader: an event-driven ETL system for the on-line processing of heterogeneous sensor data. International Conference on Extending Database Technology, 2016: 628-631.


[35] Chen Q, Hsu M, Zeller H, et al. Experience in Continuous analytics as a Service (CaaaS). International Conference on Extending Database Technology, 2011: 509-514.


[36] Pan B, Zheng Y, Wilkie D, Shahabi C. Crowd sensing of traffic anomalies based on human mobility and social media. ACM GIS 2013, pp. 344-353.


[37] Xiong H, Zhang D, Zhang D, et al. MPaaS: Mobility prediction as a service in telecom cloud. Information Systems Frontiers, 2014, 16(1): 59-75.


[38] Zhang K, Feng Z, Chen S, Huang K and Wang G. A Framework for Passengers Demand Prediction and Recommendation. 2016 IEEE International Conference on Services Computing (SCC), San Francisco, CA, 2016, pp. 340-347.


[39] Carey M J, Onose N, Petropoulos M, et al.. Data Services. Commun. ACM, 2012, 55(6): 86-97.


[40] Deng S, Huang L, Wu B, Xiong L. Parallel Optimization for Data-intensive Service Composition. Journal of Internet Technology, 2013, 14(5): 817-824.


[41] Dickerson R, Lu J, Whitehouse K. Stream feeds-an abstraction for the world wide sensor web. First International Conference on IOT 2008, Zurich, Switzerland, 2008, pp. 360-375.


[42] Chu V W, Wong R K, Liu W, Chen F, Perng C S. Traffic Analysis as a Service via a Unified Model. 2014 IEEE International Conference on Services Computing (SCC), IEEE, 2014, pp. 195-202


[43] Han Y, Wang G, Yu J, et al. A Service-Based Approach to Traffic Sensor Data Integration and Analysis to Support Community-Wide Green Commute in China. IEEE Trans. Intelligent Transportation Systems, 2016, 17(9): 2648-2657.


[44] Guinard D, Trifa V, Pham T, Liechti O. Towards physical mashups in the web of things. IEEE Sixth International Conference on Networked Sensing Systems (INSS), Pittsburgh, USA, 2009, pp. 1-4.


[45] He J, Zhang Y, Huang G, Cao J. A smart Web service based on the context of things. ACM Transactions on Internet Technology (TOIT), 2012, 11(3): 1-23.


[46] Wu S, Kumar V, Wu K-L, Ooi B C. Parallelizing stateful operators in a distributed stream processing system: how, should you and how much. Proceedings of the 6th ACM International Conference on Distributed Event-Based Systems: ACM, 2012, pp. 278-289.


[47] Chuan L, Rundensteiner A, and Guttman D. Robust Distributed Stream Processing. In Proceedings of IEEE 29th International Conference on Data Engineering (ICDE 2013), Brisbane, Australia, 2013, pp.817-828.


[48] Silva G, Gedik B, Wagle R. Building User-defined Runtime Adaptation Routines for Stream Processing Applications. PVLDB, 2012, 5(12): 1826-1837.


[49] Deng S, Huang L, Wu H, et al. Toward Mobile Service Computing: Opportunities and Challenges. IEEE Cloud Computing, 2016, 3(4): 32-41.


[50] Rahimi, M. Reza, Nalini Venkatasubramanian, and Athanasios V. Vasilakos. 'MuSIC: Mobility-aware optimal service allocation in mobile cloud computing.' Cloud Computing (CLOUD), 2013 IEEE Sixth International Conference on. IEEE, 2013.


[51] Heinrich, Bernd, and Lars Lewerenz. 'Decision support for the usage of mobile information services: A context-aware service selection approach that considers the effects of context interdependencies.' Journal of Decision Systems 24.4 (2015): 406-432.


[52] Yao, D., Yu, C., Yang, L., & Jin, H. (2015). Using Crowdsourcing to Provide QoS for Mobile Cloud Computing. IEEE Transactions on Cloud Computing.


[53] Li X, Qian Z, You I. Towards cost efficient mobile service and information management in ubiquitous environment with cloud resource scheduling. International Journal of Information Management. 2014, 34(3): 319-328.


[54] Deng S, Huang L, Hu D, Zhao L, Wu Z, Mobility-enabled service selection for composite services, IEEE Transactions on Services Computing, 2016, 9(3): 394-407.


[55] Surobhi N. and Jamalipour A., “A context-aware M2M-based middle- ware for service selection in mobile ad-hoc networks,” IEEE Trans. Parallel and Distrib. Syst., vol. 25, no. 12, pp. 3056–3065, Dec. 2014.


[56] Wang, Yating, et al. 'Trust-based Service Composition and Binding with Multiple Objective Optimization in Service-Oriented Mobile Ad Hoc Networks.' IEEE Transactions on Services Computing (2015).


[57] Shi, Cong, et al. 'Cosmos: computation offloading as a service for mobile devices.' Proceedings of the 15th ACM international symposium on Mobile ad hoc networking and computing. ACM, 2014.


[58] Wang J. Exploiting mobility prediction for dependable service composition in wireless mobile ad hoc networks. IEEE Transactions on Services Computing, 2011, 4(1): 44-55.


[59] Zhou, Ao, et al. 'Optimal mobile device selection for mobile cloud service providing.' The Journal of Supercomputing 72.8 (2016): 3222-3235.


[60] Deng,S., Huang, L., et al. Computation Offloading for Service Workflow in Mobile Cloud Computing. IEEE Transactions on Parallel and Distributed Systems, 26(12): 3317-3329, 2015.


[61] Deng,S., Huang, L., et al.. Towards Risk Reduction for Mobile Service Composition. IEEE Transactions on Cybernetics. 46(8): 1807-1816, 2016.


[62] Deng,S., Huang, L., et al.. Mobility-aware Service Composition in Mobile Communities. IEEE Transactions on Systems, Man, and Cybernetics: Systems. 7(3): 555-568,  2017.


[63] Heinrich, Bernd, and Lars Lewerenz. 'Decision support for the usage of mobile information services: A context-aware service selection approach that considers the effects of context interdependencies.' Journal of Decision Systems 24.4 (2015): 406-432.


[64] Gai, Keke, et al. 'Dynamic energy-aware cloudlet-based mobile cloud computing model for green computing.' Journal of Network and Computer Applications 59 (2016): 46-54.


[65] 朱勇,罗军舟,李伟. 一种工作流环境下能耗感知的多路径服务组合方法. 计算机学报, 2012, 35(3): 627-638.


[66] Deng,S., Huang, L., et al.. 'Mobile service selection for composition: an energy consumption perspective.' IEEE Transactions on Automation Science and Engineering, 14(3): 1478-1490 2017.


[67] Palacin, M. R.  Recent advances in rechargeable battery materials: a chemist’s perspective. Chemical Society Reviews, 38(9): 2565-2575, 2009.


[68] Li, D. and Halfond, W. G. J.. An investigation into energy-saving programming practices for android smartphone app development. In Proceedings of the 3rd International Workshop on Green and Sustainable Software. ACM, pp.46-53, 2014.


[69] Banerjee, A., Chong, L. K., Chattopadhyay, S. , and Roychoudhury, A. Detecting energy bugs and hotspots in mobile apps. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, pp.588-598, 2014.


[70] 吴松,牛超,金海. 面向云-端融合的移动容器云平台. 中国计算学会通讯, 12(11): 28-34,2016.


[71] Kumar, K., Liu, J., Lu, Y. H., Bhargava, B. A survey of computation offloading for mobile systems. Mobile Networks and Applications, 18(1): 129-140, 2013.


[72] Cuervo, E., Balasubramanian, A., et al. MAUI: making smartphones last longer with code offload. In Proceedings of the 8th international conference on Mobile systems, applications, and services. ACM, pp.49-62, 2010.


[73] Chun, B.G., Ihm, S., Maniatis, P., et al. Clonecloud: elastic execution between mobile device and cloud. In Proceedings of the sixth conference on Computer systems. ACM, pp.301-314, 2011.


[74] Shi C., Habak K., Pandurangan P., et al. Cosmos: computation offloading as a service for mobile devices. In Proceedings of the 15th ACM international symposium on Mobile ad hoc networking and computing. ACM, pp.287-296, 2014.


[75] Satyanarayanan M., Bahl P., Caceres R., Davies N. The case for vm-based cloudlets in mobile computing. IEEE pervasive Computing, 8(4):14-23, 2009.


[76] Kosta S., Aucinas A., Hui P., et al. Thinkair: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading. In Proceedings of Infocom. IEEE, pp. 945-953, 2012.


[77] Gordon M. S., Jamshidi D. A., Mahlke S., et al. Comet:Code offload by migrating execution transparently. In Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation, pp.93-106, 2012.


[78] Golchay R., Mouël F. L., Ponge J., Stouls N. Spontaneous proximity clouds: making mobile devices to collaborate for resource and data sharing. In Proceedings of the 12th International Conference on Collaborative Computing, pp 480-489, 2016.


[79] 曹春,陆子凌,马晓星. 云-端融合下的端设备能耗优化. 中国计算学会通讯, 12(11): 35-42,2016.


[80] Zhang Y., Huang G., Liu X.Z., et al. Refactoring android java code for on-demand computation offloading. In Proceedings of the ACM international conference on Object oriented programming systems languages and applications. ACM, 47(10): 233-248, 2012.


[81] Wu X. Y., Xu C., Lu Z.L., et al. Cosedroid: Effective computation-and sensing-offloading for Android apps. In Proceedings of 39th Annual Computer Software and Applications Conference. IEEE, 2: 632-637, 2015.


[82] Wang X., Balasubramanian A., Krishnamurthy A., and Wetherall D. Demystifying page load performance with Wprof. In Proceedings of the 10th USENIX Conference on Networked Systems Design and Implementation (NSDI 2013), pp. 473-486, 2013.


[83] Wang Z., Lin F., Zhong L., and Chishtie M. How far can client-only solutions go for mobile browser speed? In Proceedings of the 21st International Conference on World Wide Web (WWW 2012), pp. 31-40, 2012.


[84] Zhang Y., Tan C.  and Qun L. CacheKeeper: a system-wide web caching service for smartphones. In Proceedings of the 2013 ACM International joint Conference on Pervasive and Ubiquitous Computing (UbiComp 2013), pp. 265-274, 2013.


[85] Ma Y., Liu X., Zhang S., et al. Measurement and Analysis of Mobile Web Cache Performance. In Proceedings of the 24th International Conference on World Wide Web, (WWW 2015), pp 691-701. Florence, Italy, May 2015.


[86] Liu X., Ma Y., Liu Y., et al. Demystifying the Imperfect Client-Side Cache Performance of Mobile Web Browsing. IEEE Transactions on Mobile Computing. 15(9): 2206-2220 (2016).


[87] Liu X., Ma Y., Dong S., et al. ReWAP: Reducing Redundant Transfers for Mobile Web Browsing via App-Specific Resource Packaging. IEEE Transactions on Mobile Computing. Accepted to appear.


[88] Wang L. and Manner J.. Energy-efficient mobile Web in a bundle. Computer Networks, vol. 57, pp. 3581-3600, 2013.


[89] Singh S., Madhyastha H., Krishnamurthy S., and Govindan R.. FlexiWeb: Network-aware compaction for accelerating mobile Web transfers. In Proceedings of the 21st Annual International Conference on Mobile Computing and Networking (MobiCom 2015), pp. 604-616, 2015.


[90] Opera Mini Browser. http://www./mobile/mini/iphone. 


[91] Google Chrome Beta Browser. https://www.google.com/chrome/browser/beta.html. 


[92] Koukoumidis E., Lymberopoulos D., Strauss K., Liu J., and Burger D.. Pocket cloudlets. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating System (ASPLOS 2011), pp. 171-184, 2011.


[93] Lymberopoulos D., Riva O., Strauss K., Mittal A., and Ntoulas A. PocketWeb: instant web browsing for mobile devices. In Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating System (ASPLOS 2012), pp. 1-12, 2012.


[94] Butkiewicz M., Wang D., Wu Z., Madhyastha H. V., and Sekar V. KLOTSKI: Reprioritizing web content to improve user experience on mobile devices. In Proceedings of the 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2015), pp. 439-453, 2015.


[95] Liu X., Ma Y., et al. i-Jacob: An Internetware-Oriented Approach to Optimizing Computation-Intensive Mobile Web Browsing. ACM Transactions on Internet Technology. Accepted to appear.


[96] Liu X., Ma Y., Wang X., et al. SWAROVsky: Optimizing Resource Loading for Mobile Web Browsing. IEEE Transactions on Mobile Computing. Accepted to appear.


中国计算机学会   

微信号:ccfvoice           

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多