專利名稱:利用成功的問題解決的應(yīng)用兼容性的制作方法
利用成功的問題解決的應(yīng)用兼容性
背景技術(shù):
用戶可用的應(yīng)用數(shù)目日益增長。例如,應(yīng)用傳統(tǒng)地在可由用戶在實體店購買的計算機(jī)可讀存儲介質(zhì)上提供。因此,用戶通常去該店,以從可以安裝在該用戶計算設(shè)備上的數(shù)百個應(yīng)用中進(jìn)行選擇。但是,隨著在線應(yīng)用市場的出現(xiàn),用戶可以訪問數(shù)萬個可以在用戶計算設(shè)備上執(zhí)行的應(yīng)用。然而,由于有龐大數(shù)量的選擇,原來應(yīng)用來確保數(shù)百個應(yīng)用兼容性的技術(shù)在面臨好數(shù)萬個應(yīng)用的時候可能變得失控。
發(fā)明內(nèi)容
描述了應(yīng)用兼容性技術(shù)。在一個或多個實現(xiàn)中,服務(wù)提供商的一個或多個計算設(shè)備經(jīng)由網(wǎng)絡(luò)從多個客戶端設(shè)備接收數(shù)據(jù),該數(shù)據(jù)描述了一個或多個在解決一個或多個應(yīng)用在相應(yīng)計算設(shè)備上執(zhí)行中的一個或多個不兼容性方面的至少部分成功的嘗試。根據(jù)一個或多個準(zhǔn)則來挖掘數(shù)據(jù)以識別至少一個應(yīng)用,并驗證該數(shù)據(jù)以確認(rèn)所識別應(yīng)用在解決至少一個不兼容性方面的至少部分成功。存儲描述經(jīng)驗證的、對不兼容性的成功解決的數(shù)據(jù),并至少基于所存儲的數(shù)據(jù)傳播更新以解決不兼容性。在一個或多個實現(xiàn)中,通過客戶端設(shè)備輸出用戶接口,該用戶接口被配置為用作至少部分地解決應(yīng)用在客戶端設(shè)備上執(zhí)行中的不兼容性的嘗試的引導(dǎo)。響應(yīng)于客戶端設(shè)備對該嘗試至少部分成功地解決了不兼容性的確定,經(jīng)由網(wǎng)絡(luò)傳遞描述通過客戶端設(shè)備進(jìn)行的嘗試的數(shù)據(jù)以供服務(wù)提供商來接收
在一個或多個實現(xiàn)中,一個或多個計算設(shè)備具有一個或多個模塊,該一個或多個模塊至少部分地以硬件實現(xiàn),并配置為執(zhí)行以下操作,包括經(jīng)由網(wǎng)絡(luò)從多個客戶端設(shè)備接收數(shù)據(jù),該數(shù)據(jù)描述了一個或多個在解決一個或多個應(yīng)用在相應(yīng)計算設(shè)備上執(zhí)行的一個或多個不兼容性方面至少部分成功的嘗試。該模塊還配置為根據(jù)所接收的數(shù)據(jù)識別至少一個應(yīng) 用,從經(jīng)由網(wǎng)絡(luò)可訪問的應(yīng)用市場購買所識別的應(yīng)用,該購買自動執(zhí)行而沒有用戶介入;針對所購買的應(yīng)用驗證在解決至少一個不兼容性方面的至少部分成功;以及存儲描述經(jīng)驗證的、對不兼容性成功解決的數(shù)據(jù)。提供此發(fā)明內(nèi)容來以簡要形式介紹一些概念選集,其將在以下具體實施例中進(jìn)一步介紹。此發(fā)明內(nèi)容不旨在標(biāo)識要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用來幫助確定要求保護(hù)主題的范圍。
參考附圖來描述具體實施例。在圖中,附圖標(biāo)記的最左邊的一個或多個數(shù)字標(biāo)識該附圖標(biāo)記首次出現(xiàn)在哪個圖中。說明書和附圖中的不同實例中使用的相同附圖標(biāo)記指示相似或相同的項。圖I是在可操作來執(zhí)行應(yīng)用兼容性技術(shù)的示例實現(xiàn)中的環(huán)境的說明。圖2是示例實現(xiàn)中的系統(tǒng)的說明,在該系統(tǒng)中,利用圖I的服務(wù)提供商的兼容性驗證模塊來計算針對兼容性問題的修復(fù)的置信度得分。圖3是描述在示例實現(xiàn)中的過程的流程圖,其中,通過兼容性模塊來輸出用戶接口以解決不兼容性。圖4是描述在示例實現(xiàn)中的過程的流程圖,其中,根據(jù)從圖3的一個或多個客戶端設(shè)備接收并傳播到其他客戶端設(shè)備的數(shù)據(jù)來驗證修復(fù)。
具體實施例概沭
計算設(shè)備可以執(zhí)行來自很多不同源的很多應(yīng)用。例如,用戶可以經(jīng)由網(wǎng)絡(luò)導(dǎo)航至應(yīng)用市場以訪問數(shù)百甚至數(shù)千個應(yīng)用。但是,因為龐大數(shù)量的應(yīng)用可用,使用常規(guī)的技術(shù)難于維護(hù)與應(yīng)用的兼容性,尤其在有更新版本的軟件供執(zhí)行的時候。 描述了應(yīng)用兼容性技術(shù)。在一個或多個實現(xiàn)中,兼容性模塊配置為輸出用戶接口以協(xié)助引導(dǎo)客戶朝向修復(fù)兼容性問題。如果該修復(fù)是成功的,則可以經(jīng)由網(wǎng)絡(luò)將描述該修復(fù)的數(shù)據(jù)發(fā)送到服務(wù)提供商以用于傳播給其他用戶。以這種方式,可以利用用戶的初始子集來為更大的群組修正兼容性問題。在一個或多個實現(xiàn)中,服務(wù)提供商可以識別將傳播哪些修復(fù),并驗證這些修復(fù)起作用。這個可以通過以下步驟來執(zhí)行自動從應(yīng)用市場購買應(yīng)用,并應(yīng)用在信息中描述的修復(fù)以確定其是否成功??梢陨婕耙韵抡鹿?jié)找到應(yīng)用兼容性技術(shù)的進(jìn)一步討論。在以下討論中,首先描述的是可以根據(jù)在此所述的技術(shù)來利用的示例環(huán)境。隨后描述也可以在示例環(huán)境和其他環(huán)境中采用的示例過程。相應(yīng)地,對示例過程的執(zhí)行不限于示例環(huán)境,并且該示例環(huán)境不限于執(zhí)行該示例過程。示例環(huán)境
圖I是可操作來采用在此描述的技術(shù)的示例實現(xiàn)中的環(huán)境100的說明。示出的環(huán)境100包括客戶端設(shè)備102、服務(wù)提供商104和應(yīng)用市場106??蛻舳嗽O(shè)備102、服務(wù)提供商104和應(yīng)用市場106可以使用可以以多種方式配置的廣泛范圍的計算設(shè)備來實現(xiàn)。例如,計算設(shè)備可以配置為便攜式游戲設(shè)備、移動電話、能夠通過網(wǎng)絡(luò)進(jìn)行通信的計算機(jī)(例如,桌面計算機(jī)、一個或多個服務(wù)器、娛樂器具)、通信地耦接到顯示設(shè)備的機(jī)頂盒等。因此,計算設(shè)備的范圍可以從具有大量存儲器和處理器資源的全資源設(shè)備(例如,個人計算機(jī)、游戲機(jī))到具有有限存儲器和/或處理資源的低資源設(shè)備(例如傳統(tǒng)的機(jī)頂盒、手持游戲機(jī))。另外,雖然在相應(yīng)的圖示中示出單個實體,但是顯而易見的是該實體可以表示一個或多個實體,并因此被相應(yīng)的引用,例如客戶端設(shè)備102、客戶端設(shè)備104等。計算設(shè)備還可以包括使得計算設(shè)備的硬件執(zhí)行操作的實體(例如軟件),例如處理器、功能塊等。例如,計算設(shè)備可以包括配置為維護(hù)導(dǎo)致計算設(shè)備、更具體地導(dǎo)致計算設(shè)備的硬件執(zhí)行操作的指令的計算機(jī)可讀介質(zhì)。因而,指令起作用以配置硬件來執(zhí)行操作,并以這種方式導(dǎo)致硬件的變換以執(zhí)行功能。可以經(jīng)由多種不同的配置來由計算機(jī)可讀介質(zhì)將指令提供給計算設(shè)備。一個這樣的計算機(jī)可讀介質(zhì)的配置是信號承載介質(zhì),并因而被配置為例如經(jīng)由網(wǎng)絡(luò)將指令(例如,作為載波)發(fā)送到計算設(shè)備的硬件。計算機(jī)可讀介質(zhì)還可以被配置為計算機(jī)可讀存儲介質(zhì),并因而不是信號承載介質(zhì)。計算機(jī)可讀存儲介質(zhì)的示例包括隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、光盤、閃存存儲器、硬盤存儲器和可以使用磁、光和其他技術(shù)來存儲指令和其他數(shù)據(jù)的其他存儲器設(shè)備。說明示例中的客戶端設(shè)備102被示為包括處理器108和存儲器110。處理器不受限于形成該處理器的材料或其中采用的處理機(jī)制。例如,處理器可以包括一個或多個半導(dǎo)體和/或晶體管(例如,電子集成電路(1C))。在這樣的上下文中,處理器可執(zhí)行的指令可以是可電子執(zhí)行的指令。可替換地,處理器的機(jī)制和因此計算設(shè)備的機(jī)制包括但不限于量子計算、光學(xué)計算、機(jī)械計算(例如使用納米技術(shù))等。另外,盡管示出單個處理器104和存儲器106,但是可以采用多種類型的存儲器和/或處理器及其組合??蛻舳嗽O(shè)備102示出為還包括操作系統(tǒng)112。操作系統(tǒng)112通常用來提取諸如處理器108、存儲器110和其他設(shè)備之類的底層設(shè)備的功能給由客戶端設(shè)備102執(zhí)行的應(yīng)用114和其他軟件。雖然操作系統(tǒng)112示出為在處理器108上執(zhí)行,但是該模塊還可以存儲在存儲器110中。如前所述,可以從各種源來獲取應(yīng)用114。例如,應(yīng)用114可以使用從實體店獲取的計算機(jī)可讀存儲介質(zhì)來安裝在客戶端設(shè)備102上。在另一示例中,可以經(jīng)由網(wǎng)絡(luò)116從應(yīng)用市場106獲取應(yīng)用114。應(yīng)用市場106示出為包括市場模塊118,其表示管理并傳遞來自應(yīng)用市場106的存儲設(shè)備120的應(yīng)用的功能。例如,市場模塊118可以采用收益技術(shù)(例如做廣告、每次下載計費)來收集用以提供應(yīng)用由客戶端設(shè)備102執(zhí)行的收益。因此,用戶可以經(jīng)由網(wǎng)絡(luò)116訪問應(yīng)用市場106來訪問眾多不同的應(yīng)用,例如收費的、免費的、基于訂閱的應(yīng)用等。為了維護(hù)兼容性,客戶端設(shè)備102被進(jìn)一步示出為采用兼容性模塊122,其示出為在處理器108上執(zhí)行并可以存儲在存儲器110中。兼容性模塊122可以以多種方式幫助促進(jìn)兼容性。例如,兼容性模塊122可以用作兼容性層,其由客戶端設(shè)備102執(zhí)行以自動地監(jiān)控應(yīng)用114 (包括操作系統(tǒng)112)的執(zhí)行。兼容性模塊112例如可以監(jiān)控已知的兼容性問題并輸出用戶接口,該用戶接口可以幫助將用戶引導(dǎo)朝向至少部分地解決問題的修復(fù)124。在另一示例中,兼容性模塊112可以實現(xiàn)為響應(yīng)于從用戶接收的請求來執(zhí)行的調(diào)解器。同樣,當(dāng)在此配置中時,調(diào)解器可以輸出配置為幫助將用戶引導(dǎo)朝向修復(fù)124的用戶接口。例如,兼容性模塊122可以應(yīng)用技術(shù)來修正應(yīng)用114中的缺陷、應(yīng)用114與更新版本的操作系統(tǒng)112的兼容性問題等。在一個或多個實現(xiàn)中,如果修復(fù)124被認(rèn)為至少部分是成功的,則兼容性模塊122經(jīng)由網(wǎng)絡(luò)116將描述修復(fù)124的數(shù)據(jù)傳遞至服務(wù)提供商104。所示出的服務(wù)提供商104包括兼容性驗證模塊126,其表示驗證修復(fù)124的功能,例如該修復(fù)如所描述的那樣“起作用”。兼容性驗證模塊126因此可以維護(hù)可以提供給其他客戶端設(shè)備的修復(fù)130的數(shù)據(jù)庫128。這樣,盡管客戶端設(shè)備102的初始子集對于應(yīng)用114具有不大令人滿意的體驗(例如,由于應(yīng)用114自身、對操作系統(tǒng)112所作出的變化等),但是該體驗可以為群組所利用,以使得通過自動地應(yīng)用相應(yīng)的修復(fù)而使該體驗不再重復(fù)發(fā)生。通常,可以使用軟件、固件、硬件(例如固定的邏輯電路)、人工處理及這些實現(xiàn)的組合來實現(xiàn)在此所述的任意功能。在此使用的術(shù)語“模塊”、“引擎”和“功能”通常表示硬 件、軟件、固件或其組合。在軟件實現(xiàn)的情況下,模塊、功能或邏輯表示執(zhí)行由硬件,例如一個或多個處理器和/或功能塊指定的功能的指令和硬件。
圖2示出示例實現(xiàn)中的系統(tǒng)200,在該系統(tǒng)中,利用服務(wù)提供商104的兼容性驗證模塊126來計算針對兼容性問題的修復(fù)的置信度得分。如前,客戶端設(shè)備102包括操作系統(tǒng)112、應(yīng)用114、和兼容性模塊122??梢岳眉嫒菪阅K122來解決各種兼容性問題,這些兼容性問題可以由應(yīng)用114的執(zhí)行、應(yīng)用114與操作系統(tǒng)112的交互(由于操作系統(tǒng)112的更新)等引起。兼容性模塊122例如可以輸出用戶接口,其引導(dǎo)用戶朝向修復(fù)。在解決不兼容性期間,兼容性模塊122還可以生成描述在修復(fù)之前204應(yīng)用114執(zhí)行的數(shù)據(jù)202,以及描述在修復(fù)之后206應(yīng)用114執(zhí)行的數(shù)據(jù)202。如果確定該修復(fù)至少部分成功地解決了不兼容性,則數(shù)據(jù)202可以由客戶端設(shè)備102傳遞到服務(wù)提供商104。服務(wù)提供商104隨后可以采用兼容性驗證模塊126來驗證兼容性問題的解決方案。例如,兼容性驗證模塊126可以根據(jù)數(shù)據(jù)202來識別應(yīng)用114以便于識別“前X”個修復(fù)的應(yīng)用。兼容性驗證模塊126隨后可以選擇應(yīng)用114的其中之一,并例如從應(yīng)用市場106購買應(yīng)用114’的副本。兼容性驗證模塊126隨后可以計算置信度得分208,其指示修復(fù)210 至少能部分地解決兼容性問題的概率。例如,置信度得分208可以基于描述修復(fù)之后206的操作的數(shù)據(jù)202,例如在應(yīng)用修復(fù)的情況下應(yīng)用114已執(zhí)行的時間長度、在應(yīng)用修復(fù)的情況下應(yīng)用114已執(zhí)行的次數(shù)、該修復(fù)后續(xù)是否被移除等。還可以利用該信息來識別哪些應(yīng)用將被驗證,例如“前X”個修復(fù)的應(yīng)用。在驗證了修復(fù)210時,修復(fù)210可以傳播到其他客戶端設(shè)備212。例如,可以提供修復(fù)210作為對于應(yīng)用114和/或操作系統(tǒng)112的更新214 (例如,作為服務(wù)包的一部分)、填補(bǔ)216、標(biāo)志218 (將用于代碼路徑選擇)等。填補(bǔ)216例如可以用來以多種方式促進(jìn)操作系統(tǒng)112和應(yīng)用114的兼容性。填補(bǔ)216可以采用鉤子,以使得用與填補(bǔ)216相對應(yīng)的地址來替換用于一個或多個應(yīng)用編程接口的輸入地址表(IAT)中的地址。填補(bǔ)216還可以配置為截獲回調(diào),例如該回調(diào)將在通過客戶端設(shè)備102發(fā)生事件時被調(diào)用。以這種方式,填補(bǔ)216可以截獲所作出的去往和來自不再兼容的API的調(diào)用,并翻譯與該調(diào)用相關(guān)聯(lián)的數(shù)據(jù)以使得其是兼容的。在一個這樣的示例中,填補(bǔ)216可以翻譯數(shù)據(jù)以模仿之前版本的操作系統(tǒng)112,以使應(yīng)用114可以理解從操作系統(tǒng)112接收的命令,和/或操作系統(tǒng)112可以理解來自應(yīng)用114的命令。還設(shè)想到了各種其他示例,諸如通過修改調(diào)度表中聲明的地址來截獲I/O請求包(IRP)。因此,可以采用填補(bǔ)216來通過將調(diào)用和其他通信的執(zhí)行包裝在填補(bǔ)216內(nèi)以重定向該調(diào)用和其他通信的執(zhí)行。在一個或多個實現(xiàn)中,填補(bǔ)聲明了用于接口或回調(diào)的包裝器。如果將這樣的包裝器應(yīng)用于填補(bǔ)(例如在運行時),則通過該包裝器處理針對系統(tǒng)組件的調(diào)用或者從應(yīng)用114到系統(tǒng)組件的調(diào)用。因此,填補(bǔ)216可以控制接口調(diào)用的輸入和輸出兩者,并修改它們以修正不兼容性。參照以下過程可以找到有關(guān)生成和傳播修復(fù)的進(jìn)一步討論。示例過稈
以下討論描述了可以利用前述的系統(tǒng)和設(shè)備實現(xiàn)的技術(shù)。各過程中每一個的各方面可以以硬件、固件、軟件、或其組合來實現(xiàn)。過程示出為框集合,其指定了由一個或多個設(shè)備執(zhí)行的操作,并且不必限于示出的通過各個塊來執(zhí)行操作的順序。在以下討論的各部分中,將參考圖I的環(huán)境100和圖2的系統(tǒng)200。
圖3描述了示例實現(xiàn)中的過程300,其中,通過兼容性模塊輸出用戶接口來解決不兼容性。由客戶端設(shè)備從用戶接收輸入來啟動兼容性模塊(框302)。兼容性模塊例如被配置為在由客戶端設(shè)備102的用戶識別出不兼容性時輸出的調(diào)解器。還可以自動地輸出用戶接口而沒有用戶介入。例如,兼容性模塊可以監(jiān)控由客戶端設(shè)備對應(yīng)用的執(zhí)行以監(jiān)控一個或多個已知的不兼容性(框304)。模塊隨后可以檢測計算設(shè)備對應(yīng)用的執(zhí)行涉及不兼容性(框 306)。隨后,由客戶端設(shè)備輸出用戶接口,其被配置為用作嘗試至少部分解決由客戶端設(shè)備執(zhí)行應(yīng)用中的不兼容性的引導(dǎo)(框308)。用戶接口例如可以被配置為引導(dǎo)用戶通過一系列可以用于解決不兼容的步驟的“向?qū)А薄_@些步驟可以包括由用戶回答的問題以追隨可能導(dǎo)致解決兼容性問題的路徑。響應(yīng)于客戶端設(shè)備確定該嘗試至少部分成功地解決了不兼容性,經(jīng)由網(wǎng)絡(luò)傳遞描述由客戶端設(shè)備進(jìn)行的嘗試的數(shù)據(jù)以供服務(wù)提供商來接收(框310)。在應(yīng)用修復(fù)后,兼容性模塊122例如可以監(jiān)控應(yīng)用114的執(zhí)行。該監(jiān)控隨后可以用作確定該修復(fù)是否可能成功的根據(jù),例如基于以下內(nèi)容在應(yīng)用了修復(fù)情況下應(yīng)用執(zhí)行的時間量、兼容性模塊122是否被再次執(zhí)行來修正該修復(fù)、應(yīng)用114執(zhí)行的次數(shù)等。雖然描述了由應(yīng)用114對修復(fù)的使用,但是該修復(fù)還可以應(yīng)用到客戶端設(shè)備102的操作系統(tǒng)112或其他軟件(例如驅(qū)動器),參照以下附圖可以找到該內(nèi)容的進(jìn)一步討論。圖4描述了示例實現(xiàn)中的過程400,其中根據(jù)從一個或多個客戶端設(shè)備接收的數(shù)據(jù)驗證修復(fù),并將修復(fù)傳播到其他客戶端設(shè)備。從多個計算設(shè)備接收數(shù)據(jù),該數(shù)據(jù)描述了至少部分成功地解決了一個或多個應(yīng)用在相應(yīng)計算設(shè)備上的執(zhí)行中的一個或多個不兼容性的嘗試(框402)。如上所述,例如,兼容性模塊122 —旦確定修復(fù)至少是部分成功的就發(fā)送數(shù)據(jù),從而減少了傳遞到服務(wù)提供商104并由服務(wù)提供商104處理的數(shù)據(jù)量。例如,數(shù)據(jù)量可以使得與不管結(jié)果為何都發(fā)送日志文件的常規(guī)技術(shù)相比沒有利用采樣。然而,還可以設(shè)想其他實現(xiàn),例如發(fā)送描述失敗嘗試的數(shù)據(jù)。
對數(shù)據(jù)進(jìn)行挖掘來根據(jù)一個或多個準(zhǔn)則至少識別一個或多個應(yīng)用(框404)。兼容性驗證模塊126例如可以使用各種準(zhǔn)則來比較和聚合來自多個客戶端設(shè)備的數(shù)據(jù)。例如,該聚合和比較可以用來定位由一組客戶端設(shè)備應(yīng)用的修復(fù)、部分成功地解決不兼容問題的修復(fù)、涉及普遍應(yīng)用114的修復(fù)、針對特別突出兼容性問題的修復(fù)等。為所識別的應(yīng)用驗證至少部分成功地解決了不兼容性中的至少一個(框406)。例如,所識別的應(yīng)用可以通過從存儲設(shè)備復(fù)制、從應(yīng)用市場購買等方式來獲取(框408)。隨后作出有關(guān)所施加的修復(fù)是否至少部分成功地解決不兼容性的確定(框412)。這些步驟可以由兼容性驗證模塊126自動執(zhí)行而沒有用戶介入,從而使過程自動化。自然地,還可以設(shè)想其他示例,例如具有獲取應(yīng)用、施加修復(fù)等選項的用戶接口的輸出。存儲描述經(jīng)驗證的對不兼容性的成功解決的數(shù)據(jù)(框414)。隨后基于所存儲的數(shù)據(jù)來傳播修復(fù)以解決不兼容性(框416)。該修復(fù)例如可以配置為更新(例如,作為服務(wù)包的一部分)、填補(bǔ)、用于代碼路徑選擇以為了兼容性配置應(yīng)用114和/或操作系統(tǒng)112的標(biāo)志等。以這種方式,可以傳播由對于應(yīng)用114具有不大令人滿意的體驗的小用戶子集所應(yīng)用的修復(fù),以使得其他用戶不會有類似的體驗。結(jié)論雖然以特定于結(jié)構(gòu)化特征和/或方法學(xué)上的動作的語言描述本發(fā)明,但是要理解的 是,所附權(quán)利要求中限定的本發(fā)明不必限于所描述的具體特征和行為。相反,這些具體特征和行為以實現(xiàn)所要求保護(hù)的發(fā)明的示例形式來公開。
權(quán)利要求
1.ー種由服務(wù)提供商的一個或多個計算設(shè)備執(zhí)行的方法,該方法包括 經(jīng)由網(wǎng)絡(luò)從多個客戶端設(shè)備接收數(shù)據(jù),所述數(shù)據(jù)描述了ー個或多個嘗試,所述ー個或多個嘗試至少部分成功地解決了ー個或多個應(yīng)用在相應(yīng)計算設(shè)備上的執(zhí)行中的一個或多個不兼容性(402); 根據(jù)ー個或多個準(zhǔn)則對所述數(shù)據(jù)進(jìn)行挖掘以識別所述應(yīng)用中的至少ー個(404); 針對所識別的應(yīng)用驗證解決不兼容性中的至少ー個的至少部分成功(406);以及 存儲描述經(jīng)驗證的、對不兼容性的成功解決的數(shù)據(jù)(408);以及 至少根據(jù)所存儲的數(shù)據(jù)來傳播更新以解決所述不兼容性(410)。
2.如權(quán)利要求I所述的方法,其中所接收的數(shù)據(jù)由可由相應(yīng)的所述客戶端設(shè)備執(zhí)行的兼容性模塊來生成,以輸出用戶接ロ來引導(dǎo)用戶解決不兼容性。
3.如權(quán)利要求I所述的方法,其中所接收的數(shù)據(jù)沒有描述不能至少部分成功地解決不兼容性的嘗試。
4.如權(quán)利要求I所述的方法,其中所述ー個或多個準(zhǔn)則與相應(yīng)的所述應(yīng)用的普及率有關(guān)。
5.如權(quán)利要求I所述的方法,其中所一個或多個準(zhǔn)則可用于計算指示嘗試成功的概率的置信度得分。
6.如權(quán)利要求5所述的方法,其中所述置信度得分至少部分基于在嘗試解決相應(yīng)的所述不兼容性之后應(yīng)用執(zhí)行的時間量,或在嘗試解決相應(yīng)的所述不兼容性之后應(yīng)用執(zhí)行的次數(shù)。
7.如權(quán)利要求I所述的方法,其中所述驗證包括 獲取所識別的應(yīng)用; 將在所接收的數(shù)據(jù)中描述的修復(fù)施加于所識別的應(yīng)用;以及 確定所施加的修復(fù)是否至少部分成功地解決了不兼容性。
8.如權(quán)利要求7所述的方法,其中所述獲取包括由所述服務(wù)提供商的一個或多個計算機(jī)經(jīng)由應(yīng)用市場自動地購買所識別的應(yīng)用而沒有用戶介入。
9.ー種方法,包括 通過客戶端設(shè)備輸出用戶接ロ,所述用戶接ロ被配置為用作嘗試至少部分解決應(yīng)用在所述客戶端設(shè)備上執(zhí)行中的不兼容性的引導(dǎo)(308);以及 響應(yīng)于所述客戶端設(shè)備確定所述嘗試至少部分成功地解決了不兼容性,經(jīng)由網(wǎng)絡(luò)傳遞描述由所述客戶端設(shè)備進(jìn)行的所述嘗試的數(shù)據(jù)以供服務(wù)提供商來接收。
10.如權(quán)利要求9所述的方法,其中響應(yīng)于由在所述客戶端設(shè)備上執(zhí)行的兼容性模塊檢測到來自所述兼容新模塊所知曉的多個不兼容性中的不兼容性,來執(zhí)行所述輸出。
全文摘要
描述了應(yīng)用兼容性技術(shù)。在一個或多個實現(xiàn)中,服務(wù)提供商的一個或多個計算設(shè)備經(jīng)由網(wǎng)絡(luò)從多個客戶端設(shè)備接收數(shù)據(jù),該數(shù)據(jù)描述了一個或多個嘗試,這些嘗試至少部分成功地解決了一個或多個應(yīng)用在相應(yīng)計算設(shè)備上執(zhí)行中的一個或多個不兼容性。根據(jù)一個或多個準(zhǔn)則來挖掘數(shù)據(jù)以識別所述應(yīng)用中的至少一個,并驗證該數(shù)據(jù)以確認(rèn)針對所識別應(yīng)用至少部分成功地解決了不兼容性中的至少一個。存儲描述經(jīng)驗證的、對不兼容性的成功解決的數(shù)據(jù),并至少基于所存儲的數(shù)據(jù)傳播更新以解決不兼容性。
文檔編號G06F9/48GK102707999SQ20121005798
公開日2012年10月3日 申請日期2012年3月7日 優(yōu)先權(quán)日2011年3月7日
發(fā)明者C.I.盧普, D.L.??怂? E.V.戴, H.卡扎, J.L.斯蒂芬頓, R.J.肯尼, S.K.帕蘇拉, S.K.馬尼文南 申請人:微軟公司