18 W (pat) 50/19
BUNDESPATENTGERICHT W (pat) 50/19
_______________________
(Aktenzeichen)
BESCHLUSS In der Beschwerdesache in der Sache betreffend die Patentanmeldung 10 2007 063 960.2 (Teilungsanmeldung aus 10 2007 037 814.0, Beschwerdesache W (pat) 1/17) …
ECLI:DE:BPatG:2020:220120B18Wpat50.19.0 hat der 18. Senat (Technischer Beschwerdesenat) des Bundespatentgerichts am 22. Januar 2020 durch die Vorsitzende Richterin Dipl.-Ing. Wickborn sowie die Richter Kruppa, Dipl.-Phys. Dr. Schwengelbeck und Dr.-Ing. Flaschke beschlossen:
Die durch Teilung der Stammanmeldung 10 2007 037 814.0 im Beschwerdeverfahren entstandene Teilungsanmeldung
2007 063 960.2 wird zur Fortführung des Prüfungsverfahrens an das Deutsche Patent- und Markenamt verwiesen.
Gründe I.
Die vorliegende Teilungsanmeldung 10 2007 063 960.2 mit der Bezeichnung „Synchronisieren eines Übersetzungspuffers (TLB) mit einer erweiterten Seitenwechseltabelle“ geht auf die Stammanmeldung 10 2007 037 814.0 zurück.
Die Stammanmeldung wurde am 10. August 2007 mit der Bezeichnung „Synchronisieren eines Übersetzungspuffers (TLB) mit einer vergrößerten Paging-Tabelle“ beim Deutschen Patent- und Markenamt eingereicht und nimmt die Priorität der USamerikanischen Anmeldung US 11/504,964 vom 15. August 2006 in Anspruch. Die Stammanmeldung wurde durch die Prüfungsstelle für Klasse G 06 F des Deutschen Patent- und Markenamts mit in der Anhörung vom 18. Oktober 2016 verkündetem Beschluss zurückgewiesen. Die Prüfungsstelle führte aus, dass der Gegenstand des damals geltenden Patentanspruchs 1 nicht auf einer erfinderischen Tätigkeit beruhe, wobei dies dann damit begründet worden ist, dass der Gegenstand des Anspruchs 1 nicht so deutlich und vollständig offenbart sei, dass er für den Fachmann ausführbar sei.
Im Prüfungsverfahren zur Stammanmeldung wurden folgende Druckschriften genannt, ohne darauf weiter Bezug zu nehmen:
P1: AMD64 Technology, AMD64 Architecture Programmer's Manual, Volume 2: System Programming, Publication No. 24593, Rev. 3.11, Dezember 2005, S.172 - 174, S. 464 u. 465,
P2: US 2006 / 0 161 719 A1, P3: EP 1 681 630 A1, P4: US 2004 / 0 064 668 A1, P5: US 2004 / 0 054 518 A1, P6: US 2006 / 0 026 383 A1, P7: WO 2006 / 081 582 A2 und P8: US 2004 / 0 117 593 A1.
Die Anmelderin hat im Beschwerdeverfahren zur Stammanmeldung noch folgende vorveröffentlichte Druckschrift genannt:
A2: MOSBERGER, D., ERANIAN, S.: iA-64 linux kernel, design and implementation, Prentice Hall, 2001, S.174 – 187.
Die gegen diesen Beschluss zur Stammanmeldung eingereichte Beschwerde führte durch Beschlussfassung des Senats vom 26. Juli 2019 zur Aufhebung des angefochtenen Beschlusses und zur Zurückverweisung der Sache an das Deutsche Patent- und Markenamt.
Im Laufe des unter dem Aktenzeichen 18 W (pat) 1/17 geführten Beschwerdeverfahrens hat die Anmelderin mit Erteilungsantrag vom 2. April 2019, eingegangen beim DPMA am selben Tag, die Teilung erklärt. Das Patentamt hat die Teilungserklärung per Filetransfer am 4. April 2019, also vor der Beschlussfassung in der Beschwerdesache, an das Bundespatentgericht als den richtigen Adressaten für die Teilungserklärung weitergeleitet. Innerhalb von drei Monaten nach Eingang der Teilungserklärung hat die Anmelderin die Anmeldeunterlagen eingereicht sowie die erforderlichen Gebühren hierfür entrichtet. Die Trennakte ist am 12. Juli 2019 beim BPatG eingegangen.
Mit Hinweisen vom 7. November 2019 und 16. Dezember 2019 wurde senatsseitig auf den aus der Stammanmeldung bekannten Stand der Technik hingewiesen.
Die Anmelderin beantragt sinngemäß, zuletzt mit Schreiben vom 18. Dezember 2019,
1. das Patent auf der Grundlage der folgenden Unterlagen zu erteilen:
- Patentansprüche 1 bis 8, - Beschreibungsseiten 2 und 2a, - jeweils eingegangen am 18. Dezember 2019, - Beschreibungsseiten 1 und 3 bis 19, eingegangen am
1. Juli 2019, - Figuren 1 bis 3, 3a, 4, 5, eingegangen am 1. Juli 2019,
2. hilfsweise, soweit eine eigene Sachentscheidung über die Teilungsanmeldung nicht möglich oder nicht zweckmäßig ist, nach § 79 Abs. 3 PatG die Sache nach pflichtgemäßen Ermessen an das Patentamt zurückzuverweisen,
3. hilfsweise die mündliche Verhandlung durchzuführen, falls dem Begehren nach Punkt 1 oder 2 nicht bereits im schriftlichen Verfahren stattgegeben werden kann.
Der senatsseitig mit einer Gliederung versehene Patentanspruch 1 lautet:
M1 „Prozessor eines auf Virtualisierung basierenden Systems, der umfasst: M2 einen Translation-Lookaside-Puffer, um ein Mapping von einer physikalischen Gastadresse zu einer physikalischen Host-Adresse zu speichern; und M3 eine Logik, um eine Synchronisierung des Mappings von der physikalischen Gastadresse zur physikalischen Host-Adresse, die im Translation-Lookaside-Puffer gespeichert ist, mit einem entsprechenden Mapping, das in einer erweiterten Paging-Tabelle (EPT) gespeichert ist, durchzuführen, M4 wobei das entsprechende Mapping ein in der EPT gespeichertes Mapping mit derselben physikalischen Gastadresse wie das im TLB gespeicherte Mapping aufweist, M5 wobei die Synchronisierung auf dem Operanden eines Befehls basiert, und M6 wobei eine Abruflogik einen ersten Operanden des Befehls und einen zweiten Operanden des Befehls empfängt; die Logik ferner M7 das Mapping auswählt, das zumindest teilweise in der EPT gespeichert ist, basierend auf einer Kontextbezeichnung, die aus dem ersten Operanden des Befehls erhalten wird; und M8 einen Ausführungsmodus des Befehls auswählt, basierend auf dem zweiten Operanden des Befehls; und wobei es sich bei dem Ausführungsmodus des Befehls um einen der folgenden handelt; M9 ein erster Modus, in welchem alle Mappings, die in dem TLB gespeichert sind und zu einem EPT-Kontext gehören, der aus der Kontextbezeichnung erhalten wird, mit den entsprechenden Mappings in der EPT synchronisiert werden,
wobei die Synchronisation des Mappings ein Synchronisieren jener Einträge im TLB in dem EPT-Kontext, der in einem EPT-Zeiger spezifiziert ist, mit der erweiterten Paging-Tabelle
(EPT) umfasst; und M10 ein zweiter Modus, in welchem alle Mappings, die in dem TLB gespeichert sind und zu irgendeinem EPT-Kontext gehören, der aus der Kontextbezeichnung erhalten wird, mit den entsprechenden Mappings in einer EPT synchronisiert werden.“
Der nebengeordnete Patentanspruch 5 hat folgenden Wortlaut:
„Verfahren, welches das folgende umfasst: in einem auf Virtualisierung basierenden System, welches einen Host und einen Gast umfasst, Synchronisieren eines Mappings, welches eine Übersetzung einer physikalische Gastadresse in eine physikalische Host-Adresse umfasst, die in einem Translation-Lookaside-Puffer (TLB) gespeichert ist, mit einem entsprechenden Mapping, das in einer erweiterten PagingTabelle (EPT) des auf Virtualisierung basierenden Systems gespeichert ist; und Auswählen des in der EPT gespeicherten Mappings, basierend auf einem Operanden des Befehls, ferner mit den Schritten: Auswählen des Mappings, das in der EPT gespeichert ist, basierend auf einer Kontextbezeichnung, die aus einem ersten Operanden des Befehls erhalten wird; Auswählen eines Ausführungsmodus des Befehls basierend auf einem zweiten Operanden des Befehls; wobei es sich bei dem Ausführungsmodus des Befehls um einen der folgenden handelt:
ein erster Modus, in welchem alle Mappings, die in dem TLB gespeichert sind und zu dem EPT-Kontext gehören, der aus der Kontextbezeichnung erhalten wird, mit den entsprechenden Mappings in der EPT synchronisiert werden, wobei das Synchronisieren des Mappings ein Synchronisieren jener Einträge im TLB in dem EPT-Kontext, der in einem EPT-Zeiger spezifiziert ist, mit der erweiterten Paging-Tabelle (EPT) umfasst; und ein zweiter Modus, in welchem alle Mappings, die in dem TLB gespeichert sind und zu irgendeinem EPT-Kontext gehören, der aus der Kontextbezeichnung erhalten wird, mit den entsprechenden Mappings in einer EPT synchronisiert werden.“
Der nebengeordnete Patentanspruch 7 hat folgenden Wortlaut:
„Auf Virtualisierung basierendes System, welches das folgende umfasst: einen Prozessor gemäß einem der Ansprüche 1 bis 4; und einen Speicher, welcher über einen Bus mit dem Prozessor verknüpft ist.“
Zu den Unteransprüchen 2 bis 4, 6 und 8 wird auf die Akte verwiesen.
Wegen der weiteren Einzelheiten wird auf den Akteninhalt verwiesen.
II.
1. Aus der wirksamen Teilung der Stammanmeldung ist die vorliegende Teilanmeldung hervorgegangen und im Beschwerdeverfahren anhängig geworden (vgl. BGH – Beschluss v. 7. Mai 2019 – X ZB 9/18, juris, Leitsatz 2 u. Abs. 11, 17 – Abstandsberechnungsverfahren; BPatG – Beschluss v. 5. November 2018 – 20 W (pat) 7/18, Abs. II.1.).
2. Die vorliegende Teilanmeldung ist an das Deutsche Patent- und Markenamt zu verweisen (§ 79 Abs. 3 Satz 1 Nr. 1 und 3 PatG).
2.1 Die Patentanmeldung betrifft einen Prozessor eines auf Virtualisierung basierenden Systems sowie ein entsprechendes Verfahren und das entsprechende System. Gemäß Beschreibungseinleitung ermöglicht die Virtualisierung einer einzelnen Host-Maschine eine Abstraktion des Host-Rechners, so dass die zugrunde liegende Hardware der Host-Maschine als eine oder mehrere unabhängig voneinander operierende virtuelle Maschinen erscheint. Die Virtualisierung werde angewandt, um zu ermöglichen, dass mehrere Gastbetriebssysteme koexistieren und scheinbar gleichzeitig auf mehreren virtuellen Maschinen ausgeführt werden können. Virtualisierungssysteme könnten einen Monitor der virtuellen Maschine, den sogenannten VMM, aufweisen. Der VMM könne die Komponenten einer realen Host-Maschine in die virtuelle Maschine umsetzen und virtuelle Komponenten erzeugen, welche in Software emuliert seien. Der VMM könne der Gastsoftware eine Schnittstelle einer unbestückten virtuellen Maschine bereitstellen. Dabei sei bekannt, dass eine Seitentabelle (page table) eingesetzt werde, um in einem prozessorbasierten System für ein Mapping bzw. eine Umsetzung von einem linearen Speicher in einen realen Speicher zu sorgen. Bei Seitentabellen handele es sich im Allgemeinen um speicherresidente Strukturen. Daher verursache der Zugriff auf eine Seitentabelle einen Speicherzugriff, wodurch sich die Verarbeitungszeit in einem virtualisierten System verlängere. Um diese Probleme zu verringern, könne ein Prozessor einen Hochgeschwindigkeitsspeicher umfassen, welcher als Translation Lookaside Buffer (TLB) bezeichnet werde, in welchem aktuelle Umsetzungen zwischengespeichert würden. Dies ermögliche einem Prozessor, schneller auf eine Übersetzung einer linearen Adresse in die entsprechende reale Adresse zuzugreifen. Um den TLB zu verwalten, würden Befehle bereitgestellt, einschließlich eine Befehls, um alle Einträge in dem TLB zu invalidieren oder zu aktualisieren (vgl. geltende Beschreibung, Abs. 01 bis 03).
Als Aufgabe ist angegeben, ein auf Virtualisierung basierendes System, einen Prozessor sowie ein Verfahren bereitzustellen, bei welchem die Speicherverwaltung in einer virtualisierten Umgebung vereinfacht und beschleunigt werde (vgl. geltende Beschreibung, S. 2a, vorletzter Abs.).
Zur Lösung der Aufgabe sind ein Prozessor eines auf Virtualisierung basierenden Systems gemäß Anspruch 1, ein Verfahren gemäß Anspruch 5 sowie das auf Virtualisierung basierende System gemäß Anspruch 7 vorgesehen.
2.2. Als maßgeblichen Fachmann sieht der Senat einen Ingenieur oder Master für Informationstechnik mit beruflicher Erfahrung auf dem Gebiet der hardwaregestützten Virtualisierung an.
Der Fachmann legt dem Anspruchsgegenstand des Patentanspruchs 1 das folgende Verständnis zugrunde:
Anspruch 1 betrifft einen Prozessor eines auf Virtualisierung basierenden Systems (Merkmal M1). Der Prozessor soll einen Pufferspeicher TLB 323 (TranslationLookaside-Buffer) umfassen, in welchem Umsetzungen von Seitentabellen zwischengespeichert werden können (vgl. Fig. 3 i. V. m. der geltenden Beschreibung, Abs. 02, 03 u. S. 11, Z. 8 - 13).
Konkret sieht der Anspruch 1 vor, dass der Pufferspeicher bzw. TLB ein Mapping von einer physikalischen Gastadresse zu einer physikalischen Host-Adresse speichert (vgl. Merkmal M2). Dabei handelt es sich bei der physikalischen Gastadresse um die Speicheradresse einer virtuellen Maschine (vgl. geltende Beschreibung, S. 5, Abs. 08 u. 09). Somit wird mittels des TLBs ein hardwarebasierter Zugriff auf Umsetzungen von virtuellen Adressen zu realen Adressen ermöglicht.
Außerdem soll der Prozessor eine Logik umfassen, um eine Synchronisierung des Mappings, das im TLB gespeichert ist, mit einem Mapping, das zumindest teilweise in einer erweiterten Seitentabelle (Extended Paging-Table, EPT) gespeichert ist, durchzuführen (Merkmal M3). Dies bedeutet für den Fachmann nichts anderes, als dass das im TLB gespeicherte Mapping abgeglichen bzw. aktualisiert werden soll. Unter der erweiterten Seitentabelle EPT ist eine Seitentabelle oder eine Funktion zu verstehen, die bei der Übersetzung zwischen den Gast- und Host-Adressen eingesetzt wird. Sie enthält hierzu die erforderliche Abbildungsinformation. Für jede der virtuellen Maschinen kann eine separate EPT-Tabelle vorgesehen sein (vgl. geltende Beschreibung, S. 9, Abs. 17 u. 18). Der Wortlaut des Anspruchs 1 lässt offen, wo die EPT-Tabellen gespeichert sind. Beispielsweise können die EPT-Tabellen 328 im Arbeitsspeicher 320 abgelegt sein (vgl. Fig. 3). Alternativ können sich die Tabellen aber auch direkt im Prozessor 318 befinden (vgl. geltende Beschreibung, S. 9, Abs. 18). Gemäß Merkmal M4 weist das entsprechende Mapping ein in der EPT gespeichertes Mapping mit derselben Gastadresse wie das im TLB gespeicherte Mapping auf.
Merkmal M5 sieht vor, dass die Synchronisierung auf dem Operanden eines Befehls basiert. Bei dem Befehl kann es sich beispielsweise um den Befehl „INVL_EPT“ handeln, welcher dem Befehlssatz des Prozessors hinzugefügt wurde (vgl. Fig. 5, Ausführen von INVL_EPT 500, S. 13 Abs. 32). Gemäß Merkmal M6 wird konkretisiert, dass der Befehl zwei Operanden aufweist, die von einer Abruflogik abgerufen werden.
Aus dem ersten Operanden des Befehls wird die Kontextbezeichnung erhalten, anhand der die Logik das Mapping auswählt (vgl. Merkmal M7; vgl. Fig. 5, INVLEPT_DESC 520). Die Kontextbezeichnung definiert dabei einen Abschnitt des Adressraums, für welchen der Befehl auszuführen ist (vgl. geltende Beschreibung, S.13 Z. 32-33, Fig. 5, EPTP_CTX 525).
Basierend auf dem zweiten Operanden wählt die Logik einen Ausführungsmodus des Befehls (vgl. Merkmal M8). Der zweite Operand kann dabei ein Schalter sein und spezifizieren, in welchem Modus der INVL_EPT-Befehl auszuführen ist (Fig. 5,
SYNC-CMD 510, S. 14 Abs. 34, S. 15 Abs. 36). Bei dem Ausführungsmodus des Befehls handelt es sich um einen der folgenden:
In dem ersten Modus werden alle Mappings, die in dem TLB gespeichert sind und zu einem EPT-Kontext gehören, der aus der Kontextbezeichnung erhalten wird, mit den entsprechenden Mappings in der EPT synchronisiert. Dabei soll die Synchronisation des Mappings ein Synchronisieren jener Einträge im TLB in dem EPTKontext, der in einem EPT-Zeiger spezifiziert ist, mit der erweiterten Paging-Tabelle (EPT) umfassen (vgl. geltende Beschreibung, S. 14, Z. 21 - 24, S.15, Z. 28 - 31; Merkmal M9). Der EPT-Zeiger, bei dem es sich um ein Register handelt, definiert dabei den Abschnitt des Adressraums, in welchem der INVL_EPT-Befehl auszuführen ist (vgl. Fig. 5, Kontext-Synchronisierung 540).
Im zweiten Modus werden alle Mappings, die in dem TLB gespeichert sind und zu irgendeinem EPT-Kontext gehören, der aus der Kontextbezeichnung erhalten wird, mit den entsprechenden Mappings in einer EPT synchronisiert (vgl. geltende Beschreibung, S. 14, Z. 25 - 28, S.15 Z. 26 - 28; Merkmal M10). Dies bedeutet, dass in diesem Modus der EPT-Zeiger ignoriert wird, und alle Einträge synchronisiert werden (vgl. Fig. 5, globale Synchronisierung 535).
Somit kann basierend auf dem ersten und dem zweiten Operanden des Befehls das Ausmaß der Synchronisierung spezifiziert werden.
2.3 Die jeweiligen Gegenstände der Patentansprüche 1 bis 8 gehen in zulässiger Weise auf die am 10. August 2007 eingereichten Anmeldeunterlagen der Stammanmeldung zurück (§ 38, 39 PatG).
Die Merkmale des Patentanspruchs 1 sind durch die ursprünglichen Patentansprüche 1, 2, 8, 11 und 12 in Verbindung mit der ursprünglichen Beschreibung als zur Erfindung zugehörend offenbart (vgl. deutsche Übersetzung der Anmeldeunterla- gen der Stammanmeldung, S. 13, Z. 19, bis S. 16, Z. 14 i. V. m. Fig. 5). Die nebengeordneten Ansprüche 5 und 7 gehen auf die ursprünglich eingereichten Ansprüchen 14 und 24 zurück und wurden an den nun geltenden Patentanspruch 1 entsprechend angepasst. Die Ansprüche 2 bis 4, 6 und 8 basieren auf den ursprünglichen Ansprüchen 3, 4, 10, 20 und 34 unter Anpassung der Nummerierung und der Rückbezüge.
2.4 Der geltende Anspruch 1 genügt den Anforderungen des § 34 Abs. 4 PatG. Denn wie die einzelnen Abbildungen umgesetzt werden, also z. B. das Mapping von linearen Gastadressen auf physische Gastadressen sowie von physischen Gastadressen auf physische Host-Adressen, kann der Fachmann der Beschreibung und den Figuren entnehmen (vgl. z. B. Fig. 4 i. V. m. der Beschreibung, Abs. 26 - 32).
2.5 Der Gegenstand des Anspruchs 1 erweist sich gegenüber dem aus dem Verfahren zur Stammanmeldung bekannten Stand der Technik als neu und beruht gegenüber diesem auch auf einer erfinderischen Tätigkeit (§§ 3, 4 PatG).
a) Der Gegenstand des Patentanspruchs 1 ist neu gegenüber dem aus dem Verfahren zur Stammanmeldung bekannten Stand der Technik (§ 3 PatG).
Druckschrift P1 befasst sich mit der AMD64-Architektur für x86-Prozessoren. Insbesondere wird ein Prozessor eines auf Virtualisierung basierenden Systems beschrieben (vgl. erster Abs. des Abschnitts 5.5, S. 172 i. V. m. S.173, Abs.5; Merkmal M1). Der Prozessor umfasst einen Translation-Lookaside-Puffer (TLB), um ein Mapping von einer linearen zu einer physikalischen Adresse, d. h. einer physikalischen Gastadresse (virtuelle Adresse im Gastadressraum) zu einer physikalischen HostAdresse zu speichern (vgl. Abschnitt 5.5, S. 172 ff. i. V. m. erstem u. zweitem Abs. des Abschnitts 15.15, S. 464 u. S. 465, Abschnitt 15.15.2; Merkmal M2). Der Fachmann liest mit, dass der Prozessor eine Logikschaltung umfasst, um eine Synchronisierung des Mappings von der physikalischen Gastadresse zur physikalischen Host-Adresse, die im sogenannten Translation-Lookaside-Puffer (TLB) gespeichert ist, mit einem entsprechenden Mapping durchzuführen. Dabei ist mit dem sogenannten „Nested Paging“ eine zusätzliche Übersetzungsschicht vorgesehen, wobei jeder virtuellen Maschine ein eigenes virtualisiertes CR3-Register, das die physikalische Gastadresse speichert, zur Verfügung gestellt wird. Für jede Gastadresse sieht der Virtual Machine Monitor (VMM) eine „host page table“ vor, um die physikalische Gastadresse in eine physikalische Hostadresse umzusetzen (vgl. erster u. zweiter Abs. des Abschnitts 15.15, S. 464 i. V. m. S. 465, Abschnitt 15.15.2). Die „host page tables“ sind damit als erweiterte Seitentabellen zu verstehen. Die Speicherverwaltung des TLBs basiert auf dem Befehl „INVLPGA“, welcher einem VMM erlaubt, selektiv Einträge im TLB zu löschen. Die punktuelle Invalidierung erfolgt hierbei über den Adress Space ID (ASID), mit der der VMM die Möglichkeit hat, einzelne ASID-Felder im TLB zu löschen (vgl. Abschnitt 15.15.2). Das Löschen von Einträgen versteht der Fachmann als Teil einer Synchronisation (Merkmal M3). Der Fachmann geht dabei davon aus, dass das in der „host page table“ gespeicherte Mapping dieselbe Gastadresse wie das im TLB gespeicherte Mapping aufweist (Merkmal M4). Der Befehl „INVLPGA“ umfasst auch den Operanden „rAX“, auf dem die Synchronisierung basiert (vgl. Abschnitt 15.15.2; Merkmal M5).
Damit bietet der in Druckschrift P1 angegebene Befehl die Möglichkeit, einzelne ASID-Felder im TLB selektiv zu löschen. Druckschrift P1 offenbart in diesem Zusammenhang aber keine Synchronisierung des Mappings von einer physikalischen Gastadresse zu einer physikalischen Host-Adresse, bei der das Ausmaß der Synchronisierung konkret auf zwei Operanden des Befehls gemäß den Merkmalen M6 bis M10 basiert. Insbesondere lassen sich der Druckschrift P1 die zwei möglichen Ausführungsmodi gemäß den Merkmalen M9 und M10 nicht entnehmen.
Druckschrift P2 befasst sich mit dem Betreiben von virtuellen Maschinen unter Verwendung von erweiterten Paging-Tabellen. Hierzu wird ein Prozessor eines auf Virtualisierung basierenden Systems beschrieben (vgl. Fig. 3 i. V. m. Abs. 0022 u. 0023; Merkmal M1). Der Prozessor umfasst eine Logikschaltung und einen Speicher 320 mit einer erweiterten Paging-Tabelle (EPT), in dem zumindest teilweise ein Mapping von der physikalischen Gastadresse zur physikalischen Host-Adresse gespeichert ist (vgl. Fig. 3 u. 5 i. V. m. Abs. 0043; teilweise Merkmal M3, ohne Synchronisation mit dem TLB). In Figur 6 wird in Verbindung mit den Absätzen 0046 und 0052 eine Umsetzung einer physikalischen Gastadresse in eine physikalische Hostadresse unter Verwendung eines EPT-Zeigers 620 beschrieben.
Im Unterschied zum Gegenstand des vorliegenden Anspruchs 1 umfasst der in Druckschrift P2 beschriebene Prozessor keinen Translation-Lookaside-Puffer bzw. TLB (vgl. Fig. 3). Demnach wird auch keine Synchronisation des Mappings, welches im TLB gespeichert ist, beschrieben (Merkmale M2 und M4 bis M10 fehlen, Merkmal M3 fehlt teilweise).
Bei Druckschrift P3 handelt es sich um ein Familienmitglied zu Druckschrift P2. Dabei geht Druckschrift P3 nicht über Druckschrift P2 hinaus, insbesondere was einen Translation-Lookaside-Puffer bzw. TLB und die Synchronisation des zugehörigen Mappings betrifft.
Druckschrift P4 beschreibt einen Prozessor mit einem „monitor“ als Virtualisierungsfunktion, welcher zwischen der Hardwareschicht eines Computersystems und einem oder mehreren Gastbetriebssystemen angeordnet ist (vgl. Abs. 0003, 0006, 0038, 0066; Merkmal M1). Der als Hypervisor bzw. VMM zu verstehende Monitor verwaltet das Mapping von einer physikalischen Gastadresse zu einer physikalischen Hostadresse für jedes Gastbetriebssystem (vgl. Abs 0066). Der Prozessor umfasst auch einen TLB, um ein Mapping von einer physikalischen Gastadresse zu einer physikalischen Host-Adresse zu speichern (vgl. Abs. 0038, 0046, 0047 u. insb. 0074 u. 0075; Merkmal M2). Des Weiteren umfasst der Prozessor eine Logikschaltung (integrated circuits, hardware, Abs. 0004, 0049), um das Mapping von der physikalischen Gastadresse zur physikalischen Host-Adresse, die im TLB gespeichert ist, zu aktualisieren. Dies erfolgt mithilfe einer „virtual hash page table (VHPT)“, die der Fachmann als eine erweiterte Paging-Tabelle ansieht (vgl. Abs. 0049). Dies ist als eine Synchronisierung des Mappings, das im TLB gespeichert ist, mit einem entsprechenden Mapping, das teilweise in einer erweiterten Seitentabelle gespeichert ist, zu verstehen (Merkmal M3). Dabei weist das entsprechende Mapping ein in der VHPT gespeichertes Mapping mit derselben Gastadresse wie das im TLB gespeicherte Mapping auf (vgl. Abs. 0054; Merkmal M4).
Druckschrift P4 offenbart aber keine Synchronisierung, die auf dem Operanden eines Befehls basiert (Merkmal M5 fehlt). Es wird auch keine Logik beschrieben, welche basierend auf zwei Operanden eines Befehls gemäß den Merkmalen M6 bis M9 und mit zwei möglichen Ausführungsmodi gemäß den Merkmalen M9 und M8 die Synchronisierung entsprechend durchführt.
Druckschrift P5 beschreibt die Emulation und Virtualisierung in einem Multiprozessorsystem. Eine Synchronisierung des Mappings von einer physikalischen Gastadresse zur physikalischen Hostadresse gemäß den Merkmalen M3 bis M10 wird nicht beschrieben.
Druckschrift P6 beschreibt einen Prozessor eines auf Virtualisierung basierenden Systems (vgl. Abs. 0025, 0027; Merkmal M1). Dabei wird ein Virtual Machine Monitor (VVM) eingesetzt (vgl. Abs. 0002, 0007, 0026). Der Prozessor umfasst einen TLB, um ein Mapping von einer physikalischen Gastadresse zu einer physikalischen Host-Adresse zu speichern (vgl. Abs. 0007, 0044, 0046; Merkmal M2). Der Prozessor umfasst auch eine Logikschaltung (Abs. 0025, 0046), um das Mapping von der physikalischen Gastadresse zur physikalischen Host-Adresse, die im TLB gespeichert ist, zu aktualisieren (vgl. Abs. 0046: the translation can be moved from the VHPT to he TLB). Die Synchronisierung erfolgt mithilfe einer „virtual hash page table (VHPT)“, die der Fachmann auch als eine erweiterte Paging-Tabelle ansieht (vgl. Abs. 0035, 0044, 0046). Dies ist als eine Synchronisierung des Mappings, das im TLB gespeichert ist, mit einem entsprechenden Mapping, das in einer erweiterten Seitentabelle gespeichert ist, zu verstehen (Merkmal M3). Das entsprechende Mapping weist dabei ein in der VHPT gespeichertes Mapping mit derselben Gastadresse wie das im TLB gespeicherte Mapping auf (vgl. Abs. 0040, 0046; Merkmal M4). Die Synchronisierung basiert auf dem Operanden eines Befehls (Merkmal M5), wobei der Operand entsprechend Merkmal M9 einen EPT-Zeiger (instruction pointer 338) umfasst, (vgl. Abs. 0029 u. Fig. 3A).
Druckschrift P6 offenbart jedoch ebenfalls keine Synchronisierung des Mappings von einer physikalischen Gastadresse zu einer physikalischen Host-Adresse, bei der das Ausmaß der Synchronisierung auf zwei Operanden des Befehls gemäß den Merkmalen M6 bis M8 basiert. Auch gibt es in der Druckschrift keinen Hinweis auf die Merkmale M9 und M10, wonach basierend auf dem zweiten Operanden zwischen zwei Ausführungsmodi ausgewählt werden kann.
Die Druckschriften P7 und P8 beschreiben jeweils einen Virtual Machine Monitor (VMM), welcher auf eine emulierte und virtualisierte Hardware zugreift. Die Übersetzung von den virtuellen Adressen des Gastsystems über die physikalischen Adressen des Gastsystems, die den virtuellen Adressen des VMM entsprechen, in die physikalischen Adressen des Hosts erfolgt dabei mittels Seitentabellen einer sogenannten Shadow-/Schattenstruktur. Hierzu wird ein virtueller TLB verwendet, der die Funktionalität des physischen TLB des Prozessors emuliert. Die Synchronisierung eines Mappings von der physikalischen Gastadresse zu einer physikalischen Hostadresse entsprechend den Merkmalen M3 bis M10 ist beiden Druckschriften nicht zu entnehmen.
Der von der Anmelderin als Beleg für das Fachwissen des Fachmanns eingereichte Auszug aus dem Fachbuch gemäß Anlage A2 befasst sich im Kapitel 4 mit der Speichervirtualisierung von 64-Bit-Prozessoren (vgl. Kap. 4.4, erster Satz; Merkmal M1). Dabei wird auf den Seiten 174 bis 187 die Verwaltung eines Translation Lookaside Buffer beschrieben, um ein Mapping von einer virtuellen Adresse zu einer physikalischen Adresse zu speichern (teilweise Merkmal M2, ohne Mapping von einer physikalischen Gastadresse zu einer physikalischen Host-Adresse). Die Übersetzung einer virtuellen Adresse läuft dabei in folgenden Schritten ab: im TLB wird nach einem passenden Eintrag gesucht. Ist der Eintrag nicht vorhanden, so durchsucht der Prozessor die VHTP (Virtual Hash Page Table) und aktualisiert den TLB. Die VHTP ist als eine erweiterte Paging-Tabelle zu verstehen, wobei das im TLB gespeicherte Mapping basierend auf dem in der VHTP gespeicherten Mapping aktualisiert bzw. synchronisiert wird (vgl. S. 175, letzter Absatz i. V. m. S. 176, drittem Absatz: A final challenge in using a TLB is hour to keep it sychronized … with the underlying page table; teilweise entsprechend den Merkmalen M3 und M4, ohne Mapping von einer physikalischen Gastadresse zu einer physikalischen Host-Adresse). Die Synchronisierung basiert dabei auf dem Operanden eines Befehls (vgl. S. 176, zweiter Absatz, S. 82 le. Abs.; Merkmal M5).
Die Druckschrift offenbart dabei zwar verschiedene Modi der Befehlsausführung, um selektiv Mappings im TLB zu synchronisieren (vgl. Kap. 4.4.2 S.82 ff). Anlage A2 befasst sich allerdings nicht mit der Adressierung virtueller Maschinen, bei der eine physikalische Gastadresse zu einer physikalischen Host-Adresse umgesetzt wird (Merkmale M2, M3 und M4 fehlen teilweise). Dementsprechend wird auch keine Synchronisation des Mappings von einer physikalischen Gastadresse zu einer physikalischen Host-Adresse beschrieben (Merkmale M6 bis M10 fehlen).
Somit offenbart keine der aus dem Verfahren zur Stammanmeldung bekannten vorveröffentlichten Druckschriften ein Verfahren mit sämtlichen Merkmalen des Gegenstands des Patentanspruchs 1.
b) Der Gegenstand des Patentanspruchs 1 ist dem Fachmann durch den aus dem Verfahren zur Stammanmeldung bekannten Stand der Technik auch nicht nahegelegt.
Wie vorstehend ausgeführt, offenbaren weder die Druckschriften P1 bis P8 noch das Fachbuch gemäß Anlage A2 alle Merkmale des Patentanspruchs 1. Insbesondere die Synchronisierung des Mappings von einer physikalischen Gastadresse zu einer physikalischen Host-Adresse, wobei mittels eines Operanden zwischen einer globalen Synchronisierung und einer durch einen weiteren Operanden spezifizierten Kontext-Synchronisierung ausgewählt werden kann, ist in den aus dem Verfahren zur Stammanmeldung bekannten Druckschriften nicht beschrieben und auch nicht entnehmbar.
Der Fachmann erhält weder aus einer beliebigen Zusammenschau des bisher im Verfahren befindlichen Stands der Technik noch aus seinem Fachwissen eine Anregung bzw. hat hieraus eine Veranlassung, beim Synchronisieren des Mappings von einer physikalischen Gastadresse zu einer physikalischen Host-Adresse einen Prozessor mit einer Logik einzusetzen, die die Merkmale M6 bis M10 aufweist.
Somit beruht der Gegenstand des Anspruchs 1 im Lichte des bislang im Rahmen des zur Stammanmeldung genannten Stands der Technik auch auf einer erfinderischen Tätigkeit.
2.6 Auch die Gegenstände der nebengeordneten Patentansprüche 5 und 7 erweisen sich gegenüber den bekannten Druckschriften ebenfalls als patentfähig.
Das Verfahren gemäß Anspruch 5 sowie das auf Virtualisierung basierende System gemäß Anspruch 7 weisen jeweils Merkmale auf, die den Merkmalen M1 bis M10 des auf einen Prozessor gerichteten Anspruchs 1 inhaltlich entsprechen. Die vorstehenden Ausführungen zu Anspruch 1 gelten damit ebenso für die nebengeordneten Ansprüche 5 und 7. Damit sind die Gegenstände der nebengeordneten Ansprüche nicht anders zu bewerten als der patentfähige Gegenstand gemäß Anspruch 1.
Dies gilt in gleicher Weise für die abhängigen Ansprüche 2 bis 4, 6 und 8, die über das Selbstverständliche hinausgehende Ausgestaltungen des Gegenstands des Anspruchs 1 betreffen.
2.7 Der Senat hat jedoch nach § 79 Abs. 3 Satz 1 PatG davon abgesehen, in der Sache selbst zu entscheiden und ein Patent zu erteilen.
Für eine Verweisung der Teilanmeldung an das Deutsche Patent- und Markenamt zur weiteren Prüfung spricht der Umstand, dass die Anmelderin mit der vorliegenden Teilanmeldung einen Patentanspruch 1 vorgelegt hat, der noch nicht Gegenstand des Prüfungsverfahrens war, also im Hinblick auf Neuheit und erfinderische Tätigkeit vor dem Deutsche Patent- und Markenamt noch keiner Prüfung unterzogen worden ist.
Der Senat kann nicht ausschließen, dass weiterer druckschriftlicher Stand der Technik existiert, der alleine oder in Verbindung mit dem bereits im Verfahren befindlichen Stand der Technik einer Patenterteilung im beantragten Umfang entgegenstehen könnte. Da eine sachgerechte Entscheidung nur aufgrund einer vollständigen Recherche des relevanten Standes der Technik ergehen kann, war die Sache – auch um der Anmelderin keine Tatsacheninstanz zu nehmen – zur weiteren Prüfung und Entscheidung an das Deutsche Patent- und Markenamt verweisen.
3. Der Beschluss konnte ohne mündliche Verhandlung ergehen.
III.
Rechtsmittelbelehrung Gegen diesen Beschluss steht den am Beschwerdeverfahren Beteiligten das Rechtsmittel der Rechtsbeschwerde zu. Da der Senat die Rechtsbeschwerde nicht zugelassen hat, ist sie nur statthaft, wenn gerügt wird, dass
1. das beschließende Gericht nicht vorschriftsmäßig besetzt war, 2. bei dem Beschluss ein Richter mitgewirkt hat, der von der Ausübung des Richteramtes kraft Gesetzes ausgeschlossen oder wegen Besorgnis der Befangenheit mit Erfolg abgelehnt war, 3. einem Beteiligten das rechtliche Gehör versagt war, 4. ein Beteiligter im Verfahren nicht nach Vorschrift des Gesetzes vertreten war, sofern er nicht der Führung des Verfahrens ausdrücklich oder stillschweigend zugestimmt hat, 5. der Beschluss aufgrund einer mündlichen Verhandlung ergangen ist, bei der die Vorschriften über die Öffentlichkeit des Verfahrens verletzt worden sind, oder 6. der Beschluss nicht mit Gründen versehen ist.
Die Rechtsbeschwerde ist innerhalb eines Monats nach Zustellung des Beschlusses beim Bundesgerichtshof, Herrenstr. 45 a, 76133 Karlsruhe, durch einen beim Bundesgerichtshof zugelassenen Rechtsanwalt als Bevollmächtigten schriftlich einzulegen.
Wickborn Kruppa Dr. Schwengelbeck Dr. Flaschke Pr