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

时间:2025-04-28  作者: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游戏。该项目未开源,复现上有一定难度。


审核编辑:刘清

猜您喜欢


江苏Murata贴片电容,应用于电子行业。在电路中起到重要作用。许多厂家都使用这种电容。本文将介绍其特点和优势。产品种类多Murata贴片电容种类很多。包括陶瓷...
2025-04-12 07:00:06

想知道那些密密麻麻印在贴片电阻上的字符是什么意思吗?其实,国内贴片电阻的命名方法并不复杂,掌握规律后就能轻松解读。一般来说,国内贴片电阻的命名主要采用数字字母组...
2024-11-26 11:29:20



当今快速发展的科技时代,PM_55X45MM_TM作为一种新型的产品,正逐渐受到各界的关注。它不仅在设计上具备独特的优势,还在多种应用场景中表现出色。本文将深入...
2025-02-24 16:24:07

贴片电阻是一种常见的电子元件,其作用是限制电流的流动。它的工作原理基于欧姆定律:电压 (V) = 电流 (I) * 电阻 (R)。当电流流过贴片电阻时,电阻材料...
2024-11-26 11:29:16

3000f超级法拉电容是新一代储能设备。容量非常大,能满足多种应用需求。本文将介绍3000f超级法拉电容的特点和应用。大容量储能3000f超级法拉电容,容量非常...
2025-04-13 14:31:08

微孔板和PCR耗材是现代生物实验中不可少的工具。微孔板通常由塑料制成,表面上有多个微小的孔洞,能够容纳液体样本,应用于高通量筛选、细胞培养和酶联免疫吸附实验(E...
2021-02-28 00:00:00

电容器是电子元器件,在电路中起到储存电能的作用。电容器的生产工艺流程复杂,涉及多个环节。本文将为您简要介绍电容器的生产工艺流程。原材料准备电容器的生产,首先需要...
2025-03-19 12:30:34