OffeneUrteileSuche
Beschluss

7 W (pat) 44/11

Bundespatentgericht, Entscheidung vom

PatentrechtBundesgericht
14mal zitiert
1Zitate
Originalquelle anzeigen

Zitationsnetzwerk

15 Entscheidungen · 0 Normen

VolltextNur Zitat
Entscheidungsgründe
BPatG 154 05.11 BUNDESPATENTGERICHT 7 W (pat) 44/11 _______________ (Aktenzeichen) Verkündet am 21. Juni 2013 … B E S C H L U S S In der Beschwerdesache betreffend die Patentanmeldung 10 2004 030 034.8-53 … hat der 7. Senat (Technischer Beschwerdesenat) des Bundespatentgerichts auf die mündliche Verhandlung vom 21. Juni 2013 durch den Richter Dipl.-Phys. Dipl.- Wirt.-Phys. Maile als Vorsitzenden sowie die Richter Schwarz, Dipl.-Phys. Dr. Schwengelbeck und die Richterin Dipl.-Phys. Dr. Otten-Dünnweber - 2 - beschlossen: Die Beschwerde wird zurückgewiesen. G r ü n d e I. Die Prüfungsstelle für Klasse G 06 F des Deutschen Patent- und Markenamts hat mit Beschluss vom 9. Januar 2008 die Patentanmeldung 10 2004 030 034.8-53 mit der Bezeichnung Anweisungssatzerweiterung mit einem 3-Byte-Escape-Opcode zurückgewiesen, weil der Gegenstand des Anspruchs 1, eingegangen am 4. September 2007, im Hinblick auf die im Prüfungsverfahren ermittelte Druck- schrift D1: Mesa Processor Principles of Operation; Version 4.0; May 1984; Xerox Corp., USA. [www.digibarn.com/friends/alanfreier/princops/ 04InstructionInterpreter.html] Seiten 1 – 8 (Eingestellt in web.archive.org am 23. Februar 2003) nicht auf einer erfinderischen Tätigkeit beruhe. Gegen diesen Beschluss richtet sich die Beschwerde der Anmelderin. - 3 - Mit Schreiben vom 17. Mai 2013 hat der Senat zur Vorbereitung auf die mündliche Verhandlung auf die Druckschrift D4: US 5 592 635 A hingewiesen. In der mündlichen Verhandlung begehrt die Anmelderin die Erteilung des Patents mit einer unveränderten Anspruchsfassung laut Hauptantrag sowie geänderten Anspruchsfassungen laut 1. und 2. Hilfsantrag. Sie macht hierzu geltend, dass die geänderten Anspruchsfassungen jeweils zulässig, neu und erfinderisch seien. Der dem Zurückweisungsbeschluss zugrunde liegende, seitens des Senats mit einer Gliederung versehene geltende Patentanspruch 1 nach Hauptantrag lautet : „Verfahren mit den folgenden Schritten: M1 Bestimmen, ob ein Anweisungscode eines Anweisungs- satzes variabler Länge einen Escape-Opcode-Wert enthält (610; 704), M2 wobei der Anweisungssatz variabler Länge Mehrfach- Operanden-Adressierungsarten derart unterstützt, dass eine Anweisung unterschiedliche Längen haben kann; M3 wenn der Anweisungcode den Escape-Opcode-Wert ent- hält M4 und der Escape-Opcode-Wert einen ersten Byte-Wert und einen zweiten Byte-Wert (610, 628; 704, 706) umfaßt, M5 Bestimmen der variablen Länge des Anweisungscodes M5.1 aufgrund des zweiten Byte-Werts (628; 706), M5.2 ausschließlich des Auswertens eines anweisungsspezifi- - 4 - schen Opcode-Werts (225) in dem Anweisungscode (710).“ Der seitens des Senats mit einer Gliederung versehene geltende Patentanspruch 1 nach 1. Hilfsantrag lautet: „Verfahren mit den folgenden Schritten: M1 Bestimmen, ob ein Anweisungscode eines Anweisungs- satzes variabler Länge einen Escape-Opcode-Wert enthält (610; 704), M2 wenn der Anweisungcode den Escape-Opcode-Wert ent- hält, M3 wobei der Escape-Code-Wert mindestens zwei Byte lang ist und eine erweiterte Opcode-Map identifiziert, M4 Bestimmen der Länge des Anweisungscodes, M4.1 ausschließlich des Auswertens eines anweisungsspezifi- schen Opcode-Werts (225) in dem Anweisungscode (710).“ Der geltende Patentanspruch 1 nach 2. Hilfsantrag entspricht dem Anspruch 1 nach 1. Hilfsantrag unter Anfügen des folgenden Merkmals: M5 „ wobei die Länge jeder Anweisung in einer Opcode-Map durch eine einzige Festeingabe-Längenbestimmungslogik bestimmt wird.“ - 5 - Wegen den geltenden nebengeordneten Ansprüchen 16, 23, 51 und 71 sowie den Unteransprüchen 2 bis 15, 17 bis 22, 24 bis 50 und 52 bis 70 nach Hauptantrag sowie den geltenden jeweiligen nebengeordneten Ansprüchen 16, 44 und 64 so- wie den jeweiligen Unteransprüchen 2 bis 15, 17 bis 43 und 45 bis 63 nach 1. bzw. 2. Hilfsantrag wird auf den Akteninhalt verwiesen. Die Anmelderin stellt den Antrag, den Beschluss der Prüfungsstelle für Klasse G 06 F des Deut- schen Patent- und Markenamtes vom 9. Januar 2008 aufzuheben und auf die Anmeldung ein Patent mit den folgenden Unterlagen zu erteilen: - Patentansprüche 1, 16 und 23 laut Anlage zum Schriftsatz vom 4. September 2007 (Bl. 229 f. VA) sowie Patent- ansprüche 2 bis 15, 17 bis 22 und 24 bis 71 laut Anlage zum Schriftsatz vom 10. August 2006 (Bl. 198 bis 211 VA) hilfsweise (1. Hilfsantrag) Patentansprüche 1 bis 64 laut dem in der mündlichen Ver- handlung vom 21. Juni 2013 überreichten Hilfsantrag I (2. Hilfsantrag) Patentansprüche 1 bis 64 laut dem in der mündlichen Ver- handlung vom 21. Juni 2013 überreichten Hilfsantrag II - 6 - - Beschreibung laut Offenlegungsschrift, jedoch mit der Maßgabe, dass hinter Absatz [0003] (= Seite 1 der ur- sprünglichen Beschreibung laut Anmeldeunterlagen) die Absätze laut der mit Schriftsatz vom 4. September 2007 eingereichten neuen Beschreibungsseite 1a (= Bl. 228 VA) eingefügt werden - Zeichnungen (Fig. 1 bis 7) laut Offenlegungsschrift. Wegen der weiteren Einzelheiten wird auf den Akteninhalt verwiesen. II. Die zulässige Beschwerde hat in der Sache keinen Erfolg. Denn nach dem Ergeb- nis der mündlichen Verhandlung ist der Anspruch 1 nach Hauptantrag nicht zuläs- sig (§ 38 Satz 1 PatG) und die Gegenstände der jeweiligen Ansprüche 1 nach 1. und 2. Hilfsantrag beruhen nicht auf einer erfinderischen Tätigkeit des Fach- manns. Dieser ist vorliegend als Diplom-Ingenieur der Informationstechnik mit mehrjähriger Erfahrung auf dem Gebiet der Programmierung von Mikroprozesso- ren zu definieren. Es kann somit dahingestellt bleiben, ob die Gegenstände der geltenden Ansprüche nach Hauptantrag im Hinblick auf die §§ 1 bis 5 PatG pa- tentfähig sind; ebenso kann die Frage der Zulässigkeit der geltenden Ansprüche nach 1. und 2. Hilfsantrag sowie der Neuheit dieser Anspruchsgegenstände da- hinstehen (vgl. BGH GRUR 1991, 120, 121 li. Sp. Abs. 3 - „Elastische Bandage“). 1) Die Patentanmeldung betrifft Mikroprozessorsysteme, deren Anweisungs- satz erweitert werden soll. Gemäß Beschreibungseinleitung (vgl. Offenle- gungsschrift, Abs. [0001] - [0003]) gebe es beim Entwurf neuer Prozessoren - 7 - die Wahl, entweder eine völlig neue Architektur zu definieren oder eine be- stehende Architektur zu erweitern. Das Erweitern einer bestehenden Architektur biete den Vorteil der Kompatibilität mit den früheren Prozessor- Modellen. Ein neuer Prozessor, der auf einem existierenden Entwurf ba- siert, weise in der Regel einen zusätzlichen Satz von Anweisungen auf, der den neuen Hardwareentwurf ausnutzen kann. Das Erweitern eines An- weisungssatzes durch Hinzufügen eines neuen Satzes von Anweisungen sei jedoch mit dem Problem der Beschränkungen bei der Codierung der Anweisungen verbunden. Der Anmeldung liegt dementsprechend die Aufgabe zugrunde, ein effi- zientes Verfahren zum Erweitern eines Anweisungssatzes ohne Vergrö- ßern der Hardwarekomplexität bereitzustellen. Die Aufgabe wird mit den Merkmalen der nebengeordneten Ansprüche 1, 16, 23, 51 und 71 nach Hauptantrag sowie den Merkmalen der jeweiligen nebengeordneten Ansprüche 1, 16, 44 und 64 nach 1. und 2. Hilfsantrag gelöst. Dabei sollen bei der Erweiterung eines Anweisungssatzes Drei-Byte-Es- cape-Opcodes verwendet werden. Als Opcode oder Operationscode wird der ausführende Bestandteil einer Anweisung bezeichnet, wobei der Inhalt eines Opcode-Felds – in der Regel eine hexadezimale Zahl – dem Pro- zessor die Nummer des auszuführenden Maschinenbefehls angibt. Unter einem Drei-Byte-Escape-Opcode wird in der Anmeldung ein Zwei-Byte- Wert verstanden, welcher „der Decoderlogik angibt, dass der Opcode für die fragliche Anweisung drei Byte enthält: die zwei Byte des Drei-Byte- Escape-Opcodes, plus einem anweisungsspezifischen Ein-Byte-Opcode“ (vgl. Abs. [0012] und [0013] der Offenlegungsschrift). Gemäß den Aus- führungen in der Beschreibung enthält das Anweisungsformat ein optiona- les Präfix-Feld, ein Opcode-Feld, das einen Escape-Opcode umfassen kann, und ebenfalls optional, Operandenkennungsfelder, welche die Adressen der Daten oder Konstanten angeben (vgl. Fig. 2 und Abs. [0019] - 8 - der Offenlegungsschrift). Somit kann die Länge der in dem Anweisungs- satz definierten Anweisungen unterschiedlich sein (vgl. Abs. [0017] der Of- fenlegungsschrift). Die durch eine bestimmte Kombination von Werten in den Anweisungsbytes spezifizierten Anweisungen lassen sich in Gruppen zusammenfassen, wodurch jeweils eine Opcode-Map definiert wird. So werden beispielsweise alle Anweisungen, die einen bestimmten Drei-Byte- Escape-Opcode-Wert aufweisen, als Teil der Opcode-Map für diesen Drei- Byte-Escape-Opcode-Wert betrachtet (vgl. Abs. [0106] der Offenlegungs- schrift). 2) a) Zum Hauptantrag Der Gegenstand des geltenden Anspruchs 1 nach Hauptantrag geht über den Inhalt der Anmeldung in der ursprünglich eingereichten Fassung hin- aus. Denn in Anspruch 1 wird gemäß Merkmal M5.1 beansprucht, dass die variable Länge des Anweisungscodes aufgrund des zweiten Byte- Werts bestimmt wird. Dass aufgrund des zweiten Byte-Werts für sämtliche möglichen Anweisungscodes die Länge des Anweisungscodes bestimmt werden kann, ist den ursprünglichen Unterlagen jedoch nicht zu entneh- men. Hinsichtlich der Offenbarung des Merkmals M5.1 hat die Anmelderin auf die Seite 14, letzter Abs., der deutschen Übersetzung der ursprünglichen Beschreibungsunterlagen (vgl. Abs. [0046] der Offenlegungsschrift) und die Figuren 6 und 7 mit den Verfahrensschritten 628 und 706 verwiesen (vgl. auch Bl. 224 der VA). Dort wird zwar ein Anweisungslängendecoder erläutert – dass dieser aber auch für den Fall, dass das Anweisungsformat Operandenkennungsfelder aufweist, die variable Länge des Anweisungs- codes bereits aufgrund des zweiten Byte-Werts bestimmt, fügt dem ursprünglichen Offenbarungsgehalt der Anmeldung eine Option hinzu – - 9 - nämlich eine Bestimmung der variablen Länge des Anweisungscodes alleine aufgrund des zweiten Byte-Werts, ohne dabei auch die Operan- denkennungsfelder auszuwerten. Dies stellt jedoch eine Verallgemeine- rung dar, die weder den genannten Zitatstellen noch den weiteren ur- sprünglichen Anmeldungsunterlagen zu entnehmen ist. Somit liegt beim Gegenstand des Anspruchs 1 nach Hauptantrag mit dem nachträglich aufgenommenen Merkmal, dass „aufgrund des zweiten Byte- Werts“ das Bestimmen der variablen Länge des Anweisungscodes erfolgt, eine unzulässige Erweiterung der Ursprungsoffenbarung vor. Der An- spruch 1 nach Hauptantrag ist daher nicht zulässig. b) Zum 1. Hilfsantrag Das Verfahren des Patentanspruchs 1 gemäß 1. Hilfsantrag beruht nicht auf einer erfinderischen Tätigkeit gegenüber dem Stand der Technik ge- mäß der Druckschrift D4 i.V.m. dem fachmännischen Handeln. Die Druckschrift D4 offenbart ein Verfahren, bei dem bestimmt wird, ob ein Anweisungscode eines Anweisungssatzes variabler Länge einen Escape- Opcode-Wert enthält (vgl. Sp. 1, Z. 38: instructions with opcodes of non- uniform lengths; Sp. 4, Z. 20 - 21: Each of the decoders 203a, 203b ope- rates to examine whether an incoming byte of instruction is an escape code / Merkmal M1). Wenn der Anweisungscode den Escape-Opcode-Wert enthält (vgl. Sp. 4, Z. 55 - 60: when the first byte in the next sequential instruction […] is an escape code, […] when the second byte […] is an escape code; vgl. Sp. 5, Z. 46 - 50: the „Escape Sequence“ condition […] means that the opcode is a valid 3-byte opcode / Merkmal M2) oder den Escape-Opcode-Wert nicht - 10 - enthält (vgl. Sp. 5, Z. 34 - 37: the "No Escape" condition means that none of the bits in Q1-Esc is set because the instruction has an 1-byte opcode. The value of Q2-Esc is irrelevant (Don't Care).), gibt der Escape- code/Sequence Analysierer ein entsprechendes Signal aus. Dabei kann der Escape-Code-Wert mindestens zwei Byte lang sein (vgl. Sp. 3, Z. 5 - 6: if an opcode is three-byte long, each of the first two bytes would be an escape code.). Da es von der Länge des Opcodes abhängt, wieviele ver- schiedene Anweisungstypen der Prozessor besitzt, bedeutet die Hinzufü- gung des Escape-Opcodes nichts anderes, als dass der Anweisungssatz des Prozessors erweitert wird, der Escape-Code-Wert somit eine erwei- terte Opcode-Map identifiziert (vgl. D4: Sp. 1, Z. 50 - 51 a set of 2n diffe- rent types of instructions, Z. 55 f: bytes would be added to the opcode, Sp. 2, Z. 65 - 66: An escape code […] is used to notify the CPU 12 that the corresponding opcode is expanded / Merkmal M3). Die D4 offenbart ebenfalls ein Bestimmen der Länge des Anweisungs- codes für den Fall, dass der Anweisungscode einen zwei Byte langen Es- cape-Code-Wert aufweist (vgl. Sp. 6, Z. 57 - 59: If one of the two "Escape Sequence" conditions is met [d.h. der Escape-Code ist zwei Byte lang], the opcode of the next sequential instruction would have three bytes. / Merkmal M4). In der D4 wird nicht explizit aufgeführt, dass bei der Bestimmung der vari- ablen Länge des Anweisungscodes auf eine Auswertung eines anwei- sungsspezifischen Opcode-Werts, also auf das dritte Byte des Opcode- Felds bei einem Opcode mit 3-Byte-Escape-Opcode (vgl. Abs. [0042] der Offenlegungsschrift), verzichtet werden kann. Die vorliegende Anmeldung gibt zur Funktion des Drei-Byte-Escape-Opcodes an (vgl. Abs. [0032] der Offenlegungsschrift): „Die Drei-Byte-Escape-Opcodes sind zwei Byte lang und geben Decoderhardware an, dass die Anweisung ein drittes Byte in dem Opcode-Feld 220 zur Definition der Anweisung verwendet.“ Dieselbe - 11 - Funktion erfüllen die in der D4 genannten Escape-Codes (vgl. Sp. 2, Z. 62 - 67, dort erläutert am Beispiel eines Zwei-Byte-Escape-Opcodes: if an opcode is two-byte long, the first byte would be an "escape code". An es- cape code is a byte that has a hexadecimal value of either "ED" "DD" "FD" or "CB". It is used to notify the CPU 12 that the corresponding opcode is expanded to more than one byte long.). Das Vorliegen und die Werte des Escape-Opcodes werden in der D4 mit dem in der Fig. 3 erläuterten Ver- fahren ermittelt: Wird Block 308 mit „Wahr“ abgeschlossen, wird die An- weisung, die mindestens drei Bytes lang ist, an den Anweisungs-Decoder (Instruction Decoder 15) übergeben. Zu diesem Zeitpunkt kennt das Sys- tem bereits die Länge des Opcodes (vgl. F4: Sp. 6, Z. 57 - 59: If one of the two "Escape Sequence" conditions is met, the opcode of the next sequen- tial instruction would have three bytes.). Nicht offenbart ist in der D4 das Merkmal M4.1, dass das Bestimmen der Länge ausschließlich des Auswertens (d.h. ohne das Auswerten) eines anweisungsspezifischen Opcode-Werts in dem Anweisungscode erfolgt. Dieses Merkmal vermag jedoch keine erfinderische Tätigkeit des zustän- digen Fachmanns zu begründen. Denn der Fachmann wird immer bemüht sein, überflüssige Decodierungen zu vermeiden, um die Befehlsverarbei- tung des Prozessors zu beschleunigen (vgl. auch D4: Sp. 2, Z. 21 - 23: examining means includes means for generating at least one signal to ac- celerate the processing of an instruction based upon the subset of bits examined.). Für den Fachmann ist es daher naheliegend, bei dem in der D4 erläuterten Verfahren (vgl. Fig. 3) nach Durchlaufen von Block 308 in Block 311 auf eine zusätzliche Auswertung eines anweisungsspezifischen Opcode-Werts zu verzichten und allein die für die Längenbestimmung vollkommen ausreichenden Inhalte der Escape-Opcode-Werte (sowie ggf. die der optionalen Operandenkennungsfelder) zu verwerten (Merkmal M4.1). - 12 - Den Ausführungen der Anmelderin in der mündlichen Verhandlung, bei dem aus der D4 bekannten Verfahren sei die Länge des Anweisungs- codes erst bekannt, wenn die gesamte Anweisung decodiert worden sei, kann seitens des Senats nicht gefolgt werden. Zwar wird in der D4 ange- geben, dass nach der Dekodierung durch den Decoder die Länge der An- weisung bekannt ist (vgl. Sp. 4, Z. 14 - 15: After the opcode is decoded by the Instruction Decoder 15, the length of the instruction will be known.). Dies bedeutet aber, entgegen den Ausführungen der Anmelderin, nicht, dass zur Längendecodierung nicht auf die Auswertung des anweisungs- spezifischen Opcodes verzichtet werden kann, wie in Merkmal M4.1 ge- fordert. Die vorstehend genannte Zitatstelle ist vielmehr im Gesamtzu- sammenhang der D4 so zu verstehen, dass die Gesamtlänge der Anwei- sung (vgl. Sp. 6, Z. 17 - 18: including all opcode and constants, if any, fields) erst nach Verarbeitung von ggf. auch vorliegenden Operandenken- nungsfeldern festgestellt werden kann, was im Übrigen dem in der vorlie- genden Anmeldung erläuterten Verfahren entspricht (vgl. Offenlegungs- schrift, Fig. 7, Schritte 708 bis 710). Somit gelangt der Fachmann durch Kenntnis der D4 in naheliegender Weise zum Verfahren des Anspruchs 1 nach 1. Hilfsantrag. Der Patentanspruch 1 nach 1. Hilfsantrag ist damit nicht patentfähig. c) Zum 2. Hilfsantrag Auch das im Anspruch 1 nach 2. Hilfsantrag zusätzlich aufgeführte Merk- mal, dass „die Länge jeder Anweisung in einer Opcode-Map durch eine einzige Festeingabe-Längenbestimmungslogik bestimmt wird“, kann keine erfinderische Tätigkeit begründen. - 13 - Die Beschreibung erläutert zu dem Begriff einer Längenbestimmungslogik, dass „derselbe Satz von Eingangstermen ausgewertet wird, um die Länge jeder Anweisung in der Opcode-Map zu bestimmen. Eine solche Längen- bestimmungslogik wird hier als Logik oder Verfahren des Typs „feste Ein- gabe“ bezeichnet“ (vgl. Abs. [0040] der Offenlegungsschrift). Das Merkmal M5 bedeutet somit nichts anderes, als dass „der feste Satz auszuwerten- der Terme [… zwar] von Opcode-Map zu Opcode-Map verschieden sein [kann], […] die zur Bestimmung der Anweisungslänge ausgewerteten Ein- gangsterme [jedoch] über alle Anweisungen in einer gegebenen 3-Byte- Opcode-Abbildung hinweg dieselben“ sind (a.a.O.). Bei dem in der D4 offenbarten Verfahren wird nach dem vorgeschalteten Schritt der Bestimmung, ob ein Anweisungscode einen Escape-Opcode enthält – siehe die Ausführungen zu den Merkmalen des Anspruchs 1 laut 1. Hilfsantrag – jede Anweisung einer Opcode-Map der (einzigen) Deco- derlogik (vgl. Fig. 1 und 3: instruction decoder 15, execution logic 16) zu- geführt. Für den Fall, dass der Escape-Code-Wert zwei Byte lang ist, und damit eine erweiterte Opcode-Map identifiziert wird (vgl. Merkmal M3), be- steht der feste Satz von Eingangstermen, die zur Bestimmung der Länge ausgewertet werden, aus dem dritten Byte des Opcodes und ggf. vorhan- denen Operandenkennungsfeldern (vgl. D4: Sp. 7, Z. 11 – 14: when it is time for an instruction to be decoded, the escape code(s) of a multi-byte opcode instruction will be bypassed and only the relevant byte will be de- coded.) Dies bedeutet aber nichts anderes, als dass die Länge jeder An- weisung in einer Opcode-Map durch eine einzige Festeingabe-Längenbe- stimmungslogik bestimmt wird (Merkmal M5). Der Fachmann gelangt somit durch die Lehre der D4 auch zum Verfahren des Patentanspruchs 1 nach 2. Hilfsantrag, ohne erfinderisch tätig werden zu müssen. - 14 - 3) Mit dem nicht zulässigen Anspruch 1 nach Hauptantrag und den jeweils nicht patentfähigen Ansprüchen 1 nach 1. und 2. Hilfsantrag sind auch die nebengeordneten Patentansprüche sowie die auf die unabhängigen An- sprüche direkt oder indirekt rückbezogenen Unteransprüche nicht schutzfä- hig, da auf diese Ansprüche kein eigenständiges Patentbegehren gerichtet war (vgl. BGH, GRUR 2007, 862 Leitsatz – „Informationsübermittlungsver- fahren II“). 4) Nachdem der Anspruchssatz nach Hauptantrag nicht zulässig ist und die jeweiligen Anspruchssätze nach 1. und 2. Hilfsantrag nicht patentfähig sind, war die Beschwerde zurückzuweisen. Mailie Schwarz Dr. Schwengelbeck Zugleich für Herrn Ri. Maile, der an der DPMA abgeord- ent ist. Dr. Otten-Dünnwerber Hu