DE102015009893A1 - Rendern digitaler Inhalte auf Mehrfachanzeigen - Google Patents

Rendern digitaler Inhalte auf Mehrfachanzeigen Download PDF

Info

Publication number
DE102015009893A1
DE102015009893A1 DE102015009893.4A DE102015009893A DE102015009893A1 DE 102015009893 A1 DE102015009893 A1 DE 102015009893A1 DE 102015009893 A DE102015009893 A DE 102015009893A DE 102015009893 A1 DE102015009893 A1 DE 102015009893A1
Authority
DE
Germany
Prior art keywords
content
browser
display
content item
browser window
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102015009893.4A
Other languages
English (en)
Inventor
Damien Antipa
Alexandre Capt
Ondrej Florian
Tobias Bocanegra
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of DE102015009893A1 publication Critical patent/DE102015009893A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/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
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2356/00Detection of the display position w.r.t. other display screens
    • 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/042Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller for monitor identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer Hardware Design (AREA)

Abstract

Es werden Techniken bereitgestellt zum Segmentieren eines digitalen Inhalts in eine Vielzahl von Kacheln, die über mehrere Anwendungsfenster hinweg angezeigt werden können. Zum Beispiel können, in einer bestimmten Implementierung, die hierin offenbarten Verfahren verwendet werden, um eine Webseite in eine Vielzahl von Kacheln zu segmentieren, worin jede der Kacheln in einem separaten Webbrowser angezeigt werden kann, welcher einen Teil der ursprünglichen Webseite anzeigt. Im Allgemeinen identifiziert jeder Inhaltebrowser, welche Kachel er anzeigt, basierend auf einer Konfiguration, die lokal durch den Browser gespeichert werden kann. Um eine Interaktivität beizubehalten, wie sie von einem aktiven Inhalt bereitgestellt sein mag, umfasst jeder Browser einen Mutationsbeobachter, der konfiguriert ist, Veränderungen in einem Dokumentenobjektmodell (DOM) und/oder einer kaskadierenden Formatvorlage (CSS) zu erkennen, das bzw. die mit dem angezeigten Inhalt assoziiert ist. Erkannte Veränderungen werden in Benachrichtigungsmitteilungen aufgezeichnet, die an andere Inhaltebrowser über eine WebSocket Verbindung oder über eine direkte Peer-zu-Peer Netzwerk ausgesendet werden können.

Description

  • Gebiet der Offenbarung
  • Die vorliegende Offenbarung bezieht sich allgemein auf das visuelle Rendern digitaler Inhalte, und genauer auf Verfahren zum Segmentieren eines digitalen Inhalts in eine Vielzahl von Kacheln, die über mehrere Anwendungsfenster hinweg angezeigt werden können.
  • Hintergrund
  • Große elektronische Bildschirme werden in einer breiten Vielfalt von Anwendungen verwendet, um eine entsprechend vielfältige Breite digitaler Inhalte darzustellen. Zum Beispiel sind Stadions und Arenen oftmals mit riesigen Bildschirmen ausgestattet, die verwendet werden, um Videobilder, Fotografien und andere Informationen für Zehntausende von Zuschauern anzuzeigen. Bildschirme bilden oftmals Bestandteile von Werbedisplays, die in Schaufenstern, Kongresshallen und anderen Örtlichkeiten, an denen Verbraucher anwesend sein können, installiert sind. Auch werden Bildschirme oftmals eingebaut in Informationskioske, interaktive Terminals und ähnliche Vorrichtungen, die in Flughäfen, Bahnhöfen, Vergnügungsparks oder anderen Orten installiert werden, an denen Menschen dazu neigen, sich zu versammeln. Große Bildschirme sind insbesondere nützlich in Anwendungen wie diesen, da sie von Menschenmengen leicht betrachtet werden können, in der Lage sind, über größere Entfernungen hinweg die Aufmerksamkeit auf sich zu lenken und große Mengen an Information darstellen können. Es wurde ein breiter Bereich von Techniken verwendet, um solche Bildschirmanzeigen zu implementieren, einschließlich Projektionsbildschirme und Flachbildschirmmatrixen aus Flüssigkristall-(LCD) oder Leuchtdioden-(LED)Elementen. Zum Beispiel kann ein großer Bildschirm erzeugt werden, indem ein Computer oder eine andere elektronische Vorrichtung verwendet wird, um mehrere einzelne Bildschirme anzusteuern, die physisch in einer Matrix angeordnet sind, wie einer 3×3 Matrix aus LED Fernsehern, die nebeneinander angeordnet sind. Diese Technik kann auf einer kleineren Skala repliziert werden, indem eine Mehrzahl kleinerer Vorrichtungen, wie Tablet-Computern, in einer Matrix angeordnet werden. Unabhängig von der Technologie, wie dies implementiert wird, werden solche zusammengesetzten Anzeigesysteme oft mit einer Ansteuereinrichtung verwendet, welche Software und elektronische Schaltungen enthält, die in der Lage sind, simultan alle der Anzeigen auf eine koordinierte Weise anzusteuern.
  • Kurze Beschreibung der Zeichnungen
  • 1A ist ein Screenshot, der einen digitalen Inhalt zeigt, der in einem Anwendungsfenster angezeigt wird, das konzeptuell in mehrere Kacheln segmentiert ist.
  • 1B ist ein Screenshot, der den digitalen Inhalt der 1A zeigt, wobei dieser Inhalt über mehrere Anwendungsfenster hinweg angezeigt wird.
  • 2 ist ein Blockdiagramm, das schematisch ausgewählte Komponenten eines vernetzten Computersystems zeigt, das verwendet werden kann, um bestimmte der hierin offenbarten Ausführungsformen zu implementieren.
  • 3 ist ein Blockdiagramm, das schematisch eine beispielhafte Ausführungsform einer zusammengesetzten Anzeigevorrichtungsmatrix zeigt, welche eine Mehrzahl von berührungsempfindlichen Anzeigevorrichtungen umfasst.
  • 4 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Segmentieren eines digitalen Inhaltselements in eine Vielzahl von Kacheln zeigt, die über mehrere Anwendungsfenster hinweg angezeigt werden.
  • 5 ist ein Datenflussdiagramm, das schematisch beispielhafte Datenflüsse darstellt, die auftreten, wenn ein digitales Inhaltselement in eine Vielzahl von Kacheln segmentiert wird, die über mehrere Anwendungsfenster hinweg angezeigt werden.
  • 6A zeigt eine beispielhafte kaskadierende Formatvorlage-Mutationsbenachrichtigungsmitteilung, welche von einem erkennenden Browser an einen oder mehrere reagierende Browser übertragen wird.
  • 6B zeigt eine beispielhafte Dokumentenobjektmodell-Mutationsbenachrichtigungsmitteilung, welche von einem erkennenden Browser an einen oder mehrere reagierende Browser übertragen wird.
  • Detaillierte Beschreibung
  • Große elektronische Bildschirme umfassen oftmals eine Vielzahl kleinerer Flachbildschirme, die nebeneinander angeordnet sind, um beispielsweise eine Matrix zu bilden. Wenn mehrere Bildschirme auf diese Weise angeordnet sind, wird die resultierende größere Anzeigevorrichtungsmatrix oft als eine zusammengesetzte Anzeige oder eine Mehr-Panel-Anzeige bzw. Mehr-Panel-Bildschirm bezeichnet. Mit der Verbesserung der Anzeigetechnologie, der Abnahme der einzelnen Randgrößen und der Abnahme der Kosten der Bildschirme wurden zusammengesetzte Anzeigen zunehmend populär. Zum Beispiel hat es die zunehmende Vielseitigkeit von Tablet-Computern, handgehaltenen Computern und anderen tragbaren Vorrichtungen möglich gemacht, unter Verwendung derartiger Vorrichtungen zusammengesetzte Anzeigen auf einer kleineren Skala zu verwirklichen. Trotz ihrer Popularität leiden existierende zusammengesetzte Anzeigen dennoch an einer Anzahl von Mängeln, teils aus dem Grund, dass derartige Anzeigen oftmals auf ein proprietäres Ansteuersystem angewiesen sind, das zur Verwendung mit einer bestimmten Anzeigekonfiguration und/oder Anzeigehardware entworfen ist. Dies macht es für Benutzer schwer, ihre eigenen maßgeschneiderten Anzeigen zusammenzusetzen, die eine einzigartige Größe oder Form haben, oder Vorrichtungen verwenden, für die eine Ansteuersystem für eine zusammengesetzte Anzeige nicht zur Verfügung steht. Noch grundlegender ist, dass viele existierende Ansteuersysteme für zusammengesetzte Anzeigen auf Basis einer bildschirmbasierten Logik arbeiten, welche darauf basiert, einen größeren Bildschirmbereich in kleinere Segmente zu unterteilen. Dieser Ansatz kann nicht leicht auf seitenbasierte digitale Inhalte, wie Webseiten, welche in gegenwärtigen Rechnerumgebungen allgegenwärtig geworden sind, angewandt werden. Zum Beispiel fehlt existierenden Systemen zur Anzeigesegmentierung die Fähigkeit, die interaktive Natur von Webinhalten robust auf eine zusammengesetzte Anzeigeumgebung auszudehnen. Dies Mängel übertragen sich auf eine substantielle Behinderung von Entwicklern, die danach trachten, die Funktionalität und Marktdurchdringung zusammengesetzter Anzeigesysteme zu erweitern.
  • Aus diesem Grund, und in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen, werden Techniken zum Segmentieren eines digitalen Inhalts in eine Vielzahl von Kacheln bereitgestellt, die über mehrere Anwendungsfenster hinweg angezeigt werden können. Zum Beispiel können die hierin offenbarten Verfahren in einer spezifischen Implementierung angewandt werden, um eine Webseite in eine Vielzahl von Kacheln zu segmentieren, worin jede der Kacheln in einem separaten Webbrowser angezeigt werden kann, der einen Teil der ursprünglichen Webseite anzeigt. Im Allgemeinen identifiziert jeder Inhaltebrowser basierend auf einer Konfiguration, die lokal durch den Browser gespeichert werden kann, welche Kachel er anzeigt. Um die Interaktivität beizubehalten, die zum Beispiel durch aktive Inhalte bereitgestellt wird, weist jeder Browser einen Mutationsbeobachter auf, der konfiguriert ist, Änderungen in einem Dokumentenobjektmodell (”document object model”, DOM) und/oder in einer kaskadierenden Formatvorlage (”cascading style sheet”, CSS) zu erkennen, das bzw. die mit dem angezeigten Inhalt assoziiert ist. Erkannte Änderungen werden in Benachrichtigungsmitteilungen aufgezeichnet, die an andere Inhaltebrowser über eine WebSocket Verbindung oder über ein direktes Peer-zu-Peer Netzwerk ausgestrahlt werden können. Dieser Ansatz erlaubt es auf vorteilhafte Weise, seitenbasierte Inhalte unter Verwendung einer zusammengesetzten Anzeige anzuzeigen, ohne ein proprietäres Ansteuersystem zu verwenden, was es einfach macht, die Größe und die Form der zusammengesetzten Anzeige zu manipulieren und die Anzeige mittels einer breiten Vielfalt unterschiedlicher Anzeigevorrichtungen zu implementieren.
  • Wie hierin verwendet bezieht sich der Ausdruck ”Inhalt”, zusätzlich zu dessen gewöhnlicher Bedeutung, auf Information, die zum direkten oder indirekten Konsum durch einen Benutzer gedacht ist. Zum Beispiel umfasst der Begriff Inhalt Information, die direkt durch einen Benutzer konsumiert wird, wie zum Beispiel wenn sie direkt auf einer Anzeigevorrichtung angezeigt wird, indem sie mit Hilfe eines Inhaltebrowsers gerendert wird, oder auf ein Stück Papier ausgedruckt wird. Der Begriff Inhalt umfasst auch Information, die nicht speziell dazu vorgesehen ist, angezeigt zu werden, und umfasst daher auch Elemente wie Software, ausführbare Anweisungen, Skripte, Hyperlinks, Adressen, Zeiger, Metadaten und Formatierungsinformation. Zum Beispiel kann eine Webseite als ein Inhaltselement verstanden werden, das aus einer Mehrzahl anderer Inhaltselemente wie Bilder, Text, Hyperlinks, Formatierungsinformation und Metadaten besteht. Die Verwendung des Begriffs Inhalt ist (a) unabhängig davon, wie der Inhalt dem Benutzer zum Konsum präsentiert wird, und (b) unabhängig von der Softwareanwendung, die verwendet wurde, um den Inhalt zu erzeugen, oder die verwendet wird, um den Inhalt zu rendern. Ein Inhalt kann kodiert sein mittels einem oder mehrerer Komprimierungsalgorithmen, die dazu gedacht sind, die für die Übertragung des Inhalts über ein Netzwerk erforderliche Bandbreite zu reduzieren. Ein Inhalt kann auch dadurch gekennzeichnet sein, dass er „Inhaltselemente” oder „Assets” umfasst. Die Begriffe „digitale Inhalte” und „digitale Assets” beziehen sich auf Inhalt, der in Binärzahlen kodiert ist (beispielsweise Nullen und Einsen). Im Kontext von Anwendungen, die digitale Rechner involvieren werden daher die Begriffe „Inhalt”, „digitaler Inhalt”, „Asset” und „digitale Assets” oftmals synonym verwendet.
  • In ihrer Verwendung hierin beziehen sich die Begriffe ”Browser” und ”Inhaltebrowser”, neben ihren gewöhnlichen Bedeutungen, auf Softwareanwendungen, die eingerichtet sind, digitale Inhalte, die von einer Speicherressource erhalten wurden, abzurufen und zu rendern. Ein Inhalt, der gebrowst werden soll, kann durch eine Netzwerkadresse identifiziert werden, die von einem Benutzer eingegeben wird, oder die ausgewählt wird aus einem zuvor gerenderten Inhalt in der Form eines Hyperlinks. Ein Browser kann sowohl Benutzerschnittstellenelemente, die Zugriff auf Funktionalität bietet, die mit dem Konsum von Inhalten assoziiert ist (wie Scrollbalken, Menübalken, Werkzeugleisten und ähnliches), als auch ein Browserfenster beinhalten, in welchem der gerenderte Inhalt erscheint. Es wird verstanden werden, dass ein Browserfenster eine sichtbare Begrenzung aufweisen kann, oder auch keine sichtbare Begrenzung aufweisen kann. Der Browser kann konfiguriert sein, Inhalte zu rendern, die gemäß einer breiten Vielfalt von Dateiformaten und Protokollen gespeichert sind. Die von einem Inhaltebrowser bereitgestellte Funktionalität kann erweitert werden mittels der Verwendung von Plug-Ins und/oder Erweiterungen, die konfiguriert werden können, um zum Beispiel eine WebSocket Verbindung herzustellen, welche es erlaubt, dass ein Inhalt aktiv gepusht wird zwischen verbundenen Vorrichtungen. Ein „Webbrowser” ist eine Klasse von Browsern, die spezifisch dafür konfiguriert ist, digitale Inhalte abzurufen und zu rendern, auf die über das Web (World Wide Web, WWW) zugegriffen werden können, obwohl viele Webbrowser auch in der Lage sind, auf Information zuzugreifen, die von Inhalteservern in privaten Netzwerken und von Dateiservern in einer Reihe unterschiedlicher Dateisysteme bereitgestellt werden.
  • In seiner Verwendung hierin bezieht sich der Begriff ”Anzeige”, zusätzlich zu seiner gewöhnlichen Bedeutung, auf eine Vorrichtung, die eingerichtet ist, Inhalte visuell zu rendern. Die Anzeigevorrichtungen können implementiert werden unter Verwendung eines breiten Bereichs von Technologien, einschließlich Projektionsanzeigen, Matrizen aus Flachbildschirmen mit LCD oder LED Elementen, und Plasmaflachbildschirme. Anzeigen können auch implementiert werden unter Verwendung einer berührungsempfindlichen Oberfläche, was in einer Anzeige resultiert, die sowohl als Eingabevorrichtung als auch als Ausgabevorrichtung fungieren kann. Eine ”zusammengesetzte” oder ”mehr-Panel” Anzeige wird hergestellt, indem eine Mehrzahl von Anzeigevorrichtungen nebeneinander angeordnet werden, was in einer größeren Anzeige resultiert, die eine benutzerdefinierte Abmessung und/oder Form aufweist. Während zusammengesetzte Anzeigen oftmals eine rechteckige Form aufweisen, wird es verstanden werden, dass im Allgemeinen im Wesentlichen jede Form oder Größe für eine zusammengesetzte Vorrichtung verwendet werden kann, und daher kann in bestimmten Ausführungsformen eine zusammengesetzte Anzeige eine unregelmäßige und/oder asymmetrische Form aufweisen, wie eine L-Form oder eine O-Form mit einem hohlen Mittelbereich. Eine zusammengesetzte Anzeige kann jede geeignete Anzahl von Anzeigevorrichtungen umfassen. In einigen Fällen kann eine zusammengesetzte Anzeige Anzeigen umfassen, welche unterschiedliche Größen und/oder Formen aufweisen, so dass sich zum Beispiel eine relativ breitere Anzeige sich über die kombinierten Breiten von zwei oder mehr relativ schmäleren Anzeigen erstreckt.
  • Wie hierin verwendet bezieht sich der Ausdruck ”Kachel”, zusätzlich zu dessen gewöhnlicher Bedeutung, auf einen konzeptionellen Unterbereich eines Inhaltselements oder einen Unterbereich einer zusammengesetzten Anzeige, in der zumindest ein Teil des Inhaltselements gerendert wird. Zum Beispiel kann ein Inhaltebrowser als ein Browserfenster enthaltend verstanden werden, das konzeptuell in eine linke Kachel und eine rechte Kachel unterteilt werden kann. Teile von gerendertem Inhalt, die in der linken Kachel erscheinen, können konfiguriert sein, auf einem ersten (linksseitigen) Bildschirm einer zusammengesetzten Anzeige zu erscheinen, während Teile des gerenderten Inhalts, welche in der rechten Kachel erscheinen, konfiguriert sein können, auf einem zweiten (rechtsseitigen) Bildschirm einer zusammengesetzten Anzeige zu erscheinen. Es wird verstanden werden, dass Kacheln im Allgemeinen konzeptionelle Elemente sind, welche konfiguriert werden können, eine benutzerdefinierte Form und Größe aufzuweisen. So ist zum Beispiel 1A ein Screenshot, der einen digitalen Inhalt zeigt, der in einem Browserfenster 3000 angezeigt wird, das konzeptuell in mehrere Kacheln segmentiert ist, während die 1B denselben Inhalt zeigt, wie er über ein erstes Browserfenster 3100, das der ersten Kachel entspricht, und über ein zweites Browserfenster 3200, das der zweiten Kachel entspricht, hinweg angezeigt wird. Eine Kachel kann auch als ein „Darstellungsfeld” bzw. „Viewport” bezeichnet werden.
  • Systemarchitektur
  • 2 ist ein Blockdiagramm, das schematisch ausgewählte Komponenten eines vernetzten Computersystems 1000 zeigt, das verwendet werden kann, um bestimmte der hierin offenbarten Ausführungsformen zu implementieren. Wie gezeigt umfasst das vernetzte Computersystem 1000 eine oder mehrere Rechnervorrichtungen 100, und kann auch einen Inhalteserver 200 und/oder einen Konfigurationsmanager 300 beinhalten. Die Rechnervorrichtung 100, und optional der Inhalteserver 200 und/oder der Konfigurationsmanager 300, kann bzw. können konfiguriert sein, über ein Netzwerk 500 miteinander zu kommunizieren. Die Architektur und Funktionalität der verschiedenen Komponenten und Unterkomponenten, welche das vernetzte Computersystem 1000 bilden, werden der Reihe nach beschrieben. Im Allgemeinen wird jedoch verstanden werden, dass solche Ausführungsformen Techniken zum Segmentieren eines digitalen Inhalts in eine Vielzahl von Kacheln bereitstellen, die über mehrere Anwendungsfenster hinweg angezeigt werden können. Da jedoch die speziellen Ressourcen, Komponenten, und Funktionalität, die in einer Implementierung bereitgestellt werden, spezifisch auf die Anforderungen einer bestimmten Anwendung maßgeschneidert sein können, ist diese Offenbarung nicht dazu gedacht, auf die Bereitstellung bestimmter Ressourcen, Komponenten, oder Funktionalität beschränkt zu sein, oder irgendwelche Ressourcen, Komponenten, oder Funktionalität auszuschließen.
  • Die Rechnervorrichtung 100 umfasst zum Beispiel eine Vorrichtung ausgewählt von einem Schreibtischcomputer, einem Laptopcomputer, einem Arbeitsplatzrechner, einem Tablet-Computer, einem Smartphone, einem handgehaltenen Computer, einer Set-Top-Box, oder einer anderen geeigneten Rechnervorrichtung. In bestimmten Ausführungsformen kann eine Kombination verschiedener Typen von Rechnervorrichtungen verwendet werden. Die Rechnervorrichtung 100 ist mit einer Anzeigevorrichtung 170 assoziiert, wie einer berührungsempfindlichen Anzeigevorrichtung. Im allgemeinen kann die Anzeigevorrichtung 170 implementiert werden unter Verwendung eines breiten Bereichs von Technologien, einschließlich Pojektionsanzeigen, Flachbildschirmmatrizen aus LCD oder LED Elementen, und Plasmaflachbildschirme. Die Anzeigevorrichtung 170 kann eine berührungsempfindliche Oberfläche aufweisen, aber muss dies nicht. In Ausführungsformen, in denen das vernetzte Computersystem 1000 eine Mehrzahl von Rechnervorrichtungen 100 aufweist, wie in der in 2 dargestellten beispielhaften Ausführungsform, wo das vernetzte Computersystem 1000 eine Mehrzahl zusätzlicher Rechnervorrichtungen 100' aufweist, kann eine entsprechende Mehrzahl von Anzeigevorrichtungen 170 unter Verwendung unterschiedlicher Technologien implementiert werden. In einigen Ausführungsformen kann eine einzelne Rechnervorrichtung mit mehreren Anzeigevorrichtungen assoziiert sein, in anderen Ausführungsformen ist jede einer Mehrzahl von Rechnervorrichtungen mit einer einzelnen Anzeigevorrichtung assoziiert, und in nochmals anderen Ausführungsformen wird eine Kombination der vorstehenden Konfigurationen verwendet. Jede Anzeigevorrichtung 170 ist mit einem eindeutigen Anzeigeidentifikator 172 assoziiert. Eine Mehrzahl von Anzeigevorrichtungen 170 kann so angeordnet werden, dass sie eine zusammengesetzte Anzeigevorrichtungsmatrix 170' bilden, mit einer benutzerdefinierten Größe und Form, wie hierin offenbart und wie in 3 gezeigt.
  • Mit Bezug wieder auf die 2 weist die Rechnervorrichtung 100 unter anderem einen Prozessor 110, einen Speicher 120, ein Kommunikationsmodul 140, ein Betriebssystem 150, ein Benutzerschnittstellenmodul 160 und einen Inhaltebrowser 180 auf. Es ist auch ein Bus und/oder ein Interconnect 190 vorgesehen, um Kommunikationen mit anderen Vorrichtungen und innerhalb der Vorrichtung zu ermöglichen, wobei zum Beispiel das Kommunikationsmodul 140 verwendet wird. Andere Komponenten und Funktionalität, die sich nicht im Blockdiagramm der 2 wiederspiegeln, werden im Lichte dieser Offenbarung leicht ersichtlich sein, und es wird verstanden werden, dass es nicht beabsichtigt ist, die beanspruchte Erfindung auf eine spezifische Architektur oder Hardwarekonfiguration zu beschränken. Zum Beispiel mögen in Ausführungsformen, die eine Mehrzahl zusätzlicher Rechnervorrichtungen 100' aufweisen, eine oder mehrere der zusätzlichen Rechnervorrichtungen 100' eine andere Systemarchitektur aufweisen als diejenige, die in der 2 für die Rechnervorrichtung 100 dargestellt ist. Wenn daher beispielhafte Unterkomponenten, die mit der Rechnervorrichtung 100 assoziiert sind, in der 2 gezeigt sind, sind die mehreren zusätzlichen Rechnervorrichtungen 100' generisch dargestellt, unter der Annahme, dass derartige Vorrichtungen eine andere Architektur aufweisen mögen
  • Der Prozessor 110 kann unter Verwendung jedes geeigneten Prozessors implementiert werden, und kann einen oder mehrere Coprozessoren oder Controller aufweisen, wie eine Graphikverarbeitungseinheit oder einen Audioprozessor, um bei Operationen des Steuerns und Verarbeitens zu assistieren, die mit dem Rechnersystem 100 assoziiert sind. Auf ähnliche Weise kann der Speicher 120 unter Verwendung jedes geeigneten Typs von digitalem Speicher implementiert werden, wie einem oder mehreren von einer Festplatte, einer USB Platte, einem Flash-Speicher, einem Speicher mit wahlfreiem Zugriff, oder einer geeigneten Kombination der vorgenannten. Der Speicher 120 kann zum Beispiel verwendet werden, um Anzeigekonfigurationsinformation und/oder Benachrichtigungsmitteilungen zu speichern, die verwendet werden, um das Erscheinungsbild von Inhalten auf der Anzeigevorrichtung 170 zu steuern. Das Kommunikationsmodul 140 kann implementiert werden unter Verwendung eines geeigneten Netzwerkchips oder Netzwerkchipsatzes, der eine drahtgebundene oder drahtlose Verbindung zum Netzwerk 500 und/oder zu anderen Rechnervorrichtungen und Ressourcen ermöglicht. Das Netzwerk 500 kann ein lokales Netz sein (wie ein Heimnetz oder ein Büronetz), ein Weitbereichsnetz (wie das Internet), oder eine Kombination solcher Netzwerke, seien sie öffentlich, privat oder beides. In einigen Fällen kann für den Zugriff auf Ressourcen in einem gegebenen Netzwerk oder Rechnersystem Anmeldedaten wie Benutzernamen, Passwörter oder irgendeinen anderen Sicherheitsmechanismus erfordern.
  • Das Betriebssystem 150 kann jedes geeignete Betriebssystem umfassen, wie Google Android (Google Inc., Mountain View, CA), Microsoft Windows (Microsoft Corp., Redmond, WA), oder Apple OS X (Apple Inc., Cupertino, CA). Wie im Lichte der vorliegenden Offenbarung verstanden werden wird, können die hierin angegebenen Techniken implementiert werden unabhängig von dem speziellen Betriebssystem, das zusammen mit der Rechnervorrichtung 100 bereitgestellt ist, und können daher auch implementiert werden unter Verwendung jeder beliebigen existierenden oder noch zu entwickelnden Plattform. In einer Ausführungsform verwaltet das Betriebssystem 150 einen oder mehrere Gerätetreiber, die verwendet werden, um den Betrieb von Hardware, wie der Anzeigevorrichtung 170, zu steuern. Das Betriebssystem 150 kann auch konfiguriert sein, Funktionalitäten und Dienste bereitzustellen, welche zum Beispiel das Benutzerschnittstellenmodul 160, den Inhaltebrowser 180 und andere Anwendungen, die auf der Rechnervorrichtung 100 ausgeführt werden, zu unterstützen.
  • Das Benutzerschnittstellenmodul 160 stellt eine Benutzerschnittstelle bereit, die verwendet werden kann, um verschiedene Unterkomponenten zu konfigurieren, die mit dem vernetzten Computersystem 1000 assoziiert sind, wie einem oder mehrere Inhaltebrowser 180 und eine oder mehrere Anzeigevorrichtungen 170. Insbesondere kann das Benutzerschnittstellenmodul 160 verwendet werden, um zu konfigurieren, wie der Inhaltebrowser 180 empfangene Inhalte rendert, und insbesondere um zu definieren, welcher räumliche Teil des empfangenen Inhalts in einem Browserfenster angezeigt werden soll, das durch den Inhaltebrowser 180 erzeugt wird. Diese Konfiguration kann zum Beispiel von der Position der entsprechenden Anzeigevorrichtung 170 in der zusammengesetzten Anzeigevorrichtungsmatrix 170' abhängen. In einer Ausführungsform ist eine bestimmte Rechnervorrichtung 100 in der Lage, nur Unterkomponenten zu konfigurieren, die mit jener bestimmten Vorrichtung assoziiert sind. In einer alternativen Ausführungsform ist die bestimmte Rechnervorrichtung 100 jedoch in der Lage, auch Unterkomponenten zu konfigurieren, die mit der Mehrzahl zusätzlicher Rechnervorrichtungen 100' assoziiert sind.
  • Im Allgemeinen kann der Inhaltebrowser 180 verstanden werden, eine Softwareanwendung zu umfassen, die eingerichtet ist, digitale Inhalte abzurufen und zu rendern, die von einer Speicherressource erhalten werden, wie einem Inhaltearchiv 220, das durch den Inhalteserver 200 gehostet wird. In einer bestimmten Ausführungsform ist der Inhaltebrowser 180 ein Webbrowser, der eingerichtet ist, Inhalte zu rendern, die unter Verwendung Hypertext Markup Language (HTML) Protokolls kodiert und übertragen werden. Beispiele solcher Protokolle umfassen HTML5. WebSockets, und Web-Echtzeitkommunikation („Web Real-Time Communication”, Web RTC). In einer anderen Ausführungsform, ist der Inhaltebrowser 180 ausgewählt aus einer Gruppe, die gebildet wird aus einem Webbrowser, einem Email-Leseprogramm, einem News-Leseprogramm, einer Textverarbeitungsanwendung und einer Anwendung für eine Handelsfassade im elektronischen Handel. In anderen Ausführungsformen können andere Arten von Softwareanwendungen verwendet werden, um Inhalte abzurufen und zu rendern. Es wird verstanden werden, dass die hierin offenbarten Ausführungsformen konfiguriert sind, mit einer breiten Vielfalt bestehender und noch zu entwickelnder Inhaltebrowser zu arbeiten. Während zum Beispiel 1 angibt, dass die Rechnervorrichtung 100 einen einzigen Inhaltebrowser ausführt, können in alternativen Ausführungsformen mehrere Inhaltebrowser simultan auf der Rechnervorrichtung ausgeführt werden. Eine derartige Implementierung mag vorteilhaft sein, wo die Rechnervorrichtung 100 auch mit mehreren Anzeigevorrichtungen assoziiert ist, da jede der mehreren Anzeigevorrichtungen mit einem der mehreren Inhaltebrowser assoziiert sein kann.
  • In bestimmten Ausführungsformen umfasst der Inhaltebrowser 180 Konfigurationseinstellungen 182, die in einer lokalen Speicherressource 184 gespeichert sind, die durch den Inhaltebrowser 180 verwaltet wird. In alternativen Ausführungsformen können die Konfigurationseinstellungen 182 an einem anderen Ort gespeichert sein, wie in einem Speicher 120. Unabhängig davon, wo sie gespeichert sind, können die Konfigurationseinstellungen 182 verstanden werden, einen konzeptionellen Unterbereich – oftmals als ein Darstellungsfeld bzw. Viewport oder als eine Kachel bezeichnet – eines empfangenen digitalen Inhaltselements zu definieren, worin der konzeptionelle Unterbereich in einem Browserfenster angezeigt werden soll, das durch den Inhaltebrowser 180 erzeugt wird. Die Definition des Darstellungsfelds kann zum Beispiel von der Position einer assoziierten Anzeigevorrichtung 170 in der zusammengesetzten Anzeigevorrichtungsmatrix 170' abhängen. In einer Ausführungsform definieren die Konfigurationseinstellungen 182 eine einzelne Kachel, die in dem entsprechenden Browserfenster anzuzeigen ist, während in anderen Ausführungsformen die Konfigurationseinstellungen 182 mehrere Kacheln definieren, die simultan in unterschiedlichen Bereichen eines einzelnen Browserfensters angezeigt werden können, wie etwa in unterschiedlichen Browserfensterrahmen.
  • Die 1A und 1B zeigen konzeptuell, wie die Konfigurationseinstellungen 182 verwendet werden können, um einen konzeptionellen Unterbereich eines digitalen Inhaltselements, wie einer Webseite, zu definieren. Insbesondere ist 1A ein Screenshot, der eine Webseite zeigt, die in dem Browserfenster 3000 angezeigt wird, das konzeptuell segmentiert ist in eine linke Kachel und eine rechte Kachel. 1B ist ein Screenshot, der die Webseite der 1A zeigt. worin ein erster Teil der Webseite in dem ersten Browserfenster 3100 angezeigt wird, das dem Browser 1 entspricht, und worin ein zweiter Teil der Webseite in dem zweiten Browserfenster 3200 angezeigt wird, das dem Browser 2 entspricht. In einer solchen Implementierung weist der Browser 1 erste Konfigurationseinstellungen auf, welche die Größe und die Position der linksseitigen Kachel definieren, die in der 1A dargestellt ist, und welche daher definieren, welcher Teil der Webseite in dem Browser 1 erscheinen wird. Auf ähnliche Weise weist der Browser 2 zweite Konfigurationseinstellungen auf, welche die Größe und die Position der rechtsseitigen Kachel definieren, die in 1A dargestellt ist, und welche daher definieren, welcher Teil der Webseite in dem Browser 2 erscheinen wird. In bestimmten Ausführungsformen hängt die Größe und die Position, die in den Konfigurationseinstellungen 182 festgelegt wird, von der Größe und der Position einer Anzeigevorrichtung ab, auf der das entsprechende Browserfenster anzuzeigen ist. Während in den 1A und 1B nur zwei Kacheln dargestellt sind, kann im Allgemeinen jede beliebige Anzahl von Konfigurationseinstellungen 182 für entsprechende Inhaltebrowser etabliert werden, die angezeigt werden unter Verwendung von entsprechenden Anzeigevorrichtungen, die zu einer zusammengesetzten Anzeige angeordnet sind.
  • In bestimmten Ausführungsformen weist der Inhaltebrowser 180 weiter einen Mutationsbeobachter 186 auf. Der Mutationsbeobachter 186 ist konfiguriert, Veränderungen in den digitalen Inhalten zu erkennen, die durch den Inhaltebrowser 180 gerendert werden. In einigen Fällen können solche Veränderungen auftreten in Antwort auf eine Interaktion eines Benutzers mit den digitalen Inhalten, wie zum Beispiel wenn ein Benutzer den angezeigten Inhalt scrollt oder mit einem aktiven Inhalt interagiert. In anderen Fällen können solche Veränderungen unabhängig von irgendeiner Benutzeraktion auftreten, wie beispielsweise auf Grund des Zeitverlaufs, dem Abspielen von Animationssequenzen oder der Erkennung eines externen Ereignisses. Unabhängig von der Ursache der Veränderungen ist in solchen Ausführungsformen der Mutationsbeobachter 186 konfiguriert, Veränderungen in einem DOM und/oder CSS zu erkennen, das mit dem digitalen Inhalt assoziiert ist. Der Mutationsbeobachter 186 kann auch konfiguriert sein, die erkannten Veränderungen in einer oder mehrerer Benachrichtigungsmitteilungen aufzuzeichnen, die über eine Web Socket Verbindung oder ein direktes Peer-zu-Peer Netzwerk an andere Inhaltebrowser ausgesendet werden können. Veränderungen, die von einem Inhaltebrowser erkannt werden, können daher an andere Inhaltebrowser kommuniziert werden, welche derartige Veränderungen nicht erkannt haben mögen, um das Erscheinungsbild auf der Anzeige teilweise oder vollständig zu synchronisieren.
  • Mit Bezug weiter auf die in 2 gezeigte beispielhafte Ausführungsform weist das vernetzte Computersystem 1000 optional einen Inhalteserver 200 auf. Der Inhalteserver 200 hostet ein Inhaltearchiv 220, in dem ein oder mehrere Inhaltselemente 222 gespeichert sind. In derartigen Ausführungsformen kann der Inhalteserver 200 als eine oder mehrere Vorrichtungen, die zum Einsatz in Unternehmensumgebungen bestimmt sind, umfassend verstanden werden, welche konfiguriert sind, Inhalt zu hosten und den gehosteten Inhalt an eine oder mehrere Rechnervorrichtungen 100 zu liefern. Während in der 2 nur ein Inhalteserver 200 dargestellt ist, wird es verstanden werden, dass im Allgemeinen einige zehn, hunderte, tausende oder mehr vernetzte Inhalteserver 200 die Funktionalität des Hostens und Lieferns von Inhalten bereitstellen können. In nochmals anderen Ausführungsformen wird auf den Inhalteserver 200 gänzlich verzichtet und die Inhaltselemente werden lokal im Speicher 120 gespeichert, der von der Rechnervorrichtung 100 bereitgestellt wird, und werden über ein Peer-zu-Peer Netzwerk an zusätzliche Rechnervorrichtungen 100' übertragen.
  • Das vernetzte Computersystem 1000 umfasst optional auch einen Konfigurationsmanager 300, der konfiguriert sein kann, eine Mehrzahl von Konfigurationseinstellungen 182 zu erzeugen und/oder zu verwalten, die mit einer entsprechenden Mehrzahl von Inhaltebrowsern 180 und Anzeigevorrichtungen 170 assoziiert sind. In solchen Ausführungsformen stellt der Konfigurationsmanager 300 ein Benutzerschnittstellenmodul 360 bereit, das verwendet werden kann, um die Charakteristiken der zusammengesetzten Anzeigevorrichtungsmatrix 170' zu definieren, und insbesondere die verschiedenen Größen und Positionen der individuellen Anzeigevorrichtungen 170, welche die Matrix 170' bilden. Basierend auf einer Eingabe, welch über das Benutzerschnittstellenmodul 360 empfangen wird, erzeugt der Konfigurationsmanager 300 Konfigurationseinstellungen 182, die an eine Vielzahl von Rechnervorrichtungen 100 verteilt werden, und insbesondere an eine Vielzahl von Inhaltebrowsern 180. Die Konfigurationseinstellungen 182 werden optional auch in einem Konfigurationsarchiv 320 gespeichert, das von dem Konfigurationsmanager 300 gehostet wird. Während jeder Inhaltebrowser 180 individuell konfiguriert werden kann, erleichtert die Verwendung des Konfigurationsmanagers 300 das Einrichten der Matrix 170', indem es ermöglicht, dass die gesamte oder nahezu die gesamte Konfiguration mittels einer einzigen Benutzerschnittstelle erfolgt.
  • In einer Ausführungsform kann die Funktionalität, die mit einem Konfigurationsmanager 300 assoziiert ist, durch eine Rechnervorrichtung bereitgestellt werden, die auch dazu verwendet wird, eine der Anzeigevorrichtungen anzusteuern, die zum Rendern digitaler Inhalte verwendet wird. In einer alternativen Ausführungsform wird die Konfigurationsfunktionalität durch eine dedizierte Rechnervorrichtung bereitgestellt, die keine der Anzeigevorrichtungen ansteuert, die zum Rendern digitaler Inhalte verwendet werden. Zum Beispiel umfasst in einer solchen alternativen Ausführungsform der Konfigurationsmanager 300 einen Schreibtischcomputer, einen Laptopcomputer, einen Arbeitsplatzrechner, einen Tablet-Computer, ein Smartphone, einen handgehaltenen Computer, eine Set-Top-Box, eine Servervorrichtung für den Einsatz in Unternehmensumgebungen, oder eine andere geeignete Rechnervorrichtung, die konfiguriert ist, die Funktionalität bereitzustellen, welche hierin als mit dem Konfigurationsmanager 300 assoziiert beschrieben ist. Der Konfigurationsmanager 300 kann optional auch ein Übertragungsmodul 340 aufweisen, das eingerichtet ist, die vorerwähnten Benachrichtigungsmitteilungen, die von dem Mutationsbeobachter 186 erzeugt werden, an zusätzliche Rechnervorrichtungen 100' zu senden.
  • Die hierin offenbarten Ausführungsformen können implementiert werden in verschiedenen Formen von Hardware, Software, Firmware oder Prozessoren für spezielle Zwecke. Zum Beispiel weist in einer Ausführungsform ein nichtflüchtiges computerlesbares Medium darauf codierte Anweisungen auf, welche, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, eine oder mehrere der hierin offenbarten Methodiken zum Rendern digitaler Inhalte implementieren. Die Anweisungen können kodiert sein unter Verwendung einer oder mehrerer geeigneter Programmiersprachen, wie C, C++, objektorientiertes C, JavaScript, Visual Basic. NET, BASIC, oder alternativ unter Verwendung maßgeschneiderter oder proprietärer Befehlssätze. Solche Anweisungen können in Form einer oder mehrerer Softwareanwendungen oder Applets bereitgestellt werden, die in greifbarer Form auf einer oder mehreren Speichervorrichtungen verkörpert sind, und die durch einen Computer ausgeführt werden können, der eine geeignete Architektur aufweist. In einer Ausführungsform kann das System auf einer gegebenen Webseite gehostet werden und implementiert sein unter Verwendung von JavaScript oder einer anderen geeigneten, browserbasierten Technologie.
  • Die hierin offenbarten Funktionalitäten können optional in einer breiten Anzahl verschiedener Softwareanwendungen inkorporiert sein, wie Betriebssystemen, Konfigurationsmanagern für Vorrichtungen, Präsentationsanwendungen, Webbrowsern, und anderen Anwendungen, die eingerichtet sind, HTML Inhalte zu rendern. Zum Beispiel kann ein Webbrowser konfiguriert sein, einen Mehrbildschirmmodus aufzuweisen, in dem gerenderte Inhalte segmentiert und in mehreren Fenstern angezeigt werden, die auf verschiedenen Anzeigeschirmen erscheinen. Oder in einer anderen Ausführungsform ist ein Betriebssystem konfiguriert, die Funktionalität bereitzustellen, die mit dem Konfigurationsmanager 300 assoziiert ist, so dass, wenn ein Webbrowser aufgerufen wird, oder wenn ein HTML Inhalt gerendert wird, ein solcher Inhalt segmentiert werden kann basierend auf einer benutzerdefinierten Konfiguration, die mit einer zusammengesetzten Anzeige assoziiert ist. In einigen Implementierungen kann daher die hierin beschriebene Funktionalität auf Basis einer individuellen Anwendung bereitgestellt werden, während in anderen Implementierungen eine derartige Funktionalität von einem Betriebssystem an eine Palette von Anwendungen bereitgestellt werden kann, welche Ressourcen und/oder Vorrichtungskonfigurationen nutzen, die von dem Betriebssystem bereitgestellt werden. Die hierin offenbarten Computersysteme können eine Anzahl verschiedener Module, Untermodule oder anderer Komponenten verschiedener Funktionalität umfassen und können Information an nochmals weitere Komponenten und Dienste bereitstellen und von diesen empfangen. Diese Module können zum Beispiel verwendet werden, um mit zusätzlichen Rechnervorrichtungen 100', Inhalteservern 200, Konfigurationsmanagern 300, oder anderen externen Komponenten zu kommunizieren. Andere Komponenten und Funktionalität, die nicht in den Zeichnungen widergespiegelt sind, werden ersichtlich sein im Lichte dieser Offenbarung, und es wird verstanden werden, dass die vorliegende Offenbarung nicht dazu gedacht ist, auf eine bestimmte Hardware- oder Softwarekonfiguration beschränkt zu sein. Daher mögen in anderen Ausführungsformen die in 2 gezeigten Komponenten zusätzliche, weniger oder alternative Unterkomponenten umfassen.
  • Das vorstehend genannte nichtflüchtige computerlesbare Medium kann irgendein geeignetes Medium zum Speichern digitaler Information sein, wie eine Festplatte, ein Server, ein Flash-Speicher, oder ein Speicher mit wahlfreiem Zugriff. In alternativen Ausführungsformen können der Computer und die Module, die hierin offenbart sind, mittels Software implementiert sein, Gatterebenenlogik wie ein programmierbares Gatterfeld (FPGA) umfassen, oder alternativ einen speziell angefertigten Halbleiter wie eine anwendungsspezifische integrierte Schaltung (ASIC) umfassen. Nochmals weitere Ausführungsformen können mit einem Mikrocontroller implementiert sein, der eine Anzahl von Eingangs-/Ausgangsanschlüssen aufweist, um Daten zu empfangen und auszugeben, und eine Anzahl von eingebetteten Routinen umfasst, um die hierein offenbarten verschiedenen Funktionalitäten auszuführen. Es wird ersichtlich sein, dass jede geeignete Kombination von Hardware, Software und Firmware verwendet werden kann und dass die vorliegende Offenbarung nicht dazu gedacht ist, auf irgendeine bestimmte Systemarchitektur beschränkt zu sein.
  • Methodik
  • 4 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Rendern digitaler Inhalte 2000 zeigt, das in der Lage ist, digitale Inhalte in eine Vielzahl von Kacheln zu segmentieren, die über mehrere Anwendungsfenster hinweg angezeigt werden. 5 ist ein Datenflussdiagramm, das schematisch beispielhafte Datenflüsse zeigt, welche auftreten, wenn ein digitaler Inhalt in eine Vielzahl von Kacheln segmentiert wird, die über mehrere Anwendungsfenster hinweg angezeigt werden. Wie gesehen werden kann beinhaltet das Verfahren zum Rendern digitaler Inhalte 2000 eine Anzahl von Phasen und Unterprozessen, deren Reihenfolge von einer Ausführungsform zur anderen variieren kann. Wenn jedoch insgesamt betrachtet bilden dies Phasen und Unterprozesse einen vollständigen Prozess zum Rendern digitaler Inhalte, der reaktionsfähig auf Benutzereingaben ist, in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen. Diese Methodiken können zum Beispiel mit Hilfe der in 2 gezeigten Systemarchitektur implementiert werden. In anderen Ausführungsformen können jedoch andere Systemarchitekturen verwendet werden, wie im Licht dieser Offenbarung ersichtlich sein wird. Hierzu ist die Korrelation der verschiedenen Funktionalitäten, die in den 4 und 5 gezeigt sind, zu den spezifischen Komponenten, die in 2 gezeigt sind, nicht dazu gedacht, irgendwelche strukturellen Beschränkungen und/oder Beschränkungen in der Verwendung zu implizieren. Vielmehr können andere Ausführungsformen unterschiedliche Integrationsgrade aufweisen, worin mehrere Funktionalitäten von einem System oder durch mehrere Systeme ausgeführt werden. Zum Beispiel kann in einer alternativen Ausführungsform die Funktionalität, die mit dem Konfigurationsmanager 300 assoziiert ist, in die Rechnervorrichtung 100 inkorporiert sein. Andere Ausführungsformen können daher weniger oder mehr Module und Untermodule aufweisen, abhängig von der Granularität der Implementierung. Zahlreiche Variationen und alternative Konfigurationen werden im Lichte dieser Offenbarung ersichtlich sein.
  • Mit Bezug weiter auf die 4 und 5 beginnt das beispielhafte Verfahren zum Rendern digitaler Inhalte 2000 damit, dass jeder einer Mehrzahl von Inhaltebrowsern Anzeigekonfigurationseinstellungen empfängt. Siehe das Bezugszeichen 2110 in 4. Die Anzeigekonfigurationseinstellungen können von einer oder mehreren einer Anzahl unterschiedlicher Quellen empfangen werden, wie von einer Speicherressource, die lokal der Rechnervorrichtung ist, wo der Inhaltebrowser ausgeführt wird, aus einer Benutzereingabe, die über ein Benutzerschnittstellenmodul empfangen wird, das von der Rechnervorrichtung bereitgestellt wird, auf der der Inhaltebrowser ausgeführt wird, oder von einem externen Konfigurationsmanager. 5 zeigt eine beispielhafte Ausführungsform, in welcher der Konfigurationsmanager 300 unterschiedliche Anzeigekonfigurationseinstellungen an andere Rechnervorrichtungen sendet. Der Konfigurationsmanager 300 kann die Konfigurationseinstellungen über ein Benutzerschnittstellenmodul 360 erhalten und die Konfigurationseinstellungen in einem Konfigurationsarchiv 320 zwischenspeichern, wie in 2 gezeigt. Der Konfigurationsmanager 300 überträgt erste Konfigurationseinstellungen 182a an eine erste Rechnervorrichtung 100a in einer ersten Übertragung 10a, und überträgt zweite Konfigurationseinstellungen 182b an eine zweite Rechnervorrichtung 100b in einer zweiten Übertragung 10b. In derartigen Ausführungsformen kann das Konfigurationsarchiv 320 jede Sammlung von Konfigurationseinstellungen 182a, 182b mit einem Anzeigeidentifikator korrelieren, welcher die bestimmte Anzeigevorrichtung (und damit die Rechnervorrichtung 100a, 100b) identifiziert, an welche die Konfigurationseinstellungen zu senden sind. Wie hierin beschrieben können die Konfigurationseinstellungen allgemein verstanden werden, einen Darstellungsfeld oder eine Kachel zu definieren, der bzw. die auf ein digitales Inhaltselement angewandt werden kann, das durch einen bestimmten Inhaltebrowser angezeigt werden soll. In solchen Ausführungsformen hängt die Konfiguration der Kachel von der Größe und dem Ort einer bestimmten Anzeigevorrichtung ab, welche Teil einer zusammengesetzten Anzeige bildet.
  • Das Verfahren zum Rendern digitaler Inhalte 2000 beginnt zusätzlich oder alternativ damit, dass jeder der Mehrzahl von Inhaltebrowsern ein gemeinsames Inhaltselement empfangen. Siehe das Bezugszeichen 2120 in 4. In einer Ausführungsform wird das Inhaltselement von einem Inhalteserver übertragen, während das Inhaltselement in alternativen Ausführungsformen von einer oder mehreren anderen Quellen empfangen wird, oder aus einer Speicherressource abgerufen wird, die lokal der Rechnervorrichtung ist, auf der der Inhaltebrowser ausgeführt wird. Die 5 zeigt eine beispielhafte Ausführungsform, in welcher der Inhalteserver 200 ein Inhaltselement 222 in einer ersten Übertragung 20a an eine erste Rechnervorrichtung 100a überträgt und dasselbe Inhaltselement 222 an eine zweite Rechnervorrichtung 100b in einer zweiten Übertragung 20b überträgt. In einer alternativen Ausführungsform überträgt der Inhalteserver 200 das Inhaltselement 222 an die erste und die zweite Rechnervorrichtung 100a, 100b simultan über eine Broadcastübertragung. Während die 4 anzeigt, dass in bestimmten Ausführungsformen die Anzeigekonfigurationseinstellungen empfangen werden, bevor das Inhaltselement empfangen wird, wird es verstanden werden, dass im Allgemeinen die Reihenfolge derartiger Datenübertragungen nicht kritisch ist und dass diese in anderen Ausführungsformen in anderen Reihenfolgen oder simultan erfolgen können.
  • Sobald eine Mehrzahl der Inhaltebrowser das gemeinsame Inhaltselement und die browserspezifischen Konfigurationseinstellungen empfangen haben, kann das Inhaltselement durch jeden Browser gerendert werden gemäß der entsprechenden Konfigurationseinstellungen. Siehe das Bezugszeichen 2130 in 4. Zum Beispiel würde in der in 5 gezeigten beispielhaften Ausführungsform die Rechnervorrichtung 100a das Inhaltselement 222 gemäß den Konfigurationseinstellungen 182a rendern, während die Rechnervorrichtung 100b das Inhaltselement 222 gemäß den Konfigurationseinstellungen 182b rendern würde. Insbesondere kann, wenn ein Inhaltebrowser einen HTML Inhalt lädt, das Darstellungsfeld des Browserfensters so angepasst werden, dass er dem Darstellungsfeld entspricht, der in den empfangenen Konfigurationseinstellungen definiert ist. Dies kann zum Beispiel mit Hilfe von CSS Übersetzungen erzielt werden. Als ein Ergebnis ist, obwohl der Inhaltebrowser das gesamte Inhaltselement lädt, nur ein Teil des geladenen Inhaltselement in dem Browserfenster sichtbar. Da die Konfigurationseinstellungen eine Kachel definieren, welche eine Größe und eine Position aufweist, die auf eine bestimmte Anzeigevorrichtung zugeschnitten ist, welche Teil einer zusammengesetzten Anzeige bildet, ist das Ergebnis im Allgemeinen ein vereinheitlichtes Erscheinungsbild des Inhaltselements über mehrere Browserfenster hinweg, optional angezeigt auf mehreren Anzeigevorrichtungen, zum Beispiel wie in 1B gezeigt.
  • Es ist möglich, dass das Inhaltselement modifiziert werden wird, nachdem es in den mehreren Inhaltebrowserfenstern gerendert wurde. Solche Modifikationen können auftreten in Antwort auf eine Interaktion eines Benutzers mit dem digitalen Inhalt, zum Beispiel wenn ein Benutzer scrollt oder auf andere Weise mit einem aktiven Inhalt interagiert. Dies ist insbesondere wahrscheinlich, wo die Anzeigevorrichtungen, welche eine zusammengesetzte Anzeige bilden, eine berührungsempfindliche Oberfläche aufweisen. Aber selbst ohne berührungsempfindliche Anzeigen können Inhaltsmodifikationen unabhängig von irgendeiner Benutzeraktion auftreten, wie zum Beispiel auf Grund des Verlaufs der Zeit, dem Vorhandensein von animierten Objekten, der Erkennung eines externen Ereignisses. Unabhängig von der Ursache mögen solche Modifikationen nur bei einigen wenigen der Inhaltebrowser erkannt werden. Wenn ein Benutzer zum Beispiel versucht, durch eine Webseite zu scrollen, indem er eine Wischgeste auf einer der mehreren berührungsempfindlichen Anzeigevorrichtungen ausführt, welche eine zusammengesetzte Anzeige bilden, mag jene Geste nur bei der einen Anzeigevorrichtung erkannt werden, mit der der Benutzer interagiert hat. Das modifizierte Erscheinungsbild des Inhalts als ein Ergebnis des Scrollens sollte mit Wahrscheinlichkeit jedoch auf mehreren Anzeigevorrichtungen reflektiert werden. Als ein Ergebnis beinhalten bestimmte der hierin offenbarten Ausführungsformen Techniken zum Erkennen von Inhaltsmodifikationen und zum Propagieren solcher Modifikationen von einem Inhaltebrowser, wo eine solche Modifikation erkannt wird (hierein als der „erkennende Browser” bezeichnet), zu anderen Inhaltebrowsern, wo solche Veränderungen reflektiert werden sollten (hierein als der „reagierende Browser” bezeichnet). Dies erlaubt es, einen synchronen Zugriff auf das Inhaltselement zu simulieren.
  • In Übereinstimmung mit dem Vorstehenden weist in bestimmten Ausführungsformen jeder Inhaltebrowser einen Mutationsbeobachter auf, der konfiguriert ist, Modifikationen in dem Inhalt zu erkennen, der durch den Inhaltebrowser gerendert wird. Siehe das Bezugszeichen 2140 in 4. Zum Beispiel kann der Mutationsbeobachter konfiguriert sein, das DOM zu überwachen, welches die Struktur des Inhaltselements definiert. Elemente in dem DOM, die modifiziert wurden, können mit Anmerkungen versehen werden mittels Datenattributen, welche eindeutig das modifizierte Element identifizieren, zum Beispiel durch Verwendung eines Uniform-Resource-Locators (URL), der assoziiert ist mit dem modifizierten Element. Wenn daher ein DOM Element geändert oder entfernt wird als ein Ergebnis einer Interaktion des Benutzers mit dem Inhaltselement, kann der Mutationsbeobachter konfiguriert sein, das geänderte oder entfernte Element zu identifizieren. Der Mutationsbeobachter kann auch konfiguriert sein, Veränderungen in dem berechneten Stil von DOM Elementen zu erkennen, und in solchen Ausführungsformen ist er daher in der Lage, auf CSS Veränderungen in dem gerenderten Inhalt zu reagieren. Ein Beispiel für ein Ereignis, das Veränderungen in dem berechneten Stil verursachen kann, ist eine Interaktion eines Benutzers mit einem Scrollfeldobjekt, die nicht notwendiger Weise dessen abhängige Elemente verändern würde, die aber in modifizierten berechneten Stilattributen resultieren mag. Wo die Veränderung in den Stilattributen eine Transition von einem Zustand zu einem anderen ist, kann eine Schleife ausgeführt werden, die eine Mehrzahl von Animationsrahmen anfordert und rendert, bis die Animation endet. Dies erlaubt es den mehreren Inhaltebrowsern, Zwischenzustände der Animation zu rendern.
  • Sobald eine Inhaltsmodifikation identifiziert wurde, kann der Mutationsbeobachter weiter konfiguriert sein, eine Benachrichtigungsmitteilung zu erzeugen, um von dem erkennenden Browser an einen oder mehrere reagierende Browser gesendet zu werden. Siehe das Bezugszeichen 2150 in 4. In einer Ausführungsform identifiziert eine derartige Benachrichtigung ein oder mehrere geänderte Elemente und definiert eine oder mehrere entsprechende Modifikationen. 6A zeigt eine beispielhafte CSS Mutationsbenachrichtigung 188, die von einem erkennenden Browser an einen oder mehr reagierende Browser übertragen wird. Wie gezeigt beinhaltet die CSS Mutationsbenachrichtigung 188 ein erstes Namen-Wert Paar 188a, welches das veränderte Element identifiziert, und ein zweites Namen-Wert Paar 188b, welches die Modifikation definiert, die auf das Element angewandt werden soll. 6B zeigt eine beispielhafte DOM Mutationsbenachrichtigung 189, die von einem erkennenden Browser an einen oder mehr reagierende Browser übertragen wird. Wie gezeigt beinhaltet die DOM Mutationsbenachrichtigung 189 ein erstes Namen-Wert Paar 189a, welches das geänderte Element identifiziert, und ein zweites Namen-Wert Paar 189b, welches die Modifikation definiert, die auf das Element angewandt werden soll.
  • Im Allgemeinen werden Mutationsbenachrichtigungen an die reagierenden Browser über eine Netzwerkverbindung gesendet, die schnell genug ist, um es zu erlauben, dass Aktualisierungen, die bei den reagierenden Browsern gemacht werden, im Wesentlichen simultan miteinander und im Wesentlichen simultan mit Aktualisierungen bei dem erkennenden Browser erscheinen. Synchrone oder asynchrone Aufrufe tendieren dazu, für diesen Zweck zu langsam zu sein, und daher ist in einer Ausführungsform das Kommunikationsmodul 140 konfiguriert, eine oder mehrere Mutationsbenachrichtigungen an einen Distributionsserver über eine WebSockets Verbindung zu senden. Siehe das Bezugszeichen 2160 in 4. Der Distributionsserver sendet die Benachrichtigungen als Broadcast an einen oder mehrere reagierende Browser. Siehe das Bezugszeichen 2162 in 4. In einer bestimmten Implementierung fungiert ein Broadcastmodul 340, das bei dem Konfigurationsmanager 300 installiert ist, als ein Distributionsserver für die Mutationsbenachrichtigungen, während in anderen Implementierungen in dieser Beziehung ein dedizierter Distributionsserver verwendet wird. Eine solche Ausführungsform der Benachrichtigung über WebSockets Broadcasts 30 ist konzeptionell in 5 gezeigt, worin eine WebSockets Mutationsbenachrichtigung 188' anfänglich von einer Rechnervorrichtung 100a (assoziiert mit einem erkennenden Browser) an einen Konfigurationsmanager 300 in einer ersten WebSockets Übertragung 30a übertragen wird, und danach von dem Konfigurationsmanager 300 an eine Rechnervorrichtung 100b (assoziiert mit einem reagierenden Browser) in einer zweiten WebSockets Übertragung 30b übertragen wird.
  • In einer alternativen Ausführungsform ist das Kommunikationsmodul 140 konfiguriert, eine oder mehrere Mutationsbenachrichtigungen von dem erkennenden Browser an einen oder mehrere reagierende Browser zu senden, indem zwischen den Browsern eine Peer-zu-Peer Verbindung oder eine Socketverbindung hergestellt wird. Siehe das Bezugszeichen 2170 in 4. Eine derartige Ausführungsform 40 mit Peer-zu-Peer Broadcast Benachrichtigung ist konzeptuell auch in 5 gezeigt, worin eine Peer-zu-Peer Mutationsbenachrichtigung 188'' von der Rechnervorrichtung 100a (assoziiert mit einem erkennenden Browser) an die Rechnervorrichtung 100b (assoziiert mit einem reagierenden Browser) über eine Peer-zu-Peer Verbindung übertragen wird. Unabhängig davon, wie die Mutationsbenachrichtigungen von dem erkennenden Browser an den einen oder die mehreren reagierenden Browser übertragen werden, können die reagierenden Browser konfiguriert sein, das Erscheinungsbild des Inhaltselements basierend auf der empfangenen Mutationsbenachrichtigung zu modifizieren. Siehe das Bezugszeichen 2180 in 4.
  • Schlussfolgerung
  • Zahlreiche Variationen und Konfigurationen werden im Lichte der Offenbarung ersichtlich sein. Zum Beispiel stellt eine beispielhafte Ausführungsform ein Verfahren zum Rendern digitaler Inhalte bereit. Das Verfahren umfasst Ausführen eines Inhaltebrowsers auf einer Rechnervorrichtung. Der Inhaltebrowser ist konfiguriert, ein Browserfenster auf einer Anzeigevorrichtung zu rendern, welche (a) operativ mit der Rechnervorrichtung gekoppelt ist und (b) Teil einer zusammengesetzten Anzeige bildet. Das Verfahren umfasst weiter Empfangen, durch den Inhaltebrowser, einer Anzeigekonfiguration, welche einen Unterbereich der zusammengesetzten Anzeige definiert, welcher der Anzeigevorrichtung entspricht. Das Verfahren umfasst weiter Empfangen, durch den Inhaltebrowser, eines Inhaltselements. Das Verfahren umfasst weiter Rendern eines Teils des Inhaltselements in dem Browserfenster. Der Teil des Inhaltselements, der gerendert wird, entspricht dem Unterbereich der zusammengesetzten Anzeige. In einigen Fällen wird die Anzeigekonfiguration über eine Benutzereingabe empfangen, die in dem Browserfenster gegeben wird. In einigen Fällen wird die Anzeigekonfiguration von einem Konfigurationsmanager über eine Netzwerkverbindung empfangen. In einigen Fällen umfasst das Verfahren weiter Ausführen eines zweiten Inhaltebrowsers auf der Rechnervorrichtung. Der zweite Inhaltebrowser ist konfiguriert, ein zweites Browserfenster auf einer zweiten Anzeigevorrichtung zu rendern, welche Teil der zusammengesetzten Anzeige bildet.
  • In einigen Fällen ist der Inhaltebrowser ein Webbrowser und das Inhaltselement ist eine Webseite, die mittels einer Hypertext Markup Language (HTML) kodiert ist. In einigen Fällen umfasst das Verfahren weiter (a) Erkennen einer Modifikation eines Elements, das das Inhaltselement umfasst, nachdem der Teil des Inhaltselements gerendert wurde; und (b) Erzeugen einer Mutationsbenachrichtigung, welche die Modifikation charakterisiert und das Element identifiziert, für das die Modifikation gilt. In einigen Fällen umfasst das Verfahren weiter (a) Erkennen einer Modifikation an einem Dokumentenobjektmodell, welches eine Struktur des Inhaltselements definiert; und (b) Erzeugen einer Mutationsbenachrichtigung, welche die Modifikation charakterisiert. In einigen Fällen umfasst das Verfahren weiter (a) Ausführen eines zweiten Inhaltebrowsers auf einer zweiten Rechnervorrichtung, worin der zweite Inhaltebrowser konfiguriert ist, ein zweites Browserfenster auf einer zweiten Anzeigevorrichtung zu rendern, die ebenfalls Teil der zusammengesetzten Anzeige bildet; (b) Empfangen, durch den zweiten Inhaltebrowser, einer zweiten Anzeigekonfiguration, welche einen zweiten Unterbereich der zusammengesetzten Anzeige bildet; (c) Empfangen, durch den zweiten Inhaltebrowser, des Inhaltselements; und (d) Rendern eines zweiten Teils des Inhaltselements in dem zweiten Browserfenster, worin der zweite Teil des Inhaltselements dem zweiten Unterbereich der zusammengesetzten Anzeige entspricht.
  • Eine weitere beispielhafte Ausführungsform stellt ein System zum Rendern digitaler Inhalte bereit. Das System umfasst einen ersten Inhaltebrowser, der konfiguriert ist, ein erstes Browserfenster auf einer ersten Anzeigevorrichtung zu rendern, die Teil einer zusammengesetzten Anzeige bildet. Das erste Browserfenster zeigt eine erste Kachel eines Inhaltselements an, das ein oder mehrere Elemente umfasst. Das System umfasst weiter einen zweiten Inhaltebrowser, der konfiguriert ist, ein zweites Browserfenster auf einer zweiten Anzeigevorrichtung zu rendern, die Teil der zusammengesetzten Anzeige bildet. Das zweite Browserfenster zeigt eine zweite Kachel des Inhaltselements an. Das System umfasst weiter einen Mutationsbeobachter, der konfiguriert ist, eine Modifikation in der ersten Kachel des Inhaltselements zu erkennen und eine Mutationsbenachrichtigung zu erzeugen, welche die Modifikation charakterisiert und ein Element identifiziert, auf welches die Modifikation anzuwenden ist. Der erste Inhaltebrowser ist weiter konfiguriert, die Mutationsbenachrichtigung an den zweiten Inhaltebrowser zu senden. Der zweite Inhaltebrowser ist weiter konfiguriert, ein Erscheinungsbild der zweiten Kachel, wie sie auf der zweiten Anzeigevorrichtung angezeigt wird, zu modifizieren basierend auf der Mutationsbenachrichtigung. In einigen Fällen (a) ist das Inhaltselement eine Webseite, die mittels einer Hypertext Markup Language kodiert wurde; und (b) ist die Modifikation in der ersten Kachel des Inhaltselements eine Modifikation an einem Dokumentenobjektmodell, welches eine Struktur des Inhaltselements definiert. In einigen Fällen (a) ist das Inhaltselement eine Webseite; und (b) sind der erste und der zweite Inhaltebrowser konfiguriert, die Webseite von einem Inhalteserver zu empfangen. In einigen Fällen (a) ist die erste Kachel des Inhaltselements durch eine Anzeigekonfiguration definiert; und (b) ist der erste Inhaltebrowser weiter konfiguriert, die Anzeigekonfiguration von einem Konfigurationsmanager zu empfangen. In einigen Fällen umfasst das System weiter einen Konfigurationsmanager, der konfiguriert ist, eine erste und eine zweite Anzeigekonfiguration zu empfangen, welche die erste bzw. die zweite Kachel definieren. In einigen Fällen (a) ist das Inhaltselement eine Webseite, die mit einer Hypertext Markup Language kodiert ist; und (b) definiert die Mutationsbenachrichtigung eine kaskadierende Formatvorlage (CSS) Übersetzung.
  • Eine weitere beispielhafte Ausführungsform stellt ein nichtflüchtiges computerlesbares Medium bereit, das darauf aufgezeichnete Anweisungen umfasst, welche, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, dafür sorgen, dass ein Prozess zum Rendern digitaler Inhalte ausgeführt wird. Der Prozess umfasst Rendern eines ersten Browserfensters auf einer ersten Anzeigevorrichtung, die Teil einer zusammengesetzten Anzeige bildet. Das erste Browserfenster zeigt eine erste Kachel eines Inhaltselements an, das ein oder mehrere Elemente umfasst. Der Prozess umfasst weiter Rendern eines zweiten Browserfensters auf einer zweiten Anzeigevorrichtung, die Teil der zusammengesetzten Anzeige bildet, worin das zweite Browserfenster eine zweite Kachel des Inhaltselements anzeigt. Der Prozess umfasst weiter Erkennen, bei dem ersten Browserfenster, einer Modifikation eines der Elemente, die das Inhaltselement bilden. Der Prozess umfasst weiter Erzeugen, durch einen Mutationsbeobachter, einer Mutationsbenachrichtigung, welche die Modifikation charakterisiert und das Element identifiziert, für das die Modifikation gilt. Der Prozess umfasst weiter Modifizieren des Erscheinungsbilds des Inhaltselements in dem zweiten Browserfenster in Antwort auf eine Verarbeitung der Mutationsbenachrichtigung. In einigen Fällen umfasst der Prozess zum Rendern digitaler Inhalte weiter (a) Empfangen, über das erste Browserfenster, einer ersten Anzeigekonfiguration, welche die erste Kachel definiert, und einer zweiten Anzeigekonfiguration, welche die zweite Kachel definiert; und (b) Senden der zweiten Anzeigekonfiguration an einen Inhaltebrowser, der das zweite Browserfenster rendert. In einigen Fällen weist die erste Anzeigevorrichtung eine berührungsempfindliche Oberfläche auf; und (b) das Erkennen der Modifikation umfasst weiter Erkennen einer Scrollgeste, welche unter Verwendung der berührungsempfindlichen Oberfläche ausgeführt wird. In einigen Fällen umfasst der Prozess zum Rendern digitaler Inhalte weiter Senden der Mutationsbenachrichtigung von einer ersten Rechnervorrichtung, die einen ersten Inhaltebrowser ausführt, welcher das erste Browserfenster rendert, an eine zweite Rechnervorrichtung, welche einen zweiten Inhaltebrowser ausführt, der das zweite Browserfenster rendert. In einigen Fällen (a) umfasst der Prozess zum Rendern digitaler Inhalte weiter Senden der Mutationsbenachrichtigung von einer ersten Rechnervorrichtung, die einen ersten Inhaltebrowser ausführt, welcher das erste Browserfenster rendert, an eine zweite Rechnervorrichtung, welche einen zweiten Inhaltebrowser ausführt, der das zweite Browserfenster rendert; und (b) die Mutationsbenachrichtigung wird über eine Peer-zu-Peer Verbindung gesendet. In einigen Fällen (a) umfasst der Prozess zum Rendern digitaler Inhalte weiter Senden der Mutationsbenachrichtigung von einer ersten Rechnervorrichtung, die einen ersten Inhaltebrowser ausführt, welcher das erste Browserfenster rendert, an eine zweite Rechnervorrichtung, welche einen zweiten Inhaltebrowser ausführt, der das zweite Browserfenster rendert; (b) die Mutationsbenachrichtigung wird von der ersten Rechnervorrichtung an einen Server gesendet; und (c) die Mutationsbenachrichtigung wird von dem Server an die zweite Rechnervorrichtung gesendet.
  • Die vorstehendende detaillierte Beschreibung wurde zu Zwecken der Illustration und Beschreibung gegeben. Es ist nicht beabsichtigt, dass diese erschöpfend ist oder dass die Erfindung auf die hierin beschriebene genaue Form beschränkt wird. Viele Modifikationen und Variationen sind möglich im Lichte dieser Offenbarung. Es ist beabsichtigt, dass der Bereich der Erfindung nicht durch die vorliegende detaillierte Beschreibung begrenzt wird, sondern durch die beigefügten Ansprüche.

Claims (20)

  1. Verfahren zum Rendern digitaler Inhalte, wobei das Verfahren umfasst: Ausführen eines Inhaltebrowsers (180) auf einer Rechnervorrichtung (100), worin der Inhaltebrowser konfiguriert ist, ein Browserfenster auf einer Anzeigevorrichtung (170) zu rendern, die (a) operativ mit der Rechnervorrichtung gekoppelt ist und (b) einen Teil einer zusammengesetzten Anzeige (179') bildet; Empfangen, durch den Inhaltebrowser, einer Anzeigekonfiguration, welche einen Unterbereich der zusammengesetzten Anzeige definiert, welcher der Anzeigevorrichtung entspricht; Empfangen, durch den Inhaltebrowser, eines Inhaltselements; und Rendern eines Teils des Inhaltselements in dem Browserfenster, worin der Teil des Inhaltselements, der gerendert wird, dem Unterbereich der zusammengesetzten Anzeige entspricht.
  2. Verfahren nach Anspruch 1, worin die Anzeigekonfiguration über eine Benutzereingabe empfangen wird, die in dem Browserfenster bereitgestellt wird, oder worin die Anzeigekonfiguration von einem Konfigurationsmanager (300) über eine Netzwerkverbindung empfangen wird.
  3. Verfahren nach Anspruch 1 oder 2, weiter umfassend Ausführen eines zweiten Inhaltebrowsers auf der Rechnervorrichtung, worin der zweite Inhaltebrowser konfiguriert ist, ein zweites Browserfenster auf einer zweiten Anzeigevorrichtung zu rendern, welche einen Teil der zusammengesetzten Anzeige bildet.
  4. Verfahren nach einem der Ansprüche 1 bis 3, worin der Inhaltebrowser ein Webbrowser ist und das Inhaltselement eine Webseite ist, die mittels einer Hypertext Markup Language (HTML) kodiert ist.
  5. Verfahren nach einem der Ansprüche 1 bis 4, weiter umfassend: Erkennen einer Modifikation an einem Element, welches das Inhaltselement bildet, nachdem der Teil des Inhaltselements gerendert wurde; und Erzeugen einer Mutationsbenachrichtigung, welche die Modifikation kennzeichnet und das Element identifiziert, für das die Modifikation gilt.
  6. Verfahren nach einem der Ansprüche 1 bis 4, weiter umfassend: Erkennen einer Modifikation an einem Dokumentenobjektmodell, welches eine Struktur des Inhaltselements definiert; und Erzeugen einer Mutationsbenachrichtigung, welche die Modifikation kennzeichnet.
  7. Verfahren nach Anspruch 1 oder 2, weiter umfassend: Ausführen eines zweiten Inhaltebrowsers auf einer zweiten Rechnervorrichtung, worin der zweite Inhaltebrowser konfiguriert ist, ein zweites Browserfenster auf einer zweiten Anzeigevorrichtung zu rendern, welche ebenfalls einen Teil der zusammengesetzten Anzeige bildet; Empfangen, durch den zweiten Inhaltebrowser, einer zweiten Anzeigekonfiguration, welche einen zweiten Unterbereich der zusammengesetzten Anzeige definiert; Empfangen, durch den zweiten Inhaltebrowser, des Inhaltselements; und Rendern eines zweiten Teils des Inhaltselements in dem zweiten Browserfenster, worin der zweite Teil des Inhaltselements dem zweiten Unterbereich der zusammengesetzten Anzeige entspricht.
  8. System zum Rendern digitaler Inhalte, wobei das System umfasst: einen ersten Inhaltebrowser (180), der konfiguriert ist, ein erstes Browserfenster auf einer ersten Anzeigevorrichtung zu rendern, welche einen Teil einer zusammengesetzten Anzeige bildet, worin das erste Browserfenster eine erste Kachel eines Inhaltselements anzeigt, welches ein oder mehrere Elemente umfasst; einen zweiten Inhaltebrowser (180), der konfiguriert ist, ein zweites Browserfenster auf einer zweiten Anzeigevorrichtung zu rendern, welche einen Teil der zusammengesetzten Anzeige bildet, worin das zweite Browserfenster eine zweite Kachel des Inhaltselements anzeigt; und einen Mutationsbeobachter, der konfiguriert ist, eine Modifikation in der ersten Kachel des Inhaltselements zu erkennen und eine Mutationsbenachrichtigung zu erzeugen, welche die Modifikation kennzeichnet und ein Element identifiziert, auf die die Modifikation anzuwenden ist; worin der erste Inhaltebrowser weiter konfiguriert ist, die Mutationsbenachrichtigung an den zweiten Inhaltebrowser zu senden; und worin der zweite Inhaltebrowser weiter konfiguriert ist, ein Erscheinungsbild der auf der zweiten Anzeigevorrichtung angezeigten zweiten Kachel basierend auf der Mutationsbenachrichtigung zu modifizieren.
  9. System nach Anspruch 8, worin: das Inhaltselement eine Webseite ist, die unter Verwendung einer Hypertext Markup Language kodiert ist; und die Modifikation in der ersten Kachel des Inhaltselements eine Modifikation eines Dokumentenobjektmodells ist, das eine Struktur des Inhaltselements definiert.
  10. System nach Anspruch 8, worin: das Inhaltselement eine Webseite ist; und der erste und der zweite Inhaltebrowser konfiguriert sind, die Webseite von einem Inhalteserver zu empfangen.
  11. System nach einem der Ansprüche 8 bis 10, worin: die erste Kachel des Inhaltselements durch eine Anzeigekonfiguration definiert ist; und der erste Inhaltebrowser weiter konfiguriert ist, die Anzeigekonfiguration von einem Konfigurationsmanager (300) zu empfangen.
  12. System nach einem der Ansprüche 8 bis 10, weiter umfassend einen Konfigurationsmanager (300), der konfiguriert ist, eine erste und eine zweite Anzeigekonfiguration zu empfangen, welche die erste Kachel bzw. die zweite Kachel definiert.
  13. System nach Anspruch 8, worin: das Inhaltselement eine Webseite ist, die mittels einer Hypertext Markup Language kodiert ist; und die Mutationsbenachrichtigung eine kaskadierende Formatvorlage (CSS) Übersetzung definiert.
  14. Nichtflüchtiges computerlesbares Medium, das darauf aufgezeichnete Anweisungen umfasst, welche, wenn sie von einem oder von mehreren Prozessoren ausgeführt werden, veranlassen, dass ein Prozess zum Rendern digitaler Inhalte ausgeführt wird, wobei der Prozess umfasst: Rendern eines ersten Browserfensters auf einer ersten Anzeigevorrichtung, welche Teil einer zusammengesetzten Anzeige bildet, worin das erste Browserfenster eine erste Kachel eines Inhaltselements anzeigt, das ein oder mehrere Elemente umfasst; Rendern eines zweiten Browserfensters auf einer zweiten Anzeigevorrichtung, welche einen Teil der zusammengesetzten Anzeige bildet, worin das zweite Browserfenster eine zweite Kachel des Inhaltselements anzeigt; Erkennen, bei dem ersten Browserfenster, einer Modifikation eines der Elemente, die das Inhaltselement bilden; Erzeugen, durch einen Mutationsbeobachter, einer Mutationsbenachrichtigung, welche die Modifikation charakterisiert und das Element identifiziert, auf welches die Modifikation anzuwenden ist; und Modifizieren des Erscheinungsbildes des Inhaltselements in dem zweiten Browserfenster in Antwort auf eine Verarbeitung der Mutationsbenachrichtigung.
  15. Nichtflüchtiges computerlesbares Medium nach Anspruch 14, worin der Prozess zum Rendern digitaler Inhalte weiter umfasst: Empfangen, über das erste Browserfenster, einer ersten Anzeigekonfiguration, welche die erste Kachel definiert, und einer zweiten Anzeigekonfiguration, welche die zweite Kachel definiert; und Senden der zweiten Anzeigekonfiguration an einen Inhaltebrowser, der das zweite Browserfenster rendert.
  16. Nichtflüchtiges computerlesbares Medium nach Anspruch 14 oder 15, worin: die erste Anzeigevorrichtung eine berührungsempfindliche Oberfläche aufweist; und das Erkennen der Modifikation weiter umfasst Erkennen einer Scrollgeste, welche unter Verwendung der berührungsempfindlichen Oberfläche gemacht wird.
  17. Nichtflüchtiges computerlesbares Medium nach einem der Ansprüche 14 bis 16, worin der Prozess zum Rendern digitaler Inhalte weiter umfasst Senden der Mutationsbenachrichtigung von einer ersten Rechnervorrichtung, welche einen ersten Inhaltebrowser ausführt, der das erste Browserfenster rendert, an eine zweite Rechnervorrichtung, welche einen zweiten Inhaltebrowser ausführt, der das zweite Browserfenster rendert.
  18. Nichtflüchtiges computerlesbares Medium nach einem der Ansprüche 14 bis 16, worin: der Prozess zum Rendern digitaler Inhalte weiter umfasst Senden der Mutationsbenachrichtigung von einer ersten Rechnervorrichtung, welche einen ersten Inhaltebrowser ausführt, der das erste Browserfenster rendert, an eine zweite Rechnervorrichtung, welche einen zweiten Inhaltebrowser ausführt, der das zweite Browserfenster rendert; und die Mutationsbenachrichtigung über eine Peer-zu-Peer Kommunikation gesendet wird.
  19. Nichtflüchtiges computerlesbares Medium nach einem der Ansprüche 14 bis 16, worin: der Prozess zum Rendern digitaler Inhalte weiter umfasst Senden der Mutationsbenachrichtigung von einer ersten Rechnervorrichtung, welche einen ersten Inhaltebrowser ausführt, der das erste Browserfenster rendert, an eine zweite Rechnervorrichtung, welche einen zweiten Inhaltebrowser ausführt, der das zweite Browserfenster rendert; die Mutationsbenachrichtigung von der ersten Rechnervorrichtung an einen Server gesendet wird; und die Mutationsbenachrichtigung von dem Server zu der zweiten Rechnervorrichtung gesendet wird.
  20. Computerprogrammprodukt, welches Anweisungen aufweist, die, wenn sie von einer Rechnervorrichtung oder einem System ausgeführt werden, die Rechnervorrichtung oder das System dazu veranlassen, das Verfahren gemäß einem der Ansprüche 1 bis 7 auszuführen.
DE102015009893.4A 2014-10-30 2015-07-29 Rendern digitaler Inhalte auf Mehrfachanzeigen Pending DE102015009893A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/527,931 US9858027B2 (en) 2014-10-30 2014-10-30 Multiple display rendering of digital content
US14/527,931 2014-10-30

Publications (1)

Publication Number Publication Date
DE102015009893A1 true DE102015009893A1 (de) 2016-05-04

Family

ID=54064694

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015009893.4A Pending DE102015009893A1 (de) 2014-10-30 2015-07-29 Rendern digitaler Inhalte auf Mehrfachanzeigen

Country Status (4)

Country Link
US (1) US9858027B2 (de)
CN (1) CN105573694B (de)
DE (1) DE102015009893A1 (de)
GB (1) GB2531857B (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102220825B1 (ko) * 2013-09-05 2021-03-02 삼성전자주식회사 전자 장치와 전자 장치의 콘텐트 표시방법
US10466949B2 (en) * 2015-09-14 2019-11-05 Bell Helicopter Textron Inc. Ballistic-resistant cockpit display
US20170118135A1 (en) * 2015-10-26 2017-04-27 Knowlio, Inc. Responsive Action in a Resource Management System
JP6163233B1 (ja) * 2016-06-03 2017-07-12 株式会社フライデーナイト 印刷サーバ装置、印刷物構成方法、およびプログラム
CN107783744B (zh) * 2016-08-31 2022-06-14 阿里巴巴集团控股有限公司 拼接屏幕的数据显示、控制方法及装置、系统、显示设备
CN107797780B (zh) * 2016-08-31 2022-09-06 阿里巴巴集团控股有限公司 拼接屏幕的数据显示、控制方法及装置、系统、显示设备
CN110347319B (zh) * 2019-06-28 2021-04-27 浙江口碑网络技术有限公司 一种应用内屏幕截图方法及装置
US11941341B2 (en) * 2022-02-28 2024-03-26 Apple Inc. Intelligent inset window placement in content

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003021798A2 (en) * 2001-09-04 2003-03-13 Soft2B Llc Browser-to-browser, dom-based, peer-to-peer communication with delta synchronization
US9092190B2 (en) * 2010-10-01 2015-07-28 Z124 Smartpad split screen
US7487447B1 (en) * 2005-05-25 2009-02-03 Google Inc. Web page zoom feature
US8234564B2 (en) * 2008-03-04 2012-07-31 Apple Inc. Transforms and animations of web-based content
US8866840B2 (en) * 2008-09-08 2014-10-21 Qualcomm Incorporated Sending a parameter based on screen size or screen resolution of a multi-panel electronic device to a server
US8863038B2 (en) * 2008-09-08 2014-10-14 Qualcomm Incorporated Multi-panel electronic device
KR101640460B1 (ko) * 2009-03-25 2016-07-18 삼성전자 주식회사 휴대 단말기의 분할 화면 운용 방법 및 이를 지원하는 휴대 단말기
CN101697110B (zh) * 2009-10-26 2015-06-24 孟智平 一种同步异构显示终端交互控制方法及系统
US8751970B2 (en) 2010-02-25 2014-06-10 Microsoft Corporation Multi-screen synchronous slide gesture
US9372618B2 (en) 2010-10-01 2016-06-21 Z124 Gesture based application management
CN102073455B (zh) * 2011-01-27 2013-09-11 重庆长安汽车股份有限公司 一种基于数据库的多屏幕数据切换显示方法
US9310834B2 (en) * 2011-06-30 2016-04-12 Z124 Full screen mode
US8907906B2 (en) * 2011-09-27 2014-12-09 Z124 Secondary single screen mode deactivation
KR101881925B1 (ko) * 2012-01-06 2018-07-26 삼성전자주식회사 복수의 휴대 단말들을 이용하여 멀티 비전 시스템을 구축하는 방법 및 이를 위한 장치
US9092184B2 (en) 2012-06-22 2015-07-28 Harborside Press, LLC Interactive synchronized multi-screen display
KR20140046329A (ko) 2012-10-10 2014-04-18 삼성전자주식회사 멀티 디스플레이 장치 및 그 디스플레이 제어 방법
US20140132833A1 (en) 2012-11-12 2014-05-15 Hulu, LLC Combining Multiple Screens from Multiple Devices in Video Playback
CN103135956B (zh) * 2013-03-18 2016-03-30 广东威创视讯科技股份有限公司 一种拼接显示方法及实现拼接显示的浏览器
CN103942023B (zh) * 2014-03-31 2017-04-12 广东威创视讯科技股份有限公司 一种显示处理方法及终端

Also Published As

Publication number Publication date
US20160125778A1 (en) 2016-05-05
GB201512820D0 (en) 2015-09-02
US9858027B2 (en) 2018-01-02
GB2531857B (en) 2019-01-09
GB2531857A (en) 2016-05-04
CN105573694B (zh) 2020-10-09
CN105573694A (zh) 2016-05-11

Similar Documents

Publication Publication Date Title
DE102015009893A1 (de) Rendern digitaler Inhalte auf Mehrfachanzeigen
US11030392B2 (en) Optimization for rendering web pages
EP3491544B1 (de) Webseitenanzeigesysteme und -verfahren
DE112012000944B4 (de) Auf einer Webseite selbst erfolgende Bearbeitung und Austausch von Webinhalt in Echtzeit
DE112016006083T5 (de) Bereitstellung von Rechenressourcen für eine virtuelle Maschine, die ausgelegt ist eine Gruppe von Anwendungsprogrammen zu Hosten, die einem Benutzer zugeordnet sind
DE60116343T2 (de) Webserver
US9612715B2 (en) Real-time preview of uniform resource identifier addressable dynamic content
US9495471B2 (en) Optimize view elements sizes to maximize most data viewed in a multiple view elements GUI
DE202011110880U1 (de) Kollaborative Cursors in einem gehosteten Textverarbeitungsprogramm
DE202011108541U1 (de) Systeme zum Erzeugen und Anzeigen eines Vorschaubilds eines Inhaltsbereichs
DE202013012500U1 (de) Systemübergreifende Installation von Online-Applikationen
DE202011110886U1 (de) Synthetische Navigationselemente für elektronische Dokumente
DE202011110891U1 (de) Scrollen in umfangreichen gehosteten Datenbestand
US20140280699A1 (en) Method and apparatus for enabling discovery and communications between unrelated browser sessions
DE202014010943U1 (de) Wechseln zu und aus nativen Webanwendungen
DE112013003763T5 (de) Verfahren und System zur automatischen Generierung von Social Network-Seite auf elektronische Dokument Inhalt Basis
DE112016002579T5 (de) Systeme und verfahren für das zuordnen eine scrollereignisses in einer grafischen benutzeroberfläche für unenendliches scrollen
DE202014010892U1 (de) Personalisierung des Karteninhalts über eine Anwendungsprogrammierschnittstelle
WO2016070748A1 (zh) 混合型客户端界面实现方法及其系统
DE102012107809A1 (de) Browsen zwischen mobilen und nicht-mobilen Webseiten
CN102915251B (zh) 一种多页面浏览器处理消息的方法和装置
DE112020004312T5 (de) Übersetzung von eingebetteten mehrformatdateien
DE202015009317U1 (de) Einbetten eines Guest-Moduls in ein Embedder-Modul
CN108134906B (zh) 图像处理方法及其系统
WO2017178519A1 (en) Display system for displaying image data

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: ADOBE INC., SAN JOSE, US

Free format text: FORMER OWNER: ADOBE SYSTEMS INCORPORATED, SAN JOSE, CALIF., US

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R016 Response to examination communication