Controller area network (can) worst-case message latency with priority inversion
US-2015063120-A1 · Mar 5, 2015 · US
US9888079B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9888079-B2 |
| Application number | US-201514813828-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 30, 2015 |
| Priority date | Jul 30, 2015 |
| Publication date | Feb 6, 2018 |
| Grant date | Feb 6, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A controller area network has a plurality of nodes in communication through a bus. The nodes have controllers and computer readable instructions that, when executed, perform the steps of: receiving a new message; inserting the new message into the queue in order of priority if the queue is not full; refusing the new message if the queue is full and the priority of the new message is lower than the priorities of current messages in the queue; inserting the new message into the queue in order of priority if the queue is full and the priority of the new message is higher than a priority of at least one of the current messages; removing the new message from the queue if the current time exceeds an expiration indicator; sending the new message to the controller for transmission and holding the new message in the queue during transmission; and removing the new message from the queue after successful transmission.
Opening claim text (preview).
What is claimed is: 1. An aircraft comprising a controller area network, the controller area network comprising: a plurality of nodes in communication through a bus, at least one of the plurality of nodes comprising a controller and a queue manager module including computer readable instructions that, when executed by a processor, perform the steps of: receiving a new message to be inserted into a queue of the at least one of the plurality of nodes, the new message having a priority and an expiration indicator; inserting the new message into a position in the queue in order of priority when the queue is not full; refusing the new message when the queue is full and the priority of the new message is lower than priorities of current messages in the queue; inserting the new message into a position in the queue in order of priority when the queue is full and the priority of the new message is higher than a priority of at least one of the current messages in the queue and removing the at least one of the current messages from the queue; removing the new message from the queue when a current time exceeds the expiration indicator of the new message; sending the new message to the controller for transmission when the new message is first in the queue; holding the new message in the queue during transmission; and removing the new message from the queue after receipt of an indication of successful transmission from the controller. 2. The aircraft of claim 1 , wherein the computer readable instructions further perform the steps of: sending an abort command to the controller and maintaining the new message in the queue when a newer message is received by the at least one of the plurality of nodes during the transmission of the new message and the newer message has a priority that is higher than the new message; and sending an abort command to the controller and removing the new message from the queue when the new message exceeds the expiration indicator during transmission of the new message. 3. The aircraft of claim 2 , wherein the computer readable instructions further perform the step of removing the new message from the queue after receipt of an indication of transmission abort success from the controller. 4. The aircraft of claim 1 , wherein the at least one of the plurality of nodes is a line replaceable unit. 5. The aircraft of claim 4 , wherein the line replaceable unit is one of a proximity detector, and ice detector, a control panel, a sensor, a motor controller, or a smart sensor. 6. The aircraft of claim 1 , wherein when the queue is full and the priority of the new message is higher than a priority of a plurality of the current messages in the queue, the at least one of the current messages removed from the queue is the current message of the plurality of the current messages in the queue that has the least amount of time to reach its corresponding expiration indicator and has the lowest priority of the plurality of the current messages. 7. The aircraft of claim 1 , wherein when the queue is full and the priority of the new message is higher than a priority of a plurality of the current messages in the queue, the at least one of the current messages returned removed from the queue is the current message of the plurality of the current messages in the queue that has been in the queue for the longest time compared to the other of the plurality of current messages and has the lowest priority of the plurality of the current messages. 8. A method for managing messages on a controller area network comprising a plurality of nodes in communication through a bus, the method comprising the steps of: receiving a new message to be inserted into a queue of one of the plurality of nodes, the new message having a priority and an expiration indicator; inserting the new message into a position in the queue in order of priority when the queue is not full; refusing the new message when the queue is full and the priority of the new message is lower than priorities of current messages in the queue; inserting the new message into a position in the queue in order of priority when the queue is full and the priority of the new message is higher than a priority of at least one of the current messages in the queue and removing the at least one of the current messages from the queue; removing the new message from the queue when a current time exceeds the expiration indicator of the new message; sending the new message to a controller of the one of the plurality of nodes for transmission when the new message is first in the queue; holding the new message in the queue during transmission; and removing the new message from the queue after receipt of an indication of successful transmission from the controller. 9. The method of claim 8 , further comprising the steps of: sending an abort command to the controller and maintaining the new message in the queue when a newer message is received by the node during the transmission of the new message and the newer message has a priority that is higher than the new message; and sending an abort command to the controller and removing the new message from the queue when the new message exceeds the expiration indicator during transmission of the new message. 10. The method of claim 9 , further comprising the step of removing the new message from the queue after receipt of an indication of transmission abort success from the controller. 11. The method of claim 8 , wherein the node comprises one of a proximity detector, and ice detector, a control panel, a sensor, a motor controller, or a smart sensor. 12. The method of claim 8 , wherein when the queue is full and the priority of the new message is higher than a priority of a plurality of the current messages in the queue, the at least one of the current messages removed from the queue is the current message of the plurality of the current messages in the queue that has the least amount of time to reach its corresponding expiration indicator and has the lowest priority of the plurality of the current messages. 13. The method of claim 8 , wherein when the queue is full and the priority of the new message is higher than a priority of a plurality of the current messages in the queue, the at least one of the current messages returned removed from the queue is the current message of the plurality of the current messages in the queue that has been in the queue for the longest time compared to the other of the plurality of current messages and has the lowest priority of the plurality of the current messages. 14. A controller area network comprising: at least one node in communication with other nodes through a bus, the at least one node comprising a controller and a queue manager module including computer readable instructions that, when executed by a processor, perform the steps of: receiving a new message to be inserted into a queue of the at least one node, the new message having a priority and an expiration indicator; inserting the new message into a position in the queue in order of priority when the queue is not full; refusing the new message when the queue is full and the priority of the new message is lower than priorities of current messages in the queue; inserting the new message into a position in the queue in order of priority when the queue is full and the priority of the new message is higher than a priority of at least one of the current messages in the queue and removing the at least one of the current messages from the queue; removing the new message from the queue when a current time exceeds the expiration indicator of the new message; sending
Interconnection of networks · CPC title
Electricity · mapped topic
specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks · CPC title
taking into account QoS or priority requirements · CPC title
replacing packets in a storage arrangement, e.g. pushout · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.