專利名稱:用于移動設(shè)備的應(yīng)用程序分發(fā)和配置管理的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及配置管理系統(tǒng),尤其涉及使用這種系統(tǒng)來傳遞用于遠程配置移動設(shè)備的應(yīng)用程序。
(2)背景技術(shù)計算機已經(jīng)變成工作場所的整體部分。在許多單位中,幾乎每個員工使用至少一臺計算機。因此,大企業(yè)一般運行和管理很大數(shù)量的計算機。在這樣的企業(yè)中,盡可能自動處理日常維護事務(wù)程度變得重要起來。
幸運的是,局域網(wǎng)(LAN)和廣域網(wǎng)(WAN)也已經(jīng)普及,允許一個單位的各種計算機得益于集中提供的計算機服務(wù),如用戶認證、文件共享、電子郵件和各種其它類型的服務(wù)。
配置管理系統(tǒng)代表一種類型的服務(wù),在網(wǎng)絡(luò)化環(huán)境中能有效地使用該服務(wù)在一組織內(nèi)自動維護和管理各種獨立的計算機。這樣一項服務(wù)為集中軟件分發(fā)、資源管理和與臺式計算機、服務(wù)器和服務(wù)器應(yīng)用程序的遠程故障診斷提供工具。微軟公司的“System Management Server”是為此目的所設(shè)計的一個實例。
圖1示出計算機系統(tǒng)10的一簡化的實例,在該系統(tǒng)中實現(xiàn)了自動配置管理。這樣的一個系統(tǒng)包括一管理服務(wù)器12和一組客戶計算機14??蛻魴C14能通過局域網(wǎng)或廣域網(wǎng)16相互通信并與管理服務(wù)器12通信。
盡管在圖1中將管理服務(wù)器12表示為單一的設(shè)備,但它可包括一組獨立的計算機或服務(wù)器,并可彼此緊密靠近地放置或可放置在各種不同的位置。
現(xiàn)代操作系統(tǒng)和應(yīng)用軟件常常為駐留了該操作系統(tǒng)和應(yīng)用軟件的計算機的自動配置管理提供客戶端支持。例如,Microsoft Windows XP@系列的操作系統(tǒng)中在數(shù)據(jù)庫中保持硬件和軟件兩者的明細目錄,來自本計算機和來自其它計算機的組件都可以程序化查詢和數(shù)據(jù)校對。在Windows環(huán)境中,這一特點被稱為WindowsManagement Instrumentation或WMI。改變和配置管理軟件能利用WMI信息來獲得各個計算機的目錄并估計一計算機的配置是否應(yīng)該更新或改變。
除操作系統(tǒng)的支持外,各個客戶計算機14一般用專用軟件來支持自動配置管理。這樣的軟件通常是作為自動配置管理系統(tǒng)的特定廠商的實現(xiàn)的一部分而設(shè)計的,例如作為Microsoft@ Systems Management Server產(chǎn)品的一部分。該專用軟件與客戶計算機的操作系統(tǒng)一起運行,與管理服務(wù)器12一起執(zhí)行各種功能。因此,一個自動配置管理系統(tǒng)的完整框架包括服務(wù)器組件和客戶機組件兩者。
圖2示出由Microsoft@ Systems Management Server產(chǎn)品實現(xiàn)的配置管理框架的簡化邏輯組件,包括服務(wù)器12的組件和客戶機14內(nèi)實現(xiàn)的組件。所述組件涉及框架的目錄和軟件分布特點。
管理服務(wù)器12具有一服務(wù)器目錄與發(fā)現(xiàn)組件20,它與駐留在客戶機14上的一客戶機目錄與發(fā)現(xiàn)組件22一起運行??蛻魴C目錄與發(fā)現(xiàn)組件22收集客戶計算機14的標識信息以及硬件和軟件目錄,將此信息匯編成數(shù)據(jù)結(jié)構(gòu),并向服務(wù)器12的服務(wù)器目錄與發(fā)現(xiàn)組件20提供此信息。標識信息被打包并作為被稱為發(fā)現(xiàn)數(shù)據(jù)記錄或DDR的數(shù)據(jù)結(jié)構(gòu)而報告。管理服務(wù)器將該信息保持在數(shù)據(jù)庫內(nèi)以便于資源管理功能。在客戶機14內(nèi),許多信息是使用Windows XP操作系統(tǒng)的WMI功能收集的。服務(wù)器12與客戶機14間的通信使用預(yù)定的協(xié)議,該協(xié)議是自動配置管理系統(tǒng)的特定實現(xiàn)專有的。
客戶計算機可能收集和報告超過200個屬性,包括如下細節(jié)·磁盤驅(qū)動器數(shù)量·處理器類型·存儲器數(shù)量·操作系統(tǒng)·監(jiān)視器和顯示器設(shè)置·計算機名稱和IP地址·關(guān)于連接的外部設(shè)備的信息·網(wǎng)絡(luò)類型·BIOS信息此外,每個客戶計算機報告安裝在該客戶機上的所有軟件列表,包括制造商和版本信息。
管理服務(wù)器12包括策略推進器24,將也被稱為公告的策略推進或自動分發(fā)到諸如客戶機14這樣被管理的計算機。策略指示可用于下載和安裝的軟件包,并還包括指示何種類型的客戶機應(yīng)該下載與安裝所指示軟件包的信息。軟件包是文件、以及用于下載與安裝該文件的指令構(gòu)成的集合。
客戶機14有策略評估程序26,接收來自服務(wù)器12的策略并評估這些策略以確定其目標是否是客戶機14。當策略評估程序26確定一個策略是針對客戶機14的,則策略評估程序26將此信息傳送給客戶機14上的應(yīng)用程序安裝組件28。安裝組件28檢查策略信息并確定如何下載相關(guān)軟件包。然后它連接至服務(wù)器12相關(guān)的分發(fā)點29并下載軟件包。在下載該包后,應(yīng)用程序安裝組件28按照所下載的軟件包中包含的信息來安裝該軟件包。
現(xiàn)有的自動配置管理系統(tǒng)如Microsoft@ Systems Management Server在圖1所示的傳統(tǒng)網(wǎng)絡(luò)化環(huán)境中運行良好,其中被管理的計算機包括臺式或在到管理服務(wù)器的高帶寬網(wǎng)絡(luò)上大致永久相連的其它計算機??墒牵F(xiàn)在對于一單位中各個員工有一種使用便攜計算設(shè)備的趨勢,該便攜計算設(shè)備不具有到管理服務(wù)器的持續(xù)高帶寬連接,取而代之,它們一般偶然或間歇地通過一般相當慢且常常不可靠通信路徑連接至管理服務(wù)器。
此外,這樣的便攜或移動計算設(shè)備通常比常規(guī)的臺式計算機具有更多的功能限制。特別是,以個人數(shù)字助理(PDA)和袖珍個人計算機(PPC)著稱的手持設(shè)備正在變得非常廣泛地使用,而它們的用戶經(jīng)常為諸如查看電子郵件或同步聯(lián)系列表這樣的任務(wù)而將這樣的設(shè)備連接到公司網(wǎng)絡(luò)。網(wǎng)絡(luò)連接可通過相關(guān)臺式計算機,或可通過獨立的網(wǎng)絡(luò)連接,包括無線和/或遠程訪問裝置。
盡管很多單位沒有為諸如PDA這樣的手持設(shè)備提供官方的技術(shù)支持,但它們的幫助部門卻收到不斷增長的有關(guān)這些設(shè)備的支持要求。這樣的要求經(jīng)常涉及配置手持設(shè)備并獲得安裝在該設(shè)備上的應(yīng)用程序的升級。
在很多環(huán)境中大量使用具有比完全臺式功能要少(即有限存儲器和/或處理資源)的計算機或類似計算機的設(shè)備。工廠自動化控制器、電子銷售點終端、汽油站泵等例子是普遍使用的、常常被網(wǎng)絡(luò)化但卻不具備傳統(tǒng)臺式計算機的完全功能和資源的設(shè)備。Microsoft@公司為這樣的有限資源設(shè)備設(shè)計了一專用版本的Windows@操作系統(tǒng),被稱為Windows CE@操作系統(tǒng)。
過去,間歇連接和有限資源的移動設(shè)備,如PDA和上面提過的其它例子,不能夠參與自動配置管理。使公司采用移動設(shè)備和對應(yīng)技術(shù)的最大障礙之一是配置這樣的設(shè)備的管理條件的缺乏?,F(xiàn)有的移動設(shè)備配置條件實際上受到有關(guān)支持費用、一般實現(xiàn)這樣的管理條件所必需的用戶干涉的外延量、以及不希望的安全暴露(例如,中間人的攻擊(MITM))的限制。
例如,一個現(xiàn)有的解決方案要求移動設(shè)備“停放”在運行配置應(yīng)用程序的臺式計算機以在被停放的設(shè)備上放置文件和設(shè)置。已停放的設(shè)備一般被放置在與它的主機計算機連接的支架或其它設(shè)備中。另一已知技術(shù)要求用戶用移動設(shè)備瀏覽公司網(wǎng)絡(luò)或互聯(lián)網(wǎng)以發(fā)現(xiàn)一下載站點并輕擊文件下載鏈接。該用戶將被提示在該設(shè)備上的所希望的存儲位置并繼續(xù)該應(yīng)用程序的安裝。還有另一現(xiàn)有配置移動設(shè)備的配置技術(shù),是將應(yīng)用程序和/或數(shù)據(jù)分發(fā)在可被插入設(shè)備的壓縮閃存(CF)存儲卡中。CF卡甚至可以自動地啟動安裝腳本。
這些方法的每一個具有其特定的優(yōu)勢,但它們都要求額外用戶交互且沒有提供簡單的方法保持間歇連接(例如至公司網(wǎng)絡(luò))的設(shè)備隨著間而更新。相反,它們只是提供一次性的配置機會。甚至使這種情況更為困難的是,移動設(shè)備經(jīng)常是通過相當慢的通信信道(例如,<9600波特)連接的,導致任何應(yīng)用程序和數(shù)據(jù)的更新要花費相當長的時間完成。
關(guān)于不希望的安全暴露(例如MITM攻擊),考慮到常規(guī)的移動設(shè)備配置技術(shù)一般沒有保護移動或遠程設(shè)備(即沒有被公司防火墻保護的設(shè)備)不受到惡意用戶中途截取并可能改變沿網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)的安全漏洞。這意味著當其它計算設(shè)備欺騙客戶機和服務(wù)器使它們相信它們是彼此直接通信的,而實際上攻擊者竟然中途截取兩個實體之間的所有網(wǎng)絡(luò)傳輸時,可能危及客戶機與特定主機服務(wù)器之間的數(shù)據(jù)交換?,F(xiàn)有移動設(shè)備配置管理系統(tǒng)的這些和其它限制將由下面的布置與過程致力于解決。
(3)發(fā)明內(nèi)容描述一用于移動設(shè)備的應(yīng)用程序分發(fā)和配置管理的系統(tǒng)管理框架。框架包括一管理服務(wù)器和一移動計算設(shè)備。管理服務(wù)器為了配置管理移動計算設(shè)備而發(fā)送下載指令。設(shè)定移動計算設(shè)備通過非永久連接連接至管理服務(wù)器。移動計算設(shè)備向管理服務(wù)器請求下載指令,確定是否有任何提議可由移動計算設(shè)備下載與安裝。管理服務(wù)器提供的任何提議表示自從移動計算設(shè)備完成上一次成功下載操作以來所產(chǎn)生的一或多個文件。移動計算設(shè)備允許用戶接受或拒絕提議中的任何一或多個提議的下載與安裝。
在一實現(xiàn)中,移動設(shè)備被預(yù)先設(shè)定為向一規(guī)定的管理服務(wù)器源請求下載指令。對應(yīng)于該規(guī)定的源的驗證信息(例如一或多個數(shù)字證書)由移動設(shè)備保持在一可信任源列表中。接著請求并從該規(guī)定的源接收下載指令,移動設(shè)備通過該可信任源列表驗證所收到的下載指令。在成功驗證后,使用該下載指令請求并從由驗證過的下載指令所指定的至少一個位置接收一或多個提議。進一步檢查所收到的提議的真實性,例如,通過一或多個安全哈希函數(shù)。通過這種方式,系統(tǒng)管理框架提供復(fù)合簽名系統(tǒng)當移動設(shè)備運行于公司防火墻的保護之外時充分消除了不希望的安全暴露。
(4)
圖1是背景技術(shù)系統(tǒng)管理框架的示意圖。
圖2是一框圖,說明用于如圖1所示的一個背景技術(shù)系統(tǒng)管理框架的配置管理服務(wù)器和客戶計算機邏輯組件。
圖3是一按照本發(fā)明的實施例的系統(tǒng)管理框架的框圖。
圖4是一框圖,說明用于如圖3所示的一個系統(tǒng)的配置管理服務(wù)器和移動客戶計算機的邏輯組件。
圖5和6是方框圖,示出圖3和4的系統(tǒng)管理框架的移動設(shè)備的應(yīng)用程序分發(fā)和遠程配置的方法。
圖7-10示出由諸如移動客戶機這樣的客戶計算設(shè)備呈現(xiàn)的示例性用戶界面的相應(yīng)情況,用于在圖3和4的系統(tǒng)管理框架中執(zhí)行該計算設(shè)備的應(yīng)用程序分發(fā)和配置。
圖7說明了用戶向管理服務(wù)器請求新提議時所用UI的一部分。
圖8說明了移動客戶機UI的示例性情況,用于向移動客戶設(shè)備304的用戶指出新提議可用于客戶機下載,并進一步允許用戶查看或忽略新提議。
圖9示出示例性提議對話框,用于顯示與交互一列可用于下載至移動客戶設(shè)備的可用提議。
圖10示出示例性對話的情況,用于向用戶顯示細節(jié)(例如,短或長的提議說明)和/或?qū)τ脩舻南螺d選項。
圖11示出示例性操作環(huán)境,其中可以實現(xiàn)用于應(yīng)用程序分發(fā)和遠程配置管理的系統(tǒng)和過程。
(5)具體實施方式
圖3示出一系統(tǒng)管理框架300的頂層表示??蚣?00包括配置管理系統(tǒng)或服務(wù)器302和移動客戶設(shè)備304。管理服務(wù)器302和移動客戶設(shè)備304通過有線或無線網(wǎng)絡(luò)連接306直接相互通信。配置管理系統(tǒng)302被設(shè)定為與上述多個兼容客戶計算機通信并管理它們。當這樣的客戶計算機是全功能的計算機,如傳統(tǒng)臺式計算機時,客戶計算機運行如上所述的專用軟件以提供與配置管理系統(tǒng)所提供的功能兼容性。
可是在圖3所示的例子中,客戶設(shè)備304并沒有與管理服務(wù)器302共享實際上永久的網(wǎng)絡(luò)連接。取而代之的是,移動客戶設(shè)備是不定時地或間歇地通過可能經(jīng)常是相當慢的由網(wǎng)絡(luò)連接306表示的通信線路連接至管理服務(wù)器。這樣的遠程客戶設(shè)備的例子包括膝上型電腦、手持計算機、PDA、制造自動化控制器、電子銷售點終端、汽油站加油機、移動電話等。與全功能計算機相比,這些設(shè)備中的一些可能具有有限的處理和存儲資源。移動客戶設(shè)備304的這些方面的每一個使得使用如上所述的常規(guī)的自動或其它配置管理技術(shù)用于移動客戶設(shè)備304的應(yīng)用程序分發(fā)和遠程配置管理是不可能的、不實際的或不合乎要求的。
為了便于移動客戶設(shè)備304的安全的應(yīng)用程序分發(fā)和配置管理,在移動客戶設(shè)備304和管理服務(wù)器302之間的通信是使用安全套接字層協(xié)議如用于在環(huán)球網(wǎng)上安全地傳送數(shù)據(jù)的安全HTTP(HTTPS)完成的。移動設(shè)備為新提議周期性地輪詢一或多個管理服務(wù)器302。一個提議可能是要載入移動設(shè)備304的一或多個應(yīng)用程序、數(shù)據(jù)文件和安裝腳本或安裝于設(shè)備304上的設(shè)置。
移動設(shè)備304上的調(diào)度組件308控制輪詢這樣的提議的發(fā)生頻率和條件。當新提議可用時,通知移動設(shè)備304的用戶且如果該用戶接受一個提議,則應(yīng)用程序被自動下載并安裝到移動設(shè)備304上。為了本討論的目的,配置管理是能夠通過保持有關(guān)該設(shè)備的目錄信息來管理移動客戶機304、將應(yīng)用程序加入移動設(shè)備304或從中移除、、調(diào)度輪詢事件、創(chuàng)建可信源、等等。調(diào)度組件308使調(diào)度程序應(yīng)用編程接口(API)430在該移動設(shè)備上接受調(diào)度、更新和其它配置管理。該設(shè)備上軟件的很多不同組件能支持這些操作在一實現(xiàn)中,在設(shè)備的主UI組件中嵌入的軟件來控制這些操作。在另一實現(xiàn)中,由運行在保護模式下的專用安全服務(wù)器來支持這些操作。一個示例性調(diào)度程序API430在下面附錄A中示出。
在所述的實施例中,根據(jù)管理服務(wù)器302向移動客戶設(shè)備304的請求而提供的應(yīng)用程序下載和配置指令按照可擴展標記語言(XML)數(shù)據(jù)大綱被格式化為XML數(shù)據(jù),有關(guān)它的一個例子將在本討論的后續(xù)部分陳述。應(yīng)用程序下載和配置指令包括軟件目錄,標識可用于客戶機隨后下載的應(yīng)用程序。更特別地是,這些文件包括一列對應(yīng)可被客戶設(shè)備安裝的程序包的包ID。配置信息也可能指定硬件目錄。如將在下面參照圖4-11更詳細地描述的,能按照下面說明產(chǎn)生和發(fā)送下載指令的任何諸如管理服務(wù)器302這樣的計算設(shè)備能為任意數(shù)量的移動客戶設(shè)備提供安全的應(yīng)用程序分發(fā)和配置。
圖4更詳細地示出系統(tǒng)管理框架300的邏輯組件。管理服務(wù)器系統(tǒng)302包括目錄與發(fā)現(xiàn)組件402和分發(fā)組件404。目錄與發(fā)現(xiàn)組件402為了資源管理從多個移動客戶設(shè)備304接受作為一或多個電子文件的數(shù)據(jù)發(fā)現(xiàn)記錄。目錄與發(fā)現(xiàn)組件402負責確定自從對應(yīng)客戶機的最后成功輪詢以來的新提議408。數(shù)據(jù)發(fā)現(xiàn)記錄包括至少一個指示,關(guān)于何時完成對目標資源(用一嵌入URL表示)的上一次成功輪詢,如果有的話。
在一實現(xiàn)中,如果對應(yīng)的URL從沒有被移動客戶設(shè)備304成功輪詢過,則最后成功輪詢的日期為空。在另一實現(xiàn)中,移動客戶設(shè)備為隨后接受定制的下載指令進一步將一相對唯一的ID(例如cookie)與數(shù)據(jù)發(fā)現(xiàn)記錄406發(fā)送至管理服務(wù)器302。和數(shù)據(jù)發(fā)現(xiàn)消息一起包括的其它信息包括,例如,移動客戶設(shè)備所關(guān)聯(lián)的硬件和/或軟件屬性的指示、移動客戶設(shè)備的用戶的標識等。此信息一般存儲在系統(tǒng)管理員可訪問的數(shù)據(jù)庫內(nèi)(未示出)。
盡管如圖4所示提議408與管理服務(wù)器302耦合,但這樣的提議可以由任何能連接至移動客戶機302的服務(wù)器設(shè)備使用。
響應(yīng)來自移動客戶機304的接收數(shù)據(jù)發(fā)現(xiàn)記錄406,目錄與發(fā)現(xiàn)組件402產(chǎn)生對應(yīng)的下載指令文件。該指令可表示應(yīng)用程序應(yīng)被下載的條件以及該應(yīng)用程序可被下載的URL(統(tǒng)一資源定位)。該下載指令文件包含有關(guān)一個或多個提議408的信息,每個提議包括一或多個文件的下載。分發(fā)組件404將下載指令作為一或多個電子文件410傳送到移動客戶機。
分發(fā)組件404也是一連接點,移動客戶機304能夠與其相連來下載由下載指令標識的應(yīng)用程序或程序包(即,提議408)。程序包是文件的集合,以及用于下載和安裝文件的指令。
移動客戶設(shè)備304的邏輯組件包括輪詢與通知組件412、調(diào)度組件308、下載組件414、安裝指令解釋程序416、以及程序或包安裝組件418。輪詢與通知組件分別向/從管理服務(wù)器302發(fā)送和接收消息。發(fā)送的消息包括,例如,標識可用于下載的一個或多個提議的數(shù)據(jù)發(fā)現(xiàn)記錄、下載請求、提議分發(fā)與安裝的狀態(tài)(例如成功、失敗、未完成等)等等。輪詢與通知組件從管理服務(wù)器接收到的消息包括,例如,下載指令和被下載的包。
在一實現(xiàn)中,移動設(shè)備304發(fā)送的消息還包括一下載指令請求,而接收到的消息還包括指定可用提議的程序包ID列表。程序包ID列表是與具體下載指令分開的。這樣的一個規(guī)定在下面參考應(yīng)用程序分發(fā)和配置管理框架300的另一可選擇的實現(xiàn)更詳細的陳述。
調(diào)度組件308調(diào)度和執(zhí)行數(shù)據(jù)發(fā)現(xiàn)和下載事件。在一實現(xiàn)中,用于調(diào)度事件的預(yù)定準則是由通過配置移動設(shè)備304提供實際控制的管理實體預(yù)先設(shè)定的。這樣的預(yù)置事件對應(yīng)于自動的或強制的運行模式,在此模式中無需用戶干涉,自動地產(chǎn)生數(shù)據(jù)發(fā)現(xiàn)和/或下載事件以下載與安裝一或多個包。在另一實現(xiàn)中,輪詢與通知組件412向用戶顯示用戶界面(UI)組件讓用戶指定要被轉(zhuǎn)化為所調(diào)度的事件的動作,而為用戶提供應(yīng)用程序分發(fā)、下載與安裝的控制。在本討論的后續(xù)部分參照圖7-10陳述這樣一個UI的實例。
輪詢與通知組件412通過發(fā)送相應(yīng)的消息至管理服務(wù)器302而響應(yīng)這樣的事件。一個數(shù)據(jù)發(fā)現(xiàn)事件引起一數(shù)據(jù)發(fā)現(xiàn)記錄406發(fā)送(例如,通過HTTPS)至管理服務(wù)器以獲得提議下載指令410。一個下載事件引起一下載請求420發(fā)送至管理服務(wù)器。為了本討論的目的,數(shù)據(jù)發(fā)現(xiàn)事件經(jīng)常被稱為輪詢事件,因為它們實際上通常是周期性的。然而,任何特定的數(shù)據(jù)發(fā)現(xiàn)事件也可被調(diào)度為單一發(fā)生。
輪詢和下載事件是根據(jù)一或多項預(yù)定的準則調(diào)度的,準則例如包括時間和連接準則的任意組合(例如每周一下午3點如果出現(xiàn)高帶寬的連接、在一能充分保證來自多個移動客戶設(shè)備304的所有數(shù)據(jù)發(fā)現(xiàn)消息將被發(fā)送至以一種該服務(wù)器不會過載處理資源的方式的管理服務(wù)器的隨機時間)。在此實現(xiàn)中,每個事件與姓名/說明、事件準則和訪問提議確定或下載的URL聯(lián)系起來。調(diào)度組件308將事件信息保持在用于描述輪詢和下載事件的事件表中。
輪詢與通知組件412接收并分析下載指令文件410,調(diào)度下載指令和調(diào)度組件308按照該指令的所關(guān)聯(lián)的開始時間、增量時間和/或標志執(zhí)行。在適當?shù)臅r間,調(diào)度程序通知下載組件414下載下載指令文件所述的文件。指令/腳本解釋程序416執(zhí)行下載指令文件的“command”參數(shù)指示的命令,在大多數(shù)情況下將由安裝組件418啟動下載文件的安裝(例如,拷貝文件至客戶設(shè)備上的合適的位置、載入注冊值、刪除臨時文件等)。
移動客戶設(shè)備304還具有用于安裝下載的應(yīng)用程序的程序存儲器424、用于客戶設(shè)備304保持或高速緩存表示通過之前與管理服務(wù)器302的交互已經(jīng)產(chǎn)生的對于客戶設(shè)備可用的應(yīng)用程序或包的提議列表的一數(shù)據(jù)庫或其它數(shù)據(jù)結(jié)構(gòu)426、用于驗證從管理服務(wù)器302收到的下載指令410的一可信任源列表(“TSL”)428。提議列表可向遠程客戶機的用戶顯示而不依賴于到管理服務(wù)器的任何連接。遠程客戶機被設(shè)定為在響應(yīng)下載與安裝了一個提議到該遠程客戶機上時自動地從提議列表中刪除該提議。
移動客戶設(shè)備304的這些組件可用安裝于客戶設(shè)備上的專用軟件實現(xiàn)并可預(yù)先設(shè)定如URL或其它描述以及認證信息和證書這樣的信息。這些組件相互之間的交互及與管理服務(wù)器302的交互將在后面參照圖5更為詳細地解釋。
圖5示出圖4所示框架的方法方面。該圖左手邊的動作是由移動客戶設(shè)備304的組件執(zhí)行的。該圖右手邊的動作是由管理服務(wù)器302的組件執(zhí)行的。中間區(qū)域的動作是由人如管理服務(wù)器302的系統(tǒng)管理員或移動客戶設(shè)備的用戶執(zhí)行的,在下面對應(yīng)于該動作的討論中會明確指出。將參考想要分發(fā)和安裝一應(yīng)用程序到一請求的移動客戶設(shè)備的場景描述這些動作。一個樣例應(yīng)用程序具有兩個組件golf.cab和golf.dat。安裝于移動設(shè)備包括將兩個組件拷貝至一被稱為“\ProgramFiles\Foo”的目錄。
開始的動作502包括創(chuàng)建包含兩個程序組件“golf.cab”和“golf.dat”的分發(fā)包。“CAB”文件是用于程序組件分發(fā)的普通格式且可由接收的客戶設(shè)備打開以自動地在客戶設(shè)備上安裝?;蛘?,可以匯編一非CAB包,包括該應(yīng)用程序組件和一包含安裝腳本(一般是作為系統(tǒng)管理員的人創(chuàng)建的)的、能由客戶設(shè)備執(zhí)行以完成安裝任務(wù)的文件。在此例中,下載指令410(下面將參照表1詳細地描述的)包括安裝指令。
用戶通過一或多個有線或無線網(wǎng)絡(luò)的任意組合將移動客戶設(shè)備304連接至管理服務(wù)器302。在動作504中,用戶產(chǎn)生一輪詢事件向管理服務(wù)器請求可用的提議列表?;蛘撸喸兪录稍陧憫?yīng)特定事件(例如移動客戶設(shè)備的冷啟動、登錄事件等)和/或由調(diào)度組件308確定的一或多個預(yù)先設(shè)定的時間間隔的發(fā)生時自動地產(chǎn)生。在一實現(xiàn)中,例如,預(yù)先設(shè)定調(diào)度組件在冷啟動時向特定的管理服務(wù)器302請求可用的提議列表。
在動作508中,圖4的目錄與發(fā)現(xiàn)組件402接收數(shù)據(jù)發(fā)現(xiàn)記錄406。在響應(yīng)接收此信息時,目錄與發(fā)現(xiàn)組件執(zhí)行動作510,即根據(jù)接收到的數(shù)據(jù)發(fā)現(xiàn)記錄所提供的信息產(chǎn)生一下載指令文件410。所產(chǎn)生的下載指令文件包括各種參數(shù),涉及如何、何時、從哪里和在什么條件下所屬的提議408或包可由移動客戶設(shè)備304下載。
在一實現(xiàn)中,參數(shù)包括下列元素·標題·內(nèi)容塊
。ID(GUID)。用于狀態(tài)報告的應(yīng)答URL(可選)·下載指令。源名。提議名。提議長度(例如用字節(jié)表示)。提議價格。短和/或長說明。用于向移動客戶設(shè)備用戶顯示的下載指令。網(wǎng)絡(luò)-此下載被發(fā)送所通過的較佳傳輸。再發(fā)生時間間隔。用于錯誤恢復(fù)的重試時間間隔(例如默認=60秒)。重試限制(例如默認=5)。開始或增量時間(用GMT表示)。標志(連接類型或連接等級)。下載類型(例如ROM升級、CAB文件等)。要求(YES或NO,默認NO)。文件說明·源URL·在設(shè)備上的目的位置(文件位置如完整描述的路徑)·簽名(文件的簽名哈希值)。下載后要在設(shè)備上運行的命令(可選)“內(nèi)容”塊包含屬于指令文件410的內(nèi)容的信息,包括-URL,移動客戶設(shè)備304應(yīng)該向它報告后續(xù)各個動作的成功與失敗。“下載指令”指定一“再發(fā)生時間間隔”,這確定移動客戶設(shè)備周期性地發(fā)送輪詢事件如數(shù)據(jù)發(fā)現(xiàn)事件至管理服務(wù)器302的時間間隔。其它“下載指令”包括或者“開始時間”或者“增量時間”(在經(jīng)過一時間間隔后操作應(yīng)該開始),以及“標志”表示應(yīng)該允許進行下載的條件。例如,標志可表示只有當某個通信能力出現(xiàn)時才能啟動下載,如通過高速網(wǎng)絡(luò)連接時。作為另一例子,標志可表示只當移動客戶設(shè)備連接到交流電源時(與電池電源相反)的時候才能開始下載。盡管此例使用“標志”表示各種信息,但可用不同的方式如通過XML標簽等表示這樣的信息。
“要求”參數(shù)表示是否要求將包安裝在移動客戶設(shè)備304上?!拔募枋觥北硎疽豢截愔烈苿涌蛻粼O(shè)備的文件的源與目的位置以及文件的簽名。“命令”參數(shù)表示要由客戶設(shè)備在成功地拷貝之前在指令文件中指定的文件后所執(zhí)行的命令。
在動作512中,分發(fā)模塊404將所產(chǎn)生的下載指令作為一或多個電子文件410傳送至移動客戶機304。下載指令文件最好按照數(shù)據(jù)庫408強制實施的XML大綱報告至移動客戶設(shè)備。在下面附錄A中示出這樣一個KML大綱的實例。(盡管圖4所示為存儲提議數(shù)據(jù)的提議數(shù)據(jù)庫408的一部分,但XML大綱可與提議數(shù)據(jù)分開存儲)。
表1示出一個真實數(shù)據(jù)的實例,它是按照附錄A的XML大綱格式化的。該XML數(shù)據(jù)表示一示例性下載指令文件,一般作為一HTTPS post被發(fā)送至移動客戶機304。為了說明的目的,下載指令文件中的粗體字表示可變的數(shù)據(jù)值的例子。
表1下載指令的示例性集合
前面表1的典型下載指令說明一來自高爾夫的“Value ISV”的提議。該指令表示要下載兩個文件到“\Program Files\foo”目錄?!碊ownload StartTime>標簽數(shù)據(jù)確定下載開始的時間?!碦eoccur Time>標簽數(shù)據(jù)表示指定的下載要周期性地重新發(fā)生。時間是用Intel系統(tǒng)時間格式表示的。下載完成后運行程序“golf.cab”。
在動作514中,移動客戶設(shè)備304的服務(wù)器輪詢與通知組件412從管理服務(wù)器302接收下載指令410。在一實現(xiàn)中,下載指令包括用于調(diào)度組件308從移動客戶設(shè)備所存儲的提議列表426中刪除過期的項。這是通過一下載指令標簽“Supercedes”,通過它們的“提議名”表示一組要被代替的提議。從提議列表刪除要被代替的提議。
在動作516中,為確定移動客戶設(shè)備應(yīng)用程序分發(fā)保持安全,文件驗證和用戶認證組件434檢查收到的下載指令的數(shù)據(jù)簽名(如聲稱的身份),對照被認為從其得到的下載指令是安全的和可靠的一或多個可信任源。這樣的可信任源存儲在TSL 428中。例如,TSL是一列可信任的應(yīng)用程序分發(fā)服務(wù)器和它們的公鑰。調(diào)度組件308通過調(diào)度程序API430列出一或多個接口用于更新和其它管理TSL的內(nèi)容。在下面附錄A中示出一典型的調(diào)度程序API430。
在一實現(xiàn)中,TSL 428包括一對應(yīng)于管理服務(wù)器302的X.600證書,它包括RDN(名稱)、公鑰等。盡管可以有目的地或偶然地從TSL中刪除在TSL中一份證書,但這樣一份被刪除的證書不能簡單地用另一個公鑰代替。這確保移動客戶設(shè)備304應(yīng)用程序分發(fā)保持安全。此外,即使特定的可信任源的證書被有目的地或偶然地從TSL中刪除了,只要這樣預(yù)先設(shè)置過移動客戶設(shè)備非易失存儲器,在移動客戶設(shè)備304冷啟動時可以恢復(fù)被刪除的證書。
在動作518中,驗證組件434確定接收到的下載指令410是否真實。如果否,過程等待另一個調(diào)度的事件(或其它事件)如在動作504中所指的數(shù)據(jù)發(fā)現(xiàn)事件。反之,響應(yīng)接收到一組驗證過的下載指令時,在動作520中,調(diào)度組件308將任何可用的提議通知移動客戶設(shè)備304的用戶。當新的下載是可用的,調(diào)度組件308將收到的下載信息410存儲到存儲器中(例如到提議數(shù)據(jù)存儲426中)。
在動作522中,用戶通過一用戶界面(UI)確定是否查看或忽略新提議。在本討論的后續(xù)部分參照圖7-10陳述這樣一個UI的實例。在動作524中,確定忽略提議,則過程500按頁面引用“A”的指示繼續(xù)。在動作526中,用戶已經(jīng)選擇查看提議,每個指示下載提議和對應(yīng)的狀態(tài)一起通過UI向用戶顯示以查看和交互。對應(yīng)的狀態(tài)可包括,例如,特定提議的刷新或發(fā)布說明(例如新的、發(fā)布日期等)、下載進度指示(例如接受下載、正在進行、已安裝等)。該過程按頁面引用“B”繼續(xù)至圖6所示的動作602。
圖6示出典型過程500的進一步方面,它通過圖4的框架執(zhí)行應(yīng)用程序分發(fā)和遠程配置管理。該圖左手邊的動作是由移動客戶設(shè)備304的組件執(zhí)行的。該圖右手邊的動作是由管理服務(wù)器302的組件執(zhí)行的。中間區(qū)域的動作是由移動客戶設(shè)備的用戶執(zhí)行的。這些動作參照圖5的場景進行描述。
在動作602中,用戶接受或拒絕任何一或多個特定的提議。一個典型的UI 700用于用戶完成該動作的在下面參照圖7-10更詳細地描述。在動作604中,移動設(shè)備確定移動設(shè)備304的用戶是否批準一個提議408。在任何事件中,指示每個對應(yīng)提議的下載指令410由調(diào)度組件308存儲,直到該提議在服務(wù)器上期滿或用戶確認或拒絕所列的提議。如果用戶已經(jīng)拒絕一或多個顯示的提議的每一個,過程500等待調(diào)度的或非調(diào)度的事件以處理,如圖5的動作504中所指的數(shù)據(jù)發(fā)現(xiàn)事件(即,如頁面上參考“A”表示的)。
在用戶確認一提議后,在動作606中,調(diào)度組件308調(diào)度一下載事件以從下載指令所指定的位置得到所確認的提議。該下載事件可按照用戶規(guī)定準則或按照下載指令所關(guān)聯(lián)的開始時間、增量時間和/或標志進行調(diào)度。該下載事件可立即觸發(fā)或可根據(jù)一或多項預(yù)定的準則如特定連接條件(例如當移動客戶設(shè)備被停放時)進行調(diào)度。
在事件608中,調(diào)度組件308按照動作606的調(diào)度產(chǎn)生調(diào)度的下載事件。在動作610中,在檢測到所產(chǎn)生的下載事件后,下載組件414以一或多個電子文件420發(fā)送一下載請求(例如,通過HTTPS/IP)至管理服務(wù)器302。在動作612中,管理服務(wù)器的分發(fā)組件404接收所發(fā)送的下載請求。響應(yīng)接收該下載請求,在動作614中分發(fā)組件提取和以一或多電子文件412發(fā)送至移動客戶設(shè)備304。
在動作616中,下載組件414從管理服務(wù)器302接收所發(fā)送的提議408。在動作618中下載組件驗證該下載的簽名(例如哈希),并將所下載的文件傳送給指令解釋程序416。在動作620中,指令解釋程序執(zhí)行由該下載指令文件410的“command”參數(shù)所指示的命令,在大多數(shù)情況下將使安裝組件418開始所下載的文件的安裝。在成功安裝一個應(yīng)用程序和/或配置設(shè)置后,在動作622中通過通知引擎412通知用戶安裝完成。在一實現(xiàn)中,還將移動客戶設(shè)備的應(yīng)用程序分發(fā)和遠程配置動作的成功/失敗狀態(tài)消息(未示出)通知服務(wù)器。
用于應(yīng)用程序分發(fā)和移動設(shè)備配置的典型UI圖7-10示出由客戶計算設(shè)備如移動客戶設(shè)備304為執(zhí)行該計算設(shè)備的應(yīng)用程序分發(fā)和配置所顯示的典型用戶界面(UI)的方面。特別,圖7示出該UI的一部分,為用戶向管理服務(wù)器302請求新提議408。當用戶選擇下載圖標702時,引起調(diào)度組件發(fā)送如上所述的數(shù)據(jù)發(fā)現(xiàn)記錄406至管理服務(wù)器。隨后提交一查詢以獲得新提議的列表,氣泡菜單704標題為“Download request”,向該用戶表示數(shù)據(jù)發(fā)現(xiàn)記錄已經(jīng)發(fā)至管理服務(wù)器并進一步表示正等待該服務(wù)器的回答。
圖8示出移動客戶設(shè)備UI700的典型方面,向移動客戶設(shè)備304的用戶指出新的可用于客戶機下載的提議408。特別地,氣泡菜單704向用戶指出有從管理服務(wù)器302下載的新提議;在此情形下該氣泡文字為“New downloads are available”。否則,該氣泡文字指出自從從該移動設(shè)備收到的最后下載請求(如果有的話)以來“No new offerings”已經(jīng)公布于管理服務(wù)器。
此外,當來自管理服務(wù)器302的新提議可用于下載時,氣泡菜單704顯示至少兩個用戶可選擇的按鍵供查看提議或解除提議的通知。在本例中,按鍵分別被標為“View Offerings”和“Ignore”。通過這些按鍵,用戶可指定是否想要顯示可用的提議用于可能的進一步交互(例如下載、請求附加信息等)。可通過一定位設(shè)備如筆、鼠標或其它技術(shù)如通過語音命令的方法指定用戶的動作。
圖9示出一典型的提議對話框902,用于顯示并和可用于下載至移動客戶設(shè)備304的可用提議列表交互。該對話框是響應(yīng)用戶選擇了圖8的“View offerings”按鍵時所顯示的UI的一個例子。在本例中,向用戶顯示了兩個提議一“Pocket WebBrowser Security Patch”和一“Golf”應(yīng)用程序如在上面討論的表1的典型下載指令所描述的。如果作為獨立的應(yīng)用程序打開或由提議數(shù)據(jù)426所代表的存儲提議列表為空時,對話框902所顯示的提議列表將指出“no offerings”。
在此例中,在由對話框902所顯示的提議列表中的一提議上輕擊并保持用戶動作將允許用戶從Accept…彈出菜單904中選擇下載選項。例如,在“Pocket WebBrowser Security Patch”提議上的輕擊和保持動作允許用戶現(xiàn)在通過“Accept”菜單項下載該提議(例如默認),或以后下載該提議,例如通過“Accept When Docked”菜單項。在一實現(xiàn)中,對話框902還包括一按鍵如“reject all”按鍵,使用戶能快速而簡單地去掉所列的提議。
圖10示出典型應(yīng)用程序分發(fā)和遠程配置UI 700的其它方面。特別,圖10示出對話框1002,向用戶顯示細節(jié)(例如短或長提議說明)并且/或者下載選項。在一實現(xiàn)中,此對話框是在響應(yīng)用戶在一特定提議上的輕擊動作(對照輕擊并保持)時所顯示的。
典型運行環(huán)境圖11示出一典型運行環(huán)境1100,在該環(huán)境中可實現(xiàn)用于應(yīng)用程序分發(fā)和遠程配置管理的系統(tǒng)和過程。上述的管理服務(wù)器302和移動客戶設(shè)備304組件和功能可分別用一或多臺獨立的計算機實現(xiàn)。圖11示出由參考數(shù)字1106所指的這樣一臺計算機的作為典型舉例的組件。圖11所示的組件只是舉例,并不想要對本發(fā)明的功能范圍提供任何限制;本發(fā)明不必依賴圖11所示的特征。
通常,各種不同的通用或?qū)S糜嬎阍O(shè)備配置均可使用。能適合于由本發(fā)明使用的眾所周知的計算系統(tǒng)、環(huán)境和/或配置包括,但不限于此,移動客戶設(shè)備、個人計算機、服務(wù)器計算機、膝上型電腦設(shè)備、多處理器系統(tǒng)、基于單片機的系統(tǒng)、網(wǎng)絡(luò)PC、小型機、大型計算機、分布計算環(huán)境、具有比包括任何上面的系統(tǒng)或設(shè)備的完全臺式功能少的計算設(shè)備等等。
有多種方式用計算機可執(zhí)行指令實施計算機的功能,如計算機執(zhí)行的程序模塊。通常,程序模塊包括完成特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。任務(wù)也可由通過通信網(wǎng)絡(luò)連接的遠程處理設(shè)備完成。在一分布計算環(huán)境中,程序模塊可放在本地和遠程計算機存儲媒質(zhì)中。
指令和/或程序模塊在不同的時間被存儲在或者是計算機的一部分的或者可被計算機讀取的各種計算機可讀媒質(zhì)中。程序一般是分發(fā)的,例如,在軟盤、CD-ROM、DVD、或某種形式的通信媒質(zhì)如一調(diào)制信號中。從那里,它們被安裝到或載入到計算機的第二類存儲器中。在執(zhí)行時,它們至少部分地載入計算機的第一類電子存儲器中。當這樣的媒質(zhì)包含用于與微處理器或其它數(shù)據(jù)處理器一起實現(xiàn)如上所述的步驟和動作的指令、程序和/或模塊時,在此描述的本發(fā)明包括這些和其它各種類型的計算機可讀媒質(zhì)。本發(fā)明還包括計算機本身,當編制了按照上面所述的方法和技術(shù)的程序時。
為了說明的目的,程序和其它可執(zhí)行組件如操作系統(tǒng)在此所示為分離的模塊,盡管了解這樣的程序和組件在不同的時間駐留在計算機的不同存儲組件中,并由計算機的數(shù)據(jù)處理器執(zhí)行。
參照圖11,計算機1106的組件可包括,但不限于此,一處理單元1114、一系統(tǒng)存儲器1116和連接包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)組件至處理單元1114的系統(tǒng)總線1121。系統(tǒng)總線1121可是任何幾種類型的總線結(jié)構(gòu),包括存儲器總線或存儲器控制器、外部設(shè)備總線和使用任何各種總線結(jié)構(gòu)的局域總線。作為例子,但不限于此,這樣的結(jié)構(gòu)包括工業(yè)標準結(jié)構(gòu)(ISA)總線,微通道結(jié)構(gòu)(MCA)總線、增強型ISA(EISA)總線、視頻電子標準協(xié)會(VESA)局域總線和外設(shè)部件互連(PCI)總線也被稱為Mezzanine線。
計算機1106一般包括各種計算機可讀媒質(zhì)。計算機可讀媒質(zhì)可以是任何能被計算機1106存取的可用的媒質(zhì)并包括易失的和非易失的媒質(zhì)、可移動的與不可移動的媒質(zhì)兩者。作為例子,但不限于此,計算機可讀媒質(zhì)可包括計算機存儲媒質(zhì)和通信媒質(zhì)。計算機存儲媒質(zhì)包括用任何方法或技術(shù)為信息如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的存儲而實現(xiàn)的易失的與非易失的、可移動的與不可移動的媒質(zhì)。計算機存儲媒質(zhì)包括,但不限于此,RAM、ROM、EEPROM、閃存儲器或其它存儲技術(shù)、CD-ROM、數(shù)字通用盤(DVD)或其它光盤存儲、磁帶盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、或任何可用于存儲計算機1106所需要的信息和能存取的其它媒質(zhì)。通信媒質(zhì)一般用一調(diào)制信號如載波或其它傳輸機制實現(xiàn)計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)并包括任何信息分發(fā)媒質(zhì)。術(shù)語“已調(diào)數(shù)據(jù)信號”表示具有一或多個如果它的特征被設(shè)置或改變用這樣一種方式將信息編碼到該信號中。作為例子,但不限于此,通信媒質(zhì)包括有線媒質(zhì)如一有線網(wǎng)絡(luò)或直接連線的連接和無線媒質(zhì)如聲音、射頻、紅外線和其它無線媒質(zhì)。上面的任何的組合也應(yīng)該包括在計算機可讀媒質(zhì)的范圍之內(nèi)。
系統(tǒng)存儲器1116包括計算機存儲媒質(zhì),其形式為易失的和/或非易失的存儲媒質(zhì),如只讀存儲器(ROM)1118和隨機存取存儲器(RAM)1120?;据斎?輸出系統(tǒng)1122(BIOS),包含幫助計算機1116的部件之間傳輸信息的基本例程,如在啟動時,一般存儲在ROM1118中。RAM 1120一般包含立即可存取的和/或由處理器單元1114目前操作的數(shù)據(jù)和/或程序模塊。作為例子,但不限于此,圖11示出操作系統(tǒng)1136、應(yīng)用程序1138、其它程序模塊1142、以及程序數(shù)據(jù)1120。
當計算機1106實現(xiàn)為圖4的管理服務(wù)器302時,應(yīng)用程序1138包括例如目錄與發(fā)現(xiàn)組件402和分發(fā)組件404。在相似的實現(xiàn)中,程序數(shù)據(jù)1144包括例如從移動客戶設(shè)備計算機304收到的數(shù)據(jù)發(fā)現(xiàn)消息406、指示可用于移動客戶設(shè)備的一或多個提議的下載指令410、用于下載指令強制實施的語義和語法的大綱408和用于作為一或多個電子文件或包分發(fā)至移動客戶設(shè)備的提議408。
當計算機1106實現(xiàn)為圖4移動客戶設(shè)備計算機304時,應(yīng)用程序1138包括例如輪詢與通知組件412、調(diào)度組件308、下載組件414、指令/腳本解釋程序416、安裝組件418和調(diào)度程序的文件驗證與用戶認證組件434。在相似的實現(xiàn)中,程序數(shù)據(jù)1144包括例如(a)用于發(fā)送至管理服務(wù)器302的數(shù)據(jù)發(fā)現(xiàn)消息406;(b)從管理服務(wù)器收到的下載指令410并保存為提議數(shù)據(jù)426;(c)用于驗證從管理服務(wù)器收到的數(shù)據(jù)的可信任源列表428(d)原先從管理服務(wù)器作為一或多個文件或包的下載應(yīng)用程序424;(e)用于存儲調(diào)度數(shù)據(jù)發(fā)現(xiàn)消息和下載請求發(fā)送至管理服務(wù)器的信息的輪詢和下載事件說明表422。
計算機1106也可包括其它可移動/不可移動、易失/非易失計算機存儲媒質(zhì)。只是作為例子,圖11示出一讀寫不可移動的非易失的磁媒質(zhì)的硬盤驅(qū)動器1124、一讀寫可移動的非易失的磁盤1128的磁盤驅(qū)動器1126、一讀寫可移動的非易失的光盤1132如CD ROM或其它光媒質(zhì)的光盤驅(qū)動器1130。其它能用于典型運行環(huán)境的可移動/不可移動的、易失/非易失的計算機存儲媒質(zhì)包括但不限于此,磁帶盒、閃存卡、數(shù)字通用盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器1124、磁盤驅(qū)動器1126和光盤驅(qū)動器1130一般通過一或多個固定或可移動的存儲器接口如接口1134連接至系統(tǒng)總線1121。
上面討論的并在圖11中示出的驅(qū)動器與它們關(guān)聯(lián)的計算機存儲媒質(zhì)為計算機1106提供計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。在圖11中,例如,硬盤驅(qū)動器1124被示為存儲操作系統(tǒng)1137、應(yīng)用程序1139、其它程序模塊1143和程序數(shù)據(jù)1145。注意這些組件可以與操作系統(tǒng)1136、應(yīng)用程序1138、其它程序模塊1142和程序數(shù)據(jù)1144或者相同或者不同;在這里給它們不同的數(shù)字是為了說明至少它們是不同的拷貝。用戶可以通過輸入設(shè)備如鍵盤1146和一般被稱為鼠標、跟蹤球或觸摸墊的定位設(shè)備1148向計算機1106輸入命令和信息。其它輸入設(shè)備(未示出)可包括話筒、操縱桿、游戲墊、衛(wèi)星轉(zhuǎn)盤、掃描儀等等。這些和其它輸入設(shè)備經(jīng)常通過連接至系統(tǒng)總線的用戶輸入接口1150連接到處理單元1114,但也可通過其它接口和總線結(jié)構(gòu)如并行端口、游戲端口或通用串行總線(USB)連接。監(jiān)視器1152或其它類型的顯示設(shè)備也通過一個接口如視頻接口11308連接至系統(tǒng)總線1121。除監(jiān)視器外,計算機還可包括其它外部輸入設(shè)備(未示出)如揚聲器和打印機,可通過外部輸出接口1135連接它們。
計算機設(shè)計為使用邏輯連接至一或多臺遠程計算機如遠程計算機1102以運行于網(wǎng)絡(luò)化環(huán)境中。遠程計算機1102可以是移動客戶設(shè)備、個人計算機、管理服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點,并一般包括上面關(guān)于計算機1106所述的許多或所有部件,盡管在圖11中只示出了存儲器存儲設(shè)備1169。圖11所示的邏輯連接包括局域網(wǎng)(LAN)1157和廣域網(wǎng)(WAN)1159,但還可包括其它網(wǎng)絡(luò)如家庭網(wǎng)絡(luò)、組織企業(yè)內(nèi)部互聯(lián)網(wǎng)等等。這樣的網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)級計算機網(wǎng)絡(luò)、企業(yè)內(nèi)部互聯(lián)網(wǎng)和互聯(lián)網(wǎng)中是很平常的。
當在LAN網(wǎng)絡(luò)環(huán)境中使用時,計算機1106通過網(wǎng)絡(luò)接口或適配器1166連接至LAN1157。當在WAN網(wǎng)絡(luò)環(huán)境中使用時,計算機1106一般包括調(diào)制解調(diào)器或建立通過WAN1159如互聯(lián)網(wǎng)通信的其它工具。調(diào)制解調(diào)器1158可以是內(nèi)置的或外置的,可通過用戶輸入接口1150或其它合適的機制連接至系統(tǒng)總線1121。在網(wǎng)絡(luò)化環(huán)境中,所示的關(guān)于計算機1106的程序模塊或其部分可存儲在遠程存儲器存儲設(shè)備中。作為例子但不限于此,圖11示出遠程應(yīng)用程序1169駐留在連接至計算機1102的存儲器設(shè)備中??梢砸庾R到所示的網(wǎng)絡(luò)連接是典型的而可以使用在計算機之間建立通信連接的其它方法。
有限資源的客戶設(shè)備304使用相似于圖11所示的那些的技術(shù)實現(xiàn),盡管是在一個更受限制的數(shù)量級上。而且,有限資源客戶設(shè)備如PDA、蜂窩電話、袖珍PC等一般不具備圖11所示的所有功能。例如,有限資源客戶機經(jīng)常沒有用于可移動媒質(zhì)如軟盤或CD-ROM的驅(qū)動器。這樣客戶機一般具有較少的存儲器容量、較小顯示設(shè)備和鍵盤、較慢或性能較低的處理器。而且,很多這樣的設(shè)備用電子閃存代替硬盤。此外,有限資源的設(shè)備一般運行不具備臺式操作系統(tǒng)所支持的全部特性集合的操作系統(tǒng)。例如,有限資源設(shè)備可運行Windows CE@操作系統(tǒng),而非Windows XP@操作系統(tǒng)。
可替換的實施例圖3和4的應(yīng)用程序分發(fā)和配置框架300可用可替換的方式實現(xiàn)。例如,在一實現(xiàn)中,在響應(yīng)發(fā)送一數(shù)據(jù)發(fā)現(xiàn)請求至管理服務(wù)器302時不立即接收詳細的下載指令,而是從目錄與發(fā)現(xiàn)組件402接收一包標識(ID)列表。該包ID列表確定自從移動設(shè)備上一次成功輪詢一URL以來可用于移動設(shè)備的任意數(shù)量(可能為零)的包(即,提議408),每個所確定的包可用移動客戶設(shè)備下載與安裝。分發(fā)組件404以一或多個電子文件410將所產(chǎn)生包ID列表發(fā)送至移動客戶設(shè)備。
通常,該包ID列表與包含對應(yīng)所有可用包的所有下載指令的文件的字節(jié)長度相比將相當小。這是因為該包ID列表不包括詳細的下載信息(例如下載的條件、下載位置、較佳的網(wǎng)絡(luò)傳輸?shù)鹊?。取而代之的是,該包ID列表只包括移動設(shè)備或移動設(shè)備的用戶分別自動地或人工地確定該包需要隨后下載和分發(fā)(例如強制管理下載對用戶所需要的下載)所需要的信息。
例如,對于每個所代表的包,該包ID列表可能描述源名、提議名、提議長度(例如以字節(jié)表示)、價格、短和/或長說明、和/或該包是否是要求的—換言之,只要足夠的信息由移動設(shè)備確定該包要被自動地下載或向用戶提供以人工地選擇下載。一個用于用戶指定批準下載特定包的典型用戶界面(UI)在本討論的前面部分討論過。
在一實現(xiàn)中,如果特定包是所要求的或強制的,該包ID列表包括的只是包ID的信息和要求的指示。輪詢與通知組件412在標簽“required”狀態(tài)以自動地向管理服務(wù)器302請求對應(yīng)的詳細下載指令。如上所討論,該下載指令包含關(guān)于一或多個包408的詳細下載指令或提議和每個提議可包括一或多個文件的下載。該下載指令還可表示該提議應(yīng)該被下載的條件以及一能下載該提議的URL(統(tǒng)一資源定位)。
響應(yīng)從移動客戶設(shè)備304接收該下載指令請求,分發(fā)組件404以一或多個電子文件410將對應(yīng)如上所討論的指定包的下載指令發(fā)送至移動客戶設(shè)備。調(diào)度組件304按照上面參考圖3-11所討論的操作調(diào)度這些下載指令的執(zhí)行。
盡管數(shù)據(jù)發(fā)現(xiàn)消息和下載指令請求與本例中的包ID列表和下載指令分別示為一或多個電子文件406和410,這只是為了討論的目的,并且每個消息是獨立的和不相關(guān)的消息。
結(jié)論盡管已經(jīng)用特定的語言描述本發(fā)明的結(jié)構(gòu)特征和/或方法操作或動作,應(yīng)該理解在所附權(quán)利要求書中規(guī)定的本發(fā)明是不必受限于所述的特定的特征或動作。相反,特定的特征和動作是作為實現(xiàn)本發(fā)明的較佳形式而公開的。用于下載指令的典型大綱為了說明的目的,下面XML大綱中的粗體字符表示標識符、數(shù)據(jù)類型、約束的例子。
典型的調(diào)度程序API下面是圖4的典型調(diào)度程序API 430。
權(quán)利要求
1.一種系統(tǒng)管理框架,其特征在于包括一管理服務(wù)器,用于為配置管理移動客戶設(shè)備的目的而發(fā)送下載指令;以及一移動計算設(shè)備,用于經(jīng)非永久連接連接至管理服務(wù)器,該移動計算設(shè)備還用于為向管理服務(wù)器請求和接收下載指令以確定一組可用于移動計算設(shè)備的下載和安裝的提議,該提議表示自從移動計算設(shè)備實施上一次成功下載操作以來的一或多個可用文件,該移動計算設(shè)備還用于使用戶能接受或拒絕任何一個或多個提議的下載與安裝。
2.如權(quán)利要求1所述的系統(tǒng)管理框架,其特征在于,下載指令作為分開的消息被發(fā)送至移動計算設(shè)備,第一消息包括包標識列表,第二消息包括包標識列表中一個或多個指定包的詳細下載指令。
3.如權(quán)利要求1所述的系統(tǒng)管理框架,其特征在于,移動計算設(shè)備用于按照XML大綱從管理服務(wù)器接收下載指令。
4.如權(quán)利要求1所述的系統(tǒng)管理框架,其特征在于,使用一用于在環(huán)球網(wǎng)上安全地發(fā)送數(shù)據(jù)的安全套接字層協(xié)議進行管理服務(wù)器和移動計算設(shè)備之間的通信。
5.如權(quán)利要求1所述的系統(tǒng)管理框架,其特征在于,移動計算設(shè)備還用于通過用戶界面(UI)顯示提議的至少一部分,該UI為用戶提供選擇該部分的一個提議,用于隨后分發(fā)和配置移動客戶設(shè)備。
6.如權(quán)利要求1所述的系統(tǒng)管理框架,其特征在于移動設(shè)備還用于發(fā)送包含上一次成功下載操作的標志的數(shù)據(jù)發(fā)現(xiàn)請求;以及其中響應(yīng)于接收數(shù)據(jù)發(fā)現(xiàn)請求的管理服務(wù)器還用于根據(jù)標志確定一個或多個文件;更新提議以指示該一或多個文件;以及將下載指令發(fā)送至移動計算設(shè)備。
7.如權(quán)利要求1所述的系統(tǒng)管理框架,其特征在于,移動計算設(shè)備還用于執(zhí)行操作,包括確定用戶已經(jīng)選擇用于傳遞到移動設(shè)備的特定提議;將下載請求消息分發(fā)到管理服務(wù)器以啟動該分發(fā);以及從管理服務(wù)器接收包含該特定提議的分發(fā)。
8.如權(quán)利要求1所述的系統(tǒng)管理框架,其特征在于,移動計算設(shè)備還用于執(zhí)行操作,包括確定用戶已經(jīng)為下載選擇所述提議中的一特定提議;根據(jù)一或多項用戶指定的準則來調(diào)度特定提議的下載;響應(yīng)所述一或多用戶指定準則的發(fā)生,將下載請求消息發(fā)送至一服務(wù)器以啟動該提議的下載,該服務(wù)器是從管理服務(wù)器或一不同的、獨立于所述管理服務(wù)器的服務(wù)器中選擇的;以及從該服務(wù)器接收該特定提議。9.如權(quán)利要求1所述的系統(tǒng)管理框架,其特征在于,移動計算設(shè)備還用于執(zhí)行操作,包括為了向獨立于與管理服務(wù)器的連接的用戶顯示而在本地高速緩存中保持所述提議;以及響應(yīng)提議的成功下載和安裝,從本地高速緩存中移去對應(yīng)于提議中的一個提議的信息。
10.如權(quán)利要求1所述的系統(tǒng)管理框架,其特征在于,移動計算設(shè)備還用于自動確定是否需要一可用的提議;以及響應(yīng)所需提議的識別,自動下載并安裝獨立于用戶交互的所需提議。
11.如權(quán)利要求1所述的系統(tǒng)管理框架,其特征在于移動計算設(shè)備響應(yīng)一預(yù)置事件的發(fā)生,還用于將數(shù)據(jù)發(fā)現(xiàn)請求發(fā)送至管理服務(wù)器;以及其中管理服務(wù)器還用于響應(yīng)數(shù)據(jù)發(fā)現(xiàn)請求的接收而將下載指令發(fā)送至移動計算設(shè)備,下載指令可由移動計算設(shè)備選擇性地執(zhí)行以請求提議的下載。
12.如權(quán)利要求11所述的系統(tǒng)管理框架,其特征在于,預(yù)置事件是遠程計算設(shè)備的冷啟動。
13.如權(quán)利要求11所述的系統(tǒng)管理框架,其特征在于,預(yù)置事件是由用戶調(diào)度的。
14.如權(quán)利要求11所述的系統(tǒng)管理框架,其特征在于,預(yù)置事件被設(shè)計成發(fā)生在隨機選擇的時間。
15.如權(quán)利要求1所述的系統(tǒng)管理框架,其特征在于,移動計算設(shè)備和管理服務(wù)器還用于實現(xiàn)多簽名系統(tǒng)而從非受托服務(wù)器分發(fā)一個可信的應(yīng)用程序。
16.如權(quán)利要求15所述的系統(tǒng)管理框架,其特征在于,移動計算設(shè)備通過執(zhí)行下列操作來實現(xiàn)多簽名系統(tǒng)的一部分維持可信源列表;通過可信源列表中的信息來驗證收到的下載指令;以及響應(yīng)接收到的下載指令的成功驗證,請求并從至少一個由收到的下載指令所指定的位置來接收一個或多個提議。
17.如權(quán)利要求15所述的系統(tǒng)管理框架,其特征在于,移動計算設(shè)備通過執(zhí)行下列操作來實現(xiàn)多簽名系統(tǒng)的一部分維持可信源列表;通過可信源列表中的信息來驗證收到的下載指令;響應(yīng)收到的下載指令的成功驗證,請求并從至少一個由收到的下載指令所指定的位置來接收一個或多個提議;以及通過一個或多個安全哈希函數(shù)來驗證一個或多個提議。
18.一個或多個計算機可讀媒質(zhì),包含用于配置管理服務(wù)器的指令,用于分發(fā)用于遠程配置移動設(shè)備的應(yīng)用程序,該指令可由計算機執(zhí)行來完成下列動作從移動設(shè)備接收數(shù)據(jù)發(fā)現(xiàn)消息,該數(shù)據(jù)發(fā)現(xiàn)消息是通過配置管理服務(wù)器和移動設(shè)備之間的非永久連接而被接收,該數(shù)據(jù)發(fā)現(xiàn)消息表示上一次成功下載的時間;以及響應(yīng)該數(shù)據(jù)發(fā)現(xiàn)消息的接收,確定自從上一次成功下載的時間以來已經(jīng)部署的至少一個提議;以及將下載指令發(fā)送至移動設(shè)備,該下載指令包含用于移動設(shè)備下載該至少一個提議的信息。
19.如權(quán)利要求18所述的一個或多個計算機可讀媒質(zhì),其特征在于,該至少一個提議是與移動設(shè)備相關(guān)的硬件和/或軟件屬性相關(guān)的,或是設(shè)備用戶的標識。
20.如權(quán)利要求18所述的一個或多個計算機可讀媒質(zhì),其特征在于,下載指令基于XML大綱。
21.如權(quán)利要求18所述的一或多個計算機可讀媒質(zhì),其特征在于,計算機與移動設(shè)備之間的通信是用安全網(wǎng)絡(luò)協(xié)議執(zhí)行的。
22.如權(quán)利要求18所述的一或多個計算機可讀媒質(zhì),其特征在于,指令進一步由計算機執(zhí)行以執(zhí)行下列動作從移動設(shè)備接收應(yīng)用程序分發(fā)請求,該應(yīng)用程序分發(fā)請求表示對于相應(yīng)于至少一個提議的至少一部分的包進行下載;以及響應(yīng)應(yīng)用程序分發(fā)請求的接收,將該包發(fā)送至移動設(shè)備。
23.一種包括處理器的配置管理服務(wù)器和一種包含計算機程序指令的存儲器,該計算機程序指令用于將應(yīng)用程序分發(fā)到請求的移動設(shè)備,該處理器用于執(zhí)行指令來完成如權(quán)利要求18所述的動作。
24.一種在移動設(shè)備上執(zhí)行配置管理的方法,該方法的特征在于包括將請求發(fā)送至服務(wù)器,該請求表示從以服務(wù)器為寄主的URL上一次成功下載的時間;響應(yīng)請求的發(fā)送,從該服務(wù)器接收一組下載指令,下載指令根據(jù)大綱而被格式化,并且表示從中下載一個或多個提議的位置,該一個或多個提議從上一次成功下載時開始就已經(jīng)有效;接收來自移動設(shè)備的用戶的選擇請求,表示對應(yīng)于一個或多個提議中的至少一個提議的一個所需動作;以及根據(jù)由下載指令提供的信息執(zhí)行所需動作。
25.如權(quán)利要求24所述的方法,其特征在于,移動設(shè)備與服務(wù)器之間的通信是通過諸如HTTPS這樣的安全協(xié)議完成的。
26.如權(quán)利要求24所述的方法,其特征在于,所述URL不是該位置。
27.如權(quán)利要求24所述的方法,其特征在于,執(zhí)行所需動作還包括將至少一個提議的短或長的說明呈現(xiàn)給用戶來檢查。
28.如權(quán)利要求24所述的方法,其特征在于還包括露出使應(yīng)用編程接口,從而將信息假如可信源列表或從中移去信息;驗證相對于可信源列表的下載指令。
29.如權(quán)利要求24所述的方法,其特征在于還包括,露出應(yīng)用編程接口以定義可由移動設(shè)備使用的一個或多個事件來調(diào)度用于下載的文件,該文件由接收到的下載指令所標識。
30.如權(quán)利要求24所述的方法,其特征在于,執(zhí)行所需動作還包括通過從本地高速緩存的提議列表中移去刪除至少一個提議來表示該用戶不是該至少一個提議中所關(guān)心的。
31.如權(quán)利要求24所述的方法,其特征在于,執(zhí)行所需動作還包括將下載請求發(fā)送至所述位置;響應(yīng)下載請求的發(fā)送,由移動設(shè)備接收所述至少一個提議;以及在移動設(shè)備上安裝作為一或多個文件的至少一個提議。
32.如權(quán)利要求24所述的方法,其特征在于,執(zhí)行所需動作還包括根據(jù)特定準則調(diào)度一個事件,該事件對應(yīng)于將下載請求消息發(fā)送至所述位置;響應(yīng)該事件的發(fā)生,將該下載請求消息發(fā)送至所述位置;以及響應(yīng)該下載請求消息的發(fā)送,由移動設(shè)備接收該至少一個提議。
33.如權(quán)利要求32所述的方法,其特征在于,所述特定準則是基于一個或多個用戶輸入、由下載指令提供的調(diào)度信息、硬件事件、以及軟件事件的任意組合。
34.如權(quán)利要求32所述的方法,其特征在于還包括,通過驗證相對于可信源列表的下載指令而從非可信的服務(wù)器接收可信的數(shù)據(jù)。
35.如權(quán)利要求24所述的方法,其特征在于,移動設(shè)備不由公司防火墻保護。
36.如權(quán)利要求34所述的方法,其特征在于,移動設(shè)備的進一步操作包括響應(yīng)下載指令的驗證確定,請求該一個或多個提議的至少一部分;響應(yīng)該部分的請求,從服務(wù)器接收該部分;通過哈希函數(shù)來確定該部分的驗證;以及響應(yīng)該部分的驗證,將該部分安裝至移動設(shè)備存儲器中。
37.一種包括用于配置管理移動設(shè)備的計算機程序指令的計算機可讀媒質(zhì),該計算機程序指令可由計算機執(zhí)行并且用于執(zhí)行如權(quán)利要求24所述方法的操作。
38.一種包括耦合到存儲器的處理器的移動設(shè)備,該存儲器包括用于配置管理移動設(shè)備的計算機程序指令,該處理器被配置成從存儲器提取并執(zhí)行計算機程序指令以執(zhí)行如權(quán)利要求24所述方法的操作。
39.一種用戶界面(UI),允許用戶選擇性地用間歇性連接到管理服務(wù)器的一個或多個提議來配置移動設(shè)備,該UI的特征在于包括第一UI組件,使用戶能將數(shù)據(jù)發(fā)現(xiàn)請求發(fā)送至管理服務(wù)器;以及第二區(qū)域,表示管理服務(wù)器自移動設(shè)備上一次從與管理服務(wù)器相關(guān)的URL的成功下載操作以來是否有可用于移動設(shè)備的一個或多個提議,該第二區(qū)域包括多個用戶可選擇的組件,使用戶能查看或忽略任何可用的提議。
40.如權(quán)利要求39所述的UI,其特征在于還包括一對話框組件,它響應(yīng)用戶輸入,用于(a)為了從管理服務(wù)器到移動設(shè)備的下載而調(diào)度該一個或多個提議中的特定提議;以及(b)查看該特定提議的短或長的說明。
41.如權(quán)利要求39所述的UI,其特征在于還包括括一對話框組件,它響應(yīng)用戶輸入,規(guī)定一項或多項準則來調(diào)度該一個或多個提議中特定提議到移動設(shè)備的下載,該一項或多項準則是基連接屬性、時間和費用中一項或多項的任意組合。
42.一種包括可由計算機執(zhí)行的計算機程序指令的計算機刻度媒質(zhì),其特征在于用于呈現(xiàn)如權(quán)利要求39所述的用戶界面。
43.一種包括耦合到存儲器的處理器的計算設(shè)備,該存儲器包含計算機程序指令,該處理器被配置成提取并執(zhí)行計算機程序指令以呈現(xiàn)如權(quán)利要求39所述的用戶界面。
全文摘要
描述了用于移動設(shè)備的應(yīng)用程序分發(fā)和配置管理的系統(tǒng)管理框架??蚣馨ㄒ还芾矸?wù)器和一移動計算設(shè)備。管理服務(wù)器為了配置管理移動計算設(shè)備而發(fā)送下載指令。移動計算設(shè)備通過非永久連接連接至管理服務(wù)器。移動計算設(shè)備向管理服務(wù)器請求下載指令,以確定是否有任何可由移動計算設(shè)備下載并安裝的提議。管理服務(wù)器給出的任何提議均表示自從移動計算設(shè)備完成上一次成功下載操作以來可用的一個或多個文件。移動計算設(shè)備使用戶能接受或拒絕提議中的任一或多個提議的下載與安裝。
文檔編號H04L29/06GK1471008SQ0314523
公開日2004年1月28日 申請日期2003年6月25日 優(yōu)先權(quán)日2002年6月28日
發(fā)明者J·W·L·梅里爾, E·L·A·郎茲, L·E·埃斯帕拉格扎, M·特魯法特, D·C·馬爾, R·T·威爾森, U·I·帕德馬納班, A 郎茲, J W L 梅里爾, 埃斯帕拉格扎, 威爾森, 帕德馬納班, 撤ㄌ, 馬爾 申請人:微軟公司