DE112016001140T5 - Interaktives Mehrbenutzer-Anzeigesystem und Verfahren - Google Patents

Interaktives Mehrbenutzer-Anzeigesystem und Verfahren Download PDF

Info

Publication number
DE112016001140T5
DE112016001140T5 DE112016001140.7T DE112016001140T DE112016001140T5 DE 112016001140 T5 DE112016001140 T5 DE 112016001140T5 DE 112016001140 T DE112016001140 T DE 112016001140T DE 112016001140 T5 DE112016001140 T5 DE 112016001140T5
Authority
DE
Germany
Prior art keywords
computing devices
interaction
display wall
user interface
transmitted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE112016001140.7T
Other languages
English (en)
Inventor
Sungwong Nam
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sensory Tech LLC
Sensory Technologies LLC
Original Assignee
Sensory Tech LLC
Sensory Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sensory Tech LLC, Sensory Technologies LLC filed Critical Sensory Tech LLC
Publication of DE112016001140T5 publication Critical patent/DE112016001140T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1446Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display display composed of modules, e.g. video walls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1415Digital output to display device ; Cooperation and interconnection of the display device with other functional units with means for detecting differences between the image stored in the host and the images displayed on the displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2300/00Aspects of the constitution of display devices
    • G09G2300/02Composition of display devices
    • G09G2300/026Video wall, i.e. juxtaposition of a plurality of screens to create a display screen of bigger dimensions
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • G09G2370/045Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller using multiple communication channels, e.g. parallel and serial

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

Ein Videoanzeigewandsystem zum Darstellen einer Information, welche durch mehrere Rechenvorrichtungen bereitgestellt wird, die jeweils mit dem Videoanzeigewandsystem nach dem Ermessen eines Benutzers interagieren. Das Anzeigewandsystem weist eine Videoanzeigewand und einen Server auf, welcher betriebsfähig mit der Anzeigewand und den mehreren Rechenvorrichtungen gekoppelt ist. Das System ist ausgestaltet, um jedem der Benutzer gleichzeitig eine Information auf der Anzeigewand darstellen zu können sowie um eine gleichzeitige Interaktion durch jeden der Benutzer mit der dargestellten Information zu ermöglichen. Der Besitzer der dargestellten Information und die Identität von jedem der Benutzer, welcher mit der dargestellten Information interagiert, werden durch den Server gehalten. Ein Verfahren für mehrere Benutzer, um gleichzeitig mit gemeinsam genutzten Medien, welche dargestellt werden, zu interagieren, und ein interaktives Mehrbenutzer-Anzeigesystem werden beschrieben.

Description

  • Zugehörige Anmeldung
  • Diese Anmeldung beansprucht die Priorität der provisorischen Patentanmeldung der Vereinigten Staaten mit der Seriennummer 62/130,380 mit dem Titel „Multiuser Interactive Display System and Method”, welche am 9. März 2015 eingereicht wurde und deren Offenbarung hier in ihrer Vollständigkeit durch Inbezugnahme aufgenommen wird.
  • Hintergrund
  • Die vorliegende Offenbarung betrifft Systeme und Verfahren, um ein interaktives Mehrbenutzer-Anzeigesystem bereitzustellen, wobei sich mehrere Benutzer gleichzeitig an derselben computerbasierten grafischen Workstation bzw. einem Arbeitsplatz einloggen und diese gemeinsam benutzen können, einen individuellen Inhalt gemeinsam benutzen können und mit den gemeinsam benutzten Inhalten gleichzeitig in einer virtuellen grafischen Desktopumgebung interagieren können.
  • Die Fähigkeit, verschiedene digitale Daten und Informationen, welche durch verschiedene Quellen erzeugt werden, zu interpretieren und zu verarbeiten, ist wichtig. Da große Mengen von digitalen Daten und Informationen jeden Tag mit kontinuierlich ansteigenden Volumen erzeugt werden, existiert das Bedürfnis nach einer effektiven Art und Weise, um diese Informationen und Daten für eine einfache Filterung, einen Vergleich und eine Analyse darzustellen.
  • Bildschirme mit ultrahoher Auflösung und große fliesenartige (tiled) Anzeigewände werden oft zur Darstellung von Informationen und Daten, zum Beispiel von Bildern, Videos, PDF-Dokumenten, Livestreams (einschließlich audiovisueller Konferenzen) und anderen Typen von Mediendateien, eingesetzt.
  • Herkömmlicherweise können große fliesenartige Anzeigewände nur mit einem Cluster von Computern aufgebaut werden. Diese Anforderung ist die große Hürde gewesen, welche aufgrund der Kosten und der Komplexität, die erforderlich sind, um ein Computercluster aufzubauen und zu unterhalten, verhindert, dass Benutzer sich an Anzeigewandtechniken anpassen oder zu diesen übergehen. Mit der Einführung von moderner mehrköpfiger (multi-headed) Grafik-Hardware können jedoch Benutzer einfache Anzeigewände mit einer ultrahohen Auflösung aufbauen. 1A stellt ein Beispiel einer 4 × 3 – Anzeigewand 20 dar, welche durch zwölf 1080p (1920×1080 Pixel) Anzeigeeinheiten 22, die TV-Einheiten mit hoher Auflösung sein können, definiert wird. Die entsprechenden Anzeigeeinheiten 22 in der Anzeigewand 20 sind in 1A mit 1–12 nummeriert.
  • Die Anzeigeeinheiten 22 können durch eine einzige Workstation mit Hardware, welche Grafikkarten der oberen Preisklasse mit mehreren Köpfen aufweist, betrieben werden. Große Grafikhardware-Hersteller, wie z. B. NVIDIA, AMD und Matrox, stellen zum Beispiel mehrköpfige Grafik-Anzeigetechniken bereit, wie z. B. NVIDIA Mosaic, AMD Eyefinity und Matrox PowerDesk. Jedes dieser Produkte kann die Erzeugung einer einzigen virtuellen Desktopanzeige über die Anordnung der mehreren, fliesenartigen Anzeigeeinheiten 22 ermöglichen, um einen einzigen grafischen Arbeitsplatz mit einer ultrahohen Auflösung auf einer virtuellen Anzeige, welche durch die Anzeigewand 20 definiert ist, bereitzustellen. Die Anzeigewand 20 kann daher eine fliesenartige Anordnung von Anzeigeeinheiten 22 mit einer hohen Auflösung umfassen, über welche sich übergangslos eine große Anzeige 24 mit ultrahoher Auflösung spannt. Alternativ kann die Anzeige 24 auf einem einzigen Bildschirm bereitgestellt werden, welcher einer der Anzeigeeinheiten 22 sein kann.
  • 1B zeigt einen Teil bzw. eine Teilansicht einer einzelnen Workstation oder eines Personal-Computers („PC”) 26 mit drei vierköpfigen NVIDIA Quadro K 5200 Grafikkarten 28, 30 und 32. Die vier Ausgänge von jeder Grafikkarte 28, 30, 32 sind durch ein entsprechendes Kabel mit einer entsprechenden der nummerierten Anzeigeeinheiten 22 der 1A verbunden und dementsprechend mit einer entsprechenden Ausgangsnummer 1–12 nummeriert. Unter der Annahme, dass jede Anzeigeeinheit 22 der Anzeigewand 20 ein typischer TV mit hoher Auflösung (Auflösung von 1920×1080) ist, beträgt die Gesamtauflösung der Anzeigewand 7680×3240 Pixel. Die fliesenartige Anzeigewand 20 kann daher die Anzeige von zahlreichen Bildern und Videos hoher Auflösung, welche gleichzeitig in ihrer natürlichen Auflösung dargestellt werden, ermöglichen. Alternativ kann die Workstation 26 eine einzige Grafikkarte aufweisen, welche mit einem einzigen Bildschirm verbunden ist. Die Diskussion, welche folgt, betrifft eine Workstation und eine Anzeigewand, wie sie in 1A und 1B dargestellt sind, aber kann im Allgemeinen genauso gut auf den Fall einer Workstation, welche mit einem einzigen Bildschirm verbunden ist, angewendet werden.
  • Herkömmliche grafische Desktop-Betriebssysteme werden basierend auf der Annahme entworfen, dass ein einziger Benutzer physikalisch mit der Workstation 26 unter Verwendung einer Tastatur und einer Maus (nicht dargestellt) interagiert. Es kann mehrere verschiedene Benutzerkonten geben, und mehrere Benutzer können sich gleichzeitig abgesetzt anmelden. Jedoch ist die Zusammenarbeit von mehreren Benutzern, wobei mehrere Benutzer in demselben Raum zusammensitzen und gleichzeitig mit Inhalten interagieren, welche auf einer einzigen gemeinsamen Anzeigewand dargestellt sind, sehr eingeschränkt, da nur ein einziger Benutzer direkt mit den grafischen Inhalten auf dem PC 26 interagieren kann. Mit anderen Worten sind solche grafischen Desktop-Betriebssysteme aktuell für ein Einzelbenutzer-Interaktionsschema entworfen, wobei die grafische Desktopumgebung im Besitz von einem einzigen Benutzer ist. Ein Benutzer erhält Zugang zu einer Desktopsitzung eines Computersystems, indem er sich mit seinem Benutzer-Berechtigungsnachweis anmeldet, welcher einem verteilten System ermöglicht, einem Benutzer einen separaten privaten Arbeitsbereich bereitzustellen. Wenn sich ein Benutzer einmal angemeldet hat, befindet sich die Desktopsitzung im Besitz des Benutzers. Daher ermöglicht dieser herkömmliche Entwurf nicht, dass sich mehrere Benutzer gleichzeitig an demselben grafischen Desktop-Arbeitsbereich anmelden. Solche Systeme sind eingeschränkt, da sie nur ermöglichen, dass ein einziger Benutzer, welcher aktuell an dem PC 26 angemeldet ist, auf die grafischen Inhalte, welche er teilt, zugreift, und die Fähigkeit hat, mit diesem Inhalt zu interagieren. Wenn solch ein PC mit der Anzeigewand 20 verbunden ist, bleibt die Möglichkeit der Anzeigewand als eine zusammenwirkende Umgebung für mehrere Benutzer in ähnlicher Weise beschränkt. Anzeigewandsysteme, welche das herkömmliche Schema einsetzen (d. h. dass ein grafischer Desktopbereich nur einem einzigen Benutzer gehört), welches ermöglicht, dass Inhalte von getrennten Quellen gleichzeitig dargestellt werden, können die Fähigkeit zum Zusammenwirken der Anzeigewandumgebung begrenzen.
  • Es ist wünschenswert, diese Beschränkung aufzuheben und eine einzige virtuelle grafische Desktopumgebung bereitzustellen, bei welcher sich mehrere Benutzer gleichzeitig an demselben Arbeitsbereich anmelden können und diesen gemeinsam verwenden können, individuelle Inhalte gemeinsam verwenden können und gleichzeitig mit den gemeinsam verwendeten Inhalten interagieren können.
  • Viele Benutzerumgebungen oder Benutzerforen würden von der Bereitstellung einer solchen virtuellen grafischen Desktopumgebung profitieren. Ein solches Beispiel ist der Unterricht. Die Klassenraumumgebung ändert sich rasch, da Studenten kaum Lektionen passiv von ihren Schreibtischen aufnehmen. Jahrzehntelange Forschung spricht von den pädagogischen Vorteilen eines aktiven Lernens; dieser Paradigmenwechsel in der Art und Weise, wie Information geteilt, erzeugt und ausgetauscht wird, erfordert jedoch, denjenigen, welche danach suchen, gute Lernübungen bereitzustellen. Diese Herausforderungen können erfüllt werden, indem eine virtuelle Tafel bereitgestellt wird, auf welcher Lehrer und Studenten verschiedene Medien gleichzeitig gemeinsam benutzen und gleichzeitig mit den Medien interagieren können, wodurch die Lernübungen verbessert werden. Eine solche interaktive grafische Desktopumgebung kann weiter verbessert werden, indem sie ausgestaltet ist, um eine Anzeigewand mit einem großen Maßstab anstelle oder zusätzlich zu einem einzelnen Bildschirm aufzuweisen.
  • Eine andere Benutzerumgebung oder ein anderes Benutzerforum, welches vom Einsatz einer solchen interaktiven grafischen Desktopumgebung profitieren würde, sind Unternehmen. Die „mehr Köpfe sind besser”-Philosophie ist unter Geschäftsleuten weit akzeptiert, und die Vorteile einer Zusammenarbeit von Individuen zum gemeinsamen Nutzen sind gut dokumentiert. Unternehmen können eine zusammenwirkende Synergie effektiver erzeugen, kanalisieren und erfassen, während sie auftritt, indem eine stark zusammenwirkende virtuelle grafische Desktopumgebung eingesetzt wird, welche in der Lage ist, digitale Inhalte von verschiedenen Quellen in verschiedenen Formaten darzustellen, was mehreren Benutzern ermöglicht, unverzüglich Informationen zu teilen und die geteilten Inhalte gleichzeitig zu kommentieren. Eine solche Zusammenarbeit von mehreren Benutzern zu ermöglichen, würde die Produktivität von Unternehmen stark verbessern, umso mehr, wenn dies auch den Einsatz einer Anzeigewand im großen Maßstab anstelle oder zusätzlich zu einem einzelnen Bildschirm umfassen würde.
  • In der Ära von Big Data fordert ein Synthetisieren von Informationen die meisten Experten bzw. Vordenker. Noch schwieriger kann die Aufgabe sein, aggregierte Einsichten, welche gleichzeitig von vielen Quellen beigetragen werden, anderen zu kommunizieren, welche den großen Zusammenhang verstehen sollen. Daher ist eine andere Benutzerumgebung oder ein anderes Benutzerforum, welches von einer solchen Verbesserung einer Zusammenarbeit von mehreren Spezialisten profitieren könnte, das Gesundheitswesen.
  • Zusammenfassung
  • Die vorliegende Offenbarung stellt vorteilhafterweise ein interaktives Anzeigesystem für mehrere Benutzer bereit, welches Verbesserungen bei den Möglichkeiten von Individuen und Gruppen ermöglicht, um digitale Daten und Informationen zu interpretieren und zu verarbeiten. Das Anzeigesystem kann einen einzigen Bildschirm aufweisen oder kann ausgestaltet sein, um eine große Anzeigewand aufzuweisen.
  • Das offenbarte interaktive Mehrbenutzer-Anzeigesystem (das „System”), wobei eine Ausführungsform davon als ThriveTM bekannt sein könnte, weist ein Computersoftwarepaket auf, welches entworfen ist, um zusammenwirkende Erfahrungen von mehreren Benutzern in einer Umgebung mit einem einzigen Bildschirm und/oder mit einer großen fliesenartigen Anzeigewand mit einer hohen Auflösung zu verbessern. Das System ermöglicht dies, indem es mehreren Benutzern ermöglicht, denselben grafischen Arbeitsbereich gemeinsam zu nutzen und mit den Inhalten in dem Arbeitsbereich gleichzeitig zu interagieren, während die Kenntnis eines Inhaltsbesitzes aufrechterhalten wird, und es in der Lage ist, zwischen den jeweiligen Interaktionen eines Benutzers mit den entsprechenden Inhalten zu unterscheiden.
  • Die Systemsoftware besteht aus zwei unabhängigen Anwendungen: dem Systemsoftwareserver (Systemserver) und dem Systemsoftwareclient (Systemclient). Der Systemserver läuft in einer hoch performanten Grafikworkstation, welche in bestimmten Ausführungsformen mit den mehreren Anzeigeeinheiten einer Anzeigewand verbunden ist. Bei solchen Ausführungsformen stellt der Systemserver einen einzigen virtuellen grafischen Desktoparbeitsbereich bereit, welcher sich nahtlos über die fliesenartigen Anzeigeeinheiten erstreckt. Alternativ ist die Workstation mit einem einzigen Bildschirm ultrahoher Auflösung verbunden, wobei derselbe grafische Arbeitsbereich in einer kleineren Abmessung bereitgestellt wird. Unabhängig von der Anzeigekonfiguration ermöglicht die Systemsoftware eine Mehrbenutzerinteraktivität. Der Systemclient läuft in jeder individuellen Eingabevorrichtung eines Benutzers (typischerweise einem Laptop) und wird eingesetzt, um (vorzugsweise drahtlos) mit dem Systemserver zu kommunizieren, damit die Benutzer einen Inhalt, welcher auf der Anzeigewand dargestellt wird, gemeinsam nutzen können und abgesetzt mit dem gemeinsam genutzten Inhalt kommunizieren können, wobei sie ihre jeweiligen individuellen Eingabevorrichtungen einsetzen.
  • Das offenbarte System ermöglicht einen höchst zusammenwirkenden, gemeinsam genutzten Arbeitsbereich, da es mehrere digitale Inhalte gleichzeitig den zusammenarbeitenden Benutzern darstellen kann und den Benutzern ermöglicht, gleichzeitig mit den verschiedenen dargestellten Inhalten zu interagieren.
  • Bei einer Ausführungsform wird ein Verfahren bereitgestellt, um die Anzeige einer Information zu manipulieren, welche auf einer Videoanzeige dargestellt wird, was eine Mehrzahl von übertragenen Informationsdateien, die bei einem Server erfasst werden, einschließt, wobei eine Übertragung jeder aus der Mehrzahl der übertragenen Informationsdateien durch eine andere von mehreren Rechenvorrichtungen begonnen wird. Das Verfahren weist einen Aufbau von mehreren Kommunikationskanälen bei dem Server auf, wobei jeder der mehreren Kommunikationskanäle einer anderen der mehreren Rechenvorrichtungen zugeordnet ist. Das Verfahren weist darüber hinaus ein Halten jeder aus der Mehrzahl der übertragenen Informationsdateien auf dem Server und ein Darstellen jeder aus der Mehrzahl der übertragenen Informationsdateien gleichzeitig auf der Anzeige auf.
  • Bei einer anderen Ausführungsform wird ein Verfahren bereitgestellt, um Interaktionen mehrerer Benutzer mit einer Information, welche auf einer Videoanzeigewand dargestellt wird, zu verarbeiten, was ein Speichern mehrerer Informationsdateien, welche durch mehrere Rechenvorrichtungen übertragen werden, auf einem Server einschließt. Das Verfahren weist darüber hinaus ein Darstellen jeder der mehreren gespeicherten Informationsdateien auf der Anzeigewand und ein in Verbindung Bringen einer von mehreren grafischen Benutzerschnittstellenkomponenten mit einer bestimmten der mehreren Rechenvorrichtungen auf. Das Verfahren weist auch ein Darstellen der grafischen Benutzerschnittstellenkomponente für jede der mehreren Rechenvorrichtungen auf der Anzeigewand auf, wobei die dargestellte grafische Benutzerschnittstellenkomponente direkt durch die damit in Verbindung stehende der mehreren Rechenvorrichtungen gesteuert wird.
  • Bei noch einer anderen Ausführungsform wird ein Videoanzeigewandsystem zur Darstellung einer Information, welche durch mehrere Rechenvorrichtungen bereitgestellt wird, bereitgestellt, wobei jede mit dem Videoanzeigewandsystem nach Ermessen eines Benutzers interagiert, was eine Anzeigewand und einen Systemserver einschließt. Der Systemserver ist operativ mit der Anzeigewand und den mehreren Rechenvorrichtungen gekoppelt. Der Systemserver weist einen Kommunikationsmanager, welcher ausgestaltet ist, um mehrere von übertragenen Interaktionsnachrichten von jeder der mehreren Rechenvorrichtungen zu empfangen, einen Dateimanager, eine Szenen-Render-Vorrichtung bzw. Szenenrenderer und einen Mehrbenutzer-Interaktionsmanager auf. Der Dateimanager ist ausgestaltet, um eine Mediendatei von jeder der mehreren Rechenvorrichtungen zu empfangen. Die Szenen-Render-Vorrichtung ist ausgestaltet, um die Mediendatei von jeder der mehreren Rechenvorrichtungen zur Anzeige auf der Anzeigewand als die Videoinformation zu rendern. Der Mehrbenutzer-Interaktionsmanager ist ausgestaltet, um Interaktionen von jeder der mehreren Rechenvorrichtungen mit der dargestellten Videoinformation abhängig von den empfangenen Interaktionsnachrichten anzuleiten.
  • Kurze Beschreibung der Zeichnungen
  • Die vorab genannten Aspekte und andere Eigenschaften und Vorteile eines Verfahrens oder eines Systems gemäß der vorliegenden Offenbarung werden ersichtlicher und verständlicher mit Bezug zu der folgenden Beschreibung von beispielhaften Ausführungsformen im Zusammenhang mit den beigefügten Figuren.
  • 1A stellt eine 4 × 3 fliesenartige Anzeigewand dar, welche bei einer Ausführungsform des offenbarten Systems eingesetzt wird, wobei jede Anzeigeeinheit typischerweise ein hochauflösendes Fernsehgerät ist, und über welches ein einziger virtueller Desktopbildschirm bereitgestellt wird.
  • 1B ist eine fragmentierte, partielle Ansicht einer einzigen Workstation, welche bei einer Ausführungsform des offenbarten Systems eingesetzt wird, um die Anzeigewand der 1A zu steuern.
  • 2 ist eine schematische Darstellung eines Mehrbenutzerinteraktionsschemas gemäß einer Ausführungsform des offenbarten Systems.
  • 3 ist eine schematische Darstellung einer Ausführungsform der Systemsoftwarestruktur, wobei wichtige Softwaremodule dargestellt sind, welche in dem Systemserver und jedem Systemclient vorhanden sind.
  • 4 ist ein Mehrbenutzer-Interaktionsdiagramm für eine Ausführungsform des offenbarten Systems.
  • 5 stellt die abstrakte Klassenhierarchie von Anwendungs- und GUI-Komponenten dar, welche eine Instanz eines grafischen Inhalts umfassen und gleichzeitig mit mehreren Benutzern interagieren können.
  • Entsprechende Bezugszeichen bezeichnen überall in den mehreren Ansichten entsprechende Teile.
  • Beschreibung
  • Die im Folgenden beschriebenen Ausführungsformen sollen die Erfindung nicht erschöpfend beschreiben oder sie auf die genauen Ausbildungen oder Schritte, welche in der folgenden detaillierten Beschreibung offenbart sind, beschränken, sondern diese sind ausgewählt worden und werden hier beschrieben, so dass andere Fachleute die Prinzipien und Praktiken gemäß der vorliegenden Offenbarung durchdringen und verstehen und ihre Lehren einsetzen können. Daher sollte klar sein, dass die hier beschriebene Erfindung in ihrer Anwendung nicht auf die Details beschränkt ist, welche in der folgenden Beschreibung dargelegt werden oder in den folgenden Zeichnungen dargestellt sind, und andere Ausführungsformen aufweisen kann und in verschiedenen Arten betrieben oder ausgeführt werden kann.
  • Die vorliegende Offenbarung kann mit „objektorientierter” Software und insbesondere mit einem „objektorientierten” Betriebssystem ausgeführt werden. Die „objektorientierte” Software ist in „Objekten” organisiert, welche jeweils typischerweise einen Satz von Computeranweisungen aufweisen, die verschiedene Prozeduren („Methoden”) beschreiben, welche abhängig von „Nachrichten”, die an das Objekt gesendet werden, oder abhängig von „Ereignissen”, welche bei dem Objekt auftreten, auszuführen sind. Solche Operationen weisen zum Beispiel die Manipulation von Variablen, die Aktivierung eines Objekts durch ein externes Ereignis und die Übertragung von einer oder von mehreren Nachrichten zu anderen Objekten auf.
  • Nachrichten werden zwischen Objekten gesendet und empfangen, welche bestimmte Funktionen aufweisen und die Kenntnis haben, Prozesse auszuführen. Nachrichten werden abhängig von Benutzeranweisungen erzeugt, zum Beispiel indem ein Benutzer ein Symbol mit einem „Maus”-Zeiger aktiviert und dadurch ein Ereignis erzeugt. Es können auch Nachrichten durch ein Objekt abhängig von dem Empfang einer Nachricht erzeugt werden. Wenn eines der Objekte eine Nachricht empfängt, führt das Objekt eine Operation (eine Nachrichtenprozedur) aus, welche mit der Nachricht korrespondiert, und gibt, wenn es notwendig ist, ein Ergebnis der Operation zurück. Jedes Objekt weist einen Bereich auf, in welchem interne Zustände (Instanzvariablen) des Objekts selbst gespeichert werden und in welchem die andern Objekte keinen Zugriff haben. Ein Merkmal eines objektorientierten Systems ist die Vererbung. Zum Beispiel kann ein Objekt zum Zeichnen eines „Kreises” auf eine Anzeige Funktionen und Kenntnisse von einem anderen Objekt zum Zeichnen einer „Form” auf eine Anzeige vererben.
  • Ein Programmierer „programmiert” in einer objektorientierten Programmiersprache, indem er individuelle Blöcke, welche jeweils ein Objekt kreieren, in dem seine Methoden definiert werden, schreibt. Eine Sammlung von solchen Objekten, welche ausgestaltet sind, um miteinander durch Nachrichten zu kommunizieren, ergibt ein objektorientiertes Programm. Eine objektorientierte Programmierung eines Computers ermöglicht die Modellierung von interaktiven Systemen, bei welcher jede Komponente des Systems mit einem Objekt modelliert werden kann, wobei das Verhalten von jeder Komponente durch die Methoden ihres entsprechenden Objekts simuliert wird und wobei die Interaktionen zwischen Komponenten simuliert werden, indem Nachrichten zwischen Objekten übertragen werden.
  • Ein Operator kann eine Sammlung von in gegenseitiger Beziehung stehenden Objekten, welche ein objektorientiertes Programm umfasst, anregen, indem eine Nachricht an eines der Objekte gesendet wird. Der Empfang der Nachricht kann bewirken, dass das Objekt antwortet, indem vorbestimmte Funktionen ausgeführt werden, welche einschließen können, dass weitere Nachrichten an ein oder an mehrere andere Objekte gesendet werden. Die anderen Objekte können wiederum weitere Funktionen abhängig von den Nachrichten, die sie empfangen, ausführen, was ein Senden von noch weiteren Nachrichten einschließt. Auf diese Weise können sich Folgen und Kombinationen von Nachrichten und Antworten fortsetzen und können zu einem Ende kommen, wenn auf alle Nachrichten reagiert worden ist und keine neuen Nachrichten gesendet werden. Wenn ein Modellieren von Systemen eine objektorientierte Sprache verwendet, muss ein Programmierer nur darüber nachdenken, wie jede Komponente eines modellierten Systems auf eine Anregung antwortet, und muss nicht bezüglich der Folge von Operationen nachdenken, welche abhängig von einigen Anregungen auszuführen sind. Solch eine Folge von Operationen ist die Folge der Interaktionen zwischen den Objekten in Abhängigkeit von der Anregung und muss nicht durch den Programmierer vorher bestimmt werden.
  • Obwohl eine objektorientierte Programmierung eine Simulation von Systemen von in gegenseitiger Beziehung stehenden Komponenten intuitiver macht, ist die Arbeitsweise eines objektorientierten Programms oft schwer zu verstehen, da die Folge von Operationen, welche durch ein objektorientiertes Programm ausgeführt wird, gewöhnlicherweise nicht sofort aus einem Softwarelisting ersichtlich wird, wie es für sequenziell organisierte Programme der Fall ist. Weder ist einfach zu bestimmen, wie ein objektorientiertes Programm arbeitet, indem einfach die leicht zu verstehenden Ausdrücke ihrer Arbeitsweise betrachtet werden. Die meisten Operationen, welche durch einen Computer abhängig von einem Programm ausgeführt werden, sind für einen Betrachter „unsichtbar”, da typischerweise nur relativ wenige Schritte in einem Programm eine sichtbare Computerausgabe erzeugen.
  • Zahlreiche Begriffe, welche häufig benutzt werden, haben in dem aktuellen Kontext spezielle Bedeutungen. Der Begriff „Objekt” bezieht sich auf eine Gruppe von Computeranweisungen und zugehörige Daten, welche direkt oder indirekt durch den Benutzer aktiviert werden können. Die Begriffe „Fenstereinblendtechnik”, „Arbeiten in Fenstern” und „objektorientiertes Betriebssystem” werden verwendet, um eine Computerbenutzerschnittstelle zu bezeichnen, bei welcher Information auf einer Videoanzeige manipuliert und dargestellt wird, wie z. B. in begrenzten Bereichen auf einer Rasterscan-Videoanzeige. Die Begriffe „Netzwerk” („network”), „Local Area Network”, „LAN”, „Wide Area Network” und „WAN” bezeichnen zwei oder mehr Computer, welche verbunden sind, so dass Nachrichten zwischen den Computern übertragen werden können. Bei solchen Computernetzwerken arbeitet typischerweise einer oder mehrere Computer als ein „Server”, als ein Computer mit großen Speichereinrichtungen, wie z. B. Festplatten, und Kommunikationshardware, um periphere Vorrichtungen, wie z. B. Anzeigewände, Drucker oder Modems zu betreiben. Andere Computer stellen eine Benutzerschnittstelle bereit, so dass Benutzer von Computernetzwerken Zugang zu Netzwerkressourcen, wie z. B. gemeinsam genutzten Dateien, allgemeinen peripheren Vorrichtungen und einer Kommunikation zwischen Computern, haben können. Benutzer aktivieren Computerprogramme oder Netzwerkressourcen, um „Prozesse” zu erzeugen, welche die allgemeine Arbeitsweise des Computerprogramms zusammen mit Arbeitsweisen, welche spezielle Eigenschaften aufweisen, die durch Eingangsvariablen und Umgebung bestimmt werden, aufweisen.
  • Die Ausführungsform eines interaktiven Mehrbenutzer-Anzeigesystems 18 (d. h. das System 18 oder „das System”), welche hier beschrieben wird, weist eine Anzeigewand 20 auf, wie sie vorab beschrieben ist. Es sei jedoch darauf hingewiesen, dass bestimmte Ausführungsformen eines Systems 18 ausgestaltet sein können, um anstelle oder zusätzlich einen oder mehrere einzelne Bildschirme aufzuweisen, um eine Anzeige 24 bereitzustellen. Das System 18 verwendet auch eine einzelne Workstation oder einen einzelnen PC 26', von dem ein Teil in 1B dargestellt ist. Die Workstation 26' ist strukturell der vorab beschriebenen Workstation 26 ähnlich und kann eine identische Hardware, wie z. B. vier-köpfige NVIDIA Quadro K5200 Grafikkarten 28, 30 und 32 aufweisen. Wie in dem Fall der vorherigen Workstation 26, sind die vier Ausgänge jeder Grafikkarte 28, 30, 32 der Workstation 26' durch ein entsprechendes Kabel jeweils mit einer entsprechenden von spezifizierten Anzeigeeinheiten 22 der Anzeigewand 20, wie sie in 1A dargestellt ist, verbunden. Die Grafikkartenausgänge der Workstation 26' sind in ähnlicher Weise entsprechend spezifiziert 112. Die Workstation 26' unterscheidet sich jedoch deutlich von der vorherigen Workstation 26, indem die Workstation 26' eine Systemsoftware aufweist, welche es ihr ermöglicht, als der Server des Systems 18 (der „System Server” oder Systemserver 46) zu fungieren.
  • Das Mehrbenutzer-Interaktionsmodell des Systems 18 stellt eine virtuelle grafische Desktopsession (einen Arbeitsbereich) bereit, an welche sich mehrere Benutzer anmelden können, bei welcher Inhalte gemeinsam benutzt werden können und mit welcher gleichzeitig interagiert werden kann. Es gibt zwei fundamentale Voraussetzungen, um eine Mehrbenutzerinteraktivität zu ermöglichen:
    • (1) Ein Mechanismus wird bereitgestellt, welcher gleichzeitig mehrere Interaktionsnachrichten von Benutzern empfangen und diese Interaktionen ausführen kann. Diese Voraussetzung stellt einen Begriff des gemeinsam genutzten Desktop-Arbeitsbereichs bereit, wobei jeder teilnehmende Benutzer seine eigene Eingabevorrichtung/seinen eigenen Laptop benutzen kann, um mit dem gemeinsam genutzten Inhalt zu interagieren.
    • (2) Mit grafischen Objekten, welche auf der Anzeigewand erscheinen, kann gleichzeitig interagiert werden, und der Systemserver weiß, welcher Benutzer mit diesen grafischen Objekten interagiert. Diese Voraussetzung enthält eine Besitzerinformation der Medien und der Interaktionen in dem gemeinsam genutzten Arbeitsbereich, in welchem verschiedene Benutzer etwas gemeinsam benutzen und gleichzeitig interagieren können.
  • Daher besteht der Kern der zusammenarbeitenden Umgebungen von mehreren Benutzern, was durch das System 18 ermöglicht wird, aus dem Mechanismus, welcher mehreren Benutzern ermöglicht, ihre Eingabevorrichtungsereignisse gleichzeitig zu streamen, und aus den neu entworfenen grafischen Benutzerschnittstellenkomponenten (GUI-Komponenten), welche sich den Mehrbenutzerinteraktionen auf ihnen bewusst sind.
  • 2 stellt ein Beispiel eines Mehrbenutzer-Interaktionsschemas dar. Bei diesem Beispiel benutzen drei Benutzer, welche Eingabevorrichtungen 34, wie z. B. Laptopcomputer, einsetzen, (welche individuell als Laptopbenutzer A, B und C bezeichnet werden) gemeinsam ihre Medien mit der Anzeigewand 20 (1A), welche durch eine einzige Workstation 26' (1B) betrieben wird. Die Übertragung der gemeinsam genutzten Medien von jedem entsprechenden Laptopbenutzer A, B oder C zu der Workstation 26' verläuft über einen zugeordneten drahtlosen Kommunikationskanal 36 (welcher entsprechend als Kanal A, B oder C bezeichnet ist). Wann immer sich ein Benutzer mit dem Systemserver 46 der Workstation 26' verbindet, wird ein bestimmter Kommunikationskanal 36 zwischen dem Systemserver und diesem Benutzer aufgebaut. Der Systemserver erzeugt auch einen grafischen Mauszeiger 37 für diesen Benutzer beim Aufbau des bestimmten Kommunikationskanals 36, und diese grafischen Zeiger arbeiten in derselben Weise wie Mauszeiger in einer herkömmlichen grafischen Desktopumgebung. Indem ein bestimmter Kommunikationskanal für jeden Benutzer aufgebaut wird, wird die Benutzerinformation über die gemeinsam genutzten Mediendateien 38, die Interaktionsnachrichten 40 und die grafischen Mauszeiger 37 in dem Systemserver 46 gehalten.
  • Die Benutzer interagieren mit den dargestellten gemeinsam genutzten Medien unter Verwendung ihrer entsprechenden individuellen Eingabevorrichtungen 34, welche mit ihren Laptops verbunden sind oder in diese eingebaut sind. Jeder Laptop 34 hat den Systemsoftwareclient installiert, welcher dem Laptop ermöglicht, als einer von mehreren Systemclients 42 zu fungieren. In dem dargestellten Beispiel benutzen der Laptopbenutzer A und der Laptopbenutzer B die Mediendateien 38 gemeinsam, wobei der Systemclient 42 des entsprechenden Laptops verwendet wird. Die gemeinsam genutzten Mediendateien 38 sind, wie es dargestellt ist, die Mediendatei X, welche durch den Laptopbenutzer A freigegeben wird, und die Mediendateien Y und Z, welche durch den Laptopbenutzer B freigegeben werden. Diese Mediendateien 38 werden über die entsprechenden drahtlosen Kommunikationskanäle 36 an die Workstation 26 übertragen, auf welcher der Systemserver 46 läuft. Der Systemserver 46 stellt dann Visualisierungen 44 dieser Medien auf der Anzeigewand 20 bereit.
  • Die Interaktionen von jedem Benutzer mit den Visualisierungen 44 der gemeinsam genutzten Medien erfolgen in der entsprechenden Eingabevorrichtung/Laptop 34 des Benutzers in Echtzeit. In diesem Beispiel interagieren der Laptopbenutzer A und C entsprechend mit der Medienvisualisierung X und der Medienvisualisierung Z. Der entsprechende Systemclient 42 übersetzt die Benutzerinteraktionen des Laptopbenutzers A und des Laptopbenutzers C, welche in ihren Vorrichtungen in Echtzeit erfolgen, und überträgt diese als Interaktionsnachrichten 40 über den entsprechenden drahtlosen Kanal A oder C an den Systemserver 46. Bei Empfang dieser Interaktionsnachrichten 40 interpretiert der Systemserver 46 die Interaktionsnachrichten 40 und interagiert entsprechend mit der Medienvisualisierung 44 auf der Anzeigewand 20 im Namen des entsprechenden Benutzers, von welchem die Interaktionsnachricht 40 gesendet wurde. In dem dargestellten Beispiel interagiert der Systemserver 46 mit der Medienvisualisierung X (welche durch den Laptopbenutzer A freigegeben wird) im Namen des Laptopbenutzers A und mit der Medienvisualisierung Z (welche durch den Laptopbenutzer B freigegeben wird) im Namen von dem Laptopbenutzer C.
  • Die übergreifende Softwarearchitektur des Systems 18 kann mit Bezug zu 3 verstanden werden, welche die Softwarestruktur des Systems als ein Bild darstellt, welches wesentliche Softwaremodule darstellt, die den Systemserver 46 und jeden Systemclient 42 definieren. Die verschiedenen Kernsoftwarekomponenten des Systemservers 46 weisen einen Szenelayer 48; einen Szenebetriebsmittellayer 50, einen Kommunikationsmanagerlayer 52 und einen Dateimanager 54 auf. Kernsoftwarekomponenten in dem Szenelayer 48 weisen auf: Anwendungen 56, welche zur Verwaltung von Instanzen von Klassen verantwortlich sind, die gemeinsam genutzte Medien visualisieren; einen Szenenrenderer 58, welcher einen beschleunigten Grafikkontext zu einer Hardware aufweist, welcher die Szene rendert; und einen Szene- und Arbeitsbereich-Manager 60, ein globales Objekt, welches all die Anwendungsinstanzen in den Arbeitsbereichen hält. Jede Anwendung unterstützt einen entsprechenden Medientyp, wie z. B. Bilder, Videos, PDF-Dokumente und Livestreams, wie z. B. eine Bildschirmspiegelung (VNC). Die Szene stellt die Gruppe von sichtbaren Elementen der Anzeigewand 20 dar, und die Komponenten in dem Szenebetriebsmittellayer 50 werden eingesetzt, um die Benutzerinteraktionen zu dem Szenelayer 48 zu überführen.
  • Kernsoftwarekomponenten in dem Szenebetriebsmittellayer 50 weisen auf: einen Mehrbenutzer-Interaktionsmanager 62; einen Benutzerauthentifizierer 64 und eine Anwendungsfabrik 66.
  • Kernsoftwarekomponenten in dem Kommunikationsmanagerlayer 52 weisen mehrere Nachrichtenhandler 68 auf, welche jeweils dem entsprechenden, benutzerspezifischen Systemclient 42 einer Eingabevorrichtung 34 eines Benutzers zugeordnet sind. Nachrichtenübertragungen zwischen dem Systemserver 46 und den entsprechenden Eingabevorrichtungen 34 eines Benutzers erfolgen zwischen dem entsprechenden Nachrichtenhandler 68 des Kommunikationsmanagerlayers 52 und dem Systemclient 42, welcher in dem entsprechenden Laptop eines Benutzers läuft.
  • Dateiübertragungen zwischen dem Systemserver 46 und den entsprechenden Benutzereingabevorrichtungen 34 erfolgen zwischen dem Dateimanager 54 des Systemservers 46 und dem Systemclient 42 von jeder Benutzereingabevorrichtung 34.
  • Einer der Hauptziele des Systemservers 46 ist, einen virtuellen zusammenwirkenden grafischen Desktoparbeitsbereich zu ermöglichen, in welchem mehrere Benutzer gleichzeitig mit der Szene interagieren und diese ändern können. Wenn ein Benutzer einmal durch den Kommunikationsmanagerlayer 52 in Verbindung steht, dann führt der Szenebetriebsmittellayer 50 die notwendigen Aktionen aus, um den Szeneinhalt zu ändern. Die Mehrbenutzerinteraktivität wird im Wesentlichen durch den Kommunikationsmanagerlayer 52 und den Mehrbenutzer-Interaktionsmanager 62 des Systemservers 46 ermöglicht. Jeder Nachrichtenhandler 68 in dem Kommunikationsmanagerlayer 52 ist ein separater Thread, welcher die Kommunikation zwischen dem Systemserver 46 und dem Systemclient 42 eines bestimmten Benutzers bearbeitet. Dies ermöglicht, dass Interaktionsnachrichten 40 von mehreren Benutzern gleichzeitig an dem Kommunikationsmanagerlayer 52 empfangen werden. Der Kommunikationsmanagerlayer 52 serialisiert dann diese gleichzeitig kommunizierten Interaktionsnachrichten 40 und leitet diese sequenziell zu dem Mehrbenutzer-Interaktionsmanager 62 weiter.
  • Das gemeinsame Benutzen von Mediendateien 38 durch den Systemclient 42 wird durch den Dateimanager 54 des Systemservers 46 abgewickelt. Wann immer der Dateimanager 54 eine Mediendatei 38 eines bestimmten Typs empfängt, meldet er dies der Anwendungsfabrik 66 des Szenebetriebsmittellayers 50, wobei eine Instanz der entsprechenden Anwendung 56 für den Dateityp erzeugt wird. Die Anwendungsfabrik 66 übergibt dann die Anwendungsinstanz an die Szene und den Arbeitsbereichmanager 60 des Szenelayers 48. Die Anwendungsinstanz wird durch den Szenenrenderer 58 des Szenelayers 48 visualisiert und durch die Grafikkarte(n) 28, 30, 32 an die Anzeigewand 20 geleitet.
  • 4 ist ein Mehrbenutzer-Interaktionsdiagramm. Interaktionsnachrichten 40 von dem Systemclient 42 des Benutzers werden individuell durch den Nachrichtenhandler 68 empfangen und durch den Kommunikationsmanager 52 des Systemservers 46 serialisiert. Der Mehrbenutzer-Interaktionsmanager 62 des Szenebetriebsmittellayers 50 empfängt dann die serialisierten Interaktionsnachrichten und interagiert mit einer entsprechenden Komponente im Namen des Benutzers. 4 zeigt, wie Interaktionen des Benutzers von dem Systemclient 42 an den Systemserver 46 weitergeleitet werden und dann zu einer bestimmten Komponente, d. h. zu einer Anwendung oder einer GUI-Grafikkomponente, mit welcher ein Benutzer interagiert, geleitet werden. Der Systemclient 42, welcher in jeder Eingabevorrichtung 34 eines Benutzers läuft, erfasst diese Eingabevorrichtungsereignisse einer Maschine und erzeugt Interaktionsnachrichten 40, welche die Änderung des Benutzers an den visualisierten Medien beschreiben. Diese Interaktionsnachrichten 40 werden sicher über ein Netzwerk (vorzugsweise ein drahtloses Netzwerk eines bekannten Typs) gesendet und durch den Nachrichtenhandler 68 des Kommunikationsmanagerlayers 52 des Systemservers 46 bearbeitet. Die Hauptaufgabe des Kommunikationsmanagers 52 ist, die Interaktionsnachrichten 40, welche gleichzeitig durch die mehreren Nachrichtenhandler 68 von ihrem entsprechenden zugeordneten Systemclient 42 empfangen werden, zu serialisieren. Wenn diese Interaktionsnachrichten 40 einmal serialisiert sind, werden die serialisierten Interaktionsnachrichten 40 sequenziell an den Mehrbenutzer-Interaktionsmanager 62 des Szenebetriebsmittellayers 50 übergeben. Der Mehrbenutzer-Interaktionsmanager 62 findet dann eine Komponente (d. h. ein GUI-Widget bzw. eine GUI-Grafikkomponente oder eine Anwendung), mit welcher an dem Punkt, an welchem die aktuelle Interaktion erfolgt, interagiert werden kann, und verwendet die Interaktion im Namen des Benutzers.
  • 5 ist ein Klassendiagramm, welches die abstrakte Klassenhierarchie einer Instanz von Anwendungen 56 des Szenelayers 48 und von GUI-Komponenten, mit welchen mehrere Benutzer gleichzeitig interagieren können, darstellt, d. h. „konkrete” Anwendungen und GUI-Komponenten. Der Mehrbenutzer-Interaktionsmanager 62 verwendet jede Interaktion eines Benutzers, indem die Methoden der Komponente, welche abstrakt in einer Klasse 74, die AbstractWidget genannt wird, definiert sind, wie es in 5 dargestellt ist, aufgerufen werden.
  • AbstractWidget 74 ist die Basisklasse von Mehrbenutzer-fähigen GUI-Komponenten (der konkreten GUI-Komponentenklasse, welche von AbstractGUI-Widget 76 abgeleitet ist) und von den GUI-Anwendungen (der konkreten Anwendungsklasse, welche von AbstratAppWidget 78 abgeleitet ist). Diese GUI-Komponenten und GUI-Anwendungen stellen Antworten auf Benutzerinteraktionen bereit, indem Handlerfunktionen 80, welche prototypisch in AbstractWidget 74 vorhanden sind, neu implementiert werden. Wie in 5 dargestellt ist, weisen die Handlerfunktionen 80 auf multiuserPress, multiuserRelease, multiuserClick, multiuserDblClick und multiuserScroll. Die Handlerfunktionen 80 empfangen eine Benutzer-ID als ein Funktionsargument, was all die grafischen Komponenten ermöglichen, welche von AbstractWidget abgeleitet sind. Die GUI-Komponenten und GUI-Anwendungen sind daher in der Lage, zu unterscheiden, mit wem sie interagieren. Wenn der Mehrbenutzer-Interaktionsmanager 62 einmal eine interagierbare Instanz (entweder eine GUI-Komponente oder eine GUI-Anwendung) für eine Interaktion, welche bei einem bestimmten Punkt auf der Anzeigewand 20 erfolgt, findet, ruft der Mehrbenutzer-Interaktionsmanager 62 dann einfach die Handlerfunktion(en) 80 des Grafikobjekts mit der eindeutigen Benutzeridentifizierung auf, so dass das Grafik-Objekt wissen kann, mit wem es interagiert.
  • Während beispielhafte Ausführungsformen, welche die Prinzipien der vorliegenden Erfindung beinhalten, vorab offenbart worden sind, ist die vorliegende Erfindung nicht auf die offenbarten Ausführungsformen eingeschränkt. Stattdessen soll diese Systemsoftware jede Variation, jeden Gebrauch oder jede Adaption der Erfindung, welche(r) ihre allgemeinen Prinzipien verwendet, abdecken. Darüber hinaus soll diese Systemsoftware solche Abweichungen von der vorliegenden Offenbarung abdecken, welche zu der bekannten oder üblichen Praxis nach dem Stand der Technik, zu welchem diese Erfindung gehört, gehören und welche unter die Grenzen der beigefügten Ansprüche fallen.

Claims (20)

  1. Verfahren zum Manipulieren der Anzeige einer Information, welche auf einer Videoanzeige dargestellt ist, wobei das Verfahren umfasst: Empfangen von mehreren übertragenen Informationsdateien bei einem Server, wobei eine Übertragung von jeder der mehreren übertragenen Informationsdateien zu Beginn durch eine andere von mehreren Rechenvorrichtungen erfolgt; Aufbauen von mehreren Kommunikationskanälen bei dem Server, wobei jeder der mehreren Kommunikationskanäle einer anderen der mehreren Rechenvorrichtungen zugeordnet ist; Halten von jeder der mehreren übertragenen Informationsdateien auf dem Server; und Darstellen von jeder der mehreren übertragenen Informationsdateien gleichzeitig auf der Anzeige.
  2. Verfahren nach Anspruch 1, darüber hinaus umfassend: Aufbauen von mehreren Nachrichtenbearbeitungsthreads für jede der mehreren Rechenvorrichtungen, wobei jeder der mehreren Nachrichtenbearbeitungsthreads unterschiedlich zu einem anderen der mehreren Nachrichtenbearbeitungsthreads ist und jeder ausgestaltet ist, um gleichzeitig eine Interaktionsnachricht zu bearbeiten, welche durch die mehreren Rechenvorrichtungen übertragen wird.
  3. Verfahren nach Anspruch 2, darüber hinaus umfassend: Serialisieren von jeder der mehreren übertragenen Interaktionsnachrichten bei dem Server; und Ermöglichen einer Interaktion mit irgendeiner der dargestellten mehreren übertragenen Informationsdateien durch jede der mehreren Rechenvorrichtungen, wobei sich die ermöglichte Interaktion von den Interaktionsnachrichten ergibt, welche durch jede der mehreren Rechenvorrichtungen übertragen werden.
  4. Verfahren nach Anspruch 3, wobei das Darstellen jeder der mehreren übertragenen Informationsdateien ein Darstellen einer grafischen Komponente umfasst, welche durch eine der mehreren Interaktionsnachrichten identifiziert wird, bei einer der dargestellten mehreren übertragenen Informationen.
  5. Verfahren nach Anspruch 4, wobei die grafische Komponente eine von mehreren grafischen Komponenten aufweist.
  6. Verfahren nach Anspruch 5, wobei die mehreren grafischen Komponenten durch die Interaktionsnachricht identifiziert werden, welche durch die mehreren Rechenvorrichtungen übertragen wird.
  7. Verfahren nach Anspruch 6, wobei die mehreren grafischen Komponenten einen Zeiger und/oder eine visuelle Rückkopplung von einer von mehreren Aktionen umfassen, welche ein Drücken, ein Loslassen, ein Klicken, ein doppeltes Klicken und ein Scrollen umfassen.
  8. Verfahren zum Bearbeiten von mehreren Benutzerinteraktionen mit einer Information, welche auf einer Videoanzeigewand dargestellt ist, wobei das Verfahren umfasst: Speichern von mehreren Informationsdateien auf einem Server, welche durch mehrere Rechenvorrichtungen übertragen werden; Darstellen jeder der mehreren gespeicherten Informationsdateien auf der Anzeigewand; Zuordnen einer von mehreren grafischen Benutzerschnittstellenkomponenten zu einer bestimmten der mehreren Rechenvorrichtungen; und Darstellen der grafischen Benutzerschnittstellenkomponente auf der Anzeigewand für jede der mehreren Rechenvorrichtungen, wobei die dargestellte grafische Benutzerschnittstellenkomponente direkt durch die zugeordnete der mehreren Rechenvorrichtungen gesteuert wird.
  9. Verfahren nach Anspruch 8, wobei das Darstellen der grafischen Benutzerschnittstellenkomponente auf der Anzeigewand ein Darstellen der dargestellten grafischen Benutzerschnittstellenkomponente der zugeordneten einen der mehreren Rechenvorrichtungen bei irgendeiner der dargestellten mehreren gespeicherten Informationsdateien umfasst.
  10. Verfahren nach Anspruch 9, wobei das Darstellen der dargestellten grafischen Benutzerschnittstellenkomponente ein Darstellen einer Interaktion von mindestens zwei der mehreren grafischen Benutzerschnittstellenkomponenten mit einer der dargestellten Informationsdateien umfasst.
  11. Verfahren nach Anspruch 9, darüber hinaus umfassend: gleichzeitiges Empfangen der mehreren Informationsdateien bei dem Server, welche durch jede der mehreren Rechenvorrichtungen übertragen werden; und gleichzeitiges Darstellen einer Interaktion von jeder der grafischen Benutzerschnittstellenkomponenten mit jeder der mehreren dargestellten Informationsdateien.
  12. Verfahren nach Anspruch 11, wobei die dargestellte grafische Benutzerschnittstellenkomponente einen grafischen Zeiger mit einer dargestellten Benutzerinformation aufweist, welche ausgestaltet ist, um zu identifizieren, welche der mehreren Rechenvorrichtungen eine Bewegung des grafischen Zeigers steuert.
  13. Verfahren nach Anspruch 12, darüber hinaus umfassend ein Empfangen von mehreren Nachrichten bei dem Server, welche gleichzeitig durch jede der mehreren Rechenvorrichtungen übertragen werden, wobei jede der mehreren Nachrichten dem Server eine interagierbare Instanz für eine Interaktion bereitstellt, welche an einem bestimmten Punkt auf der Anzeigewand erfolgt.
  14. Verfahren nach Anspruch 13, darüber hinaus umfassend ein Serialisieren jeder der empfangenen mehreren Nachrichten bei dem Server, welche gleichzeitig durch jeweilige der mehreren Rechenvorrichtungen übertragen werden.
  15. Verfahren nach Anspruch 11, darüber hinaus umfassend ein Darstellen einer grafischen Mehrbenutzer-Benutzerschnittstellenkomponente auf der Anzeigewand, wobei die grafische Mehrbenutzer-Benutzerschnittstellenkomponente mit jeder der mehreren Rechenvorrichtungen interagierbar ist.
  16. Verfahren nach Anspruch 15, darüber hinaus umfassend ein gleichzeitiges Darstellen der Interaktion durch jede der mehreren Rechenvorrichtungen mit der grafischen Mehrbenutzer-Benutzerschnittstellenkomponente auf der Anzeigewand.
  17. Videoanzeigewandsystem zum Darstellen einer Information, welche durch mehrere Rechenvorrichtungen bereitgestellt wird, die jeweils mit dem Videoanzeigewandsystem nach dem Ermessen eines Benutzers interagieren, wobei das Videoanzeigewandsystem aufweist: eine Anzeigewand; und einen Systemserver, welcher betriebsfähig mit der Anzeigewand und den mehreren Rechenvorrichtungen gekoppelt ist, wobei der Systemserver aufweist: einen Kommunikationsmanager, welcher ausgestaltet ist, um mehrere übertragene Interaktionsnachrichten von jeder der mehreren Rechenvorrichtungen zu empfangen; einen Dateimanager, welcher ausgestaltet ist, um eine Mediendatei von jeder der mehreren Rechenvorrichtungen zu empfangen; einen Szenenrenderer, welcher ausgestaltet ist, um die Mediendatei von jeder der mehreren Rechenvorrichtungen zur Anzeige auf der Anzeigewand als die Information zu rendern; und einen Mehrbenutzer-Interaktionsmanager, welcher ausgestaltet ist, um Interaktionen von jeder der mehreren Rechenvorrichtungen mit der dargestellten Information abhängig von den empfangenen Interaktionsnachrichten zu lenken.
  18. Videoanzeigewandsystem nach Anspruch 17, wobei das Kommunikationsmanagermodul darüber hinaus ausgestaltet ist, um gleichzeitig jede der mehreren Interaktionsnachrichten von der jeweiligen der mehreren Rechenvorrichtungen zu empfangen und die gleichzeitig empfangenen mehreren Interaktionsnachrichten zu serialisieren.
  19. Videoanzeigewandsystem nach Anspruch 18, wobei der Mehrbenutzer-Interaktionsmanager darüber hinaus ausgestaltet ist, um die serialisierten mehreren Interaktionsnachrichten zu empfangen.
  20. Videoanzeigewandsystem nach Anspruch 17, wobei der Mehrbenutzer-Interaktionsmanager darüber hinaus ausgestaltet ist, um eine grafische Benutzerschnittstellenkomponente zu identifizieren, welche durch mindestens zwei der Interaktionsnachrichten identifiziert wird, und um jede der Interaktionsnachrichten auf die identifizierte grafische Benutzerschnittstellenkomponente anzuwenden.
DE112016001140.7T 2015-03-09 2016-03-08 Interaktives Mehrbenutzer-Anzeigesystem und Verfahren Withdrawn DE112016001140T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562130380P 2015-03-09 2015-03-09
US62/130,380 2015-03-09
PCT/US2016/021302 WO2016144928A1 (en) 2015-03-09 2016-03-08 Multiuser interactive display system and method

Publications (1)

Publication Number Publication Date
DE112016001140T5 true DE112016001140T5 (de) 2017-11-30

Family

ID=56879693

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016001140.7T Withdrawn DE112016001140T5 (de) 2015-03-09 2016-03-08 Interaktives Mehrbenutzer-Anzeigesystem und Verfahren

Country Status (3)

Country Link
US (2) US20160266860A1 (de)
DE (1) DE112016001140T5 (de)
WO (1) WO2016144928A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10534571B2 (en) * 2017-02-16 2020-01-14 Xevo Inc. Object-based presentation system
US10372402B1 (en) 2018-03-27 2019-08-06 Panoscape Holdings, LLC Multi-panel, multi-communication video wall and system and method for seamlessly isolating one of more panels for individual user interaction
US11240247B2 (en) * 2018-07-27 2022-02-01 Microsoft Technology Licensing, Llc Multi-user computing device configured for executing applications in multiple user contexts simultaneously
US11886766B2 (en) 2018-08-28 2024-01-30 Panoscape Holdings, LLC Multi-panel, multi-communication video wall and system and method for seamlessly isolating one or more panels for individual user interaction
US11010013B2 (en) 2018-10-29 2021-05-18 International Business Machines Corporation Providing visual control guidance on a display
US10901570B2 (en) * 2018-11-26 2021-01-26 International Business Machines Corporation Input placement control guidance on a display

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473851B2 (en) * 2008-02-27 2013-06-25 Cisco Technology, Inc. Multi-party virtual desktop
JP2010181978A (ja) * 2009-02-03 2010-08-19 Seiko Epson Corp 共同作業装置及び共同作業の制御方法
DE202011110880U1 (de) * 2010-04-12 2017-01-20 Google Inc. Kollaborative Cursors in einem gehosteten Textverarbeitungsprogramm
KR20140034612A (ko) * 2012-09-12 2014-03-20 삼성전자주식회사 멀티 유저를 위한 디스플레이 장치 및 그 제어 방법
DK2962478T3 (da) * 2013-02-26 2020-04-20 Mersive Tech Inc System og fremgangsmåde til flerbrugerstyring og mediestreaming til et fælles display

Also Published As

Publication number Publication date
US20160266860A1 (en) 2016-09-15
US20190324704A1 (en) 2019-10-24
WO2016144928A1 (en) 2016-09-15

Similar Documents

Publication Publication Date Title
DE112016001140T5 (de) Interaktives Mehrbenutzer-Anzeigesystem und Verfahren
DE69230095T2 (de) Bildfensterverwaltung von verbundenen Anwendungen
WO2022042925A1 (de) Verfahren und anordnung zur darstellung eines dreidimensionalen gebäudemodells auf einer anzeigevorrichtung auf basis eines wissensgraphen
DE60003246T2 (de) Software Schnittstelle
DE69523593T2 (de) Vorrichtung und verfahren zur aufteilung der anwendung in einer graphischen benutzerschnittstelle
DE69817158T2 (de) Benutzerschnittstellen-Mechanismus zur Manipulierung von Kontexten in Computerverwaltungsapplikationen
DE69533568T2 (de) Virtuelles Desk-Top-System und Verfahren dafür
DE69132981T2 (de) Betriebsmittelsteuerungsanordnung
DE69525336T2 (de) Lernfähiger benutzeroberflächenübersetzer
DE102010052244A1 (de) Verfahren und Vorrichtung zur Darstellung einer grafischen Benutzeroberfläche einer tragbaren Recheneinheit auf einem externen Anzeigegerät
DE69129536T2 (de) Objektbasiertes rechnersystem
DE4446139A1 (de) Verfahren und Einrichtung zum Hervorheben von Objekten in einem Konferenzsystem
DE4434878A1 (de) Fern-Anzeige von Objekten und Cursorbewegungen in einem Konferenzsystem
DE112013003300B4 (de) Schrittweise Vorbereitung von Videos auf die Lieferung
DE102019127726A1 (de) Für fernarbeitsplatz-anwendungen geeignetes streaming individueller anwendungsfenster
DE102016202694A1 (de) Benutzerschnittstelle mit mehreren Anzeigen und Verfahren zur Positionierung von Inhalten auf mehreren Anzeigen
DE112018003521T5 (de) Bereitstellen von anweisungen während einer fernbetrachtung einer benutzerschnittstelle
DE202016107451U1 (de) Systeme zur interaktiven Darstellung eines sichtbaren Teils einer Rendering-Oberfläche auf einem Benutzergerät
DE102015105022B4 (de) Datenverarbeitungsverfahren und Elektronikgerät
DE102013202825A1 (de) Verfahren und System zur Darstellung medizinischer Inhalte
DE112020000620T5 (de) Videoanzeigesystem
DE69017185T2 (de) Verfahren zur Cursorsteuerung der Verschiebungsbewegungen auf bestimmten Arbeitsrechnern.
DE112018003488T5 (de) Bereitstellen von hyperlinks in präsentationen für die fernbetrachtung
WO2023217543A1 (de) Verfahren zum betreiben eines remote desktop systems, remote desktop system und computerlesbares medium
DE102021109241B4 (de) System und verfahren zum bereitstellen interaktiver virtueller schulungen für mehrere medizinische mitarbeiter in echtzeit

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee