專利名稱:用于檢驗(yàn)對(duì)請(qǐng)求的不可靠子系統(tǒng)響應(yīng)的完整性的通信信道內(nèi)插器、方法和程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域:
本發(fā)明提供了 一種用于檢驗(yàn)子系統(tǒng)響應(yīng)的完整性的方法、系統(tǒng)和計(jì)算 機(jī)程序。
背景技術(shù):
在高可用性計(jì)算環(huán)境中,有時(shí)需要差錯(cuò)檢測(cè)以便比較來自實(shí)現(xiàn)相同計(jì) 算任務(wù)的兩個(gè)獨(dú)立重復(fù)子系統(tǒng)的響應(yīng)。通常以相對(duì)簡(jiǎn)單的方式,通過鎖步
(lockstep)運(yùn)行兩個(gè)獨(dú)立的子系統(tǒng),或者更一般地,通過保證由兩個(gè)子系 統(tǒng)輸出的應(yīng)答具有相同的順序來實(shí)現(xiàn)該目的。然而,在實(shí)現(xiàn)計(jì)算密集操作 的多任務(wù)處理子系統(tǒng)的情況下,使用鎖步方法來保證每個(gè)任務(wù)的完成順序 可能是有困難的。
因而,在此給出了一種方法來解決對(duì)兩個(gè)獨(dú)立子系統(tǒng)的輸出(在與其 順序無關(guān)的情況下)進(jìn)行比較的問題。
發(fā)明內(nèi)容
提供了一種檢驗(yàn)子系統(tǒng)響應(yīng)的完整性的方法。該方法包括在通信信 道處從至少兩個(gè)重復(fù)子系統(tǒng)的第 一子系統(tǒng)接收第 一響應(yīng),所述第 一響應(yīng)響 應(yīng)于,iLl送到所述至少兩個(gè)重復(fù)子系統(tǒng)中每個(gè)子系統(tǒng)的公共請(qǐng)求,并且其 中所述至少兩個(gè)重復(fù)子系統(tǒng)向所述通信信道輸出響應(yīng);在所述通信信道內(nèi) 確定所述第 一子系統(tǒng)的第 一響應(yīng)的第 一校驗(yàn)和;在所述通信信道處從響應(yīng) 于所述公共請(qǐng)求的所述至少兩個(gè)重復(fù)子系統(tǒng)的第二子系統(tǒng)接收第二響應(yīng); 確定所述至少兩個(gè)重復(fù)子系統(tǒng)的第二子系統(tǒng)的第二響應(yīng)的第二校驗(yàn)和;以 及比較所述第一校驗(yàn)和與所述第二校驗(yàn)和,并且如果匹配,則僅將所述第一響應(yīng)和所述第二響應(yīng)之一作為對(duì)所述7>共請(qǐng)求的響應(yīng)而從所述通信信道 進(jìn)行轉(zhuǎn)發(fā)。
文中所公開的解決方案一般涉及對(duì)來自響應(yīng)于請(qǐng)求的不可靠子系統(tǒng)的 無差錯(cuò)結(jié)果的傳遞,并且更具體而言,涉及一種依照優(yōu)選實(shí)施例的通信信
道內(nèi)插器(interposer)、方法和程序產(chǎn)品,用于檢驗(yàn)從耦合于通信信道的 重復(fù)非無差錯(cuò)(non-error-free )子系統(tǒng)接收的對(duì)公共請(qǐng)求的響應(yīng)的完整性。 在另一方面,提供了一種用于檢驗(yàn)子系統(tǒng)響應(yīng)的完整性的系統(tǒng)。該系 統(tǒng)包括置于耦合于至少兩個(gè)重復(fù)子系統(tǒng)的通信信道處的內(nèi)插器。所述內(nèi)插 器包括輸入調(diào)度器、校驗(yàn)和生成器、存儲(chǔ)器、校驗(yàn)和檢驗(yàn)器以及多路復(fù)用 控制器。所述輸入調(diào)度器將公共請(qǐng)求并行地提供給所述至少兩個(gè)重復(fù)子系 統(tǒng)。所述校驗(yàn)和生成器根據(jù)所接收的響應(yīng)于所述公共請(qǐng)求的、所述至少兩 個(gè)重復(fù)子系統(tǒng)的第 一子系統(tǒng)的第一響應(yīng)來生成第 一校驗(yàn)和,并且才艮據(jù)從所 述至少兩個(gè)重復(fù)子系統(tǒng)的第二子系統(tǒng)接收的響應(yīng)于所述7>共請(qǐng)求的第二響 應(yīng)來生成第二校驗(yàn)和。所述存儲(chǔ)器臨時(shí)存儲(chǔ)所述第一校驗(yàn)和,直到接收到 所述第二響應(yīng)。所述校驗(yàn)和檢驗(yàn)器比較所述第 一校驗(yàn)和與所述第二校驗(yàn)和, 并且如果匹配,則向所述多路復(fù)用控制器輸出匹配控制信號(hào)。響應(yīng)于來自 所述校驗(yàn)和檢驗(yàn)器的匹配控制信號(hào)輸出,所述多路復(fù)用控制器僅將所述第 一響應(yīng)和所述第二響應(yīng)之一作為對(duì)所述公共請(qǐng)求的響應(yīng)而從所述通信信道 行輸出。
在又一方面,提供了計(jì)算機(jī)可讀的至少一個(gè)程序存儲(chǔ)設(shè)備,其有形地 含有所述計(jì)算機(jī)可執(zhí)行的指令的至少一個(gè)程序,以便實(shí)現(xiàn)檢驗(yàn)子系統(tǒng)響應(yīng) 的完整性的方法。該方法包括在通信信道處從至少兩個(gè)重復(fù)子系統(tǒng)的第 一子系統(tǒng)接收第 一響應(yīng),所述第 一響應(yīng)響應(yīng)于祐發(fā)送到所述至少兩個(gè)重復(fù) 子系統(tǒng)中每個(gè)子系統(tǒng)的7>共請(qǐng)求,并且其中所述至少兩個(gè)重復(fù)子系統(tǒng)向所 述通信信道輸出響應(yīng);在所述通信信道內(nèi)確定所述第 一子系統(tǒng)的第 一響應(yīng) 的第 一校驗(yàn)和;在所述通信信道處從響應(yīng)于所述7>共請(qǐng)求的所述至少兩個(gè) 重復(fù)子系統(tǒng)的第二子系統(tǒng)接收第二響應(yīng);確定所述至少兩個(gè)重復(fù)子系統(tǒng)的 第二子系統(tǒng)的第二響應(yīng)的第二校驗(yàn)和;以及比較所述第一校驗(yàn)和與所述第二校驗(yàn)和,并且如果匹配,則僅將所述第一響應(yīng)和所述第二響應(yīng)之一作為 對(duì)所述公共請(qǐng)求的響應(yīng)而從所述通信信道進(jìn)行轉(zhuǎn)發(fā)。
現(xiàn)在將僅通過例子的方式并參照附圖來描述本發(fā)明的實(shí)施例,其中 圖1是在其中主機(jī)經(jīng)由通信信道耦合于非無差錯(cuò)系統(tǒng)的計(jì)算環(huán)境的簡(jiǎn)
單示圖2依照本發(fā)明的一個(gè)實(shí)施例描繪了耦合至少兩個(gè)重復(fù)子系統(tǒng)和主 機(jī),并且實(shí)現(xiàn)調(diào)JL/交叉校驗(yàn)內(nèi)插器的通信信道;
圖3是依照本發(fā)明的一個(gè)實(shí)施例的內(nèi)插器處理的流程圖,其用于檢驗(yàn) 來自異步運(yùn)行的至少兩個(gè)并聯(lián)的重復(fù)子系統(tǒng)的響應(yīng)的完整性;
圖4是依照本發(fā)明的可選實(shí)施例的內(nèi)插器處理的流程圖,其用于檢驗(yàn) 來自異步運(yùn)行的三個(gè)并聯(lián)的重復(fù)子系統(tǒng)的響應(yīng)的完整性;以及
圖5是依照本發(fā)明的可選實(shí)施例的具有調(diào)JL/交叉校驗(yàn)內(nèi)插器的通信信 道的示意圖。
具體實(shí)施例方式
一般而言,文中所提供的是用于交叉校驗(yàn)來自實(shí)現(xiàn)相同任務(wù)(但不一 定具有相同的完成順序)的兩個(gè)或更多的獨(dú)立重復(fù)子系統(tǒng)的響應(yīng)的通信信 道實(shí)現(xiàn)的設(shè)施。在每個(gè)任務(wù)的平均處理時(shí)間明顯大于獨(dú)立子系統(tǒng)之間引入 的延遲的情況下,例如,對(duì)于從幾個(gè)時(shí)鐘周期變化到若干時(shí)鐘周期的延遲, 該方法特別有利。如文中所使用的,術(shù)語"子系統(tǒng)"指的是以硬件、軟件 和/或固件實(shí)現(xiàn)的任何系統(tǒng)、邏輯、功能、處理塊等,并且其提供對(duì)請(qǐng)求的 響應(yīng)。此外,"校驗(yàn)和"的意思是從來自多個(gè)獨(dú)立子系統(tǒng)的子系統(tǒng)的結(jié)果 輸出而導(dǎo)出的任何校驗(yàn)和、簽名、CRC值等。在所討論的例子中,假設(shè)重 復(fù)子系統(tǒng)是不可靠(即,非無差錯(cuò))的子系統(tǒng),也就是說,是可能對(duì)發(fā)生 在輸出響應(yīng)中的軟或瞬態(tài)差錯(cuò)敏感的子系統(tǒng)。4艮多市售子系統(tǒng)是對(duì)出現(xiàn)例 如由于一個(gè)或多個(gè)a粒子對(duì)子系統(tǒng)的撞擊(bombardment)而導(dǎo)致的這樣的差錯(cuò)敏感的非無差錯(cuò)子系統(tǒng)(即,非差錯(cuò)校驗(yàn)系統(tǒng))。
圖1描繪了計(jì)算環(huán)境100的一個(gè)實(shí)施例,其中主計(jì)算機(jī)110通過通信 信道或總線130耦合于單個(gè)非無差錯(cuò)系統(tǒng)120。在該環(huán)境中,如果在來自 系統(tǒng)120的響應(yīng)輸出中發(fā)生瞬態(tài)差錯(cuò),那么主機(jī)110就不能夠辨別差錯(cuò)的 存在。因而,這樣的計(jì)算環(huán)境配置將不適于高可用性計(jì)算環(huán)境。
圖2依照本發(fā)明的一個(gè)實(shí)施例描繪了計(jì)算環(huán)境200。在該實(shí)施例中, 多個(gè)獨(dú)立的重復(fù)(并且各自是非無差錯(cuò))子系統(tǒng)220通過單個(gè)通信信道230 向(例如,運(yùn)行于主機(jī)210上的)外部應(yīng)用提供數(shù)據(jù)。內(nèi)插器240 (例如 通信適配器)被配備在通信信道內(nèi)或與通信信道相關(guān)聯(lián),以便透明地檢驗(yàn) 對(duì)例如從主機(jī)210接收的請(qǐng)求的響應(yīng)的完整性。可以將該請(qǐng)求作為>^共請(qǐng) 求而由內(nèi)插器240內(nèi)的輸入路徑控制邏輯245 (連同請(qǐng)求操作標(biāo)識(shí)符)并 行地透明轉(zhuǎn)發(fā)至每個(gè)獨(dú)立的重復(fù)子系統(tǒng)220。數(shù)據(jù)源子系統(tǒng)220對(duì)相同的 輸入(即,請(qǐng)求)獨(dú)立地作出反應(yīng)。希望這兩個(gè)或更多的重復(fù)子系統(tǒng)在沒 有差錯(cuò)的情況下根據(jù)相同的請(qǐng)求生成相同的響應(yīng)或結(jié)果。請(qǐng)求操作標(biāo)識(shí)符 可以與用戶的請(qǐng)求一起到達(dá)或者可以由內(nèi)插器240透明地生成并與并行轉(zhuǎn) 發(fā)至重復(fù)子系統(tǒng)的公共請(qǐng)求相關(guān)聯(lián)。此外,從用戶接收的請(qǐng)求報(bào)頭中的單 個(gè)比特可以用來表示對(duì)請(qǐng)求的響應(yīng)是否要經(jīng)歷如文中所公開的交叉校驗(yàn)。
每個(gè)輸入請(qǐng)求都被假設(shè)從每個(gè)子系統(tǒng)生成了響應(yīng),并且將要通過完整 性檢驗(yàn)通信信道將每個(gè)響應(yīng)的一個(gè)準(zhǔn)確無差錯(cuò)副本傳遞至請(qǐng)求應(yīng)用(即,
請(qǐng)求方)。信il/內(nèi)插器通過匹配請(qǐng)求操作標(biāo)識(shí)符并且在校驗(yàn)和生成器250 中計(jì)算第一響應(yīng)的特征校驗(yàn)和,以及通過校驗(yàn)和檢驗(yàn)器260來檢驗(yàn)所有后
續(xù)響應(yīng)具有相同的校驗(yàn)和,從而識(shí)別對(duì)相同輸入的響應(yīng)是否是相同的。第 一校驗(yàn)和可以臨時(shí)存儲(chǔ)在與內(nèi)插器240關(guān)聯(lián)的存儲(chǔ)陣列255中。如果對(duì)相 同輸入請(qǐng)求的后續(xù)響應(yīng)之間存在差別,那么內(nèi)插器向外部應(yīng)用指示差錯(cuò)條 件(數(shù)據(jù)失配)。通過由校驗(yàn)和檢驗(yàn)器260生成的控制信號(hào),可以經(jīng)由多 路復(fù)用控制器280來發(fā)送該差錯(cuò)消息270,用于返回作為響應(yīng)于主機(jī)210 所生成的請(qǐng)求的輸出。如果對(duì)相同請(qǐng)求的所有響應(yīng)都相同,那么內(nèi)插器通 過將例如從第二響應(yīng)子系統(tǒng)220接收的第二響應(yīng)作為對(duì)從主機(jī)210接收的公共請(qǐng)求的響應(yīng)進(jìn)行輸出來標(biāo)識(shí)抬r驗(yàn)的成功完成。這可以通過在未決校驗(yàn) 和檢驗(yàn)的內(nèi)插器內(nèi)將第二響應(yīng)緩沖于FIFO 2卯中來實(shí)現(xiàn)。在下面所描述 的一個(gè)應(yīng)用中,在生成對(duì)應(yīng)于第一響應(yīng)的第一校驗(yàn)和之后,丟棄來自第一 響應(yīng)子系統(tǒng)220的第一響應(yīng)。因而,僅有一個(gè)來自兩個(gè)或更多重復(fù)子系統(tǒng) 的響應(yīng)需要在未決對(duì)轉(zhuǎn)發(fā)至請(qǐng)求方的響應(yīng)的檢驗(yàn)的內(nèi)插器中被緩沖。所有 其它的響應(yīng)都可以,皮丟棄。
作為特殊的情況,內(nèi)插器可以管理其中響應(yīng)可以含有變化的請(qǐng)求,向 請(qǐng)求應(yīng)用返回唯一的響應(yīng)。假設(shè)所有的響應(yīng)都在相同的機(jī)制(即,子系統(tǒng)) 上生成,那么響應(yīng)應(yīng)當(dāng)在統(tǒng)計(jì)上等同,并且僅返回一個(gè)(隨機(jī)選擇),這 在邏輯上等同于來自單個(gè)響應(yīng)器的結(jié)果。
圖3是依照本發(fā)明的一個(gè)實(shí)施例的由通信信道內(nèi)插器實(shí)現(xiàn)的處理的流 程圖。調(diào)度器將相同的或公共請(qǐng)求(以及請(qǐng)求操作標(biāo)識(shí)符)調(diào)度300到多 個(gè)重復(fù)子系統(tǒng)310,在該例中,多個(gè)重復(fù)子系統(tǒng)310包括異步運(yùn)行的兩個(gè) 獨(dú)立的非無差錯(cuò)子系統(tǒng)。通信信道內(nèi)的內(nèi)插器320等待子系統(tǒng)輸出325, 并且當(dāng)從子系統(tǒng)接收到響應(yīng)(或輸出)的時(shí)候,內(nèi)插器確定子系統(tǒng)響應(yīng)是 否具有已從重復(fù)子系統(tǒng)之一接收到的匹配的操作標(biāo)識(shí)符330。
假設(shè)這是對(duì)公共請(qǐng)求的第一響應(yīng),那么內(nèi)插器計(jì)算第一響應(yīng)的第一校 驗(yàn)和335,并且將第一校驗(yàn)和以及該請(qǐng)求的操作標(biāo)識(shí)符保存在臨時(shí)存儲(chǔ)器 中340。然后丟棄作為子系統(tǒng)輸出而接收的第一響應(yīng)345,并且內(nèi)插器返回 到等待狀態(tài)325。在從第二子系統(tǒng)310接收到第二響應(yīng)的情況下,內(nèi)插器 確定第二響應(yīng)是否具有已從重復(fù)子系統(tǒng)接收到的匹配的操作標(biāo)識(shí)符330。 如果這是第二響應(yīng),那么應(yīng)答為"是",并且通過初始計(jì)算第二響應(yīng)的第 二校驗(yàn)和350,以及然后經(jīng)由保存在臨時(shí)存儲(chǔ)器中的操作標(biāo)識(shí)符標(biāo)識(shí)出第 一校驗(yàn)和并且比較第一校驗(yàn)和與第二校驗(yàn)和355,內(nèi)插器檢驗(yàn)出校驗(yàn)和是 相同的。假設(shè)存在失配360,那么將差錯(cuò)消息發(fā)送給發(fā)起當(dāng)前操作標(biāo)識(shí)符 的請(qǐng)求的用戶(或請(qǐng)求方)365。否則,僅將第二響應(yīng)作為響應(yīng)發(fā)送370 給^L^請(qǐng)求的用戶375。
在可選的實(shí)現(xiàn)中,至少三個(gè)重復(fù)子系統(tǒng)可以與如文中所提出的完整性檢驗(yàn)通信信道進(jìn)行通信。在這樣的實(shí)現(xiàn)中, 一旦兩個(gè)子系統(tǒng)提供了相同的 響應(yīng),便把對(duì)公共請(qǐng)求的子系統(tǒng)響應(yīng)發(fā)送給用戶/請(qǐng)求方。在正常的操作中, 來自最初兩個(gè)子系統(tǒng)的響應(yīng)將匹配,并且僅當(dāng)?shù)谌酉到y(tǒng)響應(yīng)不同于最初 兩個(gè)子系統(tǒng)時(shí),采用來自第三子系統(tǒng)的響應(yīng)來發(fā)送警告。在來自最初兩個(gè) 子系統(tǒng)的輸出失配的情況下,便在向用戶發(fā)送對(duì)公共請(qǐng)求的響應(yīng)之前,內(nèi) 插器等待第三響應(yīng)(即,如果至少兩個(gè)響應(yīng)匹配),并且在失效的時(shí)候確 定是哪個(gè)子系統(tǒng)。如果所有的子系統(tǒng)都輸出不同的響應(yīng),那便遇到了嚴(yán)重 的差錯(cuò)情況,其中三個(gè)子系統(tǒng)中的兩個(gè)必然失效。取決于差錯(cuò)恢復(fù)方法, 失效的子系統(tǒng)可以被脫機(jī)或被替換。
圖4依照本發(fā)明的一個(gè)實(shí)施例描繪了該可選內(nèi)插器的處理。在該實(shí)施 例中,三個(gè)獨(dú)立的子系統(tǒng)410是重復(fù)的,并且從調(diào)度器400并行地接收公 共請(qǐng)求(以及操作標(biāo)識(shí)符)。這些子系統(tǒng)耦合于公共的通信信道,在公共 的通信信道中實(shí)現(xiàn)內(nèi)插器420,用于檢驗(yàn)從子系統(tǒng)接收到的響應(yīng)的完整性。 內(nèi)插器420等待子系統(tǒng)輸出或響應(yīng)425。
當(dāng)從一個(gè)子系統(tǒng)410收到第一響應(yīng)時(shí),內(nèi)插器計(jì)算第一校驗(yàn)和430, 并且確定該響應(yīng)是否是具有相同操作標(biāo)識(shí)符的第一、第二或第三響應(yīng)/校驗(yàn) 和435。假設(shè)這是第一校驗(yàn)和,那么內(nèi)插器丟棄第一響應(yīng)440并將第一校 驗(yàn)和連同請(qǐng)求操作標(biāo)識(shí)符(OpID )和子系統(tǒng)標(biāo)識(shí)符(ID)保存在與內(nèi)插器 420關(guān)聯(lián)的臨時(shí)存儲(chǔ)器中445。此后,在收到第二響應(yīng)時(shí),計(jì)算第二校驗(yàn)和 430,并且內(nèi)插器確定這是具有相同的請(qǐng)求操作標(biāo)識(shí)符的第二響應(yīng)/第二校 驗(yàn)和435。在這種情況下,將具有相同操作標(biāo)識(shí)符的第一和第二校驗(yàn)和進(jìn) 行比較450,并且如果比較匹配455,那么將第二響應(yīng)子系統(tǒng)的子系統(tǒng)ID、 請(qǐng)求操作標(biāo)識(shí)符以及第二校驗(yàn)和保存在臨時(shí)存儲(chǔ)器中460,并且將第二響 應(yīng)作為對(duì)公共請(qǐng)求的響應(yīng)輸出465到請(qǐng)求用戶470。 一旦輸出第二響應(yīng), 內(nèi)插器便返回到等待狀態(tài)以便等待來自第三子系統(tǒng)410的第三響應(yīng)。在收 到第三響應(yīng)時(shí),計(jì)算第三校驗(yàn)和430,并且內(nèi)插器確認(rèn)這是具有相同的請(qǐng) 求操作標(biāo)識(shí)符的第三響應(yīng)/第三校驗(yàn)和435。如果是的話,那么比較所有的 校驗(yàn)和以確認(rèn)所有的校驗(yàn)和都匹配475。假設(shè)校驗(yàn)和匹配,那么丟棄來自第三響應(yīng)子系統(tǒng)的第三響應(yīng)480,并且內(nèi)插器返回等待下一子系統(tǒng)輸出。
如果不是所有的校驗(yàn)和都匹配,那么內(nèi)插器確定是否所有的校驗(yàn)和都 失配485,并且如果是的話,則將以下差錯(cuò)消息發(fā)送給當(dāng)前操作所標(biāo)識(shí)的 請(qǐng)求的用戶490:獨(dú)立重復(fù)子系統(tǒng)中的至少兩個(gè)子系統(tǒng)失效。如果不是所 有的校驗(yàn)和都失配,那么隨失效子系統(tǒng)標(biāo)識(shí)符一起發(fā)送警告492,并且內(nèi) 插器確定是否已經(jīng)發(fā)送了對(duì)公共請(qǐng)求的響應(yīng)494。如果是的話,那么丟棄 第三響應(yīng)子系統(tǒng)的第三響應(yīng)496,否則,將第三響應(yīng)作為響應(yīng)輸出給iL^ 請(qǐng)求的用戶465。
圖5描繪了計(jì)算環(huán)境500的可選實(shí)施例,其中通信信道510包括內(nèi)插 器520,該內(nèi)插器520透明地檢驗(yàn)選自第一組重復(fù)的不可靠子系統(tǒng)530以 及第二組重復(fù)的不可靠子系統(tǒng)540的響應(yīng)的完整性。內(nèi)插器520的操作類 似于以上結(jié)合圖2所描述的內(nèi)插器240。如圖所示,內(nèi)插器520通過輸入 緩沖器525和輸出緩沖器527與每個(gè)不可靠子系統(tǒng)530、 540相耦合,并且 通過輸入緩沖器550和輸出緩沖器552與一個(gè)或多個(gè)外部請(qǐng)求方(即,主 機(jī)、用戶或應(yīng)用)相耦合。如圖所示,通信信道570直接將可靠數(shù)據(jù)從可 靠子系統(tǒng)A560轉(zhuǎn)發(fā)給始發(fā)請(qǐng)求方,而不經(jīng)歷任何完整性校驗(yàn)。通過定義, 可靠數(shù)據(jù)的意思是數(shù)據(jù)已經(jīng)經(jīng)歷了差錯(cuò)校驗(yàn)。
總而言之,諸如文中所描述的差錯(cuò)檢測(cè)機(jī)制或內(nèi)插器有利地檢查響應(yīng) 并選擇一個(gè)響應(yīng)用于傳遞至請(qǐng)求應(yīng)用。在通信信道內(nèi)檢驗(yàn)來自重復(fù)的非無 差錯(cuò)子系統(tǒng)的獨(dú)立生成的響應(yīng)。第一接收到的響應(yīng)用于計(jì)算代表校驗(yàn)和 (representative checksum),其存儲(chǔ)在信道的內(nèi)部存儲(chǔ)器或"響應(yīng)內(nèi)容 (response contents )"隊(duì)列中。該隊(duì)列含有由請(qǐng)求唯一標(biāo)識(shí)符(文中稱為 請(qǐng)求操作標(biāo)識(shí)符)索引的、先前傳遞的響應(yīng)的校驗(yàn)和。在計(jì)算了校驗(yàn)和之 后,丟棄第一響應(yīng)。當(dāng)其它子系統(tǒng)將其獨(dú)立生成的、異步到達(dá)的響應(yīng)l^ 提交至信道時(shí),信道檢驗(yàn)每個(gè)校驗(yàn)和與第一響應(yīng)的校驗(yàn)和匹配。具體而言, 當(dāng)?shù)诙憫?yīng)被提交至信道的時(shí)候,其校驗(yàn)和匹配于響應(yīng)內(nèi)容隊(duì)列中的第一 校驗(yàn)和。如果檢測(cè)到失配,那么通知請(qǐng)求方應(yīng)用數(shù)據(jù)失配。由于目前為止 還沒有傳遞響應(yīng)或數(shù)據(jù),因此不需要進(jìn)一步的動(dòng)作。如果第二響應(yīng)校驗(yàn)和匹配于第一校驗(yàn)和,那么假設(shè)數(shù)據(jù)是相同的,并且將第二響應(yīng)作為對(duì)請(qǐng)求 的響應(yīng)傳遞至請(qǐng)求方應(yīng)用。如果超過兩個(gè)的數(shù)據(jù)子系統(tǒng)并行地耦合,那么 直到已經(jīng)檢驗(yàn)了所有的響應(yīng)才向請(qǐng)求方指示響應(yīng)的可用性,即使第二響應(yīng) 被復(fù)制給應(yīng)用。這可以通過延遲向請(qǐng)求方傳遞完整性確認(rèn)直到檢驗(yàn)了最后 的響應(yīng)來實(shí)現(xiàn)。
一旦已經(jīng)檢測(cè)到并且檢驗(yàn)了最后的響應(yīng),便可以從校驗(yàn)和隊(duì)列(即, 內(nèi)插器存儲(chǔ)器)中移除與其對(duì)應(yīng)的請(qǐng)求標(biāo)識(shí)符和響應(yīng)校驗(yàn)和,因?yàn)閷?duì)于該 請(qǐng)求來說不再期望任何響應(yīng)。
在一個(gè)實(shí)施例中,該系統(tǒng)可以支持超時(shí),如果任何子系統(tǒng)超時(shí),則向 請(qǐng)求方指示超時(shí)。
為了適應(yīng)其中響應(yīng)不是完全確定性的請(qǐng)求,信道可以將這樣的請(qǐng)求類 型識(shí)別為特殊情況,例如,通過使用請(qǐng)求報(bào)頭比特。在這樣的情況下,信 道可以將第一響應(yīng)傳遞至請(qǐng)求方應(yīng)用,并且丟棄后續(xù)到達(dá)的響應(yīng)。在這種 情況下,由于不會(huì)向請(qǐng)求方通知所有的響應(yīng),因此響應(yīng)的相對(duì)順序變得相
關(guān)??蛇x的實(shí)現(xiàn)是對(duì)于信道,在檢測(cè)到這樣的請(qǐng)求時(shí),僅向一個(gè)子系統(tǒng) 提交該請(qǐng)求,并且使關(guān)聯(lián)的應(yīng)答或響應(yīng)繞開內(nèi)插器的差錯(cuò)校驗(yàn)設(shè)施。所提 出的解決方案并不提供對(duì)這樣的非確定性情況的差錯(cuò)檢測(cè)。注意到,這樣 的非確定性響應(yīng)的差錯(cuò)檢測(cè)是應(yīng)用級(jí)問題,并且可能在通信信道中是不可 能檢測(cè)的。
提供給外部應(yīng)用的響應(yīng)可以被認(rèn)為是無差錯(cuò)的,而沒有倍增傳輸要求 (multiplying transfer requirements), 這會(huì)是這樣的情況,即如果夕卜部 設(shè)備將必須檢驗(yàn)整個(gè)響應(yīng)匹配。由于通過信道傳遞每個(gè)響應(yīng)的至多 一個(gè)副 本,因此應(yīng)用可以幾乎與連接到單源易出錯(cuò)系統(tǒng)一樣連接到文中所描述的 無差錯(cuò)信道系統(tǒng)。僅有的差別是新的差錯(cuò)條件,"數(shù)據(jù)失配",可能必須 被添加到應(yīng)用(以及視情況用于識(shí)別非確定性應(yīng)用請(qǐng)求/響應(yīng)的裝置)。由 于該差錯(cuò)還可以類似地被當(dāng)作超時(shí),因此比起例如將失配檢測(cè)委托給外部 應(yīng)用來說,準(zhǔn)備將應(yīng)用連接到無差錯(cuò)信道與非無差錯(cuò)情況的區(qū)別要少得多。
注意到,所提出的系統(tǒng)并不要求重復(fù)子系統(tǒng)的同步("交叉校驗(yàn)")。重復(fù)子系統(tǒng)彼此完全獨(dú)立地工作,不要求對(duì)非重復(fù)的情況進(jìn)行改變。相比 于非重復(fù)的情況(例如交叉校驗(yàn)將進(jìn)行委托),除了將信道連接至每個(gè)重 復(fù)子系統(tǒng)之外,通信信道不必提供附加服務(wù)。
由于通信信道與其內(nèi)部隊(duì)列中的響應(yīng)相匹配,因此外部應(yīng)用不必對(duì)從 信道中檢索的數(shù)據(jù)進(jìn)行進(jìn)一步的校驗(yàn)。這意味著現(xiàn)有應(yīng)用可以繼續(xù)在無修 改的情況下用于新的、無差錯(cuò)信道環(huán)境,即使它們先前適于易出錯(cuò)信道。 僅有的可觀察到的差別將是缺少來自信道的錯(cuò)誤數(shù)據(jù),其由指示數(shù)據(jù)失配 的異常進(jìn)行替換。所有的較高級(jí)別的功能性,例如協(xié)議級(jí)差錯(cuò)校驗(yàn),在本 系統(tǒng)以及非重復(fù)的非無差錯(cuò)的實(shí)現(xiàn)中都是相同的。
依照一個(gè)實(shí)施例,本發(fā)明通過請(qǐng)求專用唯一標(biāo)識(shí)符來標(biāo)識(shí)對(duì)應(yīng)于相同 請(qǐng)求的響應(yīng)??梢员粡?fù)制到響應(yīng)的這樣的請(qǐng)求唯一標(biāo)識(shí)符是現(xiàn)代通信系統(tǒng) 的特征。因此,該要求并不引入附加開銷。注意到,并不要求請(qǐng)求標(biāo)識(shí)符
是全局唯一的;僅有的要求是在由信道校驗(yàn)和存儲(chǔ)器的深度所定義的時(shí)幀 中不重新j吏用該標(biāo)識(shí)符。(在足夠大小的標(biāo)識(shí)符的情況下,現(xiàn)代通信系統(tǒng) 將滿足該要求。)如果信道校驗(yàn)和隊(duì)列可以保留n個(gè)最近遇到的請(qǐng)求,則 不應(yīng)當(dāng)重新使用請(qǐng)求標(biāo)識(shí)符,直到已經(jīng)處理了 111>>11個(gè)請(qǐng)求。如果將成功 匹配的請(qǐng)求從校驗(yàn)和隊(duì)列中移除,則該要求將放松,但是由于假設(shè)n相比 于可能的唯一請(qǐng)求標(biāo)識(shí)符的數(shù)目來說非常小,因此這樣的變化不應(yīng)當(dāng)相當(dāng) 大地改變m n的要求。
由于在子系統(tǒng)之間共享通信信道,因此傳到應(yīng)用的數(shù)據(jù)(即,響應(yīng))
以串行方式進(jìn)入通信信道。(這對(duì)于共享信道來說并不是新的要求,因?yàn)?對(duì)于共享信道來i^必須在信道入口處處理響應(yīng)方仲裁。)當(dāng)將各個(gè)響應(yīng)合
并到相同的通信信道時(shí),所提出的解決方案允許校驗(yàn)和生成和檢驗(yàn)?zāi)K以 嚴(yán)格串行化的方式操作,其中響應(yīng)具有明確的到達(dá)順序用于所希望的校驗(yàn)。 (注意到,由于串行化,到達(dá)順序是唯一的,但不一定是確定性的。)這 樣的串行化處理比試圖在完全獨(dú)立的并行響應(yīng)信道中的請(qǐng)求之間檢測(cè)失配 更易于實(shí)現(xiàn)。 一旦響應(yīng)數(shù)據(jù)已經(jīng)^信道,優(yōu)選地,便不存在同步問題的 可能性。為了適應(yīng)其中響應(yīng)不是確定性的請(qǐng)求,信道準(zhǔn)許應(yīng)用或子系統(tǒng)指示非 可復(fù)制響應(yīng)。例子將是涉及隨機(jī)性的算法,或者其中希望非協(xié)作子系統(tǒng)對(duì) 相同的響應(yīng)生成不同響應(yīng)的其它情況。這樣的非可復(fù)制應(yīng)答^皮處理而沒有 校正(至請(qǐng)求方應(yīng)用,它們表現(xiàn)為它們處于非無差錯(cuò)系統(tǒng)中),但其完整 性不被保證。
由于響應(yīng)內(nèi)容通過校驗(yàn)和而彼此匹配,因此僅要求有限量的附加信道 存儲(chǔ),其由最大未完成請(qǐng)求數(shù)來定義。中間存儲(chǔ)要求與總的請(qǐng)求大小(以 及因此的信道帶寬)無關(guān),而僅取決于校驗(yàn)和的大小、未完成的請(qǐng)求數(shù)以 及開銷。通過^^驗(yàn)和匹配響應(yīng)是對(duì)這樣的解決方案的改進(jìn),即在該解決方 案中,兩個(gè)響應(yīng)都被讀取并在信道設(shè)備的并行路徑中進(jìn)行匹配,其中信道 要求取決于總的請(qǐng)求大小。相比于這種情況,實(shí)現(xiàn)所公開的解決方案的系 統(tǒng)具有這樣的優(yōu)點(diǎn),即最壞情況下中間存儲(chǔ)要求是固定的。
根據(jù)在計(jì)算機(jī)或計(jì)算機(jī)網(wǎng)絡(luò)上執(zhí)行的程序過程部分討論了以上所提供 的詳細(xì)描述。這些過程描述和表示由本領(lǐng)域的技術(shù)人員用來將其工作的實(shí) 質(zhì)最有效地傳達(dá)給本領(lǐng)域的其它技術(shù)人員。它們可以以硬件或軟件,或者 二者的結(jié)合來實(shí)現(xiàn)。
在此并且通常將過程理解成是導(dǎo)致所期望的結(jié)果的步驟序列。這些步 驟是要求對(duì)物理量的物理操作的步驟。通常,盡管不是必須的,這些量采 用能夠被存儲(chǔ)、傳送、組合、比較以及其它方式操縱的形式的電或磁信號(hào)。 這往往證明是方便的(主要是由于公共使用的原因),即,將這些信號(hào)指 代為比特、值、元素、符號(hào)、字符、術(shù)語、數(shù)字、對(duì)象、屬性等。然而, 應(yīng)當(dāng)注意到,所有這些以及類似的術(shù)語都將與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián)并且僅 僅是應(yīng)用于這些量的方便的標(biāo)記。
該方法可以在諸如主計(jì)算機(jī)、個(gè)人計(jì)算機(jī)等的任何一般的計(jì)算機(jī)上執(zhí)
行,并且依照從諸如C++、 JavaTM、 Fortran等的任何編程語言所生成的 一個(gè)或多個(gè)程序模塊或?qū)ο?,或者一個(gè)或多個(gè)程序模塊或?qū)ο蟮囊徊糠帧?并且進(jìn)一步地,每個(gè)步驟,或者實(shí)現(xiàn)每個(gè)步驟的文件或?qū)ο蟮?,均可以?過被設(shè)計(jì)用于該目的的專用硬件或電路模塊來執(zhí)行。(Java和所有基于Java的商標(biāo)都是Sun Microsystems公司在美國(guó)、其它國(guó)家或二者的商標(biāo)。) 在文中所描繪的示圖的情況下,其是通過例子的方式來提供的。在不 背離本發(fā)明的精神的情況下,這些示圖或文中所描述的步驟(或操作)可 以存在變化。例如,在特定的情況下,可以以不同的順序?qū)崿F(xiàn)這些步驟, 或者可以添加、刪除或修改這些步驟。所有這些變化都被認(rèn)為包括如所附 權(quán)利要求中所陳述的本發(fā)明的部分。
優(yōu)選地以高級(jí)過程或面向?qū)ο蟮木幊陶Z言來實(shí)現(xiàn)本發(fā)明以便與計(jì)算機(jī) 進(jìn)行通信。然而,如果需要的話,可以以匯編或機(jī)器語言來實(shí)現(xiàn)本發(fā)明。 在任何情況下,語言都可以是編譯或解釋語言。
本發(fā)明可以作為一種包括記錄介質(zhì)的機(jī)制或計(jì)算機(jī)程序產(chǎn)品來實(shí)現(xiàn)。 這樣的機(jī)制或計(jì)算機(jī)程序產(chǎn)品可以包括,但不限于CD-ROMs、磁盤、磁 帶、硬盤驅(qū)動(dòng)器、計(jì)算機(jī)RAM或ROM和/或電、磁、光、生物或其它類 似的程序?qū)嵤├?。?shí)際上,該機(jī)制或計(jì)算機(jī)程序產(chǎn)品可以包括任何固態(tài)或 流體傳輸介質(zhì)、磁的或光的,等等,用于存儲(chǔ)或傳輸機(jī)器可讀的信號(hào),以
明的系統(tǒng)來構(gòu)造其組件。
本發(fā)明還可以在系統(tǒng)中實(shí)現(xiàn)。該系統(tǒng)可以包括計(jì)算機(jī),該計(jì)算機(jī)包括 處理器和存儲(chǔ)設(shè)備,并且視情況包括存儲(chǔ)設(shè)備、諸如視頻顯示器的輸出設(shè) 備和/或諸如鍵盤或計(jì)算機(jī)鼠標(biāo)的輸入設(shè)備。此外,該系統(tǒng)可以包括互連的 計(jì)算機(jī)網(wǎng)絡(luò)。計(jì)算機(jī)等同地可以是獨(dú)立形式(例如常規(guī)的臺(tái)式個(gè)人計(jì)算機(jī)) 或被集成到另一裝置中(例如電子測(cè)試裝備)。該系統(tǒng)可以被專門構(gòu)造用
于所要求的目的,以便實(shí)現(xiàn)例如本發(fā)明的方法步驟,或者其可以包括依照 計(jì)算機(jī)中存儲(chǔ)的文中的教導(dǎo)由計(jì)算機(jī)程序選擇性激活或重新配置的一個(gè)或
多個(gè)通用計(jì)算機(jī)。文中所提供的過程并不在本質(zhì)上與特定計(jì)算機(jī)系統(tǒng)或其 它裝置相關(guān)。各種這樣的系統(tǒng)所要求的結(jié)構(gòu)將出現(xiàn)于所給出的描述中。 再者,本發(fā)明的一個(gè)或多個(gè)方面的能力可以以軟件、固件、硬件或其
組合來實(shí)現(xiàn)。
可以在具有例如計(jì)算機(jī)可用介質(zhì)的制品(例如, 一個(gè)或多個(gè)計(jì)算機(jī)程序產(chǎn)品)中包括本發(fā)明的一個(gè)或多個(gè)方面。舉例來說,該介質(zhì)中具有計(jì)算 機(jī)可讀程序代碼裝置或邏輯(例如,指令、代碼、命令等),以便提供和 促進(jìn)本發(fā)明的能力。該制品可以被包括為計(jì)算機(jī)系統(tǒng)的一部分或單獨(dú)出售。
另外,可以提供機(jī)器可讀的至少一個(gè)程序存儲(chǔ)設(shè)備,其含有該機(jī)器可 執(zhí)行的指令的至少一個(gè)程序,以便實(shí)現(xiàn)本發(fā)明的能力。
文中所描繪的流程圖僅僅是示例。在不背離本發(fā)明的精神的情況下, 這些示圖或其中所描述的步驟(或操作)可以存在多種變化。例如,可以 以不同的順序?qū)崿F(xiàn)這些步驟,或者可以添加、刪除或修改這些步驟。所有 這些變化都祐J人為是所請(qǐng)求保護(hù)的發(fā)明的一部分。
盡管文中已經(jīng)詳細(xì)描繪和描述了優(yōu)選實(shí)施例,然而對(duì)相關(guān)領(lǐng)域的技術(shù) 人員將會(huì)顯而易見的是,在不背離本發(fā)明的精神的情況下,可以進(jìn)行各種 修改、添加、替換,等等,并且因此將其認(rèn)為屬于如以下權(quán)利要求所限定 的本發(fā)明的范圍之內(nèi)。
權(quán)利要求
1.一種檢驗(yàn)子系統(tǒng)響應(yīng)的完整性的方法,所述方法包括(i)在通信信道處從至少兩個(gè)重復(fù)子系統(tǒng)的第一子系統(tǒng)接收第一響應(yīng),所述第一響應(yīng)響應(yīng)于被發(fā)送到所述至少兩個(gè)重復(fù)子系統(tǒng)中每個(gè)子系統(tǒng)的公共請(qǐng)求,并且其中所述至少兩個(gè)重復(fù)子系統(tǒng)向所述通信信道輸出響應(yīng);(ii)在所述通信信道內(nèi)確定所述第一子系統(tǒng)的第一響應(yīng)的第一校驗(yàn)和;(iii)在所述通信信道處從響應(yīng)于所述公共請(qǐng)求的所述至少兩個(gè)重復(fù)子系統(tǒng)的第二子系統(tǒng)接收第二響應(yīng);(iv)確定所述至少兩個(gè)重復(fù)子系統(tǒng)的第二子系統(tǒng)的第二響應(yīng)的第二校驗(yàn)和;以及(v)比較所述第一校驗(yàn)和與所述第二校驗(yàn)和,并且如果匹配,則僅將所述第一響應(yīng)和所述第二響應(yīng)之一作為對(duì)所述公共請(qǐng)求的響應(yīng)而從所述通信信道進(jìn)行轉(zhuǎn)發(fā)。
2. 根據(jù)權(quán)利要求l的方法,其進(jìn)一步包括在計(jì)算所述第一校驗(yàn)和之 后以及在接收所述第二響應(yīng)之前丟棄所述第一響應(yīng),并且其中所述轉(zhuǎn)發(fā)包 括當(dāng)所述第一校驗(yàn)和與所述第二校驗(yàn)和匹配的時(shí)候,將所述第二子系統(tǒng) 的第二響應(yīng)作為對(duì)所述公共請(qǐng)求的響應(yīng)而從所述通信信道進(jìn)行轉(zhuǎn)發(fā)。
3. 根據(jù)權(quán)利要求1或2的方法,其進(jìn)一步包括將所述第一校驗(yàn)和存 儲(chǔ)在所述通信信道的內(nèi)部存儲(chǔ)器中,直到實(shí)現(xiàn)所述比較(v),并且其中所 述確定(ii)、所述確定(iv)以及所述比較(v)對(duì)于發(fā)起所述公共請(qǐng)求 的請(qǐng)求方是透明的。
4. 根據(jù)前述任何一項(xiàng)權(quán)利要求的方法,其中所述至少兩個(gè)重復(fù)子系統(tǒng) 包括至少兩個(gè)獨(dú)立的重復(fù)子系統(tǒng),其各自具有與所述通信信道相耦合的輸 入和輸出,并且其中所述方法進(jìn)一步包括在所述通信信道內(nèi)實(shí)現(xiàn)調(diào)度器, 用于從請(qǐng)求方接收請(qǐng)求,并且將所述請(qǐng)求作為所述公共請(qǐng)求透明地并行轉(zhuǎn) 發(fā)至所述至少兩個(gè)重復(fù)子系統(tǒng)中的每個(gè)子系統(tǒng)。
5. 根據(jù)前述任何一項(xiàng)權(quán)利要求的方法,其進(jìn)一步包括將操作標(biāo)識(shí)符 與所述公共請(qǐng)求相關(guān)聯(lián),并且其中所述接收(i)包括從所述第一子系統(tǒng)接 收所述操作標(biāo)識(shí)符與所述第一響應(yīng),并且所述接收(iii)包括從所述第二 子系統(tǒng)接收所述操作標(biāo)識(shí)符與所述第二響應(yīng),其中在標(biāo)識(shí)用于所述比較的 第一校驗(yàn)和與第二校驗(yàn)和時(shí),所述比較采用所述操作標(biāo)識(shí)符,其中多個(gè)公 共請(qǐng)求以及關(guān)聯(lián)的操作標(biāo)識(shí)符被轉(zhuǎn)發(fā)至所述至少兩個(gè)重復(fù)子系統(tǒng)中的每個(gè) 子系統(tǒng)。
6. 根據(jù)前述任何一項(xiàng)權(quán)利要求的方法,其進(jìn)一步包括如果所述比較 標(biāo)識(shí)出所述第 一校驗(yàn)和與所述第二校驗(yàn)和之間失配,則將差錯(cuò)消息從所述 通信信道發(fā)送給:^所述公共請(qǐng)求的請(qǐng)求方。
7. 根據(jù)前述任何一項(xiàng)權(quán)利要求的方法,其中所述至少兩個(gè)重復(fù)子系統(tǒng) 是異步的,并且所述至少兩個(gè)重復(fù)子系統(tǒng)中的每個(gè)子系統(tǒng)均包括能夠輸出 不可靠響應(yīng)的獨(dú)立的非無差錯(cuò)子系統(tǒng),并且其中所述方法進(jìn)一步包括在 發(fā)起請(qǐng)求的主機(jī)與所述至少兩個(gè)重復(fù)子系統(tǒng)之間的通信信道中透明地實(shí)現(xiàn) 所述接收(i)、計(jì)算(ii)、接收(iii)、確定(iv)以及比較U)。
8. 根據(jù)權(quán)利要求l的方法,其中所述通信信道耦合于至少三個(gè)重復(fù)子 系統(tǒng),所述至少三個(gè)重復(fù)子系統(tǒng)向所述通信信道輸出響應(yīng),并且其中所述 方法進(jìn)一步包括在計(jì)算所述第一校驗(yàn)和之后丟棄所述第一響應(yīng),以及如 果所述比較U)標(biāo)識(shí)出所述第一校驗(yàn)和與所述第二校驗(yàn)和之間失配,則在 所述比較之后丟棄所述第二響應(yīng),并且其中所述方法進(jìn)一步包括連同所 述公共請(qǐng)求的操作標(biāo)識(shí)符以及所述第一子系統(tǒng)的子系統(tǒng)ID —起保存所述 第 一校驗(yàn)和,并且在所述通信信道的臨時(shí)存儲(chǔ)器中保存所述第二校驗(yàn)和與 所述公共請(qǐng)求的^^作ID以及所述第二子系統(tǒng)的子系統(tǒng)ID,以及在所述通 信信道處等待從響應(yīng)于所述公共請(qǐng)求的第三子系統(tǒng)接收第三響應(yīng)。
9. 根據(jù)權(quán)利要求8的方法,其進(jìn)一步包括在所述通信信道處接收所 述第三響應(yīng),以及確定所述第三子系統(tǒng)的第三響應(yīng)的第三校驗(yàn)和,并且如 果所述第三校驗(yàn)和匹配于所述第一校驗(yàn)和與所述第二校驗(yàn)和,則丟棄所述 第三響應(yīng),否則確定所述第一校驗(yàn)和、第二校驗(yàn)和以及第三校驗(yàn)和是否全都失配,并且如果是的話,則向發(fā)起所述公共請(qǐng)求的請(qǐng)求方發(fā)送差錯(cuò)消息 所述三個(gè)子系統(tǒng)中的至少兩個(gè)子系統(tǒng)失效,并且如果所述第一校驗(yàn)和、第 二校驗(yàn)和以及第三校驗(yàn)和中的兩個(gè)校驗(yàn)和匹配,則向所述請(qǐng)求方發(fā)送警告 以及與返回非匹配校驗(yàn)和的子系統(tǒng)ID相對(duì)應(yīng)的失效子系統(tǒng)標(biāo)識(shí)符。
10. 根據(jù)權(quán)利要求9的方法,其進(jìn)一步包括確定是否已經(jīng)轉(zhuǎn)發(fā)了對(duì) 所述公共請(qǐng)求的響應(yīng),并且如果沒有的話,則將所述第三響應(yīng)作為對(duì)所述 公共請(qǐng)求的響應(yīng)發(fā)送給所述請(qǐng)求方,否則,在所述通信信道處丟棄所述第三響應(yīng)o
11. 一種用于檢驗(yàn)子系統(tǒng)響應(yīng)的完整性的系統(tǒng),所述系統(tǒng)包括 內(nèi)插器,所述內(nèi)插器置于耦合于至少兩個(gè)重復(fù)子系統(tǒng)的通信信道處,所述內(nèi)插器包括輸入調(diào)度器,所述輸入調(diào)度器用于將公共請(qǐng)求并行地提供給所述至少 兩個(gè)重復(fù)子系統(tǒng);校驗(yàn)和生成器,所述校驗(yàn)和生成器根據(jù)所接收的響應(yīng)于所述公共請(qǐng)求 的、所述至少兩個(gè)重復(fù)子系統(tǒng)的第一子系統(tǒng)的第一響應(yīng)來生成第一校驗(yàn)和, 并且根據(jù)所接收的響應(yīng)于所述公共請(qǐng)求的、所述至少兩個(gè)重復(fù)子系統(tǒng)的第 二子系統(tǒng)的第二響應(yīng)來生成第二校驗(yàn)和;存儲(chǔ)器,所述存儲(chǔ)器用于臨時(shí)存儲(chǔ)所述第一校驗(yàn)和,直到接收到所述 第二響應(yīng);校驗(yàn)和檢驗(yàn)器,所述校驗(yàn)和檢驗(yàn)器比較所述第一校驗(yàn)和與所述第二校 驗(yàn)和,并且如果匹配,則用于輸出匹配控制信號(hào);以及多路復(fù)用控制器,響應(yīng)于來自所述校驗(yàn)和檢驗(yàn)器的匹配控制信號(hào),所 述多路復(fù)用控制器用于僅將所述第 一響應(yīng)和所述第二響應(yīng)之一作為對(duì)所述 公共請(qǐng)求的響應(yīng)而從所述通信信道進(jìn)行輸出。
12. 根據(jù)權(quán)利要求ll的系統(tǒng),其中所述內(nèi)插器進(jìn)一步包括用于在 所述校驗(yàn)和生成器已經(jīng)生成所述第 一校驗(yàn)和之后以及在接收到所述第二響 應(yīng)之前丟棄所述第一響應(yīng)的邏輯,并且其中當(dāng)從所述校驗(yàn)和檢驗(yàn)器接收到 所述匹配控制信號(hào)的時(shí)候,所述多路復(fù)用控制器將所述第二子系統(tǒng)的第二響應(yīng)作為對(duì)所述公共請(qǐng)求的響應(yīng)而從所述通信信道進(jìn)行轉(zhuǎn)發(fā)。
13. 根據(jù)權(quán)利要求11或12的系統(tǒng),其中所述至少兩個(gè)重復(fù)子系統(tǒng)是 異步的,并且包括至少兩個(gè)獨(dú)立的重復(fù)子系統(tǒng),其各自具有與所述通信信 道相耦合的輸入和輸出,并且其中所述輸入調(diào)度器從請(qǐng)求方接收請(qǐng)求,并 且將所述請(qǐng)求作為所述公共請(qǐng)求透明地并行轉(zhuǎn)發(fā)至所述至少兩個(gè)重復(fù)子系 統(tǒng)中的每個(gè)子系統(tǒng)的輸入。
14. 根據(jù)權(quán)利要求11、 12或13的系統(tǒng),其中所述輸入調(diào)度器進(jìn)一步 將操作標(biāo)識(shí)符與所述公共請(qǐng)求相關(guān)聯(lián),并且其中從所述第 一子系統(tǒng)接收所 述第 一響應(yīng)以及所述操作標(biāo)識(shí)符,并且從所述第二子系統(tǒng)接收所述第二響 應(yīng)以及所述操作標(biāo)識(shí)符,并且其中在標(biāo)識(shí)用于所述比較的第一校驗(yàn)和與第 二校驗(yàn)和時(shí),所述校驗(yàn)和檢驗(yàn)器采用所述操作標(biāo)識(shí)符,其中多個(gè)公共請(qǐng)求 以及關(guān)聯(lián)的操作標(biāo)識(shí)符被轉(zhuǎn)發(fā)至所述至少兩個(gè)重復(fù)子系統(tǒng)中的每個(gè)子系 統(tǒng)。
15. 根據(jù)權(quán)利要求11至14中任何一項(xiàng)的系統(tǒng),其中當(dāng)所述第一校驗(yàn) 和與所述第二校驗(yàn)和失配的時(shí)候,所述校驗(yàn)和檢驗(yàn)器輸出失配控制信號(hào), 并且其中響應(yīng)于所述失配控制信號(hào),所述多路復(fù)用控制器向發(fā)起所述公共 請(qǐng)求的請(qǐng)求方輸出差錯(cuò)消息。
16. 根據(jù)權(quán)利要求11至15中任何一項(xiàng)的系統(tǒng),其中所述至少兩個(gè)子 系統(tǒng)中的每個(gè)子系統(tǒng)均包括能夠輸出不可靠響應(yīng)的獨(dú)立的非無差錯(cuò)子系 統(tǒng),并且其中在發(fā)起所述公共請(qǐng)求的主機(jī)與所述至少兩個(gè)重復(fù)子系統(tǒng)之間 的通信信道內(nèi)透明地實(shí)現(xiàn)所述內(nèi)插器。
17. 根據(jù)權(quán)利要求11的系統(tǒng),其中所述內(nèi)插器置于所述通信信道處, 并且耦合于至少三個(gè)重復(fù)子系統(tǒng),其各自向所述通信信道輸出響應(yīng),并且 其中所述內(nèi)插器進(jìn)一步包括用于在計(jì)算所述第 一校驗(yàn)和之后丟棄所述笫一 響應(yīng)的邏輯,以及用于在所述校驗(yàn)和檢驗(yàn)器確定在所述第一校驗(yàn)和與所述 第二校驗(yàn)和之間存在失配之后丟棄所述第二響應(yīng)的邏輯,并且其中所述存儲(chǔ)器臨時(shí)保留所述第 一校驗(yàn)和連同所述公共請(qǐng)求的操作標(biāo)識(shí)符以及所述第 一子系統(tǒng)的子系統(tǒng)ID,并且臨時(shí)保留所述第二校驗(yàn)和連同所述公共請(qǐng)求的操作ID以及所述第二子系統(tǒng)的子系統(tǒng)ID,在所述通信信道處等待從響應(yīng) 于所述公共請(qǐng)求的第三子系統(tǒng)接收第三響應(yīng)。
18. 根據(jù)權(quán)利要求17的系統(tǒng),其中響應(yīng)于在所述通信信道處收到所 述第三響應(yīng),所述校驗(yàn)和生成器生成第三校驗(yàn)和,并且所述校驗(yàn)和檢驗(yàn)器 將所述第三校驗(yàn)和與所述第一校驗(yàn)和以及所述第二校驗(yàn)和進(jìn)行比較,并且 如果所述第三校驗(yàn)和匹配,則從所述通信信道丟棄所述第三響應(yīng),否則, 所述校驗(yàn)和檢驗(yàn)器確定所述第 一校驗(yàn)和、第二校驗(yàn)和以及第三校驗(yàn)和是否 全都失配,并且如果是的話,則向所述多路復(fù)用控制器輸出失配差錯(cuò)信號(hào), 并且響應(yīng)于此,所述多路復(fù)用控制器向發(fā)起所述公共請(qǐng)求的請(qǐng)求方輸出差 錯(cuò)消息所述三個(gè)子系統(tǒng)中的至少兩個(gè)子系統(tǒng)失效,并且如果所述第一校 驗(yàn)和、第二校驗(yàn)和以及第三校驗(yàn)和中的兩個(gè)校驗(yàn)和失配,則所述多路復(fù)用 控制器向所述請(qǐng)求方輸出警告以及與返回非匹配校驗(yàn)和的子系統(tǒng)的子系統(tǒng) ID相對(duì)應(yīng)的失效子系統(tǒng)標(biāo)識(shí)符。
19. 根據(jù)權(quán)利要求18的系統(tǒng),其中所述內(nèi)插器進(jìn)一步包括這樣的邏 輯,其用于確定是否已經(jīng)從所述通信信道轉(zhuǎn)發(fā)了對(duì)所述公共請(qǐng)求的響應(yīng), 并且如果沒有的話,則用于將所述第三響應(yīng)作為對(duì)所述公共請(qǐng)求的響應(yīng)發(fā) 送給所述請(qǐng)求方,否則,在所述通信信道處丟棄所述第三響應(yīng)。
20. 計(jì)算機(jī)可讀的至少一個(gè)程序存儲(chǔ)設(shè)備,其有形地含有所述計(jì)算機(jī) 可執(zhí)行的指令的至少一個(gè)程序,以便實(shí)現(xiàn)一種檢驗(yàn)子系統(tǒng)響應(yīng)的完整性的 方法,所述方法包括(i) 在通信信道處從至少兩個(gè)重復(fù)子系統(tǒng)的第 一子系統(tǒng)接收第一響 應(yīng),所述第一響應(yīng)響應(yīng)于被發(fā)送到所述至少兩個(gè)重復(fù)子系統(tǒng)中每個(gè)子系統(tǒng) 的公共請(qǐng)求,并且其中所述至少兩個(gè)重復(fù)子系統(tǒng)向所述通信信道輸出響應(yīng);(ii) 在所述通信信道內(nèi)確定所述第一子系統(tǒng)的第一響應(yīng)的第一校驗(yàn)和;(iii) 在所述通信信道處從響應(yīng)于所述/>共請(qǐng)求的所述至少兩個(gè)重復(fù) 子系統(tǒng)的第二子系統(tǒng)接收第二響應(yīng);(w)確定所述至少兩個(gè)重復(fù)子系統(tǒng)的第二子系統(tǒng)的第二響應(yīng)的第二校驗(yàn)和;以及(v)比較所述第一校驗(yàn)和與所述第二校驗(yàn)和,并且如果匹配,則僅將 所述第一響應(yīng)和所述第二響應(yīng)之一作為對(duì)所述公共請(qǐng)求的響應(yīng)而從所述通 信信道進(jìn)行轉(zhuǎn)發(fā)。
21. 根據(jù)權(quán)利要求20的至少一個(gè)程序存儲(chǔ)i殳備,其進(jìn)一步包括在 計(jì)算所述笫 一校驗(yàn)和之后以及在接收到所述第二響應(yīng)之前丟棄所述第 一響 應(yīng),并且其中所述轉(zhuǎn)發(fā)包括當(dāng)所述第一校驗(yàn)和與所述第二校驗(yàn)和匹配的 時(shí)候,將所述第二子系統(tǒng)的第二響應(yīng)作為對(duì)所述公共請(qǐng)求的響應(yīng)而從所述 通信信道進(jìn)行轉(zhuǎn)發(fā)。
22. 根據(jù)權(quán)利要求20或21的至少一個(gè)程序存儲(chǔ)設(shè)備,其進(jìn)一步包括 將;^作標(biāo)識(shí)符與所述/^共請(qǐng)求相關(guān)聯(lián),并且其中所述接收(i)包括從所述第 一子系統(tǒng)接收所述操作標(biāo)識(shí)符與所述第 一響應(yīng),并且所述接收(m)包 括從所述第二子系統(tǒng)接收所述操作標(biāo)識(shí)符與所述笫二響應(yīng),其中在標(biāo)識(shí)用 于所述比較的第 一校驗(yàn)和與第二校驗(yàn)和時(shí),所述比較采用所述操作標(biāo)識(shí)符, 其中多個(gè)公共請(qǐng)求以及關(guān)聯(lián)的操作標(biāo)識(shí)符被轉(zhuǎn)發(fā)至所述至少兩個(gè)重復(fù)子系 統(tǒng)中的每個(gè)子系統(tǒng)。
23. 根據(jù)權(quán)利要求20、 21或22的至少一個(gè)程序存儲(chǔ)設(shè)備,其進(jìn)一步 包括如果所述比較標(biāo)識(shí)出所述第 一校驗(yàn)和與所述第二校驗(yàn)和之間失配, 則將差錯(cuò)消息從所述通信信道發(fā)送給發(fā)起所述公共請(qǐng)求的請(qǐng)求方。
24. 根據(jù)權(quán)利要求20的至少一個(gè)程序存儲(chǔ)設(shè)備,其中所述通信信道 耦合于至少三個(gè)重復(fù)子系統(tǒng),所述至少三個(gè)重復(fù)子系統(tǒng)向所述通信信道輸 出響應(yīng),并且其中所述方法進(jìn)一步包括在計(jì)算所述第一校驗(yàn)和之后丟棄 所述第一響應(yīng),以及如果所述比較(v)標(biāo)識(shí)出所述第一校驗(yàn)和與所述第二 校驗(yàn)和之間失配,則在所述比較之后丟棄所述第二響應(yīng),并且其中所述方 法進(jìn)一步包括連同所述公共請(qǐng)求的操作標(biāo)識(shí)符以及所述第一子系統(tǒng)的子 系統(tǒng)ID —起保存所述第一校驗(yàn)和,并且在所述通信信道的臨時(shí)存儲(chǔ)器中 保存所述第二校驗(yàn)和與所述公共請(qǐng)求的操作ID以及所述第二子系統(tǒng)的子 系統(tǒng)ID,以及在所述通信信道處等待從響應(yīng)于所述7>共請(qǐng)求的第三子系統(tǒng)接收第三響應(yīng)。
25. 根據(jù)權(quán)利要求24的至少一個(gè)程序存^i殳備,其進(jìn)一步包括在 所述通信信道處接收所述第三響應(yīng),以及確定所述第三子系統(tǒng)的第三響應(yīng) 的第三校驗(yàn)和,并且如果所述第三校驗(yàn)和匹配于所述第 一校驗(yàn)和與所述第 二校驗(yàn)和,則丟棄所述第三響應(yīng),否則確定所述第一校驗(yàn)和、第二校驗(yàn)和 以及第三校驗(yàn)和是否全都失配,并且如果是的話,則向發(fā)起所述公共請(qǐng)求 的請(qǐng)求方發(fā)送差錯(cuò)消息所述三個(gè)子系統(tǒng)中的至少兩個(gè)子系統(tǒng)失效,并且 如果所述第 一校驗(yàn)和、第二校驗(yàn)和以及第三校驗(yàn)和中的兩個(gè)校驗(yàn)和匹配, 則向所述請(qǐng)求方發(fā)送警告以及與返回非匹配校驗(yàn)和的子系統(tǒng)ID相對(duì)應(yīng)的 失效子系統(tǒng)標(biāo)識(shí)符。
26. 根據(jù)權(quán)利要求25的至少一個(gè)程序存儲(chǔ)設(shè)備,其進(jìn)一步包括確 定是否已經(jīng)轉(zhuǎn)發(fā)了對(duì)所述公共請(qǐng)求的響應(yīng),并且如果沒有的話,則將所述 第三響應(yīng)作為對(duì)所述公共請(qǐng)求的響應(yīng)發(fā)送給所述請(qǐng)求方,否則,在所述通 信信道處丟棄所述第三響應(yīng)。
27. —種計(jì)算機(jī)程序,其包括當(dāng)在計(jì)算機(jī)上運(yùn)行所述程序時(shí),適于實(shí) 現(xiàn)根據(jù)權(quán)利要求1至10中任何一項(xiàng)的方法的程序代碼裝置。
全文摘要
在耦合于多個(gè)重復(fù)子系統(tǒng)的通信信道中,提供了一種用于檢驗(yàn)子系統(tǒng)響應(yīng)的完整性的方法、內(nèi)插器和程序產(chǎn)品。在所述通信信道內(nèi),在從響應(yīng)于公共請(qǐng)求的第一子系統(tǒng)接收到第一響應(yīng)的情況下計(jì)算第一校驗(yàn)和,并且為所接收到的響應(yīng)于所述公共請(qǐng)求的、第二子系統(tǒng)的第二響應(yīng)計(jì)算第二校驗(yàn)和。將所述第一校驗(yàn)和與所述第二校驗(yàn)和進(jìn)行比較,并且如果匹配,則僅將所述第一響應(yīng)和所述第二響應(yīng)之一作為對(duì)所述公共請(qǐng)求的響應(yīng)而從所述通信信道進(jìn)行轉(zhuǎn)發(fā),并且由所述通信信道丟棄所述第一響應(yīng)和所述第二響應(yīng)中的另外一個(gè)。
文檔編號(hào)G06F11/16GK101297271SQ200680039488
公開日2008年10月29日 申請(qǐng)日期2006年10月16日 優(yōu)先權(quán)日2005年10月27日
發(fā)明者M·霍克, T·德威克特, T·維謝格拉迪, V·孔德雷利 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司