過去幾年,蜂窩和無線通信技術(shù)已經(jīng)經(jīng)歷了爆發(fā)性發(fā)展。無線服務(wù)提供商現(xiàn)在提供一系列廣泛的特征和服務(wù),該一系列廣泛的特征和服務(wù)向其用戶提供對信息、資源和通信的前所未有的水平的接入。為了跟上這些服務(wù)增強,個人和消費者電子設(shè)備(例如,蜂窩電話、手表、頭戴式耳機、遠(yuǎn)程控制等)已經(jīng)變得比以往任何時候都強大和復(fù)雜,并且現(xiàn)在通常包括允許在其設(shè)備上執(zhí)行復(fù)雜和強大的軟件應(yīng)用的強大的處理器、大型存儲器和其它資源。
由于這些和其它改進,個人和消費者電子設(shè)備在現(xiàn)代生活中正變得無所不在,并且具有對由其用戶生成的或者與其用戶有關(guān)的信息的前所未有的水平的接入。另外,人們頻繁地使用其設(shè)備來存儲敏感信息(例如,信用卡信息、聯(lián)系人等)和/或完成安全性是重要的任務(wù)。例如,移動設(shè)備用戶頻繁地使用其設(shè)備來購買商品、發(fā)送和接收敏感通信、付賬、管理銀行賬戶以及進行其它敏感交易。由于這些趨勢,個人和消費者電子設(shè)備迅速地成為惡意軟件和網(wǎng)絡(luò)攻擊的下一個前沿。因此,更好地保護資源受限的計算設(shè)備(諸如移動和無線設(shè)備)的新的且改進的安全解決方案對于消費者來說將是有益的。
技術(shù)實現(xiàn)要素:
各個方面包括通過在計算設(shè)備(例如,移動計算設(shè)備等)的處理器中監(jiān)測在所述計算設(shè)備上操作的軟件應(yīng)用的活動以生成對所述計算設(shè)備的用戶進行表征的用戶角色信息,并且使用所述用戶角色信息來確定設(shè)備行為是否是非良性的,來對所述計算設(shè)備中的所述設(shè)備行為進行分析的方法。在一個方面中,使用所述用戶角色信息來確定所述設(shè)備行為是否是非良性的可以包括:使用所生成的用戶角色信息來動態(tài)地確定要在所述計算設(shè)備中監(jiān)測或評估的設(shè)備特征,以便平衡性能和安全性之間的折衷。在一個方面中,使用所述用戶角色信息來確定所述設(shè)備行為是否是非良性的可以包括:使用所生成的用戶角色信息來識別與確定所述設(shè)備行為是否與所述用戶對所述計算設(shè)備的通常使用的模式不一致最相關(guān)的設(shè)備特征。
在一個方面中,使用所述用戶角色信息來確定所述設(shè)備行為是否是非良性的可以包括:監(jiān)測所識別的設(shè)備特征以收集行為信息;生成對所收集的行為信息進行表征的行為向量;以及將所生成的行為向量應(yīng)用于分類器模型,以確定所述設(shè)備行為是否是非良性的。在一個方面中,所述方法可以包括:生成對所識別的設(shè)備特征進行評估的特定于用戶的分類器模型;以及將所生成的行為向量應(yīng)用于所述分類器模型,以確定所述設(shè)備行為是否是非良性的。在一個方面中,生成對所識別的設(shè)備特征進行評估的所述特定于用戶的分類器模型可以包括:接收包括多個測試條件的完全分類器模型;識別所述多個測試條件中的、對所識別的設(shè)備特征進行評估的測試條件;以及生成所述特定于用戶的分類器模型以包括經(jīng)識別的測試條件。
在一個方面中,將所生成的行為向量應(yīng)用于所述特定于用戶的分類器模型以確定所述設(shè)備行為是否是非良性的可以包括:將所生成的行為向量應(yīng)用于所述特定于用戶的分類器模型,以便對所述特定于用戶的分類器模型中包括的每個測試條件進行評估;計算對所述特定于用戶的分類器模型中的測試條件進行評估的每個結(jié)果的加權(quán)平均;以及基于所計算的加權(quán)平均來確定所述設(shè)備行為是否是非良性的。在一個方面中,監(jiān)測所述軟件應(yīng)用的活動可以包括:監(jiān)測所述用戶與所述軟件應(yīng)用之間的用戶交互。在一個方面中,生成所述用戶角色信息可以包括:生成對所述用戶的情緒進行表征的信息。
在一個方面中,所述方法可以包括:確定所述用戶的情緒是否與對通過監(jiān)測設(shè)備特征所收集的行為信息進行分析有關(guān)。在一個方面中,所述方法可以包括:生成行為向量,所述行為向量將所述用戶的情緒與之有關(guān)的所收集的行為信息與所述用戶在所述行為信息被收集時的情緒相互關(guān)聯(lián);以及將所生成的行為向量應(yīng)用于分類器模型,以確定所述設(shè)備行為是否是非良性的。在一個方面中,所述方法可以包括:生成分類器模型,所述分類器模型包括對與所述用戶的情緒有關(guān)的設(shè)備特征進行評估的決策節(jié)點;以及將行為向量應(yīng)用于所述分類器模型,以確定所述設(shè)備行為是否是非良性的。
進一步的方面可以包括具有處理器的計算設(shè)備,所述處理器被配置有處理器可執(zhí)行指令,以執(zhí)行可以包括以下各項的操作:監(jiān)測在所述計算設(shè)備上操作的軟件應(yīng)用的活動,以生成對所述計算設(shè)備的用戶進行表征的用戶角色信息;以及使用所述用戶角色信息來確定設(shè)備行為是否是非良性的。在一個方面中,所述處理器可以被配置有處理器可執(zhí)行指令以執(zhí)行操作,使得使用所述用戶角色信息來確定所述設(shè)備行為是否是非良性的包括:使用所生成的用戶角色信息來動態(tài)地確定要在所述計算設(shè)備中監(jiān)測或評估的設(shè)備特征,以便平衡性能和安全性之間的折衷。在一個方面中,所述處理器可以被配置有處理器可執(zhí)行指令以執(zhí)行操作,使得使用所述用戶角色信息來確定所述設(shè)備行為是否是非良性的包括:使用所生成的用戶角色信息來識別與確定所述設(shè)備行為是否與所述用戶對所述計算設(shè)備的通常使用的模式不一致最相關(guān)的設(shè)備特征。
在一個方面中,所述處理器可以被配置有處理器可執(zhí)行指令以執(zhí)行操作,使得使用所述用戶角色信息來確定所述設(shè)備行為是否是非良性的還包括:監(jiān)測所識別的設(shè)備特征以收集行為信息;生成對所收集的行為信息進行表征的行為向量;以及將所生成的行為向量應(yīng)用于分類器模型,以確定所述設(shè)備行為是否是非良性的。在一個方面中,所述處理器可以被配置有處理器可執(zhí)行指令,以執(zhí)行還包括以下項的操作:生成對所識別的設(shè)備特征進行評估的特定于用戶的分類器模型。在一個方面中,所述處理器可以被配置有處理器可執(zhí)行指令以執(zhí)行操作,使得將所生成的行為向量應(yīng)用于所述分類器模型以確定所述設(shè)備行為是否是非良性的包括:將所生成的行為向量應(yīng)用于所述特定于用戶的分類器模型以確定所述設(shè)備行為是否是非良性的。
在一個方面中,所述處理器可以被配置有處理器可執(zhí)行指令以執(zhí)行操作,使得生成對所識別的設(shè)備特征進行評估的所述特定于用戶的分類器模型包括:接收包括多個測試條件的完全分類器模型;識別所述多個測試條件中的、對所識別的設(shè)備特征進行評估的測試條件;以及生成所述特定于用戶的分類器模型以包括經(jīng)識別的測試條件。在一個方面中,將所生成的行為向量應(yīng)用于所述特定于用戶的分類器模型以確定所述設(shè)備行為是否是非良性的包括:將所生成的行為向量應(yīng)用于所述特定于用戶的分類器模型,以便對所述特定于用戶的分類器模型中包括的每個測試條件進行評估;計算對所述特定于用戶的分類器模型中的測試條件進行評估的每個結(jié)果的加權(quán)平均;以及基于所計算的加權(quán)平均來確定所述設(shè)備行為是否是非良性的。
在一個方面中,所述處理器可以被配置有處理器可執(zhí)行指令以執(zhí)行操作,使得生成所述用戶角色信息包括:生成對所述用戶的情緒進行表征的信息。在一個方面中,所述處理器可以被配置有處理器可執(zhí)行指令,以執(zhí)行還包括以下各項的操作:確定所述用戶的情緒是否與對通過監(jiān)測設(shè)備特征所收集的行為信息進行分析有關(guān);響應(yīng)于確定所述用戶的情緒與對通過監(jiān)測所述設(shè)備特征所收集的所述行為信息進行分析有關(guān),生成分類器模型,所述分類器模型包括對與所述用戶的情緒有關(guān)的設(shè)備特征進行評估的決策節(jié)點;生成行為向量,所述行為向量將所述用戶的情緒與之有關(guān)的所收集的行為信息與所述用戶在所述行為信息被收集時的情緒相互關(guān)聯(lián);以及將所生成的行為向量應(yīng)用于所述分類器模型,以確定所述設(shè)備行為是否是非良性的。
進一步的方面包括具有存儲在其上的處理器可執(zhí)行軟件指令的非暫時性計算機可讀存儲介質(zhì),所述處理器可執(zhí)行軟件指令被配置為使得計算設(shè)備的處理器執(zhí)行用于對所述計算設(shè)備中的設(shè)備行為進行分析的操作,所述操作包括:監(jiān)測在所述計算設(shè)備上操作的軟件應(yīng)用的活動以生成對所述計算設(shè)備的用戶進行表征的用戶角色信息;以及使用所述用戶角色信息來確定所述設(shè)備行為是否是非良性的。在一個方面中,所存儲的處理器可執(zhí)行軟件指令可以被配置為使得處理器執(zhí)行操作,使得使用所述用戶角色信息來確定所述設(shè)備行為是否是非良性的包括:使用所生成的用戶角色信息來動態(tài)地確定要在所述計算設(shè)備中監(jiān)測或評估的設(shè)備特征,以便平衡性能和安全性之間的折衷。在一個方面中,所存儲的處理器可執(zhí)行軟件指令可以被配置為使得處理器執(zhí)行操作,使得使用所述用戶角色信息來確定所述設(shè)備行為是否是非良性的包括:使用所生成的用戶角色信息來識別與確定所述設(shè)備行為是否與所述用戶對所述計算設(shè)備的通常使用的模式不一致最相關(guān)的設(shè)備特征。
在一個方面中,所存儲的處理器可執(zhí)行軟件指令可以被配置為使得處理器執(zhí)行操作,使得使用所述用戶角色信息來確定所述設(shè)備行為是否是非良性的包括:監(jiān)測所識別的設(shè)備特征以收集行為信息;生成對所收集的行為信息進行表征的行為向量;以及將所生成的行為向量應(yīng)用于分類器模型,以確定所述設(shè)備行為是否是非良性的。在一個方面中,所存儲的處理器可執(zhí)行軟件指令可以被配置為使得處理器執(zhí)行還包括以下項的操作:生成對所識別的設(shè)備特征進行評估的特定于用戶的分類器模型。
在一個方面中,所存儲的處理器可執(zhí)行軟件指令可以被配置為使得處理器執(zhí)行操作,使得將所生成的行為向量應(yīng)用于所述分類器模型以確定所述設(shè)備行為是否是非良性的包括:將所生成的行為向量應(yīng)用于所述特定于用戶的分類器模型以確定所述設(shè)備行為是否是非良性的。在一個方面中,所存儲的處理器可執(zhí)行軟件指令可以被配置為使得處理器執(zhí)行操作,使得生成對所識別的設(shè)備特征進行評估的所述特定于用戶的分類器模型包括:接收包括多個測試條件的完全分類器模型;識別所述多個測試條件中的、對所識別的設(shè)備特征進行評估的測試條件;以及生成所述特定于用戶的分類器模型以包括經(jīng)識別的測試條件。在一個方面中,所存儲的處理器可執(zhí)行軟件指令可以被配置為使得處理器執(zhí)行操作,使得將所生成的行為向量應(yīng)用于所述特定于用戶的分類器模型以確定所述設(shè)備行為是否是非良性的包括:將所生成的行為向量應(yīng)用于所述特定于用戶的分類器模型,以便對所述特定于用戶的分類器模型中包括的每個測試條件進行評估;計算對所述特定于用戶的分類器模型中的測試條件進行評估的每個結(jié)果的加權(quán)平均;以及基于所計算的加權(quán)平均來確定所述設(shè)備行為是否是非良性的。
在一個方面中,所存儲的處理器可執(zhí)行軟件指令可以被配置為使得處理器執(zhí)行操作,使得生成所述用戶角色信息包括:生成對所述用戶的情緒進行表征的信息。在一個方面中,所存儲的處理器可執(zhí)行軟件指令可以被配置為使得所述處理器執(zhí)行還包括以下各項的操作:確定所述用戶的情緒是否與對通過監(jiān)測設(shè)備特征所收集的行為信息進行分析有關(guān);響應(yīng)于確定所述用戶的情緒與對通過監(jiān)測所述設(shè)備特征所收集的所述行為信息進行分析有關(guān),生成分類器模型,所述分類器模型包括對與所述用戶的情緒有關(guān)的設(shè)備特征進行評估的決策節(jié)點;生成行為向量,所述行為向量將所述用戶的情緒與之有關(guān)的所收集的行為信息與所述用戶在所述行為信息被收集時的情緒相互關(guān)聯(lián);以及將所生成的行為向量應(yīng)用于所述分類器模型,以確定所述設(shè)備行為是否是非良性的。
進一步的方面可以包括一種計算設(shè)備,所述計算設(shè)備包括:用于監(jiān)測在所述計算設(shè)備上操作的軟件應(yīng)用的活動以生成對所述計算設(shè)備的用戶進行表征的用戶角色信息的單元;以及用于使用所述用戶角色信息來確定設(shè)備行為是否是非良性的單元。在一個方面中,用于使用所述用戶角色信息來確定所述設(shè)備行為是否是非良性的單元包括:用于使用所生成的用戶角色信息來識別與確定所述設(shè)備行為是否與所述用戶對所述計算設(shè)備的通常使用的模式不一致最相關(guān)的設(shè)備特征的單元。在一個方面中,用于使用所述用戶角色信息來確定所述設(shè)備行為是否是非良性的單元還包括:用于監(jiān)測所識別的設(shè)備特征以收集行為信息的單元;用于生成對所收集的行為信息進行表征的行為向量的單元;以及用于將所生成的行為向量應(yīng)用于分類器模型以確定所述設(shè)備行為是否是非良性的單元。
在一個方面中,所述計算設(shè)備還包括:用于生成對所識別的設(shè)備特征進行評估的特定于用戶的分類器模型的單元,以及所述用于將所生成的行為向量應(yīng)用于所述分類器模型以確定所述設(shè)備行為是否是非良性的單元可以包括:用于將所生成的行為向量應(yīng)用于所述特定于用戶的分類器模型以確定所述設(shè)備行為是否是非良性的單元。在一個方面中,用于生成對所識別的設(shè)備特征進行評估的所述特定于用戶的分類器模型的單元可以包括:用于接收包括多個測試條件的完全分類器模型的單元;用于識別所述多個測試條件中的、對所識別的設(shè)備特征進行評估的測試條件的單元;以及用于生成所述特定于用戶的分類器模型以包括經(jīng)識別的測試條件的單元。
在一個方面中,用于將所生成的行為向量應(yīng)用于所述特定于用戶的分類器模型以確定所述設(shè)備行為是否是非良性的單元可以包括:用于將所生成的行為向量應(yīng)用于所述特定于用戶的分類器模型,以便對所述特定于用戶的分類器模型中包括的每個測試條件進行評估的單元;用于計算對所述特定于用戶的分類器模型中的測試條件進行評估的每個結(jié)果的加權(quán)平均的單元;以及用于基于所計算的加權(quán)平均來確定所述設(shè)備行為是否是非良性的單元。
在一個方面中,用于生成所述用戶角色信息的單元可以包括:用于生成對所述用戶的情緒進行表征的信息的單元,以及所述計算設(shè)備還可以包括:用于確定所述用戶的情緒是否與對通過監(jiān)測設(shè)備特征所收集的行為信息進行分析有關(guān)的單元;用于響應(yīng)于確定所述用戶的情緒與對通過監(jiān)測所述設(shè)備特征所收集的所述行為信息進行分析有關(guān),生成分類器模型的單元,所述分類器模型包括對與所述用戶的情緒有關(guān)的設(shè)備特征進行評估的決策節(jié)點;用于生成行為向量的單元,所述行為向量將所述用戶的情緒與之有關(guān)的所收集的行為信息與所述用戶在所述行為信息被收集時的情緒相互關(guān)聯(lián);以及用于將所生成的行為向量應(yīng)用于所述分類器模型,以確定所述設(shè)備行為是否是非良性的單元。
附圖說明
并入本文并且構(gòu)成本說明書的一部分的附圖示出了本發(fā)明的示例性方面,并且與上文給出的一般描述和下文給出的具體實施方式一起用于解釋本發(fā)明的特征。
圖1是適用于實現(xiàn)各個方面的示例片上系統(tǒng)的架構(gòu)圖。
圖2是示出了在被配置為確定特定的移動設(shè)備行為是良性的還是非良性的方面移動設(shè)備中的示例邏輯組件和信息流的框圖。
圖3是根據(jù)一個方面,示出了基于用戶角色信息來分析設(shè)備行為的方法的過程流程圖。
圖4是根據(jù)另一個方面,示出了基于用戶角色信息來分析設(shè)備行為的方法的過程流程圖。
圖5是示出了在計算設(shè)備中生成特定于用戶的分類器模型或貧乏分類器模型的方面移動設(shè)備方法的過程流程圖。
圖6是可以由方面服務(wù)器處理器生成的并且由設(shè)備處理器用于生成特定于用戶的分類器模型或貧乏分類器模型的示例提升決策樹樁的說明。
圖7是用于在移動設(shè)備上執(zhí)行適應(yīng)性觀察的方面方法的過程流程圖。
圖8是適用于在一個方面中使用的移動設(shè)備的組件框圖。
具體實施方式
將參照附圖詳細(xì)描述各個方面。在任何可能的地方,將遍及附圖使用相同的附圖標(biāo)記指代相同或相似的部分。對特定示例和實現(xiàn)方式做出的引用是出于說明性的目的,并且不旨在限制本發(fā)明或權(quán)利要求書的范圍。
概括地說,各個方面包括方法和計算設(shè)備,所述計算設(shè)備被配置為實現(xiàn)如下方法:部分地基于如計算設(shè)備所識別的用戶的角色,使用行為分析和機器學(xué)習(xí)技術(shù)來對計算設(shè)備的、非良性的行為(例如,由惡意的或者性能降級的軟件應(yīng)用等引起的行為)進行識別、阻止、糾正和/或以其它方式進行響應(yīng)。計算設(shè)備可以被配置為:識別設(shè)備用戶的獨特的個性特點,以學(xué)習(xí)隨時間的他的或她的設(shè)備使用模式,和/或通過識別或表征他的或她的活動、偏好、年齡、職業(yè)、習(xí)慣、情緒、情感狀態(tài)、個性、設(shè)備使用模式等來生成表征用戶(用戶的角色)的用戶角色信息。計算設(shè)備可以被配置為:使用任何或所有這樣的信息來更好地識別計算設(shè)備的非良性的行為或?qū)τ嬎阍O(shè)備的非良性的行為進行響應(yīng)。
在一個方面中,計算設(shè)備處理器可以被配置為:識別設(shè)備的一個用戶(或多個用戶),生成對所識別的用戶的個性、活動、偏好、個性特點、設(shè)備使用模式、習(xí)慣、情緒、情感狀態(tài)等進行表征的用戶角色信息,以及使用該用戶角色信息來識別計算設(shè)備的、與確定檢測的/監(jiān)測的設(shè)備行為是否與所識別的用戶對該設(shè)備的通常使用模式相一致最相關(guān)的因素或特征。隨后,計算設(shè)備處理器可以對所識別的因素/特征進行監(jiān)測以收集行為信息,生成對所收集的行為信息進行表征的行為向量,生成對所識別的因素/特征進行測試或評估的特定于用戶的分類器模型,以及將所生成的行為向量應(yīng)用于特定于用戶的分類器模型,以智能地確定設(shè)備的行為、軟件應(yīng)用或過程是否是非良性的(例如,惡意的、性能降級的等)。
在進一步的方面中,計算設(shè)備處理器可以被配置為:使用用戶角色信息來智能地優(yōu)先和/或動態(tài)地確定要在設(shè)備中監(jiān)測或分析的設(shè)備特征的數(shù)量,以便平衡行為分類的準(zhǔn)確度和設(shè)備的性能之間的折衷。例如,計算設(shè)備處理器可以被配置為:當(dāng)用戶角色信息指示用戶在很高概率上是兒童或者不是非常精通電腦時,自動地增加要監(jiān)測或分析的設(shè)備特征的數(shù)量,以便增加行為分類的準(zhǔn)確度(因此提高設(shè)備的安全性)。在另一方面,當(dāng)用戶角色信息指示用戶是對設(shè)備的高級配置進行頻繁修改(例如,超頻處理器等)的狂熱玩家時,設(shè)備處理器可以減少要監(jiān)測或分析的設(shè)備特征的數(shù)量(即,降級設(shè)備的安全性級別),以改善處理器的性能。
通過對所識別的用戶的個性、活動、設(shè)備使用模式、習(xí)慣、情緒、情感狀態(tài)等進行學(xué)習(xí)和表征,并且使用該信息來評估設(shè)備行為,各個方面通過允許計算設(shè)備對非良性的軟件應(yīng)用和其它不期望的設(shè)備行為進行更準(zhǔn)確地識別、阻止、糾正和/或以其它方式進行響應(yīng),來改善計算設(shè)備的運作。此外,通過在計算設(shè)備中本地地執(zhí)行這樣的操作,各個方面允許計算設(shè)備收集用戶的詳細(xì)的個人信息,并且使用該詳細(xì)的個人信息來改善計算設(shè)備的安全性、性能和功耗特性,而不危害(compromise)用戶的隱私。
各個方面還通過允許計算設(shè)備(或計算設(shè)備的基于行為的監(jiān)測和分析系統(tǒng))使用用戶角色信息來智能地將其監(jiān)測和/或分析操作集中在對于對非良性的設(shè)備行為進行識別和分類而言最重要的設(shè)備特征上,來改善計算設(shè)備的運作。例如,計算設(shè)備處理器可以被配置為:對設(shè)備特征區(qū)分優(yōu)先次序,以便當(dāng)用戶角色信息指示用戶是住在養(yǎng)老院的老年人(被已知為更易受到釣魚攻擊的人口)時,集中在對釣魚攻擊進行識別和響應(yīng)上。用戶角色信息的這種智能使用提高了行為分類操作的準(zhǔn)確度,并且減小了其對設(shè)備的響應(yīng)性、性能和功耗特性的影響。因而,各個方面很好地適于包括和用在移動的和資源受限的計算設(shè)備(諸如智能電話)中,這些計算設(shè)備具有有限的資源,靠電池電力運行,并且對于這些計算設(shè)備而言性能是重要的。
根據(jù)下文提供的方面的具體描述,對計算設(shè)備的功能、功能性和/或運作的另外的改進將是明顯的。
術(shù)語“性能降級”在本申請中用于指代計算設(shè)備的廣泛的多種多樣的不期望的操作和特性,諸如較長的處理時間、較慢的實時響應(yīng)性、較低的電池壽命、私人數(shù)據(jù)的丟失、惡意的經(jīng)濟活動(例如,發(fā)送未授權(quán)的優(yōu)質(zhì)SMS消息)、服務(wù)拒絕(DoS)、拙劣編寫或設(shè)計的軟件應(yīng)用、惡意的軟件、惡意軟件、病毒、碎裂的存儲器、與強占計算設(shè)備或?qū)㈦娫捰糜趥刹榛蚪┦W(wǎng)絡(luò)活動有關(guān)的操作等。此外,由于這些原因中的任何一種而使性能降級的行為、活動和狀況在本文中被稱為“不良的”或“非良性的”。
本文中可互換地使用術(shù)語“移動計算設(shè)備”和“移動設(shè)備”來指代蜂窩電話、智能電話、個人或移動多媒體播放器、個人數(shù)據(jù)助理(PDA)、膝上型計算機、平板計算機、智能本、超級本、掌上型計算機、無線電子郵件接收機、支持多媒體互聯(lián)網(wǎng)的蜂窩電話、無線游戲控制器以及類似的個人電子設(shè)備(其包括存儲器和性能是重要的可編程處理器,并且低于電池功率來操作,使得功率節(jié)省方法是有益的)中的任何一項或者全部項。雖然各個方面具體來說對于具有有限的資源并且靠電池運行的移動計算設(shè)備(諸如智能電話)是有用的,但是這些方面通常在包括處理器和執(zhí)行應(yīng)用程序的任何電子設(shè)備中都是有用的。
通常,移動設(shè)備的性能和功率效率隨時間降級。最近,反病毒公司(例如,邁克菲(McAfee)、賽門鐵克(Symantec)等)已經(jīng)開始營銷旨在減慢該降級的移動反病毒、防火墻和加密產(chǎn)品。然而,這些解決方案中的許多解決方案依靠移動設(shè)備上的計算密集型掃描引擎的定期執(zhí)行,這可以消耗移動設(shè)備的處理和電池資源中的許多資源,使移動設(shè)備變慢,或者在延長的時間段內(nèi)致使移動設(shè)備無效,和/或以其它方式使用戶體驗降級。另外,這些解決方案通常限于檢測已知的病毒和惡意軟件,并且不解決經(jīng)常結(jié)合以對移動設(shè)備隨時間的降級起作用的多個復(fù)雜因素和/或交互(例如,當(dāng)性能降級不是由病毒或惡意軟件引起的時候)。由于這些和其它原因,現(xiàn)有的反病毒、防火墻和加密產(chǎn)品不提供用于識別可能對移動設(shè)備隨時間的降級起作用的大量因素、防止移動計算設(shè)備降級、或者將老化的移動設(shè)備高效地恢復(fù)到其原始狀況的足夠的解決方案。
此外,現(xiàn)代移動設(shè)備是高度可配置的并且復(fù)雜的系統(tǒng)。因而,對于確定特定設(shè)備行為是良性的還是非良性的(例如,惡意的或性能降級的)而言最重要的特征在每個移動設(shè)備中可能是不同的。另外,存在可以對移動計算設(shè)備的性能和功率利用水平隨時間的降級起作用的大量的多種因素,包括:拙劣編寫或設(shè)計的軟件應(yīng)用、惡意軟件、病毒、碎裂的存儲器、背景過程等。由于這些因素的數(shù)量、多樣化和復(fù)雜性,因此對可能使現(xiàn)代移動計算設(shè)備的復(fù)雜且資源受限的系統(tǒng)的性能和/或功率利用水平的降級起作用的全部因素進行評估通常是不可行的。因而,使用戶、操作系統(tǒng)和/或應(yīng)用程序(例如,反病毒軟件等)準(zhǔn)確地并且高效地識別這些問題的源是困難的。結(jié)果,移動設(shè)備用戶當(dāng)前具有用于防止移動設(shè)備的性能和功率利用水平隨時間的降級、或者用于將老化的移動設(shè)備恢復(fù)到其原始性能和功率利用水平的少數(shù)幾個解決辦法。
為了克服對現(xiàn)有解決方案的限制,各個方面包括配備有行為監(jiān)測和分析系統(tǒng)的計算設(shè)備,所述行為監(jiān)測和分析系統(tǒng)被配置為:快速且高效地識別非良性的軟件應(yīng)用(例如,惡意的、拙劣編寫的、與設(shè)備不兼容的應(yīng)用等),并且防止這樣的應(yīng)用使計算設(shè)備的性能、功率利用水平、網(wǎng)絡(luò)使用水平、安全性和/或隱私隨時間降級。行為監(jiān)測和分析系統(tǒng)可以被配置為識別、阻止和糾正所識別的問題,而不對計算設(shè)備的響應(yīng)性、性能或功耗特性產(chǎn)生顯著的、負(fù)面的或用戶可察覺的影響。
基于行為的監(jiān)測和分析系統(tǒng)可以包括觀察器過程、守護程序、模塊或子系統(tǒng)(本文中共同地稱為“模塊”)、行為提取器模塊以及行為分析器模塊。觀察器模塊可以被配置為:裝備或協(xié)調(diào)在計算設(shè)備系統(tǒng)的各個級別處的各個應(yīng)用編程接口(API)、寄存器、計數(shù)器或其它設(shè)備組件(本文中共同地“裝備組件”),從裝備組件收集行為信息,以及將所收集的行為信息(例如,經(jīng)由存儲器寫入操作、函數(shù)調(diào)用等)傳送給行為提取器模塊。行為提取器模塊可以使用所收集的行為信息來生成行為向量,所述行為向量均表示或表征與設(shè)備的一個或多個特定線程、過程、軟件應(yīng)用、模塊或組件相關(guān)聯(lián)的所觀察的事件、狀況、任務(wù)、活動和/或行為(本文中共同地“行為”)中的許多項或全部項。行為提取器模塊可以將所生成的行為向量(例如,經(jīng)由存儲器寫入操作、函數(shù)調(diào)用等)傳送給分析器模塊,所述分析器模塊可以將行為向量應(yīng)用于分類器模型以生成分析結(jié)果,并且使用該分析結(jié)果來確定軟件應(yīng)用或設(shè)備行為是良性的還是非良性的(例如,惡意的、拙劣編寫的、性能降級的等)。隨后,設(shè)備處理器可以執(zhí)行各種操作來糾正、治愈、治療、隔離或以其它方式改正所識別的問題(例如,被確定為是非良性的行為)。
每個行為向量可以是包括或封裝一個或多個“行為特征”的信息結(jié)構(gòu)。行為特征可以是對移動設(shè)備中的觀察到的事件、狀況、活動、操作、關(guān)系、交互或行為中的全部或一部分進行表示的抽象的數(shù)或符號。每個行為特征可以與對某一范圍的可能的值、可以對那些值執(zhí)行的操作、值的意義以及其它類似信息進行標(biāo)識的數(shù)據(jù)類型相關(guān)聯(lián)。移動設(shè)備可以使用該數(shù)據(jù)類型來確定應(yīng)當(dāng)如何測量、分析、加權(quán)或使用相應(yīng)的行為特征(或特征值)。
分類器模型可以是一種行為模型,其包括可以被設(shè)備處理器用來對具體特征、因素、數(shù)據(jù)點、條目、API、狀態(tài)、狀況、行為、軟件應(yīng)用、過程、操作、組件等(本文中共同地“特征”)或設(shè)備的行為的其它方面進行快速和高效地評估的數(shù)據(jù)、條目、決策節(jié)點、決策標(biāo)準(zhǔn)和/或信息結(jié)構(gòu)。分類器模型還可以包括可以被設(shè)備處理器用來確定要在移動設(shè)備中監(jiān)測的軟件應(yīng)用和/或行為之間的關(guān)系的本質(zhì)的信息。
每個分類器模型可以被分類為完全分類器模型或貧乏分類器模型。完全分類器模型可以是根據(jù)大型訓(xùn)練數(shù)據(jù)集合生成的魯棒數(shù)據(jù)模型,其中所述大型訓(xùn)練數(shù)據(jù)集合可以包括數(shù)千的特征和數(shù)十億的條目。貧乏分類器模型可以是根據(jù)減小的數(shù)據(jù)集合生成的更集中的數(shù)據(jù)模型,所述減小的數(shù)據(jù)集合包括或優(yōu)先對與用于確定特定的移動設(shè)備行為是否是非良性的最相關(guān)的特征/條目的測試。本地分類器模型可以是在移動計算設(shè)備中生成的貧乏分類器模型。通過在其中使用模型的計算設(shè)備中生成分類器模型,各個方面允許計算設(shè)備準(zhǔn)確地識別在確定該特定設(shè)備上的行為是良性的還是對設(shè)備的性能的降級起作用時最重要的特定特征。這些方面還允許計算設(shè)備根據(jù)分類器模型中的特征關(guān)于對該特定設(shè)備中的行為進行分類的相對重要性,來準(zhǔn)確地對這些特征區(qū)分優(yōu)先次序。
為了進一步減少要在計算設(shè)備中監(jiān)測或分析的特征或因素的數(shù)量,計算設(shè)備處理器可以被配置為:生成特定于用戶的分類器模型并且使用其來確定設(shè)備行為是否是非良性的。特定于用戶的分類器模型可以是包括高度集中的數(shù)據(jù)模型的本地分類器模型,所述高度集中的數(shù)據(jù)模型包括或優(yōu)先對用于確定設(shè)備行為是否與特定用戶對計算設(shè)備的通常使用相一致最相關(guān)的設(shè)備特征/條目進行測試或評估的決策節(jié)點。特定于用戶的分類器模型還包括或優(yōu)先對與特定用戶和該用戶的角色有關(guān)的狀況進行測試/評估的決策節(jié)點,諸如用于對設(shè)備的用戶進行表征、確定用戶的一個或多個角色、或者用于確定設(shè)備行為是否與用戶的表征或角色相一致的決策節(jié)點。設(shè)備處理器可以被配置為:基于在計算設(shè)備中收集、計算或生成的用戶角色信息來生成特定于用戶的分類器模型。
現(xiàn)代計算設(shè)備具有對由其用戶生成的或者與其用戶有關(guān)的信息的前所未有的水平的接入。例如,移動計算設(shè)備經(jīng)常配備有收集或生成關(guān)于用戶的詳細(xì)個人信息的傳感器(例如,加速度計、陀螺儀、地理空間定位傳感器、相機、心率監(jiān)測器、血糖儀等)。另外,移動計算設(shè)備現(xiàn)在包括允許執(zhí)行復(fù)雜的軟件應(yīng)用(包括用于導(dǎo)航web、購買商品、監(jiān)測用戶的健康、控制家用電器、打游戲、觀看/記錄視頻、導(dǎo)航新城市、跟蹤健身、進行金融交易等的應(yīng)用)的強大的處理器。這些軟件應(yīng)用經(jīng)常收集或生成關(guān)于用戶的詳細(xì)個人信息。這些軟件應(yīng)用和傳感器所收集、生成或使用的信息可以被方面計算設(shè)備用來生成對用戶的活動、偏好、年齡、職業(yè)、習(xí)慣、情緒、情感狀態(tài)、個性等進行表征的用戶角色信息。
另外,每個人通常以唯一或獨特的方式來與他的/她的計算設(shè)備進行交互。例如,移動設(shè)備用戶經(jīng)常具有獨特的工作或通信風(fēng)格,使用特定的軟件應(yīng)用或特定類型的軟件應(yīng)用,使用其移動設(shè)備來執(zhí)行特定活動或完成特定任務(wù),以特定次序來執(zhí)行活動,在特定時間執(zhí)行特定活動,以特定方式來與特定軟件應(yīng)用進行交互等。用戶與他的/她的設(shè)備進行交互所采用的獨特的方式可以隨時間被學(xué)習(xí),并且可以被方面計算設(shè)備用來生成對該用戶的設(shè)備使用模式或獨特的個性特點進行標(biāo)識的用戶角色信息。
例如,設(shè)備處理器可以被配置為:觀察和/或收集來自在計算設(shè)備中操作的軟件應(yīng)用、計算的傳感器、和/或來自用戶與計算設(shè)備或其軟件的交互的用戶角色信息。用戶角色信息可以包括適用于對設(shè)備用戶的年齡、性別、個性、活動、設(shè)備使用模式、習(xí)慣、情緒、職業(yè)和/或情感狀態(tài)進行標(biāo)識或表征的任何信息。舉例來說,用戶角色信息可以包括用于標(biāo)識以下各項的信息:用戶與設(shè)備的交互、在設(shè)備上執(zhí)行的定制的數(shù)量和類型、用戶下載或使用的軟件應(yīng)用的類型、用戶觸摸屏幕或與屏幕進行交互的速率、設(shè)備的圖形處理單元(GPU)使用水平、用戶多久使用設(shè)備來與其它設(shè)備進行通信一次、用戶偏好的通信方法(例如,文本與語音)、用戶多快地進行通信、設(shè)備存儲器大小等。
用戶角色信息可以基于設(shè)備的數(shù)量和類型設(shè)備定制(例如,用于更改寫入/讀取設(shè)置、處理器速度等的數(shù)量)來將用戶表征為“精通計算機的”。用戶角色信息可以基于用戶的手的大小(其可以是基于用戶與設(shè)備的交互來確定的(例如,用戶總是使用一只手來與具有大于5.5英寸的顯示器大小的設(shè)備進行交互等))來將用戶表征為“男性”或者“女性”。用戶角色信息可以基于該用戶下載或使用的軟件應(yīng)用的類型(例如,生產(chǎn)率app與游戲)來將用戶表征為“成年人”或者“兒童”。用戶角色信息可以基于檢測到高觸摸屏速率、高GPU使用以及中等通信水平來將用戶表征為“玩家”。用戶角色信息可以基于設(shè)備包括高質(zhì)量相機、大型存儲器、魯棒的圖片庫、低觸摸屏速率等來將用戶表征為“攝影師”。用戶角色信息還可以將用戶表征為屬于上述表征的組合,諸如“成年人-女性-玩家”。
設(shè)備處理器可以使用用戶角色信息來生成行為向量和/或特定于用戶的分類器模型。例如,設(shè)備處理器可以被配置為:使用用戶角色信息來動態(tài)地確定被監(jiān)測的設(shè)備特征、被包括在行為向量中的行為信息、被包括在分類器模型中(因此由分類器模型評估)的特定的設(shè)備特征等。
在一個方面中,設(shè)備處理器可以被配置為:使用用戶角色信息來動態(tài)地確定要在設(shè)備上監(jiān)測或分析的設(shè)備特征的數(shù)量,以便平衡準(zhǔn)確度與性能之間的折衷。例如,當(dāng)用戶角色信息指示用戶較老或不太精通計算機時,設(shè)備處理器可以增加要監(jiān)測/分析的設(shè)備特征的數(shù)量,以增加設(shè)備的安全性。在另一方面,當(dāng)用戶角色信息指示用戶是精通計算機的玩家并且計算設(shè)備/平臺通常是安全的時,設(shè)備處理器可以減少要監(jiān)測/分析的設(shè)備特征的數(shù)量,以提高性能。
在一個方面中,設(shè)備處理器可以被配置為:使用用戶角色信息來對分類器模型所測試的特征智能地區(qū)分優(yōu)先次序。例如,當(dāng)用戶角色信息指示用戶頻繁地使用他的/她的移動計算設(shè)備在網(wǎng)上購物時,設(shè)備處理器可以優(yōu)先對與電子商務(wù)和信用卡保護有關(guān)的條件進行測試的特征。舉另一個示例,當(dāng)用戶角色信息指示用戶較老或不太精通計算機時,設(shè)備處理器可以優(yōu)先對與檢測以老年人為目標(biāo)的垃圾郵件和釣魚攻擊有關(guān)的條件進行測試的特征。
設(shè)備處理器可以被配置為:通過監(jiān)測多種軟件應(yīng)用(或軟件應(yīng)用類型)中的任何一種來收集用戶角色信息,所述多種軟件應(yīng)用包括日歷應(yīng)用、提醒應(yīng)用、通信應(yīng)用、金融應(yīng)用、用于完成特定任務(wù)的應(yīng)用(例如,字處理、準(zhǔn)備稅制改革、演示應(yīng)用、會計應(yīng)用等)、基于位置的應(yīng)用(例如,繪圖和地理位置應(yīng)用等)、社交媒體應(yīng)用、web瀏覽器(例如,用于獲得關(guān)于過去的搜索、瀏覽歷史、訪問的網(wǎng)站的類型、訪問的網(wǎng)站的內(nèi)容等的信息)、娛樂應(yīng)用(例如,音頻或多媒體播放器應(yīng)用)、用于訪問用戶賬戶的應(yīng)用(例如,銀行app等)、個人訓(xùn)練和發(fā)展應(yīng)用等。
計算設(shè)備處理器可以使用通過監(jiān)測軟件應(yīng)用收集的用戶角色信息來學(xué)習(xí)、確定或推斷關(guān)于用戶的信息,諸如用戶的情緒。例如,大量的社交媒體狀態(tài)更新可能指示用戶是無聊的。在電子郵件中出現(xiàn)一反常態(tài)地大量的負(fù)面詞語可能指示用戶是心煩的或生氣的。用戶的銀行賬戶余額(或股票投資組合)的顯著增加可能指示用戶更可能是高興的或情緒很好的,以及用戶的銀行賬戶的顯著下降(或長期的減少)可能指示用戶可能是心煩的或者承受提高水平的壓力。任何數(shù)量的可觀察或可訪問參數(shù)、特性或數(shù)據(jù)可以與用戶情緒和情感狀態(tài)相互關(guān)聯(lián)。
設(shè)備處理器可以被配置為:確定用戶的情緒(例如,無聊、心煩、生氣、高興、緊張、積極、激動等),將用戶的情緒與從設(shè)備收集的其它信息相互關(guān)聯(lián),使用這些關(guān)聯(lián)來學(xué)習(xí)用戶的設(shè)備使用模式,以及確定所識別/檢測/監(jiān)測的設(shè)備行為是否與用戶的正常使用模式相一致。例如,計算設(shè)備可以基于歷史使用信息來確定特定用戶在他/她悲傷時打游戲是異常的。因此,當(dāng)用戶被確定為是悲傷時,設(shè)備上的游戲應(yīng)用的出現(xiàn)、執(zhí)行或使用更加指示非良性的設(shè)備行為(即,游戲應(yīng)用在較高的概率上是惡意軟件)。因而,設(shè)備處理器可以對要監(jiān)測或分析的設(shè)備特征進行更新或重新區(qū)分優(yōu)先次序,以將其操作集中在確定游戲應(yīng)用是否是非良性的。
在一些方面中,設(shè)備處理器可以被配置為:智能地識別用戶角色信息(例如,用戶的情緒)與之相關(guān)的設(shè)備行為(或軟件應(yīng)用的活動),以及生成針對所識別的設(shè)備行為的行為向量,以使得其可以解釋被確定為是有關(guān)的用戶角色信息。例如,在一個方面中,設(shè)備處理器可以被配置為:生成包括“情緒”數(shù)據(jù)字段的行為向量,其中如果用戶角色信息被確定為是無關(guān)的,則“情緒”數(shù)據(jù)字段存儲空值,以及如果用戶角色信息被確定為是有關(guān)的,則“情緒”數(shù)據(jù)字段標(biāo)識用戶在行為被觀察時的情緒(例如,生氣)。
設(shè)備處理器還可以被配置為:生成行為向量以包括針對用戶的檢測到的情緒中的每個情緒(或用戶的其它表征中的每個表征)的獨立的數(shù)據(jù)字段。這樣的數(shù)據(jù)字段的值標(biāo)識軟件應(yīng)用執(zhí)行與特定表征不一致的一個活動/多個活動的次數(shù)。例如,行為向量可以包括“懶惰”數(shù)據(jù)字段,其值標(biāo)識軟件應(yīng)用在用戶處于“懶惰”或“勞累”情緒時訪問基于位置的信息(例如,GPS信息)的次數(shù)。這允許計算設(shè)備與觀察到的移動設(shè)備的行為獨立地并且并行地來隨時間聚集信息(例如,頻率或速率)和/或分析用戶的情緒信息。
在另一個方面中,設(shè)備處理器可以被配置為:生成包括多個相互關(guān)聯(lián)的子向量或信息結(jié)構(gòu)的行為向量。例如,第一子向量/結(jié)構(gòu)可以包括通過監(jiān)測裝備組件所收集的行為信息,第二子向量/結(jié)構(gòu)可以標(biāo)識用戶表征是否與該行為/行為信息有關(guān),以及第三子向量/結(jié)構(gòu)可以包括特定表征的值(例如,用于標(biāo)識用戶在行為信息被收集時的情緒的值)。
另外,設(shè)備處理器可以被配置為:生成并且使用對與用戶表征(即,與用戶角色信息)有關(guān)的條件進行測試的分類器模型。例如,處理器可以生成分類器模型,該分類器模型對集中于識別當(dāng)用戶處于特定情緒(例如,悲傷、勞累、生氣、繁忙、緊張等)時的某些類型的軟件應(yīng)用(例如,游戲等)的出現(xiàn)、使用或執(zhí)行的條件/特征進行評估。這樣的分類器模型可以包括決策樹,其首先對“是否在設(shè)備上播放慢節(jié)奏音樂”的條件進行測試以確定用戶是否是悲傷的,并且隨后,響應(yīng)于確定用戶是悲傷的,對“是否活動進程中的任何進程與游戲app相關(guān)聯(lián)”的條件進行測試。替代地,分類器模型可以包括對條件的組合(例如,“活動進程是否包括與娛樂app相關(guān)聯(lián)的進程以及與游戲app相關(guān)聯(lián)的進程”)進行測試的單個決策節(jié)點(例如,決策樹樁等)。
在一個方面中,設(shè)備處理器可以被配置為:監(jiān)測在計算設(shè)備上操作的軟件應(yīng)用的一個活動或許多活動(例如,用戶與軟件應(yīng)用之間的用戶交互)以生成對計算設(shè)備的用戶進行表征的用戶角色信息,并且使用該用戶角色信息來確定設(shè)備行為是否是非良性的。設(shè)備處理器可以被配置為:使用所生成的用戶角色信息來識別與確定設(shè)備行為是否與用戶對計算設(shè)備的通常使用的模式不一致最相關(guān)的設(shè)備特征;監(jiān)測所識別的設(shè)備特征以收集行為信息;生成對所收集的行為信息進行表征的行為向量;以及將所生成的行為向量應(yīng)用于特定于用戶的分類器模型,以確定設(shè)備行為是否是非良性的。
在一個方面中,設(shè)備處理器可以被配置為:確定用戶角色信息(例如,用于表征用戶的個性、情緒、習(xí)慣等)是否與對所收集的行為信息中的全部或一部分進行分析有關(guān);生成分類器模型,所述分類器模型包括對與用戶的情緒(如果有關(guān)的話)有關(guān)的設(shè)備特征進行評估的決策節(jié)點;生成行為向量,所述行為向量將用戶的情緒與之有關(guān)的所收集的行為信息與用戶在行為信息被收集時的情緒相互關(guān)聯(lián);以及將所生成的行為向量應(yīng)用于所生成的分類器模型,以確定設(shè)備行為是否是非良性的。
設(shè)備處理器還可以被配置為:接收/獲取包括多個測試條件的完全分類器模型;識別所述多個測試條件中的、對所識別的設(shè)備特征進行評估的測試條件;生成包括所識別的測試條件和/或?qū)λR別的測試條件區(qū)分優(yōu)先次序的特定于用戶的分類器模型;將行為向量應(yīng)用于分類器模型,以便對分類器模型中包括的每個測試條件進行評估;計算對分類器模型中的測試條件進行評估的每個結(jié)果的加權(quán)平均;以及基于所計算的加權(quán)平均來確定設(shè)備行為是否是非良性的。
各個方面(包括參照圖2-7描述的方面)可以被實現(xiàn)在多個不同的移動設(shè)備中,包括單處理器和多處理器系統(tǒng)以及片上系統(tǒng)(SOC)。圖1是示出了可以用在用于實現(xiàn)各個方面的計算設(shè)備中的示例片上系統(tǒng)(SOC)100架構(gòu)的架構(gòu)圖。SOC 100可以包括多個異構(gòu)處理器,諸如數(shù)字信號處理器(DSP)101、調(diào)制解調(diào)器處理器104、圖形處理器106和應(yīng)用處理器108。SOC還可以包括連接到異構(gòu)處理器102、104、106、108中的一個或多個異構(gòu)處理器的一個或多個協(xié)處理器110(例如,向量協(xié)處理器)。每個處理器101、104、106、108、110可以包括一個或多個內(nèi)核,以及每個處理器/內(nèi)核可以獨立于其它處理器/內(nèi)核來執(zhí)行操作。例如,SOC 100可以包括執(zhí)行第一類型的操作系統(tǒng)(例如,F(xiàn)reeBSD、LINIX、OS X等)的處理器和執(zhí)行第二類型的操作系統(tǒng)(例如,Microsoft Windows 8)的處理器。
SOC 100還可以包括模擬電路和定制電路114,其用于管理傳感器數(shù)據(jù)、模數(shù)轉(zhuǎn)換、無線數(shù)據(jù)傳輸、以及用于執(zhí)行其它專門的操作,諸如處理游戲和電影的經(jīng)編碼的音頻信號。SOC 100還可以包括系統(tǒng)組件和資源116,諸如電壓調(diào)節(jié)器、振蕩器、鎖相環(huán)、外圍橋路、數(shù)據(jù)控制器、存儲器控制器、系統(tǒng)控制器、接入端口、定時器和用于支持計算設(shè)備上運行的處理器和客戶端的其它類似的組件。
系統(tǒng)組件116和定制電路114可以包括用于與外圍設(shè)備(諸如相機、電子顯示器、無線通信設(shè)備、外部存儲器芯片等)對接的電路。可以將處理器101、104、106、108經(jīng)由互聯(lián)/總線模塊124(其可以包括可配置的邏輯門陣列和/或?qū)崿F(xiàn)總線架構(gòu)(例如,CoreConnect、AMBA等))互聯(lián)到一個或多個存儲器元素112、系統(tǒng)組件以及資源116和定制電路114??梢杂筛呒壔ヂ?lián)(諸如高性能片上網(wǎng)絡(luò)(NoC))來提供通信。
SOC 100還可以包括用于與SOC外部的資源(諸如時鐘118和電壓調(diào)節(jié)器120)進行通信的輸入/輸出模塊(未示出)。在SOC外部的資源(例如,時鐘118、電壓調(diào)節(jié)器120)可以被內(nèi)部SOC處理器/內(nèi)核(例如,DSP101、調(diào)制解調(diào)器處理器104、圖形處理器106、應(yīng)用處理器108等)中的兩個或更多個共享。
SOC 100還可以包括適用于從傳感器(包括揚聲器、用戶接口元素(例如,輸入按鈕、觸摸屏顯示器等)、麥克風(fēng)陣列、用于監(jiān)測物理狀況(例如,位置、方向、運動、朝向、振動、壓力等)的傳感器、相機、指南針、GPS接收機、通信電路(例如,WLAN、WiFi等)、以及現(xiàn)代電子設(shè)備的其它公知組件(例如,加速度計等))收集傳感器數(shù)據(jù)的硬件和/或軟件組件。
除了上文論述的SOC 100之外,各個方面可以實現(xiàn)在廣泛的多種多樣的計算系統(tǒng)中,所述計算系統(tǒng)可以包括單個處理器、多個處理器、多核處理器或其任意組合。
圖2示出了在包括被配置為使用行為分析技術(shù)來對非良性的設(shè)備行為進行識別和響應(yīng)的基于行為的安全系統(tǒng)200的方面計算設(shè)備中的示例邏輯組件和信息流。在圖2中示出的示例中,計算設(shè)備是包括被配置有可執(zhí)行指令模塊的設(shè)備處理器(即,移動設(shè)備處理器)的移動設(shè)備102,所述可執(zhí)行指令模塊包括行為觀察器模塊202、行為提取器模塊204、行為分析器模塊206以及致動器模塊208。模塊202-208中的每個模塊可以是線程、過程、守護程序、模塊、子系統(tǒng)、或者實現(xiàn)在軟件、硬件或其組合中的組件。在各個方面中,模塊202-208可以實現(xiàn)在操作系統(tǒng)的部分內(nèi)(例如,內(nèi)核內(nèi)、內(nèi)核空間中、用戶空間中等)、單獨的程序或應(yīng)用內(nèi)、在專用硬件緩沖器或處理器中、或其任意組合。在一個方面中,模塊202-208中的一個或多個模塊可以被實現(xiàn)為在移動設(shè)備102的一個或多個處理器上執(zhí)行的軟件指令。
行為觀察器模塊202可以被配置為:裝備在設(shè)備的各個級別/模塊處的應(yīng)用編程接口(API)、計數(shù)器、硬件監(jiān)測器等,并且在一時間段內(nèi)監(jiān)測在各個級別/模塊處的活動、狀況、操作和事件(例如,系統(tǒng)事件、狀態(tài)改變等)。行為觀察器模塊202可以收集與所監(jiān)測的活動、狀況、操作或事件相關(guān)的行為信息,并且將所收集的信息存儲在存儲器中(例如,存儲在記錄文件中等)。
另外,行為觀察器模塊202可以被配置為:監(jiān)測移動計算設(shè)備102的活動、與設(shè)備的用戶交互、以及設(shè)備可用于(例如,經(jīng)由設(shè)備的傳感器)收集用戶角色信息的其它信息。
行為觀察器模塊202可以通過監(jiān)測在設(shè)備中操作的選擇的軟件應(yīng)用或某種類型的軟件應(yīng)用來收集用戶角色信息。這樣的應(yīng)用包括日歷和提醒應(yīng)用、金融應(yīng)用、用于完成特定任務(wù)的應(yīng)用(例如,字處理、準(zhǔn)備稅制改革、演示應(yīng)用、會計應(yīng)用等)、基于位置的應(yīng)用(例如,繪圖和地理位置app等)、web瀏覽器(例如,過去的搜索、瀏覽歷史、訪問的網(wǎng)站的類型、訪問的網(wǎng)站的內(nèi)容)、娛樂應(yīng)用(例如,音頻或多媒體播放器應(yīng)用)、用于訪問用戶賬戶的應(yīng)用(例如,銀行app等)、個人訓(xùn)練和發(fā)展應(yīng)用等。設(shè)備處理器可以使用這樣的用戶角色信息來確定或推斷關(guān)于用戶的信息,諸如用戶的情緒。例如,大量的社交媒體狀態(tài)更新可能指示用戶是無聊的。再舉一個示例,在電子郵件中出現(xiàn)一反常態(tài)地大量的負(fù)面詞語可能指示用戶是心煩的或生氣的,用戶的銀行賬戶余額(或股票投資組合)的顯著增加可能指示用戶更可能是高興的或情緒很好的,以及用戶的銀行賬戶的顯著下降(或長期的減少)可能指示用戶可能是心煩的或者承受提高水平的壓力。
行為觀察器模塊202還可以通過監(jiān)測設(shè)備的地理空間定位和導(dǎo)航系統(tǒng)以確定用戶的當(dāng)前位置(例如,在辦公室、在家、在餐廳、健身房、在旅行等)、用戶的當(dāng)前運動(例如,當(dāng)前在行進、在鍛煉、是靜止的等)、運動的歷史(例如,廣泛地旅行、從來沒離開城鎮(zhèn)等)、用戶是否在遵循他的/她的建立的慣例(例如,按時到達進行工作、仍然在工作)或者偏離他的/她的慣例(例如,比平時晚到、比平時提前離開),來收集用戶角色信息。設(shè)備處理器可以單獨地使用該信息或結(jié)合其它收集的信息來確定用戶的日程、情緒、習(xí)慣、情感狀態(tài)等。例如,如果用戶在家,則他/她更可能處于高興的情緒,或者如果在餐廳接收到電話呼叫,則更可能是惱怒的。
行為觀察器模塊202還可以通過從心率監(jiān)測器、血壓監(jiān)測器、溫度計、計步器、血糖儀、濕度傳感器、呼氣測醉器、皮膚電反應(yīng)傳感器、或者計算設(shè)備內(nèi)或與計算設(shè)備通信的其它傳感器或監(jiān)測器設(shè)備獲得數(shù)據(jù),來收集用戶角色信息。設(shè)備處理器可以使用該信息來確定或推斷關(guān)于用戶的信息。例如,從心率監(jiān)測器、血糖儀和/或血壓監(jiān)測器獲得的信息可以用于確定用戶是否在鍛煉(并且因此無空閑的)、經(jīng)歷醫(yī)療狀況、承受壓力、處于糟糕的情緒等。從濕度傳感器獲得的高濕度信息可以指示用戶可能是憤怒的。從呼氣測醉器獲得的信息可以用于推斷用戶一直在喝酒,其可以結(jié)合其它用戶角色信息用于確定用戶的情感狀態(tài)或情緒。
行為觀察器模塊202還可以通過監(jiān)測設(shè)備的媒體播放器來收集用戶角色信息。設(shè)備處理器可以使用該信息來確定用戶的情緒、習(xí)慣、情感狀態(tài)等。例如,如果用戶在收聽積極的或弱拍的音樂,則其可以指示他/她更可能處于好的情緒。在另一方面,如果用戶的收聽歷史指示用于最近一直在收聽一反常態(tài)的悲傷或慢節(jié)奏的音樂,則這可以指示用戶是悲傷的。舉另一個示例,如果用戶在觀看電影,則其可以指示他是有空的或繁忙的(取決于電影的內(nèi)容、用戶的觀看歷史、用戶的個性等)。
另外,行為觀察器模塊202可以被配置為:通過收集與應(yīng)用框架或運行時間庫中的庫應(yīng)用編程接口(API)調(diào)用、系統(tǒng)調(diào)用API、文件系統(tǒng)和網(wǎng)絡(luò)子系統(tǒng)操作、設(shè)備(包括傳感器設(shè)備)狀態(tài)改變以及其它類似事件相關(guān)的信息來監(jiān)測移動計算設(shè)備102的活動。另外,行為觀察器模塊202可以監(jiān)測文件系統(tǒng)活動,其可以包括搜索文件名稱、文件訪問的類別(個人信息或正常數(shù)據(jù)文件)、創(chuàng)建或刪除文件(例如,exe、zip等類型)、文件讀取/寫入/查找操作、改變文件許可等。
行為觀察器模塊202還可以通過監(jiān)測數(shù)據(jù)網(wǎng)絡(luò)活動(其可以包括連接類型、協(xié)議、端口號、設(shè)備連接到的服務(wù)器/客戶端、連接數(shù)量、通信的容量或頻率等)來監(jiān)測移動計算設(shè)備102的活動。行為觀察器模塊202可以監(jiān)測電話網(wǎng)絡(luò)活動,這可以包括監(jiān)測發(fā)出、接收或攔截的呼叫或消息(例如,SMS等)的類型和數(shù)量(例如,撥打的優(yōu)質(zhì)呼叫的數(shù)量)。
行為觀察器模塊202還可以通過監(jiān)測系統(tǒng)資源使用(這可以包括監(jiān)測叉路的數(shù)量、存儲器存取操作、文件打開的數(shù)量等)來監(jiān)測移動計算設(shè)備102的活動。行為觀察器模塊202可以監(jiān)測移動計算設(shè)備102的狀態(tài),這可以包括監(jiān)測各種因素,諸如顯示器是開啟還是關(guān)閉、設(shè)備是上鎖的還是未上鎖的、剩余的電池電量、相機狀態(tài)等。行為觀察器模塊202還可以通過例如監(jiān)測對關(guān)鍵服務(wù)(瀏覽器、合同提供者等)的意圖、過程間通信(IPC)的自由度、彈出窗口等來監(jiān)測過程間通信。
行為觀察器模塊202還可以通過監(jiān)測一個或多個硬件組件(其可以包括相機、傳感器、電子顯示器、WiFi通信組件、數(shù)據(jù)控制器、存儲器控制器、系統(tǒng)控制器、接入端口、定時器、外圍設(shè)備、無線通信組件、外部存儲器芯片、電壓調(diào)節(jié)器、振蕩器、鎖相環(huán)、外圍橋路、以及用于支持在移動計算設(shè)備102上運行的處理器和客戶端的其它類似組件)的驅(qū)動器統(tǒng)計和/或狀態(tài)來監(jiān)測移動計算設(shè)備102的活動。
行為觀察器模塊202還可以通過監(jiān)測指示移動計算設(shè)備102和/或計算設(shè)備子系統(tǒng)的狀態(tài)或條件的一個或多個硬件計數(shù)器來監(jiān)測移動計算設(shè)備102的活動。硬件計數(shù)器可以包括處理器/內(nèi)核的專用寄存器,其被配置為存儲在移動計算設(shè)備102中發(fā)生的硬件相關(guān)的活動或事件的計數(shù)值或狀態(tài)。
行為觀察器模塊202還可以通過監(jiān)測軟件應(yīng)用的動作和操作、從應(yīng)用下載服務(wù)器(例如,應(yīng)用商店服務(wù)器)的軟件下載、軟件應(yīng)用所使用的計算設(shè)備信息、呼叫信息、文本消息傳送信息(例如,發(fā)送SMS(SendSMS)、阻止SMS(BlockSMS)、讀取SMS(ReadSMS)等)、媒體消息傳送信息(例如,接收MMS(ReceiveMMS))、用戶賬號信息、位置信息、相機信息、加速度計信息、瀏覽器信息、基于瀏覽器的通信內(nèi)容、基于語音的通信內(nèi)容、短距離無線通信(例如,藍(lán)牙、WiFi等)、基于文本的通信內(nèi)容、記錄的音頻文件的內(nèi)容、電話本或聯(lián)系人信息、聯(lián)系人列表等來監(jiān)測移動計算設(shè)備102的活動。
行為觀察器模塊202可以通過監(jiān)測移動計算設(shè)備102的傳輸或通信(包含包括語音郵件(語音郵件通信(VoiceMailComm))、設(shè)備標(biāo)識符(設(shè)備標(biāo)識符通信(DeviceIDComm))、用戶賬號信息(用戶賬號通信(UserAccountComm))、日歷信息(日歷通信(CalendarComm))、位置信息(位置通信(LocationComm))、記錄的音頻信息(記錄的音頻通信(RecordAudioComm))、加速度計信息(加速度計通信(AccelerometerComm))等的通信)來監(jiān)測移動計算設(shè)備102的活動。
行為觀察器模塊202還可以通過監(jiān)測指南針信息、計算設(shè)備設(shè)置、電池壽命、陀螺儀信息、壓力傳感器、磁傳感器、屏幕活動等的使用和對上述項的更新/改變來監(jiān)測移動計算設(shè)備102的活動。行為觀察器模塊202可以監(jiān)測被傳送到軟件應(yīng)用的通知(應(yīng)用通知(AppNotifications))和從軟件應(yīng)用傳送的通知、應(yīng)用更新等。行為觀察器模塊202可以監(jiān)測與第一軟件應(yīng)用請求下載和/或安裝第二軟件應(yīng)用相關(guān)的條件或事件。行為觀察器模塊202可以監(jiān)測與用戶驗證相關(guān)的條件或事件(例如,密碼的輸入等)。
行為觀察器模塊202還可以通過監(jiān)測在移動計算設(shè)備102的多個級別(包括應(yīng)用級別、無線級別以及傳感器級別)處的條件或事件來監(jiān)測移動計算設(shè)備102的活動。應(yīng)用級別觀察可以包括經(jīng)由面部識別軟件來觀察用戶、觀察社交流、觀察由用戶輸入的筆記、觀察與錢包(Wallet)、以及其它類似應(yīng)用或服務(wù)的使用相關(guān)的事件等。應(yīng)用級別觀察還可以包括觀察與虛擬私有網(wǎng)絡(luò)(VPN)的使用有關(guān)的事件以及與同步、語音搜索、語音控制(例如,通過說一個字來上鎖/解鎖電話)、語言翻譯器、用于計算的數(shù)據(jù)卸載、視頻流、在沒有用戶活動的情況下的相機使用、在沒有用戶活動的情況下的麥克風(fēng)使用等相關(guān)的事件。
無線級別觀察可以包括確定以下各項中的任何一項或多項的出現(xiàn)、存在或數(shù)量:在建立無線通信鏈路或發(fā)送信息之前與移動計算設(shè)備102的用戶交互、雙/多用戶身份模塊(SIM)卡、互聯(lián)網(wǎng)電臺、移動電話約束、用于計算的卸載數(shù)據(jù)、設(shè)備狀態(tài)通信、作為游戲控制器或家庭控制器的用途、車輛通信、計算設(shè)備同步等。無線級別觀察還可以包括監(jiān)測無線(WiFi、WiMax、藍(lán)牙等)的使用以進行定位、對等(p2p)通信、同步、車輛到車輛通信和/或機器到機器(m2m)。無線級別觀察可以進一步包括監(jiān)測網(wǎng)絡(luò)業(yè)務(wù)使用、統(tǒng)計或簡檔。
傳感器級別觀察可以包括監(jiān)測磁傳感器或其它傳感器,以確定移動計算設(shè)備102的使用和/或外部環(huán)境。例如,計算設(shè)備處理器可以被配置為確定設(shè)備是在皮套中(例如,經(jīng)由被配置為檢測皮套內(nèi)的磁鐵的磁傳感器)還是在用戶的口袋中(例如,經(jīng)由相機或光傳感器所檢測到的光量)。檢測到移動計算設(shè)備102在皮套中可以與識別可疑的行為有關(guān),這是因為,例如,當(dāng)移動計算設(shè)備102被放入皮套中時發(fā)生的與用戶進行的活躍使用(例如,拍照片或視頻、發(fā)送消息、進行語音呼叫、記錄聲音等)相關(guān)的活動和功能可能是在設(shè)備上執(zhí)行不法過程(例如,來跟蹤或偵察用戶)的跡象。
與使用或外部環(huán)境相關(guān)的傳感器級別觀察的其它示例可以包括檢測近場通信(NFC)信令、從信用卡掃描器、條形碼掃描器或移動標(biāo)簽閱讀器收集信息、檢測通用串行總線(USB)充電源的存在、檢測鍵盤或輔助設(shè)備已經(jīng)耦合到移動計算設(shè)備102、檢測移動計算設(shè)備102已經(jīng)耦合到另一個計算設(shè)備(例如,經(jīng)由USB等)、確定LED、閃光、閃光燈或光源是否已經(jīng)被修改或禁用(例如,惡意地禁用緊急事件信令應(yīng)用等)、檢測揚聲器或麥克風(fēng)已經(jīng)被開啟或通電、檢測充電或電源事件、檢測移動計算設(shè)備102正在被用作游戲控制器等。傳感器級別觀察還可以包括從醫(yī)療或健康傳感器或者通過掃描用戶的身體來收集信息、從插入到USB/音頻插口中的外部傳感器收集信息、從感觸或觸覺傳感器收集信息(例如,經(jīng)由振動器接口等)、收集與移動計算設(shè)備102的熱狀態(tài)相關(guān)的信息等。
為了將被監(jiān)測的因素的數(shù)量降低到可管理的水平,在一個方面中,行為觀察器模塊202可以通過監(jiān)測/觀察作為可以對計算設(shè)備的降級起作用的所有因素的小的子集的行為或因素的初始集合來執(zhí)行粗略觀察。在一個方面中,行為觀察器模塊202可以從服務(wù)器和/或云服務(wù)或網(wǎng)絡(luò)中的組件接收行為和/或因素的初始集合。在一個方面中,可以在機器學(xué)習(xí)分類器模型中指定行為/因素的初始集合。
行為觀察器模塊202可以將所收集的行為信息(例如,經(jīng)由存儲器寫入操作、函數(shù)調(diào)用等)傳送給行為提取器模塊204。行為提取器模塊204可以被配置為接收或獲取所收集的行為信息,并且使用該信息來生成一個或多個行為向量。每個行為向量可以用值或向量數(shù)據(jù)結(jié)構(gòu)來簡潔地描述設(shè)備、軟件應(yīng)用或過程的行為。向量數(shù)據(jù)結(jié)構(gòu)可以包括一組數(shù)字,其中的每一個數(shù)字表示移動設(shè)備的特征或行為,諸如移動設(shè)備的相機是否正在使用中(例如,作為零或一)、移動設(shè)備已經(jīng)發(fā)送或生成了多少網(wǎng)絡(luò)業(yè)務(wù)(例如,20KB/秒等)、已經(jīng)傳送了多少互聯(lián)網(wǎng)消息(例如,SMS消息的數(shù)量等)、和/或行為觀察器模塊202所收集的任何其它行為信息。在一個方面中,行為提取器模塊204可以被配置為生成行為向量,以使得其作為使移動設(shè)備系統(tǒng)(例如,行為分析器模塊206)能夠快速地辨別、識別或分析設(shè)備的行為的標(biāo)識符起作用。
在一個方面中,行為提取器模塊204可以被配置為:生成行為向量以包括可以輸入到機器學(xué)習(xí)分類器中的特征/決策節(jié)點的信息,以生成關(guān)于監(jiān)測的一個活動或多個活動的查詢的應(yīng)答。
在一個方面中,行為提取器模塊204可以被配置為生成行為向量以包括執(zhí)行信息。執(zhí)行信息可以作為行為(例如,后臺進程在三秒內(nèi)使用相機五次,前臺進程在三秒內(nèi)使用相機三次等)的一部分或者作為獨立特征的一部分被包括在行為向量中。在一個方面中,執(zhí)行狀態(tài)信息可以作為消隱特征值子向量或數(shù)據(jù)結(jié)構(gòu)被包括在行為向量中。在一個方面中,行為向量可以存儲與特征、活動、任務(wù)相關(guān)聯(lián)的消隱特征值子向量/數(shù)據(jù)結(jié)構(gòu),其中執(zhí)行狀態(tài)與所述特征、活動、任務(wù)相關(guān)。
行為提取器模塊204可以將所生成的行為向量(例如,經(jīng)由存儲器寫入操作、函數(shù)調(diào)用等)傳送給行為分析器模塊206。行為分析器模塊206可以被配置為將行為向量應(yīng)用于分類器模型以確定設(shè)備行為是否是正在對設(shè)備隨時間的降級起作用(或者可能起作用)和/或可能以其它方式導(dǎo)致設(shè)備上的問題的非良性的行為。
每個分類器模型可以是包括數(shù)據(jù)和/或信息結(jié)構(gòu)(例如,特征向量、行為向量、組件列表等)的行為模型,所述數(shù)據(jù)和/或信息結(jié)構(gòu)可以被計算設(shè)備處理器用來對計算設(shè)備的行為的特定特征或方面進行評估。每個分類器模型還可以包括用于監(jiān)測計算設(shè)備中的多個特征、因素、數(shù)據(jù)點、條目、API、狀態(tài)、條件、行為、應(yīng)用、過程、操作、組件等(本文中共同地“特征”)的決策標(biāo)準(zhǔn)。分類器模型可以預(yù)安裝在計算設(shè)備上、從網(wǎng)絡(luò)服務(wù)器下載或接收、在移動計算設(shè)備中生成、或其任意組合??梢酝ㄟ^使用眾包(crowd sourcing)解決方案、行為建模技術(shù)、機器學(xué)習(xí)算法等來生成分類器模型。
每個分類器模型可以被分類為完全分類器模型或貧乏分類器模型。完全分類器模型可以是根據(jù)大型訓(xùn)練數(shù)據(jù)集合生成的魯棒數(shù)據(jù)模型,其中所述大型訓(xùn)練數(shù)據(jù)集合可以包括數(shù)千的特征和數(shù)十億的條目。貧乏分類器模型是根據(jù)減小的數(shù)據(jù)集合生成的更集中的數(shù)據(jù)模型,所述減小的數(shù)據(jù)集合包括/測試僅與用于確定特定活動是正在進行的關(guān)鍵活動和/或特定的計算設(shè)備行為是否是非良性的最相關(guān)的特征/條目。舉例而言,設(shè)備處理器可以被配置為從網(wǎng)絡(luò)服務(wù)器接收完全分類器模型,基于完全分類器來在移動設(shè)備中生成貧乏分類器模型,以及使用本地生成的貧乏分類器模型來將設(shè)備的行為分類為良性的還是非良性的(即,惡意的、性能降級的等)。
本地生成的貧乏分類器模型是在計算設(shè)備中生成的貧乏分類器模型。即,因為移動計算設(shè)備是高度可配置的并且復(fù)雜的系統(tǒng),所以用于確定特定的設(shè)備行為是否是非良性的(例如,惡意的或性能降級的)的最重要的特征可能在每個設(shè)備中都是不同的。此外,不同的特征組合可以要求在每個設(shè)備中進行監(jiān)測和/或分析,以便使該設(shè)備快速和高效地確定特定的行為是否是非良性的。然而,要求監(jiān)測和分析的特征的精確組合以及每個特征或特征組合的相對優(yōu)先級或重要性通常僅可以使用從要在其中監(jiān)測或分析行為的特定設(shè)備獲得的信息來確定。出于這些和其它原因,各個方面可以在其中使用模型的移動設(shè)備中生成分類器模型。這些本地分類器模型允許設(shè)備處理器準(zhǔn)確地識別在確定該特定設(shè)備上的行為是否是非良性的(例如,對設(shè)備的性能的降級起作用)時最重要的特定特征。本地分類器模型還允許設(shè)備處理器根據(jù)要測試或評估的特征關(guān)于對該特定設(shè)備中的行為進行分類的相對重要性,來對這些特征區(qū)分優(yōu)先次序。
特定于設(shè)備的分類器模型是包括集中的數(shù)據(jù)模型的分類器模型,所述集中的數(shù)據(jù)模型僅包括/測試被確定為與對特定計算設(shè)備中的活動或行為進行分類最相關(guān)的特定于計算設(shè)備的特征/條目。
特定于應(yīng)用的分類器模型是包括集中的數(shù)據(jù)模型的分類器模型,所述集中的數(shù)據(jù)模型僅包括/測試用于評估特定的軟件應(yīng)用最相關(guān)的特征/條目。
特定于用戶的分類器模型可以是包括集中的數(shù)據(jù)模型的本地分類器模型,所述集中的數(shù)據(jù)模型包括或優(yōu)先對與進行以下各項操作最相關(guān)的特征/條目的測試:識別設(shè)備的用戶、確定用戶的角色、確定設(shè)備行為是否與經(jīng)識別的用戶的角色相一致、確定設(shè)備行為是否與其識別的用戶中的一個用戶對該設(shè)備的通常使用相一致、或者確定用戶的活動是否指示非良性的設(shè)備行為。
通過在移動設(shè)備中本地地動態(tài)地生成特定于用戶、特定于設(shè)備和/或特定于應(yīng)用的分類器模型,各個方面允許設(shè)備處理器將其監(jiān)測和分析操作集中在少量對于用于確定該特定移動設(shè)備和/或該設(shè)備中操作的特定軟件應(yīng)用的操作是否與該特定設(shè)備的已知用戶的個性、習(xí)慣或通常使用模式相一致最重要的特征上。
在一個方面中,行為分析器模塊206可以被配置為:當(dāng)其行為分析操作的結(jié)果沒有提供足以將設(shè)備行為分類為良性或者非良性的信息時,將行為分類為“可疑的”。行為分析器模塊206可以被配置為:響應(yīng)于確定設(shè)備行為是可疑的,通知行為觀察器模塊202。作為響應(yīng),行為觀察器模塊202可以調(diào)整其觀察的粒度(即,監(jiān)測計算設(shè)備特征所采用的細(xì)節(jié)級別)和/或基于從行為分析器模塊206接收的信息(例如,實時分析操作的結(jié)果)來改變監(jiān)測到的因素或行為,生成或收集新的或額外的行為信息,并且將新的/額外的信息發(fā)送給行為分析器模塊206,以用于進一步的分析/分類。行為觀察器模塊202和行為分析器模塊206之間的這種反饋通信使移動計算設(shè)備102能夠遞歸地增加觀察的粒度(即,進行更精細(xì)的或更詳細(xì)的觀察)或改變觀察到的特征/行為,直到將收集的行為分類為良性的還是非良性的、識別可疑的或性能降級的行為的源為止,直到達到處理或電池消耗門限為止,或直到設(shè)備處理器確定無法根據(jù)觀察粒度的進一步的改變、調(diào)整或增加來識別可疑的或性能降級的設(shè)備行為的源為止。這種反饋通信還使移動計算設(shè)備102能夠調(diào)整或修改行為向量和分類器模型,而不消耗過量的計算設(shè)備的處理、存儲器或能量資源。
在一個方面中,行為分析器模塊206可以被配置為:接收和分析由各種移動設(shè)備子系統(tǒng)和/或在各個時間段內(nèi)收集的信息,以學(xué)習(xí)移動設(shè)備在多種多樣的上下文和狀況下的正常操作行為,并且生成在各種上下文/狀況下的正常的移動設(shè)備行為的模型。在一個方面中,分析器模塊204可以被配置為:將所收集的行為信息與所生成的行為模型相互關(guān)聯(lián),以及基于相關(guān)性來執(zhí)行行為分析操作,以確定所接收的觀察是否與所學(xué)習(xí)的正常操作行為相沖突(或不匹配)。
舉一個高級示例,移動設(shè)備102可以(經(jīng)由所收集的行為信息)檢測到當(dāng)設(shè)備在皮套中并且系在用戶的皮帶上時,相機已經(jīng)被使用,移動設(shè)備102正在嘗試向服務(wù)器上傳圖片,以及移動設(shè)備上的應(yīng)用拍照片。移動設(shè)備102可以確定該檢測到的行為(例如,相機在皮套中時的使用)是否是對于用戶而言可接受的或常見的行為。這可以通過將所檢測的行為(例如,所生成的行為向量)與移動設(shè)備102或用戶的過去行為進行比較來實現(xiàn)。由于當(dāng)在皮套中時拍照片和將其上傳到服務(wù)器是不尋常的行為(如在皮套中的上下文中,可以根據(jù)觀察到的正常行為確定的),因此在這種情形下,計算設(shè)備可以將此識別為與用戶對計算設(shè)備的通常使用的模式不一致,并且發(fā)起適當(dāng)?shù)捻憫?yīng)(例如,關(guān)閉相機、發(fā)出報警的聲音等)。
在各個方面中,移動設(shè)備102可以被配置為:結(jié)合網(wǎng)絡(luò)服務(wù)器來工作以智能地且高效地識別與確定活動或行為是否是非良性的最相關(guān)的特征、因素以及數(shù)據(jù)點。例如,設(shè)備處理器可以被配置為:從網(wǎng)絡(luò)服務(wù)器接收完全分類器模型,并且使用所接收的完全分類器模型來生成專用于設(shè)備的用戶和/或設(shè)備或其軟件應(yīng)用的特征和功能的貧乏分類器模型(即,數(shù)據(jù)/行為模型)。設(shè)備處理器可以使用完全分類器模型來生成具有不同級別的復(fù)雜度(或“貧瘠”)的貧乏分類器模型族??梢猿R?guī)地應(yīng)用最貧乏的貧乏分類器模型族(即,基于最少數(shù)量的測試條件的貧乏分類器模型),直到遇到分類型模型不能夠?qū)⑵浞诸悶榱夹缘倪€是非良性的(并且因此被模型分類為是可疑的)為止,此時可以應(yīng)用更魯棒的(即,不太貧乏的)貧乏分類器模型,以嘗試對行為進行分類。可以應(yīng)用所生成的貧乏分類器模型族內(nèi)的永遠(yuǎn)更加魯棒的貧乏分類器模型的應(yīng)用,直到實現(xiàn)對行為的確定性分類為止。以此方式,設(shè)備處理器可以通過將最完整但資源密集的貧乏分類器模型的使用限制在其中需要魯棒的分類器模型來對行為進行確定地分類的那些情形,來達到效率和準(zhǔn)確度之間的平衡。
在各個方面中,設(shè)備處理器可以被配置為:通過將完全分類器模型中包括的有限狀態(tài)機表示或表達轉(zhuǎn)換成提升決策樹樁,來生成貧乏分類器模型。設(shè)備處理器可以基于用戶角色信息或特定于用戶的設(shè)備特征來對提升決策樹樁的完全集合進行修剪或剔除,以生成包括完全分類器模型中包括的提升決策樹樁子集的貧乏分類器模型。隨后,設(shè)備處理器可以使用貧乏分類器模型來對設(shè)備行為進行智能地監(jiān)測、分析和/或分類。
提升決策樹樁是恰好具有一個節(jié)點(并且因此具有一個測試問題或測試條件)和權(quán)重值的一級決策樹,并且因此很好地適于在對數(shù)據(jù)/行為的二進制分類中使用。即,將行為向量應(yīng)用于提升決策樹樁產(chǎn)生二進制回答(例如,是或否)。例如,如果提升決策樹樁所測試的問題/條件是“短消息服務(wù)(SMS)傳輸?shù)念l率是否小于x/分鐘”,則將值“3”應(yīng)用于提升決策樹樁將產(chǎn)生“是”回答(針對“小于3”的SMS傳輸)或“否”回答(針對“3或更多”的SMS傳輸)。提升決策樹樁是高效的,這是因為其是非常簡單和原始的(并且因此不要求顯著的處理資源)。提升決策樹樁還是非??刹⑿谢模⑶乙虼丝梢圆⑿?同時應(yīng)用或測試許多樹樁(例如,通過計算設(shè)備中的多個內(nèi)核或處理器)。
圖3根據(jù)一個方面,示出了生成用戶角色信息并且使用其來確定設(shè)備行為是否是非良性的方法300。方法300可以由移動計算設(shè)備中的設(shè)備處理器或資源受限的計算設(shè)備中的設(shè)備處理器執(zhí)行。在框302中,設(shè)備處理器可以監(jiān)測傳感器、軟件應(yīng)用的活動、或者軟件應(yīng)用的活動數(shù)量,以生成對計算設(shè)備的用戶進行表征的用戶角色信息。在一個方面中,這可以經(jīng)由上文論述的行為觀察器模塊202來完成。
在框304中,設(shè)備處理器可以使用所生成的用戶角色信息來識別與確定設(shè)備行為是否與用戶對計算設(shè)備的通常使用的模式不一致最相關(guān)的設(shè)備特征。在框306中,設(shè)備處理器可以監(jiān)測所識別的設(shè)備特征以收集行為信息。在框308中,設(shè)備處理器可以生成對所收集的行為信息進行表征的行為向量。在框310中,設(shè)備處理器可以生成對所識別的設(shè)備特征進行評估的特定于用戶的分類器模型。在框312中,設(shè)備處理器可以將所生成的行為向量應(yīng)用于分類器模型,以確定設(shè)備行為是否是非良性的。
圖4根據(jù)一個方面,示出了生成用戶角色信息并且使用其來確定設(shè)備行為是否是非良性的另一種方法400。方法400可以由移動計算設(shè)備或資源受限的計算設(shè)備中的設(shè)備處理器執(zhí)行。
在框402中,設(shè)備處理器可以監(jiān)測用戶與在設(shè)備上操作的軟件應(yīng)用之間的用戶交互。在框404中,設(shè)備處理器可以基于用戶交互來生成對用戶的情緒進行表征的用戶角色信息。在框406中,設(shè)備處理器可以監(jiān)測裝備組件以收集行為信息。在框408中,設(shè)備處理器可以確定用戶的情緒是否與對所收集的行為信息中的全部或一部分進行分析有關(guān)。在框410中,設(shè)備處理器可以生成行為向量,所述行為向量將用戶的情緒與之有關(guān)的行為信息與用戶在行為信息被收集時的情緒相互關(guān)聯(lián)。在框412中,設(shè)備處理器可以生成分類器模型,所述分類器模型包括對與用戶的情緒有關(guān)的設(shè)備特征進行評估的決策節(jié)點。在框414中,設(shè)備處理器可以將行為向量應(yīng)用于分類器模型,以確定設(shè)備行為是否是非良性的。
圖5示出了使用貧乏分類器模型族來對移動設(shè)備的行為進行分類的方面方法500。方法500可以由移動計算設(shè)備或資源受限的計算設(shè)備的設(shè)備處理器執(zhí)行。
在框502中,設(shè)備處理器可以執(zhí)行觀察以從在移動設(shè)備系統(tǒng)的各個級別處裝備的各個組件收集行為信息。在一個方面中,這可以是經(jīng)由上文參照圖2論述的行為觀察器模塊202來完成的。在框504中,設(shè)備處理器可以生成用于對所收集的行為信息和/或移動設(shè)備行為進行表征的行為向量。此外,在框504中,設(shè)備處理器可以使用從網(wǎng)絡(luò)服務(wù)器接收的完全分類器模型來生成具有不同級別的復(fù)雜度(或“貧瘠”)的貧乏分類器模型或貧乏分類器模型族。為了完成該操作,設(shè)備處理器可以對完全分類器模型中包括的提升決策樹樁族進行剔除,以生成包括減少數(shù)量的提升決策樹樁和/或?qū)τ邢迶?shù)量的測試條件進行評估的貧乏分類器模型。在一個方面中,貧乏分類器模型中的一個或多個貧乏分類器模型可以是特定于用戶的分類器模型。
在框506中,設(shè)備處理器可以在貧乏分類器模型族中選擇尚未被移動設(shè)備評估或應(yīng)用的最貧乏的分類器(即,基于最少數(shù)量的不同移動設(shè)備狀態(tài)、特征、行為或條件的模型)。在一個方面中,這可以通過設(shè)備處理器在有序的分類器模型列表中選擇第一分類器模型來完成。在框508中,設(shè)備處理器可以將收集的行為信息或行為向量應(yīng)用于所選擇的貧乏分類器模型中的每個提升決策樹樁。由于提升決策樹樁是二進制決策并且貧乏分類器模型是通過選擇許多基于相同測試條件的二進制決策來生成的,因此可以在并行操作中執(zhí)行將行為向量應(yīng)用于貧乏分類器模型中的提升決策樹樁的過程。替代地,可以對行為向量進行截短或過濾,以僅包括在貧乏分類器模型中包括的有限數(shù)量的測試條件參數(shù),由此進一步減少在應(yīng)用該模型時的計算努力。
在框510中,設(shè)備處理器可以計算或確定將所收集的行為信息應(yīng)用于貧乏分類器模型中的每個提升決策樹樁的結(jié)果的加權(quán)平均。在框512中,設(shè)備處理器可以將所計算的加權(quán)平均與門限值進行比較。在確定框514中,設(shè)備處理器可以確定該比較的結(jié)果和/或通過應(yīng)用所選擇的貧乏分類器模型生成的結(jié)果是否是可疑的。例如,設(shè)備處理器可以確定這些結(jié)果是否可以用于具有高置信度的將行為分類為惡意的或良性的,并且如果這些結(jié)果不可以用于具有高置信度的將行為分類為惡意的或良性的,則將行為作為可疑的來對待。
如果設(shè)備處理器確定結(jié)果是可疑的(例如,確定框514=“是”),則設(shè)備處理器可以重復(fù)框506-512中的操作,以選擇和應(yīng)用對更多的設(shè)備狀態(tài)、特征、行為或條件進行評估的更強的(即,不太貧乏的)分類器模型,直到具有高置信度的將行為分類為惡意的或良性的為止。如果設(shè)備處理器確定結(jié)果不是可疑的(例如,確定框514=“否”),諸如通過確定可以具有高置信度的將行為分類為惡意的或良性的,則在框516中,設(shè)備處理器可以使用在框512中生成的比較的結(jié)果來將移動設(shè)備的行為分類為良性的或者潛在地惡意的。
在一個替代的方面方法中,可以通過順序地執(zhí)行以下操作來完成上文描述的操作:選擇尚未在貧乏分類器模型中的提升決策樹樁;識別取決于與所選擇的決策樹樁相同的移動設(shè)備狀態(tài)、特征、行為或條件的所有其它提升決策樹樁(并且因此可以基于一個確定結(jié)果來應(yīng)用);在貧乏分類器模型中包括所選擇的提升決策樹樁和取決于相同的移動設(shè)備狀態(tài)、特征、行為或條件的所有識別的其它提升決策樹樁;以及將該過程重復(fù)等于所確定的測試條件的數(shù)量的次數(shù)。由于每次將取決于與所選擇的決策樹樁相同的測試條件的所有提升決策樹樁添加到貧乏分類器模型,因此限制該過程被執(zhí)行的次數(shù)將限制貧乏分類器模型中包括的測試條件的數(shù)量。
圖6示出了適用于生成適用于根據(jù)各個方面使用的決策樹/分類器的示例方法600。方法600可以由移動計算設(shè)備或資源受限的計算設(shè)備的設(shè)備處理器執(zhí)行。在框602中,設(shè)備處理器可以生成和/或執(zhí)行決策樹/分類器,從決策樹/分類器的執(zhí)行收集訓(xùn)練樣本,以及基于訓(xùn)練樣本來生成新的分類器模型(h1(x))。訓(xùn)練樣本可以包括從移動設(shè)備行為、移動設(shè)備中的軟件應(yīng)用或過程的先前的觀察或分析收集的信息。訓(xùn)練樣本和/或新的分類器模型(h1(x))可以是基于先前的分類器中包括的問題或測試條件的類型和/或基于從先前的數(shù)據(jù)/行為模型或分類器的執(zhí)行/應(yīng)用收集的準(zhǔn)確度或性能特性來生成的。
在框604中,設(shè)備處理器可以提升(或增加)被所生成的決策樹/分類器(h1(x))錯誤分類的條目的權(quán)重,以生成第二新的樹/分類器(h2(x))。在一個方面中,訓(xùn)練樣本和/或新的分類器模型(h2(x))可以是基于分類器的先前的執(zhí)行或使用(h1(x))的錯誤率來生成的。在一個方面中,訓(xùn)練樣本和/或新的分類器模型(h2(x))可以是基于被確定為具有對分類器的先前的執(zhí)行或使用中的數(shù)據(jù)點的錯誤率或錯誤分類起作用的屬性來生成的。
在一個方面中,被錯誤分類的條目可以是基于其相對準(zhǔn)確度或有效性來加權(quán)的。在操作606中,處理器可以提升(或增加)被所生成的第二樹/分類器(h2(x))錯誤分類的條目的權(quán)重,以生成第三新的樹/分類器(h3(x))。在操作608中,可以重復(fù)604-606的操作以生成“t”個新的樹/分類器(ht(x))。
通過提升或增加被第一決策樹/分類器(h1(x))錯誤分類的條目的權(quán)重,第二樹/分類器(h2(x))可以對被第一決策樹/分類器(h1(x))錯誤分類的條目進行更準(zhǔn)確地分類,但是也可能對被第一決策樹/分類器(h1(x))正確分類的條目中的一些條目進行錯誤地分類。類似地,第三樹/分類器(h3(x))可能對被第二決策樹/分類器(h2(x))錯誤分類的條目進行更準(zhǔn)確地分類,以及對被第二決策樹/分類器(h2(x))正確分類的條目中的一些條目進行錯誤地分類。即,生成樹/分類器族h1(x)-ht(x)可能不產(chǎn)生匯聚成整體的系統(tǒng),而是產(chǎn)生可以并行執(zhí)行的多個決策樹/分類器。
圖7根據(jù)一個方面,示出了用于執(zhí)行動態(tài)和適應(yīng)性觀察的示例方法700。在框702中,設(shè)備處理器可以通過監(jiān)測/觀察可能對移動設(shè)備的降級起作用的大量的因素、行為和活動的子集來執(zhí)行粗略觀察。在框703中,設(shè)備處理器可以基于粗略觀察,生成對粗略觀察和/或移動設(shè)備行為進行表征的行為向量。在框704中,設(shè)備處理器可以識別與粗略觀察相關(guān)聯(lián)的、可能潛在地對移動設(shè)備的降級起作用的子系統(tǒng)、過程和/或應(yīng)用。這可以例如通過將從多個源接收的信息與從移動設(shè)備的傳感器接收的上下文信息進行比較來實現(xiàn)。在框706中,設(shè)備處理器可以基于粗略觀察來執(zhí)行行為分析操作。
在確定框708中,設(shè)備處理器可以基于行為分析的結(jié)果,確定可疑行為或潛在問題是否能夠被識別和糾正。當(dāng)設(shè)備處理器基于行為分析的結(jié)果,確定可疑行為或潛在問題能夠被識別和糾正(即,確定框708=“是”)時,在框718中,處理器可以發(fā)起糾正行為的過程并且返回到框702以執(zhí)行另外的粗略觀察。
當(dāng)設(shè)備處理器基于行為分析的結(jié)果,確定可疑行為或潛在問題不能夠被識別和/或糾正(即,確定框708=“否”)時,在確定框709中,設(shè)備處理器可以確定是否有可能存在問題。在一個方面中,設(shè)備處理器可以通過計算移動設(shè)備遇到潛在問題和/或參與可疑行為的概率,并且確定所計算的概率是否大于預(yù)定門限,來確定有可能存在問題。當(dāng)設(shè)備處理器確定所計算的概率不大于預(yù)定門限和/或不存在可疑行為或者潛在問題存在和/或可檢測的可能性(即,確定框709=“否”)時,處理器可以返回到框702以執(zhí)行另外的粗略觀察。
當(dāng)設(shè)備處理器確定存在可疑行為或者潛在問題存在和/或可檢測的可能性(即,確定框709=“是”)時,在框710中,設(shè)備處理器可以對所識別的子系統(tǒng)、過程或應(yīng)用執(zhí)行更深度的記錄/觀察或最終記錄。在框712中,設(shè)備處理器可以對所識別的子系統(tǒng)、過程或應(yīng)用執(zhí)行更深度的和更詳細(xì)的觀察。在框714中,設(shè)備處理器可以基于更深度的和更詳細(xì)的觀察,執(zhí)行進一步的和/或更深度的行為分析。在確定框708中,設(shè)備處理器可以基于更深度的行為分析的結(jié)果,再次確定可疑行為或潛在問題是否能夠被識別和糾正。當(dāng)設(shè)備處理器基于更深度的行為分析的結(jié)果,確定可疑行為或潛在問題不能夠被識別和糾正(即,確定框708=“否”)時,處理器可以重復(fù)框710-714中的操作,直到細(xì)節(jié)級別足夠精細(xì)用于識別問題或者直到確定不能夠利用另外的細(xì)節(jié)識別問題或不存在問題為止。
當(dāng)設(shè)備處理器基于更深度的行為分析的結(jié)果,確定可疑行為或潛在問題能夠被識別和糾正(即,確定框708=“是”)時,在框718中,設(shè)備處理器可以執(zhí)行操作以糾正問題/行為,并且處理器可以返回到框702以執(zhí)行另外的操作。
在一個方面中,作為方法700的框702-718的一部分,設(shè)備處理器可以執(zhí)行對系統(tǒng)的行為的實時行為分析,以根據(jù)有限和粗略的觀察來識別可疑行為,動態(tài)地確定要更加詳細(xì)觀察的行為,以及動態(tài)地確定針對觀察所要求的細(xì)節(jié)的精確級別。這使設(shè)備處理器能夠有效地識別和防止問題發(fā)生,而不需要使用設(shè)備上的大量的處理器、存儲器或電池資源。
各個方面通過使用行為分析和/或機器學(xué)習(xí)技術(shù)(與基于許可、策略或規(guī)則的方法相反)來監(jiān)測和分析選擇的軟件應(yīng)用群組的收集性行為,來對現(xiàn)有的解決方案進行改進。行為分析或機器學(xué)習(xí)技術(shù)的使用是重要的,這是因為現(xiàn)代計算設(shè)備是高度可配置和復(fù)雜的系統(tǒng),并且用于確定軟件應(yīng)用是否是合謀的最重要的因素在每個設(shè)備中可以是不同的。此外,設(shè)備特征/因素的不同組合可能要求每個設(shè)備中的分析,以便使該設(shè)備確定軟件應(yīng)用是否是合謀的。但是,要求監(jiān)測和分析的特征/因素的精確組合通常僅可以使用從特定計算設(shè)備(在該計算設(shè)備中,一個活動或多個活動被執(zhí)行,以及此時,一個活動/多個活動正在進行)獲得的信息來確定。出于這些和其它原因,現(xiàn)有的解決方案不足以用于對計算設(shè)備中的多個軟件應(yīng)用之間的收集性行為或關(guān)系進行實時地(當(dāng)行為正在進行時)監(jiān)測、檢測和表征,而不消耗大量的計算設(shè)備的處理、存儲器或功率資源。
各個方面(包括上文參照圖2-7論述的方面)可以實現(xiàn)在多種多樣的計算設(shè)備上,其中的示例是在圖8中以智能電話的形式示出的。智能電話800可以包括處理器802,其耦合到內(nèi)部存儲器804、顯示器812和揚聲器814。另外,智能電話800可以包括用于發(fā)送和接收電磁輻射的天線,其可以連接到無線數(shù)據(jù)鏈路和/或耦合到處理器802的蜂窩電話收發(fā)機808。智能電話800通常還包括用于接收用戶輸入的菜單選擇按鈕或搖桿式開關(guān)820。
典型的智能電話800還包括聲音編碼/解碼(編解碼器)電路806,其將從麥克風(fēng)接收的聲音數(shù)字化成適用于無線傳輸?shù)臄?shù)據(jù)分組,并且對接收的聲音數(shù)據(jù)分組進行解碼以生成要提供給揚聲器用于生成聲音的模擬信號。此外,處理器802、無線收發(fā)機808和編解碼器806中的一個或多個可以包括數(shù)字信號處理器(DSP)電路(未單獨示出)。
處理器802可以是可以被軟件指令(應(yīng)用)配置為執(zhí)行多種功能(包括下文描述的各個方面的功能)的任何可編程的微處理器、微計算機或多處理器芯片。在一些移動設(shè)備中,可以提供多個處理器802,諸如一個處理器專用于無線通信功能以及一個處理器專用于運行其它應(yīng)用。典型地,軟件應(yīng)用可以在被存取和加載到處理器802之前被存儲在內(nèi)部存儲器804中。處理器802可以包括足以存儲應(yīng)用軟件指令的內(nèi)部存儲器。在各個方面中,處理器802可以是設(shè)備處理器、處理內(nèi)核或SOC(諸如在圖1中示出的示例SOC 100)。在一個方面中,智能電話800可以包括SOC,并且處理器802可以是SOC中包括的處理器中的一個處理器(諸如圖1中示出的處理器101、104、106、108、110中的一個處理器)。
如在本申請中使用的,術(shù)語“組件”、“模塊”等等旨在包括與計算機相關(guān)的實體,例如但不限于硬件、固件、硬件和軟件的組合、軟件或執(zhí)行中的軟件,它們被配置為執(zhí)行特定的操作或功能。例如,組件可以是,但不限于是:在處理器上運行的過程、處理器、對象、可執(zhí)行文件、執(zhí)行的線程、程序和/或計算機。舉例而言,在計算設(shè)備上運行的應(yīng)用和計算設(shè)備二者可以被稱為組件。一個或多個組件可以存在于過程和/或執(zhí)行的線程中,并且組件可以位于一個處理器或內(nèi)核上和/或分布在兩個或更多處理器或內(nèi)核中。此外,這些組件可以從具有存儲在其上的各種指令和/或數(shù)據(jù)結(jié)構(gòu)的各種非暫時性計算機可讀介質(zhì)中執(zhí)行。組件可以通過本地和/或遠(yuǎn)程過程、函數(shù)或過程調(diào)用、電信號、數(shù)據(jù)分組、存儲器讀取/寫入以及其它已知網(wǎng)絡(luò)、計算機、處理器和/或過程相關(guān)的通信方法的方式來進行通信。
用于在用于執(zhí)行各個方面的操作的可編程處理器上執(zhí)行的計算機程序代碼或“程序代碼”可以以高級編程語言來書寫,例如,C、C++、C#、Smalltalk、Java、JavaScript、Visual Basic、結(jié)構(gòu)化查詢語言(例如,Transact-SQL)、Perl或各種其它編程語言。如在本申請中使用的,在計算機可讀存儲介質(zhì)上存儲的程序代碼或程序可以指代格式可被處理器理解的機器語言代碼(例如,目標(biāo)代碼)。
許多移動計算設(shè)備操作系統(tǒng)內(nèi)核被組織到用戶空間(非特權(quán)代碼運行處)和內(nèi)核空間(特權(quán)代碼運行處)中。該分離在和其它通用公共許可證(GPL)環(huán)境中是尤其重要的,其中作為內(nèi)核空間的一部分的代碼必須被GPL許可,而在用戶空間中運行的代碼可以不被GPL許可。應(yīng)當(dāng)理解的是,除非明確地另外陳述,否則這里論述的各種軟件組件/模塊可以實現(xiàn)在內(nèi)核空間或用戶空間中。
前述方法描述和過程流程圖僅是作為說明性的示例來提供的,并且不旨在要求或暗示各個方面的步驟必須按給出的次序來執(zhí)行。如本領(lǐng)域的技術(shù)人員將認(rèn)識到的,前述方面中的步驟的次序可以按任意次序來執(zhí)行。諸如“其后”、“隨后”、“接下來”等的詞語不旨在限制步驟的次序;這些詞語僅用于引導(dǎo)讀者瀏覽方法的描述。此外,任何以單數(shù)形式的對權(quán)利要求元素的引用,例如使用冠詞“一”、“一個”或“這個”不被解釋為將元素限制為單數(shù)形式。
結(jié)合本文公開的方面描述的各種說明性的邏輯框、模塊、電路和算法步驟可以實現(xiàn)為電子硬件、計算機軟件或二者的組合。為了清楚地說明硬件和軟件的這種互換性,上文依據(jù)各種說明性的組件、框、模塊、電路和步驟的功能,已經(jīng)對它們進行了一般性描述。至于這樣的功能是實現(xiàn)為硬件還是軟件,取決于特定的應(yīng)用以及施加在整個系統(tǒng)上的設(shè)計約束。熟練的技術(shù)人員可以針對每個特定的應(yīng)用,以變通的方式來實現(xiàn)所描述的功能,但是這樣的實現(xiàn)決策不應(yīng)當(dāng)被解釋為引起脫離本發(fā)明的范圍。
用于實現(xiàn)結(jié)合本文公開的方面描述的各種說明性的邏輯單元、邏輯框、模塊和電路的硬件可以利用被設(shè)計為執(zhí)行本文描述的功能的通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其它可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件或者其任意組合來實現(xiàn)或執(zhí)行。通用處理器可以是多處理器,但是在替代的方式中,處理器可以是任何常規(guī)的處理器、控制器、微控制器或者狀態(tài)機。處理器還可以被實現(xiàn)為計算設(shè)備的組合,例如,DSP和多處理器的組合、多個多處理器、一個或多個多處理器與DSP內(nèi)核的結(jié)合,或者任何其它這樣的配置。替代地,某些步驟和方法可以由特定于給定功能的電路來執(zhí)行。
在一個或多個示例性方面中,描述的功能可以在硬件、軟件、固件或其任意組合中實現(xiàn)。如果在軟件中實現(xiàn),則所述功能可以作為一個或多個處理器可執(zhí)行指令或代碼存儲在非暫時性計算機可讀介質(zhì)上或非暫時性處理器可讀介質(zhì)上。本文公開的方法或算法的步驟可以體現(xiàn)在處理器可執(zhí)行軟件模塊中,其可以位于非暫時性計算機可讀或處理器可讀存儲介質(zhì)上。非暫時性計算機可讀或處理器可讀存儲介質(zhì)可以是可由計算機或處理器存取的任何存儲介質(zhì)。通過舉例而非限制性的方式,這樣的非暫時性計算機可讀或處理器可讀介質(zhì)可以包括RAM、ROM、EEPROM、閃速存儲器、CD-ROM或其它光盤存儲、磁盤存儲或其它磁存儲設(shè)備、或者可以用于以指令或數(shù)據(jù)結(jié)構(gòu)的形式存儲期望的程序代碼并且可以由計算機來存取的任何其它介質(zhì)。如本文所使用的,磁盤和光盤包括壓縮光盤(CD)、激光光盤、光盤、數(shù)字多功能光盤(DVD)、軟盤和藍(lán)光光盤,其中磁盤通常磁性地復(fù)制數(shù)據(jù),而光盤則利用激光來光學(xué)地復(fù)制數(shù)據(jù)。上述的組合也應(yīng)當(dāng)包括在非暫時性計算機可讀和處理器可讀介質(zhì)的范圍內(nèi)。另外,方法或算法的操作可以作為代碼和/或指令集合中的一個集合或任意組合而位于非暫時性處理器可讀介質(zhì)和/或計算機可讀介質(zhì)上,所述非暫時性處理器可讀介質(zhì)和/或計算機可讀介質(zhì)可以并入到計算機程序產(chǎn)品中。
提供對所公開的方面的前述描述,以使本領(lǐng)域的任何技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些方面的各種修改對于本領(lǐng)域的技術(shù)人員將是顯而易見的,并且本文所定義的通用原則可以應(yīng)用到其它方面,而不會脫離本發(fā)明的精神或范圍。因此,本發(fā)明不旨在限于本文示出的方面,而是要符合與下面的權(quán)利要求書和本文所公開的原則和新穎性特征相一致的最寬的范圍。