亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向個人自組織網絡的硬件資源管理①

        2016-02-20 06:51:24方亞芬梁冠宇賀也平
        計算機系統(tǒng)應用 2016年12期
        關鍵詞:間通信鼠標進程

        方亞芬, 梁冠宇, 賀也平

        1(中國科學院軟件研究所 基礎軟件國家工程研究中心, 北京 100190)2(中國科學院軟件研究所 總體部, 北京 100190)3(中國科學院大學, 北京 100190)

        面向個人自組織網絡的硬件資源管理①

        方亞芬1,3, 梁冠宇2, 賀也平1

        1(中國科學院軟件研究所 基礎軟件國家工程研究中心, 北京 100190)2(中國科學院軟件研究所 總體部, 北京 100190)3(中國科學院大學, 北京 100190)

        隨著各類智能終端的普及, 多屏互動等跨設備使用硬件資源的應用不斷涌現(xiàn), 對硬件資源管理的跨平臺性和交互擴展性提出了更高的要求. 然而, 當前針對硬件資源共享的應用大多是缺少交互性的跨設備投影鏡像技術, 或者只是相互獨立的簡單應用, 面向的平臺、硬件資源類型單一, 難以靈活有效地應對新增需求. 針對這一問題, 研究了個人自組織網絡環(huán)境下多設備的硬件資源(鍵盤、鼠標、攝像頭等)的管理調配, 并提出一個具有良好跨平臺性、可擴展性的應用框架, 使得設備能夠像使用本機硬件一樣使用其他設備上的硬件資源, 借此方便用戶對其多個設備進行管理控制. 該框架包括設備間通信和硬件資源管理兩層, 前者提供信息傳輸服務, 保證實時通信, 后者負責管理可以訪問到所有硬件資源, 并提供資源申請、使用和狀態(tài)改變通知等功能, 極大地方便了跨設備應用的開發(fā).

        個人自組織網絡; 多設備; 硬件資源管理; 進程間通信; 應用框架

        傳統(tǒng)定義的自組織網絡(Ad hoc)是一種無中心,自組織、自愈的網絡, 是不需要依靠現(xiàn)有固定通信網絡基礎設施的、能夠迅速展開使用的網絡體系, 各個網絡節(jié)點相互協(xié)作、通過無線鏈路進行通信、交換信息, 實現(xiàn)信息和服務的共享. 而個人自組織網絡, 并不局限于無線網絡, 是以有線或無線方式組織的局域網絡, 屬于P2P網絡, 針對家庭或工作局域網中一個或多個用戶擁有的設備, 網絡中的設備無需配置即可實現(xiàn)互聯(lián)互通.

        傳統(tǒng)的資源管理一般針對互聯(lián)網中聚集的計算資源、存儲資源[1]等, 而個人自組織網絡中管理的是鍵盤、鼠標、顯示設備等可供利用的硬件資源, 基于此也產生了很多應用. 比如美國蘋果公司推出的無線技術Airplay, 多屏交互應用WiFi-Display, 開源技術Openflint, 還有用于跨設備使用鍵盤、鼠標的synergy和微軟的無界鼠標. 其中, Airplay使得同一局域網內蘋果系列的設備(iPhone、iPad、iPod touch 等)可以將內容(照片、音頻、視頻流)傳送到目標屏幕上, 以實現(xiàn)同步播放音樂、視頻等功能, 目前已經有越來越多的第三方設備支持Airplay功能[2]. 與Airplay相似的, 還有基于WiFi連接的多屏交互技術WiFi-Display, 它可以實現(xiàn)手機/移動PC-電視/顯示器的無線連接, 在無線設備與高清顯示屏之間實現(xiàn)可靠、對等的高清視頻與音頻流傳輸[3]. 支持在多設備間發(fā)現(xiàn)、啟動以及通信的開源技術——Openflint, 目前支持Android、iOS、web, FireFox OS的開發(fā), 開發(fā)人員可以基于該技術, 充分利用多個設備的資源以實現(xiàn)很多有趣的多屏互動應用[4]. 可以在多臺計算機之間共用鍵盤、鼠標的應用synergy, 支持Linux、Windows和Mac OS X系統(tǒng). 類似地, 微軟也推出了無界鼠標應用, 但是只支持Windows系統(tǒng).

        跨設備使用硬件資源的應用和技術層出不窮, 體現(xiàn)了對設備間硬件資源共享的需求. 然而, 類似上述實例, 它們針對的應用場景相對局限, 且在跨平臺性、針對的硬件資源種類以及透明交互的支持性上都有一定的不足. 其中, Airplay和WiFi-Display分別針對蘋果系列設備和Andriod設備, 面向平臺單一, 二者主要針對聲音、視頻、圖片等輸出, 互聯(lián)設備之間缺少交互性. 開源技術Openflint針對多屏互動推出了一些應用,這些應用主要針對聲卡、顯卡的使用, 且應用互相獨立, 設備間交互與應用自身緊耦合, 新應用的開發(fā)需要涵蓋底層數(shù)據通信和上層應用自身的所有功能. 跨設備使用鍵盤、鼠標的應用synergy和微軟的無界鼠標,都只是針對局域網中鼠標、鍵盤這兩類硬件資源, 且synergy使用前需要手動配置待交互的設備, 用戶體驗較差, 無界鼠標只是針對微軟的產品, 跨平臺性不好.隨著各類智能終端的普及, 家庭或工作局域網中可供使用的硬件資源越來越豐富, 硬件資源的共享不應再局限于單一平臺、單一應用, 上述技術多是聚焦于某一方面, 針對新增的需求體現(xiàn)出開發(fā)不夠靈活、不夠高效等局限性. 本文針對這一現(xiàn)象, 研究個人自組織網絡中各種終端節(jié)點的可用資源(鍵盤、鼠標、打印機等)的統(tǒng)一管理, 旨在提供一個支持多種硬件資源、跨平臺且方便交互和功能擴展的應用框架, 為多設備環(huán)境中的整體硬件資源提供統(tǒng)一的管理調度平臺, 并為上層的多屏互動[5-9]應用等提供底層支持. 鑒于個人自組織網絡自身的特點, 該應用框架需要解決通信的實時性、信息一致性維護、跨平臺性、安全性等方面的問題. 接下來, 本文將針對這些問題做詳細介紹.

        1 總體設計

        個人自組織網絡作為一個范圍相對較小的對等網絡, 對硬件資源的統(tǒng)一管理主要面臨有以下四個方面的挑戰(zhàn):

        1) 網絡拓撲結構動態(tài)變化

        各類終端通過網絡連接, 網絡的拓撲結構可能隨時發(fā)生變化, 這就需要及時發(fā)現(xiàn)網絡中的上/下線的設備, 并將更新的信息及時反饋到各個終端, 保證通信的實時性.

        2) 信息一致性維護

        在個人自組織網絡中, 沒有控制中心, 網絡中的各節(jié)點沒有主要和次要之分. 各個設備共享該網絡中所有設備的資源信息, 并根據自身硬件資源狀態(tài)響應其他節(jié)點的硬件資源服務請求, 這就涉及到信息一致性維護的問題.

        3) 節(jié)點異構

        個人自組織網絡中終端設備多樣, 例如筆記本、智能手機、平板電腦、智能電視等, 不同設備的系統(tǒng)類型和自身的處理能力也有很大區(qū)別, 相應地, 硬件資源管理需要具有較高的可擴展性、跨平臺性.

        4) 安全性

        鑒于網絡中終端設備多樣, 且移動終端電源有限,無法實現(xiàn)復雜的加密算法. 如何在該對等網絡下實現(xiàn)點對點的身份認證并保證安全通信, 也是亟待解決的問題.

        針對以上幾點問題, 本文研究并實現(xiàn)了一種面向個人自組織網絡的硬件資源管理框架, 該框架位于網絡中各個節(jié)點的操作系統(tǒng)內核之上, 屬于應用框架層的一部分, 框架分為兩部分: 設備間通信和硬件資源管理. 其總體架構如圖1所示.

        圖1 系統(tǒng)總體框圖

        在該框架中, 設備間通信模塊包括設備發(fā)現(xiàn)子模塊用于發(fā)現(xiàn)個人自組織網絡下的多個設備并提供設備IP等基本信息, 還負責不同設備組件間進行遠程交互,以及不同設備間組件的數(shù)據交換, 該模塊隱藏了底層通信實現(xiàn)細節(jié), 對外暴露簡單的通信接口, 為硬件資源管理模塊提供信息傳輸服務, 保證實時通信, 通過身份認證和簽名的方式保證數(shù)據可信性, 通過數(shù)據加密方式保證數(shù)據機密性; 硬件資源管理模塊負責管理可以訪問到所有設備資源, 并提供資源申請和使用的接口, 提供設備狀態(tài)改變通知等功能. 結合這兩個模塊, 為即時通信、多屏互動等相關應用提供底層支持.接下來本文將對設備間通信和硬件資源管理兩部分做詳細介紹.

        2 硬件資源管理

        2.1 設備間通信

        個人自組織網絡中的終端設備多樣, 不同設備的系統(tǒng)類型和自身的處理能力也有很大區(qū)別. 不同系統(tǒng)平臺提供了不同的進程間通信方式, 如Linux下的D-Bus[10]、Android下的Binder[11]等, 且不同平臺的數(shù)據通信在數(shù)據格式、編碼方式等方面也各有特點. 智能手機、平板等移動設備多以無線的方式互相連接,網絡信號不夠強且不穩(wěn)定, 這就要求設備間通信能夠做到傳輸數(shù)據的盡量壓縮, 方便解析, 以加快通信速度, 減少響應時間. 移動設備以電池這樣的易耗盡能源作為電源, 其CPU性能較低, 內存較小, 存儲資源有限, 難以支持復雜的加密算法, 這就要求設備間通信能夠在保證通信安全的同時做到靈活且簡單的數(shù)據加密.

        基于上述要求, 本文將通信模塊分為設備發(fā)現(xiàn)和通信兩部分. 其中, 設備發(fā)現(xiàn)是設備間通信的子模塊,也是設備間通信的前提, 用于發(fā)現(xiàn)連入個人自組織網絡中的設備, 監(jiān)控主機上下線, 并提供設備的基本信息[13,14]. 為兼顧不同平臺的進程間通信, 本文設計并實現(xiàn)了一個統(tǒng)一的通信適配層, 支持跨平臺訪問, 隱藏通信實現(xiàn)細節(jié), 為上層通信提供調用接口, 保證實時通信. 進程間通信的設計細節(jié)將在第3節(jié)詳細介紹.

        為壓縮傳輸數(shù)據, 加快數(shù)據格式化和解析速度,以減少通信占用帶寬和響應時間, 本文采用google提供的ProtoBuf作為數(shù)據交換格式. ProtoBuf是一種獨立于語言、平臺, 可擴展的序列化結構化數(shù)據的方式,它采用二進制數(shù)據傳輸格式, 壓縮方便, 解析速度快,非常適合異構環(huán)境下的數(shù)據通信[15,16]. 當前比較流行的數(shù)據存儲方式或序列化工具相比, ProtoBuf在序列化和反序列化時間以及序列化后數(shù)據壓縮比率上有著明顯優(yōu)勢, 其對比圖分別見圖2和圖3.

        圖2 序列化時間對比

        圖3 序列化后數(shù)據大小對比

        在通信通道建立時通過數(shù)字簽名認證接口保證通信雙方的可信性[17,18]. 此外, 通信層還提供數(shù)據加密接口, 可以方便靈活修改數(shù)據加密方式以保證通信的機密性.

        2.2 資源管理

        硬件資源管理模塊, 以守護進程的形式運行在每一臺設備上, 提供硬件資源信息查詢、硬件資源申請和使用、資源狀態(tài)改變通知的功能.

        2.2.1 資源描述

        通過對個人自組織網絡中的各類設備涵蓋的硬件資源進行概括抽象, 將設備的硬件資源分為輸入設備、輸出設備、硬盤、設備連接的打印機. 圖4展示了硬件資源管理模塊管理的資源分類情況.

        圖4 系統(tǒng)總體框圖

        本文提出并制定了一種特有的硬件資源描述方法,該方法通過遞歸定義, 統(tǒng)一各層硬件資源的描述格式,方便硬件資源的擴展和解析.

        各層的硬件資源的描述信息都包括資源的靜態(tài)描述信息和資源的詳細信息detail, 圖4中最下層的硬件資源(鍵盤、硬盤、打印機、顯示輸出等)的描述信息還包括標識該資源是否可用的狀態(tài)信息state. 靜態(tài)描述信息包括資源類型type(該設備中資源類型的唯一標識)、資源名稱name、和資源描述附加信息desc. 硬件資源的詳細信息detail記錄該類資源的信息詳情. 資源狀態(tài)信息state根據該資源是否被某一設備占用而動態(tài)變化, 并以此來限制其他設備對該資源的使用. 以圖3為例, 該設備的硬件資源(type)hardResource的資源名稱(name)為hard Resource, 資源附加描述信息(desc)為hard resource info, 資源的詳細信息detail包含了hardResource類別下的硬件資源信息, 即圖5中打印機信息. 打印機這一硬件資源的描述信息同樣包括靜態(tài)描述信息, 即類別(type)printer、名稱(name)printer info、附加信息(desc)printer of the device, 還包括資源詳細信息(detail). 打印機的資源狀態(tài)信息(state)為0表示該打印機未被占用. 其信息詳情detail以數(shù)組的形式記錄了該設備所連接的打印機詳細信息, 圖5表明該設備僅連接了一臺打印機, 具體信息包括打印機的名稱name、是否為該設備的默認打印機isDefault、打印機是否正在使用status、打印機的uri即device-uri、打印機狀態(tài)更新時間printer-state-change-time.

        硬件資源管理模塊中待管理的資源以樹形結構存儲于配置文件中, 擴展方便. 各層硬件資源采用一致的描述格式, 方便了對不同層級的硬件資源信息進行統(tǒng)一或遞歸式地解析.

        圖5 打印機的描述信息

        2.2.2 資源信息獲取

        硬件資源管理模塊啟動時收集本機的硬件資源信息, 并生成準確的描述信息(如屏幕尺寸、分辨率等等),初始化共享信息列表.

        設備加入個人自組織網絡的大致流程如圖6所示,當一臺式機設備上線(加入設備集群, 圖6的①)時, 組播自身的設備信息通知所有可達的設備, 進行共享信息列表同步, 集群中其他設備(智能手機、筆記本電腦等)的硬件資源信息列表也得到更新(圖6的②); 該設備在線期間, 對應設備的硬件資源狀態(tài)有所變化時,會向網絡中其他設備發(fā)送該變化信息, 對應設備的應用進程會收到相應的事件通知(圖6的③). 該設備下線(離開集群)時, 集群中的其他設備會收到其下線通知,更新自身的設備列表和硬件資源信息列表(圖6的②).在個人自組織網絡中, 各設備皆維護一個全局資源共享列表, 這就涉及到分布式環(huán)境下的數(shù)據一致性問題.本文參考經典的Paxos[19]算法, 針對硬件資源管理下的場景需求進行了必要的優(yōu)化, 最終解決數(shù)據一致性問題, 這部分將在第3節(jié)詳細介紹.

        2.2.3 資源申請和使用

        資源申請和使用的一般流程為: 應用進程首先申請使用某個設備資源(非本機), 通過權限審核等相關操作后, 完成數(shù)據流通道的建立并返回相應的數(shù)據流對象, 之后應用進程通過數(shù)據交互使用硬件設備資源.以視頻輸出設備為例, 整體過程如圖7所示, 具體步驟如下:

        圖6 設備加入集群流程圖

        圖7 設備加入集群流程圖

        1) 設備A的應用進程A-1申請使用設備B的屏幕作為輸出設備, 通過本地進程間通信(以下簡稱IPC)經通信守護進程(Communication-Daemon, 以下簡稱為CD)提交申請請求, 若設備B對應顯示器資源空閑且進程A-1滿足申請條件(權限等), 則設備B返回同意申請響應, 則依次完成步驟2)3)4)5), 并基于改進的Paxos算法同步集群資源狀態(tài), 否則則返回拒絕申請的響應;

        2) 設備A的硬件資源管理進程通過數(shù)據傳輸進程(DataTransfer, 以下簡稱為DT)完成設備間的數(shù)據流(stream1)通道建立;

        3) 對等節(jié)點設備B的硬件資源管理進程收到設備A應用程序的申請請求, 建立DT進程到視頻輸出進程的數(shù)據流(stream2)通道, 并連接stream1和stream2;

        4) 設備A建立應用進程A-1和DT的數(shù)據流(stream3)通道, 并連接stream1和stream3;

        5) 設備A返回stream3對象給應用進程A-1, 應用進程將產生的視頻數(shù)據輸入stream3, 即可由另一臺設備的視頻輸出進程處理, 并輸出至屏幕.

        3 關鍵實現(xiàn)技術

        3.1 通信設計

        通信模塊的設計需要兼顧不同平臺的適用性, 并提供一定的安全機制以確保通信的安全性.

        常用的幾種進程間通信方式有管道、消息隊列、信號量、共享內存、套接字等, 不同平臺也有不同的實現(xiàn)方式. Linux下的D-Bus作為應用程序間通信的消息總線系統(tǒng), 通過提供事務處理機制, 允許程序在其上注冊并為其他程序提供服務[10]. Android下的IPC基于Binder, Binder是一種C/S的架構, 客戶端可以通過同一臺設備的本地進程間通信的方式, 也可以通過多個設備之間的套接字連接, 獲得服務的代理接口, 直接調用服務提供的方法[11,12]. 本文設計并實現(xiàn)了一個統(tǒng)一的通信適配層, 兼容Linux、Android等多個系統(tǒng)平臺, 支持跨平臺訪問, 隱藏通信實現(xiàn)細節(jié), 為上層通信提供調用接口, 保證實時通信.

        本文設計并實現(xiàn)的設備間通信如圖8所示, 主要由三部分組成: 基于代理-存根(Proxy-Stub)模式的進程通信框架, RPC通信守護進程, 數(shù)據交換守護進程.

        圖8 設備加入集群流程圖

        1) 基于代理-存根(Proxy-Stub)模式的進程通信框架, 將自己的對外接口定義在存根模塊中, 同時定義對應的代理模塊. 當該進程啟動后, 框架機制會確保將存根的接口發(fā)布在當前運行平臺的IPC組件中, 其他進程可以通過框架提供方法獲取目標進程的代理模塊, 或者使用當前平臺本身的提供的方法獲得目標進程的接口. 因此, 基于此框架實現(xiàn)的進程完全兼容其他一般進程, 框架只是隱藏了底層復雜的機制, 通過接口調用即可實現(xiàn)IPC. 圖8中進程A-1、進程A-2、進程B-1、進程C-1等均是這種進程.

        2) RPC(遠程過程調用)通信守護進程, 即圖8中的Communication-Daemon(簡稱CD), 是基于上述框架實現(xiàn)的進程, 在每臺設備上都唯一的運行著該進程, 設備間通過該守護進程實現(xiàn)對等通信, 需要跨設備通信的進程僅僅需要通過CD的代理模塊調用相應的接口即可. 這樣實現(xiàn)有以下好處:

        ① 限制唯一的RPC進出口, 方便實現(xiàn)安全驗證機制;

        ② 每兩臺設備間僅僅維護一條通信鏈路, 降低開銷;

        ③ 每個進程不必單獨實現(xiàn)連接其他設備的功能,實現(xiàn)了功能復用.

        3) 數(shù)據交換守護進程, 即圖8中的DataTransfer(簡稱DT), 同樣基于上述框架實現(xiàn), 在每臺設備上唯一運行著一個進程, 通過該進程可以實現(xiàn)設備間點對點的數(shù)據交換, 并以提供數(shù)字簽名的方式保證傳輸數(shù)據的可信性. 客戶進程(如進程A-2)通過DT的接口建立并獲得一個數(shù)據流對象, 之后對數(shù)據流對象進行操作實現(xiàn)設備間進程的數(shù)據交換. 考慮到這兩種數(shù)據連接不同的性質, 適用不同的應用場景, CD的消息通常比較簡短同時需要較快的響應速度,而DT通常會長時間占用連接通道, 因而將DT從CD中分離.

        3.2 資源狀態(tài)一致性維護

        在個人自組織網絡中, 各個設備維護該網絡中所有設備的資源列表, 并依據本機硬件資源狀態(tài)響應資源申請請求. 本文通過對Paxos算法進行優(yōu)化, 以保證多設備中硬件資源信息一致性, 提供資源服務.

        Paxos算法是Lamport于1990年提出的一種基于消息傳遞的一致性算法, 旨在解決一個分布式系統(tǒng)如何就某個值(決議)達成一致的問題[19,20]. 基于Paxos算法, 本文對資源狀態(tài)一致性維護有兩大原則:

        1) 安全原則, 即不能做錯的事. 只能有一個值被批準, 不能出現(xiàn)第二個值把第一個覆蓋的情況; 每個節(jié)點只能學習到已經被批準的值, 不能學習沒有被批準的值. Paxos算法中通過為分布式環(huán)境中的節(jié)點提交的請求賦予一個ID, 并根據ID排序, 批準優(yōu)先級高的值, 拒絕排序在后的, 進而保證安全一致性.

        本文基于請求到達時間確定優(yōu)先級, 本著先來先服務的原則提供硬件資源服務. 應用進程申請使用某個設備(非本機)硬件資源時, 設備硬件資源管理模塊首先檢查該設備及應用的權限, 若滿足申請要求, 則將申請請求加入硬件資源請求隊列, 由硬件資源管理模塊逐一處理請求, 被請求的資源空閑則返回同意申請的響應, 并通知所有在線設備該資源狀態(tài)改變?yōu)楸徽加? 得到申請通過響應的應用會與對應設備間完成數(shù)據流通道的建立, 得到相應的數(shù)據流對象, 進行資源使用, 該過程如圖9所示.

        圖9 硬件資源申請和使用流程圖

        2) 存活原則, 只要有多數(shù)服務器存活并且彼此間可以通信, 終會批準某個被提議的值, 而且其他服務器最終會學習到這個值.

        本文目前研究的內容中, 硬件資源服務請求者主動選擇對應設備提供硬件資源服務, 而服務提供者設備作為唯一決策者決定是否提供硬件資源服務, 硬件資源狀態(tài)改變后以消息通知的形式通知到個人自組織網絡中互聯(lián)互通的設備.

        在未來研究中, 可以根據網絡中各個節(jié)點的性能選舉出一個或多個中心節(jié)點, 采用中心節(jié)點輔助控制與對等網絡相結合的方式, 由中心節(jié)點依據應用需要以及各個節(jié)點上硬件資源的特點自主決定哪些設備更適合提供服務. 此時, 選擇提供服務的設備所需要的決策者不止一個, 根據安全和存活原則, 增加服務的自主選擇能力.

        4 實驗

        本文的實驗環(huán)境是2臺臺式機和1臺智能手機,其環(huán)境配置如下.

        臺式機: 4GB內存、100GB以上硬盤存儲、4核心處理器(型號: Intel(R) Core(TM) i5-2400 CPU @3.10GHz), Linux Mint 17 32-bit的操作系統(tǒng), 還需安裝NodeJS(0.10.29)和python(2.7.6)、Java 1.7.0_65、android-21開發(fā)環(huán)境.

        移動端: 型號Nexus 6, 3GB內存, 26GB存儲空間,四核心處理器, Android 5.0系統(tǒng)環(huán)境.

        硬件資源管理系統(tǒng)基于NodeJS實現(xiàn), NodeJS是一個Javascript運行環(huán)境(runtime), 支持跨平臺開發(fā), 使用事件驅動、非阻塞I/O模型而得以輕量和高效, 非常適合在分布式設備上運行的數(shù)據密集型的實時應用.界面實現(xiàn)使用html5、css3、JS等技術, 具有良好的跨平臺性, 支持跨設備瀏覽器訪問. 本文以鼠標和鍵盤為例, 采用python提供的第三方庫virtkey、Xlib等實現(xiàn)對鼠標和鍵盤事件的捕獲和模擬, 由NodeJS實現(xiàn)對鼠標、鍵盤資源請求的控制和事件的傳輸, 并根據解析得到的事件信息調用python接口模擬鼠標、鍵盤事件, 實現(xiàn)了跨設備使用鼠標、鍵盤.

        4.1 功能

        本文實現(xiàn)的硬件資源管理系統(tǒng)根據不同平臺進行通信層的適配, 適用于Linux、Andriod等多個系統(tǒng), 具有良好的跨平臺型, 硬件資源類型和硬件資源服務都具有良好的可擴展性, 進程間通信模塊提供數(shù)據加密接口以保證數(shù)據機密性, 硬件資源管理模塊數(shù)據流傳輸中加入簽名信息以保證數(shù)據可信性. 實驗中直接調用硬件資源管理模塊提供的接口來實現(xiàn)上層應用, 極大地節(jié)省了開發(fā)時間.

        在資源列表展示上, 本文實驗提供一個可視界面用于顯示個人自組織網絡環(huán)境中各臺主機設備的硬件資源, 實時監(jiān)控到設備上/下線情況, 及時更新硬件資源狀態(tài)信息, 詳情如圖10所示.

        圖10 硬件資源信息展示

        在資源使用上, 實驗效果示意圖如圖11所示.

        圖11 跨設備使用鍵盤鼠標示意圖

        4.1 性能

        本文實現(xiàn)的硬件資源管理系統(tǒng)通過采用ProtoBuf的二進制數(shù)據編碼機制, 數(shù)據壓縮比例約為64.37%,減少了網絡帶寬的占用. 本地資源管理數(shù)據的響應時間在15ms至22ms之間, 平均響應時間約17.4ms, 個人自組織網絡中跨設備硬件資源數(shù)據請求的響應時間在28ms至45ms之間, 平均響應時間約為34.46ms, 滿足實時通信對用戶體驗的要求(根據2-5-10原則, 2s以內得到響應, 用戶體驗較好).

        與現(xiàn)在市場流行的硬件資源方面的技術或應用(AirPlay、Openflint、Synergy、無界鼠標等)相比, 本文研究的硬件資源管理系統(tǒng)(Resource-Manager)優(yōu)劣對比見表1和表2.

        表1 支持平臺對比

        表2 支持硬件資源種類對比

        由兩張表可以看出, 本文研究的硬件資源管理應用框架可以支持多種硬件資源, 在跨平臺性上也有較大優(yōu)勢. 除此之外, 該框架還包括一個統(tǒng)一的通信適配層, 方便跨平臺交互訪問, 隱藏通信實現(xiàn)細節(jié), 為上層各類應用的通信提供調用接口, 保證實時交互.最終, 本文提供了一個硬件視圖顯示層以提供局域網中的所管理的硬件信息的可視窗口, 以及硬件資源使用接口以方便對多個設備的硬件資源進行統(tǒng)一管理調配.

        鑒于研究內容只針對個人自組織網路環(huán)境, 因此管理服務目前只面向局域網. 通過利用該框架, 開發(fā)者很方便地獲得設備的硬件資源信息, 實現(xiàn)跨設備硬件資源共享, 加快了多屏互動等應用的開發(fā)速度.

        5 總結

        當前智能終端設備不斷豐富, 局域網下可供利用的硬件資源越來越多, 由此也衍生出很多共享設備間硬件資源的應用. 但是目前存在的大多是缺少交互性的跨設備投影鏡像技術, 或者只是相互獨立的簡單應用, 且其適用的平臺單一有限, 難以靈活適應新增需求. 本文針對這一現(xiàn)象, 通過對個人自組織網絡環(huán)境下的多設備的硬件資源管理進行研究, 設計并實現(xiàn)了一個支持多種硬件資源、跨平臺且方便交互和功能擴展的應用框架. 該框架通過設備發(fā)現(xiàn)監(jiān)控網絡拓撲結構的動態(tài)變化, 并結合涵蓋認證和加密機制的設備間通信實現(xiàn)安全的實時交互、維護信息一致性. 此外, 框架提供一個統(tǒng)一的適配層, 透明化實現(xiàn)細節(jié), 隱藏節(jié)點異構性, 為上層多屏互動等相關應用提供接口, 極大地簡化了應用開發(fā)過程.

        本文目前只針對硬件資源的統(tǒng)一管理使用問題,在未來的研究中, 除了優(yōu)化硬件資源使用效果之外,會逐步實現(xiàn)應用自主選擇合適的運行設備以借用對應設備硬件資源, 并加入對計算資源、數(shù)據資源的統(tǒng)一管理, 實現(xiàn)個人自組織網絡環(huán)境下各方面資源都做到物盡其用, 提升用戶體驗.

        1 Vavilapalli VK, Murthy AC, Douglas C, et al. Apache hadoop yarn: Yet another resource negotiator. Proc. of the 4th Annual Symposium on Cloud Computing. ACM. 2013. 5.

        2 邱晨.基于Android的Airplay Server端應用設計與實現(xiàn)[碩士學位論文].廈門:廈門大學,2014.

        3 陳子安.基于Android平臺的WiFi-display sink端的設計與實現(xiàn).軟件導刊,2013,(9):104–106.

        4 顏萬隆,陳月峰.基于DLNA協(xié)議的多屏互動系統(tǒng).廣東海洋大學學報,2013,33(4):83–86.

        5 余澤喜,王香婷,馬婷婷.多屏互動系統(tǒng)的研究與實現(xiàn).智能計算機與應用,2012,2(1):69–70.

        6 吳軼群,朱亞東,王明敏.基于Android平臺的多屏互動系統(tǒng)設計.計算機應用與軟件,2014,31(10):234–238.

        7 Yang J, Wigdor D. Panelrama: Enabling easy specification of cross-device web applications. Proc. of the SIGCHI Conference on Human Factors in Computing Systems. ACM. 2014. 2783–2792.

        8 Pouwelse J, Garbacki P, Epema D, et al. The bittorrent p2p file-sharing system: Measurements and analysis. Peer-to-Peer Systems IV. Springer Berlin Heidelberg, 2005: 205–216. 9 Shen Z, Tan S, Li Y. Study of multi-screen interaction on smart TV based on UPnP protocol. Journal of Convergence Information Technology, 2013, 8(10): 448.

        10 王昭順,李濤.基于D-BUS的軟件組件開發(fā)技術的研究. 2009全國虛擬儀器大會論文集,2009.

        11 段義鵬.Android進程通信機制研究與應用[碩士學位論文].武漢:武漢理工大學,2012.

        12 苑冰泉.Android進程間通信機制Binder的分析與對比研究[碩士學位論文].南京:東南大學,2014.

        13 冀博,李宥謀,郭猛.網絡設備自動發(fā)現(xiàn)技術的研究與實現(xiàn).西安郵電學院學報,2013,17(6):33–36.

        14 周亦敏,沈嘉杰.Zeroconf 網絡的安全性分析及改進. 計算機工程與應用,2013,49(2).

        15 李紀欣,王康,周立發(fā),等.Google Protobuf 在 Linux Socket通訊中的應用.電腦開發(fā)與應用,2013,26(4):1–5.

        16 聶曉旭,于鳳芹,欽道理.基于 Protobuf 的數(shù)據傳輸協(xié)議.計算機系統(tǒng)應用,2015,24(8):112–116.

        17 王尚平,王育民,張亞玲,等.基于DSA及RSA的證實數(shù)字簽名方案.軟件學報,2003,14(3):588–593.

        18 Martucci LA, Carvalho T, Ruggiero WV. A lightweight distributed group authentication mechanism. INC2004-Fourth International Network Conference. 2004. 393–400.

        19 許子燦,吳榮泉.基于消息傳遞的Paxos 算法研究.計算機工程,2011,37(21).

        20 高石玉,艾中良,劉忠麟.應用Paxos算法構建自組織網絡.計算機工程與應用,2014,50(6).

        Hardware Resource Management for Personal Self Organizing Networks

        FANG Ya-Fen1,3, LIANG Guan-Yu2, HE Ye-Ping11
        (National Engineering Research Center for Fundamental Software, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China)2(General Department, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China)3(University of Chinese Academy of Sciences, Beijing 100190, China)

        While the popularity of all kinds of intelligent terminals, cross-device applications, such as multi-screen, are emerging, hence, higher requirements are put forward to the cross-platform and interactive extendibility of the management of hardware resources. However, most of the current applications that share hardware resources are mirror projection technology across devices which lacks interactivity, or just simple applications independent of each other. Besides, they are targeted at single platform or hardware resource, which make it difficult to deal with new requirements flexibly and effectively. Focused on this issue, the management and allocation of hardware resources (keyboard, mouse, camera, etc.) in multiple devices in personal self-organizing network is studied, and an application framework with good cross-platform and extendibility is proposed, which could make one device use others’ hardware resources just like using its own, also could help users manage and control their devices. The framework is consisted of inter process communication and hardware resource management. The former provides information transmission service to insure real-time communication, while the latter is responsible for the management of access to all hardware resources and provides the functions of applying and using resource, status change notification, etc. With the framework, the development of cross-device application becomes very convenient and simple.

        personal self organizing network; multiple devices; hardware resource management; inter process communication; application framework

        中國科學院戰(zhàn)略性先導科技專項(XDA06010600)

        2016-04-03;收到修改稿時間:2016-04-21

        10.15888/j.cnki.csa.005472

        猜你喜歡
        間通信鼠標進程
        細胞間通信預測方法研究進展
        Progress in Neural NLP: Modeling, Learning, and Reasoning
        Engineering(2020年3期)2020-09-14 03:42:00
        債券市場對外開放的進程與展望
        中國外匯(2019年20期)2019-11-25 09:54:58
        綜合航電分區(qū)間通信元模型設計研究
        社會進程中的新聞學探尋
        民主與科學(2014年3期)2014-02-28 11:23:03
        我國高等教育改革進程與反思
        Linux僵死進程的產生與避免
        基于核間寄存器的多核虛擬機系統(tǒng)中虛擬機間通信研究
        一種適應多核處理器核間通信機制的設計
        45歲的鼠標
        少年科學(2009年1期)2009-01-20 03:25:10
        中文字幕一区二三区麻豆| 日本欧美在线播放| 国产成人精品cao在线| 欧美极品第一页| 国产一区二区三区杨幂| 国产精品一区二区偷拍| 色欲人妻综合aaaaa网| 国产精品成人免费视频网站京东 | 中文字幕一区二区三区久久网站| 中文字幕午夜AV福利片| 男人的精品天堂一区二区在线观看| 国产又黄又硬又粗| 男人边吻奶边挵进去视频| 青春草在线视频精品| 黄片免费观看视频播放| 就爱射视频在线视频在线| 中文字幕av一区二区三区人妻少妇 | 亚洲成a人片在线网站| 国产一区二区三区免费小视频| 中国人在线观看免费的视频播放| 精品无码久久久久久国产| 免费毛片在线视频| 免费高清日本一区二区| 免费a级毛片高清在钱| 67194熟妇在线永久免费观看 | 国产高颜值女主播在线| 国语精品一区二区三区| 日韩亚洲中文图片小说| 国产精品女同一区二区免| 中文字幕在线观看| 色欲麻豆国产福利精品| 色婷婷一区二区三区四区| 国产成人精品一区二三区孕妇| 久久久精品人妻无码专区不卡| 国产亚洲精品成人无码精品网站 | 亚洲精品高清av在线播放| 国产免费人成视频网站在线18| 亚洲日产精品一二三四区| 欧美日韩区1区2区3区| 亚洲中文乱码在线视频| 亚洲国产欧美在线观看|