新四季網

負載平衡的聯網環境下的智能故障轉移的製作方法

2023-06-09 09:59:41 2

專利名稱:負載平衡的聯網環境下的智能故障轉移的製作方法
技術領域:
本發明的實施例大體上涉及網絡通信,且更具體地說,涉及一種用於在負載平衡的 聯網環境下對網絡連接進行智能故障轉移的系統和方法。
背景技術:
性能和可靠性是對現代計算機網絡的關鍵要求。當計算裝置上的網絡接口 (NIC) 不再可靠時,所述NIC的聯網性能可能會出現實質下降,可能下降到零。在這種情形下, 當代的解決方案是將網絡連接從不可靠的NIC重新引導到同一計算裝置上的其它可靠 NIC,這是一種被稱為"故障轉移"的技術。儘管故障轉移可能會減輕存在不可靠NIC 的直接問題,但其餘可靠NIC上的來自經過故障轉移的連接的額外網絡業務可能會導致 其餘可靠NIC中的一者或一者以上變得過載,從而降低那些接口的性能。此外,其餘可 靠NIC上的額外網絡業務可能會實質上增加計算裝置所執行的網絡處理,從而降低計算 裝置的性能。
正如前文所說明,此項技術中需要一種對到達一個或一個以上可靠NIC的網路連接 進行故障轉移的技術,其降低了 NIC過載或其它可能削弱總體系統性能的現象的可能 性。

發明內容
本發明的一個實施例陳述一種在不依賴於交換機的網絡環境下將網絡連接從主機 軟體模塊卸載到故障轉移網絡接口卡(NIC)中所包含的第一硬體卸載引擎的方法。所
述方法包含以下步驟請求得到故障轉移NIC的身份;從散列算法的輸出確定故障轉移 NIC的身份;設置第一硬體卸載引擎中所包含的第一受託連接表中的條目,其中所述條 目包含網路連接的連接狀態;以及設置主機軟體模塊中所包含的連接表中的對應於所述 網路連接的硬體識別符,其中所述經設置的硬體識別符指示網路連接正通過第一硬體卸 載引擎而運行。
所揭示的方法的一個優點在於,當對網路連接進行故障轉移時可能更容易避免例如 網絡接口過載等問題,從而相對於現有技術改進了總體系統性能。


為了能更詳細地了解本發明的上述特徵,可通過參考實施例來獲得上文簡要概述的
本發明的更具體描述內容,附圖中說明了所述實施例中的一些實施例。然而應注意的是,
附圖僅說明本發明的典型實施例,且因此不應被認為是限制本發明的範圍,因為本發明
可認可其它同等有效的實施例。
圖1A和圖1B說明其中可實施本發明的一個或一個以上方面的計算裝置;
圖2說明用於將網路連接從出現故障的NIC去卸載到軟體的方法步驟的流程圖3A和圖3B說明用於在不依賴於交換機的網絡環境下將網路連接從軟體卸載到故
障轉移NIC的方法步驟的流程圖;以及
圖4說明在通過外部構件將網路連接移動到新的NIC時將網路連接卸載到新的NIC
的方法步驟的流程圖。
具體實施例方式
可通過使用跟蹤網絡統計資料的散列引擎來實現從出現故障的NIC到一個或一個 以上操作NIC的網絡連接的智能故障轉移,所述統計資料包含不依賴於交換機(即,其 中將計算裝置100的NIC耦合到外部網絡的交換機不在802.3ad模式下操作的網絡環境) 的網絡環境下的連接數目和通過每個NIC傳輸和接收的業務的量。一旦已檢測到出現故 障或不可靠的NIC,就詢問散列引擎以獲得替代的NIC,所述替代的NIC可能利用不足, 或以其它方式能夠容納來自出現故障的NIC的連接。此詢問允許由替代的NIC來處理 一個或一個以上額外的網路連接,而不會超出所述NIC的容量,從而避免可能會實質上 降低與NIC相關聯的計算裝置的網絡性能的故障轉移操作。可通過以下方式來實現額外 的網絡性能益處從出現故障的NIC內的硬體卸載引擎去卸載所述連接,且隨後將那些 連接卸載到一個或一個以上故障轉移NIC內的硬體卸載引擎。
在本發明的另一實施例中,在計算裝置外部執行對故障轉移NIC的選擇,可能在依 賴於交換機(即,其中將計算裝置100的NIC耦合到外部網絡的交換機在802.3ad模式 下操作的網絡環境)的網絡環境下是通過交換機,和在不依賴於交換機的網絡環境下是 通過外部計算裝置。由於此實施例中用於選擇故障轉移NIC的過程不同於不依賴於交換 機的環境下用於選擇NIC的過程,所以單獨考慮此實施例。此外,由於從將網路連接從 軟體TCP/IP (傳輸控制協議和網際網路協議)堆棧卸載到硬體卸載引擎得到的益處對所屬 領域的技術人員來說是眾所周知的,所以本文中將不論述這些問題。
圖1A和圖1B說明其中可實施本發明的一個或一個以上方面的計算裝置100。如圖 所示,計算裝置IOO包含主存儲器102、存儲器控制器104、微處理器106、 1/0控制器 108以及NIC 110, 118。 NIC IIO包含多播列表116和硬體卸載引擎("HOE") 112,硬
件卸載引擎112進一步包含受託連接表("DCT") 114。 NIC 118包含多播列表124和 HOE 120, HOE 120進一步包含DCT 122。 HOE 112, 120包含經配置以用於處理與計算 裝置100與一個或一個以上遠程網絡計算裝置(未圖示)之間的已選擇性地卸載到NIC 110, 118的網路連接相關聯的網絡幀的邏輯。通過用NIC 110, 118中的邏輯來處理網 絡幀(有時被稱為"在硬體中處理連接"),而不是像常規做法那樣在主機軟體TCP/IP 堆棧中執行那些處理功能(有時被稱為"在軟體中處理連接"),可實質上減少NIC 110, U8與微處理器106之間的通信以及由微處理器106執行的計算。
DCT 114, 122經配置以包含多個受託連接表條目,其中每個條目對應於幀由包含 所述特定DCT的HOE處理的網路連接。在本發明的一個實施例中,每個DCT條目包 含每個受託連接的以下狀態信息目的地(即遠程計算裝置)網際網路協議("IP")地址、 目的地埠編號、源(計算裝置100)埠編號和在硬體中運行所述受託連接所必需的 某一 TCP/IP連接狀態。
存儲器控制器104耦合到主存儲器102且耦合到微處理器106,且I/O控制器108 耦合到微處理器106以及NIC 110, 118。在本發明的一個實施例中,微處理器106通過 將命令或數據寫入到I/O控制器108中來將命令或數據傳輸到NIC110, 118。 一旦將此 類命令或數據寫入到I/O控制器108中,I/O控制器108就視情況將所述命令或數據翻 譯成目標NIC可理解的格式,並將所述命令或數據傳送到目標NIC。類似地,NIC 110, 118通過將命令或數據寫入到I/O控制器108中來將命令或數據傳輸到微處理器106,且 I/O控制器108視情況將所述命令或數據翻譯成微處理器106可理解的格式,並將所述 命令或數據傳送到微處理器106。前面所提及的耦合可實施成存儲器總線或I/O總線, 例如PCFM總線,或其任何組合,或者可另外以任何其它技術上可行的方式實施。
如圖IB中更詳細展示,主存儲器102包含作業系統126和軟體驅動器128。軟體 驅動器128包含負載平衡和故障轉移("LBFO")模塊130和TCP/IP堆棧134。 LBFO 模塊130跟蹤每個NIC的聯網狀態(例如,通過監視每個NIC的連結狀態、每個NIC 上的發送和接收錯誤的數目和/或是否每個NIC都在發送和接收保持激活的包),並在網 絡業務正從出現故障的NIC移動到軟體或從軟體移動到故障轉移NIC時與TCP/IP堆棧 134通信。LBFO模塊130包含散列引擎132,其基於前面所提及的聯網統計資料而智能 地確定網絡連接應如何在計算裝置100中的起不同作用的NIC上分布,如2007年5月 18日申請的且序號為11/750,914且代理人案號為NVDA/P001882的題為"負載平衡的 聯網環境下的智能故障恢復(Intelligent Failback In a Load-Balanced Networking Environment)"的相關美國專利申請案中所描述。此相關專利申請案以引用的形式併入
本文中。TCP/IP堆棧134包含連接表136,連接表136包含多個連接表條目,其中每個 條目對應於計算裝置100與遠程計算裝置之間的網路連接。在一個實施例中,每個連接 表條目包含每個連接的以下狀態信息連接的目的地IP位址、目的地埠編號、源IP 地址、源埠編號和硬體識別符,以及足以處理丟失的包的TCP/IP狀態等。重要的是, 特定連接的硬體識別符指示哪個HOE (如果存在的話)正在硬體中處理所述連接。在一 個實施例中,可按常規將正在硬體中處理的每個連接的連接狀態從負責處理所述連接的 HOE內的受託連接表複製到連接表136。舉例來說,可使用反覆計時器來複製狀態信息。 以此方式,每個受託連接的連接狀態的經更新的拷貝可保存在連接表136中,以供TCP/IP 堆棧134使用。
計算裝置100可以是桌上型計算機、伺服器、膝上型計算機、掌上型計算機、個人 數字助理、平板計算機、遊戲控制臺、蜂窩式電話或處理信息的任何其它類型的類似裝 置。
圖2說明根據本發明一個實施例的用於將網路連接從出現故障的NIC去卸載到軟體 的方法步驟200的流程圖。儘管參考計算裝置100來描述所述方法,但所屬領域的技 術人員將了解,任何經配置以執行所述方法步驟(以任何次序)的系統都在本發明的範 圍內。
如圖所示,用於去卸載網路連接的方法在步驟202處開始,其中LBFO模塊130監 視每個NIC 110, 118的狀態以尋找所述NIC之一出現故障或變得不可靠的指示。在--個實施例中,當存在三種情況中的任一者時確定NIC己經出現故障或變得不可靠。第一, LBFO模塊130可基於NIC的連結指示確定對於所述NIC存在連結斷開,這意味著網絡 電纜已變得斷開。第二, LBFO模塊130可基於NIC所發送的包的數目與所述包傳輸到 的遠程計算裝置所確認的包的數目之間的比較確定所述NIC傳輸的實質數目或百分比 的包丟失了。第三,LBFO模塊130可確定在計算裝置IOO中的NIC 110, 118之間傳輸 的保持激活的包正被丟失。如2005年12月15日申請的且序號為11/303,285且代理人 案號為NVDA/POO 1879的題為"用於識別網絡接口卡組內出現故障的網絡接口卡的技術 (Technique for Identifying a Failed Network Interface Card within a Team of Network Interface Cards)"的相關美國專利申請案中所描述,可基於每個NIC正在如何傳輸和/ 或接收保持激活的包識別出現故障的NIC。此相關專利申請案以引用的形式併入本文中。 通過監視每個NIC以尋找這些類型的指示,LBFO模塊130能夠可靠地檢測到出現故障 的或不可靠的NIC。
在步驟204中,LBFO模塊130基於在步驟202中監視的指示來確定NIC是否已出
現故障或變得不可靠。如果LBFO模塊130確定未出現故障,那麼所述方法返回到步驟 202,其中LBFO模塊130繼續監視NIC 110, 118以尋找故障。
然而,如果發現NIC已出現故障或變得不可靠,那麼所述方法進行到步驟206到 214,其中將正通過所述NIC運行的連接去卸載到軟體。僅出於論述的目的,假定NIC 110 已出現故障。在步驟206中,LBFO模塊130用信號通知TCP/IP堆棧134 NIC 110已出 現故障或已變得不可靠。在步驟208中,LBFO模塊用信號通知散列引擎132 NIC 110 已出現故障或變得不可靠,以避免向出現故障的NIC IIO指配任何新的連接。在接收到 這個信號後,散列引擎132立即調整其內部負載平衡算法,以便不向出現故障的NIC 110 指配新的連接。
在步驟210中,對於每個通過出現故障的NIC IIO運行的連接,出現故障的NIC的 HOE (例如,HOE 112)使DCT (例如,DCT 114)中對應於其連接的條目失效。在一 個實施例中,通過以下方式來使DCT條目失效TCP/IP堆棧134向HOE 112發送使 DCT條目失效的命令,HOE 112接收所述命令並使所述DCT條目失效,且HOE 112向 TCP/IP堆棧134確認這項操作的完成。在步驟212中,對於每個從出現故障的NIC 110 去卸載的連接,如果DCT 114中對於所述連接的連接狀態不與連接表136中的連接狀態 匹配,那麼TCP/IP堆棧134將所述連接的連接狀態從DCT 114複製到連接表136。在 步驟214中,對於每個從出現故障的NIC 110去卸載的連接,TCP/IP堆棧134使連接表 136中的所述連接的硬體識別符失效。使硬體識別符失效指示所述連接正通過TCP/IP堆 棧134運行。重要的是, 一旦已在DCT 114中使連接的連接狀態失效,且已在連接表 136中使連接的硬體識別符失效,此後就在軟體中通過TCP/IP堆棧134而不是在硬體中 通過HOE 112來處理任何在所述連接上傳輸或接收到的包。一旦已經以此方式將出現故 障的NIC 110上的所有連接從硬體去卸載到軟體,所述方法就在步驟216中終止。
圖3A和圖3B說明根據本發明一個實施例的用於在不依賴於交換機的網絡環境下將 網路連接從軟體卸載到故障轉移NIC的方法步驟的流程圖。儘管參考計算裝置100來描 述所述方法,但所屬領域的技術人員將了解,任何經配置以執行所述方法步驟(以任何 次序)的系統都在本發明的範圍內。
重要的是,在不依賴於交換機的網絡環境下,LBFO模塊130為每個去卸載到軟體 的連接識別故障轉移NIC,如上文在圖2中所述。
如圖所示,在步驟302到312中描述用於將單個網路連接從軟體卸載到故障轉移 NIC的方法。在方法200中,針對每個去卸載到軟體的連接重複這些步驟,使得所有被 去卸載的連接最終都從軟體卸載到一個或一個以上故障轉移NIC。在步驟302中,TCP/IP
堆棧134請求LBFO模塊130識別應當向其卸載當前被去卸載連接的NIC。同樣,如步 驟208中所論述,散列引擎132跟蹤計算裝置IOO中每個NIC的狀態,並在NIC出現 故障或變得不可靠時調整其連接指配算法,以避免將任何新的或現有的連接卸載到所述 出現故障的或不可靠的NIC。在步驟304中,LBFO模塊130詢問散列引擎132,以識 別應向其卸載當前連接的合適的NIC。僅出於論述的目的,假定散列引擎132將故障轉 移NIC 118識別為應向其卸載當前連接(其先前已經從出現故障的NIC 110去卸載)的 NIC。
在步驟306中,軟體驅動器128將出現故障的NIC 110的MAC地址添加到故障轉 移NIC 118的多播列表124,這允許故障轉移NIC 118接收送交到出現故障的NIC 110 的MAC地址的包。在步驟308中,TCP/IP協議134指導故障轉移NIC 118將獲知包 (learni ng packet)發送到交換機。所述獲知包可能是任何包含出現故障的NIC 110的M AC 地址的技術上可行的包類型。如眾所周知,從故障轉移NIC 118發送此包會導致交換機 對其自身進行重新配置,以便將去往出現故障的NIC IIO的MAC地址的後續包路由到 故障轉移NIC 118。因此,此後由故障轉移NIC 118來接收與正被卸載到故障轉移NIC 118 的當前連接有關的所有網絡業務。如代理人案號為NVDA/P001882的相關專利申請案中 更詳細地描述,這種方法的結果是來自特定的出現故障的NIC的所有連接都被卸載到同 一故障轉移NIC。
在步驟310中,HOE 120設置DCT 122中對應於正被卸載的當前連接的連接狀態。 而且,設置DCT條目中的連接狀態包含設置其目的地IP位址、目的地埠編號、源端 口編號和正被卸載的連接的特定TCP/IP狀態。在一個實施例中,通過以下方式設置DCT 條目TCP/IP堆棧134向HOE 120發送設置連接狀態的命令,HOE 120接收所述命令 並設置連接狀態,且HOE 120向TCP/IP堆棧134確認此操作的完成。在步驟312中, 對於正被卸載的連接,TCP/IP堆棧134將連接表136內的硬體識別符設置為代表故障轉 移NIC 118的HOE 120的裝置句柄。硬體識別符指示所述連接正通過HOE 120而運行。 重要的是, 一旦將連接的硬體識別符設置為特定HOE的裝置句柄,此後就通過所述HOE 在硬體中處理在所述連接上傳輸或接收的任何包。
在步驟314中,TCP/IP堆棧134確定是否已將出現故障的NIC 110的所有被去卸載 的連接都卸載到故障轉移NIC。如果尚未將所有被去卸載的連接都卸載到故障轉移NIC, 那麼方法返回到步驟302到312,其中將另一被去卸載的連接卸載到故障轉移NIC。然 而,如果已將所有被去卸載的連接都卸載到故障轉移NIC,那麼所述方法在步驟316中 終止。
圖4說明根據本發明一個實施例的用於在通過外部構件將網路連接移動到新的NIC 時將網路連接卸載到新的NIC的方法步驟的流程圖。儘管參考計算裝置100來描述所述 方法的,但所屬領域的技術人員將了解,任何經配置以執行所述方法步驟(以任何次序) 的系統都在本發明的範圍內。
如前所述,在至少兩種情形下,當將連接從舊的NIC移動到新的NIC (即故障轉移 NIC)時,可能會發生故障轉移。 一種情形涉及依賴於交換機的網絡環境,其中交換機 確定NIC己經出現故障或已變得不可靠,且因此將與所述出現故障或不可靠的NIC相 關聯的一些或所有連接移動到一個或一個以上故障轉移NIC。另一種情形涉及不依賴於 交換機的網絡環境,其中將計算裝置IOO針對一個連接接收到的包送交到除舊的NIC之 外的NIC (即新的/故障轉移NIC)並由其接收。此處,網絡中除計算裝置100之外的某 個計算裝置已主動將與所述連接相關聯的包傳輸到新的NIC。在這兩種情形下,當LBFO 模塊130檢測到正在除舊的NIC之外的NIC上接收到用於所述連接的包時,LBFO模塊 130認識到已為所述連接選擇了新的NIC。如下文中更詳細地描述,LBFO模塊130監 視NIC以尋找傳入的包,確定傳入的包是否指示被移動的連接,從舊的NIC去卸載所 述被移動的連接,並將所述被移動的連接卸載在新的NIC上。僅出於論述的目的,假定 NIC 110是舊的NIC。
如圖所示,卸載網路連接的方法在步驟402處開始,其中LBFO模塊130監視NIC 以尋找網絡業務,如上文所述。在步驟404中,對於給定連接,LBFO模塊130檢測已 在新的NIC上而不是在舊的NIC110上接收到的用於所述連接的包。同樣,這可在至少 兩種情形下發生。第一種情況是,在依賴於交換機的網絡環境下,交換機檢測出現故障 的或不可靠的NIC,並將連接移動到故障轉移NIC。第二種情況是,在不依賴於交換機 的網絡環境下,計算裝置開始向除舊的NIC之外的NIC發送用於連接的包,在所述舊 的NIC上初始接收到用於所述連接的包。僅出於論述的目的,假定步驟404中識別的新 的NIC是NIC 118。在步驟406中,軟體驅動器128將連接從舊的NIC 110去卸載到軟 件,如上文先前相對於圖2所描述。
在步驟408中,LBFO模塊130將新NIC 118的身份傳送到散列引擎132,這致使 散列引擎132針對新的NIC 118上的額外連接而更新其內部數據結構。在步驟410中, HOE 120設置DCT 122中對應於正被卸載到NIC 118的連接的連接狀態。同樣,設置 DCT條目中的連接狀態包含設置其目的地IP位址、目的地埠編號、源埠編號和正 被卸載的連接的特定TCP/IP狀態。在一個實施例中,通過以下方式設置DCT條目 TCP/IP堆棧134向HOE 120發送設置連接狀態的命令,HOE 120接收所述命令並設置
連接狀態,且HOE 120向TCP/IP堆棧134確認此操作的完成。在步驟412中,對於正 被卸載的連接,TCP/IP堆棧134將連接表136內的硬體識別符設置為代表新的NIC 118 的HOE120的裝置句柄,然後才返回到步驟402。同樣,硬體識別符指示網路連接正通 過HOE 120而運行。如本文中先前所描述, 一旦將連接的硬體識別符設置為特定HOE 的裝置句柄,此後就通過所述HOE在硬體中處理在所述連接上傳輸或接收的任何包。
應注意的是,在與舊的NIC U0相關聯的連接已經按照方法200被去卸載到軟體之 後,但在所述連接按照方法400卸載到新的NIC之前,計算裝置IOO可傳輸來自散列引 擎132臨時選擇的NIC上的軟體的用於此連接的包。 一般來說,通過以下方式執行對臨 時NIC的選擇LBFO引擎130詢問散列引擎132以獲知當前傳輸性能處於這樣的等級 的NIC:傳輸與額外連接相關聯的包將不會實質上降級所述NIC上的現有連接的傳輸性 能。按照方法400, 一旦LBFO引擎130檢測到已經在新的NIC上接收到與正在軟體外 運行的被去卸載的連接相關聯的包,如上文所述,就中斷臨時NIC上用於此連接的包的 傳輸,且將所述連接卸載到新的NIC,以便傳輸和接收包。
所揭示的方法的一個優點在於,當在不依賴於交換機的網絡環境下對連接進行故障 轉移時,使用散列引擎來智能地在計算裝置100中起不同作用的NIC間分配網絡業務可 相對於現有技術解決方案而實質上改進網絡性能。所揭示的方法的另一優點在於,當將 網路連接移動到故障轉移NIC時,將網路連接卸載到故障轉移NIC可相對於現有技術 解決方案而實質上改進計算裝置性能。
儘管前面的內容是針對本發明的實施例的,但可在不偏離本發明的基本範圍的情況 下,設計本發明的其它和進一步實施例。本發明的範圍由所附權利要求書確定。
權利要求
1.一種用於將網路連接從主機軟體模塊卸載到故障轉移網絡接口卡(NIC)中所包含的第一硬體卸載引擎的方法,所述方法包括監視正由多個起作用的NIC接收的包,其中與所述網路連接相關聯的包正由多個起作用的NIC中的第一NIC接收;檢測與所述網路連接相關聯的包已被所述多個起作用的NIC中的第二NIC接收到,且將所述第二NIC識別為所述故障轉移NIC;將所述故障轉移NIC的身份傳送到散列引擎,所述散列引擎運行用於確定故障轉移NIC的身份的散列算法;設置所述第一硬體卸載引擎中所包含的第一受託連接表中的條目,其中所述條目包含所述網路連接的連接狀態;以及設置所述主機軟體模塊中所包含的連接表中的對應於所述網絡連接的硬體識別符,其中所述設置的硬體識別符指示所述網路連接正通過所述第一硬體卸載引擎而運行。
2. 根據權利要求1所述的方法,其中在依賴於交換機的網絡環境中建立所述網絡連 接,且所述交換機停止將與所述網路連接相關聯的包傳輸到所述第一NIC,並開始 將與所述網路連接相關聯的包傳輸到所述第二 NIC。
3. 根據權利要求1所述的方法,其中在不依賴於交換機的網絡環境中建立所述網絡連 接,且外部計算裝置停止將與所述網路連接相關聯的包傳輸到所述第一NIC,並開 始將與所述網路連接相關聯的包傳輸到所述第二 NIC。
4. 根據權利要求1所述的方法,其中所述網路連接是傳輸控制協議和網際網路協議 (TCP/IP)連接,且所述主機軟體模塊是TCP/IP堆棧。
5. 根據權利要求1所述的方法,其進一步包含從所述第一 NIC中所包含的第二硬體 卸載引擎去卸載所述網絡連接的步驟。
6. 根據權利要求5所述的方法,其進一步包括從所述散列算法的輸出中確定臨時傳輸 NIC的身份的步驟。
7. 根據權利要求6所述的方法,其進一步包括經由所述臨時傳輸NIC傳輸包的步驟。
8. 根據權利要求7所述的方法,其進一步包括在檢測到所述第二 NIC已接收到與所 述網路連接相關聯的包之後立即中斷經由所述臨時傳輸NIC的包傳輸的步驟。
9. 根據權利要求5所述的方法,其中所述從所述第一 NIC中所包含的所述第二硬體 卸載引擎去卸載所述網路連接的步驟包含檢測並用信號通知所述第一 NIC已出現故障或變得不可靠; 通知運行所述散列算法的散列引擎所述第一 NIC已出現故障或變得不可靠; 使所述第二硬體卸載引擎中所包含的第二受託連接表中的條目失效,其中所述條目包含所述網路連接的連接狀態;以及使所述主機軟體模塊中所包含的所述連接表中的對應於所述網路連接的硬體識別符失效,其中所述失效的硬體識別符指示所述網路連接正通過所述主機軟體模塊而運行。
10. 根據權利要求9所述的方法,其中所述從所述第二硬體卸載引擎去卸載所述網路連接的步驟進一步包含以下步驟使所述第二受託連接表中的所述條目中的所述網路 連接的連接狀態與所述主機軟體模塊中所包含的所述連接表中的所述網路連接的 連接狀態同步。
11. 根據權利要求10所述的方法,其中所述網路連接是傳輸控制協議和網際網路協議(TCP/IP)連接,且所述主機軟體模塊是TCP/IP堆棧。
12. —種經配置以將網路連接從聯網協議模塊卸載到故障轉移網絡接口卡(NIC)中所 包含的第一硬體卸載引擎的計算裝置,所述計算裝置包括多個NIC,其包含所述故障轉移NIC; 主機處理器;以及主機存儲器,其耦合到所述主機處理器且經配置以存儲軟體驅動器,所述軟體驅 動器具有包含散列引擎的負載平衡故障轉移(LBFO)模塊和包含連接表的所述聯網協議模塊,其中所述LBFO模塊經配置以監視多個起作用的NIC正接收的包,其中與所述網 路連接相關聯的包正由所述多個起作用的NIC中的第一 NIC接收;所述LBFO模塊進一步經配置以檢測與所述網路連接相關聯的包已被所述多 個起作用的NIC中的第二 NIC接收到,並將所述第二 NIC識別為所述故障轉移NIC;所述LBFO模塊進一步經配置以將所述故障轉移NIC的身份傳送到運行用於 確定故障轉移NIC的身份的散列算法的所述散列引擎,且傳送到所述聯網協議 模塊,在獲知所述故障轉移NIC的身份後,所述聯網協議模塊經配置以致使所述第 一硬體卸載引擎設置所述第一硬體卸載引擎中所包含的第一受託連接表中的條 目,其中所述條目包含所述網路連接的連接狀態;以及所述聯網協議模塊進一步經配置以設置連接表中對應於所述網絡連接的硬體 識別符,其中所述設置的硬體識別符指示所述網路連接正通過所述第一硬體卸載 引擎而運行。
13. 根據權利要求12所述的計算裝置,其中在依賴於交換機的網絡環境中建立所述網 絡連接,且所述交換機停止將與所述網路連接相關聯的包傳輸到所述第一NIC,並 開始將與所述網路連接相關聯的包傳輸到所述第二 NIC。
14. 根據權利要求12所述的計算裝置,其中在不依賴於交換機的網絡環境中建立所述 網絡連接,且外部計算裝置停止將與所述網路連接相關聯的包傳輸到所述第一 NIC,並開始將與所述網路連接相關聯的包傳輸到所述第二 NIC。
15. 根據權利要求12所述的計算裝置,其中所述網路連接是傳輸控制協議和網際網路協 議(TCP/IP)連接,且所述聯網協議模塊是TCP/IP堆棧。
16. 根據權利要求12所述的計算裝置,其中所述網路連接已從所述第一NIC中所包含 的第二硬體卸載引擎去卸載。
17. 根據權利要求16所述的計算裝置,其中所述LBFO模塊經配置以從所述散列引擎 所執行的所述散列算法的輸出中確定臨時傳輸NIC的身份。
18. 根據權利要求17所述的計算裝置,其中一個或一個以上包經由所述臨時傳輸NIC 來傳輸。
19. 根據權利要求18所述的計算裝置,其中所述LBFO模塊經配置以在檢測到所述第 二 NIC已接收到與所述網路連接相關聯的包之後立即停止經由所述臨時傳輸NIC 的包傳輸。
20. 根據權利要求16所述的計算裝置,其中所述從所述第一 NIC中所包含的所述第二 硬體卸載引擎去卸載所述網路連接的步驟包含所述LBFO模塊經配置以檢測所述第一 NIC已出現故障或變得不可靠,並用信 號通知所述聯網協議模塊所述第一 NIC已出現故障或變得不可靠;所述LBFO進一步經配置以通知所述散列引擎所述第一 NIC已出現故障或變得 不可靠;所述聯網協議模塊經配置以傳送到所述第二硬體卸載引擎以使所述第二硬體卸 載引擎中所包含的第二受託連接表中的條目失效,其中所述條目包含所述網路連接 的連接狀態;所述第二硬體卸載引擎經配置以響應於來自所述聯網協議模塊的傳送而使所述 第二受託連接表中的所述條目失效;以及所述聯網協議模塊進一步經配置以使所述連接表中對應於所述網路連接的所述 硬體識別符失效,其中所述失效的硬體識別符指示所述網路連接正通過所述聯網協 議模塊而運行。
21. 根據權利要求20所述的計算裝置,其中所述聯網協議模塊進一步經配置以使所述 第二受託連接表中的所述條目中的所述網路連接的連接狀態與所述連接表中的所 述網路連接的連接狀態同步。
22. 根據權利要求IO所述的計算裝置,其中所述網路連接是傳輸控制協議和網際網路協 議(TCP/IP)連接,且所述聯網協議模塊是TCP/IP堆棧。
全文摘要
本發明涉及負載平衡的聯網環境下的智能故障轉移,提供一種位於網絡裝置驅動器中的散列表,其保存關於計算裝置內的每個網絡接口(NIC)的業務特性的數據。如果所述計算裝置中的NIC中的一者變得不可靠,那麼所述散列引擎中的成本函數允許軟體驅動器啟動在所述計算裝置中其餘的可靠NIC中間重新分配網絡業務。使用這種散列引擎,所述軟體驅動器能夠以使網絡業務在其餘的可靠NIC上的分配最優化的方式智能地將不可靠的NIC上的網路連接中的每一者重新引導到計算裝置內的可靠的NIC。或者,如果連接從舊的NIC移動到新的NIC,那麼軟體驅動器可檢測被移動的連接,並將所述被移動的連接卸載到所述新的NIC上的硬體卸載引擎。通過此方法,當對網路連接進行故障轉移時可更容易避免例如網絡接口過載和計算裝置性能降級等問題,從而相對於現有技術改進總體系統性能。
文檔編號H04L29/08GK101360005SQ20081009477
公開日2009年2月4日 申請日期2008年5月16日 優先權日2007年5月18日
發明者薩米爾·南達, 諾曼·K·陳, 赫馬馬利尼·馬尼克瓦薩甘, 阿亞茲·阿卜杜拉, 阿南德·拉賈戈帕蘭, 阿舒託什·K·傑哈 申請人:輝達公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀