授權(quán)過程的動態(tài)選擇的制作方法
【專利摘要】本文公開了用于使用基于與應(yīng)用的發(fā)起相關(guān)聯(lián)的條件動態(tài)標(biāo)識的優(yōu)選授權(quán)過程來許可應(yīng)用的系統(tǒng)、方法和軟件。隨后使用優(yōu)選授權(quán)過程來試圖授權(quán)。在一些示例中,從至少無密鑰授權(quán)過程和基于密鑰的授權(quán)過程中選擇優(yōu)選授權(quán)過程。
【專利說明】授權(quán)過程的動態(tài)選擇
【背景技術(shù)】
[0001] 在軟件許可【技術(shù)領(lǐng)域】中,限制對軟件的未經(jīng)授權(quán)的使用的追求常常與以用戶友好 的方式來部署軟件的期望存在緊張的關(guān)系。一般地,許可機制越安全,則對于用戶可能期望 與應(yīng)用交互的各種方式而言該許可機制就越?jīng)]有容納性。相反,在改變用戶行為模式方面 較靈活的許可機制可能提供低于所期望的針對未經(jīng)授權(quán)使用的保護。
[0002] 例如,用戶已經(jīng)變得越來越習(xí)慣于從各種位置和平臺來訪問所有類型的軟件應(yīng) 用,同時享受如同他們在本地工作那樣地同樣豐富的特征和體驗。用戶可能時常工作于他 們的臺式計算機上的應(yīng)用,隨后遠離該臺式計算機到移動設(shè)備或另一個人的計算機上。用 戶還享受在啟動或安裝應(yīng)用之后幾乎立即使用這些應(yīng)用的能力。
[0003] 盡管一些軟件供應(yīng)商已經(jīng)簡單地放棄了試圖平衡實施與便利而是選擇兩者中的 任一個,但還是采取了許多方法來解決這一動態(tài)問題。一些方法涉及基于用戶身份來授權(quán) 應(yīng)用的登錄規(guī)程,而其他方法涉及復(fù)雜的密鑰管理范例。然而,只要應(yīng)用環(huán)境和使用模式繼 續(xù)不斷演進,提供軟件應(yīng)用的靈活且安全的許可的挑戰(zhàn)將持久存在。
[0004] 概覽
[0005] 本文提供了通過在發(fā)起應(yīng)用時動態(tài)選擇優(yōu)選授權(quán)過程來提供靈活的許可實施的 系統(tǒng)、方法和軟件。該優(yōu)選授權(quán)過程可基于應(yīng)用發(fā)起周圍的條件來選擇,諸如該應(yīng)用在其中 被發(fā)起的環(huán)境或者安裝過程的進度。通過動態(tài)標(biāo)識并試圖使用優(yōu)選授權(quán)過程,用戶將享受 從他們選擇的任何位置或設(shè)備的許可訪問,并且在啟動或安裝應(yīng)用不久之后就能夠是生產(chǎn) 高效的。仍然可以部署保護軟件供應(yīng)商的利益的許可機制。
[0006] 例如,當(dāng)應(yīng)用從漫游環(huán)境中被發(fā)起時,可以選擇無密鑰授權(quán)過程來授權(quán)對應(yīng)用的 使用。相反,在其它條件下可以選擇基于密鑰的授權(quán)過程。這允許用戶無論是工作于本地 安裝和授權(quán)的應(yīng)用副本還是遠離他們的計算機來工作都能享受對應(yīng)用的使用。
[0007] 在另一示例中,當(dāng)基于密鑰的授權(quán)按過程不可用時,應(yīng)用可使用無密鑰授權(quán)過程 被臨時授權(quán)。這允許用戶在購買應(yīng)用之后立即就是生產(chǎn)高效的,而不是延遲對應(yīng)用的享受 直到已經(jīng)安裝了基于密鑰的授權(quán)過程。
[0008] 提供本概覽以便以簡化形式介紹將在以下的技術(shù)公開中進一步描述的概念選擇。 本概覽并不旨在標(biāo)識出所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在用于限定所要 求保護的主題的范圍。
[0009] 附圖簡述
[0010] 參考以下附圖可以更好地理解本發(fā)明的許多方面。雖然結(jié)合這些附圖描述了幾種 實現(xiàn),但所述公開并不局限于在此所述的這些實現(xiàn)。相反,意圖是要覆蓋所有的替換方式、 修改和等價物。
[0011] 圖1解說了在一種實現(xiàn)中的授權(quán)系統(tǒng)。
[0012] 圖2是解說授權(quán)系統(tǒng)的操作的流程圖。
[0013] 圖3解說了在一種實現(xiàn)中的授權(quán)系統(tǒng)。
[0014] 圖4解說了授權(quán)系統(tǒng)的功能視圖。
[0015] 圖5解說了授權(quán)系統(tǒng)的操作序列。
[0016] 圖6解說了授權(quán)系統(tǒng)的功能視圖。
[0017] 圖7解說了授權(quán)系統(tǒng)的操作序列。
[0018] 圖8解說了授權(quán)系統(tǒng)的功能視圖。
[0019] 圖9解說了授權(quán)系統(tǒng)的操作序列。
[0020] 圖10是描述授權(quán)系統(tǒng)操作的流程圖。
[0021] 技術(shù)公開
[0022] 本文描述的各實現(xiàn)提供了靈活的許可實施,因為能夠基于遵循許可的應(yīng)用操作周 圍的條件來采用優(yōu)選授權(quán)過程。這一靈活性將允許用戶在各種各樣的情況下有權(quán)享受對應(yīng) 用的使用,而不會受到麻煩且不方便的許可機制的阻礙。同時,軟件生產(chǎn)者將仍然受到保護 免受非法應(yīng)用使用及其相關(guān)聯(lián)的損害。
[0023] 在選擇優(yōu)選授權(quán)過程時納入考慮的一些條件包括應(yīng)用在其中被執(zhí)行的運行時環(huán) 境、可以從中選擇優(yōu)選過程的各種授權(quán)過程的可用性、應(yīng)用朝向完全安裝狀態(tài)作出的進度、 以及許多其它條件和因素。響應(yīng)于這些變化的條件,許可客戶端可以選擇恰適的授權(quán)過程, 其將以最終提供應(yīng)用被授權(quán)的確認(rèn)的方式來加速用戶訪問。
[0024] 例如,用戶可以訂閱或以其它方式被授權(quán)使用應(yīng)用,但暫時地離開用戶的計算機。 用戶可以通過web瀏覽器來訪問文檔,從而觸發(fā)應(yīng)用的實例。與應(yīng)用集成的或者與應(yīng)用分 開的許可客戶端選擇優(yōu)選授權(quán)過程來授權(quán)用戶使用該應(yīng)用。在該示例中,在漫游會話期間, 用戶可經(jīng)由無密鑰授權(quán)過程被臨時授權(quán)以使用應(yīng)用,而非向用戶請求密鑰并且經(jīng)由基于密 鑰的過程來授權(quán)。
[0025] 在另一示例中,用戶可通過在線應(yīng)用商店來購買應(yīng)用。在應(yīng)用正在向用戶的計算 機下載的同時,可以通過在購買期間或早前的在線會話期間用戶提供的用戶身份來授權(quán)應(yīng) 用。在應(yīng)用的一些部分(諸如接受、驗證、以及保護基于密鑰的授權(quán)過程所使用的密鑰的 安全所必須的組件)仍然要被下載和安裝的同時,用戶能夠立即開始高生產(chǎn)力地工作于應(yīng) 用。
[0026] 在又一示例中,用戶可以在其中授權(quán)密鑰可用并且在其中通過其來授權(quán)應(yīng)用的基 于密鑰的過程也可用的環(huán)境中啟動應(yīng)用。在該場景中,可以通過將密鑰應(yīng)用于基于密鑰的 過程來解鎖應(yīng)用來以傳統(tǒng)方式授權(quán)應(yīng)用。
[0027] 在這些場景中,許可客戶端在應(yīng)用發(fā)起時被觸發(fā)并且標(biāo)識在各條件下優(yōu)選的授權(quán) 過程。根據(jù)優(yōu)選過程來授權(quán)應(yīng)用,從而允許用戶盡可能快地訪問應(yīng)用同時保護軟件生產(chǎn)商。
[0028] 提供圖1-2來解說授權(quán)系統(tǒng)100及其操作的一種實現(xiàn)。圖1描繪了授權(quán)系統(tǒng)100 的各元素,而圖2解說了描述授權(quán)系統(tǒng)100的操作的過程200。
[0029] 現(xiàn)在參考圖1,授權(quán)系統(tǒng)100包括處理系統(tǒng)101和存儲系統(tǒng)103。軟件105被存儲 在存儲系統(tǒng)103上并且包括應(yīng)用109和許可客戶端111。當(dāng)由處理系統(tǒng)101執(zhí)行時,許可客 戶端111選擇要實現(xiàn)授權(quán)過程113和授權(quán)過程115中的哪一個,如將在下文參考圖2更詳 細地討論的。
[0030] 應(yīng)用109可以是能夠在授權(quán)系統(tǒng)100內(nèi)運行的任何類型的計算機應(yīng)用。應(yīng)用109 的示例包括生產(chǎn)力應(yīng)用、娛樂應(yīng)用、通信應(yīng)用、和開發(fā)應(yīng)用、以及任何其它類型的應(yīng)用。許可 客戶端111可以是應(yīng)用109的集成組件,但也可以是獨立應(yīng)用。替換地,許可客戶端111可 與軟件105內(nèi)的其它元素集成,諸如操作系統(tǒng)軟件。
[0031] 授權(quán)過程113和授權(quán)過程115可以各自是能夠確定是否要授權(quán)應(yīng)用以供使用的任 何過程。授權(quán)過程113和授權(quán)過程115可以各自由單個設(shè)備執(zhí)行,但也可以跨若干設(shè)備分 布。應(yīng)當(dāng)理解,除了授權(quán)過程113和115以外的其它授權(quán)過程也是可能的。
[0032] 轉(zhuǎn)向圖2,過程200描述了在一種實現(xiàn)中授權(quán)系統(tǒng)100的操作,并且更具體地,在應(yīng) 用109被發(fā)起時許可客戶端111的操作。例如,應(yīng)用109可以從瀏覽會話中被啟動、被本地 地啟動、或者作為安裝過程的一部分來發(fā)起。
[0033] 在發(fā)起應(yīng)用109時,許可客戶端111標(biāo)識與應(yīng)用109的發(fā)起相關(guān)聯(lián)的條件(步驟 201)。如上所提及的,這些條件可涉及應(yīng)用109在其中被啟動的環(huán)境、授權(quán)過程113和115 中的一者或另一者的存在或可用性、或者安裝過程的進度??杀辉S可客戶端111標(biāo)識并且 在選擇優(yōu)選授權(quán)過程時納入考慮的其它因素或條件也是可能的。
[0034] 許可客戶端111可以用各種各樣的方式來確定與應(yīng)用109的發(fā)起相關(guān)聯(lián)的條件。 例如,許可客戶端111可以讀取存儲在存儲器中標(biāo)識了應(yīng)用109要在其中被發(fā)起的環(huán)境的 值。該值可由用于啟動應(yīng)用109的引導(dǎo)器應(yīng)用或者由知曉應(yīng)用109在其中被啟動的環(huán)境的 某一其它應(yīng)用來設(shè)置。
[0035] 替換地,許可客戶端111可以查詢另一應(yīng)用(無論其駐留在本地還是遠程)以獲 取關(guān)于執(zhí)行環(huán)境的信息。在另一替換方案中,許可客戶端111可以查詢某一其它應(yīng)用或操 作系統(tǒng)元素以確定其正在其中運行的上下文。許可客戶端111還可查詢操作系統(tǒng)組件以確 定應(yīng)用109的安裝先前是否已經(jīng)發(fā)生。應(yīng)用109在其中被發(fā)起的環(huán)境可以從與應(yīng)用109并 發(fā)運行的應(yīng)用中得以顯現(xiàn),諸如web瀏覽器應(yīng)用。從而,許可客戶端111可以查詢這些其它 應(yīng)用以確定運行時條件。
[0036] 基于步驟201中標(biāo)識的條件,許可客戶端111從授權(quán)過程113和授權(quán)過程115中 選擇要用其來授權(quán)應(yīng)用109的優(yōu)選授權(quán)過程(步驟203)。應(yīng)當(dāng)理解,許可客戶端111可以 從不僅僅授權(quán)過程113和115的授權(quán)過程中進行選擇。哪個過程被選為優(yōu)選授權(quán)過程可以 由傳達給許可客戶端111的條件來驅(qū)動。例如,在上文給定的示例中,特定的值或特定范圍 的值可以驅(qū)動許可客戶端111選擇和利用授權(quán)過程113,而不同的值或不同范圍的值可以 驅(qū)動許可客戶端111選擇和使用授權(quán)過程115。
[0037] 許可客戶端111隨后試圖使用授權(quán)過程113和115中作為優(yōu)選授權(quán)過程的那個來 授權(quán)應(yīng)用109 (步驟205)。如所提及的,授權(quán)過程113和115可以各自由授權(quán)系統(tǒng)100實 現(xiàn),但也可以用涉及其它設(shè)備的分布式方式來實現(xiàn)。實現(xiàn)授權(quán)過程113和115中的每一個 還可涉及本地地執(zhí)行每一過程的一些部分并且遠程地執(zhí)行其它部分。
[0038] 在實現(xiàn)優(yōu)選授權(quán)過程時,許可客戶端111學(xué)習(xí)至少針對應(yīng)用的該實例是否授權(quán)對 應(yīng)用109的使用。取決于選擇了哪一個授權(quán)過程,應(yīng)用109可能僅僅被臨時授權(quán),但也可能 被永久授權(quán),以及被授權(quán)持續(xù)某一其它使用歷時。一旦應(yīng)用109被永久授權(quán),可以執(zhí)行周期 性檢查以確保應(yīng)當(dāng)維持其授權(quán)。同樣地,對應(yīng)用109的升級或者對其的其它改變可能影響 其授權(quán)狀態(tài)。
[0039] 假定應(yīng)用109被授權(quán),用戶能夠開始變得高生產(chǎn)力,諸如通過工作于使用生產(chǎn)力 應(yīng)用109生成的文檔或電子表格、參與通信會話、或參與游戲會話等。如果授權(quán)失敗,則用 戶可能被完全阻止使用應(yīng)用109。然而,應(yīng)用109也可以按向用戶提供對其能力的有限使用 的減少功能模式來呈現(xiàn)。替換地,授權(quán)可以被授予持續(xù)一寬限期,從而允許用戶在有限時間 量內(nèi)享受完整功能。從失敗授權(quán)得出其它的結(jié)果也是可能的,并且被認(rèn)為落在本公開的范 圍內(nèi)。
[0040] 回頭參照圖1,授權(quán)系統(tǒng)100和相關(guān)聯(lián)的討論旨在提供對其中可實現(xiàn)過程200的合 適計算環(huán)境的簡要概括描述??梢圆捎糜嬎阍O(shè)備和軟件計算系統(tǒng)的許多其它配置來實現(xiàn)過 程 200。
[0041] 授權(quán)系統(tǒng)100可以是能夠動態(tài)地標(biāo)識要用其來授權(quán)應(yīng)用的優(yōu)選授權(quán)過程的任何 類型的計算系統(tǒng),諸如客戶端計算機、服務(wù)器計算機、因特網(wǎng)設(shè)備或其的任何組合或變體。 實際上,授權(quán)統(tǒng)100可以被實現(xiàn)為單個計算系統(tǒng),但也可以跨多個計算系統(tǒng)以分布式方式 來實現(xiàn)。授權(quán)系統(tǒng)1〇〇可以作為通用計算系統(tǒng)的示例來提供,當(dāng)執(zhí)行過程200時,該通用計 算系統(tǒng)變成能夠動態(tài)選擇優(yōu)選授權(quán)過程的專用系統(tǒng)。
[0042] 授權(quán)系統(tǒng)100包括處理系統(tǒng)101、存儲系統(tǒng)103和軟件105。軟件105包括應(yīng)用 109和許可客戶端111。處理系統(tǒng)101與存儲系統(tǒng)103通信上耦合。存儲系統(tǒng)103存儲軟 件105以及具體地許可客戶端111,當(dāng)其由處理系統(tǒng)101執(zhí)行時引導(dǎo)授權(quán)系統(tǒng)100如過程 200所描述的那樣操作。
[0043] 還是參考圖1,處理系統(tǒng)101可以包括從存儲系統(tǒng)103中檢索并執(zhí)行軟件105以 及更具體地應(yīng)用109和許可客戶端111的微處理器以及其他電路系統(tǒng)。處理系統(tǒng)101可 以在單個處理設(shè)備中實現(xiàn),但也可以跨在執(zhí)行程序指令中協(xié)作的多個處理設(shè)備或子系統(tǒng)分 布。處理系統(tǒng)101的示例包括通用中央處理單元、專用處理器以及邏輯設(shè)備,和任意其他類 型的處理設(shè)備。
[0044] 存儲系統(tǒng)103可以包括可由處理系統(tǒng)101讀取并能存儲軟件105 (包括應(yīng)用109和 許可客戶端111)的任意存儲介質(zhì)。存儲系統(tǒng)103可包括易失性和非易失性、可移動和不可 移動介質(zhì),它們以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)這樣的信 息的任意方法或技術(shù)來實現(xiàn)。存儲系統(tǒng)103可以被實現(xiàn)為單個存儲設(shè)備,但也可以跨多個 存儲設(shè)備或子系統(tǒng)來實現(xiàn)。存儲系統(tǒng)103可以包括附加元件,諸如能夠與處理系統(tǒng)101通 信的控制器。
[0045] 存儲介質(zhì)的示例包括隨機訪問存儲器、只讀存儲器、磁盤、光盤以及閃存,和它們 的任意組合或變型,或任意其他類型的存儲介質(zhì)。在一些實現(xiàn)中,存儲介質(zhì)可以是非瞬態(tài)存 儲介質(zhì)。在一些實現(xiàn)中,至少一部分存儲介質(zhì)可以是瞬時的。應(yīng)該理解,存儲介質(zhì)決不是被 傳播的信號。
[0046] 軟件105 (具體地包括應(yīng)用109和許可客戶端111)包括計算機程序指令、固件或 某一其他形式的其中實現(xiàn)過程200的機器可讀的處理指令。應(yīng)用109和許可客戶端111可 以被實現(xiàn)為單個應(yīng)用,但也可以被實現(xiàn)為多個應(yīng)用。應(yīng)用109和許可客戶端111可以是單 獨的應(yīng)用,但也可以在分布在多個設(shè)備上的其他應(yīng)用內(nèi)實現(xiàn),所述其他應(yīng)用包括但不限于 程序應(yīng)用軟件和操作系統(tǒng)軟件。如所提及的,許可客戶端111可實現(xiàn)在應(yīng)用109內(nèi)。
[0047] 一般地,當(dāng)被加載到處理系統(tǒng)101中并被執(zhí)行時,軟件105可以將處理系統(tǒng)101以 及整個授權(quán)系統(tǒng)100從通用計算系統(tǒng)變換為專用計算系統(tǒng),所述專用計算系統(tǒng)被定制為如 過程200及其相關(guān)聯(lián)的討論所述來動態(tài)選擇用于應(yīng)用的優(yōu)選授權(quán)過程。
[0048] 對軟件105以及更具體地應(yīng)用109和許可客戶端111進行編碼也可變換存儲系統(tǒng) 103的物理結(jié)構(gòu)。在本說明書的不同實現(xiàn)中,物理結(jié)構(gòu)的具體變換可取決于各種因素。這些 因素的示例包括但不限于:用于實現(xiàn)存儲系統(tǒng)103的存儲介質(zhì)的技術(shù)、計算機存儲介質(zhì)被 表征為主存儲還是次級存儲,等等。
[0049] 例如,如果計算機存儲介質(zhì)被實現(xiàn)為基于半導(dǎo)體的存儲器,則當(dāng)在其中編碼軟件 時,軟件105以及更具體地應(yīng)用109和許可客戶端111可以變換半導(dǎo)體存儲器的物理狀態(tài)。 例如,軟件105可以變換構(gòu)成半導(dǎo)體存儲器的晶體管、電容器或其它分立電路元件的狀態(tài)。 一種類似的變換可以相對于磁性或光學(xué)介質(zhì)發(fā)生。在沒有偏離本說明書的范圍的情況下, 物理介質(zhì)的其他變換也是可能的,前面提供的示例只是為了便于這一討論。
[0050] 再次參考圖1-2,通過采用許可客戶端111的授權(quán)系統(tǒng)100的操作,對應(yīng)用109執(zhí) 行這些變換。作為示例,應(yīng)用109可以被認(rèn)為由許可客戶端111標(biāo)識的優(yōu)選授權(quán)過程從一 種狀態(tài)變換成另一狀態(tài)。
[0051] 授權(quán)系統(tǒng)100可以具有附加的設(shè)備、特征或功能。授權(quán)系統(tǒng)100可以可選地具有 輸入設(shè)備,諸如鍵盤、鼠標(biāo)、語音輸入設(shè)備或觸摸輸入設(shè)備以及其它類似輸入設(shè)備。還可以 包括輸出設(shè)備,諸如顯示器、揚聲器、打印機和其它類型的輸出設(shè)備。授權(quán)系統(tǒng)100還可以 包含允許授權(quán)系統(tǒng)100諸如通過分布式計算和通信環(huán)境中的有線或無線網(wǎng)絡(luò)與其他設(shè)備 或系統(tǒng)通信的通信連接和設(shè)備。這些設(shè)備在本領(lǐng)域中公知且無需在此處詳細討論。
[0052] 圖3解說了一種實現(xiàn)中的授權(quán)系統(tǒng)300,而圖4-9解說了授權(quán)系統(tǒng)300的若干功 能視圖以及與其操作有關(guān)的操作序列。具體地,圖4和圖5解說在漫游上下文中授權(quán)系統(tǒng) 300的操作。圖6和圖7解說在安裝上下文中授權(quán)系統(tǒng)300的操作,而圖8和圖9中解說的 上下文涉及授權(quán)服務(wù)的不可用性。圖10包含涉及由授權(quán)系統(tǒng)300實現(xiàn)的過程1000的流程 圖。圖4-10加在一起演示了能夠跨各種各樣的上下文和環(huán)境靈活部署和實施的用于許可 生產(chǎn)力應(yīng)用309的機制。
[0053] 圖4-10中提供的功能視圖、操作序列和流程圖表示用于執(zhí)行本公開的新穎方面 的示例性架構(gòu)和方法。盡管出于解釋簡明的目的,此處包括的方法以功能圖、操作系列或流 程圖形式示出并且可被描述為一系列動作,但是可以理解和領(lǐng)會,各方法不受動作的次序 的限制,因為根據(jù)本發(fā)明,某些動作可以按與此處所示并描述的不同的次序和/或與其他 動作并發(fā)地發(fā)生。例如,本領(lǐng)域的技術(shù)人員將明白并理解,方法可被替換地表示為一系列相 互相關(guān)聯(lián)的狀態(tài)或事件,諸如以狀態(tài)圖的形式。此外,并非方法中所示出的所有動作都是新 穎實現(xiàn)所必需的。
[0054] 現(xiàn)在參考圖3,授權(quán)系統(tǒng)300包括用戶302操作的客戶端設(shè)備300??蛻舳嗽O(shè)備300 包括處理系統(tǒng)301、存儲系統(tǒng)303、軟件305、用戶接口 306、和通信接口 307。軟件305包括 生產(chǎn)力應(yīng)用309和許可客戶端311??蛻舳嗽O(shè)備300通過通信網(wǎng)絡(luò)320與商務(wù)服務(wù)器321、 應(yīng)用服務(wù)器323、在線許可服務(wù)(0LS)服務(wù)器325、以及軟件保護平臺(SPP)服務(wù)器327通 ?目。
[0055] 商務(wù)服務(wù)器321向用戶302提供應(yīng)用購買能力。例如,用戶102可能期望購買應(yīng) 用或訂閱應(yīng)用服務(wù)。利用客戶端設(shè)備300,用戶302能夠通過商務(wù)服務(wù)器321獲得應(yīng)用。商 務(wù)服務(wù)器321可以提供一些商務(wù)功能,諸如交易處理等等。
[0056] 應(yīng)用服務(wù)器323向用戶302提供經(jīng)由商務(wù)服務(wù)器321購買或訂閱的應(yīng)用的實例。 應(yīng)當(dāng)理解,應(yīng)用服務(wù)器323和商務(wù)服務(wù)器321可以分開地實現(xiàn),但也可以用集成方式來實 現(xiàn)。應(yīng)用服務(wù)器323能夠用各種各樣的方式向客戶端設(shè)備300提供生產(chǎn)力應(yīng)用309,諸如 通過將生產(chǎn)力應(yīng)用309下載到客戶端設(shè)備300或者將生產(chǎn)力應(yīng)用309流傳輸?shù)娇蛻舳嗽O(shè)備 300。應(yīng)用服務(wù)器323也可在各種各樣的上下文中采用,諸如在托管服務(wù)中。應(yīng)當(dāng)理解,應(yīng)用 服務(wù)器323僅僅表示可被用來將應(yīng)用流傳輸或下載到客戶端設(shè)備300的許多應(yīng)用服務(wù)器。
[0057] 0LS服務(wù)器325用于提供客戶端設(shè)備300可訪問以獲得生產(chǎn)力應(yīng)用309的授權(quán)的 授權(quán)服務(wù)。類似地,SPP服務(wù)器327用于向客戶端設(shè)備300提供授權(quán)服務(wù)。具體地,0LS服 務(wù)器325與許可客戶端311通信以實現(xiàn)授權(quán)過程,而SPP服務(wù)器327也與許可客戶端311 通信但實現(xiàn)與0LS服務(wù)器325所提供的不同授權(quán)過程。例如,SPP服務(wù)器327可以實現(xiàn)涉 及使用產(chǎn)品密鑰的基于密鑰的授權(quán)過程,而0LS服務(wù)器325可以實現(xiàn)無密鑰授權(quán)。接下來 參考圖4-9進行關(guān)于許可客戶端311與0LS服務(wù)器325和SPP服務(wù)器327之間的交互的更 詳細的討論。
[0058] 客戶端設(shè)備300可以是能夠執(zhí)行生產(chǎn)力應(yīng)用309和許可客戶端311的任何類型的 設(shè)備,諸如臺式機、膝上型計算機、平板計算機、以及移動計算設(shè)備、因特網(wǎng)電氣設(shè)備、或適 于運行應(yīng)用的任何其它類型的設(shè)備。對圖3-10的討論是在生產(chǎn)力應(yīng)用的上下文中,但應(yīng)當(dāng) 理解,此處公開的各概念也能適用于遵循要求某種形式的授權(quán)的許可約束的任何類型的應(yīng) 用。
[0059] 圖4解說了在漫游上下文中操作的授權(quán)系統(tǒng)300的功能視圖400。功能視圖400 包括生產(chǎn)力應(yīng)用309在其中執(zhí)行的瀏覽器應(yīng)用308。內(nèi)容310被包括以演示可以使用生產(chǎn) 力應(yīng)用309來工作于或以其它方式產(chǎn)生內(nèi)容,諸如文字處理文檔、電子表格、演示等等。
[0060] 在該實現(xiàn)中,生產(chǎn)力應(yīng)用309被認(rèn)為是在漫游環(huán)境中以漫游模式來發(fā)起的,因為 它從應(yīng)用服務(wù)器323流傳輸至瀏覽器應(yīng)用308。另外,當(dāng)生產(chǎn)力應(yīng)用309在目標(biāo)計算機上尚 未被授權(quán)時可被認(rèn)為生產(chǎn)力應(yīng)用309以漫游模式來發(fā)起。例如,用戶可能想要工作于未安 裝在正在使用的計算機上的生產(chǎn)力應(yīng)用,并且因而經(jīng)由能夠流傳輸該生產(chǎn)力應(yīng)用或者以其 它方式給予用戶對該應(yīng)用的臨時使用的應(yīng)用服務(wù)器來訪問該生產(chǎn)力應(yīng)用。相反,在主機計 算機上完整安裝并被許可的生產(chǎn)力應(yīng)用可以被認(rèn)為本機地運行在該計算機上。從而,在該 情景中對生產(chǎn)力應(yīng)用的本機使用將不會被認(rèn)為是漫游情景。
[0061] 出于解說圖4和圖5的目的假定生產(chǎn)力應(yīng)用309先前未安裝在客戶端設(shè)備300上 并且因而必須被流傳輸。另外,假定客戶端設(shè)備300最初未被授權(quán)在漫游上下文內(nèi)運行應(yīng) 用309,從而要求許可客戶端311來嘗試授權(quán)。
[0062] 如所提及的,應(yīng)用服務(wù)器323可在當(dāng)訪問相關(guān)聯(lián)的內(nèi)容時可從中啟動應(yīng)用的托管 服務(wù)內(nèi)實現(xiàn),諸如web郵件服務(wù)或云存儲服務(wù)。在該情形中,內(nèi)容310也可初始地駐留在托 管服務(wù)內(nèi)。通過點擊內(nèi)容310或者通過瀏覽器應(yīng)用308以其它方式來選擇內(nèi)容310,應(yīng)用服 務(wù)器323被觸發(fā)以啟動與內(nèi)容310相關(guān)聯(lián)的應(yīng)用的實例,在它從應(yīng)用服務(wù)器323流傳輸時 該實例變?yōu)樯a(chǎn)力應(yīng)用309。例如,內(nèi)容310可以是能夠用文檔編輯器(諸如Microso「t? Word)打開的文檔。Word可以使用任何公知的流傳輸技術(shù)來流傳輸以便打開文檔,諸如 Microsol_Vi:.提供的Click-2-Run平臺。應(yīng)當(dāng)理解,除了經(jīng)由試圖參與內(nèi)容310之外的其它 動作也可以觸發(fā)應(yīng)用服務(wù)器323啟動期望應(yīng)用的實例。例如,用戶可能試圖在托管服務(wù)內(nèi) 打開新的文檔,從而觸發(fā)相關(guān)聯(lián)的應(yīng)用。
[0063] 如所指示的,用戶302可以在參與與應(yīng)用服務(wù)器323的會話時或者通過瀏覽器應(yīng) 用308提供的某一其它會話時提供用戶標(biāo)識符(ID) 314。在發(fā)起生產(chǎn)力應(yīng)用309之前或當(dāng) 時能夠通過用戶接口 306向用戶302提示輸入用戶ID314。然而,用戶ID314也可由瀏覽 器應(yīng)用308在與托管服務(wù)或某一其它服務(wù)的早前會話期間存儲。在該情形中,瀏覽器應(yīng)用 308可以將用戶ID傳遞給許可客戶端311??梢砸笥脩?02輸入除了用戶ID314之外的 其它信息,諸如口令或個人標(biāo)識號。事實上,可以采用任何恰適機制來標(biāo)識用戶302。
[0064] 許可客戶端311將用戶ID314傳達給0LS服務(wù)器325,響應(yīng)于此,0LS服務(wù)器325 可以提供對生產(chǎn)力應(yīng)用309的授權(quán)。0LS服務(wù)器325處理用戶ID314以確定用戶302是否 被授權(quán)使用生產(chǎn)力應(yīng)用309。這范圍可能從相對簡單的過程(從授權(quán)用戶列表中查找用戶 302的身份)到執(zhí)行較復(fù)雜的處理(涉及用戶ID314和其它信息,包括例如口令)。
[0065] 用戶302可以出于多種原因被授權(quán),包括在另一計算機上購買或安裝了生產(chǎn)力應(yīng) 用309、訂閱允許用戶302使用生產(chǎn)力應(yīng)用309的應(yīng)用服務(wù)、或者屬于已經(jīng)授權(quán)訪問生產(chǎn)力 應(yīng)用309的組織。用戶302可被授權(quán)的其它原因也是可能的并且被構(gòu)想在本公開的范圍內(nèi)。 [0066] 圖5解說涉及功能視圖400中提供的各組件的操作序列500。作為開始,瀏覽器應(yīng) 用308通過與應(yīng)用服務(wù)器323通信來發(fā)起生產(chǎn)力應(yīng)用309。這可以通過多種方式來觸發(fā),諸 如用戶302點擊托管服務(wù)內(nèi)提供的鏈接。如上所提及的,托管服務(wù)可以包含在被選中時觸 發(fā)應(yīng)用的啟動的文件,諸如文檔處理文檔、電子表格等。
[0067] 響應(yīng)于由瀏覽器應(yīng)用308發(fā)起的通信,應(yīng)用服務(wù)器323將生產(chǎn)力應(yīng)用309流傳輸 給瀏覽器應(yīng)用308以供呈現(xiàn)給用戶302。這可以通過任何合適的應(yīng)用流傳輸技術(shù)來實現(xiàn),諸 如Click-2-Run。內(nèi)容310可與流傳輸?shù)膽?yīng)用比特一起包括,或者內(nèi)容310可以單獨地下載 到客戶端設(shè)備300。瀏覽器應(yīng)用308運行生產(chǎn)力應(yīng)用309,包括許可客戶端311。
[0068] 生產(chǎn)力應(yīng)用309在其中執(zhí)行的環(huán)境驅(qū)動0LS服務(wù)器325和SPP服務(wù)器327所支持 的授權(quán)過程中作為優(yōu)選授權(quán)過程的那一個來授權(quán)生產(chǎn)力應(yīng)用309。在這一場景中,引導(dǎo)器應(yīng) 用可以伴隨生產(chǎn)力應(yīng)用309的啟動來執(zhí)行,該引導(dǎo)器應(yīng)用一般與來自應(yīng)用服務(wù)器323的應(yīng) 用的發(fā)起相關(guān)聯(lián)。引導(dǎo)器尤其能夠在存儲器中設(shè)置指示生產(chǎn)力應(yīng)用309將在其中運行的環(huán) 境的值。在該情形中,該值被設(shè)置為指示環(huán)境是漫游環(huán)境。當(dāng)生產(chǎn)力應(yīng)用309啟動時,該值 驅(qū)動生產(chǎn)力應(yīng)用309與0LS服務(wù)器325通信以獲得授權(quán)或者生產(chǎn)力應(yīng)用309與SPP服務(wù)器 327通信以獲得授權(quán)。在生產(chǎn)力應(yīng)用309 (許可客戶端311)內(nèi)運行的代碼檢查該值并且作 為響應(yīng)開始0LS服務(wù)器325支持的授權(quán)過程或者SPP服務(wù)器327支持的授權(quán)過程。
[0069] 基于生產(chǎn)力應(yīng)用309被發(fā)起所處的條件,引導(dǎo)器應(yīng)用的多個版本可供部署。例如, 當(dāng)生產(chǎn)力應(yīng)用309從托管服務(wù)(諸如web郵件或云驅(qū)動服務(wù))發(fā)起時,應(yīng)用服務(wù)器323可 以部署將值設(shè)置為將環(huán)境標(biāo)識為漫游的引導(dǎo)器應(yīng)用版本。然而,當(dāng)生產(chǎn)力應(yīng)用309從不同 上下文或環(huán)境(諸如安裝場景)內(nèi)發(fā)起時,可以使用將值設(shè)置為將環(huán)境標(biāo)識為安裝的不同 的引導(dǎo)器應(yīng)用。
[0070] 在確定生產(chǎn)力應(yīng)用309正在漫游時,許可客戶端311將對應(yīng)用服務(wù)器323的授權(quán) 請求傳送給0LS服務(wù)器325,該授權(quán)請求包括與用戶302相關(guān)聯(lián)的用戶ID314。0LS服務(wù)器 325處理該請求并且返回對生產(chǎn)力應(yīng)用309的無密鑰授權(quán),從而允許用戶302參與并使用生 產(chǎn)力應(yīng)用309。
[0071] 替換地,引導(dǎo)器應(yīng)用可能知曉生產(chǎn)力應(yīng)用309將在其中被部署的環(huán)境,并且因而 能夠相應(yīng)地設(shè)置值以向生產(chǎn)力應(yīng)用309指示漫游。引導(dǎo)器應(yīng)用能夠通過與在相同環(huán)境內(nèi)執(zhí) 行的其它應(yīng)用(諸如瀏覽器應(yīng)用309)通信或者可能與操作系統(tǒng)元件通信而變得知曉該環(huán) 境以確定生產(chǎn)力應(yīng)用309將在其中執(zhí)行的環(huán)境。
[0072] 無密鑰授權(quán)可以是由生產(chǎn)力應(yīng)用309識別的電子許可證,諸如與生產(chǎn)力應(yīng)用309 的下載中提供的許可文件相對應(yīng)的激活配置標(biāo)識符(ACID)。正確的ACID可被識別為對完 全訪問有效,這可被認(rèn)為是有效授權(quán)。在用戶302未被授權(quán)的情況下,0LS服務(wù)器325可以 返回如此指示的指示。生產(chǎn)力應(yīng)用309隨后可以禁用某些特征并且在減少功能模式中運 行。然而,生產(chǎn)力應(yīng)用309簡單地完全限制訪問也是可能的。在一個示例中,ACID由0LS 服務(wù)器325返回,其可以表示用戶302是否被授權(quán)能夠完全訪問生產(chǎn)力應(yīng)用309。盡管一 個ACID可被識別為對完全訪問有效,這可被認(rèn)為是有效授權(quán),但另一 ACID可向生產(chǎn)力應(yīng)用 309指示應(yīng)當(dāng)向用戶302僅提供有限功能,這可被認(rèn)為是授權(quán)拒絕。替換地,授權(quán)拒絕可由 來自0LS服務(wù)器325的響應(yīng)指示,該響應(yīng)根本不提供任何ACID或者提供未被許可客戶端 311識別的ACID。作為響應(yīng),許可客戶端311可以提示用戶302索要不同憑證或者輸入密 鑰的選項。如果用戶拒絕提供正確的憑證,則生產(chǎn)力應(yīng)用309可被關(guān)閉。
[0073] 無密鑰授權(quán)向用戶302提供對生產(chǎn)力應(yīng)用309的臨時訪問。在一些情形中,用戶 302在無密鑰授權(quán)下可僅被授予對生產(chǎn)力應(yīng)用309的一次性使用。在一示例中,生產(chǎn)力應(yīng) 用309可被授權(quán)持續(xù)用戶與內(nèi)容310交互或者用戶與應(yīng)用309交互的歷時。例如,即便在 關(guān)閉內(nèi)容310時,應(yīng)用309可以保持打開和活躍,從而允許用戶302創(chuàng)建新的文檔或者打開 和使用其它文檔。在關(guān)閉應(yīng)用309時,對于用戶302將停止生產(chǎn)力應(yīng)用309的授權(quán)。
[0074] 授權(quán)被稱為是無密鑰的,這是因為0LS服務(wù)器325所支持的授權(quán)過程不使用密鑰 來確定是否允許對生產(chǎn)力應(yīng)用309的訪問。相反,SPP服務(wù)器327要求密鑰作為驗證過程 的輸入。該驗證過程對密鑰進行操作以確定其有效性,并且由此確定作出的訪問生產(chǎn)力應(yīng) 用的請求的有效性。密鑰的示例包括伴隨許多常見軟件購買提供的熟悉的5x5產(chǎn)品密鑰。
[0075] 圖6解說了在下載和安裝上下文中操作的授權(quán)系統(tǒng)300的另一功能視圖600。功 能視圖600包括安裝過程312、生產(chǎn)力應(yīng)用309和許可客戶端311。功能視圖600演示生產(chǎn) 力應(yīng)用309在其中被購買并被安裝在客戶端設(shè)備300上的安裝環(huán)境。
[0076] 在功能視圖600中,生產(chǎn)力應(yīng)用309從應(yīng)用服務(wù)器323下載。這作為用戶302在 與商務(wù)服務(wù)器321交互時作出的購買的結(jié)果而發(fā)生。商務(wù)服務(wù)器321向0LS服務(wù)器325提 供購買的通知。通知的一部分可以可能通過用戶ID314來標(biāo)識用戶302。0LS服務(wù)器325 向應(yīng)用服務(wù)器323傳遞通過用戶ID314與用戶302相關(guān)聯(lián)的令牌。將令牌綁定到具體的用 戶身份幫助0LS服務(wù)器325在必要時對用戶302進行授權(quán)。
[0077] 商務(wù)服務(wù)器321還向應(yīng)用服務(wù)器323提供購買的通知,這最終啟動下載過程以將 生產(chǎn)力應(yīng)用309下載到客戶端設(shè)備300。如所提及的,0LS服務(wù)器325向應(yīng)用服務(wù)器323提 供令牌,由此允許應(yīng)用服務(wù)器323連同生產(chǎn)力應(yīng)用309的下載一起來提供令牌。許可客戶 端311向0LS服務(wù)器325傳達令牌和用戶ID314以試圖對生產(chǎn)力應(yīng)用309進行授權(quán)。許可 客戶端311還參與SPP服務(wù)器327以使用密鑰來授權(quán)生產(chǎn)力應(yīng)用309,這將參考圖7更詳細 地描述。
[0078] 現(xiàn)在參考圖7,解說了涉及功能視圖600中提供的各組件的操作序列700。該序列 開始于購買生產(chǎn)力應(yīng)用309。響應(yīng)于該購買,向0LS服務(wù)器325通知該購買,并且0LS服務(wù) 器325響應(yīng)于此向應(yīng)用服務(wù)器323提供令牌。從應(yīng)用服務(wù)器323下載生產(chǎn)力應(yīng)用309以供 安裝在客戶端設(shè)備300上。令牌連同生產(chǎn)力應(yīng)用309 -起下載。
[0079] 在生產(chǎn)力應(yīng)用309的安裝期間,許可客戶端311必須確定要使用哪個授權(quán)過程來 授權(quán)生產(chǎn)力應(yīng)用309。簡單來說,許可客戶端311可以取決于生產(chǎn)力應(yīng)用309的安裝和執(zhí) 行周圍的條件來使用SPP服務(wù)器327支持的基于密鑰的授權(quán)過程或者0LS服務(wù)器325支持 的無密鑰授權(quán)過程。安裝過程312作出的進度可以是管控使用哪個安裝過程的一個因素。 例如,生產(chǎn)力應(yīng)用309中支持基于密鑰的過程的部分在請求授權(quán)時可能尚未被下載并且安 裝。代替對生產(chǎn)力應(yīng)用309的延遲訪問,許可客戶端311可以改為試圖通過0LS服務(wù)器325 支持的無密鑰授權(quán)過程來獲得授權(quán)。
[0080] SPP服務(wù)器327支持的授權(quán)過程的可用性可由許可客戶端311用多種方式來確定。 如參考圖4和5所討論的,可以用生產(chǎn)力應(yīng)用309的下載來部署引導(dǎo)器應(yīng)用以在存儲器中 設(shè)置指示基于密鑰的授權(quán)過程的存在或缺席的值。許可客戶端311隨后可以讀取該值,該 值驅(qū)動其對優(yōu)選授權(quán)過程的選擇。替換地,安裝過程312本身可以追蹤安裝進度并將進度 傳達給許可客戶端311。許可客戶端311隨后可以基于由安裝過程312向其報告的安裝進 度來選擇任一個授權(quán)過程。應(yīng)當(dāng)理解,可以部署許多其它合適的機制來向許可過程311通 知生產(chǎn)力應(yīng)用309的執(zhí)行周圍的環(huán)境或條件。
[0081] 在操作序列700中,出于示例性目的假定許可客戶端311選擇用無密鑰授權(quán)過程 來試圖授權(quán)生產(chǎn)力應(yīng)用309。作為結(jié)果,向0LS服務(wù)器325作出授權(quán)請求以授權(quán)對生產(chǎn)力應(yīng) 用309的使用。令牌被包括在該請求中并且被0LS服務(wù)器325處理以驗證客戶端設(shè)備300 作為生產(chǎn)力應(yīng)用309的經(jīng)授權(quán)目的地。還可以連同令牌一起提供用戶ID314以補充由0LS 服務(wù)器325執(zhí)行的授權(quán)過程。0LS服務(wù)器325響應(yīng)于此提供無密鑰授權(quán),該無密鑰授權(quán)提供 對生產(chǎn)力應(yīng)用309的臨時授權(quán)。此時,生產(chǎn)力應(yīng)用309被解鎖并且對用戶302可用,即便安 裝過程可能尚未完成。這允許用戶302在購買之后快速地使用生產(chǎn)力應(yīng)用309而不用延遲 直到完成完整安裝。
[0082] 如參考圖5所提及的,無密鑰授權(quán)可以是由生產(chǎn)力應(yīng)用309識別的電子許可證,諸 如激活配置標(biāo)識符(ACID)。正確的ACID可被識別為對完全訪問有效,這可被認(rèn)為是有效授 權(quán)。在用戶302未被授權(quán)的情況下,0LS服務(wù)器325可以返回如此指示的指示。生產(chǎn)力應(yīng) 用309隨后可以禁用某些特征并且在減少功能模式中運行。然而,生產(chǎn)力應(yīng)用309簡單地 完全限制訪問也是可能的。許可客戶端311可以提示用戶不同的憑證,并且如果用戶拒絕 提供正確憑證可以關(guān)閉生產(chǎn)力應(yīng)用309。
[0083] 0LS服務(wù)器325還可向生產(chǎn)力應(yīng)用309提供能在稍后(一旦生產(chǎn)力應(yīng)用309的安 裝已經(jīng)完成)使用以獲得更長久的基于密鑰的授權(quán)的密鑰。可能花費比其它部分更長時間 來安裝的一些部分包括SPP客戶端,SPP客戶端與SPP服務(wù)器327對接以提供基于密鑰的 授權(quán)功能。生產(chǎn)力應(yīng)用309最終使用密鑰向SPP服務(wù)器327請求授權(quán),響應(yīng)于此,SPP服務(wù) 器327可以提供授權(quán)。
[0084] 圖8解說考慮了涉及無可用授權(quán)過程的一種實現(xiàn)的授權(quán)系統(tǒng)300的又一功能視圖 800。功能視圖800包括生產(chǎn)力應(yīng)用309和許可客戶端311。許可客戶端311必須確定要使 用哪個授權(quán)過程來授權(quán)生產(chǎn)力應(yīng)用309。在該示例中,管控這一決策的因素包括SPP服務(wù) 器327的可用性。如圖所示,SPP服務(wù)器327不可用,從而驅(qū)動許可客戶端311與0LS服務(wù) 器325通信以試圖授權(quán)。相應(yīng)地,許可客戶端311通過交換憑證和授權(quán)的方式與0LS服務(wù) 器325通信。
[0085] SPP服務(wù)器327可能出于多種原因而不可用。例如,SPP服務(wù)器327可能出于維護 或升級而臨時停止服務(wù)。允許許可客戶端311與SPP服務(wù)器327通信的通信鏈路可能停止 服務(wù)也是可能的。無論如何,SPP服務(wù)器327可能再次在線,最終允許基于密鑰的授權(quán),如 下文將參考圖9所討論的。
[0086] 參考圖9,解說了涉及功能視圖800中提供的各組件的操作序列900。在該序列 中,生產(chǎn)力應(yīng)用309試圖通過許可客戶端311使用來自SPP服務(wù)器327的密鑰來獲得授權(quán)。 然而,如所指示的,SPP服務(wù)器327最初不可用。作為結(jié)果,許可客戶端311使用與用戶302 相關(guān)聯(lián)的用戶ID314向0LS服務(wù)器325請求授權(quán)。許可客戶端311還可與0LS服務(wù)器325 交換令牌,如參考圖7所討論的。
[0087] 0LS服務(wù)器325作為響應(yīng)提供給予用戶302對生產(chǎn)力應(yīng)用309的臨時訪問的授權(quán)。 如參考圖5所提及的,無密鑰授權(quán)可以是由生產(chǎn)力應(yīng)用309識別的電子許可證,諸如激活配 置標(biāo)識符(ACID)。授權(quán)拒絕可以由來自0LS服務(wù)器325的根本不提供ACID或者ACID不被 許可客戶端311識別或者以某一其它方式提供未經(jīng)授權(quán)使用的指示的響應(yīng)來指示。作為響 應(yīng),許可客戶端311可以提示用戶提供不同的憑證,并且如果用戶拒絕提供正確憑證可以 關(guān)閉生產(chǎn)力應(yīng)用309。
[0088] 0LS服務(wù)器325提供的無密鑰授權(quán)允許生產(chǎn)力應(yīng)用309運行并且因而給予用戶 302成為高生產(chǎn)力的能力,即便SPP服務(wù)器327不可用。同時,生產(chǎn)力應(yīng)用309可以繼續(xù)向 SPP服務(wù)器327請求永久的基于密鑰的授權(quán)。一旦SPP服務(wù)器327變得可用,它可以基于生 產(chǎn)力應(yīng)用309所提供的密鑰是否是有效密鑰來提供授權(quán)。SPP服務(wù)器327提供的授權(quán)可以 是永久授權(quán),但應(yīng)當(dāng)理解,在本討論的上下文內(nèi)可以發(fā)生周期性的授權(quán)檢查或密鑰重新分 配。
[0089] 圖10解說可由在客戶端設(shè)備300上執(zhí)行的許可客戶端311實現(xiàn)的過程1000。過 程 1000是示例性的許可客戶端311可如何從若干授權(quán)過程中選擇或標(biāo)識要用其來試圖授 權(quán)生產(chǎn)力應(yīng)用309的優(yōu)選授權(quán)過程。
[0090] 參考過程1000,生產(chǎn)力應(yīng)用309開始,其可在應(yīng)用被安裝時、應(yīng)用從瀏覽器內(nèi)啟動 時、應(yīng)用在本地發(fā)起時、或者通過任何其它類似的方式來發(fā)起應(yīng)用時發(fā)生(步驟1001)。應(yīng) 當(dāng)理解,發(fā)起生產(chǎn)力應(yīng)用309可以采用實際地運行包括該應(yīng)用的可執(zhí)行文件的形式。然而, 運行其它可執(zhí)行文件(諸如引導(dǎo)器)也可表示發(fā)起應(yīng)用。用戶302在鏈接或托管文檔上點 擊并進而啟動應(yīng)用也可表示發(fā)起生產(chǎn)力應(yīng)用309。
[0091] 接著,許可客戶端311確定其是否處于漫游模式(步驟1003)。許可客戶端311可 以通過檢查存儲器中設(shè)置的指示生產(chǎn)力應(yīng)用309的漫游狀態(tài)的值來完成該確定。替換地, 許可客戶端311可以與其它應(yīng)用或操作系統(tǒng)組件通信以確定生產(chǎn)力應(yīng)用309的漫游狀態(tài)。 在任何情形中,當(dāng)從托管服務(wù)啟動并被流傳輸?shù)娇蛻舳嗽O(shè)備300時,生產(chǎn)力應(yīng)用309可以被 一般地認(rèn)為正在漫游。這可能在生產(chǎn)力應(yīng)用309未被本地安裝并且因而必須從其它地方提 供時發(fā)生。作為確定其是否處于漫游模式的一種替換,許可客戶端311可以檢查0LS服務(wù) 器325或者更一般地?zé)o密鑰授權(quán)過程是否可用。
[0092] 如果應(yīng)用309處于漫游模式,則經(jīng)由0LS服務(wù)器325執(zhí)行授權(quán)(步驟1005)。如 上文詳細討論的,0LS服務(wù)器325使用各種各樣的輸入來授權(quán)生產(chǎn)力應(yīng)用309,諸如用戶 ID314、令牌、或向OLS服務(wù)器325標(biāo)識用戶302的其它合適方式。如果用戶302被授權(quán)使 用生產(chǎn)力應(yīng)用309,則0LS服務(wù)器325將這一信息傳達給許可客戶端311并且向用戶302提 供生產(chǎn)力應(yīng)用308的完整功能。如果用戶302未被授權(quán),則0LS服務(wù)器325可以將拒絕傳 達給許可客戶端311,許可客戶端311隨后采取動作要么以某種其它方式授權(quán)用戶302要么 完全或部分地限制用戶302訪問生產(chǎn)力應(yīng)用309。
[0093] 如果應(yīng)用309不處于漫游模式或者如果0LS服務(wù)器325以其它方式不可用,則許 可客戶端311檢查SPP服務(wù)器327是否可用(步驟1007)。許可客戶端311可以用各種各 樣的方式來確定SPP服務(wù)器327的可用性,包括試圖與SPP服務(wù)器327通信。替換地,許可 客戶端311可以試圖與可能安裝在客戶端設(shè)備300上的SPP模塊通信。SPP模塊的存在會 向許可客戶端311指示SPP服務(wù)器327所提供的授權(quán)服務(wù)可能是可用的。SPP模塊的缺失 可能向許可客戶端311指示,生產(chǎn)力應(yīng)用309中涉及基于密鑰的授權(quán)服務(wù)的部分尚未被安 裝,并且因此致使基于密鑰的授權(quán)服務(wù)不可用。
[0094] 如果SPP服務(wù)器327不可用,則許可客戶端311試圖使用0LS服務(wù)器325支持的 無密鑰授權(quán)過程來獲得授權(quán)(步驟1009)。0LS服務(wù)器325使用各種各樣的輸入來授權(quán)生 產(chǎn)力應(yīng)用309,諸如用戶ID314、令牌、或向0LS服務(wù)器325標(biāo)識用戶302的其它合適方式。 如果用戶302被授權(quán)使用生產(chǎn)力應(yīng)用309,則0LS服務(wù)器325將這一信息傳達給許可客戶端 311并且向用戶302提供生產(chǎn)力應(yīng)用308的完整功能。否則,0LS服務(wù)器325可以將拒絕傳 達給許可客戶端311,從而導(dǎo)致對生產(chǎn)力應(yīng)用309的有限或阻塞訪問。
[0095] 然而,如果SPP服務(wù)器327可用,則許可客戶端311與SPP服務(wù)器327通信以試圖 獲得授權(quán)(步驟1011)。這可涉及將密鑰傳送到SPP服務(wù)器327以供處理??梢赃B同密鑰 一起提供其它標(biāo)識信息,諸如用戶ID314或與生產(chǎn)力應(yīng)用309相關(guān)聯(lián)的產(chǎn)品標(biāo)識符,以協(xié)助 SPP服務(wù)器327確定生產(chǎn)力應(yīng)用309的授權(quán)狀態(tài)。
[0096] 應(yīng)當(dāng)理解,許可客戶端311可以持續(xù)地監(jiān)視SPP服務(wù)器327的可用性并且在情況 改變時改變優(yōu)選授權(quán)過程。例如,許可客戶端311在生產(chǎn)力應(yīng)用309發(fā)起時可初始地將無密 鑰授權(quán)過程選為優(yōu)選授權(quán)過程。然而,在試圖使用無密鑰授權(quán)過程來進行授權(quán)的同時,SPP 服務(wù)器327可能變得可用。這可以觸發(fā)許可客戶端311停止無密鑰授權(quán)過程并且改為試圖 使用SPP服務(wù)器327所支持的基于密鑰的授權(quán)過程來授權(quán)用戶302。
[0097] 回頭參考圖3,客戶端設(shè)備300包括處理系統(tǒng)301、存儲系統(tǒng)303、軟件305、用戶接 口 306、和通信接口 307。用戶接口 306可包括鼠標(biāo)、語音輸入設(shè)備、觸摸輸入設(shè)備、以及其 它類似輸入設(shè)備和能夠從用戶302接收用戶輸入的相關(guān)聯(lián)的處理元件。還可以包括輸出設(shè) 備,諸如顯示器、揚聲器、打印機和其它類型的輸出設(shè)備。
[0098] 處理系統(tǒng)301可以與存儲系統(tǒng)303通信上耦合。存儲系統(tǒng)303存儲軟件305以及 更具體地存儲生產(chǎn)力應(yīng)用309和許可客戶端311。軟件305可包括其它應(yīng)用,諸如圖4和 圖6中分別解說的瀏覽器應(yīng)用308和安裝過程312。當(dāng)由處理系統(tǒng)301執(zhí)行時,生產(chǎn)力應(yīng)用 309和許可客戶端311引導(dǎo)客戶端設(shè)備300按照如此處參考圖4-10所描述地來操作。
[0099] 處理系統(tǒng)301可包括從存儲系統(tǒng)303檢索和執(zhí)行生產(chǎn)力應(yīng)用309和許可客戶端 311的微處理器和其它電路系統(tǒng)。處理系統(tǒng)301可以在單個處理設(shè)備中實現(xiàn),但也可以跨在 執(zhí)行程序指令中協(xié)作的多個處理設(shè)備或子系統(tǒng)分布。處理系統(tǒng)301的示例包括通用中央處 理單元、專用處理器、邏輯設(shè)備、以及任何其他類型的處理設(shè)備。
[0100] 存儲系統(tǒng)303可以包括可由處理系統(tǒng)301讀取并能存儲生產(chǎn)力應(yīng)用309和許可客 戶端311的任意存儲介質(zhì)。存儲系統(tǒng)303可包括易失性和非易失性、可移動和不可移動介 質(zhì),它們以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)這樣的信息的任 意方法或技術(shù)來實現(xiàn)。存儲系統(tǒng)303可以被實現(xiàn)為單個存儲設(shè)備,但也可以跨多個存儲設(shè) 備或子系統(tǒng)來實現(xiàn)。存儲系統(tǒng)303可以包括附加元件,諸如能夠與處理系統(tǒng)301通信的控 制器。
[0101] 存儲介質(zhì)的示例包括隨機訪問存儲器、只讀存儲器、磁盤、光盤以及閃存,和它們 的任意組合或變型,或任意其他類型的存儲介質(zhì)。在一些實現(xiàn)中,存儲介質(zhì)可以是非瞬態(tài)存 儲介質(zhì)。在一些實現(xiàn)中,至少一部分存儲介質(zhì)可以是瞬時的。應(yīng)該理解,存儲介質(zhì)決不是被 傳播的信號。
[0102] 生產(chǎn)力應(yīng)用309和許可客戶端311包括計算機程序指令、固件、或某一其它形式的 機器可讀處理指令。生產(chǎn)力應(yīng)用309和許可客戶端311可以各自被實現(xiàn)為單個應(yīng)用,但也 可以被實現(xiàn)為多個應(yīng)用或集成在一起。一般地,生產(chǎn)力應(yīng)用309和許可客戶端311在被加 載到處理系統(tǒng)301中時,將客戶端設(shè)備300從通用計算系統(tǒng)變換成專用計算系統(tǒng),該專用計 算系統(tǒng)定制成如針對授權(quán)系統(tǒng)300所描述的來操作。
[0103] 通信接口 307可包括允許客戶端設(shè)備300與商務(wù)服務(wù)器321、應(yīng)用服務(wù)器323、0LS 服務(wù)器325和SPP服務(wù)器327之間的通信的通信連接和設(shè)備。加在一起允許系統(tǒng)間通信的 連接和設(shè)備的示例包括網(wǎng)絡(luò)接口卡、天線、功率放大器、RF電路系統(tǒng)、收發(fā)機以及其它通信 電路系統(tǒng)。
[0104] 客戶端設(shè)備300通過通信網(wǎng)絡(luò)320與商務(wù)服務(wù)器321、應(yīng)用服務(wù)器323、0LS服務(wù) 器325和SPP服務(wù)器327通信。通信網(wǎng)絡(luò)320可以是能夠承載客戶端設(shè)備300與商務(wù)服務(wù) 器321、應(yīng)用服務(wù)器323、0LS服務(wù)器325和SPP服務(wù)器327之間的通信的任何網(wǎng)絡(luò)或網(wǎng)絡(luò) 集合。上述網(wǎng)絡(luò)、連接和設(shè)備在本領(lǐng)域中公知且無需在此處詳細討論。
[0105] 所包括的說明和附圖描述了用于教導(dǎo)本領(lǐng)域的技術(shù)人員如何做出和使用最佳模 式的特定實現(xiàn)。出于教導(dǎo)創(chuàng)新性原則的目的,一些傳統(tǒng)的方面被簡化或忽略。本領(lǐng)域的技 術(shù)人員將理解來自這些實現(xiàn)的變型也落入的本發(fā)明的范圍內(nèi)。本領(lǐng)域的技術(shù)人員還將理解 如上所述的特征可以以各種方式組合以形成多個實現(xiàn)。因此,本發(fā)明不局限于如上所述的 特定實現(xiàn),僅受限于權(quán)利要求和它們的等價物。
【權(quán)利要求】
1. 一種方法,包括: 標(biāo)識與應(yīng)用的發(fā)起相關(guān)聯(lián)的條件; 基于所述條件從至少基于密鑰的授權(quán)過程和無密鑰授權(quán)過程中選擇用來授權(quán)所述應(yīng) 用的優(yōu)選授權(quán)過程;以及 使用所述優(yōu)選授權(quán)過程來試圖授權(quán)所述應(yīng)用。
2. 如權(quán)利要求1所述的方法,其特征在于,所述條件包括所述應(yīng)用的漫游狀態(tài)和所述 基于密鑰的授權(quán)過程的安裝狀態(tài),其中在所述漫游狀態(tài)是正在漫游時將所述無密鑰授權(quán)過 程選為所述優(yōu)選授權(quán)過程,并且在所述安裝狀態(tài)是未完成時將所述無密鑰授權(quán)過程選為所 述優(yōu)選授權(quán)過程。
3. 如權(quán)利要求2所述的方法,其特征在于,當(dāng)用流傳輸?shù)男问絹硖峁┧鰬?yīng)用時所述 漫游狀態(tài)是正在漫游。
4. 如權(quán)利要求2所述的方法,其特征在于,進一步包括在所述基于密鑰的授權(quán)過程的 安裝期間執(zhí)行所述無密鑰授權(quán)過程。
5. 如權(quán)利要求4所述的方法,其特征在于,進一步包括實現(xiàn)所述無密鑰授權(quán)過程,傳送 具有憑證的授權(quán)請求以遞送至授權(quán)服務(wù)器,并且作為響應(yīng),接收提供對所述應(yīng)用的臨時訪 問的授權(quán)響應(yīng),其中所述憑證包括用戶的身份以及在所述應(yīng)用的安裝期間提供的令牌中的 至少一者。
6. -種或多種其上存儲有用于許可應(yīng)用的程序指令的計算機可讀介質(zhì),所述程序指令 在由處理系統(tǒng)執(zhí)行時引導(dǎo)所述處理系統(tǒng)執(zhí)行以下操作: 標(biāo)識應(yīng)用在其中被發(fā)起的環(huán)境; 當(dāng)所述環(huán)境是漫游環(huán)境時,發(fā)起漫游嘗試以基于與所述應(yīng)用相關(guān)聯(lián)的用戶身份來授權(quán) 所述應(yīng)用; 當(dāng)所述環(huán)境不是漫游環(huán)境時,當(dāng)執(zhí)行密鑰嘗試的基于密鑰的過程可用時發(fā)起基于密鑰 的嘗試以基于與所述應(yīng)用相關(guān)聯(lián)的密鑰來授權(quán)所述應(yīng)用;以及 當(dāng)所述基于密鑰的過程不可用時,發(fā)起無密鑰嘗試以基于與所述應(yīng)用相關(guān)聯(lián)的用戶身 份來授權(quán)所述應(yīng)用。
7. 如權(quán)利要求6所述的一種或多種計算機可讀介質(zhì),其特征在于,當(dāng)所述應(yīng)用從應(yīng)用 服務(wù)器流傳輸時,所述環(huán)境是漫游環(huán)境。
8. 如權(quán)利要求6所述的一種或多種計算機可讀介質(zhì),其特征在于,當(dāng)在所述應(yīng)用的安 裝期間所述應(yīng)用不是從應(yīng)用服務(wù)器流傳輸時,所述環(huán)境不是漫游環(huán)境。
9. 如權(quán)利要求8所述的一種或多種計算機可讀介質(zhì),其特征在于,所述應(yīng)用包括執(zhí)行 所述基于密鑰的嘗試以授權(quán)所述應(yīng)用的基于密鑰的授權(quán)過程,并且其中所述無密鑰嘗試以 授權(quán)所述應(yīng)用發(fā)生在所述基于密鑰的授權(quán)過程的安裝之前。
10. 如權(quán)利要求8所述的一種或多種計算機可讀介質(zhì),其特征在于,所述應(yīng)用包括無密 鑰授權(quán)過程,所述無密鑰授權(quán)過程執(zhí)行所述無密鑰嘗試以授權(quán)所述應(yīng)用并且執(zhí)行所述漫游 嘗試以授權(quán)所述應(yīng)用。
【文檔編號】G06F21/44GK104094271SQ201380006998
【公開日】2014年10月8日 申請日期:2013年1月21日 優(yōu)先權(quán)日:2012年1月26日
【發(fā)明者】G·阿克塞洛德, T·謝, S·庫特澤伯恩, G·哈迪, S·加格, C·舒爾茨, K·李, R·唐納 申請人:微軟公司