專利名稱:電子證書(shū)管理的制作方法
電子證書(shū)管理
相關(guān)串請(qǐng)的交叉引用
本申請(qǐng)依據(jù)35 U. S. C § 119(e)要求第61/346452號(hào)美國(guó)臨時(shí)申請(qǐng)的優(yōu)先權(quán),其全文內(nèi)容通過(guò)引用結(jié)合于此。技術(shù)領(lǐng)域
本申請(qǐng)涉及管理針對(duì)諸如軟件應(yīng)用之類的電子媒體產(chǎn)品的訪問(wèn)和權(quán)限。
背景技術(shù):
軟件可能難以創(chuàng)建但是易于拷貝。創(chuàng)建出好的軟件應(yīng)用可能經(jīng)常要花費(fèi)數(shù)百或數(shù)千小時(shí),但是不法用戶有時(shí)利用基本的計(jì)算機(jī)在數(shù)秒內(nèi)就能夠拷貝該同樣的工作產(chǎn)品。 版權(quán)法提供了合法保護(hù)的措施,但是其無(wú)法直接防止未獲授權(quán)的各方制造發(fā)行商軟件的拷貝。因此,在許多情況下,單獨(dú)的版權(quán)保護(hù)可能是遠(yuǎn)遠(yuǎn)不夠的。
一些軟件發(fā)行商已經(jīng)實(shí)現(xiàn)了技術(shù)障礙來(lái)阻止其軟件和其它內(nèi)容的未授權(quán)拷貝一例如,使用拷貝保護(hù)方案或者各種數(shù)字權(quán)限管理(DRM)系統(tǒng)。一個(gè)這樣的拷貝保護(hù)方案的示例被稱作正向鎖定(forward locking),其例如可以被用來(lái)針對(duì)第三方可以通過(guò)應(yīng)用商店進(jìn)行出售的軟件應(yīng)用的未授權(quán)拷貝進(jìn)行保護(hù)。使用正向鎖定方法,客戶端設(shè)備從應(yīng)用商店將所請(qǐng)求的軟件下載到設(shè)備上的受保護(hù)空間,應(yīng)用的二進(jìn)制碼在該受保護(hù)空間無(wú)法被用戶輕易訪問(wèn)。這樣的方法可能涉及復(fù)制不可執(zhí)行資源,這對(duì)于一些應(yīng)用(諸如游戲)而言會(huì)大幅增加其安裝大小。甚至更為重要的是,在某些情況下,這樣的方法在已經(jīng)出于研發(fā)目的而被“解鎖”的諸如智能電話之類的設(shè)備上會(huì)被克服,使得應(yīng)用的二進(jìn)制碼易于從設(shè)備拷貝出去。發(fā)明內(nèi)容
本文檔描述了用于對(duì)軟件應(yīng)用或類似數(shù)字項(xiàng)目的當(dāng)前許可(或稱證書(shū))狀態(tài)進(jìn)行驗(yàn)證的系統(tǒng)和方法。應(yīng)用的許可狀態(tài)可以被鏈接至嘗試使用該應(yīng)用的特定用戶或特定設(shè)備,并且在一些情況下,可以被用來(lái)控制該特定用戶或設(shè)備是否被允許繼續(xù)使用該應(yīng)用。例如,如果用戶已經(jīng)通過(guò)非正常渠道獲得了應(yīng)用,例如通過(guò)從好友那里復(fù)制應(yīng)用而不是從發(fā)行商那里購(gòu)買(mǎi)該應(yīng)用,則其許可狀況可以指示該用戶并非許可用戶。該應(yīng)用進(jìn)而可以以適當(dāng)方式進(jìn)行響應(yīng),諸如通過(guò)禁用某些僅對(duì)許可用戶可用的功能。
在一些實(shí)現(xiàn)中,這里所描述的 技術(shù)例如可以被用來(lái)保護(hù)經(jīng)由受信任組織所運(yùn)營(yíng)的應(yīng)用市場(chǎng)所供應(yīng)的軟件。該受信任組織還可以針對(duì)市場(chǎng)中所供應(yīng)的軟件而提供對(duì)許可服務(wù)的訪問(wèn)。任意數(shù)量的軟件發(fā)行方可以在應(yīng)用市場(chǎng)上供應(yīng)其應(yīng)用,并且應(yīng)用可以由各種用戶購(gòu)買(mǎi)或?qū)λ麄冞M(jìn)行分發(fā)。在一些情況下,希望訪問(wèn)應(yīng)用市場(chǎng)的用戶可以使用在用戶的客戶端設(shè)備上運(yùn)行的市場(chǎng)客戶端來(lái)瀏覽或購(gòu)買(mǎi)通過(guò)應(yīng)用市場(chǎng)所供應(yīng)的應(yīng)用。
使用這樣的系統(tǒng)供應(yīng)其軟件應(yīng)用的軟件發(fā)行商可能想要防止那些應(yīng)用的盜版。例如,雖然發(fā)行商的應(yīng)用的大多數(shù)拷貝可以通過(guò)應(yīng)用市場(chǎng)合法購(gòu)買(mǎi)、許可并分發(fā),但是也可能存在其它潛在的未授權(quán)的拷貝。這樣,發(fā)行商會(huì)希望以一種便利的方式在合法許可的拷貝 和非合法的未許可拷貝之間進(jìn)行區(qū)分。
根據(jù)這里所描述的技術(shù),在客戶端設(shè)備上執(zhí)行的應(yīng)用可以通過(guò)查詢?cè)S可服務(wù)器來(lái) 查詢應(yīng)用的當(dāng)前許可狀態(tài)(例如,特定用戶和/或設(shè)備是否被許可使用該應(yīng)用)。許可服 務(wù)器可以利用許可狀態(tài)進(jìn)行響應(yīng)(例如,特定用戶經(jīng)由其所注冊(cè)的一個(gè)賬戶和/或特定設(shè) 備而被許可或未被許可使用該應(yīng)用),因此在應(yīng)用的合法拷貝和非合法拷貝之間提供區(qū)別。 例如,許可檢查技術(shù)可以在應(yīng)用開(kāi)啟時(shí)被激活,并且可以基于許可檢查的結(jié)果來(lái)確定該應(yīng) 用的進(jìn)一步使用。在一些實(shí)現(xiàn)中,如果許可檢查指示應(yīng)用并未被恰當(dāng)許可,則該應(yīng)用可以自 己關(guān)閉或者僅提供其整體功能的有限子集。
在一個(gè)一般方面,本申請(qǐng)描述了一種計(jì)算機(jī)實(shí)施的用于確定軟件應(yīng)用的許可狀態(tài) 的方法。該方法可以包括利用客戶端計(jì)算設(shè)備上所執(zhí)行的許可客戶端并且從客戶端計(jì)算設(shè) 備上所執(zhí)行的軟件應(yīng)用接收用于獲得該軟件應(yīng)用是否被許可在該客戶端計(jì)算設(shè)備上使用 的指示的許可狀態(tài)請(qǐng)求。該方法還可以包括使用該許可客戶端識(shí)別與至少一個(gè)群組相對(duì)應(yīng) 的身份信息,該群組由對(duì)應(yīng)于該客戶端計(jì)算設(shè)備的用戶的用戶身份信息以及對(duì)應(yīng)于該客戶 端計(jì)算設(shè)備的設(shè)備身份信息所構(gòu)成。該方法還可以包括向從該客戶端計(jì)算設(shè)備遠(yuǎn)程操作的 許可服務(wù)發(fā)送從許可狀態(tài)請(qǐng)求和身份信息所生成的通信,該通信被該許可服務(wù)用來(lái)至少部 分地基于該身份信息以及與該軟件應(yīng)用相關(guān)聯(lián)的許可信息生成該軟件應(yīng)用是否被許可在 該客戶端計(jì)算設(shè)備上使用的指示。該方法還包括利用該許可客戶端從許可服務(wù)接收許可狀 態(tài)響應(yīng),其包括該軟件應(yīng)用是否被許可在該客戶端計(jì)算設(shè)備上使用的指示。該方法還可以 包括向該軟件應(yīng)用發(fā)送該許可狀態(tài)響應(yīng)以便由該軟件應(yīng)用進(jìn)行處理。
在另一個(gè)一般方面,本申請(qǐng)描述了一種計(jì)算機(jī)實(shí)現(xiàn)的用于獲得軟件應(yīng)用的許可狀 態(tài)的系統(tǒng)。該系統(tǒng)可以包括被布置為執(zhí)行軟件應(yīng)用和許可客戶端的客戶端計(jì)算設(shè)備。該系 統(tǒng)還可以包括被布置為執(zhí)行許可服務(wù)的許可服務(wù)器系統(tǒng)。該軟件應(yīng)用可以被配置為生成許 可狀態(tài)請(qǐng)求以從許可服務(wù)獲得該軟件應(yīng)用是否被許可在客戶端計(jì)算設(shè)備上使用的指示,并 且向許可客戶端提供許可狀態(tài)請(qǐng)求。許可客戶端可以被配置為從軟件應(yīng)用接收該許可狀態(tài) 請(qǐng)求,識(shí)別與至少一個(gè)群組相對(duì)應(yīng)的身份信息,該群組由對(duì)應(yīng)于該客戶端計(jì)算設(shè)備的用戶 的用戶身份信息以及對(duì)應(yīng)于該客戶端計(jì)算設(shè)備的設(shè)備身份信息所構(gòu)成,并且向許可服務(wù)發(fā) 送從許可狀態(tài)請(qǐng)求和身份信息所生成的通信。許可服務(wù)可以被配置為從許可客戶端接收該 通信,至少部分地基于該身份信息以及與該軟件應(yīng)用相關(guān)聯(lián)的許可信息生成該軟件應(yīng)用是 否被許可在該客戶端計(jì)算設(shè)備上使用的指示,生成包括該軟件是否被許可在該客戶端計(jì)算 設(shè)備上使用的指示的許可狀態(tài)響應(yīng),并且將該許可狀態(tài)響應(yīng)發(fā)送至許可客戶端。該許可客 戶端可以進(jìn)一步被配置為從許可服務(wù)接收該許可狀態(tài)響應(yīng),并且向軟件應(yīng)用提供該許可狀 態(tài)響應(yīng)。該軟件應(yīng)用可以進(jìn)一步被配置為從許可客戶端接收該許可狀態(tài)響應(yīng),并且對(duì)該許 可狀態(tài)響應(yīng)進(jìn)行處理。
在另一個(gè)一般方面,本申請(qǐng)描述了一種計(jì)算機(jī)實(shí)現(xiàn)的方法,其包括利用許可服務(wù) 器系統(tǒng)上執(zhí)行的許可服務(wù)以及從在許可服務(wù)器系統(tǒng)遠(yuǎn)程進(jìn)行操作的客戶端計(jì)算設(shè)備上執(zhí) 行的許可客戶端接收用于確定該客戶端計(jì)算設(shè)備上執(zhí)行的軟件應(yīng)用是否被許可在該客戶 端計(jì)算設(shè)備上使用的請(qǐng)求。該請(qǐng)求可以包括對(duì)應(yīng)于用戶身份信息和設(shè)備身份信息所構(gòu)成的 至少一個(gè)群組的身份信息。該方法還可以包括訪問(wèn)許可信息,其包括與通過(guò)應(yīng)用市場(chǎng)進(jìn)行的軟件購(gòu)買(mǎi)相關(guān)聯(lián)的購(gòu)買(mǎi)記錄。該方法還可以包括至少部分地基于許可信息和身份信息生 成該軟件應(yīng)用是否被許可在該客戶端計(jì)算設(shè)備上使用的指示。該方法還可以包括向客戶端 計(jì)算設(shè)備發(fā)送該指示以便由該客戶端計(jì)算設(shè)備進(jìn)行處理。
在某些實(shí)例中,各種實(shí)現(xiàn)能夠提供以下的一種或多種優(yōu)點(diǎn)。這里所描述的許可方 法對(duì)于軟件發(fā)行方而言相對(duì)易于實(shí)現(xiàn),但是對(duì)于用戶而言則相對(duì)難以破解。這樣,軟件發(fā)行 方可能能夠花費(fèi)更多時(shí)間將其應(yīng)用編碼為包括該應(yīng)用針對(duì)其進(jìn)行設(shè)計(jì)的功能,而不是開(kāi)發(fā) 專用拷貝保護(hù)方案。此外,該許可方法可以是靈活的,從而其允許軟件發(fā)行方以他們所選擇 的任意方式來(lái)推行可配置的許可策略。此外,在某些實(shí)現(xiàn)中,許可檢查功能不會(huì)明顯增加應(yīng) 用的大小。
在附圖和以下描述中闡述一個(gè)或多個(gè)實(shí)施例的細(xì)節(jié)。其它特征和優(yōu)勢(shì)將由于描述 和附圖以及權(quán)利要求而是明顯的。
圖1是用于分發(fā)軟件應(yīng)用并且檢查應(yīng)用的相應(yīng)許可狀態(tài)的系統(tǒng)的概念圖。
圖2是用于檢查軟件應(yīng)用的許可狀態(tài)的多層系統(tǒng)的概念圖。
圖3是示出示例的許可檢查和響應(yīng)的圖。
圖4是用于請(qǐng)求并處理軟件應(yīng)用的許可狀態(tài)的過(guò)程的泳道圖。
圖5示出了具有這里所描述的許可狀態(tài)檢查系統(tǒng)和過(guò)程所能夠采用的示例狀態(tài) 代碼的表。
圖6示出了能夠被用來(lái)實(shí)現(xiàn)這里所描述的技術(shù)的計(jì)算機(jī)設(shè)備和移動(dòng)計(jì)算機(jī)設(shè)備 的示例。
在各示圖中的同樣的附圖標(biāo)記指示同樣的要素。
具體實(shí)施方式
本文檔描述了一種用于針對(duì)非許可用戶和/或設(shè)備對(duì)應(yīng)用的非授權(quán)使用而保護(hù) 通過(guò)中心應(yīng)用商店(或app商店)分發(fā)和出售的軟件應(yīng)用的系統(tǒng)和技術(shù)。該系統(tǒng)和技術(shù)使 用了一種許可方案,其例如通過(guò)將與用戶或設(shè)備相關(guān)的信息與購(gòu)買(mǎi)記錄集合相比較來(lái)識(shí)別 應(yīng)用是否已經(jīng)對(duì)該用戶和/或設(shè)備適當(dāng)許可,來(lái)檢查應(yīng)用的當(dāng)前許可狀態(tài),并且將應(yīng)用的 許可狀態(tài)返回至應(yīng)用以便進(jìn)行適當(dāng)處理。例如,當(dāng)許可狀態(tài)檢查指示當(dāng)前用戶并未被許可 使用該應(yīng)用,則該應(yīng)用可以使得禁用僅對(duì)許可用戶可用的某些特征。在一些情況下,這里所 描述的許可方案還可以被用來(lái)保護(hù)通過(guò)應(yīng)用商店供應(yīng)的其它數(shù)字內(nèi)容。
這樣的功能可以由運(yùn)營(yíng)針對(duì)多個(gè)不同軟件發(fā)行方的應(yīng)用商店的單個(gè)軟件分發(fā)服 務(wù)來(lái)提供。許可系統(tǒng)可以發(fā)布用于與其進(jìn)行交互的指南,從而個(gè)體發(fā)行方能夠相當(dāng)便利地 獲得許可保護(hù)而不必建立其自己的驗(yàn)證系統(tǒng)并且對(duì)這樣的系統(tǒng)進(jìn)行操作。相反,他們能夠 以相當(dāng)標(biāo)準(zhǔn)的方式上傳其應(yīng)用以便呈現(xiàn)在應(yīng)用商店中,并且能夠使得為他們實(shí)現(xiàn)的許可限 制,并且與許可事務(wù)相關(guān)的信息被報(bào)告給他們。
軟件發(fā)行方可以將其應(yīng)用(或app)連同適當(dāng)元數(shù)據(jù)(例如,定價(jià)、文字描述、圖 標(biāo)、用于從下載該應(yīng)用的用戶接收支付的賬戶號(hào)碼,等等)一起上傳至應(yīng)用商店。這樣的發(fā) 行方可能希望使用法律和技術(shù)上結(jié)合的許可方法來(lái)限制其應(yīng)用的盜版行為。該方法的技術(shù)方面可以對(duì)軟件的非許可使用施加限制,而該方法的法律方面則可以在與技術(shù)限制相一致 的法律方面對(duì)使用該軟件的相對(duì)應(yīng)權(quán)限進(jìn)行限定。發(fā)行方可以從用于定義技術(shù)和法律限 制之一或這二者的選項(xiàng)菜單中進(jìn)行選擇(例如,通過(guò)從某些已知且標(biāo)準(zhǔn)的許可系統(tǒng)進(jìn)行選 擇,諸如已知的開(kāi)源許可系統(tǒng)),和/或能夠完全自己對(duì)這樣的限制進(jìn)行定義,諸如通過(guò)提 供其自己的許可語(yǔ)言。
如以下更為詳細(xì)描述的,例如在用戶被允許在客戶端設(shè)備上運(yùn)行應(yīng)用之前,受信 任的許可服務(wù)可以為發(fā)行方提供可靠的方式來(lái)通過(guò)檢查應(yīng)用的許可狀態(tài)而控制對(duì)其應(yīng)用 的訪問(wèn)。當(dāng)應(yīng)用檢查許可服務(wù)器處的許可狀態(tài)時(shí),該許可服務(wù)器可以使用私鑰簽名許可狀 態(tài)響應(yīng),該私鑰可以被用來(lái)確認(rèn)該許可狀態(tài)響應(yīng)確實(shí)是由許可服務(wù)器所生成。該私鑰例如 可以是與應(yīng)用或發(fā)行方賬戶唯一相關(guān)聯(lián)的公鑰/私鑰對(duì)的一部分。應(yīng)用可以在其經(jīng)編譯 的二進(jìn)制碼中包括相對(duì)應(yīng)的公鑰,并且可以使用公鑰/私鑰對(duì)來(lái)驗(yàn)證許可狀態(tài)響應(yīng)的完整 性。
為了幫助發(fā)行方將許可功能整合到應(yīng)用中,操作許可服務(wù)或者提供對(duì)其的訪問(wèn)的 受信任組織(例如,運(yùn)作應(yīng)用商店的同一組織)可以提供能夠被嵌入應(yīng)用之中的代碼庫(kù)。在 這里被描述為許可驗(yàn)證庫(kù)(LVL)的代碼庫(kù)可以對(duì)與在用戶的客戶端設(shè)備上操作的市場(chǎng)客 戶端進(jìn)行的許可相關(guān)通信進(jìn)行處理,并且市場(chǎng)客戶端可以轉(zhuǎn)而與遠(yuǎn)程許可服務(wù)器上操作的 許可服務(wù)進(jìn)行通信。使用嵌入式的LVL,應(yīng)用能夠通過(guò)調(diào)用許可檢查器方法并且實(shí)現(xiàn)在來(lái)自 遠(yuǎn)程許可服務(wù)器的簽名響應(yīng)中接收許可狀態(tài)的回調(diào)(callback)來(lái)確定其當(dāng)前許可狀態(tài)。
圖1是用于分發(fā)軟件應(yīng)用并且檢查應(yīng)用的相應(yīng)許可狀態(tài)的系統(tǒng)100的概念圖。在 該系統(tǒng)中,設(shè)備102與托管(host)諸如應(yīng)用商店的應(yīng)用市場(chǎng)106的服務(wù)器104進(jìn)行通信。這 樣的通信可以在任意適當(dāng)網(wǎng)絡(luò)上進(jìn)行(例如,互聯(lián)網(wǎng)、LAN、WAN、無(wú)線寬帶或其任意組合)。 客戶端設(shè)備102被描繪為智能電話,但是其它類型的客戶端設(shè)備(例如,臺(tái)式計(jì)算機(jī)、膝上 計(jì)算機(jī)、網(wǎng)本、平板電腦、機(jī)頂盒等)也可以與服務(wù)器104進(jìn)行通信。類似地,服務(wù)器104被 描繪為獨(dú)立服務(wù)器,但是服務(wù)器104可以表示服務(wù)器集群、服務(wù)器群,或者被用來(lái)托管保有 應(yīng)用市場(chǎng)106的其它服務(wù)器分組。在一些實(shí)現(xiàn)中,服務(wù)器104可以由提供這里所描述的許 可服務(wù)的受信任組織進(jìn)行操作。
客戶端設(shè)備102可以被配置為執(zhí)行為設(shè)備提供各種類型的功能的任意數(shù)量的軟 件應(yīng)用(或app)。一種應(yīng)用類型可以是提供與應(yīng)用市場(chǎng)106的連接并且與之進(jìn)行交互的市 場(chǎng)客戶端應(yīng)用。市場(chǎng)客戶端應(yīng)用可以與受信任組織相關(guān)聯(lián),并且可以由受信任組織出于訪 問(wèn)應(yīng)用市場(chǎng)106的目的而提供。使用市場(chǎng)客戶端應(yīng)用,客戶端設(shè)備102的用戶可以瀏覽應(yīng) 用市場(chǎng)106或者搜索通過(guò)應(yīng)用市場(chǎng)106所發(fā)布的具體應(yīng)用。
在典型的市場(chǎng)交易中,用戶諸如可以通過(guò)搜索或?yàn)g覽應(yīng)用市場(chǎng)106來(lái)識(shí)別感興趣 的應(yīng)用,并且可以隨后決定購(gòu)買(mǎi)該應(yīng)用。如箭頭A所示出的,客戶端設(shè)備102例如可以從設(shè) 備上執(zhí)行的市場(chǎng)客戶端向應(yīng)用市場(chǎng)106發(fā)送應(yīng)用購(gòu)買(mǎi)請(qǐng)求108。應(yīng)用市場(chǎng)106可以例如通 過(guò)針對(duì)應(yīng)用對(duì)用戶收費(fèi)并且諸如通過(guò)創(chuàng)建交易的電子記錄來(lái)登記該購(gòu)買(mǎi)而對(duì)交易進(jìn)行處 理。交易的電子記錄隨后可以被用來(lái)驗(yàn)證購(gòu)買(mǎi)應(yīng)用的用戶是該應(yīng)用的許可用戶。如箭頭B 所示,應(yīng)用市場(chǎng)106隨后可以將所請(qǐng)求應(yīng)用的二進(jìn)制碼110遞送至客戶端設(shè)備102。
如以上所描述的,客戶端設(shè)備102的用戶還能夠通過(guò)非法渠道獲得應(yīng)用二進(jìn)制碼 110。例如,應(yīng)用二進(jìn)制碼110可以被沒(méi)有被軟件發(fā)行方許可這樣做的用戶進(jìn)行拷貝和/或再次分發(fā)。在這樣的情況下,軟件發(fā)行方在一定程度上可能難以控制其應(yīng)用的未許可使用。
這樣,根據(jù)這里所描述的技術(shù),軟件發(fā)行方可以使用許可狀態(tài)檢查系統(tǒng)來(lái)確定應(yīng) 用的特定拷貝是否被嘗試執(zhí)行該應(yīng)用的用戶所適當(dāng)許可。例如,如果嘗試執(zhí)行應(yīng)用的用戶 并沒(méi)有通過(guò)應(yīng)用市場(chǎng)106購(gòu)買(mǎi)該應(yīng)用,則可以認(rèn)為該應(yīng)用沒(méi)有對(duì)該特定用戶進(jìn)行許可。許 可狀態(tài)檢查系統(tǒng)還可以或者備選地被用來(lái)確定特定設(shè)備是否被許可執(zhí)行應(yīng)用。例如,軟件 發(fā)行方可以將應(yīng)用的許可與特定設(shè)備進(jìn)行捆綁以使得具有多個(gè)設(shè)備的用戶僅可以被允許 在該應(yīng)用在其上實(shí)際被許可的一個(gè)或多個(gè)設(shè)備上對(duì)其進(jìn)行使用。備選地,設(shè)備可以與其所 登錄的賬戶進(jìn)行捆綁,并且許可可以與該賬戶相關(guān)聯(lián),從而用戶能夠在多個(gè)設(shè)備上執(zhí)行應(yīng) 用而其它用戶則無(wú)法在該設(shè)備上執(zhí)行相同應(yīng)用(除非他們作為第一用戶登錄或者他們的 賬戶也被許可使用該應(yīng)用)。
如以下更為詳細(xì)描述的,如箭頭C所示,利用這里所描述的許可狀態(tài)檢查系統(tǒng)的 應(yīng)用可以向托管許可檢查器服務(wù)116的服務(wù)器104發(fā)出許可檢查請(qǐng)求112。作為一個(gè)示例, 該應(yīng)用可以包括使得在應(yīng)用啟用時(shí)發(fā)出許可檢查請(qǐng)求112的指令。在一些實(shí)現(xiàn)中,應(yīng)用本 身可能無(wú)法與服務(wù)器104直接進(jìn)行通信,而是可以另外與同樣在客戶端設(shè)備102上執(zhí)行的 市場(chǎng)客戶端進(jìn)行通信。市場(chǎng)客戶端可以與應(yīng)用市場(chǎng)206相關(guān)聯(lián)并且對(duì)其提供訪問(wèn)。市場(chǎng)客 戶端可以被配置為向許可檢查器服務(wù)116發(fā)送許可檢查請(qǐng)求112,并且接收從許可檢查器 服務(wù)116發(fā)回的任意響應(yīng)。因此,市場(chǎng)客戶端可以用來(lái)促使針對(duì)設(shè)備上的多個(gè)應(yīng)用中的每 一個(gè)的許可狀態(tài)檢查,并且可以在每次應(yīng)用之一被執(zhí)行時(shí)被調(diào)用或者在如每個(gè)相應(yīng)服務(wù)所 確定的適當(dāng)時(shí)間被調(diào)用。
許可檢查請(qǐng)求112可以通過(guò)任意適當(dāng)網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng)、LAN、WAN、無(wú)線寬帶或 其任意組合)被傳輸至服務(wù)器104。服務(wù)器104被描繪為托管應(yīng)用市場(chǎng)106和許可檢查器 服務(wù)116,但是應(yīng)當(dāng)理解的是,應(yīng)用市場(chǎng)106和許可檢查器服務(wù)116的功能可以在不同服務(wù) 器上托管。此外,應(yīng)用市場(chǎng)106和許可檢查器服務(wù)116中每一個(gè)的功能可以進(jìn)一步進(jìn)行劃 分(segment)并且被托管在任意適當(dāng)數(shù)量的不同服務(wù)器上,以便例如跨附加網(wǎng)絡(luò)設(shè)備分發(fā) 網(wǎng)絡(luò)業(yè)務(wù)負(fù)載。
許可檢查請(qǐng)求112可以包括各種如下類型的數(shù)據(jù),該數(shù)據(jù)允許許可檢查器服務(wù) 116確定應(yīng)用是否對(duì)嘗試執(zhí)行該應(yīng)用的當(dāng)前用戶或設(shè)備而被適當(dāng)許可。例如,許可檢查請(qǐng)求 112可以包括指定用戶嘗試執(zhí)行的特定應(yīng)用的應(yīng)用標(biāo)識(shí)符(例如,包名稱)。許可檢查請(qǐng)求 112還可以包括該應(yīng)用隨后可以用來(lái)對(duì)其從許可檢查器服務(wù)116所接收的任意響應(yīng)進(jìn)行驗(yàn) 證的隨機(jī)數(shù)或臨時(shí)數(shù)(nonce)。
這些數(shù)據(jù)類型以及其它應(yīng)用特定信息都可以由應(yīng)用自身所識(shí)別或生成。然而,在 一些情況下,應(yīng)用可能沒(méi)有足夠允許度來(lái)訪問(wèn)在確定應(yīng)用是否針對(duì)特定用戶或設(shè)備適當(dāng)許 可時(shí)可能有用的其它類型的數(shù)據(jù)。這樣,在一些實(shí)現(xiàn)中,應(yīng)用可以向客戶端設(shè)備102上執(zhí)行 的市場(chǎng)客戶端提供臨時(shí)數(shù)、應(yīng)用標(biāo)識(shí)符和/或任意其它相關(guān)的應(yīng)用特定信息,并且市場(chǎng)客 戶端可以收集要包括在許可檢查請(qǐng)求112中的與用戶和設(shè)備相關(guān)的附加信息。在一些情況 下,市場(chǎng)客戶端可以具有比應(yīng)用更大的允許度,并且能夠訪問(wèn)附加設(shè)備和/或用戶特定信 息。例如,市場(chǎng)客戶端可能能夠識(shí)別設(shè)備用戶的主要賬戶用戶名、與設(shè)備相關(guān)聯(lián)的國(guó)際移動(dòng) 用戶身份碼(IMSI),以及其它的設(shè)備和/或用戶特定信息。
在一些實(shí)現(xiàn)中,應(yīng)用可以例如通過(guò)遠(yuǎn)程過(guò)程間通信(IPC)調(diào)用市場(chǎng)客戶端以發(fā)起許可檢查,并且市場(chǎng)客戶端可以收集要包括在許可檢查請(qǐng)求112中的附加信息。市場(chǎng)客戶 端隨后可以代表應(yīng)用向許可檢查器服務(wù)116發(fā)送許可檢查請(qǐng)求112,其可以包括應(yīng)用以及 市場(chǎng)客戶端所收集的信息的組合。在以上所描述的實(shí)現(xiàn)中,網(wǎng)絡(luò)連接和許可相關(guān)的API可 以由市場(chǎng)客戶端而不是應(yīng)用進(jìn)行管理。在這樣的實(shí)現(xiàn)中,應(yīng)用自身并不需要管理到許可服 務(wù)器的連接或者需要了解某些許可相關(guān)的API,并且因此應(yīng)用代碼尤其可以更為集中于其 設(shè)計(jì)所針對(duì)的特定功能(因此對(duì)于發(fā)行方而言簡(jiǎn)化了開(kāi)發(fā)并且可能縮小應(yīng)用的大小,這可 以在多個(gè)應(yīng)用了緩解該負(fù)擔(dān)并且該負(fù)擔(dān)相反置于單個(gè)許可檢查系統(tǒng)上時(shí)是相關(guān)的)。
當(dāng)接收到許可檢查請(qǐng)求112時(shí),許可檢查器服務(wù)116可以對(duì)該請(qǐng)求進(jìn)行評(píng)估以確 定是否能夠從該請(qǐng)求中的信息針對(duì)某個(gè)信任水平建立用戶身份。在一些實(shí)現(xiàn)中,該系統(tǒng)可 以使用信任閾值,從而用戶能夠利用某個(gè)信任水平(例如,百分之八十的概率)進(jìn)行標(biāo)識(shí), 許可檢查可以如以下所描述的繼續(xù)進(jìn)行,但是如果信任水平低于閾值,則許可檢查可以終 止和/或可以提供程序性(progra_atic)響應(yīng)。針對(duì)沒(méi)有達(dá)到閾值信任水平的程序性響 應(yīng)的示例可以包括生產(chǎn)錯(cuò)誤代碼或在響應(yīng)中發(fā)送諸如“非許可”的缺省許可狀態(tài)。
信任水平可以基于直接或間接對(duì)應(yīng)于請(qǐng)求中的信息的因素。例如,與設(shè)備相關(guān)聯(lián) 的用戶名可以被認(rèn)為是用于識(shí)別用戶的直接因素,而位置標(biāo)識(shí)符(例如,通過(guò)IP地址、來(lái)自 設(shè)備的GPS讀數(shù)或者小區(qū)塔臺(tái)或其它訪問(wèn)點(diǎn)位置所確定的設(shè)備的當(dāng)前地理位置)則可以被 認(rèn)為是間接因素。不同用戶識(shí)別因素在各種實(shí)現(xiàn)中可以被等同或非等同地進(jìn)行加權(quán)。例 如,在所有因素等同加權(quán)的示例中,其中四個(gè)或五個(gè)因素認(rèn)為應(yīng)用的用戶是特定人員,系統(tǒng) 就可以百分之八十地確認(rèn)該用戶就是那個(gè)人。在其它示例中,不同因素可以被不同地進(jìn)行 加權(quán),例如根據(jù)該因素與確定用戶的身份有多相關(guān)來(lái)加權(quán)。
在一些實(shí)現(xiàn)中,請(qǐng)求可以包括與客戶端設(shè)備的認(rèn)證用戶相關(guān)聯(lián)的令牌。例如,與用 戶相關(guān)聯(lián)的信息可以由許可服務(wù)或第三方認(rèn)證服務(wù)進(jìn)行認(rèn)證,并且這樣的認(rèn)證可以以令牌 形式來(lái)表示。令牌可以存儲(chǔ)在客戶端設(shè)備上,并且例如可以由應(yīng)用或市場(chǎng)客戶端進(jìn)行訪問(wèn) 以包括在許可檢查請(qǐng)求中。包括這樣的令牌可以被認(rèn)為是用戶身份的有力直接指示,并且 因此可以關(guān)于其它直接或間接指示符而被加以大的權(quán)重。在一些實(shí)現(xiàn)中,包括這樣的令牌 可以被認(rèn)為是確定了用戶身份。
如果許可檢查器服務(wù)116能夠以足夠的信任水平確定用戶的身份,則可以對(duì)比應(yīng) 用的購(gòu)買(mǎi)記錄來(lái)檢查用戶身份,并且許可檢查器116可以返回許可檢查響應(yīng)118,市場(chǎng)客戶 端隨后可以通過(guò)IPC回調(diào)將該許可檢查響應(yīng)返回至應(yīng)用。例如,如果所識(shí)別的用戶與購(gòu)買(mǎi) 記錄中的用戶相匹配,則許可檢查器116可以返回“許可”響應(yīng)。如果不相匹配,則可以返 回“非許可”響應(yīng)。在一些實(shí)現(xiàn)中,許可檢查器服務(wù)116可以備選地或附加地基于設(shè)備特定 信息對(duì)請(qǐng)求進(jìn)行評(píng)估,并且可以對(duì)比購(gòu)買(mǎi)記錄檢查設(shè)備身份以確定應(yīng)用是否針對(duì)具體設(shè)備 而被適當(dāng)許可。
為了確保許可檢查響應(yīng)118的完整性,響應(yīng)可以由許可檢查器服務(wù)116使用私鑰 進(jìn)行簽名或加密。該私鑰可以特定于發(fā)行方賬戶或應(yīng)用,并且可以是發(fā)給軟件發(fā)行方所或 由其生成的公鑰/私鑰對(duì)的一部分。在密鑰對(duì)由發(fā)行方生成的實(shí)現(xiàn)中,發(fā)行方可以將私鑰 上傳至許可服務(wù)器以在簽名許可檢查響應(yīng)時(shí)使用。
在一些實(shí)現(xiàn)中,受信任組織可以為每個(gè)發(fā)行方賬戶生成許可密鑰對(duì),并且可以在 發(fā)行方賬戶的簡(jiǎn)檔頁(yè)面中給出公鑰。發(fā)行方隨后可以拷貝該公鑰并且將其嵌入應(yīng)用源代碼中,該源代碼隨后將被編譯到應(yīng)用封包中。私鑰可以被受信任組織所保留,其隨后可以使用 該私鑰來(lái)簽名針對(duì)相關(guān)聯(lián)發(fā)行方賬戶所發(fā)行的應(yīng)用的許可響應(yīng)。例如,當(dāng)接收到許可檢查 請(qǐng)求時(shí),許可檢查器服務(wù)116可以確定哪個(gè)應(yīng)用的許可狀態(tài)被請(qǐng)求,并且可以識(shí)別與該特 定應(yīng)用相關(guān)聯(lián)的私鑰以便在簽名許可響應(yīng)時(shí)使用。
許可檢查器服務(wù)116隨后可以簽名許可檢查響應(yīng)118并且將該響應(yīng)發(fā)送回客戶端 設(shè)備102。所簽名的許可響應(yīng)隨后可以由應(yīng)用使用應(yīng)用封包中所包括的公鑰進(jìn)行解密。以 這種方式使用公鑰/私鑰對(duì)通過(guò)允許應(yīng)用檢測(cè)許可檢查響應(yīng)118是否已經(jīng)被篡改或者被欺 騙而確保了許可狀態(tài)檢查查詢過(guò)程的完整性。
一旦接收到有效的(例如,沒(méi)有被欺騙的)許可檢查響應(yīng)118,應(yīng)用就可以基于響 應(yīng)的內(nèi)容而采取任意適當(dāng)?shù)膭?dòng)作。這樣的動(dòng)作可以被編譯到控制應(yīng)用在其接收到特定響應(yīng) 時(shí)如何做出反應(yīng)的策略之中。例如,如果響應(yīng)指示用戶被適當(dāng)許可使用應(yīng)用,則該應(yīng)用可以 被編程為繼續(xù)正常執(zhí)行。另一方面,如果響應(yīng)指示用戶并未被許可使用應(yīng)用,則該應(yīng)用可以 執(zhí)行不同的編程響應(yīng),諸如通知用戶對(duì)應(yīng)用的非授權(quán)使用并禁止,并且提供允許用戶獲得 許可的鏈接或其它機(jī)制。應(yīng)用還可以自行關(guān)閉,由此防止對(duì)該應(yīng)用的任何進(jìn)一步使用。
在一些情況下,該策略還控制應(yīng)用在其例如由于服務(wù)器錯(cuò)誤而接收到未驗(yàn)證響應(yīng) 時(shí)或者應(yīng)用例如在設(shè)備離線的情況下根本沒(méi)有接收到響應(yīng)時(shí)如何做出反應(yīng)。在這樣的實(shí)例 中,該策略可以基于過(guò)往的許可檢查響應(yīng)來(lái)確定適當(dāng)動(dòng)作。例如,如果應(yīng)用已經(jīng)發(fā)出了十個(gè) 之前的許可檢查請(qǐng)求,并且已經(jīng)接收到指示用戶和/或設(shè)備被許可使用該應(yīng)用的十個(gè)許可 檢查響應(yīng),則該策略可以將該未驗(yàn)證響應(yīng)或響應(yīng)缺失作為異常而忽視,并且該應(yīng)用可以被 允許繼續(xù)正常執(zhí)行。類似地,如果應(yīng)用已經(jīng)接收到十個(gè)指示該用戶和/或設(shè)備并未被許可 使用該應(yīng)用的許可檢查響應(yīng),則該策略可以禁用該應(yīng)用的進(jìn)一步執(zhí)行。
其它的定制約束也可以或備選地包括在該策略中。例如,當(dāng)響應(yīng)指示應(yīng)用并未被 適當(dāng)許可時(shí),該應(yīng)用可以繼續(xù)執(zhí)行,但是可以諸如通過(guò)禁用僅對(duì)被許可用戶可用的特征僅 向非許可用戶提供有限功能。應(yīng)用因此可以像免費(fèi)模式的免費(fèi)版(freemium)分銷模型那 樣進(jìn)行操作,令用戶有機(jī)會(huì)采取動(dòng)作來(lái)升級(jí)至完全特征的高級(jí)版(premium)模式。作為另 一個(gè)示例,在被完整或部分無(wú)效之前,應(yīng)用例如可以針對(duì)測(cè)試應(yīng)用是否值得購(gòu)買(mǎi)的用戶允 許某個(gè)數(shù)量的非許可使用。在其它情況下,應(yīng)用可以提供例如七天的試用期,在此期間即使 應(yīng)用沒(méi)有被許可也能夠使用全部或部分功能。這些和其它類型的約束可以由軟件發(fā)行方 來(lái)建立,其可以以發(fā)行方認(rèn)為適當(dāng)?shù)娜魏畏绞綄?duì)許可檢查響應(yīng)中所返回的許可狀態(tài)進(jìn)行處 理。
在一些實(shí)現(xiàn)中,設(shè)備上執(zhí)行的操作系統(tǒng)可以備選地或附加地被配置為接收從許可 檢查器服務(wù)116所發(fā)送的許可檢查響應(yīng)并且對(duì)其做出反應(yīng)。在這樣的實(shí)現(xiàn)中,與如以上所 描述的應(yīng)用可以反應(yīng)的方式相類似,操作系統(tǒng)可以在接收到有效許可檢查響應(yīng)118時(shí)發(fā)起 適當(dāng)動(dòng)作。例如,在接收到指示應(yīng)用沒(méi)有被許可在客戶端設(shè)備上使用的許可檢查響應(yīng)118 時(shí),操作系統(tǒng)可以終止應(yīng)用。
圖2是用于檢查軟件應(yīng)用的許可狀態(tài)的多層系統(tǒng)200的概念圖。在系統(tǒng)200中, 名為myApp的應(yīng)用205和市場(chǎng)客戶端210駐留并執(zhí)行于客戶端設(shè)備上。市場(chǎng)客戶端210可 以被配置為與在客戶端設(shè)備遠(yuǎn)程執(zhí)行的許可服務(wù)器215進(jìn)行通信,以確定在客戶端設(shè)備上 運(yùn)行的myApp 205的許可狀態(tài)。為了檢查myApp 205的許可狀態(tài),該應(yīng)用例如可以通過(guò)遠(yuǎn)程IPC 240向市場(chǎng)客戶端210傳送許可檢查請(qǐng)求,市場(chǎng)客戶端210轉(zhuǎn)而可以針對(duì)myApp 205 的許可狀態(tài)而對(duì)許可服務(wù)器215進(jìn)行查詢。
myApp 205可以由軟件發(fā)行方進(jìn)行編譯以包括例如LVL 220的許可庫(kù)、主要活 動(dòng)模塊225和公鑰230。通常,LVL 220可以被用來(lái)執(zhí)行如這里所描述的各種許可檢查技 術(shù),主要活動(dòng)模塊225可以包括與應(yīng)用的主要功能相關(guān)的指令,而公鑰230可以被用來(lái)對(duì) myApp205從許可服務(wù)器215所接收的許可響應(yīng)進(jìn)行驗(yàn)證。在一些實(shí)現(xiàn)中,軟件發(fā)行方可以 執(zhí)行應(yīng)用的模糊處理(obfuscation)或二進(jìn)制封包,這可以使得不法用戶難以改變或篡改 應(yīng)用或LVL。
LVL 220可以由運(yùn)行許可服務(wù)的受信任組織所開(kāi)發(fā)并維護(hù),并且可以被提供至軟 件發(fā)行方以簡(jiǎn)化許可檢查在其應(yīng)用中的實(shí)現(xiàn)。LVL 220可以包括對(duì)在許可狀態(tài)查詢期間 執(zhí)行的所有或部分功能進(jìn)行處理的內(nèi)部分類,諸如聯(lián)系市場(chǎng)客戶端210以發(fā)起許可狀態(tài)請(qǐng) 求,并且驗(yàn)證并確認(rèn)對(duì)許可狀態(tài)請(qǐng)求的任意響應(yīng)。LVL 220還可以給出一個(gè)或多個(gè)接口,其 允許軟件發(fā)行方插入定制代碼以便定義適當(dāng)?shù)脑S可策略并且基于對(duì)許可狀態(tài)請(qǐng)求的響應(yīng) 來(lái)管理對(duì)應(yīng)用的訪問(wèn)控制。
在一些實(shí)現(xiàn)中,LVL 220包括促成針對(duì)應(yīng)用的當(dāng)前許可狀態(tài)的請(qǐng)求的API。對(duì)該 API的調(diào)用可以接受一個(gè)或多個(gè)參數(shù)。例如,API調(diào)用可以接受應(yīng)用所生成的隨機(jī)數(shù),其可 以被用來(lái)確認(rèn)任意所返回的許可響應(yīng)。API調(diào)用還可以接受應(yīng)用標(biāo)識(shí)符參數(shù),諸如來(lái)自應(yīng)用 市場(chǎng)的清單(manifest)中所定義的可以允許許可服務(wù)識(shí)別應(yīng)用的應(yīng)用封包名稱。API調(diào)用 還可以接受如清單中所定義的應(yīng)用版本代碼參數(shù)。API還可以接收回調(diào)功能,其可以用作代 表功能來(lái)處理來(lái)自許可服務(wù)器215的異步響應(yīng)。
主活動(dòng)模塊225可以包括與應(yīng)用的主要功能相關(guān)的指令,并且可以包括對(duì)LVL 220的一個(gè)或多個(gè)調(diào)用。例如,在應(yīng)用啟動(dòng)期間,主活動(dòng)模塊225可以包括對(duì)LVL 220的早 期調(diào)用以使得許可狀態(tài)請(qǐng)求得以執(zhí)行。主活動(dòng)模塊225還可以或備選地包括對(duì)LVL 220的 其它調(diào)用以便在啟動(dòng)之外的具體執(zhí)行點(diǎn)處執(zhí)行許可狀態(tài)請(qǐng)求。例如,特定游戲應(yīng)用可以允 許未許可用戶玩該游戲的前三個(gè)級(jí)別,但是可能針對(duì)進(jìn)一步的進(jìn)度要求許可。在這種情況 下,主活動(dòng)模塊225可以在用戶嘗試訪問(wèn)前三個(gè)之后的任意級(jí)別時(shí)包括對(duì)LVL 220的調(diào)用。
許可服務(wù)器215可以作為受信任許可服務(wù)器進(jìn)行操作以確定例如myApp 205的應(yīng) 用是否針對(duì)試圖執(zhí)行該應(yīng)用的用戶或設(shè)備而被許可。如以上所描述的,myApp 205可以包 括基于來(lái)自許可服務(wù)器的許可狀態(tài)響應(yīng)而允許或不允許應(yīng)用的進(jìn)一步使用的邏輯,或者可 以包括用于以應(yīng)用發(fā)行方所指定的方式對(duì)響應(yīng)進(jìn)行處理的其它邏輯。這樣,許可服務(wù)器215 的角色可以是為用戶提供許可狀態(tài),但是應(yīng)用本身則可以負(fù)責(zé)查詢服務(wù)器并且有條件地批 準(zhǔn)對(duì)應(yīng)用的訪問(wèn)。
許可服務(wù)器215可以維護(hù)與這里所描述的許可技術(shù)相關(guān)的各種信息。例如,許可 服務(wù)器215可以包括諸如與在應(yīng)用市場(chǎng)中發(fā)行軟件應(yīng)用的各種發(fā)行方相關(guān)的發(fā)行方數(shù)據(jù) 245,對(duì)應(yīng)于應(yīng)用市場(chǎng)中所供應(yīng)的軟件應(yīng)用的應(yīng)用列表數(shù)據(jù)250,以及描述涉及通過(guò)應(yīng)用市 場(chǎng)出售的應(yīng)用和其它產(chǎn)品的交易的購(gòu)買(mǎi)記錄數(shù)據(jù)255之類的信息。發(fā)行方數(shù)據(jù)245和應(yīng)用 列表數(shù)據(jù)250例如可以被用來(lái)將發(fā)行方鏈接至請(qǐng)求許可檢查的應(yīng)用,從而許可服務(wù)器215 能夠利用適當(dāng)?shù)乃借€235簽名響應(yīng)。
在一些實(shí)現(xiàn)中,許可服務(wù)器215可以在用戶(例如,經(jīng)由與系統(tǒng)進(jìn)行注冊(cè)的用戶賬戶)被記錄為已經(jīng)購(gòu)買(mǎi)過(guò)應(yīng)用或者應(yīng)用可免費(fèi)使用的情況下認(rèn)為用戶是被許可的。為了適 當(dāng)識(shí)別用戶并確定許可狀態(tài),服務(wù)器可以從市場(chǎng)客戶端210以許可狀態(tài)請(qǐng)求的形式接收與 應(yīng)用和用戶相關(guān)的信息。諸如在許可與設(shè)備而不是特定用戶進(jìn)行捆綁的實(shí)現(xiàn)中,許可狀態(tài) 請(qǐng)求可以附加地或備選地包括與試圖執(zhí)行應(yīng)用的設(shè)備相關(guān)的信息。這樣的特定于應(yīng)用、特 定于用戶和/或特定于設(shè)備的信息可以由應(yīng)用、市場(chǎng)客戶端210或二者的組合所收集。該信 息隨后可以被用來(lái)識(shí)別嘗試執(zhí)行應(yīng)用的特定用戶或設(shè)備,其隨后可以與購(gòu)買(mǎi)記錄數(shù)據(jù)255 進(jìn)行比較來(lái)確定應(yīng)用是否由所識(shí)別的用戶或設(shè)備通過(guò)應(yīng)用市場(chǎng)所購(gòu)買(mǎi)。
根據(jù)所示出的實(shí)現(xiàn),myApp 205并未直接查詢?cè)S可服務(wù)器215,而是通過(guò)遠(yuǎn)程IPC 240調(diào)用市場(chǎng)客戶端210來(lái)發(fā)起許可請(qǐng)求。在其它實(shí)現(xiàn)中,應(yīng)用例如可以在LVL 220中包括 允許該應(yīng)用直接查詢?cè)S可服務(wù)器215的邏輯。許可請(qǐng)求可以包括各種類型的特定于應(yīng)用、 特定于用戶和/或特定于設(shè)備的信息以允許許可服務(wù)器215確定應(yīng)用的許可狀態(tài)。例如, myApp 205可以將其封包名稱和臨時(shí)數(shù)在遠(yuǎn)程IPC調(diào)用中送至市場(chǎng)客戶端210。myApp 205 還可以發(fā)出回調(diào),來(lái)自許可服務(wù)器215的響應(yīng)能夠通過(guò)該回調(diào)從市場(chǎng)客戶端210異步返回 至 myApp 205。
在一些實(shí)現(xiàn)中,市場(chǎng)客戶端210可以具有比myApp 205更大的允許度,并且因此惡 意收集與用戶和/或設(shè)備有關(guān)的附加信息,諸如設(shè)備的主要賬戶用戶名、IMSI和其它信息。 市場(chǎng)客戶端210隨后可以代表myApp 205向許可服務(wù)器215發(fā)送許可檢查請(qǐng)求。
一旦接收到許可檢查請(qǐng)求,許可服務(wù)器215就可以在嘗試以足夠信任水平建立用 戶和/或設(shè)備的身份時(shí)使用與用戶、設(shè)備和/或應(yīng)用相關(guān)的適當(dāng)可用信息對(duì)該請(qǐng)求進(jìn)行評(píng) 估。如果用戶和/或設(shè)備的身份得以建立,許可服務(wù)器215隨后就可以對(duì)比應(yīng)用的購(gòu)買(mǎi)記 錄255檢查該身份并且返回許可響應(yīng),市場(chǎng)客戶端210隨后可以將該許可響應(yīng)通過(guò)IPC回 調(diào)返回至應(yīng)用。
為了確保許可查詢的完整性,許可服務(wù)器215可以使用私鑰235簽名許可響應(yīng)數(shù) 據(jù),該私鑰235可以是服務(wù)器和應(yīng)用發(fā)行方之間共享的RSA密鑰對(duì)的一部分。在一些實(shí)現(xiàn) 中,許可服務(wù)可以為每個(gè)發(fā)行方賬戶生成許可密鑰對(duì)并且在賬戶的簡(jiǎn)檔頁(yè)面中給出公鑰。 發(fā)行方隨后可以拷貝該公鑰并將其嵌入應(yīng)用源代碼中。在編譯源代碼時(shí),公鑰230被嵌入 應(yīng)用之中,該應(yīng)用隨后可以在應(yīng)用市場(chǎng)上發(fā)布。許可服務(wù)器215可以內(nèi)部保留私鑰235并 且使用它來(lái)簽名針對(duì)該賬戶所發(fā)布的應(yīng)用的許可響應(yīng)。
當(dāng)應(yīng)用接收到已經(jīng)利用私鑰235簽名的響應(yīng)時(shí),其可以使用所嵌入的私鑰230驗(yàn) 證數(shù)據(jù)。在許可服務(wù)中使用公鑰密碼可以允許應(yīng)用檢測(cè)到已經(jīng)被篡改或被欺騙的響應(yīng)。
圖3是示出示例的許可檢查和響應(yīng)的示圖。在以上所描述的許可狀態(tài)檢查技術(shù)的 之前示例中,應(yīng)用在其想要確認(rèn)該應(yīng)用的許可狀態(tài)的任何時(shí)候經(jīng)由市場(chǎng)應(yīng)用對(duì)許可服務(wù)器 進(jìn)行查詢。如圖3所示,應(yīng)用還可以使用高速緩存機(jī)制來(lái)改進(jìn)許可系統(tǒng)的性能。這樣的實(shí) 現(xiàn)例如可以在不可能或不便于在應(yīng)用每次請(qǐng)求許可狀態(tài)時(shí)訪問(wèn)許可服務(wù)器的情形中使用。 例如,可以在設(shè)備例如因?yàn)樵撛O(shè)備沒(méi)有網(wǎng)絡(luò)連接或者因?yàn)樵S可服務(wù)器離線而無(wú)法與許可服 務(wù)器進(jìn)行通信時(shí)使用高速緩存。在這樣的示例中,應(yīng)用仍然被允許基于高速緩存的許可狀 態(tài)信息進(jìn)行工作。
可以向如以上參考圖2所描述的應(yīng)用的主要活動(dòng)模塊305添加一個(gè)或多個(gè)許可檢 查。例如,應(yīng)用可以在該應(yīng)用的onCreateO方法中包括許可檢查,從而當(dāng)用戶啟動(dòng)應(yīng)用時(shí)就調(diào)用許可檢查。許可檢查還可以被添加在其它的具體執(zhí)行點(diǎn)處。例如,一些應(yīng)用可以包 括多個(gè)其它應(yīng)用所能夠執(zhí)行的活動(dòng)模塊。在這樣的情況下,許可檢查也可以被包括在那些 活動(dòng)模塊中以確保應(yīng)用即使在并非由用戶直接啟動(dòng)的情況下也得以適當(dāng)許可。
許可檢查可以利用兩個(gè)主要接口一許可檢查器接口 310和許可檢查器回調(diào)接口 315。許可檢查器接口 310可以包括對(duì)發(fā)起許可檢查的方法的調(diào)用。例如,在LVL中,這可 以是對(duì)應(yīng)用所構(gòu)建的LicenseChecker對(duì)象的checkAccessO方法的調(diào)用。
許可檢查器回調(diào)接口 315可以包括返回許可檢查結(jié)果的回調(diào)。該接口可以聲明兩 種方法,allow O和dontAllowO ,它們可以由LVL基于許可檢查的結(jié)果來(lái)調(diào)用。這兩種方 法可以使用任意適當(dāng)邏輯來(lái)實(shí)現(xiàn)以允許或不允許對(duì)應(yīng)用的用戶訪問(wèn)。還可以聲明附加的 app I i cationError O方法以對(duì)許可檢查期間所拋出的任意應(yīng)用錯(cuò)誤進(jìn)行處理。
如圖中所示,應(yīng)用的主活動(dòng)模塊305中的代碼實(shí)例化了許可檢查器310和許可檢 查器回調(diào)315對(duì)象。當(dāng)構(gòu)建許可檢查器310時(shí),代碼可以輸送包括應(yīng)用上下文、所要使用的 策略以及發(fā)行方用于許可的公鑰的參數(shù)。
該代碼隨后調(diào)用許可檢查器310的checkAccessO方法。該方法可以訪問(wèn)策略 325以例如確定本地是否高速緩存有有效的許可響應(yīng)。如果是,則checkAccessO可以調(diào)用 許可檢查器回調(diào)315中的allowO方法。否則,許可檢查器310可以發(fā)起被送至許可服務(wù) 器的許可檢查請(qǐng)求。
當(dāng)從許可服務(wù)器接收到響應(yīng)時(shí),許可檢查器310可以創(chuàng)建許可驗(yàn)證器330,該許可 驗(yàn)證器330對(duì)所簽名的許可數(shù)據(jù)以及從響應(yīng)所提取的各種信息進(jìn)行驗(yàn)證。該信息可以被 送至策略而用于進(jìn)一步的評(píng)估以確定該許可對(duì)于用戶是否有效(335)。如果許可被確定為 有效,則策略325可以高速緩存該響應(yīng),并且可以通知驗(yàn)證器330,該驗(yàn)證器330隨后可以 調(diào)用許可檢查器回調(diào)315的allowO方法。如果許可并非有效,則策略325可以通知驗(yàn)證 器330,該驗(yàn)證器330隨后可以調(diào)用許可檢查器回調(diào)31的dontAllowO方法。在一些實(shí)現(xiàn) 中,有效或無(wú)效的許可狀態(tài)可以被加密并且在計(jì)算設(shè)備上本地存儲(chǔ),例如存儲(chǔ)在高速緩存 中。在應(yīng)用錯(cuò)誤的情況下,諸如當(dāng)應(yīng)用嘗試檢查無(wú)效封包名稱的許可時(shí),許可檢查器310可 以將錯(cuò)誤響應(yīng)送至許可檢查器回調(diào)的applicationError O方法。
利用如以上所描述的已經(jīng)被高速緩存的許可信息,對(duì)checkAccessO的后續(xù)調(diào)用 可以訪問(wèn)高速緩存的許可信息而不是聯(lián)系許可服務(wù)器。在一些實(shí)現(xiàn)中,高速緩存的許可數(shù) 據(jù)可以在如策略325所定義的具體情形中被采用。例如,當(dāng)checkAccess O方法被調(diào)用但 是計(jì)算設(shè)備缺少到許可服務(wù)器的連接時(shí),可以從許可客戶端向應(yīng)用返回錯(cuò)誤消息。進(jìn)而,應(yīng) 用可以獲取高速緩存的許可狀態(tài)信息。
在一些實(shí)現(xiàn)中,策略325可以包括高速緩存超時(shí)信息,其防止陳舊的許可狀態(tài)信 息被使用。例如,策略325可以擦除已經(jīng)被存儲(chǔ)達(dá)例如一周的具體時(shí)間周期的高速緩存的 許可狀態(tài)信息。在其它實(shí)現(xiàn)中,高速緩存的許可狀態(tài)信息可以被保留更長(zhǎng)時(shí)間段,但是策 略325可以忽視過(guò)于陳舊的高速緩存數(shù)據(jù)。高速緩存的數(shù)據(jù)是否過(guò)于陳舊的確定可以取決 于為何訪問(wèn)高速緩存數(shù)據(jù)。例如,由于缺少網(wǎng)絡(luò)連接而被訪問(wèn)的高速緩存數(shù)據(jù)可以被認(rèn)為 有效達(dá)一周,而為了提高系統(tǒng)性能而被訪問(wèn)的高速緩存數(shù)據(jù)則僅在至多一小時(shí)內(nèi)被認(rèn)為有 效,或者例如針對(duì)特定用戶會(huì)話有效。
圖4是用于請(qǐng)求并處理軟件應(yīng)用的許可狀態(tài)的過(guò)程400的泳道圖。過(guò)程400例如可以由圖2的多層系統(tǒng)200來(lái)實(shí)現(xiàn)。為了清楚呈現(xiàn),以下描述使用多層系統(tǒng)200作為描述 過(guò)程400的基礎(chǔ)。然而,可以使用另一個(gè)系統(tǒng)或系統(tǒng)組合來(lái)執(zhí)行該過(guò)程。
通常,過(guò)程400可以被用來(lái)驗(yàn)證客戶端設(shè)備上執(zhí)行的應(yīng)用的許可狀態(tài),并且可以 在應(yīng)用執(zhí)行期間的任意適當(dāng)?shù)狞c(diǎn)被調(diào)用。該應(yīng)用諸如可以使用JAVA的Secure Random功 能來(lái)生成安全的隨機(jī)數(shù)R(405),并且可以保存該值以用于未來(lái)引用。該應(yīng)用隨后可以發(fā)起 調(diào)用以檢查應(yīng)用的許可狀態(tài)(410),諸如通過(guò)調(diào)用許可驗(yàn)證庫(kù)中的checkLicenseO方法并 且傳送R和callbackFunction參數(shù)。在checkLicense O中也可以傳送附加或備選的特定 于應(yīng)用的參數(shù)。checkLicense O方法隨后例如可以使用“intent”或“binder”或者其它適 當(dāng)機(jī)制來(lái)調(diào)用在客戶端設(shè)備上執(zhí)行的市場(chǎng)客戶端應(yīng)用。
市場(chǎng)客戶端應(yīng)用可以接收intent (415),并且可以嘗試收集與用戶和/或設(shè)備相 關(guān)的信息(420)。例如,市場(chǎng)客戶端應(yīng)用可以識(shí)別中心的簽收(sign-on)服務(wù)用戶名、電話 號(hào)碼(MSISDN)、IMS1、移動(dòng)設(shè)備標(biāo)識(shí)符,或者其它適當(dāng)?shù)奶囟ㄓ谟脩艋蛱囟ㄓ谠O(shè)備的信息。 該信息可以被稱作身份信息。在一些實(shí)現(xiàn)中,身份信息可能并不被市場(chǎng)API服務(wù)器所信任, 因此用戶和設(shè)備的身份仍然是不確定的。相反,該信息可以被認(rèn)為是市場(chǎng)API服務(wù)器在其 嘗試確定用戶或設(shè)備的身份時(shí)可以使用的信號(hào)。
市場(chǎng)客戶端應(yīng)用例如可以通過(guò)HTTPS向市場(chǎng)API服務(wù)器發(fā)送檢查許可發(fā)布,其傳 送R、應(yīng)用名稱以及身份信息(425)。在一些實(shí)現(xiàn)中,代理服務(wù)器可以被用來(lái)添加MSISDN信 息以不加密部分傳輸,這可以提供可由市場(chǎng)API服務(wù)器所使用的更多的用戶身份信號(hào)。
一旦接收到該檢查許可發(fā)布,市場(chǎng)API服務(wù)器就可以記錄該發(fā)布中所包括的所有 或部分信息,其隨后可以被用來(lái)幫助識(shí)別欺騙性用戶身份信息。隨著時(shí)間推移,市場(chǎng)API服 務(wù)器所接收的多個(gè)不規(guī)律信號(hào)可以被用來(lái)識(shí)別欺騙。例如,市場(chǎng)API服務(wù)器可以保持客戶 端應(yīng)用在其上執(zhí)行的計(jì)算設(shè)備與和執(zhí)行該應(yīng)用的用戶相關(guān)聯(lián)的身份信息之間的關(guān)聯(lián)。市 場(chǎng)API服務(wù)器還可以保持追蹤用戶在其上執(zhí)行應(yīng)用的設(shè)備的數(shù)量和身份。在一些實(shí)現(xiàn)中, 如果特定用戶身份與某些數(shù)量的應(yīng)用在不同客戶端設(shè)備上的執(zhí)行相關(guān)聯(lián),則這可以指示欺 騙,該用戶身份可能不被驗(yàn)證為特定應(yīng)用的被許可用戶。也可以由市場(chǎng)API服務(wù)器實(shí)現(xiàn)其 它防止欺騙的機(jī)制,并且這可以基于隨時(shí)間在市場(chǎng)API服務(wù)器所接收的身份信息。
市場(chǎng)API服務(wù)器可以確認(rèn)用戶和/或設(shè)備具有使用應(yīng)用的有效許可(430),諸如通 過(guò)進(jìn)行檢查來(lái)查看應(yīng)用名稱是否被登記至與該用戶身份信息相關(guān)聯(lián)的用戶。市場(chǎng)API服務(wù) 器還可以建立與用戶身份相關(guān)的信任水平(435)。例如,市場(chǎng)API服務(wù)器可以對(duì)來(lái)自之前所 接收發(fā)布的用戶身份信息和所存儲(chǔ)數(shù)據(jù)進(jìn)行分析以確定該用戶是其所聲稱的那個(gè)人的信 任水平。
如果應(yīng)用被登記至用戶身份信息中的用戶,并且如果市場(chǎng)API服務(wù)器例如以某個(gè) 概率級(jí)別確信該用戶是其所聲稱的人,則市場(chǎng)API服務(wù)器可以生成“被許可”的返回信息。 否則,市場(chǎng)API服務(wù)器可以生成“并未被許可”的返回信息。該返回信息隨后可以與附加信 息相組合,該附加信息例如包括應(yīng)用名稱、R、封包名稱、與用戶相關(guān)聯(lián)的系統(tǒng)ID和/或時(shí)間 戳。市場(chǎng)API服務(wù)器可以使用與發(fā)行方相關(guān)聯(lián)的私鑰對(duì)返回消息和任意附加信息進(jìn)行簽名 (440)。
所簽名的數(shù)據(jù)和簽名隨后可以被返回至市場(chǎng)客戶端,其轉(zhuǎn)而可以向客戶端應(yīng)用返 回簽名結(jié)果(445)。例如,市場(chǎng)客戶端可以利用作為參數(shù)的簽名數(shù)據(jù)和簽名調(diào)用回調(diào)函數(shù)以將簽名結(jié)果返回至客戶端應(yīng)用。
客戶端應(yīng)用隨后可以經(jīng)由intent結(jié)果接收簽名結(jié)果(450),并且可以使用公鑰對(duì) 簽名結(jié)果進(jìn)行解密(455)。該公鑰可能已經(jīng)在應(yīng)用被編譯時(shí)嵌入客戶端應(yīng)用之中,并且可以 被用來(lái)驗(yàn)證所簽名結(jié)果的完整性??蛻舳藨?yīng)用還可以比較簽名數(shù)據(jù)中的返回值(460)。例 如,應(yīng)用可以比較返回的R以驗(yàn)證其與過(guò)程開(kāi)始時(shí)所生成的隨機(jī)數(shù)相匹配。
在驗(yàn)證該響應(yīng)時(shí)來(lái)自市場(chǎng)API服務(wù)器的有效響應(yīng)時(shí),客戶端應(yīng)用隨后例如可以基 于策略決定如何對(duì)許可結(jié)果做出反應(yīng)。例如,應(yīng)用可以在返回消息指示應(yīng)用被許可的情況 下提供全部功能,并且可以在返回消息指示應(yīng)用并未被許可的情況下提供有限功能或不提 供功能。在一些實(shí)現(xiàn)中,客戶端應(yīng)用可以使用簽名結(jié)果中的信息連同其自己的信號(hào)一起基 于與應(yīng)用相關(guān)聯(lián)的策略來(lái)確定適當(dāng)動(dòng)作。
圖5示出了具有可以由以上所描述的許可狀態(tài)檢查系統(tǒng)和處理所利用的示例狀 態(tài)代碼的表。表500表示可以包括在從市場(chǎng)客戶端到客戶端應(yīng)用的響應(yīng)中的示例狀態(tài)代 碼。表500中的狀態(tài)代碼全部包括在客戶端應(yīng)用發(fā)起許可狀態(tài)檢查之后所出現(xiàn)并且由于許 可服務(wù)器沒(méi)有接收到許可狀態(tài)檢查請(qǐng)求而被市場(chǎng)客戶端未簽名地返回的錯(cuò)誤??蛻舳藨?yīng)用 可以被配置為根據(jù)客戶端應(yīng)用所定義的策略對(duì)這些或其它狀態(tài)代碼進(jìn)行處理。
表550表示可以響應(yīng)于許可狀態(tài)檢查請(qǐng)求而從許可服務(wù)器返回至客戶端應(yīng)用的 示例狀態(tài)代碼。除非另外指出,否則該狀態(tài)代碼被簽名以使得客戶端應(yīng)用能夠驗(yàn)證來(lái)自許 可服務(wù)器的響應(yīng)??蛻舳藨?yīng)用可以被配置為如以上所描述的根據(jù)客戶端應(yīng)用所定義的策略 對(duì)這些或其它狀態(tài)代碼進(jìn)行處理。
圖6示出了均可隨這里所描述的技術(shù)一起使用的通用計(jì)算機(jī)設(shè)備600和通用移動(dòng) 計(jì)算機(jī)設(shè)備650的示例。計(jì)算設(shè)備600旨在表示各種形式的數(shù)字計(jì)算機(jī),諸如膝上計(jì)算機(jī)、 臺(tái)式機(jī)、工作站、個(gè)人數(shù)字助理、服務(wù)器、刀鋒服務(wù)器、大型機(jī)和其它適當(dāng)計(jì)算機(jī)。計(jì)算設(shè)備 650旨在表示各種形式的移動(dòng)設(shè)備,諸如個(gè)人數(shù)字助理、蜂窩電話、智能電話和其它類似的 計(jì)算設(shè)備。這里所示出的組件、其連接和關(guān)系以及其功能僅旨在進(jìn)行示例,而并非意在對(duì)本 文檔中所描述和/或要求保護(hù)的發(fā)明的實(shí)現(xiàn)進(jìn)行限制。
計(jì)算設(shè)備600包括處理器602、存儲(chǔ)器604、存儲(chǔ)設(shè)備606、連接到存儲(chǔ)器604和高 速擴(kuò)展端口 610的高速接口 608,以及連接到低速總線614和存儲(chǔ)設(shè)備606的低速接口 612。 組件602、604、606、608、610和612的每一個(gè)使用各種總線進(jìn)行互連,并且可以安裝在共用 主板上,或者以其它適宜方式進(jìn)行安裝。處理器602能夠處理指令以便在計(jì)算設(shè)備600內(nèi) 執(zhí)行,該指令包括存儲(chǔ)在存儲(chǔ)器604中或者存儲(chǔ)設(shè)備606上以在諸如耦合到高速接口 608 的顯示器616的外部輸入/輸出設(shè)備上顯示用于⑶I的圖形信息的指令。在其它實(shí)現(xiàn)中, 可在適當(dāng)時(shí)使用多個(gè)處理器和/或多個(gè)總線,以及多個(gè)存儲(chǔ)器和存儲(chǔ)器類型。而且,多個(gè)計(jì) 算設(shè)備600可以與提供各部分必要操作的每個(gè)設(shè)備進(jìn)行連接(例如,作為服務(wù)器組、刀鋒服 務(wù)器分組或多處理器系統(tǒng))。
存儲(chǔ)器604存儲(chǔ)計(jì)算設(shè)備600內(nèi)的信息。在一種實(shí)現(xiàn)中,存儲(chǔ)器604是一個(gè)或多 個(gè)易失性存儲(chǔ)單元。在另一實(shí)現(xiàn)中,存儲(chǔ)器604是一個(gè)或多個(gè)非易失性存儲(chǔ)器單元。存儲(chǔ) 器604還可以是另一形式的計(jì)算機(jī)可讀介質(zhì),諸如磁盤(pán)或光盤(pán)。
存儲(chǔ)設(shè)備606能夠?yàn)橛?jì)算設(shè)備600提供大型存儲(chǔ)。在一種實(shí)現(xiàn)中,存儲(chǔ)設(shè)備606 可以是或者可包含計(jì)算機(jī)可讀介質(zhì),諸如軟盤(pán)設(shè)備、硬盤(pán)設(shè)備、光盤(pán)設(shè)備、磁帶設(shè)備、閃存或其它類似固態(tài)存儲(chǔ)器設(shè)備、或者設(shè)備陣列,包括存儲(chǔ)域網(wǎng)絡(luò)或其它配置中的設(shè)備。計(jì)算機(jī)程 序產(chǎn)品可有形實(shí)現(xiàn)在信息載體中。計(jì)算機(jī)程序產(chǎn)品還可包含指令,當(dāng)該指令被執(zhí)行時(shí),執(zhí)行 諸如以上所描述的一個(gè)或多個(gè)方法。信息載體是計(jì)算機(jī)或機(jī)器可讀介質(zhì),諸如存儲(chǔ)器604、 存儲(chǔ)設(shè)備606、或處理器602上的存儲(chǔ)器。
高速控制器608管理計(jì)算設(shè)備600的帶寬密集操作,而低速控制器612管理較低 帶寬密集的操作。這樣的功能分配僅是示例性的。在一種實(shí)現(xiàn)中,高速控制器608(例如, 通過(guò)圖形處理器或加速器)耦合到存儲(chǔ)器604、顯示器616,并且耦合到可接受各種擴(kuò)展卡 (未示出)的高速擴(kuò)展端口 610。在實(shí)現(xiàn)中,低速控制器612耦合到存儲(chǔ)設(shè)備606和低速擴(kuò) 展端口 614。可以包括各種通信端口(例如,USB、藍(lán)牙、以太網(wǎng)、無(wú)線以太網(wǎng))的低速擴(kuò)展 端口可耦合到一個(gè)或多個(gè)輸入/輸出設(shè)備,諸如鍵盤(pán)、指點(diǎn)設(shè)備、掃描儀,或者例如通過(guò)網(wǎng) 絡(luò)適配器耦合到諸如交換機(jī)和路由器之類的聯(lián)網(wǎng)設(shè)備。
如圖所示,計(jì)算設(shè)備600能夠以各種不同形式來(lái)實(shí)現(xiàn)。例如,其可以實(shí)現(xiàn)為標(biāo)準(zhǔn)服 務(wù)器620,或者在這種服務(wù)器群組中實(shí)現(xiàn)多次。其還可以被實(shí)現(xiàn)為機(jī)架式服務(wù)器系統(tǒng)624的 一部分。此外,其還可以在諸如膝上計(jì)算機(jī)622的個(gè)人計(jì)算機(jī)中實(shí)現(xiàn)。備選地,來(lái)自計(jì)算設(shè) 備600的組件可以與諸如設(shè)備650的移動(dòng)設(shè)備(未示出)中的其它組件相結(jié)合。每個(gè)這樣 的設(shè)備可包含一個(gè)或多個(gè)計(jì)算設(shè)備600、650,并且整個(gè)系統(tǒng)可由多個(gè)彼此通信的計(jì)算設(shè)備 600、650所構(gòu)成。
除其它組件之外,計(jì)算設(shè)備650包括處理器652、存儲(chǔ)器664、諸如顯示器654的輸 入/輸出設(shè)備、通信接口 666和收發(fā)器668。設(shè)備650還可提供有諸如微驅(qū)動(dòng)器或其它設(shè)備 的存儲(chǔ)設(shè)備以提供附加存儲(chǔ)。每個(gè)組件650、652、664、654、666和668使用各種總線進(jìn)行互 連,并且若干組件可安裝在共用主板上或者以其它適宜方式進(jìn)行安裝。
處理器652能夠執(zhí)行計(jì)算設(shè)備650內(nèi)的指令,包括存儲(chǔ)在存儲(chǔ)器664中的指令。 處理器可被實(shí)現(xiàn)為包括單獨(dú)且多個(gè)的模擬和數(shù)字處理器的芯片的芯片組。例如,處理器可 提供設(shè)備650的其它組件的協(xié)同,諸如用戶接口控件、設(shè)備650所運(yùn)行的應(yīng)用程序以及設(shè)備 650所進(jìn)行的無(wú)線通信。
處理器652可以通過(guò)耦合到顯示器654的控制接口 658和顯示接口 616與用戶進(jìn) 行通信。顯示器654例如可以是TFT LCD(薄膜晶體管液晶顯示器)顯示器或0LED(有機(jī)發(fā) 光二極管)顯示器,或者其它適當(dāng)?shù)娘@示技術(shù)。顯示接口 656可以包括用于驅(qū)動(dòng)顯示器654 向用戶顯示圖形和其它信息的適當(dāng)電路??刂平涌?658可以從用戶接收命令并且對(duì)其進(jìn)行 轉(zhuǎn)換以便向處理器652進(jìn)行提交。此外,可提供與處理器652進(jìn)行通信的外部接口 662,從 而使得設(shè)備650能夠與其它設(shè)備進(jìn)行近域通信。例如,外部接口 662在一些實(shí)現(xiàn)中可提供 有線通信,或者在其它實(shí)現(xiàn)中提供無(wú)線通信,并且也可使用多個(gè)接口。
存儲(chǔ)器664存儲(chǔ)計(jì)算設(shè)備650內(nèi)的信息。存儲(chǔ)器664可以實(shí)現(xiàn)為一個(gè)或多個(gè)計(jì)算 機(jī)可讀介質(zhì)或媒體、一個(gè)或多個(gè)易失性存儲(chǔ)器單元或者一個(gè)或多個(gè)非易失性存儲(chǔ)器單元。 也提供擴(kuò)展存儲(chǔ)器674并通過(guò)擴(kuò)展接口 672連接到設(shè)備650,例如,擴(kuò)展接口 672可以包括 SIMM(單列存儲(chǔ)組模)卡接口。這樣的擴(kuò)展存儲(chǔ)器674可為設(shè)備650提供額外的存儲(chǔ)空間, 或者還可以為設(shè)備650存儲(chǔ)應(yīng)用程序或其它信息。具體而言,擴(kuò)展存儲(chǔ)器674可以包括指令 以執(zhí)行或補(bǔ)充以上所描述的處理,并且還可以包括安全信息。例如,擴(kuò)展存儲(chǔ)器674由此可 被提供作為設(shè)備650的安全模塊,并且可利用允許對(duì)設(shè)備650進(jìn)行安全使用的指令進(jìn)行編程。此外,可經(jīng)由SIMM卡提供安全應(yīng)用程序以及附加信息,諸如以不可破壞的方式在SIMM 卡上設(shè)置識(shí)別信息。
例如,如以下所描述的,存儲(chǔ)器可以包括閃存和/或NVRAM存儲(chǔ)器。在一種實(shí)現(xiàn)中, 計(jì)算機(jī)程序產(chǎn)品有形實(shí)現(xiàn)在信息載體中。計(jì)算機(jī)程序產(chǎn)品還可包含指令,當(dāng)被執(zhí)行時(shí),指令 執(zhí)行諸如以上所描述的一個(gè)或多個(gè)方法。信息載體是計(jì)算機(jī)或機(jī)器可讀介質(zhì),諸如存儲(chǔ)器 664、擴(kuò)展存儲(chǔ)器674、處理器652上的存儲(chǔ)器。
設(shè)備650可通過(guò)通信接口 666進(jìn)行無(wú)線通信,在必要時(shí),通信接口 666包括數(shù)字信 號(hào)處理電路。通信接口 666可在各種模式或協(xié)議下提供通信,除其它之外,模式或協(xié)議諸如 GSM 語(yǔ)音呼叫、SMS、EMS 或 MMS 消息發(fā)送、CDMA、TDMA、PDC、WCDMA、CDMA2000 或 GPRS。例如, 這樣通信可通過(guò)射頻收發(fā)器668進(jìn)行。此外,諸如可使用藍(lán)牙、WiFi或其它這樣的收發(fā)器 (未示出)進(jìn)行短距離通信。此外,GPS(全球定位系統(tǒng))接收器模塊670可為設(shè)備650提 供附加的導(dǎo)航和位置相關(guān)的無(wú)線數(shù)據(jù),其可由設(shè)備650上運(yùn)行的應(yīng)用程序適當(dāng)使用。
設(shè)備650還可以使用音頻編解碼器660進(jìn)行可聽(tīng)通信,音頻編解碼器660接收來(lái) 自用戶的話音信息并且將其轉(zhuǎn)換為可用的數(shù)字信息。音頻編解碼器660同樣可以諸如通過(guò) 揚(yáng)聲器(例如在設(shè)備650的聽(tīng)筒中)為用戶生成可聽(tīng)聲音。這樣的聲音可以包括來(lái)自語(yǔ)音 電話呼叫的聲音,可以包括錄制的聲音(例如,語(yǔ)音消息、音樂(lè)文件等),并且還可以包括設(shè) 備650上運(yùn)行的應(yīng)用所生成的聲音。
如圖所示,計(jì)算設(shè)備650可以以多種不同方式來(lái)實(shí)現(xiàn)。例如,其可以實(shí)現(xiàn)為蜂窩電 話660。其還可以實(shí)現(xiàn)為智能電話682、個(gè)人數(shù)字助理或其它類似移動(dòng)設(shè)備的一部分。
此外,計(jì)算設(shè)備600或650可以包括通用串行總線(USB)閃存驅(qū)動(dòng)器。USB閃存驅(qū) 動(dòng)器可以存儲(chǔ)操作系統(tǒng)和其它應(yīng)用。USB閃存驅(qū)動(dòng)器可以包括輸入/輸出組件,諸如可以插 入另一個(gè)計(jì)算設(shè)備的USB端口的無(wú)線傳送器或USB連接器。
這里所描述的系統(tǒng)和技術(shù)的各種實(shí)現(xiàn)可以以數(shù)字電路、集成電路、專門(mén)設(shè)計(jì)的 ASIC(專用集成電路)、計(jì)算機(jī)硬件、固件、軟件和/或其組合來(lái)實(shí)現(xiàn)。這些各種實(shí)現(xiàn)可以包 括在一個(gè)或多個(gè)計(jì)算機(jī)程序中的實(shí)現(xiàn),計(jì)算機(jī)程序可在包括至少一個(gè)可編程處理器的可編 程系統(tǒng)上執(zhí)行和/或解析,可編程系統(tǒng)可以為專用或通用,其耦合以從存儲(chǔ)設(shè)備、至少一個(gè) 輸入設(shè)備以及至少一個(gè)輸出設(shè)備接收數(shù)據(jù)和指令并且向其傳送數(shù)據(jù)和指令。
這些計(jì)算機(jī)程序(也稱作程序、軟件、軟件應(yīng)用或代碼)包括用于可編程處理器的 機(jī)器指令,并且能夠以高級(jí)程序和/或面向?qū)ο缶幊陶Z(yǔ)言來(lái)實(shí)現(xiàn),和/或以匯編/機(jī)器語(yǔ)言 來(lái)實(shí)現(xiàn)。如這里所使用的,術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”、“計(jì)算機(jī)可讀介質(zhì)”是指用來(lái)向可編程處 理器提供機(jī)器指令和/或數(shù)據(jù)的任意計(jì)算機(jī)程序產(chǎn)品、裝置和/或設(shè)備(例如,磁碟、光盤(pán)、 存儲(chǔ)器、可編程邏輯設(shè)備(PLD)),其包括接收機(jī)器指令作為機(jī)器可讀信號(hào)的機(jī)器可讀介質(zhì)。 術(shù)語(yǔ)“機(jī)器可讀信號(hào)”是指被用來(lái)為可編程處理器提供機(jī)器指令和/或數(shù)據(jù)的任意信號(hào)。
為了提供與用戶的交互,這里所描述的系統(tǒng)和技術(shù)可在具有用于向用戶顯示信息 的顯示設(shè)備(例如,CRT(陰極射線管)或LCD(液晶顯示器)監(jiān)視器)和用戶能夠通過(guò)其 為計(jì)算機(jī)提供輸入的鍵盤(pán)和指點(diǎn)設(shè)備(例如,鼠標(biāo)或軌跡球)的計(jì)算機(jī)上實(shí)現(xiàn)。也可以使 用其它類型的設(shè)備來(lái)提供與用戶的交互;例如,提供給用戶的反饋可以為任意形式的傳感 器反饋(例如,視覺(jué)反饋、聽(tīng)覺(jué)反饋或觸覺(jué)反饋);并且來(lái)自用戶的輸入可以以任意形式接 收,包括聲音、話音或觸覺(jué)輸入。
這里所描述的系統(tǒng)和技術(shù)可在計(jì)算系統(tǒng)中實(shí)現(xiàn),計(jì)算系統(tǒng)包括后端組件(例如, 數(shù)據(jù)服務(wù)器),或者其包括中間件組件(例如,應(yīng)用服務(wù)器),或者其包括前端組件(例如, 具有用戶能夠通過(guò)其與這里所描述的系統(tǒng)和技術(shù)的實(shí)現(xiàn)進(jìn)行交互的圖形用戶界面或網(wǎng)絡(luò) 瀏覽器的客戶端計(jì)算機(jī)),或者這些后端、中間件或前端組件的任意組合。系統(tǒng)的組件可通 過(guò)任意形式的介質(zhì)或數(shù)字?jǐn)?shù)據(jù)通信(例如,通信網(wǎng)絡(luò))進(jìn)行互連。通信網(wǎng)絡(luò)的示例包括局 域網(wǎng)(LAN)、廣域網(wǎng)(WAN)和互聯(lián)網(wǎng)。
計(jì)算系統(tǒng)可以包括客戶端和服務(wù)器??蛻舳撕头?wù)器通常彼此遠(yuǎn)離并且典型地通 過(guò)通信網(wǎng)絡(luò)進(jìn)行交互??蛻舳撕头?wù)器的關(guān)系源自于在各自計(jì)算機(jī)上運(yùn)行的計(jì)算機(jī)程序并 且具有彼此的客戶端-服務(wù)器關(guān)系。
雖然以上已經(jīng)對(duì)一些實(shí)現(xiàn)進(jìn)行了詳細(xì)描述,但是其它修改也是可能的。此外,可以 使用用于執(zhí)行本文檔中所描述的系統(tǒng)和方法的其它機(jī)制。此外,圖中所描繪的邏輯流程并 不要求所示出的特定順序或連續(xù)順序來(lái)實(shí)現(xiàn)所期望的結(jié)果??梢蕴峁┢渌襟E,或者可以 從所描述的流程中刪除步驟,并且可以向所描述的系統(tǒng)添加其它組件或者從中去除組件。 因此,其它實(shí)現(xiàn)處于以下權(quán)利要求的范圍之內(nèi)。
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的用于確定軟件應(yīng)用的許可狀態(tài)的方法,所述方法包括 利用在客戶端計(jì)算設(shè)備上執(zhí)行的許可客戶端并且從在所述客戶端計(jì)算設(shè)備上執(zhí)行的軟件應(yīng)用接收用于獲得所述軟件應(yīng)用是否被許可在所述客戶端計(jì)算設(shè)備上使用的指示的許可狀態(tài)請(qǐng)求; 使用所述許可客戶端識(shí)別與至少一個(gè)群組相對(duì)應(yīng)的身份信息,所述群組由對(duì)應(yīng)于所述客戶端計(jì)算設(shè)備的用戶的用戶身份信息以及對(duì)應(yīng)于所述客戶端計(jì)算設(shè)備的設(shè)備身份信息所構(gòu)成; 向從所述客戶端計(jì)算設(shè)備遠(yuǎn)程操作的許可服務(wù)發(fā)送從所述許可狀態(tài)請(qǐng)求和所述身份信息所生成的通信,所述通信被所述許可服務(wù)用來(lái)至少部分地基于所述身份信息以及與所述軟件應(yīng)用相關(guān)聯(lián)的許可信息生成所述軟件應(yīng)用是否被許可在所述客戶端計(jì)算設(shè)備上使用的所述指示; 利用所述許可客戶端從所述許可服務(wù)接收許可狀態(tài)響應(yīng),所述許可狀態(tài)響應(yīng)包括所述軟件應(yīng)用是否被許可在所述客戶端計(jì)算設(shè)備上使用的所述指示;以及 向所述軟件應(yīng)用發(fā)送所述許可狀態(tài)響應(yīng)以便由所述軟件應(yīng)用進(jìn)行處理。
2.根據(jù)權(quán)利要求1的方法,其中所述軟件應(yīng)用所進(jìn)行的處理包括從所述許可狀態(tài)響應(yīng)提取所述指示,并且當(dāng)所述指示表明所述軟件應(yīng)用未被許可在所述客戶端計(jì)算設(shè)備上使用時(shí)禁用所述軟件應(yīng)用的至少一部分。
3.根據(jù)權(quán)利要求1的方法,其中所述許可客戶端和所述許可服務(wù)由通過(guò)應(yīng)用市場(chǎng)分發(fā)所述軟件應(yīng)用的拷貝、并且不同于發(fā)行所述軟件應(yīng)用的發(fā)行方的組織進(jìn)行操作。
4.根據(jù)權(quán)利要求3的方法,其中與所述軟件應(yīng)用相關(guān)聯(lián)的所述許可信息包括指示已經(jīng)通過(guò)所述應(yīng)用市場(chǎng)購(gòu)買(mǎi)了所述軟件應(yīng)用的用戶的購(gòu)買(mǎi)記錄。
5.根據(jù)權(quán)利要求1的方法,其中使用作為公鑰-私鑰對(duì)的一部分的私鑰對(duì)所述許可狀態(tài)響應(yīng)進(jìn)行加密,并且所述軟件應(yīng)用所進(jìn)行的處理包括使用作為所述公鑰-私鑰對(duì)的一部分的公鑰對(duì)所述許可狀態(tài)響應(yīng)進(jìn)行解密。
6.根據(jù)權(quán)利要求5的方法,其中所述公鑰嵌入在所述軟件應(yīng)用的經(jīng)編譯的二進(jìn)制碼 中。
7.根據(jù)權(quán)利要求1的方法,其中所述身份信息包括不可由所述軟件應(yīng)用訪問(wèn)的信息。
8.根據(jù)權(quán)利要求1的方法,其中所述軟件應(yīng)用所進(jìn)行的處理包括從所述許可狀態(tài)響應(yīng)提取所述指示,并且將所述指示存儲(chǔ)在所述客戶端計(jì)算設(shè)備的存儲(chǔ)中。
9.根據(jù)權(quán)利要求8的方法,進(jìn)一步包括利用所述許可客戶端從所述軟件應(yīng)用接收第二許可狀態(tài)請(qǐng)求,使用所述許可客戶端確定所述許可服務(wù)不可用于處理所述第二許可狀態(tài)請(qǐng)求,并且向所述軟件應(yīng)用發(fā)送指示所述第二許可狀態(tài)請(qǐng)求失敗的消息,其中響應(yīng)于接收到所述消息,所述軟件應(yīng)用獲取所存儲(chǔ)的指示,并且基于所存儲(chǔ)的指示確定所述軟件應(yīng)用是否被許可在所述客戶端計(jì)算設(shè)備上使用。
10.一種存儲(chǔ)指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)所述指令被一個(gè)或多個(gè)處理設(shè)備執(zhí)行時(shí),使得所述處理設(shè)備執(zhí)行操作,所述操作包括 利用在客戶端計(jì)算設(shè)備上執(zhí)行的許可客戶端并且從在所述客戶端計(jì)算設(shè)備上執(zhí)行的軟件應(yīng)用接收用于獲得所述軟件應(yīng)用是否被許可在所述客戶端計(jì)算設(shè)備上使用的指示的許可狀態(tài)請(qǐng)求;使用所述許可客戶端識(shí)別與至少一個(gè)群組相對(duì)應(yīng)的身份信息,所述群組由對(duì)應(yīng)于所述客戶端計(jì)算設(shè)備的用戶的用戶身份信息以及對(duì)應(yīng)于所述客戶端計(jì)算設(shè)備的設(shè)備身份信息所構(gòu)成; 向從所述客戶端計(jì)算設(shè)備遠(yuǎn)程操作的許可服務(wù)發(fā)送從所述許可狀態(tài)請(qǐng)求和所述身份信息所生成的通信,所述通信被所述許可服務(wù)用來(lái)至少部分地基于所述身份信息以及與所述軟件應(yīng)用相關(guān)聯(lián)的許可信息生成所述軟件應(yīng)用是否被許可在所述客戶端計(jì)算設(shè)備上使用的指不; 利用所述許可客戶端從所述許可服務(wù)接收許可狀態(tài)響應(yīng),所述許可狀態(tài)響應(yīng)包括所述軟件應(yīng)用是否被許可在所述客戶端計(jì)算設(shè)備上使用的所述指示;以及 向所述軟件應(yīng)用發(fā)送所述許可狀態(tài)響應(yīng)以便由所述軟件應(yīng)用進(jìn)行處理。
11.根據(jù)權(quán)利要求10的存儲(chǔ)介質(zhì),其中所述軟件應(yīng)用所進(jìn)行的處理包括從所述許可狀態(tài)響應(yīng)提取所述指示,并且當(dāng)所述指示表明所述軟件應(yīng)用未被許可在所述客戶端計(jì)算設(shè)備上使用時(shí)禁用所述軟件應(yīng)用的至少一部分。
12.根據(jù)權(quán)利要求10的存儲(chǔ)介質(zhì),其中所述許可客戶端和所述許可服務(wù)由通過(guò)應(yīng)用市場(chǎng)分發(fā)所述軟件應(yīng)用的拷貝、并且不同于發(fā)行所述軟件應(yīng)用的發(fā)行方的組織進(jìn)行操作。
13.根據(jù)權(quán)利要求12的存儲(chǔ)介質(zhì),其中與所述軟件應(yīng)用相關(guān)聯(lián)的所述許可信息包括指示已經(jīng)通過(guò)所述應(yīng)用市場(chǎng)購(gòu)買(mǎi)了所述軟件應(yīng)用的用戶的購(gòu)買(mǎi)記錄。
14.根據(jù)權(quán)利要求10的存儲(chǔ)介質(zhì),其中使用作為公鑰-私鑰對(duì)的一部分的私鑰來(lái)對(duì)所述許可狀態(tài)響應(yīng)進(jìn)行加密,并且所述軟件應(yīng)用所進(jìn)行的處理包括使用作為所述公鑰-私鑰對(duì)的一部分的公鑰來(lái)對(duì)所述許可狀態(tài)響應(yīng)進(jìn)行解密。
15.根據(jù)權(quán)利要求14的存儲(chǔ)介質(zhì),其中所述公鑰嵌入在所述軟件應(yīng)用的經(jīng)編譯的二進(jìn)制碼中。
16.根據(jù)權(quán)利要求10的存儲(chǔ)介質(zhì),其中所述身份信息包括不可由所述軟件應(yīng)用訪問(wèn)的信息。
17.根據(jù)權(quán)利要求10的存儲(chǔ)介質(zhì),其中所述軟件應(yīng)用所進(jìn)行的處理包括提取所述軟件應(yīng)用是否被許可在所述客戶端計(jì)算設(shè)備上使用的所述指示,并且將所述指示存儲(chǔ)在所述客戶端計(jì)算設(shè)備的存儲(chǔ)中。
18.根據(jù)權(quán)利要求17的存儲(chǔ)介質(zhì),其中所述操作進(jìn)一步包括利用所述許可客戶端從所述軟件應(yīng)用接收第二許可狀態(tài)請(qǐng)求,使用所述許可客戶端確定所述許可服務(wù)不可用于處理所述第二許可狀態(tài)請(qǐng)求,并且向所述軟件應(yīng)用發(fā)送指示所述第二許可狀態(tài)請(qǐng)求失敗的消息,其中響應(yīng)于接收到所述消息,所述軟件應(yīng)用獲取所存儲(chǔ)的指示,并且基于所存儲(chǔ)的指示確定所述軟件應(yīng)用是否被許可在所述客戶端計(jì)算設(shè)備上使用。
19.一種計(jì)算機(jī)實(shí)現(xiàn)的用于獲得軟件應(yīng)用的許可狀態(tài)的系統(tǒng),所述系統(tǒng)包括 客戶端計(jì)算設(shè)備,其被布置為執(zhí)行軟件應(yīng)用和許可客戶端;以及 許可服務(wù)器系統(tǒng),其被布置為執(zhí)行許可服務(wù), 其中所述軟件應(yīng)用被配置為生成用于從所述許可服務(wù)獲得所述軟件應(yīng)用是否被許可在所述客戶端計(jì)算設(shè)備上使用的指示的許可狀態(tài)請(qǐng)求,并且向所述許可客戶端提供所述許可狀態(tài)請(qǐng)求, 其中所述許可客戶端被配置為從所述軟件應(yīng)用接收所述許可狀態(tài)請(qǐng)求,識(shí)別與至少一個(gè)群組相對(duì)應(yīng)的身份信息,所述群組由對(duì)應(yīng)于所述客戶端計(jì)算設(shè)備的用戶的用戶身份信息以及對(duì)應(yīng)于所述客戶端計(jì)算設(shè)備的設(shè)備身份信息所構(gòu)成,并且向所述許可服務(wù)發(fā)送從所述許可狀態(tài)請(qǐng)求和所述身份信息所生成的通信, 其中所述許可服務(wù)被配置為從所述許可客戶端接收所述通信,至少部分地基于所述身份信息以及與所述軟件應(yīng)用相關(guān)聯(lián)的許可信息確定所述軟件應(yīng)用是否被許可在所述客戶端計(jì)算設(shè)備上使用,生成包括所述軟件是否被許可在所述客戶端計(jì)算設(shè)備上使用的指示的許可狀態(tài)響應(yīng),并且向所述許可客戶端發(fā)送所述許可狀態(tài)響應(yīng), 其中所述許可客戶端進(jìn)一步被配置為從所述許可服務(wù)接收所述許可狀態(tài)響應(yīng),并且向所述軟件應(yīng)用提供所述許可狀態(tài)響應(yīng), 其中所述軟件應(yīng)用進(jìn)一步被配置為從所述許可客戶端接收所述許可狀態(tài)響應(yīng),并且對(duì)所述許可狀態(tài)響應(yīng)進(jìn)行處理。
20.根據(jù)權(quán)利要求19的系統(tǒng),其中所述軟件應(yīng)用通過(guò)從所述許可狀態(tài)響應(yīng)提取所述指示、并且當(dāng)所述指示表明所述軟件應(yīng)用未被許可在所述客戶端計(jì)算設(shè)備上使用時(shí)禁用所述軟件應(yīng)用的至少一部分來(lái)對(duì)所述響應(yīng)進(jìn)行處理。
21.—種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括 利用在許可服務(wù)器系統(tǒng)上執(zhí)行的許可服務(wù)以及從在由所述許可服務(wù)器系統(tǒng)遠(yuǎn)程進(jìn)行操作的客戶端計(jì)算設(shè)備上執(zhí)行的許可客戶端接收用于確定在所述客戶端計(jì)算設(shè)備上執(zhí)行的軟件應(yīng)用是否被許可在所述客戶端計(jì)算設(shè)備上使用的請(qǐng)求,所述請(qǐng)求包括對(duì)應(yīng)于由用戶身份信息和設(shè)備身份信息所構(gòu)成的至少一個(gè)群組的身份信息; 訪問(wèn)許可信息,所述許可信息包括與通過(guò)應(yīng)用市場(chǎng)進(jìn)行的所述軟件應(yīng)用的購(gòu)買(mǎi)相關(guān)聯(lián)的購(gòu)買(mǎi)記錄; 至少部分地基于所述許可信息和所述身份信息生成所述軟件應(yīng)用是否被許可在所述客戶端計(jì)算設(shè)備上使用的指示;以及 向所述客戶端計(jì)算設(shè)備發(fā)送所述指示以便由所述客戶端計(jì)算設(shè)備進(jìn)行處理。
22.根據(jù)權(quán)利要求21的方法,進(jìn)一步包括使用作為公鑰-私鑰對(duì)的一部分的私鑰來(lái)對(duì)所述指示進(jìn)行加密,其中所述客戶端計(jì)算設(shè)備所進(jìn)行的處理包括使用作為公鑰-私鑰對(duì)的一部分的公鑰來(lái)對(duì)所述指示進(jìn)行解密。
23.根據(jù)權(quán)利要求22的方法,其中所述公鑰-私鑰對(duì)與所述軟件應(yīng)用相關(guān)聯(lián)。
24.根據(jù)權(quán)利要求22的方法,其中所述公鑰-私鑰對(duì)與所述軟件應(yīng)用的發(fā)行方相關(guān)聯(lián)。
25.根據(jù)權(quán)利要求21的方法,進(jìn)一步包括確定信任水平,所述信任水平與所述許可服務(wù)對(duì)所述身份信息被解析為特定用戶或設(shè)備有多確信相對(duì)應(yīng)。
26.根據(jù)權(quán)利要求25的方法,其中當(dāng)所述信任水平超出閾值時(shí),生成所述指示包括將所述特定用戶或設(shè)備與所述購(gòu)買(mǎi)記錄相比較以確定所述特定用戶或設(shè)備是否通過(guò)所述應(yīng)用市場(chǎng)購(gòu)買(mǎi)了所述軟件應(yīng)用。
27.根據(jù)權(quán)利要求25的方法,其中當(dāng)所述信任水平低于閾值時(shí),所述指示表明所述軟件應(yīng)用并未被許可在所述客戶端計(jì)算設(shè)備上使用。
全文摘要
在一個(gè)方面中,本申請(qǐng)描述了一種用于確定軟件應(yīng)用的許可狀態(tài)的方法。該方法包括接收用來(lái)獲取軟件應(yīng)用是否被許可在客戶端計(jì)算設(shè)備上使用的指示的請(qǐng)求。該方法還包括識(shí)別與用戶身份信息和/或設(shè)備身份信息相對(duì)應(yīng)的身份信息。該方法還包括向許可服務(wù)發(fā)送根據(jù)許可狀態(tài)請(qǐng)求和身份信息所生成的通信,該通信被許可服務(wù)用來(lái)至少部分地基于與該軟件應(yīng)用相關(guān)聯(lián)的身份信息和許可信息生成指示。該方法還包括從許可服務(wù)接收包括該指示的許可狀態(tài)響應(yīng)。該方法還包括向軟件應(yīng)用發(fā)送該許可狀態(tài)響應(yīng)以便由該軟件應(yīng)用進(jìn)行處理。
文檔編號(hào)G06F21/12GK103038775SQ201180024595
公開(kāi)日2013年4月10日 申請(qǐng)日期2011年5月19日 優(yōu)先權(quán)日2010年5月19日
發(fā)明者R·G·坎寧斯, D·K·哈克伯恩, S·杰雅庫(kù)馬, J·林, D·帕雷克, K·羅薩恩, M·D·沃馬克 申請(qǐng)人:谷歌公司