The present inventions relate generally to a method and an apparatus of processing for alarm clearing and, more particularly, to a method and an apparatus of processing for alarm clearing for optical network units.
As for a passive optical network, Gigabit Passive Optical Network (GPON) was standardized by International Telecommunication Union, Telecommunication Sector (ITU-T).
ITU-T G984.4 and G988 defines that the ONU 104 shall report alarms and alarm clearings occurred in it to the OLT 102. The alarm is occurred when a value for one of parameters of a diagnostic monitoring program for a transceiver in the ONU 104 exceeds a predetermined threshold value. The alarm clearing is that the alarm is cleared when a real-time value of the parameter turns back to a normal value (for example, when a real-time value becomes lower than high threshold value). The parameters of the diagnostic monitoring program are temperature, supply voltage, received signal strength indication (RSSI) of received optical signal, etc. of the transceiver.
The transceiver for the ONU is designed so that an interrupt request (hardware interrupt request (IRQ)) for alarm occurrence is sent to a processor which controls entire ONU.
However, the transceiver is not designed so that an interrupt request for alarm clearing is sent to the processor because
(i) memory size for the diagnostic monitoring parameters due to cost reduction is limited,
(ii) processing performance of a micro controller unit (MCU) in the transceiver due to cost reduction is limited, and
(iii) registers are reserved for customizing transceiver.
An object of the present inventions is to provide a novel and useful method and apparatus of processing for alarm clearing.
According to an aspect of the present invention, there is provided a method of processing for alarm clearing for alarm occurred in an apparatus, the method including the steps of: (a) sending a hardware interrupt request for an alarm occurring to a processor; (b) determining a parameter for the alarm; (c) obtaining a current value for the parameter by periodic software polling; (d) obtaining a threshold value for the parameter; (e) determining whether the current value is within the threshold value; and (f) processing for alarm clearing of the alarm if the current value is within the threshold value.
According to the present invention, the current value for the parameter of the alarm is obtained by periodic software polling. Therefore, since the hardware interrupt request is not needed for the alarm clearing, processing performance can be saved for it. In addition, the combination of the hardware interrupt request for the alarm and the software polling for the alarm clearing is used. Accordingly, resources of the processor can be saved.
According to an aspect of the present invention, there is provided an apparatus including: a CPU; means for sending a hardware interrupt request for an alarm occurring to the CPU; means for determining a parameter for the alarm; means for obtaining a current value for the parameter by periodic software polling; means for obtaining a threshold value for the parameter by periodic software polling; means for determining whether the current value is within the threshold value; and means for processing for alarm clearing of the alarm if the current value is within the threshold value.
According to the present invention, the current value for the parameter of the alarm is obtained by periodic software polling. Therefore, since the hardware interrupt request is not needed for the alarm clearing, processing performance can be saved for it. In addition, the combination of the hardware interrupt request for the alarm and the software polling for the alarm clearing is used. Accordingly, resources of the processor can be saved.
These and other aspects, features and advantages of the present invention will become apparent from the following description in connection with the accompanying drawings in which:
Hereinafter, preferred embodiments of the present invention will be described referring to the drawings.
The CPU 202 executes programs, applications, and routines stored in the ROM 204 and RAM 206, and performs processes for alarm and alarm clearing. The CPU 202 starts a predetermined routine corresponding to a hardware interrupt request when the CPU 202 receives the hardware interrupt request. The ROM 204 and RAM 206 store programs, applications, routines, and data for executing processes for alarm and alarm clearing by CPU.
The input/output interface 220 is, for example, Ethernet™, USB, or HDMI™ and is not limited to these interfaces. The input/output interface 220 connects ONU 200 to an external device 250 such as a personal computer or set top box. The ONU 200 can exchange data, video, and audio with the external device 250 via the input/output interface 220. The data is received by ONU 200 from an optical line terminator (OLT) 240 and from the external device 250
The transceiver 210 is provided with a receiver 212, a transmitter 214, a micro controller unit (MCU) 216, and a memory 218.
The transceiver 210 is coupled to an optical line and communicates with external devices such as an OLT 240 by using the receiver and transmitter. The transceiver 210 sends received data to the input/output interface 220 through the bus 230. The transceiver 210 receives data to be transmitted from the input/output interface 220 through the bus 230.
The transceiver 210 measures and obtains current values (for example, real-time values) for predetermined parameters by using a diagnostic monitoring program running on the MCU 216. The predetermined parameters of the diagnostic monitoring program are for example temperature, supply voltage, received signal strength indication (RSSI) of received optical signal (wave length: 1490 nm, 1555 nm, etc.) etc. of the transceiver. The obtained current values are stored in the memory 218. The memory 218 also stores predetermined threshold values for the parameters at predetermined addresses, respectively. The diagnostic monitoring program raises an alarm or a warning when the current value for the parameter exceeds the corresponding threshold values. A bit at the predetermined address for the parameter in the memory 218 is turned on when the alarm or warning is raised. The transceiver 210 send a hardware interrupt request for the alarm or warning to the CPU 202. The hardware interrupt request is performed by sending a predetermined signal to the CPU 202.
The memory 218 is a writable and readable memory, for example Electrically Erasable Programmable Read-Only Memory (EEPROM). The memory 218 has addresses of 0 h to 127 h.
The warning information is stored at addresses of 70 h and 71 h and the alarm information is stored at addresses of 74 h and 75 h. One of the bits at the addresses of 70 h, 71 h, 74 h, and 75 h is turned on, that is, becomes “1” when the alarm or warning is raised. The alarm and warning is hereinafter simply referred to as the “alarm”.
The threshold value for each of the predetermined parameters of the diagnostic monitoring program can have both a high threshold value and low threshold value.
The status for the parameter is normal when the current value is between the low threshold value and the high threshold value. The following is that the parameter of the transceiver 210 is temperature as an example. The high threshold value is the threshold value of the high temperature side, for example 60 degrees Celsius. The alarm for the high temperature is generated when the temperature exceeds the high threshold value, for example, when the temperature is 61 degrees Celsius which exceeds 60 degrees Celsius. Then, the bit at the predetermined address of the memory 218 is set “1” from “0” and this indicates abnormal status of the temperature at high temperature side. The low threshold value is the threshold value of the low temperature side, for example −25 degrees Celsius. The alarm for the low temperature is generated when the temperature exceeds the low threshold value, for example, when the temperature is −26 degrees Celsius which exceeds −25 degrees Celsius. Then, the bit at the predetermined address of the memory 218 is set “1” from “0” and this indicates abnormal status of the temperature at low temperature side. It is noted that the threshold can be only the high threshold value or the low threshold value.
The CPU 202 reads the current values and the threshold values for the above mentioned parameters via the I2C interface 222. The CPU 202 reads the current values and the threshold values for the parameters by software polling periodically (for example, at every 5 seconds).
Next, it is described with the processes for the alarm clearing. First, the CPU obtains a current value for the parameter for the alarm raised by software polling periodically. Specifically, the Transceiver Daemon in the user space obtains the current value and the threshold value for the parameter for the alarm stored in the memory 218 of the transceiver 210. The obtaining of the value is performed by a Transceiver Driver and I2C driver via the I2C interface 222. Second, the Transceiver Daemon compares the current value with the threshold value. When the current value turns back to a normal value (that is, the current value becomes within the threshold value), the Transceiver Daemon generates an alarm clearing message and sends to the OMCI Daemon. The OMCI Daemon encodes the received alarm clearing message and sends the encoded alarm clearing message to the OLT 240. Accordingly, the OLT can know the alarm clearing and the name of the alarm for the alarm clearing at the ONU 200.
Referring to
Next, in step S404, the CPU 202 determines the detected parameter for the alarm. For example, as described in
Next, in step S406, the CPU 202 starts a periodic timer for executing steps S408 to S412 periodically.
Next, in step S408, the CPU 202 obtains a current value for the determined parameter in step S404 from the memory 218 of the transceiver by software polling via the I2C interface 222. Specifically, the CPU 202 specifies the address of the memory for the current value of the parameter and reads the current value stored in the address.
Next, in step S410, the CPU 202 obtains a threshold value for the determined parameter in step S404 from the memory 218 of the transceiver by software polling via the I2C interface 222. Specifically, the CPU 202 specifies the address of the memory for the threshold value for the parameter and reads the threshold value stored in the address.
Next, in step S412, the CPU 202 determines whether the current value is within the threshold value. That is, the CPU 202 determines whether the current value have turned back to the normal value. If this determination is “No”, the process goes to step S414, and if this determination is “Yes”, the process goes to step S416.
In step S414, the CPU 202 waits by the next timing of the periodic timer. Since the CPU 202 wait for the period of the periodic timer, this prevents from frequent access to the memory 214 of the transceiver 210. At the next timing, the process goes to step S408 and steps S408 to S412 are performed as explained above.
In step S416, the CPU 202 processes for the alarm clearing. This step may include the steps of generating an alarm clearing message, encoding the generated alarm clearing message, and sending the encoded alarm clearing message to OLT 240.
Next, in step S418, the CPU deletes the timer. Then, the process is ended.
According to the embodiment of the present invention, the CPU 202 obtains the current value for the parameter of the alarm by periodic software polling. Accordingly, since the transceiver does not use the scheme of the hardware interrupt request for the alarm clearing, the MCU 216 of the transceiver 210 can be saved for it. As the result, the cost of the transceiver can be saved. In addition, the combination of the hardware interrupt request for the alarm and the software polling for the alarm clearing is used. Accordingly, the resources of the CPU 202 can be saved. Moreover, the CPU 202 accesses the memory 218 of the transceiver 210 for the process of the alarm clearing, whereas the CPU 202 does not access the memory 218 for the process of the alarm occurring. Accordingly, this can reduce frequency of accessing the memory 218. This can prevent from aging of a chipset including the memory 218 of the transceiver 210.
Referring to
Next, in step S504, the CPU 202 determines the detected parameter for the alarm. For example, as described in
Next, in step S506, the CPU 202 set a flag for the determined parameter Pn for “1”. For example, if the total number of the parameters for diagnostic monitoring program is 8 (that is, n=1 to 8), there are P1 to P8 as the parameters. The flag for each of the parameters is set for “1” when the alarm occurring and “0” when no alarm occurring. The above steps from steps S502 to S506 are always performed while the ONU 200 is running. When at least one flag is set for “1”, the process goes to step S508.
Next, in step S508, the CPU 202 starts a periodic timer for executing steps S510 and the following steps periodically.
Next, in step S510, the CPU sets n for 1 (that is, n=1).
Next, in step S504, the CPU determines whether the flag of the parameter Pn is “1”. If this determination is “Yes”, the process goes to step S514 (in
Referring to
Next, in step S516, the CPU 202 obtains a threshold value for the parameter Pn from the memory 218 of the transceiver via the I2C interface 222. Specifically, the CPU 202 specifies the address of the memory for the threshold value for the parameter Pn and reads the threshold value stored in the address. If there are a high threshold value and low threshold value, the CPU 202 obtains the both.
Next, in step S518, the CPU 202 determines which the alarm is for the high threshold value or the low threshold value. If this determination is “the low threshold value”, the process goes to step S520, and if this determination is “the high threshold value”, the process goes to step S522.
In step S520, the CPU 202 determines whether the current value is higher than the low threshold value for the parameter Pn. That is, the CPU 202 determines whether the current value have turned back to the normal value. If this determination is “Yes”, the process goes to step S524, and if this determination is “No”, the process goes to step S526 (in
In step S522, the CPU 202 determines whether the current value is lower than the high threshold value for the parameter Pn. That is, the CPU 202 determines whether the current value have turned back to the normal value. If this determination is “Yes”, the process goes to step S524, and if this determination is “No”, the process goes to step S526 (in
In step S526, the CPU 202 processes for the alarm clearing for the parameter Pn. This step may include the steps of generating an alarm clearing message, encoding the generated alarm clearing message, and sending the encoded alarm clearing message to OLT 240.
Referring to
In step S528, the CPU 202 add “1” to “n” (that is, n=n+1). The process goes to Step 512 (in
In step S532, the CPU 202 determines whether all the flags for the parameters are “0”. If this determination is “Yes”, the process is ended, and if this determination is “No”, the process goes to step S530 shown in
Retuning to
According to the embodiment of the present invention, there is a plurality of parameters of the diagnostic monitoring program and the CPU 202 uses the flags for the parameters for indicating the alarm occurring. Accordingly, the CPU 202 can easily determine the parameters whose alarm is occurring. Moreover this can reduce frequency of the access to the memory 218 by the CPU 202. This can prevent from aging of a chipset including the memory 218 of the transceiver 210. In addition, the embodiment has the works and the effects described in the previous embodiment.
It is to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the present invention as defined by the appended claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2013/077914 | 6/25/2013 | WO | 00 |