DE102023122788A1 - Zurückschreiben in ein in einem virtuellen medium abgebildetes bild in html5 - Google Patents

Zurückschreiben in ein in einem virtuellen medium abgebildetes bild in html5 Download PDF

Info

Publication number
DE102023122788A1
DE102023122788A1 DE102023122788.2A DE102023122788A DE102023122788A1 DE 102023122788 A1 DE102023122788 A1 DE 102023122788A1 DE 102023122788 A DE102023122788 A DE 102023122788A DE 102023122788 A1 DE102023122788 A1 DE 102023122788A1
Authority
DE
Germany
Prior art keywords
sandbox
host server
bytes
web browser
persistent
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.)
Pending
Application number
DE102023122788.2A
Other languages
English (en)
Inventor
Joerg Weedermann
Joseph Amirthasamy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vertiv IT Systems Inc
Original Assignee
Vertiv IT Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vertiv IT Systems Inc filed Critical Vertiv IT Systems Inc
Publication of DE102023122788A1 publication Critical patent/DE102023122788A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ein System und ein Verfahren zur Übertragung von Host-Daten von einem Host-Server auf eine Benutzervorrichtung während einer KVM-Sitzung unter Verwendung eines HTML5-KVM/virtuellen Medien-Clients, der in einem Webbrowser einer Benutzervorrichtung läuft, ist offenbart. Auf der Benutzervorrichtung kann ein Webbrowser laufen, der es dem Benutzer ermöglicht, eine Bilddatei auszuwählen, die dann als neuer Laufwerksbuchstabe (z.B. ein virtuelles Laufwerk) auf dem zu verwaltenden Serversystem erscheint. Mit dem System und dem Verfahren wird umgangen, dass die schreibgeschützten virtuellen Laufwerke nicht in der Lage sind, Dateien zurück an den HTML-Client der Benutzervorrichtung zu übertragen, indem die von der Benutzervorrichtung empfangenen ursprünglichen Dateien modifiziert werden, die gepackt und über die persistente Sandbox zurück an die Benutzervorrichtung gesendet werden. Auf diese Weise können wichtige Logdateien und andere Datendateien, die vom Host-Server erzeugt werden, über einen benutzerfreundlichen Webbrowser von der Benutzervorrichtung empfangen werden.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Die vorliegende Anmeldung beansprucht gemäß U.S.C. (US-Bundesgesetze) Bd. 35 § 119(e) den Vorteil der vorläufigen US-Anmeldung mit der Anmeldenummer 63/402,000 , die am 29. August 2022 eingereicht wurde und durch Bezugnahme in vollem Umfang hierin aufgenommen ist.
  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft allgemein Protokolle virtueller Medien und insbesondere ein System und ein Verfahren zur Erstellung virtueller Datenträgerabbilder ausgewählter Daten unter Verwendung eines Webbrowsers eines Computers eines Benutzers. Die virtuellen Datenträgerabbilder werden von einem entfernt befindlichen Host-Server während einer virtuellen Tastatur-, Video- und Maussitzung (KVM-Sitzung) genutzt. Das virtuelle Datenträgerabbild kann vom Host-Server verändert werden, wofür das veränderte Datenträgerabbild vom Host-Server auf eine Benutzervorrichtung übertragen werden kann.
  • HINTERGRUND
  • Gegenwärtige Tastatur-, Video- und Mausgeräte (KVM-Geräte) und Grundplatten-Verwaltungssteuerungen (Baseboard Management Controllers (BMCs)) ermöglichen einem Benutzer den Zugriff auf entfernte Server und andere Vorrichtungen, indem die Tastatur-, Video- und Maussignale (KVM-Signale) zwischen der Vorrichtung des Benutzers (üblicherweise ein Laptop, PC, Tablet, Smartphone usw.) und dem KVM-Gerät oder der BMC weitergeleitet werden. Zum Zweck der Erläuterung beziehen sich die folgenden Beispiele nur auf ein KVM-Gerät, es sollte jedoch klar sein, dass sie ebenso auf die Kommunikation mit einer BMC anwendbar sind. Die von dem KVM-Gerät empfangenen Tastatur- und Maussignale werden üblicherweise von einem Netzwerkprotokoll empfangen, zum Beispiel Ethernet-Protokollpakete, und dann in ein Format (z.B. USB) umgewandelt, das die entfernte Vorrichtung annehmen kann.
  • Mit der Entwicklung der HTML5-Technologie kann ein HTML5-KVM/virtueller Medien-Client nun im Webbrowser einer Vorrichtung eines Benutzers laufen, wenn vom Benutzer eine KVM-Sitzung hergestellt wird. Derzeit wird HTML5 von mehreren Webbrowsern unterstützt, darunter der IOS SAFARI™-Webbrowser der Apple Corporation, der FIREFOX™-Webbrowser von Mozilla, die Google CHROME™-Webbrowser, der Silk™-Browser von Amazon, der INTERNET EXPLORER™-Webbrowser (Versionen 10 und 11) von Microsoft Corp. sowie der EDGE™ von Microsoft und die von Opera Software entwickelten Webbrowser OPERA™ und OPERA MINI™. Die Fähigkeit, den HTML5-KVM/virtuellen Medien-Client im Webbrowser des Benutzers zu betreiben, ist ein bedeutender Vorteil, da der Benutzer in der Regel mit der Benutzung eines Webbrowsers bestens vertraut ist. Von daher bietet diese Implementierung dem Benutzer ein komfortables, leicht anzuwendendes System zur Durchführung einer KVM-Sitzung mit einer entfernten KVM-Vorrichtung (z.B. KVM-Gerät oder BMC).
  • Das Laufen eines HTML5-KVM/virtuellen Medien-Clients im Webbrowser des Benutzers war jedoch zunächst dadurch eingeschränkt, dass der Webbrowser nicht in der Lage war, dem KVM/virtuellen Medien-Client Zugriff auf die physischen Datenträger der Client-Vorrichtung zu gewähren, auf der der Webbrowser läuft (z.B. PC-Arbeitsplatz, Laptop, Computer-Tablet, Smartphone usw.). Diese Einschränkung gab es bei einem KVM/virtuellen Medien-Client, der nicht im Webbrowser des Benutzers lief, nicht. Die zuvor verwendete Technologie, wie etwa Java oder ActiveX, ermöglichte den Zugriff auf die physischen Medienvorrichtungen wie etwa Plattenlaufwerke, und somit war für den Zugriff auf die Datendateien auf der Benutzervorrichtung kein Datenträgerabbild erforderlich. Im Gegensatz dazu bieten Webbrowser einen relativ kleinen, temporären Speicherbereich, der als „Sandbox“ bezeichnet wird. Die JavaScript-Engine, die im Webbrowser läuft, kann Dateien in die Sandbox bringen. Es ist der JavaScript-Engine aber dennoch nicht erlaubt, die Dateien herauszuschreiben, und ihr ist auch kein direkter Zugriff auf die physischen Medienvorrichtungen auf der Vorrichtung des Benutzers gestattet, wie etwa Plattenlaufwerke, die üblicherweise bei Implementierungen virtueller Medien verwendet werden. Darüber hinaus ist der Speicher einer temporären Sandbox recht klein, etwa 5 5MB, was eine erhebliche Einschränkung bei der Erstellung von Datenträgerabbildern darstellt.
  • Ein System und ein Verfahren zur Überwindung dieser Einschränkungen wurde im US-Patent Nr. 10,198,285 mit dem Titel „SYSTEM AND METHOD FOR CREATING VIRTUAL DISK IMAGES FOR USE WITH A REMOTE COMPUTER“ angesprochen, das am 5. Februar 2019 von der Zessionarin der vorliegenden Anmeldung eingereicht wurde und das durch Bezugnahme in seiner Gesamtheit aufgenommen ist. Dieses System und dieses Verfahren nutzte Webbrowser, die auf der Chromium™-Software beruhen (z.B. Chrome™- und Microsoft Edge™-Webbrowser), die über eine temporäre Sandbox mit einer besonders hohen Speicherkapazität verfügen und bei denen es auch möglich ist, Dateien direkt in die persistente Sandbox zu schreiben. Das Verfahren enthielt das Abbilden der Speichervorrichtung auf dem Host-Server, das Erstellen eines Datenträgerabbilds des Inhalts der Speichervorrichtung in der persistenten Sandbox des Webbrowsers und die Verwendung des Host-Servers zur Erlangung eines virtuellen Datenträgerabbilds des Inhalts aus der persistenten Sandbox, was schließlich zur Übertragung von dem virtuellen Datenträgerabbild entsprechenden Daten vom Client-Computer zum Host-Server führte. Unter Nutzung von Chromium™-basierten Webbrowsern ermöglichte das in der US 10,198,285 offenbarte System und Verfahren die Übertragung von Host-Datendateien, wie etwa großen (größer als 5 MB) Aktualisierungsdateien, zum Host-Server über den im Webbrowser der Vorrichtung des Benutzers laufenden HTML5-KVM/virtuellen Medien-Client.
  • Das in der US 10,198,285 offenbarte System und Verfahren gestattet zwar die Übertragung von Dateien vom Client zum fernen Host-Server, dieses virtuelle Medienprotokoll bietet jedoch nur eine Übertragung von Informationen in eine Richtung. Da virtuelle Bilddateien für den Host-Server als Nur-Lese-Laufwerke erscheinen, ist der Host-Server nicht in der Lage, Dateien oder Daten auf den Client-Computer zurückzuschreiben. Da Host-Server nicht in der Lage sind, Dateien auf den Client-Computer zurückzuschreiben, ist es nicht möglich, Logdateien, Datendateien und andere Aufzeichnungen, die der Host erzeugt, mit dem Client-Computer oder anderen Client-Computern, die den Host-Server nutzen, gemeinsam zu benutzen. Dementsprechend kann es für ein System und ein Verfahren von Vorteil sein, die oben aufgezeigten Unzulänglichkeiten der herkömmlichen Ansätze zu beheben.
  • KURZFASSUNG
  • Entsprechend sind ein System und ein Verfahren zur Übertragung von Host-Daten von einem Host-Server auf eine Benutzervorrichtung während einer KVM-Sitzung unter Verwendung eines HTML5-KVM/virtuellen Medien-Clients, der in einem Webbrowser einer Benutzervorrichtung läuft, offenbart. Das verwendete System und Verfahren bezieht sich auf Merkmale „virtueller Medien“, die in Dienstprozessoren zur Fernverwaltung von Servern (z.B. Host-Servern) verwendet werden. Bei diesem System und Verfahren führt ein Client-Computer oder eine Benutzervorrichtung einen Webbrowser aus, der es dem Benutzer ermöglicht, eine Bilddatei auszuwählen (z.B. eine blockweise Kopie einer Client-Speichervorrichtung, wie z.B. einer USB-Speichervorrichtung, auch als USB-Stick bekannt), die dann als neuer Laufwerksbuchstabe (z.B. ein virtuelles Laufwerk) auf dem zu verwaltenden Serversystem erscheint. Durch diese Organisation können Dateien von der Benutzervorrichtung auf den Host-Server übertragen werden. Bei dem System und dem Verfahren wird umgangen, dass die virtuellen Nur-Lese-Laufwerke nicht in der Lage sind, Dateien zurück an den HTML-Client der Benutzervorrichtung zu übertragen, indem die von der Benutzervorrichtung empfangenen ursprünglichen Dateien modifiziert werden, die gepackt und über die persistente Sandbox zurück an die Benutzervorrichtung gesendet werden. Auf diese Weise können wichtige Logdateien und andere Datendateien, die vom Host-Server erzeugt werden, über einen benutzerfreundlichen Webbrowser von der Benutzervorrichtung empfangen werden.
  • Es versteht sich, dass sowohl die vorstehende allgemeine Beschreibung als auch die folgende ausführliche Beschreibung nur beispielhaft und erläuternd sind und die vorliegende Offenbarung nicht unbedingt einschränken. Die beigefügten Zeichnungen, die in die Beschreibung aufgenommen sind und einen Teil davon bilden, veranschaulichen den Gegenstand der Offenbarung. Zusammen dienen die Beschreibungen und die Zeichnungen zur Erläuterung der Prinzipien der Offenbarung. Es sollte klar sein, dass die Aspekte lediglich als kurze Zusammenfassung dieser Ausführungsformen dargestellt werden und dass diese Aspekte den Umfang dieser Offenbarung nicht einschränken sollen. Diese Offenbarung kann eine Reihe von Aspekten einschließen, die im Folgenden eventuell nicht dargelegt sind. Einige Aspekte sind im Hinblick auf Verfahren erläutert, andere im Hinblick auf Vorrichtungen. Die jeweiligen Aspekte sind jedoch entsprechend von Verfahren auf Vorrichtungen und umgekehrt zu übertragen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die zahlreichen Vorteile der Offenbarung sind für den Fachmann anhand der beigefügten Figuren besser verständlich.
    • 1 ist ein Diagramm eines Systems, bei dem eine Benutzervorrichtung, auf der ein Webbrowser läuft, dazu verwendet wird, eine KVM-Sitzung mit einem entfernt befindlichen Host-Server in einem Datenzentrum in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Offenbarung durchzuführen.
    • 2A und 2B sind Ablaufdiagramme, die eine Abfolge von Operationen zwischen dem HTML5-KVM/virtuellen Medien-Client und dem Host-Server in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Offenbarung veranschaulichen.
    • 3A und 3B sind Ablaufdiagramme, die eine Abfolge von Operationen zwischen dem HTML5-KVM/virtuellen Medien-Client und dem Host-Server in Übereinstimmung mit einer zusätzlichen Ausführungsform der vorliegenden Offenbarung veranschaulichen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Bevor eine oder mehrere Ausführungsformen der Offenbarung im Einzelnen erläutert werden, sollte klar sein, dass die Ausführungsformen in ihrer Anwendung nicht auf die baulichen Einzelheiten und die Anordnung der Komponenten oder Schritte oder Methodiken beschränkt sind, die in der folgenden Beschreibung dargelegt oder in den Zeichnungen dargestellt sind. In der nachstehenden ausführlichen Beschreibung von Ausführungsformen können zum besseren Verständnis der Offenbarung zahlreiche konkrete Einzelheiten dargelegt sein. Für den Durchschnittsfachmann, der aus der vorliegenden Offenbarung Nutzen zieht, ist es jedoch offensichtlich, dass die hierin offenbarten Ausführungsformen auch ohne einige dieser konkreten Einzelheiten ausgeführt werden können. In anderen Fällen sind wohlbekannte Merkmale eventuell nicht im Einzelnen beschrieben, damit die vorliegende Offenbarung nicht unnötig verkompliziert wird.
  • Ein Buchstabe hinter einem Bezugszeichen soll hierbei auf eine Ausführungsform des Merkmals oder Elements hinweisen, das einem zuvor beschriebenen Element oder Merkmal mit dem gleichen Bezugszeichen ähnlich, aber nicht unbedingt damit identisch sein kann (z.B. 1, 1a, 1b). Solche Kurzbezeichnungen dienen lediglich der Zweckmäßigkeit und sind nicht so auszulegen, dass sie die Offenbarung in irgendeiner Weise einschränken, sofern nicht ausdrücklich etwas Gegenteiliges angegeben ist.
  • Des Weiteren bezieht sich „oder“, sofern nicht ausdrücklich das Gegenteil angegeben ist, auf ein einschließendes Oder und nicht auf ein ausschließendes Oder. Beispielsweise ist eine Bedingung A oder B durch eine der folgenden Aussagen erfüllt: A ist wahr (bzw. vorhanden) und B ist falsch (bzw. nicht vorhanden), A ist falsch (bzw. nicht vorhanden) und B ist wahr (bzw. vorhanden), und sowohl A als auch B sind wahr (bzw. vorhanden).
  • Darüber hinaus kann die Verwendung von „ein“ bzw. „eine“ zur Beschreibung von Elementen und Komponenten hierin offenbarter Ausführungsformen zum Einsatz kommen. Dies dient lediglich der Zweckmäßigkeit, und „ein“ und „eine“ sollen auch „ein(e)“ oder „wenigstens ein(e)“ einschließen, und der Singular schließt auch den Plural ein, es sei denn, es ist offensichtlich, dass es anders gemeint ist.
  • Schließlich bedeutet jede hierin verwendete Bezugnahme auf „eine Ausführungsform“ oder „Ausführungsformen“, dass ein bestimmtes Element, Merkmal, eine bestimmte Struktur oder Eigenschaft, das bzw. die in Verbindung mit der Ausführungsform beschrieben wird, bei mindestens einer hierin offenbarten Ausführungsform enthalten ist. Sofern der Ausdruck „in Ausführungsformen“ an verschiedenen Stellen der Beschreibung vorkommt, bezieht er sich nicht unbedingt immer auf die gleiche Ausführungsform, und Ausführungsformen können eines oder mehrere der hierin ausdrücklich beschriebenen oder inhärent vorhandenen Merkmale oder eine beliebige Kombination oder Unterkombination zweier oder mehrerer solcher Merkmale enthalten, zusammen mit etwaigen anderen Merkmalen, die in der vorliegenden Offenbarung möglicherweise nicht unbedingt ausdrücklich beschrieben oder inhärent vorhanden sind.
  • Unter Bezugnahme auf 1 ist ein Diagramm eines Systems 10 gezeigt, bei dem eine Benutzervorrichtung, bei diesem Beispiel eine Workstation bzw. ein Arbeitsplatz 12 (z.B. ein Arbeitsplatzrechner), auf dem ein Webbrowser (z.B. ein Chromium™-basierter Webbrowser) 14 läuft, zur Durchführung einer KVM-Sitzung mit einem entfernt befindlichen Host-Server 16 in einem Datenzentrum 17 verwendet wird. Eine KVM-Vorrichtung, bei diesem Beispiel ein KVM-Gerät 18, verbindet den Benutzerarbeitsplatz 12 mit dem Host-Server 16. Es versteht sich jedoch, dass anstelle eines KVM-Geräts auch eine BMC implementiert sein kann. Zum Zwecke der Erläuterung wird auf die KVM-Vorrichtung als KVM-Gerät Bezug genommen.
  • In dem Webbrowser 14 kann ein HTML5-KVM/virtueller Medien-Client 20 laufen. Der Webbrowser 14 bietet auch eine temporäre Sandbox 21 und eine persistente Sandbox 22, bei denen es sich um fest zugeordnete Speicherplätze handelt, in die eine im Webbrowser 14 laufende JavaScript-Engine Dateien oder Teile von Dateien handhaben kann. Wie oben erwähnt, ist die JavaScript-Engine jedoch nicht in der Lage, die Dateien auf eine der physischen Vorrichtungen (Plattenlaufwerk, Flash-Laufwerk), die in der Workstation 12 enthalten oder physisch mit der Workstation 12 verbunden sind, auszuschreiben, noch ist ihr ein direkter Zugriff darauf gestattet. Es wird in Erwägung gezogen, dass ein individueller Dateibrowser vorhanden sein kann, der Bilddateien oder Teile von Bilddateien enthalten kann, die in der temporären Sandbox 21 und einer persistenten Sandbox 22 gespeichert sind, und der für den Benutzer auf der Benutzeroberfläche sichtbar sein kann.
  • Der HTML5-KVM/virtuelle Medien-Client 20 kommuniziert mit dem Host-Server 16 über das KVM-Gerät 18, ein Verbindungsgerät 24 für virtuelle Medien innerhalb des KVM-Geräts 18, einen USB-Anschluss 26 des Host-Servers 16 und eine Weitbereichsnetzverbindung (z.B. das Internet). Nachrichten, zum Beispiel und ohne Einschränkung AVMP-Nachrichten (Avocent Virtuelles Nachrichtenübermittlungsprotokoll-Nachrichten (Avocent Virtual Messaging Protocol)), werden zwischen dem HTML5-KVM/virtuellen Medien-Client 20 und dem Host-Server 16 übermittelt, wenn virtuelle Datenträgerabbilder auf der Workstation 12 erstellt und dem Host-Server 16 zur Verfügung gestellt werden und wenn Statusaktualisierungen (z.B. Anzahl der übertragenen Bytes) vom HTML5-KVM/virtuellen Medien-Client an den Host-Server 16 gesendet werden. Die Erstellung virtueller Datenträgerabbilder von Dateien und/oder Verzeichnissen auf den Plattenlaufwerken der Workstation 12 und die Freigabe der virtuellen Datenträgerabbilder an den Host-Server 16 ermöglichen es dem Host-Server 16, auf die Inhalte auf jeder der Datenträger der Workstation 12 sowie auf jedes Gerät für virtuelle Medien (z.B. Flash-Laufwerk, tragbares Speichergerät usw.) zuzugreifen, das physisch an die Workstation 12 angeschlossen sein kann.
  • Unter Bezugnahme auf die 2A und 2B sind Ablaufdiagramme 100, 140 gezeigt, die eine Abfolge von Operationen zwischen dem HTML5-KVM/virtuellen Medien-Client 20 und dem Host-Server 16 darstellen. Zunächst stellt der Benutzer bei Operation 102 (2A) über den HTML5-KVM/virtuellen Medien-Client 20, der im Webbrowser 14 des Benutzers läuft, eine KVM-Sitzung mit dem Host-Server 16 her. Bei Operation 104 sendet das KVM-Gerät 18 dem HTML5-KVM/virtuellen Medien-Client 20 eine Liste virtueller Mediengeräte, die zur Abbildung auf dem Host-Server 16 zur Verfügung stehen. Bei Operation 106 wählt der Benutzer die zuzuordnende Vorrichtung des Host-Servers aus und wählt dann einen konkreten Inhalt aus, der über ein virtuelles Datenträgerabbild abgebildet werden soll. Bei dem abzubildenden Inhalt kann es sich um eine bestimmte Datei oder möglicherweise um ein Verzeichnis oder Unterverzeichnis handeln.
  • Bei Operation 107a fordert der HTML5-KVM/virtuelle Medien-Client 20 die Erlaubnis des Benutzers an, ein virtuelles Datenträgerabbild (z.B. in Form gepackter Bytes) in die persistente Sandbox 22 oder die temporäre Sandbox 21 des Webbrowsers zu schreiben. Diese Anforderung kann zu verschiedenen Zeiten im Verfahren erfolgen. Wenn der Benutzer der Anforderung nicht zustimmt, kann das Verfahren beendet werden (z.B. enden). Wenn der Benutzer der Anforderung zustimmt, schreitet das Verfahren zu Operation 107b fort, bei der ein Bild entsprechend der Zustimmung des Clients als Nur-Lese-Bild (RO-Bild) oder Schreib-Lese-Bild (RW-Bild) abgebildet wird. Die Anforderungs- und Zustimmungsabfolge für 107a-b kann verschiedene Formen annehmen. Zum Beispiel erhält ein Benutzer eventuell einen Erlaubnisdialog, in dem um eine Entscheidung über die Abbildung des Bildes als RO-Bild oder RW-Bild gebeten wird. Bei einem anderen Beispiel erhält der Benutzer eventuell einen Erlaubnisdialog, in dem gefragt wird, ob der Benutzer zustimmt, dass der Browser das Bild in die persistente Sandbox schreibt und/oder den nun modifizierten Inhalt der Kopie der Bytes in der persistenten Sandbox in eine Bilddatei auf dem Dateisystem der Workstation 12 zurückschreibt, wodurch der Benutzer auf die Bilddatei zugreifen und sie bearbeiten kann. Bei einem anderen Beispiel entscheidet das System eventuell automatisch, das Bild als RO-Bild oder RW-Bild abzubilden (z.B. aufgrund von Vorgabekriterien, die der Benutzer festgelegt hat). Wenn die Entscheidung getroffen wird, das Bild als RO-Bild abzubilden, dann wird das Bild in die temporäre Sandbox 21 kopiert.
  • Wenn die Entscheidung getroffen wird, das Bild als RW-Bild abzubilden, fährt das Ablaufdiagramm mit Operation 108 fort, bei der der HTML5-KVM/virtuelle Medien-Client 20 den ausgewählten Inhalt unter Verwendung eines ausgewählten Formats (z.B. FAT32) packt, um ein virtuelles Datenträgerabbild des ausgewählten Inhalts in der persistenten Sandbox 22 des Browsers zu erstellen. Nach dem Abbilden des Bildes als RW-Bild ändern nun alle SCHREIB-Block-Befehle, die vom Host-Server 16 zurück an den HTML5-KVM/virtuellen Medien-Client 20 gesendet werden, die Daten der entsprechenden Blöcke in der persistenten Sandbox des Webbrowsers 14.
  • Bei Operation 110 sendet der HTML5-KVM/virtuelle Medien-Client 20 eine Nachricht an den Host-Server 16, mit der der Host-Server von dem verfügbaren virtuellen Datenträgerabbild benachrichtigt wird, und gibt dem Host-Server 16 das virtuelle Datenträgerabbild zur Verwendung frei. Hinsichtlich der Nachricht, die gesendet werden kann, sollte klar sein, dass jedes Nachrichtenübermittlungsprotokoll zur Anwendung kommen kann, unter anderem können AVMP-Nachrichten (Avocent Virtual Message Protocol-Nachrichten) verwendet werden. Das Avocent Virtual Messaging Protocol ist ein gesetzlich geschütztes Protokoll von Avocent, Inc., einem Unternehmen von Vertiv.
  • Bei Operation 112 erhält der Host-Server 16 das virtuelle Datenträgerabbild und sendet dann eine Nachricht (z.B. eine AVMP-Nachricht) zurück an den HTML5-KVM/virtuellen Medien-Client 20 mit der Startblocknummer und der Anzahl der abzurufenden Datenblöcke. Bei Operation 114 antwortet der HTML5-KVM/virtuelle Medien-Client 20 auf die Anforderung, indem er die Anforderung in die konkreten Dateien, aus denen das virtuelle Datenträgerabbild besteht, und den konkreten Inhalt aus diesen Dateien umsetzt (z.B. Versatz in die Datei und Anzahl der Bytes, die aus der persistenten Datei aus der persistenten Sandbox zu lesen sind). Auch sollte klar sein, dass die Erstellung des virtuellen Datenträgerabbilds die Erstellung der strukturellen Elemente eines Datenträgerabbilds wie etwa des Boot-Sektors und der FAT-Tabellen beinhaltet. Die Daten eines Datenträgerabbilds, die üblicherweise in Dateien innerhalb des Datenträgerabbilds gespeichert sind, sind nicht Teil des virtuellen Datenträgerabbilds. Stattdessen werden im vorliegenden System und Verfahren Verweise auf die Dateien aufbewahrt, so dass dann, wenn eine Anforderung eines bestimmten Datenblocks (bzw. eines Satzes von Blöcken) empfangen wird, ein Rückwärtsnachschlagen durchgeführt werden kann. Durch das Rückwärtsnachschlagen wird festgestellt, welche Dateien die angeforderten Daten enthalten, und dann kann eine Operation ausgeführt werden, mit der diese Daten von der Client-Workstation abgerufen werden. Die Daten werden abgerufen, indem diese Teilbereiche der benötigten Dateien in die persistente Sandbox 22 kopiert und die Daten dann an den Host-Server 16 übertragen werden. Die Dateien, aus denen das Datenträgerabbild besteht, werden erst dann in die persistente Sandbox 22 gebracht, wenn ihre Daten benötigt werden, und dann werden nur diejenigen Teilbereiche der Dateien, die benötigt werden, in die persistente Sandbox gebracht. Entsprechend bildet diese Methodik eine Art „On-Demand“-System.
  • Bei Operation 116 sendet der HTML5-KVM/virtuelle Medien-Client 20 die durch die ausgewählten Bytes dargestellten Daten an den Host-Server 16. Bei Operation 118 empfängt der Host-Server 16 die übertragenen Bytes. Es sollte klar sein, dass die von dem Host-Server 16 empfangenen Bytes von bestimmten Blöcken auf dem virtuellen Datenträgerabbild stammen. Der Host-Server 16 weiß jedoch nicht, dass die Bytes von einem Datenträgerabbild stammen. Für den Host-Server 16 hat es den Anschein, dass er die Datenbytes von einer physischen Vorrichtung erhält, die mit seinem USB-Anschluss 26 verbunden ist.
  • In manchen Ausführungsformen führt das System 10 eventuell Operationen durch, um festzustellen, ob zusätzliche Bytes zur Fertigstellung der Übertragung von Bytes benötigt werden. Diese Operationen sind im US-Patent Nr. 10,198,285 mit dem Titel „SYSTEM AND METHOD FOR CREATING VIRTUAL DISK IMAGES FOR USE WITH A REMOTE COMPUTER“ im Einzelnen dargelegt, das durch Bezugnahme in seiner Gesamtheit aufgenommen ist.
  • Bei Operation 133 werden Bytes vom Host-Server 16 an die Workstation 12 übertragen. Beispielsweise kann Inhalt aus der persistenten Sandbox (z.B. die RW-Bilddatei) im Webbrowser (z.B. im Download-Bereich) als neue Bilddatei gespeichert werden, die nun die modifizierten Bytes des Host-Servers 16 enthält. Teiloperationen der Operation 133 sind in 2B näher ausgeführt. Bei Operation 134 empfängt die Firmware des KVM-Geräts 18 die Auswurfmeldung und sendet eine Nachricht (z.B. AVMP-Nachricht) an den HTML5-KVM/virtuellen Medien-Client 20, der daraufhin das virtuelle Datenträgerabbild trennt.
  • Unter Bezugnahme auf die 2B wird die Operation 133 der Übertragung von Bytes vom Host-Server 16 an die Workstation 12 in einem Ablaufdiagramm 140 als Operationen 133a-f erweitert gezeigt. Bei Operation 133a fügt der Host-Server 16 Bytes hinzu oder modifiziert Bytes, die er vom HTML5-KVM/virtuellen Medien-Client 20 empfangen hat (z.B. wie in Operation 118 empfangen). Die vom Host-Server 16 hinzugefügten oder modifizierten Bytes können jede Art von Daten enthalten, unter anderem Logdaten oder Datensätze, die der Host-Server 16 erzeugt.
  • Nachdem Bytes hinzugefügt und/oder modifiziert wurden, sendet das KVM-Gerät 18 eine Anweisung an den Host-Server 16 und fordert den Host-Server 16 dazu auf, die Bytes an den HTML5-KVM/virtuellen Medien-Client 20 zu senden, wie in Operation 133b angegeben. Die Bytes können die hinzugefügten und/oder modifizierten Bytes sowie einen Teil der ursprünglichen Datei enthalten, die vom HTML5-KVM/virtuellen Medien-Client 20 an den Host-Server 16 gesendet wurde. Als Vorbereitung für die Übertragung der hinzugefügten und/oder modifizierten Bytes an den HTML5-KVM/virtuellen Medien-Client 20 packt der Host-Server die Bytes in ein vorgeschriebenes Format (z.B. FAT-Dateisysteme, wie etwa FAT32) und sendet die gepackten Bytes an den Client, wie in Operation 133c angegeben.
  • Bei Operation 133d werden die empfangenen gepackten Bytes in den persistenten Speicher des Clients aktualisiert. Der Host-Server leitet dann die Trennung des virtuellen Datenträgers über die Benutzeranforderung (z.B. aus Operation 107a) ein, wie in Operation 133e angegeben. Bei manchen Ausführungsformen kann das Verfahren 100 eine vom Benutzer ausgelöste Handlung nutzen, um einen Schnappschuss des aktuellen Bildinhalts der persistenten Sandbox zu machen, und diesen Inhalt in die Datei auf dem lokalen Datenträger zurückspeichern, während die ursprüngliche abgebildete Datei weiterhin abgebildet gelassen wird. Bei dieser Ausführungsform kann es erforderlich sein, dass der Schnappschuss unter einem anderen Dateinamen gespeichert wird, da eine Bilddatei, die noch abgebildet ist, nicht überschrieben werden kann. Bei Operation 133f werden die gepackten Dateien in Form eines Datenträgerabbilds von der persistenten Sandbox 22 des Webbrowsers an die Speichervorrichtung des Clients gesendet.
  • Durch die Verwendung des HTML5-KVM/virtuellen Medien-Clients 20 zur Erstellung virtueller Datenträgerabbilder und zur Freigabe der virtuellen Datenträgerabbilder für den Host-Server 16 wird das Unvermögen des Webbrowsers, direkt auf den physischen Datenträger auf der Workstation 12 zuzugreifen, zumindest teilweise überwunden. Die Fähigkeit des Host-Servers 16, von den physischen Datenträgern auf der Client-Workstation zu booten, geht jedoch verloren, da die persistente Sandbox 22 dem HTML5-KVM/virtuellen Medien-Client 20 nicht gestattet, den Boot-Bereich der physischen Vorrichtung zu lesen. Im Grunde kann der Host-Server 16 auf jeden Dateninhalt, der auf den Datenträgern der Workstation 12 als Dateien gespeichert ist, ebenso wie auf jede virtuelle Medienvorrichtung zugreifen, auf die die Workstation 12 über eine physische Verbindung mit der Workstation zugreifen kann. Die Tatsache, dass sich der HTML5-KVM/virtuelle Medien-Client 20 im Webbrowser 14 ausführen lässt, trägt auch erheblich zum Bedienkomfort für den Benutzer bei, da der Benutzer mit der Verwendung des Webbrowsers vertraut ist.
  • Unter Bezugnahme auf die 3A und 3B sind Ablaufdiagramme 300, 340 dargestellt, in denen Beispiele für eine Abfolge von Operationen zwischen dem HTML5-KVM/virtuellen Medien-Client 20 und dem Host-Server 16 veranschaulicht werden, mit anderen Entscheidungsfindungs- und Byte-Übertragungsoperationen als den in den Ablaufdiagrammen 100, 140 der 2A und 2B gezeigten. Im Ablaufdiagramm 300 sind die Operationen 302 bis 306 identisch mit den entsprechenden Operationen 102 bis 106 des Ablaufdiagramms 100. In Operation 307a wird eine Entscheidung getroffen (z.B. entweder automatisch oder vom Benutzer), ob das Bild als Nur-Lese-Bild (RO-Bild) oder als Schreib-Lese-Bild (RW-Bild) abgebildet werden soll. Wenn entschieden wird, das Bild als Nur-Lese-Bild (RO-Bild) abzubilden, dann wird das Bild in die temporäre Sandbox 21 geschrieben. Wird entschieden, das Bild als Schreib-Lese-Bild (RW-Bild) abzubilden, fährt das Ablaufdiagramm mit der Operation 307b fort, bei der der HTML5-KVM/virtuelle Medien-Client 20 vom Benutzer die Erlaubnis anfordert, ein virtuelles Datenträgerabbild (z.B. in Form von gepackten Bytes) in die persistente Sandbox 22 des Webbrowsers zu schreiben. Wenn der Benutzer keine Zustimmung erteilt, werden die gepackten Bytes in die temporäre Sandbox 21 geschrieben. Wird die Zustimmung vom Benutzer erteilt, wird das Ablaufdiagramm mit der nächsten Operation 308 fortgesetzt.
  • Die Operationen 308 bis 318 des Ablaufdiagramms 300 können mit den entsprechenden Operationen 108 bis 118 des Ablaufdiagramms 100 identisch sein. Die Operation 333 des Ablaufdiagramms 300 und die Operation 133 des Ablaufdiagramms 100 offenbaren beide die Übertragung von Bytes vom Host-Server 16 an die Workstation 12; diese Operationen unterscheiden sich jedoch darin, wie die Übertragung durchgeführt wird, wie im Ablaufdiagramm 340 gezeigt. Nachdem der Host-Server 16 beispielsweise in Operation 333a Bytes hinzufügt oder Bytes modifiziert, die er vom HTML5-KVM/virtuellen Medien-Client 20 empfangen hat, packt der Host-Server 16 daraufhin die Bytes in ein vorgeschriebenes Format, wie in Operation 333b gezeigt. Das KVM-Gerät 18 sendet dann eine Anweisung an den Host-Server 16 mit der Aufforderung, dass der Host-Server 16 die Bytes an den HTML5-KVM/virtuellen Medien-Client 20 sendet, wie in Operation 333c gezeigt.
  • In der Operation 333d aktualisiert der HTML5-KVM/virtuelle Medien-Client 20 die empfangenen Daten in die persistente Sandbox 22 des Webbrowsers, wobei der Host-Server 16 die Trennung des virtuellen Datenträgers über eine Benutzeranforderung in Schritt 333e einleitet. Gepackte Dateien werden dann von der persistenten Sandbox 22 des Webbrowsers an die Client-Speichervorrichtung gesendet, wie in Operation 333f gezeigt. Sobald die gepackten Dateien im Betrieb von der persistenten Sandbox 22 an die Client-Speichervorrichtung gesendet werden, kehrt das Verfahren zu Operation 334 des Ablaufdiagramms 100 zurück, wobei Firmware des KVM-Geräts die Auswurfmitteilung empfängt und eine Mitteilung (z.B. über AVMP-Nachricht) an den KVM/virtuellen Medien-Client 20 sendet, der dann den virtuellen Datenträger trennt.
  • Wie hierin beschrieben, wird ein Chromium™-basierter Webbrowser, der CHROME™-Webbrowser, für die Übertragung von Host-Daten vom Host-Server 16 an die Workstation 12 genutzt. Der CHROME™-Webbrowser weist sowohl eine temporäre Sandbox 21 als auch eine persistente Sandbox 22 und einen virtuellen HTML5-KVM-Medien-Client 20 auf und kann es ermöglichen, dass Dateien direkt aus dem Speicher in die persistente Sandbox 22 geschrieben werden. Der Chromium™-basierte Webbrowser bietet konkrete Vorteile gegenüber anderen Webbrowsern. Insbesondere nutzt die persistente Sandbox des Chromium™-basierten Webbrowsers freien Platz von der Festplatte des Benutzers und ermöglicht somit die Übertragung größerer Bilddateien.
  • Es sollte klar sein, dass mit der fortgesetzten Entwicklung von mehr Webbrowsern 14 unter HTML5-basierten Protokollen viele Webbrowser in der Lage sind oder sein werden, die hierin beschriebenen, im Einzelnen für den CHROME™-Webbrowser dargelegten Verfahren durchzuführen. Dies gilt insbesondere für Chromium™-basierte Webbrowser, die unter anderem Amazon Silk™-, Avast Secure Browser-, Beaker™-, Blisk™-, Brave™-, CodeWeavers CrossOver™-, Comodo Dragon™-, Cốc Crossover™-, Epic Browser™-, Falkon™-, quitebrowser™-, Microsoft Edge™-, Naver Whale™-, Opera™-, Qihoo 360 Secure Browser™-, SatamWeb™-, Samsung Internet™-, Sleipnir™-, Slimjet™-, SRWare Iron™-, Torch™-, ungoogled-chromium™-, Vivaldi™- und Yandex Browser™-Webbrowser aufweisen. Dementsprechend sollten hierin beschriebene Systeme und Verfahren, die den Chrome™-Webbrowser aufweisen, nicht als Einschränkung des in dem System und den Verfahren dieser Offenbarung enthaltenen bestimmten Webbrowsers 14 ausgelegt werden, sondern lediglich als Veranschaulichung.
  • Gemäß den Ablaufdiagrammen 100 und 300 kann das System 10 auch Operationen durchführen, mit denen festgestellt wird, ob die zusätzlichen Bytes zur Vervollständigung der Übertragung von Bytes benötigt werden. Diese Operationen sind im US-Patent Nr. 10,198,285 mit dem Titel „SYSTEM AND METHOD FOR CREATING VIRTUAL DISK IMAGES FOR USE WITH A REMOTE COMPUTER“ im Einzelnen beschrieben, das durch Bezugnahme in seiner Gesamtheit aufgenommen ist.
  • Es wird hierin angemerkt, dass die in dieser Offenbarung beschriebenen Verfahren nicht auf die vorgesehenen Operationen und/oder Teiloperationen beschränkt sind. Die Verfahren hierin können mehr oder weniger Operationen und/oder Teiloperationen enthalten. Eine oder mehrere Operationen oder Teiloperationen von in dieser Offenbarung beschriebenen Verfahren können gleichzeitig durchgeführt werden. Eine oder mehrere Operationen oder Teiloperationen von in dieser Offenbarung beschriebenen Verfahren können sequentiell gebildet werden, einschließlich in der vorgesehenen oder einer anderen als der vorgesehenen Reihenfolge. Daher sollte die obige Beschreibung nicht als Einschränkung des Umfangs der vorliegenden Offenbarung, sondern lediglich als Veranschaulichung ausgelegt werden.
  • Der Fachmann erkennt, dass der Stand der Technik bis zu einem Punkt fortgeschritten ist, an dem es nur noch wenig Unterschiede zwischen Hardware- und Software-Implementierungen von Aspekten von Systemen gibt; die Verwendung von Hardware oder Software ist in der Regel (aber nicht immer, insofern als in bestimmten Zusammenhängen die Wahl zwischen Hardware und Software bedeutsam werden kann) eine Auslegungsentscheidung, die einen Kompromiss zwischen Kosten und Effizienz darstellt. Dem Fachmann ist klar, dass es verschiedene Mittel gibt, mit denen hierin beschriebene Vorgänge und/oder Systeme und/oder sonstige Technologien umgesetzt werden können (z.B. Hardware, Software und/oder Firmware), und dass das bevorzugte Mittel vom jeweiligen Zusammenhang abhängt, in dem die Vorgänge und/oder Systeme und/oder sonstigen Technologien zum Einsatz kommen. Wenn ein Implementierer zum Beispiel feststellt, dass Geschwindigkeit und Genauigkeit an erster Stelle stehen, kann der Implementierer sich für ein Mittel bzw. Vehikel entscheiden, das hauptsächlich Hardware und/oder Firmware umfasst; alternativ dazu kann der Implementierer, wenn Flexibilität an erster Stelle steht, sich für eine Umsetzung entscheiden, die hauptsächlich Software beinhaltet, oder wiederum alternativ dazu kann der Implementierer sich für eine Kombination aus Hardware, Software und/oder Firmware entscheiden. Daher gibt es mehrere mögliche Vehikel bzw. Mittel, mit denen die hierin beschriebenen Vorgänge und/oder Vorrichtungen und/oder anderen Technologien umgesetzt werden können, von denen keines von Natur aus dem anderen dahingehend überlegen ist, als jedes zu benutzende Mittel eine Wahl ist, die vom Zusammenhang, in dem das Mittel eingesetzt wird, und von den konkreten Belangen (z.B. Geschwindigkeit, Flexibilität oder Vorhersagbarkeit) des Implementierers abhängt, die alle unterschiedlich sein können. Der Fachmann erkennt, dass bei visuellen Aspekten von Implementierungen typischerweise visuell ausgerichtete Hardware, Software und/oder Firmware zum Einsatz kommt.
  • In der vorstehenden ausführlichen Beschreibung sind verschiedene Ausführungsformen der Vorrichtungen und/oder Vorgänge mittels der Verwendung von Blockdiagrammen, Ablaufdiagrammen und/oder Beispielen dargelegt worden. Insofern als solche Blockdiagramme, Ablaufdiagramme und/oder Beispiele eine oder mehrere Funktionen und/oder Operationen enthalten, ist es für den Fachmann klar, dass jede Funktion und/oder Operation in solchen Blockdiagrammen, Ablaufdiagrammen oder Beispielen einzeln und/oder gemeinsam durch eine große Vielfalt an Hardware, Software, Firmware oder praktisch jede Kombination davon implementiert werden kann. Bei einer Ausführungsform können mehrere Teile des hierin beschriebenen Gegenstands über anwendungsspezifische integrierte Schaltungen (Application Specific Integrated Circuits (ASICs)), feldprogrammierbare Gate-Arrays ((FPGAs)), digitale Signalprozessoren (DSPs) oder andere integrierte Formate implementiert werden. Der Fachmann erkennt jedoch, dass einige Aspekte der hierin offenbarten Ausführungsformen ganz oder teilweise in integrierten Schaltungen, als ein oder mehrere Computerprogramme, die auf einem oder mehreren Computern laufen (z.B. als ein oder mehrere Programme, die auf einem oder mehreren Computersystemen laufen), als ein oder mehrere Programme, die auf einem oder mehreren Prozessoren laufen (z.B. als ein oder mehrere Programme, die auf einem oder mehreren Mikroprozessoren laufen), als Firmware oder in Form praktisch jeder beliebigen Kombination davon gleichwertig umgesetzt werden können und dass das Entwerfen der Schaltungsanordnungen und/oder das Schreiben des Codes für die Software und/oder Firmware angesichts der vorliegenden Offenbarung durchaus im Rahmen des Könnens eines Fachmanns liegen würde. Außerdem ist es für den Fachmann klar, dass die Mechanismen des hierin beschriebenen Gegenstands als Programmprodukt in einer Vielzahl von Formen vertrieben werden können und dass eine veranschaulichende Ausführungsform des hierin beschriebenen Gegenstands ungeachtet der bestimmten Art des signaltragenden Mediums gilt, das verwendet wird, um den Vertrieb tatsächlich durchzuführen. Zu Beispielen für ein signaltragendes Medium gehören unter anderem: ein beschreibbares Medium wie etwa eine Diskette, ein Festplattenlaufwerk, eine Compact Disc (CD), eine Digital Video Disk (DVD), ein digitales Band, ein Computerspeicher usw., und ein Übertragungsmedium wie etwa ein digitales und/oder ein analoges Kommunikationsmedium (z.B. ein Glasfaserkabel, ein Wellenleiter, eine drahtgebundene Nachrichtenverbindung, eine drahtlose Nachrichtenverbindung usw.).
  • In allgemeiner Hinsicht erkennt der Fachmann, dass die hierin beschriebenen verschiedenen Aspekte, die einzeln und/oder gemeinsam von einem breiten Bereich an Hardware, Software, Firmware oder einer beliebigen Kombination davon ausgeführt werden können, als aus verschiedenen Arten von „elektrischen Schaltungsanordnungen“ bestehend angesehen werden können. Infolgedessen gehören zu „elektrischen Schaltungsanordnungen“, wie sie hierin verwendet werden, unter anderem elektrische Schaltungsanordnungen mit wenigstens einer diskreten elektrischen Schaltung, elektrische Schaltungsanordnungen mit wenigstens einer integrierten Schaltung, elektrische Schaltungsanordnungen mit wenigstens einer anwendungsspezifischen integrierten Schaltung, elektrische Schaltungsanordnungen, die eine durch ein Computerprogramm konfigurierte Universalrechenvorrichtung bilden (z.B. einen Universalcomputer, der durch ein Computerprogramm konfiguriert ist, das hierin beschriebene Prozesse und/oder Vorrichtungen zumindest teilweise ausführt, oder einen Mikroprozessor, der durch ein Computerprogramm konfiguriert ist, das hierin beschriebene Prozesse und/oder Vorrichtungen zumindest teilweise ausführt), elektrische Schaltungsanordnungen, die eine Speichervorrichtung bilden (z.B. Formen von Direktzugriffsspeichern), und/oder elektrische Schaltungsanordnungen, die eine Kommunikationsvorrichtung bilden (z.B. ein Modem, einen Kommunikationsschalter oder opto-elektrische Geräte). Der Fachmann erkennt, dass der hierin beschriebene Gegenstand auf analoge oder digitale Weise oder in einer Kombination davon umgesetzt werden kann.
  • Der Fachmann wird erkennen, dass es in dem Fachgebiet üblich ist, Vorrichtungen und/oder Prozesse in der hierin dargelegten Weise zu beschreiben und anschließend technische Vorgehensweisen anzuwenden, um solche beschriebenen Vorrichtungen und/oder Prozesse in Datenverarbeitungssysteme zu integrieren. Wenigstens ein Teil der hierin beschriebenen Vorrichtungen und/oder Prozesse kann also über ein Experimentieren in angemessenem Ausmaß in ein Datenverarbeitungssystem integriert werden. Der Fachmann wird erkennen, dass ein typisches Datenverarbeitungssystem in der Regel eines oder mehrere der folgenden aufweist: ein Gehäuse für die Systemeinheit, eine Videoanzeigevorrichtung, einen Speicher wie etwa einen flüchtigen und einen nichtflüchtigen Speicher, Prozessoren wie etwa Mikroprozessoren und digitale Signalprozessoren, rechentechnische Einheiten wie etwa Betriebssysteme, Treiber, grafische Benutzeroberflächen und Anwendungsprogramme, eine oder mehrere Interaktionsvorrichtungen wie etwa ein Touchpad oder einen Touchscreen und/oder Steuersysteme einschließlich Rückkopplungsschleifen und Steuermotoren (z.B. Rückkopplung zur Erfassung von Position und/oder Geschwindigkeit, Steuermotoren zum Verschieben und/oder Einstellen von Komponenten und/oder Größen). Ein typisches Datenverarbeitungssystem kann unter Verwendung beliebiger geeigneter handelsüblicher Komponenten implementiert sein, wie sie typischerweise in Datenrechen-/Kommunikations- und/oder Netzwerkrechen-/Kommunikationssystemen zu finden sind.
  • Der hierin beschriebene Gegenstand veranschaulicht zuweilen verschiedene Komponenten, die in verschiedenen anderen Komponenten enthalten oder mit diesen verbunden sind. Es versteht sich, dass solche dargestellten Architekturen lediglich beispielhaft sind und dass tatsächlich viele andere Architekturen implementiert werden können, mit denen die gleiche Funktionalität erzielt wird. In einem konzeptionellen Sinne ist jede beliebige Anordnung von Komponenten zur Erzielung der gleichen Funktionalität effektiv so „verbunden“, dass die gewünschte Funktionalität erzielt wird. Daher können zwei beliebige Komponenten, die hierin kombiniert werden, um eine bestimmte Funktionalität zu erzielen, als so „einander zugeordnet“ angesehen werden, dass die gewünschte Funktionalität erzielt wird, unabhängig von Architekturen oder intermedialen Komponenten. Ebenso können zwei beliebige so miteinander verbundene Komponenten auch als „wirkungsmäßig miteinander verbunden“ oder „wirkungsmäßig miteinander gekoppelt“ betrachtet werden, um die gewünschte Funktionalität zu erzielen, und können auch zwei beliebige Komponenten, die so verbunden werden können, als „wirkungsmäßig miteinander koppelbar“ betrachtet werden, um die gewünschte Funktionalität zu erzielen. Zu konkreten Beispielen für wirkungsmäßig koppelbar gehören unter anderem physisch zusammenfügbare und/oder physisch interagierende Komponenten und/oder drahtlos interaktionsfähige und/oder drahtlos interagierende Komponenten und/oder logisch interagierende und/oder logisch interaktionsfähige Komponenten.
  • Es sind zwar bestimmte Aspekte des vorliegenden, hierin beschriebenen Gegenstands gezeigt und beschrieben worden, doch ist es für den Fachmann ersichtlich, dass auf der Grundlage der hierin enthaltenen Lehren Änderungen und Modifikationen vorgenommen werden können, ohne vom hierin beschriebenen Gegenstand und seinen umfassenderen Aspekten abzuweichen, und daher sollen die beigefügten Ansprüche in ihrem Umfang alle derartigen Änderungen und Modifikationen umfassen, die unter den wahren Gedanken und Umfang des hierin beschriebenen Gegenstands fallen. Darüber hinaus sollte es klar sein, dass die Erfindung durch die beigefügten Ansprüche definiert ist. Die Offenbarung ist zwar mit Bezug auf eine oder mehrere Ausführungen veranschaulicht und beschrieben worden, doch werden sich anderen Fachleuten beim Lesen und Verstehen der vorliegenden Beschreibung und der beigefügten Zeichnungen gleichwertige Abänderungen und Modifikationen erschließen. Zudem ist zwar ein bestimmtes Merkmal der Offenbarung möglicherweise mit Bezug auf nur eine von mehreren Ausführungen offenbart worden, dieses Merkmal kann jedoch mit einem oder mehreren anderen Merkmalen der anderen Ausführungen kombiniert werden, wie es möglicherweise für eine gegebene oder bestimmte Anwendung erwünscht und vorteilhaft ist.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 63/402000 [0001]
    • US 10198285 [0006, 0007, 0025, 0036]

Claims (13)

  1. System zur Erstellung und Freigabe virtueller Datenträgerabbilder an einen Host-Server und zur Übertragung von Host-Daten von einem Host-Server auf eine Benutzervorrichtung während einer KVM-Sitzung unter Verwendung eines HTML5-KVM/virtuellen Medien-Clients, der in einem Webbrowser der Benutzervorrichtung läuft, wobei der Webbrowser sowohl eine temporäre Sandbox als auch eine persistente Sandbox aufweist, mit: einer Benutzervorrichtung, auf der der Webbrowser läuft, einem HTML5-KVM/virtuellen Medien-Client, der in dem Webbrowser läuft, wobei das System so eingerichtet ist, dass es: ausgewählten Inhalt unter Verwendung eines ausgewählten Formats packt, um ein Datenträgerabbild des ausgewählten Inhalts in der persistenten Sandbox zu erstellen, den Host-Server benachrichtigt, dass ein virtuelles Datenträgerabbild verfügbar ist, und das virtuelle Datenträgerabbild in der persistenten Sandbox zur Verwendung an den Host-Server freigibt, auf eine Anforderung vom Host-Server von Daten, die einem Teil des virtuellen Datenträgerabbilds entsprechen, antwortet, den HTML5-KVM/virtuellen Medien-Client zur Durchführung einer Rückwärtsnachschlageoperation verwendet, um die Datenanforderung in wenigstens einen Teil wenigstens einer bestimmten Datei umzusetzen, aus der das virtuelle Datenträgerabbild besteht; den HTML5-KVM/virtuellen Medien-Client dazu verwendet, Bytes von Daten, die zumindest dem Teil der einen bestimmten Datei entsprechen, an den Host-Server zu senden, die vom HTML5-KVM/virtuellen Medien-Client empfangenen Bytes von Daten mit Host-Daten modifiziert, um modifizierte Bytes zu erzeugen, den HTML5-KVM/virtuellen Medien-Client dazu verwendet, Anweisungen an den Host-Server zu senden, den HTML5-KVM/virtuellen Medien-Client dazu verwendet, modifizierte Daten an den HTML5-KVM/virtuellen Medien-Client zu senden, die modifizierten Bytes in ein vorgeschriebenes Format packt, um gepackte Bytes zu erzeugen, ein Trennen des virtuellen Datenträgers einleitet, die gepackten Daten an die persistente Sandbox sendet, eine Client-Speichervorrichtung zum Empfangen der gepackten Daten auswählt und die gepackten Daten von der persistenten Sandbox an die Client-Speichervorrichtung sendet.
  2. System nach Anspruch 1, wobei die modifizierten Bytes wenigstens einen Teil einer Bilddatei umfassen.
  3. System nach Anspruch 1 oder 2, wobei die modifizierten Bytes Logdaten oder Datensätze enthalten, die von dem Host-Server erzeugt sind.
  4. System nach einem der vorhergehenden Ansprüche, wobei das vorgeschriebene Format ein FAT-Dateisystem ist, wobei das FAT-Dateisystem FAT32 ist.
  5. System nach einem der vorhergehenden Ansprüche, wobei die Client-Speichervorrichtung eine USB-Speichervorrichtung ist.
  6. System nach einem der vorhergehenden Ansprüche, wobei der Web-Browser einen CHROME™-Webbrowser umfasst.
  7. Verfahren zur Übertragung von Host-Daten von einem Host-Server auf eine Benutzervorrichtung während einer KVM-Sitzung unter Verwendung eines HTML5-KVM/virtuellen Medien-Clients, der in einem Webbrowser einer Benutzervorrichtung läuft, wobei der Webbrowser eine temporäre Sandbox und eine persistente Sandbox aufweist, wobei das Verfahren Folgendes umfasst: Modifizieren ursprünglicher Daten, die von dem HTML5-KVM/virtuellen Medien-Client empfangen werden, der in dem Webbrowser der Benutzervorrichtung läuft, in der der Webbrowser die temporäre Sandbox und die persistente Sandbox aufweist, mit Host-Daten zur Erzeugung modifizierter Bytes, wobei die modifizierten Bytes als Datenträgerabbild auf einem virtuellen Datenträger gespeichert werden; Verwenden des HTML5-KVM/virtuellen Medien-Clients zum Senden von Anweisungen an den Host-Server, wobei die Anweisungen das Senden der modifizierten Bytes an den HTML5-KVM/virtuellen Medien-Client enthalten; Packen der modifizierten Bytes in ein vorgeschriebenes Format, das gepackte Bytes erzeugt; Einleiten einer Trennung des virtuellen Datenträgers; Senden der gepackten Bytes an die persistente Sandbox; Auswählen einer Client-Speichervorrichtung zum Empfangen der gepackten Bytes; Senden der gepackten Bytes von der persistenten Sandbox an die Client-Speichervorrichtung.
  8. Verfahren zur Erstellung und Freigabe virtueller Datenträgerabbilder an einen Host-Server und zur Übertragung von Host-Daten von einem Host-Server auf eine Benutzervorrichtung während einer KVM-Sitzung unter Verwendung eines HTML5-KVM/virtuellen Medien-Clients, der in einem Webbrowser einer Benutzervorrichtung läuft, wobei der Webbrowser sowohl eine temporäre Sandbox als auch eine persistente Sandbox aufweist, wobei das Verfahren Folgendes umfasst: Senden einer Auswahl an den Host-Server von einer bestimmten virtuellen Medienvorrichtung, die auf den Host-Server abgebildet werden soll; Verwenden des HTML5-KVM/virtuellen Medien-Clients, der im Webbrowser der Benutzervorrichtung läuft, in der der Webbrowser die temporäre Sandbox und die persistente Sandbox aufweist, um ausgewählten Inhalt in ein ausgewähltes Format zu packen; Schreiben des ausgewählten Formats in die persistente Sandbox; Erstellen eines virtuellen Datenträgerabbilds des ausgewählten Inhalts in der persistenten Sandbox; Benachrichtigen des Host-Servers, dass das virtuelle Datenträgerabbild verfügbar ist; Freigeben des virtuellen Datenträgerabbilds in der persistenten Sandbox zur Verwendung an den Host-Server; Verwenden des Host-Servers zur Erlangung des virtuellen Datenträgerabbilds von der persistenten Sandbox; Verwenden des Host-Servers zum Senden einer Anforderung an den HTML5-KVM/virtuellen Medien-Client zum Abrufen eines Teils der Daten des virtuellen Datenträgerabbilds; Verwenden des HTML5-KVM/virtuellen Medien-Clients zur Umsetzung der Anforderung in wenigstens eine bestimmte Datei, aus der das virtuelle Datenträgerabbild besteht, und zum Senden von Bytes von Daten, die der wenigstens einen bestimmten Datei entsprechen, an den Host-Server; Verwenden des Host-Servers zum Empfangen der Bytes von Daten, die der wenigstens einen bestimmten Datei entsprechen; Modifizieren der von dem HTML5-KVM/virtuellen Medien-Client empfangenen Bytes von Daten mit Host-Daten zur Erzeugung modifizierter Bytes; Verwenden des HTML5-KVM/virtuellen Medien-Clients zum Senden von Anweisungen an den Host-Server, wobei die Anweisungen das Senden der modifizierten Bytes an den HTML5-KVM/virtuellen Medien-Client umfassen; Packen der modifizierten Bytes in ein vorgeschriebenes Format, das gepackte Bytes erzeugt; Einleiten einer Trennung des virtuellen Datenträgers; Senden der gepackten Bytes an die persistente Sandbox; Auswählen einer Client-Speichervorrichtung zum Empfangen der gepackten Bytes; und Senden der gepackten Bytes von der persistenten Sandbox an die Client-Speichervorrichtung.
  9. Verfahren nach Anspruch 7 oder 8, wobei die modifizierten Bytes wenigstens einen Teil einer Bilddatei umfassen.
  10. Verfahren nach einem der Ansprüche 7 bis 9, wobei die modifizierten Bytes Logdaten oder Datensätze enthalten, die von dem Host-Server erstellt werden.
  11. Verfahren nach einem der Ansprüche 7 bis 10, wobei das vorgeschriebene Format ein FAT-Dateisystem ist, wobei das FAT-Dateisystem FAT32 ist.
  12. Verfahren nach einem der Ansprüche 7 bis 11, wobei die Client-Speichervorrichtung eine USB-Speichervorrichtung ist.
  13. Verfahren nach einem der Ansprüche 7 bis 12, wobei der Web-Browser einen CHROME™-Webbrowser umfasst.
DE102023122788.2A 2022-08-29 2023-08-24 Zurückschreiben in ein in einem virtuellen medium abgebildetes bild in html5 Pending DE102023122788A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202263402000P 2022-08-29 2022-08-29
US63/402,000 2022-08-29
US18/234,095 US11979454B2 (en) 2022-08-29 2023-08-15 Writeback to a virtual media mapped image in HTML5
US18/234,095 2023-08-15

Publications (1)

Publication Number Publication Date
DE102023122788A1 true DE102023122788A1 (de) 2024-02-29

Family

ID=88189841

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023122788.2A Pending DE102023122788A1 (de) 2022-08-29 2023-08-24 Zurückschreiben in ein in einem virtuellen medium abgebildetes bild in html5

Country Status (3)

Country Link
US (1) US11979454B2 (de)
DE (1) DE102023122788A1 (de)
GB (1) GB2623625A (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10198285B2 (en) 2012-10-04 2019-02-05 Vertiv It Systems, Inc. System and method for creating virtual disk images for use with remote computer

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8380630B2 (en) * 2000-07-06 2013-02-19 David Paul Felsher Information record infrastructure, system and method
US9818136B1 (en) * 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7783686B2 (en) 2006-06-16 2010-08-24 Microsoft Corporation Application program interface to manage media files
KR101178752B1 (ko) 2008-02-26 2012-09-10 브이엠웨어, 인코포레이티드 서버-기반 데스크탑 가상 머신 아키텍처의 클라이언트 머신들로의 확장
US8005991B2 (en) 2008-08-15 2011-08-23 Dell Products, Lp Virtual machine image management system and methods thereof
US8819674B2 (en) 2008-08-21 2014-08-26 Wmware, Inc. Access to data for virtual devices
US8490088B2 (en) * 2010-09-10 2013-07-16 International Business Machines Corporation On demand virtual machine image streaming
US8706947B1 (en) 2010-09-30 2014-04-22 Amazon Technologies, Inc. Virtual machine memory page sharing system
JP5976840B2 (ja) 2011-12-29 2016-08-24 ヴイエムウェア インコーポレイテッドVMware,Inc. デスクトップイメージのnウェイ同期化
US20140075281A1 (en) * 2012-09-13 2014-03-13 David Rubin Systems and methods for annotating digital documents
CN105051714B (zh) 2013-03-15 2018-01-05 安迈科技股份有限公司 基于网络的虚拟媒体重定向的系统和方法
EP2972933B1 (de) 2013-03-15 2018-07-04 American Megatrends, Inc. System und verfahren zur umleitung webbasierter virtueller medien
US9594583B2 (en) 2013-11-12 2017-03-14 Red Hat, Inc. Lightweight snapshots for virtual disks
US9778844B2 (en) 2014-05-14 2017-10-03 American Megatrends, Inc. Installation of operating system on host computer using virtual storage of BMC
US10178170B2 (en) 2015-09-14 2019-01-08 Dell Products, L.P. Browser-based virtual media administration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10198285B2 (en) 2012-10-04 2019-02-05 Vertiv It Systems, Inc. System and method for creating virtual disk images for use with remote computer

Also Published As

Publication number Publication date
GB2623625A (en) 2024-04-24
US11979454B2 (en) 2024-05-07
US20240073275A1 (en) 2024-02-29
GB202312578D0 (en) 2023-10-04

Similar Documents

Publication Publication Date Title
DE102008015662B4 (de) Beseitigung von Daten
DE60316776T2 (de) Auf netzwerkdatenspeicherung bezogene operationen
DE60130633T2 (de) Gesicherte Internet-Zwischenablage
DE10112941B4 (de) System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien
DE69920713T2 (de) Datei-system bild-übertragung
DE202012013432U1 (de) Speichern von Daten auf Speicherknoten
DE202009019149U1 (de) Asynchron verteilte Speicherbereinigung für replizierte Speichercluster
DE202012013445U1 (de) System, um Offline Zugriff in einem gehosteten Dokument-Service zur Verfügung zu stellen
DE60313468T2 (de) Speicherdienste und -systeme
DE112017000190T5 (de) Durchgehende Verschlüsselung und Backup in Datenschutzumgebungen
DE10393771T5 (de) Schnelle Datensicherungsspeicherung und schnelle Datenwiederherstellung (FBSRD)
DE202012013479U1 (de) System zur Synchronisierung von Aktionen im Hintergrund einer Anwendung
DE69733305T2 (de) System/Verfahren zur wirkungsvollen Übermittlung von Datenströmen in einem Multimediasystem
DE102019111068A1 (de) Datenspeichersystem mit LUN-Archivierung in die Cloud unter Verwendung einer Volume-to-Object(Volumen-zu-Objekt)-Umsetzung
DE112012002241T5 (de) Migration eines transparenten Dateisystems zu einem neuen physischen Speicherort
DE112009004772T5 (de) System für eine steuerung der version von virtuellen platten
DE112015000343T5 (de) Erstellen einer Wiederherstellungskopie von einer Quelldaten-Kopie in einem Repository, das Quelldaten an verschiedenen Zeitpunkten aufweist
DE112017005588T5 (de) Speichern und abrufen von eingeschränkten datensätzen in und aus einem cloud-netzwerk mit nichteingeschränkten datensätzen
DE112012003695T5 (de) Aufrechterhalten mehrerer Zielkopien
DE112018000227B4 (de) Verfahren zum teilweisen Aktualisieren von Dateninhalten in einem verteilten Speichernetzwerk
DE102012201154A1 (de) Transaktionsspeicher
DE112010004194T5 (de) Erleichterung der Datenverdichtung während des Kopierens
DE102021125630A1 (de) Datensynchronisation in einem datenanalysesystem
DE112019005311T5 (de) Serverlose lösung zur optimierung von objektversionierung
DE102023122788A1 (de) Zurückschreiben in ein in einem virtuellen medium abgebildetes bild in html5

Legal Events

Date Code Title Description
R012 Request for examination validly filed