Method for persistent service discovery learning

By performing service discovery learning and timer management in the traffic control module, the problem of inefficient service discovery of the traffic control module is solved, efficient requests and provisions are achieved when the service is actually needed, and the response capability of the overall system is improved.

CN119149102APending Publication Date: 2024-12-17GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311337870.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-14
Filing Date
2023-10-16
Publication Date
2024-12-17

AI Technical Summary

Technical Problem

The existing vehicle control modules have inefficiency problems in the service discovery process, especially when the relationship between the control module and the service is not established at the best time, resulting in insufficient service requests and provisions.

Method used

By receiving trigger indications of service discovery learning, the processors of multiple control modules perform service discovery learning in the communication network, generate and store service provision and demand lists, the timer manages the learning process, and wakes up related modules when the service is actually needed. to provide services.

Benefits of technology

Improve the efficiency and accuracy of service discovery of the vehicle control module, ensure that the required services can be requested and provided quickly when the service is actually required, and reduce unnecessary resource consumption and waiting time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119149102A_ABST
    Figure CN119149102A_ABST
Patent Text Reader

Abstract

Methods and systems are provided that include a transceiver and one or more processors. The transceiver is configured to at least facilitate receiving an indication of a trigger for service discovery learning of a plurality of control modules of a vehicle. The one or more processors are coupled to the transceiver and are configured to at least facilitate performing service discovery learning among the plurality of control modules with respect to a service to be provisioned or needed by each of the control modules, after the indication of the trigger and before the service is actually needed, performing service discovery learning among the plurality of control modules with respect to the service to be provisioned or needed by each of the control modules. Storing information about the service in a non-volatile memory; and subsequently, when an event in which the service is actually required occurs, requesting and provisioning the service via the plurality of control modules based on the service discovery learning.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] TECHNICAL FIELD The present invention relates generally to vehicles and, in particular, to service discovery for control modules of vehicles. Background Art

[0002] Today, many vehicles have different control modules that request services from and provide services to each other. However, existing systems and methods may not be optimal in certain situations (e.g., when the relationship between the control modules and their corresponding services may not be established at the optimal time).

[0003] Therefore, it is desirable to provide improved methods and systems for service discovery of control modules of vehicles. Furthermore, other desirable features and characteristics of the present invention will become apparent from the subsequent detailed description of the invention and the appended claims, taken in conjunction with the drawings and this background of the invention. Summary of the invention

[0004] In an exemplary embodiment, a method is provided, which includes receiving an indication of a trigger for service discovery learning of multiple control modules of a vehicle; performing service discovery learning about services to be supplied or required by each of the control modules via a communication network between the multiple control modules after the indication of the trigger and before the services are actually required, based on instructions provided by one or more processors of the multiple control modules; and subsequently, when an event occurs in which the services are actually required, requesting and supplying the services via the multiple control modules based on the service discovery learning.

[0005] Additionally, in an exemplary embodiment, the method also includes, in response to the event, controlling one or more vehicle actions via the service using one or more engine parameters or other vehicle parameters according to control instructions provided by the one or more processors.

[0006] Furthermore, in an exemplary embodiment, the triggering of the service discovery includes a software update of the plurality of control modules.

[0007] Furthermore, in an exemplary embodiment, a plurality of control modules are in a sleep mode after service discovery learning and before an event in which a service is actually needed, and after the event, only some of the plurality of control modules required by the service are awakened from the sleep mode.

[0008] Furthermore, in an exemplary embodiment, service discovery learning includes, for each specific control module, identifying a list of services to be offered or required by the specific control module and the IP addresses of other control modules that subscribe to or provide the services.

[0009] Furthermore, in the exemplary embodiment, in determining the time of the service discovery learning, a timer is used for the service discovery learning, and when the service discovery learning is not completed when the timer expires, the service discovery learning is restarted.

[0010] Furthermore, in an exemplary embodiment, the method further includes storing a learning table in a non-volatile memory of the specific control module, the learning table including a list of services to be supplied or required by the specific control module and IP addresses of other control modules that subscribe to or provide the services.

[0011] Furthermore, in the exemplary embodiment, the method further includes: subsequently, when an event occurs in which the service is actually required, requesting and supplying the service via the plurality of control modules based on a learning table stored in a non-volatile memory of the specific control module.

[0012] In another exemplary embodiment, a system including a transceiver and one or more processors is provided. The transceiver is configured to at least facilitate receiving an indication of a trigger for service discovery learning of multiple control modules of a vehicle. The one or more processors are coupled to the transceiver and are configured to at least facilitate: performing service discovery learning between multiple control modules about services to be supplied or required by each of the control modules after the indication of the trigger and before the services are actually required; and subsequently, requesting and supplying services via multiple control modules based on the service discovery learning when an event that the services are actually required occurs.

[0013] Moreover, in an exemplary embodiment, the one or more processors are further configured to at least facilitate: in response to the event, controlling one or more vehicle actions via the service using one or more engine parameters or other vehicle parameters according to instructions provided by the one or more processors.

[0014] Furthermore, in an exemplary embodiment, the triggering of the service discovery includes a software update of the plurality of control modules.

[0015] Furthermore, in an exemplary embodiment, a plurality of control modules are in a sleep mode after service discovery learning and before an event in which a service is actually needed, and after the event, only some of the plurality of control modules required by the service are awakened from the sleep mode.

[0016] Furthermore, in an exemplary embodiment, service discovery learning includes, for each specific control module, identifying a list of services to be offered or required by the specific control module and the IP addresses of other control modules that subscribe to or provide the services.

[0017] Furthermore, in the exemplary embodiment, in determining the time of the service discovery learning, a timer is used for the service discovery learning, and when the service discovery learning is not completed when the timer expires, the service discovery learning is restarted.

[0018] Furthermore, in an exemplary embodiment, one or more processors are further configured to at least facilitate storage of a learning table in a non-volatile memory of a particular control module, the learning table including a list of services to be supplied or required by the particular control module and the IP addresses of other control modules that subscribe to or provide the services.

[0019] In addition, in an exemplary embodiment, one or more processors are also configured to at least facilitate: subsequently, when an event occurs in which the service is actually required, the service is requested and supplied via multiple control modules based on information retrieved by the processor of the specific control module from a learning table stored in the non-volatile memory of the specific control module.

[0020] In another exemplary embodiment, a vehicle is provided, which includes a body, a drive system, a transceiver, and one or more processors. The drive system is configured to move the body. The transceiver is disposed on or in the body and is configured to at least facilitate receiving an indication of a trigger for service discovery learning of multiple control modules of the vehicle. One or more processors are disposed on or in the body, coupled to the transceiver, and configured to at least facilitate: after the indication of the trigger and before the service is actually needed, performing service discovery learning between multiple control modules about services to be supplied or required by each of the control modules; and subsequently, when an event occurs in which the service is actually required, requesting and supplying the service via multiple control modules based on the service discovery learning.

[0021] Furthermore, in an exemplary embodiment, a plurality of control modules are in a sleep mode after service discovery learning and before an event in which a service is actually needed, and after the event, only some of the plurality of control modules required by the service are awakened from the sleep mode.

[0022] In addition, in an exemplary embodiment, the vehicle also includes a non-volatile memory, which is configured to store a learning table, which includes a list of services to be supplied or required by a specific control module and the IP addresses of other control modules that subscribe to or provide the services; wherein, one or more processors are also configured to at least facilitate the storage of the learning table in the non-volatile memory.

[0023] In addition, in an exemplary embodiment, one or more processors are also configured to at least facilitate: subsequently, when an event occurs in which the service is actually required, the service is requested and supplied via multiple control modules based on information retrieved by the processor of the specific control module from a learning table stored in the non-volatile memory of the specific control module. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The present disclosure will be described below in conjunction with the following drawings, wherein like reference numerals represent like elements, and wherein:

[0025] Figure 1 is a functional block diagram of a vehicle according to an exemplary embodiment, the vehicle including a plurality of control modules that request services from and provide services to each other, and for which service discovery is controlled using pre-established relationships prior to occurrence of a triggering event that actually requires a service;

[0026] Figure 2 According to an exemplary embodiment Figure 1 A functional block diagram of an exemplary control module;

[0027] Figure 3 is a process for controlling service discovery of a plurality of control modules for a vehicle according to an exemplary embodiment, and the process may be combined with Figure 1 The transportation means include Figure 1 and Figure 2 A control module; and

[0028] Figure 4 , Figure 5A , Figure 5B and Figure 6 According to an exemplary embodiment, Figure 3 An exemplary illustration of the process of. DETAILED DESCRIPTION

[0029] The following detailed description is merely exemplary in nature and is not intended to limit the present disclosure or its application and uses. Furthermore, there is no intention to be bound by any theory presented in the preceding background or the following detailed description.

[0030] Figure 1 As described in more detail below, in various embodiments, the vehicle 100 includes a control system 102 that includes a transceiver 104, a communication network 106, and a plurality of control modules 108 that are configured to operate in accordance with the present invention. Figure 2 The service discovery process 300 shown in FIG. 1 requests services from each other and provides services to each other. The service discovery process 300 will be described below in conjunction with Figure 2 A more detailed description is given.

[0031] In various embodiments, the vehicle 100 includes an automobile. The vehicle 100 can be any of a variety of different types of automobiles, such as, for example, a sedan, a van, a truck, or a sport utility vehicle (SUV). In some embodiments, the vehicle 100 can also include a motorcycle or other vehicles, such as an airplane, a spacecraft, a boat, etc., and / or one or more other types of mobile platforms (e.g., a robot and / or other mobile platforms).

[0032] In the illustrated embodiment, the vehicle 100 includes a body 110 that substantially surrounds the other components of the vehicle 100. The vehicle 100 also includes a plurality of wheels 112 proximate respective corners of the body 110 to facilitate movement of the vehicle 100. In one embodiment, the vehicle 100 includes four wheels 112, but this may vary in other embodiments (e.g., for trucks and certain other vehicles).

[0033] In addition, if Figure 1 As shown in , in various embodiments, the vehicle 100 includes a drive system 114 for propelling the vehicle 100. In various embodiments, the drive system 114 may include an internal combustion engine and / or an electric motor / generator coupled to its transmission. For example, the vehicle 100 may also incorporate any one or combination of a variety of different types of propulsion systems for the drive system 114, such as, for example, gasoline or diesel fueled internal combustion engines, "flexible fuel vehicle" (FFV) engines (i.e., using a mixture of gasoline and alcohol), gaseous compound (e.g., hydrogen and / or natural gas) fuel engines, combustion / motor hybrid engines, and electric motors.

[0034] Referring back to the control system 102, in various embodiments, each control module 108 includes a control system or module (e.g., an engine control module or "ECU") that controls one or more features of the vehicle 100. Although for illustration purposes only, Figure 1 Six control modules 108 are shown in FIG. 1 , but it will be appreciated that in various embodiments, the control system 102 may include any number of control modules 108 .

[0035] In various embodiments, each control module 108 requests one or more services from one or more other control modules 108, and also provides one or more services to one or more other control modules 108. As referred to herein, a "service" may include values ​​of one or more engine parameters (e.g., engine speed, engine rpm, engine temperature, etc.) and one or more other vehicle parameters (such as vehicle speed, vehicle acceleration, vehicle heading, vehicle steering angle, ambient air temperature, etc.), and / or other information related to the vehicle 100, its surroundings, and / or the operation of the vehicle 100. In various embodiments, each control module 108 includes a computer system having a processor and a memory, such as, for example, Figure 2 As shown in and combined with the following Figure 2 Described.

[0036] like Figure 2 As shown in , in various embodiments, each control module 108 includes a computer system that includes a processor 210 and a service discovery module (SD) 202 and a non-volatile memory (NvM) 204 that are coupled together. In various embodiments, the processor 210 controls the operation of the control module 108 when executing a program 212 (e.g., resident in the controller flash memory). In addition, in various embodiments, the program 212 provides instructions that are executed by the processor 210 when controlling the functions of the control module 108.

[0037] In various embodiments, the service discovery module (SD) 202 provides the ability to discover services and subscribe to service events. In addition, in various embodiments, the non-volatile memory 204 includes a learning table 214 that stores information about services 216 offered or requested by various control modules 108 and IP addresses 218 of various control modules 108 that request and provide services 216.

[0038] Additionally, in various embodiments, nonvolatile memory writes (NvM_WriteAll) 206 are provided information about services into nonvolatile memory 204, and nonvolatile memory reads (NvM_ReadAll) 208 are provided information about services from nonvolatile memory 204, as described in more detail below.

[0039] In various embodiments, the non-volatile memory write (NvM_WriteAll) 206 includes saving, by the processor 210, information related to the services 216 offered or requested by the various control modules 108 and the associated IP addresses 218 of the control modules 108 to the non-volatile memory 204 before the services are actually needed. Additionally, in various embodiments, the non-volatile memory read (NvM_ReadAll) 208 includes subsequently retrieving, by the processor 210, from the non-volatile memory 204 the information of the services 216 offered or requested by the control modules 108 and the associated IP addresses 218 of the control modules 108 when the services are actually needed. In various embodiments, the non-volatile memory write (NvM_WriteAll) 206 and the non-volatile memory read (NvM_ReadAll) 208 are performed by the processor 210 as part of the process 300 and its implementations, which are described in detail in the process 300 and its implementations. Figures 3 to 6 and will be combined below Figures 3 to 6 Describe in more detail.

[0040] Return to reference Figure 1 In various embodiments, the transceiver 104 receives information about one or more triggers and events that require action by the control module 108 (one or more triggers and events such as one or more triggers of service discovery learning and one or more events requiring service, for example, as described below in conjunction with Figure 2 The process of 300 and Figures 3 to 6 In various embodiments, the transceiver 104 provides information to one or more processors 210 of one or more corresponding control modules 108, and one or more corresponding control modules 108 perform the steps of process 300 and its implementation, which are described in more detail in Figures 3 to 6 and combined below Figures 3 to 6 Describe in more detail.

[0041] Continue to refer Figure 1In various embodiments, the communication network 106 couples each of the control modules 108 to the transceiver 104 and to each other. In various embodiments, the communication network 106 includes a wired communication link that connects the control modules 108 to the transceiver 104 and to each other. In some embodiments, the communication network 106 includes one or more Ethernet connections that couple the control modules 108 to the transceiver 104 and to each other. In addition, in some embodiments, the communication network 106 also couples the control modules 108 to the drive system 114 and / or one or more other vehicle systems and / or components to be controlled by one or more processors 210 of the corresponding control module 108.

[0042] Figure 3 is a flow chart of a process 300 for service discovery of multiple control modules for controlling a vehicle according to an exemplary embodiment. In various embodiments, according to an exemplary embodiment, the process 300 may be combined with Figure 1 The vehicle 100 is implemented as follows, the vehicle 100 includes Figure 1 The control system 102 and Figure 1 and Figure 2 The control module 108. Figure 3 as well as Figure 4 , Figure 5A , Figure 5B and Figure 6 (showing an exemplary embodiment) Figure 3 The process 300 is described in more detail in an exemplary embodiment of the process 300 of the present invention.

[0043] Continue to refer Figure 3 In various embodiments, process 300 begins at step 302. In various embodiments, according to an exemplary embodiment, when Figure 1 and Figure 2 Process 300 begins when the control module 108 is in a dormant mode (eg, an “off” mode or a “sleep” mode) (eg, in the dormant mode, the vehicle 100 is not operating (or is in limited operation)).

[0044] In various embodiments, a trigger is received (step 304). In various embodiments, the trigger is received as a Figure 1 In some embodiments, the trigger includes a software update, such as Figure 1 and Figure 2Over the air (“OTA”) software updates of the control module 108 from a remote server (eg, as provided via a vehicle manufacturer and / or service center, etc.).

[0045] In various embodiments, the control module is awakened (step 306). Specifically, in various embodiments, Figure 1 and Figure 2 The control module 108 is awakened into an active state for a relatively short amount of time (e.g., less than a minute in various embodiments, and approximately five seconds in some embodiments) in order to perform a learning process in response to a trigger (e.g., a software update). In various embodiments, the control module 108 is awakened via one of the processors 210 after receiving a triggering message from the transceiver 104.

[0046] In various embodiments, a learning process is performed (step 308). Specifically, in various embodiments, following indication of the trigger of step 304 (and before the services are actually needed), a learning process (or service discovery learning) is performed by the control module 108 (via instructions provided by its processor 210) regarding a list of new and / or updated services to be offered and requested by the various control modules 108 and the identities (including corresponding IP addresses) of the control modules 108 that are offering and requesting the various services. Figure 2 In various embodiments, as a result of a trigger of step 304 requiring new or updated learning (e.g., a software update), Figure 1 Each of the control modules 108 of Figure 2 The learning process of step 308 is performed based on the services 216 and IP addresses 218 of the learning table 214 shown in FIG.

[0047] Reference now Figure 4 According to an exemplary embodiment, a learning table state diagram 400 is provided, wherein the learning table state diagram 400 is about Figure 3 During the learning process of step 308, Figure 1 Each module 108 of the modules 108, with Figure 2 The learning table status associated with the learning table 214.

[0048] like Figure 4As shown in the learning state diagram 400, in various embodiments, the information in the learning table is cleared, thereby obtaining a cleared learning table state 410. Specifically, in various embodiments, as a result of a trigger (e.g., a software update), the information in the learning table 214 of each control module 108 in the control module 108 (e.g., the previous learning completion state 450 from the previous iteration) is cleared. In addition, in various embodiments, when the learning table is in the clear state 410, the learning timer is started. In various embodiments, these actions are performed by one or more processors. In some embodiments, these actions are performed by the processor 210 of the corresponding control module 108 for each corresponding control module 108.

[0049] In various embodiments, as the learning process proceeds, information about services and / or subscriptions (including the various control modules 108 that provide or subscribe to the services) is added to the learning table at 415, resulting in an updated state 420 of the learning table. Specifically, in various embodiments, information about services provided or requested by other service modules 108 is collected by each control module 108 via the corresponding processor 210 of the various service modules 108. In addition, in various embodiments, if an error occurs during the update state 420 (for example, if a storage block is corrupted and needs to be reset to an initial value), then at 416, clearing of the information occurs again, returning the learning table to the cleared state 410.

[0050] Additionally, in various embodiments, if the learning process timer has expired during the update state 420 and the update of the learning table is not complete, a "learning not complete" determination is made at 425, resulting in Figure 4 The learning is not completed state 430. In some embodiments, this is performed for each corresponding control module 108 by the processor 210 of the corresponding control module 108.

[0051] In various embodiments, when the learning table is in the learn incomplete state 430, at 435, the information in the learning table is cleared again, returning to the cleared state 410. In various embodiments, this is performed individually for each control module 108 (e.g., in certain embodiments, for the particular control module 108 that is in the learn incomplete state 430) via the respective processor 210 of each control module 108. In various embodiments, the learning process then continues again with a new iteration of 415.

[0052] Conversely, referring back to update state 420, in various embodiments, if the learn table is complete, a "learn complete" determination is made at 426, resulting in Figure 4The all-services learning state 440 of a particular control module 108 is achieved. In various embodiments, the all-services learning state 440 is achieved for a particular control module 108 when the learning table 214 for the particular control module 108 includes, for each particular control module, both: (i) a list of all services required by the particular control module 108 and the IP addresses of other control modules 108 that supply the services required by the particular control module 108; and (ii) a list of all services supplied by the particular control module 108 and the IP addresses of other control modules 108 that request and / or subscribe to the services supplied by the particular control module 108. In some embodiments, this is performed by the processor 210 of the respective control module 108 for each respective control module 108.

[0053] In various embodiments, once the control module 108 is in the all services learning state 440, at 445, once the learning process timer expires, the control module 108 reaches the learning complete state 450. In various embodiments, as part of the learning complete state 450, detected updates to the location (e.g., IP address) of a service provider or subscriber (e.g., some other control module 108 that is provisioning or requesting services) are stored in a Figure 2 The learning table 214 of the non-volatile memory 204 is stored in the learning table 214 of the non-volatile memory 204, and other entities (eg, certain other control modules 108 that may no longer be providing or requesting service) are removed from the learning table 214 of the non-volatile memory 204.

[0054] Specifically, and return reference Figure 3 In various embodiments, information from the learning process is stored (step 310). As described above, in various embodiments, information from the learning process, including a list of services 216 and their providers and subscribers' IP addresses 218, is stored in Figure 2 In various embodiments, this is performed for each control module 108 via a corresponding processor 210 of each control module 108, including a non-volatile memory write 206 by the processor 210 to the non-volatile memory 204, such as Figure 2 as shown in .

[0055] refer to Figure 5A and Figure 5B , respectively provide a first learning table 500 ( Figure 5A ) and the second learning table 550 ( Figure 5B In various embodiments, the first learning table 500 and the second learning table 550 both correspond to Figure 2 The learning table 214 (or a portion thereof) is described below.

[0056] First reference Figure 5A , the first learning table 500 corresponds to the specific control module 108 Figure 2 The learning table 214 (or a portion thereof) of the particular control module 108 is a client (or subscriber) of one or more services provided to the particular control module 108 by one or more other control modules 108. Figure 5A As shown in FIG. 5 , the first learning table 500 includes one or more service identifiers 504 and server IP addresses 506. In various embodiments, the service identifiers 504 belong to one or more services required by a particular control module 108 (such as a first service 508 and a second service 510, as examples), while the IP addresses 506 belong to one or more other control modules 108 (e.g., having a first IP address 512 and / or a second IP address 514, etc.) that provide services to the particular control module 108.

[0057] First reference Figure 5B The second learning table 550 corresponds to the specific control module 108 Figure 2 The learning table 214 (or a portion thereof) of the particular control module 108 is a server (or provider) of one or more services that the particular control module 108 provides to one or more other control modules 108 that request and / or subscribe to the services. Figure 5B , the second learning table 550 includes one or more service identifiers 554 and server IP addresses 556. In various embodiments, the service identifier 554 belongs to one or more services (such as a first service 558 and a second service 560, as examples) supplied or provided by a particular control module 108, and the IP address 556 belongs to one or more other control modules 108 (e.g., having a first IP address 562 and / or a second IP address 564, etc.) that subscribe to or receive services provided by the particular control module 108.

[0058] Although Figure 5A and Figure 5B Separate learning tables 500 and 550 are shown for control modules 108 that are clients and servers, respectively, but it will be understood that at least some control modules 108 can be both clients and servers. In particular, for various control modules 108 that receive some services (as clients or subscribers) but provide some other services (as servers or providers), it will be understood that these control modules 108 can have Figure 2 The learning table 214 includes a client portion or component (e.g., corresponding to Figure 5A 500) and a server portion or component (eg, corresponding to Figure 5B The second learning table 550).

[0059] Return to reference Figure 3 In various embodiments, an event requiring service is detected (step 314). In various embodiments, for example, such an event may include starting an engine or motor of the vehicle, and / or performing a vehicle turn and / or any number of other vehicle actions that may require service, such as one or more engine parameters, one or more other vehicle parameters, and the like.

[0060] Furthermore, in various embodiments, one or more control modules are awakened (step 316). In various embodiments, in one example, when a specific service is needed, the specific control module 108 that needs the specific service wakes up certain other control modules 108 that are known to supply or provide the specific service (but does not wake up other control modules 108 that are not related to the service) according to the learning table 214 of the specific control module 108. Furthermore, in various embodiments, in another example, the specific control module 108 that supplies the specific service wakes up certain other control modules 108 that are known to need or subscribe to the specific service (but does not wake up other control modules 108 that are not related to the service) according to the learning table 214 of the specific control module 108. Therefore, in various embodiments, in either case, as a result of the information previously stored in the learning table 214, the processor 210 of the specific control module 108 only needs to wake up certain selected other control modules 108 that supply or subscribe to the specific service, rather than waking up all control modules 108. Furthermore, in various embodiments, as Figure 2 As shown in , the selection of which other control module(s) to wake up is made based on information in a learning table 214 via a non-volatile memory read 208 by a processor 210 from non-volatile memory 204 .

[0061] In various embodiments, services are requested and provided (step 318). In various embodiments, various control modules 108 (i.e., the specific control module 108 of step 316 and other control modules 108 awakened in step 316) communicate with each other to provide and receive the requested services. Specifically, in various embodiments, for each specific service, the subscriber control module 108 receives the requested service from the provider control module 108, and so on. In addition, in various embodiments, the services are implemented via the corresponding control modules 108 when performing one or more vehicle actions. Specifically, in various embodiments, one or more processors 210 of one or more corresponding control modules 108 utilize services (e.g., engine parameters, vehicle parameters and / or one or more services) when operating the vehicle, and operating the vehicle includes controlling the acceleration, deceleration, steering of the vehicle through vehicle movement, turning, braking and / or various other vehicle manipulations and / or actions.

[0062] In various embodiments, the process then terminates at step 320 .

[0063] refer to Figure 6 According to an exemplary embodiment, for Figure 3 The process 300 provides a flow chart 600, including the learning process of step 308 and Figure 4 The learning table state diagram 400. Figure 6 As shown in , in various embodiments, a client 602 (eg, a control module 108 that subscribes to one or more services) communicates with a server 604 (eg, another control module 108 that provides one or more services).

[0064] In various embodiments, such as Figure 6 As shown in FIG. 6 , at 606, server 604 provides one or more of its services to the client. Further, in various embodiments, in response, at 608, client 602 invokes a remote procedure call to server 604. Further, in various embodiments, at 610, client 602 subscribes to the service (e.g., as a subscriber to an event group associated with server 604). Further, in various embodiments, at 612, server 604 confirms the subscription of client 602. In various embodiments, 606 to 612 occur at Figure 3 During the learning process of step 308 of process 300, Figure 3 The triggering of step 304 is followed by step 306 after the client 602 and the server 604 are awakened, but before an event occurs where the service is actually needed.

[0065] Then, in various embodiments, after an event occurs in which the service is actually needed, the service is provided by the server 604 to the client 602 at 614. In various embodiments, the provision of the service (eg, in the form of event data) corresponds to Figure 3 Steps 314 to 318 of process 300 are as follows, for example, when an event occurs (step 314), the control module 108 associated with the service is awakened (step 316), and the service is requested and provided (step 317). Figure 3 Step 318).

[0066] In various embodiments, methods and systems for service discovery learning of control units of vehicles are provided. In various embodiments, once a software update or other trigger occurs, the control modules 108 are each awakened for a relatively short duration (e.g., in some embodiments, approximately five seconds), during which service discovery learning is performed for each of the control units 108. In various embodiments, during service discovery learning, a learning table is generated and / or updated and stored in a non-volatile memory of the control unit 108, the learning table identifying the services that are required or supplied and the IP addresses of other control modules 108 that subscribe to or supply these services. In various embodiments, this service discovery learning is performed before the service is actually needed. Therefore, when various control modules 108 go to sleep after service discovery learning, and the actual demand for services subsequently occurs, services can be more efficiently supplied and received because the requesting control module 108 knows in advance which control modules 108 supply services (and knows in advance the IP addresses of these control modules 108), and only those control modules 108 related to the service need to be awakened, etc.

[0067] It will be appreciated that vehicles, systems, components, methods, and implementations may vary from those shown in the figures and described herein. Figure 1 The vehicle 100 (including the control system 102, the control module 108 and its components) may be different from Figure 1 and Figure 2 Similarly, it will be understood that Figures 3 to 6 The steps of the processes and embodiments may be different from those shown in the figures, and / or various steps may occur simultaneously and / or in an order different from that shown in the figures.

[0068] Although at least one exemplary embodiment has been proposed in the foregoing detailed description, it should be understood that there are a large number of variations. It should also be understood that one or more exemplary embodiments are merely examples and are not intended to limit the scope, applicability or configuration of the present disclosure in any way. On the contrary, the foregoing detailed description will provide a convenient roadmap for those skilled in the art to implement one or more exemplary embodiments. It should be understood that various changes may be made to the functions and arrangements of the elements without departing from the scope of the present disclosure as set forth in the attached claims and their legal equivalents.

Claims

1. A method, include: receiving an indication of a trigger for service discovery learning of a plurality of control modules of a vehicle; performing, based on instructions provided by one or more processors of the plurality of control modules, service discovery learning of the services to be supplied or required by each of the services via a communication network between the plurality of control modules after the indication of the trigger and before the services are actually required; as well as Then, when an event occurs in which the service is actually needed, the service is requested and supplied via the plurality of control modules based on the service discovery learning.

2. The method according to claim 1, further comprising: include: In response to the event, one or more vehicle actions are controlled via the service using one or more engine parameters or other vehicle parameters according to control instructions provided by the one or more processors.

3. The method according to claim 1, in, The triggering of the service discovery includes a software update of the plurality of control modules.

4. The method according to claim 1, in, The plurality of control modules are in a sleep mode after the service discovery learning and before the event that the service is actually needed, and after the event, only some of the plurality of control modules needed by the service are awakened from the sleep mode.

5. The method according to claim 1, in, The service discovery learning includes, for each specific control module, identifying a list of services to be provided or required by the specific control module and the IP addresses of other control modules that subscribe to or provide the services.

6. The method according to claim 1, in: In determining the time of the service discovery learning, a timer is used for the service discovery learning, and When the service discovery learning is not completed when the timer expires, the service discovery learning is restarted.

7. The method according to claim 5, further comprising: include: A learning table is stored in a non-volatile memory of the specific control module, the learning table including the list of services to be supplied or required by the specific control module and the IP addresses of the other control modules that subscribe to or provide the services.

8. The method according to claim 7, further comprising: include: Then, when the event occurs in which the service is actually needed, the service is requested and supplied via the plurality of control modules based on the learning table stored in the nonvolatile memory of the specific control module.

9. A system, include: a transceiver configured to at least facilitate receiving an indication of a trigger for service discovery learning of a plurality of control modules of a vehicle; as well as and one or more processors coupled to the transceiver and configured to at least facilitate: performing service discovery learning between said plurality of control modules about said services to be supplied or required by each of said services after said indication of said trigger and before said services are actually required; as well as Then, when an event occurs in which the service is actually needed, the service is requested and supplied via the plurality of control modules based on the service discovery learning.

10. The system according to claim 9, in: The service discovery learning includes, for each specific control module, identifying a list of services to be supplied or required by the specific control module and the IP addresses of other control modules that subscribe to or provide the services; as well as The one or more processors are also configured to at least facilitate storing a learning table in the non-volatile memory of the particular control module, the learning table including the list of services to be supplied or required by the particular control module and the IP addresses of the other control modules that subscribe to or provide the services.