1. Field
Example aspects of the invention generally relate to identifying and troubleshooting errors in a network, and, more particularly, to using information stored on devices in the network to identify communication errors caused by the exchange of unsupported messages among devices in the network.
2. Related Art
There is a growing demand in the industry to find a solution to transmit voice, data, or video from a headend to a subscriber's premises through a fiber optic network all the way into an individual home or business. Such fiber optic networks generally are referred to as fiber-to-the-home (FTTH), fiber-to-the-premises (FTTP), fiber-to-the-business (FTTB), fiber-to-the-node (FTTN), or fiber-to-the-curb (FTTC) networks and the like, depending on the specific application of interest. Such types of networks are also referred to herein generally as “FTTx networks”.
In a FTTx network, equipment at a headend or central office couples the FTTx to external services such as a Public Switched Telephone Network (PSTN) or an external network. Signals received from these services are converted into optical signals and are transmitted using a single optical fiber at a plurality of wavelengths, with each wavelength defining a channel within the FTTx network.
In a FTTP network, the optical signals are transmitted through the FTTP network to an optical splitter that splits the optical signals and transmits each individual optical signal over a single optical fiber to a subscriber's premises. At the subscriber's premises, the optical signal is converted into at least one electrical signal using an Optical Network Terminal (ONT). The ONT may split the resultant electrical signal into separate services required by the subscriber such as computer networking (data), telephony and video.
In FTTC and FTTN networks, the optical signal is converted to at least one electrical signal by either an Optical Network Unit (ONU) (FTTC) or a Remote Terminal (RT) (FTTN), before being provided to a subscriber's premises.
A typical FTTx network often includes one or more Optical Line Terminals (OLTs), which each include one or more Passive Optical Network (PON) cards. Such a typical network is illustrated in
In a FTTN network, each OLT typically can be communicatively coupled to one or more RTs. The RTs are communicatively coupled to NTs that are communicatively coupled to CPE.
OLTs communicate with ONTs (in the case of a FTTP network), or ONUs (in the case of a FTTC network) using the ONT Management and Control Interface (OMCI) control protocol as specified in ITU-T G.983.2 and ITU-T G.984.4. An OMCI Management Information Base (MIB), included in each device communicating using the OMCI protocol, defines the format of messages exchanged using the OMCI protocol.
An OLT can send an OMCI control message that controls an ONT or OLT to provide a service (e.g., a voice, data, and/or video service) by establishing a connection through which data is delivered from the OLT to CPE via the ONT or ONU. The ONT or ONU can send the OLT OMCI notification messages to notify the OLT of alarms.
Typically, the OMCI MIBs of OLTs and ONTs/ONUs are matched to define message formats in the same manner so that a message sent by one device can be properly processed by the receiving device. Otherwise, if the OMCI MIBs of OLTs and ONTs/ONUs define message formats differently, thus creating a MIB mismatch, a message sent by one device may not be supported by the receiving device. Typically, if an OLT, ONT, or ONU does not support a received message, the device may reject the entire message.
The inventors have recognized that when new devices (e.g., ONTs, ONUs, and/or OLTs) are added to a network, communication errors may occur because of mismatches between messages supported by the newly added devices and messages supported by pre-existing devices in the network. These mismatches may occur because, for example, the newly added devices include new software releases, the newly added devices and the pre-existing devices are manufactured by different vendors, or because the newly added devices are new products, and thus generate and process messages in a different manner than the pre-existing devices.
Because these devices typically reject unsupported messages without providing additional error processing, when a network error occurs because of an unsupported message, it may be difficult to determine that the error is due to unsupported error messages and not due to some other cause.
The example embodiments described herein overcome the above-identified limitations by providing a method, and an apparatus, system, and sequences of instructions that operate in accordance with the method, for identifying errors in communications in a system that provides services (e.g., voice, data, and/or video services).
According to an example aspect of the invention, a network device includes at least one communications interface adapted to communicate with at least one controlling device using a control protocol. The controlling device controls the network device to provide at least one service. A processor of the network device is operable to (i) receive a control message from the controlling device by way of the communications interface, (ii) determine whether the control message is a supported message, (iii) generate error information if the control message is not a supported message, and (iv) store the error information in a memory of the network device. The controlling device includes at least one communications interface, and a processor operable to (i) receive a notification message from the network device, (ii) determine whether the notification message is a supported message, (iii) generate error information if the notification message is not a supported message, and (iv) store the error information in a memory of the controlling device.
By virtue of storing error information generated in response to receiving an unsupported message, the network device and/or the controlling device enables a technician or a network management system to more easily isolate and identify network errors caused by unsupported error messages.
The network device can be, for example, one of an Optical Network Terminal (ONT) and an Optical Network Unit (ONU), and the controlling device can be, for example, an Optical Line Terminal (OLT), although in other embodiments, other types of devices can be employed.
The control messages can include at least a provisioning message for provisioning a service. The notification message can include at least an alarm. The control message and the notification message can include an Optical Network Terminal (ONT) Management and Control Interface (OMCI) control message, the memory of the network device can store an OMCI Management Information Base (MIB), and the memory of the controlling device can include an OMCI MIB.
The processor of the network device and the processor of the control device can provide the error information to a test device in response to a query from the test device by way of the communications interface. The processor of the network device can provide the error information to the controlling device. The processor of the controlling device can provide the error information to an Element Management System (EMS) by way of the communications interface.
The unsupported control message can be at least one of a control message having an unsupported format, a control message including at least one unsupported attribute, and a control message including at least one unsupported attribute value. The unsupported notification message can be a message that includes an unknown alarm.
According to an example aspect of the invention, error information generated in response to an unsupported control message being received from at least one controlling device of the system is stored in at least one network device. The error information stored in the network device is retrieved, and errors in communications between the network device and the controlling device are identified, based on the error information retrieved.
By virtue of storing error information generated in response to receiving an unsupported message, a technician or a network management system can more easily isolate and identify network errors caused by unsupported error messages.
Control messages can be generated and sent to the at least one network device. Error information can be generated in response to an unsupported notification message being received at the controlling device, and the error information can be stored in the controlling device. The error information stored in the controlling device can be retrieved. Errors in communications can be identified based on the error information retrieved from the controlling device, and the error information retrieved from the network device.
By virtue of testing network devices in a test environment in the foregoing manner, potential communication errors can be identified before deploying the network device in the field. By identifying potential communication errors, manufacturers can redesign their network devices so that communication errors can be reduced or minimized when these network devices are deployed in the field.
The system can be a test system in a test environment operated by a testing service provider, and the testing service provider can be compensated for operating the system.
A manufacturer of the controlling device of the system can request the testing service provider to test the system, and the manufacturer can compensate the testing service provider for operating the system.
A manufacturer of the network device of the system can request the testing service provider to test the system, and the manufacturer can compensate the testing service provider for operating the system.
A service provider of a service provided by the system can request the testing service provider to test the system, and the service provider can compensate the testing service provider for operating the system.
A manufacturer of a network device of the system can compensate the service provider for requesting the testing service provider to test the system.
The testing service provider can manufacture at least one controlling device of the system, and a manufacturer of the network device of the system can compensate the testing service provider by paying the testing service provider a royalty fee for each network device deployed in the system that communicates with a controlling device deployed in the system and manufactured by the testing service provider.
Further features and advantages, as well as the structure and operation, of various example embodiments of the invention are described in detail below with reference to the accompanying drawings.
The features and advantages of the example embodiments of the invention presented herein will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference numbers indicate identical or functionally similar elements:
Identically labeled elements appearing in different ones of the figures refer to the same elements but may not be referenced in the description for all figures.
The PON 101 may be deployed for fiber-to-the-business (FTTB), fiber-to-the-curb (FTTC), and fiber-to-the-home (FTTH) applications, for example. The optical feeds 121a-n in PON 101 may operate at bandwidths such as 155 Mb/sec, 622 Mb/sec, 1.25 Gb/sec, and 2.5 Gb/sec or any other desired bandwidth implementations. The PON 101 may incorporate, for example, ATM communications, broadband services such as Ethernet access and video distribution, Ethernet point-to-multipoint topologies, BPON communications, GPON communications, EPON communications, and native communications of data and time division multiplex (TDM) formats. Customer premises equipment (e.g., 110), which can receive and provide communications in the PON 101, may include standard telephones (e.g., Public Switched Telephone Network (PSTN)), Internet Protocol telephones, Ethernet units, video devices (e.g., 111), computer terminals (e.g., 112), digital subscriber line connections, cable modems, wireless access, as well as any other type of customer premise equipment.
PON 101 can include one or more different types of ONTs (e.g., 106a-n). Each ONT 106a-n, for example, is operably coupled with an ODN device 104a through associated ODN device splitters 105a-n via a data port (i.e., 319 of
A single EMS, however, may manage or otherwise be associated with more than one PON. As such, a single EMS is not limited to managing PON cards within a single PON, but may manage PON cards from several PONs. In other example embodiments, more than one EMS can be employed to manage one or more PON cards within a single PON or plural PONs.
In operation, processor 302 loads the program instructions 310b from the storage device 310 into the memory 304. Processor 302 then executes the loaded program instructions 310b to perform any of the example methods described below, for operating the system 300 (which forms individual ones of the components, such as, an ONU, ONTs 106a-n, OLTs 102, and other devices supporting a control protocol).
According to an example aspect of the invention, in the case of at least a network device (e.g., ONU of
In the case of at least a controlling device (e.g., OLT 102 of
As but a non-limiting example, control messages can include at least provisioning messages for provisioning at least one service (e.g., a voice, data, and/or video service). As another non-limiting example, notification messages can include at least alarms, according to, for example, the OMCI protocol.
An element management system (EMS) (e.g., 130 of
At block 401, the EMS receives configuration instructions, via the EMSs user interface (e.g., 318 of
At block 404, a processor of the ONT determines whether a received message is a supported message. A received message is supported if the ONT understands the format of the message, supports the attributes or parameters included in the message, and supports ranges or values specified for the attributes/parameters included in the message. For example, in response to receiving a message from the PON card of the OLT, the processor of the ONT determines the type of the received message. The processor of the ONT then retrieves MIB information corresponding to the type of the received message from the ONTs OMCI MIB, and determines whether the received message is supported based on the retrieved MIB information.
The retrieved MIB information defines the format, supported attributes, and supported attribute ranges/values for each supported attribute for the message type corresponding to the received message. By comparing the format, included attributes, and specified ranges or values specified for the attributes included in the message with the corresponding format, supported attributes, and supported attribute ranges/values, respectively, defined in the retrieved MIB information, the processor of the ONT determines whether the received message is supported.
If the format of the message is not supported (“NO” at block 404), the processor of the ONT generates a message format error message (block 405), and thereafter processing proceeds to block 410. If the format of the message is supported (“YES” at block 404), processing proceeds to block 406 where the processor determines whether attributes included in the message are supported.
If attributes included in the message are not supported (“NO” at block 406), the processor of the ONT generates an attribute error message (block 407), and thereafter processing proceeds to block 410. If the attributes included in the message are supported (“YES” at block 406), processing proceeds to block 408 where the processor determines whether the ranges or values specified for attributes in the message are supported.
If the ranges or values specified for attributes in the message are supported (“YES” at block 408), processing proceeds to block 414 where the service specified in the received message is provisioned. Thereafter, processing proceeds to block 415 and ends.
If the ranges or values specified for attributes in the message are not supported (“NO” at block 408), the processor of the ONT generates an attribute format error message (block 409), and thereafter processing proceeds to block 410.
At block 410, the processor of the ONT adds other relevant information to the error messages generated at blocks 405, 407, and/or 409, such as, for example, the unsupported message, a timestamp, an ONT state including alarms and an ONT provisioned state, and any other relevant information. The generated error messages, including any relevant information, are stored in a memory of the ONT, such as for example, a flash memory.
At block 411, the processor of the ONT provides the generated error messages, including any relevant information added at block 410, to the OLT, via the OLT's PON card. In response to receiving the error messages (block 412), a processor of the OLT notifies the EMS of the received error messages, providing any relevant information including the received error messages, and/or stores the received error messages in a memory of the OLT, such as for example, a flash memory (block 413). The OLT adds other relevant information to stored error messages, such as, for example, a timestamp indicating the time the OLT received the error messages, information identifying the ONT that sent the messages, an ONT state including alarms and an ONT provisioned state, and any other relevant information. After the processor of the OLT notifies the EMS and/or stores the received error messages, processing proceeds to block 415 and ends.
The OLT controls the ONT to provide at least one service (e.g., voice, data, and/or video service(s)) to customer premises equipment (e.g., 110 of
At block 501, the ONT detects a problem, such as, for example, a problem with the ONT hardware and/or software, a problem with the customer premises equipment, a problem with the interface between the ONT and the customer premises equipment, and any other type of problem. At block 502, the ONT generates an alarm and sends a notification message reporting the alarm to the OLT. In response to receiving the notification message from the ONT (block 503), a processor of the OLT determines whether the received notification message is a supported notification message (block 504).
The processor of the OLT determines whether the received message is a supported message by determining whether the alarm reported in the notification message is defined in the OMCI MIB of the OLT. If the received notification message is a supported notification message (“YES” at block 504), the processor of the OLT performs standard alarm handling functions for handling the alarm reported in the notification message (block 505). Thereafter processing proceeds to block 507 and ends.
If the received notification message is not a supported notification message (“NO” at block 504), the processor of the OLT notifies an EMS, communicatively coupled to the OLT (e.g., 130 of
In response to a problem in the field (block 601), the device is returned to the manufacturer (block 602) to determine whether the problem is due to the exchange of unsupported messages between the network device and the controlling device, or due to a more serious problem, such as for example, a manufacturing defect.
At block 603, the manufacturer queries the device to retrieve the error information stored in the device, which is used to troubleshoot the problem. At block 604, the manufacturer identifies communication errors caused by unsupported messages based on the retrieved error information.
For example, if there is a mismatch between the OMCI MIB of the network device and the OMCI MIB of the controlling device deployed in the field, the network device and the controlling device may exchange unsupported messages in the field. In response to receiving an unsupported message, the network device and/or the controlling device generate and store error information, as described above with respect to
If the manufacturer does not identify any communications errors (“NO” at block 604), the process of identifying communication errors ends (block 606). If the manufacturer identifies any communications error(s) (“YES” at block 604), the manufacture either updates the hardware and/or software of the device to correct the problem that generated the error(s), or notifies the service provider using the device in the field to modify the operation of their network (e.g., 101 of
The network device and the controlling device perform the methods described above with respect to
At block 701, a test technician begins performing interoperability testing between the ONT and the OLT. At block 702, both devices are connected, and the test technician sends the OLT configuration instructions, via the OLT's user interface (e.g., 318 of
At block 703, the OLT generates at least one OMCI control message for provisioning or querying specific parameters (e.g., status and read-only parameters) within the full set of available parameters, and sends the generated OMCI control message(s) to the ONT. In an example embodiment of the invention, these parameters are specified in instructions received by the test technician via the OLT's user interface. In another example embodiment of the invention, these parameters are automatically specified by program instructions 310b stored in the OLT, which are executed by the OLT's processor 302, in response to receiving the instructions for beginning the interoperability tests provided by the test technician at block 702.
At block 704, the ONT receives the OMCI control message(s) generated at block 703. If the received message(s) is unsupported, the ONT rejects the message(s), whereas if the message(s) is supported, the ONT accepts the message(s). At block 705, the ONT stores error information corresponding to any received unsupported control messages in accordance with the method described above with respect to
At block 706, it is determined whether additional parameters are to be provisioned or queried by the OLT. If additional parameters are to be provisioned or queried by the OLT (“YES” at block 706), additional parameters within the full set of available parameters are specified (block 707), and thereafter the OLT performs the process described above with respect to block 703 using these newly specified parameters. In an example embodiment of the invention, the test technician determines whether additional parameters are to be provisioned or queried by the OLT at block 706, and if so, uses the OLT's user interface to manually specify these additional parameters. In another example embodiment of the invention, the OLT's processor determines whether additional parameters are to be provisioned or queried by the OLT at block 706, based on instructions 310b stored on the OLT, and, if so, automatically specifies these additional parameters.
If additional parameters are not to be queried by the OLT (“NO” at block 706), the test technician queries the ONT and/or the OLT to retrieve any error information stored in either device at block 708. Based on the retrieved error information, the test technician generates a report indicating any unsupported messages exchanged between the ONT and the OLT. If there is no error information, the test technician generates a report indicating that the ONT and/or OLT is ready to be deployed in the field.
The test technician can query this information using the user interface (e.g., 318 of
At block 709, the test technician sends the report to either the manufacturer of the ONT and/or the manufacturer of the OLT. Based on the report, the manufacturer(s) may modify the software and/or hardware of the OLT and/or the ONT to correct the errors identified during the interoperability testing, or if the report indicates that there are no errors, proceed to deploy the device(s) in the field.
If the devices are ready to be deployed (“YES” at block 709), interoperability testing is complete (block 710). If the devices need to be modified (“NO” at block 709), the devices are modified and the interoperability tests are performed using the modified devices (block 701).
At block 801, a test technician operating an EMS (e.g., 130 of
At block 805, the OLT generates at least one OMCI control message for provisioning or querying specific parameters (attributes) (e.g., status and read-only parameters) within the full set of available parameters, and sends the generated OMCI control message(s) to the ONT. These parameters are automatically specified by program instructions 310b stored in the OLT, which are executed by the OLT's processor 302, in response to receiving the instructions for beginning the interoperability tests provided by the EMS at block 803.
At block 806, the ONT receives the OMCI control message(s) generated at block 805. If the received message(s) is unsupported, the ONT rejects the message(s), whereas if the message(s) is supported, the ONT accepts the message(s). At block 807, the ONT stores error information corresponding to any received unsupported control message(s) in accordance with the method described above with respect to
At block 808, it is determined whether additional parameters are to be provisioned or queried by the OLT. If additional parameters are to be provisioned or queried by the OLT (“YES” at block 808), additional parameters within the full set of available parameters are specified (block 809) and thereafter the OLT performs the process described above with respect to block 805 using these newly specified parameters. The OLT's processor determines whether additional parameters are to be provisioned or queried by the OLT at block 808, based on instructions 310b stored on the OLT, and if so, automatically specifies these additional parameters.
If additional parameters are not to be queried by the OLT (“NO” at block 808), the OLT's processor determines whether the interoperability tests should be repeated (block 804), based on the command received from the EMS at block 803. If the interoperability tests are to be repeated (“YES” at block 804), processing returns to block 805.
If the interoperability tests are not to be repeated (“NO” at block 804), processing proceeds to block 810 where the OLT queries the ONT to retrieve any error information stored in the ONT at block 807. Based on the retrieved error information, and the error information stored locally on the OLT, the OLT generates a pass/fail report indicating whether the ONT is capable of interoperating with the OLT in a system deployed in the field (block 811).
At block 812 the OLT notifies the EMS if any error information was retrieved from the ONT (or generated at the OLT) and/or provides the report generated at block 811. In addition to, or in place of, notifying the EMS, the OLT stores any retrieved or generated error information in a memory of the OLT, such as, for example, a flash memory. The OLT also can add other relevant information to stored notification messages, such as, for example, a timestamp indicating the time the OLT received or generated error information, information identifying which ONTs contained stored error information, an ONT state including other alarms and an ONT provisioned state, and any other relevant information. After the OLT notifies the EMS and/or stores the error information, processing proceeds to block 813 and ends.
In an example aspect of the invention, the methods described above for
In another example aspect of the invention, a service provider requests the testing service provider to test a system, and the service provider compensates the testing service provider for performing the testing. For example, if a service provider wants to deploy, for example, new ONT or OLT devices in the field, the service provider pays the testing service provider to perform tests in a test environment to determine whether the new device can operate in the field. Furthermore, a manufacturer of this new device (e.g., ONT or OLT) compensates the service provider if the service provider requests the testing service provider to test the system on the manufacturer's behalf.
In another example aspect of the invention, a manufacturer of a controlling device (Manufacturer A), such as, for example, an OLT, performs interoperability testing between the manufacturer's device and a network device, such as, for example, an ONT, developed by another manufacturer (Manufacturer B). Manufacturer B compensates Manufacturer A by paying Manufacturer A a royalty fee for each deployed ONT made by Manufacturer B that communicates with a deployed controlling device, made by Manufacturer A, in a system that provides services.
A communication interface module 900 controls a communications interface 314 by processing interface commands. The interface commands may be, for example, commands to send data, commands to communicatively couple with another device, or any other suitable type of interface command.
A storage module 910 stores and retrieves data (e.g., error information) in response to requests from the processing module 920.
In the case of a network device supporting a control protocol (e.g., ONU of
In the case of at least a controlling device (e.g., OLT 102 of
The processing module 920 receives instructions from, for example, an EMS (e.g., 130 of
By virtue of the methods, system, devices, and sequences of instructions of the example embodiments of the invention described herein, a technician or a network management system can more easily isolate network errors caused by unsupported error messages. Furthermore, potential communication errors can be identified before deploying the network device in the field. By identifying potential communication errors, manufacturers can redesign their network devices so that communication errors can be reduced or minimized when these network devices are deployed in the field.
In the foregoing description, specific example embodiments of the invention are described. Although described in the context of ONTs, ONUs, and OLTs, in other embodiments, the described methods can be performed by RTs, NTs, or any other types of network devices. The specification and drawings are accordingly to be regarded in an illustrative rather than in a restrictive sense. It will, however, be evident that various modifications and changes may be made thereto, in a computer program product or software, hardware, or any combination thereof, without departing from the broader spirit and scope of the example embodiments of the invention described herein.
Example software embodiments of the invention may be provided as a computer program product, or software, that may include an article of manufacture on a machine-accessible or machine-readable medium (memory) having instructions. The instructions on the machine-accessible or machine-readable medium may be used to program a computer system or other electronic device. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks or other types of media/machine-readable media suitable for storing or transmitting electronic instructions. The techniques described herein are not limited to any particular software configuration. They may find applicability in any computing or processing environment. The terms “machine-accessible medium” or “machine-readable medium” used herein shall include any medium that is capable of storing, encoding, or transmitting a sequence of instructions for execution by the machine and that cause the machine to perform any one of the methods described herein. Furthermore, it is common in the art to speak of software, in one form or another (e.g., program, procedure, process, application, module, unit, logic, and so on) as taking an action or causing a result. Such expressions are merely a shorthand way of stating that the execution of the software by a processing system causes the processor to perform an action to produce a result. In other example embodiments, functions performed by software can instead be performed by hardcoded modules, and thus example embodiments of the invention are not limited only for use with stored software programs.
In addition, it should be understood that the figures illustrated in the attached drawings, which highlight the functionality and advantages of the example embodiments of the invention described herein, are presented for example purposes only. The architecture of the example embodiments of the invention described herein is sufficiently flexible and configurable, such that it may be utilized (and navigated) in ways other than that shown in the accompanying figures.
Although example aspects of the invention has been described in certain specific example embodiments, many additional modifications and variations would be apparent to those skilled in the art. It is therefore to be understood that the example embodiments of the invention described herein may be practiced otherwise than as specifically described. Thus, these example embodiments of the invention should be considered in all respects as illustrative and not restrictive.