專利名稱:處理分組以在主機(jī)系統(tǒng)的網(wǎng)絡(luò)上傳送的方法、系統(tǒng)及程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種處理分組以在包括多個(gè)網(wǎng)絡(luò)適配器的主機(jī)系統(tǒng)中的網(wǎng)絡(luò)上傳送的方法、系統(tǒng)及程序。
背景技術(shù):
一臺主計(jì)算機(jī)可能具有多個(gè)網(wǎng)卡以將系統(tǒng)連接到網(wǎng)絡(luò)上。在現(xiàn)有的系統(tǒng)中,該主機(jī)可能包括網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)器,該驅(qū)動(dòng)器是一個(gè)執(zhí)行以在所述主機(jī)操作系統(tǒng)和所述網(wǎng)卡之間進(jìn)行對接的軟件程序。對于包括多個(gè)處理器的主機(jī),該設(shè)備驅(qū)動(dòng)器將選擇所述網(wǎng)卡中的一個(gè)來發(fā)送分組。該設(shè)備驅(qū)動(dòng)器在所述主機(jī)中執(zhí)行,它典型地是執(zhí)行一個(gè)負(fù)載平衡算法以選擇一個(gè)特定的網(wǎng)卡來發(fā)送該分組。這種負(fù)載平衡算法需要數(shù)量巨大的主機(jī)中央處理單元(CPU)資源和周期來執(zhí)行。當(dāng)適配器的數(shù)量增加時(shí),以及當(dāng)該設(shè)備驅(qū)動(dòng)器要處理的事務(wù)的數(shù)量增加時(shí),在該主機(jī)CPU上的負(fù)荷也隨之增大。執(zhí)行負(fù)載平衡操作所需要的CPU資源能夠在該CPU容量的5%到50%的范圍內(nèi)變動(dòng),這取決于該CPU的處理速度、適配器的數(shù)目以及傳送活動(dòng)的量。
盡管如此,在本領(lǐng)域中仍然存在對提高所述設(shè)備驅(qū)動(dòng)器的性能以及最小化在所述主機(jī)處理器上的設(shè)備驅(qū)動(dòng)器的處理負(fù)荷的持續(xù)需求。
現(xiàn)在參考附圖,其中貫穿所有附圖以相似的參考數(shù)字代表相應(yīng)部分圖1說明了一個(gè)計(jì)算環(huán)境,其中本發(fā)明的實(shí)施方案被實(shí)現(xiàn);圖2說明了依照本發(fā)明的實(shí)施方案來選擇一個(gè)網(wǎng)絡(luò)適配器的操作;以及圖3說明了可能被用于所描述的實(shí)施方案的計(jì)算機(jī)結(jié)構(gòu)。
具體實(shí)施例方式
在以下的描述中,對所述附圖進(jìn)行參考,這些附圖形成了本文的一部分并且說明了本發(fā)明的幾個(gè)實(shí)施例。應(yīng)當(dāng)理解可以利用其他的實(shí)施方案并且可能做出結(jié)構(gòu)上和操作上的變化而不偏離本發(fā)明的范圍。
圖1說明了一個(gè)計(jì)算環(huán)境,其中本發(fā)明的實(shí)施方案可被實(shí)現(xiàn)。主計(jì)算機(jī)2包括一個(gè)或多個(gè)中央處理單元(CPU)4、一個(gè)易失性存儲器6、非易失性存儲裝置8、一個(gè)操作系統(tǒng)10以及多個(gè)網(wǎng)絡(luò)適配器12a,12b。盡管只有兩個(gè)網(wǎng)絡(luò)適配器被示出,但該主機(jī)2可以包括兩個(gè)以上的網(wǎng)絡(luò)適配器。應(yīng)用程序14還可以在存儲器6中執(zhí)行并且能夠從遠(yuǎn)程計(jì)算機(jī)發(fā)送以及接收分組。該主機(jī)2可以包含在本領(lǐng)域中已公知的任意計(jì)算設(shè)備,例如大型機(jī)、服務(wù)器、個(gè)人計(jì)算機(jī)、工作站、膝上型計(jì)算機(jī)、手持式計(jì)算機(jī)、電話設(shè)備、網(wǎng)絡(luò)裝置、虛擬化設(shè)備、存儲控制器等等。在本領(lǐng)域中已知的任意CPU4和操作系統(tǒng)10都可以被使用。作為存儲器管理操作的一部分,在存儲器6中的程序和數(shù)據(jù)可以被交換到存儲裝置8中。
所述網(wǎng)卡12a,12b能夠在網(wǎng)絡(luò)18上發(fā)送和接收數(shù)據(jù)的分組,其中所述網(wǎng)絡(luò)18可以包括局域網(wǎng)(LAN)、因特網(wǎng)、廣域網(wǎng)(WAN)、存儲區(qū)域網(wǎng)(SAN)、無線網(wǎng)絡(luò)(無線保真,Wireless Fidelity)等等。設(shè)備驅(qū)動(dòng)器20在存儲器6中執(zhí)行并且包括網(wǎng)絡(luò)適配器12a,12b特定的指令以與所述網(wǎng)絡(luò)適配器12a,12b進(jìn)行通信,以及在所述操作系統(tǒng)10和所述網(wǎng)絡(luò)適配器12a,12b之間對接。所述網(wǎng)絡(luò)適配器12a,12b或者設(shè)備驅(qū)動(dòng)器20將實(shí)施邏輯以處理所述分組,例如實(shí)施一個(gè)傳輸協(xié)議層以處理包括在分組中的消息的內(nèi)容,其中所述分組在傳輸層中被包裝,例如傳輸控制協(xié)議(TCP)和/或網(wǎng)際協(xié)議(IP)、網(wǎng)絡(luò)小型計(jì)算機(jī)系統(tǒng)接口(iSCSI)、光纖信道、SCSI、并行SCSI傳輸,或者其他任意本領(lǐng)域中已公知的傳輸層協(xié)議。該傳輸協(xié)議層將來自所接收到的TCP/IP分組的凈負(fù)荷解包,并且將該數(shù)據(jù)傳送到所述設(shè)備驅(qū)動(dòng)器20以返回給所述應(yīng)用14。此外,發(fā)送數(shù)據(jù)的應(yīng)用14將把該數(shù)據(jù)發(fā)送到所述設(shè)備驅(qū)動(dòng)器20,所述設(shè)備驅(qū)動(dòng)器然后將發(fā)送該數(shù)據(jù)到所述傳輸協(xié)議層以在所述網(wǎng)絡(luò)18上傳輸之前打包成TCP/IP分組。
該網(wǎng)絡(luò)適配器12a,12b還可另外包括一個(gè)網(wǎng)絡(luò)協(xié)議層,該網(wǎng)絡(luò)協(xié)議層實(shí)施物理通信層以通過網(wǎng)絡(luò)18來發(fā)送和接收去往和來自遠(yuǎn)程設(shè)備的網(wǎng)絡(luò)分組。在某些實(shí)施方案中,所述網(wǎng)絡(luò)適配器12a,12b網(wǎng)絡(luò)協(xié)議層(未被示出)可以實(shí)施以太網(wǎng)協(xié)議、令牌環(huán)協(xié)議、光纖信道協(xié)議、無限帶寬(Infiniband)、串行高級技術(shù)配件(SATA)、并行SCSI、串行附加SCSI電纜等等,或者任意其他本領(lǐng)域中公知的網(wǎng)絡(luò)通信協(xié)議。
所述網(wǎng)絡(luò)適配器12a,12b包括多個(gè)在該適配器的硬件中實(shí)施的元件。總線控制器30a,30b啟動(dòng)所述網(wǎng)絡(luò)適配器12a,12b以在計(jì)算機(jī)總線32上通信,所述計(jì)算機(jī)總線32可以包括本領(lǐng)域中公知的任何總線接口,例如外設(shè)部件互連(PCI)總線、小型計(jì)算機(jī)系統(tǒng)接口(SCSI)、串行ATA等等。傳送描述符隊(duì)列34a,34b在所述總線32上接收被傳送到所述適配器12a,12b的分組并對其進(jìn)行排隊(duì)。負(fù)載平衡塊36a,36b包括邏輯以實(shí)施負(fù)載平衡算法來選擇所述多個(gè)網(wǎng)絡(luò)適配器12a,12b中的一個(gè)去發(fā)送所接收到的分組。所述負(fù)載平衡算法可能使用本領(lǐng)域中公知的任意負(fù)載平衡技術(shù),例如循環(huán)法(round robin)等等。在該負(fù)載平衡模塊36a,36b中實(shí)施的負(fù)載平衡算法可以決定在每一個(gè)所述網(wǎng)絡(luò)適配器12a,12b上的相對負(fù)載,然后選擇具有最少負(fù)載的一個(gè)網(wǎng)絡(luò)適配器。作為選擇,所述負(fù)載平衡算法可以選擇一個(gè)網(wǎng)絡(luò)適配器12a,12b以基于所述分組指向的網(wǎng)絡(luò)地址如IP地址來處理分組。散列表可以被用來把一個(gè)IP地址和一個(gè)網(wǎng)絡(luò)適配器12a,12b關(guān)聯(lián)在一起以發(fā)送所述分組。在這樣的散列表實(shí)現(xiàn)中,所述負(fù)載平衡塊36a,36b將對該分組的目標(biāo)IP地址進(jìn)行散列以選擇一個(gè)網(wǎng)絡(luò)適配器來發(fā)送所述分組。在某些實(shí)現(xiàn)中,只有作為主適配器進(jìn)行操作的網(wǎng)絡(luò)適配器12a,12b才將執(zhí)行所述負(fù)載平衡操作。
該網(wǎng)絡(luò)適配器12a,12b還包括一個(gè)重新定向模塊38a,38b,其中如果所述負(fù)載平衡塊36a,36b確定另一個(gè)網(wǎng)絡(luò)適配器12a,12b應(yīng)處理對所接收到的分組的發(fā)送,則該重新定向模塊與所述總線控制器30a,30b相對接以將在所述發(fā)送描述符隊(duì)列34a,34b中的分組重新定向到該另一個(gè)網(wǎng)絡(luò)適配器12a,12b。該重新定向模塊38a,38b只在所述主網(wǎng)絡(luò)適配器12a,12b上被啟動(dòng)。配置寄存器和地址表40a,40b提供被用于指示所述網(wǎng)卡的狀態(tài)的狀態(tài)信息。該配置寄存器40a,40b將指示網(wǎng)絡(luò)適配器12a,12b是主適配器還是次適配器。該地址表40a,40b包括耦合到所述總線32的其他網(wǎng)絡(luò)適配器12a,12b的總線地址。
該網(wǎng)絡(luò)適配器12a,12b可能包括附加的硬件邏輯以執(zhí)行附加的操作來處理從所述主機(jī)2或者所述網(wǎng)絡(luò)18接收到的分組。此外,與所述主機(jī)設(shè)備驅(qū)動(dòng)器30相反,該網(wǎng)絡(luò)適配器12a,12b可能實(shí)施一個(gè)傳輸層卸載引擎(engine)(TOE)以在該網(wǎng)絡(luò)適配器中實(shí)施所述傳輸協(xié)議層,來進(jìn)一步減輕主機(jī)處理負(fù)荷。作為選擇,該傳輸層可以被實(shí)施在所述設(shè)備驅(qū)動(dòng)器20中。
圖2說明了在該網(wǎng)絡(luò)適配器12a,12b的元件中執(zhí)行的操作。一旦在所述發(fā)送描述符隊(duì)列34a,34b中接收到(在塊100)來自所述主機(jī)設(shè)備驅(qū)動(dòng)器20的分組,那么如果(在塊102)所述配置寄存器40a,40b指示該網(wǎng)絡(luò)適配器12a,12b是次適配器,則該排隊(duì)的分組被從該適配器12a,12b發(fā)送(在塊104)到所述網(wǎng)絡(luò)18,該適配器是或者從主機(jī)或者從主適配器接收該分組的。如果(在塊102)所述配置寄存器40a,40b指示該網(wǎng)絡(luò)適配器12a,12b是主適配器并且如果(在塊106)在所述總線32上有至少一個(gè)次網(wǎng)絡(luò)適配器可用,那么所述負(fù)載平衡塊36a,36b執(zhí)行(在塊108)負(fù)載平衡操作來選擇一個(gè)網(wǎng)絡(luò)適配器12a,12b,或者是它本身(所述主網(wǎng)絡(luò)適配器)或者是所述次網(wǎng)絡(luò)適配器中的一個(gè),來發(fā)送該分組。如果(在塊106)沒有活動(dòng)的次適配器,那么控制就進(jìn)行到塊104以發(fā)送該分組。如果(在塊110)在塊36a,36b中的該負(fù)載平衡算法選擇了所述主網(wǎng)絡(luò)適配器12a,12b,那么該主網(wǎng)絡(luò)適配器12a,12b將在所述發(fā)送描述符隊(duì)列34a,34b中的分組發(fā)送至網(wǎng)絡(luò)18。否則,如果(在塊110)次適配器被選擇了,則所述重新定向模塊38a,38b從所述地址表40a,40b確定(在塊112)所選擇的次適配器的總線地址并且在該總線32上、將在所述發(fā)送描述符隊(duì)列34a,34b中的分組發(fā)送(在塊114)至所選擇的次網(wǎng)絡(luò)適配器12a,12b的所被確定的總線地址。然后該接收所述分組的次網(wǎng)絡(luò)適配器12a,12b將執(zhí)行在圖2中的操作來處理所接收到的分組。
所述設(shè)備驅(qū)動(dòng)器20可以指定一個(gè)網(wǎng)絡(luò)適配器12a,12b缺省地作為所述主適配器并且總是發(fā)送分組到該被指定的主適配器。以這種方式,所述設(shè)備驅(qū)動(dòng)器20不執(zhí)行任何負(fù)載平衡或者權(quán)重操作的選擇,而只是發(fā)送所述分組到該被指定的主網(wǎng)絡(luò)適配器。在該主適配器故障的情況下,該設(shè)備驅(qū)動(dòng)器20能夠執(zhí)行故障解決(failover)操作來指定一個(gè)殘存的網(wǎng)絡(luò)適配器作為主適配器。
通過根據(jù)在所述網(wǎng)絡(luò)適配器邏輯中所實(shí)施的負(fù)載平衡算法,使所述網(wǎng)絡(luò)適配器執(zhí)行團(tuán)隊(duì)操作(teaming operation)來將分組轉(zhuǎn)移到最適合于發(fā)送分組的網(wǎng)絡(luò)適配器,從而從所述主機(jī)設(shè)備驅(qū)動(dòng)器卸載該負(fù)載平衡操作到所述網(wǎng)絡(luò)適配器硬件,因此所描述的實(shí)現(xiàn)大大減少了主機(jī)CPU的利用。此外,所描述的實(shí)施例以在所述總線32上、在網(wǎng)絡(luò)適配器之間轉(zhuǎn)移分組的I/O開銷中的極小增加,減少了處理器開銷。I/O開銷極小,是因?yàn)槿绻麧M足一定的負(fù)載平衡條件,則只有一部分的所述分組在該總線上被轉(zhuǎn)移到次適配器。
附加的實(shí)施方案詳述所描述的處理數(shù)據(jù)分組的技術(shù)可以通過使用標(biāo)準(zhǔn)編程和/或工程技術(shù)來制造軟件、固件、硬件或者其中的任意組合,而被實(shí)施為一種方法、裝置或者制造的物品。在此使用的術(shù)語“制造的物品”指的是代碼或是實(shí)施在硬件邏輯中的邏輯(例如,集成電路芯片、可編程門陣列(PGA)、專用集成電路(ASIC),等等)或者計(jì)算機(jī)可讀媒體,例如磁存儲媒體(例如,硬盤驅(qū)動(dòng)器、軟盤、磁帶,等等)、光存儲裝置(CD-ROM,光盤,等等)、易失性的和非易失性的存儲設(shè)備(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可編程邏輯,等等)。在計(jì)算機(jī)可讀媒體中的代碼被處理器存取和執(zhí)行。實(shí)施優(yōu)選實(shí)施方案的代碼還可以通過一個(gè)傳送媒體或者從在網(wǎng)絡(luò)上的文件服務(wù)器來訪問。在這種情況下,實(shí)施該代碼的制造的物品可以包括一個(gè)傳送媒體,例如網(wǎng)絡(luò)傳送線路、無線傳送媒體、通過空間傳播的信號、無線電波、紅外信號,等等。這樣,該“制造的物品”可以包括具體化該代碼的媒體。此外,所述“制造的物品”可以包括硬件和的軟件組件的組合,其中所述代碼被具體化、處理和執(zhí)行。當(dāng)然,本領(lǐng)域的那些技術(shù)人員將意識到對這種配置可以做許多修改而不偏離本發(fā)明的范圍,并且所述制造的物品可以包括本領(lǐng)域所公知的任何信息承載媒體。
在所描述的實(shí)施方案中,該負(fù)載平衡邏輯在網(wǎng)絡(luò)適配器硬件中被實(shí)施。跟在諸如專用集成電路(ASIC)的硬件中實(shí)施負(fù)載平衡邏輯相反,在附加的實(shí)現(xiàn)中,該網(wǎng)絡(luò)適配器可以包括一個(gè)處理器和存儲器來執(zhí)行被加載到存儲器的指令以執(zhí)行所述負(fù)載平衡操作。
在所描述的實(shí)現(xiàn)中,所述次網(wǎng)絡(luò)適配器一旦接收到一個(gè)分組,就將發(fā)送這樣的分組并且不執(zhí)行任何進(jìn)一步的負(fù)載平衡操作。在進(jìn)一步的實(shí)現(xiàn)中,從主網(wǎng)絡(luò)適配器接收到重新定向的分組的次網(wǎng)絡(luò)分組可以執(zhí)行附加的負(fù)載平衡操作來確定是發(fā)送還是重新定向該分組到另一個(gè)網(wǎng)絡(luò)適配器。
該網(wǎng)絡(luò)適配器可以被實(shí)施在一個(gè)網(wǎng)絡(luò)適配器卡中,如PCI卡,該卡被插入所述主機(jī)2的一個(gè)插槽中。作為選擇,該網(wǎng)絡(luò)適配器可以包括被安裝到所述主機(jī)2的母板上的集成電路元件。
在某些實(shí)現(xiàn)中,所述設(shè)備驅(qū)動(dòng)器和網(wǎng)絡(luò)適配器實(shí)施例可以被包括進(jìn)計(jì)算機(jī)系統(tǒng)中,該系統(tǒng)包括一個(gè)存儲控制器,例如SCSI、集成驅(qū)動(dòng)電子技術(shù)(IDE)、獨(dú)立磁盤冗余陣列(RAID),等等,其管理對諸如磁盤驅(qū)動(dòng)器、磁帶媒體、光盤等等的非易失性存儲設(shè)備的訪問的控制器。在替代的實(shí)現(xiàn)中,該網(wǎng)絡(luò)適配器實(shí)施例可以被包括進(jìn)一個(gè)系統(tǒng),該系統(tǒng)不包括存儲控制器,例如某些集線器和交換機(jī)。
在某些實(shí)現(xiàn)中,該網(wǎng)絡(luò)適配器可以被配置成通過連接到在該網(wǎng)絡(luò)適配器上的一個(gè)端口的電纜來發(fā)送數(shù)據(jù)。作為選擇,該網(wǎng)絡(luò)適配器實(shí)施例可以被配置成在無線網(wǎng)絡(luò)或連接上,例如在無線LAN、藍(lán)牙等等上發(fā)送數(shù)據(jù)。
在所描述的實(shí)現(xiàn)中,該設(shè)備驅(qū)動(dòng)器20不執(zhí)行負(fù)載平衡操作并且負(fù)載平衡操作在所述主網(wǎng)絡(luò)適配器12a,12b中被執(zhí)行。在替代的實(shí)施方案中,該設(shè)備驅(qū)動(dòng)器20可以執(zhí)行某些負(fù)載平衡算法來選擇一個(gè)網(wǎng)絡(luò)適配器,然后該被選擇的網(wǎng)絡(luò)適配器可進(jìn)一步更集中地執(zhí)行負(fù)載平衡操作以提高選擇最優(yōu)網(wǎng)絡(luò)適配器來處理該請求的能力。
圖2的所示邏輯表明某些事件以一定的順序發(fā)生。在替代的實(shí)施方案中,某些操作可以以不同的順序被執(zhí)行、修改或刪除。而且,可以向前面所描述的邏輯增加步驟,并且該步驟仍然同所描述的實(shí)施方案一致。此外,在此描述的操作可能順序地出現(xiàn)或者某些操作可能被并行處理。而更進(jìn)一步,操作可以由單個(gè)處理單元或者由分布式處理單元來執(zhí)行。
圖3說明了網(wǎng)絡(luò)元件,例如在圖1中所示出的主機(jī),的計(jì)算機(jī)結(jié)構(gòu)200的一個(gè)實(shí)現(xiàn)。該結(jié)構(gòu)200可以包括一個(gè)處理器202(例如,微處理器)、一個(gè)存儲器204(例如,易失性存儲設(shè)備),以及存儲裝置206(例如,非易失性存儲裝置,例如磁盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器,等等)。該存儲裝置206可能包括一個(gè)內(nèi)部存貯設(shè)備或者一個(gè)附加的或者網(wǎng)絡(luò)可訪問的存儲裝置。在該存儲裝置206中的程序被加載到所述存儲器204中去并且由所述處理器202以本領(lǐng)域中所公知的方式執(zhí)行。該結(jié)構(gòu)還包括一個(gè)網(wǎng)卡208以啟動(dòng)同諸如以太網(wǎng)、光信道仲裁回路等等的網(wǎng)絡(luò)的通信。此外,在某些實(shí)施方案中,該結(jié)構(gòu)還可能包括一個(gè)視頻控制器209來在顯示監(jiān)視器上再現(xiàn)信息,其中該視頻控制器209可以被實(shí)現(xiàn)在一個(gè)視頻卡上或者被集成到所述母板上安裝的集成電路元件中。正如所討論的,某些網(wǎng)絡(luò)設(shè)備可能含有多個(gè)網(wǎng)卡。輸入設(shè)備310被用于向所述處理器202提供用戶輸入,并且可能包括鍵盤、鼠標(biāo)、指示筆、麥克風(fēng)、觸敏顯示屏,或其他任何本領(lǐng)域中所公知的激活或輸入機(jī)制。輸出設(shè)備212能夠再現(xiàn)信息,該信息是由所述處理器202,或者其他諸如顯示監(jiān)視器、打印機(jī)、存儲裝置等等的元件所發(fā)送的。
前面對本發(fā)明的多種實(shí)施方案的描述已經(jīng)為了說明和描述的目的而被提出。但并不打算詳盡地描述本發(fā)明或者將本發(fā)明限制到所公開的精確形式上。根據(jù)前面所講的,可能有許多修改和變化。本發(fā)明的范圍不局限于這個(gè)詳細(xì)的描述,而是受限于所附加的權(quán)利要求。前面的說明、實(shí)例和數(shù)據(jù)給出了所述制造的完整描述以及本發(fā)明的組成部分的使用。由于可以作出本發(fā)明的許多實(shí)施方案而不偏離本發(fā)明的精神和范圍,因此本發(fā)明是在此后附加的權(quán)利要求中。
權(quán)利要求
1.一種處理分組以在包括多個(gè)網(wǎng)絡(luò)適配器的主機(jī)系統(tǒng)中的網(wǎng)絡(luò)上傳送的方法,該方法包括在第一網(wǎng)絡(luò)適配器上接收分組;在該第一網(wǎng)絡(luò)適配器內(nèi)執(zhí)行負(fù)載平衡操作,以選擇一個(gè)網(wǎng)絡(luò)適配器來發(fā)送所接收到的分組;以及如果所確定的網(wǎng)絡(luò)適配器是第二網(wǎng)絡(luò)適配器,那么利用該第一網(wǎng)絡(luò)適配器將所接收到的分組發(fā)送到該第二網(wǎng)絡(luò)適配器。
2.權(quán)利要求1所述的方法,還包括利用該第一網(wǎng)絡(luò)適配器,確定該第一網(wǎng)絡(luò)適配器是主網(wǎng)絡(luò)適配器還是次網(wǎng)絡(luò)適配器;以及如果該第一網(wǎng)絡(luò)適配器是所述次網(wǎng)絡(luò)適配器,則利用該第一網(wǎng)絡(luò)適配器在網(wǎng)絡(luò)上發(fā)送所接收到的分組,其中如果該第一網(wǎng)絡(luò)適配器是所述主網(wǎng)絡(luò)適配器,則該第一網(wǎng)絡(luò)適配器執(zhí)行所述負(fù)載平衡操作。
3.權(quán)利要求2所述的方法,其中該負(fù)載平衡操作只在該主網(wǎng)絡(luò)適配器中被執(zhí)行。
4.權(quán)利要求1所述的方法,其中執(zhí)行該負(fù)載平衡操作包括確定一個(gè)網(wǎng)絡(luò)適配器作為在該網(wǎng)絡(luò)上所接收到的分組要被發(fā)送到的目的網(wǎng)絡(luò)地址的函數(shù)。
5.權(quán)利要求4所述的方法,其中該網(wǎng)絡(luò)地址包括網(wǎng)際協(xié)議地址和光纖信道地址中的一個(gè)。
6.權(quán)利要求5所述的方法,其中確定一個(gè)網(wǎng)絡(luò)適配器作為目標(biāo)網(wǎng)絡(luò)地址的函數(shù)包括基于該目標(biāo)網(wǎng)絡(luò)地址,利用一散列算法來選擇一個(gè)網(wǎng)絡(luò)適配器。
7.權(quán)利要求1所述的方法,其中執(zhí)行該負(fù)載平衡操作包括基于所述網(wǎng)絡(luò)適配器中每一個(gè)的相對負(fù)載來確定一個(gè)網(wǎng)絡(luò)適配器。
8.一種在主機(jī)系統(tǒng)中執(zhí)行的設(shè)備驅(qū)動(dòng)器中實(shí)施的方法,用于處理分組以在網(wǎng)絡(luò)上傳送,其中該主機(jī)包括多個(gè)網(wǎng)絡(luò)適配器,并且其中該設(shè)備驅(qū)動(dòng)器執(zhí)行接收分組;以及起動(dòng)該分組到一個(gè)網(wǎng)絡(luò)適配器的發(fā)送,該網(wǎng)絡(luò)適配器被指定為主網(wǎng)絡(luò)適配器,其中該主網(wǎng)絡(luò)適配器能夠執(zhí)行負(fù)載平衡操作以確定一個(gè)網(wǎng)絡(luò)適配器來發(fā)送所接收到的分組,并且重新定向該分組至另一個(gè)網(wǎng)絡(luò)適配器以發(fā)送該分組。
9.權(quán)利要求8所述的方法,其中當(dāng)選擇所述多個(gè)網(wǎng)絡(luò)適配器中的一個(gè)來接收該分組時(shí),該設(shè)備驅(qū)動(dòng)器不執(zhí)行負(fù)載平衡操作。
10.權(quán)利要求8所述的方法,其中該設(shè)備驅(qū)動(dòng)器還執(zhí)行檢測被指定為所述主網(wǎng)絡(luò)適配器的一個(gè)網(wǎng)絡(luò)適配器的故障;確定一個(gè)可用的網(wǎng)絡(luò)適配器來充當(dāng)所述主網(wǎng)絡(luò)適配器,其中隨后接收到的分組被發(fā)送到所述被確定的網(wǎng)絡(luò)適配器;在所述被確定的網(wǎng)絡(luò)適配器中配置一個(gè)寄存器以使得該被確定的網(wǎng)絡(luò)適配器作為所述主網(wǎng)絡(luò)適配器操作并且執(zhí)行負(fù)載平衡操作。
11.一種在主機(jī)系統(tǒng)中執(zhí)行的設(shè)備驅(qū)動(dòng)器中實(shí)施的方法,用于處理分組以在網(wǎng)絡(luò)上傳送,其中該主機(jī)包括多個(gè)網(wǎng)絡(luò)適配器,并且其中該設(shè)備驅(qū)動(dòng)器執(zhí)行接收分組;以及起動(dòng)該分組到一個(gè)網(wǎng)絡(luò)適配器的發(fā)送,該網(wǎng)絡(luò)適配器被指定為主網(wǎng)絡(luò)適配器,其中該主網(wǎng)絡(luò)適配器能夠執(zhí)行負(fù)載平衡操作以確定一個(gè)網(wǎng)絡(luò)適配器來發(fā)送所接收到的分組,并且重新定向該分組至另一個(gè)網(wǎng)絡(luò)適配器以發(fā)送該分組。
12.權(quán)利要求11所述的方法,其中當(dāng)選擇所述多個(gè)網(wǎng)絡(luò)適配器中的一個(gè)來接收該分組時(shí),該設(shè)備驅(qū)動(dòng)器不執(zhí)行負(fù)載平衡操作。
13.權(quán)利要求11所述的方法,其中該設(shè)備驅(qū)動(dòng)器還執(zhí)行檢測被指定為所述主網(wǎng)絡(luò)適配器的一個(gè)網(wǎng)絡(luò)適配器的故障;確定一個(gè)可用的網(wǎng)絡(luò)適配器來充當(dāng)所述主網(wǎng)絡(luò)適配器,其中隨后接收到的分組被發(fā)送到所述被確定的網(wǎng)絡(luò)適配器;以及在所述被確定的網(wǎng)絡(luò)適配器中配置一個(gè)寄存器以使得該被確定的網(wǎng)絡(luò)適配器作為所述主網(wǎng)絡(luò)適配器操作并且執(zhí)行負(fù)載平衡操作。
14.一種在主機(jī)系統(tǒng)中與一個(gè)外部網(wǎng)絡(luò)適配器進(jìn)行通信的網(wǎng)絡(luò)適配器,該網(wǎng)絡(luò)適配器包括同至少一個(gè)外部網(wǎng)絡(luò)適配器相對接的接口;控制邏輯,使得該網(wǎng)絡(luò)適配器執(zhí)行操作,該操作包括(i)接收分組;(ii)執(zhí)行負(fù)載平衡操作以選擇一個(gè)網(wǎng)絡(luò)適配器來發(fā)送所接收到的分組;以及(iii)如果被確定的網(wǎng)絡(luò)適配器是一個(gè)外部網(wǎng)絡(luò)適配器,那么將所接收到的分組轉(zhuǎn)發(fā)到該外部網(wǎng)絡(luò)適配器。
15.權(quán)利要求14所述的網(wǎng)絡(luò)適配器,其中由該控制邏輯引起的操作還包括確定該網(wǎng)絡(luò)適配器是主網(wǎng)絡(luò)適配器還是次網(wǎng)絡(luò)適配器;以及如果該網(wǎng)絡(luò)適配器是所述次網(wǎng)絡(luò)適配器,則起動(dòng)在網(wǎng)絡(luò)上對所接收到的分組的發(fā)送,其中如果該網(wǎng)絡(luò)適配器是所述主網(wǎng)絡(luò)適配器,則該負(fù)載平衡操作被執(zhí)行。
16.權(quán)利要求14所述的網(wǎng)絡(luò)適配器,其中該負(fù)載平衡操作包括確定一個(gè)網(wǎng)絡(luò)適配器作為在該網(wǎng)絡(luò)上所接收到的分組要被發(fā)送到的目的網(wǎng)絡(luò)地址的函數(shù)。
17.權(quán)利要求16所述的網(wǎng)絡(luò)適配器,其中確定一個(gè)網(wǎng)絡(luò)適配器作為目標(biāo)網(wǎng)絡(luò)地址的函數(shù)包括基于該目標(biāo)網(wǎng)絡(luò)地址,利用一散列算法來選擇一個(gè)網(wǎng)絡(luò)適配器。
18.權(quán)利要求14所述的網(wǎng)絡(luò)適配器,其中該負(fù)載平衡操作包括基于所述網(wǎng)絡(luò)適配器的每一個(gè)的相對負(fù)載來確定一個(gè)網(wǎng)絡(luò)適配器。
19.權(quán)利要求14所述的方法,其中該分組被利用所述網(wǎng)際協(xié)議(IP)來編碼。
20.一種被耦合到網(wǎng)絡(luò)和數(shù)據(jù)存儲裝置的系統(tǒng),該系統(tǒng)包括處理器;存儲控制器,該控制器管理對該數(shù)據(jù)存儲裝置的輸入/輸出(I/O)訪問;能夠在該網(wǎng)絡(luò)上發(fā)送和接收數(shù)據(jù)的多個(gè)網(wǎng)絡(luò)適配器;設(shè)備驅(qū)動(dòng)器,由該處理器執(zhí)行以完成操作,所述操作包括(i)接收分組;以及(ii)起動(dòng)該分組到一個(gè)網(wǎng)絡(luò)適配器的發(fā)送,該網(wǎng)絡(luò)適配器被指定為主網(wǎng)絡(luò)適配器,其中該主網(wǎng)絡(luò)適配器能夠執(zhí)行負(fù)載平衡操作以選擇一個(gè)網(wǎng)絡(luò)適配器來發(fā)送所接收到的分組,并且將該分組轉(zhuǎn)發(fā)到另一個(gè)網(wǎng)絡(luò)適配器以發(fā)送該分組。
21.權(quán)利要求20所述的系統(tǒng),其中當(dāng)選擇所述多個(gè)網(wǎng)絡(luò)適配器中的一個(gè)來接收該分組時(shí),該設(shè)備驅(qū)動(dòng)器不執(zhí)行負(fù)載平衡操作。
22.權(quán)利要求20所述的系統(tǒng),其中該設(shè)備驅(qū)動(dòng)器操作還包括檢測被指定為所述主網(wǎng)絡(luò)適配器的一個(gè)網(wǎng)絡(luò)適配器的故障;確定一個(gè)可用的網(wǎng)絡(luò)適配器來充當(dāng)所述主網(wǎng)絡(luò)適配器,其中隨后接收到的分組被發(fā)送到所述被確定的網(wǎng)絡(luò)適配器;以及在所述被確定的網(wǎng)絡(luò)適配器中配置一個(gè)寄存器以使得所述被確定的網(wǎng)絡(luò)適配器作為該主網(wǎng)絡(luò)適配器操作并且執(zhí)行負(fù)載平衡操作。
23.權(quán)利要求20所述的系統(tǒng),其中該數(shù)據(jù)存儲裝置包括磁存儲媒體。
24.權(quán)利要求23所述的系統(tǒng),其中該第一網(wǎng)絡(luò)適配器執(zhí)行操作包括確定該第一網(wǎng)絡(luò)適配器是主網(wǎng)絡(luò)適配器還是次網(wǎng)絡(luò)適配器;以及如果該第一網(wǎng)絡(luò)適配器是所述次網(wǎng)絡(luò)適配器,則起動(dòng)在網(wǎng)絡(luò)上對所接收到的分組的發(fā)送,其中如果該第一網(wǎng)絡(luò)適配器是所述主網(wǎng)絡(luò)適配器,則該第一網(wǎng)絡(luò)適配器執(zhí)行該負(fù)載平衡操作。
25.一種處理分組以在包括多個(gè)網(wǎng)絡(luò)適配器的主機(jī)系統(tǒng)中的網(wǎng)絡(luò)上傳送的制造的物品,其中該制造的物品使得操作被執(zhí)行,該操作包括在第一網(wǎng)絡(luò)適配器上接收分組;在該第一網(wǎng)絡(luò)適配器內(nèi)執(zhí)行負(fù)載平衡操作,以選擇一個(gè)網(wǎng)絡(luò)適配器來發(fā)送所接收到的分組;以及如果所確定的網(wǎng)絡(luò)適配器是第二網(wǎng)絡(luò)適配器,那么利用該第一網(wǎng)絡(luò)適配器將所接收到的分組發(fā)送到所述第二網(wǎng)絡(luò)適配器。
26.權(quán)利要求25所述的制造的物品,其中該操作還包括利用該第一網(wǎng)絡(luò)適配器,確定該第一網(wǎng)絡(luò)適配器是主網(wǎng)絡(luò)適配器還是次網(wǎng)絡(luò)適配器;以及如果該第一網(wǎng)絡(luò)適配器是所述次網(wǎng)絡(luò)適配器,則利用該第一網(wǎng)絡(luò)適配器來起動(dòng)在網(wǎng)絡(luò)上對所接收到的分組的發(fā)送,其中如果該第一網(wǎng)絡(luò)適配器是所述主網(wǎng)絡(luò)適配器,則該第一網(wǎng)絡(luò)適配器執(zhí)行所述負(fù)載平衡操作。
27.權(quán)利要求26所述的制造的物品,其中該負(fù)載平衡操作只在所述主網(wǎng)絡(luò)適配器中被執(zhí)行。
28.權(quán)利要求25所述的制造的物品,其中執(zhí)行該負(fù)載平衡操作包括確定一個(gè)網(wǎng)絡(luò)適配器作為在該網(wǎng)絡(luò)上所接收到的分組要被發(fā)送到的目的網(wǎng)絡(luò)地址的函數(shù)。
29.權(quán)利要求27所述的制造的物品,其中確定一個(gè)網(wǎng)絡(luò)適配器作為目標(biāo)網(wǎng)絡(luò)地址的函數(shù)包括基于該目標(biāo)網(wǎng)絡(luò)地址,利用一散列算法來選擇一個(gè)網(wǎng)絡(luò)適配器。
30.權(quán)利要求24所述的制造的物品,其中執(zhí)行該負(fù)載平衡操作包括基于所述網(wǎng)絡(luò)適配器中每一個(gè)的相對負(fù)載來確定一個(gè)網(wǎng)絡(luò)適配器。
31.一種處理分組以在包括多個(gè)網(wǎng)絡(luò)適配器的主機(jī)中的網(wǎng)絡(luò)上傳送的制造的物品,其中該制造的物品使得操作被執(zhí)行,該操作包括接收分組;以及起動(dòng)所述分組到一個(gè)網(wǎng)絡(luò)適配器的發(fā)送,該網(wǎng)絡(luò)適配器被指定為主網(wǎng)絡(luò)適配器,其中該主網(wǎng)絡(luò)適配器能夠執(zhí)行負(fù)載平衡操作以確定一個(gè)網(wǎng)絡(luò)適配器來發(fā)送所接收到的分組,并且重新定向該分組至另一個(gè)網(wǎng)絡(luò)適配器以發(fā)送該分組。
32.權(quán)利要求31所述的制造的物品,其中當(dāng)選擇所述多個(gè)網(wǎng)絡(luò)適配器中的一個(gè)以接收該分組時(shí),不執(zhí)行該負(fù)載平衡操作。
33.權(quán)利要求31所述的制造的物品,其中該操作還包括檢測被指定為所述主網(wǎng)絡(luò)適配器的一個(gè)網(wǎng)絡(luò)適配器的故障;確定一個(gè)可用的網(wǎng)絡(luò)適配器以充當(dāng)所述主網(wǎng)絡(luò)適配器,其中隨后接收到的分組被發(fā)送到所述被確定的網(wǎng)絡(luò)適配器;以及在所述被確定的網(wǎng)絡(luò)適配器中配置一個(gè)寄存器以使得該被確定的網(wǎng)絡(luò)適配器作為所述主網(wǎng)絡(luò)適配器操作并且執(zhí)行負(fù)載平衡操作。
全文摘要
提供了一種處理分組以在包括多個(gè)網(wǎng)絡(luò)適配器的主機(jī)系統(tǒng)中的網(wǎng)絡(luò)上傳送的方法、系統(tǒng)及程序。分組在第一網(wǎng)絡(luò)適配器上被接收。該第一網(wǎng)絡(luò)適配器執(zhí)行負(fù)載平衡操作來選擇一個(gè)網(wǎng)絡(luò)適配器以發(fā)送所接收到的分組。如果所述被確定的網(wǎng)絡(luò)適配器是第二網(wǎng)絡(luò)適配器,那么所接收到的分組被轉(zhuǎn)發(fā)到該第二網(wǎng)絡(luò)適配器。
文檔編號H04L12/66GK1578267SQ20041006205
公開日2005年2月9日 申請日期2004年6月25日 優(yōu)先權(quán)日2003年7月2日
發(fā)明者A·文卡塔納拉彥, A·曼諾哈 申請人:英特爾公司