專利名稱:固件空中傳輸供應方法
技術領域:
本發明總體上涉及移動設備的固件空中傳輸(FirmwareOver-the-Air,FOTA)供應(provisioning)。特別的是,不過不是排他性的,本發明涉及一種用于更新與FOTA供應相關聯的設備管理樹(Device Management Tree,DMT)的方法。
背景技術:
諸如移動電話之類的移動電子設備已經從只有語音的手機發展到完善的多媒體設備。移動電話現在經常包括諸如因特網瀏覽器、照相機以及多媒體播放器之類的特征。對這種特征的操作往往要求復雜的軟件應用程序(稱為固件)駐留在移動電話上。
維護和更新移動設備上的固件是一個困難的處理。諸如駐留在個人計算機上的常規軟件應用程序經常能夠使用因特網來安排自動的軟件更新,并且由此所述更新對于計算機用戶來說是透明的并且是方便的。然而,移動設備的固件更新往往要求制造商召回設備,或者要求設備在服務機構硬線連接至因特網,這兩種做法對于設備的用戶來說都極為不便,并且對于移動服務供應商來說費用浩大。
固件空中傳輸(FOTA)是相對較新的技術,該技術能夠使設備制造商和/或服務供應商使用無線通信來更新移動設備的固件。使用FOTA技術的固件無線供應具有許多優點,包括縮短進入市場時間、加快安全補丁和反病毒更新的開發、減少召回和服務成本、加快新應用程序的采用以及提高客戶滿意度。
發明內容
依照本發明的一個方面,提供了一種用于利用固件空中傳輸(FOTA)更新來更新移動設備中的設備管理樹(DMT)的方法,所述方法包括如下步驟接收與所述移動設備相關聯的設備簡檔(profile);經由空中把固件更新數據下載至所述移動設備;并且經由空中把DMT結構更新數據下載至所述移動設備。
依照本發明的一個方面,提供了一種用于利用固件空中傳輸(FOTA)更新來更新移動設備中的設備管理樹(DMT)的方法,所述方法包括如下步驟從所述移動設備發送與所述移動設備相關聯的設備簡檔;經由空中在移動設備處接收固件更新數據;并且經由空中在所述移動設備處接收DMT結構更新數據。
為了使本發明易于理解并且投入實際使用,現在對參考附圖所舉例說明的示例性實施例做出描述,其中在各個單獨的視圖中相似的附圖標記涉及同樣的或者功能上類似的元素。所述附圖連同下面的詳細說明一起并入本說明書中并且形成本說明書的一部分,并且用來依照本發明進一步舉例說明實施例并且解釋各種原理和優勢,其中圖1是舉例說明包括本發明實施例各步驟的固件空中傳輸(FOTA)更新處理的示意圖;圖2是依照開放移動聯盟(Open Mobile Alliance,OMA)設備管理(DM)標準的、稱為固件更新管理對象(Firmware UpdateManagement Object,FUMO)的設備管理樹(DMT)部件的說明;圖3是依照本發明實施例舉例說明了使用FOTA更新處理更新移動設備中的DMT的方法的消息序列圖,其中所述FOTA更新處理從遞送服務器下載更新包;圖4是依照本發明另一實施例舉例說明了使用FOTA更新處理來更新移動設備中的DMT的方法的消息序列圖,其中所述FOTA更新處理從遞送服務器下載單個帶內(in-band)更新包;圖5是舉例說明依照本發明實施例的帶外(out-of-band)下載處理的流程圖;
圖6是依照本發明實施例舉例說明了從服務器的角度看、使用FOTA更新來更新移動設備中的DMT的方法的總體流程圖;圖7是依照本發明實施例舉例說明了從移動設備的角度看、使用FOTA更新來更新移動設備中的DMT的方法的總體流程圖。
本領域技術人員將會理解,附圖中的元素僅僅是為了簡單并且清楚而示出的,而且不一定是按比例描繪的。例如,附圖中某些元素的尺寸可能相對于其他元素被夸大了,以便幫助提高對本發明實施例的理解。
具體實施例方式
在詳細說明依照本發明的實施例以前,應該觀察到的是,所述實施例主要在于固件空中傳輸(FOTA)供應的方法步驟和與所述方法相關的設備部件的組合。因此,設備部件和方法步驟已經在附圖中通過常規符號適當地表示出來,并且只示出了與理解本發明實施例有關的那些具體細節,以免因對于得益于此處的描述的本領域普通技術人員來說顯而易見的那些細節而模糊了本公開內容。
在此文獻中,諸如左和右、第一和第二之類的相關術語僅僅用來區別一個實體或者動作與另一個實體或動作,而不必要求或者暗示這種實體或動作之間的任何實際的這種關系或者順序。術語“包括”、“包含”或者其任何其他變體意在涵蓋非排它性的包含,由此使包括一系列元素的處理、方法、物品或者設備不僅包括那些元素,而且還包括沒有明確列出的其他元素,或者這種處理、方法、物品或者設備固有的元素。在沒有更多限制的情況下,在元素前加上“包括一個......”,不排除在包括所述元素的處理、方法、物品或者設備中存在另外的相同元素。
參照圖1,該圖是舉例說明包括本發明實施例各步驟的固件空中傳輸(FOTA)更新處理100的示意圖。首先,設備制造商機構105創建固件更新包,諸如“固件版本2”,并且把所述包上載至載體機構120處的包存儲庫115。然后在所述載體機構120處測試所述包,并且把所述包發布給遞送服務器125。最后,把所述包經由空中遞送至諸如移動電話或者個人數字助理之類的移動設備130。依照本發明的實施例,所述包包括固件更新數據和設備管理樹(DMT)更新數據。
DMT是與移動設備130相關聯的分層樹形結構,其中所述樹形結構的內節點和葉節點對應于移動設備130的設置,并且葉節點值是設備設定值。由此,可以通過操作所述節點來對所述設備130進行配置。對DMT的節點的訪問是通過指定從根開始到所述節點的分層路徑來實現的。考慮到開放移動聯盟(OMA)設備管理(DM)標準,把這種分層路徑稱作通用資源標識符(Universal Resource Identifier,URI)。
參照圖2,該圖舉例說明了依照OMA DM標準的、稱為固件更新管理對象(FUMO)的DMT部件200。標記為“x”的占位符205可以表示一個特定的固件更新,并且通常位于DMT的內節點處。例如,占位符205可以對應于諸如“/DevDetail/Ext/Phone/PhoneUpdate”的DMT地址。FUMO的葉節點可以包括如下部件,諸如更新包名稱210、更新包版本215、由執行程序使用以便啟動下載的節點220、下載描述符文件的位置225、由執行程序使用以便啟動更新的節點230、更新包的存儲235、由執行程序使用以便啟動下載和更新處理的節點240、下載描述符文件的位置245、表示試圖下載或者更新之后的設備130的狀態的狀態250以及制造商專用擴展的異常分支(hook)255。
在許多FOTA更新情況中,當更新設備130上的固件時,還必需更新與設備130相關聯的DMT的結構。此外,在某些情況中,必須在用于更新固件的同一DM會話中更新DMT;否則,更新后的固件可能無法正確工作。例如,對移動電話軟件應用程序的FOTA更新可以更新電話的網絡連接簡檔,并且在新的DMT節點中定位已更新的簡檔。然而,如果DMT不是相應地在同一DM會話中被更新的,那么所述應用程序可能無法與適當的網絡連接。因此,依照本發明的實施例,與固件更新相關聯的DMT結構能夠在與固件更新相同的DM會話中被更新。作為選擇,所述DMT結構可以在緊接著設備130報告已經成功完成固件更新之后的新的DM會話(由服務器125或者設備130啟動)中被更新。
所述DMT結構是以DMT結構更新數據的形式被下載至移動設備130的,依照本發明一個實施例,該數據更新整個DMT結構,而不是僅僅更新、添加或者除去DMT中的單個節點或者多個相關節點。
參照圖3,該圖依照本發明實施例舉例說明了使用FOTA更新處理來更新移動設備130中的DMT的方法的消息序列圖300,其中所述FOTA更新處理從遞送服務器125下載更新包。首先,進行發現處理,其中所述服務器125執行推啟動步驟,該步驟用于把推(push)啟動信號發送至設備130,由此表示服務器125具有一個或多個可適合于下載至設備130的更新包。然后,所述設備130通過發送設備簡檔至服務器125來響應所述消息,其中所述簡檔與設備130相關聯。所述設備簡檔可以包括任何類型的信息,所述信息用于標識與移動設備130有關的某些特征或者方面。例如,所述設備簡檔可以包括設備130的序列號、設備制造商名稱、設備模型名稱、固件版本、DMT版本、與駐留在設備130上的一個或多個應用程序有關的其它信息、服務預訂信息或者與設備130的用戶有關的信息。
接下來,服務器125使用設備簡檔來標識哪個更新包適于下載至設備130(如果有的話)。如果標識出至少一個適當的更新包,那么服務器125把描述符文件的URL發送至移動設備130。所述描述符文件包括涉及適當更新包(一個或多個)的更多細節,并且包括涉及指定的OTA下載方法的指令。
本領域技術人員將會意識到,上述發現處理步驟通常依照諸如OMA DM固件更新協議被標準化。此外,存在上述發現處理的各種替代方式,諸如使用從設備130發送至服務器125的FOTA拉(pull)命令、而不是使用推啟動步驟來啟動所述處理。例如,當設備130的用戶決定經由空中下載全新的軟件應用程序至設備130時,可以用于拉命令。
在完成上述發現處理之后,從移動設備130請求并且接收來自于服務器125的描述符文件(一個或多個)開始來執行下載處理。然后,所述設備130提出請求,并且所述服務器125經由空中下載適當的固件更新包。然后,還經由空中從服務器125把DMT更新包下載到設備130。接下來,所述設備130打開并且處理固件和DMT更新包。圖3中還舉例說明了示出不同DMT結構的更新前(pre-update)DMT圖標305和更新后(post-update)DMT圖標310。最后,在通知處理期間,所述設備130把更新狀態報告發送至服務器125。所述更新狀態報告可以從事各種工作,包括表明是否成功更新、更新包中的任何數據是否被破壞、是否要求另外的更新包等等。
圖3中舉例說明的下載處理涉及本發明的實施例,其中固件更新數據和DMT結構更新數據以獨立的更新包被下載至設備130。例如,與固件更新包相關聯的EXEC命令可以指定附加參數用以表明還要求DMT更新包。然后,所述附加參數觸發與下載DMT更新包相關聯的另一EXEC命令。此處,把每個包稱為“帶外”包。作為選擇,可以使用被稱為“帶內”更新包的單個更新包把所述固件更新數據和DMT結構更新數據下載至設備130。
參照圖4,該圖是依照本發明另一實施例舉例說明使用FOTA更新處理來更新移動設備130中的DMT的消息序列圖400,其中所述FOTA更新處理從遞送服務器125下載單個帶內更新包。此處,所述發現處理與以上涉及帶外下載處理所描述的處理相同。然而,在帶內下載處理期間,請求并且從所述服務器125接收涉及單個帶內更新包的單個描述符文件。然后還請求并且從服務器125接收在描述符文件中定義的單個帶內更新包。然后在移動設備130處理該帶內更新包以便執行固件和DMT更新。此處還舉例說明了示出不同DMT結構的更新前DMT圖標305和更新后DMT圖標310。
本發明實施例的帶內和帶外下載特征就如何把固件更新數據和DMT結構更新數據兩者下載至移動設備130而言提供了明顯的靈活性。例如,在特定的情況下,帶內下載可以更快地完成,并且對于載體機構120而言可以更加簡單地把固件更新數據和DMT結構更新數據兩者集合在單個包中。然而,在其他情況下,多個帶外下載可以向移動設備130提供所期望的另外下載選項。
例如,參照圖5,該圖是舉例說明依照本發明實施例的帶外下載處理500的流程圖。在步驟505,移動設備130接收來自于服務器125的涉及推啟動處理的通知,并且將其設備簡檔發送到服務器。在步驟510,執行對設備130的DMT FUMO節點的命令以便啟動帶外固件更新包的下載。接下來,在步驟515,可以確定——在設備130或者在服務器125處——是否還需要帶外DMT更新包。如果是這樣的話,那么在步驟520,如請求下載DMT更新包中的DMT結構更新數據的DMT FUMO節點執行命令。例如,如上所述,某些應用程序可能要求在固件更新包成功地在設備130上被處理以前接收DMT結構更新數據。然后,在步驟525,處理所述固件更新包以便執行固件更新。然后,在步驟530,可以確定——在設備130或者在服務器125處——是否需要進一步的DMT更新。如果是這樣的話,在步驟535,處理所述DMT更新包以便執行DMT更新。最后,在步驟540,所述設備130把狀態更新發送至服務器125。
由此上述處理500舉例說明了帶外下載如何能夠使更新處理實時滿足特定設備130的需求。其具有顯著優點,包括節省了設備130上的存儲空間,節省了設備處理器的時間,以及節省了設備的電池功耗。
參照圖6,該圖是依照本發明實施例舉例說明了從服務器125的角度看使用FOTA更新來更新移動設備130中的DMT的方法600的總體流程圖。首先,在步驟605,確定是使用拉啟動處理還是推啟動處理。如果使用推啟動處理,那么在步驟610,服務器125把推啟動消息發送至設備130。作為選擇,如果使用拉啟動處理,那么在步驟615,在服務器125接收FOTA拉命令。接下來在步驟620,接收設備簡檔。然后在步驟625把描述符文件的URL下載至設備130。然后在步驟630接收描述符文件的請求,并且在步驟635下載描述符文件。然后在步驟640和645分別下載固件更新數據和DMT結構更新數據。最后,在步驟650,接收來自于移動設備130的更新狀態報告。
參照圖7,該圖是依照本發明實施例舉例說明了從移動設備130的角度看使用FOTA更新來更新移動設備130中的DMT的方法700的總體流程圖。首先,在步驟705,確定是使用拉啟動處理還是推啟動處理。如果使用推啟動處理,那么在步驟710,設備130接收來自于服務器125的推啟動消息。作為選擇,如果使用拉啟動處理,那么在步驟715,把FOTA拉命令發送給服務器125。接下來,在步驟720,發送設備簡檔。然后在步驟725接收描述符文件的URL。然后在步驟730發送描述符文件的請求,并且在步驟735接收描述符文件。然后在步驟740和745分別接收固件更新數據和DMT結構更新數據。在步驟750,分別處理固件更新數據和DMT結構更新數據這兩者以便執行固件和DMT更新。最后,在步驟755,發送更新狀態報告。
因此,本發明的優點包括更加靈活的OTA更新方法,所述方法使移動設備130處的固件和DMT更新能實時滿足與設備130相關聯的特定需求。因此,可以更加可靠地執行更新處理。此外,可以在設備130和遞送服務器125處節省存儲器、處理器和電源資源,并且可以使用FOTA技術來執行多種多樣的更新處理。
上述詳細說明僅僅提供了一個示例性實施例,而且不打算限制本發明的范圍、適用性或者配置。確切的講,示例性實施例的詳細說明為本領域技術人員提供了足以實現本發明示例性實施例的描述。應該理解,在不脫離本發明的精神和范圍的情況下,可以在元件和步驟的功能以及設置方面做出各種改變,其中本發明的范圍由所附權利要求書來限定。將會理解,此處所述的本發明的實施例可以由一個或多個常規的處理器和唯一存儲的程序指令組成,所述程序指令用于控制所述一個或多個處理器以便結合某些非處理器電路來實現此處所述的某些、大部分或者所有固件OTA供應的功能。所述非處理器電路可以包括但是不局限于無線電接收機、無線電發射機、信號驅動器、時鐘電路、電源電路和用戶輸入設備。同樣,這些功能可以被解釋為用于執行固件OTA供應的方法的步驟。作為選擇,某些或者所有功能可以通過不具有存儲的程序指令的狀態機來實現,或者在一個或多個專用集成電路(ASIC)中實現,其中每個功能或者某些特定功能的組合可以作為定制邏輯來實現。當然,可以使用上述兩種方法的組合。由此,此處已經描述了用于這些功能的方法和裝置。此外,本領域普通技術人員能夠預料到,盡管例如因為可利用時間、現有技術以及經濟方面的考慮可能需要付出明顯的努力和許多設計選擇,但是當由此處公開的概念和原理來指導時,能夠利用最小的試驗工作來生成這種軟件指令、程序以及IC。
在先前的說明書中,已經描述了本發明的特定實施例。然而,本領域普通技術人員將會理解,在不脫離本發明的范圍的情況下,可以作出各種修改和變化,本發明的范圍由所附權利要求書限定。據此,說明書和附圖應被視為說明性的而不是限制性的意義,并且意圖使所有這種修改都被包括在本發明的范圍內。益處、優點、問題的解決方案以及任何可能引起任何益處、優點或者解決方案發生或者變得更加明確的元素都不應看作是任意或所有權利要求的關鍵性的、必需的或者基本特征或元素。本發明只由所附權利要求書來限定,所述權利要求書包括了在此申請未決期間所做出的任何修改以及那些權利要求的等效含義。
權利要求
1.一種利用固件空中傳輸(FOTA)更新來更新移動設備中的設備管理樹(DMT)的方法,所述方法包括如下步驟接收與所述移動設備相關聯的設備簡檔;經由空中將固件更新數據下載至移動設備;以及經由空中將DMT結構更新數據下載至所述移動設備。
2.如權利要求1所述的方法,其中所述固件更新數據被包括在固件更新包中,并且所述DMT結構更新數據被包括在DMT更新包中。
3.如權利要求2所述的方法,其中所述固件更新包包括表明是否需要DMT更新包的參數。
4.如權利要求1所述的方法,其中所述DMT結構更新數據包括指令以及基于DMT數據的腳本。
5.如權利要求1所述的方法,其中所述固件更新數據以及DMT結構更新數據被包括在帶內更新包中。
6.如權利要求1所述的方法,其中所述方法在設備管理服務器處被執行,并且所述方法還包括將推啟動信號發送到所述移動設備;將描述符文件的URL下載至所述移動設備;接收來自于移動設備的對描述符文件的請求;并且將描述符文件下載至所述移動設備。
7.如權利要求1所述的方法,還包括接收來自于移動設備的對DMT結構更新數據的請求,其中所述請求是在將固件更新數據下載到移動設備之后接收的。
8.如權利要求1所述的方法,還包括在下載所述固件更新數據之后,確定是否需要所述DMT結構更新數據。
9.如權利要求1所述的方法,還包括接收來自于所述移動設備的FOTA拉命令。
10.如權利要求1所述的方法,還包括接收來自于所述移動設備的更新狀態報告。
11.如權利要求1所述的方法,其中所述方法遵循開放移動聯盟(OMA)設備管理(DM)標準。
12.一種利用固件空中傳輸(FOTA)更新來更新移動設備中的設備管理樹(DMT)的方法,所述方法包括如下步驟從所述移動設備發送與所述移動設備相關聯的設備簡檔;經由空中在所述移動設備處接收固件更新數據;以及經由空中在所述移動設備處接收DMT結構更新數據。
13.如權利要求12所述的方法,其中所述固件更新數據被包括在固件更新包中,并且所述DMT結構更新數據被包括在DMT更新包中。
14.如權利要求13所述的方法,其中所述固件更新包包括表明是否需要DMT更新包的參數。
15.如權利要求12所述的方法,其中所述固件更新數據以及DMT結構更新數據被包括在帶內更新包中。
16.如權利要求12所述的方法,其中所述方法還包括在所述移動設備處接收推啟動請求;在所述移動設備處接收描述符文件的URL;從所述移動設備發送對描述符文件的請求;在所述移動設備處接收所述描述符文件;在所述移動設備處處理所接收的固件更新數據和所接收的DMT結構更新數據;以及從所述移動設備發送更新狀態報告。
17.如權利要求12所述的方法,還包括從所述移動設備發送對DMT結構更新數據的請求,其中所述請求是在接收到固件更新數據之后發送的。
18.如權利要求12所述的方法,還包括在接收所述固件更新數據之后,確定是否需要所述DMT結構更新數據。
19.如權利要求12所述的方法,還包括從所述移動設備發送FOTA拉命令。
20.如權利要求12所述的方法,其中所述方法遵循開放移動聯盟(OMA)設備管理(DM)標準。
全文摘要
使用固件空中傳輸(FOTA)更新處理來更新移動設備中的設備管理樹(DMT)的方法,能夠使固件和DMT更新滿足與移動設備相關聯的特定需求。一種方法包括接收與所述移動設備相關聯的設備簡檔(步驟620)。然后經由空中把固件更新數據下載至移動設備(步驟640)。然后經由空中把DMT結構更新數據下載至移動設備(步驟645)。
文檔編號H04L12/00GK1949718SQ20051011367
公開日2007年4月18日 申請日期2005年10月14日 優先權日2005年10月14日
發明者林鐘冬, 蔣建明 申請人:摩托羅拉公司