根據(jù)本發(fā)明實施方式,HCA 1510可以跨多個隊列對(QP)(諸如Rx QP 1514至1516)擴展業(yè)務,以允許并行處理(例如,使用多個線程1531至1533)。
[0143]例如,HCA 1510可以利用接收方縮放(scaling) (RSS)過濾器1507,其可以跨多個隊列對(QP) 1514至1516擴展業(yè)務。數(shù)據(jù)服務部件1505可以分配不同的線程1531至1533,用于處理抵達QP 1514至1516的數(shù)據(jù)包。此外,所述QP 1514至1516可以繞過節(jié)點上的操作系統(tǒng),而向數(shù)據(jù)服務部件1505直接展露硬件接口。
[0144]此外,為了最小化用于數(shù)據(jù)處理的開銷,RSS過濾器1507可以將從同一數(shù)據(jù)流接收到的不同數(shù)據(jù)包引導至單個數(shù)據(jù)服務線程。另選地,HCA 1510可以使用其它基于散列的過濾器或其它類型的過濾器,用于跨多個隊列對(QP)1514至1516擴展業(yè)務以允許并行處理。此外,HCA 1510可以根據(jù)核心親和力(core af f inity)引導數(shù)據(jù)流,并能夠保持數(shù)據(jù)包在數(shù)據(jù)流內(nèi)的排序。
[0145]隨后,數(shù)據(jù)服務部件1505(例如,軟件FWL服務)可以處理輸入數(shù)據(jù)包,例如出于過濾和監(jiān)視目的,修改包括DLID信息的IB報頭以及/或者檢查數(shù)據(jù)包報頭和/或有效負載。
[0146]根據(jù)本發(fā)明實施方式,HCA1510可以支持原始模式數(shù)據(jù)包轉發(fā)。在接收方,HCA1510可以驗證CRC,可以用原始格式(具備所有IB報頭)轉發(fā)數(shù)據(jù)包至多個應用層QP而無IB協(xié)議終止,并可以使用RSS過濾器1507來擴展負載至多個接收隊列(RQ)。在發(fā)送方,由數(shù)據(jù)服務部件1505處理的數(shù)據(jù)包可以用原始格式例如經(jīng)QP 1517至1519提交至HCA 1510oHCA1510可以生成CRC,并允許應用從多個應用級QP以原始格式(具備所有IB報頭)投遞(post)數(shù)據(jù)包。
[0147]根據(jù)本發(fā)明實施方式,HCA1510可以支持路由器使用模式。如果在輸入數(shù)據(jù)包中的DGID匹配用于入口 HCA端口的DGID,那么可以根據(jù)IB協(xié)議處理數(shù)據(jù)包。如果在輸入數(shù)據(jù)包中的DGID與用于入口HCA端口的任何DGID都不匹配,那么可以轉發(fā)數(shù)據(jù)包至Rx QP的指定組之一,在此可以在將數(shù)據(jù)包轉發(fā)至目的地節(jié)點之前由運行在主機節(jié)點1501上的軟件來檢查(以及可選地修改)該數(shù)據(jù)包。當主機軟件確定數(shù)據(jù)包應該被轉發(fā)時,可以使用發(fā)送隊列發(fā)送整個數(shù)據(jù)包(潛在具備經(jīng)修改的IB報頭)。發(fā)送隊列可以支持原始數(shù)據(jù)包,在此HCA 1510硬件(Hff)可以在發(fā)送數(shù)據(jù)包時選擇性地產(chǎn)生變量循環(huán)冗余校驗(CRC)和不變量循環(huán)冗余校驗(CRC) ο
[0148]根據(jù)本發(fā)明實施方式,HCA1510不允許任何軟件堆棧開銷,并且可以將數(shù)據(jù)包直接交付至處理線程而無需備份數(shù)據(jù)。此外,HCA 1510可能僅觸及報頭的必需部分。例如,HCA1510可以支持報頭/數(shù)據(jù)分離(或命中(hit))。此外,HCA 1510可以利用多個每處理線程專用隊列,用以用多核高效地向外擴展。
[0149]此外,HCA 1510可以提供用于循環(huán)冗余校驗(CRC)驗證1521和CRC生成1522的硬件輔助。另外,HCA 1510可以執(zhí)行遞增不變量CRC更新以考慮到P_Key,P_Key的值在數(shù)據(jù)包中被直接修改或經(jīng)控制接口(諸如Work Request)被修改。這樣,HCA 1510可以保持IB有效負載的數(shù)據(jù)完整性特性,而且HCA 1510允許對IB PJfey進行修改用以支持兩個端點之間的隔離。
[0150]圖16示出了根據(jù)本發(fā)明實施方式的支持用于在非虛擬環(huán)境中提供數(shù)據(jù)服務的主機通道適配器(HCA)過濾的示意圖。如圖16所示,網(wǎng)絡環(huán)境1600中的數(shù)據(jù)服務節(jié)點1601可以使用網(wǎng)絡連接設備,例如主機通道適配器(HCAH610,進行網(wǎng)絡連接。
[0151]數(shù)據(jù)服務節(jié)點1601可以包括應用服務器1604和數(shù)據(jù)服務部件(例如數(shù)據(jù)服務服務器1605)。此外,數(shù)據(jù)服務節(jié)點1601可以接收混合數(shù)據(jù)流。該混合數(shù)據(jù)流業(yè)務可以以應用服務器1604或數(shù)據(jù)服務服務器1605為目標。
[0152]如圖16所示,數(shù)據(jù)服務節(jié)點1601可以與隊列對(QP)1611至1619相關聯(lián)。應用服務器1604可以與隊列對(QP)1611至1613相關聯(lián),數(shù)據(jù)服務服務器1605可以與接收(Rx)隊列對(QP) 1614 至 1616 和發(fā)送(Tx)QP 1617 至 1619 相關聯(lián)。
[0153]根據(jù)本發(fā)明實施方式,數(shù)據(jù)服務節(jié)點1601可以使用用于提供過濾器性能(以類似于圖15所示虛擬環(huán)境的方式W^HCA 1610。
[0154]如圖16所示,HCA 1610可以包括接收(Rx)過濾器1608,該過濾器可以識別以數(shù)據(jù)服務裝置1605為目標的數(shù)據(jù)包而無協(xié)議終止。這樣,HCA 1610可以將以數(shù)據(jù)服務服務器1605為目標的數(shù)據(jù)流業(yè)務與以應用服務器1604(其使用IB協(xié)議引擎1606根據(jù)IB協(xié)議來處理IB數(shù)據(jù)包)為目標的數(shù)據(jù)流業(yè)務區(qū)分開。
[0155]根據(jù)本發(fā)明實施方式,HCA 1610可以跨多個隊列對(QP)(諸如Rx QP 1614至1616)擴展業(yè)務,以允許并行處理(例如,使用多個線程1631至1633)。例如,HCA 1610可以利用接收方縮放(RSS)過濾器1607,其可以跨多個隊列對(QP)1614至1616擴展業(yè)務。數(shù)據(jù)服務服務器1605可以分配不同的處理1631至1633,用以處理抵達QP 1614至1616的數(shù)據(jù)包。
[0156]根據(jù)本發(fā)明實施方式,HCA1610可以支持原始模式數(shù)據(jù)包轉發(fā)。此外,HCA 1610可以提供用于循環(huán)冗余校驗(CRC)驗證1621和CRC生成1622的硬件輔助。
[0157]在接收方,HCA1610可以驗證CRC,可以用原始格式(具備所有IB報頭)轉發(fā)數(shù)據(jù)包至多個應用層QP而無IB協(xié)議終止,并可以使用RSS過濾器1607用于擴展負載至多個接收隊列(RQ)。在發(fā)送方,由數(shù)據(jù)服務部件1605處理的數(shù)據(jù)包可以用原始格式例如經(jīng)QP 1617至1619提交至HCA 1610oHCA 1610可以產(chǎn)生CRC,并允許應用從多個應用級QP以原始格式(具備所有IB報頭)投遞數(shù)據(jù)包。
[0158]圖17例示了根據(jù)本發(fā)明實施方式的支持用于在網(wǎng)絡環(huán)境中提供數(shù)據(jù)服務的HCA過濾的示例性流程圖。如圖17所示,在步驟1701處,系統(tǒng)可以將聯(lián)網(wǎng)設備與網(wǎng)絡環(huán)境中的節(jié)點相關聯(lián),其中所述節(jié)點部署有能夠提供數(shù)據(jù)服務的數(shù)據(jù)服務部件。隨后,在步驟1702處,聯(lián)網(wǎng)設備可以使用過濾器來識別一個或多個以數(shù)據(jù)服務部件為目標的數(shù)據(jù)包而無協(xié)議終止。此外,在步驟1703處,過濾器能夠轉發(fā)所述一個或多個數(shù)據(jù)包至數(shù)據(jù)服務部件。
[0159]根據(jù)一種實施方式,提供了一種用于在網(wǎng)絡環(huán)境中提供數(shù)據(jù)服務的設備,該設備包括:用于在所述網(wǎng)絡環(huán)境的節(jié)點上提供數(shù)據(jù)服務部件的裝置,其中所述網(wǎng)絡環(huán)境包括經(jīng)網(wǎng)絡結構相互連接的多個節(jié)點;用于使用本機數(shù)據(jù)包轉發(fā)機制將所述網(wǎng)絡結構中的數(shù)據(jù)流引導至所述節(jié)點上的所述數(shù)據(jù)服務部件的裝置;以及用于使用所述數(shù)據(jù)服務部件來處理所述網(wǎng)絡結構中的所述數(shù)據(jù)流中一個或多個數(shù)據(jù)包的裝置。
[0160]根據(jù)一種實施方式,所述設備還包括:用于允許所述數(shù)據(jù)服務部件與一個或多個應用服務器共享物理機或駐留在專用物理機上的裝置。
[0161]根據(jù)一種實施方式,所述設備還包括:用于將所述數(shù)據(jù)服務部件部署在虛擬機中作為數(shù)據(jù)服務裝置的裝置,或者用于將所述數(shù)據(jù)服務部件直接部署在物理機上作為數(shù)據(jù)服務服務器的裝置。
[0162]根據(jù)一種實施方式,所述設備還包括:用于允許所述網(wǎng)絡結構是基于Infiniband網(wǎng)絡協(xié)議的裝置。
[0163]根據(jù)一種實施方式,所述設備還包括:用于經(jīng)外部網(wǎng)絡交換機和外部網(wǎng)絡鏈路中的一個,將外部網(wǎng)絡中的一個或多個數(shù)據(jù)服務服務器連接至所述網(wǎng)絡結構的裝置。
[0164]根據(jù)一種實施方式,所述設備還包括:用于允許所述節(jié)點成為中間節(jié)點的裝置,所述中間節(jié)點物理地隔離多個通信方和/或經(jīng)網(wǎng)絡分區(qū)隔離多個通信方。
[0165]根據(jù)一種實施方式,所述設備還包括:用于在所述網(wǎng)絡環(huán)境中的所述網(wǎng)絡結構上同時運行所述數(shù)據(jù)服務部件的多個實例的裝置。
[0166]根據(jù)一種實施方式,所述設備還包括:用于成對部署所述數(shù)據(jù)服務部件的多個實例的裝置。
[0167]根據(jù)一種實施方式,所述設備還包括:用于允許所述數(shù)據(jù)服務部件提供操作為檢查不同類型網(wǎng)絡業(yè)務的軟件防火墻(FWL)服務的裝置。
[0168]根據(jù)一種實施方式,所述設備還包括:用于允許所述數(shù)據(jù)服務部件提供業(yè)務路由服務的裝置。
[0169]—種用于在網(wǎng)絡環(huán)境中提供數(shù)據(jù)服務的系統(tǒng),其中所述網(wǎng)絡環(huán)境包括經(jīng)網(wǎng)絡結構相互連接的多個節(jié)點,所述系統(tǒng)包括在所述多個節(jié)點中的一個節(jié)點上的數(shù)據(jù)服務部件,所述數(shù)據(jù)服務部件配置成:接收所述網(wǎng)絡結構中的數(shù)據(jù)流,所述數(shù)據(jù)流通過使用本機數(shù)據(jù)包轉發(fā)機制被引導至所述數(shù)據(jù)服務部件;以及,處理所述網(wǎng)絡結構中的所述數(shù)據(jù)流中的一個或多個數(shù)據(jù)包。
[0170]根據(jù)一種實施方式,所述網(wǎng)絡結構是基于Infiniband網(wǎng)絡協(xié)議的。
[0171]根據(jù)一種實施方式,所述包括所述數(shù)據(jù)服務部件的節(jié)點是中間節(jié)點,該中間節(jié)點物理地隔離多個通信方和/或經(jīng)網(wǎng)絡分區(qū)隔離多個通信方。
[0172]根據(jù)一種實施方式,所述數(shù)據(jù)服務部件還配置成提供以下至少之一:操作為檢查不同類型的網(wǎng)絡業(yè)務的軟件防火墻(FWL)服務;和業(yè)務路由服務。
[0173]—種用于在網(wǎng)絡環(huán)境中提供數(shù)據(jù)服務的系統(tǒng),其中所述網(wǎng)絡環(huán)境包括經(jīng)網(wǎng)絡結構相互連接的多個節(jié)點,所述系統(tǒng)包括在所述多個節(jié)點中的一個節(jié)點上的數(shù)據(jù)服務服務器,所述數(shù)據(jù)服務服務器配置成接收通過使用本機數(shù)據(jù)包轉發(fā)機制被引導至所述數(shù)據(jù)服務服務器的所述網(wǎng)絡結構中的數(shù)據(jù)流,并處理所述網(wǎng)絡結構中的所述數(shù)據(jù)流中的一個或多個數(shù)據(jù)包。
[0174]根據(jù)一種實施方式,所述網(wǎng)絡結構是基于Infiniband網(wǎng)絡協(xié)議的。
[0175]根據(jù)一種實施方式,所述數(shù)據(jù)服務服務器是外部網(wǎng)絡中的數(shù)據(jù)服務服務器,所述數(shù)據(jù)服務服務器經(jīng)外部網(wǎng)絡交換機和外部網(wǎng)絡鏈路中的一個連接至所述網(wǎng)絡結構。
[0176]根據(jù)一種實施方式,所述包括所述數(shù)據(jù)服務服務器的節(jié)點是中間節(jié)點,該中間節(jié)點物理地隔離多個通信方和/或經(jīng)網(wǎng)絡分區(qū)隔離多個通信方。
[0177]根據(jù)一種實施方式,所述數(shù)據(jù)服務服務器配置成提供以下至少之一:操作為檢查不同類型的網(wǎng)絡業(yè)務的軟件防火墻(FWL)服務;以及業(yè)務路由服務。
[0178]根據(jù)一種實施方式,提供了一種用于在網(wǎng)絡環(huán)境中提供數(shù)據(jù)服務的方法,該方法包括:經(jīng)子網(wǎng)管理器,從源節(jié)點接收路徑記錄解析請求,其中所述源節(jié)點使用所述路徑記錄解析請求來獲取目的地節(jié)點的地址;經(jīng)所述子網(wǎng)管理器,向所述源節(jié)點提供中間節(jié)點的地址,其中所述中間節(jié)點提供所述數(shù)據(jù)服務;以及,經(jīng)所述源節(jié)點,基于所述中間節(jié)點的地址,向所述中間節(jié)點發(fā)送數(shù)據(jù)流中一個或多個數(shù)據(jù)包。
[0179]根據(jù)一種實施方式,提供了一種方法,該方法包括:經(jīng)所述中間節(jié)點,使用所述數(shù)據(jù)服務來處理所述一個或多個數(shù)據(jù)包;以及,經(jīng)所述中間節(jié)點,在處理所述一個或多數(shù)據(jù)包之后,向所述目的地節(jié)點發(fā)送一個或多個輸出數(shù)據(jù)包。
[0180]根據(jù)一種實施方式,提供了一種方法,包括允許所述網(wǎng)絡環(huán)境是基于Infiniband協(xié)議的。
[0181 ]根據(jù)一種實施方式,提供了一種方法,包括專用所述中間節(jié)點來提供數(shù)據(jù)服務。
[0182]根據(jù)一種實施方式,提供了一種方法,包括:經(jīng)與所述子網(wǎng)管理器相關聯(lián)的接口,配置用于所述子網(wǎng)管理器的一個或多個策略;以及,經(jīng)所述子網(wǎng)管理器,使用一個或多個策略來解析用于所述源節(jié)點的一個或多個目的地地址。
[0183]根據(jù)一種實施方式,提供了一種方法,包括允許所述一個或多個策略至少基于源和目的地全局標識符(GID)、服務標識符(ID)和網(wǎng)絡分區(qū)中的一個。
[0184]根據(jù)一種實施方式,提供了一種方法,包括在虛擬機中部署提供所述數(shù)據(jù)服務的數(shù)據(jù)服務部件作為虛擬裝置。
[0185]根據(jù)一種實施方式,提供了一種方法,包括允許由所述數(shù)據(jù)服務部件提供的所述數(shù)據(jù)服務對所述源節(jié)點和所述目的地節(jié)點都是透明的。
[0186]根據(jù)一種實施方式,提供了一種方法,包括允許所述數(shù)據(jù)服務成為操作為檢查不同類型的網(wǎng)路業(yè)務的軟件防火墻(FWL)服務。
[0187]根據(jù)一種實施方式,提供了一種方法,包括允許所述數(shù)據(jù)服務來執(zhí)行業(yè)務路由。
[0188]根據(jù)一種實施方式,提供了一種在網(wǎng)絡環(huán)境中提供數(shù)據(jù)服務的系統(tǒng),該系統(tǒng)包括:一個或多個微處理器;在所述網(wǎng)絡環(huán)境中運行于一個或多個微處理器上的子網(wǎng)管理器,其中所述子網(wǎng)管理器操作為從源節(jié)點接收路徑記錄解析請求,其中所述源節(jié)點使用所述路徑記錄解析請求來獲取目的地節(jié)點的地址;向所述源節(jié)點提供中間節(jié)點的地址,其中所述中間節(jié)點提供所述數(shù)據(jù)服務;以及允許所述源節(jié)點基于所述中間節(jié)點的地址,發(fā)送數(shù)據(jù)流中的一個或多個數(shù)據(jù)包至所述中間節(jié)點。
[0189]根據(jù)一種實施方式,提供了一種系統(tǒng),其中所述中間節(jié)點操作為使用所述數(shù)據(jù)服務來處理所述一個或多個數(shù)據(jù)包,并且所述中間節(jié)點操作為在處理所述一個或多個數(shù)據(jù)包之后,發(fā)送一個或多個輸出數(shù)據(jù)包至所述目的地節(jié)點。
[0190]根據(jù)一種實施方式,提供了一種系統(tǒng),其中所述網(wǎng)絡環(huán)境是基于Infiniband協(xié)議的。
[0191]根據(jù)一種實施方式,提供了一種系統(tǒng),其中所述中間節(jié)點專用于提供數(shù)據(jù)服務。
[0192]根據(jù)一種