DE112016000587T5 - Interoperabilität von entdeckungs- und verbindungsprotokollen zwischen clientvorrichtungen und ersten bildschirmvorrichtungen - Google Patents

Interoperabilität von entdeckungs- und verbindungsprotokollen zwischen clientvorrichtungen und ersten bildschirmvorrichtungen Download PDF

Info

Publication number
DE112016000587T5
DE112016000587T5 DE112016000587.3T DE112016000587T DE112016000587T5 DE 112016000587 T5 DE112016000587 T5 DE 112016000587T5 DE 112016000587 T DE112016000587 T DE 112016000587T DE 112016000587 T5 DE112016000587 T5 DE 112016000587T5
Authority
DE
Germany
Prior art keywords
coupling
client device
application
screen
screen application
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
DE112016000587.3T
Other languages
English (en)
Inventor
Stein Eldar Johnsen
Alexander Taboriskiy
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of DE112016000587T5 publication Critical patent/DE112016000587T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Abstract

Eine zweite Bildschirmanwendung, die auf einer Clientvorrichtung arbeitet, präsentiert eine deduplizierte Auflistung von Vorrichtungen in einer Anwenderschnittstelle, wobei jede aufgelistete Vorrichtung mit einem oder mehreren Kopplungsprotokollen assoziiert ist. Eine Auswahl einer aufgelisteten Vorrichtung wird über die Anwenderschnittstelle empfangen, mit welcher an einer Videoanzeigesession teilzunehmen ist. Anwendungsstatusinformation wird von einem Steuerserver für eine erste Bildschirmanwendung der ausgewählten Vorrichtung erhalten, wobei die Anwendungsstatusinformation anzeigt, ob die erste Bildschirmanwendung bei einer existierenden Videoanzeigesession mit einer zweiten Clientvorrichtung ist. Eine Kopplungsmethode wird basierend auf dem angezeigten Anwendungsstatus und Kopplungsprotokollen, welche für die Clientvorrichtung verfügbar sind, und der einen oder den mehreren Kopplungsprotokollen der ersten Bildschirmanwendung bestimmt; und die Clientvorrichtung koppelt mit der ersten Bildschirmanwendung über die bestimmte Kopplungsmethode.

Description

  • HINTERGRUND
  • GEBIET DER OFFENBARUNG
  • Die beschriebenen Ausführungsformen betreffen allgemein eine Interoperabilität bzw. Kompatibilität von Entdeckungs- und Kopplungsprotokollen für Clientvorrichtungen und, spezifischer, ein Ermöglichen bzw. Erleichtern einer Interoperabilität bzw. Kompatibilität einer Clientvorrichtung beim Aufbauen von Videosessions mit einer ersten Bildschirmvorrichtung.
  • BESCHREIBUNG DES ZUGEHÖRIGEN STANDES DER TECHNIK
  • Es gibt eine Anzahl von Protokollen (z. B. auf einfachem Dienstentdeckungsprotokoll basierende Entdeckung und Inbetriebnahme („DIAL”), auf Multicast-Domänennamenssystem basierendes CAST V2 API („CAST”), etc.), die zur Entdeckung und/oder Inbetriebnahme einer Anwendung auf einer ersten Vorrichtung (z. B. Fernseher) über eine Anwendung auf einer zweiten Vorrichtung (z. B. Laptop) verwendet werden. CAST ist ein nicht veröffentlichtes Protokoll, das einigen Kommunikationen für ANDROID- und/oder GOOGLE-Vorrichtungen zugrundliegt. Der Anwender der Anwendung, die die Protokollspezifikation implementiert, kann beispielsweise veranlassen, dass der Inhalt, der durch einen Browser auf einem Laptop angezeigt wird, auch über eine Anwendung auf einem Fernseher angezeigt wird. Es existieren einige Probleme beim Anzeigen von Inhalt unter Verwendung dieser Protokolle, einschließlich Vorrichtungsduplikations- und Protokollinteroperabilitätsprobleme.
  • Eine Vorrichtungsduplikation bzw. -verdoppelung ist eine Problem, bei welchem eine entdeckte Vorrichtung auf der entdeckenden Vorrichtung mehrere Male als eine verfügbare Anzeigvorrichtung aufgelistet wird. In einigen Fällen unterstützt eine Vorrichtung mehrere Protokolle zum Aufbauen einer Videosession mit der entdeckenden Vorrichtung. In diesen Fällen könnte die Vorrichtung dem Anwender über einen jeweiligen Pfad präsentiert werden, über welchen die Vorrichtung entdeckt wird – und möglicherweise mit unterschiedlichen Namen. Belspielsweise könnte eine Anwendung auf einem Laptop DIAL-Entdeckung verwenden, um einen Fernseher zu entdecken, und dann DIAL, um eine Anwendung auf dem Fernseher in Betrieb zu nehmen bzw. zu starten. Aber der Fernseher könnte auch ein anderes Entdeckungsprotokoll (z. B. CAST) unterstützen und/oder vorher mit dem Laptop gepaart worden sein. Ein manuelles Paaren erfolgt, wenn beispielsweise ein Anwender einen Passcode, der durch den Fernseher vorgesehen ist, zum Laptop eingibt, oder umgekehrt, was darin resultiert, dass der Laptop über eine BLUETOOTH-Verbindung drahtlos mit dem Fernseher gekoppelt wird. Bei diesem Beispiel wird ohne zusätzliche Schritte einiges vom Fernseher dem Anwender dreimal gezeigt werden – und möglicherweise unter verschiedenen Namen. Diese Situation ist verwirrend, beeinträchtigt ein Anwendererlebnis und kann in der Auswahl eines suboptimalen Protokolls resultieren.
  • Eine Protokollinteroperabilität ist ein weiteres Problem, das, spezifisch im Zusammenhang mit einer Vorrichtung, die versucht, einer existierenden Session zwischen zwei anderen Vorrichtungen beizutreten, auftritt. Die zugrundeliegende Ursache für dieses Problem besteht darin, dass einer unter Verwendung eines bestimmten Protokolls gestarteten Session nicht unter Verwendung eines anderen Protokolls beigetreten werden kann und auf einigen Vorrichtungen Entdeckungsmodule unabhängig arbeiten. Ein Versuchen, einer existierenden Session unter Verwendung eines unterschiedlichen Protokolls beizutreten, kann fehlschlagen oder zu einer Unterbrechung bzw. Störung der aktuellen Session und einer Erzeugung einer neuen Session führen. Beispielsweise kann ein Fernseher sowohl DIAL- als auch CAST-Protokolle unterstützen, kann eine Vorrichtung A nur DIAL unterstützen und kann eine Vorrichtung B sowohl DIAL als auch CAST unterstützen. Die Vorrichtung A erzeugt eine Session mit dem Fernseher unter Verwendung des DIAL-Protokolls und einige Zeit später versucht die Vorrichtung B, der Session unter Verwendung von CAST beizutreten – was in einer Unterbrechung bzw. Störung der Session resultiert. Die Unterbrechung wird veranlasst, weil die Session mit dem Fernseher nicht gleichzeitig in sowohl DIAL als auch CAST arbeiten bzw. in Betrieb sein kann.
  • ZUSAMMENFASSUNG
  • Bei verschiedenen Ausführungsformen ermöglicht ein Steuerserver eine Interoperabilität von zweiten Bildschirmanwendungen, die auf zweiten Bildschirmvorrichtungen (z. B. Laptops) arbeiten, mit ersten Bildschirmanwendungen, die auf ersten Beildschirmvorrichtungen (z. B. Fernsehern) arbeiten. Der Steuerserver behält Paarungsinformation, die beschreibt, ob die ersten Bildschirmanwendungen zuvor manuell mit einer oder mehreren zweiten Bildschirmvorrichtungen gepaart worden sind. Der Steuerserver behält auch Information, die anzeigt, ob die ersten Bildschirmanwendungen mit einer oder mehreren zweiten Bidlschirmvorrichtungen an Videoanzeigesessions teilnehmen, und wenn es so ist, welche Kopplungsprotokolle bei den Videosessions verwendet werden.
  • Eine zweite Bildschirmanwendung, die auf einer zweiten Bidlschirmvorrichtung arbeitet, erzeugt ein dedupliziertes Auflisten von Vorrichtungen, die zur Verbindung verfügbar sind, unter Verwendung von Endeckungsinformation, die von jeder Vorrichtung empfangen wird, und Paarungsinformation, die vom Steuerserver empfangen wird. Das deduplizierte Auflisten von Vorrichtungen kann beispielsweise erste Bildschirmvorrichtungen, zweite Bildschirmvorrichtungen oder irgendeine Kombination davon enthalten. Die zweite Bildschirmanwendung präsentiert einem Anwender der zweiten Bildschirmvorrichtung über eine Anwenderschnittstelle das deduplizierte Auflisten von Vorrichtungen.
  • Bei einigen Ausführungsformen wählt der Anwender über die Anwenderschnittstelle eine aufgelistete erste Bidlschirmvorrichtung aus, mit welcher an einer Videoanzeigesession teilzunehmen ist. Die zweite Bildschirmanwendung erhält Anwendungsinformation vom Steuerserver für die erste Bildschirmanwendung der ausgewählten Vorrichtung. Die Anwendungsstatusinformation zeigt an, ob die erste Bildschirmanwendung bei einer existierenden Videoanzeigsession mit irgendeiner anderen zweiten Bildschirmvorrichtung ist. Die zweite Bildschirmanwendung bestimmt eine Kopplungsmethode basierend auf dem angezeigten Anwendungsstatus und Kopplungsprotokollen, die für die zweite Bidlschirmvorrichtung verfügbar sind, und dem einen oder den mehreren Kopplungsprotokollen der ersten Bildschirmanwendung.
  • Bei Ausführungsformen, bei welchen der Anwendungsstatus anzeigt, dass die erste Bildschirmanwendung bei einer existierenden Session mit irgendeiner anderen zweiten Bildschirmvorrichtung ist und dass die Session gerade ein bestimmtes Kopplungsprotokoll verwendet, bestimmt dann die zweite Bildschirmanwendung, ob das bestimmte Kopplungsprotokoll auch durch die zweite Bildschirmvorrichtung unterstützt wird. Wenn es unterstützt wird, koppelt die zweite Bildschirmvorrichtung über das bestimmte Kopplungsprotokoll mit der existierenden Session. Sonst koppelt die zweite Bildschirmavorrichtung über den Steuerserver indirekt mit der existierenden Session, wobei die zweite Bildschirmvorrichtung und der Steuerserver unter Verwendung eines durch die zweite Bildschirmvorrichtung unterstützten Kopplungsprotokolls kommunizieren und der Steuerserver und die erste Bildschirmvorrichtung über das bestimmte Kopplungsprotokoll, das bei der existierenden Session verwendet wird, koppeln.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das eine Ausführungsform einer Umgebung zum Ermöglichen einer Interoperabilität einer Clientvorrichtung mit einer ersten Bildschirmvorrichtung darstellt.
  • 2 ist ein Interaktionsdiagramm eines Verfahrens zum Entdecken und Deduplizieren einer ersten Bildschirmvorrichtung gemäß einer Ausführungsform.
  • 3 ist ein Interaktionsdiagramm eines Verfahrens zum Aufbauen einer Session zwischen einer ersten Bildschirmanwendung und einer oder mehreren zweiten Bildschirmanwendungen gemäß einer Ausführungsform.
  • 4 ist ein Blockdiagramm, das eine detaillierte Ansicht einer zweiten Bildschirmanwendung der 1 gemäß einer Ausführungsform darstellt.
  • 5 ist ein Ablaufdiagramm, das einen Prozess zum Durchführen einer Vorrichtungsdeduplikation als Teil einer Vorrichtungsentdeckung gemäß einer Ausführungsform darstellt.
  • 6 ist ein Ablaufdiagramm, das einen Prozess zum Aufbauen einer Session zwischen einer ersten Bildschirmanwendung und einer zweiten Bildschirmanwendung gemäß einer Ausführungsform darstellt.
  • 7 ist ein Blockdiagramm, das einen beispielhaften Computer zum Implementieren der in 1 gezeigten Einheiten darstellt.
  • DETAILLIERTE BESCHREIBUNG
  • Die Figuren und die folgende Beschreibung beschreiben bestimmte Ausführungsformen nur anhand einer Darstellung. Ein Fachmann auf dem Gebiet wird aus der folgenden Beschreibung ohne weiteres erkennen, dass alternative Ausführungsformen der Strukturen und Verfahren, die hierin dargestellt sind, verwendet werden können, ohne von den hierin beschriebenen Prinzipien abzuweichen. Nun wird detailliert auf einige Ausführungsformen Bezug genommen werden, von welchen Beispiele in den beigefügten Figuren dargestellt sind. Es wird angemerkt, dass, wo immer es praktizierbar ist, ähnliche oder gleiche Bezugszeichen in den Figuren verwendet werden können und ähnliche oder gleiche Funktionalität anzeigen können.
  • 1 ist ein Blockdiagramm, das eine Ausführungsform einer Umgebung zum Ermöglichen bzw. Erleichtern einer Interoperabilität einer Clientvorrichtung 100, 105 mit einer ersten Bildschirmvorrichtung 120. Die Umgebung enthält eine Clientvorrichtung 100 und eine Clientvorrichtung 105, die jeweils durch ein Netzwerk 110 mit einer ersten Bildschirmvorrichtung 120 und einem Steuerserver 130 gekoppelt sind. Hier sind nur zwei Clientvorrichtungen, eine Bildschirmvorrichtung und ein Steuerserver dargestellt. Aber es kann mehrere Beispiele von jeder dieser Einheiten geben. Beispielsweise kann es Tausende oder Millionen von Clientvorrichtungen 100, 105 und ersten Bildschirmvorrichtungen 120 in Kommunikation mit einem oder mehreren Steuerservern 130 geben.
  • Das Netzwerk 110 stellt ein Kommunikationsinfrastruktur zwischen den Clientvorrichtungen 100, 105, den ersten Bildschirmvorrichtungen 120 und den Steuerservern 130 zur Verfügung. Das Netzwerk 110 ist typischerweise das Internet, kann aber irgendein Netzwerk sein, einschließlich, aber nicht darauf beschränkt, eines lokalen Netzes (LAN), eines innerstädtischen Netzes (MAN), eines Fernnetzes (WAN), eines mobilen verdrahteten oder drahtlosen Netzes, eines privaten Netzes oder eines virtuellen privaten Netzes oder irgendeiner Kombination davon. Beispielsweise können die Clientvorrichtungen 100, 105 und die erste Bildschirmvorrichtung 120 unter Verwendung von z. B. einer WIFI-Kopplung miteinander kommunizieren und mit dem Steuerserver 130 unter Verwendung einer Internet-Kopplung kommunizieren.
  • Die erste Bildschirmvorrichtung 120 und die Clientvorrichtungen 100, 105 sind Computervorrichtungen, die Computerprogrammmodule ausführen – z. B. einen Webbrowser oder eine andere Clientanwendung – die auf einem nichtflüchtigen computerlesbaren Medium gespeichert sind und die zulassen, dass ein Anwender Medieninhalt anschaut und konsumiert. Die erste Bildschirmvorrichtung 120 und die Clientvorrichtungen 100 sind Computervorrichtungen, wie beispielsweise Smartphones mit einem Betriebssystem, wie beispielsweise ANDROID® oder APPLE®IOS®, Tabletcomputer, Laptopcomputer, Desktopcomputer, Fernseher, Spielkonsolen oder irgendein anderer Typ von netzfähiger Vorrichtung, auf welcher einem Anwender digitaler Inhalt präsentiert werden kann. Der Einfachheit der Beschreibung halber nehmen wir ohne Beschränkung an, dass die erste Bildschirmvorrichtung 120 ein Fernseher ist. Typische erste Bildschirmvorrichtungen 120 und/oder Clientvorrichtungen 100, 105 enthalten die Hardware und Software, die nötig ist, um Klang (z. B. Lautsprecher und Mikrophon) und Bilder einzugeben und auszugeben und koppeln mit dem Netzwerk 110 (z. B. über Wi-Fi und/oder 4G oder andere drahtlose Telekommunikationsstandards).
  • Die erste Bildschirmvorrichtung 120 und die Clientvorrichtungen 100, 105 koppeln miteinander, um unter Verwendung von einem oder mehreren Kopplungsprotokollen Sessions aufzubauen. Ein Kopplungsprotokoll ist ein Mechanismus, der dazu verwendet wird, andere lokale Vorrichtungen (z. B. Cleintvorrichtungen 100, 105 und/oder erste Bildschirmvorrichtungen 120) zu entdecken, und/oder mit entdeckten lokalen Vorrichtungen zu koppeln, um an einer Session teilzunehmen (z. B. sie zu erzeugen und/oder ihr beizutreten). Kopplungsprotokolle können z. B. DIAL, CAST, manuelle Paarung, AIRPLAY, SMARTGLASS, MIRACAST, irgendeinen anderen Mechanismus zum Entdecken und Inbetriebnehmen einer Anwendung (typischerweise in einem Heimnetz) oder irgendeine Kombination davon enthalten. Die erste Bildschirmvorrichtung 120 und die Clientvorrichtungen 100, 105 sind mit spezifischen Typen von Kopplungsprotokollen betreibbar und in einigen Fällen können die Typen von Kopplungsprotokollen, die mit den ersten Bildschrimvorrichtungen 120 und den Cleintvorrichtungen 100, 105 betreibbar sind, unterschiedlich sein. Beispielsweise kann die erste Bidlschirmvorrichtung 120 mit DIAL und CAST betreibbar sein, kann die Clientvorrichtung 100 mit CAST betreibbar sein und die Clientvorrichtung 105 mit DIAL.
  • Die erste Bildschirmvorrichtung 120 enthält eine erste Bildschirmanwendung 140, die von einer gekoppelten Vorrichtung gesteuert werden kann. Beispielsweise kann ein Anwender, der eine Clientvorrichtung 100 in einer Session mit der ersten Bildschirmanwendung 140 betreibt, unter Verwendung der Clientvorrichtung 100 veranlassen, dass auf der Clientvorrichtung 100 präsentierter Inhalt auch durch die erste Bildschirmanwendung 140 präsentiert wird. Die erste Bildschirmanwendung 140 erzeugt einen Anwendungsidentifizierer, der sie derart identifiziert, dass sie eine Anwendung der ersten Bildschirmvorrichtung 120 ist. Die erste Bildschirmanwendung 140 kann den Anwendungsidentifizierer als Teil einer Installation der ersten Bildschirmanwendung 140 auf der ersten Bildschirmvorrichtung 120 erzeugen. Der Anwendungsidentifizierer kann unter Verwendung von beispielsweise einem Zufallszahlengenerator, einem Hash-Wert eines Vorrichtungsidentifizierers, irgendeinem anderen Verfahren, das einen Identifizierer erzeugt, der die erste Bildschirmanwendung 140 eindeutig identifiziert, etc. erzeugt werden. In Antwort auf ein Empfangen einer Entdeckungsanfrage stellt die erste Bildschirmanwendung 140 der anfragenden Clientvorrichtung einen Anwendungsidentifizierer und verfügbare Verbindungsprotokolle zur Verfügung.
  • Zusätzlich registriert die erste Bildschirmanwendung 140 beim Aufbauen einer Session mit einer Clientvorrichtung ihre Anwendungsstatusinformation, die die Session beschreibt, (z. B. Session identifizieren, bei der Session verwendetes Kopplungsprotokoll, etc.) zum Steuerserver 130. Eine Clientvorrichtung 100, 105 kann später einen Anwendungsstatus der ersten Bildschirmanwendung 140 vom Steuerserver 130 anfragen und diese Information verwenden, um ein bevorzugtes Verfahren zum Teilnehmen an einer Session mit der ersten Bildschirmanwendung 140 zu bestimmen. Demgemäß wird das Risiko eines Beitretens zu einer existierenden Session unter Verwendung eines Verbindungsprotokolls entfernt, das bei der Session inoperabel bzw. nicht betreibbar ist.
  • Die Clientvorrichtung 100 enthält eine zweite Bildschirmanwendung 150, die eine zu einer zweiten Bildschirmanwendung 160 ähnliche Funktionalität hat. Die zweite Bildschirmanwendung 150 entdeckt Vorrichtungen, die verfügbar sind, um mit der Cleintvorrichtung 100 über beispielsweise WIFI, BLUETOOTH, etc. zu koppeln. Als Teil des Entdeckungsprozesses erhält die zweite Bidldschirmanwendung 150 Information vom Steuerserver 130, die irgendwelche vorherigen manuellen Paarungen der entdeckten Vorrichtungen beschreibt. Eine manuelle Paarung ist eine Kopplung zwischen der zweiten Bildschirmanwendung 150 und einer entdeckten Vorrichtung, welche Kopplung durch einen Anwender manuell durchgeführt wurde. Beispielsweise kann ein Anwender zwei Vorrichtungen in einen Entdeckungsmode versetzen und dann einen durch eine der Vorrichtungen zur Verfügung gestellten Passcode zur anderen Vorrichtung eingeben, was veranlasst, dass die Vorrichtungen gepaart werden. Die zweite Bildschirmanwendung 150 unterhält eine Vorrichtungsliste der entdeckten Vorrichtungen. Die zweite Bildschirmanwendung 150 unterzieht die Vorrichtungsliste einem Updaten mit Information über die entdeckten Vorrichtungen (z. B. Anwendungsidentifizierer, Kopplungsprotokolle etc.). Die zweite Bildschirmanwendung 150 unterzieht auch die Vorrichtungsliste einem Updaten mit Information vom Steuerserver 130, die irgendwelche manuellen Paarungen von entdeckten Vorrichtungen beschreibt. Oft kann eine erste Bildschirmanwendung 140 mit mehreren Kopplungsprotokollen und/oder manuellen Paarungen assoziiert (d. h. durch diese entdeckbar) sein. Die einem Updaten unterzogene Vorrichtungsliste zeigt einen Eintrag für jedes dieser Kopplungsprotokolle und jede dieser manuellen Paarungen – was in mehreren Einträgen in der einem Updaten unterzogenen Vorrichtungsliste für dieselbe erste Bildschirmanwendung 140 resultiert. Die zweite Bildschirmanwendung 150 führt eine Deduplizierung an der einem Updaten unterzogenen Vorrichtungsliste beispielsweise durch Sammeln bzw. Aussuchen bzw. Erfassen von Einträgen in der Vorrichtungsliste durch einen Anwendungsidentifizierer und darauffolgendes Erzeugen eines einzigen Vorrichtungseintrags für jeden Anwendungsidentifizierer in einer Sessionschnittstelle durch, die dazu verwendet wird, eine Schnittstelle mit der zweiten Bildschirmanwendung 150 zu bilden. Bei einigen Ausführungsformen kann ein Anwender diesen Eintrag auswählen, um die Clientvorrichtung 100 anzufragen, eine Session aufzubauen und/oder einer existierenden Session beizutreten, und zwar mit der ersten Bildschirmanwendung 140.
  • Die Sessionschnittstelle ist eine grafische Anwenderschnittstelle, die der Anwender verwendet, um eine Schnittsstelle mit der zweiten Bildschirmanwndung 150 zu bilden. Beispielsweise kann ein Anwender die zweite Bildschirmanwendung 150 unter Verwendung der Sessionschnittstelle anweisen, andere Vorrichtungen zu entdecken, mit einer bestimmten ersten Bildschirmvorirchtung 120 zu koppeln, etc. Die zweite Bildschirmanwendung 150 präsentiert (z. B. über die Sessionschnittstelle) eine Auflistung von entdeckten Vorrichtungen und/oder Anwendungen, die auf diesen Vorrichtungen in Betrieb sind. Die Auflistung von entdeckten Vorrichtungen wird unter Verwendung der durch Deduplizierung der Vorrichtungsliste erzeugten Einträge erzeugt. Demgemäß entspricht jeder Eintrag in der Auflistung einer bestimmten Anwendung, die auf einer bestimmten Vorrichtung in Betrieb ist bzw. arbeitet bzw. läuft.
  • Die zweite Bildschirmanwendung 150 empfängt eine Auswahl vom Anwender, die einen Wunsch anzeigt, an einer Session mit der ersten Bildschirmvorrichtung 120 teilzunehmen, die mit der Auswahl assoziiert ist. Beispielsweise kann ein Anwender einen Eintrag in der Auflistung von entdeckten Vorrichtungen auswählen, der der ersten Bildschirmanwendung 140 entspricht, die auf der ersten Bildschirmvorrichtung 120 läuft. Die zweite Bildschirmanwendung 150 fragt den Steuerserver 130 an, um zu bestimmen, ob die Vorrichtung bereits bei einer existierenden Session ist, und wenn es so ist, welches das Kopplungsprotokoll ist, das mit der existierenden Session assoziiert ist. Die zweite Bildschirmanwendung 150 bestimmt eine Kopplungsmethode, um die Clientvorrichtung 100 mit der ersten Bildschirmvorrichtung 120 zu koppeln, basierend darauf, ob die erste Bildschirmvorrichtung 120 bei einer existierenden Session ist, und den Kopplungsprotokollen, die für die Clientvorrichtung 100 und die erste Bildschirmvorrichtung 120 verfügbar sind. Eine Verbindungsmethode kann z. B. eine direkte Kopplung mit der ersten Bildschirmanwendung 140 oder eine indirekte Kopplung mit der ersten Bildschirmanwendung 140 über den Steuerserver 130 sein. Die zweite Bildschirmanwendung 150 koppelt dann mit der ersten Bildschirmanwendung 140 basierend auf der bestimmten Kopplungsmethode. Wenn sie einmal mit der ersten Bildschirmanwendung 140 gekoppelt ist, kann ein Anwender der zweiten Bildschirmanwendung 150 eine gewisse Kontrolle über den durch die erste Bildschirmanwendung 150 präsentierten Inhalt haben. Beispielsweise kann der Anwender veranlassen, dass ein Video, das durch die zweite Bildschirmanwendung 150 präsentiert wird, auch durch die erste Bildschirmanwendung 140 präsentiert wird.
  • Der Steuerserver 130 behält Information, die sich auf erste Bildschirmanwendungen und Clientvorrichtungen bezieht. Die behaltene Information enthält z. B. Paarungsinformation und Anwendungsstatus. Paarungsinformation beschreibt irgendwelche Vorrichtungen (z. B. Clientvorrichtungen 100, 105), die mit der ersten Bildschirmanwendung 140 manuell gepaart sind. Eine manuelle Paarung erfolgt, wenn ein Anwender eine Kopplung zwischen einer zweiten Bildschirmanwendung und einer ersten Bildschirmanwendung 140 manuell einrichtet. Der Steuerserver 130 kann Paarungsinformation von z. B. den zweiten Bildschirmanwendungen 150, 160 und/oder der ersten Bildschirmanwendung 140 empfangen und der Steuerserver 130 unterzieht dann eine Datenbank einem Updaten mit der empfangenen Paarungsinformation. Ein Anwendungsstatus beschreibt, ob eine erste Bildschirmanwendung 140 bei einer existierenden Session ist, und wenn es so ist, welches Kopplungsprotokoll bei der existierenden Session verwendet wird. Der Steuerserver 130 empfängt Anwendungsstatusinformation von der ersten Bildschirmanwendung 140 und dann unterzieht der Steuerserver 130 eine Datenbank einem Updaten mit der empfangenen Information. In Antwort auf ein Empfangen einer Anfrage von einer zweiten Bildschirmanwendung (z. B. der zweiten Bildschirmanwendung 150) stellt der Steuerserver 130 Paarungsinformation, Anwendungsstatusinformation oder beides den zweiten Bildschirmanwendungen 150, 160 zur Verfügung.
  • Bei einigen Ausführungsformen koppelt der Steuerserver 130 indirekt eine zweite Bildschirmanwendung 150 mit einer ersten Bildschirmanwendung 140, um an einer Session teilzunehmen. Wie es oben angegeben ist, hat die erste Bildschirmvorrichtung 120 eine Interoperabilität bzw. Kompatibilität mit einer beschränkten Gruppe von Kopplungsprotokollen. In Fällen, in welchen die Clientvorrichtung 100 nicht mit wenigstens einem derselben Kopplungsprotokolle betreibbar ist, die für die erste Bildschirmvorrichtung 120 arbeiten, kann die Clientvorrichtung 100 mit der ersten Bildschirmvorrichtung 120 durch den Steuerserver 130 indirekt koppeln. In diesem Fall kommuniziert die Clientvorrichtung 100 mit dem Steuerserver 130 unter Verwendung eines Kopplungsprotokolls, das für sowohl die Clientvorrichtung 100 als auch den Steuerserver 130 verfügbar ist, und der Steuerserver 130 kommuniziert mit der ersten Bildschirmanwendung 140 unter Verwendung eines anderen Kopplungsprotokolls, das für sowohl dier erste Bildschirmanwendung 140 als auch den Steuerserver 130 verfügbar ist. Der Steuerserver 130 übersetzt in Wirklichkeit die Kommunikationen von der Clientvorrichtung 100 in ein Format, das für den Steuerserver 130 akzeptabel ist, und umgekehrt. Dmegemäß kann eine Clientvorrichtung 100, die nicht mit einem bestimmten Kopplungsprotokoll betreibbar ist, das bei einer existierenden Session zwischen der ersten Bildschirmvorrichtung 120 und einer anderen Clientvorrichtung (z. B. der Clientvorrichtung 105) verwendet wird, der Session indirekt über den Steuerserver 130 unter Verwendung des bestimmten Kopplungsprotokolls beitreten. Ein Beitreten zu einer existierenden Session auf diese Weise lässt zu, dass die Clientvorrichtung 100 der Session ohne Unterbrechung bzw. Störung der Session beitritt. Beispielsweise kann ein Versuchen, einer Session unter Verwendung eine Kopplungsprotokolls beizutreten, das ein anderes als dasjenige ist, das gegenwärtig bei der Session verwendet wird, dazu führen, dass die aktuelle Session fehlerhaft wird, ein Verwenden des anderen Kopplungsprotokolls erneut beginnt, etc.
  • 2 ist ein Interaktionsdiagramm, das den Entdeckungsprozess detaillierter zeigt. Spezifisch ist 2 ein Interaktionsdiagramm einer Ausführungsform eines Verfahrens zum Entdecken und Deduplizieren einer ersten Bildschirmvorrichtung. Bei verschiedenen Ausführungsformen kann das Verfahren unterschiedliche und/oder zusätzliche Schritte gegenüber denjenigen enthalten, die in Verbindung mit 2 beschrieben sind. Zusätzlich können bei einigen Ausführungsformen die Schritte in einer anderen Reihenfolge als derjenigen durchgeführt werden, die in Verbindung mit 2 beschrieben ist.
  • Eine erste Bildschirmanwendung 140, die auf einer ersten Bildschirmvorrichtung 120 arbeitet, erzeugt 205 einen Anwendungsidentifizierer, der für die erste Bildschirmanwendung 140 eindeutig ist. Die erste Bildschirmanwendung 140 veranlasst 210, dass der Anwendungsidentifizierer für andere anfrgende Anwendungen entdeckbar ist.
  • Eine zweite Bildschirmanwendung 150 sendet 215 eine Entdeckungsanfrage zur ersten Bildschirmanwendung 140. Die zweite Bildschirmanwendung 150 kann die Entdeckungsanfrage beispielsweise über ein lokales Netz zu Vorrichtungen an diesem Netzwerk aussenden. In Antwort auf ein Empfangen einer Entdeckungsanfrage stellt die erste Bildschirmanwendung 140 der zweiten Bildschirmanwendung 150 Entdeckungsinformation zur Verfügung 220. Entdeckungsinformation ist Information, die beschreibt, wie eine Clientvorrichtung (z. B. 100, 105) mit der ersten Bildschirmanwendung 140 koppeln kann. Entdeckungsinformation enthält z. B. den Anwendungsidentifizierer und eine Auflistung von Kopplungsprotokollen, die verwendet werden können, um eine Session mit der ersten Bildschirmanwendung 140 aufzubauen bzw. einzurichten, etc.
  • Die zweite Bildschirmanwendung 150 unterzieht eine Vorrichtungsliste einem Updaten unter Verwendung der empfangenen Entdeckungsinformation. Die Vorrichtungsliste ist eine Auflistung von Vorrichtungen, die die zweite Bildschirmanwendung 150 entdeckt hat. Die zweite Bildschirmanwendung 150 fügt für jedes mit der Entdeckungsinformation assoziierte Kopplungsprotokoll einen Eintrag zu der Vorrichtungsliste hinzu. Demgemäß kann es mehrere Einträge für einen einzigen Anwendungsidentifizierer geben. Wenn beispielsweise die Entdeckungsinformation einen Anwendungsidentifizierer X und Kopplungsprotokolle DIAL und CAST enthielt, würde die Vorrichtungsliste zwei Einträge für die erste Bildschirmanwendung 140 enthalten (z. B. [Anwendungsidentifizierer X: DIAL; Anwendungsidentifizierer X: CAST]).
  • Die zweite Bildschirmanwendung 150 fragt 230 nach Paarungsinformation für die erste Bildschirmanwendung 140 von einem Steuerserver 130. Die Anfrage nach Paarungsinformation enthält den Anwendungsidentifizierer für die erste Bildschirmanwendung 140. Paarungsinformation ist Information, die irgendwelche Vorrichtungen (z. B. Clientvorrichtungen 105) beschreibt, mit denen die erste Bildschirmanwendung 140 manuell gepaart worden sein kann. Die Anfrage nach Paarungsinformation enthält den Anwendungsidentifizierer. Der Steuerserver 130 gewinnt Paarungsinformation unter Verwendung des Anwendungsidentifizierers wieder 235. Beispielsweise kann der Steuerserver 130 auf eine Datenbank zugreifen, die eine Auflistung von manuellen Paarungen für verschiedene erste Bildschirmanwendungen speichert, und kann eine spezifische Auflistung von Clientvorrichtungen wiedergewinnen, die zuvor mit einer ersten Bildschirmanwendung gepaart worden sind, und zwar unter Verwendung des mit der ersten Bildschirmanwendung von Interesse assoziierten Anwendungsidentifizierers. Der Steuerserver 130 stellt der zweiten Bildschirmanwendung 150 die Paarungsinformation zur Verfügung 240.
  • Die zweite Bildschirmanwendung 150 unterzieht die Vorrichtungsliste unter Verwendung der Paarungsinformation einem Updaten 245. Die zweite Bildschirmanwendung 150 fügt einen Eintrag zu der Vorrichtungsliste für jede vorherige manuelle Paarung hinzu, die in der Paarungsinformation aufgelistet ist. Demgemäß kann es mehrere Einträge für einen einzigen Anwendungsidentifizierer geben. Somit kann die Vorrichtungsliste mehrere Einträge für einen einzigen Anwendungsidentifizierer enthalten, die spezifischen Kopplungsprotokollen und/oder manuellen Paarungen entsprechen.
  • Die zweite Bildschirmanwendung 150 führt eine Deduplikation der Elemente in der Vorrichtungsliste durch 250. Die zweite Bildschirmanwendung 150 sammelt Einträge in der Vorrichtungsliste durch einen Anwendungsidentifizierer und erzeugt dann einen einzelnen Eintrag in einer Sessionschnittstelle, der auf die Kopplungsprotokolle und/oder manuellen Paaarungen abgebildet ist, die mit dem Anwendungsidentifizierer assoziiert sind. Die Sessionschnittstelle ist eine grafische Anwenderschnittstelle, durch welche eine Clientvorrichtung eine Session entdecken und/oder aufbauen kann, und zwar mit Anwendungen, die auf anderen Vorrichtungen arbeiten (z. B. der ersten Bildschirmvorrichtung 130).
  • Die zweite Bildschirmanwendung 150 präsentiert 255 die Sessionschnittstelle einschließlich des Vorrichtungseintrags. Die Sessionschnittstelle präsentiert einen einzelnen Vorrichtungseintrag für jede Vorrichtung (z. B. die erste Bildschirmvorrichtung 130), die entdeckt worden ist und verfügbar ist, um eine Session damit aufzubauen. Wenn beispielsweise drei unterschiedliche Fernseher entdeckt worden sind und verfügbar wären, um eine Session mit ihnen aufzubauen, würde es nur drei unterschiedliche Vorrichtungseinträge geben, und zwar einen für jeden Fernseher. Bei einigen Ausführungsformen veranlasst die Auswahl eines Vorrichtungseintrags, dass die Sessionschnittstelle die unterschiedlichen Optionen für die zweite Bildschirmanwendung 150 präsentiert, um mit der ersten Bildschirmanwendung 140 zu koppeln. Beispielsweise kann die Auswahl des Vorrichtungseintrags für die erste Bildschirmanwendung 140 veranlassen, dass die Sessionschnittstelle eine Auflistung von Protokollen präsentiert, die verfügbar sind, um mit der ersten Bildschirmanwendung 140 zu koppeln.
  • Wendet man sich nun einer Diskussion eines Aufbauens von Sessions zwischen Vorrichtungen zu, ist 3 ein Interaktionsdiagramm einer Ausführungsform eines Verfahrens zum Aufbauen einer Session zwischen einer ersten Bildschirmanwendung und einer oder mehreren zweiten Bildschirmanwendungen. Bei verschiedenen Ausführungsformen kann das Verfahren unterschiedliche und/oder zusätzliche Schritte anders als diejenigen enthalten, die in Verbindung mit 3 beschrieben sind. Zusätzlich können die Schritte bei einigen Ausführungsformen in einer anderen Reihenfolge als derjenigen durchgeführt werden, die in Verbindung mit 3 beschrieben ist.
  • Eine zweite Bildschirmanwendung 160 auf einer zweiten Bildschirmvorrichtung 105 präsentiert 305 entdeckte Vorrichtungen, die lokal sind, der zweiten Bildschirmvorrichtung 105. Beispielsweise kann die zweite Bildschirmanwendung 160 eine Sessionschnittstelle präsentieren, die einen einzigen Vorrichtungseintrag für jede entdeckte Vorrichtung zeigt. Die Auflistung von Vorrichtungseinträgen kann unter Verwendung des oben in Bezug auf 2 beschriebenen Prozesses erzeugt werden. Die zweite Bildschirmanwendung 160 empfängt 310 eine Auswahl eines Vorrichtungseintrags, der mit einer ersten Bildschirmanwendung 140 assoziiert ist. Beispielsweise kann der Anwender einen Vorrichtungseintrag für eine erste Bildschirmvorrichtung 120 auswählen und ist die erste Bildschirmanwendung 140 eine Anwendung, die auf der ersten Bildschirmvorrichtung 120 arbeitet.
  • Die zweite Bildschirmanwendung 160 fragt 315 nach Anwendungsstatusinformation, die mit der ersten Bildschirmanwendung 140 assoziiert ist, von einem Steuerserver 130. Die Anfrage nach Anwendungsstatusinformation enthält einen Anwendungsidentifizierer, der mit der ersten Bildschirmanwendung 140 assoziiert ist. Der Steuerserver 130 gewinnt die Anwendungsstatusinformation unter Verwendung des Anwendungsidentifizierers von einer Datenbank wieder. Die Datenbank unterhält bzw. hält Anwendungsstatusinformation, die beschreibt, ob eine erste Bildschirmanwendung bei einer existierenden Session ist, und wenn es so ist, welches Kopplungsprotokoll bei der existierenden Session verwendet wird. Der Steuerserver 130 stellt den Anwendungsstatus für die erste Bildschirmanwendung 140 der zweiten Bildschirmanwendung 160 zur Verfügung 320.
  • Die zweite Bildschirmanwendung 160 bestimmt 325, ob es eine existierende Session mit irgendeiner anderen Clientvorrichtung gibt, unter Verwendung der empfangenen Anwendungsstatusinformation. Wenn es keine existierende Session gibt, baut die zweite Bildschirmanwendung 160 eine Session mit der ersten Bildschirmanwendung 140 auf 330.
  • Bei einigen Fällen kann es mehrere durch die erste Bildschirmvorrichtung unterstützte Kopplungsprotokolle geben, die auch durch die Clientvorrichtung 105 unterstützt werden. Bei einigen Ausführungsformen enthält die zweite Bildschirmanwendung 160 eine Tabelle von nach Rang geordneten Kopplungsprotokollen. Bei einigen Ausführungsformen werden die Kopplungsprotokolle durch einen Administrator der zweiten Bildschirmanwendung 160 nach Rang geordnet. Der Administrator kann die Kopplungsprotokolle in irgendeiner Reihenfolge nach Rang ordnen. Bei einigen Ausführungsformen können die Kopplungsprotokolle durch das Ausmaß an Kontrolle über eine Session nach Rang geordnet werden, welches die Kopplungsprotokolle einem Anwender zur Verfügung stellen. Beispielsweise würde die Tabelle CAST im Rang höher als DIAL einordnen, da CAST eine größere Lautstärkeregelungssteuerung als DIAL zur Verfügung stellt. Bei einigen Ausführungsformen wählt die zweite Bildschirmanwendung 160 ein bevorzugtes Kopplungsprotokoll aus, das das Kopplungsprotokoll mit höchstem Rang in der Tabelle ist, das für sowohl die Clientvorrichtung 105 als auch die erste Bildschirmvorrichtung 120 verfügbar ist CASTCAST. Bei anderen Ausführungsformen kann die zweite Bildschirmanwendung 160 veranlassen, dass der Anwender das Kopplungsprotokoll auswählt, das dazu verwendet wird, eine Session aufzubauen.
  • Die Schritte beim Aufbauen einer Session sind allgemein kopplungsprotokollspezifisch, jedoch stellt die erste Bildschirmanwendung 140 ungeachtet des ausgewählten Kopplungsprotokolls dem Steuerserver 130 Anwendungsstatusinformation zur Verfügung 335, die anzeigt, dass die erste Bildschirmanwendung 140 bei einer Session mit der zweiten Bildschirmanwendung 160 ist und dass die Session unter Verwendung eines bestimmten Kopplungsprotokolls gestartet wurde. Der Steuerserver 130 unterzieht dann die Anwendungsstatusinformation, die mit der ersten Bildschirmanwendung 120 assoziiert ist, einem Updaten 340 mit der empfangenen Anwendungsstatusinformation. Beispielsweise kann der Steuerserver 130 einen Datenbankeintrag, der mit dem Anwendungsidentifizierer der ersten Bildschirmanwendung 140 assoziiert ist, mit der empfangenen Anwendungsstatusinformation einem Updaten unterziehen.
  • Bei einigen Ausführungsformen bestimmt die zweite Bildschirmanwendung 160, dass es eine existierende Session 345 mit irgendeiner anderen Clientvorrichtung (z. B. einer zweiten Bildschirmanwendung 150) über ein Kopplungsprotokoll gibt, unter Verwendung der Anwendungsstatusinformation vom Steuerserver 130. Die zweite Bildschirmanwendung 160 bestimmt 350, ob das Kopplungsprotokoll auch für die Clientvorrichtung 105 verfügbar ist (d. h. das Kopplungsprotokoll durch die Clientvorrichtung 100 unterstützt wird). Bei Ausführungsformen, bei welchen das Kopplungsprotokoll unterstützt wird, koppelt 355 die zweite Bildschirmanwendung 150 mit der ersten Bildschirmanwendung 140 unter Verwendung des Kopplungsprotokolls. Da die Kopplung mit der ersten Bildschirmanwendung 140 dasselbe Protokoll verwendet, das bei der existierenden Session 345 verwendet wird, kann die zweite Bildschirmanwendung 150 mit der existierenden Session 345 koppeln 355, ohne die existierende Session 345 zu stören bzw. unterbrechen (z. B. einen Ausfall verursachen, veranlassen, dass die Session erneut startet, etc.).
  • Bei einigen Ausführungsformen, bei welchen das Kopplungsprotokoll nicht verfügbar ist (d. h. durch die Clientvorrichtung 100 nicht unterstützt wird), koppelt die zweite Bildschirmanwendung 150 mit der Session über den Steuerserver 130. Die Kopplung 360 mit dem Steuerserver 130 erfolgt über irgendein anderes Protokoll, das durch die Clientvorrichtung 100 unterstützt wird. Der Steuerserver 130 koppelt dann mit der ersten Bildschirmanwendung unter Verwendung des Kopplungsprotokolls, das bei der existierenden Session 345 verwendet wird. Da der Steuerserver 130 mit der existierenden Session 345 unter Verwendung des Kopplungsprotokolls für die Session koppelt, kann der Steuerserver 130 dazu dienen, dass die zweite Bildschirmanwendung 150 über den Steuerserver 130 effektiv der existierenden Session ohne Störung beitritt.
  • In einigen Fällen (die in 3 nicht gezeigt sind) gibt es keine existierende Session zwischen der ersten Bildschirmanwendung 140 und einer anderen Clientvorrichtung und die für die Clientvorrichtung 105 verfügbaren Kopplungsprotokolle sind unterschiedlich von den für die erste Bildschirmvorrichtung 120 verfügren Kopplungsprotokollen. Demgemäß kann die Clientvorrichtung 105 mit einer Session mit der ersten Bildschirmanwendung 140 nicht direkt koppeln und eine solche aufbauen. Bei einigen Ausführungsformen koppelt die Clientvorrichtung 105 indirekt über den Steuerserver 130 mit der ersten Bildschirmanwendung 140. Beispielsweise kommuniziert die Clientvorrichtung 105 mit dem Steuerserver 130 unter Verwendung eines Kopplungsprotokolls, das für die Clientvorrichtung 105 und den Steuerserver 130 verfügbar ist, übersetzt die von der Clientvorrichtung 105 empfangene Information in ein Format, das kompatibel mit einem Kopplungsprotokoll ist, das durch die erste Bildschirmvorrichtung unterstützt wird, und kommuniziert mit der ersten Bildschirmanwendung unter Verwendung des Kopplungsprotokolls.
  • Wendet man sich nun einer Diskussion der Struktur der zweiten Bildschirmanwendung 150 zu, ist 4 ein Blockdiagramm, das eine detaillierte Ansicht von Modulen innerhalb einer zweiten Bildschirmanwendung 150 gemäß einer Ausführungsform darstellt. Einige Ausführungsformen der zweiten Bildschirmanwendung 150 haben unterschiedliche Module von denjenigen, die hier beschrieben sind. Gleichermaßen können die Funktionen unter den Modulen auf unterschiedliche Art verteilt sein, wie sie hier beschrieben ist. Die zweite Bildschirmanwendung 150 besteht aus Modulen, die eine Vorrichtungsdatenbank 410, ein Entdeckungsmodul 420, ein Deduplikationsmodul 430, ein Schnittstellenmodul 440 und ein Kopplungsmodul 450 enthalten. Darüber hinaus gilt die nachfolgende Diskussion, während sie in Zusammenhang mit der zweiten Bildschirmanwendung 150 erfolgt, gleichermaßen auch für die zweite Bildschirmanwendung 160.
  • Die Vorrichtungsdatenbank 410 speichert Information in Bezug auf eine Entdeckung und Sessionteilnahme mit ersten Bildschirmnwendungen 140 auf ersten Bildschirmvorrichtungen 120. Information in Bezug auf eine Entdeckung und Sessionteilnahme enthält eine Vorrichtungsliste. Eine Vorrichtungsliste ist eine Auflistung von Information, die mit Vorrichtungen assoziiert ist (z. B. Clientvorrichtungen und/oder erste Bildschirmvorrichtungen 120), die entdeckt worden sind. Die mit jeder Vorrichtung in der Vorrichtungsliste assoziierte Information kann z. B. einen Anwendungsidentifizierer einer besimmten Anwendung, die auf der Vorrichtunvg arbeitet, Kopplungsprotokolle, die mit der Vorrichtung kompatibel sind, Paarungsinformation oder irgendeine Kombination davon enthalten.
  • Das Entdeckungsmodul 420 führt Entdeckungsoperationen für die zweite Bildschirmanwendung 150 durch. Das Entdeckungsmodul 420 sendet Entdeckungsanfragen zu lokalen Vorrichtungen (z. B. über WIFI, BLURTOOTH, etc.), um Vorrichtungen (z. B. erste Bildschirmvorrichtungen 120 und/oder andere Clientvorrichtungen) zu identifizieren, die lokal zur Entdeckung verfügbar sind. Das Entdeckungsmodul 420 empfängt Entdeckungsinformation von irgendwelchen entdeckten ersten Bildschirmvorrichtungen 120. Die Entdeckungsinformation enthält sowohl einen Anwendungsidentifizierer für die entdeckte erste Bildschirmanwendung 140 als auch Kopplungsprotokolle, die verwendet werden können, um eine Session mit der ersten Bildschirmanwendung 140 aufzubauen.
  • Das Entdeckungsmodul 420 unterzieht die Vorrichtungsliste einem Updaten mit der empfangenen Entdeckungsinformation. Das Entdeckungsmodul 420 fügt einen Eintrag zur Vorrichtungsliste für jedes mit der Entdeckungsinformation assoziierte Kopplungsprotokoll hinzu. Demgemäß kann es mehrere Einträge für einen einzigen Anwendungsidentifizierer geben (z. B. [Anwendungsidentifizierer X: DIAL; Anwendungsidentifizierer X: CAST...]).
  • Das Entdeckungsmodul 420 erhält mit den entdeckten ersten Bildschirmvorrichtungen 120 assoziierte Paarungsinformation von einem Steuerserver 130. Die Paarungsinformation ist Information, die irgendwelche Clientvorrichtungen beschreibt, mit welchen eine erste Bildschirmanwendung 140 manuell gepaart worden sein kann. Das Entdeckungsmodul 420 unterzieht die Vorrichtungsliste einem Updaten mit der vom Steuerserver 130 empfangenen Paarungsinformation. Das Entdeckungsmodul 420 fügt einen Eintrag zur Vorrichtungsliste für jede in der Paarungsinformation identifizierte manuelle Paarung hinzu. Demgemäß kann es mehrere Einträge für sowohl Kopplungsprotokolle als auch/oder manuelle Paarungen für einen einzigen Anwendungsidentifizierer geben (z. B.[ Anwendungsidentifizierer X: DIAL; Anwendungsidentifizierer X: CAST; Anwendungsidentifizierer X: manuelle Paarung mit Clientvorrichtung 1; Anwendungsidentifizierer X: manuelle Paarung mit Clientvorrichtung 2; ...]).
  • Zusätzlich kann bei einigen Ausführungsformen das Entdeckungsmodul 420 einen Identifizierer erzeugen, der für die Clientvorrichtung 100 eindeutig ist. In Antwort auf ein Empfangen einer Entdeckungsanfrage von irgendeiner anderen Clientvorrichtung (z. B. der Clientvorrichtung 105), stellt das Entdeckungsmodul 420 der anfragenden Clientvorrichtung den Identifizierer und eine Auflistung von Kopplungsprotokollen, die verfügbar sind, um mit der Clientvorrichtung 100 zu koppeln, zur Verfügung.
  • Das Deduplikationsmodul 430 führt eine Vorrichtungsdeduplikation unter Verwendung der einem Updaten unterzogenen Vorrichtungsliste durch. Das Deduplikationsmodul 430 sammelt Einträge in der einem Updaten unterzogenen Vorrichtungsliste durch einen Anwendungsidentifizierer und erzuegt dann einen einzelnen Vorrichtungseintrag für eine Sessionschnittstelle, der auf die Kopplungsprotokolle und/oder manuellen Paarungen abgebildet ist, die mit dem Anwendungsidentifizierer assoziiert sind.
  • Das Schnittstellenmoul 440 erzeugt eine Sessionschnittstelle unter Verwendung von einem oder mehreren Vorrichtungseinträgen. Die Sessionschnittstelle ist eine grafische Anwenderschnittstelle, durch welche die Clientvorrichtung 100 eine Session mit Anwendungen, die auf anderen Vorrichtungen (z. B. der ersten Bildschirmvorrichtung 130) arbeiten, entdecken und/oder aufbauen kann. Die Sessionschnittstelle präsentiert einen oder mehrere Vorrichtungseinträge einem Anwender der Clientvorrichtung 100. Jeder Vorrichtungseintrag ist mit einer einzigen ersten Bildschirmvorrichtung 120 assoziiert. Bei einigen Ausführungsformen kann ein Vorrichtungseintrag alternativ mit irgendeiner anderen Clientvorrichtung (z. B. der Clientvorrichtung 105) assoziiert sein.
  • In Antwort auf ein Empfangen einer Auswahl eines Vorrichtungseintrags für eine bestimmte Vorrichtung (z. B. die erste Bildschirmvorrichtung 120) erhält das Kopplumgsmodul 350 einen Anwendungsstatus einer mit der ausgewählten Vorrichtung assoziierten Anwendung. Beispielsweise kann das Kopplungsmodul 350 vom Steuerserver 130 Anwendungsstatusinformation für eine erste Bildschirmanwendung 140 erhalten, die auf der ausgewählten ersten Bildschirmvorrichtung 120 arbeitet. Die Anwendungsstatusinformation ist Information, die beschreibt, ob eine erste Bildschirmanwendung bei einer existierenden Session ist, und wenn es so ist, welches Kopplungsprotokoll bei der existierenden Session verwendet wird.
  • Das Kopplungsmodul 450 bestimmt eine Kopplungsmethode unter Verwendung der empfangenen Anwendungsstatusinformation und Kopplungsprotokollen, die für die Clientvorrichtung 100 verfügbar sind. Wenn beispielsweise die Anwendungsstatusinformation anzeigt, dass es keine existiernde Session gibt, kann das Koppluingsmodul 450 eine Session mit der ersten Bildschirmanwendung 140 unter Verwendung eines bevorzugten Protokolls aufbauen. Bei einigen Ausführungsformen ist das bevorzugte Protokoll ein durch den Anwender der Clientvorrichtung 100 ausgewähltes Kopplungsprotokoll. Bei alternativen Ausführungsformen wählt das Kopplungsmodul 450 das bevorzugte Kopplungsprotokoll basierend darauf aus, welches Kopplungsprotokoll, das für sowohl die erste Bildschrmvorrichtung 120 als auch die Clientvorrichtung 100 verfügbar ist, dem Anwender der Clientvorrichtung 100 die meiste Steuerung zur Verfügung stellt. Beispielsweise kann unter der der Annahme, dass DIAL und CAST verfügbare Kopplungsprotokolle sind, das Kopplungsmodul 450 CAST als das Kopplungsprotokoll auswählen, will es gegenüber dem DIAL-Kopplungsprotokoll zusätzliche Lautstärkeregelungssteuerung zur Verfügung stellen würde. Zusätzlich koppelt bei Ausführungsformen, bei welchen es keine existiernde Sessions gibt und die Kopplungsprotokolle, die für die Clientvorrichtung 105 verfügbar sind, unterschiedlich von den Kopplungsprotokollen sind, die für die erste Bildschirmvorrichtung 120 verfügbar sind, das Kopplungsmodul 450 indirekt über den Steuerserver 130 mit der ersten Bildschirmanwendung 140.
  • Bei Ausführungsformen, bei welchen die Anwendungsstatusinformation anzeigt, dass die erste Bildschirmvorrichtung 120 unter Verwndung eines spezifischen Kopplungsprotokolls bei einer existierenden Session mit einer anderen Clientvorrichtung (z. B. der Clientvorrichtung 105) ist, bestimmt das Kopplungsmodul 450, ob das spezifische Kopplungsprotokoll auch für die Clientvorrichtung 100 verfügbar ist (d. h. das Kopplungsprotokoll durch die Clientvorrichtung 100 unterstützt wird). Wenn das Kopplungsprotokoll unterstützt wird, koppelt das Kopplungsmodul 450 mit der ersten Bildschirmanwendung 140 unter Verwendung des bestimmten Kopplungsprotokolls. Wenn das bestimmte Kopplungsprotokoll nicht verfügbar ist (d. h. nicht durch die Clientvorrichtung 100 unterstützt wird), koppelt das Kopplungsprotokoll über den Steuerserver 130 mit der Session. In diesem Fall ist die Kopplung mit der Session indirekt, und zwar in demselben Sinn, dass die Clientvorrichtung 100 mit dem Steuerserver 130 unter Verwendung eines Protokolls koppelt, das durch die Clientvorrichtung 100 unterstützt wird, und der Steuerserver 130 dann mit der Session unter Verwendung des bestimmten Kopplungsprotokolls koppelt. In jedem Fall tritt die Clientvorrichtung der existierenden Session über das bestimmte Kopplungsprotokoll bei, das bei der existierenden Session verwendet wird. Demgemäß kann die Clientvorrichtung 100 der existierenden Session ohne Störung effektiv beitreten, welche sonst auftreten könnte, wenn eine Kopplung mit einer existierenden Session unter Verwendung eines Kopplungsprotolkolls versucht würde, das unterschiedlich von dem Kopplungsprotokoll ist, das bei der existierenden Session verwendet wird.
  • 5 ist ein Ablaufdiagramm, das einen Prozess zum Durchführen eienr Vorrichtungsdeduplikation als Teil einer Vorrichtungsentdeckung gemäß einer Ausführungsform darstellt. Bei einer Ausführungsform wird der Prozess der 5 durch die Clientvorichtung 100 durchgeführt. Andere Einheiten können einige oder alle der Schritte des Prozesses bei anderen Ausführungsformen durchführen. Gleichermaßen können Ausführungsformen unterschiedliche und/oder zusätzliche Schritte enthalten oder die Schritte in anderen Reihenfolgen durchführen.
  • Die Clientvorrichtung 100 entdeckt 510 eine erste Bildschirmanwendung 140, die auf einer ersten Bildschirmvorrichtung 120 arbeitet, und verfügbare Kopplungsprotokolle zum Koppeln mit der ersten Bildschirmvorrichtung 120. Beispielsweie kann die Clientvorrichtung 100 eine oder mehrere Entdeckungsanfragen über z. B. BLUETOOTH, WIFI, etc. aussenden. Die entdeckte erste Bildschirmvorrichtung 120 stellt der Clientvorrichtung 100 Entdeckungsinformation zur Verfügung, die einen Anwendungsidentifizierer und verfügbare Kopplungsprotokolle, die durch die erste Bildschirmvorrichtung 120 unterstützt werden, enthält.
  • Die Clientvorrichtung 100 unterzieht 520 eine Vorrichtungsliste unter Verwendung von mit der ersten Bildschirmvorrichtung 120 assoziierter Information (z. B. einigem oder allem der Entdeckungsinformation) und verfügbaren Kopplungsprotokollen einem Updaten. Die Clientvorrichtung 100 fügt einen Eintrag zu der Vorrichtungsliste für jedes Kopplungsprotokoll hinzu, so dass jeder Eintrag auch mit dem Anwendungsidentifizierer assoziiert ist. Demgemäß kann es mehrere Einträge für einen einzigen Anwendungsidentifizierer geben (z. B. [Anwendungsidentifizierer X: DIAL; Anwendungsidentifizierer X: CAST]).
  • Die Clientvorrichtung 100 erhält 530 Paarungsinformation von einem Steuerserver 130 für die erste Bildschirmvorrichtung 120. Beispielsweise kann die Clientvorrichtung 100 mit der ersten Bildschirmanwendung 140 und/oder der ersten Bildschirmvorrichtung 120 assoziierte Paarungsinformation von dem Steuerserver 130 anfragen. Die von dem Steuerserver 130 empfangene Paarungsinformation beschreibt irgendwelche Vorrichtungen (z. B. Clientvorrichtungen 105), mit welchen die erste Bildschirmanwendung 140 manuell gepaart worden sein kann. Die Clientvorrichtung 100 unterzieht 540 die Vorrichtungsliste unter Verwendung der Paarungsinformation einem Updaten. Da die Clientvorrichtung 100 einen Eintrag zu der Vorrichtungsliste für jeden Anwendungsidentifizierer hinzufügt, der mit einer manuellen Paarung assoziiert ist, kann es mehrere Einträge für einen einzigen Anwendungsidentifizierer geben. Beispielsweise kann die Vorrichtungsliste Einträge für sowohl Kopplungsprotokolle als auch manuelle Paarungen enthalten, die mit demselben Anwendungsidentifizierer assoziiert sind (z. B. [Anwendungsidentifizierer X: DIAL; Anwendungsidentifizierer X: CAST; Anwendungsidentifizierer X: manuelle Paarung mit Vorrichtung 1; Anwendungsidentifizierer X: manuelle Paarung mit Vorrichtung 2;...]).
  • Die Clientvorrichtung 100 führt 540 ein Vorrichtungsdeduplikation unter Verwendung der einem Updaten unterzogenen Vorrichtungsliste durch. Die Clientvorrichtung 100 sammelt Einträge in der Vorrichtungsliste durch einen Anwendungsidentifizierer und erzeugt dann einen einzelnen Vorrichtungseintrag in einer Sessionschnittstelle, der auf die Kopplungsprotokolle abgebildet wird, die mit dem Anwendungsidentifizierer assoziiert sind. Die Clientvorrichtung 100 präsentiert die Sessionschnittstelle einschließlich des einzelnen Vorrichtungseintrags für die erste Bildschirmvorrichtung 120 zum Anwender zusammen mit anderen Vorrichtungseinträgen, die zuvor entdeckt worden waren. Demgemäß sind die durch die Sessionschnittstelle präsentierten auflistenden Vorrichtungseinträge eine deduplizierte Auflistung von Vorrichtungen, wobei jeder Eintrag einer unterschiedlichen Vorrichtung entspricht.
  • 6 ist ein Ablaufdiagramm, das einen Prozess zum Aufbauen einer Session zwischen einer ersten Bildschirmanwendung und einer zweiten Bildschirmanwendung gemäß einer Ausführungsform darstellt. Bei einer Ausführungsform wird der Prozess der 6 durch die Clientvorrichtung 100 durchgeführt. Andere Einheiten können einige oder alle der Schritte des Prozesses bei anderen Ausführungsformen durchführen. Gleichermaßen können Ausführungsformen unterschiedliche und/oder zusätzliche Schritte enthalten oder die Schritte in unterschiedlichen Reihenfolgen durchführen.
  • Die Clientvorrichtung 100 präsentiert 610 eine deduplizierte Auflistung von Vorrichtungen in einer Anwenderschnittstelle zu einem Anwender der Clientvorrichtung 100. Die deduplizierte Auflistung kann unter Verwendung von z. B. dem oben in Bezug auf 5 beschriebenen Prozess erzeugt werden.
  • Die Clientvorrichtung 100 empfängt 620 eine Auswahl einer aufgelisteten Vorrichtung, mit welcher an einer Session teilzunehmen ist. Bei einigen Ausführungsformen kann die Session beispielsweise eine Videoanzeigesession sein. In diesem Zusammenhang kann sich ein Teilnehmen auf ein Beitreten zu einer existierenden Session mit der ausgewählten Vorrichtung oder ein Aufbauen einer Session mit der ausgewählten Vorrichtung beziehen.
  • Die Clientvorrichtung 100 erhält 630 von einem Steuerserver 130 einen Anwendungsstatus einer ersten Bildschirmanwendung 140 auf der ausgewählten Vorrichtung. Die Clientvorrichtung 100 bestimmt 640 eine Kopplungsmethode basierend auf dem Anwendungsstatus und Kopplungsprotokollen, die für sowohl die Cleintvorrichtung 100 als auch die erste Bildschirmvorrichtung 100 verfügbar sind. Bei Ausführungsformen, bei welchen der Anwendungsstatus anzeigt, dass es keine existiernde Sessions gibt, koppelt 650 die Clientvorrichtung 100 mit der ersten Bildschirmanwendung 140 unter Verwendung eines bevorzugten Kopplungsprotokolls (z. B. eines, das dem Anwender der Clientvorrichtung 100 die meiste Steuerung zur Verfügung stellt), das für sowohl die Clientvorrichtung 100 als auch die erste Bildschirmanwendung 120 verfügbar ist. Bei Ausführungsformen, bei welchen der Anwendungsstatus anzeigt, dass die erste Bildschirmanwendung 140 bei einer existierenden Session mit einer Clientvorrichtung 105 ist und dass die Session ein bestimmtes Kopplungsprotokoll verwendet, bestimmt dann die Clientvorrichtung 100, ob das bestimmte Kopplungsprotokoll auch durch die Clientvorrichtung 100 unterstützt wird. Wenn es unterstützt wird, koppelt 650 die Clientvorrichtung 100 über das bestimmte Kopplungsprotokoll mit der existiernden Session. Sonst koppelt die Clientvorrichtung 100 indirekt über den Steuerserver 130 mit der existierenden Session, wobei die Clientvorrichtung 100 und der Steuerserver 130 unter Verwendung eines durch die Clientvorrichtung 100 unterstützten Kopplungsprotokolls kommunizieren und der Steuerserver 130 und die erste Bildschirmanwendung 140 über das bestimmte Kopplungsprotokoll koppeln, das bei der existierenden Session verwendet wird.
  • Wendet man sich nun einer Diskussion der Implementierung von Clientvorrichtungen 100, 105, der ersten Bildschirmvorrichtung 120 und/oder des Sterservers 130 zu, ist 7 ein Blockdiagramm, das einen beispielhaften Computer 700 zum Implementieren der in 1 gezeigten Einheiten darstellt. Der Computer 700 enthält wenigstens einen mit einem Chipsatz 704 gekoppelten Prozessor 702. Der Chipsatz 704 enthält einen Speicher-Steuerungshub 720 und einen Eingabe/Ausgabe-(I/O-)Steuerungshub 722. Ein Speicher 706 und ein Grafikadapter 712 sind mit dem Speicher-Steuerungshub 720 gekoppelt und eine Anzeige 718 ist mit dem Grafikadapter 712 gekoppelt. Eine Speichervorrichtung 708, eine Eingabevorrichtung 714 und ein Netzwerkadapter 716 sind mit dem I/O-Steuerungshub 722 gekoppelt. Andere Ausführungsformen des Computers 700 haben andere Architekturen.
  • Die Speichervorrichtung 708 ist ein nichtflüchtiges computerlesbares Speichermedium, wie beispielsweise eine Festplatte, ein Kompaktdisketten-Nurlesepeicher (CD-ROM), eine DVD oder eine Festkörper-Speichervorrichtung. Der Speicher 706 hält durch den Prozessor 702 verwendete Anweisungen und Daten. Die Eingabeschnittstelle 714 ist eine Berührungsbildschirmschnittstelle, eine Maus, ein Trackball oder ein anderer Typ von Zeigevorrichtung, eine Tastatur oder irgendeine Kombination davon und wird dazu verwendet, Daten in den Computer 700 einzugeben. Bei einigen Ausführungsformen kann der Computer 700 konfiguriert sein, um eine Eingabe (z. B. Befehle) von der Eingabeschnittstelle 714 über Gesten vom Anwender zu empfangen. Der Grafikadapter 712 zeigt Bilder und andere Information auf der Anzeige 718 an. Der Netzwerkadapter 716 koppelt den Computer 700 mit einem oder mehreren Computernetzen.
  • Der Computer 700 ist dazu geeignet, Computerprogrammmodule zum Bereitstellen einer hierin beschriebenen Funktionalität auszuführen. Wie er hierin verwndet ist, bezieht sich der Ausdruck „Modul” auf eine Computerprogrammlogik, die dazu verwendet wird, die spezifizierte Funktionalität zur Verfügung zu stellen. Somit kann ein Modul in Hardware, Firmware und/oder Software implementiert sein. Bei einer Ausführungsform werden Programmmodule auf der Speichervorrichtung 708 gespeichert, in den Speicher 706 geladen und durch den Prozessor 702 ausgeführt.
  • Die durch die Einheiten der 1 verwendeten Typen von Computern 700 können in Abhängigkeit von der Ausführungsform und der durch die Einheit erforderlichen Verarbeitungsleistung variieren. Bei einigen Ausführungsformen kann die Clientvorrichtung 100 mit einem oder mehreren Servern interagieren, die zusammenarbeiten, um die hierin beschriebene Funktionalität zur Verfügung zu stellen. Den Computern 700 können einige der oben beschriebenen Komponenten fehlen, wie beispielsweie Grafikadapter 712 und Anzeigen 718.
  • ANDERE ÜBERLEGUNGEN
  • Einige Teilbereiche der obigen Beschreibung beschreiben die Ausführungsformen in Bezug auf algorithmische Prozesse oder Operationen. Diese algorithmischen Beschreibungen und Darstellungen werden allgemein von Fachleuten auf den Gebieten der Datenverarbeitung verwendet, um das Wesentliche ihrer Arbeit anderen Fachleuten auf dem Gebiet effektiv zu vermitteln. Es ist zu verstehen, dass diese Operationen, während sie funktionell, rechnergerecht oder logisch beschrieben sind, durch Computerprogramme implementiert werden, die Anweisungen zur Ausführung durch einen Prozessor oder äquivalente elektrische Schaltungen umfassen. Weiterhin hat es sich manchmal auch als angenehm erwiesen, sich auf diese Anordnungen von funktionellen Operationen, ohne Verlust an Allgemeinheit, als Module zu beziehen. Die beschriebenen Operationen und ihre assoziierten Module können in Software, Firmware, Hardware oder irgendeiner Kombination davon verkörpert sein.
  • Wie es hierin verwendet ist, bedeutet irgendeine Bezugnahme auf „eine Ausführungsform” oder „Ausführungsform”, dass ein bestimmtes Element, Medienfunktion, Struktur oder Charakteristik, das oder die in Verbindung mit der Ausführungsform beschrieben ist, bei wenigstens einer Ausführungsform enthalten ist. Das Auftreten der Phrase „bei einer Ausführungsform” an verschiedenen Stellen in der Beschreibung bezieht sich nicht notwerndigerweie immer auf dieselbe Ausführungsform.
  • Einige Ausführngsformen können unter Verwendung des Ausdrucks „gekoppelt” und „verbunden” zusammen mit ihren Ableitungen beschrieben sein. Es sollte verstanden werden, dass diese Ausdrücke nicht jeweils als Synonyme füreinander beabsichtigt sind. Beispielsweise können einige Ausführungsformen unter Verwendung des Ausdrucks „verbunden” beschrieben sein, um anzuzeigen, dass zwei oder mehr Elemente in einem direkten physikalischen oder elektrischen Kontakt miteinander sind. Bei einem anderen Beispiel können einige Ausführungsformen unter Verwendung des Ausdrucks „gekoppelt” beschrieben sein, um anzuzeigen, dass zwei oder mehr Elemente in einem direkten physikalischen oder elektrischen Kontakt miteinander sind. Der Ausdruck „gekoppelt” kann jedoch auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander sind, aber dennoch noch miteinander zusammenarbeiten oder interagieren. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
  • Wie sie hierin verwendet sind, sollen die Ausdrücke „umfasst”, „umfassend”, „enthält”, „enthaltend”, „hat”, „habend” oder irgendeine andere Variation davon ein nichausschließliches Enthaltensein abdecken bzw. umfassen. Beispielsweise ist ein Prozess, ein Verfahren, ein Artikel oder eine Vorrichtung, der oder die eine Liste vom Elementen umfasst, nicht notwendigerweise auf nur diese Elemente beschränkt, sondern kann andere Elemente enthalten, die nicht ausdrücklich aufgelistet sind oder einem solchen Prozess, einem solchen Verfahren, einem solchen Artikel oder einer solchen Vorrichtung eigen sind. Weiterhin bezieht sich, bis nicht ausdrücklich das Gegenteil angegeben ist, „oder” auf ein einschließliches oder und nicht auf ein ausschließliches oder. Beispielsweise wird eine Bedingung A oder B durch irgendetwas von folgendem erfüllt: A ist wahr (oder vorhanden) und B ist falsch (oder nicht vorhanden), A ist falsch (oder nicht vorhanden) und B ist wahr (oder vorhanden), und sowohl A als auch B sind wahr (oder vorhanden).
  • Zusätzlich wird eine Verwendung von „ein” verwendet, um Elemente und Komponenten der Ausführungsformen hierin zu beschreiben. Diese Beschreibung sollte derart gelesen werden, dass sie ein oder wenigstens ein enthält und der Singular auch den Plural enthält, solange es nicht offensichtlich ist, dass es anders gemeint ist.
  • Beim Lesen dieser Offenbarung werden Fachleute auf dem Gebiet noch zusätzliche alternative strukturelle und funktionelle Entwürfe für ein System und einen Prozess zum Ermöglichen bzw. Erleichetern einer Interoperabilität einer Clientvorrichtung mit einer ersten Bildschirmvorrichtung wahrnehmen. Somit ist es, während bestimmte Ausführungsformen und Anwendungen dargestellt und beschrieben worden sind, zu verstehen, dass der beschriebene Gegenstand nicht auf die präzise Konstruktion und die präzisen Komponenten, die hierin offenbart sind, beschränkt ist und dass verschiedene Modifikationen, Änderungen und Variationen, die Fachleuten auf dem Gebiet klar sein werden, bei der Anordnung, der Operation und den Details des Verfahrens und der Vorrichtung, die hierin offenbart sind, durchgeführt werden können.

Claims (20)

  1. Computerimplementiertes Verfahren zum Ermöglichen einer Interoperabilität einer Clientvorrichtung mit einer ersten Bildschirmvorrichtung, wobei das Verfahren umfasst: Präsentieren einer deduplizierten Auflistung von Vorrichtungen in einer Anwenderschnittstelle durch eine zweite Bildschirmanwendung, die auf einer Clientvorrichtung arbeitet, wobei jede aufgelistete Vorrichtung mit einem oder mehreren Kopplungsprotokollen assoziiert ist; Empfangen einer Auswahl einer aufgelisteten Vorrichtung, mit welcher an einer Videoanzeigesession teilzunehmen ist, über die Anwenderschnittstelle; Erhalten von Anwendungsstatusinformation für eine erste Bildschirmanwendung der ausgewählten Vorrichtung von einem Steuerserver, wobei die Anwendungsstatusinformation anzeigt, ob die erste Bildschirmanwendung eine existierende Videoanzeigesession mit einer zweiten Clientvorrichtung ist; Bestimmen einer Kopplungsmethode basierend auf dem angezeigten Anwendungsstatus und Kopplungsprotokollen, die für die Clientvorrichtung verfügbar sind, und dem einen oder den mehreren Kopplungsprotokollen der ersten Bildschirmanwendung; und Koppeln mit der ersten Bildschirmanwendung über die bestimmte Kopplungsmethode.
  2. Verfahren nach Anspruch 1, wobei ein Bestimmen einer Kopplungsmethode basierend auf dem angezeigten Anwendungsstatus und Kopplungsprotokollen, die für die Clientvorrichtung verfügbar sind, und dem einen oder den mehreren Kopplungsprotokollen der ersten Bildschirmanwendung weiterhin umfasst: Bestimmen, dass die erste Bildschirmanwendung bei einer existierenden Videoanzeigesession mit einer zweiten Clientvorrichtung ist, unter Verwendung der Anwendungsstatusinformation, wobei die Anwendungsstatusinformation weiterhin ein bestimmtes Kopplungsprotokoll von dem einen oder den mehreren Kopplungsprotokollen anzeigt, die bei der existierenden Videoanzeigsession verwendet werden; Bestimmen, dass das bestimmte Kopplungsprotokoll für die Clientvorrichtung nicht verfügbar ist; und wobei ein Koppeln mit der ersten Bildschirmanwendung über die bestimmte Kopplungsmethode weiterhin umfasst: Koppeln mit der ersten Bildschirmanwendung indirekt über einen Steuerserver, so dass die Clientvorrichtung mit dem Steuerserver unter Verwendung eines Kopplungsprotokolls kommuniziert, das für die Clientvorrichtung verfügbar ist, und der Steuerserver mit der ersten Bildschirmanwendung unter Verwendung des bestimmten Kopplungsprotokolls kommuniziert.
  3. Verfahren nach Anspruch 1, wobei ein Bestimmen der Kopplungsmethode basierend auf dem angezeigten Anwendungsstatus und Kopplungsprotokollen, die für die Clientvorrichtung verfügbar sind, und dem einen oder den mehreren Kopplungsprotokollen der ersten Bildschirmanwendung weiterhin umfasst: Bestimmen, dass die erste Bildschirmanwendung bei einer existierenden Videoanzeigesession mit einer zweiten Clientvorrichtung ist, unter Verwendung der Anwendungsstatusinformation, wobei die Anwendungsstatusinformation weiterhin ein bestimmtes Kopplungsprotokoll von dem einen oder den mehreren Kopplungsprotokollen anzeigt, die bei der existierenden Videoanzeigsession verwendet werden; Bestimmen, dass das bestimmte Kopplungsprotokoll für die Clientvorrichtung verfügbar ist; und wobei ein Koppeln mit der ersten Bildschirmanwendung über die bestimmte Kopplungsmethode weiterhin umfasst: Koppeln mit der existierenden Videoanzeigesession unter Verwendung des bestimmten Kopplungsprotokolls.
  4. Verfahren nach Anspruch 1, wobei ein Bestimmen der Kopplungsmethode basierend auf dem angezeigten Anwendungsstatus und Kopplungsprotokollen, die für die Clientvorrichtung verfügbar sind, und dem einen oder den mehreren Kopplungsprotokollen der ersten Bildschirmanwendung weiterhin umfasst: Bestimmen, dass die erste Bildschirmanwendung nicht bei einer existierenden Videoanzeigesession mit einer weiteren Clientvorrichtung ist, unter Verwendung der Anwendungsstatusinformation; Bestimmen eines bevorzugten Kopplungsprotokolls von dem einen oder den mehreren Kopplungsprotokollen, die für die Clientvorrichtung und die erste Bildschirmvorrichtung verfügbar sind; und wobei ein Koppeln mit der ersten Bildschirmanwendung über die bestimmte Kopplungsmethode weiterhin umfasst: Koppeln mit der ersten Bildschirmanwendung unter Verwendung des bevorzugten Kopplungsprotokolls.
  5. Verfahren nach Anspruch 4, wobei das bevorzugte Kopplungsprotokoll ein Kopplungsprotokoll einer Vielzahl von Kopplungsprotokollen ist, die für sowohl die Clientvorrichtung als auch die erste Bildschirmvorrichtung verfügbar sind, das dem Anwender mehr Kontrolle als andere Kopplungsprotokolle der Vielzahl von Kopplungsprotokollen zur Verfügung stellt.
  6. Verfahren nach Anspruch 1, wobei ein Bestimmen der Kopplungsmethode basierend auf dem angezeigten Anwendungsstatus und Kopplungsprotokollen, die für die Clientvorrichtung verfügbar sind, und dem einen oder den mehreren Kopplungsprotokollen der ersten Bildschirmanwendung weiterhin umfasst: Bestimmen, dass die erste Bildschirmanwendung nicht bei einer existierenden Videoanzeigesession mit einer anderen Clientvorrichtung ist, unter Verwendung der Anwendungsstatusinformation; Bestimmen, dass die Vielzahl von mit der ersten Bildschirmvorrichtung assoziierten Kopplungsprotokollen für die Clientvorrichtung nicht verfügbar ist; und wobei ein Koppeln mit der ersten Bildschirmanwendung über die bestimmte Kopplungsmethode weiterhin umfasst: Koppeln mit der ersten Bildschirmanwendung indirekt über einen Steuerserver, so dass die Clientvorrichtung mit dem Steuerserver unter Verwendung eines Kopplungsprotokolls kommuniziert, das für die Clientvorrichtung und den Steuerserver verfügbar ist, und der Steuerserver mit der ersten Bildschirmanwendung unter Verwendung eines Kopplungsprotokolls von der Vielzahl von Kopplungsprotokollen kommuniziert.
  7. Verfahren nach Anspruch 1, weiterhin umfassend: Empfangen von Entdeckungsinformation von der ersten Clientvorrichtung, wobei die Entdeckungsinformation einen Anwendungsidentifizierer enthält, der die erste Bildschirmanwendung eindeutig identifiziert, und eine Auflistung von Kopplungsprotokollen, die verwendet werden können, um mit der ersten Bildschirmvorrichtung zu koppeln; Updaten einer Vorrichtungsliste mit der empfangenen Entdeckungsinformation; Fragen nach Paarungsinformation von einem Steuerserver, die anzeigt, dass die erste Bildschirmanwendung zuvor manuell mit irgendeiner anderen Clientvorrichtung gepaart worden ist; Updaten der Vorrichtungsliste mit der empfangenen Paarungsinformation; Durchführen einer Vorrichtungsdeduplikation unter Verwendung der dem Updaten unterzogenen Vorrichtungsliste, um einen einzelnen Vorrichtungseintrag in einer Videoanzeigesessionschnitstelle zu erzeugen, die der ersten Bildschrimvorrichtung entspricht.
  8. Nichtflüchtiges computerlesbares Speichermedium, das ausführbare Computerprogrammanweisungen zum Ermöglichen einer Interoperabilität einer Clientvorrichtung mit einer ersten Bildschirmvorrichtung, wobei die Anweisungen ausführbar sind, um Schritte durchzuführen, die umfassen: Präsentieren einer deduplizierten Auflistung von Vorrichtungen in einer Anwenderschnittstelle durch eine zweite Bildschirmanwendung, die auf einer Clientvorrichtung arbeitet, wobei jede aufgelistete Vorrichtung mit einem oder mehreren Kopplungsprotokollen assoziiert ist; Empfangen über die Anwenderschnittstelle einer Auswahl einer aufgelisteten Vorrichtung, mit welcher an einer Videoanzeigesession teilzunehmen ist; Erhalten von Anwendungsstatusinformation für eine erste Bildschirmanwendung der ausgewählten Vorrichtung von einem Steuerserver, wobei die Anwendungsstatusinformation anzeigt, ob die erste Bildschirmanwendung eine existierende Vedeoanzeigesession mit einer zweiten Clientvorrichtung ist; Bestimmen einer Kopplungsmethode basierend auf dem angezeigten Anwendungsstatus und Kopplungsprotokollen, die für die Clientvorrichtung verfügbar sind, und dem einen oder den mehreren Kopplungsprotokollen der ersten Bildschirmanwendung; und Koppeln mit der ersten Bildschirmanwendung über die bestimmte Kopplungsmethode.
  9. Computerlesbares Medium nach Anspruch 8, wobei ein Bestimmen einer Kopplungsmethode basierend auf dem angezeigten Anwendungsstatus und Kopplungsprotokollen, die für die Clientvorrichtung verfügbar sind, und dem einen oder den mehreren Kopplungsprotokollen der ersten Bildschirmanwendung weiterhin umfasst: Bestimmen, dass die erste Bildschirmanwendung bei einer existierenden Videoanzeigesession mit einer zweiten Clientvorrichtung ist, unter Verwendung der Anwendungsstatusinformation, wobei die Anwendungsstatusinformation weiterhin ein bestimmtes Kopplungsprotokoll von dem einen oder den mehreren Kopplungsprotokollen anzeigt, die bei der existierenden Videoanzeigsession verwendet werden; Bestimmen, dass das bestimmte Kopplungsprotokoll für die Clientvorrichtung nicht verfügbar ist; und wobei ein Koppeln mit der ersten Bildschirmanwendung über die bestimmte Kopplungsmethode weiterhin umfasst: Koppeln mit der ersten Bildschirmanwendung indirekt über einen Steuerserver, so dass die Clientvorrichtung mit dem Steuerserver unter Verwendung eines Kopplungsprotokolls kommuniziert, das für die Clientvorrichtung verfügbar ist, und der Steuerserver mit der ersten Bildschirmanwendung unter Verwendung des bestimmten Kopplungsprotokolls kommuniziert.
  10. Computerlesbares Medium nach Anspruch 8, wobei ein Bestimmen der Kopplungsmethode basierend auf dem angezeigten Anwendungsstatus und Kopplungsprotokollen, die für die Clientvorrichtung verfügbar sind, und dem einen oder den mehreren Kopplungsprotokollen der ersten Bildschirmanwendung weiterhin umfasst: Bestimmen, dass die erste Bildschirmanwendung bei einer existierenden Videoanzeigesession mit einer zweiten Clientvorrichtung ist, unter Verwendung der Anwendungsstatusinformation, wobei die Anwendungsstatusinformation weiterhin ein bestimmtes Kopplungsprotokoll von dem einen oder den mehreren Kopplungsprotokollen anzeigt, die bei der existierenden Videoanzeigsession verwendet werden; Bestimmen, dass das bestimmte Kopplungsprotokoll für die Clientvorrichtung verfügbar ist; und wobei ein Koppeln mit der ersten Bildschirmanwendung über die bestimmte Kopplungsmethode weiterhin umfasst: Koppeln mit der existierenden Videoanzeigesession unter Verwendung des bestimmten Kopplungsprotokolls.
  11. Computerlesbares Medium nach Anspruch 8, wobei ein Bestimmen der Kopplungsmethode basierend auf dem angezeigten Anwendungsstatus und Kopplungsprotokollen, die für die Clientvorrichtung verfügbar sind, und dem einen oder den mehreren Kopplungsprotokollen der ersten Bildschirmanwendung weiterhin umfasst: Bestimmen, dass die erste Bildschirmanwendung nicht bei einer existierenden Videoanzeigesession mit einer weiteren Clientvorrichtung ist, unter Verwendung der Anwendungsstatusinformation; Bestimmen eines bevorzugten Kopplungsprotokolls von dem einen oder den mehreren Kopplungsprotokollen, die für die Clientvorrichtung und die erste Bildschirmvorrichtung verfügbar sind; und wobei ein Koppeln mit der ersten Bildschirmanwendung über die bestimmte Kopplungsmethode weiterhin umfasst: Koppeln mit der ersten Bildschirmanwendung unter Verwendung des bevorzugten Kopplungsprotokolls.
  12. Computerlesbares Medium nach Anspruch 11, wobei das bevorzugte Kopplungsprotokoll ein Kopplungsprotokoll einer Vielzahl von Kopplungsprotokollen ist, die für sowohl die Clientvorrichtung als auch die erste Bildschirmvorrichtung verfügbar sind, das dem Anwender mehr Kontrolle als andere Kopplungsprotokolle der Vielzahl von Kopplungsprotokollen zur Verfügung stellt.
  13. Computerlesbares Medium nach Anspruch 8, wobei ein Bestimmen der Kopplungsmethode basierend auf dem angezeigten Anwendungsstatus und Kopplungsprotokollen, die für die Clientvorrichtung verfügbar sind, und dem einen oder den mehreren Kopplungsprotokollen der ersten Bildschirmanwendung weiterhin umfasst: Bestimmen, dass die erste Bildschirmanwendung nicht bei einer existierenden Videoanzeigesession mit einer anderen Clientvorrichtung ist, unter Verwendung der Anwendungsstatusinformation; Bestimmen, dass die Vielzahl von mit der ersten Bildschirmvorrichtung assoziierten Kopplungsprotokollen für die Clientvorrichtung nicht verfügbar ist; und wobei ein Koppeln mit der ersten Bildschirmanwendung über die bestimmte Kopplungsmethode weiterhin umfasst: Koppeln mit der ersten Bildschirmanwendung indirekt über einen Steuerserver, so dass die Clientvorrichtung mit dem Steuerserver unter Verwendung eines Kopplungsprotokolls kommuniziert, das für die Clientvorrichtung und den Steuerserver verfügbar ist, und der Steuerserver mit der ersten Bildschirmanwendung unter Verwendung eines Kopplungsprotokolls von der Vielzahl von Kopplungsprotokollen kommuniziert.
  14. Computerlesbares Medium nach Anspruch 8, weiterhin umfassend: Empfangen von Entdeckungsinformation von der ersten Clientvorrichtung, wobei die Entdeckungsinformation einen Anwendungsidentifizierer enthält, der die erste Bildschirmanwendung eindeutig identifiziert, und ein Auflistung von Kopplungsprotokollen, die verwendet werden können, um mit der ersten Bildschirmvorrichtung zu koppeln; Updaten einer Vorrichtungsliste mit der empfangenen Entdeckungsinformation; Fragen nach Paarungsinformation von einem Steuerserver, die anzeigt, dass die erste Bildschirmanwendung zuvor manuell mit irgendeiner anderen Clientvorrichtung gepaart worden ist; Updaten der Vorrichtungsliste mit der empfangenen Paarungsinformation; Durchführen einer Vorrichtungsdeduplikation unter Verwendung der dem Updaten unterzogenen Vorrichtungsliste, um einen einzelnen Vorrichtungseintrag in einer Videoanzeigesessionschnitstelle zu erzeugen, die der ersten Bildschrimvorrichtung entspricht.
  15. Vorrichtung zum Ermöglichen einer Interoperabilität einer Clientvorrichtung mit einer ersten Bildschirmvorrichtung, umfassend: einen Prozessor, der konfiguriert ist, um Module auszuführen; einen Speicher, der die Module einer zweiten Bildschirmanwendung speichert, wobei die Module umfassen: ein Schnittstellenmodul, das konfiguriert ist, um: eine deduplizierte Auflistung von Vorrichtung in einer Anwenderschnittstelle zu präsentieren, wobei jede aufgelistete Vorrichtung mit einem oder mehreren Kopplungsprotokollen assoziiert ist, und über die Anwenderschnittstelle eine Auswahl einer aufgelisteten Vorrichtung zu empfangen, mit welcher an einer Videoanzeigesession teilzunehmen ist; ein Entdeckungsmodul, das konfiguriert ist, um von einem Steuerserver Anwendungsstatusinformation für eine erste Bildschirmanwendung der ausgewählten Vorrichtung zu empfangen, wobei die Anwendungsstatusinformation anzeigt, ob die erste Bildschirmanwendung bei einer existierenden Videoanzeigesession mit einer zweiten Clientvorrichtung ist, und ein Kopplungsmodul, das konfiguriert ist, um: eine Kopplungsmethmode basierend auf dem angezeigten Anwendungsstatus und Kopplungsprotokollen, die für die Clientvorrichtung verfügbar sind, und dem einen oder den mehreren Kopplungsprotokollen der ersten Bildschirmanwendung zu bestimmen, und über die bestimmte Kopplungsmethode mit der ersten Bildschirmanwendung zu koppeln.
  16. Vorrichtung nach Anspruch 15, wobei das Kopplungsmodul weiterhin konfiguriert ist, um: zu bestimmen, dass die erste Bildschirmanwendung bei einer existierenden Videoanzeigesession mit einer zweiten Clientvorrichtung ist, unter Verwendung der Anwendungsstatusinformation, wobei die Anwendungsstatusinformation weiterhin ein bestimmtes Kopplungsprotokoll von dem einen oder den mehreren Kopplungsprotokollen enthält, die bei der existierenden Videoanzeigesession verwendet werden; zu bestimmen, dass das bestimmte Kopplungsprotokoll für die Cleintvorrichtung nicht verfügbar ist; und mit der ersten Bildschirmanwendung über einen Steuerserver indirekt zu koppeln, so dass die Clientvorrichtung mit dem Steuerserver unter Verwendung eines Kopplungsprotokolls kommuniziert, das für die Clientvorrichtung verfügbar ist, und der Steuerserver mit der ersten Bildschirmanwendung unter Verwendung des bestimmten Kopplungsprotokolls kommuniziert.
  17. Vorrichtung nach Anspruch 15, wobei das Kopplungsmodul weiterhin konfiguriert ist, um: zu bestimmen, dass die erste Bildschirmanwendung bei einer existierenden Videoanzeigesession mit einer zweiten Clientvorrichtung ist, unter Verwendung der Anwendungsstatusinformation, wobei die Anwendungsstatusinformation weiterhin ein bestimmtes Kopplungsprotokoll von dem einen oder den mehreren Kopplungsprotokollen anzeigt, die bei der existierenden Videoanzeigesession verwendet werden; zu bestimmen, dass das bestimmte Kopplungsprotokoll für die Cleintvorrichtung verfügbar ist; und mit der existierenden Videoanzeigesession unter Verwendung des bestimmten Kopplungsprotokolls zu koppeln.
  18. Vorrichtung nach Anspruch 15, wobei das Kopplungsmodul weiterhin konfiguriert ist, um: zu bestimmen, dass die erste Bildschirmanwendung nicht bei einer existierenden Videoanzeigesession mit einer zweiten Clientvorrichtung ist, unter Verwendung der Anwendungsstatusinformation; ein bevorzugtes Koppluingsprotokoll von dem einen oder den mehreren Kopplungsprotokollen zu bestimmen, die für die Clientvorrichtung und die erste Bildschirmvorrichtung verfügbar sind; und mit der ersten Bildschirmanwendung unter Verwendung des bevorzugten Koppllungsprotokolls zu koppeln.
  19. Vorrichtung nach Anspruch 15, wobei das Kopplungsmodul weiterhin konfiguriert ist, um: zu bestimmen, dass die erste Bildschirmanwendung nicht bei einer existierenden Videoanzeigesession mit einer zweiten Clientvorrichtung ist, unter Verwendung der Anwendungsstatusinformation; zu bestimmen, dass eine Vielzahl von mit der ersten Bildschirmvorrichtng assoziierten Kopplungsprotokollen für die Clientvorrichtung nicht verfügbar ist; und mit der ersten Bildschirmanwendung über einen Steuerserver indirekt zu koppeln, so dass die Clientvorrichtung mit dem Steuerserver unter Verwendung eines Kopplungsprotokolls kommuniziert, das für die Clientvorrichtung und den Steuerserver verfügbar ist, und der Steuerserver mit der ersten Bildschirmanwendung unter Verwendung eines Kopplungsprotokolls aus der Vielzahl von Kopplungsprotokollen kommuniziert.
  20. Vorrichtung nach Anspruch 15, wobei das Entdeckungsmodul weiterhin konfiguriert ist, um: Entdeckungsinformation von der ersten Clientvorrichtung zu empfangen, wobei die Entdeckungsinformation einen Anwendungsidentifizierer enthält, der die erste Bildschirmanwendung eindeutig identifiziert, und eine Auflistung von Kopplungsprotokollen, die verwendet werden können, um mit der ersten Bildschirmvorrichtung zu koppeln; die Vorrichtungsliste mit der empfangenen Entdeckungsinformation einem Updaten zu unterziehen; Paarungsinformation von einem Steuerserver anzufragen, die anzeigt, dass die erste Bildschirmanwendung zuvor mit irgendeiner anderen Clientvorrichtung manuell gepaart worden ist; die Vorrichtungsliste mit der empfangenen Paarungsinformation einem Updaten zu unterziehen; eine Vorrichtungsdeduplikation unter Verwendung der einem Updaten unterzogenen Vorrichtungsliste durchzuführen, um einen einzelnen Vorrichtungseintrag in einer Videoanzeigsessionschnittstelle zu erzeugen, die der ersten Bildschirmvorrichtung entspricht.
DE112016000587.3T 2015-02-03 2016-01-20 Interoperabilität von entdeckungs- und verbindungsprotokollen zwischen clientvorrichtungen und ersten bildschirmvorrichtungen Withdrawn DE112016000587T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/613,229 US9992307B2 (en) 2015-02-03 2015-02-03 Interoperability of discovery and connection protocols between client devices and first screen devices
US14/613,229 2015-02-03
PCT/US2016/014011 WO2016126418A1 (en) 2015-02-03 2016-01-20 Interoperability of discovery and connection protocols between client devices and first screen devices

Publications (1)

Publication Number Publication Date
DE112016000587T5 true DE112016000587T5 (de) 2017-12-21

Family

ID=56554964

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016000587.3T Withdrawn DE112016000587T5 (de) 2015-02-03 2016-01-20 Interoperabilität von entdeckungs- und verbindungsprotokollen zwischen clientvorrichtungen und ersten bildschirmvorrichtungen

Country Status (8)

Country Link
US (2) US9992307B2 (de)
EP (2) EP3606013B1 (de)
JP (1) JP6545824B2 (de)
KR (2) KR102030549B1 (de)
CN (2) CN107211046B (de)
DE (1) DE112016000587T5 (de)
GB (1) GB2552106A (de)
WO (1) WO2016126418A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992307B2 (en) * 2015-02-03 2018-06-05 Google Llc Interoperability of discovery and connection protocols between client devices and first screen devices
US10542327B2 (en) 2015-12-21 2020-01-21 Opentv, Inc. Interactive application server on a second screen device
US11184364B2 (en) * 2018-01-09 2021-11-23 Cisco Technology, Inc. Localized, proximity-based media streaming
US10356620B1 (en) 2018-05-07 2019-07-16 T-Mobile Usa, Inc. Enhanced security for electronic devices
US10721311B1 (en) * 2019-01-11 2020-07-21 Accenture Global Solutions Limited System and method for coupling two separate applications to an application session within a serverless infrastructure
CN110868335B (zh) * 2019-11-08 2023-05-09 彩讯科技股份有限公司 端到端的业务监控方法和装置
CA3162461A1 (en) * 2020-04-01 2021-10-07 Aran MUN Enabling media features provided on a first screen device to be presented on a second screen device
CN112261572A (zh) * 2020-10-14 2021-01-22 北京小米移动软件有限公司 一种信息交互的方法、装置及存储介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2381102A (en) * 2000-11-20 2002-05-27 British Telecomm Method of managing resources
US7421471B2 (en) * 2002-05-17 2008-09-02 Sony Computer Entertainment America Inc. Configuration switching: dynamically changing between network communication architectures
US8773378B2 (en) * 2010-10-01 2014-07-08 Z124 Smartpad split screen
US20050289265A1 (en) 2004-06-08 2005-12-29 Daniel Illowsky System method and model for social synchronization interoperability among intermittently connected interoperating devices
WO2006066052A2 (en) * 2004-12-16 2006-06-22 Sonic Solutions Methods and systems for use in network management of content
US8856665B2 (en) * 2009-04-23 2014-10-07 Avaya Inc. Setting user-preference information on the conference bridge
GB201005454D0 (en) * 2010-03-31 2010-05-19 Skype Ltd Television apparatus
US9143570B2 (en) * 2010-05-04 2015-09-22 Microsoft Technology Licensing, Llc Desktop screen sharing over HTTP
US8327005B2 (en) 2011-02-24 2012-12-04 Jibe Mobile Method to set up application to application communication over a network between applications running on endpoint devices
US8904289B2 (en) 2011-04-21 2014-12-02 Touchstream Technologies, Inc. Play control of content on a display device
US10931735B2 (en) 2012-06-28 2021-02-23 Netflix, Inc. Application discovery
US8937637B2 (en) * 2012-07-26 2015-01-20 Google Inc. Method and apparatus providing synchronization and control for server-based multi-screen videoconferencing
CN103067234B (zh) * 2012-12-24 2017-04-05 乐视致新电子科技(天津)有限公司 异构网络下智能设备的识别与发现方法和系统
US20140282677A1 (en) 2013-03-12 2014-09-18 Cbs Interactive Inc. Second screen application linked to media content delivery
US20140281988A1 (en) * 2013-03-12 2014-09-18 Tivo Inc. Gesture-Based Wireless Media Streaming System
EP2779709B1 (de) 2013-03-14 2020-02-05 Samsung Electronics Co., Ltd Anwendungsverbindung für Vorrichtungen in einem Netzwerk
US10284657B2 (en) 2013-03-14 2019-05-07 Samsung Electronics Co., Ltd. Application connection for devices in a network
US9247309B2 (en) 2013-03-14 2016-01-26 Google Inc. Methods, systems, and media for presenting mobile content corresponding to media content
EP2822285B1 (de) 2013-07-04 2017-08-30 Nagravision S.A. Zusammenlegung von Vorrichtungen über verschiedene Netze
KR102084633B1 (ko) * 2013-09-17 2020-03-04 삼성전자주식회사 화면 미러링 방법 및 그에 따른 소스 기기
KR102078867B1 (ko) * 2013-09-17 2020-02-18 삼성전자주식회사 제어권 관리 방법, 그에 따른 클라이언트 기기 및 그에 따른 마스터 기기
CN103475907B (zh) * 2013-09-23 2017-01-25 珠海迈科智能科技股份有限公司 一种多屏控制方法及系统
KR102263481B1 (ko) * 2014-02-07 2021-06-11 삼성전자 주식회사 사용자단말기 및 그 제어방법
US20150312648A1 (en) * 2014-04-23 2015-10-29 Verizon Patent And Licensing Inc. Mobile device controlled dynamic room environment using a cast device
CN104301400B (zh) * 2014-09-28 2017-10-03 四川长虹电器股份有限公司 基于Samba协议的多屏协同及资源共享方法
US9992307B2 (en) * 2015-02-03 2018-06-05 Google Llc Interoperability of discovery and connection protocols between client devices and first screen devices

Also Published As

Publication number Publication date
US9992307B2 (en) 2018-06-05
CN111935236B (zh) 2023-07-25
KR102030549B1 (ko) 2019-10-10
EP3606013B1 (de) 2021-07-28
KR20170108105A (ko) 2017-09-26
US10771592B2 (en) 2020-09-08
US20160226999A1 (en) 2016-08-04
CN111935236A (zh) 2020-11-13
WO2016126418A1 (en) 2016-08-11
CN107211046A (zh) 2017-09-26
GB2552106A (en) 2018-01-10
JP6545824B2 (ja) 2019-07-17
EP3254446A4 (de) 2018-02-28
KR101986839B1 (ko) 2019-06-07
EP3254446B1 (de) 2019-09-11
EP3606013A1 (de) 2020-02-05
EP3254446A1 (de) 2017-12-13
CN107211046B (zh) 2020-08-11
US20180288193A1 (en) 2018-10-04
GB201714105D0 (en) 2017-10-18
KR20190064689A (ko) 2019-06-10
JP2018511896A (ja) 2018-04-26

Similar Documents

Publication Publication Date Title
DE112016000587T5 (de) Interoperabilität von entdeckungs- und verbindungsprotokollen zwischen clientvorrichtungen und ersten bildschirmvorrichtungen
DE102015118413B4 (de) Multibetriebssystem-Eingabevorrichtung
DE102012001002B4 (de) Gemeinsames Nutzen, Pushen und Rationalisieren von Videokonferenzbrücken
DE102015110469B4 (de) Informationverarbeitungsverfahren und zentrale Steuervorrichtung
DE60317917T2 (de) Verfahren und vorrichtung zum weiterleiten von sitzungsinformationen von einem portal-server
DE112013002674B4 (de) Bewerben, Ermitteln und Verwenden von Diensten durch virtuelle Zugriffspunkt-Schnittstellen
DE112013003289T5 (de) Gerät, System und Verfahren für client-geregelte Sitzungspersistenz zwischen ein oder mehreren Clients und Servern eines Rechenzentrums
DE102006014684B4 (de) Systeme und Verfahren für Instant- Messaging
DE112019001481T5 (de) Selektives bereitstellen gegenseitiger transportschichtsicherheit mittels alternativer servernamen
DE102013016122B4 (de) Verfahren, System und Vorrichtung zum Auswählen einer Vorrichtung, um einer Benutzeranfrage nachzukommen
DE112016001075T5 (de) Verteiltes speichern und abrufen von datensätzen
DE102014214641A1 (de) Informationsverarbeitungsvorrichtung, Verfahren zur Steuerung der Vorrichtung und Speichermedium
DE112015004270T5 (de) Übertragung von Anwendungsdaten zwischen Vorrichtungen
TWI502938B (zh) 遠端控制電子裝置的方法、裝置及系統
DE202017105305U1 (de) Teilen eines durch einen Anwender ausgewählten Videos in einer Gruppenkommunikation
DE112015004267T5 (de) Speicherung und Übertragung von Anwendungsdaten zwischen Vorrichtungen
DE112011104787B4 (de) Nutzung von Inhalten über persönliche Clouds
DE112011102443T5 (de) Server-Verwaltung unter Verwendung eines Baseboard Management Controllers zum Aufbau eines Drahtlosnetzwerks
DE112009004075T5 (de) Selektives kommunizieren von daten eines peripheriegeräts zumehreren sendenden computern
DE102012207695A1 (de) Übertragung des Anwendungsstatus über verschiedene Vorrichtungen hinweg
DE102009009445A1 (de) Verfahren und Anordnung zur Ermittlung von Druckern, sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
DE102020121476A1 (de) Lautsprechersystem und zugehöriges netzwerk-steuerungsverfahren
DE102011114277B4 (de) Globaler Konferenzplan für verteilte Brücken
DE112016002645T5 (de) Kommunikations-Supportvorrichtung, Verfahren und Computerprogramm
DE102016007400A1 (de) Techniken zum Evaluieren von Anwendungen durch die Verwendung einer Hilfsanwendung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029080000

Ipc: H04N0021630000

R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R120 Application withdrawn or ip right abandoned