Broker-based bus protocol and multi-client architecture
AssigneeExcelfore Corporation
InventorsShrikant Acharya, Anoop Balakrishnan, John Crosbie, Pawel Veselov
Life of this patent
Estimating the term…
Abstract
A system and method for an eSync bus protocol is provided. The eSync bus protocol uses a broker to route communications between electronic devices within an electronic environment, such as within a vehicle or the like. The electronic devices may first register with the broker, and thereafter send messages to the broker for routing to other registered electronic devices. In this way, the broker may as an intermediary to route communications using the eSync bus protocol. A multi-client architecture is also provided in which multiple domains may be defined by the functions performed by electronic devices within a respective domain.
Claims19
A broker device configured to communicate with a plurality of electronic devices in a vehicle, the broker device comprising:
- at least one memory;
- and
- at least one processor configured to:
- cause one or more certificate to be generated using certificate management functionality;
- communicate with the plurality of electronic devices in order to validate whether the electronic devices are entitled to communicate with the broker device, wherein in order to validate a respective electronic device, the broker device accesses a respective certificate generated by the broker device using the certificate management functionality in order to determine whether the respective certificate is indicative of allowing the respective electronic device to communicate via the broker device with other electronic devices in the vehicle;
- responsive to validating the respective electronic device, update one or more tables correlating a non-address indication of the respective electronic device and an address indication of the respective electronic device in order to register the respective electronic device with the broker device, the address indication used by the broker device to route messages to the respective electronic device;
- receive a session key message from a first electronic device, the session key message including an encrypted session key and indicative of a non-address indication of a second electronic device;
- route, using the non-address indication of the second electronic device and the one or more tables, the session key message to the second electronic device;
- receive a session message from one of the first electronic device or the second electronic device, the session message including a message encrypted with the session key, and the non-address indication of the other of the first electronic device or the second electronic device;
- and
- route, using the non-address indication of the other of the first electronic device or the second electronic device and the one or more tables, the session message to the other of the first electronic device or the second electronic device without decrypting or being able to decrypt the session message encrypted with the session key.
A broker device configured to communicate with a plurality of electronic devices in a vehicle, the broker device comprising:
- at least one memory;
- and
- at least one processor configured to:
- communicate with the plurality of electronic devices in order to obtain address indications and to validate whether the electronic devices are entitled to communicate with the broker device, wherein in order to validate a respective electronic device, the broker device receives from the respective electronic device a respective certificate in order to determine whether the respective certificate is indicative of allowing the respective electronic device to communicate via the broker device with other electronic devices in the vehicle;
- responsive to validating the respective electronic device, access the respective certificate in order to determine one or more types of messages that the respective electronic device is entitled to receive or send;
- update one or more tables correlating message types with address indications whereby an address indication of the respective electronic device is correlated with the one or more types of messages that the respective electronic device is entitled to receive or send in order to register the electronic devices with the broker device, the address indication used by the broker device to route messages to the respective electronic device;
- receive, from a sender electronic device selected from the registered electronic devices, a message from one of the plurality of registered electronic devices, the message including a specific message type and a payload, the message not including any address indications for use by the broker device to route the message;
- access the one or more tables correlating the message types to respective address indications of the plurality of electronic devices registered with the broker device in order to determine a subset of the electronic devices correlated to the specific message type;
- generate one or more messages with the payload and the address indications of each of the electronic devices in the subset of the electronic devices;
- and
- transmit the generated one or more messages to each of the electronic devices in the subset of electronic devices.
A broker device configured to communicate with a plurality of electronic devices in a vehicle, the broker device comprising:
- at least one memory;
- and
- at least one processor configured to:
- communicate with the plurality of electronic devices in order to obtain address indications and to validate whether the electronic devices are entitled to communicate with the broker device, wherein in order to validate a respective electronic device, the broker device receives from the respective electronic device a respective certificate in order to determine whether the respective certificate is indicative of allowing the respective electronic device to communicate via the broker device with other electronic devices in the vehicle;
- responsive to validating the respective electronic device, access the respective certificate in order to determine one or more types of messages that the respective electronic device is entitled to receive or send;
- update one or more tables correlating a non-address indication of the respective electronic device with the one or more message types that the respective device is associated with and correlating the non-address indication of the respective electronic device with an address indication of the respective electronic device in order to register the electronic devices with the broker device, the address indication used by the broker device to route messages to the respective electronic device;
- receive, from a sender electronic device selected from the registered electronic devices, a message from one of the plurality of electronic devices, the message including a specific message type and a payload, the message not including any address indications for use by the broker device to route the message;
- responsive to receipt of the message or responsive to separate polling message, the message including the specific message type:
- access the one or more tables correlating the message types to respective non-address indications of the plurality of electronic devices registered with the broker device in order to determine a subset of the electronic devices correlated to the specific message type;
- send, to the sender electronic device, the non-address indications for each of the electronic devices in the subset;
- receive, from the sender electronic device, one or more subsequent messages, the one or more subsequent messages including the non-address indications for each of the electronic devices in the subset;
- access the one or more tables correlating non-address indications with address indications in order to access the address indications correlated to each of the electronic devices in the subset;
- and
- route the one or more subsequent messages to the address indications correlated to each of the electronic devices in the subset.
Dependencies are inferred from the claim text.