維護軟體組件的系統和方法
2023-04-24 16:20:06
專利名稱::維護軟體組件的系統和方法
技術領域:
:本公開一般涉及用於重複利用(recycle)軟體組件的方法、裝置和計算機可使用的代碼。更具體地,本公開涉及基於使用水平自動停用(retire)軟體組件。
背景技術:
:傳統的軟體架構趨於提前計劃和剛性,不夠靈活和有彈性來適應快速需求改變。除了預先確定的IF-THEN條件集,它們沒有被製作來處理改變。軟體設計假設所有變量將在部署系統之前已被考慮。實際上,因為改變不是100%可預測的,所以軟體必須被周期性地修訂和更新。因此,軟體經常用新的版本更新或打補丁,以處理改變。補丁是被設計來更新或改正電腦程式的問題的小塊軟體。這包括改正程序缺陷(bug)、替換圖形和改進可使用性或性能。儘管打算改正問題,但是拙劣設計的補丁有時候可引入新的問題(aka,軟體退化)。存在幾種更新軟體的方法。舊的軟體能夠被卸載或移除,並且新的軟體安裝在它的位置。這消耗時間並涉及停機時間(downtime)。可替代地,軟體能夠被升級,其涉及添加到已經存在的框架上。新的軟體版本的部署趨於導致系統停機時間以及服務中斷。版本周期也導致對軟體開發過程的壓力,如示於接近每個版本結束時處理缺陷的壓力、以及在版本周期的開始時重新發明車輪的空閒。軟體需要更恆定、平滑並且具有更少中斷地改變。組件化和插件框架基礎結構使得可以用按需求增加更新軟體,如Ecilpse上的軟體更新器和微軟Windows自動更新。(微軟(Microsoft)、Windows、WindowsNT、以及Windows標誌是微軟公司在美國、其它國家或兩者中的商標。)儘管如此,這樣的增加的結果是不但在軟體覆蓋區(footprint)的意義上,而且在複雜性的意義上,用戶的系統隨時間變得越來越大。我們稱該問題為軟體肥胖症.(obesity)。
發明內容在本公開的一個方面,公開了一種用於維護軟體組件的方法。該方法包括記錄用於一個或更多軟體組件的第一組使用數據。如果用於多個軟體組件的至少一個的第一組使用數據符合在使用過期策略中指定的使用標準,則自動移除該至少一個軟體組件。此外通過遠程伺服器提供對移除的軟體組件的訪問。該方法還包括記錄用於移除的軟體組件的第二組使用數據。如果第二組使用數據符合在重新安置策略中指定的使用標準,則重新安置該移除的軟體組件。在本公開的另一個方面,公開了一種用於維護軟體組件的方法。該方法包括記錄用於一個或更多軟體組件的使用數據。如果用於多個軟體組件的至少一個的使用數據符合在過期策略中指定的使用標準,則自動移除該至少一個軟體組件。該方法還包括通過遠程伺服器提供對移除的軟體組件的訪問。在本公開的另一個方面,公開了一種用於維護軟體組件的系統。該系統包括使用數據記錄模塊,用於記錄關於安裝在本地環境內的多個軟體組件的使用的數據,並將數據存儲為使用數據。該系統還包括刪除模塊,用於比較使用數據和過期策略,並且如果確定多個軟體組件的至少一個的使用低於在過期策略中指定的水平,則自動將該至少一個軟體組件從本地環境中移除。該系統還包括遠程訪問模塊,用於將移除的組件重新定位到遠離本地環境的位置,並提供對移除的組件的未來訪問。在本公開的另一個方面,公開了一種用於維護軟體組件的方法。該方法包括記錄用於一個或更多軟體組件的第一組使用數據。該方法還包括如果用於多個軟體組件的至少一個的使用數據符合在過期策略中指定的標準,則自動移除該至少一個軟體組件。該方法還通過遠程伺服器提供對移除的軟體組件的訪問。該維護軟體組件的方法還涉及記錄用於移除的軟體組件的第二組使用數據。該方法還包括如果第二組使用數據符合在重新安置策略中指定的使用標準,則重新安置該移除的軟體組件。在一個方面,使用數據包括自從軟體組件的上次使用以來的時間長度。在另一方面,使用數據包括軟體組件已經被訪問的次數。在另一方面,使用數據包括關於由軟體組件使用硬體資源的信息。在一個方面,使用數據存儲為元數據。過期策略能夠是全局過期策略,並且應用於多個軟體組件的全部或一組。可替代地,過期策略是單獨的過期策略,並且應用於單獨的軟體組件。在一個方面,過期策略由用戶設置。在一個方面,在過期策略中指定的使用標準是時間長度,並且如果自從軟體組件的上次使用以來的時間長度大於使用標準中的時間長度,則使用數據符合使用標準。在另一個方面,在過期策略中指定的使用標準是次數,並且如果軟體組件已經被訪問的次數小於使用標準中的次數,則使用數據符合使用標準。在一個方面,移除軟體組件包括卸載軟體組件。在一個方面,訪問移除的軟體組件通過遠程運行在環球網(Web)伺服器上的運行Web服務提供。在一個方面,重新安置移除的軟體組件包括重新安裝該軟體組件。參照下面結合附圖進行的描述,本公開的上述特徵和目標將變得更加明顯,其中相同的標號表示相同的元件,並且在附圖中圖1圖示包括賣主(vendor)組件庫和客戶組件庫、以及多個客戶機的系統的方塊圖,在該系統中能夠實現基於使用的軟體組件維護;圖2是基於使用的軟體組件的自動維護由客戶組件庫和多個客戶機使用的配置;圖3是通過提供對停用的軟體組件的遠程訪問、實現基於使用的軟體組件的自動維護的配置;圓4是用於根據本公開維護軟體組件的過程的流程圖5是使用如以硬體實現的、基於使用的軟體組件的自動維護的系統的方塊圖6是用於基於在本地環境內的使用、自動維護軟體組件的系統的功能方塊圖。具體實施例方式能夠實現用於基於使用維護軟體組件的自動方法。因為用戶的軟體系統由於不斷增長的功能需求而不能置於"規定食量"("diet"),所以解決方案是基於需求和使用主動地刪除(pmne)或存檔各組件。軟體系統能夠依賴於需求的改變,通過增加或替換組件、以及刪除不需要的組件逐步改變。圖1圖示其中可以實現根據本公開的一個方面自動維護和重複利用組件的系統的方塊圖。賣主組件庫102存儲多個軟體組件104,其能夠插入/參與已知的基礎結構,優選地為工業標準基礎結構(例如,Windows、Eclipse、.NET等)。例如,賣主103是軟體公司、或工作以生產新軟體組件並隨時間更新現有組件的提供者。如塊104中的各單元所示,在該示例中,賣主103維護包括^:件組件Q到Z的軟體組件庫102。客戶105利用由賣主103生產的軟體組件。例如,客戶105可以是銷售產品並使用賣主的軟體以便於銷售他們的產品的公司。客戶105類似地維護它自己的軟體組件庫,客戶組件庫106。客戶105能夠從賣主的庫102中選擇它需要的組件,並將它們存儲在它自己的公司組件庫106中。客戶的軟體組件由塊108中的單元指示。在該示例中,客戶從賣主的庫102中僅選4奪組件W、X、Y和Z。賣主組件庫102優選地由客戶組件庫104通過網絡連接110或網際網路訪問。在一個方面,隨著賣主103更新它的賣主組件庫102中的組件104,相應的軟體組件108在客戶組件庫106中被更新。例如,考慮組件Y由賣主更新以處理性能問題。更新的組件Y存儲在賣主的庫102中,並且客戶的庫108中的組件Y被自動更新以反映做出的變化。這能夠通過客戶組件庫102和賣主組件庫106之間的網際網路連接110,通過下載新近更新的組件完成。此外,每個客戶可以包括多個客戶機,其利用來自軟體組件庫的各種軟體組件。公司中的每個單獨的客戶機系統能夠將期望的組件下載到能夠主管(host)各組件的基礎結構,例如,下載插件到Eclipse或Windows組件。例如,在圖1中圖示了三個客戶機120、122和124,每個利用不同的軟體組件組。客戶機120已經從軟體組件庫選擇並安裝了組件W、X、Y和Z。客戶機122已經選擇了組件X和Y。客戶機124已經選擇了X、Y和Z。在該示例中,客戶機120、122和124可以是由公司僱員使用的單獨的桌面型或膝上型計算機。在另一個實施例中,客戶機(120、122和124)能夠從賣主組件庫102中直接檢索軟體組件,消除對中間客戶組件庫106的需要。例如,客戶機可以是個人家用計算機,並且從多個通過網際網路連接訪問的各種軟體組件庫直接下載並安裝軟體組件。客戶機可以是任何計算設備,包括但不限於桌面型/膝上型計算機、蜂窩式電話、手持式設備或PDA、機頂盒、伺服器等。隨著時間公司的庫和客戶機系統將增長並變得越來越大。該增長將給覆蓋區和組件管理增加開銷。系統如何能清理自身並移除較少使用的組件?換句話說,防止系統肥胖的刪除機制是什麼?由本公開提出的解決方案涉及基於使用水平和/或使用模式,如果確定現有的軟體組件較少需要,則自動地停用它們。在一個實施例中,這通過簡單的機制(如將過期策略與一個或更多軟體組件相關聯)完成。例如,已經長時間沒有使用.的軟體組件能夠被設為自動停用。因此,過期策略能夠指定組件在被停用前能夠持續而沒有使用的時間長度。作為另一個示例,僅僅已被調用或使用幾次的軟體組件能夠設為自動停用。在這種情況下,過期策略可以指定組件被訪問的次數,低於該次數軟體組件應當被停用。參照圖2,解釋了用於基於使用自動維護軟體組件的系統和方法的幾個示例。如上面參照圖1提到的,為了示例性目的,圖示了三個客戶機120、122和124,每個客戶機已經從客戶組件庫106下載並安裝了各種組件108。為了實現這樣的基於使用自動維護軟體組件的系統和方法,記錄了關於每個軟體組件的使用數據。例如,在客戶機上運行的過程監視安裝在客戶機上的軟體組件的使用、以及作為使用數據的關於每個軟體組件使用的數據。在該示例中,客戶機120、122和124分別記錄如在塊210、212和214指示的使用數據。在一個方面,使用數據存儲為元數據。如在塊210、212和214指示的使用數據可以存儲為單個文件或多個文件,並且數據文件能夠是任何類型。使用能夠以若干方式測量。使用可記錄為自從軟體組件上次使用以來的時間長度。因此,根據過期策略,已經長時間沒有使用的軟體組件可被設置為停用。使用可簡單地通過軟體組件被調用或訪問的次數來測量。使用還可通過訪問軟體組件的客戶機或用戶的數量來測量。例如,軟體組件可僅由一個人使用多次,或由許多不同的人使用但不常訪問。可替代地,使用可由被軟體組件利用的硬體資源測量,如存儲器使用、硬碟空間、處理器使用或帶寬使用。如上所述,指定了過期策略。該過期策略包括關於使用水平的規則或標準,高於或低於它軟體組件可被設置為停用。在圖2中,客戶機210、212和214每個分別具有它們自己的過期策略220、222和224。在一個實施例中,過期策略可以指定如果軟體組件已經有預定的時間段(例如,天數)沒有使用,則它應當停用。在另一個實施例中,過期策略能夠指定使用低於一定的水平導致軟體組件被停用。過期策略可以使用不同的使用測量的組合來確定是否軟體組件應當停用。例如,過期策略可能指定自從上次使用以來的時間長度和被訪問的次數的組合。過期策略能夠是全局過期策略、單獨過期策略或其二者的組合。例如,全局過期策略能夠應用到各軟體組件的全部或一組。也可設置單獨的過期策略以應用到單獨的軟體組件。也可以使用過期策略和單獨過期策略的組合。例如,全局過期策略可以應用到除了指定了單獨過期策略的那些組件外的全部軟體組件,在該情況下,單獨過期策略優先。過期策略能夠由賣主、客戶、客戶機或由用戶設置。因此,在一個方面,每個客戶機用戶能夠設置他或她自己的、關於何時軟體組件應當被自動設置為停用的偏好。例如,一個用戶可能要軟體組件在幾個月沒有使用後自動停用,而另一個用戶可能更喜歡將時間期限設置為幾星期。除了過期策略外,還能夠設置其它類型的管理各組件的停用的策略。例如,單獨過期策略可指定不管核心基礎結構組件使用多麼少、它將永不過期。在一個方面,每個客戶機記錄它自己的使用數據並設置它自己的過期策略。例如,客戶機120已經從軟體組件庫106下載並安裝了軟體組件W、X、Y和Z。客戶機120被配置為監視安裝在它的系統上的各軟體組件,並記錄涉及每個它的安裝的軟體組件的使用的使用數據210。此外,客戶機120被配置有關於安裝的各軟體組件的過期策略220。該過期策略最初可以設置為一般過期策略,並且以後由用戶根據他的或她的偏好修訂。考慮如由客戶機120記錄的使用數據210的示例指示以下軟體組件自從上次使用以來的時間上個月被調用的次數平均處理器使用w1天3小時12n/aX93天0n/aY2小時53高z2天4小時5低該使用數據指示軟體組件X上次在三個多月前使用,而其它軟體組件最近被使用。因此可以設置過期策略以自動使組件X過期。在另一個方面,以與每個客戶機類似的方式,軟體組件庫自身能夠維護和重複利用它自己的軟體組件。因此,在一個方面,客戶組件庫記錄它自己的使用數據230,並且具有它自己的過期策略232。例如,由多個客戶機的每個收集的使用數據220、222和224能夠由客戶庫收集,並作為整體分析。例如,假設使用數據230指示特定的組件(組件W),已經有一段時間沒有由作為整體的組(客戶機120、122和124共同地)使用。例如,在圖2中,組件W只由客戶機120而不由客戶機122和124利用。因此,可以確定該軟體組件應該從軟體組件庫中一起停用。客戶組件庫106可從多個客戶機(在該示例中',客戶機120、122和124)中收集使用數據,並且確定組件W沒有被充分使用以證明將其保持在該庫中是正當的。此外,使用數據能夠被傳送回賣主。在一個方面,停用軟體組件的動作涉及移除或卸載該組件。然而,因為沒有保證停用的組件將永不再被調用,所以優選仍然提供對該組件的訪問。因此,在一個實施例中,該組件被打包(wrap)為Web服務,並且使得從遠程位置(如內部網絡伺服器)可訪問。在未必有的情況下,由客戶機再次調用該停用的服務,該組件僅僅遠程地運行為Web服務,具有更慢的性能。圖3圖示如何能夠通過遠程伺服器310的使用仍提供對停用的組件的訪問。在一個方面,通過Web伺服器提供訪問。遠程伺服器310可以例如運行在與客戶和/或客戶機相關聯的區域網上。可替代地,遠程伺服器310可以位於區域網外部,但通過網際網路仍然可訪問。例如,賣主可以通過遠程伺服器310提供對軟體組件的遠程訪問。通常,組件具有表現其行為的接口或應用程式接口(API)。其它組件能夠使用其接口而不必知道該組件的詳細實現來調用該組件。該接口能夠由Web服務打包機(wrapper)使用來將該組件打包到Web服務中。例如,基於協議(如簡單目標訪問協議(SOAP))的可擴展標記語言(XML),能夠用於通過超文本傳輸協議(HTTP)提供對各組件的訪問。SOAP提供了在運行在不同作業系統上、具有不同技術和程式語言的各應用之間通信的方法。因此,Web服務打包機將SOAP封裝(envelop)放置在接口周圍,以將對組件的請求/來自組件的響應變換為XML消息。可替代地,Web服務定義能夠以WSDL(Web服務定義語言)產生,該WSDL能夠用於生成調用服務/組件的代理客戶機。各種傳輸協議由具有最流行的http的Web服務支持。其它技術當然能夠用於將各組件(如資料庫存儲的程序)轉換為Web服務。除Web服務調用以外的替代調用方法包括遠程程序調用(RPC)或CORBA組件模型調用。更複雜的機制也能用於確定何時軟體組件應當被停用。一種更複雜的機制涉及將組件的使用歷史動態地記錄在它的使用數據中,並且使用該使用歷史來計算統計模式。例如,名為打折的軟體組件可能趨於在聖誕節之後以及在每個季度末被大量地使用。該系統使用該歷史模式統計來動態地將該組件移入和移出系統。當打折季節結束時,該軟體組件停用並放入儲備作為伺服器上的Web服務。該元數據能夠位於本地系統或遠程庫或兩者中。當打折季節再次來到時,該軟體組件能夠帶回到本地環境並重新安裝。相同的機制能夠用於刪除公司的組件庫中的各共享組件。這些機制保證軟體系統"記得"它的各組件的使用歷史,並能夠根據需要反向恢復各組件的版本。因此,能夠解決反向兼容性。調用儲備的組件將耗費額外時間並影響系統性能,但將減少系統破損(breakage),並防止許多"空指針"錯誤。歷史元數據也能夠使用與上述相同的機制刪除,該機制要求創建該歷史元數據的另一層元數據。創建元lt據層的該循環提升了上述機制的可測量性;然而,實際上,元數據的額外層將不可避免地減慢系統性能。自動維護軟體組件的系統和方法的另一個方面是重新安置之前已經被停用的軟體組件的能力。例如,一旦組件已經從使用中停用,如果使用足夠頻繁或大量(依賴於用戶的策略),則該組件應當被帶回或重新安裝。軟體系統因此能夠通過重複利用軟體組件的概念適合它的使用環境,該軟體組件重複利用的概念是當它們使用不夠頻繁時將其放入存儲,而當它們再次變得有用時從存儲中檢索它們。例如,通過Web服務被使得可遠程訪問的停用的組件能夠轉換回到"本地"組件一僅僅是上述組件的Web服務打包過程的相反過程。這不意味著該Web服務將被刪除。組件的兩種表示都能存在於不同位置一作為遠程Web服務或作為本地的本地組件。是由用戶的策略決定是否保持兩種表示。這可以是較小的可攜式計算機設備的特定的優勢。只有被頻繁使用的組件將留在本地,不經常使用的額外的組件將被向遠程推。這樣,無線設備能夠小而輕,但又強大。不同用戶的設備基於該用戶的使用模式也能夠表現非常不同。圖4是圖示在基於使用自動維護軟體組件中涉及的基本步驟的流程圖。監視了安裝在系統上的多個軟體組件的使用,並且記錄了關於每個軟體組件的使用的數據。在塊410指示了監視系統內的各種軟體組件使用的步驟。如在塊420所示,然後使用數據被存儲。在一個方面,使用數據被存儲為元數據,並且與一個或更多軟體組件相關聯。如在步驟430所示,然後鑑於過期策略分析使用數據。過期策略可以是應用於軟體組件的全部或一組的全局過期策略,或應用於單獨的軟體組件的單獨的過期策略。每個單獨的組件的使用數據與應用於該組件的可應用的過期策略比較。這可以涉及比較超過一個過期策略,例如全局和單獨的過期策略。在塊435進行關於在一個或更多過期策略中指定的標準是否由使用數據符合的確定。如在塊440所示,如果確定在過期策略中指定的標準已經符合,則停用該組件。在一個方面,停用組件涉及將該組件從系統移除或卸載。為了在該組件再次被調用的情況下提供對其繼續的訪問,於是通過一些其它資源使得該組件可用。例如,在一個方面,該組件被移到遠程位置如Web伺服器,並且通過Web服務提供訪問。在塊450指示了對停用後的組件提供遠程訪問的步驟。然而,停用的組件的使用仍然能夠被監視,並且如果保證停用的組件的使用,則軟體組件能夠潛在地被重新安置。因此,經由遠程訪問監視了停用的組件的使用(460),並且存儲了涉及停用的組件的使用數據(470)。重新安置策略用於確定是否該使用保證停用的組件的重新安置。重新安置策略類似於過期策略。因此,鑑於重新安置策略分析使用數據(480),並且如果使用數據符合在重新安置策略中指定的標準,則停用的組件能夠重新安置,如塊4卯所示。在一個方面,重新安置涉及在本地環境重新安裝軟體組件。一旦組件已經被重新安置,該循環就再次啟動。圖5圖示基於使用自動維護和重複利用軟體組件的系統500的方塊圖。在一個實施例中,系統500適於存儲和/或執行程序代碼,並且使用通用計算機或任何其它硬體等價物實現。因此,系統500包括處理器502、存儲器506(例如隨機存取存儲器("RAM")和/或只讀存儲器("ROM"))、組件重複利用模塊508和各種I/O設備504。處理器502通過系統總線直接或間接地耦合到存儲器506。存儲器506能夠包括在程序代碼的實際執行期間採用的本地存儲器、大容量存儲、和/或高速緩衝存儲器,其提供至少一些程序代碼的暫時存儲,為了減少在執行期間代碼必須從大容量存儲中檢索的次數。I/O設備504能夠直接、或通過中間的輸入/輸出控制器耦合到系統500。此外,1/0設備504能夠包括4建盤、鍵區(keypad)、滑鼠、用於捕獲語音命令的麥克風、指示設備、以及其它將由本領域普通技術人員之一識別的用戶輸入設備。此外,1/O設備504能夠包括接收機、發送機、揚聲器、顯示器、圖像捕獲傳感器、生物傳感器等。此外,1/O設備504能夠包括存儲設備如帶驅動器、軟盤驅動器、硬碟驅動器、緻密盤("CD")驅動器等。.網絡適配器也可以耦合到系統500,以使得系統500能夠通過中間的私有或公共網絡變為耦合到其它系統、遠程印表機或存儲設備。數據機、電纜數據機和乙太網卡只是幾種當前可用的網絡適配器的類型。應當理解的是,在此描述的方法和系統能夠採用全硬體實施例、全軟體實施例、或包括硬體和軟體元件的實施例的形式。如果軟體被用於實現該方法或系統,則該軟體能夠包括但不限於固件、駐留軟體、微代碼等。此外,該方法和/或系統能夠採用電腦程式產品的形式,該計算機產品從提供程序代碼用於由或結合計算機或任何指令執行系統使用的、計算機可使用或計算機可讀的介質可訪問。為了該描述的目的,計算機可使用或計算機可讀的介質能夠是任何裝置,其能夠包括、存儲、通信、傳播或傳送用於由或結合指令執行系統、裝置、或設備使用的程序。該介質能夠是電、磁、光、電磁、紅外、或半導體系統(或裝置或設備)或傳播介質。計算機可讀介質的示例包括半導體或固態存儲器、磁帶、可移除計算才幾盤、RAM、ROM、剛性/磁碟和光碟。當前的光碟示例包括CD-只讀存儲器("CD-ROM")、CD-讀/寫("CD-R/W")和DVD。圖6更詳細地圖示圖5的組件維護模塊。多個軟體組件602存在於本地環境中。各軟體組件可以例如安裝在如之前圖中所示的客戶機計算機120、122或124之一上。可替代地,各軟體組件能夠是在客戶組件庫106中發現的軟體組件。使用記錄模塊604能夠監視多個軟體組件602的使用。如上所述,能夠使用許多測量包括但不限於組件被調用次數、用戶訪問該組件次數、自從上次被使用以來的時間長度、以及資源消耗(如盤空間、存儲器、處理器利用等)來監視使用。然後關於每個軟體組件的使用數據606被存儲。過期策略608也被存儲。組件刪除模塊610訪問使用數據606和過期策略608,以確定軟體組件的使用是否符合在過期策略中指定的標準。這可以通過簡單的比較(如是否使用水平高於或低於在過期正常中指定的值)完成。可替代地,在使用模式的情況下,這可以涉及如在上面已經描述的更複雜的統計分析。如果已經確定軟體組件的使用數據符合在過期策略中指定的標準,則組件刪除組件停用該組件。這能夠通過將軟體組件從環境中移除或卸載完成。在本公開的一個方面,遠程訪問打包機被用來從遠程位置提供將來對停用的組件的訪問。儘管設備和方法已經根據目前認為是最實用和優選的實施例描述,但是要理解的是,本公開不需要限於公開的實施例。意圖在於覆蓋包括在權利要求的精神和範圍內的各種修改和類似安排,該權利要求的範圍應當符合最廣的解釋以便包含所有這樣的修改和類似結構。本公開包括權利要求的任何和全部實施例。權利要求1.一種用於維護軟體組件的方法,包括記錄用於多個軟體組件的一個或更多的使用數據;如果用於多個軟體組件的至少一個的使用數據符合在過期策略中指定的使用標準,則自動移除該至少一個軟體組件;以及通過遠程伺服器提供對移除的軟體組件的訪問。2.如權利要求1所述的用於維護軟體組件的方法,其中使用數據存儲為元數據。3.如權利要求1所述的用於維護軟體組件的方法,其中移除軟體組件包括卸載。4.如權利要求1所述的用於維護軟體組件的方法,其中使用數據包括自從軟體組件上次使用以來的時間長度。5.如權利要求1所述的用於維護軟體組件的方法,其中使用數據包括軟體組件已經被訪問的次數。6.如權利要求1所述的用於維護軟體組件的方法,其中使用數據包括關於通過軟體組件的硬體資源的利用的信息。7.如權利要求1所述的用於維護軟體組件的方法,其中過期策略是全局過期策略,並且應用於多個軟體組件的全部或一組。8.如權利要求1所述的用於維護軟體組件的方法,其中過期策略是單獨的過期策略,並且應用於單獨的軟體組件。9.一種用於維護軟體組件的系統,包括使用數據記錄模塊,用於記錄關於安裝在本地環境內的多個軟體組件的使用的數據,並存儲該數據作為使用數據;刪除模塊,用於將使用數據與過期策略比較,並且如果確定多個軟體組件的至少一個的使用低於在過期策略中指定的水平,則自動將該至少一個軟體組件從本地環境中移除;以及遠程訪問模塊,用於將移除的組件重新定位到遠離本地環境的位置,並才是供對移除的組件的未來訪問。10.如權利要求9所述的系統,其中遠離本地環境的位置是環球網伺服器。11.如權利要求9所述的系統,其中通過環球網服務提供對移除的組件的i方問。12.—種用於維護軟體組件的方法,包括記錄用於多個軟體組件的一個或更多的第一組使用數據;以及如果用於多個軟體組件的至少一個的第一組使用數據符合在過期策略中指定的標準,則自動移除該至少一個軟體組件;通過遠程伺服器提供對移除的組件的訪問;記錄用於移除的軟體組件的第二組使用數據;以及如果第二組使用數據符合在重新安置策略中指定的使用標準,則自動重新安置該移除的軟體組件。13.如權利要求12所述的用於維護軟體組件的方法,其中使用數據包括自從軟體組件上次使用以來的時間長度。14.如權利要求12所述的用於維護軟體組件的方法,其中使用數據包括軟體組件已經被訪問的次數。15.如權利要求12所述的用於維護軟體組件的方法,其中使用數據包括關於通過軟體組件的硬體資源的利用的信息。16.如權利要求12所述的用於維護軟體組件的方法,其中過期策略是全局過期策略,並且應用於多個軟體組件的全部或一組。17.如權利要求12所述的用於維4>軟體組件的方法,其中過期策略是單獨的過期策略,並且應用於單獨的軟體組件。18.如權利要求12所述的用於維護軟體組件的方法,其中過期策略由軟體組件的用戶設置。19.如權利要求13所述的用於維護軟體組件的方法,其中在過期策略中指定的使用標準是時間長度,並且如果自從軟體組件的上次使用以來的時間長度大於使用標準中的時間長度,則使用數據符合使用標準。20.如權利要求14所述的用於維護軟體組件的方法,其中在過期策略中指定的使用標準是數目,並且如果軟體組件已經被訪問的次數小於使用標準中的數目,則使用數據符合使用標準。21.如權利要求12所述的用於維護軟體組件的方法,其中對移除的軟體組件的訪問通過遠程運行的環球網服務提供。22.如權利要求12所述的用於維護軟體組件的方法,其中重新安置移除的軟體組件包括重新安裝該軟體組件。23.—種電腦程式產品,包括計算機可使用的介質,其具有計算機可讀的程序,其中該計算機可讀的程序當在計算機上被執行時導致計算機執行之前的各方法權利要求所述的任一種方法。全文摘要在本公開的一個方面,公開了一種用於維護和重複利用軟體組件的電腦程式產品、系統和方法。記錄用於一個或多個軟體的第一組使用數據。如果用於多個軟體組件的至少一個的第一組使用數據符合在過期策略中指定的標準,則自動移除該至少一個軟體組件。然後通過遠程伺服器提供對移除的組件的訪問。現在記錄用於移除的軟體組件的第二組使用數據。如果第二組使用數據符合在重新安置策略中指定的使用標準,則自動重新安置該移除的軟體組件。文檔編號G06F9/44GK101206573SQ20071018795公開日2008年6月25日申請日期2007年11月16日優先權日2006年12月22日發明者勞倫斯·E·英格蘭,夏晨紅申請人:國際商業機器公司