[go: up one dir, main page]

TWI438685B - Communication device and firmware patching method thereof - Google Patents

Communication device and firmware patching method thereof Download PDF

Info

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
Application number
TW99137009A
Other languages
Chinese (zh)
Other versions
TW201218078A (en
Inventor
Chih Yuan Huang
Ming Chin Ho
Original Assignee
Hon Hai Prec Ind Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hon Hai Prec Ind Co Ltd filed Critical Hon Hai Prec Ind Co Ltd
Priority to TW99137009A priority Critical patent/TWI438685B/en
Publication of TW201218078A publication Critical patent/TW201218078A/en
Application granted granted Critical
Publication of TWI438685B publication Critical patent/TWI438685B/en

Links

Landscapes

  • Stored Programmes (AREA)

Description

通訊裝置及其韌體補丁方法 Communication device and firmware patch method thereof

本發明涉及電腦技術,尤其涉及一種通訊裝置及其韌體補丁方法。 The invention relates to computer technology, in particular to a communication device and a firmware patching method thereof.

路由器(router)、乙太網路交換器(Ethernet switch)、個人數位助理(personal digital assistant,簡稱PDA)、或行的電話等通訊裝置其主要的執行程式如開機程式、硬體組態設定資料等皆包含在其韌體,它的功能及效率影響了裝置的整體表現。因此,軟體工程盡相當大的努力在韌體的開發與除錯。 Routers, Ethernet switches, personal digital assistants (PDAs), or mobile phones, etc. The main execution programs such as boot programs and hardware configuration settings It is included in its firmware, and its function and efficiency affect the overall performance of the device. Therefore, software engineering has made considerable efforts in the development and debugging of firmware.

在一種產品上市後的一段時間,軟體工程師通常仍會持續地對韌體做修改。此修改通常包括執行效率的改進、程式碼的除錯、新功能的加入、及針對客戶需求所做的更動。每次釋出新版的韌體程式就需要耗時的驗證流程,而延遲了程式設計師對韌體問題反應的時間。另外,在下載及安裝新的韌體後,通訊裝置重新開機以啟動新的韌體,但是在企業環境中應避免重新啟動乙太網路交換機。 Software engineers often continue to modify firmware for a period of time after a product is released. This modification typically includes improvements in execution efficiency, debugging of code, addition of new features, and changes made to customer needs. Each time a new version of the firmware is released, it takes a time-consuming verification process and delays the programmer's reaction to the firmware issue. In addition, after downloading and installing the new firmware, the communication device reboots to boot the new firmware, but avoid restarting the Ethernet switch in an enterprise environment.

本發明實施方式提出一種通訊裝置,包含記憶體、通訊單元及處理器。上述記憶體儲存上述通訊裝置作為一個軟體程序執行的管 理層服務。上述軟體程序包含複數密耦合服務代理器(tightly coupled service agent,TCSA)。上述複數密耦合服務代理器中的每個密耦合服務代理器作為上述管理層服務的線程,上述管理層服務更包含稱為系統初始化管理器的線程,用以管理上述複數密耦合服務代理器的初始化。上述通訊單元用以通訊連接一外部裝置,並從上述外部裝置接收疏耦合服務代理器(loosely coupled service agent,LCSA)以取代上述複數密耦合服務代理器之其中一第一代理器,其中上述疏耦合服務代理器提供第二功能以取代上述第一代理器的第一功能。上述處理器執行上述疏耦合服務代理器時,上述疏耦合服務代理器作為一個軟體程序用以取代上述第一代理器,禁能上述第一代理器,並結合上述第一代理器的資料物件至上述疏耦合服務代理器。 Embodiments of the present invention provide a communication device including a memory, a communication unit, and a processor. The above memory stores the communication device as a software program execution tube Physical service. The above software program includes a complex coupled service agent (TCSA). Each of the plurality of closely coupled service agents is a thread of the management service, and the management service further includes a thread called a system initialization manager for managing the complex close-coupled service agent. initialization. The communication unit is configured to communicate with an external device, and receive a loosely coupled service agent (LCSA) from the external device to replace one of the first agents of the plurality of closely coupled service agents, wherein the foregoing The coupling service agent provides a second function to replace the first function of the first agent described above. When the processor performs the above-mentioned decoupling service agent, the above-mentioned decoupling service agent is used as a software program to replace the first agent, disabling the first agent, and combining the data objects of the first agent to The above-mentioned sparse coupling service agent.

本發明另一實施方式提出一種通訊裝置韌體補丁方法,執行於一通訊裝置,所述通訊裝置包括一記憶體、一通訊單元及一處理器。上述通訊裝置韌體補丁方法包括下列步驟。 Another embodiment of the present invention provides a firmware patching method for a communication device, which is implemented in a communication device. The communication device includes a memory, a communication unit, and a processor. The above communication device firmware patch method includes the following steps.

儲存上述通訊裝置作為一個軟體程式執行的管理層服務於上述記憶體。上述軟體程式包括複數密耦合服務代理器,上述複數密耦合服務代理器中的每個密耦合服務代理器作為上述管理層服務的線程。上述管理層服務還包括稱為系統初始化管理器的線程,用於管理上述複數密耦合服務代理器的初始化。上述通訊單元用於通訊連接外部裝置,並從上述外部裝置接收疏耦合服務代理器以取代上述複數密耦合服務代理器的其中第一代理器,其中上述疏耦合服務代理器提供第二功能以取代上述第一代理器的第一功能。上述處理器執行上述疏耦合服務代理器時,上述疏耦合服務代 理器作為一個軟體程式用於取代上述第一代理器,禁能上述第一代理器,並結合上述第一代理器的資料物件至上述疏耦合服務代理器。 The management device that stores the above communication device as a software program serves the above memory. The software program includes a complex crypto-coupling service agent, and each of the complex crypto-coupled service agents acts as a thread of the management service. The above management service also includes a thread called a system initialization manager for managing the initialization of the complex close-coupled service agent. The communication unit is configured to communicatively connect an external device, and receive a decoupling service agent from the external device to replace the first agent of the plurality of close-coupled service agents, wherein the decoupled service agent provides a second function to replace The first function of the first agent described above. When the above processor executes the above-mentioned decoupled service agent, the above-mentioned sparse coupling service generation As a software program, the processor is used to replace the first agent, and the first agent is disabled, and the data object of the first agent is combined with the above-mentioned sparse coupling service agent.

100‧‧‧通訊裝置 100‧‧‧Communication device

151‧‧‧處理器 151‧‧‧ processor

152‧‧‧主記憶體 152‧‧‧ main memory

153‧‧‧非揮發性記憶體 153‧‧‧ Non-volatile memory

154‧‧‧大量儲存裝置 154‧‧‧Many storage devices

156‧‧‧通訊單元 156‧‧‧Communication unit

158‧‧‧電源供應器 158‧‧‧Power supply

159‧‧‧石英振盪器 159‧‧‧Crystal Oscillator

160‧‧‧輸入輸出裝置 160‧‧‧Input and output devices

164‧‧‧埠 164‧‧‧埠

165‧‧‧控制器 165‧‧‧ Controller

200‧‧‧管理層服務(MLS) 200‧‧‧Management Services (MLS)

210‧‧‧系統初始化管理器(SIM) 210‧‧‧System Initialization Manager (SIM)

220a,220b‧‧‧資料物件實例 220a, 220b‧‧‧ Examples of data objects

2201‧‧‧存取類別 2201‧‧‧Access category

2202‧‧‧服務代理器能力 2202‧‧‧Service agent capabilities

2203‧‧‧初始化相依關係清單 2203‧‧‧Initialization of dependency list

2206‧‧‧名稱 2206‧‧‧Name

2208‧‧‧執行相依關係清單 2208‧‧‧Execution of dependency list

2209‧‧‧服務代理器狀態 2209‧‧‧Service Agent Status

2210‧‧‧服務代理器類別 2210‧‧‧Service Agent Category

230‧‧‧資料庫 230‧‧‧Database

2301‧‧‧SIM的資料物件 2301‧‧‧SIM data items

240a,240b‧‧‧資料物件實例 240a, 240b‧‧‧ Examples of data objects

2401‧‧‧存取類別 2401‧‧‧Access category

2402‧‧‧回呼函式 2402‧‧‧回回函

2403‧‧‧服務代理器ID 2403‧‧‧Service Agent ID

2406‧‧‧名稱 2406‧‧‧Name

2407‧‧‧版本 Version 2407‧‧‧

300‧‧‧外部裝置 300‧‧‧External devices

50‧‧‧計時器 50‧‧‧Timer

60‧‧‧計時器 60‧‧‧Timer

A1-An,Ai,Aj,Ak,Am,An‧‧‧密耦合服務代理器(TCSA) A 1 -A n ,A i ,A j ,A k ,A m ,A n ‧‧‧Double Coupled Service Agent (TCSA)

B‧‧‧疏耦合服務代理器(LCSA) B‧‧‧Sparse Coupled Service Agent (LCSA)

圖1顯示用戶端裝置結構方塊圖;圖2顯示管理層服務的實施方式的示意圖;圖3顯示服務代理器的狀態及狀態切換示意圖;圖4顯示服務代理器的資料物件的示意圖;圖5顯示系統初始化管理器的資料物件的示意圖;圖6顯示用戶端裝置在接收補丁資料以前的操作流程圖;圖7顯示用戶端裝置在接收補丁資料之後的操作流程圖;圖8顯示關聯於另一個服務代理器的資料物件的示意圖;圖9顯示用戶端裝置在接收補丁資料之後的初始化流程圖。 1 is a block diagram showing the structure of a client device; FIG. 2 is a schematic diagram showing an embodiment of a management service; FIG. 3 is a diagram showing a state and state switching of a service agent; FIG. 4 is a schematic diagram showing a data object of a service agent; Schematic diagram of the data item of the system initialization manager; FIG. 6 shows a flow chart of the operation of the client device before receiving the patch data; FIG. 7 shows a flow chart of the operation of the client device after receiving the patch data; FIG. Schematic diagram of the data object of the agent; Figure 9 shows the initialization flow chart of the client device after receiving the patch data.

參照圖1,本發明所揭露的通訊裝置100可以包含用戶端裝置(customer premises equipment,CPE),例如:乙太網路交換器(Ethernet switch)、路由器(router)、數據機(modem),例如:纜線數據機(cable modem)或高位元率數位用戶線(very-high-bit rate digital subscriber line,VDSL)數據機。上述用戶端裝置100可以實作成單獨一台裝置,或整合於各種不同的電子裝置中,諸如機頂盒、個人電腦。 Referring to FIG. 1, the communication device 100 disclosed in the present invention may include a customer premises equipment (CPE), such as an Ethernet switch, a router, a modem, for example, : cable modem or very high-bit rate digital subscriber line (VDSL) modem. The client device 100 can be implemented as a single device or integrated into various electronic devices, such as a set top box or a personal computer.

1.1 通訊裝置之實施例 1.1 Example of communication device

參照圖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)。 Referring to FIG. 1, the processor 151 is a central processing unit of the communication device 100, and may be composed of an integrated circuit (IC) for processing data and executing a computer program. The component connection mode of the communication device 100 is as shown in FIG. 1, and may be constituted by a serial or parallel bus bar or a wireless communication channel. The wireless communication unit 156 establishes a communication channel for the communication device 100 to connect to the Internet through the communication channel. In addition, the wireless communication unit 156 can establish a wireless communication channel, such as a mobile device, such as a computer or mobile device (such as a mobile phone, a remote controller, a laptop), to connect to the communication device 100 and exchange data through the wireless communication channel. The communication unit 156 may include an antenna, a base band, and a radio frequency (RF) chip set for performing wireless local area network (wireless LAN) communication, infrared communication, and/or a honeycomb. Communication system communication, such as Wideband Code Division Multiple Access (W-CDMA) and High Speed Downlink Packet Access (HSDPA). Through the wireless communication channel established above, the communication device 100 can serve as an access point of the wireless local area network, so that the mobile device can connect to the Internet via the access point.

處理器151可以是由單顆封裝的IC所組成,或連接多顆相同功能或不同功能的封裝IC而組成。舉例來說,處理器151可以僅包含中央處理器(Central Processing Unit,簡稱CPU),或者是CPU、數位信號處理器(digital signal processor,簡稱DSP)、及通訊控制器(例如通訊單元156)的控制晶片的組合。上述通訊控制器可以包含蜂巢式通訊系統通訊、紅外線、藍芽(BluetoothTM)或無線區域網路的通訊控制裝置。所述的通訊控制器用以控制通訊裝置100中的各元件的通訊,或通訊裝置100與外部裝置的通訊 。 The processor 151 may be composed of a single packaged IC or a plurality of packaged ICs having the same function or different functions. For example, the processor 151 may only include a central processing unit (CPU), or a CPU, a digital signal processor (DSP), and a communication controller (for example, the communication unit 156). Control the combination of wafers. The above-described communication controller may comprise cellular communication system communication, infrared, Bluetooth (Bluetooth TM) or wireless LAN communication control apparatus. The communication controller is used to control communication of components in the communication device 100 or communication between the communication device 100 and an external device.

電源供應器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)。 The power supply 158 supplies power to each component in the communication device 100. The quartz oscillator 159 provides a clock signal to the processor 151 and other components in the communication device 100. The timers 50 and 60 may be constructed by circuitry, computer programs, or a combination thereof for timing a fixed length of time. A timer 50 or 60 expiration generates a signal to inform the end of the timed period. The input/output device 160 includes a control button, an alphanumeric keyboard, a touch panel, a touch screen, and a plurality of light emitting diodes (LEDs). The controller 165 detects and controls the operation and operation of the input/output device 160, and transmits the detected operation to the processor 151. The processor 151 can control the input/output device 160 through the controller 165. The 埠164 can be connected to a variety of computerized interfaces, such as an external computer device or peripheral device. The 埠164 may be an entity conforming to the standards of a universal serial bus (USB) or the Institute of Electrical and Electronics Engineers (IEEE) 1394, and the Electronic Industries Association (EIA). The physical connection port 埠, Serial ATA (Required Standard-232, RS-232) and/or Recommendation No. 11 (RS-11) Referred to as SATA) and / or 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)快閃記憶體。 The nonvolatile memory 153 stores a firmware program including the operating system 190 and the application executed by the processor 151. The processor 151 can load the firmware program from the non-volatile memory 153 to the main memory 152 and execute it in the main memory 152 in the form of a software process. The above processor 151 The data is stored in the mass storage device 154. The main memory 152 may include a random access memory (RAM), such as, for example, a static random access memory (SRAM) or a dynamic random access memory (Dynamic RAM). DRAM). The non-volatile memory 153 may be an Electronically Erasable Programmable Read-Only Memory (EEPROM) or a flash memory, such as a reverse (NOR) flash memory. Or reverse (NAND) flash memory.

當上述處理器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)。 When the processor 151 completes the initialization of the operating system 190, the operating system 190 initializes and starts the first application of the application as a software program, called a management layer services (MLS) 200. The communication device 100 can obtain the patch data of the MLS 200 from the wireless communication signal, for example, through the antenna, the tuner, and the demodulator. Alternatively, the communication device 100 can obtain the patch data of the MLS 200 from the information network, for example, from the Internet through the network interface. The patch data includes a loosely coupled service agent (LCSA) for replacing the tightly coupled service agent (TCSA) of the communication device 100.

2. 補丁方法實施方式 2. Patch method implementation

上述通訊裝置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停止執行一個服務代理器相關的複數驅動程式時,上述服務代理器切換至上述禁能狀態,並且當上述服務代理器的相關資料被釋放而不再與上述服務代理器相關時,上述服務代理器進入上述結束狀態。 The above-described processor 151 in the above communication device 100 executes the above-described MLS 200 as a software program. Referring to FIG. 2, the MLS 200 includes a system initialization manager (SIM) 210 and a tightly coupled service agent (TCSA) A 1 -A n , where n is an integer greater than one. When TCSA A 1 -A n, wherein each of TCSA 151 executed by the processor, the communications device 100 provides a guide function, such as Network Time Protocol (network time protocol, NTP), (bridge) bridge, firewall (Firewall ), or dynamic host configuration protocol (DHCP). When the processor 151 executes the MLS 200 software program, each of the above SIM 210 and TCSA A 1 -A n is executed in the form of a thread. As shown in FIG. 3, the above-described TCSA A 1 -A n, wherein each of the plurality having a TCSA SIM 210 may be managed by the state, comprising initially registered, wait, set their own, is set to start is performed, and end disabling. In Figure 3, the state of each service agent is represented by a node whose state switching is represented by a line connecting the two nodes. The state and state switching of the loosely coupled service agent (LCSA) is the same as the TCSA state and state switching shown in FIG. The LCSA is a service agent program carried in the patch material and is executed by the above processor 151 in the form of a software program. SIM 210 controls and manages the above-described initialization and execution TCSA A 1 -A n and the LCSA. SIM 210 using the above-described TCSA A 1 -A n and LCSA wherein each service agent program call (procedure call) to switch the service agent of the complex to a state wherein the above-described state. A service agent, such as TCSA or LCSA, registers relevant information in the initial state to the SIM 210 described above, and when the registration is completed, switches from the initial state to the registered state. The service agent notifies the SIM 210 of the dependency relationship associated with the service agent, and switches from the registered state to the waiting state. The above-mentioned dependency relationship includes the initialization dependency relationship and the execution dependency relationship of the above service agent. In the above-described controlling SIM 210 initialization job dependency relationships of the complex TCSA A 1 -A n and according to the above initialization LCSA. For example, when the SIM 210 initializes a specific service agent that is in a waiting state, the specific service agent is driven to perform self-configuration, and enters a self-setting state from the waiting state. When the self-setting is completed, the specific service agent enters the set state from the self-setting state. The SIM 210 can drive all the TCSAs and LCSAs to which the specific service agent is attached to enter the set state before driving the specific service agent to set itself. When the processor 151 executes a service agent-related complex driver, the service agent switches to the above-described execution state. The SIM 210 drives the specific service agent to enter the startup state after driving all the TCSAs and LCSAs to which the specific service agent is attached to enter the execution state. The processor 151 executes the particular service agent in an active state to enter the execution state. When the processor 151 stops executing a service agent-related complex driver, the service agent switches to the disabled state, and when the related information of the service agent is released and is no longer associated with the service agent. The above service agent enters the above end state.

2.1初始化相依關係資料庫及執行相依關係資料庫 2.1 Initialize the dependency database and execute the dependency database

上述裝置100利用技術回報069(Technical Report 069,TR069)中定義的SetParameterValues函式及應用程式介面(application programming interfaced,API)以設定上述資料庫230中的值,以及通知複數TCSA及LCSA有關上述資料庫230中的值改變的事件。 The device 100 uses the SetParameterValues function and the application programming interface (API) defined in the technical report 069 (Technical Report 069, TR069) to set the value in the database 230, and informs the multiple TCSA and LCSA about the above data. The event in the library 230 changes the value.

上述主記憶體152儲存上述MLS 200及其資料物件和設定檔。上述資料物件包含用以儲存上述複數TCSA A1-An及LCSA的初始化相依關係的初始化相依關係資料庫,以及用以儲存上述複數TCSA A1-An及LCSA的執行相依關係的執行相依關係資料庫。上述SIM 210根據上述初始化相依關係對上述TCSA A1-An進行初始化,並根據上述執行相依關係以啟動上述TCSA A1-An的執行作業。 The main memory 152 stores the MLS 200 and its data items and profiles. The above information items include an initialization dependency relational database for storing the initialization of the complex dependencies TCSA A 1 -A n and the LCSA, and perform execution of the complex for storing TCSA A 1 -A n and LCSA dependency relationship dependencies database. SIM 210 based on the above-described initialization dependency relationships above TCSA A 1 -A n is initialized, and to start execution of the job dependency relationships above TCSA A 1 -A n according to the execution.

圖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、名稱及版本。 4 shows examples 240a and 240b of the data items in the object database 230 described above. Each of the above examples 240a and 240b is associated with a service agent and includes the following data items: access categories, callback functions, agent identification (ID), name And version. For example, the above examples TCSA A i associated with the categories 240a include accessing 2401, the callback function 2402, the service agent ID 2403, name 2406 and 2407 editions. The variable i is an integer and 1≦i≦n. The above access category 2401 data object identifies its associated service agent TCSA A i as TCSA or LCSA. Callback function 2402 described above include links to its associated service agent TCSA A i with reference to the callback function address. The service agent ID 2403, name 2406, and version 2407 respectively include the ID, name, and version of the service agent TCSA A i .

圖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,及AnFIG. 5 shows the data item 2301 of the SIM 210 described above in the above-described database 230. The data item 2301 of the SIM 210 described above contains data items for controlling the service agent, such as instances 220a and 220b. Each data object used to control the service agent includes an access category, a service broker capability, an initialization dependency list, a name, a list of execution dependencies, a service broker state, and a service broker category. For example, related to the service agent TCSA A i data object instance 220a includes access Category 2201, 2202 service agent capabilities, initialization dependency list 2203, name 2206, execution dependency list 2208, 2209 service agent status And service agent category 2210. The SIM 210 records the capability of the service agent TCSA A i on the object 2202, its initialization dependency list, and the execution dependency list on the objects 2203 and 2208. The status of the service agent TCSA A i is in the object 2209. The initialization dependency list and the execution dependency list respectively represent the initialization dependency relationship and the execution dependency relationship of the service agent TCSA A i . The initialization dependency list and the execution dependency list respectively include a plurality of service agents attached to the service agent TCSA i at the time of initialization and execution. The service agent included in the above list of initialization and execution dependencies is referred to as the base service agent of the service agent TCSA A i described above. In FIG. 5, the above-described initialization dependency list includes only the base service agent A j , and the above-described execution dependency list includes the base service agents A k , A m , and A n .

2.2 原始運作流程 2.2 Original operational process

上述MLS 200指導上述處理器151執行以下的作業: The MLS 200 described above instructs the processor 151 to perform the following operations:

參照圖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。 Referring to FIG. 6, the SIM 210 so that the TCSA A 1 -A TCSA n wherein each switch from the initial state to the next state (step S100). Each of the TCSAs A 1 -A n described above is initially in an initial state (step S102), and registration with the above-described SIM 210 is started (step S104). When a TCSA (e.g., TCSA A i ) completes registration, the SIM 210 controls the TCSA to switch from the initial state to the registered state (step S106). Above TCSA A 1 -A n wherein each register its service agent comprising TCSA capability registration operation of the above-described SIM 210. Referring to FIG. 5, the service agent capability of the TCSA A i is stored in the data item 230 of the above-described SIM 210. The following description takes the above TCSA A i as an example, and it is to be understood that the steps therein can be applied to each of the above TCSAs A 1 -A n .

上述已註冊的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進行狀態切換。 The registered TCSA A i notifies the SIM 210 of the dependency relationship with respect to the above TCSA A i (step S108). The dependency relationship of the above TCSA A i includes an initialization dependency relationship and an execution dependency relationship. The registered TCSA A i is associated with the material in the database 230 (step S110) and is switched from the registered state to the waiting state (step S112). The associated job in the above step S110 is referred to as data binding. The data binding in the above step S110 includes storing the ID of the TCSA A i in the service agent ID data object 2403. The SIM 210 drives the initialization operation of the TCSA A i according to the initialization dependency relationship described above, and executes the TCSA A i according to the above-described execution dependency relationship (step S114). For example, the initialization dependency relationship in the initialization dependency database includes the first relationship in the database 230 to indicate that the TCSA A i is attached to the TCSA A j , in other words, the initialization of the TCSA A i follows After the initialization of the above TCSA A j . The above variable j is an integer, and 1≦j≦n, and j≠i. In the above step S114, the SIM 210 sequentially drives the initialization of the TCSA A j and the TCSA A i . In the above-described initialization process TCSA A j in the SIM 210 controls the self configuration TCSA A j, and switches from the wait state to the self-setting state. After the initialization of the TCSA A j is completed, the SIM 210 drives (step S116) the initialization of the TCSA A i , wherein the SIM 210 controls the TCSA A i to perform self-setting, and switches from the waiting state to the self-setting state ( Step S118). Above TCSA A 1 -A n wherein each TCSA initialization, for example, setting the driver may comprise one or more TCSA function. The above TCSA A i performs state switching according to FIG.

2.3 程式執行期間的補丁運作流程 2.3 Patch operation process during program execution

上述通訊單元156與外部裝置300通訊,並從上述外部裝置300接收LCSA B用以取代上述TCSA Ai。上述LCSA B稱為上述TCSA Ai的補丁,用以提供第二功能以取代上述TCSA Ai的第一功能。舉例來說,所述第一功能及第二功能可以包括例如NTP、橋接器、防火牆、或DHCP功能。 The communication unit 156 communicates with the external device 300, and receives the LCSA B from the external device 300 to replace the TCSA A i described above. The LCSA B is referred to as a patch of the above TCSA A i to provide a second function to replace the first function of the TCSA A i described above. For example, the first function and the second function may include, for example, an NTP, a bridge, a firewall, or a DHCP function.

上述處理器151以一個程序的形式執行上述LCSA B以取代上述TCSA Ai,在上述取代的手段中包含禁能上述TCSA Ai,並將上述TCSA Ai的資料物件關聯於上述LCSA B。如圖3所示,LCSA的狀態及狀態切換如同TCSA。因此,上述裝置100可以接收一個或一個 以上的LCSA以取代一個或一個以上的TCSA。 The processor 151 executes the above-described in the form of a program instead of the above-described LCSA B to TCSA A i, comprising the above-described disabling TCSA A i in the above substituents means, and data object associated with the above-described TCSA A i to the LCSA B. As shown in Figure 3, the state and state switching of the LCSA is like TCSA. Thus, the apparatus 100 described above can receive one or more LCSAs in place of one or more TCSAs.

參照圖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)。 Referring to Fig. 7, TCSA A i is initially in an initial state (step S200). The SIM 210 switches the LCSA B from the initial state to the next state (step S202). The LCSA B described above starts to register with the SIM 210 described above (step S204). The above LCSA B registration operation in the above SIM 210 includes the registration of its service agent capabilities. When the LCSA B completes registration, the SIM 210 controls the LCSA B to switch from the initial state to the registered state (step 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的一個或一個以上功能的驅動程式。 The registered LCSA B notifies the dependency relationship of the above SIM 210 regarding the LCSA B described above (step S208). The dependency relationship of the LCSA B described above includes an initialization dependency relationship and an execution dependency relationship. The LCSA B and the SIM 210 described above instruct the processor 151 to increase the dependency relationship of the LCSA B to the database 230. The LCSA B switches from the registered state to the waiting state (step S212). SIM 210 based on the above-described initialization dependency relationships driving the TCSA A 1 -A n and initialization operations LCSA B, and according to the execution dependency relationships to perform the above TCSA A 1 -A n and LCSA B (step S214). For example, the initialization dependency relationship of the LCSA B described above includes a second relationship in the database 230 to indicate that the LCSA B is attached to the TCSA A j . In other words, in step S214, the initialization of the LCSA B described above follows the initialization of the aforementioned TCSA A j . In the above-described initialization process TCSA A j in the SIM 210 controls the self configuration TCSA A j, and switches from the wait state to the self-setting state. After the initialization of the TCSA A j is completed, the SIM 210 drives the initialization of the LCSA B, wherein the SIM 210 controls the LCSA B to perform self-setting, and switches from the waiting state to the self-setting state (step S216). The initialization of the LCSA B described above may include, for example, a driver that sets one or more functions of the LCSA B described above.

上述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)。 The self-setting operation of the above LCSA B includes driving the above TCSA A i to disable. For example, the LCSA B requests the TCSA A i to switch from the above execution state to the disabled state (step S218). The above TCSA A i notifies the above SIM 210 that its state has been switched to the disabled state (step S220). When the SIM 210 responds to the above notification, it drives all the TCSAs and LCSAs attached to the TCSA A i to enter a waiting state (step S222). The SIM 210 drives the TCSA A i to switch to the end state (step 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的一個或一個以上功能的驅動程式。 The LCSA B associates the data object of the TCSA A i in the database 230 to complete data binding (step S226) and switches from the self-setting state to the waiting state (step S228). As shown in FIG. 8, the data binding in the above step S226 includes storing the ID of the LCSA B in the service agent ID data object 2403. After the step S226 is completed, the SIM 210 drives the initialization of the LCSA B (step S230). In the initialization process of the LCSA B, the SIM 210 controls the LCSA B to perform self-setting (step S230), and switches from the waiting state. The self-set state is reached (step S232). The initialization of the LCSA B described above may include, for example, a driver that sets one or more functions of the LCSA B described above.

在上述步驟S208中,上述LCSA B可以於上述資料庫230中增加執行相依關係,用以表示上述LCSA B的執行跟隨在一個或一個以上的TCSA執行作業之後。上述SIM 210根據上述新增的執行相依關係,在上述一個或一個以上的TCSA已執行之後,才驅動執行上述LCSA B。 In the above step S208, the LCSA B may add an execution dependency relationship in the database 230 to indicate that the execution of the LCSA B follows the one or more TCSA execution jobs. The SIM 210 drives the LCSA B to be executed after the one or more TCSAs have been executed according to the newly added execution dependency relationship.

2.4 系統初始化期間取代作業 2.4 Replacement of jobs during system initialization

參照圖9,上述SIM 210使上述TCSA Ai從初始狀態切換至下個狀態(步驟S300)。上述TCSA Ai開始在上述SIM 210註冊(步驟S304)。當TCSA Ai完成註冊時,上述SIM 210控制上述TCSA Ai從上述初 始狀態切換至已註冊狀態(步驟S306)。 Referring to Fig. 9, the SIM 210 switches the TCSA A i from the initial state to the next state (step S300). The above TCSA A i starts to be registered with the above SIM 210 (step S304). When the TCSA A i completes registration, the SIM 210 controls the TCSA A i to switch from the initial state to the registered state (step S306).

上述已註冊的TCSA Ai建立並通知關於上述TCSA Ai的相依關係至SIM 210(步驟S308)。上述TCSA Ai的相依關係包含初始化相依關係及執行相依關係。上述已註冊的TCSA Ai關聯上述資料庫230中的資料物件(步驟S310)並從上述已註冊狀態切換至上述等待狀態(步驟S312)。 The above registered TCSA A i establishes and notifies the dependency relationship with respect to the above TCSA A i to the SIM 210 (step S308). The dependency relationship of the above TCSA A i includes an initialization dependency relationship and an execution dependency relationship. The registered TCSA A i is associated with the data item in the above-described database 230 (step S310) and is switched from the registered state to the waiting state (step S312).

上述SIM 210使上述LCSA B從初始狀態切換至下個狀態(步驟S313)。上述LCSA B開始在上述SIM 210註冊(步驟S314)。當LCSA B完成註冊時,上述SIM 210控制上述LCSA B從上述初始狀態切換至已註冊狀態(步驟S316)。 The SIM 210 switches the LCSA B from the initial state to the next state (step S313). The LCSA B described above starts to register with the SIM 210 described above (step S314). When the LCSA B completes registration, the SIM 210 controls the LCSA B to switch from the initial state to the registered state (step 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)。 The above-mentioned registered LCSA B is established and informs about the dependency relationship of the LCSA B described above to the SIM 210 described above (step S318). The dependency relationship of the LCSA B described above includes an initialization dependency relationship and an execution dependency relationship. The initialization dependency relationship of the LCSA B indicates that the initialization of the LCSA B takes precedence over all the TCSAs. Step S318 is referred to as a first dependency relationship establishing step. The registered LCSA B described above is switched from the above registered state to the above waiting state (step S322). SIM 210 based on the above-described initialization of the above-described dependency relationships LCSA B driver initialization operation described above TCSA A 1 -A n and LCSA B (step S324). In the above step S324, the SIM 210 drives the initialization of the LCSA B, and takes precedence over all the TCSAs including the TCSA A i . In the initialization of the registered LCSA B, the SIM 210 controls the LCSA B to perform self-setting, and switches from the waiting state to the self-setting state (step S326).

上述LCSA B的自行設定作業包含驅使上述TCSA Ai禁能。舉例來說,上述LCSA B請求上述TCSA Ai從上述執行狀態切換至禁能狀態(步驟S332)。上述TCSA Ai通知上述SIM 210有關其狀態已切換 至禁能狀態。上述SIM 210驅使上述TCSA Ai切換至上述結束狀態。 The self-setting operation of the above LCSA B includes driving the above TCSA A i to disable. For example, the LCSA B requests the TCSA A i to switch from the above execution state to the disabled state (step S332). The above TCSA A i notifies the above SIM 210 that its state has been switched to the disabled state. The SIM 210 drives the TCSA A i to switch to the end state described above.

上述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的一個或一個以上功能的驅動程式。 The LCSA B is associated with the data object of the TCSA A i in the database 230 to complete data binding (step S334), notifying the new dependency relationship of the LCSA B to the SIM 210 (step S336), and setting the self-setting from the above. The state is switched to the above waiting state (step S338). The new dependency relationship of the LCSA B described above is used to replace the dependency relationship in the first dependency relationship establishing step described above. One of the dependency relationships in the new dependency relationship of the LCSA B indicates that the initialization of the LCSA B described above follows the initialization of the TCSA A j described above. In step S340, the above-described driving the SIM 210 initialization TCSA A j priority initialization of LCSA B above. After the completion of the above step S340, the SIM 210 drives the initialization of the LCSA B, wherein the SIM 210 controls the LCSA B to perform self-setting (step S342), and switches from the waiting state to the self-setting state. The initialization of the LCSA B described above may include, for example, a driver that sets one or more functions of the LCSA B described above.

3. 結論 3. Conclusion

總之,上述裝置100以單獨的軟體程序形式執行上述MLS 200,並以線程的形式執行複數TCSA以作為上述軟體程序中的線程,並接收LCSA以取代錯誤的TCSA。上述裝置100以另個軟體程序形式執行上述LCSA。上述SIM 210則標準化管理上述複數TCSA及LCSA的狀態。 In summary, the above apparatus 100 executes the above-described MLS 200 in a separate software program form, and executes a plurality of TCSAs in the form of threads as threads in the above-described software program, and receives the LCSA to replace the erroneous TCSA. The above device 100 executes the LCSA described above in another software program. The SIM 210 described above standardizes the management of the states of the plurality of TCSAs and LCSAs.

Ai‧‧‧密耦合服務代理器(TCSA) A i ‧‧‧Double Coupled Service Agent (TCSA)

B‧‧‧疏耦合服務代理器(LCSA) B‧‧‧Sparse Coupled Service Agent (LCSA)

210‧‧‧系統初始化管理器(SIM) 210‧‧‧System Initialization Manager (SIM)

230‧‧‧資料庫 230‧‧‧Database

S220-S232‧‧‧韌體補丁方法步驟 S220-S232‧‧‧ firmware patch method steps

Claims (10)

一種通訊裝置,包含:一記憶體,儲存上述通訊裝置作為一個軟體程序執行的管理層服務,上述軟體程序包含複數密耦合服務代理器(tightly coupled service agent,TCSA),上述複數密耦合服務代理器中的每個密耦合服務代理器作為上述管理層服務的線程,上述管理層服務更包含稱為系統初始化管理器的線程,用以管理上述複數密耦合服務代理器的初始化;一通訊單元,用以通訊連接一外部裝置,並從上述外部裝置接收疏耦合服務代理器(loosely coupled service agent,LCSA)以取代上述複數密耦合服務代理器之其中一第一代理器,其中上述疏耦合服務代理器提供第二功能以取代上述第一代理器的第一功能;一處理器,執行上述疏耦合服務代理器時,上述疏耦合服務代理器作為一個軟體程序用以取代上述第一代理器,禁能上述第一代理器,並結合上述第一代理器的資料物件至上述疏耦合服務代理器。 A communication device comprising: a memory storing the communication device as a management service executed by a software program, the software program comprising a tightly coupled service agent (TCSA), the complex crypto-coupled service agent Each of the close-coupled service agents acts as a thread of the management service, and the management service further includes a thread called a system initialization manager for managing initialization of the complex-closed service broker; a communication unit, Relating to an external device by communication, and receiving a loosely coupled service agent (LCSA) from the external device to replace one of the first agents of the complex close-coupled service agent, wherein the above-mentioned sparsely coupled service agent Providing a second function to replace the first function of the first agent; a processor, when performing the above-mentioned decoupling service agent, the above-mentioned decoupled service agent is used as a software program to replace the first agent, and is disabled The first agent, combined with the information of the first agent Object to the above-mentioned sparse coupling service agent. 如申請專利範圍第1項所述的通訊裝置,其中上述記憶體包含初始化相依資料庫,用以儲存上述複數密耦合服務代理器的初始化相依關係,以及上述系統初始化管理器根據上述初始化相依關係以初始化上述複數密耦合服務代理器。 The communication device of claim 1, wherein the memory comprises an initialization dependent database for storing an initialization dependency relationship of the complex close-coupled service proxy, and the system initialization manager according to the initialization dependency relationship Initialize the above complex crypto-coupling service agent. 如申請專利範圍第2項所述的通訊裝置,其中上述初始化相依關係包含第一關係,上述第一關係用以表示上述第一代理器的初始化跟隨在上述複數密耦合服務代理器之其中一第二代理器的初始化之後;上述疏耦合服務代理器指導上述處理器增加第二相依關係至上述初始化相依關係,上述第二相依關係表示上述疏耦合服務代理器的初始化跟隨 在上述第二代理器的初始化之後;上述系統初始化管理器指導上述處理器根據上述第二相依關係在上述第二代理器的初始化之後,啟動上述疏耦合服務代理器的初始化;以及上述疏耦合服務代理器使上述第一代理器被禁能。 The communication device of claim 2, wherein the initialization dependency relationship comprises a first relationship, wherein the first relationship is used to indicate that initialization of the first agent follows one of the plurality of complex coupled service agents. After the initialization of the two agents, the above-mentioned sparse coupling service agent instructs the processor to add a second dependency relationship to the initialization dependency relationship, and the second dependency relationship indicates initialization of the sparse coupling service agent. After the initialization of the second agent, the system initialization manager instructs the processor to initiate initialization of the sparse coupling service agent after initialization of the second agent according to the second dependency relationship; and the decoupling service The agent disables the first agent described above. 如申請專利範圍第3項所述的通訊裝置,其中:在上述通訊裝置初始化期間,上述疏耦合服務代理器增加第三相依關係至上述初始化相依關係,上述第三相依關係表示上述疏耦合服務代理器的初始化先於上述複數密耦合服務代理器的初始化;在根據上述第三相依關係進行的上述疏耦合服務代理器初始化期間,上述疏耦合服務代理器使上述第一代理器被禁能,並增加上述第二相依關係至上述初始化相依關係以取代上述第三相依關係。 The communication device of claim 3, wherein: during the initialization of the communication device, the decoupling service agent increases a third dependency relationship to the initialization dependency relationship, and the third dependency relationship indicates the sparse coupling service agent The initialization of the device precedes the initialization of the complex crypto-coupling service agent; during the initialization of the splicing service agent according to the third dependency relationship, the splicing service agent disables the first agent, and The second dependency relationship is added to the initialization dependency relationship to replace the third dependency relationship. 如申請專利範圍第3項所述的通訊裝置,其中上述第一代理器具有複數狀態,且上述系統初始化管理器利用上述第一代理器的程序呼叫以切換上述第一代理器至上述複數狀態的其中一個狀態。 The communication device of claim 3, wherein the first agent has a complex state, and the system initialization manager uses the program call of the first agent to switch the first agent to the plurality of states. One of the states. 如申請專利範圍第5項所述的通訊裝置,其中上述記憶體包含執行相依資料庫,用以儲存上述複數密耦合服務代理器的執行相依關係,以及上述系統初始化管理器根據上述執行相依關係以啟動上述複數密耦合服務代理器的執行作業。 The communication device of claim 5, wherein the memory comprises an execution dependent database for storing an execution dependency relationship of the complex close-coupled service agent, and the system initialization manager according to the execution dependency relationship The execution of the above complex close-coupled service agent is started. 如申請專利範圍第6項所述的通訊裝置,其中上述執行相依關係包含第四相依關係,上述第四相依關係用以表示上述第一代理器的執行作業跟隨在上述複數密耦合服務代理器之其中一第三代理器的執行作業之後;在上述通訊裝置接收上述疏耦合服務代理器之後,上述處理器註冊上述疏耦合服務代理器於上述系統初始化管理器;上述疏耦合服務代理器增加第五相依關係至上述執行相依關係,上述第五相依關係表示上述疏耦合服務代理器的執行作業跟隨在上述第三代理 器的執行作業之後;以及上述系統初始化管理器根據上述第五相依關係在上述第三代理器的執行作業之後,啟動上述疏耦合服務代理器的執行作業。 The communication device of claim 6, wherein the execution dependency relationship includes a fourth dependency relationship, wherein the fourth dependency relationship is used to indicate that the execution operation of the first agent follows the complex crypto-coupling service agent. After the execution of the third agent, after the communication device receives the decoupling service agent, the processor registers the decoupling service agent in the system initialization manager; the decoupling service agent increases the fifth Dependent on the execution dependency relationship, the fifth dependency relationship indicating that the execution operation of the sparsely coupled service agent follows the third agent After the execution of the job, and the system initialization manager starts the execution of the above-described decoupled service agent after the execution of the third agent according to the fifth dependency relationship. 一種通訊裝置韌體補丁方法,執行於一通訊裝置,上述通訊裝置包括一記憶體、一通訊單元及一處理器,包括:儲存上述通訊裝置作為一個軟體程式執行的管理層服務於上述記憶體,上述軟體程式包括複數密耦合服務代理器,上述複數密耦合服務代理器中的每個密耦合服務代理器作為上述管理層服務的線程,上述管理層服務還包括稱為系統初始化管理器的線程,用於管理上述複數密耦合服務代理器的初始化;上述通訊單元用於通訊連接外部裝置,並從上述外部裝置接收疏耦合服務代理器以取代上述複數密耦合服務代理器的其中第一代理器,其中上述疏耦合服務代理器提供第二功能以取代上述第一代理器的第一功能;上述處理器執行上述疏耦合服務代理器時,上述疏耦合服務代理器作為一個軟體程式用於取代上述第一代理器,禁能上述第一代理器,並結合上述第一代理器的資料物件至上述疏耦合服務代理器。 A communication device firmware patching method is implemented in a communication device, the communication device comprising a memory, a communication unit and a processor, comprising: storing the communication device as a software program to perform management services on the memory, The software program includes a complex crypto-coupling service agent, each of the complex crypto-coupling service agents acting as a thread of the management service, and the management service further includes a thread called a system initialization manager. And the communication unit is configured to communicate with an external device, and receive a decoupled service agent from the external device to replace the first agent of the complex close-coupled service agent, Wherein the above-mentioned decoupling service agent provides a second function to replace the first function of the first agent; when the processor executes the above-mentioned decoupling service agent, the above-mentioned decoupled service agent is used as a software program to replace the above An agent that disables the first agent above, In conjunction with the first agent of the above-mentioned data objects to loosely coupled service agent. 如申請專利範圍第8項所述的通訊裝置韌體補丁方法,其中上述記憶體包括初始化相依資料庫,用於儲存上述複數密耦合服務代理器的初始化相依關係,以及上述系統初始化管理器根據上述初始化相依關係以初始化上述複數密耦合服務代理器。 The communication device firmware patch method of claim 8, wherein the memory comprises an initialization dependent database for storing an initialization dependency relationship of the complex close-coupled service proxy, and the system initialization manager according to the above The dependency relationship is initialized to initialize the complex crypto-coupled service agent described above. 如申請專利範圍第9項所述的通訊裝置韌體補丁方法,其中上述初始化相依關係包括第一關係,上述第一關係用於表示上述第一代理器的初始化跟隨在上述複數密耦合服務代理器的其中第二代理器的初始化之後;上述疏耦合服務代理器指導上述處理器增加第二相依關係至上述初始化相依關係,上述第二相依關係表示上述疏耦合服務代理器的初始化跟隨 在上述第二代理器的初始化之後;上述系統初始化管理器指導上述處理器根據上述第二相依關係在上述第二代理器的初始化之後,啟動上述疏耦合服務代理器的初始化;以及上述疏耦合服務代理器使上述第一代理器被禁能。 The communication device firmware patch method of claim 9, wherein the initialization dependency relationship comprises a first relationship, wherein the first relationship is used to indicate that initialization of the first agent follows the complex crypto-coupled service agent After the initialization of the second agent, the sparsely coupled service agent instructs the processor to add a second dependency relationship to the initialization dependency relationship, and the second dependency relationship indicates initialization of the sparsely coupled service agent. After the initialization of the second agent, the system initialization manager instructs the processor to initiate initialization of the sparse coupling service agent after initialization of the second agent according to the second dependency relationship; and the decoupling service The agent disables the first agent described above.
TW99137009A 2010-10-28 2010-10-28 Communication device and firmware patching method thereof TWI438685B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW99137009A TWI438685B (en) 2010-10-28 2010-10-28 Communication device and firmware patching method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW99137009A TWI438685B (en) 2010-10-28 2010-10-28 Communication device and firmware patching method thereof

Publications (2)

Publication Number Publication Date
TW201218078A TW201218078A (en) 2012-05-01
TWI438685B true TWI438685B (en) 2014-05-21

Family

ID=46552406

Family Applications (1)

Application Number Title Priority Date Filing Date
TW99137009A TWI438685B (en) 2010-10-28 2010-10-28 Communication device and firmware patching method thereof

Country Status (1)

Country Link
TW (1) TWI438685B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11500649B2 (en) * 2020-09-24 2022-11-15 Dell Products L.P. Coordinated initialization system

Also Published As

Publication number Publication date
TW201218078A (en) 2012-05-01

Similar Documents

Publication Publication Date Title
CN101317381B (en) Method, system and terminal for capacity management object maintenance and capacity management
US8719390B2 (en) Server management apparatus and server management method
WO2019062703A1 (en) Update method, and embedded system
CN108369543A (en) The mistake in cloud operation is solved using declaratively configuration data
CN110187912A (en) A kind of node selecting method and device
JP5371095B2 (en) Patch application system
CN101252458A (en) Firmware batch upgrading method
CN105204880B (en) computer system and setting method of basic input and output system
CN102082730B (en) Router upgrading method and router
CN101222367A (en) Method and network management system for cluster network elements to update version files in batches
CN104423981A (en) BMC (Baseboard Management Controller) firmware automatic update system and method
JP4813331B2 (en) Mobile electronic device
CN101192937A (en) A hot deployable method and its system
CN112579369B (en) Multi-thread flashing system, method, device, equipment and storage medium
TWI438685B (en) Communication device and firmware patching method thereof
WO2018210063A1 (en) Terminal system startup method and terminal
CN102455918A (en) Communicator and firmware patching method thereof
CN111488163A (en) A firmware update method, device, electronic device and storage medium
CN104809021B (en) Management system and management method for multiple operation environment service
CN104951318A (en) Method and device for software version updating
CN117170916B (en) Fault analysis method, device, equipment and storage medium
TWI497319B (en) Update method of baseboard management controller
CN109739868B (en) A data processing method and related equipment
CN113342496B (en) Single-instance process switching method, system and storage medium
JP5174718B2 (en) Network system and network adapter

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees