COMMUNICATION DEVICE, SOFTWARE UPDATE METHOD, AND COMPUTER PROGRAM
By designing a storage processing unit, a switching processing unit and a control information acquisition unit in the communication device, the problem of not being able to maintain the main signal communication function when updating the operating system is solved, the effect of updating the operating system without initialization is achieved, and the reliability of the equipment and service continuity are improved.
Patent Information
- Application Number
- JP2021072670
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-04-22
- Publication Date
- 2025-04-02
- Estimated Expiration
- 2041-04-22
AI Technical Summary
The prior art cannot maintain the main signal communication function when updating the operating system of a communication device, resulting in the device restarting and affecting service continuity.
A communication device is designed, including a storage processing unit, a switching processing unit and a control information acquisition unit. By allocating different storage areas in memory, storing startup code, updated operating system code and control information, the operating system has been realized without initialization update.
It realizes updating the operating system without interrupting the main signal communication function, improving the reliability of the equipment and service continuity.
Smart Images

Figure 0007655066000001 
Figure 0007655066000002 
Figure 0007655066000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a communication device, a program update method, and a computer program. [Background technology]
[0002] In communication devices used in backbone networks, in order to avoid interrupting service provision, there is a demand for ISSU (In Service Software Upgrade) that performs software updates while maintaining the communication function of main signals. Patent Document 1 discloses a method for updating firmware of optical line terminals (OLTs) in a passive optical network (PON) without stopping the OLTs. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2014-78784 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, the method disclosed in Patent Document 1 does not take into consideration updates to the operating system (hereinafter, also referred to as "OS"). Therefore, when updating the OS, the device is restarted and the device is stopped for a certain period of time. [Means for solving the problem]
[0005] A communication device according to one embodiment of the present disclosure includes a memory for storing data, a processor capable of reading data stored in the memory, a first hardware function unit providing functions related to communication of a main signal, a second hardware function unit providing functions in cooperation with the processor, a storage processing unit that stores handover data including a startup code for starting a second operating system, which is an updated operating system, a second code, which is executable code of the second operating system, and first control information used for controlling the second hardware function unit by a first operating system, which is an operating system before the update, in an area different from the storage area in the memory for a first code, which is the executable code of the first operating system, without initializing each of the processor and the first hardware function unit, a switching processing unit that causes the processor to stop the first operating system and start the second operating system by executing the startup code and the second code, and a control information acquisition processing unit that causes the processor to acquire the first control information from the handover data when the second operating system is started.
[0006] A communication device according to another aspect of the present disclosure comprises a processor capable of executing software, a first hardware function unit that provides functions related to communication of a main signal, a third hardware function unit that provides functions different from the functions related to communication of the main signal, a control circuit capable of outputting a restart command signal to the processor, the first hardware function unit, and the third hardware function unit, and a restart target setting unit that sets a target for restart when software executed by the processor is updated, and when the processor and the third hardware function unit are set as targets for restart by the restart target setting unit and the first hardware function unit is not set as a target for restart, the control circuit outputs a restart command signal to the processor and the third hardware function unit, and does not output a restart command signal to the first hardware function unit.
[0007] A software updating method according to one embodiment of the present disclosure is a software updating method for updating software in a communication device, and includes the steps of: storing handover data including a boot code for booting a second operating system, which is the operating system after the update, a second code, which is the executable code of the second operating system, and first control information used for controlling the second hardware function unit by the first operating system, which is the operating system before the update, in an area different from the storage area in memory of the first code, which is the executable code of the first operating system, without initializing each of a processor and a first hardware function unit that provides functions related to communication of a main signal; causing the processor to stop the first operating system and boot the second operating system by executing the boot code and the second code; and causing the processor to obtain the first control information from the handover data when the second operating system is booted.
[0008] A software update method according to another aspect of the present disclosure is a software update method for updating software in a communication device, and includes the steps of: when software executed by a processor is updated, setting targets for restart from among the processor, a first hardware function unit providing a function related to communication of a main signal, and a third hardware function unit providing a function other than the function related to communication of the main signal; and when the processor and the third hardware function unit are set as targets for restart and the first hardware function unit is not set as a target for restart, not outputting a restart command signal to the first hardware function unit, and outputting a restart command signal to the processor and the third hardware function unit.
[0009] A computer program according to one aspect of the present disclosure is a computer program for updating software in a communication device, and causes the communication device to execute the following steps: storing, in an area in memory different from the storage area of the first code, which is the executable code of the first operating system, handover data including a boot code for booting a second operating system, which is the operating system after the update, a second code, which is the executable code of the second operating system, and first control information used for controlling the second hardware function unit by the first operating system, which is the operating system before the update, without initializing a processor and a first hardware function unit that provides functions related to communication of main signals; causing the processor to stop the first operating system and start the second operating system by executing the boot code and the second code; and causing the processor to obtain the first control information from the handover data when the second operating system is started.
[0010] A computer program according to another aspect of the present disclosure is a computer program for updating software in a communication device, which causes the communication device to execute the following steps when software executed by a processor is updated: setting targets for restart from among the processor, a first hardware function unit that provides a function related to communication of a main signal, and a third hardware function unit that provides a function other than the function related to communication of the main signal; and when the processor and the third hardware function unit are set as targets for restart and the first hardware function unit is not set as a target for restart, not outputting a restart command signal to the first hardware function unit, and outputting a restart command signal to the processor and the third hardware function unit.
[0011] The present disclosure can be realized not only as a communication device having the above-mentioned characteristic configuration, but also as a software update method having steps corresponding to characteristic processes in the communication device, or as a computer program for causing a computer to execute such steps. Furthermore, a part or all of the communication device can be realized as a semiconductor integrated circuit, or as a relay system including the communication device. Effect of the Invention
[0012] According to the present disclosure, it is possible to update the operating system while maintaining the communication function of the main signal. [Brief description of the drawings]
[0013] [Figure 1] FIG. 1 is a schematic diagram illustrating an example of a configuration of a communication system according to an embodiment. [Diagram 2] 1 is a block diagram showing an example of a configuration of a communication device according to an embodiment. [Diagram 3] FIG. 2 is a block diagram showing an example of functions of a communication device according to an embodiment. [Figure 4] 1A and 1B are diagrams for explaining combinations of software to be updated in the conventional method, the live boot method, and the restart target selection method. [Figure 5A] FIG. 13 is a diagram illustrating data loaded into a volatile memory during a normal boot. [Figure 5B] FIG. 2 is a diagram illustrating data loaded into a volatile memory during a live boot. [Figure 6A] FIG. 11 is a diagram illustrating an example of handover data. [Figure 6B] 11 is a diagram for explaining an example of adding second control information to handover data. FIG. [Figure 7A] FIG. 13 is a diagram illustrating an example of a restart target in a normal boot. [Figure 7B] FIG. 13 is a diagram illustrating an example of a restart target in the restart target selection method. [Figure 8A]FIG. 13 is a diagram illustrating the saving of setting information and state information. [Figure 8B] FIG. 13 is a diagram illustrating the recovery of an internal table. [Figure 9] 10 is a flowchart illustrating an example of a software update operation of the communication device according to the embodiment. [Figure 10] 13 is a flowchart illustrating an example of a restart target selection update process. [Figure 11] 13 is a flowchart illustrating an example of a live boot update process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] <Overview of the embodiment of the present disclosure> Below, an overview of the embodiments of the present disclosure will be listed and described.
[0015] (1) A communication device according to the present embodiment includes a memory for storing data, a processor capable of reading data stored in the memory, a first hardware function unit providing a function related to communication of a main signal, a second hardware function unit providing a function linked with the processor, a storage processing unit for storing a boot code for booting a second operating system, which is an operating system after an update, a second code, which is an executable code of the second operating system, and handover data including first control information used for controlling the second hardware function unit by a first operating system, which is an operating system before an update, in an area different from a storage area in the memory for a first code, which is an executable code of the first operating system, without initializing each of the processor and the first hardware function unit, a switching processing unit for causing the processor to stop the first operating system and execute the boot code and the second code to boot the second operating system, and a control information acquisition processing unit for causing the processor to acquire the first control information from the handover data when the second operating system is started. This allows the second operating system to be live-booted on the first operating system being executed. Since the first hardware function unit is not initialized in the live boot of the second operating system, the operating system can be updated while maintaining the communication function of the main signal. In the case of an SoC (System on a Chip) in which a processor and hardware functional units are implemented on a single integrated circuit, in a live boot in which an operating system is started without going through bootstrap, the control information of the hardware functional units that is acquired by the processor in bootstrap is not acquired. The above disclosure enables the processor to acquire the first control information when the second operating system is started, so that a live boot is also possible in an SoC. Note that "live boot" refers to loading executable code of a new operating system into memory on a running operating system.
[0016] (2) The switching processing unit may provide notification information to the processor indicating that the second operating system will be started without initializing the processor when the second operating system is started, and the control information acquisition processing unit may cause the processor to acquire the first control information from the handover data when the notification information is provided to the processor. This allows the control information acquisition processing unit to determine whether the operating system is started normally via bootstrap or a live boot depending on whether notification information is provided to the processor. In the case of a live boot, the processor can acquire the first control information when the second operating system is started.
[0017] (3) The memory, the processor, and the second hardware function unit may be included in a single integrated circuit, thereby enabling a communication device to be configured using an SoC.
[0018] (4) The communication device may further include a handover data generating unit that generates the handover data based on the first control information acquired by the processor when the first operating system is started and stores the generated handover data in a storage device, and the storage processing unit may store the handover data stored in the storage device in the memory, thereby making it possible to load the handover data into the memory when the second operating system is started.
[0019] (5) When second control information used for controlling the second hardware function unit by the second operating system is acquired by the processor at the time of booting the second operating system, the control information acquisition processing unit may add the second control information to the handover data. This makes it possible to add second control information that was not required by the first operating system but is required by the second operating system to the handover data for the next live boot.
[0020] (6) A communication device according to the present embodiment includes a processor capable of executing software, a first hardware function unit providing a function related to communication of a main signal, a third hardware function unit providing a function different from the function related to communication of the main signal, a control circuit capable of outputting a restart command signal to the processor, the first hardware function unit, and the third hardware function unit, and a restart target setting unit setting a target for restart when software executed by the processor is updated, and when the processor and the third hardware function unit are set as targets for restart by the restart target setting unit and the first hardware function unit is not set as a target for restart, the control circuit outputs a restart command signal to the processor and the third hardware function unit and does not output a restart command signal to the first hardware function unit. As a result, the first hardware function unit is excluded from targets for restart and the processor is included as a target for restart, so that software including an operating system can be updated while maintaining the communication function of the main signal.
[0021] (7) The control circuit may be restarted when the restart command signal is output, thereby making it possible to include the control circuit as a target for restart.
[0022] (8) The software to be updated may include an operating system, whereby the operating system can be updated while maintaining the communication function of the main signal.
[0023] (9) The software to be updated may include a boot loader. This makes it possible to update the boot loader, which requires a processor restart, while maintaining the communication function of the main signal.
[0024] (10) The first hardware function unit may include a transceiver that transmits and receives the main signal, a signal processing circuit that processes the main signal, and a clock generator that supplies a clock signal to the transceiver and the signal processing circuit. This makes it possible to update software including an operating system without initializing the transceiver, the signal processing circuit, and the clock generator.
[0025] (11) The communication device may further include an information saving unit that stores, in a storage device, setting information of the first hardware function unit included in internal information of the software before updating software executed by the processor for controlling the first hardware function unit, and a restoration unit that restores, after updating the software, the setting information stored in the storage device as internal information of the updated software. This makes it possible to restore, after the software update, the setting information of the first hardware function unit that is lost from the internal information when updating the software.
[0026] (12) The information saving unit may store state information of the first hardware function unit included in the internal information in the storage device, and the communication device may further include a notification unit that notifies a user when there is a difference between state information indicating a current state of the first hardware function unit and the state information stored in the storage device. In this way, when the state of the first hardware function unit changes during a software update, the user can be notified of the change after the software update.
[0027] (13) A software update method according to the present embodiment is a software update method for updating software in a communication device, and includes the steps of: storing a boot code for booting a second operating system, which is an operating system after the update, a second code, which is an executable code of the second operating system, and handover data, which includes first control information used for controlling the second hardware function unit by the first operating system, which is an operating system before the update, in an area different from a storage area in a memory of a first code, which is an executable code of the first operating system, without initializing each of a processor and a first hardware function unit providing a function related to communication of a main signal; causing the processor to stop the first operating system and execute the boot code and the second code to boot the second operating system; and causing the processor to obtain the first control information from the handover data when the second operating system is booted. As a result, the first hardware function unit is not initialized in a live boot of the second operating system, so that the operating system can be updated while maintaining the communication function of the main signal. Furthermore, since the first control information can be obtained when the second operating system is booted, a live boot is also possible in an SoC.
[0028] (14) A software update method according to the present embodiment is a software update method for updating software in a communication device, and includes the steps of: when software executed by a processor is updated, setting a restart target from among the processor, a first hardware function unit providing a function related to communication of a main signal, and a third hardware function unit providing a function different from the function related to communication of the main signal; and when the processor and the third hardware function unit are set as the restart targets and the first hardware function unit is not set as the restart target, not outputting a restart command signal to the first hardware function unit and outputting a restart command signal to the processor and the third hardware function unit. As a result, the first hardware function unit is excluded from the restart targets and the processor is included in the restart targets, so that software including the operating system can be updated while maintaining the communication function of the main signal.
[0029] (15) A computer program according to the present embodiment is a computer program for updating software in a communication device, and causes the communication device to execute the steps of: storing, in an area in a memory different from a storage area in a memory of a first code, which is an executable code of the first operating system, a start code for starting a second operating system, which is an operating system after the update, a second code, which is an executable code of the second operating system, and handover data, which includes first control information used for controlling the second hardware function unit by the first operating system, which is an operating system before the update, without initializing each of a processor and a first hardware function unit providing a function related to communication of a main signal; causing the processor to stop the first operating system and start the second operating system by executing the start code and the second code; and causing the processor to obtain the first control information from the handover data when the second operating system is started. As a result, in a live boot of the second operating system, the first hardware function unit is not initialized, so that it is possible to update the operating system while maintaining the communication function of a main signal. Furthermore, since the first control information can be obtained when the second operating system is started, a live boot is also possible in an SoC.
[0030] (16) A computer program according to this embodiment is a computer program for updating software in a communication device, and causes the communication device to execute the steps of: when software executed by a processor is updated, setting a restart target from among the processor, a first hardware function unit providing a function related to communication of a main signal, and a third hardware function unit providing a function different from the function related to communication of the main signal, and when the processor and the third hardware function unit are set as the restart targets and the first hardware function unit is not set as the restart target, not outputting a restart command signal to the first hardware function unit and outputting a restart command signal to the processor and the third hardware function unit. As a result, the first hardware function unit is excluded from the restart targets and the processor is included in the restart targets, making it possible to update software including the operating system while maintaining the communication function of the main signal.
[0031] <Details of the embodiment of the present disclosure> Hereinafter, the details of the embodiments of the present disclosure will be described with reference to the drawings. Note that at least some of the embodiments described below may be combined in any combination.
[0032] [1. Relay system configuration] Fig. 1 is a schematic diagram showing an example of a configuration of a communication system 10 according to an embodiment. The communication system 10 shown in Fig. 1 is a mobile fronthaul (MFH) included in a mobile communication network. The communication system 10 includes a master station 20 and a slave station 30. The master station 20 is a baseband unit (BBU) in the case of 4G (fourth generation mobile communication system), and is a device having the functions of a centralized unit (CU) and a distributed unit (DU) in the case of 5G (fifth generation mobile communication system). The slave station 30 is a remote radio head (RRH) in the case of 4G, and is a radio unit (RU) in the case of 5G (fifth generation mobile communication system).
[0033] The communication system 10 includes a relay system 100 between the master station 20 and the slave station 30. The relay system 100 relays communication between the master station 20 and the slave station 30. In this embodiment, the relay system 100 applied to the MFH is described, but is not limited thereto. The relay system 100 may also be applied to a mobile midhaul (MMH) or a mobile backhaul (MBH).
[0034] The relay system 100 includes two opposing communication devices 200. The communication devices 200 are optical transmission devices conforming to OTN (Optical Transport Network), a communication standard defined by ITU-T (International Telecommunication Union Telecommunication Standardization Sector). One of the communication devices 200 is connected to a master station 20 via an optical fiber cable. The other communication device 200 is connected to a slave station 30 via an optical fiber cable. The two communication devices 200 are connected to each other via a single optical fiber cable 25.
[0035] The two communication devices 200 are located at locations remote from each other. The optical fiber cable 25 has a length of, for example, 20 km or more. The optical fiber cable 25 is, for example, a dark fiber.
[0036] [2. Hardware configuration of communication device] FIG. 2 is a block diagram illustrating an example of a configuration of a communication device according to the embodiment.
[0037] The communication device 200 includes a processing circuit 210, a control circuit 220, optical transceivers 231, 233, a signal processing circuit 232, a PLL (Phase Locked Loop) 234, a second control circuit 241, an L2 switch (Layer 2 Switch, also referred to as "L2SW") 242, a PHY 243, and a transceiver 244.
[0038] The processing circuit 210 controls the entire communication device 200. The processing circuit 210 includes a processor 211, a nonvolatile memory 212, a volatile memory 213, a communication interface (I / F) 214, an internal communication manager 215A, a queue manager 215B, a buffer manager 215C, and a frame manager 215D. The processing circuit 210 is an SoC, and the processor 211, the nonvolatile memory 212, the volatile memory 213, the communication I / F 214, the internal communication manager 215A, the queue manager 215B, the buffer manager 215C, and the frame manager 215D are implemented in one integrated circuit.
[0039] The volatile memory 213 is a dynamic random access memory (DRAM). The volatile memory 213 may be a static random access memory (SRAM). The non-volatile memory 212 is writable and is, for example, a flash memory. The non-volatile memory 212 may be a hard disk. An operating system (OS) 250, a boot loader 251, a device file 252, a startup program 253, and application software (APP) 254 are stored in the non-volatile memory 212. The operating system 250, the boot loader 251, the startup program 253, and the application software 254 stored in the non-volatile memory 212 are executable program codes. The communication device 200 is configured with a computer, and each function of the communication device 200 is realized by the processor 211 executing the operating system 250 and the application software 254, which are computer programs stored in a storage device of the computer.
[0040] The processor 211 is, for example, a CPU (Central Processing Unit). However, the processor 211 is not limited to a CPU. The processor 211 may be a GPU (Graphics Processing Unit). In a specific example, the processor 211 is a multi-core CPU. The processor 211 is configured to be able to execute a computer program.
[0041] The operating system 250 manages the entire system of the communication device 200 and provides a common usage environment for the application software 254. The operating system 250 includes a kernel. The boot loader 251 starts after the processor 211 is reset, and loads the operating system 250 (program code in an executable format) into the volatile memory 213. The device file 252 is a driver for controlling each device implemented in the communication device 200. The startup program 253 is a program for live booting the operating system. In other words, the startup program 253 is a program for starting a new operating system (kernel) instead of the boot loader 251 while the operating system 250 is running. The application software 254 is a program for implementing various functions of the communication device 200.
[0042] The communication I / F 214 is an Ethernet interface ("Ethernet" is a registered trademark). The communication I / F 214 is used for communication with a terminal device for maintenance management.
[0043] Each of the internal communication management unit 215A, the queue management unit 215B, the buffer management unit 215C, and the frame management unit 215D is a hardware circuit. The internal communication management unit 215A manages communication within the SoC. The queue management unit 215B manages queues used for packet transmission and reception between the CPU core and the accelerator (functional unit within the SoC). The buffer management unit 215C manages buffers in the memory area, and acquires and releases buffers upon request. The frame management unit 215D is an Ethernet controller, and performs various offloading operations, and determines and sorts packet types based on protocols or addresses.
[0044] The queue management unit 215B, the buffer management unit 215C, and the frame management unit 215D are examples of a second hardware function unit that provides a function in cooperation with the processor 211.
[0045] The control circuit 220 is, for example, a hardware circuit for controlling communication with a terminal device for maintenance management. The control circuit 220 is configured, for example, by an FPGA (Field Programmable Gate Array). However, the configuration of the control circuit 220 is not limited to this. The control circuit 220 may be configured, for example, by a gate array or an ASIC (Application Specific Integrated Circuit).
[0046] The control circuit 220 is connected to the processor 211, the optical transceivers 231 and 233, the signal processing circuit 232, the PLL 234, the second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244 via signal lines. The control circuit 220 includes a restart control unit 221. The control circuit 220 can transmit a reset signal to command a restart to each of the processor 211, the optical transceivers 231 and 233, the signal processing circuit 232, the PLL 234, the second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244.
[0047] The optical transceiver 231 is a client port connected to the master station 20 or the slave station 30 via an optical fiber cable. The optical transceiver 231 supports, for example, 25G Ethernet. The optical transceiver 233 is a communication port connected to the communication device 200, which is the opposing device, via an optical fiber cable 25. The optical transceiver 233 is capable of transmitting and receiving optical signals of, for example, 100 Gbps. The optical transceivers 231 and 233 convert optical signals to and from electrical signals.
[0048] The signal processing circuit 232 is a hardware circuit for performing a predetermined process on a plurality of client signals (main signals) received from the master station 20 or the slave station 30. Specifically, the signal processing circuit 232 multiplexes the client signals to generate one multiplexed signal. For example, the signal processing circuit 232 includes a transmission circuit, a reception circuit, and a frame processing circuit (not shown). The reception circuit performs a predetermined signal process on the electrical signal output from the optical transceiver 231. The communication device 200 is a muxponder. The frame processing circuit has a function of a framer that converts a plurality of client signals into an OTN frame. The signal processing circuit 232 outputs the generated electrical signal of the OTN frame to the optical transceiver 233. Furthermore, the frame processing circuit has a function of a deframer that converts the OTN frame into a plurality of client signals. The electrical signal of the OTN frame output from the optical transceiver 233 is provided to the frame processing circuit, and the plurality of client signals are restored from the OTN frame. The transmission circuit performs a predetermined signal processing on the electrical signal, which is the client signal output from the frame processing circuit, and outputs the result to the optical transceiver 231 .
[0049] The PLL 234 generates a clock signal, and supplies the generated clock signal to the optical transceivers 231 and 233 and the signal processing circuit 232 .
[0050] The optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234 are an example of a first hardware function unit that provides a function related to communication of a main signal.
[0051] The second control circuit 241 is, for example, a hardware circuit for supporting the control circuit 220, and controls communication with a terminal device for maintenance management. The second control circuit 241 is, for example, configured by a programmable logic device such as an FPGA or a gate array, or an ASIC.
[0052] The L2 switch 242, the PHY 243, and the transceiver 244 are used for communication with a terminal device for maintenance management. The communication I / F 214 is connected to a port of the L2 switch 242. Another port of the L2 switch 242 is connected to the transceiver 244 via the PHY 243. The transceiver 244 includes an RJ45 connector, and an Ethernet cable connector is connected to the transceiver 244. The PHY 243 is an Ethernet physical transceiver.
[0053] The second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244 are an example of a third hardware function unit that provides a function different from the function related to the communication of the main signal.
[0054] [3. Functions of communication devices] 3 is a block diagram showing an example of functions of a communication device according to an embodiment. The communication device 200 has the functions of a first storage processing unit 211A, a handover data generating unit 211B, a second storage processing unit 211C, a switching processing unit 211D, a control information acquisition processing unit 211E, a restart target setting unit 211F, an information saving unit 211G, a recovery unit 211H, and a notification unit 211I.
[0055] The communication device 200 according to the present embodiment can select and execute a process of updating an application or firmware of the control circuit 220 while the operating system is running (hereinafter also referred to as the "conventional method"), a process of updating software by live boot (hereinafter also referred to as the "live boot method"), and a process of updating software by selecting a reboot target (hereinafter also referred to as the "reboot target selection method"). The conventional method is, for example, a software update method disclosed in Japanese Patent Application Laid-Open No. 2014-78784. In all of the conventional method, the live boot method, and the reboot target selection method, software can be updated while maintaining communication of main signals.
[0056] FIG. 4 is a diagram for explaining combinations of software to be updated in each of the conventional method, the live boot method, and the restart target selection method. In the conventional method, the boot loader and the operating system cannot be updated. Therefore, when either one or both of the boot loader and the operating system are included in the update target, the conventional method is not selected. When either one or both of the application software (written as "application" in FIG. 4) and the firmware of the control circuit 220 (hereinafter also simply referred to as "firmware") are the update target, the conventional method is selected. In the live boot method, the operating system can be updated, but the boot loader cannot be updated. Therefore, when the update target includes the operating system and does not include the boot loader, the live boot method is selected. In the restart target selection method, the boot loader can be updated. Therefore, when the update target includes the boot loader, the restart target selection method is selected. In the restart target selection method, if the update target includes the boot loader, the update target may also include the operating system.
[0057] Referring again to FIG. 3, the first storage processing unit 211A restarts the processor 211 and bootstraps the operating system 250 (hereinafter referred to as "normal boot"). FIG. 5A is a diagram explaining data loaded into the volatile memory in the normal boot. The first storage processing unit 211A executes the boot loader 251 and loads (stores) the first operating system 250A and the first device file 252A into the volatile memory 213. The first operating system 250A is the operating system before the update. The first device file 252A is a device file used by the first operating system 250A. The first device file 252A is used for control by the first operating system 250A of the communication I / F 214, the internal communication management unit 215A, the queue management unit 215B, the buffer management unit 215C, the frame management unit 215D, the control circuit 220, the optical transceivers 231, 233, the signal processing circuit 232, the PLL 234, the second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244.
[0058] In a normal boot, when the processing circuit 210, which is an SoC, is restarted, the processor 211 executes initialization processing such as loading microcode before starting the boot loader. When the initialization is completed, the bootstrap is executed and the operating system is started. Furthermore, the processor 211 acquires first control information which is control information for the queue management unit 215B, the buffer management unit 215C, and the frame management unit 215D. The first control information is information used for controlling each of the queue management unit 215B, the buffer management unit 215C, and the frame management unit 215D, such as a memory address. The first control information is used by the operating system 250 and the application software 254.
[0059] Referring again to FIG. 3, the handover data generating unit 211B generates handover data from the acquired first control information. The handover data is data for providing the first control information to the live-booted operating system. FIG. 6A is a diagram showing an example of handover data. The first control information stored in the non-volatile memory 212 includes queue control information used for controlling the queue management unit 215B, buffer control information used for controlling the buffer management unit 215C, and frame control information used for controlling the frame management unit 215D. The handover data generating unit 211B extracts each of the queue control information, buffer control information, and frame control information from the first control information, and generates handover data 300. For example, the handover data 300 is data in a TLV (type-length-value) format. In the handover data 300, the queue control information is associated with a type "1" assigned to the queue control information and a length "X" of the queue control information. The buffer control information is associated with a type "2" assigned to the buffer control information and a length "Y" of the buffer control information. The frame control information is associated with a type "3" assigned to the frame control information and a length "Z" of the frame control information.
[0060] [3.1. Live boot method] Referring again to FIG. 3, the second storage processing unit 211C is an example of a storage processing unit. The second storage processing unit 211C performs live boot of the updated operating system. FIG. 5B is a diagram for explaining data loaded into the volatile memory in the live boot. The second storage processing unit 211C loads (stores) the boot program 253, the second operating system 250B, and the second device file 252B into the volatile memory 213 without initializing the processor 211, the optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234 (that is, the first hardware function unit). The storage areas in the volatile memory 213 for the boot program 253, the second operating system 250B, and the second device file 252B are different from the storage areas for the first operating system and the first device file 252A. The second operating system 250B is the operating system after the update. The second device file 252B is a device file used by the second operating system 250B. The second device file 252B is used for control by the second operating system 250B of the communication I / F 214, the internal communication management unit 215A, the queue management unit 215B, the buffer management unit 215C, the frame management unit 215D, the high-speed I / O management unit 215E, the control circuit 220, the optical transceivers 231, 233, the signal processing circuit 232, the PLL 234, the second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244.
[0061] The second storage processing unit 211C further loads into the volatile memory 213 the handover data 300 generated by the handover data generating unit 211B.
[0062] 3 again. The switching processing unit 211D causes the processor 211 to stop the first operating system 250A and execute the boot program 253 and the second operating system 250B. In other words, the switching processing unit 211D switches the execution target from the first operating system 250A to the second operating system 250B. As a result, the second operating system 250B starts up.
[0063] The switching processing unit 211D provides the processor 211 with notification information indicating that it is a live boot when the second operating system 250B is started. One example of the notification information is a flag indicating that it is a live boot, and another example is a command line indicating that it is a live boot. For example, the switching processing unit 211D saves the notification information before the first operating system 250A is stopped. The switching processing unit 211D provides the saved notification information to the processor 211 when the second operating system 250B is started. This allows the processor 211 to determine whether or not the current startup of the operating system is a live boot.
[0064] When the second operating system 250B is started, the control information acquisition processing unit 211E causes the processor 211 to acquire the first control information from the handover data 300 loaded in the volatile memory 213. In a live boot, the processing circuit 210, which is an SoC, is not restarted. In a normal boot, the control information (first control information) of the queue management unit 215B, the buffer management unit 215C, and the frame management unit 215D is acquired, but in a live boot that does not involve restarting the SoC, the first control information already acquired in the normal boot is not acquired. For this reason, when notification information is provided to the processor 211, the control information acquisition processing unit 211E can cause the processor 211 to acquire the first control information from the handover data 300. When the notification information is a flag, the processor 211 refers to the flag and determines whether or not the current boot of the operating system is a live boot. If the flag is set, the processor 211 acquires the first control information from the handover data 300. When the notification information is a command line, the command line is provided to the processor 211 in the bootstrap. The processor 211 determines whether the current boot of the operating system is a live boot based on the command line. If a command line indicating a live boot is given, the processor 211 obtains the first control information from the takeover data 300.
[0065] An operating system update may add a function that uses a new hardware function unit of the processing circuit 210. For example, assume that a function that uses the high-speed I / O manager 215E (see FIG. 2) that was not used in the first operating system 250A is added to the second operating system 250B. When the second operating system 250B is started by live boot, the first control information does not include control information of the high-speed I / O manager 215E, so the processor 211 cannot obtain the control information of the high-speed I / O manager 215E from the takeover data 300. The control information of the high-speed I / O manager 215E is obtained by the processor 211 from the processing circuit 210 when the second operating system 250B is started.
[0066] The control information acquisition processing unit 211E adds the second control information acquired at the time of starting the second operating system 250B to the handover data 300. The second control information is control information used to control the second hardware function unit that was not used in the first operating system 250A, and is control information acquired by the processor 211 at the time of starting the second operating system 250B. The control information of the high-speed I / O management unit 215E described above is an example of the second control information. FIG. 6B is a diagram for explaining an example of adding the second control information to the handover data. The control information acquisition processing unit 211E assigns type "4" to the high-speed I / O control information that is the control information of the high-speed I / O management unit 215E, and generates a data string 300A in which the type "4" and the length "N" of the high-speed I / O control information correspond to the high-speed I / O control information. The control information acquisition processing unit 211E adds the generated data string 300A to the handover data 300. The handover data 300 to which the second control information has been added is stored in the non-volatile memory 212 for the next live boot.
[0067] [3.2. Restart target selection method] FIG. 7A is a diagram showing an example of a restart target in a normal boot, and FIG. 7B is a diagram showing an example of a restart target in a restart target selection method. In a normal boot, when the updated software is stored in the non-volatile memory 212, the processor 211 transmits a reset request to the control circuit 220. When the control circuit 220 receives the reset request, it transmits a reset signal to each part of the communication device 200, that is, the processor 211, the optical transceivers 231 and 233, the signal processing circuit 232, the PLL 234, the second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244. The reset signal is a restart instruction signal. When the processor 211, the optical transceivers 231 and 233, the signal processing circuit 232, the PLL 234, the second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244 receive the reset signal, they are restarted. Furthermore, the control circuit 220 that transmitted the reset signal is also restarted. In such a normal boot, the first hardware functional unit, that is, the optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234 are restarted, and therefore main signal communication is interrupted during the software update.
[0068] Referring again to Fig. 3, in the restart target selection method, the first hardware function unit, i.e., the optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234, are not restarted during software update. Therefore, main signal communication is maintained during software update. The restart target setting unit 211F sets the target of restart when software executed by the processor 211 is updated. Specifically, the restart target setting unit 211F sets the processor 211, the second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244 as the restart targets.
[0069] Refer to Fig. 7B. The restart target setting unit 211F notifies the control circuit 220 of the set restart target. The control circuit 220 transmits a reset signal to the restart target. That is, a reset signal is transmitted to the processor 211, the second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244, but a reset signal is not transmitted to the optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234. The processor 211, the second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244 are restarted, and the software is updated.
[0070] Referring again to Fig. 3, when the processor 211 is restarted, the first storage processor 211A executes a normal boot.
[0071] [3.3. Common Processing] Next, a common process between the live boot method and the restart target selection method will be described. When the application software 254 executed by the processor 211 controls the signal processing circuit 232 or the optical transceivers 231, 233, the setting information and status information of the signal processing circuit 232 or the optical transceivers 231, 233 are stored in an internal table of the application software 254. The setting information of the signal processing circuit 232 is, for example, information on a communication path. The setting information of the optical transceivers 231, 233 is, for example, information indicating a setting value for enabling / disabling transmission and a setting value for an operation mode. The status information of the signal processing circuit 232 is, for example, information indicating an abnormality such as an alarm or warning, a value of a transmission / reception counter, etc. The status information of the optical transceivers 231, 233 is, for example, information indicating an inserted / unplugged state of a cable, information indicating an abnormality such as an alarm or warning, a value of a transmission / reception power, etc.
[0072] The application software 254 uses the setting information and state information in the internal table to control the signal processing circuit 232 or the optical transceivers 231 and 233. When such application software 254 is updated, the internal table is initialized. In the live boot method or the restart target selection method, the signal processing circuit 232 and the optical transceivers 231 and 233 are not restarted, so that the application software 254 after the restart may not be able to acquire the setting information. During the software update, the state of the signal processing circuit 232 and the optical transceivers 231 and 233 may change. For this reason, before the software update by the live boot method or the restart target selection method, the information saving unit 211G saves the setting information and state information stored in the internal table of the application software 254 to the non-volatile memory 212, and the recovery unit 211H restores the internal table of the application software 254 using the saved setting information after the software update. Furthermore, if the saved state information differs from the state of the signal processing circuit 232 or the optical transceivers 231 and 233 after the software update, the notification unit 211I notifies the user.
[0073] 8A is a diagram for explaining the saving of setting information and state information. Before updating the application software 254 for controlling either or both of the signal processing circuit 232 and the optical transceivers 231 and 233 by the live boot method or the restart target selection method, the information saving unit 211G generates saved data 500 including the setting information 412A, 413A and the state information 412B, 413B included in the internal table 411 of the application software 254A before the update. The information saving unit 211G stores the generated saved data 500 in the non-volatile memory 212. Note that, if it is known in advance that the software update will be performed by the live boot method that does not involve restarting the processor 211, the saved data 500 may be stored in the volatile memory 213.
[0074] 8B is a diagram for explaining the recovery of the internal table. After the application software 254 is updated, the recovery unit 211H writes the setting information 412A, 413A included in the saved data 500 to the internal table 421 of the updated application software 254B. As a result, the internal table 421 is recovered.
[0075] 3 again. Even after updating the application software 254, the processor 211 can obtain the state information from the signal processing circuit 232 and the optical transceivers 231, 233. The notification unit 211I compares the current state information of the signal processing circuit 232 and the optical transceivers 231, 233 with the state information 412B, 413B included in the saved data 500. If there is a difference between the current state information of the signal processing circuit 232 and the optical transceivers 231, 233 and the state information 412B, 413B included in the saved data 500, the notification unit 211I determines that the state of the signal processing circuit 232 or the optical transceivers 231, 233 has changed during the software update, and notifies the user that the state of the signal processing circuit 232 or the optical transceivers 231, 233 has changed. The notification can be made, for example, by transmitting a packet including information indicating that the state of the signal processing circuit 232 or the optical transceivers 231 and 233 has changed to a maintenance terminal device.
[0076] [4. Software update operation of communication device] FIG. 9 is a flowchart showing an example of a software update operation of the communication device according to the embodiment.
[0077] The new software is stored in a non-volatile memory such as a flash memory and provided to the user, or downloaded to the communication device 200 from a server (not shown). The software update file contains image data of the updated software. The processor 211 checks the versions of the current software (operating system 250, boot loader 251, application software 254, and firmware of the control circuit 220) (step S1). The processor 211 checks the image data contained in the update file (step S2), and checks the software to be updated by referring to the version of the updated software contained in, for example, the header of the update file (step S3).
[0078] The processor 211 determines whether the update target includes an operating system or a boot loader (step S4). If the update target does not include an operating system or a boot loader (NO in step S4), the processor 211 executes a conventional uninterrupted software update (step S5).
[0079] If the update target includes the operating system or the boot loader (YES in step S4), the processor 211 executes an information saving process (step S6). In the information saving process, saved data 500 including the setting information 412A, 413A and the state information 412B, 413B included in the internal table 421 of the application software 254 is generated, and the saved data 500 is stored in the non-volatile memory 212.
[0080] The processor 211 determines whether the update target includes a boot loader (step S7). If the update target includes a boot loader (YES in step S7), the processor 211 executes a reboot target selection update process (step S8). If the update target does not include a boot loader (NO in step S7), the processor 211 executes a live boot update process (step S9).
[0081] The restart target selection update process is an uninterruptible software update using a restart target selection method. Fig. 10 is a flowchart showing an example of the restart target selection update process.
[0082] The processor 211 installs the new version of the software in the non-volatile memory 212 (step S101).
[0083] The processor 211 sets the processor 211, the second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244 as targets for restart (step S102). The first hardware function units, that is, the optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234 are excluded from the targets for restart.
[0084] Processor 211 notifies control circuit 220 of the set restart target (step S103). Control circuit 220 transmits a reset signal to the restart target, and resets control circuit 220 itself. Processor 211 receives the reset signal, and resets (restarts) processor 211 (step S104).
[0085] The processor 211 loads the boot loader 251, the operating system 250, and the device file 252 into the volatile memory 213 (step S105). In the reboot target selection method, the boot loader 251 is included in the update target. Therefore, the updated boot loader is loaded. If the update target includes an operating system, the updated operating system is loaded. If the update target does not include an operating system, the same operating system as before the reboot is loaded.
[0086] The processor 211 executes the boot loader 251 loaded in the volatile memory 213 and starts the bootstrap (step S106). Furthermore, the processor 211 starts the operating system 250 loaded in the volatile memory 213 (step S107). That is, in this case, the operating system is started by normal boot.
[0087] In normal boot, the processor 211 acquires first control information of the queue management unit 215B, the buffer management unit 215C, and the frame management unit 215D included in the SoC during the boot sequence (step S108). After the operating system is started, the processor 211 generates handover data 300 from the acquired first control information (step S109). The processor 211 saves the generated handover data 300 in the non-volatile memory 212 (step S110). This ends the restart target selection update process.
[0088] The live boot update process is an uninterrupted software update using the live boot method. Fig. 11 is a flowchart showing an example of the live boot update process.
[0089] The processor 211 installs the new version of the software in the non-volatile memory 212 (step S201).
[0090] The processor 211 loads the startup program 253, the operating system 250, and the device file 252 into the volatile memory 213 without resetting the processor 211, i.e., while the operating system is running (step S202). In the live boot method, the boot loader 251 is not loaded into the volatile memory 213. Instead, the startup program 253 is loaded. In the live boot method, the operating system 250 is included in the update target. Therefore, the updated second operating system 250B and the second device file 252B used in the second operating system 250B are loaded into the volatile memory 213.
[0091] The processor 211 further loads the takeover data stored in the non-volatile memory 212 into the volatile memory 213 (step S203).
[0092] Next, the processor 211 stores the live boot notification information in the non-volatile memory 212 (step S204).
[0093] The processor 211 stops the operating system in operation, that is, the first operating system 250A (step S205).
[0094] The processor 211 executes the startup program 253 loaded into the volatile memory 213 (step S206). Furthermore, the processor 211 starts up the updated operating system, that is, the second operating system 250B, in accordance with the startup program 253 (step S207).
[0095] The processor 211 checks the notification information and determines whether the operating system is started by live boot (step S208). If it is confirmed that the operating system is started by live boot, the processor 211 acquires the first control information from the takeover data loaded into the volatile memory 213 (step S209).
[0096] When a hardware function unit of the processing circuit 210 that has not been used in the first operating system 250A is to be newly used in the second operating system 250B, the processor 211 acquires second control information, which is control information for the hardware function unit, when the second operating system is started (step S210). The processor 211 adds the acquired second control information to the handover data 300 (step S211). This makes it possible to provide the control information to the processor 211 when the operating system is started up by the next live boot. Note that when there is no hardware function unit to be newly used in the second operating system 250B, steps S210 and S211 are skipped. This ends the live boot update process.
[0097] 9 again. When the restart target selection update process or the live boot update process is completed, the processor 211 executes a recovery process (step S10). In the recovery process, the setting information 412A, 413A included in the saved data 500 is written to the internal table 421 of the application software 254. Furthermore, the processor 211 executes a notification process (step S11). In the notification process, if there is a difference between the current state information of the signal processing circuit 232 and the optical transceivers 231, 233 and the state information 412B, 413B included in the saved data 500, the user is notified that the state of the signal processing circuit 232 or the optical transceivers 231, 233 has changed during the software update. Note that if there is no difference between the current state information of the signal processing circuit 232 and the optical transceivers 231, 233 and the state information 412B, 413B included in the saved data 500, step S11 is skipped. With this, the software update operation of the communication device 200 is completed.
[0098] [5. Modifications] In the above embodiment, the configuration is described in which the reboot target selection update process and the live boot update process are selected according to the software to be updated, but the present invention is not limited to this. When the boot loader is not included in the update target and the operating system is included in the update target, the configuration may be such that only the reboot target selection update process is executed, or the configuration may be such that only the live boot update process is executed.
[0099] In the above embodiment, the relay system 100 applied to a mobile communication system has been described, but is not limited thereto. The relay system 100 may be applied to a communication system other than a mobile communication system. Furthermore, the communication device 200 included in the relay system 100 is an optical transmission device conforming to OTN, but is not limited thereto. The communication device 200 may be an optical transmission device not conforming to OTN, or may be a transmission device that transmits an electrical signal instead of an optical signal.
[0100] [6. Effects] The communication device 200 includes a volatile memory 213 that stores data, a processor 211 that can read data stored in the volatile memory 213, optical transceivers 231 and 233, a signal processing circuit 232, and a PLL 234 (first hardware function unit), a queue management unit 215B, a buffer management unit 215C, and a frame management unit 215D (second hardware function unit), a second storage processing unit 211C (storage processing unit), a switching processing unit 211D, and a control information acquisition processing unit 211E. The optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234 provide functions related to communication of main signals. The queue management unit 215B, the buffer management unit 215C, and the frame management unit 215D provide functions in cooperation with the processor 211. The second storage processing unit 211C loads (stores) the boot program 253, the second operating system 250B, and the handover data 300 in an area in the volatile memory 213 different from the storage area of the first operating system 250A, which is the operating system before the update, without initializing the processor 211, the optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234. The boot program 253 is a boot code for booting the second operating system 250B, which is the operating system after the update. The handover data 300 includes first control information used for the control of the queue management unit 215B, the buffer management unit 215C, and the frame management unit 215D by the first operating system 250A. The switching processing unit 211D causes the processor 211 to stop the first operating system 250A and execute the boot program 253 and the second operating system 250B, thereby booting the second operating system 250B. When the second operating system 250B is started, the control information acquisition processing unit 211E causes the processor 211 to acquire the first control information from the handover data 300. This makes it possible to live boot the second operating system 250B on the running first operating system 250A.In the live boot of the second operating system 250B, the optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234 are not initialized, so that the operating system can be updated while maintaining the communication function of the main signal. Since the processor 211 can obtain the first control information when the second operating system 250B is started, the live boot is also possible in the SoC.
[0101] The switching processing unit 211D may provide the processor 211 with notification information indicating that the second operating system 250B will be started by live boot when the second operating system 250B is started. When the notification information is provided to the processor 211, the control information acquisition processing unit 211E may cause the processor 211 to acquire the first control information from the handover data 300. This allows the control information acquisition processing unit 211E to determine whether the start of the operating system 250 is a normal start via bootstrap or a live boot, depending on whether the notification information is provided to the processor 211. In the case of a live boot, the processor 211 can acquire the first control information when the second operating system 250B is started.
[0102] The volatile memory 213, the processor 211, the queue management unit 215B, the buffer management unit 215C, and the frame management unit 215D may be included in a single integrated circuit, which allows the communication device 200 to be configured as an SoC.
[0103] The communication device 200 may further include a handover data generating unit 211B. The handover data generating unit 211B generates handover data 300 based on the first control information acquired by the processor 211 when the first operating system 250A is started, and stores the generated handover data 300 in the non-volatile memory 212. The second storage processing unit 211C may store the handover data 300 stored in the non-volatile memory 212 in the volatile memory 213. This allows the handover data 300 to be loaded into the volatile memory 213 when the second operating system 250B is started.
[0104] When the second control information is acquired by the processor 211 at the time of booting the second operating system 250B, the control information acquisition processing unit 211E may add the second control information to the handover data 300. The second control information is information used for the control of the second hardware function unit by the second operating system 250B. This makes it possible to add the second control information that was not necessary in the first operating system 250A but is now necessary in the second operating system 250B to the handover data 300 for the next live boot.
[0105] The communication device 200 includes a processor 211 capable of executing software, optical transceivers 231 and 233, a signal processing circuit 232, and a PLL 234 (first hardware function unit), a second control circuit 241, an L2 switch 242, a PHY 243, and a transceiver 244 (third hardware function unit), a control circuit 220, and a restart target setting unit 211F. The optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234 provide functions related to communication of main signals. The second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244 provide functions different from the functions related to communication of main signals. The control circuit 220 is capable of outputting a reset signal, which is a restart command signal, to the processor 211, the optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234, as well as the second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244. The restart target setting unit 211F sets a target for restart when software executed by the processor 211 is updated. When the restart target setting unit 211F sets the processor 211, the second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244 as targets for restart, and the optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234 are not set as targets for restart, the control circuit 220 outputs a reset signal to the processor 211, the second control circuit 241, the L2 switch 242, the PHY 243, and the transceiver 244, and does not output a reset signal to the optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234. As a result, the optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234 are excluded from targets for restart, and the processor 211 is included as a target for restart, so that software including the operating system 250 can be updated while maintaining the communication function of the main signal.
[0106] When the control circuit 220 outputs the reset signal, the control circuit 220 may restart the control circuit 220. This allows the control circuit 220 to be included in the targets of the restart.
[0107] The updated software may include the operating system 250. This allows the operating system 250 to be updated while maintaining the communication function of the main signal.
[0108] The updated software may include the boot loader 251. This makes it possible to update the boot loader 251, which requires the processor 211 to be restarted, while maintaining the communication function of the main signal.
[0109] The first hardware function unit may include optical transceivers 231, 233 that transmit and receive a main signal, a signal processing circuit 232 for processing the main signal, and a PLL 234 that supplies a clock signal to the optical transceivers 231, 233 and the signal processing circuit 232. This makes it possible to update software including the operating system 250 without initializing the optical transceivers 231, 233, the signal processing circuit 232, and the PLL 234.
[0110] The communication device 200 may include an information saving unit 211G and a restoration unit 211H. Before updating the application software 254 for controlling the optical transceivers 231 and 233, the signal processing circuit 232, and the PLL 234, the information saving unit 211G stores the setting information 412A and 413A of the optical transceivers 231 and 233 and the signal processing circuit 232 included in the internal table 411 of the application software 254 in the non-volatile memory 212. After updating the application software 254, the restoration unit 211H restores the setting information 412A and 413A stored in the non-volatile memory 212 as the internal table 421 of the updated application software 254. This makes it possible to restore the setting information 412A and 413A of the optical transceivers 231 and 233 and the signal processing circuit 232, which are lost from the internal table 421 when the application software 254 is updated, after the application software 254 is updated.
[0111] The information saving unit 211G may store the status information 412B, 413B of the optical transceivers 231, 233 and the signal processing circuit 232 included in the internal table 411 in the non-volatile memory 212. The communication device 200 may further include a notification unit 211I. The notification unit 211I notifies the user when there is a difference between the status information indicating the current statuses of the optical transceivers 231, 233 and the signal processing circuit 232 and the status information stored in the non-volatile memory 212. In this way, when the statuses of the optical transceivers 231, 233 and the signal processing circuit 232 change during a software update, it is possible to notify the user of the change after the software update.
[0112] [7. Supplementary Notes] The embodiments disclosed herein are illustrative in all respects and are not restrictive. The scope of the present invention is defined by the claims rather than the above-described embodiments, and includes the meaning equivalent to the claims and all modifications within the scope thereof. [Explanation of symbols]
[0113] 10. Communication Systems 20 Master station 25 Fiber optic cable 30 Slave Stations 100 Relay System 200 Communication equipment 210 Processing circuit 211 Processor 211A First storage processing unit 211B Handover Data Generation Unit 211C Second storage processing unit 211D Switching Processing Unit 211E Control information acquisition processing unit 211F Restart target setting section 211G Information save section 211H Recovery Department 211I Notification Department 212 Non-volatile memory 213 Volatile Memory 214 Communication Interface (Communication I / F) 215A Internal Communication Management Department 215B Queue management unit (second hardware function unit) 215C Buffer management unit (second hardware function unit) 215D Frame Management Unit (Second Hardware Function Unit) 215E High-speed I / O management section 220 Control circuit 221 Restart control section 231,233 Optical transceiver (first hardware function unit) 232 Signal processing circuit (first hardware function unit) 234 PLL (first hardware function unit) 241 Second control circuit (third hardware function unit) 242 L2 switch (third hardware function unit) 243 PHY (third hardware function unit) 244 Transceiver (TRx) (third hardware function) 250 Operating Systems 250A 1st Operating System 250B Second Operating System 251 Bootloader 252 Device files 252A 1st device file 252B Secondary device file 253 Startup Program 254, 254A, 254B Application Software 300 Transfer data 300A Data Column 411,421 Internal Tables 412A, 413A setting information 412B, 413B Status information 500 Evacuate data
Claims
1. A memory for storing data; A processor capable of reading data stored in the memory; A first hardware function unit that provides a function related to communication of a main signal; A second hardware function unit that provides a function in cooperation with the processor; a storage processing unit that stores handover data including a startup code for starting a second operating system, which is an operating system after the update, without initializing the processor, without initializing the processor and the first hardware function unit, a second code that is an executable code of the second operating system, and first control information used for controlling the second hardware function unit by a first operating system, which is an operating system before the update, in an area different from a storage area in the memory for a first code that is the executable code of the first operating system; a switching processing unit that causes the processor to stop the first operating system and execute the startup code and the second code to start up the second operating system; a control information acquisition processing unit that causes the processor to acquire the first control information from the handover data when the second operating system is started; Equipped with Communications equipment.
2. the switching processing unit, when starting up the second operating system, provides notification information to the processor indicating that the second operating system will be started up without initializing the processor; the control information acquisition processing unit causes the processor to acquire the first control information from the handover data when the notification information is provided to the processor; The communication device according to claim 1 .
3. the memory, the processor, and the second hardware function are included in a single integrated circuit; The communication device according to claim 1 or 2.
4. a takeover data generating unit that generates the takeover data based on the first control information acquired by the processor when the first operating system is started, and stores the generated takeover data in a storage device; The storage processing unit stores the takeover data stored in the storage device in the memory. The communication device according to any one of claims 1 to 3.
5. the control information acquisition processing unit adds second control information to the handover data when second control information used for control of the second hardware function unit by the second operating system is acquired by the processor at the time of booting of the second operating system. The communication device according to any one of claims 1 to 4.
6. the first hardware functional unit includes a transceiver for transmitting and receiving the main signal, a signal processing circuit for processing the main signal, and a clock generator for supplying a clock signal to the transceiver and the signal processing circuit; The communication device according to any one of claims 1 to 5.
7. an information saving unit configured to store setting information of the first hardware function unit, which is included in internal information of the software, in a storage device before updating the software for controlling the first hardware function unit, the software being executed by the processor; a recovery unit that recovers the setting information stored in the storage device after updating the software as internal information of the updated software; Further comprising: The communication device according to any one of claims 1 to 6.
8. the information saving unit stores state information of the first hardware function unit included in the internal information in the storage device; the communication device further includes a notification unit that notifies a user when there is a difference between state information indicating a current state of the first hardware function unit and the state information stored in the storage device; The communication device according to claim 7.
9. A software updating method for updating software in a communication device, comprising: storing handover data including a start-up code for starting a second operating system, which is an operating system after the update, without initializing the processor and a first hardware function unit providing a function related to communication of a main signal, without initializing the processor, a second code which is an executable code of the second operating system, and first control information used for controlling the second hardware function unit providing a function linked to the processor by the first operating system, which is an operating system before the update, in an area different from the storage area in a memory of the first code which is the executable code of the first operating system; causing the processor to stop the first operating system and to start the second operating system by executing the start-up code and the second code; when the second operating system is started, causing the processor to obtain the first control information from the handover data; Including, How to update software.
10. 1. A computer program product for updating software in a communication device, comprising: The communication device includes: storing handover data including a start-up code for starting a second operating system, which is an operating system after the update, without initializing the processor and a first hardware function unit providing a function related to communication of a main signal, without initializing the processor, a second code which is an executable code of the second operating system, and first control information used for controlling the second hardware function unit providing a function linked to the processor by the first operating system, which is an operating system before the update, in an area different from the storage area in a memory of the first code which is the executable code of the first operating system; causing the processor to stop the first operating system and to start the second operating system by executing the start-up code and the second code; when the second operating system is started, causing the processor to obtain the first control information from the handover data; Execute the Computer program.
Citation Information
Patent Citations
Multi-core processor system, control program, and control method
JP2014029739A
Station side device, station side device control method and program
JP2014078784A
Communication apparatus and setting method of communication apparatus
JP2020052453A