專利名稱:信息處理裝置、信息處理系統(tǒng)和信息處理方法以及計(jì)算機(jī)程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理裝置、信息處理系統(tǒng)和信息處理方法以及計(jì)算機(jī)程序,進(jìn)一步詳細(xì)來(lái)說(shuō),涉及一種在多個(gè)信息處理裝置之間執(zhí)行數(shù)據(jù)通信并執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理的結(jié)構(gòu)中,進(jìn)行與數(shù)據(jù)處理錯(cuò)誤或通信錯(cuò)誤的發(fā)生相對(duì)應(yīng)的最優(yōu)控制從而在錯(cuò)誤發(fā)生時(shí)實(shí)現(xiàn)可靠的恢復(fù)的信息處理裝置、信息處理系統(tǒng)和信息處理方法以及計(jì)算機(jī)程序。
本申請(qǐng)基于2004年11月29日在日本國(guó)提出的日本專利申請(qǐng)2004-343361號(hào),要求享有其優(yōu)先權(quán),在此通過(guò)參照引用該申請(qǐng)。
背景技術(shù):
以往,在多個(gè)信息處理裝置之間執(zhí)行通信并執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理的系統(tǒng)正被應(yīng)用于各種各樣的領(lǐng)域。例如,這種系統(tǒng)是在經(jīng)由有線或無(wú)線通信網(wǎng)絡(luò)、電纜、或者總線等執(zhí)行數(shù)據(jù)通信的多個(gè)信息處理裝置中執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理從而計(jì)算出最終的處理結(jié)果的系統(tǒng)。
其一個(gè)具體實(shí)例是,當(dāng)在例如2個(gè)信息處理裝置A、B之間執(zhí)行通信處理的情況下,一個(gè)信息處理裝置A執(zhí)行數(shù)據(jù)處理后將處理結(jié)果發(fā)送給信息處理裝置B,進(jìn)而,信息處理裝置B執(zhí)行應(yīng)用了所接收到的處理結(jié)果的數(shù)據(jù)處理,以進(jìn)行向信息處理裝置A發(fā)送等處理。不僅僅是這種通信序列,也可以在多個(gè)信息處理裝置之間發(fā)送和接收數(shù)據(jù),同時(shí)執(zhí)行應(yīng)用了收發(fā)數(shù)據(jù)的數(shù)據(jù)處理,這種系統(tǒng)正被應(yīng)用于各種領(lǐng)域。
在伴隨著這種數(shù)據(jù)通信、數(shù)據(jù)處理的結(jié)構(gòu)中,所產(chǎn)生的問(wèn)題是如何應(yīng)對(duì)發(fā)生數(shù)據(jù)處理錯(cuò)誤、數(shù)據(jù)通信錯(cuò)誤的情況。研究了一種信息處理系統(tǒng),其中的實(shí)體(entity)A和B作為信息處理裝置多次重復(fù)各不相同的內(nèi)部處理的執(zhí)行和作為其結(jié)果的數(shù)據(jù)的收發(fā),由此執(zhí)行特定的處理。在這些系統(tǒng)中,作為信息處理裝置的實(shí)體A和B分別在其內(nèi)部執(zhí)行數(shù)據(jù)處理并對(duì)處理結(jié)果數(shù)據(jù)進(jìn)行收發(fā),進(jìn)而根據(jù)該收發(fā)數(shù)據(jù)執(zhí)行新的內(nèi)部處理。
在進(jìn)行這樣的數(shù)據(jù)處理時(shí),必須正確地維持處理序列。亦即,各實(shí)體的內(nèi)部狀態(tài)必須同步。但是,在實(shí)際的系統(tǒng)中,因數(shù)據(jù)收發(fā)時(shí)的通信錯(cuò)誤、或內(nèi)部處理沒(méi)能正確進(jìn)行時(shí)的內(nèi)部處理錯(cuò)誤等,有可能導(dǎo)致各實(shí)體的內(nèi)部狀態(tài)出現(xiàn)差異,即內(nèi)部狀態(tài)可能產(chǎn)生不同步。需要一種在這種情況下能夠消除各實(shí)體的內(nèi)部狀態(tài)的差異從而使內(nèi)部狀態(tài)實(shí)現(xiàn)同步的機(jī)制。
當(dāng)因內(nèi)部處理錯(cuò)誤等導(dǎo)致裝置之間的內(nèi)部狀態(tài)出現(xiàn)不同步時(shí),通常是由檢測(cè)出錯(cuò)誤的實(shí)體A向通信對(duì)方發(fā)出內(nèi)部處理錯(cuò)誤的通知,而其自身則返回初始狀態(tài)。另外,實(shí)體B在接收到內(nèi)部處理錯(cuò)誤通知后就此返回初始狀態(tài),由此能夠使雙方的內(nèi)部狀態(tài)以初始狀態(tài)實(shí)現(xiàn)同步。
這種狀態(tài)同步處理僅適用于一方實(shí)體能夠識(shí)別出所執(zhí)行的數(shù)據(jù)處理中發(fā)生了錯(cuò)誤的情形。亦即,雖然實(shí)體A將正確的數(shù)據(jù)處理的結(jié)果數(shù)據(jù)發(fā)送了出去,但當(dāng)在該數(shù)據(jù)傳輸時(shí)發(fā)生了通信錯(cuò)誤的情況下,實(shí)體A就無(wú)法識(shí)別出錯(cuò)誤的發(fā)生。
而實(shí)體B即使能夠通過(guò)奇偶校驗(yàn)等手段檢測(cè)出通信錯(cuò)誤,也無(wú)法判斷是對(duì)標(biāo)準(zhǔn)的數(shù)據(jù)發(fā)生了通信錯(cuò)誤還是對(duì)內(nèi)部處理錯(cuò)誤發(fā)生了通信錯(cuò)誤、該錯(cuò)誤是通信錯(cuò)誤還是內(nèi)部處理錯(cuò)誤,只能就此返回初始狀態(tài)。
在這種情況下,實(shí)體A認(rèn)為其正執(zhí)行著正確的處理,因此改變其內(nèi)部狀態(tài);另一方面,實(shí)體B則返回了初始狀態(tài),結(jié)果導(dǎo)致實(shí)體A、B之間出現(xiàn)內(nèi)部狀態(tài)的不同步。
解決這種問(wèn)題的最簡(jiǎn)單的辦法考慮有一種在實(shí)體B檢測(cè)到通信錯(cuò)誤時(shí)就將該狀況通知實(shí)體A的方法,但是,如果實(shí)體A試圖繼續(xù)發(fā)送數(shù)據(jù),就會(huì)陷入實(shí)體A和B相互試圖發(fā)送數(shù)據(jù)的狀態(tài),無(wú)法繼續(xù)執(zhí)行處理。另外,即使實(shí)體A處于等待接收數(shù)據(jù)的狀態(tài),如果B試圖發(fā)送的錯(cuò)誤通知數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度與A試圖接收的數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度不一致,則有可能出現(xiàn)錯(cuò)誤通知通信數(shù)據(jù)發(fā)送不完、或者即使發(fā)送了數(shù)據(jù)實(shí)體A依然保持?jǐn)?shù)據(jù)接收狀態(tài)等問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明是借鑒上述問(wèn)題而提出的,其目的在于提供一種信息處理裝置、信息處理系統(tǒng)和信息處理方法以及計(jì)算機(jī)程序,其中,在多個(gè)信息處理裝置等實(shí)體之間執(zhí)行通信并進(jìn)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理的結(jié)構(gòu)中,不管發(fā)生了內(nèi)部處理錯(cuò)誤、通信錯(cuò)誤的哪一種,執(zhí)行通信處理的實(shí)體雙方都能夠正確地識(shí)別錯(cuò)誤的發(fā)生,并使各自的內(nèi)部狀態(tài)同步,從而可進(jìn)行可靠的錯(cuò)誤恢復(fù)并重新開(kāi)始數(shù)據(jù)處理。
本發(fā)明的一個(gè)實(shí)施方式是一種信息處理系統(tǒng),由相互執(zhí)行數(shù)據(jù)通信并且執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理的多個(gè)信息處理部構(gòu)成,其中,具有第1信息處理部,根據(jù)數(shù)據(jù)處理錯(cuò)誤或接收數(shù)據(jù)的錯(cuò)誤檢出,發(fā)送錯(cuò)誤通知數(shù)據(jù),將錯(cuò)誤通知數(shù)據(jù)發(fā)送后的數(shù)據(jù)接收作為條件來(lái)執(zhí)行初始狀態(tài)復(fù)原處理;以及第2信息處理部,根據(jù)數(shù)據(jù)處理錯(cuò)誤或接收數(shù)據(jù)的錯(cuò)誤檢出,發(fā)送錯(cuò)誤通知數(shù)據(jù),將該錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理的執(zhí)行作為條件來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
本發(fā)明的另一個(gè)實(shí)施方式是一種信息處理裝置,執(zhí)行數(shù)據(jù)通信并且執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理,其中,具備錯(cuò)誤檢測(cè)部,檢測(cè)自身所執(zhí)行的內(nèi)部數(shù)據(jù)處理中的錯(cuò)誤發(fā)生、或來(lái)自通信對(duì)方裝置的接收數(shù)據(jù)的通信錯(cuò)誤的發(fā)生;通信部,根據(jù)錯(cuò)誤檢知,發(fā)送錯(cuò)誤通知數(shù)據(jù);以及數(shù)據(jù)處理部,以錯(cuò)誤通知數(shù)據(jù)發(fā)送后的數(shù)據(jù)接收為條件來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
本發(fā)明的又一個(gè)實(shí)施方式是一種信息處理裝置,相互執(zhí)行數(shù)據(jù)通信并且執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理,其中,具備錯(cuò)誤檢測(cè)部,檢測(cè)自身所執(zhí)行的內(nèi)部數(shù)據(jù)處理中的錯(cuò)誤發(fā)生、或來(lái)自通信對(duì)方裝置的接收數(shù)據(jù)的通信錯(cuò)誤的發(fā)生;通信部,根據(jù)錯(cuò)誤檢知,發(fā)送錯(cuò)誤通知數(shù)據(jù);以及數(shù)據(jù)處理部,以錯(cuò)誤通知數(shù)據(jù)的發(fā)送為條件來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
本發(fā)明的又一個(gè)實(shí)施方式是一種信息處理方法,執(zhí)行數(shù)據(jù)通信并且執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理,其中,具備錯(cuò)誤檢測(cè)步驟,檢測(cè)自身所執(zhí)行的內(nèi)部數(shù)據(jù)處理中的錯(cuò)誤發(fā)生、或來(lái)自通信對(duì)方裝置的接收數(shù)據(jù)的通信錯(cuò)誤的發(fā)生;錯(cuò)誤通知數(shù)據(jù)發(fā)送步驟,將錯(cuò)誤檢測(cè)步驟中的錯(cuò)誤檢出作為條件,來(lái)發(fā)送錯(cuò)誤通知數(shù)據(jù);以及初始狀態(tài)復(fù)原步驟,將錯(cuò)誤通知數(shù)據(jù)發(fā)送后的數(shù)據(jù)接收作為條件,來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
本發(fā)明的又一個(gè)實(shí)施方式是一種信息處理方法,執(zhí)行數(shù)據(jù)通信并且執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理,其中,具有錯(cuò)誤檢測(cè)步驟,檢測(cè)自身所執(zhí)行的內(nèi)部數(shù)據(jù)處理中的錯(cuò)誤發(fā)生、或來(lái)自通信對(duì)方裝置的接收數(shù)據(jù)的通信錯(cuò)誤的發(fā)生;錯(cuò)誤通知數(shù)據(jù)發(fā)送步驟,將錯(cuò)誤檢測(cè)步驟中的錯(cuò)誤檢出作為條件,來(lái)發(fā)送錯(cuò)誤通知數(shù)據(jù);以及初始狀態(tài)復(fù)原步驟,將錯(cuò)誤通知數(shù)據(jù)的發(fā)送作為條件,來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
本發(fā)明的又一個(gè)實(shí)施方式是一種計(jì)算機(jī)程序,執(zhí)行數(shù)據(jù)通信并且在計(jì)算機(jī)上執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理,其中,具備錯(cuò)誤檢測(cè)步驟,檢測(cè)自身所執(zhí)行的內(nèi)部數(shù)據(jù)處理中的錯(cuò)誤發(fā)生、或來(lái)自通信對(duì)方裝置的接收數(shù)據(jù)的通信錯(cuò)誤的發(fā)生;錯(cuò)誤通知數(shù)據(jù)發(fā)送步驟,將錯(cuò)誤檢測(cè)步驟中的錯(cuò)誤檢出作為條件,來(lái)發(fā)送錯(cuò)誤通知數(shù)據(jù);以及初始狀態(tài)復(fù)原步驟,將錯(cuò)誤通知數(shù)據(jù)發(fā)送后的數(shù)據(jù)接收作為條件,來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
本發(fā)明的又一個(gè)實(shí)施方式是一種計(jì)算機(jī)程序,執(zhí)行數(shù)據(jù)通信并且在計(jì)算機(jī)上執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理,其中,具有錯(cuò)誤檢測(cè)步驟,檢測(cè)自身所執(zhí)行的內(nèi)部數(shù)據(jù)處理中的錯(cuò)誤發(fā)生、或來(lái)自通信對(duì)方裝置的接收數(shù)據(jù)的通信錯(cuò)誤的發(fā)生;錯(cuò)誤通知數(shù)據(jù)發(fā)送步驟,將錯(cuò)誤檢測(cè)步驟中的錯(cuò)誤檢出作為條件,來(lái)發(fā)送錯(cuò)誤通知數(shù)據(jù);以及初始狀態(tài)復(fù)原步驟,將錯(cuò)誤通知數(shù)據(jù)的發(fā)送作為條件,來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
應(yīng)用了本發(fā)明的計(jì)算機(jī)程序是一種針對(duì)例如可以執(zhí)行各種程序代碼的通用計(jì)算機(jī)系統(tǒng)以計(jì)算機(jī)可讀的格式通過(guò)存儲(chǔ)介質(zhì)、通信介質(zhì)(例如CD(Compact Disc光盤(pán))、FD(Floppy Disc軟盤(pán))、MO(MagnetoOptical磁性光盤(pán))盤(pán)等存儲(chǔ)介質(zhì)或網(wǎng)絡(luò)等通信介質(zhì))提供的計(jì)算機(jī)程序。通過(guò)以計(jì)算機(jī)可讀的格式提供這種程序,就能夠在計(jì)算機(jī)系統(tǒng)上實(shí)現(xiàn)與程序?qū)?yīng)的處理。
本發(fā)明所采用的結(jié)構(gòu)是,在執(zhí)行內(nèi)部數(shù)據(jù)處理并且相互執(zhí)行數(shù)據(jù)通信的多個(gè)實(shí)體(信息處理部)所構(gòu)成的信息處理系統(tǒng)中,第1實(shí)體根據(jù)錯(cuò)誤檢出,發(fā)送錯(cuò)誤通知數(shù)據(jù),將該錯(cuò)誤通知數(shù)據(jù)發(fā)送后的數(shù)據(jù)接收作為條件,來(lái)執(zhí)行初始狀態(tài)復(fù)原處理,并且第2實(shí)體根據(jù)錯(cuò)誤檢出,發(fā)送錯(cuò)誤通知數(shù)據(jù),將該錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理的執(zhí)行作為條件,來(lái)執(zhí)行初始狀態(tài)復(fù)原處理,因此,雙方的實(shí)體能夠可靠地實(shí)現(xiàn)同步而復(fù)原為初始狀態(tài),能進(jìn)行可靠的錯(cuò)誤恢復(fù)和數(shù)據(jù)處理的重新開(kāi)始。
進(jìn)而,通過(guò)采用本發(fā)明,在實(shí)體A、B之間執(zhí)行伴隨數(shù)據(jù)通信的數(shù)據(jù)處理的結(jié)構(gòu)中,當(dāng)實(shí)體A的數(shù)據(jù)處理(內(nèi)部處理)發(fā)生了錯(cuò)誤、實(shí)體B的數(shù)據(jù)處理(內(nèi)部處理)發(fā)生了錯(cuò)誤、從實(shí)體A向?qū)嶓wB發(fā)送的通信數(shù)據(jù)中發(fā)生了錯(cuò)誤、從實(shí)體B向?qū)嶓wA發(fā)送的通信數(shù)據(jù)中發(fā)生了錯(cuò)誤等不同形式的錯(cuò)誤發(fā)生時(shí),實(shí)體A根據(jù)錯(cuò)誤檢出,發(fā)送錯(cuò)誤通知數(shù)據(jù),將該錯(cuò)誤通知數(shù)據(jù)發(fā)送后的數(shù)據(jù)接收作為條件,來(lái)執(zhí)行初始狀態(tài)復(fù)原處理,實(shí)體B根據(jù)錯(cuò)誤檢出,發(fā)送錯(cuò)誤通知數(shù)據(jù),將錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理的執(zhí)行作為條件,來(lái)執(zhí)行初始狀態(tài)復(fù)原處理;借助于這種結(jié)構(gòu),雙方的實(shí)體能夠可靠地實(shí)現(xiàn)同步而復(fù)原為初始狀態(tài),能進(jìn)行可靠的錯(cuò)誤恢復(fù)和數(shù)據(jù)處理的重新開(kāi)始。
通過(guò)后文敘述的本發(fā)明的說(shuō)明以及參照附圖作出的更詳細(xì)的說(shuō)明應(yīng)可明確本發(fā)明的其他目的、特征和優(yōu)點(diǎn)。此外,本說(shuō)明書(shū)中所謂的系統(tǒng)是多個(gè)裝置的邏輯集合結(jié)構(gòu),各個(gè)構(gòu)成裝置并不限于處于同一殼體內(nèi)。
圖1是表示伴隨著實(shí)體A、B之間的數(shù)據(jù)通信的數(shù)據(jù)處理次序的序列圖。
圖2是表示在伴隨著實(shí)體A、B之間的數(shù)據(jù)通信的數(shù)據(jù)處理中實(shí)體A所執(zhí)行的處理的流程圖。
圖3是表示在伴隨著實(shí)體A、B之間的數(shù)據(jù)通信的數(shù)據(jù)處理中實(shí)體B所執(zhí)行的處理的流程圖。
圖4是表示在伴隨著實(shí)體A、B之間的數(shù)據(jù)通信的數(shù)據(jù)處理中實(shí)體A所執(zhí)行的錯(cuò)誤處理的流程圖。
圖5是表示在伴隨著實(shí)體A、B之間的數(shù)據(jù)通信的數(shù)據(jù)處理中實(shí)體B所執(zhí)行的錯(cuò)誤處理的流程圖。
圖6是表示在伴隨著實(shí)體A、B之間的數(shù)據(jù)通信的數(shù)據(jù)處理中實(shí)體A的數(shù)據(jù)處理(內(nèi)部處理)中發(fā)生錯(cuò)誤時(shí)的處理的序列圖。
圖7是表示在伴隨著實(shí)體A、B之間的數(shù)據(jù)通信的數(shù)據(jù)處理中實(shí)體B的數(shù)據(jù)處理(內(nèi)部處理)中發(fā)生錯(cuò)誤時(shí)的處理的流程圖。
圖8是表示在伴隨著實(shí)體A、B之間的數(shù)據(jù)通信的數(shù)據(jù)處理中實(shí)體A在發(fā)送數(shù)據(jù)中發(fā)生了通信錯(cuò)誤時(shí)的處理的序列圖。
圖9是表示在伴隨著實(shí)體A、B之間的數(shù)據(jù)通信的數(shù)據(jù)處理中實(shí)體A在發(fā)送數(shù)據(jù)中發(fā)生了通信錯(cuò)誤時(shí)的處理的序列圖。
圖10是表示執(zhí)行伴隨著實(shí)體A、B之間的數(shù)據(jù)通信的數(shù)據(jù)處理的信息處理裝置的框圖。
具體實(shí)施例方式 下面,參照附圖詳細(xì)說(shuō)明應(yīng)用了本發(fā)明的信息處理裝置、信息處理系統(tǒng)和信息處理方法以及計(jì)算機(jī)程序的實(shí)施方式。
本發(fā)明在多個(gè)信息處理裝置之間執(zhí)行通信并執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理的結(jié)構(gòu)中,不管發(fā)生了內(nèi)部處理錯(cuò)誤、通信錯(cuò)誤的哪一種,作為信息處理裝置的實(shí)體A和B雙方都能夠正確地識(shí)別錯(cuò)誤的發(fā)生,并使各自的內(nèi)部狀態(tài)同步,從而可以進(jìn)行可靠的錯(cuò)誤恢復(fù)并重新開(kāi)始處理。
在以下的本發(fā)明的說(shuō)明中,將在進(jìn)行通信的同時(shí)執(zhí)行數(shù)據(jù)處理的2個(gè)信息處理裝置假定為實(shí)體A和實(shí)體B。另外,各個(gè)符號(hào)的含義定義如下。
A在相互通信過(guò)程中最先發(fā)送數(shù)據(jù)的實(shí)體 B與實(shí)體A進(jìn)行通信的實(shí)體 TR通過(guò)A與B的通信而執(zhí)行的特定處理 ITRXi(v)實(shí)體X使用值v所作的第i項(xiàng)內(nèi)部處理(i=0,1,2......) Dataj數(shù)據(jù)處理中作為處理或通信對(duì)象的第j項(xiàng)數(shù)據(jù) IV用于執(zhí)行TR的初始值 SXi實(shí)體X的內(nèi)部狀態(tài)(實(shí)體A的初始狀態(tài)為SA0,實(shí)體B的初始狀態(tài)為SB0) 在實(shí)體A和實(shí)體B相互通信以執(zhí)行處理(TR)的信息處理系統(tǒng)中,如果發(fā)生了錯(cuò)誤,則各個(gè)實(shí)體A、B分別返回各自的初始狀態(tài)(SA0、SB0),由此實(shí)現(xiàn)內(nèi)部狀態(tài)的同步。檢測(cè)出錯(cuò)誤時(shí)的錯(cuò)誤恢復(fù)處理(以下簡(jiǎn)稱為錯(cuò)誤處理)通常有以下兩種處理方法。
(處理1)就此返回初始狀態(tài)。
(處理2)向通信對(duì)方發(fā)送錯(cuò)誤通知數(shù)據(jù)后返回初始狀態(tài)。接收到錯(cuò)誤通知數(shù)據(jù)的實(shí)體就此返回初始狀態(tài)。
首先,在(處理1)的情況下,處于內(nèi)部狀態(tài)SAi而檢測(cè)出錯(cuò)誤的實(shí)體A從內(nèi)部狀態(tài)SAi返回初始狀態(tài)SA0。另一方面,實(shí)體B不可能知道錯(cuò)誤的發(fā)生,因此其內(nèi)部狀態(tài)仍然是SBi。因此,當(dāng)實(shí)體A嘗試重新開(kāi)始執(zhí)行數(shù)據(jù)處理(TR)的情況下,實(shí)體A、實(shí)體B之間的內(nèi)部狀態(tài)保持不同步而執(zhí)行TR,不能得出正確的執(zhí)行結(jié)果。當(dāng)實(shí)體B處于內(nèi)部狀態(tài)SBi檢測(cè)出錯(cuò)誤時(shí)也是如此。
這種情況下,為了使各個(gè)實(shí)體的內(nèi)部狀態(tài)達(dá)到同步,需要有暫停處理。亦即,需要如下所示的處理檢測(cè)出錯(cuò)誤的實(shí)體中斷處理一定時(shí)間后返回初始狀態(tài),而另一個(gè)實(shí)體根據(jù)在一定時(shí)間內(nèi)沒(méi)有發(fā)送數(shù)據(jù)這一情況檢測(cè)出錯(cuò)誤的發(fā)生,由此返回初始狀態(tài)。這種暫停處理所面臨的問(wèn)題是,要考慮數(shù)據(jù)延遲等因素適當(dāng)?shù)卦O(shè)定時(shí)間,這并不容易做到。
接著,在(處理2)的情況下,處于內(nèi)部狀態(tài)SAi而檢測(cè)出錯(cuò)誤的實(shí)體A向?qū)嶓wB發(fā)送錯(cuò)誤通知數(shù)據(jù)后從內(nèi)部狀態(tài)SAi返回初始狀態(tài)SA0,實(shí)體B接收到錯(cuò)誤通知數(shù)據(jù)后返回初始狀態(tài)SB0,由此可以實(shí)現(xiàn)內(nèi)部狀態(tài)的同步。
但是,如果存在從實(shí)體A向?qū)嶓wB連續(xù)多次發(fā)送數(shù)據(jù)的處理,則當(dāng)從實(shí)體A發(fā)送數(shù)據(jù)的過(guò)程中發(fā)生通信錯(cuò)誤的情況下,實(shí)體B試圖向?qū)嶓wA發(fā)送錯(cuò)誤通知數(shù)據(jù),同時(shí),實(shí)體A試圖發(fā)送剩余的數(shù)據(jù),因此而導(dǎo)致兩個(gè)實(shí)體處于同時(shí)發(fā)送的狀態(tài),特別是在硬件的情況下有可能會(huì)陷入死鎖。這樣一來(lái),利用上述(處理1)、(處理2)的處理難以可靠地使內(nèi)部狀態(tài)同步而實(shí)現(xiàn)錯(cuò)誤恢復(fù)。
本發(fā)明采用的是在這種執(zhí)行相互通信的信息處理系統(tǒng)中通過(guò)設(shè)定滿足某種條件來(lái)可靠地實(shí)現(xiàn)各實(shí)體的內(nèi)部狀態(tài)同步的方式。下面敘述設(shè)定條件、通常狀態(tài)下TR的執(zhí)行、錯(cuò)誤處理、錯(cuò)誤發(fā)生時(shí)的動(dòng)作。
(1)設(shè)定條件 為了使各實(shí)體的內(nèi)部狀態(tài)在即使發(fā)生了錯(cuò)誤的情況下也能夠同步,構(gòu)筑滿足以下的設(shè)定條件的信息處理系統(tǒng)。此外,所謂的信息處理系統(tǒng)是由執(zhí)行相互通信以執(zhí)行數(shù)據(jù)處理的多個(gè)信息處理裝置等實(shí)體構(gòu)成的。
(設(shè)定1)發(fā)送數(shù)據(jù)可以使接收端檢測(cè)出有無(wú)通信錯(cuò)誤。
(設(shè)定2)發(fā)送和接收的數(shù)據(jù)無(wú)論有無(wú)錯(cuò)誤都可以被接收。
(設(shè)定3)發(fā)送和接收必須交替重復(fù)。
(設(shè)定4)實(shí)體B在發(fā)送了最后的數(shù)據(jù)之后仍然可以從實(shí)體A接收數(shù)據(jù)或者重置。
此外,在相互之間執(zhí)行通信的信息處理系統(tǒng)中,這些設(shè)定條件1~4依照例如以下方式實(shí)現(xiàn)。
(設(shè)定1)在發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)發(fā)送端實(shí)體在發(fā)送數(shù)據(jù)中附加相應(yīng)的錯(cuò)誤確認(rèn)或用作訂正信息的奇偶比特或校驗(yàn)和后發(fā)送出去。另外,數(shù)據(jù)接收端實(shí)體計(jì)算出接收數(shù)據(jù)的奇偶比特或校驗(yàn)和,判斷數(shù)據(jù)中是否沒(méi)有錯(cuò)誤。
(設(shè)定2)所發(fā)送的數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)包長(zhǎng)度等對(duì)于全部數(shù)據(jù)都采用相同數(shù)值?;蛘撸趯?shí)體AB之間進(jìn)行一次協(xié)商后將比特長(zhǎng)度固定下來(lái)。
(設(shè)定3)采用實(shí)體A、B都“從發(fā)送數(shù)據(jù)后直到接收到下一數(shù)據(jù)為止的期間內(nèi)不執(zhí)行內(nèi)部處理”這樣的動(dòng)作結(jié)構(gòu),并將實(shí)體A作為最初的數(shù)據(jù)發(fā)送方。
(設(shè)定4)將實(shí)體B的動(dòng)作構(gòu)成為在TR執(zhí)行結(jié)束后進(jìn)入等待接收來(lái)自實(shí)體A的數(shù)據(jù)或者等待重置的狀態(tài)。
通常狀態(tài)下的數(shù)據(jù)處理(TR)的執(zhí)行實(shí)例
下面說(shuō)明在實(shí)體A、B之間執(zhí)行數(shù)據(jù)通信的處理實(shí)例。首先,參照?qǐng)D1~圖3說(shuō)明沒(méi)有發(fā)生錯(cuò)誤的情況下的通信處理和實(shí)體A、B中的數(shù)據(jù)處理實(shí)例。
這里假定實(shí)體A和實(shí)體B分別執(zhí)行N次內(nèi)部處理(數(shù)據(jù)處理)和2N次數(shù)據(jù)發(fā)送和接收,由此完成全部數(shù)據(jù)處理(TR)。假定數(shù)據(jù)處理中所使用的初始值為初始值IV=Data0。
在圖1中表示整個(gè)處理的序列圖,在圖2和圖3中表示用于說(shuō)明實(shí)體A和實(shí)體B的內(nèi)部處理的執(zhí)行次序的流程圖。
首先,根據(jù)圖1說(shuō)明整個(gè)處理的序列。
處理開(kāi)始(TR開(kāi)始)后,在步驟S101中,實(shí)體A使用初始值(IV)執(zhí)行數(shù)據(jù)處理(內(nèi)部處理)ITRA1,根據(jù)初始值(IV)計(jì)算出數(shù)據(jù)處理的結(jié)果數(shù)據(jù)Data1。即,根據(jù) Data1=ITRA1(IV) 得到數(shù)據(jù)Data1。
實(shí)體A將該數(shù)據(jù)Data1發(fā)送給實(shí)體B。
在步驟S102中,實(shí)體B執(zhí)行驗(yàn)證處理,驗(yàn)證從實(shí)體A接收到的數(shù)據(jù)的正確性。數(shù)據(jù)Data1中附加有用作錯(cuò)誤確認(rèn)或訂正信息的奇偶比特或校驗(yàn)和,實(shí)體B計(jì)算出接收數(shù)據(jù)的奇偶比特或校驗(yàn)和,判斷數(shù)據(jù)中是否沒(méi)有錯(cuò)誤。
如果判斷為發(fā)現(xiàn)數(shù)據(jù)中有錯(cuò)誤,則轉(zhuǎn)至錯(cuò)誤處理。在后段詳細(xì)說(shuō)明錯(cuò)誤處理。如果判斷認(rèn)為數(shù)據(jù)中沒(méi)有錯(cuò)誤,則在步驟S103中,實(shí)體B使用所接收的數(shù)據(jù)(Data1)執(zhí)行數(shù)據(jù)處理(內(nèi)部處理)ITRB1,根據(jù)數(shù)據(jù)(Data1)計(jì)算出數(shù)據(jù)處理的結(jié)果數(shù)據(jù)Data2。即,根據(jù) Data2=ITRB1(Data1) 得到數(shù)據(jù)Data2。
實(shí)體B將該數(shù)據(jù)Data2發(fā)送給實(shí)體A。
在步驟S104中,實(shí)體A執(zhí)行驗(yàn)證處理,驗(yàn)證從實(shí)體B接收到的數(shù)據(jù)的正確性。數(shù)據(jù)Data2中也附加有用作錯(cuò)誤確認(rèn)或訂正信息的奇偶比特或校驗(yàn)和,實(shí)體A計(jì)算出接收數(shù)據(jù)的奇偶比特或校驗(yàn)和,判斷數(shù)據(jù)中是否沒(méi)有錯(cuò)誤。
如果判斷為發(fā)現(xiàn)數(shù)據(jù)中有錯(cuò)誤,則轉(zhuǎn)至錯(cuò)誤處理;如果判斷認(rèn)為數(shù)據(jù)中沒(méi)有錯(cuò)誤,則使用所接收的數(shù)據(jù)(Data2)執(zhí)行數(shù)據(jù)處理(內(nèi)部處理)ITRA2,根據(jù)數(shù)據(jù)(Data2)計(jì)算出數(shù)據(jù)處理的結(jié)果數(shù)據(jù)Data。
重復(fù)執(zhí)行這種數(shù)據(jù)處理、數(shù)據(jù)發(fā)送、數(shù)據(jù)驗(yàn)證處理,最終在步驟S121~S124執(zhí)行與步驟S101~S104相同的處理;在步驟S124中,實(shí)體A對(duì)從實(shí)體B接收到數(shù)據(jù)DataN執(zhí)行正確性驗(yàn)證,如果判斷認(rèn)為數(shù)據(jù)中沒(méi)有錯(cuò)誤就結(jié)束處理。
如果在全部數(shù)據(jù)處理、數(shù)據(jù)通信中都沒(méi)有發(fā)生錯(cuò)誤,則實(shí)體A和實(shí)體B分別執(zhí)行N次內(nèi)部處理(數(shù)據(jù)處理)和2N次數(shù)據(jù)發(fā)送和接收,由此完成全部數(shù)據(jù)處理(TR)。
接著參照?qǐng)D2、圖3說(shuō)明實(shí)體A、B各自的處理序列。首先參照?qǐng)D2說(shuō)明實(shí)體A的處理。
在步驟S201中開(kāi)始處理,在步驟S202中將參數(shù)i的初始值設(shè)定為i=0。參數(shù)i相當(dāng)于內(nèi)部狀態(tài)SAi的參數(shù)i。在這種狀態(tài)下,內(nèi)部狀態(tài)為初始狀態(tài)SA0。此外,各實(shí)體在數(shù)據(jù)處理執(zhí)行過(guò)程中存儲(chǔ)保存自己的內(nèi)部狀態(tài)。亦即,實(shí)體A保存內(nèi)部狀態(tài)SAi(i=0,1,......),實(shí)體B保存內(nèi)部狀態(tài)SBi(i=0,1,......)。
在步驟S203中執(zhí)行參數(shù)更新處理,將參數(shù)i加1。即,執(zhí)行 i=i+1 的更新處理。
接著,在步驟S204中執(zhí)行數(shù)據(jù)處理(內(nèi)部處理)。該數(shù)據(jù)處理使用數(shù)據(jù)Data2(i-1)執(zhí)行處理ITRAi,由此計(jì)算出處理結(jié)果數(shù)據(jù)Data2i-1。即,根據(jù) Data2i-1=ITRAi(Data2(i-1)) 計(jì)算出數(shù)據(jù)Data2i-1。
在步驟S205中,將步驟S204的數(shù)據(jù)處理(內(nèi)部處理)的結(jié)果數(shù)據(jù)Data2i-1發(fā)送到實(shí)體B。然后,在步驟S206中,從實(shí)體B接收實(shí)體B中的數(shù)據(jù)處理(內(nèi)部處理)的結(jié)果數(shù)據(jù)Data2i。
在步驟S207中執(zhí)行接收數(shù)據(jù)Data2i的正確性驗(yàn)證,如果正確性得到確認(rèn)則進(jìn)入步驟S208,判斷參數(shù)i是否等于最大值N;如果i<N則存在后續(xù)處理,因此在步驟S203中將參數(shù)i更新后重復(fù)執(zhí)行步驟S204以下的處理。最后,在步驟S208中如果判斷為發(fā)現(xiàn)參數(shù)i等于最大值N,則結(jié)束通信,轉(zhuǎn)至步驟S209執(zhí)行最終處理,結(jié)束全部處理。
在步驟S207中,如果判斷為發(fā)現(xiàn)接收數(shù)據(jù)Data2i不正確,則進(jìn)入步驟S210,轉(zhuǎn)至錯(cuò)誤處理。在后段說(shuō)明錯(cuò)誤處理的詳細(xì)內(nèi)容。
接著參照?qǐng)D3說(shuō)明實(shí)體B的處理。在步驟S221中開(kāi)始處理,在步驟S222中將參數(shù)i的初始值設(shè)定為i=0。參數(shù)i相當(dāng)于內(nèi)部狀態(tài)SBi的參數(shù)i。在這種狀態(tài)下,內(nèi)部狀態(tài)為初始狀態(tài)SB0。
在步驟S223中執(zhí)行參數(shù)更新處理,將參數(shù)i加1。即,執(zhí)行 i=i+1 的更新處理。
接著,在步驟S224中從實(shí)體A接收數(shù)據(jù)。所接收的數(shù)據(jù)是實(shí)體A中的內(nèi)部處理的結(jié)果數(shù)據(jù),即數(shù)據(jù)Data2i-1。在步驟S225中對(duì)接收數(shù)據(jù)Data2i-1進(jìn)行正確性驗(yàn)證。正確性驗(yàn)證處理使用接收數(shù)據(jù)中附帶的例如奇偶比特或校驗(yàn)和執(zhí)行處理。
如果接收數(shù)據(jù)的正確性得到確認(rèn),則進(jìn)入步驟S226,在實(shí)體B一側(cè)使用接收數(shù)據(jù)Data2i-1執(zhí)行數(shù)據(jù)處理(內(nèi)部處理)。該數(shù)據(jù)處理使用從實(shí)體A接收的數(shù)據(jù)Data2i-1執(zhí)行處理ITRBi,由此計(jì)算出處理結(jié)果數(shù)據(jù)Data2i。即,根據(jù) Data2i=ITRBi(Data2i-1) 計(jì)算出數(shù)據(jù)Data2i。
在步驟S227中,將步驟S226的數(shù)據(jù)處理(內(nèi)部處理)的結(jié)果數(shù)據(jù)Data2i發(fā)送到實(shí)體A。然后,在步驟S228中判斷參數(shù)i是否等于最大值N,如果i<N則表示存在后續(xù)處理,因此在步驟S223中更新參數(shù)i,重復(fù)執(zhí)行步驟S224以下的處理。最后,如果在步驟S228中判斷為發(fā)現(xiàn)參數(shù)i等于最大值N,則表示在實(shí)體一側(cè)沒(méi)有后續(xù)處理,因此進(jìn)入步驟S229,轉(zhuǎn)至等待接收來(lái)自實(shí)體A的數(shù)據(jù)的狀態(tài)。
在步驟S225中接收數(shù)據(jù)Data2i-1的正確性驗(yàn)證中,如果確認(rèn)接收數(shù)據(jù)中有錯(cuò)誤,則進(jìn)入步驟S230,轉(zhuǎn)至錯(cuò)誤處理。在后段說(shuō)明錯(cuò)誤處理的詳細(xì)內(nèi)容。
以上參照?qǐng)D1~圖3說(shuō)明了伴隨著實(shí)體AB之間的通信所執(zhí)行的數(shù)據(jù)處理序列。此外,這些處理序列的算法如下所述。
算法
1假定i=0。
2將i+1代入i。
3實(shí)體A計(jì)算出Data2i-1=ITRAi(Data2(i-1))的結(jié)果,發(fā)送給實(shí)體B。
4實(shí)體B接收到Data2i-1后判斷有無(wú)錯(cuò)誤。
如果有錯(cuò)誤則執(zhí)行錯(cuò)誤處理,否則進(jìn)入下一步。
5實(shí)體B計(jì)算出Data2i=ITRBi(Data2i-1)的結(jié)果,發(fā)送給實(shí)體A。
6實(shí)體A接收到Data2i后判斷有無(wú)錯(cuò)誤。
如果有錯(cuò)誤則執(zhí)行錯(cuò)誤處理,否則進(jìn)入下一步。
7如果i=N則執(zhí)行最終處理,TR結(jié)束。
否則返回2。
錯(cuò)誤處理
接著,說(shuō)明當(dāng)伴隨著實(shí)體之間的通信的數(shù)據(jù)處理中發(fā)生錯(cuò)誤時(shí)的處理。
伴隨著實(shí)體AB之間的通信的數(shù)據(jù)處理中發(fā)生錯(cuò)誤的形式有以下4種。
(1)實(shí)體A的數(shù)據(jù)處理(內(nèi)部處理)ITRAi中發(fā)生錯(cuò)誤。
(2)實(shí)體B的數(shù)據(jù)處理(內(nèi)部處理)ITRBi中發(fā)生錯(cuò)誤。
(3)從實(shí)體A向?qū)嶓wB發(fā)送的通信數(shù)據(jù)Data2i-1中發(fā)生錯(cuò)誤。
(4)從實(shí)體B向?qū)嶓wA發(fā)送的通信數(shù)據(jù)Data2i中發(fā)生錯(cuò)誤。
有可能發(fā)生上述4種形式的錯(cuò)誤。
實(shí)體A、B針對(duì)所有這些錯(cuò)誤形式執(zhí)行相同的錯(cuò)誤處理。實(shí)體A和實(shí)體B分別執(zhí)行錯(cuò)誤處理。首先參照?qǐng)D4、圖5的流程圖說(shuō)明這些各實(shí)體中的錯(cuò)誤處理序列,然后參照?qǐng)D6~圖9說(shuō)明對(duì)應(yīng)于上述(1)~(4)的各個(gè)錯(cuò)誤形式的處理序列。
首先,參照?qǐng)D4所示的流程圖說(shuō)明錯(cuò)誤發(fā)生時(shí)實(shí)體A所執(zhí)行的處理次序。
實(shí)體A在檢測(cè)到有錯(cuò)誤發(fā)生或者從實(shí)體B接收到有錯(cuò)誤發(fā)生的通知時(shí),在步驟S301中向?qū)嶓wB發(fā)送錯(cuò)誤通知數(shù)據(jù)。其中,實(shí)體A自己檢測(cè)到上述(1)~(4)的各個(gè)錯(cuò)誤形式或者從實(shí)體B接收到有錯(cuò)誤發(fā)生的通知。具體情形如下所述。
(1)實(shí)體A的數(shù)據(jù)處理(內(nèi)部處理)ITRAi中發(fā)生錯(cuò)誤。
(4)從實(shí)體B向?qū)嶓wA發(fā)送的通信數(shù)據(jù)Data2i中發(fā)生錯(cuò)誤。
在這兩種情況下,實(shí)體A執(zhí)行錯(cuò)誤檢測(cè),以檢測(cè)到這些錯(cuò)誤為條件,就在步驟S301中由實(shí)體A向?qū)嶓wB發(fā)送初始的錯(cuò)誤通知。
(2)實(shí)體B的數(shù)據(jù)處理(內(nèi)部處理)ITRBi中發(fā)生錯(cuò)誤。
(3)從實(shí)體A向?qū)嶓wB發(fā)送的通信數(shù)據(jù)Data2i-1中發(fā)生錯(cuò)誤。
在這兩種情況下,實(shí)體B執(zhí)行錯(cuò)誤檢測(cè),由實(shí)體B向?qū)嶓wA發(fā)送初始的錯(cuò)誤通知,實(shí)體A接收到該錯(cuò)誤通知后,在步驟S301中向?qū)嶓wB發(fā)送錯(cuò)誤通知。
步驟S301的錯(cuò)誤通知處理是分別與上述各個(gè)錯(cuò)誤形式的處理相對(duì)應(yīng)的錯(cuò)誤通知處理。其后,實(shí)體A在步驟S302中從實(shí)體B接收錯(cuò)誤通知數(shù)據(jù)。在步驟S303中,實(shí)體A以接收到來(lái)自實(shí)體B的錯(cuò)誤通知為條件返回初始狀態(tài)SA0。
依照此種方式,實(shí)體A執(zhí)行 (A1)錯(cuò)誤通知數(shù)據(jù)發(fā)送處理; (A2)錯(cuò)誤通知數(shù)據(jù)發(fā)送后的錯(cuò)誤通知數(shù)據(jù)接收處理; (A3)以執(zhí)行了這些錯(cuò)誤通知數(shù)據(jù)發(fā)送接收處理為條件執(zhí)行返回初始狀態(tài)SA0的處理。
該處理序列是通用于上述(1)~(4)的全部出錯(cuò)形式而執(zhí)行的處理。
此外,在上述處理中,在 (A2)錯(cuò)誤通知數(shù)據(jù)發(fā)送后的錯(cuò)誤通知數(shù)據(jù)接收處理中,如果發(fā)生了通信錯(cuò)誤就會(huì)導(dǎo)致實(shí)體A無(wú)法確認(rèn)所接收的數(shù)據(jù)是錯(cuò)誤通知數(shù)據(jù),但即使出現(xiàn)了這種情況,實(shí)體A也執(zhí)行返回初始狀態(tài)SA0的處理。亦即,實(shí)體A在執(zhí)行了 (A1)錯(cuò)誤通知數(shù)據(jù)發(fā)送處理之后,如果從實(shí)體B接收到數(shù)據(jù),則即使無(wú)法確認(rèn)所接收的數(shù)據(jù)是錯(cuò)誤通知數(shù)據(jù),仍然執(zhí)行返回初始狀態(tài)SA0的處理。在后段的“針對(duì)錯(cuò)誤通知數(shù)據(jù)的通信錯(cuò)誤的處理實(shí)例”一項(xiàng)中說(shuō)明這種處理。
接著,參照?qǐng)D5所示的流程圖說(shuō)明錯(cuò)誤發(fā)生時(shí)實(shí)體B所執(zhí)行的處理次序。
實(shí)體B在檢測(cè)到有錯(cuò)誤發(fā)生或者從實(shí)體A接收到有錯(cuò)誤發(fā)生的通知時(shí),在步驟S321中向?qū)嶓wA發(fā)送錯(cuò)誤通知數(shù)據(jù)。其中,實(shí)體B自己檢測(cè)到上述(1)~(4)的各個(gè)錯(cuò)誤形式或者從實(shí)體A接收到有錯(cuò)誤發(fā)生的通知。具體情形分為如下所述。
(2)實(shí)體B的數(shù)據(jù)處理(內(nèi)部處理)ITRBi中發(fā)生錯(cuò)誤。
(3)從實(shí)體A向?qū)嶓wB發(fā)送的通信數(shù)據(jù)Data2i-1中發(fā)送錯(cuò)誤。
在這兩種情況下,實(shí)體B執(zhí)行錯(cuò)誤檢測(cè),將檢測(cè)到這些錯(cuò)誤作為條件,就在步驟S321中由實(shí)體B向?qū)嶓wA發(fā)送初始的錯(cuò)誤通知。
(1)實(shí)體A的數(shù)據(jù)處理(內(nèi)部處理)ITRAi中發(fā)生錯(cuò)誤。
(4)從實(shí)體B向?qū)嶓wA發(fā)送的通信數(shù)據(jù)Data2i中發(fā)生錯(cuò)誤。
在這兩種情況下,實(shí)體A執(zhí)行錯(cuò)誤檢測(cè),由實(shí)體A向?qū)嶓wB發(fā)送初始的錯(cuò)誤通知,實(shí)體B接收到該錯(cuò)誤通知后,在步驟S321中向?qū)嶓wA發(fā)送錯(cuò)誤通知。
步驟S321的錯(cuò)誤通知處理是分別與上述各個(gè)錯(cuò)誤形式的處理相對(duì)應(yīng)的錯(cuò)誤通知處理。其后,實(shí)體B在步驟S322中返回初始狀態(tài)SB0。
依照此種方式,實(shí)體B執(zhí)行 (B1)錯(cuò)誤通知數(shù)據(jù)發(fā)送處理; (B2)以執(zhí)行了錯(cuò)誤通知數(shù)據(jù)發(fā)送處理為條件,執(zhí)行返回初始狀態(tài)SA0的處理。
該處理序列是通用于上述(1)~(4)的全部出錯(cuò)形式的處理。
接著,參照?qǐng)D6~圖9說(shuō)明(1)~(4)的出錯(cuò)形式、亦即 (1)實(shí)體A的數(shù)據(jù)處理(內(nèi)部處理)ITRAi中發(fā)生錯(cuò)誤; (2)實(shí)體B的數(shù)據(jù)處理(內(nèi)部處理)ITRBi中發(fā)生錯(cuò)誤; (3)從實(shí)體A向?qū)嶓wB發(fā)送的通信數(shù)據(jù)Data2i-1中發(fā)送錯(cuò)誤; (4)從實(shí)體B向?qū)嶓wA發(fā)送的通信數(shù)據(jù)Data2i中發(fā)生錯(cuò)誤;這4種出錯(cuò)形式中的數(shù)據(jù)處理、通信序列。
圖6是用于說(shuō)明對(duì)應(yīng)于(1)實(shí)體A的數(shù)據(jù)處理(內(nèi)部處理)ITRAi中發(fā)生錯(cuò)誤的處理次序的序列圖。按照步驟S401~S412的順序執(zhí)行處理。此外,在步驟S401~S412中,步驟S401~S407是與錯(cuò)誤相對(duì)應(yīng)的處理,而步驟S409以后的處理則表示重新開(kāi)始處理和重新開(kāi)始處理后的處理。步驟S401~S407的錯(cuò)誤應(yīng)對(duì)處理在伴隨著實(shí)體AB之間的通信的數(shù)據(jù)處理的執(zhí)行期間內(nèi)的任意時(shí)刻執(zhí)行。
首先,實(shí)體A在步驟S401中檢測(cè)到在實(shí)體A的數(shù)據(jù)處理(內(nèi)部處理)ITRAi中發(fā)生了錯(cuò)誤。實(shí)體A檢測(cè)出錯(cuò)誤后就在步驟S402中向?qū)嶓wB發(fā)送錯(cuò)誤通知數(shù)據(jù)。該錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理對(duì)應(yīng)于先前說(shuō)明的圖4的流程圖中的步驟S301的錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理。
接著,實(shí)體B在步驟S403中接收來(lái)自實(shí)體A的錯(cuò)誤通知數(shù)據(jù),并在步驟S404中向?qū)嶓wA發(fā)送錯(cuò)誤通知數(shù)據(jù)之后在步驟S405中返回初始狀態(tài)SB0。步驟S404的錯(cuò)誤通知數(shù)據(jù)發(fā)送處理與先前參照?qǐng)D5說(shuō)明的處理流程中的步驟S321的錯(cuò)誤通知數(shù)據(jù)發(fā)送處理相對(duì)應(yīng),步驟S405的初始狀態(tài)SB0復(fù)原處理與圖5的處理流程中的步驟S322的初始狀態(tài)SB0復(fù)原處理相對(duì)應(yīng)。
接著,實(shí)體A在步驟S406中接收來(lái)自實(shí)體B的錯(cuò)誤通知數(shù)據(jù),并在步驟S407中返回初始狀態(tài)SA0。步驟S406的錯(cuò)誤通知數(shù)據(jù)接收處理與先前參照?qǐng)D4說(shuō)明的處理流程中的步驟S302的錯(cuò)誤通知數(shù)據(jù)接收處理相對(duì)應(yīng),步驟S407的初始狀態(tài)SA0復(fù)原處理與圖4的處理流程中的步驟S303的初始狀態(tài)SA0復(fù)原處理相對(duì)應(yīng)。
其中,如后段的“針對(duì)錯(cuò)誤通知數(shù)據(jù)的通信錯(cuò)誤的處理實(shí)例”中所說(shuō)明,實(shí)體A即使由于通信錯(cuò)誤而無(wú)法確認(rèn)在步驟S406中接收的來(lái)自實(shí)體B的數(shù)據(jù)是錯(cuò)誤通知數(shù)據(jù),也會(huì)進(jìn)入步驟S407,返回初始狀態(tài)SA0。在后段說(shuō)明該處理的詳細(xì)內(nèi)容。
實(shí)體A在步驟S407中返回初始狀態(tài)SA0后,在步驟S408中從初始狀態(tài)開(kāi)始重新執(zhí)行數(shù)據(jù)處理(TR)。處理重新開(kāi)始后,在步驟S409中,實(shí)體A使用初始值(IV)執(zhí)行數(shù)據(jù)處理(內(nèi)部處理)ITRA1,根據(jù)初始值(IV)計(jì)算出數(shù)據(jù)處理的結(jié)果數(shù)據(jù)Data1。即,根據(jù) Data1=ITRA1(V1) 得到數(shù)據(jù)Data1。
實(shí)體A將該數(shù)據(jù)Data1發(fā)送給實(shí)體B。
在步驟S410中,實(shí)體B執(zhí)行驗(yàn)證處理,驗(yàn)證從實(shí)體A接收到的數(shù)據(jù)的正確性。亦即,計(jì)算出奇偶比特或校驗(yàn)和,判斷數(shù)據(jù)中是否沒(méi)有錯(cuò)誤。如果判斷為發(fā)現(xiàn)數(shù)據(jù)中有錯(cuò)誤,則轉(zhuǎn)至錯(cuò)誤處理。
這種情況下的錯(cuò)誤處理是前面敘述的錯(cuò)誤形式(1)~(4)中的(3)從實(shí)體A向?qū)嶓wB發(fā)送的通信數(shù)據(jù)Data2i-1中發(fā)送錯(cuò)誤;在后段參照?qǐng)D8加以詳細(xì)說(shuō)明。
如果判斷認(rèn)為數(shù)據(jù)中沒(méi)有錯(cuò)誤,則在步驟S411中,實(shí)體B使用所接收的數(shù)據(jù)(Data1)執(zhí)行數(shù)據(jù)處理(內(nèi)部處理)ITRB1,根據(jù)數(shù)據(jù)(Data1)計(jì)算出數(shù)據(jù)處理的結(jié)果數(shù)據(jù)Data2。即,根據(jù) Data2=ITRB1(Data1) 得到數(shù)據(jù)Data2。
實(shí)體B將該數(shù)據(jù)Data2發(fā)送給實(shí)體A。
在步驟S412中,實(shí)體A執(zhí)行驗(yàn)證處理,驗(yàn)證從實(shí)體B接收到的數(shù)據(jù)的正確性。計(jì)算出數(shù)據(jù)Data2的奇偶比特或校驗(yàn)和,判斷數(shù)據(jù)中是否沒(méi)有錯(cuò)誤。如果判斷為發(fā)現(xiàn)數(shù)據(jù)中有錯(cuò)誤,則轉(zhuǎn)至錯(cuò)誤處理。
這種情況下的錯(cuò)誤處理是前面敘述的錯(cuò)誤形式(1)~(4)中的(4)從實(shí)體B向?qū)嶓wA發(fā)送的通信數(shù)據(jù)Data2i中發(fā)生錯(cuò)誤;在后段參照?qǐng)D9加以詳細(xì)說(shuō)明。如果判斷認(rèn)為數(shù)據(jù)中沒(méi)有錯(cuò)誤,則使用所接收的數(shù)據(jù)(Data2)執(zhí)行數(shù)據(jù)處理(內(nèi)部處理)ITRA2,根據(jù)數(shù)據(jù)(Data2)計(jì)算出數(shù)據(jù)處理的結(jié)果數(shù)據(jù)Data3。以后則重復(fù)執(zhí)行同樣的數(shù)據(jù)處理、數(shù)據(jù)發(fā)送、數(shù)據(jù)驗(yàn)證處理。
由以上所說(shuō)明的序列可知,(1)實(shí)體A的數(shù)據(jù)處理(內(nèi)部處理)ITRAi中發(fā)生錯(cuò)誤時(shí)相應(yīng)的錯(cuò)誤處理中,按照先前說(shuō)明的圖4、圖5的流程圖執(zhí)行處理,亦即, 實(shí)體A執(zhí)行 (A1)錯(cuò)誤通知數(shù)據(jù)發(fā)送處理; (A2)錯(cuò)誤通知數(shù)據(jù)發(fā)送后的錯(cuò)誤通知數(shù)據(jù)接收、或通信錯(cuò)誤數(shù)據(jù)接收處理; (A3)以執(zhí)行了這些數(shù)據(jù)發(fā)送接收處理為條件,執(zhí)行返回初始狀態(tài)SA0的處理。
另一方面,實(shí)體B執(zhí)行 (B1)錯(cuò)誤通知數(shù)據(jù)發(fā)送處理; (B2)以執(zhí)行了錯(cuò)誤通知數(shù)據(jù)發(fā)送處理為條件,執(zhí)行返回初始狀態(tài)SA0的處理。
通過(guò)使各個(gè)實(shí)體執(zhí)行這些處理,能夠使其同步而分別返回初始狀態(tài)SA0、SB0,從而實(shí)現(xiàn)可靠地使內(nèi)部狀態(tài)同步的錯(cuò)誤恢復(fù)處理。
接著,參照?qǐng)D7說(shuō)明(2)實(shí)體B的數(shù)據(jù)處理(內(nèi)部處理)ITRBi中發(fā)生錯(cuò)誤時(shí)相應(yīng)的處理次序。按照步驟S501~S517的順序執(zhí)行處理。此外,在步驟S501~S517中,步驟S502~S512是錯(cuò)誤檢測(cè)和錯(cuò)誤應(yīng)對(duì)處理,而步驟S513以后的處理則表示重新開(kāi)始處理和重新開(kāi)始處理后的處理。步驟S502~S512的錯(cuò)誤應(yīng)對(duì)處理在伴隨著實(shí)體AB之間的通信的數(shù)據(jù)處理的執(zhí)行期間內(nèi)的任意時(shí)刻執(zhí)行。
首先,實(shí)體A在步驟S501中執(zhí)行實(shí)體A的數(shù)據(jù)處理(內(nèi)部處理)ITRAi,根據(jù) Data2i-1=ITRAi(Data(2i-1)) 得到數(shù)據(jù)Data2i-1。
實(shí)體A將該數(shù)據(jù)Data2i-1發(fā)送給實(shí)體B。
在步驟S502中,實(shí)體B執(zhí)行驗(yàn)證處理,驗(yàn)證從實(shí)體A接收到的數(shù)據(jù)的正確性。亦即,計(jì)算出奇偶比特或校驗(yàn)和,判斷數(shù)據(jù)中是否沒(méi)有錯(cuò)誤。如果判斷為發(fā)現(xiàn)數(shù)據(jù)中有錯(cuò)誤,則轉(zhuǎn)至錯(cuò)誤處理。這種情況下的錯(cuò)誤處理是前面敘述的錯(cuò)誤形式(1)~(4)中的(3)從實(shí)體A向?qū)嶓wB發(fā)送的通信數(shù)據(jù)Data2i-1中發(fā)送錯(cuò)誤;在后段參照?qǐng)D8加以詳細(xì)說(shuō)明。
在該處理實(shí)例中,在步驟S502中,假定實(shí)體B確認(rèn)從實(shí)體A接收到的數(shù)據(jù)的正確性,而在步驟S503中,實(shí)體B則執(zhí)行實(shí)體B的數(shù)據(jù)處理(內(nèi)部處理)ITRBi,根據(jù) Data2i=ITRBi(Data2i-1) 得到數(shù)據(jù)Data2i。
實(shí)體B在該數(shù)據(jù)Data2i的生成處理中檢測(cè)出錯(cuò)誤的發(fā)生。實(shí)體B檢測(cè)出錯(cuò)誤后就在步驟S504中向?qū)嶓wA發(fā)送錯(cuò)誤通知數(shù)據(jù)。該錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理對(duì)應(yīng)于先前說(shuō)明的圖5的流程圖中的步驟S321的錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理。
其后,實(shí)體B在步驟S505中返回初始狀態(tài)SB0。步驟S505的初始狀態(tài)SB0復(fù)原處理與圖5的處理流程中的步驟S322的初始狀態(tài)SB0復(fù)原處理相對(duì)應(yīng)。
其后,實(shí)體A在步驟S506中接收到來(lái)自實(shí)體B的錯(cuò)誤通知數(shù)據(jù)后,就在步驟S507中向?qū)嶓wB發(fā)送錯(cuò)誤通知數(shù)據(jù)。該錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理對(duì)應(yīng)于先前說(shuō)明的圖4的流程圖中的步驟S301的錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理。
接著,實(shí)體B在步驟S508中接收來(lái)自實(shí)體A的錯(cuò)誤通知數(shù)據(jù),并在步驟S509中向?qū)嶓wA發(fā)送錯(cuò)誤通知數(shù)據(jù)之后在步驟S510中返回初始狀態(tài)SB0。步驟S509的錯(cuò)誤通知數(shù)據(jù)發(fā)送處理與先前參照?qǐng)D5說(shuō)明的處理流程中的步驟S321的錯(cuò)誤通知數(shù)據(jù)發(fā)送處理相對(duì)應(yīng),步驟S510的初始狀態(tài)SB0復(fù)原處理與圖5的處理流程中的步驟S322的初始狀態(tài)SB0復(fù)原處理相對(duì)應(yīng)。
接著,實(shí)體A在步驟S511中接收來(lái)自實(shí)體B的錯(cuò)誤通知數(shù)據(jù),并在步驟S512中返回初始狀態(tài)SA0。步驟S511的錯(cuò)誤通知數(shù)據(jù)接收處理與先前參照?qǐng)D4說(shuō)明的處理流程中的步驟S302的錯(cuò)誤通知數(shù)據(jù)接收處理相對(duì)應(yīng),步驟S512的初始狀態(tài)SA0復(fù)原處理與圖4的處理流程中的步驟S303的初始狀態(tài)SA0復(fù)原處理相對(duì)應(yīng)。
此外,實(shí)體A即使由于通信錯(cuò)誤而無(wú)法確認(rèn)在步驟S511中接收的來(lái)自實(shí)體B的數(shù)據(jù)是錯(cuò)誤通知數(shù)據(jù),也會(huì)進(jìn)入步驟S512,返回初始狀態(tài)SA0。在后段的“針對(duì)錯(cuò)誤通知數(shù)據(jù)的通信錯(cuò)誤的處理實(shí)例”中詳細(xì)說(shuō)明這種處理。
實(shí)體A在步驟S512中返回初始狀態(tài)SA0后,在步驟S513中從初始狀態(tài)開(kāi)始重新執(zhí)行數(shù)據(jù)處理(TR)。以下的步驟S514~S517與圖6的序列圖的步驟S409~S412的處理相同,省略其說(shuō)明。
由以上所說(shuō)明的序列可知,(2)實(shí)體B的數(shù)據(jù)處理(內(nèi)部處理)ITRBi中發(fā)生錯(cuò)誤時(shí)相應(yīng)的錯(cuò)誤處理中,也按照先前說(shuō)明的圖4、圖5的流程圖執(zhí)行處理,亦即, 實(shí)體A執(zhí)行 (A1)錯(cuò)誤通知數(shù)據(jù)發(fā)送處理; (A2)錯(cuò)誤通知數(shù)據(jù)發(fā)送后的錯(cuò)誤通知數(shù)據(jù)接收、或通信錯(cuò)誤數(shù)據(jù)接收處理; (A3)以執(zhí)行了這些錯(cuò)誤通知數(shù)據(jù)發(fā)送接收處理為條件,執(zhí)行返回初始狀態(tài)SA0的處理。
另一方面,實(shí)體B執(zhí)行 (B1)錯(cuò)誤通知數(shù)據(jù)發(fā)送處理; (B2)以執(zhí)行了錯(cuò)誤通知數(shù)據(jù)發(fā)送處理為條件,執(zhí)行返回初始狀態(tài)SA0的處理。
在圖7所示的序列中,實(shí)體B將上述B1、B2的處理執(zhí)行了2次;最終,當(dāng)實(shí)體A返回初始狀態(tài)SA0時(shí),實(shí)體B也返回初始狀態(tài)SB0,此時(shí),數(shù)據(jù)處理(TR)從初始狀態(tài)開(kāi)始重新執(zhí)行,因此可以可靠地使內(nèi)部狀態(tài)同步而實(shí)現(xiàn)錯(cuò)誤恢復(fù)。
接著,參照?qǐng)D8說(shuō)明(3)從實(shí)體A向?qū)嶓wB發(fā)送的通信數(shù)據(jù)Data2i-1中發(fā)生錯(cuò)誤時(shí)相應(yīng)的處理次序。按照步驟S601~S616的順序執(zhí)行處理。此外,在步驟S601~S616中,步驟S602~S611是錯(cuò)誤檢測(cè)和錯(cuò)誤應(yīng)對(duì)處理,而步驟S612以后的處理則表示重新開(kāi)始處理和重新開(kāi)始處理后的處理。步驟S602~S611的錯(cuò)誤對(duì)應(yīng)處理在伴隨著實(shí)體AB之間的通信的數(shù)據(jù)處理的執(zhí)行期間內(nèi)的任意時(shí)刻執(zhí)行。
首先,實(shí)體A在步驟S601中執(zhí)行實(shí)體A的數(shù)據(jù)處理(內(nèi)部處理)ITRAi,根據(jù) Data2i-1=ITRAi(Data2(i-1)) 得到數(shù)據(jù)Data2i-1。
實(shí)體A將該數(shù)據(jù)Data2i-1發(fā)送給實(shí)體B。
在本處理實(shí)例中,假定發(fā)生了該通信數(shù)據(jù)Data2i-1的通信錯(cuò)誤。在步驟S602中,實(shí)體B執(zhí)行驗(yàn)證處理,驗(yàn)證從實(shí)體A接收到的數(shù)據(jù)的正確性。亦即,計(jì)算出奇偶比特或校驗(yàn)和,判斷數(shù)據(jù)中是否沒(méi)有錯(cuò)誤。如果判斷為發(fā)現(xiàn)數(shù)據(jù)中有錯(cuò)誤,則轉(zhuǎn)至錯(cuò)誤處理。
在該處理實(shí)例中,假定在步驟S602中實(shí)體B在從實(shí)體A接收到的數(shù)據(jù)中檢測(cè)出錯(cuò)誤。這種情況下,實(shí)體B在步驟S603中向?qū)嶓wA發(fā)送錯(cuò)誤通知數(shù)據(jù)。該錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理對(duì)應(yīng)于先前說(shuō)明的圖5的流程圖中的步驟S321的錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理。
其后,實(shí)體B在步驟S604中返回初始狀態(tài)SB0。步驟S604的初始狀態(tài)SB0復(fù)原處理與圖5的處理流程中的步驟S322的初始狀態(tài)SB0復(fù)原處理相對(duì)應(yīng)。
其后,實(shí)體A在步驟S605中接收到來(lái)自實(shí)體B的錯(cuò)誤通知數(shù)據(jù)后,就在步驟S606中向?qū)嶓wB發(fā)送錯(cuò)誤通知數(shù)據(jù)。該錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理對(duì)應(yīng)于先前說(shuō)明的圖4的流程圖中的步驟S301的錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理。
接著,實(shí)體B在步驟S607中接收來(lái)自實(shí)體A的錯(cuò)誤通知數(shù)據(jù),并在步驟S608中向?qū)嶓wA發(fā)送錯(cuò)誤通知數(shù)據(jù)之后在步驟S609中返回初始狀態(tài)SB0。步驟S608的錯(cuò)誤通知數(shù)據(jù)發(fā)送處理與先前參照?qǐng)D5說(shuō)明的處理流程中的步驟S321的錯(cuò)誤通知數(shù)據(jù)發(fā)送處理相對(duì)應(yīng),步驟S609的初始狀態(tài)SB0復(fù)原處理與圖5的處理流程中的步驟S322的初始狀態(tài)SB0復(fù)原處理相對(duì)應(yīng)。
接著,實(shí)體A在步驟S610中接收來(lái)自實(shí)體B的錯(cuò)誤通知數(shù)據(jù),并在步驟S611中返回初始狀態(tài)SA0。步驟S610的錯(cuò)誤通知數(shù)據(jù)接收處理與先前參照?qǐng)D4說(shuō)明的處理流程中的步驟S302的錯(cuò)誤通知數(shù)據(jù)接收處理相對(duì)應(yīng),步驟S611的初始狀態(tài)SA0復(fù)原處理與圖4的處理流程中的步驟S303的初始狀態(tài)SA0復(fù)原處理相對(duì)應(yīng)。
此外,實(shí)體A即使由于通信錯(cuò)誤而無(wú)法確認(rèn)在步驟S610中接收的來(lái)自實(shí)體B的數(shù)據(jù)是錯(cuò)誤通知數(shù)據(jù),也會(huì)進(jìn)入步驟S611,返回初始狀態(tài)SA0。在后段的“針對(duì)錯(cuò)誤通知數(shù)據(jù)的通信錯(cuò)誤的處理實(shí)例”中詳細(xì)說(shuō)明這種處理。
實(shí)體A在步驟S611中返回初始狀態(tài)SA0后,在步驟S612中從初始狀態(tài)開(kāi)始重新執(zhí)行數(shù)據(jù)處理(TR)。以下的步驟S612~S616與圖6的序列圖的步驟S409~S412的處理相同,省略其說(shuō)明。
由以上所說(shuō)明的序列可知,(3)從實(shí)體A向?qū)嶓wB發(fā)送的通信數(shù)據(jù)Data2i-1中發(fā)生錯(cuò)誤時(shí)相應(yīng)的錯(cuò)誤處理中,也按照先前說(shuō)明的圖4、圖5的流程圖執(zhí)行處理,亦即, 實(shí)體A執(zhí)行 (A1)錯(cuò)誤通知數(shù)據(jù)發(fā)送處理; (A2)錯(cuò)誤通知數(shù)據(jù)發(fā)送后的錯(cuò)誤通知數(shù)據(jù)接收、或通信錯(cuò)誤數(shù)據(jù)接收處理; (A3)在完成了這些錯(cuò)誤通知數(shù)據(jù)發(fā)送接收處理后返回初始狀態(tài)SA0的處理。
另一方面,實(shí)體B執(zhí)行 (B1)錯(cuò)誤通知數(shù)據(jù)發(fā)送處理; (B2)以執(zhí)行了錯(cuò)誤通知數(shù)據(jù)發(fā)送處理為條件,執(zhí)行返回初始狀態(tài)SA0的處理。
在圖8所示的序列中,實(shí)體B也將上述B1、B2的處理執(zhí)行了2次;最終,當(dāng)實(shí)體A返回初始狀態(tài)SA0時(shí),實(shí)體B也返回初始狀態(tài)SB0,此時(shí),數(shù)據(jù)處理(TR)從初始狀態(tài)開(kāi)始重新執(zhí)行,因此可以可靠地使內(nèi)部狀態(tài)同步而實(shí)現(xiàn)錯(cuò)誤恢復(fù)。
接著,參照?qǐng)D9說(shuō)明(4)從實(shí)體B向?qū)嶓wA發(fā)送的通信數(shù)據(jù)Data2i中發(fā)生錯(cuò)誤時(shí)相應(yīng)的處理次序。按照步驟S701~S715的順序執(zhí)行處理。此外,在步驟S701~S715中,步驟S704~S710是錯(cuò)誤檢測(cè)和錯(cuò)誤應(yīng)對(duì)處理,而步驟S711以后的處理則表示重新開(kāi)始處理和重新開(kāi)始處理后的處理。步驟S704~S710的錯(cuò)誤應(yīng)對(duì)處理在伴隨著實(shí)體AB之間的通信的數(shù)據(jù)處理的執(zhí)行期間內(nèi)的任意時(shí)刻執(zhí)行。
首先,實(shí)體A在步驟S701中執(zhí)行實(shí)體A的數(shù)據(jù)處理(內(nèi)部處理)ITRAi,根據(jù) Data2i-1=ITRAi(Data2(i-1)) 得到數(shù)據(jù)Data2i-1。
實(shí)體A將該數(shù)據(jù)Data2i-1發(fā)送給實(shí)體B。
在步驟S702中,實(shí)體B執(zhí)行驗(yàn)證處理,驗(yàn)證從實(shí)體A接收到的數(shù)據(jù)的正確性。亦即,計(jì)算出奇偶比特或校驗(yàn)和,判斷數(shù)據(jù)中是否沒(méi)有錯(cuò)誤。如果判斷為發(fā)現(xiàn)數(shù)據(jù)中有錯(cuò)誤,則轉(zhuǎn)至錯(cuò)誤處理。這種情況下的錯(cuò)誤處理是前面敘述的錯(cuò)誤形式(1)~(4)中的(3)從實(shí)體A向?qū)嶓wB發(fā)送的通信數(shù)據(jù)Data2i-1中發(fā)送錯(cuò)誤;執(zhí)行參照?qǐng)D8所說(shuō)明的處理。
在該處理實(shí)例中,在步驟S702中,假定實(shí)體B確認(rèn)了從實(shí)體A接收到的數(shù)據(jù)的正確性,而在步驟S703中,實(shí)體B則執(zhí)行實(shí)體B的數(shù)據(jù)處理(內(nèi)部處理)ITRBi,根據(jù) Data2i=ITRBi(Data2i-1) 執(zhí)行數(shù)據(jù)Data2i的計(jì)算處理,將所生成的數(shù)據(jù)發(fā)送給實(shí)體A。
在本處理實(shí)例中,假定在該實(shí)體B的生成數(shù)據(jù)的通信過(guò)程中發(fā)生了錯(cuò)誤。在步驟S704中,實(shí)體A執(zhí)行驗(yàn)證處理,驗(yàn)證從實(shí)體B接收到的數(shù)據(jù)的正確性。亦即,計(jì)算出奇偶比特或校驗(yàn)和,判斷數(shù)據(jù)中是否沒(méi)有錯(cuò)誤。如果判斷為發(fā)現(xiàn)數(shù)據(jù)中有錯(cuò)誤,則轉(zhuǎn)至錯(cuò)誤處理。
在該處理實(shí)例中,在步驟S704中實(shí)體A根據(jù)從實(shí)體B接收到的數(shù)據(jù)檢測(cè)錯(cuò)誤。這種情況下,實(shí)體A在步驟S705中向?qū)嶓wB發(fā)送錯(cuò)誤通知數(shù)據(jù)。該錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理對(duì)應(yīng)于先前說(shuō)明的圖4的流程圖中的步驟S301的錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理。
接著,實(shí)體B在步驟S706中接收來(lái)自實(shí)體A的錯(cuò)誤通知數(shù)據(jù),并在步驟S707中向?qū)嶓wA發(fā)送錯(cuò)誤通知數(shù)據(jù)之后在步驟S708中返回初始狀態(tài)SB0。步驟S707的錯(cuò)誤通知數(shù)據(jù)發(fā)送處理與先前參照?qǐng)D5說(shuō)明的處理流程中的步驟S321的錯(cuò)誤通知數(shù)據(jù)發(fā)送處理相對(duì)應(yīng),步驟S708的初始狀態(tài)SB0復(fù)原處理與圖5的處理流程中的步驟S322的初始狀態(tài)SB0復(fù)原處理相對(duì)應(yīng)。
接著,實(shí)體A在步驟S709中接收來(lái)自實(shí)體B的錯(cuò)誤通知數(shù)據(jù),并在步驟S710中返回初始狀態(tài)SA0。步驟S709的錯(cuò)誤通知數(shù)據(jù)接收處理與先前參照?qǐng)D4說(shuō)明的處理流程中的步驟S302的錯(cuò)誤通知數(shù)據(jù)接收處理相對(duì)應(yīng),步驟S710的初始狀態(tài)SA0復(fù)原處理與圖4的處理流程中的步驟S303的初始狀態(tài)SA0復(fù)原處理相對(duì)應(yīng)。
此外,實(shí)體A即使由于通信錯(cuò)誤而無(wú)法確認(rèn)在步驟S709中接收的來(lái)自實(shí)體B的數(shù)據(jù)是錯(cuò)誤通知數(shù)據(jù),也會(huì)進(jìn)入步驟S710,返回初始狀態(tài)SA0。在后段的“針對(duì)錯(cuò)誤通知數(shù)據(jù)的通信錯(cuò)誤的處理實(shí)例”中詳細(xì)說(shuō)明這種處理。
實(shí)體A在步驟S710中返回初始狀態(tài)SA0后,在步驟S711中從初始狀態(tài)開(kāi)始重新執(zhí)行數(shù)據(jù)處理(TR)。以下的步驟S711~S715與圖6的序列圖的步驟S409~S412的處理相同,省略其說(shuō)明。
由以上所說(shuō)明的序列可知,(4)從實(shí)體B向?qū)嶓wA發(fā)送的通信數(shù)據(jù)Data2i中發(fā)生錯(cuò)誤時(shí)相應(yīng)的錯(cuò)誤處理中,也按照先前說(shuō)明的圖4、圖5的流程圖執(zhí)行處理,亦即, 實(shí)體A執(zhí)行 (A1)錯(cuò)誤通知數(shù)據(jù)發(fā)送處理; (A2)錯(cuò)誤通知數(shù)據(jù)發(fā)送后的錯(cuò)誤通知數(shù)據(jù)接收、或通信錯(cuò)誤數(shù)據(jù)接收處理; (A3)以執(zhí)行了這些錯(cuò)誤通知數(shù)據(jù)發(fā)送接收處理為條件,執(zhí)行返回初始狀態(tài)SA0的處理。
另一方面,實(shí)體B執(zhí)行 (B1)錯(cuò)誤通知數(shù)據(jù)發(fā)送處理; (B2)以執(zhí)行了錯(cuò)誤通知數(shù)據(jù)發(fā)送處理為條件,執(zhí)行返回初始狀態(tài)SA0的處理。
在圖9的序列中,實(shí)體B也執(zhí)行上述B1、B2的處理;當(dāng)實(shí)體A返回初始狀態(tài)SA0時(shí),實(shí)體B也返回初始狀態(tài)SB0,此時(shí),數(shù)據(jù)處理(TR)從初始狀態(tài)開(kāi)始重新執(zhí)行,因此可以可靠地使內(nèi)部狀態(tài)同步而實(shí)現(xiàn)錯(cuò)誤恢復(fù)。
針對(duì)錯(cuò)誤通知數(shù)據(jù)的通信錯(cuò)誤的處理實(shí)例
參照?qǐng)D6~圖9所說(shuō)明的處理序列并沒(méi)有考慮在實(shí)體A和實(shí)體B之間收發(fā)的錯(cuò)誤通知數(shù)據(jù)中可能發(fā)生的發(fā)送錯(cuò)誤,但即使錯(cuò)誤通知數(shù)據(jù)中發(fā)生了發(fā)送錯(cuò)誤,只要實(shí)體A按照?qǐng)D4所示的流程圖執(zhí)行處理而實(shí)體B則按照?qǐng)D5所示的流程圖執(zhí)行處理,雙方同步返回初始狀態(tài),就能夠從初始狀態(tài)開(kāi)始重新執(zhí)行數(shù)據(jù)處理(TR)。
下面,說(shuō)明錯(cuò)誤通知數(shù)據(jù)中發(fā)生了發(fā)送錯(cuò)誤的情形。當(dāng)錯(cuò)誤通知數(shù)據(jù)中發(fā)生錯(cuò)誤時(shí),圖4的流程圖中的步驟S301和步驟S302的錯(cuò)誤通知數(shù)據(jù)和圖5的流程圖中的步驟S321的錯(cuò)誤通知數(shù)據(jù)在傳輸時(shí)出現(xiàn)錯(cuò)誤。
首先,說(shuō)明圖4的步驟S301、S302的錯(cuò)誤通知數(shù)據(jù)發(fā)生錯(cuò)誤時(shí)的處理。在圖4所示的流程圖中,錯(cuò)誤通知數(shù)據(jù)中發(fā)生通信錯(cuò)誤的情形可以分為以下3種。
(1)在步驟S301中發(fā)送的數(shù)據(jù)中出現(xiàn)通信錯(cuò)誤的情形; (2)在步驟S302中接收的數(shù)據(jù)中出現(xiàn)通信錯(cuò)誤的情形; (3)(1)、(2)都發(fā)生的情形。
首先,說(shuō)明當(dāng)(1)在步驟S301中發(fā)送的數(shù)據(jù)中出現(xiàn)通信錯(cuò)誤時(shí)的處理。在步驟S301中,實(shí)體A所發(fā)送的數(shù)據(jù)是錯(cuò)誤通知數(shù)據(jù)。因此,當(dāng)該數(shù)據(jù)中出現(xiàn)通信錯(cuò)誤時(shí),實(shí)體B在圖3的處理流程中的步驟S225中執(zhí)行接收數(shù)據(jù)的正確性驗(yàn)證,例如根據(jù)奇偶或校驗(yàn)和執(zhí)行驗(yàn)證處理,判斷為發(fā)現(xiàn)接收數(shù)據(jù)不正確,斷定發(fā)生了通信錯(cuò)誤。
根據(jù)該判斷,實(shí)體B轉(zhuǎn)至圖3的處理流程中的步驟S230的錯(cuò)誤處理。如果沒(méi)有發(fā)生通信錯(cuò)誤,則判斷為是錯(cuò)誤通知數(shù)據(jù),執(zhí)行正常的錯(cuò)誤處理。
因此,無(wú)論在哪種情況下,實(shí)體B都會(huì)開(kāi)始執(zhí)行圖5的流程圖所示的錯(cuò)誤處理,執(zhí)行圖5的步驟S321的錯(cuò)誤通知處理,實(shí)體A則會(huì)執(zhí)行圖4的步驟S302的錯(cuò)誤通知接收處理,因此,正常的錯(cuò)誤處理得以執(zhí)行,實(shí)體雙方能夠同步返回初始狀態(tài),重新開(kāi)始數(shù)據(jù)處理。
接著,考察(2)在步驟S302中接收的數(shù)據(jù)中出現(xiàn)通信錯(cuò)誤的情形。在執(zhí)行步驟S302的時(shí)刻,實(shí)體A已經(jīng)在步驟S301中向?qū)嶓wB發(fā)送了錯(cuò)誤通知數(shù)據(jù),實(shí)體A預(yù)測(cè)為從實(shí)體B必定會(huì)返回來(lái)錯(cuò)誤通知數(shù)據(jù)。這是因?yàn)椋诒景l(fā)明的錯(cuò)誤處理序列中規(guī)定,實(shí)體A在發(fā)送了錯(cuò)誤通知數(shù)據(jù)之后會(huì)從實(shí)體B返回錯(cuò)誤通知數(shù)據(jù)。
因此,實(shí)體A即使無(wú)法確認(rèn)從實(shí)體B接收的數(shù)據(jù)是錯(cuò)誤通知,仍然會(huì)執(zhí)行返回初始狀態(tài)SA0的處理。此時(shí),實(shí)體B按照?qǐng)D5所示的步驟S321~S322的處理返回初始狀態(tài)SB0,實(shí)體雙方能夠同步返回初始狀態(tài),重新開(kāi)始數(shù)據(jù)處理。
最后,考察(3)(1)、(2)都發(fā)生的情形,亦即,圖4的步驟S301、S302的錯(cuò)誤通知數(shù)據(jù)的傳輸中都發(fā)生了錯(cuò)誤的情形的處理。
該處理不過(guò)是上述 (1)在步驟S301中發(fā)送的數(shù)據(jù)中發(fā)生通信錯(cuò)誤的情形; (2)在步驟S302中接收的數(shù)據(jù)中發(fā)生通信錯(cuò)誤的情形; 的處理的組合,實(shí)體A、B分別按照?qǐng)D4、圖5所示的處理執(zhí)行處理,返回初始狀態(tài)后重新開(kāi)始處理。
亦即,首先,當(dāng)在步驟S301中發(fā)送的數(shù)據(jù)中發(fā)生了通信錯(cuò)誤時(shí)實(shí)體B在圖3所示的步驟S525的接收數(shù)據(jù)的正確性判定處理中檢測(cè)出錯(cuò)誤后開(kāi)始錯(cuò)誤處理,執(zhí)行圖5的流程圖的步驟S321、S322后返回初始狀態(tài)SB0。
接著,當(dāng)在圖4的步驟S302中的發(fā)送數(shù)據(jù)中發(fā)生了通信錯(cuò)誤時(shí)實(shí)體A因?yàn)橐呀?jīng)在步驟S301中將錯(cuò)誤通知數(shù)據(jù)發(fā)送給實(shí)體B,所以預(yù)測(cè)為必定有錯(cuò)誤通知數(shù)據(jù)從實(shí)體B返回;如果從實(shí)體B接收到數(shù)據(jù),則無(wú)論其是錯(cuò)誤通知還是無(wú)法確認(rèn)其是錯(cuò)誤通知,都執(zhí)行圖4所示的步驟S303的初始狀態(tài)復(fù)原處理,執(zhí)行返回初始狀態(tài)SA0的處理。其結(jié)果是,實(shí)體雙方能夠同步返回初始狀態(tài),重新開(kāi)始數(shù)據(jù)處理。
接著,說(shuō)明圖5的實(shí)體B一側(cè)的處理流程中的錯(cuò)誤通知數(shù)據(jù)傳輸過(guò)程中發(fā)生錯(cuò)誤時(shí)的處理。亦即,圖5的處理流程的步驟S321的從實(shí)體B向?qū)嶓wA發(fā)送的錯(cuò)誤通知數(shù)據(jù)中發(fā)生了錯(cuò)誤的情形。
這是與圖4的步驟S302的錯(cuò)誤通知數(shù)據(jù)傳輸相當(dāng)?shù)奶幚?,與上述的(2)在步驟S302中接收的數(shù)據(jù)中發(fā)生通信錯(cuò)誤的情況下的處理完全相同。
亦即,在執(zhí)行步驟S302的時(shí)刻,實(shí)體A已經(jīng)在步驟S301中向?qū)嶓wB發(fā)送了錯(cuò)誤通知數(shù)據(jù),由于實(shí)體A預(yù)測(cè)為必定有錯(cuò)誤通知數(shù)據(jù)從實(shí)體B返回,因此如果實(shí)體A從實(shí)體B接收到數(shù)據(jù),則無(wú)論能否確認(rèn)其是錯(cuò)誤通知,都會(huì)執(zhí)行圖4所示的步驟S303的初始狀態(tài)復(fù)原處理,執(zhí)行返回初始狀態(tài)SA0的處理。
另一方面,實(shí)體B執(zhí)行圖5所示的步驟S321,然后,在步驟S322中執(zhí)行返回初始狀態(tài)SB0的處理,因此,其結(jié)果是,實(shí)體雙方能夠同步返回初始狀態(tài),重新開(kāi)始數(shù)據(jù)處理。
信息處理裝置的結(jié)構(gòu)
參照?qǐng)D10說(shuō)明執(zhí)行上述數(shù)據(jù)通信和數(shù)據(jù)處理的信息處理裝置的結(jié)構(gòu)實(shí)例。執(zhí)行上述處理的實(shí)體可以由能夠執(zhí)行數(shù)據(jù)通信的信息處理裝置、例如PC、移動(dòng)終端或IC卡等裝置構(gòu)成?;蛘?,當(dāng)在PC內(nèi)構(gòu)成的1個(gè)信息處理部通過(guò)總線與其他信息處理部通信的情況下,也可以執(zhí)行上述處理;這種情況下,各個(gè)信息處理部發(fā)揮上述的實(shí)體A、實(shí)體B的功能。
圖10中表示了2個(gè)信息處理裝置110、120,作為構(gòu)成實(shí)體的1個(gè)設(shè)置實(shí)例。信息處理裝置110、120由例如PC構(gòu)成。信息處理裝置110具有數(shù)據(jù)處理部111、通信部112、錯(cuò)誤檢測(cè)部113、存儲(chǔ)部114。與信息處理裝置110進(jìn)行通信的信息處理裝置120也具有數(shù)據(jù)處理部121、通信部122、錯(cuò)誤檢測(cè)部123、存儲(chǔ)部124。
信息處理裝置110、信息處理裝置120的結(jié)構(gòu)相同,以信息處理裝置110的結(jié)構(gòu)為代表加以說(shuō)明。數(shù)據(jù)處理部111由CPU等構(gòu)成,按照預(yù)定的程序執(zhí)行數(shù)據(jù)處理。數(shù)據(jù)處理用的程序保存在存儲(chǔ)部114,CPU根據(jù)程序按照預(yù)先設(shè)定的處理序列執(zhí)行數(shù)據(jù)處理。首先,規(guī)定了參照?qǐng)D2、圖3所說(shuō)明的數(shù)據(jù)處理以及參照?qǐng)D4、圖5所說(shuō)明的錯(cuò)誤處理、初始狀態(tài)復(fù)原處理等各種數(shù)據(jù)處理序列的計(jì)算機(jī)程序被保存到存儲(chǔ)部114,按照該程序執(zhí)行處理。
通信部112執(zhí)行與信息處理裝置20的通信。此外,可以通過(guò)例如因特網(wǎng)、LAN等局域網(wǎng)、電纜、總線等各種通信手段進(jìn)行通信。錯(cuò)誤檢測(cè)部113除了根據(jù)上述奇偶、校驗(yàn)和等對(duì)通信數(shù)據(jù)進(jìn)行正確性驗(yàn)證之外,也對(duì)內(nèi)部處理中所執(zhí)行的數(shù)據(jù)計(jì)算處理進(jìn)行錯(cuò)誤檢測(cè)。這些錯(cuò)誤檢測(cè)也按照存儲(chǔ)部114中保存的程序執(zhí)行處理。
此外,在圖10中將數(shù)據(jù)處理部111、錯(cuò)誤檢測(cè)部113區(qū)別開(kāi)來(lái)表示;但這只是為了說(shuō)明信息處理裝置的功能而做的區(qū)分,實(shí)際的處理結(jié)構(gòu)可以是使用1個(gè)CPU執(zhí)行各種數(shù)據(jù)處理、錯(cuò)誤檢測(cè)處理的結(jié)構(gòu)。
信息處理裝置110、120分別由任一方作為上述實(shí)體A執(zhí)行數(shù)據(jù)處理,由另一方作為實(shí)體B執(zhí)行數(shù)據(jù)處理。實(shí)體A在按照?qǐng)D2所示的流程圖執(zhí)行數(shù)據(jù)處理的同時(shí),按照?qǐng)D4所示的流程圖執(zhí)行錯(cuò)誤處理。另外,實(shí)體B在按照?qǐng)D3所示的流程圖執(zhí)行數(shù)據(jù)處理的同時(shí),按照?qǐng)D5所示的流程圖執(zhí)行錯(cuò)誤處理。
通過(guò)執(zhí)行這些處理,以各種形式所發(fā)生的錯(cuò)誤,亦即, (1)實(shí)體A的數(shù)據(jù)處理(內(nèi)部處理)ITRAi中發(fā)生錯(cuò)誤; (2)實(shí)體B的數(shù)據(jù)處理(內(nèi)部處理)ITRBi中發(fā)生錯(cuò)誤; (3)從實(shí)體A向?qū)嶓wB發(fā)送的通信數(shù)據(jù)Data2i-1中發(fā)送錯(cuò)誤; (4)從實(shí)體B向?qū)嶓wA發(fā)送的通信數(shù)據(jù)Data2i中發(fā)生錯(cuò)誤; 無(wú)論發(fā)生了上述哪一種錯(cuò)誤,實(shí)體雙方都能夠同步返回初始狀態(tài),可靠地重新開(kāi)始數(shù)據(jù)處理。
以上參照特定的實(shí)施例詳細(xì)說(shuō)明了本發(fā)明。但是,不言而喻,本領(lǐng)域技術(shù)人員可以在不脫離本發(fā)明的要旨的范圍內(nèi)可對(duì)該實(shí)施例加以修正或替代。即,只是以示例的形式對(duì)本發(fā)明進(jìn)行公開(kāi),并不是限定性的解釋。
此外,在說(shuō)明書(shū)中所說(shuō)明的一系列處理可以由硬件或軟件、或者兩者的復(fù)合結(jié)構(gòu)執(zhí)行。在利用軟件執(zhí)行處理的情況下,可以將記錄了處理序列的程序安裝到嵌入了專用硬件的計(jì)算機(jī)內(nèi)的存儲(chǔ)器中加以執(zhí)行,或者安裝到能夠執(zhí)行各種處理的通用計(jì)算機(jī)中加以執(zhí)行。
例如,可以將程序預(yù)先記錄到用作記錄介質(zhì)的硬盤(pán)或ROM(ReadOnly Memory只讀存儲(chǔ)器)中。或者,也可以預(yù)先將程序暫時(shí)或永久地記錄到軟盤(pán)、CD-ROM(Compact Disc Read Only Memory只讀光盤(pán)存儲(chǔ)器)、MO(Magneto Optical磁性光)盤(pán)、DVD(Digital VersatileDisc數(shù)字多功能光盤(pán))、磁盤(pán)、半導(dǎo)體存儲(chǔ)器等可拆除記錄介質(zhì)中。這種可拆除記錄介質(zhì)可以作為所謂的軟件包進(jìn)行提供。
此外,除了從如上所述的可拆除記錄介質(zhì)將程序安裝到計(jì)算機(jī)上之外,也可以從下載網(wǎng)站將程序通過(guò)無(wú)線傳輸或LAN(Local AreaNetwork局域網(wǎng))、因特網(wǎng)這類網(wǎng)絡(luò)有線傳輸?shù)接?jì)算機(jī)中;在計(jì)算機(jī)中接收由此傳輸過(guò)來(lái)的程序,安裝到內(nèi)置的硬盤(pán)等存儲(chǔ)介質(zhì)中。
此外,說(shuō)明書(shū)中所記述的各種處理不僅可以按照所記述的時(shí)間序列執(zhí)行,也可以根據(jù)執(zhí)行處理的裝置的處理能力或根據(jù)需要并行或個(gè)別執(zhí)行。另外,本說(shuō)明書(shū)中所謂的系統(tǒng)是多個(gè)裝置的邏輯集合結(jié)構(gòu),各個(gè)構(gòu)成裝置并不限于在同一殼體內(nèi)。
權(quán)利要求
1.一種信息處理系統(tǒng),由相互執(zhí)行數(shù)據(jù)通信并且執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理的多個(gè)信息處理部構(gòu)成,其特征在于,具有
第1信息處理部,根據(jù)數(shù)據(jù)處理錯(cuò)誤或接收數(shù)據(jù)的錯(cuò)誤檢出,發(fā)送錯(cuò)誤通知數(shù)據(jù),將該錯(cuò)誤通知數(shù)據(jù)發(fā)送后的數(shù)據(jù)接收作為條件來(lái)執(zhí)行初始狀態(tài)復(fù)原處理;以及
第2信息處理部,根據(jù)數(shù)據(jù)處理錯(cuò)誤或接收數(shù)據(jù)的錯(cuò)誤檢出,發(fā)送錯(cuò)誤通知數(shù)據(jù),將該錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理的執(zhí)行作為條件來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
2.如權(quán)利要求1所述的信息處理系統(tǒng),其特征在于,上述第1信息處理部和上述第2信息處理部是交替執(zhí)行數(shù)據(jù)收發(fā)的結(jié)構(gòu),上述第1信息處理部和上述第2信息處理部是下述的結(jié)構(gòu)當(dāng)在接收數(shù)據(jù)的錯(cuò)誤檢測(cè)處理中沒(méi)有檢測(cè)出錯(cuò)誤的情況下,轉(zhuǎn)移至在內(nèi)部的數(shù)據(jù)處理,當(dāng)檢測(cè)出錯(cuò)誤的情況下,執(zhí)行錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理。
3.如權(quán)利要求1所述的信息處理系統(tǒng),其特征在于,上述第1信息處理部是下述的結(jié)構(gòu)在對(duì)上述第2信息處理部發(fā)送了錯(cuò)誤通知數(shù)據(jù)后,無(wú)論在確認(rèn)出從上述第2信息處理部接收的數(shù)據(jù)是錯(cuò)誤通知數(shù)據(jù)的情況、或者確認(rèn)出是通信錯(cuò)誤數(shù)據(jù)的情況的哪一種情況下,都執(zhí)行初始狀態(tài)復(fù)原處理。
4.如權(quán)利要求1所述的信息處理系統(tǒng),其特征在于,上述第2信息處理部是下述的結(jié)構(gòu)檢測(cè)到自身所執(zhí)行的內(nèi)部數(shù)據(jù)處理中的錯(cuò)誤發(fā)生、或者檢測(cè)到來(lái)自上述第1信息處理部的接收數(shù)據(jù)的通信錯(cuò)誤的發(fā)生,根據(jù)該錯(cuò)誤檢知,發(fā)送錯(cuò)誤通知數(shù)據(jù),并以該錯(cuò)誤通知數(shù)據(jù)的發(fā)送為條件來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
5.一種信息處理裝置,執(zhí)行數(shù)據(jù)通信并且執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理,其特征在于,具有
錯(cuò)誤檢測(cè)部,檢測(cè)自身所執(zhí)行的內(nèi)部數(shù)據(jù)處理中的錯(cuò)誤發(fā)生、或來(lái)自通信對(duì)方裝置的接收數(shù)據(jù)的通信錯(cuò)誤的發(fā)生;
通信部,根據(jù)錯(cuò)誤檢知,發(fā)送錯(cuò)誤通知數(shù)據(jù);以及
數(shù)據(jù)處理部,以錯(cuò)誤通知數(shù)據(jù)發(fā)送后的數(shù)據(jù)接收為條件來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
6.如權(quán)利要求5所述的信息處理裝置,其特征在于,上述信息處理裝置是下述的結(jié)構(gòu)在對(duì)通信對(duì)方裝置發(fā)送了錯(cuò)誤通知數(shù)據(jù)后,無(wú)論在確認(rèn)出從上述通信對(duì)方裝置接收的數(shù)據(jù)是錯(cuò)誤通知數(shù)據(jù)的情況、或者確認(rèn)出是通信錯(cuò)誤數(shù)據(jù)的情況的哪一種情況下,都執(zhí)行初始狀態(tài)復(fù)原處理。
7.一種信息處理裝置,相互執(zhí)行數(shù)據(jù)通信并且執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理,其特征在于,具有
錯(cuò)誤檢測(cè)部,檢測(cè)自身所執(zhí)行的內(nèi)部數(shù)據(jù)處理中的錯(cuò)誤發(fā)生、或來(lái)自通信對(duì)方裝置的接收數(shù)據(jù)的通信錯(cuò)誤的發(fā)生;
通信部,根據(jù)錯(cuò)誤檢知,發(fā)送錯(cuò)誤通知數(shù)據(jù);以及
數(shù)據(jù)處理部,以錯(cuò)誤通知數(shù)據(jù)的發(fā)送為條件來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
8.一種信息處理方法,執(zhí)行數(shù)據(jù)通信并且執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理,其特征在于,具有
錯(cuò)誤檢測(cè)步驟,檢測(cè)自身所執(zhí)行的內(nèi)部數(shù)據(jù)處理中的錯(cuò)誤發(fā)生、或來(lái)自通信對(duì)方裝置的接收數(shù)據(jù)的通信錯(cuò)誤的發(fā)生;
錯(cuò)誤通知數(shù)據(jù)發(fā)送步驟,將上述錯(cuò)誤檢測(cè)步驟中的錯(cuò)誤檢出作為條件,來(lái)發(fā)送錯(cuò)誤通知數(shù)據(jù);以及
初始狀態(tài)復(fù)原步驟,將錯(cuò)誤通知數(shù)據(jù)發(fā)送后的數(shù)據(jù)接收作為條件,來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
9.如權(quán)利要求8所述的信息處理方法,其特征在于,上述初始狀態(tài)復(fù)原步驟在對(duì)通信對(duì)方裝置發(fā)送了錯(cuò)誤通知數(shù)據(jù)后,無(wú)論在確認(rèn)出從上述通信對(duì)方裝置接收的數(shù)據(jù)是錯(cuò)誤通知數(shù)據(jù)的情況、或者確認(rèn)出是通信錯(cuò)誤數(shù)據(jù)的情況的哪一種情況下,都執(zhí)行初始狀態(tài)復(fù)原處理。
10.一種信息處理方法,執(zhí)行數(shù)據(jù)通信并且執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理,其特征在于,具有
錯(cuò)誤檢測(cè)步驟,檢測(cè)自身所執(zhí)行的內(nèi)部數(shù)據(jù)處理中的錯(cuò)誤發(fā)生、或來(lái)自通信對(duì)方裝置的接收數(shù)據(jù)的通信錯(cuò)誤的發(fā)生;
錯(cuò)誤通知數(shù)據(jù)發(fā)送步驟,將上述錯(cuò)誤檢測(cè)步驟中的錯(cuò)誤檢出作為條件,來(lái)發(fā)送錯(cuò)誤通知數(shù)據(jù);以及
初始狀態(tài)復(fù)原步驟,將上述錯(cuò)誤通知數(shù)據(jù)的發(fā)送作為條件,來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
11.一種計(jì)算機(jī)程序,在計(jì)算機(jī)上執(zhí)行數(shù)據(jù)通信并且執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理,其特征在于,具有
錯(cuò)誤檢測(cè)步驟,檢測(cè)自身所執(zhí)行的內(nèi)部數(shù)據(jù)處理中的錯(cuò)誤發(fā)生、或來(lái)自通信對(duì)方裝置的接收數(shù)據(jù)的通信錯(cuò)誤的發(fā)生;
錯(cuò)誤通知數(shù)據(jù)發(fā)送步驟,將上述錯(cuò)誤檢測(cè)步驟中的錯(cuò)誤檢出作為條件,來(lái)發(fā)送錯(cuò)誤通知數(shù)據(jù);以及
初始狀態(tài)復(fù)原步驟,將錯(cuò)誤通知數(shù)據(jù)發(fā)送后的數(shù)據(jù)接收作為條件,來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
12.一種計(jì)算機(jī)程序,在計(jì)算機(jī)上執(zhí)行數(shù)據(jù)通信并且執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理,其特征在于,具有
錯(cuò)誤檢測(cè)步驟,檢測(cè)自身所執(zhí)行的內(nèi)部數(shù)據(jù)處理中的錯(cuò)誤發(fā)生、或來(lái)自通信對(duì)方裝置的接收數(shù)據(jù)的通信錯(cuò)誤的發(fā)生;
錯(cuò)誤通知數(shù)據(jù)發(fā)送步驟,將上述錯(cuò)誤檢測(cè)步驟中的錯(cuò)誤檢出作為條件,來(lái)發(fā)送錯(cuò)誤通知數(shù)據(jù);以及
初始狀態(tài)復(fù)原步驟,將上述錯(cuò)誤通知數(shù)據(jù)的發(fā)送作為條件,來(lái)執(zhí)行初始狀態(tài)復(fù)原處理。
全文摘要
本發(fā)明是一種由多個(gè)信息處理部構(gòu)成的信息處理系統(tǒng),該多個(gè)信息處理部相互執(zhí)行數(shù)據(jù)通信并且執(zhí)行應(yīng)用了通信數(shù)據(jù)的數(shù)據(jù)處理,第1實(shí)體A根據(jù)錯(cuò)誤檢出,發(fā)送錯(cuò)誤通知數(shù)據(jù),將錯(cuò)誤通知數(shù)據(jù)發(fā)送后的數(shù)據(jù)接收作為條件,來(lái)執(zhí)行初始狀態(tài)復(fù)原處理,并且第2實(shí)體B根據(jù)錯(cuò)誤檢出,發(fā)送錯(cuò)誤通知數(shù)據(jù),將錯(cuò)誤通知數(shù)據(jù)的發(fā)送處理的執(zhí)行作為條件,來(lái)執(zhí)行初始狀態(tài)復(fù)原處理,雙方的實(shí)體A、B能夠可靠地同步復(fù)原為初始狀態(tài),可以進(jìn)行可靠的錯(cuò)誤恢復(fù)和數(shù)據(jù)處理的重新開(kāi)始。
文檔編號(hào)G06F13/00GK101112032SQ20058004746
公開(kāi)日2008年1月23日 申請(qǐng)日期2005年11月15日 優(yōu)先權(quán)日2004年11月29日
發(fā)明者草川雅文, 森岡澄夫, 島田宗毅, 盛合志帆, 佐佐木大 申請(qǐng)人:索尼株式會(huì)社, 索尼電腦娛樂(lè)公司