国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      多層網(wǎng)絡(luò)通信系統(tǒng)的重試技術(shù)的制作方法

      文檔序號(hào):6405887閱讀:255來(lái)源:國(guó)知局
      專利名稱:多層網(wǎng)絡(luò)通信系統(tǒng)的重試技術(shù)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及對(duì)通過網(wǎng)絡(luò)的通信進(jìn)行管理。特別地,本發(fā)明的實(shí)施例屬于多層網(wǎng)絡(luò)通信系統(tǒng)的重試技術(shù)。
      背景技術(shù)
      處理客戶-服務(wù)器型通信的網(wǎng)絡(luò)應(yīng)用變得越來(lái)越復(fù)雜。一種典型的客戶-服務(wù)器通信涉及客戶向服務(wù)器發(fā)送請(qǐng)求、以及服務(wù)器返回響應(yīng)給客戶。服務(wù)器通常由多個(gè)處理客戶請(qǐng)求的邏輯部件組成。在響應(yīng)于客戶請(qǐng)求產(chǎn)生響應(yīng)之前,通常由服務(wù)器的多個(gè)邏輯部件以某種方式對(duì)客戶請(qǐng)求進(jìn)行處理。
      在典型的應(yīng)用中,服務(wù)器訪問數(shù)據(jù)源,以響應(yīng)于客戶請(qǐng)求檢索客戶所需信息。在將客戶請(qǐng)求發(fā)送到指定數(shù)據(jù)源或另一部件之前,服務(wù)器的每一個(gè)邏輯部件都針對(duì)客戶請(qǐng)求行使職能。例如,服務(wù)器部件之一可能為JAVA程序,其執(zhí)行某些運(yùn)算、為選定數(shù)據(jù)查詢數(shù)據(jù)源、執(zhí)行更多運(yùn)算,然后將結(jié)果返回給客戶。服務(wù)器的其他部件可能按順序?qū)νㄐ胚M(jìn)行處理,以執(zhí)行附加的運(yùn)算或進(jìn)行更多的數(shù)據(jù)庫(kù)查詢。
      一些服務(wù)器部件還可處理對(duì)客戶請(qǐng)求的響應(yīng)。例如,除了將客戶請(qǐng)求發(fā)送到數(shù)據(jù)源以外,服務(wù)器部件還可將來(lái)自數(shù)據(jù)源的響應(yīng)發(fā)回給客戶。該部件還可執(zhí)行運(yùn)算,和/或響應(yīng)于接收針對(duì)客戶請(qǐng)求的響應(yīng)而進(jìn)行附加的查詢。
      在一些結(jié)構(gòu)中,處理客戶通信的設(shè)備包括負(fù)載平衡設(shè)備和服務(wù)器。該服務(wù)器由負(fù)載平衡設(shè)備從一組服務(wù)器中選出。選定的服務(wù)器和負(fù)載平衡器被用來(lái)在客戶和諸如數(shù)據(jù)庫(kù)的數(shù)據(jù)源之間交換信息。服務(wù)器將客戶通信從負(fù)載平衡設(shè)備發(fā)送到指定數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)可相當(dāng)于網(wǎng)絡(luò)服務(wù)器或其他機(jī)器,其提供對(duì)關(guān)于客戶通信的信息的訪問。
      對(duì)客戶通信進(jìn)行處理的多個(gè)設(shè)備相結(jié)合提供了多個(gè)邏輯部件,其在客戶通信被發(fā)送到數(shù)據(jù)庫(kù)之前對(duì)該客戶通信進(jìn)行處理。例如,可以在服務(wù)器內(nèi)把邏輯部件分層,以便對(duì)用于處理客戶通信的過程進(jìn)行分配。這些分層的部件以順序的方式對(duì)客戶通信進(jìn)行處理。其結(jié)果是,該客戶通信在被指定數(shù)據(jù)庫(kù)接收之前,由位于不同服務(wù)器上的多個(gè)部件按順序?qū)ζ溥M(jìn)行處理。
      客戶通信經(jīng)常不能到達(dá)其目的地。其不能到達(dá)的原因可能是因?yàn)?,在將客戶通信發(fā)信號(hào)通知給目的地時(shí),目的地?zé)o法訪問。其原因還可能是因?yàn)?,?duì)客戶通信進(jìn)行處理的部件之一發(fā)生故障。
      許多客戶-服務(wù)器系統(tǒng)中的部件被配置成在檢測(cè)到失敗的地方重試失敗的客戶通信。在多層結(jié)構(gòu)中,失敗檢測(cè)傳播到單獨(dú)處理客戶通信的所有邏輯部件。其結(jié)果是,在同一服務(wù)器中的多個(gè)部件分別嘗試重試失敗的客戶通信。而且,在失敗被報(bào)告回客戶之前,這種多層結(jié)構(gòu)使得一些部件多次重試發(fā)送失敗的客戶通信。大部分這些額外的重試失敗的客戶通信的嘗試都是沒有用處的。
      例如,如圖8所示,假設(shè)服務(wù)器800提供一個(gè)通信路徑,其包括第一應(yīng)用程序830、第二應(yīng)用程序840、和服務(wù)器應(yīng)用程序820。該通信路徑用于將客戶810與目的地連接。在這個(gè)實(shí)例中,目的地為數(shù)據(jù)源850。傳統(tǒng)的不具有指定重試部件的系統(tǒng)將使用第二應(yīng)用程序840、第一應(yīng)用程序830、和服務(wù)器應(yīng)用程序820來(lái)反復(fù)重試失敗的客戶通信。例如,如果在第二應(yīng)用程序840試圖聯(lián)系數(shù)據(jù)源850時(shí)發(fā)生失敗,那么傳統(tǒng)的系統(tǒng)將使第二應(yīng)用程序840重試客戶通信,然后將失敗指示給第一應(yīng)用程序830。然后,該第一應(yīng)用程序重試失敗的客戶通信。如果數(shù)據(jù)源850對(duì)第二應(yīng)用程序840仍然不可用,那么在第一應(yīng)用程序830進(jìn)行重試之后由第二應(yīng)用程序840進(jìn)行另一次重試。在第二應(yīng)用程序840重試兩次、第一應(yīng)用程序830重試一次之后,將失敗通知給服務(wù)器部件820。如果服務(wù)器部件820進(jìn)行了重試,那么第二應(yīng)用程序840可重試兩次,并且第一應(yīng)用程序830可再次重試。其結(jié)果是,在通知客戶810失敗的客戶通信之前,該客戶將等待較長(zhǎng)的時(shí)間。
      在一些現(xiàn)有系統(tǒng)中,當(dāng)在具有冗余部件的環(huán)境中發(fā)生失敗,則該環(huán)境將對(duì)自身重新配置,使得后續(xù)請(qǐng)求被發(fā)送到另一未失敗的環(huán)境。這樣,重試請(qǐng)求通常將取得成功,但需要另一機(jī)器和附加的資源。例如,如果數(shù)據(jù)庫(kù)服務(wù)器崩潰,該環(huán)境將對(duì)自身重新配置,使得后續(xù)請(qǐng)求到達(dá)另一個(gè)服務(wù)器上。可由負(fù)載平衡器來(lái)選擇另一個(gè)服務(wù)器,這通常在初始服務(wù)器的內(nèi)部部件失敗之后進(jìn)行。
      綜上所述,無(wú)疑需要提供用于處理通信失敗的技術(shù),而避免了由通信路徑中的多個(gè)部件為響應(yīng)在通信路徑中發(fā)生的失敗進(jìn)行重試操作而造成的浪費(fèi)。

      發(fā)明內(nèi)容
      本發(fā)明提供了用于對(duì)客戶和數(shù)據(jù)源之間的失敗通信進(jìn)行重試的技術(shù)。在一個(gè)實(shí)施例中,服務(wù)器構(gòu)成了客戶和數(shù)據(jù)源之間的通信路徑的一部分,其被配置成包括位于單個(gè)內(nèi)部邏輯部件上的重試邏輯。服務(wù)器內(nèi)的其他邏輯部件將失敗的客戶通信報(bào)告給指定用來(lái)嘗試重試的部件。
      根據(jù)一個(gè)實(shí)施例,重試通信可由重試邏輯所駐留的部件進(jìn)行管理。該重試邏輯可被配置成選擇性地確定某些通信為可以重試,并確定其他通信為不可重試。該重試邏輯還可與為失敗的客戶通信選擇新的通信路徑的邏輯相結(jié)合。
      其他實(shí)施例包括重試技術(shù)和對(duì)來(lái)自客戶通信路徑中的另一設(shè)備的重試通信的管理。例如,可以用負(fù)載平衡設(shè)備或客戶來(lái)實(shí)施重試技術(shù)。


      本發(fā)明以舉例的方式、而不是以限定的方式,通過附圖中的圖來(lái)進(jìn)行說(shuō)明,其中,相同的附圖標(biāo)記指代相同的元件,其中圖1示出了一種包括用于在客戶和數(shù)據(jù)源之間傳送通信的指定重試部件的系統(tǒng);圖2所示的方框圖示出了被配置成包括有重試邏輯的服務(wù)器的操作;圖3示出了在客戶和數(shù)據(jù)源之間的通信路徑中實(shí)施重試邏輯的流程圖;圖4示出了一種實(shí)施服務(wù)器的重試邏輯的方法,其中所述服務(wù)器用來(lái)將客戶與數(shù)據(jù)源相連接;圖5示出了一種用于在將客戶與數(shù)據(jù)源相連的系統(tǒng)上實(shí)施重試邏輯的方法;圖6示出了一種數(shù)據(jù)結(jié)構(gòu),其能以重試邏輯來(lái)實(shí)施,以確定某種失敗通信是否可以重試;
      圖7所示的方框圖示出了一種通過其實(shí)施本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng);以及圖8示出了一種用于重試針對(duì)服務(wù)器的失敗的客戶通信的現(xiàn)有技術(shù)系統(tǒng)。
      具體實(shí)施例方式
      本發(fā)明描述了一種用于訪問數(shù)據(jù)源的方法和裝置。在以下的描述中,為了進(jìn)行說(shuō)明,為提供對(duì)本發(fā)明的詳盡理解而列出了許多具體細(xì)節(jié)。然而,可以知道,本發(fā)明無(wú)需這些具體細(xì)節(jié)也可得以實(shí)施。在其他情況下,為了避免對(duì)本發(fā)明的不必要的混淆,以方框圖的形式示出了眾所周知的結(jié)構(gòu)和設(shè)備。
      A.總述根據(jù)一個(gè)實(shí)施例,為構(gòu)成客戶和數(shù)據(jù)源之間的通信路徑的順序部件指定一個(gè)重試點(diǎn)。該指定的重試部件被設(shè)置在通信路徑中的多個(gè)部件中的一個(gè)上。如果從客戶到數(shù)據(jù)源的通信沒能到達(dá)其目的地,那么該指定的重試部件就是重試把客戶通信發(fā)送到目的地的惟一部件。其他的部件不重試把通信發(fā)送到目的地,而是將通信未能到達(dá)目的地通知給重試部件。
      當(dāng)客戶通信在通信路徑中的一個(gè)部件上失敗時(shí),需要重試部件。此外,當(dāng)通信路徑中的一個(gè)部件漏掉、或未能處理客戶通信時(shí),也需要重試部件。
      目的地可以是數(shù)據(jù)源。數(shù)據(jù)源的例子包括數(shù)據(jù)庫(kù)和目錄。在一個(gè)實(shí)施例中,包括數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)系統(tǒng)可包含數(shù)據(jù)源。
      數(shù)據(jù)源可包括網(wǎng)絡(luò)服務(wù)器、諸如目錄和數(shù)據(jù)庫(kù)設(shè)備的數(shù)據(jù)存儲(chǔ)器以及其他存儲(chǔ)設(shè)備。在互聯(lián)網(wǎng)應(yīng)用中,數(shù)據(jù)源50通常為網(wǎng)絡(luò)服務(wù)器、或網(wǎng)絡(luò)激活數(shù)據(jù)存儲(chǔ)器。
      邏輯部件包括程序、應(yīng)用程序、軟件、編碼的固件或硬件,其被配置成處理客戶通信以便執(zhí)行特定任務(wù)。重試部件是被配置成向數(shù)據(jù)源重試發(fā)送客戶通信的邏輯部件。重試部件通過把通信發(fā)送給構(gòu)成到數(shù)據(jù)源的通信路徑的一部分的中間部件,來(lái)向數(shù)據(jù)源發(fā)送通信。該重試部件可使用初始通信路徑、或類似通信路徑來(lái)重試發(fā)送客戶通信。作為選擇,該重試部件可被配備成選擇由在重試部件外部的設(shè)備上的不同中間部件構(gòu)成的另一通信路徑。如果初始數(shù)據(jù)源在通信路徑中失敗,該重試部件還可嘗試訪問另一數(shù)據(jù)源。
      重試部件的一個(gè)具體實(shí)例為位于服務(wù)器上的邏輯服務(wù)器部件,其為服務(wù)器服務(wù)并分派輸入請(qǐng)求。用作服務(wù)器接口的其他部件同樣可適于實(shí)施重試邏輯。
      在一個(gè)實(shí)施例中,將多個(gè)邏輯部件按順序連接,以將通信從客戶發(fā)送到數(shù)據(jù)源。這些部件中的一個(gè)被指定為用于通信路徑部件的重試部件。如果客戶通信被檢測(cè)為未能訪問數(shù)據(jù)源,則該重試部件向數(shù)據(jù)源重試發(fā)送第一通信。通信路徑中的其他部件被指定向重試部件發(fā)送通信失敗的指示。當(dāng)通信路徑中的一個(gè)部件失敗,前一個(gè)部件(亦即,將請(qǐng)求發(fā)送到失敗部件的部件)向重試部件發(fā)送指示。任何不是重試部件但卻位于通信路徑中的部件接收指示,并且必須同樣地將向重試部件發(fā)送指示。這樣,每一個(gè)其他部件都將指示通知給重試部件,而不需要向數(shù)據(jù)源重新發(fā)送第一通信。
      通信路徑包括邏輯部件,其按順序結(jié)合以將客戶通信發(fā)送到數(shù)據(jù)源。通信路徑的邏輯部件可位于不同的設(shè)備上。重試點(diǎn)為沿通信路徑的一個(gè)位置,邏輯位于該重試點(diǎn)處,以重試發(fā)送失敗的客戶通信。
      在嘗試重新向數(shù)據(jù)源發(fā)送客戶通信之前,重試邏輯可確定失敗的客戶通信是否可以重試。某些類型的通信或特定請(qǐng)求可被指定為不可重試。這些指定可結(jié)合到重試邏輯中。
      在重新發(fā)送失敗客戶通信之前,重試邏輯還可確定替換的通信路徑。該替換的通信路徑可位于前一通信路徑的部件所在的設(shè)備之外。重試部件可沿任一路徑發(fā)送請(qǐng)求,以繞過失敗的通信。例如,重試邏輯可考慮是否需要將通信發(fā)送到發(fā)生失敗的設(shè)備之外。在進(jìn)行該決定的過程中,重試部件還可確定一個(gè)特殊請(qǐng)求是否可以重試。
      在另一實(shí)施例中,在客戶和數(shù)據(jù)源之間的第一通信路徑上指定重試點(diǎn)。該第一通信路徑包括多個(gè)邏輯部件,其順序地接收并發(fā)送客戶通信到數(shù)據(jù)源。該重試點(diǎn)構(gòu)成通信路徑的一部分。如果客戶通信路徑中的一個(gè)部件失敗,或者不能到達(dá)其目的地,則向該重試部件發(fā)出失敗通知。
      例如,在一個(gè)實(shí)施例中,如果客戶通信不能沿位于重試點(diǎn)和數(shù)據(jù)源之間的通信路徑部分訪問數(shù)據(jù)源,則通過該通信路徑中的其它部件中的一個(gè)或多個(gè)來(lái)通知重試點(diǎn),指示客戶通信未能訪問數(shù)據(jù)源。
      根據(jù)一個(gè)實(shí)施例,重試邏輯可確定客戶通信是否可以重試。只有在客戶請(qǐng)求被確定為可以重試的情況下,重試邏輯才可重新發(fā)送客戶通信。
      利用本文中描述的技術(shù),系統(tǒng)可使用單個(gè)的指定重試部件來(lái)執(zhí)行最優(yōu)次數(shù)的重試。在很多情況下,一次重試就足以確定數(shù)據(jù)源是否可以訪問。與此相反,傳統(tǒng)的系統(tǒng)無(wú)法被設(shè)定成執(zhí)行最優(yōu)次數(shù)的重試,尤其是僅一次重試,因?yàn)橐坏z測(cè)到失敗,通常每個(gè)部件將自動(dòng)重試客戶通信。因此,即使各個(gè)部件都被設(shè)置為執(zhí)行一次重試,實(shí)際執(zhí)行的重試次數(shù)可能至少與執(zhí)行重試的部件的數(shù)目一樣多。
      更進(jìn)一步,本發(fā)明的實(shí)施例允許重試邏輯被配置成做出其他確定和決定。具體來(lái)說(shuō),重試部件可被配置成確定一個(gè)特殊的客戶通信是否可以重試,以及如果需要的話確定一條新的通信路徑。傳統(tǒng)的系統(tǒng)包括太多的重試失敗的客戶通信的部件,使得對(duì)重試邏輯進(jìn)行配置變得困難,而且效率低。
      在另一個(gè)實(shí)施例中,重試部件在重試發(fā)送客戶通信之前進(jìn)行確定。該確定可與之前試圖重試發(fā)送客戶通信的次數(shù)相對(duì)應(yīng)。如果之前嘗試的次數(shù)小于最大重試閾值,則重試部件可重試發(fā)送客戶通信。
      B.重試技術(shù)的系統(tǒng)描述圖1示出了一種包括用于在客戶和數(shù)據(jù)源之間傳送通信的指定重試部件的系統(tǒng)100。系統(tǒng)100的選定部件按順序結(jié)合,以構(gòu)成在客戶10和數(shù)據(jù)源50之間的一個(gè)或多個(gè)通信路徑。重試部件在選定的通信路徑上標(biāo)示出指定位置,在這個(gè)位置處,可重新發(fā)送失敗客戶通信以訪問數(shù)據(jù)源50。
      為了進(jìn)行說(shuō)明,在客戶10向數(shù)據(jù)源50請(qǐng)求信息的環(huán)境下說(shuō)明系統(tǒng)100。然而,系統(tǒng)100可用在更廣泛的環(huán)境中,可對(duì)通信進(jìn)行處理并將其從源計(jì)算機(jī)發(fā)送到目的計(jì)算機(jī),以及對(duì)響應(yīng)進(jìn)行處理并將其從目的計(jì)算機(jī)發(fā)送到源計(jì)算機(jī)。因此,參照作為客戶通信目的地的數(shù)據(jù)源50對(duì)一個(gè)應(yīng)用進(jìn)行說(shuō)明,其中,目的地為例如數(shù)據(jù)庫(kù)系統(tǒng)。
      系統(tǒng)100可在客戶10和數(shù)據(jù)源50之間提供多個(gè)通信路徑。每一個(gè)通信路徑僅包括一個(gè)部件作為重試部件,或者作為選擇,僅包括任一服務(wù)器上的構(gòu)成通信路徑一部分的選定部件作為重試部件,該重試部件被配置成重試把失敗客戶通信發(fā)回給數(shù)據(jù)源。各個(gè)通信路徑的其他部件被配置成將失敗的客戶通信提交到重試部件。
      在其他的優(yōu)點(diǎn)中,本發(fā)明的實(shí)施例避免了失敗的客戶通信的無(wú)用重試次數(shù)的增加。通過選定一個(gè)用于進(jìn)行重試的部件,使系統(tǒng)100進(jìn)行重試的次數(shù)得以減少。其結(jié)果是,與其他不是特別地使用重試邏輯的系統(tǒng)相比,尤其在與這些其他系統(tǒng)的最壞情況,即多個(gè)部件停止發(fā)出重試請(qǐng)求相比較時(shí),將失敗報(bào)告回客戶10的延遲可顯著減少。
      由一個(gè)實(shí)施例所提供的另一優(yōu)點(diǎn)在于,重試邏輯可通過較容易且很少的支持在系統(tǒng)中得以實(shí)施。例如,重試邏輯可在服務(wù)器的單個(gè)邏輯部件中得以實(shí)施。在重試邏輯已經(jīng)處于適當(dāng)位置的情況下,可將附加部件加入到環(huán)境中,而無(wú)需對(duì)環(huán)境進(jìn)行實(shí)質(zhì)性的配置。
      此外,將重試邏輯集中到一個(gè)部件中將使對(duì)通信重試的管理變得容易。重試邏輯可被配置成防止對(duì)先前已被指定為不可重試的某些客戶通信進(jìn)行重試。例如,安全的通信先前可被指定為不可重試。可以基于請(qǐng)求類型來(lái)確定請(qǐng)求是否可以重試。例如,那些無(wú)論什么時(shí)候都返回同樣的答復(fù)的請(qǐng)求是可以重試的。
      與此相反,其他傳統(tǒng)的系統(tǒng)允許通信路徑的各個(gè)部件都能重新發(fā)送失敗客戶通信。這通常導(dǎo)致延遲延長(zhǎng),因?yàn)樵诳蛻舯蛔罱K通知先前的通信已經(jīng)失敗之前,一個(gè)失敗部件可使得在通信路徑的上行的多個(gè)部件重試發(fā)送客戶通信。
      在圖1所示的結(jié)構(gòu)中,系統(tǒng)100包括負(fù)載平衡設(shè)備25、第一服務(wù)器20、第二服務(wù)器30和第三服務(wù)器40。這些服務(wù)器的組合可相當(dāng)于一個(gè)服務(wù)器場(chǎng)(farm),其用來(lái)在將客戶通信發(fā)送到目的地之前對(duì)客戶通信進(jìn)行處理。負(fù)載平衡設(shè)備25選定這些服務(wù)器中的一個(gè),以形成客戶10和數(shù)據(jù)源50之間的通信路徑。
      網(wǎng)絡(luò)15可相當(dāng)于一個(gè)廣域網(wǎng),例如互聯(lián)網(wǎng)??蛻?0可為一個(gè)終端,其被配置成通過網(wǎng)絡(luò)15進(jìn)行通信??蛻?0和網(wǎng)絡(luò)15的一個(gè)典型實(shí)例包括一個(gè)帶有訪問互聯(lián)網(wǎng)的網(wǎng)絡(luò)瀏覽器的臺(tái)式計(jì)算機(jī)。
      負(fù)載平衡設(shè)備25截取從客戶10發(fā)送到數(shù)據(jù)源50的客戶通信。客戶通信可相當(dāng)于一個(gè)數(shù)據(jù)請(qǐng)求??蛻敉ㄐ趴蛇x擇性地請(qǐng)求在數(shù)據(jù)源50內(nèi)寫入數(shù)據(jù)、修改已有數(shù)據(jù)、或刪除已有數(shù)據(jù)。響應(yīng)于接收客戶通信,負(fù)載平衡設(shè)備25根據(jù)各個(gè)服務(wù)器的可用資源來(lái)選定一個(gè)服務(wù)器以訪問數(shù)據(jù)源50。每個(gè)服務(wù)器20、30、40都包括多個(gè)邏輯部件,其按順序?qū)蛻敉ㄐ胚M(jìn)行處理。在圖1提供的實(shí)例中,負(fù)載平衡設(shè)備25選定第一服務(wù)器20,從而形成一個(gè)由客戶10、負(fù)載平衡設(shè)備25、第一服務(wù)器20和數(shù)據(jù)源50組成的通信路徑12。在第一服務(wù)器20中的多個(gè)邏輯部件(參見圖2)按順序結(jié)合,從而形成通信路徑12的一部分。
      根據(jù)一個(gè)實(shí)施例,服務(wù)器20、30、40中的每一個(gè)都配置有重試邏輯,其用于在該服務(wù)器內(nèi)從指定邏輯部件重新發(fā)送失敗客戶通信。圖1示出了第一服務(wù)器20,其被配置成包括重試部件22。在一個(gè)實(shí)施例中,重試部件22直接與負(fù)載平衡設(shè)備25通信。例如,重試部件22可在直接從平衡負(fù)載設(shè)備25分派客戶通信的邏輯服務(wù)器部件上得以實(shí)施。第一服務(wù)器20的多個(gè)其他部件24沿通信路徑12被設(shè)置在重試部件22之后。
      在該結(jié)構(gòu)中,對(duì)順序結(jié)合以形成通信路徑12的第一服務(wù)器20的各個(gè)部件進(jìn)行分布,使得序列中的第一部件成為重試失敗客戶通信的惟一部件。對(duì)于失敗客戶通信而言,第一服務(wù)器20中的其他部件24向重試部件22返回一個(gè)客戶通信失敗的指示。部件24不嘗試重新發(fā)送失敗客戶通信。
      在其他的實(shí)施例中,重試邏輯可被設(shè)置在沿客戶10和數(shù)據(jù)源50之間的通信路徑之一的其它位置。在一個(gè)實(shí)施例中,負(fù)載平衡設(shè)備25包括用作重試部件22的邏輯。在另一個(gè)實(shí)施例中,客戶10包括用作重試部件22的邏輯。通過將重試部件22從數(shù)據(jù)源50中除去,減少了在通信路徑上可以重試向數(shù)據(jù)源50發(fā)回失敗客戶通信的部件的數(shù)目。
      圖2所示的方框圖示出了被配置成包括重試邏輯的服務(wù)器的操作。該服務(wù)器包括多個(gè)邏輯部件,其以順序的方式對(duì)發(fā)送到服務(wù)器的通信進(jìn)行處理。
      在一個(gè)實(shí)施例中,第一服務(wù)器120包括使用多重的分層的部件處理客戶通信112。該部件按照順序114排列,以處理客戶通信112。順序114中的至少一個(gè)部件被指定為重試點(diǎn)122。
      在一個(gè)實(shí)施例中,重試部件122對(duì)應(yīng)于在序列114中最先接收客戶通信112的部件。在序列114中使用的其它部件包括第一應(yīng)用程序124和第二應(yīng)用程序126。第一應(yīng)用程序124從重試點(diǎn)122接收客戶通信112。第二應(yīng)用程序126從第一部件124接收客戶通信112。第二應(yīng)用程序126把客戶通信112發(fā)送給數(shù)據(jù)源150。只有在重試點(diǎn)122,服務(wù)器120才試圖把失敗客戶通信112重新發(fā)回給數(shù)據(jù)源150。
      在一個(gè)實(shí)施例中,重試部件122對(duì)應(yīng)于被配置成包括重試邏輯的第一服務(wù)器120的服務(wù)器部件。第一應(yīng)用程序124可相當(dāng)于一個(gè)表示層,其用于表示從數(shù)據(jù)源150到客戶110的信息。第二應(yīng)用程序126可相當(dāng)于特殊類型網(wǎng)絡(luò)通信的業(yè)務(wù)邏輯或其他應(yīng)用程序。例如,在JAVA環(huán)境中,第一應(yīng)用程序124為JAVA Servlet Engine(JSERVE)應(yīng)用程序,以表示來(lái)自數(shù)據(jù)源150的JAVA激活數(shù)據(jù)。第二應(yīng)用程序126可相當(dāng)于EJB服務(wù)器應(yīng)用程序,其傳送用于完成商業(yè)應(yīng)用程序的邏輯。每一個(gè)應(yīng)用程序都可獨(dú)立地對(duì)客戶通信112進(jìn)行處理和修改。
      數(shù)據(jù)源150可利用相反的順序116將響應(yīng)132傳回給客戶。通過該相反的順序116,響應(yīng)132被數(shù)據(jù)源15傳回給第二應(yīng)用程序126,然后,第二應(yīng)用程序126將該響應(yīng)發(fā)送到第一應(yīng)用程序124,然后發(fā)送到重試點(diǎn)122。接下來(lái),響應(yīng)132被發(fā)回給客戶110。
      有時(shí),處理客戶通信112的部件中的一個(gè)失敗。該失敗可由序列114中的任意部件引起,或者作為選擇,可由數(shù)據(jù)源150引起。例如,數(shù)據(jù)源150可變得不可用或太過擁堵,而不能處理客戶通信112。然后,當(dāng)?shù)诙?yīng)用程序126嘗試傳送客戶通信112到數(shù)據(jù)源150時(shí),將產(chǎn)生失敗。位于失敗客戶通信點(diǎn)處的部件可利用相反的順序116發(fā)送一個(gè)客戶通信112失敗的指示。重試點(diǎn)122響應(yīng)于接收到客戶通信112失敗的指示,可重試將客戶通信112發(fā)回給數(shù)據(jù)源150。
      當(dāng)重新發(fā)送失敗客戶通信112時(shí),重試點(diǎn)122實(shí)施一個(gè)重試序列。在一個(gè)實(shí)施例中,第一重試序列118包括與序列114相同的部件和排列。在另一個(gè)實(shí)施例中,第二重試序列119包括另一服務(wù)器130的部件。例如,第二重試序列119可使得重試點(diǎn)122將客戶通信112發(fā)送到第二服務(wù)器130的第一應(yīng)用程序134上。第一應(yīng)用程序134可將客戶通信112發(fā)送到該服務(wù)器上的第二應(yīng)用程序136上。第二服務(wù)器130的第一和第二部件134和136可執(zhí)行與第一服務(wù)器120的第一和第二應(yīng)用程序124和126相似的或相同的功能。
      更進(jìn)一步,如果服務(wù)器120包括多個(gè)用于處理和發(fā)送客戶通信的過程,其他的實(shí)施例可使得重試點(diǎn)122選定同一服務(wù)器120上的另一過程。
      在一個(gè)實(shí)施例中,每一個(gè)部件都在其后續(xù)層中保存部件的拓?fù)鋱D。然后,每個(gè)部件都可選定可用的部件。重試點(diǎn)122可利用拓?fù)鋱D來(lái)確定其他服務(wù)器、或相同服務(wù)器上的部件的狀態(tài)。重試點(diǎn)122可配備有智能信息,以利用來(lái)自拓?fù)鋱D的信息選擇合適的路徑來(lái)發(fā)送重試請(qǐng)求。
      此外,其他的實(shí)施例可提供其他的重試序列。例如,如果序列114中的一個(gè)部件被檢測(cè)為已經(jīng)失敗,則當(dāng)位于重試點(diǎn)122處的部件重試發(fā)送失敗客戶通信112時(shí),可選擇繞過該部件。
      服務(wù)器部件122可包括用以選定重試序列的邏輯。例如,如果客戶通信112是安全的,服務(wù)器部件122可只使用第一服務(wù)器120內(nèi)部的重試序列。作為選擇,服務(wù)器部件122可根據(jù)性能選定重試部件。例如,服務(wù)器部件122可確定應(yīng)該將重試保持在同一服務(wù)器上,以便使用具有用于特殊客戶請(qǐng)求的有用數(shù)據(jù)集的高速緩存。
      圖3示出了在客戶310和數(shù)據(jù)源350之間的通信路徑中實(shí)施重試邏輯的流程圖。該通信路徑包括負(fù)載平衡設(shè)備315、服務(wù)器部件320、第一應(yīng)用程序330、第二應(yīng)用程序340和數(shù)據(jù)源350。圖3中假定服務(wù)器部件320包括重試邏輯。此外,圖3中假定重試邏輯不選擇一個(gè)新的通信路徑來(lái)重新發(fā)送失敗客戶通信。
      如上所述,如果圖3所示的系統(tǒng)使用傳統(tǒng)的重試技術(shù),那么將導(dǎo)致無(wú)用重試次數(shù)的增加?,F(xiàn)在,將使用圖3來(lái)說(shuō)明一個(gè)系統(tǒng)的操作過程,該系統(tǒng)被配置成從指定部件重試失敗客戶通信,由此減小由傳統(tǒng)的系統(tǒng)所產(chǎn)生的延遲。通過僅僅使用指定重試部件320,本發(fā)明的實(shí)施例可將重試次數(shù)減少至一次嘗試。
      利用在此所述的技術(shù),客戶通過網(wǎng)絡(luò)把發(fā)出的客戶通信213傳送到負(fù)載平衡設(shè)備315。該負(fù)載平衡設(shè)備315將客戶通信312發(fā)送到服務(wù)器部件320。該服務(wù)器部件320可位于由負(fù)載平衡設(shè)備315選定的服務(wù)器上??蛻敉ㄐ?12由服務(wù)器部件320、第一應(yīng)用程序330、和第二應(yīng)用程序340發(fā)送到數(shù)據(jù)源350。
      例如,如果第二應(yīng)用程序340不能訪問數(shù)據(jù)源350,那么第二應(yīng)用程序340可將失敗通知322發(fā)送到第一應(yīng)用程序330。該第一應(yīng)用程序330將通知322發(fā)送到服務(wù)器部件320。
      響應(yīng)于接收來(lái)自第一應(yīng)用程序330的通知322,服務(wù)器部件320可將重試332發(fā)回給第一應(yīng)用程序330。重試332包括客戶通信312的內(nèi)容。該重試332被發(fā)送到第一應(yīng)用程序330、第二應(yīng)用程序340,然后被發(fā)送到數(shù)據(jù)源350。
      如果重試332成功,來(lái)自數(shù)據(jù)源350的響應(yīng)342被返回到客戶310??梢岳玫诙?yīng)用程序340、第一應(yīng)用程序330、服務(wù)器部件320、負(fù)載平衡設(shè)備315和客戶310這樣的順序,把響應(yīng)342發(fā)送到客戶310。
      C.實(shí)施重試技術(shù)的方法圖4示出了一種實(shí)施相對(duì)于服務(wù)器的重試邏輯的方法,其中該服務(wù)器用于使客戶與數(shù)據(jù)源連接。如圖4所描述的方法可在如圖2所描述的部件和系統(tǒng)上得以實(shí)施。
      在步驟410中,對(duì)失敗客戶通信進(jìn)行檢測(cè)。該失敗客戶通信可在失敗點(diǎn)處被檢測(cè)到。例如,如果第二應(yīng)用程序126(圖2中示出)不能訪問數(shù)據(jù)源150,則檢測(cè)點(diǎn)在第二應(yīng)用程序126處。
      在步驟420中,將失敗客戶通信報(bào)告給重試點(diǎn)。檢測(cè)到失敗的部件可按照通信路徑的順序,將失敗報(bào)告回給相鄰的部件。一個(gè)或多個(gè)中間部件相結(jié)合,以按順序?qū)⒖蛻敉ㄐ艔臋z測(cè)到失敗的部件發(fā)送到重試點(diǎn)。作為選擇,檢測(cè)到失敗客戶通信的部件可直接將失敗報(bào)告給重試點(diǎn),從而繞過通信路徑上的中間部件。
      在步驟430中,將失敗客戶通信從重試點(diǎn)重新發(fā)送到數(shù)據(jù)源。可響應(yīng)于重試點(diǎn)接收到客戶通信失敗的報(bào)告而自動(dòng)執(zhí)行該步驟。
      在步驟440中,確定重試是否成功。根據(jù)一個(gè)實(shí)施例,如果重試失敗,則將失敗報(bào)告給步驟450中的客戶。因此,重試點(diǎn)可被配置成只嘗試一次重試。
      如果重試成功,則步驟460將來(lái)自于數(shù)據(jù)源的響應(yīng)報(bào)告回客戶。例如,如果客戶通信相當(dāng)于一個(gè)讀取操作,則發(fā)回給客戶的響應(yīng)包括數(shù)據(jù)和其他信息,使得客戶的瀏覽器能夠顯示對(duì)應(yīng)于客戶請(qǐng)求的信息。
      與其他的重試技術(shù)相對(duì)比,如圖4所描述的實(shí)施例所提供的一個(gè)優(yōu)點(diǎn)在于,對(duì)失敗客戶通信進(jìn)行檢測(cè)并采取行動(dòng)的點(diǎn)被定位在客戶通信路徑中的一個(gè)選定部件上。發(fā)生重試行為的點(diǎn)沒有被客戶通信的通信路徑上的多個(gè)部件毫無(wú)區(qū)別地共享。當(dāng)多個(gè)邏輯部件相結(jié)合而形成客戶通信的通信路徑時(shí),一個(gè)實(shí)施例使得僅有一個(gè)部件對(duì)失敗采取行動(dòng)。這種方法保護(hù)了其中有數(shù)百或數(shù)千個(gè)客戶通信同時(shí)被處理的系統(tǒng)的資源。
      此外,重試部件可以是通信路徑中對(duì)失敗進(jìn)行檢測(cè)的惟一位置。作為選擇,可在客戶通信路徑中的另一個(gè)部件上中檢測(cè)失敗點(diǎn)。更進(jìn)一步地,重試部件可對(duì)外部監(jiān)視器檢測(cè)到的失敗客戶通信進(jìn)行重試。
      而且,被配置成實(shí)施如圖4所描述的方法的系統(tǒng)還可被配置成實(shí)施帶有重試邏輯的其它特征。圖5描述了另一種重試技術(shù)的實(shí)例。
      圖5示出了一種用于在把客戶與數(shù)據(jù)源相連的系統(tǒng)上實(shí)施重試邏輯的方法。圖2中的附圖標(biāo)記用于說(shuō)明一個(gè)實(shí)施例所用的示例性部件。如圖5所描述的方法可在形成客戶110和數(shù)據(jù)源150之間的通信路徑的一個(gè)或多個(gè)邏輯部件上被實(shí)施。
      在步驟510中,由傳送客戶通信到數(shù)據(jù)源的邏輯部件之一對(duì)失敗客戶通信進(jìn)行檢測(cè)。該邏輯部件可相當(dāng)于序列114中重試點(diǎn)122后的一個(gè)部件。如果邏輯部件之一不能訪問序列114中的下一個(gè)中間部件,則可將客戶通信檢測(cè)為失敗。如果序列114中的最后一個(gè)邏輯部件不能訪問數(shù)據(jù)源150,同樣可將客戶通信檢測(cè)為失敗。
      在步驟520中,將客戶通信失敗的指示傳送到重試點(diǎn)。該指示可沿相反的順序被發(fā)回給重試部件122。作為選擇,檢測(cè)到失敗客戶通信的部件可將指示直接發(fā)送到重試點(diǎn)122,從而繞過在客戶通信最初從重試點(diǎn)122發(fā)送時(shí)對(duì)客戶通信進(jìn)行處理的中間部件。
      在步驟530中,確定失敗客戶通信是否可以重試。在一個(gè)實(shí)施例中,在重試點(diǎn)122處進(jìn)行確定。例如,重試點(diǎn)122可相當(dāng)于服務(wù)器120的服務(wù)器部件,其配置有包括用以確定失敗客戶通信是否可以重試的智能信息的重試邏輯。
      為了確定客戶通信是否可以重試,重試點(diǎn)122可確定與客戶通信有關(guān)的信息。該信息可以在表或其他數(shù)據(jù)結(jié)構(gòu)中被參考,以便指示出失敗客戶通信是否應(yīng)該重試。重試點(diǎn)122可確定某些類型的通信是不可重試的。例如,安全通信可被確定為不可重試?;蛘?,通信的類型可指示請(qǐng)求是否可以重試。例如,靜態(tài)數(shù)據(jù)請(qǐng)求可被預(yù)先確定為可以重試。更進(jìn)一步地,重試點(diǎn)122可被配置成將客戶通信的某些源和/或目的地確定為不可重試。
      如果步驟530中的確定結(jié)果為失敗客戶通信是不可重試的,則步驟540中通知客戶該客戶通信失敗。重試點(diǎn)122可將客戶通信失敗的指示發(fā)送給客戶110。
      在一個(gè)實(shí)施例中,如果步驟530中的確定結(jié)果為失敗客戶通信是可以重試的,則在步驟550中,重試點(diǎn)122選定一個(gè)通信路徑以重試發(fā)送失敗客戶通信。例如,重試點(diǎn)122可訪問另一服務(wù)器,并使用一個(gè)新的結(jié)合有其他服務(wù)器的部件的通信路徑?;蛘?,如果,例如確定在數(shù)據(jù)源150處發(fā)生故障,則重試點(diǎn)122可確定使用先前的通信路徑。
      一旦選定了通信路徑,重試點(diǎn)122就將失敗客戶通信重新發(fā)回給數(shù)據(jù)源150。重試點(diǎn)122通過將客戶通信發(fā)送到所選定的通信路徑的序列中的下一個(gè)后續(xù)部件,來(lái)發(fā)送客戶通信。
      在例如基于網(wǎng)絡(luò)的通信的應(yīng)用中,請(qǐng)求的內(nèi)容可指出請(qǐng)求是否可以重試。例如,URL(統(tǒng)一資源定位符)可包含一個(gè)變量或其他用語(yǔ),以指示請(qǐng)求是否可以重試。
      圖6示出了一種數(shù)據(jù)結(jié)構(gòu)600,其能以重試邏輯來(lái)實(shí)施,以確定某些失敗客戶通信是否可以重試。該數(shù)據(jù)結(jié)構(gòu)500使從客戶通信確定的一個(gè)或多個(gè)參數(shù)與相應(yīng)值進(jìn)行匹配,以確定客戶通信是否可以重試。所述從客戶通信確定的一個(gè)或多個(gè)參數(shù)屬于一組參數(shù)特征610。各個(gè)參數(shù)的相應(yīng)值屬于一組參數(shù)值620。
      在所提供的實(shí)例中,參數(shù)特征610包括安全參數(shù)612,用以確定客戶通信是否安全;操作參數(shù)614,用以確定客戶通信指定的為何種操作(讀、寫、刪除等);一個(gè)或多個(gè)用戶定義參數(shù)616;和/或一個(gè)或多個(gè)廠家定義參數(shù)618。用戶定義參數(shù)可由客戶端的用戶進(jìn)行定義或配置。廠家定義參數(shù)可由服務(wù)器供應(yīng)商進(jìn)行定義或配置。例如,在服務(wù)器場(chǎng)中,廠家在服務(wù)器上提供或配置一個(gè)或多個(gè)邏輯應(yīng)用程序。
      參數(shù)值620包括以下值。安全參數(shù)值622可要求對(duì)非安全通信進(jìn)行失敗客戶通信重試,但不對(duì)安全通信進(jìn)行失敗客戶通信重試。操作參數(shù)值624可指定對(duì)指定了讀操作的客戶通信進(jìn)行重試,但不對(duì)指定了寫或刪除操作的客戶通信進(jìn)行重試。值626可被配置成與用戶定義參數(shù)616匹配。舉例來(lái)說(shuō),如果客戶通信的目的地為特定的網(wǎng)絡(luò)地址IP(a),那么值626可排除重試失敗客戶通信。值628可被配置成與廠家定義參數(shù)618匹配。例如,對(duì)于某些具有ID(a)的客戶端用戶,廠家定義參數(shù)可排除重試失敗客戶通信。
      用于確定可以重試的客戶通信的更為復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和技術(shù)也是可能的。在一個(gè)實(shí)施例中,可對(duì)數(shù)據(jù)結(jié)構(gòu)600進(jìn)行修改,以確定可以利用位于重試點(diǎn)外部的新的通信路徑重試客戶通信。例如,安全客戶通信可以是可以重試的,但只有當(dāng)其利用相同服務(wù)器的部件進(jìn)行傳送時(shí)才可以重試。
      在一個(gè)特定應(yīng)用中,表600可相當(dāng)于統(tǒng)一資源定位符(URL)的模式。例如,如果從網(wǎng)絡(luò)瀏覽器發(fā)送的超文本傳輸協(xié)議(HTTP)請(qǐng)求中的URL模式包含特殊的模式,那么該模式可與特定的重試功能或指示相匹配。例如,指定或包括諸如http//website/documents/reads/*的模式的請(qǐng)求可被確定為可以重試。但指定諸如http//website/documents/updates/*的模式的請(qǐng)求可被確定為不可重試。在后一種情況下,該請(qǐng)求不得是可重試的,因?yàn)檎?qǐng)求更新數(shù)據(jù)在本質(zhì)上意味著,被訪問的數(shù)據(jù)是動(dòng)態(tài)的,而不是靜態(tài)的。
      D.替換的配置雖然本文中描述的實(shí)施例僅僅描述了客戶10和數(shù)據(jù)源50之間的通信路徑的單個(gè)重試部件,但其他的實(shí)施例可提供多個(gè)重試部件。具體來(lái)說(shuō),多個(gè)重試部件可以位于客戶10和數(shù)據(jù)源50之間的通信路徑上的關(guān)鍵位置。例如,一個(gè)實(shí)施方案中可使服務(wù)器20和負(fù)載平衡設(shè)備25各自包括一個(gè)重試部件。服務(wù)器20上的部件被配置成,如果客戶通信在服務(wù)器和數(shù)據(jù)源之間失敗,則服務(wù)器20上的部件從服務(wù)器的重試部件重試發(fā)送失敗客戶通信。同樣地,負(fù)載平衡設(shè)備25上的部件被配置成,如果客戶通信在負(fù)載平衡設(shè)備的邏輯部件中的一個(gè)上失敗,則負(fù)載平衡設(shè)備25上的部件從負(fù)載平衡設(shè)備的重試部件重試發(fā)送客戶通信。
      本文中描述的實(shí)施例集中在從客戶到數(shù)據(jù)源的通信上。然而,本文中所描述的技術(shù)并不局限于此。相反,這些技術(shù)可應(yīng)用于發(fā)送方發(fā)送信息到指定接受方的任意情況中,其中信息必須通過多個(gè)中間部件。例如,該信息可為由數(shù)據(jù)源響應(yīng)于來(lái)自客戶的請(qǐng)求而發(fā)送到客戶的響應(yīng)。請(qǐng)求還可從客戶被發(fā)送到提供服務(wù)但不是被客戶檢索的數(shù)據(jù)源的服務(wù)器。
      E.硬件描述圖7所述的方框圖示出了一種通過其實(shí)施本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)700。計(jì)算機(jī)系統(tǒng)700包括總線720或其他的用于傳遞信息的通信機(jī)構(gòu),以及與總線720相連接并用于處理信息的處理器704。計(jì)算機(jī)系統(tǒng)700還包括一個(gè)主存儲(chǔ)器706,例如隨機(jī)存取存儲(chǔ)器(RAM)或其他的動(dòng)態(tài)存儲(chǔ)器,其與總線702相連,用于存儲(chǔ)信息和要被處理器704執(zhí)行的指令。在要被處理器704執(zhí)行的指令的執(zhí)行過程中,主存儲(chǔ)器706還可用來(lái)存儲(chǔ)臨時(shí)變量或其他的中間信息。計(jì)算機(jī)系統(tǒng)700還包括只讀存儲(chǔ)器(ROM)708或其他的靜態(tài)存儲(chǔ)器,其與總線702相連,用于存儲(chǔ)靜態(tài)信息和用于處理器704的指令。提供了諸如磁盤或光盤的存儲(chǔ)設(shè)備710,其與總線702相連,用于存儲(chǔ)信息和指令。
      計(jì)算機(jī)系統(tǒng)700可通過總線702與諸如陰極射線管(CRT)的顯示器712相連,該顯示器用于顯示信息給計(jì)算機(jī)用戶。包括字母數(shù)字和其他鍵的輸入設(shè)備714與總線702相連,用于向處理器704傳送信息和指令選擇。另一種類型的用戶輸入設(shè)備為光標(biāo)控制器716,例如鼠標(biāo)、跟蹤球、或用于向處理器704傳送方向信息和指令選擇以及控制顯示器712上的光標(biāo)移動(dòng)的光標(biāo)方向鍵。這種輸入設(shè)備通常在兩個(gè)軸,即第一軸(例如X)和第二軸(例如Y)上具有兩個(gè)自由度,這使得該設(shè)備可在平面內(nèi)進(jìn)行定位。
      本發(fā)明涉及用于實(shí)施本文所述技術(shù)的計(jì)算機(jī)系統(tǒng)700的使用。根據(jù)本發(fā)明的一個(gè)實(shí)施例,響應(yīng)處理器704執(zhí)行在主存儲(chǔ)器706中包含的一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列,計(jì)算機(jī)系統(tǒng)700執(zhí)行這些技術(shù)。這種指令可從諸如存儲(chǔ)設(shè)備710的另一計(jì)算機(jī)可讀介質(zhì)被讀入到主存儲(chǔ)器706中。主存儲(chǔ)器706中包含的指令序列的執(zhí)行使得處理器704執(zhí)行本文中所描述的過程步驟。在替換實(shí)施例中,硬件電路可用于替代軟件指令或與軟件指令結(jié)合使用,來(lái)實(shí)施本發(fā)明。因此,本發(fā)明的實(shí)施例不局限于任何具體的硬件電路和軟件的結(jié)合。
      本文中使用的術(shù)語(yǔ)“計(jì)算機(jī)可讀介質(zhì)”指的是參與向處理器704提供要執(zhí)行的指令的所有介質(zhì)。這種介質(zhì)可采取多種形式,包括但不限于非易失性介質(zhì)、易失性介質(zhì)和傳輸介質(zhì)。例如,非易失性介質(zhì)包括諸如存儲(chǔ)設(shè)備710的光盤或磁盤。易失性介質(zhì)包括如主存儲(chǔ)器706的動(dòng)態(tài)存儲(chǔ)器。傳輸介質(zhì)包括同軸電纜、銅線和光纖,其包括構(gòu)成總線702的線。傳輸介質(zhì)同樣可采取聲波或光波的形式,例如在無(wú)線電波和紅外數(shù)據(jù)通信過程中產(chǎn)生的波。
      通常形式的計(jì)算機(jī)可讀介質(zhì)包括,例如,軟盤、軟磁盤、硬盤、磁帶、或其他任何磁介質(zhì)、CD-ROM、其他任何光介質(zhì)、穿孔卡、紙帶、具有孔圖案的其它任何物理介質(zhì)、RAM、PROM、和EPROM、FLASH-EPROM、其它任何存儲(chǔ)器芯片或磁帶、下文所述的載波、或計(jì)算機(jī)可讀的其它任何介質(zhì)。
      各種形式的計(jì)算機(jī)可讀介質(zhì)可涉及用于向處理器704傳送一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列以用于處理。例如,這些指令開始時(shí)可存儲(chǔ)在遠(yuǎn)程計(jì)算機(jī)的磁盤上。該遠(yuǎn)程計(jì)算機(jī)可將這些指令加載到其動(dòng)態(tài)存儲(chǔ)器中,并使用調(diào)制解調(diào)器通過電話線發(fā)送這些指令。計(jì)算機(jī)系統(tǒng)700的本地調(diào)制解調(diào)器可通過電話線接收數(shù)據(jù),并使用紅外發(fā)送器將該數(shù)據(jù)轉(zhuǎn)換為紅外信號(hào)。紅外檢測(cè)器可接收在紅外信號(hào)中攜帶的數(shù)據(jù),并且合適的電路可將數(shù)據(jù)放置在總線702上。總線702將數(shù)據(jù)傳送到主存儲(chǔ)器706,處理器704從該主存儲(chǔ)器706檢索并執(zhí)行這些指令。在被處理器704執(zhí)行之前或之后,主存儲(chǔ)器706收到的指令可選擇性地存儲(chǔ)到存儲(chǔ)設(shè)備710上。
      計(jì)算機(jī)系統(tǒng)700還包括與總線702相連的通信接口718。通信接口718提供了一個(gè)雙向的數(shù)據(jù)通信,其與連接到本地網(wǎng)絡(luò)722的網(wǎng)絡(luò)鏈路720相連。例如,通信接口718可為綜合服務(wù)數(shù)字網(wǎng)(ISDN)卡或調(diào)制解調(diào)器,以提供到相應(yīng)類型電話線的數(shù)據(jù)通信連接。另舉例來(lái)說(shuō),通信接口718可為局域網(wǎng)(LAN)卡,以提供到兼容的LAN的數(shù)據(jù)通信連接。無(wú)線鏈路同樣可以實(shí)施。在任意這樣的實(shí)施例中,通信接口718發(fā)送和接收電信號(hào)、電磁信號(hào)或光信號(hào),這些信號(hào)傳載表征不同類型信息的數(shù)字?jǐn)?shù)據(jù)流。
      網(wǎng)絡(luò)鏈路720通常通過一個(gè)或多個(gè)網(wǎng)絡(luò)向其他數(shù)據(jù)設(shè)備提供數(shù)據(jù)通信。例如,網(wǎng)絡(luò)鏈路720可通過本地網(wǎng)絡(luò)722向主機(jī)724提供連接,或向由互聯(lián)網(wǎng)服務(wù)供應(yīng)商(ISP)726操作的數(shù)據(jù)設(shè)備提供連接。ISP 726又通過目前通常被稱為“互聯(lián)網(wǎng)”728的全球分組數(shù)據(jù)通信網(wǎng)絡(luò)提供數(shù)據(jù)通信服務(wù)。本地網(wǎng)絡(luò)722和互聯(lián)網(wǎng)728都使用傳載數(shù)字?jǐn)?shù)據(jù)流的電信號(hào)、電磁信號(hào)或光信號(hào)。通過各種網(wǎng)絡(luò)的信號(hào)和在網(wǎng)絡(luò)鏈路720上并通過通信接口718的信號(hào)是傳輸信息的載波的典型形式,其中,這些信號(hào)從計(jì)算機(jī)系統(tǒng)700傳送數(shù)字?jǐn)?shù)據(jù),并向計(jì)算機(jī)系統(tǒng)700傳送數(shù)字?jǐn)?shù)據(jù)。
      計(jì)算機(jī)系統(tǒng)700可通過網(wǎng)絡(luò)、網(wǎng)絡(luò)鏈路720和通信接口718發(fā)送信息并接收包括程序代碼的數(shù)據(jù)。在互聯(lián)網(wǎng)情況下,服務(wù)器730可通過互聯(lián)網(wǎng)728、ISP 726、本地網(wǎng)絡(luò)722和通信接口718傳輸用于應(yīng)用程序的請(qǐng)求代碼。
      處理器704接收到代碼后,可執(zhí)行收到的代碼,并/或?qū)⑹盏降拇a存儲(chǔ)在存儲(chǔ)設(shè)備710、或其他的非易失性存儲(chǔ)器中,以用于日后的執(zhí)行。通過這種方式,計(jì)算機(jī)700可獲得載波形式的應(yīng)用程序代碼。
      在前面的說(shuō)明中,參照本發(fā)明的具體實(shí)施例對(duì)其進(jìn)行了描述。然而,很明顯,在不脫離本發(fā)明的精神和范圍的情況下,可對(duì)本發(fā)明進(jìn)行各種修改和改變。因此,說(shuō)明書及附圖應(yīng)視作說(shuō)明性的,而不是進(jìn)行限定。
      權(quán)利要求
      1.一種用于對(duì)發(fā)送方和指定接收方之間的通信進(jìn)行管理的系統(tǒng),所述系統(tǒng)包括多個(gè)邏輯部件,其相互連接,以將發(fā)送方通信從所述發(fā)送方按順序發(fā)送到所述指定接收方;重試部件,為所述多個(gè)部件中的一個(gè),如果所述發(fā)送方通信不能到達(dá)所述指定接收方,則所述重試部件被指定向所述指定接收方重試發(fā)送所述發(fā)送方通信;以及多重部件,其在所述多個(gè)邏輯部件中,通過將所述發(fā)送方通信失敗的指示發(fā)送到所述重試部件,來(lái)對(duì)所述發(fā)送方通信失敗作出響應(yīng),而無(wú)需它們自身向所述指定接收方重試發(fā)送所述發(fā)送方通信。
      2.根據(jù)權(quán)利要求1所述的方法,其中,所述發(fā)送方為客戶,所述接收方為數(shù)據(jù)源,以及所述發(fā)送方通信為對(duì)由所述數(shù)據(jù)源管理的數(shù)據(jù)的請(qǐng)求。
      3.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述重試部件在從所述發(fā)送方到所述指定接收方的通信路徑上,位于所述多重部件之前。
      4.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述重試部件被設(shè)置在服務(wù)器的接口上,所述接口被配置成對(duì)從其他設(shè)備到所述服務(wù)器的請(qǐng)求進(jìn)行處理。
      5.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述重試部件為服務(wù)器的邏輯服務(wù)器部件,其服務(wù)并分派請(qǐng)求到所述指定接收方。
      6.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述重試部件位于負(fù)載平衡設(shè)備上,所述負(fù)載平衡設(shè)備從所述發(fā)送方接收所述發(fā)送方通信,并將所述發(fā)送方通信發(fā)送到服務(wù)器,所述服務(wù)器包括所述多個(gè)邏輯部件中的其他部件。
      7.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述多個(gè)部件中的至少多重部件位于第一服務(wù)器上,以及,其中所述重試部件被配置成使用第二服務(wù)器的部件,來(lái)重試將所述第一通信發(fā)送到所述指定接收方。
      8.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述重試部件訪問拓?fù)鋱D,以確定哪個(gè)所述多重部件正確地運(yùn)行。
      9.根據(jù)權(quán)利要求1所述的系統(tǒng),還包括監(jiān)視器,其位于所述多個(gè)邏輯部件的外部,所述外部監(jiān)視器被配置成檢測(cè)所述發(fā)送方通信是否沒能到達(dá)所述指定接收方,并且當(dāng)所述發(fā)送方通信未能到達(dá)所述指定接收方時(shí),與所述重試部件通信。
      10.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述重試部件在重新發(fā)送所述第一通信之前,確定所述第一通信是否可以重試。
      11.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,如果所述多重邏輯部件中的一個(gè)或多個(gè)指出所述第一通信未能訪問所述指定接收方,所述重試部件為用于重試將所述第一通信發(fā)送到所述指定接收方的惟一部件。
      12.根據(jù)權(quán)利要求10所述的系統(tǒng),其中,所述重試部件至少部分地基于所述發(fā)送方通信的特征,確定所述發(fā)送方通信是否可以重試。
      13.根據(jù)權(quán)利要求10所述的系統(tǒng),其中,所述單個(gè)重試部件和所述多重部件位于服務(wù)器上,以及其中,所述重試部件被配置成,如果任意所述多重部件指示所述第一通信未能訪問所述指定接收方,就與其他服務(wù)器聯(lián)絡(luò)以重新發(fā)送所述第一通信。
      14.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述重試部件位于所述發(fā)送方上,并通過廣域網(wǎng)與所述多重部件通信。
      15.根據(jù)權(quán)利要求10所述的系統(tǒng),其中,所述單個(gè)重試部件在確定所述發(fā)送方通信是否可以重試時(shí),確定所述第一通信是否安全。
      16.根據(jù)權(quán)利要求10所述的系統(tǒng),其中,所述單個(gè)重試部件在確定所述發(fā)送方通信是否可以重試時(shí),對(duì)所述發(fā)送方的標(biāo)識(shí)進(jìn)行確認(rèn)。
      17.根據(jù)權(quán)利要求10所述的系統(tǒng),其中,所述單個(gè)重試部件在確定所述發(fā)送方通信是否可以重試時(shí),對(duì)所述接收方的標(biāo)識(shí)進(jìn)行確認(rèn)。
      18.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述單個(gè)重試部件位于服務(wù)器內(nèi),以及其中,所述單個(gè)重試部件確定所述服務(wù)器中的至少一個(gè)其他的可選部件,并通過將所述第一通信發(fā)送到所述至少一個(gè)其他的可選部件,來(lái)重試將所述發(fā)送方通信發(fā)送到所述指定接收方。
      19.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,在重試發(fā)送所述發(fā)送方通信之前,所述重試部件確定所述發(fā)送方通信之前試圖重試的次數(shù),然后僅當(dāng)所確定次數(shù)小于最大重試閾值時(shí),才重試發(fā)送所述發(fā)送方通信。
      20.一種用于對(duì)網(wǎng)絡(luò)通信進(jìn)行管理的計(jì)算機(jī)實(shí)施方法,所述方法包括在發(fā)送方和指定接收方之間的第一通信路徑上指定一個(gè)重試點(diǎn),所述第一通信路徑包括多個(gè)邏輯部件,其順序地接收并將通信從所述發(fā)送方發(fā)送到所述指定接收方,所述重試點(diǎn)構(gòu)成所述通信路徑的一部分;如果所述發(fā)送方通信不能沿所述重試點(diǎn)之外的所述通信路徑部分訪問所述指定接收方,則向所述重試點(diǎn)發(fā)送關(guān)于所述發(fā)送方通信未能訪問所述指定接收方的指示;然后只從所述重試點(diǎn)重新發(fā)送所述發(fā)送方通信,以訪問所述指定接收方。
      21.根據(jù)權(quán)利要求20所述的方法,其中,響應(yīng)于檢測(cè)到所述發(fā)送方通信未能訪問所述指定接收方,而向所述重試點(diǎn)發(fā)送關(guān)于所述發(fā)送方通信未能訪問所述指定接收方的指示。
      22.根據(jù)權(quán)利要求20所述的方法,其中,所述重試點(diǎn)的指定包括指定邏輯服務(wù)器部件以執(zhí)行重試邏輯。
      23.根據(jù)權(quán)利要求20所述的方法,其中,檢測(cè)發(fā)送方請(qǐng)求未能檢索數(shù)據(jù)包括,檢測(cè)到所述指定接收方是不可用的。
      24.根據(jù)權(quán)利要求20所述的方法,其中,檢測(cè)發(fā)送方請(qǐng)求未能檢索數(shù)據(jù)包括,檢測(cè)到所述通信路徑中的邏輯部件失敗。
      25.根據(jù)權(quán)利要求20所述的方法,還包括在檢測(cè)到所述發(fā)送方請(qǐng)求失敗后,選擇新的發(fā)送方請(qǐng)求通信路徑。
      26.根據(jù)權(quán)利要求20所述的方法,其中,選擇新的通信路徑包括,使用所述重試點(diǎn)處的邏輯來(lái)確定可用的通信路徑,以訪問所述指定接收方。
      27.根據(jù)權(quán)利要求20所述的方法,其中,指定重試點(diǎn)包括,選擇構(gòu)成所述通信路徑的所述邏輯部件的一部分作為所述重試點(diǎn),所述邏輯部件部分包括至少兩個(gè)邏輯部件。
      28.根據(jù)權(quán)利要求27所述的方法,其中,選擇所述邏輯部件的一部分包括,從負(fù)載平衡設(shè)備選擇所述邏輯部件部分,所述負(fù)載平衡設(shè)備在多個(gè)服務(wù)器之間分配負(fù)荷量,所述邏輯部件部分位于所述多個(gè)服務(wù)器中的一個(gè)上。
      29.根據(jù)權(quán)利要求20所述的方法,還包括在重新發(fā)送所述發(fā)送方通信之前,確定所述發(fā)送方通信是否可以重試。
      30.根據(jù)權(quán)利要求29所述的方法,其中,確定所述發(fā)送方通信是否可以重試包括,確定所述發(fā)送方的標(biāo)識(shí),以及如果所述發(fā)送方的標(biāo)識(shí)被指定為允許重新發(fā)送所述發(fā)送方通信,則重新發(fā)送所述發(fā)送方通信。
      31.根據(jù)權(quán)利要求29所述的方法,其中,確定所述發(fā)送方通信是否可以重試包括,確定所述指定接收方的標(biāo)識(shí),以及如果所述指定接收方的標(biāo)識(shí)被指定為允許重新發(fā)送所述發(fā)送方通信,則重新發(fā)送所述發(fā)送方通信。
      32.根據(jù)權(quán)利要求29所述的方法,其中,確定所述發(fā)送方通信是否可以重試包括,如果所述發(fā)送方通信是安全的,則確定所述發(fā)送方通信為不可重試。
      33.根據(jù)權(quán)利要求29所述的方法,其中,確定所述發(fā)送方通信是否可以重試包括,確定所述發(fā)送方通信之前試圖重試的次數(shù),然后,僅當(dāng)所確定次數(shù)小于最大重試閾值時(shí),才重試發(fā)送所述發(fā)送方通信。
      34.一種用于對(duì)網(wǎng)絡(luò)通信進(jìn)行處理的計(jì)算機(jī)實(shí)施方法,所述方法包括在發(fā)送方和指定接收方之間的第一通信路徑上指定重試點(diǎn),所述第一通信路徑包括多個(gè)邏輯部件,其順序地接收并將通信從所述發(fā)送方發(fā)送到所述指定接收方,所述重試點(diǎn)構(gòu)成所述通信路徑的一部分;如果所述發(fā)送方通信不能沿所述重試點(diǎn)和所述指定接收方之間的所述通信路徑部分訪問所述指定接收方,則向所述重試點(diǎn)發(fā)送關(guān)于所述發(fā)送方通信未能訪問所述指定接收方的指示;確定所述發(fā)送方通信是否可以重試;以及如果所述發(fā)送方請(qǐng)求可以重試,則從所述重試點(diǎn)重新發(fā)送所述發(fā)送方通信以訪問所述指定接收方。
      35.根據(jù)權(quán)利要求34所述的方法,其中,確定所述發(fā)送方通信是否可以重試包括,將所述發(fā)送方通信的特征與指示所述發(fā)送方通信是否可以重試的相應(yīng)指示進(jìn)行參考。
      36.根據(jù)權(quán)利要求34所述的方法,其中,在發(fā)送方和指定接收方之間的第一通信路徑上指定重試點(diǎn)包括,為所述發(fā)送方選定邏輯服務(wù)器部件作為所述重試點(diǎn)。
      37.根據(jù)權(quán)利要求34所述的方法,其中,重新發(fā)送所述發(fā)送方請(qǐng)求以訪問所述指定接收方包括,使用不同的通信路徑將所述發(fā)送方請(qǐng)求重新發(fā)送到所述指定接收方。
      38.根據(jù)權(quán)利要求37所述的方法,其中,使用不同的通信路徑包括,訪問位于所述通信路徑之外的通信設(shè)備,以將所述發(fā)送方通信發(fā)送到所述指定接收方。
      39.根據(jù)權(quán)利要求34所述的方法,其中,確定所述發(fā)送方通信是否可以重試包括,確定所述發(fā)送方通信是否是安全的。
      40.根據(jù)權(quán)利要求34所述的方法,其中,向所述重試點(diǎn)發(fā)送關(guān)于所述發(fā)送方通信未能訪問所述指定接收方的指示包括,在所述重試點(diǎn)和所述指定接收方之間的多個(gè)部件中的一個(gè)上,檢測(cè)所述發(fā)送方通信是否未能訪問所述指定接收方。
      41.根據(jù)權(quán)利要求34所述的方法,其中,僅從所述重試點(diǎn)重新發(fā)送所述發(fā)送方通信以訪問所述指定接收方包括,選擇一個(gè)新的通信路徑,其至少部分地位于在所述重試點(diǎn)的對(duì)應(yīng)設(shè)備之外的設(shè)備之上。
      42.根據(jù)權(quán)利要求41所述的方法,其中,確定所述發(fā)送方通信是否可以重試包括,確定所述新的通信路徑是否要被使用。
      43.根據(jù)權(quán)利要求42所述的方法,還包括確定所述發(fā)送方通信是否安全,然后,如果所述新的通信路徑要被用來(lái)重新發(fā)送所述發(fā)送方通信,則確定所述發(fā)送方通信是不可重試的。
      44.根據(jù)權(quán)利要求34所述的方法,其中,確定所述發(fā)送方通信是否可以重試包括,確定所述發(fā)送方通信是否安全,并且,確定是否重新發(fā)送所述發(fā)送方通信以訪問所述指定接收方包括,使用在所述通信路徑外部的通信設(shè)備。
      45.根據(jù)權(quán)利要求34所述的方法,其中,確定所述發(fā)送方通信是否可以重試包括,確定所述發(fā)送方的標(biāo)識(shí),以及其中,重新發(fā)送所述發(fā)送方通信以訪問所述指定接收方包括,如果所述發(fā)送方的標(biāo)識(shí)允許重新發(fā)送所述發(fā)送方通信,則重新發(fā)送所述發(fā)送方通信。
      46.根據(jù)權(quán)利要求34所述的方法,其中,確定所述發(fā)送方通信是否可以重試包括,確定所述指定接收方的標(biāo)識(shí),以及其中,重新發(fā)送所述發(fā)送方通信以訪問所述指定接收方包括,如果所述指定接收方的標(biāo)識(shí)允許重新發(fā)送所述發(fā)送方通信,則重新發(fā)送所述發(fā)送方通信。
      47.一種用于對(duì)發(fā)送方和指定接收方之間的通信進(jìn)行管理的系統(tǒng),所述系統(tǒng)在包括多個(gè)邏輯部件的設(shè)備上得以實(shí)施,所述多個(gè)邏輯部件按順序結(jié)合以將發(fā)送方通信發(fā)送到所述指定接收方,所述系統(tǒng)包括存儲(chǔ)器,其存儲(chǔ)數(shù)據(jù),所述數(shù)據(jù)確定一個(gè)或多個(gè)特征,并指出具有所述一個(gè)或多個(gè)特征的通信是否可以重試;以及重試部件,其是所述多個(gè)邏輯部件中的一個(gè),對(duì)所述發(fā)送方通信的特征進(jìn)行確定,以及如果所述發(fā)送方通信未能訪問所述指定接收方,其訪問所述存儲(chǔ)器,以確定是否重試發(fā)送所述發(fā)送方通信。
      48.根據(jù)權(quán)利要求47所述的系統(tǒng),其中,所述存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)通過將指示所述發(fā)送方通信是否安全的特征與指示所述發(fā)送方通信是否可以重試的相應(yīng)指示進(jìn)行參考,來(lái)指示所述發(fā)送方通信是否可以重試。
      49.根據(jù)權(quán)利要求47所述的系統(tǒng),其中,所述存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)通過將所述發(fā)送方通信的操作與指示所述發(fā)送方通信是否可以重試的相應(yīng)指示進(jìn)行參考,來(lái)指示所述發(fā)送方通信是否可以重試。
      50.根據(jù)權(quán)利要求47所述的系統(tǒng),其中,所述重試部件被配置成為所述服務(wù)器唯一地重試選擇未能訪問所述指定接收方的發(fā)送方通信。
      51.根據(jù)權(quán)利要求50所述的系統(tǒng),其中,所述重試部件被配置成從一組部件中選擇部件組合,所述一組部件包括所述設(shè)備的多個(gè)邏輯部件,其中,所述一組部件中的至少一些部件位于所述設(shè)備外部。
      52.一種帶有用于管理網(wǎng)絡(luò)通信的一個(gè)或多個(gè)指令序列的計(jì)算機(jī)可讀介質(zhì),其中,由一個(gè)或多個(gè)處理器對(duì)所述一個(gè)或多個(gè)指令序列進(jìn)行的執(zhí)行使得所述一個(gè)或多個(gè)處理器執(zhí)行以下步驟在發(fā)送方和指定接收方之間的第一通信路徑上指定重試點(diǎn),所述第一通信路徑包括多個(gè)邏輯部件,其順序地接收并將通信從所述發(fā)送方發(fā)送到所述指定接收方,所述重試點(diǎn)構(gòu)成所述通信路徑的一部分;如果所述發(fā)送方通信不能沿所述重試點(diǎn)之外的所述通信路徑部分訪問所述指定接收方,則向所述重試點(diǎn)發(fā)送關(guān)于所述發(fā)送方通信未能訪問所述指定接收方的指示;以及僅僅從所述重試點(diǎn)重新發(fā)送所述發(fā)送方通信,以訪問所述指定接收方。
      53.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀介質(zhì),其中,所述用于向所述重試點(diǎn)發(fā)送關(guān)于所述發(fā)送方通信未能訪問所述指定接收方的指示的指令包括,用于檢測(cè)所述發(fā)送方通信未能訪問所述指定接收方的指令。
      54.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀介質(zhì),其中,所述用于指定重試點(diǎn)的指令包括,使用邏輯服務(wù)器部件以執(zhí)行所述重試邏輯的指令。
      55.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀介質(zhì),其中,所述用于檢測(cè)發(fā)送方請(qǐng)求未能檢索數(shù)據(jù)的指令包括,用于檢測(cè)所述指定接收方是不可用的指令。
      56.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀介質(zhì),其中,所述用于檢測(cè)發(fā)送方通信未能檢索數(shù)據(jù)的指令包括,用于檢測(cè)所述通信路徑中的邏輯部件失敗的指令。
      57.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀介質(zhì),還包括在檢測(cè)到所述發(fā)送方請(qǐng)求失敗之后,為所述發(fā)送方請(qǐng)求選擇新的通信路徑的指令。
      58.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀介質(zhì),其中,所述用于選擇新的通信路徑的指令包括,使用所述重試點(diǎn)處的邏輯以確定用于訪問所述指定接收方的可用通信路徑的指令。
      59.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀介質(zhì),其中,所述用于指定重試點(diǎn)的指令包括,用于選擇構(gòu)成所述通信路徑的所述邏輯部件部分作為所述重試點(diǎn)的指令。
      60.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀介質(zhì),其中,所述用于選擇所述邏輯部件部分的指令包括,為多個(gè)服務(wù)器選擇負(fù)載平衡設(shè)備的指令,所述多個(gè)服務(wù)器至少包括所述重試點(diǎn)所在的第一服務(wù)器,以及另一服務(wù)器,所述重試點(diǎn)可訪問所述另一服務(wù)器,以將所述發(fā)送方通信發(fā)送到所述指定接收方。
      61.根據(jù)權(quán)利要求60所述的計(jì)算機(jī)可讀介質(zhì),還包括用于在重新發(fā)送所述發(fā)送方通信之前,確定所述發(fā)送方通信是否可以重試的指令。
      62.根據(jù)權(quán)利要求61所述的計(jì)算機(jī)可讀介質(zhì),其中,用于確定所述發(fā)送方通信是否可以重試的指令包括,用于確定所述發(fā)送方的標(biāo)識(shí)的指令,以及用于如果所述發(fā)送方的標(biāo)識(shí)被指定為允許重新發(fā)送所述發(fā)送方通信、重新發(fā)送所述發(fā)送方通信的指令。
      63.根據(jù)權(quán)利要求61所述的計(jì)算機(jī)可讀介質(zhì),其中,用于確定所述發(fā)送方通信是否可以重試的指令包括,用于確定所述指定接收方的標(biāo)識(shí)的指令,以及用于如果所述指定接收方的標(biāo)識(shí)被指定為允許重新發(fā)送所述發(fā)送方通信、重新發(fā)送所述發(fā)送方通信的指令。
      64.根據(jù)權(quán)利要求61所述的計(jì)算機(jī)可讀介質(zhì),其中,用于確定所述發(fā)送方通信是否可以重試的指令包括,用于如果所述發(fā)送方通信是安全的、則確定所述發(fā)送方通信是不可重試的指令。
      65.一種帶有用于管理網(wǎng)絡(luò)通信的一個(gè)或多個(gè)指令序列的計(jì)算機(jī)可讀介質(zhì),其中,由一個(gè)或多個(gè)處理器對(duì)所述一個(gè)或多個(gè)指令序列進(jìn)行的執(zhí)行使得所述一個(gè)或多個(gè)處理器執(zhí)行以下步驟在發(fā)送方和指定接收方之間的第一通信路徑上指定重試點(diǎn),所述第一通信路徑包括多個(gè)邏輯部件,其順序地接收并將通信從所述發(fā)送方發(fā)送到所述指定接收方,所述重試點(diǎn)構(gòu)成所述通信路徑的一部分;如果所述發(fā)送方通信不能沿所述重試點(diǎn)和所述指定接收方之間的所述通信路徑部分訪問所述指定接收方,則向所述重試點(diǎn)發(fā)送關(guān)于所述發(fā)送方通信未能訪問所述指定接收方的指示;確定所述發(fā)送方通信是否可以重試;以及僅從所述重試點(diǎn),并僅當(dāng)所述發(fā)送方請(qǐng)求可以重試時(shí),重新發(fā)送所述發(fā)送方通信以訪問所述指定接收方。
      66.根據(jù)權(quán)利要求65所述的計(jì)算機(jī)可讀介質(zhì),其中,用于在發(fā)送方和指定接收方之間的第一通信路徑上確定重試點(diǎn)的指令包括,用于為所述發(fā)送方選擇邏輯服務(wù)器部件作為所述重試點(diǎn)的指令。
      67.根據(jù)權(quán)利要求65所述的計(jì)算機(jī)可讀介質(zhì),其中,用于重新發(fā)送所述發(fā)送方請(qǐng)求以訪問所述指定接收方的指令包括,使用不同的通信路徑將所述發(fā)送方請(qǐng)求重新發(fā)送到所述指定接收方的指令。
      68.根據(jù)權(quán)利要求67所述的計(jì)算機(jī)可讀介質(zhì),其中,使用不同的通信路徑的指令包括,用于訪問在所述通信路徑外部的通信設(shè)備以將所述發(fā)送方通信發(fā)送到所述指定接收方的指令。
      69.根據(jù)權(quán)利要求65所述的計(jì)算機(jī)可讀介質(zhì),其中,用于確定所述發(fā)送方通信是否可以重試的指令包括,用于確定所述發(fā)送方通信是否安全的指令。
      70.根據(jù)權(quán)利要求65所述的計(jì)算機(jī)可讀介質(zhì),其中,用于向所述重試點(diǎn)發(fā)送關(guān)于所述發(fā)送方通信未能訪問所述指定接收方的指示的指令包括,用于在位于所述重試點(diǎn)和所述指定接收方之間的所述多個(gè)部件上,檢測(cè)所述發(fā)送方通信是否未能訪問所述指定接收方的指令。
      71.根據(jù)權(quán)利要求65所述的計(jì)算機(jī)可讀介質(zhì),其中,用于僅從所述重試點(diǎn)重新發(fā)送所述發(fā)送方通信以訪問所述指定接收方的指令包括,用于選擇新的通信路徑的指令,所述新的通信路徑至少部分地位于所述重試點(diǎn)所在的設(shè)備之外的設(shè)備之上。
      72.根據(jù)權(quán)利要求71所述的計(jì)算機(jī)可讀介質(zhì),其中,用于確定所述發(fā)送方通信是否可以重試的指令包括,用于確定所述新的通信路徑是否要被使用的指令。
      73.根據(jù)權(quán)利要求72所述的計(jì)算機(jī)可讀介質(zhì),其中,用于確定所述發(fā)送方通信是否可以重試的指令包括,用于確定所述發(fā)送方通信是否安全的指令,以及用于如果所述新的通信路徑要被用來(lái)重新發(fā)送所述發(fā)送方通信,確定所述發(fā)送方通信不可重試的指令。
      74.根據(jù)權(quán)利要求73所述的計(jì)算機(jī)可讀介質(zhì),其中,用于確定所述發(fā)送方通信是否可以重試的指令包括,用于確定所述發(fā)送方通信是否安全的指令,以及用于確定是否重新發(fā)送所述發(fā)送方通信以訪問所述指定接收方的指令包括,使用通信路徑之外的通信設(shè)備。
      75.根據(jù)權(quán)利要求73所述的計(jì)算機(jī)可讀介質(zhì),其中,用于確定所述發(fā)送方通信是否可以重試的指令包括,用于確定所述發(fā)送方的標(biāo)識(shí)的指令,以及其中,用于重新發(fā)送所述發(fā)送方通信以訪問所述指定接收方的指令包括,用于如果所述發(fā)送方的標(biāo)識(shí)允許重新發(fā)送所述發(fā)送方通信、則重新發(fā)送所述發(fā)送方通信的指令。
      76.根據(jù)權(quán)利要求73所述的計(jì)算機(jī)可讀介質(zhì),其中,用于確定所述發(fā)送方通信是否可以重試的指令包括,用于確定所述指定接收方的標(biāo)識(shí)的指令,以及其中,用于重新發(fā)送所述發(fā)送方通信以訪問所述指定接收方的通信包括,用于如果所述指定接收方的標(biāo)識(shí)允許重新發(fā)送所述發(fā)送方通信、則重新發(fā)送所述發(fā)送方通信的指令。
      全文摘要
      本發(fā)明提供了一種對(duì)客戶和數(shù)據(jù)源之間的重試通信進(jìn)行管理的系統(tǒng)。所述系統(tǒng)包括多個(gè)邏輯部件,其按順序結(jié)合以構(gòu)成用于客戶通信的通信路徑。在所述通信路徑中的所述部件中的至少一個(gè)被指定為重試部件。所述重試部件為所述通信路徑中的所有部件重試失敗的客戶通信。
      文檔編號(hào)G06F13/00GK1647482SQ03807855
      公開日2005年7月27日 申請(qǐng)日期2003年3月21日 優(yōu)先權(quán)日2002年4月5日
      發(fā)明者胡維民, 胡安·洛艾薩 申請(qǐng)人:甲骨文國(guó)際公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1