[發(fā)明專利]用于數據通信的編程接口有效
| 申請?zhí)枺?/td> | 201280030914.1 | 申請日: | 2012-06-13 |
| 公開(公告)號: | CN103608767B | 公開(公告)日: | 2017-03-01 |
| 發(fā)明(設計)人: | O.N.埃爾圖蓋;K.E.霍爾頓;J.尼維爾特 | 申請(專利權)人: | 微軟技術許可有限責任公司 |
| 主分類號: | G06F9/06 | 分類號: | G06F9/06;G06F12/02 |
| 代理公司: | 中國專利代理(香港)有限公司72001 | 代理人: | 劉鵬,汪揚 |
| 地址: | 美國華*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 數據通信 編程 接口 | ||
背景技術
目前,連接高性能聯網應用與計算設備內核的應用編程接口(API)不能有效地應對聯網應用的增加數據處理請求。例如,“Windows?Socket”API(即“Winsock”)被配置成促進由應用發(fā)布的操作,以便向與物理網絡設備通信的內核層發(fā)送數據并且從內核層接收數據。一般地,在套接字(socket)的壽命過程期間發(fā)布多次發(fā)送和接收操作。因此,作為整體的發(fā)送和接收處理開銷可以組成網絡處理的大半并且有可能組成應用的大半。
例如在傳統(tǒng)的Winsock?API中,啟動發(fā)送和接收操作涉及做系統(tǒng)調用來將用戶模式虛擬存儲器鎖定到物理存儲器并且啟動數據到內核中的傳遞。之后典型地需要附加的系統(tǒng)調用來獲得傳遞的完成狀態(tài)并且將用戶模式虛擬存儲器從物理存儲器中解鎖。因此,如果應用一次又一次地使用相同的存儲器來發(fā)送和接收數據,那么現有的Winsock發(fā)送和接收API會招致多余的存儲器鎖定(pin)和解鎖(unpin)。
發(fā)明內容
本發(fā)明內容被提供來介紹用于數據通信的編程接口的簡化概念,并且這些概念將在下文的具體實施方式中得到進一步的描述和/或在附圖中被示出。本發(fā)明內容不應當被看作是描述所要求保護的主題的本質特征,也不是用來確定或限制所要求保護的主題的范圍。
本文描述了用于數據通信的編程接口。在實施例中,可以從對應于應用的用戶模式虛擬存儲緩沖器分配請求隊列。該請求隊列可以被鎖定到物理存儲器并且之后被映射到內核模式系統(tǒng)地址從而使得內核模式執(zhí)行線程可以訪問該請求隊列。可以為內核從應用接收請求來處理該請求隊列中的數據,并且為該內核模式執(zhí)行線程向內核發(fā)布(issue)系統(tǒng)調用來處理該請求。該內核模式執(zhí)行線程之后可以處理來自該應用的附加請求而無需發(fā)布附加的系統(tǒng)調用。例如,I/O請求可以是一個系統(tǒng)調用,但是不需要任何存儲器鎖定開銷,并且該I/O的完成將無需任何系統(tǒng)調用開銷而發(fā)生。可以注冊套接字來將數據請求從應用提供到內核。在實施例中,注冊套接字包含向該套接字識別完成隊列、從用戶模式虛擬存儲緩沖器分配請求隊列,以及將該請求隊列鎖定到物理存儲器。
在其它的實施例中,將用戶模式虛擬存儲緩沖器注冊為與應用對應。從該用戶模式虛擬存儲緩沖器分配完成隊列并將該完成隊列鎖定到物理存儲器。之后將該完成隊列映射到內核中的內核模式系統(tǒng)地址。該完成隊列經由內核模式系統(tǒng)地址接收來自內核模式執(zhí)行線程的完成通知,并且使得該應用經由用戶模式虛擬存儲緩沖器能夠訪問該完成通知而無需任何內核進行用戶系統(tǒng)調用的開銷。
附圖說明
參考下列附圖來描述用于數據通信的編程接口的實施例。在附圖中使用相同的數字來標記圖中示出的類似特征和組件,其中:
圖1圖示了一個示例計算設備,其中可以實現用于數據通信的編程接口的實施例。
圖2圖示了根據一個或多個實施例,到內核的數據請求的一個示例。
圖3圖示了根據一個或多個實施例,用于數據通信的編程接口的(多個)示例方法。
圖4圖示了根據一個或多個實施例,用于數據通信的編程接口的(多個)附加示例方法。
圖5圖示了可以實現用于數據通信的編程接口的多個實施例的一個示例設備的各種組件。
具體實施方式
本文描述了一種用于數據通信的編程接口。可以在計算設備的軟件中實現“通信棧”來經由網絡通信數據。典型的通信棧包含其中實現聯網應用的應用層和其中實現操作系統(tǒng)內核的內核層。所述應用層為應用暴露從該通信棧的底層細節(jié)中抽象出來的接口。所述內核層與被配置成在網絡上通信數據的聯網設備交互。
典型地,為了在網絡上發(fā)送數據,應用推送數據通過用戶模式應用編程接口(API),之后聯網棧對該數據進行處理來構造(frame)用戶模式和內核模式二者中的協(xié)議。根據本文所述,用戶模式指的是一種執(zhí)行模式,其中對諸如物理存儲器和I/O設備之類的系統(tǒng)資源的訪問受到操作系統(tǒng)的保護,以便在運行于同一系統(tǒng)中的多個應用之間提供隔離。根據本文所述,內核模式指的是一種執(zhí)行模式,其中提供對所有系統(tǒng)資源的訪問但是僅僅允許操作系統(tǒng)代碼的特定部分運行在內核模式中。該數據之后被移動到內核層中的諸如網卡(NIC)之類的聯網設備,該聯網設備促進數據在網絡上的通信。NIC是一種由系統(tǒng)使用來在網絡上發(fā)送和接收數據的硬件設備。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于微軟技術許可有限責任公司,未經微軟技術許可有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201280030914.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:不銹鋼六角螺母加工鎖絲孔的專用穿孔夾具
- 下一篇:半封閉式數控車床中心架





