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

用于分布式計算環(huán)境中的發(fā)現(xiàn)的系統(tǒng)、方法和計算機程序產(chǎn)品的制作方法

文檔序號:6416488閱讀:188來源:國知局
專利名稱:用于分布式計算環(huán)境中的發(fā)現(xiàn)的系統(tǒng)、方法和計算機程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及管理大型分布式計算機企業(yè)網(wǎng)絡(luò),更具體來說,涉及進行其中最好使用網(wǎng)絡(luò)中部署的、適合在本地運行環(huán)境中執(zhí)行的軟件部件的發(fā)現(xiàn)操作。
現(xiàn)今有許多公司都希望將它們的所有計算資源置于公司網(wǎng)絡(luò)上。為此目的,人們將計算機連入地理位置分散的大型網(wǎng)絡(luò)環(huán)境中,分布式地管理這種環(huán)境。有一種這類管理框架(framework)包含一個管理許多節(jié)點的服務(wù)器,每個節(jié)點有一個儲存本地節(jié)點專有的對象數(shù)據(jù)的本地對象數(shù)據(jù)庫。每個被管理節(jié)點通常包括一個管理框架,管理框架包含許多管理例程,并能以相對較大的數(shù)目(例如數(shù)百個)向遠程機器同時進行網(wǎng)絡(luò)連接。隨著被管理節(jié)點數(shù)目的增加,系統(tǒng)維護的問題也增多,發(fā)生機器故障或其它故障的機會也增多。
這種問題在典型的企業(yè)中隨著節(jié)點數(shù)的增加而變得嚴重。在這些節(jié)點中,只有一小部分是文件服務(wù)器、名稱服務(wù)器、數(shù)據(jù)庫服務(wù)器或者其它非線端或“端點”機器的機器。大多數(shù)網(wǎng)絡(luò)機器只是個人計算機或工作站,正常一天中少見有管理活動。
系統(tǒng)管理員通常是通過由管理員在某個本地機器上配置、然后分配或部署到網(wǎng)絡(luò)中的系統(tǒng)和網(wǎng)絡(luò)任務(wù)來管理這類環(huán)境的。接收這種任務(wù)的機器被稱作部署“目標”。然而,這種目標機器的位置和特性通常則是由管理員人工確定的。因此,例如如果要部署的任務(wù)是個數(shù)據(jù)庫管理應(yīng)用程序,管理員就必須指定網(wǎng)絡(luò)中特定的數(shù)據(jù)庫服務(wù)器。這個過程既繁瑣又費時,特別是當(dāng)網(wǎng)絡(luò)大小增加到包括有數(shù)千個連入機器時更是如此。如果系統(tǒng)管理員不對所有的目標機器作出指定,系統(tǒng)管理任務(wù)就可能得不到正確的執(zhí)行。另一方面,如果過分地指定目標的數(shù)量和位置,就會不必要地消耗網(wǎng)絡(luò)資源。
此外,網(wǎng)絡(luò)管理員有許多理由對在這種大型管理環(huán)境中進行所謂的“發(fā)現(xiàn)”操作感興趣。舉例來說,管理員可能希望確定環(huán)境中當(dāng)前有多少以及哪些機器支持某給定版本的軟件程序。要確定特定機器是否有足夠的資源(例如可用的磁盤存儲空間)支持軟件升級,也需要進行發(fā)現(xiàn)操作。進行發(fā)現(xiàn)操作的再另一個原因可能只是需要或要求進行系統(tǒng)或資源盤點,以利對將來的企業(yè)擴展作出規(guī)劃。因此,發(fā)現(xiàn)操作的性質(zhì)和類型是相當(dāng)不同的。
已知的分布式管理體系結(jié)構(gòu)不向系統(tǒng)管理員提供不必人工將任務(wù)與給定機器組關(guān)聯(lián)就能發(fā)出分配請求并部署任務(wù)的能力。同樣,這種已知技術(shù)尚未徹底改造得適合在這種環(huán)境中進行系統(tǒng)管理、管理和維護所需進行的范圍廣泛的基本發(fā)現(xiàn)操作,特別是當(dāng)網(wǎng)絡(luò)增長到包括數(shù)千個連入的被管理機器時更是如此。
本發(fā)明解決現(xiàn)有技術(shù)的這些和其它有關(guān)問題。
因此,本發(fā)明的一個主要目的是,在連接和管理了有大量機器的分布式計算機企業(yè)環(huán)境中進行發(fā)現(xiàn)操作。
本發(fā)明的另一個主要目的是,在分布式計算機網(wǎng)絡(luò)中部署在本地運行環(huán)境中執(zhí)行以進行這種發(fā)現(xiàn)操作的發(fā)現(xiàn)代理程序(discoveryagents)。
本發(fā)明的另一個主要目的是,提供能隨時部署到分布式被管理環(huán)境中、用于發(fā)現(xiàn)然后對于控制后繼操作(例如任務(wù)部署)有用的給定事實(例如機器和/或資源標識、特性、狀況、狀態(tài)、屬性等等)的軟件部件。
本發(fā)明的一個更具體的目的是,提供一種調(diào)度程序能用其標識用于接收一個任務(wù)部署的候選機器的特定機器、使得管理員或其它用戶不必人工地將任務(wù)與給定機器組關(guān)聯(lián)的機制。
本發(fā)明的一個特定目的是,將一個基于JAVA的軟件“發(fā)現(xiàn)代理程序”部署到分布式計算機網(wǎng)絡(luò)環(huán)境中,以發(fā)現(xiàn)網(wǎng)絡(luò)內(nèi)要被作為接收特定任務(wù)部署的目標的特定機器或資源。
本發(fā)明的另一個目的是,響應(yīng)目的旨在標識或定位用作接收給定任務(wù)的適當(dāng)目標機器或資源的給定請求而向大型分布式計算機網(wǎng)絡(luò)中啟動一組一個或多個發(fā)現(xiàn)代理程序。該任務(wù)可以是系統(tǒng)管理任務(wù)、管理任務(wù)、配置任務(wù)或者任何其它應(yīng)用程序。
本發(fā)明的一個進一步具體目的是,將網(wǎng)絡(luò)中調(diào)度的用于發(fā)現(xiàn)目的的軟件代理程序進行定制或裁剪成隨后要部署的任務(wù)類型的一個功能。這樣,軟件代理程序就能更好地確定是否有候選機器能適合作為部署的潛在目標。
本發(fā)明的另一個更一般的目的是,使大型分布式計算機網(wǎng)絡(luò)中分配目標的發(fā)現(xiàn)更加自動化,籍此減少系統(tǒng)管理的復(fù)雜性和費用。
本發(fā)明的另一個目的是,在大型計算機網(wǎng)絡(luò)中初始調(diào)度為發(fā)現(xiàn)用于后繼任務(wù)部署的分配目標可能所需的最小量的代碼。
本發(fā)明的進一步目的是,向分布式計算機網(wǎng)絡(luò)中部署一個自我路由選擇(self-routing)的軟件代理程序,以發(fā)現(xiàn)滿足給定標準的工作站。在特定的搜索期間,給定的代理程序可以在特定節(jié)點“克隆”自身,以便沿著新的網(wǎng)絡(luò)路徑繼續(xù)搜索。
本發(fā)明的另一個更一般的目的是,隨著移動式發(fā)現(xiàn)代理程序在網(wǎng)絡(luò)中的調(diào)度和遷移,收集關(guān)于大型計算機網(wǎng)絡(luò)化環(huán)境中工作站的信息。
本發(fā)明的這些和其它目的是通過本文披露的用于在大型的分布式計算環(huán)境中發(fā)現(xiàn)的系統(tǒng)、方法和程序產(chǎn)品而實現(xiàn)的。網(wǎng)絡(luò)環(huán)境中所支持的管理基礎(chǔ)結(jié)構(gòu)包括一個最好位于某個中央位置(例如管理服務(wù)器)的調(diào)度機構(gòu)和一個在網(wǎng)絡(luò)的給定節(jié)點上所支持的運行環(huán)境。特別地,該運行環(huán)境(例如引擎)最好是在分布式企業(yè)環(huán)境的每個被管理節(jié)點上所支持的分布式框架的一部分。
一個優(yōu)選方法從分配請求開始。分配請求不限于任何特定類型的系統(tǒng)或網(wǎng)絡(luò)管理、配置或管理任務(wù)。根據(jù)該請求,調(diào)度機構(gòu)判斷是否能將作為部署的目標的機器(即“目標機器”)從本地資源(例如存儲以前收集或生成的配置數(shù)據(jù)的本地儲存庫)中標識出來。如果得不到這種數(shù)據(jù)或者由于其它原因數(shù)據(jù)沒有用,調(diào)度機構(gòu)就將一組一個或多個“發(fā)現(xiàn)代理程序”部署到網(wǎng)絡(luò)中,發(fā)現(xiàn)代理程序的使命是定位并標識用于該部署的適當(dāng)目標。這些一個或多個代理程序于是就“擴散”到網(wǎng)絡(luò)中,收集信息,用于隨后的任務(wù)部署。發(fā)現(xiàn)代理程序最好是一小段定制或改編成以后要部署的特定任務(wù)的一個功能的代碼。這種定制能縮短完成整體搜索所需要的時間,因為可以“調(diào)整”代理程序,使其評估符合特定特性的候選節(jié)點。如果該特性不存在,軟件代理程序就可以另尋別處去搜索(或者克隆自身,訪問新的網(wǎng)絡(luò)路徑)。
當(dāng)特定發(fā)現(xiàn)代理程序到達網(wǎng)絡(luò)中某節(jié)點時,軟件代理程序最好連接到已經(jīng)存在的本地運行環(huán)境中,由此來啟動一個本地發(fā)現(xiàn)過程。由發(fā)現(xiàn)代理程序執(zhí)行的發(fā)現(xiàn)例程可能發(fā)現(xiàn)的情況有,本地機器(或其上的某種資源或應(yīng)用程序)是個合適的目標、本地機器(或其上的某種應(yīng)用程序)不是個合適的目標、或者所能獲取的信息不足以作出這種判斷。根據(jù)在該發(fā)現(xiàn)過程期間所獲得的信息,軟件代理程序也可以標識一個或多個必須遍歷以繼續(xù)發(fā)現(xiàn)過程并由此完成搜索的新的網(wǎng)絡(luò)路徑。軟件代理程序于是可以將自身啟動到另一個節(jié)點,或者“克隆”自身,需要時將“克隆的”代理程序啟動到新的網(wǎng)絡(luò)路徑。
如果軟件代理程序發(fā)現(xiàn),候選機器是合適的目標,就生成某種標識數(shù)據(jù)(例如確認標志、機器標識符、狀態(tài)標識符等等)。該標識數(shù)據(jù)然后被存儲在與代理程序關(guān)聯(lián)的一個數(shù)據(jù)存儲器內(nèi)(如果代理程序要返回到調(diào)度機構(gòu)的話),或者,也能將這種數(shù)據(jù)傳送回調(diào)度機構(gòu)(如果代理程序在發(fā)現(xiàn)過程結(jié)束時消除自身的話)。這種傳送可以用簡單的報文傳遞技術(shù)來實現(xiàn)。當(dāng)給定網(wǎng)絡(luò)路徑被窮盡時,發(fā)現(xiàn)代理程序于是就要么返回到調(diào)度機構(gòu),要么消除自身,這要視情況而定。
因此,在每個節(jié)點,軟件代理程序最好由以前部署在那里的運行引擎來運行。另一種可選方案是,軟件代理程序作為一個獨立的過程用現(xiàn)存的本地資源來運行。當(dāng)工作站(作為目標機器)的合適性不確定時,軟件代理程序會從調(diào)度機構(gòu)或某個其它網(wǎng)絡(luò)源獲取其它的代碼,以利其作出判斷。這種其它代碼可以是另一個軟件代理程序。
盡管一個優(yōu)選的“發(fā)現(xiàn)”操作涉及判斷一個給定機器或資源是否是任務(wù)部署的合適的目標,用類似方式也能實現(xiàn)其它更多的發(fā)現(xiàn)操作。因此,可以將發(fā)現(xiàn)操作用于清單控制(inventory control)、用于判定哪些機器支持哪些給定的軟件版本、用于判定某給定機器或關(guān)聯(lián)資源支持給定軟件或執(zhí)行給定任務(wù)的能力,如此等等。
以上概括說明了本發(fā)明某些更貼切的目的。這些目的應(yīng)當(dāng)視為是對本發(fā)明的某些突出特點和應(yīng)用的解釋性說明。通過以不同方式應(yīng)用所披露的發(fā)明,或者通過如本文將要說明的那樣改進本發(fā)明,可以取得許多有益結(jié)果。因此,通過參考以下對優(yōu)選實施例的詳細說明,可以了解到本發(fā)明的其它目的并更全面地理解本發(fā)明。
為了更完整地理解本發(fā)明及其優(yōu)點,應(yīng)參閱下文結(jié)合以下附圖的詳細說明

圖1所示的簡化圖表示本發(fā)明在其中實現(xiàn)的一個大型分布式計算企業(yè)環(huán)境;
圖2是一個優(yōu)選系統(tǒng)管理框架的框圖,表示框架功能是如何在網(wǎng)關(guān)及其在被管理區(qū)域內(nèi)的端點分布的;圖2A是包含系統(tǒng)管理框架的LCF客戶機部件的元件的框圖;圖3表示一個更小的企業(yè)“工作組”實現(xiàn),其中在同一個機器上支持服務(wù)器和網(wǎng)關(guān)功能;圖4是一個分布式計算機網(wǎng)絡(luò)環(huán)境,它具有一個用于執(zhí)行本發(fā)明優(yōu)選方法的管理基礎(chǔ)結(jié)構(gòu);圖5的流圖表示一個在計算機網(wǎng)絡(luò)中響應(yīng)分配請求而部署軟件發(fā)現(xiàn)代理程序的優(yōu)選方法;圖6是按照本發(fā)明優(yōu)選實施例的軟件代理程序本地發(fā)現(xiàn)機構(gòu)的流圖。
現(xiàn)在參見圖1,本發(fā)明最好在含有數(shù)目達到數(shù)千的“節(jié)點”的大型分布式計算機環(huán)境10中實現(xiàn)。這些節(jié)點通常地理位置分散,整體環(huán)境是以分布式方式“被管理”的。該被管理環(huán)境(ME)最好在邏輯上分解為一系列松散連接的被管理區(qū)域(MR)12,每個MR都有自己的管理服務(wù)器14,用于管理與該MR在一起的本地資源。網(wǎng)絡(luò)通常包括其它用于執(zhí)行其它分布式網(wǎng)絡(luò)功能的服務(wù)器(未予示出)。這些服務(wù)器包括名稱服務(wù)器、安全服務(wù)器、文件服務(wù)器、線程服務(wù)器、時間服務(wù)器等等。多個服務(wù)器14協(xié)調(diào)跨企業(yè)的活動,允許遠程地點的管理和操作。每個服務(wù)器14服務(wù)許多網(wǎng)關(guān)機器(geateway machines)16,每個網(wǎng)關(guān)機器又支持多個端點18。服務(wù)器14用終端節(jié)點管理器20來協(xié)調(diào)MR內(nèi)部的所有活動。
現(xiàn)在參見圖2,每個網(wǎng)關(guān)機器16運行系統(tǒng)管理框架的一個服務(wù)器部件22。服務(wù)器部件22是一個多線程的運行過程,包含數(shù)個部件對象請求代理程序即“ORB”21、授權(quán)服務(wù)程序23,對象位置服務(wù)程序25和基本對象適配器即“BOA”27。服務(wù)器部件22也包括對象庫29。ORB 21最好獨立于操作系統(tǒng)連續(xù)運行,并且經(jīng)進程間通信(IPC)設(shè)備19通過獨立的殘樁(stubs)與骨架(skeletons)與服務(wù)器和客戶機進程二者通信。特別地,采用一個安全的遠程過程調(diào)用(PRC)來調(diào)用對遠程對象的操作。網(wǎng)關(guān)機器16也包括操作系統(tǒng)15和線程機構(gòu)17。
系統(tǒng)管理框架包括一個在每個端點機器18上支持的客戶機部件24??蛻魴C部件24是一套低成本、維護量少的應(yīng)用程序集,最好是“無數(shù)據(jù)的”,即系統(tǒng)管理數(shù)據(jù)不是永久地在那里高速緩存或存儲。以這種“客戶機一服務(wù)器”方式實現(xiàn)的管理框架比現(xiàn)有技術(shù)有顯著的優(yōu)點,它能方便個人電腦連入被管理環(huán)境。采用面向?qū)ο蟮姆椒?,系統(tǒng)管理框架有利于執(zhí)行管理MR中資源所需的系統(tǒng)管理任務(wù)。這類任務(wù)的內(nèi)容相當(dāng)不同,其中包括文件和數(shù)據(jù)和數(shù)據(jù)分配、網(wǎng)絡(luò)使用監(jiān)控、用戶管理、打印機或其它資源的配置管理,等等,但不限于此。
在諸如圖1所示的大型企業(yè)中,最好為每個具有多個網(wǎng)關(guān)的MR配備一個服務(wù)器。對于如圖3所示的工作組大小的裝置(例如一個局域網(wǎng))來說,可以采用單一的服務(wù)器級機器來作為服務(wù)器和網(wǎng)關(guān),客戶機機器則運行一個低維護量的框架。因此,雖然本文所稱的服務(wù)器和一個或多個網(wǎng)關(guān)是不同的概念,但不應(yīng)受此限制而認為一定是不同的東西,因為這些元件可能被組合在一個單一平臺中。對于中等大小的裝置來說,MR的大小橫向增加,要采用更多網(wǎng)關(guān)來平衡端點的負載。
服務(wù)器是高于所有網(wǎng)關(guān)和端點的頂級機構(gòu)。服務(wù)器保存著一個端點列表,端點列表跟蹤記錄被管理區(qū)域中的每個端點。該列表最好含有唯一地標識和管理端點所必需的所有數(shù)據(jù),包括但不限于諸如名稱、位置和機器類型等數(shù)據(jù)。服務(wù)器也保存著端點與網(wǎng)關(guān)之間的映射,這種映射最好是動態(tài)的。
如上所述,每個被管理區(qū)域有一個或多個網(wǎng)關(guān)。網(wǎng)關(guān)最好是已經(jīng)被配置成作為網(wǎng)關(guān)操作的完全管理的節(jié)點。當(dāng)端點登錄時,網(wǎng)關(guān)為其端點構(gòu)建一個端點列表。網(wǎng)關(guān)的職責(zé)最好包括聽取端點登錄請求、聽取端點更新請求以及(主要任務(wù))作為對端點進行過程調(diào)用的網(wǎng)關(guān)而工作。
同樣如上所述,端點是運行系統(tǒng)管理框架客戶機部件的機器,本文中稱系統(tǒng)管理框架客戶機部件為低成本框架(LCF)。如圖2A中所示,LCF有兩個主要部分LCF守護程序24a和應(yīng)用程序運行庫24b。LCF守護程序24a負責(zé)端點登錄并負責(zé)大量產(chǎn)生應(yīng)用程序端點可執(zhí)行程序。一旦產(chǎn)生了一個可執(zhí)行程序,LCF守護程序24a就不進一步與其發(fā)生作用。每個可執(zhí)行程序被連接到應(yīng)用程序運行庫24b,后者處理所有其它與網(wǎng)關(guān)的通信。
最好,服務(wù)器和每個網(wǎng)關(guān)都是一臺計算機或“機器”。例如,每個計算機可以是一個RISC System/6000(一種精簡指令集或所謂的基于RISC的工作站),運行著AIX(高級交互式執(zhí)行程序)操作系統(tǒng),最好是3.2.5版或更高版本。合適的替用機器包括IBM兼容的x86或更高機型,運行Nove1l UnixWare 2.0;AT&T 3000系列機,運行AT&T UNIX SVR4 MP-RAS 2.02版或更高版本;Data General AViiON系列機,運行DG/UX 5.4R3.00版或更高版本;HP9000/700和800系列機,運行HP/UX 9.00-HP/UX 9.05;Motorola 88K系列機,運行SVR4 R40V4.2版;Sun SPARC系列機,運行Solaris 2.3或2.4;SunSPARC系列機,運行SunOS 4.1.2或4.1.3。當(dāng)然也可以采用其它機器和/或操作系統(tǒng)來作為網(wǎng)關(guān)和服務(wù)器機器。
每個端點也是一臺計算機。在本發(fā)明一個實施例中,多數(shù)端點都是個人電腦(例如桌面機或膝上機)。在這種結(jié)構(gòu)中,端點不必是功能強大或復(fù)雜的機器或工作站。可以有一個或多個端點是筆記本計算機,例如IBM ThinkPad計算機,或者其它運行Window’95或更高版本操作系統(tǒng)的基于Pentium或Intel x86系列計算機。運行OS/2操作系統(tǒng)的IBM或IBM兼容機也可以作端點用。端點計算機最好包括一個諸如Netscape Navigator或Microsoft Internet Explorer的瀏覽器,可以經(jīng)因特網(wǎng)、內(nèi)部網(wǎng)或某種其它計算機網(wǎng)絡(luò)連接到網(wǎng)關(guān)。
圖4所示的是在企業(yè)環(huán)境中實現(xiàn)的本發(fā)明的一個最佳實施例。諸如下文將要討論的,有一組軟件“發(fā)現(xiàn)代理程序”可用,它們位于一個中央位置(例如管理器14),或者位于其中指定、配置和/或部署了事務(wù)管理、配置或其它管理任務(wù)的網(wǎng)絡(luò)中的多個位置(例如網(wǎng)關(guān)16)。軟件代理程序是“移動式的”,即代理程序是從調(diào)度機構(gòu)調(diào)度(下文將要說明)、然后在網(wǎng)絡(luò)環(huán)境中移動的。
一般來說,移動式軟件代理程序遍歷網(wǎng)絡(luò),去執(zhí)行所謂的“發(fā)現(xiàn)”操作。發(fā)現(xiàn)操作的類型可能相當(dāng)不同。因此,例如,一旦發(fā)現(xiàn)應(yīng)用程序開始后,可以由位于某管理資源的用戶通過圖形用戶界面(GUI)來啟動某特定的發(fā)現(xiàn)操作。這個操作可能只是發(fā)出一個或多個發(fā)現(xiàn)代理程序去查詢機器組的每個機器(給定代理程序在該機上執(zhí)行)以確定該機器的“類型”。發(fā)現(xiàn)操作能識別出與給定機器關(guān)聯(lián)的資源清單。發(fā)現(xiàn)操作能確定給定機器是否有特定類型的資源。另一種發(fā)現(xiàn)操作能簡單地查詢機器,以發(fā)現(xiàn)機器或相關(guān)資源是否具有給定的特性。后一種情形的一個例子是,在給定機器上啟動一個發(fā)現(xiàn)操作以判定某特定資源(例如某磁盤驅(qū)動器分區(qū))是否達到某個定義的標準(例如存儲空間)。所以,特定的發(fā)現(xiàn)操作可能相當(dāng)通用,也可能非常專用;而且給定操作也能涉及現(xiàn)有狀態(tài)(例如現(xiàn)有資源或它們的操作狀態(tài))或者也能判定機器是否能支持將來的其它資源(例如支持計劃的系統(tǒng)擴展)。后一種情形的一個例子是,網(wǎng)絡(luò)管理員想要對現(xiàn)有機器進行清查,以判定這些機器中有哪些可能需要軟件升級。
在一個具有代表性的應(yīng)用中,網(wǎng)絡(luò)管理員想要監(jiān)控分布式計算機環(huán)境中的某給定資源。當(dāng)然在這種情況下,發(fā)現(xiàn)代理程序的性質(zhì)可以直接聯(lián)系到其為之工作的監(jiān)控部件上。因此,對于希望監(jiān)控只有從特定操作系統(tǒng)才能得到的某種量度的監(jiān)控部件,發(fā)現(xiàn)代理程序報告的只是在這種系統(tǒng)上的成功發(fā)現(xiàn)。
某些監(jiān)控部件可能是用于監(jiān)控一定的資源類型,其中資源的某些實例可能出現(xiàn)在給定計算機上。這種資源例如包括磁盤驅(qū)動器或其部件(即文件系統(tǒng))、特定類型的進程、特定類型的日志文件等等。于是就可以將用于這些部件的發(fā)現(xiàn)代理程序設(shè)計成去發(fā)現(xiàn)在給定計算機上的這種資源的實例,然后如果需要的話,為每個被發(fā)現(xiàn)資源實例化監(jiān)控部件的一個拷貝。
有些發(fā)現(xiàn)代理程序被設(shè)計成連續(xù)地監(jiān)控某系統(tǒng)的狀態(tài),使得動態(tài)出現(xiàn)和消失的資源能被跟蹤。這種代理程序通常按照某個簡單的進度度量掃描尋找資源實例。這種資源的一個例子是在某客戶機與某軟件服務(wù)器進程之間的活動連接。
發(fā)現(xiàn)進程產(chǎn)生的一個結(jié)果是,所發(fā)現(xiàn)的信息經(jīng)常被收集,希望將其返回到調(diào)度程序或某個其它位置。返回到用戶的特定信息必定依賴于所啟動的發(fā)現(xiàn)操作的類型。這種信息的表示和格式是一種設(shè)計問題,并不是本發(fā)明的限制。舉例來說,如果發(fā)現(xiàn)操作僅僅是尋找具有“x.y版本”的給定軟件例程的所有機器的標識,那么返回的信息可能僅僅就是在滾動列表框或其它已知GUI結(jié)構(gòu)中顯示出來的被識別資源的一個有序列表。
在以下討論的示例性實施例中,發(fā)現(xiàn)操作判定被管理環(huán)境中有哪些機器要接受特定的任務(wù)部署,例如某個用于管理分布式網(wǎng)絡(luò)中資源的分布式監(jiān)控應(yīng)用程序。盡管對該例子的說明很詳細,一般熟練人員會明白,特定發(fā)現(xiàn)操作視不同的情況,其性質(zhì)、類型和特性會有相當(dāng)?shù)淖兓?。本發(fā)明不局限于任何特定的發(fā)現(xiàn)操作或這類操作的任何定義集合。
在本示例性實施例中,要在環(huán)境中部署的特定任務(wù)可能是專用的,但是目標機器可能并不是很容易就能確定。在這種情況下,要標識和調(diào)度一個適當(dāng)?shù)摹鞍l(fā)現(xiàn)”代理程序去確定這種信息。如果代理程序沒有在檢查的初始位置找到目標機器,代理程序(或其克隆)就在網(wǎng)絡(luò)中漫游,繼續(xù)搜尋。代理程序最好根據(jù)在調(diào)度位置收到的信息以及可選地從每個檢查過的位置收集的信息來選擇其在網(wǎng)絡(luò)中的前進路徑。我們將會看到,隨著軟件發(fā)現(xiàn)代理程序在網(wǎng)絡(luò)中的移動,特定“路徑”通常發(fā)生著變化,這是因為從特定節(jié)點收集的信息會以某種給定方式為發(fā)現(xiàn)代理程序重新指示方向。
僅僅為了示例目的,圖4表示了在大型分布式企業(yè)環(huán)境中實現(xiàn)的一個這種方法,當(dāng)然這并不是本發(fā)明的限制。在這個例子中,管理器14包括調(diào)度機構(gòu)35,它有一組與其關(guān)聯(lián)的軟件代理程序37。另一種可選方案是,調(diào)度機構(gòu)35包括一組可配置的軟件任務(wù)39,由它們能構(gòu)造一個或多個代理程序。管理器14最好也包括標識分布式計算環(huán)境中所有要被管理的機器的清單數(shù)據(jù)。調(diào)度結(jié)構(gòu)本身可以分布在多個節(jié)點上。
至少有些網(wǎng)關(guān)節(jié)點16和至少有些終端節(jié)點18(或它們的某個定義子集)都包括一個已經(jīng)經(jīng)過某分配服務(wù)程序下載到該特定節(jié)點的運行引擎41。引擎41為軟件代理程序提供運行環(huán)境。盡管并不意味著限定,但該特定分配技術(shù)涉及一種預(yù)約過程(subscriptionprocess),諸如美國專利系列號08/414,960、名稱為“管理分布式計算機網(wǎng)絡(luò)配置信息的方法”中所述過程(該專利受讓給本發(fā)明的受讓人)。另一個辦法是,診斷引擎可以用系列號xx/xxx,xxx、名稱為“Drag And Drop Technique For Distributing Visual BuilderBuilt Tasks In A Computer Network”中所述技術(shù)(該專利受讓給本發(fā)明的受讓人),分配到各種節(jié)點。這些文件被本文采用作為參考。
如上所述,本發(fā)明自動地部署一個或多個執(zhí)行給定發(fā)現(xiàn)操作(例如定位特定機器、其上的資源,等等)的軟件發(fā)現(xiàn)代理程序,以便于進行由管理員或其它系統(tǒng)實體指定的特定事務(wù)管理、配置或其它管理任務(wù)(或可能是其它某種服務(wù))。軟件代理程序最好是由位于代理程序到達的節(jié)點處的運行引擎執(zhí)行的一個軟件部件(即一段代碼)?;蛘?,軟件代理程序也可以作為使用本地資源的獨立應(yīng)用程序而運行。另一個可選方案是,使軟件代理程序控制一個引擎,由引擎檢查主機平臺(host platform),然后執(zhí)行發(fā)現(xiàn)操作(本例中是確定主機接受目標任務(wù)部署的合適性)。
在一個具有代表性的實施例中,運行引擎和軟件代理程序都是用JAVA語言方便地編寫的。本領(lǐng)域眾所周知,JAVA是一種面向?qū)ο蟆⒍嗑€程、可移動、獨立于平臺的安全編程環(huán)境,用于開發(fā)、測試和維護軟件程序。JAVA程序已經(jīng)在萬維網(wǎng)中得到廣泛的應(yīng)用。萬維網(wǎng)是因特網(wǎng)的多媒體信息檢索系統(tǒng)。這些程序包括功能齊全的交互式、獨立的應(yīng)用程序,以及在執(zhí)行JAVA語言的Web瀏覽器中運行的、稱為小應(yīng)用程序的更小的程序。
在本發(fā)明一個特定實施例中,軟件代理程序是一個Java小應(yīng)用程序(例如它由一個JAVA“類”文件的集合組成),而運行環(huán)境包括一個與Web瀏覽器關(guān)聯(lián)的JAVA虛擬機(JVM)。在這個解釋性的例子中,網(wǎng)絡(luò)的各種節(jié)點都是因特網(wǎng)、某個內(nèi)部網(wǎng)或其它計算機網(wǎng)絡(luò)的一部分。
當(dāng)系統(tǒng)管理員配置一個用于部署的任務(wù)時,調(diào)度機構(gòu)編譯適當(dāng)?shù)腏AVA類文件(最好是在任務(wù)或其某種特性的基礎(chǔ)上進行)并在網(wǎng)絡(luò)中調(diào)度該小應(yīng)用程序(作為軟件代理程序)。視網(wǎng)絡(luò)的大小、配置和/或拓撲結(jié)構(gòu)等情況,可以調(diào)度多個代理程序。每個小應(yīng)用程序然后在位于某候選節(jié)點的JVM上執(zhí)行,判斷該節(jié)點是否是部署該任務(wù)的合適目標。
圖5是一個示意性的根據(jù)本發(fā)明的發(fā)現(xiàn)例程。該例程的有些部分可能并確實經(jīng)常在不同的控制條件下在不同的時間發(fā)生。將它們放在一起解釋和說明是為了簡化說明文字。
該例程于步驟30開始,將運行引擎分配給各個節(jié)點。在這個實施例中,運行引擎可以是LCF運行庫24B的一部分,正如前文已經(jīng)說明的那樣。更大的可能是,運行引擎是在在先節(jié)點配置任務(wù)期間先于運行庫部署的。無論哪一種情況,這些運行引擎都結(jié)合起來形成企業(yè)環(huán)境的管理基礎(chǔ)結(jié)構(gòu)的一部分。一旦管理基礎(chǔ)結(jié)構(gòu)就位,實際操作例程就開始。
在步驟32,在調(diào)度機構(gòu)15進行一次測試,判斷是否某給定事件(例如任務(wù)部署請求、過程調(diào)用等等)已經(jīng)被生成并從網(wǎng)絡(luò)中的其它地方被接收。如果是上述的任務(wù)部署,管理員就用常規(guī)的GUI進行所需要的任務(wù)配置。該特定的任務(wù)配置或該規(guī)范技術(shù)不是本發(fā)明的內(nèi)容。當(dāng)然,步驟32可以代表任何給定功能,并不僅僅局限于任務(wù)部署。然而為了方便進一步的討論,我們假定該發(fā)現(xiàn)進程是一個這種部署的附屬。
如果步驟32的測試結(jié)果是否定的,則例程如圖所示作循環(huán)。然而,如果步驟32的測試結(jié)果表明已經(jīng)指定了一個要部署的任務(wù),則過程繼續(xù)到步驟34。
在步驟34,進行一次測試,判斷該發(fā)現(xiàn)進程是否已經(jīng)由系統(tǒng)或系統(tǒng)管理員以該規(guī)范的性質(zhì)啟動。盡管并不意味著限定,管理員啟動發(fā)現(xiàn)進程(以及特別是規(guī)定該發(fā)現(xiàn)操作)的方法可以是利用GUI、命令行界面(CLI)或任何其它已知界面技術(shù)。如果步驟34的測試結(jié)果是否定的,則例程結(jié)束。如果步驟34的測試結(jié)果是肯定的,表明該發(fā)現(xiàn)進程已經(jīng)被啟動,則例程繼續(xù),在步驟36查詢(例如位于管理服務(wù)器中的)儲存庫43,以判定是否目標機器以及它們的特性(例如位置、狀態(tài)、狀況、配置等等)已經(jīng)被發(fā)現(xiàn)或規(guī)定。如果步驟36的測試結(jié)果是肯定的,則在步驟38,例程將數(shù)據(jù)返回到調(diào)度機構(gòu),然后如果需要的話,則在步驟40,將返回數(shù)據(jù)實例化。如果按此路徑進行,則例程然后就結(jié)束,因為不需要進行發(fā)現(xiàn)。
然而如果步驟36的查詢結(jié)果表明從儲存庫得不到必需的數(shù)據(jù)(例如因為這種儲存庫并不存在,因為用于改編分配方案所需的某種數(shù)據(jù)尚未收集,因為數(shù)據(jù)由于某種老化因素而過時,等等),則例程在步驟42繼續(xù)。特別地,要對將要部署的任務(wù)進行分析,標識出一個或多個搜索特征。這個步驟可以自動執(zhí)行,也可以由用戶(例如通過GUI)所規(guī)定的數(shù)據(jù)進行控制。因此,例如,如果將要部署的任務(wù)是一個將要在數(shù)據(jù)庫服務(wù)器上支持的數(shù)據(jù)庫管理任務(wù),則步驟42就可以標識出候選機器的某個給定特征,以方便搜索進程。在本例中,該特征可以是“具有駐留的數(shù)據(jù)庫服務(wù)器軟件的機器”之類。為了方便這個進程,GUI可以顯示圖標或其它可視器件,供選擇以形成與機器、資源或它們的屬性的關(guān)聯(lián)關(guān)系。當(dāng)然,任何方便的規(guī)范或選擇機制都是可以采用的。通過標識將要部署的任務(wù)的一個或多個特征,本發(fā)明性機制就可以改編或定制軟件代理程序,以便能效率更高地查找某些特定的硬件、軟件或者某候選機器上的其它部件。
為此目的,例程在步驟44繼續(xù),根據(jù)步驟42得出的給定特征,根據(jù)用戶選擇或系統(tǒng)選擇的某些其它標準,或者根據(jù)諸如歷史數(shù)據(jù)的某些其它數(shù)據(jù),選擇、構(gòu)造適當(dāng)?shù)能浖沓绦蚧驅(qū)χ俜诸?。如本文所述,步驟44的選擇過程涉及將一個或多個軟件任務(wù)編譯成一個用于這種目的的“定制的”軟件代理程序。因此,本發(fā)明包括使用現(xiàn)有軟件代理程序以及使用被創(chuàng)建或“實時”(on-the-fly)生成的代理程序這兩個方面。
在步驟46,軟件代理程序被部署到網(wǎng)絡(luò)中。代理程序包括的適當(dāng)?shù)睦蹋辉O(shè)計成能使代碼能溶入本地執(zhí)行上下文中并被控制,以實現(xiàn)特定的發(fā)現(xiàn)操作。步驟46涉及根據(jù)網(wǎng)絡(luò)的拓撲結(jié)構(gòu)而部署(同時或逐漸調(diào)度的)多個代理程序。如上所述,每個軟件代理程序都是移動式“發(fā)現(xiàn)”代理程序,目的都是發(fā)現(xiàn)該分配數(shù)據(jù)。發(fā)現(xiàn)代理程序部署例程在此完成。
圖6的流圖示出位于某特定節(jié)點的發(fā)現(xiàn)操作。該例程開始于步驟50,此時某給定軟件代理程序到達該節(jié)點。當(dāng)然,因為可以在網(wǎng)絡(luò)內(nèi)調(diào)度多個代理程序,所以圖6所示的代理程序可以在網(wǎng)絡(luò)中許多不同節(jié)點上同時地(或不同時)執(zhí)行。在步驟52,發(fā)現(xiàn)代理程序被連接到本地自動化引擎。這種連接通常涉及將軟件代理程序結(jié)合到運行環(huán)境中。然后在步驟54啟動該本地發(fā)現(xiàn)進程。在步驟56,進行一次測試,判斷所測試的系統(tǒng)是否符合給定標準(最好是由上述定制進程所規(guī)定的標準)。如果步驟56的測試結(jié)果不確定,例程就如圖所示地循環(huán)。然而如果步驟56的測試結(jié)果表明該機器(或其某給定部件)滿足軟件代理程序規(guī)定的搜索標準,該例程轉(zhuǎn)移到步驟58。
在例程中的這個位置,軟件代理程序收集、編譯或相反地生成調(diào)度機構(gòu)可能要求或需要的適當(dāng)數(shù)據(jù)。這種數(shù)據(jù)例如包括,標識主機平臺、其位置和其它標識特征的信息或數(shù)據(jù)、標識操作部件當(dāng)前狀態(tài)的數(shù)據(jù),等等。該特定數(shù)據(jù)類型視要部署的任務(wù)而變,或更一般來說,視發(fā)現(xiàn)操作本身的性質(zhì)而變。在步驟60,進行一次測試,判斷軟件代理程序是否是自消除型的,即代理程序是否在完成給定網(wǎng)絡(luò)路徑上的搜索后消除或“殺死”自己。如果步驟60的測試結(jié)果表明軟件代理程序是自消除型的,例程通過利用例如本地報文設(shè)施將標識數(shù)據(jù)傳送回網(wǎng)絡(luò)而在步驟62繼續(xù)進行。如果軟件代理程序不是自消除型的,就在步驟64將標識數(shù)據(jù)寫到與代理程序關(guān)聯(lián)的數(shù)據(jù)存儲器。這種數(shù)據(jù)在以后當(dāng)軟件代理程序返回到調(diào)度機構(gòu)時被放出。典型的數(shù)據(jù)存儲器位于代理程序代碼自身“內(nèi)”?;蛘撸瑯俗R數(shù)據(jù)也可以在該平臺存儲。
控制然后在步驟66繼續(xù)。在主處理循環(huán)中,如果步驟56的結(jié)果表明該平臺不符合搜索標準規(guī)定的條件,也要到達這個步驟。在步驟66,進行一次測試,判斷是否應(yīng)當(dāng)遍歷其它網(wǎng)絡(luò)路徑。這個問題的確定,標準可能很簡單-例如特定機器是個端點(在這種情況下,不需要進一步的遍歷),也可能更復(fù)雜。如果測試結(jié)果是否定的,則例程要么消除軟件代理程序(如果步驟60的測試結(jié)果是肯定的),要么軟件代理程序被發(fā)回到調(diào)度機構(gòu)。這就是步驟68。然而如果步驟66的測試結(jié)果是肯定的,則存在要有軟件代理程序遍歷的其它網(wǎng)絡(luò)路徑。
例程然后在步驟70繼續(xù),測試是否要克隆軟件代理程序以繼續(xù)進行搜索。在一定的情況下,例如當(dāng)軟件代理程序可能對有些其它診斷目的有用時,可能希望在本地發(fā)現(xiàn)已經(jīng)完成后將代理程序保留在該平臺。這樣,例如將來在該節(jié)點進行的發(fā)現(xiàn)操作就能因為已經(jīng)駐留有上一次執(zhí)行過的代理程序(或其某個部分)而得到簡化。
所以,軟件代理程序一般包括返回調(diào)度程序的功能、保留在節(jié)點的功能、克隆自身以及啟動自己另一個實例以繼續(xù)搜索的功能。如果步驟70的測試結(jié)果是肯定的,則軟件代理程序就在步驟72克隆,然后在步驟74在某標識路徑上啟動。這個例程以循環(huán)方式繼續(xù),直到所有軟件代理程序要么消除了自身,要么返回到調(diào)度程序。返回給調(diào)度程序的數(shù)據(jù)最好作為參考數(shù)據(jù)存儲起來,以方便(例如限窄)將來搜索“域”。
因此,本發(fā)明提供一種用于為環(huán)境中某個要部署的任務(wù)發(fā)現(xiàn)目標工作站的位置和特性的機制。任務(wù)本身可以是軟件代理程序或者任何其它類型的應(yīng)用程序、進程或其它例程。如果進行過在先的發(fā)現(xiàn),則從中導(dǎo)出的數(shù)據(jù)可以被用來方便該部署。然而,如果這種數(shù)據(jù)得不到或者因為其它原因不能使用(例如由于已經(jīng)過時),則要首先啟動一個或多個發(fā)現(xiàn)代理程序去發(fā)現(xiàn)所要求的數(shù)據(jù)。發(fā)現(xiàn)的數(shù)據(jù)然后被返回給調(diào)度程序,用于方便對任務(wù)進行“有目標的”分配。
普通熟練人員知道,調(diào)度程序可以按一種或多種方式來指引搜索策略,以減少所需軟件代理程序的數(shù)量或者為生成目標節(jié)點清單所必須訪問的節(jié)點的數(shù)量。軟件代理程序然后就能被部署到一般“目標”區(qū),然后在其中標識出特定的目標位置。
在一個優(yōu)選實施例中,代理程序是一個由一組可路由選擇到的大型分布式計算機網(wǎng)絡(luò)中適當(dāng)系統(tǒng)的任務(wù)組成的對象。該任務(wù)組可以按需要組合,來診斷和/或更正錯誤。在每個節(jié)點處,代理程序最好被包括進去,否則就由以前部署的運行環(huán)境執(zhí)行。這樣,由于發(fā)現(xiàn)功能的一大部分(即運行引擎)已經(jīng)位于待評估的系統(tǒng)中,所以網(wǎng)絡(luò)通信得到進一步的減少。
一旦目標機器已經(jīng)被標識出來,任務(wù)就被部署到這些機器,或者采取其它行動。例如,可以在調(diào)度程序或其它地方存儲這些目標機器的一個“映射表”,以方便以后要進行的部署。所以,該發(fā)現(xiàn)機制也可以用于為研究或其它目的“繪制”或“映射”網(wǎng)絡(luò)化環(huán)境的拓撲圖。當(dāng)以后要部署任務(wù)時,部署工作就只集中在被要求接收任務(wù)的那些被管理網(wǎng)絡(luò)的區(qū)域。這就大大地降低了帶寬,由此保留了網(wǎng)絡(luò)資源。
一個特定代理程序可能沒有判斷節(jié)點是否是合適目標所必需的代碼。代理程序可以具有必需的代碼,或者可以向調(diào)度機構(gòu)發(fā)出請求,要求獲得額外的代碼來實現(xiàn)本地發(fā)現(xiàn)進程。這種額外代碼可以是其它軟件代理程序。
軟件代理程序最好是為發(fā)現(xiàn)目標機器或執(zhí)行與本地發(fā)現(xiàn)進程關(guān)聯(lián)的某種任務(wù)而必需的最小量的軟件代碼。通過在引擎中分配一些發(fā)現(xiàn)功能,網(wǎng)絡(luò)帶寬得到節(jié)省,因為只有少量的代碼需要調(diào)度到目標現(xiàn)場。這就進一步降低了大型企業(yè)環(huán)境中系統(tǒng)管理的復(fù)雜性和費用。
每個端點上運行的客戶機-類框架最好是低維護、低費用的框架,隨時能執(zhí)行管理任務(wù),但消耗不多的機器資源(因為它一般處于空閑狀態(tài))。每個端點最好是“無數(shù)據(jù)的”,意思是在特定系統(tǒng)管理任務(wù)被實現(xiàn)或執(zhí)行之前或之后,系統(tǒng)管理數(shù)據(jù)不在其中存儲。這個體系優(yōu)點是能對具有十來個服務(wù)器、上百個網(wǎng)關(guān)機、上千個端點的企業(yè)進行合理的劃分。每個服務(wù)器通常服務(wù)多達200個網(wǎng)關(guān),每個網(wǎng)關(guān)服務(wù)上千個端點。在框架層,所有去向或來自端點的操作都要通過網(wǎng)關(guān)機。在許多操作中,網(wǎng)關(guān)是透明的;它接收一個請求,確定目標,再發(fā)送請求,等待結(jié)果,然后將結(jié)果返回調(diào)用者。每個網(wǎng)關(guān)都處理多個同時的請求,企業(yè)中可以有任意數(shù)量的網(wǎng)關(guān),要確定精確的數(shù)目依賴許多因素,包括可用資源情況以及要服務(wù)的端點數(shù)量。
在優(yōu)選實施例中,就是這樣在大型分布式企業(yè)中實現(xiàn)這些和其它目的的,這些大型分布式企業(yè)包括有組織成一個或多個被管理區(qū)域的計算資源,每個區(qū)域由一個服務(wù)一個或多個網(wǎng)關(guān)機的管理服務(wù)器管理,每個網(wǎng)關(guān)機服務(wù)多個端點機。諸如已經(jīng)展示和說明的那樣,系統(tǒng)管理框架最好“分布”在網(wǎng)關(guān)機和一個或多個要執(zhí)行系統(tǒng)管理任務(wù)的端點機上。盡管以上環(huán)境是優(yōu)選環(huán)境,一般熟練人員明白,這些發(fā)明性概念可以在更小的分布式客戶機服務(wù)器網(wǎng)絡(luò)環(huán)境中實現(xiàn)。所以,本發(fā)明不應(yīng)被解釋為局限于在優(yōu)選實施例中所述的特定大規(guī)模分布式計算環(huán)境。
本發(fā)明的一種優(yōu)選實現(xiàn)方案是作為在計算機隨機存取存儲器駐留的代碼模塊中的一個指令集。在被計算機需要之前,該指令集可以存儲在另一個計算機存儲器中,例如存儲在硬盤驅(qū)動器或存儲在一種諸如光盤(最終在CD ROM中使用)或軟盤(最終在軟盤驅(qū)動器中使用)的可拆卸式存儲器中,或者甚至通過因特網(wǎng)下載。
此外,盡管所述各種方法可以方便地在由軟件選擇性地啟動或重新配置的通用計算機中實現(xiàn),一般熟練人員也會認識到,這類方法以硬件、固件執(zhí)行,或者以為執(zhí)行所需方法步驟而構(gòu)建的更專用的設(shè)備中執(zhí)行。
此外,盡管本發(fā)明是用特定網(wǎng)絡(luò)環(huán)境中的優(yōu)選實施例來說明的,本領(lǐng)域的熟練人員會認識到,按照后附諸權(quán)利要求的精神和范圍,本發(fā)明經(jīng)過修改可以在其它不同的網(wǎng)絡(luò)體系中應(yīng)用。此外,本發(fā)明性診斷技術(shù)應(yīng)當(dāng)在任何分布式網(wǎng)絡(luò)環(huán)境中都有效。
以上說明了本發(fā)明。我們認為以下權(quán)利要求具有新穎性,要求得到專利法的保護。
權(quán)利要求
1.一種在具有服務(wù)一組機器的管理服務(wù)器的分布式計算機網(wǎng)絡(luò)中進行發(fā)現(xiàn)的方法,包含以下步驟在該組機器的一個子組上部署一個運行引擎的實例,以便在該分布式計算機網(wǎng)絡(luò)中創(chuàng)建一個分布式運行環(huán)境;響應(yīng)某給定事件,將一個發(fā)現(xiàn)代理程序從一個源部署到該計算機網(wǎng)絡(luò)中;在支持該運行引擎的實例的給定機器上,用運行引擎執(zhí)行該發(fā)現(xiàn)代理程序以進行一個發(fā)現(xiàn)操作。
2.權(quán)利要求1所述的發(fā)現(xiàn)方法,其中該發(fā)現(xiàn)操作是從一組發(fā)現(xiàn)操作中選擇的,這組發(fā)現(xiàn)操作的內(nèi)容由標識適合任務(wù)部署的機器、標識與某機器關(guān)聯(lián)的資源集合、標識機器類型、標識某機器上資源的給定特性組成。
3.權(quán)利要求1所述的發(fā)現(xiàn)方法,進一步包括收集由該發(fā)現(xiàn)代理程序發(fā)現(xiàn)的數(shù)據(jù)的步驟。
4.權(quán)利要求3所述的發(fā)現(xiàn)方法,進一步包括將該發(fā)現(xiàn)代理程序返回給源的步驟。
5.權(quán)利要求1所述的發(fā)現(xiàn)方法,進一步包括在該機器上克隆該發(fā)現(xiàn)代理程序的步驟。
6.權(quán)利要求5所述的發(fā)現(xiàn)方法,進一步包括沿該計算機網(wǎng)絡(luò)中的一個新路徑啟動該克隆的發(fā)現(xiàn)代理程序的步驟。
7.權(quán)利要求1所述的發(fā)現(xiàn)方法,其中的該運行環(huán)境包含一個運行引擎,該發(fā)現(xiàn)代理程序是可被該運行引擎執(zhí)行的一組一個或多個任務(wù)。
8.權(quán)利要求7所述的發(fā)現(xiàn)方法,其中的該計算機網(wǎng)絡(luò)是因特網(wǎng),該運行引擎與某個瀏覽器關(guān)聯(lián),該軟件代理程序是一個小應(yīng)用程序。
9.一種在具有服務(wù)一組機器的管理服務(wù)器的分布式計算機網(wǎng)絡(luò)中進行發(fā)現(xiàn)的方法,包含以下步驟在該組機器的一個子組上部署一個運行引擎的實例,以便在該分布式計算機網(wǎng)絡(luò)中創(chuàng)建一個分布式運行環(huán)境;響應(yīng)某任務(wù)部署請求,在計算機網(wǎng)絡(luò)中給定節(jié)點集合上遷移該發(fā)現(xiàn)代理程序;在接收到該發(fā)現(xiàn)代理程序的每個節(jié)點上執(zhí)行該運行環(huán)境中的該發(fā)現(xiàn)代理程序以進行以下步驟(a)判定位于該節(jié)點的該機器是否是該分配請求的一個目標;(b)標識與該節(jié)點關(guān)聯(lián)的、依然是該分配請求的候選的某給定節(jié)點子集;(c)向該給定節(jié)點子集部署該發(fā)現(xiàn)代理程序;(d)重復(fù)步驟(a)~(c),直到該目標被標識出來,或者所有網(wǎng)絡(luò)路徑都被搜索窮盡。
10.權(quán)利要求9中所述方法,進一步包括編輯一個要接收該分配請求的機器清單的步驟。
11.一種在具有服務(wù)一組機器的管理服務(wù)器的大型分布式計算機網(wǎng)絡(luò)中的任務(wù)發(fā)現(xiàn)方法,該機器組的某個給定機器子集包括一個以前部署過的運行環(huán)境,該方法包含以下步驟響應(yīng)一個任務(wù)部署請求,將發(fā)現(xiàn)代理程序從管理服務(wù)器啟動到該計算機網(wǎng)絡(luò);在該機器子集的某給定機器上,用該機器上的該運行環(huán)境執(zhí)行其中一個該發(fā)現(xiàn)代理程序;將標識該子集中要接收任務(wù)部署的機器的數(shù)據(jù)返回給該管理服務(wù)器。
12.權(quán)利要求11中所述的方法,進一步包括顯示所標識機器的清單的步驟。
13.權(quán)利要求11中所述的方法,其中至少有一個發(fā)現(xiàn)代理程序被根據(jù)該任務(wù)部署請求而定制。
14.權(quán)利要求11中所述的方法,其中的運行環(huán)境包含一個運行引擎,每個發(fā)現(xiàn)代理程序都是可由該運行引擎執(zhí)行的一組一個或多個任務(wù)。
15.權(quán)利要求14中所述的方法,其中的該計算機網(wǎng)絡(luò)是因特網(wǎng),該運行引擎與某瀏覽器關(guān)聯(lián),該軟件代理程序是小應(yīng)用程序。
16.一種可在其中支持一個管理基礎(chǔ)結(jié)構(gòu)的大型分布式計算機網(wǎng)絡(luò)中執(zhí)行的任務(wù)發(fā)現(xiàn)方法,包含以下步驟從一個軟件代理程序集合中選擇至少一個軟件代理程序;在該計算機網(wǎng)絡(luò)中某給定節(jié)點集合上遷移該選定的軟件代理程序,為該任務(wù)部署標識目標機器。
17.權(quán)利要求16中所述的方法,其中的選擇步驟包括標識該任務(wù)的給定特征并根據(jù)該給定特征來選擇該軟件代理程序。
18.權(quán)利要求16中所述的方法,其中的遷移步驟包括在給定節(jié)點處克隆該軟件代理程序并沿某網(wǎng)絡(luò)路徑移動該克隆的軟件代理程序。
19.權(quán)利要求16中所述的方法,其中,該管理基礎(chǔ)結(jié)構(gòu)包括在該計算機網(wǎng)絡(luò)的給定節(jié)點部署的運行環(huán)境,該軟件代理程序是可由該運行環(huán)境執(zhí)行的一組一個或多個任務(wù)。
20.權(quán)利要求19中所述的方法,其中,該計算機網(wǎng)絡(luò)是因特網(wǎng),該運行環(huán)境與某瀏覽器關(guān)聯(lián),該軟件代理程序是小應(yīng)用程序。
21.一種可連接到具有服務(wù)一組端點機而進行發(fā)現(xiàn)操作的管理服務(wù)器的大型分布式企業(yè)中的設(shè)備,包含一個運行引擎的多個實例,每個實例在一給定端點機受到支持;用于響應(yīng)某給定事件、選擇一個可由位于某給定端點機的該運行引擎執(zhí)行的軟件代理程序的裝置;用于將該所選擇軟件代理程序部署到該計算機網(wǎng)絡(luò)去執(zhí)行發(fā)現(xiàn)操作的裝置。
22.一種可連接到具有服務(wù)一組端點機而部署一個任務(wù)的管理服務(wù)器的大型分布式企業(yè)中的發(fā)現(xiàn)系統(tǒng),包含一個運行引擎的多個實例,每個實例在給定端點機得到支持;用于響應(yīng)某發(fā)現(xiàn)請求、將一組一個或多個軟件代理程序調(diào)度到分布式企業(yè)中去標識滿足給定條件的機器的裝置,其中某給定軟件代理程序可由位于某給定端點機的該運行引擎執(zhí)行。
23.權(quán)利要求22中所述的系統(tǒng),其中的該給定條件是確定該端點機是該發(fā)現(xiàn)操作的一個候選。
24.權(quán)利要求22中所述的系統(tǒng),進一步包括生成軟件代理程序的裝置。
25.權(quán)利要求24中所述的系統(tǒng),其中的該生成裝置包括將給定軟件代理程序作為該發(fā)現(xiàn)操作的一個功能進行定制的裝置。
26.一種在計算機可讀介質(zhì)中存儲的計算機程序產(chǎn)品,它用于具有一臺計算機,該計算機處理器、存儲器和將該計算機連接到具有管理服務(wù)器的大型分布式企業(yè)的裝置,該計算機程序產(chǎn)品包含一個在第一個操作期間下載到該計算機的一個運行引擎;一個在發(fā)現(xiàn)操作期間部署到計算機、并可由該運行環(huán)境執(zhí)行以發(fā)現(xiàn)該計算機是否滿足給定條件的軟件代理程序。
27.權(quán)利要求26中所述的計算機程序產(chǎn)品,其中,該軟件代理程序包括一個或多個被選擇作為該發(fā)現(xiàn)操作的一個功能的任務(wù)。
28.權(quán)利要求26中所述的計算機程序產(chǎn)品,其中,該運行環(huán)境與該計算機的某瀏覽器關(guān)聯(lián),該軟件代理程序是小應(yīng)用程序。
29.一種在計算機可讀介質(zhì)中存儲的計算機程序產(chǎn)品,它用于一臺計算機,該計算機具有處理器、存儲器和將該計算機連接到大型分布式計算機網(wǎng)絡(luò)的裝置,該計算機網(wǎng)絡(luò)具有服務(wù)一組機器的管理服務(wù)器,該計算機程序產(chǎn)品包含一個運行引擎的多個實例,每個運行引擎用于某給定機器;一組軟件代理程序,每個軟件代理程序包含一組一個或多個任務(wù);一個用于響應(yīng)某給定請求而選擇要部署到該網(wǎng)絡(luò)中的軟件代理程序的裝置,其中該軟件代理程序可以由位于給定端點機處的該運行引擎執(zhí)行,以判定該給定端點機是否是一個接收隨后要被部署的任務(wù)的一個候選。
全文摘要
一個大型分布式企業(yè)包括具有服務(wù)一組端點機的管理服務(wù)器的計算資源。一個管理基礎(chǔ)結(jié)構(gòu)包括在給定端點機上部署的運行引擎。根據(jù)位于某管理服務(wù)器的任務(wù)部署請求,發(fā)現(xiàn)代理程序可以被啟動到計算機網(wǎng)絡(luò)。當(dāng)軟件代理程序到達支持運行引擎的某端點機時,該代理程序被執(zhí)行,在判定該端點是否是該特定任務(wù)部署的一個候選。
文檔編號G06F9/50GK1237734SQ9910696
公開日1999年12月8日 申請日期1999年6月2日 優(yōu)先權(quán)日1998年6月3日
發(fā)明者M·麥納利, B·J·維特 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
龙山县| 定州市| 莆田市| 许昌县| 剑川县| 盐亭县| 彭山县| 通渭县| 南岸区| 明星| 缙云县| 永嘉县| 社旗县| 陆河县| 武宣县| 中阳县| 昌黎县| 肇庆市| 永康市| 武冈市| 阜平县| 伊春市| 航空| 阿荣旗| 景泰县| 迭部县| 麻城市| 孝义市| 阿合奇县| 六安市| 西乌珠穆沁旗| 门头沟区| 瑞安市| 潜江市| 肇东市| 六盘水市| 江川县| 科尔| 漠河县| 邢台县| 保亭|