專利名稱:一般軟件要求分析器的制作方法
技術(shù)領(lǐng)域:
一般來說,本發(fā)明涉及計算機軟件領(lǐng)域。更具體來說,本發(fā)明涉及用于相對應(yīng)用程序的一組要求來分析計算機系統(tǒng)的計算機化方法。
背景技術(shù):
為了在計算機上正確安裝和操作應(yīng)用軟件,必需讓計算機滿足可能是那個應(yīng)用程序特定的一組要求。這些要求可在任何時間手動檢查,或者在軟件安裝到計算機時由安裝過程來檢查。
手動過程費時且易出錯。它通常在安裝應(yīng)用軟件之前或者在軟件的操作失敗時才進行。手動過程可能涉及運行多個程序以及比較輸出與備有證明文件的要求。這在兩個方面產(chǎn)生問題。首先,執(zhí)行手動檢查的用戶必須理解輸出的含義,其次,文檔在時間上是固定的,并且可能不反映最近的要求。
特定應(yīng)用的安裝軟件可測試關(guān)鍵要求,例如盤空間、存儲器容量、軟件的先前版本等。但是,安裝軟件執(zhí)行環(huán)境的全面檢查以確定軟件的有效操作不是經(jīng)常進行的。這歸因于所需編程量以及會添加到安裝程序的運行時間。每次開發(fā)一段應(yīng)用軟件用于出版時,必須編寫新代碼來評估環(huán)境。
在計算機網(wǎng)絡(luò)中問題更大。例如,在企業(yè)網(wǎng)中實現(xiàn)的應(yīng)用可能跨越多個計算機。目前,網(wǎng)絡(luò)中的每個受影響計算機必須被手動檢查,以便看它是否符合新應(yīng)用軟件的要求。每次要實現(xiàn)新應(yīng)用時,這耗用大量時間和資源。
對于此問題的一種方法是使用資產(chǎn)管理系統(tǒng),它嘗試跟蹤網(wǎng)絡(luò)中的計算機。但是,這種信息往往是不準(zhǔn)確或者不完全的。此外,仍然必須針對所公布的要求手動檢查資產(chǎn)管理系統(tǒng)中的信息。
另一種方法是使用專用軟件,它在特定軟件段安裝之前評估計算機系統(tǒng)的準(zhǔn)備狀態(tài)。這種方法在安裝特定操作系統(tǒng)之前使用。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個方面,提供一種計算機可用介質(zhì),其中包含計算機可讀代碼,用于相對應(yīng)用程序的一組要求來分析計算機系統(tǒng),計算機可讀代碼包括用于讀取計算機文件的第一組編程指令,所述計算機文件包括應(yīng)用程序的要求的列表;第二組編程指令,用于確定計算機系統(tǒng)的能力;第三組編程指令,用于執(zhí)行計算機系統(tǒng)的能力與應(yīng)用程序的要求之間的比較;以及第四組編程指令,用于報告比較的結(jié)果。
在本發(fā)明的一個實施例中,所述計算機系統(tǒng)是具有控制節(jié)點和一個或多個被管理節(jié)點的計算機網(wǎng)絡(luò),其中所述第二組編程指令包含第五組編程指令,用于發(fā)現(xiàn)所述一個或多個被管理節(jié)點的能力。
在本發(fā)明的一個實施例中,所述第二組編程指令還包含將第五組編程指令從控制節(jié)點分發(fā)給被管理節(jié)點的編程指令。
在本發(fā)明的一個實施例中,所述第二組編程指令還包含向被管理節(jié)點請求能力報告的編程指令。
在本發(fā)明的一個實施例中,所述計算機文件包括一組屬性標(biāo)志及關(guān)聯(lián)數(shù)據(jù)值。
根據(jù)本發(fā)明的另一方面,提供一種用于將應(yīng)用程序的制作者生成的應(yīng)用程序的一組要求傳遞給所述應(yīng)用程序的潛在用戶的方法,所述方法包括所述應(yīng)用程序的制作者產(chǎn)生指定應(yīng)用程序的這組要求的計算機文件;將計算機文件的副本傳送給潛在用戶;以及潛在用戶運行計算機程序以讀取計算機文件,并且相對于應(yīng)用程序的這組要求來分析計算機系統(tǒng)的能力。
在本發(fā)明的一個實施例中,所述應(yīng)用程序的制作者產(chǎn)生計算機文件包括所述應(yīng)用程序的所述制作者采用通過屬性向制作者提示輸入要求的軟件工具。
在本發(fā)明的一個實施例中,所述方法還包括潛在用戶采用軟件工具來發(fā)現(xiàn)應(yīng)用程序?qū)⒃谄渲泄ぷ鞯挠嬎銠C系統(tǒng)的能力。
在本發(fā)明的一個實施例中,所述應(yīng)用將在其中工作的計算機系統(tǒng)是包括控制節(jié)點和一個或多個被管理節(jié)點的計算機網(wǎng)絡(luò),以及發(fā)現(xiàn)計算機系統(tǒng)的能力包括在所述計算機網(wǎng)絡(luò)的被管理節(jié)點上運行計算機程序,以便確定被管理節(jié)點的能力;以及被管理節(jié)點將被管理節(jié)點的能力傳遞給控制節(jié)點。
在本發(fā)明的一個實施例中,在被管理節(jié)點上運行的計算機程序從控制節(jié)點傳遞到被管理節(jié)點。
圖1流程圖,說明符合本發(fā)明的某些實施例的方法。
圖2流程圖,說明符合本發(fā)明的某些實施例的方法。
圖3是符合本發(fā)明的某些實施例的計算機系統(tǒng)的圖解表示。
圖4是符合本發(fā)明的某些實施例的連網(wǎng)計算機系統(tǒng)的圖解表示。
具體實施例方式
雖然本發(fā)明可以有許多不同形式的實施例,但是附圖中示出且本文將詳細描述一個或多個具體實施例,同時要理解,本公開被視作本發(fā)明原理的示范,而不是要把本發(fā)明限制于所示及所述的具體實施例。在以下說明中,相同的參考標(biāo)號在附圖的若干視圖中用來描述相同、相似或相應(yīng)的部分。
本發(fā)明涉及用于相對應(yīng)用程序的一組要求來分析計算機系統(tǒng)的計算機化方法及關(guān)聯(lián)軟件。在一個實施例中,應(yīng)用程序的要求的列表存儲在計算機文件中。計算機則用來確定計算機系統(tǒng)的能力,以及執(zhí)行計算機系統(tǒng)的能力與應(yīng)用程序的要求之間的比較。然后報告比較的結(jié)果。包含應(yīng)用程序的要求的列表的計算機文件可由應(yīng)用程序的制作者來產(chǎn)生。包括用戶界面的軟件工具可由出版者用來產(chǎn)生計算機文件。
圖1是流程圖100,說明符合本發(fā)明的某些實施例的方法。參照圖1,在開始框102之后,應(yīng)用軟件在框104由軟件制作者(以下又稱作軟件出版者)產(chǎn)生。應(yīng)用軟件可設(shè)計成利用各種硬件和軟件資源在各種計算機環(huán)境中工作。應(yīng)用軟件具有與應(yīng)用執(zhí)行其功能所需的最小資源相關(guān)的一組要求。這些要求通常由軟件的設(shè)計者或制作者來設(shè)置,但是也可在任何時間設(shè)置。例如,可在已經(jīng)測試應(yīng)用軟件之后或者作為用戶反饋的結(jié)果來產(chǎn)生或修改要求。在框106,產(chǎn)生計算機文件,它列出應(yīng)用軟件的要求。將稱作‘要求文件’的這個計算機文件包含可由應(yīng)用軟件的用戶或潛在用戶檢索、向其傳送或以其它方式可為其所用、或者向其傳遞的信息。要求文件例如可采取可擴展標(biāo)記語言(XML)格式。
在框108,將要求文件分發(fā)給用戶??稍讷@得應(yīng)用軟件之前為用戶提供要求文件。這允許用戶在購買軟件之前確定應(yīng)用軟件是否將在他或她的計算機系統(tǒng)中工作。這使出版者受益,因為它減少了軟件退貨的數(shù)量。它還使用戶受益,因為用戶可避免退回軟件并得到在用戶的計算機上沒有正確工作的軟件的退款的不便。或者,應(yīng)用軟件可與要求文件同時分發(fā)。此過程在結(jié)束框110終止。
圖2是流程圖200,說明符合本發(fā)明的某些實施例的方法。該方法允許用戶確定他或她的計算機系統(tǒng)是否能夠運行所選應(yīng)用軟件。在圖2的開始框202之后,用戶運行計算機程序,它使其用戶可以在框204選擇應(yīng)用。計算機程序可例如搜索用戶計算機系統(tǒng)中的目錄以查找有效的要求文件,訪問這些文件以讀取相應(yīng)應(yīng)用的描述,然后向用戶顯示菜單供選擇。在框206,讀取所選應(yīng)用的要求文件。在框208,發(fā)現(xiàn)計算機系統(tǒng)的能力。這些可能是特別與要求文件中所列出的要求相關(guān)的一種或多種一般能力。
在框210,發(fā)現(xiàn)的能力可通過將它們與要求文件中所列出的要求進行比較來分析。在框212,生成描述分析結(jié)果的報告。這個報告允許用戶確定所選應(yīng)用是否將在他或她的計算機系統(tǒng)中正確工作。此過程在結(jié)束框214結(jié)束。
過程200可由用戶在應(yīng)用安裝之前或之后執(zhí)行。也可在已經(jīng)安裝應(yīng)用之后以編程間隔來執(zhí)行。這允許計算機系統(tǒng)受到監(jiān)測,從而發(fā)現(xiàn)所需資源是否變?yōu)椴豢捎谩?br>
對已安裝應(yīng)用的軟件更新可采用更新的要求文件來分發(fā)。
例如,如果發(fā)現(xiàn)原始要求有差錯,則可在任何時間更新要求文件。
報告可復(fù)制給出版者,從而幫助已出版應(yīng)用軟件的技術(shù)支持。
在一個實施例中,過程200由單個計算機程序執(zhí)行。在另一個實施例中,過程208和210由可在不同計算機上運行的分開的計算機程序來執(zhí)行。
圖3是符合本發(fā)明的某些實施例的計算機系統(tǒng)的圖解表示。參照圖3,軟件出版者302采用要求文件產(chǎn)生工具304來產(chǎn)生與應(yīng)用軟件308關(guān)聯(lián)的要求文件306。要求文件產(chǎn)生工具304可包括通過屬性提示輸入要求的用戶界面。屬性包括核心參數(shù)、某些文件的存在、已安裝軟件的版本號、寄存器堆棧大小等。要求文件產(chǎn)生工具304則編寫包含要求信息的要求文件306。
要求文件306及關(guān)聯(lián)應(yīng)用軟件308可封裝在一起,作為出版軟件捆綁310供分發(fā),或者它們可分開地分發(fā)。要求的副本306’被分發(fā)(如箭頭312所示)給一個或多個用戶的目標(biāo)計算機314。應(yīng)用軟件的副本308’同時可在出版軟件捆綁的副本310’中分發(fā)給用戶,或者可在稍后時間分發(fā)。
用戶可通過采用一般軟件分析工具316來確定他或她的計算機系統(tǒng)是否能夠運行應(yīng)用軟件。各工具包括一組編程指令。一般軟件分析工具316包括用于讀取和解釋要求文件的文件讀取和解釋工具318以及發(fā)現(xiàn)用戶計算機系統(tǒng)中可用的資源和能力的能力發(fā)現(xiàn)工具320。一般軟件分析工具316還包括能力/要求分析工具322,它用來比較用戶計算機系統(tǒng)的已發(fā)現(xiàn)能力與要求文件306’中所列出的應(yīng)用軟件要求。一般軟件分析工具316還包括報告工具324,它用于為用戶生成報告326。報告326包含分析的結(jié)果,并且允許用戶確定軟件應(yīng)用308’是否將在用戶的計算機系統(tǒng)中正確工作。一般軟件分析工具316可在應(yīng)用軟件308’的安裝之前或者安裝之后運行。
本領(lǐng)域的技術(shù)人員非常清楚,所出版軟件捆綁310可分發(fā)給多個用戶。
本領(lǐng)域的技術(shù)人員也非常清楚,一般軟件分析工具316可用來分析多段應(yīng)用軟件。因此,為出版者免除了為每個新應(yīng)用制作系統(tǒng)能力分析軟件的任務(wù)。
圖4是符合本發(fā)明的某些實施例的連網(wǎng)計算機系統(tǒng)的圖解表示。圖4說明連網(wǎng)計算機系統(tǒng)314、如企業(yè)網(wǎng),它具有由用戶操作的中央站點或控制節(jié)點400以及多個被管理節(jié)點402和402’。在網(wǎng)絡(luò)上實現(xiàn)的應(yīng)用可跨越控制節(jié)點和多個被管理節(jié)點。用戶可通過采用一般軟件分析工具316來確定連網(wǎng)計算機系統(tǒng)314是否能夠運行應(yīng)用軟件。一般軟件分析工具316包括用于讀取和解釋要求文件的文件讀取和解釋工具318。工具316還包括能力發(fā)現(xiàn)工具320,它發(fā)現(xiàn)連網(wǎng)計算機系統(tǒng)上可用的資源和能力。為了發(fā)現(xiàn)網(wǎng)絡(luò)中其它被管理節(jié)點(例如402和402’)的能力,小程序(404、404’)被發(fā)送給在審查中的被管理節(jié)點的每個。程序負責(zé)收集接收方被管理節(jié)點的相關(guān)信息(例如庫存和配置數(shù)據(jù))。在已經(jīng)收集信息之后,程序向控制節(jié)點400發(fā)回信息的報告(406、406’)。一旦已經(jīng)收集數(shù)據(jù),或者響應(yīng)來自控制節(jié)點的請求,可發(fā)送報告??刂乒?jié)點400維護對于審查是相關(guān)的系統(tǒng)的列表。它還可維護對于各系統(tǒng)是否存在當(dāng)前數(shù)據(jù)集的列表。對于需要數(shù)據(jù)集的那些系統(tǒng),網(wǎng)絡(luò)事務(wù)處理由控制點發(fā)起,以便收集數(shù)據(jù)集。這個信息可存儲在本地資料庫408中。在任何時間,可生成臨時報告,它概括在企業(yè)級所收集的庫存和配置數(shù)據(jù)。一旦被收集,數(shù)據(jù)則可由能力/要求分析工具322例如對于必要軟件、補丁、硬件和配置等進行分析。
一般軟件分析工具316還包括報告工具324,它用于為用戶生成報告326。報告326可包含任何異常,以便使用戶能夠確定軟件應(yīng)用308’是否將在用戶的計算機系統(tǒng)中正確工作,以及確定為應(yīng)用準(zhǔn)備所需的時間和資源。
分析采用來自要求文件306’的信息,以及識別網(wǎng)絡(luò)中不滿足要求的任何系統(tǒng)。在一個實施例中,所需軟件、硬件和配置的描述包含屬性標(biāo)志及關(guān)聯(lián)值的列表。文件可根據(jù)諸如國際標(biāo)準(zhǔn)化組織(ISO)管理的標(biāo)準(zhǔn)一般化標(biāo)記語言(SGML)或者萬維網(wǎng)聯(lián)盟管理的可擴展標(biāo)記語言(XML)協(xié)議之類的工業(yè)標(biāo)準(zhǔn)協(xié)議來編寫。
XML要求文件的一個實例如下所列示。
< xml version="1.0"encoding="UTF-8" >
<prerequisites schema-version="1.0">
<application>
<id>NNM</id>
<name>Network Node Manager</name>
<version>8.0</version>
<version>8.5></version>
</application>
<systems>
<system os="HP-UX"os-version="11.0">
<hardware model="9000">
<series>700</series>
<series>800</series>
<memory scale="MB">512</memory>
<disk-space scale="GB">1</disk-space>
<virtual-memory scale="MB">768</virtual-memory>
</hardware>
<software>
<kernel-parameters>
<max-thread-proc>1024</max-thread-proc>
<nfile>8192</nfile>
<maxdsiz>1073741824</maxdsiz>
<maxfiles>2048</maxfiles>
<maxusers>256</maxusers>
</kernel-parameters>
<libraries>
<library>libnm.sl</library>
</libraries>
<patches>
<patch id="PHNE_25226"/>
<patch id="PHKL_26059"/>
<patch id="PHCO_25902"/>
</patches>
</software>
<conflicts>
<component>
<id>OVO</id>
<name>Operations for Unix</name>
<version>8.0</version>
</comPonent>
</conflicts>
</system>
<system os="Windows 2000"os-version="Professional">
<hardware model="PII">
<speed scale="MHz">333</speed>
<memory scale="MB">512</memory>
<disk-space sale="GB">1</disk-space>
<virtual-memoryscale="MB">512</virtual-memory>
</hardware>
<software>
<component>
<name>IIS</name>
<version>4.0</version>
</component>
<libraries>
<library>devenum.dll</library>
</libraries>
<patches>
<patch>SP4</patch>
</patches>
</software>
<conflicts>
<component>
<id>SSC</id>
<name>Some Shared Component</name>
<version>4.5</version>
</component>
</conflicts>
</system>
</systems>
</prerequisites>
這個實例用于稱作“網(wǎng)絡(luò)節(jié)點管理器”的應(yīng)用,并且包含在Hewlett Packard Corporation的HP-UXTM操作系統(tǒng)和MicrosoftCorporation的WINDOWS 2000TM操作系統(tǒng)下運行應(yīng)用的要求或前提條件。對各操作系統(tǒng)指定硬件、軟件和避免沖突要求??筛鶕?jù)需要使用其它標(biāo)志。
在先前的方法中,網(wǎng)絡(luò)中的每個受影響計算機必須被手動檢查,以便看它是否符合新應(yīng)用軟件的要求。每次要實現(xiàn)新應(yīng)用時,這耗用大量時間和資源。上述自動過程避免了對于手動過程的需要,從而減少人為錯誤的可能性。
本領(lǐng)域的技術(shù)人員會理解,用來實現(xiàn)上述實施例的程序步驟及關(guān)聯(lián)數(shù)據(jù)可利用盤存儲器以及諸如只讀存儲器(ROM)裝置、隨機存取存儲器(RAM)裝置、光存儲元件、磁存儲元件、磁光存儲元件、閃速存儲器、磁芯存儲器等其它形式的存儲器和/或其它等效存儲技術(shù)來實現(xiàn),而沒有背離本發(fā)明。這些備選存儲裝置應(yīng)當(dāng)被視作等效的。
如本文的實施例中所述的本發(fā)明利用運行編程指令的編程處理器來實現(xiàn),其中,編程指令以流程圖形式在前面廣義說明,可存儲在任何適當(dāng)?shù)碾娮哟鎯橘|(zhì)中。但是,本領(lǐng)域的技術(shù)人員會理解,上述過程可通過任意數(shù)量的變化以及通過許多適當(dāng)?shù)木幊陶Z言來實現(xiàn),而沒有背離本發(fā)明。例如,所執(zhí)行的某些操作的順序通??梢愿淖?,可增加額外操作,或者可刪除操作,而沒有背離本發(fā)明。差錯捕捉可以被添加和/或增強,以及可在用戶界面和信息呈現(xiàn)中進行變更,而沒有背離本發(fā)明。這類變更是預(yù)期的并被視作是等效的。
雖然結(jié)合若干具體實施例描述了本發(fā)明,但是很明顯,根據(jù)以上說明,本領(lǐng)域的技術(shù)人員會清楚許多備選方案、修改、置換及變更。因此,本發(fā)明意在包含屬于所附權(quán)利要求的范圍之內(nèi)的全部這類備選方案、修改和變更。
權(quán)利要求
1.一種計算機可用介質(zhì),其中包含計算機可讀代碼,用于相對應(yīng)用程序(308)的一組要求來分析計算機系統(tǒng)(314),所述計算機可讀代碼包括用于讀取計算機文件(306)的第一組編程指令(318),所述計算機文件(306)包括所述應(yīng)用程序(308)的所述要求的列表;第二組編程指令(320),用于確定所述計算機系統(tǒng)(314)的能力;第三組編程指令(322),用于執(zhí)行所述計算機系統(tǒng)(318)的所述能力與所述應(yīng)用程序(308)的所述要求之間的比較;以及第四組編程指令(324),用于報告所述比較的結(jié)果。
2.如權(quán)利要求1所述的包含計算機可讀代碼的計算機可用介質(zhì),其特征在于,所述計算機系統(tǒng)(314)是具有控制節(jié)點(400)和一個或多個被管理節(jié)點(402)的計算機網(wǎng)絡(luò),其中所述第二組編程指令(320)包含第五組編程指令(404),用于發(fā)現(xiàn)所述一個或多個被管理節(jié)點(402)的能力。
3.如權(quán)利要求2所述的包含計算機可讀代碼的計算機可用介質(zhì),其特征在于,所述第二組編程指令(320)還包含將所述第五組編程指令(404)從所述控制節(jié)點分發(fā)給被管理節(jié)點(402)的編程指令。
4.如權(quán)利要求2所述的包含計算機可讀代碼的計算機可用介質(zhì),其特征在于,所述第二組編程指令(320)還包含向被管理節(jié)點(402)請求能力報告的編程指令。
5.如權(quán)利要求1所述的計算機可用介質(zhì),其特征在于,所述計算機文件(306)包括一組屬性標(biāo)志及關(guān)聯(lián)數(shù)據(jù)值。
6.一種用于將應(yīng)用程序(308)的制作者(302)生成的應(yīng)用程序的一組要求傳遞給所述應(yīng)用程序的潛在用戶的方法,所述方法包括所述應(yīng)用程序的所述制作者(302)產(chǎn)生指定應(yīng)用程序(308)的所述這組要求的計算機文件(306);將所述計算機文件(306)的副本(306’)傳送給所述潛在用戶;以及所述潛在用戶運行計算機程序(316)以讀取所述計算機文件(306),并且相對于所述應(yīng)用程序(308)的所述這組要求來分析計算機系統(tǒng)(314)的能力。
7.如權(quán)利要求6所述的方法,其特征在于,所述應(yīng)用程序(308)的所述制作者(302)產(chǎn)生所述計算機文件(306)包括所述應(yīng)用程序的所述制作者(302)采用通過屬性向所述制作者(302)提示輸入要求的軟件工具(304)。
8.如權(quán)利要求6所述的方法,其特征在于,還包括所述潛在用戶采用軟件工具(316)來發(fā)現(xiàn)所述應(yīng)用程序(308)將在其中工作的所述計算機系統(tǒng)(314)的能力。
9.如權(quán)利要求8所述的方法,其特征在于,所述應(yīng)用將在其中工作的所述計算機系統(tǒng)(314)是包括控制節(jié)點(400)和一個或多個被管理節(jié)點(402)的計算機網(wǎng)絡(luò),以及發(fā)現(xiàn)所述計算機系統(tǒng)(314)的能力包括在所述計算機網(wǎng)絡(luò)的被管理節(jié)點(402)上運行計算機程序,以便確定所述被管理節(jié)點的能力;以及所述被管理節(jié)點(402)將所述被管理節(jié)點的能力(406)傳遞給所述控制節(jié)點(400)。
10.如權(quán)利要求9所述的方法,其特征在于,在所述被管理節(jié)點(402)上運行的所述計算機程序(404)從所述控制節(jié)點(400)傳遞到所述被管理節(jié)點(402)。
全文摘要
應(yīng)用程序(308)的一組要求由應(yīng)用程序的制作者(302)生成,并且經(jīng)由指定要求的計算機文件(306)傳遞給應(yīng)用程序的潛在用戶。計算機文件(306)可由潛在用戶用于相對于應(yīng)用程序(308)的該組要求來分析計算機系統(tǒng)(314)的能力。
文檔編號G06F9/44GK1848083SQ20061007376
公開日2006年10月18日 申請日期2006年4月4日 優(yōu)先權(quán)日2005年4月5日
發(fā)明者W·布羅特斯, N·K·李 申請人:惠普開發(fā)有限公司