[go: up one dir, main page]

TWI410084B - 於負載平衡網路環境中之智慧型故障排除 - Google Patents

於負載平衡網路環境中之智慧型故障排除 Download PDF

Info

Publication number
TWI410084B
TWI410084B TW097117857A TW97117857A TWI410084B TW I410084 B TWI410084 B TW I410084B TW 097117857 A TW097117857 A TW 097117857A TW 97117857 A TW97117857 A TW 97117857A TW I410084 B TWI410084 B TW I410084B
Authority
TW
Taiwan
Prior art keywords
nic
connection
network
network connection
computing device
Prior art date
Application number
TW097117857A
Other languages
English (en)
Other versions
TW200920027A (en
Inventor
Ayaz Abdulla
Norman K Chen
Anand Rajagopalan
Ashutosh K Jha
Hemamalini Manickavasagam
Sameer Nanda
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of TW200920027A publication Critical patent/TW200920027A/zh
Application granted granted Critical
Publication of TWI410084B publication Critical patent/TWI410084B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Computer And Data Communications (AREA)

Description

於負載平衡網路環境中之智慧型故障排除
本發明之實施例大體係關於網路通信,且更具體而言,係關於一種用於於負載平衡網路環境中對網路連接進行智慧故障排除之系統及方法。
效能及可靠性係對現代電腦網路之關鍵要求。當計算裝置上之網路介面(NIC)不再可靠時,該NIC之網路效能可能會出現實質下降,可能下降至零。在該種情形下,當代解決方案係將網路連接自不可靠的NIC重新引導至同一計算裝置上之其它可靠NIC,此係一種被稱為"故障排除"之技術。儘管故障排除可能會減輕存在不可靠NIC之直接問題,但其餘可靠NIC上之來自經故障排除之連接的額外網路訊務可能會導致其餘可靠NIC中之一或多者變得過載,從而降低彼等介面之效能。此外,其餘可靠NIC上之額外網路訊務可能會實質上增加計算裝置所執行之網路處理,從而降低計算裝置之效能。
正如前文所說明,此項技術中需要一種對至一或多個可靠NIC之網路連接進行故障排除之技術,其降低了NIC過載或其它可能削弱總體系統效能之現象的可能性。
本發明之一實施例陳述一種於不依賴於交換器之網路環境中將網路連接自主機軟體模組卸載至故障排除網路介面卡(NIC)中所包含之第一硬體卸載引擎的方法。該方法包 含以下步驟:請求得到故障排除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。如圖所示,計算裝置100包含主記憶體102、記憶體控制器104、微處理器106、I/O控制器108,及NIC 110、118。NIC 110包含多點播送清單116及硬體卸載引擎("HOE")112,硬體卸載引擎112進一步包含受託連接表("DCT")114。NIC 118包含多點播送清單124及HOE120,HOE 120進一步包含DCT 122。HOE 112、120包含經組態以用於處理與計算裝置100與一或多個遠端網路計算裝置(未圖示)之間之已選擇性地卸載至NIC 110、118之網路連接相關聯之網路訊框的邏輯。藉由用NIC 110、118中之邏輯來處理網路訊框(有時被稱為"在硬體中處理連接"),而並非如習知做法般在主機軟體TCP/IP堆疊中執行彼等處理功能(有時被稱為"在軟體中處理連接"),可實質上減少 NIC 110、118與微處理器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中來將命令或資料傳輸至NIC 110,118。一旦將此類命令或資料寫入至I/O控制器108中,I/O控制器108便視情況將該命令或資料翻譯為目標NIC可理解之格式,並將該命令或資料傳送至目標NIC。類似地,NIC 110,118藉由將命令或資料寫入至I/O控制器108中來將命令或資料傳輸至微處理器106,且I/O控制器108視情況將該命令或資料翻譯為微處理器106可理解之格式,並將該命令或資料傳送至微處理器106。前文所提及之耦合可實施為記憶體匯流排或I/O匯流排,諸如PCITM 匯流排,或其任何組合,或者可另外以任何其它技術上可行之方式實施。
如圖1B中更詳細展示,主記憶體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可為桌上型電腦、伺服器、膝上型電腦、掌上型電腦、個人數位助理、寫字板電腦、遊戲主機(game console)、蜂巢式電話或處理資訊之任何其它類型的類似裝置。
圖2說明根據本發明一實施例之用於將網路連接自出現故障之NIC去卸載至軟體之方法步驟200的流程圖。儘管參考計算裝置100來描述該方法,但熟習此項技術者將瞭解,任何經組態以執行該方法步驟(以任何次序)之系統均在本發明之範疇內。
如圖所示,用於去卸載網路連接之方法在步驟202處開始,其中LBFO模組130監視每一NIC 110,118之狀態以尋找該NIC之一出現故障或變得不可靠之指示。在一實施例中,當存在三種情況中之任一者時判定NIC已出現故障或變得不可靠。第一,LBFO模組130可基於NIC之鏈接指示判定對於該NIC存在鏈接斷開,此意味著網路電纜已變得斷開。第二,LBFO模組130可基於NIC所發送之封包的數目與該封包傳輸至之遠端計算裝置所確認之封包的數目之間的比較而判定該NIC所傳輸之實質數目或百分比的封包被丟失。第三,LBFO模組130可判定在計算裝置100中之NIC 110,118之間傳輸的保活封包正被丟失。如2005年12月15日申請且具有序號11/303,285及代理人案號NVDA/P001879之名為"用於識別網路介面卡組內出現故障 之網路介面卡的技術(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 110指派任何新的連接。在接收到此信號後,雜湊引擎132立即調整其內部負載平衡演算法,以便不向出現故障之NIC 110指派新的連接。
在步驟210中,對於每一通過出現故障之NIC 110執行的連接,出現故障之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跟蹤計算裝置100中每一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將獲知封包(learning packet)發送至交換器。該獲知封包可為任何包含出現故障之NIC 110之MAC位址的技術上可行的封包類型。如所熟知,自故障排除NIC 118發送此封包會導致交換器對其自身進行重新組態,以便將至出現故障之NIC 110之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的裝置控制碼(device handle)。硬體識別符指示該連接正通過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。另一種情形涉及不依賴於交換器之網路環境,其中將計算裝置100針對一連接接收到之封包送交至除舊的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上而並非在舊的NIC 110上接收到的用於該連接之封包。同樣,此可在至少兩種情形下發生。第一種情況為,於依賴於交換器之網路環境中,交換器偵測出現故障的或不可靠的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之HOE 120的裝置控制碼,然後才返回至步驟402。同樣,硬體識別符指示網路連接正通過HOE 120而執行。如本文中先前所描述,一旦將連接之 硬體識別符設定為特定HOE之裝置控制碼,此後便通過該HOE在硬體中處理在該連接上傳輸或接收之任何封包。
應注意,在與舊的NIC 110相關聯之連接已按照方法200被去卸載至軟體之後,但在該連接按照方法400卸載至新的NIC之前,計算裝置100可傳輸來自雜湊引擎132臨時選擇之NIC上之軟體的用於此連接之封包。一般而言,藉由以下方式執行對臨時NIC之選譯:LBFO引擎130詢問雜湊引擎132以獲知當前傳輸效能處於如此之位準的NIC:傳輸與額外連接相關聯之封包將不會實質上降級該NIC上之現存連接的傳輸效能。按照方法400,一旦LBFO引擎130偵測到已在新的NIC上接收到與正在軟體外執行之經去卸載之連接相關聯的封包,如上文所述,便中斷臨時NIC上用於此連接之封包的傳輸,且將該連接卸載至新的NIC,以便傳輸及接收封包。
所揭示之方法的一優點在於,當於不依賴於交換器之網路環境中對連接進行故障排除時,使用雜湊引擎來智慧地在計算裝置100中起不同作用之NIC間分配網路訊務可相對於先前技術解決方案而實質上改良網路效能。所揭示之方法的另一優點在於,當將網路連接移動至故障排除NIC時,將網路連接卸載至故障排除NIC可相對於先前技術解決方案而實質上改良計算裝置效能。
儘管前述內容係針對本發明之實施例,但可在不偏離本發明之基本範疇的情況下,設計本發明之其它及進一步實施例。本發明之範疇由附加之申請專利範圍確定。
100‧‧‧計算裝置
102‧‧‧主記憶體
104‧‧‧記憶體控制器
106‧‧‧微處理器
108‧‧‧I/O控制器
110‧‧‧網路介面(NIC)
112‧‧‧硬體卸載引擎
114‧‧‧受託連接表
116‧‧‧多點播送清單
118‧‧‧NIC
120‧‧‧硬體卸載引擎(HOE)
122‧‧‧受託連接表(DCT)
124‧‧‧多點播送清單
126‧‧‧作業系統
128‧‧‧軟體驅動器
130‧‧‧LBFO模組
132‧‧‧雜湊引擎
134‧‧‧TCP/IP堆疊
136‧‧‧連接表
為了能更詳細地瞭解本發明之上述特徵,可藉由參考實施例來獲得上文簡要概述之本發明之更具體描述內容,所附圖式中說明了該等實施例中之一些實施例。然而應注意,所附圖式僅說明本發明之典型實施例,且因此不應被認為限制本發明之範疇,因為本發明可認可其它同等有效之實施例。
圖1A及圖1B說明其中可實施本發明之一或多個態樣的計算裝置;圖2說明用於將網路連接自出現故障之NIC去卸載至軟體之方法步驟的流程圖;圖3A及圖3B說明用於於不依賴於交換器之網路環境中將網路連接自軟體卸載至故障排除NIC之方法步驟的流程圖;及圖4說明當藉由外部構件將網路連接移動至新的NIC時將網路連接卸載至新的NIC之方法步驟的流程圖。
(無元件符號說明)

Claims (22)

  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. 如請求項21之計算裝置,其中該網路連接為一傳輸控制協定及網際網路協定(TCP/IP)連接,且該網路協定模組為一TCP/IP堆疊。
TW097117857A 2007-05-18 2008-05-15 於負載平衡網路環境中之智慧型故障排除 TWI410084B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/750,980 US7756012B2 (en) 2007-05-18 2007-05-18 Intelligent failover in a load-balanced network environment

Publications (2)

Publication Number Publication Date
TW200920027A TW200920027A (en) 2009-05-01
TWI410084B true TWI410084B (zh) 2013-09-21

Family

ID=40027371

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097117857A TWI410084B (zh) 2007-05-18 2008-05-15 於負載平衡網路環境中之智慧型故障排除

Country Status (5)

Country Link
US (1) US7756012B2 (zh)
JP (1) JP5272263B2 (zh)
KR (1) KR100927498B1 (zh)
CN (1) CN101360005B (zh)
TW (1) TWI410084B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI685226B (zh) * 2014-11-18 2020-02-11 香港商阿里巴巴集團服務有限公司 分散式環境下的服務定址方法及裝置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457861B1 (en) * 2003-12-05 2008-11-25 Unisys Corporation Optimizing virtual interface architecture (VIA) on multiprocessor servers and physically independent consolidated NICs
US9430297B2 (en) * 2008-12-15 2016-08-30 International Business Machines Corporation Load balancing of adapters on a multi-adapter node
US8254249B2 (en) * 2009-08-06 2012-08-28 Telefonaktiebolaget L M Ericsson (Publ) Session resilience prioritization queuing mechanism to minimize and eliminate packet loss
US8626900B2 (en) 2010-07-02 2014-01-07 At&T Intellectual Property I, L.P. Method and system to proactively identify degraded network performance
US9154427B2 (en) * 2012-12-31 2015-10-06 Emulex Corporation Adaptive receive path learning to facilitate combining TCP offloading and network adapter teaming
CN105406989B (zh) * 2015-10-26 2019-04-05 华为技术有限公司 处理报文的方法、网卡及系统、更新信息的方法及主机
IL242353B (en) * 2015-10-29 2021-01-31 Verint Systems Ltd System and method for soft failover to backup for proxy servers
US11750441B1 (en) * 2018-09-07 2023-09-05 Juniper Networks, Inc. Propagating node failure errors to TCP sockets
US11334546B2 (en) * 2019-05-31 2022-05-17 Cisco Technology, Inc. Selecting interfaces for device-group identifiers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6512774B1 (en) * 1999-03-18 2003-01-28 3Com Corporation Fail over with multiple network interface cards
US6938192B1 (en) * 2001-12-07 2005-08-30 Broadband Energy Networks Method and system for increasing reliability of data packet transmission against impulsive noise in powerline communication systems
US20060010238A1 (en) * 2001-03-07 2006-01-12 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3224876B2 (ja) * 1992-10-15 2001-11-05 株式会社東芝 多重通信分散処理システム
EP0660569A1 (en) 1993-12-22 1995-06-28 International Business Machines Corporation Method and system for improving the processing time of the path selection in a high speed packet switching network
JPH0816422A (ja) 1994-07-04 1996-01-19 Fujitsu Ltd バス通信方法及びバス通信システム
US5724510A (en) 1996-09-06 1998-03-03 Fluke Corporation Method of configuring a valid IP address and detecting duplicate IP addresses in a local area network
US5864535A (en) 1996-09-18 1999-01-26 International Business Machines Corporation Network server having dynamic load balancing of messages in both inbound and outbound directions
US5914938A (en) 1996-11-19 1999-06-22 Bay Networks, Inc. MAC address table search unit
US6052733A (en) 1997-05-13 2000-04-18 3Com Corporation Method of detecting errors in a network
US6208616B1 (en) 1997-05-13 2001-03-27 3Com Corporation System for detecting errors in a network
US6151297A (en) 1997-07-08 2000-11-21 Hewlett-Packard Company Method and system for link level server/switch trunking
US6570875B1 (en) 1998-10-13 2003-05-27 Intel Corporation Automatic filtering and creation of virtual LANs among a plurality of switch ports
US6560630B1 (en) 1999-03-18 2003-05-06 3Com Corporation Receive load balancing and fail over with multiple network interface cards
US6590861B1 (en) 1999-03-18 2003-07-08 3Com Corporation Combining virtual local area networks and load balancing with fault tolerance in a high performance protocol
US6567377B1 (en) 1999-03-18 2003-05-20 3Com Corporation High performance load balancing of outbound internet protocol traffic over multiple network interface cards
US7299294B1 (en) 1999-11-10 2007-11-20 Emc Corporation Distributed traffic controller for network data
US6683882B1 (en) 1999-11-09 2004-01-27 3Com Corporation Method and system for directing transmission of IPX control packets to influence reception of IPX data packets
US6874147B1 (en) 1999-11-18 2005-03-29 Intel Corporation Apparatus and method for networking driver protocol enhancement
US6779039B1 (en) 2000-03-31 2004-08-17 Avaya Technology Corp. System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers
WO2001082098A1 (en) 2000-04-27 2001-11-01 Fortress Technologies, Inc. Network interface device having primary and backup interfaces for automatic dial backup upon loss of a primary connection and method of using same
JP2003078567A (ja) 2001-09-05 2003-03-14 Nippon Telegr & Teleph Corp <Ntt> 分散配置型高信頼通信システムおよびその制御装置、ならびに障害検知方法とそのプログラムと記録媒体
KR20050002865A (ko) * 2002-04-18 2005-01-10 인터내셔널 비지네스 머신즈 코포레이션 인피니밴드 채널 어댑터 장애용 리던던시 제공 방법 및 컴퓨터 시스템
US7116664B2 (en) 2002-05-13 2006-10-03 International Business Machines Corporation Lookups by collisionless direct tables and CAMs
US6721806B2 (en) * 2002-09-05 2004-04-13 International Business Machines Corporation Remote direct memory access enabled network interface controller switchover and switchback support
US7415028B1 (en) 2003-02-11 2008-08-19 Network Equipment Technologies, Inc. Method and system for optimizing routing table changes due to ARP cache invalidation in routers with split plane architecture
US7324512B2 (en) 2003-06-12 2008-01-29 International Business Machines Corporation MAC layer bridging of network frames between isolated and external networks
US7934020B1 (en) 2003-09-19 2011-04-26 Vmware, Inc. Managing network data transfers in a virtual computer system
EP1762932A3 (en) 2003-12-11 2007-11-21 Fusion Dynamic Ltd. Method and an apparatus for controlling executables running on blade servers
US7257731B2 (en) * 2003-12-23 2007-08-14 Nokia Inc. System and method for managing protocol network failures in a cluster system
US7877519B2 (en) 2004-10-18 2011-01-25 Intel Corporation Selecting one of a plurality of adapters to use to transmit a packet
US7505401B2 (en) 2005-01-31 2009-03-17 International Business Machines Corporation Method, apparatus and program storage device for providing mutual failover and load-balancing between interfaces in a network
JP2006253900A (ja) 2005-03-09 2006-09-21 Hitachi Ltd Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム
US7797460B2 (en) 2005-03-17 2010-09-14 Microsoft Corporation Enhanced network system through the combination of network objects
US7876689B2 (en) 2005-06-29 2011-01-25 Hewlett-Packard Development Company, L.P. Method and apparatus for load balancing network interface adapters based on network information
US20070201490A1 (en) 2005-07-13 2007-08-30 Mahamuni Atul B System and method for implementing ethernet MAC address translation
US7872965B2 (en) 2005-08-01 2011-01-18 Hewlett-Packard Development Company, L.P. Network resource teaming providing resource redundancy and transmit/receive load-balancing through a plurality of redundant port trunks
US7619993B2 (en) 2005-11-01 2009-11-17 International Business Machines Corporation Efficient probabilistic duplicate packet detector in computer networks
US7710862B2 (en) 2006-08-30 2010-05-04 Hewlett-Packard Development Company, L.P. Method and system of assigning media access control (MAC) addresses across teamed communication ports

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6512774B1 (en) * 1999-03-18 2003-01-28 3Com Corporation Fail over with multiple network interface cards
US20060010238A1 (en) * 2001-03-07 2006-01-12 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US6938192B1 (en) * 2001-12-07 2005-08-30 Broadband Energy Networks Method and system for increasing reliability of data packet transmission against impulsive noise in powerline communication systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI685226B (zh) * 2014-11-18 2020-02-11 香港商阿里巴巴集團服務有限公司 分散式環境下的服務定址方法及裝置

Also Published As

Publication number Publication date
JP5272263B2 (ja) 2013-08-28
CN101360005B (zh) 2011-05-18
TW200920027A (en) 2009-05-01
JP2009009552A (ja) 2009-01-15
US20080285472A1 (en) 2008-11-20
US7756012B2 (en) 2010-07-13
CN101360005A (zh) 2009-02-04
KR100927498B1 (ko) 2009-11-17
KR20080101792A (ko) 2008-11-21

Similar Documents

Publication Publication Date Title
TWI410084B (zh) 於負載平衡網路環境中之智慧型故障排除
US7760619B2 (en) Intelligent failover in a load-balanced networking environment
JP5187249B2 (ja) 冗長化システム用コネクションリカバリ装置,方法および処理プログラム
US8432788B2 (en) Intelligent failback in a load-balanced networking environment
AU2004306913B2 (en) Redundant routing capabilities for a network node cluster
TWI381682B (zh) 網路交通之智慧型負載平衡及故障復原
US10764119B2 (en) Link handover method for service in storage system, and storage device
CN105159798A (zh) 一种虚拟机的双机热备方法、双机热备管理服务器和系统
CN102006189A (zh) 用于双机冗余备份的主用接入服务器确定方法及装置
CN107203443A (zh) 一种基于kvm虚拟化的虚拟机高可用的方法与装置
JP2004171370A (ja) 冗長構成におけるクライアント/サーバ間のアドレス制御方式および方法
WO2012155629A1 (zh) 网络容灾方法和系统
WO2011110134A2 (zh) 负载分担的方法及装置、宽带接入服务器系统
KR20050002865A (ko) 인피니밴드 채널 어댑터 장애용 리던던시 제공 방법 및 컴퓨터 시스템
WO2010028553A1 (zh) 一种端口配置管理方法、单板及端口配置管理系统
WO2020177471A1 (zh) 报文传输方法、装置及存储介质
CN114095341B (zh) 网络恢复方法、装置、计算机设备和存储介质
CN102316136A (zh) 一种双控制器系统的负载均衡方法
JP2009278436A (ja) 通信システム及び冗長構成管理方法
CN113852514A (zh) 服务不中断的数据处理系统、处理设备切换方法、连接设备
KR101401006B1 (ko) 고가용성 시스템에서 소프트웨어 업데이트를 수행하기 위한 방법 및 장치
CN109995883B (zh) 网络设备实虚地址对应失效的自动修复方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees