IP Library › Granted Patent US 12,443,451
Granted Patent B2
US 12,443,451 · App. 18/901,209 · Granted Oct 14, 2025

Method for the computer-aided execution of a technical process in processing units, computing environment, and storage medium

Inventors: Sonja Steffens (Evessen, DE); Michael Hofer (Uitikon, CH); Matthias Bolz (Braunschweig, DE); Stefan Gerken (Braunschweig, DE)
Assignee: Siemens Mobility GmbH
G06F9/5027
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,443,451
App. No.
18/901,209
Granted
Oct 14, 2025
Kind
B2
Abstract

A method executes a technical process by executing application programs redundantly in a redundancy group containing a plurality N of computing entities and thereby calculate a plurality N of redundant results. A comparison of the messages containing the results is performed. When a majority of the messages contain identical results the majority of messages is used for further execution of the technical process. Processing units are formed from a plurality of computing entities being combined in each of the processing units, wherein none of these processing units contains a plurality of computing entities from the same redundancy group. The generated redundant messages are compared to determine if the messages are to be sent as external messages to computing entities, which do not belong to the processing units. No comparison is carried out for messages that are exchanged as internal messages between computing entities within a processing unit.

Claims (35)

1. A method for a computer-aided execution of a technical process, which comprises the steps of:

a) executing application programs redundantly in a redundancy group containing a plurality N of computing entities and thereby calculate a plurality N of redundant results;

b) carrying out a comparison of a plurality N of messages containing the redundant results in a voting;

c) using a majority of messages for further execution of the technical process in an event that the majority of the messages contain identical results;

d) forming processing units from a plurality N of the redundancy groups each having the plurality N of computing entities, a plurality of different said computing entities is combined in each of the processing units, wherein none of the processing units contains a plurality of said computing entities from one and a same said redundancy group;

e) comparing a respectively generated plurality N of redundant messages in the voting if the redundant messages are to be sent as external messages to the computing entities, which do not belong to the processing units, in which the redundant messages were generated;

f) carrying out no voting for the redundant messages that are exchanged as internal messages between the computing entities within a processing unit;

g.1) operating a plurality of N the processing units in work cycles;

g.2) transferring, at a beginning of each work cycle, messages required for the work cycle and addressed to the computing entities of the processing unit concerned to the processing unit;

h) subsequently processing all the messages required for an execution of the application programs by the computing entities in the plurality N of processing units in identical order, wherein new redundant messages are generated; and

i) comparing the new redundant messages with each other in the steps b), c), d) and e).

2. The method for the computer-aided execution according to claim 1 , wherein the step h) is carried out in sub-cycles, wherein:

j) the computing entities of each of the plurality N of processing units receive the messages addressed to them;

k) the messages are then processed, with new internal messages generated during processing being stored in at least one intermediate buffer of a processing unit of the processing units;

l) Subsequently, the messages stored in the at least one intermediate buffer in step k) are sorted taking into account sorting rules which are identical for all of the plurality N of processing units concerned; and

m) steps j) and k) and l) are repeated, with the computing entities receiving and processing the messages addressed to them that were newly created in previous step k), until there are no more unprocessed internal messages addressed to the computing entities in the at least one intermediate buffer.

3. The method for computer-aided execution according to claim 1 , which further comprises performing the voting in a computing entity which does not belong to any of the plurality N of redundancy groups.

4. The method for computer-aided execution according to claim 1 , wherein the application programs consist of utility programs aimed at the computer-aided execution of the technical process and service programs supporting functions of a computing environment.

5. The method for computer-aided execution according to claim 1 , wherein all the processing units containing the computing entities of a redundancy group are each implemented on a different processor or at least each on a different computing core.

6. A computing environment, comprising:

a plurality of computing entities, wherein a plurality N of the computing entities are combined to form one of a plurality of redundancy groups and all said computing entities in each redundancy group of said redundancy groups are set up to execute an application program redundantly;

the computing environment being further divided into a plurality N of processing units derived from said redundancy groups, wherein:

a) a plurality of said computing entities are combined to form each of said processing units;

b) none of said processing units contains a plurality of said computing entities from one and a same said redundancy group;

a plurality of computing cores of a processor are combined in at least one of said processing units;

the computing environment having a computing entity from said computing entities that is set up:

c) to compare in a voter in a voting a plurality N of redundant messages generated by said computing entities, in an event that the redundant messages leave one of said processing units as external messages;

d) not to compare the redundant messages in an event that the redundant messages are exchanged as internal messages between said computing entities within said processing unit;

said plurality of N processing units operates in work cycles, wherein:

e) at a beginning of each work cycle, messages required for the work cycle and addressed to said computing entities of said processing unit concerned are transferred to said processing unit;

f) subsequently, all the messages required for an execution of the application programs are processed by said computing entities in said plurality N of processing units in identical order, wherein new redundant messages are generated;

g) the new redundant messages are then compared with each other in the step c).

7. The computing environment according to claim 6 , wherein said computing entity set up as said voter is an external computing entity that does not belong to said redundancy group from which it is set up to receive redundancy messages for voting.

8. The computing environment according to claim 6 , wherein said voter is one of a plurality of voters.

9. A non-transitory computer readable medium having computer-executable instructions which when executed on a computer perform the method according to claim 1 .

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2024
From: STEFFENS, SONJA; BOLZ, MATTHIAS; GERKEN, STEFAN
To: SIEMENS MOBILITY GMBH
Reel/Frame 069496/0782 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2024
From: HOFER, MICHAEL
To: SIEMENS MOBILITY AG
Reel/Frame 069496/0787 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2024
From: SIEMENS MOBILITY AG
To: SIEMENS MOBILITY GMBH
Reel/Frame 069496/0790 →
Priority Claims (1)
EP 23200601 · Sep 28, 2023 · regional
Continuity (1)
Related Publication 20250110790A1 · Apr 3, 2025
References Cited (35)
US 6122756A · Baxter · 2000 [cited by examiner]
US 6363496B1 · Kwiat · 2002 [cited by examiner]
US 8412980B2 · Hickey · 2013 [cited by examiner]
US 10366557B2 · Eckelmann-Wendt · 2019 [cited by examiner]
US 10719356B1 · Corbett · 2020 [cited by examiner]
US 11334451B2 · Eckelmann-Wendt et al. · 2022 [cited by applicant]
US 11803420B1 · Kinney, Jr. · 2023 [cited by examiner]
US 11822326B2 · Kong · 2023 [cited by examiner]
US 11876533B2 · Schallenberg · 2024 [cited by examiner]
US 20050204184A1 · Endo · 2005 [cited by examiner]
US 20050273653A1 · Zubkow · 2005 [cited by examiner]
US 20060080678A1 · Bailey · 2006 [cited by examiner]
US 20060242456A1 · Kondo · 2006 [cited by examiner]
US 20070234296A1 · Zorn · 2007 [cited by examiner]
US 20070234297A1 · Zorn · 2007 [cited by examiner]
US 20100192164A1 · Golm · 2010 [cited by examiner]
US 20150234693A1 · Palframan · 2015 [cited by examiner]
US 20160026166A1 · Gamer · 2016 [cited by examiner]
US 20160299839A1 · Biewer · 2016 [cited by examiner]
US 20160314057A1 · De Oliveira et al. · 2016 [cited by applicant]
US 20180267866A1 · Venu · 2018 [cited by examiner]
US 20180349235A1 · Freydel · 2018 [cited by examiner]
US 20200052890A1 · Baron · 2020 [cited by examiner]
US 20200175168A1 · Völp et al. · 2020 [cited by applicant]
US 20220169140A1 · Yang · 2022 [cited by examiner]
US 20230315590A1 · Bruno · 2023 [cited by examiner]
US 20230350746A1 · Huang · 2023 [cited by examiner]
DE 102014219179A1 · 2016 [cited by applicant]
DE 102016215345A1 · 2018 [cited by applicant]
EP 3411858A1 · 2018 [cited by applicant]
Engelmann et al.; “Redundant Execution of HPC Applications With MR-MPI”; Oak Ridge National Laboratory, Oak Ridge, TN, USA; (Engelmann_2011.pdf) (Year: 2011). [cited by examiner]
Ulbrich et al.; “Eliminating Single Points of Failure in Software-Based Redundancy”; 2012 Ninth European Dependable Computing Conference; © 2012 IEEE; DOI 10.1109/EDCC.2012.21 (Ulbrich_2012.pdf; pp. 49-60) (Year: 2012). [cited by examiner]
Nagengast et al.; Synchronization Techniques for Parallel Redundant Execution of Applications; ARCS 2019 Workshop Proceedings; ISBN 978-3-8007-4957-7; (Nagengast_2019.pdf; pp. 137-144) (Year: 2019). [cited by examiner]
Weiherer et al. “Software-Based Triple Modular Redundancy with Fault-Tolerant Replicated Voters”; ARCS 2019 Workshop Proceedings; (Weiherer_2019.pdf; pp. 145-152) (Year: 2019). [cited by examiner]
Steffens, Sonja et al., The development of the new DS3 safety platform—from the research project to commissioning, Signal + Draht (113) Jun. 2021, pp. 52-59. [cited by applicant]