CN111385193B - Message routing system and method thereof - Google Patents
Message routing system and method thereof Download PDFInfo
- Publication number
- CN111385193B CN111385193B CN201911166079.4A CN201911166079A CN111385193B CN 111385193 B CN111385193 B CN 111385193B CN 201911166079 A CN201911166079 A CN 201911166079A CN 111385193 B CN111385193 B CN 111385193B
- Authority
- CN
- China
- Prior art keywords
- service
- message
- controller
- controllers
- gateway
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
-
- 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
- H04L12/4015—Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- 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
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4541—Directories for service discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- 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
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- 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
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/627—Controller area network [CAN] identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
- H04W4/203—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for converged personal network application service interworking, e.g. OMA converged personal network services [CPNS]
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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention relates to a message routing system and a method thereof. In order to perform message routing using service-oriented communications without querying a routing database storing all message transmission paths between a plurality of controllers, a message routing system according to an embodiment includes: an adapter configured to convert between a controller area network message for controller area network communication and a service message for service oriented communication; and a gateway configured to receive the offer service message and the service subscription message from the plurality of controllers through the adapter, and set a message transmission path between the plurality of controllers based on the offer service message and the service subscription message.
Description
Technical Field
The present invention relates to a message routing system and method thereof that utilizes service-oriented communications to send and receive Controller Area Network (CAN) messages between a plurality of controllers in a vehicle.
Background
The in-vehicle electronic device may transmit and receive data through the vehicle communication network. Recently, various options have been applied to vehicles, and thus, the complexity of electronic components and communication networks mounted to vehicles has been increasing.
In general, electronic Control Units (ECUs) of in-vehicle electronic devices communicate with each other using CAN. For this purpose, a transmission path of the CAN message must be established between a plurality of controllers. The gateway sets up a transmission path of CAN messages between controllers connected to different CAN channels. The gateway searches the route information by searching the route databases of all controllers, and establishes a message transmission path between two specific controllers according to the search result.
However, the prior art must have a routing database that includes all possible cases of the number of connections between controllers to support various options and specifications. If the options applied to the vehicle or the electronics are increased, the routing database needs to be changed. Thus, it is difficult to manage the routing database. In addition, there is a problem in that routing efficiency is lowered by querying a large routing database.
Disclosure of Invention
An aspect of the present invention is to provide a message routing system and method thereof capable of converting a CAN message into a service message for service-oriented communication and setting a CAN message transmission path between controllers using information included in the service message without querying a routing database storing all message transmission paths between a plurality of controllers.
According to one aspect of the invention, a message routing system includes: an adapter configured to convert between a CAN message for CAN communication and a service message for service-oriented communication; and a gateway configured to receive a service providing message and a service subscribing message from the plurality of controllers through the adapter, and set a message transmission path between the plurality of controllers based on the service providing message and the service subscribing message.
The gateway may extract an Internet Protocol (IP) address of a first controller, which has transmitted a service message among the plurality of controllers, and a first service Identification (ID), extract an IP address of a second controller, which has transmitted a service subscription message among the plurality of controllers, and a second service Identification (ID), and establish a message transmission path based on the IP address of the first controller, the IP address of the second controller, the first service ID, and the second service ID.
The gateway may determine service data to send to the second controller by matching the first service ID and the second service ID, generate a service data message including the service data, and send the service data message to the adapter.
The adapter may convert the service data message into a CAN message and send the CAN message to the second controller.
The gateway may match the first service ID and the second service ID based on a predetermined priority of each of a plurality of service IDs included in the first service ID and the second service ID.
The gateway may further include a memory configured to store an IP address of each of the plurality of controllers, first service information that each of the plurality of controllers is capable of providing, second service information that is requested by each of the plurality of controllers, first and second service IDs corresponding to the first and second service information, and first and second CAN Identifications (IDs) corresponding to the first and second service information.
The adapter may reference the memory and perform the conversion between CAN messages and service messages.
The adapter may be provided with a plurality of adapters corresponding to respective ones of the plurality of controllers, some of the plurality of adapters being included in the gateway, others of the plurality of adapters being provided separately from the gateway.
According to another aspect of the invention, a method of message routing includes: converting Controller Area Network (CAN) messages transmitted from a plurality of controllers into service messages through an adapter; sending the service message to a processor of the gateway; the message transmission path between the plurality of controllers is set based on the offer service message and the service subscription message included in the service message.
Setting the message transmission path may include: extracting an IP address of a first controller, which has transmitted a service providing message among the plurality of controllers, and a first service ID; extracting an IP address of a second controller, which has transmitted a service subscription message among the plurality of controllers, and a second service ID; the message transmission path is established based on the IP address of the first controller, the IP address of the second controller, the first service ID, and the second service ID.
Setting the message transmission path may further include: determining service data transmitted to a second controller by matching the first service ID and the second service ID; a service data message including service data is generated.
The method may further comprise: sending a service data message to the adapter; converting the service data message into a CAN message; and sending a CAN message to the second controller.
Determining the service data transmitted to the second controller may include matching the first service ID and the second service ID based on a predetermined priority of each of a plurality of service IDs included in the first service ID and the second service ID.
Converting the CAN message into the service message may include referencing a memory, wherein the memory is configured to store an IP address of each of the plurality of controllers, first service information that each of the plurality of controllers is capable of providing, second service information that is requested by each of the plurality of controllers, first and second service IDs corresponding to the first and second service information, and first and second CAN IDs corresponding to the first and second service information.
The adapter may be included in the gateway or may be provided separately from the gateway.
The adapter may be provided with a plurality of adapters corresponding to respective ones of the plurality of controllers, some of the plurality of adapters being included in the gateway, others of the plurality of adapters being provided separately from the gateway.
Drawings
These and/or other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter, taken in conjunction with the accompanying drawings, in which:
fig. 1 shows a configuration of a message routing system according to the prior art.
Fig. 2 shows a configuration of a message routing system according to an exemplary embodiment of the present invention.
Fig. 3 shows a configuration of a message routing system according to another exemplary embodiment of the present invention.
Fig. 4 is a flowchart illustrating a message routing method according to an exemplary embodiment of the present invention.
Fig. 5 is a diagram showing the result of message routing.
Detailed Description
Like numbers refer to like elements throughout. Not all elements of the embodiments of the present invention will be described, and descriptions of overlapping one another in the embodiments or well known in the art will be omitted. Terms used throughout the specification, such as "-" part, "module," "member," "block," etc., may be implemented as software and/or hardware, and a plurality of "-" parts, "" modules, "" members, "or" blocks "may be implemented as a single element or a single" - "part," "module," "member," or "block" may include multiple elements.
It will be understood that when an element is referred to as being "connected" to another element, it can be directly or indirectly connected to the other element, with indirect connection including "connection" through a wireless communication network.
When a component "comprises" or "comprising" an element, unless a specific description to the contrary exists, the component may further comprise other elements without excluding other elements.
It will be understood that, although the terms first, second, third, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another element. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
The terms "portion," "unit," "block," "member" or "module" as used herein refer to a unit that can perform at least one function or operation. For example, these terms may refer to at least one process performed by at least one piece of hardware (e.g., a Field Programmable Gate Array (FPGA) and an Application Specific Integrated Circuit (ASIC)) and at least one piece of software stored in a memory or processor.
The identification code is used for convenience of description, but is not intended to illustrate the order of each step. Each step may be implemented in a different order than shown unless the context clearly indicates otherwise.
The principles and embodiments of the present invention will now be described with reference to the accompanying drawings.
Fig. 1 shows a configuration of a message routing system according to the prior art.
Referring to fig. 1, a vehicle includes various electronic devices. For example, the vehicle may include various sensors, such as sensor 1 (100) and sensor 2 (200). Such a sensor may be a camera which takes images of the surroundings of the vehicle and collects image data. Further, the sensor may be a radar that acquires position information, distance information, speed information, and the like of an object (e.g., a vehicle in front, a pedestrian, and the like).
The sensor may include: a speed sensor for detecting a speed, an acceleration sensor for detecting a vehicle acceleration, a yaw rate sensor for detecting a rotational angular speed of the vehicle, a gyro sensor for detecting a tilt of the vehicle, a steering angle sensor for detecting a steering wheel rotation and a steering angle, a temperature sensor for detecting an inside temperature and an outside temperature of the vehicle, an illuminance sensor for detecting an outside illuminance, and the like.
The vehicle may include: an engine management system 310 for generating power, a transmission control system 320 for transmitting power generated by the engine to wheels, a brake system 400 for decelerating or stopping the vehicle, and a vehicle body control system 500 for providing comfort to the driver or ensuring safety of the driver.
The body control system 500 may include: an airbag control device for occupant (e.g., driver) safety purposes in the event of a vehicle collision, an Electronic Stability Control (ESC) for controlling the vehicle's attitude when the vehicle accelerates or turns, a lane keeping assist system and a lane following assist system that assist the driver not to leave the driving lane, and the like.
Each of these electronic devices may include controllers 101, 201, 311, 321, 401, and 501. The controllers 1 to 5 (101, 201, 311, 321, 401, and 501) can control each device. Specifically, the controller 1 (101) may control the sensor 1 (100), and the controller 2 (201) may control the sensor 2 (200). The controller 3-1 (311) may control the engine management system 310. The controller 3-2 (321) may control the transmission control system (320). Controller 4 (401) may control brake system 400. The controller 5 (501) may control the vehicle body control system 500. The controllers 101, 201, 311, 321, 401, and 501 may represent Electronic Control Units (ECUs).
The controllers 101, 201, 311, 321, 401, and 501 may exchange data with each other through a vehicle communication network. As a vehicle communication network, CAN (controller area network) communication is generally utilized.
In CAN communication, a plurality of controllers may be classified and connected to different CAN channels. For example, as shown in fig. 1, the controller 1 (101) may be connected to a first CAN channel (can#1). The controller 2 (201) may be connected to a second CAN channel (can#2). The controller 3-1 (311) and the controller 3-2 (321) may be connected to a third CAN channel (can#3). The controller 4 (401) may be connected to a fourth CAN channel (can#4). The controller 5 (501) may be connected to a fifth CAN channel (can#5).
The gateway 10 performs routing to exchange CAN messages between the plurality of controllers 101, 201, 311, 321, 401, and 501 connected to different CAN channels. For example, in order to transmit a CAN message generated by the controller 1 (101) to the controller 4 (401), a CAN message transmission path connecting the first CAN channel (can#1) to the fourth CAN channel (can#4) must be established.
Unlike communication methods that utilize dynamic and service-oriented ethernet, it is difficult to input an information array in a static CAN communication message because of many limitations. Therefore, a routing database is needed, which includes address information of a source that sends a message and address information of a destination that receives the message.
In other words, when the gateway 10 receives the CAN message, the gateway 10 extracts the CAN ID from the CAN message, inquires of the routing database, and checks whether the extracted CAN ID exists. When there is a message transmission path corresponding to the extracted CAN ID in the routing database, the gateway 10 transmits the CAN message to the corresponding message transmission path.
However, this conventional technology has a problem in that when a controller is added or a physical architecture is changed, all existing routing databases must be changed. That is, if a controller is added, all possible message transmission paths associated with the added controller must be added to the routing database.
In the related art, the gateway 10 broadcasts a received CAN message to all CAN channels and determines a message transmission path according to whether a response message is received. Thus, the message may be unnecessarily sent to a controller that does not require a CAN message.
On the other hand, the invention CAN convert the CAN message into the service message of service-oriented communication, and CAN automatically set the CAN message transmission path between the controllers by utilizing the information included in the service message without inquiring the routing database.
Hereinafter, a message routing system and a message routing method will be described in detail.
Fig. 2 shows a configuration of a message routing system according to an exemplary embodiment of the present invention.
Fig. 3 shows a configuration of a message routing system according to another exemplary embodiment of the present invention.
Referring to fig. 2, a message routing system 1 according to an embodiment may include a plurality of controllers 101, 201, 311, 321, 401, and 501, and a gateway 10. The plurality of controllers 101, 201, 311, 321, 401, and 501 are the same as those described with reference to fig. 1, and redundant description will be omitted.
In addition, some of the plurality of adapters 13-1 and 13-2 may be included in gateway 10, and other of the plurality of adapters 13-1 and 13-2 13-1 may be provided separately from gateway 10. An adapter 13-1 provided outside the gateway 10 may communicate with the gateway 10 via ethernet. That is, the same message routing method can be applied even if the physical architecture of the system changes.
The memory 11 may store: the IP address of each of the plurality of controllers 101, 201, 311, 321, 401, and 501, the first service information that each of the plurality of controllers 101, 201, 311, 321, 401, and 501 CAN provide, the second service information that each of the plurality of controllers 101, 201, 311, 321, 401, and 501 requests, the first service ID and the second service ID corresponding to the first service information and the second service information, respectively, and the first CAN ID and the second CAN ID corresponding to the first service information and the second service information, respectively.
When there are a plurality of memories 11 and processors 12, they may be integrated on one chip or provided in physically separate locations.
The memory 11 may be implemented as at least one of a nonvolatile memory element, a volatile memory device, or a storage medium for storing various information; nonvolatile memory elements such as cache, ROM (read only memory), PROM (programmable ROM), EPROM (erasable programmable ROM), and EEPROM (electrically erasable programmable ROM); volatile memory devices such as RAM (random access memory); storage media such as Hard Disk Drives (HDD) and CD-ROMs. However, the present invention is not limited thereto.
The adapter 13 converts between a CAN message for CAN (controller area network) communication and a service message for service-oriented communication. The adapter 13 may convert CAN messages transmitted from the plurality of controllers 101, 201, 311, 321, 401, and 501 into service messages, and may convert the service messages into CAN messages. The service message includes a offer service message and a service subscription message.
Service-oriented communication is a dynamic communication method that CAN be distinguished from static CAN communication. Service-oriented communication performs data exchange between the plurality of controllers 101, 201, 311, 321, 401, and 501 through a service discovery process and a data access process. The interface for the service-oriented communication may be provided by a service oriented middleware (SOME/IP) protocol based on the Internet protocol. In addition to the SOME/IP protocol, various protocols that may provide service-oriented communications may be applied.
In service-oriented communications, each of the plurality of controllers 101, 201, 311, 321, 401, and 501 may function as a service provider or a service consumer. For example, as shown in fig. 2, the controller 1 (101) of the sensor 1 (100) and the controller 2 (201) of the sensor 2 (200) are service providers, and the controller 3-1 (311) and the controller 4 (401) and the controller 5 (501) may be service consumers. The controller 3-1 (311), the controller 4 (401), and the controller 5 (501) may function as a service provider.
For convenience of explanation, the controller 1 (101) as a service provider is defined as a first controller, and the controller 3-1 (311) as a service consumer is defined as a second controller.
The first controller, which is a service provider, may send a CAN message to the adapter 13, the CAN message including first service information that may be provided by the first controller itself. The adapter 13 may convert the CAN message sent by the first controller into a service providing message. Providing the service message may include: the IP address of the first controller, the first service information that can be provided by the first controller, and the first service ID corresponding to the first service information that can be provided.
Further, the second controller, which is a service consumer, may transmit a CAN message including necessary second service information to the adapter 13. The adapter 13 may convert the CAN message sent by the second controller into a service subscription message. The service subscription message may include: the IP address of the second controller, the second service information requested by the second controller, and the second service ID corresponding to the requested second service information.
The adapter 13 may extract a CAN ID from the CAN message based on the information stored in the memory 11 and convert the CAN message into a service message. Specifically, the adapter 13 may extract a service ID corresponding to the CAN ID with reference to the memory 11, and generate a service message using information related to the extracted service ID.
The adapter 13 may send the converted offer service message and service subscription message to the processor 12 of the gateway 10.
Specifically, the gateway 10 may extract, among the plurality of controllers 101, 201, 311, 321, 401, and 501, an IP address of a first controller (for example, controller 1 (101)) that transmitted the offer service message and the first service ID. The gateway 10 may extract the IP address of the second controller (e.g., controller 3-1 (311)) that transmitted the service subscription message and the second service ID among the plurality of controllers 101, 201, 311, 321, 401, and 501.
The gateway 10 may set a transmission path of the CAN message based on the IP address of the first controller, the IP address of the second controller, the first service ID, and the second service ID. Gateway 10 may locate the controller from its IP address.
The gateway 10 may match the first service ID and the second service ID based on a predetermined priority of each of a plurality of service IDs included in the first service ID and the second service ID.
The gateway 10 may search for the first service information provided by the first controller included in the first service ID and the second service information requested by the second controller included in the second service ID, and match the first service ID and the second service ID by searching for the corresponding service information. The gateway 10 may determine the message transmission path based on the matching result of the first service ID and the second service ID.
Fig. 4 is a flowchart illustrating a message routing method according to an exemplary embodiment of the present invention.
Referring to fig. 4, the message routing system 1 may include: the controller 1 (101) as a service provider, the controller 3-1 (311) as a service consumer, the processor 12 of the gateway 10, and the adapter 13.
For convenience of explanation, the controller 1 (101) as a service provider is defined as a first controller, and the controller 3-1 (311) as a service consumer is defined as a second controller.
The first controller may send a CAN message to the adapter 13 (701) including the first service information that may be provided. The second controller may send a CAN message to the adapter 13 including the required second service information (702).
The adapter 13 may convert the CAN message transmitted by the first controller into a service providing message and transmit the service providing message to the processor 12 (703). The adapter 13 may convert the CAN message sent by the second controller into a service subscription message and send the service subscription message to the processor 12 (704).
The adapter 13 may extract a CAN ID from the CAN message based on the information stored in the memory 11 and convert the CAN message into a service message. Specifically, the adapter 13 may extract a service ID corresponding to the CAN ID with reference to the memory 11, and generate a service message using information related to the extracted service ID.
Providing the service message may include: the IP address of the first controller, first service information that can be provided by the first controller, and a first service ID corresponding to the first service information that can be provided. The service subscription message may include: the IP address of the second controller, the second service information requested by the second controller, and the second service ID corresponding to the requested second service information.
Further, the processor 12 may extract a first service ID corresponding to first service information that may be provided by the first controller from the provide service message. The processor 12 may extract a second service ID corresponding to the second service information requested by the second controller from the service subscription message. Processor 12 may match the extracted first service ID with the extracted second service ID (706).
The first service ID may include a plurality of service IDs corresponding to a plurality of first service information that may be provided by the first controller. The second service ID may include a plurality of service IDs corresponding to the second service information requested by the second controller.
The processor 12 may set a message transmission path based on the IP address of the first controller, the IP address of the second controller, and a matching result of the first service ID and the second service ID (707). That is, the processor 12 may perform message routing based on the IP address of the first controller, the IP address of the second controller, and the matching result of the first service ID and the second service ID.
The processor 12 can determine service data to be transmitted to the second controller (controller 3-1 (311)) by matching the first service ID and the second service ID. Processor 12 may generate and send a service data message including the service data to adapter 13 (708).
The adapter 13 may convert the service data message into a CAN message and transmit the CAN message to the second controller (controller 3-1 (311)) (709).
Fig. 5 is a diagram showing the result of message routing.
Referring to fig. 5, the sensor 1 (100) may provide at least one of the service 1 or the service 2. Sensor 2 (200) may provide service 3 or service 4. The controller 101 of the sensor 1 (100) and the controller 201 of the sensor 2 (200) each send a CAN message to the adapter 13 including the first service information that they CAN provide.
The controller 3-1 (311) may request at least one of service 1, service 3, or service 4. The controller 4 (401) may request at least one of service 2, service 3, or service 4. The controller 5 (501) may request at least one of the combination of service 1 and service 2, service 3, or service 4.
Each of the controller 3-1 (311), the controller 4 (401), and the controller 5 (501) transmits a CAN message including the second service information requested by them to the adapter 13.
The adapter 13 may receive CAN messages from the controller 101 of the sensor 1 (100), the controller 201 of the sensor 2 (200), the controller 3-1 (311), the controller 4 (401), and the controller 5 (501) and convert each CAN message into a provide service message or a service subscription message. The adapter 13 may extract the CAN ID included in the CAN message and generate a service message including a service ID corresponding to the extracted CAN ID. Thus, the offer service message and the service subscribe message may include the IP address and service ID of each controller.
As shown in fig. 5, CAN ID corresponding to service 1 may be 0x0000 and service ID corresponding to service 1 may be S0. The CAN ID corresponding to service 2 may be 0x0001 and the service ID corresponding to service 2 may be S1. The CAN ID corresponding to the combination of service 1 and service 2 may be 0x0002, and the service ID corresponding to the combination of service 1 and service 2 may be S2. The CAN ID corresponding to service 3 may be 0x0003 and the service ID corresponding to service 3 may be S3. The CAN ID corresponding to service 4 may be 0x0004 and the service ID corresponding to service 4 may be S4.
The processor 12 of the gateway 10 receives the offer service message and the service subscription message from the adapter 13 and extracts the IP address of the controller and the service ID included in the offer service message and the service subscription message.
For example, the service providing message transmitted from the controller 101 of the sensor 1 (100) may include service IDs S0, S1, S2 corresponding to the service 1, the service 2, and the combination of the service 1 and the service 2, respectively. That is, the first service ID may include service IDs S0, S1, and S2.
Further, the service subscription message transmitted from the controller 3-1 (311) may include service IDs S0, S3, and S4 corresponding to the service 1, the service 3, and the service 4, respectively. That is, the second service ID may include service IDs S0, S3, and S4.
The processor 12 may extract the service IDs S0, S1 and S2 from the service providing message of the sensor 1 (100) and extract the service IDs S0, S3 and S4 from the service subscription message of the controller 3-1 (311).
The processor 12 matches the extracted service ID. That is, the processor 12 detects the same service ID in the service ID extracted from the offer service message and the service ID extracted from the service subscription message. The same service ID is S0 among the service IDs S0, S1, and S2, which are service IDs extracted from the service providing message of the sensor 1 (100), and the service IDs S0, S3, and S4, which are service IDs extracted from the service subscribing message of the controller 3-1 (311).
Thus, the processor 12 can determine the message transmission path between the controller 1 (101) and the controller 3-1 (311). Further, the processor 12 may determine the data of the service 1 corresponding to the extracted service ID S0 as the service data to be transmitted to the controller 3-1 (311). The processor 12 generates and sends a service data message comprising data of the service 1 to the adapter 13. The adapter 13 converts the service data message into a CAN message and transmits the CAN message to the controller 3-1 (311).
As another example, the service providing message transmitted from the controller 201 of the sensor 2 (200) may include service IDs S3 and S4 corresponding to the services 3 and 4, respectively. As described above, the service subscription message transmitted from the controller 3-1 (311) may include the service IDs S0, S3, and S4 corresponding to the service 1, the service 3, and the service 4, respectively. Thus, the processor 12 extracts the service IDs S3 and S4 from the service providing message of the sensor 2 (200) and extracts the service IDs S0, S3 and S4 from the service subscription message of the controller 3-1 (311).
In this case, the processor 12 matches the service IDs and detects the service IDs S3 and S4, which are the service IDs equally included in the offer service message and the service subscription message. The processor 12 determines a message transmission path between the controller 2 (201) and the controller 3-1 (311). The processor 12 may determine data of the service 3 corresponding to the service ID S3 and data of the service 4 corresponding to the service ID S4 as data to be transmitted to the controller 3-1 (311). The processor 12 generates and sends a service data message comprising data of the service 3 and data of the service 4 to the adapter 13. The adapter 13 converts the service data message into a CAN message and transmits the CAN message to the controller 3-1 (311).
The transmission order of the data of the service 3 and the data of the service 4 may be determined according to a predetermined priority order. When data of the service 3 and data of the service 4 are simultaneously transmitted to the controller 3-1 (311), a collision may occur between messages.
As another example, a message transmission path may be formed between the controller 101 and the controller 4 (401) of the sensor 1 (100). As shown in fig. 5, the service subscription message transmitted from the controller 4 (401) may include service IDs S1, S3, and S4. The service providing message transmitted from the sensor 1 (100) includes service IDs S0, S1, and S2. Thus, the processor 12 can determine a message transmission path between the controller 101 and the controller 4 (401) that transmit the data of the service 2 corresponding to S1.
The message transmission path between the controller 101 of the sensor 1 (100) and the controller 3-1 (311) and the message transmission path between the controller 101 of the sensor 1 (100) and the controller 4 (401) may be formed simultaneously. In this case, the data of the service 1 and the data of the service 2 transmitted from the controller 101 may be transmitted to the controller 3-1 (311) or the controller 4 (401) according to a predetermined priority order.
Likewise, a message transmission path may be established between the sensor 1 (100) or the sensor 2 (200) and the controller 5 (501).
According to the message routing system and method thereof as described above, CAN messages CAN be converted into service messages for service-oriented communication, and CAN message transmission paths between controllers CAN be set using information included in the service messages without querying a routing database storing all message transmission paths between a plurality of controllers.
Further, according to the message routing system and method thereof, since CAN messages are not broadcast to all CAN channels, it is possible to prevent unnecessary transmission of messages to a controller that does not require CAN messages.
Further, according to the message routing system and method thereof, since only the database related to the number of controllers, the IP address of each controller, the first service information that each controller can provide, and the second service information required for each controller is required, there is an advantage in that database management is easier than the related art requiring a large number of routing databases.
Furthermore, according to the message routing system and method thereof, even if a physical architecture is changed, there is no need to change a routing method and a routing database. Therefore, time and effort spent on database management can be reduced.
Meanwhile, the disclosed embodiments may be implemented in the form of a recording medium storing instructions executable by a computer. The instructions may be stored in the form of program code and when executed by a processor, the instructions may generate program modules to perform the operations of the disclosed embodiments. The recording medium may be embodied as a computer-readable recording medium.
The computer-readable recording medium may include all kinds of recording media storing instructions that can be interpreted by a computer. For example, the computer readable recording medium may be a ROM, a RAM, a magnetic tape, a magnetic disk, a flash memory, an optical data storage device, or the like.
Accordingly, exemplary embodiments of the present invention have now been described with reference to the accompanying drawings. It is apparent to those skilled in the art that the present invention may be embodied in other forms than the exemplary embodiments described above without changing the technical spirit or essential characteristics of the present invention. The above exemplary embodiments are merely exemplary and should not be construed in a limiting sense.
Claims (14)
1. A message routing system, comprising:
an adapter configured to convert between a controller area network message for controller area network communication and a service message for service oriented communication; and
a gateway configured to:
receive a offer service message and a service subscription message from a plurality of controllers through an adapter,
the message transmission path between the plurality of controllers is set based on the offer service message and the service subscription message,
wherein the gateway comprises a memory configured to store an Internet protocol address of each of the plurality of controllers, first service information that each of the plurality of controllers is capable of providing, second service information that each of the plurality of controllers requests, first and second service identifications corresponding to the first and second service information, and first and second controller local area network identifications corresponding to the first and second service information, and
the adapter is configured to reference the memory and perform conversion between controller area network messages and service messages.
2. The message routing system of claim 1, wherein the gateway is configured to:
extracts an internet protocol address and a first service identification of a first controller that sent a service message among the plurality of controllers,
extracts an internet protocol address and a second service identification of a second controller having sent a service subscription message among the plurality of controllers,
a message transmission path is established based on the internet protocol address of the first controller, the internet protocol address of the second controller, the first service identification and the second service identification.
3. The message routing system of claim 2, wherein the gateway is configured to:
determining service data to be sent to the second controller by matching the first service identification and the second service identification,
generates a service data message comprising said service data,
the service data message is sent to the adapter.
4. A message routing system according to claim 3, wherein the adapter is configured to convert the service data message into a controller area network message and send the controller area network message to a second controller.
5. A message routing system according to claim 3, wherein the gateway is configured to match the first service identity and the second service identity based on a predetermined priority of each of a plurality of service identities included in the first service identity and the second service identity.
6. The message routing system of claim 1, wherein the adapter is included in or separate from a gateway.
7. The message routing system of claim 1, wherein the adapter comprises a plurality of adapters corresponding to respective ones of a plurality of controllers, some of the plurality of adapters included in a gateway, others of the plurality of adapters disposed separately from the gateway.
8. A method of message routing, comprising:
converting controller area network messages sent from a plurality of controllers into service messages through an adapter;
sending the service message to a processor of a gateway;
a message transmission path between a plurality of controllers is set based on a offer service message and a service subscription message included in the service message,
wherein converting the controller area network message to the service message includes referencing a memory,
the memory is configured to store an internet protocol address of each of the plurality of controllers, first service information that each of the plurality of controllers is capable of providing, second service information that is requested by each of the plurality of controllers, first and second service identifications corresponding to the first and second service information, and first and second controller area network identifications corresponding to the first and second service information.
9. The method of message routing according to claim 8, wherein setting up a message transmission path comprises:
extracting an internet protocol address of a first controller, which has transmitted a service providing message among the plurality of controllers, and a first service identification;
extracting an internet protocol address of a second controller, which has sent a service subscription message among the plurality of controllers, and a second service identification;
a message transmission path is established based on the internet protocol address of the first controller, the internet protocol address of the second controller, the first service identification and the second service identification.
10. The method of message routing according to claim 9, wherein setting up a message transmission path further comprises:
determining service data to be sent to the second controller by matching the first service identification and the second service identification;
a service data message is generated comprising the service data.
11. The method of message routing according to claim 10, further comprising:
sending the service data message to an adapter;
converting the service data message into a controller area network message;
and sending the controller area network message to a second controller.
12. The method of message routing of claim 10, wherein determining service data to send to the second controller comprises: the first service identity and the second service identity are matched based on a predetermined priority of each of a plurality of service identities included in the first service identity and the second service identity.
13. The method of message routing of claim 8, wherein the adapter is included in or separate from a gateway.
14. The method of message routing of claim 13, wherein the adapter comprises a plurality of adapters corresponding to respective ones of a plurality of controllers, some of the plurality of adapters included in a gateway, others of the plurality of adapters disposed separately from the gateway.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180168888A KR20200079595A (en) | 2018-12-26 | 2018-12-26 | Message routing system and method thereof |
KR10-2018-0168888 | 2018-12-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111385193A CN111385193A (en) | 2020-07-07 |
CN111385193B true CN111385193B (en) | 2023-06-02 |
Family
ID=71124386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911166079.4A Active CN111385193B (en) | 2018-12-26 | 2019-11-25 | Message routing system and method thereof |
Country Status (3)
Country | Link |
---|---|
US (1) | US11102628B2 (en) |
KR (1) | KR20200079595A (en) |
CN (1) | CN111385193B (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020209221A1 (en) * | 2020-07-22 | 2022-01-27 | Robert Bosch Gesellschaft mit beschränkter Haftung | Method of pairing and coupling a sensor and communication network |
CN112367233B (en) * | 2020-09-27 | 2022-04-08 | 上海赫千电子科技有限公司 | Vehicle-mounted network ECU communication method and device based on service-oriented architecture |
US11887411B2 (en) * | 2021-01-27 | 2024-01-30 | Amazon Technologies, Inc. | Vehicle data extraction service |
CN113204226B (en) * | 2021-04-25 | 2022-12-09 | 重庆长安汽车股份有限公司 | Vehicle diagnosis system and method |
DE102021123326A1 (en) | 2021-09-09 | 2023-03-09 | Bayerische Motoren Werke Aktiengesellschaft | Method for configuring a plurality of gateway controllers of a vehicle, computer-readable medium, system, and vehicle |
CN113949602B (en) * | 2021-09-24 | 2023-05-12 | 东风商用车有限公司 | Method and system for issuing intelligent gateway service |
WO2024147372A1 (en) * | 2023-01-03 | 2024-07-11 | 엘지전자 주식회사 | Signal processing device for vehicle, and vehicle having same |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6654355B1 (en) * | 1999-12-14 | 2003-11-25 | Schneider Automation Inc. | Bridge for CAN to TCP/IP connection |
CN101208674A (en) * | 2005-06-23 | 2008-06-25 | 赫优讯自动化系统有限公司 | Method for data communication of bus users in an open automation system |
CN103944895A (en) * | 2014-04-15 | 2014-07-23 | 中国建筑股份有限公司 | Data fusing device of heterogeneous sensor network |
US9604651B1 (en) * | 2015-08-05 | 2017-03-28 | Sprint Communications Company L.P. | Vehicle telematics unit communication authorization and authentication and communication service provisioning |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7784879B2 (en) * | 2002-07-16 | 2010-08-31 | Haldex Brake Corporation | Electronic control air management with parking brake and trailer supply control |
JP4376862B2 (en) * | 2005-12-20 | 2009-12-02 | 富士通テン株式会社 | Communication message conversion apparatus and communication message conversion method |
KR101325807B1 (en) * | 2009-12-17 | 2013-11-05 | 한국전자통신연구원 | APPARATUS AND METHOD FOR COMMUNICATION OF VEHICLE USING IPv6 NETWORK |
US8392698B2 (en) * | 2010-04-16 | 2013-03-05 | Cisco Technology, Inc. | System and method for providing prefixes indicative of mobility properties in a network environment |
CN105766005B (en) * | 2013-10-24 | 2019-09-20 | 康维达无线有限责任公司 | Service overlay management system and method |
WO2016028720A1 (en) * | 2014-08-18 | 2016-02-25 | Trimble Navigation Limited | Dynamically presenting vehicle sensor data via mobile gateway proximity network |
US9749147B2 (en) * | 2014-12-29 | 2017-08-29 | Harman International Industries, Incorporated | Ethernet AVB for time-sensitive networks |
US9649999B1 (en) * | 2015-04-28 | 2017-05-16 | Sprint Communications Company L.P. | Vehicle remote operations control |
US10103901B2 (en) * | 2015-08-17 | 2018-10-16 | Marvell World Trade Ltd. | Virtual controller area network |
-
2018
- 2018-12-26 KR KR1020180168888A patent/KR20200079595A/en not_active Application Discontinuation
-
2019
- 2019-10-24 US US16/663,213 patent/US11102628B2/en active Active
- 2019-11-25 CN CN201911166079.4A patent/CN111385193B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6654355B1 (en) * | 1999-12-14 | 2003-11-25 | Schneider Automation Inc. | Bridge for CAN to TCP/IP connection |
CN101208674A (en) * | 2005-06-23 | 2008-06-25 | 赫优讯自动化系统有限公司 | Method for data communication of bus users in an open automation system |
CN103944895A (en) * | 2014-04-15 | 2014-07-23 | 中国建筑股份有限公司 | Data fusing device of heterogeneous sensor network |
US9604651B1 (en) * | 2015-08-05 | 2017-03-28 | Sprint Communications Company L.P. | Vehicle telematics unit communication authorization and authentication and communication service provisioning |
Non-Patent Citations (2)
Title |
---|
Embedded Web Server Based Industry Fault Analyzer;M. Balamurugan等;《2011 IEEE 3rd International Conference on Communication Software and Networks》;20110908;全文 * |
基于控制器局域网总线技术的网络通信控制研究;姚型彬等;《电脑编程技巧与维护》;20141031;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20200213820A1 (en) | 2020-07-02 |
US11102628B2 (en) | 2021-08-24 |
CN111385193A (en) | 2020-07-07 |
KR20200079595A (en) | 2020-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111385193B (en) | Message routing system and method thereof | |
CN111835627B (en) | Communication method of vehicle-mounted gateway, vehicle-mounted gateway and intelligent vehicle | |
US20220006669A1 (en) | In-vehicle communications system, in-vehicle communication method, and device | |
WO2021002261A1 (en) | Abnormality detection device and abnormality detection method | |
WO2019021403A1 (en) | Control network system, vehicle remote control system, and vehicle-mounted relay device | |
JP2010098626A (en) | Routing method in in-vehicle gateway device | |
EP3547607B1 (en) | Controller, control method, and non-transitory storage medium storing program | |
CN110324806B (en) | Control device, recording medium, and control method | |
KR20210077767A (en) | Data exchange apparatus and data exchange method for vehicle, apparatus and method for vehicle parts of vehicle and computer program | |
US10976750B2 (en) | Base station for receiving and processing vehicle control information and/or traffic state information | |
US10234869B2 (en) | Vehicle destinations | |
US10880262B2 (en) | Communicator, vehicle having the same, and control method of the same | |
US10120715B2 (en) | Distributed network management system and method for a vehicle | |
JP6519830B1 (en) | Electronic control device, monitoring method, program, and gateway device | |
CN107920033B (en) | Method for operating a communication node for mirroring in a vehicle network and communication node | |
CN107040483B (en) | Automobile communication system and information sending method thereof | |
US10951734B1 (en) | Client electronic device, a vehicle, and a method of controlling the same | |
US11659037B2 (en) | Control communication system | |
KR20230100477A (en) | Method and apparatus for data security for autonomous vehicle | |
CN113905352A (en) | Zigbee-based auxiliary vehicle networking system and method | |
CN111382774B (en) | Data processing method and device | |
JP7359175B2 (en) | Server, data collection system, program and data collection method | |
US11683371B2 (en) | Automotive network with centralized storage | |
KR102696539B1 (en) | Client electronic device, vehicle and controlling method for the same | |
CN112672224B (en) | Vehicle and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |