DE102013112672B4 - Datenspeicher für eine Remote-Umgebung - Google Patents

Datenspeicher für eine Remote-Umgebung Download PDF

Info

Publication number
DE102013112672B4
DE102013112672B4 DE102013112672.3A DE102013112672A DE102013112672B4 DE 102013112672 B4 DE102013112672 B4 DE 102013112672B4 DE 102013112672 A DE102013112672 A DE 102013112672A DE 102013112672 B4 DE102013112672 B4 DE 102013112672B4
Authority
DE
Germany
Prior art keywords
operating system
system environment
settings
network
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102013112672.3A
Other languages
English (en)
Other versions
DE102013112672A1 (de
Inventor
Kenneth Scott Seethaler
Randall S. Springfield
Howard Locker
Richard W. Cheston
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo PC International Ltd
Original Assignee
Lenovo Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Publication of DE102013112672A1 publication Critical patent/DE102013112672A1/de
Application granted granted Critical
Publication of DE102013112672B4 publication Critical patent/DE102013112672B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

Ein Verfahren umfassend:
Empfangen von Betriebssystemumgebungseinstellungen von einem Gerät eines Benutzers über ein Netzwerk (210);
Speichern der empfangenen Betriebssystemumgebungseinstellungen auf einem Speichergerät (214);
Einrichten einer Betriebssystemumgebung gemäß den gespeicherten Betriebssystemumgebungseinstellungen (222);
Empfangen einer Instruktion 115 über das Netzwerk (226);
Instruieren der eingerichteten Betriebssystemumgebung gemäß der empfangenen Instruktion (115, 230); und
in Reaktion auf das Instruieren, Übermitteln über das Netzwerk einer Information (117), die zumindest teilweise durch die eingerichtete Betriebssystemumgebung erzeugt wurde (234);
wobei nach dem Speichern (214) ein Überwachen von Fehlerbedingungen eines Speichergeräts des Gerätes des Benutzers, welche ein Überhitzen, physische Schäden, Stromspitzen, Wasserschäden, beschädigte Dateien oder menschliche Fehler beinhalten, erfolgt (418);
wobei ein Auslösen eines Triggers (133) erfolgt, wenn das Überwachen eine Fehlerbedingung erkennt; und
wobei das Einrichten (222) in Reaktion auf ein Auslösen eines Triggers (113) erfolgt.

Description

  • TECHNISCHES GEBIET
  • Der hier offenbarte Gegenstand bezieht sich allgemein auf Technologien und Techniken zum Einrichten einer Remote-Umgebung.
  • HINTERGRUND
  • Ein Computer kann ein Laufwerk zum Speichern von verschiedenen Arten von Information, beispielsweise einem Betriebssystem, Applikationen, Einstellungen etc. aufweisen. Um eine auf einem Laufwerk gespeicherte Information genauso wie einer vollen Betriebsumgebung aufzubewahren, kann ein Klonverfahren oder ein Images-Verfahren implementiert werden. Solche Verfahren erzeugen eine duplizierte Betriebs Umgebung (Klonen) oder ein Image-File, welches relativ groß sein kann, da es das Betriebssystem, Applikationen etc. beinhaltet.
  • ZUSAMMENFASSUNG
  • Ein Verfahren kann das Empfangen von Betriebssystemumgebungseinstellungen über ein Netzwerk, das Speichern der empfangenen Betriebssystemumgebungseinstellungen auf eine Speichervorrichtung, das Einrichten einer Betriebssystemumgebung gemäß den gespeicherten Betriebssystemumgebungseinstellungen; das Empfangen einer Information über das Netzwerk, das Instruieren der eingerichteten Betriebssystemumgebung nach den empfangenen Information und in Reaktion auf das Instruieren das Übermitteln über das Netzwerk einer Information, die zumindest teilweise durch die eingerichtete Betriebssystemumgebung erzeugt wurde, umfassen. Verschiedene andere Vorrichtungen, Systeme, Verfahren etc. werden ebenfalls offenbart.
  • Figurenliste
  • Merkmale und Vorteile der beschriebenen Ausführungen können mit Bezugnahme auf die folgende Beschreibung, die im Zusammenhang mit den Beispielen der begleitenden Zeichnungen betrachtet werden, besser verstanden werden.
    • 1 ist ein Diagramm für ein Ausführungsbeispiel eines Systems;
    • 2 ist ein Diagramm für ein Ausführungsbeispiel eines Verfahrens;
    • 3 ist ein Diagramm für Ausführungsbeispiele von Vorrichtungen und ein Ausführungsbeispiel für ein Verfahren;
    • 4 ist ein Diagramm für ein Ausführungsbeispiel eines Verfahrens;
    • 5 ist ein Diagramm für ein Ausführungsbeispiel eines Verfahrens;
    • 6 ist ein Diagramm für ein Ausführungsbeispiel eines Systems und ein Ausführungsbeispiel für ein Verfahren;
    • 7 ist ein Diagramm von Ausführungsbeispielen von Verfahren;
    • 8 ist ein Diagramm von Beispielen von Geräten ein Beispiel eines Verfahrens.
    • 9 ist ein Diagramm für ein Ausführungsbeispiel einer Maschine, wobei einige oder alle ihrer Merkmale teilweise oder vollständig einen Client, einen Server oder eine andere Vorrichtung oder ein anderes System bilden können.
  • DETAILLIERTE BESCHREIBUNG
  • Die folgende Beschreibung schließt die beste Art, die gegenwärtig für ein Durchführen der beschriebenen Ausführungen betrachtet wird, ein. Diese Beschreibung ist nicht im Sinne einer Begrenzung anzunehmen, sondern vielmehr nur zu dem Zweck durchgeführt, um allgemeine Prinzipien für unterschiedliche Ausführungen zu beschreiben. Der Schutzbereich der Erfindung sollte ausgehend von den erteilten Ansprüchen ermittelt werden.
  • 1 zeigt ein Beispiel eines Systems 100, dass ein Netzwerk 105, ein Gerät 110 und ein Gerät 120 umfasst. Das System 100 kann eine verteilte Umgebung, beispielsweise eine so genannte „Cloud“-Umgebung sein, wobei verschiedene Geräte, Komponenten etc. zum Zweck der Datenspeicherung, Kommunikation, Rechnen etc. interagieren. In dem Beispiel aus der 1 kann das Netzwerk 105 das Internet, beispielsweise bei dem die Kommunikation über ein oder mehrere Internet-Protokolle stattfindet, und/oder ein Mobilfunknetzwerk, ein Satellitennetzwerk etc. umfassen.
  • Beispielsweise kann das Gerät 110 einen Prozessor 112, einen Speicher 114, eine Netzwerkschnittstelle 116, eines oder mehrerer Betriebssysteme (OSS) 142, eine oder mehrere Applikationen (Apps) 144 und verschiedene Schaltungen 146 umfassen. Wie in dem Beispiel aus der 1 gezeigt ist, kann das Gerät 110 einen oder mehrere Datenspeicher 152 umfassen, auf die das Gerät 110 zugreifen kann, da diese eine Komponente des Geräts 110 sind oder auf andere Weise betriebsfähig mit dem Gerät 110 gekoppelt sind. Beispielsweise kann ein Datenspeicher mit einem Gerät betriebsfähig gekoppelt sein, wobei eine Kommunikation über ein nicht-Internetprotokoll oder ein Internetprotokoll oder einer Kombination von verschiedenen Arten von Protokollen stattfindet.
  • Beispielsweise kann das Gerät 120 einen Prozessor 122, einen Speicher 124, eine Netzwerkschnittstelle 126, ein oder mehrere Betriebssysteme (OSs) 162, eine oder mehrere Applikationen (Apps) 164 und verschiedene Schaltungen 166 umfassen. Wie in dem Beispiel aus der 1 gezeigt ist, kann das Gerät 120 einen oder mehrere Datenspeicher 172 umfassen, auf die von dem Gerät 120 zugegriffen werden kann, da diese eine Komponente des Geräts 120 bilden oder auf eine andere Art betriebsfähig mit dem Gerät 120 gekoppelt sind. Beispielsweise kann ein Datenspeicher mit einem Gerät betriebsfähig gekoppelt sein, wobei eine Kommunikation über ein Nicht-Internetprotokoll oder ein Internetprotokoll oder eine Kombination aus verschiedenen Arten von Protokollen stattfindet.
  • Beispielsweise kann ein Datenspeicher ein Laufwerk, beispielsweise ein Festplattenlaufwerk (HDD) oder ein Solid-State-Drive (SDD) sein. Ein HDD kann einen Kopf umfassen, der mit einer sich drehenden Scheibe oder Platte interagiert, die eine Information speichern kann. Ein HDD kann auch als ein elektromechanisches Gerät bezeichnet werden. Ein SDD kann einen NAND-basierenden Flashspeicher umfassen, der eine Information, beispielsweise eine Information ohne dabei von einer Stromquelle abhängig zu sein, aufbewahren kann, ein RAM, welches mit einer Stromquelle gekoppelt ist oder eine Kombination von einem NAND-basierendem Flashspeicher und einem RAM, umfassen. Ein Hybridlaufwerk kann Merkmale von einem HDD und Merkmale von einem SDD umfassen. Beispielsweise kann ein HDD einen Buffer-Speicher umfassen, beispielsweise um einen Informationsaustausch für Laufwerk-zu-Buffer und Buffer-zu-Laufwerk vorzunehmen.
  • Eine HDD-Datentransferrate kann von der Drehzahl einer Scheibe und ihrer Datenspeicherdichte abhängen. Um demnach eine hohe Datentransferrate zu erzielen, kann ein HDD konfiguriert sein, um mit einer hohen Drehzahl, beispielsweise über 5000 rpm zu arbeiten, um eine Datentransferrate höher als ungefähr 100 Mb/s zu erzielen. Wärme oder Erschütterungen oder Wärme und Erschütterungen können die Drehzahl einer Scheibe beschränken. Höhere Drehzahlen können mehr Strom erfordern, was wiederum aufgrund von Ineffizienzen, beispielsweise aufgrund von Motorverlusten, Reibung etc., Wärmeenergie erzeugen kann, die ein Ansteigen der Temperatur eines HDD, beispielsweise in Abhängigkeit von der Kühlung, erzeugen kann. Darüber hinaus können hohe Drehzahlen die Schwingungsamplituden erhöhen, beispielsweise insbesondere dann, wenn der Schwerpunkt der Scheibe nicht im Mittelpunkt der Scheibe selbst liegt.
  • Ein SDD kann ziemlich konsistente Schreib-Datentransferraten liefern. Die Datentransferraten können jedoch sinken, wenn die Zahl der individuellen kleineren Blöcke, auf die zugegriffen wird, gesteigert werden. Datentransferraten von SDDs können im Bereich von ungefähr 100 MB/s bis auf eine Rate von mehr als ungefähr 1 GB/s liegen. Im Vergleich zu HDDs können SDDs höhere Temperaturen tolerieren, gegenüber einer Erschütterung und einer Schwingung widerstandsfähiger sein, und gegenüber Magnetfeldern widerstandsfähiger sein. Jeder Block eines Flash-basierenden SSDs kann für eine begrenzte Zeitdauer gelöscht und beispielsweise wieder beschrieben werden. Beispielsweise kann ein SDD-Controller die Löschungen handhaben, um die Lebensdauer für bestimmte Verwendungen zu verlängern. Beispielsweise kann ein SSD, das auf DRAM basiert, nicht notwendigerweise eine begrenzte Anzahl von Schreibzyklen aufweisen. Ein Bug oder ein anderes Problem in der Controllerfirmware eines SSD kann die Ursache für einen Datenverlust sein.
  • Auf ein HDD kann über eine oder mehrere Arten von Bussen zugegriffen werden, beispielsweise ein paralleles ATA (PATA, was auch IDE oder EIDE genannt wird, ein serielles ATA (SATA), SCSI, Serial Attached SCSI (SAS), einen Fibre Channel etc.. Ein SDD-Controller kann eine Schnittstelle (z.B. Host-Schnittstelle) für einen oder mehrere SDD umfassen. Beispielsweise kann ein SDD Steuergerät einen oder mehrere Schnittstellen bereitstellen, die aus SATA, SCSI, SAS, PCI Express, Fibre Channel, USB, PATA usw. ausgewählt werden.
  • Eine andere Art von Schnittstelle wird als ein „Internet Small Computer System Interface“ (iSCSI) bezeichnet, welche ein Internet Protokoll (IP)-basierender Speichernetzwerkstandard ist. Beispielsweise kann die SCSI SCSI-Befehle über ein oder mehrere IP-Netzwerke tragen, um einen Datentransfer zu erleichtern. Das iSCSI-Protokoll ermöglicht einem Gerät, beispielsweise einem Initiator, SCSI-Befehle (CDBs) zu einem oder mehreren SCSI-Speichergeräten (beispielsweise Ziele), zusenden, welche in Verbindung mit einem oder mehreren entfernten (remoten) Servern bereitgestellt werden können. Die iSCSI kann als ein Speicherbereichsnetzwerks (SAN)-Protokoll bereitgestellt werden, um einer Organisation zu ermöglichen Speicher in Datenzenterspeicherarrays zu konsolidieren, während Hosts (wie Datenbasen und WEB-Server) eine Illusion eines lokal angebrachten Treibers bereitstellen.
  • Beispielsweise kann eine in einem Laufwerk gespeicherte Information in eine „Imagedatei“ umgewandelt werden oder „geklont“ werden. Ein Klonverfahren kann ein zweites Laufwerk in eine Kopie eines ersten Laufwerks Umwandeln, wobei ein „Imaging“-Verfahren ein sehr großes Back-up-File, beispielsweise ein „Image“-File, erzeugen kann, von welchem es möglich ist, den Inhalt des Laufwerks zu einem späteren Zeitpunkt wieder zu erzeugen, entweder auf dem ursprünglichen Laufwerk oder auf einem anderen Laufwerk.
  • Ein Disc-Image oder eine Imagedatei kann ziemlich groß sein, beispielsweise größer als mehrere 100 MB, da es über eine vollständige Sektor-bei-Sektor-Kopie des Quellenlaufwerk Mediums erzeugt werden kann. Eine Diskettenbildnutzung kann nicht benutzten Fileraum von dem Treibermedium der Quelle entfernen oder beispielsweise Informationen komprimieren, um die Speicheranforderungen zu reduzieren(z.B. um eine Archivefile zu bilden als eine Form eines Imagefiles). Ein Imagefile kann in einem Format sein, das mit einem offenen Standardformat oder einem geschützten Format zusammenfällt)
  • Wie in dem Beispiel aus der 1 gezeigt ist, können der eine oder mehrere Datenspeicher 152, die zu dem Gerät 110 gehören, eine Information, beispielsweise die Information 180 speichern. In dem Ausführungsbeispiel der 1 kann die Information 180 Files oder Ordner 181 beinhalten, einen oder mehrere Benutzer Accounts und die zu den Benutzeraccounts zugehörigen Einstellungen 182, Applikations-Konfigurationsdatenfiles und dazugehörige Einstellungen 183, ein oder mehrere Betriebssystems-Konfigurationseinstellungen, beispielsweise wie sie in einer oder mehreren Register 184 gespeichert sind, und eine oder mehrere Lizenzen 185, oder beispielsweise eine Information die zu einer oder mehreren Lizenzen gehört.
  • Wie in dem Ausführungsbeispiel aus der 1 gezeigt ist, können ein oder mehrere Datenspeicher 172, die zu dem Gerät 120 gehören, eine Information, beispielsweise die Duplizierte Information 190, speichern, welche eine duplizierte Information sein kann, beispielsweise ein Duplikat der Information 180. In dem Ausführungsbeispiel der 1 kann die Duplizierte Information 190 Files und Ordner 191 umfassen, einen oder mehrere Benutzer Accounts und die zum Benutzer Account zugehörigen Einstellungen 192, Applikations-Konfigurationsdatenfiles und zugehörige Einstellungen 193, ein oder mehrere Betriebssystems-Konfigurationseinstellungen, beispielsweise wie sie in einer oder mehreren Registern 194 gespeichert sind, und eine oder mehrere Lizenzen 195 oder eine Information, die zu einer oder mehreren Lizenzen gehört.
  • Beispielsweise können eine oder mehrere der Datenspeicher 172 verwendet werden, um eine Information von einer oder mehreren Datenspeichern 152 zu speichern. Beispielsweise kann die eine oder mehrere Betriebssystems-Konfigurationseinstellungen 184 zu einer oder mehreren Betriebssystems-Konfigurationseinstellungen 194 dupliziert werden.
  • Während eine File-Back-up-Applikation zum Speichern von Files oder Daten, beispielsweise zusammen als ein Ordner, oder einer vollständigen Imagedatei für einen Benutzer ausführbar sein kann, stellt eine solche Applikation normalerweise ein Abspeichern der persönlichen Einstellungen und Daten eines Benutzers nicht in einer Art bereit, so dass eine solche Information diskret in einer Wiederherstellung verwendet werden kann, um gewisse Komponenten der Benutzerdaten wiederherzustellen, ohne dass ein vollständiges Wiederherstellen oder ein Erzeugen einer anderen Instanz des Benutzerrechners erforderlich ist. Was geschieht beispielsweise, wenn nach einem HDD-Ausfall der Benutzer einen sofortigen Zugang ) zu seinem Image benötigt, aber kein Ersatz-HDD verfügbar ist?
  • Beispielsweise kann ein Verfahren das Verwenden eines geeignet konfigurierten Geräts, beispielsweise mit einer Browser-Applikation, zum Einloggen in eine Cloud-Applikation verwenden, wobei diese Cloud-Applikation das Lesen der von dem Benutzer vorher abgespeicherten persönlichen Einstellungen und Daten zum Erzeugen einer „Cloud an“-Instanz des Benutzerrechner- „Image“ in der Cloud umfasst, beispielsweise mit den gleichen Ressourcen, beispielsweise Applikationen, ) Daten etc., die existieren oder auf einem anderen Laufwerk existiert haben, beispielsweise einem ausgefallenen HDD, SPD etc., welche der Benutzer verwendet hatte. In so einem Beispiel kann der Benutzer damit fortfahren, zu arbeiten oder sein Rechner-„Image“ zu verwenden, ohne darauf warten zu müssen, dass ein neues Laufwerk installiert, beispielsweise betriebsbereit gekoppelt, wird und besorgt oder wieder gespeichert wird, weil beispielsweise das Rechner-„Image“ unverzüglich von der Cloud verfügbar sein kann.
  • Ein Cloud-basierender Ansatz kann für das vorangegangene Beispiel schneller erfolgen als das Wiederherstellen auf einem monolithischen Image, d.h. ein monolithisches' Image'-File eines Laufwerks. Beispielsweise können bei ungefähr 40 GB Laufwerkvolumen ungefähr 15 GB bis ungefähr 20 GB Benutzerdaten sein, wohingegen der Rest aus einem Betriebssystem und Applikationsprogrammen besteht das Kopieren des gesamten Laufwerkvolumens von ungefähr 40 GB zu der Cloud würde eine beträchtliche Zeit in Anspruch nehmen. Bei diesem Beispiel entsprechen 40GB 327.680 Mb mit einer Hochlade-Rate von ungefähr 2 Mb/s, so dass die Hochlade-Zeit für die 40 GB Laufwerkvolumen theoretisch ungefähr 2730 Minuten betragen würde, was ungefähr 45 Stunden oder ungefähr zwei Tagen entspricht. Im Gegensatz dazu würde die hochlade-Rate von ungefähr 2 Mb/s nur einen Tag dauern, wenn die persönlichen Einstellungen und Daten des Benutzers in die Cloud kopiert werden würden, nämlich nur ungefähr 15 GB bis 20 GB. Ein solcher Ansatz würde es einem Benutzer ermöglichen, zu seinem letzten Arbeitszustand in viel weniger Zeit zurückzukehren, als dies mit einem monolithischen' Image'-Fileansatz möglich ist, beispielsweise insbesondere, wenn der Cloud-basierende Ansatz das kleinstmögliche Backup in die Cloud speichern würde, beispielsweise das kleinstmögliche Backup um eine verwendbare Umgebung in der Cloud einrichten zu können, die dem Wunsch des Benutzers entspricht.
  • Da beispielsweise Personalität, Einstellungen und Daten als solche verwendet werden können, sind viel größere Fähigkeiten möglich als beim obigen Beispiel eines Erzeugens eines Cloudzustands des Nutzerdesktops, Migration zu anderen Plattforme von der Cloud, Migrieren an einen Platz einer neuen OS (z.B. von WINDOWS 7 OS zu Windows 8 OS; Microsoft Corp. Redmond, WA), wiederherstellen eines Registers oder anderer Einstellungen nach einer Virusattacke oder Wiederherstellen des original OS und dann Anwenden der Personalität, Einstellungen und Daten um eine „Softwareerosion des OS“ zu eliminieren (z. B. wenn ein Gerät zunehmend langsamer wird, je länger es verwendet wird und je mehr Software darin installiert wird).
  • Beispielsweise kann ein Verfahren das Erzeugen einer Cloud Version von einem Desktop eines Benutzers, Applikationen und Daten umfassen, welche über das Internet zu jederzeit von jedem Gerät umfassen, beispielsweise welches auf einer Browser Applikation läuft, beispielsweise zum Zugriff auf das Internet.
  • Beispielsweise können Daten von einem Client, beispielsweise einem Clientgerät, gesammelt werden und an die Cloud, beispielsweise einen Cloudserver etc. auf einer Routinebasis geliefert werden, um sicherzugehen, dass eine voll-5 ständig Umgebung verfügbar ist, umfassend beispielsweise eine Umgebung, die Desktop-Icons und -Positionen, eine Liste der installierten Applikationen, Benutzerdaten, beispielsweise bei Applikationen, bei denen die Applikationen auf der Serverseite sein können, Benutzer Initialisierungen für jede Applikation und Benutzerprofileinstellungen für eine Applikation, UI Einstellungen wie zum Beispiel Bildschirmhintergründe, Mauseinstellungen, Registereinstellungen wie benötigt/erwünscht, Zugriffseinstellungen, benutzerspezifische Informationen, beispielsweise Applikationsdatenkontakte, Kontakte, eigene Dokumente, jegliche benutzerspezifische Applikationsdaten etc. und Benutzerkonten, beispielsweise eine Steuerfläche.
  • Beispielsweise können die Einstellungen Filesystemeinstellungen, Verzeichnis Einstellungen etc. umfassen, wie sie mit Datenfiles, Datenobjekten etc. verknüpft sind. Beispielsweise kann bei vorgegebenen Filesystemeinstellungen ein Filesystem, welches beispielsweise unter Verwendung eines Cloudservice implementiert ist, ein oder mehrere Datenfiles abrufen und/oder aktualisieren. Beispielsweise kann eine Cloudquelle ein Filesystem implementieren, das sich von dem eines Clientgeräts unterscheidet und bei diesem Beispiel kann ein Konverter eine konvertierte Information, beispielsweise Einstellungen, von einer Filesystem Spezifikation zu einer anderen bereitstellen. Beispielsweise kann ein Filesystem für einen Handhabungszugriff auf Daten von Files und beispielsweise die dazugehörigen Metadaten bereitstellen. Beispielsweise kann ein Filesystem für einen Handhabungsraum, beispielsweise einen physischen Speicherplatz, zugeordneten Speicherplatz etc. bereitstellen. Beispielsweise kann ein Filesystem einen Zugriff auf Files, die auf einem Server liegen, bereitstellen, beispielsweise durch Agieren als ein ‚Client‘ für ein Netzwerkprotokoll, beispielsweise dann, wenn der ‚Client‘ ein Cloudserver ist, der eine Betriebssystemumgebung für einen Benutzer unter Verwendung eines anderen Geräts, das zu dem Cloudserver verbunden ist, einrichtet. Einige Beispiele für Filesysteme umfassen FAT, NTFS, exFAT und ReFS Filesysteme.
  • Beispielsweise kann eine Information, beispielsweise eine oder mehrere Einstellungen etc., zu einem Verzeichnisdienst gehören, der für ein Speichern, Organisieren und Zugreifen auf eine Information in einem Verzeichnis sorgt. Beispielsweise kann ein Verzeichnis eine Abbildung sein, beispielsweise zwischen Namen und Werten.
  • Beispielsweise können die Betriebssytemumgebungseinstellungen verschiedene Arten von Einstellungen umfassen, beispielsweise für eine oder mehrere Applikationen, Benutzerprofile, ein Filesystem, ein Verzeichnis etc., wobei solche Einstellungen im Einrichten einer gewünschten Benutzererfahrung im Hinblick auf eine Betriebssystemumgebung assistieren können. Beispielsweise können die Einstellungen für Applikationen in der Art von Applikationskonfigurationsdatenfiles vorliegen. In Hinblick auf Files und Ordner können beispielsweise die dazugehörigen Einstellungen ebenfalls als Betriebssystemumgebungseinstellungen enthalten sein, beispielsweise um einen Zugriff auf Daten, Metadaten von Files etc. handzuhaben. Beispielsweise können Daten, beispielsweise Filedaten, in der Cloud gespeichert werden, beispielsweise in einer Cloud-Ressource, und unter Verwendung von einer oder mehreren Betriebssystemumgebungseinstellungen, beispielsweise Filesystemeinstellungen, Applikationseinstellungen etc., zugegriffen werden, um eine Umgebung einzurichten, die eine gewünschte Benutzererfahrung darstellt.
  • Beispielsweise kann ein Cloud-Image, beispielsweise ein virtuelles Image, remote aufgebaut werden unter Verwendung einer gespeicherten Information. Beispielsweise können installierte Applikationen optional auf das gleiche Verzeichnis in der Cloud-Version kopiert werden, wie es in einer Client-Version vorgelegen hat. Beispielsweise kann eine Quelle für eine oder mehrere Applikationen auf einem oder mehreren Cloudservern liegen, beispielsweise in einer Art, bei der sie nicht von einem lokalen Host transferiert werden. In so einem Beispiel können benutzerspezifische Applikationsdaten von dem Client zu der Cloud, beispielsweise inis/Benutzerdaten, gesendet werden. Wie erwähnt, können Betriebssystemeinstellungen, beispielsweise Windows Betriebssystemeinstellungen, repliziert werden, um einen Benutzer weitgehend eine äquivalente Erfahrung in der Cloud geben zu können.
  • Beispielsweise können .ini Applikationen mit einer Datenbank von der Cloud verfügbaren Applikationen als Web-Applikationen, beispielsweise Facebook Applikationen, Saleforce.com-Applikationen etc., oder Webapplikationssubstitute für lokale Applikationen, beispielsweise Office 365 Applikationen, auf veröffentlichte Applikationen, Virtualisierung der Applikationen oder beispielsweise kann ein Benutzer einen Speicherort für eine lokale Applikation spezifizieren. Ein solcher Ansatz kann beispielsweise über einen Satz von Regeln erfolgen, um die Cloud Instanz basierend auf verfügbare Ressourcen von Applikationen ohne Berücksichtigung eines Speicherorts zu entwickeln, um die Cloud Instanz zusammenzusetzen und bereitzustellen. Obwohl bei der Cloud Instanz in so einem Beispiel es so aussehen kann, dass dieselben Ressourcen oder Applikationen wie auf dem herkömmlichen Desktop des Benutzers sind, kann diese von irgend einer speziellen Quelle, beispielsweise lokal, remote-Web, streamed etc. kommen, wenn der Benutzer auf eine Applikation klickt oder eine Applikation startet.
  • Beispielsweise kann ein Cloud basierender Speicheransatz für eine Benutzerinformation für eine Wiederherstellung nach einem Datenverlust sorgen. Beispielsweise kann ein Benutzer Remote-Zugriff auf eine Cloud basierende Version seines Desktops ausüben und sofortigen Zugang zu seinen Applikationen und Daten erlangen, als ob diese lokal vorliegen würden. Es sind die folgenden beispielhaften Szenarios in Betracht zu ziehen: (i) Ein Benutzer arbeitet an einem Webimage von irgend einem mit dem Internet verbundenen Gerät an seinem lokalen Computer, welches verloren gegangen ist und (ii) ein Benutzer arbeitet an einem Web-Image an der gleichen lokalen Maschine, welche ein fehlerhaftes Image hat, wobei die lokale Maschine im Hintergrund wiederhergestellt werden kann, wobei der Benutzer damit fortfährt, zu arbeiten unter Verwendung des Cloud-basierenden Image.
  • Beispielsweise kann eine Handhabungsapplikation dafür sorgen, dass eine ausgewählte Applikation gesendet wird und Betriebssystemeinstellungen zu der Cloud gesendet werden, um den Datenverkehr auf einem Minimum zu halten, beispielsweise optional zusammen mit Datenfiles, wie einer herkömmlichen online-Sicherung. Beispielsweise kann ein Cloudserver dann einen virtuellen Desktop mit diesen Einstellungen erzeugen. Beispielsweise kann eine cloudbasierende Handhabungsapplikation Features beinhalten, die für eine Detektion der Version eines Betriebssystems, einer Version einer Applikation etc. dienen sollten, um im Wesentlichen eine vollständige Replik eines lokalen Systems eines Benutzers, beispielsweise eines Clients oder eines Clientgerätes, wieder zu erzeugen.
  • 2 zeigt ein Beispiel für ein Verfahren 200 zusammen mit verschiedenen Diagrammen, die eine Ausrüstung veranschaulichen, als Beispiele, mit welchen das Verfahren 200 implementiert werden kann. Wie in dem Beispiel aus der 2 gezeigt ist, kann das Verfahren 200 charakterisiert werden, die zwei Zustände (S1 und S2) enthalten, wobei ein Trigger (T) einen Übergang von einem der Zustände zu dem anderen Zustand bewirkt. Die Ausrüstung beinhaltet das Netzwerk 105, das Gerät 110 und das Gerät 120 mit einem Speicher 124, beispielsweise einem oder mehreren der Datenspeicher 172 aus der 1. Des weiteren sind Einstellungen 111, eine Anfrage oder Einträge 113, eine eingerichtete Betriebssystemumgebung 125, eine Information 115 und eine Information 117 gezeigt, wie sie zumindest teilweise durch die eingerichtete Betriebssystemumgebung 125 erzeugt werden.
  • Wie in der 2 gezeigt ist, beinhaltet das Verfahren 200 einen Empfangsblock 210 zum Empfangen von Betriebssytemumgebungseinstellungen, beispielsweise über ein Netzwerk, einen Speicherblock 214 zum Speichern der empfangenen Betriebssystemumgebungseinstellungen, einen Entscheidungsblock 218 zum Entscheiden, ob eine Anfrage empfangen worden ist, ein Einrichtungsblock 222 zum Einrichten einer Betriebssystemumgebung gemäß der gespeicherten Einstellungen, ein Empfangsblock 226 zum Empfangen einer Information, beispielsweise über ein Netzwerk, ein Instruktionsblock 230 zum Instruieren der eingerichteten Betriebssystemumgebung gemäß der empfangenen Information und ein Übermittlungsblock 234 zum Übermitteln eine Information, die zumindest teilweise durch die eingerichtete Betriebssystemumgebung erzeugt wurde. In dem Beispiel aus der 2 entscheidet der Entscheidungsblock 218, auf eine Anfrage oder einen Trigger zu antworten, indem dieser zu dem Einrichtungsblock 222 übergeht, oder entscheidet, zu einem anderen Block, beispielsweise dem Block 214 überzugehen, beispielsweise, um in dem Zustand S1 zu verbleiben und nicht einen Übergang zu dem Zustand S2 zu vollziehen.
  • Wie in der 2 gezeigt ist, kann die Anfrage oder der Trigger 113 von dem Gerät 110 oder durch ein anderes Gerät an das Netzwerk 105 für einen Empfang durch das Gerät 120 geliefert werden, welches die Einstellungen 111 speichert oder einen Zugriff auf die gespeicherten Einstellungen 111 hat. Wie in der 2 gezeigt ist, kann die Information 117, wie sie zumindest teilweise durch die eingerichtete Betriebssystemumgebung 125 erzeugt wurde, über das Netzwerk 105 an das Gerät 110 oder an ein anderes Gerät übermittelt werden. Beispielsweise kann die Information 117 eine Information sein, die zumindest teilweise auf der Information 115 basiert, welche Instruktionen, Befehle etc. umfassen kann, welche die eingerichtete Betriebssystemumgebung 125 instruieren, beispielsweise um eine Applikation etc. auszuführen. Die Information 115 kann über das Gerät 110 oder über ein anderes Gerät übermittelt werden.
  • 3 zeigt einige Beispiele von Geräten 300 und ein Beispiel für ein Verfahren 350. Wie gezeigt, können die Geräte 300 einen oder mehrere Prozessoren 302, einen Speicher 304, eine oder mehrere Netzwerkschnittstellen 306, ein oder mehrere Displays 308 und ein oder mehrere Stromversorgungszellen 310 umfassen. Wie in der 3 gezeigt ist, kann beispielsweise ein Mobiltelefon, ein Tablet, eine Kamera, ein GPS-Gerät, ein Notebook oder ein anderes Gerät konfiguriert sein, um eine Information remote zu speichern, eine remote eingerichtete Betriebssystemumgebung zu verwenden etc.
  • Beispielsweise kann ein Gerät ein oder mehrere Laufwerke, beispielsweise ein HDD 322, ein Laufwerk wie beispielsweise ein SSD 324 und eine andere Schaltung 326 umfassen. Das Verfahren 350 kann einen Operationsblock 352 zum Betreiben einer Schaltung, einen Entscheidungsblock 354 zum Entscheiden, ob ein Trigger oder eine Anfrage erlassen werden sollte, und einen Einrichtungsblock 356 zum Einrichten einer Remote-Betriebssystemumgebung, beispielsweise unter Verwendung eines Remote-Gerätes 362, umfassen. Wie in der 3 gezeigt ist, kann der Betriebsblock 352 das Betreiben einer Schaltungsüberwachung 340 umfassen, welche eine Funktionalität für einen Treiber-Monitor 342, einen Speichermonitor 344, einen Umgebungsmonitor 346 und ein oder mehrere andere Monitore 348 umfasst. Beispielsweise kann der Schaltungsmonitor 340 unter Verwendung eines lokalen Geräts, beispielsweise eines der Geräte 300, beispielsweise remote von dem Remotegerät 362, implementiert werden.
  • Der Treibermonitor 342 kann einen Treiber für Anzeigen von physischen Fehlern, Platzmangel, Softwarefehlern, beispielsweise Firmwareschwankungen, etc. überwachen. Dieser kann wiederum einen Trigger auslösen, um das Verfahren 350 zu instruieren, eine Remote-Betriebssystemumgebung einzurichten. Der Speichermonitor 344 kann einen Speicher nach Anzeigen von physischen Fehlern, Platzmangel, Softwareausfällen etc. überwachen. Dieser kann wiederum einen Trigger auslösen, um das Verfahren 350 zu instruieren, eine Remote-Betriebssystemumgebung einzurichten. Der Umgebungsmonitor 346 kann eine oder mehrere Umgebungsbedingungen, beispielsweise eine Temperatur, eine Leistungsaufnahme, eine Schwingung, eine Erschütterung etc. überwachen. Dieser wiederum kann einen Trigger auslösen, um das Verfahren 350 zu instruieren, eine Remote-Betriebssystemumgebung einzurichten.
  • Der Umgebungsmonitor 346 kann für ein Abschalten von einer oder mehrerer Komponenten eines Geräts oder einer oder mehrerer Komponenten, die mit einem Gerät verbunden sind, sorgen. Beispielsweise kann der Monitor 346 eine Schwingung oberhalb eines vorbestimmten Schwellwertes, beispielsweise einer Amplitude, einer Frequenz etc., detektieren, wenn ein Benutzer beispielsweise ein Gerät in einem Fahrzeug verwendet, und ein HDD abschalten, beispielsweise einen Kopf, eine Platte etc. verriegeln, um einen möglichen Schaden zu verhindern, beispielsweise während einer Lese- und/oder Schreiboperation bei dieser HDD etc.. Der Monitor 346 kann einen Trigger auslösen, so dass der Benutzer damit fortfahren kann, das Gerät zu verwenden aber über eine remote eingerichtete Betriebssystemumgebung, beispielsweise gemäß den Einstellungen, die vorher remote gespeichert wurden, um die Betriebssystemumgebung einzurichten. In einem anderen Beispiel kann der Monitor 346 ein elektromagnetisches Feld, beispielsweise wie es durch einen großen Magneten, einen elektromagnetischen Sturm etc. erzeugt wird, detektieren. Da ein elektromagnetisches Feld den Betrieb einer HDD beeinträchtigen kann, kann der Monitor 346 einen Trigger auslösen, so dass ein Benutzer damit fortfahren kann, das Gerät zu verwenden aber über eine remote eingerichtete Betriebssystemumgebung. Beispielsweise kann der Monitor 346 eine Temperatur über die Zeit detektieren und bestimmen, dass ein Betrieb von einer oder mehrerer Komponenten eines Geräts eine Fehlfunktion aufweist. Der Monitor 346 wiederum kann ebenfalls einen Trigger auslösen, so dass der Benutzer damit fortfahren kann, das Gerät zu verwenden aber über eine remote eingerichtete Betriebssystemumgebung.
  • Beispielsweise kann der Schaltungsmonitor 340 einen Trigger auslösen, um Einstellungen remote abzuspeichern, beispielsweise um einen „Zustand“ eines Geräts zu dokumentieren, bevor ein Fehler auftritt, beispielsweise in Reaktion auf eine erhöhte Wahrscheinlichkeit, dass ein Fehler basierend auf einer oder mehrerer der überwachten Parameter erfolgen wird. Beispielsweise kann der Schaltungsmonitor 340 einen Befehl für eine Reparatur, ein Wiederherstellen, eine Defragmentierung etc. erlassen, welche beispielsweise dann ausgeführt werden, sobald eine remote eingerichtete Betriebssystemumgebung in Verwendung ist, beispielsweise in Reaktion auf ein ermitteltes leistungsfähigkeitsbezogenes Problem.
  • Beispielsweise kann ein HDD eines der am härtesten arbeitenden elektromechanischen Komponenten in einem Computersystem sein. Eine kleine Platte einer HDD kann mehrere 1000 Umdrehungen/min vollführen, wobei ein Kopf, der kleiner als die Spitze eines Tintenstiftes ist, sich über ihr bewegt und nach dem exakten Punkt sucht, auf dem bestimmte Daten gespeichert sind. Stöße oder ein Herunterfallen, während die Platte in Bewegung ist, kann die Platte, den Kopf etc. beschädigen. Sollte ein HDD ersetzt werden müssen, wird häufig eine Wiederherstellungsoperation ausgeführt, beispielsweise dann, wenn die Ersatz-HDD oder ein anderes Medium nicht bereits ein Betriebssystem beinhaltet, etc..
  • Der Treibermonitor 342 kann für das Überwachen von einer oder mehreren Arten von Treiberausfällen sorgen, die mit einer HDD und/oder einer SSD und/oder einem Hybriddrive verbunden sind.
  • Die grundlegenden Arten von HDD-Fehlern beinhalten Schäden an einer Software oder einer Firmware, welche dazu führen können, dass eine Scheibe unlesbar wird, die in einer Unfähigkeit resultieren, korrekt mit einem Gerät zu interagieren; Probleme mit einem Controllerboard, welches zu einem elektronischen Ausfall führen kann, ein mechanischer Fehler, wobei eine oder mehrere Komponenten einer HDD fehlerhaft werden; und ein Logikfehler, der dann auftreten kann, wenn ein Problem mit der Information auf der Scheibe vorliegt.
  • Einige Beispiele für Bedingungen, die unter Verwendung eines oder mehrerer der Monitore aus der 3 überwacht werden können, beinhalten:
    1. (i) Wärme: ein Überhitzen der Hardware beispielsweise aufgrund einer ungenügenden Belüftung und Kühlung in und um ein Laufwerk oder aufgrund einer überlasteten Hardware mit wenig oder keiner Ruhezeit.
    2. (ii) Physische Beschädigung: physische Kraft, beispielsweise Stoßen, Erschüttern oder Herunterfallen können zu einer physischen Beschädigung führen, beispielsweise zu einer Beschädigung eines Lese/Schreib-Kopfs, der eine Scheibe berühren oder verletzen kann, eine Beschädigung der magnetischen Oberflächen der Platten bewirken kann, wobei die Daten, die dort eingebettet sind, beispielsweise durch einen Head-crash, welcher möglicherweise auftritt, gerade dann, wenn das Laufwerk heruntergefahren wird.
    3. (iii) Stromspitzen: eine Stromschwankung verursacht durch Blitzeinschlag, Interferenzen mit Stromkabeln oder durch irgend ein Ereignis, welches einen Stromfluss unterbricht und dann erneut startet, beispielsweise kann zu einem Datenverlust führen, wenn Lese/Schreib-Köpfe aufhören, korrekt zu funktionieren.
    4. (iv) Wasserschaden: Feuchtigkeit, die durch ein Fluten oder durch ein Verschütten einer Flüssigkeit entsteht, kann möglicherweise unerwünschte elektrische Ströme hervorrufen.
    5. (v) Beschädigte Files: inkorrektes Schließen eines Programms, Ausschalten eines Computergeräts, bevor Files geschlossen worden sind, Installieren einer neuen Software etc.. Stromausfälle und ein plötzliches Abschalten eines Computers kann zu beschädigten Files führen und zu eine Beschädigung der HDD führen.
    6. (vi) Menschliches Versagen: Unbeabsichtigtes Löschen von Files, die für ein Laufwerk unabdingbar sind, inkorrekte Installation und Entfernung von Files, Aktivitäten, die während einer forensischen Untersuchung durchgeführt werden, etc.
  • 4 zeigt ein Beispiel für ein Verfahren 400, das einen Einrichtungsblock 414 zum Einrichten einer Sitzung mit einer lokalen Betriebssystemumgebung beinhaltet, einen Überwachungsblock zum Überwachen eines Geräts oder eines Systems, beispielsweise lokal und/oder remote, einen Entscheidungsblock 422 zum Entscheiden, ob ein Risiko für einen Ausfall existiert, beispielsweise oberhalb eines Schwellwerts, ein Einrichtungsblock 426 zum Einrichten einer Sitzung mit einer Remote-Betriebssystemumgebung, einen Überwachungsblock 430 für fortgesetztes Überwachen des Geräts oder des Systems, beispielsweise lokal und/oder remote, und ein Entscheidungsblock 434 zum Entscheiden, ob das Risiko oder ein anderes Risiko weiter fortbesteht. Wie in dem Beispiel aus der 4 gezeigt ist, geht das Verfahren 400 zu dem Einrichtungsblock 426 über, wenn der Entscheidungsblock 422 entscheidet, dass ein Risiko für einen Ausfall existiert, um eine Sitzung mit einer Remote-Betriebssystemumgebung einzurichten, optional mit Gegenmaßnahmen über einen Gegenmaßnahmenblock 428. Wenn das Risiko für einen Ausfall nicht existiert oder auf eine andere Weise eine Remotesitzung nicht notwendig ist, kann das Verfahren 400 mit dem Überwachungsblock 418 fortfahren. Wenn der Entscheidungsblock 434 dann entscheidet, dass ein Risiko weiterhin fortbesteht, beispielsweise das Risiko für einen Ausfall, dann kann das Verfahren 400 in einer Schleife mit dem Überwachungsblock 430 fortfahren.
  • In dem Beispiel aus der 4 können die Überwachungsblöcke 418 und 430 in ähnlicher Art eine Überwachung vornehmen. Alternativ dazu kann der Überwachungsblock 418 mehrere Faktoren breiter überwachen als der Überwachungsblock 430. Beispielsweise kann der Überwachungsblock 418 eine Schwingung, eine Temperatur, eine Erschütterung etc. überwachen und der Überwachungsblock 430 kann eine oder mehrere von den Bedingungen für eine Überwachung auswählen, in Abhängigkeit von der Natur des Risikos für einen Ausfall. Wenn das Risiko für einen Ausfall von einer Temperatur oder einer Temperatur über der Zeit herrührt, welche einen vorbestimmten Schwellenwert übersteigt, dann kann der Überwachungsblock 430 beispielsweise die Temperatur überwachen, bis das Risiko nachlässt, beispielsweise ein Abfall in der Temperatur auftritt.
  • Beispielsweise kann der Überwachungsblock 430 teilweise über eine Remoteschaltung aktiviert werden. Beispielsweise kann ein Gerät, das ein Risiko für einen Ausfall aufweist, eine Schaltung zum Messen einer Temperatur und zum Übermitteln gemessener Temperaturwerte oder einer daraus abgeleiteten Messgröße, über ein Netzwerk an ein Gerät umfassen, welches eine Remote-Betriebssystemumgebung einrichtet. In so einem Beispiel kann das Remotegerät eine Sitzung mit der Remote-Betriebssystemumgebung beenden, wobei das Risiko verschwindet, beispielsweise wenn der Entscheidungsblock 434 entscheidet, dass das Risiko nicht länger besteht. In so einem Beispiel kann eine Schaltung teilweise lokal und teilweise remote, beispielsweise in Abhängigkeit von einem Zustand, beispielsweise den Zuständen S1 und S2 aus der 2, vorliegen.
  • Was die Gegenmaßnahmen aus dem Gegenmaßnahmenblock 428 anbelangt, wurden einige Gegenmaßnahmen erwähnt, beispielsweise das Reparieren, die Defragmentierung, das Wiederherstellen etc.. Eine solche Gegenmaßnahme kann über eine Schaltung lokal oder lokal und remote implementiert werden. Beispielsweise kann eine Information, die Teile wieder zu speichern, auf das Laufwerk von einem Remote-Speicherort heruntergeladen werden, wenn eine Gegenmaßnahme ein Wiederherstellen von einer oder mehreren Bereichen eines Laufwerks ist, beispielsweise optional ein Remotegerät, das die Remote-Betriebs-systemumgebung einrichtet.
  • 5 zeigt ein Beispiel für ein Verfahren 500, das einen Einrichtungsblock 514 zum Einrichten einer Sitzung mit einer Remote-Betriebssystemumgebung, einen Empfangsblock 518 zum Empfangen einer Anfrage für eine Applikation, beispielsweise optional mit einer Lizenz, einen Entscheidungsblock 522 zum Entscheiden, ob es korrekt ist, die angefragte Applikation zu starten, einen Startblock 526 zum Starten der angefragten Applikation basierend auf einer Entscheidung des Entscheidungsblock 522, ein optionaler Lizenzblock 524 zum Zugreifen auf eine Lizenz, optional ein Authentifizieren einer Lizenz über eine dritte Partei 528, ein Entscheidungsblock 530 zum Entscheiden, ob eine Zahlung für einen Nutzungsvertrag für ein Benutzen der angefragten Applikation akzeptabel ist, ein Startblock 532 für ein Starten der angefragten Applikation, wenn der Entscheidungsblock 530 entscheidet, dass die Zahlung für einen Nutzungsvertrag akzeptabel ist, ein optionaler Buchungsblock 534 zum Buchen einer Zahlung für einen Nutzungsvertrag, ein Erteilungsblock 538 zum Erteilen einer Notiz, wenn die angefragte Applikation nicht gestattet werden kann, beispielsweise aus einem oder mehreren Gründen. Beispielsweise kann die Notiz einen oder mehrere Gründe anzeigen, warum eine angefragte Applikation nicht gestattet werden kann.
  • Beispielsweise kann eine angefragte Applikation eine lizenzierte Applikation oder eine nichtlizenzierte Applikation sein. Beispielsweise kann eine Applikation eine Open Source Applikation sein, welche kein Gegenstand für eine explizite Lizenz für einen Gebrauch der Applikation ist, beispielsweise für ein Startapplikation. Beispielsweise kann eine Applikation gestattet werden aber in ihrem Gebrauch ohne eine Lizenz, eine Zahlung etc. eingeschränkt sein. Es wird beispielsweise auf kostenlose Nutzungsverträge und Premiumnutzungsverträge für eine Applikation hingewiesen.
  • Bei einer Lizenz kann ein Benutzer eine sichere Lizenzinformation in einer remotegespeicherten Information einfügen. In so einem Beispiel, bei der eine Anfrage für ein Einrichten einer Sitzung mit einer Remote-Betriebssystemumgebung erfolgt ist, kann die Anfrage Berechtigungsnachweise für den Benutzer, eine vertrauliche Information, einen Schlüssel etc. beinhalten, auf welche auf die Lizenzinformation zugegriffen, entschlüsselt, etc. werden kann zum Zwecke eines Startens einer Applikation unter Verwendung der Remote-Betriebssystemumgebung. Beispielsweise kann ein Gerät ein Trusted Plattformmodul (TPM) umfassen, welches eine bestimmte Information speichert, die zum Zweck des Remote-Startens einer Applikation kommuniziert werden kann.
  • 6 zeigt ein Beispiel für ein System 600 und ein Beispiel für ein Verfahren 650. Wie gezeigt, umfasst das System 600 ein Netzwerk 605, ein Gerät 610-1, ein Gerät 610-2 und ein Gerät 620, welches ein Server, beispielsweise ein Blade etc. in einer Serverfarm sein kann. Wie gezeigt kann das Gerät 620 einen oder mehrere Kerne 622, einen Speicher 624, ein oder mehrere Schnittstellen 626 und ein oder mehrere Medienlaufwerke 628 umfassen.
  • Das Gerät 620 kann eine Backendmanagementschaltung 640 umfassen, welche zum Einrichten einer grafischen Benutzerschnittstelle (GUI) 645 auf einem Display, welches mit dem Gerät 610-1 verknüpft ist, vorgesehen ist. Beispielsweise kann die GUI 645 für grafische Steuerungen für eine Auswahl von Steuerparametern, wie zum Beispiel automatischen Operationen, manuellen Operationen, Benutzereinstellungen, Applikationen, Trigger, Hardwarespezifikationen etc. sorgen. Beispielsweise können die Trigger mit einem oder mehreren Überwachungen, beispielsweise denen aus der 3, verknüpft sein. Beispielsweise kann ein automatischer Betrieb ausgewählt werden, um automatisch eine Remote-Betriebssystemumgebung einzurichten, beispielsweise eine Sitzung mit einer Remote-Betriebssystemumgebung.
  • Die Hardware-Spezifikationen können automatisch über eine Benutzereingabe oder eine Kombination aus diesen gesammelt werden. Beispielsweise kann ein Benutzer wünschen, dass mehrere Kerne für das Ausführen einer Applikation eingesetzt werden, welche dazu konfiguriert ist, Threads parallel auf eine Vielzahl von Kernen zu verarbeiten, beispielsweise auf CPU-Kernen, GPU-Kernen etc. In so einem Beispiel kann der Benutzer Einstellungen für eine Remotespeicherung vorsehen, die eine Anzahl von Kernen anzeigt, wenn diese bestimmte Applikation angefordert wird. In solch einem Beispiel kann die Anzahl von Kernen im Kontext der 6, die auf einem Gerät 620 verfügbar ist, die Anzahl von Kernen, die auf dem Gerät 610-1 oder dem Gerät 610-2 verfügbar ist, übersteigen.
  • Beispielsweise kann eine Information 611 eine oder mehrere Einstellungen umfassen, wie sie zu einem oder mehreren Parametern unter Verwendung der GUI 645 eingestellt wurden. Alternativ dazu kann die Information 611 Einstellungen umfassen, die von dem Gerät 610-1 gesammelt wurden, beispielsweise automatisch ohne Verwendung einer Auswahl einer GUI etc.
  • Beispielsweise kann das Gerät 610-2 eine Browserapplikation 632, beispielsweise eine Browserapplikation, die dazu konfiguriert ist, um eine Information 615, beispielsweise eine Anfrage, über das Netzwerk 605 an das Gerät 620 zu übermitteln, welches einen Zugriff auf eine Information 611 hat. In diesem Beispiel kann das Gerät 610-2 eine Anfrage, beispielsweise die Information 615, abgeben, um eine Betriebssystemumgebung remote auf dem Gerät 620 einzurichten, beispielsweise, bei der eine Interaktion mit dieser Betriebssystemumgebung auf dem Gerät 610-2 über die Browserapplikation 632 erfolgt. In so einem Beispiel kann ein Benutzer eine gewünschte Umgebung remote wieder erzeugen, auch dann, wenn dieser Benutzer auf diese Remote-Umgebung über ein Gerät, beispielsweise das Gerät 610-2, zugreift, welches von dem Gerät, welches mit der gewünschten Umgebung, beispielsweise dem Gerät 610-1, abweicht.
  • Als ein Anschauungsbeispiel dient ein Benutzer mit einem Arbeitscomputer, der nicht von einem Arbeitsplatz entfernt werden kann. Dieser Benutzer kann mit einem anderen Computer, der eine Browserapplikation beinhaltet, verreisen. Sollte dieser Benutzer eine Verwendung einer Betriebssystemumgebung erfordern, die gemäß den Einstellungen des Arbeitscomputers eingerichtet wurde, kann der Benutzer die Browserapplikation dazu benutzen, um sich auf einem Remote-Arbeitsserver einzuloggen, um diese Betriebssystemumgebung einzurichten, wobei dieser Arbeitsserver auf gespeicherte Einstellungen des Arbeitscomputers zugreifen kann, beispielsweise ohne in Betracht zu ziehen, ob der Arbeitscomputer angeschaltet oder ausgeschaltet ist.
  • In dem Beispiel aus der 6 umfasst das Verfahren 650 einen Speicherblock 654 zum Speichern von Einstellungen, beispielsweise der Information 611, einen Empfangsblock 658 zum Empfangen einer Anfrage, beispielsweise der Anfrage 615, einen Entscheidungsblock 622 zum Entscheiden, ob die Anfrage durchführbar ist, einen Einrichtungsblock 666 zum Einrichten einer Betriebssystemumgebung, wenn die Anfrage durchführbar ist, und einen Hinweisblock 668 zum Erlassen eines Hinweises, wenn die Anfrage nicht durchführbar ist, um eine Betriebssystemumgebung einzurichten.
  • 7 zeigt Beispiele für Verfahren 720, 730, 740 und 750. Das Verfahren 720 umfasst einen Speicherblock 722 zum Speichern einer Information für ein Gerät X, einen Empfangsblock 724 zum Empfangen eine Anfrage, einen Übermittlungsblock 726 zum Übermitteln einer zumindest teilweise gespeicherten Information und ein Einrichtungsblock 728 zum Einrichten einer Betriebssystemumgebung auf einem Gerät Y. Auf diese Weise kann die gespeicherte Information, beispielsweise die Einstellungen etc., für eine Migration auf ein anderes Gerät, beispielsweise von dem Gerät X auf das Gerät Y, optional mit dem gleichen Betriebssystem, sorgen.
  • Das Verfahren 730 umfasst einen Speicherblock 732 zum Speichern einer Information für ein Gerät X für ein Betriebssystem 1 und einen Empfangsblock 734 für das Empfangen einer Anfrage, einen Übermittlungsblock 736 für das Übermitteln zumindest eines Teils der gespeicherten Information und einen Einrichtungsblock 738 zum Einrichten einer Umgebung mit einem Betriebssystem 2 auf dem Gerät X. Auf diese Weise kann die gespeicherte Information, beispielsweise Einstellungen etc., für eine Migration auf einen Ort zu einem neuen Betriebssystem, beispielsweise von einem Betriebssystem 1 auf einem Gerät X zu einem Betriebssystem 2 auf ein Gerät X, sorgen.
  • Das Verfahren 740 umfasst einen Speicherblock 742 zum Speichern einer Information für ein Gerät X, einen Empfangsblock 744 zum Empfangen einer Anfrage, einen Übermittlungsblock 746 zum Übermitteln zumindest eines Teils der gespeicherten Information und einen Wiederherstellungsblock 748 zum Wiederherstellen einer Information auf dem Gerät X. Auf diese Art kann die gespeicherte Information, beispielsweise der Einstellungen etc., für ein Wiederherstellen eines Registers oder andere Einstellungen, beispielsweise nach einem Virus-Angriff sorgen.
  • Das Verfahren 750 umfasst einen Speicherblock 752 zum Speichern einer Information für ein Gerät X, ein Empfangsblock 754 zum Empfangen einer Anfrage, einen Übermittlungsblock 756 zum Übermitteln zumindest eines Teils der gespeicherten Information und einen Wiederherstellungsblock 758 zum Wiederherstellen einer Betriebssystemumgebung auf dem Gerät X. Auf diese Weise kann die gespeicherte Information, beispielsweise Einstellungen etc., für ein Wiederherstellen des Betriebssystems auf dem Gerät X sorgen, beispielsweise, wenn das Wiederherstellen das Anwenden von persönlichen Einstellungen, Einstellungen und Daten umfasst, um ein „OS rot.“ zu eliminieren.
  • 8 zeigt Beispiele für Geräte 810 und 830 und ein Beispiel für ein Verfahren 870. Wie gezeigt, umfasst das Gerät 810 einen Button 819 und das Gerät 830 umfasst einen Button 839. Beispielsweise können die Buttons betätigbar sein, um eine Anfrage zu übermitteln, um eine Remote-Betriebssystemumgebung für einen Gebrauch durch die Geräte 810 und 830 jeweils einzurichten. Beispielsweise kann ein Gerät Features 850 umfassen, beispielsweise einen Button 852, eine Schaltung 854, eine Netzwerkschnittstelle 856 und eines oder mehrere andere Features 858.
  • Das Verfahren 870 kann einen Aktivierungsblock 872 zum Aktivieren eines Buttons, einen Übermittlungsblock 874 zum Übermitteln einer Anfrage in Reaktion auf eine Aktivierung des Buttons, einen Entscheidungsblock 876 zum Entscheiden, ob die Anfrage durchführbar ist, einen Instruktionsblock 880 zum Instruieren einer Remote-Betriebssystemumgebung, wobei der Entscheidungsblock 876 entscheidet, dass die Anfrage durchführbar ist, und ein Hinweisblock 882 zum Erlassen eines Hinweises, wobei der Entscheidungsblock 876 entscheidet, dass die Anfrage nicht durchführbar ist.
  • In dem Beispiel aus der 8 können der Aktivierungsblock und/oder der Übermittlungsblock 874 einen Zugriff auf den Speicher 853, ein TPM 855 oder ein anderes Feature 857 von einem Gerät oder einem Gerät zugeordnet umfassen, beispielsweise zum Formulieren einer Anfrage. Beispielsweise kann eine Anfrage eine Logen-Information oder andere Benutzerberechtigungsnachweise umfassen. Beispielsweise kann ein Berechtigungsnachweis für einen Zugriff auf einen Remote-Datenspeicher, einen Remote-Server, ein Remote-Konto etc. dienen. Beispielsweise kann ein Berechtigungsnachweis eine Lizenz sein oder mit einer Lizenz verbunden sein, beispielsweise für eine Verwendung einer Applikation, für einen Berechnungszweck für eine Applikation, beispielsweise für eine Zahlung für eine Nutzervereinbarung etc..
  • Wie in den Beispielen aus der 8 gezeigt ist, kann das Gerät 810 ein Laptop, ein Netbook oder ein anderes Klapp-Gerät sein, wobei das Gerät 830 ein tabletartiges Gerät sein kann, beispielsweise an Smartphone etc.. Beispielsweise kann das Gerät 830 ein abnehmbares Display eines Geräts sein, das einen Tastaturteil, einen Dockingteil etc., umfasst. In so einem Beispiel kann das abnehmbare Display als ein leichtgewichtiges Gerät betrieben werden, das eine Browserapplikation umfasst, welche ausführbar ist, um eine Anfrage für eine Anfrage nach einer Einrichtung und einer Verwendung einer Remote-Betriebssystemumgebung zu formulieren und zu übermitteln, beispielsweise basierend auf Einstellungen, welche in einem Teil eines Systems gespeichert sind, zu welchem das Display gehört, beispielsweise ist der untere Tastaturbereich des Geräts 810 in Betracht zu ziehen, da dieser ein Laufwerk umfasst, welches Einstellungen speichert etc., welche zu einem Remote-Speicherort übermittelt werden müssen und dort gespeichert werden müssen.
  • Beispielsweise kann eine Anfrage von einem oder mehreren Arten von Mechanismen initiiert werden. Beispielsweise kann ein tragbares Gerät für eine Kommunikation mit einem Gerät konfiguriert werden, beispielsweise für das Gerät 810 oder das Gerät 830 zum Zweck einer Initiierung einer Anfrage. Beispielsweise ist ein USB-Schlüssel in Betracht zu ziehen, der eine Information umfasst, welche nach Einsetzen in einen USB-Port eine Anfrage initiiert, siehe zum Beispiel den Übermittlungsblock 874. Als ein anderes Beispiel ist ein Gerät anzusehen, das für eine drahtlose Kommunikation, beispielsweise eine Mobilfunkkommunikation, eine Wi-Fi-Kommunikationstechnologie, Bluetooth-Kommunikationstechnologie, IR-Kommunikationstechnologie, EM-Kommunikationstechnologie etc., konfiguriert ist, welches eine Information kommunizieren kann, um eine Anfrage zu initiieren, siehe beispielsweise den Übermittlungsblock 874. Beispielsweise kann ein Magnetkartenleser, ein biometrischer Sensor, ein magnetischer Sensor, ein RFID-Sensor etc. in einem Gerät umfasst sein, beispielsweise dem Gerät 810 von dem Gerät 830, um eine Anfrage zu initiieren, beispielsweise in Reaktion auf ein Lesen einer Magnetkarte, auf ein Detektieren eines Features oder von Features, Detektieren eines Magnetfelds, Detektieren eines RFID-Chips etc.. Als Beispiel ist ein biometrischer Sensor zum Lesen eines Fingerabdrucks, welcher nach dem Einlesen ein Initiierungsverfahren startet, um eine Anfrage zu übermitteln. Beispielsweise können ein biometrischer Sensor und die dazugehörige Schaltung dazu programmiert sein, ein Verfahren für einen Fingerabdruck zu initiieren und ein anderes Verfahren für einen anderen Fingerabdruck zu initiieren, beispielsweise ist ein rechter Zeigefinger für ein normales Bootverfahren und ein linker Zeigefinger für ein Remote-Verfahren in Betracht zu ziehen.
  • Beispielsweise kann ein Gerät eine Schaltung zum Initiieren eine Anfrage von einer Pre-Boot-Umgebung, welche beispielsweise initiiert teilweise über Software, Firmware etc., von einer Pre-Boot-Konsole, von einem bootfähigen entfernbaren Gerät, beispielsweise einem USB-Gerät etc., umfassen.
  • Beispielsweise kann ein Verfahren das Empfangen von Betriebssystemumgebungseinstellungen über ein Netzwerk, das Speichern der empfangenen Betriebssystemumgebungseinstellungen auf ein Speichergerät, das Einrichten einer Betriebssystemumgebung gemäß den gespeicherten Betriebssystemumgebungseinstellungen, das Empfangen einer Information über das Netzwerk, das Instruieren der eingerichteten Betriebssystemumgebung gemäß der empfangenen Information und in Reaktion auf das Instruieren, Übermitteln über das Netzwerk von der Information, die zumindest teilweise durch die eingerichtete Betriebssystemumgebung erzeugt wurde. Beispielsweise kann ein solches Verfahren das Empfangen einer Anfrage über das Netzwerk umfassen, um mit der Betriebssystemumgebung, die gemäß den gespeicherten Betriebssystemumgebungseinstellungen eingerichtet wurde, zu interagieren.
  • Beispielsweise kann ein Verfahren das Empfangen einer Internetprotokolladresse umfassen. In so einem Beispiel kann das Verfahren das Übermitteln über eine Netzwerkinformation, die zumindest teilweise durch eine eingerichtete Betriebssystemumgebung an die Internetprotokolladresse erzeugt wurde, umfassen. Alternativ dazu kann ein solches Verfahren das Übermitteln der zumindest teilweise durch die eingerichtete Betriebssystemumgebung erzeugte Information an eine Internetprotokolladresse umfassen, die von der empfangenen Internetprotokolladresse abweicht.
  • Beispielsweise kann ein Verfahren das Instruieren einer eingerichteten Betriebssystemumgebung umfassen, um eine Applikation innerhalb der eingerichteten Betriebssystemumgebung einzurichten. In so einem Beispiel kann die Applikation eine lizenzierte Applikation oder eine unlizenzierte Applikation sein.
  • Beispielsweise kann eine Information, die zumindest teilweise durch eine eingerichtete Betriebssystemumgebung erzeugt wurde, eine Information beinhalten, die zumindest teilweise durch eine eingerichtete Applikation innerhalb dieser Betriebssystemumgebung erzeugt wurde.
  • Beispielsweise kann ein Verfahren ein Übermitteln einer Anfrage über ein Netzwerk umfassen, um eine aktualisierte Version von Betriebssystemumgebungseinstellungen zu empfangen. Beispielsweise kann ein Pull-Modell durch ein Remotegerät initiiert werden, wohingegen ein Push-Modell durch ein lokales Gerät initiiert werden kann. Beispielsweise kann ein Benutzer optional eine automatische Aktualisierungsoption auswählen, um periodisch eine remote gespeicherte Version der Betriebssystemumgebungseinstellungen zu aktualisieren.
  • Beispielsweise kann ein Verfahren ein Übermitteln einer Information über ein Netzwerk umfassen, um eine grafische Benutzerschnittstelle (GUI) zu erzeugen, welche eine grafische Steuerung umfasst, um Applikationen auszuwählen, die von einer Betriebssystemumgebung ausführbar sind, die gemäß den Betriebssystemumgebungseinstellungen eingerichtet wurde.
  • Beispielsweise kann ein Verfahren das Empfangen von Betriebssystemumgebungseinstellungen umfassen, welche Einstellungen für zumindest eine Applikation umfassen, die innerhalb einer Betriebssystemumgebung gemäß den Betriebssystemumgebungseinstellungen eingerichtet wurde, ausführbar ist.
  • Beispielsweise kann ein Verfahren das Empfangen einer Information über ein Netzwerk umfassen, wobei die Information von einer Internetprotokolladresse, die mit einem Clientgerät verknüpft ist, stammt. In so einem Beispiel kann das Clientgerät einen Hardwareausfall erfahren haben, der das Clientgerät am Einrichten einer Betriebssystemumgebung auf dem Clientgerät hindert.
  • Beispielsweise können ein oder mehrere computerlesbare Speichermedien computerausführbare Instruktionen umfassen, um ein Computergerät zu folgendem zu instruieren:
    • Empfange Betriebssystemumgebungseinstellungen über ein Netzwerk; Speichere die empfangenen Betriebssystemumgebungseinstellungen auf ein Speichergerät; Empfange eine Anfrage über das Netzwerk, um mit einer Betriebssystemumgebung, die gemäß den gespeicherten Betriebssystemumgebungseinstellungen eingerichtet wurde, zu interagieren; Richte die Betriebssystemumgebung gemäß den gespeicherten Betriebssystemumgebungseinstellungen ein; Empfange eine Information über das Netzwerk;
    • Instruiere die eingerichtete Betriebssystemumgebung gemäß der empfangenen Information; und übermittle in Reaktion auf die Instruktion der eingerichteten Betriebssystemumgebung über das Netzwerk eine Information, die zumindest teilweise durch die eingerichtete Betriebssystemumgebung erzeugt wurde. In so einem Beispiel können Instruktionen umfasst sein, um ein Computergerät dazu zu instruieren, einen Applikationscode auszuführen, um eine Applikation innerhalb der eingerichteten Betriebssystemumgebung einzurichten, beispielsweise dann, wenn der Applikationscode einen lizenzierten Applikationscode umfasst.
  • Beispielsweise kann ein System einen Prozessor, ein Speichergerät mit einem Speicher, auf den der Prozessor zugreifen kann, Betriebssysteminstruktionen und Betriebssystemumgebungseinstellungen, welche in dem Speichergerät gespeichert sind, umfassen, wobei die Betriebssysteminstruktionen für ein Einrichten einer Betriebssystemumgebung gemäß der Betriebssystemumgebungseinstellungen dient; eine Netzwerkschnittstelle; und eine Schaltung, um eine Anfrage über die Netzwerkschnittstelle zu übermitteln, wobei die Anfrage dazu dient, remote die Betriebssystemumgebung gemäß eine remote gespeicherten Version der Betriebssystemumgebungseinstellungen einzurichten.
  • Beispielsweise kann ein System eine oder mehrere Schaltungen umfassen, um eine Übermittlung der Anfrage in Reaktion auf einen Fehlerzustand des Systems auszulösen und einen von einen Benutzer betätigbaren Button umfassen, um eine Übermittlung der Anfrage auszulösen.
  • Beispielsweise kann ein System eine Schaltung zum Interagieren mit einer remote eingerichteten Betriebssystemumgebung über eine Netzwerkschnittstelle umfassen, wobei die remote eingerichtete Betriebssystemumgebung gemäß einer remote gespeicherten Version der Betriebssystemumgebungseinstellungen eingerichtet wurde.
  • Beispielsweise kann ein Gerät einen Hypervisor, beispielsweise, um eine oder mehrere Betriebssysteme zu handhaben, umfassen. In Hinblick auf einen Hypervisor, kann ein Hypervisor eine oder mehrere Merkmale des XEN® Hypervisor (XE-NSOURCE, LLC, LCD, Palo Alto, Kalifornien) enthalten. In einem XEN®System ist der XEN®Hypervisor typischerweise der niedrigste und meist privilegierte Layer. Über diesen Layer können ein oder mehrere Gastbetriebssysteme unterstützt werden, welche der Hypervisor über die eine oder mehrere physische CPUs zuordnet. In einer XEN-Terminologie wird das erste Gast-Betriebssystem als eine „domain0“ (DO0) bezeichnet. In einem konventionellen XEN System wird das dom0 Betriebssystem automatisch gebootet, wenn der Hypervisor bootet und es werden spezielle Management Privilegien vergeben und ein direkter Zugriff auf alle physische Hardware über eine Standardeinstellung. Im Hinblick auf Betriebssysteme kann ein Windows® Betriebssystem, ein Linux® Betriebssystem, ein Apple® Betriebssystem oder andere Betriebssysteme von einer Computerplattform verwendet werden.
  • Wie hier beschrieben können verschiedene Vorgänge, Schritte etc. als Instruktionen implementiert werden, die in einem oder mehreren computerlesbaren Speichermedien gespeichert sind. Beispielsweise können ein oder mehrere computerlesbare Speichermedien Computerausführbare, beispielsweise Prozessor ausführbare, Instruktionen umfassen, um ein Gerät zu instruieren.
  • Der Ausdruck „Schaltkreis“ oder „Schaltung“ wird in der Zusammenfassung, der Beschreibung und/oder den Ansprüchen verwendet. In der Technik ist bekannt, dass der Ausdruck „Schaltung“ alle Niveaus einer zur Verfügung stehenden Integration, z.B. von diskreten Logikschaltkreisen bis zu den höchsten Niveaus der Schaltkreisintegration wie die VLSI, und programmierbare Logikkomponenten, die programmiert werden, um die Funktionen einer Ausführungsform sowie als allgemeinangewendete oder spezial-angewendete Prozessoren, die mit Instruktionen programmiert sind, um diese Funktionen auszuführen, einschließen. Eine derartige Schaltung kann sich optional auf eine oder mehrere computerlesbare Medien beziehen, die computerausführbare Instruktionen umfassen. Wie hierin beschrieben, kann ein computerlesbares Medium ein Speicherbauteil sein (z.B. eine Speicherkarte, eine Speicherdiskette, usw.) und sich auf ein computerlesbares Speichermedium beziehen.
  • Während unterschiedliche Beispiele der Schaltkreise oder Schaltungen erörtert wurden, zeigt 9 ein Blockdiagramm eines darstellbaren Computersystems 900. Das System 900 kann ein Desktop-Computersystem sein, so wie eines der Think-Centre® or ThinkPad® Serien von Personalcomputern, die von Lenovo (US) Inc. of Morrisville, NC verkauft werden, oder einen Workstation-Computer, so wie ThinkStation®, die von Lenovo (US) Inc. of Morrisville, NC verkauft werden, wie jedoch von der Beschreibung hierin offensichtlich, können ein Satellit, eine Basis, ein Server oder andere Vorrichtungen andere Merkmale oder nur einige der Merkmale des Systems 900 umfassen.
  • Wie in 9 gezeigt, umfasst das System 900 einen sogenannten Chipsatz 910. Ein Chipsatz bezieht sich auf eine Gruppe integrierter Schaltkreise, oder Chips, die entwickelt sind (z.B. konfiguriert sind) um zusammenzuarbeiten. Chipsätze werden gewöhnlich als Einzelprodukt vermarktet (z.B. berücksichtige Chipsätze, die unter dem Firmenzeichen INTEL®, AMD®, usw., vermarktet werden).
  • In dem Beispiel der 9 weist der Chipsatz 910 eine besondere Architektur auf, welche bis zu einem gewissen Grad variiert werden kann, abhängig von der Firma und dem Hersteller. Die Architektur des Chipsatzes 910 umfasst einen Kern und eine Speichersteuerungsgruppe 920 und einen Ein/Aus-Steuerungsnetzknoten 950, der Informationen austauscht (z.B. Daten, Signale, Kommandos, usw.) zum Beispiel über eine Direktmanagement-Schnittstelle oder eine Direktmedia-Schnittstelle (DMI) 942 oder ein Verbindungssteuergerät 944. In dem Beispiel der 9, ist die DMI 942 eine Chip-zu-Chip-Schnittstelle (auf die manchmal als eine Verbindung zwischen einer „Northbridge“ und einer „Southbridge“ Bezug genommen wird).
  • Die Kern- und Speichersteuergruppe 920 umfasst einen oder mehrere Prozessoren 922 (z.B. Einzel-Kern oder Mehr-Kern) und einen Speichersteuerungsknoten 926, der Informationen über einen Frontseiten-Bus (FSB) 924 austauscht. Wie hierin beschrieben, können unterschiedliche Komponenten der Kern- und Speichersteuergruppe 920 in einem einzelnen Prozessorchip integriert sein, um zum Beispiel einen Chip zu ersetzen, der die konventionelle „Northbridge“-Architektur aufweist.
  • Der Speichersteuerungsknoten 926 ist mit dem Speicher 940 über Schnittstellen verbunden. Zum Beispiel kann der Speichersteuerungsknoten 926 eine Unterstützung für einen DDR SDRAM-Speicher bereitstellen (z.B. DDR, DDR2, DDR3, usw.). Im Allgemeinen ist der Speicher 1140 von der Art eines Direkt-Zugriffsspeichers (RAM), auf den oft als „Systemspeicher“ Bezug genommen wird.
  • Der Speichersteuerungsnetzwerkknoten 926 umfasst weiterhin eine Niedrigspannungsdifferential-Signalisierungsschnittstelle (LVDS) 932. Die LVDS 932 kann eine sogenannte LVDS-Anzeigenschnittstelle (LDI) zur Unterstützung eines Anzeigegerätes 992 sein (z.B. ein CRT, ein Flachbildschirm, ein Projektor, usw.). Ein Block 938 schließt einige Beispiele von Technologien, die über die LVDS-Schnittstelle 932 unterstützend sein können, ein (z.B. serielles digitales Video, HDMI/DVI, Anzeigeport). Der Speichersteuerungsnetzknoten 926 umfasst auch eine oder mehrere PCI-Express-Schnittstellen (PCI-E)934, zum Beispiel zum Unterstützen an diskreten Graphiken 936. Diskrete Graphiken, die eine PCI-E-Schnittstelle verwenden, bilden eine alternative Näherung zu einem beschleunigten Graphikport (AGP). Der Speichersteuerungsnetzwerksknoten 926 kann zum Beispiel eine 16-Leitung (x16) PCI-E-Port für eine externe PCI-E-basierende Graphikkarte einschließen. Ein System kann auch eine AGP oder PCI-E zur Unterstützung von Graphiken umfassen.
  • Das Ein/Aus-Netzknotensteuergerät 950 umfasst eine Varietät von Schnittstellen. Das Beispiel der 9 umfasst eine SATA-Schnittstelle 951, eine oder mehrere PCI-E-Schnittstellen (optional eine oder mehrere legale PCI-Schnittstellen), eine oder mehrere USB-Schnittstellen 953, eine LAN-Schnittstelle 954 (mehr allgemein eine Netzwerkschnittstelle), eine allgemein verwendbare Ein/Aus-Schnittstelle (GPIO) 955, eine Niedrig-Anschlusszahl-Schnittstelle (LPC) 970, eine Leistungsmanagementschnittstelle 961, eine Taktgeneratorschnittstelle 962, eine Audioschnittstelle 963 (z.B. für Lautsprecher 994), eine Gesamtkosten-Betriebsschnittstelle (TCO) 964, ein Systemmanagement-Bus-Schnittstelle (z.B. eine Multi-Master serielle Computer-Bus-Schnittstelle) 965 und eine serielle periphere Flashspeicher/Steuerschnittstelle (SPI Flash) 966, welche in dem Beispiel der 9 einen BIOS 968 und einen Boot-Code 990 einschließt. Mit Bezug auf die Netzwerkverbindungen, kann das Ein/Aus-Netzknotensteuergerät 950 integrierte Gigabit Ethernet Steuerungsleitungen multiplext mit einem PCI-E-Schnittstellenport umfassen. Andere Netzwerkmerkmale können abhängig von einer PCI-E-Schnittstelle arbeiten.
  • Die Schnittstellen des Ein/Aus-Netzknotensteuergerätes 950 stellen ein Kommunizieren mit unterschiedlichen Geräten, Netzwerken, usw., zur Verfügung. Die SATA-Schnittstelle ist zum Beispiel vorgesehen zum Lesen, Schreiben oder Lesen und Schreiben von Informationen in einen oder mehrere Treiber 980, wie einen HDDs, SDDs oder einer Kombination davon. Das Ein/Aus-Netzknotensteuergerät 950 kann auch eine fortschrittliche zentrale Steuerschnittstelle (AHCI) einschließen, um einen oder mehrere Treiber 980 zu versorgen. Die PCI-E-Schnittstelle 952 ermöglicht drahtlose Verbindungen 982 mit Geräten, Netzwerken, usw. Die USB-Schnittstelle 953 stellt für Eingabegeräte 984 wie Keyboards (KB), eine oder mehrere optische Sensoren, Mäuse und unterschiedliche andere Geräte zur Verfügung (z.B. Mikrophone, Kameras, Telefone, Speicher, Medienspieler, usw.).
  • In dem Beispiel der 9 stellt die LPC-Schnittstelle 970 die Verwendung von einem oder mehreren ASICs 971 bereit als zuverlässige Plattform für Module (TPM) 972, eine Super-Ein/Ausgabe 973, einen Firmensoftwareknoten 974, eine BIOS-Unterstützung 975 sowie unterschiedliche Arten von Speichern 976, wie ein ROM 977, Flash 978 und nichtflüchtige RAM (NVRAM) 979. Mit Bezug auf die TPM 972, kann dieses Modul in Form eines Chips als Authentisierungssoftware- und Hardware-Geräte verwendet werden. Zum Beispiel kann eine TPM in der Lage sein, eine Plattform für die Authentisierung zu bilden und kann zum Verifizieren, dass ein System, das einen Zugriff positioniert, das erwartete System ist, verwendet werden.
  • Das System 900 kann, wenn es eingeschaltet ist, konfiguriert sein, um einen Boot-Code 990 für die BIOS 968, wie innerhalb des SPI-Flash-Speichers 966 gespeichert ist, durchzuführen und danach Daten unter der Steuerung von einem oder mehreren Verwaltungssystemen und der Applikationssoftware (z.B. gespeichert in dem Systemspeicher 940) zu prozessieren.
  • Beispielsweise kann das System 900 eine Schaltung zur Kommunikation über ein Mobilfunknetz, ein Satellitennetzwerk oder ein anderes Netzwerk umfassen. Beispielsweise kann das System 900 eine Schaltung für ein Batteriemanagement umfassen, beispielsweise eine Smartbattery-Schaltung, die dazu geeignet ist, eine oder mehrere Lithiumionen-Batterien zu managen.

Claims (20)

  1. Ein Verfahren umfassend: Empfangen von Betriebssystemumgebungseinstellungen von einem Gerät eines Benutzers über ein Netzwerk (210); Speichern der empfangenen Betriebssystemumgebungseinstellungen auf einem Speichergerät (214); Einrichten einer Betriebssystemumgebung gemäß den gespeicherten Betriebssystemumgebungseinstellungen (222); Empfangen einer Instruktion 115 über das Netzwerk (226); Instruieren der eingerichteten Betriebssystemumgebung gemäß der empfangenen Instruktion (115, 230); und in Reaktion auf das Instruieren, Übermitteln über das Netzwerk einer Information (117), die zumindest teilweise durch die eingerichtete Betriebssystemumgebung erzeugt wurde (234); wobei nach dem Speichern (214) ein Überwachen von Fehlerbedingungen eines Speichergeräts des Gerätes des Benutzers, welche ein Überhitzen, physische Schäden, Stromspitzen, Wasserschäden, beschädigte Dateien oder menschliche Fehler beinhalten, erfolgt (418); wobei ein Auslösen eines Triggers (133) erfolgt, wenn das Überwachen eine Fehlerbedingung erkennt; und wobei das Einrichten (222) in Reaktion auf ein Auslösen eines Triggers (113) erfolgt.
  2. Verfahren nach Anspruch 1, wobei das Empfangen (210) von Betriebssystemumgebungseinstellungen über ein Netzwerk das Empfangen einer Internetprotokolladresse umfasst.
  3. Verfahren nach Anspruch 2, wobei das Übermitteln (234) über das Netzwerk das Übermitteln der Information, die zumindest teilweise von der eingerichteten Betriebssystemumgebung erzeugt wurde, an die Internetprotokolladresse umfasst.
  4. Verfahren nach Anspruch 2, wobei das Übermitteln (234) über das Netzwerk das Übermitteln der Information, die zumindest teilweise von der eingerichteten Betriebssystemumgebung erzeugt wurde, an eine Internetprotokolladresse, die sich von der empfangenen Internetprotokolladresse unterscheidet, umfasst.
  5. Verfahren nach Anspruch 1, wobei das Instruieren (230) das Instruieren der eingerichteten Betriebssystemumgebung umfasst, um eine Applikation innerhalb der eingerichteten Betriebssystemumgebung einzurichten.
  6. Verfahren nach Anspruch 5, wobei die Applikation eine lizenzierte Applikation umfasst.
  7. Verfahren nach Anspruch 5, wobei die Applikation eine unlizenzierte Applikation umfasst.
  8. Verfahren nach Anspruch 5, wobei die zumindest teilweise von der eingerichteten Betriebssystemumgebung erzeugte Information eine Information umfasst, die zumindest teilweise von der eingerichteten Applikation erzeugt wurde.
  9. Verfahren nach Anspruch 1, umfassend ein Übermitteln einer Anfrage über das Netzwerk, um eine aktualisierte Version der Betriebssytemumgebungseinstellungen zu empfangen.
  10. Verfahren nach Anspruch 1, umfassend das Empfangen einer Anfrage über das Netzwerk, um mit einer Betriebssystemumgebung zu interagieren und in Reaktion auf die Anfrage das Ausführen des Einrichtens der Betriebssystemumgebung gemäß den gespeicherten Betriebssystemumgebungseinstellungen.
  11. Verfahren nach Anspruch 1, wobei das Empfangen von Betriebssystemumgebungseinstellungen (210) das Empfangen von Einstellungen für zumindest eine Applikation umfasst, die innerhalb einer Betriebssystemumgebung ausführbar ist, welche gemäß den Betriebssystemumgebungseinstellungen eingerichtet wurde.
  12. Verfahren nach Anspruch 1, wobei das Empfangen (226) einer Information über das Netzwerk das Empfangen der Information von einer Internetprotokolladresse, die mit einem Clientgerät verknüpft ist, umfasst.
  13. Verfahren nach Anspruch 12, wobei das Clientgerät einen Hardwarefehler umfasst, der das Clientgerät am Einrichten einer Betriebssystemumgebung auf dem Clientgerät hindert.
  14. Ein oder mehrere computerlesbare Speichermedien umfassend computerausführbare Instruktionen, um ein Computergerät zu folgendem zu instruieren: Empfange Betriebssystemumgebungseinstellungen von einem Gerät eines Benutzers über ein Netzwerk; Speichere die empfangenen Betriebssystemumgebungseinstellungen auf einem Speichergerät; Empfange eine Anfrage über das Netzwerk, um mit einer Betriebssystemumgebung zu interagieren, die gemäß den gespeicherten Betriebssystemumgebungseinstellungen eingerichtet wurde; Richte die Betriebssystemumgebung gemäß den gespeicherten Betriebssystemumgebungseinstellungen ein; Empfange eine Information über das Netzwerk; Instruiere die eingerichtete Betriebssystemumgebung gemäß der empfangenen Information; und Übermittle in Reaktion auf eine Instruktion der eingerichteten Betriebssystemumgebung über das Netzwerk eine Information, die zumindest teilweise durch die eingerichtete Betriebssystemumgebung erzeugt wurde; wobei nach dem Speichern ein Überwachen von Fehlerbedingungen eines Speichergerätes des Gerätes des Benutzers, welche ein Überhitzen, physische Schäden, Stromspitzen, Wasserschäden, beschädigte Dateien oder menschliche Fehler beinhalten, erfolgt; wobei ein Auslösen eines Triggers erfolgt, wenn das Überwachen eine Fehlerbedingung erkennt; und wobei das Einrichten in Reaktion auf ein Auslösen eines Triggers erfolgt.
  15. Ein oder mehrere computerlesbare Speichermedien nach Anspruch 14 umfassend computerausführbare Instruktionen, um ein Computergerät dazu zu instruieren, einen Applikationscode auszuführen, um eine Applikation innerhalb der eingerichteten Betriebssystemumgebung einzurichten.
  16. Ein oder mehrere computerlesbare Speichermedien nach Anspruch 15, wobei der Applikationscode einen lizenzierten Applikationscode umfasst.
  17. Ein System umfassend: Einen Prozessor (302); Ein Speichergerät, welches einen Speicher aufweist, auf den der Prozessor (302) zugreifen kann; Betriebssysteminstruktionen und Betriebssystemumgebungseinstellungen eines Gerätes eines Benutzers, welche in dem Speichergerät gespeichert sind, wobei die Betriebssysteminstruktionen dazu dienen, eine Betriebssystemumgebung gemäß den Betriebssystemumgebungseinstellungen einzurichten; Eine Netzwerkschnittstelle (856); eine Schaltung (854), um eine Anfrage über die Netzwerkschnittstelle zu übermitteln, wobei die Anfrage dazu dient, remote die Betriebssystemumgebung gemäß einer remote gespeicherten Version der Betriebssystemumgebungseinstellungen einzurichten; und einen Schaltungsmonitor (340) zum Überwachen des Speichergerätes auf Fehlerbedingungen, welche ein Überhitzen, physische Schäden, Stromspitzen, Wasserschäden, beschädigte Dateien oder menschliche Fehler beinhalten; wobei der Schaltungsmonitor (340) ausgebildet ist, um einen Trigger (133) auszulösen, wenn der Schaltungsmonitor (340) eine Fehlerbedingung erkennt; und wobei die Schaltung (854) ausgebildet ist, die Anfrage in Reaktion auf ein Auslösen eines Triggers zu übermitteln.
  18. System nach Anspruch 17, umfassend eine Schaltung, um eine Übermittlung der Anfrage in Reaktion auf einen Fehlerzustand des Systems auszulösen.
  19. System nach Anspruch 17, umfassend einen Button (852), der von einem Benutzer betätigbar ist, um eine Übermittlung der Anfrage auszulösen.
  20. Systeme nach Anspruch 17, umfassend eine Schaltung, um mit einer remote eingerichteten Betriebssystemumgebung über die Netzwerkschnittstelle zu interagieren, wobei die remote eingerichtete Betriebssystemumgebung gemäß der remote gespeicherten Version der Betriebssystemumgebungseinstellungen eingerichtet wurde.
DE102013112672.3A 2013-01-14 2013-11-18 Datenspeicher für eine Remote-Umgebung Active DE102013112672B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/741,274 2013-01-14
US13/741,274 US9052917B2 (en) 2013-01-14 2013-01-14 Data storage for remote environment

Publications (2)

Publication Number Publication Date
DE102013112672A1 DE102013112672A1 (de) 2014-07-17
DE102013112672B4 true DE102013112672B4 (de) 2019-09-05

Family

ID=49918061

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013112672.3A Active DE102013112672B4 (de) 2013-01-14 2013-11-18 Datenspeicher für eine Remote-Umgebung

Country Status (4)

Country Link
US (1) US9052917B2 (de)
CN (1) CN103929465B (de)
DE (1) DE102013112672B4 (de)
GB (1) GB2512419B (de)

Families Citing this family (211)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9344335B2 (en) 2011-09-09 2016-05-17 Microsoft Technology Licensing, Llc Network communication and cost awareness
US9998536B2 (en) * 2013-05-29 2018-06-12 Microsoft Technology Licensing, Llc Metered network synchronization
JP5910612B2 (ja) * 2013-10-31 2016-04-27 コニカミノルタ株式会社 画像処理システム、携帯端末装置、ファイル処理方法及びファイル処理プログラム
US11630585B1 (en) 2016-08-25 2023-04-18 Pure Storage, Inc. Processing evacuation events in a storage array that includes a plurality of storage devices
US9727046B2 (en) * 2015-02-19 2017-08-08 Gangming Luo System for monitoring or controlling a remote programmable device by configuring a reconfigurabale record stored on a server by a local computing device
US9716755B2 (en) 2015-05-26 2017-07-25 Pure Storage, Inc. Providing cloud storage array services by a local storage array in a data center
US9521200B1 (en) * 2015-05-26 2016-12-13 Pure Storage, Inc. Locally providing cloud storage array services
US11102298B1 (en) 2015-05-26 2021-08-24 Pure Storage, Inc. Locally providing cloud storage services for fleet management
US9594678B1 (en) 2015-05-27 2017-03-14 Pure Storage, Inc. Preventing duplicate entries of identical data in a storage device
US10021170B2 (en) 2015-05-29 2018-07-10 Pure Storage, Inc. Managing a storage array using client-side services
US11503031B1 (en) 2015-05-29 2022-11-15 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US9300660B1 (en) 2015-05-29 2016-03-29 Pure Storage, Inc. Providing authorization and authentication in a cloud for a user of a storage array
US9444822B1 (en) 2015-05-29 2016-09-13 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US9588691B2 (en) 2015-06-10 2017-03-07 Pure Storage, Inc. Dynamically managing control information in a storage device
US9594512B1 (en) 2015-06-19 2017-03-14 Pure Storage, Inc. Attributing consumed storage capacity among entities storing data in a storage array
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
CN104899702B (zh) * 2015-06-26 2018-08-24 江苏易合大成网络科技有限公司 基于大数据的装饰预算定额管理系统及管理方法
US10296236B2 (en) 2015-07-01 2019-05-21 Pure Storage, Inc. Offloading device management responsibilities from a storage device in an array of storage devices
US9892071B2 (en) 2015-08-03 2018-02-13 Pure Storage, Inc. Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array
US9851762B1 (en) 2015-08-06 2017-12-26 Pure Storage, Inc. Compliant printed circuit board (‘PCB’) within an enclosure
US11294588B1 (en) 2015-08-24 2022-04-05 Pure Storage, Inc. Placing data within a storage device
US10198194B2 (en) 2015-08-24 2019-02-05 Pure Storage, Inc. Placing data within a storage device of a flash array
US11625181B1 (en) 2015-08-24 2023-04-11 Pure Storage, Inc. Data tiering using snapshots
US9384082B1 (en) 2015-10-23 2016-07-05 Pure Storage, Inc. Proactively providing corrective measures for storage arrays
US11360844B1 (en) 2015-10-23 2022-06-14 Pure Storage, Inc. Recovery of a container storage provider
US10514978B1 (en) 2015-10-23 2019-12-24 Pure Storage, Inc. Automatic deployment of corrective measures for storage arrays
US9886292B2 (en) * 2015-10-26 2018-02-06 Dell Products L.P. Making user profile data portable across platforms
US10284232B2 (en) 2015-10-28 2019-05-07 Pure Storage, Inc. Dynamic error processing in a storage device
US10374868B2 (en) 2015-10-29 2019-08-06 Pure Storage, Inc. Distributed command processing in a flash storage system
US9740414B2 (en) 2015-10-29 2017-08-22 Pure Storage, Inc. Optimizing copy operations
US10353777B2 (en) 2015-10-30 2019-07-16 Pure Storage, Inc. Ensuring crash-safe forward progress of a system configuration update
US9760479B2 (en) 2015-12-02 2017-09-12 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US11762764B1 (en) 2015-12-02 2023-09-19 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US10326836B2 (en) 2015-12-08 2019-06-18 Pure Storage, Inc. Partially replicating a snapshot between storage systems
US11616834B2 (en) 2015-12-08 2023-03-28 Pure Storage, Inc. Efficient replication of a dataset to the cloud
US11347697B1 (en) 2015-12-15 2022-05-31 Pure Storage, Inc. Proactively optimizing a storage system
US10162835B2 (en) 2015-12-15 2018-12-25 Pure Storage, Inc. Proactive management of a plurality of storage arrays in a multi-array system
US10346043B2 (en) 2015-12-28 2019-07-09 Pure Storage, Inc. Adaptive computing for data compression
US9886314B2 (en) 2016-01-28 2018-02-06 Pure Storage, Inc. Placing workloads in a multi-array system
US10572460B2 (en) 2016-02-11 2020-02-25 Pure Storage, Inc. Compressing data in dependence upon characteristics of a storage system
US9760297B2 (en) 2016-02-12 2017-09-12 Pure Storage, Inc. Managing input/output (‘I/O’) queues in a data storage system
US11995315B2 (en) 2016-03-16 2024-05-28 Pure Storage, Inc. Converting data formats in a storage system
US9959043B2 (en) 2016-03-16 2018-05-01 Pure Storage, Inc. Performing a non-disruptive upgrade of data in a storage system
US11112990B1 (en) 2016-04-27 2021-09-07 Pure Storage, Inc. Managing storage device evacuation
US9841921B2 (en) 2016-04-27 2017-12-12 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices
US11809727B1 (en) 2016-04-27 2023-11-07 Pure Storage, Inc. Predicting failures in a storage system that includes a plurality of storage devices
US9811264B1 (en) 2016-04-28 2017-11-07 Pure Storage, Inc. Deploying client-specific applications in a storage system utilizing redundant system resources
US10303390B1 (en) 2016-05-02 2019-05-28 Pure Storage, Inc. Resolving fingerprint collisions in flash storage system
US11231858B2 (en) 2016-05-19 2022-01-25 Pure Storage, Inc. Dynamically configuring a storage system to facilitate independent scaling of resources
US9507532B1 (en) 2016-05-20 2016-11-29 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices
US10691567B2 (en) 2016-06-03 2020-06-23 Pure Storage, Inc. Dynamically forming a failure domain in a storage system that includes a plurality of blades
US10452310B1 (en) 2016-07-13 2019-10-22 Pure Storage, Inc. Validating cabling for storage component admission to a storage array
US11706895B2 (en) 2016-07-19 2023-07-18 Pure Storage, Inc. Independent scaling of compute resources and storage resources in a storage system
US10459652B2 (en) 2016-07-27 2019-10-29 Pure Storage, Inc. Evacuating blades in a storage array that includes a plurality of blades
US10474363B1 (en) 2016-07-29 2019-11-12 Pure Storage, Inc. Space reporting in a storage system
US9927975B2 (en) 2016-08-03 2018-03-27 Micron Technology, Inc. Hybrid memory drives, computer system, and related method for operating a multi-mode hybrid drive
US10146585B2 (en) 2016-09-07 2018-12-04 Pure Storage, Inc. Ensuring the fair utilization of system resources using workload based, time-independent scheduling
US11531577B1 (en) 2016-09-07 2022-12-20 Pure Storage, Inc. Temporarily limiting access to a storage device
US11960348B2 (en) 2016-09-07 2024-04-16 Pure Storage, Inc. Cloud-based monitoring of hardware components in a fleet of storage systems
US10235229B1 (en) 2016-09-07 2019-03-19 Pure Storage, Inc. Rehabilitating storage devices in a storage array that includes a plurality of storage devices
US10331588B2 (en) 2016-09-07 2019-06-25 Pure Storage, Inc. Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling
US11886922B2 (en) 2016-09-07 2024-01-30 Pure Storage, Inc. Scheduling input/output operations for a storage system
US10671439B1 (en) 2016-09-07 2020-06-02 Pure Storage, Inc. Workload planning with quality-of-service (‘QOS’) integration
US11481261B1 (en) 2016-09-07 2022-10-25 Pure Storage, Inc. Preventing extended latency in a storage system
US10908966B1 (en) 2016-09-07 2021-02-02 Pure Storage, Inc. Adapting target service times in a storage system
US11379132B1 (en) 2016-10-20 2022-07-05 Pure Storage, Inc. Correlating medical sensor data
US10007459B2 (en) 2016-10-20 2018-06-26 Pure Storage, Inc. Performance tuning in a storage system that includes one or more storage devices
US11620075B2 (en) 2016-11-22 2023-04-04 Pure Storage, Inc. Providing application aware storage
US10162566B2 (en) 2016-11-22 2018-12-25 Pure Storage, Inc. Accumulating application-level statistics in a storage system
US10198205B1 (en) 2016-12-19 2019-02-05 Pure Storage, Inc. Dynamically adjusting a number of storage devices utilized to simultaneously service write operations
US11461273B1 (en) 2016-12-20 2022-10-04 Pure Storage, Inc. Modifying storage distribution in a storage system that includes one or more storage devices
US10489307B2 (en) 2017-01-05 2019-11-26 Pure Storage, Inc. Periodically re-encrypting user data stored on a storage device
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11340800B1 (en) 2017-01-19 2022-05-24 Pure Storage, Inc. Content masking in a storage system
US10503700B1 (en) 2017-01-19 2019-12-10 Pure Storage, Inc. On-demand content filtering of snapshots within a storage system
US11163624B2 (en) 2017-01-27 2021-11-02 Pure Storage, Inc. Dynamically adjusting an amount of log data generated for a storage system
US11089105B1 (en) 2017-12-14 2021-08-10 Pure Storage, Inc. Synchronously replicating datasets in cloud-based storage systems
US10521344B1 (en) 2017-03-10 2019-12-31 Pure Storage, Inc. Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems
US11675520B2 (en) 2017-03-10 2023-06-13 Pure Storage, Inc. Application replication among storage systems synchronously replicating a dataset
US10454810B1 (en) 2017-03-10 2019-10-22 Pure Storage, Inc. Managing host definitions across a plurality of storage systems
US10503427B2 (en) 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
US11169727B1 (en) 2017-03-10 2021-11-09 Pure Storage, Inc. Synchronous replication between storage systems with virtualized storage
US11442825B2 (en) 2017-03-10 2022-09-13 Pure Storage, Inc. Establishing a synchronous replication relationship between two or more storage systems
US11941279B2 (en) 2017-03-10 2024-03-26 Pure Storage, Inc. Data path virtualization
US11803453B1 (en) 2017-03-10 2023-10-31 Pure Storage, Inc. Using host connectivity states to avoid queuing I/O requests
US10459664B1 (en) 2017-04-10 2019-10-29 Pure Storage, Inc. Virtualized copy-by-reference
US9910618B1 (en) 2017-04-10 2018-03-06 Pure Storage, Inc. Migrating applications executing on a storage system
US11868629B1 (en) 2017-05-05 2024-01-09 Pure Storage, Inc. Storage system sizing service
US11422731B1 (en) 2017-06-12 2022-08-23 Pure Storage, Inc. Metadata-based replication of a dataset
US11592991B2 (en) 2017-09-07 2023-02-28 Pure Storage, Inc. Converting raid data between persistent storage types
US10417092B2 (en) 2017-09-07 2019-09-17 Pure Storage, Inc. Incremental RAID stripe update parity calculation
US10552090B2 (en) 2017-09-07 2020-02-04 Pure Storage, Inc. Solid state drives with multiple types of addressable memory
US10976962B2 (en) 2018-03-15 2021-04-13 Pure Storage, Inc. Servicing I/O operations in a cloud-based storage system
US11016824B1 (en) 2017-06-12 2021-05-25 Pure Storage, Inc. Event identification with out-of-order reporting in a cloud-based environment
US10884636B1 (en) 2017-06-12 2021-01-05 Pure Storage, Inc. Presenting workload performance in a storage system
CN116431072A (zh) 2017-06-12 2023-07-14 净睿存储股份有限公司 集成到大容量存储设备的可访问快速耐久存储
US11442669B1 (en) 2018-03-15 2022-09-13 Pure Storage, Inc. Orchestrating a virtual storage system
US11210133B1 (en) 2017-06-12 2021-12-28 Pure Storage, Inc. Workload mobility between disparate execution environments
US10853148B1 (en) 2017-06-12 2020-12-01 Pure Storage, Inc. Migrating workloads between a plurality of execution environments
US11609718B1 (en) 2017-06-12 2023-03-21 Pure Storage, Inc. Identifying valid data after a storage system recovery
US10789020B2 (en) 2017-06-12 2020-09-29 Pure Storage, Inc. Recovering data within a unified storage element
US11989429B1 (en) 2017-06-12 2024-05-21 Pure Storage, Inc. Recommending changes to a storage system
US10613791B2 (en) 2017-06-12 2020-04-07 Pure Storage, Inc. Portable snapshot replication between storage systems
US11340939B1 (en) 2017-06-12 2022-05-24 Pure Storage, Inc. Application-aware analytics for storage systems
US11561714B1 (en) 2017-07-05 2023-01-24 Pure Storage, Inc. Storage efficiency driven migration
US11477280B1 (en) 2017-07-26 2022-10-18 Pure Storage, Inc. Integrating cloud storage services
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10360214B2 (en) 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US11494692B1 (en) 2018-03-26 2022-11-08 Pure Storage, Inc. Hyperscale artificial intelligence and machine learning infrastructure
US10671435B1 (en) 2017-10-19 2020-06-02 Pure Storage, Inc. Data transformation caching in an artificial intelligence infrastructure
US10452444B1 (en) 2017-10-19 2019-10-22 Pure Storage, Inc. Storage system with compute resources and shared storage resources
US11861423B1 (en) 2017-10-19 2024-01-02 Pure Storage, Inc. Accelerating artificial intelligence (‘AI’) workflows
US11455168B1 (en) 2017-10-19 2022-09-27 Pure Storage, Inc. Batch building for deep learning training workloads
US10671494B1 (en) 2017-11-01 2020-06-02 Pure Storage, Inc. Consistent selection of replicated datasets during storage system recovery
US10484174B1 (en) 2017-11-01 2019-11-19 Pure Storage, Inc. Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices
US10509581B1 (en) 2017-11-01 2019-12-17 Pure Storage, Inc. Maintaining write consistency in a multi-threaded storage system
US10817392B1 (en) 2017-11-01 2020-10-27 Pure Storage, Inc. Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices
US10467107B1 (en) 2017-11-01 2019-11-05 Pure Storage, Inc. Maintaining metadata resiliency among storage device failures
US10929226B1 (en) 2017-11-21 2021-02-23 Pure Storage, Inc. Providing for increased flexibility for large scale parity
US10936238B2 (en) 2017-11-28 2021-03-02 Pure Storage, Inc. Hybrid data tiering
US10990282B1 (en) 2017-11-28 2021-04-27 Pure Storage, Inc. Hybrid data tiering with cloud storage
US10795598B1 (en) 2017-12-07 2020-10-06 Pure Storage, Inc. Volume migration for storage systems synchronously replicating a dataset
US11036677B1 (en) 2017-12-14 2021-06-15 Pure Storage, Inc. Replicated data integrity
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10992533B1 (en) 2018-01-30 2021-04-27 Pure Storage, Inc. Policy based path management
US11972134B2 (en) 2018-03-05 2024-04-30 Pure Storage, Inc. Resource utilization using normalized input/output (‘I/O’) operations
US11861170B2 (en) 2018-03-05 2024-01-02 Pure Storage, Inc. Sizing resources for a replication target
US10521151B1 (en) 2018-03-05 2019-12-31 Pure Storage, Inc. Determining effective space utilization in a storage system
US11150834B1 (en) 2018-03-05 2021-10-19 Pure Storage, Inc. Determining storage consumption in a storage system
US10942650B1 (en) 2018-03-05 2021-03-09 Pure Storage, Inc. Reporting capacity utilization in a storage system
US10296258B1 (en) 2018-03-09 2019-05-21 Pure Storage, Inc. Offloading data storage to a decentralized storage network
US11288138B1 (en) 2018-03-15 2022-03-29 Pure Storage, Inc. Recovery from a system fault in a cloud-based storage system
US11210009B1 (en) 2018-03-15 2021-12-28 Pure Storage, Inc. Staging data in a cloud-based storage system
US10917471B1 (en) 2018-03-15 2021-02-09 Pure Storage, Inc. Active membership in a cloud-based storage system
US11048590B1 (en) 2018-03-15 2021-06-29 Pure Storage, Inc. Data consistency during recovery in a cloud-based storage system
US10924548B1 (en) 2018-03-15 2021-02-16 Pure Storage, Inc. Symmetric storage using a cloud-based storage system
US11171950B1 (en) 2018-03-21 2021-11-09 Pure Storage, Inc. Secure cloud-based storage system management
US11095706B1 (en) 2018-03-21 2021-08-17 Pure Storage, Inc. Secure cloud-based storage system management
US10838833B1 (en) 2018-03-26 2020-11-17 Pure Storage, Inc. Providing for high availability in a data analytics pipeline without replicas
US11436344B1 (en) 2018-04-24 2022-09-06 Pure Storage, Inc. Secure encryption in deduplication cluster
US11392553B1 (en) 2018-04-24 2022-07-19 Pure Storage, Inc. Remote data management
US11455409B2 (en) 2018-05-21 2022-09-27 Pure Storage, Inc. Storage layer data obfuscation
US20190354628A1 (en) 2018-05-21 2019-11-21 Pure Storage, Inc. Asynchronous replication of synchronously replicated data
US11954220B2 (en) 2018-05-21 2024-04-09 Pure Storage, Inc. Data protection for container storage
US11675503B1 (en) 2018-05-21 2023-06-13 Pure Storage, Inc. Role-based data access
US10871922B2 (en) 2018-05-22 2020-12-22 Pure Storage, Inc. Integrated storage management between storage systems and container orchestrators
CN108984391B (zh) * 2018-06-06 2022-07-12 阿里巴巴(中国)有限公司 应用程序的分析方法、装置及电子设备
US11416298B1 (en) 2018-07-20 2022-08-16 Pure Storage, Inc. Providing application-specific storage by a storage system
US11403000B1 (en) 2018-07-20 2022-08-02 Pure Storage, Inc. Resiliency in a cloud-based storage system
CN109033345B (zh) * 2018-07-24 2022-07-15 中国科学技术大学 用于大科学装置控制系统的分布式数据存档参数配置方法
US11632360B1 (en) 2018-07-24 2023-04-18 Pure Storage, Inc. Remote access to a storage device
US11954238B1 (en) 2018-07-24 2024-04-09 Pure Storage, Inc. Role-based access control for a storage system
US11146564B1 (en) 2018-07-24 2021-10-12 Pure Storage, Inc. Login authentication in a cloud storage platform
US11860820B1 (en) 2018-09-11 2024-01-02 Pure Storage, Inc. Processing data through a storage system in a data pipeline
US10671302B1 (en) 2018-10-26 2020-06-02 Pure Storage, Inc. Applying a rate limit across a plurality of storage systems
US12026381B2 (en) 2018-10-26 2024-07-02 Pure Storage, Inc. Preserving identities and policies across replication
CN111182124B (zh) * 2018-11-13 2021-07-06 深圳市知赢科技有限公司 移动终端及其双系统的运行方法和存储装置
US11340837B1 (en) 2018-11-18 2022-05-24 Pure Storage, Inc. Storage system management via a remote console
US10963189B1 (en) 2018-11-18 2021-03-30 Pure Storage, Inc. Coalescing write operations in a cloud-based storage system
US12026061B1 (en) 2018-11-18 2024-07-02 Pure Storage, Inc. Restoring a cloud-based storage system to a selected state
US12026060B1 (en) 2018-11-18 2024-07-02 Pure Storage, Inc. Reverting between codified states in a cloud-based storage system
US11379254B1 (en) 2018-11-18 2022-07-05 Pure Storage, Inc. Dynamic configuration of a cloud-based storage system
US11526405B1 (en) 2018-11-18 2022-12-13 Pure Storage, Inc. Cloud-based disaster recovery
US11650749B1 (en) 2018-12-17 2023-05-16 Pure Storage, Inc. Controlling access to sensitive data in a shared dataset
US11003369B1 (en) 2019-01-14 2021-05-11 Pure Storage, Inc. Performing a tune-up procedure on a storage device during a boot process
US11042452B1 (en) 2019-03-20 2021-06-22 Pure Storage, Inc. Storage system data recovery using data recovery as a service
US11221778B1 (en) 2019-04-02 2022-01-11 Pure Storage, Inc. Preparing data for deduplication
US11068162B1 (en) 2019-04-09 2021-07-20 Pure Storage, Inc. Storage management in a cloud data store
US11327676B1 (en) 2019-07-18 2022-05-10 Pure Storage, Inc. Predictive data streaming in a virtual storage system
US11853266B2 (en) 2019-05-15 2023-12-26 Pure Storage, Inc. Providing a file system in a cloud environment
US11392555B2 (en) 2019-05-15 2022-07-19 Pure Storage, Inc. Cloud-based file services
US11126364B2 (en) 2019-07-18 2021-09-21 Pure Storage, Inc. Virtual storage system architecture
US12001355B1 (en) 2019-05-24 2024-06-04 Pure Storage, Inc. Chunked memory efficient storage data transfers
US11093139B1 (en) 2019-07-18 2021-08-17 Pure Storage, Inc. Durably storing data within a virtual storage system
US11797197B1 (en) 2019-07-18 2023-10-24 Pure Storage, Inc. Dynamic scaling of a virtual storage system
US11487715B1 (en) 2019-07-18 2022-11-01 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11526408B2 (en) 2019-07-18 2022-12-13 Pure Storage, Inc. Data recovery in a virtual storage system
US11861221B1 (en) 2019-07-18 2024-01-02 Pure Storage, Inc. Providing scalable and reliable container-based storage services
US11086553B1 (en) 2019-08-28 2021-08-10 Pure Storage, Inc. Tiering duplicated objects in a cloud-based object store
US11693713B1 (en) 2019-09-04 2023-07-04 Pure Storage, Inc. Self-tuning clusters for resilient microservices
US11625416B1 (en) 2019-09-13 2023-04-11 Pure Storage, Inc. Uniform model for distinct types of data replication
US11797569B2 (en) 2019-09-13 2023-10-24 Pure Storage, Inc. Configurable data replication
US11573864B1 (en) 2019-09-16 2023-02-07 Pure Storage, Inc. Automating database management in a storage system
US11669386B1 (en) 2019-10-08 2023-06-06 Pure Storage, Inc. Managing an application's resource stack
US11943293B1 (en) 2019-12-06 2024-03-26 Pure Storage, Inc. Restoring a storage system from a replication target
US11720497B1 (en) 2020-01-13 2023-08-08 Pure Storage, Inc. Inferred nonsequential prefetch based on data access patterns
US11709636B1 (en) 2020-01-13 2023-07-25 Pure Storage, Inc. Non-sequential readahead for deep learning training
US11733901B1 (en) 2020-01-13 2023-08-22 Pure Storage, Inc. Providing persistent storage to transient cloud computing services
US12014065B2 (en) 2020-02-11 2024-06-18 Pure Storage, Inc. Multi-cloud orchestration as-a-service
US11868622B2 (en) 2020-02-25 2024-01-09 Pure Storage, Inc. Application recovery across storage systems
US11637896B1 (en) 2020-02-25 2023-04-25 Pure Storage, Inc. Migrating applications to a cloud-computing environment
US11321006B1 (en) 2020-03-25 2022-05-03 Pure Storage, Inc. Data loss prevention during transitions from a replication source
US11630598B1 (en) 2020-04-06 2023-04-18 Pure Storage, Inc. Scheduling data replication operations
US11301152B1 (en) 2020-04-06 2022-04-12 Pure Storage, Inc. Intelligently moving data between storage systems
US11494267B2 (en) 2020-04-14 2022-11-08 Pure Storage, Inc. Continuous value data redundancy
US11921670B1 (en) 2020-04-20 2024-03-05 Pure Storage, Inc. Multivariate data backup retention policies
US11431488B1 (en) 2020-06-08 2022-08-30 Pure Storage, Inc. Protecting local key generation using a remote key management service
US11442652B1 (en) 2020-07-23 2022-09-13 Pure Storage, Inc. Replication handling during storage system transportation
US11349917B2 (en) 2020-07-23 2022-05-31 Pure Storage, Inc. Replication handling among distinct networks
US11397545B1 (en) 2021-01-20 2022-07-26 Pure Storage, Inc. Emulating persistent reservations in a cloud-based storage system
US11853285B1 (en) 2021-01-22 2023-12-26 Pure Storage, Inc. Blockchain logging of volume-level events in a storage system
US20220365827A1 (en) 2021-05-12 2022-11-17 Pure Storage, Inc. Rebalancing In A Fleet Of Storage Systems Using Data Science
US11816129B2 (en) 2021-06-22 2023-11-14 Pure Storage, Inc. Generating datasets using approximate baselines
US11914867B2 (en) 2021-10-29 2024-02-27 Pure Storage, Inc. Coordinated snapshots among storage systems implementing a promotion/demotion model
US11714723B2 (en) 2021-10-29 2023-08-01 Pure Storage, Inc. Coordinated snapshots for data stored across distinct storage environments
US11893263B2 (en) 2021-10-29 2024-02-06 Pure Storage, Inc. Coordinated checkpoints among storage systems implementing checkpoint-based replication
US11922052B2 (en) 2021-12-15 2024-03-05 Pure Storage, Inc. Managing links between storage objects
US11847071B2 (en) 2021-12-30 2023-12-19 Pure Storage, Inc. Enabling communication between a single-port device and multiple storage system controllers
US12001300B2 (en) 2022-01-04 2024-06-04 Pure Storage, Inc. Assessing protection for storage resources
US11860780B2 (en) 2022-01-28 2024-01-02 Pure Storage, Inc. Storage cache management
US11886295B2 (en) 2022-01-31 2024-01-30 Pure Storage, Inc. Intra-block error correction

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003157328A (ja) * 2001-11-19 2003-05-30 Sony Corp 製品管理システム及び製品管理方法
US7379982B2 (en) 2002-04-15 2008-05-27 Bassam Tabbara System and method for custom installation of an operating system on a remote client
US20050066337A1 (en) 2003-09-18 2005-03-24 Carmody Quinn Portable operating environment
CN100489728C (zh) * 2004-12-02 2009-05-20 联想(北京)有限公司 一种建立计算机中可信任运行环境的方法
US8239662B1 (en) 2008-03-20 2012-08-07 Google Inc. Network based operating system across devices
US20110145817A1 (en) 2009-12-16 2011-06-16 Grzybowski Carl E Adaptive virtual environment management system
US8452877B2 (en) * 2010-04-28 2013-05-28 Lenovo (Singapore) Pte. Ltd. Establishing a remote desktop
US20130013727A1 (en) 2011-07-05 2013-01-10 Robin Edward Walker System and method for providing a mobile persona environment
US9389884B2 (en) * 2012-10-11 2016-07-12 Google Technology Holdings LLC Method and apparatus for providing adaptive wallpaper display for a device having multiple operating system environments

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHANG, Xinwen, et al. Towards an elastic application model for augmenting computing capabilities of mobile platforms. In: Mobile wireless middleware, operating systems, and applications. Springer Berlin Heidelberg, 2010. S. 161-174. doi: 10.1007/978-3-642-17758-3_12 *

Also Published As

Publication number Publication date
GB2512419B (en) 2015-08-26
DE102013112672A1 (de) 2014-07-17
GB2512419A (en) 2014-10-01
US9052917B2 (en) 2015-06-09
GB201320652D0 (en) 2014-01-08
CN103929465A (zh) 2014-07-16
CN103929465B (zh) 2018-10-30
US20140201512A1 (en) 2014-07-17

Similar Documents

Publication Publication Date Title
DE102013112672B4 (de) Datenspeicher für eine Remote-Umgebung
US9823877B2 (en) Virtual machine backup from storage snapshot
US9377964B2 (en) Systems and methods for improving snapshot performance
US9075771B1 (en) Techniques for managing disaster recovery sites
DE112013007279T5 (de) Ereignisausgelöstes speichern von Daten in einem nicht flüchtigen Speicher
US20150331757A1 (en) One-click backup in a cloud-based disaster recovery system
US9378105B2 (en) System and method for optimizing replication
DE102009023953A1 (de) Verfahren zum Booten eines zustandslosen Client
US9558076B2 (en) Methods and systems of cloud-based disaster recovery
DE112014000337T5 (de) Sichere Ausführung von Software-Modulen auf einem Computer
CN104615508A (zh) 一种恢复Linux系统下LVM配置的方法
US9471256B2 (en) Systems and methods for restoring data in a degraded computer system
US10289423B2 (en) Management controller
US10228961B2 (en) Live storage domain decommissioning in a virtual environment
US11354259B1 (en) Computer system configurations based on accessing data elements presented by baseboard management controllers
US10372557B2 (en) Versioning and recovery of workloads
US8769334B1 (en) Techniques for providing instant disaster recovery
DE112016004457T5 (de) Vervielfältigen von Daten in Datenspeichervorrichtungen eines Verknüpfungsvolumens
US10599508B2 (en) I/O error diagnostics
TWI776612B (zh) 儲存裝置及其操作方法
US11601425B1 (en) Maintaining dual-party authentication requirements for data retention compliance within a distributed server environment
Ravi Kumar et al. Oracle Engineered Systems for High Availability
US10628075B1 (en) Data protection compliance between storage and backup policies of virtual machines
RU2571724C2 (ru) Система и способ полнодискового шифрования с проверкой совместимости загрузочного диска
Windows Optimizing and Troubleshooting

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R081 Change of applicant/patentee

Owner name: LENOVO PC INTERNATIONAL LIMITED, HK

Free format text: FORMER OWNER: LENOVO (SINGAPORE) PTE. LTD., SINGAPUR, SG

R082 Change of representative

Representative=s name: SCHWEIGER & PARTNERS, DE

R020 Patent grant now final
R082 Change of representative

Representative=s name: SCHWEIGER, MARTIN, DIPL.-ING. UNIV., DE