DE102014115893A1 - Bereitstellen einer intelligenten Verwaltung für interaktive Web-Real-Time-Communications(WebRTC)-Flüsse und verwandte Verfahren, Systeme und computerlesbare Medien - Google Patents

Bereitstellen einer intelligenten Verwaltung für interaktive Web-Real-Time-Communications(WebRTC)-Flüsse und verwandte Verfahren, Systeme und computerlesbare Medien Download PDF

Info

Publication number
DE102014115893A1
DE102014115893A1 DE201410115893 DE102014115893A DE102014115893A1 DE 102014115893 A1 DE102014115893 A1 DE 102014115893A1 DE 201410115893 DE201410115893 DE 201410115893 DE 102014115893 A DE102014115893 A DE 102014115893A DE 102014115893 A1 DE102014115893 A1 DE 102014115893A1
Authority
DE
Germany
Prior art keywords
webrtc
client
instance
interactive
users
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
DE201410115893
Other languages
English (en)
Inventor
Harvey S. Waxman
John H. Yoakum
Kundan Singh
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.)
Avaya Inc
Original Assignee
Avaya Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Avaya Inc filed Critical Avaya Inc
Publication of DE102014115893A1 publication Critical patent/DE102014115893A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/1066Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • 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/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1093In-session procedures by adding participants; by removing participants
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/62Details of telephonic subscriber devices user interface aspects of conference calls

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Hierin werden eine intelligente Verwaltung interaktiver Web-Real-Time-Communications(WebRTC)-Flüsse und verwandte Systeme, Verfahren und computerlesbare Medien offenbart. In einer Ausführungsform umfasst ein System zum intelligenten Verwalten interaktiver WebRTC-Flüsse mindestens eine Kommunikationsschnittstelle und eine assoziierte Computereinrichtung, die einen WebRTC-Client umfasst. Der WebRTC-Client ist konfiguriert, um eine Benutzereingabegeste, die an eine oder mehrere visuelle Darstellungen, die einem oder mehreren WebRTC-Benutzern entsprechen, gerichtet ist, zu empfangen und einen Kontext für den WebRTC-Client basierend auf einem momentanen Zustand des WebRTC-Clients zu bestimmen. Der WebRTC-Client ist weiter konfiguriert, um ein oder mehrere Identitätsattribute, die mit dem einen oder den mehreren WebRTC-Benutzern assoziiert sind, zu beziehen und einen oder mehrere interaktive WebRTC-Flüsse, die den einen oder die mehreren WebRTC-Benutzer beinhalten, basierend auf dem Kontext, der Benutzereingabegeste und dem einen oder den mehreren Identitätsattributen bereitzustellen.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Gebiet der Offenbarung
  • Die Technologie der Offenbarung betrifft allgemein interaktive Web-Real-Time-Communications(WebRTC)-Flüsse.
  • Technischer Hintergrund
  • Web Real-Time Communications (WebRTC) verkörpert eine laufende Bemühung um die Entwicklung von Industriestandards zum Integrieren von Echtzeitkommunikationsfunktionalität in Webclients, etwa Webbrowsern, um direkte Interaktion mit anderen Webclients zu ermöglichen. Diese Echtzeitkommunikationsfunktionalität ist für Webentwickler über Standardauszeichnungs-Tags zugänglich, etwa diejenigen, die durch Version 5 der Hypertext Markup Language (HTML5) bereitgestellt werden, und durch clientseitige Skript-Anwendungsprogrammierschnittstellen (APIs) wie JavaScript-APIs. Weitere Informationen zu WebRTC finden sich in „WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web“ von Alan B. Johnston und Daniel C. Burnett, 2. Ausgabe (2013 Digital Codex LLC), die durch Bezugnahme in ihrem vollen Umfang hierin aufgenommen wird.
  • WebRTC stellt integrierte Fähigkeiten zum Herstellen von Echtzeit-Video-, -Audio- und/oder -Datenflüssen sowohl bei interaktiven Punkt-zu-Punkt-Sitzungen als auch bei interaktiven Mehr-Teilnehmer-Sitzungen bereit. Die WebRTC-Standards werden derzeit vom World Wide Web Consortium (W3C) und von der Internet Engineering Task Force (IETF) gemeinsam entwickelt. Informationen zum momentanen Stand der WebRTC-Standards finden sich z. B. unter http://www.w3c.org und http://www.ietf.org.
  • Um einen interaktiven WebRTC-Fluss (z. B. einen Echtzeit-Video-, -Audio- und/oder -Datenaustausch) herzustellen, können zwei WebRTC-Clients von einem Webanwendungsserver WebRTC-fähige Webanwendungen, etwa HTML5/JavaScript-Webanwendungen, abrufen. Durch die Webanwendungen nehmen die zwei WebRTC-Clients dann einen Dialog zum Initiieren einer Peerverbindung auf, über die der interaktive WebRTC-Fluss verlaufen wird. Der Initiierungsdialog beinhaltet möglicherweise eine Medienaushandlung, um zu kommunizieren und eine Vereinbarung über Parameter, die Eigenschaften des interaktiven WebRTC-Flusses definieren, zu erzielen. Sobald der Initiierungsdialog abgeschlossen ist, können die WebRTC-Clients dann eine direkte Peerverbindung zueinander herstellen und können mit einem Austausch von Medien- und/oder Datenpaketen, die Echtzeitkommunikationen transportieren, anfangen. Die Peerverbindung zwischen den WebRTC-Clients verwendet in der Regel das Secure Real-Time Transport Protocol (SRTP), um Echtzeitmedienflüsse zu transportieren, und setzt möglicherweise verschiedene andere Protokolle für Echtzeitdatenaustausch ein. Während direkte Peerverbindungen zwischen oder unter den WebRTC-Clients typisch sind, können auch noch andere Topologien als solche, die einen gemeinsamen Medienserver beinhalten, mit dem jeder WebRTC-Client direkt verbunden ist, verwendet werden.
  • Typische Webclients, die WebRTC-Funktionalität (etwa WebRTC-fähige Webbrowser) bereitstellen, haben sich so weit entwickelt, dass sie vorwiegend Text- und datengesteuerte Interaktionen unterstützen. Daher ist das Verhalten vorhandener WebRTC-Clients als Antwort auf Benutzereingabegesten wie eine Drag-and-Drop-Eingabe im Kontext interaktiver WebRTC-Flüsse möglicherweise nicht gut definiert. Dies kann vor allem dann der Fall sein, wenn mehrere Benutzer an interaktiven WebRTC-Sitzungen teilnehmen und/oder mehrere Instanzen eines WebRTC-Clients gleichzeitig aktiv sind.
  • KURZE DARSTELLUNG DER AUSFÜHRLICHEN BESCHREIBUNG
  • In der ausführlichen Beschreibung offenbarte Ausführungsformen stellen eine intelligente Verwaltung für interaktive Web-Real-Time-Communications(WebRTC)-Flüsse bereit. Verwandte Verfahren, Systeme und computerlesbare Medien werden ebenfalls offenbart. In diesem Zusammenhang wird in einer Ausführungsform ein System zum intelligenten Verwalten interaktiver WebRTC-Flüsse bereitgestellt. Das System beinhaltet mindestens eine Kommunikationsschnittstelle und eine Computereinrichtung, die mit der mindestens einen Kommunikationsschnittstelle assoziiert ist. Die Computereinrichtung umfasst einen WebRTC-Client, der konfiguriert ist, um eine Benutzereingabegeste, die an eine oder mehrere visuelle Darstellungen, die einem oder mehreren WebRTC-Benutzernentsprechen, gerichtet ist, zu empfangen. Der WebRTC-Client ist weiter konfiguriert, um einen Kontext für den WebRTC-Client basierend auf einem momentanen Zustand des WebRTC-Clients zu bestimmen. Der WebRTC-Client ist zusätzlich konfiguriert, um ein oder mehrere Identitätsattribute, die mit dem einen oder den mehreren WebRTC-Benutzern assoziiert sind, zu beziehen. Der WebRTC-Client ist auch konfiguriert, um einen oder mehrere interaktive WebRTC-Flüsse, die den einen oder die mehreren WebRTC-Benutzer beinhalten, basierend auf dem Kontext, der Benutzereingabegeste und dem einen oder den mehreren Identitätsattributen, bereitzustellen.
  • In einer anderen Ausführungsform wird ein Verfahren zum intelligenten Verwalten interaktiver WebRTC-Flüsse bereitgestellt. Das Verfahren umfasst das Empfangen einer Benutzereingabegeste, die an eine oder mehrere visuelle Darstellungen, die einem oder mehreren WebRTC-Benutzernentsprechen, gerichtet ist, durch einen auf einer Computereinrichtung ausgeführten WebRTC-Client. Das Verfahren umfasst weiter das Bestimmen eines Kontextes für den WebRTC-Client basierend auf einem momentanen Zustand des WebRTC-Clients durch den WebRTC-Client. Das Verfahren umfasst zusätzlich das Beziehen eines oder mehrerer Identitätsattribute, die mit dem einen oder den mehreren WebRTC-Benutzern assoziiert sind. Das Verfahren umfasst auch das Bereitstellen eines oder mehrerer interaktiver WebRTC-Flüsse, die den einen oder die mehreren WebRTC-Benutzer beinhalten, basierend auf dem Kontext, der Benutzereingabegeste und dem einen oder den mehreren Identitätsattributen.
  • In einer anderen Ausführungsform wird ein nicht transientes, computerlesbares Medium bereitgestellt, auf dem computerausführbare Befehle gespeichert sind, um zu bewirken, dass ein Prozessor ein Verfahren zum intelligenten Verwalten interaktiver WebRTC-Flüsse implementiert. Das durch die computerausführbaren Befehle implementierte Verfahren umfasst das Empfangen einer Benutzereingabegeste, die an eine oder mehrere visuelle Darstellungen, die einem oder mehreren WebRTC-Benutzern entsprechen, gerichtet ist. Das durch die computerausführbaren Befehle implementierte Verfahren umfasst weiter das Bestimmen eines Kontextes für den WebRTC-Client basierend auf einem momentanen Zustand des WebRTC-Clients. Das durch die computerausführbaren Befehle implementierte Verfahren umfasst zusätzlich das Beziehen eines oder mehrerer Identitätsattribute, die mit dem einen oder den mehreren WebRTC-Benutzern assoziiert sind. Das durch die computerausführbaren Befehle implementierte Verfahren umfasst auch das Bereitstellen eines oder mehrerer interaktiver WebRTC-Flüsse, die den einen oder die mehreren WebRTC-Benutzer beinhalten, basierend auf dem Kontext, der Benutzereingabegeste und dem einen oder den mehreren Identitätsattributen.
  • KURZE BESCHREIBUNG DER FIGUREN
  • Die beiliegenden Zeichnungsfiguren, die in diese Patentschrift aufgenommen sind und einen Bestandteil von ihr bilden, veranschaulichen einige Gesichtspunkte der Offenbarung und dienen zusammen mit der Beschreibung dazu, die Prinzipien der Offenbarung zu erläutern.
  • 1 ist ein Begriffsschema, das ein beispielhaftes interaktives Kommunikationssystem veranschaulicht, das einen Web-Real-Time-Communications(WebRTC)-Client zum intelligenten Verwalten interaktiver WebRTC-Flüsse beinhaltet;
  • 2 ist ein Ablaufschaubild, das beispielhafte Abläufe für eine intelligente Verwaltung für interaktive WebRTC-Flüsse durch den WebRTC-Client von 1 veranschaulicht;
  • Die 3A und 3B sind Schemata, die veranschaulichen, wie ein Teilnehmer einer interaktiven WebRTC-Sitzung in einer ersten Instanz des WebRTC-Clients von 1 zu einer vorhandenen interaktiven WebRTC-Sitzung in einer zweiten Instanz des WebRTC-Clients mittels einer Drag-and-Drop-Benutzereingabegeste hinzugefügt wird;
  • 4 ist ein Ablaufschaubild, das beispielhafte Abläufe zum Hinzufügen eines Teilnehmers einer interaktiven WebRTC-Sitzung in einer ersten Instanz des WebRTC-Clients von 1 zu einer vorhandenen interaktiven WebRTC-Sitzung in einer zweiten Instanz des WebRTC-Clients mittels einer Drag-and-Drop-Benutzereingabegeste veranschaulicht;
  • Die 5A und 5B sind Schemata, die veranschaulichen, wie ein Teilnehmer einer interaktiven WebRTC-Sitzung in einer ersten Instanz des WebRTC-Clients von 1 zu einer neuen interaktiven WebRTC-Sitzung in einer zweiten Instanz des WebRTC-Clients mittels einer Drag-and-Drop-Benutzereingabegeste hinzugefügt wird;
  • 6 ist ein Ablaufschaubild, das beispielhafte Abläufe zum Hinzufügen eines Teilnehmers einer interaktiven WebRTC-Sitzung in einer ersten Instanz des WebRTC-Clients von 1 zu einer neuen interaktiven WebRTC-Sitzung in einer zweiten Instanz des WebRTC-Clients mittels einer Drag-and-Drop-Benutzereingabegeste veranschaulicht;
  • Die 7A und 7B sind Schemata, die veranschaulichen, wie ein Benutzer zu einer interaktiven WebRTC-Sitzung in einer Instanz des WebRTC-Clients von 1 mittels einer visuellen Darstellung des Benutzers, die mit einer Anwendung assoziiert ist, die nicht an einem aktiven WebRTC-Austausch teilnimmt, hinzugefügt wird;
  • 8 ist ein Ablaufschaubild, das beispielhafte Abläufe zum Hinzufügen eines Benutzers zu einer interaktiven WebRTC-Sitzung in einer Instanz des WebRTC-Clients von 1 mittels einer visuellen Darstellung des Benutzers, die mit einer Anwendung assoziiert ist, die nicht an einem WebRTC-Austausch teilnimmt, veranschaulicht;
  • Die 9A und 9B sind Schemata, die veranschaulichen, wie ein Benutzer zu einer neuen interaktiven WebRTC-Sitzung in einer Instanz des WebRTC-Clients von 1 mittels einer visuellen Darstellung eines Benutzers, die mit einer Anwendung assoziiert ist, die nicht an einem aktiven WebRTC-Austausch teilnimmt, hinzugefügt wird;
  • 10 ist ein Ablaufschaubild, das beispielhafte Abläufe zum Hinzufügen eines Benutzers zu einer neuen interaktiven WebRTC-Sitzung in einer Instanz des WebRTC-Clients von 1 mittels einer visuellen Darstellung eines Benutzers, die mit einer Anwendung assoziiert ist, die nicht an einem WebRTC-Austausch teilnimmt, veranschaulicht; und
  • 11 ist ein Blockschema eines beispielhaften prozessorbasierten Systems, das den WebRTC-Client von 1 beinhalten kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nunmehr werden mit Bezug auf die Zeichnungsfiguren einige beispielhafte Ausführungsformen der vorliegenden Offenbarung beschrieben. Das Wort „beispielhaft“ wird hierin in der Bedeutung „als ein Beispiel, ein Beispielsfall oder zur Veranschaulichung dienend“ genutzt. Jede hierin als „beispielhaft“ beschriebene Ausführungsform ist nicht zwangsläufig als gegenüber anderen Ausführungsformen bevorzugt oder vorteilhaft auszulegen.
  • In der ausführlichen Beschreibung offenbarte Ausführungsformen sehen eine intelligente Verwaltung für interaktive Web-Real-Time-Communications(WebRTC)-Flüsse vor. Verwandte Verfahren, Systeme und computerlesbare Medien werden ebenfalls offenbart. In diesem Zusammenhang wird in einer Ausführungsform ein System zum intelligenten Verwalten interaktiver WebRTC-Flüsse bereitgestellt. Das System beinhaltet mindestens eine Kommunikationsschnittstelle und eine Computereinrichtung, die mit der mindestens einen Kommunikationsschnittstelle assoziiert ist. Die Computereinrichtung umfasst einen WebRTC-Client, der konfiguriert ist, um eine Benutzereingabegeste, die an eine oder mehrere visuelle Darstellungen, die einem oder mehreren WebRTC-Benutzernentsprechen, gerichtet ist, zu empfangen. Der WebRTC-Client ist weiter konfiguriert, um einen Kontext für den WebRTC-Client basierend auf einem momentanen Zustand des WebRTC-Clients zu bestimmen. Der WebRTC-Client ist zusätzlich konfiguriert, um ein oder mehrere Identitätsattribute, die mit dem einen oder den mehreren WebRTC-Benutzern assoziiert sind, zu beziehen. Der WebRTC-Client ist auch konfiguriert, um einen oder mehrere interaktive WebRTC-Flüsse, die den einen oder die mehreren WebRTC-Benutzer beinhalten, basierend auf dem Kontext, der Benutzereingabegeste und dem einen oder den mehreren Identitätsattributen, bereitzustellen.
  • 1 zeigt ein beispielhaftes interaktives WebRTC-System 10 zum intelligenten Verwalten interaktiver WebRTC-Flüsse, wie hierin offenbart. Insbesondere beinhaltet das beispielhafte interaktive WebRTC-System 10 einen WebRTC-Client 12 zum Herstellen interaktiver WebRTC-Flüsse und zum Bereitstellen einer intelligenten Verwaltung der interaktiven WebRTC-Flüsse. Wie hierin genutzt, bezieht sich eine „interaktive WebRTC-Sitzung“ allgemein auf Abläufe zum Herstellen von Peerverbindungen oder anderen Verbindungstopologien und zum Beginnen interaktiver WebRTC-Flüsse zwischen oder unter zwei oder mehr Endpunkten. Ein „interaktiver WebRTC-Fluss“, wie hierin offenbart, bezieht sich auf einen interaktiven Medienfluss und/oder einen interaktiven Datenfluss, der zwischen oder unter zwei oder mehr Endpunkten gemäß WebRTC-Standards und -Protokollen verläuft. Als nicht ausschließliche Beispiele umfasst ein interaktiver Medienfluss, der einen interaktiven WebRTC-Fluss bildet, möglicherweise einen Echtzeitaudiostream und/oder einen Echtzeitvideostream oder andere Echtzeitmedien- oder -datenstreams. Daten und/oder Medien, die einen interaktiven WebRTC-Fluss umfassen, können hierin gemeinsam als „Inhalt“ bezeichnet werden.
  • Bevor Details des WebRTC-Clients 12 erörtert werden, wird zunächst die Herstellung eines interaktiven WebRTC-Flusses im interaktiven WebRTC-System 10 von 1 beschrieben. In 1 führt eine erste Computereinrichtung 14 den ersten WebRTC-Client 12 aus, und eine zweite Computereinrichtung 16 führt einen zweiten WebRTC-Client 18 aus. Es versteht sich, dass sich die Computereinrichtungen 14 und 16 beide innerhalb eines selben öffentlichen oder privaten Netzes befinden können oder sich innerhalb separater, kommunikativ gekoppelter öffentlicher oder privater Netze befinden können. Einige Ausführungsformen des interaktiven WebRTC-Systems 10 von 1 können vorsehen, dass jede der Computereinrichtungen 14 und 16 eine beliebige Computereinrichtung mit Netzkommunikationsfähigkeiten sein kann, etwa ein Smartphone, ein Tabletcomputer, eine dedizierte Web-Appliance, ein Medienserver, ein Desktop- oder ein Servercomputer oder eine speziell angefertigte Kommunikationseinrichtung, wobei es sich um nicht ausschließliche Beispiele handelt. Die Computereinrichtungen 14 und 16 beinhalten Kommunikationsschnittstellen 20 bzw. 22 zum Verbinden der Computereinrichtungen 14 und 16 mit einem oder mehreren öffentlichen und/oder privaten Netzen. In einigen Ausführungsformen können die Elemente der Computereinrichtungen 14 und 16 über mehr als eine Computereinrichtung 14 und 16 verteilt sein.
  • Die WebRTC-Clients 12 und 18 in diesem Beispiel sind möglicherweise je eine Webbrowseranwendung und/oder eine dedizierte Kommunikationsanwendung, wobei es sich um nicht ausschließliche Beispiele handelt. Der WebRTC-Client 12 umfasst eine Skript-Engine 24 und einen WebRTC-Funktionalitätsanbieter 26. Ähnlich umfasst der WebRTC-Client 18 eine Skript-Engine 28 und einen WebRTC-Funktionalitätsanbieter 30. Die Skript-Engines 24 und 28 ermöglichen, dass clientseitige Anwendungen, die in einer Skriptsprache wie JavaScript geschrieben sind, innerhalb der Webclients 12 bzw. 18 ausgeführt werden. Die Skript-Engines 24 und 28 stellen auch Anwendungsprogrammierschnittstellen (APIs) bereit, um Kommunikationen mit anderen Funktionalitätsanbietern innerhalb der WebRTC-Clients 12 und/oder 18, der Computereinrichtungen 14 und/oder 16 und/oder mit anderen Webclients, Benutzereinrichtungen oder Webservern zu vermitteln. Der WebRTC-Funktionalitätsanbieter 26 des WebRTC-Clients 12 und der WebRTC-Funktionalitätsanbieter 30 des WebRTC-Clients 18 implementieren die Protokolle, die Codecs und die APIs, die zum Ermöglichen interaktiver Echtzeitflüsse über WebRTC nötig sind. Die Skript-Engine 24 und der WebRTC-Funktionalitätsanbieter 26 sind über einen Satz definierter APIs kommunikativ gekoppelt, wie durch den in zwei Richtungen weisenden Pfeil 32 angegeben. Desgleichen sind die Skript-Engine 28 und der WebRTC-Funktionalitätsanbieter 30 kommunikativ gekoppelt, wie durch den in zwei Richtungen weisenden Pfeil 34 gezeigt. Die WebRTC-Clients 12 und 18 sind konfiguriert, um Eingaben von Benutzern 36 bzw. 38 für die Herstellung von, die Teilnahme an und/oder die Beendigung von interaktiven WebRTC-Flüssen zu empfangen.
  • Ein WebRTC-Anwendungsserver 40 ist bereitgestellt, um für anfordernde WebRTC-Clients 12, 18 eine WebRTC-fähige Webanwendung (nicht gezeigt) zur Verfügung zu stellen. In einigen Ausführungsformen ist der WebRTC-Anwendungsserver 40 möglicherweise ein einzelner Server, während der WebRTC-Anwendungsserver 40 in einigen Anwendungen möglicherweise mehrere Server umfasst, die kommunikativ aneinander gekoppelt sind. Es versteht sich, dass sich der WebRTC-Anwendungsserver 40 innerhalb desselben öffentlichen oder privaten Netzes befinden kann wie die Computereinrichtungen 14 und/oder 16, oder sich innerhalb eines separaten, kommunikativ gekoppelten öffentlichen oder privaten Netzes befinden kann.
  • 1 veranschaulicht weiter die charakteristische WebRTC-Topologie, die aus dem Herstellen eines interaktiven WebRTC-Flusses 42 zwischen dem WebRTC-Client 12 und dem WebRTC-Client 18 resultiert. Um den interaktiven WebRTC-Fluss 42 herzustellen, laden der WebRTC-Client 12 und der WebRTC-Client 18 beide eine selbe WebRTC-Webanwendung oder kompatible WebRTC-Webanwendungen (nicht gezeigt) vom WebRTC-Anwendungsserver 40 herunter. In einigen Ausführungsformen umfasst die WebRTC-Webanwendung eine HTML5/JavaScript-Webanwendung, die mittels HTML5 ein Rich User Interface bereitstellt und JavaScript zum Handhaben von Benutzereingaben und Kommunizieren mit dem WebRTC-Anwendungsserver 40 nutzt.
  • Der WebRTC-Client 12 und der WebRTC-Client 18 nehmen dann einen Initiierungsdialog 44 auf, der beliebige Daten beinhalten kann, die zwischen oder unter dem WebRTC-Client 12, dem WebRTC-Client 18 und/oder dem WebRTC-Anwendungsserver 40 übermittelt werden, um eine Peerverbindung für den interaktiven WebRTC-Fluss 42 herzustellen. Der Initiierungsdialog 44 beinhaltet möglicherweise WebRTC-Sitzungsbeschreibungsobjekte, HTTP-Kopfdaten, Zertifikate, Kryptografieschlüssel und/oder Netzroutingdaten, wobei es sich um nicht ausschließliche Beispiele handelt. In einigen Ausführungsformen umfasst der Initiierungsdialog 44 möglicherweise einen WebRTC-Angebot-Antwort-Austausch. Während des Initiierungsdialogs 44 ausgetauschte Daten können genutzt werden, um die Medientypen und -fähigkeiten für den gewünschten interaktiven WebRTC-Fluss 42 zu bestimmen. Sobald der Initiierungsdialog 44 abgeschlossen ist, lässt sich über eine sichere Peerverbindung 46 zwischen dem WebRTC-Client 12 und dem WebRTC-Client 18 der interaktive WebRTC-Fluss 42 herstellen.
  • In einigen Ausführungsformen kann die sichere Peerverbindung 46 durch ein Netzelement 48 verlaufen. Beim Netzelement 48 kann es sich um eine Computereinrichtung handeln, die Netzkommunikationsfähigkeiten aufweist und eine Medientransport- und/oder Medienverarbeitungsfunktionalität bereitstellt. Um nicht ausschließliche Beispiele zu nennen, ist das Netzelement 48 möglicherweise ein Network-Address-Translation(NAT)-Server, ein Session-Traversal-Utilities-for-NAT(STUN)-Server, ein Traversal-Using-Relays-around-NAT(TURN)-Server und/oder ein Medienserver. Es versteht sich, dass, wenngleich das Beispiel von 1 einen Peer-to-Peer-Fall veranschaulicht, andere Ausführungsformen, wie hierin offenbart, auch andere Netztopologien beinhalten können. Als nicht ausschließliches Beispiel sind der WebRTC-Client 12 und der WebRTC-Client 18 möglicherweise über einen gemeinsamen Medienserver wie das Netzelement 48 verbunden.
  • Wie oben angemerkt, können die WebRTC-Clients 12 und 18 WebRTC-fähige Webbrowser beinhalten, die sich so weit entwickelt haben, dass sie Text- und datengesteuerte Interaktionen unterstützen. Dementsprechend ist das Verhalten typischer WebRTC-Clients als Antwort auf Benutzereingabegesten wie eine Drag-and-Drop-Eingabe im Kontext interaktiver WebRTC-Flüsse allgemein möglicherweise nicht gut definiert. Dies kann vor allem dann der Fall sein, wenn mehr als zwei Benutzer an einer jeweiligen interaktiven WebRTC-Sitzung teilnehmen und/oder mehrere interaktive WebRTC-Sitzungen innerhalb mehrerer Instanzen eines WebRTC-Clients gleichzeitig aktiv sind.
  • Dementsprechend ist der WebRTC-Client 12 von 1 bereitgestellt, um interaktive WebRTC-Flüsse intelligent zu verwalten. Der WebRTC-Client 12 ist konfiguriert, um eine Benutzereingabegeste 49 zu empfangen, die an eine oder mehrere visuelle Darstellungen, die einem oder mehreren WebRTC-Benutzernentsprechen, gerichtet sein kann und die eine gewünschte Aktion anzeigen kann, die hinsichtlich des entsprechenden WebRTC-Benutzers/der entsprechenden WebRTC-Benutzer vorgenommen werden soll, wie unten ausführlicher erörtert. Die Benutzereingabegeste 49 kann über eine Maus, einen Berührungsbildschirm oder eine andere Eingabeeinrichtung empfangen werden und kann durch das Klicken auf eine Schaltfläche, eine Berührung oder eine Winkgeste initiiert werden. Die Benutzereingabegeste 49 beinhaltet möglicherweise eine Ziehgeste, eine Drag-and-Drop(Ziehen-und Loslassen)-Geste, einen Links- oder Rechtsklickvorgang, einen Multitouch-Benutzeroberflächenvorgang oder eine Menüauswahl, wobei es sich um nicht ausschließliche Beispiele handelt. In einigen Ausführungsformen kann die visuelle Darstellung, an welche die Benutzereingabegeste 49 gerichtet ist, konkret einem bestimmten Typ eines interaktiven WebRTC-Flusses (z. B. einem interaktiven WebRTC-Video-, -Audio- und/oder -Chat-Fluss) für einen WebRTC-Benutzer entsprechen oder kann alle verfügbaren interaktiven WebRTC-Flüsse für einen WebRTC-Benutzer darstellen. Die visuelle Darstellung kann eine statische visuelle Darstellung sein, etwa ein Textelement, ein Icon, eine Grafik oder eine Textzeichenfolge (etwa eine E-Mail-Adresse), oder kann eine dynamische visuelle Darstellung sein, etwa ein Fenster, das einen laufenden WebRTC-Video- oder -Textfluss zeigt, wobei es sich um nicht ausschließliche Beispiele handelt.
  • Der WebRTC-Client 12 kann eine zweckmäßige Aktion, die als Antwort auf die Benutzereingabegeste 49 zu ergreifen ist, basierend auf einem Kontext 50 bestimmen. Der Kontext 50 beinhaltet möglicherweise eine Kenntnis eines Zustands einer oder mehrerer Instanzen des WebRTC-Clients 12 und/oder eine Kenntnis eines Zustands einer oder mehrerer anderer Anwendungen, die neben dem WebRTC-Client 12 zeitgleich ausgeführt werden. Der WebRTC-Client 12 kann auch ein oder mehrere Identitätsattribute 52 beziehen, die mit einem oder mehreren WebRTC-Benutzern assoziiert sind, die mit der visuellen Darstellung/den visuellen Darstellungen assoziiert sind, an welche die Benutzereingabegeste 49 gerichtet ist. Das Identitätsattribut/die Identitätsattribute 52 kann/können auf für den WebRTC-Client 12 zugänglichen Identitätsinformationen basieren oder kann/können von einer externen Anwendung und/oder einem Betriebssystem, in dem der WebRTC-Client 12 ausgeführt wird, bereitgestellt werden.
  • Der WebRTC-Client 12 kann basierend auf anderen Eingaben, etwa Standardeinstellungen 54, optional eine zweckmäßige Aktion bestimmen. In einigen Ausführungsformen können die Standardeinstellungen 54 administrative Standardeinstellungen umfassen, die Arten von Verhalten oder Antworten definieren, die in jeweiligen Situationen automatisch genutzt werden. Die Standardeinstellungen 54 können Verhaltensarten des WebRTC-Clients 12 allgemein vorgeben oder können mit konkreten WebRTC-Benutzern oder Benutzereingabegesten assoziiert sein. Der WebRTC-Client 12 kann auch basierend auf zusätzlichen Kontextinformationen, etwa einem konkreten Typ eines angeforderten interaktiven WebRTC-Flusses (z. B. Audio und Video oder nur Audio), eine zweckmäßige Aktion bestimmen.
  • Der WebRTC-Client 12 kann basierend auf der Benutzereingabegeste 49, dem Kontext 50, dem Identitätsattribut/den Identitätsattributen 52 und anderen bereitgestellten Eingaben wie Standardeinstellungen 54 einen oder mehrere interaktive WebRTC-Flüsse 42 bereitstellen, die den einen oder die mehreren WebRTC-Benutzer beinhalten, der/die mit der visuellen Darstellung/den visuellen Darstellungen assoziiert ist/sind, an welche die Benutzereingabegeste 49 gerichtet ist. In einigen Ausführungsformen beinhaltet das Bereitstellen des einen oder der mehreren interaktiven WebRTC-Flüsse 42 möglicherweise das Herstellen eines neuen interaktiven WebRTC-Flusses 42, das Modifizieren eines vorhandenen interaktiven WebRTC-Flusses 42 und/oder das Beenden eines vorhandenen interaktiven WebRTC-Flusses 42. Auf diese Weise kann der WebRTC-Client 12 eine intuitive und flexible Verwaltung interaktiver WebRTC-Flüsse bereitstellen, die Stummschalten und Aufheben der Stummschaltung sowie Erstellen und Zusammenführen interaktiver WebRTC-Sitzungen und Bereitstellen eines Inhalts von, Unterdrücken eines Inhalts von und/oder Stummschalten und Aufheben der Stummschaltung von einzelnen interaktiven WebRTC-Flüssen beinhaltet. Es versteht sich, dass die Funktionalität des WebRTC-Clients 12, wie hierin offenbart, durch eine vom WebRTC-Client 12 ausgeführte Webanwendung, durch eine Browsererweiterung oder ein Browser-Plug-in, die bzw. das in den WebRTC-Client 12 integriert ist, und/oder durch die im WebRTC-Client 12 selbst bereits enthaltene Funktionalität bereitgestellt werden kann.
  • 2 ist ein Ablaufschaubild, das beispielhafte Abläufe für eine intelligente Verwaltung für interaktive WebRTC-Flüsse durch den WebRTC-Client 12 von 1 veranschaulicht. Der Klarheit halber wird beim Beschreiben von 2 auf Elemente von 1 Bezug genommen. In 2 beginnen die Abläufe damit, dass der auf der Computereinrichtung 14 ausgeführte WebRTC-Client 12 eine Benutzereingabegeste 49 empfängt, die an eine oder mehrere visuelle Darstellungen, die einem oder mehreren WebRTC-Benutzernentsprechen, gerichtet ist (Block 56). Einige Ausführungsformen können vorsehen, dass die Benutzereingabegeste 49 eine Drag-and-Drop-Geste, einen Klick auf eine Schaltfläche, eine Berührung, ein Winken und/oder eine Menüauswahl umfasst, wobei es sich um nicht ausschließliche Beispiele handelt. Der WebRTC-Client 12 bestimmt als Nächstes einen Kontext 50 für den WebRTC-Client 12 basierend auf einem momentanen Zustand des WebRTC-Clients 12 (Block 58). In einigen Ausführungsformen beinhaltet der Kontext 50 möglicherweise eine Kenntnis eines Zustands einer oder mehrerer Instanzen des WebRTC-Clients 12 und/oder eine Kenntnis eines Zustands einer oder mehrerer anderer Anwendungen, die zeitgleich mit dem WebRTC-Client 12 ausgeführt werden.
  • Der WebRTC-Client bezieht ein oder mehrere Identitätsattribute 52, die mit dem einen oder den mehreren WebRTC-Benutzern assoziiert sind (Block 60). Das Identitätsattribut/die Identitätsattribute 52 kann/können auf für den WebRTC-Client zugänglichen Identitätsinformationen basieren oder kann/können von einer externen Anwendung und/oder einem Betriebssystem, in dem der WebRTC-Client ausgeführt wird, bereitgestellt werden. Der WebRTC-Client stellt dann einen oder mehrere interaktive WebRTC-Flüsse 42, die den einen oder die mehreren WebRTC-Benutzer beinhalten, basierend auf dem Kontext 50, der Benutzereingabegeste 49 und dem einen oder den mehreren Identitätsattributen 52 bereit (Block 62).
  • Die 3A und 3B sind Schemata, die veranschaulichen, wie ein Teilnehmer einer ersten interaktiven WebRTC-Sitzung 64 in einer ersten Instanz 66 des WebRTC-Clients 12 von 1 zu einer vorhandenen zweiten interaktiven WebRTC-Sitzung 68 in einer zweiten Instanz 70 des WebRTC-Clients 12 mittels einer Drag-and-Drop-Benutzereingabegeste 72 gemäß hierin offenbarten Ausführungsformen hinzugefügt wird. 3A veranschaulicht den Anfangszustand der ersten Instanz 66 und der zweiten Instanz 70, während 3B das Ergebnis der Drag-and-Drop-Benutzereingabegeste 72 veranschaulicht. In den 3A und 3B werden die erste Instanz 66 und die zweite Instanz 70 des WebRTC-Clients 12 der Klarheit halber als separate Fenster gezeigt. Es versteht sich jedoch, dass einige Ausführungsformen vorsehen können, dass die erste Instanz 66 und die zweite Instanz 70 separate Browserregisterkarten innerhalb eines einzigen Anwendungsfensters, eine leere Browserregisterkarte, die bei Bedarf erstellt wird, und/oder andere Benutzeroberflächenkonfigurationen umfassen können.
  • In 3A zeigt die erste Instanz 66 des WebRTC-Clients 12 die erste interaktive WebRTC-Sitzung 64 an, die eine visuelle Darstellung 74(1) einer Benutzerin Alice, eine visuelle Darstellung 74(2) eines Benutzers Bob, eine visuelle Darstellung 74(3) eines Benutzers Charlie und eine visuelle Darstellung 74(4) eines Benutzers David beinhaltet. Jede visuelle Darstellung 74 gibt einen Teilnehmer bei der ersten interaktiven WebRTC-Sitzung 64 zwischen Alice, Bob, Charlie und David an, die innerhalb der ersten Instanz 66 des WebRTC-Clients 12 erfolgt. Ähnlich zeigt die zweite Instanz 70 des WebRTC-Clients 12 eine visuelle Darstellung 74(5) einer Benutzerin Alice und eine visuelle Darstellung 74(6) eines Benutzers Ed an und stellt die zweite interaktive WebRTC-Sitzung 68 zwischen Alice und Ed dar. In einigen Ausführungsformen kann jede visuelle Darstellung 74 eine dynamische Darstellung, etwa ein Live-Videofeed, der durch einen WebRTC-Echtzeitvideofluss bereitgestellt wird, oder eine dynamisch aktualisierte Grafik oder Textzeichenfolge sein. Einige Ausführungsformen wie solche, in denen die interaktive WebRTC-Sitzung nur WebRTC-Audio- oder -Datenflüsse beinhaltet, können vorsehen, dass die visuelle Darstellung jedes Teilnehmers möglicherweise eine statische Grafik wie ein Icon oder eine Avatargrafik oder eine statische Textzeichenfolge ist. Gemäß einigen hierin offenbarten Ausführungsformen können die visuellen Darstellungen 74 in Zeilen und Spalten angeordnet sein, wie in 3A abgebildet, oder die visuellen Darstellungen 74 können in anderen Konfigurationen angeordnet sein (etwa Ausblenden oder Minimieren der visuellen Darstellung des Benutzers des WebRTC-Clients 12).
  • Im Beispiel von 3A empfängt der WebRTC-Client 12 eine Benutzereingabegeste 72, die an die visuelle Darstellung 74(4) des Benutzers David gerichtet ist. In einigen Ausführungsformen kann die Benutzereingabegeste 72 eine Drag-and-Drop-Geste umfassen, die durch Klicken mit einer Maus oder einer anderen Zeigeeinrichtung auf die visuelle Darstellung 74(4) oder durch Berühren der visuellen Darstellung 74(4) auf einem Berührungsbildschirm initiiert wird. Die visuelle Darstellung 74(4) des Benutzers David wird dann aus der ersten Instanz 66 des WebRTC-Clients 12 gezogen und in der zweiten interaktiven WebRTC-Sitzung 68 auf der zweiten Instanz 70 des WebRTC-Clients 12 abgelegt.
  • An dieser Stelle bestimmt der WebRTC-Client 12 einen momentanen Kontext 50. Der Kontext 50 beinhaltet eine Kenntnis des momentanen Zustands und der momentanen Aktivitäten der ersten Instanz 66 und der zweiten Instanz 70 (d. h. eine Kenntnis, dass die erste und die zweite interaktive WebRTC-Sitzung 64, 68 momentan in der ersten Instanz 66 bzw. der zweiten Instanz 70 aktiv sind). Der WebRTC-Client 12 bezieht auch Identitätsattribute 52, die mit den in den interaktiven WebRTC-Sitzungen in der ersten Instanz 66 und der zweiten Instanz 70 involvierten Teilnehmern assoziiert sind. Die Identitätsattribute 52 beinhalten zum Beispiel möglicherweise Identitätsinformationen, die vom WebRTC-Client 12 beim Herstellen der interaktiven WebRTC-Sitzungen genutzt werden.
  • Der WebRTC-Client 12 fügt den Benutzer David basierend auf der Benutzereingabegeste 72, dem Kontext 50 und den Identitätsattributen 52 zur zweiten interaktiven WebRTC-Sitzung 68 in der zweiten Instanz 70 des WebRTC-Clients 12 hinzu. In einigen Ausführungsformen lässt sich dies bewerkstelligen, indem der WebRTC-Client 12 einen oder mehrere neue interaktive WebRTC-Flüsse 42 zwischen dem Benutzer David und den Teilnehmern der zweiten interaktiven WebRTC-Sitzung 68, mit welcher der Benutzer David nicht bereits verbunden ist, in der zweiten Instanz 70 herstellt,. Die neu hergestellten interaktiven WebRTC-Flüsse 42 lassen sich zwischen jedem in der zweiten interaktiven WebRTC-Sitzung 68 involvierten Benutzer herstellen (d. h. „vollvermaschte“ Verbindungen) und/oder lassen sich zwischen jedem Benutzer und einem zentralen Medienserver wie dem Netzelement 48 von 1 herstellen.
  • Wie in 3B abgebildet, wird eine visuelle Darstellung 74(7) des Benutzers David zur zweiten Instanz 70 des WebRTC-Clients 12 hinzugefügt, wodurch angegeben wird, dass der Benutzer David mit den Benutzern Alice und Ed jetzt an einer interaktiven WebRTC-Sitzung teilnimmt. In einigen Ausführungsformen können interaktive WebRTC-Flüsse 42 zwischen dem Benutzer David und den Teilnehmern der ersten interaktiven WebRTC-Sitzung 64 in der ersten Instanz 66 des WebRTC-Clients 12 beendet werden, wobei in diesem Fall die visuelle Darstellung 74(4) des Benutzers David aus der ersten Instanz 66 entfernt wird. Einige Ausführungsformen können vorsehen, dass ein oder mehrere interaktive WebRTC-Flüsse 42 zwischen dem Benutzer David und den Teilnehmern der ersten interaktiven WebRTC-Sitzung 64 in der ersten Instanz 66 so modifiziert werden können, dass der Benutzer David weiter darauf zugreifen kann. Beispielsweise kann ein WebRTC-Audiofluss zwischen dem Benutzer David und der ersten interaktiven WebRTC-Sitzung 64 in der ersten Instanz 66 bei reduzierter Lautstärke aufrechterhalten werden oder kann aufrechterhalten werden, während der Ton vom WebRTC-Client 12 stummgeschaltet wird. Die visuelle Darstellung 74(4) des Benutzers David, die für andere Teilnehmer bereitgestellt wird, lässt sich auch so modifizieren, dass dadurch angegeben wird, dass der Benutzer David an einer anderen interaktiven WebRTC-Sitzung teilnimmt. Als nicht ausschließliche Beispiele kann die visuelle Darstellung 74(4) des Benutzers David grau wiedergegeben oder weichgezeichnet werden, oder ein WebRTC-Videofluss vom Benutzer David kann eingefroren oder geloopt werden. Gemäß einigen hierin beschriebenen Ausführungsformen lässt sich die Handhabung der interaktiven WebRTC-Flüsse zwischen dem Benutzer David und den Teilnehmern der ersten interaktiven WebRTC-Sitzung 64 automatisch durch Standardeinstellungen wie die Standardeinstellungen 54 von 1 bestimmen und/oder lässt sich durch die Benutzereingabegeste 72 bestimmen.
  • In einigen Ausführungsformen kann der WebRTC-Client 12 detektieren, ob die erste Instanz 66 oder die zweite Instanz 70 des WebRTC-Clients 12 als aktive Instanz festgelegt wurde. Zum Beispiel hat die Benutzerin Alice möglicherweise ihre Aufmerksamkeit auf ein Fenster oder eine Registerkarte gerichtet, in dem bzw. der die erste Instanz 66 oder die zweite Instanz 70 des WebRTC-Clients 12 ausgeführt wird. Als Antwort darauf kann der WebRTC-Client 12 einen Inhalt von mindestens einem des einen oder der mehreren interaktiven WebRTC-Flüsse 42, der mit der aktiven Registerkarte assoziiert ist, bereitstellen und kann einen Inhalt von mindestens einem des einen oder der mehreren interaktiven WebRTC-Flüsse 42, der mit der inaktiven Registerkarte assoziiert ist, unterdrücken. Als nicht ausschließliche Beispiele können WebRTC-Video-, -Audio- und/oder -Datenflüsse von der Benutzerin Alice nur an die zweite Instanz 70 gerichtet sein und/oder von der zweiten Instanz 70 empfangen werden, wenn die zweite Instanz 70 als aktive Instanz ausgewählt ist, und können vom WebRTC-Client 12 andernfalls ausgeblendet, stummgeschaltet oder bei reduzierter Lautstärke aufrechterhalten werden, wenn die zweite Instanz 70 nicht als aktive Instanz ausgewählt ist.
  • 4 ist ein Ablaufschaubild, das beispielhafte Abläufe zum Hinzufügen eines Teilnehmers einer interaktiven WebRTC-Sitzung in einer ersten Instanz des WebRTC-Clients von 1 zu einer vorhandenen interaktiven WebRTC-Sitzung in einer zweiten Instanz des WebRTC-Clients mittels einer Drag-and-Drop-Benutzereingabegeste veranschaulicht, wie hinsichtlich der 3A und 3B oben erörtert. Der Klarheit halber wird beim Beschreiben von 4 auf Elemente der 1 und 3A3B Bezug genommen. In 4 beginnen die Abläufe damit, dass der auf der Computereinrichtung 14 ausgeführte WebRTC-Client 12 eine Drag-and-Drop-Benutzereingabegeste 72 empfängt (Block 76). Die Benutzereingabegeste 72 gibt an, dass eine oder mehrere visuelle Darstellungen 74, die einem oder mehreren WebRTC-Benutzern entsprechen, aus der ersten interaktiven WebRTC-Sitzung 64 der ersten Instanz 66 des WebRTC-Clients 12 gezogen und in der zweiten interaktiven WebRTC-Sitzung 68 der zweiten Instanz 70 des WebRTC-Clients 12 abgelegt werden.
  • Der WebRTC-Client 12 bestimmt als Nächstes einen Kontext 50, der angibt, dass die erste Instanz 66 an der ersten interaktiven WebRTC-Sitzung 64 teilnimmt und die zweite Instanz 70 an der zweiten interaktiven WebRTC-Sitzung 68 teilnimmt (Block 78). Der WebRTC-Client 12 bezieht ein oder mehrere Identitätsattribute 52, die mit dem einen oder den mehreren WebRTC-Benutzern, die der einen oder den mehreren visuellen Darstellungen 74 entsprechen, assoziiert sind (Block 80). Der WebRTC-Client 12 stellt basierend auf dem Kontext 50, der Benutzereingabegeste 72 und dem einen oder den mehreren Identitätsattributen 52 einen oder mehrere interaktive WebRTC-Flüsse 42 zwischen dem einen oder den mehreren WebRTC-Benutzern und einem oder mehreren Teilnehmern der zweiten interaktiven WebRTC-Sitzung 68 her (Block 82).
  • In einigen Ausführungsformen kann der WebRTC-Client 12 anschließend einen oder mehrere der vorhandenen interaktiven WebRTC-Flüsse 42 zwischen dem einen oder den mehreren WebRTC-Benutzern und der ersten Instanz 66 des WebRTC-Clients 12 modifizieren und/oder beenden(Block 84). Zum Beispiel können die vorhandenen interaktiven WebRTC-Flüsse 42 zwischen einem Benutzer und der ersten Instanz 66 ganz beendet werden, um den Benutzer effektiv von der ersten interaktiven WebRTC-Sitzung 64 zur zweiten interaktiven WebRTC-Sitzung 68 zu übertragen. In einigen Ausführungsformen können die vorhandenen interaktiven WebRTC-Flüsse 42 modifiziert statt beendet werden (z. B. durch eine Bereitstellung von nur Audio, jedoch nicht Video für die erste interaktive WebRTC-Sitzung 64). Einige Ausführungsformen können vorsehen, dass der WebRTC-Client 12 einen vorhandenen interaktiven WebRTC-Fluss 42 von der ersten interaktiven WebRTC-Sitzung 64 erneut nutzen kann, um Video-, Audio- und/oder Datenflüsse für die zweite interaktive WebRTC-Sitzung 68 bereitzustellen. Der WebRTC-Client 12 kann optional auch einen Inhalt von mindestens einem des einen oder der mehreren interaktiven WebRTC-Flüsse 42 unterdrücken, der mit einer aktiven Instanz assoziiert ist (z. B. der ersten Instanz 66 oder der zweiten Instanz 70, der die Benutzeraufmerksamkeit gilt) (Block 86). Der WebRTC-Client 12 kann einen Inhalt von mindestens einem des einen oder der mehreren interaktiven WebRTC-Flüsse 42 bereitstellen, der mit einer inaktiven Instanz assoziiert ist (z. B. der ersten Instanz 66 oder der zweiten Instanz 70, der die Benutzeraufmerksamkeit nicht gilt) (Block 88).
  • Der WebRTC-Client 12 kann die eine oder die mehreren visuellen Darstellungen 74, die dem einen oder den mehreren WebRTC-Benutzernentsprechen, zusätzlich modifizieren (Block 90). Davon kann beispielsweise Gebrauch gemacht werden, um anzugeben, dass ein an der zweiten interaktiven WebRTC-Sitzung 68 teilnehmender WebRTC-Benutzer bei der ersten interaktiven WebRTC-Sitzung 64 nicht aktiv ist. Das Modifizieren der einen oder der mehreren visuellen Darstellungen 74 kann beinhalten, dass eine visuelle Darstellung hervorgehoben, grau wiedergegeben oder weichgezeichnet oder dass ein eingefrorener oder geloopter WebRTC-Videofluss angezeigt wird, wobei es sich um nicht ausschließliche Beispiele handelt.
  • Die 5A und 5B sind Schemata, die veranschaulichen, wie ein Teilnehmer einer vorhandenen interaktiven WebRTC-Sitzung 92 in einer ersten Instanz 94 des WebRTC-Clients 12 von 1 zu einer neuen interaktiven WebRTC-Sitzung in einer zweiten Instanz 96 des WebRTC-Clients 12 mittels einer Drag-and-Drop-Benutzereingabegeste 98 hinzugefügt wird. In 5A wird der Anfangszustand der ersten Instanz 94 und der zweiten Instanz 96 veranschaulicht, während 5B das Ergebnis der Drag-and-Drop-Benutzereingabegeste 98 veranschaulicht. Wenngleich die erste Instanz 94 und die zweite Instanz 96 des WebRTC-Clients 12 der Klarheit halber als separate Fenster gezeigt werden, versteht es sich, dass die erste Instanz 94 und die zweite Instanz 96 in einigen Ausführungsformen separate Browserregisterkarten innerhalb eines einzigen Anwendungsfensters, eine leere Browserregisterkarte, die bei Bedarf erstellt wird, und/oder andere Benutzeroberflächenkonfigurationen umfassen können.
  • In 5A zeigt die erste Instanz 94 des WebRTC-Clients 12 eine vorhandene interaktive WebRTC-Sitzung 92 an, die eine visuelle Darstellung 100(1) einer Benutzerin Alice, eine visuelle Darstellung 100(2) eines Benutzers Bob, eine visuelle Darstellung 100(3) eines Benutzers Charlie und eine visuelle Darstellung 100(4) eines Benutzers David beinhaltet. Jede visuelle Darstellung 100 gibt einen Teilnehmer bei der vorhandenen interaktiven WebRTC-Sitzung 92 zwischen Alice, Bob, Charlie und David an, die innerhalb der ersten Instanz 94 des WebRTC-Clients 12 erfolgt. Wie oben angemerkt, kann jede visuelle Darstellung 100 eine dynamische Darstellung sein, etwa ein Live-Videofeed, der durch einen WebRTC-Echtzeitvideofluss bereitgestellt wird, oder sie kann eine statische Grafik sein, etwa ein Icon oder eine Avatargrafik. Die zweite Instanz 96 des WebRTC-Clients 12 enthält keine visuellen Darstellungen von Benutzern, wodurch angegeben wird, dass gerade keine aktive interaktive WebRTC-Sitzung vonstatten geht.
  • Im Beispiel von 5A empfängt der WebRTC-Client 12 eine Benutzereingabegeste 98, die an die visuelle Darstellung 100(4) des Benutzers David gerichtet ist. Als nicht ausschließliche Beispiele kann die Benutzereingabegeste 98 eine Drag-and-Drop-Geste umfassen, die durch Klicken mit einer Maus oder einer anderen Zeigeeinrichtung auf die visuelle Darstellung 100(4) oder durch Berühren der visuellen Darstellung 100(4) auf einem Berührungsbildschirm initiiert wird. Die visuelle Darstellung 100(4) des Benutzers David wird dann aus der ersten Instanz 94 des WebRTC-Clients 12 gezogen und auf der zweiten Instanz 96 des WebRTC-Clients 12 abgelegt.
  • Der WebRTC-Client 12 bestimmt an dieser Stelle einen momentanen Kontext 50, der eine Kenntnis dessen beinhaltet, dass in der ersten Instanz 94, jedoch nicht in der zweiten Instanz 96, momentan eine interaktive WebRTC-Sitzung aktiv ist. Der WebRTC-Client 12 bezieht auch Identitätsattribute 52, die mit den in den interaktiven WebRTC-Sitzungen in der ersten Instanz 94 involvierten Teilnehmern assoziiert sind. Die Identitätsattribute 52 beinhalten zum Beispiel möglicherweise Identitätsinformationen, die vom WebRTC-Client 12 beim Herstellen der interaktiven WebRTC-Sitzungen genutzt werden.
  • Der WebRTC-Client 12 erstellt basierend auf der Benutzereingabegeste 98, dem Kontext 50 und den Identitätsattributen 52 eine neue interaktive WebRTC-Sitzung 102 in der zweiten Instanz 96 des WebRTC-Clients 12, wie in 5B abgebildet. In einigen Ausführungsformen lässt sich dies bewerkstelligen, indem der WebRTC-Client 12 einen oder mehrere interaktive WebRTC-Flüsse 42 zwischen dem Benutzer David und dem Benutzer des WebRTC-Clients 12 herstellt, der die Benutzereingabegeste 98 vollführt hat (in diesem Beispiel Alice). Die hergestellten interaktiven WebRTC-Flüsse 42 lassen sich zwischen jedem in der neuen interaktiven WebRTC-Sitzung 102 involvierten Benutzer herstellen (d. h. „vollvermaschte“ Verbindungen) und/oder lassen sich zwischen jedem Benutzer und einem zentralen Medienserver wie dem Netzelement 48 von 1 herstellen. Wie in 5B abgebildet, werden die visuellen Darstellungen 100(5) bzw. 100(6) der Benutzer Alice und David zur zweiten Instanz 96 des WebRTC-Clients 12 hinzugefügt, wodurch angegeben wird, dass Alice und David jetzt an der neuen interaktiven WebRTC-Sitzung 102 teilnehmen. Wie oben erörtert, können einige Ausführungsformen vorsehen, dass interaktive WebRTC-Flüsse zwischen David und den Teilnehmern der interaktiven WebRTC-Sitzung in der ersten Instanz 94 des WebRTC-Clients 12 beendet oder dass sie modifiziert werden können, um anzugeben, dass der Benutzer David an einer anderen interaktiven WebRTC-Sitzung teilnimmt.
  • Einige Ausführungsformen können vorsehen, dass der WebRTC-Client 12 detektieren kann, ob die erste Instanz 94 oder die zweite Instanz 96 des WebRTC-Clients 12 als aktive Instanz festgelegt wurde. Zum Beispiel hat die Benutzerin Alice möglicherweise ihre Aufmerksamkeit auf ein Fenster oder eine Registerkarte gerichtet, in dem bzw. der die erste Instanz 94 oder die zweite Instanz 96 des WebRTC-Clients 12 ausgeführt wird. Dementsprechend kann der WebRTC-Client 12 einen Inhalt von mindestens einem des einen oder der mehreren interaktiven WebRTC-Flüsse 42, der mit der aktiven Registerkarte assoziiert ist, bereitstellen und kann einen Inhalt von mindestens einem des einen oder der mehreren interaktiven WebRTC-Flüsse 42, der mit der inaktiven Registerkarte assoziiert ist, unterdrücken. Als nicht ausschließliche Beispiele können WebRTC-Video-, -Audio- und/oder -Datenflüsse von der Benutzerin Alice nur an die zweite Instanz 96 gerichtet sein und/oder von der zweiten Instanz 96 empfangen werden, wenn die zweite Instanz 96 als aktive Instanz ausgewählt ist.
  • 6 ist ein Ablaufschaubild, das beispielhafte Abläufe zum Hinzufügen eines Teilnehmers einer interaktiven WebRTC-Sitzung in einer ersten Instanz des WebRTC-Clients von 1 zu einer neuen interaktiven WebRTC-Sitzung in einer zweiten Instanz des WebRTC-Clients mittels einer Drag-and-Drop-Benutzereingabegeste veranschaulicht, wie hinsichtlich der 5A und 5B oben erörtert. Der Klarheit halber wird beim Beschreiben von 6 auf Elemente der 1 und 5A5B Bezug genommen. In 6 beginnen die Abläufe damit, dass der auf der Computereinrichtung 14 ausgeführte WebRTC-Client 12 eine Drag-and-Drop-Benutzereingabegeste 98 empfängt (Block 104). Die Benutzereingabegeste 98 gibt an, dass eine oder mehrere visuelle Darstellungen 100, die einem oder mehreren WebRTC-Benutzernentsprechen, aus einer vorhandenen interaktiven WebRTC-Sitzung 92 einer ersten Instanz 94 des WebRTC-Clients 12 gezogen und in einer zweiten Instanz 96 des WebRTC-Clients 12 abgelegt werden.
  • Der WebRTC-Client 12 bestimmt als Nächstes einen Kontext 50, der angibt, dass die erste Instanz 94 an der ersten interaktiven WebRTC-Sitzung 92 teilnimmt und die zweite Instanz 96 nicht an einer interaktiven WebRTC-Sitzung teilnimmt (Block 106). Der WebRTC-Client 12 bezieht ein oder mehrere Identitätsattribute 52, die mit dem einen oder den mehreren WebRTC-Benutzern, die der einen oder den mehreren visuellen Darstellungen 100 entsprechen, assoziiert sind (Block 108). Der WebRTC-Client 12 stellt basierend auf dem Kontext 50, der Benutzereingabegeste 98 und dem einen oder den mehreren Identitätsattributen 52 einen oder mehrere interaktive WebRTC-Flüsse 42 zwischen dem einen oder den mehreren WebRTC-Benutzern und der zweiten Instanz 96 des WebRTC-Clients 12 her (Block 110).
  • In einigen Ausführungsformen kann der WebRTC-Client 12 anschließend einen oder mehrere der vorhandenen interaktiven WebRTC-Flüsse 42 zwischen dem einen oder den mehreren WebRTC-Benutzern und der ersten Instanz 94 des WebRTC-Clients 12 modifizieren und/oder beenden (Block 112). Zum Beispiel können die vorhandenen interaktiven WebRTC-Flüsse 42 zwischen einem Benutzer und der ersten Instanz 94 ganz beendet werden, um den Benutzer effektiv von der vorhandenen interaktiven WebRTC-Sitzung 92 zur neuen interaktiven WebRTC-Sitzung 102 zu übertragen. In einigen Ausführungsformen können die vorhandenen interaktiven WebRTC-Flüsse 42 modifiziert statt beendet werden (z. B. durch die Bereitstellung von nur Audio, jedoch nicht Video, für interaktive WebRTC-Flüsse 42 für die vorhandene interaktive WebRTC-Sitzung 92). Der WebRTC-Client 12 kann optional auch einen Inhalt von mindestens einem des einen oder der mehreren interaktiven WebRTC-Flüsse 42 bereitstellen, der mit einer aktiven Instanz assoziiert ist (z. B. der ersten Instanz 94 oder der zweiten Instanz 96, der die Benutzeraufmerksamkeit gilt) (Block 114). Der WebRTC-Client 12 kann einen Inhalt von mindestens einem des einen oder der mehreren interaktiven WebRTC-Flüsse 42 unterdrücken, der mit einer inaktiven Instanz assoziiert ist (z. B. der ersten Instanz 94 oder der zweiten Instanz 96, der die Benutzeraufmerksamkeit nicht gilt) (Block 116).
  • Der WebRTC-Client 12 kann die eine oder die mehreren visuellen Darstellungen 100, die dem einen oder den mehreren WebRTC-Benutzernentsprechen, zusätzlich modifizieren (Block 118). Davon kann beispielsweise Gebrauch gemacht werden, um anzugeben, dass ein an der neuen interaktiven WebRTC-Sitzung 102 teilnehmender WebRTC-Benutzer bei der vorhandenen interaktiven WebRTC-Sitzung 92 nicht aktiv ist. Das Modifizieren der einen oder der mehreren visuellen Darstellungen 100 kann beinhalten, dass eine visuelle Darstellung hervorgehoben, grau wiedergegeben oder weichgezeichnet oder dass ein eingefrorener oder geloopter WebRTC-Videofluss angezeigt wird.
  • Die 7A und 7B sind Schemata, die veranschaulichen, wie ein Benutzer zu einer vorhandenen interaktiven WebRTC-Sitzung 120 in einer Instanz 122 des WebRTC-Clients 12 von 1 mittels einer visuellen Darstellung des Benutzers, die mit einer Instanz einer Anwendung 124 assoziiert ist, die nicht an einem aktiven WebRTC-Austausch teilnimmt, hinzugefügt wird. Die Anwendung 124 beinhaltet möglicherweise, wobei es sich um nicht ausschließliche Beispiele handelt, eine nicht WebRTC-fähige Anwendung oder Webseite oder beinhaltet möglicherweise eine Anwendung, die Benachrichtigungen über eingehende Anforderungen von WebRTC-Echtzeitkommunikationen bereitstellt. 7A veranschaulicht den Anfangszustand der Anwendung 124 und der Instanz 122 des WebRTC-Clients 12, während 7B das Ergebnis einer Drag-and-Drop-Benutzereingabegeste 126 veranschaulicht. In den 7A und 7B wird die Instanz 122 des WebRTC-Clients 12 der Klarheit halber als separates Fenster gezeigt. Es versteht sich jedoch, dass einige Ausführungsformen vorsehen können, dass die Instanz 122 eine Browserregisterkarte oder eine andere Benutzeroberflächenkonfiguration umfassen kann.
  • In 7A zeigt die Anwendung 124 eine visuelle Darstellung 128(1) des Benutzers Charlie und eine visuelle Darstellung 128(2) des Benutzers David an. Die beiden visuellen Darstellungen 128(1) und 128(2) geben irgendeine Form identifizierender Informationen für den entsprechenden Benutzer an. Beispielsweise können die visuellen Darstellungen 128(1) und 128(2) Webseiten-Icons sein, die mit WebRTC-Kontaktinformationen für Charlie bzw. David verknüpft sind, oder können Textzeichenfolgen wie E-Mail-Adressen sein, wobei es sich um nicht ausschließliche Beispiele handelt. Die Instanz 122 des WebRTC-Clients 12 zeigt eine visuelle Darstellung 128(3) der Benutzerin Alice und eine visuelle Darstellung 128(4) des Benutzers Ed an und stellt die vorhandene interaktive WebRTC-Sitzung 120 zwischen Alice und Ed dar. In einigen Ausführungsformen kann jede visuelle Darstellung 128(3) und 128(4) eine dynamische Darstellung sein, etwa ein Live-Videofeed, der durch einen WebRTC-Echtzeitvideofluss bereitgestellt wird, oder kann eine statische Grafik sein, etwa ein Icon oder eine Avatargrafik. Gemäß einigen hierin offenbarten Ausführungsformen können die visuellen Darstellungen 128(3) und 128(4) angeordnet sein wie in 7A abgebildet oder können in anderen Konfigurationen angeordnet sein (etwa Ausblenden oder Minimieren der visuellen Darstellung des Benutzers des WebRTC-Clients 12).
  • Im Beispiel von 7A empfängt der WebRTC-Client 12 die Drag-and-Drop-Benutzereingabegeste 126, die an die visuelle Darstellung 128(2) des Benutzers David gerichtet ist. Die Benutzereingabegeste 126 kann eine Drag-and-Drop-Geste umfassen, die durch Klicken mit einer Maus oder einer anderen Zeigeeinrichtung auf die visuelle Darstellung 128(2) oder durch Berühren der visuellen Darstellung 128(2) auf einem Berührungsbildschirm initiiert wird, wobei es sich um nicht ausschließliche Beispiele handelt. Die visuelle Darstellung 128(2) des Benutzers David wird dann aus der Anwendung 124 gezogen und auf der vorhandenen interaktiven WebRTC-Sitzung 120 in der Instanz 122 des WebRTC-Clients 12 abgelegt.
  • An dieser Stelle bestimmt der WebRTC-Client 12 einen momentanen Kontext 50. Der Kontext 50 beinhaltet eine Kenntnis des momentanen Zustands und der momentanen Aktivitäten der Instanz 122. Der WebRTC-Client 12 bezieht auch Identitätsattribute 52, die mit der visuellen Darstellung 128(2) und mit Teilnehmern bei der interaktiven WebRTC-Sitzung der Instanz 122 assoziiert sind. Die Identitätsattribute 52 beinhalten zum Beispiel möglicherweise von der Anwendung 124 bereitgestellte Identitätsinformationen, die vom WebRTC-Client 12 beim Herstellen einer interaktiven WebRTC-Sitzung genutzt werden können.
  • Der WebRTC-Client 12 fügt den Benutzer David basierend auf der Benutzereingabegeste 126, dem Kontext 50 und den Identitätsattributen 52 zur vorhandenen interaktiven WebRTC-Sitzung 120 in der Instanz 122 des WebRTC-Clients 12 hinzu. In einigen Ausführungsformen lässt sich dies bewerkstelligen, indem der WebRTC-Client 12 einen oder mehrere interaktive WebRTC-Flüsse 42 zwischen dem Benutzer David und den Teilnehmern der interaktiven WebRTC-Sitzung in der Instanz 122 herstellt. Wie in 7B abgebildet, wird eine visuelle Darstellung 128(5) des Benutzers David zur Instanz 122 des WebRTC-Clients 12 hinzugefügt, wodurch angegeben wird, dass der Benutzer David jetzt mit den Benutzern Alice und Ed an der vorhandenen interaktiven WebRTC-Sitzung 120 teilnimmt.
  • 8 ist ein Ablaufschaubild, das beispielhafte Abläufe zum Hinzufügen eines Benutzers zu einer interaktiven WebRTC-Sitzung in einer Instanz des WebRTC-Clients von 1 mittels einer visuellen Darstellung des Benutzers, die mit einer Anwendung assoziiert ist, die nicht an einem WebRTC-Austausch teilnimmt, veranschaulicht, wie hinsichtlich der 7A und 7B oben erörtert. Der Klarheit halber wird beim Beschreiben von 8 auf Elemente der 1 und 7A7B Bezug genommen. In 8 beginnen die Abläufe damit, dass der WebRTC-Client 12, der auf der Computereinrichtung 14 ausgeführt wird, eine Drag-and-Drop-Benutzereingabegeste 126 empfängt (Block 130). Die Benutzereingabegeste 126 gibt an, dass eine oder mehrere visuelle Darstellungen 128, die einem oder mehreren WebRTC-Benutzernentsprechen, aus einer Instanz einer Anwendung 124 gezogen und in einer vorhandenen interaktiven WebRTC-Sitzung 120 einer Instanz 122 des WebRTC-Clients 12 abgelegt werden.
  • Der WebRTC-Client 12 bestimmt einen Kontext 50, der angibt, dass die Instanz 122 des WebRTC-Clients 12 an der vorhandenen interaktiven WebRTC-Sitzung 120 teilnimmt und dass die Instanz der Anwendung 124 nicht an einer interaktiven WebRTC-Sitzung teilnimmt (Block 132). Der WebRTC-Client 12 bezieht ein oder mehrere Identitätsattribute 52, die mit dem einen oder den mehreren WebRTC-Benutzern assoziiert sind (Block 134). Der WebRTC-Client 12 stellt basierend auf dem Kontext 50, der Benutzereingabegeste 126 und dem einen oder den mehreren Identitätsattributen 52 dann einen oder mehrere interaktive WebRTC-Flüsse 42 zwischen dem einen oder den mehreren WebRTC-Benutzern und einem oder mehreren Teilnehmern der interaktiven WebRTC-Sitzung 120 her (Block 136).
  • Die 9A und 9B sind Schemata, die veranschaulichen, wie ein Benutzer zu einer neuen interaktiven WebRTC-Sitzung in einer Instanz 138 des WebRTC-Clients 12 von 1 mittels einer visuellen Darstellung eines Benutzers, die mit einer Anwendung 140 assoziiert ist, die nicht an einem aktiven WebRTC-Austausch teilnimmt, hinzugefügt wird (etwa einer nicht WebRTC-fähigen Anwendung oder Webseite oder einer Anwendung, die Benachrichtigungen über eingehende Anforderungen von WebRTC-Echtzeitkommunikationen bereitstellt, wobei es sich um nicht ausschließliche Beispiele handelt). 9A veranschaulicht den Anfangszustand der Anwendung 140 und der Instanz 138 des WebRTC-Clients 12, während 9B das Ergebnis einer Drag-and-Drop-Benutzereingabegeste 142 veranschaulicht. In den 9A und 9B wird die Instanz 138 der Klarheit halber als separates Fenster gezeigt. Es versteht sich jedoch, dass einige Ausführungsformen vorsehen können, dass die Instanz 138 eine Browserregisterkarte oder eine andere Benutzeroberflächenkonfiguration umfassen kann.
  • In 9A zeigt die Anwendung 140 eine visuelle Darstellung 144(1) des Benutzers Charlie und eine visuelle Darstellung 144(2) des Benutzers David an, die je irgendeine Form identifizierender Informationen für den entsprechenden Benutzer angeben. Beispielsweise können die visuellen Darstellungen 144(1) und 144(2) Webseiten-Icons sein, die mit WebRTC-Kontaktinformationen für Charlie bzw. David verknüpft sind, oder können Textzeichenfolgen wie E-Mail-Adressen sein, wobei es sich um nicht ausschließliche Beispiele handelt. Die Instanz 138 des WebRTC-Clients 12 zeigt keine visuellen Darstellungen von Benutzern an, wodurch angegeben wird, dass gerade keine interaktive WebRTC-Sitzung stattfindet.
  • Im Beispiel von 9A empfängt der WebRTC-Client 12 die Drag-and-Drop-Benutzereingabegeste 142, die an die visuelle Darstellung 144(2) des Benutzers David gerichtet ist. In einigen Ausführungsformen umfasst die Benutzereingabegeste 142 möglicherweise eine Drag-and-Drop-Geste, die durch Klicken mit einer Maus oder einer anderen Zeigeeinrichtung auf die visuelle Darstellung 144(2) oder durch Berühren der visuellen Darstellung 144(2) auf einem Berührungsbildschirm initiiert wird, wobei es sich um nicht ausschließliche Beispiele handelt. Die visuelle Darstellung 144(2) des Benutzers David wird dann aus der Anwendung 140 gezogen und auf der Instanz 138 des WebRTC-Clients 12 abgelegt.
  • Der WebRTC-Client 12 bestimmt dann einen momentanen Kontext 50, der eine Kenntnis des momentanen Zustands und der momentanen Aktivitäten der Instanz 138 beinhaltet. Der WebRTC-Client 12 bezieht auch Identitätsattribute 52, die mit der visuellen Darstellung 144(2) assoziiert sind. Die Identitätsattribute 52 beinhalten zum Beispiel möglicherweise von der Anwendung 140 bereitgestellte Identitätsinformationen, die vom WebRTC-Client 12 beim Herstellen einer interaktiven WebRTC-Sitzung genutzt werden können.
  • Der WebRTC-Client 12 erstellt basierend auf der Benutzereingabegeste 142, dem Kontext 50 und den Identitätsattributen 52 eine neue interaktive WebRTC-Sitzung 146 in der Instanz 138 des WebRTC-Clients 12. In einigen Ausführungsformen lässt sich dies bewerkstelligen, indem der WebRTC-Client 12 einen oder mehrere interaktive WebRTC-Flüsse 42 zwischen dem Benutzer David und dem Benutzer des WebRTC-Clients 12 (in diesem Beispiel der Benutzerin Alice) herstellt. Wie in 9B abgebildet, werden eine visuelle Darstellung 144(3) der Benutzerin Alice und eine visuelle Darstellung 144(4) des Benutzers David zur Instanz 138 des WebRTC-Clients 12 hinzugefügt, wodurch angegeben wird, dass der Benutzer David jetzt mit der Benutzerin Alice an der neuen interaktiven WebRTC-Sitzung 146 teilnimmt.
  • 10 ist ein Ablaufschaubild, das beispielhafte Abläufe zum Hinzufügen eines Benutzers zu einer neuen interaktiven WebRTC-Sitzung in einer Instanz des WebRTC-Clients von 1 mittels einer visuellen Darstellung eines Benutzers, die mit einer Anwendung assoziiert ist, die nicht an einem WebRTC-Austausch teilnimmt, veranschaulicht, wie hinsichtlich der 9A und 9B oben erörtert. Der Klarheit halber wird beim Beschreiben von 10 auf Elemente der 1 und 9A9B Bezug genommen. In 10 beginnen die Abläufe damit, dass der WebRTC-Client 12, der auf der Computereinrichtung 14 ausgeführt wird, eine Drag-and-Drop-Benutzereingabegeste 142 empfängt (Block 148). Die Benutzereingabegeste 142 gibt an, dass eine oder mehrere visuelle Darstellungen 144, die einem oder mehreren WebRTC-Benutzernentsprechen, aus einer Instanz einer Anwendung 140 gezogen und in einer Instanz 138 des WebRTC-Clients 12 abgelegt werden.
  • Der WebRTC-Client 12 bestimmt einen Kontext 50, der angibt, dass die Instanz 138 des WebRTC-Clients 12 nicht an einer interaktiven WebRTC-Sitzung teilnimmt und dass die Instanz der Anwendung 140 nicht an einer interaktiven WebRTC-Sitzung teilnimmt (Block 150). Der WebRTC-Client 12 bezieht ein oder mehrere Identitätsattribute 52, die mit dem einen oder den mehreren WebRTC-Benutzern assoziiert sind (Block 152). Der WebRTC-Client 12 stellt basierend auf dem Kontext 50, der Benutzereingabegeste 142 und dem einen oder den mehreren Identitätsattributen 52 dann einen oder mehrere neue interaktive WebRTC-Flüsse 42 zwischen dem einen oder den mehreren WebRTC-Benutzern und der Instanz 138 des WebRTC-Clients 12 her (Block 154).
  • 11 stellt eine Blockschemadarstellung eines Verarbeitungssystems 156 in der beispielhaften Form eines beispielhaften Computersystems 158 bereit, das angepasst ist, um Befehle zum Durchführen der hierin beschriebenen Funktionen auszuführen. In einigen Ausführungsformen führt das Verarbeitungssystem 156 möglicherweise Befehle zum Durchführen der Funktionen des WebRTC-Clients 12 von 1 aus. In diesem Zusammenhang kann das Verarbeitungssystem 156 das Computersystem 158 umfassen, innerhalb dessen ein Satz von Befehlen zum Bewirken, dass das Verarbeitungssystem 156 eine beliebige oder beliebige mehrere der hierin erörterten Methodiken durchführt, ausgeführt werden kann. Das Verarbeitungssystem 156 ist möglicherweise mit anderen Maschinen in einem Local Area Network (LAN), einem Intranet, einem Extranet oder dem Internet verbunden (etwa vernetzt, wobei es sich um ein nicht ausschließliches Beispiel handelt). Das Verarbeitungssystem 156 wird möglicherweise in einer Client-Server-Netzumgebung oder als gleichrangige Maschine in der Umgebung eines Peer-to-Peer- (oder dezentralen) Netzes betrieben. Auch wenn nur ein einziges Verarbeitungssystem 156 veranschaulicht wird, können die Begriffe „Controller“ und „Server“ auch so aufgefasst werden, dass sie eine beliebige Gruppe von Maschinen beinhalten, die einzeln oder zusammen einen Satz (oder mehrere Sätze) von Befehlen zum Durchführen einer beliebigen oder beliebiger mehrerer der hierin erörterten Methodiken ausführen. Das Verarbeitungssystem 156 ist möglicherweise ein Server, ein Personal Computer, ein Desktopcomputer, ein Laptopcomputer, ein Personal Digital Assistant (PDA), ein Computerpad, eine mobile Einrichtung oder eine beliebige andere Einrichtung und kann, wobei es sich um nicht ausschließliche Beispiele handelt, einen Server oder den Computer eines Benutzers darstellen.
  • Das beispielhafte Computersystem 158 beinhaltet eine Verarbeitungseinrichtung oder einen Prozessor 160, einen Hauptspeicher 162 (als nicht ausschließliche Beispiele ein Read Only Memory (ROM), einen Flashspeicher, einen dynamischen Schreib-Lese-Speicher (DRAM) wie ein synchrones DRAM (SDRAM) etc.) und einen statischen Speicher 164 (als nicht ausschließliche Beispiele einen Flashspeicher, einen statischen Schreib-Lese-Speicher (SRAM) etc.), die möglicherweise über einen Bus 166 miteinander kommunizieren. Alternativ kann die Verarbeitungseinrichtung 160 direkt oder über irgendein anderes Konnektivitätsmittel mit dem Hauptspeicher 162 und/oder dem statischen Speicher 164 verbunden sein.
  • Die Verarbeitungseinrichtung 160 stellt eine oder mehrere Verarbeitungseinrichtungen wie einen Mikroprozessor, eine zentrale Verarbeitungseinheit (CPU) oder dergleichen dar. Insbesondere ist die Verarbeitungseinrichtung 160 möglicherweise ein Mikroprozessor für Rechenvorgänge mit komplexem Befehlssatz (CISC), ein Mikroprozessor für Rechenvorgänge mit reduziertem Befehlssatz (RISC), ein Mikroprozessor für überlange Befehlswörter (VLIW), ein Prozessor, der andere Befehlssätze implementiert, oder beseht möglicherweise aus Prozessoren, die eine Kombination von Befehlssätzen implementieren. Die Verarbeitungseinrichtung 160 ist konfiguriert, um Verarbeitungslogik in Befehlen 168 und/oder gecachten Befehlen 170 zum Durchführen der hierin erörterten Abläufe und Schritte auszuführen.
  • Das Computersystem 158 kann weiter eine Kommunikationsschnittstelle in Form einer Netzschnittstelleneinrichtung 172 beinhalten. Es kann auch einen Eingang 174 zum Empfangen von Eingaben und Auswahloptionen, die bei der Ausführung der Befehle 168, 170 an das Computersystem 158 zu kommunizieren sind, beinhalten oder nicht. Es kann auch einen Ausgang 176, der unter anderem (eine) Anzeige(n) 178 beinhaltet, beinhalten oder nicht. Die Anzeige(n) 178 ist/sind möglicherweise eine Videoanzeigeeinheit (als nicht ausschließliche Beispiele eine Flüssigkristallanzeige (LCD) oder eine Katodenstrahlröhre (CRT)), eine Einrichtung für alphanumerische Eingaben (als nicht ausschließliches Beispiel eine Tastatur), eine Cursorsteuereinrichtung (als nicht ausschließliches Beispiel eine Maus) und/oder eine Berührungsbildschirmeinrichtung (als nicht ausschließliches Beispiel eine Tablet-Eingabeeinrichtung oder ein Bildschirm).
  • Das Computersystem 158 beinhaltet möglicherweise eine oder auch keine Datenspeichereinrichtung 180, welche die Nutzung eines Laufwerks/von Laufwerken 182 beinhaltet, um die hierin beschriebenen Funktionen in einem computerlesbaren Medium 184 zu speichern, auf dem ein oder mehrere Sätze von Befehlen 186 (z. B. Software) gespeichert sind, die eine beliebige oder beliebige mehrere der hierin beschriebenen Methodiken oder Funktionen ausbilden. Die Funktionen können die Verfahren und/oder andere Funktionen des Verarbeitungssystems 156, eine Teilnehmerbenutzereinrichtung und/oder einen Lizenzierungsserver beinhalten, wobei es sich um nicht ausschließliche Beispiele handelt. Der eine oder die mehreren Sätze von Befehlen 186 können während ihrer Ausführung durch das Computersystem 158 auch vollständig oder mindestens teilweise innerhalb des Hauptspeichers 162 und/oder innerhalb der Verarbeitungseinrichtung 160 liegen. Der Hauptspeicher 162 und die Verarbeitungseinrichtung 160 bilden ebenfalls für Maschinen zugängliche Speichermedien. Die Befehle 168, 170 und/oder 186 können weiter über ein Netz 188 über die Netzschnittstelleneinrichtung 172 gesendet oder empfangen werden. Das Netz 188 kann ein Intra-Netz oder ein Inter-Netz sein.
  • Wenngleich das computerlesbare Medium 184 in einer beispielhaften Ausführungsform als einziges Medium gezeigt ist, ist der Begriff „für Maschinen zugängliches Speichermedium“ so aufzufassen, dass er ein einziges Medium oder mehrere Medien beinhaltet (als nicht ausschließliche Beispiele eine zentrale oder eine verteilte Datenbank und/oder assoziierte Cache-Speicher und Server), die den einen oder die mehreren Sätze von Befehlen 186 speichern. Der Begriff „für Maschinen zugängliches Speichermedium“ ist auch so aufzufassen, dass er beliebige Medien beinhaltet, die fähig sind, einen Satz von Befehlen zur Ausführung durch die Maschine zu speichern, zu codieren oder zu übertragen, und die bewirken, dass die Maschine eine beliebige oder beliebige mehrere der hierin offenbarten Methodiken durchführt. Der Begriff „für Maschinen zugängliches Speichermedium“ ist dementsprechend so aufzufassen, dass er Halbleiterspeicher, optische und magnetische Medien und Trägerwellensignale beinhaltet, jedoch nicht darauf beschränkt ist.
  • Die hierin offenbarten Ausführungsformen können in Hardware und in Befehlen, die in Hardware gespeichert sind, ausgebildet sein und liegen möglicherweise, wobei es sich um nicht ausschließliche Beispiele handelt, in einem Random Access Memory (RAM), einem Flashspeicher, einem Read Only Memory (ROM), einem Electrically Programmable ROM (EPROM), einem Electrically Erasable Programmable ROM (EEPROM), in Registern, auf einer Festplatte, einer Wechselfestplatte, einer CD-ROM oder einem computerlesbaren Medium in irgendeiner anderen aus dem Stand der Technik bekannten Form. Ein beispielhaftes Speichermedium ist derart an den Prozessor gekoppelt, dass der Prozessor Informationen aus dem Speichermedium lesen und das Speichermedium mit Informationen beschreiben kann. Alternativ kann das Speichermedium fest in den Prozessor integriert sein. Der Prozessor und das Speichermedium können sich in einer anwendungsspezifischen integrierten Schaltung (ASIC) befinden. Die ASIC kann sich in einem entfernten Endgerät befinden. Alternativ können sich der Prozessor und das Speichermedium als diskrete Komponenten in einem entfernten Endgerät, in einer Basisstation oder auf einem Server befinden.
  • Es wird auch angemerkt, dass die hierin in beliebigen der beispielhaften Ausführungsformen beschriebenen Ablaufschritte beschrieben werden, um Beispiele bereitzustellen und eine Erörterung zu ermöglichen. Die beschriebenen Abläufe sind auch in zahlreichen anderen und nicht nur in den veranschaulichten Reihenfolgen durchführbar. Des Weiteren sind Abläufe, die als einziger Ablaufschritt beschrieben werden, in der Praxis auch in etlichen unterschiedlichen Schritten durchführbar. Zusätzlich sind ein oder mehrere in den beispielhaften Ausführungsformen erörterte Ablaufschritte kombinierbar. Es versteht sich, dass die in den Ablaufschaubildern veranschaulichten Ablaufschritte auf zahlreiche unterschiedliche Arten modifiziert werden können, wie sich für den Fachmann ohne Weiteres ergeben wird. Es verstünde sich für den Fachmann auch, dass Informationen und Signale mittels beliebiger einer Vielzahl unterschiedlicher Technologien und Techniken dargestellt werden können. Um nicht ausschließliche Beispiele zu nennen, können Daten, Befehle, Kommandos, Informationen, Signale, Bits, Symbole und Chips, auf die in der obigen Beschreibung möglicherweise Bezug genommen wird, durch Spannungen, Ströme, elektromagnetische Wellen, Magnetfelder oder -partikel, optische Felder oder Partikel oder beliebige Kombinationen davon dargestellt sein.
  • Die vorangehende Beschreibung der Offenbarung wird bereitgestellt, um den Fachmann zu einer Anfertigung gemäß der Offenbarung oder zu ihrer Nutzung zu befähigen. Verschiedene Modifikationen der Offenbarung werden sich für den Fachmann ohne Weiteres ergeben, und die allgemeinen Prinzipien, die hierin definiert werden, können auf andere Variationen angewendet werden, ohne vom Gedanken oder vom Schutzbereich der Offenbarung abzuweichen. Mithin soll die Offenbarung nicht auf die hierin beschriebenen Beispiele und Gestaltungen beschränkt sein, sondern ihr soll der weitestmögliche Schutzbereich zukommen, der mit den Prinzipien und den Neuheitsmerkmalen, die hierin offenbart werden, vereinbar ist.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • http://www.w3c.org und http://www.ietf.org [0003]

Claims (10)

  1. System zum intelligenten Verwalten interaktiver Web-Real-Time-Communications(WebRTC)-Flüsse, das Folgendes umfasst: mindestens eine Kommunikationsschnittstelle; eine Computereinrichtung, die mit der mindestens einen Kommunikationsschnittstelle assoziiert ist, wobei die Computereinrichtung einen WebRTC-Client umfasst, der konfiguriert ist, um: eine Benutzereingabegeste, die an eine oder mehrere visuelle Darstellungen, die einem oder mehreren WebRTC-Benutzern entsprechen, gerichtet ist, zu empfangen; einen Kontext für den WebRTC-Client basierend auf einem momentanen Zustand des WebRTC-Clients zu bestimmen; ein oder mehrere Identitätsattribute, die mit dem einen oder den mehreren WebRTC-Benutzern assoziiert sind, zu beziehen; und einen oder mehrere interaktive WebRTC-Flüsse, die den einen oder die mehreren WebRTC-Benutzer beinhalten, basierend auf dem Kontext, der Benutzereingabegeste und dem einen oder den mehreren Identitätsattributen, bereitzustellen.
  2. System nach Anspruch 1, wobei der WebRTC-Client konfiguriert ist, um die Benutzereingabegeste zu empfangen, indem er eine Drag-and-Drop-Geste empfängt, die angibt, dass die eine oder die mehreren visuellen Darstellungen, die dem einen oder den mehreren WebRTC-Benutzern entsprechen, aus einer ersten interaktiven WebRTC-Sitzung einer ersten Instanz des WebRTC-Clients gezogen und in einer zweiten interaktiven WebRTC-Sitzung einer zweiten Instanz des WebRTC-Clients abgelegt werden; wobei der WebRTC-Client konfiguriert ist, um den Kontext für den WebRTC-Client zu bestimmen, indem er bestimmt, dass die erste Instanz des WebRTC-Clients an der ersten interaktiven WebRTC-Sitzung teilnimmt und die zweite Instanz des WebRTC-Clients an der zweiten interaktiven WebRTC-Sitzung teilnimmt; und wobei der WebRTC-Client konfiguriert ist, um den einen oder die mehreren interaktiven WebRTC-Flüsse, die den einen oder die mehreren WebRTC-Benutzer beinhalten, bereitzustellen, indem er den einen oder die mehreren interaktiven WebRTC-Flüsse zwischen dem einen oder den mehreren WebRTC-Benutzern und einem oder mehreren Teilnehmern der zweiten interaktiven WebRTC-Sitzung herstellt.
  3. System nach Anspruch 2, wobei der WebRTC-Client weiter konfiguriert ist, um: antwortend darauf, dass die erste Instanz des WebRTC-Clients oder die zweite Instanz des WebRTC-Clients als aktive Instanz festgelegt ist, einen Inhalt von mindestens einem des einen oder der mehreren interaktiven WebRTC-Flüsse, der mit der aktiven Instanz assoziiert ist, bereitzustellen; und antwortend darauf, dass die erste Instanz des WebRTC-Clients oder die zweite Instanz des WebRTC-Clients als inaktive Instanz festgelegt ist, einen Inhalt von mindestens einem des einen oder der mehreren interaktiven WebRTC-Flüsse, der mit der inaktiven Instanz assoziiert ist, zu unterdrücken.
  4. System nach Anspruch 2, wobei der WebRTC-Client weiter konfiguriert ist, um die eine oder die mehreren visuellen Darstellungen, die dem einen oder den mehreren WebRTC-Benutzern bei der interaktiven WebRTC-Sitzung der ersten Instanz des WebRTC-Clientsentsprechen, zu modifizieren, um anzugeben, dass der eine oder die mehreren WebRTC-Benutzer bei der interaktiven WebRTC-Sitzung der ersten Instanz des WebRTC-Clients nicht aktiv sind.
  5. System nach Anspruch 1, wobei der WebRTC-Client konfiguriert ist, um die Benutzereingabegeste zu empfangen, indem er eine Drag-and-Drop-Geste empfängt, die angibt, dass die eine oder die mehreren visuellen Darstellungen, die dem einen oder den mehreren WebRTC-Benutzernentsprechen, aus einer interaktiven WebRTC-Sitzung einer ersten Instanz des WebRTC-Clients gezogen und in einer zweiten Instanz des WebRTC-Clients abgelegt werden; wobei der WebRTC-Client konfiguriert ist, um den Kontext für den WebRTC-Client zu bestimmen, indem er bestimmt, dass die erste Instanz des WebRTC-Clients an der interaktiven WebRTC-Sitzung teilnimmt und die zweite Instanz des WebRTC-Clients nicht an der interaktiven WebRTC-Sitzung teilnimmt; und wobei der WebRTC-Client konfiguriert ist, um den einen oder die mehreren interaktiven WebRTC-Flüsse, die den einen oder die mehreren WebRTC-Benutzer beinhalten, bereitzustellen, indem er den einen oder die mehreren interaktiven WebRTC-Flüsse zwischen dem einen oder den mehreren WebRTC-Benutzern und der zweiten Instanz des WebRTC-Clients herstellt.
  6. System nach Anspruch 5, wobei der WebRTC-Client weiter konfiguriert ist, um: antwortend darauf, dass die erste Instanz des WebRTC-Clients oder die zweite Instanz des WebRTC-Clients als aktive Instanz festgelegt ist, einen Inhalt von mindestens einem des einen oder der mehreren interaktiven WebRTC-Flüsse, der mit der aktiven Instanz assoziiert ist, bereitzustellen; und antwortend darauf, dass die erste Instanz des WebRTC-Clients oder die zweite Instanz des WebRTC-Clients als inaktive Instanz festgelegt ist, einen Inhalt von mindestens einem des einen oder der mehreren interaktiven WebRTC-Flüsse, der mit der inaktiven Instanz assoziiert ist, zu unterdrücken.
  7. System nach Anspruch 5, wobei der WebRTC-Client weiter konfiguriert ist, um die eine oder die mehreren visuellen Darstellungen, die dem einen oder den mehreren WebRTC-Benutzern bei der interaktiven WebRTC-Sitzung der ersten Instanz des WebRTC-Clientsentsprechen, zu modifizieren, um anzugeben, dass der eine oder die mehreren WebRTC-Benutzer an einer zweiten interaktiven WebRTC-Sitzung der zweiten Instanz des WebRTC-Clients teilnehmen.
  8. System nach Anspruch 1, wobei der WebRTC-Client konfiguriert ist, um die Benutzereingabegeste zu empfangen, indem er eine Drag-and-Drop-Geste empfängt, die angibt, dass die eine oder die mehreren visuellen Darstellungen, die dem einen oder den mehreren WebRTC-Benutzernentsprechen, aus einer Instanz einer Anwendung gezogen und in einer interaktiven WebRTC-Sitzung einer Instanz des WebRTC-Clients abgelegt werden; wobei der WebRTC-Client konfiguriert ist, um den Kontext für den WebRTC-Client zu bestimmen, indem er bestimmt, dass die Instanz des WebRTC-Clients an der interaktiven WebRTC-Sitzung teilnimmt und die Instanz der Anwendung nicht an einer aktiven interaktiven WebRTC-Sitzung teilnimmt; und wobei der WebRTC-Client konfiguriert ist, um den einen oder die mehreren interaktiven WebRTC-Flüsse, die den einen oder die mehreren WebRTC-Benutzer beinhalten, bereitzustellen, indem er einen oder mehrere neue interaktive WebRTC-Flüsse zwischen dem einen oder den mehreren WebRTC-Benutzern und einem oder mehreren Teilnehmern der interaktiven WebRTC-Sitzung herstellt.
  9. System nach Anspruch 1, wobei der WebRTC-Client konfiguriert ist, um die Benutzereingabegeste zu empfangen, indem er eine Drag-and-Drop-Geste empfängt, die angibt, dass die eine oder die mehreren visuellen Darstellungen, die dem einen oder den mehreren WebRTC-Benutzernentsprechen, aus einer Instanz einer Anwendung gezogen und in einer Instanz des WebRTC-Clients abgelegt werden; wobei der WebRTC-Client konfiguriert ist, um den Kontext für den WebRTC-Client zu bestimmen, indem er bestimmt, dass die Instanz des WebRTC-Clients nicht an einer interaktiven WebRTC-Sitzung teilnimmt und die Instanz der Anwendung nicht an einer aktiven interaktiven WebRTC-Sitzung teilnimmt; und wobei der WebRTC-Client konfiguriert ist, um den einen oder die mehreren interaktiven WebRTC-Flüsse, die den einen oder die mehreren WebRTC-Benutzer beinhalten, bereitzustellen, indem er einen oder mehrere neue interaktive WebRTC-Flüsse zwischen dem einen oder den mehreren WebRTC-Benutzern und der Instanz des WebRTC-Clients herstellt.
  10. Verfahren zum intelligenten Verwalten interaktiver Web-Real-Time-Communications(WebRTC)-Flüsse, das Folgendes umfasst: Empfangen einer Benutzereingabegeste, die an eine oder mehrere visuelle Darstellungen, die einem oder mehreren WebRTC-Benutzernentsprechen, gerichtet ist, durch einen auf einer Computereinrichtung ausgeführten WebRTC-Client; Bestimmen eines Kontextes für den WebRTC-Client basierend auf einem momentanen Zustand des WebRTC-Clients durch den WebRTC-Client; Beziehen eines oder mehrerer Identitätsattribute, die mit dem einen oder den mehreren WebRTC-Benutzern assoziiert sind; und Bereitstellen eines oder mehrerer interaktiver WebRTC-Flüsse, die den einen oder die mehreren WebRTC-Benutzer beinhalten, basierend auf dem Kontext, der Benutzereingabegeste und dem einen oder den mehreren Identitätsattributen.
DE201410115893 2013-10-31 2014-10-31 Bereitstellen einer intelligenten Verwaltung für interaktive Web-Real-Time-Communications(WebRTC)-Flüsse und verwandte Verfahren, Systeme und computerlesbare Medien Withdrawn DE102014115893A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/068,943 US20150121250A1 (en) 2013-10-31 2013-10-31 PROVIDING INTELLIGENT MANAGEMENT FOR WEB REAL-TIME COMMUNICATIONS (WebRTC) INTERACTIVE FLOWS, AND RELATED METHODS, SYSTEMS, AND COMPUTER-READABLE MEDIA
US14/068,943 2013-10-31

Publications (1)

Publication Number Publication Date
DE102014115893A1 true DE102014115893A1 (de) 2015-04-30

Family

ID=52118442

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201410115893 Withdrawn DE102014115893A1 (de) 2013-10-31 2014-10-31 Bereitstellen einer intelligenten Verwaltung für interaktive Web-Real-Time-Communications(WebRTC)-Flüsse und verwandte Verfahren, Systeme und computerlesbare Medien

Country Status (4)

Country Link
US (1) US20150121250A1 (de)
CN (1) CN104601650A (de)
DE (1) DE102014115893A1 (de)
GB (1) GB2521742A (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405587B1 (en) 2013-06-26 2022-08-02 Touchcast LLC System and method for interactive video conferencing
US11659138B1 (en) 2013-06-26 2023-05-23 Touchcast, Inc. System and method for interactive video conferencing
US10356363B2 (en) 2013-06-26 2019-07-16 Touchcast LLC System and method for interactive video conferencing
CN104683402B (zh) * 2013-11-29 2019-01-08 华为终端(东莞)有限公司 通信方法和用户设备
US9883032B2 (en) * 2014-08-04 2018-01-30 Avaya Inc. System and method for guiding agents in an enterprise
WO2017035368A1 (en) * 2015-08-25 2017-03-02 Touchcast LLC System and method for interactive video conferencing
US10353473B2 (en) 2015-11-19 2019-07-16 International Business Machines Corporation Client device motion control via a video feed
US10860347B1 (en) 2016-06-27 2020-12-08 Amazon Technologies, Inc. Virtual machine with multiple content processes
US10771944B2 (en) 2017-05-09 2020-09-08 At&T Intellectual Property I, L.P. Method and system for multipoint access within a mobile network
FI20185419A1 (en) 2018-05-08 2019-11-09 Telia Co Ab communication Management
EP3984190B1 (de) * 2019-06-12 2022-12-14 Koninklijke Philips N.V. Dynamische modifizierung der funktionalität einer echtzeitkommunikationssitzung
WO2023178497A1 (en) * 2022-03-22 2023-09-28 Ringcentral, Inc. Systems and methods for handling calls in multiple browser tabs

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5533110A (en) * 1994-11-29 1996-07-02 Mitel Corporation Human machine interface for telephone feature invocation
US9009603B2 (en) * 2007-10-24 2015-04-14 Social Communications Company Web browser interface for spatial communication environments
JP5620134B2 (ja) * 2009-03-30 2014-11-05 アバイア インク. グラフィカル表示を用いて通信セッションの信頼関係を管理するシステムと方法。
US8645872B2 (en) * 2010-11-30 2014-02-04 Verizon Patent And Licensing Inc. User interfaces for facilitating merging and splitting of communication sessions
EP3734406A1 (de) * 2011-02-10 2020-11-04 Samsung Electronics Co., Ltd. Tragbare vorrichtung mit einer berührungsbildschirmanzeige und verfahren zur steuerung davon
US20130002799A1 (en) * 2011-06-28 2013-01-03 Mock Wayne E Controlling a Videoconference Based on Context of Touch-Based Gestures
US20130078972A1 (en) * 2011-09-28 2013-03-28 Royce A. Levien Network handling of multi-party multi-modality communication
CN103309673B (zh) * 2013-06-24 2017-03-01 小米科技有限责任公司 一种基于手势的会话处理方法、装置
US9525718B2 (en) * 2013-06-30 2016-12-20 Avaya Inc. Back-to-back virtual web real-time communications (WebRTC) agents, and related methods, systems, and computer-readable media
US10089633B2 (en) * 2013-08-13 2018-10-02 Amazon Technologies, Inc. Remote support of computing devices
CN104427296B (zh) * 2013-09-05 2019-03-01 华为终端(东莞)有限公司 视频会议中媒体流的传输方法与装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
http://www.w3c.org und http://www.ietf.org

Also Published As

Publication number Publication date
CN104601650A (zh) 2015-05-06
US20150121250A1 (en) 2015-04-30
GB2521742A (en) 2015-07-01
GB201419334D0 (en) 2014-12-17

Similar Documents

Publication Publication Date Title
DE102014115893A1 (de) Bereitstellen einer intelligenten Verwaltung für interaktive Web-Real-Time-Communications(WebRTC)-Flüsse und verwandte Verfahren, Systeme und computerlesbare Medien
DE102014103209A1 (de) Ausgleichen sensorischer benutzerbeeinträchtigungen bei interaktiven web-real-time-communications(webrtc)-sitzungen und verwandte verfahren, systeme und computerlesbare medien
DE102015104897B4 (de) Verbessern von Medieneigenschaften während interaktiver Web-Real-Time-Communications(WebRTC)-Sitzungen durch Nutzung von Session-Initiation-Protocol(SIP)-Endpunkten und verwandte Verfahren, Systeme und computerlesbare Medien
DE102014108903B4 (de) Skalierbare Web-Real-Time-Communications(WebRTC)-Medienengines und verwandte Verfahren, Systeme und computerlesbare Medien
DE102014108888B4 (de) Virtuelle Back-to-Back-Web-Real-Time-Communications(WebRTC)-Agenten und verwandte Verfahren, Systeme und computerlesbare Medien
US10229099B2 (en) Shared and private annotation of content from a collaboration session
US10454979B2 (en) Methods and systems for collaborative remote application sharing and conferencing
DE102014107943B4 (de) Bandbreiteneffiziente Archivierung interaktiver Echtzeitflüsse und verwandte Verfahren, Systeme und computerlesbare Medien
US8890929B2 (en) Defining active zones in a traditional multi-party video conference and associating metadata with each zone
US10320863B2 (en) Context-based analytics for collaboration tools
DE102014108904A1 (de) Virtuelle Web-Real-Time-Communications(WebRTC)-Gateways und verwandte Verfahren, Systeme und computerlesbare Medien
DE202017105691U1 (de) Intelligente Assistenz für wiederholte Aktionen
DE102014214641A1 (de) Informationsverarbeitungsvorrichtung, Verfahren zur Steuerung der Vorrichtung und Speichermedium
EP2685715A1 (de) Verfahren und vorrichtung zur verwaltung von videoressourcen in einer videokonferenz
CN109901938B (zh) 基于WebSocket通信的可交互大屏系统及可视化展示方法
DE102006012976A1 (de) Systeme und Verfahren zur Überführung von Daten zwischen Rechnern
WO2020119540A1 (zh) 用于生成群聊头像的方法和设备
DE102011114277B4 (de) Globaler Konferenzplan für verteilte Brücken
DE112016000587T5 (de) Interoperabilität von entdeckungs- und verbindungsprotokollen zwischen clientvorrichtungen und ersten bildschirmvorrichtungen
CN110442334B (zh) 一种多人协同图形组态方法、电子设备和服务器
DE102014115895A1 (de) Bereitstellen eines Ursprungseinblicks für Webanwendungen über Session-Traversal-Utilities-for-Network-Address-Translation(STUN)-Nachrichten und verwandte Verfahren, Systeme und computerlesbare Medien
DE102012107809A1 (de) Browsen zwischen mobilen und nicht-mobilen Webseiten
DE102014007023A1 (de) Bildeffektextraktion
DE102015100518B4 (de) Verbessern des Datenschutzes durch Verschleiern von Turn-Verbindungen (traversal using relays around network address translator) und damit verwandte Verfahren, Systeme und computerlesbare Medien
CN104657045B (zh) 智能终端的资源显示控制方法、资源控制方法及装置

Legal Events

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