Search

US-12619514-B2 - System and method for executing functionally equivalent applications

US12619514B2US 12619514 B2US12619514 B2US 12619514B2US-12619514-B2

Abstract

A system for executing functionally equivalent applications. The system includes a cloud system including a plurality of cloud instances, the plurality of cloud instances being set up in each case to execute a functionally equivalent application in each case based on the same input data, the respective execution including a processing of the input data by the respective application in order to output an application result in each case, and a comparison device, which is set up to compare the respective application results in order to ascertain a comparison result and to output the comparison result that has been ascertained. A method for executing functionally equivalent applications, a computer program, and a machine-readable storage medium, are also described.

Inventors

  • Bernd Gassmann
  • Charles Kalleppally
  • Uwe Wilbrand

Assignees

  • ROBERT BOSCH GMBH

Dates

Publication Date
20260505
Application Date
20220812
Priority Date
20210901

Claims (17)

  1. 1 . A system for executing functionally equivalent applications, comprising: a cloud system including a plurality of cloud instances executing on at least one computer, each of the plurality of cloud instances being set up to respectively execute a functionally equivalent respective application relative to one another based on the same input data, the respective execution including a processing of the input data by the respective application to output a respective application result in each case; a comparison device, which is set up to compare the respective application results to ascertain a comparison result and to output the comparison result that has been ascertained; wherein the system is configured to generate a control signal for guiding an at least partially automated vehicle, based on the output comparison result; and wherein the at least partially automated motor vehicle is guided in an at least partially automated fashion using the control signal.
  2. 2 . The system as recited in claim 1 , wherein in each of the cloud instances, a Kubernetes-based monitoring is implemented, which is set up to monitor the execution of the application.
  3. 3 . The system as recited in claim 1 , wherein the comparison device is set up to compare the respective application results on a lockstep basis.
  4. 4 . The system as recited in claim 1 , wherein the comparison device is set up to evaluate the respective application results so that the comparison of the respective application results includes a comparison of the evaluated application results.
  5. 5 . The system as recited in claim 4 , wherein the comparison device is set up to evaluate the respective application results as a function of the respective cloud instance in which the respective application was executed.
  6. 6 . The system as recited in claim 5 , wherein the cloud instances are each characterized by one or more of the following cloud instance attributes, and the comparison device being set up to evaluate the respective application results as a function of one or more of the following cloud instance attributes: location, computing capacity, bandwidth.
  7. 7 . The system as recited in claim 1 , wherein the function corresponding to the functionally equivalent applications includes an at least partially automated driving function, the at least partially automated driving function being an infrastructure-based, at least partially automated driving function.
  8. 8 . The system as recited in claim 1 , wherein the input data include environment data, which represent an environment of the motor vehicle, the processing of the input data by each of the respective applications including analyzing the environment data to detect one or more objects in the motor vehicle's environment, each application result including an object list, which indicates the detected object or objects in the motor vehicle's environment.
  9. 9 . A method for executing functionally equivalent applications using a cloud system including a plurality of cloud instances, the method comprising the following steps: respectively executing each respective application of the functionally equivalent applications, based on the same input data, on respective cloud instances executing on at least one computer, each respective execution including a processing of the input data by the respective application to output a respective application result; comparing the respective application results to ascertain a comparison result; outputting the ascertained comparison result; generating a control signal for guiding an at least partially automated vehicle, based on the output comparison result; and guiding the at least partially automated motor vehicle in an at least partially automated fashion using the control signal.
  10. 10 . The method as recited in claim 9 , wherein, in each of the cloud instances, a Kubernetes-based monitoring is implemented, which monitors the execution of the respective application.
  11. 11 . The method as recited in claim 9 , wherein the respective application results are compared on a lockstep basis.
  12. 12 . The method according to claim 9 , wherein the respective application results are evaluated so that the comparison of the respective application results includes a comparison of the evaluated application results.
  13. 13 . The method as recited in claim 12 , wherein the respective application results are evaluated as a function of the respective cloud instance in which the respective application was executed.
  14. 14 . The method as recited in claim 13 , wherein the cloud instances are each characterized by one or more of the following cloud instance attributes, and the respective application results being evaluated as a function of one or more of the following cloud instance attributes: location, computing capacity, bandwidth.
  15. 15 . The method as recited in claim 9 , wherein a function corresponding to the functionally equivalent applications includes an at least partially automated driving function, the at least partially automated driving function being an infrastructure-based, at least partially automated driving function.
  16. 16 . The method as recited in claim 9 , wherein the input data include environment data, which represent an environment of the motor vehicle, the processing of the input data by the respective applications includes analyzing the environment data to detect one or more objects in the motor vehicle's environment, each respective application result including an object list, which indicates the detected object or objects in the motor vehicle's environment.
  17. 17 . A non-transitory machine-readable storage medium on which is stored a computer program for executing functionally equivalent applications using a cloud system including a plurality of cloud instances, the computer program, when executed by a computer, causing the computer to perform the following steps: respectively executing each of the functionally equivalent applications, based on the same input data, on respective cloud instances executing on at least one computer, each respective execution including a processing of the input data by the respective application to output an respective application result; comparing the respective application results to ascertain a comparison result; outputting the ascertained comparison result; generating a control signal for guiding an at least partially automated vehicle, based on the output comparison result; and guiding the at least partially automated motor vehicle in an at least partially automated fashion using the control signal.

Description

CROSS REFERENCE The present application claims the benefit under 35 U.S.C. § 119 of German Patent Application No. DE 10 2021 209 627.1 filed on Sep. 1, 2021, which is expressly incorporated herein by reference in its entirety. FIELD The present invention relates to a system for executing functionally equivalent applications, a method for executing functionally equivalent applications, a computer program, and a machine-readable storage medium. BACKGROUND INFORMATION The published U.S. Patent Application No. 2021/00274145 A1 describes a system and a method for distributed computing using graphics processors. The published International Patent Application No. WO 2020/121292 A1 describes data processing in a serverless environment. The U.S. Pat. No. 10,698,625 B2 describes data pipeline architecture. SUMMARY An object of the present invention is to provide a way for executing functionally equivalent applications. This object may be achieve according to the present invention. Advantageous example embodiments of the present invention are disclosed herein. According to a first aspect of the present invention, a system for executing functionally equivalent applications is provided. According to an example embodiment of the present invention, the system includes: a cloud system including a plurality of cloud instances,the plurality of cloud instances being set up in each case to execute a functionally equivalent application in each case based on the same input data, the respective execution including a processing of the input data by the respective application in order to output an application result in each case, anda comparison device, which is set up to compare the respective application results in order to ascertain a comparison result and to output the comparison result that has been ascertained. According to a second aspect of the present invention, a method for executing functionally equivalent applications using a cloud system including a plurality of cloud instances is provided. According to an example embodiment of the present invention, the method includes the following steps: executing a functionally equivalent application in each case based on the same input data on the cloud instances, the respective execution including a processing of the input data by the respective application in order to output an application result in each case,comparing the respective application results to ascertain a comparison result, andoutputting the ascertained comparison result. According to a third aspect of the present invention, a computer program is provided, including commands which, when the computer program is executed by a computer, for example by the system according to the first aspect, cause said computer to execute a method according to the second aspect. According to a fourth aspect of the present invention, a machine-readable storage medium is provided, on which the computer program according to the third aspect is stored. The present invention is based on, and incorporates, the finding that the above object may be achieved by using a plurality of cloud instances to execute functionally equivalent applications based on the same input data. This brings about the technical advantage that, for example, high availability of the function corresponding to the functionally equivalent applications can be achieved. Even if one cloud instance should fail, one or more further cloud instances are still available to be able to execute the applications, in order ultimately to be able to provide the function in this way. This is advantageous in particular for applications in which safety and high availability are important. One example, which will be explained later in the following, is the at least partially automated guiding of a motor vehicle. Here, input data, for example environment data, which describe an environment of the motor vehicle, are processed, for example, in order to detect objects in the environment of the motor vehicle. Based on the detected objects, for example, control signals for the at least partially automated control of a lateral and/or longitudinal guidance of the motor vehicle are generated and output. There is a requirement for high availability in the case of this processing. Because a plurality of functionally equivalent applications are executed, which process the same input data, a plurality of application results, i.e., the results of the steps of processing the same input data by the applications, are accordingly available. Based on these results, for example, decisions are made and/or measures are implemented and/or machines are controlled. In safety-critical environments in particular, there is a need for the results to be reliable, for them to be trustworthy, in other words for them to be correct. Ideally, all applications should arrive at the same result, at least within customary tolerances. Should the results be at least partially different, this may be a sign that, for example, the r