European Case Law Identifier: | ECLI:EP:BA:2017:T163512.20170811 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Datum der Entscheidung: | 11 August 2017 | ||||||||
Aktenzeichen: | T 1635/12 | ||||||||
Anmeldenummer: | 04729435.0 | ||||||||
IPC-Klasse: | G06F 9/45 | ||||||||
Verfahrenssprache: | DE | ||||||||
Verteilung: | D | ||||||||
Download und weitere Informationen: |
|
||||||||
Bezeichnung der Anmeldung: | OPTIMIERUNG UND AUSFÜHRUNG EINES PROGRAMMS | ||||||||
Name des Anmelders: | Giesecke+Devrient Mobile Security GmbH | ||||||||
Name des Einsprechenden: | - | ||||||||
Kammer: | 3.5.06 | ||||||||
Leitsatz: | - | ||||||||
Relevante Rechtsnormen: |
|
||||||||
Schlagwörter: | Erfinderische Tätigkeit - (ja) | ||||||||
Orientierungssatz: |
- |
||||||||
Angeführte Entscheidungen: |
|
||||||||
Anführungen in anderen Entscheidungen: |
|
Sachverhalt und Anträge
I. Die Beschwerde richtet sich gegen die Entscheidung der Prüfungsabteilung mit Datum vom 9. März 2012, die Anmeldung 04729435.0 zurückzuweisen wegen mangelnder erfinderischer Tätigkeit über D1 und D2:
D1 US 6 263 429 B1.
D2 EP 0 969 357 A2.
II. Die Beschwerdeschrift wurde am 9. Mai 2012 eingereicht. Die Beschwerdegebühr wurde am selben Tag entrichtet. Die Beschwerdebegründung wurde am 20. Juni 2012 eingereicht.
III. In einem Telefongespräch am 27. Juli 2017 hat die Kammer der Beschwerdeführerin Einwände mitgeteilt. Diese bezogen sich auf die Klarheit von Anspruch 1, die erfinderische Tätigkeit der Ansprüche 9-14 und eine fehlerhafte Würdigung von D2 auf der Beschreibungsseite 2a in der Fassung vom 2. Juni 2008.
IV. In einem Telefongespräch am 2. August 2017 hat die Kammer der Beschwerdeführerin mitgeteilt, dass nach erneuter Prüfung die Einwände wegen mangelnder erfinderischer Tätigkeit der Ansprüche 9-14 nicht mehr erhoben werden.
V. Mit Brief vom 3. August 2017 wurde ein neuer Anspruchssatz eingereicht.
VI. Der Beschwerdeführer beantragt, die Entscheidung aufzuheben und ein Patent zu erteilen auf Basis der Ansprüche des (einzigen) Antrags, eingereicht mit Brief vom 3. August 2017.
VII. Die weiteren Anmeldeunterlagen in der Akte sind:
Beschreibung, Seiten
1, 3-14 in der veröffentlichten Fassung;
2 eingereicht mit Schreiben vom 2. Juni 2008;
2a eingereicht mit Schreiben vom 3. August 2017;
Zeichnungen, Blatt 1, 2 in der veröffentlichten Fassung.
VIII. Anspruch 1 lautet wie folgt:
"1. Computerimplementiertes Verfahren zur Erzeugung eines optimierten Programms (32) aus einem ursprünglichen Programm (52), das Befehle (Ux) mit Befehlscodes und Operanden aufweist, zur Verringerung des benötigten Speicherplatzes, wobei:
- das optimierte Programm (32) mindestens einen Befehlscodestrang (34) und mindestens einen Operandenstrang (36) aufweist,
- jeder Befehl (46, 48) des optimierten Programms (32) aus mindestens einem Befehlscode (OCx) im Befehlscodestrang (34) und keinem, einem oder mehreren Operanden (ODx.y) im Operandenstrang (36) gebildet wird,
- bei der Optimierung zumindest manche Befehlsgruppen (54, 56) des ursprünglichen Programms (52) in je einen Makrobefehl (50) des optimierten Programms (32) umgesetzt werden, wobei in dem Makrobefehl (50) die in der Befehlsgruppe (54, 56) enthaltenen Befehlscodes codiert sind,
- die Operanden (OD1.1, OD1.2) des Makrobefehls (OC1) den in der Befehlsgruppe (54, 56) enthaltenen Operanden entsprechen und in dem Operandenstrang (36) gespeichert werden, und
- zur Angabe eines auszuführenden Befehlscodes (OCx) ein erster Befehlszähler (42) und zur Angabe eines zugehörigen Operanden (ODx.y) ein zweiter Befehlszähler (44) bereitgestellt werden."
IX. Der unabhängige Anspruch 9 lautet wie folgt:
"9. Verfahren zum Ausführen eines Programms (32) durch eine Maschine, wobei:
- das Programm (32) mindestens einen Befehlscodestrang (34) und mindestens einen Operandenstrang (36) aufweist,
- die Maschine einen ersten Befehlszähler (42) für den Befehlscodestrang (34) und einen zweiten Befehlszähler (44) für den Operandenstrang (36) aufweist,
- jeder Befehl (46, 48) des Programms (32) mindestens einen Befehlscode (OCx) im Befehlscodestrang (34) und keinen, einen oder mehrere Operanden (ODx.y) im Operandenstrang (36) aufweist, und
- zumindest manche Befehle (50) des Programms (32) Makrobefehle (46) sind, von denen jeder bei einem Optimierungsvorgang aus mehreren in einem ursprünglichen Programm (52) vorgesehenen Befehlscodes (Ux) gebildet wurde, um den für das optimierte Programm (32) benötigten Speicherplatz zu verringern,
- im Zusammenhang mit der Ausführung jedes Befehls (46, 48) der erste Befehlszähler (42) entsprechend der Anzahl der Befehlscodes (OCx) des Befehls (46, 48) im Befehlscodestrang (34) weitergeschaltet wird und der zweite Befehlszähler (44) entsprechend der Anzahl der Operanden (ODx.y) des Befehls (46, 48) im Operandenstrang (36) weitergeschaltet wird."
X. Darüberhinaus gibt es noch entsprechende unabhängige Ansprüche über ein Computerprogrammprodukt (13.) und eine Vorrichtung (14.).
Entscheidungsgründe
1. Zusammenfassung der Erfindung
Die Anmeldung betrifft die Erzeugung eines speicherplatz-reduzierten Programmcodes aus einem ursprünglichen Programmcode auf der Ebene von Maschinensprache oder Bytecode (siehe Beschreibung Seite 1, erster Absatz). Der optimierte Programmcode wird in einem besonderen Format abgelegt, das aus mindestens einem Befehlscodestrang und mindestens einem (separaten) Operandenstrang besteht. Für die Optimierung werden gleiche Folgen von Befehlscodes an verschiedenen Stellen im ursprünglichen Programm zu Makrobefehlen zusammengefasst und durch diese im Befehlscodestrang ersetzt. Dabei erlaubt die Aufteilung in Befehlscode- und Operandenstränge in der Erfindung, dass Befehlscode-Folgen gänzlich unabhängig von den jeweils zugehörigen Operanden zusammengefasst werden können.
2. Ursprüngliche Offenbarung
2.1 Bis zur Beschwerdebegründung wurde Anspruch 1 nicht geändert. In der Beschwerdebegründung (Seite 1, Absatz 3) wurden Beschreibungspassagen zur Offenbarung von Änderungen in Anspruch 1 angegeben.
2.2 Die Kammer ist der Ansicht, dass diese Passagen hinreichend belegen, dass Anspruch 1 die Erfordernisse von Artikel 123(2) EPÜ erfüllt.
2.3 Das Hinzufügen von "computerimplementiert" zum Wort "Verfahren" in Anspruch 1 entspricht ebenfalls Artikel 123(2) EPÜ, da implizit aus der Beschreibung folgt, dass das Verfahren auf einem Computer ablaufen soll.
In Anspruch 9 ist eine solche Hinzufügung nicht erforderlich, da die Ausführung durch eine Maschine im Anspruch bereits explizit festgelegt ist.
3. Erfinderische Tätigkeit
3.1 Laut der angefochtenen Entscheidung (Seite 2) ist der damalige (ursprünglich eingereichte) Anspruch 1 nicht erfinderisch über D1 in Kombination mit D2. Der Unterschied mit D1 sei die Aufteilung des optimierten Programms in (mindestens) einen separaten Befehlscodestrang und einen Operandenstrang (Seite 2, erster nicht eingerückter Absatz). Die damit zu lösende technische Aufgabe sei die Verbesserung der Komprimierung des Verfahrens von D1 (Seite 3, Absatz 2). D2 offenbare die Aufteilung des Programms in Stränge, wobei dieselben Vorteile wie in der Anmeldung erzielt würden. Daher würde der Fachmann dieses Merkmal aus D2 in das Verfahren von D1 einbauen, um die Aufgabe zu lösen (Absatz 3).
3.2 Die Kammer stimmt mit der Entscheidung überein, dass die Aufteilung des optimierten Programms in Stränge der Unterschied zu D1 und die technische Aufgabe die verbesserte Komprimierung des Programms ist.
3.3 Es stimmt ebenfalls, dass D2 unter anderem eine Verringerung des Speicherplatzes des Programms im Auge hat. Dies geschieht jedoch durch Vermeidung von Indices und Null-Spaces bei der Ausrichtung (alignment) des Programms (Zusammenfassung, letzter Satz und [36], erste zwei Sätze). Das heißt aber auch, dass die Speicherplatz-Verringerung in D2 völlig anders als die in D1 verläuft.
3.4 Es wurde in der Entscheidung nicht gewürdigt, dass die Kombination des Kompressionsverfahrens aus D1 mit der aufgeteilten Programmstruktur aus D2 eine Verringerung des Speicherverbrauchs bewirkt, die größer ist als die Summe der Reduktion von D1 und der von D2.
3.5 Es findet eine bessere Kompression als in D1 statt, da Befehlsfolgen gänzlich ohne Berücksichtigung der Operanden zusammengefasst werden. Dazu vergleiche man die Figur 3 der Anmeldung mit der Figur 4 von D1. In Figur 3 wird die Befehlsfolge "ILOAD ILOAD IADD" zum Makrobefehl "MAC1" zusammengefasst. Die Operandenfolgen "4 6" und "10 12" werden separat im Operandenstrang gespeichert.
3.6 In Figur 4 von D1 können dagegen nur Befehlsfolgen zusammengefasst werden, die eine ähnliche Operandenstruktur haben ("substantially similar"; siehe Spalte 11, Zeilen 15-18). Dies ist eine Operandenstruktur, bei denen die Operanden-Register des einen Befehls durch eine Ersetzungsabbildung zu den Operanden-Register des anderen Befehls überführt werden können. Beispielsweise ist die Befehlsfolge 408 durch die Ersetzungsabbildung {R1->R4; R9->R7} in die Befehlsfolge 412 überführbar (in der Figur steht in "LINE 6" von 404 fälschlicherweise "R5" statt "R9"; im zugehörigen Beschreibungstext ist es richtig, siehe Spalte 11, Zeile 18).
3.7 Durch die erfindungsgemäße Operandenunabhängigkeit der Zusammenfassung zu Makrobefehlen könnte im konkreten Fall von Figur 4 aus D1 beispielsweise auch eine Befehlsfolge "MOV R4, RR7 - ADD R3, R4 - AND R9, R3" mit den Befehlsfolgen 408, 410 und 412 zusammengefasst werden, obwohl die Operanden des ADD-Befehls aus zwei verschiedenen Registern (R3, R4) bestehen, im Gegensatz zu 408, 410 oder 412, die zwei gleiche Register dort stehen haben. Zwei unterschiedliche Register sind aber nicht durch eine Ersetzungsabbildung aus zwei gleichen Registern überführbar.
3.8 Was die Speicherplatzverringerung von D2 durch Vermeidung von Indices und Null-Spaces bei der Ausrichtung (alignment) angeht, so bleibt diese bei der Kombination von D1 mit D2 erhalten. Das bedeutet, dass insgesamt eine Verringerung des Speicherverbrauchs bewirkt wird, die größer ist als die Summe der Reduktionen von D1 und D2. D.h. es liegt ein Synergieeffekt vor, der nicht auf einer bloßen Juxtaposition der Merkmale aus D1 und D2 beruht.
3.9 Daher ist das Verfahren von Anspruch 1 erfinderisch über die Kombination von D1 und D2.
3.10 Der unabhängige Verfahrensanspruch 9 zum Ausführen eines derart speicherplatz-optimierten Programms auf einer Maschine enthält korrespondierende Merkmale mit denen aus Anspruch 1. Die technische Wirkung der Speicherplatz-Reduzierung gegenüber dem Verfahren aus D1 tritt nicht nur bei der Erzeugung der optimierten Programms, sondern auch bei dessen Ausführung auf (wie im Verfahren von Anspruch 9), da das optimierte Programm während seiner Ausführung im Speicher gehalten wird. Während der Ausführung eines weniger reduzierten Programms (wie in D1) würde also ein erhöhter Speicherplatz-Bedarf anfallen.
3.11 Daher ist auch das Verfahren nach Anspruch 9 ebenfalls erfinderisch.
3.12 Das gleiche gilt für die anderen unabhängigen Ansprüche 13 (Computerprogrammprodukt) und 14 (Vorrichtung), die sich auf die vorbeanspruchten Verfahren zurückbeziehen.
4. Geringfügige redaktionelle Änderungen können, wie von der Beschwerdeführerin erbeten, von der Prüfungsabteilung vorgenommen werden (siehe Schreiben vom 3. August 2017, Seite 2, dritter Absatz). Dies betrifft beispielsweise die fehlerhaften Rückbezüge der Ansprüche 10-13. Außerdem sind wohl die Bezugszeichen in Anspruch 9, 4. Spiegelstrich zu ändern in
"-zumindest manche Befehle (34) des Programms (32) Makrobefehle (OC1, 50) sind, ...".
Entscheidungsformel
Aus diesen Gründen wird entschieden:
1) Die angefochtene Entscheidung wird aufgehoben.
2) Die Sache wird an die Prüfungsabteilung zurückverwiesen mit Anordnung, ein Patent auf Grundlage der folgenden Unterlagen zu erteilen:
Beschreibung, Seiten
1, 3-14 in der veröffentlichten Fassung;
2 eingereicht mit Schreiben vom 2. Juni 2008;
2a eingereicht mit Schreiben vom 3. August 2017;
Zeichnungen, Blatt
1, 2 in der veröffentlichten Fassung;
Ansprüche, Nr.
1-14 eingereicht mit Schreiben vom 3. August 2017.