[go: up one dir, main page]

DE60305560T2 - Eingebettetes System für die Überlastregelung von Rundfunkverkehr in einem Kommunikationsnetzwerk - Google Patents

Eingebettetes System für die Überlastregelung von Rundfunkverkehr in einem Kommunikationsnetzwerk Download PDF

Info

Publication number
DE60305560T2
DE60305560T2 DE60305560T DE60305560T DE60305560T2 DE 60305560 T2 DE60305560 T2 DE 60305560T2 DE 60305560 T DE60305560 T DE 60305560T DE 60305560 T DE60305560 T DE 60305560T DE 60305560 T2 DE60305560 T2 DE 60305560T2
Authority
DE
Germany
Prior art keywords
data
buffers
broadcast
stored
embedded system
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.)
Expired - Lifetime
Application number
DE60305560T
Other languages
English (en)
Other versions
DE60305560D1 (de
Inventor
Mark W. Granite Bay Fidler
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Application granted granted Critical
Publication of DE60305560D1 publication Critical patent/DE60305560D1/de
Publication of DE60305560T2 publication Critical patent/DE60305560T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Die vorliegende Erfindung bezieht sich allgemein auf Netzwerkvorrichtungen, auf ein eingebettetes System, das eine Rundsendedatenspeichersteuerung aufweist, und insbesondere auf ein eingebettetes System in einem Kommunikationsnetzwerk (Kommunikationsnetz) zum Begrenzen rundgesendeter Daten, die in dem Speicher des eingebetteten Systems gespeichert sind.
  • Rechensysteme mit begrenzten Ressourcen werden sehr häufig in Umgebungen, in denen Kommunikationen mit einer oder mehreren anderen Vorrichtungen erforderlich sind. Häufig werden diese Systeme als eingebettete Systeme bezeichnet. Dieselben sind typischerweise in einer Funktionalität begrenzt und weisen weniger Ressourcen als ein typischer Personalcomputer auf, d. h. beispielsweise eine begrenzte Verarbeitungsfähigkeit, Speichergröße und Geschwindigkeit von internen Busstrukturen.
  • In einer Kommunikationsnetzwerkumgebung weisen die eingebetteten Systeme typischerweise einen einzigen Prozessor und einen Speicher zum Verarbeiten von Netzwerkdaten sowie der spezifischen Funktionen auf, die dieselben durchführen. Ein Druckserver in einem lokalen Netz (LAN = Local Area Network) ist ein Beispiel eines eingebetteten Systems in einem Netzwerk. Allgemein können Daten, die von dem Netzwerk eingehen, in zwei Kategorien konzentriert werden, rundgesendet und nicht rundgesendet. Nicht rundgesendete Daten sind als zu einem speziellen Knoten gesendet gekennzeichnet, bei dem ein eingebettetes System logisch positioniert ist. Rundgesendete Daten jedoch beziehen sich auf Daten, die zu einer Gruppe von Knoten oder allen Knoten in dem Netzwerk gesendet werden.
  • Wenn mehr und mehr Knoten zu dem Netzwerk hinzugefügt werden, erhöht sich ein Rundsendedatenverkehr, wobei es so den eingebetteten Systemen erschwert ist, den erhöhten Datenfluss von dem Netzwerk zu empfangen und zu verarbeiten, insbesondere die nicht rundgesendeten Daten, die zum Durchführen der speziellen Funktionen des eingebetteten Systems notwendig sind. Die Prozessoren in den eingebetteten Systemen weisen typischerweise nicht die Bandbreite auf, um die eingehenden Daten schnell genug zu verarbeiten, und/oder einen angemessenen Speicher (Pufferstrukturen), um alle eingehenden Daten zu speichern.
  • Eine Behandlung dieses Problems in der Vergangenheit bestand darin, einfach zu hoffen, dass die Menge an rundgesendeten Daten die Kapazität des Prozessors nicht überschreitet. Dies hat sich bei Netzwerken mit einer hohen Spitze eines Rundsendeverkehrs oder während „Rundsendestürmen" als unangemessen erwiesen. Ein anderer bekannter Versuch, das Problem eines hohen Rundsendeverkehrs zu lösen, betrifft ein Deaktivieren der Fähigkeit des eingebetteten Systems, rundgesendete Daten zum empfangen. Dies kann jedoch nicht dynamisch vorgenommen werden und das eingebettete System muss typischerweise rückgesetzt werden. Bei den meisten standardmäßigen eingebetteten Systemen resultiert dieses Verfahren ferner in einem Verlust eines aktuellen Netzwerkzustands, wie beispielsweise einer Verbindung mit dem Netzwerk.
  • Das Dokument US 5,898,687 offenbart eine Schaltschaltung zum Übertragen von einzelgesendeten und sammelgesendeten Daten zu Vorrichtungen in einem Netzwerk. Eine einzige Kopie von Nutzlastdaten ist in einem gemeinschaftlich verwendeten Speicher gespeichert und lediglich ein Zeiger zu dem Speicher ist repliziert.
  • Das Dokument EP 0847168 offenbart eine Kantenvorrichtung für ATM-Netzwerke, die angeordnet ist, um die Anzahl von Zellen pro empfangener Verbindung proaktiv zu begrenzen.
  • Das Dokument US 5, 636, 345 offenbart ein Verfahren und eine Vorrichtung zum Erfassen von Rundsendestürmen bei einem emulierten LAN.
  • Das Dokument US 5,793,978 offenbart ein Verfahren und ein Arraysystem zum Leiten (Routen) von Paketen, bei denen eine Kommunikationsbandbreite, die rundgesendeten Paketen zugewiesen ist, begrenzt ist.
  • Das Dokument WO 02/23816 (das lediglich zu Neuheitszwecken relevant ist) offenbart ein System und ein Verfahren zum Steuern eines Sammelsendeverkehrs eines Datenpaketschalters.
  • Gemäß einem Aspekt der vorliegenden Erfindung ist ein System gemäß Anspruch 1 vorgesehen.
  • 1 ist ein Blockdiagramm eines eingebetteten Systems gemäß einem Ausführungsbeispiel der Erfindung;
  • 2 ist ein Typ eines Datenpakets, das durch das eingebettete System von 1 empfangen wird;
  • 3 ist ein Blockdiagramm eines Speichers des eingebetteten Systems von 1, einschließlich Puffern und entsprechenden Zeigern;
  • 4 ist ein vereinfachtes Diagramm, das verschiedene Felder in den Zeigern in dem Speicher von 3 zeigt;
  • 5 ist eine Anordnung von 5A und 5B; und
  • 5A und 5B sind Flussdiagramme, die einen Prozess darstellen, bei dem Daten in dem Speicher von 3 durch eine DMA-Steuerung gespeichert werden, die in 1 gezeigt ist.
  • Unter jetziger Bezugnahme auf 1 ist das eingebettete System gemäß einem Ausführungsbeispiel der vorliegenden Erfindung allgemein bei 10 angegeben und ist angepasst, um mit einem Kommunikationsnetzwerk 12 verbunden zu sein, das eine Kombination von Funktionsmedien (wie beispielsweise das eingebettete System 10), einer Infrastruktur und anderer Rechenvorrichtungen umfasst. Das Netzwerk 12, wie beispielsweise ein lokales Netz (LAN), ein weites Netz (WAN = Wide Area Network) oder ein persönliches Netz (PAN = Personal Area Network), ermöglicht, dass Informationen über die Medien hinweg erzeugt und gemeinschaftlich verwendet werden. Das eingebettete System 10 umfasst eine physische Schicht 14 zum Codieren und Decodieren von Daten, die in verschiedenen bekannten Verfahren zu dem Netzwerk 12 gesendet und von demselben empfangen werden. Eine Medienzugriffssteuerung (MAC = Media Access Controller) 16 ist mit der physischen Schicht 14 verbunden und ist zum Steuern eines Zugriffs zwischen dem eingebetteten System 10 und dem Netzwerk 12, ein Fehlerprüfen und ein Adressfiltern von Daten von dem Netzwerk verantwortlich. Gemäß der Erfindung ist die MAC 16 ebenfalls angepasst, um zu bestimmen, ob die eingehenden Daten rundgesendete Daten oder nicht rundgesendete Daten sind. Die MAC 16 umfasst ferner eine Adresse oder eine Gruppe von Adressen, die für diesen Knoten oder diese Adresse des eingebetteten Systems 10 eindeutig ist, und filtert nicht rundgesendete Daten heraus, die nicht für den Knoten des eingebetteten Systems bestimmt sind.
  • Das eingebettete System 10 umfasst ferner eine Direktspeicherzugriffssteuerung (DMA-Steuerung; DMA = Direct Memory Access) 18 zum Steuern eines Transfers von Daten zwischen dem Speicher des eingebetteten Systems und dem Netzwerk 12. Ein Zuerst-Hinein-Zuerst-Hinaus-Puffer (FIFO-Puffer; FIFO = first in first out) 20 ist zwischen der DMA-Steuerung 18 und der MAC 16 für eine begrenzte Speicherung eingehender Daten von und ausgehender Daten zu dem Netzwerk 12 vorgesehen. Die DMA-Steuerung 18 umfasst einen Zähler 22 zum Verfolgen der Anzahl von Stücken von rundgesendeten Daten, die in Frage kommen, um in einem Systemspeicher 24 gespeichert zu werden, der bei dem bevorzugten Ausführungsbeispiel ein Direktzugriffspeicher (RAM = Random Access Memory) ist.
  • Daten von dem Netzwerk 12 sind in dem RAM-Speicher 24 gespeichert, wo dieselben für einen Prozessor 26 zugreifbar sind. Daten von dem Prozessor 26, die nicht zu dem Netzwerk 12 gesendet (übertragen) werden sollen, werden ebenfalls in dem RAM-Speicher 24 gespeichert, bevor dieselben durch die DMA-Steuerung 18 gelesen werden. Der Prozessor 26 ist für ein Ausführen von Anweisungen (Befehlen) verantwortlich, die die Funktionen des eingebetteten Systems 10 steuern. Vorzugsweise sind die Anweisungen für den Prozessor 26 in einer Firmware vorgesehen, die in einem Programmspeicher 28 gespeichert ist. Das eingebettete System 10 umfasst ferner eine Funktionsschnittstelle 30 zum wirksamen Verbinden des eingebetteten Systems 10 mit anderen Steuersystemen, z. B. Druck-, Abtast- und Kommunikationsschnittstellen mit anderen Netzwerkverbindungen, wie beispielsweise LAN, WAN, etc. Eine digitale Steuerung 32 liefert die Einrichtung, die notwendig ist, damit die verschiedenen Komponenten (d. h. die DMA-Steuerung 18, der RAM-Speicher 24, der Prozessor 26, der Programmspeicher 28 und die Funktionsschnittstelle 30) des eingebetteten Systems 10 wirksam miteinander kommunizieren.
  • Mit Bezug auf 2 werden Daten in dem Netzwerk 12, entweder rundgesendet oder nicht rundgesendet, in Paketform gesendet. Ein Datenpaket 34 umfasst vordefinierte Felder, die zugehörige Informationen liefern, die durch das Netzwerk 12 benötigt werden. Die Informationen, die in dem Datenpaket 34 enthalten sind, sind durch den Standard getrieben, der dem Netzwerk 12 zugeordnet ist, mit dem das eingebettete System 10 schnittstellenmäßig verbunden ist. Beispiele des Standards umfassen Ethernet, IEEE 802.11, IEEE 802.3, IEEE 802.4, IEEE 802.5 und BLUETOOTH. Das Paket umfasst ein Startabgrenzungseinrichtungsfeld (SD-Feld; SD = Start Delimiter) 36 zum Angeben des Anfangs des Pakets 34 und ein Bestimmungsadressfeld (DA-Feld; DA = Destination Address) 38 zum Angeben des beabsichtigten Empfängers des Pakets. Das DA-Feld 38 gibt ferner an, ob das Paket 34 rundgesendete Daten enthält oder nicht, vorzugsweise durch ein spezielles Bit. Es ist jedoch klar, dass andere Felder innerhalb des Pakets 34 ebenfalls angeben können, ob die Daten, die dasselbe trägt, rundgesendet oder nicht rundgesendet sind, und durch eine andere Einrichtung außer einem speziellen Bit.
  • Ein Quelladressfeld (SA-Feld; SA = Source Address) 40 liefert die Identifizierung des Knotens, von dem das Datenpaket 34 stammte, ein Steuerfeld (CF = Control Field) 42 beschreibt den gesendeten Pakettyp und häufig die Länge des Pakets und ein Datenfeld 44 speichert die Daten, entweder rundgesendet oder nicht rundgesendet, die für den Bestimmungsort (die Bestimmungsorte) des Pakets 34 bestimmt sind. Ein Zyklische-Redundanz-Prüfsumme-Feld (CRC-Feld; CRC = Cyclic Redundancy Checksum) 46 liefert Informationen zum Bestimmen, ob während einer Übertragung ein Fehler bei den Daten in dem Feld 44 aufgetreten ist, und ein Endabgrenzungseinrichtungsfeld (ED-Feld; ED = End Delimiter) 48 gibt den Endpunkt des Datenpakets 34 an.
  • In Betrieb wird das Datenpaket 34 von dem Netzwerk 12 durch die MAC-Steuerung 16 empfangen, nachdem dasselbe durch die physische Schicht 14 geeignet verarbeitet (d. h. decodiert) wurde. Die MAC-Steuerung 16 bestimmt gewöhnlich aus dem DA-Feld 38, ob das Paket rundgesendete Daten enthält. Die Daten, die in dem Datenfeld 44 des Pakets 34 enthalten sind, werden dann zusammen mit einer Angabe, ob die empfangenen Daten rundgesendete Daten oder nicht rundgesendete Daten sind, zu dem FIFO-Puffer 20 weitergeleitet. Basierend auf diesen Informationen schreibt die DMA-Steuerung 18 die Daten, die in dem Datenpaket 34 empfangen werden, zu dem nächsten verfügbaren Puffer in dem RAM-Speicher 24, der eine vorbestimme Anzahl von Puffern 50 (in 3 gezeigt) umfasst, die für sowohl rundgesendete Daten als auch nicht rundgesendete Daten bestimmt sind.
  • Genauer gesagt verfolgt der Rundsendedatenzähler 22 eine vorbestimmte Anzahl von Rundsendedatenpaketen 34, die empfangen werden können. Diese Anzahl wird jedes Mal, wenn rundgesendete Daten, die in einem Datenpaket 34 enthalten sind, in diesen Puffern 50 gespeichert werden, um eins dekrementiert. Die DMA-Steuerung 18 schreibt weiter rundgesendete Daten zu den Puffern 50 des RAM 24, bis der Zähler 22 auf Null dekrementiert wurde. Wenn dieser Punkt erreicht ist, hört die DMA-Steuerung 18 auf, rundgesendete Daten zu dem RAM-Speicher 24 zu schreiben, bis der Prozessor 26 bestimmt, dass der Speicher einen Raum für mehr rundgesendete Daten aufweist. Zu dieser Zeit inkrementiert der Prozessor den Zähler 22 auf eine Zahl von nicht Null und macht die Puffer 50 für ein Speichern zusätzlicher rundgesendeter Daten verfügbar, wodurch ermöglicht wird, dass die DMA-Steuerung 18 neue rundgesendete Daten in diese Puffer schreibt. Bei dem bevorzugten Ausführungsbeispiel ist der Zähler 22 in die Hardware der DMA-Steuerung 18 eingegliedert. Durchschnittsfachleute auf dem Gebiet verstehen jedoch, dass der Zähler 22 auch als eine getrennte Hardware implementiert sein kann, oder sogar in einer Kombination einer Hardware und einer Firmware beispielsweise.
  • Wenn die DMA-Steuerung 18 ein nicht rundgesendetes Datum empfängt, wird dasselbe zu dem nächsten verfügbaren Puffer 50 geschrieben, ungeachtet des Rundsendedatenzählers 22. Bei dem bevorzugten Ausführungsbeispiel gibt der Prozessor 26 dem Prozess von nicht rundgesendeten Daten Priorität und verarbeitet rundgesendete Daten erst nachdem die nicht rundgesendeten Daten verarbeitet wurden. Andere Verarbeitungsreihenfolgen sollten jedoch Fachleuten auf dem Gebiet ersichtlich sein.
  • Unter jetziger Bezugnahme auf 3 und 4 umfasst der RAM-Speicher 24 eine Mehrzahl der Puffer 50. Bei dem bevorzug ten Ausführungsbeispiel speichert jeder Puffer 50 Daten, die in einem einzigen Datenpaket 34 getragen sind. Falls nötig, können jedoch zwei oder mehr Puffer 50 Daten speichern, die in einem einzigen Datenpaket 34 enthalten sind, wie es Fachleuten auf dem Gebiet ersichtlich ist. Eine Zahl, die bestimmt, wie viele Puffer in Frage kommen, um rundgesendete Daten zu speichern, ist durch den Entwickler des eingebetteten Systems 10 gewählt. Der RAM-Speicher 24 umfasst ferner einen entsprechenden Zeiger 52 für jeden Puffer 50. Jeder Zeiger 52 (am besten in 4 gezeigt) umfasst ein Adresszeigerfeld 54, das den entsprechenden Puffer 50 desselben identifiziert, ein Empfangsadressfeld 56, das die Bestimmungsadresse der Daten identifiziert, die in dem Datenpaket 34 getragen sind. Ein Quelladressfeld 58 gibt die Adresse an, von der die Daten stammen. Ein Statusfeld 60 gibt an, ob die Daten, die in dem entsprechenden Puffer 50 gespeichert sind, rundgesendete Daten sind oder nicht. Dieses Feld 60 kann ferner zum Markieren von Fehlern verwendet werden, wie beispielsweise einer Kollision, eines CRC-Fehlers, etc. Ein Feld 62 gibt die Anzahl von Datenbytes an, die in dem entsprechenden Puffer 50 gespeichert sind, und ein Feld 64 wird für andere Informationen verwendet, die für den Entwickler des eingebetteten Systems von Nutzen sein können, beispielsweise ein Speichern einer Netzwerktransportprüfsumme. Ein Feld 66 umfasst ein Flag, das angibt, ob der entsprechende Puffer 50 Daten speichert.
  • Unter jetziger Bezugnahme auf 5A und 5B ist der Prozess detaillierter beschrieben, der zwischen der DMA-Steuerung 18 und dem RAM-Speicher 24 auftritt. Wenn Daten, die in dem Paket 34 getragen sind, bei dem FIFO-Puffer 20 empfangen werden (Block 68), bestimmt (Block 70) die DMA-Steuerung 18 zuerst, ob die Daten in dem Paket 34 rundgesendete Daten oder nicht rundgesendete Daten sind. Falls die empfangenen Daten nicht rundgesendet sind, verweist die DMA-Steuerung 18 auf den Zeiger 52, der dem nächsten verfügbaren Puffer 50 entspricht, für die Position des Puffers und speichert (Block 74) die Daten in diesem Puffer in dem RAM-Speicher 24, falls bei dem Block 72 ein Puffer verfügbar ist. Dann werden alle Felder in dem entsprechenden Zeiger 52 durch den Prozessor 26 aktualisiert (Block 76), um die Informationen wiederzuspiegeln, die sich auf die neu gespeicherten Daten beziehen. Die DMA-Steuerung 18 prüft (Block 78) dann den nächsten Zähler 52 und bestimmt (Block 80), ob der entsprechende Puffer 50 derselben verfügbar ist, um Daten zu speichern. Die DMA-Steuerung 18 prüft das Feld 66 zu diesem Zweck auf ein Puffer-Voll-Flag.
  • Unter erneuter Bezugnahme auf den Block 72 sendet (Block 81) die DMA-Steuerung 18 eine Unterbrechung zu dem Prozessor 26, falls kein Puffer 50 in dem RAM-Speicher 24 zum Speichern von Daten verfügbar ist. Bei dem bevorzugten Ausführungsbeispiel wird auf die Zeiger 52 durch die DMA-Steuerung 18 in einer sequentiellen Reihenfolge zugegriffen und die Daten in den Puffern 50 werden durch den Prozessor 26 in dieser gleichen Reihenfolge verarbeitet. Sobald auf den letzten Zeiger 52 oder Puffer 50 in dem RAM-Speicher 24 zugegriffen wurde oder derselbe verarbeitet wurde, werden folglich der erste Zeiger und Puffer zu dem nächsten Zeiger und Puffer.
  • Falls die empfangenen Daten rundgesendete Daten sind (bei Block 70), prüft die DMA-Steuerung 18 den Rundsendedatenzähler 22, um zu sehen, ob der Zählwert bei Null liegt (Block 82), was angibt, dass die vorbestimmte Anzahl zum Speichern rundgesendeter Daten in dem RAM-Speicher 24 erreicht wurde. Falls der Zählwert bei Null liegt, wird hinsichtlich der empfangenen rundgesendeten Daten keine Handlung unternommen (Block 84). Mit anderen Worten, die Daten werden nicht in dem RAM-Speicher 24 gespeichert. Falls der Zähler 22 nicht bei Null liegt, aber kein Puffer 50 in dem RAM-Speicher 24 zum Speichern der Daten verfügbar ist (Block 86), wird mit Bezug auf die rundgesendeten Daten in dem Paket 34 keine Handlung unternommen (Block 88).
  • Falls jedoch ein Puffer verfügbar ist (Block 86), verweist die DMA-Steuerung 18 auf den Zeiger 52, der dem verfügbaren Puffer 50 entspricht, für die Position dieses Puffers, speichert (Block 90) die rundgesendeten Daten in dem Puffer und dekrementiert (Block 92) den Zähler 22 um eins. Dann werden die Felder in dem entsprechenden Zeiger 52, der oben beschrieben ist, durch den Prozessor 26 aktualisiert (Block 92), um die Informationen wiederzuspiegeln, die sich auf die neu gespeicherten rundgesendeten Daten beziehen. Die DMA-Steuerung 18 prüft (Block 96) dann den nächsten Zeiger und bestimmt (Block 98), ob der entsprechende Puffer desselben verfügbar ist, um Daten zu empfangen, d. h. prüft das Puffer-Voll-Flag in dem Feld 66.
  • Aus der vorhergehenden Beschreibung ist klar, dass ein verbessertes, eingebettetes System gezeigt und beschrieben wurde, das viele erwünschte Attribute und Vorteile aufweist. Das eingebettete System umfasst eine DMA-Steuerung, die einen Zähler aufweist, der eine Anzahl von rundgesendeten Daten verfolgt, die in dem Speicher gespeichert sind, so dass dieselben die vorbestimmte Anzahl nicht überschreiten, wodurch eine ausreichende Menge von Puffern in dem Speicher für eine Speicherung von nicht rundgesendeten Daten gelassen wird.
  • Während verschiedene Ausführungsbeispiele der vorliegenden Erfindung gezeigt und beschrieben wurden, ist klar, dass andere Modifikationen, Substitutionen und Alternativen einem Durchschnittsfachmann auf dem Gebiet ersichtlich sind. Derartige Modifikationen, Substitutionen und Alternativen können vorgenommen werden, ohne von dem Schutzbereich der Erfindung abzuweichen, der aus den beigefügten Ansprüchen bestimmt sein sollte.
  • Verschiedene Merkmale der Erfindung sind in den beigefügten Ansprüchen dargelegt.

Claims (9)

  1. Ein eingebettetes System (10) zum Empfangen von Datenpaketen (34) von einem Kommunikationsnetzwerk (12), wobei das eingebettete System eine Mehrzahl von Puffern (50) zum Speichern von Datenpaketen, die von dem Kommunikationsnetzwerk (12) empfangen werden, und eine Datenstruktur (52) aufweist, die jedem jeweiligen Puffer entspricht und einen Zeiger zu dem jeweiligen Puffer umfasst, wobei jede der Datenstrukturen (52) ein Feld (60) zum Angeben, ob Daten, die in einem Entsprechenden der Puffer gespeichert sind, rundgesendete Daten sind, und ein Feld zum Angeben umfasst, ob der entsprechende Puffer voll (66) ist, dadurch gekennzeichnet, dass dasselbe ferner folgende Merkmale aufweist: eine Einrichtung zum Bestimmen, ob Datenpakete, die von dem Kommunikationsnetzwerk empfangen werden, rundgesendete Daten oder nicht rundgesendete Daten (16) sind, bevor dieselben in der Mehrzahl von Puffern gespeichert werden; eine Datensteuerung (18) zum Speichern von Datenpaketen in den Puffern (50), wobei die maximale Anzahl von Puffern, die durch rundgesendete Daten eingenommen werden kann, auf eine vorbestimmte Anzahl begrenzt ist, die kleiner als die gesamte Anzahl von Puffern (50) ist.
  2. Das System gemäß Anspruch 1, bei dem jeder der Puffer (50) Daten speichert, die in einem Datenpaket (34) enthalten sind.
  3. Das System gemäß Anspruch 1 oder 2, bei dem die Datensteuerung (18) einen Zähler (22) umfasst, der von der vorbestimmten Anzahl der Puffer (50) jedes Mal dekrementiert, wenn die rundgesendeten Daten in den Puffern gespeichert werden.
  4. Das System gemäß Anspruch 3, bei dem die Steuerung (18) ein Speichern der rundgesendeten Daten zu den Puffern (50) beendet, wenn die vorbestimmte Anzahl der Puffer auf Null dekrementiert wurde.
  5. Das System gemäß Anspruch 3 oder 4, das ferner einen Prozessor (26) zum Verarbeiten der rundgesendeten Daten in der Mehrzahl von Puffern (50) und Bewirken umfasst, dass der Zähler (22) die dekrementierte, vorbestimmte Anzahl jedes Mal inkrementiert, wenn die rundgesendeten Daten in einem der Puffer verarbeitet wurden.
  6. Das System gemäß Anspruch 5, bei dem der Prozessor (26) gemäß Anweisungen, die in einer Firmware gespeichert sind, die in dem eingebetteten System (10) vorgesehen ist, bewirkt, dass der Zähler (22) die dekrementierte, vorbestimmte Anzahl inkrementiert.
  7. Das System gemäß einem der vorhergehenden Ansprüche, das ferner folgende Merkmale aufweist: einen Prozessor (26) zum Verarbeiten von Daten, die in den Puffern (50) gespeichert sind; einen Programmspeicher (28) zum Speichern von Betriebsanweisungen für den Prozessor; und eine Systemsteuerung (32) zum Liefern einer Kommunikation zwischen dem Prozessor (26), der Programmspeicher (28), dem Datenspeicher (24) und der Datensteuerung (18).
  8. Das System gemäß Anspruch 7, das ferner folgende Merkmale aufweist: eine physische Schicht (14), die zwischen die Bestimmungseinrichtung (16) und das Kommunikationsnetzwerk (12) zum Codieren und Decodieren von Daten geschaltet ist, die zu dem Kommunikationsnetzwerk gesendet und von demselben empfangen werden; und einen Steuerungspuffer (20), der wirksam zwischen der Bestimmungseinrichtung (16) und der Steuerung (18) zum Halten von Daten vorgesehen ist, die von dem Netzwerk über die Bestimmungseinrichtung empfangen werden.
  9. Das System gemäß Anspruch 7 oder 8, das ferner eine Funktionsschnittstelle (30), die mit der Systemsteuerung (32) verbunden ist, zum wirksamen Verbinden des eingebetteten Systems (10) mit einem Netzwerkmedium umfasst.
DE60305560T 2002-03-08 2003-03-06 Eingebettetes System für die Überlastregelung von Rundfunkverkehr in einem Kommunikationsnetzwerk Expired - Lifetime DE60305560T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/094,254 US7054962B2 (en) 2002-03-08 2002-03-08 Embedded system having broadcast data storing controller
US94254 2002-03-08

Publications (2)

Publication Number Publication Date
DE60305560D1 DE60305560D1 (de) 2006-07-06
DE60305560T2 true DE60305560T2 (de) 2006-11-09

Family

ID=28038817

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60305560T Expired - Lifetime DE60305560T2 (de) 2002-03-08 2003-03-06 Eingebettetes System für die Überlastregelung von Rundfunkverkehr in einem Kommunikationsnetzwerk

Country Status (3)

Country Link
US (1) US7054962B2 (de)
EP (1) EP1351439B1 (de)
DE (1) DE60305560T2 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7292529B1 (en) * 2002-07-31 2007-11-06 Juniper Networks, Inc. Memory load balancing for single stream multicast
US7574578B2 (en) * 2005-05-02 2009-08-11 Elliptic Semiconductor Inc. System and method of adaptive memory structure for data pre-fragmentation or pre-segmentation
US7523228B2 (en) * 2006-09-18 2009-04-21 International Business Machines Corporation Method for performing a direct memory access block move in a direct memory access device
US8601179B1 (en) * 2006-10-31 2013-12-03 Qlogic, Corporation Method and system for data transfer
US7620749B2 (en) * 2007-01-10 2009-11-17 International Business Machines Corporation Descriptor prefetch mechanism for high latency and out of order DMA device
US7603490B2 (en) * 2007-01-10 2009-10-13 International Business Machines Corporation Barrier and interrupt mechanism for high latency and out of order DMA device
US20120038945A1 (en) * 2010-08-13 2012-02-16 I/O Interconnect, Ltd. Electronic system
US10110518B2 (en) 2013-12-18 2018-10-23 Mellanox Technologies, Ltd. Handling transport layer operations received out of order
WO2015163985A1 (en) 2014-04-22 2015-10-29 Massachusetts Institute Of Technology Attitude determination using infrared earth horizon sensors
WO2016022579A2 (en) 2014-08-05 2016-02-11 Massachusetts Institute Of Technology Design of a free-space optical communication module for small satellites
US9998221B2 (en) 2015-01-09 2018-06-12 Massachusetts Institute Of Technology Link architecture and spacecraft terminal for high rate direct to earth optical communications
WO2016190934A2 (en) * 2015-02-27 2016-12-01 Massachusetts Institute Of Technology Methods, systems, and apparatus for global multiple-access optical communications
US11622004B1 (en) 2022-05-02 2023-04-04 Mellanox Technologies, Ltd. Transaction-based reliable transport

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6489737A (en) * 1987-09-30 1989-04-04 Toshiba Corp Multiple address communication data transmission system
JP3104429B2 (ja) * 1992-10-08 2000-10-30 株式会社日立製作所 コピー機能を有する共通バッファ形atmスイッチ及びそのコピー方法
US5793978A (en) * 1994-12-29 1998-08-11 Cisco Technology, Inc. System for routing packets by separating packets in to broadcast packets and non-broadcast packets and allocating a selected communication bandwidth to the broadcast packets
US5636345A (en) * 1995-03-30 1997-06-03 Bay Networks, Inc. Method and apparatus for detecting and preventing broadcast storms on an emulated local area network
US5818838A (en) * 1995-10-12 1998-10-06 3Com Corporation Method and apparatus for transparent intermediate system based filtering on a LAN of multicast packets
US5898687A (en) * 1996-07-24 1999-04-27 Cisco Systems, Inc. Arbitration mechanism for a multicast logic engine of a switching fabric circuit
GB9618158D0 (en) * 1996-08-30 1996-10-09 Sgs Thomson Microelectronics Improvements in or relating to an ATM switch
US6185223B1 (en) 1996-12-04 2001-02-06 Conexant Systems, Inc. Apparatus and method for providing fire wall protection for systems in communication with an a synchronous transfer mode system
US6185206B1 (en) * 1997-12-19 2001-02-06 Nortel Networks Limited ATM switch which counts multicast cell copies and uses a second memory for a decremented cell count value
US6310875B1 (en) * 1998-03-30 2001-10-30 Nortel Networks Limited Method and apparatus for port memory multicast common memory switches
US6754211B1 (en) * 1999-12-01 2004-06-22 Mosaid Technologies, Inc. Method and apparatus for wire speed IP multicast forwarding
WO2002023816A2 (en) 2000-09-12 2002-03-21 International Business Machines System and method for controlling the multicast traffic of a data packet switch

Also Published As

Publication number Publication date
US20030172208A1 (en) 2003-09-11
DE60305560D1 (de) 2006-07-06
US7054962B2 (en) 2006-05-30
EP1351439A1 (de) 2003-10-08
EP1351439B1 (de) 2006-05-31

Similar Documents

Publication Publication Date Title
DE69434330T2 (de) Übertragungsvorrichtgung und verfahren
DE3855925T2 (de) Nachrichtenübertragung in einem multiplexsystem
DE60216001T2 (de) Automatischer Lastausgleich in Vermittlungsknoten
DE69505871T2 (de) Taktfehlererkennungsschaltung
DE602004002522T2 (de) Dienstgüte-Verfahren basierend auf einer Durchflussregelung in einem verteilten Switch Fabric-Netzwerk
DE3751091T2 (de) Übertragungsprotokoll zwischen Prozessoren.
DE69031266T2 (de) Übertragungsarchitektur für Hochgeschwindigkeitsnetzwerk
DE69131971T2 (de) Netzwerkanpassungseinrichtung mit Puffer und Mehrbeschreibungskreis
DE69735936T2 (de) Seriendatenschnittstellenverfahren und vorrichtung #
DE69131477T2 (de) Netzwerkanpassungseinrichtung
DE60212626T2 (de) Endknotenunterteilung mittels lokaler identifikatoren
DE69413740T2 (de) Arbitrierungsverfahren zur Datenflusssteuerung durch ein E/A-Steuergerät
DE68926650T2 (de) Hochgeschwindigkeitspaketvermittlungsknotenentwurf
DE69123663T2 (de) Kanäle in einem Rechnerein-Ausgabesystem
DE2953444C2 (de) Anordnung und Verfahren für ein digitales Datenübertragungsnetzwerk
DE69332558T2 (de) Multiport-Brücke für lokales Netz
DE69430945T2 (de) Schnelle Paketvermittlungsnetze
DE69732274T2 (de) Flusssteuerungsprotokollsystem und verfahren
DE60305560T2 (de) Eingebettetes System für die Überlastregelung von Rundfunkverkehr in einem Kommunikationsnetzwerk
DE69123104T2 (de) Melden und Verifizieren von Zustandswechseln in einem Datenverarbeitungsein- / -ausgabesystem
DE69032723T2 (de) FIFO mit variablem Zuweisungszeiger
DE60110934T2 (de) Modularer und skalierbarer switch und verfahren zum verteilen schneller ethernet-datenrahmen
EP0762694A1 (de) Lokales, nach dem asynchronen Transfermodus (ATM) arbeitendes Netzwerk mit wenigstens zwei Ringsystemen
DE4121446A1 (de) Terminal-server-architektur
DE3855739T2 (de) Nachrichtenübertragungssystem und -verfahren

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8364 No opposition during term of opposition