两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

軟件可操作性服務(wù)的制作方法

文檔序號(hào):6484649閱讀:272來(lái)源:國(guó)知局
軟件可操作性服務(wù)的制作方法
【專利摘要】在軟件可操作性服務(wù)的實(shí)施例中,可以監(jiān)視軟件的活動(dòng)以采集軟件活動(dòng)數(shù)據(jù)。然后可以從該軟件活動(dòng)數(shù)據(jù)生成供軟件用的軟件可操作性簽名,并且軟件可操作性簽名表示軟件的可操作性。然后可以將該軟件可操作性簽名和關(guān)聯(lián)的上下文數(shù)據(jù)傳送至對(duì)該軟件可操作性簽名進(jìn)行解析的網(wǎng)絡(luò)服務(wù)。在實(shí)施例中,網(wǎng)絡(luò)服務(wù)將軟件可操作性簽名與基線可操作性簽名作比較,以確定軟件是與基線可操作性簽名一致還是不一致地工作。
【專利說(shuō)明】軟件可操作性服務(wù)
【背景技術(shù)】
[0001]軟件應(yīng)用對(duì)于由操作系統(tǒng)更新和/或服務(wù)包更新所造成的操作失敗或操作退化很脆弱。例如,操作系統(tǒng)和/或服務(wù)包更新會(huì)引入對(duì)計(jì)算系統(tǒng)的改變,該改變打破了硬件設(shè)備和對(duì)應(yīng)的設(shè)備驅(qū)動(dòng)程序之間的兼容性,這會(huì)導(dǎo)致設(shè)備性能的下降。

【發(fā)明內(nèi)容】

[0002]提供本
【發(fā)明內(nèi)容】
以介紹軟件可操作性服務(wù)的簡(jiǎn)化構(gòu)思,并且下面將進(jìn)一步在詳細(xì)說(shuō)明中說(shuō)明和/或在附圖中示出該構(gòu)思。本
【發(fā)明內(nèi)容】
既不應(yīng)被認(rèn)為是說(shuō)明所要求保護(hù)的主題的必要特征,也不被用來(lái)確定或限制所要求保護(hù)的主題的范圍。
[0003]說(shuō)明了一種軟件可操作性服務(wù)。在實(shí)施例中,可以監(jiān)視軟件的活動(dòng)以采集軟件活動(dòng)數(shù)據(jù)。然后可以從該軟件活動(dòng)數(shù)據(jù)生成供軟件用的軟件可操作性簽名,并且軟件可操作性簽名表示軟件的可操作性。然后可以將該軟件可操作性簽名和關(guān)聯(lián)的上下文數(shù)據(jù)傳送至對(duì)該軟件可操作性簽名進(jìn)行解析的網(wǎng)絡(luò)服務(wù)。
[0004]在其它實(shí)施例中,網(wǎng)絡(luò)服務(wù)可以從計(jì)算設(shè)備接收軟件可操作性簽名和關(guān)聯(lián)的上下文數(shù)據(jù)。軟件可操作性簽名表示在計(jì)算設(shè)備上工作的軟件的可操作性??梢詫母郊拥挠?jì)算設(shè)備接收到的附加的軟件可操作性簽名聚合在一起。每一個(gè)附加的軟件可操作性簽名表示在附加的計(jì)算設(shè)備上工作的軟件的可操作性,并且與上下文數(shù)據(jù)關(guān)聯(lián),該上下文數(shù)據(jù)相同于或類似于與軟件關(guān)聯(lián)的上下文數(shù)據(jù)。然后可以從附加的軟件可操作性簽名生成基線可操作性簽名,并且該基線可操作性簽名表示正常軟件操作。然后可以將軟件可操作性簽名與軟件的基線可操作性簽名作比較,以確定軟件是與基線可操作性簽名一致地工作、還是與基線可操作性簽名不一致地工作。在實(shí)施例中,表示正常軟件操作的基線可操作性簽名可以是在其中生成軟件可操作性簽名的上下文的函數(shù)。
[0005]在其它實(shí)施例中,可以基于軟件可操作性簽名來(lái)確定該軟件與基線可操作性簽名不一致地工作。然后網(wǎng)絡(luò)服務(wù)可以確定與基線可操作性簽名不一致地工作對(duì)應(yīng)于正常軟件操作。因而,然后基于軟件可操作性簽名可以生成軟件的新的基線可操作性簽名。替代地,網(wǎng)絡(luò)服務(wù)可以對(duì)軟件可操作性簽名進(jìn)行解析,以便當(dāng)基于軟件簽名確定軟件與基線可操作性簽名不一致地工作時(shí),確定軟件的操作失敗或操作退化。網(wǎng)絡(luò)服務(wù)還可以確定操作失敗或退化的原因,并且啟動(dòng)緩解軟件的操作失敗或退化的解決方案。
【專利附圖】

【附圖說(shuō)明】
[0006]參照下列附圖來(lái)說(shuō)明軟件可操作性服務(wù)的實(shí)施例??梢栽谌氖褂孟嗤母綀D標(biāo)記來(lái)標(biāo)注附圖所示的相同特征和組件:
圖1示出了可以實(shí)施軟件可操作性服務(wù)的實(shí)施例的示例系統(tǒng)。
[0007]圖2示出了根據(jù)一個(gè)或更多實(shí)施例的實(shí)施軟件可操作性服務(wù)的網(wǎng)絡(luò)服務(wù)。
[0008]圖3示出了根據(jù)一個(gè)或更多實(shí)施例的軟件可操作性服務(wù)的示例方法。
[0009]圖4示出了根據(jù)一個(gè)或更多實(shí)施例的軟件可操作性服務(wù)的另外的示例方法。[0010]圖5示出了根據(jù)一個(gè)或更多實(shí)施例的軟件可操作性服務(wù)的另外的示例方法。
[0011]圖6示出了可以實(shí)施軟件可操作性服務(wù)的實(shí)施例的示例設(shè)備的各種組件。
【具體實(shí)施方式】
[0012]說(shuō)明了一種軟件可操作性服務(wù)。在實(shí)施例中,可以實(shí)施軟件可操作性模塊以監(jiān)視軟件的活動(dòng),從而例如從任何類型的軟件、應(yīng)用、設(shè)備驅(qū)動(dòng)程序、固件(例如設(shè)備固件或系統(tǒng)固件)、微代碼、硬件組件或其任何組合來(lái)采集軟件活動(dòng)數(shù)據(jù)。然后軟件可操作性模塊可以從所述軟件活動(dòng)數(shù)據(jù)生成供軟件用的軟件可操作性簽名。軟件可操作性簽名表示軟件的可操作性,或一般地,表示軟件、應(yīng)用、設(shè)備驅(qū)動(dòng)程序、固件、硬件等的“健康”。然后軟件可操作性模塊可以將軟件可操作性簽名以及表示操作上下文的關(guān)聯(lián)的上下文數(shù)據(jù)傳送至對(duì)軟件可操作性簽名進(jìn)行解析的網(wǎng)絡(luò)服務(wù)。
[0013]在其它實(shí)施例中,網(wǎng)絡(luò)服務(wù)可以從計(jì)算設(shè)備接收軟件可操作性簽名和關(guān)聯(lián)的上下文數(shù)據(jù)。軟件可操作性簽名表示在計(jì)算設(shè)備上工作的軟件的可操作性。在一種實(shí)施例中,網(wǎng)絡(luò)服務(wù)可以從附加的軟件可操作性簽名生成基線可操作性簽名。網(wǎng)絡(luò)服務(wù)可以將從附加的計(jì)算設(shè)備接收到的附加的軟件可操作性簽名聚合在一起。每一個(gè)附加的軟件可操作性簽名表示在附加的計(jì)算設(shè)備上工作的軟件的可操作性,并且與上下文數(shù)據(jù)關(guān)聯(lián),該上下文數(shù)據(jù)相同于或類似于與軟件關(guān)聯(lián)的上下文數(shù)據(jù)。然后,網(wǎng)絡(luò)服務(wù)可以從附加的軟件可操作性簽名生成基線可操作性簽名,并且該基線可操作性簽名表示正常軟件操作。然后網(wǎng)絡(luò)服務(wù)可以將軟件可操作性簽名與軟件的基線可操作性簽名作比較,以確定軟件是與基線可操作性簽名一致地工作、還是與基線可操作性簽名不一致地工作。
[0014]在實(shí)施例中,表示正常軟件操作的基線可操作性簽名可以是在其中生成軟件可操作性簽名的上下文的函數(shù)。例如,可以基于上下文生成基線可操作性簽名,該上下文可以包括計(jì)算設(shè)備的架構(gòu)(例如X64或ARM)、性能(例如高性能或低性能)、(例如基于0EM、PC型號(hào)、位置、CPU速度等的)分析下的市場(chǎng)分區(qū)等。僅基于設(shè)備驅(qū)動(dòng)程序和操作系統(tǒng)內(nèi)建版本的兩個(gè)變量生成的基線可操作性簽名可能會(huì)具有每驅(qū)動(dòng)程序和每操作系統(tǒng)的基線上下文。另外,可以將更多維度添加至基線上下文。例如,可以添加基線上下文的維度,以當(dāng)供電力管理功能用的驅(qū)動(dòng)程序運(yùn)行在帶有IGB以下的存儲(chǔ)器的平板計(jì)算機(jī)上的特定位置時(shí),標(biāo)識(shí)該驅(qū)動(dòng)程序的基線可操作性簽名。
[0015]在其它實(shí)施例中,可以基于軟件可操作性簽名來(lái)確定該軟件與基線可操作性簽名不一致地工作。然后網(wǎng)絡(luò)服務(wù)可以確定與基線可操作性簽名不一致地工作對(duì)應(yīng)于正常軟件操作。因而,然后基于軟件可操作性簽名可以生成軟件的新的基線可操作性簽名。替代地,網(wǎng)絡(luò)服務(wù)可以對(duì)軟件可操作性簽名進(jìn)行解析,以便當(dāng)基于軟件簽名確定軟件與基線可操作性簽名不一致地工作時(shí),確定軟件的操作失敗或操作退化。網(wǎng)絡(luò)服務(wù)還可以確定操作失敗或退化的原因,并且啟動(dòng)緩解軟件的操作失敗或退化的解決方案。
[0016]例如,考慮計(jì)算設(shè)備上的打印機(jī)和相應(yīng)的打印機(jī)驅(qū)動(dòng)程序。在對(duì)計(jì)算設(shè)備進(jìn)行應(yīng)用服務(wù)包更新后,打印機(jī)可能會(huì)不同地工作,例如花費(fèi)更長(zhǎng)時(shí)間來(lái)完成打印作業(yè)。通常,難以確定打印機(jī)驅(qū)動(dòng)程序不同地工作,并且同樣難以確定是服務(wù)包更新造成打印機(jī)的速度變慢。一段時(shí)間后打印機(jī)的使用者可能注意到打印機(jī)似乎花費(fèi)更長(zhǎng)時(shí)間來(lái)完成打印作業(yè),但是使用者可能難以精準(zhǔn)定位是什么造成了性能的降低。此外,如果打印機(jī)驅(qū)動(dòng)程序并未變得完全無(wú)法操作,則許多使用者甚至不會(huì)注意到打印機(jī)的性能的降低。
[0017]然而,根據(jù)各種實(shí)施例,可以實(shí)施軟件可操作性模塊以監(jiān)視打印機(jī)驅(qū)動(dòng)程序,從而采集打印機(jī)驅(qū)動(dòng)程序活動(dòng)數(shù)據(jù)。然后可以生成供打印機(jī)驅(qū)動(dòng)程序用的軟件可操作性簽名并將它傳送至網(wǎng)絡(luò)服務(wù)。然后網(wǎng)絡(luò)服務(wù)可以將供打印機(jī)驅(qū)動(dòng)程序用的軟件可操作性簽名與打印機(jī)驅(qū)動(dòng)程序的基線可操作性簽名作比較,以確定打印機(jī)驅(qū)動(dòng)程序是與基線可操作性簽名一致還是不一致地工作。在這種情況下,因?yàn)榇蛴C(jī)驅(qū)動(dòng)程序在服務(wù)包更新后不正確地工作,所以網(wǎng)絡(luò)服務(wù)可以確定打印機(jī)驅(qū)動(dòng)程序與基線可操作性簽名不一致地工作。響應(yīng)于打印機(jī)驅(qū)動(dòng)程序與基線可操作性簽名不一致工作的確定,網(wǎng)絡(luò)服務(wù)可以對(duì)供打印機(jī)驅(qū)動(dòng)程序用的軟件可操作性簽名進(jìn)行解析,以確定打印機(jī)驅(qū)動(dòng)程序的操作失敗或操作退化。然后可以啟動(dòng)緩解打印機(jī)驅(qū)動(dòng)程序的操作失敗或操作退化的解決方案。例如,網(wǎng)絡(luò)服務(wù)可以創(chuàng)建軟件更新和/或?qū)④浖掳l(fā)送至計(jì)算設(shè)備,該軟件更新使得打印機(jī)驅(qū)動(dòng)程序與服務(wù)包更新正確地工作。
[0018]盡管可以以任何數(shù)量的不同設(shè)備、系統(tǒng)、環(huán)境、網(wǎng)絡(luò)和/或配置來(lái)實(shí)施軟件可操作性服務(wù)的特征和構(gòu)思,但是將在下列示例設(shè)備、系統(tǒng)和方法的上下文中說(shuō)明軟件可操作性服務(wù)的實(shí)施例。
[0019]圖1示出了在其中可以實(shí)施軟件可操作性服務(wù)的各種實(shí)施例的示例系統(tǒng)100。示例系統(tǒng)100包括計(jì)算設(shè)備102,它可以被構(gòu)造成任何類型的計(jì)算設(shè)備104。各種計(jì)算設(shè)備104的任一種都可以被構(gòu)造成計(jì)算設(shè)備102,并且可以以任何數(shù)量的參照?qǐng)D6所示的示例設(shè)備進(jìn)一步說(shuō)明的不同組件和它們的組合來(lái)實(shí)施。
[0020]計(jì)算設(shè)備104可以被實(shí)施為電視設(shè)備106、計(jì)算機(jī)108、游戲系統(tǒng)110、電器設(shè)備、電子設(shè)備和/或任何其它類型設(shè)備的任何一個(gè)或組合。各種計(jì)算設(shè)備還可以包括被實(shí)施以接收無(wú)線數(shù)據(jù)和/或?qū)o(wú)線數(shù)據(jù)進(jìn)行通信的無(wú)線設(shè)備,諸如移動(dòng)電話112 (例如蜂窩電話、VoIP.ffiFi等)、便攜式計(jì)算機(jī)設(shè)備114、媒體播放機(jī)116和/或任何其它無(wú)線設(shè)備的任何一個(gè)或組合。客戶系統(tǒng)可以包括各自的計(jì)算設(shè)備和顯示設(shè)備118。
[0021]計(jì)算設(shè)備102可以包括處理各種計(jì)算機(jī)可執(zhí)行指令以控制計(jì)算設(shè)備的操作的一個(gè)或更多處理器120 (例如任何微處理器、控制器等)。計(jì)算設(shè)備102還包括啟用數(shù)據(jù)存儲(chǔ)的存儲(chǔ)器122 (例如一個(gè)或更多計(jì)算機(jī)可讀存儲(chǔ)媒介設(shè)備)。存儲(chǔ)器可被實(shí)施為任何類型的存儲(chǔ)器、存儲(chǔ)介質(zhì)和/或適宜的電子數(shù)據(jù)存儲(chǔ)。
[0022]存儲(chǔ)器122還包括可以利用存儲(chǔ)器保持為軟件應(yīng)用并被處理器120執(zhí)行的操作系統(tǒng)124。操作系統(tǒng)包括軟件可操作性模塊126和操作系統(tǒng)內(nèi)核128。軟件可操作性模塊126可以被實(shí)施為諸如軟件應(yīng)用等的計(jì)算機(jī)可執(zhí)行指令,并且可以被處理器在各種計(jì)算設(shè)備104的任一種上執(zhí)行,以實(shí)施本文說(shuō)明的實(shí)施例。
[0023]實(shí)施軟件可操作性模塊126以監(jiān)視軟件130的活動(dòng)從而采集軟件活動(dòng)數(shù)據(jù)132。如本文所說(shuō)明的,軟件可以包括如字處理應(yīng)用、網(wǎng)頁(yè)瀏覽器應(yīng)用或設(shè)備驅(qū)動(dòng)程序(僅舉幾例)等任何類型的軟件應(yīng)用。軟件還可以包括固件(例如設(shè)備固件或系統(tǒng)固件)、微代碼、硬件組件或其任何組合。軟件活動(dòng)數(shù)據(jù)可以包括與軟件的活動(dòng)和/或行為(包括正常軟件活動(dòng)、軟件行為改變和軟件失敗)相關(guān)的任何數(shù)據(jù)。
[0024]在一種實(shí)施例中,實(shí)施軟件可操作性模塊126以從網(wǎng)絡(luò)服務(wù)200(以下將更詳細(xì)地說(shuō)明)接收請(qǐng)求,從而監(jiān)視軟件的具體活動(dòng)。例如,可以接收請(qǐng)求以監(jiān)視與軟件的電力管理行為相關(guān)的具體活動(dòng),并且忽視所有其它活動(dòng)。替代地,可以實(shí)施軟件可操作性模塊以監(jiān)視軟件的所有活動(dòng)。
[0025]在一種實(shí)施例中,實(shí)施軟件可操作性模塊126以基于一個(gè)或更多準(zhǔn)則選擇用于監(jiān)視的軟件。可以由軟件可操作性模塊自身生成該一個(gè)或更多準(zhǔn)則,或者可以從網(wǎng)絡(luò)服務(wù)200接收該準(zhǔn)則。例如,可以實(shí)施軟件可操作性模塊以隨機(jī)地或通過(guò)發(fā)現(xiàn)例如錯(cuò)誤事件序列等一些顯著的行為來(lái)選擇用于監(jiān)視的軟件。作為另一例,網(wǎng)絡(luò)服務(wù)可以使用取樣邏輯來(lái)確保軟件的寬泛排序被監(jiān)視,以便編輯各種計(jì)算設(shè)備的操作性的寬泛的圖片。
[0026]然后實(shí)施軟件可操作性模塊126以從軟件活動(dòng)數(shù)據(jù)132生成供軟件用的軟件可操作性簽名134。軟件可操作性簽名表示軟件的可操作性并且可以包括軟件活動(dòng)數(shù)據(jù)的概要。例如,軟件可操作性簽名可以包括軟件崩潰、未完成應(yīng)用任務(wù)或執(zhí)行應(yīng)用操作失敗的指示符。因此應(yīng)理解,軟件可操作性簽名提供了在軟件被監(jiān)視期間軟件的可操作性的快照。
[0027]在一種實(shí)施例中,實(shí)施軟件可操作性模塊126以采集軟件活動(dòng)數(shù)據(jù)132并且響應(yīng)于觸發(fā)事件生成軟件可操作性簽名134。觸發(fā)事件確保用來(lái)生成軟件可操作性簽名的軟件活動(dòng)數(shù)據(jù)是一致的。觸發(fā)事件可以是例如計(jì)算設(shè)備重啟等具體的事件、或具體的時(shí)間或一段時(shí)間。例如,可以每當(dāng)計(jì)算設(shè)備重啟時(shí)、每天上午8:00或每隔12小時(shí)生成軟件可操作性簽名。觸發(fā)事件可以由軟件可操作性模塊確定,或者可以基于從網(wǎng)絡(luò)服務(wù)接收到的命令來(lái)選擇觸發(fā)事件。
[0028]然后實(shí)施軟件可操作性模塊126以將軟件可操作性簽名134和關(guān)聯(lián)的上下文數(shù)據(jù)136傳送至對(duì)軟件可操作性簽名進(jìn)行解析的網(wǎng)絡(luò)服務(wù)200。在一種實(shí)施例中,上下文數(shù)據(jù)可以由另一系統(tǒng)或?qū)嶓w搜集和/或傳送,在這種情況下,軟件可操作性簽名可以與對(duì)上下文數(shù)據(jù)的指針或指示一起被傳送。
[0029]上下文數(shù)據(jù)136對(duì)軟件活動(dòng)數(shù)據(jù)被采集并且軟件可操作性簽名被生成的操作環(huán)境進(jìn)行標(biāo)識(shí)。上下文數(shù)據(jù)可以包括與可能會(huì)對(duì)軟件的操作有影響的計(jì)算設(shè)備的配置或操作環(huán)境關(guān)聯(lián)的任何信息。例如,上下文數(shù)據(jù)可以包括硬件、固件或基本輸入輸出(BIOS)型號(hào)信息、與計(jì)算設(shè)備關(guān)聯(lián)的設(shè)備的類型(例如,嵌入式、內(nèi)置和外置設(shè)備)、計(jì)算設(shè)備的驅(qū)動(dòng)程序的類型和/或操作系統(tǒng)的類型。上下文數(shù)據(jù)還可以包括與軟件活動(dòng)數(shù)據(jù)被采集的時(shí)間對(duì)應(yīng)的時(shí)間數(shù)據(jù)或與軟件活動(dòng)數(shù)據(jù)被采集時(shí)計(jì)算設(shè)備的環(huán)境(例如操作系統(tǒng)的狀態(tài))對(duì)應(yīng)的環(huán)境數(shù)據(jù)。
[0030]應(yīng)注意,軟件的操作可以被軟件的操作環(huán)境或上下文極大地影響。因此,所采集的上下文數(shù)據(jù)的質(zhì)量和數(shù)量有可能影響到由網(wǎng)絡(luò)服務(wù)對(duì)軟件可操作性簽名的解析。例如,與在ARM系統(tǒng)上相對(duì),在32位系統(tǒng)上軟件或設(shè)備可能會(huì)不同地操作。類似地,當(dāng)有兩個(gè)或更多相同的設(shè)備工作在相同的計(jì)算設(shè)備上時(shí),設(shè)備可能會(huì)不同地操作。因而,上下文可能會(huì)影響軟件可操作性簽名。因此,可以與每個(gè)簽名關(guān)聯(lián)的上下文數(shù)據(jù)越多越好,這樣將幫助由網(wǎng)絡(luò)服務(wù)對(duì)簽名的后端解析。
[0031]軟件可操作性模塊126可以通過(guò)通信網(wǎng)絡(luò)318與網(wǎng)絡(luò)服務(wù)200通信,該通信網(wǎng)絡(luò)318可以被實(shí)施以包括便于軟件可操作性簽名134的通信和分發(fā)的有線和/或無(wú)線網(wǎng)絡(luò)。還可以使用任何類型的網(wǎng)絡(luò)拓?fù)浜?或通信協(xié)議來(lái)實(shí)施通信網(wǎng)絡(luò),并且通信網(wǎng)絡(luò)可以被表示或要么實(shí)施為兩個(gè)或更多網(wǎng)絡(luò)的組合。通信網(wǎng)絡(luò)還可以包括由例如通信服務(wù)提供者、蜂窩電話提供者和/或因特網(wǎng)服務(wù)提供者等移動(dòng)運(yùn)營(yíng)商管理的移動(dòng)運(yùn)營(yíng)商網(wǎng)絡(luò)。移動(dòng)運(yùn)營(yíng)商可以促進(jìn)針對(duì)任何類型的無(wú)線設(shè)備或移動(dòng)電話(例如,蜂窩、VoIP、WiFi等)的移動(dòng)數(shù)據(jù)和/或語(yǔ)音通信。
[0032]在各種實(shí)施例中,軟件130包括被實(shí)施以經(jīng)過(guò)與操作系統(tǒng)內(nèi)核128的通信來(lái)控制相應(yīng)設(shè)備142的設(shè)備驅(qū)動(dòng)程序140。設(shè)備142的實(shí)例包括鍵盤、揚(yáng)聲器、打印機(jī)、通用串行總線(USB)存儲(chǔ)設(shè)備、網(wǎng)絡(luò)攝像頭和可以與計(jì)算設(shè)備102接口的任何其它類型的硬件設(shè)備。在一種實(shí)施例中,實(shí)施軟件可操作性模塊126以使用被動(dòng)地監(jiān)視在設(shè)備驅(qū)動(dòng)程序和操作系統(tǒng)內(nèi)核之間的通信的監(jiān)視模塊144來(lái)監(jiān)視設(shè)備驅(qū)動(dòng)程序140,以采集軟件活動(dòng)數(shù)據(jù)。監(jiān)視模塊可以被配置為被動(dòng)地監(jiān)視在設(shè)備驅(qū)動(dòng)程序和操作系統(tǒng)內(nèi)核之間的通信的“中介”,以采集與設(shè)備驅(qū)動(dòng)程序?qū)?yīng)的軟件活動(dòng)數(shù)據(jù)。如本文所說(shuō)明的,“被動(dòng)地”監(jiān)視是指不干預(yù)在設(shè)備驅(qū)動(dòng)程序和操作系統(tǒng)內(nèi)核之間的通信而監(jiān)視。
[0033]然后實(shí)施軟件可操作性模塊126以從與設(shè)備驅(qū)動(dòng)程序?qū)?yīng)的軟件活動(dòng)數(shù)據(jù)生成軟件可操作性簽名134。例如,軟件可操作性簽名可以包括設(shè)備驅(qū)動(dòng)程序崩潰、未完成或失敗的指示符。例如,設(shè)備驅(qū)動(dòng)程序操作失敗可以包括這樣的事例:其中設(shè)備驅(qū)動(dòng)程序未能正確地響應(yīng)來(lái)自操作系統(tǒng)內(nèi)核的命令,如未能進(jìn)入所請(qǐng)求的電力狀態(tài),這導(dǎo)致低于供計(jì)算設(shè)備用的最佳電池壽命。軟件可操作性簽名提供了在設(shè)備驅(qū)動(dòng)程序被監(jiān)視期間設(shè)備驅(qū)動(dòng)程序的可操作性的快照。如上述,然后軟件可操作性模塊126將與設(shè)備驅(qū)動(dòng)程序?qū)?yīng)的軟件可操作性簽名傳送至對(duì)軟件可操作性簽名進(jìn)行解析的網(wǎng)絡(luò)服務(wù)200。
[0034]圖2示出了根據(jù)本文說(shuō)明的實(shí)施例的示例網(wǎng)絡(luò)服務(wù)200。網(wǎng)絡(luò)服務(wù)包括數(shù)據(jù)通信接口 202,如參照?qǐng)D1所說(shuō)明的,經(jīng)過(guò)該數(shù)據(jù)通信接口 202,從計(jì)算設(shè)備102接收軟件可操作性簽名204和關(guān)聯(lián)的上下文數(shù)據(jù)206。
[0035]網(wǎng)絡(luò)服務(wù)200還可以包括處理各種計(jì)算機(jī)可執(zhí)行指令以控制網(wǎng)絡(luò)服務(wù)的操作的一個(gè)或更多處理器208 (例如任何處理器、控制器等)。網(wǎng)絡(luò)服務(wù)還包括啟用數(shù)據(jù)存儲(chǔ)的存儲(chǔ)器210 (例如一個(gè)或更多計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)設(shè)備)。存儲(chǔ)器可被實(shí)施為任何類型的存儲(chǔ)器、存儲(chǔ)介質(zhì)和/或適宜的電子數(shù)據(jù)存儲(chǔ)裝置。如參照?qǐng)D6所示的示例設(shè)備所進(jìn)一步說(shuō)明的,還可以以任何數(shù)量的不同組件和它們的組合來(lái)實(shí)施網(wǎng)絡(luò)服務(wù)。網(wǎng)絡(luò)服務(wù)200還包括可以被實(shí)施為如軟件應(yīng)用等的計(jì)算機(jī)可執(zhí)行指令、并且可以被一個(gè)或更多處理器208執(zhí)行以實(shí)施本文說(shuō)明的各種實(shí)施例的軟件可操作性服務(wù)212。
[0036]實(shí)施軟件可操作性服務(wù)212以從計(jì)算設(shè)備102接收軟件可操作性簽名204和關(guān)聯(lián)的上下文數(shù)據(jù)206。如參照?qǐng)D1所說(shuō)明的,軟件可操作性簽名表示在計(jì)算設(shè)備上工作的軟件130的可操作性。
[0037]在一種實(shí)施例中,實(shí)施軟件可操作性服務(wù)212以確定表示正常軟件操作的基線可操作性簽名214。為了生成基線可操作性簽名,軟件可操作性服務(wù)可以將從附加的計(jì)算設(shè)備102接收到的附加的軟件可操作性簽名204聚合在一起。每一個(gè)附加的軟件可操作性簽名表示在附加的計(jì)算設(shè)備上工作的軟件130的可操作性。然后,軟件可操作性服務(wù)212可以從附加的軟件可操作性簽名生成基線可操作性簽名,并且該基線可操作性簽名表示正常軟件操作?;€可操作性簽名可以是在其中生成附加的軟件可操作性簽名的上下文的函數(shù)。例如,可以基于可包括計(jì)算設(shè)備的架構(gòu)、設(shè)備的性能和/或被選擇用于解析的設(shè)備的特征的上下文來(lái)生成基線可操作性簽名。
[0038]在實(shí)施例中,當(dāng)軟件工作在相同或相似的操作環(huán)境和/或當(dāng)監(jiān)視相同或相似的軟件活動(dòng)時(shí),基線可操作性簽名214表示正常軟件操作。例如,可以通過(guò)將與上下文數(shù)據(jù)(該上下文數(shù)據(jù)相同或相似于與軟件可操作性簽名關(guān)聯(lián)的上下文數(shù)據(jù))關(guān)聯(lián)的附加的軟件可操作性簽名聚合在一起,來(lái)動(dòng)態(tài)地生成基線可操作性簽名214。這使得計(jì)算設(shè)備的上下文或操作環(huán)境不影響軟件可操作性簽名與基線簽名的比較。
[0039]例如,請(qǐng)求最小BIOS版本的顯示器驅(qū)動(dòng)程序可能會(huì)在帶有更舊BIOS版本的計(jì)算設(shè)備上工作得很差,但在帶有新的BIOS版本的系統(tǒng)上卻正確地工作。因此,如果從帶有新的BIOS的計(jì)算設(shè)備生成軟件可操作性簽名、并且在帶有更舊BIOS版本的計(jì)算設(shè)備上從附加的軟件可操作性簽名生成基線可操作性簽名,則比較將不精確。因而,當(dāng)將軟件可操作性簽名與供顯示器驅(qū)動(dòng)程序用的基線可操作性簽名做比較時(shí),軟件可操作性簽名和基線可操作性簽名兩者都從帶有新的BIOS版本的計(jì)算設(shè)備生成。
[0040]替代與相同或相似的上下文數(shù)據(jù)關(guān)聯(lián)或在其以外附加地,還可以從監(jiān)視軟件的相同或相似活動(dòng)來(lái)生成軟件可操作性簽名和附加的軟件可操作性簽名。例如,如果通過(guò)監(jiān)視與電力管理行為相關(guān)的活動(dòng)來(lái)生成軟件可操作性簽名,則可以基于同樣是通過(guò)監(jiān)視與電力管理行為相關(guān)的活動(dòng)來(lái)生成而將用來(lái)生成基線可操作性簽名的附加的軟件可操作性簽名聚合在一起。因而,可以基于具有相同或相似的上下文數(shù)據(jù)、或從監(jiān)視相同或相似的軟件活動(dòng)來(lái)生成的一個(gè)或更多來(lái)將用來(lái)生成基線可操作性簽名的附加的軟件可操作性簽名聚合在一起,以便生成精確的基線可操作性簽名。
[0041]實(shí)施軟件可操作性服務(wù)212以將軟件可操作性簽名204與軟件的基線可操作性簽名214做比較,從而確定軟件是與基線可操作性簽名一致地工作、還是與基線可操作性簽名不一致地工作。基線可操作性簽名表示正常軟件操作。因而,通過(guò)將軟件可操作性簽名與基線可操作性簽名做比較,網(wǎng)絡(luò)服務(wù)可以確定軟件是與正常軟件操作或行為一致還是不一致地工作。
[0042]例如,軟件可操作性服務(wù)可以在數(shù)據(jù)圖表中將軟件可操作性簽名與基線可操作性簽名一起圖示,并且統(tǒng)計(jì)地解析簽名以確定軟件是與基線可操作性簽名一致還是不一致地工作。例如,如果軟件可操作性簽名與基線可操作性簽名相符合,則軟件可操作性服務(wù)確定軟件是與基線可操作性簽名一致地工作。替代地,如果軟件可操作性簽名與基線可操作性簽名不相符合,則軟件可操作性服務(wù)可以確定軟件與基線可操作性簽名不一致地工作。
[0043]在一種實(shí)施例中,軟件可操作性服務(wù)212可以基于軟件可操作性簽名204確定軟件130與基線可操作性簽名214不一致地工作,并且隨后確定軟件與基線可操作性簽名不一致地工作對(duì)應(yīng)于正常軟件操作。例如,計(jì)算設(shè)備更新可能導(dǎo)致軟件不同地工作,這可能造成軟件可操作性簽名改變。然而,在某些情況下,軟件的不同工作可能對(duì)應(yīng)于軟件的可接受的或更好的工作。因此在這些事例中,不同的軟件可操作性簽名此時(shí)可對(duì)應(yīng)于正常軟件操作。因而,實(shí)施軟件可操作性服務(wù)212以然后基于對(duì)于軟件接收到的軟件可操作性簽名生成軟件的新的基線可操作性簽名。
[0044]在另一實(shí)施例中,軟件可操作性服務(wù)212可以基于軟件可操作性簽名204確定軟件130與基線可操作性簽名214不一致地工作,然后對(duì)軟件可操作性簽名進(jìn)行解析以確定軟件的操作失敗。軟件的操作失敗可以對(duì)應(yīng)于軟件未能正確地操作。為了確定軟件的操作失敗,軟件可操作性服務(wù)對(duì)對(duì)應(yīng)于不一致操作的軟件可操作性簽名204進(jìn)行解析,以確定軟件可操作性簽名是否表示軟件的失敗。例如,軟件可操作性簽名可以表示軟件崩潰或未完成特定命令的執(zhí)行。作為另一例,軟件可操作性簽名可以表示當(dāng)由操作系統(tǒng)內(nèi)核請(qǐng)求改變電力狀態(tài)時(shí)設(shè)備驅(qū)動(dòng)程序未能改變電力狀態(tài)。
[0045]在另一實(shí)施例中,軟件可操作性服務(wù)212可以基于軟件可操作性簽名204確定軟件130與基線可操作性簽名214不一致地工作,然后對(duì)軟件可操作性簽名進(jìn)行解析以確定軟件的操作退化。軟件的操作退化是指這樣的事例:其中響應(yīng)于諸如操作系統(tǒng)更新或服務(wù)包更新等計(jì)算設(shè)備更新,軟件的可操作性退化(例如,軟件的性能降低)。
[0046]可以通過(guò)將在計(jì)算設(shè)備更新后接收到的軟件130的軟件可操作性簽名204與在計(jì)算設(shè)備更新前生成的基線可操作性簽名214做比較,來(lái)標(biāo)識(shí)操作退化。例如,在服務(wù)包更新后接收到的軟件可操作性簽名應(yīng)當(dāng)與在服務(wù)包更新前生成的基線可操作性簽名相同或大致相同。然而,如果在服務(wù)包更新后軟件可操作性簽名與基線可操作性簽名不同,則可以檢查軟件可操作性簽名以查看軟件可操作性簽名是否對(duì)應(yīng)于表示操作退化的軟件的性能的降低。
[0047]例如,通過(guò)對(duì)供打印機(jī)驅(qū)動(dòng)程序用的軟件可操作性簽名進(jìn)行解析,軟件可操作性服務(wù)212可以確定當(dāng)運(yùn)行更舊版本的操作系統(tǒng)時(shí)打印機(jī)驅(qū)動(dòng)程序在打印處理的特定步驟期間在5%的時(shí)間失敗。然而,軟件可操作性簽名可以表示當(dāng)安裝更新版本的操作系統(tǒng)時(shí)、打印機(jī)設(shè)備驅(qū)動(dòng)程序當(dāng)執(zhí)行打印處理的特定步驟時(shí)在20%的時(shí)間失敗。打印機(jī)驅(qū)動(dòng)程序在更新版本的操作系統(tǒng)下更經(jīng)常地失敗這一事實(shí)表明:響應(yīng)于操作系統(tǒng)更新,打印機(jī)驅(qū)動(dòng)程序的性能已降低或退化。
[0048]實(shí)施軟件可操作性服務(wù)212以然后從軟件可操作性簽名204與基線可操作性簽名214的比較來(lái)確定軟件130的操作失敗或操作退化的原因。例如,軟件可操作性服務(wù)可以檢查與軟件關(guān)聯(lián)的上下文數(shù)據(jù)206來(lái)確定軟件的操作失敗或操作退化的原因。
[0049]實(shí)施軟件可操作性服務(wù)212以然后啟動(dòng)緩解軟件130的操作失敗或操作退化的解決方案。例如,軟件可操作性服務(wù)和/或另一服務(wù)或處理可以啟動(dòng)緩解操作失敗或操作退化的軟件解決方案。例如,可以啟動(dòng)更新打印機(jī)驅(qū)動(dòng)程序以便與更新版本的操作系統(tǒng)兼容的軟件解決方案。
[0050]然后該解決方案可以在通信網(wǎng)絡(luò)138上傳送至計(jì)算設(shè)備102以緩解計(jì)算設(shè)備處的軟件的操作失敗或操作退化。替代地或附加地,關(guān)于操作失敗或操作退化的信息可以被傳送至軟件的制造者或研發(fā)者(或另一第三方)以使第三方能夠開發(fā)緩解軟件的操作失敗或操作退化的解決方案。軟件可操作性服務(wù)還可以標(biāo)記與操作失敗或操作退化對(duì)應(yīng)的軟件可操作性簽名,以便當(dāng)后續(xù)檢測(cè)到操作失敗或操作退化時(shí)啟動(dòng)帶有該解決方案的計(jì)算設(shè)備的自動(dòng)更新。
[0051]參照根據(jù)軟件可操作性服務(wù)的一個(gè)或更多實(shí)施例的各附圖3、4和5來(lái)說(shuō)明示例方法300、400和500。一般地,本文說(shuō)明的任何服務(wù)、功能、方法、程序、組件和模塊都可以使用軟件、固件、硬件(例如固定邏輯電路)、手動(dòng)處理或其任何組合來(lái)實(shí)施。軟件實(shí)施代表當(dāng)被計(jì)算機(jī)處理器執(zhí)行時(shí)執(zhí)行具體任務(wù)的程序代碼。可以在計(jì)算機(jī)可執(zhí)行指令的一般環(huán)境(這可以包括軟件、應(yīng)用、例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)、過(guò)程、模塊、功能等)中說(shuō)明示例方法。程序代碼可以存儲(chǔ)在(計(jì)算機(jī)處理器本地和/或異地的)一個(gè)或更多計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)設(shè)備中。還可以在分布式計(jì)算環(huán)境中由多個(gè)計(jì)算機(jī)設(shè)備來(lái)實(shí)踐該方法。另外,本文說(shuō)明的特征是平臺(tái)獨(dú)立的,并且可以在具有各種處理器的各種計(jì)算平臺(tái)上實(shí)施。[0052]圖3示出了軟件可操作性服務(wù)的示例方法300,并且是參照在計(jì)算設(shè)備中實(shí)施的軟件可操作性模塊來(lái)說(shuō)明的。方法框被說(shuō)明的次序并非意在被解釋成限制,可以以任何次序來(lái)組合任何數(shù)量的所說(shuō)明的方法框以實(shí)施方法或替代方法。
[0053]在框302處,監(jiān)視軟件以采集軟件活動(dòng)數(shù)據(jù)。例如,計(jì)算設(shè)備102 (圖1)處的軟件可操作性模塊126監(jiān)視軟件130以采集軟件活動(dòng)數(shù)據(jù)132。在框304處,從軟件活動(dòng)數(shù)據(jù)生成供軟件用的軟件可操作性簽名。例如,軟件可操作性模塊126從軟件活動(dòng)數(shù)據(jù)132生成供軟件130用的軟件可操作性簽名134。
[0054]在框306處,將軟件可操作性簽名和關(guān)聯(lián)的上下文數(shù)據(jù)傳送至對(duì)該軟件可操作性簽名進(jìn)行解析的網(wǎng)絡(luò)服務(wù)。例如,軟件可操作性模塊126將軟件可操作性簽名134和關(guān)聯(lián)的上下文數(shù)據(jù)136傳送至對(duì)該軟件可操作性簽名進(jìn)行解析的網(wǎng)絡(luò)服務(wù)200 (圖2)。
[0055]圖4示出了軟件可操作性服務(wù)的示例方法400,并且是參照?qǐng)D2所示的網(wǎng)絡(luò)服務(wù)來(lái)說(shuō)明的。方法框被說(shuō)明的次序并非意在被解釋成限制,可以以任何次序來(lái)組合任何數(shù)量的所說(shuō)明的方法框以實(shí)施方法或替代方法。
[0056]在框402處,從計(jì)算設(shè)備接收軟件可操作性簽名和關(guān)聯(lián)的上下文數(shù)據(jù)。例如,網(wǎng)絡(luò)服務(wù)200 (圖2)從計(jì)算設(shè)備102 (圖1)接收軟件可操作性簽名204和關(guān)聯(lián)的上下文數(shù)據(jù)206。軟件可操作性簽名表示在計(jì)算設(shè)備上工作的軟件130的可操作性。
[0057]在框404處,將從附加的計(jì)算設(shè)備接收到的附加的軟件可操作性簽名聚合在一起。例如,軟件可操作性服務(wù)212將從附加的計(jì)算設(shè)備104接收到的附加的軟件可操作性簽名204聚合在一起。每一個(gè)附加的軟件可操作性簽名表示在附加的計(jì)算設(shè)備上工作的軟件的可操作性。此外,每一個(gè)附加的軟件可操作性簽名可以與上下文數(shù)據(jù)關(guān)聯(lián),該上下文數(shù)據(jù)相同于或類似于與軟件可操作性簽名關(guān)聯(lián)的上下文數(shù)據(jù)。
[0058]在框406處,從附加的軟件可操作性簽名生成基線可操作性簽名。例如,軟件可操作性服務(wù)212從附加的軟件可操作性簽名生成基線可操作性簽名214。在實(shí)施例中,基線可操作性簽名可以是在其中生成附加的軟件可操作性簽名的上下文的函數(shù)。例如,可以基于可包括計(jì)算設(shè)備的架構(gòu)、設(shè)備的性能和/或被選擇用于解析的設(shè)備的特征的上下文來(lái)生成基線可操作性簽名。
[0059]在框408處,將軟件可操作性簽名與軟件的基線可操作性簽名作比較,以確定軟件是與基線可操作性簽名一致還是不一致地工作。例如,軟件可操作性服務(wù)212將軟件可操作性簽名204與軟件的基線可操作性簽名214做比較,以確定軟件是與基線可操作性簽名一致地工作、還是與基線可操作性簽名不一致地工作。
[0060]圖5示出了網(wǎng)絡(luò)服務(wù)的示例方法500,并且是參照?qǐng)D2所示的軟件可操作性服務(wù)來(lái)說(shuō)明的。方法框被說(shuō)明的次序并非意在被解釋成限制,可以以任何次序來(lái)組合任何數(shù)量的所說(shuō)明的方法框以實(shí)施方法或替代方法。
[0061]在框502處,基于軟件可操作性簽名來(lái)確定軟件與基線可操作性簽名不一致地工作。例如,軟件可操作性服務(wù)212 (圖2)基于軟件可操作性簽名204確定軟件130與基線可操作性簽名214不一致地工作(例如,可以像基于參照框408 (圖4)所說(shuō)明的比較來(lái)確定那樣)。響應(yīng)于軟件與基線可操作性簽名不一致地工作的確定,方法可以可選地在框504或框508處繼續(xù)。
[0062]在一種實(shí)施例中,在框504處,確定與基線可操作性簽名不一致地工作的軟件對(duì)應(yīng)于正常軟件操作。例如,即使軟件可操作性與基線可操作性簽名不一致,軟件可操作性服務(wù)212也確定軟件130可操作性對(duì)應(yīng)于正常軟件操作。
[0063]在框506處,基于對(duì)于軟件接收到的軟件可操作性簽名生成新的基線可操作性簽名。例如,軟件可操作性服務(wù)212基于對(duì)于軟件130接收到的軟件可操作性簽名204生成新的基線可操作性簽名214。在另一實(shí)施例中,在框508處,對(duì)軟件可操作性簽名進(jìn)行解析,以確定軟件的操作失敗或操作退化。例如,軟件可操作性服務(wù)212對(duì)軟件可操作性簽名204進(jìn)行解析,以確定軟件130的操作失敗或操作退化。
[0064]在框510處,從軟件可操作性簽名與基線可操作性簽名的比較來(lái)確定軟件的操作失敗或操作退化的原因。例如,軟件可操作性服務(wù)212從軟件可操作性簽名204與基線可操作性簽名214的比較來(lái)確定軟件130的操作失敗或操作退化的原因。此外,基線可操作性簽名的上下文可以是當(dāng)確定軟件的操作失敗或操作退化時(shí)考慮的因素。在框512處,啟動(dòng)緩解軟件的操作失敗或操作退化的解決方案。例如,軟件可操作性服務(wù)212啟動(dòng)緩解軟件130的操作失敗或操作退化的解決方案。
[0065]圖6示出了可以被實(shí)施為參照前圖1?5說(shuō)明的任何設(shè)備或由設(shè)備所實(shí)施的服務(wù)的示例設(shè)備600的各種組件。在實(shí)施例中,設(shè)備可以被實(shí)施為固定或移動(dòng)設(shè)備的任何一個(gè)或組合,這些固定或移動(dòng)設(shè)備采取消費(fèi)類、計(jì)算機(jī)、服務(wù)器、便攜、使用者、通信、電話、導(dǎo)航、電視、電器、游戲、媒體播放和/或電子設(shè)備的任何形式。設(shè)備還可以與操作設(shè)備的使用者(也就是人)和/或?qū)嶓w關(guān)聯(lián),從而設(shè)備描述包括使用者、軟件、固件、硬件和/或設(shè)備的組合的邏輯設(shè)備。
[0066]設(shè)備600包括通信設(shè)備602,該通信設(shè)備602能夠?qū)崿F(xiàn)如接收到的數(shù)據(jù)、正在接收的數(shù)據(jù)、計(jì)劃用于廣播的數(shù)據(jù)、數(shù)據(jù)的數(shù)據(jù)包等設(shè)備數(shù)據(jù)604的有線和/或無(wú)線通信。設(shè)備數(shù)據(jù)或其它設(shè)備內(nèi)容可以包括設(shè)備的配置設(shè)定、存儲(chǔ)在設(shè)備上的媒體內(nèi)容和/或與設(shè)備的使用者關(guān)聯(lián)的信息。存儲(chǔ)在設(shè)備上的媒體內(nèi)容可以包括任何類型的音頻、視頻和/或圖像數(shù)據(jù)。設(shè)備包括一個(gè)或更多數(shù)據(jù)輸入606,經(jīng)過(guò)該數(shù)據(jù)輸入606可以接收任何類型的數(shù)據(jù)、媒體內(nèi)容和/或輸入,如使用者可選擇的輸入、消息、通信、音樂(lè)、電視內(nèi)容、錄像內(nèi)容和從任何內(nèi)容和/或數(shù)據(jù)源接收到的任何其它類型的音頻、視頻和/或圖像數(shù)據(jù)。
[0067]設(shè)備600還包括諸如串行、并行、網(wǎng)絡(luò)或無(wú)線接口的任何一個(gè)或更多等的通信接口 608。通信接口提供設(shè)備和通信網(wǎng)絡(luò)之間的連接和/或通信鏈路,利用該連接和/或通信鏈路,其它電子、計(jì)算和通信設(shè)備與設(shè)備對(duì)數(shù)據(jù)進(jìn)行通信。
[0068]設(shè)備600包括處理各種計(jì)算機(jī)可執(zhí)行指令以控制設(shè)備的操作的一個(gè)或更多處理器610 (例如任何微處理器、控制器等)。替代地或附加地,設(shè)備可以由軟件、固件、硬件或與一般地以612標(biāo)出的處理和控制電路相結(jié)合地實(shí)施的固定邏輯電路來(lái)實(shí)施。盡管未圖示,但是設(shè)備卻可以包括將設(shè)備內(nèi)的各種組件耦合的系統(tǒng)總線或數(shù)據(jù)傳送系統(tǒng)。系統(tǒng)總線可以包括以下不同總線結(jié)構(gòu)的任何一個(gè)或組合,諸如存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、通用串行總線和/或利用各種總線結(jié)構(gòu)的任一種的處理器或局部總線等。
[0069]設(shè)備600還包括諸如隨機(jī)存取存儲(chǔ)器(RAM)、非易失性存儲(chǔ)器(例如只讀存儲(chǔ)器(ROM)、快閃存儲(chǔ)器等)和盤存儲(chǔ)設(shè)備等實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的一個(gè)或更多存儲(chǔ)器設(shè)備(例如計(jì)算機(jī)可讀存儲(chǔ)媒介)614。盤存儲(chǔ)設(shè)備可以被實(shí)施為諸如硬盤驅(qū)動(dòng)器、可記錄和/或可改寫盤等的任何類型的磁或光存儲(chǔ)設(shè)備。設(shè)備還可以包括大容量存儲(chǔ)介質(zhì)設(shè)備。[0070]計(jì)算機(jī)可讀媒介可以是被計(jì)算設(shè)備存取的任何可用的媒介或媒介。通過(guò)示例而不是限制,計(jì)算機(jī)可讀媒介可以包括存儲(chǔ)媒介和通信媒介。存儲(chǔ)媒介包括以供諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的存儲(chǔ)用的任何方法或技術(shù)實(shí)施的易失和非易失、可移動(dòng)和不可移動(dòng)媒介。存儲(chǔ)媒介包括但不限于RAM、ROM、EEPR0M、快閃存儲(chǔ)器或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能光盤(DVD)或其它光學(xué)存儲(chǔ)裝置、磁盒、磁帶、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或可以被用來(lái)存儲(chǔ)信息并且可以被計(jì)算機(jī)存取的任何其它媒介。
[0071]通信媒介一般包含計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或諸如載波或其它傳輸機(jī)制等的調(diào)制數(shù)據(jù)信號(hào)中的其他數(shù)據(jù)。通信媒介還包括任何信息分送媒介。術(shù)語(yǔ)“調(diào)制數(shù)據(jù)信號(hào)”是指這樣的信號(hào):它的一個(gè)或更多特征是以將信息編碼在信號(hào)中這樣的方式來(lái)設(shè)定或改變的。通過(guò)示例而不是限制,通信媒介包括諸如有線網(wǎng)絡(luò)或直接有線連接等有線媒介、以及諸如聲學(xué)、RF、紅外和其它無(wú)線媒介等無(wú)線媒介。
[0072]存儲(chǔ)器設(shè)備614提供存儲(chǔ)設(shè)備數(shù)據(jù)604、其它類型的信息和/或數(shù)據(jù)和各種設(shè)備應(yīng)用616的數(shù)據(jù)存儲(chǔ)機(jī)制。例如,操作系統(tǒng)618可以利用存儲(chǔ)器設(shè)備保持為軟件應(yīng)用并且在處理器上執(zhí)行。設(shè)備應(yīng)用還可以包括諸如任何形式的控制應(yīng)用、軟件應(yīng)用、信號(hào)處理和控制模塊、特定設(shè)備固有的代碼、用于特定設(shè)備的硬件抽象層等設(shè)備管理器。
[0073]在本例中,設(shè)備應(yīng)用616包括例如當(dāng)設(shè)備600被實(shí)施為計(jì)算設(shè)備時(shí)等的軟件可操作性模塊620。替代地或附加地,設(shè)備應(yīng)用包括例如當(dāng)設(shè)備被實(shí)施為參照?qǐng)D2說(shuō)明的網(wǎng)絡(luò)服務(wù)時(shí)等的軟件可操作性服務(wù)622。軟件可操作性模塊和軟件可操作性服務(wù)被圖示為軟件和/或計(jì)算機(jī)應(yīng)用。替代地或附加地,軟件可操作性模塊和/或軟件可操作性服務(wù)可以被實(shí)施為硬件、軟件、固件、固定邏輯或其任何組合。
[0074]設(shè)備600還包括生成供音頻系統(tǒng)626用的音頻數(shù)據(jù)和/或生成供顯示系統(tǒng)628用的顯示數(shù)據(jù)的音頻和/或視頻處理系統(tǒng)624。音頻系統(tǒng)和/或顯示系統(tǒng)可以包括對(duì)音頻、視頻、顯示和/或圖像數(shù)據(jù)進(jìn)行處理、顯示和/或要么渲染的任何設(shè)備??梢詫@示數(shù)據(jù)和音頻數(shù)據(jù)通過(guò)RF (射頻)鏈路、S-video鏈路、復(fù)合視頻鏈路、分量視頻鏈路、DVI (數(shù)字視頻接口)、模擬音頻連接或其它類似的通信鏈路傳送至音頻設(shè)備和/或顯示設(shè)備。在實(shí)施中,音頻系統(tǒng)和/或顯示系統(tǒng)是設(shè)備的外部組件。替代地,音頻系統(tǒng)和/或顯示系統(tǒng)是示例設(shè)備的集成組件。
[0075]盡管已經(jīng)以特定于特征和/或方法的語(yǔ)言來(lái)說(shuō)明了軟件可操作性服務(wù)的實(shí)施例,但所附權(quán)利要求書的主題不一定限定于所說(shuō)明的具體特征或方法。相反,具體的特征或方法是作為軟件可操作性服務(wù)的示例實(shí)施來(lái)公開的。
【權(quán)利要求】
1.一種計(jì)算機(jī)實(shí)施的方法,包括: 從計(jì)算設(shè)備接收軟件可操作性簽名和關(guān)聯(lián)的上下文數(shù)據(jù),所述軟件可操作性簽名表示在所述計(jì)算設(shè)備上工作的軟件的可操作性;并且 將所述軟件可操作性簽名與所述軟件的基線可操作性簽名作比較,以確定所述軟件是與所述基線可操作性簽名一致地工作、還是與所述基線可操作性簽名不一致地工作。
2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)施的方法,進(jìn)一步包括: 將從附加的計(jì)算設(shè)備接收到的附加的軟件可操作性簽名聚合在一起,每一個(gè)所述附加的軟件可操作性簽名表示在所述附加的計(jì)算設(shè)備上工作的軟件的可操作性,并且與上下文數(shù)據(jù)關(guān)聯(lián),該上下文數(shù)據(jù)相同于或類似于與所述軟件可操作性簽名關(guān)聯(lián)的所述上下文數(shù)據(jù);并且 從所述附加的軟件可操作性簽名生成所述基線可操作性簽名,所述基線可操作性簽名表示正常軟件操作。
3.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)實(shí)施的方法,其中,從監(jiān)視所述軟件的相同或相似的活動(dòng)來(lái)生成所述軟件可操作性簽名和所述附加的軟件可操作性簽名。
4.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)施的方法,進(jìn)一步包括: 基于所述軟件可操作性簽名確定所述軟件與所述基線可操作性簽名不一致地工作; 確定所述軟件與所述基線可操作性簽名不一致地工作對(duì)應(yīng)于正常軟件操作;并且 基于針對(duì)軟件接收的所述軟件可操作性簽名生成所述軟件的新的基線可操作性簽名。
5.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)施的方法,進(jìn)一步包括: 基于所述軟件可操作性簽名確定所述軟件與所述基線可操作性簽名的上下文不一致地工作;并且 對(duì)所述軟件可操作性簽名進(jìn)行解析,以確定所述軟件的操作失敗。
6.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)施的方法,進(jìn)一步包括: 從所述軟件可操作性簽名與所述基線可操作性簽名的上下文的比較來(lái)確定所述軟件的操作失敗的原因;并且 啟動(dòng)緩解所述軟件的操作失敗的解決方案。
7.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)施的方法,進(jìn)一步包括: 基于所述軟件可操作性簽名確定所述軟件與所述基線可操作性簽名的上下文不一致地工作;并且 對(duì)所述軟件可操作性簽名進(jìn)行解析,以確定所述軟件的操作退化。
8.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)實(shí)施的方法,進(jìn)一步包括: 從所述軟件可操作性簽名與所述基線可操作性簽名的上下文的比較來(lái)確定所述軟件的所述操作退化的原因;并且 啟動(dòng)緩解所述軟件的操作退化的解決方案。
9.一種網(wǎng)絡(luò)服務(wù),包括: 數(shù)據(jù)通信接口,其被配置為從計(jì)算設(shè)備接收軟件可操作性簽名和關(guān)聯(lián)的上下文數(shù)據(jù),所述軟件可操作性簽名表示在所述計(jì)算設(shè)備上工作的軟件的可操作性;以及 實(shí)施軟件可操作性服務(wù)的至少存儲(chǔ)器和處理器,其被配置為將所述軟件可操作性簽名與所述軟件的基線可操作性簽名作比較,以確定所述軟件是與所述基線可操作性簽名一致地工作、還是與所述基線可操作性簽名不一致地工作。
10.根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)服務(wù),其中所述軟件可操作性服務(wù)進(jìn)一步被配置為:將從附加的計(jì)算設(shè)備接收到的附加的軟件可操作性簽名聚合在一起,每一個(gè)所述附加的軟件可操作性簽名表示在所述附加的計(jì)算設(shè)備上工作的軟件的可操作性,并且與上下文數(shù)據(jù)關(guān)聯(lián),該上下文數(shù)據(jù)相同于或類似于與所述軟件可操作性簽名關(guān)聯(lián)的所述上下文數(shù)據(jù);并且從所述附加的軟件可操作性簽名生成所述基線可操作性簽名,所述基線可操作性簽名表示正常軟件 操作。
【文檔編號(hào)】G06F9/44GK103477327SQ201180070301
【公開日】2013年12月25日 申請(qǐng)日期:2011年10月10日 優(yōu)先權(quán)日:2011年4月21日
【發(fā)明者】S.C.卡利諾瓦烏, C.E.馬蒂楚克, C.G.佩特魯塔 申請(qǐng)人:微軟公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
大竹县| 蓬莱市| 南充市| 永嘉县| 福州市| 武定县| 华安县| 清新县| 武安市| 军事| 宜宾县| 左权县| 都安| 新宾| 孙吴县| 汉川市| 金山区| 云阳县| 巢湖市| 社旗县| 聂荣县| 广丰县| 合川市| 丰镇市| 义马市| 新津县| 陇川县| 宁晋县| 武夷山市| 界首市| 昌江| 特克斯县| 平凉市| 康定县| 图木舒克市| 宁津县| 宿州市| 阿拉善左旗| 舟山市| 青海省| 樟树市|