專利名稱:用于運(yùn)行對(duì)象實(shí)例管理的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)。更具體地說,本發(fā)明涉及面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)中的對(duì)象分配,且再具體地說,是涉及用于根據(jù)該對(duì)象方法的性能對(duì)對(duì)象實(shí)例進(jìn)行動(dòng)態(tài)管理的方法和系統(tǒng)。
現(xiàn)行的計(jì)算機(jī)程序設(shè)計(jì)技術(shù)包括面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP)的使用。面向?qū)ο蟪绦蛟O(shè)計(jì)的中心,在于在本領(lǐng)域中被稱為“對(duì)象”的可再用、自包含、可調(diào)用程序代碼模塊。這種模塊方法,通過經(jīng)過證明和測(cè)試的對(duì)象的使用和再使用,而使軟件的開發(fā)更為有效和可靠。
將各個(gè)對(duì)象設(shè)計(jì)成通過“方法”來實(shí)現(xiàn)一組預(yù)定的操作。這些方法包括程序化的任務(wù),以在被調(diào)用時(shí)執(zhí)行對(duì)象。各個(gè)具體的方法被定義在與對(duì)象有聯(lián)系的“類”中。類起著樣板的作用,它描述了一組類似的對(duì)象的行為。由選定的類(或在其運(yùn)行時(shí)的實(shí)例中)來示例性說明對(duì)象,且對(duì)象包括類中定義的方法和屬性(或數(shù)據(jù))。
對(duì)象方法是可由面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)中的所有其他對(duì)象調(diào)用的共享資源。在一個(gè)對(duì)象上的負(fù)荷(以及在它示例性說明的執(zhí)行環(huán)境上的相應(yīng)負(fù)荷)因而將隨著對(duì)象調(diào)用的周期性和用在對(duì)象中的方法的復(fù)雜性而變化。要求仔細(xì)的系統(tǒng)規(guī)劃,以便在面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)的執(zhí)行環(huán)境中能夠得到任何具體對(duì)象的足夠的實(shí)例,以處理出現(xiàn)的負(fù)荷。傳統(tǒng)上,這種規(guī)劃是在系統(tǒng)規(guī)劃期間進(jìn)行的,且對(duì)象實(shí)例分配在系統(tǒng)操作期間是固定的。因此,系統(tǒng)配置、操作、或可獲得性上無法預(yù)期的改變,可以嚴(yán)重地影響對(duì)象的性能。
對(duì)系統(tǒng)性能的干擾目前可以用多種方式檢測(cè)到。例如,有很多方案可以用來監(jiān)測(cè)例如處理器和其間的網(wǎng)絡(luò)的性能。然而,作為單個(gè)的實(shí)體的對(duì)象的監(jiān)測(cè)還沒有得到完全的研究。另外,雖然在監(jiān)測(cè)系統(tǒng)性能方面已經(jīng)進(jìn)行了某些系統(tǒng)調(diào)節(jié)(例如改變隊(duì)列加權(quán)和進(jìn)行交替網(wǎng)絡(luò)路由),但在面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)中適當(dāng)利用各種性能信息來管理對(duì)象及其實(shí)例,還沒有得到開發(fā)。
本發(fā)明就是針對(duì)上述問題提出的解決方案。
在第一個(gè)方面,本發(fā)明在一個(gè)面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)上進(jìn)行操作,該系統(tǒng)包括多個(gè)執(zhí)行環(huán)境和一個(gè)對(duì)象,該對(duì)象具有在至少一個(gè)執(zhí)行環(huán)境中執(zhí)行的至少一個(gè)實(shí)例。本發(fā)明包括用于管理該對(duì)象的方法。具體地,對(duì)象的運(yùn)行性能得到監(jiān)測(cè)。根據(jù)這種監(jiān)測(cè),該方法包括在運(yùn)行時(shí)改變?nèi)舾蓚€(gè)實(shí)例和/或若干個(gè)執(zhí)行環(huán)境—至少一個(gè)實(shí)例在其中執(zhí)行。
作為一種增強(qiáng),對(duì)象的至少一個(gè)實(shí)例可以包括在單個(gè)的執(zhí)行環(huán)境中的單個(gè)實(shí)例執(zhí)行。另外,改變可以包括將單個(gè)的實(shí)例從單個(gè)的執(zhí)行環(huán)境移到另一執(zhí)行環(huán)境。單個(gè)的執(zhí)行環(huán)境和其他的執(zhí)行環(huán)境可以是異類的,且對(duì)象的狀態(tài)可以在移動(dòng)期間得到保留。
作為一種增強(qiáng),對(duì)象的至少一個(gè)實(shí)例可以包括在單個(gè)的執(zhí)行環(huán)境中執(zhí)行的單個(gè)的實(shí)例。另外,該改變可以包括將對(duì)象分成多個(gè)在多種執(zhí)行環(huán)境中執(zhí)行的實(shí)例。另外,如果對(duì)象的該至少一個(gè)實(shí)例包括在多個(gè)執(zhí)行環(huán)境中執(zhí)行的多個(gè)實(shí)例,則該改變可以包括將對(duì)象合并到在單個(gè)的執(zhí)行環(huán)境中執(zhí)行的單個(gè)實(shí)例中。
作為進(jìn)一步的增強(qiáng),該面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)可以包括一個(gè)對(duì)象管理器,且這種監(jiān)測(cè)可以包括與該對(duì)象有關(guān)的跟蹤對(duì)象管理器活動(dòng)。另外,該面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)可以包括一個(gè)運(yùn)行時(shí)間優(yōu)化器—它進(jìn)行該改變。這種監(jiān)測(cè)此時(shí)可以包括把從該跟蹤而獲得的信息轉(zhuǎn)送到控制程序,以用于該改變。這種監(jiān)測(cè)可以包括監(jiān)測(cè)與對(duì)象有關(guān)的網(wǎng)絡(luò)參數(shù),包括例如網(wǎng)絡(luò)等待時(shí)間。
作為又一種增強(qiáng),該對(duì)象包括至少一個(gè)方法,且該監(jiān)測(cè)包括保持一個(gè)相互作用表,該表包括方法的至少一個(gè)調(diào)用和與該至少一個(gè)調(diào)用有聯(lián)系的性能數(shù)據(jù)。該性能數(shù)據(jù)可以包括該至少一個(gè)方法的調(diào)用者。另外,該性能數(shù)據(jù)還可以包括一個(gè)轉(zhuǎn)送延遲—該延遲是將至少一個(gè)調(diào)用從調(diào)用者傳送到對(duì)象而引起的。再者,如果調(diào)用是要求處理和響應(yīng)的,則該性能數(shù)據(jù)進(jìn)一步包括該至少一個(gè)方法的處理延遲和將響應(yīng)傳送到調(diào)用者而引起的送回延遲。
本發(fā)明具有幾個(gè)優(yōu)點(diǎn)和與其有關(guān)的特征。用于處理器、網(wǎng)絡(luò)和對(duì)象的性能監(jiān)測(cè)技術(shù),與用于管理對(duì)象實(shí)例—諸如動(dòng)態(tài)、運(yùn)行時(shí)間—的技術(shù)結(jié)合起來,就可以實(shí)現(xiàn)對(duì)象管理。例如,如果對(duì)象的方法不是實(shí)現(xiàn)它們所希望的性能目標(biāo)的,則該對(duì)象被重新分配給在其中它能夠?qū)崿F(xiàn)其目標(biāo)的執(zhí)行環(huán)境。如果不能找到這種執(zhí)行環(huán)境,則將對(duì)象“分解”成多個(gè)實(shí)例,從而實(shí)現(xiàn)集體的性能目標(biāo)。如果多個(gè)實(shí)例代表了太多的被利用的資源,則這些實(shí)例可以被“合并”,從而減少其數(shù)目。這樣就可以實(shí)現(xiàn)動(dòng)態(tài)、靈活、性能驅(qū)動(dòng)的對(duì)象實(shí)例管理。
在本說明書的結(jié)論部分,具體地指出了本發(fā)明的實(shí)際內(nèi)容,并對(duì)其提出了明確的權(quán)利要求。然而,本發(fā)明作為實(shí)踐的組織和方法,與其進(jìn)一步的目的和優(yōu)點(diǎn)一起,可以通過以下結(jié)合附圖而給出的詳細(xì)描述而得到最好的理解。在附圖中
圖1是可用于實(shí)施本發(fā)明的技術(shù)的計(jì)算機(jī)系統(tǒng)的一個(gè)例子;圖2是可用于實(shí)施本發(fā)明的技術(shù)的面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)的一個(gè)例子;圖3是與本發(fā)明的一個(gè)實(shí)施例的技術(shù)結(jié)合使用的ORB登記表的一個(gè)例子;圖4是用于實(shí)現(xiàn)本發(fā)明的一個(gè)實(shí)施例的政策表的一個(gè)例子;圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)性能表的一個(gè)例子;圖6是用于根據(jù)本發(fā)明的一個(gè)實(shí)施例的技術(shù)的網(wǎng)絡(luò)性能表的一個(gè)例子;圖7是用于跟蹤與本發(fā)明的一個(gè)實(shí)施例相結(jié)合的對(duì)象方法的調(diào)用的相互作用表的一個(gè)例子;圖8是用于對(duì)根據(jù)本發(fā)明的一個(gè)實(shí)施例的對(duì)象及其調(diào)用者進(jìn)行統(tǒng)計(jì)處理的調(diào)用者表的一個(gè)例子;圖9是用于跟蹤用于本發(fā)明的一個(gè)實(shí)施例的多個(gè)對(duì)象例子的分解/合并路由表的一個(gè)例子;圖10是分解/合并政策表的一個(gè)例子,該表用于確定何時(shí)進(jìn)行根據(jù)本發(fā)明的一個(gè)實(shí)施例的分解狀態(tài)至合并狀態(tài)的對(duì)象傳移;圖11-12B顯示了用于根據(jù)本發(fā)明的技術(shù)管理對(duì)象實(shí)例的方法的例子。
在共同未決的1995年12月27日遞交的美國(guó)專利申請(qǐng)系列號(hào)08/578,098(文件號(hào)CR9-95-010)“METHOD AND SYSTEMOF DYNAMICALLY MOVING OBJECTS BETWEENHETEROGENEOUS EXECUTION ENVIRONMENTS”和1995年12月27日遞交的美國(guó)專利申請(qǐng)系列號(hào)08/579,544(文件號(hào)CR9-95-016)“METHOD AND SYSTEM FOR MIGRATING AN OBJECTBETWEEN A SPLIT STATUS AND A MERGED STATUS”中,公布并權(quán)利要求了用于管理運(yùn)行時(shí)的對(duì)象實(shí)例的技術(shù)。例如,上述的美國(guó)專利申請(qǐng)包括用于運(yùn)行時(shí)在異類執(zhí)行環(huán)境之間移動(dòng)對(duì)象、將對(duì)象分解成它的多個(gè)實(shí)例、以及將對(duì)象的多個(gè)實(shí)例合并成其單個(gè)的實(shí)例的技術(shù)。
在這里公布的技術(shù)是與上述對(duì)象管理技術(shù)相結(jié)合地運(yùn)行的。具體地,這里公布的技術(shù)根據(jù)監(jiān)測(cè)的系統(tǒng)和對(duì)象性能確定并影響適當(dāng)?shù)膶?duì)象移動(dòng)、分解和合并。性能監(jiān)測(cè)技術(shù)與具體的直觀推斷和上述對(duì)象管理技術(shù)相結(jié)合,以動(dòng)態(tài)地優(yōu)化面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)的性能。
這里公布的技術(shù)是結(jié)合本領(lǐng)域的技術(shù)人員所熟悉的術(shù)語和資源而描述的。在一個(gè)例子中,這里所描述的術(shù)語和資源與公共對(duì)象請(qǐng)求交換結(jié)構(gòu)(CORBA-Object Management Group,INC.的注冊(cè)商標(biāo))—它是對(duì)象管理資源的一個(gè)國(guó)際標(biāo)準(zhǔn)—相聯(lián)系的。在CORBA型系統(tǒng)中包含的實(shí)體的一個(gè)例子是對(duì)象請(qǐng)求交換器(ORB),它響應(yīng)于例如對(duì)象的產(chǎn)生、刪除和跟蹤。CORBA標(biāo)準(zhǔn)的一種具體實(shí)施,是IBM的系統(tǒng)對(duì)象模型(SOM)對(duì)象工具箱(SOMobjects)。對(duì)CORBA和SOMobiect的進(jìn)一步的描述,可以在例如Ron Ben-Natan,McGraw-Hill,1995 CORBA-AGuide To Common Object Request Broker Architecture,”和"AIXVersion 4.1 SOMobjects Base ToolkitUser's Guide,"IBM,1993,Publication No.Sc23-2680-01以及"AIX Version 4.1 SOMobjects BaseToolkit Programmers Reference Manual,"IBM,1993,PublicationNo.SC23-2681-01中得到了描述;這些文件在此被作為參考文獻(xiàn)。CORBA只是這里所描述的技術(shù)能夠在其中運(yùn)行的面向?qū)ο蟮沫h(huán)境的一個(gè)例子。本發(fā)明與包括這樣形成對(duì)象管理器的任何面向?qū)ο蟮沫h(huán)境都是兼容的—即該對(duì)象管理器(例如CORBA的對(duì)象請(qǐng)求交換器即ORB)使得能夠在對(duì)象之間傳送信息,并提供了對(duì)象位置的透明性(例如“微軟公共對(duì)象管理器”環(huán)境或IBM公司的“Visual Age”環(huán)境)。
圖1示出用于實(shí)施本發(fā)明的技術(shù)的計(jì)算機(jī)系統(tǒng)的硬件。一個(gè)中央處理單元(CPU)11提供了主處理功能。一個(gè)存儲(chǔ)器15與CPU11相耦合,以提供程序和數(shù)據(jù)的操作存儲(chǔ)器。存儲(chǔ)器15可以包括例如隨機(jī)存取存儲(chǔ)器(RAM)或只讀存儲(chǔ)器(ROM)。例如數(shù)據(jù)文件和程序的非易失存儲(chǔ),由存儲(chǔ)裝置13提供,而存儲(chǔ)裝置13可以包括例如盤存儲(chǔ)器。存儲(chǔ)器15和存儲(chǔ)裝置13都是可由計(jì)算機(jī)使用的介質(zhì),該介質(zhì)可以存儲(chǔ)諸如計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)程序產(chǎn)品。用戶輸入和輸出由用戶輸入/輸出(I/O)裝置19提供。用戶I/O裝置19可以包括例如圖形顯示器、鼠標(biāo)器和/或圖形輸入板。系統(tǒng)輸入和輸出由系統(tǒng)I/O裝置17(例如網(wǎng)絡(luò)適配器)提供。如本領(lǐng)域的技術(shù)人員應(yīng)該理解的,可以根據(jù)系統(tǒng)配置而包括其他的I/O裝置(例如在存儲(chǔ)器13和CPU11之間)。作為計(jì)算機(jī)系統(tǒng)的一個(gè)例子,圖1的計(jì)算機(jī)系統(tǒng)可以是來自IBM公司的,在IBM公司的“OS/2WARP操作系統(tǒng)上執(zhí)行的“APTIVA PERSONAL COMPUTER SYSTEM”。
圖2顯示了具有多種執(zhí)行環(huán)境的面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)的一個(gè)例子。其中顯示的是一個(gè)面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng),它包括五個(gè)執(zhí)行環(huán)境,即三個(gè)基于“INTEL”處理器的工作站(工作站A35、工作站B37和工作站C39)、一個(gè)基于IBM SYSTEM/390類主機(jī)的主計(jì)算機(jī)(主機(jī))31和一個(gè)“ IBM POWER PC”文件服務(wù)器33。工作站A35、B37和C39(“工作站”)被設(shè)計(jì)成與用戶進(jìn)行相互作用,主機(jī)31被用作例如事務(wù)處理機(jī),且文件服務(wù)器33例如是數(shù)據(jù)庫服務(wù)器—它存取存儲(chǔ)在其內(nèi)部的盤上的信息。
這些執(zhí)行環(huán)境通過例如一個(gè)令牌環(huán)(TOKEN-RING)局域網(wǎng)絡(luò)(LAN)41而互連,以便于它們之間的通信。更具體地,工作站A35通過一個(gè)通信線路43而與LAN41相連。雖然顯示了具體的互連方式,但也可以與這里所描述的技術(shù)結(jié)合地采用任何傳統(tǒng)的硬件/軟件網(wǎng)絡(luò)方案。
主機(jī)31、文件服務(wù)器33和工作站,是所描述的面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)的一部分。在此方面,用于該系統(tǒng)的一個(gè)ORB45被包含在主機(jī)31中。如本領(lǐng)域的技術(shù)人員所應(yīng)該理解的,ORB45的具體配置和位置將根據(jù)所采用的面向?qū)ο蟮沫h(huán)境而變化。
本發(fā)明的一個(gè)特征有利于在以性能為目標(biāo)的執(zhí)行環(huán)境之間,動(dòng)態(tài)、運(yùn)行時(shí)、移動(dòng)對(duì)象。與該特征相關(guān)地,保持了幾個(gè)表,且這些表將在下面得到詳細(xì)描述。
圖3中描述了ORB登記表。如本領(lǐng)域中已知的,在傳統(tǒng)上ORB采用該登記表來跟蹤面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)中示例的各個(gè)對(duì)象的位置?!拔恢茫⒆侄伟渲邪袑?duì)象的執(zhí)行環(huán)境的名稱(或其他唯一的標(biāo)識(shí))。例如,如圖所示,對(duì)象X在主機(jī)31中得到了示例。
保持了一個(gè)政策表,以確定何時(shí)對(duì)象的性能是可接受的,且相反地何時(shí)對(duì)象的性能是不可接受的。圖4中顯示了政策表的一個(gè)例子。對(duì)于受到根據(jù)這里所描述的技術(shù)的性能監(jiān)測(cè)和重新定位的各個(gè)對(duì)象的方法,定義表的條目(例如通過系統(tǒng)程序設(shè)計(jì)者或操作人員)。表的條目包括對(duì)象的名稱、方法的名稱、最大交互時(shí)間(MaxIT)和交互類型。MaxIT等于使用特定的對(duì)象方法的一次交互的最長(zhǎng)可接受時(shí)間。交互類型定義了對(duì)象作用的類型并被用于解釋MaxIT參數(shù)。
這里描述了兩個(gè)交互類型。第一種作用類型即類型1被與接收消息(即來自另一對(duì)象的)方法結(jié)合使用,但不產(chǎn)生對(duì)其的響應(yīng)。第二種交互作用類型即類型2被與接收消息、處理該消息并以適當(dāng)?shù)捻憫?yīng)進(jìn)行回答的方法結(jié)合使用。如在此進(jìn)一步描述的,被用來確定該對(duì)象何時(shí)被移向何處的直觀推斷,將根據(jù)這種對(duì)象方法交互類型而變化。
幾種類型的性能信息被收集起來,以用于根據(jù)這里所描述的技術(shù),確定對(duì)象何時(shí)被移向何處。作為第一個(gè)例子,一個(gè)系統(tǒng)性能表動(dòng)態(tài)地記錄了面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)的各個(gè)單獨(dú)的執(zhí)行環(huán)境的性能數(shù)據(jù)。帶有對(duì)應(yīng)于圖2的面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)的數(shù)據(jù)的系統(tǒng)性能表的一個(gè)例子,在圖5中得到顯示。
圖5的系統(tǒng)性能表的各個(gè)“性能”值以工作的絕對(duì)單位(AUW)來表示。AUW是對(duì)各個(gè)執(zhí)行環(huán)境需要多長(zhǎng)時(shí)間來執(zhí)行指定的任務(wù)的量度(即基準(zhǔn))。例如,AUW可以量度各個(gè)執(zhí)行環(huán)境需要多長(zhǎng)時(shí)間來執(zhí)行10,000個(gè)浮點(diǎn)乘法運(yùn)算。不管采用什么基準(zhǔn),它都是在各個(gè)執(zhí)行環(huán)境上周期執(zhí)行的,從而使系統(tǒng)性能表能夠得到建立、根據(jù)需要得到更新并能夠得到。在一個(gè)實(shí)施例中,該基準(zhǔn)將作為各個(gè)執(zhí)行環(huán)境上的公共對(duì)象而實(shí)施,其中這些執(zhí)行環(huán)境的方法執(zhí)行該基準(zhǔn)、記錄完成它所需的時(shí)間,并將該時(shí)間值送回到調(diào)用者。調(diào)用者可以按照選定的周期調(diào)用該基準(zhǔn)對(duì)象,并相應(yīng)地保持系統(tǒng)性能表(利用傳統(tǒng)的性能監(jiān)測(cè)器,例如來自IBM公司的“ResourceManagement Facility”,可以建立類似的表)。
除了各個(gè)執(zhí)行環(huán)境(即處理器)的性能,網(wǎng)絡(luò)性能也可以與本發(fā)明的技術(shù)結(jié)合使用。消息和/或調(diào)用在執(zhí)行環(huán)境之間通過所需的時(shí)間,影響整個(gè)對(duì)象性能,并且是面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)中的一個(gè)重要的性能度量。按照本發(fā)明,一個(gè)網(wǎng)絡(luò)性能表保持了這種度量。
帶有與圖2的面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)對(duì)應(yīng)的數(shù)據(jù)的網(wǎng)絡(luò)性能表的一個(gè)例子,在圖6中得到顯示。圖6的系統(tǒng)性能表中的每一個(gè)值,代表了預(yù)定的網(wǎng)絡(luò)活動(dòng)發(fā)生所需的時(shí)間。例如,各個(gè)值可以表示把例如1000字節(jié)從一個(gè)執(zhí)行環(huán)境送到另一個(gè)執(zhí)行環(huán)境所需的時(shí)間(如圖6的網(wǎng)絡(luò)性能表中的“對(duì)角線”所表示的,在網(wǎng)絡(luò)上將數(shù)據(jù)送給自己所需的時(shí)間為零)。不論采用什么網(wǎng)絡(luò)基準(zhǔn),它都是周期性地在各個(gè)執(zhí)行環(huán)境上執(zhí)行(例如每10秒),從而使網(wǎng)絡(luò)性能表能夠得到建立并可在計(jì)算機(jī)系統(tǒng)中獲得。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)基準(zhǔn)可以按其方法執(zhí)行該網(wǎng)絡(luò)基準(zhǔn)、記錄完成之所需的時(shí)間、并將該時(shí)間值送回調(diào)用者的各個(gè)執(zhí)行環(huán)境上的對(duì)象的形式實(shí)施。該調(diào)用者可以根據(jù)選定的周期時(shí)間,調(diào)用各個(gè)執(zhí)行環(huán)境上的基準(zhǔn)對(duì)象,并相應(yīng)地維護(hù)網(wǎng)絡(luò)性能表。運(yùn)行時(shí)間消息也可以得到監(jiān)測(cè),以確定網(wǎng)絡(luò)性能。
本發(fā)明的進(jìn)一步的性能監(jiān)測(cè)功能,利用了能夠從ORB內(nèi)部獲得的信息,來維護(hù)面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)內(nèi)的各個(gè)對(duì)象相互作用的相互作用表。該ORB管理對(duì)象及其中的方法之間的相互作用。ORB的功能得到擴(kuò)展,以保持各個(gè)對(duì)象相互作用的記錄,例如以圖7的、存儲(chǔ)在面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)中的相互作用表中所描述的形式。
圖7的相互作用表包括各個(gè)對(duì)象相互作用的幾個(gè)字段。這些字段被定義如下序號(hào)# 用于標(biāo)明各個(gè)對(duì)象交互作用的序號(hào)。
自目標(biāo)交互作用的源對(duì)象。
至目標(biāo)交互作用的目的對(duì)象。
至方法交互作用中的目的對(duì)象中的目的方法。
類型 交互作用的類型(即Type1=無預(yù)期響應(yīng);Type2=有預(yù)期響應(yīng))
開始時(shí)間源對(duì)象開始交互作用的時(shí)間。
傳送延遲從源對(duì)象向目的對(duì)象傳送消息/調(diào)用所需的時(shí)間(即從與系統(tǒng)時(shí)鐘相聯(lián)系的時(shí)間標(biāo)度計(jì)算)處理時(shí)間對(duì)于Type2對(duì)象,目的對(duì)象在處理交互作用中所用的實(shí)際處理時(shí)間返回延遲從目的對(duì)象向源對(duì)象傳送響應(yīng)所需的時(shí)間(即從與系統(tǒng)時(shí)鐘相聯(lián)系的時(shí)間標(biāo)度計(jì)算)。隨著各個(gè)交互作用的發(fā)生,相應(yīng)的條目被加到交互作用表。然而,該交互作用表是不能無限制地增加的,且它根據(jù)清單管理規(guī)則而得到管理。作為第一條規(guī)則,該交互作用表被限制在預(yù)定數(shù)目個(gè)交互作用(例如100個(gè))。當(dāng)表增大到該預(yù)定限度以外時(shí),最老的交易被除去且最新的交易被加上。作為另一條示例性的規(guī)則,當(dāng)在執(zhí)行環(huán)境之間移動(dòng)對(duì)象時(shí),其所有的條目都被從交互作用表中除去,因?yàn)樗鼈兇碇辉俅嬖诘膶?duì)象的示例。作為又一條規(guī)則,只保持具體的交互作用的最新的條目(即由來自對(duì)象、至對(duì)象和至方法定義的)。
與本發(fā)明相聯(lián)系地采用的又一個(gè)表,是圖8所示的調(diào)用者表。該表記錄了各個(gè)對(duì)象的各個(gè)方法的調(diào)用者清單。與交互作用表相類似,該調(diào)用者表通過監(jiān)測(cè)ORB管理的對(duì)象交互作用,并為各個(gè)交互作用建立各個(gè)對(duì)象的各個(gè)方法的非冗余調(diào)用者清單,而得到動(dòng)態(tài)維護(hù)。
采用上述的表,實(shí)施了在適當(dāng)時(shí)候在執(zhí)行環(huán)境之間移動(dòng)對(duì)象的機(jī)構(gòu)。具體地,如果對(duì)象沒有達(dá)到其設(shè)計(jì)的性能目標(biāo),則將其移動(dòng)到其中它能夠?qū)崿F(xiàn)其目的執(zhí)行環(huán)境中。
交互作用表(圖7)得到定期檢驗(yàn),且各個(gè)方法的交互作用數(shù)據(jù)得到檢驗(yàn),以判定對(duì)象是否實(shí)現(xiàn)了其性能目標(biāo)。如果對(duì)象的方法沒有實(shí)現(xiàn)其目的,則將該對(duì)象移到其中其目的可以實(shí)現(xiàn)的執(zhí)行環(huán)境中,否則該目標(biāo)不受干擾。
更具體地,在圖11-12B中描述了用于保證方法滿足它們的目的和用于在這些方法不滿足時(shí)將對(duì)象移到更好的位置的處理的例子。假定已經(jīng)為了檢驗(yàn)而選擇了圖7的交互作用表的方法。如圖11(步驟101)所示,為來自圖4的政策表的現(xiàn)行方法確定對(duì)象類型(即類型1還是類型2)和所希望的交互作用時(shí)間(IT)。隨后進(jìn)行測(cè)試,以判定該方法是“類型1”還是“類型2”(詢問103)。對(duì)于“類型1”方法,交互作用時(shí)間被與和交互作用表中的現(xiàn)行方法有關(guān)的傳送延遲相比較。如果該傳送延遲超過了交互作用時(shí)間(詢問107),則所希望的性能沒有得到滿足,且移動(dòng)具有該方法的對(duì)象(步驟111)。對(duì)于“類型2”方法,將交互作用時(shí)間與同交互作用表中的現(xiàn)行方法相聯(lián)系的傳送延遲、返回延遲和處理延遲之和相比較。如果該和超過了交互作用時(shí)間(詢問109),則所希望的性能沒有得到滿足,且進(jìn)行具有該方法的對(duì)象的移動(dòng)(步驟111)。否則,如果性能目標(biāo)得到了滿足,則不采取行動(dòng)(步驟105)。
在圖12A-B的偽碼中,描述了用于判定具有該方法的對(duì)象(“ToObj”)應(yīng)該被移到面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)的哪一個(gè)執(zhí)行環(huán)境的技術(shù)的一個(gè)例子。開始時(shí),ToObj的潛在目的執(zhí)行環(huán)境的一個(gè)清單(PTL)被賦予初始值零(步驟120)。一個(gè)被稱為CURLOC的變量被設(shè)定到ToObj現(xiàn)在在其上執(zhí)行的執(zhí)行環(huán)境的名稱。該名稱是從ORB登記表(圖3)確定的。另一個(gè)清單LOCLIST得到初始化,從而包括產(chǎn)生任何ToObj方法的調(diào)用的執(zhí)行環(huán)境的名稱(步驟123)。這是從例如圖8所示的調(diào)用者表確定的。實(shí)際調(diào)用的方法被初始存儲(chǔ)在一個(gè)被稱為METHLIST的清單中,它是以類似的方式由對(duì)調(diào)用者表的檢驗(yàn)構(gòu)成的(步驟125)。
接著,對(duì)于METHLIST中的每一個(gè)方法,都進(jìn)入一個(gè)環(huán),其中M是正在該環(huán)中處理的現(xiàn)行方法(步驟127)。用于M的潛在目的執(zhí)行環(huán)境的清單“ PTL M”被初始設(shè)定為空(步驟129)。隨后,如果M是類型2的(步驟131-,即從圖4的政策表確定的),則為其確定一個(gè)工作量度MW(步驟133)。具體地,MW,是通過用如在例如圖5的系統(tǒng)性能表中表示的CURLOC的AUW量度除以交互作用表(例如圖7的)中的為M記錄的最后處理時(shí)間PT,而確定的。如果M不是類型2的(步驟132),MW被設(shè)定為零值(步驟134)。
進(jìn)入下一個(gè)循環(huán),它處理處理器性能表中的各個(gè)執(zhí)行環(huán)境,沒有CURLOC,其中正被處理的執(zhí)行環(huán)境被存儲(chǔ)在PTSYS中(步驟135)。在該循環(huán)中,如果MW不是零(步驟137),則計(jì)算在系統(tǒng)PTSYS上提出的響應(yīng)時(shí)間。具體地,提出的響應(yīng)時(shí)間由PRPTSYS表示,它被設(shè)定為PTSYS的AUW(即AUWPTSYS)與MW的積(步驟139)。如果MW是零,則PRPTSYS被設(shè)定為零(步驟141)。
進(jìn)入進(jìn)一步的嵌套循環(huán),它處理LOCLIST中的各個(gè)執(zhí)行環(huán)境,其中正在被處理的執(zhí)行環(huán)境被存儲(chǔ)在S中(步驟143)。一個(gè)“至?xí)r間”TO TIME被作為從S至PTSYS的網(wǎng)絡(luò)延遲的函數(shù)而確定(步驟145)。隨后PRPTSYS被加上TO TIME(步驟147)。在此之后,如果M是類型2的,(步驟149),則作為從PTSYS至S的網(wǎng)絡(luò)延遲的函數(shù)而確定一個(gè)“來自時(shí)間”FROM TIME(步驟151),且PRPTSYS因而被增值(步驟153)。為了完成現(xiàn)行的環(huán),如果PRPTSYS大于存儲(chǔ)在用于現(xiàn)行方法M的政策表中的交互作用時(shí)間(即作為CRITERION而被訪問),則通過跳到最外層循環(huán)而超過前述的嵌套環(huán)。否則,重復(fù)現(xiàn)行的循環(huán)(即至步驟143)。
前述的嵌套環(huán)(即從步驟135開始的循環(huán))是通過給PTSYS加上PTLM(步驟157)而完成的。該循環(huán)隨后得到重復(fù)(至步驟135)。
如果PTL是零(步驟159),最外層循環(huán)通過將PTL設(shè)定為PTL M(步驟161)而得到繼續(xù)。如果PTL不是零,則PTL被設(shè)定為其自己和PTL M的邏輯“設(shè)定”交互作用(步驟163)。作為前述的結(jié)果,PTL包含已經(jīng)使用的ToObj的所有方法的可接受目的執(zhí)行環(huán)境的清單。對(duì)象將被移向的執(zhí)行環(huán)境,可以通過例如隨機(jī)選擇或執(zhí)行環(huán)境的預(yù)定偏好政策或用于具體的執(zhí)行環(huán)境的親和關(guān)系(如在同時(shí)遞交的并在此被作為參考文獻(xiàn)的專利申請(qǐng)“AUTOMATIC CLIENT-SERVER COMPILER”中描述的),而從該清單中選擇。
一旦確定了目的執(zhí)行環(huán)境,現(xiàn)行的對(duì)象就被移向其。用于在執(zhí)行環(huán)境之間移動(dòng)對(duì)象的技術(shù),在1995年12月27日遞交的美國(guó)專利申請(qǐng)系列號(hào)08/578,098(文件號(hào)CR9-95-010)“METHOD AND SYSTEMOF DYNAMICALLY OBJECTS BETWEEN HETEROGENEOUSEXECUTION ENVIRONMENTS”中得到了詳細(xì)描述。在其中還得到描述的,是如何在異類執(zhí)行環(huán)境之間移動(dòng)對(duì)象,以及如何在移動(dòng)期間保留和轉(zhuǎn)換對(duì)象的狀態(tài)信息。
本發(fā)明的技術(shù)也可被應(yīng)用于1995年12月27日遞交的美國(guó)專利申請(qǐng)系列號(hào)08/579,544(文件號(hào)CR9-95-016)“METHOD AND SYSTEMFOR MIGRATING AN OBJECT BETWEEN A SPLIT STATUS AND AMERGED STATUS”中描述的對(duì)象分解/合并技術(shù)。以上公布的技術(shù)可能不能標(biāo)明滿足對(duì)象的方法性能標(biāo)準(zhǔn)的單個(gè)執(zhí)行環(huán)境。然而,通過將對(duì)象“分解”成多個(gè)執(zhí)行環(huán)境上的多個(gè)實(shí)例,可以獲得所希望的性能目標(biāo)。
更具體地,例如,可能不能獲得滿足對(duì)象M的性能標(biāo)準(zhǔn)的執(zhí)行環(huán)境。在此情況下,從所有的M方法的調(diào)用者表(例如圖8)條目除去不滿足該標(biāo)準(zhǔn)的、由對(duì)象調(diào)用的M方法,且在調(diào)用者表中,為作為與上述技術(shù)有關(guān)的分解實(shí)例而產(chǎn)生的實(shí)例,產(chǎn)生一個(gè)分解實(shí)例條目。隨后,從調(diào)用者表中的M條目刪除的調(diào)用者,被作為該分解實(shí)例的條目而加到調(diào)用者表中。上述的技術(shù)(圖12-12A)隨后得到應(yīng)用,以確定M的分解實(shí)例的執(zhí)行環(huán)境,且該分解實(shí)例用在此遞交并作為參考文獻(xiàn)而包含的美國(guó)專利申請(qǐng)“METHOD AND SYSTEM FOR MIGRATING AN OBJECTBETWEEN A SPLIT STATUS AND A MERGED STATUS”中的分解/合并技術(shù)而得到產(chǎn)生。如果M沒有任何其他的調(diào)用者,則M被刪除。圖10的分解/合并政策表的“分解標(biāo)準(zhǔn)”被用作在以上所引的處理中的MaxIT,且分解實(shí)例在由其確定的位置產(chǎn)生。M的分解實(shí)例的產(chǎn)生就此完成。
類似地,一旦方法被“分解”,就可能希望將對(duì)象“合并”成較少的實(shí)例。例如,如果對(duì)象M的分解實(shí)例Si不能被再分配給滿足其性能標(biāo)準(zhǔn)的執(zhí)行環(huán)境,則進(jìn)行以下的處理。如果Si合并的實(shí)例M不存在,則上述的技術(shù)被用來在確定的位置產(chǎn)生M。進(jìn)一步的步驟包括調(diào)用者表(圖8)中的M的條目的產(chǎn)生。Si的條目被移到為M而產(chǎn)生的條目,且Si的條目被刪除。圖10的分解/合并政策表的“合并標(biāo)準(zhǔn)”被用作MaxIT,且合并實(shí)例在由此確定的位置中產(chǎn)生。隨后,利用在此遞交并作為參考文獻(xiàn)而包含的美國(guó)專利申請(qǐng)“METHOD AND SYSTEM FOR MIGRATING ANOBJECT BETWEEN A SPLIT STATUS AND A MERGED STATUS”中描述的技術(shù),將Si合并到M中。
雖然在上述的技術(shù)中,交互作用表(圖7)中的各個(gè)對(duì)象的性能定期得到評(píng)價(jià),也可能有其他的評(píng)價(jià)技術(shù)。例如,可以在每次調(diào)用時(shí)評(píng)價(jià)各個(gè)對(duì)象/方法的性能。另外,在上述步驟中執(zhí)行的處理,可以作為例如面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)中的對(duì)象或?qū)ο蠹隙鴮?shí)施。在一個(gè)實(shí)施例中,這些對(duì)象將在與ORB相同的執(zhí)行環(huán)境中實(shí)施,以便于對(duì)其進(jìn)行的、與交互作用表和調(diào)用者表有關(guān)的方便存取。
以上描述了用于在運(yùn)行時(shí)動(dòng)態(tài)管理面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)中的目標(biāo)分配的技術(shù)的例子。本領(lǐng)域的技術(shù)人員應(yīng)該理解的是,上述的流程和程序步驟只是例子。在不脫離本發(fā)明的精神和范圍的前提下,可以對(duì)于它們進(jìn)行很多改變,包括例如處理比上述的多或少的步驟,修正一或多個(gè)步驟,或者改變某些步驟的順序。例如可利用上述的技術(shù)移動(dòng)調(diào)用的對(duì)象而不是被調(diào)用的對(duì)象。這些改變因而也被認(rèn)為是所權(quán)利要求的本發(fā)明的一部分。
雖然在此根據(jù)本發(fā)明的某些最佳實(shí)施例而詳細(xì)描述了本發(fā)明,但本領(lǐng)域的技術(shù)人員可以對(duì)其進(jìn)行很多修正和改變。因此,所附的權(quán)利要求書就是要覆蓋本發(fā)明的精神和范圍之內(nèi)的所有這些修正和改變。
權(quán)利要求
1.在包括多個(gè)執(zhí)行環(huán)境和一個(gè)對(duì)象的面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)中,用于管理所述對(duì)象的方法,其中該對(duì)象具有在所述多個(gè)執(zhí)行環(huán)境的至少一個(gè)執(zhí)行環(huán)境中執(zhí)行的至少一個(gè)實(shí)例,該方法的特征在于以下步驟(a)監(jiān)測(cè)所述面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)中的所述對(duì)象的運(yùn)行性能;(b)在運(yùn)行中響應(yīng)所述監(jiān)測(cè)而改變?nèi)舾蓚€(gè)所述至少一個(gè)實(shí)例和若干個(gè)所述至少一個(gè)執(zhí)行環(huán)境中的至少一個(gè),其中所述至少一個(gè)實(shí)例在所述至少一個(gè)執(zhí)行環(huán)境得到執(zhí)行。
2.根據(jù)權(quán)利要求1的方法,其特征在于所述對(duì)象的所述至少一個(gè)實(shí)例包括在一個(gè)單個(gè)的執(zhí)行環(huán)境中執(zhí)行的單個(gè)的實(shí)例,且在于所述改變包括將所述單個(gè)實(shí)例從所述單個(gè)執(zhí)行環(huán)境移到所述多個(gè)執(zhí)行環(huán)境中的另一個(gè)執(zhí)行環(huán)境。
3.根據(jù)權(quán)利要求2的方法,其特征在于所述移動(dòng)包括將所述單個(gè)實(shí)例從所述單個(gè)執(zhí)行環(huán)境移到所述另一執(zhí)行環(huán)境,其中所述另一執(zhí)行環(huán)境和所述單個(gè)執(zhí)行環(huán)境是異類的。
4.根據(jù)權(quán)利要求3的方法,其特征在于所述移動(dòng)包括在所述單個(gè)執(zhí)行環(huán)境與所述另一執(zhí)行環(huán)境之間的所述移動(dòng)期間保留所述對(duì)象的狀態(tài)。
5.根據(jù)權(quán)利要求1的方法,其特征在于所述對(duì)象的所述至少一個(gè)實(shí)例包括在單個(gè)的執(zhí)行環(huán)境中執(zhí)行的單個(gè)實(shí)例,且其中所述改變包括將所述目標(biāo)分解成在所述多個(gè)執(zhí)行環(huán)境中的若干個(gè)執(zhí)行環(huán)境中執(zhí)行的若干個(gè)實(shí)例。
6.根據(jù)權(quán)利要求5的方法,其特征在于所述分解包括將所述對(duì)象的所述單個(gè)實(shí)例的狀態(tài)復(fù)制到其所述若干個(gè)實(shí)例中。
7.根據(jù)權(quán)利要求5的方法,其特征在于盡管有所述分解,仍然能夠由其調(diào)用者以與所述分解之前相同的方式進(jìn)行所述對(duì)象的調(diào)用。
8.根據(jù)權(quán)利要求5的方法,其特征在于所述分解包括將所述單個(gè)實(shí)例的執(zhí)行保持在所述單個(gè)執(zhí)行環(huán)境之內(nèi)。
9.根據(jù)權(quán)利要求5的方法,其特征在于所述分解包括將所述單個(gè)實(shí)例的執(zhí)行從所述單個(gè)執(zhí)行環(huán)境除去。
10.根據(jù)權(quán)利要求1的方法,其特征在于所述對(duì)象的所述至少一個(gè)實(shí)例包括在若干個(gè)執(zhí)行環(huán)境中執(zhí)行的若干個(gè)實(shí)例,且其中所述改變包括將所述對(duì)象合并到在一個(gè)單個(gè)執(zhí)行環(huán)境中執(zhí)行的單個(gè)實(shí)例中。
11.根據(jù)權(quán)利要求10的方法,其特征在于所述合并包括強(qiáng)化所述對(duì)象的所述若干個(gè)實(shí)例的狀態(tài)并將所述狀態(tài)加到所述對(duì)象的所述單個(gè)實(shí)例中。
12.根據(jù)權(quán)利要求10的方法,其特征在于盡管有所述分解,仍然能夠由所述對(duì)象的調(diào)用者以與所述分解之前相同的方式調(diào)用所述對(duì)象。
13.根據(jù)權(quán)利要求1的方法,其特征在于所述面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)包括一個(gè)對(duì)象管理器,且其中所述監(jiān)測(cè)包括跟蹤與所述對(duì)象有關(guān)的對(duì)象管理器活動(dòng)。
14.根據(jù)權(quán)利要求13的方法,帶所述面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)包括進(jìn)行所述改變的運(yùn)行時(shí)間優(yōu)化器,且所述監(jiān)測(cè)包括將從所述跟蹤獲得的信息轉(zhuǎn)送到所述控制程序以用于所述改變。
15.根據(jù)權(quán)利要求1的方法,其特征在于所述監(jiān)測(cè)包括監(jiān)測(cè)與所述對(duì)象有關(guān)的網(wǎng)絡(luò)參數(shù)。
16.根據(jù)權(quán)利要求15的方法,其特征在于所述網(wǎng)絡(luò)參數(shù)包括網(wǎng)絡(luò)等待時(shí)間。
17.根據(jù)權(quán)利要求1的方法,其特征在于所述監(jiān)測(cè)包括監(jiān)測(cè)所述至少一個(gè)實(shí)例在其中執(zhí)行的所述至少一個(gè)執(zhí)行環(huán)境的性能。
18.根據(jù)權(quán)利要求1的方法,其特征在于所述對(duì)象包括至少一個(gè)方法,且其中所述監(jiān)測(cè)包括保持一個(gè)交互作用表,該交互作用表包括所述方法的至少一個(gè)調(diào)用和與所述至少一個(gè)調(diào)用有關(guān)的性能數(shù)據(jù)。
19.根據(jù)權(quán)利要求18的方法,其特征在于所述性能數(shù)據(jù)包括所述至少一個(gè)方法的調(diào)用者。
20.根據(jù)權(quán)利要求19的方法,其特征在于所述性能數(shù)據(jù)進(jìn)一步包括將所述至少一個(gè)調(diào)用從所述調(diào)用者傳送到所述對(duì)象而引起的轉(zhuǎn)送延遲。
21.根據(jù)權(quán)利要求20的方法,其特征在于所述調(diào)用是要求處理和響應(yīng)的類型的,且其中所述性能數(shù)據(jù)進(jìn)一步包括所述至少一個(gè)方法的處理延遲和由于將所述響應(yīng)傳送給所述調(diào)用者而引起的返回延遲。
22.根據(jù)權(quán)利要求18的方法,其特征在于所述監(jiān)測(cè)包括保持一個(gè)政策表,該政策表包括所述至少一個(gè)方法和用于各個(gè)所述至少一個(gè)方法的目的交互作用時(shí)間。
23.根據(jù)權(quán)利要求22的方法,其特征在于所述監(jiān)測(cè)包括將所述目的交互作用時(shí)間同所述性能數(shù)據(jù)相比較以判定所述對(duì)象的性能是否令人滿意。
24.在包括多個(gè)執(zhí)行環(huán)境和一個(gè)對(duì)象的面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)中,用于管理所述對(duì)象的系統(tǒng),其中該對(duì)象具有在所述多個(gè)執(zhí)行環(huán)境的至少一個(gè)執(zhí)行環(huán)境中執(zhí)行的至少一個(gè)實(shí)例,該系統(tǒng)的特征在于用于監(jiān)測(cè)所述面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)中的所述對(duì)象的運(yùn)行性能的裝置;以及用于在運(yùn)行中響應(yīng)于所述監(jiān)測(cè)而改變?nèi)舾蓚€(gè)所述至少一個(gè)實(shí)例與若干個(gè)所述至少一個(gè)執(zhí)行環(huán)境中的至少一個(gè)的裝置,其中所述至少一個(gè)實(shí)例在所述至少一個(gè)執(zhí)行環(huán)境中得到執(zhí)行。
25.根據(jù)權(quán)利要求24的系統(tǒng),其特征在于所述對(duì)象的所述至少一個(gè)實(shí)例包括在單個(gè)執(zhí)行環(huán)境中執(zhí)行的單個(gè)實(shí)例,且其中所述用于改變的裝置包括用于將所述單個(gè)實(shí)例從所述單個(gè)執(zhí)行環(huán)境移到所述多個(gè)執(zhí)行環(huán)境中的另一執(zhí)行環(huán)境的裝置。
26.根據(jù)權(quán)利要求25的系統(tǒng),其特征在于所述用于移動(dòng)的裝置包括用于將所述單個(gè)實(shí)例從所述單個(gè)執(zhí)行環(huán)境移到所述另一執(zhí)行環(huán)境的裝置,其中所述另一執(zhí)行環(huán)境和所述單個(gè)執(zhí)行環(huán)境是異類的。
27.根據(jù)權(quán)利要求26的系統(tǒng),其特征在于所述用于移動(dòng)的裝置包括用于在所述單個(gè)執(zhí)行環(huán)境與所述另一執(zhí)行環(huán)境之間的所述移動(dòng)期間保留所述對(duì)象的狀態(tài)的裝置。
28.根據(jù)權(quán)利要求24的系統(tǒng),其特征在于所述對(duì)象的所述至少一個(gè)實(shí)例包括在一個(gè)單個(gè)執(zhí)行環(huán)境中執(zhí)行的單個(gè)實(shí)例,且其中所述用于改變的裝置包括用于將所述對(duì)象分解成在所述多個(gè)執(zhí)行環(huán)境中的若干個(gè)執(zhí)行環(huán)境中執(zhí)行的若干個(gè)實(shí)例。
29.根據(jù)權(quán)利要求28的系統(tǒng),其特征在于用于分解的裝置包括用于將所述對(duì)象的所述單個(gè)實(shí)例的狀態(tài)復(fù)制到其所述若干個(gè)實(shí)例的裝置。
30.根據(jù)權(quán)利要求28的系統(tǒng),其特征在于盡管有所述分解,仍然能夠由所述對(duì)象的調(diào)用者以與所述分解之前相同的方式調(diào)用所述對(duì)象。
31.根據(jù)權(quán)利要求28的系統(tǒng),其特征在于所述用于分解的裝置包括用于保持在所述單個(gè)執(zhí)行環(huán)境中執(zhí)行的所述單個(gè)實(shí)例的裝置。
32.根據(jù)權(quán)利要求28的系統(tǒng),其特征在于所述用于分解的裝置包括用于除去在所述單個(gè)執(zhí)行環(huán)境中執(zhí)行的所述單個(gè)實(shí)例的裝置。
33.根據(jù)權(quán)利要求24的系統(tǒng),其特征在于所述對(duì)象的所述至少一個(gè)實(shí)例包括在若干個(gè)執(zhí)行環(huán)境執(zhí)行的若干個(gè)實(shí)例,且其中所述用于改變的裝置包括用于將所述對(duì)象合并到在單個(gè)執(zhí)行環(huán)境中執(zhí)行的單個(gè)實(shí)例的裝置。
34.根據(jù)權(quán)利要求33的系統(tǒng),其特征在于所述用于合并的裝置包括用于強(qiáng)化所述對(duì)象的所述若干個(gè)實(shí)例的狀態(tài)的裝置和用于將所述狀態(tài)加到所述對(duì)象的所述單個(gè)實(shí)例中的裝置。
35.根據(jù)權(quán)利要求33的系統(tǒng),其特征在于盡管有所述分解,仍然能夠由所述對(duì)象的調(diào)用者以與所述分解之前相同的方式調(diào)用所述對(duì)象。
36.根據(jù)權(quán)利要求24的系統(tǒng)其特征在于所述面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)包括一個(gè)對(duì)象管理器,且其中所述用于監(jiān)測(cè)的裝置包括用于跟蹤與所述對(duì)象有關(guān)的對(duì)象管理器活動(dòng)的裝置。
37.根據(jù)權(quán)利要求36的系統(tǒng),其特征在于所述面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)包括進(jìn)行所述改變的運(yùn)行時(shí)間優(yōu)化器,且所述用于監(jiān)測(cè)的裝置包括用于將從所述跟蹤獲得的信息轉(zhuǎn)送到所述控制程序以用于所述改變的裝置。
38.根據(jù)權(quán)利要求24的系統(tǒng),其特征在于所述用于監(jiān)測(cè)的裝置包括用于監(jiān)測(cè)與所述對(duì)象有關(guān)的網(wǎng)絡(luò)參數(shù)的裝置。
39.根據(jù)權(quán)利要求38的系統(tǒng),其特征在于所述網(wǎng)絡(luò)參數(shù)包括網(wǎng)絡(luò)等待時(shí)間。
40.根據(jù)權(quán)利要求24的系統(tǒng),其特征在于所述用于監(jiān)測(cè)的裝置包括用于監(jiān)測(cè)所述至少一個(gè)實(shí)例在其中執(zhí)行的所述至少一個(gè)執(zhí)行環(huán)境的性能的裝置。
41.根據(jù)權(quán)利要求24的系統(tǒng),其特征在于所述對(duì)象包括至少一個(gè)方法,且其中所述用于監(jiān)測(cè)的裝置包括用于保持一個(gè)交互作用表的裝置—該交互作用表包括所述方法的至少一個(gè)調(diào)用和與所述至少一個(gè)調(diào)用有關(guān)的性能數(shù)據(jù)。
42.根據(jù)權(quán)利要求41的系統(tǒng),其特征在于所述性能數(shù)據(jù)包括所述至少一個(gè)方法的調(diào)用者。
43.根據(jù)權(quán)利要求42的系統(tǒng),其特征在于所述性能數(shù)據(jù)進(jìn)一步包括由于從所述調(diào)用者向所述對(duì)象傳送所述至少一個(gè)調(diào)用而產(chǎn)生的轉(zhuǎn)送延遲。
44.根據(jù)權(quán)利要求43的系統(tǒng),其特征在于所述調(diào)用是要求處理和響應(yīng)的類型的,且其中所述性能數(shù)據(jù)進(jìn)一步包括所述至少一個(gè)方法的處理延遲和由于將所述響應(yīng)傳送給所述調(diào)用者而產(chǎn)生的返回延遲。
45.根據(jù)權(quán)利要求41的系統(tǒng),其特征在于所述用于監(jiān)測(cè)的裝置包括用于保持一個(gè)政策表的裝置,該政策表包括所述至少一個(gè)方法和用于每一個(gè)所述至少一個(gè)方法的目的交互作用時(shí)間。
46.根據(jù)權(quán)利要求45的系統(tǒng),其特征在于所述用于監(jiān)測(cè)的裝置包括用于將至少一個(gè)所述目的交互作用時(shí)間與所述性能數(shù)據(jù)相比較以判定所述目標(biāo)的性能是否令人滿意的裝置。
全文摘要
在一種面向?qū)ο蟮挠?jì)算機(jī)系統(tǒng)中,對(duì)象的實(shí)例得到管理。對(duì)象的性能和其中的方法結(jié)合處理器和網(wǎng)絡(luò)性能而得到監(jiān)測(cè)。該性能信息被用來管理對(duì)象實(shí)例。具體地,對(duì)象的實(shí)例可以得到移動(dòng)、分解或合并。例如,如果在一個(gè)對(duì)象被裝載到現(xiàn)行執(zhí)行環(huán)境上時(shí)該對(duì)象的方法滿足了性能目標(biāo),則確定一個(gè)執(zhí)行環(huán)境—在該執(zhí)行環(huán)境上對(duì)象實(shí)現(xiàn)其性能目標(biāo),且該對(duì)象被移到該執(zhí)行環(huán)境上。
文檔編號(hào)G06F11/34GK1158457SQ9611979
公開日1997年9月3日 申請(qǐng)日期1996年12月13日 優(yōu)先權(quán)日1995年12月27日
發(fā)明者富蘭克林·查爾斯·布雷斯勞, 保羅·格雷戈里·格林斯坦, 約翰·特德·羅登 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司