專(zhuān)利名稱(chēng):動(dòng)態(tài)改變數(shù)據(jù)處理網(wǎng)絡(luò)中的連接的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及數(shù)據(jù)處理網(wǎng)絡(luò)領(lǐng)域,具體而言涉及一種網(wǎng)絡(luò)和方法,其允許一個(gè)已建立的網(wǎng)絡(luò)連接動(dòng)態(tài)轉(zhuǎn)移它的源和目標(biāo)以響應(yīng)改變的負(fù)荷、故障、或其他網(wǎng)絡(luò)特征。
背景技術(shù):
在傳統(tǒng)的數(shù)據(jù)處理網(wǎng)絡(luò)中,客戶(hù)和服務(wù)器系統(tǒng)經(jīng)由專(zhuān)門(mén)的適配器而連接到網(wǎng)絡(luò),所述專(zhuān)門(mén)適配器典型地稱(chēng)為網(wǎng)絡(luò)接口卡(NIC)。過(guò)去,網(wǎng)絡(luò)中任一客戶(hù)機(jī)-服務(wù)器對(duì)之間的網(wǎng)絡(luò)連接被不可分割地綁定到相應(yīng)設(shè)備的NIC。如果一連接的硬件元件是不能正常運(yùn)行或帶寬有限,那么就沒(méi)有機(jī)會(huì)改變連接特征以便將該連接“移動(dòng)”到當(dāng)前更能夠處理該連接的另一硬件中。而是必須停止現(xiàn)有的連接并建立新的連接,其代價(jià)是有可能造成大量的網(wǎng)絡(luò)開(kāi)銷(xiāo)。在一個(gè)主要目標(biāo)是為可能的大量的客戶(hù)機(jī)提供最高水平的響應(yīng)性的高效服務(wù)器環(huán)境中,開(kāi)銷(xiāo)損失是特別相關(guān)的。所以,期望實(shí)現(xiàn)一種使網(wǎng)絡(luò)連接能夠動(dòng)態(tài)地定義和改變它們的配置以便響應(yīng)諸如網(wǎng)絡(luò)加載和硬件故障之類(lèi)的因素的網(wǎng)絡(luò)方法和系統(tǒng)。
發(fā)明內(nèi)容
一種數(shù)據(jù)處理網(wǎng)絡(luò)和系統(tǒng)在很大程度上解決了上述問(wèn)題,在所述數(shù)據(jù)處理網(wǎng)絡(luò)和系統(tǒng)中,使得能夠在多個(gè)可用服務(wù)器和/或客戶(hù)機(jī)之間轉(zhuǎn)移網(wǎng)絡(luò)連接以便使用最有效的一組可用資源提供連接。典型地,當(dāng)建立連接時(shí),服務(wù)器和客戶(hù)機(jī)將指示該它們各自支持這種連接轉(zhuǎn)移特征。操作系統(tǒng)或應(yīng)用程序?qū)⒈O(jiān)視現(xiàn)有連接,以檢測(cè)包括基本功能和性能的特征。如果發(fā)現(xiàn)現(xiàn)有連接有故障或性能低并且與該連接相關(guān)的客戶(hù)機(jī)和服務(wù)器支持連接轉(zhuǎn)移,那么該軟件將確定是否存在一個(gè)另外可選的并且更有效的連接。一旦發(fā)現(xiàn)這樣的連接,定義該連接的參數(shù)將被改變,因此實(shí)現(xiàn)該連接到優(yōu)選硬件的轉(zhuǎn)移。在用傳輸控制協(xié)議(TCP)建立網(wǎng)絡(luò)連接的實(shí)施例中,每一連接包括一個(gè)完全定義了連接的四元組,也就是,源IP地址、源端口號(hào)、目標(biāo)IP地址以及目標(biāo)端口號(hào)。通過(guò)改變連接的定義四元組的一個(gè)或多個(gè)元,來(lái)配置本發(fā)明以便將連接轉(zhuǎn)移到更有效運(yùn)行的NIC或系統(tǒng)。
當(dāng)閱讀以下的詳細(xì)描述并且參考附圖后,本發(fā)明的其他目的和優(yōu)點(diǎn)將變得明顯,在附圖中圖1是適于實(shí)現(xiàn)本發(fā)明實(shí)施例的一個(gè)數(shù)據(jù)處理網(wǎng)絡(luò)的所選元件的結(jié)構(gòu)圖;圖2是適于在圖1的數(shù)據(jù)處理網(wǎng)絡(luò)中使用的數(shù)據(jù)處理系統(tǒng)的所選硬件元件的結(jié)構(gòu)圖;圖3是圖2中數(shù)據(jù)處理系統(tǒng)的所選元件的結(jié)構(gòu)圖;圖4是網(wǎng)絡(luò)連接的概念性說(shuō)明;圖5是強(qiáng)調(diào)本發(fā)明的連接轉(zhuǎn)移特征的、圖4的網(wǎng)絡(luò)連接的所選元件的結(jié)構(gòu)圖;以及圖6是本發(fā)明所考慮的多種連接轉(zhuǎn)移實(shí)例的概念性描述。
具體實(shí)施例方式
現(xiàn)在轉(zhuǎn)向附圖,圖1是適于實(shí)現(xiàn)本發(fā)明實(shí)施例的數(shù)據(jù)處理網(wǎng)絡(luò)100的所選元件的結(jié)構(gòu)圖。但是,網(wǎng)絡(luò)體系結(jié)構(gòu)領(lǐng)域的技術(shù)人員將能意識(shí)到這種特殊的實(shí)現(xiàn)只是許多可能配置中的一種。至少部分地由于這個(gè)特殊實(shí)施例的一般性以及由于該實(shí)施例代表了數(shù)量日益增加的網(wǎng)絡(luò)實(shí)現(xiàn),描述了該特殊實(shí)施例。在所描述的實(shí)施例中,網(wǎng)絡(luò)100包括一個(gè)連接到廣域網(wǎng)104的客戶(hù)機(jī)系統(tǒng)(客戶(hù)機(jī))102??蛻?hù)機(jī)102典型地包括一個(gè)客戶(hù)應(yīng)用程序,諸如在客戶(hù)機(jī)設(shè)備上執(zhí)行的常規(guī)Web瀏覽器。
客戶(hù)機(jī)設(shè)備可以包括臺(tái)式或膝上型個(gè)人計(jì)算機(jī)、網(wǎng)絡(luò)計(jì)算機(jī)或工作站,或其他網(wǎng)絡(luò)感知(network aware)的設(shè)備,諸如個(gè)人數(shù)字助理(PDA)或因特網(wǎng)使能電話(huà)(Internet enabled telephone)。簡(jiǎn)要地參考圖2,其示出了一典型客戶(hù)機(jī)102的所選硬件元件的結(jié)構(gòu)圖??蛻?hù)機(jī)102典型地包括經(jīng)由系統(tǒng)總線(xiàn)202而互連到系統(tǒng)存儲(chǔ)器204的一個(gè)或多個(gè)通用微處理器(CPU)201a-201n(一般地或共同地稱(chēng)為CPU 201)。橋設(shè)備206將系統(tǒng)總線(xiàn)202和I/O總線(xiàn)208互連在一起。I/O總線(xiàn)典型地符合一工業(yè)標(biāo)準(zhǔn)總線(xiàn)規(guī)范,諸如,PCI特別興趣小組(www.pcisig.org)的外設(shè)部件互連(PCI)局部總線(xiàn)規(guī)范。一個(gè)或多個(gè)外設(shè)或I/O設(shè)備典型地連接到I/O總線(xiàn)208。所述實(shí)施例示出了連接到I/O總線(xiàn)208的一網(wǎng)絡(luò)接口卡(NIC 105)和一通用I/O適配器210。NIC 105將客戶(hù)機(jī)201的資源連接到網(wǎng)絡(luò)介質(zhì)上。在常見(jiàn)的實(shí)現(xiàn)中,NIC 105將客戶(hù)機(jī)102連接到局域網(wǎng),諸如以太網(wǎng)。返回到圖1,示出了客戶(hù)機(jī)102經(jīng)由一介于其間的廣域網(wǎng)(WAN)104而被連接到服務(wù)器網(wǎng)絡(luò)101。其他的客戶(hù)機(jī)(圖1中未示出)可本地連接到服務(wù)器網(wǎng)絡(luò)。
廣域網(wǎng)104典型地包括諸如網(wǎng)關(guān)、路由器、集線(xiàn)器之類(lèi)的多種網(wǎng)絡(luò)設(shè)備以及用可能包括銅線(xiàn)、同軸電纜、光纖電纜和無(wú)線(xiàn)介質(zhì)的多種介質(zhì)而互連的一個(gè)或多個(gè)局域網(wǎng)(LAN)。廣域網(wǎng)104可以代表或包括因特網(wǎng)的一些部分。
在所述的實(shí)施例中,服務(wù)器網(wǎng)絡(luò)或服務(wù)器群集101經(jīng)由連接到WAN104的網(wǎng)關(guān)106而連接到客戶(hù)機(jī)102。服務(wù)器群集101典型地實(shí)現(xiàn)為包括一個(gè)或多個(gè)服務(wù)器110(示出了4個(gè)服務(wù)器)的LAN。每一服務(wù)器110可包括基本上與圖2所示的客戶(hù)機(jī)系統(tǒng)相同的設(shè)計(jì)特征(也就是,連接到共用系統(tǒng)存儲(chǔ)器的一個(gè)和多個(gè)微處理器并且具有I/O適配器,所述I/O適配器包括將服務(wù)器連接到局域網(wǎng)絡(luò)的NIC)。服務(wù)器110可以通過(guò)共用介質(zhì)諸如在典型的以太網(wǎng)或令牌環(huán)網(wǎng)配置中被聯(lián)網(wǎng)在一起。服務(wù)器群集101的服務(wù)器110典型地可以訪(fǎng)問(wèn)持久(非易失)存儲(chǔ)介質(zhì)諸如磁硬盤(pán)。另外,任一服務(wù)器110可以包括本身的內(nèi)部磁盤(pán)和磁盤(pán)驅(qū)動(dòng)設(shè)備。在一日益普遍的配置中,提供持久存儲(chǔ)器以作為聯(lián)網(wǎng)設(shè)備或設(shè)備組。聯(lián)網(wǎng)存儲(chǔ)器在圖1中通過(guò)標(biāo)號(hào)114標(biāo)識(shí)出來(lái)并且可被實(shí)施為一個(gè)或多個(gè)網(wǎng)絡(luò)附加存儲(chǔ)(NAS)設(shè)備、一個(gè)存儲(chǔ)器區(qū)域網(wǎng)絡(luò)(SAN)或其組合。
從軟件的角度來(lái)說(shuō),客戶(hù)機(jī)102和服務(wù)器110典型地使用在圖3中示出的軟件組件,包括一個(gè)或多個(gè)應(yīng)用程序304、操作系統(tǒng)302以及網(wǎng)絡(luò)協(xié)議301。應(yīng)用程序304可以包括數(shù)據(jù)庫(kù)應(yīng)用程序、網(wǎng)頁(yè)瀏覽器、圖形設(shè)計(jì)應(yīng)用程序、電子表格、字處理器等等。操作系統(tǒng)302是用于管理系統(tǒng)資源的軟件組件的一般術(shù)語(yǔ)。網(wǎng)絡(luò)協(xié)議301是指一套軟件組件,該套軟件組件被配置為使得在一設(shè)備上執(zhí)行的應(yīng)用程序能夠在網(wǎng)絡(luò)上傳遞信息。雖然圖3所示的網(wǎng)絡(luò)協(xié)議是與操作系統(tǒng)分離的,但是協(xié)議組件可以由操作系統(tǒng)的組件構(gòu)成。
當(dāng)執(zhí)行應(yīng)用程序和操作系統(tǒng)例程時(shí),它們啟動(dòng)進(jìn)程。在服務(wù)器設(shè)備諸如服務(wù)器設(shè)備110上執(zhí)行的進(jìn)程典型地將數(shù)據(jù)作為一個(gè)或多個(gè)網(wǎng)絡(luò)包的一序列傳輸?shù)揭粋€(gè)在客戶(hù)機(jī)上執(zhí)行的請(qǐng)求進(jìn)程。每一個(gè)包包括一個(gè)有效負(fù)荷和取決于使用的網(wǎng)絡(luò)協(xié)議的一個(gè)或多個(gè)報(bào)頭字段,該有效負(fù)荷包括被請(qǐng)求的數(shù)據(jù)部分。例如,在WAN 104代表Internet的實(shí)施例中,在服務(wù)器110和客戶(hù)機(jī)102之間傳輸?shù)陌湫偷胤显贗nternet Engineering Task Force(www.ietf.org)的RFC 793和RFC 791中所規(guī)定的傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)。
為了識(shí)別TCP使能的設(shè)備或系統(tǒng)可能處理的不同進(jìn)程,TCP向每一客戶(hù)機(jī)-服務(wù)器連接提供一個(gè)唯一地址。這些唯一地址包括IP地址和端口標(biāo)識(shí)符。IP地址識(shí)別網(wǎng)絡(luò)上諸如特定的NIC的物理位置和目標(biāo)。因?yàn)槎鄠€(gè)進(jìn)程可以共享相同的硬件資源(也就是相同的物理資源),因此需要端口標(biāo)識(shí)符。IP地址和端口的組合稱(chēng)為“套接字”(socket),該套接字在整個(gè)網(wǎng)絡(luò)上是唯一的。一個(gè)連接完全由一對(duì)套接字來(lái)指定,其中一個(gè)套接字典型地表示客戶(hù)機(jī)端套接字,另一個(gè)套接字表示服務(wù)器端套接字。
現(xiàn)在參考圖4,其描述了客戶(hù)機(jī)-服務(wù)器連接的概念性圖示。所示出的連接表示在服務(wù)器110上執(zhí)行的進(jìn)程109a與在客戶(hù)機(jī)102上執(zhí)行的進(jìn)程109b之間的符合TCP的連接。所述連接由一對(duì)套接字來(lái)定義。從服務(wù)器110的角度來(lái)看,源套接字是通過(guò)NIC 105的IP地址和與進(jìn)程109a相關(guān)的端口號(hào)的組合來(lái)確定的,而目標(biāo)套接字是通過(guò)NIC 107的IP地址和與客戶(hù)機(jī)102上的進(jìn)程109b相關(guān)的端口號(hào)的組合來(lái)確定的。從客戶(hù)機(jī)102的角度來(lái)看,源和目標(biāo)套接字是反過(guò)來(lái)的,從而NIC 107和進(jìn)程109b定義源套接字,而NIC 105和進(jìn)程109a定義目標(biāo)套接字。在一傳統(tǒng)的數(shù)據(jù)處理網(wǎng)絡(luò)中,連接定義是靜態(tài)的。在該連接兩端的源和目標(biāo)套接字是不變的。本發(fā)明通過(guò)使客戶(hù)機(jī)和服務(wù)器協(xié)作改變現(xiàn)有的連接定義(當(dāng)這樣做有利時(shí))來(lái)解決上述缺陷。優(yōu)選地通過(guò)擴(kuò)展網(wǎng)絡(luò)協(xié)議的特征而實(shí)現(xiàn)連接轉(zhuǎn)移功能。在該實(shí)施例中,連接的兩方必須預(yù)先同意支持連接轉(zhuǎn)移。如果其中的一方不支持該擴(kuò)展,那么所述特征將被另一方禁用。
發(fā)明的一些部分可以以軟件的形式實(shí)現(xiàn),該軟件包括計(jì)算機(jī)可讀介質(zhì)上所存儲(chǔ)的一序列計(jì)算機(jī)可執(zhí)行指令。當(dāng)指令執(zhí)行時(shí),它們被典型地存儲(chǔ)在易失存儲(chǔ)介質(zhì)諸如客戶(hù)機(jī)和服務(wù)器系統(tǒng)的系統(tǒng)存儲(chǔ)器(典型地包括DRAM)或一個(gè)內(nèi)部或外部高速緩存(典型地包括SRAM)中。在其他時(shí)刻,軟件可被存儲(chǔ)在非易失介質(zhì)諸如硬盤(pán)、軟盤(pán)、CD ROM、DVD、閃存卡或其他可電擦除介質(zhì)、磁帶等等上。另外,可在網(wǎng)絡(luò)的多種元件上分配軟件的諸部分。例如,軟件的一些部分可駐留在客戶(hù)機(jī)系統(tǒng)中,同時(shí)其他部分駐留在服務(wù)器系統(tǒng)中。
現(xiàn)在參考圖5,其描述了根據(jù)本發(fā)明的一個(gè)實(shí)施例的所選軟件元件。在所描述的實(shí)施例中,服務(wù)器110包括一個(gè)轉(zhuǎn)移模塊501、一個(gè)資源監(jiān)視器503以及一個(gè)連接監(jiān)視器505。這些元件與服務(wù)器的操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議模塊共存。連接監(jiān)視器505負(fù)責(zé)監(jiān)視服務(wù)器110參與其中的一個(gè)或多個(gè)網(wǎng)絡(luò)連接的性能。連接監(jiān)視器505可被實(shí)施為獨(dú)立的應(yīng)用程序或作為操作系統(tǒng)或網(wǎng)絡(luò)協(xié)議實(shí)用工具(utility)而被提供。典型地,連接監(jiān)視器505被配置為測(cè)量服務(wù)器的活動(dòng)網(wǎng)絡(luò)連接的一個(gè)或多個(gè)性能特征。被監(jiān)視的性能特征可以包括基本的連接功能和連接吞吐量?;镜墓δ芸赏ㄟ^(guò)監(jiān)視超時(shí)事件的數(shù)量或頻率來(lái)確定,其中超時(shí)事件表示一發(fā)出但是在一預(yù)定時(shí)間期間內(nèi)未被確認(rèn)的包??赏ㄟ^(guò)例如監(jiān)視在發(fā)送包和接收到對(duì)該包的確認(rèn)之間所經(jīng)過(guò)的時(shí)間來(lái)監(jiān)視連接吞吐量。根據(jù)該信息和關(guān)于每一包大小的信息,連接監(jiān)視器505被配置為得出該連接的“速度”的估計(jì)。
轉(zhuǎn)移模塊501被配置為與連接監(jiān)視器505相交互從而確定一特定的連接是否為轉(zhuǎn)移的候選。在一實(shí)施例中,每當(dāng)連接的一個(gè)被監(jiān)視性能特征不符合一標(biāo)準(zhǔn)或閾值時(shí),連接監(jiān)視器505通知轉(zhuǎn)移模塊。例如,如果被監(jiān)視的連接的基本功能被確定為有故障,那么連接監(jiān)視器505被配置為將該連接報(bào)告給轉(zhuǎn)移模塊501。定義何時(shí)一個(gè)被監(jiān)視的連接作為一個(gè)轉(zhuǎn)移候選而被報(bào)告的性能標(biāo)準(zhǔn)可以包括一組預(yù)定的標(biāo)準(zhǔn)?;蛘?,可基于連接的最近歷史動(dòng)態(tài)地確定性能標(biāo)準(zhǔn)。
響應(yīng)于連接監(jiān)視器505報(bào)告一個(gè)被監(jiān)視的連接降到某一性能標(biāo)準(zhǔn)之下,轉(zhuǎn)移模塊501將首先確定連接的另一方是否支持連接轉(zhuǎn)移。當(dāng)與支持連接轉(zhuǎn)移的客戶(hù)機(jī)或服務(wù)器建立連接時(shí),所述客戶(hù)機(jī)或服務(wù)器將查詢(xún)另一方以便確定該另一方是否支持轉(zhuǎn)移。如果連接的兩方都支持轉(zhuǎn)移,那么兩方將適當(dāng)?shù)貥?biāo)記連接。當(dāng)正在建立連接時(shí),一方可通過(guò)發(fā)送一個(gè)特殊用途的包或包括一個(gè)特殊用途的報(bào)頭字段來(lái)試圖確定另一方是否支持轉(zhuǎn)移。如果兩方都不支持轉(zhuǎn)移特征,那么轉(zhuǎn)移特征將被另一方禁用。
假設(shè)連接的兩方都支持轉(zhuǎn)移特征,轉(zhuǎn)移模塊501被配置為試圖轉(zhuǎn)移(修改)一個(gè)現(xiàn)有的連接從而響應(yīng)來(lái)自于連接監(jiān)視器的提示。在圖5所描述的實(shí)施例中,轉(zhuǎn)移模塊501將向資源監(jiān)視器503咨詢(xún)以便確定是否有其他資源可用于提供一個(gè)連接。資源監(jiān)視器503典型地被配置為維護(hù)可用于提供網(wǎng)絡(luò)連接的資源的清單。暫時(shí)參考圖6,每一服務(wù)器110和每一客戶(hù)機(jī)102可以具有多個(gè)網(wǎng)絡(luò)接口卡。服務(wù)器110可用例如IBM公司的p系列690服務(wù)器來(lái)實(shí)現(xiàn),所述p系列690服務(wù)器具有多達(dá)160個(gè)可熱插拔PCI插槽,每一插槽能夠支持一個(gè)網(wǎng)絡(luò)接口卡。相似的,高可用性的客戶(hù)機(jī)系統(tǒng)也可具有多個(gè)網(wǎng)絡(luò)適配器。當(dāng)一個(gè)服務(wù)器或客戶(hù)機(jī)包括多個(gè)網(wǎng)絡(luò)適配器時(shí),附加的適配器可被提供作為用于提供特定網(wǎng)絡(luò)連接的可替代資源。當(dāng)轉(zhuǎn)移模塊501試圖轉(zhuǎn)移連接時(shí),它查詢(xún)資源監(jiān)視器503來(lái)提供可用資源的列表。
在一實(shí)施例中,每次轉(zhuǎn)移模塊501發(fā)起一請(qǐng)求時(shí),資源監(jiān)視器503可簡(jiǎn)單地提供所有可用資源的列表。在另一實(shí)施例中,資源監(jiān)視器503可以根據(jù)多種因素有選擇地或以有優(yōu)先次序的方式來(lái)指示可用的資源,所述多種因素包括例如客戶(hù)機(jī)的身份。該實(shí)施例考慮可用資源的優(yōu)先性以便為不同客戶(hù)機(jī)提供不同級(jí)別的服務(wù)。服務(wù)提供者能夠提出提供不同類(lèi)別的服務(wù)給不同類(lèi)別的客戶(hù)機(jī)。資源監(jiān)視器503可使得資源可用于預(yù)定了最高類(lèi)別服務(wù)的客戶(hù)機(jī),而不能用于預(yù)定了較低類(lèi)別服務(wù)的客戶(hù)機(jī)。也可使用其他的優(yōu)先性標(biāo)準(zhǔn)來(lái)確定哪些資源可用于一客戶(hù)機(jī)。
圖5所描述的客戶(hù)機(jī)102被示為包括與為服務(wù)器110所指出的組件實(shí)質(zhì)上相似的軟件組件。因此,每一客戶(hù)機(jī)102可包括它的轉(zhuǎn)移模塊、連接監(jiān)視器、以及資源監(jiān)視器。以這種方式,在連接的兩端都可以監(jiān)視連接性能并且連接的兩端都可發(fā)起連接到其他資源的轉(zhuǎn)移。
當(dāng)連接轉(zhuǎn)移由連接的任一方啟動(dòng)時(shí),轉(zhuǎn)移模塊501將通過(guò)中止發(fā)送任何新的包來(lái)開(kāi)始轉(zhuǎn)移。當(dāng)所有未完成的包(也就是,已被發(fā)送但尚未被確認(rèn)的包)或者已被確認(rèn)或者已超時(shí),轉(zhuǎn)移模塊501就可改變用于連接的一方或兩方的套接字定義。在改變(諸)套接字定義之后,接著在客戶(hù)機(jī)和服務(wù)器端相應(yīng)改變定義連接的四元組。因此,如果一個(gè)特定的連接轉(zhuǎn)移涉及客戶(hù)機(jī)102改變其套接字定義,而用于服務(wù)器110的套接字保持不變,那么隨后通過(guò)改變?cè)碔P地址/端口號(hào)組合而修改客戶(hù)機(jī)端四元組以便反映出被修改的客戶(hù)機(jī)端套接字定義。然后,服務(wù)器110也將通過(guò)改變它的目標(biāo)IP地址/端口號(hào)組合來(lái)修改它的連接四元組。
現(xiàn)在再一次參考附圖6,提供了本發(fā)明所考慮的連接轉(zhuǎn)移的概念性說(shuō)明。在該描述中,在一組客戶(hù)機(jī)102a-102m與一組服務(wù)器110a-110n之間連接一組網(wǎng)絡(luò)連接601a-601c。每一客戶(hù)機(jī)102具有至少一個(gè)用于提供一個(gè)或多個(gè)網(wǎng)絡(luò)連接的NIC 107,同時(shí),每一服務(wù)器110具有至少一個(gè)NIC105。在圖6中,示出了三種類(lèi)型的連接轉(zhuǎn)移。以實(shí)線(xiàn)示出表示服務(wù)器內(nèi)轉(zhuǎn)移的連接601a,其連接在服務(wù)器110a的第一NIC 105中,其中實(shí)線(xiàn)表示原始的網(wǎng)絡(luò)連接。在連接轉(zhuǎn)移之后,連接601a如虛線(xiàn)所示是在客戶(hù)機(jī)102a與服務(wù)器110a的第二個(gè)NIC之間。連接601b表示服務(wù)器間轉(zhuǎn)移,其中客戶(hù)機(jī)102b與第一服務(wù)器110a之間的原始連接被轉(zhuǎn)移到服務(wù)器102b和第二服務(wù)器110n之間的第二連接(如虛線(xiàn)所示)??稍诶缛鐖D1所描述的服務(wù)器群集的環(huán)境中實(shí)現(xiàn)該服務(wù)器間轉(zhuǎn)移,在所述服務(wù)器群集的環(huán)境中,服務(wù)器群集101包括連接到公共交換機(jī)108的多個(gè)服務(wù)器110。在該環(huán)境中,轉(zhuǎn)移模塊501和連接監(jiān)視器505可被分配給每一服務(wù)器110,而資源監(jiān)視器503可安裝在交換機(jī)108上,在該交換機(jī)中能夠集中監(jiān)視整個(gè)群集的可用資源。連接601c示出了一個(gè)客戶(hù)機(jī)內(nèi)連接轉(zhuǎn)移,其中由客戶(hù)機(jī)102m上的第一NIC 107最初定義的連接被轉(zhuǎn)移到該客戶(hù)機(jī)上的第二NIC。通過(guò)使能服務(wù)器內(nèi)、服務(wù)器間以及客戶(hù)機(jī)內(nèi)轉(zhuǎn)移,本發(fā)明使系統(tǒng)的靈活性達(dá)到最大。
權(quán)利要求
1.一種包括至少一個(gè)連接到存儲(chǔ)器(204)的處理器(201)的數(shù)據(jù)處理系統(tǒng)(100),包括用于監(jiān)視連接的至少一個(gè)性能特征的計(jì)算機(jī)裝置(505);用于維護(hù)可用于提供網(wǎng)絡(luò)連接的可用資源的清單的計(jì)算機(jī)裝置(503);以及用于響應(yīng)確定被監(jiān)視的性能特征指示網(wǎng)絡(luò)連接有問(wèn)題,通過(guò)將至少一個(gè)定義連接的資源改變到從該可用資源清單中選定的一個(gè)資源,改變連接的計(jì)算機(jī)裝置(501)。
2.如權(quán)利要求1所要求的數(shù)據(jù)處理系統(tǒng),其中所述被監(jiān)視的性能特征包括連接的基本功能。
3.如權(quán)利要求2所要求的數(shù)據(jù)處理系統(tǒng),其中通過(guò)檢測(cè)包超時(shí)事件的數(shù)目監(jiān)視基本功能。
4.如權(quán)利要求1所要求的數(shù)據(jù)處理系統(tǒng),其中所述被監(jiān)視的性能特征可指示連接的響應(yīng)時(shí)間。
5.如權(quán)利要求1所要求的數(shù)據(jù)處理系統(tǒng),其中該用于改變資源的計(jì)算機(jī)裝置(501)包括用于改變定義連接的服務(wù)器端套接字的網(wǎng)際協(xié)議(IP)地址的計(jì)算機(jī)裝置。
6.如權(quán)利要求1所要求的數(shù)據(jù)處理系統(tǒng),進(jìn)一步包括用于在建立連接之前,識(shí)別客戶(hù)機(jī)和服務(wù)器支持轉(zhuǎn)移的計(jì)算機(jī)裝置。
7.如權(quán)利要求1所要求的數(shù)據(jù)處理系統(tǒng),其中該用于改變資源的計(jì)算機(jī)裝置(501)包括用于改變定義連接的客戶(hù)機(jī)端套接字的IP地址的計(jì)算機(jī)裝置。
8.一種管理數(shù)據(jù)處理網(wǎng)絡(luò)中的客戶(hù)機(jī)(102)和服務(wù)器(110)之間的網(wǎng)絡(luò)連接的方法,包括監(jiān)視連接的至少一個(gè)性能特征;維護(hù)可用于提供網(wǎng)絡(luò)連接的可用資源的清單;以及響應(yīng)確定被監(jiān)視的性能特征指示網(wǎng)絡(luò)連接有問(wèn)題,通過(guò)將定義連接的至少一個(gè)資源改變到從該可用資源的清單中選定的一個(gè)資源,來(lái)改變連接。
9.如權(quán)利要求8所要求的方法,其中所述被監(jiān)視的性能特征包括連接的基本功能。
10.如權(quán)利要求8所要求的方法,其中所述被監(jiān)視的性能特征可指示連接的響應(yīng)時(shí)間。
11.如權(quán)利要求8所要求的方法,其中改變一個(gè)資源包括改變定義連接的服務(wù)器端套接字的網(wǎng)際協(xié)議(IP)地址。
12.如權(quán)利要求8所要求的方法,進(jìn)一步包括在建立連接之前,識(shí)別客戶(hù)機(jī)(102)和服務(wù)器(110)支持轉(zhuǎn)移。
13.如權(quán)利要求8所要求的方法,其中改變一個(gè)資源包括改變定義連接的客戶(hù)機(jī)(102)端套接字的IP地址。
14.一種包括代碼裝置的計(jì)算機(jī)程序,所述代碼裝置用于執(zhí)行根據(jù)權(quán)利要求8至13中的任何一個(gè)的方法的每一步驟。
全文摘要
一種數(shù)據(jù)處理網(wǎng)絡(luò)和系統(tǒng)使得能夠在多個(gè)可用服務(wù)器和/或客戶(hù)機(jī)之間轉(zhuǎn)移網(wǎng)絡(luò)連接以使用最有效的一組可用資源來(lái)提供連接。通常,當(dāng)連接建立時(shí),服務(wù)器和客戶(hù)機(jī)指示其各自支持連接轉(zhuǎn)移特征。操作系統(tǒng)和應(yīng)用程序?qū)⒈O(jiān)視現(xiàn)有連接,以檢測(cè)包括基本功能和性能的特征。如果發(fā)現(xiàn)現(xiàn)有連接有故障或性能低且與連接相關(guān)的客戶(hù)機(jī)和服務(wù)器支持連接轉(zhuǎn)移,則軟件確定是否存在可選和更有效的連接。發(fā)現(xiàn)這種連接后,改變定義連接的參數(shù)以將連接轉(zhuǎn)移到優(yōu)選的硬件。在用傳輸控制協(xié)議(TCP)建立網(wǎng)絡(luò)連接的實(shí)施例中,每一連接包括完全地定義連接的四元組,即源IP地址、源端口號(hào)、目標(biāo)IP地址和目標(biāo)端口號(hào)。通過(guò)改變連接的定義四元組的一個(gè)或多個(gè)元,本發(fā)明被配置為將連接轉(zhuǎn)移到更有效運(yùn)行的NIC或系統(tǒng)。
文檔編號(hào)H04L12/24GK1620781SQ02828171
公開(kāi)日2005年5月25日 申請(qǐng)日期2002年10月28日 優(yōu)先權(quán)日2002年4月25日
發(fā)明者D·L·Q·布朗, L·S·費(fèi)爾南德斯, V·然, V·瓦拉巴內(nèi)尼 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司