Exemplary embodiments of the present invention will be explained below in detail with reference to the accompanying drawings.
An overall configuration of the transmission apparatus and a summary of the software automatic update method according to an embodiment will be explained first.
The communication control unit 1001 performs predetermined communication controls required for achieving a network connection (for example, optical network connection), and includes a controller 1101. The controller 1101 includes a main signal controller 1111 that controls exchange of data packets and packets for control, and a status monitoring unit 1121 that monitors statuses of various functions of the communication control unit 1001.
Similarly, the communication control unit 1002 performs predetermined communication controls required for achieving a network connection, and includes a controller 1102. The controller 1102 includes a main signal controller 1112 that controls exchange of data packets and packets for control, and a status monitoring unit 1122 that monitors statuses of various functions of the communication control unit 1002.
Similarly, the communication control unit 100n performs predetermined communication controls required for achieving a network connection, and includes a controller 110n. The controller 110n includes a main signal controller 111n that controls exchange of data packets and packets for control, and a status monitoring unit 112n that monitors statuses of various functions of the communication control unit 100n.
In addition to the connectors 2001 to 200n, the transmission apparatus 10 also includes a switch 300 and a controller 400. The switch 300 is a transmission path via which main signal controllers 1111 to 111n exchange data packets and packets for control within the transmission apparatus 10. The controller 400 controls the transmission apparatus 10, and includes an operation monitoring unit 410. The operation monitoring unit 410 is a processor that collects monitoring results of the status monitoring units 1121 to 112n, and, if there is an irregularity, executes a warning process such as displaying a warning on a management terminal.
The functions of the operation monitoring unit 410, the main signal controllers 1111 to 111n, and the status monitoring units 1121 to 112n shown in
Software for achieving the function of the operation monitoring unit 410 is stored in a storage device of the transmission apparatus 10. When power is turned on, the software is read by a central processing unit (CPU), a digital signal processor (DSP), or a field programmable gate array (FPGA) of the controller 400, and the function of the operation monitoring unit 410 is achieved.
Similarly, pieces of software for achieving functions of the main signal controllers 1111 to 111n and the status monitoring units 1121 to 112n are stored in storage devices of their respective communication control units. When power is turned on, the software is read by a CPU, a DSP, or an FPGA of the controller of the respective communication control unit, and predetermined functions are achieved.
Each piece of software is upgraded for defect repair and functional improvements, and sometimes becomes incompatible with software of the earlier version. Therefore, to enable the operation monitoring unit 410 to execute its function of monitoring operations in cooperation with the status monitoring units 1121 to 112n, the version of the software for achieving the function of the operation monitoring unit 410 must be compatible with the version of the software for achieving the functions of the status monitoring units 1121 to 112n.
However, during an actual operation, the operation monitoring function can cease to function due to inconsistency between software versions, such as when a communication control unit breaks down and is replaced with a spare replacement unit. To prevent such situations, the transmission apparatus 10 stores software for various communication control units that are compatible with its own software in the local apparatus.
When a communication control unit having software that is incompatible with the software of the transmission apparatus 10 is mounted, the transmission apparatus 10 automatically installs the software that it stores to the communication control unit, thereby ensuring compatibility. Automatic updates of the software are not always executed compulsorily. Instead, the software is automatically updated only when this does not adversely affect communication control, which is the main purpose of the transmission apparatus 10.
While the transmission apparatus 10 shown in
An operation monitor unit 500 connects to the transmission apparatus 11 via a connector 201. The operation monitoring unit 410 is incorporated in a controller included in the operation monitor unit 500. With this configuration, software that achieves the function of the operation monitoring unit 410 is stored in a storage device of the operation monitor unit 500. A controller 401 of the operation monitor unit 500 also includes various processors for automatically updating software as described below.
Subsequently, a configuration for achieving a software automatic update method according to the present embodiment will be explained, taking the transmission apparatus 10 shown in
As shown in
The nonvolatile memory 120 can continue storing information even after the power of the transmission apparatus 10 is turned off, and stores information including a unit code 121a, a software type 121b, a software version number 121c, and a lower-phase compatible-version number 121d.
The unit code 121a is an identification code that indicates the category of the communication control unit, and the software type 121b is an identification code for specifying, in combination with the unit code 121a, software that can be installed in the communication control unit. The software version number 121c indicates the version of software currently in the communication control unit, and the lower-phase compatible-version number 121d indicates which earlier version the software currently installed in the communication control unit has lower phase compatibility with.
For example, when the software version number 121c has a value of “05” and the lower-phase compatible-version number 121d has a value of “02”, this indicates that the version of the software currently in the communication control unit is “05” and that this software has similar connectivity when the version number is “02”. In this specification, “having connectivity” signifies that the software can exchange information normally with another software according to a predetermined procedure.
To ensure connectivity between two pieces of software, a minimum requirement is that versions of both are compatible. More preferably, both are the latest versions.
The volatile memory 130 loses information when the power of the transmission apparatus 10 is turned off, and stores operation status flags 131 including an in-operation flag 131a and an uninterruptible-update possibility flag 131b.
The in-operation flag 131a indicates whether the communication control unit is operating, i.e., whether it is in a state of executing communication control. Since the in-operation flag 131a is provided in the volatile memory 130, it is invariably reset after power is turned on to the transmission apparatus 10 and correctly indicates that the communication control unit is not operating. The uninterruptible-update possibility flag 131b indicates whether the communication control unit can update its software while executing communication control, without interrupting the communication for even a moment.
The control register 140 is used in setting various parameters that controls operations of the main signal controller 1111. The software storage unit 150 stores software for achieving functions of the main signal controller 1111 and the status monitoring unit 1121.
The controller 400 includes a connectivity management table 421, a software management table 422, a software storage unit 423, a unit detector 431, a connectivity determining unit 432, a communication-interrupt determining unit 433, an automatic-update-necessity determining unit 434, a software automatic-update unit 435, and a unit controller 436.
The connectivity management table 421 stores information indicating connectivity between software that achieves functions of the operation monitoring unit 410 and software installed in the various communication control units.
A unit code is an identification code that indicates the category of a communication control unit. A software version number indicates the version of software corresponding to a communication control unit identified by that unit code, among the software for automatic update stored in the software storage unit 423. A lower-phase compatibility-version number indicates the oldest compatible version of software that achieves the function of the operation monitoring unit 410, among the versions of software that can be installed in the communication control unit identified by the unit code.
The software management table 422 stores information relating to software for automatic update stored in the software storage unit 423.
A unit code is an identification code that indicates the category of the communication control unit, and a software type is an identification code for identifying software that can be installed in the communication control unit indicated by that unit code. A file name is a name of software identified by a combination of a unit code and a software type, and an uninterruptible-update possibility flag indicates whether communication control being executed will be interrupted by installing the software to the communication control unit.
The software storage unit 423 stores pieces of software that can be installed in the various communication control units mounted on the transmission apparatus 10. Software having connectivity with software that achieves the function of the operation monitoring unit 410 is stored in the software storage unit 423. Instead of being stored in the transmission apparatus 10, pieces of software that can be installed in the various communication control units mounted on the transmission apparatus 10 can be stored in a server device or the like connected to the transmission apparatus 10 via a network.
The unit detector 431 is a processor that, when a communication control unit is newly implemented in the transmission apparatus 10 while it is running, detects this and notifies the automatic-update-necessity determining unit 434. The connectivity determining unit 432 is a processor that refers to unit information 121 of the communication control unit specified by the automatic-update-necessity determining unit 434 and information stored in the connectivity management table 421, and determines whether software in the communication control unit has connectivity with software that achieves the function of the operation monitoring unit 410.
The connectivity determining unit 432 compares the range of the software version number 121c and the lower-phase compatible-version number 121d in the unit information 121 of the communication control unit specified by the automatic-update-necessity determining unit 434 with the range of the software version number and the lower-phase compatible-version number in the information of the connectivity management table 421 corresponding to that communication control unit, and, if there is an overlap, determines that they are compatible. When the connectivity determining unit 432 determines that the pieces of software are compatible, it compares the software version number 121c of the unit information 121 with the software version number of the connectivity management table 421, and determines whether the software in the communication control unit is the latest version.
In case 2, while there is an overlap in the range indicated by the version numbers, the software version number 121c of the unit information 121 is older than the software version number of the connectivity management table 421. Therefore, the connectivity determining unit 432 determines that, while the pieces of software are compatible, the software in the communication control unit is not the latest.
In case 3, the software in the communication control unit is new, and there is no overlap in the range indicated by the version numbers. Therefore, the connectivity determining unit 432 determines that these pieces of software are not compatible. In case 4, the software in the communication control unit is old, and there is no overlap in the range indicated by the version number. Therefore, the connectivity determining unit 432 determines that these pieces of software are not compatible.
The communication-interrupt determining unit 433 is a processor that refers to the operation status flags 131 of the communication control unit specified by the automatic-update-necessity determining unit 434, and, when installing software to that communication control unit, determines whether a communication being executed by the communication control unit will be interrupted.
Specifically, when the in-operation flag 131a indicates that the communication control unit is in operation and the uninterruptible-update possibility flag 131b does not indicate that the communication control unit can update its software while executing communication control without interrupting communication for even a moment, the communication-interrupt determining unit 433 determines that the communication being executed when software is installed might be interrupted. In all other cases, the communication-interrupt determining unit 433 determines that there is no such possibility.
As described above, the in-operation flag 131a exists in the volatile memory 130, and is unfailingly correct in indicating that the communication control unit is not executing an operation after turning on the power to the transmission apparatus 10. Therefore, from the start of communication control by the communication control unit until the value of the in-operation flag 131a changes, the communication-interrupt determining unit 433 can determine without error that the communication being executed when software is installed will not be interrupted.
The automatic-update-necessity determining unit 434 is a processor that determines whether the transmission apparatus 10 is starting, and determines, based on determination results of the connectivity determining unit 432 and the communication-interrupt determining unit 433, whether software should be automatically updated to the communication control unit.
There are three timings when the automatic-update-necessity determining unit 434 determines whether software should be automatically updated to the communication control unit. The first timing is when power is turned on to the transmission apparatus 10. The second timing is when software that achieves the function of the operation monitoring unit 410 is updated by a manager or the like while the transmission apparatus 10 is operating. The third timing is when the unit detector 431 detects that a new communication control unit is mounted while the transmission apparatus 10 is operating.
At the first and second timings, the automatic-update-necessity determining unit 434 executes a determination process with the respective communication control units mounted on the transmission apparatus 10 as its targets, and at the third timing, the automatic-update-necessity determining unit 434 executes a determination process with the newly mounted communication control unit as its target.
When the automatic-update-necessity determining unit 434 determines the software should be automatically updated to a particular communication control unit, it specifies the unit code 121a and the software type 121b included in the unit information 121 of that communication control unit, and commands the software automatic-update unit 435 to execute a software automatic update process. On the other hand, when the automatic-update-necessity determining unit 434 determines the software need not be automatically updated to a particular communication control unit it commands the unit controller 436 to start an operation of that communication control unit, if the operation has not already started.
When the connectivity determining unit 432 determines that the software in the target communication control unit, although compatible, is not the latest version, if the transmission apparatus 10 is starting, the automatic-update-necessity determining unit 434 determines that an automatic update of the software is unnecessary, regardless of the determination result of the communication-interrupt determining unit 433. This is to prevent a long communication recovery time caused by automatically updating software when recovering from system breakdowns and when reactivating to repair damage.
Furthermore, when the connectivity determining unit 432 determines that the software in the target communication control unit, although compatible, is not the latest version, unless the transmission apparatus 10 is starting, the automatic-update-necessity determining unit 434 determines that the necessity of automatically updating the software based on the determination result of the communication-interrupt determining unit 433.
Specifically, when the communication-interrupt determining unit 433 determines that there is a possibility of a communication being interrupted by automatically updating the software (when the in-operation flag 131a of the target communication control unit does not indicate that the communication control unit is executing an operation, and the uninterruptible-update possibility flag 131b indicates that the communication control unit can update its software while executing communication control without interrupting communication for even a moment), the automatic-update-necessity determining unit 434 determines that an automatic update of the software is unnecessary.
On the other hand, when the communication-interrupt determining unit 433 determines that there is a possibility of a communication being interrupted by automatically updating the software (when the in-operation flag 131a and the uninterruptible-update possibility flag 131b of the target communication control unit have a combination of values other than those mentioned above), the automatic-update-necessity determining unit 434 determines that an automatic update of the software is necessary.
When the connectivity determining unit 432 determines that the software of the target communication control unit is not compatible, regardless of whether the transmission apparatus 10 is starting, the automatic-update-necessity determining unit 434 determines, based on the determination result of the communication-interrupt determining unit 433, whether an automatic update of the software is necessary.
Specifically, when the communication-interrupt determining unit 433 determines that there is a possibility of a communication being interrupted by automatically updating the software (when the in-operation flag 131a of the target communication control unit indicates that the communication control unit is executing an operation, and the uninterruptible-update possibility flag 131b does not indicate that the communication control unit can update its software while executing communication control without interrupting communication for even a moment), the automatic-update-necessity determining unit 434 determines that an automatic update of the software is unnecessary.
In this case, while communication control in the target communication control unit continues without interruption, connectivity between the software in that communication control unit and the operation monitoring unit 410 is lost. Consequently, even if some type of failure occurs in the target communication control unit, the operation monitoring unit 410 cannot detect it. Therefore, in this case, the automatic-update-necessity determining unit 434 warns the manager by displaying the loss of connectivity with the target communication control unit on a management terminal or the like.
On the other hand, when the communication-interrupt determining unit 433 determines that there is no possibility of communication being interrupted by automatically updating the software (when the in-operation flag 131a and the uninterruptible-update possibility flag 131b of the target communication control unit have a combination of values other than those mentioned above), the automatic-update-necessity determining unit 434 determines that an automatic update of the software is necessary.
The software automatic-update unit 435 is a processor that executes an automatic update process of software in a communication control unit specified by the automatic-update-necessity determining unit 434. Specifically, the software automatic-update unit 435 searches the software management table 422 using the unit code and the software type specified by the automatic-update-necessity determining unit 434 as keys, extracts the file name of the software to be installed, reads the software with the file name from the software storage unit 423, and writes it to the software storage unit 150 of the communication control unit that is the target of determination.
After the software automatic-update unit 435 writes the software to the software storage unit 150, the software version number 121c and the lower-phase compatible-version number 121d are updated based on information included in the software. This update process can be executed by the software automatic-update unit 435, or by a predetermined processor of the communication control unit.
The unit controller 436 is a processor that controls the communication control unit as necessary by setting predetermined parameters in the control register 140. In switching a communication control unit that is not operating to operating status, the unit controller 436 sets the in-operation flag 131a of the communication control unit such as to indicate that the communication control unit is operating. At this time, the unit controller 436 also extracts the value of an uninterruptible-update possibility flag corresponding to the values of the unit code 121a and the software type 121b of the communication control unit from the software management table 422, and sets the uninterruptible-update possibility flag 131b.
A process procedure of the transmission apparatus 10 according to the present embodiment will be explained next.
The process procedure in
As shown in
The connectivity determining unit 432 compares the unit information 121 with the connectivity management table 421, and verifies whether the software of the target communication control unit has connectivity (step S103).
When the connectivity determining unit 432 determines that the software in the target communication control unit is compatible with the software that achieves the function of the operation monitoring unit 410, and it is the latest version (step S104: Yes, and step S105: Yes), the automatic-update-necessity determining unit 434 determines that an automatic update of the software is unnecessary, and allows the unit controller 436 to execute normal processing.
If the target communication control unit is executing an operation (step S106: Yes), the unit controller 436 allows it to continue without change. If the target communication control unit is not executing an operation (step S106: No), the unit controller 436 switches it to operating status by setting predetermined parameters in the control register 140 of the communication control unit (step S107), and sets the operation status flags 131 of the communication control unit to flags indicating that it is operational, etc. (step S108).
At step S103, when the connectivity determining unit 432 determines that the software in the target communication control unit, while compatible with software that achieves the function of the operation monitoring unit 410, is not the latest version (step S104: Yes, and step S105: No), if the transmission apparatus is starting (step S109: Yes), the automatic-update-necessity determining unit 434 determines that an automatic update of the software is unnecessary, and allows the communication-interrupt determining unit 433 to execute normal processing.
In this case, since the target communication control unit is not operating, the unit controller 436 switches it to operating status by setting predetermined parameters in the control register 140 (step S107), and sets the operation status flags 131 to flags indicating that it is operational, etc. (step S108).
At step S103, when the connectivity determining unit 432 determines that the software in the target communication control unit, while compatible with software that achieves the function of the operation monitoring unit 410, is not the latest version (step S104: Yes, and step S105: No), if the transmission apparatus is not starting (step S109: No), the automatic-update-necessity determining unit 434 switches processing in accordance with the determination result of the communication-interrupt determining unit 433.
That is, when the communication-interrupt determining unit 433 determines that there is a possibility of communication being interrupted by software installation (step S110: Yes), the automatic-update-necessity determining unit 434 determines that an automatic update of the software is unnecessary. In this case, since the target communication control unit ought to be operating already, the communication-interrupt determining unit 433 ends the process without sending a command to other processors.
On the other hand, when the communication-interrupt determining unit 433 determines that there is no possibility of communication being interrupted by software installation (step S110: No), the automatic-update-necessity determining unit 434 determines that an automatic update of the software is necessary, and commands the software automatic-update unit 435 to execute an automatic update process of the software.
In this case, the software automatic-update unit 435 searches for a file name of software suitable for the target communication control unit in the software management table (step S111) and, if no such file name can be found (step S112: No), makes a predetermined warning unit display a warning of the fact before ending the process (step S113).
When the software automatic-update unit 435 finds a corresponding file name at step S111 (step S112: Yes), it extracts a file of that name from the software storage unit 423 and transfers the file name to the software storage unit 150 of the target communication control unit (step S114). The software automatic-update unit 435 then makes the unit controller 436 set the control register 140 (step S107) and set the operation status flags 131 (step S108), such that the installed software will function.
At step S103, when the connectivity determining unit 432 determines that the software of the target communication control unit is not compatible with the software that achieves the function of the operation monitoring unit 410 (step S104: No), the automatic-update-necessity determining unit 434 switches processing in accordance with the determination result of the communication-interrupt determining unit 433.
That is, when the communication-interrupt determining unit 433 determines that there is a possibility of communication being interrupted by software installation (step S115: Yes), the automatic-update-necessity determining unit 434 determines that an automatic update of the software is unnecessary. In this case, since the operation monitoring unit 410 cannot monitor the operation of the target communication control unit, the communication-interrupt determining unit 433 makes a predetermined warning unit display a warning indicating this fact (step S116).
On the other hand, when the communication-interrupt determining unit 433 determines that there is no possibility of communication being interrupted by software installation (step S115: No), the automatic-update-necessity determining unit 434 determines that an automatic update of the software is necessary, and commands the software automatic-update unit 435 to execute a process of automatically updating the software.
In this case, the software automatic-update unit 435 searches for a file name of software that is suitable for the target communication control unit in the software management table (step S111) and, if no such file name can be found (step S112: No), makes a predetermined warning unit display a warning of that fact before ending the process (step S113).
When the software automatic-update unit 435 finds a corresponding file name at step S111 (step S112: Yes), it extracts a file of that name from the software storage unit 423 and transfers the file name to the software storage unit 150 of the target communication control unit (step S114). The software automatic-update unit 435 then makes the unit controller 436 set the control register 140 (step S107) and set the operation status flags 131 (step S108), such that the installed software will function.
As described above, in the present embodiment, when new software is installed in a communication control unit, a determination regarding whether to automatically update the software in the communication control unit is made by taking as references not only consistency between the software versions, but also the matter of whether communication control being executed at that communication control unit will be interrupted. Therefore, software in the communication control unit can be automatically updated without interrupting the communication it is executing.
While the above embodiment relates to an example where the software automatic update method of the invention is applied in a transmission apparatus, the method can also be effectively applied in various apparatuses on which units are mounted. Note that the configurations described in the present embodiments can be variously modified without departing from the scope of the present invention.
As described above, according to one aspect of the present invention, when new software is installed in a unit, determination regarding whether to automatically update the software is made by taking as a reference not only consistency between the software versions, but also the matter of whether communication control being executed at the unit will be interrupted. Therefore, the software in the unit can be automatically updated without interrupting the communication it is executing.
Furthermore, according to another aspect of the present invention, even if the software versions are inconsistent, if communication control being executed by the unit will be interrupted when new software is installed in it, the software automatic update process is not executed. Therefore, communication being executed by the unit can be prevented from being interrupted by the software automatic update process.
Moreover, according to still another aspect of the present invention, even when the software in the unit is not the latest version, if communication control being executed by the unit will be interrupted when new software is installed in it, the software automatic update process is not executed. Therefore, communication being executed by the unit can be prevented from being interrupted by the software automatic update process.
Furthermore, according to still another aspect of the present invention, when the software in the unit, although compatible with software in the transmission apparatus, is not the latest version, if the transmission apparatus is starting, the software automatic update process is not executed. Therefore, when reactivating to repair damage, this configuration can prevent an increase in activation time caused by the software automatic update process, and an increase in the communication interruption time.
Although the invention has been described with respect to a specific embodiment for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.
Number | Date | Country | Kind |
---|---|---|---|
2006-209178 | Jul 2006 | JP | national |