DE102011008793A1 - Nachrichtenweitergabe-Rahmenwerk für Audio-/Video-Streaming in einer Topologie von Geräten - Google Patents

Nachrichtenweitergabe-Rahmenwerk für Audio-/Video-Streaming in einer Topologie von Geräten Download PDF

Info

Publication number
DE102011008793A1
DE102011008793A1 DE102011008793A DE102011008793A DE102011008793A1 DE 102011008793 A1 DE102011008793 A1 DE 102011008793A1 DE 102011008793 A DE102011008793 A DE 102011008793A DE 102011008793 A DE102011008793 A DE 102011008793A DE 102011008793 A1 DE102011008793 A1 DE 102011008793A1
Authority
DE
Germany
Prior art keywords
message
action
destination
source
devices
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
DE102011008793A
Other languages
English (en)
Other versions
DE102011008793B4 (de
Inventor
Srikanth Kambhatla
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE102011008793A1 publication Critical patent/DE102011008793A1/de
Application granted granted Critical
Publication of DE102011008793B4 publication Critical patent/DE102011008793B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • 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/1089In-session procedures by adding media; by removing media
    • 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/1094Inter-user-equipment sessions transfer or sharing
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2352/00Parallel handling of streams of display data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/10Use of a protocol of communication by packets in interfaces along the display data pipeline
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/20Details of the management of multiple sources of image data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

Ressourcen können in einer Topologie für Audio-/Video-Streaming gehandhabt werden. Die Topologie umfasst Audio-/Video-Quellen und -Senken und dazwischen befindliche Abzweiggeräte. Nachrichten zwischen diesen Quellen, Senken, und Abzweiggeräten können für das Ressourcenmanagement verwendet werden.

Description

  • Hintergrund
  • Dies bezieht sich generell auf Geräte, die Video- und Audiodaten ausgeben und beziehen.
  • DisplayPort ist ein digitaler Audio-/Video-Kopplungsstrukturstandard der Video Electronic Standards Association (VESA). Er ermöglicht, dass Video und Audio von einem Computer an ein Videodisplay oder ein Audiowiedergabesystem gekoppelt werden können. Der DisplayPort-Anschluss unterstützt 1, 2 oder 4 Datenpaare in einem Haupt-Link, der auch Takt- und optionale Audiosignale mit Symbolraten von 1,62, 2,7 oder 5,4 Gigabit pro Sekunde transportiert. Ein Standard 1.1 wurde im Mai 2006 zugelassen und 2009 wurde ein Standard 1.2 mit erhöhten Datenraten angekündigt. Der DisplayPort-Standard 1.2 verdoppelt die Bandbreite des Standards 1.1.
  • Mit dem DisplayPort-Standard 1.2 können zwei WQXGA-Monitore Audio-/Video-Daten von einem einzelnen Quellen-Link beziehen oder vier WUXGA-Monitore können Daten von einem einzelnen Quellen-Link beziehen. Des Weiteren ermöglicht der Standard 1.2 einen AUX mit höherer Geschwindigkeit, der für USB-Peripheriegerätedatentransfer, Mikrofon-Audioübertragung oder Kamera-Videoübertragung verwendet werden kann, um einige Anwendungen zu erwähnen.
  • Display- oder Senke-Geräte können an Quellen-Geräte, wie beispielsweise Personalcomputer oder Unterhaltungselektronikgeräte, entweder direkt oder über das, was Abzweiggeräte genannt wird, angeschlossen werden. Viele Arten von Abzweiggeräten existieren einschließlich Repeater, die Audio- oder Videoinformation wiederholen, Wandler, die Audio- oder Videoinformation von einem Format in ein anderes konvertieren, Replikatoren, welche die Daten reproduzieren, und Konzentratoren, die Streams von zwei oder mehr Quellen-Geräten als Eingänge nehmen und sie auf deren nachgeschaltete Links übertragen. Schnittstellenstandards, wie beispielsweise DisplayPort 1.2, ermöglichen mehrere Streams auf einem Link; in solchen Fällen können diese zwei oder mehr Eingangsstreams an einen einzelnen nachgeschalteten Link gesendet werden. Einige Konzentratoren können in einer geschalteten Art arbeiten, d. h., nur eine ausgewählte Quelle kann auf einmal übertragen.
  • Zusammen bilden die Quelle-, Senke- und Abzweiggeräte eine Topologie, in der eine gegebene Quelle Video zu einer oder mehreren Senken durch die null oder mehr Abzweiggeräte streamen kann. Aktive Videodaten bewegen sich durch Links, die verschiedene Gerätearten verbinden. Jeder Link ist durch seine Bandbreite und die Zahl an Streams beschränkt, die er unterstützt. Eine Senke hat eine begrenzte Anzahl von Audio- und Videoendpunkten, um den Stream wiederzugeben. Deshalb kann es basierend auf der Topologie einen Wettstreit für die verfügbaren Video- oder Audioressourcen geben.
  • Eine solche Topologie, die in 1 dargestellt ist, kann wie gezeigt zwei Quellen und fünf Senken umfassen. Eine Quelle Nummer 1 will Video zur Senke Nummer 1 streamen und Quelle Nummer 2 will Video zur Senke Nummer 2 streamen, wobei der Link zwischen Zweig Nummer 2 und Zweig Nummer 3 beiden Pfaden gemeinsam ist. Deshalb können sich Probleme an der Quelle in Bezug auf diesen Wettstreit ergeben einschließlich, wie viel Bandbreite in diesem oder irgendeinem anderen Link entlang dem Pfad verfügbar ist. Ein anderes Problem ist, wie Ressourcen auf dem Pfad reserviert werden können. Noch ein weiteres Problem ist, wie viele Audio-/visuelle Streams angesteuert werden können. Andere Probleme umfassen, wie der Zugriff zu gemeinsam benutzten Ressourcen gehandhabt werden kann und wie Fehler kommuniziert werden können.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist eine schematische Darstellung einer Audio-/Video-Verteilungstopologie gemäß einer Ausführungsform;
  • 2 ist ein Sequenz-Diagramm für Aufzählung, Übergabe und Freigabe gemäß einer Ausführungsform;
  • 3 ist eine schematische Darstellung für eine Ausführungsform eines Abzweiggeräts;
  • 4 ist ein Ablaufdiagramm für die Aufzählungssoftware gemäß einer Ausführungsform;
  • 5 ist ein Nachrichtensequenz-Diagramm gemäß einer Ausführungsform;
  • 6 ist ein Sequenz-Diagramm für die Aufzählung von Pfad-Ressourcen gemäß einer Ausführungsform;
  • 7 ist ein Sequenz-Diagramm, das zeigt, wie verschiedene Display-Konfigurationen für die in 6 gezeigte Topologie etabliert werden können;
  • 8 ist eine Darstellung einer potenziellen Zuordnung zwischen zwei Quellen und zwei Senken gemäß einer Ausführungsform;
  • 9 ist ein Ablaufdiagramm für eine Ausführungsform;
  • 10 ist ein Ablaufdiagramm für eine Ausführungsform;
  • 11 ist eine Nachrichtensequenz gemäß einer Ausführungsform;
  • 12 ist eine Aufwärtsaktionspfad-Nachrichtensequenz gemäß einer Ausführungsform;
  • 13 ist eine Zuordnung von Ziel-Sequenzen gemäß einer Ausführungsform;
  • 14 ist ein Nachrichtensequenz-Diagramm für eine Uplink-Aktionspfadnachricht gemäß einer Ausführungsform;
  • 15 ist eine Darstellung von Verbindungen zwischen Quelle- und Abzweiggeräten gemäß einer Ausführungsform;
  • 16 ist eine Darstellung von mehreren Quellen- und Abzweiggeräten gemäß einer Ausführungsform;
  • 17 ist eine Darstellung einer Topologie mit zwei Videoendpunkten gemäß einer Ausführungsform; und
  • 18 ist ein Ablaufdiagramm für eine Ausführungsform.
  • Ausführliche Beschreibung
  • Gemäß einigen Ausführungsformen können spezifische Nachrichten zwischen Geräten ausgetauscht werden, die Video- und Audiodaten ausgeben und beziehen. Eine koordinierte Aktion kann von Geräten entlang einem Pfad zwischen Quelle- und Senke-Geräten als Antwort auf diese Nachrichten vorgenommen werden. Nachrichten können zu einem vorbestimmten Ziel gesendet werden, das durch seine Adresse spezifiziert ist. Die Nachrichten ENUM_PATH_RESOURCES, COMMIT_PATH_RESOURCES und RELEASE_PATH_RESOURCES können wie gezeigt in 2 verwendet werden. Diese Nachrichten können zum Beispiel auf dem AUX-Kanal in der DisplayPort-Spezifikation gesendet werden.
  • Adressbereiche werden vor der Nachrichtenübertragung erzeugt. Jede Quelle 10 sendet ENUM_PATH_RESOURCE-Nachricht 18 zur gewünschten Senke 16, um die Haupt-Link-Bandbreite und die Anzahl an Streams aufzuzählen. Das Abzweiggerät 14 direkt vor der gewünschten Senke 16 antwortet mit der verfügbaren Bandbreite (BW = x) und Anzahl an Streams (# STREAMS = s), wie gezeigt bei 20. Bevor diese Antwort weiter Upstream propagiert wird, ändert der vorgeschaltete Abzweig 12 die verfügbare Bandbreite (BW = x') und Stream-Anzahl (# STREAMS = s') vom nachgeschalteten Abzweig 14 ab, um zu reflektieren, was vom nachgeschalteten Pfad, wie gezeigt bei 22, ausführbar ist.
  • Schließlich erhält die Quelle 10 die Ressourcen des Pfades. Die Nachricht wird auf einem Steuerbus (wie beispielsweise AUX am DisplayPort) gesendet, aber die Abfrage gilt für Haupt-Link-Ressourcen. Es gibt keine Reservierung der Bandbreite auf dem Steuerbus und Steuerungsnachrichten werden zwischen Geräten in der Topologie ausgetauscht, auch wenn die Haupt-Link-Ressource durch eine oder zwei Quellen vollständig vorbesetzt ist.
  • Als Teil der Nachrichtenverarbeitung mag jedes Gerät den Haupt-Link entlang dem spezifizierten Pfad trainieren müssen, um die Menge der Bandbreite zu bestimmen, die als nachgeschalteter Link verfügbar ist. Audioressourcen werden auch als Teil dieses Verfahrens aufgezählt. Dies dient dazu, die Anzahl an Endpunkten zu bestimmen, die zu irgendeinem gegebenen Zeitpunkt für Streaming verfügbar sind.
  • Link-Bandbreiten-Aufzählung wird in Betriebssystem-Operationen eingegeben, wie beispielsweise Videomodus-Aufzählung. Basierend darauf und auf asynchroner Auswahl durch den Endbenutzer des Videomodus, der auszugeben ist, kann ein Übergabeverfahren unter Verwendung einer COMMIT_PATH_RESOURCES-Nachricht 24 wie folgt ausgeführt werden. Die aufgezählte Bandbreite könnte zum Übergabezeitpunkt nicht verfügbar sein. Zum Beispiel können unterschiedliche Quellen unterschiedliche ENUM_PATH_RESOURCES-Nachrichten zu einer gegebenen Zeit zu derselben Senke senden. Sie könnten auch für unterschiedliche Senken mit Pfaden sein, die einen gemeinsamen Link aufweisen. Als ein Beispiel folgt der Sequenz von Quelle Nummer 1-Aufzählung, gefolgt von Quelle Nummer 2-Aufzählung, gefolgt von Quelle Nummer 1-Übergabe zum Beispiel die Quelle Nummer 2-Übergabe, die wegen der vorherigen Quelle Nummer 1-Übergabe misslingt.
  • Die Quelle 10 sendet eine COMMIT_PATH_RESOURCE-Nachricht 24 zur Senke 16. Die Nachricht hat die gewünschte Bandbreite und Anzahl an Streams. Alle Geräte entlang dem spezifizierten Pfad (z. B. die Abzweige 12 und 14) reservieren die Ressourcen für diese Quelle. Die Antworten 26 und 28 können einen Erfolg oder Misserfolg anzeigen.
  • Jedes Gerät propagiert COMMIT_PATH_RESOURCES 24 nur, wenn es imstande ist, die gewünschten Ressourcen erfolgreich zu übergeben. Zusätzlich zu unabhängigen Ressource-Übergaben von unterschiedlichen Quellen-Geräten ist es möglich, dass die dazwischen befindlichen Links entlang dem Pfad zu einer niedrigeren Bandbreite umlernen können, was einen weiteren Grund für einen Misserfolg bietet. Link-Training ist der Handshake, der ausgeführt wird, um den Sender oder Empfänger über eine elektrische Konfiguration übereinstimmen zu lassen. Um an eine Topologie von Geräten zu berichten, wird diese Vorstellung auf einen gesamten Pfad ausgedehnt, wobei jeder Link auf dem Pfad in einer koordinierten Art, genannt Pfad-Training, trainiert werden muss.
  • Es ist möglich, dass einige Geräte erfolgreich übergebene Ressourcen für einen Video-Stream aufweisen können, bevor ein nachgeschaltetes Gerät dabei versagt, zu übergeben. Um diese Ressourcen freizugeben, kann das Quellen-Gerät eine RELEASE_PATH_RESOURCES 30-Nachricht nach dem Empfangen eines Misserfolgs auf COMMIT_PATH_RESOURCES aussenden.
  • Ein aktives Video beginnt nach dem erfolgreichen Abschluss von COMMIT_PATH_RESOURCES. Im umgekehrten Fall, wenn der Stream abgeschlossen werden soll, gibt die Quelle RELEASE_PATH_RESOURCES 32 aus, um die Freigabe von übergebenen Ressourcen bei Geräten entlang dem Pfad zu ermöglichen.
  • Mit Bezug auf 3 umfassen Quelle 10, Senke 16 und jedes der Abzweiggeräte 12 oder 14, wie gezeigt in 3 als 34, einen Prozessor 36. Der Prozessor kann mit einem Empfänger 38 und dem Sender 40 gekoppelt sein. Der Prozessor 36 kann bei einer Ausführungsform auch mit einem Speicher 42 gekoppelt sein, welcher Software einschließlich der Aufzählungs-Software 44 speichert. Deshalb kann der Speicher 42 ein computerlesbares Medium sein, das Befehle speichert, die von Prozessor 36 ausgeführt werden. Der Speicher 42 kann ein Halbleiter-, optischer oder magnetischer Speicher sein.
  • Die Aufzählungs-Sequenz 44, gezeigt in 4, kann bei einer Ausführungsform Software sein, aber sie kann auch in Hardware oder Firmware implementiert sein. Eine Prüfung bei Diamant 46 bestimmt, ob eine Aufzählungs-Nachricht durch ein Abzweiggerät empfangen wurde. Wenn dies zutrifft, antwortet das die Nachricht empfangende Abzweiggerät dem vorgeschalteten Abzweiggerät mit der verfügbaren Bandbreite des empfangenden Geräts und der verfügbaren Anzahl an Streams.
  • Wenn ein empfangendes Gerät die Aufzählungs-Nachricht nach einem Zeitraum nicht empfängt, bestimmt eine Prüfung bei Diamant 50, ob ein nicht empfangendes Gerät ein vorgeschaltetes Gerät ist, das eine Nachricht von einem nachgeschalteten Gerät empfängt, die eine Bandbreite und eine Anzahl an Streams spezifiziert. Wenn dies zutrifft, modifiziert das vorgeschaltete Gerät die empfangene Bandbreite und die Anzahl an erforderlichen Streams, um seine Fähigkeiten zu reflektieren. Es sendet dann wie gezeigt im Block 54 entweder die ursprüngliche Bandbreite und Anzahl an Streams oder die modifizierten Zahlen wie erforderlich zum folgenden Abzweig oder zur Quelle.
  • Mit Bezug auf 5 umfasst ein Nachrichtensequenz-Diagramm für die Addition und Löschung eines Streams eine Quelle 60 und zwei Senken 62, 64 mit geeigneten Stream-Identifikatoren. Der Identifikator für Senke1 62 ist „1” und der Identifikator für Senke2 64 ist 1.2. Jedes Gerät umfasst einen Port bezeichnet mit „1” oder „2”.
  • Dann ist unter Bezugnahme auf 6 ein Sequenz-Diagramm zwischen einer Quelle1 60, einem Abzweig plus Senke1 62 und einer Senke2 64 dargestellt. AUX bezieht sich auf den Steuerkanal, und Haupt-Link bezieht sich auf den Datenkanal.
  • Jeder Link in einer Topologie, wie die in 5 gezeigte, kann beispielsweise aus unabhängigen Steuer- und Datenkanälen bestehen und die Verbindungen sind Punkt-zu-Punkt-Verbindungen. Es gibt eine Fähigkeit, Nachrichten auf dem Steuerkanal zu irgendeinem Gerät zu senden, das Adressier- und Routing-Mechanismen verwendet. Das Verfahren schließt lokal eindeutige Identifikatoren für den Stream bei den Quellen und die Einhaltung von Zuordnungstabellen und Konzentratoren, wie gezeigt in 6, ein.
  • Während einer Adressgenerierungsphase werden Adressen für jedes der Geräte in der Topologie vereinbart, indem Adressgenerierungsnachrichten 66 gesendet werden. Dann sendet die Quelle ENUM_PATH_RESOURCES-Nachricht 68 zum Abzweig + Senke1 62 über den Steuerkanal, der als AUX gezeigt ist. Sie sendet auch eine COMMIT_PATH_RESOURCES-Nachricht 70 über den Steuerpfad sowie zum Abzweig + Senke1 62.
  • Bindung ist das Verfahren, durch das sich Geräte in der Topologie über ein Ziel für den folgenden Stream einigen. Das Bindungsverfahren beginnt nach der Aufzählung mit einer Quelle, die einen neuen Stream übertragen möchte und eine ADD_STREAM-Nachricht 72 an das gewünschte mit einem lokal eindeutigen Stream-Identifikator identifizierte Ziel-Senke-Gerät sendet (z. B. 1.2 für Senke2). Alle Geräte entlang dem Pfad von Quelle 60 zum Senke-Gerät 64 erinnern sich an den Stream-Identifikator und den Eingangsport (z. B. 1 oder 2), bei dem der Stream in ihren Zuordnungstabellen empfangen wurde.
  • Jedes Abzweiggerät 62 führt eine Zuordnung des Eingangsstream-Identifikators (ID1 für sich selbst) zu einem Ausgangs-Stream-Identifikator (1.2 für Senke2 64) aus. Ohne mehrere Quellen ist der Eingangsstream-Identifikator derselbe wie der Ausgangs-Stream-Identifikator. Jedes Abzweiggerät erinnert sich auch an den Ausgangsstream-Identifikator und die Ausgangsport-Nummer in seiner Zuordnungstabelle.
  • Letztendlich geben die Abzweiggeräte die Nachricht weiter an das Ziel, wie angezeigt durch die Route/Adresse, die in der Nachricht enthalten ist, unter der Annahme, dass es keine anderen Ressourcen-Einschränkungen bei diesen Geräten gibt, wie gezeigt bei 74. Im Falle solcher Ressourcen-Einschränkungen sendet das Abzweiggerät einfach eine negative Bestätigung zur Quelle. Die Nachricht endet am gewünschten Ziel. Wenn das Senke-Gerät imstande ist, den Stream zu empfangen, antwortet es mit einer Bestätigung 76 an die Quelle. Andernfalls sendet das Senke-Gerät eine negative Bestätigung. Dann weiß die Senke, dass sie den folgenden neuen Stream verbrauchen muss, der sich auf dem Datenkanal befindet. Alle Abzweiggeräte propagieren die Bestätigungen 78 zurück zur Quelle.
  • Nach Empfang der Bestätigung sendet das Quellen-Gerät den neuen Stream 80 auf dem Datenkanal auf seinem Link, der zum gewünschten Ziel führt. Das Abzweiggerät routet, wie gezeigt bei 82, den Stream entlang dem Pfad für den neuen Stream, wie es sich aus seinen Zuordnungstabellen daran erinnert. Das Senke-Gerät weiß, dass es den neuen Stream basierend auf der Nachricht, die es zuvor empfangen hat, verbrauchen muss, und präsentiert den Stream auf dem Display.
  • Das Entbinden oder Löschen erfolgt durch die Stream-Löschen-Nachricht 84, 86, die zum beabsichtigten Ziel mit demselben Stream-Identifikator gesendet wird. Dies veranlasst das Senke-Gerät, das Anhalten des Streams und, für die Abzweiggeräte, die entsprechende Abänderung ihrer Zuordnungstabellen zu erwarten. Der Empfang einer Bestätigungsnachricht auf eine Stream-Löschen-Nachricht bewirkt, dass die Quelle das Senden des Streams auf dem Datenkanal stoppt.
  • In 7 können verschiedene Display-Konfigurationen für die in 4 gezeigte Topologie etabliert werden. Eine „Einzel-Display”-Konfiguration ist einfach eine Displayeinheit, die Audiovideodaten präsentiert. Sie verwendet die bereits beschriebenen Nachrichten 72, 74, 80, 82, 84 und 86. Die „Clone-Modus”-Konfiguration besteht dort, wo derselbe Inhalt 92 gesendet wird, um auf zwei Monitoren oder Displayeinheiten angezeigt zu werden. „Erweiterter Desktop” ist eine alternative zweifache Display-Konfiguration, bei der unterschiedliche Bilder 94, 96 auf beiden Monitoren gezeigt werden.
  • Wenn mehrere Quellen in der Topologie, wie gezeigt in 8, von Quelle1 98 und Quelle2 100 vorhanden sind, kann jede Quelle eine ADD_STREAM Nachricht mit demselben Stream-Identifikator (in diesem Fall #1) gleichzeitig auf einem überlappenden Pfad ausgeben. In diesem Fall propagiert ein Konzentrator-Abzweiggerät 102, das sich auf dem überlappenden Pfad für diese neuen Streams befindet, nur eine ADD_STREAM-Nachricht für eine Quelle (in diesem Fall Quelle1), während es die andere blockiert. D. h., nur ein neuer Stream kann auf einmal hinzugefügt werden. Nachdem die Nachricht der ungeblockten Quelle auf dem Datenkanal transportiert wurde, wird eine zusätzliche ADD_STREAM-Nachricht für die geblockte Quelle propagiert.
  • In der Gegenwart von mehreren Eingangsports bei einem Abzweiggerät 104 wird der nächste verfügbare Stream-Identifikator zugeordnet und das Abzweiggerät erinnert sich an den Eingangsstream-Identifikator und die Port-Nummer zu seinem Ausgangsstream-Identifikator und die Port-Nummer in seiner Zuordnungstabelle 108.
  • Als ein Anwendungsfall kann ein neuer Stream hinzugefügt werden. Das Konzentrator-Abzweiggerät fügt einen Neueintrag zu seiner Zuordnungstabelle hinzu, wenn es eine Stream-Hinzufügen-Nachricht mit einem Identifikator sieht, der nicht aktiv ist. Wenn erforderlich, erzeugt es einen neuen Ausgangs-Identifikator für diesen Stream und verwendet diesen, während es die ADD_STREAM-Nachricht propagiert. Ein Konzentrator-Abzweiggerät kann eine Zieladresse für diesen Identifikator in seiner Zuordnungstabelle hinzufügen. Ein anderer Anwendungsfall ist ein existierender erweiterter Stream. Wenn dieselbe Quelle eine zweite Senke zu einem Stream hinzufügt, der bereits durch eine andere ADD_STREAM-Nachricht aktiv ist, fügt das Konzentrator-Abzweiggerät keinen Neueintrag in seiner Zuordnungstabelle hinzu, da die Zuordnung, die es bereits erzeugt hat, immer noch gültig ist. Jedoch fügt der Konzentrator die zweite Zieladresse zu seinem Eingangsidentifikator in seiner Zuordnungstabelle hinzu.
  • Noch ein weiterer Anwendungsfall ist das Entfernen einer Senke von einem Stream. Der Konzentrator kennzeichnet die Adresse der Senke für die Löschung von einer Liste von Zielgeräten, wenn er eine Stream-Löschen-Nachricht mit der Adresse dieser Senke für einen aktiven Identifikator empfängt. Wenn er nachfolgend eine Stream-Löschen-Quittierungsnachricht vom Senke-Gerät empfängt, propagiert er die Nachricht zurück zur Quelle, indem er die Zuordnungstabelle verwendet, um den Identifikator abzuändern, der durch die Quelle erkannt wird. Er löscht dann die Adresse der Senke für diesen Stream aus seiner Zuordnungstabelle. Wenn das die letzte Senke war, die den Stream mit diesem Identifikator empfängt, löscht er den Eintrag aus seiner Zuordnungstabelle. Wenn es anderenfalls mindestens eine andere Senke gibt, die den Stream mit diesem Identifikator verbraucht, wird der Eintrag in der Zuordnungstabelle nicht gelöscht.
  • Mit Bezug auf 9 ist eine Sequenz 110 gemäß einer Ausführungsform zur Implementierung der oben beschriebenen Bindung dargestellt. Die Sequenz kann in Software, Hardware oder Firmware implementiert sein. Bei Softwareausführungsformen kann die Sequenz durch Befehle, die von einem Prozessor ausgeführt werden, wie beispielsweise dem Prozessor 36, gezeigt in 3, für ein Abzweiggerät 34 implementiert werden. In solch einem Fall kann die Sequenz im Speicher 42 gespeichert werden.
  • Anfänglich empfängt ein Abzweiggerät eine ADD_STREAM-Nachricht, wie gezeigt im Block 112. Es speichert die STREAM_ID und den Eingangsport von dieser Meldung in seiner Zuordnungstabelle, wie gezeigt im Block 114. Dann ordnet das Abzweiggerät die Eingangs-STREAM_ID einer Ausgangs-STREAM_ID, wie gezeigt bei Block 116, zu. Es speichert die Ausgangs-STREAM_ID und die Ausgangsport-Nummer in seiner Zuordnungstabelle, wie gezeigt im Block 118. Dann sendet es die Nachricht weiter, wie gezeigt im Block 120. Letztendlich, wenn die Nachricht erfolgreich geliefert wird, wird eine Bestätigungsnachricht von einem nachgeschalteten Gerät empfangen und das Abzweiggerät sendet die Bestätigungsnachricht zurück, wie gezeigt im Block 122.
  • Bei einigen Ausführungsformen kann ein Nachrichtenweitergabe-Rahmenwerk 124, das in 10 gezeigt ist, Aktion durch alle Geräte entlang einem Pfad oder nur durch das Zielgerät zulassen. Nachrichten haben Identifikatoren mit einem neuen Identifikator, der zugewiesen wird, während jede neue Nachricht definiert wird. Die Definition einer Nachricht umfasst die Bestimmung, ob es ein Pfad oder eine Ziel-Nachricht ist. Die Pfad-Nachrichten sind von zweierlei Art, abhängig von der Richtung, in der die Aktion ausgeführt wird. Abwärts in Richtung auf die Senke nach unten, dann ist es eine Abwärts-Aktionspfad-Nachricht, oder aufwärts zurück nach oben zum Quellen-Gerät, dann ist es eine Aufwärts-Aktionspfad-Nachricht. Nachrichten können durch irgendein Gerät in der Topologie initiiert werden. Jede Nachricht hat eine Zieladresse und eine verbindende Routinginformation.
  • Das Nachrichtenweitergabe-Rahmenwerk 124, gezeigt in 10, kann in Software, Hardware oder Firmware implementiert sein. Zum Beispiel kann es in Software in der Form von Befehlen gespeichert auf einem computerlesbaren Medium implementiert sein, wie beispielsweise dem Speicher 42, gezeigt in 3, im Gerät 34, das zum Beispiel ein Abzweig-Gerät oder Senke-Gerät sein kann.
  • Gemäß einer Ausführungsform beginnt die in 10 gezeigte Sequenz, mit dem Empfangen einer Nachricht von einem vorgeschalteten Gerät, wie gezeigt im Block 126. Das Gerät, das die Nachricht empfängt, kann, als zwei Beispiele, ein Abzweiggerät oder ein Senke-Gerät sein. Das empfangende Gerät erhält die Nachrichten-Definition, wie gezeigt im Block 128, ob es die Endstation ist oder nicht. Dann prüft das Gerät im Diamant 130, um zu bestimmen, ob eine Aufwärtsaktionsnachricht durch die Nachrichten-Definition angezeigt wird. Wenn dies so ist, führt es die Aktionen, die in der Nachricht angefordert werden, nach Empfang der Nachricht, wie gezeigt im Block 132, aus.
  • Andernfalls bestimmt eine Prüfung bei Diamant 134, ob es eine Abwärtsaktionsnachricht ist, wenn es keine Aufwärtsaktionsnachricht ist. Wenn es eine Abwärtsaktionsnachricht ist, wie gezeigt im Block 136, dann werden die Aktionen nach der Bestätigung ausgeführt, im Gegensatz zur Ausführung beim Empfang der Nachricht.
  • Im umgekehrten Fall, wenn es keine Abwärtsaktionsnachricht ist, dann wird, wie bestimmt bei Diamant 138, wenn es eine Ziel-Nachricht ist, die Aktion nur ausgeführt, wenn das Gerät, das die Nachricht empfängt, die Endstation ist, wie gezeigt im Block 140.
  • Das Nachrichtenweitergabe-Rahmenwerk ermöglicht Geräten, eine koordinierte Aktion auf einem spezifizierten Pfad in einer Punkt-zu-Punkt-Topologie von verbundenen audiovisuellen Quellen-, Abzweig- und Senke-Geräten auszuführen. Das Rahmenwerk kann für eine Vielzahl von Operationen einschließlich Topologie-Auffindung, Adressgenerierung, Routen, Bindungs- und Stream-Management, Ressourcenmanagement und Power-Management verwendet werden.
  • Eine Abwärtsaktionsnachricht, gezeigt in 11, arbeitet wie folgt. Vor dem Senden einer Nachricht führt die Quelle 110 irgendeine erforderliche nachrichtenspezifische Aktion 119 aus. Die Nachricht 112 wird nur gesendet, wenn die Quellen-Aktion Erfolg hat. Das Quellen-Gerät überträgt eine Nachricht zum Zielgerät, indem es diese auf einem nachgeschalteten Port, wie bestimmt basierend auf der Adressen-/Routinginformation sendet. Jedes Abzweiggerät 114 oder 116 oder Senke 118, das die Nachricht empfängt, führt die Aktion 119 wie erforderlich durch diesen Nachrichtentyp aus. Auf den erfolgreichen Abschluss der Aktion am Ziel (z. B. Senke 118), reagiert es mit einer Bestätigung (ACK) 120. Diese Bestätigung wird zurück nach oben zur Quelle propagiert.
  • Eine Aufwärtsaktionsnachricht 122 arbeitet wie abgebildet in 12. Hier werden die Aktionen 119 als Teil der Bestätigung 120 ausgeführt.
  • Ziel-Nachrichten arbeiten wie abgebildet in 13. Aktion 119 wird nur durch das Ziel, in diesem Beispiel die Senke 118, ausgeführt. Die anderen Geräte im Pfad senden einfach die Nachricht und die Bestätigung.
  • Eine Verwendung einer Abwärtsaktionspfadnachricht ist in 14 für das Pfad-Training veranschaulicht, was das Training aller Links in einem Pfad ist. In 13 ist die Aktion 119 bei jedem Gerät Link-Training. Die verwendete Nachricht ist TRAIN_LINKS_ON_PATH, obwohl irgendeine andere Nachricht verwendet werden könnte. In 13 ist die Nachricht auf Abzweig 116 gerichtet.
  • 15 ist ein Nachrichtensequenz-Diagramm für TRAIN_LINKS_ON_PATH, wenn sie als eine Aufwärtsaktionsnachricht implementiert ist. Hier treten die Aktionen 119 alle als Teil der Bestätigungen 120 auf.
  • Ein schnittstellenspezifisches Rahmenwerk kann einem Quellen-Gerät ermöglichen, zu bestimmen, dass die durch unterschiedliche Pfade aufgezählten Funktionen Teil desselben Geräts sind. Der DisplayPort-Standard ist ein Beispiel einer „Schnittstelle”. Unterschiedliche Pfade für die Aufzählung können sein: a) Pfade, die unterschiedliche Schnittstellenarten aufweisen, oder b) nur unterschiedliche Pfade innerhalb desselben Schnittstellentyps. Das Rahmenwerk ermöglicht einem Gerät, in Verbindung mit Behälteridentifikator-Initiativen, die Microsoft® Windows® und andere Technologien wie beispielsweise USB unterstützen, verwendet zu werden, und es ermöglicht eher gerätezentrische anstatt funktionszentrische Anwenderschnittstellen für verbundene Geräte.
  • Das Rahmenwerk kann einen 16-Byte-Globally Unique Identifier (GUID) exponiert durch eine Reihe von container_ID-Registern umfassen (die DisplayPort-Konfigurationsdaten (DPCD) im Fall von DisplayPort sein könnten). Die DPCD sind im Wesentlichen eine Reihe von Registern, die zur Statusprüfung, Befehlskommunikation und dem Bereitstellen von Kontext für einen Interrupt verwendet werden. Die container_ID-Register können auf Abzweig-Geräten, zusammengesetzten Senke-Geräten und jedem Gerät unterstützt werden, das mehrere Transporte aufweist.
  • Von einem Senke-Gerät mit einer gegebenen Anzahl an Videoendpunkten wird erwartet, dass es mit dieser Anzahl an Extended Display Identification Data (EDID)-Strukturen antwortet. Die EDID-Datenstruktur teilt der Quelle die Fähigkeiten des Monitors mit. EDID ist ein VESA-Standard. Wenn ein Senke-Gerät ein integriertes USB- oder Hub-Gerät hat, stimmt der GUID der Senke mit dem GUID im Behälterbeschreiber von diesem USB-Gerät oder Hub überein. Alle Funktionen, die in das Gerät integriert sind, bieten denselben GUID an, unabhängig vom Schnittstellentyp, durch den auf sie zugegriffen wird. Bei einer Senke, die mehrere Videoendpunkte hat, geben die container_ID-Register von jeder Adresse denselben GUID zurück. Für jedes Gerät in der Topologie liest das Quellen-Gerät den GUID als Teil des Auffindungsprozesses der Topologie. Wenn das Gerät einen GUID enthält, liest das Quellen-Gerät den GUID, um zu bestimmen, ob auf dasselbe Gerät für mehrere Pfade oder durch mehrere Schnittstellen zugegriffen wurde.
  • Andernfalls schlussfolgert ein Quellen-Gerät die Funktionen, die in demselben physischen Gerät vorhanden sind, durch einige schnittstellenspezifische Mittel. Im Fall, wo die Schnittstelle ein DisplayPort-Standard ist, kann dies auf der relativen Adresse (RAD) des nachgeschalteten Geräts basieren. Wenn man mit einer Topologie von Geräten konfrontiert ist, muss jedes Gerät, das Kommunikation initiiert, eine Adresse für das Zielgerät generieren, die im Netzwerk gültig ist. Diese Adresse wird die relative Adresse genannt, da die von jedem Gerät generierte Adresse gültig ist, aber unterschiedlich sein könnte zu derjenigen, die auf einer anderen Quelle für dasselbe Ziel generiert wird. Dann liest die Quelle die EDID von jeder relativen Adresse. Ein GUID wird erzeugt und mit dem Gerät wie identifiziert durch EDID verbunden. Dieser erzeugte GUID wird mit dem Behälteridentifikator-Rahmenwerk im Betriebssystem verwendet.
  • Deshalb enthält die EDID bei einigen Ausführungsformen eine eindeutige laufende Nummer. Wenn dies nicht gültig ist, gibt es eine Änderung desselben GUID, der mit mehreren EDID verbunden ist, was in einer minderwertigen Benutzer-Erfahrung resultiert.
  • Mehrfachverbindungen zwischen Quelle und Abzweiggeräten werden in 16 gezeigt. In diesem Fall erzeugt die Quelle zwei Adressen für das Senke-Gerät, da es zwei Pfade zu dieser Senke gibt. Da die Quelle denselben GUID durch beide Pfade liest, ist sie in der Lage zu schlussfolgern, dass beide Pfade dasselbe Senke-Gerät lesen. Bei Fehlen des GUID, würde die Quelle den EDID von beiden Pfaden lesen, welche dieselben wären, einen GUID erzeugen und diesen GUID mit dem Senke-Gerät verbinden. Dieser Identifikator wird dann an das Betriebssystem zurückgegeben.
  • 17 zeigt ein Beispiel mit zwei Videoendpunkten. Die Sequenz der Quelle ist wie folgt. Die Quelle erzeugt wieder zwei Adressen, eine für jeden Videoendpunkt im Senke-Gerät. Die Quelle liest den Behälteridentifikator für das Register von jeder Videoendpunkt-Adresse. Da die Senke zwei Schnittstellen darin hat, erfordert das Rahmenwerk, dass ein GUID in der Senke vorhanden ist und dass dieser GUID derselbe in beiden Schnittstellen ist. Die Quelle erkennt, dass der GUID derselbe ist und schlussfolgert, dass die zwei Videoendpunkte Teil desselben physischen Geräts sind.
  • Mit Bezug auf 18 kann gemäß einer Ausführungsform eine Sequenz 150 durch eine Quelle in der in 3 gezeigten Form implementiert werden. Bei einigen Ausführungsformen kann die in 18 gezeigte Sequenz in Software, Hardware oder Firmware implementiert sein. Bei Softwareausführungsformen kann sie durch eine Befehlssequenz, die von einem Prozessor wie beispielsweise dem Prozessor 36 ausgeführt wird, implementiert und in einem Speichergerät 42 gespeichert sein.
  • Während einer anfänglichen Aufzählungs- oder Topologieauffindungsphase wird ein Identifikator für jedes Gerät in der Topologie gelesen (Block 152). Mit anderen Worten erhält die Quelle den Identifikator für die Geräte in der Topologie. Dieser Identifikator kann irgendeiner von den hier bereits besprochenen Identifikatoren sein. Dann stellt die Quelle eine Verbindung mit einem Ziel nach der Quelle über einen Pfad, wie gezeigt bei Block 154, her. Dann vergleicht die Quelle die Identifikatoren des Geräts im Verbindungspfad, wie gezeigt im Block 156. Wenn, wie bestimmt in Block 158, die Identifikatoren übereinstimmen, schließt die Quelle daraus, dass die Pfad-Geräte mit übereinstimmenden Identifikatoren Teil desselben Abzweig- oder Senke-Geräts sind. Deshalb kann die Doppeldeutigkeit, die sich ergeben kann, wenn zwei Geräte denselben Identifikator haben, bei einigen Ausführungsformen leicht gehandhabt werden.
  • Verweise in dieser Beschreibung auf „eine Ausführungsform” bedeuten, dass ein bestimmtes Merkmal, eine Struktur oder Charakteristik, die in Verbindung mit der Ausführungsform beschrieben wird, mindestens in einer innerhalb der vorliegenden Erfindung eingeschlossenen Implementierung enthalten ist. Somit beziehen sich Verwendungen des Ausdrucks „bei einer Ausführungsform” nicht notwendigerweise auf die gleiche Ausführungsform. Außerdem können die bestimmten Merkmale, Strukturen oder Charakteristika in anderen geeigneten Formen eingeführt werden, die sich von der bestimmten veranschaulichten Ausführungsform unterscheiden, und alle solchen Formen können innerhalb der Ansprüche der vorliegenden Anmeldung eingeschlossen sein.
  • Obwohl die vorliegende Erfindung im Hinblick auf eine begrenzte Anzahl von Ausführungsformen beschrieben wurde, sind sich Fachleute bewusst, dass viele weitere Modifikationen und Varianten davon möglich sind. Die beigefügten Ansprüche sollen alle solchen Modifikationen und Varianten abdecken, die dem Sinn und Schutzbereich der vorliegenden Erfindung entsprechen.

Claims (24)

  1. Verfahren, umfassend: Die Aktivierung irgendeines Geräts in einer Topologie von Geräten, einschließlich Geräten, die Videodaten ausgeben und beziehen, um eine Aktion, die in einer Nachricht abhängig von einem Typ-Indikator innerhalb der Nachricht spezifiziert ist, vorzunehmen.
  2. Verfahren nach Anspruch 1, umfassend die Aktivierung jedes Geräts in der Topologie, das eine Nachricht gesendet von einer Quelle an eine Senke empfängt, um abhängig von der Art des Indikators in der Nachricht zu handeln.
  3. Verfahren nach Anspruch 1, umfassend die Bestimmung, ob der Nachrichten-Indikator anzeigt, dass Aktionen auf dem Weg zum Ziel erfolgen und, wenn dies so ist, irgendwelche nach Empfang der Nachricht erforderliche Aktionen auszuführen.
  4. Verfahren nach Anspruch 1, umfassend die Bestimmung, ob der Nachrichten-Indikator anzeigt, dass Aktionen nur auf die Bestätigung von der Endstation ausgeführt werden und, wenn dies so ist, nur irgendwelche Aktionen nach Empfang einer Bestätigung auszuführen.
  5. Verfahren nach Anspruch 1, umfassend die Bestimmung, ob der Indikator der Nachricht anzeigt, dass nur das Ziel Aktionen ausführt und, wenn dies so ist, zu bestimmen, ob das empfangende Gerät das Ziel ist und, wenn dies so ist, und nur wenn dies so ist, die Aktion in der Nachricht auszuführen.
  6. Verfahren nach Anspruch 5, umfassend, die Nachricht entlang einem Pfad zum Ziel weiterzugeben, wenn das Gerät nicht das Ziel der Nachricht ist.
  7. Verfahren nach Anspruch 1, umfassend, nach Abschluss einer Aktion in der Nachricht, eine Bestätigung zurück zur Quelle bereitzustellen.
  8. Verfahren nach Anspruch 1, umfassend das Implementieren von Pfad-Training als Antwort auf eine Nachricht, die eine Aktion nach Empfang der Nachricht erfordert.
  9. Verfahren nach Anspruch 1, umfassend das Implementieren von Pfad-Training unter Verwendung einer Nachricht, die Aktion nur nach Empfang der Bestätigung vom Ziel der Nachricht erfordert.
  10. Verfahren nach Anspruch 1, umfassend das Empfangen von Nachrichten, die Aktion durch Geräte innerhalb der Topologie von Geräten erfordern, welche Audio- und Videodaten abhängig vom Typ der Nachricht und ob das Gerät das Ziel der Nachricht ist oder nicht, ausgeben und beziehen.
  11. Ein computerlesbares Medium, das Befehle für die Ausführung durch einen Prozessor in einem Gerät in einer Topologie von Geräten speichert, einschließlich einer Quelle und Senke von Videodaten, um: eine Nachricht mit einer auszuführenden Aktion zu empfangen; den Nachrichtentyp zu bestimmen; und basierend auf dem Nachrichtentyp eine in der Nachricht spezifizierte Aktion auszuführen.
  12. Medium nach Anspruch 11, weiter umfassend das Speichern von Befehlen, um zu bestimmen, ob der Nachrichtentyp einer ist, bei dem Aktionen auf dem Weg zum Ziel durchgeführt werden sollen und, wenn dies so ist, irgendwelche nach Empfang der Nachricht erforderlichen Aktionen ausführen.
  13. Medium nach Anspruch 11, weiter umfassend das Speichern von Befehlen, um zu bestimmen, ob die Nachricht von dem Typ ist, bei dem Aktionen nur auf die Bestätigung von der Endstation ausgeführt werden und, wenn dies so ist, nur irgendwelche Aktionen nach Empfang einer Bestätigung auszuführen.
  14. Medium nach Anspruch 11, weiter umfassend das Speichern von Befehlen, um zu bestimmen, ob der Typ der Nachricht einer ist, in dem nur das Ziel Aktionen ausführt und, wenn dies so ist, zu bestimmen, ob das empfangende Gerät das Ziel ist, und, wenn dies so ist, und nur wenn dies so ist, die in der Nachricht angezeigte Aktion auszuführen.
  15. Medium nach Anspruch 14, weiter umfassend das Speichern von Befehlen, um die Nachricht entlang einem Pfad zum Ziel weiterzusenden, wenn das Gerät nicht das Ziel der Nachricht ist.
  16. Medium nach Anspruch 11, weiter umfassend das Speichern von Befehlen, um eine Bestätigung auf den Abschluss einer in der Nachricht angezeigten Aktion zurück zur Quelle bereitzustellen.
  17. Medium nach Anspruch 11, weiter umfassend das Speichern von Befehlen, um Pfad-Training als Antwort auf eine Nachricht zu implementieren, die Aktion nach Empfang der Nachricht erfordert.
  18. Medium nach Anspruch 11, weiter umfassend das Speichern von Befehlen, um Pfad-Training unter Verwendung einer Nachricht zu implementieren, die Aktion nur nach Empfang einer Bestätigung vom Ziel der Nachricht erfordert.
  19. Medium nach Anspruch 11, weiter umfassend das Speichern von Befehlen, um Nachrichten zu empfangen, die Aktion durch Geräte innerhalb der Topologie von Geräten erfordern, die Videodaten, abhängig vom Typ der Nachricht und ob das empfangende Gerät das Ziel der Nachricht ist oder nicht, ausgeben und beziehen.
  20. Medium nach Anspruch 11, weiter umfassend das Speichern von Befehlen, um Nachrichten zu ermöglichen, anhand deren durch irgendein Gerät entlang dem Pfad der Nachricht zwischen der Quelle und dem Ziel der Nachricht gehandelt werden kann.
  21. Vorrichtung, aufweisend: einen Empfänger, um Nachrichten von einer Quelle in einer Topologie von Geräten zu empfangen, wobei die Quelle Videodaten zu einer Senke in der Topologie ausgibt; einen Sender, um Videodaten in Richtung auf die Senke zu übertragen; und eine Einheit, um eine Nachricht von einer Quelle mit einer auszuführenden Aktion zu empfangen, um den Nachrichtentyp zu bestimmen, um zu bestimmen, ob eine Aktion, die in der Nachricht spezifiziert ist, nach Empfang der Nachricht, nach Empfang einer Bestätigung vom Ziel der Nachricht auszuführen ist oder, ob die Aktion überhaupt nicht auszuführen ist.
  22. Vorrichtung nach Anspruch 21, wobei die Einheit bestimmt, ob der Nachrichtentyp einer ist, bei dem Aktionen auf dem Weg zum Ziel durchgeführt werden sollen und, wenn dies so ist, die Aktion in der Nachricht nach Empfang der Nachricht auszuführen.
  23. Vorrichtung nach Anspruch 21, wobei die Einheit bestimmt, ob die Nachricht von dem Typ ist, bei dem Aktionen nur auf die Bestätigung von der Endstation ausgeführt werden sollen und, wenn dies so ist, die Aktionen nur nach Empfang der Bestätigung ausführen.
  24. Vorrichtung nach Anspruch 21, wobei die Einheit bestimmt, ob der Typ der Nachricht einer ist, bei dem nur das Ziel der Nachricht die Aktion ausführt und, wenn dies so ist, zu bestimmen, ob die Vorrichtung das Ziel ist und, wenn dies so ist, und nur wenn dies so ist, die in der Nachricht angezeigte Aktion auszuführen.
DE102011008793.1A 2010-01-28 2011-01-18 Nachrichtenweitergabe-Rahmenwerk für Audio-/Video-Streaming in einer Topologie von Geräten Active DE102011008793B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US29893610P 2010-01-28 2010-01-28
US61/298,936 2010-01-28
US12/821,306 2010-06-23
US12/821,306 US20110185026A1 (en) 2010-01-28 2010-06-23 Message Passing Framework for Audio/Video Streaming in a Topology of Devices

Publications (2)

Publication Number Publication Date
DE102011008793A1 true DE102011008793A1 (de) 2011-09-01
DE102011008793B4 DE102011008793B4 (de) 2021-09-30

Family

ID=44309012

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011008793.1A Active DE102011008793B4 (de) 2010-01-28 2011-01-18 Nachrichtenweitergabe-Rahmenwerk für Audio-/Video-Streaming in einer Topologie von Geräten

Country Status (6)

Country Link
US (8) US8782237B2 (de)
JP (1) JP5542707B2 (de)
KR (3) KR101244957B1 (de)
CN (4) CN102195963B (de)
DE (1) DE102011008793B4 (de)
TW (3) TWI531961B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9270930B2 (en) 2012-07-16 2016-02-23 Opticis Co., Ltd. Image system

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782237B2 (en) 2010-01-28 2014-07-15 Intel Corporation Audio/video streaming in a topology of devices
US20120300045A1 (en) * 2011-05-24 2012-11-29 Optoma Corporation Projection apparatus, decoder, and image processing method for the projection apparatus
WO2013089793A1 (en) * 2011-12-17 2013-06-20 Intel Corporation Audio/video streaming in a topology of devices with native wigig sink
JP5870733B2 (ja) 2012-02-14 2016-03-01 セイコーエプソン株式会社 表示装置、及び、表示装置の制御方法
KR102161715B1 (ko) * 2013-05-23 2020-10-06 삼성전자주식회사 도킹 구조에서의 프록시 기반 통신 기법
US9984652B2 (en) 2013-08-22 2018-05-29 Intel Corporation Topology and bandwidth management for IO and inbound AV
DE102014111457B4 (de) * 2013-08-22 2018-03-15 Intel Corporation Topologie und bandbreiten-management für i/0 und eingehende av
US10547896B2 (en) 2015-04-21 2020-01-28 Intel Corporation Techniques for communicating display streams
US10191709B2 (en) 2015-09-04 2019-01-29 Samsung Electronics Co., Ltd. Display apparatus configured to determine a processing mode to transfer image contents to another display apparatus
US10277275B2 (en) 2015-09-08 2019-04-30 Google Llc Audio media streaming device
US9736531B2 (en) 2015-09-08 2017-08-15 Google Inc. Video media streaming device
JP6540469B2 (ja) * 2015-11-16 2019-07-10 株式会社リコー 通信端末、通信システム、通信制御方法、及びプログラム
KR101774466B1 (ko) * 2016-02-24 2017-09-05 옵티시스 주식회사 디스플레이-포트 광 커넥터
US10375349B2 (en) * 2017-01-03 2019-08-06 Synaptics Incorporated Branch device bandwidth management for video streams
JP2018116503A (ja) * 2017-01-18 2018-07-26 ローランドディー.ジー.株式会社 プログラム、ホスト装置及び配列特定方法
US20200204621A1 (en) * 2018-12-21 2020-06-25 York Telecom Corporation Management of live media connections
CN109995478B (zh) * 2019-02-19 2022-02-18 恒玄科技(上海)股份有限公司 音频传输方法和音频播放系统
US20200320026A1 (en) * 2020-04-27 2020-10-08 Intel Corporation Bandwidth management allocation for displayport tunneling

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557518A (en) * 1994-04-28 1996-09-17 Citibank, N.A. Trusted agents for open electronic commerce
GB2276796B (en) * 1993-04-01 1997-12-10 Sony Corp Audio data communications
US5933430A (en) * 1995-08-12 1999-08-03 Sony Corporation Data communication method
US5812793A (en) * 1996-06-26 1998-09-22 Microsoft Corporation System and method for asynchronous store and forward data replication
US6333750B1 (en) * 1997-03-12 2001-12-25 Cybex Computer Products Corporation Multi-sourced video distribution hub
US6031841A (en) 1997-12-23 2000-02-29 Mediaone Group, Inc. RSVP support for upstream traffic
US6160796A (en) * 1998-01-06 2000-12-12 Sony Corporation Of Japan Method and system for updating device identification and status information after a local bus reset within a home audio/video network
JP2000013423A (ja) 1998-06-26 2000-01-14 Sony Corp 情報処理装置および方法、並びに提供媒体
JP3641139B2 (ja) 1998-06-30 2005-04-20 株式会社東芝 ホップカウント管理方法およびノード装置
WO2000002351A1 (en) 1998-07-06 2000-01-13 Sony International (Europe) Gmbh Method to control a network device in a network comprising several devices
US6286052B1 (en) * 1998-12-04 2001-09-04 Cisco Technology, Inc. Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows
KR100308024B1 (ko) * 1998-11-07 2001-10-19 구자홍 객체지향분산처리시스템에서멀티미디어스트림데이터의제어및자원할당을위한방법
US6654806B2 (en) * 1999-04-09 2003-11-25 Sun Microsystems, Inc. Method and apparatus for adaptably providing data to a network environment
US6686530B2 (en) * 1999-04-26 2004-02-03 Gibson Guitar Corp. Universal digital media communications and control system and method
US6477252B1 (en) * 1999-08-29 2002-11-05 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
US7356848B1 (en) * 1999-10-19 2008-04-08 Thomson Licensing System and method of verifying authorization for communicating protected content
US6628615B1 (en) * 2000-01-18 2003-09-30 International Business Machines Corporation Two level virtual channels
US6501739B1 (en) * 2000-05-25 2002-12-31 Remoteability, Inc. Participant-controlled conference calling system
US6901444B1 (en) * 2000-06-30 2005-05-31 Sony Corporation Method of and apparatus for communicating data structures between devices in a networking environment
US6907301B2 (en) * 2000-10-16 2005-06-14 Sony Corporation Method and system for selecting and controlling devices in a home network
US20020104091A1 (en) * 2001-01-26 2002-08-01 Amal Prabhu Home audio video interoperability implementation for high definition passthrough, on-screen display, and copy protection
EP1263172A3 (de) * 2001-05-29 2002-12-18 Thomson Licensing S.A. Verfahren für das Handhaben der Betriebsmittel einer Verbindung in einem Kommunikationsnetz
KR20040028638A (ko) * 2001-07-30 2004-04-03 소니 가부시끼 가이샤 무선 통신 시스템, 무선 통신 제어 장치 및 무선 통신제어 방법, 기억 매체, 및 컴퓨터 프로그램
KR100718613B1 (ko) * 2001-10-22 2007-05-16 애플 인크. 호스트 컴퓨터와 미디어 플레이어의 미디어 내용 동기화 방법
US7277421B1 (en) * 2002-01-16 2007-10-02 Verizon Services Corp. Telephone call processing using SIP and/or ENUM
US7450604B2 (en) * 2002-04-20 2008-11-11 Conexant Systems, Inc. Method and apparatus for establishing circuit connections over local area networks with frequency selective impairments
KR20040010954A (ko) * 2002-07-25 2004-02-05 엘지전자 주식회사 트랜스포트 디멀티플렉서
CN1679017B (zh) * 2002-09-03 2010-05-05 汤姆森特许公司 提供端点站之间保留连接的装置、方法和以太网网络系统
US20040128694A1 (en) * 2002-12-30 2004-07-01 International Business Machines Corporation Fast selection of media streams
US7512695B2 (en) 2003-05-07 2009-03-31 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system to control the communication of data between a plurality of interconnect devices
US7516135B2 (en) * 2003-05-30 2009-04-07 Sap Aktiengesellschaft Dynamically managing data conveyance between computing devices
DE10360416A1 (de) * 2003-12-19 2005-07-14 Deutsche Thomson-Brandt Gmbh Verfahren zur automatischen Datenverbindungseinrichtung zwischen Netzwerkteilnehmerstationen in einem Netzwerk verteilter Stationen sowie Netzwerkteilnehmerstation als Benutzeroberflächengerät bei der Durchführung des Verfahrens
US7606253B2 (en) * 2004-01-12 2009-10-20 Hewlett-Packard Development Company, L.P. Successful transactions
US7903045B2 (en) * 2004-04-30 2011-03-08 Microsoft Corporation Video presenting network supporting separately-configurable resources
US20060083259A1 (en) * 2004-10-18 2006-04-20 Metcalf Thomas D Packet-based systems and methods for distributing data
KR100636228B1 (ko) * 2005-02-07 2006-10-19 삼성전자주식회사 계층적인 노드 토폴로지를 이용한 키 관리 방법 및 이를이용한 사용자 등록 및 등록해제 방법
US8879511B2 (en) * 2005-10-27 2014-11-04 Qualcomm Incorporated Assignment acknowledgement for a wireless communication system
CN1941787A (zh) * 2005-09-30 2007-04-04 乐金电子(昆山)电脑有限公司 A/v网络中设备标识符的设定方法
KR101183342B1 (ko) 2005-11-09 2012-09-14 톰슨 라이센싱 무선 네트워크에서의 경로 선택
US20070130245A1 (en) * 2005-12-07 2007-06-07 Electronics And Telecommunications Research Institute Portable internet terminal apparatus for wireless broadband internet
WO2008070832A2 (en) * 2006-12-07 2008-06-12 Vidiator Enterprises Inc. System and method for selection of streaming media
US7765323B2 (en) * 2006-12-29 2010-07-27 Intel Corporation Sink device addressing mechanism
CN1996860A (zh) * 2006-12-31 2007-07-11 华为技术有限公司 策略控制的方法、装置及系统
US8427959B2 (en) * 2007-01-22 2013-04-23 Cisco Technology, Inc. Bandwidth based selection for routing data
JP2009004877A (ja) * 2007-06-19 2009-01-08 Toshiba Corp データ伝送装置およびデータ伝送方法
JP5240491B2 (ja) * 2007-06-26 2013-07-17 ソニー株式会社 送信装置および受信装置
US8527771B2 (en) 2007-10-18 2013-09-03 Sony Corporation Wireless video communication
US7769806B2 (en) * 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US8095680B2 (en) * 2007-12-20 2012-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Real-time network transport protocol interface method and apparatus
CN101471914B (zh) * 2007-12-26 2013-06-05 中兴通讯股份有限公司 一种高速下行分组接入中指示调制方式的方法
US8723756B2 (en) * 2008-01-15 2014-05-13 Synaptics Incorporated System having capability for daisy-chained serial distribution of video display data
TW201002003A (en) * 2008-05-05 2010-01-01 Koninkl Philips Electronics Nv Methods and devices for managing a network
US8237624B2 (en) * 2008-05-06 2012-08-07 Integrated Device Technology, Inc. System having capability for daisy-chained serial distribution of video display data
US8094684B2 (en) * 2008-05-09 2012-01-10 Parade Technologies, Ltd. Link training scheme for displayport source repeaters
US7979591B2 (en) * 2008-05-27 2011-07-12 Eyran Lida Network views for a multi display network supporting CEC
US20100027549A1 (en) * 2008-07-31 2010-02-04 Michael Satterlee Method and apparatus for providing virtual private network identifier
US8248421B2 (en) * 2008-09-30 2012-08-21 Apple Inc. DisplayPort control and data registers
GB0820920D0 (en) * 2008-11-14 2008-12-24 Wolfson Microelectronics Plc Codec apparatus
US20100191867A1 (en) * 2009-01-29 2010-07-29 Dell Products L.P. Systems and Methods for Performing Field Updates of Firmware
US8166179B2 (en) * 2009-01-30 2012-04-24 Cisco Technology, Inc. Media streaming through a network address translation (NAT) device
US20100257400A1 (en) * 2009-03-18 2010-10-07 Colin Whitby-Strevens Network loop healing apparatus and methods
US8674901B2 (en) * 2009-04-22 2014-03-18 Dell Products, Lp System and method for authenticating a display panel in an information handling system
US20100272102A1 (en) * 2009-04-23 2010-10-28 Stmicroelectronics, Inc. System and method for packet messaging and synchronization
US9313463B2 (en) * 2009-06-09 2016-04-12 Wayne State University Automated video surveillance systems
CN101588285B (zh) * 2009-06-24 2011-07-13 成都市华为赛门铁克科技有限公司 一种非透明传输的实现方法、非透明桥和通信系统
US8949627B2 (en) * 2009-07-15 2015-02-03 Dell Products L.P. System and method for powering an information handling system through a display cable
US8782237B2 (en) 2010-01-28 2014-07-15 Intel Corporation Audio/video streaming in a topology of devices
US8493905B2 (en) * 2010-09-08 2013-07-23 Intel Corporation Wireless clone mode display

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9270930B2 (en) 2012-07-16 2016-02-23 Opticis Co., Ltd. Image system
DE102013213432B4 (de) * 2012-07-16 2018-10-04 Opticis Co., Ltd. Bildsystem

Also Published As

Publication number Publication date
US8984155B2 (en) 2015-03-17
US8782237B2 (en) 2014-07-15
US20210004191A1 (en) 2021-01-07
DE102011008793B4 (de) 2021-09-30
CN102164072A (zh) 2011-08-24
JP5542707B2 (ja) 2014-07-09
US20110182560A1 (en) 2011-07-28
CN102164071B (zh) 2015-07-08
KR101244957B1 (ko) 2013-03-19
CN102164072B (zh) 2015-10-14
CN104683338B (zh) 2019-04-23
CN102164071A (zh) 2011-08-24
CN102195963A (zh) 2011-09-21
TW201203095A (en) 2012-01-16
KR101394796B1 (ko) 2014-05-15
CN104683338A (zh) 2015-06-03
KR20110088456A (ko) 2011-08-03
US11900003B2 (en) 2024-02-13
TWI455574B (zh) 2014-10-01
KR20110088454A (ko) 2011-08-03
KR20130040220A (ko) 2013-04-23
US20220188055A1 (en) 2022-06-16
TWI538501B (zh) 2016-06-11
US20110184965A1 (en) 2011-07-28
US20110185026A1 (en) 2011-07-28
KR101280695B1 (ko) 2013-07-02
US10101955B2 (en) 2018-10-16
US11216235B2 (en) 2022-01-04
TW201204015A (en) 2012-01-16
CN102195963B (zh) 2015-05-20
TW201204016A (en) 2012-01-16
JP2011160422A (ja) 2011-08-18
US9378172B2 (en) 2016-06-28
US10564910B2 (en) 2020-02-18
TWI531961B (zh) 2016-05-01
US20170060515A1 (en) 2017-03-02
US20150154137A1 (en) 2015-06-04
US20110185066A1 (en) 2011-07-28

Similar Documents

Publication Publication Date Title
DE102011008793B4 (de) Nachrichtenweitergabe-Rahmenwerk für Audio-/Video-Streaming in einer Topologie von Geräten
DE19581234B4 (de) Bussteuereinrichtung und Verfahren für eine hierarchische serielle Busanordnung unter Verwendung von Kommunikationspaketen
DE60038448T2 (de) Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen
EP1456722B1 (de) Datenübertragungsverfahren, serielles bussystem und anschalteinheit für einen passiven busteilnehmer
DE68921903T2 (de) Datenkonferenzanordnung.
DE60213616T2 (de) Eine allgemeine eingabe-/ausgabearchitektur, protokoll und entsprechende verfahren zur umsetzung der flusssteuerung
DE60212626T2 (de) Endknotenunterteilung mittels lokaler identifikatoren
DE3820544C2 (de) Ortsbereichsnetzsystem mit einem hiermit gekoppelten Mehrcomputersystem und Verfahren zur Steuerung hiervon
DE69731421T2 (de) Verfahren zum Verknüpfen eines Datenpaketes mit einem Kanal in einem IEEE1394-Datenübertragungssystem
DE112018002466T5 (de) Umgehung der entzerrung bei niedrigeren datenraten
DE112009004075T5 (de) Selektives kommunizieren von daten eines peripheriegeräts zumehreren sendenden computern
DE19900369A1 (de) Vorrichtung und Verfahren zur Ausführung einer Steuerübertragung auf einem Universal Serial Bus
DE69829987T2 (de) E/a bus mit schnellen 16-bit zerteilten transaktionen
CN102270186A (zh) 一种虚拟桌面外部设备支持系统
DE102008030587A1 (de) Verfahren und Vorrichtung zur Erhöhung der Effizienz der Interrupt-Lieferung zur Laufzeit in einem Netzwerksystem
DE102021118048A1 (de) Systemleistungsverwaltung in e/a-hybridsystemen mit mehreren ports
DE112014003335T5 (de) Kabel mit Schaltung zum Übertragen von Leistungsfähigkeitsinformation
DE60123134T2 (de) Verfahren und vorrichtung für einen rekonfigurierbaren prozessor
DE69935940T2 (de) Zielknoten, Datenkommunikationssystem, Kontrollverfahren eines Zielknotens und Verfahren zum Betreiben eines Datenkommunikationssystems
CN105190530A (zh) 传输硬件渲染的图形数据
CN104954748B (zh) 一种视频处理架构
DE102018121086A1 (de) Vorrichtungen, systeme und verfahren zum augenblicklichen videoschalten in einer erweiterungsumgebung
EP1370952B1 (de) Kommunikationsverfahren zur realisierung von ereigniskanälen in einem zeitgesteuerten kommunikationssystem
DE102020118205A1 (de) Verfahren und einrichtungen zum implementieren mehrerer inferenz-rechen-engines
DE69217807T2 (de) Verfahren und Vorrichtung zum Test eines ringförmigen Hochgeschwindigkeitsnetzwerkes

Legal Events

Date Code Title Description
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final