專利名稱:進(jìn)程屬性的三維實(shí)時(shí)監(jiān)控的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)程序的性能,更確切地說,涉及對計(jì)算機(jī)進(jìn)程屬性的監(jiān)控。
為高性能計(jì)算機(jī)(如工作站)編寫的計(jì)算機(jī)程序越來越復(fù)雜,要監(jiān)控計(jì)算機(jī)上運(yùn)行的計(jì)算機(jī)程序的性能也越來越困難。如今,因有面向?qū)ο蟮某绦蛟O(shè)計(jì)、并行程序設(shè)計(jì)、分布計(jì)算等,致使監(jiān)控計(jì)算機(jī)上執(zhí)行的操作變得十分復(fù)雜。
在某些計(jì)算機(jī)上(如基于UNIX的計(jì)算機(jī))計(jì)算機(jī)程序產(chǎn)生各種進(jìn)程,或者說計(jì)算機(jī)進(jìn)程,來完成程序設(shè)計(jì)的任務(wù)。因此,為了監(jiān)控這種計(jì)算機(jī)程序的性能,就有必要在計(jì)算機(jī)系統(tǒng)上對該程序所產(chǎn)生的各種進(jìn)程進(jìn)行監(jiān)控。通常,對這些計(jì)算機(jī)進(jìn)程的檢查很有限,僅能顯示或打印這些進(jìn)程及其某些屬性的一個(gè)清單。這種清單可能列出進(jìn)程是否正在運(yùn)行、進(jìn)程駐留內(nèi)存的大小、狀態(tài)、CPU使用情況、等等。但是,對這種清單或表格以及其它關(guān)于進(jìn)程及其屬性的二維表示,用戶理解起來比較困難。并且,隨著計(jì)算機(jī)程序復(fù)雜性的增加,對于這種清單(或其它二維視圖)的理解的困難程度也隨之增加。因此,對計(jì)算機(jī)系統(tǒng)的進(jìn)程進(jìn)行監(jiān)控的傳統(tǒng)技術(shù)面臨著這樣一個(gè)問題沒能按照一種有效的方式來表示與進(jìn)程相關(guān)的數(shù)據(jù),以便用戶易理解這些數(shù)據(jù)及其與其它進(jìn)程的關(guān)系,尤其是當(dāng)計(jì)算機(jī)系統(tǒng)包含大量的進(jìn)程和多個(gè)計(jì)算機(jī)時(shí)更是如此。
另外,用于監(jiān)控計(jì)算機(jī)程序的進(jìn)程的傳統(tǒng)監(jiān)控技術(shù)基于快照的方式對進(jìn)程進(jìn)行監(jiān)控。也就是說,對于進(jìn)程的監(jiān)視是在某一時(shí)刻。對于用戶來說,清單、圖表或其它二維視圖中的進(jìn)程信息已經(jīng)有了一段延時(shí)。傳統(tǒng)快照技術(shù)存在的問題是無法對進(jìn)程的性能進(jìn)行精確的監(jiān)控,因?yàn)檫M(jìn)行快照的速度總是比進(jìn)程性能的變化速度要慢的多。
由此可見,不管是關(guān)于進(jìn)程的信息的表示方面,還是監(jiān)控的頻率方面,都顯示出傳統(tǒng)監(jiān)控技術(shù)的不足之處。因此,需要一種近于實(shí)時(shí)的進(jìn)程監(jiān)控技術(shù),其中關(guān)于進(jìn)程的信息的表達(dá)方式能使用戶快速、容易地理解所表達(dá)的內(nèi)容。
簡單來說,本發(fā)明為計(jì)算機(jī)系統(tǒng)中計(jì)算機(jī)進(jìn)程的直觀監(jiān)控產(chǎn)生一幅三維圖像。
具體來說,本發(fā)明涉及一種改進(jìn)的技術(shù),該技術(shù)使用三維圖像來監(jiān)控計(jì)算機(jī)進(jìn)程及其屬性。這種三維圖像是通過顯示與計(jì)算機(jī)進(jìn)程及其屬性相關(guān)的圖形對象來形成的。圖像中各種圖形對象之間的物理關(guān)系較好地描述了各進(jìn)程及其屬性之間的實(shí)際關(guān)系。在圖像中,運(yùn)行或激活進(jìn)程的計(jì)算機(jī)也可以由圖形對象來表示。當(dāng)所監(jiān)控的計(jì)算機(jī)進(jìn)程的屬性發(fā)生變化時(shí),迅速調(diào)整圖形對象的特征并更新三維圖像,以反映這一變化。通過改變圖形對象的特征,可以使用戶直觀地注意到三維圖像中圖形對象所發(fā)生的變化,而這種變化指示所監(jiān)控的進(jìn)程的屬性所發(fā)生的變化。
本發(fā)明可以通過諸如一個(gè)系統(tǒng)、一種方法或一種計(jì)算機(jī)可讀媒體等多種方式來實(shí)現(xiàn)。
作為一種監(jiān)控各個(gè)計(jì)算機(jī)進(jìn)程性能的系統(tǒng)(其中的進(jìn)程與某個(gè)計(jì)算機(jī)網(wǎng)絡(luò)相關(guān),該網(wǎng)絡(luò)至少有一個(gè)第一計(jì)算機(jī)和一個(gè)第二計(jì)算機(jī),該第一和第二計(jì)算機(jī)都可能有許多并行運(yùn)行的計(jì)算機(jī)進(jìn)程),本發(fā)明的一個(gè)實(shí)施例包括一個(gè)第一監(jiān)控進(jìn)程,位于有第一進(jìn)程集的第一計(jì)算機(jī)上,用于監(jiān)控第一進(jìn)程集的屬性;一個(gè)第二監(jiān)控進(jìn)程,位于有第二進(jìn)程集的第二計(jì)算機(jī)上,用于監(jiān)控第二進(jìn)程集的屬性;以及一個(gè)可視化進(jìn)程,該進(jìn)程能與第一和第二監(jiān)控進(jìn)程進(jìn)行通訊,用于生成包括圖形對象的三維圖像,其中的圖形對象表示第一和第二進(jìn)程集以及第一和第二進(jìn)程集的屬性。當(dāng)所監(jiān)控的屬性發(fā)生變化時(shí),圖像中相應(yīng)的一個(gè)或多個(gè)圖形對象的特征最好至少有一個(gè)隨著變化。三維圖像也最好實(shí)時(shí)更新,以反映第一和第二進(jìn)程集中各屬性的變化。進(jìn)一步地,由可視化進(jìn)程所生成的三維圖像最好至少對一定數(shù)量的所監(jiān)控的進(jìn)程包括一個(gè)視覺上可區(qū)分的圖形對象。監(jiān)控進(jìn)程通常使用一個(gè)或多個(gè)執(zhí)行線程等來實(shí)現(xiàn)監(jiān)控。
作為計(jì)算機(jī)實(shí)現(xiàn)的、用于將計(jì)算機(jī)系統(tǒng)的進(jìn)程性能可視化的一種方法,本發(fā)明的一個(gè)實(shí)施例包括提供計(jì)算機(jī)系統(tǒng)的一個(gè)三維圖形模型,其中有要監(jiān)控的計(jì)算機(jī)系統(tǒng)的每個(gè)進(jìn)程的圖形對象;在顯示屏幕上顯示三維圖形對象;監(jiān)控所監(jiān)控的進(jìn)程的屬性;以及根據(jù)所監(jiān)控屬性變更圖形對象的特征,在顯示屏幕上更新三維圖形對象。此外,圖形模型最好還包含一個(gè)用于直觀地表示一個(gè)進(jìn)程阻塞情況的圖形對象。
作為計(jì)算機(jī)實(shí)現(xiàn)的、用于監(jiān)控計(jì)算機(jī)系統(tǒng)中計(jì)算機(jī)進(jìn)程的一種方法,本發(fā)明的一個(gè)實(shí)施例包括為所監(jiān)控的計(jì)算機(jī)進(jìn)程提供圖形對象;獲取對應(yīng)于所監(jiān)控的計(jì)算機(jī)進(jìn)程屬性的數(shù)據(jù);根據(jù)所獲取的數(shù)據(jù)更新圖形對象;以及將更新的圖形對象直觀地顯示成所監(jiān)控的計(jì)算機(jī)進(jìn)程及其屬性的三維圖像。作為可選項(xiàng),該方法還可以允許用戶通過輸入設(shè)備與三維圖像進(jìn)行交互,選擇所監(jiān)控的一個(gè)第一計(jì)算機(jī)進(jìn)程,然后將其從第一計(jì)算機(jī)移至第二計(jì)算機(jī),其中第一和第二計(jì)算機(jī)都在上述計(jì)算機(jī)系統(tǒng)中。
作為計(jì)算機(jī)程序產(chǎn)品,本發(fā)明的一個(gè)實(shí)施例包含一種計(jì)算機(jī)可用的媒體,上有計(jì)算機(jī)可讀的代碼,用于在一計(jì)算機(jī)系統(tǒng)中監(jiān)控計(jì)算機(jī)進(jìn)程。上述計(jì)算機(jī)可讀的代碼包括第一計(jì)算機(jī)可讀的程序代碼設(shè)備,該設(shè)備經(jīng)配置使一臺(tái)計(jì)算機(jī)為所監(jiān)控的計(jì)算機(jī)進(jìn)程及其屬性有效地提供圖形對象;第二計(jì)算機(jī)可讀的程序代碼設(shè)備,該設(shè)備經(jīng)配置使一臺(tái)計(jì)算機(jī)有效地獲取對應(yīng)于所監(jiān)控的計(jì)算機(jī)進(jìn)程屬性的數(shù)據(jù);第三計(jì)算機(jī)可讀的程序代碼設(shè)備,該設(shè)備經(jīng)配置使一臺(tái)計(jì)算機(jī)根據(jù)所獲取的數(shù)據(jù)有效地更新圖形對象;以及第四計(jì)算機(jī)可讀的程序代碼設(shè)備,該設(shè)備經(jīng)配置使一臺(tái)計(jì)算機(jī)將經(jīng)過更新的圖形對象有效、直觀地顯示成所監(jiān)控的計(jì)算機(jī)進(jìn)程及其屬性的三維圖像。
由本發(fā)明所生成的三維圖像不僅便于顯示有關(guān)計(jì)算機(jī)進(jìn)程的較之以前更多的信息,而且以一種極容易理解和極逼真的方式來顯示這些信息。本發(fā)明具有計(jì)算機(jī)進(jìn)程及其屬性的直觀表示,這使得對于計(jì)算機(jī)系統(tǒng)中計(jì)算機(jī)進(jìn)程的監(jiān)控變得更加容易了。此外,負(fù)載平衡也可以由用戶(例如系統(tǒng)管理員)很直觀地來完成。
下面的詳細(xì)描述將結(jié)合附圖和關(guān)于本發(fā)明原理的例示,由此將可看到本發(fā)明的其它方面和優(yōu)點(diǎn)。
根據(jù)下面結(jié)合附圖的詳細(xì)描述可以更容易地理解本發(fā)明。附圖中的引用數(shù)字是依據(jù)結(jié)構(gòu)單元來指定的。
圖1是本發(fā)明所使用的一種典型的網(wǎng)絡(luò)分布的結(jié)構(gòu)圖;圖2是適合于本發(fā)明使用的一臺(tái)典型計(jì)算機(jī)的結(jié)構(gòu)圖;圖3是依據(jù)本發(fā)明實(shí)施例的一個(gè)用于按三維方式可視化各個(gè)進(jìn)程屬性的進(jìn)程監(jiān)控系統(tǒng)的結(jié)構(gòu)圖;圖4是實(shí)現(xiàn)圖3中進(jìn)程監(jiān)控系統(tǒng)的進(jìn)程的示意圖;圖5是依據(jù)本發(fā)明實(shí)施例的一個(gè)可視化進(jìn)程和相關(guān)用戶輸入及圖形對象的結(jié)構(gòu)圖;圖6是依據(jù)本發(fā)明實(shí)施例的一個(gè)統(tǒng)計(jì)量收集線程的流程圖7是依據(jù)本發(fā)明實(shí)施例的一個(gè)繪制線程的流程圖;圖8是一個(gè)視圖,例示由本發(fā)明的實(shí)施例所生成的三維圖像。
下面將引用附圖講述本發(fā)明的實(shí)施例。不過,該領(lǐng)域的熟練技術(shù)人員將會(huì)很快地體會(huì)到這里參照附圖給出的詳細(xì)描述只是用于解釋性目的的,本發(fā)明的范圍遠(yuǎn)遠(yuǎn)超出這些實(shí)施例。
本發(fā)明涉及監(jiān)控計(jì)算機(jī)進(jìn)程性能的一種改進(jìn)技術(shù)。這種改進(jìn)的技術(shù)使用三維圖像來表示計(jì)算機(jī)進(jìn)程及其屬性。具體來說,就是為計(jì)算機(jī)進(jìn)程及其屬性建立圖形對象。能夠監(jiān)控和以三維方式直觀地顯示給用戶的屬性包括進(jìn)程大小、消息流量、機(jī)器負(fù)載、進(jìn)程中的對象個(gè)數(shù)、駐留進(jìn)程大小、CPU使用情況和阻塞情況等。三維圖像是通過在顯示屏幕上顯示圖形對象來形成的。圖像中各個(gè)圖形對象之間的物理關(guān)系最好能表達(dá)各進(jìn)程及其屬性之間的實(shí)際關(guān)系。運(yùn)行或激活進(jìn)程的計(jì)算機(jī)也可以在圖像中被表示成一個(gè)圖形對象。
此后,當(dāng)計(jì)算機(jī)進(jìn)程的屬性發(fā)生變化時(shí),迅速調(diào)整圖形對象的特征并更新三維圖像以反映所監(jiān)控的計(jì)算機(jī)進(jìn)程的屬性的變化。通過變更圖形對象的特征,可使用戶直觀地注意到三維圖像中圖形對象所發(fā)生的變化,這些變化指示所監(jiān)控的進(jìn)程的屬性所發(fā)生的變化。圖形對象的可以變更的特征包括形狀、尺寸、分布、光線、紋理、表面屬性、聲音和行為(動(dòng)畫)。使用這種三維圖像時(shí),還按極易理解的方式來顯示關(guān)于計(jì)算機(jī)進(jìn)程的更多的信息(如屬性)。
下面首先定義幾個(gè)術(shù)語,接著討論適合于本發(fā)明的典型計(jì)算機(jī)系統(tǒng),然后詳細(xì)討論本發(fā)明的實(shí)施例。
這里所使用的術(shù)語“對象”是指封裝的代碼和數(shù)據(jù)包,可通過與該對象相關(guān)的預(yù)先定義的接口對其進(jìn)行操縱。因此,對于該領(lǐng)域的熟練技術(shù)人員來說,這里的對象包含了用于定義通常的程序設(shè)計(jì)對象的基本性質(zhì)。但是,“分布式對象”一般不同于通常的程序設(shè)計(jì)對象,它包括兩個(gè)重要的特性。第一,分布式對象是多語言的。例如,分布式對象的接口可以使用一種接口定義語言來定義,該語言可以映射成很多種不同的程序設(shè)計(jì)語言。這種接口定義語言中有一個(gè)是OMG的IDL。第二,分布式對象一般是位置無關(guān)的,即分布式對象一般可以位于網(wǎng)絡(luò)中的任何地方。這一點(diǎn)與通常的程序設(shè)計(jì)對象明顯不同,后者一般與客戶存在于同一地址空間。分布式對象可以是對象客戶,也可以是對象服務(wù)器,這依賴于它們是在向其它對象發(fā)出請求還是在應(yīng)答來自其它對象的請求。請求和應(yīng)答一般通過一個(gè)對象請求中介(ORB)來完成。ORB知道各個(gè)對象的位置和狀態(tài)。
“分布式對象系統(tǒng)”或“分布式對象操作環(huán)境”是指一個(gè)包含分布式對象的系統(tǒng),其中的對象通過ORB一類的中介進(jìn)行通訊。
這里所定義的“客戶”是指向一個(gè)第二對象發(fā)出請求的實(shí)體。在該模型中,第二對象是指一個(gè)“服務(wù)器對象”或“目標(biāo)對象”。因此,客戶是從服務(wù)器那里引發(fā)操作或?qū)崿F(xiàn)的。在一個(gè)分布式對象環(huán)境中,客戶一般不需要具備實(shí)現(xiàn)一方的程序設(shè)計(jì)語言知識(shí),而實(shí)現(xiàn)方通常也不必具備客戶一方的程序設(shè)計(jì)語言知識(shí),因?yàn)檫@里的對象要求具有多語言的特征。分布式對象環(huán)境中的客戶和服務(wù)器只需按接口定義語言進(jìn)行通訊。如上所述,客戶向服務(wù)器發(fā)出的請求以及服務(wù)器給客戶的應(yīng)答是由ORB來處理的。應(yīng)當(dāng)指出的是,客戶和服務(wù)器可以存在于同一個(gè)進(jìn)程中、在同一臺(tái)主機(jī)上或在兩臺(tái)不同的主機(jī)上。
“對象接口”是一種由對象所提供的操作、屬性和異常的規(guī)范。分布式對象的對象接口最好使用IDL來書寫。如上面所提到的,對象是通過它們的接口來執(zhí)行事務(wù)的。因此,使用接口可以使對象在事務(wù)中不必知道用于定義對象的方法和數(shù)據(jù)的程序設(shè)計(jì)語言。
本發(fā)明最好用在一個(gè)基于面向?qū)ο蟪绦蛟O(shè)計(jì)的分布式操作環(huán)境(DOE或NEO)中。因此,就要考慮分布式對象。一般來說,分布式對象是在計(jì)算機(jī)進(jìn)程下(由ORB和/或主計(jì)算機(jī))實(shí)現(xiàn)的。計(jì)算機(jī)進(jìn)程提供一熟知的和通用的框架,在該框架下計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)不同的執(zhí)行線程。如果作一類比的話,計(jì)算機(jī)進(jìn)程可以認(rèn)為是一個(gè)計(jì)算機(jī)系統(tǒng)中所劃分的一個(gè)域。
在實(shí)際中,一個(gè)進(jìn)程一般包括地址空間(即分配給該進(jìn)程的那部分內(nèi)存)、文件描述符集、進(jìn)程標(biāo)識(shí)號(hào)以及一個(gè)或多個(gè)執(zhí)行線程(通常稱為線程)。熟悉面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)的人都知道,執(zhí)行線程實(shí)質(zhì)上就是計(jì)算機(jī)進(jìn)程中執(zhí)行點(diǎn)的順序流。多線程系統(tǒng)允許在一個(gè)進(jìn)程中并行地運(yùn)行多個(gè)線程。關(guān)于線程、多線程進(jìn)程和并行原理的詳細(xì)描述請參閱RobertHagmann博士的“Concurrency Within DOE Object Implementations”一書,該書由SunSoft于1993年5月27日出版,版本號(hào)是0.91。此處對該書作為整體進(jìn)行引用。
通常(但不是必需的),依據(jù)本發(fā)明的分布式對象和計(jì)算機(jī)進(jìn)程與其它計(jì)算機(jī)進(jìn)程客戶駐留在由網(wǎng)絡(luò)連接在一起的一臺(tái)或多臺(tái)計(jì)算機(jī)上。其中的網(wǎng)絡(luò)可以有各種適當(dāng)?shù)男问?。圖1例示了一個(gè)典型的網(wǎng)絡(luò)結(jié)構(gòu)10。網(wǎng)絡(luò)結(jié)構(gòu)10包括一個(gè)第一計(jì)算機(jī)12,該計(jì)算機(jī)與傳輸線14相連。除了計(jì)算機(jī)18、20和22外,網(wǎng)絡(luò)結(jié)構(gòu)10還包括一臺(tái)服務(wù)器、路由器之類的東西16,以便數(shù)據(jù)和指令能夠在各個(gè)網(wǎng)絡(luò)計(jì)算機(jī)之間進(jìn)行傳輸。計(jì)算機(jī)網(wǎng)絡(luò)的設(shè)計(jì)、構(gòu)造和實(shí)現(xiàn)是該領(lǐng)域的技術(shù)人員所熟知的。
圖2例示適合作為圖1中計(jì)算機(jī)12、18、20和/或22來使用的一臺(tái)典型的計(jì)算機(jī)30。計(jì)算機(jī)30包含一個(gè)中央處理單元(CPU)32。中央處理單元32與隨機(jī)存取存儲(chǔ)器(RAM)34之間存在著雙向連接,而與只讀存儲(chǔ)器(ROM)36之間存在著單向連接。一般來說,RAM34用作“便箋”式存儲(chǔ)器,為CPU32中當(dāng)前正在操作的進(jìn)程存放程序指令和數(shù)據(jù)以及分布式對象和與其相關(guān)的代碼和狀態(tài)。ROM36一般存有計(jì)算機(jī)為完成其功能所使用的基本操作指令、數(shù)據(jù)和對象。另外,海量存儲(chǔ)設(shè)備38(如硬盤、CD ROM、光磁(軟)驅(qū)、磁帶機(jī)等)與CPU32之間存在著雙向連接。海量存儲(chǔ)器38一般存有CPU暫時(shí)不用的其它程序指令、數(shù)據(jù)和對象,盡管其地址空間也可以由CPU32訪問到(如作為虛擬內(nèi)存等)。計(jì)算機(jī)32還可有選擇地含有輸入/輸出源40。輸入/輸出源40一般包括鍵盤、定位設(shè)備(如鼠標(biāo)或光筆)一類的輸入媒介和/或網(wǎng)絡(luò)聯(lián)接。其它的海量存儲(chǔ)設(shè)備(未畫出)也可以通過網(wǎng)絡(luò)與CPU32相連。對于該領(lǐng)域的熟練技術(shù)人員來說,上面所描述的軟、硬部件及網(wǎng)絡(luò)設(shè)備都是一些標(biāo)準(zhǔn)的設(shè)計(jì)和構(gòu)造,是他們所熟知的。
圖3是進(jìn)程監(jiān)控系統(tǒng)100的結(jié)構(gòu)圖。該系統(tǒng)根據(jù)本發(fā)明的實(shí)施例用于按三維形式可視化各個(gè)進(jìn)程的屬性。進(jìn)程監(jiān)控系統(tǒng)100包括計(jì)算機(jī)A102、計(jì)算機(jī)B104和計(jì)算機(jī)C106。計(jì)算機(jī)102、104和106最好是UNIX機(jī)器。例如,計(jì)算機(jī)102、104和106可以是Sun Microsystems公司所生產(chǎn)的工作站計(jì)算機(jī)。計(jì)算機(jī)102、104和106通過傳輸介質(zhì)108互聯(lián),形成一計(jì)算機(jī)網(wǎng)絡(luò)。該計(jì)算機(jī)網(wǎng)絡(luò)可以是一有線網(wǎng)(如局域網(wǎng)),也可以是一無線網(wǎng)(如光或無線電的)。
計(jì)算機(jī)A102包括進(jìn)程A110、進(jìn)程B112和進(jìn)程E114。進(jìn)程110、112和114是計(jì)算機(jī)A102上活動(dòng)的計(jì)算機(jī)進(jìn)程。這種進(jìn)程是該領(lǐng)域中所熟知的,不僅包括與應(yīng)用程序相關(guān)的計(jì)算機(jī)進(jìn)程,還包括與操作系統(tǒng)相關(guān)的計(jì)算機(jī)進(jìn)程。進(jìn)程110、112和114都與統(tǒng)計(jì)服務(wù)器進(jìn)程116相連。統(tǒng)計(jì)服務(wù)器進(jìn)程116用于收集計(jì)算機(jī)A102上活動(dòng)的進(jìn)程110、112和114的統(tǒng)計(jì)信息。這些統(tǒng)計(jì)信息是關(guān)于進(jìn)程110、112和114的屬性的。統(tǒng)計(jì)服務(wù)器進(jìn)程116最好還與一管理進(jìn)程117相連。管理進(jìn)程117管理計(jì)算機(jī)102上的進(jìn)程。例如,管理進(jìn)程117是DOE系統(tǒng)中所使用的一個(gè)計(jì)算機(jī)進(jìn)程,用于跟蹤ORB所知道的關(guān)于計(jì)算機(jī)A102的所有服務(wù)器進(jìn)程。管理進(jìn)程117還便于用戶啟動(dòng)或關(guān)閉進(jìn)程、設(shè)置跟蹤標(biāo)志以及指定調(diào)試輸出。
計(jì)算機(jī)B104包括進(jìn)程C118和進(jìn)程D120。進(jìn)程118和進(jìn)程120是計(jì)算機(jī)B104上活動(dòng)的計(jì)算機(jī)進(jìn)程。進(jìn)程118和進(jìn)程120都與統(tǒng)計(jì)服務(wù)器進(jìn)程122相連。統(tǒng)計(jì)服務(wù)器進(jìn)程122又與管理進(jìn)程123相連。統(tǒng)計(jì)服務(wù)器進(jìn)程122與統(tǒng)計(jì)服務(wù)器進(jìn)程116的操作方式相同。管理進(jìn)程123與管理進(jìn)程117的操作方式相同。
第三計(jì)算機(jī)C106包括一個(gè)全局統(tǒng)計(jì)服務(wù)器進(jìn)程124和一個(gè)可視化進(jìn)程126??梢暬M(jìn)程126和全局統(tǒng)計(jì)服務(wù)器進(jìn)程124相互配合執(zhí)行與本發(fā)明相關(guān)的操作。全局統(tǒng)計(jì)服務(wù)器進(jìn)程124是一個(gè)計(jì)算機(jī)進(jìn)程。它通過請求統(tǒng)計(jì)服務(wù)器進(jìn)程116和122來收集統(tǒng)計(jì)信息。作為響應(yīng),統(tǒng)計(jì)服務(wù)器進(jìn)程116和122分別獲取與駐留在計(jì)算機(jī)102和104上的進(jìn)程的屬性相關(guān)的統(tǒng)計(jì)信息。從統(tǒng)計(jì)服務(wù)器進(jìn)程116和122獲取的統(tǒng)計(jì)信息一般稱作屬性數(shù)據(jù)。
可視化進(jìn)程126實(shí)際上是一個(gè)客戶進(jìn)程。它接收計(jì)算機(jī)系統(tǒng)中各個(gè)受監(jiān)控進(jìn)程的屬性數(shù)據(jù),并促成顯示出一幅三維圖像來。全局統(tǒng)計(jì)服務(wù)器進(jìn)程124的操作將在下面結(jié)合圖2作更詳細(xì)的說明,而可視化進(jìn)程126的操作將在下面結(jié)合圖5-8作更詳細(xì)的說明。
圖4是依據(jù)本發(fā)明實(shí)施例的進(jìn)程監(jiān)控系統(tǒng)100中所使用的各個(gè)計(jì)算機(jī)進(jìn)程之間相互配合的示意圖。一般來說,可視化進(jìn)程126是一個(gè)客戶進(jìn)程,它向全局統(tǒng)計(jì)服務(wù)器進(jìn)程124發(fā)出數(shù)據(jù)請求。該請求導(dǎo)致全局統(tǒng)計(jì)服務(wù)器進(jìn)程124要求從計(jì)算機(jī)102和104上活動(dòng)的進(jìn)程那里獲得屬性數(shù)據(jù)。具體來說,全局統(tǒng)計(jì)服務(wù)器進(jìn)程124為每臺(tái)計(jì)算機(jī)102和104產(chǎn)生一個(gè)執(zhí)行線程。第一個(gè)執(zhí)行線程向統(tǒng)計(jì)服務(wù)器進(jìn)程116發(fā)出請求并等待回答。而統(tǒng)計(jì)服務(wù)器進(jìn)程116從管理進(jìn)程117那里獲取可用的屬性數(shù)據(jù)。第二個(gè)執(zhí)行線程向統(tǒng)計(jì)服務(wù)器進(jìn)程122發(fā)出請求并等待回答。統(tǒng)計(jì)服務(wù)器進(jìn)程122從管理進(jìn)程123那里獲取可用的屬性數(shù)據(jù)。
全局統(tǒng)計(jì)服務(wù)器進(jìn)程124最好是一個(gè)ORB統(tǒng)計(jì)服務(wù)器。這種服務(wù)器屬于DOE服務(wù)器進(jìn)程,可以駐留在任何機(jī)器和計(jì)算機(jī)系統(tǒng)(即工作組)上。ORB統(tǒng)計(jì)服務(wù)器使用標(biāo)準(zhǔn)的DOE調(diào)用來查詢統(tǒng)計(jì)進(jìn)程服務(wù)器,獲取與進(jìn)程性能相關(guān)的統(tǒng)計(jì)量(即屬性數(shù)據(jù))。因此全局統(tǒng)計(jì)服務(wù)器進(jìn)程124最好是一個(gè)DOE服務(wù)器,DOE結(jié)構(gòu)提供了一個(gè)用于在計(jì)算機(jī)系統(tǒng)(即工作組)中不同計(jì)算機(jī)之間進(jìn)行通訊的框架結(jié)構(gòu)。
管理進(jìn)程117和123中的信息包括在各臺(tái)計(jì)算機(jī)上活動(dòng)的進(jìn)程個(gè)數(shù)以及各個(gè)進(jìn)程的標(biāo)識(shí)符和名字。管理進(jìn)程117和123還跟蹤活動(dòng)進(jìn)程的某些屬性。例如,當(dāng)管理進(jìn)程117和123由DOE系統(tǒng)提供時(shí),它們定期地跟蹤進(jìn)程中諸如進(jìn)程標(biāo)識(shí)符和活動(dòng)對象個(gè)數(shù)的屬性。此后,使用從管理進(jìn)程117和123處獲取的進(jìn)程標(biāo)識(shí)符,其它的屬性可以從/proc文件系統(tǒng)中獲得。/proc文件系統(tǒng)是Sun Microsystems公司所生產(chǎn)的Solaris操作系統(tǒng)中的一部分。從/proc文件系統(tǒng)中可以找到的關(guān)于進(jìn)程(由進(jìn)程標(biāo)識(shí)符指定)的其它屬性包括駐留大小、總體大小、發(fā)出和接收到的消息條數(shù)、CPU時(shí)間總數(shù)、睡眠時(shí)間總數(shù)等。
除了來自管理進(jìn)程117和123的可用的屬性數(shù)據(jù)外,統(tǒng)計(jì)服務(wù)器進(jìn)程116還可能直接從進(jìn)程110、112和114處獲取屬性數(shù)據(jù),統(tǒng)計(jì)服務(wù)器進(jìn)程122也可能直接從進(jìn)程118和120處獲取屬性數(shù)據(jù)。雖然從執(zhí)行效率的角度來看對進(jìn)程的過量的直接請求并不好,但是直接請求能夠用于從進(jìn)程處獲取間接請求(如通過管理進(jìn)程)所無法獲取的屬性數(shù)據(jù)。
圖5是依據(jù)本發(fā)明實(shí)施例的可視化進(jìn)程126的結(jié)構(gòu)圖,圖中還有相關(guān)的用戶輸入和圖形輸出??梢暬M(jìn)程126包括兩個(gè)主要的執(zhí)行線程。第一個(gè)線程是統(tǒng)計(jì)量收集線程302。它與全局統(tǒng)計(jì)進(jìn)程124相互配合,為所監(jiān)控的進(jìn)程獲取必要的屬性數(shù)據(jù)。第二個(gè)線程是繪制線程304。它接收用戶的輸入306和來自統(tǒng)計(jì)量收集線程302的屬性數(shù)據(jù)。繪制線程304使圖形對象308在計(jì)算機(jī)系統(tǒng)(最好是在可視化進(jìn)程126所在的計(jì)算機(jī)C106上)的顯示屏幕上畫出來,以形成計(jì)算機(jī)系統(tǒng)中活動(dòng)進(jìn)程及其屬性的三維圖像。繪制線程304還使形成三維視圖的圖形對象308的特征發(fā)生變化、變更、改變或者更新,以便所監(jiān)控的進(jìn)程的屬性能夠以視覺上可區(qū)分的方式顯示出來。圖形對象308中可發(fā)生變化、變更、改變或者更新的特征包括高、寬、顏色、透明度、形狀、轉(zhuǎn)角、紋理、運(yùn)動(dòng)和聲音等。
圖6是依據(jù)本發(fā)明實(shí)施例的可視化進(jìn)程126中統(tǒng)計(jì)量收集線程302的流程圖。統(tǒng)計(jì)量收集線程302開始于判定框400,在這里判定標(biāo)志render_ready是否已被置位。標(biāo)志render_ready被置位之前,統(tǒng)計(jì)量收集線程302只是簡單地處于等待狀態(tài),直至標(biāo)志render_ready被置位為止。一旦標(biāo)志render_ready被置位,統(tǒng)計(jì)量收集線程302便繼續(xù)往下執(zhí)行。其后,標(biāo)志render_ready被清除402,并為每個(gè)進(jìn)程請求屬性數(shù)據(jù)404。此時(shí),可視化進(jìn)程126正使用全局統(tǒng)計(jì)服務(wù)器進(jìn)程124為所監(jiān)控的進(jìn)程請求屬性數(shù)據(jù)。全局統(tǒng)計(jì)服務(wù)器進(jìn)程124將請求分別輸出給位于計(jì)算機(jī)102和104上的統(tǒng)計(jì)服務(wù)器進(jìn)程116和122。全局統(tǒng)計(jì)服務(wù)器進(jìn)程124帶著來自計(jì)算機(jī)系統(tǒng)中各臺(tái)計(jì)算機(jī)的可用的屬性數(shù)據(jù)返回后,統(tǒng)計(jì)量收集線程302便開始判斷406自統(tǒng)計(jì)量收集線程302上一次被調(diào)用后屬性數(shù)據(jù)是否發(fā)生及發(fā)生了多少變化。當(dāng)判定406屬性數(shù)據(jù)中有變化時(shí),便將由全局統(tǒng)計(jì)服務(wù)器進(jìn)程124所提供的當(dāng)前屬性數(shù)據(jù)與先前獲得的屬性數(shù)據(jù)進(jìn)行比較。此后,當(dāng)前的屬性數(shù)據(jù)被存放408起來,以備下一次當(dāng)做先前獲得的屬性數(shù)據(jù)來使用。最后,設(shè)置410標(biāo)志data_ready,以通知繪制線程304屬性數(shù)據(jù)發(fā)生了變化,現(xiàn)在可以根據(jù)這些變化來更新三維圖像。在410框之后,便完成和結(jié)束了統(tǒng)計(jì)量收集線程302。
圖7是依據(jù)本發(fā)明實(shí)施例的可視化進(jìn)程126中繪制線程304的流程圖。繪制線程304從設(shè)置500標(biāo)志render_ready開始。通過設(shè)置標(biāo)志render_ready,繪制線程304通知統(tǒng)計(jì)量收集線程302它已可以為所監(jiān)控的進(jìn)程獲取屬性數(shù)據(jù)了。標(biāo)志render_ready和標(biāo)志data_ready是信號(hào)裝置,用于控制統(tǒng)計(jì)量收集線程302和繪制線程304之間的并行操作。
在500框之后是判定框502,在此判斷是否有用戶輸入。用戶輸入包括鼠標(biāo)事件和鍵盤事件等。如果接收到了用戶輸入,則根據(jù)該用戶輸入來更新504圖形對象308。例如,用戶可以縮小、放大、左移、右移、上移和下移三維圖像。用戶的這種動(dòng)作會(huì)導(dǎo)致三維圖像的視圖、方向或大小的變化。另外,對三維圖像用戶還可以有其它操作,如出于負(fù)載平衡的原因選擇一個(gè)進(jìn)程并將其從一臺(tái)計(jì)算機(jī)移至另一臺(tái)計(jì)算機(jī)。關(guān)于負(fù)載平衡下面還將詳細(xì)講述。
在504框之后,或者當(dāng)沒有接收到用戶輸入時(shí)在判定框502之后,是判定框506,在此判斷標(biāo)志data_ready是否已被置位?;叵胍幌拢瑯?biāo)志data_ready是在統(tǒng)計(jì)量收集線程302為各個(gè)進(jìn)程獲取了屬性數(shù)據(jù)并判斷哪里發(fā)生了變化之后被置位的。如果標(biāo)志data_ready已被置位,判定框506使得圖形對象308根據(jù)屬性數(shù)據(jù)中的變化進(jìn)行更新508。這里,繪制線程304獲取屬性數(shù)據(jù)中的變化信息并將其提供給圖形對象308,以便能夠更新三維圖像。圖形對象308可以,比方說,在現(xiàn)有的圖形庫里找到。一個(gè)包含表示三維形體的對象及其繪制支持的典型的圖形庫是英國CriterionSoftware公司的RenderWare。附錄A有使用RenderWare的圖形對象模型的一個(gè)例子。然后,清除510標(biāo)志data_ready。在508框之后,或者當(dāng)標(biāo)志data_ready沒有被置位時(shí)在判定框506之后,繪制線程304返回至500框,并重復(fù)500及其后續(xù)各框。
圖8示意一幅與一個(gè)被監(jiān)控的計(jì)算機(jī)系統(tǒng)相關(guān)的計(jì)算機(jī)、進(jìn)程和進(jìn)程屬性的三維圖像。三維圖像顯示在顯示屏幕600上,或者更準(zhǔn)確一些來說,是在顯示屏幕600上的一個(gè)屏幕601上(或一個(gè)窗口中)。在圖8所示的典型的三維圖像中,計(jì)算機(jī)602被顯示成一個(gè)三維的矩形盒子602。放在矩形盒子602的上表面上的是盒子604、606和608,它們表示計(jì)算機(jī)上的活動(dòng)進(jìn)程。在一個(gè)DOE系統(tǒng)中,這些活動(dòng)進(jìn)程最好是由ORB注冊了的進(jìn)程。這種進(jìn)程稱為已注冊的服務(wù)器進(jìn)程。當(dāng)ORB關(guān)閉已注冊服務(wù)器進(jìn)程中的某個(gè)進(jìn)程時(shí),與其相應(yīng)的矩形盒子也將被刪除(即不再顯示它)。類似地,如果有另一進(jìn)程注冊,將會(huì)在矩形盒子602的上表面上顯示出另外一個(gè)矩形盒子。因此,在該例中計(jì)算機(jī)和進(jìn)程都由三維盒子這種圖形對象來表示。不過,應(yīng)當(dāng)指出的是,在此也可使用其它類型的圖形對象。
每個(gè)盒子604、606和608都有一個(gè)與其相關(guān)的圖符610。圖符610包含表示與其相關(guān)的進(jìn)程的一個(gè)符號(hào)或一張圖畫等。例如,盒子604上有一圖符610,圖符610中有一字符“A”,而該字符是與由盒子604所表示的進(jìn)程相關(guān)的。
進(jìn)程的屬性也可以表示成圖形對象。在上述典型圖像中示意了以下屬性進(jìn)程大小、活動(dòng)對象個(gè)數(shù)、駐留進(jìn)程大小、運(yùn)行/閑置和消息傳遞速率。
進(jìn)程大小是監(jiān)控進(jìn)程性能時(shí)一個(gè)有用的進(jìn)程屬性。例如,對于由矩形盒子604所表示的進(jìn)程來說,可以通過改變矩形盒子604的厚度來直觀地顯示該進(jìn)程的大小。對于較大的進(jìn)程,可以增加矩形盒子604的高度。另一方面,對于小進(jìn)程,可以減小矩形盒子604的高度。
進(jìn)程中活動(dòng)對象的個(gè)數(shù)是監(jiān)控時(shí)另外一個(gè)有用的進(jìn)程屬性。例如,圖8中,位于矩形盒子604的上表面上的直立圓柱體612表示活動(dòng)對象的個(gè)數(shù)。直立圓柱體612的高度表示與矩形盒子604相關(guān)的進(jìn)程中活動(dòng)對象的個(gè)數(shù)。直立圓柱體612最好以不同于矩形盒子604的顏色來顯示。
平臺(tái)614可以作為裝飾特征放在直立圓柱體612的上面。另一方面,平臺(tái)614可以與另一屬性相關(guān),即與矩形盒子604相關(guān)的進(jìn)程的駐留進(jìn)程大小。在這種情況下,平臺(tái)614的厚度可以直觀地顯示出駐留進(jìn)程大小。
進(jìn)程當(dāng)前是否正在運(yùn)行或閑置是另外一個(gè)值得監(jiān)控的屬性。在圖8中,平臺(tái)614的上面有一錐體616,當(dāng)進(jìn)程正在運(yùn)行時(shí)它按照一種顏色來顯示,而當(dāng)進(jìn)程處于閑置狀態(tài)時(shí)它以另外一種顏色來顯示。
還有另外一種有用的屬性值得監(jiān)控,就是消息傳遞速率。在圖8中,從平臺(tái)614的上表面立起了一支標(biāo)柱618。標(biāo)柱618的高度表示消息傳遞速率。另外一種方法是,用一個(gè)立方體來替代標(biāo)柱618。該立方體可以根據(jù)消息傳遞速率來改變其旋轉(zhuǎn)速率和/或尺寸。該立方體也可以使用除了旋轉(zhuǎn)以外的其它方法來運(yùn)動(dòng)和變化。
阻塞與否是另外一個(gè)有用的屬性值得監(jiān)控。阻塞發(fā)生在進(jìn)程暫停、通常是等待某把鎖(如mutex鎖)時(shí)。因此,參考圖8,一個(gè)暫?;蜃枞倪M(jìn)程可以通過在直立圓柱體612前顯示一堵阻擋的墻來直觀地顯示。更進(jìn)一步地,受阻塞的程度可以通過該墻的透明程度來直觀地顯示。
附錄A有一個(gè)使用RenderWare的圖形對象模型的例子。例如,在附錄A中,“#Server”是指一個(gè)服務(wù)器進(jìn)程模型,“#Base”指表示該服務(wù)器進(jìn)程的矩形盒子602,“#Icon”指圖符610,“#Wall”指阻擋墻,“#Cylinder”指直立圓柱體612,“#Run Light”指錐體616,而“#TrafficIndicator”是指表示消息傳遞速率的立方體(代替了標(biāo)柱618)。
本發(fā)明監(jiān)控并以三維形式直觀地顯示進(jìn)程的屬性。通過將進(jìn)程的屬性可視化,可以使開發(fā)者和系統(tǒng)管理員發(fā)現(xiàn)各臺(tái)機(jī)器上的使用率和負(fù)載以及進(jìn)程在哪里過載或阻塞。
使用本發(fā)明,系統(tǒng)管理員可以依據(jù)三維圖像判定出兩臺(tái)不同計(jì)算機(jī)上的兩個(gè)進(jìn)程之間的消息通訊情況如果在同一臺(tái)計(jì)算機(jī)上執(zhí)行的話情況將會(huì)更好,因?yàn)閳D像直觀地顯示出在兩個(gè)進(jìn)程之間正進(jìn)行著大量的數(shù)據(jù)交換。在這種情況下,最有用的進(jìn)程屬性是該進(jìn)程與其它進(jìn)程之間的消息通訊情況。為向用戶直觀地顯示該通訊情況,系統(tǒng)可以在進(jìn)程之間建立起三維的管道。管道最好位于進(jìn)程的矩形盒子的下面,象一條自來水管道。如果進(jìn)程是服務(wù)器,則當(dāng)出于負(fù)載平衡的原因移動(dòng)該服務(wù)器時(shí),必需通知該服務(wù)器的客戶已經(jīng)發(fā)生了這一移動(dòng),以便它們能夠在新的計(jì)算機(jī)上與該服務(wù)器進(jìn)程進(jìn)行通訊。
系統(tǒng)管理員還可以決定將一個(gè)阻塞的進(jìn)程從一臺(tái)計(jì)算機(jī)上移到另一臺(tái)計(jì)算機(jī)上,在第二臺(tái)計(jì)算機(jī)上該進(jìn)程將不必再去競爭在第一臺(tái)計(jì)算機(jī)上使其受阻的同一資源(如mutex鎖)。
當(dāng)可視化進(jìn)程126請求屬性數(shù)據(jù)時(shí),通過用戶輸入,用戶可以影響到所獲屬性數(shù)據(jù)的廣度或深度。將注意力集中在某一特定的計(jì)算機(jī)或進(jìn)程或某些進(jìn)程的屬性上,而不去考慮其它的有一個(gè)好處,即可以提高獲取屬性數(shù)據(jù)的速率。獲取屬性數(shù)據(jù)所需時(shí)間越短,更新三維圖像的速度就越快。更新三維圖像的速度越快也就越接近真正的實(shí)時(shí)操作。例如,用戶可以使得可視化進(jìn)程126要求全局統(tǒng)計(jì)服務(wù)器進(jìn)程124獲取計(jì)算機(jī)系統(tǒng)中所有進(jìn)程的所有屬性數(shù)據(jù)。這時(shí),用戶是表示他或她希望獲取所有的屬性數(shù)據(jù),并且愿意等待直到獲得所要的屬性數(shù)據(jù)時(shí)為止。用戶也可以使得可視化進(jìn)程126要求全局統(tǒng)計(jì)服務(wù)器進(jìn)程124獲取它在某一固定的時(shí)間段內(nèi)所能獲取的所有數(shù)據(jù)。在這種情況下,用戶是想獲取所有的數(shù)據(jù),但是只愿意等待某一固定的時(shí)間段(例如用戶也許希望只等待0.5秒)。再有,用戶也可以使得可視化進(jìn)程126只要求全局統(tǒng)計(jì)服務(wù)器進(jìn)程124從某些計(jì)算機(jī)那里獲取屬性數(shù)據(jù)信息。這時(shí),用戶可以將監(jiān)控集中在他所感興趣的某些計(jì)算機(jī)上,而希望仔細(xì)分析這些計(jì)算機(jī)上活動(dòng)的進(jìn)程的性能。
通過使用三維圖像,可以顯示出計(jì)算機(jī)系統(tǒng)的一幅立體視圖。其中有很多計(jì)算機(jī)、進(jìn)程和進(jìn)程屬性,但它們在視覺上都是可以區(qū)分開的。通過使用三維形式,不僅圖像看起來更加逼真,還可以比通常的二維方法提供更多的空間來提供視覺信息。
通過使用三維圖像來監(jiān)控一臺(tái)計(jì)算機(jī)的進(jìn)程,可以向用戶顯示更多的與進(jìn)程相關(guān)的屬性。另外,對于這些屬性的顯示可以按照這樣一種方式來進(jìn)行其中用戶對性能的理解可以通過與進(jìn)程相關(guān)的模型中的圖形對象的圖形變化來實(shí)現(xiàn)。
三維圖像中所使用的圖形對象可以具有多種形式,不必局限于圖8中所示的例子。不過,最好能使圖形對象能以表示它們之間實(shí)際物理關(guān)系的方式彼此相關(guān)。例如,所有屬性的圖形對象都應(yīng)和與其相關(guān)的進(jìn)程的圖形對象相互關(guān)聯(lián)。性質(zhì)不同的圖形對象在使用時(shí)最好前后一致,以便在視覺上能夠很容易地區(qū)分出它們相應(yīng)地是計(jì)算機(jī)、進(jìn)程或?qū)傩?。此外,圖形對象中變更、變化或更新的特征可以變化大一些,并且一般依賴于該圖形對象的類型。
本發(fā)明的許多特征和優(yōu)點(diǎn)在本書面描述中是顯而易見的,后面所附的權(quán)利要求力圖涵蓋本發(fā)明的所有這些特征和優(yōu)點(diǎn)。另外,因?yàn)樵擃I(lǐng)域的熟練技術(shù)人員可以很容易地對此作出很多修改和變化,本發(fā)明并不嚴(yán)格受限于上述例示和描述中的結(jié)構(gòu)和操作。因此,所有適當(dāng)?shù)淖兓问胶偷刃问蕉紤?yīng)屬于本發(fā)明的范圍。
附錄A# Server VisualizationModelBeginLightSampling FacetGeometrySampling SolidTexture NULL# Base height=0.2ClumpBeginTag 1Color 0.11 0.15 0.36Surface 0.32 0.36 0.48Translate 0.0 0.1 0.0 # self to Y=0Block 2.0 0.2 2.0Translate 0.0 0.1 0.0 # stack child# Icon width,height=1.0 depth=0.12ClumpBeginTag 8Color 0.5 0.5 0.5Surface 0.32 0.36 0.48Translate-.95 0.01 0.88# base front left cornerTransformBeginTranslate 0.375 0.375 0.05 # self to X=Y(jié)=Z=0Block 0.75 0.75 0.1
TransformEndTranslate 0.00 0.00 0.11# move to the front of previousblockTransformBeginTranslate 0.375 0.375 0.0 # self to X=Y(jié)=0Vertex -0.375 -0.375 0.0 UV 0.0 1.0Vertex 0.375 -0.375 0.0 UV 1.0 1.0Vertex 0.375 0.375 0.0 UV 1.0 0.0Vertex -0.375 0.375 0.0 UV 0.0 0.0Surface 0.5 0.5 0.0TextureModes Foreshorten LitTexture itemQuadExt 1 2 3 4 Tag 1TransformEndClumpEnd # Icon# Wall height=2.0# Vary opacity between 0.0,0.5-values0.0,0.14,0.26,0.5ClumpBeginTag 7Color 0.58 0.14 0.15Surface 0.64 0.42 0.53Opacity 0.0Tanslate 0.0 1.0 0.0 # self to Y=0TransformBeginTranslate -0.70 0.0 0.0Block 0.1 2.0 1.3TransformEndTransformBegin
Translate 0.70 0.0 0.0Block 0.1 2.0 1.3TransformEndTransformBeginTranslate 0.0 0.0 0.70Block 1.50 2.0 0.1TransformEndTransformBeginTranslate 0.0 0.0-0.70Block 1.50 2.0 0.1TransformEndClumpEnd# Wall# Lower Cap height=0.1ClumpBeginTag 2Color 0.5 0.5 0.5Surface 0.32 0.36 0.48Translate 0.0 0.05 0.0 # self to Y=0Block 1.25 0.1 1.25Translate 0.0 0.05 0.0 # stack child# Cylinder height=2.0ClumpBeginTag 3Color 0.56 0.71 0.39Surface 0.70 0.17 1.0Cylinder 2.0 0.45 0.45 8Translate 0.0 2.0 0.0 # stack child# Upper Cap height=0.1ClumpBeginTag 4Color 0.5 0.5 0.5Surface 0.32 0.36 0.48Translate 0.0 0.05 0.0 # self to Y=0Block 1.25 0.1 1.25Translate 0.0 0.05 0.0 # stack child# Run LightClumpBeginTag 5Color 0.30 0.65 0.20Surface 0.64 0.42 1.0Translate 0.3 0.0 0.3# self to corner of upperCone 0.1 0.18ClumpEnd # Run Light# Traffic IndicatorClumpBeginTag 6Color 0.04 0.84 0.66Surface 0.17 0.4 1.0Scale 0.5 0.5 0.5Translate 0.0 0.35 0.0 # self to Y=0.2Rotate 1.0 0.0 0.0 45Rotate 0.0 0.0 1.0 45Block 0.3 0.3 0.3ClumpEnd # Traffic Indicator
ClumpEnd # Upper CapClumpEnd # CylinderClumpEnd # Lower CapClumpEnd # BaseModelEnd
權(quán)利要求
1.一種性能監(jiān)控系統(tǒng),用于與計(jì)算機(jī)網(wǎng)絡(luò)相關(guān)的各個(gè)計(jì)算機(jī)進(jìn)程,其中的計(jì)算機(jī)網(wǎng)絡(luò)至少應(yīng)有一臺(tái)第一計(jì)算機(jī)和一臺(tái)第二計(jì)算機(jī)并且每臺(tái)計(jì)算機(jī)都能同時(shí)運(yùn)行多個(gè)計(jì)算機(jī)進(jìn)程,上述系統(tǒng)包括一個(gè)第一監(jiān)控進(jìn)程,位于擁有第一進(jìn)程集的第一臺(tái)計(jì)算機(jī)上,用于監(jiān)控第一進(jìn)程集的屬性;一個(gè)第二監(jiān)控進(jìn)程,位于擁有第二進(jìn)程集的第二臺(tái)計(jì)算機(jī)上,用于監(jiān)控第二進(jìn)程集的屬性;以及一個(gè)可視化進(jìn)程,該進(jìn)程能夠與上述第一和第二監(jiān)控進(jìn)程進(jìn)行通訊,用于生成包含圖形對象的三維圖像,其中的圖形對象表示所監(jiān)控的第一和第二進(jìn)程集及其屬性。
2.如權(quán)利要求1所述的系統(tǒng),其中,對于圖像中的一個(gè)或多個(gè)圖形對象,當(dāng)所監(jiān)控的相應(yīng)屬性發(fā)生變化時(shí),該圖形對象至少應(yīng)有一個(gè)特征跟著變化。
3.如權(quán)利要求2所述的系統(tǒng),其中,發(fā)生變化的圖形對象屬性選自如下之一高、寬、顏色、透明度、形狀、角度、紋理、運(yùn)動(dòng)和聲音。
4.如權(quán)利要求2所述的系統(tǒng),其中,三維圖像實(shí)時(shí)更新以反映第一和第二進(jìn)程集中屬性的變化。
5.如權(quán)利要求2所述的系統(tǒng),其中,由上述可視化進(jìn)程生成的三維圖像對于一個(gè)或多個(gè)所監(jiān)控的屬性包括一個(gè)在視覺上可區(qū)分的圖形對象。
6.如權(quán)利要求2所述的系統(tǒng),其中,上述三維圖像中還包括表示第一和第二計(jì)算機(jī)的圖形對象,并且,由上述可視化進(jìn)程生成的三維圖像對于進(jìn)程和計(jì)算機(jī)分別包括在視覺上可區(qū)分的圖形形狀,以便觀察該圖像的用戶能夠區(qū)分出進(jìn)程和計(jì)算機(jī)來。
7.如權(quán)利要求2所述的系統(tǒng),其中,由上述可視化進(jìn)程生成的三維圖像對于一個(gè)或多個(gè)所監(jiān)控的屬性包括多種在視覺上可區(qū)分的圖形形狀。
8.如權(quán)利要求2所述的系統(tǒng),其中,由上述可視化進(jìn)程生成的三維圖像對于某一特定計(jì)算機(jī)上的一個(gè)或多個(gè)所監(jiān)控的屬性包括多種在視覺上可區(qū)分的顏色。
9.如權(quán)利要求2所述的系統(tǒng),其中,由上述可視化進(jìn)程生成的三維圖像中還使用動(dòng)畫來表示一個(gè)或多個(gè)屬性的特征。
10.如權(quán)利要求2所述的系統(tǒng),其中,由上述可視化進(jìn)程生成的三維圖像中還使用聲音來表示一個(gè)或多個(gè)進(jìn)程的狀態(tài)或者其中一個(gè)或多個(gè)屬性的特征。
11.如權(quán)利要求2所述的系統(tǒng),其中,上述三維圖像顯示在一個(gè)計(jì)算機(jī)系統(tǒng)的顯示屏幕上。
12.一個(gè)在計(jì)算機(jī)上實(shí)現(xiàn)的方法,用于可視化計(jì)算機(jī)系統(tǒng)中進(jìn)程的性能,上述方法包括(a)提供計(jì)算機(jī)系統(tǒng)的三維圖形模型,對計(jì)算機(jī)系統(tǒng)中的每個(gè)進(jìn)程都有一個(gè)圖形對象;(b)在顯示屏幕上顯示上述三維圖形模型;(c)監(jiān)控所監(jiān)視的進(jìn)程的屬性;以及(d)根據(jù)所監(jiān)控的屬性變更圖形對象的特征,更新顯示屏幕上的三維圖形模型。
13.如權(quán)利要求12所述的方法,其中,上述方法還包括(e)重復(fù)(c)和(d)。
14.如權(quán)利要求13所述的方法,其中,上述重復(fù)(e)的頻率應(yīng)使用戶在觀察顯示屏幕時(shí)有這樣一種印象,即相應(yīng)于所監(jiān)控的進(jìn)程性能的變化,對所顯示的三維模型的更新是近于實(shí)時(shí)的。
15.如權(quán)利要求12所述的方法,其中,上述更新(d)包括(d1)判斷所監(jiān)控的屬性是否發(fā)生了變化;(d2)當(dāng)在上述(d1)中判定所監(jiān)控的屬性發(fā)生了變化時(shí),根據(jù)所監(jiān)控的屬性變更圖形對象的特征;以及(d3)如果變更了(d2)上述圖形對象,則通過重新顯示至少是變更過的圖形對象,在顯示屏幕上更新顯示的三維圖形模型。
16.如權(quán)利要求15所述的方法,其中,變更的圖形對象的特征是下述性質(zhì)之一高、寬、顏色、透明度、形狀、角度、紋理、運(yùn)動(dòng)和聲音。
17.如權(quán)利要求16所述的方法,其中,變更的圖形對象的特征是下述兩個(gè)或多個(gè)性質(zhì)的組合高、寬、顏色、透明度、形狀、角度、紋理、運(yùn)動(dòng)和聲音。
18.如權(quán)利要求12所述的方法,其中,上述三維圖形模型直觀地顯示所監(jiān)控的進(jìn)程性能是近于實(shí)時(shí)的。
19.如權(quán)利要求12所述的方法,其中,上述圖形模型還包括用于直觀地表示進(jìn)程的暫停或阻塞情況的圖形對象。
20.一個(gè)計(jì)算機(jī)上實(shí)現(xiàn)的方法,用于監(jiān)控計(jì)算機(jī)系統(tǒng)中的計(jì)算機(jī)進(jìn)程,上述方法包括(a)為所監(jiān)控的計(jì)算機(jī)進(jìn)程及其屬性提供圖形對象;(b)獲取相應(yīng)于所監(jiān)控的計(jì)算機(jī)進(jìn)程屬性的數(shù)據(jù);(c)根據(jù)(b)中所獲取的數(shù)據(jù)更新圖形對象;以及(d)將更新的圖形對象直觀地顯示成所監(jiān)控的計(jì)算機(jī)進(jìn)程及其屬性的三維圖像。
21.如權(quán)利要求20所述的方法,其中,上述計(jì)算機(jī)系統(tǒng)包括很多計(jì)算機(jī),而至少有一臺(tái)計(jì)算機(jī)具有顯示屏幕和輸入設(shè)備,并且在該顯示屏幕上提供上述三維圖像。
22.如權(quán)利要求21所述的方法,其中,上述方法還包括(e)允許用戶通過輸入設(shè)備與三維圖像進(jìn)行交互,在所監(jiān)控的計(jì)算機(jī)進(jìn)程中選擇一個(gè)第一計(jì)算機(jī)進(jìn)程,然后將該第一計(jì)算機(jī)進(jìn)程從第一計(jì)算機(jī)移到第二計(jì)算機(jī)上,這里的第一和第二計(jì)算機(jī)都在上述計(jì)算機(jī)系統(tǒng)中。
23.如權(quán)利要求22所述的方法,其中,上述允許(e)包括(e1)在相應(yīng)的顯示屏幕上從顯示出的圖形對象中選擇上述第一計(jì)算機(jī)進(jìn)程;以及(e2)將所選取的圖形對象拖至與第二計(jì)算機(jī)相對應(yīng)的圖形對象。
24.如權(quán)利要求20所述的方法,其中,上述方法還包括(e)重復(fù)(b)至(d)。
25.如權(quán)利要求20所述的方法,其中,上述圖形對象中有一個(gè)或多個(gè)是三維圖形對象。
26.如權(quán)利要求20所述的方法,其中,上述更新(c)和上述顯示(d)共同操作,以便能夠以近于實(shí)時(shí)的速度直觀地監(jiān)控所監(jiān)視的計(jì)算機(jī)進(jìn)程及其屬性。
27.如權(quán)利要求20所述的方法,其中,上述更新(c)更新圖形對象的特征,上述特征選自如下性質(zhì)高、寬、顏色、透明度、形狀、角度、紋理、運(yùn)動(dòng)和聲音。
28.如權(quán)利要求20所述的方法,其中,上述提供(a)還提供一圖形對象用于直觀地表示計(jì)算機(jī)進(jìn)程的暫?;蜃枞闆r。
29.一種計(jì)算機(jī)程序產(chǎn)品,包括一種計(jì)算機(jī)可用的媒介,上有計(jì)算機(jī)可讀的代碼,用于在一個(gè)計(jì)算機(jī)系統(tǒng)中監(jiān)控計(jì)算機(jī)進(jìn)程。上述計(jì)算機(jī)可讀的代碼包括第一計(jì)算機(jī)可讀的程序代碼設(shè)備,該設(shè)備經(jīng)配置使一臺(tái)計(jì)算機(jī)為所監(jiān)控的計(jì)算機(jī)進(jìn)程及其屬性有效地提供圖形對象;第二計(jì)算機(jī)可讀的程序代碼設(shè)備,該設(shè)備經(jīng)配置使一臺(tái)計(jì)算機(jī)有效地獲取對應(yīng)于所監(jiān)控的計(jì)算機(jī)進(jìn)程屬性的數(shù)據(jù);第三計(jì)算機(jī)可讀的程序代碼設(shè)備,該設(shè)備經(jīng)配置使一臺(tái)計(jì)算機(jī)根據(jù)所獲取的數(shù)據(jù)有效地更新圖形對象;以及第四計(jì)算機(jī)可讀的程序代碼設(shè)備,該設(shè)備經(jīng)配置使一臺(tái)計(jì)算機(jī)將經(jīng)過更新的圖形對象有效、直觀地顯示成所監(jiān)控的計(jì)算機(jī)進(jìn)程及其屬性的三維圖像。
全文摘要
這是一種改進(jìn)的技術(shù),該技術(shù)使用三維圖像來監(jiān)控計(jì)算機(jī)進(jìn)程及其屬性。這種三維圖像是通過顯示與計(jì)算機(jī)進(jìn)程及其屬性相關(guān)的圖形對象來形成的。圖像中各種圖形對象之間的物理關(guān)系較好地描述了各進(jìn)程及其屬性之間的實(shí)際關(guān)系。在圖像中,運(yùn)行或激活進(jìn)程的計(jì)算機(jī)也可以由圖形對象來表示。當(dāng)所監(jiān)控的計(jì)算機(jī)進(jìn)程的屬性發(fā)生變化時(shí),迅速調(diào)整圖形對象的特征并更新三維圖像,以反映這一變化。通過改變圖形對象的特征,可以使用戶直觀地注意到三維圖像中圖形對象所發(fā)生的變化,而這種變化指示所監(jiān)控的進(jìn)程的屬性所發(fā)生的變化。
文檔編號(hào)G06F11/28GK1155695SQ96112409
公開日1997年7月30日 申請日期1996年9月24日 優(yōu)先權(quán)日1996年9月24日
發(fā)明者H·穆勒, G·B·努恩斯, 趙強(qiáng), N·辛哈爾 申請人:太陽微系統(tǒng)有限公司