【技術實現步驟摘要】
本申請是申請日為2012.6.6,申請號為201280032558.7(國際申請號為PCT/US2012/041049),名為“通過遠程直接存儲器訪問的任意大小的傳輸操作”申請的分案申請。背景諸如服務器消息塊(SMB)或其版本(例如,SMB2)之類的文件訪問協議可以用作主要用于在網絡上的各節點之間提供對文件以及雜項通信的共享訪問的應用層網絡協議。在歷史上,SMB或SMB2在傳輸控制協議(TCP)傳輸和傳統的網絡基礎結構之上操作。盡管SMB2作為針對通用遠程文件訪問的協議已非常成功,但SMB2尚未廣泛適用于要求高吞吐量和低等待時間文件輸入/輸出的遠程文件訪問。遠程直接存儲器訪問(RDMA)是從一個計算機的存儲器進入另一計算機的存儲器而不涉及該另一計算機的操作系統的直接存儲器訪問。該直接傳送準許通過網絡的高吞吐量、低等待時間數據傳輸,這在性能關鍵的部署中尤其有用。在應用執行RDMA讀或寫請求時,使用有RDMA能力的網絡適配器將應用數據從源存儲器緩沖區直接遞送到目的地存儲器緩沖區,在該傳輸中這些有RDMA能力的網絡適配器不涉及中央存儲單元(CPU)(也被簡稱為處理器)或操作系統。這些RDMA傳輸會減少等待時間并允許快速消息傳輸。不幸地是,RDMA的這些好處尚未被使用SMB2的系統利用,因為SMB2尚未用RDMA來操作。雖然本
技術介紹
中著眼于特定的問題,但本專利技術決不旨在限于解決那些特定問題。概述各實施例一般涉及將諸如SMB2操作(或,例如SMB操作的其他版本或文件訪問協議操作)之類的數據操作實現在RDMA傳輸之上的協議和處理。在各實施例中,該協議定義指定用于協商 ...
【技術保護點】
一種用于建立連接以交換數據的計算機實現的方法,所述方法包括:由接收機接收第一數據包,其中所述數據包包括第一字段和數據,其中所述第一字段等于接收機已經接收的分段消息的字節數;確定存儲在所述第一字段中的值是否為零;當所述值為零時:處理所述第一分組中的所述數據;當所述值不為零時:為所述連接分配一個重新組裝緩沖區;將所述數據從所述第一數據包復制到所述重新組裝緩沖區中;接收包括第二數據的第二數據包;以及將所述第二數據從所述第二數據包復制到所述重新組裝緩沖區中。
【技術特征摘要】
2011.06.29 US 13/172,7571.一種用于建立連接以交換數據的計算機實現的方法,所述方法包括:由接收機接收第一數據包,其中所述數據包包括第一字段和數據,其中所述第一字段等于接收機已經接收的分段消息的字節數;確定存儲在所述第一字段中的值是否為零;當所述值為零時:處理所述第一分組中的所述數據;當所述值不為零時:為所述連接分配一個重新組裝緩沖區;將所述數據從所述第一數據包復制到所述重新組裝緩沖區中;接收包括第二數據的第二數據包;以及將所述第二數據從所述第二數據包復制到所述重新組裝緩沖區中。2.如權利要求1所述的方法,其特征在于,所述第一數據包包括由以下項組成的組中的一個或多個字段:請求的積分字段;授予的積分字段;數據偏移字段;以及數據長度字段。3.如權利要求2所述的方法,其特征在于,所述授予的積分字段描繪多少積分被提供給第一數據包的發送方。4.如權利要求1所述的方法,其特征在于,積分是標識所述發送方能發送的消息的數目的值。5.如權利要求1所述的方法,其特征在于,進一步包括:確定所述第二數據包是否是最后的數據包;如果所述第二數據包是最后的數據包,處理在所述重新組裝緩沖區中的數據;如果所述第二數據包不是最后的數據包,接收至少一個第三數據包并將第三數據從所述第三數據包復制到所述重新組裝緩沖區中。6.如權利要求5所述的方法,其特征在于,其中所述重新組裝緩沖區包括來自至少兩個數據包的數據。7.如權利要求5所述的方法,其特征在于,其中所述確定所述第一數據包是否是最后的數據包包括確定存儲在所述第一字段中的所述值是否等于零。8.如權利要求1所述的方法,其特征在于,進一步包括:預先發布協商請求的接收;設置協商請求期滿計時器;確定在協商請求期滿計時器期滿之前是否接收到所述協商請求;如果在所述協商請求期滿計時器期滿之前沒有接收到所述協商請求,則取消所述協商請求的接收;如果在所述協商請求期滿計時器期滿之前接收到所述協商請求,則接收所述協商請求,其中所述協商請求請求建立所述連接以使用遠程直接存儲器訪問發送數據;驗證所述協商請求;處理所述協商請求;響應于處理所述協商請求,生成響應,其中所述響應允許所述連接并將至少一個積分分配給所述協商請求的發送方以發送數據包;發送所述響應。9.如權利要求8所述的方法,其特征在于,所述協商請求包括來自由下述項組成的組中的一個或多個字段:請求版本字段;第一積分請求字段;指示第一大小的偏好大小字段;以及指示第二大小的最大大小字段。10.如權利要求9所述的方法,其特征在于,所述請求包括來自由下述項組成的組中的一個或多個字段:請求版本字段;偏好版本字段;第二積分請求字段;授予的積分字段;以及狀態字段。11.一種存儲了計算可執行指令的計算機可讀存儲介質,所述計算可執行指令在由一個處理器執行時,執行一種用于交換數據的方法,所述方法包括:建立與服務器的連接;與所述服務器協商連接,其中所述協商建立所述服務器將在該連接中接收的最大字節數;確定用于將與所述連接相關聯的數據發送給所述服務器的數據包的數目;確定是否要使用對所述數據的分段;當不使用對所述數據的分段...
【專利技術屬性】
技術研發人員:T·M·塔爾佩伊,G·R·卡拉莫,D·M·克魯斯,
申請(專利權)人:微軟技術許可有限責任公司,
類型:發明
國別省市:美國;US
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。