-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Die vorliegende Anmeldung beansprucht Priorität in Bezug auf die US-Gebrauchspatentanmeldung mit der Seriennr. 15/283.346 mit dem Titel „TECHNOLOGIEN ZUM ABLADEN VON EINGABEBERECHNUNG ÜBER EINE DRAHTLOSE VERBINDUNG“, welche am 01. Oktober 2016 eingereicht wurde, und welche Priorität unter 35 U.S.C. § 119(e) in Bezug auf die vorläufige
US-Patentanmeldung mit der Seriennr. 62/335.410 mit dem Titel „TECHNOLOGIEN ZUM ABLADEN VON EINGABEBERECHNUNG ÜBER EINE DRAHTLOSE VERBINDUNG“ beansprucht, welche am 12. Mai 2016 eingereicht wurde.
-
HINTERGRUND
-
Traditionell ist die Wiedergabe von digitalem Inhalt (z. B. Filme, Musik, Bilder, Spiele usw.) auf die Rechenvorrichtung (z. B. Desktop-Computer, Smartphone, Tablet, Wearable, Gamingsystem, Fernsehen usw.), auf welcher der digitale Inhalt gespeichert wurde, beschränkt worden. Mit dem Aufkommen von Cloud-Computing-bezogenen Technologien und gesteigerten Fähigkeiten von Rechenvorrichtungen haben jedoch Dienste wie zum Beispiel das Streamen, Casten und Spiegeln von digitalem Inhalt das Erzeugen, Teilen und Konsumieren von digitalem Inhalt beschleunigt, da Verbrauchervorrichtungen, die in der Lage sind, mit solchem Inhalt zu interagieren, allgegenwärtig geworden sind.
-
Um solche großen Mengen an Datenübertragung in der On-Demand-Landschaft zu bewältigen, sind verschiedene Komprimierungstechnologien implementiert worden, um das Streamen von digitalem Inhalt in Echtzeit mit verringerter Latenz zu unterstützen. Solche Komprimierungstechnologien (z. B. Codecs und Container) beinhalten Moving Picture Experts Group-Standards (z. B. MPEG-2, MPEG-4, H.264 usw.) und MPEG Transport Stream (MPEG-TS). Ferner sind verschiedene Netzwerksteuerungsprotokolle, wie zum Beispiel das Echtzeit-Streaming-Protokoll (Real Time Streaming Protocol, RTSP), entwickelt worden, um Mediensitzungen zwischen Endpunkt-Rechenvorrichtungen einzurichten und zu steuern. Letztlich sind verschiedene Transportprotokolle (z. B. Echtzeittransportprotokoll (RTP, realtime transport protocol)), die von den Endpunkt-Rechenvorrichtungen verwendet werden können, zum Bereitstellen von Ende-zu-Ende-Netzwerktransportfunktionen, die zur Übertragung des digitalen Inhalts in Echtzeit geeignet sind, eingerichtet worden.
-
Figurenliste
-
Die hierin beschriebenen Konzepte sind beispielhaft und nicht einschränkend in den beigefügten Figuren veranschaulicht. Aus Gründen der Einfachheit und Klarheit der Darstellung sind Elemente, die in den Figuren veranschaulicht werden, nicht notwendigerweise maßstabsgetreu gezeichnet. Wo angemessen, sind Bezugszeichen unter den Figuren wiederholt worden, um entsprechende oder analoge Elemente anzugeben.
- 1 ist ein vereinfachtes Blockdiagramm von mindestens einer Ausführungsform eines Systems zum Abladen von Eingabeberechnung über eine drahtlose Verbindung;
- 2 ist ein vereinfachtes Blockdiagramm von mindestens einer Ausführungsform einer Umgebung der Quellenrechenvorrichtung des Systems von 1;
- 3 ist ein vereinfachtes Blockdiagramm von mindestens einer Ausführungsform einer Umgebung der Zielrechenvorrichtung des Systems von 1;
- 4 ist ein vereinfachtes Blockdiagramm einer anderen Ausführungsform der Umgebung der Quellenrechenvorrichtung von 2;
- 5 ist ein vereinfachtes Blockdiagramm einer anderen Ausführungsform der Umgebung der Zielrechenvorrichtung von 3;
- 6 ist ein vereinfachtes Kommunikationsflussdiagramm von mindestens einer Ausführungsform zum Durchführen eines Eingabeberechnungsabladefähigkeitsaustauschs zwischen der Quellenrechenvorrichtung von 2 und 4 und der Zielrechenvorrichtung von 3 und 5;
- 7 ist ein vereinfachtes Flussdiagramm von mindestens einer Ausführungsform zum Abladen von Eingabeberechnung, das von der Quellenrechenvorrichtung von 2 und 4 ausgeführt werden kann; und
- 8 ist ein vereinfachtes Flussdiagramm von mindestens einer Ausführungsform zum Abladen von Eingabeberechnung, das von der Zielrechenvorrichtung von 3 und 5 ausgeführt werden kann.
-
AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNGEN
-
Wenngleich die Konzepte der vorliegenden Offenbarung verschiedenen Modifikationen und alternativen Formen unterliegen können, sind spezifische Ausführungsformen davon beispielhaft in den Zeichnungen gezeigt worden und werden hierin ausführlich beschrieben werden. Es versteht sich jedoch, dass nicht beabsichtigt wird, die Konzepte der vorliegenden Offenbarung auf die besonderen offenbarten Formen zu beschränken; es besteht vielmehr im Gegenteil die Absicht, alle Modifikationen, Äquivalente und Alternativen, die konsistent zur vorliegenden Offenbarung und den angehängten Ansprüchen sind, abzudecken.
-
Bezugnahmen in der Beschreibung auf „eine Ausführungsform“, „Ausführungsform“, „eine veranschaulichende Ausführungsform“ usw. geben an, dass die beschriebene Ausführungsform ein besonderes Merkmal, eine besondere Struktur oder eine besondere Eigenschaft aufweisen kann, dass aber nicht jede Ausführungsform notwendigerweise diese besondere Eigenschaft, Struktur oder dieses besondere Merkmal aufweist oder nicht. Ferner beziehen sich solche Ausdrücke nicht notwendigerweise auf dieselbe Ausführungsform. Wenn ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Charakteristikum in Verbindung mit einer Ausführungsform beschrieben wird, wird außerdem angenommen, dass es im Kenntnisbereich eines Fachmannes liegt, auf ein derartiges Merkmal, eine derartige Struktur oder ein derartiges Charakteristikum in Verbindung mit anderen Ausführungsformen einzuwirken, ob es nun explizit beschrieben wurde oder nicht. Zusätzlich versteht es sich, dass Einträge in einer Liste der Form „mindestens eines von A, B und C“ Folgendes bedeuten können: (A); (B); (C); (A und B); (A und C); (B und C); oder (A, B und C). Gleichermaßen können Einträge in einer Liste der Form „mindestens eines von A, B oder C“ Folgendes bedeuten: (A); (B); (C); (A und B); (A und C); (B und C); oder (A, B und C).
-
Die offenbarten Ausführungsformen können in einigen Fällen in Hardware, Firmware, Software oder einer beliebigen Kombination davon implementiert sein. Die offenbarten Ausführungsformen können ebenfalls als Anweisungen implementiert sein, die von einem oder mehreren vergänglichen oder nichtvergänglichen maschinenlesbaren (z. B. computerlesbaren) Speichermedien getragen oder in diesen gespeichert werden, die von einem oder mehreren Prozessoren ausgelesen und ausgeführt werden können. Ein maschinenlesbares Speichermedium kann als eine beliebige Speichervorrichtung, ein Speichermechanismus oder eine andere physische Struktur zum Speichern oder Übertragen von Informationen in einer von einer Maschine lesbaren Form (z. B. einem flüchtigen oder nichtflüchtigen Speicher, einer Medien-Disc oder einer anderen Medienvorrichtung) realisiert sein.
-
In den Zeichnungen können einige strukturelle Elemente oder Verfahrenselemente in spezifischen Anordnungen und/oder Ordnungen gezeigt sein. Es versteht sich jedoch, dass solche spezifischen Anordnungen und/oder Ordnungen möglicherweise nicht erforderlich sind. Vielmehr können, in einigen Ausführungsformen, derartige Merkmale in einer anderen Weise und/oder in einer anderen Reihenfolge angeordnet als in den veranschaulichenden Figuren gezeigt. Zusätzlich soll die Einschließung eines strukturellen oder methodischen Merkmals in einer bestimmten Figur nicht bedeuten, dass ein derartiges Merkmal in allen Ausführungsformen erforderlich ist, und kann, in einigen Ausführungsformen, nicht eingeschlossen oder mit anderen Merkmalen kombiniert sein.
-
Unter Bezugnahme nunmehr auf 1 beinhaltet in einer veranschaulichenden Ausführungsform ein System 100 zum Übertragen (z. B. Streamen, Spiegeln, Casten usw.) von digitalem Inhalt (z. B. Videoinhalt, Audioinhalt, Streamingtextinhalt usw.) eine Quellenrechenvorrichtung 102, die kommunikativ mit einer Zielrechenvorrichtung 106 über einen drahtlosen Kommunikationskanal 104 gekoppelt ist. Im Gebrauch überträgt die Quellenrechenvorrichtung 102 den digitalen Inhalt, der gegenwärtig auf der Quellenrechenvorrichtung 102 angezeigt oder ansonsten gegenwärtig von dieser verarbeitet wird, zu der Zielrechenvorrichtung 106 über den drahtlosen Kommunikationskanal 104. Zum Beispiel kann die Quellenrechenvorrichtung 102 Bilder einer Ausgabe aufnehmen, die gegenwärtig auf dem Bildschirm der Quellenrechenvorrichtung gerendert wird (d. h., eine Bildschirmaufnahme).
-
Wie ausführlicher beschrieben werden wird, kann während der Ausgabe (d. h. Anzeige) durch die Zielrechenvorrichtung 106 von digitalem Inhalt, der von der Quellenrechenvorrichtung 102 erhalten wird, ein Benutzer der Zielrechenvorrichtung 106 eine Eingabe der Zielrechenvorrichtung 106 (z. B. über eine Eingabevorrichtung) bereitstellen, um eine Aktion bei einer Anwendung (z. B. Schreib-/Zeichnungsanwendung) auszulösen, die gegenwärtig auf der Quellenrechenvorrichtung 102 ausgeführt wird, welche zu der Zielrechenvorrichtung 106 überträgt. Während dem Betrachten des digitalen Inhalts kann der Benutzer eine Eingabe (z. B. über direktes Berühren oder Verwenden eines Stylus auf einem berührungsempfindlichen Bildschirm, Drücken einer Taste auf einer Tastatur, Bewegen eines steuerbaren Elements einer Maus, Sprechen eines hörbaren Sprachbefehls, der von einem Mikrofon aufgenommen wird, usw.) der Zielrechenvorrichtung 106 bereitstellen, bei welcher ein Ergebnis der Eingabe erwartet wird.
-
Zum Beispiel kann das erwartete Ergebnis sein, ein oder mehrere Objekte (z. B. Text, Formen, Linien, Grafiken usw.) auf dem Display der Zielrechenvorrichtung 106 auf Grundlage der detektierten lokalen Eingabe zu rendern. In einem veranschaulichenden Beispiel kann der Benutzer ein Objekt auf ein Display (z. B. ein berührungsempfindlicher Bildschirm) der Zielrechenvorrichtung 106 ziehen oder ansonsten in dieses einfügen, während die Zielrechenvorrichtung 106 den digitalen Inhalt anzeigt, der von der Quellenrechenvorrichtung 102 mit der Erwartung, dass die Zielrechenvorrichtung 106 das Objekt anzeigen wird, erhalten wird. In einem anderen veranschaulichenden Beispiel kann der Benutzer eine Einstellung einer Anwendung, die gegenwärtig auf der Quellenrechenvorrichtung 102 ausgeführt wird, die auf dem Display der Zielrechenvorrichtung 106 betrachtet werden kann, ändern. Unter solchen Bedingungen ist die Zielrechenvorrichtung 106 ausgelegt, um vorübergehend die detektierte lokale Eingabe unter Verwendung von einem oder mehreren Objekten zu rendern, um dem Benutzer zu ermöglichen, die Einstellung(en) zu betrachten/ändern und ein oder mehrere Merkmale der detektierten Eingabe zu der Quellenrechenvorrichtung 102 zu übertragen. Die Eingabemerkmale können beliebige Daten, die von der Quellenrechenvorrichtung 102 verwendet werden können, um einen Ort der Eingabe in Bezug auf den Ort des angezeigten Bilds auf der Zielrechenvorrichtung 106 zu kennzeichnen, sowie beliebige Daten, die verwendet werden können, um die gewünschte Ausgabe an dem entsprechenden Ort zu rendern, beinhalten. Solche Eingabemerkmale können Koordinaten (z. B. Bildschirm-/Display-Koordinaten, Ausgabeinhaltskoordinaten, Eingabegrenzkoordinaten usw.), eine Eingabeart (z. B. Text, eine Form, eine Grafik usw.), Schrift-/Linienmerkmale (z. B. Arten, Stile, Größen, Farben, Gewichte usw.) usw. beinhalten.
-
Die Quellenrechenvorrichtung 102 ist ausgelegt, um die erhaltenen Eingabemerkmale zu kennzeichnen und die Eingaben auf dem Display der Quellenrechenvorrichtung 102 zu rendern. Die Quellenrechenvorrichtung 102 ist ferner ausgelegt, um den aktualisierten digitalen Inhalt zu übertragen. Die Quellenrechenvorrichtung 102 kann zusätzlich ausgelegt sein, um eine Angabe der Zielrechenvorrichtung 106 bereitzustellen, die angibt, dass der digitale Inhalt aktualisiert worden ist, um die Eingabe aufzunehmen. Dementsprechend kann nach dem Erhalt des aktualisierten digitalen Inhalts oder der Angabe die Zielrechenvorrichtung 106 das Rendern der temporären Überlagerung unterbrechen und den aktualisierten digitalen Inhalt ausgeben, der von der Quellenrechenvorrichtung 102 erhalten wird. Mit anderen Worten kann die Zielrechenvorrichtung 106 gerade den erhaltenen digitalen Inhalt anzeigen, der aktualisiert worden ist, um die Eingabe, die zuvor von der Zielrechenvorrichtung 106 übertragen worden ist, aufzunehmen.
-
Es versteht sich, dass das Übertragen von digitalem Inhalt, das hierin diskutiert wird, bei verschiedenen Arten von Übertragung, die das Streamen von digitalem Inhalt, das Spiegeln von digitalem Inhalt und das Casten von digitalem Inhalt beinhalten, ohne jedoch darauf beschränkt zu sein, angewendet werden kann. Von daher versteht sich, dass, wenngleich der Begriff „Stream“ oder „Streamen“ manchmal verwendet werden kann, um eine bestimmte Art von Übertragung zu beschreiben, die entsprechende Übertragung durch Spiegeln, Casten oder eine anderweitige Übertragung unter Verwendung einer anderen Übertragungsmodalität ausgeführt werden kann. Bei typischen Streaming-Übertragungen wird der digitale Inhalt progressiv übertragen. Zum Beispiel kann eine Client-Vorrichtung (z. B. die Zielrechenvorrichtung 106) anstatt des Herunterladens oder Abrufens des gesamten digitalen Inhalts aktiv einen Teil des digitalen Inhalts wiedergeben, während andere Teile des digitalen Inhalts heruntergeladen oder abgerufen werden. Bei typischen Spiegelungsübertragungen teilt eine Quellenvorrichtung ihren Bildschirm (oder Inhalt, der auf ihrem Bildschirm angezeigt werden würde) mit einer Zielvorrichtung. Die Übertragung von digitalem Inhalt während einer Spiegelungssitzung kann eine progressive Übertragung oder nicht-progressive Datenübertragung (z. B. kann der digitale Inhalt vollständig heruntergeladen werden) verwenden. Bei typischen Casting-Übertragungen teilt eine Quellenvorrichtung Inhalt mit einer Zielvorrichtung. Die Übertragung von digitalem Inhalt während einer Casting-Sitzung kann eine progressive Übertragung oder nicht-progressive Datenübertragung verwenden. Zusätzlich kann bei einigen Implementierungen die Quellenvorrichtung eine Verknüpfung oder einen anderen Ortsindikator zu digitalem Inhalt übertragen, die darauffolgend von der Zielvorrichtung von einer anderen Quelle als der Quellenvorrichtung abgerufen werden. (z. B. kann der digitale Inhalt vollständig heruntergeladen werden).
-
Es versteht sich ferner, dass, wenngleich der Kontext der vorliegenden Offenbarung nachstehend als Erhalten einer Eingabe von einem Benutzer (z. B. durch direktes Berühren oder Verwenden eines Stylus auf einem berührungsempfindlichen Bildschirm, Drücken einer Taste auf einer Tastatur, Detektieren der Bewegung eines Elements einer Maus, Erhalten eines hörbaren Sprachbefehls durch ein Mikrofon usw.) in ein Display der Zielrechenvorrichtung 106 beschrieben ist, diese hierin beschriebene Funktionalität für andere Formen von detektierter Eingabe verwendet werden kann, die in der Lage sind, wie hierin beschrieben gekennzeichnet und gerendert zu werden.
-
Die Quellenrechenvorrichtung 102 kann als eine beliebige Art von Rechenvorrichtung realisiert sein, die in der Lage ist, die hierin beschriebenen Funktionen durchzuführen, wie zum Beispiel, ohne Beschränkung, eine tragbare Rechenvorrichtung (z. B. Smartphone, Tablet, Laptop, Notebook, Wearable usw.), die mobile Hardware (z. B. Prozessor, Speicher, Speicherung, drahtlose Kommunikationsschaltungsanordnung usw.) und Software (z. B. ein Betriebssystem) beinhaltet, um eine mobile Architektur und Portabilität zu unterstützen, ein Computer, ein Server (z. B. eigenständiger Server, Rack-mounted-Server, Bladeserver usw.), ein Netzwerkgerät (z. B. physisch oder virtuell), ein Webgerät, ein verteiltes Rechensystem, ein prozessorbasiertes System, ein Mehrprozessorsystem, eine Set-Top-Box und/oder irgendeine andere Rechen-/Kommunikationsvorrichtung, die in der Lage ist, die hierin beschriebenen Funktionen durchzuführen.
-
Die veranschaulichende Quellenrechenvorrichtung 102 beinhaltet einen Prozessor (d. h., eine CPU) 110, ein Eingabe-/Ausgabe- (E/A) -Subsystem 112, einen Speicher 114, eine Grafikverarbeitungseinheit (Graphics Processing Unit, GPU) 116, eine Datenspeichervorrichtung 118 und eine Kommunikationsschaltungsanordnung 120 sowie in einigen Ausführungsformen eine oder mehrere Peripherievorrichtungen 124. Natürlich kann die Quellenrechenvorrichtung 102 andere oder zusätzliche Komponenten in anderen Ausführungsformen beinhalten, wie zum Beispiel die allgemein in einer Rechenvorrichtung vorzufindenden. Zusätzlich können in einigen Ausführungsformen eine oder mehrere der veranschaulichenden Komponenten in einer anderen Komponente aufgenommen sein oder ansonsten einen Teil von dieser bilden. Zum Beispiel können in einigen Ausführungsformen der Speicher 114 oder Teile davon in dem Prozessor 110 aufgenommen sein. Ferner können in einigen Ausführungsformen eine oder mehrere der veranschaulichenden Komponenten bei der Quellenrechenvorrichtung 102 weggelassen sein.
-
Der Prozessor 110 kann als eine beliebige Art von Prozessor realisiert sein, der in der Lage ist, die hierin beschriebenen Funktionen durchzuführen. Dementsprechend kann der Prozessor 110 als (ein) Ein- oder Mehrkernprozessor(en), digitaler Signalprozessor, Mikrocontroller oder sonstiger Prozessor oder Verarbeitungs-/Steuerungsschaltung realisiert sein. Der Speicher 114 kann als eine beliebige Art von flüchtigem oder nichtflüchtigem Speicher oder Datenspeicherung realisiert sein, die in der Lage sind, die hierin beschriebenen Funktionen durchzuführen. Im Betrieb kann der Speicher 114 verschiedene Daten und Software speichern, die während dem Betrieb der Quellenrechenvorrichtung 102 verwendet werden, wie zum Beispiel Betriebssysteme, Anwendungen, Programme, Bibliotheken und Treiber.
-
Der Speicher 114 ist kommunikativ mit dem Prozessor 110 über das E/A-Subsystem 112 gekoppelt, welches als Schaltungsanordnung und/oder Komponenten zum Ermöglichen von Eingabe-/Ausgabevorgängen mit dem Prozessor 110, dem Speicher 114 und der GPU 116 sowie anderen Komponenten der Quellenrechenvorrichtung 102 realisiert sein kann. Zum Beispiel kann das E/A-Subsystem 112 als Speicher-Controller-Hubs, Eingabe-/Ausgabe-Steuerungs-Hubs, Firmwarevorrichtungen, Kommunikationsverbindungen (d. h., Punkt-zu-Punkt-Verbindungen, Bus-Verbindungen, Drähte, Kabel, Lichtleiter, Leiterplattenbahnen usw.) und/oder andere Komponenten und Subsysteme zum Ermöglichen von Eingabe-/Ausgabevorgängen realisiert sein oder diese ansonsten beinhalten. In einigen Ausführungsformen kann das E/A-Subsystem 112 einen Teil eines Systems auf einem Chip (System-on-a-chip, SoC) bilden und zusammen mit dem Prozessor 110, dem Speicher 114 und anderen Komponenten der Quellenrechenvorrichtung 102 in einem einzigen integrierten Schaltungschip aufgenommen sein.
-
Die GPU 116 kann als Schaltungsanordnung und/oder Komponenten zum Bearbeiten von spezifischen Arten von Aufgaben, die der GPU 116 zugewiesen sind, wie zum Beispiel Bildrendern, realisiert sein. Dazu kann die GPU 116 eine Anordnung von Prozessorkernen oder parallelen Prozessoren (nicht gezeigt) beinhalten, welche jeweils eine Anzahl an parallelen und zusammenwirkenden Threads ausführen können. In einigen Ausführungsformen können die Prozessorkerne der GPU 116 ausgelegt sein, um einzeln 3D-Renderaufgaben, Blitter (z. B. 2D-Grafik) und/oder Videocodierungs-/decodierungsaufgaben durch Bereitstellen einer elektronischen Schaltung, die schnell mathematische Operationen unter Verwendung von umfassendem Parallelismus und mehreren zusammenwirkenden Threads durchführen können. Es versteht sich, dass in einigen Ausführungsformen die GPU 116 direkten Zugriff auf den Speicher 114 haben kann, wodurch eine Speicherdirektzugriffs-(Direct Memory Access, DMA) -funktionalität in solchen Ausführungsformen ermöglicht wird.
-
Die Datenspeichervorrichtung 118 kann als eine beliebige Art von Vorrichtung oder Vorrichtungen realisiert sein, die zu Kurz- oder Langzeitspeicherung von Daten ausgelegt sind, wie zum Beispiel Speichervorrichtungen und -schaltungen, Speicherkarten, Festplatten, Solid-State-Laufwerke oder andere Datenspeichervorrichtungen. Es versteht sich, dass die Datenspeichervorrichtung 118 und/oder der Speicher 114 (z. B. die computerlesbaren Speichermedien) verschiedene Daten wie hierin beschrieben speichern können, einschließlich Betriebssysteme, Anwendungen, Programme, Bibliotheken, Treiber, Befehle usw., die in der Lage sind, von einem Prozessor (z. B. dem Prozessor 110) der Quellenrechenvorrichtung 102 ausgeführt zu werden.
-
Die Kommunikationsschaltungsanordnung 120 kann als eine beliebige Kommunikationsschaltungsanordnung, Vorrichtung oder Sammlung davon realisiert sein, die in der Lage ist, Kommunikationen zwischen der Quellenrechenvorrichtung 102 und anderen Rechenvorrichtungen (z. B. der Zielrechenvorrichtung 106 und/oder anderen Rechenvorrichtungen, die kommunikativ mit der Quellenrechenvorrichtung 102 gekoppelt sind) über einen drahtgebundenen oder drahtlosen Kommunikationskanal (z. B. den drahtlosen Kommunikationskanal 104) zu ermöglichen. Die Kommunikationsschaltungsanordnung 120 kann ausgelegt sein, um eine beliebige oder mehrere drahtgebundene oder drahtlose Kommunikationstechnologien und zugehörige Protokolle (z. B. Ethernet, Wi-Fi®, Wi-Fi Direct®, Bluetooth®, Bluetooth® Low Energy (BLE), Near-Field Communication (NFC), Worldwide Interoperability for Microwave Access (WiMAX) usw.) und/oder zertifizierte Technologien (z. B. Digital Living Network Alliance (DLNA), Miracast™ usw.) zum Beeinflussen solch einer Kommunikation zu verwenden. Die Kommunikationsschaltungsanordnung 120 kann zusätzlich ausgelegt sein, um eine oder mehrere drahtlose und/oder drahtgebundene Kommunikationstechnologien und zugehörige Protokolle zum Bewirken einer Kommunikation mit anderen Rechenvorrichtungen, wie zum Beispiel über ein Netzwerk, zu verwenden.
-
Die veranschaulichende Kommunikationsschaltungsanordnung 120 schließt eine Netzwerkschnittstellensteuerung (Network Interface Controller, NIC) 122 ein. Die NIC 122 kann als eine oder mehrere Erweiterungskarten, Tochterkarten, Netzwerkschnittstellenkarten, Controller-Chips, Chipsätze oder andere Vorrichtungen, die von der Quellenrechenvorrichtung 102 verwendet werden können, realisiert sein. In einigen Ausführungsformen kann zum Beispiel die NIC 122 in dem Prozessor 110 integriert sein, als eine Erweiterungskarte realisiert sein, die mit dem E/A-Subsystem 112 über einen Erweiterungsbus (z. B. PCI Express) gekoppelt ist, als ein Teil eines SoC enthalten sein, das einen oder mehrere Prozessoren beinhaltet, oder in einer Multichip-Packung enthalten sein, die auch einen oder mehrere Prozessoren enthält.
-
Die Peripherievorrichtungen 124 können eine beliebige Anzahl an E/A-Vorrichtungen, Schnittstellenvorrichtungen und/oder anderen Peripherievorrichtungen beinhalten. Zum Beispiel können in einigen Ausführungsformen die Peripherievorrichtungen 124 ein Display, einen berührungsempfindlichen Bildschirm, eine Grafikschaltungsanordnung, eine Tastatur, eine Maus, ein Mikrofon, einen Lautsprecher und/oder sonstige Eingabe-/Ausgabevorrichtungen, Schnittstellenvorrichtungen und/oder Peripherievorrichtungen beinhalten. Die bestimmten Vorrichtungen, die in den Peripherievorrichtungen 124 enthalten sind, können zum Beispiel von der Art und/oder der beabsichtigten Verwendung der Quellenrechenvorrichtung 102 abhängen. Die Peripherievorrichtungen 124 können zusätzlich oder alternativ einen oder mehrere Anschlüsse, wie zum Beispiel einen universellen seriellen Bus- (Universal Serial Bus, USB) -Anschluss, einen hochauflösenden Multimediaschnittstellen- (High-Definition Multimedia Interface, HDMI) -Anschluss usw. zum Verbinden von externen Peripherievorrichtungen mit der Quellenrechenvorrichtung 102 beinhalten.
-
In der veranschaulichenden Ausführungsform ist der drahtlose Kommunikationskanal 104 als eine direkte Kommunikationsleitung (d. h., kein drahtloser Zugangspunkt) zwischen der Quellenrechenvorrichtung 102 und der Zielrechenvorrichtung 106 realisiert. Zum Beispiel kann der drahtlose Kommunikationskanal 104 über eine Ad-hoc-Punkt-zu-Punkt-Verbindung, wie zum Beispiel Wi-Fi Direct®, Intel® Wireless Display (WiDi), Bluetooth® usw., unter Verwendung eines drahtlosen Anzeigestandards (z. B. AirPlay®, Miracast™, DLNA usw.) eingerichtet werden. Alternativ kann in einigen Ausführungsformen der drahtlose Kommunikationskanal 104 als eine beliebige Art von drahtlosem Kommunikationsnetzwerk einschließlich eines drahtlosen lokalen Netzwerks (Wireless Local Area Network, WLAN), eines drahtlosen Personennetzwerks (Wireless Personal Area Network, WPAN), eines zellulären Netzwerks (z. B. globales System für mobile Kommunikationen (Global System for Mobile Communications, GSM), Langzeitentwicklung (Long-Term Evolution, LTE) usw.) oder einer beliebigen Kombination davon eingerichtet sein. Es versteht sich, dass in solchen Ausführungsformen der drahtlose Kommunikationskanal 104 als ein zentralisiertes Netzwerk dienen kann und in einigen Ausführungsformen kommunikativ mit einem anderen Netzwerk (z. B. dem Internet) gekoppelt sein kann. Dementsprechend kann in solchen Ausführungsformen der drahtlose Kommunikationskanal 104 eine Vielzahl von virtuellen und/oder physischen Netzwerkvorrichtungen (nicht gezeigt), wie zum Beispiel Router, Schalter, Netzwerk-Hubs, Server, Speichervorrichtungen, Rechenvorrichtungen usw. wie benötigt zum Ermöglichen der Übertragung von Daten zwischen der Quellenrechenvorrichtung 102 und der Zielrechenvorrichtung 106 beinhalten.
-
Die Zielrechenvorrichtung 106 kann als eine beliebige Art von Rechen- oder Rechenvorrichtung realisiert sein, die in der Lage ist, die hierin beschriebenen Funktionen durchzuführen, einschließlich eines Computers, einer tragbaren Rechenvorrichtung (z. B. ein Smartphone, Tablet, Laptop, Notebook, Wearable usw.), eines „intelligenten“ Fernsehers, eines Cast-Hubs, eines Cast-Dongles, eines prozessorbasierten Systems und/oder eines Mehrprozessorsystems. Ähnlich wie die veranschaulichende Quellenrechenvorrichtung 102 beinhaltet die Zielrechenvorrichtung 106 einen Prozessor 130, ein E/A-Subsystem 132, einen Speicher 134, eine GPU 136, eine Datenspeichervorrichtung 138, eine Kommunikationsschaltungsanordnung 140, die eine NIC 142 beinhaltet, und eine oder mehrere Peripherievorrichtungen 144. Von daher werden weitere Beschreibungen von ähnlichen Komponenten nicht hierin wiederholt mit dem Wissen, dass die Beschreibung der entsprechenden Komponenten, die zuvor bezüglich der Quellenrechenvorrichtung 102 bereitgestellt wurde, gleichermaßen für die entsprechenden Komponenten der Zielrechenvorrichtung 106 gilt.
-
Unter Bezugnahme nunmehr auf 2 richtet in einer veranschaulichenden Ausführungsform die Quellenrechenvorrichtung 102 eine Umgebung 200 während dem Betrieb ein. Die veranschaulichende Umgebung 200 beinhaltet einen Kommunikationsmanager 210, einen Fähigkeitsaustauschverhandler 220 und einen Digitalinhaltseinstellmanager 230. Die verschiedenen Komponenten der Umgebung 200 können als Hardware, Software, Firmware oder als eine Kombination davon realisiert sein. Zusätzlich können in manchen Ausführungsformen eine oder mehrere der veranschaulichenden Komponenten einen Teil einer anderen Komponente ausbilden und/oder eine oder mehrere der veranschaulichenden Komponenten können unabhängig voneinander sein. Ferner können in einigen Ausführungsformen eine oder mehrere Komponenten der Umgebung 200 als virtualisierte Hardwarekomponenten oder emulierte Architektur realisiert sein, welche durch den einen oder die mehreren Prozessoren und/oder andere Hardwarekomponenten der Quellenrechenvorrichtung 102 eingerichtet und beibehalten werden können.
-
In einer veranschaulichenden Ausführungsform, wie in 4 gezeigt ist, kann die Umgebung 200 eine Kommunikationsverwaltungsschaltung 210, eine Fähigkeitsaustauschverhandlungsschaltung 220 und eine Digitalinhaltseinstellschaltung 230 beinhalten. In solchen Ausführungsformen kann jede Schaltung 210, 220, 230 als eine dedizierte Schaltung/Hardwarekomponente realisiert sein oder als ein Teil einer anderen Hardwarekomponente der Quellenrechenvorrichtung 102 realisiert sein. Zum Beispiel können in einigen Ausführungsformen eine oder mehrere der Kommunikationsverwaltungsschaltung 210, der Fähigkeitsaustauschverhandlungsschaltung 220 und der Digitalinhaltseinstellschaltung 230 einen Teil des/der einen oder von mehreren des Prozessors 110, des E/A-Subsystems 112, der GPU 116, der Kommunikationsschaltungsanordnung 120 und/oder anderer Komponenten der Quellenrechenvorrichtung 102 bilden.
-
Zusätzlich oder alternativ können eine oder mehrere der Kommunikationsverwaltungsschaltung 210, der Fähigkeitsaustauschverhandlungsschaltung 220 und/oder der Digitalinhaltseinstellschaltung 230 als Sonderzweckhardwareschaltungen oder -komponenten implementiert sein. Solche dedizierten Schaltungen oder Sonderzweckhardwareschaltungen bzw. Logik können bestimmte Softwarefunktionen ergänzen, welche das Aufrufen solcher Funktionen durch verschiedene Softwareprogramme oder Anwendungen ermöglichen können, die von der Quellenrechenvorrichtung 102 ausgeführt werden, um eine oder mehrere Aufgaben auszuführen. Es versteht sich, dass die Quellenrechenvorrichtung 102 (eine) andere Komponenten, Subkomponenten, Module, Submodule, Logik, Sublogik und/oder Vorrichtungen, die gewöhnlich in einer Rechenvorrichtung zu finden sind, welche der Klarheit der Beschreibung wegen in 2 nicht veranschaulicht sind, beinhalten kann.
-
In der veranschaulichenden Umgebung 200 beinhaltet die Quellenrechenvorrichtung 102 ferner digitale Inhaltsdaten 202, Eingabedaten 204 und Codiererdaten 206, welche jeweils in einem Speicher und/oder einer Datenspeichervorrichtung der Quellenrechenvorrichtung 102 gespeichert werden können. Ferner kann auf jede der digitalen Inhaltsdaten 202, der Eingabedaten 204 und der Codiererdaten 206 durch die verschiedenen Komponenten der Quellenrechenvorrichtung 102 zugegriffen werden. Zusätzlich versteht sich, dass in einigen Ausführungsformen die Daten, die in jeden der digitalen Inhaltsdaten 202, der Eingabedaten 204 und/oder der Codiererdaten 206 gespeichert sind oder ansonsten durch diese dargestellt sind, sich möglicherweise nicht gegenseitig ausschließen. Zum Beispiel können in einigen Implementierungen Daten, die in den digitalen Inhaltsdaten 202 gespeichert sind, auch als ein Teil von einen oder mehreren der Eingabedaten 204 und der Codiererdaten 206 gespeichert werden oder umgekehrt. Wenngleich die verschiedenen Daten, die von der Quellenrechenvorrichtung 102 verwendet werden, hierin als bestimmte diskrete Daten beschrieben sind, können von daher solche Daten kombiniert werden, angehäuft werden und/oder ansonsten Teile einer einzigen oder mehrerer Datengruppen einschließlich duplizierter Kopien in anderen Ausführungsformen bilden.
-
Der Kommunikationsmanager 210, welcher als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination davon realisiert sein kann, wie zuvor diskutiert wurde, ist ausgelegt, um Verbindungswege zwischen der Quellenrechenvorrichtung 102 und anderen Rechenvorrichtungen (z. B. der Zielrechenvorrichtung 106) zu verwalten (z. B. einzustellen, beizubehalten usw.). Zusätzlich ist der Kommunikationsmanager 210 ausgelegt, um eingehende und ausgehende drahtgebundene und/oder drahtlose Kommunikationen (z. B. Netzwerkverkehr, Netzwerkpakete, Netzwerkflüsse usw.) zu und von der Quellenrechenvorrichtung 102 zu ermöglichen.
-
Dazu ist der Kommunikationsmanager 210 ausgelegt, um Netzwerkpakete von anderen Rechenvorrichtungen (z. B. der Zielrechenvorrichtung 106 und/oder (einer) anderen Rechenvorrichtung(en), die kommunikativ mit der Quellenrechenvorrichtung 102 gekoppelt ist/sind) zu erhalten und zu verarbeiten. Zusätzlich ist der Kommunikationsmanager 210 ausgelegt, um Netzwerkpakete vorzubereiten und zu einer anderen Rechenvorrichtung (z. B. der Zielrechenvorrichtung 106 und/oder (einer) anderen Rechenvorrichtung(en), die kommunikativ mit der Quellenrechenvorrichtung 102 gekoppelt ist/sind) zu übertragen. Der veranschaulichende Kommunikationsmanager 210 beinhaltet einen Out-of-band-Kommunikationsmanager 212, der ausgelegt ist, um Out-of-band-Kommunikationsdatenflüsse über Out-of-band-Kommunikationskanäle (z. B. NFC, USB usw.) zu verwalten, wie sie zum Beispiel zum Senden/Empfangen der Eingabemerkmalsdaten, die hierin beschrieben sind, verwendet werden.
-
Der Fähigkeitsaustauschverhandler 220, welcher als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination davon realisiert sein kann, wie zuvor diskutiert wurde, ist ausgelegt, um die Fähigkeitsaustauschverhandlungen zwischen der Quellenrechenvorrichtung 102 und anderen Rechenvorrichtungen (z. B. der Zielrechenvorrichtung 106) durchzuführen. Es versteht sich, dass der Fähigkeitsaustauschverhandler 220 ausgelegt sein kann, um den Fähigkeitsaustausch während dem Einrichten des drahtlosen Kommunikationskanals 104 durchzuführen.
-
Der veranschaulichende Fähigkeitsaustauschverhandler 220 beinhaltet einen Eingabeberechnungsabladeaustauschverhandler 222, der ausgelegt ist, um zu bestimmen, ob die Zielrechenvorrichtung 106 ein Abladen von Eingabeberechnung unterstützt (siehe z. B. auch den Kommunikationsfluss 600 von 6, die nachstehend beschrieben ist). Mit anderen Worten ist der Eingabeberechnungsabladeaustauschverhandler 222 ausgelegt, um einen Fähigkeitsaustausch mit der Zielrechenvorrichtung 106 durchzuführen, um zu bestimmen, ob die Zielrechenvorrichtung 106 ein Abladen von Eingabeberechnung unterstützt (d. h., Benutzereingaben detektieren kann und die detektierten Eingaben in Eingabemerkmale übersetzen kann, die von der Quellenrechenvorrichtung 102 übersetzt werden können), wie es zum Beispiel in einem bestimmten Header-Feld oder einer bestimmten Nutzlast der Netzwerkpakete enthalten sein kann, die von der Zielrechenvorrichtung 106 übertragen werden. Zum Beispiel kann ein Eingabeberechnungsabladefähigkeitsindikator eine beliebige Art von Daten sein, die angeben, ob die jeweilige Rechenvorrichtung ausgelegt ist, um eine Eingabeberechnungsabladefähigkeit zu unterstützen, wie zum Beispiel ein boolscher Wert. In solch einer Ausführungsform kann ein nicht unterstützter Wert, oder Wert von „0“, verwendet werden, um anzugeben, dass die Eingabeberechnungsabladefähigkeit nicht unterstützt wird, und kann ein unterstützter Wert, oder Wert von „1“, verwendet werden, um anzugeben, dass die Eingabeberechnungsabladefähigkeit unterstützt wird.
-
Zum Beispiel kann in einer Ausführungsform, die ein RTSP-Protokoll zum Austauschen von Rechenvorrichtungsfähigkeiten verwendet, der Eingabeberechnungsabladefähigkeitsindikator mit einem RTSP-Parameter (z. B. ein „input_Compute_offload_support“-Parameter) verknüpft sein, der mit einer Anfragenachricht von der Quellenrechenvorrichtung 102 zu senden ist und mit einer Antwort von der Zielrechenvorrichtung 106 während der Anfangskonfiguration (d. h., Verhandlung und Austausch von verschiedenen Parametern) eines Kommunikationskanals (z. B. der drahtlose Kommunikationskanal 104 von 1) zwischen der Quellenrechenvorrichtung 102 und der Zielrechenvorrichtung 106 zu erhalten ist. In einigen Ausführungsformen kann in den Eingabedaten 204 gespeichert werden, ob die Quellenrechenvorrichtung 102 das Abladen von Eingabeberechnung unterstützt, welche Eingaben (d. h., Eingabemerkmale) von der Quellenrechenvorrichtung 102 unterstützt werden, ob die Zielrechenvorrichtung 106 das Abladen von Eingabeberechnung unterstützt und/oder welche Eingaben von der Zielrechenvorrichtung 106 unterstützt werden.
-
Es versteht sich auch, dass in einigen Ausführungsformen eine oder beide der Quellenrechenvorrichtung 102 und der Zielrechenvorrichtung 106 mehr als eine Gruppe von Eingabemerkmalen unterstützen können. In solchen Ausführungsformen kann der Fähigkeitsaustausch ferner eine Verhandlung zwischen der Quellenrechenvorrichtung 102 und der Zielrechenvorrichtung 106 beinhalten, um zu verhandeln, welche Eingabemerkmale unterstützt werden und welche der unterstützten Eingabemerkmale während einer bestimmten Digitalinhaltsübertragungssitzung zu verwenden sind. Dementsprechend können die unterstützen Eingabemerkmale (z. B. die Quellenrechenvorrichtung 102 und/oder die Zielrechenvorrichtung 106) und/oder die Tatsache, welche der unterstützten Eingabemerkmale bestimmt werden, um während der bestimmten Streaming-Sitzung verwendet zu werden, in den Eingabedaten 204 gespeichert werden.
-
Der Digitalinhaltseinstellmanager 230, welcher als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination davon realisiert sein kann, wie zuvor diskutiert wurde, ist ausgelegt, um digitalen Inhalt von der Quellenrechenvorrichtung 102 an eine kommunikativ gekoppelte Zielrechenvorrichtung 106 auszugeben. Dazu beinhaltet der veranschaulichende Digitalinhaltseinstellmanager 230 einen Digitalinhaltsverarbeitungsmanager 232, einen Eingabemerkmalskennzeichner 234 und einen Digitalinhaltseinstellmanager 236. Es versteht sich, dass jeder des Digitalinhaltsverarbeitungsmanagers 232, des Eingabemerkmalskennzeichners 234 und/oder des Digitalinhaltseinstellmanagers 236 des Streaming-Paket-Managers 230 separat als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination davon realisiert sein kann. Zum Beispiel kann der Digitalinhaltsverarbeitungsmanager 232 als eine Hardwarekomponente realisiert sein, während der Eingabemerkmalskennzeichner 234 und/oder der Digitalinhaltseinstellmanager 236 als eine virtualisierte Hardwarekomponente oder als eine andere Kombination von Hardware, Firmware, Software, virtualisierter Hardware, emulierter Architektur und/oder einer Kombination davon realisiert sind.
-
Der Digitalinhaltsverarbeitungsmanager 232 ist ausgelegt, um einen Rahmen von digitalem Inhalt zu codieren (d. h., unter Verwendung eines Codierers der Quellenrechenvorrichtung 102), der zu der Zielrechenvorrichtung 106 zur Anzeige auf der Zielrechenvorrichtung 106 zu übertragen ist. In einigen Ausführungsformen kann der zu streamende digitale Inhalt in den digitalen Inhaltsdaten 202 gespeichert werden. Zusätzlich oder alternativ können in einigen Ausführungsformen Informationen, die mit dem Codierer verknüpft sind (z. B. welche Codierer/Decodierer von der Quellenrechenvorrichtung 102 und/oder der Zielrechenvorrichtung 106 unterstützt werden), in den Codiererdaten 206 gespeichert werden. Es versteht sich, dass Daten eines Rahmens von digitalem Inhalt eine Größe aufweisen können, die zu groß ist, um als eine einzige Nutzlast eines Netzwerkpakets auf Grundlage von Übertragungsgrößenbeschränkungen der Quellenrechenvorrichtung 102 und/oder der Zielrechenvorrichtung 106 angehängt zu werden. Zum Beispiel kann die Rahmengröße größer als eine vorbestimmte maximale Übertragungseinheit sein.
-
Dementsprechend ist der Digitalinhaltsverarbeitungsmanager 232 (z. B. ein Paketisierer der Quellenrechenvorrichtung 102) ausgelegt, um den Rahmen (d. h., den codierten Rahmen) in mehrere Datenblöcke zu paketisieren, deren Gesamtheit durch eine Funktion einer Gesamtgröße des Rahmens und der vorbestimmten maximalen Übertragungseinheitgröße bestimmt werden kann. Zusätzlich ist der Digitalinhaltsverarbeitungsmanager 232 ausgelegt, um einen Header einschließlich Kennzeichnungsinformationen an jeden der Datenblöcke anzuhängen, wobei eine Sequenz von Netzwerkpaketen zur Übertragung zu der Zielrechenvorrichtung 106 gebildet wird. Solch eine Paketisierung resultiert in einem ersten Netzwerkpaket, das den ersten Datenblock beinhaltet, einer Anzahl an Zwischennetzwerkpaketen, die die Zwischenblöcke von Rahmendaten beinhalten, und einem letzten Netzwerkpaket, das den letzten Block von Rahmendaten beinhaltet, der von der Zielrechenvorrichtung 106 empfangen werden muss (d. h., das Ende des Rahmens), bevor die Zielrechenvorrichtung 106 den Rahmen auf Grundlage der erhaltenen Datenblöcke des Rahmens decodieren kann. Der Eingabemerkmalskennzeichner 234 ist ausgelegt, um Eingabemerkmale zu kennzeichnen, die von der Zielrechenvorrichtung 106 erhalten werden, und der Digitalinhaltseinstellmanager 236 ist ausgelegt, um den digitalen Inhalt auf Grundlage der gekennzeichneten Eingabemerkmale einzustellen.
-
Unter Bezugnahme nunmehr auf 3 richtet in einer veranschaulichenden Ausführungsform die Zielrechenvorrichtung 106 eine Umgebung 300 während dem Betrieb ein. Die veranschaulichende Umgebung 300 beinhaltet einen Kommunikationsmanager 310, einen Fähigkeitsaustauschverhandler 320, einen Digitalinhaltsanzeigemanager 330 und einen Eingabedetektor 340. Die verschiedenen Komponenten der Umgebung 300 können als Hardware, Software, Firmware oder als eine Kombination davon realisiert sein. Zusätzlich können in manchen Ausführungsformen eine oder mehrere der veranschaulichenden Komponenten einen Teil einer anderen Komponente ausbilden und/oder eine oder mehrere der veranschaulichenden Komponenten können unabhängig voneinander sein. Ferner können in einigen Ausführungsformen eine oder mehrere Komponenten der Umgebung 300 als virtualisierte Hardwarekomponenten oder emulierte Architektur realisiert sein, welche durch den einen oder die mehreren Prozessoren und/oder andere Hardwarekomponenten der Quellenrechenvorrichtung 102 eingerichtet und beibehalten werden können.
-
In einer veranschaulichenden Ausführungsform, wie in 5 gezeigt, können eine oder mehrere der Komponenten der Umgebung 300 als Schaltungsanordnung, physische Hardwarekomponenten und/oder eine Sammlung von elektrischen Vorrichtungen realisiert sein. Wie gezeigt ist, kann zum Beispiel die Umgebung 300 eine Kommunikationsverwaltungsschaltung 310, eine Fähigkeitsaustauschverhandlungsschaltung 320, eine Digitalinhaltsanzeigeschaltung 330 und/oder eine Eingabedetektionsschaltung 340 beinhalten. In solchen Ausführungsformen kann jede Schaltung 310, 320, 330, 340 als eine dedizierte Schaltung/Hardwarekomponente realisiert sein oder als ein Teil einer anderen Hardwarekomponente der Quellenrechenvorrichtung 102 realisiert sein. Zum Beispiel können in einigen Ausführungsformen eine oder mehrere der Kommunikationsverwaltungsschaltung 310, der Fähigkeitsaustauschverhandlungsschaltung 320, der Digitalinhaltsanzeigeschaltung 330 und der Eingabedetektionsschaltung 340 einen Teil des/der einen oder der mehreren von dem Prozessor 130, dem E/A-Subsystem 132, der GPU 136, der Kommunikationsschaltungsanordnung 140 und/oder von anderen Komponenten der Zielrechenvorrichtung 106 bilden.
-
Zusätzlich oder alternativ können eine oder mehrere der Kommunikationsverwaltungsschaltung 310, der Fähigkeitsaustauschverhandlungsschaltung 320, der Digitalinhaltsanzeigeschaltung 330 und/oder der Eingabedetektionsschaltung 340 als Sonderzweckhardwareschaltungen oder -komponenten implementiert sein. Solche dedizierten Schaltungen oder Sonderzweckhardwareschaltungen bzw. Logik können bestimmte Softwarefunktionen ergänzen, welche das Aufrufen solcher Funktionen durch verschiedene Softwareprogramme oder Anwendungen ermöglichen können, die von der Zielrechenvorrichtung 106 ausgeführt werden, um eine oder mehrere Aufgaben auszuführen.
-
Unter Bezugnahme erneut auf 3 beinhaltet in der veranschaulichenden Umgebung 300 die Zielrechenvorrichtung 106 ferner digitale Inhaltsdaten 302, Eingabedaten 304 und Decodiererdaten 306, welche jeweils in einem Speicher und/oder einer Datenspeichervorrichtung der Zielrechenvorrichtung 106 gespeichert werden können. Ferner kann auf jede der digitalen Inhaltsdaten 302, der Eingabedaten 304 und der Decodiererdaten 306 durch die verschiedenen Komponenten der Zielrechenvorrichtung 106 zugegriffen werden. Zusätzlich versteht sich, dass in einigen Ausführungsformen die Daten, die in jeden der digitalen Inhaltsdaten 302, der Eingabedaten 304 und/oder der Decodiererdaten 306 gespeichert sind oder ansonsten von diesen dargestellt sind, sich möglicherweise nicht gegenseitig ausschließen.
-
Zum Beispiel können in einigen Implementierungen Daten, die in den digitalen Inhaltsdaten 302 gespeichert sind, auch als ein Teil von einen oder mehreren der Eingabedaten 304 und den Decodiererdaten 306 gespeichert werden oder umgekehrt. Wenngleich die verschiedenen Daten, die von der Zielrechenvorrichtung 106 verwendet werden, hierin als bestimmte diskrete Daten beschrieben sind, können von daher solche Daten kombiniert werden, angehäuft werden und/oder ansonsten Teile einer einzigen oder mehrerer Datengruppen einschließlich duplizierter Kopien in anderen Ausführungsformen bilden. Es versteht sich ferner, dass die Zielrechenvorrichtung 106 zusätzliche und/oder alternative Komponenten, Subkomponenten, Module, Submodule und/oder Vorrichtungen, die gewöhnlich in einer Rechenvorrichtung zu finden sind, welche der Klarheit der Beschreibung wegen in 3 nicht veranschaulicht sind, beinhalten kann.
-
Der Kommunikationsmanager 310, welcher als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination davon realisiert sein kann, wie zuvor diskutiert wurde, ist ausgelegt, um Verbindungswege zwischen der Quellenrechenvorrichtung 102 und anderen Rechenvorrichtungen (z. B. der Zielrechenvorrichtung 106) zu verwalten (z. B. einzustellen, beizubehalten usw.). Zusätzlich ist der Kommunikationsmanager 310 ausgelegt, um eingehende und ausgehende drahtgebundene und/oder drahtlose Kommunikationen (z. B. Netzwerkverkehr, Netzwerkpakete, Netzwerkflüsse usw.) zu und von der Quellenrechenvorrichtung 102 zu ermöglichen.
-
Dazu ist der Kommunikationsmanager 310 ausgelegt, um Netzwerkpakete von anderen Rechenvorrichtungen (z. B. der Zielrechenvorrichtung 106 und/oder (einer) anderen Rechenvorrichtung(en), die kommunikativ mit der Zielrechenvorrichtung 106 gekoppelt ist/sind) zu erhalten und zu verarbeiten. Zusätzlich ist der Kommunikationsmanager 310 ausgelegt, um Netzwerkpakete vorzubereiten und zu einer anderen Rechenvorrichtung (z. B. der Quellenrechenvorrichtung 102 und/oder (einer) anderen Rechenvorrichtung(en), die kommunikativ mit der Zielrechenvorrichtung 106 gekoppelt ist/sind) zu übertragen. Der veranschaulichende Kommunikationsmanager 310 beinhaltet einen Out-of-band-Kommunikationsmanager 312, der ausgelegt ist, um Out-of-band-Kommunikationsdatenflüsse über Out-of-band-Kommunikationskanäle (wie sie z. B. durch den Fähigkeitsaustauschverhandler 320 verwaltet werden können) zu verwalten, wie sie zum Beispiel zum Senden/Empfangen der Eingabemerkmalsdaten, die hierin beschrieben sind, verwendet werden können.
-
Der Fähigkeitsaustauschverhandler 320, welcher als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination davon realisiert sein kann, wie zuvor diskutiert wurde, ist ausgelegt, um die Fähigkeitsaustauschverhandlungen zwischen der Zielrechenvorrichtung 106 und anderen Rechenvorrichtungen (z. B. der Quellenrechenvorrichtung 102) durchzuführen. Es versteht sich, dass der Fähigkeitsaustauschverhandler 320 ausgelegt sein kann, um den Fähigkeitsaustausch während dem Einrichten des drahtlosen Kommunikationskanals 104 durchzuführen.
-
Der veranschaulichende Fähigkeitsaustauschverhandler 320 beinhaltet einen Eingabeberechnungsabladeaustauschverhandler 322, der ausgelegt ist, um zu bestimmen, ob die Quellenrechenvorrichtung 102 ein Abladen von Eingabeberechnung unterstützt (siehe z. B. auch den Kommunikationsfluss 600 von 6, die nachstehend beschrieben ist). Mit anderen Worten ist der Eingabeberechnungsabladeaustauschverhandler 320 ausgelegt, um einen Fähigkeitsaustausch mit der Quellenrechenvorrichtung 102 durchzuführen, um zu bestimmen, ob die Quellenrechenvorrichtung 102 ein Abladen von Eingabeberechnung unterstützt (d. h., Eingabemerkmale übersetzen kann, die von der Quellenrechenvorrichtung 102 übersetzt werden können), wie es zum Beispiel in einem bestimmten Header-Feld oder einer bestimmten Nutzlast der Netzwerkpakete enthalten sein kann, die von der Quellenrechenvorrichtung 102 übertragen werden. Zum Beispiel kann ein Eingabeberechnungsabladefähigkeitsindikator eine beliebige Art von Daten sein, die angeben, ob die jeweilige Rechenvorrichtung ausgelegt ist, um eine Eingabeberechnungsabladefähigkeit zu unterstützen, wie zum Beispiel ein boolscher Wert. In solch einer Ausführungsform kann ein nicht unterstützter Wert, oder Wert von „0“, verwendet werden, um anzugeben, dass die Eingabeberechnungsabladefähigkeit nicht unterstützt wird, und kann ein unterstützter Wert, oder Wert von „1“, verwendet werden, um anzugeben, dass die Eingabeberechnungsabladefähigkeit unterstützt wird.
-
Zum Beispiel kann in einer Ausführungsform, die ein RTSP-Protokoll zum Austauschen von Rechenvorrichtungsfähigkeiten verwendet, der Eingabeberechnungsabladefähigkeitsindikator mit einem RTSP-Parameter (z. B. ein „input_compute_offload_support“-Parameter) verknüpft sein, der mit einer Anfragenachricht von der Quellenrechenvorrichtung 102 erhalten wird und mit einer Antwort von der Zielrechenvorrichtung 106 während der Anfangskonfiguration (d. h., Verhandlung und Austausch von verschiedenen Parametern) eines Kommunikationskanals (z. B. der drahtlose Kommunikationskanal 104 von 1) zwischen der Quellenrechenvorrichtung 102 und der Zielrechenvorrichtung 106 gesendet wird. In einigen Ausführungsformen kann in den Eingabedaten 204 gespeichert werden, ob die Quellenrechenvorrichtung 102 das Abladen von Eingabeberechnung unterstützt, welche Eingaben (d. h., Eingabemerkmale) von der Quellenrechenvorrichtung 102 unterstützt werden, ob die Zielrechenvorrichtung 106 das Abladen von Eingabeberechnung unterstützt und/oder welche Eingaben von der Zielrechenvorrichtung 106 unterstützt werden.
-
Es versteht sich auch, dass in einigen Ausführungsformen eine oder beide der Quellenrechenvorrichtung 102 und der Zielrechenvorrichtung 106 mehr als eine Gruppe von Eingabemerkmalen unterstützen können. In solchen Ausführungsformen kann der Fähigkeitsaustausch ferner eine Verhandlung zwischen der Quellenrechenvorrichtung 102 und der Zielrechenvorrichtung 106 beinhalten, um zu verhandeln, welche Eingabemerkmale unterstützt werden und welche der unterstützten Eingabemerkmale während einer bestimmten Digitalinhaltsübertragungssitzung zu verwenden sind. Dementsprechend können die unterstützen Eingabemerkmale (z. B. die Quellenrechenvorrichtung 102 und/oder die Zielrechenvorrichtung 106) und/oder die Tatsache, welche der unterstützten Eingabemerkmale bestimmt werden, um während der bestimmten Streaming-Sitzung verwendet zu werden, in den Eingabedaten 204 gespeichert werden.
-
Der Digitalinhaltsanzeigemanager 330, welcher als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination davon realisiert sein kann, wie zuvor diskutiert wurde, ist ausgelegt, um digitalen Inhalt anzuzeigen, der von der kommunikativ gekoppelten Quellenrechenvorrichtung 102 erhalten wird. Dazu ist der Digitalinhaltsanzeigemanager 330 ausgelegt, um erhaltene Netzwerkpakete (d. h., ein oder mehrere Netzwerkpakete einschließlich mindestens eines Teils von Daten entsprechend einem Rahmen) zu entpaketisieren. Zum Beispiel kann der Digitalinhaltsanzeigemanager 330 ausgelegt sein, um die Header (d. h., die MPEG2-TS-Header) von den erhaltenen Netzwerkpaketen abzustreifen und die Nutzlasten der erhaltenen Rahmen von digitalem Inhalt zu akkumulieren. Solche akkumulierten Nutzlasten können in einigen Ausführungsformen in den digitalen Inhaltsdaten 304 gespeichert werden.
-
Dementsprechend ist der Digitalinhaltsanzeigemanager 330 ferner ausgelegt, um die akkumulierten Nutzlasten (d. h., an der GPU 136 der Zielrechenvorrichtung 106 von 1) zu decodieren und den decodierten Rahmen zur Ausgabe an einer Ausgabevorrichtung (z. B. einem Display) der Zielrechenvorrichtung 106 zu rendern. In einigen Ausführungsformen können Informationen, die mit dem Decodierer verknüpft sind (z. B. welche Codierer/Decodierer von der Quellenrechenvorrichtung 102 und/oder der Zielrechenvorrichtung 106 unterstützt werden), in den Decodiererdaten 306 gespeichert werden. Zusätzlich oder alternativ können in einigen Ausführungsformen Informationen entsprechend dem decodierten Rahmen in den digitalen Inhaltsdaten 302 gespeichert werden.
-
Der Eingabedetektor 340 ist ausgelegt, um die Eingabe eines Benutzers der Zielrechenvorrichtung 106 zu detektieren, wie sie etwa durch direktes Berühren oder Verwenden eines Stylus auf einem berührungsempfindlichen Bildschirm, Drücken einer Taste auf einer Tastatur, Detektieren der Bewegung eines Elements einer Maus, Erhalten eines hörbaren Sprachbefehls durch ein Mikrofon usw. ausgelöst werden kann. Die detektierte Eingabe kann von einer beliebigen Art von Eingabe sein, bei welcher das erwartete Ergebnis der Eingabe ist, ein oder mehrere Objekte (z. B. Text, Formen, Linien, Grafiken usw.) auf dem Display der Zielrechenvorrichtung 106 zu rendern. Der veranschaulichende Eingabedetektor 340 beinhaltet einen Eingabemerkmalsbestimmungsmanager 342, der ausgelegt ist, um Eingabemerkmale der detektierten Eingabe zu bestimmen, und einen Eingabemerkmalsbenachrichtigungsmanager 344, der ausgelegt ist, um die bestimmten Eingabemerkmale in Informationen (d. h., Datenstrukturen) zu übersetzen, die von der Quellenrechenvorrichtung 102 zum Reproduzieren der detektierten Eingabe verwendet werden können.
-
Unter Bezugnahme nunmehr auf 6 beinhaltet eine Ausführungsform eines Kommunikationsflusses 600 zur Eingabeberechnungsabladefähigkeitsverhandlung die Quellenrechenvorrichtung 102 und die Zielrechenvorrichtung 106, die kommunikativ über einen Kommunikationskanal (z. B. den Kommunikationskanal 104 von 1) gekoppelt sind. Der veranschaulichende Kommunikationsfluss 600 beinhaltet eine Anzahl an Datenflüssen, von denen einige je nach Ausführungsform separat oder zusammen ausgeführt werden können. Wie zuvor beschrieben wurde, ist in dem Datenfluss 602 der Kommunikationskanal 104 (z. B. eine TCP-Verbindung) zwischen der Quellenrechenvorrichtung 102 und der Zielrechenvorrichtung 106 eingerichtet. Es versteht sich, dass das Einrichten des Kommunikationskanals auf einer Entfernung zwischen der Quellenrechenvorrichtung 102 und der Zielrechenvorrichtung 106 begründet sein kann. Es versteht sich ferner, dass die Entfernung auf einer Art und einem Kommunikationsbereich im Zusammenhang mit der Kommunikationstechnologie, die bei dem Einrichten des Kommunikationskanals 104 eingesetzt wird, beruhen kann.
-
In einigen Ausführungsformen können die Quellenrechenvorrichtung 102 und die Zielrechenvorrichtung 106 zuvor miteinander verbunden worden sein. Mit anderen Worten können die Quellenrechenvorrichtung 102 und die Zielrechenvorrichtung 106 zuvor Kopplungsdaten ausgetauscht haben, wie sie zum Beispiel während einem Wi-Fi®-Einrichten (z. B. manuelle Eingabe von Verbindungsdaten, Wi-Fi Protected Setup (WPS) usw.) oder einer Bluetooth®-Kopplung (z. B. Bonding) ausgetauscht werden können. Dazu können in einigen Ausführungsformen die Quellenrechenvorrichtung 102 oder die Zielrechenvorrichtung 106 in einen Entdeckungsmodus zum Aufbauen der Verbindung gebracht worden sein. Zusätzlich oder alternativ können in einigen Ausführungsformen die Quellenrechenvorrichtung 102 und die Zielrechenvorrichtung 106 eine Out-of-band-Technologie (z. B. NFC, USB usw.) zum Übertragen von Informationen über einen anderen Kanal als den Kommunikationskanal 104 verwenden. Dementsprechend versteht sich, dass in solchen Ausführungsformen die Informationen, die verwendet werden, um den Kommunikationskanal 104 oder den OOB-Kanal einzurichten, in der Quellenrechenvorrichtung 102 und/oder der Zielrechenvorrichtung 106 gespeichert werden können.
-
In dem Datenfluss 604 überträgt die Quellenrechenvorrichtung 102 eine Nachricht zu der Zielrechenvorrichtung 106 (z. B. unter Verwendung einer RTSP-Nachricht), die eine Anfrage bezüglich der Eingabeberechnungsabladedetektionsfähigkeit der Zielrechenvorrichtung 106 beinhaltet. In dem Datenfluss 606 antwortet die Zielrechenvorrichtung 106 auf die Anfragenachricht, die von der Quellenrechenvorrichtung erhalten wird, mit einer Antwortnachricht, die die Eingabeberechnungsabladefähigkeit der Zielrechenvorrichtung 106 beinhaltet. In dem Datenfluss 608 speichert die Quellenrechenvorrichtung 102 die Eingabeberechnungsabladefähigkeit der Zielrechenvorrichtung 106, die in dem Datenfluss 606 erhalten wird.
-
Es versteht sich, dass in einigen Ausführungsformen mehr als eine Eingabeberechnungsabladefähigkeit von der Quellenrechenvorrichtung 102 und/oder der Zielrechenvorrichtung 106 unterstützt werden kann. Wie zuvor beschrieben wurde, kann dementsprechend die Eingabeberechnungsabladefähigkeitsantwort eine Angabe dahingehend, ob die Zielrechenvorrichtung 106 bestimmte Eingabemerkmale des Abladens von Eingabeberechnung unterstützt, sowie eine Angabe dahingehend, wie die Zielrechenvorrichtung 106 solche Eingabemerkmale (z. B. ein bestimmtes Feld einer Header-Nachricht, einen bestimmten Bezeichner in einer Nutzlast einer Nachricht usw.) unterstützt, übersetzt, überträgt usw., beinhalten. In solchen Ausführungsformen kann ein Verhandlungsfluss zwischen der Quellenrechenvorrichtung 102 und der Zielrechenvorrichtung 106 durchgeführt werden, um festzulegen, welche der unterstützten Eingabeberechnungsabladefähigkeiten während der Streaming-Sitzung verwendet werden.
-
In dem Datenfluss 610 überträgt die Zielrechenvorrichtung 106 eine Nachricht zu der Quellenrechenvorrichtung 102, die eine Anfrage bezüglich der Eingabeberechnungsabladefähigkeit der Quellenrechenvorrichtung 102 beinhaltet. In dem Datenfluss 612 antwortet die Quellenrechenvorrichtung 102 auf die Anfragenachricht mit einer Antwortnachricht, die die Eingabeberechnungsabladefähigkeit der Quellenrechenvorrichtung 102 beinhaltet. In dem Datenfluss 614 speichert die Zielrechenvorrichtung 106 die Eingabeberechnungsabladefähigkeit der Quellenrechenvorrichtung 102, die in dem Datenfluss 612 erhalten wird. In dem Datenfluss 616 richten die Quellenrechenvorrichtung 102 und die Zielrechenvorrichtung 106 eine Streaming-Sitzung ein und starten das Senden/Empfangen von digitalem Inhalt.
-
Unter Bezugnahme nunmehr auf 7 kann die Quellenrechenvorrichtung 102 ein Verfahren 700 zum Abladen von Eingabeberechnung von digitalem Inhalt, der zu einer Zielrechenvorrichtung (z. B. der Zielrechenvorrichtung 106 von 1) zu übertragen ist, ausführen. Es versteht sich, dass vor dem Ausführen des Verfahrens 700 ein Kommunikationskanal (z. B. der Kommunikationskanal 104 von 1) bereits eingerichtet worden ist und Fähigkeiten zwischen der Quellenrechenvorrichtung 102 und der Zielrechenvorrichtung 106 (z. B. wie in dem veranschaulichenden Kommunikationsfluss 600 von 6 beschrieben ist) ausgetauscht worden sind. Es versteht sich ferner, dass mindestens ein Teil des Verfahrens 700 als verschiedene Befehle ausgeführt werden kann, die auf einem computerlesbaren Medium gespeichert sind, welche von dem Prozessor 110, der GPU 116, der Kommunikationsschaltungsanordnung 120 (z. B. der NIC 122) und/oder anderen Komponenten der Quellenrechenvorrichtung 102 ausgeführt werden können, um zu bewirken, dass die Quellenrechenvorrichtung 102 das Verfahren 600 durchführt. Das computerlesbare Medium kann als eine beliebige Art von Medium realisiert sein, das in der Lage ist, von der Quellenrechenvorrichtung 102 gelesen zu werden, einschließlich des Speichers 114, der Datenspeichervorrichtung 118, eines lokalen Speichers (nicht gezeigt) der NIC 122, eines anderen Speichers oder anderer Datenspeichervorrichtungen der Quellenrechenvorrichtung 102, tragbarer Medien, die von einer Peripherievorrichtung der Quellenrechenvorrichtung 102 gelesen werden können, und/oder anderer Medien, ohne jedoch darauf beschränkt zu sein.
-
Das Verfahren 700 beginnt in Block 702, in welchem die Quellenrechenvorrichtung 102 bestimmt, ob sie digitalen Inhalt (z. B. Streaming-Inhalt von der Quellenrechenvorrichtung, Spiegelungsinhalt, der gegenwärtig auf der Quellenrechenvorrichtung 102 angezeigt wird, Casting-Inhalt von der Quellenrechenvorrichtung usw.) zu der Zielrechenvorrichtung 106 überträgt. Wenn die Quellenrechenvorrichtung 102 bestimmt, keinen digitalen Inhalt zu der Zielrechenvorrichtung 106 zu übertragen (z. B. digitaler Inhalt, der auf der Quellenrechenvorrichtung 102 gespeichert ist, noch nicht zur Übertragung ausgewählt worden ist), kehrt das Verfahren 700 zu Block 702 zurück, um die Überwachung, ob der digitale Inhalt übertragen wird, fortzuführen. Es versteht sich, dass in einigen Ausführungsformen beliebige Anwendungen (z. B. Betriebssystem, Softwareanwendungen usw.), die gegenwärtig angezeigt werden (z. B. über eine grafische Benutzerschnittstelle (Graphical User Interface, GUI) der Quellenrechenvorrichtung 102), zu der Zielrechenvorrichtung 106 in Form von digitalem Inhalt (z. B. Rahmen des gegenwärtig angezeigten Bildschirms der Quellenrechenvorrichtung 102) übertragen werden können.
-
Ansonsten fährt das Verfahren 700 zu Block 704 fort, in welchem die Quellenrechenvorrichtung 102 digitalen Inhalt zur Übertragung zu der Zielrechenvorrichtung 106 verarbeitet. Zum Beispiel kann die Quellenrechenvorrichtung 102 den digitalen Inhalt (d. h., die Rahmen des digitalen Inhalts) codieren, wie zum Beispiel durch Verwenden eines RTSP-Codierers, und den codierten Rahmen in ein Streaming-Paket zur Übertragung paketisieren (z. B. unter Zerstückeln des Rahmens in Datenblöcke und Anfügen jedes Datenblocks als eine Streaming-Paket-Nutzlast mit einem Header). In Block 706 überträgt die Quellenrechenvorrichtung 102 ein oder mehrere der verarbeiteten Streaming-Pakete zu der Zielrechenvorrichtung 106 (z. B. über eine Warteschlange von Netzwerkpaketen, Nachrichten usw.). Wie zuvor diskutiert wurde, kann in anderen Ausführungsformen die Quellenrechenvorrichtung 102 den digitalen Inhalt unter Verwendung von anderen Übertragungsmodalitäten einschließlich Spiegeln des digitalen Inhalts, Casten des digitalen Inhalts und/oder einer anderen Technik zum Übertragen von digitalem Inhalt, ohne jedoch darauf beschränkt zu sein, übertragen.
-
In Block 708 bestimmt die Quellenrechenvorrichtung 102, ob irgendwelche Eingabemerkmale von der Zielrechenvorrichtung 106 erhalten worden ist. Wenn nicht, kehrt das Verfahren 700 zu Block 702 zurück, um zu bestimmen, ob mit der Übertragung von digitalem Inhalt zu der Zielrechenvorrichtung 106 fortgefahren wird; ansonsten fährt das Verfahren 700 zu Block 710 fort. In einigen Ausführungsformen kann das Betriebssystem der Quellenrechenvorrichtung 102 die Angabe von der Zielrechenvorrichtung 106 erhalten und darauffolgend irgendeiner Abhöranwendung die erhaltenen Eingabemerkmale unter Verwendung derselben oder ähnlicher Mitteilungsmethodologien mitteilen, wie sie die Zielrechenvorrichtung 106 verwenden würde, um irgendeiner Abhöranwendung eine Eingabe mitzuteilen, die lokal bei der Quellenrechenvorrichtung 102 detektiert wird.
-
In Block 710 kennzeichnet die Quellenrechenvorrichtung 102 die Eingabemerkmale, die von der Zielrechenvorrichtung 106 erhalten wurden. In Block 712 rendert die Quellenrechenvorrichtung 102 ein oder mehrere Objekte auf einem Display (z. B. durch die GPU 116 von 1) auf Grundlage der Eingabemerkmale zur Ausgabe an ein Display der Quellenrechenvorrichtung 102. Zum Beispiel kann die Quellenrechenvorrichtung 102 ein Bild des Inhalts aufnehmen, der gegenwärtig auf dem Display der Quellenrechenvorrichtung 102 angezeigt wird (d. h., einschließlich der gerenderten Ausgabe der Eingabemerkmale). In einigen Ausfiihrungsformen kann das aufgenommene Bild als ein Video-Stream komprimiert und zu der Zielrechenvorrichtung 106 übertragen werden. In einigen Ausführungsformen kann die Quellenrechenvorrichtung 102 zusätzlich eine Angabe zu der Zielrechenvorrichtung 102 übertragen, die verwendet werden kann, um zu kennzeichnen, dass der erhaltene digitale Inhalt nun die erhaltenen Eingabemerkmale beinhaltet.
-
Unter Bezugnahme nunmehr auf 8 kann die Zielrechenvorrichtung 106 ein Verfahren 800 zum Abladen von Eingabeberechnung von digitalem Inhalt, der von einer Quellenrechenvorrichtung (z. B. der Quellenrechenvorrichtung 106 von 1) zu übertragen wird, ausführen. Es versteht sich, dass ein Kommunikationskanal (z. B. der Kommunikationskanal 104 von 1) zwischen der Zielrechenvorrichtung 106 und der Quellenrechenvorrichtung 102 eingerichtet worden ist. Es versteht sich ferner, dass mindestens ein Teil des Verfahrens 800 als verschiedene Befehle ausgeführt werden kann, die auf einem computerlesbaren Medium gespeichert sind, welche von dem Prozessor 130, der GPU 136, der Kommunikationsschaltungsanordnung 140 (z. B. der NIC 142) und/oder anderen Komponenten der Zielrechenvorrichtung 106 ausgeführt werden können, um zu bewirken, dass die Zielrechenvorrichtung 106 das Verfahren 800 durchführt. Das computerlesbare Medium kann als eine beliebige Art von Medium realisiert sein, das in der Lage ist, von der Zielrechenvorrichtung 106 gelesen zu werden, einschließlich des Speichers 134, der Datenspeichervorrichtung 138, eines lokalen Speichers der NIC 122 (nicht gezeigt), eines anderen Speichers oder anderer Datenspeichervorrichtungen der Zielrechenvorrichtung 106, tragbarer Medien, die von einer Peripherievorrichtung der Zielrechenvorrichtung 106 gelesen werden können, und/oder anderer Medien, ohne jedoch darauf beschränkt zu sein.
-
Das Verfahren 800 beginnt in Block 802, in welchem die Zielrechenvorrichtung 106 bestimmt, ob ein Netzwerkpaket, das digitalen Inhalt beinhaltet (z. B. ein Rahmen von digitalem Inhalt), der von der Zielrechenvorrichtung 106 zu rendern ist, von der Quellenrechenvorrichtung 102 erhalten worden ist. Wenn dem so ist, fährt das Verfahren 800 zu Block 804 fort, in welchem die Zielrechenvorrichtung 106 das erhaltene Netzwerkpaket verarbeitet (z. B. entpaketisiert, decodiert usw.). In Block 806 rendert die Zielrechenvorrichtung 106 den verarbeiteten digitalen Inhalt zur Anzeige an einer Ausgabevorrichtung (z. B. einer der Peripherievorrichtungen 144) der Zielrechenvorrichtung 106. Dazu kann in einigen Ausführungsformen die GPU 136 den gerenderten Rahmen der Ausgabevorrichtung der Zielrechenvorrichtung 106 zum Beispiel zur Anzeige von Videoinhalt auf einem Display der Zielrechenvorrichtung 106 oder zum Produzieren von hörbarem Ton von Audioinhalt von einem Lautsprecher der Zielrechenvorrichtung 106 bereitstellen.
-
In Block 808 bestimmt die Zielrechenvorrichtung 106, ob irgendeine Benutzereingabe detektiert worden ist (z. B. durch direktes Berühren oder Verwenden eines Stylus auf einem berührungsempfindlichen Bildschirm, Drücken einer Taste auf einer Tastatur, Detektieren der Bewegung eines Elements einer Maus, Erhalten eines hörbaren Sprachbefehls durch ein Mikrofon usw.), so dass erwartet wird, dass eine Aktion (z. B. Ziehen eines Objekts, Tippen von Text usw.) in Bezug auf den digitalen Inhalt, der auf der Zielrechenvorrichtung 106 angezeigt wird, auf dem Display der Zielrechenvorrichtung 106 zu sehen ist. Zum Beispiel können solche Eingaben über einen Berührungssensor/-Display detektiert und zu dem Betriebssystem zur Verarbeitung bei dem Prozessor (z. B. dem Prozessor 130 von 1) oder der GPU (z. B. der GPU 136 von 1) zur Berührungsverarbeitung übertragen werden. Wenn keine Benutzereingabe detektiert worden ist, kehrt das Verfahren 800 zu Block 802 zurück, in welchem die Zielrechenvorrichtung 106 bestimmt, ob ein anderes Netzwerkpaket, das digitalen Inhalt zur Ausgabe von der Zielrechenvorrichtung 106 beinhaltet, erhalten worden ist; ansonsten fährt das Verfahren 800 zu Block 810 fort.
-
In Block 810 kennzeichnet die Zielrechenvorrichtung 106 die Eingabemerkmale der detektierten Benutzereingabe. In einigen Ausführungsformen können die Eingabemerkmale über eine von einem Anbieter oder einem Betriebssystem bereitgestellte Middleware (z. B. Windows Direct Inking Framework) gekennzeichnet werden. Dementsprechend können die unterstützten Eingabemerkmale auf den Fähigkeiten der Middleware zum Übersetzen der Eingabe in bestimmbare Merkmale, wie zum Beispiel Eingabekoordinaten (z. B. Bildschirm-/Display-Koordinaten, Ausgabeinhaltskoordinaten, Eingabegrenzkoordinaten usw.), Eingabearten (z. B. Text, Form usw.), Schriftarten, Stile, Größen, Farben, Gewichte usw., beruhen. In solchen Ausführungsformen kann der Stapel der Zielrechenvorrichtung 106 Kerneloperationen einer unteren Ebene (z. B. Fast-Inking) programmieren (z. B. durch von einem Betriebssystem bereitgestellte Hooks), die auf der GPU (z. B. der GPU 136 von 1) ausgeführt werden, um die Fähigkeiten und/oder Präferenzen zu speichern. In einigen Ausführungsformen kann, bevor das Betriebssystem die Eingabe verarbeitet, ein Fast-ink-Kernel, der auf der GPU 136 ausgeführt wird, die Eingabedaten an Grafik-Shader über eine Methodologie, die der Zielrechenvorrichtung 106 erlaubt, die temporäre Überlagerung auf Grundlage der Eingabedaten zu rendern, übergeben. In Block 812 zeigt die Zielrechenvorrichtung 106 eine temporäre Überlagerung an (d. h., rendert diese und gibt diese aus) unter Anzeige eines Ergebnisses (z. B. Objekt, Text usw.) der detektierten Benutzereingabe und der zugehörigen Eingabemerkmale.
-
In Block 814 überträgt die Zielrechenvorrichtung 106 die gekennzeichneten Eingabemerkmale zu der Quellenrechenvorrichtung 102, von welcher der digitale Inhalt erhalten wird (d. h., nachdem das Betriebssystem die Eingabedaten verarbeitet). Es versteht sich, dass in einigen Ausführungsformen die Zielrechenvorrichtung 106 weiterhin die temporäre Überlagerung rendern kann, bis sie eine Angabe von der Quellenrechenvorrichtung 102 erhält, die angibt, dass der digitale Inhalt nun das/die beabsichtigte(n) Objekt(e) beinhaltet. Zusätzlich oder alternativ kann in einigen Ausführungsformen die temporäre Überlagerung eine Zeitbegrenzung auslösen oder ansonsten nur von der Zielrechenvorrichtung 106 während einer bestimmten Zeitdauer gerendert werden. Zum Beispiel kann in einigen Ausführungsformen die temporäre Überlagerung nach einem fixen oder variablen Zeitraum entfernt werden, wie zum Beispiel bestimmt werden kann, nachdem die Quellenrechenvorrichtung 102 die Rahmen übertragen hat, die eine Eingabe im Zusammenhang mit dem digitalen Inhalt enthalten.
-
BEISPIELE
-
Veranschaulichende Beispiele der hier offenbarten Technologien sind unten bereitgestellt. Eine Ausführungsform der Technologien kann eines oder mehrere und eine beliebige Kombination der nachstehend beschriebenen Beispiele beinhalten.
- Beispiel 1 beinhaltet eine Zielrechenvorrichtung zum Abladen von Eingabeberechnung von digitalem Inhalt, wobei die Zielrechenvorrichtung einen Digitalinhaltsanzeigemanager zum Ausgeben von digitalem Inhalt, der von einer drahtlos gekoppelten Quellenrechenvorrichtung erhalten wird, an ein Display der Zielrechenvorrichtung; und einen Eingabedetektor zum (i) Detektieren einer Eingabe durch eine Eingabevorrichtung der Zielrechenvorrichtung und (ii) Kennzeichnen von einem oder mehreren Eingabemerkmalen der detektierten Eingabe, wobei die Eingabemerkmale Informationen in Bezug auf die detektierte Eingabe definieren, die verwendet werden können, um eine Aktion zu bestimmen, die im Anschluss an die Eingabedetektion auszuführen ist, wobei der Digitalinhaltsanzeigemanager ferner als Reaktion auf die Detektion der Eingabe eine temporäre Überlagerung auf dem Display der Zielrechenvorrichtung auf Grundlage der detektierten Eingabe anzeigt; und umfasst ferner einen Kommunikationsmanager zum Übertragen des einen oder der mehreren Eingabemerkmale zu der Quellenrechenvorrichtung, wobei das eine oder die mehreren Eingabemerkmale verwendet werden können, um den digitalen Inhalt zu rendern, der von der Quellenrechenvorrichtung übertragen wird, um ein oder mehrere Objekte auf Grundlage des einen oder der mehreren Eingabemerkmale aufzunehmen.
- Beispiel 2 beinhaltet den Gegenstand von Beispiel 1, wobei der digitale Inhalt einen Video-Stream umfasst, der aus mehreren aufgenommenen Bildern eines Displays der Quellenrechenvorrichtung zusammengesetzt ist, wobei jedes der aufgenommenen Bilder eine Bildschirmaufnahme von mindestens einem Teil des Displays der Quellenrechenvorrichtung zu dem Zeitpunkt, zu welchem das Bild aufgenommen wurde, beinhaltet.
- Beispiel 3 beinhaltet den Gegenstand von einem der Beispiele 1 und 2, wobei die Eingabemerkmale eine bzw. eines oder mehrere einer Display-Koordinate, einer Ausgabeinhaltskoordinate, einer Eingabegrenzkoordinate, eines Textmerkmals, eines Formmerkmals, eines Schriftmerkmals oder eines Linienmerkmals beinhalten.
- Beispiel 4 beinhaltet den Gegenstand von einem der Beispiele 1-3, wobei das Übertragen der Eingabemerkmale zu der Quellenrechenvorrichtung das Übertragen der Eingabemerkmale über einen Out-of-band-Kommunikationskanal umfasst.
- Beispiel 5 beinhaltet den Gegenstand von einem der Beispiele 1-4 und umfasst ferner einen Fähigkeitsaustauschverhandler zum (i) Austauschen von Eingabeberechnungsabladefähigkeiten zwischen der Quellenrechenvorrichtung und der Zielrechenvorrichtung und (ii) Bestimmen, welche der ausgetauschten Eingabeberechnungsabladefähigkeiten während der Übertragung des digitalen Inhalts verwendet werden sollen.
- Beispiel 6 beinhaltet den Gegenstand von einem der Beispiele 1-5, wobei das Detektieren der Eingabe das Detektieren einer bzw. eines von einer Fingerbewegung auf einem berührungsempfindlichen Bildschirm der Zielrechenvorrichtung, einer Stylusbewegung auf dem berührungsempfindlichen Bildschirm, einem Tastendrücken auf einer Tastatur der Zielrechenvorrichtung, einer Bewegung eines Elements einer Maus der Zielrechenvorrichtung oder einem hörbaren Sprachbefehl durch ein Mikrofon der Zielrechenvorrichtung umfasst.
- Beispiel 7 beinhaltet den Gegenstand von einem der Beispiele 1-6, wobei die Aktion das Ausgeben von einem oder mehreren Objekten an das Display über die temporäre Überlagerung beinhaltet.
- Beispiel 8 beinhaltet den Gegenstand von einem der Beispiele 1-7, wobei das eine oder die mehreren Objekte eines/eine oder mehrere eines Textmerkmals, einer Form, einer Linie oder einer Grafik beinhalten.
- Beispiel 9 beinhaltet den Gegenstand von einem der Beispiele 1-8, wobei die Aktion das Ändern einer Einstellung einer Anwendung, die gegenwärtig auf der Quellenrechenvorrichtung ausgeführt wird, die dem digitalen Inhalt entspricht, der von der Quellenrechenvorrichtung erhalten wird, beinhaltet.
- Beispiel 10 beinhaltet den Gegenstand von einem der Beispiele 1-9, wobei der Digitalinhaltsanzeigemanager ferner die temporäre Überlagerung nach einem verstrichenen Zeitraum im Anschluss an die Anzeige der temporären Überlagerung entfernt.
- Beispiel 11 beinhaltet den Gegenstand von einem der Beispiele 1-10, wobei der digitale Inhalt digitalen Inhalt umfasst, der von der Quellenrechenvorrichtung gespiegelt wird.
- Beispiel 12 beinhaltet den Gegenstand von einem der Beispiele 1-11, wobei der digitale Inhalt digitalen Inhalt umfasst, der von der Quellenrechenvorrichtung gecastet wird.
- Beispiel 13 beinhaltet ein Verfahren zum Abladen von Eingabeberechnung von digitalem Inhalt, wobei das Verfahren das Ausgeben durch eine Zielrechenvorrichtung von digitalem Inhalt, der von einer drahtlos gekoppelten Quellenrechenvorrichtung erhalten wird, an ein Display der Zielrechenvorrichtung; das Detektieren durch die Zielrechenvorrichtung einer Eingabe durch eine Eingabevorrichtung der Zielrechenvorrichtung; das Kennzeichnen durch die Zielrechenvorrichtung von einem oder mehreren Eingabemerkmalen der detektierten Eingabe, wobei die Eingabemerkmale Informationen in Bezug auf die detektierte Eingabe definieren, die verwendet werden können, um eine Aktion zu bestimmen, die im Anschluss an die Eingabedetektion auszuführen ist; das Anzeigen durch die Zielrechenvorrichtung und als Reaktion auf die Detektion der Eingabe einer temporären Überlagerung auf dem Display der Zielrechenvorrichtung auf Grundlage der detektierten Eingabe; und das Übertragen durch die Zielrechenvorrichtung des einen oder der mehreren Eingabemerkmale zu der Quellenrechenvorrichtung, wobei das eine oder die mehreren Eingabemerkmale verwendet werden können, um den digitalen Inhalt zu rendern, der von der Quellenrechenvorrichtung übertragen wird, um ein oder mehrere Objekte auf Grundlage des einen oder der mehreren Eingabemerkmale aufzunehmen, umfasst.
- Beispiel 14 beinhaltet den Gegenstand von Beispiel 13, wobei das Ausgeben des digitalen Inhalts das Ausgeben eines Video-Streams umfasst, der aus mehreren aufgenommenen Bildern eines Displays der Quellenrechenvorrichtung zusammengesetzt ist, wobei jedes der aufgenommenen Bilder eine Bildschirmaufnahme von mindestens einem Teil des Displays der Quellenrechenvorrichtung zu dem Zeitpunkt, zu welchem das Bild aufgenommen wurde, beinhaltet.
- Beispiel 15 beinhaltet den Gegenstand von einem der Beispiele 13 und 14, wobei das Übertragen der Eingabemerkmale das Übertragen von einer bzw. einem oder mehreren einer Display-Koordinate, einer Ausgabeinhaltskoordinate, einer Eingabegrenzkoordinate, eines Textmerkmals, eines Formmerkmals, eines Schriftmerkmals oder eines Linienmerkmals beinhaltet.
- Beispiel 16 beinhaltet den Gegenstand von einem der Beispiele 13-15, wobei das Übertragen der Eingabemerkmale zu der Quellenrechenvorrichtung das Übertragen der Eingabemerkmale über einen Out-of-band-Kommunikationskanal umfasst.
- Beispiel 17 beinhaltet den Gegenstand von einem der Beispiele 13-16 und umfasst: das Austauschen durch die Zielrechenvorrichtung von Eingabeberechnungsabladefähigkeiten zwischen der Quellenrechenvorrichtung und der Zielrechenvorrichtung; und das Bestimmen durch die Zielrechenvorrichtung, welche der ausgetauschten Eingabeberechnungsabladefähigkeiten während der Übertragung des digitalen Inhalts verwendet werden sollen.
- Beispiel 18 beinhaltet den Gegenstand von einem der Beispiele 13-17, wobei das Detektieren der Eingabe das Detektieren einer bzw. eines von einer Fingerbewegung auf einem berührungsempfindlichen Bildschirm der Zielrechenvorrichtung, einer Stylusbewegung auf dem berührungsempfindlichen Bildschirm, einem Tastendrücken auf einer Tastatur der Zielrechenvorrichtung, einer Bewegung eines Elements einer Maus der Zielrechenvorrichtung oder einem hörbaren Sprachbefehl durch ein Mikrofon der Zielrechenvorrichtung umfasst.
- Beispiel 19 beinhaltet den Gegenstand von einem der Beispiele 13-18, wobei die Aktion das Ausgeben von einem oder mehreren Objekten an das Display über die temporäre Überlagerung beinhaltet.
- Beispiel 20 beinhaltet den Gegenstand von einem der Beispiele 13-19, wobei das Ausgeben des einen oder der mehreren Objekte das Ausgeben von einem bzw. einer oder mehreren eines Textmerkmals, einer Form, einer Linie oder einer Grafik umfasst.
- Beispiel 21 beinhaltet den Gegenstand von einem der Beispiele 13-20, wobei die Aktion das Ändern einer Einstellung einer Anwendung, die gegenwärtig auf der Quellenrechenvorrichtung ausgeführt wird, die dem digitalen Inhalt entspricht, der von der Quellenrechenvorrichtung erhalten wird, beinhaltet.
- Beispiel 22 beinhaltet den Gegenstand von einem der Beispiele 13-21 und umfasst ferner das Entfernen der temporären Überlagerung im Anschluss an einen verstrichenen Zeitraum nach dem Anzeigen der temporären Überlagerung.
- Beispiel 23 beinhaltet den Gegenstand von einem der Beispiele 13-22, wobei der digitale Inhalt digitalen Inhalt umfasst, der von der Quellenrechenvorrichtung gespiegelt wird.
- Beispiel 24 beinhaltet den Gegenstand von einem der Beispiele 13-23, wobei der digitale Inhalt digitalen Inhalt umfasst, der von der Quellenrechenvorrichtung gespiegelt wird.
- Beispiel 25 beinhaltet eine Zielrechenvorrichtung umfassend einen Prozessor; und einen Speicher, auf dem mehrere Befehle gespeichert sind, die, wenn sie von dem Prozessor ausgeführt werden, bewirken, dass die Zielrechenvorrichtung das Verfahren nach einem der Beispiele 13-24 durchführt.
- Beispiel 26 beinhaltet ein oder mehrere maschinenlesbare Speichermedien, die mehrere Befehle umfassen, die darauf gespeichert sind, die als Reaktion darauf, dass sie ausgeführt werden, in einer Zielrechenvorrichtung resultieren, die das Verfahren nach einem der Beispiele 13-24 durchführt.
- Beispiel 27 beinhaltet eine Zielrechenvorrichtung zum Abladen von Eingabeberechnung von digitalem Inhalt, wobei die Zielrechenvorrichtung Mittel zum Ausgeben von digitalem Inhalt, der von einer drahtlos gekoppelten Quellenrechenvorrichtung erhalten wird, an ein Display der Zielrechenvorrichtung; Mittel zum Detektieren einer Eingabe durch eine Eingabevorrichtung der Zielrechenvorrichtung; Mittel zum Kennzeichnen von einem oder mehreren Eingabemerkmalen der detektierten Eingabe, wobei die Eingabemerkmale Informationen in Bezug auf die detektierte Eingabe definieren, die verwendet werden können, um eine Aktion zu bestimmen, die im Anschluss an die Eingabedetektion auszuführen ist; Mittel zum Anzeigen als Reaktion auf die Detektion der Eingabe einer temporären Überlagerung auf dem Display der Zielrechenvorrichtung auf Grundlage der detektierten Eingabe; und Mittel zum Übertragen des einen oder der mehreren Eingabemerkmale zu der Quellenrechenvorrichtung, wobei das eine oder die mehreren Eingabemerkmale verwendet werden können, um den digitalen Inhalt zu rendern, der von der Quellenrechenvorrichtung übertragen wird, um ein oder mehrere Objekte auf Grundlage des einen oder der mehreren Eingabemerkmale aufzunehmen, umfasst.
- Beispiel 28 beinhaltet den Gegenstand von Beispiel 27, wobei die Mittel zum Ausgeben des digitalen Inhalts Mittel zum Ausgeben eines Video-Streams umfassen, der aus mehreren aufgenommenen Bildern eines Displays der Quellenrechenvorrichtung zusammengesetzt ist, wobei jedes der aufgenommenen Bilder eine Bildschirmaufnahme von mindestens einem Teil des Displays der Quellenrechenvorrichtung zu dem Zeitpunkt, zu welchem das Bild aufgenommen wurde, beinhaltet.
- Beispiel 29 beinhaltet den Gegenstand von einem der Beispiele 27 und 28, wobei die Mittel zum Übertragen der Eingabemerkmale Mittel zum Übertragen von einer bzw. einem oder mehreren einer Display-Koordinate, einer Ausgabeinhaltskoordinate, einer Eingabegrenzkoordinate, eines Textmerkmals, eines Formmerkmals, eines Schriftmerkmals oder eines Linienmerkmals beinhalten.
- Beispiel 30 beinhaltet den Gegenstand von einem der Beispiele 27-29, wobei die Mittel zum Übertragen der Eingabemerkmale zu der Quellenrechenvorrichtung Mittel zum Übertragen der Eingabemerkmale über einen Out-of-band-Kommunikationskanal umfassen.
- Beispiel 31 beinhaltet den Gegenstand von einem der Beispiele 27-30 und umfasst ferner Mittel zum Austauschen von Eingabeberechnungsabladefähigkeiten zwischen der Quellenrechenvorrichtung und der Zielrechenvorrichtung und Mittel zum Bestimmen, welche der ausgetauschten Eingabeberechnungsabladefähigkeiten während der Übertragung des digitalen Inhalts verwendet werden sollen.
- Beispiel 32 beinhaltet den Gegenstand von einem der Beispiele 27-31, wobei die Mittel zum Detektieren der Eingabe Mittel zum Detektieren einer bzw. eines von einer Fingerbewegung auf einem berührungsempfindlichen Bildschirm der Zielrechenvorrichtung, einer Stylusbewegung auf dem berührungsempfindlichen Bildschirm, einem Tastendrücken auf einer Tastatur der Zielrechenvorrichtung, einer Bewegung eines Elements einer Maus der Zielrechenvorrichtung oder einem hörbaren Sprachbefehl durch ein Mikrofon der Zielrechenvorrichtung umfassen.
- Beispiel 33 beinhaltet den Gegenstand von einem der Beispiele 27-32, wobei die Aktion Mittel zum Ausgeben von einem oder mehreren Objekten an das Display über die temporäre Überlagerung beinhaltet.
- Beispiel 34 beinhaltet den Gegenstand von einem der Beispiele 27-33, wobei die Mittel zum Ausgeben des einen oder der mehreren Objekte Mittel zum Ausgeben von einem bzw. einer oder mehreren eines Textmerkmals, einer Form, einer Linie oder einer Grafik umfassen.
- Beispiel 35 beinhaltet den Gegenstand von einem der Beispiele 27-34, wobei die Aktion Mittel zum Ändern einer Einstellung einer Anwendung, die gegenwärtig auf der Quellenrechenvorrichtung ausgeführt wird, die dem digitalen Inhalt entspricht, der von der Quellenrechenvorrichtung erhalten wird, beinhaltet.
- Beispiel 36 beinhaltet den Gegenstand von einem der Beispiele 27-35 und umfasst ferner Mittel zum Entfernen der temporären Überlagerung im Anschluss an einen verstrichenen Zeitraum nach dem Anzeigen der temporären Überlagerung.
- Beispiel 37 beinhaltet den Gegenstand von einem der Beispiele 27-36, wobei der digitale Inhalt digitalen Inhalt umfasst, der von der Quellenrechenvorrichtung gespiegelt wird.
- Beispiel 38 beinhaltet den Gegenstand von einem der Beispiele 27-37, wobei der digitale Inhalt digitalen Inhalt umfasst, der von der Quellenrechenvorrichtung gespiegelt wird.
- Beispiel 39 beinhaltet eine Quellenrechenvorrichtung zum Abladen von Eingabeberechnung von digitalem Inhalt, wobei die Quellenrechenvorrichtung einen Digitalinhaltseinstellmanager zum Übertragen von digitalem Inhalt zu einer Zielrechenvorrichtung, die drahtlos mit der Quellenrechenvorrichtung gekoppelt ist; einen Kommunikationsmanager zum Erhalten von einem oder mehreren Eingabemerkmalen von der Zielrechenvorrichtung, wobei die Eingabemerkmale ein oder mehrere Merkmale einer Eingabe, die von einem Benutzer auf einem Display der Zielrechenvorrichtung ausgelöst wird, definieren; und einen Digitalinhaltseinstellmanager zum Rendern des digitalen Inhalts, um ein oder mehrere Objekte auf Grundlage des einen oder der mehreren Eingabemerkmale aufzunehmen, umfasst.
- Beispiel 40 beinhaltet den Gegenstand von Beispiel 39, wobei der digitale Inhalt einen Video-Stream umfasst, der aus mehreren Bildschirmaufnahmebildern der Quellenrechenvorrichtung zusammengesetzt ist, wobei jedes der Bildschirmaufnahmebilder eine Bildschirmaufnahme eines Displays der Quellenrechenvorrichtung zu dem Zeitpunkt, zu welchem das Bild aufgenommen wurde, beinhaltet.
- Beispiel 41 beinhaltet den Gegenstand von einem der Beispiele 39 und 40, wobei die Eingabemerkmale eine bzw. eines oder mehrere einer Display-Koordinate, einer Ausgabeinhaltskoordinate, einer Eingabegrenzkoordinate, eines Textmerkmals, eines Formmerkmals, eines Schriftmerkmals oder eines Linienmerkmals beinhalten.
- Beispiel 42 beinhaltet den Gegenstand von einem der Beispiele 39-41, wobei die Eingabemerkmale von der Zielrechenvorrichtung über einen Out-of-band-Kommunikationskanal erhalten werden.
- Beispiel 43 beinhaltet den Gegenstand von einem der Beispiele 39-42 und umfasst ferner einen Fähigkeitsaustauschverhandler zum (i) Austauschen von Eingabeberechnungsabladefähigkeiten zwischen der Quellenrechenvorrichtung und der Zielrechenvorrichtung und (ii) Bestimmen, welche der ausgetauschten Eingabeberechnungsabladefähigkeiten während der Übertragung des digitalen Inhalts verwendet werden sollen.
- Beispiel 44 beinhaltet den Gegenstand von einem der Beispiele 39-43, wobei der digitale Inhalt digitalen Inhalt umfasst, der von der Quellenrechenvorrichtung gespiegelt wird.
- Beispiel 45 beinhaltet den Gegenstand von einem der Beispiele 39-44, wobei der digitale Inhalt digitalen Inhalt umfasst, der von der Quellenrechenvorrichtung gespiegelt wird.
- Beispiel 46 beinhaltet ein Verfahren zum Abladen von Eingabeberechnung von digitalem Inhalt, wobei das Verfahren das Übertragen durch eine Quellenrechenvorrichtung von digitalem Inhalt zu einer Zielrechenvorrichtung, die drahtlos mit der Quellenrechenvorrichtung gekoppelt ist; das Erhalten durch die Quellenvorrichtung von einem oder mehreren Eingabemerkmalen von der Zielrechenvorrichtung, wobei die Eingabemerkmale ein oder mehrere Merkmale einer Eingabe, die von einem Benutzer auf einem Display der Zielrechenvorrichtung ausgelöst wird, definieren; und das Rendern durch die Quellenrechenvorrichtung des digitalen Inhalts, um ein oder mehrere Objekte auf Grundlage des einen oder der mehreren Eingabemerkmale aufzunehmen, umfasst.
- Beispiel 47 beinhaltet den Gegenstand von Beispiel 46, wobei das Übertragen des digitalen Inhalts das Übertragen eines Video-Streams umfasst, der aus mehreren aufgenommenen Bildern eines Displays der Quellenrechenvorrichtung zusammengesetzt ist, wobei jedes der aufgenommenen Bilder eine Bildschirmaufnahme von mindestens einem Teil des Displays der Quellenrechenvorrichtung zu dem Zeitpunkt, zu welchem das Bild aufgenommen wurde, beinhaltet.
- Beispiel 48 beinhaltet den Gegenstand von einem der Beispiele 46 und 47, wobei das Erhalten der Eingabemerkmale von der Zielrechenvorrichtung das Erhalten von einer bzw. einem oder mehreren einer Display-Koordinate, einer Ausgabeinhaltskoordinate, einer Eingabegrenzkoordinate, eines Textmerkmals, eines Formmerkmals, eines Schriftmerkmals oder eines Linienmerkmals beinhaltet.
- Beispiel 49 beinhaltet den Gegenstand von einem der Beispiele 46-48, wobei das Erhalten der Eingabemerkmale von der Zielrechenvorrichtung das Erhalten der Eingabemerkmale über einen Out-of-band-Kommunikationskanal umfasst.
- Beispiel 50 beinhaltet den Gegenstand von einem der Beispiele 46-49 und umfasst ferner das Austauschen durch die Zielrechenvorrichtung von Eingabeberechnungsabladefähigkeiten zwischen der Quellenrechenvorrichtung und der Zielrechenvorrichtung und das Bestimmen durch die Quellenrechenvorrichtung, welche der ausgetauschten Eingabeberechnungsabladefähigkeiten während der Übertragung des digitalen Inhalts verwendet werden sollen.
- Beispiel 51 beinhaltet den Gegenstand von einem der Beispiele 46-50, wobei der digitale Inhalt digitalen Inhalt umfasst, der von der Quellenrechenvorrichtung gespiegelt wird.
- Beispiel 52 beinhaltet den Gegenstand von einem der Beispiele 46-51, wobei der digitale Inhalt digitalen Inhalt umfasst, der von der Quellenrechenvorrichtung gespiegelt wird.
- Beispiel 53 beinhaltet eine Quellenrechenvorrichtung umfassend einen Prozessor; und einen Speicher, auf dem mehrere Befehle gespeichert sind, die, wenn sie von dem Prozessor ausgeführt werden, bewirken, dass die Quellenrechenvorrichtung das Verfahren nach einem der Beispiele 46-52 durchführt.
- Beispiel 54 beinhaltet ein oder mehrere maschinenlesbare Speichermedien, die mehrere Befehle umfassen, die darauf gespeichert sind, die als Reaktion darauf, dass sie ausgeführt werden, in einer Quellenrechenvorrichtung resultieren, die das Verfahren nach einem der Beispiele 46-52 durchführt.
- Beispiel 55 beinhaltet eine Quellenrechenvorrichtung zum Abladen von Eingabeberechnung von digitalem Inhalt, wobei die Quellenrechenvorrichtung Mittel zum Übertragen von digitalem Inhalt zu einer Zielrechenvorrichtung, die drahtlos mit der Quellenrechenvorrichtung gekoppelt ist; Mittel zum Erhalten von einem oder mehreren Eingabemerkmalen von der Zielrechenvorrichtung, wobei die Eingabemerkmale ein oder mehrere Merkmale einer Eingabe, die von einem Benutzer auf einem Display der Zielrechenvorrichtung ausgelöst wird, definieren; und Mittel zum Rendern des digitalen Inhalts, um ein oder mehrere Objekte auf Grundlage des einen oder der mehreren Eingabemerkmale aufzunehmen, umfasst.
- Beispiel 56 beinhaltet den Gegenstand von Beispiel 55, wobei die Mittel zum Übertragen des digitalen Inhalts Mittel zum Übertragen eines Video-Streams umfassen, der aus mehreren aufgenommenen Bildern eines Displays der Quellenrechenvorrichtung zusammengesetzt ist, wobei jedes der aufgenommenen Bilder eine Bildschirmaufnahme von mindestens einem Teil des Displays der Quellenrechenvorrichtung zu dem Zeitpunkt, zu welchem das Bild aufgenommen wurde, beinhaltet.
- Beispiel 57 beinhaltet den Gegenstand von einem der Beispiele 55 und 56, wobei die Mittel zum Erhalten der Eingabemerkmale von der Zielrechenvorrichtung Mittel zum Erhalten von einer bzw. einem oder mehreren einer Display-Koordinate, einer Ausgabeinhaltskoordinate, einer Eingabegrenzkoordinate, eines Textmerkmals, eines Formmerkmals, eines Schriftmerkmals oder eines Linienmerkmals umfassen.
- Beispiel 58 beinhaltet den Gegenstand von einem der Beispiele 55-57, wobei die Mittel zum Erhalten der Eingabemerkmale von der Zielrechenvorrichtung Mittel zum Erhalten der Eingabemerkmale über einen Out-of-band-Kommunikationskanal umfassen.
- Beispiel 59 beinhaltet den Gegenstand von einem der Beispiele 55-58 und umfasst ferner einen Fähigkeitsaustauschverhandler zum (i) Austauschen von Eingabeberechnungsabladefähigkeiten zwischen der Quellenrechenvorrichtung und der Zielrechenvorrichtung und (ii) Bestimmen, welche der ausgetauschten Eingabeberechnungsabladefähigkeiten während der Übertragung des digitalen Inhalts verwendet werden sollen.
- Beispiel 60 beinhaltet den Gegenstand von einem der Beispiele 55-59, wobei der digitale Inhalt digitalen Inhalt umfasst, der von der Quellenrechenvorrichtung gespiegelt wird.
- Beispiel 61 beinhaltet den Gegenstand von einem der Beispiele 55-60, wobei der digitale Inhalt digitalen Inhalt umfasst, der von der Quellenrechenvorrichtung gespiegelt wird.
-
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
-