DE102014107943A1 - Bandbreiteneffiziente Archivierung interaktiver Echtzeitflüsse und verwandte Verfahren, Systeme und computerlesbare Medien - Google Patents

Bandbreiteneffiziente Archivierung interaktiver Echtzeitflüsse und verwandte Verfahren, Systeme und computerlesbare Medien Download PDF

Info

Publication number
DE102014107943A1
DE102014107943A1 DE102014107943.4A DE102014107943A DE102014107943A1 DE 102014107943 A1 DE102014107943 A1 DE 102014107943A1 DE 102014107943 A DE102014107943 A DE 102014107943A DE 102014107943 A1 DE102014107943 A1 DE 102014107943A1
Authority
DE
Germany
Prior art keywords
real
archival
time
flow
interactive
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.)
Granted
Application number
DE102014107943.4A
Other languages
English (en)
Other versions
DE102014107943B4 (de
Inventor
John H. Yoakum
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 DE102014107943A1 publication Critical patent/DE102014107943A1/de
Application granted granted Critical
Publication of DE102014107943B4 publication Critical patent/DE102014107943B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Hierin wird eine bandbreiteneffiziente Archivierung interaktiver Echtzeitflüsse offenbart. Verwandte Verfahren, Systeme und computerlesbare Medien werden ebenfalls offenbart. In diesem Zusammenhang ist in einer Ausführungsform ein Verfahren zum Archivieren eines interaktiven Echtzeitflusses bereitgestellt. Das Verfahren umfasst Empfangen eines interaktiven Echtzeitflusses durch eine Computereinrichtung und Erzeugen einer Gabelung des interaktiven Echtzeitflusses an der Computereinrichtung als Archivierungsstream. Das Verfahren umfasst auch Streamen des Archivierungsstreams von der Computereinrichtung an ein Archivierungsrepository bei einer einstellbaren Streamingrate. Das Verfahren umfasst zusätzlich Messen einer Änderung eines Verhaltenskennwerts des interaktiven Echtzeitflusses und Modifizieren der einstellbaren Streamingrate basierend auf der Änderung des Verhaltenskennwerts des interaktiven Echtzeitflusses. Auf diese Weise kann ein interaktiver Echtzeitfluss bandbreitenempfindlich dupliziert werden, während ein Archiv des interaktiven Echtzeitflusses von hoher Qualität erfasst wird.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Gebiet der Offenbarung
  • Die Technologie der Offenbarung betrifft allgemein die Archivierung interaktiver Echtzeitflüsse.
  • Stand der Technik
  • Verschiedene Netzprotokolle wie das Web-Real-Time-Communications(WebRTC)-Protokoll, das Session Initiation Protocol (SIP) und H.323 stellen Fähigkeiten für die Herstellung interaktiver Echtzeitflüsse über das Internet und/oder ein privates Netz wie ein Unternehmensnetz bereit. Solche interaktiven Echtzeitflüsse beinhalten möglicherweise Echtzeitvideo-, -audio- und/oder -datenstreams, die bei interaktiven Punkt-zu-Punkt-Sitzungen ausgetauscht werden. Endpunkte für die interaktiven Echtzeitflüsse sind zum Beispiel möglicherweise zwei oder mehr Webbrowser und/oder andere speziell entwickelte Anwendungen oder Kommunikationsclients. Auf diese Weise erleichtern interaktive Echtzeitflüsse Kommunikationen und die Zusammenarbeit unter Nutzern, die möglicherweise entfernt voneinander sind.
  • Die Nutzung interaktiver Echtzeitflüsse in einigen Umgebungen erfordert möglicherweise die Aufzeichnung der interaktiven Echtzeitflüsse. Beispielsweise schreiben Unternehmensrichtlinien möglicherweise vor, dass interaktive Echtzeitflüsse, die über ein Unternehmensnetz gesendet werden, zu Sicherheits-, rechtlichen und/oder Archivierungszwecken aufzuzeichnen sind. Die Aufzeichnung der interaktiven Echtzeitflüsse ist in solchen Umgebungen jedoch möglicherweise problematisch. Aufgrund der Topologie einer typischen Sitzung mit interaktiven Echtzeitflüssen ist die Nutzung eines zentralen Medienelements im Netz zwischen den Endpunkten, um den interaktiven Echtzeitfluss aufzuzeichnen, möglicherweise nicht praktikabel oder wünschenswert. Als nicht ausschließliche Beispiele können die interaktiven Echtzeitflüsse direkt von einem Endpunkt zum anderen laufen und somit das zentrale Medienelement umgehen, oder der interaktive Echtzeitfluss kann verschlüsselt und deshalb für das zentrale Medienelement unzugänglich sein. Ferner kann ein Duplizieren oder eine „Gabelung” des interaktiven Echtzeitflusses an einem Endpunkt die Netzbandbreite für den duplizierten interaktiven Echtzeitfluss übermäßig belasten oder kann die Qualität des interaktiven Echtzeitflusses verschlechtern.
  • KURZE DARSTELLUNG DER AUSFÜHRLICHEN BESCHREIBUNG
  • Ausführungsformen, die in der ausführlichen Beschreibung offenbart werden, stellen eine bandbreiteneffiziente Archivierung interaktiver Echtzeitflüsse bereit. Verwandte Verfahren, Systeme und computerlesbare Medien werden ebenfalls offenbart. In diesem Zusammenhang ist in einer Ausführungsform ein Verfahren zum Archivieren eines interaktiven Echtzeitflusses bereitgestellt. Das Verfahren umfasst Empfangen eines interaktiven Echtzeitflusses durch eine Computereinrichtung (z. B. eine speziell entwickelte Kommunikationseinrichtung). Wie hierin genutzt, bezieht sich ein „interaktiver Echtzeitfluss” auf einen interaktiven Medienfluss und/oder einen interaktiven Datenfluss zwischen oder unter zwei oder mehr Endpunkten, welcher einen Echtzeitaudiostream und/oder einen Echtzeitvideostream oder einen anderen Echtzeitmedien- oder -datenstream umfasst. Das Verfahren umfasst weiter Erzeugen einer Gabelung des interaktiven Echtzeitflusses an der Computereinrichtung als Archivierungsstream. Das Verfahren umfasst auch Streamen des Archivierungsstreams von der Computereinrichtung an ein Archivierungsrepository bei einer einstellbaren Streamingrate. Das Verfahren umfasst zusätzlich Messen einer Änderung eines Verhaltenskennwerts des interaktiven Echtzeitflusses. Das Verfahren umfasst weiter Modifizieren der einstellbaren Streamingrate basierend auf der Änderung des Verhaltenskennwerts des interaktiven Echtzeitflusses. Auf diese Weise kann ein interaktiver Echtzeitfluss bandbreitenempfindlich dupliziert werden, während ein Archiv des interaktiven Echtzeitflusses von hoher Qualität erfasst wird.
  • In einer anderen Ausführungsform ist ein System zum Archivieren eines interaktiven Echtzeitflusses bereitgestellt. Das System umfasst mindestens eine Kommunikationsschnittstelle und ein Archivierungsrepository, das mit der mindestens einen Kommunikationsschnittstelle assoziiert ist. Das System umfasst weiter eine Computereinrichtung, die mit der mindestens einen Kommunikationsschnittstelle assoziiert ist und einen Anbieter der Funktionalität interaktiver Flüsse und einen Archivierungsstreamingagenten umfasst. Der Anbieter der Funktionalität interaktiver Flüsse ist konfiguriert, um einen interaktiven Echtzeitfluss zu empfangen und eine Gabelung des interaktiven Echtzeitflusses an den Archivierungsstreamingagenten als Archivierungsstream zu erzeugen. Der Archivierungsstreamingagent ist konfiguriert, um den Archivierungsstream bei einer einstellbaren Streamingrate an das Archivierungsrepository zu streamen. Der Archivierungsstreamingagent ist weiter konfiguriert, um eine Änderung eines Verhaltenskennwerts des interaktiven Echtzeitflusses zu messen. Der Archivierungsstreamingagent ist auch konfiguriert, um die einstellbare Streamingrate basierend auf der Änderung des Verhaltenskennwerts des interaktiven Echtzeitflusses zu modifizieren.
  • In einer anderen Ausführungsform ist ein nicht transientes computerlesbares Medium bereitgestellt. Auf dem nicht transienten computerlesbaren Medium sind computerausführbare Befehle abgelegt, um zubewirken, dass ein Prozessor ein Verfahren implementiert, das Empfangen eines interaktiven Echtzeitflusses durch eine Computereinrichtung umfasst. Das durch die computerausführbaren Befehle implementierte Verfahren umfasst weiter Erzeugen einer Gabelung des interaktiven Echtzeitflusses an der Computereinrichtung als Archivierungsstream. Das durch die computerausführbaren Befehle implementierte Verfahren umfasst auch Streamen des Archivierungsstreams von der Computereinrichtung an ein Archivierungsrepository bei einer einstellbaren Streamingrate. Das durch die computerausführbaren Befehle implementierte Verfahren umfasst zusätzlich Messen einer Änderung eines Verhaltenskennwerts des interaktiven Echtzeitflusses. Das durch die computerausführbaren Befehle implementierte Verfahren umfasst weiter Modifizieren der einstellbaren Streamingrate basierend auf der Änderung des Verhaltenskennwerts des interaktiven Echtzeitflusses.
  • KURZE BESCHREIBUNG DER FIGUREN
  • Die beiliegenden Zeichnungsfiguren, die in diese Patentschrift eingefügt sind und einen Bestandteil von ihr bilden, veranschaulichen diverse Ausgestaltungen der Offenbarung und dienen zusammen mit der Beschreibung dazu, die Prinzipien der Offenbarung zu erläutern.
  • 1 ist ein Konzeptschema, das eine beispielhafte Topologie eines interaktiven Echtzeitflusses zeigt, die eine Computereinrichtung beinhaltet, die einen Archivierungsstreamingagenten umfasst, der konfiguriert ist, um bandbreiteneffizientes Archivieren des interaktiven Echtzeitflusses bereitzustellen;
  • 2 ist ein Konzeptschema, das eine beispielhafte Topologie eines interaktiven Echtzeitflusses über ein Unternehmensnetz zeigt, das einen Archivierungsstreamingagenten beinhaltet;
  • 3 ist ein Konzeptschema, das eine beispielhafte Topologie eines interaktiven Echtzeitflusses zeigt, die eine Medienservercomputereinrichtung beinhaltet, in die ein Archivierungsstreamingagent eingefügt ist;
  • 4 ist ein Flussdiagramm, das beispielhafte Abläufe des Archivierungsstreamingagenten von 1 für bandbreiteneffiziente Archivierung interaktiver Echtzeitflüsse veranschaulicht;
  • die 5A und 5B sind Flussdiagramme, die detailliertere beispielhafte Abläufe für die Archivierung interaktiver Echtzeitflüsse veranschaulichen, die Einstellen einer Streamingrate eines Archivierungsstreams als Reaktion auf Änderungen des Verhaltens interaktiver Flüsse und/oder der Netzbandbreite beinhalten; und
  • 6 ist ein Blockschema eines beispielhaften prozessorbasierten Systems, das den Archivierungsstreamingagenten von 1 beinhalten kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nunmehr werden mit Bezug auf die Zeichnungsfiguren diverse Ausführungsbeispiele 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 bevorzugte oder vorteilhafte Ausführungsform auszulegen.
  • Ausführungsformen, die in der ausführlichen Beschreibung offenbart werden, stellen bandbreiteneffizientes Archivieren interaktiver Echtzeitflüsse bereit. Verwandte Verfahren, Systeme und computerlesbare Medien werden ebenfalls offenbart. In diesem Zusammenhang ist in einer Ausführungsform ein Verfahren zum Archivieren eines interaktiven Echtzeitflusses bereitgestellt. Das Verfahren umfasst Empfangen eines interaktiven Echtzeitflusses durch eine Computereinrichtung. Das Verfahren umfasst weiter Erzeugen einer Gabelung des interaktiven Echtzeitflusses an der Computereinrichtung als Archivierungsstream. Das Verfahren umfasst auch Streamen des Archivierungsstreams von der Computereinrichtung an ein Archivierungsrepository bei einer einstellbaren Streamingrate. Das Verfahren umfasst zusätzlich Messen einer Änderung eines Verhaltenskennwerts des interaktiven Echtzeitflusses. Das Verfahren umfasst weiter Modifizieren der einstellbaren Streamingrate basierend auf der Änderung des Verhaltenskennwerts des interaktiven Echtzeitflusses. Auf diese Weise kann ein interaktiver Echtzeitfluss bandbreitenempfindlich dupliziert werden, während ein Archiv des interaktiven Echtzeitflusses von hoher Qualität erfasst wird.
  • In diesem Zusammenhang sind die 13 bereitgestellt, um beispielhafte Szenarios zu veranschaulichen, in denen ein Archivierungsstreamingagent bandbreitenempfindliches Archivieren interaktiver Echtzeitflüsse bereitstellen kann. 1 zeigt einen beispielhaften interaktiven Fluss zwischen zwei Endpunkten, wobei die bandbreitenempfindliche Archivierung durch einen Archivierungsstreamingagenten an einem Endpunkt bereitgestellt wird. 2 veranschaulicht Archivieren eines interaktiven Flusses, der durch ein Unternehmensnetz läuft. 3 stellt eine Veranschaulichung eines in eine Medienservercomputereinrichtung eingefügten Archivierungsstreamingagenten bereit. Jedes Szenario wird unten noch ausführlicher beschrieben.
  • In 1, auf die nunmehr Bezug genommen wird, stellt ein beispielhaftes interaktives Kommunikationssystem 10, das einen Archivierungsstreamingagenten 12 beinhaltet, bandbreitenempfindliches Archivieren interaktiver Echtzeitflüsse bereit. Der Archivierungsstreamingagent 12 stellt einen Punkt bereit, zu dem ein interaktiver Echtzeitfluss 14 bei einer einstellbaren, bandbreitenempfindlichen Rate an ein Archivierungsrepository 16 gestreamt werden kann, wie unten noch ausführlicher erörtert wird. Wie hierin genutzt, bezieht sich ein „interaktiver Echtzeitfluss” auf einen interaktiven Medienfluss und/oder einen interaktiven Datenfluss zwischen oder unter zwei oder mehr Endpunkten. Ein interaktiver Medienfluss, der einen interaktiven Echtzeitfluss bildet, umfasst möglicherweise einen Echtzeitaudiostream und/oder einen Echtzeitvideostream oder einen anderen Echtzeitmedien- oder -datenstream. Als nicht ausschließliche Beispiele beinhaltet der interaktive Echtzeitfluss möglicherweise einen interaktiven Web-Real-Time-Communications(WebRTC)-Fluss und/oder einen interaktiven Fluss gemäß einem Steuerungsprotokoll wie dem Session Initiation Protocol (SIP) oder H.323.
  • Zu Veranschaulichungszwecken ist der interaktive Echtzeitfluss 14 in 1 als zwischen den Computereinrichtungen 18 und 20 laufend gezeigt. Es versteht sich, dass sich die Computereinrichtungen 18 und 20 beide innerhalb desselben öffentlichen oder privaten Netzes befinden können oder sich innerhalb getrennter, kommunikativ gekoppelter öffentlicher oder privater Netze befinden können. Einige Ausführungsformen des interaktiven Kommunikationssystems 10 von 1 können vorsehen, dass jede der Computereinrichtungen 18 und 20 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 entwickelte Kommunikationseinrichtung, wobei es sich um nicht ausschließliche Beispiele handelt.
  • Die Computereinrichtungen 18 und 20 von 1 umfassen jeweils Clients für interaktive Flüsse, 22 und 24. Jeder der Clients für interaktive Flüsse, 22 und 24, kann eine Webbrowseranwendung, eine dedizierte Kommunikationsanwendung oder eine schnittstellenlose Anwendung wie eine Daemon- oder eine Dienstanwendung sein, wobei es sich um nicht ausschließliche Beispiele handelt. In einigen Ausführungsformen umfassen die Clients für interaktive Flüsse, 22 und 24, WebRTC-Clients und/oder Clients, die gemäß Steuerungsprotokollen wie SIP oder H.323 betrieben werden. Wie in 1 ersichtlich, umfassen die Clients für interaktive Flüsse, 22 und 24, weiter jeweils Anbieter der Funktionalität interaktiver Flüsse, 26 und 28. Die Anbieter der Funktionalität interaktiver Flüsse, 26 und 28, implementieren die Protokolle, Codecs und Anwendungsprogrammierschnittstellen (APIs), die zum Ermöglichen interaktiver Echtzeitsitzungen zwischen den Computereinrichtungen 18 und 20 nötig sind.
  • Der Archivierungsstreamingagent 12 von 1 ist bereitgestellt, um den interaktiven Echtzeitfluss 14 bandbreitenempfindlich zu archivieren. In einigen Ausführungsformen ist der Archivierungsstreamingagent 12 implementiert als Erweiterung oder Plug-in für den Client für interaktive Flüsse, 22, zum Empfangen und Verarbeiten von Paketen, die durch den Client für interaktive Flüsse, 22, empfangen werden. In einigen Ausführungsformen ist der Archivierungsstreamingagent 12 möglicherweise in den Anbieter der Funktionalität interaktiver Flüsse, 26, integriert.
  • Wie in 1 ersichtlich, empfängt der Anbieter der Funktionalität interaktiver Flüsse, 26, den interaktiven Echtzeitfluss 14 und erzeugt eine Gabelung des interaktiven Echtzeitflusses 14 an den Archivierungsstreamingagenten 12 als Archivierungsstream 30. Der Archivierungsstream 30, der ein Duplikat des Inhalts des interaktiven Echtzeitflusses 14 ist, wird dann durch den Archivierungsstreamingagenten 12 bei einer einstellbaren Streamingrate an das Archivierungsrepository 16 gestreamt. In einigen Ausführungsformen umfasst der Archivierungsstream 30 eine Vielzahl von Netzpaketen, die der Archivierungsstreamingagent 12 als eine niedrige Priorität aufweisend markieren kann. Das Archivierungsrepository 16 ist möglicherweise eine oder mehrere Computereinrichtungen, die konfiguriert sind, um eine dauerhafte Ablage von als Teil des Archivierungsstreams 30 empfangenen Daten bereitzustellen.
  • Während der Archivierungsstream 30 an das Archivierungsrepository 16 gestreamt wird, misst der Archivierungsstreamingagent 12 Änderungen der Verhaltenskennwerte des interaktiven Echtzeitflusses 14. Als nicht ausschließliche Beispiele misst der Archivierungsstreamingagent 12 möglicherweise Verhaltenskennwerte wie die verfügbare Netzbandbreite, den Datendurchsatz, die Latenz, den Jitter und/oder Fehlerraten für den interaktiven Echtzeitfluss 14. In einigen Ausführungsformen misst der Archivierungsstreamingagent 12 möglicherweise Änderungen der Verhaltenskennwerte des interaktiven Echtzeitflusses 14 basierend auf Verhaltensdaten für interaktive Echtzeitflüsse (nicht gezeigt), die von der Computereinrichtung 18 empfangen werden. Einige Ausführungsformen können vorsehen, dass der Archivierungsstreamingagent 12 Änderungen der Verhaltenskennwerte basierend auf Verhaltensinformationen misst, die in Form von Protokollnachrichten wie RTP-Control-Protocol(RTCP)-Nachrichten an den Client für interaktive Flüsse, 22, kommuniziert werden.
  • In einigen Ausführungsformen misst der Archivierungsstreamingagent 12 möglicherweise Änderungen der Verhaltenskennwerte des interaktiven Echtzeitflusses 14 durch Analysieren der Netzpakete, die den interaktiven Echtzeitfluss 14 bilden. Falls eine Änderung eines Verhaltenskennwerts des interaktiven Echtzeitflusses 14 detektiert wird, kann der Archivierungsstreamingagent 12 basierend auf der Änderung die einstellbare Streamingrate modifizieren, bei welcher der Archivierungsstream 30 gerade an das Archivierungsrepository 16 gestreamt wird. Falls der Archivierungsstreamingagent 12 zum Beispiel eine Verringerung des Datendurchsatzes des interaktiven Echtzeitflusses 14 misst, kann der Archivierungsstreamingagent 12 die Streamingrate des Archivierungsstreams 30 senken, um eventuelle Auswirkungen, die der Archivierungsstream 30 auf den interaktiven Echtzeitfluss 14 haben kann, zu minimieren.
  • Aus dem Modifizieren der einstellbaren Streamingrate des Archivierungsstreams 30 durch den Archivierungsstreamingagenten 12, um eventuelle Auswirkungen auf den interaktiven Echtzeitfluss 14 zu minimieren, kann resultieren, dass der Archivierungsstream 30 bei einer Rate, die kleiner als Echtzeit ist, an das Archivierungsrepository 16 gestreamt wird. Dementsprechend können einige Ausführungsformen des Archivierungsstreamingagenten 12 das Puffern des Archivierungsstreams 30 vor und/oder gleichzeitig mit dem Streamen des Archivierungsstreams 30 an das Archivierungsrepository 16 vorsehen. Auf diese Weise kann der Archivierungsstreamingagent 12 sicherstellen, dass ein vollständiges Archiv des interaktiven Echtzeitflusses 14 aufgezeichnet wird, während er für Netzbedingungen zweckmäßig empfindlich bleibt.
  • Der Archivierungsstreamingagent 12 kann auch Änderungen der Netzauslastung durch die Computereinrichtung 18 messen und die einstellbare Streamingrate basierend auf jeglichen solchen Änderungen dementsprechend modifizieren. In einigen Ausführungsformen kann der Archivierungsstreamingagent 12 Änderungen der Netzauslastung basierend auf von der Computereinrichtung 18 bereitgestellten Netzauslastungsdaten messen. Die Computereinrichtung 18 kann beispielsweise Daten bezüglich der momentanen Ausnutzung einer Download- und/oder Upload-Kapazität der Computereinrichtung 18 an den Archivierungsstreamingagenten 12 liefern.
  • Während Nutzer Videodaten, Audiodaten und/oder Daten des interaktiven Echtzeitflusses 14 austauschen, können sie in Verbindung mit dem interaktiven Echtzeitfluss 14 auch Daten anderer Typen freigeben (z. B. Dokumente, E-Mails oder Bilder). Da Streamen des Archivierungsstreams 30 möglicherweise nicht in Echtzeit erfolgt, kann es wünschenswert sein, die während des interaktiven Echtzeitflusses 14 freigegebenen Daten mit konkreten Zeitpunkten im Archivierungsstream 30 zu assoziieren. Dementsprechend kann der Archivierungsstreamingagent 12 einen Archivierungszeitachsenstream 32 bereitstellen, der mit dem Archivierungsstream 30 assoziiert ist und der gleichzeitig mit dem Archivierungsstream 30 an das Archivierungsrepository 16 gestreamt wird. In einigen Ausführungsformen ist der Archivierungszeitachsenstream 32 möglicherweise in den Archivierungsstream 30 eingefügt. Auf diese Weise kann der Archivierungszeitachsenstream 32 eine Verbindung zwischen während des interaktiven Echtzeitflusses 14 freigegebenen Daten und einem korrespondierenden Zeitpunkt im Archivierungsstream 30 bereitstellen.
  • Um das bandbreitenempfindliche Archivieren eines interaktiven Flusses, der durch ein Unternehmensnetz läuft, zu veranschaulichen, ist 2 bereitgestellt. 2 zeigt ein beispielhaftes interaktives Kommunikationssystem 34, das einen Archivierungsstreamingagenten 36 beinhaltet. Der Archivierungsstreamingagent 36 stellt einen Punkt bereit, zu dem ein interaktiver Echtzeitfluss 38 bei einer einstellbaren, bandbreitenempfindlichen Rate an ein Archivierungsrepository 40 gestreamt werden kann. Zu Veranschaulichungszwecken ist der interaktive Echtzeitfluss 38 in 2 als zwischen einer Computereinrichtung 42 innerhalb eines Unternehmensnetzes 44 und einer Computereinrichtung 46 außerhalb des Unternehmensnetzes 44 laufend gezeigt. Einige Ausführungsformen des interaktiven Kommunikationssystems 34 von 2 können vorsehen, dass jede der Computereinrichtungen 42 und 46 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 entwickelte Kommunikationseinrichtung, wobei es sich um nicht ausschließliche Beispiele handelt.
  • Die Computereinrichtungen 42 und 46 von 2 umfassen jeweils Clients für interaktive Flüsse, 48 und 50. Jeder der Clients für interaktive Flüsse, 48 und 50, kann eine Webbrowseranwendung, eine dedizierte Kommunikationsanwendung oder eine schnittstellenlose Anwendung wie eine Daemon- oder eine Dienstanwendung sein, wobei es sich um nicht ausschließliche Beispiele handelt. In einigen Ausführungsformen umfassen die Clients für interaktive Flüsse, 48 und 50, WebRTC-Clients und/oder Clients, die gemäß Steuerungsprotokollen wie SIP oder H.323 betrieben werden. Wie in 2 ersichtlich, umfassen die Clients für interaktive Flüsse, 48 und 50, weiter jeweils Anbieter der Funktionalität interaktiver Flüsse, 52 und 54. Die Anbieter der Funktionalität interaktiver Flüsse, 52 und 54, implementieren die Protokolle, Codecs und Anwendungsprogrammierschnittstellen (APIs), die zum Ermöglichen interaktiver Echtzeitsitzungen zwischen den Computereinrichtungen 42 und 46 nötig sind.
  • Im Beispiel von 2 hat der Client für interaktive Flüsse, 48, der Computereinrichtung 42 den interaktiven Echtzeitfluss 38 zum Client für interaktive Flüsse, 50, der Computereinrichtung 46 über eine sichere Peerverbindung 56 hergestellt. Es versteht sich, dass die Prozesse, über welche die sichere Peerverbindung 56 hergestellt wird, gemäß dem Typ des interaktiven Flusses (unter anderem z. B. WebRTC, SIP oder H.323), der hergestellt wird, variieren können. Sobald die sichere Peerverbindung 56 hergestellt ist, laufen die Video-, Audio- und/oder Datenstreams, aus denen der interaktive Echtzeitfluss 38 aufgebaut ist, in einem verschlüsselten Format zwischen der Computereinrichtung 42 und der Computereinrichtung 46 hin und her.
  • Wie oben angemerkt, beinhaltet das interaktive Kommunikationssystem 34 das Unternehmensnetz 44, das für Nutzer innerhalb eines Unternehmens vernetzte Computer- und Kommunikationsressourcen bereitstellt. Wie hierin genutzt, bezieht sich ein „Unternehmen” auf einen beliebigen organisierten Zusammenschluss zum Zweck eines geschäftlichen Unterfangens oder eine andere organisierte private oder öffentliche Aktivität. Das Unternehmensnetz 44 beinhaltet eine „demilitarisierte Zone” (DMZ) 58, um das Unternehmensnetz 44 zu schützen, während sowohl Unternehmensnutzern als auch externen Nutzern der Zugang zu Unternehmensressourcen (nicht gezeigt) innerhalb der Unternehmens-DMZ 58 gestattet wird. Die Unternehmens-DMZ 58 kann einen DMZ-Richtlinienerzwingungspunkt 60 beinhalten. Der DMZ-Richtlinienerzwingungspunkt 60 filtert oder verändert Netzverkehr, der durch die Unternehmens-DMZ 58 läuft, gemäß Unternehmensrichtlinien. Es versteht sich, dass die Unternehmens-DMZ 58 zusätzliche Elemente beinhalten kann, die in 2 nicht veranschaulicht sind.
  • Im Beispiel von 2 wird das Unternehmensnetz 44, zu dem die Computereinrichtung 42 gehört, gemäß einer Unternehmensrichtlinie betrieben, die vorschreibt, dass alle interaktiven Echtzeitflüsse 38, die in das und/oder aus dem Unternehmensnetz 44 laufen, zu Sicherheits-, rechtlichen und/oder Archivierungszwecken aufgezeichnet werden müssen. Diese Unternehmensrichtlinie kann am DMZ-Richtlinienerzwingungspunkt 60 angewendet werden, jedoch nur dort, wo der Netzverkehr, der den interaktiven Echtzeitfluss 38 bildet, unverschlüsselt ist und durch den DMZ-Richtlinienerzwingungspunkt 60 läuft. Falls diese beiden Bedingungen erfüllt sind, kann der DMZ-Richtlinienerzwingungspunkt 60 im Rahmen einer Gabelung eine Kopie des interaktiven Echtzeitflusses 38 zum Archivieren erzeugen oder kann ansonsten sicherstellen, dass der interaktive Echtzeitfluss 38 aufgezeichnet wird. Falls jedoch eine dieser Bedingungen nicht erfüllt ist, kann es unpraktisch oder unmöglich sein, die Unternehmensrichtlinie am DMZ-Richtlinienerzwingungspunkt 60 anzuwenden. Der Netzverkehr, der den interaktiven Echtzeitfluss 38 bildet, ist zum Beispiel möglicherweise verschlüsselt und somit für den DMZ-Richtlinienerzwingungspunkt 60 unzugänglich, oder die Endpunkte des interaktiven Echtzeitflusses 38 sind möglicherweise so positioniert, dass der interaktive Echtzeitfluss 38 nicht durch den DMZ-Richtlinienerzwingungspunkt 60 läuft.
  • In 2 wird der interaktive Echtzeitfluss 38 über die sichere Peerverbindung 56 gestreamt, wenn er durch den DMZ-Richtlinienerzwingungspunkt 60 läuft. Somit ist der Netzverkehr, der den interaktiven Echtzeitfluss 38 bildet, verschlüsselt und für ihn kann keine Gabelung zum Archivieren am DMZ-Richtlinienerzwingungspunkt 60 erzeugt werden. Wenngleich es möglich sein kann, dass der Anbieter der Funktionalität interaktiver Flüsse, 52, eine Gabelung des interaktiven Echtzeitflusses 38 erzeugt und ihn archiviert, ist der Anbieter der Funktionalität interaktiver Flüsse, 52, möglicherweise nicht in der Lage, dies bandbreitenempfindlich vorzunehmen, um den interaktiven Echtzeitfluss 38 aufrechtzuerhalten.
  • In diesem Zusammenhang ist der Archivierungsstreamingagent 36 von 2 bereitgestellt. In einigen Ausführungsformen ist der Archivierungsstreamingagent 36 implementiert als Erweiterung oder Plug-in für den Client für interaktive Flüsse, 48, zum Empfangen und Verarbeiten von Paketen, die durch den Client für interaktive Flüsse, 48, empfangen werden. In einigen Ausführungsformen ist der Archivierungsstreamingagent 36 möglicherweise in den Anbieter der Funktionalität interaktiver Flüsse, 52, integriert.
  • Der Anbieter der Funktionalität interaktiver Flüsse, 52, empfängt den interaktiven Echtzeitfluss 38 und erzeugt eine Gabelung der Inhalte des interaktiven Echtzeitflusses 38 als Archivierungsstream 62 an den Archivierungsstreamingagenten 36. Der Archivierungsstream 62, der ein Duplikat der Inhalte des interaktiven Echtzeitflusses 38 ist, wird dann bei einer einstellbaren Streamingrate durch den Archivierungsstreamingagenten 36 über das Unternehmensnetz 44 an das Archivierungsrepository 40 gestreamt. Wie oben mit Bezug auf 1 erörtert, kann der Archivierungsstreamingagent 36 auch einen Archivierungszeitachsenstream 64 bereitstellen, der mit dem Archivierungsstream 62 assoziiert ist und der gleichzeitig mit dem Archivierungsstream 62 an das Archivierungsrepository 40 gestreamt wird. Das Archivierungsrepository 40 ist möglicherweise eine oder mehrere Computereinrichtungen, die über das Unternehmensnetz 44 zugänglich sind und die konfiguriert sind, um eine dauerhafte Ablage von als Teil des Archivierungsstreams 62 empfangenen Daten bereitzustellen.
  • Während der Archivierungsstream 62 an das Archivierungsrepository 40 gestreamt wird, misst der Archivierungsstreamingagent 36 Änderungen der Verhaltenskennwerte des interaktiven Echtzeitflusses 38. Als nicht ausschließliche Beispiele misst der Archivierungsstreamingagent 36 möglicherweise Verhaltenskennwerte wie die verfügbare Netzbandbreite, den Datendurchsatz, die Latenz, den Jitter und/oder Fehlerraten des interaktiven Echtzeitflusses 38. Falls eine Änderung eines Verhaltenskennwerts des interaktiven Echtzeitflusses 38 detektiert wird, kann der Archivierungsstreamingagent 36 basierend auf der Änderung die einstellbare Streamingrate modifizieren, bei welcher der Archivierungsstream 62 gerade an das Archivierungsrepository 40 gestreamt wird. Der Archivierungsstreamingagent 36 kann auch Änderungen der Netzauslastung durch die Computereinrichtung 42 messen und die einstellbare Streamingrate basierend auf jeglichen solchen Änderungen dementsprechend modifizieren.
  • Einige Ausführungsformen können vorsehen, dass ein Archivierungsstreamingagent in einen Netzmedienserver integriert ist, mit dem zwei oder mehr Endpunkte verbunden sind, um an einem interaktiven Echtzeitfluss beteiligt zu sein. In diesem Zusammenhang veranschaulicht 3 ein beispielhaftes interaktives Kommunikationssystem 66, das eine Computereinrichtung 68 beinhaltet, die einen Medienserver 70 zum Verteilen interaktiver Echtzeitflüsse 72(1)72(N) unter einer Vielzahl von Computereinrichtungen 74(1)74(N) bereitstellt. Insbesondere beinhaltet der Medienserver 70 bei diesem Beispiel einen Archivierungsstreamingagenten 76 zum Streamen eines Duplikats der Inhalte der interaktiven Echtzeitflüsse 72 an ein Archivierungsrepository 78 bei einer einstellbaren, bandbreitenempfindlichen Rate. Der Medienserver 70 umfasst weiter einen Anbieter der Funktionalität interaktiver Flüsse, 80, zum Mischen, Vermitteln, Transcodieren oder sonstigen Bearbeiten und Verteilen der interaktiven Echtzeitflüsse 72. Der Archivierungsstreamingagent 76 kann implementiert sein als Erweiterung oder Plug-in für den Medienserver 70. In einigen Ausführungsformen ist der Archivierungsstreamingagent 76 möglicherweise in den Anbieter der Funktionalität interaktiver Flüsse, 80, integriert. Als nicht ausschließliche Beispiele ist der Medienserver 70 in einigen Ausführungsformen möglicherweise ein Konferenzserver, ein Contact-Center-Server oder eine Mediensteuerungseinheit (Media Control Unit, MCU), wobei es sich um nicht ausschließliche Beispiele handelt.
  • Bei diesem Beispiel ist jede der Computereinrichtungen 74(1)74(N) mit dem Medienserver 70 der Computereinrichtung 68 verbunden. Die Computereinrichtungen 68 und 74 können über ein öffentliches Netz wie das Internet und/oder über ein oder mehrere private Netze kommunizieren. Die Computereinrichtungen 68 und 74 von 3 können beliebige Computereinrichtungen mit Netzkommunikationsfähigkeiten sein, etwa ein Smartphone, ein Tabletcomputer, eine dedizierte Web-Appliance, ein Medienserver, ein Desktop- oder ein Servercomputer oder eine speziell entwickelte Kommunikationseinrichtung, wobei es sich um nicht ausschließliche Beispiele handelt. Die Computereinrichtungen 74(1)74(N) umfassen jeweils Clients für interaktive Flüsse, 84(1)84(N). Jeder der Clients für interaktive Flüsse, 84, kann eine Webbrowseranwendung, eine dedizierte Kommunikationsanwendung oder eine schnittstellenlose Anwendung wie eine Daemon- oder eine Dienstanwendung sein, wobei es sich um nicht ausschließliche Beispiele handelt. In einigen Ausführungsformen umfassen die Clients für interaktive Flüsse, 84, WebRTC-Clients und/oder Clients, die gemäß Steuerungsprotokollen wie SIP oder H.323 betrieben werden. Wie in 3 ersichtlich, umfassen die Clients für interaktive Flüsse, 84(1)84(N), weiter jeweils Anbieter der Funktionalität interaktiver Flüsse, 86(1)86(N). Die Anbieter der Funktionalität interaktiver Flüsse, 86, implementieren die Protokolle, Codecs und Anwendungsprogrammierschnittstellen (APIs) (z. B. die Protokolle für WebRTC oder SIP), die zum Ermöglichen interaktiver Echtzeitsitzungen unter den Computereinrichtungen 74, welche die Anbieter der Funktionalität interaktiver Flüsse, 86, bereitstellen, nötig sind.
  • Der Anbieter der Funktionalität interaktiver Flüsse, 80, empfängt die interaktiven Echtzeitflüsse 72 und erzeugt eine Gabelung der Inhalte oder einer Mischung der Inhalte der interaktiven Echtzeitflüsse 72 an den Archivierungsstreamingagenten 76 als Archivierungsstream 88. Der Archivierungsstream 88, der ein Duplikat der Inhalte oder der Mischung von Inhalten der interaktiven Echtzeitflüsse 72 ist, wird dann durch den Archivierungsstreamingagenten 76 bei einer einstellbaren Streamingrate an das Archivierungsrepository 78 gestreamt. Wie oben mit Bezug auf 1 erörtert, kann der Archivierungsstreamingagent 76 auch einen Archivierungszeitachsenstream 90 bereitstellen, der mit dem Archivierungsstream 88 assoziiert ist und der gleichzeitig mit dem Archivierungsstream 88 an das Archivierungsrepository 78 gestreamt wird. Das Archivierungsrepository 78 ist möglicherweise eine oder mehrere Computereinrichtungen, die über ein öffentliches Netz und/oder ein privates Netz zugänglich sind und die konfiguriert sind, um eine dauerhafte Ablage von als Teil des Archivierungsstreams 88 empfangenen Daten bereitzustellen.
  • Während der Archivierungsstream 88 an das Archivierungsrepository 78 gestreamt wird, misst der Archivierungsstreamingagent 76 Änderungen der Verhaltenskennwerte der interaktiven Echtzeitflüsse 72. Als nicht ausschließliche Beispiele misst der Archivierungsstreamingagent 76 möglicherweise Verhaltenskennwerte wie die verfügbare Netzbandbreite, den Datendurchsatz, die Latenz, den Jitter und/oder Fehlerraten der interaktiven Echtzeitflüsse 72. Falls eine Änderung eines Verhaltenskennwerts der interaktiven Echtzeitflüsse 72 detektiert wird, kann der Archivierungsstreamingagent 76 basierend auf der Änderung die einstellbare Streamingrate modifizieren, bei welcher der Archivierungsstream 88 gerade an das Archivierungsrepository 78 gestreamt wird. Der Archivierungsstreamingagent 76 kann auch Änderungen der Netzauslastung durch die Computereinrichtung 68 messen und die einstellbare Streamingrate basierend auf jeglichen solchen Änderungen dementsprechend modifizieren.
  • Um beispielhafte Abläufe des Archivierungsstreamingagenten 12 von 1 zum Bereitstellen von bandbreiteneffizienter Archivierung des interaktiven Echtzeitflusses 14 allgemein zu beschreiben, ist 4 bereitgestellt. Der Klarheit halber wird bei der Beschreibung von 4 auf Elemente von 1 Bezug genommen. Beim Beispiel von 4 beginnen die Abläufe damit, dass der Anbieter der Funktionalität interaktiver Flüsse, 26, den interaktiven Echtzeitfluss 14 empfängt (Block 92). In einigen Ausführungsformen umfasst der interaktive Echtzeitfluss 14 möglicherweise einen interaktiven WebRTC-Fluss und/oder einen interaktiven Fluss gemäß einem Steuerungsprotokoll wie dem Session Initiation Protocol (SIP) oder H.323, wobei es sich um nicht ausschließliche Beispiele handelt.
  • Weiter unter Bezugnahme auf 4 erzeugt der Anbieter der Funktionalität interaktiver Flüsse, 26, als Nächstes eine Gabelung des interaktiven Echtzeitflusses 14 als Archivierungsstream 30 an den Archivierungsstreamingagenten 12 (Block 94). Der Archivierungsstream 30 ist ein Duplikat des Inhalts des interaktiven Echtzeitflusses 14. Der Archivierungsstreamingagent 12 streamt den Archivierungsstream 30 bei einer einstellbaren Streamingrate an das Archivierungsrepository 16 (Block 96). Wie oben angemerkt, ist das Archivierungsrepository 16 möglicherweise eine oder mehrere Computereinrichtungen, die über ein öffentliches oder ein privates Netz zugänglich sind und die konfiguriert sind, um eine dauerhafte Ablage von als Teil des Archivierungsstreams 30 empfangenen Daten bereitzustellen.
  • Der Archivierungsstreamingagent 12 misst als Nächstes eine Änderung eines Verhaltenskennwerts des interaktiven Echtzeitflusses 14 (Block 98). Der Verhaltenskennwert des interaktiven Echtzeitflusses 14 beinhaltet möglicherweise eine Netzbandbreite, einen Datendurchsatz, eine Latenz, einen Jitterwert und/oder eine Fehlerrate des interaktiven Echtzeitflusses 14. Der Archivierungsstreamingagent 12 modifiziert basierend auf der Änderung des Verhaltenskennwerts des interaktiven Echtzeitflusses 14 die einstellbare Streamingrate des Archivierungsstreams 30 (Block 100). Indem der Archivierungsstreamingagent 12 die einstellbare Streamingrate des Archivierungsstreams 30 basierend auf der Änderung des Verhaltenskennwerts modifiziert, minimiert er eventuelle Auswirkungen auf den interaktiven Echtzeitfluss 14, während er nach wie vor ein vollständiges Archiv des interaktiven Echtzeitflusses 14 bereitstellt.
  • Der Archivierungsstreamingagent 12 bestimmt dann, ob der interaktive Echtzeitfluss 14 geendet hat (Block 102). Falls nein, wird bei der Verarbeitung zu Block 98 von 4 zurückgegangen, wo erneut eine Änderung eines Verhaltenskennwerts des interaktiven Echtzeitflusses 14 gemessen wird. Falls der interaktive Echtzeitfluss 14 geendet hat, stoppt der Archivierungsstreamingagent 12 das Streamen des Archivierungsstreams 30, sobald der ganze Inhalt des interaktiven Echtzeitflusses 14 an das Archivierungsrepository 16 gestreamt worden ist (Block 104).
  • Die 5A und 5B sind bereitgestellt, um einen beispielhaften verallgemeinerten Prozess, bei dem der Archivierungsstreamingagent 12 von 1 einen interaktiven Echtzeitfluss 14 bandbreiteneffizient archiviert, detaillierter zu veranschaulichen. Zu Veranschaulichungszwecken beziehen sich die 5A und 5B auf Elemente des interaktiven Kommunikationssystems 10 und des Archivierungsstreamingagenten 12 von 1. 5A zeigt detailliert Abläufe zum Erzeugen einer Gabelung des interaktiven Echtzeitflusses 14 und zum Streamen des Archivierungsstreams 30 an das Archivierungsrepository 16. 5B zeigt Abläufe zum Anpassen einer Streamingrate des Archivierungsstreams 30.
  • In 5A, auf die nunmehr Bezug genommen wird, empfängt der Anbieter der Funktionalität interaktiver Flüsse, 26, zunächst den interaktiven Echtzeitfluss 14 (Block 106). In einigen Ausführungsformen umfasst der interaktive Echtzeitfluss 14 möglicherweise einen interaktiven WebRTC-Fluss und/oder einen interaktiven Fluss gemäß einem Steuerungsprotokoll wie dem Session Initiation Protocol (SIP) oder H.323, wobei es sich um nicht ausschließliche Beispiele handelt. Der Anbieter der Funktionalität interaktiver Flüsse, 26, erzeugt als Nächstes eine Gabelung des interaktiven Echtzeitflusses 14 als Archivierungsstream 30 an den Archivierungsstreamingagenten 12 (Block 108). Der Archivierungsstream 30 ist ein Duplikat des Inhalts des interaktiven Echtzeitflusses 14.
  • In einigen Ausführungsformen kann der Archivierungsstreamingagent 12 optional den Archivierungsstream 30 vor oder gleichzeitig mit dem Beginn des Streamens des Archivierungsstreams 30 Puffern (Block 110). Indern der Archivierungsstreamingagent 12 den Archivierungsstream 30 puffert, kann er sicherstellen, dass eine vollständige Kopie des interaktiven Echtzeitflusses 14 erstellt werden kann, selbst wenn Netzbedingungen erfordern, dass der Archivierungsstream 30 bei einer Rate, die kleiner als Echtzeit ist, gestreamt wird. Der Archivierungsstreamingagent 12 kann optional auch Netzpakete, die den Archivierungsstream 30 bilden, als eine niedrige Priorität aufweisend markieren (Block 112). In einigen Ausführungsformen werden dadurch eventuelle Auswirkungen des Archivierungsstreams 30 auf anderen Netzverkehr mit höherer Priorität minimiert.
  • Der Archivierungsstreamingagent 12 streamt dann den Archivierungsstream 30 bei einer einstellbaren Streamingrate an ein Archivierungsrepository 16 (Block 114). Das Archivierungsrepository 16 ist möglicherweise eine oder mehrere Computereinrichtungen, die über ein öffentliches oder ein privates Netz zugänglich sind und die konfiguriert sind, um eine dauerhafte Ablage von als Teil des Archivierungsstreams 30 empfangenen Daten bereitzustellen. Wie unten noch ausführlicher erörtert wird, erlaubt Streamen des Archivierungsstreams 30 bei einer einstellbaren Streamingrate, dass der Archivierungsstreamingagent 12 die Streamingrate als Reaktion auf Änderungen der Verhaltenskennwerte des interaktiven Echtzeitflusses 14 und/oder Änderungen der Netzauslastung durch eine Computereinrichtung modifiziert.
  • In einigen Ausführungsformen geben Nutzer möglicherweise Daten anderer Typen (z. B. Dokumente, E-Mails und/oder Bilder) außerhalb des interaktiven Echtzeitflusses 14 frei, während sie Videodaten, Audiodaten und/oder Daten des interaktiven Echtzeitflusses 14 austauschen. Da Streamen des Archivierungsstreams 30 möglicherweise nicht in Echtzeit erfolgt, ist es in solchen Ausführungsformen möglicherweise wünschenswert, die während des interaktiven Echtzeitflusses 14 freigegebenen Daten mit konkreten Zeitpunkten im Archivierungsstream 30 zu assoziieren. Dementsprechend kann der Archivierungsstreamingagent 12 optional einen Archivierungszeitachsenstream 32 gleichzeitig mit dem Archivierungsstream 30 an das Archivierungsrepository 16 streamen (Block 116). Die Verarbeitung wird dann bei Block 118 von 5B fortgesetzt.
  • In 5B, auf die nunmehr Bezug genommen wird, misst der Archivierungsstreamingagent 12 einen Verhaltenskennwert des interaktiven Echtzeitflusses 14 (Block 118). Der Verhaltenskennwert des interaktiven Echtzeitflusses 14 beinhaltet möglicherweise eine Netzbandbreite, einen Datendurchsatz, eine Latenz, einen Jitterwert und/oder eine Fehlerrate des interaktiven Echtzeitflusses 14. Der Archivierungsstreamingagent 12 bestimmt, ob seit einer letzten Messung des Verhaltenskennwerts eine Änderung des gemessenen Verhaltenskennwerts aufgetreten ist (Block 120). Falls am Entscheidungsblock 120 eine Änderung der Messung des Verhaltenskennwerts aufgetreten ist, modifiziert der Archivierungsstreamingagent 12 die einstellbare Streamingrate des Archivierungsstreams 30 basierend auf der Änderung der Messung des Verhaltenskennwerts (Block 122). Falls der Archivierungsstreamingagent 12 als nicht ausschließliches Beispiel eine Verringerung des Datendurchsatzes des interaktiven Echtzeitflusses 14 detektiert, kann der Archivierungsstreamingagent 12 die einstellbare Streamingrate des Archivierungsstreams 30 senken, um Auswirkungen auf den interaktiven Echtzeitfluss 14 zu minimieren. Die Verarbeitung wird dann bei Block 124 wieder aufgenommen. Falls am Entscheidungsblock 120 keine Änderung der Messung des Verhaltenskennwerts detektiert wird, wird bei der Verarbeitung zu Block 124 von 5B übergegangen.
  • Der Archivierungsstreamingagent 12 bestimmt als Nächstes eine Netzauslastung durch die Computereinrichtung 18 (Block 124). Einige Ausführungsformen können vorsehen, dass der Archivierungsstreamingagent 12 die Netzauslastung basierend auf von der Computereinrichtung 18 bereitgestellten Netzauslastungsdaten bestimmen kann. Der Archivierungsstreamingagent 12 bestimmt dann, ob seit einer letzten Bestimmung der Netzauslastung eine Änderung der Netzauslastung aufgetreten ist (Block 126). Falls am Entscheidungsblock 126 eine Änderung der Netzauslastung durch die Computereinrichtung 18 detektiert wird, modifiziert der Archivierungsstreamingagent 12 die einstellbare Streamingrate des Archivierungsstreams 30 basierend auf der Änderung der Netzauslastung (Block 128). Falls der Archivierungsstreamingagent 12 als nicht ausschließliches Beispiel eine Erhöhung der Netzauslastung durch die Computereinrichtung 18 detektiert, kann der Archivierungsstreamingagent 12 die einstellbare Streamingrate des Archivierungsstreams 30 senken, um die Netzlast zu minimieren. Die Verarbeitung wird dann bei Block 130 wieder aufgenommen. Falls am Entscheidungsblock 126 keine Änderung der Messung der Netzauslastung detektiert wird, wird bei der Verarbeitung zu Block 130 von 5B übergegangen.
  • Der Archivierungsstreamingagent 12 bestimmt als Nächstes, ob der interaktive Echtzeitfluss 14 geendet hat (Block 130). Falls nein, wird die Verarbeitung bei Block 118 von 5B wieder aufgenommen. Falls der interaktive Echtzeitfluss 14 geendet hat, stoppt der Archivierungsstreamingagent 12 das Streamen des Archivierungsstreams 30 und, falls zweckmäßig, des Archivierungszeitachsenstreams 32, sobald der ganze Inhalt des interaktiven Echtzeitflusses 14 an das Archivierungsrepository 16 gestreamt worden ist (Block 132).
  • 6 stellt eine schematische Diagrammdarstellung eines Verarbeitungssystems 134 in der beispielhaften Form einer beispielhaften Computereinrichtung 136 dar, das angepasst ist, um Befehle zum Durchführen der hierin beschriebenen Funktionen auszuführen. In einigen Ausführungsformen führt das Verarbeitungssystem 134 möglicherweise Befehle zum Durchführen der Funktionen des Archivierungsstreamingagenten 12 von 1 aus. In diesem Zusammenhang umfasst das Verarbeitungssystem 134 möglicherweise die Computereinrichtung 136, innerhalb deren ein Satz von Befehlen zum Bewirken, dass das Verarbeitungssystem 134 eine beliebige oder beliebige mehrere der hierin erörterten Methodiken durchführt, ausgeführt werden kann. Das Verarbeitungssystem 134 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 134 wird möglicherweise in einer Client-Server-Netzumgebung oder als gleichrangige Maschine in der Umgebung eines Peer-to-Peer- (oder verteilten) Netzes betrieben. Auch wenn nur ein einziges Verarbeitungssystem 134 veranschaulicht ist, können die Begriffe „Controller” und „Server” auch so aufgefasst werden, dass sie eine beliebige Gruppe von Maschinen beinhalten, die individuell oder gemeinsam 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 134 und/oder die Computereinrichtung 136 umfassen möglicherweise einen Server, einen Personal Computer, einen Desktopcomputer, einen Laptopcomputer, einen Personal Digital Assistant (PDA), ein Computerpad, eine mobile Einrichtung, eine speziell entwickelte Kommunikationseinrichtung und/oder eine beliebige andere Einrichtung und verkörpern möglicherweise, wobei es sich um nicht ausschließliche Beispiele handelt, einen Server oder einen Computer eines Nutzers.
  • Die beispielhafte Computereinrichtung 136 beinhaltet eine Verarbeitungseinrichtung oder einen Prozessor 138, einen Hauptspeicher 140 (ein Read Only Memory (ROM), einen Flashspeicher, einen dynamischen Schreib-Lese-Speicher (DRAM) wie ein synchrones DRAM (SDRAM) etc. als nicht ausschließliche Beispiele) und einen statischen Speicher 142 (einen Flashspeicher, einen statischen Schreib-Lese-Speicher (SRAM) etc. als nicht ausschließliche Beispiele), die möglicherweise über einen Datenbus 144 miteinander kommunizieren. Alternativ kann die Verarbeitungseinrichtung 138 direkt oder über irgendein anderes Konnektivitätsmittel mit dem Hauptspeicher 140 und/oder dem statischen Speicher 142 verbunden sein.
  • Die Verarbeitungseinrichtung 138 verkörpert eine oder mehrere Verarbeitungseinrichtungen wie einen Mikroprozessor, eine Zentralverarbeitungseinheit (CPU) oder dergleichen. Insbesondere ist die Verarbeitungseinrichtung 138 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 ein Prozessor, der eine Kombination von Befehlssätzen implementiert. Die Verarbeitungseinrichtung 138 ist konfiguriert, um Verarbeitungslogik in Befehlen 146 und/oder gecachten Befehlen 148 auszuführen, um die hierin erörterten Abläufe und Schritte durchzuführen.
  • Die Computereinrichtung 136 kann ferner eine Kommunikationsschnittstelle in Form einer Netzschnittstelleneinrichtung 150 beinhalten. Sie kann auch einen Eingang 152 zum Empfangen von Eingaben und Auswahloptionen, die bei der Ausführung der Befehle 146, 148 an die Computereinrichtung 136 zu kommunizieren sind, beinhalten oder nicht. Sie kann auch einen Ausgang 154, der unter anderem (eine) Anzeige(n) 156 beinhaltet, beinhalten oder nicht. Die Anzeige(n) 156 ist/sind möglicherweise eine Videoanzeigeeinheit (eine Flüssigkristallanzeige (LCD) oder eine Kathodenstrahlröhre (CRT) als nicht ausschließliche Beispiele), eine Einrichtung für alphanumerische Eingaben (eine Tastatur als nicht ausschließliches Beispiel), eine Cursorsteuereinrichtung (eine Maus als nicht ausschließliches Beispiel) und/oder eine Touchscreen-Einrichtung (eine Tablet-Eingabeeinrichtung oder ein Bildschirm als nicht ausschließliche Beispiele).
  • Die Computereinrichtung 136 beinhaltet möglicherweise eine oder auch keine Datenablageeinrichtung 158, welche die Nutzung eines Laufwerks/von Laufwerken 160 beinhaltet, um die hierin beschriebenen Funktionen in einem computerlesbaren Medium 162 abzulegen, auf dem ein oder mehrere Sätze von Befehlen 164 (z. B. Software) abgelegt sind, die eine beliebige oder beliebige mehrere der hierin beschriebenen Methodiken oder Funktionen ausführen. Die Funktionen können die Verfahren und/oder andere Funktionen des Verarbeitungssystems 134, eine Teilnehmernutzereinrichtung und/oder einen Lizenzierungsserver beinhalten, wobei es sich um nicht ausschließliche Beispiele handelt. Der eine oder die mehreren Sätze von Befehlen 164 können während ihrer Ausführung durch die Computereinrichtung 136 auch vollständig oder mindestens teilweise innerhalb des Hauptspeichers 140 und/oder innerhalb der Verarbeitungseinrichtung 138 liegen. Der Hauptspeicher 140 und die Verarbeitungseinrichtung 138 bilden ebenfalls für Maschinen zugängliche Ablagemedien. Die Befehle 146, 148 und/oder 164 können weiter über ein Netz 166 über die Netzschnittstelleneinrichtung 150 gesendet oder empfangen werden. Das Netz 166 kann ein Intra-Netz oder ein Inter-Netz sein.
  • Wenngleich das computerlesbare Medium 162 in einem Ausführungsbeispiel als einzelnes Medium gezeigt wird, ist der Begriff „für Maschinen zugängliches Ablagemedium” so aufzufassen, dass er ein einzelnes Medium oder mehrere Medien (eine zentrale oder eine verteilte Datenbank und/oder assoziierte Cache-Speicher und Server als nicht ausschließliche Beispiele) beinhaltet, das bzw. die den einen oder die mehreren Sätze von Befehlen 164 ablegt bzw. ablegen. Der Begriff „für Maschinen zugängliches Ablagemedium” ist auch so aufzufassen, dass er beliebige Medien beinhaltet, die fähig sind, einen Satz von Befehlen 146, 148 und/oder 164 zur Ausführung durch die Maschine abzulegen, 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 Ablagemedium” 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 sind möglicherweise in Hardware und in Befehlen, die in Hardware abgelegt sind, ausgeführt 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 vor. Ein beispielhaftes Ablagemedium ist an den Prozessor gekoppelt, sodass der Prozessor Informationen vom Ablagemedium lesen und das Ablagemedium mit Informationen beschreiben kann. Alternativ kann das Ablagemedium fest in den Prozessor eingebaut sein. Der Prozessor und das Ablagemedium 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 Ablagemedium als separate Komponenten in einem entfernten Endgerät, in einer Basisstation oder auf einem Server befinden.
  • Es wird auch angemerkt, dass die in beliebigen der Ausführungsbeispiele hierin beschriebenen Ablaufschritte beschrieben werden, um Beispiele bereitzustellen und eine Erörterung zu ermöglichen. Die beschriebenen Abläufe lassen sich statt in den veranschaulichten Reihenfolgen auch in zahlreichen anderen Reihenfolgen durchführen. Des Weiteren können Abläufe, die als einzelner Ablaufschritt beschrieben werden, in der Praxis auch in einer Anzahl unterschiedlicher Schritte durchgeführt werden. Zusätzlich können ein oder mehrere in den Ausführungsbeispielen erörterte Ablaufschritte auch kombiniert werden. Es versteht sich, dass die in den Flussdiagrammen veranschaulichten Ablaufschritte auf zahlreiche unterschiedliche Arten abgewandelt werden können, welche sich für den Fachmann ohne Weiteres ergeben. Für den Fachmann wäre auch ersichtlich, dass Informationen und Signale unter Nutzung beliebiger von etlichen unterschiedlichen Technologien und Techniken ausgebildet sein können. Daten, Befehle, Kommandos, Informationen, Signale, Bits, Symbole und Chips, auf die in der obigen Beschreibung gegebenenfalls Bezug genommen wird, können durch Spannungen, Ströme, elektromagnetische Wellen, Magnetfelder oder -partikel, optische Felder oder Partikel oder beliebige Kombinationen davon ausgebildet sein, wobei es sich um nicht ausschließliche Beispiele handelt.
  • Die vorangehende Beschreibung der Offenbarung ist bereitgestellt, um dem Fachmann eine Anfertigung gemäß der Offenbarung oder deren Nutzung zu ermöglichen. Verschiedene Modifikationen der Offenbarung ergeben sich für den Fachmann ohne Weiteres, und die allgemeinen Prinzipien, die hierin definiert werden, können auch auf andere Variationen angewendet werden, ohne vom Gedanken oder vom Schutzbereich der Offenbarung abzuweichen. Deshalb soll die Offenbarung nicht auf die hierin beschriebenen Beispiele und Ausgestaltungen beschränkt sein, sondern ihr soll der weitestmögliche Schutzbereich zukommen, der mit den Prinzipien und den Neuheitsmerkmalen, die hierin offenbart werden, vereinbar ist.

Claims (10)

  1. Verfahren zum Archivieren eines interaktiven Echtzeitflusses, das Folgendes umfasst: Empfangen eines interaktiven Echtzeitflusses durch eine Computereinrichtung; Erzeugen einer Gabelung des interaktiven Echtzeitflusses an der Computereinrichtung als Archivierungsstream; Streamen des Archivierungsstreams von der Computereinrichtung an ein Archivierungsrepository bei einer einstellbaren Streamingrate; Messen einer Änderung eines Verhaltenskennwerts des interaktiven Echtzeitflusses; und Modifizieren der einstellbaren Streamingrate basierend auf der Änderung des Verhaltenskennwerts des interaktiven Echtzeitflusses.
  2. Verfahren nach Anspruch 1, das weiter das Puffern des Archivierungsstreams durch die Computereinrichtung umfasst.
  3. Verfahren nach Anspruch 1, wobei der Archivierungsstream eine Vielzahl von Netzpaketen umfasst; wobei Streamen des Archivierungsstreams an das Archivierungsrepository das Markieren der Vielzahl von Netzpaketen als eine niedrige Priorität aufweisend umfasst.
  4. Verfahren nach Anspruch 1, das weiter Folgendes umfasst: Messen einer Änderung einer Netzauslastung durch die Computereinrichtung; und Modifizieren der einstellbaren Streamingrate basierend auf der Änderung der Netzauslastung.
  5. Verfahren nach Anspruch 4, wobei Messen der Änderung der Netzauslastung auf von der Computereinrichtung bereitgestellten Netzauslastungsdaten basiert.
  6. Verfahren nach Anspruch 1, wobei Messen der Änderung des Verhaltenskennwerts des interaktiven Echtzeitflusses das Empfangen von Verhaltensdaten für interaktive Echtzeitflüsse von der Computereinrichtung umfasst.
  7. Verfahren nach Anspruch 1, wobei der interaktive Echtzeitfluss eine Vielzahl von Netzpaketen umfasst; wobei Messen der Änderung des Verhaltenskennwerts des interaktiven Echtzeitflusses das Analysieren der Vielzahl von Netzpaketen des interaktiven Echtzeitflusses umfasst.
  8. Verfahren nach Anspruch 1, das weiter Streamen eines mit dem Archivierungsstream assoziierten Archivierungszeitachsenstreams an das Archivierungsrepository gleichzeitig mit dem Streamen des Archivierungsstreams umfasst.
  9. System zum Archivieren eines interaktiven Echtzeitflusses, das Folgendes umfasst: mindestens eine Kommunikationsschnittstelle; ein Archivierungsrepository, das mit der mindestens einen Kommunikationsschnittstelle assoziiert ist; und eine Computereinrichtung, die mit der mindestens einen Kommunikationsschnittstelle assoziiert ist und einen Anbieter der Funktionalität interaktiver Flüsse und einen Archivierungsstreamingagenten umfasst; wobei der Anbieter der Funktionalität interaktiver Flüsse konfiguriert ist, um: einen interaktiven Echtzeitfluss zu empfangen; und eine Gabelung des interaktiven Echtzeitflusses an den Archivierungsstreamingagenten als Archivierungsstream zu erzeugen; und wobei der Archivierungsstreamingagent konfiguriert ist, um: den Archivierungsstream bei einer einstellbaren Streamingrate an das Archivierungsrepository zu streamen; eine Änderung eines Verhaltenskennwerts des interaktiven Echtzeitflusses zu messen; und die einstellbare Streamingrate basierend auf der Änderung des Verhaltenskennwerts des interaktiven Echtzeitflusses zu modifizieren.
  10. Nicht-transientes computerlesbares Medium, auf dem computerausführbare Befehle abgelegt sind, um zu bewirken, dass ein Prozessor ein Verfahren implementiert, das Folgendes umfasst: Empfangen eines interaktiven Echtzeitflusses durch eine Computereinrichtung; Erzeugen einer Gabelung des interaktiven Echtzeitflusses an der Computereinrichtung als Archivierungsstream; Streamen des Archivierungsstreams von der Computereinrichtung an ein Archivierungsrepository bei einer einstellbaren Streamingrate; Messen einer Änderung eines Verhaltenskennwerts des interaktiven Echtzeitflusses; und Modifizieren der einstellbaren Streamingrate basierend auf der Änderung des Verhaltenskennwerts des interaktiven Echtzeitflusses.
DE102014107943.4A 2013-06-07 2014-06-05 Bandbreiteneffiziente Archivierung interaktiver Echtzeitflüsse und verwandte Verfahren, Systeme und computerlesbare Medien Expired - Fee Related DE102014107943B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/912,520 2013-06-07
US13/912,520 US10205624B2 (en) 2013-06-07 2013-06-07 Bandwidth-efficient archiving of real-time interactive flows, and related methods, systems, and computer-readable media

Publications (2)

Publication Number Publication Date
DE102014107943A1 true DE102014107943A1 (de) 2014-12-11
DE102014107943B4 DE102014107943B4 (de) 2021-06-02

Family

ID=52006461

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014107943.4A Expired - Fee Related DE102014107943B4 (de) 2013-06-07 2014-06-05 Bandbreiteneffiziente Archivierung interaktiver Echtzeitflüsse und verwandte Verfahren, Systeme und computerlesbare Medien

Country Status (2)

Country Link
US (1) US10205624B2 (de)
DE (1) DE102014107943B4 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10164929B2 (en) 2012-09-28 2018-12-25 Avaya Inc. Intelligent notification of requests for real-time online interaction via real-time communications and/or markup protocols, and related methods, systems, and computer-readable media
US9363133B2 (en) 2012-09-28 2016-06-07 Avaya Inc. Distributed application of enterprise policies to Web Real-Time Communications (WebRTC) interactive sessions, and related methods, systems, and computer-readable media
US9294458B2 (en) 2013-03-14 2016-03-22 Avaya Inc. Managing identity provider (IdP) identifiers for web real-time communications (WebRTC) interactive flows, and related methods, systems, and computer-readable media
US10205624B2 (en) * 2013-06-07 2019-02-12 Avaya Inc. Bandwidth-efficient archiving of real-time interactive flows, and related methods, systems, and computer-readable media
US9065969B2 (en) 2013-06-30 2015-06-23 Avaya Inc. Scalable web real-time communications (WebRTC) media engines, and related methods, systems, and computer-readable media
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
US9112840B2 (en) 2013-07-17 2015-08-18 Avaya Inc. Verifying privacy of web real-time communications (WebRTC) media channels via corresponding WebRTC data channels, and related methods, systems, and computer-readable media
US9614890B2 (en) 2013-07-31 2017-04-04 Avaya Inc. Acquiring and correlating web real-time communications (WEBRTC) interactive flow characteristics, and related methods, systems, and computer-readable media
US9531808B2 (en) 2013-08-22 2016-12-27 Avaya Inc. Providing data resource services within enterprise systems for resource level sharing among multiple applications, and related methods, systems, and computer-readable media
US10225212B2 (en) 2013-09-26 2019-03-05 Avaya Inc. Providing network management based on monitoring quality of service (QOS) characteristics of web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media
US10263952B2 (en) 2013-10-31 2019-04-16 Avaya Inc. Providing origin insight for web applications via session traversal utilities for network address translation (STUN) messages, and related methods, systems, and computer-readable media
US9769214B2 (en) 2013-11-05 2017-09-19 Avaya Inc. Providing reliable session initiation protocol (SIP) signaling for web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media
US10129243B2 (en) 2013-12-27 2018-11-13 Avaya Inc. Controlling access to traversal using relays around network address translation (TURN) servers using trusted single-use credentials
US10581927B2 (en) 2014-04-17 2020-03-03 Avaya Inc. Providing web real-time communications (WebRTC) media services via WebRTC-enabled media servers, and related methods, systems, and computer-readable media
US9749363B2 (en) 2014-04-17 2017-08-29 Avaya Inc. Application of enterprise policies to web real-time communications (WebRTC) interactive sessions using an enterprise session initiation protocol (SIP) engine, and related methods, systems, and computer-readable media
US9912705B2 (en) 2014-06-24 2018-03-06 Avaya Inc. Enhancing media characteristics during web real-time communications (WebRTC) interactive sessions by using session initiation protocol (SIP) endpoints, and related methods, systems, and computer-readable media
US10630717B2 (en) * 2015-05-15 2020-04-21 Avaya, Inc. Mitigation of WebRTC attacks using a network edge system

Family Cites Families (140)

* 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
US7145898B1 (en) 1996-11-18 2006-12-05 Mci Communications Corporation System, method and article of manufacture for selecting a gateway of a hybrid communication system architecture
US7389351B2 (en) 2001-03-15 2008-06-17 Microsoft Corporation System and method for identifying and establishing preferred modalities or channels for communications based on participants' preferences and contexts
US6714967B1 (en) 1999-07-30 2004-03-30 Microsoft Corporation Integration of a computer-based message priority system with mobile electronic devices
JP2002207683A (ja) 2001-01-09 2002-07-26 Nippon Telegraph & Telephone West Corp コミュニケーションシステム
US20020161685A1 (en) * 2001-04-25 2002-10-31 Michael Dwinnell Broadcasting information and providing data access over the internet to investors and managers on demand
US20020159464A1 (en) * 2001-04-25 2002-10-31 Lewis Woodrow T. Method of and system for providing parallel media gateway
US7590684B2 (en) 2001-07-06 2009-09-15 Check Point Software Technologies, Inc. System providing methodology for access control with cooperative enforcement
US7379993B2 (en) 2001-09-13 2008-05-27 Sri International Prioritizing Bayes network alerts
US7107316B2 (en) 2001-09-20 2006-09-12 International Business Machines Corporation Controlling throughput of message requests in a messaging system
EP1446925A1 (de) 2001-10-25 2004-08-18 Worldcom, Inc. Qualitätsanzeiger für kommunikationssitzungen
DE60140471D1 (de) 2001-12-13 2009-12-24 Sony Deutschland Gmbh Adaptive Dienstqualitätsreservierung mit vorheriger Ressourcenzuweisung für Mobilfunksysteme
US7802207B2 (en) 2001-12-13 2010-09-21 Nvidia International, Inc. System, method, and article of manufacture for generating a customizable network user interface
US7266591B1 (en) 2001-12-17 2007-09-04 Verizon Business Global Llc Providing content delivery during a call hold condition
US8605711B1 (en) 2001-12-17 2013-12-10 Verizon Business Global Llc Small office or home office (SOHO) IP phone service
US20030131245A1 (en) 2002-01-04 2003-07-10 Michael Linderman Communication security system
US20030188193A1 (en) 2002-03-28 2003-10-02 International Business Machines Corporation Single sign on for kerberos authentication
US8856236B2 (en) 2002-04-02 2014-10-07 Verizon Patent And Licensing Inc. Messaging response system
WO2003094080A1 (en) 2002-05-03 2003-11-13 Manugistics, Inc. System and method for sharing information relating to supply chain transactions in multiple environments
US7391748B2 (en) 2002-10-15 2008-06-24 Cisco Technology, Inc. Configuration of enterprise gateways
US7178163B2 (en) 2002-11-12 2007-02-13 Microsoft Corporation Cross platform network authentication and authorization model
US7899048B1 (en) * 2003-01-15 2011-03-01 Cisco Technology, Inc. Method and apparatus for remotely monitoring network traffic through a generic network
US20040216173A1 (en) * 2003-04-11 2004-10-28 Peter Horoszowski Video archiving and processing method and apparatus
EP2270622B1 (de) 2003-06-05 2016-08-24 Intertrust Technologies Corporation Interoperable systeme und verfahren für die peer-to-peer-dienstorchestrierung
US20050084082A1 (en) 2003-10-15 2005-04-21 Microsoft Corporation Designs, interfaces, and policies for systems that enhance communication and minimize disruption by encoding preferences and situations
US20050177380A1 (en) 2004-02-09 2005-08-11 Pritchard Gordon W. System, computer program and method for enabling individual client users to recruit, connect to, and manage a remote workforce through a shared network
JP4047303B2 (ja) 2004-06-04 2008-02-13 キヤノン株式会社 提供装置、提供プログラム、及び、提供方法
US7636348B2 (en) 2004-06-30 2009-12-22 Bettis Sonny R Distributed IP architecture for telecommunications system with video mail
FR2872983A1 (fr) 2004-07-09 2006-01-13 Thomson Licensing Sa Systeme de pare-feu protegeant une communaute d'appareils, appareil participant au systeme et methode de mise a jour des regles de pare-feu au sein du systeme
JP4101215B2 (ja) 2004-08-06 2008-06-18 キヤノン株式会社 セキュリティポリシー設定方法
US7502514B2 (en) * 2004-11-15 2009-03-10 Smith Micro Software, Inc. System and method for lossless compression of already compressed files
US8473617B2 (en) 2004-12-31 2013-06-25 Sony Corporation Media client architecture for networked communication devices
US20060159063A1 (en) 2005-01-19 2006-07-20 Gopesh Kumar A System and Method for Businesses to advertise to receive and measure incoming Prospect Leads through a unique, empowered Independent Agent framework
US8813181B2 (en) 2005-03-07 2014-08-19 Taun Eric Willis Electronic verification systems
US8825871B2 (en) 2005-03-16 2014-09-02 Icontrol Networks, Inc. Controlling data routing among networks
US20060230438A1 (en) 2005-04-06 2006-10-12 Ericom Software Ltd. Single sign-on to remote server sessions using the credentials of the local client
EP1877904B1 (de) 2005-05-05 2015-12-30 Cisco IronPort Systems LLC Erkennung unerwünschter e-mail-nachrichten auf der basis einer wahrscheinlichkeitsanalyse referenzierter ressourcen
US8606950B2 (en) 2005-06-08 2013-12-10 Logitech Europe S.A. System and method for transparently processing multimedia data
US7730309B2 (en) 2005-07-27 2010-06-01 Zimmermann Philip R Method and system for key management in voice over internet protocol
US20070078768A1 (en) * 2005-09-22 2007-04-05 Chris Dawson System and a method for capture and dissemination of digital media across a computer network
CN100456834C (zh) 2005-10-17 2009-01-28 华为技术有限公司 H.264多媒体通信的服务质量监测方法
US20070143408A1 (en) 2005-12-15 2007-06-21 Brian Daigle Enterprise to enterprise instant messaging
US8015484B2 (en) 2006-02-09 2011-09-06 Alejandro Backer Reputation system for web pages and online entities
US20070255662A1 (en) 2006-03-30 2007-11-01 Obopay Inc. Authenticating Wireless Person-to-Person Money Transfers
US8019815B2 (en) * 2006-04-24 2011-09-13 Keener Jr Ellis Barlow Interactive audio/video method on the internet
FI20065288A (fi) 2006-05-03 2007-11-04 Emillion Oy Autentikointi
US9251296B2 (en) 2006-08-18 2016-02-02 National Instruments Corporation Interactively setting a search value in a data finder tool
US8386464B2 (en) 2006-08-18 2013-02-26 National Instruments Corporation Configuration of optimized custom properties in a data finder tool
US8099400B2 (en) 2006-08-18 2012-01-17 National Instruments Corporation Intelligent storing and retrieving in an enterprise data system
DE102006051186A1 (de) 2006-10-30 2008-05-08 Siemens Ag Infrastruktur-Servicearchitektur für Applikationen
US20080133767A1 (en) * 2006-11-22 2008-06-05 Metis Enterprise Technologies Llc Real-time multicast peer-to-peer video streaming platform
US8228898B2 (en) * 2006-11-27 2012-07-24 International Business Machines Corporation Method and system for distributed call recording
US20080162642A1 (en) 2006-12-28 2008-07-03 International Business Machines Corporation Availability Filtering for Instant Messaging
US8693392B2 (en) 2007-02-21 2014-04-08 Avaya Canada Corp. Peer-to-peer communication system and method
WO2008101329A1 (en) 2007-02-21 2008-08-28 Avaya Canada Corp. Bootstrapping in peer-to-peer networks with network address translators
US8737596B2 (en) 2007-09-29 2014-05-27 Alcatel Lucent Real-time collaboration center
US20090094684A1 (en) 2007-10-05 2009-04-09 Microsoft Corporation Relay server authentication service
WO2009051528A1 (en) 2007-10-17 2009-04-23 Telefonaktiebolaget Lm Ericsson (Publ). Method and arragement for deciding a security setting
US9009603B2 (en) 2007-10-24 2015-04-14 Social Communications Company Web browser interface for spatial communication environments
US8300632B2 (en) 2008-02-21 2012-10-30 Avaya Inc. System and method for distributed call monitoring/recording using the session initiation protocol (SIP)
US8131668B2 (en) 2008-05-28 2012-03-06 Sap Ag User-experience-centric architecture for data objects and end user applications
US20100011282A1 (en) 2008-07-11 2010-01-14 iCyte Pty Ltd. Annotation system and method
US8250635B2 (en) 2008-07-13 2012-08-21 International Business Machines Corporation Enabling authentication of openID user when requested identity provider is unavailable
US7921089B2 (en) 2008-07-24 2011-04-05 Zscaler, Inc. Feature based data management
US8286255B2 (en) 2008-08-07 2012-10-09 Sophos Plc Computer file control through file tagging
CN102273267B (zh) 2008-11-06 2015-01-21 夏普株式会社 控制站、移动台、移动通信系统和移动通信方法
US7843826B2 (en) * 2008-11-07 2010-11-30 Avaya Inc. Automatic detection and re-configuration of priority status in telecommunications networks
NO331287B1 (no) * 2008-12-15 2011-11-14 Cisco Systems Int Sarl Fremgangsmate og anordning for gjenkjenning av ansikter i en videostrom
US8494507B1 (en) 2009-02-16 2013-07-23 Handhold Adaptive, LLC Adaptive, portable, multi-sensory aid for the disabled
GB2468759B (en) 2009-03-16 2012-10-03 Avaya Inc Advanced availability detection
GB2468758B (en) 2009-03-16 2012-01-11 Avaya Inc Advanced availability detection
JP5620134B2 (ja) 2009-03-30 2014-11-05 アバイア インク. グラフィカル表示を用いて通信セッションの信頼関係を管理するシステムと方法。
US8744147B2 (en) 2009-06-16 2014-06-03 Robert Torti Graphical digital medical record annotation
US8194508B2 (en) 2009-11-05 2012-06-05 Seagate Technology Llc Waveform based bit detection for bit patterned media
US9043488B2 (en) 2010-03-29 2015-05-26 Damaka, Inc. System and method for session sweeping between devices
US8656297B2 (en) * 2010-03-31 2014-02-18 Microsoft Corporation Enhanced virtualization system
US20120001932A1 (en) 2010-07-02 2012-01-05 Burnett William R Systems and methods for assisting visually-impaired users to view visual content
US8743781B2 (en) 2010-10-11 2014-06-03 Damaka, Inc. System and method for a reverse invitation in a hybrid peer-to-peer environment
US8645872B2 (en) 2010-11-30 2014-02-04 Verizon Patent And Licensing Inc. User interfaces for facilitating merging and splitting of communication sessions
US8832271B2 (en) 2010-12-03 2014-09-09 International Business Machines Corporation Identity provider instance discovery
US9178917B2 (en) 2010-12-16 2015-11-03 Palo Alto Research Center Incorporated Custodian routing with network address translation in content-centric networks
WO2012099617A1 (en) 2011-01-20 2012-07-26 Box.Net, Inc. Real time notification of activities that occur in a web-based collaboration environment
EP3734406A1 (de) 2011-02-10 2020-11-04 Samsung Electronics Co., Ltd. Tragbare vorrichtung mit einer berührungsbildschirmanzeige und verfahren zur steuerung davon
US8848025B2 (en) * 2011-04-21 2014-09-30 Shah Talukder Flow-control based switched group video chat and real-time interactive broadcast
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
US9276856B2 (en) 2011-10-10 2016-03-01 Salesforce.Com, Inc. Slipstream bandwidth management algorithm
US20130138829A1 (en) * 2011-11-30 2013-05-30 Rovi Technologies Corporation Scalable video coding over real-time transport protocol
EP2815570A4 (de) 2012-02-13 2015-11-11 Tata Comm Videositzungsmanager und verfahren zur aktivierung und verwaltung von videoanrufen und telepräsenzkommunikationssitzungen über mehrere domänen
US9240941B2 (en) * 2012-05-09 2016-01-19 Twilio, Inc. System and method for managing media in a distributed communication network
US20130346329A1 (en) 2012-05-14 2013-12-26 NetSuite Inc. System and methods for social data sharing capabilities for enterprise information systems
US9705729B2 (en) 2012-06-01 2017-07-11 Dell Products L.P. General client engine with load balancing for client-server communication
FR2993071B1 (fr) 2012-07-03 2016-05-06 Videodesk Systeme d'affichage d'une page web
US10164929B2 (en) 2012-09-28 2018-12-25 Avaya Inc. Intelligent notification of requests for real-time online interaction via real-time communications and/or markup protocols, and related methods, systems, and computer-readable media
US9363133B2 (en) 2012-09-28 2016-06-07 Avaya Inc. Distributed application of enterprise policies to Web Real-Time Communications (WebRTC) interactive sessions, and related methods, systems, and computer-readable media
US9280540B2 (en) * 2012-10-01 2016-03-08 Verizon Patent And Licensing Inc. Content-driven download speed
US10084848B2 (en) 2012-10-16 2018-09-25 At&T Intellectual Property I, L.P. Centralized control of user devices via universal IP services registrar/hub
US20150229635A1 (en) 2012-10-19 2015-08-13 Unify Gmbh & Co. Kg Method and system for creating a virtual sip user agent by use of a webrtc enabled web browser
US9112975B2 (en) * 2012-11-05 2015-08-18 Genesys Telecommunications Laboratories, Inc. System and method for web-based real time communication with contact centers
US8867731B2 (en) * 2012-11-05 2014-10-21 Genesys Telecommunications Laboratories, Inc. System and method for web-based real time communication with optimized transcoding
US9131067B2 (en) 2012-11-05 2015-09-08 Genesys Telecommunications Laboratories, Inc. System and method for out-of-band communication with contact centers
EP2787696B1 (de) 2012-11-15 2016-10-26 Huawei Device Co., Ltd. Verfahren und vorrichtung zur übertragung einer echtzeit-webkommunikationssitzung
US10708335B2 (en) * 2012-11-16 2020-07-07 Time Warner Cable Enterprises Llc Situation-dependent dynamic bit rate encoding and distribution of content
CN105009519A (zh) 2012-11-23 2015-10-28 卡尔加里科技股份有限公司 用于来自协作应用会话的对等式发现和连接的方法和系统
US8601144B1 (en) 2012-11-27 2013-12-03 Sansay, Inc. Systems and methods for automatic ICE relay candidate creation
US9001975B2 (en) 2012-12-11 2015-04-07 Genesys Telecommunications Laboratories, Inc. Contact center recording service
US9984374B2 (en) 2013-02-25 2018-05-29 Genesys Telecommunications Laboratories Inc. Mobile expert desktop
US9258292B2 (en) 2013-01-14 2016-02-09 Futurewei Technologies, Inc. Adapting federated web identity protocols
US9307031B2 (en) 2013-02-04 2016-04-05 Oracle International Corporation Generic model for customizing protocol behavior through javascript
US9712593B2 (en) 2013-02-04 2017-07-18 Oracle International Corporation Javascript API for WebRTC
US9331967B2 (en) 2013-02-04 2016-05-03 Oracle International Corporation Browser/HTML friendly protocol for real-time communication signaling
US9668166B2 (en) 2013-02-05 2017-05-30 Qualcomm Incorporated Quality of service for web client based sessions
US20140237057A1 (en) 2013-02-21 2014-08-21 Genesys Telecommunications Laboratories, Inc. System and method for processing private messages in a contact center
EP2770667B1 (de) 2013-02-22 2015-09-30 Telefonica Digital España, S.L.U. Verfahren und System für kombiniertes P2P und zentralrelais-serverbasierte Telekommunikationskonferenz, welche eine Telefonie und ein Konferenzprotokoll verwendet
US9552338B2 (en) 2013-03-11 2017-01-24 Futurewei Technologies, Inc. Mechanisms to compose, execute, save, and retrieve hyperlink pipelines in web browsers
US8949912B2 (en) * 2013-03-12 2015-02-03 Centurylink Intellectual Property Llc ABR live to VOD system and method
US9178998B2 (en) 2013-03-12 2015-11-03 Avaya Inc. System and method for recording calls in a WebRTC contact center
US9430757B2 (en) 2013-03-13 2016-08-30 Genesys Telecommunications Laboratories, Inc. Rich personalized communication context
US9294458B2 (en) 2013-03-14 2016-03-22 Avaya Inc. Managing identity provider (IdP) identifiers for web real-time communications (WebRTC) interactive flows, and related methods, systems, and computer-readable media
US8695077B1 (en) 2013-03-14 2014-04-08 Sansay, Inc. Establishing and controlling communication sessions between SIP devices and website application servers
US9158534B2 (en) 2013-03-15 2015-10-13 Wolters Kluwer United States Inc. Smart endpoint architecture
US9160663B2 (en) * 2013-03-15 2015-10-13 Google Inc. Dynamic congestion control
US20140282054A1 (en) 2013-03-15 2014-09-18 Avaya Inc. Compensating for user sensory impairment in web real-time communications (webrtc) interactive sessions, and related methods, systems, and computer-readable media
US9191297B2 (en) 2013-03-28 2015-11-17 Hcl Technologies Limited Providing feedback to media senders over real time transport protocol (RTP)
WO2014175919A1 (en) 2013-04-26 2014-10-30 Intel IP Corporation Shared spectrum reassignment in a spectrum sharing context
US8861692B1 (en) 2013-05-15 2014-10-14 Verizon Patent And Licensing Inc. Web call access and egress to private network
US10055742B2 (en) 2013-05-15 2018-08-21 Verizon Patent And Licensing Inc. Call transfers for web-delivered calls
WO2014190094A1 (en) 2013-05-21 2014-11-27 Ecrio, Inc. Real-time rich communications client architecture
US10205624B2 (en) * 2013-06-07 2019-02-12 Avaya Inc. Bandwidth-efficient archiving of real-time interactive flows, and related methods, systems, and computer-readable media
US9781167B2 (en) 2013-06-21 2017-10-03 Verizon Patent And Licensing Inc. WebRTC data channel facilitating IMS support of RCS features
US20150006610A1 (en) 2013-06-30 2015-01-01 Avaya Inc. Virtual web real-time communications (webrtc) gateways, and related methods, systems, and computer-readable media
US9065969B2 (en) 2013-06-30 2015-06-23 Avaya Inc. Scalable web real-time communications (WebRTC) media engines, and related methods, systems, and computer-readable media
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
US9112840B2 (en) 2013-07-17 2015-08-18 Avaya Inc. Verifying privacy of web real-time communications (WebRTC) media channels via corresponding WebRTC data channels, and related methods, systems, and computer-readable media
US9282125B2 (en) 2013-07-30 2016-03-08 Unify Gmbh & Co. Kg Apparatus and method for communications involving a legacy device
US20150039760A1 (en) 2013-07-31 2015-02-05 Avaya Inc. Remotely controlling web real-time communications (webrtc) client functionality via webrtc data channels, and related methods, systems, and computer-readable media
US9614890B2 (en) 2013-07-31 2017-04-04 Avaya Inc. Acquiring and correlating web real-time communications (WEBRTC) interactive flow characteristics, 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 华为终端(东莞)有限公司 视频会议中媒体流的传输方法与装置
US9762533B2 (en) 2013-12-20 2017-09-12 Futurewei Technologies, Inc. Method of IMS (SIP network) webRTC optimized P2P communication

Also Published As

Publication number Publication date
US10205624B2 (en) 2019-02-12
US20140365676A1 (en) 2014-12-11
DE102014107943B4 (de) 2021-06-02

Similar Documents

Publication Publication Date Title
DE102014107943B4 (de) Bandbreiteneffiziente Archivierung interaktiver Echtzeitflüsse 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
DE102014108888B4 (de) Virtuelle Back-to-Back-Web-Real-Time-Communications(WebRTC)-Agenten und verwandte Verfahren, Systeme und computerlesbare Medien
DE102014108903B4 (de) Skalierbare Web-Real-Time-Communications(WebRTC)-Medienengines und verwandte Verfahren, Systeme und computerlesbare Medien
US9614890B2 (en) Acquiring and correlating web real-time communications (WEBRTC) interactive flow characteristics, and related methods, systems, and computer-readable media
US9100320B2 (en) Monitoring network performance remotely
DE102014108904A1 (de) Virtuelle Web-Real-Time-Communications(WebRTC)-Gateways und verwandte Verfahren, Systeme und computerlesbare Medien
DE60131990T2 (de) Vorrichtung und verfahren zur selektiven verschlüsselung von über ein netzwerk zu übertragenden multimediadaten
DE102014103209A1 (de) Ausgleichen sensorischer benutzerbeeinträchtigungen bei interaktiven web-real-time-communications(webrtc)-sitzungen und verwandte verfahren, systeme und computerlesbare medien
DE102011053849B4 (de) Verfahren und Vorrichtungen zum Autorisieren in gemeinschaftlichen Kommunikationssitzungen
DE102012013336B4 (de) Aushandeln einer kontinuierlichen multi-stream-präsenz
KR102127019B1 (ko) 무선 네트워크 상에서의 멀티 모달 통신 우선순위
DE202014010945U1 (de) Systeme zur Bereitstellung von Meldungen von Änderungen in einem Cloud-basierten Dateisystem
DE112012002224B4 (de) Qualität von VoIP-Sitzungen
DE102005016033A1 (de) Verfahren und Systeme zum Analysieren von Netzwerkübertragungsereignissen
DE102014115893A1 (de) Bereitstellen einer intelligenten Verwaltung für interaktive Web-Real-Time-Communications(WebRTC)-Flüsse und verwandte Verfahren, Systeme und computerlesbare Medien
US10225212B2 (en) Providing network management based on monitoring quality of service (QOS) characteristics of web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media
DE102014115895B4 (de) Bereitstellen eines Ursprungseinblicks für Webanwendungen über Session-Traversal-Utilities-for-Network-Address-Translation(STUN)-Nachrichten und verwandte Verfahren, Systeme und computerlesbare Medien
DE112016000400T5 (de) Verbessern der Qualitätserfahrung für Kommunikationssitzungen
DE112016002207T5 (de) Erstellung und verwaltung von ladenbesuchsdaten
DE102017117742A1 (de) Transaktionsbasierte Nachrichtensicherheit
DE112010003638T5 (de) Öffentliche BOT-Verwaltung in privaten Netzwerken
DE102006018645A1 (de) Verfahren, Vorrichtungen und Computerprogrammprodukt zum Ver- und Entschlüsseln von Mediendaten
DE112011102212T5 (de) Verfahren und System für Cloud-basierten Medienanpassungs- und Transcoding-Service
DE102020118411A1 (de) Verfahren und systeme zum übertragen eines bildes in sätzen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012260000

Ipc: H04L0043000000

R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee