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