- 相關推薦
移動網絡接口的研究與設計論文
摘要:移動設備面臨著多樣化和動態的網絡選項,要想充分地使用這些選項要求知道應用程序的意圖。移動網絡接口是一個簡單而強大的處理網絡多樣性的機制。應用程序為網絡傳輸提供一個聲明標簽,并將系統匹配到最合適的網絡。移動網絡接口還可以推遲和重新排序傳輸的數據,提供應用程序互斥和排序約束機制。
關鍵詞:移動網絡;接口設計;數據傳輸
1引言
移動設備面臨著一個多元、動態的網絡選項。這些選項有各種各樣的優點和缺點。因此,在所有情況下沒有單一的“最佳選擇”,基礎設施的多樣性既是挑戰,也是機遇。面臨的挑戰是管理這些不斷變化的選項以滿足每個應用程序的需求,這本身隨時間變化。通過這樣做,應用程序帶來了顯著效益,同時利用多個網絡和規劃未來的傳輸智能。目前解決這個問題的方法是不充分的。一個極端,操作系統或中間件層代表應用程序的所有路由和接口決定。然而,因為這些決定不知道應用程序的使用網絡意圖,他們經常錯過優化機會。另一個極端,系統直接暴露底層細節給應用程序,使應用程序知道網絡變化,應用程序必須顯式地選擇可用的選項。這種方法表達,需要管理多個無線網絡不必要復雜的應用程序任務。設計的網絡介于兩者之間,系統管理發現和描述可用網絡選項的細節,應用程序用少量的聲明標簽來提供關于通信量的提示。然后,該系統將匹配的網絡流量提供給可用的接口。設計的移動網絡系統提供了一個可移植的、用戶級別的實現方法。
2移動網絡接口設計原理
設計遵循經典的分離原則機制。應用程序確定使用網絡的實際意圖,這一意圖表示數據應如何傳輸的策略。另一方面,操作系統或中間件庫是最佳的位置,以提供一個共有機制來實現指定的策略。每個應用程序必須提供使用網絡意圖的提示,因此共有機制使得部署新應用程序使用多個移動網絡容易。處理多個異構和間歇性的移動網絡的細節被封裝在系統的底層。共有機制也可以從多個應用程序聚集異構數據傳輸。因此,網絡設計通過數據傳輸標簽和系統底層實現的分離,制定政策數據映射到網絡最佳匹配時的數據傳輸的標簽。設計希望接口盡可能簡單,要求每一個應用程序公開定量規格的特性,它希望產生的流量,以及它所需要的服務質量。這一原則導致了幾項決定,應用程序使用定性屬性的數據表示他們的意圖,而不是使用量化規范,即,不管是小的還是大的,不管是前臺互動的還是后臺的流量。不要求什么是“小”和“大”。允許該應用程序使用它認為合適標簽。并發系統包括允許程序員排除不正確的排序機制,增加了同步抽象表達原子和之前發生的約束。除了表達這類排序約束,還需要處理部分失敗的機制。有些時候一些信息量將由任何可用的傳輸轉換提供錯誤的服務。因此,提供了一種回調機制來處理延遲傳輸或斷開連接。
3移動網絡接口設計方案
在本節中,描述網絡應用程序接口。首先描述基本的抽象接口。應用程序使用標簽來傳達他們的意圖。表達信息單位稱為IROBs(IsolatedReliableOrderedBytestreams)。IROBs提供原子性(互斥);應用程序還可以指定IROBs之間順序約束。當操作必須延遲,應用程序可以注冊thunks恢復他們。
3.1標簽
標簽是應用程序的主要抽象信息,應用程序聲明任何特定網絡信息屬性的機制。標簽是系統定義的定性屬性的消息。目前只支持4個標簽,兩個維度,交互性和規模,如表1所示。如果用戶事件正在等待響應,消息的標簽設置為Fore-ground,如果它的及時傳遞不是行為的關鍵,則消息的標簽是Background。例如,許多提示不需要發送。Small標簽描述單包的RPC等消息,Large標簽描述其他消息,如包含多媒體數據。
3.2多模式數據來源處理
標簽與標簽感知套接口一起使用。我們稱這種套接口為multi-sockets。直觀地說,一個multi-socket將幾個不同標簽單一虛擬套接口復合在一起。在大多數情況下,multi-sockets行為是正常的。然而,multi-socket發送調用需要一個標簽。請注意,發件人是負責分配標簽的實體,作為結果,接收不需要標簽。可以想象用一個標簽來實現過濾的接收。multi-socket是一個邏輯連接,動態實例化,并使用實際TCP連接在一個或多個物理接口。multi-sockets提供封裝:它們隱藏多個網絡接口、路由和連接的應用程序。Multi-sockets也封裝瞬時斷開連接,如通過無線死區。應用程序指定標簽,網絡流量管理器利用標簽選擇正確的網絡發送數據。應用程序被每一個標簽通知網絡不可用,通過使用thunk技術,當事件發生時執行遞延執行環境。像TCP套接口,multi-sockets支持可靠傳遞抽象。然而,multi-sockets放松了TCP排序約束,允許字節被記錄到指定的互斥和排序約束中的應用,在后面兩節中描述。
3.3IROBs字節流
帶有標簽的IROB是網絡傳輸信息的基本單位,multi-socket接口保證每個IROB自動接收;即,指令中產生的IROB字節流不影響其他網絡傳輸字節流。然而,單個IROB可能被重新排序到另一個地方。換句話說,來自接收multi-socket接口的先前發送的IROB首先被正在讀取數據的應用程序看到。然而,來自于兩個IROB的字節永遠不會混合。IROBs以同樣的方式提供互斥操作,在多線程程序中,鎖提供互斥的線程。
3.4排序約束
因為有些應用程序需要訂購IROBs之間的約束,所以multi-socket接口支持這樣的約束聲明。每個multi-socket接口分配一個獨一無二的,單調增加的標識符給每個IROB。當創建一個新的IROB時,應用程序可以指定任何IROB的標識符,但必須接收到之前被創造出來的標識符。排序約束可能只指定IROBs有較低的唯一標識符,這可以保證這樣的約束是無死鎖的。TCP套接字指定每個IROB必須收到最低的標識符,應用程序處理連續的字節流,API提供了簡單的默認發送調用機制。然而,許多應用程序擁有更為寬松的約束條件;例如,BlueFS文件系統客戶端允許異步寫入。multi-sockets中的排序約束類似于多線程程序提供線程的條件變量。
3.5Thunks技術
帶標簽的IROB在發送時沒有任何“合適的”網絡可以利用,這種情況是可能的。例如,批量傳輸開始時只有一個低帶寬鏈接是可用的;或者移動計算機可能是在一個無線死區,沒有連接。這種傳輸最好在稍后遇到一個高帶寬鏈接時處理。當然,不希望應用程序輪詢鏈接,也不希望應用程序建立新連接后短時間內瞬時斷開。創建IROBs操作設置一個可選的Thunk參數,這個函數/參數對將用于告知應用程序IROBs由于缺少合適的網絡不能立即發送。當一個IROB延期時,帶有Thunk參數的調用返回一個特殊的返回代碼。指定標簽數據被下一次傳輸時,庫通過調用thunk指定參數的函數通知應用程序。處理程序必須為Thunk參數資源關系負責,Thunk可能會被取消,例如,前一個Thunk是無效的,后續的將取消。Thunk對于定期發送消息的應用程序是有用的,如檢查新郵件。在斷開連接期間緩沖冗余消息,以后將所有信息發送這是不可取的。相反,應用程序注冊一個發送thunk,合適的網絡可用時獲得通知。Thunk處理程序只發送輪詢請求,從而保護寶貴的網絡帶寬。
3.6API函數
表2列出了最重要的改進的移動網絡API函數。ms_sock-et函數創建一個新的multi-socket,ms_connect函數連接到遠程端點,ms_connect函數和標準的connect函數唯一不同是調用的第一個參數是multi-socket。一般使用ms_*修改應用程序替換socket,connect等函數。應用程序使用ms_begin_irob函數創建一個新的IROB,通過一個標簽來描述原子信息以及排序約束。應用程序調用ms_irob_send函數指定IROB部分數據發送;交替調用send和ms_irob_send函數。應用程序使用ms_end_irob函數通知庫沒有IROB數據發送。ms_send函數調用提供便利,它根據所有以前的IROBs創建一個新的IROB,并結束IROB。如果應用程序使用ms_send調用,它將提供帶標簽的TCP連接,盡管沒有重新排序。ms_recv函數調用返回一個標簽。服務器應用程序希望使用客戶端原始請求提供的標簽回復客戶請求。例如,IMAP服務器可能希望用Background標簽回復客戶后臺請求,使用Foreground標簽回復客戶前臺請求。表2顯示了創建和使用multi-sockets移動網絡的API。除了顯示的功能外,multi-sockets還支持傳統的套接口函數;例如,accept,select等。
3.7討論
設計移動網絡接口時要考慮應用程序需要提供自己的事件,才能實現應用程序感知功能。首先,應用程序需要發現新的網絡選項,為每個網絡選項打開套接口,并監控各網絡的連接質量,以便決定用于傳輸的網絡。按通信量需求排序,應用程序可能會創建每個網絡的多個套接字,然后使用特定于平臺的方法優先考慮通信量從一個套接口到另一個。應用程序也需要傳輸介質跨越連接來提高吞吐量,然后管理必然函數名稱參數和返回的值ms_socket(INfamily,INtype,INprotocol,OUTmulti-socket);ms_begin_irob(INmulti-socket,INlabel,INdependencies,INthunk,INthunk_data,OUTirob_id);ms_irob_send(INirob_id,INbuf,INlength,INflags,OUTbytes_sent);ms_end_irob(INirob_id)ms_send(INmulti-socket,INbuffer,INlength,INflags,INlabel,INthunk,INthunk_data,OUTbytes_sent);ms_recv(INmulti-socket,INbuffer,INlength,INflags,OUTlabel,OUTbytes_rcvd);產生的數據分段排序。最后,應用程序可能會輪詢來實現Thunk的功能,Thunk允許鏈接被修改,如果當前沒有合適的網絡也可以刪除。
4移動網絡接口的通信過程
對于每個multi-socket,庫動態創建單獨的TCP套接字決定每個接口發送數據。multi-socket連接持續下去,直到沒有TCP連接可以使用任何網絡接口(例如,如果移動計算機移出WiFi接入點的范圍內,沒有其他網絡選項可用),或multi-socket關閉。為簡單起見,選擇使用TCP。TCP可靠性機制限制必須在IROB內實現命令交付的字節或由于網絡擁塞丟失字節重新傳輸的工作量。當第一個TCP套接字建立初始連接時,移動客戶端為每一個連接發送其對等數據,包括可用的IP地址、估計的帶寬和延遲。它搭載更新網絡標題信息,同伴可以建立一個新的TCP連接,新的連接將是最適合于一個特定的標簽數據。庫使用主動和被動估計網絡帶寬和延遲的方式將標簽映射到TCP連接。當一個新的網絡選項被發現時,連接偵查器提供連接質量的初步測量。庫通過連接發送數據,測量單個傳輸的響應時間產生被動測量。連接偵察器提供周期性的主動測量,用于評估在沒有數據傳輸和被動測量不可用時網絡質量。主動和被動測量結合使用觸發濾波器獲得運行當前連接質量的估計。庫使用以下策略映射標簽TCP連接。前臺數據具有最高優先級,帶有{Foreground,Small}標簽的IROBs通過低延遲的TCP連接發送。帶有{Foreground,Large}標簽的IROBs通過高寬帶連接發送。這些可能是相同的連接(例如,當前只有一個接口提供連接)。用于特定標簽的實際物理接口可能隨時間變化鏈接特征有所不同。后臺數據比前臺數據優先級低。當前不發送前臺數據的網絡發送后臺IROBs,大的后臺IROBs被拆分成小塊,每一個都可能被送到另一個網絡。Foreground標簽要求低響應時間;不幸的是,分段可以增加最后一個數據包的延遲到達,除非網絡層能為每個鏈接正確預測瞬時延遲。相比之下,Background標簽指定的數據對延遲不敏感;因此,分段策略最大化利用每個鏈接是理想的。一個鏈表以先進先出順序索引所有IROBs標簽。每個TCP連接都有當前合適發送標簽的列表。當網絡能夠發送數據時,庫從具有最高優先級的標簽相關聯的列表中取出第一個IROB數據。庫用32字節特定的網絡標頭封裝IROB數據,包括IROB標識符和它的標簽以及IROB的順序約束。在一次連接時,庫并不限制發送所有IROB的字節,它可能決定一個IROB分解成小塊,每一個都要發送一個單獨的頭。IROB塊通過多個TCP連接發送,每個IROB的字節能有序地自動傳送,接收庫對其確認和重組。當多個網絡應用程序同時執行時,所有進程的活動都通過共享內存變量和同步進行協調。我們假設鏈接接近移動計算機的瓶頸,大多數感興趣的是所有路徑共享。因此,庫實例更新共享變量,包含每個網絡上未發送數據的緩沖數量。這樣的數據在所有進程的總量不得超過限制先行調度算法,以保證良好的前臺性能。網絡應用程序將調整其在執行過程中被動觀測網絡質量的估計,因此,將考慮在其決定的競爭流量。庫通過建立可能的接口對處理兩個移動設備與多個接口之間的連接。
5結語
移動節點面臨著不斷變化的各種網絡選項,每一種都有不同的優點和缺點。因此,對應用程序而言,選擇一個最佳的網絡選項,這種情況是很少見的。通過合理使用可用的選項,應用程序的服務得到了顯著改善。不幸的是,這樣會暴露可用網絡的低層細節給應用程序,不太可能引起很大的關注。設計的移動網絡解決了這一僵局。它為應用程序提供一個簡單的聲明接口來表達每一個網絡消息背后的意圖。系統匹配當前網絡通信量到最佳可用的接口。如果沒有合適的可用網絡,該通信量被推遲,直到網絡可用。延緩某些類型的通信量會導致重新排序。設計的移動網絡接口提供了表達互斥和排序約束機制,使他們的通信量匹配到應用程序的限制。
作者:楊彬 李邐 單位:遼寧行政學院信息技術系
參考文獻:
[1]朱孫鵬,葉宇煌.基于北斗RDSS的GNSS位置信息轉發接口軟件設計[J].莆田學院學報,2015,22(5):60-63.
[2]尹星,張三峰.一種多路由器多接口的移動網絡多宿方案[J].計算機科學,2015,42(5):142-147.
【移動網絡接口的研究與設計論文】相關文章:
IP網絡存儲·什么是網絡接口04-26
網絡加速及優化·什么是網絡接口04-26
遙測數字接口的研究與實現05-02
場館無線網絡覆蓋設計研究論文04-29
計費系統·什么是網絡接口04-26
利用FPGA實現MMC2107與SDRAM接口設計論文12-02
網絡環境下教與學的實踐研究論文05-01
會議電話·什么是網絡接口04-26
防毒及郵件過濾·什么是網絡接口04-26
移動地圖可視化表達的設計研究04-28