教你一种实现异构设备资源共享的方法

时间:2025-06-13  作者:Diven  阅读:0

01背景&问题

教你一种实现异构设备资源共享的方法

① 移动系统方面,单就Android而言,超过24000个扩散系统可用。和不同的硬件平台高度集成,这样硬件平台集成了大量使用非标准接口的不同硬件设备,并且使用不标准的接口。不同版本的应用软件运行在这些系统上,包括各种版本的Android和IOS,尤其是Android。设备、硬件和软件的异构让跨系统的结合多种设备变得很难;

②数据格式方面,众多的移动设备会产生不同数据格式的大量数据,从各种各样的传感器到音频和视频设备,异构的数据格式给不同系统和设备之间的资源共享带来极大困难;

③ 网络性能方面,要能够在既定网络环境下,实现高带宽的数据共享并且保证安全和性能;

02设计

M2提出以数据为中心的共享方式,将移动设备分为client和server,分别在client和server建立可用设备清单和设备清单。M2通过修改移动系统的System ServICe层实现跨设备的资源共享,因为上层应用是通过系统服务(publIC API)获取的数据。
另外,M2只需要修改client端和server端部分本地框架,引入用户级别的虚拟设备。下图是M2的架构。以触摸屏输入为例:在server端,M2 App运行在前台,当用户触摸屏幕,这个input event就被M2 App捕获,然后APP将对这input event标准化并且打包细节变成M2系统的标准输入格式;
然后,这个event就和一些辅助信息转发到client端的输入系统;接收之后,client端的input system services会解包input event然后转换成client平台的input format。如果有额外需求(根据辅助信息),还要做计算进行适配(fused display)。

35c87b2c-37dd-11ee-9e74-dac502259ad0.png

M2通过device transformation和transformation plugin框架灵活的使用远程设备。使得现在的App可以透明使用并且组合本地和远程的设备,无需修改应用就可以达到multi-mobile的功能。一个device transformation框架包含三部分:①input device ABStraction ;② output device ABStraction;③ transformation function。表3显示了这些设备转换类型。

35f3f270-37dd-11ee-9e74-dac502259ad0.png

例如,该表第一个fused用于融合输入,转换设备的应用,fused display将四个平板结合成为一个,按照比例切分为四部分,在不影响游戏体验的情况下,扩大了显示界面。如下图所示:

361ab3e2-37dd-11ee-9e74-dac502259ad0.png

又如该表第二个translated类型,使用转换设备将眼睛移动变成触屏输入,这对于残疾人或者无法使用手触的人来说非常实用。服务端设备通过人脸识别功能使用相机追踪眼睛移动,产生的信号会转换为触摸,将作为输入数据传输到客户端设备。

M2 中client和server通过标准网络sockets通信,使用wifi或者wifi-direct。对于控制消息和重要数据,M2使用TCP;对于显示、音频、和相机preview,使用UDP。M2通过硬件编码来压缩display和audio的数据,保证系统面对高带宽传输时的性能表现;M2通过128-bit AES加密和设置连接密钥确保移动设备连接的安全;M2系统中,服务端设备除发送时外不承担其功能 类似于静默的 外部设备 服务端和客户端可以随时断开连接随时重新连接,M2在client端会维持所有App的状态信息,根据传输的设备数据调整传输策略。App的状态完全在client端,网络的断连不会导致App崩溃。

03实验结果

M2运行在五种不同 SoC(Nexus 4 5 7 9, iPad mini以及iPhone 6S) 和九种不同版本的 Android 和 iOS 的异构智能手机和平板电脑配置上,包括 Android 版本 Jelly Bean (4.3)、KitKat (4.4)、Lollipop (5.0)、Marshmallow (6.0.x), 和Nougat(7.1.1)。主要有以下三方面性能指标:

① 显示性能

论文采用 Android PaSSMark 基准测试,这是一组资源密集型测试,用于评估 CPU、内存、I/O 和图形性能。图 3 显示了根据 Android Lollipop 性能标准化的 PaSSMark 基准测量结果;越低越好。随着远程显示设备数量的增加,M2 会产生一些额外的开销,但这种开销并不大,并且在某些测试中与使用的设备数量无关。图 4 显示了运行 PassMark 测试时所需的每台设备平均网络带宽,汇总到最小图形 CPU、磁盘和内存测试、2D 测试、3D 简单测试和 3D 复杂测试中。运行基准测试的客户端所需的网络带宽是显示的带宽乘以远程设备的数量,因为将显示数据发送到每个远程设备。

363b6998-37dd-11ee-9e74-dac502259ad0.png

② 拍照延迟

捕获时间表明,与使用本地摄像机相比,M2 产生的额外延迟可以忽略不计。远程摄像机场景的总时间要高得多,因为通过网络将图片传输到客户端应用程序的默认本地存储需要时间。在 N7 使用 N4 远程摄像头的最坏情况下,由于传输时间的原因,总时间比捕获时间多近一秒。图 5 还显示了拍摄照片的带宽要求,包括相机预览和从远程相机拍摄的照片到本地存储的传输中。相机预览的分辨率低于原始显示分辨率,因此其带宽要求低于 3Mbps。

③ 音频延迟

论文使用音频基准 Zoiper 测量音频和麦克风延迟。图 6 显示了音频延迟。对于大多数测试,与普通 Android 相比,M2 增加的延迟可以忽略不计,即使使用远程麦克风扬声器也是如此。M2 产生更高性能开销的情况是,当使用远程扬声器和麦克风以 44.1 KHz 的采样率和 81.3 毫秒的 Zoiper 缓冲区大小设置运行基准测试时,导致大约 100 毫秒的额外延迟和近 20% 高架。

04

M2引入了新的以用户级数据为中心的方法,即通过System Services导出和导入设备数据,这使得M2具体良好移植性;M2引入了设备转换,以透明地混合和匹配不同系统中不同的设备和不同的数据格式。这使得未经修改的应用程序能够以新的强大的方式共享和组合设备,例如多端显示器、更好的音频质量的电话会议、面向残疾用户的用户界面,以及在iOS系统上运行Android应用程序。M2利用商用移动编码和加密硬件来实现高质量性能,甚至用于3D游戏。该项目未开源,复现上有一定难度。


审核编辑:刘清

猜您喜欢

稳压二极管,作为重要的电子元件,应用于电源电路中,以保证电压的稳定性和可靠性。在电子产品设计和维修过程中,了解稳压二极管的型号及其特性,对于选择合适的元件非常重...
2025-04-07 15:00:35

三极管(BJT)是重要的电子元件,应用于各种电子电路中。主要作用是放大和开关信号。作为半导体器件,三极管可以将微弱的输入信号放大成更强的输出信号,这一特性使得在...
2008-10-23 00:00:00

贴片电阻由于体积小,直接测量比较困难。常用的测量方法有以下几种:使用万用表:对于阻值较大的贴片电阻(通常大于1欧姆),可以使用数字万用表进行测量。将万用表的表笔...
2024-11-26 11:29:28

塞尺块和厚度规是两种常用的测量工具,但在用途和结构上有显著区别。塞尺块通常由一系列不同厚度的金属片组成,用于精确测量间隙、缝隙或物体的厚度。特点是可以通过组合不...
2012-10-07 00:00:00

电子元件中,封装电阻是非常重要的一部分,应用于各种电子电路中。1206封装电阻是常见的表面贴装电阻,其尺寸为3.2mm x 1.6mm。了解1206封装电阻的功...
2025-04-15 02:00:06

肖特基二极管是应用于电子设备中的半导体器件,低正向压降和快速开关特性而受到青睐。对于许多初学者来说,如何准确区分肖特基二极管的正负极仍然是一个挑战。本文将为您详...
2025-04-10 11:31:10


贴片电阻2512,这个看似简单的数字组合,实际上蕴含着丰富的电子元件信息。它指的是一种表面贴装电阻(SMD电阻)的封装尺寸。 「2512」 中的 「25」 代表...
2025-04-14 15:03:21

放大镜是常见的光学工具,主要用于放大物体的细节,帮助人们更清晰地观察微小的物品。结构简单,通常由一个凸透镜和一个把手组成。放大镜通过折射光线,使得物体的图像在视...
2017-06-27 00:00:00

排阻体积作为常见的电阻器类型,因其结构紧凑、性能稳定而被应用。Viking(光颉)作为行业内知名品牌,其排阻体积产品以高品质和多样规格深受用户青睐。本文将详细介...
2018-05-24 15:33:55