Smart gap reconciliation for measurement data

EP4754968A1Pending Publication Date: 2026-06-10LANDIS GYR TECH INC

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
LANDIS GYR TECH INC
Filing Date
2024-06-26
Publication Date
2026-06-10

AI Technical Summary

Technical Problem

In centralized control systems that collect measurement data from multiple endpoints, network performance issues lead to gaps in the data, and retry requests exacerbate network burden, causing further packet loss.

Method used

The method involves receiving measurement data from multiple endpoint sets, identifying gaps, and sending retry requests. It monitors network performance and reduces the collection percentage for endpoints with poor network performance, thereby withholding some gap data to prevent further network burden.

Benefits of technology

This approach reduces the number of gaps reconciled in segments with poor network performance, thereby alleviating network burden and minimizing packet loss, while maintaining high data collection for segments with better network conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024035607_06022025_PF_FP_ABST
    Figure US2024035607_06022025_PF_FP_ABST
Patent Text Reader

Abstract

A method and system providing smart gap collection of measurement data received from a plurality of endpoints. A control system reduces the proportion of gaps which are reconciled for a particular segment of the network (i.e. that associated with the first set of endpoints) that is experiencing reduced network performance. The control system reduce the proportion of gaps that are reconciled for a particular segment of the network, whilst continuing to reconcile a higher proportion of gaps for a different segment of the network (i.e. that associated with the second set of endpoints).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Smart Gap Reconciliation for Measurement Data

[0002] Technical Field

[0003] The present disclosure relates to a system and method for collecting measurement data from a plurality of endpoints and in particular to a system and method for reconciling gaps in the measurement data.

[0004] Background

[0005] A centralised control system may be responsible for collecting measurement data from multiple endpoints. For example, a headend system may collect readings indicating the consumption of electricity and / or gas from a number of smart meters. In a network where the system is collecting measurement data from multiple endpoints, it is possible that some of the expected measurement data will not be received by the system, leading to gaps in the measurement data. Such gaps in the collected data may result from network performance issues, which lead to packets sent from the endpoints to the system being dropped and not being received by the system.

[0006] The control system may analyse measurement data received from various endpoints and determine that there is a gap in the measurement data. For example, each of the endpoints could be configured to provide an item of measurement data to the control system every hour. If the control system receives one item of measurement data corresponding to 8pm and another item of measurement data corresponding to 10pm, but does not receive an item of measurement of data corresponding to 9pm, the control system determines that there is a gap in the measurement data. Upon identifying a gap in the measurement data, the control system sends one or more retry requests to the endpoints to fill the gap in the measurement data.

[0007] Sudden degradation in network performance associated with a particular set of endpoints may result in a large number of gaps in the measurement data associated with that set of endpoints. The control system may transmit retry requests to attempt to fill these gaps. However, the transmission of the retry requests and the return of the corresponding measurement items over the network creates an additional impact on network performance, leading to the loss of further packets.

[0008] According to a first aspect, there is provided a method for collecting measurement data from a plurality of endpoints over a network, the method comprising: receiving first measurement data from a first set of the endpoints and second measurement data from a second set of the endpoints; during a first time period, identifying a first plurality of gaps in the first measurement data and, in response to identifying the first plurality of gaps in the first measurement data, sending one or more retry requests to collect data falling within the first plurality of gaps in the first measurement data at a collection percentage associated with the first set of endpoints; during a second time period following the first time period, identifying a plurality of gaps in the second measurement data and, in response to identifying the plurality of gaps in the second measurement data, sending one or more retry requests to collect data falling within the plurality of gaps in the second measurement data at a collection percentage associated with the second set of endpoints; monitoring network performance for communicating with the first set of the endpoints; in response to determining that the network performance for communicating with the first set of endpoints is below a threshold value: reducing the collection percentage associated with the first set of the endpoints; and during the second time period, in response to identifying a second plurality of gaps in the first measurement data, in accordance with the reduced collection percentage associated with the first set of the endpoints, withholding collecting at least some of the data falling within the second plurality of gaps.

[0009] The method provides for smart gap collection, in which the control system reduces the proportion of gaps which are reconciled for a particular segment of the network (i.e. that associated with the first set of endpoints) that is experiencing reduced network performance. The control system reduces the proportion of gaps that are reconciled for a particular segment of the network, whilst continuing to reconcile a higher proportion of gaps for a different segment of the network (i.e. that associated with the second set of endpoints).

[0010] In some embodiments, the withholding collecting at least some of the data falling with the second plurality of gaps comprises withholding collecting all of the data falling with the second plurality of gaps. In some embodiments, the method comprises performing the withholding collecting all of the data falling within the second plurality of gaps in response to determining that the network performance for communicating with the first set of endpoints is below a further threshold value.

[0011] In some embodiments, the collecting at least some of the data falling with the second plurality of gaps comprises withholding collecting some of the data falling with the second plurality of gaps, wherein the method comprises: during the second time period, sending one or more retry requests to collect the reduced collection percentage of the data falling within the second plurality of gaps in the first measurement data.

[0012] In some embodiments, the method comprises performing the withholding collecting some of the data falling within the second plurality of gaps in response to determining that the network performance for communicating with the first set of endpoints is below the threshold but not below a further threshold.

[0013] In some embodiments, the method comprises determining whether the network performance is below a further threshold value; and reducing the collection percentage associated with the first set of the endpoints to a level dependent upon whether the network performance is determined to be below the further threshold.

[0014] In some embodiments, the method comprises following the second time period: in response to determining that the network performance for communicating with the first set of endpoints is no longer below the threshold value: restoring the collection percentage associated with the first set of the endpoints from the reduced collection percentage to an earlier value; and in response to identifying a third plurality of gaps in the first measurement data, sending one or more retry requests to collect the restored collection percentage of the data falling within the third plurality of gaps in the first measurement data.

[0015] In some embodiments, the method comprises: receiving the first measurement data from the first set of the endpoints according to a first communication technology; and receiving the second measurement data from the second set of the endpoints according to a second communication technology. In some embodiments, the determining that the network performance for communicating with the first set of endpoints is below the threshold value comprises: determining that no packets have been received from the first set of endpoints for greater than a predefined amount of time.

[0016] In some embodiments, each of the endpoints comprises a smart meter.

[0017] In some embodiments, the monitoring the network performance for communicating with the first set of the endpoints comprises determining a proportion of items of the first measurement data that are correctly received from the first set of the endpoints, wherein determining that the network performance for communicating with the first set of endpoints is below the threshold value comprises determining that the proportion of items is below a predefined level.

[0018] In some embodiments, the plurality of endpoints comprises a plurality of sets of endpoints comprising the first set of the endpoints and the second set of the endpoints, the method comprising for each of the sets of endpoints: monitoring network performance for communicating with the respective set of the endpoints; storing an indication of the network performance associated with the respective set of the endpoints; and in response to determining that the network performance for communicating with the respective set of endpoints is below the threshold value, withholding collecting at least some data belonging to gaps in measurement data received from the respective set of endpoints.

[0019] In some embodiments, the collection percentage associated with the first set of endpoints during the first time period is the same as the collection percentage associated with the second set of endpoints during the second time period.

[0020] According to a second aspect, there is provided a data processing system for collecting measurement data from a plurality of endpoints over a network, the data processing system comprising at least one processor and at least one memory comprising a set of computer readable instructions, which when executed by the at least one processor causes the data processing system to perform a method according to the first aspect or any embodiment thereof.

[0021] According to a third aspect, there is provided a computer program comprising a set of computer readable instructions, which when executed by at least one processor of a data processing system causes a method according to the first aspect or any embodiment thereof to be performed.

[0022] Brief Description of Drawings

[0023] Arrangements of the present invention will be understood and appreciated more fully from the following detailed description, made by way of example only and taken in conjunction with drawings in which:

[0024] Figure 1 shows an example network in which a headend system interfaces with a plurality of endpoints via a number of collectors;

[0025] Figure 2 illustrates an example of a computer system comprising at least one processor and at least one memory;

[0026] Figure 3 illustrates an example of a computer system comprising at least one processor, at least one memory, and a user interface;

[0027] Figure 4A illustrates an example of a first part of a method for performing smart gap reconciliation;

[0028] Figure 4B illustrates an example of a second part of a method for performing smart gap reconciliation;

[0029] Figure 5 illustrates an example of an alternative set of steps for performing smart gap reconciliation;

[0030] Figure 6 is a schematic illustration showing data stored by a system belonging to a network; and

[0031] Figure 7 illustrates multiple sets of gaps within a first set of measurement data.

[0032] Detailed Description

[0033] Embodiments are implemented in a data processing system that interfaces with a plurality of endpoints for collecting measurement data from those endpoints.

[0034] Reference is made to Figure 1 , which illustrates a network 100 in which a control system 102 interfaces with a plurality of endpoints 112 to 122 via a number of further network devices 104, 106, 108. Together the system 102 and network devices 104, 106, 108 form a data processing system 130 in which embodiments are implemented. In some embodiments, the system 102 is a headend system 102, the devices 104, 106, 108 are collectors 104, 106, 108, and the endpoints 112 to 122 are smart meters 112 to 122. The endpoints 112 to 122 are shown divided into a plurality of sets 110a-c. Each of the sets 110a-c interfaces with a different one of the collectors 104 to 108 for the purposes of sending measurement data to the system 102. Each of the sets 110a-c may communicate with the system 102 in accordance with a different communication technology, such as radio frequency (RF), power-line communication (PLC), and cellular. For example, each endpoint belonging to the first set 110a may send measurement data to the collector 104 in packets provided in accordance with a first communication protocol and receive commands from the collector 104 in packets provided in accordance with the first communication protocol. Similarly, each endpoint belong to the second set 110b may send measurement data to the collector 106 in packets provided in accordance with a second communication protocol and receive commands from the collector 106 in packets provided in accordance with the second communication protocol. Each endpoint belonging to the third set 110c may send measurement data to the collector 108 in packets provided in accordance with a third communication protocol and receive commands from the collector 108 in packets provided in accordance with the third communication protocol. When each collector 104, 106, 108 receives an item of measurement data from one of the endpoints 112 to 122 with which it is associated, the collector 104, 106, 108 dispatches that item of measurement data to the system 102.

[0035] Each of the sets of endpoints 110a-c may communicate with the system 130 by a different segment of the network 100. As will be described, the network performance can vary between different network segments, and therefore a collection percentage for gap reconciliation is adjusted on a per network segment basis.

[0036] Reference is made to Figure 2, which illustrates an example computer system 200 that may provide any of the system 102, network devices 104 to 108, or endpoints 112 to 122. The system 200 may comprise a server, back-end system, or the like.

[0037] The system 200 comprises at least one memory 210, 220, at least one data processing unit 230, 240 and an input / output interface 250. The at least one memory 210, 220 comprises a random access memory 210 and at least one hard drive 220. The memories 210, 220 store computer executable code which, when executed by at least one data processing unit 230, 240, perform the steps described as being performed by the system 100. The memories 210, 220 may be used for storing data associated the control application. In particular, the memories 210, 220 may be used for storing a log file comprising data logged by the control application.

[0038] The at least one processor 230, 240 communicates with the memories 210, 220 to load instructions for execution, load data for processing, and store the results of processing that data. At the interface 250, the system 200 sends and receives messages. The messages received at the interface 250 comprise data for processing by the at least one processor 230, 240. The messages sent from the interface 250 are created by the at least one processor 230, 240.

[0039] As an alternative to the server type system 200, one or more of the items 102, network devices 104 to 108, or endpoints 112 to 122 may be provided as a different type of device having a user interface. Reference is made to Figure 3, which illustrates an example of such a computing device 300. The device 300 may be a mobile user equipment (UE), a personal computer (PC), a terminal or workstation, or some other form of device.

[0040] The device 300 comprises an interface 340 over which it sends and receive signals. The interface 340 may be a wired or wireless interface. For instance, the interface 340 may comprise a wired interface for connection to a wired network (e.g. a local area network and / or the internet). Alternatively or in addition, the interface 340 may comprise transceiver apparatus configured to send and receive communications over a radio interface. The transceiver apparatus may be provided, for example, by means of a radio part and associated antenna arrangement. The antenna arrangement may be arranged internally or externally to the system 300.

[0041] The system 300 is provided with at least one data processing entity 315, at least one random access memory 320, at least one read only memory 325, and other possible components 330 for use in software and hardware aided execution of tasks it is designed to perform, including control of, access to, and communications with access systems and other communication devices. The at least one random access memory 320 and the hard drive 325 are in communication with the data processing entity 315, which may be a data processor. The data processing, storage and other relevant control apparatus can be provided on an appropriate circuit board and / or in chipsets. A user controls the operation of the system 300 by means of a suitable user interface such as key pad 310, or by voice commands. A display 305 is included on the system 300 for displaying visual content to a user. The system 300 may also comprise a speaker for providing audio content.

[0042] The memory of the system 300 (i.e. the random access memory 320 and the hard drive 325) is configured to store computer readable instructions for execution by the data processor 315 to perform the data processing functions described herein as being performed by a system, e.g. system 102.

[0043] According to embodiments, the system 130 is able to detect gaps in measurement data received from the endpoints 112 to 122 and in response to the detection of these gaps, transmit retry requests to obtain the measurement data corresponding to these gaps. The process of sending these requests and obtaining the missing measurement data is known as gap reconciliation.

[0044] For certain sets of endpoints, the network performance may be particularly poor, resulting in a large number of gaps. The collection of the data corresponding to these gaps creates an additional burden on the network due to the transmission of further retry requests and the retrieval of additional measurement data, leading to the loss of further packets. Therefore, the system 130 monitors the network performance for each of the sets of endpoints 110a-c and withholds collecting at least some of the data belonging to gaps in the measurement data associated with a particular set of endpoints in response to determining that the network performance for communicating with that set of endpoints is below a threshold level. The system 130 continues to collect data belonging to gaps in the measurement data associated with other sets of endpoints (i.e. those not experience network degradation) at an original collection percentage (e.g. 100 %).

[0045] Reference is made to Figure 4A, which illustrates an example of a first part 400A of a method for collecting measurement data from the plurality of endpoints. The method is performed by data processing system 130. It would be appreciated that, although the steps are shown in sequence, in practice there may be overlap in the time at which the steps are performed.

[0046] At S405, the system 130 receives measurement data (referred to herein as the ‘first measurement data’) from the first set of endpoints 110a. The measurement data received at S405 comprises a plurality of items of measurement data received from different ones of the endpoints belonging to the first set 110a. Each of the items of measurement data may comprise a meter reading, for example. Each of the endpoints belonging to the first set 110a may be configured to periodically, e.g. every hour, transmit an item of measurement data to the system 130. The items of measurement data are received at the collector 104 and forwarded to the system 102. Each item of measurement data is transmitted from an endpoint to the system 130 in a packet.

[0047] At S410, the system 130 identifies a first set of gaps in the first measurement data received at S405. Each such gap is an instance at which an item of measurement data, which is expected to be received, is not received by the system 130. The system 130 may detect gaps in the measurement data in different ways. For example, each endpoint of the first set 110a may be configured to transmit an item of the measurement data periodically, e.g. every hour. The system 102 identifies a missing item of measurement data (i.e. a gap) if an item of measurement data corresponding to a later time has been received without an item of measurement data corresponding to an earlier time being received. For example, in the case that the endpoint 112 transmits a measurement every hour, suppose that the system 102 receives from endpoint 112, a first packet comprising a measurement taken at 8pm and a second packet comprising a measurement taken at 10pm, but does not receive a measurement from endpoint 112 corresponding to 9pm. The system 102 determines on this basis that there is a gap corresponding to the expected 9pm measurement.

[0048] In one implementation, the system 130 identifies gaps in the measurement data based on sequence numbers included in the packets containing the items of measurement data. For example, suppose that the system 102 receives from endpoint 112, a first packet comprising a sequence number of 10 and an associated measurement and a second packet comprising a sequence number of 12 and an associated measurement, but does not receive a packet comprising a sequence number of 11. The system 102 determines on this basis that there is a gap corresponding to the expected measurement to be received with the sequence number of 11 .

[0049] In response to determining at S410 that there are one or more gaps in the first measurement data, the system 130 performs a gap reconciliation process to obtain the missing measurement data. To do so, requests (referred to herein as retry requests) are sent to the relevant endpoints of the first set 110a to obtain the missing measurement data. The retry requests are sent from the system 102 via the collector 104 to the endpoints identified in the requests. In response to receipt of one of these retry requests, the relevant endpoints of the first set 110a return the requested measurement data to the system 102.

[0050] The gap reconciliation process at S410 is performed to collect a certain percentage (i.e. the collection percentage associated with the first set of endpoints 110a) of the missing measurement data. In embodiments, the collection percentage associated with the first set of endpoints 110a is set to a default value of 100% before degradation in the communications with the first set of endpoints 110a below a threshold is detected. Therefore, when the collection percentage is 100%, the retry requests are sent to retrieve 100% of the data corresponding to the first set of gaps in the measurement data. If a retry request is sent, but the corresponding measurement data is not returned to the system 130, the system 130 may retry sending the request multiple times until the corresponding measurement data is returned.

[0051] At S415, the measurement data (referred to herein as the second measurement data) is received by the system 130 from the second set of endpoints 110b. S415 may be the same as S405, but relating to the second set of endpoints 110b and the associated measurement data collected by the second set of endpoints 110b. Although S415 is shown as being performed after S405, these steps overlap in time.

[0052] At S420, the system 130 identifies gaps in the measurement data received at S415, and performs a gap reconciliation process with respect to these gaps. The gap reconciliation process is performed to collect the data in the gaps at a collection percentage associated with the second set of endpoints 110b. The collection percentage associated with the second set of endpoints 110b may be 100%. S420 may be the same as S410, but relating to the second set of endpoints 110b and the associated measurement data collected by the second set of endpoints 110b.

[0053] At S425, the system 130 monitors the network performance for communicating with the first set of endpoints 110a. The monitoring is performed by the collector 104 which, after determining the network performance, provides an indication of this network performance to the system 102. To determine the network performance, the system 130 may determine the proportion of items of measurement data received from the endpoints 110a. For example, if within a given time interval, the system 130 expects to receive 100 items of measurement data and only 57 items are received, the system 130 determines a network performance value of 57%. Alternatively, the system 130 may determine that a value representing the network performance based on the amount of time that network outage for communications between the first set of endpoints 110a and the system 130 has occurred. For example, if the system 130 has not received any measurement data from the first set 110a for a predefined time period (e.g. 10 minutes), the system 130 determines the network performance value based on this predefined time period.

[0054] At S430, the system 130 determines whether the network performance for communicating with the first set of endpoints 110a is below a threshold performance level. This step is performed by the system 102 using the performance value determined at S425. For example, the system 130 may determine that the network performance value is below the threshold in response to determining that the proportion of items of measurement data received within a given time interval is below a predefined threshold value. Alternatively, the system 130 may determine that the network performance value is below the threshold in response to determining that the system 130 has not received any measurement data from the first set 110a for longer than a predefined time period.

[0055] If, at S430, the system 130 determines that the network performance for communicating with the first set of endpoints 110a is below the threshold performance level, the method proceeds to S435. At S435, the system 130 reduces the collection percentage (e.g. from 100% to 50%) for the first set of endpoints 110a. If the system 130 determines that the network performance for communicating with the first set of endpoints 110a is above a threshold performance level, the system 130 maintains the default collection percentage for the first set of endpoints 110a.

[0056] At S440, the system 130 monitors the network performance for communicating with the second set of endpoints 110b. At S445, the system 130 determines whether the network performance for communicating with the second set of endpoints 110b is below a threshold performance level. If, at S445, the system 130 determines that the network performance for communicating with the second set of endpoints 110b is below the threshold performance level, the method proceeds to S450. At S450, the system 130 reduces the collection percentage for the second set of endpoints 110b. If the system 130 determines that the network performance for communicating with the second set of endpoints 110b is above a threshold performance level, the system 130 maintains the default collection percentage for the second set of endpoints 110b.

[0057] The steps S440, S445, and S450 may the same as the steps S425, S430, and S435, but relating to the second set of endpoints 110b and the associated measurement data collected by the second set of endpoints 110b rather than the first set of endpoints 110a and the associated measurement data collected by the first set of endpoints 110a. Although in Figure 4A, steps S440, S445, and S450 are shown as being performed after steps S425, S430, and S435, these steps overlap in time.

[0058] After S445, and optionally S450, the method proceeds to S455.

[0059] Reference is made to Figure 4B, which illustrates a second part 400B of the method for collecting measurement data from the plurality of endpoints.

[0060] In addition to the gaps (i.e. a first set of gaps) which are reconciled by the system 130 at S410, the first measurement data comprises an additional set of gaps (i.e. a second set of gaps). The second set of gaps may belong to a later part of the first measurement data that is received after the part of the first measurement data containing the gaps that are reconciled at S410. As shown at S455, if the collection percentage for the first set of endpoints 110a was reduced at S435, the method proceeds to S460, whereas if the collection percentage was maintained, the method proceeds to S465.

[0061] If the method proceeds to S460, at S460, the system 130 withholds collecting at least some of the data in the second set of gaps in the first measurement data. The proportion of data collected depends upon the reduced collection percentage set at S435. For example, at S435, the collection percentage is reduced from 100% to 50%, then at S460, the system 130 collects 50% of the data in the second set of gaps in the first measurement data. In some embodiments, at S435, the collection percentage is reduced to 0%, then at S460, the system 130 withholds collecting any of the data in the second set of gaps. If the collection percentage is reduced to a non-zero value, then the system 130 sends one or more retry requests to the endpoints 110a to obtain some of the items of measurement data that are determined to be missing. If the method proceeds to S465, at S465, the system 130 collects data in the second set of gaps in the first measurement data at the default collection percentage. The default collection percentage, which may also be referred to as the normal collection percentage or the original collection percentage, is the collection percentage applied at steps S410 and S420 without the collection percentage being reduced in response to poor network performance. In embodiments, the default collection percentage is 100%, in which case the system 130 sends retry requests to obtain all of the data in the second set of gaps in the first measurement data.

[0062] A similar set of steps S470, S475, and S480 are performed with respect to the second set of endpoints 110b in order to obtain measurement items associated with a second set of gaps in the second measurement data.

[0063] As shown at S470, if the collection percentage for the second set endpoints was reduced at S450, the method proceeds to S475. On the other hand, if the collection percentage was maintained, the method proceeds to S480.

[0064] At S475, the system 130 withholds collecting at least some of the data in gaps in the second measurement data. The proportion of data collected depends upon the reduced collection percentage set at S450. S475 is the same as S460, but applied to the second set of endpoints 110b, rather than the first set of endpoints 110a.

[0065] At S480, the system 130 collects data in the second set of gaps at the normal collection percentage. S480 is the same as S465, but applied to the second set of endpoints 110b, rather than the first set of endpoints 110a.

[0066] The system 130, therefore, performs S460 or S465 to collect data in a second set of gaps in the first measurement data and S475 or S480 to collect data in further gaps in the second measurement data. These steps are performed during a second time period, following the first time period during which the initial gap reconciliation is performed at S410 and S420.

[0067] The system again monitors the network performance for the sets of endpoints, and during a third time period following the second time period, may restore the collection percentage for each set of endpoints to the default value if the respective network performance is determined to no longer be below the threshold. At S485, the system 130 again monitors the network performance for communicating with the first set of endpoints 110a. The system determines a value (e.g. proportion of measurement items received) representing the network performance. This process for determining the network performance may be the same as that performed as part of step S425 discussed above.

[0068] At S490, the system 130 determines whether or not the network performance as determined at S485 is below the threshold. If the network performance is below the threshold, the method 400B proceeds to S492. If the network performance is not below the threshold, the method 400B proceeds to S497.

[0069] At S492, in accordance with the reduced collection percentage (e.g. 50% or 0%), the system 130 withholds collecting at least some of the data in a further set of gaps (i.e. a third set of gaps) in the first measurement data.

[0070] At S497, the system 130 collects data in the third set of gaps in the first measurement data at the default collection percentage (e.g. 100%). If the collection percentage for the first set of endpoints 110a was reduced at S435, at S497, the system 130 increases the collection percentage to the default level. At S497, the system 130 sends retry requests to the first set of endpoints 110a to obtain items of measurement data that it determines to be missing in the third set of gaps in the first measurement data.

[0071] Although not shown in Figure 4B, the system 130 also performs further steps of monitoring the network performance for communicating with the second set of endpoints 110b, and re-adjusting the collection percentage for the second set of endpoints 110b in dependence upon whether the determined network performance is below the threshold. In other words, the system 130 also performs steps that are equivalent to steps S485, S490, S492, and S497 but with respect to the second set of endpoints 110b, rather than the first set of endpoints 110a.

[0072] Figures 4A and 4B illustrate an embodiment where measured network performance is (at steps S430, S445, and S490) compared to a single threshold. In some embodiments, the measured network performance may also be compared to a further threshold, with the collection percentage being reduced to one of two lower levels (e.g. 0% and 50%) in dependence upon whether or not the collection percentage is between these two levels or below each of them. Reference is made to Figure 5, which illustrates an example of steps according to such an embodiments.

[0073] The steps S405, S410, S415, S420, S425, and S430 in Figure 5 are the same as those shown in Figure 4A. At S500, the system 130 determines if the network performance determined at S425 is below the further threshold. The further threshold is lower than the first threshold applied at S430. If the network performance is not below the further threshold, at S505, the system 130 reduces the collection percentage to an intermediate level (e.g. 50%). The system 130 applies the intermediate collection percentage level (e.g. 50%) to withhold collecting some of the data in the second set of gaps in the first measurement data. The system 130 sends retry requests to the first set of endpoints 110a to obtain some (e.g. 50%) of the missing items of measurement data.

[0074] If the network performance is determined at S500 to be below the further threshold, at S510, the system 130 reduces the collection percentage to a level (i.e. 0%) lower than the intermediate collection percentage level. The system 130 then withholds sending retry requests to collect any of the measurement data within the second set of gaps in the first measurement data.

[0075] If the network performance determined at S500 is not below the threshold, at S515, the system 130 maintains the default collection percentage and collects all of the data in the second set of gaps in the measurement data.

[0076] Although not shown in Figure 5, the system 130 may also performs the steps of monitoring the network performance for communicating with the second set of endpoints 110b, and adjusting the collection percentage for the second set of endpoints 110b in dependence upon whether the network performance for communicating with the second set of endpoints 110b is below the further threshold. In other words, the system 130 also performs steps equivalent to steps S500, S505, S510, and S515, but with respect to the second set of endpoints 110b, rather than the first set of endpoints 110a.

[0077] Reference is made to Figure 6, which illustrates an example of the data that may be stored in the system 102. This data is stored in memory (e.g. in storages 210, 220, 315, 330) of the system 102. The data includes a table 600, which comprises the collected network performance levels for communicating with each set of endpoints. The table 600 includes network performance values for communicating with the first set of endpoints 110a, the second set of endpoints 110b, and the third set of endpoints 110c, and for communicating with an additional sets of endpoints (i.e. 4 to 7) that aren’t shown in Figure 1 . The performance values are obtained from the collectors associated with each set of endpoints and may be indicative, for example, of the proportion of items of measurement data received at each collector prior to any gap reconciliation being performed to increase that proportion. Figure 6 further shows an example threshold level, which is set at 80% in this case, and an example further threshold level, which is set at 50% in this case. As shown in the table 600, the system 102 sets the collection percentage to 100% if the performance value is not below the threshold level, sets the collection percentage to 50% if the performance value is below the threshold level, but above the further threshold level, and sets the collection percentage to 0% if the performance value is below the further threshold level.

[0078] In the above description, reference is made to a first set of gaps, second set of gaps, and third set of gaps of the first measurement data.

[0079] Reference is made to Figure 7, which illustrates a first set of measurement data 700 that is sent from the first set of endpoints 110a to the system 130. Different items of the data 700 are sent from different endpoints.

[0080] A first part 710 of the measurement data 700 is shown. This first part 710 is received at the system 130 during the first time period. The first part 710 comprises a first set 715 of gaps. The system 130 sends retry requests to obtain the measurement data corresponding to these gaps at S410.

[0081] A second part 720 of the measurement data 700 is shown. This second part 720 is received at the system 130 during the second time period, following a point in time at which the collection percentage is reduced. The second part 720 comprises a second set 725 of gaps. At S460, the system 130 withholds collecting at least some of the measurement data corresponding to these gaps 725.

[0082] A third part 730 of the measurement data 700 is shown. This third part 730 is received at the system 130 during the third time period, following a point in time at which the collection percentage is reduced. The third part 730 comprises a third set 735 of gaps. At S497, the system 130 sends retry requests to obtain the measurement data corresponding to these gaps.

[0083] It would be appreciated that although the steps are shown in sequence, in practice there may be overlap in the time at which the steps are performed.

[0084] Implementations of the subject matter and the operations described in this specification can be realized in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. For instance, hardware may include processors, microprocessors, electronic circuitry, electronic components, integrated circuits, etc. Implementations of the subject matter described in this specification can be realized using one or more computer programs, i.e., one or more modules of computer program instructions, encoded on computer storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. A computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially-generated propagated signal. The computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).

[0085] While certain arrangements have been described, the arrangements have been presented by way of example only, and are not intended to limit the scope of protection. The inventive concepts described herein may be implemented in a variety of other forms. In addition, various omissions, substitutions and changes to the specific implementations described herein may be made without departing from the scope of protection defined in the following claims. ANNEX A

[0086] A.1 A method for collecting measurement data from a plurality of endpoints over a network, the method comprising: receiving first measurement data from a first set of the endpoints and second measurement data from a second set of the endpoints; during a first time period, identifying a first plurality of gaps in the first measurement data and, in response to identifying the first plurality of gaps in the first measurement data, sending one or more retry requests to collect data falling within the first plurality of gaps in the first measurement data at a collection percentage associated with the first set of endpoints; during a second time period following the first time period, identifying a plurality of gaps in the second measurement data and, in response to identifying the plurality of gaps in the second measurement data, sending one or more retry requests to collect data falling within the plurality of gaps in the second measurement data at a collection percentage associated with the second set of endpoints; monitoring network performance for communicating with the first set of the endpoints; and in response to determining that the network performance for communicating with the first set of endpoints is below a threshold value: reducing the collection percentage associated with the first set of the endpoints; and during the second time period, in response to identifying a second plurality of gaps in the first measurement data, in accordance with the reduced collection percentage associated with the first set of the endpoints, withholding collecting at least some of the data falling within the second plurality of gaps.

[0087] A.2 A method as in paragraph A.1 , wherein withholding collecting at least some of the data falling with the second plurality of gaps comprises withholding collecting all of the data falling with the second plurality of gaps.

[0088] A.3 A method as in paragraph A.2, comprising performing the withholding collecting all of the data falling within the second plurality of gaps in response to determining that the network performance for communicating with the first set of endpoints is below a further threshold value. A.4 A method as in paragraph A.1 to A.3, wherein withholding collecting at least some of the data falling with the second plurality of gaps comprises withholding collecting some of the data falling with the second plurality of gaps, wherein the method comprises: during the second time period, sending one or more retry requests to collect the reduced collection percentage of the data falling within the second plurality of gaps in the first measurement data.

[0089] A.5 A method as in paragraph A.4, comprising performing the withholding collecting some of the data falling within the second plurality of gaps in response to determining that the network performance for communicating with the first set of endpoints is below the threshold but not below a further threshold.

[0090] A.6 A method as in any of paragraphs A.1 to A.5, comprising: determining whether the network performance is below a further threshold value; and reducing the collection percentage associated with the first set of the endpoints to a level dependent upon whether the network performance is determined to be below the further threshold.

[0091] A.7 A method as in any of paragraphs A.1 to A.6, comprising following the second time period: in response to determining that the network performance for communicating with the first set of endpoints is no longer below the threshold value: restore the collection percentage associated with the first set of the endpoints from the reduced collection percentage to an earlier value; and in response to identifying a third plurality of gaps in the first measurement data, sending one or more retry requests to collect the restored collection percentage of the data falling within the third plurality of gaps in the first measurement data.

[0092] A.8 A method as in any of paragraphs A.1 to A.7, wherein the method comprises: receiving the first measurement data from the first set of the endpoints according to a first communication technology; and receiving the second measurement data from the second set of the endpoints according to a second communication technology. A.9 A method as in any of paragraphs A.1 to A.8, wherein determining that the network performance for communicating with the first set of endpoints is below the threshold value comprises: determining that no packets have been received from the first set of endpoints for greater than a predefined amount of time.

[0093] A.10 A method as in any of paragraphs A.1 to A.9, wherein each of the endpoints comprises a smart meter.

[0094] A.11 A method as in any of paragraphs A.1 to A.10, wherein the monitoring the network performance for communicating with the first set of the endpoints comprises determining a proportion of items of the first measurement data that are correctly received from the first set of the endpoints, wherein determining that the network performance for communicating with the first set of endpoints is below the threshold value comprises determining that the proportion of items is below a predefined level.

[0095] A.12 A method as in any of paragraphs A.1 to A.11 , wherein the plurality of endpoints comprises a plurality of sets of endpoints comprising the first set of the endpoints and the second set of the endpoints, the method comprising for each of the sets of endpoints: monitoring network performance for communicating with the respective set of the endpoints; storing an indication of the network performance associated with the respective set of the endpoints; and in response to determining that the network performance for communicating with the respective set of endpoints is below the threshold value, withholding collecting at least some data belonging to gaps in measurement data received from the respective set of endpoints.

[0096] A.13 A method as in any of paragraphs A.1 to A.12, wherein the collection percentage associated with the first set of endpoints during the first time period is the same as the collection percentage associated with the second set of endpoints during the second time period. A.14 A computer program comprising a set of computer readable instructions, which when executed by at least one processor of a data processing system causes a method to be performed, the method comprising: receiving first measurement data from a first set of the endpoints and second measurement data from a second set of the endpoints; during a first time period, identifying a first plurality of gaps in the first measurement data and, in response to identifying the first plurality of gaps in the first measurement data, sending one or more retry requests to collect data falling within the first plurality of gaps in the first measurement data at a collection percentage associated with the first set of endpoints; during a second time period following the first time period, identifying a plurality of gaps in the second measurement data and, in response to identifying the plurality of gaps in the second measurement data, sending one or more retry requests to collect data falling within the plurality of gaps in the second measurement data at a collection percentage associated with the second set of endpoints; monitoring network performance for communicating with the first set of the endpoints; and in response to determining that the network performance for communicating with the first set of endpoints is below a threshold value: reducing the collection percentage associated with the first set of the endpoints; and during the second time period, in response to identifying a second plurality of gaps in the first measurement data, in accordance with the reduced collection percentage associated with the first set of the endpoints, withholding collecting at least some of the data falling within the second plurality of gaps.

Claims

CLAIMS:1 . A method for collecting measurement data from a plurality of endpoints over a network, the method comprising: receiving first measurement data from a first set of the endpoints and second measurement data from a second set of the endpoints; during a first time period, identifying a first plurality of gaps in the first measurement data and, in response to identifying the first plurality of gaps in the first measurement data, sending one or more retry requests to collect data falling within the first plurality of gaps in the first measurement data at a collection percentage associated with the first set of endpoints; during a second time period following the first time period, identifying a plurality of gaps in the second measurement data and, in response to identifying the plurality of gaps in the second measurement data, sending one or more retry requests to collect data falling within the plurality of gaps in the second measurement data at a collection percentage associated with the second set of endpoints; monitoring network performance for communicating with the first set of the endpoints; and in response to determining that the network performance for communicating with the first set of endpoints is below a threshold value: reducing the collection percentage associated with the first set of the endpoints; and during the second time period, in response to identifying a second plurality of gaps in the first measurement data, in accordance with the reduced collection percentage associated with the first set of the endpoints, withholding collecting at least some of the data falling within the second plurality of gaps.

2. A method as claimed in claim 1 , wherein withholding collecting at least some of the data falling with the second plurality of gaps comprises withholding collecting all of the data falling with the second plurality of gaps.

3. A method as claimed in claim 2, comprising performing the withholding collecting all of the data falling within the second plurality of gaps in response to determining that the network performance for communicating with the first set of endpoints is below a further threshold value.

4. A method as claimed in claim 1 , wherein withholding collecting at least some of the data falling with the second plurality of gaps comprises withholding collecting some of the data falling with the second plurality of gaps, wherein the method comprises: during the second time period, sending one or more retry requests to collect the reduced collection percentage of the data falling within the second plurality of gaps in the first measurement data.

5. A method as claimed in claim 4, comprising performing the withholding collecting some of the data falling within the second plurality of gaps in response to determining that the network performance for communicating with the first set of endpoints is below the threshold but not below a further threshold.

6. A method as claimed in claim 1 , comprising: determining whether the network performance is below a further threshold value; and reducing the collection percentage associated with the first set of the endpoints to a level dependent upon whether the network performance is determined to be below the further threshold.

7. A method as claimed in claim 1 , comprising following the second time period: in response to determining that the network performance for communicating with the first set of endpoints is no longer below the threshold value: restore the collection percentage associated with the first set of the endpoints from the reduced collection percentage to an earlier value; and in response to identifying a third plurality of gaps in the first measurement data, sending one or more retry requests to collect the restored collection percentage of the data falling within the third plurality of gaps in the first measurement data.

8. A method as claimed in claim 1 , wherein the method comprises: receiving the first measurement data from the first set of the endpoints according to a first communication technology; and receiving the second measurement data from the second set of the endpoints according to a second communication technology.

9. A method as claimed in claim 1 , wherein determining that the network performance for communicating with the first set of endpoints is below the threshold value comprises: determining that no packets have been received from the first set of endpoints for greater than a predefined amount of time.

10. A method as claimed in claim 1 , wherein each of the endpoints comprises a smart meter.

11. A method as claimed in claim 1 , wherein the monitoring the network performance for communicating with the first set of the endpoints comprises determining a proportion of items of the first measurement data that are correctly received from the first set of the endpoints, wherein determining that the network performance for communicating with the first set of endpoints is below the threshold value comprises determining that the proportion of items is below a predefined level.

12. A method as claimed in claim 1 , wherein the plurality of endpoints comprises a plurality of sets of endpoints comprising the first set of the endpoints and the second set of the endpoints, the method comprising for each of the sets of endpoints: monitoring network performance for communicating with the respective set of the endpoints; storing an indication of the network performance associated with the respective set of the endpoints; and in response to determining that the network performance for communicating with the respective set of endpoints is below the threshold value, withholding collecting at least some data belonging to gaps in measurement data received from the respective set of endpoints.

13. A method as claimed in claim 1 , wherein the collection percentage associated with the first set of endpoints during the first time period is the same as the collection percentage associated with the second set of endpoints during the second time period.

14. A data processing system for collecting measurement data from a plurality of endpoints over a network, the data processing system comprising at least one processor and at least one memory comprising a set of computer readable instructions,which when executed by the at least one processor cause the data processing system to perform a method comprising: receiving first measurement data from a first set of the endpoints and second measurement data from a second set of the endpoints; during a first time period, identifying a first plurality of gaps in the first measurement data and, in response to identifying the first plurality of gaps in the first measurement data, sending one or more retry requests to collect data falling within the first plurality of gaps in the first measurement data at a collection percentage associated with the first set of endpoints; during a second time period following the first time period, identifying a plurality of gaps in the second measurement data and, in response to identifying the plurality of gaps in the second measurement data, sending one or more retry requests to collect data falling within the plurality of gaps in the second measurement data at a collection percentage associated with the second set of endpoints; monitoring network performance for communicating with the first set of the endpoints; and in response to determining that the network performance for communicating with the first set of endpoints is below a threshold value: reducing the collection percentage associated with the first set of the endpoints; and during the second time period, in response to identifying a second plurality of gaps in the first measurement data, in accordance with the reduced collection percentage associated with the first set of the endpoints, withholding collecting at least some of the data falling within the second plurality of gaps.

15. A non-transitory computer readable medium storing a computer program comprising a set of computer readable instructions, which when executed by at least one processor of a data processing system causes a method to be performed, the method comprising: receiving first measurement data from a first set of the endpoints and second measurement data from a second set of the endpoints; during a first time period, identifying a first plurality of gaps in the first measurement data and, in response to identifying the first plurality of gaps in the first measurement data, sending one or more retry requests to collect data falling within the first plurality of gaps in the first measurement data at a collection percentage associated with the first set of endpoints;during a second time period following the first time period, identifying a plurality of gaps in the second measurement data and, in response to identifying the plurality of gaps in the second measurement data, sending one or more retry requests to collect data falling within the plurality of gaps in the second measurement data at a collection percentage associated with the second set of endpoints; monitoring network performance for communicating with the first set of the endpoints; and in response to determining that the network performance for communicating with the first set of endpoints is below a threshold value: reducing the collection percentage associated with the first set of the endpoints; and during the second time period, in response to identifying a second plurality of gaps in the first measurement data, in accordance with the reduced collection percentage associated with the first set of the endpoints, withholding collecting at least some of the data falling within the second plurality of gaps.