DE102012018614A1 - Steuern einer Datensendung - Google Patents

Steuern einer Datensendung Download PDF

Info

Publication number
DE102012018614A1
DE102012018614A1 DE102012018614A DE102012018614A DE102012018614A1 DE 102012018614 A1 DE102012018614 A1 DE 102012018614A1 DE 102012018614 A DE102012018614 A DE 102012018614A DE 102012018614 A DE102012018614 A DE 102012018614A DE 102012018614 A1 DE102012018614 A1 DE 102012018614A1
Authority
DE
Germany
Prior art keywords
data
packet
cache
transmitter
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102012018614A
Other languages
English (en)
Inventor
James Michael Clark
Nicholas John Jones
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.)
Qualcomm Technologies International Ltd
Original Assignee
Cambridge Silicon Radio Ltd
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 Cambridge Silicon Radio Ltd filed Critical Cambridge Silicon Radio Ltd
Publication of DE102012018614A1 publication Critical patent/DE102012018614A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1825Adaptation of specific ARQ protocol parameters according to transmission conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • H04L1/1877Buffer management for semi-reliable protocols, e.g. for less sensitive applications like streaming video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Verfahren zum Steuern einer Datensendung bei einem Sender, wobei der Sender eine Verbindungssteuerung umfasst, die Daten aus einem Zwischenspeicher zur Sendung ausliest, wobei der Sender nach einem Protokoll arbeitet, in dem es für die Verbindungssteuerung verpflichtend ist, ein Paket erneut zu senden, bis dieses Paket bestätigt ist, wobei das Verfahren bei der Verbindungssteuerung umfasst: Senden eines Datenpakets, wobei die Nutzdaten des Datenpakets erste Daten umfassen, die aus dem Zwischenspeicher ausgelesen wurden; Bestimmen, das Datenpaket erneut zu senden aufgrund eines fehlenden Empfangs einer Bestätigung, dass das Datenpaket empfangen wurde; Bestimmen, ob die ersten Daten im Zwischenspeicher noch zeitgerecht sind; und falls die ersten Daten im Zwischenspeicher nicht mehr zeitgerecht sind, Löschen der ersten Daten aus dem Zwischenspeicher und Ersetzen derselben durch zweite Daten, und erneutes Senden des Datenpakets, wobei die Nutzdaten des erneut gesendeten Datenpakets die zweiten Daten umfassen, die aus dem Zwischenspeicher ausgelesen wurden.

Description

  • Diese Offenbarung betrifft die Steuerung der Sendung von Daten bei einem Sender, zum Beispiel die Steuerung der Sendung zeitkritischer Daten.
  • Viele Kommunikationsprotokolle definieren eine Bestätigungsprozedur für die Übermittlung von Nachrichten zwischen Vorrichtungen. Für gewöhnlich erfordert eine Bestätigungsprozedur, dass ein Empfänger den Empfang jedes Pakets oder jeder Gruppe von Paketen von einem Sender durch Zurücksenden eines Bestätigungspakets zum Sender bestätigt. Falls der Sender keine Bestätigung für ein von ihm gesendetes Paket empfängt, sendet er dieses Paket erneut. Protokolle verlangen häufig, dass ein Paket immer wieder neu gesendet wird, bis der Sender eine Bestätigung vom Empfänger empfängt, dass dieses Paket empfangen wurde. Dies garantiert eine zuverlässige Übertragung aller vom Sender gesendeten Daten zum Empfänger.
  • Bluetooth Low Energy-Vorrichtungen, wie in der Bluetooth-Spezifikation v4.0 definiert, erfordern die Verwendung zuverlässiger Datenverbindungen. Solche Vorrichtungen sind durch ihre Betriebsprotokolle an eine erneute Sendung von Paketen gebunden, bis sie vom Empfänger eine Bestätigung empfangen.
  • Zum Senden von lieferkritischen Daten (DCD), d. h. Daten, für welche die Lieferung der Daten wichtiger ist als die zeitgerechte Sendung der Daten, garantiert ein erneutes Senden von Paketen bis zum Empfang einer Bestätigung vom Empfänger eine zuverlässige Lieferung und ist nicht problematisch. Für die Sendung zeitkritischer Daten (TCD) jedoch, d. h. Daten, für welche die zeitgerechte Sendung wichtiger ist als eine zuverlässige Lieferung aller Daten, ist die erneute Sendung von Paketen bis zum Empfang einer Bestätigung vom Empfänger problematisch, da sie eine hohe Latenz in die Übermittlung der Daten einführt. Das Problem wird verschärft, wenn die Qualitäten der Verbindungen zwischen Sender und Empfänger gering sind, da je geringer die Qualität ist, desto geringer wird die Anzahl von empfangenen und das erste Mal bestätigten Paketen, desto mehr erneute Sendungen sind erforderlich und desto höher ist die Latenz. Für Echtzeitübermittlungen, wie Audio, ist diese hohe Latenz besonders problematisch.
  • Somit besteht ein Bedarf an einem verbesserten Verfahren zur Steuerung der Datensendung bei einem Sender, die an eine fortgesetzte erneute Sendung eines Pakets gebunden ist, bis sie eine Bestätigung empfängt, wobei das Verfahren für die Sendung zeitkritischer Daten geeigneter ist.
  • Gemäß einem ersten Aspekt ist ein Verfahren zum Steuern einer Datensendung bei einem Sender vorgesehen, wobei der Sender eine Verbindungssteuerung aufweist, die Daten aus einem Zwischenspeicher zur Sendung ausliest, wobei der Sender nach einem Protokoll arbeitet, in dem es für die Verbindungssteuerung verpflichtend ist, ein Paket erneut zu senden, bis dieses Paket bestätigt ist, wobei das Verfahren bei der Verbindungssteuerung umfasst: Senden eines Datenpakets, wobei die Nutzdaten des Datenpakets erste Daten umfassen, die aus dem Zwischenspeicher ausgelesen werden; Bestimmen, das Datenpaket erneut zu senden aufgrund eines fehlenden Empfangs einer Bestätigung, dass das Datenpaket empfangen wurde; Bestimmen, ob die ersten Daten im Zwischenspeicher noch zeitgerecht sind; und falls die ersten Daten im Zwischenspeicher nicht mehr zeitgerecht sind, Löschen der ersten Daten aus dem Zwischenspeicher und Ersetzen derselben durch zweite Daten, und erneutes Senden des Datenpakets, wobei die Nutzdaten des erneut gesendeten Datenpakets die zweiten Daten umfassen, die aus dem Zwischenspeicher ausgelesen wurden.
  • Geeigneterweise erfolgt ein Bestimmen, dass die ersten Daten im Zwischenspeicher noch zeitgerecht sind, falls eine Zeitmarke, die den ersten Daten zugeordnet ist, nicht abgelaufen ist.
  • Geeigneterweise ist die Zeitmarke relativ zu einer Bluetooth-Uhr des Senders.
  • Geeigneterweise ist eine Zeitmarke, die zeitkritischen Daten zugeordnet ist, kürzer als eine Zeitmarke, die lieferungskritischen Daten zugeordnet ist.
  • Geeigneterweise erfolgt ein Bestimmen, dass die ersten Daten im Zwischenspeicher noch zeitgerecht sind, falls ein Neuversuchszählwert, der den ersten Daten zugeordnet ist, noch nicht abgelaufen ist.
  • Geeigneterweise umfasst der Sender ferner eine Anwendung, wobei die Anwendung Daten zum Senden und Metadaten, die den Daten zugeordnet sind, zum Steuern der Datensendung generiert.
  • Geeigneterweise interpretiert die Verbindungssteuerung die Metadaten so, dass sie die oben genannte Zeitmarke umfassen.
  • Geeigneterweise interpretiert die Verbindungssteuerung die Metadaten so, dass sie den oben genannten Neuversuchszählwert umfassen.
  • Falls die ersten Daten im Zwischenspeicher noch immer zeitgerecht sind, sendet die Verbindungssteuerung geeigneterweise das Datenpaket erneut, wobei die Nutzdaten des erneut gesendeten Datenpakets die ersten Daten umfassen, die aus dem Zwischenspeicher ausgelesen wurden.
  • Geeigneterweise gibt die Verbindungssteuerung eine Laufnummer an jedes Datenpaket aus, wobei die Laufnummern aufeinanderfolgender Datenpakete durch das Protokoll definiert sind, wobei, falls die ersten Daten im Zwischenspeicher nicht mehr zeitgerecht sind, die Verbindungssteuerung dieselbe Laufnummer an das erneut gesendete Datenpaket ausgibt, die an das gesendete Datenpaket ausgegeben wurde.
  • Geeigneterweise gibt die Verbindungssteuerung dieselbe Laufnummer auf der Grundlage einer Bestimmung aus, dass die Verbindungsqualität der Abwärtsstrecke vom Sender schlechter ist als die Verbindungsqualität der Aufwärtsstrecke zum Sender.
  • Geeigneterweise gibt die Verbindungssteuerung eine Laufnummer an jedes Datenpaket aus, wobei die Laufnummern aufeinanderfolgender Datenpakete durch das Protokoll definiert sind, wobei, falls die ersten Daten im Zwischenspeicher nicht mehr zeitgerecht sind, die Verbindungssteuerung die Laufnummer des folgenden Pakets an das erneut gesendete Datenpaket ausgibt.
  • Geeigneterweise gibt die Verbindungssteuerung die Laufnummer des folgenden Pakets auf der Grundlage einer Bestimmung aus, dass die Verbindungsqualität der Abwärtsstrecke vom Sender besser ist als die Verbindungsqualität der Aufwärtsstrecke zum Sender.
  • Gemäß einem zweiten Aspekt ist ein Sender vorgesehen, der entsprechend einem Protokoll betreibbar ist, in dem es für den Sender verpflichtend ist, ein Paket erneut zu senden, bis dieses Paket bestätigt ist, wobei der Sender umfasst: einen Zwischenspeicher, der zum Speichern von zu sendenden Daten ausgelegt ist; und eine Verbindungssteuerung, die zum Auslesen von Daten aus einem Zwischenspeicher zur Sendung ausgelegt ist, wobei die Verbindungssteuerung betreibbar ist, um: ein Datenpaket zu senden, wobei die Nutzdaten des Datenpakets erste Daten umfassen, die aus dem Zwischenspeicher ausgelesen wurden; Bestimmen, das Datenpaket erneut zu senden, falls kein Empfang einer Bestätigung erfolgt, dass das Datenpaket empfangen wurde; Bestimmen, ob die ersten Daten in dem Zwischenspeicher noch zeitgerecht sind; und, falls die ersten Daten im Zwischenspeicher nicht mehr zeitgerecht sind, Löschen der ersten Daten aus dem Zwischenspeicher und Ersetzen derselben durch zweite Daten und erneutes Senden des Datenpakets, wobei die Nutzdaten des erneut gesendeten Datenpakets die zweiten Daten aufweisen, die aus dem Zwischenspeicher ausgelesen wurden.
  • Geeigneterweise kann der Sender eine Anwendung aufweisen, wobei die Anwendung zum Generieren von Daten zum Senden und Metadaten, die den Daten zugeordnet sind, zum Steuern der Datensendung ausgelegt ist.
  • Die folgende Offenbarung wird nun beispielhaft unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben. In den Zeichnungen zeigt:
  • 1 einen geschichteten Protokollstapel:
  • 2 ein Flussdiagramm, das ein Verfahren zum Steuern erneut gesendeter Daten bei einer Verbindungssteuerung zeigt;
  • 3 ein Flussdiagramm, das ein Verfahren zum Steuern einer Datensendung bei einer Verbindungssteuerung zeigt; und
  • 4 eine schematische Darstellung eines beispielhaften Senders.
  • Die folgende Offenbarung betrifft eine wirksame Möglichkeit, die Sendung von Daten von einem Sender zu steuern, der gemäß einem Protokoll arbeitet, in dem es für den Sender verpflichtend ist, ein Datenpaket erneut zu senden, bis er eine Bestätigung (ACK) vom Empfänger empfängt, die den Empfang des Datenpakets bestätigt. Zum Beispiel kann die folgende Offenbarung eine wirksame Möglichkeit für einen solchen Sender sein, zeitempfindliche Daten zu senden.
  • Wie oben erwähnt, sind Bluetooth Low Energy(BLE)-Vorrichtungen ein Beispiel für Vorrichtungen, von welchen Protokolle, nach denen sie arbeiten (wie in der Bluetooth-Spezifikation v4.0 definiert) verlangen, ein Paket erneut zu senden, bis eine ACK von dem Empfänger erhalten wird, dass dieses Paket erfolgreich empfangen wurde. Für die Übermittlung von Daten arbeiten BLE-Vorrichtungen nach der geschichteten Protokollstapelstruktur, die in 1 dargestellt ist. Die APP(Anwendungs)-Ebene 100 liegt an der Oberseite des Stapels. Darauf folgt die GATT(Generic Attribute Protocol)-Ebene 102, die ATT(Attribute Protocol)-Ebene 104, die L2CAP(Logical Link Control and Adaptation Protocol)-Ebene 106 und die LC(Link Controller-Verbindungssteuerung)-Ebene 108. Diese Ebenen sind in der Bluetooth-Spezifikation v4.0 definiert. Alle diese Ebenen können in Software ausgeführt sein. Als Alternative kann die Verbindungssteuerungsebene teilweise oder vollständig in Hardware ausgeführt sein.
  • Zwei Arten von Bestätigungsschemata sind in der Bluetooth-Spezifikation v4.0 definiert: Angaben und Benachrichtigungen. Angaben sind Nachrichten, die eine ACK, die von der LC-Ebene empfangen und verarbeitet wurde, und eine ACK, die von der APP-Ebene empfangen und verarbeitet wurde, enthalten. Dies bedeutet, dass das gesendete Paket nachweislich zuverlässig sowohl auf der LC-Ebene wie auch der APP-Ebene gesendet wurde. Benachrichtigungen sind Nachrichten, die eine ACK enthalten, die nur auf der LC-Ebene empfangen und verarbeitet wurde. Die Sendung des Pakets ist somit auf der LC-Ebene zuverlässig, nicht aber auf der APP-Ebene. Benachrichtigungen sind besser für Bluetooth Low Energy-Vorrichtungen geeignet als Angaben, da sie einen viel geringeren Mehraufwand erfordern, da sie keine ACK auf der APP-Ebene vorsehen.
  • Geeigneterweise verwendet dann in einem beispielhaften System, das zwei BLE-Vorrichtungen umfasst, die nach der Bluetooth-Spezifikation v4.0 arbeiten, der Empfänger Benachrichtigungen zur Bestätigung des Empfangs eines Datenpakets, das vom Sender gesendet wurde. Die Steuerung erneuter Sendungen liegt vorwiegend bei der Verbindungssteuerung, die die einzige Ebene in dem Protokollstapel von 1 ist, die in diesem beispielhaften System ACKs vom Empfänger empfängt. Geeigneterweise liest die Verbindungssteuerung Daten zum Senden aus einem Zwischenspeicher aus. Jedem zwischengespeicherten Datensatz kann eine Angabe der Rechtzeitigkeit zugeordnet sein. In einem beispielhaften Verfahren verwendet die Verbindungssteuerung diese Angabe einer Rechtzeitigkeit zur Steuerung erneuter Sendungen, wie nun unter Bezugnahme auf 2 erklärt wird.
  • In Schritt 200 bestimmt die Verbindungssteuerung, ob eine ACK vom Empfänger für ein erstes Datenpaket empfangen wurde, das erste Daten umfasst, die vom Sender gesendet wurden. Geeigneterweise hat die Verbindungssteuerung einen Zeitrahmen nach der Sendung jedes Datenpakets, in dem sie einen Empfang einer ACK für dieses Paket vom Empfänger erwartet. Falls die ACK nicht innerhalb dieses Zeitrahmens empfangen wurde, bestimmt die Verbindungssteuerung, das Datenpaket erneut zu senden. Falls die ACK für das erste Datenpaket empfangen wird, sendet die Verbindungssteuerung das zweite Datenpaket zum Empfänger (Schritt 202). Vorzugsweise ist das zweite Datenpaket in der Reihenfolge zu sendender Datenpakete das nächste Paket nach dem ersten Datenpaket. Falls die ACK für das erste Datenpaket nicht empfangen wird, bestimmt die Verbindungssteuerung, das erste Datenpaket erneut zu senden (Schritt 204). In Schritt 206 bestimmt die Verbindungssteuerung, ob die ersten Daten noch immer zeitgerecht sind. Falls die ersten Daten noch immer zeitgerecht sind, sendet die Verbindungssteuerung dann in Schritt 208 das erste Datenpaket erneut, in dem die Nutzdaten die ersten Daten umfassen, die aus dem Zwischenspeicher ausgelesen wurden. Falls die ersten Daten nicht mehr zeitgerecht sind, löscht die Verbindungssteuerung dann in Schritt 210 die ersten Daten aus dem Zwischenspeicher. In Schritt 212 werden zweite Daten in den Zwischenspeicher geschrieben. Dann sendet die Verbindungssteuerung in Schritt 214 das erste Datenpaket erneut, in dem die Nutzdaten die zweiten Daten umfassen, die aus dem Zwischenspeicher ausgelesen wurden. Die Nutzdaten umfassen nicht die ersten Daten. Als Alternative zu den Schritten 212 und 214 können die zweiten Daten bereits in einen zweiten Zwischenspeicher geschrieben worden sein. Die Verbindungssteuerung sendet dann das erste Datenpaket erneut, in dem die Nutzdaten die zweiten Daten umfassen, die aus dem zweiten Zwischenspeicher ausgelesen wurden. Die Nutzdaten umfassen nicht die ersten Daten.
  • Auf diese Weise arbeitet der Sender nach einem Protokoll, das verlangt, dass ein Paket erneut gesendet wird, bis es bestätigt ist, verringert aber die Latenz der Datensendung, indem nichtzeitgerechte Daten in den erneut gesendeten Paketen durch jüngere Daten ersetzt werden. Somit ist dieses Verfahren für die Sendung zeitkritischer Daten besser geeignet.
  • Zusätzlich wird die Latenz der Datensendung weiter verringert, indem die hierin beschriebenen Verfahren auf der Ebene der Verbindungssteuerung des Protokollstapels umgesetzt werden, der in 1 dargestellt ist, und nicht auf einer der höheren Ebenen. Jede Ebene braucht für die Verarbeitung von Signalen und zum Vorsehen eines Ausgangs für die darüberliegende Ebene Zeit. Somit minimiert das Vorsehen der Funktionalität zur Steuerung des Dateninhalts der Sendungen und erneuten Sendungen bei der Verbindungssteuerung und nicht weiter oben, zum Beispiel auf der APP-Ebene, die Verarbeitungszeit beim Sender und minimiert somit die Latenz in der Datensendung. Somit ist dieses Verfahren für die Sendung zeitkritischer Daten besser geeignet.
  • Optional wird die Bestimmung, Daten nur dann zu senden, wenn sie noch zeitgerecht sind, bei allen Sendungen dieser Daten angewendet, einschließlich der ersten Sendung dieser Daten. 3 zeigt diesen Prozess. In einen Zwischenspeicher werden n-te Daten geschrieben. In Schritt 300 bestimmt die Verbindungssteuerung, ob die n-ten Daten noch zeitgerecht sind. Falls die Antwort ”ja” ist, sendet die Verbindungssteuerung dann in Schritt 302 ein Datenpaket mit Nutzdaten, die die n-ten Daten enthalten, die aus dem Zwischenspeicher ausgelesen wurden. Falls die Antwort ”nein” ist, löscht die Verbindungssteuerung dann in Schritt 304 die n-ten Daten aus dem Zwischenspeicher. Die Verbindungssteuerung geht dann zur Bewertung der nächsten Daten über, d. h. der (n + i)-ten Daten, wobei i = 1. In Schritt 306 bestimmt die Verbindungssteuerung, ob die (n + i)-ten Daten noch zeitgerecht sind. Falls die Antwort ”ja” ist, sendet die Verbindungssteuerung dann in Schritt 308 ein Datenpaket mit Nutzdaten, die die (n + i)-ten Daten aufweisen. Falls die Antwort ”nein” ist, löscht die Verbindungssteuerung dann in Schritt 310 die (n + i)-ten Daten aus dem Zwischenspeicher. Schritte 306 und 310 wiederholen die Bewertung aufeinanderfolgender Daten, bis die Verbindungssteuerung feststellt, dass die Daten noch zeitgerecht sind, wobei an diesem Punkt diese Daten in ein Datenpaket eingegliedert und gesendet werden.
  • Wenn die Verbindungssteuerung bestimmt, dass ein Datenpaket erneut gesendet werden soll, aber dass die Daten in diesem Datenpaket nicht mehr zeitgerecht sind, bewertet geeigneterweise die Verbindungssteuerung vorzugsweise die nächsten Daten zur Bestimmung, ob diese zeitgerecht sind. Falls die nächsten Daten zeitgerecht sind, sendet die Verbindungssteuerung die nächsten Daten in den Nutzdaten des erneut gesendeten Pakets. Falls jedoch die nächsten Daten nicht zeitgerecht sind, werden die Daten aus dem Zwischenspeicher gelöscht und die Verbindungssteuerung bewertet, ob die Daten danach zeitgerecht sind. Der Wiederholungsprozess wird fortgesetzt, bis die Verbindungssteuerung bestimmt, dass die Daten zeitgerecht sind. Dann werden die zeitgerechten Daten in die Nutzdaten des erneut gesendeten Pakets eingegliedert und gesendet.
  • Geeigneterweise ist jeder Dateneinheit, die von der Verbindungssteuerung auf Rechtzeitigkeit bewertet wurde, eine Angabe der Rechtzeitigkeit zugeordnet, die von einer höheren Ebene im Protokollstapel ausgegeben wird. Die Verbindungssteuerung interpretiert diese Angabe der Rechtzeitigkeit zur Bestimmung, ob die Daten noch zeitgerecht sind.
  • Zum Beispiel kann die Angabe der Rechtzeitigkeit eine Zeitmarke sein. Die Zeitmarke kann eine Ablaufzeit festlegen. Die Ablaufzeit kann eine absolute Zeit sein, nach der die Daten, welche der Zeitmarke zugeordnet sind, nicht gesendet werden sollen. Diese absolute Zeit kann relativ zu einer Uhr im Sender sein. Zum Beispiel kann diese absolute Zeit relativ zu einer Bluetooth-Uhr des Senders sein. Geeigneterweise ist die Zeitmarke abhängig von einer Eigenschaft der gesendeten Daten konfigurierbar. Als ein Beispiel werden lieferungskritische Daten geeigneterweise einer langen Zeitmarke zugeordnet. Der Grund ist, dass die Priorität für lieferungskritische Daten ihre zuverlässige Sendung und nicht ihre rasche Sendung ist. Geeigneterweise ist die Zeitmarke die Unendlichkeit. Dies bedeutet, dass die Verbindungssteuerung immer bestimmt, dass die Daten zeitgerecht sind, und somit immer die Option wählt, die Daten erneut zu senden und nicht die Daten durch jüngere Daten zur erneuten Sendung zu ersetzen. Zeitkritischen Daten wird andererseits geeigneterweise eine kurze Zeitmarke zugeordnet. Der Grund ist, dass die Priorität für zeitkritische Daten ihre rasche Sendung und nicht ihre zuverlässige Sendung ist. Geeigneterweise kann die Zeitmarke 10 ms sein. Somit kann die Verbindungssteuerung die Latenz auf der Verbindung durch Ersetzen von Daten zur Sendung steuern, sobald die annehmbare Latenzgrenze der Daten überschritten worden ist.
  • Als ein weiteres Beispiel kann die Angabe der Rechtzeitigkeit ein Neuversuchszählwert sein. Dieser Neuversuchszählwert setzt eine Grenze für die Häufigkeit, mit der ein Sender versucht, dieselben Daten zu senden. Geeigneterweise ist dieser Neuversuchszählwert abhängig von einer Eigenschaft der gesendeten Daten konfigurierbar. Zum Beispiel wird lieferungskritischen Daten geeigneterweise ein hoher Neuversuchszählwert zugeordnet. Geeigneterweise ist der Neuversuchszählwert für lieferungskritische Daten die Unendlichkeit. Zeitkritischen Daten wird andererseits geeigneterweise ein geringer Neuversuchszählwert zugeordnet. Geeigneterweise ist der Neuversuchszählwert für zeitkritische Daten 1 oder 2.
  • Geeigneterweise generiert die APP-Ebene Dateneinheiten zur Sendung und generiert auch Metadaten, die jeder Dateneinheit zugeordnet sind. Geeigneterweise enthalten diese Metadaten Informationen, die die Verbindungssteuerung als eine Angabe der Rechtzeitigkeit interpretiert. Zum Beispiel enthalten die Metadaten die oben beschriebene Zeitmarke. Als Alternative enthalten die Metadaten den oben beschriebenen Neuversuchszählwert. Die Verbindungssteuerung analysiert die Metadaten, die den Daten im Zwischenspeicher zugeordnet sind, und entscheidet auf der Grundlage dieser Analyse, die Daten im Zwischenspeicher zu löschen oder diese in ein Datenpaket zur Sendung einzugliedern. Geeigneterweise werden die Metadaten selbst nicht gesendet. Falls die Verbindungssteuerung den Schluss zieht, dass die Daten nicht mehr zeitgerecht sind, löscht sie die Daten und ihre zugeordneten Metadaten. Falls die Verbindungssteuerung ein Datenpaket sendet und eine ACK empfängt, löscht sie die Daten und ihre zugeordneten Metadaten. Falls die Verbindungssteuerung bestimmt, dass die Daten noch zeitgerecht sind, sendet sie die Daten, verwirft aber die Daten und ihre zugeordneten Metadaten nicht. Der Grund ist, dass falls keine ACK empfangen wird, die Verbindungssteuerung die Metadaten erneut analysiert und bestimmt, die Daten aufgrund der Rechtzeitigkeit der Daten, wie in den Metadaten angegeben ist, erneut zu senden.
  • Geeigneterweise gibt die Verbindungssteuerung eine Laufnummer an jedes von ihr gesendete Datenpaket aus. Diese Laufnummer ist den Nutzdaten des Datenpakets zugeordnet. Für gewöhnlich werden aufeinanderfolgenden Paketen aufeinanderfolgende Laufnummern in einer Reihenfolge zugeordnet, die durch das Protokoll spezifiziert ist, nach dem der Sender und Empfänger arbeiten. Der Empfänger erwartet, dass aufeinanderfolgende Pakete, die er empfängt, aufeinanderfolgende Laufnummern in Serie haben. In BLE wird die Reihenfolge der Laufnummern 101010101010... verwendet. Somit erwartet der Empfänger zum Beispiel bei einer Kommunikation von zwei BLE-Vorrichtungen, dass aufeinanderfolgende empfangene Pakete zwischen der Laufnummer 0 und der Laufnummer 1 abwechseln. Der Empfang von zwei Paketen mit derselben Laufnummer in einer Serie wird vom Empfänger als zweimaliger Empfang desselben Pakets interpretiert und somit verwirft er das zweite empfangene Paket und sendet es nicht zu den höheren Ebenen im Stapel. Dies würde zum Beispiel geschehen, falls der Empfänger ein Paket mit der Laufnummer 1 empfangen und eine ACK zum Sender gesendet hat, aber der Sender die ACK nicht empfangen und somit dasselbe Paket mit der Laufnummer 1 erneut gesendet hat.
  • Wenn ein Sender keine ACK für ein Paket von einem Empfänger empfängt, ist es für den Sender unklar, ob der Grund dafür ist, dass (1) der Empfänger das Paket nicht empfangen hat; oder (2) dass der Empfänger das Paket empfangen hat, aber der Sender die ACK nicht empfangen hat. In einer solchen Situation kann der Sender gemäß den oben beschriebenen Verfahren bestimmen, dass die ursprünglich gesendeten Daten nicht mehr zeitgerecht sind, und entscheiden, jüngere Daten in dem erneut gesendeten Paket zu senden. Nehmen wir an, dass das ursprünglich gesendete Paket eine Laufnummer 1 hatte. Der Sender kann bestimmen, das Paket mit derselben Laufnummer wie das ursprünglich gesendete Paket erneut zu senden. Falls der Sender das Paket mit derselben Laufnummer wie das ursprünglich gesendete Paket, in diesem Beispiel Laufnummer 1, erneut sendet und falls der Empfänger das Originalpaket nicht empfangen hat und somit weiterhin ein Paket mit der Laufnummer 1 erwartet, empfängt der Empfänger dieses Paket und leitet die jüngsten Daten den Stapel hoch. Falls der Sender jedoch das Paket mit der Laufnummer 1 erneut sendet, aber der Empfänger das Originalpaket empfangen hat, löscht der Empfänger die jüngsten Daten, ohne sie den Stapel hochzuleiten, da der Empfänger ein Paket mit der Laufnummer 0 erwartet und somit den Empfang eines Pakets mit der Laufnummer 1 als eine erneute Sendung eines Pakets interpretiert, das er bereits empfangen hat.
  • Als Alternative kann der Sender das Paket mit der nächsten Nummer in der Reihenfolge nach der Laufnummer des ursprünglich gesendeten Pakets erneut senden. In dem Beispiel des vorangehenden Absatzes sendet der Sender das erneut gesendete Paket mit der Laufnummer 0. In diesem Fall empfängt der Empfänger dieses Paket und falls der Empfänger das Originalpaket empfangen hat und somit ein Paket mit der Laufnummer 0 erwartet, leitet der Empfänger die jüngsten Daten den Stapel hoch. Falls der Sender jedoch das Paket mit der Laufnummer 0 erneut sendet, aber der Empfänger das Originalpaket nicht empfangen hat, löscht der Empfänger die jüngsten Daten, ohne sie den Stapel hochzuleiten, da der Empfänger ein Paket mit der Laufnummer 1 erwartet und somit den Empfang eines Pakets mit der Laufnummer 0 als eine erneute Sendung eines Pakets interpretiert, das er bereits empfangen hat.
  • Geeigneterweise wählt der Sender, (i) die Laufnummer des erneut gesendeten Pakets bei derselben wie jener des ursprünglich gesendeten Pakets zu halten; oder (ii) die Laufnummer des erneut gesendeten Pakets zu ändern, so dass sie die nächste Laufnummer in der Reihenfolge ist, deren Empfang der Empfänger erwartet, aufgrund der Angabe, ob es wahrscheinlicher ist, dass der Empfänger das Originalpaket nicht empfangen hat, oder dass der Sender die ACK nicht vom Empfänger empfangen hat. Diese Angabe kann zum Beispiel auf einer Analyse der Verbindungsqualität auf der Abwärtsverbindung zum Empfänger und der Aufwärtsverbindung vom Empfänger beruhen. Falls die Qualität der Abwärtsverbindung geringer ist als die Qualität der Aufwärtsverbindung, dann ist es wahrscheinlicher, dass der Empfänger das Originalpaket nicht empfangen hat. In diesem Fall sendet der Sender geeigneterweise das erneut gesendete Paket mit derselben Laufnummer wie das ursprünglich gesendete Paket. Falls andererseits die Qualität der Aufwärtsverbindung geringer ist als die Qualität der Abwärtsverbindung, dann ist es wahrscheinlicher, dass der Empfänger das Originalpaket empfangen hat, aber der Sender die ACK nicht empfangen hat. In diesem Fall sendet der Sender geeigneterweise das erneut gesendete Paket mit der nächsten Laufnummer in der Reihenfolge, dessen Empfang der Empfänger erwartet.
  • Die Qualität kann auf einem Signal-Rausch-Verhältnis, einer Fehlerrate, RSSI oder einem ähnlichen Maß beruhen.
  • Eine Empfänger-implementierte Lösung des oben beschriebenen Laufnummernproblems ist die Weiterleitung von Daten den Stapel hoch, selbst wenn der Empfänger die Interpretation vornimmt, dass ein Paket zweimal empfangen wurde.
  • Die hier beschriebenen Verfahren sind für eine Anwendung bei der Sendung jeder Art von Daten geeignet, da die Bestimmung, ob Daten noch zeitgerecht sind oder nicht, für verschiedene Arten von Daten konfigurierbar ist, wie zuvor erklärt wurde. Falls es wichtiger ist, dass Daten zuverlässig an den Empfänger geliefert werden, als dass die Daten rasch zum Empfänger gelangen, werden die Daten länger als noch zeitgerecht angesehen, als wenn es wichtiger ist, dass Daten rasch zu dem Empfänger geliefert werden, als dass sie zuverlässig zu dem Empfänger geliefert werden. Die hier beschriebenen Verfahren sind besonders zur Verwendung mit zeitkritischen Daten geeignet, die nach einem Protokoll gesendet werden, in dem der Sender gebunden ist, ein Paket erneut zu senden, bis eine ACK empfangen ist, da diese Verfahren die Latenz verringern, die bei der Sendung solcher Daten vorliegt. Die hier beschriebenen Verfahren sind besonders für die Sendung von Echtzeitdaten geeignet. Beispiele für Anwendungen in der Sendung von zeitkritischen Daten sind:
    Überwachungsanwendungen, zum Beispiel ein Thermometer, das regelmäßig eine Temperatur übermittelt; von Hand gehaltene Spielvorrichtungen, für die der Anspruch an eine niedere Latenz für die Weiterleitung von Steuersignalen hoch ist; und das Senden von Tonsignalen, für die eine niedere Latenz auch ein besonders hoher Anspruch ist.
  • Obwohl in den vorliegenden Beispielen Bluetooth Low Energy-Vorrichtungen angeführt wurden, ist dies nur ein Beispiel. Die Offenbarung gilt für jeden Sender, dessen Verbindungssteuerung durch ein Protokoll eingeschränkt ist, nach dem sie arbeitet, mit der erneuten Sendung von Datenpaketen erst dann fortzufahren, wenn sie bestätigt sind.
  • 4 zeigt eine schematische Darstellung eines beispielhaften Senders gemäß den hierin beschriebenen Verfahren. Der Sender 400 umfasst eine Anwendung 402 und eine Verbindungssteuerung 406 auf. Die Anwendung enthält ein Modul zur Daten- und Metadatengenerierung 404. Die Verbindungssteuerung 406 enthält einen Zwischenspeicher 408, der Daten von der Anwendung speichert. Die Verbindungssteuerung enthält auch eine Logik 410, die Metadaten, die den zwischengespeicherten Daten von der Anwendung zugeordnet sind, empfängt und interpretiert. Die Logik 410 steuert den Zwischenspeicher 408, um entweder seinen Inhalt zu löschen oder diesen an eine Paketbildungseinheit 412 auszugeben. Die Paketbildungseinheit 412 generiert ein Paket durch Formatieren der Daten zu Nutzdaten und Einfügen eines Nachrichtenkopfs. Nach der Paketbildung wird das Datenpaket an eine Paketsendeeinheit 414 zum Senden ausgegeben. Die Paketsendeeinheit 414 enthält eine nach dem Stand der Technik bekannte Funktionalität, zum Beispiel Modulieren, Formen, Frequenzmischen usw. Es ist klar, dass 4 den Entwurf eines Senders im Sinne von Funktionskästen zeigt. Der Betrieb eines oder mehrerer dieser Funktionskästen kann kombiniert oder von getrennten Komponenten ausgeführt werden. Es ist klar, dass diese Figur nicht die herkömmlichen Komponenten des Senders zeigt, die einem Fachmann bekannt sind.
  • Vorzugsweise ist die hierin beschriebene Verbindungssteuerung in Software ausgeführt. Als Alternative ist die Verbindungssteuerung in Hardware ausgeführt.
  • Die Anmelderin lenkt die Aufmerksamkeit auf die Tatsache, dass die vorliegende Erfindung jedes Merkmal oder jede Kombination von Merkmalen, die hier entweder implizit oder explizit offenbart sind, oder jede Verallgemeinerung davon enthalten kann, ohne den Umfang der vorliegenden Ansprüche einzuschränken. Angesichts der vorangehenden Beschreibung ist es für einen Fachmann offensichtlich, dass verschiedene Modifizierungen im Umfang der Erfindung vorgenommen werden können.

Claims (15)

  1. Verfahren zum Steuern einer Datensendung bei einem Sender, wobei der Sender eine Verbindungssteuerung umfasst, die Daten aus einem Zwischenspeicher zur Sendung ausliest, wobei der Sender gemäß einem Protokoll arbeitet, in dem es für die Verbindungssteuerung verpflichtend ist, ein Paket erneut zu senden, bis dieses Paket bestätigt ist, wobei das Verfahren bei der Verbindungssteuerung umfasst: Senden eines Datenpakets, wobei die Nutzdaten des Datenpakets erste Daten aufweisen, die aus dem Zwischenspeicher ausgelesen werden; Bestimmen, das Datenpaket erneut zu senden aufgrund eines fehlenden Empfangs einer Bestätigung, dass das Datenpaket empfangen wurde; Bestimmen, ob die ersten Daten im Zwischenspeicher noch zeitgerecht sind; und falls die ersten Daten im Zwischenspeicher nicht mehr zeitgerecht sind, Löschen der ersten Daten aus dem Zwischenspeicher und Ersetzen derselben durch zweite Daten, und erneutes Senden des Datenpakets, wobei die Nutzdaten des erneut gesendeten Datenpakets die zweiten Daten umfassen, die aus dem Zwischenspeicher ausgelesen wurden.
  2. Verfahren nach Anspruch 1, umfassend ein Bestimmen, dass die ersten Daten im Zwischenspeicher noch zeitgerecht sind, falls eine Zeitmarke, die den ersten Daten zugeordnet ist, nicht abgelaufen ist.
  3. Verfahren nach Anspruch 2, wobei die Zeitmarke relativ zu einer Bluetooth-Uhr des Senders ist.
  4. Verfahren nach Anspruch 2 oder 3, wobei eine Zeitmarke, die zeitkritischen Daten zugeordnet ist, kürzer ist als eine Zeitmarke, die lieferungskritischen Daten zugeordnet ist.
  5. Verfahren nach Anspruch 1, umfassend ein Bestimmen, dass die ersten Daten im Zwischenspeicher noch zeitgerecht sind, falls ein Neuversuchszählwert, der den ersten Daten zugeordnet ist, noch nicht abgelaufen ist.
  6. Verfahren nach einem der vorangehenden Ansprüche, wobei der Sender ferner eine Anwendung umfasst, wobei die Anwendung Daten zum Senden und Metadaten, die den Daten zugeordnet sind, zum Steuern der Datensendung generiert.
  7. Verfahren nach Anspruch 6, wobei die Verbindungssteuerung die Metadaten so interpretiert, dass sie die Zeitmarke nach einem der Ansprüche 2 bis 4 umfassen.
  8. Verfahren nach Anspruch 6, wobei die Verbindungssteuerung die Metadaten so interpretiert, dass sie den Neuversuchszählwert nach Anspruch 5 umfassen.
  9. Verfahren nach einem der vorangehenden Ansprüche, wobei, falls die ersten Daten im Zwischenspeicher noch immer zeitgerecht sind, die Verbindungssteuerung das Datenpaket erneut sendet, wobei die Nutzdaten des erneut gesendeten Datenpakets die ersten Daten umfassen, die aus dem Zwischenspeicher ausgelesen wurden.
  10. Verfahren nach einem der vorangehenden Ansprüche, wobei die Verbindungssteuerung eine Laufnummer an jedes Datenpaket ausgibt, wobei die Laufnummern aufeinander folgender Datenpakete durch das Protokoll definiert sind, wobei, falls die ersten Daten im Zwischenspeicher nicht zeitgerecht sind, die Verbindungssteuerung dieselbe Laufnummer an das erneut gesendete Datenpaket ausgibt, die an das gesendete Datenpaket ausgegeben wurde.
  11. Verfahren nach Anspruch 10, wobei die Verbindungssteuerung dieselbe Laufnummer auf der Grundlage einer Bestimmung ausgibt, dass die Verbindungsqualität der Abwärtsstrecke vom Sender schlechter ist als die Verbindungsqualität der Aufwärtsstrecke zum Sender.
  12. Verfahren nach einem der Ansprüche 1 bis 9, wobei die Verbindungssteuerung eine Laufnummer an jedes Datenpaket ausgibt, wobei die Laufnummern aufeinanderfolgender Datenpakete durch das Protokoll definiert sind, wobei, falls die ersten Daten im Zwischenspeicher nicht mehr zeitgerecht sind, die Verbindungssteuerung die Laufnummer des folgenden Pakets an das erneut gesendete Datenpaket ausgibt.
  13. Verfahren nach Anspruch 12, wobei die Verbindungssteuerung die Laufnummer des folgenden Pakets auf der Grundlage einer Bestimmung ausgibt, dass die Verbindungsqualität der Abwärtsstrecke vom Sender besser ist als die Verbindungsqualität der Aufwärtsstrecke zum Sender.
  14. Sender, der entsprechend einem Protokoll betreibbar ist, in dem es für den Sender verpflichtend ist, ein Paket erneut zu senden, bis dieses Paket bestätigt ist, wobei der Sender umfasst: einen Zwischenspeicher, der zum Speichern von zu sendenden Daten ausgelegt ist; und eine Verbindungssteuerung, die zum Auslesen von Daten aus einem Zwischenspeicher zur Sendung ausgelegt ist, wobei die Verbindungssteuerung betreibbar ist, um: ein Datenpaket zu senden, wobei die Nutzdaten des Datenpakets erste Daten umfassen, die aus dem Zwischenspeicher ausgelesen wurden; zu bestimmen, das Datenpaket erneut zu senden, aufgrund eines fehlenden Empfangs einer Bestätigung, dass das Datenpaket empfangen wurde; zu bestimmen, ob die ersten Daten in dem Zwischenspeicher noch immer zeitgerecht sind; und, falls die ersten Daten im Zwischenspeicher nicht mehr zeitgerecht sind, Löschen der ersten Daten aus dem Zwischenspeicher und Ersetzen derselben durch zweite Daten und erneutes Senden des Datenpakets, wobei die Nutzdaten des erneut gesendeten Datenpakets die zweiten Daten umfassen, die aus dem Zwischenspeicher ausgelesen wurden.
  15. Sender nach Anspruch 14, ferner umfassend eine Anwendung, wobei die Anwendung zum Generieren von Daten zur Sendung und Metadaten, die den Daten zugeordnet sind, zum Steuern der Datensendung ausgelegt ist.
DE102012018614A 2011-09-20 2012-09-20 Steuern einer Datensendung Withdrawn DE102012018614A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1116245.0 2011-09-20
GB1116245.0A GB2494871B (en) 2011-09-20 2011-09-20 Re-transmission of timely data in a Bluetooth communication system

Publications (1)

Publication Number Publication Date
DE102012018614A1 true DE102012018614A1 (de) 2013-01-24

Family

ID=44937571

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012018614A Withdrawn DE102012018614A1 (de) 2011-09-20 2012-09-20 Steuern einer Datensendung

Country Status (3)

Country Link
US (1) US20130070581A1 (de)
DE (1) DE102012018614A1 (de)
GB (1) GB2494871B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266150B2 (en) 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
US8620379B2 (en) * 2010-12-06 2013-12-31 Broadcom Corporation Windows portable devices interface for Bluetooth low energy devices
CN110856077A (zh) * 2014-05-20 2020-02-28 Gn瑞声达A/S 数字音频无线发送的新方法
US10248447B2 (en) * 2015-11-25 2019-04-02 Red Hat, Inc. Providing link aggregation and high availability through network virtualization layer
EP3185455A1 (de) * 2015-12-21 2017-06-28 Thomson Licensing Verfahren und vorrichtung zur erkennung von paketverlust bei staggercasting
CN113271641A (zh) * 2021-05-18 2021-08-17 南京大学 一种基于蓝牙散射网络通信的降低丢包率方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7013346B1 (en) * 2000-10-06 2006-03-14 Apple Computer, Inc. Connectionless protocol
US7424494B2 (en) * 2001-08-23 2008-09-09 Comverse, Inc. System for synchronizing voice messaging subscriber information
US20040034683A1 (en) * 2002-08-13 2004-02-19 University Of Ottawa Differentiated transport services for enabling real-time distributed interactive virtual systems
US7539143B2 (en) * 2003-08-11 2009-05-26 Netapp, Inc. Network switching device ingress memory system
US9380269B2 (en) * 2003-09-23 2016-06-28 Time Warner Cable Enterprises Llc Scheduling trigger apparatus and method
JP4688566B2 (ja) * 2005-05-10 2011-05-25 富士通東芝モバイルコミュニケーションズ株式会社 送信機及び受信機
US8852164B2 (en) * 2006-02-09 2014-10-07 Deka Products Limited Partnership Method and system for shape-memory alloy wire control
US7848287B2 (en) * 2006-05-16 2010-12-07 Telefonaktiebolaget Lm Ericsson Bi-directional RLC non-persistent mode for low delay services
WO2008029686A2 (en) * 2006-09-01 2008-03-13 Mitsubishi Electric Corporation Radio communication system and radio communication method
EP1914922A1 (de) * 2006-10-16 2008-04-23 Alcatel Lucent Intelligente IPTV Anforderung zur Wiederholung
US8102836B2 (en) * 2007-05-23 2012-01-24 Broadcom Corporation Synchronization of a split audio, video, or other data stream with separate sinks
TWI399052B (zh) * 2008-09-18 2013-06-11 Pixart Imaging Inc 封包重傳方法及相關電子裝置
US8289895B2 (en) * 2009-04-24 2012-10-16 Research In Motion Limited Relay link HARQ operation
US8452888B2 (en) * 2010-07-22 2013-05-28 International Business Machines Corporation Flow control for reliable message passing

Also Published As

Publication number Publication date
GB201116245D0 (en) 2011-11-02
GB2494871B (en) 2018-04-11
US20130070581A1 (en) 2013-03-21
GB2494871A (en) 2013-03-27

Similar Documents

Publication Publication Date Title
DE60313178T2 (de) Verfahren und einrichtung zur verminderung von übertragungsfehlern in einem zellularen system der dritte generation
DE69921512T2 (de) Kommunikationsverfahren
DE60318873T2 (de) Verfahren zur überwachung von protokolldateneinheiten zugewiesenen übertragungssequenzzahlen zur erkennung und korrektur von übertragungsfehlern
DE69931215T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen
DE69935554T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und zuverlässigen Übertragen von kleinen Datennachrichten von einem Sendesystem zu einer grossen Anzahl von Empfangssystemen
DE102012018614A1 (de) Steuern einer Datensendung
DE60223799T2 (de) Verfahren und sender für einen effizienten paketdatentransfer in einem übertragungsprotokoll mit wiederholungsanforderungen
DE60030094T2 (de) Datenablösungsmechanismus für selektive wiederholungsprotokolle
DE60029221T2 (de) Begrenztes automatisches wiederholungsaufforderungsprotokoll für rahmenbasierte kommunikationskanäle
DE60103491T2 (de) Ratenanpassung in einem Funkübertragungssystem
DE10049568B4 (de) Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung
DE69930992T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen
DE60031251T2 (de) Zelleneliminierungsmeldung
DE60312689T2 (de) Verfahren und vorrichtung zur verminderung von übertragungsfehlern
DE60022994T2 (de) Ein flexibles steuerprotokoll für funkverbindungen
DE60132974T2 (de) Empfängerseitig gesteuerte isochrone übertragung
DE60123280T2 (de) Verfahren für multimediakommunikation über paketkanäle
DE112006001510B4 (de) Vorrichtungen und Verfahren zur Anfrage einer Blockbestätigung
DE60124568T2 (de) Hybrid-arq-verfahren für paketdatenübertragung
DE60314214T2 (de) Verfahren und Vorrichtung zur Übertragungswiederholung von Multicastdaten
DE60208681T2 (de) System und verfahren zur rahmenneusendung in einem rundsendekommunikationssystem
DE602004007329T2 (de) Zuverlässiges Multimedia Streaming mit wiederholten Übertragungen
DE60201553T2 (de) System und Verfahren zur Fehlerbeseitigung mit negativer Rückquittierung (NACK)
DE10295696T5 (de) Schlitzformat und Quittierungsverfahren für ein drahtloses Kommunikationssystem
DE60115819T2 (de) Verfahren und Vorrichtung zum Steuern von Wiederübertragung

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012560000

Ipc: H04L0012807000

Free format text: PREVIOUS MAIN CLASS: H04L0001160000

Ipc: H04L0012807000

R081 Change of applicant/patentee

Owner name: QUALCOMM TECHNOLOGIES INTERNATIONAL, LTD., GB

Free format text: FORMER OWNER: CAMBRIDGE SILICON RADIO LIMITED, CAMBRIDGE, GB

R082 Change of representative

Representative=s name: MAUCHER JENKINS, DE

Representative=s name: OLSWANG GERMANY LLP, DE

Representative=s name: MAUCHER JENKINS PATENTANWAELTE & RECHTSANWAELT, DE

R082 Change of representative

Representative=s name: MAUCHER JENKINS, DE

Representative=s name: MAUCHER JENKINS PATENTANWAELTE & RECHTSANWAELT, DE

R005 Application deemed withdrawn due to failure to request examination