Patent ID: 8670314

Claim:
A distributed embedded real-time controller area network system for a vehicle comprising: a communication bus for transmitting messages within the controller area network system; a plurality of nodes forming a plurality of communication endpoints that are communicably coupled by the communication bus, wherein each node comprises: at least one application component for generating vehicle operation data; an electronic control unit in communication with the at least one application component, the electronic control unit generating a message containing the vehicle operation data, the electronic control unit functioning in an event-triggered mode to initiate a transmission of the message to the communication bus, the electronic control unit including a sender buffer for storing the generated message; a bus controller that interfaces with the electronic control unit, the bus controller managing the transfer of messages to and from the communication bus, the transfer of messages onto the communication bus being executed by the controller area network controller on an interrupt basis, the bus controller being unavailable to receive a message from the electronic control unit when a previous message stored within a memory of the bus controller is awaiting transmission on the communication bus, and wherein the bus controller is available to receive a message from the electronic control unit when the memory is empty; wherein the sender buffer stores messages received from the electronic control unit when the bus controller is unavailable, wherein the electronic control unit further includes a traffic shaping module for selectably delaying a transfer of messages to the bus controller; wherein an enqueuing task module manages a transfer of messages from the electronic control unit to the sender buffer, wherein the enqueuing task module determines whether an empty cell is available within the sender buffer, and wherein the message is stored in the empty cell in response to the empty cell being available in the sender buffer; and wherein the sender buffer includes a sender message link list for maintaining a priority ordering of the stored messages, wherein the enqueuing task module adds the message to the sender message link list.