European Case Law Identifier: | ECLI:EP:BA:2006:T022802.20060124 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Datum der Entscheidung: | 24 Januar 2006 | ||||||||
Aktenzeichen: | T 0228/02 | ||||||||
Anmeldenummer: | 96905692.8 | ||||||||
IPC-Klasse: | G06F 12/14 | ||||||||
Verfahrenssprache: | DE | ||||||||
Verteilung: | C | ||||||||
Download und weitere Informationen: |
|
||||||||
Bezeichnung der Anmeldung: | Mehrbenutzerdatenverarbeitungsanlage mit Speicherschutz | ||||||||
Name des Anmelders: | SIEMENS AKTIENGESELLSCHAFT | ||||||||
Name des Einsprechenden: | GEMPLUS | ||||||||
Kammer: | 3.5.01 | ||||||||
Leitsatz: | - | ||||||||
Relevante Rechtsnormen: |
|
||||||||
Schlagwörter: | Neuheit (ja) Erfinderische Tätigkeit (ja) |
||||||||
Orientierungssatz: |
- |
||||||||
Angeführte Entscheidungen: |
|
||||||||
Anführungen in anderen Entscheidungen: |
|
Sachverhalt und Anträge
I. Die Beschwerde der Patentinhaberin richtet sich gegen die Entscheidung der Einspruchsabteilung, das europäische Patent Nr. 0 813 714 aufgrund mangelnder Neuheit zu widerrufen.
II. Der Anspruch 1 des Streitpatents wie erteilt lautet:
"Portable Chipkarte mit einem Prozessor und einem Speicher, welcher in einen Betriebssystemspeicherbereich und zumindest einen Anwenderspeicherbereich geteilt ist, wobei
a) der Prozessor bezüglich des internen Mikrocodes so angepaßt ist, daß die Ausführung von in einem Anwenderspeicherbereich geladenen Prozessorstandard-befehlen gesperrt ist, welche einen lesenden oder beschreibenden Zugriff auf den Inhalt von Speicherzellen anfordern,
b) im Betriebssystemspeicherbereich eine Speicherbe-reichs-Zugriffstabelle vorhanden ist, in welcher pro Anwenderspeicherbereich der zugelassene Adreßraum für die im jeweiligen Anwenderspeicherbereich geladenen Prozessorstandardbefehle hinterlegt ist, und
c) in dem Betriebssystem des Prozessors eine Programmroutine vorhanden ist, welche
c1) von einem in einem Anwenderspeicherbereich geladenen, einen lesenden oder beschreibenden Zugriff
auf eine Speicherzelle anfordernden Prozessor-
standardbefehl aufgerufen wird,
c2) mittels der Speicherbereichs-Zugriffstabelle überprüft, ob der vom jeweiligen Prozessorstandardbefehl angeforderte Zugriff auf eine Speicherzelle im zugelassenen Adreßraum liegt, und
c3) andernfalls die Ausführung des Prozessorstandardbefehls sperrt."
III. In der vorliegenden Entscheidung wird auf folgende Druckschriften verwiesen:
D1: WO-A-95/16246
D2: DE-A-41 15 152
D3: FR-A-2 667 171
D4: EP-A-0 623 879.
IV. Die Beschwerdeführerin (Patentinhaberin) hat am 21. November 2001 Beschwerde eingelegt und die Beschwerdegebühr am selben Tag entrichtet. In ihrer Beschwerdebegründung vom 1. Februar 2002, eingegangen am 4. Februar 2002, hat sie die Aufhebung der angefochtenen Entscheidung und hilfsweise die Anberaumung einer mündlichen Verhandlung beantragt. Die Beschwerdeführerin vertrat die Auffassung, dass der Gegenstand des erteilten Anspruchs 1 neu gegenüber der Entgegenhaltung D4 sei und verwies im wesentlichen auf folgende Unterschiede:
A) in der Speicherbereichszugriffstabelle werde der zugelassene Adressraum pro Anwenderspeicherbereich hinterlegt, nicht pro Anwendungsprogramm;
B) zur Feststellung, ob ein auszuführender Speicherzugriffsbefehl im Betriebssystemspeicherbereich oder im Anwenderspeicherbereich enthalten sei, sei kein zusätzlicher Schaltkreis erforderlich;
C) der Mikrocode sei angepasst worden.
Die Beschwerdeführerin führte weiter aus, weshalb aus ihrer Sicht auch die weiteren Entgegenhaltungen im Verfahren D1 bis D3 den Gegenstand des Anspruchs 1 nicht vorwegnähmen und weshalb auch eine Kombination der D4 mit einer der weiteren Entgegenhaltungen D2 oder D3 diesen Gegenstand nicht nahe lege.
V. Die Beschwerdegegnerin (Einsprechende) hat mit Schreiben vom 13. September 2002 beantragt, am vollständigen Widerruf des Streitpatents festzuhalten. Dabei führte die Beschwerdegegnerin im Einzelnen aus, weshalb aus ihrer Sicht die in der Beschwerdebegründung geltend gemachten Unterschiede zwischen der Erfindung nach Anspruch 1 und der D4 nicht bestünden, insbesondere dass aufgrund des gemäß der D4 vorgesehenen Decodierers 21 (vgl. Fig. 1) und einem von diesem generierten Signal im Fall eines Speicherzugriffs auf den Anwendungsspeicher ein Aufruf einer Programmroutine im ROM erfolge, was zwangsläufig eine Anpassung des Prozessors auf der Ebene des internen Mikrocodes erfordere.
VI. Die Kammer hat in einem Bescheid vom 20. Dezember 2004 ihre vorläufige Meinung zu der Beschwerde dargelegt. Für den Spezialfall, dass ein Benutzer nur ein einziges Programm speichere, könne wohl kein Unterschied zwischen einem Anwenderspeicherbereich und einem Anwenderprogrammbereich gemacht werden. Auch schließe Merkmal c1) (vgl. Pkt. II oben) eine Hardwarelösung anscheinend nicht aus. Somit verbleibe als Unterschied gegenüber der D4 wohl im Wesentlichen, dass gemäß Anspruch 1 des Streitpatents der interne Mikrocode angepasst sei. D4 erwähne mikroprogrammierbare Prozessoren nicht ausdrücklich, sondern schlage stattdessen möglicherweise eine herkömmliche Interruptprozedur vor, weshalb eine Neuheitsschädlichkeit der D4 bezweifelt werden müsse. Auch die weiteren Dokumente D1 bis D3 sprächen eine Mikroprogrammierung nicht an. Die Kammer sähe gegenwärtig auch keine klaren Hinweise dafür, dass der Fachmann ausgehend von D2 oder D4 ohne erfinderisches Zutun bekannte Interpretationslösungen durch eine Anpassung des Prozessors bezüglich des internen Mikrocodes ersetzt hätte. Die Kammer bezweifelte auch, dass der von der Beschwerdegegnerin im Einspruchsverfahren geltend gemachte Einwand nach Art. 100 b) EPÜ berechtigt sei.
VII. Auf den Bescheid der Kammer hin übermittelte die Beschwerdegegnerin mit Schreiben vom 16. Juni 2005 Definitionen der Begriffe "Microcode" und "hardwired" aus dem Internet und erläuterte ihr Verständnis von "Mikrocode" als Befehlssatz auf der untersten Ebene zur direkten Steuerung eines Mikroprozessors, welcher festverdrahtet (hardwired) oder programmierbar sein könne. In letzterem Fall spräche man von Mikroprogrammierung. Vor diesem Hintergrund werde Merkmal a) des Anspruchs 1 vom Fachmann sehr allgemein verstanden als Hinweis, die interne Verarbeitung von Makro-Befehlen anzupassen, um den beschriebenen Effekt zu erzielen. Der Hinweis auf den Mikrocode sei lediglich so zu verstehen, dass es eine Interpretationsschicht innerhalb des Mikroprozessors gebe, die als Hardware, als unveränderliche Software oder auch als veränderliche Software ausgestaltet sein könne.
Die Beschwerdegegnerin verwies insbesondere darauf, dass sich aus der Offenbarung in der D4 für den Fachmann ergebe, dass ein Mikroprozessor verwendet werde, der Mikrocode benutze. Der Mikroprozessor in der D4 beinhalte einen Decodierer 21, welcher so genannte OP-Codes in Mikrocode übersetze. Auf diese Weise werde gemäß der D4 ein Speicherzugriff blockiert, indem ein Speicherzugriffsbefehl durch einen Aufruf eines Unterprogramms im Betriebssystem ersetzt werde. Zwar erwähne die D4 keine Mikroprogrammierung, jedoch enthalte auch das Streitpatent keinen Hinweis darauf. Die D4 nehme daher den Gegenstand von Anspruch 1 vorweg.
VIII. Mit Schreiben vom 29. Juni 2005 legte die Beschwerdeführerin einen geänderten Anspruch 1 vor, um den Anwenderspeicherbereich klar gegenüber einem Anwendungsspeicherbereich abzugrenzen. Außerdem übermittelte die Beschwerdeführerin ihrerseits Definitionen der Begriffe "Mikrocode" und "fest verdrahtet" aus dem Brockhaus-Lexikon. Die Beschwerdeführerin machte geltend, dass in der D4 ein weiterer Hardware-Schaltkreis, nämlich der Decodierer 21, erforderlich sei, während gemäß der Erfindung nach Anspruch 1 aufgrund der Anpassung des Mikrocodes bereits die Funktionalität des Prozessors ausreichend sei.
IX. In einem Bescheid vom 24. August 2005 lud die Kammer die Parteien zu einer mündlichen Verhandlung, die am 24. Januar 2006 stattfand.
X. In der Verhandlung machte die Beschwerdeführerin die bisher geltende, geänderte Fassung des Anspruchs 1 zum Hilfsantrag.
Sie beantragte die Aufhebung der angefochtenen Entscheidung und die Aufrechthaltung des Patents wie erteilt (Hauptantrag) oder hilfsweise in geändertem Umfang mit Anspruch 1 eingereicht in der mündlichen Verhandlung.
XI. Die Beschwerdegegnerin beantragte die Zurückweisung der Beschwerde.
XII. Am Ende der mündlichen Verhandlung verkündete die Kammer ihre Entscheidung.
Entscheidungsgründe
1. Zulässigkeit der Beschwerde
Die Beschwerde erfüllt die Erfordernisse der Artikel 106 bis 108 und der Regeln 1, Absatz 1, und 64 EPÜ und ist daher zulässig.
2. Auslegung des Anspruchs 1
2.1 Die Kammer versteht den in Merkmal a) angeführten Begriff "interner Mikrocode" dahingehend, dass der Mikroprozessor eine interne Interpretationsschicht zur Vermittlung zwischen den an den Prozessor geführten Prozessorstandardbefehlen und den eigentlichen Steuersignalen für das Rechenwerk aufweist. Diese Interpretationsschicht wird häufig auch als Steuerwerk bezeichnet. Eine sinnvolle Kombination von solchen Steuersignalen stellt einen Mikrobefehl dar.
Die Kammer ist der Auffassung, dass jeder Mikroprozessor mit Ausnahme spezieller Architekturen mit reduziertem Befehlssatz (sog. RISC-Prozessoren) über eine solche Interpretationsschicht verfügt. Diese Sicht wurde auch von beiden Parteien im Verfahren geteilt.
Diese Interpretationsschicht lässt sich nun einerseits durch fest verdrahtete Schaltkreise, z.B. Logikschaltkreise, in Form von Hardware realisieren, andererseits auch softwaretechnisch, indem entsprechende Steuersignale bzw. Mikrobefehle aus einem Speicher ausgelesen werden.
In letzterem Fall einer softwaretechnischen Realisierung stellen ein oder mehrere Mikrobefehle den Mikrocode dar, wobei die Gesamtheit der Mikrocodes das Mikroprogramm bildet. Dieses Mikroprogramm kann entweder unveränderlich in einem ROM-Speicher abgelegt sein, oder aber in einem veränderlichen Speicher, z.B. PROM-Speicher, wobei man dann von einem mikroprogrammierbaren Mikroprozessor spricht.
Der Mikrocode stellt somit die unterste Ebene zur Steuerung des eigentlichen Rechenwerks sowie der zugehörigen Register im Mikroprozessor dar und bedarf selbst keiner weiteren Interpretation oder Dekodierung mehr, um die erforderlichen Operationen im Mikroprozessor zu bewirken.
2.2 Aus dem Hinweis auf den "internen Mikrocode" in Merkmal a) des Anspruchs 1 schließt die Kammer daher, dass es sich um einen Mikroprozessor mit einer softwaretechnisch realisierten Interpretationsschicht handelt und dass auf dieser untersten Ebene zur Steuerung innerhalb des Mikroprozessors eingegriffen wird, um die in den übrigen Teilmerkmalen des Anspruchs 1 definierte Funktionalität zu erzielen. Gemäß der Erfindung erfolgt dies für die lesenden und beschreibenden Prozessorstandardbefehle.
2.3 Die Kammer stimmt der Beschwerdegegnerin zwar insoweit zu, dass sich den Unterlagen des Streitpatents insgesamt nicht entnehmen lässt, dass es sich um einen mikroprogrammierbaren Prozessor im Sinne einer nachträglich veränderbaren Interpretationsschicht handelt. Jedoch besagt Merkmal a) von Anspruch 1 lediglich, dass der interne Mikrocode "angepaßt ist". Dies kann auch einmalig bei der Herstellung des Mikroprozessors geschehen, indem ein geeignetes Mikroprogramm mit angepasstem Mikrocode in einem unveränderlichen Speicher des Prozessors vorgesehen ist.
Selbst wenn man, wie die Beschwerdegegnerin, eine Implementierung des Mikrocodes in einem unveränderlichen ROM-Speicher des Mikroprozessors als fest verdrahtet ansieht, so unterscheidet sich diese doch grundsätzlich von einer Implementierung ausschließlich mittels Logikschaltkreisen. Der Gegenstand von Anspruch 1 schließt ein Vorhandensein solcher Logikschaltkreise zwar nicht aus, erfordert aber wegen des Hinweises auf den internen Mikrocode eine Interpretationsschicht mit einem Mikroprogramm.
3. Neuheit (Art. 100 a) mit Art. 54 EPÜ)
3.1 Die D4 beschreibt einen Mikroprozessor mit gesichertem Speicher. Ein Dekodierschaltkreis (vgl. Figur 1, "circuit décodeur 21") erkennt, ob ein Speicherzugriffsbefehl von einem nicht-flüchtigen und veränderlichen Anwendungsspeicher ("mémoire non-volatile et programmable MNVP 20") stammt und dient demnach zur Erkennung des Speichertyps (vgl. Sp. 2, Z. 5f und Z. 57f, "circuit décodeur 21 du type de mémoire"). Dazu hat der Dekodierschaltkreis Zugriff auf einen Datenbus, an den die verschiedenen Speicher und Register angeschlossen sind (vgl. Figur 1). Wird durch den Dekodierschaltkreis 21 ein solcher Speicherzugriffsbefehl herrührend vom Speicher MNVP erkannt, so erfolgt eine Unterbrechung (Sp. 2, Z. 19f, "procédure d'interruption") und dieser Speicherzugriffsbefehl (FETCH) wird durch einen Sprungbefehl (CALL) ersetzt (vgl. Sp. 2, Z. 25f und Sp. 4, Z. 54 bis Sp. 5, Z. 15). Sowohl der Speicherzugriffsbefehl (FETCH) als auch der Sprungbefehl (CALL) stellen dabei Prozessorstandardbefehle dar. Demzufolge dekodiert der Dekodierschaltkreis 21 Prozessorstandardbefehle und arbeitet damit nicht auf der untersten Ebene der Interpretationsschicht des Prozessors. Dies ergibt sich auch aus der von der Beschwerdegegnerin angeführten Textstelle (siehe Sp. 4, Z. 54 bis Sp. 5, Z. 2; insbesondere Sp. 4, Z. 58f), wonach der Dekodierschaltkreis 21 so genannte OP-CODEs (sowie einen nicht näher erläuterten "indicateur de la nature du FETCH") dekodiert. Unter OP-CODE versteht der Fachmann einen Hinweis auf einen Prozessorstandardbefehl, welcher in der Regel den OP-CODE als Operationsteil neben Operanden und Adressen umfasst. Auch ist dem Dekodierschaltkreis 21 ein weiterer Schaltkreis 14, Befehlsregister und ebenfalls Dekodierer (vgl. Sp. 2, Z. 51f und Figur 1), nachgeschaltet. Erst dieser weitere Schaltkreis 14 erzeugt die Steuersignale für das Rechenwerk 11 (vgl. Figur 1). Daraus wird ebenfalls ersichtlich, dass der Dekodierschaltkreis 21 nicht auf der untersten Ebene der Interpretationsschicht des Prozessors arbeitet.
3.2 Dieser Dekodierschaltkreis 21 ist Bestandteil des Mikroprozessors 10 (vgl. Figur 1) und als fest verdrahtete Hardwarekomponente ("circuit") anzusehen. Zwar schließt auch Anspruch 1 eine zusätzliche Hardwarekomponente nicht aus (siehe Pkt. 2.3 oben), jedoch sieht die Kammer aus den vorstehenden Gründen in dem Vorhandensein der Dekodiereinheit 21 und deren Funktion in der D4 noch keinen Hinweis auf einen Mikrocode und dessen geeignete Anpassung gemäß Merkmal a).
3.3 Die Beschwerdegegnerin hat argumentiert, die Dekodiereinheit 21 würde OP-CODE in Mikrocode übersetzen (mit Verweis auf Sp. 4, Z. 58ff und Anspruch 2 der D4). Daher werde auch in der D4 mit Mikrocode gearbeitet, was zwangsläufig eine entsprechende Anpassung des internen Mikrocodes erfordere.
Die Kammer kann dieser Argumentation jedoch nicht folgen. Zwar erwähnt die D4 in Anspruch 2 als einziger Fundstelle das Wort "microcode", jedoch ergibt sich aus dem Wortlaut im Zusammenhang mit der übrigen Offenbarung der D4, dass der Begriff "microcode" anders zu interpretieren ist als im Anspruch 1 des Streitpatents. Nach Anspruch 2 der D4 dekodiert der Dekodierschaltkreis 21 einen Mikrocode ("...le circuit décodeur (21) décode un microcode..."). Dies läuft zunächst einmal dem Verständnis von Mikrocode als unterster Ebene zur Steuerung innerhalb des Mikroprozessors zuwider (vgl. Pkt. 2.1 und 2.2 oben), der keiner weiteren Dekodierung bedarf. Darüber hinaus steht dies auch im Widerspruch zur übrigen Beschreibung der D4, wonach die Dekodiereinheit 21 OP-CODEs und damit Prozessorstandardbefehle dekodiert (vgl. Pkt. 3.1 oben). Der Gebrauch des Begriffs "microcode" in Anspruch 2 der D4 erscheint deshalb im Rahmen der Gesamtoffenbarung dieser Entgegenhaltung unklar, jedenfalls vom üblichen Verständnis abweichend.
3.4 Aus der D1 (Stand der Technik nach Art. 54 (3) EPÜ) ist die Verwendung eines Interpretationsprogrammes bekannt, mit dem Speicherzugriffsbefehle interpretiert werden, anstelle diese direkt auszuführen (vgl. den dortigen Anspruch 1). Der dazu vorgesehene Interpreter ist aus Sicht der Kammer aber kein konkreter Hinweis auf einen angepassten internen Mikrocode. Vielmehr stellt der Interpreter nicht die unterste Interpretationsschicht dar, sondern ist eine Stufe höher über dem Mikroprozessor angesiedelt. Mikrocodes selbst werden in der D1 auch nicht erwähnt.
3.5 Die D2 beschreibt in einem Ausführungsbeispiel den Einsatz eines Interpretationsprogramms zum Sperren der Ausführung eines Anwendungsprogramms bei einem unberechtigten Speicherzugriff. Dazu wird nur ein bestimmter Satz von interpretierbaren Befehlen zugelassen, indem Befehle des Anwendungsprogramms unter der Kontrolle des Betriebssystems ausgeführt werden (vgl. Sp. 2, Z. 61ff). Dies führt faktisch zu einer Reduktion des Befehlssatzes auf einer Ebene oberhalb des Mikrocodes. Weitere Ausführungsformen der D2 betreffen reine Hardwareschutzschaltungen. Hinweise auf eine Anpassung des internen Mikrocodes sind der D2 nicht entnehmbar.
3.6 Aus der D3 ist ein ähnlicher Interpreter bekannt wie aus der D1. Die D3 liefert den Hinweis auf "micro-instructions" (vgl. z.B. S. 17, Z. 3, "micro-instructions directement exécutables"), jedoch ergibt sich aus einer Gesamtschau der D3, dass der Interpreter in der D3 zum Umsetzen von Anwendungsprogrammen aus einer Zwischensprache in unterschiedliche Mikroprozessorbefehlssätze dient und damit Prozessorstandardbefehle liefert (vgl. z.B. S. 14, Z. 21-29). Auch in der D3 ist das Interpretationsprogramm somit eine Stufe höher als der interne Microcode angesiedelt und es ist kein konkreter Hinweis auf einen angepassten internen Mikrocode entnehmbar. Hinzu kommt, dass der Interpreter in der D3 einem anderen Zweck dient (Anpassung von Anwendungsprogrammen an den jeweiligen Mikroprozessortyp, vgl. S. 6, Z. 9ff) und nicht - wie in der Erfindung nach Anspruch 1 - als Speicherzugriffsschutz vorgesehen ist.
3.7 Keiner der Druckschriften D1 bis D4 ist somit eindeutig und zweifelsfrei entnehmbar, dass eine Anpassung des internen Mikrocodes erfolgt. Somit offenbart keine der genannten Druckschriften das Merkmal a) von Anspruch 1, dessen Gegenstand somit als neu anzusehen ist.
4. Erfinderische Tätigkeit (Art. 100 a) mit Art. 56 EPÜ)
Ausgehend von der D4 als nächstem Stand der Technik kann die technische Aufgabe darin gesehen werden, eine alternative Anordnung zum Sperren eines unzulässigen Speicherzugriffsbefehls anzugeben. Erfindungsgemäß wird diese Aufgabe durch eine Anpassung des Microcodes gelöst. In den Druckschriften D2 und D3 werden entweder zusätzliche Hardwareschutzschaltungen oder eine zusätzliche Interpretationsschicht oberhalb der untersten Ebene im Mikroprozessor vorgeschlagen. Aufgrund des Fehlens eines eindeutigen Hinweises auf eine Anpassung des internen Mikrocodes gemäß Merkmal a) des Anspruchs 1 im verfügbaren Stand der Technik ergeben sich keine Anhaltspunkte dafür, dass der Fachmann die in den genannten Druckschriften bekannten Interpretations lösungen ohne erfinderisches Dazutun auf diese Weise ersetzt hätte.
Der Gegenstand des Anspruchs 1 beruht daher auf einer erfinderischen Tätigkeit.
5. Offenbarung der Erfindung (Art. 100 b) EPÜ)
Da die Gesamtheit des Mikrocodes das Mikroprogramm bildet, ist für den Fachmann ohne weiteres erkennbar, dass eine Anpassung des internen Mikrocodes auf der Ebene der Mikroprogrammierung erfolgt. Diese ist in der Fachwelt als anspruchsvolle, aber grundsätzlich bekannte Programmiertechnik im Zusammenhang mit Mikroprozessoren bekannt. Aus der Beschreibung (vgl. z.B. Sp. 4, Z. 29 bis Sp. 5, Z. 9) sowie den Unteransprüchen des Streitpatents sind die zu implementierenden Funktionen ersichtlich, bezüglich derer der Mikrocode angepasst werden muss. Anhand dieser Informationen braucht ein Programmierer mit entsprechenden Kenntnissen der Mikroprogrammierung diese Funktionen lediglich zu kodieren, um die beanspruchte Lehre zu realisieren.
Die Erfindung ist damit so deutlich und vollständig offenbart, dass ein Fachmann sie ausführen kann.
Entsprechende Einwände wurden von der Beschwerdegegnerin im Beschwerdeverfahren auch nicht mehr erhoben.
6. Der Hilfsantrag
Aus den obigen Ausführungen folgt, dass die angeführten Einspruchsgründe der Aufrechterhaltung des Patents in erteilter Fassung nicht entgegenstehen. Somit ist der Hilfsantrag der Beschwerdeführerin unbeachtlich.
ENTSCHEIDUNGSFORMEL
Aus diesen Gründen wird entschieden:
1. Die angefochtene Entscheidung wird aufgehoben.
2. Das Patent wird in unverändertem Umfang aufrechterhalten.