專利名稱:通信裝置及其固件補(bǔ)丁方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù),尤其涉及一種通信裝置及其固件補(bǔ)丁方法。
背景技術(shù):
路由器(router)、以太網(wǎng)絡(luò)交換器(Ethernet switch)、個(gè)人數(shù)字助理 (personaldigital assistant,簡(jiǎn)稱PDA)、或智能手機(jī)等通信裝置其主要的執(zhí)行程序如開(kāi)機(jī)程序、硬件組態(tài)設(shè)定數(shù)據(jù)等皆包括在其固件,它的功能及效率影響了裝置的整體表現(xiàn)。因此,軟件工程盡相當(dāng)大的努力在固件的開(kāi)發(fā)與除錯(cuò)。在一種產(chǎn)品上市后的一段時(shí)間,軟件工程師通常仍會(huì)持續(xù)地對(duì)固件做修改。此修改通常包括執(zhí)行效率的改進(jìn)、程序代碼的除錯(cuò)、新功能的加入、及針對(duì)客戶需求所做的更動(dòng)。每次釋出新版的固件程序就需要耗時(shí)的驗(yàn)證流程,而延遲了軟件程序設(shè)計(jì)師對(duì)固件問(wèn)題反應(yīng)的時(shí)間。另外,在下載及安裝新的固件后,通信裝置重新開(kāi)機(jī)以啟動(dòng)新的固件,但是在企業(yè)環(huán)境中應(yīng)避免重新啟動(dòng)以太網(wǎng)絡(luò)交換機(jī)。
發(fā)明內(nèi)容
為了解決所述問(wèn)題,本發(fā)明提出了一種通信裝置,包括內(nèi)存、通信單元及處理器。 所述內(nèi)存,儲(chǔ)存所述通信裝置作為一個(gè)軟件程序執(zhí)行的管理層服務(wù)。所述軟件程序包括多個(gè)密耦合服務(wù)代理器(tightly coupled service agent, TCSA)。所述多個(gè)密耦合服務(wù)代理器中的每個(gè)密耦合服務(wù)代理器作為所述管理層服務(wù)的線程,所述管理層服務(wù)還包括稱為系統(tǒng)初始化管理器的線程,用于管理所述多個(gè)密耦合服務(wù)代理器的初始化。所述通信單元用于通信連接外部裝置,并從所述外部裝置接收疏耦合服務(wù)代理器(loosely coupled service agent, LCSA)以取代所述多個(gè)密耦合服務(wù)代理器的其中第一代理器,其中所述疏耦合服務(wù)代理器提供第二功能以取代所述第一代理器的第一功能。所述處理器執(zhí)行所述疏耦合服務(wù)代理器時(shí),所述疏耦合服務(wù)代理器作為一個(gè)軟件程序用于取代所述第一代理器, 禁能所述第一代理器,并結(jié)合所述第一代理器的數(shù)據(jù)對(duì)象至所述疏耦合服務(wù)代理器。本發(fā)明提出了一種通信裝置固件補(bǔ)丁方法,執(zhí)行于通信裝置,所述通信裝置包括內(nèi)存、通信單元及處理器,其特征在于所述方法包括下列步驟儲(chǔ)存所述通信裝置作為一個(gè)軟件程序執(zhí)行的管理層服務(wù)于所述內(nèi)存,所述軟件程序包括多個(gè)密耦合服務(wù)代理器,所述多個(gè)密耦合服務(wù)代理器中的每個(gè)密耦合服務(wù)代理器作為所述管理層服務(wù)的線程,所述管理層服務(wù)還包括稱為系統(tǒng)初始化管理器的線程,用于管理所述多個(gè)密耦合服務(wù)代理器的初始化。所述通信單元用于通信連接外部裝置,并從所述外部裝置接收疏耦合服務(wù)代理器以取代所述多個(gè)密耦合服務(wù)代理器的其中第一代理器,其中所述疏耦合服務(wù)代理器提供第二功能以取代所述第一代理器的第一功能。所述處理器執(zhí)行所述疏耦合服務(wù)代理器時(shí),所述疏耦合服務(wù)代理器作為一個(gè)軟件程序用于取代所述第一代理器,禁能所述第一代理器,并結(jié)合所述第一代理器的數(shù)據(jù)對(duì)象至所述疏耦合服務(wù)代理器。本發(fā)明的通信裝置中的所述通信單元從所述外部裝置接收疏耦合服務(wù)代理器(LCSA)以取代所述密耦合服務(wù)代理器(TCSA)。利用此裝置可以隨時(shí)對(duì)其固件打補(bǔ)丁。
圖1顯示客戶端裝置結(jié)構(gòu)方塊圖;圖2顯示管理層服務(wù)的實(shí)施方式的示意圖;圖3顯示服務(wù)代理器的狀態(tài)及狀態(tài)切換示意圖;圖4顯示服務(wù)代理器的數(shù)據(jù)對(duì)象的示意圖;圖5顯示系統(tǒng)初始化管理器的數(shù)據(jù)對(duì)象的示意圖;圖6顯示客戶端裝置在接收補(bǔ)丁數(shù)據(jù)以前的操作流程圖;圖7顯示客戶端裝置在接收補(bǔ)丁數(shù)據(jù)之后的操作流程圖;圖8顯示關(guān)聯(lián)于另一個(gè)服務(wù)代理器的數(shù)據(jù)對(duì)象的示意圖;圖9顯示客戶端裝置在接收補(bǔ)丁數(shù)據(jù)之后的初始化流程圖。主要元件符號(hào)說(shuō)明通信裝置100處理器151主存儲(chǔ)器152非易失性內(nèi)存153大量?jī)?chǔ)存裝置154通信單元156電源供應(yīng)器158石英振蕩器159輸入輸出裝置160端口164控制器165管理層服務(wù)(MLS)200系統(tǒng)初始化管理器(SIM) 210數(shù)據(jù)對(duì)象實(shí)例220a,220b存取類別2201服務(wù)代理器能力2202初始化相依關(guān)系清單2203名稱2206執(zhí)行相依關(guān)系清單2208服務(wù)代理器狀態(tài)2209服務(wù)代理器類別2210數(shù)據(jù)庫(kù)230SIM的數(shù)據(jù)對(duì)象2301數(shù)據(jù)對(duì)象實(shí)例240a,240b存取類別2401回呼函式2402
服務(wù)代理器ID2403名稱2406版本2407外部裝置300定時(shí)器50定時(shí)器60密耦合服務(wù)代理器(TCSA)Al-An, Ai, Aj, Ak, Am, An疏耦合服務(wù)代理器(LCSA)B
具體實(shí)施例方式參照?qǐng)D1,本發(fā)明所揭露的通信裝置100可以包括客戶端裝置(customerpremises equipment, CPE),例如以太網(wǎng)絡(luò)交換器(Ethernet switch)、路由器(router)、調(diào)制解調(diào)器(modem),例如纜線調(diào)制解調(diào)器(cable modem)或高位率數(shù)字用戶線(very-high-bit rate digital subscriber line,VDSL)調(diào)制解調(diào)器。所述客戶端裝置100可以實(shí)作成單獨(dú)一臺(tái)裝置,或整合于各種不同的電子裝置中,諸如機(jī)頂盒、個(gè)人計(jì)算機(jī)。1. 1通信裝置之實(shí)施方式參照?qǐng)D1,處理器151為通信裝置100的中央處理器,可以由集成電路(Integrated Circuit,簡(jiǎn)稱IC)組成,用于處理數(shù)據(jù)及執(zhí)行計(jì)算機(jī)程序。通信裝置100的組件連接方式如圖1所示,可用串行或并行總線、或無(wú)線通信信道構(gòu)成。無(wú)線通信單元156建立通信信道, 使通信裝置100通過(guò)所述通信信道以連接至因特網(wǎng)(Internet)。另外,無(wú)線通信單元156 可以建立無(wú)線通信信道,使移動(dòng)設(shè)備,例如筆記本計(jì)算機(jī)或移動(dòng)裝置(例如移動(dòng)電話、遙控器、膝上型計(jì)算機(jī)),通過(guò)所述無(wú)線通信信道以連接至通信裝置100并交換數(shù)據(jù)。所述通信單元156可以包括天線、基頻(base band)及射頻(radio frequency,簡(jiǎn)稱RF)芯片組用于進(jìn)行無(wú)線局域網(wǎng)絡(luò)(wireless local area network,簡(jiǎn)稱wireless LAN)通信、紅外線通信及/或蜂巢式通信系統(tǒng)通信,例如寬帶分碼多重接取(Wideband Code Division Multiple Access,簡(jiǎn)稱 W-CDMA)及高速下行封包存取(High Speed Downlink Packet Access,簡(jiǎn)稱 HSDPA)。通過(guò)所述建立的無(wú)線通信信道,所述通信裝置100可以作為無(wú)線局域網(wǎng)絡(luò)的接入點(diǎn)(access point),使移動(dòng)設(shè)備可以通過(guò)所述接入點(diǎn)以連接因特網(wǎng)(Internet)。處理器151可以是由單顆封裝的IC所組成,或連接多顆相同功能或不同功能的封裝IC而組成。舉例來(lái)說(shuō),處理器151可以僅包括中央處理器(Central ProcessingUnit,簡(jiǎn)稱CPU),或者是CPU、數(shù)字信號(hào)處理器(digital signal processor,簡(jiǎn)稱DSP)、及通信控制器(例如通信單元156)的控制芯片的組合。所述通信控制器可以包括蜂窩式通信系統(tǒng)、紅外線、藍(lán)芽(Bluetooth)或無(wú)線局域網(wǎng)絡(luò)的通信控制裝置。所述通信控制器用于控制通信裝置100中的各組件的通信,或通信裝置100與外部裝置的通信。電源供應(yīng)器158供給電力予通信裝置100中的各組件。石英振蕩器159提供頻率信號(hào)給處理器151與通信裝置100中的其它組件。定時(shí)器50及60可以是由電路、計(jì)算機(jī)程序或其組合所構(gòu)成,分別用于計(jì)時(shí)固定長(zhǎng)度的期間。定時(shí)器50或60滿期(expiration) 時(shí)產(chǎn)生信號(hào),用于告知所計(jì)時(shí)的期間結(jié)束。輸入輸出裝置160包括控制按鈕、字母數(shù)字鍵盤(pán)、觸控面板、觸控屏幕以及多個(gè)發(fā)光二極管(lightemitting diodes,簡(jiǎn)稱LEDs)??刂破?65偵測(cè)并控制輸入輸出裝置160的操作及運(yùn)作,并將所偵測(cè)的操作傳送至所述處理器151。所述處理器151可以通過(guò)控制器165控制輸入輸出裝置160。端口 164可以連接到各種計(jì)算機(jī)化的接口,例如一臺(tái)外部的計(jì)算機(jī)裝置或外圍裝置。端口 164可以是符合通用總線(universal serial bus,簡(jiǎn)稱USB)或電機(jī)電子工程師學(xué)會(huì)(Institute of Electrical and Electronics Engineers, IEEE) 1394 等標(biāo)準(zhǔn)的實(shí)體端口、美國(guó)電子工業(yè)協(xié)會(huì)(Electronic IndustriesAssociation,簡(jiǎn)稱EIA)所制定的第232號(hào)推薦標(biāo)準(zhǔn)(Recommended Standard-232,簡(jiǎn)稱 RS-232)及 / 或第 11 號(hào)推薦標(biāo)準(zhǔn)(Recommended Standard-11,簡(jiǎn)稱RS-11)的實(shí)體連接端口、串行ATA (Serial ATA,簡(jiǎn)稱SATA)及/或高清晰度多媒體接口 (High Definition Multimedia Interface,簡(jiǎn)稱 HDMI)。非易失性內(nèi)存(nonvolatile memory) 153儲(chǔ)存固件程序,包括所述處理器151所執(zhí)行的操作系統(tǒng)190及應(yīng)用程序。所述處理器151可以從非易失性內(nèi)存153加載固件程序至主存儲(chǔ)器152并以軟件程序(process)的形式執(zhí)行于主存儲(chǔ)器152。所述處理器151儲(chǔ)存數(shù)據(jù)于大容量?jī)?chǔ)存裝置154。所述主存儲(chǔ)器152可以包括隨機(jī)存取內(nèi)存(random access memory,簡(jiǎn)稱RAM),例如,例如靜態(tài)隨機(jī)存取內(nèi)存(StaticRAM,簡(jiǎn)稱SRAM)或是動(dòng)態(tài)隨機(jī)存取內(nèi)存(Dynamic RAM,簡(jiǎn)稱DRAM)。該非易失性內(nèi)存153可以是電子可抹除可規(guī)劃只讀存儲(chǔ)器(Electrically ErasableProgrammable Read-Only Memory,簡(jiǎn)稱EEPR0M)或閃存(flash memory),例如反或(NOR)閃存或是反及(NAND)閃存。當(dāng)所述處理器151完成所述操作系統(tǒng)190的初始化,則所述操作系統(tǒng)190初始化并啟動(dòng)所述應(yīng)用程序中的第一個(gè)應(yīng)用程序作為一個(gè)軟件程序,稱為管理層服務(wù) (management layer services,MLS) 200o所述通信裝置100可以從無(wú)線通信信號(hào)取得MLS 200的補(bǔ)丁數(shù)據(jù),例如通過(guò)所述天線、調(diào)諧器及解調(diào)器取得?;蛘撸鐾ㄐ叛b置100可以從信息網(wǎng)絡(luò)取得MLS 200的補(bǔ)丁數(shù)據(jù),例如通過(guò)網(wǎng)絡(luò)接口從因特網(wǎng)取得。所述補(bǔ)丁數(shù)據(jù)包括疏耦合服務(wù)代理器(loosely coupled service agent, LCSA),用來(lái)取代所述通信裝置100 的密耦合服務(wù)代理器(tightly coupled serviceagent,TCSA)。2.補(bǔ)丁方法實(shí)施方式所述通信裝置100中的所述處理器151執(zhí)行所述MLS 200作為一個(gè)軟件程序。參照?qǐng)D 2,MLS 200 包括系統(tǒng)初始化管理器(system initialization manager,SIM) 210 及多個(gè)密耦合服務(wù)代理器(tightly coupled service agent, TCSA)Al_An,其中η是大于1的整數(shù)。當(dāng)TCSA A1-An的其中每一個(gè)TCSA由所述處理器151執(zhí)行時(shí),指導(dǎo)所述通信裝置100 提供功能,例如網(wǎng)絡(luò)時(shí)間協(xié)議(network time protocol, NTP)、橋接器(bridge)、防火墻 (firewall)、或動(dòng)態(tài)主機(jī)組態(tài)協(xié)議(dynamic host configurationprotocol,簡(jiǎn)稱DHCP)。所述處理器151執(zhí)行MLS 200軟件程序時(shí)以線程(thread)的形式執(zhí)行每一個(gè)所述SIM 210 及TCSA A1-Af如圖3所示,所述TCSA A1-An的其中每一個(gè)TCSA具有多個(gè)狀態(tài)可以由SIM 210管理,包括初始狀態(tài)、已注冊(cè)狀態(tài)、等待狀態(tài)、自行設(shè)定狀態(tài)、已設(shè)定狀態(tài)、啟動(dòng)狀態(tài)、執(zhí)行狀態(tài)、禁能狀態(tài)及結(jié)束狀態(tài)。在圖3中,每個(gè)服務(wù)代理器的狀態(tài)以節(jié)點(diǎn)表示,其狀態(tài)切換以連接二節(jié)點(diǎn)的線表示。疏耦合服務(wù)代理器(loosely coupled service agent, LCSA)的狀態(tài)及狀態(tài)切換與圖3所示的TCSA狀態(tài)及狀態(tài)切換相同。LCSA是補(bǔ)丁數(shù)據(jù)中攜帶的服務(wù)代理器程序并由所述處理器151以軟件程序的形式執(zhí)行。所述SIM 210控制并管理TCSA A1-An及LCSA的初始化及執(zhí)行。所述SIM 210利用所述TCSA A1-An及LCSA其中的每個(gè)服務(wù)代理器的程序呼叫(procedure call)以切換所述服務(wù)代理器至所述多個(gè)狀態(tài)的其中一個(gè)狀態(tài)。服務(wù)代理器,例如TCSA或LCSA,在初始狀態(tài)下注冊(cè)相關(guān)的信息于所述SIM 210,并且當(dāng)完成所述注冊(cè)時(shí),從所述初始狀態(tài)切換至已注冊(cè)狀態(tài)。所述服務(wù)代理器通知所述SIM 210與所述服務(wù)代理器相關(guān)聯(lián)的相依關(guān)系,并從所述已注冊(cè)狀態(tài)切換至所述等待狀態(tài)。所述相依關(guān)系包括所述服務(wù)代理器的初始化相依關(guān)系及執(zhí)行相依關(guān)系。所述SIM 210根據(jù)所述初始化相依關(guān)系以控制所述多個(gè)TCSA A1-An及LCSA的初始化作業(yè)。舉例來(lái)說(shuō),所述SIM 210初始化正處于等待狀態(tài)的特定服務(wù)代理器時(shí),驅(qū)動(dòng)所述特定服務(wù)代理器執(zhí)行自行設(shè)定 (self-configuraion),并從所述等待狀態(tài)進(jìn)入所述自行設(shè)定狀態(tài)。當(dāng)完成自行設(shè)定時(shí),所述特定服務(wù)代理器從所述自行設(shè)定狀態(tài)進(jìn)入所述已設(shè)定狀態(tài)。所述SIM210在驅(qū)動(dòng)所述特定服務(wù)代理器自行設(shè)定以前,可以驅(qū)動(dòng)所述特定服務(wù)代理器所依附的所有TCSA及LCSA進(jìn)入所述已設(shè)定狀態(tài)。當(dāng)所述處理器151執(zhí)行一個(gè)服務(wù)代理器相關(guān)的多個(gè)驅(qū)動(dòng)程序時(shí),所述服務(wù)代理器切換至所述執(zhí)行狀態(tài)。所述SIM210在驅(qū)動(dòng)所述特定服務(wù)代理器所依附的所有 TCSA及LCSA進(jìn)入所述執(zhí)行狀態(tài)以后,驅(qū)動(dòng)所述特定服務(wù)代理器進(jìn)入啟動(dòng)狀態(tài)。所述處理器 151執(zhí)行在啟動(dòng)狀態(tài)的所述特定服務(wù)代理器使其進(jìn)入所述執(zhí)行狀態(tài)。當(dāng)所述處理器151停止執(zhí)行一個(gè)服務(wù)代理器相關(guān)的多個(gè)驅(qū)動(dòng)程序時(shí),所述服務(wù)代理器切換至所述禁能狀態(tài),并且當(dāng)所述服務(wù)代理器的相關(guān)數(shù)據(jù)被釋放而不再與所述服務(wù)代理器相關(guān)時(shí),所述服務(wù)代理器進(jìn)入所述結(jié)束狀態(tài)。2. 1初始化相依關(guān)系數(shù)據(jù)庫(kù)及執(zhí)行相依關(guān)系數(shù)據(jù)庫(kù)所述裝置100利用技術(shù)回報(bào)069(Technical Report 069,TR069)中定義的 SetParameterValues 函式及應(yīng)用禾呈序接□ (application programming interfaced, API) 以設(shè)定所述數(shù)據(jù)庫(kù)230中的值,以及通知多個(gè)TCSA及LCSA有關(guān)所述數(shù)據(jù)庫(kù)230中的值改變的事件。所述主存儲(chǔ)器152儲(chǔ)存所述MLS 200及其數(shù)據(jù)對(duì)象和設(shè)定文件。所述數(shù)據(jù)對(duì)象包括用于儲(chǔ)存所述多個(gè)TCSALCSA的初始化相依關(guān)系的初始化相依關(guān)系數(shù)據(jù)庫(kù),以及用于儲(chǔ)存所述多個(gè)TCSA A1-An及LCSA的執(zhí)行相依關(guān)系的執(zhí)行相依關(guān)系數(shù)據(jù)庫(kù)。所述SIM 210根據(jù)所述初始化相依關(guān)系對(duì)所述TCSA A1-An進(jìn)行初始化,并根據(jù)所述執(zhí)行相依關(guān)系以啟動(dòng)所述TCSA A1-An的執(zhí)行作業(yè)。圖4顯示所述對(duì)象數(shù)據(jù)庫(kù)230中數(shù)據(jù)對(duì)象的實(shí)例240a及240b。所述實(shí)例240a及 240b其中的每個(gè)實(shí)例關(guān)聯(lián)于一個(gè)服務(wù)代理器,并且包括下例數(shù)據(jù)對(duì)象存取類別、回呼函式(callback functions)、服務(wù)代理器識(shí)別碼(agent identification, ID)、名稱及版本。 舉例來(lái)說(shuō),關(guān)聯(lián)于TCSA Ai的所述實(shí)例240a包括存取類別2401、回呼函式2402、服務(wù)代理器 ID 2403、名稱2406及版本2407。其中的變量i是整數(shù),且1 < i < η。所述存取類別2401 數(shù)據(jù)對(duì)象識(shí)別其關(guān)聯(lián)的服務(wù)代理器TCSA &是1^54或^^々。所述回呼函式2402包括指向其關(guān)聯(lián)的服務(wù)代理器TCSA Ai的回呼函式的參照地址。所述服務(wù)代理器ID 2403、名稱2406 及版本2407分別包括服務(wù)代理器TCSA Ai的ID、名稱及版本。圖5顯示在所述數(shù)據(jù)庫(kù)230中的所述SIM 210的數(shù)據(jù)對(duì)象2301。所述SIM 210 的數(shù)據(jù)對(duì)象2301包括用于控制服務(wù)代理器的數(shù)據(jù)對(duì)象,例如實(shí)例220a及220b。每個(gè)用于控制服務(wù)代理器的數(shù)據(jù)對(duì)象包括存取類別、服務(wù)代理器能力、初始化相依關(guān)系清單、名稱、 執(zhí)行相依關(guān)系清單、服務(wù)代理器狀態(tài)及服務(wù)代理器類別。舉例來(lái)說(shuō),關(guān)聯(lián)于所述服務(wù)代理器TCSA Ai的數(shù)據(jù)對(duì)象實(shí)例220a包括存取類別2201、服務(wù)代理器能力2202、初始化相依關(guān)系清單2203、名稱2206、執(zhí)行相依關(guān)系清單2208、服務(wù)代理器狀態(tài)2209及服務(wù)代理器類別 2210。所述SIM 210記錄所述服務(wù)代理器TCSA Ai的能力于對(duì)象2202、其初始化相依關(guān)系清單及執(zhí)行相依關(guān)系清單于對(duì)象2203及2208,所述服務(wù)代理器TCSA Ai的狀態(tài)于對(duì)象對(duì)象 2209。所述初始化相依關(guān)系清單及執(zhí)行相依關(guān)系清單分別代表所述服務(wù)代理器TCSA Ai的初始化相依關(guān)系及執(zhí)行相依關(guān)系。所述初始化相依關(guān)系清單及執(zhí)行相依關(guān)系清單分別包括所述服務(wù)代理器TCSA Ai在初始化時(shí)及執(zhí)行時(shí)所依附的多個(gè)服務(wù)代理器。包括在所述初始化及執(zhí)行相依關(guān)系清單中的服務(wù)代理器稱為所述服務(wù)代理器TCSAAi的基礎(chǔ)服務(wù)代理器。在圖5中,所述初始化相依關(guān)系清單僅包括基礎(chǔ)服務(wù)代理器Aj,而所述執(zhí)行相依關(guān)系清單包括基礎(chǔ)服務(wù)代理器K, K,及K。2. 2原始運(yùn)作流程所述MLS 200指導(dǎo)所述處理器151執(zhí)行以下的作業(yè)參照?qǐng)D6,所述SIM 210使所述TCSA A1-An其中的每個(gè)TCSA從初始狀態(tài)切換至下個(gè)狀態(tài)(步驟S100)。所述TCSA A1-An其中的每個(gè)TCSA起初都在初始狀態(tài)(步驟S102), 并開(kāi)始在所述SIM 210注冊(cè)(步驟S104)。當(dāng)一個(gè)TCSA(例如TCSA Ai)完成注冊(cè)時(shí),所述 SIM 210控制所述TCSA從所述初始狀態(tài)切換至已注冊(cè)狀態(tài)(步驟S106)。所述TCSA A1-An 其中的每個(gè)TCSA在所述SIM 210的注冊(cè)作業(yè)包括注冊(cè)其服務(wù)代理器能力。參照?qǐng)D5,TCSA Ai的服務(wù)代理器能力儲(chǔ)存在所述數(shù)據(jù)庫(kù)230中所述SIM 210的數(shù)據(jù)對(duì)象2202。以下說(shuō)明以所述TCSA Ai為例,需要了解的是其中的步驟可以適用于所述TCSA A1-An其中的每個(gè)TCSA。所述已注冊(cè)的TCSA Ai通知SM 210關(guān)于所述TCSA Ai的相依關(guān)系(步驟S108)。 所述TCSA Ai的相依關(guān)系包括初始化相依關(guān)系及執(zhí)行相依關(guān)系。所述已注冊(cè)的TCSA Ai關(guān)聯(lián)所述數(shù)據(jù)庫(kù)230中的數(shù)據(jù)對(duì)象(步驟S110)并從所述已注冊(cè)狀態(tài)切換至所述等待狀態(tài)(步驟S112)。在所述步驟SllO中的關(guān)聯(lián)作業(yè)稱為數(shù)據(jù)綁定。在所述步驟SllO中的數(shù)據(jù)綁定包括儲(chǔ)存所述TCSA Ai的ID于服務(wù)代理器ID數(shù)據(jù)對(duì)象2403。所述SIM 210根據(jù)所述初始化相依關(guān)系以驅(qū)動(dòng)所述TCSA Ai的初始化作業(yè),并根據(jù)所述執(zhí)行相依關(guān)系以執(zhí)行所述TCSA Ai (步驟S114)。舉例來(lái)說(shuō),在所述初始化相依關(guān)系數(shù)據(jù)庫(kù)中的初始化相依關(guān)系包括在所述數(shù)據(jù)庫(kù)230中的第一關(guān)系,用于表示所述TCSA Ai依附于TCSA Aj,換言之,所述TCSA Ai的初始化跟隨在所述TCSA AjW初始化之后。所述變量j是整數(shù),且j<n,并且j興i。 在所述步驟Sl 14,所述SIM 210依序地驅(qū)動(dòng)所述TCSA Aj及所述TCSA Ai的初始化。在所述TCSA AjW初始化過(guò)程中,所述SIM 210控制所述TCSA Aj進(jìn)行自行設(shè)定,并從所述等待狀態(tài)切換至所述自行設(shè)定狀態(tài)。在所述TCSA A^的初始化完成后,所述SIM 210驅(qū)動(dòng)(步驟S116)所述TCSA Ai的初始化,其中所述SIM 210控制所述TCSA Ai進(jìn)行自行設(shè)定,并從所述等待狀態(tài)切換至所述自行設(shè)定狀態(tài)(步驟Sl 18)。所述TCSA A1-An其中的每個(gè)TCSA的初始化,舉例來(lái)說(shuō),可以包括設(shè)定所述TCSA的一個(gè)或一個(gè)以上功能的驅(qū)動(dòng)程序。所述TCSA Ai根據(jù)圖3進(jìn)行狀態(tài)切換。2. 3程序執(zhí)行期間的補(bǔ)丁運(yùn)作流程所述通信單元156與外部裝置300通信,并從所述外部裝置300接收LCSA B用于取代所述TCSA Ai0所述LCSA B稱為所述TCSA Ai的補(bǔ)丁,用于提供第二功能以取代所述 TCSA Ai的第一功能。舉例來(lái)說(shuō),所述第一功能及第二功能可以包括例如NTP、橋接器、防火墻、或DHCP功能。所述處理器151以一個(gè)軟件程序的形式執(zhí)行所述LCSA B以取代所述TCSAAi,在所述取代的手段中包括禁能所述TCSA Ai,并將所述TCSA Ai的數(shù)據(jù)對(duì)象關(guān)聯(lián)于所述LCSA B。 如圖3所示,LCSA B的狀態(tài)及狀態(tài)切換如同TCSA。因此,所述裝置100可以接收一個(gè)或一個(gè)以上的LCSA以取代一個(gè)或一個(gè)以上的TCSA。參照?qǐng)D7,TCSA Ai起初在初始狀態(tài)(步驟S200)。所述SIM 210使所述LCSA B 從初始狀態(tài)切換至下個(gè)狀態(tài)(步驟S202)。所述LCSA B開(kāi)始在所述SIM 210注冊(cè)(步驟 S204)。所述LCSA B在所述SIM 210的注冊(cè)作業(yè)包括注冊(cè)其服務(wù)代理器能力。當(dāng)LCSA B完成注冊(cè)時(shí),所述SIM 210控制所述LCSA B從所述初始狀態(tài)切換至已注冊(cè)狀態(tài)(步驟S206)。所述已注冊(cè)的LCSA B通知所述SIM 210關(guān)于所述LCSA B的相依關(guān)系(步驟 S208)。所述LCSA B的相依關(guān)系包括初始化相依關(guān)系及執(zhí)行相依關(guān)系。所述LCSAB及SIM 210指導(dǎo)所述處理器151增加所述LCSA B的相依關(guān)系至所述數(shù)據(jù)庫(kù)230。所述LCSA B從所述已注冊(cè)狀態(tài)切換至所述等待狀態(tài)(步驟S212)。所述SIM 210根據(jù)所述初始化相依關(guān)系以驅(qū)動(dòng)所述TCSA AfAn&LCSA B的初始化作業(yè),并根據(jù)所述執(zhí)行相依關(guān)系以執(zhí)行所述所述TCSA A1-An及LCSA B (步驟S214)。舉例來(lái)說(shuō),所述LCSA B的初始化相依關(guān)系包括在所述數(shù)據(jù)庫(kù)230中的第二關(guān)系,用于表示所述LCSA B依附于TCSA Ajo換言之,在步驟S214 中,所述LCSA B的初始化跟隨在所述TCSA AjW初始化之后。在所述TCSA Aj的初始化過(guò)程中,所述SIM 210控制所述TCSA A^進(jìn)行自行設(shè)定,并從所述等待狀態(tài)切換至所述自行設(shè)定狀態(tài)。在所述TCSA AjW初始化完成后,所述SIM 210驅(qū)動(dòng)所述LCSA B的初始化,其中所述SIM 210控制所述LCSA B進(jìn)行自行設(shè)定,并從所述等待狀態(tài)切換至所述自行設(shè)定狀態(tài) (步驟S216)。所述LCSA B的初始化,舉例來(lái)說(shuō),可以包括設(shè)定所述LCSA B的一個(gè)或一個(gè)以上功能的驅(qū)動(dòng)程序。所述LCSA B的自行設(shè)定作業(yè)包括驅(qū)使所述TCSA Ai禁能。舉例來(lái)說(shuō),所述LCSA B 請(qǐng)求所述TCSA Ai從所述執(zhí)行狀態(tài)切換至禁能狀態(tài)(步驟S218)。所述TCSA Ai通知所述 SIM 210有關(guān)其狀態(tài)已切換至禁能狀態(tài)(步驟S220)。所述SIM210響應(yīng)所述通知時(shí),驅(qū)使依附于所述TCSA Ai的所有TCSA及LCSA進(jìn)入等待狀態(tài)(步驟S222)。所述SIM 210驅(qū)使所述TCSA Ai切換至所述結(jié)束狀態(tài)(步驟S224)。所述LCSA B關(guān)聯(lián)所述數(shù)據(jù)庫(kù)230中所述TCSA Ai的數(shù)據(jù)對(duì)象,以完成數(shù)據(jù)綁定 (步驟S226)并從所述自行設(shè)定狀態(tài)切換至所述等待狀態(tài)(步驟S228)。如圖8所示,在所述步驟S226中的數(shù)據(jù)綁定包括儲(chǔ)存所述LCSA B的ID于服務(wù)代理器ID數(shù)據(jù)對(duì)象2403。在完成步驟S226之后,所述SIM 210驅(qū)動(dòng)所述LCSA B的初始化(步驟S230),所述LCSA B的初始化過(guò)程中,其中所述SIM 210控制所述LCSAB進(jìn)行自行設(shè)定(步驟S230),并從所述等待狀態(tài)切換至所述自行設(shè)定狀態(tài)(步驟S232)。所述LCSA B的初始化,舉例來(lái)說(shuō),可以包括設(shè)定所述LCSA B的一個(gè)或一個(gè)以上功能的驅(qū)動(dòng)程序。在所述步驟S208中,所述LCSA B可以于所述數(shù)據(jù)庫(kù)230中增加執(zhí)行相依關(guān)系,用于表示所述LCSA B的執(zhí)行跟隨在一個(gè)或一個(gè)以上的TCSA執(zhí)行作業(yè)之后。所述SIM 210根據(jù)所述新增的執(zhí)行相依關(guān)系,在所述一個(gè)或一個(gè)以上的TCSA已執(zhí)行之后,才驅(qū)動(dòng)執(zhí)行所述 LCSA B。2. 4系統(tǒng)初始化期間取代作業(yè)
參照?qǐng)D9,所述SIM 210使所述TCSA Ai從初始狀態(tài)切換至下個(gè)狀態(tài)(步驟S300)。 所述TCSA Ai開(kāi)始在所述SIM 210注冊(cè)(步驟S304)。當(dāng)TCSA Ai完成注冊(cè)時(shí),所述SIM 210 控制所述TCSA Ai從所述初始狀態(tài)切換至已注冊(cè)狀態(tài)(步驟S306)。所述已注冊(cè)的TCSA Ai建立并通知關(guān)于所述TCSA Ai的相依關(guān)系至SIM 210 (步驟S308)。所述TCSA Ai的相依關(guān)系包括初始化相依關(guān)系及執(zhí)行相依關(guān)系。所述已注冊(cè)的 TCSA Ai關(guān)聯(lián)所述數(shù)據(jù)庫(kù)230中的數(shù)據(jù)對(duì)象(步驟S310)并從所述已注冊(cè)狀態(tài)切換至所述等待狀態(tài)(步驟S312)。所述SIM 210使所述LCSA B從初始狀態(tài)切換至下個(gè)狀態(tài)(步驟S313)。所述LCSA B開(kāi)始在所述SIM 210注冊(cè)(步驟S314)。當(dāng)LCSA B完成注冊(cè)時(shí),所述SIM210控制所述 LCSA B從所述初始狀態(tài)切換至已注冊(cè)狀態(tài)(步驟S316)。所述已注冊(cè)的LCSA B建位并通知關(guān)于所述LCSA B的相依關(guān)系至所述SIM210 (步驟S318)。所述LCSA B的相依關(guān)系包括初始化相依關(guān)系及執(zhí)行相依關(guān)系。其中所述LCSA B的初始化相依關(guān)系表示所述LCSA B的初始化優(yōu)先于全部的TCSA。步驟S318稱為第一次相依關(guān)系建立步驟。所述已注冊(cè)的LCSA B從所述已注冊(cè)狀態(tài)切換至所述等待狀態(tài)(步驟 S322)。所述SIM 210根據(jù)所述LCSA B的所述初始化相依關(guān)系以驅(qū)動(dòng)所述TCSA A1-An及 LCSA B的初始化作業(yè)(步驟S324)。在所述步驟S324中,所述SIM 210驅(qū)動(dòng)所述LCSA B的所述初始化,優(yōu)先于包括TCSA Ai的全部TCSA。在所述已注冊(cè)的LCSA B的初始化中,所述 SIM210控制所述LCSA B進(jìn)行自行設(shè)定,并從所述等待狀態(tài)切換至所述自行設(shè)定狀態(tài)(步驟 S326)。所述LCSA B的自行設(shè)定作業(yè)包括驅(qū)使所述TCSA Ai禁能。舉例來(lái)說(shuō),所述LCSA B 請(qǐng)求所述TCSA Ai從所述執(zhí)行狀態(tài)切換至禁能狀態(tài)(步驟S332)。所述TCSA Ai通知所述 SIM 210有關(guān)其狀態(tài)已切換至禁能狀態(tài)。所述SIM 210驅(qū)使所述TCSA Ai切換至所述結(jié)束狀態(tài)。所述LCSA B關(guān)聯(lián)所述數(shù)據(jù)庫(kù)230中所述TCSA Ai的數(shù)據(jù)對(duì)象,以完成數(shù)據(jù)綁定(步驟S334),通知有關(guān)所述LCSA B的新相依關(guān)系至所述SIM 210 (步驟S336),并從所述自行設(shè)定狀態(tài)切換至所述等待狀態(tài)(步驟S338)。所述LCSA B的新相依關(guān)系用于取代在所述第一次相依關(guān)系建立步驟中的相依關(guān)系。所述LCSA B的新相依關(guān)系中的其中一個(gè)相依關(guān)系表示所述LCSA B的初始化跟隨在所述TCSA Aj的初始化之后。在步驟S340中,所述SIM 210驅(qū)動(dòng)所述TCSA AjW初始化,優(yōu)先于所述LCSA B的初始化。在所述步驟S340完成后, 所述SIM 210驅(qū)動(dòng)所述LCSAB的初始化,其中所述SIM 210控制所述LCSA B進(jìn)行自行設(shè)定 (步驟S342),并從所述等待狀態(tài)切換至所述自行設(shè)定狀態(tài)。所述LCSA B的初始化,舉例來(lái)說(shuō),可以包括設(shè)定所述LCSA B的一個(gè)或一個(gè)以上功能的驅(qū)動(dòng)程序。3.結(jié)論總之,所述裝置100以單獨(dú)的軟件程序形式執(zhí)行所述MLS 200,并以線程的形式執(zhí)行多個(gè)TCSA以作為所述軟件程序中的線程,并接收LCSA以取代錯(cuò)誤的TCSA。所述裝置100 以另個(gè)軟件程序形式執(zhí)行所述LCSA。所述SIM 210則標(biāo)準(zhǔn)化管理所述多個(gè)TCSA及LCSA的狀態(tài)。
權(quán)利要求
1.一種通信裝置,其特征在于包括內(nèi)存,儲(chǔ)存所述通信裝置作為一個(gè)軟件程序執(zhí)行的管理層服務(wù),所述軟件程序包括多個(gè)密耦合服務(wù)代理器(tightly coupled service agent,TCSA),所述多個(gè)密耦合服務(wù)代理器中的每個(gè)密耦合服務(wù)代理器作為所述管理層服務(wù)的線程,所述管理層服務(wù)還包括稱為系統(tǒng)初始化管理器的線程,用于管理所述多個(gè)密耦合服務(wù)代理器的初始化;通信單元,用于通信連接外部裝置,并從所述外部裝置接收疏耦合服務(wù)代理器 (loosely coupled service agent, LCSA)以取代所述多個(gè)密耦合服務(wù)代理器的其中第一代理器,其中所述疏耦合服務(wù)代理器提供第二功能以取代所述第一代理器的第一功能;處理器,執(zhí)行所述疏耦合服務(wù)代理器時(shí),所述疏耦合服務(wù)代理器作為一個(gè)軟件程序用于取代所述第一代理器,禁能所述第一代理器,并結(jié)合所述第一代理器的數(shù)據(jù)對(duì)象至所述疏耦合服務(wù)代理器。
2.如權(quán)利要求1所述的通信裝置,其特征在于,所述內(nèi)存包括初始化相依數(shù)據(jù)庫(kù),用于儲(chǔ)存所述多個(gè)密耦合服務(wù)代理器的初始化相依關(guān)系,以及所述系統(tǒng)初始化管理器根據(jù)所述初始化相依關(guān)系以初始化所述多個(gè)密耦合服務(wù)代理器。
3.如權(quán)利要求2所述的通信裝置,其特征在于,所述初始化相依關(guān)系包括第一關(guān)系,所述第一關(guān)系用于表示所述第一代理器的初始化跟隨在所述多個(gè)密耦合服務(wù)代理器的其中第二代理器的初始化之后;所述疏耦合服務(wù)代理器指導(dǎo)所述處理器增加第二相依關(guān)系至所述初始化相依關(guān)系,所述第二關(guān)系表示所述疏耦合服務(wù)代理器的初始化跟隨在所述第二代理器的初始化之后;所述系統(tǒng)初始化管理器指導(dǎo)所述處理器根據(jù)所述第二相依關(guān)系在所述第二代理器的初始化之后,啟動(dòng)所述疏耦合服務(wù)代理器的初始化;以及所述疏耦合服務(wù)代理器使所述第一代理器被禁能。
4.如權(quán)利要求3所述的通信裝置,其特征在于,所述通信裝置還包括在所述通信裝置初始化期間,所述疏耦合服務(wù)代理器增加第三相依關(guān)系至所述初始化相依關(guān)系,所述第三相依關(guān)系表示所述疏耦合服務(wù)代理器的初始化先于所述多個(gè)密耦合服務(wù)代理器的初始化;在根據(jù)所述第三相依關(guān)系進(jìn)行的所述疏耦合服務(wù)代理器初始化期間,所述疏耦合服務(wù)代理器使所述第一代理器被禁能,并增加所述第二相依關(guān)系至所述初始化相依關(guān)系以取代所述第三關(guān)系。
5.如權(quán)利要求3所述的通信裝置,其特征在于,所述第一代理器具有多個(gè)狀態(tài),且所述系統(tǒng)初始化管理器利用所述第一代理器的程序呼叫以切換所述第一代理器至所述多個(gè)狀態(tài)的其中一個(gè)狀態(tài)。
6.如權(quán)利要求5所述的通信裝置,其特征在于,所述內(nèi)存包括執(zhí)行相依數(shù)據(jù)庫(kù),用于儲(chǔ)存所述多個(gè)密耦合服務(wù)代理器的執(zhí)行相依關(guān)系,以及所述系統(tǒng)初始化管理器根據(jù)所述執(zhí)行相依關(guān)系以啟動(dòng)所述多個(gè)密耦合服務(wù)代理器的執(zhí)行作業(yè)。
7.如權(quán)利要求6所述的通信裝置,其特征在于,所述執(zhí)行相依關(guān)系包括第四相依關(guān)系, 所述第四相依關(guān)系用于表示所述第一代理器的執(zhí)行作業(yè)跟隨在所述多個(gè)密耦合服務(wù)代理器的其中第三代理器的執(zhí)行作業(yè)之后;在所述通信裝置接收所述疏耦合服務(wù)代理器之后,所述處理器注冊(cè)所述疏耦合服務(wù)代理器于所述系統(tǒng)初始化管理器;所述疏耦合服務(wù)代理器增加第五相依關(guān)系至所述執(zhí)行相依關(guān)系,所述第五關(guān)系表示所述疏耦合服務(wù)代理器的執(zhí)行作業(yè)跟隨在所述第三代理器的執(zhí)行作業(yè)之后;以及所述系統(tǒng)初始化管理器根據(jù)所述第五相依關(guān)系在所述第三代理器的執(zhí)行作業(yè)之后,啟動(dòng)所述疏耦合服務(wù)代理器的執(zhí)行作業(yè)。
8.一種通信裝置固件補(bǔ)丁方法,執(zhí)行于通信裝置,所述通信裝置包括內(nèi)存、通信單元及處理器,其特征在于所述方法包括儲(chǔ)存所述通信裝置作為一個(gè)軟件程序執(zhí)行的管理層服務(wù)于所述內(nèi)存,所述軟件程序包括多個(gè)密耦合服務(wù)代理器,所述多個(gè)密耦合服務(wù)代理器中的每個(gè)密耦合服務(wù)代理器作為所述管理層服務(wù)的線程,所述管理層服務(wù)還包括稱為系統(tǒng)初始化管理器的線程,用于管理所述多個(gè)密耦合服務(wù)代理器的初始化;所述通信單元用于通信連接外部裝置,并從所述外部裝置接收疏耦合服務(wù)代理器以取代所述多個(gè)密耦合服務(wù)代理器的其中第一代理器,其中所述疏耦合服務(wù)代理器提供第二功能以取代所述第一代理器的第一功能;所述處理器執(zhí)行所述疏耦合服務(wù)代理器時(shí),所述疏耦合服務(wù)代理器作為一個(gè)軟件程序用于取代所述第一代理器,禁能所述第一代理器,并結(jié)合所述第一代理器的數(shù)據(jù)對(duì)象至所述疏耦合服務(wù)代理器。
9.如權(quán)利要求8所述的通信裝置固件補(bǔ)丁方法,其特征在于,所述內(nèi)存包括初始化相依數(shù)據(jù)庫(kù),用于儲(chǔ)存所述多個(gè)密耦合服務(wù)代理器的初始化相依關(guān)系,以及所述系統(tǒng)初始化管理器根據(jù)所述初始化相依關(guān)系以初始化所述多個(gè)密耦合服務(wù)代理器。
10.如權(quán)利要求9所述的通信裝置固件補(bǔ)丁方法,其特征在于,所述初始化相依關(guān)系包括第一關(guān)系,所述第一關(guān)系用于表示所述第一代理器的初始化跟隨在所述多個(gè)密耦合服務(wù)代理器的其中第二代理器的初始化之后;所述疏耦合服務(wù)代理器指導(dǎo)所述處理器增加第二相依關(guān)系至所述初始化相依關(guān)系,所述第二關(guān)系表示所述疏耦合服務(wù)代理器的初始化跟隨在所述第二代理器的初始化之后;所述系統(tǒng)初始化管理器指導(dǎo)所述處理器根據(jù)所述第二相依關(guān)系在所述第二代理器的初始化之后,啟動(dòng)所述疏耦合服務(wù)代理器的初始化;以及所述疏耦合服務(wù)代理器使所述第一代理器被禁能。
全文摘要
一種通信裝置,與外部裝置通信連接,并從所述外部裝置接收并執(zhí)行疏耦合服務(wù)代理器(loosely coupled service agent,LCSA)作為軟件程序,以取代已存在應(yīng)用程序的線程(thread)。所述通信裝置執(zhí)行所述應(yīng)用程序時(shí),所述應(yīng)用程序?yàn)橐粋€(gè)軟件程序的形式,且包括多個(gè)線程,稱為密耦合服務(wù)代理器(tightly coupled serviceagent,TCSA),其中第一TCSA的第一功能被所述LCSA的第二功能取代。所述通信裝置將所述第一TCSA的數(shù)據(jù)對(duì)象結(jié)合至所述LCSA。利用此裝置可以隨時(shí)對(duì)其固件補(bǔ)丁。
文檔編號(hào)G06F9/445GK102455918SQ201010520280
公開(kāi)日2012年5月16日 申請(qǐng)日期2010年10月26日 優(yōu)先權(quán)日2010年10月26日
發(fā)明者何名欽, 黃智源 申請(qǐng)人:鴻富錦精密工業(yè)(深圳)有限公司, 鴻海精密工業(yè)股份有限公司