亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

相沖突的應用程序的適應性配置的制作方法

文檔序號:6336424閱讀:296來源:國知局
專利名稱:相沖突的應用程序的適應性配置的制作方法
技術領域
本發(fā)明總體上涉及計算機科學領域,且具體而言,涉及用于對相沖突的應用程序 進行適應性配置以便改進系統(tǒng)資源利用率的系統(tǒng)、方法和計算機程序產品。
背景技術
現(xiàn)代的計算機應用程序一般是資源密集型的。反病毒應用程序更是如此,這是因 為它們運行于計算機系統(tǒng)上,并且在復雜的系統(tǒng)掃描和其他操作過程中廣泛地與該計算機 系統(tǒng)的許多硬件和軟件組件交互。盡管開發(fā)者不斷地改進反病毒程序及其與計算機系統(tǒng)的 交互,但由于諸如病毒、蠕蟲、間諜軟件以及其他類型的惡意軟件的復雜性持續(xù)增加以及數(shù) 目持續(xù)增長,導致反病毒程序對系統(tǒng)資源的需求繼續(xù)不斷增加。反病毒程序也頻繁地對相沖突的程序操作造成干擾。例如,反病毒程序會將無害 應用程序的一些動作識別為惡意的,并隨之限制此相沖突的應用程序對諸如內存、系統(tǒng)注 冊表、網(wǎng)絡等各種系統(tǒng)資源的訪問。由于反病毒程序的這種干擾,而使得相沖突的應用程序 不能適當?shù)貓?zhí)行,并且不得不重復它們對系統(tǒng)資源的請求,這使總體系統(tǒng)性能進一步惡化。 在企業(yè)環(huán)境中,其中應用程序通常在服務器上執(zhí)行并按時間表由系統(tǒng)用戶訪問,這種情形 加劇,并且反病毒程序的干擾使這類應用程序的操作明顯減慢,且損害了用戶的生產率。因此,需要一種更為有效的技術,用于解決諸如反病毒軟件等資源密集型軟件應 用程序之間的沖突。

發(fā)明內容
本申請中所披露的是用于對相沖突的應用程序進行適應性配置的系統(tǒng)、方法和計 算機程序產品。在一個示例性實施例中,用于對相沖突的應用程序進行適應性配置的系統(tǒng) 包括軟件代理,所述軟件代理可安裝于運行多個程序的計算機系統(tǒng)上,所述多個程序包括 反病毒應用程序和其他資源密集型程序。配置所述軟件代理以收集系統(tǒng)配置信息并將所收 集的信息轉發(fā)給遠程決策引擎,所述系統(tǒng)配置信息包括系統(tǒng)硬件和軟件信息。所述決策引 擎利用所提供的系統(tǒng)信息以及多組模糊邏輯規(guī)則來確定系統(tǒng)資源利用率的臨界水平,包括 由整個計算機系統(tǒng)占用的系統(tǒng)資源利用率的臨界水平以及由所述反病毒程序占用的系統(tǒng) 資源利用率的臨界水平。然后,軟件代理監(jiān)視系統(tǒng)資源利用率,并且確定何時所述系統(tǒng)資源利用率超過所 確定的臨界水平持續(xù)一段預定時間。之后,軟件代理指示決策引擎基于所收集的軟件信息 確定所述反病毒程序是否干擾到計算機系統(tǒng)上的其他程序的執(zhí)行,這導致過度的系統(tǒng)資源 利用。決策引擎利用已知計算機軟件的知識庫來確定執(zhí)行于計算機系統(tǒng)上的程序是否與反 病毒程序相沖突以及相沖突的程序是否對計算機系統(tǒng)有損害。如果相沖突的程序是無害 的,則決策引擎利用沖突解決規(guī)則來確定如何調整反病毒程序的配置設置,以消除對無害 于計算機系統(tǒng)的沖突程序的執(zhí)行的干擾。然后,決策引擎指令軟件代理調整反病毒應用程 序的配置設置,以排除與運行于計算機系統(tǒng)上的其他程序的沖突。
5
在一個示例性實施例中,用于對相沖突的應用程序進行適應性配置的方法包括 收集來自計算機系統(tǒng)的系統(tǒng)配置信息。所述方法進一步包括在第一程序以及一個或多個 第二程序于所述計算機系統(tǒng)上執(zhí)行的過程中,監(jiān)視系統(tǒng)資源利用率。所述第一程序包括反 病毒程序。所述方法進一步包括通過對所收集的系統(tǒng)配置信息應用模糊邏輯規(guī)則來確定 系統(tǒng)資源利用率的一個或多個臨界水平。所述臨界水平包括由整個所述計算機系統(tǒng)占用的 系統(tǒng)資源利用率的臨界水平以及僅由所述第一程序占用的系統(tǒng)資源利用率的臨界水平。當 所監(jiān)視的系統(tǒng)資源利用率超過所確定的臨界水平持續(xù)一段預定時間時,基于所收集的軟件 信息來確定所述第一程序是否與所述第二程序的執(zhí)行相沖突。所述方法進一步包括確定 相沖突的第二程序是否對所述計算機系統(tǒng)有損害,以及改變所述第一程序的配置設置,以 解決與對所述計算機系統(tǒng)無損害的所述相沖突的第二程序的沖突。以上對本發(fā)明示例性實施例的簡要概括用于提供對這類實施例的基本理解。此概 括并不是本發(fā)明設想的所有方面的寬泛概述,并且既不意圖確定所有實施例的關鍵或決定 性要素也不意圖限制任何或所有實施例的范圍。其唯一的目的在于簡要地提出一個或多個 方面的一些構思,作為下面更為詳細的描述的前序。為了實現(xiàn)前述的以及相關的目的,一個 或多個實施例包括將在下面充分描述且在權利要求書中特別指出的特征。下面的描述和附 圖詳細地闡述了一個或多個實施例的某些示例性特征。不過,這些特征僅通過可以采用各 個方面原理的各種方式中的一些來加以說明,但此描述意圖包括所有這樣的方面及其等同 物。


附圖包含于說明書中并構成說明書的一部分,示出了本發(fā)明的一個或多個示例性 實施例,與詳細描述一起用于解釋本發(fā)明實施例的原理和實施方式。附圖中
圖1示出了根據(jù)一個示例性實施例的用于適應性程序配置的系統(tǒng)示意性框圖。圖2示出了根據(jù)一個示例性實施例的用于適應性程序配置的系統(tǒng)組件之間的交 互示例。圖3示出了總體系統(tǒng)負載與資源密集型程序的系統(tǒng)負載之間的依賴關系的示范 性曲線圖。圖4示出了用于基于非模糊邏輯規(guī)則確定系統(tǒng)資源利用率的臨界水平的示范性算法。圖5示出了用于基于模糊邏輯確定總體系統(tǒng)負載和資源密集型軟件系統(tǒng)負載的 臨界水平的示范性算法。圖6示出了適應性程序配置的示范性算法。圖7示出了根據(jù)一個示例性實施例的計算機系統(tǒng)的示意性框圖。
具體實施例方式在本申請中,圍繞用于對相沖突的計算機程序進行適應性配置的系統(tǒng)、方法和計 算機程序產品,描述示例性實施例。本領域普通技術人員將認識到,下面的描述僅僅是示例 性的而并非意圖進行任何方式的限定。受益于本申請的本領域的技術人員將容易獲得其他實施例的啟示?,F(xiàn)在,將更為詳細地描述如附圖中所示的示例性實施例的實施方式。貫穿 全部附圖以及下列描述,相同的附圖標記將盡可能用于表示相同或相似的對象。圖1示出了根據(jù)本發(fā)明的一個示例性實施例的系統(tǒng)的示意性框圖,該系統(tǒng)用于 通過對相沖突的應用程序進行適應性配置來改進諸如個人計算機這樣的計算機系統(tǒng)的性 能。系統(tǒng)100包括一個或多個個人計算機(“PC”)101,每一個PC 101均具有多個應用程序 102a、102b、102c等。多個PC 101可連接到局域網(wǎng)中。PC 101可以是臺式計算機、工作站、 便攜式計算機、應用服務器或者可運行諸如應用程序102a、102b、102c、102d等計算機程序 的其他類型的處理設備。應用程序102可包括各種計算機程序、腳本、代碼、插件以及可執(zhí) 行于PC 101上的其他類型的軟件。系統(tǒng)100還包括至少一個本地軟件代理103,所述本地軟 件代理103收集系統(tǒng)配置信息、監(jiān)視系統(tǒng)利用率并對運行于PC 101上的應用程序102的配 置進行更改。系統(tǒng)100還包括遠程決策引擎104,所述遠程決策引擎104確定系統(tǒng)資源利用 率的臨界水平、識別相沖突的應用程序并提供沖突解決方案。系統(tǒng)100還包括數(shù)據(jù)庫105、 數(shù)據(jù)庫106和數(shù)據(jù)庫107,所述數(shù)據(jù)庫105包含確定系統(tǒng)資源利用率的臨界水平的規(guī)則,所 述數(shù)據(jù)庫106包含關于相沖突的應用程序的信息,所述數(shù)據(jù)庫107包含沖突解決規(guī)則。以 上系統(tǒng)配置并非是限定性的,其他軟件和硬件組件和數(shù)據(jù)庫一樣,可以用于各種實施例中。在一個示例性實施例中,應用程序102包括反病毒應用程序102a或者安裝于每臺 PC 101上的其他資源密集型應用程序。替代地,反病毒應用程序102a可安裝于單獨的應 用服務器或者為位于同一網(wǎng)絡上的若干PC 101服務的其他網(wǎng)絡設備上。資源密集型應用 程序是利用PC 101的諸如CPU時間、內存、網(wǎng)絡及其他計算機資源的大量系統(tǒng)資源的應用 程序。如以上所解釋的,反病毒程序102a可能與安裝在PC 101上的其他程序102b、102c、 102d等的執(zhí)行發(fā)生干擾或沖突。例如,反病毒程序102a會限制相沖突的應用程序對諸如 內存、系統(tǒng)注冊表、網(wǎng)絡等各種系統(tǒng)資源的訪問,甚至會終止沖突程序的執(zhí)行。這種干擾會 使PC 101加重負載甚至過載。為了防止或者減輕這些問題,根據(jù)一個示例性實施例,當PC 101的利用率達到臨界水平或另一閾值時,用于對相沖突的應用程序進行適應性配置的系 統(tǒng)可被自動激活。在另一示例性實施例中,當已知的沖突應用程序102b、102c或102d與反 病毒程序102a或者其他相沖突的資源密集型應用程序同時執(zhí)行時,該系統(tǒng)可被自動激活。在一個示例性實施例中,軟件代理103可安裝于每臺PC 101上。在另一個實施例 中,軟件代理103可安裝于單獨的應用服務器或為位于同一網(wǎng)絡上的PC 101服務的其他網(wǎng) 絡設備上。代理103可作為單機程序、反病毒程序102a的組件、腳本或者其他類型的可執(zhí) 行、可編譯或可解釋的代碼加以實現(xiàn)。在一個示例性實施例中,軟件代理103執(zhí)行三個主要 功能收集PC 101的系統(tǒng)配置信息、監(jiān)視PC 101的系統(tǒng)資源利用率、以及調整相沖突的應 用程序的配置設置以提高系統(tǒng)資源利用率。如圖1所示,軟件代理103可經(jīng)由諸如因特網(wǎng) 這樣的網(wǎng)絡108,訪問由遠程決策引擎104及數(shù)據(jù)庫105、106和107提供的服務。在另一個 示例性實施例中,決策引擎104及數(shù)據(jù)庫105、106和107的功能性可在軟件代理103中實 現(xiàn),從而可以本地化地對PC 101執(zhí)行所有任務。然而,在一些實例中,例如,為了防止給其 上可運行軟件代理103的PC 101增加額外的負載,會期望將由軟件代理103執(zhí)行的處理與 由引擎104及數(shù)據(jù)庫105、106和107執(zhí)行的處理分開。在一個示例性實施例中,軟件代理103可以被配置為在PC 101啟動時自動啟動。 替代地,軟件代理103可以由PC用戶、系統(tǒng)管理員、反病毒應用程序102a或其他應用程序
7激活。一旦被激活,軟件代理103就開始收集系統(tǒng)配置信息,包括PC 101的硬件和軟件信 息。所收集的硬件配置信息可包括但不限于,CPU的類型和頻率,例如Intel Core 2 Quad 2.33 GHz Penryn ;RAM的類型和容量,例如4096 MB DDR3 ;硬盤的尺寸,例如500GB SATA ; 圖形卡的類型,例如nVidia GeForce GT 240M ;以及其他與硬件有關的信息。所收集的軟 件配置信息可包括但不限于,操作系統(tǒng)的類型和版本,例如Windows Vista Service Pack 2;以及運行于PC 101上的軟件應用程序、程序、腳本和進程,例如Half-Life 2 Build 6500、DC++和其他程序。軟件代理103還可收集其他系統(tǒng)信息,這些系統(tǒng)信息指明哪些軟 件應用程序、程序和進程在PC 101上執(zhí)行。為每臺PC 101收集的系統(tǒng)配置信息可由軟件 代理103本地化存儲,或者存儲于諸如數(shù)據(jù)庫105這樣的遠程數(shù)據(jù)庫中,如圖2所示。在一個示例性實施例中,軟件代理103還可被配置為監(jiān)視PC 101的系統(tǒng)資源利用 率,包括總體系統(tǒng)資源利用率和/或由反病毒程序102a或其他資源密集型應用程序占用的 資源利用率。系統(tǒng)資源利用率可包括但不限于CPU利用率、RAM利用率、硬盤利用率和其他 參數(shù)。軟件代理103可被配置為用于確定(i)何時總體系統(tǒng)資源利用率高于臨界水平持續(xù) 一段預定時間,和/或(ii )何時反病毒程序102a或其他資源密集型應用程序占用的系統(tǒng) 資源利用率高于臨界水平持續(xù)一段預定時間。系統(tǒng)資源利用率的臨界水平以及PC 101運 行在臨界水平之上的持續(xù)時間可以由決策引擎104確定,如將在下面進行詳細描述的。圖3示出了總體系統(tǒng)資源利用率與由諸如反病毒程序102a這樣的資源密集型程 序占用的程序專用系統(tǒng)資源利用率的依賴關系的示范性曲線圖,以總系統(tǒng)利用率的百分比 和系統(tǒng)運行時間為坐標。如圖所示,軟件代理103持續(xù)30秒時間檢測總體系統(tǒng)資源利用率 301和程序專用系統(tǒng)資源利用率302的變化??傮w系統(tǒng)資源利用率的臨界水平303被設定 在60%,且程序專用系統(tǒng)資源利用率的臨界水平304被設定到45%。時間標記305表示總體 系統(tǒng)資源利用率301和程序專用系統(tǒng)資源利用率302在大約16秒處都分別達到了臨界水 平303和304。時間標記306表示總體系統(tǒng)資源利用率301和程序專用系統(tǒng)資源利用率302 在大約24秒處分別跌至臨界水平303和304以下。當軟件代理103確定總體系統(tǒng)資源利 用率301和/或程序專用系統(tǒng)資源利用率302超過各自的臨界水平303和304持續(xù)一段預 定時間例如5秒時,軟件代理103可被配置為重新配置反病毒程序102a的設置以消除沖突 并使系統(tǒng)資源利用率低于臨界水平,如下面將詳細描述的。在一個示例性實施例中,系統(tǒng)資源利用率的臨界水平是計算機特定的,并且是由 決策引擎104基于每臺PC 101的特定系統(tǒng)配置單獨為每臺PC 101確定的。為此目的,決策 引擎104利用由軟件代理103收集和提供的PC 101的硬件和軟件配置信息來確定PC 101 的系統(tǒng)資源利用率的臨界水平。在一個示例性實施例中,這些臨界水平的確定可以基于數(shù) 據(jù)庫105中所存儲的系統(tǒng)資源利用率規(guī)則。圖4示出了用于基于數(shù)據(jù)庫105中所存儲的非 模糊的(“明確的”)邏輯規(guī)則來確定總體系統(tǒng)資源利用率和程序專用系統(tǒng)資源利用率的臨 界水平的示范性算法。首先,決策引擎104取得并分析PC 101的系統(tǒng)配置信息(步驟401)。 然后,決策引擎104確定PC 101上運行的是什么操作系統(tǒng)(步驟402),在給出的示例中,是 Windows Vista Service Pack 2。重要的是,要注意,大部分都是由操作系統(tǒng)來控制計算機 系統(tǒng)中的系統(tǒng)資源分配,且不同的操作系統(tǒng)控制的方式不同。一些操作系統(tǒng)允許較高的總 體系統(tǒng)資源利用率和單一程序占用的系統(tǒng)資源利用率,然而其他操作系統(tǒng)則在系統(tǒng)資源利 用率上采取更為嚴格的限制。因此,數(shù)據(jù)庫105包含不同的規(guī)則集,這些規(guī)則集針對不同的操作系統(tǒng)控制系統(tǒng)資源利用率的不同臨界水平及其持續(xù)時間的選擇。接著,分析處理器信息(步驟403),并選擇臨界水平和持續(xù)時間參數(shù)(步驟404和 405)。如果處理器的工作頻率為2. 33GHz (步驟403),則(步驟404)將總體系統(tǒng)資源利用率 的臨界水平選擇為50%,將應用程序專用系統(tǒng)資源利用率的臨界水平選擇為25%,并將系統(tǒng) 運行在臨界水平之上的持續(xù)時間選擇為4秒(步驟404)。如果處理器的工作頻率為2. 33GHz 以外的頻率(步驟403 ),則可以選擇其他參數(shù)值(步驟405 )。接著,分析內存信息(步驟406 ) 并適當?shù)卣{整臨界水平和持續(xù)時間參數(shù)(步驟407和408)。例如,如果系統(tǒng)內存的容量確定 為4GB (步驟406),則將總體系統(tǒng)資源利用率的臨界水平保持在50%,并將應用程序專用系 統(tǒng)資源利用率的臨界水平保持在25%,而可將系統(tǒng)運行在臨界水平之上的持續(xù)時間延長至 5秒(步驟407)。如果系統(tǒng)內存多于或少于4GB (步驟406),則可不同地向上或向下調整參 數(shù)(步驟408)。接著,分析圖形卡信息(步驟409),并適當?shù)卣{整臨界水平和持續(xù)時間參數(shù) (步驟410和411)。如果圖形卡具有512MB的內部內存并且具有使用系統(tǒng)的RAM的能力,則 在步驟410,可將總體系統(tǒng)資源利用率的臨界水平增加至60%,可將應用程序專用系統(tǒng)資源 利用率的臨界水平增加至30%,而將系統(tǒng)運行在這些臨界水平之上的持續(xù)時間保持在5秒。 如果PC 101具有不同的圖形卡,則可不同地向上或向下調整參數(shù)(步驟411)。以上分析和 參數(shù)調整可以基于影響總體系統(tǒng)資源利用率和應用程序專用系統(tǒng)資源利用率的其他系統(tǒng) 組件來進行。還應當注意的是,數(shù)據(jù)庫105可以隨著為新開發(fā)的計算機硬件、軟件、服務補 丁程序(service patch)等提供臨界水平的規(guī)則集而周期性地更新。圖5示出了根據(jù)另一個實施例的用于基于模糊邏輯規(guī)則來確定總體系統(tǒng)資源利 用率和程序專用系統(tǒng)資源利用率的臨界水平的示范性算法。如圖所示,決策引擎104接收 并分析PC 101的系統(tǒng)配置信息(步驟501)。然后,決策引擎104執(zhí)行模糊化處理——將非 模糊的定量變量轉化為模糊的邏輯語言變量(步驟502)。接著,決策引擎104將來自數(shù)據(jù) 庫105的模糊規(guī)則集與這些語言變量進行比較(步驟503)。作為這一比較的結果,確定對 應于這些語言變量的模糊邏輯規(guī)則。每個模糊邏輯規(guī)則提供總體系統(tǒng)資源利用率的臨界水 平、應用程序專用系統(tǒng)資源利用率的臨界水平以及系統(tǒng)運行在系統(tǒng)資源利用率的臨界水平 之上的持續(xù)時間作為語言值。然后,決策引擎104執(zhí)行反模糊化處理——將模糊的邏輯語 言值翻轉化為非模糊的量化值(步驟504)。除了執(zhí)行模糊化和反模糊化處理所必需的模糊 邏輯規(guī)則以外,數(shù)據(jù)庫105還包含所有必需的語言變量以及相關聯(lián)的精確物理量。接著,決 策引擎104確定總體系統(tǒng)資源利用率的臨界水平、應用程序專用系統(tǒng)資源利用率的臨界水 平以及系統(tǒng)運行在臨界水平之上的持續(xù)時間的準確的非模糊值,并且將這些值傳給軟件代 理103 (步驟505)。接下來,提供圖5中的算法的示范性應用,以基于PC 101的內存容量選擇臨界水 平參數(shù)??蓱孟嗨频奶幚?,以基于PC 101的處理器、圖形卡以及其他硬件和軟件組件來 調整所確定的參數(shù)。首先,決策引擎104確定PC 101具有4GB的RAM (步驟501)。數(shù)據(jù)庫 105包含一組語言變量和相關聯(lián)的值,其中包括語言變量“RAM容量”,該語言變量“RAM容 量”可具有三個相關聯(lián)的語言值,例如,“小”、“中”和“大”。數(shù)據(jù)庫105還包含一組數(shù)值范 圍,該組數(shù)值范圍對應于變量“RAM容量”的語言值。例如,語言值“小”可對應于0至2GB范 圍內的內存,語言值“中,,可對應于2GB至5GB范圍內的內存,且語言值“大”可對應于5GB 及以上的內存。據(jù)此,在模糊化處理(步驟502)過程中,PC 101中4GB的RAM的實際容量
9被轉化為其模糊邏輯值“中”。接著,將RAM的模糊值與來自數(shù)據(jù)庫103的模糊邏輯規(guī)則進 行比較(步驟503)。示范性模糊邏輯規(guī)則可指定“i/^ RAM容量力中,游總體系統(tǒng)資源利用 率的臨界水平截程序專用系統(tǒng)資源利用率的臨界水平以系統(tǒng)運行于臨界水平之上的持 續(xù)時間差標準的。”因此,該規(guī)則規(guī)定了 “總體系統(tǒng)資源利用率的臨界水平”變量、“程序專 用系統(tǒng)資源利用率的臨界水平”變量和“系統(tǒng)運行于臨界水平之上的持續(xù)時間”變量具有 “標準”值。據(jù)此,在反模糊化(步驟504)處理過程中,模糊值“標準”被從其語言形式轉化 為非模糊的量化形式。為此目的,數(shù)據(jù)庫105包含與“總體系統(tǒng)資源利用率的臨界水平”變 量、“程序專用系統(tǒng)資源利用率的臨界水平”變量和“系統(tǒng)運行于臨界水平之上的持續(xù)時間” 變量的“標準”值相對應的數(shù)值范圍。例如,“總體系統(tǒng)資源利用率的臨界水平”變量的“標 準”值可對應于50%至60%的系統(tǒng)資源利用率范圍內的值;“程序專用系統(tǒng)資源利用率的臨 界水平”變量的“標準”值可對應于30%至40%的系統(tǒng)資源利用率范圍內的值;且“系統(tǒng)運 行于臨界水平之上的持續(xù)時間”變量的“標準”值可對應于5至10秒范圍內的值。據(jù)此,從 所規(guī)定的“標準”范圍為這些模糊變量選擇適當?shù)姆悄:牧炕?步驟505)。一旦系統(tǒng)資源利用率的臨界水平以及系統(tǒng)運行于這些臨界水平之上的持續(xù)時間 被確定,軟件代理103就開始監(jiān)視總體系統(tǒng)資源利用率和/或由反病毒程序102a或其他資 源密集型應用程序占用的應用程序專用系統(tǒng)資源利用率。當軟件代理103確定超過系統(tǒng)資 源利用率的一個或多個臨界水平的情況已持續(xù)預定持續(xù)時間時,軟件代理103可以收集與 反病毒程序102a或其他資源密集型應用程序的運行有關的信息,包括與反病毒程序102a 的當前配置有關的信息、與程序102a正在執(zhí)行的任務有關的信息、與程序102a在短時間例 如2-3分鐘內正在掃描或訪問的文件有關的信息以及與正在被與程序102a同時執(zhí)行的各 種應用程序、程序、進程和腳本所利用的系統(tǒng)資源有關的信息??傊?,已收集了下列與PC 101有關的系統(tǒng)配置信息
與PC 101的硬件和軟件配置有關的信息,包括與其CPU、RAM、硬盤、操作系統(tǒng)以及其 他系統(tǒng)組件有關的信息?!づc反病毒程序102a或其他資源密集型應用程序的執(zhí)行有關的信息,包括配置 信息、正在執(zhí)行的任務、最近訪問/掃描的文件以及其他影響系統(tǒng)資源利用率的信息?!づc同時運行于PC 101上的其他程序有關的信息
與總體系統(tǒng)資源利用率和由反病毒程序102a占用的程序專用系統(tǒng)資源利用率有關 的信息,例如與CPU、RAM等的利用率有關的信息。接著,軟件代理103可將所收集的軟件配置信息傳給決策引擎104,所述決策引擎 104對軟件配置信息進行分析,以識別運行于PC 101上的相沖突的應用程序,并重新配置 反病毒程序102a的設置,以利用數(shù)據(jù)庫106中所存儲的與已知的相沖突的應用程序有關的 信息以及數(shù)據(jù)庫107中所存儲的沖突解決規(guī)則來消除對相沖突的應用程序的干擾。應當 注意的是,在一個示例性實施例中,軟件代理103可在達到系統(tǒng)資源利用率的臨界水平之 前將所收集的軟件配置信息傳給決策引擎104,從而決策引擎104可搶先(preemptively) 開始對任何可能的相沖突的應用程序的識別處理。在一個示例性實施例中,決策引擎104 可以訪問數(shù)據(jù)庫106獲得與已知的相沖突的應用程序有關的信息,尤其是與已知的應用程 序、程序、進程、腳本、插件以及其他軟件代碼有關的信息,所述已知的應用程序、程序、進 程、腳本、插件以及其他軟件代碼的執(zhí)行會與運行于PC 101上的反病毒程序102a或其他資源密集型應用程序相沖突或被其干擾。在一個示例性實施例中,決策引擎104可以訪問數(shù) 據(jù)庫107獲得決策引擎104解決應用程序沖突所用的明確的和模糊的邏輯規(guī)則。具體而 言,沖突解決規(guī)則提供對反病毒程序102a的配置設置的調整,因而解決了與相沖突的應用 程序102b、102c或102d之間的沖突。圖6示出了根據(jù)一個示例性實施例的用于經(jīng)由適應性程序配置來改善系統(tǒng)資源 利用率的示范性算法。如圖所示,決策引擎104分析軟件代理103所提供的PC 101的軟件 配置信息(步驟601 )。此信息可包括與反病毒程序102a的執(zhí)行有關的信息,例如,程序配置 信息、該程序正在執(zhí)行的任務、最近訪問/掃描的文件和內存扇區(qū)及其他程序信息,以及與 同時運行于PC 101上的其他程序有關的信息。識別運行于PC 101上的特定程序的信息可 包括由PC 101上的程序102生成的進程和線程名稱、系統(tǒng)內存中的程序位置、已授權的程 序用戶的姓名和頭銜以及其他信息。然后,決策引擎104通過將所收集的軟件配置信息與 存儲于數(shù)據(jù)庫106中的與已知的相沖突的應用程序有關的信息進行比較來識別相沖突的 程序(步驟602),所述存儲于數(shù)據(jù)庫106中的與已知的相沖突的應用程序有關的信息可隨 著與新的相沖突的程序有關的信息不斷更新。例如,決策引擎104可識別出運行于PC 101 上的兩個相沖突的程序,如DC++和Half Life 2 Build 6500。反病毒程序102a或其他資 源密集型程序對這兩個程序的運行的干擾會將系統(tǒng)資源利用率提高到臨界水平之上。接著,決策引擎104可利用來自數(shù)據(jù)庫106的應用程序信息來確定所檢測到的相 沖突的程序是否是惡意的(步驟603)。惡意的計算機程序一般包括病毒、蠕蟲、木馬、間諜 軟件以及會損害PC 101的其他類型的惡意軟件。雖然運行于PC 101上的反病毒應用程 序102a應當檢測出這類惡意的程序,但由于過時的惡意軟件定義數(shù)據(jù)庫或其他原因,反病 毒程序102a可能會漏掉新型惡意軟件。因為相沖突的應用程序的數(shù)據(jù)庫106相對于PC 101是遠程定位的,并且隨著與新的惡意軟件和相沖突的程序有關的信息不斷更新,所以決 策引擎104針對新的惡意程序提供額外的安全級別。如果所檢測到的程序實際上惡意的 (步驟603),則決策引擎104可將與惡意的相沖突的程序有關的信息轉發(fā)給軟件代理103 (步驟604),軟件代理103隨后通知反病毒軟件102a有關PC 101上運行有惡意程序(步驟 605)。利用所提供的關于惡意程序的信息,反病毒程序102a可以采取適當?shù)难a救措施(步 驟606),例如,刪除相沖突的程序中的惡意代碼、刪除PC 101中的惡意程序或者終止并隔 離惡意程序,從而使系統(tǒng)管理員能夠決定稍后如何處理惡意程序。如果決策引擎104確定相沖突的程序不是惡意的(步驟603),則決策引擎104可查 找數(shù)據(jù)庫107以確定適當?shù)臎_突解決規(guī)則(步驟607)。在一個示例性實施例中,沖突解決規(guī) 則可確定反病毒應用程序102a的哪個配置設置可被改變,以便消除對相沖突的非惡意程 序例如CD++和Half Life 2 Build 6500的運行的干擾。例如,已知的是,反病毒應用程序 102a會阻止PC 101上DC++執(zhí)行過程中所使用的端口,從而干擾該程序的運行。對此沖突 的一個解決方案將會是重新配置反病毒程序102a的設置以允許DC++訪問所需要的端口。 還已知的是,Half Life 2 Build 6500所使用的多數(shù)文件都被歸檔存儲,并且每當該程序 試圖訪問歸檔文件時,反病毒應用程序102a就被配置為執(zhí)行對所訪問的文件的反病毒掃 描,這降低了 Half Life 2的運行。對此沖突的一個解決方案將會是將反病毒程序102a重 新配置為對Half Life 2 Build 6500所訪問的歸檔文件不執(zhí)行病毒掃描。由于已經(jīng)具有 確定的沖突解決方案,決策引擎104可將新的配置設置發(fā)送給軟件代理103 (步驟608),而
11軟件代理103隨后將這些新的配置設置應用于反病毒應用程序102a,從而消除對相沖突的 非惡意應用程序的干擾,并由此提高總體系統(tǒng)資源利用率和由反病毒應用程序102a占用 的應用程序專用系統(tǒng)資源利用率。如以上所指出的,決策引擎104通過將與相沖突的程序有關的信息與存儲于數(shù)據(jù) 庫107中的適當?shù)臎_突解決規(guī)則相匹配,為反病毒程序102a確定新的配置設置。在一個示 例性實施例中,沖突解決規(guī)則基于模糊邏輯。在此情形下,決策引擎104實施下列用于為反 病毒程序102a確定新的配置設置的三步處理。首先,決策引擎104執(zhí)行模糊化處理,包括將 與反病毒程序102a的運行有關的信息以及與相沖突的程序有關的信息轉化為模糊邏輯語 言變量。其次,決策引擎104將這些語言變量與存儲于數(shù)據(jù)庫107中的模糊邏輯規(guī)則進行比 較,以確定適當?shù)臎_突解決規(guī)則。每個模糊邏輯規(guī)則以語言形式描述沖突解決方案。第三, 決策引擎104執(zhí)行反模糊化處理,包括將模糊邏輯沖突解決方案轉化為用于反病毒應用程 序102a的實際配置設置,在以上段落中介紹了這類解決方案的示例。然后,將這些配置設 置應用于反病毒應用程序102a,以提高總體系統(tǒng)資源利用率和由運行于PC 101上的反病 毒應用程序102a占用的應用程序專用系統(tǒng)資源利用率。在替代的實施例中,沖突解決規(guī)則 可以利用非模糊邏輯來實現(xiàn)。圖7繪出了根據(jù)一個示例性實施例的可以用于實現(xiàn)PC 101的示范性計算機系統(tǒng) 5。應當注意的是,計算機系統(tǒng)5還可以用于實現(xiàn)臺式計算機、工作站、便攜式計算機、應用 服務器或其他類型的數(shù)據(jù)處理設備。如所繪制的,計算機系統(tǒng)5包括通過系統(tǒng)總線10連接 的CPU 15、系統(tǒng)內存20、硬盤驅動器30、光盤驅動器35、串行端口 40、圖形卡45、聲卡50和 網(wǎng)卡55。系統(tǒng)總線10可以是若干種總線結構中的任何一種,所述總線結構包括使用多種已 知總線架構中的任何一種的內存總線或內存控制器、外設總線和現(xiàn)場總線。處理器15可包 括Intel Core 2 Quad 2. 33 GHz處理器或其他類型的微處理器。系統(tǒng)內存20包括只讀存儲器(ROM)21和隨機存取存儲器(RAM)23。內存20可以 實現(xiàn)于DRAM (動態(tài)RAM)、EPR0M、EEPR0M、閃存或其他類型的存儲器架構中。ROM 21存儲基 本輸入/輸出系統(tǒng)22 (BIOS),包含在計算機系統(tǒng)5的組件之間幫助傳遞信息的基本例程, 例如啟動過程。RAM 23存儲操作系統(tǒng)24 (0S),例如,Windows Vista 或者其他類型的0S, 所述操作系統(tǒng)24負責計算機系統(tǒng)5中進程的管理和協(xié)調以及硬件資源的分配和共享。系 統(tǒng)內存20還存儲當前運行于計算機5上的應用程序和程序25,包括反病毒應用程序和各種 其他程序。系統(tǒng)內存20還存儲應用程序和程序25所使用的各種運行時間數(shù)據(jù)26。計算機系統(tǒng)5可進一步包括硬盤驅動器30,例如,500GB SATA磁盤驅動器,以及 用于對可移除光盤進行讀取或寫入的光盤驅動器35,例如,⑶-ROM、DVD-ROM或其他光學介 質。驅動器30和35及其關聯(lián)的計算機可讀介質為實現(xiàn)這里所披露的算法和方法的計算機 可讀指令、數(shù)據(jù)結構、應用程序和程序模塊/子例程提供非易失性存儲。雖然示范性計算機 系統(tǒng)5使用磁盤和光盤,但本領域技術人員應當理解的是,在計算機系統(tǒng)的替代實施例中, 還可以使用能夠對可由計算機系統(tǒng)5存取的數(shù)據(jù)加以存儲的其他類型的計算機可讀介質, 例如,磁帶、閃存卡、數(shù)字視頻光盤、RAM、ROM、EPROM以及其他類型的存儲器。計算機系統(tǒng)5進一步包括多個串行端口 40,例如通用串行總線(USB),用于連接諸 如鍵盤、鼠標、觸摸板等的數(shù)據(jù)輸入設備75。串行端口 40還可用于連接諸如打印機、掃描儀 等數(shù)據(jù)輸出設備80以及如外部數(shù)據(jù)存儲設備等其他外圍設備85。計算機系統(tǒng)5還可包括
12圖形卡45,例如nVidia GeForce GT 240M或其他視頻卡,用于與監(jiān)視器60或其他視頻再 現(xiàn)設備接口。計算機系統(tǒng)5還可包括聲卡50,用于經(jīng)由內部或外部揚聲器65再現(xiàn)聲音。此 外,計算機系統(tǒng)5還可包括網(wǎng)卡55,例如以太網(wǎng)、WiFi、GSM、藍牙或用于將計算機系統(tǒng)5連 接到如因特網(wǎng)的網(wǎng)絡70的其他有線、無線或蜂窩網(wǎng)絡接口。如本申請所使用的,“系統(tǒng)”、“組件”、“代理”以及諸如此類的術語意圖包括與計算 機相關的實體,例如但不限于硬件、固件、硬件和軟件的組合、軟件或在執(zhí)行的軟件。例如, 組件可以是但不限于是運行于處理器上的進程、處理器、對象、可執(zhí)行文件、執(zhí)行線程、程序 和/或計算機。作為說明,運行于計算設備上的應用程序和該計算設備都可以是組件。一 個或多個組件可以處于進程和/或執(zhí)行線程內,且組件可以本地化于一臺計算機上和/或 分布于兩臺或多臺計算機之間。另外,這些組件可以從各種非暫時性計算機可讀介質執(zhí)行, 這些非暫時性計算機可讀介質上存儲有各種數(shù)據(jù)結構。組件可以通過本地和/或遠程處理 的方式來進行通信,所述遠程處理方式例如是根據(jù)具有一個或多個數(shù)據(jù)包的信號,所述數(shù) 據(jù)包例如是來自一個組件的數(shù)據(jù),該組件與本地系統(tǒng)中和/或在整個網(wǎng)絡上的另一組件交 互,所述網(wǎng)絡例如是帶有其他系統(tǒng)的因特網(wǎng)。在各種實施例中,這里所描述的算法和方法可以實現(xiàn)于硬件、軟件、固件或其任一 組合中。如果實施于軟件中,則功能可以作為非暫時性計算機可讀介質上的一個或多個指 令或代碼來進行存儲或傳送。計算機可讀介質既包括計算機存儲介質也包括通信介質,所 述通信介質包括便于將計算機程序從第一個地方傳送到另一個地方的任一介質。存儲介 質可以是可由計算機存取的任何可獲得的介質。作為示例而非限制,這類計算機可讀介質 可以包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲器、磁盤存儲器或其他磁性存儲設備、 或者可用于容納或存儲所需程序代碼的任一其他介質,這些程序代碼為指令或數(shù)據(jù)結構的 形式且可由計算機存取。此外,可以將任何連接定義為計算機可讀介質。例如,如果利用 同軸電纜、光纖電纜、雙絞線、數(shù)字用戶線(DSL)或諸如紅外、射頻和微波這類無線技術從 網(wǎng)站、服務器或其他遠程信源(source)發(fā)送軟件,則同軸電纜、光纖電纜、雙絞線、數(shù)字用 戶線(DSL)或諸如紅外、射頻和微波這類無線技術被包括在介質的定義內。磁盤和光碟, 如這里所使用的,包括壓縮光碟(⑶)、激光光碟、光學光碟、數(shù)字多功能光碟(DVD)、軟盤和 Blu-ray 光碟,其中,磁盤通常磁性地再現(xiàn)數(shù)據(jù),而光盤通常利用激光光學地再現(xiàn)數(shù)據(jù)。以 上這些的組合也應當包括在計算機可讀介質的范圍內。為了清楚起見,這里所描述的實施方式的常規(guī)特征并未全部示出和描述。應予認 識到的是,在任何這類實際的實施方式的開發(fā)中,為了達到開發(fā)者的特定目標例如符合與 應用程序相關的制約,必須做出大量特定的實施方式?jīng)Q策,以及這些特定目標將根據(jù)不同 的實施方式和不同的開發(fā)者而改變。而且,應予認識到的是,這類開發(fā)工作可能是復雜和 耗時的,但不論如何,對于受益于本申請的本領域一般技術人員而言,都將是常規(guī)的工程任 務。此外,要理解的是,這里所使用的措辭或術語僅為了說明而非限制,這樣,本說明 書的術語或措辭將由本領域技術人員鑒于這里所給出的教導并結合相關領域的技術人員 的知識予以解釋。而且,除非如此明確地予以闡述,否則說明書或權利要求書中的任何術語 都并非意圖表示不常見的或特殊的意思。這里所披露的各種實施例囊括了本申請中用于說 明而涉及的已知構成要素的現(xiàn)在和將來的已知等同物。此外,雖然已經(jīng)示出和描述了這些
13實施例及應用,但對于受益于本申請的本領域技術人員而言顯而易見的是,在不脫離本申 請中所披露的發(fā)明構思的情況下,比上面提及的更多的修改例都是可能的。
權利要求
一種用于適應性程序配置的方法,該方法包括收集來自計算機系統(tǒng)的系統(tǒng)配置信息,所述配置信息包括系統(tǒng)硬件和軟件信息;在第一程序以及一個或多個第二程序執(zhí)行于所述計算機系統(tǒng)上的過程中,監(jiān)視系統(tǒng)資源利用率;通過對所收集的系統(tǒng)配置信息應用模糊邏輯規(guī)則,來確定系統(tǒng)資源利用率的一個或多個臨界水平;當所監(jiān)視的系統(tǒng)資源利用率超過所確定的臨界水平持續(xù)一段預定時間時,基于所收集的軟件信息而確定所述第一程序是否與所述一個或多個第二程序的執(zhí)行相沖突;確定一個或多個相沖突的第二程序是否對所述計算機系統(tǒng)有損害;以及改變所述第一程序的配置設置,以解決與對所述計算機系統(tǒng)無損害的所述一個或多個相沖突的第二程序的沖突。
2.如權利要求1所述的方法,其特征在于,所述第一程序是反病毒程序。
3.如權利要求2所述的方法,其特征在于,所述系統(tǒng)資源利用率的臨界水平包括 由整個所述計算機系統(tǒng)占用的系統(tǒng)資源利用率的臨界水平;以及僅由所述第一程序占用的系統(tǒng)資源利用率的臨界水平。
4.如權利要求3所述的方法,其特征在于,進一步包括通過對所收集的軟件配置信息 應用模糊邏輯規(guī)則,來確定所述第一程序的配置設置。
5.如權利要求4所述的方法,其特征在于,所述確定一個或多個相沖突的第二程序是 否對所述計算機系統(tǒng)有損害進一步包括給所述第一程序提供關于一個或多個有害的第二 程序的信息,以便所述第一程序采取補救措施,所述補救措施包括修復所述有害的第二程 序、隔離所述有害的第二程序或者從所述計算機系統(tǒng)中刪除所述有害的第二程序。
6.如權利要求5所述的方法,其特征在于,進一步包括提供軟件代理,所述軟件代理 相對于所述計算機系統(tǒng)是本地化的,用于收集系統(tǒng)配置信息、監(jiān)視系統(tǒng)資源利用率、給所述 第一程序提供所述關于一個或多個有害的相沖突的第二程序的信息、以及改變所述第一程 序的配置設置。
7.如權利要求6所述的方法,其特征在于,進一步包括提供決策引擎,所述決策引擎 相對于所述計算機系統(tǒng)是遠程的,用于確定系統(tǒng)資源利用率的臨界水平、確定所述第一程 序是否與所述一個或多個第二程序的執(zhí)行相沖突、確定相沖突的第二程序是否對所述計算 機系統(tǒng)有損害、提供關于有害的相沖突的程序的信息、以及確定所述第一程序的配置設置。
8.一種用于適應性程序配置的系統(tǒng),該系統(tǒng)包括 軟件代理,配置為收集來自本地計算機系統(tǒng)的系統(tǒng)配置信息,所述配置信息包括系統(tǒng)硬件和軟件信息; 在第一程序以及一個或多個第二程序執(zhí)行于所述計算機系統(tǒng)上的過程中,監(jiān)視系統(tǒng)資 源利用率;確定何時所監(jiān)視的系統(tǒng)資源利用率超過一個或多個臨界水平持續(xù)一段預定時間;以及 改變所述第一程序的配置設置,以使所述系統(tǒng)資源利用率減小至所述一個或多個臨界 水平以下;和決策引擎,配置為通過對所收集的系統(tǒng)配置信息應用模糊邏輯規(guī)則,確定所述系統(tǒng)資源利用率的所述一個或多個臨界水平;基于所收集的軟件信息,確定所述第一程序是否與所述一個或多個第二程序的執(zhí)行相 沖突;以及確定所述第一程序的配置設置,以解決與對所述計算機系統(tǒng)無損害的所述一個或多個 相沖突的第二程序的沖突,從而將所述系統(tǒng)資源利用率減小至所述臨界水平以下。
9.如權利要求8所述的系統(tǒng),其特征在于,所述第一程序是反病毒程序。
10.如權利要求8所述的系統(tǒng),其特征在于,所述系統(tǒng)資源利用率的臨界水平包括由整個所述計算機系統(tǒng)占用的系統(tǒng)資源利用率的臨界水平;以及僅由所述第一程序占用的系統(tǒng)資源利用率的臨界水平。
11.如權利要求8所述的系統(tǒng),其特征在于,所述決策引擎進一步配置為通過對所收 集的軟件配置信息應用模糊邏輯規(guī)則,來確定所述第一程序的配置設置。
12.如權利要求8所述的系統(tǒng),其特征在于,所述決策引擎進一步配置為確定一個或 多個相沖突的第二程序是否對所述計算機系統(tǒng)有損害。
13.如權利要求12所述的系統(tǒng),其特征在于,所述決策引擎進一步配置為給所述軟件 代理提供關于所述一個或多個有害的相沖突的第二程序的信息。
14.如權利要求13所述的系統(tǒng),其特征在于,所述軟件代理進一步配置為指示所述第 一程序采取補救措施,所述補救措施包括修復所述有害的第二程序、隔離所述有害的第二 程序或者從所述計算機系統(tǒng)中刪除所述有害的第二程序。
15.一種存儲有計算機程序產品的非暫時性計算機可讀存儲介質,所述計算機可讀存 儲介質包括用于下列操作的計算機可執(zhí)行指令收集來自計算機系統(tǒng)的系統(tǒng)配置信息,所述配置信息包括系統(tǒng)硬件和軟件信息;在第一程序以及一個或多個第二程序執(zhí)行于所述計算機系統(tǒng)上的過程中,監(jiān)視系統(tǒng)資 源利用率;向遠程服務提供所收集的系統(tǒng)配置信息,用于基于模糊邏輯規(guī)則確定所述系統(tǒng)資源利 用率的一個或多個臨界水平;當所監(jiān)視的系統(tǒng)資源利用率超過所確定的一個或多個臨界水平持續(xù)一段預定時間時, 向所述遠程服務提供所收集的軟件配置信息,用于確定所述第一程序是否與所述一個或多 個第二程序的執(zhí)行相沖突以及所述一個或多個第二程序是否對所述計算機系統(tǒng)有損害;以 及改變所述第一程序的配置設置,以解決與對所述計算機系統(tǒng)無損害的所述一個或多個 相沖突的第二程序的沖突。
16.如權利要求15所述的介質,其特征在于,所述第一程序是反病毒程序。
17.如權利要求15所述的介質,其特征在于,所述系統(tǒng)資源利用率的臨界水平包括由整個所述計算機系統(tǒng)占用的系統(tǒng)資源利用率的臨界水平;以及僅由所述第一程序占用的系統(tǒng)資源利用率的臨界水平。
18.如權利要求15所述的介質,其特征在于,進一步包括用于從所述遠程服務接收關 于有害的第二程序的信息的指令。
19.如權利要求18所述的介質,其特征在于,進一步包括用于指示所述第一程序采取 補救措施的指令,所述補救措施包括修復所述有害的第二程序、隔離所述有害的第二程序或者從所述計算機系統(tǒng)中刪除所述有害的第二程序。
20.如權利要求17所述的介質,其特征在于,進一步包括用于下列操作的指令當由整 個所述計算機系統(tǒng)占用的系統(tǒng)資源利用率的臨界水平以及僅由所述第一程序占用的系統(tǒng) 資源利用率的臨界水平都被超過持續(xù)所述一段預定時間時,向所述遠程服務提供所收集的 軟件配置信息。
全文摘要
本發(fā)明提供一種用于對相沖突的應用軟件進行適應性配置的系統(tǒng)、方法和計算機程序產品,示例性方法包括收集來自計算機系統(tǒng)的系統(tǒng)配置信息,包括系統(tǒng)硬件和系統(tǒng)軟件信息;在第一程序以及一個或多個第二程序執(zhí)行于計算機系統(tǒng)上的過程中,監(jiān)視系統(tǒng)資源利用率;通過對所收集的系統(tǒng)配置信息應用模糊邏輯規(guī)則來確定系統(tǒng)資源利用率的一個或多個臨界水平;當所監(jiān)視的系統(tǒng)資源利用率超過所確定的臨界水平持續(xù)一段預定時間時,基于所收集的軟件信息而確定第一程序是否與一個或多個第二程序的執(zhí)行相沖突;確定一個或多個相沖突的第二程序是否對計算機系統(tǒng)有損害;改變第一程序的配置設置,以解決與對計算機系統(tǒng)無損害的一個或多個相沖突的第二程序的沖突。
文檔編號G06F9/52GK101976209SQ20101055259
公開日2011年2月16日 申請日期2010年11月19日 優(yōu)先權日2010年5月18日
發(fā)明者乍特瑟·V·奧列格 申請人:卡巴斯基實驗室封閉式股份公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1