DE102014100183B4 - Verfahren und Vorrichtung zum Verwenden eines separaten Rückwärtskanals für Benutzereingaben bei der Replizierung der Anzeige eines mobilen Geräts - Google Patents

Verfahren und Vorrichtung zum Verwenden eines separaten Rückwärtskanals für Benutzereingaben bei der Replizierung der Anzeige eines mobilen Geräts Download PDF

Info

Publication number
DE102014100183B4
DE102014100183B4 DE102014100183.4A DE102014100183A DE102014100183B4 DE 102014100183 B4 DE102014100183 B4 DE 102014100183B4 DE 102014100183 A DE102014100183 A DE 102014100183A DE 102014100183 B4 DE102014100183 B4 DE 102014100183B4
Authority
DE
Germany
Prior art keywords
data
server
client
media
local area
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.)
Active
Application number
DE102014100183.4A
Other languages
English (en)
Other versions
DE102014100183A1 (de
Inventor
Fan Bai
Robert A. Hrabak
David P. Pop
Bo Yu
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102014100183A1 publication Critical patent/DE102014100183A1/de
Application granted granted Critical
Publication of DE102014100183B4 publication Critical patent/DE102014100183B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Verfahren zum Steuern von Medieninhalt (A, V) zwischen einer Quelle und einem entfernten Ausgabegerät, wobei das Verfahren die Schritte umfasst, dass:ein autonomes tragbares Multimediagerät (14, 40) bereitgestellt wird, das ausgelegt ist, um Medieninhalt (A, V) weiterzuleiten, wobei das tragbare Gerät (14, 40) einen Steuerungsserver (48), einen Datenserver (42) und einen Inhalts-Cache (50) enthält;eine Hauptsteuerungseinheit (30), die einen Steuerungsklienten (36) und einen Datenklienten (32) enthält, zum Festbetrieb an einer Betrachtersitzposition bereitgestellt wird, wobei die Hauptsteuerungseinheit (30) ein Medienausgabegerät zum Abspielen des weitergeleiteten Medieninhalts (A, V) enthält, wobei die Hauptsteuerungseinheit (30) vom tragbaren Gerät (14, 40) entfernt ist;eine erste lokale Netzwerkkopplung (58) zwischen dem Steuerungsklienten (36) und dem Steuerungsserver (48) aufgebaut wird, um Steuerungssignale (C) zwischen der Hauptsteuerungseinheit (30) und dem tragbaren Gerät (14, 40) zu übertragen;eine zweite lokale Netzwerkkopplung (56) zwischen dem Datenserver (42) und dem Datenklienten (32) aufgebaut wird, um Medieninhaltsignale zwischen dem tragbaren Gerät (14, 40) und der Hauptsteuerungseinheit (30) zu übertragen, wobei die erste lokale Netzwerkkopplung (58) eine niedrigere Verkehrsvolumenkapazität als die zweite lokale Netzwerkkopplung (56) und eine kürzere Latenzzeit für die Steuerungssignale (C) als für das Medieninhaltssignal über die zweite lokale Netzwerkkopplung (56) aufweist;Benutzereingabedaten bei der Hauptsteuerungseinheit (30) empfangen werden, wobei die Benutzereingabedaten die Anforderung eines Benutzers zum Verändern eines Abspielens des weitergeleiteten Medieninhalts (A, V) betreffen;von dem Steuerungsklienten (36) die Steuerungssignale (C) erzeugt werden, welche die Anforderung des Benutzers angeben, und diese unter Verwendung der ersten lokalen Netzwerkkopplung (58) an den Steuerungsserver (48) übertragen werden;vom Steuerungsserver (48) Anweisungen an den Datenserver (42) zum Ausführen der Benutzeranforderung bereitgestellt werden;der Datenserver (42) mit dem Inhalts-Cache (50) synchronisiert wird, um Mediendaten zu holen, die verwendet werden, um die Anweisungen auszuführen;die geholten Mediendaten vom Datenserver (42) an den Datenklienten (32) unter Verwendung der zweiten lokalen Netzwerkkopplung (56) übertragen werden; unddie Mediendaten über das Medienausgabegerät an den Benutzer ausgegeben werden;wobei die erste (58) und zweite (56) lokale Netzwerkkopplung separate virtuelle Kanäle auf einer gleichen Transportentität mit unterschiedlichen Prioritäten umfassen, wobei die Priorisierung durch einen verbesserten verteilten Kanalzugriff (EDCA) bewerkstelligt wird.

Description

  • HINTERGRUND DER ERFINDUNG
  • Eine Ausführungsform betrifft allgemein die Integration externer Geräte in ein Fahrzeug.
  • Mobile Geräte wie etwa Smartphones werden ein alltäglicher Bestandteil im Leben der Menschen. Die Anzahl der Anwendungen, die auf einem Smartphone verwendet werden können, nimmt laufend zu. Derartige mobile Geräte werden nicht nur für Telefonanrufe und Textbotschaften verwendet, sondern sie werden auch für Multimedia (Video und Audio), Internetzugang, Lesen, GPS und Navigation, Terminplanung, Forschung, soziale Netzwerke, Spiele und buchstäblich tausende anderer Anwendungen verwendet. Seit kurzem ermöglichen es Technologien, dass Verbraucher viele Anwendungen auf ihrem Telefon so nutzen, dass sie auf einer Haupteinheit eines Infotainmentsystems verwendet werden können, etwa das direkte Anzeigen eines Videobilds an dem Bildschirm in der Mittelkonsole des Fahrzeugs. Mit dieser Technik zeigen viele Benutzer gerne Videomaterial und andere visuelle oder Audiomaterialien an dem Bildschirm der Haupteinheit an, welche von dem tragbaren Gerät erzeugt werden. Viele Benutzer wünschen jedoch, die Bedienelemente an der Haupteinheit anstelle der Bedienelemente an dem tragbaren Gerät als Gerätebedienelemente zu verwenden, um die Videoquelle zu steuern. Datenkollisionen zwischen der Datenübertragung und Steuerungssignalübertragungen können zu Leistungs- und Latenzzeitproblemen führen.
  • Die Druckschriften Bose, Raja; Brakensiek, Jörg; Park, Keun-Young: Terminal Mode - Transforming Mobile Devices into Automotive Application Platforms. In: Proceedings of the Second International Conference on Automotive User Interfaces and Interactive Vehicular Applications (AutomotiveUt 2010), November 11-12, 2010, Pittsburgh, Pennsylvania, USA, S. 148 - 155 sowie Bose, Raja; Brakensiek, Jörg; Park, Keun-Young; Lester, Jonathan: Morphing Smartphones into Automotive Application Platforms. In: Computer, Vol. 44, Nr. 5, 2011, S. 53 -61 offenbaren eine Technik, die Terminal Modus genannt wird und die Integration eines Mobiltelefons in eine Hauptsteuerungseinheit eines Kraftfahrzeugs derart ermöglicht, dass Applikationen auf dem Mobiltelefon auf einem Display der Hauptsteuerungseinheit angezeigt und von dort aus gesteuert werden können.
  • In der Druckschrift US 2011 / 0 271 195 A1 sind Verfahren und Vorrichtungen zum Zuteilen von verschiedenen Inhalten auf verschiedene Hardwareschnittstellen offenbart, bei denen Audio-, Video- und Steuerungsinhalte zwischen einem Mobiltelefon und einem Computer über unterschiedliche Übertragungskanäle wie Bluetooth, HDMI und USB übertragen werden.
  • Die Druckschrift US 2011 / 0 107 388 A1 offenbart ein Verfahren und eine Vorrichtung zum Übertragen von Nutzereingaben in ein Audio/Video-Ausgabegerät an eine Audio/Video-Quelle unter Verwendung eines Nutzereingabe-Rückkanals.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Ein Vorteil einer Ausführungsform besteht in einer Verringerung der Latenzzeit beim Ausführen des Abspielens des Videos oder Audios, das von einem entfernten Gerät erzeugt und an einem separaten Ausgabegerät angezeigt wird. Die Verwendung separater Kommunikationskanäle oder der Priorisierung einer Kommunikation über den gleichen Kommunikationskanal beseitigt Signalkollisionen zwischen den kommunizierenden Geräten. Als Folge werden von einem Benutzer in eine Hauptsteuerungseinheit eingegebene Steuerungssignale auf effektive Weise an das entfernte Gerät kommuniziert und die Befehle werden von dem entfernten Gerät unmittelbar ausgeführt. Als Folge gibt es keine Latenzzeit bei den Steuerungssignalen, die an das entfernte Gerät übertragen werden, oder bei der Mediendatenübertragung an die Hauptsteuerungseinheit in Ansprechen auf die empfangenen Steuerungssignale.
  • Eine Ausführungsform betrachtet ein Verfahren zum Steuern von Medieninhalt zwischen einer Quelle und einem entfernten Ausgabegerät. Ein autonomes tragbares Multimediagerät ist zum Weiterleiten von Medieninhalt ausgelegt. Das tragbare Gerät enthält einen Steuerungsserver, einen Datenserver und einen Inhalts-Cache. Eine Hauptsteuerungseinheit wird für einen feststehenden Betrieb an einer Betrachtersitzposition bereitgestellt. Die Hauptsteuerungseinheit enthält einen Steuerungsklienten und einen Datenklienten. Die Hauptsteuerungseinheit enthält ein Medienausgabegerät zum Abspielen des weitergeleiteten Medieninhalts. Die Hauptsteuerungseinheit ist von dem tragbaren Gerät entfernt. Zwischen dem Steuerungsserver und dem Steuerungsklienten wird eine erste lokale Netzwerkkopplung aufgebaut, um Steuerungssignale zwischen der Hauptsteuerungseinheit und dem tragbaren Gerät zu übertragen. Zwischen den Datenklienten und dem Datenserver wird eine zweite lokale Netzwerkkopplung aufgebaut, um Medieninhaltsignale zwischen der Hauptsteuerungseinheit und dem tragbaren Gerät zu übertragen. Die erste lokale Netzwerkkopplung weist eine niedrigere Übertragungsvolumenkapazität als die zweite lokale Netzwerkkopplung und eine kürzere Latenzzeit für die Steuerungssignale als für das Medieninhaltsignal über die zweite lokale Netzwerkkopplung auf. Bei einer Hauptsteuerungseinheit werden Benutzereingabedaten empfangen. Die Benutzereingabedaten betreffen die Anforderung eines Benutzers zum Verändern des Abspielens des weitergeleiteten Medieninhalts. Der Steuerungsklient erzeugt die Steuerungssignale, welche die Anforderung des Benutzers anzeigen, und überträgt die Steuerungssignale unter Verwendung der ersten lokalen Netzwerkkopplung an den Steuerungsserver. Der Steuerungsserver stellt Anweisungen für den Datenserver bereit, um die Benutzeranforderung auszuführen. Der Datenserver synchronisiert sich mit dem Inhalts-Cache, um Mediendaten zu holen, die zum Ausführen der Anweisungen verwendet werden. Die geholten Mediendaten werden unter Verwendung der zweiten lokalen Netzwerkkopplung von dem Datenserver an den Datenklienten übertragen. Die Mediendaten werden über das Medienausgabegerät an den Benutzer ausgegeben.
  • Figurenliste
    • 1 ist eine bildliche Darstellung eines Schnittstellensystems zwischen einem tragbaren Gerät und einem Fahrzeug.
    • 2 ist ein Blockdiagramm eines Schnittstellensystems zwischen einem tragbaren Gerät und einem Fahrzeug.
    • 3 ist ein Blockdiagramm eines Übertragungsschemas, das einen einzigen Kommunikationskanal mit sämtlicher Kommunikation in die gleiche Richtung verwendet.
    • 4 ist ein Blockdiagramm eines Übertragungsschemas unter Verwendung eines einzigen Kommunikationskanals mit Kommunikation in entgegengesetzte Richtungen.
    • 5 ist ein Blockdiagramm eines Übertragungsschemas unter Verwendung getrennter Kommunikationskanäle.
    • 6 ist ein Blockdiagramm eines Übertragungsschemas unter Verwendung eines prioritätsgesteuerten einzigen Kommunikationskanals.
    • 7 ist ein Flussdiagramm für ein Verfahren für den Protokollbetrieb zwischen dem tragbaren Gerät und der Haupteinheit.
  • GENAUE BESCHREIBUNG
  • In 1 und 2 ist eine bildliche Darstellung und ein Blockdiagramm eines Schnittstellensystems zwischen einem tragbaren Gerät und einem Fahrzeug gezeigt. Das System enthält ein Fahrzeugschnittstellensystem 12, das mit einem tragbaren Gerät 14 kommuniziert. Das tragbare Gerät 14 wird von einem Benutzer des Fahrzeugs mitgeführt und ist zum Speichern und Ausführen einer Vielzahl von Anwendungen in der Lage, die Video und Audio verwenden und an den Bildschirm der Fahrzeugschnittstellenvorrichtung 12 ausgegeben werden. Beispiele für ein tragbares Gerät 14 umfassen Smartphones, Netbooks, E-Reader, einen persönlichen digitalen Assistenten (PDA) und jedes andere Gerät, das eine Vielzahl von Video- und Audioanwendungen laufenlassen kann, sind aber nicht darauf beschränkt. Die Vielzahl von Video- und Audioanwendungen 16 umfasst Filme, Musik, DVD, Telefon, Navigation, Wettervorhersage, Leseprogramme, Email und das Internet, ist aber nicht darauf beschränkt.
  • Der Zweck des Schnittstellensystems zwischen einem tragbaren Gerät und einem Fahrzeug besteht darin, es einem Benutzer zu ermöglichen, die Vielzahl von Video und Audioanwendungen durch das Fahrzeugschnittstellensystem 12 auszuführen. Das fahrzeugbasierte Schnittstellensystem 12 enthält mindestens ein Mensch/Maschine-Schnittstellengerät (HMI-Gerät) 16. Das HMI-Gerät 16 kann eine doppelte Funktionalität aufweisen, bei der ein Videobildschirm 18 ein Video oder andere Graphiken anzeigt und das HMI-Gerät 16 außerdem Benutzereingaben annimmt. Ein Beispiel für ein HMI-Gerät 16, das eine doppelte Funktionalität enthält, ist die Haupteinheit eines Fahrzeugs, die den Videobildschirm 18 zum Anzeigen eines Videos (z.B. ein Navigationsbildschirm) und dedizierte Taster 20 und/oder einen berührungsempfindlichen Bildschirm 22 zum Empfangen der Auswahl des Benutzers enthält. Der Zweck des Videobildschirms 18 besteht darin, das Video anzuzeigen, das typischerweise auf dem tragbaren Gerät 14 zu sehen ist. Für die hier beschriebenen Zwecke ist ein Video jede Art von Bild (statisch oder dynamisch), die an dem Videobildschirm 18 angezeigt werden kann. Beispielsweise benutzen viele Smartphones heutzutage berührungsempfindliche Bildschirme, bei denen die graphische Benutzerschnittstelle an dem Bildschirm angezeigt wird und Auswahlen getätigt werden, indem entweder eine Anwendung/ein Symbol auf dem Bildschirm berührt wird oder ein Zeiger verwendet wird, um zu der Anwendung/dem Symbol zu navigieren. Zudem können Videos wie etwa ein Film und das Internet an dem Videobildschirm 18 angezeigt werden. Die graphische Benutzerschnittstelle enthält Filme, Internet und graphische Symbole zur Auswahl von Softwareanwendungen, ist aber nicht darauf beschränkt.
  • Das HMI-Gerät 20 zeigt auf einem Bildschirm das Video oder andere Graphiken an, die typischerweise auf dem tragbaren Gerät zu sehen sind. Dies ermöglicht, dass der Benutzer, der das angezeigte Video betrachtet, bestimmte Slave-Softwareanwendungen über die Bedienelemente des Schnittstellensystems 12 steuert, statt das tragbare Gerät 14 zu benutzen. Die Anwendung vom tragbaren Gerät 14 kann aktiviert werden, indem ein Menü an dem Videobildschirm 18 des HMI-Geräts 16 zur Auswahl einer Anwendung angezeigt wird. Wenn der Videobildschirm 18 ein berührungsempfindlicher Bildschirm 22 ist, dann kann eine Auswahl von dem berührungsempfindlichen Bildschirm 22 aus getroffen werden, oder wenn der Videobildschirm 18 kein berührungsempfindlicher Bildschirm ist, dann können physikalische Bedienelemente 20 (Taster, Knöpfe, Hebel usw.), etwa diejenigen, die man am Lenkrad vorfindet, umkonfiguriert werden, um den Benutzer durch die Anwendungen zu leiten, die an dem Bildschirm des HMI-Geräts 16 angezeigt werden.
  • 3 veranschaulicht eine Anwendung, bei der Datenstrom- und Steuerungssignale über das gleiche Kommunikationsmedium übermittelt werden. Es gibt drei Arten von Datenströmen: einen Videostrom (V) mit hohem Volumen, einen Audiostrom (A) mit mittlerem Volumen und einen Steuerungsstrom (C) mit niedrigem Volumen. Alle drei Volumenströme stammen von dem mobilen Gerät für das Anzeigegerät unter Verwendung eines WiFi-Kanals 22. Datenpakete von Video-, Audio- und Steuerungsströmen werden in eine einzige WiFi-Warteschlange beruhend auf ihrem Erzeugungszeitpunkt eingefügt. Als Folge wird eine Latenzzeit begrenzt, die der Steuerungsstrom erfährt, da die Pakete von den drei Strömen über einen gewichteten Round-Robin-Prozess 24 gesendet werden.
  • 4 veranschaulicht ein weiteres Übertragungsschema, bei dem zwei UDP-Ports (A) und (V) zur Audio- und Videoübertragung verwendet werden können und ein TCP-Port (C) für Steuerungssignale auf dem gleichen WiFi-Kanal 22 verwendet werden kann. Der Hauptkanal befördert die Video-(V)- und Audio-(A)-Massendaten, wodurch der WiFi-Kanal 22 mit hoher Auslastung dominiert wird. Der Rückwärtssteuerungsstrom (C) verfügt aufgrund des gleichen Rücksetzmechanismus über wenige Gelegenheiten zum Zugriff auf den WiFi-Kanal 22, was zu einer langen Latenzzeit für Steuerungsaktionen führt. Wie allgemein bei 26 gezeigt ist, tritt eine Kollision der Übertragung von Datenpaketen und Steuerungssignalen in entgegengesetzte Richtungen über den gleichen Kanal hinweg auf. Als Folge ist bei der Verwendung dieses Verfahrens das Latenzzeitverhalten ein Hauptproblem.
  • 5 veranschaulicht ein erstes Übertragungsschema zum Überwinden der vorstehend beschriebenen Defizite. Ein Klientengerät, etwa eine Fahrzeughaupteinheit, ist allgemein bei 30 gezeigt. Das Klientengerät 30 enthält einen Echtzeittransportprotokollklienten (RTP-Klienten) 32, einen Desktopfemsteuerungsprotokoll-Klienten (RDP-Klienten) 34, einen Echtzeit-Streamingprotokoll-Klienten (RSTP-Klienten) 36 und ein Zeitsynchronisationsmodul 38 (z.B. ein Zeitsynchronisationsgerät oder ein softwarebasiertes Modul). Der RTP-Klient 32 verwendet ein RTP-Protokoll, das ein standardisiertes Paketformat zum Übertragen von Video und Audio definiert. RTP wird in Kommunikations- und Unterhaltungssystemen verwendet, die Streaming Media und andere Video/Audio-Telekommunikationen verwenden, und ist primär für eine Echtzeitübertragung der Video- und Audiodaten von Endpunkt zu Endpunkt entworfen.
  • Der RSTP-Klient 36 verwendet ein RSTP-Protokoll, das ein Netzwerksteuerungsprotokoll definiert, das von Unterhaltungs- und Kommunikationssystemen zum Steuern von Streaming-Media-Servern verwendet wird. Die Lieferung der Streaming-Daten selbst ist keine Aufgabe des RSTP-Protokolls. Stattdessen wird das RSTP-Protokoll verwendet, um die Sitzungen an den Endpunkten herzustellen und zu steuern und um eine Echtzeitsteuerung des Abspielens der reproduzierten Medien zu steuern. Derartige Befehle umfassen Pause, Abspielen, Stopp, schneller Vorlauf und schneller Rücklauf, sind aber nicht darauf beschränkt. Das RSTP arbeitet in Verbindung mit RTP zur Lieferung von Streaming Media.
  • Der RDP-Klient 34 verwendet ein Protokoll, das einem Benutzer eine graphische Schnittstelle an einem anderen Betrachtungsgerät über eine Netzwerkverbindung darbietet. Dies umfasst, dass der Benutzer ein RDP-Klientenprotokoll an einem ersten kommunizierenden Gerät verwendet, während ein anderes kommunizierendes Gerät ein RDP-Serverprotokoll verwendet. Die von RDP angebotene Funktionalität kann auch durch andere Protokollkomponenten erreicht werden, etwa das virtuelle Netzwerk-Computing (VNC).
  • Das Zeitsynchronisationsmodul 38 wird als Zeitstempel verwendet, um den Klienten beim Synchronisieren von Kommunikationen und Operationen mit anderen kommunizierenden Entitäten zu unterstützen.
  • Ein Servergerät, etwa ein tragbares Gerät, ist allgemein bei 40 dargestellt. Das Servergerät 40 enthält einen Echtzeittransportprotokoll-Server (RTP-Server) 42, einen Desktopfernsteuerungsprotokoll-Server (RDP-Server) 44, einen Echtzeit-Streaming-Protokoll-Server (RSTP-Server) 46, ein Zeitsynchronisationsmodul 48 und einen Inhalts-Cache 50. Alle diese Servergeräte weisen eine analoge Funktionalität wie vorstehend für die Klientengeräte beschrieben auf, mit der Ausnahme, dass die Funktionalität für das Servergerät 40 bereitgestellt ist. Der Inhalts-Cache 50 speichert die Video- und Audiodaten, von dem Servergerät 40 an das Klientengerät 30 geliefert werden sollen.
  • In 5 ist ein WiFi-Kanal 52 ein Datenkommunikationsmedium zur Übermittlung nur von Video- und Audiodaten vom Servergerät 40 an das Klientengerät 30. Der RTP-Server 42 kommuniziert mit dem RTP-Klienten 32, um das Kommunikationsprotokoll zur Lieferung des Video- und/oder Audioinhalts vom Servergerät 40 an das Klientengerät 30 bereitzustellen, welcher dann an einem Videobildschirm des Klientengeräts 30 angezeigt werden kann.
  • Ein zweites Kommunikationsmedium, das von dem WiFi-Kanal 52 getrennt ist, ist allgemein bei 54 gezeigt. Das Kommunikationsmedium 54 kann eine Bluetooth-, USB-, und Nahfeldkommunikation umfassen, ist aber nicht darauf beschränkt. Das Kommunikationsmedium 54 wird verwendet, um Steuerungssignale zu übertragen, die von dem Benutzer in das Klientengerät 30 eingegeben werden. Das Kommunikationsmedium liefert die Steuerungssignale an das Servergerät 40. Die Steuerungssignale stellen Steuerungsaktionen zum Steuern des Streamings von Video und/oder Audio, das von dem Servergerät 30 geliefert wird, bereit. Beispielsweise können Steuerungssignale wie etwa Pause, Abspielen, Rücklauf, schneller Vorlauf in das HMI-Gerät des Servergeräts 30 eingegeben werden und Steuerungssignale werden dann über das Kommunikationsmedium 54 übertragen, um Steuerungsaktionen des Servergeräts 40 zu befehlen. Der RDP-Klient 34, der RTSP-Klient 36 und das Zeitsynchronisationsmodul 38 arbeiten zusammen, um Steuerungssignale zur gemeinsamen und rechtzeitigen Kommunikation mit dem RDP-Server 44, dem RTSP-Server 46 und dem Zeitsynchronisationsmodul 48 zu übertragen. Der RTP-Server 42 empfängt die Befehle vom RDP-Server 44 und Daten vom Inhalts-Cache werden anschließend vom RTP-Server 42 an den RTP-Klienten 32 übermittelt, um das Video und Audio über den Videobildschirm des Klientengeräts anzuzeigen.
  • In 6 wird bei einem WiFi-Kanal eine virtuelle Trennung verwendet. Es werden zwei virtuelle Datenströme mit unterschiedlichen Priorisierungen über den gleichen WiFi-Kanal 52 verwendet. Das Klientengerät 30 und das Servergerät 40 verwenden die gleichen Klientengeräte bzw. Servergeräte wie in 4 beschrieben. Der Video- und Audiostrom vom Servergerät 40 an das Klientengerät 30 arbeitet mit Hilfe eines WiFi-Sendeschemas 56 mit niedriger Priorität. Das Steuerungssignal vom Klientengerät 30 an das Servergerät 40 arbeitet mit Hilfe eines WiFi-Sendeschemas 58 mit hoher Priorität. Eine Priorisierung über den WiFi-Kanal kann bewerkstelligt werden, indem ein verbesserter verteilter Kanalzugriff (EDCA von Enhanced Distributed Channel Access) verwendet wird. Bei EDCA weist ein Verkehr mit hoher Priorität eine höhere Wahrscheinlichkeit auf, gesendet zu werden, als ein Verkehr mit niedriger Priorität. Das heißt, dass ein Datenpaket mit einem Verkehr mit hoher Priorität im Mittelwert etwas weniger wartet, bevor es sein Paket sendet, als eine Datenbotschaft mit einem Verkehr mit niedriger Priorität. Dieser Prozess wird bewerkstelligt, indem ein kürzeres Konkurrenzfenster (CW) und ein kürzerer Entscheidungsraum zwischen Rahmen (AIFS) für Pakete mit höherer Priorität verwendet werden. Die genauen Werte hängen von der physikalischen Schicht ab, die zum Übertragen der Daten verwendet wird. Zudem stellt EDCA einen konkurrenzfreien Zugriff auf den Kanal für eine Zeitspanne bereit, die Übertragungsgelegenheit (TXOP) genannt wird. Als Folge wird das Steuerungssignal immer eine höhere Priorität als die Video- oder Audiodaten aufweisen, die übertragen werden, da das Steuerungssignal die Steuerungsaktion übermittelt, die mit Bezug auf die Video- und Audiodaten ergriffen werden soll. Eine ähnliche Funktionalität des Wiedergebens eines Kanals mit hoher Priorität kann auch über die Verwendung von Protokollkomponenten einer oberen Schicht erreicht werden, etwa Varianten des Übertragungssteuerungsprotokolls (TCP), welche das Rücksetzfenster von TCP-Protokollen manipulieren.
  • 7 veranschaulicht ein Ablaufdiagramm des Protokollbetriebs zwischen dem tragbaren Gerät (d.h. Servergerät) und dem Haupteinheitsgerät (d.h. Klientengerät). Bei Block 60 wird bestimmt, welche Technik verwendet werden soll, um Steuerungssignale vom Haupteinheitsgerät an das tragbare Gerät zu liefern. Die Bestimmung kann beruhend auf einem intelligenten System durchgeführt werden, das entscheiden wird, ob separate physikalische Medien oder priorisierte Kommunikationen über den gleichen WiFi-Kanal verwendet werden sollen, oder sie kann von dem Benutzer gewählt werden. Beispielsweise kann die Bestimmung auf der Bandbreite des WiFi-Kanals oder einer anderen Art von Wechselwirkung beruhen, die die Verwendung einer jeweiligen Technik begünstigen wird.
  • In Ansprechen auf eine Bestimmung, dass die Techniken mit zwei separaten Kommunikationskanälen verwendet werden sollen, werden bei Block 61 zwei separate Kommunikationskanäle erzeugt. Der Video- und Audiokanal kann ein WiFi-Kommunikationsmedium verwenden, um das Video und Audio von dem tragbaren Gerät an das Haupteinheitsgerät zu liefern. Es wird ein zweiter Kommunikationskanal identifiziert, um ein Steuerungsaktionssignal, das von einem Benutzer an der Hauptsteuerungseinheit eingegeben wurde, an das tragbare Gerät zu übermitteln. Von dem zweiten Kanal verwendete Kommunikationsmedien können Bluetooth, USB und NFC umfassen, sind aber nicht darauf beschränkt.
  • Bei Block 62 werden zwischen dem tragbaren Gerät und der Hauptsteuerungseinheit eine erste lokale Netzwerkkopplung und eine zweite lokale Netzwerkkopplung hergestellt. Die erste lokale Netzwerkkopplung wird verwendet, um Steuerungssignale zwischen dem tragbaren Gerät und der Hauptsteuerungseinheit zu übertragen. Die zweite lokale Netzwerkkopplung wird verwendet, um Medieninhaltssignale zwischen den jeweiligen Geräten zu übertragen. Die erste lokale Netzwerkkopplung weist eine niedrigere Volumenkapazität als die zweite lokale Netzwerkkopplung und eine kürzere Latenzzeit für die Steuerungssignale als für den Medieninhalt über die zweite lokale Netzwerkkopplung auf. Daher können die erste und zweite lokale Netzwerkkopplung separate Transportentitäten enthalten (wie in Block 61 beschrieben) oder das erste und zweite lokale Netzwerk können separate virtuelle Kanäle auf der gleichen Transportentität mit unterschiedlichen Prioritäten enthalten (wie im Block 63 beschrieben). Die beiden lokalen Netzwerkkopplungen (z.B. Kommunikationskanäle) werden für zusammenwirkende Kommunikationen zwischen der Hauptsteuerungseinheit und dem tragbaren Gerät synchronisiert. Nach der Synchronisation geht die Routine zu Block 64 weiter.
  • Bei Block 64 werden Protokolloperationen eingeleitet, um Video- und Audiodaten vom tragbaren Gerät an die Hauptsteuerungseinheit zu liefern und zu steuern. Die in den Blöcken 64 - 71 beschriebenen Protokolloperationen werden unabhängig davon verwendet, ob die zwei separaten Kommunikationsmedien verwendet werden oder ob die Technik mit der priorisierten einzigen WiFi-Kommunikation verwendet wird. Bei Block 64 empfängt das Haupteinheitsgerät eine Steuerungsaktion, die von einem Benutzer eingegeben wird. Die Steuerungsaktion ist eine Anforderung zum Ausführen einer gewünschten Operation der Anwendung, die von dem tragbaren Gerät an die Hauptsteuerungseinheit geliefert wird oder geliefert werden soll. Es wird ein RDP/RTSP-Aktionssignal erzeugt, das die gewünschte Operation betrifft. Die gewünschte Operation kann beispielsweise Start, Stopp, Pause, Rücklauf und Schnellvorlauf umfassen, ist aber nicht darauf beschränkt.
  • Bei Block 65 startet der RDP/RSTP-Klient die Operation des RTP-Klienten oder lässt sie pausieren und holt aktuelle Metainformationen vom RTP-Klienten. Die aktuellen Metainformationen können den aktuellen Status der Operation und einen Zeitstempel umfassen, der verwendet wird, um Ereignisse zu synchronisieren und eine Zeitbasis herzustellen.
  • Bei Block 66 übermittelt der RDP/RSTP-Klient die Steuerungsaktion über das gewünschte Kommunikationsmedium, das bei Block 50 bestimmt wurde, und instruiert den RDP/RTSP-Server über die gewünschte Operation zusammen mit den Statusinformationen und dem Zeitstempel.
  • Bei Block 67 leitet der RDP/RTSP-Server die angeforderte gewünschte Operation, den Status der Operationen und den Zeitstempel an den RTP-Server weiter.
  • Bei Block 68 liefert der RTP-Server Anweisungen an den Inhalts-Cache bezüglich der gewünschten Operation zusammen mit Zeitstempelinformationen. Der Inhalts-Cache speichert alle Video- und Audiodaten im tragbaren Gerät.
  • Bei Block 69 „streamt“ der Inhalts-Cache die Video- und Audiodaten, welche die gewünschte Operation betreffen, an den RTP-Server.
  • Bei Block 70 überträgt der RTP-Server die Video- und Audiodaten, die von dem Inhalts-Cache „gestreamt“ werden, über das Video- und Audio-WiFi-Kommunikationsmedium an den RTP-Klienten.
  • Bei Block 71 empfängt der RTP-Klient die Video- und Audiodaten und das Haupteinheitgerät gibt die Video- und/oder Audiodaten an einem Videobildschirm des Haupteinheitsgeräts aus. Danach wird zu Block 64 zurückgekehrt.
  • Wieder mit Bezug auf Block 60 werden dann, wenn bestimmt wird, dass der priorisierte WiFi-Kanal verwendet wird, zwei virtuelle Datenleitungen mit unterschiedlicher Priorisierung auf den gleichen WiFi-Kanal erzeugt. Video- und Audiodaten vom RTP-Server des tragbaren Geräts werden unter Verwendung eines WiFi-Sendeschemas mit niedriger Priorität an die Hauptsteuerungseinheitsbasis geliefert. Steuerungssignale von dem RDP/RTSP-Klienten der Hauptsteuerungseinheit werden unter Verwendung eines WiFi-Sendeschemas mit hoher Priorität an das tragbare Gerät geliefert. Als Folge werden Steuerungsaktionssignale mit einer höheren Priorität versehen, um Daten über den WiFi-Kanal zu übertragen, als zum Übertragen der Video- und Audiodaten. Nachdem die virtuellen Datenleitungen über den gleichen WiFi-Kanal erzeugt sind, geht die Routine zu Block 64 weiter, bei dem Protokolloperationen zum Übertragen von Steuerungssignalen und Daten ausgeführt werden.
  • Obwohl bestimmte Ausführungsformen der vorliegenden Erfindung im Detail beschrieben wurden, wird der Fachmann auf dem Gebiet, das diese Erfindung betrifft, verschiedene alternative Konstruktionen und Ausführungsformen erkennen, um die Erfindung, die durch die folgenden Ansprüche definiert wird, in die Praxis umzusetzen.

Claims (8)

  1. Verfahren zum Steuern von Medieninhalt (A, V) zwischen einer Quelle und einem entfernten Ausgabegerät, wobei das Verfahren die Schritte umfasst, dass: ein autonomes tragbares Multimediagerät (14, 40) bereitgestellt wird, das ausgelegt ist, um Medieninhalt (A, V) weiterzuleiten, wobei das tragbare Gerät (14, 40) einen Steuerungsserver (48), einen Datenserver (42) und einen Inhalts-Cache (50) enthält; eine Hauptsteuerungseinheit (30), die einen Steuerungsklienten (36) und einen Datenklienten (32) enthält, zum Festbetrieb an einer Betrachtersitzposition bereitgestellt wird, wobei die Hauptsteuerungseinheit (30) ein Medienausgabegerät zum Abspielen des weitergeleiteten Medieninhalts (A, V) enthält, wobei die Hauptsteuerungseinheit (30) vom tragbaren Gerät (14, 40) entfernt ist; eine erste lokale Netzwerkkopplung (58) zwischen dem Steuerungsklienten (36) und dem Steuerungsserver (48) aufgebaut wird, um Steuerungssignale (C) zwischen der Hauptsteuerungseinheit (30) und dem tragbaren Gerät (14, 40) zu übertragen; eine zweite lokale Netzwerkkopplung (56) zwischen dem Datenserver (42) und dem Datenklienten (32) aufgebaut wird, um Medieninhaltsignale zwischen dem tragbaren Gerät (14, 40) und der Hauptsteuerungseinheit (30) zu übertragen, wobei die erste lokale Netzwerkkopplung (58) eine niedrigere Verkehrsvolumenkapazität als die zweite lokale Netzwerkkopplung (56) und eine kürzere Latenzzeit für die Steuerungssignale (C) als für das Medieninhaltssignal über die zweite lokale Netzwerkkopplung (56) aufweist; Benutzereingabedaten bei der Hauptsteuerungseinheit (30) empfangen werden, wobei die Benutzereingabedaten die Anforderung eines Benutzers zum Verändern eines Abspielens des weitergeleiteten Medieninhalts (A, V) betreffen; von dem Steuerungsklienten (36) die Steuerungssignale (C) erzeugt werden, welche die Anforderung des Benutzers angeben, und diese unter Verwendung der ersten lokalen Netzwerkkopplung (58) an den Steuerungsserver (48) übertragen werden; vom Steuerungsserver (48) Anweisungen an den Datenserver (42) zum Ausführen der Benutzeranforderung bereitgestellt werden; der Datenserver (42) mit dem Inhalts-Cache (50) synchronisiert wird, um Mediendaten zu holen, die verwendet werden, um die Anweisungen auszuführen; die geholten Mediendaten vom Datenserver (42) an den Datenklienten (32) unter Verwendung der zweiten lokalen Netzwerkkopplung (56) übertragen werden; und die Mediendaten über das Medienausgabegerät an den Benutzer ausgegeben werden; wobei die erste (58) und zweite (56) lokale Netzwerkkopplung separate virtuelle Kanäle auf einer gleichen Transportentität mit unterschiedlichen Prioritäten umfassen, wobei die Priorisierung durch einen verbesserten verteilten Kanalzugriff (EDCA) bewerkstelligt wird.
  2. Verfahren nach Anspruch 1, wobei der Datenklient (32) ein Echtzeit-Transportprotokoll enthält, wobei das Echtzeit-Transportprotokoll die Mediendaten über einen jeweiligen Kommunikationskanal (56) empfängt.
  3. Verfahren nach Anspruch 2, wobei der Steuerungsklient (36) ein Echtzeit-Streamingprotokoll enthält, wobei das Echtzeit-Streamingprotokoll Medienübertragungssitzungen zwischen dem tragbaren Gerät (14, 40) und der Hauptsteuerungseinheit (30) steuert.
  4. Verfahren nach Anspruch 3, wobei der Steuerungsklient (36) einen Desktopfernsteuerungsklienten (34) enthält, der eine graphische Schnittstelle für die Hauptsteuerungseinheit (30) bereitstellt.
  5. Verfahren nach Anspruch 4, wobei der Datenserver (42) einen Echtzeit-Transportprotokollserver enthält, wobei der Echtzeit-Transportprotokollserver die Mediendaten über einen jeweiligen Kommunikationskanal (56) liefert.
  6. Verfahren nach Anspruch 5, wobei der Steuerungsserver (48) einen Echtzeit-Streamingprotokollserver enthält, wobei der Echtzeit-Streamingprotokollserver Medienübertragungssitzungen zwischen dem tragbaren Gerät (14, 40) und der Hauptsteuerungseinheit (30) steuert.
  7. Verfahren nach Anspruch 6, wobei der Steuerungsserver (48) einen Desktopfernsteuerungsklienten enthält, der eine graphische Schnittstelle für das tragbare Gerät (14, 40) bereitstellt.
  8. Verfahren nach Anspruch 7, wobei die Hauptsteuerungseinheit (30) und das tragbare Gerät (14, 40) jeweils ein Zeitsynchronisationsmodul (38, 46) zum Erzeugen von Zeitstempeln und zum Synchronisieren von Kommunikationen zwischen dem Steuerungsklienten (36) und dem Steuerungsserver (48) und zum Erzeugen von Zeitstempeln und zum Synchronisieren von Kommunikationen zwischen dem Datenklienten (32) und dem Datenserver (42) enthalten.
DE102014100183.4A 2013-01-15 2014-01-09 Verfahren und Vorrichtung zum Verwenden eines separaten Rückwärtskanals für Benutzereingaben bei der Replizierung der Anzeige eines mobilen Geräts Active DE102014100183B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/741,618 2013-01-15
US13/741,618 US9237197B2 (en) 2013-01-15 2013-01-15 Method and apparatus of using separate reverse channel for user input in mobile device display replication

Publications (2)

Publication Number Publication Date
DE102014100183A1 DE102014100183A1 (de) 2014-07-17
DE102014100183B4 true DE102014100183B4 (de) 2019-08-08

Family

ID=51015180

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014100183.4A Active DE102014100183B4 (de) 2013-01-15 2014-01-09 Verfahren und Vorrichtung zum Verwenden eines separaten Rückwärtskanals für Benutzereingaben bei der Replizierung der Anzeige eines mobilen Geräts

Country Status (3)

Country Link
US (1) US9237197B2 (de)
CN (1) CN103929468B (de)
DE (1) DE102014100183B4 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014018116A1 (de) 2014-12-09 2016-06-09 Daimler Ag Informations-Unterhaltungs-System für einen Kraftwagen und Verfahren zum Betreiben eines solchen
US10091264B2 (en) * 2015-12-26 2018-10-02 Intel Corporation Technologies for streaming device role reversal
US10430665B2 (en) 2017-09-07 2019-10-01 GM Global Technology Operations LLC Video communications methods using network packet segmentation and unequal protection protocols, and wireless devices and vehicles that utilize such methods
US11087617B2 (en) 2018-11-26 2021-08-10 GM Global Technology Operations LLC Vehicle crowd sensing system and method
US11551058B2 (en) 2019-06-27 2023-01-10 Intel Corporation Wireless feedback control loops with neural networks to predict target system states
US11129117B2 (en) * 2019-06-27 2021-09-21 Intel Corporation Predictive wireless feedback control loops

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US148155A (en) 1874-03-03 Improvement in farm-gates
US20110107388A1 (en) 2009-11-02 2011-05-05 Samsung Electronics Co., Ltd. Method and apparatus for providing user input back channel in audio/video system
US20110271195A1 (en) 2010-04-30 2011-11-03 Nokia Corporation Method and apparatus for allocating content components to different hardward interfaces

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050239434A1 (en) * 2002-12-11 2005-10-27 Marlowe Ira M Multimedia device integration system
US8301790B2 (en) * 2007-05-30 2012-10-30 Randy Morrison Synchronization of audio and video signals from remote sources over the internet
JP5350004B2 (ja) * 2009-02-19 2013-11-27 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
CN201821447U (zh) * 2010-06-22 2011-05-04 深圳市优特普科技有限公司 远距离传输视频、音频、控制信号和电源的装置
KR20120088008A (ko) * 2010-09-13 2012-08-08 현대자동차주식회사 콘텐츠 연동 기능을 갖는 단말기 및 그 연동 방법
CN102630057A (zh) * 2012-04-25 2012-08-08 青岛海信电器股份有限公司 多屏互动***、智能终端及多屏互动控制方法
US9144094B2 (en) * 2012-10-29 2015-09-22 Qualcomm Incorporated Establishing a wireless display session between a computing device and a vehicle head unit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US148155A (en) 1874-03-03 Improvement in farm-gates
US20110107388A1 (en) 2009-11-02 2011-05-05 Samsung Electronics Co., Ltd. Method and apparatus for providing user input back channel in audio/video system
US20110271195A1 (en) 2010-04-30 2011-11-03 Nokia Corporation Method and apparatus for allocating content components to different hardward interfaces

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BOSE, Raja; BRAKENSIEK, Jörg; PARK, Keun-Young: Terminal Mode – Transforming Mobile Devices into Automotive Application Platforms. In: Proceedings of the Second International Conference on Automotive User Interfaces and Interactive Vehicular Applications (AutomotiveUI 2010), November 11-12, 2010, Pittsburgh, Pennsylvania, USA, S. 148 - 155 *
BOSE, Raja; BRAKENSIEK, Jörg; PARK, Keun-Young; LESTER, Jonathan: Morphing Smartphones into Automotive Application Platforms. In: COMPUTER, Vol. 44, Nr. 5, 2011, S. 53 – 61 *

Also Published As

Publication number Publication date
DE102014100183A1 (de) 2014-07-17
CN103929468B (zh) 2017-08-22
CN103929468A (zh) 2014-07-16
US20140201259A1 (en) 2014-07-17
US9237197B2 (en) 2016-01-12

Similar Documents

Publication Publication Date Title
DE102014100183B4 (de) Verfahren und Vorrichtung zum Verwenden eines separaten Rückwärtskanals für Benutzereingaben bei der Replizierung der Anzeige eines mobilen Geräts
DE60309201T2 (de) Verfahren und system zur übertragung von ereignissen, einschliesslich multimedia daten
DE112018000226T5 (de) Mobiles Cloud-Computing-Endgerät und Betriebsverfahren dafür
US7953795B2 (en) Method and apparatus for participating in a conference session over a data communication network
US8782534B2 (en) Independent viewing of web conference content by participants
DE112016000715T5 (de) Verfahren, systeme und medien zum präsentieren eines vorschlags, videos anzuschauen
DE112015002650B4 (de) Systeme und Verfahren zur prädiktiven Auslieferung von Inhalten mit hohen Bitraten zur Wiedergabe
EP2650832A1 (de) Inhaltsbewusster persistenter Benutzerraum
US9219765B2 (en) End user QoS selection
DE102016113431B4 (de) System und Verfahren zur ereignisbasierten Synchronisierung bei der Mediendateiübertragung und Anzeigewiedergabe zwischen einem Peripheriesystem und einem Host-Gerät
DE102012013336A1 (de) Aushandeln einer kontinuierlichen multi-stream-präsenz
DE112013007509B4 (de) Verfahren, Einrichtung und System zum Auswählen von Audio-Video-Daten zum Streamen
DE102011114277B4 (de) Globaler Konferenzplan für verteilte Brücken
DE202019005789U1 (de) Bereitstellung von Ereignisinhalten
DE202021004011U1 (de) Erzeugen und Anzeigen von kontextuellem audiovisuellem Inhalt
DE102014113704A1 (de) Informationsverarbeitungseinrichtung und Informationsverarbeitungsverfahren
CN103412782A (zh) 一种基于flash的动态资源加载方法和***
DE202017105308U1 (de) Videosurfen per Langhaltegeste
DE102015101357B4 (de) System und Verfahren zum Kompensieren von Verzögerungen und Schwankungen
DE112009004319T5 (de) Kommunizieren von Datenzugängen zwischen einem ersten und einem zweiten Computer, die über ein Netzwerk verbunden sind
EP2974288B1 (de) Erzeugung eines bildstroms
DE102019204521A1 (de) Kontextabhängiges Routing von Mediendaten
US10320862B2 (en) Providing content analytics on delivery rate and consumption rates differentials in live online conferencing
EP3257220B1 (de) Verfahren zur übertragung von daten in einem multimedia-system, sowie softwareprodukt und system zur steuerung der übertragung von daten in einem multimedia-system
DE102014117931B4 (de) Koordinierte Videotelefonüberlagerung einer PC-Desktopanzeige

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
R020 Patent grant now final