Rechtsprechung / Beschwerdekammern des Europäischen Patentamts / Technische Beschwerdekammer 3.5.06 / 2025
Beschwerdekammern des Europäischen Patentamts Entscheidung vom 10.04.2025 – T 482/23
Technische Beschwerdekammer 3.5.06 · ECLI:EP:BA:2025:T048223.20250410
EuroparechtEU / InternationalVolltext
Beschwerde-Aktenzeichen: T 0482/23 - 3.5.06
E N T S C H E I D U N G
der Technischen Beschwerdekammer 3.5.06 vom 10. April 2025 Beschwerdeführer:
(Anmelder) Vertreter:
Patentanwaltskanzlei WILHELM & BECK Prinzenstraße 13 80639 München (DE) Angefochtene Entscheidung:
Zusammensetzung der Kammer:
Vorsitzender Mitglieder:
Beckhoff Automation GmbH Hülshorstweg 20 33415 Verl (DE) M. Müller T. Alecu B. Müller Entscheidung der Prüfungsabteilung des Europäischen Patentamts, die am 16. September 2022 zur Post gegeben wurde und mit der die europäische Patentanmeldung Nr. 19786777.3 aufgrund des Artikels 97 (2) EPÜ zurückgewiesen worden ist.
Sachverhalt und Anträge
I. Die Beschwerde richtet sich gegen die Entscheidung der Prüfungsabteilung, die Anmeldung unter anderem mangels Klarheit (Artikel 84 EPÜ) und ausreichender Offenbarung (Artikel 83 EPÜ) zurückzuweisen.
II. Die Beschwerdeführerin beantragte, die angefochtene Entscheidung aufzuheben und ein Patent im Umfang des Hauptantrags oder im Umfang eines der beiden Hilfsanträge zu erteilen. Die Anträge wurden mit der Beschwerdebegründung eingereicht und sind bis auf redaktionelle Änderungen identisch mit den Anträgen, die Gegenstand der Entscheidung sind.
III. Mit einem Bescheid vom 24. Januar 2025, teilte die Kammer der Beschwerdeführerin ihre vorläufige Meinung mit, dass die beanspruchte Erfindung unzureichend offenbart sei. Die Kammer führte zudem das folgende Dokument ein:
B1: Prasad, Gupta, Rosenberg, Sussman, and Weems, "Topics in Parallel and Distributed Computing:
Enhancing the Undergraduate Curriculum: Performance, Concurrency, and Programming on Modern Platforms", Springer International Publishing, 2018, Chapter 11 – Scheduling in Parallel and Distributed Computing Systems.
IV. Mit ihrer Erwiderung vom 3. April 2025 reichte die Beschwerdeführerin sechs neue Dokumente ein, um das allgemeine Fachwissen zu belegen.
V. Die Entscheidung der Kammer wurde im Rahmen einer mündlichen Verhandlung getroffen und verkündet.
VI. Anspruch 1 des Hauptantrags lautet:
Verfahren zum Ausführen einer Steuerungsaufgabe für ein Automatisierungssystem auf einer speicherprogrammierbaren Steuerung (100) in einem Programmzyklus, wobei die speicherprogrammierbare Steuerung (100) eine Datenverarbeitungseinrichtung (110) mit einer Steuerungseinrichtung (120) einem Prioritätenverwalter (350), wenigstens zwei Hauptprozessorkernen (111, 112) und wenigstens einem Parallelprozessorkern (113, 114) umfasst, wobei die Steuerungsaufgabe wenigstens zwei ausführbare Programme umfasst, wobei die wenigstens zwei ausführbaren Programme jeweils einem der zwei Hauptprozessorkernen (111, 112) zugeordnet sind und von dem zugeordneten Hauptprozessorkern (111, 112) im Rahmen des Programmzyklus ausgeführt werden, wobei die wenigstens zwei ausführbaren Programme jeweils wenigstens einen parallelen Bearbeitungsabschnitt (303) aufweisen, wobei die parallelen Bearbeitungsabschnitte (303) jeweils mehrere Teilaufgaben (321-324, 331-333) umfassen, wobei den parallelen Bearbeitungsabschnitten (303) jeweils eine Priorität mit einer vorgegebenen Prioritätsstufe (340, 345) zugewiesen ist und die Teilaufgaben der parallelen Bearbeitungsabschnitte (303) jeweils parallel ausführbar sind, wobei die jeweiligen Priorität des parallelen Bearbeitungsabschnittes (303) vom dem Prioritätenverwalter (350) in eine Datenstruktur (355) eingefügt wird, sobald das Ausführen des Programms im Programmzyklus an dem parallelen Bearbeitungsabschnitt (303) angelangt ist, wobei die Einträge der Prioritäten der parallelen Bearbeitungsabschnitte (303) in die Datenstruktur in der Reihenfolge der Prioritätsstufen erfolgt, wobei der wenigstens eine Parallelprozessorkern (113, 114) im Programmzyklus prüft, ob in der Datenstruktur (355) Einträge vorhanden sind, und wobei, sofern Einträge vorhanden sind, Teilaufgaben (321-324, 331-333) aus dem parallelen Bearbeitungsabschnitt, dessen Prioritätsstufe (340, 345) an erster Stelle der Einträge in der Datenstruktur (355) steht, von dem wenigstens einen Parallelprozessorkern (113, 114) abgearbeitet werden, wobei der Parallelprozessorkern (113, 114) eine Ausführung von Teilaufgaben eines parallelen Bearbeitungsabschnittes unterbricht, wenn ein paralleler Bearbeitungsabschnitt mit höherer Prioritätsstufe vom Prioritätenverwalter (350) angezeigt wird, wobei während des Programmzyklus der Steuerungsaufgabe ein zu erwartender Rechendurchsatz der Steuerungsaufgabe, der eine Gesamtverarbeitungszeit der Programme im Programmzyklus bestimmt, laufend bewertet wird, wobei bei der Bewertung des Rechendurchsatzes der Steuerungsaufgabe die zeitliche Unterbrechungsdauer und die Anzahl der Unterbrechungen der Teilaufgaben der parallelen Bearbeitungsabschnitte der Programme, die sich durch die Reihenfolge der Einträge der Prioritäten der parallelen Bearbeitungsabschnitte (303) in die Datenstruktur ergeben, berücksichtigt werden, und wobei wenigstens der Wert einer der Prioritätsstufen (340, 345) der parallelen Bearbeitungsabschnitte (340, 345)
der Programme während des Programmzyklus dynamisch angepasst wird, wenn die Anzahl der Unterbrechungen der Teilaufgaben der parallelen Bearbeitungsabschnitte der Programme reduziert wird und sich der Rechendurchsatz der Steuerungsaufgabe dadurch erhöht.
VII. Anspruch 1 des ersten Hilfsantrags lautet wie folgt, wobei Unterstreichungen Ergänzungen gegenüber Anspruch 1 des Hauptantrags markieren:
Verfahren zum Ausführen einer Steuerungsaufgabe eines Automatisierungssystems auf einer speicherprogrammierbaren Steuerung (100)in einem Programmzyklus, wobei die Steuerungsaufgabe aus Sensordaten des Automatisierungssystems Aktordaten des Automatisierungssystems erzeugt, wobei die speicherprogrammierbare Steuerung (100) eine Datenverarbeitungseinrichtung (110) mit einer Steuerungseinrichtung (120) einem Prioritätenverwalter (350), wenigstens zwei Hauptprozessorkernen (111, 112) und wenigstens einem Parallelprozessorkern (113, 114) umfasst, wobei die Steuerungsaufgabe wenigstens zwei ausführbare Programme umfasst, wobei die wenigstens zwei ausführbaren Programme jeweils einem der zwei Hauptprozessorkernen (111, 112) zugeordnet sind und von dem zugeordneten Hauptprozessorkerne (111, 112) im Rahmen des Programmzyklus ausgeführt werden, wobei die wenigstens zwei ausführbaren Programme jeweils wenigstens einen parallelen Bearbeitungsabschnitt (303) aufweisen, wobei die parallelen Bearbeitungsabschnitte (303) jeweils mehrere Teilaufgaben (321-324, 331-333) umfassen, wobei den parallelen Bearbeitungsabschnitten (303) jeweils eine Priorität mit einer vorgegebenen Prioritätsstufe (340, 345) zugewiesen ist und die Teilaufgaben der parallelen Bearbeitungsabschnitte (303) jeweils parallel ausführbar sind, wobei die jeweiligen Priorität des parallelen Bearbeitungsabschnittes (303) vom dem Prioritätenverwalter (350) in eine Datenstruktur (355) eingefügt wird, sobald das Ausführen des Programms im Programmzyklus an dem parallelen Bearbeitungsabschnitt (303) angelangt ist, wobei die Einträge der Prioritäten der parallelen Bearbeitungsabschnitte (303) in die Datenstruktur in der Reihenfolge der Prioritätsstufen erfolgt, wobei der wenigstens eine Parallelprozessorkern (113, 114) im Programmzyklus prüft, ob in der Datenstruktur (355) Einträge vorhanden sind, und wobei, sofern Einträge vorhanden sind, Teilaufgaben (321-324, 331-333) aus dem parallelen Bearbeitungsabschnitt, dessen Prioritätsstufe (340, 345) an erster Stelle der Einträge in der Datenstruktur (355) steht, von dem wenigstens einen Parallelprozessorkern (113, 114) abgearbeitet werden, wobei der Parallelprozessorkern (113, 114) eine Ausführung von Teilaufgaben eines parallelen Bearbeitungsabschnittes unterbricht, wenn ein paralleler Bearbeitungsabschnitt mit höherer Prioritätsstufe vom Prioritätenverwalter (350) angezeigt wird, wobei während des Programmzyklus der Steuerungsaufgabe ein zu erwartender Rechendurchsatz der Steuerungsaufgabe, der eine Gesamtverarbeitungszeit der Programme im Programmzyklus bestimmt, laufend bewertet wird, wobei bei der Bewertung des Rechendurchsatzes der Steuerungsaufgabe die zeitliche Unterbrechungsdauer und die Anzahl der Unterbrechungen der Teilaufgaben der parallelen Bearbeitungsabschnitte der Programme, die sich durch die Reihenfolge der Einträge der Prioritäten der parallelen Bearbeitungsabschnitte (303) in die Datenstruktur ergeben, berücksichtigt werden, insofern
die zeitliche Unterbrechungsdauer und die Anzahl der Unterbrechungen die Gesamtverarbeitungszeit der Programme verlängern, und wobei wenigstens der Wert einer der Prioritätsstufen (340, 345) der parallelen Bearbeitungsabschnitte (340, 345) der Programme während des Programmzyklus dynamisch angepasst wird, um durch ein Verringern oder Erhöhen des Wertes der Prioritätsstufe die Reihenfolge der Einträge der Prioritäten der parallelen Bearbeitungsabschnitte (303) in die Datenstruktur so zu verändern, dass die Anzahl der Unterbrechungen der Teilaufgaben der parallelen Bearbeitungsabschnitte der Programme reduziert wird und sich der Rechendurchsatz der Steuerungsaufgabe dadurch erhöht.
VIII. Anspruch 1 des zweiten Hilfsantrag unterscheidet sich vom Anspruch 1 des Hauptantrags dadurch, dass das folgende Merkmal am Ende des Anspruchs hinzugefügt wurde:
wobei bei der Anpassung des Wertes der wenigstens einen Prioritätsstufe (340, 345) des parallelen Bearbeitungsabschnittes (303) des Programms eine zusätzliche Bedingung, insbesondere eine Echtzeitbedingung der Steuerungsaufgabe, gemäß der bei der Ausführung der Programme im Programmzyklus Deadlines der Programme einzuhalten sind, als Untergrenze für den Wert der wenigstens einen Prioritätsstufe berücksichtigt wird.
Entscheidungsgründe§
Die Anmeldung 1. Die Anmeldung betrifft ein Verfahren zur Datenverarbeitung auf einer speicherprogrammierbaren Steuerung (SPS) zur Steuerung einer Maschine oder einer Anlage (Seite 1, Zeile 5 bis 10).
1.1 Für eine solche SPS wird in der Regel eine harte Echtzeitfähigkeit gefordert, d.h. dass die Programme bis zu gewissen Zeitpunkten ("Deadlines") abgearbeitet sein müssen (Seite 2, mittlerer Absatz). Programme mit einer längeren Zykluszeit können den Start anderer Programmen verzögern, so dass diese ihre Deadlines nicht mehr einhalten können. Um dies zu vermeiden, werden Programmen gewöhnlich Prioritätsstufen zugeteilt, wobei Programme mit niedriger Priorität unterbrochen werden können, damit Programme mit höherer Priorität ausgeführt werden können. Die hierdurch verursachten Unterbrechungen verringern jedoch den Rechendurchsatz (Seite 2, Zeile 22, bis Seite 3, Zeile 11).
1.2 Die Anmeldung betrifft insbesondere eine SPS mit mehreren Hauptprozessorkernen, die Programme rein sequentiell ausführen, und Parallelprozessorkernen, die Abschnitte von Programmen entsprechend der Prioritätsstufe des jeweiligen Programms ausführen (Seite 5, Absatz 2). Wegen möglicher Unterbrechungen in der Parallelverarbeitung von Programmen kann ein rein sequentiell ausgeführtes Programm gegebenenfalls schneller abgearbeitet werden als eines mit parallelisierbaren Abschnitten. Wenn jedoch Programme rein sequentiell ausgeführt werden, kann unter Umständen die Rechenleistung der Parallelprozessorkerne nicht vollständig ausgenutzt werden und damit der Rechendurchsatz der Steuerungsaufgabe insgesamt zurückgehen (Seite 4, Zeilen 9-19).
1.3 Um den Rechendurchsatz zu optimieren, schlägt die Anmeldung vor, die Prioritätsstufen der parallelen Bearbeitungsabschnitte der Programme dynamisch anzupassen, "wenn sich der Rechendurchsatz der Steuerungsaufgabe dadurch erhöht" (Seite 5, Zeile 12-17). Z.B. könne die Priorität einer Aufgabe verringert werden, damit diese nicht eine laufende Aufgabe niedriger Priorität verdrängt und so weitere Unterbrechungen vermieden werden (s. z.B. Seite 6, Zeile 20, bis Seite 7, Zeile 11).
Hauptantrag Die Entscheidung der Prüfungsabteilung 2. Die Prüfungsabteilung wies den Hauptantrag unter anderem mangels Klarheit (Artikel 84 EPÜ) und ausreichender Offenbarung (Artikel 83 EPÜ) zurück (Entscheidung Punkt 2.1), und zwar insbesondere hinsichtlich der folgenden Merkmale von Anspruch 1:
"wobei bei der Bewertung des Rechendurchsatzes der Steuerungsaufgabe die zeitliche Unterbrechungsdauer und die Anzahl der Unterbrechungen der Teilaufgaben der parallelen Bearbeitungsabschnitte der Programme, die sich durch die Reihenfolge der Einträge der Prioritäten der parallelen Bearbeitungsabschnitte (303) in die Datenstruktur ergeben, berücksichtigt werden, und wobei wenigstens der Wert einer der Prioritätsstufen (340, 345) der parallelen Bearbeitungsabschnitte (340, 345) der Programme während des Programmzyklus dynamisch angepasst wird, wenn die Anzahl der Unterbrechungen der Teilaufgaben der parallelen Bearbeitungsabschnitte der Programme reduziert wird und sich der Rechendurchsatz der Steuerungsaufgabe dadurch erhöht".
3. Der Prüfungsabteilung zufolge sei nicht klar, welche technischen Maßnahmen erforderlich seien, um diese Merkmale auszuführen (Artikel 84 EPÜ). Weiter offenbare die Anmeldung deutlich und vollständig (Artikel 83 EPÜ) weder die komplexe Berechnung "des zu erwartenden Rechendurchsatzes, welcher sowohl von der Anzahl als auch der Länge möglicher Unterbrechungen abhängt, welche wiederum von den Prioritätsstufen der jeweiligen parallelen Bearbeitungsabschnitte abhängen, sowie vom tatsächlichen Einsatz des Parallelprozessors abhängt" noch die davon abhängige "genaue Anpassung der Prioritätsstufen und deren Rückkopplung auf die Vorhersage des zu erwartenden Rechendurchsatzes". Die vorläufige Meinung der Kammer 4. Die Kammer stellte zunächst fest, dass der Einwand der Prüfungsabteilung im Wesentlichen einer nach Artikel 83 EPÜ war, obwohl sie sich auch auf Artikel 84 EPÜ bezogen hat.
4.1 Die Kammer stellte darüber hinaus einerseits fest, dass Anspruch 1 des Hauptantrags sehr breit gefasst war, und betonte andererseits, dass das allgemeine SchedulingProblem dem Fachmann als komplex bekannt ist (nämlich "NP-vollständig", vgl. z.B. B1, letzter Absatz auf Seite 3, fortgesetzt auf Seite 4). Eine sinnvolle und handhabbare Approximation des allgemeinen SchedulingProblems, die insbesondere auch mit der Echtzeitanforderung vereinbar wäre, sei der Anmeldung nicht zu entnehmen.
Die Argumente der Beschwerdeführerin 5. Die Beschwerdeführerin war der Ansicht, dass die Fachperson, hier ein Informatiker "mit umfangreichen Kenntnissen bei der Programmierung von speicherprogrammierbaren Steuerungen", aufgrund ihres Fachwissens in der Lage war, die beanspruchten Merkmale auszuführen (Beschwerdebegründung, Seite 3, vierter Absatz).
6. Bei SPS-Systemen handele sich nicht um beliebige komplexe Programme, sondern um Programme mit bekannten Ausführungsdauern. Diese würden zyklisch in einem festen Intervall auf Prozessoren mit festen Takten ausgeführt.
6.1 Scheduling-Algorithmen, die die verschiedenen Programmabschnitte den Kernen zuordnen, seien der Fachperson gut bekannt. Mehrere Produkte, die solche Algorithmen implementierten, seien bereits auf dem Markt, z.B. Twincat 3 von der Beschwerdeführerin selbst.
6.2 Jede SPS-Anwendung würde vor ihrem Einsatz getestet, um ihr Echtzeitverhalten zu verifizieren. Bei Zyklusüberschreitungen würde die Fachperson auch das Scheduling anpassen, z.B. durch eine neue Aufteilung der Programme, eine neue Zuordnung der Aufgaben zu Prozessoren usw. 6.3 Es sei oftmals möglich, Teilaufgaben zu parallelisieren. Diesen Teilaufgaben würde eine Priorität zugeordnet. In der Regel gelte: Je kürzer die Ausführungszeit, desto höher die Priorität.
7. Dieser Stand der Technik sei Ausgangspunkt der Anmeldung. Der Anmeldung habe die Einsicht zugrunde gelegen, dass diese Art der Prioritätsvergabe zu Problemen führen könnte, etwa weil länger laufende Programme unter Umständen häufig unterbrochen werden müssten. Dieser Ansatz würde den Rechendurchsatz (unnötig) reduzieren, und er könnte zur Folge haben, dass solche länger laufenden Programme ihre Deadlines nicht einhalten könnten.
7.1 Die Anmeldung würde die Fachperson lehren, dass sich der Rechendurchsatz unter Umständen durch eine dynamische Änderung der Prioritäten verbessern ließe, beispielsweise durch eine Verringerung der Priorität von Teilaufgaben mit kürzeren Ausführungszeiten.
7.2 Anspruch 1 des Hauptantrags stelle zwar keine vollständige Lösung dar, dies sei jedoch auch nicht erforderlich, um die Erfordernisse des Artikels 83 zu erfüllen. Die allgemeine Lehre bestehe darin, die Prioritäten dynamisch zu verändern. Die Anmeldung gebe somit der Fachperson die Anregung, vom Stand der Technik abzuweichen. Durch Tests und einfache Berechnungen sei die Fachperson in der Lage, in jedem konkreten Fall eine passende Lösung im Detail auszuführen.
7.3 In ihrem Schriftsatz führte die Beschwerdeführerin darüber hinaus an zwei konkreten Beispielen aus, wie der Rechendurchsatz in diesen Fällen erhöht werden könne. Die Entscheidung der Kammer 8. Um die Erfordernisse des Artikels 83 EPÜ zu erfüllen, muss die Anmeldung die Fachperson in die Lage versetzen, die Erfindung über die volle Breite des Anspruchs auszuführen. Im vorliegenden Fall von Anspruch 1 des Hauptantrags heißt dass, in einer gegebenen Situation ein Programm auszuwählen und dessen Priorität sinnvoll zu verändern. Dabei muss der Fachmann nicht nur auf den Rechendurchsatz achten, sondern auch das Echtzeiterfordernis einhalten.
9. Die Anmeldung enthält qualitative Aussagen über mögliche Auswirkungen einiger Änderungen, beispielsweise die Verringerung der Priorität einer Aufgabe, die häufig eine andere unterbricht. Sie beschreibt jedoch kein konkretes allgemeines Verfahren, wie für jeden Einzelfall eine sinnvolle Änderung zu bestimmen wäre. Ein solches Verfahren ist auch dem allgemeinen Fachwissen nicht zu entnehmen.
10. Die Beschwerdeführerin ist im Wesentlichen der Ansicht, dass die Fachperson den Rechendurchsatz durch Versuch und Irrtum optimieren kann. Die Kammer bemerkt hingegen, dass der Raum möglicher Konstellationen von Programmen und Prozessoren (gegeben bspw. durch Anzahl der Programme, Anzahl und Typ von Prozessoren, Definition und Verteilung der Teilaufgaben, die Laufzeiten von Programmen und Teilaufgaben usw.) aus kombinatorischen Gründen enorm groß ist, selbst dann, wenn die Programme, wie von der Beschwerdeführerin vorgetragen, vorhersehbare Laufzeiten hätten und in Zyklen durchgeführt würden. Die Exploration dieses Raums durch Versuch und Irrtum ist keine Trivialität. Welche Änderungen sinnvoll wären, und wann, ist nicht einfach zu entscheiden. Z.B. mag die Idee einer Prioritätsverringerung für kürzere Programme vorteilhaft erscheinen. Jedoch die bereits etablierte Idee (wie von der Beschwerdeführerin vorgetragen), diesen Programmen höhere Prioritäten zuzuordnen, scheint grundsätzlich ebenfalls vernünftig. Welche Entscheidung vorzuziehen ist, hängt auch davon, wieviele der übrigen Programmen in Folge zu unterbrechen sind und wie oft.
11. Lösungen mögen im Einzelfall auf einfache Weise zu finden sein. Anspruch 1 des Hauptantrags bezieht sich jedoch auf allgemeine SPS-Anwendungen. Um die Erfordernisse des Artikels 83 EPÜ zu erfüllen, muss die Anmeldung eine konkrete allgemeine Lösung offenbaren, die die Fachperson in die Lage versetzt, für alle SPSAnwendungen eine optimale Lösung zu finden, und nicht nur eine Idee, die nur in Einzelfällen von der Fachperson ausführbar wäre.
12. Die Kammer ist daher der Ansicht, dass die in Anspruch 1 des Hauptantrags beanspruchte Erfindung nicht deutlich und vollständig von der Anmeldung offenbart wird (Artikel 83 EPÜ). Darüber hinaus sind auch die Erfordernisse der Regel 42(1)(e) EPÜ nicht erfüllt.
Hilfsanträge 13. Diese Schlussfolgerung gilt auch für die Hilfsanträge. Die Beschwerdeführerin trug selbst keine Argumente vor, warum der Gegenstand der Hilfsanträge die Schlussfolgerung der Kammer hinsichtlich Anspruch 1 des Hauptantrags unter Artikel 83 EPÜ ausräumen würde.
14. Die Frage der Zulassung (unter Artikel 12(6) VBOK) des ersten Hilfsantrags, der von der Prüfungsabteilung nicht zugelassen wurde, kann somit offen gelassen werden.
Entscheidungsformel
Aus diesen Gründen wird entschieden:
Die Beschwerde wird zurückgewiesen. Die Geschäftsstellenbeamtin:
Der Vorsitzende:
L. Stridde M. Müller