解決DRM 部署所面臨的障礙
如果 ROM 啟動(dòng)加載程序確定用戶啟動(dòng)加載程序遭到篡改,那么設(shè)備將進(jìn)入災(zāi)難恢復(fù)模式。災(zāi)難恢復(fù)模式是 DRM 的重要組成部分。首先,該設(shè)備必須通知用戶設(shè)備將不能再回放內(nèi)容(即沒(méi)有損壞設(shè)備,但需要再配置),并解釋如何成功地完成設(shè)備再配置。不能低估這一步驟的重要性,因?yàn)橛脩粢话l(fā)現(xiàn)設(shè)備不能回放內(nèi)容就會(huì)撥打技術(shù)支持電話并支付昂貴的費(fèi)用,用戶要是對(duì)此不滿,甚至?xí)蚪?jīng)銷商退貨。
此外,設(shè)備中存儲(chǔ)的密秘機(jī)制還會(huì)通過(guò)其它方式被破壞。舉例來(lái)說(shuō),使用的 DRM 標(biāo)準(zhǔn)會(huì)提供一定的機(jī)制,以使內(nèi)容提供商能夠“撤銷”設(shè)備或者 OEM 廠商,或者通過(guò)其它方式禁用用戶使用受損內(nèi)容或硬件的權(quán)限。通過(guò)支持災(zāi)難恢復(fù)功能,設(shè)備內(nèi)置了用于固件升級(jí)的安全機(jī)制,這樣 OEM 廠商就能用新的安全機(jī)制來(lái)替換設(shè)備上未被禁用的機(jī)制。當(dāng)然,設(shè)備必須能夠確保任何替換代碼影像或加密機(jī)制更新都具有值得信賴的來(lái)源。
請(qǐng)注意,災(zāi)難恢復(fù)也許并不是 ROM 啟動(dòng)加載程序的專屬職責(zé),但除了啟動(dòng)災(zāi)難恢復(fù)之外,ROM 啟動(dòng)加載程序的作用有限,比方說(shuō)其不能通過(guò) USB 下載影像。正是由于此原因,也不應(yīng)該修改用戶啟動(dòng)加載程序,這樣才能確保災(zāi)難恢復(fù)代碼不會(huì)損壞,從而使設(shè)備能從故障中有效恢復(fù)。
將啟動(dòng)進(jìn)程分為若干個(gè)階段有不同的作用。首先,這能讓開發(fā)人員更方便地對(duì)設(shè)備專用和應(yīng)用專用代碼進(jìn)行分組。不過(guò),更重要的是,將啟動(dòng)過(guò)程分為若干階段能減少設(shè)備啟動(dòng)過(guò)程中用戶所能感知的時(shí)延。我們不妨設(shè)想,確認(rèn)代碼的延遲通常與代碼影像的大小成正比(不過(guò)并不僅與影像大小有關(guān)),代碼影像越大,確認(rèn)所需的時(shí)間就越長(zhǎng)。應(yīng)用代碼確認(rèn)時(shí),用戶不得不對(duì)著空白的、沒(méi)有響應(yīng)的屏幕發(fā)呆,甚至?xí)岩墒遣皇请姵貨](méi)電了。
采用分散式用戶啟動(dòng)加載程序并分階段載入應(yīng)用使設(shè)備能更快地與用戶互動(dòng)。比方說(shuō),用戶啟動(dòng)加載程序完成后,就會(huì)立即在屏幕上顯示“醒目”頁(yè)面,以便讓用戶總體上感覺(jué)到設(shè)備的響應(yīng)要快一些,并確信設(shè)備已經(jīng)開啟。甚至應(yīng)用啟動(dòng)影像本身也可分為不同的階段。用戶界面功能可分階段載入執(zhí)行,比方說(shuō)先載入用戶界面代碼,再載入數(shù)據(jù)庫(kù),這樣用戶就能訪問(wèn)列表中可用的內(nèi)容,用戶可以在大部分應(yīng)用啟動(dòng)加載程序(如現(xiàn)在還不需要的 DRM 功能)不斷確認(rèn)并進(jìn)行后臺(tái)載入的同時(shí)就開始選擇待播放的內(nèi)容。如果必須同時(shí)確認(rèn)整個(gè)應(yīng)用代碼,那么在應(yīng)用代碼確認(rèn)結(jié)束、信息顯示在屏幕上之前可能要花上數(shù)十秒鐘的時(shí)間。
硬盤運(yùn)行
優(yōu)化加密功能可提高性能,不過(guò),如前所述改善啟動(dòng)時(shí)間時(shí)延問(wèn)題的關(guān)鍵在于將啟動(dòng)功能進(jìn)行良好的計(jì)劃安排,與其它工作同時(shí)進(jìn)行,這樣就能通過(guò)后臺(tái)啟動(dòng)。同樣的原理也有助于降低不同操作之間用戶所能感知到的延遲,比方說(shuō)選歌與聽(tīng)歌之間的時(shí)延就會(huì)感到縮短。最小化延遲對(duì)改進(jìn)總體用戶體驗(yàn)至關(guān)重要。
圖 2a 顯示了播放前一般的 DRM 確認(rèn)內(nèi)容進(jìn)程。驗(yàn)證內(nèi)容與驗(yàn)證代碼的不同之處在于,許可證、密鑰或散列信息可能沒(méi)有與受保護(hù)的內(nèi)容存儲(chǔ)在一起,而是存儲(chǔ)在數(shù)據(jù)庫(kù)中。比方說(shuō),用戶的許可證限制了某首歌曲能被播放的次數(shù),超過(guò)這個(gè)次數(shù)許可證就會(huì)過(guò)期。這就會(huì)增加一系列驗(yàn)證工作的額外步驟,因?yàn)橛脩舻牟シ帕斜砜赡芎荦嫶?比方說(shuō)一個(gè)文件夾中的音樂(lè)容量就達(dá) 20GB),因此我們必須生成支持索引功能的數(shù)據(jù)庫(kù),這樣才能實(shí)現(xiàn)快速查找。
播放前的內(nèi)容驗(yàn)證
圖 2a 顯示了播放之前驗(yàn)證內(nèi)容的一般 DRM 進(jìn)程。在本例中,所有 DRM 處理都位于關(guān)鍵路徑中,這就會(huì)導(dǎo)致時(shí)延最大化。
優(yōu)化數(shù)據(jù)庫(kù)搜索要求開發(fā)人員在性能、存儲(chǔ)器占用以及電池使用壽命之間進(jìn)行平衡取舍?;蛟S,影響上述因素的最重要考慮就是確定某項(xiàng)操作是否需要對(duì)硬盤進(jìn)行存取。硬盤是便攜式媒體播放器最大的耗電因素,甚至比顯示屏的耗電量還大。不是所有 PMP 都具有硬盤,不過(guò)不使用硬盤的設(shè)備其存儲(chǔ)空間要小得多,因而其數(shù)據(jù)庫(kù)也更小,更易于管理。
節(jié)省電量的最佳策略之一就是最大限度地減少硬盤必須加速轉(zhuǎn)動(dòng)的次數(shù)。我們可以將硬盤存取集中在一起,而不是播放三首歌曲就要讓硬盤從播放列表中載入三次。系統(tǒng)可以提前預(yù)計(jì)用戶接下來(lái)在播放列表中最可能播放的歌曲,并同時(shí)載入三首歌曲。如果預(yù)計(jì)錯(cuò)誤(用戶選擇其它歌曲播放),那么預(yù)取其它歌曲所用的電量就會(huì)被浪費(fèi)掉。但是,執(zhí)行預(yù)取所耗的電量相對(duì)于硬盤額外轉(zhuǎn)動(dòng)所耗電量來(lái)說(shuō)非常小,從長(zhǎng)遠(yuǎn)來(lái)看還是非常省電的。
上述策略也可應(yīng)用于數(shù)據(jù)庫(kù)檢索。根據(jù)數(shù)據(jù)庫(kù)大小的不同,我們有時(shí)可以將數(shù)據(jù)庫(kù)整個(gè)都存儲(chǔ)在存儲(chǔ)器中,這樣存取數(shù)據(jù)庫(kù)就不需要操作硬盤了。在啟動(dòng)時(shí)就將數(shù)據(jù)庫(kù)存入存儲(chǔ)器,其所發(fā)生的更改都存入存儲(chǔ)器中,隔一段時(shí)間才向硬盤傳輸。通常播放器有 10到 20 MB 的預(yù)取緩沖器容量,足夠用于 10 到 40 分鐘的音頻。在緩沖器中存儲(chǔ)數(shù)據(jù)庫(kù)會(huì)減少內(nèi)容播放所需的存儲(chǔ)容量,但這樣無(wú)需執(zhí)行硬盤,從而顯著縮短了檢索時(shí)間。請(qǐng)注意,由于存儲(chǔ)器中也載入了許可證數(shù)據(jù)庫(kù),因此系統(tǒng)能在執(zhí)行硬盤前將數(shù)首歌的加密功能進(jìn)行排序,而不是在硬盤轉(zhuǎn)動(dòng)時(shí)進(jìn)行加密計(jì)算,而讓寫入磁頭處于空閑狀態(tài)。但是,將所有許可證都存于 RAM 中會(huì)大幅降低設(shè)備的安全可靠性,因此這種做法應(yīng)當(dāng)避免。
我們不妨設(shè)想這樣一種情況,當(dāng)用戶首次啟動(dòng)播放器時(shí),閃屏立即出現(xiàn),然后出現(xiàn)可用的播放列表。用戶考慮先播放哪首歌曲花的時(shí)間通常已足夠該應(yīng)用來(lái)完成加載任務(wù)。如果用戶快速選擇了播放的歌曲,那么就載入第一首歌的數(shù)據(jù)及其許可證,并對(duì)這些信息進(jìn)行評(píng)估然后開始操作,這樣就能最大限度地縮短用戶欣賞到音樂(lè)所需的時(shí)間。
這時(shí),由于設(shè)備還沒(méi)有機(jī)會(huì)進(jìn)行預(yù)取,所有 DRM 處理都位于主處理路徑上。不過(guò),在播放第一首歌時(shí),播放器可將許可證數(shù)據(jù)庫(kù)下載至存儲(chǔ)器,這樣播放器就能為播放列表中接下來(lái)的歌曲預(yù)先處理許可證密鑰,并預(yù)取適當(dāng)?shù)那?。這樣,大多數(shù) DRM 處理任務(wù)都能在后臺(tái)得到高效地計(jì)劃安排,毫不影響用戶的欣賞體驗(yàn),而且還能盡可能減少對(duì)硬盤的存取(見(jiàn)圖 2b)。
數(shù)據(jù)庫(kù)的可靠性
評(píng)論