A data processing system comprising: a gateway arranged to exchange data between devices (14, 16, 18) in a device network and a remote platform; and a network monitoring device arranged to collect network parameters from the device network and report to the gateway; and wherein the gateway is arranged to adjust its operation based on the collected network parameters, characterized in that the gateway comprises a data prioritization module which stores data items which can be collected from the device network and associates a priority level with each data item, in that the data prioritization module stores a first list of data items which are to be collected and a second list of data items which are not to be collected, and in that the data prioritization module is arranged to implement a routine comprising the steps of: a. assessing the network parameters to determine the health of the network; and b. if it is determined that the network is in poor health; remove a data item from the first list of data items which are to be collected and add said data item to the second list of data items which are not to be collected; c. else; if it is determined that the network is in good health; remove a data item from the second list of data items which are not to be collected and add said data item to the first list of data items which are to be collected; and then to repeat said routine with steps a, b and c. a gateway arranged to exchange data between devices (14, 16, 18) in a device network and a remote platform; and a network monitoring device arranged to collect network parameters from the device network and report to the gateway; and wherein the gateway is arranged to adjust its operation based on the collected network parameters, characterized in that the gateway comprises a data prioritization module which stores data items which can be collected from the device network and associates a priority level with each data item, in that the data prioritization module stores a first list of data items which are to be collected and a second list of data items which are not to be collected, and in that the data prioritization module is arranged to implement a routine comprising the steps of: a. assessing the network parameters to determine the health of the network; and b. if it is determined that the network is in poor health; remove a data item from the first list of data items which are to be collected and add said data item to the second list of data items which are not to be collected; c. else; if it is determined that the network is in good health; remove a data item from the second list of data items which are not to be collected and add said data item to the first list of data items which are to be collected; a. assessing the network parameters to determine the health of the network; and b. if it is determined that the network is in poor health; remove a data item from the first list of data items which are to be collected and add said data item to the second list of data items which are not to be collected; c. else; if it is determined that the network is in good health; remove a data item from the second list of data items which are not to be collected and add said data item to the first list of data items which are to be collected; and then to repeat said routine with steps a, b and c.