DE102013112672B4 - Datenspeicher für eine Remote-Umgebung - Google Patents
Datenspeicher für eine Remote-Umgebung Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring 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.
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 Systems100 , dass ein Netzwerk105 , ein Gerät110 und ein Gerät120 umfasst. Das System100 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 der1 kann das Netzwerk105 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 Prozessor112 , einen Speicher114 , eine Netzwerkschnittstelle116 , eines oder mehrerer Betriebssysteme (OSS)142 , eine oder mehrere Applikationen (Apps)144 und verschiedene Schaltungen146 umfassen. Wie in dem Beispiel aus der1 gezeigt ist, kann das Gerät110 einen oder mehrere Datenspeicher152 umfassen, auf die das Gerät110 zugreifen kann, da diese eine Komponente des Geräts110 sind oder auf andere Weise betriebsfähig mit dem Gerät110 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 Prozessor122 , einen Speicher124 , eine Netzwerkschnittstelle126 , ein oder mehrere Betriebssysteme (OSs)162 , eine oder mehrere Applikationen (Apps)164 und verschiedene Schaltungen166 umfassen. Wie in dem Beispiel aus der1 gezeigt ist, kann das Gerät120 einen oder mehrere Datenspeicher172 umfassen, auf die von dem Gerät120 zugegriffen werden kann, da diese eine Komponente des Geräts120 bilden oder auf eine andere Art betriebsfähig mit dem Gerät120 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 Datenspeicher152 , die zu dem Gerät110 gehören, eine Information, beispielsweise die Information180 speichern. In dem Ausführungsbeispiel der1 kann die Information180 Files oder Ordner181 beinhalten, einen oder mehrere Benutzer Accounts und die zu den Benutzeraccounts zugehörigen Einstellungen182 , Applikations-Konfigurationsdatenfiles und dazugehörige Einstellungen183 , ein oder mehrere Betriebssystems-Konfigurationseinstellungen, beispielsweise wie sie in einer oder mehreren Register184 gespeichert sind, und eine oder mehrere Lizenzen185 , 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 Datenspeicher172 , die zu dem Gerät120 gehören, eine Information, beispielsweise die Duplizierte Information190 , speichern, welche eine duplizierte Information sein kann, beispielsweise ein Duplikat der Information180 . In dem Ausführungsbeispiel der1 kann die Duplizierte Information190 Files und Ordner191 umfassen, einen oder mehrere Benutzer Accounts und die zum Benutzer Account zugehörigen Einstellungen192 , Applikations-Konfigurationsdatenfiles und zugehörige Einstellungen193 , ein oder mehrere Betriebssystems-Konfigurationseinstellungen, beispielsweise wie sie in einer oder mehreren Registern194 gespeichert sind, und eine oder mehrere Lizenzen195 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 Datenspeichern152 zu speichern. Beispielsweise kann die eine oder mehrere Betriebssystems-Konfigurationseinstellungen184 zu einer oder mehreren Betriebssystems-Konfigurationseinstellungen194 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 Verfahren200 zusammen mit verschiedenen Diagrammen, die eine Ausrüstung veranschaulichen, als Beispiele, mit welchen das Verfahren200 implementiert werden kann. Wie in dem Beispiel aus der2 gezeigt ist, kann das Verfahren200 charakterisiert werden, die zwei Zustände (S1 undS2 ) enthalten, wobei ein Trigger (T ) einen Übergang von einem der Zustände zu dem anderen Zustand bewirkt. Die Ausrüstung beinhaltet das Netzwerk105 , das Gerät110 und das Gerät120 mit einem Speicher124 , beispielsweise einem oder mehreren der Datenspeicher172 aus der1 . Des weiteren sind Einstellungen111 , eine Anfrage oder Einträge113 , eine eingerichtete Betriebssystemumgebung125 , eine Information115 und eine Information117 gezeigt, wie sie zumindest teilweise durch die eingerichtete Betriebssystemumgebung125 erzeugt werden. - Wie in der
2 gezeigt ist, beinhaltet das Verfahren200 einen Empfangsblock210 zum Empfangen von Betriebssytemumgebungseinstellungen, beispielsweise über ein Netzwerk, einen Speicherblock214 zum Speichern der empfangenen Betriebssystemumgebungseinstellungen, einen Entscheidungsblock218 zum Entscheiden, ob eine Anfrage empfangen worden ist, ein Einrichtungsblock222 zum Einrichten einer Betriebssystemumgebung gemäß der gespeicherten Einstellungen, ein Empfangsblock226 zum Empfangen einer Information, beispielsweise über ein Netzwerk, ein Instruktionsblock230 zum Instruieren der eingerichteten Betriebssystemumgebung gemäß der empfangenen Information und ein Übermittlungsblock234 zum Übermitteln eine Information, die zumindest teilweise durch die eingerichtete Betriebssystemumgebung erzeugt wurde. In dem Beispiel aus der2 entscheidet der Entscheidungsblock218 , auf eine Anfrage oder einen Trigger zu antworten, indem dieser zu dem Einrichtungsblock222 übergeht, oder entscheidet, zu einem anderen Block, beispielsweise dem Block214 überzugehen, beispielsweise, um in dem ZustandS1 zu verbleiben und nicht einen Übergang zu dem ZustandS2 zu vollziehen. - Wie in der
2 gezeigt ist, kann die Anfrage oder der Trigger113 von dem Gerät110 oder durch ein anderes Gerät an das Netzwerk105 für einen Empfang durch das Gerät120 geliefert werden, welches die Einstellungen111 speichert oder einen Zugriff auf die gespeicherten Einstellungen111 hat. Wie in der2 gezeigt ist, kann die Information117 , wie sie zumindest teilweise durch die eingerichtete Betriebssystemumgebung125 erzeugt wurde, über das Netzwerk105 an das Gerät110 oder an ein anderes Gerät übermittelt werden. Beispielsweise kann die Information117 eine Information sein, die zumindest teilweise auf der Information115 basiert, welche Instruktionen, Befehle etc. umfassen kann, welche die eingerichtete Betriebssystemumgebung125 instruieren, beispielsweise um eine Applikation etc. auszuführen. Die Information115 kann über das Gerät110 oder über ein anderes Gerät übermittelt werden. -
3 zeigt einige Beispiele von Geräten300 und ein Beispiel für ein Verfahren350 . Wie gezeigt, können die Geräte300 einen oder mehrere Prozessoren302 , einen Speicher304 , eine oder mehrere Netzwerkschnittstellen306 , ein oder mehrere Displays308 und ein oder mehrere Stromversorgungszellen310 umfassen. Wie in der3 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 SSD324 und eine andere Schaltung326 umfassen. Das Verfahren350 kann einen Operationsblock352 zum Betreiben einer Schaltung, einen Entscheidungsblock354 zum Entscheiden, ob ein Trigger oder eine Anfrage erlassen werden sollte, und einen Einrichtungsblock356 zum Einrichten einer Remote-Betriebssystemumgebung, beispielsweise unter Verwendung eines Remote-Gerätes362 , umfassen. Wie in der3 gezeigt ist, kann der Betriebsblock352 das Betreiben einer Schaltungsüberwachung340 umfassen, welche eine Funktionalität für einen Treiber-Monitor342 , einen Speichermonitor344 , einen Umgebungsmonitor346 und ein oder mehrere andere Monitore348 umfasst. Beispielsweise kann der Schaltungsmonitor340 unter Verwendung eines lokalen Geräts, beispielsweise eines der Geräte300 , beispielsweise remote von dem Remotegerät362 , 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 Verfahren350 zu instruieren, eine Remote-Betriebssystemumgebung einzurichten. Der Speichermonitor344 kann einen Speicher nach Anzeigen von physischen Fehlern, Platzmangel, Softwareausfällen etc. überwachen. Dieser kann wiederum einen Trigger auslösen, um das Verfahren350 zu instruieren, eine Remote-Betriebssystemumgebung einzurichten. Der Umgebungsmonitor346 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 Verfahren350 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 Monitor346 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 Monitor346 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 Monitor346 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 Monitor346 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 Monitor346 eine Temperatur über die Zeit detektieren und bestimmen, dass ein Betrieb von einer oder mehrerer Komponenten eines Geräts eine Fehlfunktion aufweist. Der Monitor346 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 Schaltungsmonitor340 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: - (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.
- (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.
- (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.
- (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.
- (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.
- (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 Verfahren400 , das einen Einrichtungsblock414 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 Entscheidungsblock422 zum Entscheiden, ob ein Risiko für einen Ausfall existiert, beispielsweise oberhalb eines Schwellwerts, ein Einrichtungsblock426 zum Einrichten einer Sitzung mit einer Remote-Betriebssystemumgebung, einen Überwachungsblock430 für fortgesetztes Überwachen des Geräts oder des Systems, beispielsweise lokal und/oder remote, und ein Entscheidungsblock434 zum Entscheiden, ob das Risiko oder ein anderes Risiko weiter fortbesteht. Wie in dem Beispiel aus der4 gezeigt ist, geht das Verfahren400 zu dem Einrichtungsblock426 über, wenn der Entscheidungsblock422 entscheidet, dass ein Risiko für einen Ausfall existiert, um eine Sitzung mit einer Remote-Betriebssystemumgebung einzurichten, optional mit Gegenmaßnahmen über einen Gegenmaßnahmenblock428 . Wenn das Risiko für einen Ausfall nicht existiert oder auf eine andere Weise eine Remotesitzung nicht notwendig ist, kann das Verfahren400 mit dem Überwachungsblock418 fortfahren. Wenn der Entscheidungsblock434 dann entscheidet, dass ein Risiko weiterhin fortbesteht, beispielsweise das Risiko für einen Ausfall, dann kann das Verfahren400 in einer Schleife mit dem Überwachungsblock430 fortfahren. - In dem Beispiel aus der
4 können die Überwachungsblöcke418 und430 in ähnlicher Art eine Überwachung vornehmen. Alternativ dazu kann der Überwachungsblock418 mehrere Faktoren breiter überwachen als der Überwachungsblock430 . Beispielsweise kann der Überwachungsblock418 eine Schwingung, eine Temperatur, eine Erschütterung etc. überwachen und der Überwachungsblock430 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 Überwachungsblock430 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 Entscheidungsblock434 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ändenS1 undS2 aus der2 , 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 Verfahren500 , das einen Einrichtungsblock514 zum Einrichten einer Sitzung mit einer Remote-Betriebssystemumgebung, einen Empfangsblock518 zum Empfangen einer Anfrage für eine Applikation, beispielsweise optional mit einer Lizenz, einen Entscheidungsblock522 zum Entscheiden, ob es korrekt ist, die angefragte Applikation zu starten, einen Startblock526 zum Starten der angefragten Applikation basierend auf einer Entscheidung des Entscheidungsblock522 , ein optionaler Lizenzblock524 zum Zugreifen auf eine Lizenz, optional ein Authentifizieren einer Lizenz über eine dritte Partei528 , ein Entscheidungsblock530 zum Entscheiden, ob eine Zahlung für einen Nutzungsvertrag für ein Benutzen der angefragten Applikation akzeptabel ist, ein Startblock532 für ein Starten der angefragten Applikation, wenn der Entscheidungsblock530 entscheidet, dass die Zahlung für einen Nutzungsvertrag akzeptabel ist, ein optionaler Buchungsblock534 zum Buchen einer Zahlung für einen Nutzungsvertrag, ein Erteilungsblock538 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 System600 und ein Beispiel für ein Verfahren650 . Wie gezeigt, umfasst das System600 ein Netzwerk605 , ein Gerät610 -1 , ein Gerät610 -2 und ein Gerät620 , welches ein Server, beispielsweise ein Blade etc. in einer Serverfarm sein kann. Wie gezeigt kann das Gerät620 einen oder mehrere Kerne622 , einen Speicher624 , ein oder mehrere Schnittstellen626 und ein oder mehrere Medienlaufwerke628 umfassen. - Das Gerät
620 kann eine Backendmanagementschaltung640 umfassen, welche zum Einrichten einer grafischen Benutzerschnittstelle (GUI)645 auf einem Display, welches mit dem Gerät610 -1 verknüpft ist, vorgesehen ist. Beispielsweise kann die GUI645 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 der3 , 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ät620 verfügbar ist, die Anzahl von Kernen, die auf dem Gerät610 -1 oder dem Gerät610 -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 GUI645 eingestellt wurden. Alternativ dazu kann die Information611 Einstellungen umfassen, die von dem Gerät610 -1 gesammelt wurden, beispielsweise automatisch ohne Verwendung einer Auswahl einer GUI etc. - Beispielsweise kann das Gerät
610 -2 eine Browserapplikation632 , beispielsweise eine Browserapplikation, die dazu konfiguriert ist, um eine Information615 , beispielsweise eine Anfrage, über das Netzwerk605 an das Gerät620 zu übermitteln, welches einen Zugriff auf eine Information611 hat. In diesem Beispiel kann das Gerät610 -2 eine Anfrage, beispielsweise die Information615 , abgeben, um eine Betriebssystemumgebung remote auf dem Gerät620 einzurichten, beispielsweise, bei der eine Interaktion mit dieser Betriebssystemumgebung auf dem Gerät610 -2 über die Browserapplikation632 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ät610 -2 , zugreift, welches von dem Gerät, welches mit der gewünschten Umgebung, beispielsweise dem Gerät610 -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 Verfahren650 einen Speicherblock654 zum Speichern von Einstellungen, beispielsweise der Information611 , einen Empfangsblock658 zum Empfangen einer Anfrage, beispielsweise der Anfrage615 , einen Entscheidungsblock622 zum Entscheiden, ob die Anfrage durchführbar ist, einen Einrichtungsblock666 zum Einrichten einer Betriebssystemumgebung, wenn die Anfrage durchführbar ist, und einen Hinweisblock668 zum Erlassen eines Hinweises, wenn die Anfrage nicht durchführbar ist, um eine Betriebssystemumgebung einzurichten. -
7 zeigt Beispiele für Verfahren720 ,730 ,740 und750 . Das Verfahren720 umfasst einen Speicherblock722 zum Speichern einer Information für ein GerätX , einen Empfangsblock724 zum Empfangen eine Anfrage, einen Übermittlungsblock726 zum Übermitteln einer zumindest teilweise gespeicherten Information und ein Einrichtungsblock728 zum Einrichten einer Betriebssystemumgebung auf einem GerätY . Auf diese Weise kann die gespeicherte Information, beispielsweise die Einstellungen etc., für eine Migration auf ein anderes Gerät, beispielsweise von dem GerätX auf das GerätY , optional mit dem gleichen Betriebssystem, sorgen. - Das Verfahren
730 umfasst einen Speicherblock732 zum Speichern einer Information für ein GerätX für ein Betriebssystem1 und einen Empfangsblock734 für das Empfangen einer Anfrage, einen Übermittlungsblock736 für das Übermitteln zumindest eines Teils der gespeicherten Information und einen Einrichtungsblock738 zum Einrichten einer Umgebung mit einem Betriebssystem2 auf dem GerätX . Auf diese Weise kann die gespeicherte Information, beispielsweise Einstellungen etc., für eine Migration auf einen Ort zu einem neuen Betriebssystem, beispielsweise von einem Betriebssystem1 auf einem GerätX zu einem Betriebssystem2 auf ein GerätX , sorgen. - Das Verfahren
740 umfasst einen Speicherblock742 zum Speichern einer Information für ein GerätX , einen Empfangsblock744 zum Empfangen einer Anfrage, einen Übermittlungsblock746 zum Übermitteln zumindest eines Teils der gespeicherten Information und einen Wiederherstellungsblock748 zum Wiederherstellen einer Information auf dem GerätX . 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 Speicherblock752 zum Speichern einer Information für ein GerätX , ein Empfangsblock754 zum Empfangen einer Anfrage, einen Übermittlungsblock756 zum Übermitteln zumindest eines Teils der gespeicherten Information und einen Wiederherstellungsblock758 zum Wiederherstellen einer Betriebssystemumgebung auf dem GerätX . Auf diese Weise kann die gespeicherte Information, beispielsweise Einstellungen etc., für ein Wiederherstellen des Betriebssystems auf dem GerätX 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äte810 und830 und ein Beispiel für ein Verfahren870 . Wie gezeigt, umfasst das Gerät810 einen Button819 und das Gerät830 umfasst einen Button839 . Beispielsweise können die Buttons betätigbar sein, um eine Anfrage zu übermitteln, um eine Remote-Betriebssystemumgebung für einen Gebrauch durch die Geräte810 und830 jeweils einzurichten. Beispielsweise kann ein Gerät Features850 umfassen, beispielsweise einen Button852 , eine Schaltung854 , eine Netzwerkschnittstelle856 und eines oder mehrere andere Features858 . - Das Verfahren
870 kann einen Aktivierungsblock872 zum Aktivieren eines Buttons, einen Übermittlungsblock874 zum Übermitteln einer Anfrage in Reaktion auf eine Aktivierung des Buttons, einen Entscheidungsblock876 zum Entscheiden, ob die Anfrage durchführbar ist, einen Instruktionsblock880 zum Instruieren einer Remote-Betriebssystemumgebung, wobei der Entscheidungsblock876 entscheidet, dass die Anfrage durchführbar ist, und ein Hinweisblock882 zum Erlassen eines Hinweises, wobei der Entscheidungsblock876 entscheidet, dass die Anfrage nicht durchführbar ist. - In dem Beispiel aus der
8 können der Aktivierungsblock und/oder der Übermittlungsblock874 einen Zugriff auf den Speicher853 , ein TPM855 oder ein anderes Feature857 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ät810 ein Laptop, ein Netbook oder ein anderes Klapp-Gerät sein, wobei das Gerät830 ein tabletartiges Gerät sein kann, beispielsweise an Smartphone etc.. Beispielsweise kann das Gerät830 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äts810 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ät830 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 Übermittlungsblock874 . 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 Übermittlungsblock874 . Beispielsweise kann ein Magnetkartenleser, ein biometrischer Sensor, ein magnetischer Sensor, ein RFID-Sensor etc. in einem Gerät umfasst sein, beispielsweise dem Gerät810 von dem Gerät830 , 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 Computersystems900 . Das System900 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 Systems900 umfassen. - Wie in
9 gezeigt, umfasst das System900 einen sogenannten Chipsatz910 . 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 Chipsatz910 eine besondere Architektur auf, welche bis zu einem gewissen Grad variiert werden kann, abhängig von der Firma und dem Hersteller. Die Architektur des Chipsatzes910 umfasst einen Kern und eine Speichersteuerungsgruppe920 und einen Ein/Aus-Steuerungsnetzknoten950 , der Informationen austauscht (z.B. Daten, Signale, Kommandos, usw.) zum Beispiel über eine Direktmanagement-Schnittstelle oder eine Direktmedia-Schnittstelle (DMI)942 oder ein Verbindungssteuergerät944 . In dem Beispiel der9 , ist die DMI942 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 Prozessoren922 (z.B. Einzel-Kern oder Mehr-Kern) und einen Speichersteuerungsknoten926 , der Informationen über einen Frontseiten-Bus (FSB)924 austauscht. Wie hierin beschrieben, können unterschiedliche Komponenten der Kern- und Speichersteuergruppe920 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 Speicher940 über Schnittstellen verbunden. Zum Beispiel kann der Speichersteuerungsknoten926 eine Unterstützung für einen DDR SDRAM-Speicher bereitstellen (z.B. DDR, DDR2, DDR3, usw.). Im Allgemeinen ist der Speicher1140 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 LVDS932 kann eine sogenannte LVDS-Anzeigenschnittstelle (LDI) zur Unterstützung eines Anzeigegerätes992 sein (z.B. ein CRT, ein Flachbildschirm, ein Projektor, usw.). Ein Block938 schließt einige Beispiele von Technologien, die über die LVDS-Schnittstelle932 unterstützend sein können, ein (z.B. serielles digitales Video, HDMI/DVI, Anzeigeport). Der Speichersteuerungsnetzknoten926 umfasst auch eine oder mehrere PCI-Express-Schnittstellen (PCI-E)934, zum Beispiel zum Unterstützen an diskreten Graphiken936 . Diskrete Graphiken, die eine PCI-E-Schnittstelle verwenden, bilden eine alternative Näherung zu einem beschleunigten Graphikport (AGP). Der Speichersteuerungsnetzwerksknoten926 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 der9 umfasst eine SATA-Schnittstelle951 , eine oder mehrere PCI-E-Schnittstellen (optional eine oder mehrere legale PCI-Schnittstellen), eine oder mehrere USB-Schnittstellen953 , eine LAN-Schnittstelle954 (mehr allgemein eine Netzwerkschnittstelle), eine allgemein verwendbare Ein/Aus-Schnittstelle (GPIO)955 , eine Niedrig-Anschlusszahl-Schnittstelle (LPC)970 , eine Leistungsmanagementschnittstelle961 , eine Taktgeneratorschnittstelle962 , eine Audioschnittstelle963 (z.B. für Lautsprecher994 ), 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 der9 einen BIOS968 und einen Boot-Code990 einschließt. Mit Bezug auf die Netzwerkverbindungen, kann das Ein/Aus-Netzknotensteuergerät950 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 Treiber980 , wie einen HDDs, SDDs oder einer Kombination davon. Das Ein/Aus-Netzknotensteuergerät950 kann auch eine fortschrittliche zentrale Steuerschnittstelle (AHCI) einschließen, um einen oder mehrere Treiber980 zu versorgen. Die PCI-E-Schnittstelle 952 ermöglicht drahtlose Verbindungen982 mit Geräten, Netzwerken, usw. Die USB-Schnittstelle953 stellt für Eingabegeräte984 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-Schnittstelle970 die Verwendung von einem oder mehreren ASICs971 bereit als zuverlässige Plattform für Module (TPM)972 , eine Super-Ein/Ausgabe973 , einen Firmensoftwareknoten974 , eine BIOS-Unterstützung975 sowie unterschiedliche Arten von Speichern976 , wie ein ROM977 , Flash978 und nichtflüchtige RAM (NVRAM)979 . Mit Bezug auf die TPM972 , 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-Code990 für die BIOS968 , wie innerhalb des SPI-Flash-Speichers966 gespeichert ist, durchzuführen und danach Daten unter der Steuerung von einem oder mehreren Verwaltungssystemen und der Applikationssoftware (z.B. gespeichert in dem Systemspeicher940 ) zu prozessieren. - Beispielsweise kann das System
900 eine Schaltung zur Kommunikation über ein Mobilfunknetz, ein Satellitennetzwerk oder ein anderes Netzwerk umfassen. Beispielsweise kann das System900 eine Schaltung für ein Batteriemanagement umfassen, beispielsweise eine Smartbattery-Schaltung, die dazu geeignet ist, eine oder mehrere Lithiumionen-Batterien zu managen.
Claims (20)
- 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.
- Verfahren nach
Anspruch 1 , wobei das Empfangen (210) von Betriebssystemumgebungseinstellungen über ein Netzwerk das Empfangen einer Internetprotokolladresse umfasst. - 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. - 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. - Verfahren nach
Anspruch 1 , wobei das Instruieren (230) das Instruieren der eingerichteten Betriebssystemumgebung umfasst, um eine Applikation innerhalb der eingerichteten Betriebssystemumgebung einzurichten. - Verfahren nach
Anspruch 5 , wobei die Applikation eine lizenzierte Applikation umfasst. - Verfahren nach
Anspruch 5 , wobei die Applikation eine unlizenzierte Applikation umfasst. - 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. - Verfahren nach
Anspruch 1 , umfassend ein Übermitteln einer Anfrage über das Netzwerk, um eine aktualisierte Version der Betriebssytemumgebungseinstellungen zu empfangen. - 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. - 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. - 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. - Verfahren nach
Anspruch 12 , wobei das Clientgerät einen Hardwarefehler umfasst, der das Clientgerät am Einrichten einer Betriebssystemumgebung auf dem Clientgerät hindert. - 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.
- 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. - Ein oder mehrere computerlesbare Speichermedien nach
Anspruch 15 , wobei der Applikationscode einen lizenzierten Applikationscode umfasst. - 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.
- System nach
Anspruch 17 , umfassend eine Schaltung, um eine Übermittlung der Anfrage in Reaktion auf einen Fehlerzustand des Systems auszulösen. - System nach
Anspruch 17 , umfassend einen Button (852), der von einem Benutzer betätigbar ist, um eine Übermittlung der Anfrage auszulösen. - 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.
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)
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)
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 |
-
2013
- 2013-01-14 US US13/741,274 patent/US9052917B2/en active Active
- 2013-11-18 DE DE102013112672.3A patent/DE102013112672B4/de active Active
- 2013-11-22 GB GB1320652.9A patent/GB2512419B/en active Active
-
2014
- 2014-01-09 CN CN201410009453.0A patent/CN103929465B/zh active Active
Non-Patent Citations (1)
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 |