Quality of service monitoring device and method of monitoring quality of service

The invention provides a quality of service monitoring device (12) for use with a user equipment comprising a base platform (14); and an external communication module (24) adapted to receive from an external source one or more listener modules and/or detector modules for incorporation into the base platform (14). The base platform (14) is coupled to the external communication module (24) to receive one or more listener modules (20) and detector modules (22) and is adapted to install received modules to extend the functionality of the base platform (14) so as to perform the functionality of the installed modules. A corresponding method is provided. There is also provided a quality of service monitoring apparatus, for use on the network side, as well as a corresponding method.

This application is the U.S. national phase of International Application No. PCT/EP2010/065706 filed 19 Oct. 2010 which designated the U.S., the entire contents of which is hereby incorporated by reference.

TECHNICAL FIELD

The invention relates to a quality of service monitoring device and a method of monitoring quality of service. The invention may particularly relate to monitoring quality of service in a communication system environment.

BACKGROUND

In the current communication system environment a huge variety of devices on which to receive communication services are available to users. However, the devices differ greatly, including equipment such as laptops, netbooks, PCs, smart phones, Set-Top-Boxes (STBs), home gateways, gaming consoles, tablet devices, eReaders, digital photo frames, amongst many others.

Moreover, in the current communication system environment there is a great number of services available to users, and additionally a number of technical options to receive the same service as similar services are offered using a variety of different technologies.

As an example, even simple services such as the email service might be delivered using the Post Office Protocol (POP) or Internet Message Application Protocol (IMAP) together with Simple Mail Transfer Protocol (SMTP). However, after the success of the World Wide Web, email service is also delivered widely as a web-based solution using Hypertext Transfer Protocol (HTTP).

Another example of a service that may be offered using a variety of different technologies is Internet Protocol Television (IPTV). An IPTV service may be realized either based on a IP Multimedia Subsystem (IMS) solution or may be realised in a non-IP Multimedia Subsystem based solution. It may implemented on top of different technologies which make use of a combination of various protocols.

Moreover, in the digital TV domain, Hybrid IPTV is emerging and there are Set Top Boxes (STBs) which support both traditional IPTV and WebTV using access to Internet.

The operators who provide communication services and high-level end-user services are interested in monitoring the Quality of Service (QoS) that the end-user is receiving. The operator can gauge the service delivery quality level based on the result of this monitoring.

However, it is a daunting task for operators to come up with quality of service monitoring solutions in the light of the array of devices and services available in the current communication system environment.

The quality of service monitoring solutions are generally directed to monitoring the quality of service provided by a particular service, and they are generally based on network probes that give information about the traffic at different points in the network.

The present invention seeks to obviate at least some of the disadvantages of the prior art and to provide a method of monitoring quality of service and a quality of service monitoring system.

SUMMARY

In accordance with one aspect of the invention there is provided a quality of service monitoring device for use with user equipment. The QoS monitoring device comprises a base platform and an external communication module adapted to receive from an external source one or more listener modules and/or detector modules for incorporation into the base platform. The base platform is coupled to the external communication module to receive one or more listener modules and/or detector modules and is adapted to install thereon the received modules to extend the functionality of the base platform so as to perform the functionality of the installed modules.

In accordance with a second aspect of the invention there is provided a method of monitoring quality of service in a QoS monitoring device for use with user equipment. The monitoring device comprises a base platform and an external communication module coupled to the base platform. The method comprising the base platform receiving from the external communication module one or more listener modules and/or detector modules and installing the received modules to extend the functionality of the base platform so as to perform the functionality of the installed modules.

In accordance with a third aspect of the invention there is provided a quality of service monitoring apparatus comprising a store arranged for storing one or more listener modules for obtaining service quality data from traffic data relating to a monitored service passing through a network element and a store arranged for storing one or more detector modules. The detector modules using service quality data obtained by a listener module to form QoS reports. The QoS monitoring apparatus further comprises a QoS monitoring server adapted to send a listener module and/or a detector module to at least one remote QoS monitoring device for installation in a base platform of the at least one remote QoS monitoring device, to extend the functionality of the base platform so as to perform the functionality of the installed modules.

In accordance with a fourth aspect of the invention there is provided a method of monitoring quality of service in a QoS monitoring apparatus. The method comprises the steps of selecting from a store one or more of a listener module for obtaining relevant traffic data passing through a network element and/or selecting from a store one or more of a detector module to identify service quality problems using the data obtained by a listener module. The method also comprises sending the selected listener module and/or the detector module to at least one remote QoS monitoring device for installation in a base platform of the at least one remote QoS monitoring device to extend the functionality of the base platform so as to perform the functionality of the installed modules.

DETAILED DESCRIPTION

The invention will now be described with reference to embodiments shown in the accompanying drawings.

Embodiments of the invention provide a quality of service (QoS) monitoring solution for user equipment as well as for a network element that can be adapted easily to cover additional technologies or services.

FIG. 1shows an outline of the main components of an exemplary embodiment of the invention. Although embodiments may be used to monitor quality of service in any network element or device, as will be apparent to a skilled person, the exemplary embodiment is implemented in an edge device of the network, such as user equipment2. The user equipment2is provided with hardware devices4, an operating system OS6and at least one application8, which, when operated together, provide one or more services to a user of the user equipment2.

Some of the hardware devices4are network hardware devices10, responsible for handing external communications, for example with communications networks. Typical network hardware devices are exemplified by, but not limited to, WiFi hardware, an Ethernet card or a 3G dongle.

The user equipment2is also provided with a Quality of Service monitoring device12in accordance with one embodiment of the invention. The user equipment2itself does not form part of the invention and as a result the elements4-10of the user equipment2described above are denoted by dashed lines.

In the exemplary embodiment the QoS monitoring device12comprises:a base platform14which controls and coordinates the internal actions, internal communication and external communication of the QoS monitoring device12;a storage module16used during a monitoring operation;a user interface18, which enables the QoS monitoring device12to communicate with the user of the user equipment2;at least one listener module20, which extends the functionality of the QoS monitoring device12when installed on top of the base platform14;at least one detector module22, which extends the functionality of the QoS monitoring device12when installed on top of the base platform14; andan external communication module24.

In one embodiment the functions of one listener module and one detector module are implemented in a single module.

The functions of these elements and the inter-relationship between these elements will be explained in more detail in the following description.

In the exemplary embodiment, the base platform14is implemented as a software module within the operating system (OS)6of user equipment2. In the exemplary embodiment the base platform14together with other components provide a daemon service on the user equipment2. In this specification the term “daemon” service is intended to refer to a service provided by a computer program that performs a particular task in the background rather than under the direct control of the user. Thus the base platform14monitors the quality of service, QoS, provided by a particular service running in the host equipment, in this case in the user equipment2.

The base platform14controls the operation of the QoS monitoring device12and has access to a storage module16used by the monitoring device12during monitoring operation. In some embodiments the storage module16may comprise both volatile memory and non-volatile memory. Volatile memory (random access memory RAM) may be used as a shared data structure to enable communication between listener module20and detector module22. Non-volatile memory used to store necessary information in the persistence memory. The volatile memory and the non-volatile memory space is allocated by the operating system6and the allocated memory is addressable by the QoS monitoring device12.

The storage module16hosts a shared data structure that is used by the QoS monitoring device12during monitoring operation. The shared data structure will be explained in more detail with reference toFIG. 6.

In the exemplary embodiment the QoS monitoring device12is also provided with a user interface18, which enables the base platform14to communicate with the user of the user equipment2, as will be explained in more detail in the following description.

In use of the exemplary QoS monitoring device12, the monitoring device12is also provided with at least one listener module20. Each listener module20is coupled to the operating system OS6and/or network hardware4and/or device driver of the network hardware to listen passively to network traffic passing through the operating system OS6and network hardware4. Each listener module20present in the monitoring device is matched to and adapted to monitor the type of user equipment2and the operating system6used in the user equipment2and/or to the network hardware devices10(e.g. 3G dongle, Ethernet interface, WiFi interface etc) to be monitored.

In some embodiments a listener module20may also communicate with the network hardware devices10of the user equipment to obtain various details (e.g., signal strength in 3G). As opposed to passive listening to passing traffic data, in this case information from the network hardware device is actively taken for QoS monitoring and correlating purposes where this is feasible and applicable. Such network device specific functionalities may be embedded in a network hardware specific listener module20.

The exemplary embodiment of the QoS monitoring device12shown inFIG. 1is provided with five listener modules20a-20eeach arranged to monitor traffic data communications in the user equipment2using a different communications technology. In the exemplary embodiment the monitoring device12is provided with:a WiFi listener module20a;an Ethernet listener module20ba point to Point Protocol (PPP) listener module20ca USB listener module20d; anda Bluetooth listener module20e.

In the exemplary embodiment of the user equipment shown inFIG. 1, end user traffic26relating to a service being provided to an end user is shown passing through the WiFi listener module20awhen being exchanged between a service application, for example a service application8aand the WiFi system hardware (not shown explicitly).

The exemplary monitoring device12is also provided with at least one detector module22. Each detector module22is provided to monitor quality of service (QoS) for a particular service and includes all the analysis rule sets, patterns and heuristics relating to a given service. A detector module22uses the information gathered by a listener module20during a specific time period and the analysis rule sets, patterns and heuristics related to the given service to identify patterns that relate to specific QoS issues of that service, as will be explained in more detail below.

In some embodiments, the detector module22can identify quality of service problems such as access problems or content download speed in higher level services such as WebTV/YouTube. In some embodiments the detector modules can identify quality of service problems such as frequent disconnections in lower level network services such as mobile broadband network services.

The exemplary embodiment of the QoS monitoring device12shown inFIG. 1is provided with three detector modules22a-22ceach arranged to monitor the QoS for a service.

The exemplary monitoring device12is also provided with an external communication module24which is arranged to communicate with an external Quality of Service (QoS) monitoring server (not shown inFIG. 1) under the control of the base platform14, as will be explained in more detail in the following description. The external communication module24of the exemplary embodiment receives from the external Quality of Service (QoS) monitoring service at least re-configuration messages27and sends to the external Quality of Service (QoS) monitoring service at least QoS reports28, as will become clear from a consideration of the following description.

In the exemplary embodiment the listener modules20and the detector modules22are both formed as a plug-in for the base platform14. In this specification the term “plug-in” is intended to refer to a software component that adds specific capabilities to a larger software application, enabling customisation of the functionality of the larger software application. In this way, the use of listener module plug-in20and a detector module plug-in22extends the operation of the base platform14during operation of the exemplary embodiment.

In the exemplary embodiment, a listener module20appropriate to technology used by the user equipment2and a detector module22appropriate to services being provided to the user via the user equipment2are provided to the monitoring device12from an external QoS monitoring service (not shown inFIG. 1).

Thus, when a new hardware or technical capability is added to the user equipment2, a corresponding listener module20may be added to the QoS monitoring device12to monitor the new network interface. When a new service is to be provided to a user by the user equipment2, a corresponding detector module22may be added to the monitoring device12to monitor the QoS of the new service.

In this way, it will be clear to a skilled person that a flexible system is provided which can be generally adopted and which is adaptable to the specific and changing requirements of user equipment2.

In some embodiments the listener modules20for different hardware arrangements and the detector modules22for different services are developed centrally and are then applied to the user equipment2as necessary. In some embodiments this may be achieved by download to the user equipment2of listener modules20and/or detector modules22appropriate to that user equipment2from a QoS monitoring service external to the user equipment.

The steps involved in updating the QoS monitoring device12with a listener module20and/or a detector module22in accordance with an exemplary embodiment will now be explained with reference toFIGS. 2-4.

InFIGS. 2-4, user equipment2having a QoS monitoring device12as shown inFIG. 1is provided. The same reference numbers have been used inFIGS. 2-4for elements that are the same as or similar to corresponding elements inFIG. 1. In an initial stage as shown inFIG. 2, the monitoring device12of the user equipment2is provided with a base platform14, but there are no listener modules20or detector modules22shown.

InFIGS. 2-4a QoS monitoring service or system100having a QoS monitoring apparatus30and at least one QoS monitoring device12is shown. Elements of the user equipment2useful for explaining the operation of the embodiment are shown using dashed lines. In addition, the user interface18of the QoS monitoring device12may be omitted in some embodiments, and is therefore shown in dashed lines inFIG. 2.

The QoS monitoring apparatus30is provided with a QoS monitoring server32; a module store34; and a report store36associated therewith. In some embodiments the module store34and the report store36may be implemented using a database.

The module store34is arranged to store a plurality of listener modules20and/or detector modules22, together with reconfiguration instructions/details and any meta-data or other information associated with the respective listener module or detector module (not shown separately). In the exemplary embodiment the listener modules20and the detector modules22and respective associated data are stored in the same module store34, but other embodiments may be envisaged in which the listener modules20and the detector modules22are stored in separate module stores.

It is envisaged in the exemplary embodiment that the external communication module24of the QoS monitoring device12is able to communicate with the QoS monitoring server32via for example a communication network (not shown). The user equipment2may be coupled to a number of different networks using a number of different technologies, as will be apparent to a skilled person. Examples of this include but are not limited to a local area network (LAN) or a mobile communications system such as a network standardised by the 3rdGeneration Partnership Project (3GPP), or a WiFi network.

In a first stage, shown with reference toFIG. 2, listener modules20and/or detector modules22are prepared and are stored in the module store34of the QoS monitoring apparatus30.

Thus, with reference toFIG. 2, typically, when a new technology or a new service is introduced or implemented in a network it is envisaged that a listener module20or a detector module22will be developed for the new technology or the new service respectively by a module developer40. Generally, a range of modules that are suitable for the range of user equipment within the communication network in which the modules are to be implemented will be developed.

Each module created by the module developer40, together with reconfiguration instructions for the base platform14and any meta-data or other information associated with the respective module, is stored in the module store34of the QoS monitoring apparatus30as shown by interaction A ofFIG. 2.

In a second stage, shown with reference toFIG. 3, modules specific to a user equipment are transferred from the module store34of the QoS monitoring apparatus30and installed in the monitoring device12ready for monitoring to begin.

The external QoS monitoring server32maintains a knowledge base about the type of plug-in module that should be used for a particular user equipment depending for example on the operating system OS, network hardware and type of the computing device of the user equipment. This knowledge-base is built and maintained by a network operator either using human experts or using other software tools or using a mixture of the both.

As necessary, in the exemplary embodiment the QoS monitoring server32“pushes” the appropriate listener module20and/or detector module22, together with respective necessary configuration details, towards the user equipment2and the base platform14of the QoS monitoring device12installs the modules with the user's consent in the exemplary embodiment.

Thus, with reference toFIG. 3, in interaction B a listener module20and/or a detector module22, together with reconfiguration instructions/details and any meta-data or other information associated with the respective listener module or detector module, appropriate to the user equipment2can be sent to or downloaded to the QoS monitoring device12, for example via a communications system to which the user equipment2has access. As will be apparent, in different embodiments this transfer may be initiated by the QoS monitoring server32or by the QoS monitoring device12of user equipment2.

This transfer may be done remotely with minimal human intervention in a process similar to MS Windows updates. The necessary security mechanisms may also be handled by the base platform14. These security measures are well studied in other contexts and are familiar to a skilled person and therefore will not be described in more detail.

In some embodiments permission for change in the QoS monitoring device12by installation of a listener module20or a detector module22, may be sought from a user42in interaction C. This may be achieved for example by presenting relevant meta-data associated with the module to the user42via the user interface18of the QoS monitoring device12. Permission for change in the monitoring device12, for example by installation of a listener module20or a detector module22, may be given by user42via the user interface18of the monitoring device12in interaction D.

The base platform14then installs the downloaded module and performs the necessary configuration according to the configuration details associated with the module. Thereafter, the operation of the base platform14is modified in accordance with the downloaded module. An exemplary listener module20and an exemplary detector module22are shown installed in the base platform14inFIGS. 3 and 4.

In the exemplary embodiment described with reference toFIG. 3, the permission of the user42is required before allowing the modification of the operation of the QoS monitoring device12caused by installation of a listener module20in the base platform14or installation of a detector module22in the base platform14. However, in some embodiments a listener module20and/or a detector module22may be installed automatically, without requiring the user42to give permission. In these embodiments, a user interface18may not be required.

Finally, in a monitoring stage, the base platform14with the relevant installed listener module20and detector module22monitors the quality of service of an operating service. In the exemplary embodiment quality reports are sent to the external QoS monitoring server32of the QoS monitoring apparatus30. Again, in some embodiments the user interface (18) can be used to obtain permission from the user for sending out the quality reports.

The interactions between system components during quality of service monitoring will be discussed in more detail with reference toFIG. 4.

When a service is being used, a service application (not shown) in the user equipment2communicates end user service traffic with third parties, for example a video messaging server (not shown), via a communications system. This interaction is shown as interaction E inFIG. 4(corresponding to end user traffic26inFIG. 1). During the operation of the service, the QoS properties of the service can be monitored by the monitoring device12of the user equipment2and any QoS problems identified. In the exemplary embodiment QoS reports relating to the service provided by the user equipment can be sent to the external QoS monitoring server32. This interaction is shown as interaction F inFIG. 4(corresponding to QoS reports28inFIG. 1).

A protocol is required to forward the QoS reports from the monitoring device12to the QoS monitoring server32. The protocol might specify the transport mechanism, for example whether to use HTTP or plain socket communication, and the timing schedule, for example the period or frequency of each report, whether reports are sent synchronously or asynchronously, and whether the QoS monitoring device12pushes the QoS reports to the QoS monitoring server32or whether the QoS monitoring server32pulls the QoS reports from the monitoring service12of the user equipment2. In addition it is also necessary to specify the data structures that need to be maintained to facilitate the report forwarding. These implementation details may be determined by a person skilled in the art for different embodiments and may utilize existing protocols, and therefore will not be discussed in further detail.

As will be explained in more detail in the following description, QoS reports sent by the monitoring device12and stored by the QoS monitoring server32in the report store36may be accessed by human experts or by a QoS evaluation module (not shown) of the external QoS monitoring apparatus30to review the quality of services supplied to the user42of user equipment2, for example to determine compliance with a service level agreement (SLA) and/or to alert the network or service operator of QoS issues.

A method of provisioning the user equipment2in the arrangement shown inFIGS. 2-4with a listener module20and a detector module22will now be described with reference toFIG. 5.

The example relates a scenario where a new network technology, for example Long Term Evolution (LTE) technology, is introduced and users start to use a new application, for example a new Video Messaging (VM) System. In this example the end-user uses a particular device, for example a Tablet device, which has a LTE dongle enabling use of the new Video Messaging application on the Tablet device.

In the first phase of the example, a LTE listener module that can monitor the traffic that flows through the LTE dongle is installed as a plug-in for the base platform14of the monitoring device12. InFIG. 5, the steps that correspond to this phase are shown as steps60-68.

In the second phase of the example, a VM detector module that can analyze and detect QoS problems related to the video messaging application is installed as a plug-in for the base platform14of the monitoring device12. InFIG. 5, the steps that correspond to this phase are shown as steps70-78.

In the third phase of the example, once the user uses the video messaging application, the VM detector module will analyze and detect QoS problems based on data gathered by the LTE listener module. This VM detector module, for example, can check whether a video message is downloaded within an acceptable time period. If not, a QoS problem with the video messaging application is detected. Any detected problems will be reported to the external QoS monitoring service32as they happen. InFIG. 5, the steps that correspond to this phase are shown as step80-90.

In a first step in the exemplary method, in response to a new network technology, such as the long term evolution (LTE) network technology being implemented in the network and/or introduction of new hardware in the user equipment2, module developers40might develop a number of listener modules for the new network technology, each suitable for use in a different user equipment, together with associated configuration information and meta-data. The developed listener modules with associated configuration information and meta-data are stored within the module store34of the external QoS monitoring apparatus30in step60. One of the developed listener modules is a LTE listener module20for a LTE dongle on a tablet device.

In a second step62, the listener module and associated configuration information and meta-data stored within the module store34of the QoS monitoring apparatus30appropriate to the user equipment2is downloaded to the monitoring device12of the user equipment2. In the exemplary embodiment shown with reference toFIG. 1the LTE listener module22and the associated configuration information and meta-data is downloaded to the user equipment2via the external communication module24of the monitoring device12under the control of the base platform14.

In the exemplary embodiment, the QoS monitoring apparatus30determines that the LTE listener module20should be downloaded to the user equipment2and initiates the download. However, in other embodiments it is also possible that the monitoring device12initiates the download of the required LTE listener module20in response to the addition of new hardware or software to the user equipment2, or the detection of a new technology used by the user equipment2.

In step64the QoS monitoring device12requests permission from the end user42to install the LTE listener module20in the user equipment2. Typically the base platform14might send an installation request message to the user42using the user interface18. The installation request message may contain meta-data or other information associated with the LTE listener module20received from the module store34of the QoS monitoring apparatus30.

In step66an installation permission message from end user42is received by the base platform14via the user interface18, and the base platform14can then install the new LTE listener module20, in step68. The base platform14may use information or meta-data associated with the new module to install it. As mentioned previously, in the exemplary embodiment the listener module20is arranged as a plug-in to the base platform14, and causes a modification to the operation of the base platform14so as to enable LTE communications to be monitored.

Next, in step70, in response to a new service, such as a new video messaging service becoming available in the network, module developers40develop a number of detector modules for the new service each suitable for use in a particular user equipment using particular technologies, together with associated configuration information and meta-data. The detector modules, with associated configuration information and meta-data, are stored within the module store34of the QoS monitoring apparatus30in step70. One of the developed modules is a detector module22for a video messaging system for an LTE dongle on a tablet device.

In a step72, the detector module22and associated configuration information and meta-data stored within the module store34of the QoS monitoring apparatus30appropriate to the user equipment2is downloaded to the QoS monitoring device12of the user equipment2. In the exemplary embodiment shown with reference toFIG. 1the detector module22and associated configuration information and meta-data is downloaded to the monitoring device12of the user equipment2via the external communication module24of the user equipment2under the control of the base platform14.

In the exemplary embodiment, the QoS monitoring server32determines that the detector module22should be downloaded to the user equipment2, and initiates the download of the detector module22. However, in other embodiments it is also possible that the QoS monitoring device12initiates the download of the required detector module22, for example in response to the implementation of the new service on the user equipment2.

In step74the monitoring device12requests permission from the end user42to install the detector module22in the user equipment2. Typically the base platform14might send an installation request message to the user42using the user interface18. The installation request message may contain meta-data or other information associated with the detector module22received from the module store34of the QoS monitoring apparatus30.

In step76an installation permission message from end user42is received by the base platform14via the user interface18, and the base platform14can then install the new detector module22in step78. The base platform14may use information or meta-data associated with the new module to install it. As mentioned previously, in the exemplary embodiment the detector module22is arranged as a plug-in to the base platform14, and causes a modification to the operation of the base platform so as to evaluate, using information gathered by the LTE listener module20, the quality of service being provided to the user of the video messaging service.

A video messaging session between a video messaging server (not shown inFIGS. 1-3) and a video messaging application8of the user equipment is initiated using the LTE dongle. A video messaging session80is initiated at the video messaging server and a corresponding video messaging session82is initiated at the video messaging application8of the user equipment2. During the video messaging session, messages84are sent from the video messaging server to the video messaging application8, and messages86are sent from the video messaging application8to the video messaging server.

The messages84and86being exchanged between the video messaging server and the video messaging application8flowing through the LTE dongle of the user equipment are monitored in step88by the LTE listener module20. The video messaging detector module22uses data gathered by the LTE listener module20to evaluate QoS of the video messaging service. In this exemplary embodiment, QoS reports90are sent periodically from the video messaging detector module22to the QoS monitoring server32of the QoS monitoring apparatus30, and are stored for example in report store36for further analysis.

The interaction between a listener module20and a detector module22during quality of service monitoring will now be explained in more detail with reference toFIGS. 6 and 7. Elements corresponding to elements inFIGS. 1-5have been given the same reference numerals.

The intercommunication and interface between a listener module20and a detector module22must ensure that information flows between the listener module20and the detector module22so that the QoS monitoring device12functions properly. In the exemplary embodiment the listener modules20and detector modules22can communicate using a shared data structure102within the storage module16shown inFIG. 6. The shared data structure102is maintained and managed by the base platform14, as indicated inFIG. 6by dashed line104.

During a service monitoring operation in the exemplary embodiment, the listener module20and detector module22communicate with each other via the shared data structure102in the storage module16.

Thus, in the exemplary embodiment the listener module20writes important and relevant information to the shared data structure102about the communications taking place through the network interface being monitored by the listener module20together with a time stamp and other necessary meta-information such as the name of the listener module20. This action is shown by arrow108inFIG. 6.

In some embodiments, the listener module20writes to the shared data structure102all the information observed in the communications taking place through the network interface being monitored by the listener module20. In other embodiments the listener module22might write only a selected set of observed information to the shared data structure102. In some embodiments this can be achieved by allowing a detector module22to inform the listener module22of the type of information, for example the patterns of information in which the detector module is interested. In this case, the listener module20will not write all the observed information to the shared data structure102but the listener module20will write to the shared data structure102only the information or patterns in which the detector module22is interested.

In the exemplary embodiment, the detector module22reads out of the shared data structure102the information that has been written to the shared data structure102by the listener module20. This action is shown by arrow108inFIG. 6. The detector module22looks for important details and patterns in the data and generates quality reports to be sent to the external QoS monitoring server32of the QoS monitoring apparatus30as described above. The details and patterns in the data are defined by the detector module developer40when developing the detector module22taking into consideration the service protocol being monitored and taking into consideration the possible errors that can arise when accessing the service.

In some embodiments the detector module22for a specific service analyses the service specific information, exemplified by but not limited to protocol handshake, request, responses, but not the network hardware specific information, exemplified by but not limited to collisions in Ethernet interface, signal strength of the 3G wireless signal. In some embodiments, the listener modules20writes network interface specific information such as collisions in the Ethernet interface, 3G signal strength to the shared data structure102. In these embodiments, a detector module22can use this network interface specific information when finding the root causes of service impairments by correlating the information.

In the exemplary embodiment the base platform14periodically purges the “old” information from shared data structure102after waiting a sufficient length of time to enable detector modules22to read the information in the shared data structure102. As a result, the shared data structure102will remain a finite size and will not grow indefinitely.

In some embodiments the base platform14might store a “digest” of the information in the shared data structure102into a persistence memory, for example a hard disk, for analysis when and if necessary for example when attending to a customer complaint. The information stored in the persistence memory will be purged after a longer time period, for example after a day.

The operation of an exemplary embodiment relating to a simple web-based scoreboard and commentary service for games, which may be suitable for example for games like football, cricket or baseball, will now be described with reference toFIG. 7. A user can use this service to follow a match and see the latest score of the match as well as text-based commentary.

ThusFIG. 7shows an end user42running a scoreboard/commentary client application110, for example as one of the application8on the user equipment2described above. A scoreboard/commentary server112is accessible via for example a WiFi connection.FIG. 7shows the sequence of requests and responses between the scoreboard/commentary client application110and the scoreboard/commentary server112.

During a game the latest score and the commentary are updated at the scoreboard/commentary server112. In order to retrieve the score and commentary for display to the user42the scoreboard/commentary client application110sends a Hypertext Transfer Protocol (HTTP) request114, requesting the latest score and commentary, to the scoreboard/commentary server112via for example the WiFi connection. In response, the scoreboard/commentary server112sends an HTTP reply116containing the score and commentary back to the scoreboard/commentary client application110via the WiFi connection.

This request and response cycle is repeated periodically in order to keep the score and commentary information presented to the user42by the scoreboard/commentary client application110up to date. In the exemplary embodiment shown inFIG. 7every 30 seconds, a HTTP GET request114is sent to the scoreboard/commentary server112to fetch new information and in response, the scoreboard/commentary server112sends an HTTP reply116containing the score and commentary back to the scoreboard/commentary client application110. Further requests and responses are shown inFIG. 7, but have not all been separately numbered, for clarity.

However, owing to problems exemplified by but not limited to a network overload, a server overload, or the connection being dropped or providing insufficient bandwidth owing to no signal or insufficient signal strength, it might happen that responses to HTTP requests do not arrive at the scoreboard/commentary client application110.

The QoS monitoring device12of the user equipment2monitors the operation of the service. In the exemplary embodiment, the WiFi listener module20observes all the traffic that flows through WiFi network interface, including the HTTP requests114and corresponding HTTP replies116. The listener module20writes the observed information to the shared data structure102. The detector module22reads information from shared data structure102and observes the attempts to send HTTP requests114and to receive HTTP replies116from the information stored in the shared data structure102by the listener module20.

During the time period X inFIG. 7, from the information stored in the shared data structure102by the listener module20, the detector module22can determine that there were HTTP requests118,120,122did not receive a reply. The failure to receive a reply indicates an impairment to the Scoreboard/Commentary service and so the detector module22detects service impairments of Scoreboard/Commentary service. A QoS report can then be sent to the QoS monitoring server32of the QoS monitoring apparatus30.

In this exemplary embodiment it is clearly seen how the service impairment is detected by a detector module22using the information written to the shared data structure (SDS)102by the listener module.

FIG. 8is a flow chart summarizing a method of monitoring quality of service in a QoS monitoring apparatus30.

In a first step124one or more of a listener module for obtaining relevant traffic data passing through a network element is selected from a store.

And/or in a second step126one or more of a detector module to identify service quality problems using the data obtained by a listener module to form QoS reports is selected from a store.

In a third step128the selected listener module20and/or detector module22are sent to a remote QoS monitoring device12to extend the functionality of the base platform to perform the functionality of the installed modules.

FIG. 9is a flow chart summarizing a method of monitoring quality of service in a QoS monitoring device12associated with a network element, during an initialisation phase.

In a first step130one or more listener modules and/or detector modules are received. In a second step132the received modules are installed to extend functionality of the base module.

FIG. 10is a flow chart summarizing a method of monitoring quality of service in a QoS monitoring device12associated with a network element, during monitoring of a service.

In a first step,134, traffic data is obtained in accordance with the functionality of installed listener module.

In a second step,136, a QoS report is formed from service quality data in accordance with the functionality of installed detector module.

Therefore it can be seen that embodiments of the present invention provide a method and a system that enable easy deployment of a QoS reporting service at the end-user equipment.

In some embodiments, the provision of listener modules and detector modules enables the task of network monitoring to be separated from the task of service monitoring. Listener modules overcome the difficulty of handling various types of network technologies and network devices. The detector modules overcome the problems in monitoring various diverse types of services. The detector and listener modules need to be implemented only once, for the given service and for the specific device respectively. For example, when a new service appears, the operator with the help of a human expert can develop necessary QoS analyzing patterns and heuristics for the new service and develop the necessary module for the new service. A given detector module “bundles” all the analysis rule sets, patterns and heuristics related to a given service.

In some embodiments the listener modules and detector modules for each user equipment are independently distributed by a QoS server to the end-user devices. As a result, embodiments enable a service provider to monitor the quality of its service independently of:

(1) the type of end-user device that is consuming the service;

(2) the type of networking technology used (e.g., Asymetric Digital Subscriber Line (ADSL), and the 3GPP Long term Evolution (LTE); and

(3) the type of operating system used by the network device, for example an end user device or Home Gateway (HGW).

In some embodiments the QoS monitoring device may be remotely maintained in a semi automated way with minimal human intervention.

In embodiments the end-user application, exemplified by but not limited to a WebTV client, Browser or VoIP client, does not need to be modified for the monitoring device to function. It is a very flexible solution that can accommodate new services as well as new technologies by development and deployment of plug-in modules designed to handle monitoring and analysing operations relates to these new services and technologies.

Moreover, in some embodiments monitoring close to the end-user provides a better view on the user experience.

Modifications and other embodiments of the disclosed invention will come to mind to one skilled in the art having the benefit of the teachings presented in the foregoing description and the associated drawings. Therefore it is to be understood that the invention is not to be limited to specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of this disclosure. Although specific terms may be employed herein, they are used in a generic and descriptive sense only and not for the purposes of limitation.