新四季網

相衝突的應用程式的適應性配置的製作方法

2023-06-14 06:53:26

專利名稱:相衝突的應用程式的適應性配置的製作方法
技術領域:
本發明總體上涉及計算機科學領域,且具體而言,涉及用於對相衝突的應用程式 進行適應性配置以便改進系統資源利用率的系統、方法和電腦程式產品。
背景技術:
現代的計算機應用程式一般是資源密集型的。反病毒應用程式更是如此,這是因 為它們運行於計算機系統上,並且在複雜的系統掃描和其他操作過程中廣泛地與該計算機 系統的許多硬體和軟體組件交互。儘管開發者不斷地改進反病毒程序及其與計算機系統的 交互,但由於諸如病毒、蠕蟲、間諜軟體以及其他類型的惡意軟體的複雜性持續增加以及數 目持續增長,導致反病毒程序對系統資源的需求繼續不斷增加。反病毒程序也頻繁地對相衝突的程序操作造成幹擾。例如,反病毒程序會將無害 應用程式的一些動作識別為惡意的,並隨之限制此相衝突的應用程式對諸如內存、系統注 冊表、網絡等各種系統資源的訪問。由於反病毒程序的這種幹擾,而使得相衝突的應用程式 不能適當地執行,並且不得不重複它們對系統資源的請求,這使總體系統性能進一步惡化。 在企業環境中,其中應用程式通常在伺服器上執行並按時間表由系統用戶訪問,這種情形 加劇,並且反病毒程序的幹擾使這類應用程式的操作明顯減慢,且損害了用戶的生產率。因此,需要一種更為有效的技術,用於解決諸如反病毒軟體等資源密集型軟體應 用程序之間的衝突。

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


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

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀