SE540244C2 - Method in a bus gateway for load balancing traffic for non-cyclic messages between different segments of the bus - Google Patents
Method in a bus gateway for load balancing traffic for non-cyclic messages between different segments of the busInfo
- Publication number
- SE540244C2 SE540244C2 SE1651265A SE1651265A SE540244C2 SE 540244 C2 SE540244 C2 SE 540244C2 SE 1651265 A SE1651265 A SE 1651265A SE 1651265 A SE1651265 A SE 1651265A SE 540244 C2 SE540244 C2 SE 540244C2
- Authority
- SE
- Sweden
- Prior art keywords
- bus
- traffic load
- messages
- segments
- gateway
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Method (300) and gateway (130) of a bus (100), comprising a plurality of segments (101 , 102, ..., 10n), for load balancing of traffic load for non-cyclic messages between the different segments (101 , 102, ..., 10n) comprised in the bus (100). The method (300) comprises determining (301) the respective traffic load (201 , 202) of the segments (101 , 102, ..., 10n); calculating (302) traffic load differences between the respective traffic load (201 , 202); determining (303) the largest traffic load difference of the traffic load differences and comparing (304) it with a threshold limit; sending (305) messages (210) on the segment (101 , 102, ..., 10n) having the lowest traffic load (201 , 202), with a frequency based on the traffic load difference; and iterating (306) the method (300) according to steps 301-305 until the largest traffic load difference is lower than the threshold limit value for all segments (101 , 102, ..., 10n).
Description
METHOD IN A GATEWAY OF A BUS FOR LOAD BALANCING OF TRAFFIC FOR NON-CYCLIC MESSAGES BETWEEN DIFFERENT SEGMENTS OF THE BUS TECHNICAL FIELD This document relates to a method and a gateway of a bus. More particularly, a method and a gateway is provided for a bus comprising a plurality of segments, for load balancing of traffic load for non-cyclic messages between the different segments of the bus.
BACKGROUND A Controller Area Network (CAN) bus is a vehicle computer system bus standard designed to allow microcontrollers and devices to communicate with each other in applications without a host computer. It is a message-based protocol, designed originally for multiplex electrical wiring within automobiles, but is also used in many other contexts.
In CAN networks, the load balancing is done (calculated) at design and depending on network structure and implemented distributed functionality it might differ from the real product. This becomes a problem for a vehicle manufacturer producing modular vehicles. It then becomes very difficult to make the correct calculations for an appropriate load balancing for all vehicles.
Another thing adding to the problem is non-cyclic messages such as diagnosis, where a burst of network traffic can happen at ‘any-time’.
When sending large amount of non-cyclic data such as when reading out vehicle information with remote diagnostics, downloading new software or making a performance test at a workshop, the CAN gateway becomes ‘choked’ by messages and start losing CAN-frames as the reception buffer is overflown.
CAN traffic of the bus is regulated by CAN priority and the gateway stores the messages in a buffer between the different network segments. One problem occurs when the load on the network segments are non-equal and the incoming messages are at a higher rate than the gateway can send out on the other side. When the respective network load of the network segments is reasonable equal, the priority (arbitration) of the CAN-protocol takes care of the flow and slows down the sending frequency of the nodes.
Bus arbitration is a procedure in bus communication that chooses between connected devices contending for control of the shared bus. The device currently in control of the bus may be termed the bus master. Devices attached to the bus may be allocated differing priority levels that will determine the choice of bus master in case of contention. A device not currently bus master must request control of the bus before attempting to initiate a data transfer via the bus. Typically, only one device may be bus master at any time and that all other devices act as slaves to this master. Only a bus master may initiate a normal data transfer on the bus; slave devices respond to commands issued by the current bus master by supplying data requested or accepting data sent.
Documents US2008010702 and US2002065973 show methods for communication on a CAN data link on a vehicle. On these data link dummy messages/ signals are transmitted in order to occupy the link until data messages/ signals are processed. US2008010702 also discusses different priority levels for the dummy messages in order to be able to occupy the communication link.
None of these documents mention that the signals are sent in order to perform an arbitration change on the network.
In documents W0200171991 and US20050060442, empty messages are transmitted in order to avoid congestion on a network. The empty messages are sent continuously with real messages and the pool/ rate is adapted based on application or message sizes. Arbitration is however not changed, instead transmission of messages is prevented or delayed.
It would thus be desired to improve traffic flow control of a multi-master serial bus.
SUMMARY It is therefore an object of this invention to solve at least some of the above problems and improve traffic flow control of a computer system bus.
According to a first aspect of the invention, this objective is achieved by a method in a gateway of a bus, comprising a plurality of segments, for load balancing of traffic load for noncyclic messages having a first priority level between the different segments comprised in the bus. The method comprises determining the respective traffic load of the segments of the bus. The method also comprises calculating the respective traffic load difference between the determined respective traffic load. Further, the method also comprises determining the largest traffic load difference of the calculated traffic load differences. The method additionally comprises comparing the determined largest traffic load difference with a threshold limit value and when the load difference exceeds threshold limit value the method also comprises sending a set of messages, where the messages is any arbitrary message that does not contain any valid data, on the segment of the bus having the lowest determined traffic load, with a frequency based on the calculated respective traffic load difference, wherein the set of messages has a priority level exceeding the first priority level of non-cyclic messages but not exceeding a second priority level. The method further comprises iterating the method according to the previously discussed method steps until the determined largest traffic load difference is lower than the threshold limit value for all segments.
According to a second aspect of the invention, this objective is achieved by a gateway of a bus, comprising a plurality of segments, for load balancing of traffic load for non-cyclic messages having a first priority level between the different segments comprised in the bus. The gateway is configured to determine the respective traffic load of the segments of the bus. Further, the gateway is configured to calculate the respective traffic load difference between the determined respective traffic load of the segments. The gateway is in addition configured to determine the largest traffic load difference of the calculated traffic load differences. Furthermore, the gateway is configured to compare the determined largest traffic load difference with a threshold limit value and when the load difference exceeds a threshold limit value the gateway is configured to send a set of messages, where the messages is any arbitrary message that does not contain any valid data, on the segment of the bus having the lowest determined traffic load, with a frequency based on the calculated respective traffic load difference, wherein the set of messages has a priority level exceeding the first priority level of non-cyclic messages but not exceeding a second priority level. The gateway is also configured to generate control signals to iterate the method according to the first aspect of the invention until the calculated traffic load difference is lower than the threshold limit value for all segments.
Thanks to the described aspects, by detecting a difference in load between different segments of the bus exceeding a threshold value, and emitting dummy messages on the low loaded side of the gateway, it becomes possible to dynamically regulate the bus load with the standard regulating mechanism in the bus protocol. The consequence is lower difference in traffic load between different bus segments which means that the gateway is no longer ‘choked’ and no, or at least fewer messages will be lost.
Other advantages and additional novel features will become apparent from the subsequent detailed description.
FIGURES Embodiments of the invention will now be described in further detail with reference to the accompanying figures, in which: Figure 1A illustrates a bus and a gateway according to an embodiment of the invention; Figure 1B illustrates a bus and a gateway according to an embodiment of the invention; Figure 2 is a combined signalling scheme and flowchart illustrating signal transmission according to some embodiments; Figure 3 is a flow chart illustrating an embodiment of the method; Figure 4 is an illustration depicting a system according to an embodiment.
DETAILED DESCRIPTION Embodiments of the invention described herein are defined as a method and a gateway, which may be put into practice in the embodiments described below. These embodiments may, however, be exemplified and realised in many different forms and are not to be limited to the examples set forth herein; rather, these illustrative examples of embodiments are provided so that this disclosure will be thorough and complete.
Still other objects and features may become apparent from the following detailed description, considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the herein disclosed embodiments, for which reference is to be made to the appended claims. Further, the drawings are not necessarily drawn to scale and, unless otherwise indicated, they are merely intended to conceptually illustrate the structures and procedures described herein.
Figure 1A illustrates a bus 100. The bus 100 may be a multi-master serial bus such as e.g. a Controller Area Network (CAN) bus, a Media Oriented Systems Transport (MOST) bus, or similar, in a vehicle. The bus 100 comprises a plurality of segments, such as e.g. a first segment 101 and a second segment 102.
In the non-limiting illustrated example of the bus 100, the first segment 101 of the bus 100 extends from a first node 110 and a gateway 130, while the second segment 102 of the bus 100 extends from a second node 120 and the gateway 130. The nodes 110, 120 may also be referred to as Electronic Control Units (ECUs). The nodes 110, 120 connected to the bus 100 may typically comprise e.g. sensors, actuators, and other control devices of the vehicle. These devices may be connected to the bus 100 through a host processor, a controller, and a transceiver. However, any of the nodes 110, 120 may also be a gateway in some embodiments, allowing a computer to communicate over e.g. a Universal Serial Bus (USB) or Ethernet port to the nodes 110, 120 on the bus 100. The communication over the segments 101 , The traffic load on the respective segments 101 , 102 of the bus 100 may be very different, e.g. when non-cyclic messages such as diagnosis are transmitted over the bus 100.
To regulate the traffic, the gateway 130 overviews the load of the connected bus segments 101 , 102. When the load difference between bus segments 101 , 102 exceeds a threshold limit value and the buffers starts to fill up, the gateway 130 starts sending out dummy messages on the bus segments 101 , 102 having the lowest load, in order to increase the load of that bus segment 101 , 102.
The expression “dummy message”, as utilised herein, is any arbitrary message that does not contain any valid data. The priority of the dummy message transmitted by the gateway 130 is higher than the non-cyclic messages but lower than the cyclic functional messages.
Since the dummy messages have higher priority than the non-cyclic messages, an increased number of dummy messages will decrease the number of non-cyclic messages due to a mechanism called arbitration, which is a property of e.g. the CAN protocol, for details see International Organisation for Standardisation (ISO) 11898.
The CAN communication protocol is a carrier-sense, multiple-access protocol with collision detection and arbitration on message priority (CSMA/CD+AMP), in some embodiments. CSMA means that each node 110, 120 on the bus 100 must wait for a prescribed period of inactivity before attempting to send a message. CD+AMP means that collisions are resolved through a bit-wise arbitration, based on a preprogrammed priority of each message in the identifier field of a message. The higher priority identifier always wins bus access. That is, the last logic-low, i.e. 0, in the identifier keeps on transmitting because it is the highest priority. Since every node 110, 120 on the bus 100 takes part in writing every bit "as it is being written", an arbitrating node 110, 120 knows if it placed the logic-low bit on the bus 100.
Thanks to the disclosed solution, it becomes possible to dynamically regulate the bus load with the standard regulating mechanism in e.g. the CAN-protocol. The consequence of the herein described solution will be lower difference in load in non-cyclic messages between the bus segments 101 , 102 which means that the gateway 130 is no longer choked and no, or at least fewer messages will be lost than with conventional methods.
This is an advantage in particular in modular vehicles where the modular system makes it hard to calculate the bus load in advance.
Figure 1B illustrates another embodiment of a bus 100 comprising a plurality of segments 101 , 102, 103, 104, 105, 106, 107, 10n, which are connected to a gateway 130.
The bus 100 may comprise any arbitrary number of segments 101 , 102, ..., 10n in some embodiments.
Figure 2 schematically illustrates signalling in the different bus segments 101 , 102 of the bus 100. In the illustrated non-limiting example, the first node 110 transmits a first traffic load 201 over the first segment 101 of the bus 100 while the second node 120 transmits a second traffic load 202 over the second segment 102 of the bus 100. However, in a general case, Figure 2 may illustrate any two network segments 101 -1 On.
The respective traffic loads 201 , 202 are measured and determined. The difference between the first traffic load 201 and the second traffic load 202 is then compared with a predetermined or configurable threshold limit. In the illustrated example, the first traffic load 201 on the first segment 101 is much larger than the second traffic load 202 on the second segment 102.
The first traffic load 201 of the first segment 101 , and the second traffic load 202 of the second segment 102 of the bus 100, respectively, may be determined based on a respective content of a first receiving buffer of the gateway 130, associated with the first segment 101 and a second receiving buffer of the gateway 130, associated with the second segment 102, in some embodiments.
In case the difference between the respective traffic loads 201 , 202 exceeds the threshold limit, the gateway 130 starts sending a set of messages 210, i.e. dummy messages on the second segment 102 of the bus 100, which has the lowest traffic load 202.
The set of messages 210 may have a priority level exceeding a first priority level but not exceeding a second priority level. The priority level may thus be set to a higher value than non-cyclic messages (i.e. the first priority level) but lower than cyclic messages (i.e. the second priority level).
Since the set of messages 210 sent by the gateway 130 have higher priority than the noncyclic messages, an increased number of dummy messages 210 will decrease the number of non-cyclic messages due to arbitration.
The gateway 130 repeats the measurement of the traffic load 201 , 202 on the respective bus segments 101 , 102, the computation of the difference between the traffic loads 201 , 202, and the comparison between the computed traffic load difference and the threshold limit until the calculated traffic load difference is lower than the threshold limit value. When the traffic load difference is lower than the threshold limit value, the gateway 130, or any of its buffers, is no longer choked.
When the traffic load difference is lower than the threshold limit value, the gateway 130 stops sending dummy messages 210.
These steps may then be iterated in some embodiments, i.e. the respective traffic load 201 , 202 on the respective bus segments 101 , 102 may be measured continuously, the difference between them may be iteratively calculated and compared with the threshold limit.
Figure 3 illustrates an example of a method 300 according to an embodiment. The flow chart in Figure 3 shows the method 300 in a gateway 130 of a bus 100, comprising a plurality of segments 101 , 102, ..., 10n. The method 300 aims at load balancing of traffic load for noncyclic messages between the different segments 101 , 102, ..., 10n comprised in the bus 100.
The bus 100 may be a multi-master serial bus in a vehicle, such as e.g. a modular vehicle.
The vehicle may comprise a means for transportation in broad sense such as e.g. a truck, a car, a motorcycle, a trailer, a bus, a bike, a train, a tram, an aircraft, a watercraft, a cable transport, an aerial tramway, an elevator, a drone, a spacecraft, or other similar manned or unmanned (autonomously controlled or remotely controlled) means of conveyance running e.g. on wheels, rails, air, water or similar media.
In order to correctly be able to perform the load balancing between the different bus segments 101 , 102, ..., 10n, the method 300 may comprise a number of steps 301-306. However, some of these steps 301-306 may be performed in various alternative manners. Further, the described steps 301-306 may be performed in a somewhat different chronological order than the numbering suggests. The method 300 may comprise the subsequent steps: Step 301 comprises determining a respective traffic load 201 , 202 of the segments 101 , 102, ..., 10n of the bus 100.
The traffic load 201 , 202 of each segment 101 , 102, ..., 10n may be determined based on a respective content of a receiving buffer of the gateway 130, associated with the respective segment 101 , 102, ..., 10n.
Step 302 comprises calculating a respective traffic load difference between the determined 301 respective traffic loads 201 , 202.
The traffic load difference may be calculated by subtracting the determined 301 first traffic load 201 from the second traffic load 202, or vice versa. The traffic load difference may thus be an absolute value or modulus. This may then be repeated for traffic loads 201 , 202 on all segments 101 , 102, ..., 10n of the bus 100.
Step 303 comprises determining the largest traffic load difference of the calculated 302 traffic load differences between the determined 301 respective traffic loads 201 , 202. The largest traffic load difference may be determined by comparing the absolute values of the traffic loads 201 , 202 on all segments 101 , 102, ..., 10n of the bus 100.
Step 304 comprises comparing the magnitude of the determined 303 largest traffic load difference with a threshold limit value.
The threshold limit value may be predetermined or configurable.
Step 305 comprises sending a set of messages 210 on the segment 101 , 102, ..., 10n of the bus 100 having the lowest determined 301 traffic load 201 , 202, with a frequency based on the calculated 302 respective traffic load difference, wherein the set of messages 210 has a priority level exceeding a first priority level but not exceeding a second priority level.
The segment 101 , 102, ..., 10n having the lowest determined 301 traffic load 201 , 202 thus has the determined 303 largest traffic load difference, to the traffic load on the segment 101 , 102, ..., 10n having the highest determined 301 traffic load 201 , 202.
Thus, in some embodiments, the frequency, i.e. number of messages per time unit, of the messages 210 to be sent may be high when the determined 303 largest traffic load difference is high, i.e. exceeding a threshold limit value; and vice versa.
In some embodiments, the frequency may be adjusted based on the difference between the maximum, or largest, traffic load of any segment 101 , 102, ..., 10n in the bus 100 and the minimum, or lowest traffic load of any segment 101 , 102, ..., 10n in the bus 100.
The set of messages 210 to be sent has a priority level exceeding a first priority level of noncyclic messages but not exceeding a second priority level of cyclic messages.
The set of messages 210 to be sent may be a dummy message, i.e. a message with a nonsense content or benign information that does not contain any useful data. Thus the set of messages 210 to be sent is used for load balancing and contains any arbitrary data.
Step 306 comprises iterating the method 300 according to steps 301-305 until the determined 303 largest traffic load difference is lower than the threshold limit value for all segments 101 , 102, ..., 10n.
Thus messages 210 may be sent 305 until the difference between the segments 101 , 102, ..., 10n of the bus 100 having the lowest and highest traffic load, respectively, has been evened out.
Thereby the traffic loads 201 , 202 of the different segments 101 , 102, ..., 10n of the bus 100 may be continuously surveyed, and a buffer overflow in the gateway 130 may be avoided.
Figure 4 illustrates an embodiment of a bus 100, comprising a plurality of segments 101 , 102, ..., 10n. The bus 100 also comprises a gateway 130, configured to perform at least some of the previously described steps 301-306 according to the method 300 described above and illustrated in Figure 3, for load balancing of traffic load 201 , 202 for non-cyclic messages between the respective segments 101 , 102, ..., 10n of the bus 100.
The gateway 130 of the bus 100 is configured to determine the respective traffic load 201 , 202 of the segments 101 , 102, ..., 10n of the bus 100. Further, the gateway 130 is configured to calculate the respective traffic load difference between the determined respective traffic load 201 , 202 of the segments 101 , 102, ..., 10n. The gateway 130 is in addition configured to determine the largest traffic load difference of the calculated traffic load differences. Furthermore, the gateway 130 is also configured to compare the determined largest traffic load difference with a threshold limit value. The gateway 130 is further configured to send a set of messages 210 on the segment 101 , 102, ..., 10n of the bus 100 having the lowest determined traffic load 201 , 202, with a frequency based on the calculated respective traffic load difference, wherein the set of messages 210 has a priority level exceeding a first priority level but not exceeding a second priority level. The gateway 130 is also configured to generate control signals to iterate the method 300 according to steps 301-306 until the calculated traffic load difference is lower than the threshold limit value for all segments.
The gateway 130 may in some embodiments be configured to send the message 210, wherein the message 210 is used for load balancing and contains any data.
The gateway 130 may further be configured to send the message 210 with a priority level exceeding a first priority level of non-cyclic messages but not exceeding a second priority level of cyclic messages. In addition, the gateway 130 may also be configured to send dummy messages 210.
The gateway 130 may comprise a first buffer 410 for receiving signals and messages over a first segment 101 from a first node 110 and a second buffer 420 for receiving signals and messages over a second segment 102 from a second node 110, in some embodiments. In a general case, the gateway 130 may comprise a buffer corresponding to each segment 101 , 102. 10n of the bus 100, in some embodiments.
Further, the gateway 130 comprises a processor 430 configured for performing at least some steps 301-306 of the above described method 300, according to some embodiments.
Such processor 430 may comprise one or more instances of a processing circuit, i.e. a Central Processing Unit (CPU), a processing unit, a processing circuit, an Application Specific Integrated Circuit (ASIC), a microprocessor, or other processing logic that may interpret and execute instructions. The herein utilised expression “processor” may thus represent a processing circuitry comprising a plurality of processing circuits, such as, e.g., any, some or all of the ones enumerated above.
Further, the gateway 130 may comprise a signal transmitter 440 in some embodiments. The signal transmitter 440 may be configured for transmitting a signal to various segments 101 , 102, ..., 10n of the bus 100.
Furthermore, the gateway 130 may comprise a memory 450 in some embodiments. The optional memory 450 may comprise a physical device utilised to store data or programs, i.e., sequences of instructions, on a temporary or permanent basis. According to some embodiments, the memory 450 may comprise integrated circuits comprising silicon-based transistors. The memory 450 may comprise e.g. a memory card, a flash memory, a USB memory, a hard disc, or another similar volatile or non-volatile storage unit for storing data such as e.g. ROM (Read-Only Memory), PROM (Programmable Read-Only Memory), EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM), etc. in different embodiments.
The above described method steps 301-306 to be performed in the gateway 130 may be implemented through the one or more processors 430 of the gateway 130, together with a computer program for performing at least some of the functions of the method steps 301 -306. Thus a computer program comprising instructions for performing the method steps 301 306 in the gateway 130 may perform the method 300 for load balancing of traffic load for cyclic messages in the different segments 101 , 102, 10n of the bus 100 comprised in the bus 100 when the computer program is executed in the processor 430 in the gateway 130.
The computer program mentioned above may be provided for instance in the form of a data carrier carrying computer program code for performing at least some of the method steps 301-306 according to some embodiments when being loaded into the one or more processors 430 of the gateway 130. The data carrier may be, e.g., a hard disk, a CD ROM disc, a memory stick, an optical storage device, a magnetic storage device or any other appropriate medium such as a disk or tape that may hold machine readable data in a non-transitory manner. The computer program product may furthermore be provided as computer program code on a server and downloaded to the gateway 130 remotely, e.g., over an Internet or an intranet connection.
The terminology used in the description of the embodiments as illustrated in the accompanying drawings is not intended to be limiting of the described method 300; gateway 130; computer program; and / or bus 100. Various changes, substitutions and / or alterations may be made, without departing from invention embodiments as defined by the appended claims.
As used herein, the term "and/ or" comprises any and all combinations of one or more of the associated listed items. The term “or” as used herein, is to be interpreted as a mathematical OR, i.e., as an inclusive disjunction; not as a mathematical exclusive OR (XOR), unless expressly stated otherwise. In addition, the singular forms "a", "an" and "the" are to be interpreted as “at least one”, thus also possibly comprising a plurality of entities of the same kind, unless expressly stated otherwise. It will be further understood that the terms "includes", "comprises", "including" and / or "comprising", specifies the presence of stated features, actions, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, actions, integers, steps, operations, elements, components, and / or groups thereof. A single unit such as e.g. a processor may fulfil the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. A computer program may be stored/ distributed on a suitable medium, such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms such as via Internet or other wired or wireless communication system.
Claims (6)
1. . A method (300) in a gateway (130) of a bus (100), comprising a plurality of segments (101 , 102, ..., 10n), for load balancing of traffic load for non-cyclic messages having a first priority level between the different segments (101 , 102, ..., 10n) comprised in the bus (100), wherein the method (300) comprises: determining (301) a respective traffic load (201 , 202) of the segments (101 , 102, ..., 10n) of the bus (100); calculating (302) a respective traffic load difference between the determined (301) respective traffic loads (201 , 202); determining (303) the largest traffic load difference of the calculated (302) traffic load differences; comparing (304) the determined (303) largest traffic load difference with a threshold limit value and when the load difference exceeds a threshold limit value; sending (305) a set of messages (210), where the messages is any arbitrary message that does not contain any valid data, on the segment (101, 102, ..., 10n) of the bus (100) having the lowest determined (301) traffic load (201 , 202), with a frequency based on the calculated (302) respective traffic load difference, wherein the set of messages (210) has a priority level exceeding the first priority level of the non-cyclic messages, but not exceeding a second priority level; and iterating (306) the method (300) according to steps 301 -305 until the determined (303) largest traffic load difference is lower than the threshold limit value for all segments (101 , 102, ..., 10n).
2. The method (300) according to claim 1 , wherein the set of messages (210) to be sent (305) is used for load balancing and contains any arbitrary data.
3. A gateway (130) of a bus (100), comprising a plurality of segments (101 , 102, ..., 10n), for load balancing of traffic load for non-cyclic messages having a first priority level between the different segments (101 , 102, ..., 10n) comprised in the bus (100), wherein the gateway (130) is configured to: determine the respective traffic load (201 , 202) of the segments (101 , 102, ..., 10n) of the bus (100); calculate the respective traffic load difference between the determined respective traffic load (201 , 202) of the segments (101 , 102, ..., 10n); determine the largest traffic load difference of the calculated traffic load differences; compare the determined largest traffic load difference with a threshold limit value and when the load difference exceeds a threshold limit value; send a set of messages (210), where the messages is any arbitrary message that does not contain any valid data, on the segment (101 , 102, ..., 10n) of the bus (100) having the lowest determined traffic load (201 , 202), with a frequency based on the calculated respective traffic load difference, wherein the set of messages (210) has a priority level exceeding the first priority level of the non-cyclic messages, but not exceeding a second priority level; and generate control signals to iterate the method (300) according to steps 301 -305 of any of claims 1-2 until the calculated traffic load difference is lower than the threshold limit value for all segments.
4. The gateway (130) according to claim 3, further configured to send the messages (210), wherein the messages (210) is used for load balancing and contains any arbitrary data.
5. A computer program comprising program code for performing a method (300) according to any of claims 1 -2 when the computer program is executed in a processor (430) in a gateway (130), according to any of claims 3-4.
6. A bus (100), comprising: a plurality of segments (101 , 102, ..., 10n); and a gateway (130) according to any of claims 3-4, for load balancing of traffic load for non-cyclic messages between the different segments (101 , 102, ..., 10n) of the bus (100).
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE1651265A SE540244C2 (en) | 2016-09-26 | 2016-09-26 | Method in a bus gateway for load balancing traffic for non-cyclic messages between different segments of the bus |
DE112017004161.9T DE112017004161B4 (en) | 2016-09-26 | 2017-09-14 | Method and control unit for bus traffic flow control |
PCT/SE2017/050904 WO2018056883A1 (en) | 2016-09-26 | 2017-09-14 | Method for load balancing between different bus segments connected to a gateway |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE1651265A SE540244C2 (en) | 2016-09-26 | 2016-09-26 | Method in a bus gateway for load balancing traffic for non-cyclic messages between different segments of the bus |
Publications (2)
Publication Number | Publication Date |
---|---|
SE1651265A1 SE1651265A1 (en) | 2018-03-27 |
SE540244C2 true SE540244C2 (en) | 2018-05-08 |
Family
ID=61691146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE1651265A SE540244C2 (en) | 2016-09-26 | 2016-09-26 | Method in a bus gateway for load balancing traffic for non-cyclic messages between different segments of the bus |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE112017004161B4 (en) |
SE (1) | SE540244C2 (en) |
WO (1) | WO2018056883A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114172760A (en) * | 2021-11-15 | 2022-03-11 | 广州极飞科技股份有限公司 | Communication control method and device, unmanned vehicle, storage medium and electronic equipment |
US12039382B2 (en) * | 2022-02-28 | 2024-07-16 | Bank Of America Corporation | Real time intelligent message bus management tool |
CN117081996B (en) * | 2023-10-16 | 2024-01-05 | 北京乐讯科技有限公司 | Flow control method based on server-side real-time feedback and soft threshold and related equipment |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE0000908L (en) | 2000-03-20 | 2001-09-21 | Ericsson Telefon Ab L M | Load regulation |
WO2002023974A1 (en) | 2000-09-20 | 2002-03-28 | Toyobo Research Center Co., Ltd. | Plant having improved tolerance to various environmental stresses, method of constructing the same and polyamine metabolism-relating enzyme gene |
US20020065973A1 (en) * | 2000-11-30 | 2002-05-30 | Holfelner Brian K. | Method and a apparatus for transmitting data on a can data link |
US7870268B2 (en) | 2003-09-15 | 2011-01-11 | Intel Corporation | Method, system, and program for managing data transmission through a network |
US7783808B2 (en) | 2006-11-08 | 2010-08-24 | Honeywell International Inc. | Embedded self-checking asynchronous pipelined enforcement (escape) |
JP2008283386A (en) * | 2007-05-09 | 2008-11-20 | Toyota Motor Corp | Data relaying device, and on-vehicle communication system |
JP5017231B2 (en) * | 2008-10-20 | 2012-09-05 | 日立オートモティブシステムズ株式会社 | Routing method in in-vehicle gateway device |
JP5007315B2 (en) * | 2009-04-03 | 2012-08-22 | 本田技研工業株式会社 | In-vehicle gateway device |
-
2016
- 2016-09-26 SE SE1651265A patent/SE540244C2/en unknown
-
2017
- 2017-09-14 DE DE112017004161.9T patent/DE112017004161B4/en active Active
- 2017-09-14 WO PCT/SE2017/050904 patent/WO2018056883A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2018056883A1 (en) | 2018-03-29 |
DE112017004161B4 (en) | 2022-12-15 |
DE112017004161T8 (en) | 2019-07-18 |
DE112017004161T5 (en) | 2019-05-02 |
SE1651265A1 (en) | 2018-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10530801B2 (en) | Anomaly detection electronic control unit, onboard network system, and anomaly detection method | |
US11271965B2 (en) | Security system for electronic equipment | |
CN110546921B (en) | Fraud detection method, fraud detection apparatus, and program | |
CN107005449B (en) | Communication system and communication device | |
CN108476162B (en) | Network hub, forwarding method and vehicle-mounted network system | |
US8983714B2 (en) | Failsafe communication system and method | |
US10397332B2 (en) | In-vehicle communication system | |
CN108476161B (en) | Electronic control unit, communication method, and in-vehicle network system | |
US11516045B2 (en) | Anomaly determination method, anomaly determination device, and recording medium | |
US10666457B2 (en) | Relay device | |
WO2018056883A1 (en) | Method for load balancing between different bus segments connected to a gateway | |
KR101400329B1 (en) | Communication system | |
CN109660506B (en) | Method and device for transmitting a message sequence and for identifying attacks on a message sequence | |
CN115580471A (en) | Fraud detection method, fraud detection apparatus, and storage medium | |
CN112787901B (en) | Network hub, forwarding method and vehicle-mounted network system | |
US20210001793A1 (en) | Anomaly handling method and anomaly handling device | |
US20210119819A1 (en) | In-vehicle communication system, in-vehicle relay device, communication program, and communication method | |
JP2008172709A (en) | In-vehicle communication device, in-vehicle communication system, and in-vehicle communication method | |
KR101506301B1 (en) | Traffic signal control system using CAN communication | |
KR20130087326A (en) | System, device and method for controlling flexray network | |
JP5831815B2 (en) | Vehicle communication device | |
US20240031382A1 (en) | In-vehicle apparatus, fraud detection method, and computer program |