用于智能移動應用更新的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種用于智能移動應用更新的方法和系統(tǒng)。在一種用于管理移動軟件應用的更新的方法中,計算機接收關(guān)于移動計算設(shè)備和所述移動計算設(shè)備上的移動軟件應用的信息,其中關(guān)于所述移動計算設(shè)備的信息包括以下項中的至少一個或多個:所述移動計算設(shè)備的位置、網(wǎng)絡(luò)連接類型、與所述移動計算設(shè)備關(guān)聯(lián)的安全位、以及與至少一個移動軟件應用關(guān)聯(lián)的校驗和。所述計算機判定所述移動軟件應用是否與計算設(shè)備上的已存儲的移動軟件應用相匹配。響應于判定所述移動軟件應用與所述計算設(shè)備上的所述已存儲的移動軟件應用不匹配,所述計算機確定用于安排對所述移動計算設(shè)備上的所述移動軟件應用的更新的更新策略。
【專利說明】用于智能移動應用更新的方法和系統(tǒng)
[0001]
【發(fā)明人】關(guān)于現(xiàn)有公開內(nèi)容的聲明
[0002]本發(fā)明的各個方面已在產(chǎn)品IBM fforklight Foundat1n V6.3中公開,該產(chǎn)品在2014年10月I日公之于眾。由本申請的獨立
【發(fā)明人】或本申請的共同
【發(fā)明人】或者代表他們在35U.S.C.102(b)(1) (A)下提交以下公開內(nèi)容作為現(xiàn)有公開內(nèi)容。提供以下文件以便支持在2014年10月I日公開的內(nèi)容:
[0003](i)IBM fforklight Foundat1n V6.3輸送平臺以便開發(fā)和管理特定于設(shè)備的豐富移動體驗,IBM美國軟件公告214-368,2014年10月I日。
技術(shù)領(lǐng)域
[0004]本發(fā)明一般地涉及軟件應用領(lǐng)域,更具體地說,涉及管理移動軟件應用的更新。
【背景技術(shù)】
[0005]移動計算設(shè)備的用戶安裝移動軟件應用以使移動設(shè)備能夠執(zhí)行各種任務。移動應用最初面向總體生產(chǎn)率和信息檢索(例如,電子郵件、日歷、天氣等),但已擴展到其它類別,例如娛樂和移動商務(例如,游戲、銀行業(yè)、在線購物等)。移動應用可用于用戶通過應用分發(fā)平臺(例如由移動操作系統(tǒng)的所有者操作的應用商店)購物。移動應用還可用于用戶通過內(nèi)容傳送網(wǎng)絡(luò)(CDN)進行安裝。CDN是大型分布式內(nèi)容服務器系統(tǒng),這些內(nèi)容服務器跨因特網(wǎng)部署在多個數(shù)據(jù)中心中,以便以高可用性和高性能使內(nèi)容用于最終用戶,而內(nèi)容提供者支付費用以便將內(nèi)容提供給最終用戶。
[0006]為了移動計算設(shè)備從應用商店或CDN安裝和/或更新移動應用,移動計算設(shè)備連接到因特網(wǎng)(例如,移動寬帶、無線個人區(qū)域網(wǎng)絡(luò)(WPAN)、網(wǎng)絡(luò)共享、對等(P2P)等)。移動寬帶使用便攜式調(diào)制解調(diào)器,通過移動電話塔向移動計算設(shè)備和其它數(shù)字設(shè)備提供無線因特網(wǎng)。WPAN是用于互連集中在個人工作空間上的設(shè)備的網(wǎng)絡(luò)(當在網(wǎng)絡(luò)的范圍內(nèi)時),其中連接是無線的。網(wǎng)絡(luò)共享通過WPAN、微微網(wǎng)或物理連接將一個設(shè)備連接到另一個,并且允許共享因特網(wǎng)連接(例如,移動熱點)。微微網(wǎng)是小型網(wǎng)絡(luò),其由多達八個采用主-從關(guān)系的活躍設(shè)備組成。P2P是這樣的網(wǎng)絡(luò):其中互連節(jié)點共享資源,這些資源針對網(wǎng)絡(luò)上的其它節(jié)點同時用作客戶機和服務器。在建立到因特網(wǎng)的連接之后,移動軟件應用下載到移動計算設(shè)備。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的各方面公開一種用于管理移動軟件應用的更新的方法、計算機程序產(chǎn)品和系統(tǒng)。所述方法包括一個或多個計算機處理器接收關(guān)于移動計算設(shè)備和所述移動計算設(shè)備上的移動軟件應用的信息,其中關(guān)于所述移動計算設(shè)備的信息包括以下項中的至少一個或多個:所述移動計算設(shè)備的位置、網(wǎng)絡(luò)連接類型、與所述移動計算設(shè)備關(guān)聯(lián)的安全位、以及與至少一個移動軟件應用關(guān)聯(lián)的校驗和。所述方法還包括一個或多個計算機處理器判定所述移動軟件應用是否與計算設(shè)備上的已存儲的移動軟件應用相匹配。響應于判定所述移動軟件應用與所述計算設(shè)備上的已存儲的移動軟件應用不匹配,所述方法還包括由一個或多個計算機處理器確定用于安排對所述移動計算設(shè)備上的所述移動軟件應用的更新的更新策略。
【附圖說明】
[0008]圖1是示出根據(jù)本發(fā)明的一個實施例的移動計算環(huán)境的功能框圖;
[0009]圖2是示出根據(jù)本發(fā)明的一個實施例的位于圖1的移動計算環(huán)境中的服務器上的智能移動應用更新程序的操作步驟的流程圖,該智能移動應用更新程序用于管理移動計算設(shè)備上的應用軟件的更新;
[0010]圖3是示出根據(jù)本發(fā)明的一個實施例的位于圖1的移動計算環(huán)境中的移動計算設(shè)備上的智能移動應用安裝客戶機程序的操作步驟的流程圖,該智能移動應用安裝客戶機程序用于更新移動計算設(shè)備上的應用軟件;
[0011]圖4是根據(jù)本發(fā)明的一個實施例的執(zhí)行智能移動應用更新程序的服務器的組件的框圖。
【具體實施方式】
[0012]移動軟件應用的開發(fā)人員通常更新移動軟件應用的先前版本以便引入改進和/或?qū)崿F(xiàn)錯誤修復。當移動計算設(shè)備通過因特網(wǎng)連接到應用分發(fā)平臺時,已更新版本替換移動計算設(shè)備上的移動軟件應用的先前版本。取決于移動軟件應用的分發(fā),應用分發(fā)平臺可能被大量請求淹沒,因此導致不能有效地處理更新。本發(fā)明的實施例認識到,有效和智能地管理移動應用軟件的已更新版本的部署將限制淹沒應用分發(fā)平臺的可能性,并且及時地向用戶提供已更新版本。本發(fā)明的實施例針對策略的制定和分派來評估用戶的移動計算設(shè)備的參數(shù),以便安排將在何時、何地應用更新以及應用什么更新。當發(fā)生影響策略的變化時,本發(fā)明的附加實施例更新移動應用并調(diào)整安排。
[0013]現(xiàn)在將參考附圖詳細描述本發(fā)明。圖1是示出根據(jù)本發(fā)明的一個實施例的移動計算環(huán)境(總體指定為100)的功能框圖。圖1僅提供一個實施例的例示,并且不暗示有關(guān)其中可以實現(xiàn)不同實施例的環(huán)境的任何限制。
[0014]在示出的實施例中,移動計算環(huán)境100包括通過網(wǎng)絡(luò)130互連的移動計算設(shè)備110、對等移動計算設(shè)備140和服務器120。移動計算環(huán)境100可以包括未示出的其它計算設(shè)備、移動計算設(shè)備、服務器、計算機、存儲設(shè)備或其它設(shè)備。
[0015]移動計算設(shè)備110和對等移動計算設(shè)備140可以是膝上型計算機、上網(wǎng)本計算機、平板計算機、超級本計算機、個人數(shù)字助理(PDA)、智能電話、蜂窩電話、手機平板、電子閱讀設(shè)備、媒體播放器或移動游戲設(shè)備。一般而言,移動計算設(shè)備110和對等移動計算設(shè)備140可以是電子設(shè)備或計算系統(tǒng),它們能夠通過網(wǎng)絡(luò)130發(fā)送和接收數(shù)據(jù)并且與服務器120或另一移動計算設(shè)備通信(例如,移動計算設(shè)備110與對等移動計算設(shè)備140通信,以及對等移動計算設(shè)備140與移動計算設(shè)備110通信)。移動計算設(shè)備110包括移動應用112和智能移動應用安裝客戶機程序300。對等移動計算設(shè)備140包括對等版本更新應用142。
[0016]移動應用112和對等版本更新應用142分別表示移動計算設(shè)備110和對等移動計算設(shè)備140上的已安裝的應用和關(guān)聯(lián)的應用軟件。服務器版本更新應用122表示存儲在服務器120上用于移動計算設(shè)備(例如移動計算設(shè)備110和對等移動計算設(shè)備140)的可安裝應用和關(guān)聯(lián)的應用軟件。在一個實施例中,移動應用112、對等版本更新應用142和服務器版本更新應用122是相同版本的應用軟件。在示出的實施例中,移動應用112是與對等版本更新應用142和服務器版本更新應用122版本不同的應用軟件。例如,移動應用112是工廠安裝的初始應用軟件,并且對等版本更新應用142和服務器版本更新應用122是相同更新版本的工廠安裝的應用軟件。在某一其它實施例中,移動應用112、對等版本更新應用142和服務器版本更新應用122可以全部是不同版本的應用軟件。例如,移動應用112是工廠安裝的初始應用軟件,對等版本更新應用142是實現(xiàn)關(guān)鍵軟件修復的更新版本,并且服務器版本更新應用112是弓I入改進和關(guān)鍵軟件修復的另一更新版本。
[0017]服務器120可以是管理服務器、Web服務器,或者是能夠接收和發(fā)送數(shù)據(jù)的任何其它電子設(shè)備或計算系統(tǒng)。在某些實施例中,服務器120可以是膝上型計算機、平板計算機、上網(wǎng)本計算機、個人計算機(PC)、臺式計算機、個人數(shù)字助理(PDA)、智能電話,或者能夠通過網(wǎng)絡(luò)130與移動計算設(shè)備110和對等移動計算設(shè)備140通信的任何可編程設(shè)備。在其它實施例中,服務器120可以表示例如在云計算環(huán)境中,使用多個計算機作為服務器系統(tǒng)的服務器計算系統(tǒng)。服務器120包含服務器版本更新應用122、更新策略124以及智能移動應用更新程序 200。
[0018]更新策略124是由智能移動應用更新程序200創(chuàng)建的文件,其用于建立參數(shù)以便管理移動計算設(shè)備110上的移動應用(例如移動應用112)的更新。在示出的實施例中,更新策略124位于服務器120上。在另一實施例中,更新策略124可以位于通過網(wǎng)絡(luò)130連接的另一服務器或計算設(shè)備(未示出)上,只要更新策略124可由智能移動應用更新程序200和智能移動應用安裝客戶機程序300訪問。
[0019]根據(jù)本發(fā)明的實施例,網(wǎng)絡(luò)130可以是局域網(wǎng)(LAN)、諸如因特網(wǎng)之類的廣域網(wǎng)(WAN)、無線局域網(wǎng)(WLAN)、其任意組合,或者將支持移動計算設(shè)備110、對等移動計算設(shè)備140、服務器120與其它計算設(shè)備和服務器(未示出)之間的通信的連接和協(xié)議的任意組合。網(wǎng)絡(luò)130可以包括有線、無線或光纖連接。網(wǎng)絡(luò)130還可以包括移動寬帶。移動寬帶指無線因特網(wǎng)訪問,經(jīng)由移動網(wǎng)絡(luò)運營商(例如,無線服務提供商、無線運營商、移動網(wǎng)絡(luò)運營商等)借助便攜式調(diào)制解調(diào)器,將無線因特網(wǎng)訪問通過移動電話塔提供給計算設(shè)備、移動計算設(shè)備和其它數(shù)字設(shè)備。
[0020]智能移動應用更新程序200是這樣的軟件程序:當更新可用于移動計算設(shè)備(例如移動計算設(shè)備110和對等移動計算設(shè)備140)時,其管理用于移動應用軟件的更新。智能移動應用更新程序200確定何時安裝過時版本的應用軟件、要安裝的適當版本的應用軟件、用于從中獲得更新的位置,并且基于從智能移動應用安裝客戶機程序300接收的信息來安排更新的安裝并創(chuàng)建更新策略124 (例如,將所確定的信息嵌入更新策略124)。智能移動應用更新程序200然后為智能移動應用安裝客戶機程序300提供更新策略124。在示出的實施例中,智能移動應用更新程序200位于服務器120上。在某一其它實施例中,智能移動應用更新程序200可以位于通過網(wǎng)絡(luò)130連接的另一服務器或計算設(shè)備(未示出)上,只要智能移動應用更新程序200可由移動應用112、智能移動應用安裝客戶機程序300和對等移動計算設(shè)備140訪問。
[0021]智能移動應用安裝客戶機程序300是這樣的軟件程序:其基于更新策略124更新移動應用軟件,例如移動應用112。此外,智能移動應用安裝客戶機程序300向智能移動應用更新程序200提供有關(guān)移動計算設(shè)備110的信息,以便促進更新策略124的創(chuàng)建。在示出的實施例中,智能移動應用安裝客戶機程序300位于移動計算設(shè)備110上。在另一實施例中,智能移動應用安裝客戶機程序300還可以位于對等移動計算設(shè)備140上。在某一其它實施例中,智能移動應用安裝客戶機程序300可以位于通過網(wǎng)絡(luò)130連接的另一服務器或計算設(shè)備(未示出)上,只要智能移動應用安裝客戶機程序300可由移動應用112和智能移動應用更新程序200訪問。
[0022]圖2是示出根據(jù)本發(fā)明的一個實施例的智能移動應用更新程序200(其是用于管理移動計算設(shè)備上的應用軟件的更新的程序)的操作步驟的流程圖。在啟動智能移動應用更新程序200之前,移動計算設(shè)備110建立到網(wǎng)絡(luò)130的連接,并且此外,智能移動應用安裝客戶機程序300正在移動計算設(shè)備110上運行。移動計算設(shè)備110上的用戶然后啟動移動應用112,并且智能移動應用安裝客戶機程序300將關(guān)于移動計算設(shè)備110和移動應用112的信息發(fā)送到智能移動應用更新程序200。
[0023]在步驟202,智能移動應用更新程序200從智能移動應用安裝客戶機程序300接收信息并且啟動。來自智能移動應用安裝客戶機程序300的信息包括有關(guān)移動計算設(shè)備110和移動應用112的位置、校驗和、網(wǎng)絡(luò)類型和安全位狀態(tài)。在一個實施例中,智能移動應用更新程序200接收位置信息,作為由移動計算設(shè)備110中的全球定位系統(tǒng)(GPS)芯片提供的GPS坐標。在另一實施例中,智能移動應用更新程序200接收基于三角測量的移動計算設(shè)備110的適當位置。三角測量是以下過程:通過測量移動計算設(shè)備110與兩個或三個不同移動電話塔之間的已接收時間延遲(相當于距離)的徑向距離或方向,確定移動計算設(shè)備110的位置。智能移動應用更新程序200然后將移動計算設(shè)備110的大概位置計算為在得到的圓的交叉點處。在某一其它實施例中,智能移動應用更新程序200通過借助微微網(wǎng)連接接收唯一標識符來接收大概位置,該唯一標識符然后通過因特網(wǎng)標識并且包括對應的位置信息。
[0024]智能移動應用更新程序200接收與移動應用112關(guān)聯(lián)的校驗和。校驗和是針對數(shù)據(jù)塊(通常為單個文件,例如移動應用112)運行算法(稱為加密散列函數(shù))的結(jié)果。得到的校驗和是針對錯誤校驗目的生成的少量數(shù)據(jù)(即,比較兩個文件的校驗和將檢驗兩個文件是否相同)。智能移動應用更新程序200接收與移動計算設(shè)備110所連接到的網(wǎng)絡(luò)130(例如,WPAN、3G、4G等)關(guān)聯(lián)的網(wǎng)絡(luò)類型。此外,智能移動應用更新程序200接收有關(guān)移動計算設(shè)備110上的安全特性集的信息(例如,設(shè)置為真或假的安全位)。
[0025]在決策204,智能移動應用更新程序200判定移動應用112的關(guān)聯(lián)校驗和是否與服務器版本更新應用122的關(guān)聯(lián)校驗和相同。智能移動應用更新程序200將所接收的移動應用112的關(guān)聯(lián)校驗和與所存儲的服務器版本更新應用122的關(guān)聯(lián)校驗和進行比較。如果智能移動應用更新程序200判定校驗和相同(決策204,“是”分支),則智能移動應用更新程序200完成。如果智能移動應用更新程序200判定校驗和不同(決策204,“否”分支),則智能移動應用更新程序200確定更新策略124的更新包(步驟206),并且啟動更新策略124的創(chuàng)建。例如,移動應用112是工廠安裝的應用軟件,而服務器版本更新應用122是包括更新和關(guān)鍵修復的新版本。移動應用112的校驗和與服務器版本更新應用122的校驗和不同指示了移動應用112不是應用軟件的最新版本。在另一實施例中,智能移動應用更新程序200可以通過以下方式判定移動應用112是否與服務器版本更新應用122相同:S卩,比較與這兩個軟件應用關(guān)聯(lián)的版本號。在某一其它實施例中,智能移動應用更新程序200可以通過比較發(fā)行日期來判定移動應用112是否與服務器版本更新應用122相同。
[0026]在步驟206,智能移動應用更新程序200確定更新策略124的軟件應用更新包。智能移動應用更新程序200基于移動計算設(shè)備110與網(wǎng)絡(luò)130之間的連接的數(shù)據(jù)速率來確定軟件應用更新包(例如,軟件版本)。例如,當移動計算設(shè)備110通過數(shù)據(jù)速率為9.6Kbps到237Kbps的二代(2G)連接,在移動寬帶上被連接到網(wǎng)絡(luò)130時,智能移動應用更新程序200可以選擇僅包括關(guān)鍵修復的精簡軟件應用更新包。但是,當移動計算設(shè)備110通過56Mbps到128Mbps之間的數(shù)據(jù)速率被連接到WPAN時,智能移動應用更新程序200可以選擇包括改進和關(guān)鍵修復的完整軟件應用更新包。
[0027]在步驟208,智能移動應用更新程序200確定處理更新策略124的更新請求的CDN的最近地理數(shù)據(jù)中心。在一個實施例中,智能移動應用更新程序200確定CDN的最近地理數(shù)據(jù)中心。例如,移動計算設(shè)備110位于美國波士頓,其CDN位于紐約、費城、華盛頓特區(qū)和亞特蘭大。因此,智能移動應用更新程序200選擇紐約⑶N,因為紐約在地理上距離波士頓最近。在另一實施例中,智能移動應用更新程序200可以確定能夠處理更新請求的CDN的最近地理位置。例如,存在兩個基于三角位置關(guān)系與移動計算設(shè)備110的距離幾乎相同的CDN位置。智能移動應用更新程序200判定這兩個CDN中的哪一個具有更大的可用帶寬來處理請求。在某一其它實施例中,智能移動應用更新程序200從可用CDN位置列表中接收用戶的CDN選擇。例如,雖然移動計算設(shè)備110可以位于紐約,但是被指定給公司的優(yōu)選CDN位于新澤西。智能移動應用更新程序200向移動計算設(shè)備110的用戶顯示可用CDN列表。用戶然后可以選擇位于新澤西的被指定給該公司的CDN,而不是位于紐約的較近CDN位置。
[0028]在步驟210,智能移動應用更新程序200確定更新策略124的對等選項。智能移動應用更新程序200檢查在步驟202接收的安全位的狀態(tài)。在一個實施例中,安全位被設(shè)定為true(真),并且智能移動應用更新程序200將更新策略124設(shè)定為不搜索可用的對等連接(例如,針對移動計算設(shè)備110啟用安全位,并且不允許對等連接)。在另一實施例中,安全位被設(shè)定為false(假),并且智能移動應用更新程序200將更新策略124設(shè)定為搜索可用的對等連接(例如,未針對移動計算設(shè)備110啟用安全位,并且允許對等連接)。智能移動應用更新程序200在更新策略124內(nèi)設(shè)定所確定的對等選項。
[0029]在步驟212,智能移動應用更新程序200確定更新策略124的延遲和機會窗口。在一個實施例中,智能移動應用更新程序200可以確定作為所計算的隨機時間延遲的延遲,該延遲通過平衡和優(yōu)化工作負荷以確保諸如移動計算設(shè)備110之類的移動計算設(shè)備及時接收更新,促進一段時間內(nèi)針對CDN位置的請求分配(例如,當大量請求在類似的時間范圍內(nèi)發(fā)生時,使得一種類型的連接不會接收導致CDN超載的相同延遲)。例如,將延遲確定為I小時,并且當前時間為I點鐘。該延遲將下載的開始時間更改為2點鐘(S卩,與下載關(guān)聯(lián)的開始時間被偏移所確定的延遲量)。智能移動應用更新程序200可以確定作為引入以下項的計算的延遲:這些項包括隨機數(shù)、用戶數(shù)、服務器版本更新應用122的大小、協(xié)議開銷、以及CDN位置的帶寬。帶寬是以每秒位數(shù)的公制倍數(shù)表示的可用或已用信息量的位速率。帶寬定義數(shù)字通信系統(tǒng)中通信路徑的凈位速率、信道容量或最大吞吐量(即,通過通信路徑的成功數(shù)據(jù)傳輸?shù)钠骄俾?。協(xié)議開銷指應用所發(fā)送的元數(shù)據(jù)和網(wǎng)絡(luò)路由信息,其使用可用帶寬的一部分,但是對消息內(nèi)容沒有任何幫助。在另一實施例中,智能移動應用更新程序200可以基于其它因素(例如,優(yōu)先級表、更新的關(guān)鍵性等)確定同樣分配請求的延遲。此外,智能移動應用更新程序200確定下載發(fā)生的機會窗口(例如,其中基于文件大小、連接的數(shù)據(jù)速率,下載持續(xù)時間而言,下載應該能夠完成的時間量)。智能移動應用更新程序200利用機會窗口幫助將更新分發(fā)到諸如移動計算設(shè)備11之類等待更新的移動計算設(shè)備(例如,通過隊列提供持續(xù)移動的手段)。例如,通過使用文件大小和數(shù)據(jù)速率連接的速度,智能移動應用更新程序200可以確定更新完成的整體時間。智能移動應用更新程序200可以使用該整體時間作為添加到延遲的偏移來幫助請求的分配。在另一實例中,盡管用戶保持同一連接類型,但是連接的數(shù)據(jù)速率可能變化(例如,減速或加速),這影響下載時間并且給其它移動計算設(shè)備下載更新的能力帶來風險。機會窗口所提供的時間限制提供了一種延遲一個下載并開始另一下載以繼續(xù)隊列內(nèi)的移動的機制。
[0030]在步驟214,智能移動應用更新程序200通過網(wǎng)絡(luò)130將更新策略124發(fā)送到智能移動應用安裝客戶機程序300。更新策略124包括軟件應用更新包(例如,將移動應用112更新到諸如服務器版本更新應用122的軟件版本)、CDN位置以及延遲。智能移動應用安裝客戶機程序300在接收到更新策略124時啟動。
[0031]圖3是示出根據(jù)本發(fā)明的一個實施例的智能移動應用安裝客戶機程序300(其是用于更新移動計算設(shè)備上的應用軟件的程序)的操作步驟的流程圖。
[0032]在步驟302,智能移動應用安裝客戶機程序300從智能移動應用更新程序200接收更新策略124。智能移動應用更新程序200接收推送通知(S卩,服務器發(fā)起的傳輸)內(nèi)的更新策略124。智能移動應用安裝客戶機程序300然后基于更新策略124內(nèi)的信息啟動對移動應用112的更新的安裝。
[0033]在決策304,智能移動應用安裝客戶機程序300判定對等連接是否可用。當安全位被設(shè)定為false(假)時,智能移動應用安裝客戶機程序300判定對等連接是否可用(例如,更新策略124包括通過對等連接發(fā)生更新的選項(步驟210))。當節(jié)點在不使用中央管理系統(tǒng)的情況下與其它節(jié)點共享資源(例如,處理能力、磁盤存儲、網(wǎng)絡(luò)帶寬和文件)時,對等連接發(fā)生。智能移動應用安裝客戶機程序300搜索可用對等連接來查找在更新策略124中標識的軟件應用更新包。例如,移動計算設(shè)備110允許對等連接。智能移動應用安裝客戶機程序300搜索對等連接,并且確定對等移動計算設(shè)備140是可用對等連接。智能移動應用安裝客戶機程序300進一步確定對等移動計算設(shè)備140,該移動計算設(shè)備140包括對等版本更新應用142(例如,在更新策略124內(nèi)標注的軟件應用更新包)。
[0034]如果智能移動應用安裝客戶機程序300判定對等連接可用(決策304,“是”分支),則智能移動應用安裝客戶機程序300協(xié)商傳輸(步驟306)。如果智能移動應用安裝客戶機程序300判定對等連接不可用(決策304,“否”分支),則智能移動應用安裝客戶機程序300基于更新策略124設(shè)定觸發(fā)器(步驟308)。
[0035]在步驟306,智能移動應用安裝客戶機程序300協(xié)商對等版本更新應用142的傳輸。智能移動應用安裝客戶機程序300在網(wǎng)絡(luò)130上建立計算設(shè)備110與對等移動計算設(shè)備140之間的文件傳輸協(xié)議。一旦智能移動應用安裝客戶機程序300建立文件傳輸協(xié)議,智能移動應用安裝客戶機程序300便從對等移動計算設(shè)備140下載對移動應用112的更新(例如,對等版本更新應用142)(步驟312)。
[0036]在步驟308,智能移動應用安裝客戶機程序300基于更新策略124設(shè)定觸發(fā)器(例如,在更新策略124內(nèi)設(shè)定的延遲)。觸發(fā)器是一個進程,該進程在事件發(fā)生時啟動動作(例如,當滿足延遲條件時,啟動更新的下載)。在一個實施例中,延遲是可協(xié)商的(例如,更新策略124指示不需要延遲),并且智能移動應用安裝客戶機程序300設(shè)定立即從CDN位置下載的觸發(fā)器。在另一實施例中,智能移動應用安裝客戶機程序300設(shè)定具有日期和時間規(guī)則的觸發(fā)器(例如,延遲不可協(xié)商)。智能移動應用安裝客戶機程序300設(shè)定指定日期和時間的觸發(fā)器以在CDN上分配負荷(S卩,一次僅允許設(shè)定數(shù)量的移動設(shè)備連接到CDN,以便減輕CDN的超載)。例如,智能移動應用安裝客戶機程序300設(shè)定類似于事件的觸發(fā)器(例如,今天下午5點),以便將服務器版本更新應用122下載到移動計算設(shè)備110。智能移動應用安裝客戶機程序300存儲更新策略124,直至滿足觸發(fā)器準則。
[0037]在決策310,智能移動應用安裝客戶機程序300判定是否滿足觸發(fā)器準則。智能移動應用安裝客戶機程序300利用移動計算設(shè)備110的功能(例如,日歷和時鐘)來判定是否滿足觸發(fā)器準則。如果智能移動應用安裝客戶機程序300判定滿足觸發(fā)器準則(決策310,“是”分支),則智能移動應用安裝客戶機程序300基于更新策略124開始服務器版本更新應用122的下載。如果智能移動應用安裝客戶機程序300判定不滿足觸發(fā)器準則(決策310,“否”分支),則智能移動應用安裝客戶機程序300返回以等待觸發(fā)器準則被滿足(決策310)。例如,觸發(fā)器是今天下午5點,當滿足今天的條件時,時鐘的實際時間是下午4點;因此,智能移動應用安裝客戶機程序300判定觸發(fā)器未被滿足,并且返回以等待在下午5點滿足觸發(fā)器準則。
[0038]在步驟312,智能移動應用安裝客戶機程序300下載對移動應用112的更新。在一個實施例中,智能移動應用安裝客戶機程序300開始新下載(例如,對移動應用112的更新首次可用并且連接到下載)。在另一實施例中,智能移動應用安裝客戶機程序300恢復之前的下載(例如,初始下載未完成,已存儲部分下載以便在另一時間繼續(xù)下載)。在一個實施例中,智能移動應用安裝客戶機程序300通過網(wǎng)絡(luò)130連接到CDN(例如,連接到在更新策略124中標識的CDN)。智能移動應用安裝客戶機程序300基于與CDN的連接的數(shù)據(jù)速率來下載服務器版本更新應用122。在另一實施例中,智能移動應用安裝客戶機程序300通過網(wǎng)絡(luò)130連接到對等移動計算設(shè)備140。智能移動應用安裝客戶機程序300下載對等版本更新應用142。在一個實施例中,智能移動應用安裝客戶機程序300在更新策略124有效(例如,未超過機會窗口)的同時繼續(xù)下載更新(例如,服務器版本更新應用122、對等版本更新應用142)。在另一實施例中,智能移動應用安裝客戶機程序300在智能移動應用安裝客戶機程序300成功地協(xié)商對更新策略124的延長(例如,延長機會窗口)之后繼續(xù)下載更新。
[0039]在決策314,智能移動應用安裝客戶機程序300判定下載是否完成。當智能移動應用安裝客戶機程序300開始服務器版本更新應用122的下載時,完成所需的時間(S卩,下載完成所需的時間)與涉及文件大小和數(shù)據(jù)連接速率的下載關(guān)聯(lián)。在一個實施例中,智能移動應用安裝客戶機程序300跟蹤下載的完成百分比。在另一實施例中,智能移動應用安裝客戶機程序300跟蹤完成下載所剩余的預估時間。在某一其它實施例中,智能移動應用安裝客戶機程序300跟蹤完成百分比和完成下載的剩余時間的組合。
[0040]如果智能移動應用安裝客戶機程序300判定下載完成(決策314,“是”分支),則智能移動應用安裝客戶機程序300完成(例如,移動計算設(shè)備110包括最近版本的應用軟件)。如果智能移動應用安裝客戶機程序300判定下載未完成(決策314,“否”分支),則智能移動應用安裝客戶機程序300判定網(wǎng)絡(luò)連接是否改變(決策316)。
[0041]在決策316,智能移動應用安裝客戶機程序300判定網(wǎng)絡(luò)連接是否改變。在一個實施例中,智能移動應用安裝客戶機程序300未檢測到網(wǎng)絡(luò)連接的變化。例如,移動計算設(shè)備110的用戶在家,并且移動計算設(shè)備110仍通過WPAN連接到網(wǎng)絡(luò)130。在另一實施例中,智能移動應用安裝客戶機程序300檢測到網(wǎng)絡(luò)連接的改變(例如、CDN位置更新、對等網(wǎng)絡(luò)更新、從CDN到對等的轉(zhuǎn)變、從對等到CDN的轉(zhuǎn)變、數(shù)據(jù)速率連接更新等)。如果智能移動應用安裝客戶機程序300判定網(wǎng)絡(luò)沒有改變(決策316,“否”分支),則智能移動應用安裝客戶機程序300判定機會窗口是否超過更新策略124(決策318)。在另一實例中,移動計算設(shè)備110的用戶正在駕駛汽車,并且移動計算設(shè)備110從4G電話塔轉(zhuǎn)移到3G電話塔(S卩,導致網(wǎng)絡(luò)連接改變)。如果智能移動應用安裝客戶機程序300判定網(wǎng)絡(luò)130確實改變(決策316,“是”分支),則智能移動應用安裝客戶機程序300存儲網(wǎng)絡(luò)130的連接變化之前下載的內(nèi)容(步驟322)。
[0042]在決策318,智能移動應用安裝客戶機程序300判定機會窗口是否超過更新策略124。智能移動應用安裝客戶機程序300將所計算的機會窗口與實際下載時間進行比較(SP,判定下載是否在設(shè)定的時間內(nèi)完成)。如果智能移動應用安裝客戶機程序300判定實際下載時間超過機會窗口(決策318,“是”分支),則智能移動應用安裝客戶機程序300判定機會窗口是否能夠被延長(決策320)。如果智能移動應用安裝客戶機程序300判定實際下載時間未超過機會窗口(決策318,“否”分支),則智能移動應用安裝客戶機程序300繼續(xù)服務器版本更新應用122或?qū)Φ劝姹靖聭?42的下載(步驟312)。
[0043]在決策320,智能移動應用安裝客戶機程序300判定機會窗口是否能夠被延長。智能移動應用安裝客戶機程序300執(zhí)行與CDN、服務器120或?qū)Φ纫苿佑嬎阍O(shè)備140的握手。握手是在計算設(shè)備之間發(fā)生的自動協(xié)商進程,用于協(xié)商通信信道兩端針對信息傳輸(即,在設(shè)備之間發(fā)送和接收的一系列消息,從而檢驗連接、數(shù)據(jù)速率和針對通信協(xié)議達成一致的授權(quán))均可接受的參數(shù)。如果智能移動應用安裝客戶機程序300判定機會窗口能夠被延長(決策320,“是”分支),則智能移動應用安裝客戶機程序300使用命令延長機會窗口(例如,在握手內(nèi)協(xié)商),并且繼續(xù)下載對移動應用112的更新(步驟312)。例如,智能移動應用安裝客戶機程序300判定CDN可以處理請求(例如,CDN并非最大容量);因此,許可延長并且下載繼續(xù)。如果智能移動應用安裝客戶機程序300判定機會窗口不能被延長(決策320,“否”分支),則智能移動應用安裝客戶機程序300存儲已下載的內(nèi)容(步驟322)。例如,智能移動應用安裝客戶機程序300確定對等移動計算設(shè)備140的資源不再可用,并且存儲內(nèi)容,直至下載可以恢復時為止。
[0044]在步驟322,智能移動應用安裝客戶機程序300存儲已下載內(nèi)容(S卩,服務器版本更新應用122的一部分)。智能移動應用安裝客戶機程序300存儲該內(nèi)容,以便一旦能夠恢復下載,可以潛在地縮短剩余下載時間。在一個實施例中,智能移動應用安裝客戶機程序300存儲在與網(wǎng)絡(luò)130的連接發(fā)生變化之前已下載的內(nèi)容。例如,在下載期間,與網(wǎng)絡(luò)130的連接丟失。智能移動應用安裝客戶機程序300存儲直至連接丟失點之前已下載的內(nèi)容。當移動計算設(shè)備110重新建立與網(wǎng)絡(luò)130的連接時,之前已下載的數(shù)據(jù)部分仍在移動計算設(shè)備110上,在該點恢復下載,并且智能移動應用安裝客戶機程序300下載服務器版本更新應用122的剩余部分。在另一實施例中,智能移動應用安裝客戶機程序300存儲在超過更新策略124內(nèi)設(shè)定的機會窗口之前已下載的內(nèi)容。
[0045]在步驟324,智能移動應用安裝客戶機程序300將新信息發(fā)送到智能移動應用更新程序200以確定新的更新策略124。例如,由于網(wǎng)絡(luò)連接變化,智能移動應用安裝客戶機程序300重新發(fā)送智能移動應用更新程序200接收的3G的位置、校驗和、安全位狀態(tài)以及更新網(wǎng)絡(luò)類型(步驟202)。在智能移動應用更新程序200確定新的更新策略124之前,智能移動應用安裝客戶機程序300不會恢復。智能移動應用安裝客戶機程序300基于新的更新策略124繼續(xù)服務器版本更新應用122的下載。
[0046]圖4示出根據(jù)本發(fā)明的一個示例性實施例的作為服務器120的代表的服務器400的組件的框圖。需要理解,圖4僅提供一個實現(xiàn)的例示,并非暗示對其中可實現(xiàn)不同實施例的環(huán)境的限制。可以對所示的環(huán)境做出許多修改。
[0047]服務器400包括通信結(jié)構(gòu)402,該結(jié)構(gòu)提供計算機處理器(多個)404、存儲器406、永久存儲裝置408、通信單元410和輸入/輸出(I/O)接口(多個)412之間的通信。通信結(jié)構(gòu)4002可以通過被設(shè)計為在處理器(例如微處理器、通信和網(wǎng)絡(luò)處理器等)、系統(tǒng)存儲器、外圍設(shè)備,以及系統(tǒng)內(nèi)的其它任何硬件組件之間傳送數(shù)據(jù)和/或控制信息的任何體系架構(gòu)實現(xiàn)。例如,通信結(jié)構(gòu)402可以通過一個或多個總線實現(xiàn)。
[0048]存儲器406和永久存儲裝置408是計算機可讀存儲介質(zhì)。在該實施例中,存儲器406包括隨機存取存儲器(RAM)414和高速緩沖存儲器416。一般而言,存儲器406可以包括任何適當?shù)囊资曰蚍且资杂嬎銠C可讀存儲介質(zhì)。
[0049]移動應用112、服務器版本更新應用122、更新策略124、對等版本更新應用142、智能移動應用更新程序200以及智能移動應用安裝客戶機程序300被存儲在永久存儲裝置408中,以便由一個或多個相應計算機處理器404經(jīng)由一個或多個存儲器406來執(zhí)行和/或訪問。在該實施例中,永久存儲裝置408包括磁硬盤驅(qū)動器。作為磁硬盤驅(qū)動器的備選或補充,永久存儲裝置408可包括固態(tài)硬盤驅(qū)動器、半導體存儲器件、只讀存儲器(R0M)、可擦寫可編程只讀存儲器(EPROM)、閃存或其它任何能夠存儲程序指令或數(shù)字信息的計算機可讀存儲介質(zhì)。
[0050]永久存儲裝置408使用的介質(zhì)也可以是可移動的。例如,可以使用可移動硬盤驅(qū)動器作為永久存儲裝置408。其它例子包括插入驅(qū)動器以將信息傳輸?shù)酵瑯幼鳛橛谰么鎯ρb置408的一部分的另一計算機可讀存儲介質(zhì)的光盤和磁盤、拇指驅(qū)動器以及智能卡。
[0051]在這些例子中,通信單元410提供與其它數(shù)據(jù)處理系統(tǒng)或設(shè)備的通信,其中包括企業(yè)網(wǎng)格的資源和客戶機設(shè)備。在這些例子中,通信單元410包括一個或多個網(wǎng)絡(luò)接口卡。通信單元410可以通過使用物理通信鏈路和無線通信鏈路中的任一者或全部兩者來提供通信。移動應用112、服務器版本更新應用122、更新策略124、對等版本更新應用142、智能移動應用更新程序200以及智能移動應用安裝客戶機程序300可以通過通信單元410被下載到永久存儲裝置408。
[0052]I/O接口(多個)412允許與可被連接到服務器400的其它設(shè)備執(zhí)行數(shù)據(jù)的輸入和輸出。例如,I/O接口 412可以提供到諸如鍵盤、小鍵盤、觸摸屏和/或其它某種適當?shù)妮斎朐O(shè)備之類的外部設(shè)備418的連接。外部設(shè)備418還可以包括便攜式計算機可讀存儲介質(zhì),例如拇指驅(qū)動器、便攜式光盤或磁盤以及存儲卡。被用于實施本發(fā)明實施例的軟件和數(shù)據(jù)(例如,移動應用112、服務器版本更新應用122、更新策略124、對等版本更新應用142、智能移動應用更新程序200以及智能移動應用安裝客戶機程序300)能夠被存儲在這些便攜式計算機可讀存儲介質(zhì)上,并且能夠經(jīng)由I/O接口(多個)412被加載到永久存儲裝置408上。I/O接口(多個)412也可以連接到顯示器420。
[0053]顯示器420提供向用戶顯示數(shù)據(jù)的機構(gòu),其例如可以是計算機監(jiān)視器。
[0054]此處描述的程序基于在本發(fā)明的特定實施例中實現(xiàn)它們所針對的應用而被識別。但是應該理解,此處任何特定的程序命名的使用只是為了方便,因此,本發(fā)明不應被限于僅在這些命名所標識和/或暗示的任何特定應用中使用。
[0055]本發(fā)明可以是系統(tǒng)、方法和/或計算機程序產(chǎn)品。計算機程序產(chǎn)品可以包括計算機可讀存儲介質(zhì),其上載有用于使處理器實現(xiàn)本發(fā)明的各個方面的計算機可讀程序指令。
[0056]計算機可讀存儲介質(zhì)可以是可以保持和存儲由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計算機可讀存儲介質(zhì)例如可以是一一但不限于一一電存儲設(shè)備、磁存儲設(shè)備、光存儲設(shè)備、電磁存儲設(shè)備、半導體存儲設(shè)備或者上述的任意合適的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、靜態(tài)隨機存取存儲器(SRAM)、便攜式壓縮盤只讀存儲器(CD-ROM)、數(shù)字多功能盤(DVD)、記憶棒、軟盤、機械編碼設(shè)備、例如其上存儲有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計算機可讀存儲介質(zhì)不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸?shù)碾娦盘枴?br>[0057]這里所描述的計算機可讀程序指令可以從計算機可讀存儲介質(zhì)下載到各個計算/處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計算機或外部存儲設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機、網(wǎng)關(guān)計算機和/或邊緣服務器。每個計算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計算機可讀程序指令,并轉(zhuǎn)發(fā)該計算機可讀程序指令,以供存儲在各個計算/處理設(shè)備中的計算機可讀存儲介質(zhì)中。
[0058]用于執(zhí)行本發(fā)明操作的計算機程序指令可以是匯編指令、指令集架構(gòu)(ISA)指令、機器指令、機器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語言的任意組合編寫的源代碼或目標代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言一諸如Smalltalk、C++等,以及常規(guī)的過程式編程語言一諸如“C”語言或類似的編程語言。計算機可讀程序指令可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務提供商來通過因特網(wǎng)連接)。在一些實施例中,通過利用計算機可讀程序指令的狀態(tài)信息來個性化定制電子電路,例如可編程邏輯電路、現(xiàn)場可編程門陣列(FPGA)或可編程邏輯陣列(PLA),該電子電路可以執(zhí)行計算機可讀程序指令,從而實現(xiàn)本發(fā)明的各個方面。
[0059]這里參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明的各個方面。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機可讀程序指令實現(xiàn)。
[0060]這些計算機可讀程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。也可以把這些計算機可讀程序指令存儲在計算機可讀存儲介質(zhì)中,這些指令使得計算機、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲有指令的計算機可讀介質(zhì)則包括一個制造品,其包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的各個方面的指令。
[0061]也可以把計算機可讀程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計算機、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機實現(xiàn)的過程,從而使得在計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作。
[0062]附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
[0063]以上已經(jīng)描述了本發(fā)明的各實施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實施例。在不偏離本發(fā)明的范圍和精神的情況下,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變化都是顯而易見的。本文中所用術(shù)語的選擇,旨在最好地解釋實施例的原理、實際應用或?qū)κ袌鲋械募夹g(shù)的技術(shù)改進,或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實施例。
【主權(quán)項】
1.一種用于管理移動軟件應用的更新的方法,所述方法包括: 由一個或多個計算機處理器接收關(guān)于移動計算設(shè)備和所述移動計算設(shè)備上的移動軟件應用的信息,其中關(guān)于所述移動計算設(shè)備的信息包括以下項中的至少一個或多個:所述移動計算設(shè)備的位置、網(wǎng)絡(luò)連接類型、與所述移動計算設(shè)備關(guān)聯(lián)的安全位、以及與至少一個移動軟件應用關(guān)聯(lián)的校驗和; 由一個或多個計算機處理器判定所述移動軟件應用是否與計算設(shè)備上的已存儲的移動軟件應用相匹配;以及 響應于判定所述移動軟件應用與所述計算設(shè)備上的所述已存儲的移動軟件應用不匹配,由一個或多個計算機處理器確定用于安排對所述移動計算設(shè)備上的所述移動軟件應用的更新的更新策略。2.如權(quán)利要求1所述的方法,其中確定用于安排對所述移動計算設(shè)備上的所述移動軟件應用的更新的更新策略進一步包括: 由一個或多個計算機處理器確定軟件應用更新包; 由一個或多個計算機處理器確定用于從中接收所述軟件應用更新包的位置,其中用于從中接收所述軟件應用更新包的位置包括以下項中的一個或多個:內(nèi)容傳送網(wǎng)絡(luò)位置和對等網(wǎng)絡(luò)選項; 由一個或多個計算機處理器確定提供與安排對所述移動計算設(shè)備上的所述移動軟件應用的更新相關(guān)聯(lián)的開始時間的延遲;以及 由一個或多個計算機處理器確定用于指示完成所述軟件應用更新包的下載的最大持續(xù)時間的機會窗口。3.如權(quán)利要求1所述的方法,還包括: 由一個或多個計算機處理器將所述更新策略發(fā)送到所述移動計算設(shè)備; 由一個或多個計算機處理器基于提供與所述更新策略相關(guān)聯(lián)的開始時間的延遲而設(shè)置觸發(fā)器; 由一個或多個計算機處理器確定所述觸發(fā)器出現(xiàn); 由一個或多個計算機處理器啟動將所述軟件應用更新包下載到所述移動計算設(shè)備;以及 由一個或多個計算機處理器判定所啟動的下載是否完成。4.如權(quán)利要求3所述的方法,還包括: 響應于判定所啟動的下載未完成,由一個或多個計算機處理器判定所述移動計算設(shè)備的網(wǎng)絡(luò)連接是否改變; 響應于判定所述網(wǎng)絡(luò)連接改變,由一個或多個計算機處理器存儲與所啟動的下載的已完成部分相關(guān)聯(lián)的內(nèi)容; 由一個或多個計算機處理器接收關(guān)于所述移動計算設(shè)備的已更新信息; 由一個或多個計算機處理器基于所接收的已更新信息,確定對所述更新策略的更新;以及 由一個或多個計算機處理器將所確定的對所述更新策略的更新發(fā)送到所述移動計算設(shè)備。5.如權(quán)利要求3所述的方法,還包括: 響應于判定所述下載未完成,由一個或多個計算機處理器判定所述移動計算設(shè)備的網(wǎng)絡(luò)連接是否改變;以及 響應于判定所述網(wǎng)絡(luò)連接未改變,由一個或多個計算機處理器判定是否超過指示完成所述軟件應用更新包的下載的最大持續(xù)時間的機會窗口。6.如權(quán)利要求5所述的方法,還包括: 響應于判定超過指示完成所述軟件應用更新包的下載的最大持續(xù)時間的機會窗口,由一個或多個計算機處理器判定是否延長所述機會窗口 ;以及 響應于判定延長所述機會窗口,由一個或多個計算機處理器將用于延長所述機會窗口的命令發(fā)送到所述移動計算設(shè)備。7.如權(quán)利要求6所述的方法,還包括: 響應于判定未延長所述機會窗口,由一個或多個計算機處理器存儲與所啟動的下載的已完成部分關(guān)聯(lián)的內(nèi)容; 由一個或多個計算機處理器接收關(guān)于所述移動計算設(shè)備的已更新信息; 由一個或多個計算機處理器基于所接收的已更新信息,確定對所述更新策略的更新;以及 由一個或多個計算機處理器將所確定的對所述更新策略的更新發(fā)送到所述移動計算設(shè)備。8.—種用于管理移動軟件應用的更新的計算機系統(tǒng),所述計算機系統(tǒng)包括: 一個或多個計算機處理器、一個或多個計算機可讀存儲介質(zhì),以及存儲在所述計算機可讀存儲介質(zhì)上以便由所述一個或多個處理器中的至少一個執(zhí)行的程序指令,所述程序指令包括: 用于接收關(guān)于移動計算設(shè)備和所述移動計算設(shè)備上的移動軟件應用的信息的程序指令,其中關(guān)于所述移動計算設(shè)備的信息包括以下項中的至少一個或多個:所述移動計算設(shè)備的位置、網(wǎng)絡(luò)連接類型、與所述移動計算設(shè)備關(guān)聯(lián)的安全位、以及與至少一個移動軟件應用關(guān)聯(lián)的fe驗和; 用于判定所述移動軟件應用是否與計算設(shè)備上的已存儲的移動軟件應用相匹配的程序指令;以及 用于響應于判定所述移動軟件應用與所述計算設(shè)備上的所述已存儲的移動軟件應用不匹配,確定用于安排對所述移動計算設(shè)備上的所述移動軟件應用的更新的更新策略的程序指令。9.如權(quán)利要求8所述的計算機系統(tǒng),其中確定用于安排對所述移動計算設(shè)備上的所述移動軟件應用的更新的更新策略進一步包括存儲在所述計算機可讀存儲介質(zhì)上以便由所述一個或多個處理器中的至少一個執(zhí)行的程序指令,所述程序指令用于執(zhí)行以下操作: 確定軟件應用更新包; 確定用于從中接收所述軟件應用更新包的位置,其中用于從中接收所述軟件應用更新包的位置包括以下項中的一個或多個:內(nèi)容傳送網(wǎng)絡(luò)位置和對等網(wǎng)絡(luò)選項; 確定提供與安排對所述移動計算設(shè)備上的所述移動軟件應用的更新相關(guān)聯(lián)的開始時間的延遲;以及 確定用于指示完成所述軟件應用更新包的下載的最大持續(xù)時間的機會窗口。10.如權(quán)利要求8所述的計算機系統(tǒng),還包括存儲在所述一個或多個計算機可讀存儲介質(zhì)上以便由所述一個或多個處理器的至少一個執(zhí)行的程序指令,所述程序指令用于執(zhí)行以下操作: 將所述更新策略發(fā)送到所述移動計算設(shè)備; 基于提供與所述更新策略相關(guān)聯(lián)的開始時間的延遲而設(shè)置觸發(fā)器; 確定所述觸發(fā)器出現(xiàn); 啟動將所述軟件應用更新包下載到所述移動計算設(shè)備;以及 判定所啟動的下載是否完成。11.如權(quán)利要求10所述的計算機系統(tǒng),還包括存儲在所述一個或多個計算機可讀存儲介質(zhì)上以便由所述一個或多個處理器的至少一個執(zhí)行的程序指令,所述程序指令用于執(zhí)行以下操作: 響應于判定所啟動的下載未完成,判定所述移動計算設(shè)備的網(wǎng)絡(luò)連接是否改變; 響應于判定所述網(wǎng)絡(luò)連接改變,存儲與所啟動的下載的已完成部分相關(guān)聯(lián)的內(nèi)容; 接收關(guān)于所述移動計算設(shè)備的已更新信息; 基于所接收的已更新信息,確定對所述更新策略的更新;以及 將所確定的對所述更新策略的更新發(fā)送到所述移動計算設(shè)備。12.如權(quán)利要求10所述的計算機系統(tǒng),還包括存儲在所述一個或多個計算機可讀存儲介質(zhì)上以便由所述一個或多個處理器的至少一個執(zhí)行的程序指令,所述程序指令用于執(zhí)行以下操作: 響應于判定所述下載未完成,判定所述移動計算設(shè)備的網(wǎng)絡(luò)連接是否改變;以及響應于判定所述網(wǎng)絡(luò)連接未改變,判定是否超過指示完成所述軟件應用更新包的下載的最大持續(xù)時間的機會窗口。13.如權(quán)利要求12所述的計算機系統(tǒng),還包括存儲在所述一個或多個計算機可讀存儲介質(zhì)上以便由所述一個或多個處理器的至少一個執(zhí)行的程序指令,所述程序指令用于執(zhí)行以下操作: 響應于判定超過指示完成所述軟件應用更新包的下載的最大持續(xù)時間的機會窗口,判定是否延長所述機會窗口 ;以及 響應于判定延長所述機會窗口,將用于延長所述機會窗口的命令發(fā)送到所述移動計算設(shè)備。
【文檔編號】G06F9/44GK105975254SQ201610131646
【公開日】2016年9月28日
【申請日】2016年3月9日
【發(fā)明人】A·亞歷山德羅夫, G·達納克施魯爾, V·S·庫馬蘭
【申請人】國際商業(yè)機器公司