欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

群集控制系統(tǒng)的制作方法

文檔序號:6412487閱讀:256來源:國知局
專利名稱:群集控制系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種群集控制系統(tǒng),它對群集系統(tǒng)進行監(jiān)視控制,當在某臺計算機上發(fā)生故障時,它將在該計算機上運行著的程序包轉(zhuǎn)移到構(gòu)成群集的另一臺計算機上執(zhí)行。
在現(xiàn)有技術(shù)中被稱作群集的技術(shù)大體上可分為由CPU共享主存的緊密結(jié)合型群集和計算機采用LAN和公用盤等并共享數(shù)據(jù)的松散結(jié)合型群集。這里說明的是后者即松散結(jié)合型群集。
圖50是表示現(xiàn)有的群集系統(tǒng)構(gòu)成例的說明圖。
在圖中,計算機A~N(101a~101n)是構(gòu)成群集的多臺計算機。在各計算機上,執(zhí)行著群集守護程序A~N(102a~102n),由各群集守護程序起動各程序包A1~N2(103a1~103n2)。
這里,所謂程序包,指的是應用程序和服務程序等的總稱。
各群集守護程序監(jiān)視和控制執(zhí)行中的計算機上的資源(CPU、LAN、盤、程序包提供的各種服務、網(wǎng)絡地址等),并將其數(shù)據(jù)作為局部數(shù)據(jù)A~N(104a~104n)保存在各計算機內(nèi)。
以下,根據(jù)圖51說明群集系統(tǒng)的動作。
當在計算機A(101a)上失去必要的資源A(2401a)時,群集守護程序A(102a)使計算機A(101a)停止。
在計算機(101a)停止時,另一臺計算機N(101n)上的群集守護程序N(102n)檢測該計算機A(101a)的停止,并由另一臺計算機N(101n)執(zhí)行在計算機A(101a)上執(zhí)行著的程序包A(103a)。
按照這種方式,程序包可在群集內(nèi)的任何一臺計算機上執(zhí)行。此外,通過將網(wǎng)絡地址分配給每個程序包,當用戶利用由程序包提供的服務時,就沒有必要知道是在群集內(nèi)的哪一臺計算機上執(zhí)行著該程序包。
另外,作為對分散著的資源狀態(tài)進行集中監(jiān)視控制的方式,有特開平5-75628號「網(wǎng)絡資源監(jiān)視系統(tǒng)」、特開平5-134902號「分布式計算系統(tǒng)中的工作信息管理方式」、特開平6-223020號「網(wǎng)絡管理系統(tǒng)及目標資源的管理方法」等。
但是,這些方式通過采用管理用的計算機或管理用的處理程序(管理程序)實現(xiàn),但都沒有考慮在管理用的計算機或管理用的處理程序(管理程序)中發(fā)生了故障時的情況。
由于現(xiàn)有的群集系統(tǒng)按如上方式構(gòu)成,所以,在編制對系統(tǒng)總體進行監(jiān)視和控制的程序時,必須將數(shù)據(jù)分散于各計算機,并與群集內(nèi)的所有計算機進行通信,因而存在著很難編制程序的問題。
在對分散著的資源狀態(tài)進行集中監(jiān)視控制的方式中,還存在著當監(jiān)視和控制整個系統(tǒng)的計算機或處理程序發(fā)生故障時其監(jiān)視功能完全停止的問題。
由于對各種程序包之間的相關(guān)關(guān)系或優(yōu)先等級等沒有進行定義,所以還存在著很難從多重系統(tǒng)等的其他系統(tǒng)進行轉(zhuǎn)移的問題。
此外,還存在著程序包重新起動花費時間、恢復時也花費時間的問題。
由于系統(tǒng)恢復后在程序包的切換處理上要花費時間,使進行并行處理的程序包不能進行并行處理,因此,還存在著恢復后系統(tǒng)的性能惡化的問題。
本發(fā)明是為解決上述問題而開發(fā)的,其目的是提供一種容易編制對群集系統(tǒng)總體進行監(jiān)視和控制的程序、同時可從其他系統(tǒng)轉(zhuǎn)移并能以高速進行操作的群集控制系統(tǒng)。
與本發(fā)明的第一方面有關(guān)的群集控制系統(tǒng),當構(gòu)成群集系統(tǒng)的計算機群中的某臺計算機發(fā)生故障時,使在該計算機上運行中的程序包由另一臺計算機執(zhí)行,在該群集控制系統(tǒng)中,構(gòu)成該群集的各計算機包括提供應用或各種服務的程序包、對在計算機之間進行通信的資源進行監(jiān)視控制的群集守護程序、及將監(jiān)視結(jié)果作為局部數(shù)據(jù)存儲的局部數(shù)據(jù)存儲裝置;在群集系統(tǒng)中的一臺計算機除上述程序包、群集守護程序、局部數(shù)據(jù)存儲裝置外,還裝有從各計算機上的局部數(shù)據(jù)進行收集并可由任何一臺計算機參照的全局數(shù)據(jù)存儲裝置、與全局數(shù)據(jù)存儲裝置和各計算機上的群集守護程序進行通信并對群集系統(tǒng)的總體進行監(jiān)視控制的管理程序;當安裝著管理程序的計算機發(fā)生故障時,可在群集內(nèi)的其他計算機上重新起動。
與本發(fā)明的第二方面有關(guān)的群集控制系統(tǒng),當構(gòu)成群集系統(tǒng)的計算機群中的某臺計算機發(fā)生故障時,使在該計算機上運行中的程序包由另一臺計算機執(zhí)行,在該群集控制系統(tǒng)中,構(gòu)成該群集的各計算機包括提供應用或各種服務的程序包、對在計算機之間進行通信的資源進行監(jiān)視控制的群集守護程序、與該計算機本身的群集守護程序及管理程序進行通信的服務程序、及將監(jiān)視結(jié)果作為局部數(shù)據(jù)存儲的局部數(shù)據(jù)存儲裝置;群集系統(tǒng)中的一臺計算機除群集守護程序、服務程序、局部數(shù)據(jù)存儲裝置外,還裝有從各計算機上的局部數(shù)據(jù)進行收集并可由任何一臺計算機參照的全局數(shù)據(jù)存儲裝置、及與全局數(shù)據(jù)存儲裝置和各計算機上的服務程序進行通信并對群集系統(tǒng)的總體進行監(jiān)視控制的管理程序;當安裝著管理程序的計算機發(fā)生故障時,可在群集內(nèi)的其他計算機上重新起動。
與本發(fā)明的第三方面有關(guān)的群集控制系統(tǒng),當構(gòu)成群集系統(tǒng)的計算機群中的某臺計算機發(fā)生故障時,使在該計算機上運行著的程序包由另一臺計算機執(zhí)行,在該群集控制系統(tǒng)中,構(gòu)成該群集的各計算機包括提供應用或各種服務的程序包、對在該計算機本身的程序包和計算機之間進行通信的資源進行監(jiān)視控制的群集守護程序、與該計算機本身的群集守護程序、各計算機上的服務程序之間及全局數(shù)據(jù)存儲裝置進行通信的服務程序;及將監(jiān)視結(jié)果作為局部數(shù)據(jù)存儲的局部數(shù)據(jù)存儲裝置;在群集系統(tǒng)中的一臺計算機除上述群集守護程序、服務程序、局部數(shù)據(jù)存儲裝置外,還裝有從各計算機上的局部數(shù)據(jù)進行收集并可由任何一臺計算機參照的全局數(shù)據(jù)存儲裝置;各計算機上的服務程序可直接在全局數(shù)據(jù)存儲裝置及服務程序之間進行通信。
與本發(fā)明的第四方面有關(guān)的群集控制系統(tǒng),當構(gòu)成群集系統(tǒng)的計算機群中的某臺計算機發(fā)生故障時,使在該計算機上運行著的程序包由另一臺計算機執(zhí)行,在該群集控制系統(tǒng)中,構(gòu)成該群集的各計算機包括提供應用或各種服務的程序包;對在該計算機本身的程序包及各計算機之間進行通信的資源進行監(jiān)視控制的群集守護程序;與該計算機本身的群集守護程序、各計算機上的服務程序之間及全局數(shù)據(jù)存儲裝置進行通信的服務程序;及將監(jiān)視結(jié)果作為局部數(shù)據(jù)存儲的局部數(shù)據(jù)存儲裝置;在群集系統(tǒng)中的一臺計算機除上述群集守護程序、服務程序、局部數(shù)據(jù)存儲裝置外,還裝有從各計算機上的局部數(shù)據(jù)進行收集并可由任何一臺計算機參照的全局數(shù)據(jù)存儲裝置以及與該計算機本身的服務程序和守護程序進行通信的管理程序;各計算機上的服務程序可直接在全局數(shù)據(jù)存儲裝置及服務程序之間進行通信。
有關(guān)本發(fā)明的第五方面,是在與本發(fā)明的第一、第二或第四方面有關(guān)的群集控制系統(tǒng)中,管理程序包括記述了構(gòu)成群集系統(tǒng)的計算機群的資源狀態(tài)變化時的處理的資源設定文件;及根據(jù)資源設定文件的定義,當資源狀態(tài)有變化時進行資源控制處理的自動控制機構(gòu)。
有關(guān)本發(fā)明的第六方面,是在與本發(fā)明的第五方面有關(guān)的群集控制系統(tǒng)中,在資源設定文件中定義與程序包間的相互關(guān)系和與執(zhí)行有關(guān)的優(yōu)先級信息,自動控制機構(gòu)根據(jù)該定義信息使各計算機上的程序包運行。
有關(guān)本發(fā)明的第七方面,是在與本發(fā)明的第一、第二、第四或第五方面有關(guān)的群集控制系統(tǒng)中,管理程序包括對程序包附加包含運行、等待、試驗的運行操作模式、并根據(jù)該模式對程序包的操作控制進行管理的模式管理機構(gòu)。
有關(guān)本發(fā)明的第八方面,是在與第1、第2、第4乃至第7方面有關(guān)的群集控制系統(tǒng)中,管理程序包括收集與在群集系統(tǒng)內(nèi)發(fā)生的資源狀態(tài)變化有關(guān)的運行記錄的運行記錄管理機構(gòu)。
另外,有關(guān)本發(fā)明的第九方面,當構(gòu)成群集控制系統(tǒng)的多臺計算機中的一臺計算機發(fā)生故障時,使在上述發(fā)生故障的計算機上運行中的提供應用或各種服務的程序包由另一臺計算機運行,在該群集控制系統(tǒng)中,上述多臺計算機包括分別監(jiān)視各自的計算機的故障和恢復、同時對上述程序包的起動和運行進行控制的群集守護程序,上述多臺計算機中的第1計算機運行上述程序包即第1程序包,上述多臺計算機中的第2計算機在起動狀態(tài)下等待提供與上述第1程序包相同的應用和服務的第2程序包,上述多臺計算機中的一臺計算機除上述群集守護程序外,還包括管理程序,用于從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述第1計算機發(fā)生故障時,在上述第2計算機上運行上述第2程序包,同時在上述第1計算機從上述故障恢復時,使上述第1計算機在起動狀態(tài)下等待上述第1程序包。
另外,本發(fā)明的第十方面具有從上述第1程序包的輸出或上述第2程序包的輸出選擇任何一個后輸出的輸出控制裝置,上述第2計算機不是在起動狀態(tài)下等待上述第2程序包,而是運行上述第2程序包,它包括下述管理程序以取代上述管理程序從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在從上述輸出控制裝置輸出上述第1程序包的輸出時,如在上述第1計算機中發(fā)生故障,則取代上述第1程序包的輸出,從上述輸出裝置輸出上述第2程序包的輸出,并在上述第2計算機發(fā)生故障之前由上述輸出控制裝置繼續(xù)輸出上述第2程序包的輸出,當上述第1程序包重新開始運行而上述第2計算機發(fā)生故障時,取代上述第2程序包的輸出,從上述輸出控制裝置輸出上述第1程序包的輸出。
另外,本發(fā)明的第十一方面包括如下管理程序來取代上述管理程序從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述第1計算機中發(fā)生故障時,在上述第2計算機上運行上述上述第2程序包,同時,使上述多臺計算機中的第3計算機在起動狀態(tài)下等待上述第1程序包。
另外,本發(fā)明的第十二方面包括存儲由上述多臺計算機的每一臺起動的各程序包的優(yōu)先級的管理表,并包括如下管理程序來取代上述管理程序從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述第1計算機中發(fā)生故障時,從上述管理表檢索比在上述第1計算機上運行著的上述程序包的優(yōu)先級低的程序包,并使該優(yōu)先級低的程序包停止運行,同時在運行著上述優(yōu)先級低的程序包的計算機上起動在上述第1計算機上運行著的程序包。
另外,有關(guān)本發(fā)明的第十三方面,當構(gòu)成群集控制系統(tǒng)的多臺計算機中的一臺計算機發(fā)生故障時,使提供在上述發(fā)生故障的計算機上運行中的應用或各種服務的程序包由另一臺計算機運行,在該群集控制系統(tǒng)中,上述多臺計算機包括分別監(jiān)視各自的計算機的故障和恢復、同時對上述程序包的起動和運行進行控制的群集守護程序,上述多臺計算機中的一臺計算機除上述守護程序外,還包括存儲由上述多臺計算機的每一臺起動的各程序包的優(yōu)先級和上述多臺計算機的每一臺的負載的管理表;及管理程序,用于從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述多臺計算機中的第1計算機的負載變得大于預定負載時,參照上述管理表,使在上述第1計算機上運行著的程序包中的優(yōu)先級低的程序包停止運行,并在上述多臺計算機中的負載小于預定負載的計算機上起動被停止的程序包。
另外,有關(guān)本發(fā)明的第十四方面,取代上述管理表,包括存儲在上述多臺計算機上起動的各程序包的優(yōu)先級的管理表,上述群集守護程序監(jiān)視各自的計算機的資源,并包括如下管理程序來取代上述管理程序從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述群集守護程序監(jiān)視的資源發(fā)生變化時,根據(jù)上述優(yōu)先級,將資源重新分配給由上述多臺計算機的每一臺運行著的程序包。
另外,有關(guān)本發(fā)明的第十五方面,包括存儲將由上述多臺計算機的每一臺并行運行的多個上述程序包作為一組時的組名的管理表,并包括下述管理程序來取代上述管理程序從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述多臺計算機中的第1計算機發(fā)生故障時,從上述管理表檢索上述多臺計算機的計算機中沒有運行與在上述第1計算機上運行著的程序包同組的程序包的計算機,并在檢索到的計算機上起動和運行由上述第1計算機運行著的程序包。


圖1是本發(fā)明第1實施形態(tài)的處理程序結(jié)構(gòu)圖。
圖2是本發(fā)明第1實施形態(tài)的管理程序的結(jié)構(gòu)圖。
圖3是表示本發(fā)明第1實施形態(tài)的與用戶請求對應的管理程序的處理的流程圖。
圖4是表示本發(fā)明第1實施形態(tài)的管理程序的資源狀態(tài)監(jiān)視處理的流程圖。
圖5是表示本發(fā)明第1實施形態(tài)應用例的圖。
圖6是本發(fā)明第2實施形態(tài)的處理程序結(jié)構(gòu)圖。
圖7是本發(fā)明第2實施形態(tài)的管理程序的結(jié)構(gòu)圖。
圖8是本發(fā)明第2實施形態(tài)的服務程序的結(jié)構(gòu)圖。
圖9是表示本發(fā)明第2實施形態(tài)的服務程序變形例的結(jié)構(gòu)圖。
圖10是表示本發(fā)明第2實施形態(tài)的管理程序的資源狀態(tài)監(jiān)視處理的流程圖。
圖11是表示本發(fā)明第2實施形態(tài)的服務程序的資源狀態(tài)監(jiān)視處理的流程圖。
圖12是本發(fā)明第3實施形態(tài)的處理程序結(jié)構(gòu)圖。
圖13是表示本發(fā)明第3實施形態(tài)應用例的圖。
圖14是本發(fā)明第4實施形態(tài)的處理程序結(jié)構(gòu)圖。
圖15是表示本發(fā)明第4實施形態(tài)應用例的圖。
圖16是本發(fā)明第5實施形態(tài)的管理程序的結(jié)構(gòu)圖。
圖17是表示本發(fā)明第5實施形態(tài)的設定文件例的圖。
圖18是表示本發(fā)明第6實施形態(tài)的設定文件例的圖。
圖19是本發(fā)明第7實施形態(tài)的管理程序的結(jié)構(gòu)圖。
圖20是本發(fā)明第7實施形態(tài)的模式狀態(tài)切換圖。
圖21是表示本發(fā)明第7實施形態(tài)應用例的圖。
圖22是本發(fā)明第8實施形態(tài)的管理程序的結(jié)構(gòu)圖。
圖23是本發(fā)明第9實施形態(tài)的管理程序的結(jié)構(gòu)圖。
圖24是本發(fā)明第9實施形態(tài)的管理表存儲內(nèi)容的構(gòu)成例。
圖25是說明本發(fā)明第9實施形態(tài)的管理程序的處理的流程圖。
圖26是表示本發(fā)明第9實施形態(tài)的系統(tǒng)動作例的功能框圖。
圖27是本發(fā)明第10實施形態(tài)的管理程序的結(jié)構(gòu)圖。
圖28是本發(fā)明第10實施形態(tài)的管理表存儲內(nèi)容的構(gòu)成例。
圖29是說明本發(fā)明第10實施形態(tài)的管理程序的處理的流程圖。
圖30是表示本發(fā)明第10實施形態(tài)的系統(tǒng)動作例的功能框圖。
圖31是本發(fā)明第11實施形態(tài)的管理程序的結(jié)構(gòu)圖。
圖32是本發(fā)明第11實施形態(tài)的管理表存儲內(nèi)容的構(gòu)成例。
圖33是說明本發(fā)明第11實施形態(tài)的管理程序的處理的流程圖。
圖34是表示本發(fā)明第11實施形態(tài)的系統(tǒng)動作例的功能框圖。
圖35是本發(fā)明第12實施形態(tài)的管理表存儲內(nèi)容的構(gòu)成例。
圖36是說明本發(fā)明第12實施形態(tài)的管理程序的處理的流程圖。
圖37是表示本發(fā)明第12實施形態(tài)的系統(tǒng)動作例的功能框圖。
圖38是本發(fā)明第13實施形態(tài)的管理表存儲內(nèi)容的構(gòu)成例。
圖39是表示本發(fā)明第13實施形態(tài)的系統(tǒng)動作例的功能框圖。
圖40是本發(fā)明第14實施形態(tài)的管理表存儲內(nèi)容的構(gòu)成例。
圖41是說明本發(fā)明第14實施形態(tài)的管理程序的處理的流程圖。
圖42是表示本發(fā)明第14實施形態(tài)的系統(tǒng)動作例的功能框圖。
圖43是本發(fā)明第15實施形態(tài)的管理表存儲內(nèi)容的構(gòu)成例。
圖44是說明本發(fā)明第15實施形態(tài)的管理程序的處理的流程圖。
圖45是表示本發(fā)明第15實施形態(tài)的系統(tǒng)動作例的功能框圖。
圖46是表示本發(fā)明第15實施形態(tài)的系統(tǒng)動作例的功能框圖。
圖47是本發(fā)明第16實施形態(tài)的管理程序的結(jié)構(gòu)圖。
圖48是本發(fā)明第16實施形態(tài)的管理表存儲內(nèi)容的構(gòu)成例。
圖49是說明本發(fā)明第16實施形態(tài)的管理程序的處理的流程圖。
圖50是表示現(xiàn)有技術(shù)的處理程序結(jié)構(gòu)圖。
圖51是表示現(xiàn)有技術(shù)的動作的圖。
實施形態(tài)1以下,根據(jù)圖1~圖5說明本發(fā)明的第1實施形態(tài)。
在圖1中,計算機A~N(101a~101n)是構(gòu)成群集的多臺計算機。在各計算機上,執(zhí)行著群集守護程序A~N(102a~102n),由各群集守護程序起動各程序包A1~N2(103a1~103n2)。
所謂程序包,指的是應用程序和服務程序等的總稱。
另外,各群集守護程序監(jiān)視和控制執(zhí)行中的計算機上的資源(CPU、LAN、盤、程序包、網(wǎng)絡地址等),并將其數(shù)據(jù)作為局部數(shù)據(jù)A~N(104a~104n)保存在各計算機內(nèi)。
管理程序105通過與各計算機上的群集守護程序進行通信,對群集系統(tǒng)的總體進行監(jiān)視控制,并保存著全局數(shù)據(jù)106。
全局數(shù)據(jù)106是可以由群集內(nèi)的任何一臺計算機參照的數(shù)據(jù),可采用公用盤、公用存儲器、或通過存儲器的復制實現(xiàn)。
另外,管理程序105是群集系統(tǒng)內(nèi)的程序包之一,當管理程序或執(zhí)行著管理程序的計算機發(fā)生故障時,由守護程序在另一臺計算機上重新起動。
以下,根據(jù)圖2說明管理程序的結(jié)構(gòu)。
在圖中,請求處理機構(gòu)201是接收來自用戶的請求(D201資源狀態(tài)取得請求、資源控制請求、通知設定請求)、進行與請求相應的處理(D202、D203、D204)并將處理結(jié)果(D205)發(fā)送給用戶的結(jié)構(gòu)。
資源控制機構(gòu)202接受來自請求處理機構(gòu)201的請求(D204),通過參照資源狀態(tài)DB(數(shù)據(jù)庫)(203)(D206)來確定保存著作為請求對象的資源的計算機,并向該計算機發(fā)送資源控制請求(D207)。
對于群集內(nèi)的各個資源,資源狀態(tài)監(jiān)視機構(gòu)204向保存著資源的計算機發(fā)送資源狀態(tài)取得請求(D208),接收作為其響應的資源狀態(tài)(D209),并當資源狀態(tài)變化時,參照資源狀態(tài)DB(203)(D210),通知資源狀態(tài)變化處理機構(gòu)205(D211)。
資源狀態(tài)變化處理機構(gòu)205接受來自資源狀態(tài)監(jiān)視機構(gòu)204的通知(D211),對資源狀態(tài)DB(203)進行更新(D212),同時參照通知設定DB(數(shù)據(jù)庫)(207)(D213),如設定著通知設定,則通知資源狀態(tài)變化通知機構(gòu)208(D214)。
通知設定機構(gòu)206根據(jù)來自請求處理機構(gòu)201的請求(D202),對通知設定DB(207)進行更新(D215),并參照資源狀態(tài)DB(203)(D216),將當前狀態(tài)通知資源狀態(tài)變化通知機構(gòu)208(D217)。
資源狀態(tài)變化通知機構(gòu)208接受來自資源狀態(tài)變化處理機構(gòu)205或通知設定機構(gòu)206的通知(D214、D217),向進行設定的用戶發(fā)送資源狀態(tài)變化通知(D218)。
通知控制機構(gòu)209是對用戶與群集守護程序之間的發(fā)送接收進行控制的機構(gòu)。資源狀態(tài)DB(203)是存儲著資源名稱、狀態(tài)、保存著該資源的計算機等信息的數(shù)據(jù)庫。
通知設定DB(207)是存儲著當某個資源的狀態(tài)發(fā)生變化時向與管理程序連接著的某個用戶發(fā)送通知的信息的數(shù)據(jù)庫。
以下,根據(jù)圖3說明當有了來自用戶的請求時的管理程序的處理動作。
首先,在步驟301中,等待來自用戶的請求(D201),在步驟302中,判別來自用戶的請求(D201)的種類。
當來自用戶的請求是取得資源狀態(tài)時,在步驟303中,請求處理機構(gòu)201參照資源狀態(tài)DB(D203),并取得與該請求對應的資源狀態(tài)。在步驟304中,請求處理機構(gòu)201向用戶發(fā)送資源狀態(tài)(D205),并返回步驟301。
另一方面,當來自用戶的請求是控制資源時,在步驟305中,資源控制機構(gòu)202接受來自請求處理機構(gòu)201的請求(D204),并參照資源狀態(tài)DB(D206),取得保存著與該請求對應的資源狀態(tài)的計算機。
在步驟306中,資源控制機構(gòu)202向在步驟305中取得的計算機發(fā)送控制請求(D207)。在步驟307中,請求處理機構(gòu)201將步驟306的資源控制機構(gòu)202的處理結(jié)果發(fā)送給用戶(D205),并返回步驟301。
當來自用戶的請求是設定資源狀態(tài)變化的通知時,在步驟308中,通知設定機構(gòu)206對通知設定DB進行更新(D215)。
在步驟309中,請求處理機構(gòu)201起動資源控制機構(gòu)202(D204),同時向用戶發(fā)送處理結(jié)果(D205)。
在步驟310中,通知設定機構(gòu)206從資源狀態(tài)DB(203)取得當前的資源狀態(tài)(D216)。在步驟311中,資源狀態(tài)變化通知機構(gòu)208接受來自通知設定機構(gòu)206的通知(D217),將在步驟310中取得的資源狀態(tài)通知給用戶(D218),并返回步驟301。
之所以在步驟310中向用戶發(fā)送通知,是為了返回當前資源狀態(tài)(對用戶的初始值)。
其次,根據(jù)圖4說明管理程序的資源監(jiān)視處理。
在步驟401中,對所有資源完成步驟402以下的處理。在步驟402中,資源狀態(tài)監(jiān)視機構(gòu)204從保存著該資源的計算機取得資源狀態(tài)(D208、D209)。
在步驟403中,資源狀態(tài)監(jiān)視機構(gòu)204參照資源狀態(tài)DB(203)(D210),如果該狀態(tài)與取得的資源狀態(tài)相同,則返回步驟401,如果不相同,則進行步驟404以下的處理。
在步驟404中,資源狀態(tài)變化處理機構(gòu)205從資源狀態(tài)監(jiān)視機構(gòu)204接受通知(D211),并將資源狀態(tài)DB(203)的狀態(tài)更新為取得的資源狀態(tài)(D212)。
在步驟405中,資源狀態(tài)變化處理機構(gòu)205參照通知設定DB(D213),如果登錄著與該資源狀態(tài)變化對應的對用戶的通知,則在步驟406中,資源狀態(tài)變化通知機構(gòu)208從資源狀態(tài)變化處理機構(gòu)205接受通知(D214),并將資源的狀態(tài)變化通知用戶(D218),如果沒有登錄,則返回步驟401。
在步驟407中,停止一定的時間。
圖5是表示群集系統(tǒng)內(nèi)的監(jiān)視控制用處理程序的構(gòu)成例。
在圖中,可以根據(jù)與管理程序105在同一計算機A(101a)上的處理程序A(501a)、群集內(nèi)的另一計算機B(101b)上的處理程序B(501b)、在WS(工作站)等的群集以外的計算機C(101c)上的處理程序C(501c)對群集內(nèi)的所有資源進行監(jiān)視控制。
另外,各組合處理程序只須對管理程序105進行訪問,即可對群集進行監(jiān)視和控制,而無需知道該管理程序在哪一臺計算機上操作。
實施形態(tài)2根據(jù)圖6~圖11說明本發(fā)明的第2實施形態(tài)。
本實施形態(tài)是對圖1的處理程序結(jié)構(gòu)進行變更后的形態(tài),是當不能由其他計算機訪問群集守護程序時或當想要減輕管理程序和網(wǎng)絡的負載時采用的結(jié)構(gòu)。
圖6是表示本實施形態(tài)的處理程序結(jié)構(gòu)的圖。
服務程序A~N(601a~601n)是在各計算機上執(zhí)行的與各計算機上的群集守護程序及管理程序進行通信的程序。
而其他單元是與圖1中標以相同符號的單元相同的構(gòu)成單元。
圖7是本實施形態(tài)的管理程序的結(jié)構(gòu)。與圖2的不同點在于去掉了資源狀態(tài)監(jiān)視機構(gòu)204、由資源狀態(tài)變化處理機構(gòu)205接受來自服務程序的通知(D701)、及資源控制機構(gòu)不是向群集守護程序而是向服務程序發(fā)送資源控制請求(D702)。
圖8是表示本實施形態(tài)的服務程序的結(jié)構(gòu)的圖。
各機構(gòu)的動作除以下幾點外與圖2相同。即,去掉了通知設定DB(207)和通知設定機構(gòu)206,對請求處理機構(gòu)201的請求只是來自管理程序的資源控制請求(D702)。
資源控制機構(gòu)202將資源控制請求(D702)發(fā)送到運行著的計算機上的群集守護程序,而不參照資源狀態(tài)DB(203)。
資源狀態(tài)變化處理機構(gòu)205將來自資源狀態(tài)監(jiān)視機構(gòu)204的所有通知(D211)通知資源狀態(tài)變化通知機構(gòu)208(D214),而不參照通知設定DB(207)。
資源狀態(tài)變化通知機構(gòu)208不是向用戶而是向管理程序進行資源狀態(tài)變化的通知(D701)。資源狀態(tài)DB(801)只管理執(zhí)行著服務程序的計算機保存的局部的資源狀態(tài)。
如果在通信控制機構(gòu)209發(fā)送時管理程序105不存在,則其數(shù)據(jù)保存在一個隊列內(nèi)。
當收到來自用戶的請求時,管理程序的處理與圖3相同。
以下,根據(jù)圖10說明管理程序的資源監(jiān)視處理。
在步驟1001中,資源監(jiān)視狀態(tài)機構(gòu)204等待來自服務程序的資源狀態(tài)變化通知(D701)。步驟1002~1004與圖4的步驟404~406相同。
以下,根據(jù)圖11說明服務程序的資源監(jiān)視處理。
在步驟1101中,對計算機的所有資源完成步驟1102以下的處理。在步驟1102中,資源監(jiān)視狀態(tài)機構(gòu)204從群集守護程序取得資源的狀態(tài)(D208、D209)。
在步驟1103中,資源狀態(tài)監(jiān)視機構(gòu)204參照資源狀態(tài)DB(D210),如果該狀態(tài)與取得的資源狀態(tài)相同,則返回步驟1101,如果不相同,則進行步驟1104以下的處理。
在步驟1104中,資源狀態(tài)變化處理機構(gòu)205從資源狀態(tài)監(jiān)視機構(gòu)204接受通知(D211),并將資源狀態(tài)DB的狀態(tài)更新為取得的資源狀態(tài)(D212)。
在步驟1105中,資源狀態(tài)變化通知機構(gòu)208從資源狀態(tài)變化處理機構(gòu)205接受通知(D214),并將資源的狀態(tài)變化通知管理程序(D701),并返回步驟1101。并且在步驟1106中,停止一定的時間。
另外,圖9是圖8的變形例,示出了具有向群集守護程序通知資源狀態(tài)變化的功能時的服務程序的結(jié)構(gòu)。各機構(gòu)的基本動作與圖8相同,但不同點是去掉了資源狀態(tài)監(jiān)視機構(gòu)204、資源狀態(tài)DB(801),并增加了一個通知設定機構(gòu)206。
這里,通知設定機構(gòu)206向群集守護程序發(fā)送通知設定請求(D901),以便在服務程序起動或群集守護程序起動時通知所有的資源狀態(tài)變化。
另外,資源狀態(tài)變化處理機構(gòu)205接受來自群集守護程序的通知(D902),并通知資源狀態(tài)變化通知機構(gòu)208(D903)。
按照以上的結(jié)構(gòu),由于同一計算機上的服務程序與群集守護程序通信,并且,管理程序與服務程序通信,所以,即使群集守護程序只能與同一計算機上的處理程序通信,也仍能由管理程序進行群集的集中監(jiān)視控制。
另外,由于各服務程序可定期取得資源狀態(tài),所以能使負載分散,并使流向網(wǎng)絡的數(shù)據(jù)減少,因而能減輕管理程序和網(wǎng)絡的負載。
實施形態(tài)3根據(jù)圖12、圖13說明本發(fā)明的第3實施形態(tài)。
本實施形態(tài)是對圖6的處理程序結(jié)構(gòu)進行變更后的形態(tài),將管理程序去掉而在服務程序相互之間進行通信,并可參照全局數(shù)據(jù)。
以下,根據(jù)圖12說明處理程序的結(jié)構(gòu)。
服務程序A~N(601a~601n)與在裝有各服務程序A~N的計算機上執(zhí)行著的群集守護程序、其他計算機上的服務程序及用戶進行通信。
全局數(shù)據(jù)106可由各計算機訪問,而由各計算機的訪問以互斥的方式進行。
服務程序的結(jié)構(gòu)與圖2的管理程序的結(jié)構(gòu)相同,但各機構(gòu)有以下幾點不同。
對資源狀態(tài)DB(203)、通知設定DB(207)的訪問由服務程序以互斥的原子動作方式進行。
另外,各服務程序的資源狀態(tài)監(jiān)視機構(gòu)204只對執(zhí)行著各服務程序的計算機上的資源進行監(jiān)視。
如果在計算機上存在要控制的資源,則資源控制機構(gòu)202向計算機上的群集守護程序發(fā)送,如不存在該資源,則在參照資源狀態(tài)DB(203)后,向保持著該資源的計算機上的服務程序或群集守護程序發(fā)送。
再有,通信控制機構(gòu)209從各用戶的接收和向用戶的發(fā)送,變成從用戶或服務程序的接收和向用戶或服務程序的發(fā)送。
圖13是表示采用本結(jié)構(gòu)的用戶處理程序的結(jié)構(gòu)例。
用戶處理程序A(1301)選擇服務程序601a~601n內(nèi)的任何1個服務程序進行通信。這里,如圖13(b)所示,當該服務程序中發(fā)生故障時,選擇另一服務程序,并重新進行連接。
用戶處理程序B(1302)選擇服務程序601a~601n內(nèi)的任何2個服務程序進行通信。在這種情況下,即使如圖13(b)所示其中1個服務程序中發(fā)生故障時,仍可以通過另一服務程序進行通信,繼續(xù)進行處理。
按照以上的結(jié)構(gòu),用戶可與群集內(nèi)的任何一個服務程序進行通信,從而能進行群集的集中監(jiān)視控制。
另外,通過與2個服務程序進行通信,可以縮短服務程序發(fā)生故障時造成的通信被禁止的時間。
實施形態(tài)4根據(jù)圖14、圖15說明本發(fā)明的第4實施形態(tài)。
本實施形態(tài)在圖12中增加了管理程序105。
以下,參照圖14說明處理程序的結(jié)構(gòu)。
這里,服務程序A~N(601a~601n)與圖12所示相同。
管理程序105按照只具有網(wǎng)絡地址的程序包構(gòu)成,用戶可通過訪問管理程序105而對群集內(nèi)的任何一個服務程序進行訪問。
圖15是采用本結(jié)構(gòu)的用戶處理程序的構(gòu)成例。
用戶處理程序A(1501)與管理程序105進行通信。當如圖15(b)所示在管理程序105中發(fā)生了故障時,在另一計算機上重新起動管理程序105,用戶處理程序A(1051)與管理程序105重新進行連接。
用戶處理程序B(1502)選擇服務程序601a~601n內(nèi)的任何2個服務程序進行通信。即使如圖15(b)所示其中一個服務程序中發(fā)生故障時,仍可以通過與另一服務程序進行通信,繼續(xù)進行處理。
按照以上的結(jié)構(gòu),用戶可以象實施形態(tài)1、實施形態(tài)2一樣只對管理程序進行訪問的運行狀態(tài),或象實施形態(tài)3一樣,適當選擇對群集內(nèi)的任何一個服務程序進行訪問的運行狀態(tài)。
另外,當只對管理程序進行訪問時,由于管理程序按只具有網(wǎng)絡地址的程序包構(gòu)成,所以,與實施形態(tài)1和2相比,能在短時間內(nèi)進行管理程序的轉(zhuǎn)移,因此,即使在管理程序中發(fā)生故障時,也能縮短通信被禁止的時間。
實施形態(tài)5根據(jù)圖16、圖17說明本發(fā)明的第5實施形態(tài)。
本實施形態(tài)是在圖7的管理程序中包括設定文件和自動控制機構(gòu)。
圖16是本實施形態(tài)的管理程序的結(jié)構(gòu)圖。
在圖中,設定文件1601用于根據(jù)資源狀態(tài)的變化進行系統(tǒng)的自動控制,并記有資源名、事件名、處理的組。
另外,事件名、處理中的變量名(屬性)、及命令名(方法)由資源的種類決定,變量名表示為“資源名。變量名”,命令名表示為“資源名->命令名”。
自動控制機構(gòu)1062用于讀入設定文件1061(D1601),當收到來自資源狀態(tài)變化處理機構(gòu)205的通知(D1602)時,參照資源狀態(tài)DB(203)(D1603),并根據(jù)設定文件1061的定義,向資源控制機構(gòu)202發(fā)送資源控制請求(D1604)。
其次,圖17是表示設定文件的例的圖。
在圖中,pkg1、pkg2是資源名,資源的種類是程序包。第1~第3行是注釋。第5~第9行是用于當pkg1停止時如pkg2沒有起動則使pkg2起動的定義。
第11~第15行是用于在pkg1起動時如pkg2在與pkg1同一計算機上起動著則使pkg2停止的定義。第17~第21行是用于在pkg2起動時如pkg1在與pkg2同一計算機上起動著則使pkg2停止(中止pkg2的起動)的定義。
在以上的定義中,使pkg1和pkg2不在同一計算機上運行,如在同一計算機上運行,則是使pkg1優(yōu)先的系統(tǒng)。
在本設定文件中以對程序包進行的控制作為一個例子,但當然也可以對其他資源進行控制。
另外,在本實施形態(tài)中說明了實施形態(tài)2的管理程序,但也適用于實施形態(tài)1、實施形態(tài)4中所述的管理程序。
實施形態(tài)6根據(jù)圖18說明本發(fā)明的第6實施形態(tài)。
本實施形態(tài)是圖17的設定文件的變形例,可以設定程序包間的相關(guān)關(guān)系和優(yōu)先級。
在設定文件中增加了程序包名和程序包的可執(zhí)行條件的組合描述,自動控制機構(gòu)可以根據(jù)設定文件的設定利用資源控制機構(gòu)對資源進行控制。
程序包的可執(zhí)行條件是“程序包名、|、&、!”的列,程序包名以在同一計算機上起動該程序包為條件,而|、&、!表示條件的邏輯加、邏輯積、邏輯非。
另外,程序包的優(yōu)先級根據(jù)描述的順序決定。
圖18是設定文件例。
第1行是注釋。第2行定義在同一計算機上pkg2運行時pkg1不能運行。第3行定義pkg2不能與pkg1在同一計算機上運行。
第4行定義pkg3必須與pkg1或pkg2在同一計算機上運行。
如按照以上定義,則可構(gòu)成在同一計算機上只運行pkg1或pkg2中的任何一個時的計算機上執(zhí)行pkg3的系統(tǒng)。
實施形態(tài)7根據(jù)圖19~圖21說明本發(fā)明的第7實施形態(tài)。
本實施形態(tài)是在圖7的管理程序結(jié)構(gòu)中增加一個模式管理機構(gòu)。
當可在多臺計算機上執(zhí)行相同的程序包時,對各程序包附加“運行”、“等待”、“試驗”等模式的信息,并實現(xiàn)根據(jù)模式信息改變程序包的動作的管理程序。
圖19是表示本實施形態(tài)的管理程序的結(jié)構(gòu)的圖。
模式管理機構(gòu)1901用于接受來自資源狀態(tài)變化處理機構(gòu)205的通知(D1901),并參照資源狀態(tài)DB203(D1902),向資源控制機構(gòu)202發(fā)送資源控制請求(D1903),使其進行如圖20所示的動作。
圖20是表示程序包程序的模式狀態(tài)切換的圖。
模式為停止的程序包程序,可通過指定“運行”、“等待”、“試驗”的模式后起動,從而切換到各狀態(tài),并在請求停止或發(fā)生故障時,將模式從各狀態(tài)切換到“停止”狀態(tài)。
另外,當“運行”中的其他程序包程序停止后,模式為“等待”中的程序包程序可將模式切換到“運行”狀態(tài)。
而模式狀態(tài)為“運行”的程序包,總是被控制為存在于群集內(nèi)的一個程序包。
圖21是表示2臺計算機運行時的應用例的圖。
在圖中,程序包A(2101、2102)是在各計算機上執(zhí)行著的相同的程序包。如圖21(a)所示,當假定計算機1上的程序包A(2101)的模式為“運行”、而計算機2上的程序包A(2102)的模式為“等待”時,如計算機1發(fā)生故障(圖21(b)),則使計算機2上的程序包A(2102)的模式為“運行”并繼續(xù)進行處理(圖21(c))。
在重新起動計算機1時,由于在群集內(nèi)有運行著的程序包A(2102),所以在計算機1上應使程序包A(2101)的模式為等待態(tài)狀重新起動。(圖21(d))。
通過采用以上的結(jié)構(gòu),與只是重新起動程序包的方式相比,可在更短的時間內(nèi)進行切換。
在本實施形態(tài)中,作為模式的狀態(tài),定義了“運行”、“等待”、“試驗”,但也可以定義為其他狀態(tài)。
另外,在本實施形態(tài)中,采用了實施形態(tài)2的管理程序,但當然也可以使用實施形態(tài)1、實施形態(tài)4、實施形態(tài)5的管理程序。
實施形態(tài)8根據(jù)圖22說明本發(fā)明的第8實施形態(tài)。
本實施形態(tài)是在圖7的管理程序結(jié)構(gòu)中增加了一個運行記錄管理機構(gòu)。
在圖22中示出本實施形態(tài)的管理程序的結(jié)構(gòu)。
在圖中,運行記錄管理機構(gòu)2201用于接受來自資源狀態(tài)變化處理機構(gòu)205的資源狀態(tài)變化的通知(D2201)并對運行記錄DB(數(shù)據(jù)庫)(2202)進行更新(D2202)。這時,運行記錄數(shù)據(jù)按時間序列順序控制。
另外,還接受來自請求處理機構(gòu)201的請求(D2203),并參照運行記錄DB(2202)(D2204),將運行記錄數(shù)據(jù)送回。
在運行記錄DB(2202)內(nèi),保存著群集內(nèi)的所有資源的全部事件及其發(fā)生的時間。
按照以上結(jié)構(gòu),用戶只需對管理程序進行訪問,即可取得在群集內(nèi)發(fā)生的所有事件的信息。
另外,在本實施形態(tài)中,說明了實施形態(tài)2的管理程序,但當然也可以使用實施形態(tài)1、實施形態(tài)4、實施形態(tài)5、實施形態(tài)7的管理程序。
實施形態(tài)9根據(jù)圖23~圖26說明本發(fā)明的第9實施形態(tài)。
在本實施形態(tài)中,包括取代圖1中示出的群集系統(tǒng)管理程序105而采用的具有按模式管理各程序包的功能的管理程序。另外,以下,如不是特別指定計算機A101a~計算機N101n中的某一臺,則稱之為計算機101;如不是特別指定群集守護程序A102a~N102n中的某一個,則稱之為群集守護程序102;如不是特別指定程序包103a1~103n2中的某一個,則稱之為程序包103。
在圖23中示出本實施形態(tài)的管理程序的結(jié)構(gòu)。
在圖23中,通知處理機構(gòu)2301用于接受來自群集守護程序102的資源狀態(tài)變化通知(D2301),并將接收到的資源狀態(tài)變化通知發(fā)送到模式管理機構(gòu)2302(D2302)。
資源狀態(tài)變化的通知(D2301)是在例如計算機101停機時等系統(tǒng)總體資源發(fā)生變化的情況下由管理該資源的群集守護程序102發(fā)送的通知。
模式管理機構(gòu)2302用于接受來自通知處理機構(gòu)2301的資源狀態(tài)變化通知(D2302),并參照/更新管理表2303,將模式控制請求(D2304)發(fā)送到模式控制機構(gòu)2304。
模式控制機構(gòu)2304,用于接受來自模式管理機構(gòu)2302的模式控制請求(D2304)并向群集守護程序102或程序包103發(fā)送模式控制請求(D2305)。
圖24示出管理表2303的存儲內(nèi)容的例。在管理表2303中,保存著程序包名和模式狀態(tài),例如「運行」、「等待」、「停止」等。
圖25是說明圖23的管理程序105的處理的流程圖。
以下,根據(jù)圖25說明管理程序105的動作。
在步驟2501中,模式管理機構(gòu)2302進行管理表2303的初始化。
其次,在步驟2502中,通知處理機構(gòu)2301等待來自群集守護程序102的資源狀態(tài)變化通知(D2301),并在收到后向模式管理機構(gòu)2302發(fā)送資源狀態(tài)變化通知(D2302)。
接著,在步驟2503中,模式管理機構(gòu)2302判斷資源狀態(tài)變化通知(D2302)的種類。當資源狀態(tài)變化通知(D2302)是計算機101的起動時,進入步驟2507,如果是計算機101停止時,則進入步驟2504。
如果是計算機101停止時,則在步驟2504中,模式管理機構(gòu)2302更新管理表2303,并將在停止的計算機101上運行或等待的全部程序包103的模式重寫為「停止」。
然后,在步驟2505中,檢查是否有模式為「等待」的程序包103。這時,如在計算機上執(zhí)行著多種類型的程序包103,則檢查在與停止的程序包103種類相同的程序包103中是否有模式為「等待」的程序包103。為此,也可在圖24所示的管理表2303中追加執(zhí)行著程序包103的計算機的信息和程序包103的種類信息。
在步驟2505中,如果沒有模式為「等待」的程序包103,則返回步驟步驟2502。這里,當沒有模式為「等待」的程序包103時,也可以在運行中的其他計算機101上起動與停止的程序包103種類相同的程序包。
如果有模式為「等待」的程序包103,則在步驟2506中,模式管理機構(gòu)2302向模式控制機構(gòu)2304發(fā)送指示「運行」的模式控制請求(D2304)。然后,模式控制機構(gòu)2304通過群集守護程序102,向在步驟2505中查得的程序包103發(fā)送模式控制請求(D2304),從而使該等待中的程序包103開始運行。
其次,在步驟2510中,模式管理機構(gòu)2302對管理表2303進行更新。即,將管理表2303中的與在步驟2506中指示運行的程序包103有關(guān)的模式重寫為「運行」。步驟2510結(jié)束后,返回步驟2502。
另一方面,當在步驟2503中判定通知的種類為計算機101起動時,在步驟2507中,模式管理機構(gòu)2302將模式控制請求(D2304)發(fā)送到模式控制機構(gòu)2304,并以等待狀態(tài)起動在起動的計算機101上已停止的程序包103。
然后,在步驟2508中,參照管理表2303,檢查是否有模式為「運行」的程序包103。這時,如存在著多種類型的程序包103,則檢查在與步驟2507中起動了的程序包103種類相同的程序包103中是否有模式為「運行」的程序包103。
如果有模式為「運行」的程序包103,則在步驟2510中,模式管理機構(gòu)2302對管理表2303進行更新。即,將管理表2303的與在步驟2506中起動了的程序包103有關(guān)的模式重寫為「等待」。步驟2510結(jié)束后,返回步驟2502。
另一方面,如果沒有模式為「運行」的程序包103,則在步驟2509中,模式管理機構(gòu)2302向模式控制機構(gòu)2304發(fā)送指示「運行」的模式控制請求(D2304)。然后,模式控制機構(gòu)2304通過群集守護程序102,向在步驟2508查得的程序包103發(fā)送模式控制請求(D2305),從而使該等待中的程序包103開始運行。
其次,在步驟2510中,模式管理機構(gòu)2302對管理表2303進行更新。即,將管理表2303的與在步驟2509中指示運行的程序包103有關(guān)的模式重寫為「運行」。步驟2510結(jié)束后,返回步驟2502。
圖26是說明本實施形態(tài)的動作一例的圖。在圖26中,與圖1相同的符號表示相同或相當?shù)牟糠帧?br> 首先,開始時,如圖26(a)所示,在作為第1計算機的計算機A101a上執(zhí)行著作為第1程序包的程序包A103a,在作為第2計算機的計算機B101b上作為第2程序包的程序包B103b處于等待狀態(tài),這時,如圖26(b)所示,如假定計算機A101a停止,則管理程序105按如上所述的方式動作,如圖26(c)所示,在計算機B101b上立即執(zhí)行等待著的程序包B103b,即變?yōu)檫\行狀態(tài)。這時,從程序包A103a向程序包B103b的切換由于程序包B103b而處于等待狀態(tài),所以節(jié)省了在起動上所花的時間,因而能高速地進行。然后,如計算機A101a從停止狀態(tài)恢復而開始正常動作,則在計算機A101a上起動先前停止的程序包A103a,并變成等待狀態(tài)。
這里,即使是在計算機A101a從故障恢復后,也不是將處理立即從程序包B103b切換到程序包A103a,而是使程序包A103a處于等待狀態(tài),不進行新的切換處理,因而能以高速執(zhí)行系統(tǒng)總體的處理。
如上所述,如按照本實施形態(tài)的結(jié)構(gòu),則可以構(gòu)成根據(jù)在群集系統(tǒng)中的運行/等待這樣的模式進行管理的雙重系統(tǒng),并且,與只重新起動程序包的方式相比,能在更短的時間里進行切換。
實施形態(tài)10根據(jù)圖27~圖30說明本發(fā)明的第10實施形態(tài)。
在本實施形態(tài)中,包括取代圖1中示出的群集系統(tǒng)的管理程序105而采用的具有管理各程序包的功能的管理程序。
在圖27中示出本實施形態(tài)的管理程序的結(jié)構(gòu)。
在圖27中,與圖23相同的符號表示相同或相當?shù)牟糠帧?br> 輸出管理機構(gòu)2701用于接受來自通知處理機構(gòu)2301的資源狀態(tài)變化通知(D2302),并參照和更新管理表2702,將輸出抑制/解除請求(D2702)發(fā)送到輸出抑制機構(gòu)(2703)。
輸出抑制機構(gòu)2703用于接受來自輸出管理機構(gòu)2701的輸出抑制/解除請求(D2702),并向群集守護程序102或程序包103發(fā)送輸出抑制/解除請求(D2703)。
圖28示出管理表2702的存儲內(nèi)容的例子。在管理表2702中,保存著程序包名和輸出抑制狀態(tài),例如抑制、解除等。
圖29是說明圖27的管理程序105的處理的流程圖。
以下,根據(jù)圖29說明本實施形態(tài)的管理程序105的動作。
在步驟2901中,輸出管理機構(gòu)2701進行管理表2702的初始化。
其次,在步驟2902中,通知處理機構(gòu)2301等待來自群集守護程序102的資源狀態(tài)變化通知(D2301),并在收到后向輸出抑制機構(gòu)2703發(fā)送資源狀態(tài)變化通知(D2301)。
接著,在步驟2903中,輸出管理機構(gòu)2701判斷資源狀態(tài)變化通知(D2301)的種類。當資源狀態(tài)變化通知(D2301)是計算機101的起動時,進入步驟2907,如果是計算機101停止時,則進入步驟2904。
如果是計算機停止時,則在步驟2904中,輸出管理機構(gòu)2701更新管理表2702,并將在停止的計算機105上的全部程序包103的輸出抑制狀態(tài)重寫為「抑制」。
然后,在步驟2905中,輸出管理機構(gòu)2701檢查是否有輸出抑制狀態(tài)為「抑制」的程序包103。這時,如在計算機上執(zhí)行著多種類型的程序包103,則檢查在與被抑制的程序包103種類相同的程序包103中是否有輸出抑制狀態(tài)為「抑制」的程序包103。為此,也可在圖28所示的管理表2702中追加執(zhí)行著程序包103的計算機的信息和程序包103的種類信息。
在步驟2905中,如果沒有輸出抑制狀態(tài)為「抑制」的程序包103,則返回步驟2902。這里,當沒有輸出抑制狀態(tài)為「抑制」的程序包103時,也可以在運行中的其他計算機101上起動與在步驟2904中被抑制的程序包103種類相同的程序包。
如果有輸出抑制狀態(tài)為「抑制」的程序包103,則在步驟2906中,輸出管理機構(gòu)2701向輸出抑制機構(gòu)2703發(fā)送指示「解除」的輸出抑制解除請求(D2702)。然后,輸出抑制機構(gòu)2703通過群集守護程序102,向在步驟2905中查得的程序包103發(fā)送輸出抑制解除請求(D2703),從而使輸出被抑制的程序包103開始輸出。
其次,在步驟2910中,輸出管理機構(gòu)2701對管理表2702進行更新。即,將管理表2702的與在步驟2906中指示輸出抑制解除的程序包103有關(guān)的輸出抑制狀態(tài)重寫為「解除」。步驟2910結(jié)束后,返回步驟2902。
另一方面,當在步驟2903中判定通知的種類為計算機101起動時,在步驟2907中,輸出管理機構(gòu)2701將輸出抑制解除請求(D2702)發(fā)送到輸出抑制機構(gòu)2703,并在被起動的計算機101上以抑制輸出的狀態(tài)起動程序包103。
然后,在步驟2908中,參照管理表2702,檢查是否有輸出抑制狀態(tài)為「解除」的程序包103。這時,如存在著多種類型的程序包103,則檢查在與步驟2907中起動了的程序包103種類相同的程序包103中是否有輸出抑制狀態(tài)為「解除」的程序包103。
如果有輸出抑制狀態(tài)為「解除」的程序包103,則在步驟2910中,輸出管理機構(gòu)2701對管理表2702進行更新。即,將管理表2702的與在步驟2906中起動了的程序包103有關(guān)的輸出抑制狀態(tài)重寫為「抑制」。步驟2910結(jié)束后,返回步驟2902。
另一方面,如果沒有輸出抑制狀態(tài)為「解除」的程序包103,則在步驟2909中,輸出管理機構(gòu)2701向輸出抑制機構(gòu)2703發(fā)送指示「解除」的輸出抑制解除請求(D2702)。然后,輸出抑制機構(gòu)2703通過群集守護程序102,向在步驟2908查得的程序包103發(fā)送輸出抑制解除請求(D2702),從而使該輸出被抑制的程序包103開始輸出。
其次,在步驟2910中,輸出管理機構(gòu)2701對管理表2702進行更新。即,將管理表2702的與在步驟2909中指示輸出抑制解除的程序包103有關(guān)的輸出抑制狀態(tài)重寫為「解除」。步驟2910結(jié)束后,返回步驟2902。
圖30是說明本實施形態(tài)的動作例的圖。在圖30中,與圖1相同的符號表示相同或相當?shù)牟糠帧?br> 首先,開始時,如圖30(a)所示,在作為第1計算機的計算機A101a上執(zhí)行著作為第1程序包的程序包A103a,在作為第2計算機的計算機B101b上執(zhí)行著作為第2程序包的程序包B103b,程序包A103a進行著輸出,即處在輸出抑制解除狀態(tài),而程序包B103b被抑制,即處在輸出抑制狀態(tài)。但是,程序包A103a和程序包B103b接受相同的輸入數(shù)據(jù),并進行著同樣的動作。
在圖30(a)所示的狀態(tài)下,假定如圖30(b)所示計算機A101a停止,則上述管理程序105按如上所述的方式動作,如圖30(c)所示,在計算機B101b上輸出被抑制的程序包B103b立即開始輸出。這時,由于程序包B103b與程序包A103a進行同樣的動作,所以切換在瞬間完成,與實施形態(tài)9所示的系統(tǒng)相比,其特征是系統(tǒng)的恢復時間更快。
然后,如計算機A101a從停止狀態(tài)恢復而開始正常動作,則在計算機A101a上起動先前停下來的程序包A103a,并重新開始動作。這時,是在輸出被抑制的狀態(tài)下動作。
這里,即使是在計算機A101a從故障恢復后,也不是將處理立即從程序包B103b切換到程序包A103a,而是使程序包A103a處于輸出抑制狀態(tài),不進行新的切換處理,因而能以高速執(zhí)行系統(tǒng)總體的處理。
這里,輸出控制裝置是進行輸出抑制、輸出抑制解除的裝置,可設置在程序包程序內(nèi),也可以是與程序包程序不同的處理程序或由線索執(zhí)行的程序。當程序包103與另一程序包103等其他處理程序、線索或外圍設備等的硬件控制器進行通信時,可通過輸出控制裝置進行通信。
如上所述,如按照本實施形態(tài)的結(jié)構(gòu),則可以在群集系統(tǒng)上構(gòu)成自由運行雙重系統(tǒng),并且,與只重新起動程序包的方式相比,能在更短的時間里進行切換。
實施形態(tài)11根據(jù)圖31~圖34說明本發(fā)明的第11實施形態(tài)。
在本實施形態(tài)中,包括取代圖1中示出的群集系統(tǒng)的管理程序105而采用的具有按模式管理各程序包的功能的管理程序。
在圖31中示出本實施形態(tài)的管理程序的結(jié)構(gòu)。
在圖31中,程序包管理機構(gòu)3101用于接受來自通知處理機構(gòu)2301的資源狀態(tài)變化通知(D2302),并參照和更新管理表3102,將程序包控制請求(D3102)發(fā)送到程序包控制機構(gòu)3103。
程序包控制機構(gòu)3103用于接受來自程序包管理機構(gòu)3101的程序包控制請求(D3102),并向群集守護程序102或程序包103發(fā)送程序包控制請求(D3103)。
圖32示出管理表3102的存儲內(nèi)容的例子。在管理表3102中,保存著如圖32(a)所示的存儲著程序包名、模式的狀態(tài)、執(zhí)行計算機、組名的第1表和如圖32(b)所示的存儲著各計算機的動作狀態(tài)、例如「運行」、「停止」的信息的第2表。這里,模式狀態(tài)信息例如為「運行」、「停止」、「等待」等的信息,執(zhí)行計算機的信息是表示以程序包名特定的程序包在哪個計算機101上執(zhí)行的信息,組名是表示程序包種類的信息,指定同一組名的程序包可以接替其他程序包的處理。
圖33是說明圖31的管理程序105的處理的流程圖。
以下,根據(jù)圖33說明管理程序105的動作。
在步驟3201中,程序包管理機構(gòu)3101進行管理表3102的初始化。
其次,在步驟3202中,通知處理機構(gòu)2301等待來自群集守護程序102的資源狀態(tài)變化通知(D2301),并在收到后向程序包管理機構(gòu)3101發(fā)送資源狀態(tài)變化通知(D2302)。
接著,在步驟3203中,程序包管理機構(gòu)3101判斷資源狀態(tài)變化通知(D2302)的種類。當資源狀態(tài)變化通知(D2302)是計算機101的起動時,進入步驟3208,如果是計算機101停止時,則進入步驟3204。
如果是計算機101停止時,則在步驟3204中,程序包管理機構(gòu)3101更新管理表3102,并將在停止的計算機105上運行或等待的全部程序包103的模式重寫為「停止」。
然后,在步驟3205中,檢查在與停止的程序包的組相同的組內(nèi)是否有模式為「等待」的程序包103。
在步驟3205中,如果沒有模式為「等待」的程序包103,則轉(zhuǎn)移到步驟3208。
如果有模式為「等待」的程序包103,則在步驟3206中,程序包管理機構(gòu)3101向程序包控制機構(gòu)3103發(fā)送指示「運行」的程序包控制請求(D3102)。然后,程序包控制機構(gòu)3103通過群集守護程序102,向在步驟3205中查得的程序包103發(fā)送程序包控制請求(D3102),從而使該等待中的程序包103開始運行。
其次,在步驟3207中,程序包管理機構(gòu)3101對管理表3102進行更新。即,將管理表3102的與在步驟3206中指示運行的程序包103有關(guān)的模式重寫為「運行」。步驟3210結(jié)束后,返回步驟3202。
接著,在步驟3208中,程序包管理機構(gòu)3101參照管理表3102并判斷是否有能夠執(zhí)行模式為「停止」的程序包的計算機101。如有計算機101時,進入步驟3209,如沒有時,轉(zhuǎn)移到步驟3212。
在步驟3209中,程序包管理機構(gòu)3101向程序包控制機構(gòu)3103發(fā)送指示「等待」的程序包控制請求(D3102)。然后,程序包控制機構(gòu)3103向在步驟3206中查得的計算機101的群集守護程序102發(fā)送程序包控制請求(D3103)。如群集守護程序102接收到指示「等待」的程序包控制請求(D3103),則以等待狀態(tài)起動作為目標的程序包103。
然后,在步驟3210中,程序包管理機構(gòu)3101參照管理表3102并檢查與在步驟3209中起動了的程序包的組相同的組內(nèi)是否有模式為「運行」的程序包103。如果有,則轉(zhuǎn)移到步驟3212,如沒有時,則進入步驟3211。
在步驟3211中,程序包管理機構(gòu)3101向程序包控制機構(gòu)3103發(fā)送指示「運行」程序包控制請求(D3102)。然后,程序包控制機構(gòu)3103向管理著在步驟3209中起動了的程序包103的群集守護程序102發(fā)送程序包控制請求(D3103)。如群集守護程序102接收到指示「運行」的程序包控制請求(D3103),則將作為目標的程序包103的等待狀態(tài)解除,并使其開始運行。
其次,在步驟3212中,程序包管理機構(gòu)3101對管理表3102進行更新。即,將在步驟3209、步驟3211中變更了的程序包狀態(tài)反映在管理表3102內(nèi)。步驟3212結(jié)束后,返回步驟3202。
圖34是說明本實施形態(tài)的動作一例的圖。在圖34中,與圖1相同的符號表示相同或相當?shù)牟糠帧?br> 首先,開始時,如圖34(a)所示,在作為第1計算機的計算機A101a上運行著作為第1程序包的程序包A103a,在作為第2計算機的計算機B101b上作為第2程序包的程序包B103b處于等待狀態(tài),并假定程序包A103a與程序包B103b在同一個組內(nèi)。
在圖34(a)所示的狀態(tài)下,假定如圖34(b)所示計算機A101a停止,則管理程序105按如上所述的方式動作,如圖34(c)所示,在計算機B101b上立即執(zhí)行等待著的程序包B103b,即變?yōu)檫\行狀態(tài),接替程序包A103a的處理。這時,由于程序包B103b處于等待狀態(tài),所以,從程序包A103a向程序包B103b的切換節(jié)省了在起動上所花的時間,因而能高速地進行。
然后,在作為第3計算機的另一計算機C101c上起動與先前停止的程序包A103a相同的程序包103,并保持等待狀態(tài)。
如上所述,如按照本實施形態(tài)的結(jié)構(gòu),則可以構(gòu)成根據(jù)在群集系統(tǒng)中的運行/等待這樣的模式進行管理的雙重系統(tǒng),并且,與重新起動程序包的方式相比,能在更短的時間里進行切換。
另外,如按照本實施形態(tài)的結(jié)構(gòu),則還具有可以縮短降級運行時間的效果。即,在現(xiàn)有的雙重系統(tǒng)中,當其中一臺計算機停止時,在進行該計算機的恢復作業(yè)期間,降級為單系統(tǒng)方式,在該期間內(nèi),如另一臺計算機也停止,則整個系統(tǒng)就都停了下來,但如按照本實施形態(tài),則當一邊的程序包停止時,由于停止的程序包在另一計算機上起動,所以降級為單系統(tǒng)的時間只是程序包的重新起動時間,因而能避免因多重故障造成的系統(tǒng)全部停止,并使系統(tǒng)的可靠性提高。
實施形態(tài)12根據(jù)圖35~圖37說明本發(fā)明的第12實施形態(tài)。
本實施形態(tài)的管理程序105的結(jié)構(gòu)與圖31所示基本相同,但在下述那樣的各構(gòu)成部分中所執(zhí)行的處理不同。
首先,對管理表3102進行說明。
圖35示出了管理表3102的存儲內(nèi)容的例子。在本實施形態(tài)的管理表3102中,保存著如圖35(a)所示的存儲著程序包名、執(zhí)行著該程序包的執(zhí)行計算機名的第3表和如圖35(b)所示的存儲著各計算機的動作狀態(tài)、例如「運行」、「停止」信息的第2表。
以下,根據(jù)圖33說明管理程序105的動作。
圖33是說明圖31的管理程序105的處理的流程圖。
在步驟3501中,程序包管理機構(gòu)3101進行管理表3102的初始化。
其次,在步驟3502中,通知處理機構(gòu)2301等待來自群集守護程序102的資源狀態(tài)變化通知(D2301),并在收到后向程序包管理機構(gòu)3101發(fā)送資源狀態(tài)變化通知(D2302)。
接著,在步驟3503中,程序包管理機構(gòu)3101判斷資源狀態(tài)變化通知(D2302)的種類。當資源狀態(tài)變化通知(D2302)是計算機101的起動時,進入步驟3507,如果是計算機101停止時,則進入步驟3504。
如果是計算機101停止時,則在步驟3204中,程序包管理機構(gòu)3101參照管理表3102并檢索空閑計算機101。當檢索到空閑計算機101時,進入下一個步驟3506,如沒有空閑計算機101時,就轉(zhuǎn)移到步驟3510。
接著,在步驟3206中,程序包管理機構(gòu)3101向程序包控制機構(gòu)3103發(fā)送指示「運行」的程序包控制請求(D3102)。然后,程序包控制機構(gòu)3103向在步驟3505中檢索到的計算機101的群集守護程序102發(fā)送指示「運行」的程序包控制請求(D3103)。收到該程序包控制請求(D3103)的群集守護程序102起動與在停止的計算機101上執(zhí)行過的程序包103相同的程序包103,并開始執(zhí)行該程序包103。
其次,在步驟3510中,程序包管理機構(gòu)3101將管理表3102的內(nèi)容更新為當前的計算機狀態(tài),并返回步驟3202。
另一方面,當在步驟3503中判定通知的種類為計算機101起動時,在步驟3507中,程序包管理機構(gòu)3101將管理表3102的內(nèi)容更新為當前計算機101的狀態(tài),即,將與起動后的計算機101有關(guān)的狀態(tài)項目重寫為「運行」。
然后,在步驟3508中,參照例如在實施形態(tài)11中說明過的如圖32(a)所示的第1表,檢查是否有停止著的程序包103,當有停止著的程序包103時,檢查是否有能夠執(zhí)行該停止著的程序包103的計算機101。當沒有停止著的程序包103時,或當沒有能夠執(zhí)行該停止著的程序包103的計算機101時,就轉(zhuǎn)移到上述步驟3510,當有停止著的程序包103、且有能夠執(zhí)行該停止著的程序包103的計算機101時,就進入接下一個步驟3509。
在步驟3509中,程序包管理機構(gòu)3101向程序包控制機構(gòu)3103發(fā)送指示「運行」的程序包控制請求(D3102)。然后,程序包控制機構(gòu)3103向在步驟3508中查得的計算機101的群集守護程序102發(fā)送指示「運行」的程序包控制請求(D3103),從而在由步驟3508中查得的計算機101上起動在同一步驟3508中查得的程序包103,同時執(zhí)行該程序包103。
在步驟3509結(jié)束后,進入上述步驟3510。
圖37是說明本實施形態(tài)的動作的一例的圖。在圖37中,與圖1相同的符號表示相同或相當?shù)牟糠帧?br> 首先,開始時,如圖37(a)所示,在計算機A101a上運行著程序包A103a,在計算機B101b上運行著程序包B103b,并假定程序包A103a與程序包B103b是種類不同的程序包103。
在圖34(a)所示的狀態(tài)下,假定如圖34(b)所示計算機A101a停止,則上述管理程序105按如上所述的方式動作,在空閑計算機N101n上起動并執(zhí)行程序包A103a。
在這之后,如圖34(c)所示,如計算機A101a起動,則這時計算機A101a變成空閑計算機、即備用的計算機。
然后,如圖37(d)所示,如此時計算機B101b因故障等而停止,則上述管理程序105按如上所述的方式動作,在此時已成為空閑計算機的計算機A101a上起動并執(zhí)行在計算機B101b上執(zhí)行的程序包B103b。
如上所述,如按照本實施形態(tài)的結(jié)構(gòu),則可以構(gòu)成根據(jù)在群集系統(tǒng)中的系統(tǒng)狀態(tài)改變程序包的轉(zhuǎn)移目的地的多重系統(tǒng)。
另外,在本實施形態(tài)中,即使如圖37(c)所示停止的計算機A101a恢復,也是使計算機A101a處于備用狀態(tài),而由已執(zhí)行了程序包A103a的計算機N101n繼續(xù)執(zhí)行程序包A103a,恢復后的計算機A101a此時變成其他計算機的備用機。因此,與使恢復后的計算機A101a重新執(zhí)行程序包A103A并使計算機N101n重新成為備用機那樣的系統(tǒng)相比,能以高速執(zhí)行處理。
實施形態(tài)13根據(jù)圖38和圖39說明本發(fā)明的第13實施形態(tài)。
本實施形態(tài)的管理程序105的結(jié)構(gòu)與圖31所示基本相同,其處理也與參照圖36說明過的實施形態(tài)12相同。但是,如以下所述,請求起動程序包103的計算機101進行的處理、即步驟3504及步驟3508不同。
首先,說明本實施形態(tài)的管理表3102。
圖38示出管理表3102的存儲內(nèi)容的例子。在本實施形態(tài)的管理表3102中,保存著如圖38(a)所示的存儲著程序包名、執(zhí)行著該程序包的執(zhí)行計算機名及其程序包的組名的第4表和如圖38(b)所示的存儲著各計算機的動作狀態(tài)、例如「運行」、「停止」的信息的第2表。
其次,說明本實施形態(tài)的管理程序105的動作。如上所述,本實施形態(tài)的管理程序105的動作與實施形態(tài)12基本相同,所以以下僅說明不同的處理,即步驟3504及步驟3508。
在本實施形態(tài)的步驟3504中,程序包管理機構(gòu)3101參照管理表3102檢索的不是空閑計算機,而是檢索沒有執(zhí)行與在停止的計算機101上執(zhí)行過的程序包103同組的程序包103的計算機101。當檢索到?jīng)]有執(zhí)行同組的程序包103的計算機101時,進入下一個步驟3506,如檢索到時,轉(zhuǎn)移到步驟3510。
另外,在本實施形態(tài)的步驟3508中,參照例如在實施形態(tài)11中說明過的如圖32(a)所示的第1表,檢查是否有停止著的程序包103,當有停止著的程序包103時,檢查是否有能夠執(zhí)行該停止著的程序包103的計算機101。當沒有停止著的程序包103時,或當沒有能夠執(zhí)行該停止著的程序包103的計算機103時,向上述步驟3510轉(zhuǎn)移,當有停止著的程序包103、且有能夠執(zhí)行該停止著的程序包103的計算機101時,進入下一個步驟3509。這里,作為能執(zhí)行的計算機101,不是空閑計算機101,而是查找沒有執(zhí)行與停止的程序包103同組的程序包103的計算機101。
圖39是說明本實施形態(tài)的動作的一例的圖。在圖39中,與圖1相同的符號表示相同或相當?shù)牟糠帧?br> 首先,開始時,如圖39(a)所示,在計算機A101a上運行著程序包A103a,在計算機B101b上運行著程序包B103b,并假定程序包A103a與程序包B103b是被指定為同一組的程序包,是將一個集中的處理由各組分散進行、即進行并行處理的程序包,由計算機A101a執(zhí)行著的程序包C103c是用于將程序包A103a和程序包B103b的輸出集中的程序包。
在圖34(a)所示的狀態(tài)下,假定如圖34(b)所示計算機A101a停止,則上述管理程序105按如上所述的方式動作,由沒有執(zhí)行與其同組的程序包的計算機N101n、而不是由執(zhí)行著與其同組的程序包B103b的計算機B101b起動和執(zhí)行該程序包A103a。
如上所述,如按照本實施形態(tài)的結(jié)構(gòu),則可以在群集系統(tǒng)上構(gòu)成分載系統(tǒng),能進行負載的分散。即,由于不在同一計算機101上起動多個進行并行處理的同一組的程序包,所以,即使是在執(zhí)行切換處理后,也仍能以并行處理的方式繼續(xù)進行高速處理。
實施形態(tài)14根據(jù)圖40~圖42說明本發(fā)明的第14實施形態(tài)。
本實施形態(tài)的管理程序105的結(jié)構(gòu)與圖31所示基本相同,但在如以下所述的各構(gòu)成部分中所執(zhí)行的處理不同。
首先,對管理表3102進行說明。
圖40示出管理表3102的存儲內(nèi)容的例子。在本實施形態(tài)的管理表3102中,保存著如圖40(a)所示的存儲著程序包名、執(zhí)行著該程序包的執(zhí)行計算機名、及其程序包的優(yōu)先級的第5表和如圖40(b)所示的存儲著各計算機的動作狀態(tài)、例如「運行」、「停止」信息的第2表。
以下,根據(jù)圖41說明管理程序105的動作。
圖41是說明圖31的管理程序105的處理的流程圖。
在步驟4001中,程序包管理機構(gòu)3101進行管理表3102的初始化。
其次,在步驟4002中,通知處理機構(gòu)2301等待來自群集守護程序102的資源狀態(tài)變化通知(D2301),并在收到后向程序包管理機構(gòu)3101發(fā)送資源狀態(tài)變化通知(D2302)。
接著,在步驟4003中,程序包管理機構(gòu)3101判斷資源狀態(tài)變化通知(D2302)的種類。當資源狀態(tài)變化通知(D2302)是計算機101的起動時,進入步4004,如果是計算機101停止時,則進入步驟4007。
另一方面,當在步驟4003中判定通知的種類為計算機101起動時,在步驟4004中,程序包管理機構(gòu)3101參照管理表3102并檢索停止著的程序包103。這里,作為檢索停止著的程序包103的方法的一例,有這樣的方法,即由圖40(a)的第5表的執(zhí)行計算機指定的計算機檢索在圖40(b)的第2表中為「停止」的程序包103;或者,檢索雖然在圖40(a)的第5表中指定了程序包名及優(yōu)先級、但在執(zhí)行計算機的項目中沒有指定任何計算機的程序包103。
其次,在步驟4005中,程序包管理機構(gòu)3103判斷在步驟4004中是否已檢索到停止的程序包。這里,如有停止的程序包時,進入下一個步驟4006,如沒有時,則轉(zhuǎn)移到步驟4012。
接著,在步驟4006中,程序包管理機構(gòu)3101首先檢索在停止的程序包103中優(yōu)先級最高的程序包,并將指示最高優(yōu)先級的程序包103「運行」的程序包控制請求(D3102)發(fā)送到程序包控制機構(gòu)3103。然后,程序包管理機構(gòu)3103向新起動的計算機101的群集守護程序102發(fā)送指示「運行」的程序包控制請求(D3103),從而在新起動的計算機101上執(zhí)行在停止的程序包103中優(yōu)先級最高的程序包103。
如步驟4006結(jié)束,則轉(zhuǎn)移到下一個步驟4012。
然后,在步驟4012中,程序包管理機構(gòu)3101根據(jù)當前計算機及程序包的狀態(tài)更新管理表3102的內(nèi)容,并返回步驟4002。
另一方面,當在步驟4003中判定通知的種類為計算機101停止時,在步驟4007中,程序包管理機構(gòu)3101參照管理表3102并檢索可以執(zhí)行在停止的計算機101上運行過的程序包的計算機101。當檢索到可執(zhí)行的計算機101時,進入下一步驟4011,如沒有檢索到可執(zhí)行的計算機101時,轉(zhuǎn)移到步驟4009。
這里,判斷程序包103是否可以執(zhí)行是將執(zhí)行該程序包所必需的資源與作為對象的計算機101的剩余資源進行比較,如果在計算機101上留有足夠的執(zhí)行該程序包所必需的資源,則判定可以執(zhí)行,而如不夠時,則判定不能執(zhí)行。
當沒有可執(zhí)行的程序包103時,在步驟4009中,程序包管理機構(gòu)3101參照管理表3102,檢查在優(yōu)先級比停止的程序包103低的程序包103中是否有可停止的程序包103。當有可停止的程序包103時,進入步驟4010,如沒有時,進入上述的步驟4012。
當有可停止的程序包103時,在步驟4010中,程序包管理機構(gòu)3101向程序包控制機構(gòu)3103發(fā)送指示「停止」的程序包控制請求(D3102)。然后,程序包控制機構(gòu)3103向管理著在步驟4009查得的程序包103的群集守護程序102發(fā)送指示「停止」的程序包控制請求(D3103)。收到該程序包控制請求(D3103)的群集守護程序102使在步驟4009中查得的程序包103停止,并將該程序包使用著的資源釋放。
如該步驟4010結(jié)束,則轉(zhuǎn)移到步驟4011。
在步驟4011中,程序包管理機構(gòu)3101向程序包控制機構(gòu)3103發(fā)送指示停止的程序包103「運行」的程序控制請求(D3102)。然后,程序包控制機構(gòu)3103、向在步驟4008中查得的計算機101、或在步驟4010中停止了程序包103的計算機101的群集守護程序102發(fā)送指示「運行」的程序包控制請求(D3103)。收到該程序包控制請求(D3103)的群集守護程序102起動停止的程序包103并開始運行。
如該步驟4011結(jié)束,則轉(zhuǎn)移到上述步驟4012。
圖42是說明本實施形態(tài)的動作一例的圖。在圖42中,與圖1相同的符號表示相同或相當?shù)牟糠帧?br> 首先,開始時,如圖42(a)所示,在計算機A101a~N101n上分別運行著程序包A103a~N103n,并假定程序包A103a~N103n分別為種類不同的程序包103。假定在各程序包的優(yōu)先級中,程序包A103a最高,其次是程序包B103b,而程序包N101n最低。
在圖42(a)所示的狀態(tài)下,假定如圖43(b)所示作為第1計算機的計算機A101a停止,則上述管理程序105按如上所述的方式動作,在計算機N101n上,將優(yōu)先級比程序包A103a低的程序包N101n停止,轉(zhuǎn)而起動和執(zhí)行停止的程序包A103a。
在這之后,如圖34(c)所示,如計算機A101a恢復并起動,則這時在計算機A101a上,執(zhí)行停止了的程序包N101n。
并且,這時如圖37(d)所示,如計算機B101b因故障等而停止,則管理程序105按如上所述的方式動作,將在計算機A101a上執(zhí)行著的優(yōu)先級低的程序包N103n停止,并轉(zhuǎn)而起動和執(zhí)行優(yōu)先級高的停止了的程序包B103b。
這里,進而如圖42(e)所示,如計算機N101n也停止,則由于程序包A103a的優(yōu)先級比程序包B103b高,所以將已在計算機A101a上執(zhí)行的程序包B103b停止,轉(zhuǎn)而在計算機A101a上起動和執(zhí)行程序包A103a。
在這之后,如圖42(f)所示,如計算機B101b恢復,則在計算機B101b上起動和執(zhí)行在停止的程序包中優(yōu)先級最高的程序包B103b。
如上所述,如按照本實施形態(tài)的結(jié)構(gòu),則可以在群集系統(tǒng)上構(gòu)成多重降級系統(tǒng),即使在發(fā)生故障時也能優(yōu)先進行重要的處理。
實施形態(tài)15根據(jù)圖43~圖46說明本發(fā)明的第15實施形態(tài)。
本實施形態(tài)的管理程序105的結(jié)構(gòu)與圖31所示基本相同,但在下述那樣的各構(gòu)成部分中所執(zhí)行的處理不同。
首先,對管理表3102進行說明。
圖43示出管理表3102的存儲內(nèi)容的例子。在本實施形態(tài)的管理表3102中,保存著如圖43(a)所示的存儲著程序包名、執(zhí)行著該程序包的執(zhí)行計算機名、其程序包的優(yōu)先級及執(zhí)行其程序包所必需的負載的第6表和如圖43(b)所示的存儲著各計算機的動作狀態(tài)、例如「運行」、「停止」的信息及計算機的最大容許負載的第7表。作為負載的例子,有資源(例如存儲器及CPU的時間)等。
以下,根據(jù)圖44說明管理程序105的動作。
圖41是說明圖31的管理程序105的處理的流程圖。
在步驟4301中,程序包管理機構(gòu)3101進行管理表3102的初始化。
其次,在步驟4302中,通知處理機構(gòu)2301等待來自群集守護程序102的資源狀態(tài)變化通知(D2301),并在收到后向程序包管理機構(gòu)3101發(fā)送資源狀態(tài)變化通知(D2302)。
接著,在步驟4303中,程序包管理機構(gòu)3101判斷資源狀態(tài)變化通知(D2302)的種類。當資源狀態(tài)變化通知(D2302)是計算機101的起動或停止時,進入步驟4309,如果是傳達計算機101的負載超過100%的通知時,則進入步驟4304。
在步驟4304中,選擇在負載超過100%的計算機101(以下,在本實施形態(tài)中,稱作過載計算機)上運行過的程序包103、而且是當前不進行處理的程序包103中優(yōu)先級最低的程序包,并在以下的步驟4305~4308中對該程序包103(以下,在本實施例中稱作選擇程序包)進行處理。
首先,在步驟4305中,使選擇程序包停止。即,程序包管理機構(gòu)3101向程序包控制機構(gòu)3103發(fā)送指示選擇程序包停止的程序包控制請求(D3102)。然后,程序包控制機構(gòu)3103向管理著該選擇程序包的群集守護程序102發(fā)送指示「停止」的程序包控制請求(D3103),群集守護程序102在收到該請求后,將選擇程序包停止。這里,通過將選擇程序包停止,將過載計算機的資源釋放,因而可減少過載計算機的負載。
其次,在步驟4306中,程序包管理機構(gòu)3101更新與選擇程序包有關(guān)的管理表-2303的項目,即重寫為「停止」。
在步驟4307中,判斷是否對在過載計算機上運行的全部程序包進行了上述步驟4304~4306的處理,如已處理時,進入步驟4310,如尚未處理,則轉(zhuǎn)移到下一步驟4308。
在下一個步驟4308中,檢查過載計算機的負載是否超過100%。如超過100%時,返回上述步驟4304,如不到100%時,轉(zhuǎn)移到步驟4310。判斷是否超過100%的方法是由程序包管理機構(gòu)3101參照管理表2303并將在過載計算機上運行或等待中的程序包負載的總和與過載計算機的最大容許負載進行比較。
另一方面,當在步驟4303中判定通知的種類是計算機的起動或停止時,在步驟4309中,程序包管理機構(gòu)3101更新管理表2303,并根據(jù)通知的內(nèi)容將該計算機的項目重寫為「運行」或「停止」。
然后,在步驟4310中,程序包管理機構(gòu)3101參照管理表3102,并檢索在停止著的程序包103中優(yōu)先級最高的程序包(以下,在本實施形態(tài)中,稱作優(yōu)先程序包)。
其次,在步驟4311中,程序包管理機構(gòu)3101參照管理表2303,選擇可執(zhí)行優(yōu)先程序包的計算機101。這里,計算機101的選擇以執(zhí)行優(yōu)先程序包所必需的負載、各計算機101的最大容許負載、以及與在各計算機101上運行或等待中的程序包有關(guān)的負載為基準進行。當不存在可執(zhí)行的計算機101時,不進行選擇,因而得到?jīng)]有可執(zhí)行的計算機的結(jié)果。
接著,在步驟4312中,判斷在步驟4311中是否有可執(zhí)行的計算機101,如果有,就進入步驟4313,如果沒有,就轉(zhuǎn)入步驟4316。
在接著的步驟4313中,在由步驟4311選出的計算機101上起動優(yōu)先程序包。即,程序包管理機構(gòu)3101向程序包控制機構(gòu)3103發(fā)送指示優(yōu)先程序包的「運行」的程序包控制請求(D3102)。然后,程序包控制機構(gòu)3103向在步驟4311中選出的計算機101的群集守護程序102發(fā)送指示「運行」的程序包控制請求(D3103),從而在該計算機101上執(zhí)行停止著的程序包103中優(yōu)先級最高的程序包103。
然后,在步驟4314中,程序包管理機構(gòu)3101對管理表2303進行更新,也就是更新管理表2303中與選擇程序包有關(guān)的項目、即執(zhí)行計算機。
其次,在步驟4315中,程序包管理機構(gòu)3101判斷是否對所有停止著的程序包103進行了自上述步驟4310起的處理、即步驟4310~4318的處理,如已對所有的程序包103進行了處理,則轉(zhuǎn)移到步驟4302,等待新的資源狀態(tài)變化通知(D2301)的到來,如果對所有的程序包103進行的處理尚未完成,則返回步驟4310。
另一方面,當在步驟4312中判定沒有可執(zhí)行的計算機101時,在步驟4316中,程序包管理機構(gòu)3101參照管理表3202,檢查在優(yōu)先級比停止著的程序包103低的程序包中是否有可以停止的程序包103。當有可以停止的程序包103時,進入步驟4317,如沒有時,進入上述步驟4315。
當有可以停止的程序包103時,在步驟4317中,程序包管理機構(gòu)3101向程序包控制機構(gòu)3103發(fā)送指示「停止」的程序包控制請求(D3102)。然后,程序包控制機構(gòu)3103向管理著在步驟4316中查得的程序包103的群集守護程序102發(fā)送指示「停止」的程序包控制請求(D3103)。收到該程序包控制請求(D3103)的群集守護程序102將在步驟4316中查得的程序包103停止,并將該程序包使用著的資源釋放。
其次,在步驟4318中,程序包管理機構(gòu)3101更新管理表2303,將與在步驟4317中停止了的程序包103有關(guān)的項目重寫為當前狀態(tài)。
如步驟4311結(jié)束,則轉(zhuǎn)移到上述步驟4311,進行如上所述的新資源的釋放、或優(yōu)先程序包的起動的處理。
圖45是說明本實施形態(tài)的動作的一例的圖。在圖45中,與圖1相同的符號表示相同或相當?shù)牟糠帧?br> 首先,開始時,如圖45(a)所示,在計算機A101a~N101n上分別運行著程序包A103a~F101f,并假定程序包A103a~F101f分別為種類不同的程序包103。假定在各程序包的優(yōu)先級中,程序包A103a最高,其次是程序包B103b,以下按順序為程序包C101c、程序包D101d、程序包E101e、程序包F101f。另外,程序包A103a占計算機A101a的負載的40%,程序包B103b~程序包F101f按順序分別占執(zhí)行計算機101的負載的40%、40%、20%、20%、20%。
在圖45(a)所示的狀態(tài)下,如假定如圖45(b)所示的作為第1計算機的計算機A101a的負載超過了100%,則上述管理程序105按如上所述的方式動作,如圖45(c)所示,在計算機A101a上,將優(yōu)先級比最高優(yōu)先級低的程序包D103d停止,轉(zhuǎn)而在負載充裕的計算機B101b上起動并開始執(zhí)行程序包D103d。
另外,圖46是說明本實施形態(tài)動作的另一例的圖。在圖46中,與圖45相同的符號表示相同或相當?shù)牟糠帧?br> 在圖46(a)所示的狀態(tài)下,假定如圖46(b)所示,計算機A101a停止并使程序包A103a及程序包D103d停止。于是,上述管理程序105按如上所述的方式動作,如圖46(c)所示,在計算機N101n上起動并開始執(zhí)行在停止的程序包中優(yōu)先級最高的程序包A103a。這時,優(yōu)先級低的程序包F103f停止。
另一方面,在負載充裕的計算機B101b上起動和執(zhí)行在停止的程序包中優(yōu)先級占第2位的D103d。
另外,程序包F101f由于沒有負載有剩余的計算機101而且優(yōu)先級也比其他程序包103低,所以不起動。
如上所述,如按照本實施形態(tài)的結(jié)構(gòu),則可以構(gòu)成負載自動分配系統(tǒng),能自動地將負載分散,因而能防止對重要處理的響應特性劣化。
實施形態(tài)16
根據(jù)圖47~圖49說明本發(fā)明的第16實施形態(tài)。
本實施形態(tài)包括取代圖1所示群集系統(tǒng)的管理程序105而采用的、具有根據(jù)各程序包的優(yōu)先級管理分配給各程序包的資源量的功能的管理程序。
在圖47中示出本實施形態(tài)的管理程序的結(jié)構(gòu)。
在圖47中,與圖23相同的符號表示相同或相當?shù)牟糠帧YY源分配管理機構(gòu)4601用于接受來自通知處理機構(gòu)2301的資源狀態(tài)變化通知(D2301),參照和更新管理表4602,將程序包控制請求(D4603)發(fā)送到資源分配控制機構(gòu)4603。
資源分配控制機構(gòu)4603用于接受來自資源分配管理機構(gòu)4601的程序包分配控制請求(D4602),并向群集守護程序102或程序包103發(fā)送資源分配控制請求(D4603),從而將剩余的資源只按程序包的優(yōu)先級分配給該程序包103。
圖48示出了管理表4602的存儲內(nèi)容的例子。在管理表4602中,保存著如圖48所示的存儲著程序包名、執(zhí)行計算機、優(yōu)先級的第8表。這里,執(zhí)行計算機的信息是表示由程序包名特定的程序包103由哪一臺計算機執(zhí)行的信息。
圖49是說明圖47的管理程序105的處理的流程圖。
以下,根據(jù)圖49說明管理程序105的動作。
在步驟4801中,資源分配管理機構(gòu)4601進行管理表4602的初始化。
其次,在步驟4802中,通知處理機構(gòu)2301等待來自群集守護程序102的資源狀態(tài)變化通知(D2301),并在收到后向資源分配管理機構(gòu)4601發(fā)送資源狀態(tài)變化通知(D2302)。
接著,在步驟4803中,資源分配管理機構(gòu)4601根據(jù)發(fā)送資源狀態(tài)變化通知(D2302),更新管理表4602。
在步驟4804中,在群集系統(tǒng)的多臺計算機101中選擇尚未進行步驟4805~步驟4808的處理的計算機(以下,在本實施形態(tài)中,將所選擇的該計算機稱作選擇計算機)。然后,進行以下的步驟4804~步驟4807的處理。
首先,在步驟4805中,從由選擇計算機執(zhí)行著的程序包中選擇在尚未進行步驟4806和步驟4807的處理的程序包中優(yōu)先級最高的程序包(以下,在本實施形態(tài)中,將所選擇的該程序包稱作選擇程序包)。然后,對選擇程序包進行以下的步驟4806和步驟4807的處理。
在步驟4806中,從選擇計算機的資源剩余量計算分配給選擇程序包的資源量。例如,可按下式計算。=[資源剩余量×0.5 ]然后,按下式計算新的資源剩余量。
(新的)[資源剩余量]=[資源剩余量]-[分配資源量]其次,在步驟4807中,資源分配管理機構(gòu)4601向資源分配控制機構(gòu)4603發(fā)送資源分配控制請求(D4602),資源分配控制機構(gòu)4603向選擇計算機的群集守護程序102發(fā)送資源分配控制請求(D4603)。收到資源分配控制請求(D4603)的群集守護程序102將在步驟4806中計算出的[分配資源量]的資源分配給選擇程序包,并起動和執(zhí)行選擇程序包。
接著,在步驟4808中,判斷是否已對選擇計算機上的所有程序包103執(zhí)行了上述步驟4806~步驟4807的處理,當沒有執(zhí)行時,返回步驟4805,并反復進行上述處理。
另一方面,如已執(zhí)行時,在步驟4809中,判斷是否已對所有計算機執(zhí)行了上述步驟4804~步驟4808的處理,當沒有執(zhí)行時,返回步驟4804并反復進行上述處理。如已執(zhí)行時,返回步驟4802,等待下一個資源狀態(tài)變化通知(D2301)。
另外,如該步驟4809的處理結(jié)束,則在步驟4804中,將進行了步驟4805~步驟4808的處理的信息清除,并將其看作沒有進行過處理。于是,當在步驟4802中收到新的資源狀態(tài)變化通知(D2301)時,即使是對在收到該通知前進行過步驟4805~步驟4808的處理的計算機101,也執(zhí)行步驟4805~步驟4808的處理。對步驟4805的程序包選擇來說也是同樣的。
按照這種方式,可以根據(jù)群集系統(tǒng)的最新資源狀態(tài)將資源動態(tài)地分配給程序包103。
另外,步驟4806的分配資源量的計算式如果是按照程序包103的優(yōu)先級、并按優(yōu)先級越高分配的資源越多的方式,則也可采用另外的計算式。例如可采用下式[分配資源量]=[資源剩余量]×(1/[優(yōu)先級])×0.8
按照以上結(jié)構(gòu),在群集系統(tǒng)內(nèi),可以防止對重要處理的響應特性惡化,并能繼續(xù)進行不太重要的處理。
本發(fā)明由于按如上所述的形式構(gòu)成,所以具有如下所示的效果。
由于管理程序?qū)θ杭系娜抠Y源進行統(tǒng)一的監(jiān)視控制,程序包只對管理程序進行訪問即可,所以,即使發(fā)生故障時,也無需知道計算機上的工作環(huán)境。
另外,由于可將管理程序編制成一個程序包程序,所以,即使管理程序和運行著該管理程序的計算機發(fā)生故障,也能很容易地切換到其他計算機上運行。
另外,由于在各計算機上設有對該計算機的資源進行監(jiān)視控制的服務程序,所以,能減輕管理程序或網(wǎng)絡的負載。
另外,由于各計算機上的服務程序相互通信,并可直接訪問全局數(shù)據(jù),所以,可以無需安裝管理程序。
另外,由于管理程序與同一計算機上的服務程序通信,各計算機上的服務程序相互通信,所以,程序包程序可以選擇對管理程序和服務程序中的任何一個進行訪問。
另外,由于設有自動控制機構(gòu),并可根據(jù)定義了程序包程序間的相互關(guān)系的設定文件進行反映執(zhí)行環(huán)境的系統(tǒng)運行,所以,可以進行靈活的系統(tǒng)設計。
另外,由于對程序包程序附加動作模式后進行管理,所以,很容易進行從多重系統(tǒng)的轉(zhuǎn)移及系統(tǒng)的應用。
另外,由于將群集系統(tǒng)內(nèi)的所有資源狀態(tài)的變化匯總后作為運行記錄收集保存,所以,在發(fā)生故障時很容易進行故障分析操作。
另外,在群集控制系統(tǒng)中,當構(gòu)成群集控制系統(tǒng)的多臺計算機中的一臺計算機發(fā)生故障時,使提供在上述發(fā)生故障的計算機上運行中的應用或各種服務的程序包程序由另一臺計算機運行,上述多臺計算機包括分別監(jiān)視各自的計算機的故障和恢復、同時對上述程序包程序的起動和運行進行控制的群集守護程序,上述多臺計算機中的第1計算機運行上述程序包程序即第1程序包程序,上述多臺計算機中的第2計算機在起動狀態(tài)下等待提供與上述第1程序包程序相同的應用或服務的第2程序包程序,上述多臺計算機中的一臺計算機除上述群集守護程序外,還包括管理程序,用于從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述第1計算機發(fā)生故障時,在上述第2計算機上運行上述第2程序包程序,同時,在上述第1計算機從故障恢復時,使上述第1計算機在起動狀態(tài)下等待上述第1程序包程序,所以能使系統(tǒng)高速恢復,并在恢復后仍能高速地執(zhí)行處理。
另外,還具有從上述第1程序包程序的輸出或上述第2程序包程序的輸出選擇任何一個后輸出的輸出控制裝置,上述第2計算機不是在起動狀態(tài)下等待上述第2程序包,而是運行上述第2程序包程序,并包括管理程序,取代上述管理程序,從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在從上述輸出控制裝置輸出上述第1程序包程序的輸出時,如在上述第1計算機中發(fā)生故障,則取代上述第1程序包程序的輸出,從上述輸出裝置輸出上述第2程序包程序的輸出,并在上述第2計算機發(fā)生故障之前由上述輸出控制裝置繼續(xù)輸出上述第2程序包程序的輸出,當上述第1程序包程序重新開始運行而上述第2計算機發(fā)生故障時,取代上述第2程序包程序的輸出,從上述輸出控制裝置輸出上述第1程序包程序的輸出,所以能使系統(tǒng)高速恢復,并在恢復后仍能高速地執(zhí)行處理。
另外,還包括如下管理程序來取代上述管理程序,從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述第1計算機中發(fā)生故障時,在上述第2計算機上運行上述第2程序包,同時,使上述多臺計算機中的第3計算機在起動狀態(tài)下等待上述第1程序包,所以能使系統(tǒng)高速恢復,并在恢復后仍能高速地執(zhí)行處理。
另外,還包括存儲由上述多臺計算機的每一臺起動的各程序包程序的優(yōu)先級的管理表,并包括如下管理程序來取代上述管理程序,從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述第1計算機中發(fā)生故障時,從上述管理表檢索比在上述第1計算機上運行著的上述程序包程序的優(yōu)先級低的程序包程序,并使該優(yōu)先級低的程序包程序停止運行,同時在運行著上述優(yōu)先級低的程序包程序的計算機上起動在上述第1計算機上運行著的程序包程序,所以,即使在計算機停止后,仍能優(yōu)先運行重要的處理。
另外,在群集控制系統(tǒng)中,當構(gòu)成群集控制系統(tǒng)的多臺計算機中的一臺計算機發(fā)生故障時,使提供在上述發(fā)生故障的計算機上運行中的應用或各種服務的程序包由另一臺計算機運行,上述多臺計算機包括分別監(jiān)視各自的計算機的故障和恢復、同時對上述程序包程序的起動和運行進行控制的群集守護程序,上述多臺計算機中的一臺計算機除上述守護程序外,還包括存儲由上述多臺計算機的每一臺起動的各程序包程序的優(yōu)先級和上述多臺計算機的每一臺的負載的管理表;管理程序,從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述多臺計算機中的第1計算機的負載變得大于預定負載時,參照上述管理表,使在上述第1計算機上運行著的程序包中的優(yōu)先級低的程序包停止運行,并在上述多臺計算機中的負載小于預定負載的計算機上起動被停止的程序包;所以,能自動地將負載再分散,并能防止對重要處理的響應特性惡化。
另外,取代上述管理表,還包括存儲在上述多臺計算機上起動的各程序包的優(yōu)先級的管理表,上述群集守護程序監(jiān)視各自的計算機的資源,并包括管理程序來取代上述管理程序,從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在由上述群集守護程序監(jiān)視的資源發(fā)生變化時,根據(jù)上述優(yōu)先級,將資源重新分配給在上述多臺計算機的每一臺上運行著的程序包程序,所以,能防止對重要處理的響應特性惡化,并能繼續(xù)進行不太重要的處理。
另外,還包括存儲將由多臺計算機的每一臺并行運行的多個上述程序包作為一組時的組名的管理表,并包括下述管理程序來取代上述管理程序從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述多臺計算機中的第1計算機發(fā)生故障時,從上述管理表檢索上述多臺計算機的計算機中沒有運行與在上述第1計算機上運行著的程序包同組的程序包程序的計算機,并在檢索到的計算機上起動和運行由上述第1計算機運行著的程序包程序,所以,在系統(tǒng)恢復后,能高速執(zhí)行并行處理。
權(quán)利要求
1.一種群集控制系統(tǒng),當構(gòu)成群集系統(tǒng)的計算機群中的某臺計算機發(fā)生故障時,使在該計算機上運行中的程序包程序由另一臺計算機執(zhí)行,該群集控制系統(tǒng)的特征在于構(gòu)成群集系統(tǒng)的各計算機包括提供應用或各種服務的程序包;對在計算機之間進行通信的資源進行監(jiān)視控制的群集守護程序;及根據(jù)該群集守護程序?qū)⒈O(jiān)視結(jié)果作為局部數(shù)據(jù)存儲的局部數(shù)據(jù)存儲裝置;在群集系統(tǒng)中的一臺計算機除上述程序包程序、群集守護程序、局部數(shù)據(jù)存儲裝置外,還裝有從各計算機上的局部數(shù)據(jù)進行收集并可由任何一臺計算機參照的全局數(shù)據(jù)存儲裝置以及與上述全局數(shù)據(jù)存儲裝置和各計算機上的群集守護程序進行通信并對群集系統(tǒng)的總體進行監(jiān)視控制的管理程序;當安裝著該管理程序的計算機發(fā)生故障時,可在群集系統(tǒng)內(nèi)的其他計算機上重新起動該管理程序。
2.一種群集控制系統(tǒng),當構(gòu)成群集系統(tǒng)的計算機群中的某臺計算機發(fā)生故障時,使在該計算機上運行中的程序包程序由另一臺計算機執(zhí)行,該群集控制系統(tǒng)的特征在于構(gòu)成群集系統(tǒng)的各計算機包括提供應用或各種服務的程序包程序;對在計算機之間進行通信的資源進行監(jiān)視控制的群集守護程序;與該計算機本身的群集守護程序及管理程序進行通信的服務程序;及將上述監(jiān)視結(jié)果作為局部數(shù)據(jù)存儲的局部數(shù)據(jù)存儲裝置;在群集系統(tǒng)中的一臺計算機除上述群集守護程序、服務程序、局部數(shù)據(jù)存儲裝置外,還裝有從各計算機上的局部數(shù)據(jù)進行收集并可由任何一臺計算機參照的全局數(shù)據(jù)存儲裝置;及與上述全局數(shù)據(jù)存儲裝置和各計算機上的服務程序進行通信并對群集系統(tǒng)的總體進行監(jiān)視控制的管理程序;當安裝著該管理程序的計算機發(fā)生故障時,可在群集系統(tǒng)內(nèi)的其他計算機上重新起動該管理程序。
3.一種群集控制系統(tǒng),當構(gòu)成群集系統(tǒng)的計算機群中的某臺計算機發(fā)生故障時,使在該計算機上運行中的程序包程序由另一臺計算機執(zhí)行,該群集控制系統(tǒng)的特征在于構(gòu)成該群集系統(tǒng)的各計算機包括提供應用或各種服務的程序包程序;對該計算機本身的程序包程序和在計算機之間進行通信的資源進行監(jiān)視控制的群集守護程序;與該計算機本身的群集守護程序、各計算機上的服務程序之間、及全局數(shù)據(jù)存儲裝置進行通信的服務程序;將上述監(jiān)視結(jié)果作為局部數(shù)據(jù)存儲的局部數(shù)據(jù)存儲裝置;在群集系統(tǒng)中的一臺計算機除上述群集守護程序、服務程序、局部數(shù)據(jù)存儲裝置外,還裝有從各計算機上的局部數(shù)據(jù)進行收集并可由任何一臺計算機參照的全局數(shù)據(jù)存儲裝置;上述各計算機上的服務程序可直接在全局數(shù)據(jù)存儲裝置及服務程序之間進行通信。
4.一種群集控制系統(tǒng),當構(gòu)成群集系統(tǒng)的計算機群中的某臺計算機發(fā)生故障時,使在該計算機上運行中的程序包程序由另一臺計算機執(zhí)行,該群集控制系統(tǒng)的特征在于構(gòu)成該群集系統(tǒng)的各計算機包括提供應用或各種服務的程序包程序;對該計算機本身的程序包程序和在各計算機之間進行通信的資源進行監(jiān)視控制的群集守護程序;與計算機本身的群集守護程序、各計算機上的服務程序之間、及全局數(shù)據(jù)存儲裝置進行通信的服務程序;及將上述監(jiān)視結(jié)果作為局部數(shù)據(jù)存儲的局部數(shù)據(jù)存儲裝置;在群集系統(tǒng)中的一臺計算機除上述群集守護程序、服務程序、局部數(shù)據(jù)存儲裝置外,還裝有從各計算機上的局部數(shù)據(jù)進行收集并可由任何一臺計算機參照的全局數(shù)據(jù)存儲裝置;對與該計算機本身的服務程序和守護程序進行通信的群集系統(tǒng)總體進行監(jiān)視控制管理程序;上述各計算機上的服務程序可直接在全局數(shù)據(jù)存儲裝置及服務程序之間進行通信。
5.根據(jù)權(quán)利要求2或權(quán)利要求4所述的群集控制系統(tǒng),其特征在于,上述管理程序包括記述了構(gòu)成群集系統(tǒng)的計算機群的資源狀態(tài)變化時的處理的資源設定文件;根據(jù)資源設定文件的定義,當資源狀態(tài)有變化時進行資源控制處理的自動控制機構(gòu)。
6.根據(jù)權(quán)利要求5所述的群集控制系統(tǒng),其特征在于在上述資源設定文件中定義與程序包程序間的相互關(guān)系和執(zhí)行有關(guān)的優(yōu)先級信息,自動控制機構(gòu)根據(jù)該優(yōu)先級信息使各計算機上的程序包程序運行。
7.根據(jù)權(quán)利要求1、2、4中的任何一項所述的群集控制系統(tǒng),其特征在于上述管理程序?qū)Τ绦虬绦蚋郊影ㄟ\行、等待、試驗的運行操作模式,并包括根據(jù)該模式對程序包程序的操作控制進行管理的模式管理機構(gòu)。
8.根據(jù)權(quán)利要求1、2、4中的任何一項所述的群集控制系統(tǒng),其特征在于,上述管理程序包括收集與在群集系統(tǒng)內(nèi)發(fā)生的資源狀態(tài)變化有關(guān)的運行記錄的運行記錄管理機構(gòu)。
9.一種群集控制系統(tǒng),當構(gòu)成群集系統(tǒng)的計算機群中的一臺計算機發(fā)生故障時,使提供在上述發(fā)生故障的計算機上運行中的應用或各種服務的程序包由另一臺計算機運行,該群集控制系統(tǒng)的特征在于上述多臺計算機包括分別監(jiān)視各自的計算機的故障和恢復、同時對上述程序包的起動和運行進行控制的群集守護程序,上述多臺計算機中的第1計算機運行上述程序包程序即第1程序包程序,上述多臺計算機中的第2計算機在起動狀態(tài)下等待提供與上述第1程序包程序相同的應用或服務的第2程序包程序;上述多臺計算機中的一臺計算機除上述群集守護程序外,還包括管理程序,用于從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述第1計算機發(fā)生故障時,在上述第2計算機上運行上述第2程序包程序,同時在上述第1計算機從上述故障恢復時,使上述第1計算機在起動狀態(tài)下等待上述第1程序包程序。
10.根據(jù)權(quán)利要求9所述的群集控制系統(tǒng),其特征在于具有從上述第1程序包程序的輸出或上述第2程序包程序的輸出選擇任何一個后輸出的輸出控制裝置;上述第2計算機不是在起動狀態(tài)下等待上述第2程序包程序,而是運行上述第2程序包程序,并具有下述管理程序來取代上述管理程序從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在從上述輸出控制裝置輸出上述第1程序包的輸出時,如在上述第1計算機中發(fā)生故障,則取代上述第1程序包的輸出,從上述輸出裝置輸出上述第2程序包程序的輸出,并在上述第2計算機發(fā)生故障之前由上述輸出控制裝置繼續(xù)輸出上述第2程序包程序的輸出,當上述第1程序包程序重新開始運行而上述第2計算機發(fā)生故障時,取代上述第2程序包程序的輸出,從上述輸出控制裝置輸出上述第1程序包程序的輸出。
11.根據(jù)權(quán)利要求9所述的群集控制系統(tǒng),其特征在于包括下述管理程序來取代上述管理程序從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述第1計算機中發(fā)生故障時,在上述第2計算機上運行上述第2程序包程序,同時,使上述多臺計算機中的第3計算機在起動狀態(tài)下等待上述第1程序包程序。
12.根據(jù)權(quán)利要求9所述的群集控制系統(tǒng),其特征在于包括存儲由上述多臺計算機的每一臺起動的各程序包程序的優(yōu)先級的管理表,并包括下述管理程序來取代上述管理程序從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述第1計算機中發(fā)生故障時,從上述管理表檢索比在上述第1計算機上運行的上述程序包程序的優(yōu)先級低的程序包程序,并使該優(yōu)先級低的程序包程序停止運行,同時在運行著上述優(yōu)先級低的程序包程序的計算機上起動在上述第1計算機上運行的程序包程序。
13.一種群集控制系統(tǒng),當構(gòu)成群集控制系統(tǒng)的多臺計算機中的一臺計算機發(fā)生故障時,使提供在上述發(fā)生故障的計算機上運行中的應用或各種服務的程序包程序由另一臺計算機運行,該群集控制系統(tǒng)的特征在于上述多臺計算機包括分別監(jiān)視各自的計算機的故障和恢復、同時對上述程序包程序的起動和運行進行控制的群集守護程序;上述多臺計算機中的一臺計算機除上述守護程序外,還包括存儲由上述多臺計算機的每一臺起動的各程序包程序的優(yōu)先級和上述多臺計算機的每一臺的負載的管理表;管理程序,用于從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述多臺計算機中的第1計算機的負載變得大于預定負載時,參照上述管理表,使在上述第1計算機上運行著的程序包程序中的優(yōu)先級低的程序包程序停止運行,并在上述多臺計算機中的負載小于預定負載的計算機上起動被停止的程序包程序。
14.根據(jù)權(quán)利要求13所述的群集控制系統(tǒng),其特征在于取代上述管理表,包括存儲在上述多臺計算機上起動的各程序包程序的優(yōu)先級的管理表;上述群集守護程序監(jiān)視各自的計算機的資源;還包括下述管理程序來取代上述管理程序從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在由上述群集守護程序監(jiān)視的資源發(fā)生變化時,根據(jù)上述優(yōu)先級,將資源重新分配給由上述多臺計算機的每一臺運行著的程序包程序。
15.根據(jù)權(quán)利要求13所述的群集控制系統(tǒng),其特征在于包括存儲將由上述多臺計算機的每一臺并行運行的多個上述程序包作為一組時的組名的管理表;還包括下述管理程序來取代上述管理程序,從上述多臺計算機的各群集守護程序接收監(jiān)視結(jié)果,同時對上述群集守護程序進行控制,從而在上述多臺計算機中的第1計算機發(fā)生故障時,從上述管理表檢索上述多臺計算機的計算機中沒有運行與在上述第1計算機上運行著的程序包程序同組的程序包程序的計算機,并在檢索到的計算機上起動和運行由上述第1計算機運行的程序包程序。
全文摘要
一種監(jiān)視控制群集系統(tǒng)、當計算機發(fā)生故障時將在其上運行的程序轉(zhuǎn)移到群集內(nèi)的其他計算機上運行的群集控制系統(tǒng)。在構(gòu)成群集的各計算機上執(zhí)行群集守護程序,在起動各程序包的同時,監(jiān)視控制執(zhí)行計算機上的資源,并將其數(shù)據(jù)作為局部數(shù)據(jù)保存在各計算機上。管理程序與各計算機上的群集守護程序通信。并保存著用于對群集系統(tǒng)的總體進行監(jiān)視控制的全局數(shù)據(jù)。當管理程序或執(zhí)行著該管理程序的計算機發(fā)生故障時,由群集守護程序在其他計算機上重新起動。
文檔編號G06F9/50GK1181551SQ9712152
公開日1998年5月13日 申請日期1997年10月24日 優(yōu)先權(quán)日1996年10月28日
發(fā)明者細川武彥, 鶴薰 申請人:三菱電機株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
沧州市| 祥云县| 合山市| 黄梅县| 鹿邑县| 庐江县| 合水县| 浮梁县| 山阴县| 大足县| 岑溪市| 慈利县| 威远县| 巧家县| 江北区| 二连浩特市| 河北省| 合肥市| 吴桥县| 新化县| 牙克石市| 九寨沟县| 嘉善县| 山东省| 神木县| 丽水市| 旺苍县| 绥阳县| 阳新县| 新乡市| 铜陵市| 治县。| 保康县| 河源市| 通江县| 大安市| 芜湖市| 浦江县| 信阳市| 肇庆市| 桦南县|