01背景&問題
① 移動系統(tǒng)方面,單就Android而言,超過24000個擴散系統(tǒng)可用。它們和不同的硬件平臺高度集成,這樣硬件平臺集成了大量使用非標準接口的不同硬件設(shè)備,并且使用不標準的接口。不同版本的應(yīng)用軟件運行在這些系統(tǒng)上,包括各種版本的Android和IOS,尤其是Android。設(shè)備、硬件和軟件的異構(gòu)讓跨系統(tǒng)的結(jié)合多種設(shè)備變得很難;
②數(shù)據(jù)格式方面,眾多的移動設(shè)備會產(chǎn)生不同數(shù)據(jù)格式的大量數(shù)據(jù),從各種各樣的傳感器到音頻和視頻設(shè)備,異構(gòu)的數(shù)據(jù)格式給不同系統(tǒng)和設(shè)備之間的資源共享帶來極大困難;
③ 網(wǎng)絡(luò)性能方面,要能夠在既定網(wǎng)絡(luò)環(huán)境下,實現(xiàn)高帶寬的數(shù)據(jù)共享并且保證安全和性能;
02設(shè)計
首先,M2提出以數(shù)據(jù)為中心的共享方式,將移動設(shè)備分為client和server,分別在client和server建立可用設(shè)備清單和設(shè)備清單。M2通過修改移動系統(tǒng)的System Service層實現(xiàn)跨設(shè)備的資源共享,因為上層應(yīng)用是通過系統(tǒng)服務(wù)(public API)獲取的數(shù)據(jù)。
另外,M2只需要修改client端和server端部分本地框架,引入用戶級別的虛擬設(shè)備。下圖是M2的架構(gòu)。以觸摸屏輸入為例:在server端,M2 App運行在前臺,當用戶觸摸屏幕,這個input event就被M2 App捕獲,然后APP將對這input event標準化并且打包它的細節(jié)變成M2系統(tǒng)的標準輸入格式;
然后,這個event就和一些輔助信息轉(zhuǎn)發(fā)到client端的輸入系統(tǒng);接收之后,client端的input system services會解包input event然后轉(zhuǎn)換成client平臺的input format。如果有額外需求(根據(jù)輔助信息),還要做計算進行適配(fused display)。
其次,M2通過device transformation和transformation plugin框架靈活的使用遠程設(shè)備。使得現(xiàn)在的App可以透明使用并且組合本地和遠程的設(shè)備,無需修改應(yīng)用就可以達到multi-mobile的功能。一個device transformation框架包含三部分:①input device abstraction ;② output device abstraction;③ transformation function。表3顯示了這些設(shè)備轉(zhuǎn)換類型。
例如,該表第一個fused用于融合輸入,轉(zhuǎn)換設(shè)備的一種應(yīng)用,fused display將四個平板結(jié)合成為一個,按照比例切分為四部分,在不影響游戲體驗的情況下,擴大了顯示界面。如下圖所示:
又如該表第二個translated類型,使用轉(zhuǎn)換設(shè)備將眼睛移動變成觸屏輸入,這對于殘疾人或者無法使用手觸的人來說非常實用。服務(wù)端設(shè)備通過人臉識別功能使用相機追蹤眼睛移動,產(chǎn)生的信號會轉(zhuǎn)換為觸摸,它將作為輸入數(shù)據(jù)傳輸?shù)娇蛻舳嗽O(shè)備。
最后,M2 中client和server通過標準網(wǎng)絡(luò)sockets通信,使用wifi或者wifi-direct。對于控制消息和重要數(shù)據(jù),M2使用TCP;對于顯示、音頻、和相機preview,使用UDP。同時,M2通過硬件編碼來壓縮display和audio的數(shù)據(jù),保證系統(tǒng)面對高帶寬傳輸時的性能表現(xiàn);M2通過128-bit AES加密和設(shè)置連接密鑰確保移動設(shè)備連接的安全;M2系統(tǒng)中,服務(wù)端設(shè)備除發(fā)送時外不承擔其他功能 類似于靜默的 外部設(shè)備 服務(wù)端和客戶端可以隨時斷開連接隨時重新連接,M2在client端會維持所有App的狀態(tài)信息,根據(jù)傳輸?shù)脑O(shè)備數(shù)據(jù)調(diào)整傳輸策略。App的狀態(tài)完全在client端,網(wǎng)絡(luò)的斷連不會導(dǎo)致App崩潰。
03實驗結(jié)果
M2運行在五種不同 SoC(Nexus 4 5 7 9, iPad mini以及iPhone 6S) 和九種不同版本的 Android 和 iOS 的異構(gòu)智能手機和平板電腦配置上,包括 Android 版本 Jelly Bean (4.3)、KitKat (4.4)、Lollipop (5.0)、Marshmallow (6.0.x), 和Nougat(7.1.1)。主要有以下三方面性能指標:
① 顯示性能
論文采用 Android PassMark 基準測試,這是一組資源密集型測試,用于評估 CPU、內(nèi)存、I/O 和圖形性能。圖 3 顯示了根據(jù) Android Lollipop 性能標準化的 PassMark 基準測量結(jié)果;越低越好。隨著遠程顯示設(shè)備數(shù)量的增加,M2 會產(chǎn)生一些額外的開銷,但這種開銷并不大,并且在某些測試中與使用的設(shè)備數(shù)量無關(guān)。圖 4 顯示了運行 PassMark 測試時所需的每臺設(shè)備平均網(wǎng)絡(luò)帶寬,匯總到最小圖形 CPU、磁盤和內(nèi)存測試、2D 測試、3D 簡單測試和 3D 復(fù)雜測試中。運行基準測試的客戶端所需的網(wǎng)絡(luò)帶寬是顯示的帶寬乘以遠程設(shè)備的數(shù)量,因為它將顯示數(shù)據(jù)發(fā)送到每個遠程設(shè)備。
② 拍照延遲
捕獲時間表明,與使用本地攝像機相比,M2 產(chǎn)生的額外延遲可以忽略不計。遠程攝像機場景的總時間要高得多,因為通過網(wǎng)絡(luò)將圖片傳輸?shù)娇蛻舳藨?yīng)用程序的默認本地存儲需要時間。在 N7 使用 N4 遠程攝像頭的最壞情況下,由于傳輸時間的原因,總時間比捕獲時間多近一秒。圖 5 還顯示了拍攝照片的帶寬要求,包括相機預(yù)覽和從遠程相機拍攝的照片到本地存儲的傳輸中。相機預(yù)覽的分辨率低于原始顯示分辨率,因此其帶寬要求低于 3Mbps。
③ 音頻延遲
論文使用音頻基準 Zoiper 測量音頻和麥克風延遲。圖 6 顯示了音頻延遲。對于大多數(shù)測試,與普通 Android 相比,M2 增加的延遲可以忽略不計,即使使用遠程麥克風和揚聲器也是如此。M2 產(chǎn)生更高性能開銷的一種情況是,當使用遠程揚聲器和麥克風以 44.1 KHz 的采樣率和 81.3 毫秒的 Zoiper 緩沖區(qū)大小設(shè)置運行基準測試時,導(dǎo)致大約 100 毫秒的額外延遲和近 20% 高架。
04結(jié)論
首先,M2引入了一種新的以用戶級數(shù)據(jù)為中心的方法,即通過System Services導(dǎo)出和導(dǎo)入設(shè)備數(shù)據(jù),這使得M2具體良好移植性;其次,M2引入了設(shè)備轉(zhuǎn)換,以透明地混合和匹配不同系統(tǒng)中不同的設(shè)備和不同的數(shù)據(jù)格式。這使得未經(jīng)修改的應(yīng)用程序能夠以新的強大的方式共享和組合設(shè)備,例如多端顯示器、更好的音頻質(zhì)量的電話會議、面向殘疾用戶的用戶界面,以及在iOS系統(tǒng)上運行Android應(yīng)用程序。同時,M2利用商用移動編碼和加密硬件來實現(xiàn)高質(zhì)量性能,甚至用于3D游戲。最后,該項目未開源,復(fù)現(xiàn)上有一定難度。
審核編輯:劉清
-
傳感器
+關(guān)注
關(guān)注
2542文章
50277瀏覽量
750187 -
轉(zhuǎn)換器
+關(guān)注
關(guān)注
27文章
8578瀏覽量
146551 -
UDP協(xié)議
+關(guān)注
關(guān)注
0文章
68瀏覽量
12667 -
狀態(tài)機
+關(guān)注
關(guān)注
2文章
490瀏覽量
27436 -
TCP通信
+關(guān)注
關(guān)注
0文章
146瀏覽量
4192
原文標題:如何實現(xiàn)異構(gòu)設(shè)備的資源共享?
文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論