Rechtsprechung / BPatG / 2020
BPatG Beschluss vom 22.01.2020 – 18 W (pat) 50/19
18. Senat · ECLI:DE:BPatG:2020:220120B18Wpat50.19.0
BUNDESPATENTGERICHT
18 W (pat) 50/19 _______________________
(Aktenzeichen)
B E S C H L U S S
In der Beschwerdesache
in der Sache
betreffend die Patentanmeldung 10 2007 063 960.2
(Teilungsanmeldung aus 10 2007 037 814.0, Beschwerdesache 18 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
10 2007 063 960.2 wird zur Fortführung des Prüfungsverfahrens an
das Deutsche Patent- und Markenamt verwiesen.
G r ü n d e
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:
P3:
P4:
P5:
P6:
P7:
P8:
US 2006 / 0 161 719 A1,
EP 1 681 630 A1,
US 2004 / 0 064 668 A1,
US 2004 / 0 054 518 A1,
US 2006 / 0 026 383 A1,
WO 2006 / 081 582 A2 und
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 Paging-
Tabelle (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 (Translation-
Lookaside-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 EPT-
Kontext, 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
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 Anmeldeunterlagen 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).
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 Host-
Adresse 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