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

用于運(yùn)行對象實例管理的方法和系統(tǒng)的制作方法

文檔序號:6410749閱讀:192來源:國知局
專利名稱:用于運(yùn)行對象實例管理的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)。更具體地說,本發(fā)明涉及面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)中的對象分配,且再具體地說,是涉及用于根據(jù)該對象方法的性能對對象實例進(jìn)行動態(tài)管理的方法和系統(tǒng)。
現(xiàn)行的計算機(jī)程序設(shè)計技術(shù)包括面向?qū)ο蟪绦蛟O(shè)計(OOP)的使用。面向?qū)ο蟪绦蛟O(shè)計的中心,在于在本領(lǐng)域中被稱為“對象”的可再用、自包含、可調(diào)用程序代碼模塊。這種模塊方法,通過經(jīng)過證明和測試的對象的使用和再使用,而使軟件的開發(fā)更為有效和可靠。
將各個對象設(shè)計成通過“方法”來實現(xiàn)一組預(yù)定的操作。這些方法包括程序化的任務(wù),以在被調(diào)用時執(zhí)行對象。各個具體的方法被定義在與對象有聯(lián)系的“類”中。類起著樣板的作用,它描述了一組類似的對象的行為。由選定的類(或在其運(yùn)行時的實例中)來示例性說明對象,且對象包括類中定義的方法和屬性(或數(shù)據(jù))。
對象方法是可由面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)中的所有其他對象調(diào)用的共享資源。在一個對象上的負(fù)荷(以及在它示例性說明的執(zhí)行環(huán)境上的相應(yīng)負(fù)荷)因而將隨著對象調(diào)用的周期性和用在對象中的方法的復(fù)雜性而變化。要求仔細(xì)的系統(tǒng)規(guī)劃,以便在面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)的執(zhí)行環(huán)境中能夠得到任何具體對象的足夠的實例,以處理出現(xiàn)的負(fù)荷。傳統(tǒng)上,這種規(guī)劃是在系統(tǒng)規(guī)劃期間進(jìn)行的,且對象實例分配在系統(tǒng)操作期間是固定的。因此,系統(tǒng)配置、操作、或可獲得性上無法預(yù)期的改變,可以嚴(yán)重地影響對象的性能。
對系統(tǒng)性能的干擾目前可以用多種方式檢測到。例如,有很多方案可以用來監(jiān)測例如處理器和其間的網(wǎng)絡(luò)的性能。然而,作為單個的實體的對象的監(jiān)測還沒有得到完全的研究。另外,雖然在監(jiān)測系統(tǒng)性能方面已經(jīng)進(jìn)行了某些系統(tǒng)調(diào)節(jié)(例如改變隊列加權(quán)和進(jìn)行交替網(wǎng)絡(luò)路由),但在面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)中適當(dāng)利用各種性能信息來管理對象及其實例,還沒有得到開發(fā)。
本發(fā)明就是針對上述問題提出的解決方案。
在第一個方面,本發(fā)明在一個面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)上進(jìn)行操作,該系統(tǒng)包括多個執(zhí)行環(huán)境和一個對象,該對象具有在至少一個執(zhí)行環(huán)境中執(zhí)行的至少一個實例。本發(fā)明包括用于管理該對象的方法。具體地,對象的運(yùn)行性能得到監(jiān)測。根據(jù)這種監(jiān)測,該方法包括在運(yùn)行時改變?nèi)舾蓚€實例和/或若干個執(zhí)行環(huán)境—至少一個實例在其中執(zhí)行。
作為一種增強(qiáng),對象的至少一個實例可以包括在單個的執(zhí)行環(huán)境中的單個實例執(zhí)行。另外,改變可以包括將單個的實例從單個的執(zhí)行環(huán)境移到另一執(zhí)行環(huán)境。單個的執(zhí)行環(huán)境和其他的執(zhí)行環(huán)境可以是異類的,且對象的狀態(tài)可以在移動期間得到保留。
作為一種增強(qiáng),對象的至少一個實例可以包括在單個的執(zhí)行環(huán)境中執(zhí)行的單個的實例。另外,該改變可以包括將對象分成多個在多種執(zhí)行環(huán)境中執(zhí)行的實例。另外,如果對象的該至少一個實例包括在多個執(zhí)行環(huán)境中執(zhí)行的多個實例,則該改變可以包括將對象合并到在單個的執(zhí)行環(huán)境中執(zhí)行的單個實例中。
作為進(jìn)一步的增強(qiáng),該面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)可以包括一個對象管理器,且這種監(jiān)測可以包括與該對象有關(guān)的跟蹤對象管理器活動。另外,該面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)可以包括一個運(yùn)行時間優(yōu)化器—它進(jìn)行該改變。這種監(jiān)測此時可以包括把從該跟蹤而獲得的信息轉(zhuǎn)送到控制程序,以用于該改變。這種監(jiān)測可以包括監(jiān)測與對象有關(guān)的網(wǎng)絡(luò)參數(shù),包括例如網(wǎng)絡(luò)等待時間。
作為又一種增強(qiáng),該對象包括至少一個方法,且該監(jiān)測包括保持一個相互作用表,該表包括方法的至少一個調(diào)用和與該至少一個調(diào)用有聯(lián)系的性能數(shù)據(jù)。該性能數(shù)據(jù)可以包括該至少一個方法的調(diào)用者。另外,該性能數(shù)據(jù)還可以包括一個轉(zhuǎn)送延遲—該延遲是將至少一個調(diào)用從調(diào)用者傳送到對象而引起的。再者,如果調(diào)用是要求處理和響應(yīng)的,則該性能數(shù)據(jù)進(jìn)一步包括該至少一個方法的處理延遲和將響應(yīng)傳送到調(diào)用者而引起的送回延遲。
本發(fā)明具有幾個優(yōu)點和與其有關(guān)的特征。用于處理器、網(wǎng)絡(luò)和對象的性能監(jiān)測技術(shù),與用于管理對象實例—諸如動態(tài)、運(yùn)行時間—的技術(shù)結(jié)合起來,就可以實現(xiàn)對象管理。例如,如果對象的方法不是實現(xiàn)它們所希望的性能目標(biāo)的,則該對象被重新分配給在其中它能夠?qū)崿F(xiàn)其目標(biāo)的執(zhí)行環(huán)境。如果不能找到這種執(zhí)行環(huán)境,則將對象“分解”成多個實例,從而實現(xiàn)集體的性能目標(biāo)。如果多個實例代表了太多的被利用的資源,則這些實例可以被“合并”,從而減少其數(shù)目。這樣就可以實現(xiàn)動態(tài)、靈活、性能驅(qū)動的對象實例管理。
在本說明書的結(jié)論部分,具體地指出了本發(fā)明的實際內(nèi)容,并對其提出了明確的權(quán)利要求。然而,本發(fā)明作為實踐的組織和方法,與其進(jìn)一步的目的和優(yōu)點一起,可以通過以下結(jié)合附圖而給出的詳細(xì)描述而得到最好的理解。在附圖中

圖1是可用于實施本發(fā)明的技術(shù)的計算機(jī)系統(tǒng)的一個例子;圖2是可用于實施本發(fā)明的技術(shù)的面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)的一個例子;圖3是與本發(fā)明的一個實施例的技術(shù)結(jié)合使用的ORB登記表的一個例子;圖4是用于實現(xiàn)本發(fā)明的一個實施例的政策表的一個例子;圖5是根據(jù)本發(fā)明的一個實施例的系統(tǒng)性能表的一個例子;圖6是用于根據(jù)本發(fā)明的一個實施例的技術(shù)的網(wǎng)絡(luò)性能表的一個例子;圖7是用于跟蹤與本發(fā)明的一個實施例相結(jié)合的對象方法的調(diào)用的相互作用表的一個例子;圖8是用于對根據(jù)本發(fā)明的一個實施例的對象及其調(diào)用者進(jìn)行統(tǒng)計處理的調(diào)用者表的一個例子;圖9是用于跟蹤用于本發(fā)明的一個實施例的多個對象例子的分解/合并路由表的一個例子;圖10是分解/合并政策表的一個例子,該表用于確定何時進(jìn)行根據(jù)本發(fā)明的一個實施例的分解狀態(tài)至合并狀態(tài)的對象傳移;圖11-12B顯示了用于根據(jù)本發(fā)明的技術(shù)管理對象實例的方法的例子。
在共同未決的1995年12月27日遞交的美國專利申請系列號08/578,098(文件號CR9-95-010)“METHOD AND SYSTEMOF DYNAMICALLY MOVING OBJECTS BETWEENHETEROGENEOUS EXECUTION ENVIRONMENTS”和1995年12月27日遞交的美國專利申請系列號08/579,544(文件號CR9-95-016)“METHOD AND SYSTEM FOR MIGRATING AN OBJECTBETWEEN A SPLIT STATUS AND A MERGED STATUS”中,公布并權(quán)利要求了用于管理運(yùn)行時的對象實例的技術(shù)。例如,上述的美國專利申請包括用于運(yùn)行時在異類執(zhí)行環(huán)境之間移動對象、將對象分解成它的多個實例、以及將對象的多個實例合并成其單個的實例的技術(shù)。
在這里公布的技術(shù)是與上述對象管理技術(shù)相結(jié)合地運(yùn)行的。具體地,這里公布的技術(shù)根據(jù)監(jiān)測的系統(tǒng)和對象性能確定并影響適當(dāng)?shù)膶ο笠苿?、分解和合并。性能監(jiān)測技術(shù)與具體的直觀推斷和上述對象管理技術(shù)相結(jié)合,以動態(tài)地優(yōu)化面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)的性能。
這里公布的技術(shù)是結(jié)合本領(lǐng)域的技術(shù)人員所熟悉的術(shù)語和資源而描述的。在一個例子中,這里所描述的術(shù)語和資源與公共對象請求交換結(jié)構(gòu)(CORBA-Object Management Group,INC.的注冊商標(biāo))—它是對象管理資源的一個國際標(biāo)準(zhǔn)—相聯(lián)系的。在CORBA型系統(tǒng)中包含的實體的一個例子是對象請求交換器(ORB),它響應(yīng)于例如對象的產(chǎn)生、刪除和跟蹤。CORBA標(biāo)準(zhǔn)的一種具體實施,是IBM的系統(tǒng)對象模型(SOM)對象工具箱(SOMobjects)。對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)境的一個例子。本發(fā)明與包括這樣形成對象管理器的任何面向?qū)ο蟮沫h(huán)境都是兼容的—即該對象管理器(例如CORBA的對象請求交換器即ORB)使得能夠在對象之間傳送信息,并提供了對象位置的透明性(例如“微軟公共對象管理器”環(huán)境或IBM公司的“Visual Age”環(huán)境)。
圖1示出用于實施本發(fā)明的技術(shù)的計算機(jī)系統(tǒng)的硬件。一個中央處理單元(CPU)11提供了主處理功能。一個存儲器15與CPU11相耦合,以提供程序和數(shù)據(jù)的操作存儲器。存儲器15可以包括例如隨機(jī)存取存儲器(RAM)或只讀存儲器(ROM)。例如數(shù)據(jù)文件和程序的非易失存儲,由存儲裝置13提供,而存儲裝置13可以包括例如盤存儲器。存儲器15和存儲裝置13都是可由計算機(jī)使用的介質(zhì),該介質(zhì)可以存儲諸如計算機(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裝置(例如在存儲器13和CPU11之間)。作為計算機(jī)系統(tǒng)的一個例子,圖1的計算機(jī)系統(tǒng)可以是來自IBM公司的,在IBM公司的“OS/2WARP操作系統(tǒng)上執(zhí)行的“APTIVA PERSONAL COMPUTER SYSTEM”。
圖2顯示了具有多種執(zhí)行環(huán)境的面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)的一個例子。其中顯示的是一個面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng),它包括五個執(zhí)行環(huán)境,即三個基于“INTEL”處理器的工作站(工作站A35、工作站B37和工作站C39)、一個基于IBM SYSTEM/390類主機(jī)的主計算機(jī)(主機(jī))31和一個“ IBM POWER PC”文件服務(wù)器33。工作站A35、B37和C39(“工作站”)被設(shè)計成與用戶進(jìn)行相互作用,主機(jī)31被用作例如事務(wù)處理機(jī),且文件服務(wù)器33例如是數(shù)據(jù)庫服務(wù)器—它存取存儲在其內(nèi)部的盤上的信息。
這些執(zhí)行環(huán)境通過例如一個令牌環(huán)(TOKEN-RING)局域網(wǎng)絡(luò)(LAN)41而互連,以便于它們之間的通信。更具體地,工作站A35通過一個通信線路43而與LAN41相連。雖然顯示了具體的互連方式,但也可以與這里所描述的技術(shù)結(jié)合地采用任何傳統(tǒng)的硬件/軟件網(wǎng)絡(luò)方案。
主機(jī)31、文件服務(wù)器33和工作站,是所描述的面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)的一部分。在此方面,用于該系統(tǒng)的一個ORB45被包含在主機(jī)31中。如本領(lǐng)域的技術(shù)人員所應(yīng)該理解的,ORB45的具體配置和位置將根據(jù)所采用的面向?qū)ο蟮沫h(huán)境而變化。
本發(fā)明的一個特征有利于在以性能為目標(biāo)的執(zhí)行環(huán)境之間,動態(tài)、運(yùn)行時、移動對象。與該特征相關(guān)地,保持了幾個表,且這些表將在下面得到詳細(xì)描述。
圖3中描述了ORB登記表。如本領(lǐng)域中已知的,在傳統(tǒng)上ORB采用該登記表來跟蹤面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)中示例的各個對象的位置?!拔恢茫⒆侄伟渲邪袑ο蟮膱?zhí)行環(huán)境的名稱(或其他唯一的標(biāo)識)。例如,如圖所示,對象X在主機(jī)31中得到了示例。
保持了一個政策表,以確定何時對象的性能是可接受的,且相反地何時對象的性能是不可接受的。圖4中顯示了政策表的一個例子。對于受到根據(jù)這里所描述的技術(shù)的性能監(jiān)測和重新定位的各個對象的方法,定義表的條目(例如通過系統(tǒng)程序設(shè)計者或操作人員)。表的條目包括對象的名稱、方法的名稱、最大交互時間(MaxIT)和交互類型。MaxIT等于使用特定的對象方法的一次交互的最長可接受時間。交互類型定義了對象作用的類型并被用于解釋MaxIT參數(shù)。
這里描述了兩個交互類型。第一種作用類型即類型1被與接收消息(即來自另一對象的)方法結(jié)合使用,但不產(chǎn)生對其的響應(yīng)。第二種交互作用類型即類型2被與接收消息、處理該消息并以適當(dāng)?shù)捻憫?yīng)進(jìn)行回答的方法結(jié)合使用。如在此進(jìn)一步描述的,被用來確定該對象何時被移向何處的直觀推斷,將根據(jù)這種對象方法交互類型而變化。
幾種類型的性能信息被收集起來,以用于根據(jù)這里所描述的技術(shù),確定對象何時被移向何處。作為第一個例子,一個系統(tǒng)性能表動態(tài)地記錄了面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)的各個單獨的執(zhí)行環(huán)境的性能數(shù)據(jù)。帶有對應(yīng)于圖2的面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)的數(shù)據(jù)的系統(tǒng)性能表的一個例子,在圖5中得到顯示。
圖5的系統(tǒng)性能表的各個“性能”值以工作的絕對單位(AUW)來表示。AUW是對各個執(zhí)行環(huán)境需要多長時間來執(zhí)行指定的任務(wù)的量度(即基準(zhǔn))。例如,AUW可以量度各個執(zhí)行環(huán)境需要多長時間來執(zhí)行10,000個浮點乘法運(yùn)算。不管采用什么基準(zhǔn),它都是在各個執(zhí)行環(huán)境上周期執(zhí)行的,從而使系統(tǒng)性能表能夠得到建立、根據(jù)需要得到更新并能夠得到。在一個實施例中,該基準(zhǔn)將作為各個執(zhí)行環(huán)境上的公共對象而實施,其中這些執(zhí)行環(huán)境的方法執(zhí)行該基準(zhǔn)、記錄完成它所需的時間,并將該時間值送回到調(diào)用者。調(diào)用者可以按照選定的周期調(diào)用該基準(zhǔn)對象,并相應(yīng)地保持系統(tǒng)性能表(利用傳統(tǒng)的性能監(jiān)測器,例如來自IBM公司的“ResourceManagement Facility”,可以建立類似的表)。
除了各個執(zhí)行環(huán)境(即處理器)的性能,網(wǎng)絡(luò)性能也可以與本發(fā)明的技術(shù)結(jié)合使用。消息和/或調(diào)用在執(zhí)行環(huán)境之間通過所需的時間,影響整個對象性能,并且是面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)中的一個重要的性能度量。按照本發(fā)明,一個網(wǎng)絡(luò)性能表保持了這種度量。
帶有與圖2的面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)對應(yīng)的數(shù)據(jù)的網(wǎng)絡(luò)性能表的一個例子,在圖6中得到顯示。圖6的系統(tǒng)性能表中的每一個值,代表了預(yù)定的網(wǎng)絡(luò)活動發(fā)生所需的時間。例如,各個值可以表示把例如1000字節(jié)從一個執(zhí)行環(huán)境送到另一個執(zhí)行環(huán)境所需的時間(如圖6的網(wǎng)絡(luò)性能表中的“對角線”所表示的,在網(wǎng)絡(luò)上將數(shù)據(jù)送給自己所需的時間為零)。不論采用什么網(wǎng)絡(luò)基準(zhǔn),它都是周期性地在各個執(zhí)行環(huán)境上執(zhí)行(例如每10秒),從而使網(wǎng)絡(luò)性能表能夠得到建立并可在計算機(jī)系統(tǒng)中獲得。在一個實施例中,網(wǎng)絡(luò)基準(zhǔn)可以按其方法執(zhí)行該網(wǎng)絡(luò)基準(zhǔn)、記錄完成之所需的時間、并將該時間值送回調(diào)用者的各個執(zhí)行環(huán)境上的對象的形式實施。該調(diào)用者可以根據(jù)選定的周期時間,調(diào)用各個執(zhí)行環(huán)境上的基準(zhǔn)對象,并相應(yīng)地維護(hù)網(wǎng)絡(luò)性能表。運(yùn)行時間消息也可以得到監(jiān)測,以確定網(wǎng)絡(luò)性能。
本發(fā)明的進(jìn)一步的性能監(jiān)測功能,利用了能夠從ORB內(nèi)部獲得的信息,來維護(hù)面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)內(nèi)的各個對象相互作用的相互作用表。該ORB管理對象及其中的方法之間的相互作用。ORB的功能得到擴(kuò)展,以保持各個對象相互作用的記錄,例如以圖7的、存儲在面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)中的相互作用表中所描述的形式。
圖7的相互作用表包括各個對象相互作用的幾個字段。這些字段被定義如下序號# 用于標(biāo)明各個對象交互作用的序號。
自目標(biāo)交互作用的源對象。
至目標(biāo)交互作用的目的對象。
至方法交互作用中的目的對象中的目的方法。
類型 交互作用的類型(即Type1=無預(yù)期響應(yīng);Type2=有預(yù)期響應(yīng))
開始時間源對象開始交互作用的時間。
傳送延遲從源對象向目的對象傳送消息/調(diào)用所需的時間(即從與系統(tǒng)時鐘相聯(lián)系的時間標(biāo)度計算)處理時間對于Type2對象,目的對象在處理交互作用中所用的實際處理時間返回延遲從目的對象向源對象傳送響應(yīng)所需的時間(即從與系統(tǒng)時鐘相聯(lián)系的時間標(biāo)度計算)。隨著各個交互作用的發(fā)生,相應(yīng)的條目被加到交互作用表。然而,該交互作用表是不能無限制地增加的,且它根據(jù)清單管理規(guī)則而得到管理。作為第一條規(guī)則,該交互作用表被限制在預(yù)定數(shù)目個交互作用(例如100個)。當(dāng)表增大到該預(yù)定限度以外時,最老的交易被除去且最新的交易被加上。作為另一條示例性的規(guī)則,當(dāng)在執(zhí)行環(huán)境之間移動對象時,其所有的條目都被從交互作用表中除去,因為它們代表著不再存在的對象的示例。作為又一條規(guī)則,只保持具體的交互作用的最新的條目(即由來自對象、至對象和至方法定義的)。
與本發(fā)明相聯(lián)系地采用的又一個表,是圖8所示的調(diào)用者表。該表記錄了各個對象的各個方法的調(diào)用者清單。與交互作用表相類似,該調(diào)用者表通過監(jiān)測ORB管理的對象交互作用,并為各個交互作用建立各個對象的各個方法的非冗余調(diào)用者清單,而得到動態(tài)維護(hù)。
采用上述的表,實施了在適當(dāng)時候在執(zhí)行環(huán)境之間移動對象的機(jī)構(gòu)。具體地,如果對象沒有達(dá)到其設(shè)計的性能目標(biāo),則將其移動到其中它能夠?qū)崿F(xiàn)其目的執(zhí)行環(huán)境中。
交互作用表(圖7)得到定期檢驗,且各個方法的交互作用數(shù)據(jù)得到檢驗,以判定對象是否實現(xiàn)了其性能目標(biāo)。如果對象的方法沒有實現(xiàn)其目的,則將該對象移到其中其目的可以實現(xiàn)的執(zhí)行環(huán)境中,否則該目標(biāo)不受干擾。
更具體地,在圖11-12B中描述了用于保證方法滿足它們的目的和用于在這些方法不滿足時將對象移到更好的位置的處理的例子。假定已經(jīng)為了檢驗而選擇了圖7的交互作用表的方法。如圖11(步驟101)所示,為來自圖4的政策表的現(xiàn)行方法確定對象類型(即類型1還是類型2)和所希望的交互作用時間(IT)。隨后進(jìn)行測試,以判定該方法是“類型1”還是“類型2”(詢問103)。對于“類型1”方法,交互作用時間被與和交互作用表中的現(xiàn)行方法有關(guān)的傳送延遲相比較。如果該傳送延遲超過了交互作用時間(詢問107),則所希望的性能沒有得到滿足,且移動具有該方法的對象(步驟111)。對于“類型2”方法,將交互作用時間與同交互作用表中的現(xiàn)行方法相聯(lián)系的傳送延遲、返回延遲和處理延遲之和相比較。如果該和超過了交互作用時間(詢問109),則所希望的性能沒有得到滿足,且進(jìn)行具有該方法的對象的移動(步驟111)。否則,如果性能目標(biāo)得到了滿足,則不采取行動(步驟105)。
在圖12A-B的偽碼中,描述了用于判定具有該方法的對象(“ToObj”)應(yīng)該被移到面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)的哪一個執(zhí)行環(huán)境的技術(shù)的一個例子。開始時,ToObj的潛在目的執(zhí)行環(huán)境的一個清單(PTL)被賦予初始值零(步驟120)。一個被稱為CURLOC的變量被設(shè)定到ToObj現(xiàn)在在其上執(zhí)行的執(zhí)行環(huán)境的名稱。該名稱是從ORB登記表(圖3)確定的。另一個清單LOCLIST得到初始化,從而包括產(chǎn)生任何ToObj方法的調(diào)用的執(zhí)行環(huán)境的名稱(步驟123)。這是從例如圖8所示的調(diào)用者表確定的。實際調(diào)用的方法被初始存儲在一個被稱為METHLIST的清單中,它是以類似的方式由對調(diào)用者表的檢驗構(gòu)成的(步驟125)。
接著,對于METHLIST中的每一個方法,都進(jìn)入一個環(huán),其中M是正在該環(huán)中處理的現(xiàn)行方法(步驟127)。用于M的潛在目的執(zhí)行環(huán)境的清單“ PTL M”被初始設(shè)定為空(步驟129)。隨后,如果M是類型2的(步驟131-,即從圖4的政策表確定的),則為其確定一個工作量度MW(步驟133)。具體地,MW,是通過用如在例如圖5的系統(tǒng)性能表中表示的CURLOC的AUW量度除以交互作用表(例如圖7的)中的為M記錄的最后處理時間PT,而確定的。如果M不是類型2的(步驟132),MW被設(shè)定為零值(步驟134)。
進(jìn)入下一個循環(huán),它處理處理器性能表中的各個執(zhí)行環(huán)境,沒有CURLOC,其中正被處理的執(zhí)行環(huán)境被存儲在PTSYS中(步驟135)。在該循環(huán)中,如果MW不是零(步驟137),則計算在系統(tǒng)PTSYS上提出的響應(yīng)時間。具體地,提出的響應(yīng)時間由PRPTSYS表示,它被設(shè)定為PTSYS的AUW(即AUWPTSYS)與MW的積(步驟139)。如果MW是零,則PRPTSYS被設(shè)定為零(步驟141)。
進(jìn)入進(jìn)一步的嵌套循環(huán),它處理LOCLIST中的各個執(zhí)行環(huán)境,其中正在被處理的執(zhí)行環(huán)境被存儲在S中(步驟143)。一個“至?xí)r間”TO TIME被作為從S至PTSYS的網(wǎng)絡(luò)延遲的函數(shù)而確定(步驟145)。隨后PRPTSYS被加上TO TIME(步驟147)。在此之后,如果M是類型2的,(步驟149),則作為從PTSYS至S的網(wǎng)絡(luò)延遲的函數(shù)而確定一個“來自時間”FROM TIME(步驟151),且PRPTSYS因而被增值(步驟153)。為了完成現(xiàn)行的環(huán),如果PRPTSYS大于存儲在用于現(xiàn)行方法M的政策表中的交互作用時間(即作為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)境的清單。對象將被移向的執(zhí)行環(huán)境,可以通過例如隨機(jī)選擇或執(zhí)行環(huán)境的預(yù)定偏好政策或用于具體的執(zhí)行環(huán)境的親和關(guān)系(如在同時遞交的并在此被作為參考文獻(xiàn)的專利申請“AUTOMATIC CLIENT-SERVER COMPILER”中描述的),而從該清單中選擇。
一旦確定了目的執(zhí)行環(huán)境,現(xiàn)行的對象就被移向其。用于在執(zhí)行環(huán)境之間移動對象的技術(shù),在1995年12月27日遞交的美國專利申請系列號08/578,098(文件號CR9-95-010)“METHOD AND SYSTEMOF DYNAMICALLY OBJECTS BETWEEN HETEROGENEOUSEXECUTION ENVIRONMENTS”中得到了詳細(xì)描述。在其中還得到描述的,是如何在異類執(zhí)行環(huán)境之間移動對象,以及如何在移動期間保留和轉(zhuǎn)換對象的狀態(tài)信息。
本發(fā)明的技術(shù)也可被應(yīng)用于1995年12月27日遞交的美國專利申請系列號08/579,544(文件號CR9-95-016)“METHOD AND SYSTEMFOR MIGRATING AN OBJECT BETWEEN A SPLIT STATUS AND AMERGED STATUS”中描述的對象分解/合并技術(shù)。以上公布的技術(shù)可能不能標(biāo)明滿足對象的方法性能標(biāo)準(zhǔn)的單個執(zhí)行環(huán)境。然而,通過將對象“分解”成多個執(zhí)行環(huán)境上的多個實例,可以獲得所希望的性能目標(biāo)。
更具體地,例如,可能不能獲得滿足對象M的性能標(biāo)準(zhǔn)的執(zhí)行環(huán)境。在此情況下,從所有的M方法的調(diào)用者表(例如圖8)條目除去不滿足該標(biāo)準(zhǔn)的、由對象調(diào)用的M方法,且在調(diào)用者表中,為作為與上述技術(shù)有關(guān)的分解實例而產(chǎn)生的實例,產(chǎn)生一個分解實例條目。隨后,從調(diào)用者表中的M條目刪除的調(diào)用者,被作為該分解實例的條目而加到調(diào)用者表中。上述的技術(shù)(圖12-12A)隨后得到應(yīng)用,以確定M的分解實例的執(zhí)行環(huán)境,且該分解實例用在此遞交并作為參考文獻(xiàn)而包含的美國專利申請“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,且分解實例在由其確定的位置產(chǎn)生。M的分解實例的產(chǎn)生就此完成。
類似地,一旦方法被“分解”,就可能希望將對象“合并”成較少的實例。例如,如果對象M的分解實例Si不能被再分配給滿足其性能標(biāo)準(zhǔn)的執(zhí)行環(huán)境,則進(jìn)行以下的處理。如果Si合并的實例M不存在,則上述的技術(shù)被用來在確定的位置產(chǎn)生M。進(jìn)一步的步驟包括調(diào)用者表(圖8)中的M的條目的產(chǎn)生。Si的條目被移到為M而產(chǎn)生的條目,且Si的條目被刪除。圖10的分解/合并政策表的“合并標(biāo)準(zhǔn)”被用作MaxIT,且合并實例在由此確定的位置中產(chǎn)生。隨后,利用在此遞交并作為參考文獻(xiàn)而包含的美國專利申請“METHOD AND SYSTEM FOR MIGRATING ANOBJECT BETWEEN A SPLIT STATUS AND A MERGED STATUS”中描述的技術(shù),將Si合并到M中。
雖然在上述的技術(shù)中,交互作用表(圖7)中的各個對象的性能定期得到評價,也可能有其他的評價技術(shù)。例如,可以在每次調(diào)用時評價各個對象/方法的性能。另外,在上述步驟中執(zhí)行的處理,可以作為例如面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)中的對象或?qū)ο蠹隙鴮嵤T谝粋€實施例中,這些對象將在與ORB相同的執(zhí)行環(huán)境中實施,以便于對其進(jìn)行的、與交互作用表和調(diào)用者表有關(guān)的方便存取。
以上描述了用于在運(yùn)行時動態(tài)管理面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)中的目標(biāo)分配的技術(shù)的例子。本領(lǐng)域的技術(shù)人員應(yīng)該理解的是,上述的流程和程序步驟只是例子。在不脫離本發(fā)明的精神和范圍的前提下,可以對于它們進(jìn)行很多改變,包括例如處理比上述的多或少的步驟,修正一或多個步驟,或者改變某些步驟的順序。例如可利用上述的技術(shù)移動調(diào)用的對象而不是被調(diào)用的對象。這些改變因而也被認(rèn)為是所權(quán)利要求的本發(fā)明的一部分。
雖然在此根據(jù)本發(fā)明的某些最佳實施例而詳細(xì)描述了本發(fā)明,但本領(lǐng)域的技術(shù)人員可以對其進(jìn)行很多修正和改變。因此,所附的權(quán)利要求書就是要覆蓋本發(fā)明的精神和范圍之內(nèi)的所有這些修正和改變。
權(quán)利要求
1.在包括多個執(zhí)行環(huán)境和一個對象的面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)中,用于管理所述對象的方法,其中該對象具有在所述多個執(zhí)行環(huán)境的至少一個執(zhí)行環(huán)境中執(zhí)行的至少一個實例,該方法的特征在于以下步驟(a)監(jiān)測所述面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)中的所述對象的運(yùn)行性能;(b)在運(yùn)行中響應(yīng)所述監(jiān)測而改變?nèi)舾蓚€所述至少一個實例和若干個所述至少一個執(zhí)行環(huán)境中的至少一個,其中所述至少一個實例在所述至少一個執(zhí)行環(huán)境得到執(zhí)行。
2.根據(jù)權(quán)利要求1的方法,其特征在于所述對象的所述至少一個實例包括在一個單個的執(zhí)行環(huán)境中執(zhí)行的單個的實例,且在于所述改變包括將所述單個實例從所述單個執(zhí)行環(huán)境移到所述多個執(zhí)行環(huán)境中的另一個執(zhí)行環(huán)境。
3.根據(jù)權(quán)利要求2的方法,其特征在于所述移動包括將所述單個實例從所述單個執(zhí)行環(huán)境移到所述另一執(zhí)行環(huán)境,其中所述另一執(zhí)行環(huán)境和所述單個執(zhí)行環(huán)境是異類的。
4.根據(jù)權(quán)利要求3的方法,其特征在于所述移動包括在所述單個執(zhí)行環(huán)境與所述另一執(zhí)行環(huán)境之間的所述移動期間保留所述對象的狀態(tài)。
5.根據(jù)權(quán)利要求1的方法,其特征在于所述對象的所述至少一個實例包括在單個的執(zhí)行環(huán)境中執(zhí)行的單個實例,且其中所述改變包括將所述目標(biāo)分解成在所述多個執(zhí)行環(huán)境中的若干個執(zhí)行環(huán)境中執(zhí)行的若干個實例。
6.根據(jù)權(quán)利要求5的方法,其特征在于所述分解包括將所述對象的所述單個實例的狀態(tài)復(fù)制到其所述若干個實例中。
7.根據(jù)權(quán)利要求5的方法,其特征在于盡管有所述分解,仍然能夠由其調(diào)用者以與所述分解之前相同的方式進(jìn)行所述對象的調(diào)用。
8.根據(jù)權(quán)利要求5的方法,其特征在于所述分解包括將所述單個實例的執(zhí)行保持在所述單個執(zhí)行環(huán)境之內(nèi)。
9.根據(jù)權(quán)利要求5的方法,其特征在于所述分解包括將所述單個實例的執(zhí)行從所述單個執(zhí)行環(huán)境除去。
10.根據(jù)權(quán)利要求1的方法,其特征在于所述對象的所述至少一個實例包括在若干個執(zhí)行環(huán)境中執(zhí)行的若干個實例,且其中所述改變包括將所述對象合并到在一個單個執(zhí)行環(huán)境中執(zhí)行的單個實例中。
11.根據(jù)權(quán)利要求10的方法,其特征在于所述合并包括強(qiáng)化所述對象的所述若干個實例的狀態(tài)并將所述狀態(tài)加到所述對象的所述單個實例中。
12.根據(jù)權(quán)利要求10的方法,其特征在于盡管有所述分解,仍然能夠由所述對象的調(diào)用者以與所述分解之前相同的方式調(diào)用所述對象。
13.根據(jù)權(quán)利要求1的方法,其特征在于所述面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)包括一個對象管理器,且其中所述監(jiān)測包括跟蹤與所述對象有關(guān)的對象管理器活動。
14.根據(jù)權(quán)利要求13的方法,帶所述面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)包括進(jìn)行所述改變的運(yùn)行時間優(yōu)化器,且所述監(jiān)測包括將從所述跟蹤獲得的信息轉(zhuǎn)送到所述控制程序以用于所述改變。
15.根據(jù)權(quán)利要求1的方法,其特征在于所述監(jiān)測包括監(jiān)測與所述對象有關(guān)的網(wǎng)絡(luò)參數(shù)。
16.根據(jù)權(quán)利要求15的方法,其特征在于所述網(wǎng)絡(luò)參數(shù)包括網(wǎng)絡(luò)等待時間。
17.根據(jù)權(quán)利要求1的方法,其特征在于所述監(jiān)測包括監(jiān)測所述至少一個實例在其中執(zhí)行的所述至少一個執(zhí)行環(huán)境的性能。
18.根據(jù)權(quán)利要求1的方法,其特征在于所述對象包括至少一個方法,且其中所述監(jiān)測包括保持一個交互作用表,該交互作用表包括所述方法的至少一個調(diào)用和與所述至少一個調(diào)用有關(guān)的性能數(shù)據(jù)。
19.根據(jù)權(quán)利要求18的方法,其特征在于所述性能數(shù)據(jù)包括所述至少一個方法的調(diào)用者。
20.根據(jù)權(quán)利要求19的方法,其特征在于所述性能數(shù)據(jù)進(jìn)一步包括將所述至少一個調(diào)用從所述調(diào)用者傳送到所述對象而引起的轉(zhuǎn)送延遲。
21.根據(jù)權(quán)利要求20的方法,其特征在于所述調(diào)用是要求處理和響應(yīng)的類型的,且其中所述性能數(shù)據(jù)進(jìn)一步包括所述至少一個方法的處理延遲和由于將所述響應(yīng)傳送給所述調(diào)用者而引起的返回延遲。
22.根據(jù)權(quán)利要求18的方法,其特征在于所述監(jiān)測包括保持一個政策表,該政策表包括所述至少一個方法和用于各個所述至少一個方法的目的交互作用時間。
23.根據(jù)權(quán)利要求22的方法,其特征在于所述監(jiān)測包括將所述目的交互作用時間同所述性能數(shù)據(jù)相比較以判定所述對象的性能是否令人滿意。
24.在包括多個執(zhí)行環(huán)境和一個對象的面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)中,用于管理所述對象的系統(tǒng),其中該對象具有在所述多個執(zhí)行環(huán)境的至少一個執(zhí)行環(huán)境中執(zhí)行的至少一個實例,該系統(tǒng)的特征在于用于監(jiān)測所述面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)中的所述對象的運(yùn)行性能的裝置;以及用于在運(yùn)行中響應(yīng)于所述監(jiān)測而改變?nèi)舾蓚€所述至少一個實例與若干個所述至少一個執(zhí)行環(huán)境中的至少一個的裝置,其中所述至少一個實例在所述至少一個執(zhí)行環(huán)境中得到執(zhí)行。
25.根據(jù)權(quán)利要求24的系統(tǒng),其特征在于所述對象的所述至少一個實例包括在單個執(zhí)行環(huán)境中執(zhí)行的單個實例,且其中所述用于改變的裝置包括用于將所述單個實例從所述單個執(zhí)行環(huán)境移到所述多個執(zhí)行環(huán)境中的另一執(zhí)行環(huán)境的裝置。
26.根據(jù)權(quán)利要求25的系統(tǒng),其特征在于所述用于移動的裝置包括用于將所述單個實例從所述單個執(zhí)行環(huán)境移到所述另一執(zhí)行環(huán)境的裝置,其中所述另一執(zhí)行環(huán)境和所述單個執(zhí)行環(huán)境是異類的。
27.根據(jù)權(quán)利要求26的系統(tǒng),其特征在于所述用于移動的裝置包括用于在所述單個執(zhí)行環(huán)境與所述另一執(zhí)行環(huán)境之間的所述移動期間保留所述對象的狀態(tài)的裝置。
28.根據(jù)權(quán)利要求24的系統(tǒng),其特征在于所述對象的所述至少一個實例包括在一個單個執(zhí)行環(huán)境中執(zhí)行的單個實例,且其中所述用于改變的裝置包括用于將所述對象分解成在所述多個執(zhí)行環(huán)境中的若干個執(zhí)行環(huán)境中執(zhí)行的若干個實例。
29.根據(jù)權(quán)利要求28的系統(tǒng),其特征在于用于分解的裝置包括用于將所述對象的所述單個實例的狀態(tài)復(fù)制到其所述若干個實例的裝置。
30.根據(jù)權(quán)利要求28的系統(tǒng),其特征在于盡管有所述分解,仍然能夠由所述對象的調(diào)用者以與所述分解之前相同的方式調(diào)用所述對象。
31.根據(jù)權(quán)利要求28的系統(tǒng),其特征在于所述用于分解的裝置包括用于保持在所述單個執(zhí)行環(huán)境中執(zhí)行的所述單個實例的裝置。
32.根據(jù)權(quán)利要求28的系統(tǒng),其特征在于所述用于分解的裝置包括用于除去在所述單個執(zhí)行環(huán)境中執(zhí)行的所述單個實例的裝置。
33.根據(jù)權(quán)利要求24的系統(tǒng),其特征在于所述對象的所述至少一個實例包括在若干個執(zhí)行環(huán)境執(zhí)行的若干個實例,且其中所述用于改變的裝置包括用于將所述對象合并到在單個執(zhí)行環(huán)境中執(zhí)行的單個實例的裝置。
34.根據(jù)權(quán)利要求33的系統(tǒng),其特征在于所述用于合并的裝置包括用于強(qiáng)化所述對象的所述若干個實例的狀態(tài)的裝置和用于將所述狀態(tài)加到所述對象的所述單個實例中的裝置。
35.根據(jù)權(quán)利要求33的系統(tǒng),其特征在于盡管有所述分解,仍然能夠由所述對象的調(diào)用者以與所述分解之前相同的方式調(diào)用所述對象。
36.根據(jù)權(quán)利要求24的系統(tǒng)其特征在于所述面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)包括一個對象管理器,且其中所述用于監(jiān)測的裝置包括用于跟蹤與所述對象有關(guān)的對象管理器活動的裝置。
37.根據(jù)權(quán)利要求36的系統(tǒng),其特征在于所述面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)包括進(jìn)行所述改變的運(yùn)行時間優(yōu)化器,且所述用于監(jiān)測的裝置包括用于將從所述跟蹤獲得的信息轉(zhuǎn)送到所述控制程序以用于所述改變的裝置。
38.根據(jù)權(quán)利要求24的系統(tǒng),其特征在于所述用于監(jiān)測的裝置包括用于監(jiān)測與所述對象有關(guān)的網(wǎng)絡(luò)參數(shù)的裝置。
39.根據(jù)權(quán)利要求38的系統(tǒng),其特征在于所述網(wǎng)絡(luò)參數(shù)包括網(wǎng)絡(luò)等待時間。
40.根據(jù)權(quán)利要求24的系統(tǒng),其特征在于所述用于監(jiān)測的裝置包括用于監(jiān)測所述至少一個實例在其中執(zhí)行的所述至少一個執(zhí)行環(huán)境的性能的裝置。
41.根據(jù)權(quán)利要求24的系統(tǒng),其特征在于所述對象包括至少一個方法,且其中所述用于監(jiān)測的裝置包括用于保持一個交互作用表的裝置—該交互作用表包括所述方法的至少一個調(diào)用和與所述至少一個調(diào)用有關(guān)的性能數(shù)據(jù)。
42.根據(jù)權(quán)利要求41的系統(tǒng),其特征在于所述性能數(shù)據(jù)包括所述至少一個方法的調(diào)用者。
43.根據(jù)權(quán)利要求42的系統(tǒng),其特征在于所述性能數(shù)據(jù)進(jìn)一步包括由于從所述調(diào)用者向所述對象傳送所述至少一個調(diào)用而產(chǎn)生的轉(zhuǎn)送延遲。
44.根據(jù)權(quán)利要求43的系統(tǒng),其特征在于所述調(diào)用是要求處理和響應(yīng)的類型的,且其中所述性能數(shù)據(jù)進(jìn)一步包括所述至少一個方法的處理延遲和由于將所述響應(yīng)傳送給所述調(diào)用者而產(chǎn)生的返回延遲。
45.根據(jù)權(quán)利要求41的系統(tǒng),其特征在于所述用于監(jiān)測的裝置包括用于保持一個政策表的裝置,該政策表包括所述至少一個方法和用于每一個所述至少一個方法的目的交互作用時間。
46.根據(jù)權(quán)利要求45的系統(tǒng),其特征在于所述用于監(jiān)測的裝置包括用于將至少一個所述目的交互作用時間與所述性能數(shù)據(jù)相比較以判定所述目標(biāo)的性能是否令人滿意的裝置。
全文摘要
在一種面向?qū)ο蟮挠嬎銠C(jī)系統(tǒng)中,對象的實例得到管理。對象的性能和其中的方法結(jié)合處理器和網(wǎng)絡(luò)性能而得到監(jiān)測。該性能信息被用來管理對象實例。具體地,對象的實例可以得到移動、分解或合并。例如,如果在一個對象被裝載到現(xiàn)行執(zhí)行環(huán)境上時該對象的方法滿足了性能目標(biāo),則確定一個執(zhí)行環(huán)境—在該執(zhí)行環(huán)境上對象實現(xiàn)其性能目標(biāo),且該對象被移到該執(zhí)行環(huán)境上。
文檔編號G06F11/34GK1158457SQ9611979
公開日1997年9月3日 申請日期1996年12月13日 優(yōu)先權(quán)日1995年12月27日
發(fā)明者富蘭克林·查爾斯·布雷斯勞, 保羅·格雷戈里·格林斯坦, 約翰·特德·羅登 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
泸溪县| 海盐县| 庆安县| 桐柏县| 龙里县| 饶阳县| 桦甸市| 东安县| 罗源县| 巴林左旗| 囊谦县| 酒泉市| 沅江市| 新巴尔虎左旗| 林州市| 苗栗市| 灯塔市| 航空| 崇州市| 上林县| 宁德市| 靖宇县| 龙里县| 岚皋县| 扎兰屯市| 同江市| 明溪县| 翁牛特旗| 五台县| 通河县| 新平| 佛冈县| 成都市| 汾阳市| 眉山市| 海原县| 河间市| 靖安县| 镇康县| 景洪市| 莱芜市|