我们来自OpenHarmony开发者成长计划:啃论文小队,我们在欧建深教练的带领下啃论文。我们是TCCS团队,全意为The Child Collecting Shells。“我并不知道我在世人眼中是什么模样,对我来说,我似乎只像是一个在海边玩耍的男孩,不时找一颗平滑的卵石,或是比较美丽的贝壳来取悦自己,而真理的大海则横陈在我面前,一无发现。”——牛顿
本文4800字读起来花不了几分钟,本篇绪论主要作者为TCCS团队的张君豪,虽然我也什么都看不懂,但是我想就算你是一个什么也不懂的小白,我们也要让你通过我们这系列文章读懂分布式软总线通讯,不仅要大受震撼,更要看懂,看懂且大受震撼是我的追求。
1、序言
我们知道(上一篇提到),实现分布式软总线通讯的整体步骤大概是以下这几步!
也就是第一步是设备的发现与连接,将设备间手动的发现和连接进化成自发现。那么发现的前提就是首先需要硬件能力的虚拟化,因此本文从设备虚拟化展开,我们参考了几篇paper,
2、何为虚拟化
为了更轻易的搞懂什么是虚拟化,自然首选就是去找一篇中文综述,通过一篇中文综述我们就可以轻而易举的了解整个虚拟化技术的大致框架,这同时也使我们可以站在巨人的肩膀上看世界。首先我们找到了朱军红等人的一篇虚拟化技术分析[1],通过对文章的阅读我们知道虚拟化技术主要把计算机底层物理硬件资源、操作系统以及应用程序API资源进行抽象与集中管理,虚拟化技术作为连接上下层的中间件,通过上下层耦合提高架构灵活性。也就是说,虚拟化技术实现了对物理内存资源、存储资源抽象管理与应用程序多任务共享操作管理。而虚拟化技术主要有平台虚拟化、资源虚拟化、应用虚拟化三个技术。
平台虚拟化分为全虚拟化、超虚拟化、硬件辅助虚拟化、部 分虚拟化、操作系统虚拟化 。全虚拟化主要是对CPU、内存、 存储器等底层硬件资源进行完全虚拟,同时软件资源与虚拟化 平台进行无缝衔接,同时虚拟机可以直接访问底层硬件资源, 不需要通过宿主操作系统实现访问;超虚拟化主要是通过修 改部分宿主操作访问级实现虚拟主机与宿主操作系统间的数 据交互;硬件辅助虚拟化主要是指硬件资源提供虚拟监视器结 构支持,实现虚拟机独立运行;部分虚拟化是指通过VMM模拟内存地址空间,实现资源共享和线程独立;操作系统级虚拟化是指多个虚拟机独立运行在同一个宿主主机上,不同虚拟主机 间互不影响。
资源虚拟化技术是指在计算机底层硬件资源(磁盘、CPU、 电源等)上建立一个抽象层,通过该抽象层为上层应用提供服务,该层主要起到了平衡利用硬件资源的目的。常见的资源虚拟化技术有存储虚拟化、网络虚拟化、计算虚拟化。
应用虚拟化技术是指为应用程序虚拟出脱离操作系统的虚拟运行环境,对应用程序依赖的操作环境与硬件资源进行虚拟化处理,目前应用虚拟化技术主要有应用程序流、远程桌面服务、桌面虚拟化。
好了,看了这么多,是不是发现看不懂?或者说感觉它和我们需要的设备虚拟化又像是有关系却又像没关系?或者说感觉像是方向偏离了那么一点?对的,那我们就来看一下另一篇文献,这篇是张浩的设备虚拟化技术在家庭物联网中的应用[2]。如果要把上面提到的所有虚拟化方面全部说清楚那就又是一个巨大的工程,而且这个过程已经偏离了我们的轨道,所以我们就直接转向正确的方向去逐步挖掘,也希望大家通过我们的挖掘之路能给自己的研究提供一些启发。
在科研理论方面,支撑物联网发展的信息技术也不断涌现,其中普适计算理论较为成熟。在普适计算所描述的环境中,日常生活中的各种具有计算和通信能力的物体都能够从物理空间映射到信息空间并以普适服务的形式进行表达,然后再通过无缝融合、自发交互等。
形成一个智能空间。在这个空间里,存在着大量的不同系统平台、不同通信协议、不同存储模式以及不同生产厂商的设备。这些异构设备间的互联互通互操作的实现,也正是当前物联网技术需要解决的问题。
所以,其实设备虚拟化实现的主要技术方案是普适计算。
3、普适计算的来日与方长
1991年,前Xerox PARC首席科学家Mark Weiser最先提出了普适计算的概念,他强调了把计算能力嵌入到自然环境和日常生活中,让人们把注意力集中到任务本身(这是不是和鸿蒙系统分布式软总线子系统的目标是一致的?),而参与任务的计算机则消失在人们的视线中。这也意味着,普适计算的目的是把传统桌面计算的“显式交互”变成未来的“隐式交互”。
90年代后期,MarkWeiser所提出的普适计算思想开始得到国际社会的广泛关注和接受。而针对这一思想, 目前已经启动了许多相关的研究计划,并且普适计算也成为了当前极具影响力和活力的研究领域。但对于普适计算的准确定义,目前还没有统一的标准。根据不同的研究方向和侧重点有着不同的理解,但他们的目标都是-致的,那就是“建立一个具有通信和计算能力的环境,同时使得人和环境渐渐地融合在一-起”。而国内普适计算领域的专家、清华大学教授徐guang佑等人给出的定义是:“普适计算是物理空间与信息空间的融合,在这个融合的空间中人们可以随时随地、透明地获得数字化的服务”。其中“随时随地”强调的是在任何时候、任何场所,我们不需要坐在电脑面前就可以获取想要的服务;而“透明”指的是获取服务的整个过程是不需要花费太多的时间和注意力的,整个服务的交互过程对使用者来说是透明的、蕴涵式的。例如:当我们下班回家站在门口的时候,门就会自动打开,并且将房间的灯也会打开。这就是一个典型的普适计算应用场景。总之,普适计算的目的就是让人们从以计算机为中心的桌面计算时代中逃离,进入一个以人为中心的计算时代。
4、普适计算综述研究的小插曲儿
上面我们已经了解到了普适计算的历史,那么下面我们就来从技术的角度来探讨一下普适计算的实现与关键点。首先我们先找到了一篇外文论文A SURVEY ON UBIQUITOUS COMPUTING(普适计算的调查)[3],但是在我花了1个小时对这篇阿三(对印度大哥的爱称)产出的论文进行研究以后,emmmm,我发现我浪费了1个小时。。。。。不过也不算浪费,至少还是有收获的,我发现三哥提出的这个框架和分布式软总线还是有相似之处的,只是三哥只提到了一个思路,并没有对核心技术原理进行探究以及诠释,反而搞了个社会调查。。。。。。下图就是三哥提出来的架构图!
说实话这个图其实我并没有很看懂,虽然论文下面也附了简短的介绍说了一堆没什么用的话,也欢迎大家来交流,原论文中对本结构解释如下。
它包括各种类型的传感器和执行器以及用于处理它们的驱动程序和控制器,它还包括各种配置文件,例如用于优化处理资源的资源配置文件、用于管理用户设置和偏好的用户配置文件、用于控制流程执行的执行配置文件。多任务调度器模块用于高效地处理多个任务并支持应用程序中的多任务环境。多用户输入处理程序和虚拟用户环境模块提供对多用户以及上下文和用户设计管理的支持。用户数据库模块有助于对用户进行身份验证。工具、监控、复制、通信、本地化等其他模块支持泛在计算应用程序中的各种功能。
5、普适计算核心技术初探
这是我们这篇文章参考的第四篇论文:Ubiquitous computing: An overview of technology impacts [4],这是一篇SSCI论文,比上面一篇更加权威一些。我们这次从这一篇开始进行研究。这篇文献是2010年发出来的,所以迄今为止已经有一些年月了,所以我们只是选择性的进行阅读,而我们这篇文章如果想一下子就把这么大的一个方面说清楚也是很困难的,所以我们一步步来,各位观众姥爷一点点看。
这篇文章首先介绍了什么是普适计算,然后列举了普适计算在各国的发展(当然这个发展截止到2010年),然后介绍了普适计算的技术基础,在随后就是应用方面,以及法律、媒体如何看待这个技术了,而我们这篇文章重点就在于初步的发掘普适计算的技术基础部分,通过这个部分希望能让我们对普适计算有一个基础的了解。当然如果大家对这篇文章的其他部分感兴趣我也可以将论文分享给大家。
OK,Let‘s begin!是不是有英语课那味儿了?,“Communication technology, in particular mobile communication, is considered the key technology in ubiquitous computing.”,翻译过来就是:通信技术,尤其是移动通讯技术是普适计算的关键技术。前面我们提到设备虚拟化的关键技术是普适计算,而文中提到普适计算的关键技术就是通信技术,除了移动通信技术外,我们现在还拥有许多强大的近距离通讯技术,比如鸿蒙分布式软总线拥有的技术就包括上文提到的NFC、WiFi、红外、USB等,再来看看我们之前的架构图,我们就能明白,普适计算构建了底层硬件层面的基础互联,而实现普适计算的相关计算协议我们将会在下一篇推出来详细的聊一聊相关物联网协议。
从技术角度来看,普适计算将分为两个阶段来实现:
第一阶段,也就是作者当时所处的阶段:
In the present first phase, the possibilities of auto-ID technologies will be utilized above all, in particular in RFID, which contribute towards equipping objects in the real world and persons with information technologies. Especially in the business environment, this enables a seamless communication, which is the basis for a great variety of (new) applications.These are primarily utilized to control processes and material flows more efficiently. For the private user, new information services emerge in this phase, through which mobile devices will be upgraded. The technical preconditions for the new functions and features are an increased performance of the devices, further miniaturisation and the possibility of ad hoc networking。
简明的来说就是,在当时所处的第一阶段,首先借助例如RFID的自动识别技术,为现实中的人和物体进行匹配,特别是在商业环境中实现无缝通信,比如我们现在随处可见的与自己手机配对的蓝牙耳机、智能手表、扩展显示屏等,初步将人与物关联起来是做的第一步。
第二阶段:
The second phase of ubiquitous computing is characterized by an increasing integration of previously separate solutions and individual end devices to a completely networked information system. This can lead to the replacement of conventional devices by specialized devices (e.g., wearables) or by ‘‘ambient interfaces” and ‘‘responsive environments” which will be jointly used by many users. The increased use of sensors will enable these systems to recognize their users and environment and thus to process recognized tasks autonomously to a certain extent。
简而言之就是将以前与人配对好的一个个独立的设备相互之间连接起来,集成到一个完全网络化的信息系统中,他可能导致传统设备被专用设备所取代,比如我们可能不再需要一个专门的电视来实现看电视而是接一个拓展屏实现视频播放功能,身旁的音响来实现音频播放功能,而这个连接过程是自动去实现的而不是自己去到处连接或者接线,同时可能会增加传感器来区分用户和任务而不是自己去切换调节,比如识别到你说播放电视就会给你播放学习视频非诚勿扰,而你远方4岁的表弟说播放视频就会播放喜羊羊与灰太狼,这就是自主识别用户和环境。
我们可以理解为普适计算的第一阶段是连接单一的人和物品,而第二个阶段就是将所有物品通过网络相互连接起来,打通任督二脉,而实现所有物品相互连接就必然需要屏蔽不同协议之间的区别,那么不同协议又有什么异同呢?我们又该如何去打通去连接呢?我们下节就会通过去横向分析不同网络协议来对分布式软总线进行抽丝剥茧的进一步探讨!
参考文献:
[1]朱军红,唐明根,孙学杉.虚拟化技术分析[J].电脑知识与技术,2016,12(04):229-230.DOI:10.14004。
[2]张浩. 设备虚拟化技术研究及在家庭物联网中的应用[D].湘潭大学,2013。
[3]Meshram V, Meshram V, Patil K. A survey on ubiquitous computing[J]. ICTACT Journal on Soft Computing, 2016, 6(2): 1130-1135。
[4] Friedewald M, Raabe O. Ubiquitous computing: An overview of technology impacts[J]. Telematics and Informatics, 2011, 28(2): 55-65。