專利名稱:向設(shè)備供應(yīng)內(nèi)容的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種向設(shè)備供應(yīng)內(nèi)容的方法,特別涉及一種向利用移動通信網(wǎng)絡(luò)的移動設(shè)備供應(yīng)內(nèi)容的方法。
背景技術(shù):
一個對于移動網(wǎng)絡(luò)運營商和內(nèi)容供應(yīng)商來說發(fā)展的領(lǐng)域是為移動電話和設(shè)備提供振鈴、壁紙和其它多媒體內(nèi)容。在移動網(wǎng)絡(luò)運營商和設(shè)備制造商出于品牌目的而保持設(shè)備用戶界面的一些方面的控制的需求,與用戶對他們的設(shè)備的外觀進行定制和更改以滿足他們自身需要的需求之間存在一定矛盾。典型移動設(shè)備的有限處理功率和數(shù)據(jù)存儲容量,不能滿足提供期望的靈活度和客戶化所需的復(fù)雜的軟件的需求。本發(fā)明試圖緩解這些問題。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,提供了一種接收用于設(shè)備的用戶界面的內(nèi)容數(shù)據(jù)的方法,該方法包括以下步驟該設(shè)備從通信接口接收用于用戶界面的內(nèi)容數(shù)據(jù);該設(shè)備處理所接收的內(nèi)容數(shù)據(jù),以形成該設(shè)備的用戶界面,其中,該內(nèi)容數(shù)據(jù)包括元數(shù)據(jù),并且該方法還包括該設(shè)備根據(jù)內(nèi)容數(shù)據(jù)元數(shù)據(jù),經(jīng)由通信接口訪問內(nèi)容數(shù)據(jù)更新的步驟。
根據(jù)本發(fā)明的第二方面,提供了一種包含有用于執(zhí)行上述方法的計算機可執(zhí)行碼的數(shù)據(jù)載體。
根據(jù)本發(fā)明的第三方面,提供了一種設(shè)備,其包括用戶界面;用于顯示用戶界面的顯示裝置;用于接收用戶界面中所使用的內(nèi)容數(shù)據(jù)的通信接口;和處理所接收的內(nèi)容數(shù)據(jù)以形成用戶界面的處理裝置,其中,內(nèi)容數(shù)據(jù)包括元數(shù)據(jù),并且該設(shè)備被配置成根據(jù)內(nèi)容數(shù)據(jù)元數(shù)據(jù)經(jīng)由通信接口訪問內(nèi)容數(shù)據(jù)更新。
圖1顯示出結(jié)合本發(fā)明的系統(tǒng)的示意圖;圖2顯示出服務(wù)器100的更為詳細的結(jié)構(gòu)和操作;圖3顯示出移動設(shè)備的軟件的示意圖;圖4顯示出內(nèi)容工具箱200的示意圖;圖5顯示出包括根據(jù)本發(fā)明的實施例的用戶界面的設(shè)備的示意圖。
具體實施例方式
將參照附圖,對本發(fā)明將僅以示意性的方式予以說明,其中,圖1顯示出結(jié)合本發(fā)明的系統(tǒng)的示意圖。該系統(tǒng)包括服務(wù)器100、內(nèi)容工具箱200、移動設(shè)備300、操作支持系統(tǒng)(OSS)700、內(nèi)容供給(contentfeed)500和用戶界面(UI)源600。在使用時,服務(wù)器100向移動設(shè)備300、301…傳輸內(nèi)容數(shù)據(jù)和UI數(shù)據(jù),其中的每一個移動設(shè)備包括軟件包400。服務(wù)器100與OSS 700接口,該OSS那些通常用于操作移動網(wǎng)絡(luò)的OSS,例如付費、賬戶管理等。服務(wù)器100還與內(nèi)容工具箱200進行接口內(nèi)容工具箱從UI源600、601…接收數(shù)據(jù),并且封裝UI數(shù)據(jù),以使服務(wù)器可向包括在移動設(shè)備300內(nèi)的軟件包400傳輸經(jīng)封裝的UI數(shù)據(jù)。服務(wù)器從多個內(nèi)容供應(yīng)處接收數(shù)據(jù),并且處理和封裝該數(shù)據(jù),從而使該數(shù)據(jù)可被發(fā)送到軟件包400,或者使移動設(shè)備300可使用軟件包400訪問該數(shù)據(jù)。
可以設(shè)想將該系統(tǒng)分為三個獨立的域運營商域50,其包括移動網(wǎng)絡(luò)運行商(MNO)操作的系統(tǒng)和設(shè)備;用戶域60,其包括多個移動設(shè)備;和第三方域70,其包括可由一些不同實體控制或操作的內(nèi)容供應(yīng)和UI供應(yīng)。
圖2顯示出更為詳細的服務(wù)器100的結(jié)構(gòu)和操作。服務(wù)器100包括發(fā)布組件110和內(nèi)容服務(wù)器組件150。發(fā)布組件包括數(shù)據(jù)庫111、輸入隊列112、內(nèi)容工具箱接口113、用戶接口114和目錄115。在運行時,發(fā)布組件在內(nèi)容工具箱接口處從內(nèi)容工具箱接收內(nèi)容。該內(nèi)容以包括一個或多個Trig以及一個或多個Triglet的包210A、210B…(見以下)的形式顯示。Trig是例如移動電話的移動設(shè)備的用戶界面,Triglet是可被用于擴展或改變Trig的數(shù)據(jù)文件。如果包包括多于一個Trig,則這些Trig中的一個可為主Trig,而其它Trig從主Trig派生而來。
發(fā)布組件用戶接口114可被用作將包輸入進數(shù)據(jù)庫111,而該過程會涉及到各個載入輸入隊列114的Trig和Triglet的引用,該過程可能包括多個包210a、210b…的引用。該包的內(nèi)容可使用用戶界面進行檢查,而該包的內(nèi)容可被傳送到目錄。
MNO可具有一些發(fā)布域,例如用于許多國家或區(qū)域中的每個目標(biāo)服務(wù)器的發(fā)布域??蓪⒚總€發(fā)布域視為與其它發(fā)布域相獨立,并且每個發(fā)布域具有其自己的說明對象如何在實時和登臺(live and staging)的環(huán)境中被發(fā)布到內(nèi)容服務(wù)器上的發(fā)布方案。發(fā)布組件GUI為每個域提供一些不同的視圖,使得運營商可以完全管理內(nèi)容的發(fā)布。目錄包括對存儲在目錄中的Trig的引用,和用于將內(nèi)容傳送到不同域的更新通道和供給通道。對于每個域,運營商使用發(fā)布組件GUI以建立上述各域結(jié)構(gòu),并且將Trig從目錄分配到各個域節(jié)點。為了輔助運營商有效選擇Trig,在目錄中提供了一種過濾器,從而僅使得相關(guān)選項被顯示。
可為一個域中的一些節(jié)點分配Trig??赡芟M诿恳环N情況下,目標(biāo)服務(wù)器上的Trig包是不同的,例如,可以是SIS文件或CAB文件,這取決于將訪問Trig的手持機??墒褂冒l(fā)布組件GUI控制該包。
可通過Trig引用更新通道,來控制內(nèi)容的傳遞。更新通道包括鏈接到相關(guān)域上的資源的URL,相關(guān)域包括Triglet更新包。可以以預(yù)定間隔查詢URL,并且,HTTP GET功能可被用于訪問該包(容易理解的是,可為少量更新使用其它傳輸方案,例如SyncML或SMS或小區(qū)廣播。)Triglet更新包說明了Trig如何被修改,例如,如何更換Trig所使用的一個或更多圖像或文本文件。發(fā)布組件GUI使運營商定義并且控制域的更新通道、與更新通道上的每個Triglet相關(guān)的URL以及每個Triglet與域的更新通道之間的關(guān)系。由于每個Triglet與更新通道相關(guān)聯(lián),運營商可以輸入應(yīng)該發(fā)布的更新的日期和時間,以設(shè)置進度表。
通過查詢URL、檢索更新包并將其應(yīng)用到Trig來訪問內(nèi)容供給。然而,因為手動創(chuàng)建的Triglet更新和自動生成的內(nèi)容的不同特性,所以對更新通道和內(nèi)容供給分別進行管理。此外,可使用其它傳輸方案,例如,SyncML或OMA-DM(開放移動聯(lián)盟設(shè)備管理)。
發(fā)布組件GUI使得運營商定義在每一個域內(nèi)哪一個內(nèi)容供給有效,以及內(nèi)容應(yīng)該被張貼到的平臺特定位置識別符,例如URL。運營商定義本身利用發(fā)布組件GUI內(nèi)的單獨屏幕的內(nèi)容供給。此時,所有域發(fā)布方案信息被存儲在數(shù)據(jù)庫中。
如果修改現(xiàn)有實時域,發(fā)布組件運行在一種實時域結(jié)構(gòu)上,并且定義將對該域做出的改變,例如,Trig的去除和添加。分配給發(fā)布方案的各個Trig或Triglet引用多個包,該Trig或Triglet最初從這些包輸入。這使得發(fā)布組件隨后編輯這些Trig或Triglet(見下)。
在另一個實施例中,可以不同方式訪問更新的包??蔀閿?shù)據(jù)庫111提供接口,從而可使該設(shè)備查詢該接口,以請求內(nèi)容更新。數(shù)據(jù)庫具有相關(guān)內(nèi)容更新包的位置的條目,該相關(guān)內(nèi)容更新包隨后被返回到設(shè)備。設(shè)備隨后可通過查詢適當(dāng)?shù)腢RL訪問內(nèi)容更新包。因為在內(nèi)容首先被發(fā)送到終端時不需要識別更新的位置,該可替換的方法很大程度上簡化了內(nèi)容供給的管理和操作,并為系統(tǒng)提供一定程度的自動化。只要數(shù)據(jù)庫被更新,就可按照需要定位(重新定位)內(nèi)容更新而無須將改變通知給所有設(shè)備。
運營商可以選擇開發(fā)過程中的域上的不同視圖,例如,初始結(jié)構(gòu)(即,當(dāng)前實時的結(jié)構(gòu))、具有或不具有標(biāo)記改變的最后提出的結(jié)構(gòu)(經(jīng)批準(zhǔn)的和/或未決的項目),僅有的改變和被拒絕的項。如果發(fā)布組件GUI包含涉及還沒有被分配給域的更新通道或內(nèi)容供給的Trig或Triglet,則發(fā)布組件GUI防止域方案被發(fā)布。一旦準(zhǔn)備測試發(fā)布方案,則將該發(fā)布方案發(fā)布到用于測試的域的登臺服務(wù)器(staging server)。
發(fā)布請求由服務(wù)器處理,并且包括編譯所有未編譯的Trig和Triglet(經(jīng)批準(zhǔn)的和未決的)并且向登臺服務(wù)器輸出所有提出的未決的和經(jīng)批準(zhǔn)的改變,這包括新的Trig,(根據(jù)測試日期)對延誤發(fā)布的現(xiàn)有Trig、Triglet的更新和對Trig、Triglet和節(jié)點的刪除。如果在編譯階段發(fā)生任何錯誤,將不發(fā)布任何項。必須拒絕或更正錯誤項以使發(fā)布繼續(xù)。
一旦位于MNO的登臺服務(wù)器上時,可使用移動設(shè)備測試該域。每一個通過其測試的項可使用發(fā)布組件GUI標(biāo)記為“經(jīng)批準(zhǔn)”。沒有通過測試的項被標(biāo)記為“拒絕的”。更正后的Trig/Triglet可被輸入到發(fā)布組件,重新提交到該域并且隨后被發(fā)布到如上所述的登臺服務(wù)器。該處理持續(xù)到所有項被批準(zhǔn)以及域已經(jīng)準(zhǔn)備好向?qū)崟r環(huán)境發(fā)布。另外,對于域的登臺區(qū)域,可以模擬時間過程,從而,可測試預(yù)定的更新。一些MNO可能不需要登臺服務(wù)器的功能,且由此,當(dāng)建立域方案時,將被發(fā)布的所有項可被標(biāo)記為經(jīng)批準(zhǔn),并且,由此,運營商可直接進行實時發(fā)布。
發(fā)布組件GUI為實時和登臺區(qū)域兩者提供各個域的外觀形式。由該外觀形式,可以開始和結(jié)束在每個更新通道上的內(nèi)容供應(yīng)的自動發(fā)布和Triglet的預(yù)定發(fā)布。
在完成測試后,可使用與上述相似的處理將域發(fā)布到服務(wù)器的實時區(qū)域,與上述處理不同的是,僅發(fā)布標(biāo)記為允許的域的改變。當(dāng)建立發(fā)布方案時,可設(shè)置發(fā)布各個Trig和Triglet的日期和時間。在請求域準(zhǔn)備好發(fā)布時,發(fā)布組件確保所有Trig和Triglet被編譯,即使與某項相關(guān)的發(fā)布日期或時間在未來某時。未來日期項保留在發(fā)布組件數(shù)據(jù)庫中,直到它們準(zhǔn)備好被分到目標(biāo)域區(qū)域。預(yù)定發(fā)布處理可以以設(shè)置的間隔查詢每個目標(biāo)域區(qū)域,并且將應(yīng)該發(fā)布或延誤發(fā)布的任何預(yù)定項經(jīng)由分派API分派到適當(dāng)?shù)挠蚰繕?biāo)。
用從例如網(wǎng)頁搜索(web scraping)、RSS新聞供給等外部源提取的動態(tài)內(nèi)容,以規(guī)定的間隔更新內(nèi)容供給。動態(tài)內(nèi)容可以是簡單新聞滾動文本(標(biāo)題和URL),但也可包括可使用內(nèi)容工具箱替換的此類型的更為復(fù)雜的對象。內(nèi)容供給處理將該內(nèi)容格式化為更新文件,并且隨后將其返回給供給控制。
供給控制調(diào)用編譯Trig處理,該處理將與內(nèi)容供給和更新文件相關(guān)的Triglet包模板傳送到編譯器。該編譯器提取Triglet包中的資源,并且將經(jīng)編譯的隨后可被發(fā)布的Triglet返回到供給控制(參考上述說明)。
對于每一個將被編譯的Trig或Triglet,編譯器獲取以下信息其內(nèi)輸入或產(chǎn)生Trig/Triglet的初始包;將產(chǎn)生的Trig/Triglet更新包列表;將產(chǎn)生的文件類型;和用于更新通道和內(nèi)容供給的URL映射。編譯器使用URL映射更新由在每一個包中的各個Trig和Triglet中的更新通道(和內(nèi)容供給)引用的URL。
分派API可被用于將內(nèi)容分派到MNO的服務(wù)器。參考FTP模型已經(jīng)被實現(xiàn)以用于服務(wù)API,并且將文件傳送到內(nèi)容服務(wù)器,然而,API機制使得集成器實現(xiàn)其自身的內(nèi)容分派機制,例如,使用發(fā)布組件輸出作為到其自身的內(nèi)容管理系統(tǒng)的API的輸入,如果需要,則將添加客戶邏輯。
發(fā)布組件支持常規(guī)OSS功能,該功能可通過發(fā)布組件GUI和通過工業(yè)標(biāo)準(zhǔn)API(JMX)實現(xiàn),工業(yè)標(biāo)準(zhǔn)API(JMX)使得SI使用標(biāo)準(zhǔn)集成工具以將發(fā)布組件集成到MNO的OSS環(huán)境。這包括記錄大量發(fā)布組件事件和所有輸入的/發(fā)布的項,在對外部腳本的任何改變的檢查跟蹤,維護錯誤/警告日志,系統(tǒng)警報,運行狀況檢查報告等。所有與發(fā)布組件相關(guān)的數(shù)據(jù)被存儲在例如Oracle的數(shù)據(jù)庫中,并且,備份和恢復(fù)功能由與OSS環(huán)境集成的標(biāo)準(zhǔn)數(shù)據(jù)庫處理支持。運行時,發(fā)布組件需要運行J2EE環(huán)境和數(shù)據(jù)庫的安裝實例,例如Oracle??赏ㄟ^指示安裝處理成功以及所有組件已經(jīng)被正確激活的處理來驗證發(fā)布組件的安裝。
內(nèi)容服務(wù)器組件150是網(wǎng)頁服務(wù)器的標(biāo)準(zhǔn)實現(xiàn),因而容易理解縮放模型。服務(wù)器的能力可使用在基準(zhǔn)條件下指示網(wǎng)絡(luò)服務(wù)器能夠處理的同時發(fā)生的會話數(shù)目的“SPECweb99”接入數(shù)來評價。經(jīng)發(fā)布的SPECweb99數(shù)字范圍從404到21,000,其中,典型商業(yè)網(wǎng)頁服務(wù)器具有的SPECweb99數(shù)字大約為5,000。一百萬個用戶站的典型配置情況,每小時更新一次內(nèi)容,僅需要SPECweb99接入數(shù)為1,112的額定值的網(wǎng)絡(luò)服務(wù)器。成功的配置將導(dǎo)致增加的服務(wù)使用,這可通過啟用額外的服務(wù)器來建立既可縮放又對故障有高彈性的基礎(chǔ)設(shè)施來提供。
移動設(shè)備可經(jīng)由WAP網(wǎng)關(guān)連接到服務(wù)器。在此情況下,網(wǎng)頁服務(wù)器會話存在于WAP網(wǎng)關(guān)和網(wǎng)頁服務(wù)器之間,而不是移動電話和網(wǎng)頁服務(wù)器之間。當(dāng)經(jīng)由WAP網(wǎng)關(guān)做出對文件的請求時,與網(wǎng)頁服務(wù)器之間的會話僅僅持續(xù)該服務(wù)器將文件從網(wǎng)頁服務(wù)器傳送到WAP網(wǎng)關(guān)那么長時間,即,該會話時間相當(dāng)短,因為連接帶寬將非常高并且等待時間非常低。
可替換地,可在移動電話和網(wǎng)頁服務(wù)器之間建立直接連接。在此情況下,網(wǎng)頁服務(wù)器將需要使會話保持開放直到將數(shù)據(jù)下載到電話。
具有兩種類型的內(nèi)容通過服務(wù)器組件傳遞Trig,典型情況具有100KB量級大小,和具有典型情況下的1KB量級的常規(guī)更新Triglet。Trig下載生成的業(yè)務(wù)量與現(xiàn)有內(nèi)容下載生成的業(yè)務(wù)量相類似。并且,由此,相關(guān)的問題被很好地理解。常規(guī)Triglet更新的下載是MNO的業(yè)務(wù)模型中的新的特性,但由于典型情況下符合一個數(shù)據(jù)包的更新的小尺寸,可以顯示出業(yè)務(wù)仍可通過典型網(wǎng)頁服務(wù)器進行處理。
在Triglet下載的情況下,典型地,僅需要一個數(shù)據(jù)包傳送1KB。假設(shè)跨越GPRS網(wǎng)絡(luò)的回程等待時間為2秒,網(wǎng)頁服務(wù)器將需要保持典型會話開放大約4秒。對于1百萬客戶在他們的每小時進行更新內(nèi)容的電話上具有Trig的方案來說,這意味著在網(wǎng)頁服務(wù)器上的每秒278次點擊和1,112個同時發(fā)生的會話。如前所述,該數(shù)字令人滿意的在典型網(wǎng)頁服務(wù)器的容量內(nèi)。
圖3顯示出移動設(shè)備300的軟件400的原理圖,其中包括標(biāo)記語言繪制器410、更新管理器420、網(wǎng)絡(luò)通信代理425、資源管理器430、虛擬文件系統(tǒng)435、執(zhí)行者(actor)管理器440、多個執(zhí)行者445a、445、…、本地UI繪制器450、支持管理器460、Trig管理器465和標(biāo)記語言解析器470。
軟件可使用TrigML進行操作,TrigML是XML應(yīng)用程序,并且標(biāo)記語言繪制器410繪制用于在移動設(shè)備300上顯示的TrigXML代碼。TrigML在于2004年2月19日提交的同時待審的申請GB0403709.9中予以說明,其內(nèi)容在此作為參考。
標(biāo)記語言繪制器也使用TrigML解析器以解析TrigML資源,在設(shè)備屏幕上顯示內(nèi)容,并控制手機上的內(nèi)容的替換和瀏覽手機上的內(nèi)容。本地UI繪制器被用于顯示UI組件和顯示錯誤消息,該UI組件可無須使用TrigML而被顯示。
以設(shè)備特有方式提供和安裝軟件400。相類似地,以設(shè)備特有方式處理軟件更新。以更為有限的格式提供軟件,作為僅繪制其內(nèi)置內(nèi)容的配套的應(yīng)用程序即,為軟件提供內(nèi)置Trig,但之后不能在添加額外的Trig。供給的Trig可通過無線傳輸被升級。
資源管理器提供了在設(shè)備上的持續(xù)存儲的抽象概念,即,將文件作為真實文件或者作為記錄存儲到數(shù)據(jù)庫中。該資源管理器提供一種到標(biāo)記語言繪制器和更新管理器的文件系統(tǒng)接口。它負責(zé)處理文件路徑邏輯、區(qū)分實時資源文件和執(zhí)行者屬性、將Trig相關(guān)路徑映射到絕對路徑、與Trig管理器通過接口連接,并為更新管理器提供修改界面。
更新管理器處理Trig和Triglet的接收和應(yīng)用。更新管理器向繪制器和Trig管理器提供界面,并且負責(zé)當(dāng)受繪制器指示時,啟動手動更新;當(dāng)被Trig管理器如此配置時,控制并實現(xiàn)自動更新通道;指示手動更新的進度并在發(fā)生意外的網(wǎng)絡(luò)丟失連接和/或設(shè)備電源故障時恢復(fù)更新。該更新包格式可被限定為XML方案的二進制序列。
支持管理器為其它組件提供界面以報告事件或錯誤的發(fā)生。根據(jù)錯誤的嚴重性,支持管理器將記錄該事件和/或提供錯誤消息彈出框。
執(zhí)行者管理器440管理軟件中出現(xiàn)的執(zhí)行者的集合445。執(zhí)行者管理器由以下組件使用當(dāng)內(nèi)容正向執(zhí)行者發(fā)送事件時,由繪制器使用;由想要通知屬性值已經(jīng)改變的執(zhí)行者使用;和由想要發(fā)出事件的執(zhí)行者使用(見以下)。
以設(shè)備特有的方法將軟件400提供給移動設(shè)備??商峁┮粋€或多個Trig作為安裝的一部分,例如,存儲為未壓縮的更新包。在啟動時,該包可被擴展并安裝到文件系統(tǒng)。
執(zhí)行者445是發(fā)布屬性值的組件,并處理和發(fā)出事件。執(zhí)行者與繪制器同步通信。如果執(zhí)行者需要異步操作,則其負責(zé)管理并與繪制器的主線程之外的線程通信。
可讀取執(zhí)行者屬性,作為文件索引。屬性具有以下四種類型值單個簡單值;簡單值的向量;字段的單個結(jié)構(gòu),每個字段域具有簡單值;或結(jié)構(gòu)的向量。屬性可通過使用與許多面向?qū)ο蟪绦蛘Z言相類似的obiect.member符號形式表達式來引用<image res=″signallevels/{protocol.signalstrength}″/>當(dāng)作為文件時,屬性通過/attrs文件夾進行訪問。
<text res=″/attr/network/name″>
可通過向其發(fā)送具有<throw>元素的事件來向執(zhí)行者發(fā)送消息。由執(zhí)行者發(fā)出的事件可被傳遞到內(nèi)容樹作為內(nèi)容事件這些可在元素ID或‘top’上被作為目標(biāo)。對執(zhí)行者的界面由執(zhí)行者界面定義文件來定義。這是定義屬性、類型、字段名(fieldname)、輸入的事件(events-in)和參數(shù)、以及輸出的事件(events out)??稍诰幾g時為軟件配置執(zhí)行者的集合。附表A給出可被使用的一些執(zhí)行者的實例性列表,與相關(guān)的函數(shù)或變量。
更新包括新的Trig(新的或替換UI)或Triglet(對現(xiàn)有Trig的修改)且可以被視為對軟件文件系統(tǒng)的修改。更新管理器通過讀取包來確定文件系統(tǒng)中何種內(nèi)容需要改變。更新包可通過軟件400利用HTTP或其它合適的傳輸機制來進行無線下載,更新包被以設(shè)備特有包的形式進行封裝或在安裝軟件本身時被預(yù)配置。
更新可由以下一些裝置觸發(fā),其包括·在啟動時檢查中斷更新處理的軟件·在啟動時檢查預(yù)裝更新包的軟件·如更新通道配置的那樣自動地·用戶初始化·接收專用SMS的設(shè)備可使用軟件發(fā)出的HTTP-GET請求得到更新發(fā)送OTA。GET請求被發(fā)送至與更新相關(guān)的URL。HTTP響應(yīng)的主體是承載更新包格式的數(shù)據(jù)的二進制文件。在與繪制器線程獨立的線程中處理數(shù)據(jù)接收。對于背景更新(自動開始的)來說,這允許用戶連續(xù)使用UI。對于前景更新(手動開始的)來說,這允許繪制器線程顯示進度條,并且監(jiān)聽取消指令。
Trig可定義更新通道,其包括可從其查詢更新和一些相關(guān)特性的URL,該相關(guān)特性包括自動或手動更新;時間選擇方案和故障事件中的重試方案。軟件可在其運行時,僅開始自動更新。
在啟動時,如果更新事件是預(yù)期的,軟件將在開始更新前,等待一定時間間隔。這將推遲由立即啟動更新而產(chǎn)生的任何啟動延遲,且將由此使用戶能更快地啟動。更新通道可在Trig中的公知位置處定義,例如,在包含<channel>標(biāo)簽的文件中的Trig的config/channels文件夾。
用于解包和安裝更新的算法為設(shè)備所特有的。然而,重要的是,該算法不受到意外中斷的影響(例如,電源故障),從而,文件系統(tǒng)不產(chǎn)生癱瘓或不可恢復(fù)的狀態(tài)。這可通過使用兩個線程(網(wǎng)絡(luò)線程和繪制器線程)達到由網(wǎng)絡(luò)線程執(zhí)行的盡可能多的更新處理,從而以最短可能時間中斷繪制器線程的目的。
需要考慮其它故障模式如果不能啟動HTTP-GET,或遇到HTTP錯誤響應(yīng)碼,則取消更新的嘗試,并且使用重試方案以在以后的時間開始新的更新嘗試。在HTTP響應(yīng)受到網(wǎng)絡(luò)信號消失的影響的情況下,任何臨時文件被刪除,且使用重試方案在以后的時間重新啟動更新嘗試。如果更新包頭指示更新有效載荷的大小可能過大而不適合設(shè)備,如果更新需要軟件的不兼容版本或更新已經(jīng)存在于該設(shè)備中,則包頭數(shù)據(jù)文件被刪除,并且取消更新嘗試和任何后續(xù)重試。
內(nèi)容形式是跨越所有實現(xiàn)軟件的平臺所通用的。內(nèi)容編譯器是將原始資源(文字TrigML、PNG圖像、文字字符串集)變換到通過無線下載的可被寫入設(shè)備的文件系統(tǒng)中的更新包的內(nèi)容編輯工具。
期望重新標(biāo)記(re-branding)的UI和生成連續(xù)更新流的成本最小。這可通過提供從創(chuàng)新過程到向用戶發(fā)送數(shù)據(jù)的有效的信息流來實現(xiàn)的。
稱為包的容器被用于UI、UI更新和第三方開發(fā)的模板。包包括第三方所需的以用于生產(chǎn)、測試和傳遞品牌UI和更新的所有信息。圖4顯示出內(nèi)容工具箱200的原理圖,其包括腳本環(huán)境220、測試和仿真環(huán)境230和維護環(huán)境240。
包處理包括五個處理階段1)腳本環(huán)境220提供設(shè)計用于一個或者多個UI的模板的方法和基于該模板的UI更新方案。
2)維護環(huán)境240提供了很好控制和指導(dǎo)環(huán)境下的可由內(nèi)容供應(yīng)商外購的快速的UI和更新產(chǎn)品。
3)維護環(huán)境240‘預(yù)檢(pre-flight)’功能允許配置管理員檢查和調(diào)整他們從第三方接收的UI和更新。
4)發(fā)布組件110在配置點處提供UI和更新的管理,其包括分階段的新版本發(fā)布。
5)發(fā)布組件110可使得從實時內(nèi)容供給自動生成更新。
典型項目中,在腳本環(huán)境220中生成包用于內(nèi)容提供者從模板生成重新標(biāo)記UI,結(jié)合相同的‘感覺(feel)’但不同的‘外觀(look)’;內(nèi)容提供者從模板生成更新,其對UI內(nèi)容提供周期性的或者用戶選擇的變更;或者廣告代理從模板生成更新,其在周期性基礎(chǔ)上促進新的服務(wù)。
對于所有上述使用情況,維護環(huán)境240被用于輸入包、重新標(biāo)記(re-brand)和重新配置內(nèi)容,并且生成用于提交到發(fā)布組件110的新的包。在UI模板的設(shè)計中,以下問題應(yīng)該被考慮可以對UI的哪個部分重新標(biāo)記;UI的哪些特性需要在重新標(biāo)記時或遠程地被重新配置;UI內(nèi)容的哪個部分可以被更新;以及如果UI被重新標(biāo)記,則用戶是否可以選擇正在使用的內(nèi)容供給。腳本環(huán)境220允許定義這些方案,且使得維護環(huán)境240作為每一個方案的每一個實例的實現(xiàn)者。
包格式是存儲所有這些信息作為序列化對象的不透明的二進制格式。該包可包括一些資源、例如圖像、文本、URL、更新通道、振鈴文件、墻紙、本地應(yīng)用程序等。每個資源包括關(guān)于如何瀏覽、編輯或刪除資源的允許信息。每個資源還包括元信息,例如與該資源相關(guān)的文檔和指令。每個包工具可以被假設(shè)為相關(guān)角色,或者要求用戶作為特定角色登錄。
圖5示出了包括根據(jù)本發(fā)明的一個實施例的用戶界面的設(shè)備800的示意圖。該設(shè)備包括顯示用戶界面815的顯示器810,和使用戶能夠與用戶界面815交互的用戶界面裝置820。處理器830執(zhí)行存儲在一個或者多個存儲裝置840中的軟件,并且可提供一個或者多個無線通信接口850,使得能夠與其它設(shè)備和/或通信網(wǎng)絡(luò)進行通信。一個或者多個電池860可被容納用于為設(shè)備供電,設(shè)備也可包括容納電源和/或通信電纜的接口。
這些組件和接口的性質(zhì)將取決于設(shè)備的性質(zhì)。應(yīng)該理解,這樣的用戶接口可在移動式或者蜂窩電話手持機中實現(xiàn),但是同樣也適用于其它便攜設(shè)備,諸如數(shù)碼相機、個人數(shù)字助理、數(shù)字音樂播放器、GPS導(dǎo)航設(shè)備、便攜式游戲控制臺等。而且,它還適用于包含用戶界面的其它設(shè)備,諸如膝上型電腦或者臺式計算機。
用戶界面裝置可包括多個按鈕,諸如數(shù)字鍵盤或者字母-數(shù)字鍵盤,或者觸摸屏或類似物。一個或者多個存儲設(shè)備可包括諸如記憶卡的一種形式的非易失存儲器,使得在掉電的情況下存儲的數(shù)據(jù)不會丟失。ROM存儲裝置可被提供用于存儲不需更新或者改變的數(shù)據(jù)。當(dāng)較快響應(yīng)時間支持頻繁存取的數(shù)據(jù)的超高速緩存時,一些RAM可被提供用于臨時存儲。終端設(shè)備還可接受用戶移動存儲卡,并且可選地,硬盤驅(qū)動器可用作存儲裝置。將通過平衡設(shè)備尺寸、功率消耗、所需存儲器容量等的不同需求,來確定使用的存儲裝置。
這樣的設(shè)備可被實施為實際上和任何無線通信網(wǎng)絡(luò)相結(jié)合,例如,第二代數(shù)字移動電話網(wǎng)絡(luò)(即,GSM、D-AMPS),所謂的2.5G網(wǎng)絡(luò)(即,GPRS、HSCSD、EDGE),第三代WCDMA或者CDMA-2000網(wǎng)絡(luò)和對這些或者類似網(wǎng)絡(luò)的改進和派生。在建筑物和校園內(nèi)也可使用其它技術(shù),諸如藍牙、IrDa或者無線LAN(不管基于無線電還是光學(xué)系統(tǒng))。USB和/或火線連接可被提供用于與其它設(shè)備進行數(shù)據(jù)同步,和/或用于電池充電。
用于實現(xiàn)這些方法和/或用于如上所述地配置設(shè)備的計算機軟件可設(shè)置在諸如軟盤、CD-ROM、DVD、非易失性存儲卡等的數(shù)據(jù)載體上。
本申請要求2004年2月19日提交的第0403709.9號UK專利申請的優(yōu)先權(quán),其內(nèi)容結(jié)合在本文中作為參考。
附錄A
權(quán)利要求
1.一種接收用于設(shè)備的用戶界面的內(nèi)容數(shù)據(jù)的方法,所述方法包括以下步驟所述設(shè)備從通信接口接收用于用戶界面的內(nèi)容數(shù)據(jù);所述設(shè)備處理所述接收到的內(nèi)容數(shù)據(jù),以形成所述設(shè)備的用戶界面;其中,所述內(nèi)容數(shù)據(jù)包括元數(shù)據(jù),且所述方法還包括以下步驟所述設(shè)備根據(jù)所述內(nèi)容數(shù)據(jù)元數(shù)據(jù),經(jīng)由所述通信接口訪問內(nèi)容數(shù)據(jù)更新。
2.如權(quán)利要求1所述的方法,其中,所述元數(shù)據(jù)包括內(nèi)容數(shù)據(jù)更新的地址,并且所述設(shè)備訪問位于所述地址的所述內(nèi)容數(shù)據(jù)更新。
3.如權(quán)利要求1所述的方法,其中,所述元數(shù)據(jù)包括第一地址,并且所述設(shè)備查詢所述第一地址以獲取第二地址,所述設(shè)備訪問位于所述第二地址的所述內(nèi)容數(shù)據(jù)更新。
4.如權(quán)利要求3所述的方法,其中,所述第一地址定位數(shù)據(jù)庫,所述數(shù)據(jù)庫包括多個內(nèi)容數(shù)據(jù)更新的地址。
5.一種如前述權(quán)利要求任何一項所述的方法,其中,所述元數(shù)據(jù)包括確定所述設(shè)備訪問內(nèi)容數(shù)據(jù)更新的頻率的數(shù)據(jù)。
6.如權(quán)利要求1到5中任何一項所述的方法,其中,所述元數(shù)據(jù)包括定義事件的數(shù)據(jù),所述事件使所述設(shè)備訪問內(nèi)容數(shù)據(jù)更新。
7.一種如前述權(quán)利要求中任何一項所述的方法,其中,所述設(shè)備訪問的所述內(nèi)容數(shù)據(jù)更新是經(jīng)由所述通信接口接收到的,由所述設(shè)備處理,并且用于更新所述設(shè)備用戶界面。
8.一種數(shù)據(jù)載體,其包括用于執(zhí)行權(quán)利要求1到7中的任何一項所述方法的計算機可執(zhí)行代碼。
9.一種設(shè)備包括用戶界面;用于顯示所述用戶界面的顯示裝置;用于接收內(nèi)容數(shù)據(jù)以用于所述用戶界面的通信接口;和處理裝置,用于處理接收到的內(nèi)容數(shù)據(jù)以形成所述用戶界面,其中,所述內(nèi)容數(shù)據(jù)包括元數(shù)據(jù),并且所述設(shè)備被配置成,根據(jù)所述內(nèi)容數(shù)據(jù)元數(shù)據(jù),經(jīng)由所述通信接口訪問內(nèi)容數(shù)據(jù)更新。
10.如權(quán)利要求9所述的設(shè)備,其中,所述設(shè)備被配置成訪問位于包含在所述元數(shù)據(jù)中的地址處的內(nèi)容數(shù)據(jù)更新。
11.如權(quán)利要求9所述的設(shè)備,其中,所述設(shè)備被配置成查詢包含在所述元數(shù)據(jù)中的地址,所述查詢的結(jié)果是標(biāo)識內(nèi)容數(shù)據(jù)更新的第二地址。
12.如權(quán)利要求9-11中任何一項所述的設(shè)備,其中,所述元數(shù)據(jù)包括將所述設(shè)備配置成以預(yù)定頻率訪問內(nèi)容數(shù)據(jù)更新的數(shù)據(jù)。
13.如權(quán)利要求9-11中的任何一項所述的設(shè)備,其中,所述元數(shù)據(jù)包括將所述設(shè)備配置成響應(yīng)預(yù)定義事件訪問內(nèi)容數(shù)據(jù)更新的數(shù)據(jù)。
14.如權(quán)利要求9-13中的任何一項的設(shè)備,其中,所述設(shè)備還被配置成經(jīng)由所述通信接口接收內(nèi)容數(shù)據(jù)更新;處理所述接收到的內(nèi)容數(shù)據(jù)更新;和相應(yīng)地更新所述設(shè)備用戶界面。
全文摘要
本發(fā)明公開了一種傳送用于設(shè)備的用戶界面的內(nèi)容更新的方法。內(nèi)容數(shù)據(jù)包括確定如何傳送對內(nèi)容數(shù)據(jù)的更新的元數(shù)據(jù),例如,更新的位置,訪問更新的頻率等。元數(shù)據(jù)也可定位深一層的數(shù)據(jù)資源,例如存儲內(nèi)容數(shù)據(jù)更新的位置的數(shù)據(jù)庫。
文檔編號G06F17/30GK1922852SQ200580005355
公開日2007年2月28日 申請日期2005年2月21日 優(yōu)先權(quán)日2004年2月19日
發(fā)明者M·L·圖梅爾, D·T·貝里, H·A·納吉布, N·B·克里斯蒂安森 申請人:高通劍橋有限公司