亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于網(wǎng)格計算系統(tǒng)中的對等作業(yè)監(jiān)視和控制的系統(tǒng)和方法

文檔序號:6398376閱讀:189來源:國知局
專利名稱:用于網(wǎng)格計算系統(tǒng)中的對等作業(yè)監(jiān)視和控制的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及并行處理、批處理和網(wǎng)格計算領(lǐng)域,特別是涉及其中批作業(yè)的提交者需要在這些批作業(yè)的運行過程中與之交互的應(yīng)用。所公開的實施方式提供了在作業(yè)的發(fā)起者和處理這些作業(yè)的客戶系統(tǒng)之間的改進(jìn)了的通信和反饋,從而該提交者能夠接收關(guān)于作業(yè)的進(jìn)展情況的實時反饋,并發(fā)送實時命令以改變所述作業(yè)的進(jìn)一步運行。本發(fā)明特別面向其中批作業(yè)的提交者需要在這些批作業(yè)的運行過程中與之交互的應(yīng)用。
商標(biāo)IBM是位于美國紐約阿蒙克(Armonk)的國際商業(yè)機(jī)器公司的注冊商標(biāo)。其他名稱可能是國際商業(yè)機(jī)器公司或其他公司的注冊商標(biāo)或產(chǎn)品名稱。
背景技術(shù)
批處理和并行處理系統(tǒng)已經(jīng)存在了多年。這些系統(tǒng)通??捎糜谔峤恍枰幚淼膯蝹€作業(yè)、多個相互獨立的作業(yè)、或者可能構(gòu)成一個更大的作業(yè)的子步驟的一組相關(guān)的作業(yè)。IBM的LoadLeveler是這種系統(tǒng)的一個實例,而網(wǎng)格計算(Grid Computing)則是建立在LoadLeveler所提供的功能之上的一個新領(lǐng)域,它以靈活性和安全性擴(kuò)展了LoadLeveler,以便用于更多樣的環(huán)境中。并行處理系統(tǒng)的一個典型實現(xiàn)允許多個客戶系統(tǒng)中的每個客戶系統(tǒng)提交多個作業(yè)步,以在一個客戶系統(tǒng)池中分配,從而進(jìn)行處理。這通常是通過這樣的方法完成的,即讓一中央服務(wù)器接受所有這種請求,并將它們排列優(yōu)先次序和分配給一個客戶系統(tǒng)池以進(jìn)行處理。中央服務(wù)器負(fù)責(zé)這些客戶系統(tǒng)之間的工作負(fù)荷平衡,向客戶系統(tǒng)發(fā)送啟動和維持作業(yè)所需命令,以及監(jiān)視活動和向提交者通知狀態(tài),例如在每個客戶系統(tǒng)上作業(yè)步的完成。
在這些典型應(yīng)用中,一旦一作業(yè)步在一客戶系統(tǒng)中被啟動以進(jìn)行處理,則所有通信必須流經(jīng)中央服務(wù)器,并且在該作業(yè)步完成以前,很少有作業(yè)步與提交者之間的通信或者從作業(yè)步到提交者的結(jié)果反饋。這起因于若干實際的限制。由于中央服務(wù)器可能在同時為很多提交者處理很多作業(yè)步,并且中央服務(wù)器通常是未為一特定應(yīng)用定制的一通用服務(wù)器,所以中央服務(wù)器沒有能力實時地處理每個處理客戶系統(tǒng)上的每個作業(yè)步的特定操作和要求。

發(fā)明內(nèi)容
在所公開的本發(fā)明中,如在現(xiàn)有技術(shù)中一樣,如先前用于批作業(yè)的發(fā)派和管理的中央服務(wù)器保持未變。然而,本發(fā)明的優(yōu)選實施例提供了作業(yè)的發(fā)起者和處理這些作業(yè)的客戶系統(tǒng)之間的改進(jìn)的通信和反饋,因而提交者能夠接收關(guān)于作業(yè)的進(jìn)展情況的實時反饋,并發(fā)送實時命令以改變所述作業(yè)的進(jìn)一步運行。根據(jù)本發(fā)明的優(yōu)選實施例,批作業(yè)應(yīng)用的提交者應(yīng)用允許在批作業(yè)的執(zhí)行期間與之交互。在本發(fā)明中,在每個提交者的系統(tǒng)和處理一作業(yè)步的每個批客戶系統(tǒng)上添加軟件層。這些附加的軟件層利用管線(pipeline)和通信協(xié)議(如TCP/IP套接字),使得提交者的系統(tǒng)與各個處理客戶系統(tǒng)上的每個作業(yè)步之間直接通信。這些附加的軟件層是在作業(yè)提交者應(yīng)用的控制之下,并可在必要時進(jìn)行修改以支持提交者的工作負(fù)荷的特定需要,而無需修改中央批管理器。這些附加的軟件層利用提交者的系統(tǒng)和每個批處理客戶系統(tǒng)之間的對等通信,允許提交者的客戶系統(tǒng)和每個處理客戶系統(tǒng)之間的直接通信,而無需使用通過中央批管理器的通信通道。
在以下的詳細(xì)描述中說明了這些和其他改進(jìn)。為了更好地理解本發(fā)明及其優(yōu)點和特點,請參閱該描述及附圖。


圖1示出了一中央服務(wù)器與皆可被認(rèn)為是該中央服務(wù)器的客戶系統(tǒng)的諸提交系統(tǒng)和諸處理系統(tǒng)之間的連接。
圖2示出了提交系統(tǒng)和處理客戶系統(tǒng)之間的直接對等連接。
圖3示出了添加到提交和處理客戶系統(tǒng)之上以使能直接通信的軟件層(獨立的進(jìn)程線程)。
圖4示出了用于提交一多步作業(yè)的未經(jīng)修改的作業(yè)控制文件。
圖5示出了一作業(yè)控制文件,該作業(yè)控制文件經(jīng)過了修改以插入用于一多步作業(yè)的每一步的附加通信進(jìn)程的調(diào)用。
圖6示出了一典型的主用戶界面窗口。
圖7示出了用于顯示一單個作業(yè)步的進(jìn)展情況的更多細(xì)節(jié)的一用戶界面子窗口。
圖8示出了一警告窗口,該窗口立即通知提交者一失敗的作業(yè)步。
圖9示出了一警告窗口,該窗口通知提交者所有作業(yè)步的完成,并提供其結(jié)果的概要。
以下詳細(xì)描述通過參照附圖例舉的方式,解釋了本發(fā)明的優(yōu)選實施例及其優(yōu)點和特點。
具體實施例方式
圖1示出了用于把來自多個提交者的工作負(fù)荷分配給多個客戶系統(tǒng)以進(jìn)行處理的一典型系統(tǒng)。通常有一個中央服務(wù)器1,所有請求都向該服務(wù)器發(fā)出,并且所有客戶系統(tǒng)從該服務(wù)器接收請求以進(jìn)行處理。客戶系統(tǒng)常常能夠是提交者或處理者,并且可能從一種角色切換到另一種角色,或者甚至同時既擔(dān)當(dāng)提交者,也擔(dān)當(dāng)處理者。對于所示的實例,客戶系統(tǒng)2、3和4將起提交者的作用,而客戶系統(tǒng)5、6、7、8和9將提供處理服務(wù)。諸客戶系統(tǒng)使用由鏈路10、11、12、13、14、15、16和17構(gòu)成的所示通信結(jié)構(gòu)與中央服務(wù)器1進(jìn)行通信。這些通信鏈路由提交者2、3和4用于發(fā)出處理服務(wù)的請求,由中央服務(wù)器1用于將處理請求發(fā)派給客戶系統(tǒng)5、6、7、8和9,并由中央服務(wù)器用于監(jiān)視所有客戶系統(tǒng)的狀態(tài)和進(jìn)展情況。中央服務(wù)器1也可以提供某些反饋給提交客戶系統(tǒng)2、3和4,例如通知處理完成和最終結(jié)果的返回,如果它們未通過另一種機(jī)制例如一共享文件存儲系統(tǒng)返回的話。在本發(fā)明中,該通信結(jié)構(gòu)保持未變,并繼續(xù)承擔(dān)這些職能,并且中央服務(wù)器1繼續(xù)承擔(dān)在諸客戶系統(tǒng)之間的工作負(fù)荷平衡的重要職能。
圖2示出了由本發(fā)明所提出的、用于在諸客戶系統(tǒng)之間通信的附加通信路徑(這些通信路徑是對圖1中的路徑的附加,但為清楚起見被單獨顯示出來)。這些通信路徑是由客戶系統(tǒng)建立的,而沒有圖1所示的中央服務(wù)器1的參與。對于所示的實例,將假定客戶系統(tǒng)2已發(fā)出了一處理服務(wù)請求,并且該請求已由服務(wù)器1指定將在客戶系統(tǒng)5和6上執(zhí)行。將進(jìn)一步假定,客戶系統(tǒng)3已發(fā)出了一處理服務(wù)請求,并且該請求已由服務(wù)器1指定將在客戶系統(tǒng)7和8上執(zhí)行。將進(jìn)一步假定客戶系統(tǒng)4已發(fā)出了一處理服務(wù)請求,并且該請求已由服務(wù)器1指定在客戶系統(tǒng)9上執(zhí)行。
當(dāng)所述諸請求被分配以進(jìn)行處理時,圖2所示的通信路徑將由諸客戶系統(tǒng)建立。如圖所示,將在客戶系統(tǒng)2和5之間建立通信路徑18和19。如圖所示,將在客戶系統(tǒng)2和6之間建立通信路徑20和21類似地,相應(yīng)于前面描述的作業(yè)步分配,如圖所示,將在其余的提交客戶系統(tǒng)和處理客戶系統(tǒng)之間建立通信路徑22、23、24、25、26和27。
圖3更詳細(xì)地示出了位于該圖上部的提交客戶系統(tǒng)2與位于該圖下部的處理客戶系統(tǒng)5和6之間的通信。該圖顯示了各個軟件進(jìn)程線程,它們共同提供了作為本發(fā)明的主題的諸通信服務(wù)。為提交一多步批作業(yè),客戶系統(tǒng)2向批服務(wù)器1提交一請求。該請求可以采取如圖4所示的控制文件的形式。這種控制文件在現(xiàn)有技術(shù)的系統(tǒng)中是常見的。該實例控制文件指定了一個需要兩個處理客戶系統(tǒng)的兩步作業(yè),但也可以指定任何數(shù)量的作業(yè)步。一般預(yù)期將有兩個處理客戶系統(tǒng)并行地(同時地)處理這兩個實例步。行1到11是第一個作業(yè)步的控制信息和參數(shù),而行12到22是第二個作業(yè)步的控制信息和參數(shù)。
為完成本發(fā)明所設(shè)想的監(jiān)視和控制,修改由客戶系統(tǒng)2向批服務(wù)器1發(fā)出的請求,以使得諸處理客戶系統(tǒng)在實際的批作業(yè)步之前啟動一監(jiān)視進(jìn)程。這是通過如圖5所示修改圖4的控制文件而完成的。該文件在行6和17針對這兩個作業(yè)步進(jìn)行了修改,其中為了說明的目的,修改部分以黑體字突出顯示。在該控制文件的這些行中所指定的參數(shù)分別指定了將在處理客戶系統(tǒng)5和6上運行的作業(yè)。該更改指示客戶系統(tǒng)5運行監(jiān)視進(jìn)程“l(fā)lsim”,而該行的其余部分包含了該程序的參數(shù)。這些參數(shù)包括1)該監(jiān)視進(jìn)程的名稱46,在這里為“l(fā)lsim”,這是一個必須在處理客戶系統(tǒng)上存在的程序。
2)該提交者的系統(tǒng)(客戶系統(tǒng)2)的網(wǎng)絡(luò)名稱(主機(jī)名)47,在本實例中假設(shè)為client2.com。
3)將被用于從批作業(yè)步接收通信的、該提交者的系統(tǒng)(客戶系統(tǒng)2)上的端口號48,在本實例中為本實施例的優(yōu)選的TCP/IP端口49163。
4)一可選的私有密鑰49,處理客戶系統(tǒng)使用該密鑰來驗證其對該提交者的系統(tǒng)的訪問以獲得接受,在本實例中顯示為key0。該密鑰可由各種方法產(chǎn)生,包括隨機(jī)產(chǎn)生,其中每個新的作業(yè)提交使用一個不同的密鑰。該密鑰由中央主機(jī)1傳送給處理客戶系統(tǒng)5和6,并用于回過來訪問該提交客戶系統(tǒng)2。這保證了提交客戶系統(tǒng)2只從它所發(fā)起的那些作業(yè)接受輸入。
5)諸初始參數(shù),在本實例中開始于“psim”(該批作業(yè)步的程序名稱),接著是該程序的諸參數(shù)。
如圖5所示的所需修改將在把該請求提交給中央服務(wù)器1之前,在客戶系統(tǒng)2上進(jìn)行。
為了開始作業(yè)提交過程,客戶系統(tǒng)2上的提交者調(diào)用程序,該程序?qū)?zhǔn)備好接受來自諸處理客戶系統(tǒng)(在本實例中,這些客戶系統(tǒng)將是客戶系統(tǒng)5和6,但該提交者此時還不知道這些客戶系統(tǒng)的身份)的通信,并將把修改后的作業(yè)請求提交給中央服務(wù)器1以進(jìn)行處理。在本發(fā)明中,該提交者調(diào)用程序“l(fā)lsim”,并提供圖4所示的控制文件的名稱作為參數(shù)。程序“l(fā)lsim”,其為將成為處理客戶系統(tǒng)上的監(jiān)視進(jìn)程的同一程序,能夠確定它是正運行在一提交者的系統(tǒng)(本實例中的客戶系統(tǒng)2),還是正運行在一處理客戶系統(tǒng)中(本實例中的客戶系統(tǒng)5或6)上,并采取適合于其運行環(huán)境的操作。它是通過檢查提供給該程序的參數(shù)來進(jìn)行這種確定的。其他實施方式可以在提交者的系統(tǒng)和處理客戶系統(tǒng)上使用不同的程序。
當(dāng)由客戶系統(tǒng)2上的提交者啟動后,監(jiān)視程序“l(fā)lsim”執(zhí)行以下步驟,并啟動圖3所示的諸進(jìn)程1)該程序準(zhǔn)備一個表,該表將容納它將創(chuàng)建的所有子進(jìn)程的進(jìn)程ID,以便當(dāng)主進(jìn)程終止的時候,它可以終止所有的所述進(jìn)程,從而避免留下任何死進(jìn)程運行。每個子進(jìn)程當(dāng)其在以下步驟中被創(chuàng)建時將被送入該表。該程序也鉤入(hook into)“kill”、“quit”或類似的事件,以便每當(dāng)主程序結(jié)束時終止該表中的諸進(jìn)程。
2)該程序通過檢查程序參數(shù),確定其正運行在提交者的系統(tǒng)上,并遵循提交者的系統(tǒng)的路徑。
3)該程序(初始進(jìn)程28)派生(fork)一子進(jìn)程29,于是該父進(jìn)程退出。子進(jìn)程作為新的主進(jìn)程而進(jìn)行接管(該步驟是可選的,但在某些操作系統(tǒng)中這使得該進(jìn)程成為一后臺進(jìn)程,并將用戶返回到一命令提示符)。新創(chuàng)建的進(jìn)程29將處理所有與用戶的交互。
4)用戶界面進(jìn)程29搜索一空閑的通信端口,并打開所選擇的端口以偵聽來自連接子進(jìn)程30和通信子進(jìn)程31、32以及可能被創(chuàng)建的任何其他通信子進(jìn)程的連接。在圖3中所打開的端口是用戶界面進(jìn)程29上的39。如果所優(yōu)選的端口正在使用中(如果該程序的另一個實例正在運行,則有可能),則選擇另一個端口,而用戶界面窗口的背景顏色將改變,以將該實例與其他實例區(qū)分開。
5)然后用戶界面進(jìn)程29派生一子進(jìn)程30,以用于接受來自諸批處理機(jī)器的連接,于是每個進(jìn)程將繼續(xù)其自身的執(zhí)行路徑。這兩個進(jìn)程(相互獨立的進(jìn)程線程)在通信鏈路39上建立它們之間的連接,這可能需要使用一密鑰,該密鑰是在創(chuàng)建諸子進(jìn)程之前產(chǎn)生的,并作為派生進(jìn)程的一部分與每個新的子進(jìn)程共享,以便通信能夠被接受。
6)一旦建立了通信鏈路39,則用戶界面進(jìn)程29準(zhǔn)備與用戶通信,以接收命令和顯示結(jié)果。在本優(yōu)選實施例中,該界面由一圖形用戶界面構(gòu)成,但也可以利用其他方法。該進(jìn)程既能夠接收來自該圖形界面的用戶輸入,也能夠接收來自TCP/IP連接的數(shù)據(jù),而這些ICP/IP連接是來自于也運行在該提交者的系統(tǒng)上的其他進(jìn)程的。當(dāng)該圖形用戶界面退出時,客戶系統(tǒng)2上的所有子進(jìn)程將被殺死,于是在提交者的系統(tǒng)2上的該監(jiān)視進(jìn)程將完成。這可能發(fā)生在處理客戶系統(tǒng)5和6上的所有處理步驟完成以前或以后。如果提早終止,則并不重新建立與處理客戶系統(tǒng)的連接。
7)連接進(jìn)程30打開另一個通信端口,以用于從批客戶系統(tǒng)接收連接。這將是一個單獨的端口號,其與由用戶界面進(jìn)程29所產(chǎn)生的不同,并將被用于接收來自處理諸客戶系統(tǒng)的新連接。該端口在圖3中顯示在連接進(jìn)程30的底部(只有一個端口,所顯示的兩個連接都連接到同一個端口)。
8)現(xiàn)在,連接進(jìn)程30讀取圖4所示的批控制文件,如圖5所示的那樣對其進(jìn)行修改,并將其提交給中央服務(wù)器1以進(jìn)行處理。所述修改包括插入監(jiān)視進(jìn)程的名稱(該程序自身的名稱,“l(fā)lsim”)、該進(jìn)程正運行于其上的主機(jī)名(本例中為client2.com)、在前一步驟中打開的通信端口號,并且也可能包括一密鑰或類似的安全手段,諸處理客戶系統(tǒng)必須呈示該安全手段來獲得訪問,以便把結(jié)果返回給用戶界面進(jìn)程。
9)連接進(jìn)程30將關(guān)于剛提交的作業(yè)的所選信息發(fā)回給用戶界面進(jìn)程29。所述用戶界面進(jìn)程使用該信息顯示已啟動的處理步的數(shù)量,并針對當(dāng)提交所述命令文件時返回的作業(yè)名稱,使得一取消命令被發(fā)送給中央服務(wù)器1,如果用戶想要通過中央服務(wù)器取消處理的話。
10)中央服務(wù)器1選擇諸處理客戶系統(tǒng),并將諸處理步發(fā)派給所選擇的諸客戶系統(tǒng)5和6。
11)連接進(jìn)程30等待來自一處理客戶系統(tǒng)的一新連接。每次收到一個新連接,連接進(jìn)程30就派生出另一個子進(jìn)程,以處理該新連接。
12)在每個處理客戶系統(tǒng)例如5上,中央服務(wù)器1啟動在所述控制文件中指定的程序,其在本例中為監(jiān)視進(jìn)程“l(fā)lsim”,該進(jìn)程在圖3中作為進(jìn)程34而啟動。該進(jìn)程首先通過檢查它所收到的參數(shù),來確定其正運行在一處理客戶系統(tǒng)上,于是沿著適當(dāng)?shù)膱?zhí)行路徑進(jìn)行。所采取的第一個步驟是打開在其上與提交客戶系統(tǒng)2進(jìn)行通信的一通信端口。該連接是向主機(jī)名和端口號做出的,該主機(jī)名和端口號是在圖5中先前添加到行6或17中、并在處理客戶系統(tǒng)5由中央服務(wù)器1啟動時作為程序參數(shù)提供給監(jiān)視進(jìn)程“l(fā)lsim”的。初始連接是通過通信鏈路18從響應(yīng)進(jìn)程34向連接進(jìn)程30做出的。根據(jù)實施方式,如果在圖5的修改中插入了一密鑰,則連接進(jìn)程30可以要求發(fā)送該密鑰以驗證該連接。也可以可選地采取使該連接安全的其他步驟,例如建立加密的鏈路。
13)到連接進(jìn)程30的第一個處理客戶系統(tǒng)連接造成一個派生,導(dǎo)致創(chuàng)建通信進(jìn)程31。下一個連接導(dǎo)致創(chuàng)建通信進(jìn)程32,并且如果還有其他處理步驟,則為每個步驟創(chuàng)建其他類似的通信進(jìn)程。連接進(jìn)程30的存在只是為了接受新的連接,并啟動這些新的通信進(jìn)程。此外,對于創(chuàng)建的每個通信進(jìn)程,由連接進(jìn)程30通過通信鏈路39向用戶界面進(jìn)程29發(fā)回一個唯一的標(biāo)識(在本優(yōu)選實施例中為新創(chuàng)建的進(jìn)程ID)。該標(biāo)識將被用于來自通信進(jìn)程31、32等的每個未來通信,以便確定消息來源于哪個處理客戶系統(tǒng),從而把它們歸屬于正確的處理客戶系統(tǒng)。
14)隨著連接進(jìn)程30中的派生,來自響應(yīng)進(jìn)程34的通信跟隨到子進(jìn)程(通信進(jìn)程),并且來自處理客戶系統(tǒng)5的所有未來通信都將由通信進(jìn)程31接收。通信鏈路18在響應(yīng)進(jìn)程34和通信進(jìn)程31之間將保持打開和連接,直到在處理客戶系統(tǒng)5上的批作業(yè)步35完成為止。
15)此時,響應(yīng)進(jìn)程34向通信進(jìn)程31發(fā)送一個初始自我標(biāo)識消息,該消息將被轉(zhuǎn)發(fā)并顯示給用戶,作為初始聯(lián)系消息。當(dāng)通信進(jìn)程31收到該消息時,它將其通過通信鏈路44(該鏈路是當(dāng)它從連接進(jìn)程30中被派生出時所繼承的、鏈路39的一個副本—顯示為39、44和45的連接到用戶界面進(jìn)程29內(nèi)同一個接收端口的鏈路)轉(zhuǎn)發(fā)。為了用戶界面29可以確定該消息來自于哪個客戶系統(tǒng),通信進(jìn)程31在該消息上附加了它的標(biāo)識(本優(yōu)選實施例中為進(jìn)程ID),并且可能還被要求包括繼承自進(jìn)程30的一密鑰,如果它已由進(jìn)程29和30建立的話。由通信進(jìn)程31轉(zhuǎn)發(fā)給用戶界面29的所有未來消息也將附加這同一標(biāo)識。用戶界面進(jìn)程29顯示接收到的消息,該消息被歸屬于由該標(biāo)識所標(biāo)識的一特定的處理客戶系統(tǒng)步。
16)然后,通信進(jìn)程31向響應(yīng)進(jìn)程34發(fā)送標(biāo)識它自己和它的用戶界面進(jìn)程所需要的信息。這些信息可以包括提交客戶系統(tǒng)2的標(biāo)識例如其主機(jī)名或密鑰,這些以后將被用于在來自用戶界面29的命令由命令進(jìn)程33接受和處理之前驗證這些命令。該信息被用于防止處理客戶系統(tǒng)5接受來自原始提交者之外的任何客戶系統(tǒng)的命令。響應(yīng)進(jìn)程34保存該信息,以便當(dāng)命令進(jìn)程33被創(chuàng)建時,將信息傳送給該進(jìn)程。
17)通信進(jìn)程31將從響應(yīng)進(jìn)程34接收到的任何消息轉(zhuǎn)發(fā)給用戶界面進(jìn)程29。如果通信鏈路從處理客戶系統(tǒng)端關(guān)閉,則通信進(jìn)程31將其往回報告給用戶界面進(jìn)程29,該用戶界面進(jìn)程29使用該信息通知用戶該處理步驟已完成。這種通信鏈路中斷的檢測使得用戶能夠得到處理步驟已完成的通知,即使沒有從處理客戶系統(tǒng)收到具有這個意思的消息(如果在處理客戶系統(tǒng)上的作業(yè)失敗,這可能是一個有用的指示)。
18)響應(yīng)進(jìn)程34使用其剩余的參數(shù)(當(dāng)去除了在提交給中央服務(wù)器1之前由連接進(jìn)程30添加并顯示在圖5中的信息之后)來啟動原來在圖4中指定為處理步的作業(yè)。啟動該作業(yè)的過程在以下的幾個步驟中作了描述。
19)響應(yīng)進(jìn)程34啟動批作業(yè)35,其輸入(通常為STDIN)和輸出(通常為STDOUT)連接到一雙向管道(接受雙向通信的管道),因而該批作業(yè)的輸入和輸出通過該管道被引導(dǎo)到該響應(yīng)進(jìn)程34。在圖3中該雙向管道的輸入被表示為鏈路40,而輸出被表示為鏈路41。
20)因為一個進(jìn)程不容易處理來自兩個來源(通過通信鏈路19的用戶界面進(jìn)程29,以及通過管道41的批作業(yè)35的輸出)的輸入,所以響應(yīng)進(jìn)程34派生一個單獨的命令進(jìn)程33,以處理一個通信路徑。
21)命令進(jìn)程33打開一新的通信端口,通過該通信端口接收來自用戶界面進(jìn)程29的命令。然后命令進(jìn)程33在先前建立的通信鏈路18上通過通信進(jìn)程31和鏈路44,將描述該新端口的聯(lián)系信息發(fā)送給用戶界面進(jìn)程29(當(dāng)命令進(jìn)程33從響應(yīng)進(jìn)程34被派生時,它繼承了鏈路18連接的一個副本,并只使用該連接一次,以便在它開始通過通信鏈路19偵聽來自用戶界面進(jìn)程29的輸入之前,發(fā)送該聯(lián)系信息)。從命令進(jìn)程33發(fā)送的該聯(lián)系信息包括該處理客戶系統(tǒng)的主機(jī)名、連接端口號,以及將被用于驗證在鏈路19上接收到的命令的可選的密鑰。如果用戶選擇向正在處理客戶系統(tǒng)5上執(zhí)行的作業(yè)步35發(fā)送命令,則用戶界面29將使用該信息。用戶界面進(jìn)程29可以只當(dāng)必須發(fā)送命令時才完成連接19,并且可以在發(fā)送完每個命令之后關(guān)閉該連接,而當(dāng)必須發(fā)送另一個命令時再次打開連接。用戶界面進(jìn)程29和命令進(jìn)程33也可以可選地選擇對鏈路19上的通信進(jìn)行加密。命令進(jìn)程33將處理通過通信鏈路19而來自用戶的命令,并將它們通過管道連接40轉(zhuǎn)發(fā)到批作業(yè)35。
22)響應(yīng)進(jìn)程34處理通過管道連接41接收到的來自批作業(yè)35的輸出,并將該輸出通過通信鏈路18轉(zhuǎn)發(fā)到通信進(jìn)程31。
23)響應(yīng)進(jìn)程34將偵測何時批進(jìn)程35已完成并已關(guān)閉了所述管道連接。當(dāng)這發(fā)生的時候,響應(yīng)進(jìn)程34將終止命令進(jìn)程33,并然后終止自己,而這將被通信進(jìn)程31和中央服務(wù)器1二者視為該批作業(yè)步的完成。
24)為每個作業(yè)步重復(fù)步驟12到23,從而為每個作業(yè)步創(chuàng)建唯一的諸進(jìn)程。通信進(jìn)程32、命令進(jìn)程36、響應(yīng)進(jìn)程37、和批作業(yè)38(連同與鏈路40和41相應(yīng)的鏈路42和43)表示為一第二作業(yè)步創(chuàng)建的諸進(jìn)程。其他作業(yè)步將創(chuàng)建其他類似的諸進(jìn)程(未示出)。
用戶界面進(jìn)程29將提供適當(dāng)?shù)挠脩艚缑?,以便允許提交者和每個作業(yè)步之間的雙向交互,以監(jiān)視和控制所述步。該界面可以由多個圖形用戶界面窗口構(gòu)成,這些窗口的形式類似于圖6、7、8和9所示的形式。
圖6示出了由用戶界面進(jìn)程29所顯示的主監(jiān)視進(jìn)程窗口的一種可能實現(xiàn)形式。該界面包括一取消按鈕50,它是所提供的唯一與中央服務(wù)器1通信的功能。該按鈕提供了利用中央服務(wù)器1所提供的用于該目的一命令來取消所有作業(yè)處理步驟的手段。所有其余的用戶界面控件是通過在提交客戶系統(tǒng)2和處理客戶系統(tǒng)5與6之間(或在提交客戶系統(tǒng)3和處理客戶系統(tǒng)7與8之間等等)的直接對等連接(通信鏈路18、19、20、21、22、23、24、25、26和27)而被提供和被服務(wù)的。
圖6中的主用戶界面包括一命令文本輸入窗口51,用戶使用該窗口輸入命令,該命令將通過一通信鏈路例如19或21發(fā)送給一命令進(jìn)程例如33或36,然后從所述命令進(jìn)程,該命令將通過管道連接例如40或42,被轉(zhuǎn)發(fā)給批作業(yè)35或38。當(dāng)按下“發(fā)送給所有”按鈕52時,該命令將被發(fā)送給所有活動的作業(yè)步35和38,以及任何和所有其它步,或者,當(dāng)按下與一單個作業(yè)步相應(yīng)的發(fā)送按鈕59時,該命令將被發(fā)送給一單個作業(yè)步。
圖6中的主用戶界面也顯示與每個作業(yè)步相應(yīng)的一行狀態(tài)。所顯示的信息可以包括處理客戶系統(tǒng)名稱54、正在該客戶系統(tǒng)上執(zhí)行的該作業(yè)步名稱55、來自該作業(yè)步的最后一個消息的時間56、來自該作業(yè)步的最后一個消息57(從該作業(yè)步接收到的最后一行輸出,該輸出通過管道連接41或43、響應(yīng)進(jìn)程34或37、通信鏈路18或20、通信進(jìn)程31或32、通信鏈路44或45,到達(dá)用戶界面進(jìn)程29,并在此顯示出來)和連接或完成狀態(tài)的當(dāng)前概要60。
此外,圖6中的每個作業(yè)步包括一個按鈕58,該按鈕允許顯示該作業(yè)步的附加信息。按下該按鈕將使得用戶界面進(jìn)程29打開一附加窗口。圖7顯出了該附加窗口的一個可能實施方式。
圖7中的作業(yè)詳情窗口包括一命令文本輸入窗口61和一相應(yīng)的發(fā)送按鈕62。它們完成與主用戶界面中的命令窗口51和發(fā)送按鈕59同樣的向該作業(yè)步發(fā)送一命令的功能。該作業(yè)詳情窗口的主要功能是提供對來自作業(yè)步64的所有輸出的完整顯示,而不是在主用戶界面中顯示的最近的一行57。
用戶界面進(jìn)程29可以具有為該特定應(yīng)用定制的一些附加功能。這些附加功能可能是在整個作業(yè)步完成以前,當(dāng)該作業(yè)步的中間結(jié)果被返回時,識別它們并作出反應(yīng)。這種定制的功能可能包括識別和報告成功或失敗或其它特征,以及一旦得知時就為用戶保持狀態(tài)更新。某些條件可能導(dǎo)致通過一附加的顯示窗口和警告聲音例如圖8所示的作業(yè)失敗指示窗口,而對用戶立即警告,或者可能導(dǎo)致一些自動操作,例如作為由其他一些作業(yè)步所報告的條件的結(jié)果,向某些作業(yè)步發(fā)送命令。當(dāng)所有作業(yè)步完成時,用戶界面進(jìn)程29可以打開一附加信息窗口,并發(fā)出一警告聲音,以通知用戶作業(yè)完成。圖9示出了這種窗口的一個實例。
主用戶界面窗口具有一“退出”按鈕53,該按鈕關(guān)閉所有窗口(例如圖6、7、8和9所示的那些窗口),關(guān)閉所有子進(jìn)程,例如提交客戶系統(tǒng)2上的30、31和32,并最終終止用戶界面進(jìn)程29,從而結(jié)束提交客戶系統(tǒng)2上的所有監(jiān)視功能。子窗口(例如在圖7、8和9中顯示的那些窗口)具有關(guān)閉按鈕,例如63、65和66,這些按鈕只關(guān)閉其所屬的子窗口,而不會終止任何進(jìn)程,或關(guān)閉任何其他窗口。
退出提交客戶系統(tǒng)2上的主界面窗口和進(jìn)程不會終止運行在一處理客戶系統(tǒng)5或6或類似處理客戶系統(tǒng)上的任何進(jìn)程,然而如果發(fā)生了這種退出,則命令和響應(yīng)進(jìn)程,其中包括33、34、36和37,將不再能夠與提交客戶系統(tǒng)2進(jìn)行通信。命令和響應(yīng)進(jìn)程33、34、36和37應(yīng)當(dāng)容許到提交客戶系統(tǒng)2的通信鏈路的中斷,并允許批作業(yè)步進(jìn)程35和38繼續(xù)進(jìn)行到完成,而不向提交客戶系統(tǒng)2返回其他的輸出。
可以看到,所公開的計算系統(tǒng)和應(yīng)用提供了一解決方案,其用于在網(wǎng)格和批計算系統(tǒng)中的改進(jìn)的作業(yè)監(jiān)視和控制。在大多數(shù)網(wǎng)格計算系統(tǒng)中,一中央管理器,其通常為一單個服務(wù)器,接收來自很多提交者的請求,并將它們排列優(yōu)先順序和在很多處理客戶系統(tǒng)上啟動處理。在這種傳統(tǒng)方法中,中央服務(wù)器管理與多個提交者的系統(tǒng)和運行在諸客戶系統(tǒng)上的多個作業(yè)的所有通信,包括將命令傳遞給諸客戶系統(tǒng),以及將結(jié)果傳回到提交者。通過一中央服務(wù)器實現(xiàn)的這種通信的集中必然限制可能通信的范圍和廣度,特別是有關(guān)在各個客戶系統(tǒng)上的批進(jìn)程的進(jìn)展情況的詳細(xì)狀態(tài)的通信,這種通信如果不加限制可能會以過多的通信流量使中央服務(wù)器超負(fù)荷。使用所公開的方法,中央批管理器只負(fù)責(zé)工作負(fù)荷平衡和作業(yè)的啟動和完成;所有其他的命令和狀態(tài)信息都是在正處理著其各自工作負(fù)荷的多個提交者的系統(tǒng)和多個客戶系統(tǒng)之間直接通信的。對于有很大數(shù)量的處理客戶系統(tǒng)向一個提交客戶系統(tǒng)報告的應(yīng)用來說,這種增加的反饋量可能是不合適的,因為這種反饋同樣可能使該提交客戶系統(tǒng)超負(fù)荷,但是對于需要即時的反饋以便進(jìn)行監(jiān)視、調(diào)試和進(jìn)程修改的情形,該方法提供了比通過通常的以服務(wù)器為中心的分布式處理系統(tǒng)所可能獲得的更多的控制。所公開的實施方式利用提交者的系統(tǒng)和客戶系統(tǒng)之間的、事件驅(qū)動的對等通信,使得可以傳遞更詳細(xì)的狀態(tài)和控制信息,而不使中央服務(wù)器超負(fù)荷,并且通過避免輪詢,還提供了更即時的結(jié)果反饋。所公開的系統(tǒng)利用了在提交者的系統(tǒng)和客戶系統(tǒng)二者之上的多個進(jìn)程線程,并且提供了一個用戶界面,以便對提交者合并和顯示結(jié)果,并允許將命令發(fā)送到正在客戶批處理系統(tǒng)上運行的進(jìn)程。
盡管前面描述了本發(fā)明的優(yōu)選實施例,但應(yīng)理解,無論現(xiàn)在還是未來的、本領(lǐng)域的技術(shù)人員都可以進(jìn)行落入附后的權(quán)利要求的范圍的各種改進(jìn)和提高。這些權(quán)利要求應(yīng)當(dāng)被理解為維護(hù)了對前面描述的本發(fā)明的適當(dāng)保護(hù)。
權(quán)利要求
1.一種計算機(jī)系統(tǒng),包括一中央服務(wù)器(1)和一提交者應(yīng)用,它們與一應(yīng)用進(jìn)程一起,被利用來提供對一個批或網(wǎng)格計算系統(tǒng)的全面控制,以接收和發(fā)派請求,所述應(yīng)用進(jìn)程同時性地允許正在處理所發(fā)派的請求的客戶系統(tǒng)將通信直接往回傳遞給提交原初請求的那個客戶系統(tǒng),而無需所述通信經(jīng)過所述中央服務(wù)器。
2.一種計算機(jī)系統(tǒng)應(yīng)用,包括一用于通信的進(jìn)程,該進(jìn)程允許向一中央服務(wù)器(1)提交請求以便在未知的一組處理客戶系統(tǒng)(5-9)上處理的一客戶系統(tǒng)(2)將指令嵌入通過所述中央服務(wù)器分配到所述各處理客戶系統(tǒng)的請求中,所述指令指示所述各處理客戶系統(tǒng)如何以及從何處連接到所述提交客戶系統(tǒng)。
3.一種在提交客戶系統(tǒng)(2)上的用戶界面方法,包括以下步驟向提交客戶系統(tǒng)的提交者呈現(xiàn)一用戶界面,并在用戶界面上同時性地接收和顯示來自多個處理客戶系統(tǒng)(5-9)的輸入的概要,而同時啟動向一個或多個所述處理客戶系統(tǒng)同時性地發(fā)送命令的步驟。
4.權(quán)利要求3的用戶界面方法,進(jìn)一步包括啟動一些附加信息窗口的顯示的步驟,這些窗口顯示與在所選的單個處理客戶系統(tǒng)(5)上的一作業(yè)步(35)的通信的附加的詳情。
5.權(quán)利要求3的用戶界面方法,進(jìn)一步包括以下步驟一旦從處理客戶系統(tǒng)接收到通信,立即啟動所述用戶界面對自所述處理客戶系統(tǒng)(5-9)接收到的通信的解釋,并且概括其結(jié)果和向所述提交者呈現(xiàn)所選擇的重要結(jié)果,或者,作為從其他處理客戶系統(tǒng)接收到通信的結(jié)果,自動向某些處理客戶系統(tǒng)發(fā)送命令以更改它們的進(jìn)一步操作。
6.一種在提交客戶系統(tǒng)上的用戶界面方法,包括以下步驟向提交客戶系統(tǒng)的提交者呈現(xiàn)一用戶界面,并在用戶界面上同時性地接收和顯示來自多個處理客戶系統(tǒng)(5-9)的輸入的概要,而同時啟動向一個或多個所述處理客戶系統(tǒng)同時性地發(fā)送命令的一步驟,該方法進(jìn)一步包括以下步驟啟動可能同時存在于提交客戶系統(tǒng)的提交者之中的用戶界面進(jìn)程(29)的一個或多個不同的實例,以檢測已經(jīng)處于使用中的優(yōu)選的通信端口并由此檢測出另一個或多個實例的存在,并且根據(jù)所述檢測選擇另一個可用的通信端口,并且還改變所述附加實例的可見特征,包括主窗口或所有子窗口的顏色,以便所述提交者能夠?qū)儆谒_的監(jiān)視系統(tǒng)的一個實例及相關(guān)作業(yè)步(35、38)的窗口與屬于其他實例的窗口區(qū)分開來。
7.根據(jù)權(quán)利要求1的計算機(jī)系統(tǒng),進(jìn)一步包括在一提交客戶系統(tǒng)上的一連接進(jìn)程(30),用于接收來自處理客戶系統(tǒng)(5-9)新連接,這些處理客戶系統(tǒng)的身份事先是未知的。
8.一種計算機(jī)系統(tǒng),包括一中央服務(wù)器(1)和一提交者應(yīng)用,它們與一應(yīng)用進(jìn)程一起,被利用來提供對一個批或網(wǎng)格計算系統(tǒng)的全面控制,以接收和發(fā)派請求,所述應(yīng)用進(jìn)程同時性地允許正在處理所發(fā)派的請求的客戶系統(tǒng)與一計算系統(tǒng)傳遞一通信,該計算系統(tǒng)包括一密鑰系統(tǒng),這些密鑰可以通過一中央服務(wù)器傳遞以用于初始的作業(yè)初始化消息,并且對于其他連接可以直接在客戶系統(tǒng)之間傳遞,以允許客戶系統(tǒng)相互明確地標(biāo)識,并排斥來自所述計算系統(tǒng)中的其他客戶系統(tǒng)的通信。
9.一種計算機(jī)系統(tǒng)通信方法,包括每個作業(yè)步的、在一提交客戶系統(tǒng)上的以下步驟從一相關(guān)的處理客戶系統(tǒng)(5)接收一輸入,使用特定于由所述處理客戶系統(tǒng)執(zhí)行的一作業(yè)步(35)的標(biāo)識信息標(biāo)記來自所述相關(guān)的處理客戶系統(tǒng)的所述輸入,并在標(biāo)記之后將所述輸入返回給一用戶界面進(jìn)程(29),以便作為與所述特定的處理客戶系統(tǒng)和所標(biāo)記的輸入的一個作業(yè)步(35)相關(guān)的輸入顯示出來。
10.一種計算機(jī)系統(tǒng)通信方法,其包括由建立在一處理客戶系統(tǒng)(5)上的一命令進(jìn)程(33)執(zhí)行的以下步驟從在一提交客戶系統(tǒng)上的一用戶界面進(jìn)程(29)接收命令,并將從在所述提交客戶系統(tǒng)上的所述用戶界面進(jìn)程接收到的命令通過一管道轉(zhuǎn)發(fā)給在所述處理客戶系統(tǒng)上的一批作業(yè)步(35)。
11.一種計算機(jī)系統(tǒng)通信方法,包括由建立在一處理客戶系統(tǒng)(5)的一響應(yīng)進(jìn)程(34)執(zhí)行的以下步驟從在所述處理客戶系統(tǒng)上的一批作業(yè)步(35)接收結(jié)果,并將所接收到的結(jié)果立即通過一通信鏈路轉(zhuǎn)發(fā)給一提交客戶系統(tǒng),以進(jìn)行顯示和分析。
12.一種信息處理系統(tǒng),包括一計算系統(tǒng),該計算系統(tǒng)連接到多個處理客戶系統(tǒng)(5-9),并提供了一雙向管道(40、41)和一通信進(jìn)程(31),以便同時性地從在一處理客戶系統(tǒng)(5)上的一批作業(yè)步(35)接收輸出,并向在所述處理客戶系統(tǒng)上的所述批作業(yè)步發(fā)送輸入。
13.一種信息處理系統(tǒng),包括一計算系統(tǒng),該計算系統(tǒng)通過一通信鏈路連接到擔(dān)當(dāng)處理客戶系統(tǒng)(5-9)和提交客戶系統(tǒng)(1-4)的多個客戶系統(tǒng),并提供了一雙向管道(40、41)和一通信進(jìn)程應(yīng)用,以便同時性地從在一處理客戶系統(tǒng)(5)上的一批作業(yè)步(35)接收輸出,并向在所述處理客戶系統(tǒng)上的所述批作業(yè)步發(fā)送輸入,其中,在一通信進(jìn)程(31)中,一提交客戶系統(tǒng)通過檢測與一處理客戶系統(tǒng)的通信鏈路的終止來檢測出在所述處理客戶系統(tǒng)上的一處理步驟的完成。
14.一種信息處理系統(tǒng),包括一個具有一中央服務(wù)器(1)和通信應(yīng)用的計算系統(tǒng),其中一中央批管理器負(fù)責(zé)工作負(fù)荷平衡和作業(yè)啟動及完成,而其他的命令和狀態(tài)信息是直接在所述計算系統(tǒng)的、正在處理其各自工作負(fù)荷的多個提交者的系統(tǒng)和多個客戶系統(tǒng)之間進(jìn)行傳送的。
15.權(quán)利要求14的信息處理系統(tǒng),其利用所述提交者的系統(tǒng)和客戶系統(tǒng)之間的由事件驅(qū)動的對等通信,所述通信進(jìn)程使得能夠傳遞詳細(xì)的狀態(tài)和控制信息,而不使所述中央服務(wù)器超負(fù)荷,以及不進(jìn)行輪詢。
16.權(quán)利要求15的信息處理系統(tǒng),其中在連接到所述中央服務(wù)器的提交者系統(tǒng)和客戶批處理系統(tǒng)上都使用了多個進(jìn)程線程,并且一用戶界面向一提交者合并和顯示結(jié)果,并允許命令被發(fā)送給運行在各客戶批處理系統(tǒng)上的各進(jìn)程。
全文摘要
一種用于在網(wǎng)格和批計算系統(tǒng)中的改進(jìn)的作業(yè)監(jiān)視和控制的解決方案提供了一中央服務(wù)器的批管理器,該批管理器只負(fù)責(zé)工作負(fù)荷平衡和作業(yè)的啟動與完成,而所有其他命令和狀態(tài)信息是直接在正處理其各自工作負(fù)荷的多個提交者的系統(tǒng)和多個客戶系統(tǒng)之間進(jìn)行傳送的。所述計算系統(tǒng)和通信進(jìn)程利用了在提交者的系統(tǒng)和客戶系統(tǒng)之間的事件驅(qū)動的對等通信,從而使得能夠傳遞更詳細(xì)的狀態(tài)和控制信息,而不使中央服務(wù)器超負(fù)荷,并且通過避免輪詢,還提供了結(jié)果的更即時的反饋。在提交者的系統(tǒng)和客戶系統(tǒng)上都采用了多個進(jìn)程線程,并且一用戶界面向提交者合并和顯示結(jié)果,并允許手動或自動地把命令發(fā)送給在諸客戶批系統(tǒng)上運行的進(jìn)程。
文檔編號G06F9/46GK1573696SQ20041003413
公開日2005年2月2日 申請日期2004年4月22日 優(yōu)先權(quán)日2003年6月11日
發(fā)明者G·E·斯特雷特 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1