TWI438685B - 通訊裝置及其韌體補丁方法 - Google Patents
通訊裝置及其韌體補丁方法 Download PDFInfo
- Publication number
- TWI438685B TWI438685B TW99137009A TW99137009A TWI438685B TW I438685 B TWI438685 B TW I438685B TW 99137009 A TW99137009 A TW 99137009A TW 99137009 A TW99137009 A TW 99137009A TW I438685 B TWI438685 B TW I438685B
- Authority
- TW
- Taiwan
- Prior art keywords
- agent
- initialization
- dependency relationship
- service
- service agent
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims description 75
- 238000000034 method Methods 0.000 title claims description 16
- 230000006870 function Effects 0.000 claims description 26
- 238000010168 coupling process Methods 0.000 claims description 16
- 238000005859 coupling reaction Methods 0.000 claims description 16
- 230000008878 coupling Effects 0.000 claims description 10
- 230000001419 dependent effect Effects 0.000 claims 4
- 239000003795 chemical substances by application Substances 0.000 description 91
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 235000012431 wafers Nutrition 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Description
本發明涉及電腦技術,尤其涉及一種通訊裝置及其韌體補丁方法。
路由器(router)、乙太網路交換器(Ethernet switch)、個人數位助理(personal digital assistant,簡稱PDA)、或行的電話等通訊裝置其主要的執行程式如開機程式、硬體組態設定資料等皆包含在其韌體,它的功能及效率影響了裝置的整體表現。因此,軟體工程盡相當大的努力在韌體的開發與除錯。
在一種產品上市後的一段時間,軟體工程師通常仍會持續地對韌體做修改。此修改通常包括執行效率的改進、程式碼的除錯、新功能的加入、及針對客戶需求所做的更動。每次釋出新版的韌體程式就需要耗時的驗證流程,而延遲了程式設計師對韌體問題反應的時間。另外,在下載及安裝新的韌體後,通訊裝置重新開機以啟動新的韌體,但是在企業環境中應避免重新啟動乙太網路交換機。
本發明實施方式提出一種通訊裝置,包含記憶體、通訊單元及處理器。上述記憶體儲存上述通訊裝置作為一個軟體程序執行的管
理層服務。上述軟體程序包含複數密耦合服務代理器(tightly coupled service agent,TCSA)。上述複數密耦合服務代理器中的每個密耦合服務代理器作為上述管理層服務的線程,上述管理層服務更包含稱為系統初始化管理器的線程,用以管理上述複數密耦合服務代理器的初始化。上述通訊單元用以通訊連接一外部裝置,並從上述外部裝置接收疏耦合服務代理器(loosely coupled service agent,LCSA)以取代上述複數密耦合服務代理器之其中一第一代理器,其中上述疏耦合服務代理器提供第二功能以取代上述第一代理器的第一功能。上述處理器執行上述疏耦合服務代理器時,上述疏耦合服務代理器作為一個軟體程序用以取代上述第一代理器,禁能上述第一代理器,並結合上述第一代理器的資料物件至上述疏耦合服務代理器。
本發明另一實施方式提出一種通訊裝置韌體補丁方法,執行於一通訊裝置,所述通訊裝置包括一記憶體、一通訊單元及一處理器。上述通訊裝置韌體補丁方法包括下列步驟。
儲存上述通訊裝置作為一個軟體程式執行的管理層服務於上述記憶體。上述軟體程式包括複數密耦合服務代理器,上述複數密耦合服務代理器中的每個密耦合服務代理器作為上述管理層服務的線程。上述管理層服務還包括稱為系統初始化管理器的線程,用於管理上述複數密耦合服務代理器的初始化。上述通訊單元用於通訊連接外部裝置,並從上述外部裝置接收疏耦合服務代理器以取代上述複數密耦合服務代理器的其中第一代理器,其中上述疏耦合服務代理器提供第二功能以取代上述第一代理器的第一功能。上述處理器執行上述疏耦合服務代理器時,上述疏耦合服務代
理器作為一個軟體程式用於取代上述第一代理器,禁能上述第一代理器,並結合上述第一代理器的資料物件至上述疏耦合服務代理器。
100‧‧‧通訊裝置
151‧‧‧處理器
152‧‧‧主記憶體
153‧‧‧非揮發性記憶體
154‧‧‧大量儲存裝置
156‧‧‧通訊單元
158‧‧‧電源供應器
159‧‧‧石英振盪器
160‧‧‧輸入輸出裝置
164‧‧‧埠
165‧‧‧控制器
200‧‧‧管理層服務(MLS)
210‧‧‧系統初始化管理器(SIM)
220a,220b‧‧‧資料物件實例
2201‧‧‧存取類別
2202‧‧‧服務代理器能力
2203‧‧‧初始化相依關係清單
2206‧‧‧名稱
2208‧‧‧執行相依關係清單
2209‧‧‧服務代理器狀態
2210‧‧‧服務代理器類別
230‧‧‧資料庫
2301‧‧‧SIM的資料物件
240a,240b‧‧‧資料物件實例
2401‧‧‧存取類別
2402‧‧‧回呼函式
2403‧‧‧服務代理器ID
2406‧‧‧名稱
2407‧‧‧版本
300‧‧‧外部裝置
50‧‧‧計時器
60‧‧‧計時器
A1-An,Ai,Aj,Ak,Am,An‧‧‧密耦合服務代理器(TCSA)
B‧‧‧疏耦合服務代理器(LCSA)
圖1顯示用戶端裝置結構方塊圖;圖2顯示管理層服務的實施方式的示意圖;圖3顯示服務代理器的狀態及狀態切換示意圖;圖4顯示服務代理器的資料物件的示意圖;圖5顯示系統初始化管理器的資料物件的示意圖;圖6顯示用戶端裝置在接收補丁資料以前的操作流程圖;圖7顯示用戶端裝置在接收補丁資料之後的操作流程圖;圖8顯示關聯於另一個服務代理器的資料物件的示意圖;圖9顯示用戶端裝置在接收補丁資料之後的初始化流程圖。
參照圖1,本發明所揭露的通訊裝置100可以包含用戶端裝置(customer premises equipment,CPE),例如:乙太網路交換器(Ethernet switch)、路由器(router)、數據機(modem),例如:纜線數據機(cable modem)或高位元率數位用戶線(very-high-bit rate digital subscriber line,VDSL)數據機。上述用戶端裝置100可以實作成單獨一台裝置,或整合於各種不同的電子裝置中,諸如機頂盒、個人電腦。
1.1 通訊裝置之實施例
參照圖1,處理器151為通訊裝置100的中央處理器,可以由積體電路(Integrated Circuit,簡稱IC)組成,用以處理資料及執行電腦程式。通訊裝置100的元件連接方式如圖1所示,可用串行或並行匯流排、或無線通訊通道構成。無線通訊單元156建立通訊通道,使通訊裝置100透過上述通訊通道以連接至網際網路(Internet)。另外,無線通訊單元156可以建立無線通訊通道,使移動設備,例如電腦或行動裝置(例如行動電話、遙控器、膝上型電腦),透過上述無線通訊通道以連接至通訊裝置100並交換資料。上述通訊單元156可以包含天線、基頻(base band)及射頻(radio frequency,簡稱RF)晶片組用以進行無線區域網路(wireless local area network,簡稱wireless LAN)通訊、紅外線通訊及/或蜂巢式通訊系統通訊,例如寬頻分碼多重接取(Wideband Code Division Multiple Access,簡稱W-CDMA)及高速下行封包存取(High Speed Downlink Packet Access,簡稱HSDPA)。經由上述建立的無線通訊通道,上述通訊裝置100可以作為無線區域網路的接入點(access point),使移動設備可以經由上述接入點以連接網際網路(Internet)。
處理器151可以是由單顆封裝的IC所組成,或連接多顆相同功能或不同功能的封裝IC而組成。舉例來說,處理器151可以僅包含中央處理器(Central Processing Unit,簡稱CPU),或者是CPU、數位信號處理器(digital signal processor,簡稱DSP)、及通訊控制器(例如通訊單元156)的控制晶片的組合。上述通訊控制器可以包含蜂巢式通訊系統通訊、紅外線、藍芽(BluetoothTM)或無線區域網路的通訊控制裝置。所述的通訊控制器用以控制通訊裝置100中的各元件的通訊,或通訊裝置100與外部裝置的通訊
。
電源供應器158供給電力予通訊裝置100中的各元件。石英振盪器159提供時脈訊號給處理器151與通訊裝置100中的其它元件。計時器50及60可以是由電路、電腦程式或其組合所構成,分別用以計時固定長度的期間。計時器50或60滿期(expiration)時產生信號,用以告知所計時的期間結束。輸入輸出裝置160包括控制按鈕、字母數字鍵盤、觸控面板、觸控螢幕以及複數發光二極體(light emitting diodes,簡稱LEDs)。控制器165偵測並控制輸入輸出裝置160的操作及運作,並將所偵測的操作傳送至上述處理器151。上述處理器151可以透過控制器165控制輸入輸出裝置160。埠164可以連接到各種電腦化的介面,例如一台外部的電腦裝置或週邊裝置。埠164可以是符合通用匯流排(universal serial bus,簡稱USB)或電機電子工程師學會(Institute of Electrical and Electronics Engineers,IEEE)1394等標準的實體埠、美國電子工業協會(Electronic Industries Association,簡稱EIA)所制定的第232號推薦標準(Recommended Standard-232,簡稱RS-232)及/或第11號推薦標準(Recommended Standard-11,簡稱RS-11)的實體連接埠、串列ATA(Serial ATA,簡稱SATA)及/或高清晰度多媒體介面(High Definition Multimedia Interface,簡稱HDMI)。
非揮發性記憶體(nonvolatile memory)153儲存韌體程式,包含上述處理器151所執行的作業系統190及應用程式。上述處理器151可以從非揮發性記憶體153載入韌體程式至主記憶體152並以軟體程序(process)的形式執行於主記憶體152。上述處理器151
儲存資料於大容量儲存裝置154。上述主記憶體152可以包含隨機存取記憶體(random access memory,簡稱RAM),例如,例如靜態隨機存取記憶體(Static RAM,簡稱SRAM)或是動態隨機存取記憶體(Dynamic RAM,簡稱DRAM)。該非揮發性記憶體153可以是電子可抹除可規劃唯讀記憶體(Electrically Erasable Programmable Read-Only Memory,簡稱EEPROM)或快閃記憶體(flash memory),例如反或(NOR)快閃記憶體或是反及(NAND)快閃記憶體。
當上述處理器151完成上述作業系統190的初始化,則上述作業系統190初始化並啟動上述應用程式中的第一個應用程式作為一個軟體程序,稱為管理層服務(management layer services,MLS)200。上述通訊裝置100可以從無線通訊訊號取得MLS 200的補丁資料,例如透過上述天線、調諧器及解調器取得。或者,上述通訊裝置100可以從資訊網路取得MLS 200的補丁資料,例如透過網路介面從網際網路取得。上述補丁資料包含疏耦合服務代理器(loosely coupled service agent,LCSA),用來取代上述通訊裝置100的密耦合服務代理器(tightly coupled service agent ,TCSA)。
2. 補丁方法實施方式
上述通訊裝置100中的上述處理器151執行上述MLS 200作為一個軟體程序。參照圖2,MLS 200包含系統初始化管理器(system initialization manager,SIM)210及複數密耦合服務代理器(tightly coupled service agent,TCSA)A1-An,其中n是大於1的整數。當TCSA A1-An的其中每一個TCSA由上述處理器151執行時
,指導上述通訊裝置100提供功能,例如網路時間協定(network time protocol,NTP)、橋接器(bridge)、防火牆(firewall)、或動態主機組態協定(dynamic host configuration protocol,簡稱DHCP)。上述處理器151執行MLS 200軟體程序時,以線程(thread)的形式執行每一個上述SIM 210及TCSA A1-An。如圖3所示,上述TCSA A1-An的其中每一個TCSA具有複數狀態可以由SIM 210管理,包含初始、已註冊、等待、自行設定、已設定、啟動、執行、禁能及結束。在圖3中,每個服務代理器的狀態以節點表示,其狀態切換以連接二節點的線表示。疏耦合服務代理器(loosely coupled service agent,LCSA)的狀態及狀態切換與圖3所示的TCSA狀態及狀態切換相同。LCSA是補丁資料中攜帶的服務代理器程式並由上述處理器151以軟體程序的形式執行。上述SIM 210控制並管理TCSA A1-An及LCSA的初始化及執行。上述SIM 210利用上述TCSA A1-An及LCSA其中的每個服務代理器的程序呼叫(procedure call)以切換上述服務代理器至上述複數狀態的其中一個狀態。服務代理器,例如TCSA或LCSA,在初始狀態下註冊相關的資訊於上述SIM 210,並且當完成上述註冊時,從上述初始狀態切換至已註冊狀態。上述服務代理器通知上述SIM 210與上述服務代理器相關聯的相依關係,並從上述已註冊狀態切換至上述等待狀態。上述相依關係包含上述服務代理器的初始化相依關係及執行相依關係。上述SIM 210根據上述初始化相依關係以控制上述複數TCSA A1-An及LCSA的初始化作業。舉例來說,上述SIM 210初始化正處於等待狀態的特定服務代理器時,驅動上述特定服務代理器執行自行設定(self-configuration),並從上述等待狀態進入自行設定狀態。當完成自行設定時,上述特定服
務代理器從上述自行設定狀態進入上述已設定狀態。上述SIM 210在驅動上述特定服務代理器自行設定以前,可以驅動上述特定服務代理器所依附的所有TCSA及LCSA進入上述已設定狀態。當上述處理器151執行一個服務代理器相關的複數驅動程式時,上述服務代理器切換至上述執行狀態。上述SIM 210在驅動上述特定服務代理器所依附的所有TCSA及LCSA進入上述執行狀態以後,驅動上述特定服務代理器進入啟動狀態。所述處理器151執行在啟動狀態的所述特定服務代理器使其進入所述執行狀態。當上述處理器151停止執行一個服務代理器相關的複數驅動程式時,上述服務代理器切換至上述禁能狀態,並且當上述服務代理器的相關資料被釋放而不再與上述服務代理器相關時,上述服務代理器進入上述結束狀態。
2.1初始化相依關係資料庫及執行相依關係資料庫
上述裝置100利用技術回報069(Technical Report 069,TR069)中定義的SetParameterValues函式及應用程式介面(application programming interfaced,API)以設定上述資料庫230中的值,以及通知複數TCSA及LCSA有關上述資料庫230中的值改變的事件。
上述主記憶體152儲存上述MLS 200及其資料物件和設定檔。上述資料物件包含用以儲存上述複數TCSA A1-An及LCSA的初始化相依關係的初始化相依關係資料庫,以及用以儲存上述複數TCSA A1-An及LCSA的執行相依關係的執行相依關係資料庫。上述SIM 210根據上述初始化相依關係對上述TCSA A1-An進行初始化,並根據上述執行相依關係以啟動上述TCSA A1-An的執行作業。
圖4顯示上述物件資料庫230中資料物件的實例240a及240b。上述實例240a及240b其中的每個實例關聯於一個服務代理器,並且包含下例資料物件:存取類別、回呼函式(callback functions)、服務代理器識別碼(agent identification,ID)、名稱及版本。舉例來說,關聯於TCSA Ai的上述實例240a包含存取類別2401、回呼函式2402、服務代理器ID 2403、名稱2406及版本2407。其中的變數i是整數,且1≦i≦n。上述存取類別2401資料物件識別其關聯的服務代理器TCSA Ai是TCSA或LCSA。上述回呼函式2402包含指向其關聯的服務代理器TCSA Ai的回呼函式的參照位址。上述服務代理器ID 2403、名稱2406及版本2407分別包含服務代理器TCSA Ai的ID、名稱及版本。
圖5顯示在上述資料庫230中的上述SIM 210的資料物件2301。上述SIM 210的資料物件2301包含用以控制服務代理器的資料物件,例如實例220a及220b。每個用以控制服務代理器的資料物件包含存取類別、服務代理器能力、初始化相依關係清單、名稱、執行相依關係清單、服務代理器狀態及服務代理器類別。舉例來說,關聯於上述服務代理器TCSA Ai的資料物件實例220a包含存取類別2201、服務代理器能力2202、初始化相依關係清單2203、名稱2206、執行相依關係清單2208、服務代理器狀態2209及服務代理器類別2210。上述SIM 210記錄上述服務代理器TCSA Ai的能力於物件2202、其初始化相依關係清單及執行相依關係清單於物件2203及2208,上述服務代理器TCSA Ai的狀態於物件2209。上述初始化相依關係清單及執行相依關係清單分別代表上述服務代理器TCSA Ai的初始化相依關係及執行相依關係。上述初始化相依關係清單及執行相依關係清單分別包含上述服務代理器TCSA
i在初始化時及執行時所依附的複數服務代理器。包含在上述初始化及執行相依關係清單中的服務代理器稱為上述服務代理器TCSA Ai的基礎服務代理器。在圖5中,上述初始化相依關係清單僅包含基礎服務代理器Aj,而上述執行相依關係清單包含基礎服務代理器Ak,Am,及An。
2.2 原始運作流程
上述MLS 200指導上述處理器151執行以下的作業:
參照圖6,上述SIM 210使上述TCSA A1-An其中的每個TCSA從初始狀態切換至下個狀態(步驟S100)。上述TCSA A1-An其中的每個TCSA起初都在初始狀態(步驟S102),並開始在上述SIM 210註冊(步驟S104)。當一個TCSA(例如TCSA Ai)完成註冊時,上述SIM 210控制上述TCSA從上述初始狀態切換至已註冊狀態(步驟S106)。上述TCSA A1-An其中的每個TCSA在上述SIM 210的註冊作業包含註冊其服務代理器能力。參照圖5,TCSA Ai的服務代理器能力儲存在上述資料庫230中上述SIM 210的資料物件2202。以下說明以上述TCSA Ai為例,需要了解的是其中的步驟可以適用於上述TCSA A1-An其中的每個TCSA。
上述已註冊的TCSA Ai通知SIM 210關於上述TCSA Ai的相依關係(步驟S108)。上述TCSA Ai的相依關係包含初始化相依關係及執行相依關係。上述已註冊的TCSA Ai關聯上述資料庫230中的資料物件(步驟S110)並從上述已註冊狀態切換至上述等待狀態(步驟S112)。在上述步驟S110中的關聯作業稱為資料綁定。在上述步驟S110中的資料綁定包含儲存上述TCSA Ai的ID於服務代理器ID資料物件2403。上述SIM 210根據上述初始化相依關係以驅動上
述TCSA Ai的初始化作業,並根據上述執行相依關係以執行上述TCSA Ai(步驟S114)。舉例來說,在上述初始化相依關係資料庫中的初始化相依關係包含在上述資料庫230中的第一關係,用以表示上述TCSA Ai依附於TCSA Aj,換言之,上述TCSA Ai的初始化跟隨在上述TCSA Aj的初始化之後。上述變數j是整數,且1≦j≦n,並且j≠i。在上述步驟S114,上述SIM 210依序地驅動上述TCSA Aj及上述 TCSA Ai的初始化。在上述TCSA Aj的初始化過程中,上述SIM 210控制上述TCSA Aj進行自行設定,並從上述等待狀態切換至上述自行設定狀態。在上述TCSA Aj的初始化完成後,上述SIM 210驅動(步驟S116)上述TCSA Ai的初始化,其中上述SIM 210控制上述TCSA Ai進行自行設定,並從上述等待狀態切換至上述自行設定狀態(步驟S118)。上述TCSA A1-An其中的每個TCSA的初始化,舉例來說,可以包含設定上述TCSA的一個或一個以上功能的驅動程式。上述TCSA Ai根據圖3進行狀態切換。
2.3 程式執行期間的補丁運作流程
上述通訊單元156與外部裝置300通訊,並從上述外部裝置300接收LCSA B用以取代上述TCSA Ai。上述LCSA B稱為上述TCSA Ai的補丁,用以提供第二功能以取代上述TCSA Ai的第一功能。舉例來說,所述第一功能及第二功能可以包括例如NTP、橋接器、防火牆、或DHCP功能。
上述處理器151以一個程序的形式執行上述LCSA B以取代上述TCSA Ai,在上述取代的手段中包含禁能上述TCSA Ai,並將上述TCSA Ai的資料物件關聯於上述LCSA B。如圖3所示,LCSA的狀態及狀態切換如同TCSA。因此,上述裝置100可以接收一個或一個
以上的LCSA以取代一個或一個以上的TCSA。
參照圖7,TCSA Ai起初在初始狀態(步驟S200)。上述SIM 210使上述LCSA B從初始狀態切換至下個狀態(步驟S202)。上述LCSA B開始在上述SIM 210註冊(步驟S204)。上述LCSA B在上述SIM 210的註冊作業包含註冊其服務代理器能力。當LCSA B完成註冊時,上述SIM 210控制上述LCSA B從上述初始狀態切換至已註冊狀態(步驟S206)。
上述已註冊的LCSA B通知上述SIM 210關於上述LCSA B的相依關係(步驟S208)。上述LCSA B的相依關係包含初始化相依關係及執行相依關係。上述LCSA B及SIM 210指導上述處理器151增加上述LCSA B的相依關係至上述資料庫230。上述LCSA B從上述已註冊狀態切換至上述等待狀態(步驟S212)。上述SIM 210根據上述初始化相依關係以驅動上述TCSA A1-An及LCSA B的初始化作業,並根據上述執行相依關係以執行上述TCSA A1-An及LCSA B(步驟S214)。舉例來說,上述LCSA B的初始化相依關係包含在上述資料庫230中的第二關係,用以表示上述LCSA B依附於TCSA Aj。換言之,在步驟S214中,上述LCSA B的初始化跟隨在上述TCSA Aj的初始化之後。在上述TCSA Aj的初始化過程中,上述SIM 210控制上述TCSA Aj進行自行設定,並從上述等待狀態切換至上述自行設定狀態。在上述TCSA Aj的初始化完成後,上述SIM 210驅動上述LCSA B的初始化,其中上述SIM 210控制上述LCSA B進行自行設定,並從上述等待狀態切換至上述自行設定狀態(步驟S216)。上述LCSA B的初始化,舉例來說,可以包含設定上述LCSA B的一個或一個以上功能的驅動程式。
上述LCSA B的自行設定作業包含驅使上述TCSA Ai禁能。舉例來說,上述LCSA B請求上述TCSA Ai從上述執行狀態切換至禁能狀態(步驟S218)。上述TCSA Ai通知上述SIM 210有關其狀態已切換至禁能狀態(步驟S220)。上述SIM 210回應上述通知時,驅使依附於上述TCSA Ai的所有TCSA及LCSA進入等待狀態(步驟S222)。上述SIM 210驅使上述TCSA Ai切換至上述結束狀態(步驟S224)。
上述LCSA B關聯上述資料庫230中上述TCSA Ai的資料物件,以完成資料綁定(步驟S226)並從上述自行設定狀態切換至上述等待狀態(步驟S228)。如圖8所示,在上述步驟S226中的資料綁定包含儲存上述LCSA B的ID於服務代理器ID資料物件2403。在完成步驟S226之後,上述SIM 210驅動上述LCSA B的初始化(步驟S230),上述LCSA B的初始化過程中,其中上述SIM 210控制上述LCSA B進行自行設定(步驟S230),並從上述等待狀態切換至上述自行設定狀態(步驟S232)。上述LCSA B的初始化,舉例來說,可以包含設定上述LCSA B的一個或一個以上功能的驅動程式。
在上述步驟S208中,上述LCSA B可以於上述資料庫230中增加執行相依關係,用以表示上述LCSA B的執行跟隨在一個或一個以上的TCSA執行作業之後。上述SIM 210根據上述新增的執行相依關係,在上述一個或一個以上的TCSA已執行之後,才驅動執行上述LCSA B。
2.4 系統初始化期間取代作業
參照圖9,上述SIM 210使上述TCSA Ai從初始狀態切換至下個狀態(步驟S300)。上述TCSA Ai開始在上述SIM 210註冊(步驟S304)。當TCSA Ai完成註冊時,上述SIM 210控制上述TCSA Ai從上述初
始狀態切換至已註冊狀態(步驟S306)。
上述已註冊的TCSA Ai建立並通知關於上述TCSA Ai的相依關係至SIM 210(步驟S308)。上述TCSA Ai的相依關係包含初始化相依關係及執行相依關係。上述已註冊的TCSA Ai關聯上述資料庫230中的資料物件(步驟S310)並從上述已註冊狀態切換至上述等待狀態(步驟S312)。
上述SIM 210使上述LCSA B從初始狀態切換至下個狀態(步驟S313)。上述LCSA B開始在上述SIM 210註冊(步驟S314)。當LCSA B完成註冊時,上述SIM 210控制上述LCSA B從上述初始狀態切換至已註冊狀態(步驟S316)。
上述已註冊的LCSA B建位並通知關於上述LCSA B的相依關係至上述SIM 210(步驟S318)。上述LCSA B的相依關係包含初始化相依關係及執行相依關係。其中上述LCSA B的初始化相依關係表示上述LCSA B的初始化優先於全部的TCSA。步驟S318稱為第一次相依關係建立步驟。上述已註冊的LCSA B從上述已註冊狀態切換至上述等待狀態(步驟S322)。上述SIM 210根據上述LCSA B的上述初始化相依關係以驅動上述TCSA A1-An及LCSA B的初始化作業(步驟S324)。在上述步驟S324中,上述SIM 210驅動上述LCSA B的上述初始化,優先於包含TCSA Ai的全部TCSA。在上述已註冊的LCSA B的初始化中,上述SIM 210控制上述LCSA B進行自行設定,並從上述等待狀態切換至上述自行設定狀態(步驟S326)。
上述LCSA B的自行設定作業包含驅使上述TCSA Ai禁能。舉例來說,上述LCSA B請求上述TCSA Ai從上述執行狀態切換至禁能狀態(步驟S332)。上述TCSA Ai通知上述SIM 210有關其狀態已切換
至禁能狀態。上述SIM 210驅使上述TCSA Ai切換至上述結束狀態。
上述LCSA B關聯上述資料庫230中上述TCSA Ai的資料物件,以完成資料綁定(步驟S334),通知有關上述LCSA B的新相依關係至上述SIM 210(步驟S336),並從上述自行設定狀態切換至上述等待狀態(步驟S338)。上述LCSA B的新相依關係用以取代在上述第一次相依關係建立步驟中的相依關係。上述LCSA B的新相依關係中的其中一個相依關係表示上述LCSA B的初始化跟隨在上述TCSA Aj的初始化之後。在步驟S340中,上述SIM 210驅動上述TCSA Aj的初始化,優先於上述LCSA B的初始化。在上述步驟S340完成後,上述SIM 210驅動上述LCSA B的初始化,其中上述SIM 210控制上述LCSA B進行自行設定(步驟S342),並從上述等待狀態切換至上述自行設定狀態。上述LCSA B的初始化,舉例來說,可以包含設定上述LCSA B的一個或一個以上功能的驅動程式。
3. 結論
總之,上述裝置100以單獨的軟體程序形式執行上述MLS 200,並以線程的形式執行複數TCSA以作為上述軟體程序中的線程,並接收LCSA以取代錯誤的TCSA。上述裝置100以另個軟體程序形式執行上述LCSA。上述SIM 210則標準化管理上述複數TCSA及LCSA的狀態。
Ai‧‧‧密耦合服務代理器(TCSA)
B‧‧‧疏耦合服務代理器(LCSA)
210‧‧‧系統初始化管理器(SIM)
230‧‧‧資料庫
S220-S232‧‧‧韌體補丁方法步驟
Claims (10)
- 一種通訊裝置,包含:一記憶體,儲存上述通訊裝置作為一個軟體程序執行的管理層服務,上述軟體程序包含複數密耦合服務代理器(tightly coupled service agent,TCSA),上述複數密耦合服務代理器中的每個密耦合服務代理器作為上述管理層服務的線程,上述管理層服務更包含稱為系統初始化管理器的線程,用以管理上述複數密耦合服務代理器的初始化;一通訊單元,用以通訊連接一外部裝置,並從上述外部裝置接收疏耦合服務代理器(loosely coupled service agent,LCSA)以取代上述複數密耦合服務代理器之其中一第一代理器,其中上述疏耦合服務代理器提供第二功能以取代上述第一代理器的第一功能;一處理器,執行上述疏耦合服務代理器時,上述疏耦合服務代理器作為一個軟體程序用以取代上述第一代理器,禁能上述第一代理器,並結合上述第一代理器的資料物件至上述疏耦合服務代理器。
- 如申請專利範圍第1項所述的通訊裝置,其中上述記憶體包含初始化相依資料庫,用以儲存上述複數密耦合服務代理器的初始化相依關係,以及上述系統初始化管理器根據上述初始化相依關係以初始化上述複數密耦合服務代理器。
- 如申請專利範圍第2項所述的通訊裝置,其中上述初始化相依關係包含第一關係,上述第一關係用以表示上述第一代理器的初始化跟隨在上述複數密耦合服務代理器之其中一第二代理器的初始化之後;上述疏耦合服務代理器指導上述處理器增加第二相依關係至上述初始化相依關係,上述第二相依關係表示上述疏耦合服務代理器的初始化跟隨 在上述第二代理器的初始化之後;上述系統初始化管理器指導上述處理器根據上述第二相依關係在上述第二代理器的初始化之後,啟動上述疏耦合服務代理器的初始化;以及上述疏耦合服務代理器使上述第一代理器被禁能。
- 如申請專利範圍第3項所述的通訊裝置,其中:在上述通訊裝置初始化期間,上述疏耦合服務代理器增加第三相依關係至上述初始化相依關係,上述第三相依關係表示上述疏耦合服務代理器的初始化先於上述複數密耦合服務代理器的初始化;在根據上述第三相依關係進行的上述疏耦合服務代理器初始化期間,上述疏耦合服務代理器使上述第一代理器被禁能,並增加上述第二相依關係至上述初始化相依關係以取代上述第三相依關係。
- 如申請專利範圍第3項所述的通訊裝置,其中上述第一代理器具有複數狀態,且上述系統初始化管理器利用上述第一代理器的程序呼叫以切換上述第一代理器至上述複數狀態的其中一個狀態。
- 如申請專利範圍第5項所述的通訊裝置,其中上述記憶體包含執行相依資料庫,用以儲存上述複數密耦合服務代理器的執行相依關係,以及上述系統初始化管理器根據上述執行相依關係以啟動上述複數密耦合服務代理器的執行作業。
- 如申請專利範圍第6項所述的通訊裝置,其中上述執行相依關係包含第四相依關係,上述第四相依關係用以表示上述第一代理器的執行作業跟隨在上述複數密耦合服務代理器之其中一第三代理器的執行作業之後;在上述通訊裝置接收上述疏耦合服務代理器之後,上述處理器註冊上述疏耦合服務代理器於上述系統初始化管理器;上述疏耦合服務代理器增加第五相依關係至上述執行相依關係,上述第五相依關係表示上述疏耦合服務代理器的執行作業跟隨在上述第三代理 器的執行作業之後;以及上述系統初始化管理器根據上述第五相依關係在上述第三代理器的執行作業之後,啟動上述疏耦合服務代理器的執行作業。
- 一種通訊裝置韌體補丁方法,執行於一通訊裝置,上述通訊裝置包括一記憶體、一通訊單元及一處理器,包括:儲存上述通訊裝置作為一個軟體程式執行的管理層服務於上述記憶體,上述軟體程式包括複數密耦合服務代理器,上述複數密耦合服務代理器中的每個密耦合服務代理器作為上述管理層服務的線程,上述管理層服務還包括稱為系統初始化管理器的線程,用於管理上述複數密耦合服務代理器的初始化;上述通訊單元用於通訊連接外部裝置,並從上述外部裝置接收疏耦合服務代理器以取代上述複數密耦合服務代理器的其中第一代理器,其中上述疏耦合服務代理器提供第二功能以取代上述第一代理器的第一功能;上述處理器執行上述疏耦合服務代理器時,上述疏耦合服務代理器作為一個軟體程式用於取代上述第一代理器,禁能上述第一代理器,並結合上述第一代理器的資料物件至上述疏耦合服務代理器。
- 如申請專利範圍第8項所述的通訊裝置韌體補丁方法,其中上述記憶體包括初始化相依資料庫,用於儲存上述複數密耦合服務代理器的初始化相依關係,以及上述系統初始化管理器根據上述初始化相依關係以初始化上述複數密耦合服務代理器。
- 如申請專利範圍第9項所述的通訊裝置韌體補丁方法,其中上述初始化相依關係包括第一關係,上述第一關係用於表示上述第一代理器的初始化跟隨在上述複數密耦合服務代理器的其中第二代理器的初始化之後;上述疏耦合服務代理器指導上述處理器增加第二相依關係至上述初始化相依關係,上述第二相依關係表示上述疏耦合服務代理器的初始化跟隨 在上述第二代理器的初始化之後;上述系統初始化管理器指導上述處理器根據上述第二相依關係在上述第二代理器的初始化之後,啟動上述疏耦合服務代理器的初始化;以及上述疏耦合服務代理器使上述第一代理器被禁能。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW99137009A TWI438685B (zh) | 2010-10-28 | 2010-10-28 | 通訊裝置及其韌體補丁方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW99137009A TWI438685B (zh) | 2010-10-28 | 2010-10-28 | 通訊裝置及其韌體補丁方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201218078A TW201218078A (en) | 2012-05-01 |
| TWI438685B true TWI438685B (zh) | 2014-05-21 |
Family
ID=46552406
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW99137009A TWI438685B (zh) | 2010-10-28 | 2010-10-28 | 通訊裝置及其韌體補丁方法 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI438685B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11500649B2 (en) * | 2020-09-24 | 2022-11-15 | Dell Products L.P. | Coordinated initialization system |
-
2010
- 2010-10-28 TW TW99137009A patent/TWI438685B/zh not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| TW201218078A (en) | 2012-05-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101317381B (zh) | 对能力管理对象维护、对能力管理的方法、系统及终端 | |
| US8719390B2 (en) | Server management apparatus and server management method | |
| WO2019062703A1 (zh) | 升级方法、嵌入式系统 | |
| CN108369543A (zh) | 使用声明性配置数据解决云操作中的错误 | |
| CN110187912A (zh) | 一种节点选择方法和装置 | |
| JP5371095B2 (ja) | パッチ適用システム | |
| CN101252458A (zh) | 一种固件批量升级方法 | |
| CN105204880B (zh) | 计算机系统及基本输入输出系统的设定方法 | |
| CN102082730B (zh) | 一种路由器升级方法及路由器 | |
| CN101222367A (zh) | 用于集群网元批量更新版本文件的方法和网管系统 | |
| CN104423981A (zh) | Bmc固件自动更新系统及方法 | |
| JP4813331B2 (ja) | 移動体電子装置 | |
| CN101192937A (zh) | 一种可热部署的方法及其系统 | |
| CN112579369B (zh) | 多线程刷机系统、方法、装置、设备和存储介质 | |
| TWI438685B (zh) | 通訊裝置及其韌體補丁方法 | |
| WO2018210063A1 (zh) | 一种终端系统启动方法及终端 | |
| CN102455918A (zh) | 通信装置及其固件补丁方法 | |
| CN111488163A (zh) | 一种固件更新方法、装置及电子设备和存储介质 | |
| CN104809021B (zh) | 多重作业环境服务的管理系统及管理方法 | |
| CN104951318A (zh) | 软件版本更新的方法和装置 | |
| CN117170916B (zh) | 一种故障分析方法、装置、设备及存储介质 | |
| TWI497319B (zh) | 基板管理控制器的更新方法 | |
| CN109739868B (zh) | 一种数据处理方法及其相关设备 | |
| CN113342496B (zh) | 单实例进程切换方法、系统及存储介质 | |
| JP5174718B2 (ja) | ネットワークシステムおよびネットワークアダプタ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |