Procedures for controlling and / or regulating service-oriented communication
Patent Information
- Application Number
- DE102024102217
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-01-26
- Publication Date
- 2025-03-06
- Estimated Expiration
- 2044-01-26
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The invention relates to a method for controlling and / or regulating service-oriented communication using a communication method, in particular a multi-drop communication method, for a bus, in particular a 10 Mbit / s Ethernet bus, for example in a vehicle. The communication method enables acyclic communication with variable cycle lengths, in which applications and / or network participants are offered successive transmission options for transmitting data units of different sizes. Furthermore, the invention relates to a corresponding computer program product, a corresponding control unit, and a corresponding vehicle for implementing a corresponding method.
[0002] The IEEE802.3cg standard (10 Mbit / s Ethernet) was introduced only a few years ago and is expected to soon find its way into the automotive world. It offers itself, for example, as a potential alternative to existing (partially) proprietary buses, such as A2B, as a more cost-effective replacement for 100 Mbit / s Ethernet, or as a competitor to the CAN / CAN-FD, CAN-XL, and FlexRay data bus. 10 Mbit / s (10SPE) was specified as an IEEE standard in the IEEE802.3cg working group and addresses, among other things, the area of vehicle networking. A very special mode for automotive applications, called Multi-Drop (PLCA), is of interest. This is no longer a switched Ethernet, but a bus that does not require Ethernet switches. Bus access is ensured by a time-controlled round-robin procedure. The so-called headnode cyclically sends out a beacon and each node or network participant on the bus receives at least one transmission slot (so-calledIf this transmit slot is not used, the next node or network participant gets a direct and faster turn (no bandwidth waste, as with a TDMA-based data bus). These cycles are repeated continuously. Therefore, cycles can vary greatly in length.
[0003] The communication middleware SOME / IP (Scalable Service-Oriented Middleware over IP) and the SOME / IP-SD (Service Discovery) protocol are becoming increasingly widespread in the automotive sector. However, SOME / IP not only describes communication; it is also a middleware that impacts the software components of an ECU.
[0004] In service-oriented data transmission or communication, a service provider (data source) only transmits data when at least one consumer (data recipient) in the network requires it. The advantage of this approach is that the network and all connected nodes are not burdened with unnecessary data. Service-oriented data transmission therefore requires that a provider knows which recipients are waiting for its data. To ensure that a consumer knows which services are currently available, SOME / IP-SD provides mechanisms that allow the dynamic discovery of services (i.e., services or data provisioning services).
[0005] An Offer Service message enables the provider to offer all services it offers in the network (typically via multicast) to all consumers.
[0006] Offer service messages are typically sent cyclically and assigned a validity period (so-called Time-To-Live, or TTL for short). This TTL describes when the message is no longer valid.
[0007] Anyone who wants to receive the service subscribes to it cyclically with a Subscribe Service message, which is confirmed by the provider with a Subscribe Service Confirmation message.
[0008] For example, if four consumers are interested in the service, each interested party subscribes to the service separately and also receives individual confirmations.
[0009] The real problem with SOME / IP service discovery on the 10 Mbit Ethernet bus lies in the following issue. A large number of communication slots are "blocked" by service discovery messages (command and control data), which cannot be used for the actual payload data. Furthermore, the cycle length can vary so widely that acknowledgments arrive with a significant delay.
[0010] If cycles are very short, it is unrealistic or at least technically challenging to respond in the same cycle or even in the next cycle, as this must be done within a few µs. In real operation, the response may not be reached until the next cycle or even later. In addition, other data from the applications is also waiting to be transmitted, which may have a higher priority.
[0011] The technical challenge for SOME / IP in conjunction with a 10 Mbit Ethernet bus can be explained as follows: Service Discovery messages are expected to be sent cyclically without many failures, otherwise robustness measures would take effect and, for example, the TCP connection would be terminated. This results in high delay / latency on the 10 Mbit Ethernet bus, even if the Service Discovery messages are sent and received immediately after the connection is established. The failure of Service Discovery messages must therefore always be expected, as they are sent via the connectionless UDP protocol.
[0012] The technologically induced fluctuation in the cycle length of the 10 Mbit Ethernet bus can therefore cause problems that can lead to the interruption of communication and customer-facing functions. In addition, this can trigger warning messages and error log entries.
[0013] Service discovery messages can consume a high message load and / or necessary send slots, which are then unavailable for the payload. Especially on the slow 10 Mbps Ethernet bus, this can lead to significant delays for other messages and poor bandwidth efficiency.
[0014] Known documents on the general state of the art are DE 10 2014 225 802 A1, US 2024 / 0106916 A1, US 2022 / 0394103 A1 and US 2023 / 0090242 A1.
[0015] It is therefore an object of the present invention to at least partially overcome at least one of the disadvantages described above. In particular, it is an object of the invention to provide a method for controlling and / or regulating service-oriented communication using a communication method, in particular a multi-drop communication method, for a bus, in particular a 10 Mbit / s Ethernet bus, which optimizes data transmission for service discovery messages, saves resources on the bus, increases bandwidth efficiency, and ensures effective use of the bandwidth. Furthermore, it is an object of the present invention to provide a corresponding computer program product, a corresponding control unit, and a corresponding vehicle for carrying out a corresponding method.
[0016] The present invention provides: A method for controlling and / or regulating service-oriented communication by means of a communication method, in particular a multi-drop communication method, for a bus, in particular a 10 Mbit / s Ethernet bus, preferably for a vehicle, having the features of the independent method claim. Furthermore, the invention provides a corresponding computer program product, a corresponding control unit, and a corresponding vehicle having the features of the independent claims. Features and details described in connection with the different embodiments and / or aspects of the invention naturally also apply in connection with the other embodiments and / or aspects, and vice versa, so that reference is or can always be made to the individual embodiments and / or aspects in the disclosure.
[0017] The present invention provides: A method for controlling and / or regulating a service-oriented communication (SOME / IP-SD for short) by a communication method, in particular a multi-drop communication method (PLCA for short), for a bus, in particular a 10 Mbit / s Ethernet bus, preferably for a vehicle.
[0018] The communication method enables acyclic communication with variable cycle lengths for applications and / or network participants (or control units that can be referred to as nodes of the network and that can access the bus).
[0019] In acyclic communication, the applications and / or network participants are offered the following transmission options for sending data units (so-called frames) of different sizes.
[0020] An optional step that can be carried out, for example, before starting the procedure: - Determining a communication technology, wherein the method was preferably developed for a bus, in particular a 10 Mbit / s Ethernet bus.
[0021] The method comprising: - Monitoring the bus for service discovery messages, in particular subscribe service messages and / or subscribe service confirmation messages, - Postponing (i.e. not sending, at least for a definite period of time) own subscriptions (meaning at least one subscription), as long as there are duplicates for desired subscriptions on the bus, - Listening to (i.e. reading from), in particular passive listening to (i.e. reading from without subscribing to the service itself), the desired subscriptions (meaning at least one subscription) on the bus, preferably as long as they are active, in order to advantageously save transmit opportunities (or transmit slots or TOs for short), bandwidth and / or resources.
[0022] Network participants can be understood as different control devices of various technical devices.
[0023] In a vehicle, the network participants can be control units of different vehicle-specific systems, such as: - braking system, - steering system, - Driver assistance system, - navigation system, - communication system, - Infotainment system, - sensor system, - Heating and / or air conditioning system, etc.
[0024] In a vehicle, there may also be control units of various vehicle-specific devices, such as: - Sensor devices, e.g. temperature sensor, speed sensor, tire pressure sensor, distance sensor, impact sensor, etc., - GPS tracking device, - Safety devices, e.g. locking system, locking system, airbag, emergency call, etc., - Information devices, e.g. for weather forecasting, receiving traffic information, receiving news, etc., - Vehicle condition manager, - Time manager, - Comfort devices, e.g. door closing detectors, light-off detectors, parking position detectors, travel database, user calendar, information calls, etc.
[0025] Applications can be understood as different functions, e.g. safety-related, comfort-related, entertainment-related, etc., for example: - for parking, - for navigation, - for breakdown assistance, - for car sharing, - to form carpools, - for refueling / charging, - for tire pressure monitoring, - for shopping, etc.
[0026] Different applications can be deployed using different network participants.
[0027] The method provides for monitoring the network (in this case, the bus) for SOME / IP service discovery messages. These messages can advantageously be examined, recorded, and / or analyzed. If there are subscriptions on the bus to which the ECU itself or its applications would also subscribe, then no separate subscriptions are created and / or sent. The bus can therefore be monitored throughout the service requirement. Existing subscriptions can therefore be used more effectively. The data transmission of service discovery messages can thus be improved or even optimized. Existing subscriptions can also be checked for validity for security reasons. The internal stack can also be prepared for incoming events, which can be monitored by listening on the bus, which is possible thanks to bus technology.
[0028] The method can thus be used to improve or even optimize the resource situation of the components of a 10 Mbps Ethernet bus. This relieves the load on consumers, who no longer have to send and receive their own subscriptions per unit of time. Furthermore, valuable transmit slots are freed up, which can be reserved for critical applications, especially in the case of long cycle lengths. This reduces the bus access time of the component and its applications. Furthermore, more bandwidth is available on the bus.
[0029] There are also significant advantages for service providers. They no longer need to receive and process Subscribe Service messages (and, if applicable, Find Service messages) multiple times. Furthermore, they no longer need to send Subscribe Service confirmation messages multiple times. The advantages for providers are multiplied when more than two consumers subscribe to the services.
[0030] Communication bursts can thus be avoided, which benefits the applications. Bus access time is significantly reduced, and the transmission slots available during runtime are freed up for sending payload data.
[0031] This reduces the load on the entire bus and increases bandwidth efficiency with respect to the payload. The resulting savings in bus messages have no impact on the quality, accuracy, or real-time capability of the data being exchanged. No disadvantages are expected. This savings would be unthinkable on a switched Ethernet network, as communication follows a point-to-point scheme and an Ethernet bus was not yet in development at that time. Furthermore, there are no time slots. Bus access is always immediate.
[0032] Using this method, it is possible to significantly reduce or even minimize service discovery messages without experiencing failures or delays in service-oriented communication.
[0033] The present invention thus advantageously enables the merging of service-oriented protocols, such as SOME / IP, and low-cost network technologies, such as the 10 Mbps Ethernet bus. Dynamic detection and adaptation enable, implement, and offer a platform solution that can be dynamically adapted to a wide variety of variants (network system, number of services and service connections, and operating system resources).
[0034] The procedure enables the improvement or even optimization of transmission slots on the 10 Mbps Ethernet bus in conjunction with service communication, thus ensuring that no customer-facing outages occur due to overload. The procedure provides a dynamic and simple mechanism for omitting messages of the same functionality in accordance with the protocol.
[0035] As already mentioned above, it may be advantageous if the method is repeated dynamically, for example periodically and / or event-specifically, for example after commissioning of the bus and / or a network participant or control unit, and / or regularly, or after starting an application on a control unit (node or network participant in the wording of the present application).
[0036] The process steps can advantageously be carried out successively, at least partially overlapping and / or simultaneously.
[0037] Preferably, the method can be carried out by at least one control device or control unit of an application or, in other words, by a network participant that serves as a control device or control unit of an application.
[0038] Furthermore, in particular for listening (preferably for preparing to listen) to the desired subscriptions on the bus, at least one of the following method steps can be provided: - Monitoring the bus for, in particular, relevant (related to the applications assigned to the control unit) service discovery messages, in particular subscribe service messages and / or subscribe service confirmation messages, - Check whether there are subscriptions on the bus that concern comparable (same or identical), and preferably successful, services and / or event groups of individual services, such as desired services and / or event groups (for the desired subscriptions), - Opening of corresponding connections for the desired services and / or event groups (preferably between the service provider and the interested application), - Providing feedback to corresponding applications, - Eavesdropping, especially passive eavesdropping, on the services and / or event groups on the bus, - Transmitting services and / or event groups to the corresponding applications.
[0039] The service offering, including the subscriptions, can be available or unavailable depending on the state. Since the services are dynamic components, the process can preferably be performed cyclically.
[0040] Subscribe service messages and / or subscribe service confirmation messages can be inspected. This can be used to determine whether detected services, and if so, which event groups, are of actual interest. If these services are of the same interest (i.e., the control unit would send the same subscribe service message to the provider), then these messages should be retained to save transmission slots, bandwidth, and resources.
[0041] After determining the transport technology, SOME / IP and SOME / IP-SD can be switched to Ethernet / IP Multicast, thus eliminating the need to open additional sockets. If this isn't possible within the overall system, the respective consumers can also open individual sockets after reading the relevant service discovery messages and their socket parameters to read the messages on the bus, even at higher layers.
[0042] The internal stack can also be prepared for this subscription, which exists from another ECU, so that the applications can receive the SOME / IP data. This can potentially open new sockets and provide feedback to the applications that the service is registered and subscribed to.
[0043] The bus can then be monitored for incoming events from these event groups in order to forward these events to the interested application(s).
[0044] Furthermore, in particular before monitoring the bus for (particularly relevant) service discovery messages, at least one of the following method steps can be provided: - Checking the bus for incoming offer service messages, - Check whether applications have requested specific services and / or event groups of individual services, - Preparing corresponding subscriptions, and advantageously then: - Monitoring the bus for (especially relevant) service discovery messages.
[0045] Monitoring the bus for service discovery messages can be beneficial if the service is already offered on the bus and is in demand. Once service offers (offer service messages) are received and the internal applications are ready, monitoring the bus for service discovery messages can begin. Otherwise, the system waits until applications are available.
[0046] Furthermore, at least one of the following procedural steps can be provided, in particular for listening to the desired subscriptions on the bus: - Monitoring the bus for, in particular relevant, service discovery messages, in particular including: Find Service messages, Offer Service messages, Subscribe Service messages and / or Subscribe Service confirmation messages (and / or, if applicable, Stop Offer messages and / or Stop Subscribe messages), - Check whether there are subscriptions on the bus that concern comparable (same or identical), and preferably successful, services and / or event groups of individual services, such as desired services and / or event groups (for the desired subscriptions), - Check whether service discovery messages, especially relevant ones, have already been sent, - Postpone your subscription depending on the review.
[0047] Depending on the verification, the following situation may be conceivable: if, especially relevant, service discovery messages have not yet been sent, then: - Return to monitoring the bus for, especially relevant, service discovery messages.
[0048] Depending on the verification, the following situation may be conceivable: if, especially relevant, service discovery messages have already been sent, then: - Check whether, especially relevant, service discovery messages were sent by a network participant with a smaller sending number (or slot number or node ID) than its own sending number, if so, then: - Postponing sending of own service discovery messages as long as there are duplicates for desired services and / or event groups of individual services on the bus, if no, then: - Do not stop sending your own service discovery messages.
[0049] This can be used to check whether there are already existing and parallel requests on the bus. Based on the slot number, for example, it can be decided which consumer or network participant suspends its message and which consumer continues its messages. The slot number is an identical number assigned to the transmission order on the bus. If the slot number is lower, the subsequent consumer can listen for the messages of one of the previous consumers on the bus. Additional verification criteria may also be useful, such as the maximum availability of the consumer and the potential times during which the consumer is not active on the bus.Advantageously, not only offer service messages, subscribe service messages, and / or subscribe service confirmation messages, but also find service messages can be monitored to find at least one previous consumer on the bus who may be interested in the same services and / or event groups. Find service messages can be sent if no offer service messages have been received yet or if they are missing.
[0050] Depending on the check, the following situation may be conceivable: If Stop Offer messages and / or Stop Subscribe messages are sent, you shouldn't stop sending your own Service Discovery messages. Rather, it might be advantageous to send your own Subscribe Service messages, at least if there are no more Subscribe Service messages and / or Subscribe Service Confirmation messages on the bus. In this case, you should preferably not wait for the timer (TTL stands for Time-To-Live) to expire, but send a subscription yourself, at least if there are no other subscriptions on the bus.
[0051] In addition, at least one of the following procedural steps can be provided, especially for listening to the desired subscriptions on the bus: - Starting a timer upon detection of, in particular relevant, service discovery messages, in particular subscribe service messages and / or subscribe service confirmation messages, - Determining, in particular measuring and / or calculating, a maximum cycle length and / or a minimum cycle length for acyclic communication, - if necessary, determining, in particular measuring and / or calculating, a number of cycles between sending a Subscribe Service message and receiving a Subscribe Service confirmation message, - Determining a time to send your own service discovery messages for desired services and / or event groups of individual services, - Start your own subscriptions for desired services and / or event groups, - Postponing your own subscriptions if the desired subscriptions can be listened to on the bus.
[0052] In this way, failover reliability can be ensured when providing services. For this purpose, the sending of custom service discovery messages can be initiated before the timer (TTL stands for Time-to-Live) expires. For this purpose, the relevant service discovery messages can be selected. Furthermore, the timer can be selected, preferably individually for different service discovery messages, to take the relevance of the services into account.
[0053] In addition, the bus can be examined for its minimum and / or maximum bus cycle length. This information can be stored statically. However, it is preferable to determine this information dynamically to optimally respond to changes in the network, such as partial network operation, device failure, etc., and to ensure optimal bandwidth utilization despite changes.
[0054] Optionally, you can also determine how long it takes (how many cycles from subscribing to a service until receiving a service confirmation).
[0055] The time (in an expected cycle from the failure of a certain number of service subscribe messages) at which own subscribe service messages are estimated to be sent can then be determined.
[0056] In addition, at least one of the following procedural steps may be provided for, in particular before suspending one's own subscriptions: - Check whether current data on desired services and / or event groups of individual services is required, - Sending your own service discovery messages for desired services and / or event groups, - Check whether current data on desired services and / or event groups have been received, especially after successfully completing your own subscription, - Postpone your own subscriptions depending on the review.
[0057] This way, the need for current data, so-called initial events, can be taken into account. If initial events are required, you can subscribe directly. After successfully receiving the initial events (which occur once), the subscription can be reset if there are parallel subscriptions.
[0058] In addition, in particular to start the method, which can proceed as described above, at least one of the following method steps can be provided: - Monitoring the utilization of transmit opportunities (or transmit slots, or TO for short) within a cycle on the bus, - Check whether there is a need for additional free broadcasting options, - Check whether there is a need to reduce bus access times, - Determining an optimization potential depending on the review, - Start the procedure, which can be carried out as described above.
[0059] In this way, the trigger for starting the process can be determined. A lack of available time slots or excessive bus access times can serve as a trigger, for example. If additional send slots are needed, or if bus access times are excessive, the sub-process presented above provides a tool for reducing the number of send slots and regenerating resources on the bus. This optimization potential can be compared with the optimization potential (in percent per number of slots) for new applications that, for example, come onto the bus after SOP and require additional capacity.
[0060] The invention further provides a corresponding computer program product, comprising instructions that, when executed by a computer, cause the computer to perform the method, which can proceed as described above. The computer program product can achieve the same advantages as those described above in connection with the method according to the invention. These advantages are incorporated herein by reference.
[0061] A corresponding control unit provides a further aspect of the invention. A computer program in the form of code can be stored in a memory unit of the control unit. When the code is executed by a computing unit of the control unit, the program performs a method that can proceed as described above. The control unit can achieve the same advantages as those described above in connection with the method according to the invention. These advantages are incorporated herein by reference in their entirety.
[0062] The control unit can be implemented at least partially in at least one control unit of an application and / or in at least one network participant, which can itself be designed as a control device and can form a node of the network.
[0063] A corresponding vehicle with a corresponding control unit provides a further aspect of the invention. Using the vehicle, the same advantages described above in connection with the method according to the invention can be achieved. These advantages are incorporated herein by reference.
[0064] Further advantages, features, and details of the invention will become apparent from the following description, which describes exemplary embodiments of the invention in detail with reference to the drawings. The features mentioned in the claims and in the description may be advantageous individually or in any combination. They show: Fig. 1 an exemplary communication procedure with acyclic communication, Fig. 2 an exemplary structure of a service-oriented communication and exemplary service discovery messages with a provider and a consumer, Fig. 3 an exemplary structure of a service-oriented communication and exemplary service discovery messages with one provider and four consumers, Fig. 4 an exemplary implementation of service-oriented communication according to Fig. 3 using a communication procedure in accordance with Fig. 1, Fig. 5 a realistic implementation of service-oriented communication according to Fig. 3 using a communication procedure in accordance with Fig. 1, Fig. 6 an exemplary sequence of a method for controlling and / or regulating a service-oriented communication, and Fig. 7 exemplary aspects of the procedure.
[0065] The Fig. Figure 1 illustrates the IEEE802.3cg standard (10 Mbit / s Ethernet), which can represent an alternative to existing (partially) proprietary buses, such as A2B, as a more cost-effective replacement for 100 Mbit / s Ethernet, or as a competitor to CAN / CAN-FD, CAN-XL, and FlexRay data buses. 10 Mbit / s (10SPE) was specified as an IEEE standard in the IEEE802.3cg working group and addresses, among other things, the area of vehicle networking.
[0066] For vehicles, a special communication method called Multi-Drop (PLCA) is of interest. This is a bus that does not require Ethernet switches. Bus access is ensured by a time-controlled round-robin procedure, as is the case with Fig. 1. A main node, the so-called headnode, can cyclically send a start message B, the so-called beacon, and each node on the bus is allocated at least one transmit slot or one transmit opportunity TO (English for "transmit opportunity"). If this transmit slot is not used, the next node or network participant gets the next transmission directly and more quickly (no bandwidth waste as with a TDMA-based data bus). These cycles are repeated continuously. This allows cycles to vary greatly in length, as shown in the example in the Fig. 1. The Mbit / s Ethernet bus is therefore not a time-controlled bus, such as the FlexRay bus.
[0067] The minimum cycle length Tzmin can be calculated as follows: Tzmin=20 bits (minimum size of a data unit)*number of connected nodes.
[0068] Using the example of 8 nodes, this is 2 µs. Minimal means that no node detects a TO transmission opportunity.
[0069] A (typical) maximum cycle length Tzmax is just under 10 ms with a full frame length of 1500 bytes (maximum size of a data unit) and an exemplary number of nodes of 8.
[0070] To achieve higher throughput, burst mode can be used, which allows nodes to send up to 255 frames or data units per transmission option (TO). This can have a significant impact on the maximum cycle length and latency on the "slow" 10 Mbps Ethernet bus.
[0071] The minimum cycle length Tzmin remains the same, but the maximum cycle length Tzmax can theoretically increase to 1500 bytes (maximum size of a data unit) * 255 * 8, which can mean about 2.5 s for 8 nodes.
[0072] SOME / IP and the associated SOME / IP-SD (Service Discovery) are becoming increasingly popular in the automotive sector. However, SOME / IP not only describes communication; it is also a middleware solution that can impact the software components of an ECU.
[0073] In service-oriented data transmission, a service provider or provider PR (data source) only transmits data when at least one consumer CO or consumer (data recipient) in the network requires it. The advantage of service-oriented data transmission is that the network and all connected nodes are not burdened by unnecessary data. Service-oriented data transmission therefore requires that a provider PR is informed about which consumers CO are waiting for its data. To ensure that a consumer CO knows which services are currently available, SOME / IP-SD provides mechanisms that allow the dynamic discovery of services. An Offer Service message O enables the provider PR to offer all of the services it offers in the network (typically via multicast).
[0074] Offer service messages O are typically sent cyclically, e.g., every second (dt = 1 s), and are assigned a validity period (so-called Time-To-Live, or TTL for short). This TTL describes when the message is no longer valid.
[0075] In Fig. Figure 2 illustrates how service discovery is performed. A service provider (PR) cyclically sends an Offer Service message (O) to everyone. Anyone (consumer CO) wishing to receive the service cyclically subscribes to it with a Subscribe Service message (S), which is then confirmed again by the provider PR with a Subscribe Service Confirmation message (SA).
[0076] In Fig. Figure 3 illustrates how service discovery is performed when, for example, four consumers CO are interested in the service. Each interested consumer CO subscribes to the service separately and also receives individual confirmations SA.
[0077] In Fig. Figure 4 shows the Service Discovery messages O, S, and SA on the transmit slots TO of a 10 Mbit / s Ethernet bus. This figure represents a very optimistic case in which the messages are responded to very quickly and in a few cycles. However, it also shows that a large number of slots are being used. This represents the real problem of SOME / IP Service Discovery on the 10 Mbit Ethernet bus. A large number of transmit slots are "blocked" by Service Discovery messages (command and control data), which cannot be used for the actual payload. Furthermore, the cycle length can vary so greatly that acknowledgments arrive with a significant delay.
[0078] In Fig. 5 is an example of a realistic or more realistic scenario (compared to the scenario in Fig. 4) illustrates the entire process. If cycles are very short, it is unrealistic or technically challenging to respond in the same cycle or even in the next cycle, as this must happen in a few nanoseconds or microseconds. In real operation, the next cycle may not be reached until the next cycle. In addition, other data from the SWC applications is also waiting to be transmitted, which may have a higher priority.
[0079] The technical challenge for SOME / IP in conjunction with 10 Mbit Ethernet bus: Service discovery messages (O, S, and SA) can consume a high load of messages and / or required send slots (TO), which are then unavailable for the payload. Especially on the slow 10 Mbps Ethernet bus, this can lead to significant delays for other messages and poor bandwidth efficiency.
[0080] The technologically induced fluctuation of the cycle length of the 10 Mbit Ethernet bus can lead to the interruption of service-oriented communication and customer experience functions.
[0081] The invention provides: A method for controlling and / or regulating a service-oriented communication (or SOME / IP-SD) by means of a communication method, in particular a multi-drop communication method (or PLCA), for a bus, in particular a 10 Mbit / s Ethernet bus, for a vehicle, wherein the communication method enables acyclic communication in which the applications SWC and / or network participants SG are offered successive transmission options for transmitting data units (so-called frames) of different sizes.
[0082] As the Fig. 6 schematically shows the method comprises the following steps: First, an optional step can be performed: 100 Determining a communication technology, wherein the method was preferably developed for a bus, in particular a 10 Mbit / s Ethernet bus.
[0083] The procedure comprises the following steps: 110 Monitoring the bus for service discovery messages O, S, SA, in particular subscribe service messages S and / or subscribe service confirmation messages SA, 120 Postponement of own subscriptions ABO, as long as there are duplicates for desired subscriptions ABO on the bus, 130 Listening, especially passive listening, the desired subscriptions ABO on the bus, preferably as long as they are active in order to advantageously save transmission slots TO, bandwidth and / or resources.
[0084] Different control units of different technical devices can serve as network participants SG or nodes of the network.
[0085] In a vehicle, there may be control units of different vehicle-specific systems, such as: - braking system, - steering system, - Driver assistance system, - navigation system, - communication system, - Infotainment system, - sensor system, - Heating and / or air conditioning system, etc.
[0086] In a vehicle, there may also be control units of various vehicle-specific devices, such as: - Sensor devices, e.g. temperature sensor, speed sensor, tire pressure sensor, distance sensor, impact sensor, etc., - GPS tracking device, - Safety devices, e.g. locking system, airbag, emergency call, etc., - Information devices, e.g. for weather forecasting, receiving traffic information, receiving news, etc. - Vehicle condition manager, - Time manager, - Comfort devices, e.g. door closing detectors, light-off detectors, parking position detectors, travel database, user calendar, information calls, etc.
[0087] SWC applications can be understood as different functions, e.g. safety-related, comfort-related, entertainment-related, etc., for example: - for parking, - for navigation, - for breakdown assistance, - for car sharing, - to form carpools, - for refueling / charging, - for tire pressure monitoring, - for shopping, etc.
[0088] Different SWC applications can be provided using different control units or network participants SG.
[0089] Procedure 1 according to the Fig. 6 presents the basic principle of the invention.
[0090] First, the underlying network technology can optionally be identified or determined.
[0091] The procedure provides for monitoring the network or bus for SOME / IP service discovery messages. These messages can advantageously be examined, recorded, and / or analyzed. If there are ABO subscriptions on the bus that would also be subscribed to by the ECU itself (for interested applications), then no separate ABO subscriptions are created. The bus can therefore be monitored throughout the service requirement. Existing ABO subscriptions can be checked for validity as a precaution. The internal stack can thus be prepared for incoming events, which can be monitored by listening on the bus thanks to the bus technology (and possibly multicast). See also Fig. 1.
[0092] The method thus serves to optimize the resource situation of the components of a 10 Mbit / s Ethernet bus. This relieves the load on the consumers (CO), who no longer have to send and receive their own subscriptions (ABO) per unit of time. Furthermore, this frees up valuable transmission slots or transmission options (TO), which can be reserved for critical applications during long cycle lengths. This reduces the bus access time of the consumers (CO) and their applications (SWC). Furthermore, more bandwidth is available.
[0093] Service providers, or PR providers, also benefit significantly. They no longer need to receive and process Subscribe Service messages (S) (and, if applicable, Find Service messages) multiple times. Furthermore, they no longer need to send Subscribe Service Confirmation messages (SA) multiple times. The benefits for PR providers multiply when more than two consumers (CO) subscribe to the services.
[0094] Communication bursts can thus be avoided, which is advantageous for SWC applications. Bus access time is significantly reduced, and the transmission slots available during runtime are freed up for transmitting payload data.
[0095] This reduces the load on the entire bus and increases bandwidth efficiency with regard to payload data. The resulting savings in bus messages have no impact on the quality, accuracy, or real-time capability of the data being exchanged. No disadvantages are expected.
[0096] The procedure can be used to reduce service discovery messages without experiencing failures or delays in service-oriented communication.
[0097] The present invention advantageously enables the merging of service-oriented protocols, such as SOME / IP, and cost-effective network technologies, such as the 10 Mbps Ethernet bus. Dynamic detection and adaptation enables, implements, and offers a platform solution that can be dynamically adapted to a wide variety of variants (network system, number of services and service connections, and operating system resources).
[0098] The method can advantageously be repeated dynamically, e.g. periodically and / or event-specifically, e.g. after commissioning of the bus or individual network participants SG, and / or regularly, e.g. after starting an application SWC on a network participant SG.
[0099] The process steps can advantageously be carried out successively, at least partially overlapping and / or simultaneously.
[0100] Preferably, the method can be carried out by at least one control unit of an application SWC and / or by a network participant SG (or control unit).
[0101] Furthermore, in particular to listen to the desired subscriptions ABO on the bus, at least one of the following steps (the steps are numbered for a better understanding) can be performed: 110 Monitoring the bus for, in particular, relevant, (related to the applications assigned to the control unit) service discovery messages O, S, SA, in particular subscribe service messages S and / or subscribe service confirmation messages SA, 210 Check whether there are subscriptions ABO on the bus that concern the same, in particular identical, and preferably successful, services and / or event groups as desired services and / or event groups (for desired subscriptions ABO), 220 Opening of corresponding connections sockets for the desired services and / or event groups (preferably between the service provider and the interested application), 230 Providing feedback to corresponding applications SWC, 240 Eavesdropping, especially passive eavesdropping, on the services and / or event groups on the bus, 250 Transmission of services and / or event groups to the corresponding SWC applications.
[0102] The service offering, including the subscriptions ABO, can be available or unavailable depending on the state. Since the services are dynamic components, sub-process 2 is preferably performed cyclically.
[0103] In this process (sub-process 2), subscribe service messages S and / or subscribe service confirmation messages SA can be inspected. This can be used to determine whether this service and, if so, which event groups are of actual interest. If these are the same interests (e.g., if the control unit would send the same subscribe service messages S to the provider PR), these messages should be retained to save transmission slots TO, bandwidth, and resources.
[0104] After determining the transport technology, SOME / IP and SOME / IP-SD can be switched to Ethernet / IP multicast, thus eliminating the need to open additional sockets. If this is not possible within the overall system, the respective consumers CO can also open individual sockets after reading the relevant service discovery messages O, S, A and their socket parameters, enabling them to read the messages on the bus, even at higher layers.
[0105] However, the internal stack can be prepared for this existing subscription (ABO) from another control unit so that the SWC applications can also receive SOME / IP data. This can potentially open new sockets and provide feedback to the SWC applications that the service is registered and subscribed. The bus can then be monitored for incoming events from these event groups in order to forward these events to the interested SWC application(s).
[0106] Furthermore, in particular before monitoring the bus for service discovery messages O, S, A, at least one of the following method steps (the method steps are numbered for better understanding) can be performed: 310 Check the bus for incoming offer service messages O, 320 Check whether applications SWC have requested specific services and / or event groups of individual services, 330 Preparation of corresponding subscriptions ABO, and advantageously then: 110 Monitoring the bus for service discovery messages O, S, SA, in particular subscribe service messages S and / or subscribe service confirmation messages SA.
[0107] The following can be provided (sub-procedure 3): Monitoring the bus or the service discovery messages O, S, SA can be advantageous if the service is already offered on the bus; see sub-procedure 3 for more information. If service offers (offer service messages O) are received and interested applications (SWC) are ready, then monitoring the bus for service discovery messages O, S, SA can begin. Otherwise, the system waits until the service is already offered by the provider (PR) and interested applications (SWC) are available.
[0108] As the Fig. As shown in Figure 7, in particular to listen to the desired subscriptions ABO on the bus, at least one of the following procedural steps can be performed: 110 Monitoring the bus for, in particular relevant, service discovery messages O, S, SA, in particular comprising: Find Service Messages, Offer Service Messages O, Subscribe Service Messages S and / or Subscribe Service Confirmation Messages SA, 410 Check whether there are subscriptions ABO on the bus that concern comparable (same or identical), and preferably successful, services and / or event groups, such as desired services and / or event groups (for the desired subscriptions ABO), 420 Check whether service discovery messages, especially relevant ones, have already been sent, 430 Postponing your own subscription ABO depending on the check.
[0109] As the Fig. As shown in Figure 7, depending on the checking, the following situation is conceivable: if, in particular, relevant service discovery messages O, S, SA have not yet been sent, then: - Return to monitoring the bus for, in particular, relevant, service discovery messages, in particular comprising: Find Service Messages, Offer Service Messages O, Subscribe Service Messages S and / or Subscribe Service Confirmation Messages SA.
[0110] As the Fig. As shown in Figure 7, depending on the checking, the following situation is conceivable: if, in particular, relevant service discovery messages O, S, SA have already been sent, then: 431 Check whether, especially relevant, service discovery messages were sent by a network participant (SG) with a smaller sending number N (or slot number or node ID) than its own sending number N*, if so, then: 120 Postponing sending of own service discovery messages as long as there are duplicates for desired services and / or event groups on the bus, if no, then: 432 Do not stop sending your own service discovery messages.
[0111] As the Fig.7 (sub-process 4) shows: This allows a check to be made as to whether there are already existing and parallel requests on the bus. Based on the transmission number N, a decision can be made as to which consumer CO suspends its message and which consumer CO continues its messages. The transmission number N is an identical number and is assigned to the transmission order on the bus. If the transmission number N is smaller than its own transmission number N*, then the subsequent consumer CO can listen for the messages of one of the previous consumer COs on the bus. In addition, other distinguishing criteria may be useful, such as the maximum availability of the component and the potential times during which the component is not active on the bus.Advantageously, not only Offer Service messages O, Subscribe Service messages S, and / or Subscribe Service confirmation messages SA can be monitored, but also Find Service messages to find at least one previous consumer CO on the bus that may be interested in the same services and / or event groups. Find Service messages can be sent if no Offer Service messages O have been received yet or if they are missing.
[0112] Furthermore, in particular to listen to the desired subscriptions ABO on the bus, at least one of the following procedural steps (the procedural steps are numbered for a better understanding) can be performed: 510 Starting a timer TTL upon detection of, in particular relevant, service discovery messages O, S, A, in particular subscribe service messages S and / or subscribe service confirmation messages, A 520 Determining, in particular measuring and / or calculating, a maximum cycle length and / or a minimum cycle length in acyclic communication, 530 Determining, in particular measuring and / or calculating, a number of cycles between sending a subscribe service message S and receiving a subscribe service confirmation message SA, 540 Determining a time to send your own service discovery messages for desired services and / or event groups, 550 Start your own subscriptions ABO for desired services and / or event groups, 560 Postponing your own subscriptions ABO if the desired subscriptions ABO can be listened to on the bus.
[0113] The following can be provided (sub-process 5): In this way, reliability can be ensured when providing services. For this purpose, the transmission of dedicated service discovery messages S can be initiated before the timer (TTL stands for Time-to-Live) expires. For this purpose, the relevant service discovery messages O, S, SA (and / or, if applicable, Stop-Offer messages and / or Stop-Subscribe messages) can be selected. For this purpose, the TTL timer can also be selected, preferably individually for different service discovery messages S, SA, in order to take the relevance of the services into account.
[0114] In addition, the bus can be examined for its minimum and maximum (optically typical) bus cycle length. This information can be stored statically. However, it is preferable to determine this information dynamically to optimally respond to changes in the network, such as partial network operation, device failure, etc., and to utilize the bandwidth optimally.
[0115] Optionally, you can also determine how long (how many cycles from subscribing to a service ABO until receiving a service confirmation SA) it takes.
[0116] The time at which own subscribe service messages S are estimated to be sent can then be determined (in an expected cycle, e.g. from the failure of a certain number of subscribe service messages S and / or from the detection of stop offer messages and / or stop subscribe messages on the bus).
[0117] In addition, especially before suspending your own subscriptions, at least one of the following procedural steps (the procedural steps are numbered for better understanding) can be carried out: 610 Check whether current data on desired services and / or event groups is required, 620 Sending of own service discovery messages S for desired services and / or event groups, 630 Check whether current data on desired services and / or event groups have been received, especially after successfully completing an own subscription ABO, 120 Postponing your own subscriptions ABO depending on the check.
[0118] The following can be provided (sub-process 6): This allows the need for current data, so-called initial events, to be taken into account. If initial events are required, the subscription can be created directly. After successfully receiving the initial events (which occur once), the subscription can be reset if there are parallel subscriptions.
[0119] In addition, in particular to start the method, which can proceed as described above, at least one of the following method steps (the method steps are numbered for better understanding) can be carried out: 710 Monitoring the utilization of transmit opportunities (TO) (or transmit slots, in short “transmit opportunity” or TO) within a cycle on the bus, 720 Check whether there is a need for additional free transmission slots, 730 Check whether there is a need to reduce bus access times, 740 Determining an optimization potential depending on checking, 750 Start the procedure, which can be carried out as described above
[0120] The following can be provided (sub-process 7): This allows the trigger to start the process to be determined. A trigger can be, for example, a lack of available transmit slots (TO) or excessive bus access times. If there is a need for additional transmit slots (TO), or if bus access times are excessive, sub-process 7 presented above provides a tool for reducing the number of transmit slots and regenerating resources on the bus. This optimization potential can be used to generate optimization potential (in percent / number of slots) for new applications.
[0121] A corresponding computer program product, a corresponding control unit ECU with a memory unit MU and a computing unit CU and a corresponding vehicle with a corresponding control unit ECU also represent aspects of the invention.
[0122] The control unit ECU can be implemented at least partially in at least one control unit of an application SWC and / or in at least one network participant SG.
[0123] The above explanation of the embodiments describes the present invention exclusively by way of examples. Of course, individual features of the embodiments can be freely combined with one another, provided they are technically feasible, without departing from the scope of the present invention. List of reference symbols ABO subscription CO consumer CU computing unit ECU control unit MU storage unit N Transmission number N* Transmission number O Offer Service Message PLCA multi-drop communication method PR provider S Subscribe Service Message SA Subscribe Service Confirmation Messages SG network participants Sockets connections SWC application TO Broadcasting options / Broadcast slots TTL timer
Claims
[1] Method for controlling and / or regulating a service-oriented communication by a communication method, in particular a multi-drop communication method (PLCA), for a bus, in particular a 10 Mbit / s Ethernet bus, preferably for a vehicle, wherein the communication method enables acyclic communication with variable cycle lengths (Tz), in which applications (SWC) and / or network participants (SG) are offered successive transmission options (TO) for sending data units of different sizes, comprising: - Monitoring the bus for service discovery messages (O, S, SA), in particular subscribe service messages (S) and / or subscribe service confirmation messages (SA), - Postponing your own subscriptions (ABO) as long as there are duplicates of the desired subscriptions (ABO) on the bus, - Listening, especially passive listening, to the desired subscriptions (ABO) on the bus, preferably as long as they are active, in order to save transmission options, bandwidth and / or resources. [2] Method according to claim 1, where the process is repeated dynamically, in particular periodically and / or event-specifically, preferably after commissioning of the bus and / or after starting a network participant (SG), and / or regularly, preferably after starting an application (SWC) of a network participant (SG), and / or wherein the method steps are carried out successively, at least partially overlapping and / or simultaneously, and / or wherein the method is carried out by at least one control unit of an application (SWC) and / or by a network participant (SG). [3] Method according to one of the preceding claims, wherein in particular for listening to the desired subscriptions (ABO) on the bus, further comprising: - Monitoring the bus for, in particular relevant, service discovery messages (S, SA), in particular subscribe service messages (S) and / or subscribe service confirmation messages (SA), - Check whether there are subscriptions (ABO) on the bus that concern comparable, in particular identical, and preferably successful, services and / or event groups of individual services, such as desired services and / or event groups, - Opening corresponding connections (sockets) for the desired services and / or event groups, - Providing feedback to corresponding applications (SWC), - Eavesdropping, especially passive eavesdropping, on the services and / or event groups on the bus, - Transmitting services and / or event groups to the corresponding applications (SWC). [4] Method according to one of the preceding claims, wherein in particular before monitoring the bus for service discovery messages, further comprising: - Checking the bus for incoming offer service messages (O), - Check whether applications (SWC) have requested specific services and / or event groups of individual services, - Preparation of corresponding subscriptions (ABO), and advantageously then: - Monitoring the bus for service discovery messages (O, S, SA). [5] Method according to one of the preceding claims, in particular for listening to the desired subscriptions (ABO) on the bus, further comprising: - Monitoring the bus for, in particular relevant, service discovery messages (O, S, SA), in particular comprising: Find Service messages, Offer Service messages (O), Subscribe Service messages (S) and / or Subscribe Service Confirmation messages (SA), - Check whether there are subscriptions (ABO) on the bus that concern comparable, in particular identical, and preferably successful, services and / or event groups of individual services, such as desired services and / or event groups, - Check whether, especially relevant, service discovery messages (O, S, SA) have already been sent, - Postponement of your own subscription (ABO) depending on the verification, in particular, if, especially relevant, service discovery messages (O, S, SA) have already been sent, then: - Check whether, especially relevant, service discovery messages (O, S, SA) were sent by a network participant (SG) with a smaller sending number (N) than its own sending number (N*), if so, then: - Postpone sending of own service discovery messages (O, S, SA) as long as there are duplicates for desired services and / or event groups on the bus, if no, then: - Do not stop sending your own service discovery messages (O, S, SA). [6] Method according to one of the preceding claims, in particular for listening to the desired subscriptions on the bus, further comprising: - Starting a timer (TTL) upon detection of, particularly relevant, service discovery messages (O, S, SA), - Determining, in particular measuring and / or calculating, a maximum cycle length and / or a minimum cycle length for acyclic communication, - Determining, in particular measuring and / or calculating, a number of cycles between sending a Subscribe Service message (S) and receiving a Subscribe Service confirmation message (SA), - Determining a time to send your own service discovery messages (O, S, SA) for desired services and / or event groups of individual services, - Start your own subscriptions (ABO) for desired services and / or event groups, - Postponing your own subscriptions (ABO) if the desired subscriptions (ABO) can be listened to on the bus. [7] Method according to one of the preceding claims, in particular before resetting your own subscriptions (ABO), further comprising: - Check whether current data on desired services and / or event groups of individual services is required, - Sending your own service discovery messages (O, S, SA) for desired services and / or event groups, - Check whether current data on desired services and / or event groups have been received, especially after successfully completing your own subscription (ABO), - Postponing your own subscriptions (ABO) depending on the review. [8] Method according to one of the preceding claims, wherein in particular for starting the method according to one of the preceding claims, further comprising: - Monitoring the utilization of transmission options within a cycle on the bus, - Check whether there is a need for additional free broadcasting options, - Check whether there is a need to reduce bus access times, - Determining an optimization potential depending on the review, - Starting the method according to one of the preceding claims. [9] Computer program product comprising instructions which, when the computer program product is executed by a computer, cause the computer to carry out the method according to one of the preceding method claims. [10] Control unit (ECU), comprising a computing unit (CU) and a memory unit (MU) in which instructions are stored which, when at least partially executed by the computing unit (CU), carry out a method according to one of the preceding method claims. [11] Control unit (ECU) according to the preceding claim, wherein the control unit (ECU) is implemented at least partly in at least one control unit of an application (SWC) and / or at least partly in a network participant (SG). [12] Vehicle comprising a control unit (ECU) according to one of the preceding claims.
Citation Information
Patent Citations
Scalable Ethernet Communication in a Vehicle Using Multicast Messages
DE102014225802A1
Vehicle component for providing at least one service in a vehicle, comprising a prefilter unit
US20220394103A1
Detecting anomalous communications
US20230090242A1
Device and method for performing dynamic-service-oriented communication between vehicle applications on autosar adaptive platform
US20240106916A1