IoT edge devices utilizing multi-transport media (bluetooth mesh, WIFI mesh, cellular) to control delay and jitter
The integrated circuit in IoT devices optimizes latency and jitter in multi-connection systems, ensuring precise performance for industrial applications by determining redundant data transmission, thus enhancing connectivity reliability and availability.
Patent Information
- Application Number
- JP2025186234
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-01-13
- Filing Date
- 2025-11-05
- Publication Date
- 2026-02-03
AI Technical Summary
Existing IoT devices with multiple connection interfaces experience varying latency and jitter, making them unsuitable for industrial applications that require precise performance characteristics.
An apparatus with an integrated circuit that determines delay and jitter information for data units received via multiple connections, optimizing redundant data transmission to meet application-specific performance targets.
The solution effectively limits jitter and delay within defined specifications, enhancing the performance of IoT devices for industrial applications by improving connectivity reliability and availability.
Smart Images

Figure 2026016748000001_ABST
Abstract
Description
[Technical Field]
[0001] Technical Field The present disclosure relates to methods and apparatus, and particularly, but not exclusively, to methods and apparatus for controlling the transmission of data between a receiving device and a transmitting device. [Background technology]
[0002] background Some communication devices have multiple connection interfaces. An example of such a communication device includes an Internet of Things (IoT) device. Utilizing multiple connection options simultaneously at the IoT edge can be used to improve raw bandwidth or to improve redundancy at end devices. However, a problem can arise in that connections to IoT devices may experience varying latency and jitter performance over time. Therefore, such connections may not be suitable for industrial applications, for example, using industrial devices that may operate with very low data rate connections. Latency and jitter control within required limits may be one of the performance characteristics that enable industrial applications.
[0003] It is an aim of some embodiments to address or at least mitigate the above mentioned problems. Summary of the Invention [Means for solving the problem]
[0004] overview According to one aspect, an apparatus is provided, the apparatus comprising at least one integrated circuit configured to cause the apparatus to determine delay information and / or jitter information of a first plurality of data units in a first data transmission, the first plurality of data units in the first transmission being received by a receiving device via a plurality of different connections from a transmitting device, determine which one or more of the second plurality of data units should provide redundant data for a second transmission of a second plurality of data units according to the determined delay information and / or jitter information of the first plurality of data units, the second transmission being received by the receiving device via a plurality of different connections between the transmitting device and the receiving device, the second transmission following the first transmission, and cause the apparatus to provide information regarding which one or more of the second plurality of data units should provide redundant data.
[0005] Some embodiments may provide a solution that may optimize and limit both jitter and delay within the defined specifications of each application.
[0006] Further embodiments and aspects of the device may further address one or more of the problems discussed above.
[0007] The at least one integrated circuit may be configured to determine delay information and / or jitter information for the first plurality of data units in the first data transmission based on the order in which the first plurality of data units are received.
[0008] The at least one integrated circuit may be configured to cause the apparatus to determine, for each data unit of the first plurality of data units of the first transmission, when that data unit is received at the receiving device.
[0009] The at least one integrated circuit may be configured to cause the apparatus to determine, for a second transmission, which one or more of the second plurality of data units should provide redundant data to provide reduced delay, reduced jitter, or reduced jitter and delay compared to the delay of the first plurality of data units of the first transmission.
[0010] This may be achieved by an optimization process or function.
[0011] The at least one integrated circuit may be configured to cause the apparatus to determine when each of the first plurality of data units of the first transmission is received relative to a common time reference.
[0012] The at least one integrated circuit may be configured to cause the apparatus to determine that one or more of the delay and jitter targets cannot be achieved for the second transmission using the multiple connections.
[0013] The at least one integrated circuit may be configured to cause the apparatus to determine that one or more of the delay and jitter targets cannot be achieved for the second transmission, and accordingly, provide an indication of this in the user interface.
[0014] The at least one integrated circuit may be configured to cause the apparatus to determine that one or more delay and jitter targets cannot be met for a second transmission using the plurality of different connections used for the first transmission, and in response, determine one or more additional connections to be used along with the plurality of different connections for the second transmission.
[0015] The at least one integrated circuit may be configured to cause the device to determine, for a second transmission received at the receiver, quality of service metrics of one or more connections used for the second transmission, and in response to determining a degradation in the respective quality of service metric of the respective connection, provide an indication of this on a user interface.
[0016] The at least one integrated circuit may be configured to cause the apparatus to determine, for a second transmission received at the receiver, quality of service metrics of one or more connections used for the second transmission, and in response to determining a degradation in the quality of service metric of each of the multiple connections used for the second transmission, cause the transmitting device to remove the respective connection from the multiple connections used for transmitting data units of the second transmission.
[0017] The at least one integrated circuit may be configured to cause the device to determine as delay information a delay deviation representing an amount by which the delay deviates from a reference delay value.
[0018] The at least one integrated circuit may be configured to cause the apparatus to determine as jitter information a jitter deviation representing an amount by which the jitter deviates from a reference jitter value.
[0019] The data unit may be a packet.
[0020] The at least one integrated circuit may be configured to cause the apparatus to determine, for each of a plurality of different connections, delay information and / or jitter information for a first plurality of data units of a first transmission.
[0021] The one or more different connections are provided by one or more of a Bluetooth connection, a Wi-Fi connection, an Ethernet connection, an optical connection, and a mobile communication connection.
[0022] The first plurality of data units of the first transmission and the second plurality of data units of the second transmission may be associated with one or more of an Internet of Things application, an industrial application, a protection application, a distance protection application, a differential protection application, a factory application, a substation application, an automation application, a substation automation application, and a factory automation application.
[0023] The apparatus may be a receiving device or may be located in a receiving device.
[0024] According to another aspect, an apparatus is provided that includes at least one integrated circuit configured to cause the apparatus to perform a first transmission of a first plurality of data units from a transmitting device to a receiving device via a plurality of different connections, receive information indicating which one or more of the second plurality of data units should provide redundant data for a second transmission of a second plurality of data units from the transmitting device to the receiving device, and cause the second transmission of the second plurality of data units from the transmitting device to the receiving device via the plurality of different connections in accordance with the received information.
[0025] The at least one integrated circuit may be configured to cause the apparatus to receive information from the receiving device indicating one or more additional connections to be added to the one or more used for the second transmission.
[0026] The at least one integrated circuit may be configured to cause the apparatus to receive information from the receiving device indicating that one or more connections should be removed from the one or more connections used for the second transmission.
[0027] The data unit may be a packet.
[0028] The one or more different connections may be provided by one or more of a Bluetooth connection, a Wi-Fi connection, an Ethernet connection, an optical connection, and a mobile communication connection.
[0029] The first plurality of data units of the first transmission and the second plurality of data units of the second transmission may be associated with one or more of an Internet of Things application, an industrial application, a protection application, a distance protection application, a differential protection application, a factory application, a substation application, an automation application, a substation automation application, and a factory automation application.
[0030] The apparatus may be a transmitting device or may be located in a transmitting device.
[0031] According to one aspect, a method is provided that includes determining delay information and / or jitter information for a first plurality of data units in a first data transmission, wherein the first plurality of data units in the first transmission are received by a receiving device via a plurality of different connections from a transmitting device; determining, in response to the determined delay information and / or jitter information of the plurality of data units, which one or more of the second plurality of data units should provide redundant data for a second transmission of a second plurality of data units, wherein the second transmission is received by the receiving device via a plurality of different connections between the transmitting device and the receiving device, the second transmission following the first transmission; and causing a transmitter to provide information regarding which one or more of the second plurality of data units should provide redundant data.
[0032] Some embodiments may provide a solution that may optimize and limit both jitter and delay within the defined specifications of each application.
[0033] Further embodiments and aspects of the method may further address one or more of the problems discussed above.
[0034] The method may include determining delay and / or jitter information for the first plurality of data units in the first data transmission based on the order in which the first plurality of data units are received.
[0035] The method may include determining, for each data unit of the first plurality of data units of the first transmission, when the data unit is received at a receiving device.
[0036] The method may include determining, for the second transmission, which one or more of the second plurality of data units should provide redundant data to provide reduced delay, reduced jitter, or reduced jitter and delay compared to a delay of the first plurality of data units of the first transmission.
[0037] This may be achieved by an optimization process or function.
[0038] The method may include determining when each of a first plurality of data units of a first transmission is received relative to a common time reference.
[0039] The method may include determining that one or more of the delay and jitter targets cannot be achieved for the second transmission using the multiple connections.
[0040] The method may include determining that one or more of the delay and jitter targets cannot be achieved for the second transmission, and accordingly providing an indication of this in a user interface.
[0041] The method may include determining that one or more delay and jitter targets cannot be met for a second transmission using the plurality of different connections used for the first transmission, and responsively determining one or more additional connections to be used along with the plurality of different connections for the second transmission.
[0042] The method may include, for a second transmission received at the receiver, determining quality of service metrics for one or more connections used for the second transmission, and in response to determining a degradation in the respective quality of service metric for the respective connection, providing an indication of this on a user interface.
[0043] The method may include, for a second transmission received at the receiver, determining quality of service metrics for one or more connections used for the second transmission, and in response to determining a degradation in the quality of service metric for each connection of the multiple connections used for the second transmission, causing the transmitting device to remove the respective connection from the multiple connections used for transmitting data units of the second transmission.
[0044] The method may include determining a delay deviation as the delay information, the delay deviation representing the amount by which the delay deviates from a reference delay value.
[0045] The method may include determining as the jitter information a jitter deviation representing an amount by which the jitter deviates from a reference jitter value.
[0046] The data unit may be a packet.
[0047] The method may include determining delay information and / or jitter information for a first plurality of data units of a first transmission for each of a plurality of different connections.
[0048] The one or more different connections may be provided by one or more of a Bluetooth connection, a Wi-Fi connection, an Ethernet connection, an optical connection, and a mobile communication connection.
[0049] The first plurality of data units of the first transmission and the second plurality of data units of the second transmission may be associated with one or more of an Internet of Things application, an industrial application, a protection application, a distance protection application, a differential protection application, a factory application, a substation application, an automation application, a substation automation application, and a factory automation application.
[0050] The method may be performed by an apparatus, which may be or be located in a receiving device.
[0051] According to another aspect, a method is provided that includes causing a first transmission of a first plurality of data units from a transmitting device to a receiving device via a plurality of different connections; receiving information indicating which one or more of the second plurality of data units should provide redundant data for a second transmission of a second plurality of data units from the transmitting device to the receiving device; and causing a second transmission of the second plurality of data units from the transmitting device to the receiving device via the plurality of different connections in accordance with the received information.
[0052] The method may include receiving information from the receiving device indicating one or more additional connections to be added to the one or more connections used in the second transmission.
[0053] The method may include receiving information from the receiving device indicating one or more connections to be removed from the one or more connections used for the second transmission.
[0054] The one or more different connections may be provided by one or more of a Bluetooth connection, a Wi-Fi connection, an Ethernet connection, an optical connection, and a mobile communication connection.
[0055] The first plurality of data units of the first transmission and the second plurality of data units of the second transmission may be associated with one or more of an Internet of Things application, an industrial application, a protection application, a distance protection application, a differential protection application, a factory application, a substation application, an automation application, a substation automation application, and a factory automation application.
[0056] The data unit may be a packet.
[0057] The method may be performed by an apparatus, which may be a transmitting device or may be provided in a transmitting device.
[0058] According to one aspect, there is provided a computer readable medium comprising program instructions for causing an apparatus to perform at least a method according to any of the preceding aspects.
[0059] According to one aspect, there is provided a non-transitory computer readable medium comprising program instructions for causing an apparatus to perform a method according to at least any of the preceding aspects.
[0060] A number of different embodiments have been described above, and it should be understood that further embodiments may be provided by combining any two or more of the above-described embodiments.
[0061] BRIEF DESCRIPTION OF THE DRAWINGS One or more examples will now be described, by way of example only, with reference to the accompanying drawings. [Brief explanation of the drawings]
[0062] [Figure 1] 1 is a diagram illustrating a schematic diagram of a transmitting device and a receiving device; [Figure 2] FIG. 1 illustrates a schematic diagram of a method of some embodiments. [Figure 3] FIG. 1 is a diagram illustrating a schematic diagram of packet jitter. [Figure 4] FIG. 10 is a diagram illustrating the jitter performance of a received signal with and without jitter control over time. [Figure 5] FIG. 1 illustrates an apparatus of some embodiments. [Figure 6] FIG. 1 illustrates a method of some embodiments. [Figure 7] FIG. 1 illustrates another method of some embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0063] Detailed Description Some embodiments provide jitter and / or delay control for a transmitting device, which may be any suitable device capable of transmitting to a receiving device.
[0064] The transmitting device may be an IoT device, an IoT edge device, a machine-communication device, or any other suitable computing device that needs to communicate with another device. Some embodiments may be used with a transmitting device having multiple connectivity interfaces and / or a connectivity interface that supports multiple communication protocols. The connectivity interface may be any suitable connectivity interface. The connectivity interface may use a transport media protocol. Some examples of transport media protocols supported by one or more connectivity interfaces of some embodiments may include one or more of Bluetooth, Wi-Fi, Wi-Fi mesh, Ethernet, an optical connection, a mobile communication connection, etc. The mobile communication connection may be any suitable connection based on 5G, LTE-A, 4G, 3G, etc. The Bluetooth protocol may be Bluetooth 5 or any other Bluetooth protocol.
[0065] In some embodiments, two or more connectivity interfaces may use the same transport media protocol. In some embodiments, two or more connectivity interfaces may use different transport media protocols.
[0066] The interface of the transmitting device may belong to any transport access medium with one or more connections.
[0067] Referring to Figure 1, a transmitting device 2 and a receiving device 4 are shown schematically. By way of example only, the transmitting device of Figure 1 includes a first connectivity interface 6a and a second connectivity interface 6b. In some embodiments, the transmitting device may include two or more connectivity interfaces. In some embodiments, the transmitting device may include one connectivity interface supporting two or more separate connections.
[0068] The receiving device has a first connectivity interface 8a and a second connectivity interface 8b. The first connectivity interface 8a of the receiving device may receive a first stream, Stream A, from the first connectivity interface 6a of the transmitting device. The second connectivity interface 8b of the receiving device may receive a second stream, Stream B, from the second connectivity interface 6b of the transmitting device.
[0069] The receiving device may, in some embodiments, include two or more connectivity interfaces. The receiving device may, in some embodiments, include one connectivity interface that supports two or more separate connections.
[0070] Note that there may be one or more transport media between the receiving device and the transmitting device, and different streams may be transmitted between the transmitting device and the receiving device over the same or different transport media.
[0071] In some embodiments, there may be one or more intermediate node devices between the transmitting device and the receiving device.
[0072] Some embodiments may perform analysis related to jitter control, delay control, or jitter and delay control at receiving device 4, as needed. This may eliminate the need to modify the communication protocol. Receiving device 4 may be configured to provide delay-only, jitter-only, or both jitter and delay control. In the example of FIG. 1, receiving device 4 is configured to determine the jitter and delay of the first stream and the second stream. This is done by jitter and delay determination function 10a for stream A and jitter and delay determination function 10b for stream B. BThe jitter and delay determination function 10b is determined by the jitter and delay determination function 10a. The circuit that provides the jitter and delay determination function 10a may also provide the jitter and delay determination function 10b. Alternatively, a separate circuit may provide the jitter and delay determination function 10a compared to the circuit that provides the jitter and delay determination function 10b.
[0073] The jitter and delay data determined by the jitter and delay determination function is then provided as input to the controller 12 of the receiving device. In some embodiments, the receiving device 4 is configured to provide control feedback to the transmitting device as determined by the controller 12. This feedback may provide information regarding the interface to be utilized by the transmitting device. This feedback may alternatively or additionally provide information regarding the required data pattern to be utilized by the transmitting device.
[0074] The transmitting device 2 is configured to use control feedback. The transmitting device 2 has a controller 15 that controls the data transmitted in each stream. The controller 15 receives the control feedback. In response to this feedback, the controller 15 may control the transmission of data over two or more interfaces. The feedback may be used to add redundancy.
[0075] The feedback provided may depend on the application of the transmitting device and / or the receiving device. The application may be an IoT application, an industrial application, or any other suitable application. The application may have specific delay and jitter specifications. The feedback may be provided to enable the transmitting device to meet the jitter and delay targets or application specifications.
[0076] The transmitting device may use two or more different connectivity options simultaneously to improve the performance of the transmitting device. The improvement may be in the connectivity-related performance of the transmitting device, such as improved availability and / or reliability.
[0077] The receiving device 4 may have or be connected to a user interface 19. The user interface 19 may receive user input indicating one or more of the jitter and delay parameters. The input from the user interface may be provided to the controller. The controller 12 may provide an output to the user interface. For example, the controller may provide an output to the user interface if the controller fails to achieve an application goal, as described in more detail below. The user interface may include a display configured to display information received from the controller 12.
[0078] Connections with transmitting devices, such as IoT devices or any other suitable devices, may experience varying delay and jitter performance over time. Delay and jitter control within required limits may be performance characteristics needed to enable or improve the performance of a particular application.
[0079] Solutions that look solely at delay control may not be suitable for jitter control, and vice versa: a connection with a large delay may have almost negligible jitter, while a connection with poor jitter performance may have a delay that is within acceptable limits for a particular application.
[0080] Some embodiments aim to ensure that jitter and / or delay are within a defined specification or desired range for each application.
[0081] Note that some embodiments may be communication protocol agnostic: available connectivity options may vary, potentially due to changes in protocols and / or industry preferences.
[0082] As described, different applications may have different requirements. For example, different applications may have different performance requirements to meet the application's quality of service (QoS). Table 1 below shows some examples of different latency (delay), jitter, and packet loss requirements for different applications. In particular, Table 1 shows upper limits for latency, jitter, and packet loss metrics for different applications. If communication can be guaranteed within these ranges for a particular application, the quality of service for the respective application can be considered met. As can be seen, industrial applications related to protection and substation / factory automation have more stringent requirements compared to voice / video calls and CCTV applications. Some industrial applications may be associated with low data rate connections.
[0083] [Table 1] Delay is a measure of the waiting time for data to travel from the transmitter to the receiver. Jitter is a measure of the difference in packet spacing at a receiving device compared to the packet spacing at a transmitting device for a pair of packets. In this regard, refer to Figure 3. The sender (transmitting device) sends packet 1 at time s1 and packet 2 at time s2. The receiving device receives packet 1 at time r1 and packet 2 at time r2. The time difference between r1 and s1 is D1. The time difference represents delay. The time difference between r2 and s2 is D2. Without jitter, D1 and D2 would be the same value. However, as shown schematically in Figure 3, D2 is greater than D1. In this example, we assume that the packets are the same size. The difference between these time intervals |(D2 - D1) - (s2 - s1)| gives the jitter delay between the two packets. For a constant packet stream, r2 - r1 can be a measure of delay.
[0084] Figure 4 shows the jitter performance of the received signal with and without jitter control over time. In this example, a video / voice call is analyzed for QoS. Figure 4 shows that without a jitter control mechanism, the jitter in the received signal can be up to 4-5 times the acceptable level (30 ms) for a voice / video call. A jitter spike around 200 ms can affect the next 6-7 frames in a video call, thus resulting in poor QoS for multiple frames. Jitter control can keep the jitter in the received signal below the acceptable jitter level.
[0085] Some embodiments provide an approach that may take delay and / or jitter into account.
[0086] Please refer to Figure 2, which illustrates a schematic of a method provided by some embodiments. The method of some embodiments may have a training phase and an operational phase. In the training phase, the delay and jitter profiles of the individual connections are measured. In the example shown in Figure 2, these are streams A-N. Embodiments may have more than two streams, where the different streams are from the same transmitting device as previously described.
[0087] For each individual stream, delay and jitter measurements are determined. This is determined by a jitter and delay determination function 10a for stream A and a jitter and delay determination function 10b for stream B. Stream A is received from the transmitting device and output by a first interface 6a of the transmitting device. Stream B is received from the transmitting device and output by a second interface 6b of the transmitting device. Delay and jitter determinations are made for each of the N streams. For simplicity, it is assumed that there are two streams, stream A and stream B. However, it should be understood that the embodiment may be used with more than two streams.
[0088] Exemplary data for Stream A is set forth in Table 2 below, and exemplary data for Stream B is set forth in Table 3 below. These streams are audio / video data. However, this is merely an example, and the streams may be associated with any suitable application. The delay deviation metric considers delays greater than 150 ms occurring between successive packets on a stream. For example, a 160 ms delay between two packets results in a delay deviation of 160 ms - 150 ms = 10 ms. The jitter deviation metric considers jitter values where the jitter deviation is greater than 30 ms. For example, a 50 ms jitter results in a jitter deviation of 50 ms - 30 ms = 20 ms.
[0089] It should be noted that the values used to determine the jitter and delay deviations may depend on the type of application and / or the QoS requirements associated with that application. The values of 30 ms and 150 ms used are merely examples, and different values may be used in other embodiments.
[0090] The arrival times of all packets on a stream are relative to a reference start time, T0. The same reference start time is used for both streams, which may be based on the exact arrival times or measured relative to the reference start time.
[0091] Consider packet A1. This packet arrived 180 ms after initial time T0. The delay is the time from time T0 to the arrival time of packet A1. The delay deviation is determined to be 30 ms, i.e., 180-150 ms. The jitter of the first packet is 0.
[0092] Consider packet A2. This packet arrives 390 ms after time T0. The delay is the difference in the arrival time of packet A2 compared to the arrival time of packet A1, which is 390 ms - 180 ms = 210 ms. The delay deviation is determined for the first packet, i.e., delay 210 ms - 150 ms = 60 ms. The jitter is the delay deviation of packet A2 - packet deviation of packet A1, i.e., 60 - 30. This gives a jitter of 30. The value of the jitter deviation is the jitter determined for packet A2, 30 ms = 0.
[0093] This is repeated for each value. If the value of the delay deviation or jitter deviation is less than 0, the delay deviation or jitter deviation may be recorded as 0.
[0094] [Table 2]
[0095] [Table 3] Table 2 shows that Stream A on Interface 1 has very good jitter performance but a higher delay deviation rate. The average delay is 199 ms. The average delay deviation is about 49 ms. The average jitter is 23.5 ms, and the average jitter deviation is 0 ms.
[0096] Table 3 shows that Stream B has good delay variation performance but poor jitter performance. The average delay is about 87 ms. The average delay variation is 0. The average jitter is about 56 ms, and the average jitter variation is about 28 ms.
[0097] These jitter and delay data determined by the jitter and delay determination function are then provided as inputs to the receiving device's controller 12. The functionality provided by the controller 12 is shown schematically in FIG.
[0098] The controller 12 includes a combiner or data aggregator 14. The combiner 14 may combine data from stream A with data from stream B. In this regard, reference is made to Table 4, which shows an example of combined data.
[0099] [Table 4] It can be seen that Table 4 contains all of the data from Tables 2 and 3. The data is ordered based on arrival time relative to a reference start time T0. The delay, delay deviation, jitter, and jitter deviation are then again determined for the combined data.
[0100] For example, for packet B3, a delay is determined relative to packet A1. The arrival time of packet B3 is unchanged. The delay is 250 - 180 = 70. Since 70 - 150 is less than 0, the delay deviation is recorded as 0. The jitter is 10 (70 - 60), and since 10 - 30 is less than 0, the jitter deviation is 0.
[0101] For the values in Table 4, the average delay is about 60 ms and the average delay deviation is 0. The average jitter is about 51 ms. The average jitter deviation may be about 27 ms.
[0102] The controller 12 is configured to determine the required optimization goal. For example, delay to be minimized, jitter to be minimized, or both delay and jitter to be minimized. In some embodiments, only one of these options may be supported. In other embodiments, two or all three of these options may be supported. In some embodiments, the optimization goal may depend on the supported applications. The controller may determine the supported applications and select the required option based on the supported applications.
[0103] The controller considers the arrival times of the data streams from all connections simultaneously, as provided by Table 4 as an example. The controller determines filtered time samples of the data streams that provide the required performance in terms of both jitter and delay. In this regard, reference is made to Table 5, which shows an example of filtered time samples of a data stream that provides the desired performance. In this example, the average delay is approximately 83 ms and the average delay deviation is zero. In this example, the average jitter is 31 ms and the average jitter deviation is approximately 8 ms. Compared to the data in Table 4, the jitter deviation has improved from 27 ms to 8 ms.
[0104] [Table 5] As can be seen from Table 5, some packets are deleted, for example packet B5, which eliminates the relatively large jitter deviation caused by that packet. In this example, the filtered composite stream table extracts only the time of arrival (ToA) that results in zero delay and reduced delay jitter. The corresponding data points from each stream can be used to control the data transmission pattern at the transmitter side. The filtering provided by the controller may depend on the delay and jitter of the received stream and the performance requirements of the application.
[0105] The receiving device provides feedback to the transmitting device. The feedback may indicate the number of interfaces over which the transmitting device needs to transmit data. The feedback indicates the required data pattern. For example, the feedback may indicate that the first, second, and fourth packets of a stream are transmitted over stream B, and the third packet is transmitted over stream A.
[0106] Based on the feedback, the transmitting device transmits data over the connection during the operational phase to meet the jitter and delay targets of the associated application, which is used in the operational phase.
[0107] A transmitting device during the operational phase may add redundancy using packets deleted from Table 5. For example, for the transmission instance associated with packet B5, the transmitting device provides redundant data. This means that the packet either transmits no data or transmits a copy of previously transmitted data to improve redundancy. Feedback from the receiving device may specify the redundant transmission instance and, optionally, the data to be retransmitted.
[0108] If the controller is unable to achieve the application goal, the controller provides information regarding the missing goal when compared to the specification requirements. In this case, the controller may provide a recommendation regarding the number of additional transport media required to achieve the target specification. This decision may be based on extrapolation from the current performance of the transport media. This information may be provided to the transmitting device and / or the system controller. For example, this information may be provided to a system user. This information may be provided to the system user via a user interface associated with the receiving device.
[0109] The controller may determine that the required delay and / or jitter targets cannot be met with the current number of connections. The controller may provide this information to a user interface. Alternatively or additionally, the controller may determine what additional connections are needed from the transmitter to the receiver. The controller may cause the transmitter to send a message causing the transmitter to use one or more additional connections. If one or more additional connections are provided, a training phase is triggered. The additional connections may be used before the training phase is triggered, but the additional connections may simply carry redundant or repetitive data.
[0110] The controller may monitor the quality of service of each connection. If the quality of service of a connection is deteriorating and / or does not meet a required minimum and / or is fluctuating, the controller may be configured to provide an output to the user interface indicating this. In some embodiments, the controller may cause the transmitter to send a message causing the transmitter to stop using the connection with poor quality of service or to change one or more parameters associated with that connection. In some embodiments, the controller may send a message to the transmitter causing the transmitter to stop using the connection with poor quality and also indicating one or more other connections to be used instead. When new connections are added and / or connections are removed, a training phase may be triggered.
[0111] The data aggregator or data combiner 14 of the receiving device aggregates the data received via the different streams and then provides the aggregated data to the receiving host, which may receive the data in real time without buffering.
[0112] In an embodiment, the analysis for optimizing jitter and delay is performed at the receiver side and does not require any modification of the protocol: the receiving device can be configured to optimize only delay or jitter, or a combination of both.
[0113] It should be noted that the performance of embodiments may depend on one or more of the number of connections, the frequency of feedback from the receiving device to the transmitting connection, and the ability of the transmitting connection to match the required data stream transmission pattern. Thus, more connections and / or increased feedback frequency may improve the performance of the transmitting IoT device.
[0114] In some embodiments, the training is performed using jitter and delay judgementTraining may be performed on live data provided to functions 10a and 10b and controller and data aggregator 14. In some embodiments, training may be performed continuously. For example, training may be performed on a set of data. Feedback is used on the next data set. A new training operation is performed on that next data set, and feedback from that data is used on the next data set, and so on.
[0115] Depending on the use and nature of the connection, the feedback provided to the transmission patterns across different connections in the next data set may provide reduced delay, reduced jitter, or reduced jitter and delay compared to the data on which training is performed.
[0116] In some embodiments, the training may be based on a set of training data.
[0117] In some embodiments, the training may be performed periodically.
[0118] In some embodiments, if it is determined that the jitter and / or delay performance has fallen below expected levels, training may be performed again.
[0119] Please refer to FIG. 5 which shows an apparatus for providing a controller. This may be the controller 15 of the sending device or the controller of the receiving device. S controller 12The controller may be provided by a device comprising at least one integrated circuit (IC) 21. The at least one integrated circuit may comprise at least one processor 22 and at least one memory 22. The at least one processor and / or the at least one memory may receive data via an interface 24 and / or output data via the interface. The at least one processor may be configured to execute computer program code that, when executed, causes the aforementioned method to be performed. The computer program code may be stored in the at least one memory.
[0120] The controller may be part of the receiving device or may be provided by a separate device, which may be co-located with the receiving device or connected to the receiving device via a network connection or other suitable connection.
[0121] The controller in Figure 5 can be one or Multiple It may be provided by an integrated circuit and / or one or more integrated circuit dies.
[0122] The apparatus of FIG. 5, in some embodiments, when provided in a receiving device, may receive the first and second streams and further perform jitter and delay analysis as described above.
[0123] When provided in a receiving device, the apparatus of FIG. 5 may also provide a data aggregator in some embodiments.
[0124] It should be understood that in other embodiments, the controller may be provided by any circuitry and / or hardware.
[0125] The exemplary embodiment refers to packets, however, it should be understood that other embodiments may be used with any other suitable data unit.
[0126] The feedback path between the receiving device and the transmitting device may be provided by any suitable connection. By way of example only, the connection may be provided by a VPN (virtual private networking) connection.
[0127] In the above example, data from each stream is first checked to determine jitter and delay. This can be useful if a first determination is made as to whether all streams are operating within the allowed delay and / or jitter parameters. If so, no combining of data from the two streams is performed.
[0128] In some embodiments, the determination of jitter and / or delay associated with each individual data stream may be omitted, and only the combined data stream is analyzed to determine delay and / or jitter information.
[0129] In the above example, both jitter and delay variation are determined. If only delay is considered, then no jitter determination may be performed for the two streams.
[0130] In some embodiments, packet jitter or packet delay variation may be used as a measure of jitter. Packet jitter is the variation in latency measured in the variability of end-to-end delay over time across a network. Packet jitter may be expressed as the average deviation from the mean delay.
[0131] In the foregoing example, the arrival time may be determined relative to a reference starting point. In some embodiments, the received packet may include timestamp information. Alternatively or additionally, this timestamp information may be used to determine delay and / or jitter information.
[0132] Some embodiments may be protocol agnostic, thus taking advantage of connectivity options supported by the transmitting device.
[0133] Some embodiments apply to the application layer on both the transmitting device and the receiver side, and some embodiments may be independent of lower layer or network layer configurations.
[0134] Where there are several different communication technologies available, some embodiments may be used.
[0135] The application range of the embodiment is wide.
[0136] For example, some embodiments may be used for communications in a power grid network. For example, a receiver and a controller may be located in one substation and a transmitter may be located in another substation. In another example, a receiver and a controller may be located in a substation and a transmitter may be located in a voltage regulator. In another example, a receiver and a controller may be located in a substation and a transmitter may be located in a capacitor bank. In another example, a receiver and a controller may be located in a substation and a transmitter may be located in a distribution entity.
[0137] Some embodiments may be provided in a so-called smart city environment: the receiver and the controller may be provided in a control entity, and the transmitter may be provided in entities such as CCTV (closed circuit television), electric vehicle charging points, sensors, and smart meters.
[0138] Some embodiments may be provided in a transportation infrastructure: the receiver and controller may be provided in a control entity, and the transmitter may be provided in a vehicle.
[0139] Embodiments may be provided to support any of the applications in Table 1, as well as in any other suitable scenario.
[0140] See Figure 6 which illustrates a method. The method may be performed by an apparatus, which may be as described in relation to Figure 5. The apparatus may be provided by or in the receiving device.
[0141] The method includes, in A1, determining delay information and / or jitter information for a first plurality of data units in a first data transmission, the first plurality of data units in the first transmission being received by a receiving device via a plurality of different connections from a transmitting device.
[0142] The method includes, in A2, determining, in response to the determined delay information and / or jitter information of the plurality of data units, which one or more of the second plurality of data units should provide redundant data for a second transmission of the second plurality of data units, the second transmission being received by the receiving device via a plurality of different connections between the transmitting device and the receiving device, the second transmission following the first transmission.
[0143] The method includes, at A3, causing the transmitter to provide information regarding which one or more of the second plurality of data units should provide redundant data.
[0144] Please refer to Fig. 7 which illustrates a method. The method may be performed by an apparatus. This apparatus may be as described in relation to Fig. 5. The apparatus may be provided by or in the transmitting device.
[0145] The method includes, at B1, causing a first transmission of a first plurality of data units from a transmitting device to a receiving device over a plurality of different connections.
[0146] The method includes, at B2, receiving information indicating which one or more of the second plurality of data units should provide redundant data for a second transmission of the second plurality of data units from the transmitting device to the receiving device.
[0147] The method includes, at B3, causing a second transmission of a second plurality of data units from the transmitting device to the receiving device over the plurality of connections in accordance with the received information.
[0148] Some embodiments may be implemented by computer software executable by a processor, by hardware, or by a combination of software and hardware. Computer software or programs, also referred to as program products, including software routines, applets, and / or macros, may be stored on any device-readable data storage medium and include program instructions for performing specific tasks. A computer program product may include one or more computer-executable components configured to perform an embodiment when the program is executed. The one or more computer-executable components may be at least one software code or a portion thereof.
[0149] [Note] (1) An apparatus (12) comprising: determining delay and / or jitter information for a first plurality of data units in a first data transmission, the first plurality of data units in the first transmission being received by a receiving device via a plurality of different connections from a transmitting device; determining, in response to the determined delay and / or jitter information of the first plurality of data units, which one or more of the second plurality of data units should provide redundant data for a second transmission of a second plurality of data units, the second transmission being received by the receiving device via the plurality of different connections between the transmitting device and the receiving device, the second transmission following the first transmission; causing the transmitter to provide information regarding which one or more of the second plurality of data units should provide redundant data. The device comprises at least one integrated circuit (21) configured to:
[0150] (2) The apparatus of item (1), wherein the at least one integrated circuit is configured to determine delay information and / or jitter information for the first plurality of data units in the first data transmission based on the order in which the first plurality of data units are received.
[0151] (3) The apparatus of item (1) or (2), wherein the at least one integrated circuit (21) is configured to cause the apparatus to determine, for each data unit of the first plurality of data units of the first transmission, when that data unit is received at the receiving device.
[0152] (4) The device described in item (3), wherein the at least one integrated circuit (21) is configured to cause the device to determine when each of the first plurality of data units of the first transmission is received relative to a common time reference.
[0153] ( 5) The apparatus of any one of the preceding items, wherein the at least one integrated circuit (21) is configured to cause the apparatus to determine that one or more of the delay and jitter targets cannot be achieved for the second transmission and, accordingly, to provide an indication thereof on a user interface (19).
[0154] (6) The apparatus of any one of the preceding items, wherein the integrated circuit (21) is configured to cause the apparatus to determine that one or more delay and jitter targets cannot be achieved for the second transmission using the plurality of different connections used for the first transmission, and to determine, in response, one or more additional connections to be used together with the plurality of different connections for the second transmission.
[0155] (7) The apparatus of any one of the preceding items, wherein the at least one integrated circuit (21) is configured to cause the apparatus to determine, for the second transmission received at the receiver, quality of service metrics of one or more connections used for the second transmission, and to provide an indication of this on a user interface in response to determining a degradation in the respective quality of service metric of the respective connection.
[0156] ( 8) The apparatus of any one of the preceding items, wherein the at least one integrated circuit (21) is configured to cause the apparatus to determine, for the second transmission received at the receiver, quality of service metrics of one or more connections used for the second transmission, and to cause the transmitting device to remove the respective connection from the plurality of connections used for transmitting data units of the second transmission in response to determining a degradation in the quality of service metric of the respective connection of the plurality of connections used for the second transmission.
[0157] (9) The at least one integrated circuit (21) is provided in the device. determining a delay deviation representing an amount by which the delay deviates from a reference delay value as the delay information; and A jitter deviation representing an amount by which the jitter deviates from a reference jitter value is determined as the jitter information. 10. The apparatus of any one of the preceding items, configured to cause one or more of:
[0158] (10) An apparatus (15) comprising: causing a first transmission of a first plurality of data units from the transmitting device to the receiving device over a plurality of different connections; receiving information indicating which one or more of the second plurality of data units should provide redundant data for a second transmission of the second plurality of data units from the transmitting device to the receiving device; causing the second transmission of the second plurality of data units from the transmitting device to the receiving device over the plurality of different connections in accordance with the received information. The device comprises at least one integrated circuit (21) configured to:
[0159] (11) One or more of the plurality of different connections Bluetooth®, Wi-Fi, Ethernet®, optical, and mobile connectivity 10. The apparatus of any one of the preceding items, provided by one or more of:
[0160] (12) The first plurality of data units of the first transmission and the second plurality of data units of the second transmission are Internet of Things applications, industrial applications, protection applications, distance protection applications, differential protection applications, factory applications, substation applications, automation applications, substation automation applications, and factory automation applications 10. The apparatus of any one of the preceding items, associated with one or more of:
[0161] (13) determining delay and / or jitter information for a first plurality of data units in a first data transmission, the first plurality of data units in the first transmission being received by a receiving device via a plurality of different connections from a transmitting device; determining, in response to the determined delay and / or jitter information of the first plurality of data units, which one or more of the second plurality of data units should provide redundant data for a second transmission of a second plurality of data units, the second transmission being received by the receiving device via the plurality of different connections between the transmitting device and the receiving device, the second transmission following the first transmission; causing the transmitter to provide information regarding which one or more of the second plurality of data units should provide redundant data; and A method comprising:
[0162] (14) causing a first transmission of a first plurality of data units from a transmitting device to a receiving device over a plurality of different connections; receiving information indicating which one or more of the second plurality of data units should provide redundant data for a second transmission of the second plurality of data units from the transmitting device to the receiving device; causing a second transmission of the second plurality of data units from the transmitting device to the receiving device over the plurality of different connections in accordance with the received information; A method comprising:
[0163] (15) A computer program comprising computer executable code that, when executed on at least one processor, causes the computer program to perform the method according to item (13) or (14).
[0164] The foregoing description has provided a complete and informative description of exemplary embodiments of the present invention, by way of non-limiting example. However, various modifications and adaptations will become apparent to those skilled in the art in light of the foregoing description, when read in conjunction with the accompanying drawings and the appended claims. However, all such and similar modifications of the teachings of this invention fall within the scope of the present invention, as defined by the appended claims. Indeed, there are further embodiments that involve combinations of one or more of the embodiments with any of the other embodiments described above.
Claims
1. An apparatus (12) comprising: determining delay and / or jitter information for a first plurality of data units in a first data transmission, the first plurality of data units in the first transmission being received by a receiving device via a plurality of different connections from a transmitting device e; determining, in response to the determined delay and / or jitter information of the first plurality of data units, which one or more of the second plurality of data units should provide redundant data for a second transmission of a second plurality of data units, the second transmission being received by the receiving device via the plurality of different connections between the transmitting device and the receiving device, the second transmission following the first transmission; causing the transmitter to provide information regarding which one or more of the second plurality of data units should provide redundant data. The device comprises at least one integrated circuit (21) configured to:
2. 2. The apparatus of claim 1, wherein the at least one integrated circuit is configured to determine delay and / or jitter information for the first plurality of data units in the first data transmission based on an order in which the first plurality of data units are received.
3. 3. The apparatus of claim 1, wherein the at least one integrated circuit (21) is configured to cause the apparatus to determine, for each data unit of the first plurality of data units of the first transmission, when that data unit is received at the receiving device.
4. 4. The apparatus of claim 3, wherein the at least one integrated circuit (21) is configured to cause the apparatus to determine when each of the first plurality of data units of the first transmission is received relative to a common time reference.
5. 10. The apparatus of claim 1, wherein the at least one integrated circuit (21) is configured to cause the apparatus to determine that one or more of a delay target and a jitter target cannot be achieved for the second transmission, and accordingly provide an indication of this on a user interface (19).
6. 10. The apparatus of claim 9, wherein the integrated circuit (21) is configured to cause the apparatus to determine that one or more delay and jitter targets cannot be achieved for the second transmission using the plurality of different connections used for the first transmission, and to determine accordingly one or more additional connections to be used together with the plurality of different connections for the second transmission.
7. 10. The apparatus of claim 1, wherein the at least one integrated circuit (21) is configured to cause the apparatus to determine, for the second transmission received at the receiver, quality of service metrics of one or more connections used for the second transmission, and to provide an indication of this on a user interface in response to determining a degradation in the respective quality of service metric of the respective connection.
8. 10. The apparatus of claim 9, wherein the at least one integrated circuit (21) is configured to cause the apparatus to determine, for the second transmission received at the receiver, quality of service metrics of one or more connections used for the second transmission, and to cause the transmitting device to remove the respective connection from the plurality of connections used for transmitting data units of the second transmission in response to determining a degradation in the quality of service metric of the respective connection of the plurality of connections used for the second transmission.
9. The at least one integrated circuit (21) provides the device with: determining a delay deviation representing an amount by which the delay deviates from a reference delay value as the delay information; and A jitter deviation representing an amount by which the jitter deviates from a reference jitter value is determined as the jitter information.
10. An apparatus according to any one of the preceding claims, configured to cause one or more of:
10. An apparatus (15) comprising: causing a first transmission of a first plurality of data units from the transmitting device to the receiving device over a plurality of different connections; receiving information indicating which one or more of the second plurality of data units should provide redundant data for a second transmission of the second plurality of data units from the transmitting device to the receiving device; causing the second transmission of the second plurality of data units from the transmitting device to the receiving device over the plurality of different connections in accordance with the received information. The device comprises at least one integrated circuit (21) configured to:
11. one or more of the plurality of different connections Bluetooth® connection, Wi-Fi connection, Ethernet® connection, optical connection, and mobile communication connection 10. An apparatus according to any one of the preceding claims, provided by one or more of:
12. the first plurality of data units of the first transmission and the second plurality of data units of the second transmission Internet of Things applications, industrial applications, protection applications, distance protection applications, differential protection applications, factory applications, substation applications, automation applications, substation automation applications, and factory automation applications 10. An apparatus according to any one of the preceding claims, associated with one or more of:
13. determining delay and / or jitter information for a first plurality of data units in a first data transmission, the first plurality of data units in the first transmission being received by a receiving device via a plurality of different connections from a transmitting device; determining, in response to the determined delay and / or jitter information of the first plurality of data units, which one or more of the second plurality of data units should provide redundant data for a second transmission of a second plurality of data units, the second transmission being received by the receiving device via the plurality of different connections between the transmitting device and the receiving device, the second transmission following the first transmission; causing the transmitter to provide information regarding which one or more of the second plurality of data units should provide redundant data; A method comprising:
14. causing a first transmission of a first plurality of data units from a transmitting device to a receiving device over a plurality of different connections; receiving information indicating which one or more of the second plurality of data units should provide redundant data for a second transmission of the second plurality of data units from the transmitting device to the receiving device; According to the received information, the receiving device receives the information from the transmitting device via the plurality of different connections. causing a device to perform the second transmission of the second plurality of data units; A method comprising:
15. A computer program comprising computer executable code which, when executed on at least one processor, causes the computer program to perform the method of claim 13 or 14.