Method for operating software modules
First Claim
1. A method for operating a software module on a processor unit in a controller networked via a data bus in a vehicle, wherein i) the software module is executable in a plurality of controllers which interchange data via the data bus, ii) selection of the controller on which the software module is operated is made based on the available computational capacity of the controllers which are currently in operation, and iii) each of the controllers can turn off the software module when a utilization level of its processor is high, and as soon as the software module has been turned off, the software module is to be started again on another controller:
- said method comprising;
a software module in a controller on which said software module is running sending to the data bus, either cyclically or upon request, an appropriate identifier containing information indicating its operating status and the identity of the controller on which it is running;
checking cyclically to determine whether and on which controller the software module is running, based on said identifier; and
determining which of the controllers has the greatest free computation capacity, taking into account its processor clock frequency;
wherein said determining step is made by virtue of the controllers involved sending in rotation or by means of a request, information that is indicative of their available computational capacity.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for operating a software module on a processor unit in a vehicle optimizes the processor utilization level in networked controllers. The controller on which the software module is operated is selected based on the available computation capacity of the controllers which are currently in operation.
-
Citations
9 Claims
-
1. A method for operating a software module on a processor unit in a controller networked via a data bus in a vehicle, wherein i) the software module is executable in a plurality of controllers which interchange data via the data bus, ii) selection of the controller on which the software module is operated is made based on the available computational capacity of the controllers which are currently in operation, and iii) each of the controllers can turn off the software module when a utilization level of its processor is high, and as soon as the software module has been turned off, the software module is to be started again on another controller:
- said method comprising;
a software module in a controller on which said software module is running sending to the data bus, either cyclically or upon request, an appropriate identifier containing information indicating its operating status and the identity of the controller on which it is running;
checking cyclically to determine whether and on which controller the software module is running, based on said identifier; and
determining which of the controllers has the greatest free computation capacity, taking into account its processor clock frequency;
wherein said determining step is made by virtue of the controllers involved sending in rotation or by means of a request, information that is indicative of their available computational capacity. - View Dependent Claims (2, 3, 4, 5, 6, 7)
- said method comprising;
-
8. A networked controller having software modules stored in a controller'"'"'s memory wherein:
-
a software modules perform primary control tasks;
a software module with a subsidiary task can be additionally stored in a microcontroller'"'"'s memory by the controllers;
the controllers have process cycles;
a process cycle is terminated after a particular time has elapsed, the data ascertained in the process are output onto the data bus, and the process cycle is started again;
the process cycle for the controllers is determined by the software modules for one of the primary task, the operating system and a bus protocol; and
when a process cycle or a process cycle time has elapsed, data are sent to the data bus which characterize their current processor utilization level and processor type used, with the controllers using these data to ascertain the utilization level of the other controllers.
-
-
9. A method of operating a network of controllers which are coupled via a data bus, each of which controllers has at least one processor, and has installed thereon the same software module which can be executed by the processor contained in any one of the controllers, each of said controllers being configured such that it can turn off the software module when a utilization of its processor is high, said method comprising:
-
each controller sending via the data bus, information regarding a current utilization level of its at least one processor;
whenever said software module is running in a particular one of said controllers, said software module in said particular controller sending via the data bus, an identifier indicating its operating state and identifying the particular controller;
checking said data bus to determine whether an identifier is present;
if no identifier is found in said checking step, determining which of the controllers has the greatest available computation capacity, based on its current utilization level as sent via the data bus;
said controller with said greatest available utilization level starting operation of said software module, and said software module sending to said data bus, an identifier indicating its operating status and the identity of the controller in which it is running;
if an identifier is present on the data bus in said checking step, the controller on which said software module is running ascertaining its own processor utilization level and comparing its computation capacity with the available computational capacity of other controllers coupled via the data bus;
if the utilization level of the controller on which the software module is greater than that of one of said other controllers, said controller on which said software module is running ceasing operation of said software module; and
said one of said other controllers starting operation of said software module, and said software module sending to said data bus an identifier indicating that it is running and identifying said one controller.
-
Specification