專利名稱:遠(yuǎn)程復(fù)原無響應(yīng)計(jì)算系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于遠(yuǎn)程復(fù)原(restore)無響應(yīng)計(jì)算系統(tǒng)的裝置、方 法和程序產(chǎn)品。更具體地,本發(fā)明涉及一種用于遠(yuǎn)程復(fù)原無響應(yīng)計(jì)算系統(tǒng) 的裝置、方法和程序產(chǎn)品,所述計(jì)算系統(tǒng)正在經(jīng)歷存儲(chǔ)器限制同時(shí)不是必 須執(zhí)行電源復(fù)位或者必須重新引導(dǎo)計(jì)算系統(tǒng)。
背景技術(shù):
在當(dāng)今的商業(yè)環(huán)境中,組織和/或公司使用很多種分布式計(jì)算系統(tǒng)在應(yīng) 用程序之間進(jìn)行通信,所述應(yīng)用程序在多個(gè)工作站和/或服務(wù)器上被托管。 此外,最近的趨勢(shì)已經(jīng)看出,在公司和/或組織中使用的服務(wù)器數(shù)量在穩(wěn)定 增長(zhǎng)。因而,許多分布式計(jì)算系統(tǒng)使用附加類型的服務(wù)器,這些服務(wù)器執(zhí) 行特定功能,并且位于公司和/或組織中的不同位置,而不是位于一個(gè)中央 位置。盡管置于這些服務(wù)器上的數(shù)據(jù)被看成對(duì)于公司很關(guān)鍵,但是仍然缺 少下述裝置,所述裝置用于當(dāng)來自單個(gè)服務(wù)站點(diǎn)的這些服務(wù)器被分布在不 同位置時(shí),確保這些服務(wù)器的正常操作。因而,存在對(duì)于簡(jiǎn)化用于維持這 些服務(wù)器的正常操作的過程的需要,而與此同時(shí)控制關(guān)聯(lián)于所述維持的任 何成本。
發(fā)明內(nèi)容
本發(fā)明提供了如權(quán)利要求1所要求保護(hù)的一種用于復(fù)原由于存儲(chǔ)器限 制的原因未響應(yīng)的遠(yuǎn)程服務(wù)器的方法、以及相應(yīng)的系統(tǒng)和計(jì)算機(jī)程序。
被并入并組成本說明書的一部分的附示了本發(fā)明的實(shí)施例,并且
連同其描述一起用于解釋本發(fā)明的原理
圖1圖示了根據(jù)本發(fā)明實(shí)施例的用于遠(yuǎn)程復(fù)原無響應(yīng)計(jì)算系統(tǒng)的裝置 的網(wǎng)絡(luò)配置。
圖2是圖示了根據(jù)本發(fā)明實(shí)施例的被配置用于復(fù)原遠(yuǎn)程服務(wù)器的遠(yuǎn)程 服務(wù)器的一實(shí)施例的框圖。
圖3是描述了根據(jù)本發(fā)明實(shí)施例的用于遠(yuǎn)程復(fù)原無響應(yīng)計(jì)算系統(tǒng)的方 法的流程示。
圖4是描述了根據(jù)本發(fā)明實(shí)施例的用于遠(yuǎn)程復(fù)原無響應(yīng)計(jì)算系統(tǒng)的方 法的流程示。
圖5是圖示了根據(jù)本發(fā)明實(shí)施例的用于測(cè)試對(duì)于形象化或商業(yè)規(guī)則的 改變的計(jì)算機(jī)程序產(chǎn)品的示意性系統(tǒng)框圖。
具體實(shí)施例方式
本領(lǐng)域技術(shù)人員將理解,可以對(duì)本發(fā)明做出多種修改和變體,而不會(huì) 脫離本發(fā)明的精神和范圍。因此,意圖是本發(fā)明覆蓋了本發(fā)明的修改和變 體,如果它們來自于所附權(quán)利要求及其等價(jià)物的范圍之內(nèi)的話。現(xiàn)在將詳 細(xì)地參考本發(fā)明的優(yōu)選實(shí)施例。
在一實(shí)施例中,本發(fā)明提供了 一種用于復(fù)原由于存儲(chǔ)器限制的原因未 響應(yīng)的遠(yuǎn)程計(jì)算或計(jì)算機(jī)系統(tǒng)的裝置或系統(tǒng)。所述裝置包括網(wǎng)絡(luò)通信信 道;連接于網(wǎng)絡(luò)通信信道的遠(yuǎn)程計(jì)算系統(tǒng),所述遠(yuǎn)程計(jì)算系統(tǒng)已經(jīng)在存儲(chǔ) 器中分配了保留存儲(chǔ)器段;保留存儲(chǔ)器段程序,其被釘住(pin to)所迷遠(yuǎn) 程計(jì)算系統(tǒng)的存儲(chǔ)器并在所述遠(yuǎn)程計(jì)算系統(tǒng)上持續(xù)運(yùn)行,所述保留存儲(chǔ)器 段程序被配置用于控制在遠(yuǎn)程計(jì)算系統(tǒng)的存儲(chǔ)器中分配的保留存儲(chǔ)器段; 以及連接于網(wǎng)絡(luò)通信信道的控制計(jì)算系統(tǒng),其被配置用于在網(wǎng)絡(luò)通信信道 上發(fā)送請(qǐng)求到遠(yuǎn)程計(jì)算系統(tǒng),以便當(dāng)存儲(chǔ)器限制出現(xiàn)時(shí)使用保留存儲(chǔ)器段 程序釋放保留存儲(chǔ)器段,從而控制服務(wù)器能夠管理用于復(fù)原遠(yuǎn)程計(jì)算系統(tǒng) 的一個(gè)或多個(gè)才交正動(dòng)作。在優(yōu)選實(shí)施例中,所述請(qǐng)求包括TCP/IP包。優(yōu)
選地,保留存儲(chǔ)器段程序被進(jìn)一步配置用于在網(wǎng)絡(luò)通信信道上監(jiān)聽預(yù)定的
TCP/IP端口以發(fā)現(xiàn)請(qǐng)求,以及被進(jìn)一步配置用于在網(wǎng)絡(luò)通信信道上接收請(qǐng) 求。此外,優(yōu)選地,保留存儲(chǔ)器段程序被配置用于驗(yàn)證所接收的TCP/IP 包,以及標(biāo)識(shí)所接收的TCP/IP包。此外,優(yōu)選地,保留存儲(chǔ)器段程序被 進(jìn)一步配置用于檢查所述TCP/IP包是否對(duì)應(yīng)于在遠(yuǎn)程計(jì)算系統(tǒng)上可以允 許的操作。優(yōu)選地,控制計(jì)算系統(tǒng)被進(jìn)一步配置用于基于對(duì)遠(yuǎn)程計(jì)算系統(tǒng) 由于存儲(chǔ)器限制的原因未響應(yīng)的確定而發(fā)送請(qǐng)求,以及發(fā)送用于包括釋放 保留存儲(chǔ)器段的TCP/IP包的請(qǐng)求到遠(yuǎn)程計(jì)算系統(tǒng)。在優(yōu)選實(shí)施例中,所 述裝置進(jìn)一步包括運(yùn)行在遠(yuǎn)程計(jì)算系統(tǒng)上的自動(dòng)恢復(fù)程序,其被配置用 于周期性地檢查所述遠(yuǎn)程計(jì)算系統(tǒng)上的存儲(chǔ)器以便檢測(cè)存儲(chǔ)器限制,以及 當(dāng)檢測(cè)到存儲(chǔ)器限制時(shí)請(qǐng)求保留存儲(chǔ)器段程序被釋放。優(yōu)選地,自動(dòng)恢復(fù) 程序被進(jìn)一步配置用于當(dāng)保留存儲(chǔ)器段被釋放之時(shí)在遠(yuǎn)程計(jì)算系統(tǒng)處執(zhí)行 一個(gè)或多個(gè)4交正動(dòng)作。
如此處所使用的,術(shù)語(yǔ)"遠(yuǎn)程計(jì)算系統(tǒng)"或"遠(yuǎn)程計(jì)算機(jī)系統(tǒng)"或"遠(yuǎn) 程服務(wù)器"指代經(jīng)由網(wǎng)絡(luò)連接訪問的遠(yuǎn)程計(jì)算設(shè)備(優(yōu)選地是遠(yuǎn)程服務(wù)器)。 此外,術(shù)語(yǔ)"控制計(jì)算系統(tǒng)"或"控制服務(wù)器"指代遠(yuǎn)程計(jì)算設(shè)備(優(yōu)選 地是遠(yuǎn)程控制服務(wù)器),其被配置用于控制遠(yuǎn)程計(jì)算系統(tǒng)或服務(wù)器上的過 程。此外,術(shù)語(yǔ)"保留存儲(chǔ)器段"指代計(jì)算系統(tǒng)(優(yōu)選地是遠(yuǎn)程服務(wù)器) 上的一塊存儲(chǔ)器,其中所述一塊存儲(chǔ)器被分配或保留給遠(yuǎn)程服務(wù)器。此夕卜, 如此處所使用的,術(shù)語(yǔ)"保留存儲(chǔ)器段程序"或"段程序"或"已釘住程 序"指代在遠(yuǎn)程服務(wù)器上運(yùn)行的大小很小的程序或代碼,其被釘住遠(yuǎn)程服 務(wù)器的存儲(chǔ)器。
現(xiàn)在參考圖1,圖1圖示了根據(jù)本發(fā)明實(shí)施例的用于復(fù)原由于存儲(chǔ)器 限制的原因未響應(yīng)的遠(yuǎn)程計(jì)算機(jī)系統(tǒng)(優(yōu)選地是遠(yuǎn)程服務(wù)器)的裝置或系 統(tǒng)100的一實(shí)施例。圖1的裝置或系統(tǒng)100包括使用計(jì)算設(shè)備102和104 (優(yōu)選地是獨(dú)立的工作站102和104)的應(yīng)用用戶,所述計(jì)算設(shè)備102和 104經(jīng)由網(wǎng)絡(luò)通信信道140與系統(tǒng)100中的其它計(jì)算系統(tǒng)通信。在一實(shí)施 例中,系統(tǒng)100包括計(jì)算系統(tǒng)108、 110和112 (優(yōu)選地是代理服務(wù)器),
其與應(yīng)用用戶102和104分離,并經(jīng)由具有某種安全應(yīng)用訪問端口的防火 墻106而受保護(hù)。此外,系統(tǒng)IOO包括計(jì)算系統(tǒng)118、 120和122(優(yōu)選地 是應(yīng)用服務(wù)器118、 120和122),其可以由應(yīng)用用戶102和/或104經(jīng)由網(wǎng) 絡(luò)通信信道140訪問。優(yōu)選地,系統(tǒng)包括負(fù)載均衡服務(wù)器群集114和116, 其保護(hù)系統(tǒng)100不會(huì)過載。在優(yōu)選實(shí)施例中,負(fù)載均衡服務(wù)器群集充當(dāng)針 對(duì)網(wǎng)絡(luò)請(qǐng)求的流量系統(tǒng),以及接受用戶請(qǐng)求并將請(qǐng)求分發(fā)到不是很忙的服 務(wù)器。此外,系統(tǒng)100包括執(zhí)行多種功能的其它計(jì)算系統(tǒng)(優(yōu)選地是服務(wù) 器群集124、 126、 128、 130和132)。在一實(shí)施例中,服務(wù)器包括數(shù)據(jù)庫(kù) 服務(wù)器124、消息傳送服務(wù)器126、認(rèn)證服務(wù)器128、批處理服務(wù)器130以 及才艮告服務(wù)器132。優(yōu)選地,月良務(wù)器108、 110、 112、 118、 120、 122、 124、 126、 128、 130和132中的每個(gè)都彼此連接,并且經(jīng)由網(wǎng)絡(luò)通信信道140 連接到應(yīng)用用戶102和104。在優(yōu)選實(shí)施例中,服務(wù)器108、 110、 112、 118、 120、 122、 124、 126、 128、 130和132中的任意一個(gè)可以被配置為控制月良 務(wù)器。優(yōu)選地,作為控制服務(wù)器的服務(wù)器的配置由系統(tǒng)管理員執(zhí)行。例如, 如果服務(wù)器120被配置為控制服務(wù)器,則耦合于遠(yuǎn)程服務(wù)器或計(jì)算系統(tǒng) 108、 110、 112、 118、 122、 124、 126、 128、 130和132中的每個(gè)的控制 服務(wù)器120可以通過網(wǎng)絡(luò)140提供對(duì)遠(yuǎn)程服務(wù)器108、 110、 112、 118、 122、 124、 126、 128、 130和132中的任意一個(gè)的遠(yuǎn)程復(fù)原。在優(yōu)選實(shí)施例中, 所述控制可以通過位于站102和/或104的用戶輸入來指示。如將針對(duì)圖2 更加詳細(xì)描述的那樣,圖1的系統(tǒng)的配置可被用于通過在網(wǎng)絡(luò)140上在 控制服務(wù)器和遠(yuǎn)程服務(wù)器之間發(fā)送消息,而執(zhí)行從控制服務(wù)器到遠(yuǎn)程服務(wù) 器的、用于執(zhí)行某種特定動(dòng)作的請(qǐng)求,諸如請(qǐng)求釋放位于遠(yuǎn)程服務(wù)器200 的保留存儲(chǔ)器段,所述配置將針對(duì)圖2被進(jìn)一步解釋。
轉(zhuǎn)到圖2,標(biāo)號(hào)200示出了被配置用于例如當(dāng)出現(xiàn)存儲(chǔ)器限制時(shí)復(fù)原 遠(yuǎn)程服務(wù)器的遠(yuǎn)程服務(wù)器200的實(shí)施例,所述遠(yuǎn)程服務(wù)器200例如如圖1 中所示的應(yīng)用服務(wù)器(118、 120或122)。圖2示出了遠(yuǎn)程服務(wù)器200的 實(shí)施例。優(yōu)選地,遠(yuǎn)程服務(wù)器200包括中央處理單元(CPU) 208、本地存 儲(chǔ)設(shè)備202、用戶接口 204、網(wǎng)^口 206、包括操作系統(tǒng)211的存儲(chǔ)器210、
以及保留存儲(chǔ)器段程序組件212。 CPU 208通常被配置用于執(zhí)行遠(yuǎn)程服務(wù) 器200中的操作。在一實(shí)施例中,用戶接口 204被配置用于允許用戶與遠(yuǎn) 程服務(wù)器200交互,包括允許來自用戶的輸入數(shù)據(jù)和命令以及將輸入數(shù)據(jù) 傳送給用戶。在一實(shí)施例中,網(wǎng)絡(luò)接口 206被配置用于便利于在圖1中所 示的系統(tǒng)100的通信信道140上進(jìn)行遠(yuǎn)程服務(wù)器200的網(wǎng)絡(luò)通信。在一實(shí) 施例中,本地存儲(chǔ)器210被配置用于存儲(chǔ)操作系統(tǒng)211以及可被用于復(fù)原 遠(yuǎn)程服務(wù)器以及用于采取任意校正動(dòng)作或操作的若干數(shù)據(jù)和元數(shù)據(jù)文件。 在可替換實(shí)施例中, 一些或所有的這些數(shù)據(jù)和元數(shù)據(jù)文件可被復(fù)制到本地 存儲(chǔ)設(shè)備202。在另外的實(shí)施例中, 一個(gè)或所有的這些數(shù)據(jù)和元數(shù)據(jù)文件 可以被專門存儲(chǔ)在本地存儲(chǔ)設(shè)備202中而不會(huì)存儲(chǔ)在存儲(chǔ)器210中。在另 一實(shí)施例中, 一個(gè)或所有的這些數(shù)據(jù)和元數(shù)據(jù)文件可以被存儲(chǔ)在系統(tǒng)100 的分布式存儲(chǔ)裝置中。
此外,在一實(shí)施例中,遠(yuǎn)程服務(wù)器優(yōu)選地包括保留存儲(chǔ)器段程序組件 212,其包括若干模塊,所述模塊包括分配模塊214、監(jiān)聽模塊216、接 收模塊218、認(rèn)證模塊220、以及釋放段模塊222。遠(yuǎn)程服務(wù)器上的保留存 儲(chǔ)器段程序組件被提供有包含多個(gè)模塊的邏輯單元,所述模塊被配置用于 功能性地執(zhí)行釋放位于遠(yuǎn)程服務(wù)器的保留存儲(chǔ)器段的必要步驟,以便例如 當(dāng)存儲(chǔ)器限制出現(xiàn)時(shí)復(fù)原遠(yuǎn)程服務(wù)器。保留存儲(chǔ)器段程序組件212的目的 是實(shí)現(xiàn)將存儲(chǔ)器的保留存儲(chǔ)器段分配給遠(yuǎn)程存儲(chǔ)器、以及當(dāng)遠(yuǎn)程服務(wù)器正 經(jīng)歷存儲(chǔ)器溢出的情況時(shí)控制在存儲(chǔ)器內(nèi)分配的保留存儲(chǔ)器段的多種方 法。在優(yōu)選實(shí)施例中,分配模塊214將遠(yuǎn)程服務(wù)器中的存儲(chǔ)器的保留存儲(chǔ) 器段分配給遠(yuǎn)程服務(wù)器。在優(yōu)選實(shí)施例中,監(jiān)聽模塊216監(jiān)聽并等待預(yù)定 端口上的請(qǐng)求釋放保留存儲(chǔ)器段的包。在優(yōu)選實(shí)施例中,接收模塊218接 收預(yù)定端口上的請(qǐng)求釋放保留存儲(chǔ)器段的包。在優(yōu)選實(shí)施例中,認(rèn)證模塊 220驗(yàn)證所接收的包,并標(biāo)識(shí)所接收的包中進(jìn)行的請(qǐng)求的類型。在優(yōu)選實(shí) 施例中,當(dāng)具有請(qǐng)求的包已經(jīng)被認(rèn)證之時(shí),釋放保留存儲(chǔ)器段模塊222釋 放保留存儲(chǔ)器段。
此處上述的保留存儲(chǔ)器段程序212的功能單元已經(jīng)被標(biāo)為模塊,以便
更具體地強(qiáng)調(diào)它們的實(shí)現(xiàn)獨(dú)立性。例如,模塊可以被實(shí)現(xiàn)為包括定制VLSI 電路或門陣列的硬件電路、現(xiàn)有的半導(dǎo)體(諸如邏輯芯片、晶體管)、或 其它分離的組件。模塊還可以用可編程硬件設(shè)備實(shí)現(xiàn),所述可編程硬件設(shè) 備諸如場(chǎng)可編程門陣列、可編程陣列邏輯、可編程邏輯設(shè)備等等。模塊還 可以用軟件實(shí)現(xiàn),所述軟件用于由多種類型的處理器所執(zhí)行。已標(biāo)識(shí)的可 執(zhí)行代碼模塊或組件例如可以包括一個(gè)或多個(gè)物理或邏輯的計(jì)算機(jī)指令 塊,其例如可以被組織成對(duì)象、過程或功能。然而,已標(biāo)識(shí)模塊的可執(zhí)行 代碼不需要在物理上在一起,而是可以包括存儲(chǔ)在不同位置的相異的指令,
所述指令當(dāng)在邏輯上連接到 一起時(shí)包括所述模塊并實(shí)現(xiàn)針對(duì)該模塊的所述 目的。此外,可執(zhí)行代碼的模塊可以是單個(gè)指令或許多指令,并且甚至可 以被分布在若干不同的代碼段上、不同的程序之間、以及若干存儲(chǔ)器設(shè)備 上。類似地,操作數(shù)據(jù)在此可以在模塊中被標(biāo)識(shí)和示出,并且可以體現(xiàn)為 任意適當(dāng)?shù)男问讲⒂萌我膺m當(dāng)類型的數(shù)據(jù)結(jié)構(gòu)來組織。操作數(shù)據(jù)可以被收 集作為單個(gè)數(shù)據(jù)集,或者可以被分布在不同位置上,包括分布在不同存儲(chǔ)
設(shè)備上、相異的存儲(chǔ)器設(shè)備上,并且可以至少部分地僅僅作為系統(tǒng)或網(wǎng)絡(luò) 上的電子信號(hào)而存在。此外,模塊還可以被實(shí)現(xiàn)為軟件和一個(gè)或多個(gè)硬件 設(shè)備的組合。例如,模塊可以體現(xiàn)為存儲(chǔ)在存儲(chǔ)器設(shè)備上的軟件可執(zhí)行代 碼的組合。在另一示例中,模塊可以是對(duì)一組操作數(shù)據(jù)進(jìn)行操作的處理器 的組合。進(jìn)一步地,模塊可以用經(jīng)由傳輸電路進(jìn)行傳送的電子信號(hào)的組合 來實(shí)現(xiàn)。
當(dāng)遠(yuǎn)程服務(wù)器200發(fā)生存儲(chǔ)器溢出210時(shí),優(yōu)選地,操作系統(tǒng)211開 始暫停(halt)在遠(yuǎn)程服務(wù)器200上運(yùn)行的、需要附加存儲(chǔ)器的程序/過程, 并且較大的程序趨向于被首先終止。如果在遠(yuǎn)程服務(wù)器200上運(yùn)行的程序/ 過程未被釘住(pin to )存儲(chǔ)器210 (通常都是這樣),則該程序/過程與其 它程序竟?fàn)幋鎯?chǔ)器210。如果程序/過程被釘住存儲(chǔ)器210,則該程序/過程 具有被分配給它的固有的存儲(chǔ)器,并且其它程序/過程不可使用該固有的存 儲(chǔ)器。為了確保遠(yuǎn)程服務(wù)器200繼續(xù)能夠被用戶102或104所訪問,在遠(yuǎn) 程服務(wù)器200上提供保留存儲(chǔ)器段程序212。保留存儲(chǔ)器段程序212是在
遠(yuǎn)程服務(wù)器200上運(yùn)行的很小的程序,并且被釘住存儲(chǔ)器210。保留存儲(chǔ) 器段程序212優(yōu)選地需要極少的存儲(chǔ)器210,并且在優(yōu)選實(shí)施例中,保留 存儲(chǔ)器段程序212僅使用10MB至100MB的存儲(chǔ)器210,從而當(dāng)遠(yuǎn)程服務(wù) 器被掛起(hang)或凍結(jié)(freeze)時(shí),存在足夠的可供系統(tǒng)管理員用于 遠(yuǎn)程登錄到遠(yuǎn)程服務(wù)器的存儲(chǔ)器210。不過,取決于在遠(yuǎn)程服務(wù)器上可用 的實(shí)際存儲(chǔ)器,保留存儲(chǔ)器段程序212的大小可以不同,并且優(yōu)選地應(yīng)該 是足以用于執(zhí)行復(fù)原動(dòng)作的一個(gè)可配置大小。不過,如所指示的,本發(fā)明 并不意味著被限制于特定大小。在優(yōu)選實(shí)施例中,保留存儲(chǔ)器段程序212 響應(yīng)于調(diào)用(諸如請(qǐng)求,優(yōu)選地是TCP/IP請(qǐng)求),如此處下文描述的,
在另 一實(shí)施例中,本發(fā)明提供了 一種用于復(fù)原由于存儲(chǔ)器限制的原因 未響應(yīng)的遠(yuǎn)程服務(wù)器的方法。所述方法包括提供連接于網(wǎng)絡(luò)通信信道的 遠(yuǎn)程服務(wù)器,將保留存儲(chǔ)器段程序釘住遠(yuǎn)程服務(wù)器中的存儲(chǔ)器,以便當(dāng)存 儲(chǔ)器限制出現(xiàn)時(shí)控制在遠(yuǎn)程服務(wù)器的存儲(chǔ)器中所分配的保留存儲(chǔ)器段。優(yōu) 選地,所述釘住步驟包括分配遠(yuǎn)程服務(wù)器的存儲(chǔ)器中的保留存儲(chǔ)器段。 所述方法進(jìn)一步包括持續(xù)地運(yùn)行保留存儲(chǔ)器段程序以監(jiān)聽用于釋放被分 配的保留存儲(chǔ)器段的請(qǐng)求包,響應(yīng)于所接收的請(qǐng)求包釋放遠(yuǎn)程服務(wù)器的存 儲(chǔ)器中的保留存儲(chǔ)器段,以及當(dāng)保留存儲(chǔ)器段被釋放時(shí)在遠(yuǎn)程服務(wù)器處執(zhí) 行用于復(fù)原遠(yuǎn)程服務(wù)器的任意校正動(dòng)作。優(yōu)選地,所述持續(xù)地運(yùn)行的步驟 包括在網(wǎng)絡(luò)通信信道上監(jiān)聽預(yù)定的TCP/IP端口以發(fā)現(xiàn)請(qǐng)求包,以及在 網(wǎng)絡(luò)通信信道上接收請(qǐng)求包。優(yōu)選地,所述釋放步驟包括驗(yàn)證所接收的 請(qǐng)求包,標(biāo)識(shí)所接收的請(qǐng)求包,以及檢查所接收的請(qǐng)求包是否對(duì)應(yīng)于在遠(yuǎn) 程服務(wù)器上可以允許的操作。在優(yōu)選實(shí)施例中,所述執(zhí)行步驟進(jìn)一步包括 周期性地檢查遠(yuǎn)程服務(wù)器上的存儲(chǔ)器以檢測(cè)存儲(chǔ)器限制,以及當(dāng)檢測(cè)到存 儲(chǔ)器限制時(shí)發(fā)送用于釋放保留存儲(chǔ)器段的請(qǐng)求包。此外,優(yōu)選地,所述執(zhí) 行步驟包括在遠(yuǎn)程服務(wù)器上運(yùn)行自動(dòng)恢復(fù)程序,以便當(dāng)保留存儲(chǔ)區(qū)段被 釋放時(shí)在遠(yuǎn)程服務(wù)器處執(zhí)行任意校正動(dòng)作。
現(xiàn)在參考圖3和4,其描述了用于復(fù)原由于存儲(chǔ)器限制的原因未響應(yīng) 的遠(yuǎn)程計(jì)算系統(tǒng)的方法。轉(zhuǎn)到圖3,用于復(fù)原遠(yuǎn)程計(jì)算系統(tǒng)(優(yōu)選地是遠(yuǎn)程服務(wù)器)的方法300在步驟302開始,并且在步驟304保留存儲(chǔ)器段程 序或代碼(在此下文中也被稱為"段程序")被釘住存儲(chǔ)器。優(yōu)選地,段 程序的大小很小,并且被釘住存儲(chǔ)器,從而該程序常駐在存儲(chǔ)器中。此外, 段程序被標(biāo)記為不可移動(dòng)的,從而其它程序不能與段程序交換空間,并且 向段程序給出了較高的運(yùn)行優(yōu)先級(jí)。此外,保留存儲(chǔ)器段被段程序所預(yù)定, 并且不可用于任何其它目的。優(yōu)選地,當(dāng)段程序最早一次開始時(shí),段程序 在步驟306保留或分配一塊存儲(chǔ)器,所述一塊存儲(chǔ)器在此^:稱為保留存儲(chǔ) 器段。在優(yōu)選實(shí)施例中,保留存儲(chǔ)器段很小,以及使用極少的存儲(chǔ)器,并 且依賴于系統(tǒng)的實(shí)現(xiàn),保留存儲(chǔ)器段的大小例如可以典型地包括30兆字節(jié) (MB)至IOOMB之間的范圍,從而當(dāng)遠(yuǎn)程服務(wù)器被凍結(jié)時(shí),存在足夠的 可供系統(tǒng)管理員用于遠(yuǎn)程登錄到遠(yuǎn)程服務(wù)器的存儲(chǔ)器。不過,取決于在遠(yuǎn) 程服務(wù)器上可用的實(shí)際存儲(chǔ)器,保留存儲(chǔ)器段的大小可以不同??商鎿Q地, 保留存儲(chǔ)器段可以由除了保留存儲(chǔ)器段程序之外的另 一程序所創(chuàng)建。例如, 保留存儲(chǔ)器段可以由另一程序或由已釘住的段程序在其初期預(yù)先創(chuàng)建,如 圖3和4所描述的。不過,如果保留存儲(chǔ)器段不是由段程序所創(chuàng)建,則需 要一種機(jī)制,以便提供在保留存儲(chǔ)器段上的已釘住段程序控制,以便釋放 該存儲(chǔ)器。
一旦段程序已經(jīng)分配了保留存儲(chǔ)器段,則段程序在步驟308開始在端 口上(優(yōu)選地是在預(yù)定的TCP端口上)進(jìn)行監(jiān)聽以發(fā)現(xiàn)任意請(qǐng)求包,并在 步驟310等待TCP端口上的任意請(qǐng)求包。優(yōu)選地, 一個(gè)包包括被用于指定 特定動(dòng)作的請(qǐng)求TCP/IP包,所述特定動(dòng)作將由段程序在遠(yuǎn)程服務(wù)器處執(zhí) 行。于是,當(dāng)作為出現(xiàn)存儲(chǔ)器溢出的結(jié)果而導(dǎo)致遠(yuǎn)程服務(wù)器掛起或變?yōu)閮?結(jié)或未響應(yīng)之時(shí),盡管遠(yuǎn)程服務(wù)器的操作系統(tǒng)無法開始任何新的過程,但 是遠(yuǎn)程服務(wù)器并未完全停用,并且假如段程序被釘住存儲(chǔ)器的話則段程序 繼續(xù)在遠(yuǎn)程服務(wù)器上運(yùn)行。此外,保留存儲(chǔ)器段程序在預(yù)定端口上進(jìn)行監(jiān) 聽以發(fā)現(xiàn)任意通信。再次參考圖3,在圖3的右側(cè),控制服務(wù)器在步驟324 開始,并且在步驟326確定遠(yuǎn)程服務(wù)器是否存儲(chǔ)器溢出。優(yōu)選地,控制服 務(wù)器是經(jīng)由網(wǎng)絡(luò)連接被連接到遠(yuǎn)程服務(wù)器的另 一服務(wù)器。如果控制服務(wù)器
確定遠(yuǎn)程服務(wù)器在326并未存儲(chǔ)器溢出,則所述過程在328結(jié)束。不過, 如果控制服務(wù)器在步驟326確定遠(yuǎn)程服務(wù)器出現(xiàn)存儲(chǔ)器溢出,則在步驟330 做出在遠(yuǎn)程服務(wù)器上釋放保留存儲(chǔ)器段的決定。優(yōu)選地,釋放保留存儲(chǔ)器 段的決定可以由系統(tǒng)管理員手動(dòng)做出或者由自動(dòng)過程(例如在遠(yuǎn)程服務(wù)器 上運(yùn)行的自動(dòng)恢復(fù)程序)做出,所述自動(dòng)過程進(jìn)行檢查以發(fā)現(xiàn)遠(yuǎn)程服務(wù)器 是否具有存儲(chǔ)器限制,并且如果檢測(cè)到存儲(chǔ)器限制則做出需要在遠(yuǎn)程服務(wù) 器處執(zhí)行遠(yuǎn)程操作(諸如釋放保留存儲(chǔ)器段)的決定。釋放保留存儲(chǔ)器段 的遠(yuǎn)程操作創(chuàng)建了用于其它動(dòng)作的機(jī)會(huì),所述動(dòng)作可以被采取以便恢復(fù)遠(yuǎn) 程服務(wù)器。例如,控制服務(wù)器可以檢測(cè)到遠(yuǎn)程服務(wù)器被掛起。如果遠(yuǎn)程服 務(wù)器未響應(yīng)于服務(wù)請(qǐng)求(諸如用戶無法登錄)、服務(wù)器未響應(yīng)(服務(wù)器仍 然在工作并運(yùn)行,但是由于缺少存儲(chǔ)器而拒絕其它請(qǐng)求,諸如嘗試開始任 意新程序)、服務(wù)器被監(jiān)視工具報(bào)告為停機(jī)等等,則將遠(yuǎn)程服務(wù)器假定為 被掛起或凍結(jié)。在任一這樣的情形中,系統(tǒng)管理員做出服務(wù)器停機(jī)并且需 要遠(yuǎn)程操作的決定。不過,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,即使服務(wù)器未被掛 起,也可以使用遠(yuǎn)程搮作。作為決定的結(jié)果,在步驟332, —個(gè)包(優(yōu)選 地是TCP/IP包)在預(yù)定的TCP端口上4皮發(fā)送,所述包具有用于釋放保留 存儲(chǔ)器段的請(qǐng)求。由于遠(yuǎn)程服務(wù)器在步驟308正在預(yù)定的TCP端口上進(jìn)行 監(jiān)聽,并且在步驟310等待任意包,因此當(dāng)控制服務(wù)器發(fā)送包之時(shí),遠(yuǎn)程 服務(wù)器能夠在步驟312在TCP端口上接收請(qǐng)求釋放保留存儲(chǔ)器段的包。遠(yuǎn) 程服務(wù)器在步驟314執(zhí)行請(qǐng)求驗(yàn)證,以檢查請(qǐng)求是否有效。遠(yuǎn)程服務(wù)器在 步驟316進(jìn)一步標(biāo)識(shí)請(qǐng)求類型。此外,遠(yuǎn)程服務(wù)器在步驟318確定在請(qǐng)求 中指定的操作或動(dòng)作(即,釋放保留存儲(chǔ)器段)對(duì)于請(qǐng)求者(具體而言是 控制服務(wù)器)來說是否被允許。如果遠(yuǎn)程服務(wù)器確定控制服務(wù)器未被授權(quán) 或未被允許請(qǐng)求釋放保留存儲(chǔ)器段的操作或動(dòng)作,則遠(yuǎn)程服務(wù)器不執(zhí)行所 請(qǐng)求的操作或動(dòng)作,而是返回到在TCP端口上等待另一包。另一方面,如 果遠(yuǎn)程服務(wù)器確定控制服務(wù)器被授權(quán)或被允許請(qǐng)求釋放保留存儲(chǔ)器段,則 遠(yuǎn)程服務(wù)器執(zhí)行所請(qǐng)求的操作或動(dòng)作。作為認(rèn)證過程的結(jié)果,遠(yuǎn)程服務(wù)器 在步驟320釋放保留存儲(chǔ)器段,由此結(jié)束所述過程。優(yōu)選地,遠(yuǎn)程服務(wù)器
基于所使用的平臺(tái)使用某種系統(tǒng)調(diào)用來釋放保留存儲(chǔ)器段。如上所述,遠(yuǎn) 程段程序需要極少的存儲(chǔ)器,其被設(shè)計(jì)用于當(dāng)由請(qǐng)求者(例如控制服務(wù)器) 進(jìn)行請(qǐng)求時(shí)執(zhí)行釋放保留存儲(chǔ)器段。假設(shè)段程序被釘住存儲(chǔ)器,則段程序
在已凍結(jié)的遠(yuǎn)程服務(wù)器中仍舊可執(zhí)行。段程序監(jiān)聽遠(yuǎn)程服務(wù)器上的TCP/IP 端口。從而,當(dāng)遠(yuǎn)程服務(wù)器變成已凍結(jié)或無響應(yīng)時(shí),控制服務(wù)器能夠經(jīng)由 網(wǎng)絡(luò)連接將請(qǐng)求TCP包發(fā)送到已桂起的遠(yuǎn)程服務(wù)器。例如,釋放保留存儲(chǔ) 器段允許系統(tǒng)管理員經(jīng)由telnet或SSH進(jìn)行遠(yuǎn)程登錄,以及執(zhí)行校正動(dòng)作, 諸如結(jié)束導(dǎo)致存儲(chǔ)器限制或消耗的過程/應(yīng)用或者增加交換空間大小。
轉(zhuǎn)到圖4,標(biāo)號(hào)400概述了根據(jù)本發(fā)明實(shí)施例的、用于復(fù)原由于存儲(chǔ) 器限制的原因未響應(yīng)的計(jì)算系統(tǒng)(優(yōu)選地是遠(yuǎn)程服務(wù)器)的可替換方法。 用于復(fù)原遠(yuǎn)程服務(wù)器的方法400在步驟402開始,并且在步驟404保留存 儲(chǔ)器段程序或代碼被釘住遠(yuǎn)程服務(wù)器中的存儲(chǔ)器。段程序在步驟406分配 遠(yuǎn)程服務(wù)器的存儲(chǔ)器中的保留存儲(chǔ)器段。段程序在步驟408開始在預(yù)定的 TCP端口上進(jìn)行監(jiān)聽以發(fā)現(xiàn)任意請(qǐng)求包(優(yōu)選地是TCP/IP包)。在遠(yuǎn)程 位置,請(qǐng)求者(諸如控制服務(wù)器)在424開始,并周期性地(優(yōu)選地以預(yù) 定的時(shí)間間隔并在遠(yuǎn)程服務(wù)器上)執(zhí)行存儲(chǔ)器可用性檢查。在可替換實(shí)施 例中,已釘住的段程序包括自動(dòng)觸發(fā)器,以啟動(dòng)以預(yù)定的時(shí)間間隔在遠(yuǎn)程 服務(wù)器上對(duì)于存儲(chǔ)器可用性檢查的執(zhí)行。請(qǐng)求者在步驟428確定是否存在 可用的存儲(chǔ)器。如果請(qǐng)求者在步驟428確定存儲(chǔ)器可用,則請(qǐng)求者返回執(zhí) 行周期性存儲(chǔ)器可用性檢查的步驟426。不過,如果請(qǐng)求者確定存儲(chǔ)器不 可用,即,存在存儲(chǔ)器限制,例如,遠(yuǎn)程服務(wù)器未響應(yīng),則請(qǐng)求者在步驟 430在預(yù)定的TCP端口上發(fā)送一個(gè)包到遠(yuǎn)程服務(wù)器,優(yōu)選地,所述包是具 有用于釋放保留存儲(chǔ)器段的請(qǐng)求的TCP/IP包。遠(yuǎn)程服務(wù)器在步驟412在 預(yù)定的TCP端口上接收具有用于釋放保留存儲(chǔ)器段的請(qǐng)求的包。遠(yuǎn)程服務(wù) 器在步驟414執(zhí)行請(qǐng)求驗(yàn)證,以及在步驟416標(biāo)識(shí)請(qǐng)求類型。此外,在步 驟418,遠(yuǎn)程服務(wù)器確定請(qǐng)求者是否被允許或授權(quán)請(qǐng)求在所接收的請(qǐng)求中 的操作或動(dòng)作(即,釋放保留存儲(chǔ)器段)。如果遠(yuǎn)程服務(wù)器確定請(qǐng)求者未 被授權(quán)或未被允許請(qǐng)求釋方文保留存儲(chǔ)器段的操作或動(dòng)作,則遠(yuǎn)程服務(wù)器不
執(zhí)行所請(qǐng)求的操作或動(dòng)作,而是返回到在TCP端口上等待另一包。不過, 如果遠(yuǎn)程服務(wù)器確定請(qǐng)求者被授權(quán)或被允許請(qǐng)求釋放保留存儲(chǔ)器段的操作 或動(dòng)作,則遠(yuǎn)程服務(wù)器執(zhí)行所請(qǐng)求的操作或動(dòng)作,并且在步驟420釋放保 留存儲(chǔ)器段。請(qǐng)求者在步驟432進(jìn)行檢查以發(fā)現(xiàn)保留存儲(chǔ)器段是否已經(jīng)被 釋放。如果請(qǐng)求者確定保留存儲(chǔ)器段尚未被釋放,則請(qǐng)求者在進(jìn)行檢查以 發(fā)現(xiàn)保留存儲(chǔ)器段是否已經(jīng)被釋放之前等待預(yù)定的時(shí)間間隔。不過,如果 請(qǐng)求者確定保留存儲(chǔ)器段已經(jīng)被釋放,則請(qǐng)求者啟動(dòng)用于復(fù)原或者解除凍 結(jié)遠(yuǎn)程服務(wù)器所必需的校正動(dòng)作,并且在步驟434結(jié)束所述過程。例如, 釋放保留存儲(chǔ)器段允許系統(tǒng)管理員經(jīng)由telnet或SSH進(jìn)行遠(yuǎn)程登錄,以及 執(zhí)行校正動(dòng)作,諸如結(jié)束導(dǎo)致存儲(chǔ)器消耗的過程/應(yīng)用或者增加交換空間大 小。從而,請(qǐng)求者(例如控制服務(wù)器)可以標(biāo)識(shí)"存儲(chǔ)器溢出,,的情形, 并且可以在釋放保留存儲(chǔ)器段之時(shí)自動(dòng)啟動(dòng)用于修復(fù)無響應(yīng)服務(wù)器的問題 所必需的任何校正動(dòng)作。例如,控制服務(wù)器可以啟動(dòng)自動(dòng)恢復(fù)程序在遠(yuǎn)程 服務(wù)器上的運(yùn)行,以復(fù)原遠(yuǎn)程服務(wù)器,如果是被這樣進(jìn)行配置的話。
在再一實(shí)施例中,本發(fā)明提供了 一種用于復(fù)原由于存儲(chǔ)器限制的原因 未響應(yīng)的遠(yuǎn)程服務(wù)器的計(jì)算機(jī)程序產(chǎn)品。所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算 機(jī)可讀媒體,用于分配駐留于遠(yuǎn)程服務(wù)器上的存儲(chǔ)器的保留存儲(chǔ)器段的第 一程序指令,用于將保留存儲(chǔ)器段程序釘住駐留于遠(yuǎn)程服務(wù)器上的存儲(chǔ)器 的第二程序指令,用于持續(xù)地運(yùn)行被釘住的保留存儲(chǔ)器段程序以便當(dāng)存儲(chǔ) 器限制出現(xiàn)時(shí)監(jiān)聽請(qǐng)求包的第三程序指令,用于響應(yīng)于當(dāng)存儲(chǔ)器P艮制出現(xiàn) 在遠(yuǎn)程服務(wù)器上時(shí)所接收的請(qǐng)求包而釋放保留存儲(chǔ)器段的第四程序指令。 所述計(jì)算機(jī)程序產(chǎn)品進(jìn)一步包括用于周期性檢查駐留于遠(yuǎn)程服務(wù)器上的 存儲(chǔ)器以發(fā)現(xiàn)存儲(chǔ)器限制、以及如果發(fā)現(xiàn)存儲(chǔ)器限制則發(fā)送請(qǐng)求包到遠(yuǎn)程 服務(wù)器的第五程序指令。優(yōu)選地,第一、第二、第三、第四和第五程序指 令中的每個(gè)都存儲(chǔ)在所迷媒體上。在優(yōu)選實(shí)施例中,第三程序指令進(jìn)一步 包括用于監(jiān)聽預(yù)定的TCP/IP端口以發(fā)現(xiàn)請(qǐng)求包、以及用于接收包括用 于釋放保留存儲(chǔ)器段的TCP/IP包的請(qǐng)求包的指令。優(yōu)選地,第四程序指 令進(jìn)一步包括用于驗(yàn)證所接收的請(qǐng)求TCP/IP包以及用于標(biāo)識(shí)所接收的TCP/IP包的指令。此外,優(yōu)選地,第四程序指令進(jìn)一步包括用于檢查所 接收的請(qǐng)求TCP/IP包是否對(duì)應(yīng)于在遠(yuǎn)程服務(wù)器上可以允許的操作的指令。 優(yōu)選地,第五程序指令進(jìn)一步包括用于在釋放保留存儲(chǔ)器段之時(shí)在遠(yuǎn)程 服務(wù)器處執(zhí)行校正動(dòng)作的指令。
在優(yōu)選實(shí)施例中,所述計(jì)算機(jī)可讀媒體包括計(jì)算機(jī)存儲(chǔ)媒體和網(wǎng)絡(luò)媒 體。優(yōu)選地,所述計(jì)算機(jī)可讀媒體包括半導(dǎo)體存儲(chǔ)器、磁盤、磁帶、致密 盤(CD)、只讀存儲(chǔ)器(ROM)、和/或數(shù)字視頻盤(DVD),并且網(wǎng)絡(luò) 媒體包括網(wǎng)絡(luò)上的傳輸設(shè)備,諸如線纜、路由器、交換機(jī)和/或網(wǎng)絡(luò)適配器 卡。從而,本發(fā)明還可以以計(jì)算機(jī)程序代碼的形式體現(xiàn),例如,所述計(jì)算 機(jī)程序代碼或者被存儲(chǔ)在存儲(chǔ)媒體中、被加載到計(jì)算機(jī)中和/或由計(jì)算機(jī)執(zhí) 行,或者在某種傳輸媒體上傳輸,諸如在電配線或成纜上傳輸、通過光纖、 或經(jīng)由電磁輻射傳輸,其中,當(dāng)所述計(jì)算機(jī)程序代碼被加載到計(jì)算機(jī)中并 由計(jì)算機(jī)執(zhí)行時(shí),該計(jì)算機(jī)成為用于實(shí)施本發(fā)明的裝置。當(dāng)在通用微處理 器上實(shí)現(xiàn)時(shí),所述計(jì)算機(jī)程序代碼段配置該微處理器來創(chuàng)建特定的邏輯電 路。本領(lǐng)域技術(shù)人員將理解,需要由系統(tǒng)的處理器執(zhí)行的一組可編程代碼, 用于執(zhí)行上述的發(fā)明系統(tǒng)和方法的過程步驟。
優(yōu)選地,所迷計(jì)算機(jī)程序產(chǎn)品采用可從計(jì)算機(jī)可用或計(jì)算機(jī)可讀媒體 訪問的形式,所述媒體提供由計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)使用、或與計(jì)算 機(jī)或任何指令執(zhí)行系統(tǒng)相結(jié)合使用的程序代碼或指令。出于本說明書的目 的,計(jì)算機(jī)可用或計(jì)算機(jī)可讀媒體可以是可包含、存儲(chǔ)、傳送、傳播或傳 輸代碼或指令的任何裝置,所述代碼或指令用于由指令執(zhí)行系統(tǒng)、裝置或 設(shè)備使用或與指令執(zhí)行系統(tǒng)、裝置或設(shè)備相結(jié)合使用。優(yōu)選地,所述媒體 可以包括電子的、磁的、光的、電磁的、紅外的、或半導(dǎo)體系統(tǒng)(或裝 置或設(shè)備)、或傳播媒體。更具體地,計(jì)算機(jī)可讀媒體可以包括半導(dǎo)體 或固態(tài)存儲(chǔ)器、磁帶、可移動(dòng)計(jì)算機(jī)磁盤、隨機(jī)存取存儲(chǔ)器(RAM)、只 讀存儲(chǔ)器(ROM)、硬磁盤和光盤。此外,光盤的示例包括只讀存儲(chǔ)器致 密盤(CD-ROM )、讀/寫致密盤(CD-RAV )或數(shù)字多功能/視頻盤(DVD )。 此外,優(yōu)選地,網(wǎng)絡(luò)媒體可以包括網(wǎng)絡(luò)上的傳輸設(shè)備,諸如線纜、路由器、
交換機(jī)和/或網(wǎng)絡(luò)適配器卡。
參考圖5,標(biāo)號(hào)500是圖示了一種用于復(fù)原由于存儲(chǔ)器限制的原因未 響應(yīng)的遠(yuǎn)程服務(wù)器的計(jì)算機(jī)程序產(chǎn)品的示意性系統(tǒng)框圖。如所述,系統(tǒng)500 包括計(jì)算機(jī)基礎(chǔ)設(shè)施502,其意在表示在安全環(huán)境(即,對(duì)于該環(huán)境強(qiáng)制 實(shí)施訪問控制)中維護(hù)的任意類型的計(jì)算機(jī)體系結(jié)構(gòu)。計(jì)算機(jī)基礎(chǔ)設(shè)施502 僅表示用于實(shí)現(xiàn)本發(fā)明的多種類型的計(jì)算機(jī)基礎(chǔ)設(shè)施。如所示,基礎(chǔ)設(shè)施 502包括計(jì)算系統(tǒng)504,其典型地表示服務(wù)器等等(優(yōu)選地是遠(yuǎn)程服務(wù)器), 并且進(jìn)一步包括計(jì)算系統(tǒng)530、 540、 542和544。不過,應(yīng)該理解,盡管 未示出,但其它硬件和軟件組件(例如附加的計(jì)算機(jī)系統(tǒng)、路由器、防火 墻等等)可以被包括在基礎(chǔ)設(shè)施502中。 一般而言,位于控制服務(wù)器530 的用戶或系統(tǒng)管理員與基礎(chǔ)設(shè)施502通過接口連接,用于復(fù)原由于存儲(chǔ)器 限制的原因未響應(yīng)的遠(yuǎn)程服務(wù)器。此外, 一個(gè)或多個(gè)其它用戶或系統(tǒng)管理 員(圖5中未示出)可以與^S^出設(shè)施502通過接口連接,以復(fù)原由于存儲(chǔ) 器限制的原因未響應(yīng)的遠(yuǎn)程服務(wù)器??商鎿Q地,系統(tǒng)管理員530可以是服 務(wù)提供者,其向客戶機(jī)(諸如客戶機(jī)540、 542和544)提供服務(wù),其中系 統(tǒng)管理員530可以與基礎(chǔ)i殳施502通過接口連接,以優(yōu)選地通過提供安全 環(huán)境的基礎(chǔ)設(shè)施502來提供用于復(fù)原由于存儲(chǔ)器限制的原因未響應(yīng)的遠(yuǎn)程 服務(wù)器的服務(wù)。更為優(yōu)選地,服務(wù)提供者530基于收費(fèi)或預(yù)定而將服務(wù)提 供給客戶才幾。 一般而言,各個(gè)參與方530、 540、 542和544可以直接訪問 基礎(chǔ)設(shè)施502,或者經(jīng)由在計(jì)算機(jī)化的設(shè)備(例如個(gè)人計(jì)算機(jī)、膝上型計(jì) 算機(jī)、手持設(shè)備等等)上加栽的接口 (例如Web瀏覽器)在網(wǎng)絡(luò)上訪問基 礎(chǔ)設(shè)施502。在后一情形中,網(wǎng)絡(luò)可以是任意類型的網(wǎng)絡(luò),諸如因特網(wǎng)、 局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、虛擬專用網(wǎng)(VPN)等等。在任一 情形中,與J^5出設(shè)施502的通信可以經(jīng)由直接硬連線的連接(例如串行端 口 )或經(jīng)由可尋址連接發(fā)生,所述可尋址連接可以使用有線線路和/或無線 傳輸方法的任意組合。此外,可以使用傳統(tǒng)的網(wǎng)絡(luò)連接,諸如令牌環(huán)、以 太網(wǎng)、WiFi或其它傳統(tǒng)的通信標(biāo)準(zhǔn)。此外,可以由傳統(tǒng)的基于TCP/IP套 接字的協(xié)議來提供連接。
計(jì)算系統(tǒng)或遠(yuǎn)程服務(wù)器504被示出包括處理單元(CPU ) 506、存儲(chǔ)器 512、總線510、以及輸入/輸出(1/0)接口 508。此外,計(jì)算系統(tǒng)504凈皮 示出與外部I/0設(shè)備/資源524和存儲(chǔ)系統(tǒng)522進(jìn)行通信。 一般而言,處理 單元506執(zhí)行計(jì)算機(jī)程序代碼或腳本,諸如保留存儲(chǔ)器段程序514以及自 動(dòng)恢復(fù)程序518,它們優(yōu)選地被存儲(chǔ)在存儲(chǔ)器512中,以及可替換地可以 被存儲(chǔ)在外部存儲(chǔ)系統(tǒng)522中。當(dāng)執(zhí)行計(jì)算機(jī)程序代碼時(shí),處理單元506 可以讀取來自存儲(chǔ)器512、存儲(chǔ)系統(tǒng)522和/或1/0接口 508的數(shù)據(jù)和/或?qū)?數(shù)據(jù)寫到存儲(chǔ)器512、存儲(chǔ)系統(tǒng)522和/或I/O接口 508。存儲(chǔ)器512進(jìn)一 步包括保留存儲(chǔ)器段516,其通過在認(rèn)證之時(shí)執(zhí)行保留存儲(chǔ)器段程序514 來釋放??偩€510提供計(jì)算系統(tǒng)504中的每個(gè)組件之間的通信鏈路。外部 設(shè)備524可以包括使得用戶能夠與計(jì)算系統(tǒng)504相交互的任意設(shè)備(例如 鍵盤、點(diǎn)擊設(shè)備、顯示器等)、和/或使得計(jì)算系統(tǒng)504能夠與一個(gè)或多個(gè) 其它計(jì)算設(shè)備相通信的任意設(shè)備(例如網(wǎng)卡、調(diào)制解調(diào)器等)。此外,計(jì) 算系統(tǒng)504僅代表可以包括多種硬件組合的多種可能的計(jì)算機(jī)系統(tǒng)。在此 程度,在其它實(shí)施例中,計(jì)算系統(tǒng)504可以包括任意專用計(jì)算制品,其 包括用于執(zhí)行特定功能的硬件和/或計(jì)算機(jī)程序代碼;任意計(jì)算制品,其包 括專用和通用的硬件/軟件的組合;等等。在每一情形中,程序代碼和硬件 可以分別使用標(biāo)準(zhǔn)編程和工程技術(shù)來創(chuàng)建。例如,處理單元506可以包括 單個(gè)處理單元,或者被分布在位于一個(gè)或多個(gè)位置的一個(gè)或多個(gè)處理單元 上,例如在客戶機(jī)和服務(wù)器上。類似地,遠(yuǎn)程服務(wù)器504上的存儲(chǔ)器512 和/或存儲(chǔ)系統(tǒng)522可以包括駐留在一個(gè)或多個(gè)物理位置的多種類型的數(shù)據(jù) 存儲(chǔ)和/或傳輸媒體的任意組合。此外,1/0接口 508可以包括用于與一個(gè) 或多個(gè)外部設(shè)備524交換信息的任意系統(tǒng)。此外,可以理解, 一個(gè)或多個(gè) 附加的組件(例如系統(tǒng)軟件、數(shù)學(xué)協(xié)處理單元等一一圖5中未示出)可以 被包括在計(jì)算系統(tǒng)504中。此外,如果計(jì)算系統(tǒng)504包括手持設(shè)備等,則 可以理解, 一個(gè)或多個(gè)外部設(shè)備(例如顯示器)可以被包含在計(jì)算系統(tǒng)中, 并且不是^L示出為在計(jì)算系統(tǒng)504的外部。存儲(chǔ)系統(tǒng)522可以是在本發(fā)明 下能夠提供對(duì)于信息的存儲(chǔ)的任意類型的數(shù)據(jù)庫(kù)系統(tǒng)。在此程度,存儲(chǔ)系
統(tǒng)522可以包括一個(gè)或多個(gè)存儲(chǔ)設(shè)備,諸如磁盤驅(qū)動(dòng)器或光盤驅(qū)動(dòng)器。在 另一實(shí)施例中,存儲(chǔ)系統(tǒng)522包括被分布于例如局域網(wǎng)(LAN)、廣域網(wǎng) (WAN)或存儲(chǔ)區(qū)域網(wǎng)(SAN)(未示出)上的數(shù)據(jù)。盡管未示出,但附 加的組件(諸如高速緩沖存儲(chǔ)器、通信系統(tǒng)、系統(tǒng)軟件等)可以被并入計(jì) 算系統(tǒng)504中。
從而,本發(fā)明還可以以計(jì)算機(jī)程序代碼的形式體現(xiàn),例如,所述計(jì)算 機(jī)程序代碼或者被存儲(chǔ)在存儲(chǔ)媒體中、被加載到計(jì)算機(jī)中和/或由計(jì)算機(jī)執(zhí) 行,或者在某種傳輸媒體上傳輸,諸如在電配線或成纜上、通過光纖、或 經(jīng)由電磁輻射傳輸,其中,當(dāng)所述計(jì)算機(jī)程序代碼被加載到計(jì)算機(jī)中并由 計(jì)算機(jī)執(zhí)行時(shí),該計(jì)算機(jī)成為用于實(shí)施本發(fā)明的裝置。當(dāng)在通用微處理器 上實(shí)現(xiàn)時(shí),所述計(jì)算機(jī)程序代碼段配置該微處理器來創(chuàng)建特定的邏輯電路。 本領(lǐng)域技術(shù)人員將理解,需要由系統(tǒng)的處理器執(zhí)行的一組可編程代碼,用 于執(zhí)行上述的發(fā)明系統(tǒng)和方法的過程步驟。
已經(jīng)出于說明和描述的目的呈現(xiàn)了對(duì)本發(fā)明的特定實(shí)施例的前述描 述。它們并非意在窮舉或?qū)⒈景l(fā)明限制于所公開的形式,并且根據(jù)上述講 授很明顯,許多修改和變體都是可能的。所選擇和描述的實(shí)施例用來最好 地解釋本發(fā)明的原理及其實(shí)踐應(yīng)用,從而使得本領(lǐng)域普通技術(shù)人員能夠最
本發(fā)明的范圍由附加于此的權(quán)利要求及其等同物所限定。
權(quán)利要求
1.一種用于復(fù)原由于存儲(chǔ)器限制的原因未響應(yīng)的遠(yuǎn)程服務(wù)器的方法,所述方法包括以下步驟提供連接于網(wǎng)絡(luò)通信信道的遠(yuǎn)程服務(wù)器;將保留存儲(chǔ)器段程序釘住所述遠(yuǎn)程服務(wù)器中的存儲(chǔ)器,以便當(dāng)存儲(chǔ)器限制出現(xiàn)時(shí)控制在所述遠(yuǎn)程服務(wù)器的存儲(chǔ)器中分配的保留存儲(chǔ)器段,從而,作為所述釘住的結(jié)果,所述保留存儲(chǔ)器段程序常駐于存儲(chǔ)器中,并被標(biāo)記為不可移動(dòng)的,從而其它程序不能與所述保留存儲(chǔ)器段程序交換空間;持續(xù)地運(yùn)行所述保留存儲(chǔ)器段程序以監(jiān)聽用于釋放被分配的所述保留存儲(chǔ)器段的請(qǐng)求包;響應(yīng)于所接收的所述請(qǐng)求包,釋放所述遠(yuǎn)程服務(wù)器的所述存儲(chǔ)器中的所述保留存儲(chǔ)器段;以及當(dāng)所述保留存儲(chǔ)器段被釋放時(shí)在所述遠(yuǎn)程服務(wù)器處執(zhí)行用于復(fù)原所述遠(yuǎn)程服務(wù)器的任意校正動(dòng)作。
2. 根據(jù)權(quán)利要求l所述的方法,其中所述釘住步驟包括以下步驟 在所述遠(yuǎn)程服務(wù)器的所述存儲(chǔ)器中分配所述保留存儲(chǔ)器段。
3. 根據(jù)權(quán)利要求2所述的方法,其中所述持續(xù)地運(yùn)行的步驟包括以下 步驟在所述網(wǎng)絡(luò)通信信道上監(jiān)聽預(yù)定的TCP/IP端口以發(fā)現(xiàn)所述請(qǐng)求包;以及在所述網(wǎng)絡(luò)通信信道上接收所述請(qǐng)求包。
4. 根據(jù)權(quán)利要求3所述的方法,其中所述釋放步驟包括以下步驟 驗(yàn)證所接收的所述請(qǐng)求包;標(biāo)識(shí)所接收的所述請(qǐng)求包;以及檢查所接收的所述請(qǐng)求包是否對(duì)應(yīng)于在所述遠(yuǎn)程服務(wù)器上可以允許的
5. 根據(jù)權(quán)利要求4所述的方法,其中所述執(zhí)行步驟進(jìn)一步包括以下步驟周期性地檢查所述遠(yuǎn)程服務(wù)器上的所述存儲(chǔ)器,以便檢測(cè)所述存儲(chǔ)器 限制;以及當(dāng)檢測(cè)到所述存儲(chǔ)器限制時(shí)發(fā)送用于釋放所述保留存儲(chǔ)器段的所述請(qǐng) 求包。
6. 根據(jù)權(quán)利要求5所述的方法,其中所述執(zhí)行步驟進(jìn)一步包括以下步驟在所述遠(yuǎn)程服務(wù)器上運(yùn)行自動(dòng)恢復(fù)程序,以便當(dāng)所述保留存儲(chǔ)器段,皮 釋放時(shí)在所述遠(yuǎn)程服務(wù)器處執(zhí)行所述任意校正動(dòng)作。
7. —種系統(tǒng),包括適于執(zhí)行根據(jù)任一前述方法權(quán)利要求所述的方法的 所有步驟的裝置。
8, 一種包括指令的計(jì)算才A4呈序,當(dāng)所述計(jì)算機(jī)程序在計(jì)算機(jī)系統(tǒng)上執(zhí) 行時(shí)用于執(zhí)行根據(jù)任一前述方法權(quán)利要求所述的方法的所有步驟。
全文摘要
提供了一種用于復(fù)原由于存儲(chǔ)器限制的原因未響應(yīng)的遠(yuǎn)程服務(wù)器的方法。所述方法包括提供連接于網(wǎng)絡(luò)通信信道的遠(yuǎn)程服務(wù)器;將保留存儲(chǔ)器段程序釘住所述遠(yuǎn)程服務(wù)器中的存儲(chǔ)器,以便當(dāng)存儲(chǔ)器限制出現(xiàn)時(shí)控制在所述遠(yuǎn)程服務(wù)器的存儲(chǔ)器中分配的保留存儲(chǔ)器段。所述方法進(jìn)一步包括持續(xù)地運(yùn)行所述保留存儲(chǔ)器段程序以監(jiān)聽用于釋放被分配的所述保留存儲(chǔ)器段的請(qǐng)求包;響應(yīng)于所接收的所述請(qǐng)求包,釋放所述遠(yuǎn)程服務(wù)器的所述存儲(chǔ)器中的所述保留存儲(chǔ)器段;以及當(dāng)所述保留存儲(chǔ)器段被釋放時(shí)在所述遠(yuǎn)程服務(wù)器處執(zhí)行用于復(fù)原所述遠(yuǎn)程服務(wù)器的任意校正動(dòng)作。
文檔編號(hào)G06F11/07GK101361046SQ200780001757
公開日2009年2月4日 申請(qǐng)日期2007年1月4日 優(yōu)先權(quán)日2006年1月12日
發(fā)明者A·K·阿拉姆, V·巴爾蘇克 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司