DE69333798T2 - METHOD AND DEVICE FOR ARBITRATING ON AN AZYCLICAL-TARGETED GRAPH - Google Patents

METHOD AND DEVICE FOR ARBITRATING ON AN AZYCLICAL-TARGETED GRAPH Download PDF

Info

Publication number
DE69333798T2
DE69333798T2 DE69333798T DE69333798T DE69333798T2 DE 69333798 T2 DE69333798 T2 DE 69333798T2 DE 69333798 T DE69333798 T DE 69333798T DE 69333798 T DE69333798 T DE 69333798T DE 69333798 T2 DE69333798 T2 DE 69333798T2
Authority
DE
Germany
Prior art keywords
node
bus
nodes
signal
root
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
DE69333798T
Other languages
German (de)
Other versions
DE69333798D1 (en
Inventor
Florin Oprescu
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.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Application granted granted Critical
Publication of DE69333798D1 publication Critical patent/DE69333798D1/en
Publication of DE69333798T2 publication Critical patent/DE69333798T2/en
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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40078Bus configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • G06F15/17343Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40084Bus arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Description

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

Zugehörige AnmeldungenRelated registrations

Diese Anmeldung bezieht sich auf das US-Patent Nr. 5,394,556 „Ein Verfahren und eine Einrichtung für eine eindeutige Adresszuweisung, eine Knoten-Selbstidentifikation und eine Topologieabbildung für einen gerichteten azyklischen Graphen".These Application is related to U.S. Patent No. 5,394,556 "A method and a facility for a unique address assignment, a node self-identification and a topology image for a directed acyclic graph ".

Gebiet der ErfindungTerritory of invention

Die vorliegende Erfindung bezieht sich auf Computersysteme. Insbesondere bezieht sich die vorliegende Erfindung auf ein Verfahren zur Bildung und Verwendung eines Kommunikationsschemas zwischen einer Mehrzahl von beliebig zusammengestellten Elementen eines Computersystems.The The present invention relates to computer systems. Especially The present invention relates to a method of forming and Use of a communication scheme between a plurality of arbitrarily assembled elements of a computer system.

Hintergrundbackground

Komponenten in einem gegebenen Computersystem benötigen die Fähigkeit, untereinander Signale zu übermitteln. In sehr einfachen Systemen ist es möglich, jedes Element des Systems direkt mit allen anderen Teilen des Systems zu verdrahten. Um Computer erweiterbar auszuführen und eine unbekannte Anzahl von Systemteilen aufzunehmen, haben jedoch Computerarchitekten tatsächlich vor langer Zeit das Konzept eines Kommunikationsbusses entwickelt.components in a given computer system need the ability to communicate with each other to convey. In very simple systems it is possible to use every element of the system to wire directly to all other parts of the system. To computer expandable and to record an unknown number of system parts, however Computer architects actually developed the concept of a communication bus a long time ago.

Ein Bus ist ein Kommunikationspfad, wie zum Beispiel ein durch das Computersystem laufender Draht oder Drähte. Jede Komponente des Systems muss nur an den Bus angeschlossen werden, um theoretisch mit jeder anderen Komponente im System verbunden zu sein. Natürlich kann nicht jede Komponente gleichzeitig mit anderen Komponenten kommunizieren, da es nur einen einzigen Kommunikationskanal zwischen den Komponenten geben kann. Bei Verwendung eines Kommunikationsbusses ist die Bildung irgendeiner Art Zugriffsanordnung erforderlich, so dass jede Komponente den Bus zur Kommunikation mit anderen Komponenten in einer effizienten Art und Weise verwenden kann, bei der entscheidende Informationen von einer Komponente nicht blockiert werden, die auf einen Buszugriff wartet. Das Verfahren, bei dem sich Komponenten auf dem Bus den Bus teilen, wird allgemein als ein Busarbitrierungsschema bezeichnet.One Bus is a communication path, such as one through the computer system running wire or wires. Each component of the system only needs to be connected to the bus to theoretically associated with every other component in the system be. Naturally not every component can communicate with other components at the same time, because there is only one communication channel between the components can give. When using a communication bus, the education is any type of access arrangement required so that each component the bus to communicate with other components in an efficient Can use the way in which crucial information not blocked by a component that is on a bus access waiting. The procedure whereby components on the bus die Bus sharing is commonly referred to as a bus arbitration scheme.

Eine Ausführung eines Arbitrierungsschemas ist in der 11-ten International Conference on Distributed Computing Systems, Arlington, Texas, USA, Mai 1991, mit dem Titel „A Dag-Based Algorithm for Distributed Mutual Exclusion" von M. L. Nelson und M. Mizumo beschrieben. Das beschriebene Schema basiert auf einem Token [Zuordnungsmarkierung]-basierten verteilten wechselseitigen Algorithmus, der ein vollständig verbundenes Netzwerk und ein als ein gerichteter azyklischer Graph strukturiertes logisches Netzwerk voraussetzt.A execution of an arbitration scheme is on Distributed in the 11th International Conference Computing Systems, Arlington, Texas, USA, May 1991, entitled "A Dag-Based Algorithm for Distributed Mutual Exclusion "by M. L. Nelson and M. Mizumo. The scheme described is based on a token [allocation marker] -based Distributed mutual algorithm, which is a fully connected Network and a structured as a directed acyclic graph logical network requires.

Zusätzlich zu der entscheidenden Notwendigkeit einer Optimierung des Busarbitrierungsschemas für eine Maximierung des Durchflusses wichtiger Informationen kann und sollte die physikalische (und logische/elektrische) Konfiguration des Busses selbst für eine Minimierung von Systemverzögerungen optimiert werden und gleichzeitig so flexibel wie möglich bleiben.In addition to the crucial need to optimize the bus arbitration scheme for one Maximizing the flow of important information can and should the physical (and logical / electrical) configuration of the bus itself for one Minimization of system delays be optimized while remaining as flexible as possible.

Um mit anderen, an einem Bus angeschlossenen Komponenten zu kommunizieren, muss jede Komponente mit Hardware ausgerüstet sein, wie zum Beispiel mit einer mit dem für den Bus implementierten Kommunikationsprotokoll kompatiblen Sende- und Empfangsschaltung. Ein derartiger Kommunikationsstandard ist im IEEE Standard-Dokument P1394 mit dem Titel „High Performance Serial Bus" beschrieben. Das genannte Dokument ist diesem Dokument als Anhang A beigefügt. Der in P1394 beschriebene Standard ist für eine Bereitstellung einer preiswerten Verbindung zwischen Karten auf der gleichen Bus-Leiterplatte, Karten auf anderen Bus-Leiterplatten und externen Peripherieeinrichtungen bestimmt.Around to communicate with other components connected to a bus, Each component must be equipped with hardware, such as with one with the for the bus implemented communication protocol compatible transmit and receiving circuit. Such a communication standard is in IEEE Standard Document P1394 entitled "High Performance Serial Bus" This document is attached as Annex A to this document. Of the standard described in P1394 is for a provision of a inexpensive connection between cards on the same bus circuit board, Cards on other bus boards and external peripherals certainly.

Busse und Netzwerke des Standes der Technik erforderten die Kenntnis, was wo angeschlossen wurde. Die Rückseite vieler Computer weist zum Beispiel festgelegte Ports für bestimmte Peripherieeinrichtungen auf. Einige Computer führen mehrere Busse aus, wie zum Beispiel der Macintosh, der einen als ADB bezeichneten Bus für Komponenten wie eine Maus und eine Tastatur und einen SCSI-Bus für andere Peripherieeinrichtungen verwendet. Diese Bus-Arten stellen eine Verkettung von Elementen bereit. Die Verbindungen weisen jedoch eine begrenzte Topologie auf. Andere bekannte Busse/Netzwerke erfordern, dass die Knoten des Netzwerks in einem Ring angeordnet sind, eine Schleife, die zur Wirksamkeit geschlossen sein muss. Letztendlich erfordern Stern- oder Speichen[Hub-and-Spoke]-Anordnungen, dass jeder Knoten direkt mit einer zentralen Haupteinrichtung [Master] verbunden wird. Jedem der Systeme des Standes der Technik fehlt ein erwünschtes Maß an Flexibilität.buses and prior art networks required the knowledge what was connected where. The back of many computers points for example, fixed ports for certain peripherals. Some computers have multiple buses such as the Macintosh, one called ADB Bus for Components like a mouse and a keyboard and a SCSI bus for others Peripheral equipment used. These types of buses provide one Chaining elements ready. However, the compounds have a limited topology. Other known buses / networks require that the nodes of the network are arranged in a ring, one Loop that must be closed to effectiveness. At long last require star or spoke [hub-and-spoke] arrangements that every node directly with a central main facility [master] is connected. Each of the prior art systems is missing a desired one Measure Flexibility.

Es wäre wünschenswert in der Lage zu sein und ist deshalb eine Aufgabe der vorliegenden Erfindung, Elemente eines Computersystems auf einem Bus beliebig zusammenzustellen, wobei durch das System die beliebige Topologie in ein funktionierendes System aufgetrennt werden kann, ohne eine vorgegebene Anordnung von Komponenten zu erfordern.It would be desirable to be able to and therefore is an object of the present Invention, elements of a computer system on a bus arbitrary through which system any topology can be separated into a working system, without one Require predetermined arrangement of components.

ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY THE INVENTION

In einem Ausführungsbeispiel wird ein Verfahren für eine faire Buszugriffsarbitrierung gemäß Anspruch 1 beschrieben. In einem weiteren Ausführungsbeispiel wird ein Verfahren für eine faire Busarbitrierung gemäß Anspruch 11 beschrieben. In einem weiteren Ausführungsbeispiel wird ein Verfahren einer einen Token weiterleitenden Buszugriffsarbitrierung gemäß Anspruch 13 beschrieben. In einem weiteren Ausführungsbeispiel wird ein Verfahren der preemptiven Businitialisierung gemäß Anspruch 14 beschrieben.In an embodiment will be a procedure for a fair bus access arbitration according to claim 1 described. In a further embodiment will be a procedure for a fair bus arbitration according to claim 11 described. In a further embodiment, a method a token forwarding bus access arbitration according to claim 13 described. In a further embodiment, a method the preemptive Businitialisierung according to claim 14 described.

Es ist eine Aufgabe der vorliegenden Erfindung, ein faires Buszugriffsarbitrierungsschema für einen Computersystembus oder ein Netzwerk bereitzustellen, in dem die Verbindungen der Knoten in einen azyklischen gerichteten Graphen aufgelöst wurden.It It is an object of the present invention to provide a fair bus access arbitration scheme for one To provide a computer system bus or a network in which the Connect the nodes to an acyclic directed graph disbanded were.

Es ist eine weitere Aufgabe der vorliegenden Erfindung ein Verfahren einer einen Token weiterleitenden Busarbitrierung für einen Computersystembus oder ein Netzwerk bereitzustellen, in dem die Verbindungen der Knoten in einen azyklischen gerichteten Graphen aufgelöst wurden.It Another object of the present invention is a method a token passing bus arbitration for a Computer system bus or provide a network in which the connections the node has been resolved into an acyclic directed graph.

Es ist noch eine weitere Aufgabe der vorliegenden Erfindung einen Mechanismus bereitzustellen, mit dem eine preemptive Businitialisierung durch jeden Knoten in einem Netzwerk von Knoten getriggert [ausgelöst] werden kann, die in einen azyklischen gerichteten Graphen aufgelöst werden, wenn Fehler erkannt oder Knoten während des Betriebes hinzugefügt oder entfernt werden.It Yet another object of the present invention is a mechanism to provide a preemptive bus initialization by each Nodes in a network of nodes are triggered can be resolved into an acyclic directed graph, if errors are detected or nodes added during operation or be removed.

Diese und andere Aufgaben der vorliegenden Erfindung sind in einem System ausgeführt, in dem eine beliebige Anordnung von Knoten auf einem Systembus in einen azyklischen gerichteten Graphen aufgelöst wurde. Die hierarchische Anordnung von Knoten weist einen als Root [Wurzel] bezeichneten Knoten auf, während alle anderen Knoten Eltern/Kind-Beziehungen mit den Knoten gebildet haben, mit denen sie verbunden sind. Jeder Knoten kann eine Mehrzahl von verbundenen Kind-Ports mit einem vorher festgelegten Bestätigungsprioritätsschema gebildet haben. Eine faire Buszugriffsarbitrierung berücksichtigt eine Busgewährung in einer den vorher festgelegten Portprioritäten entsprechenden Abfolge, die allen Knoten einen Turnus auf dem Bus ermöglicht. Der Root-Knoten kann immer seinen Prioritätszugriffsstatus zum Erhalt des Buszugriffs geltend machen. Das ist nützlich, um einem Root-Knoten entgegenzukommen, der eine isochrone Datenübertragung benötigt. Alternativ kann ein einen Token weiterleitendes Arbitrierungsschema ausgeführt werden, bei dem der Token für den Buszugriff um die Knoten herum gemäß dem oben beschriebenen, vorher festgelegtem Prioritätsschema der Ports weitergeleitet wird. Eine preemptive Businitialisierung kann durch jeden Knoten bei der Erfassung eines dies erforderlich machenden Fehlers oder bei Hinzufügung oder Entfernung einer Verbindung zu einem existierenden Knoten getriggert werden.These and other objects of the present invention are in one system executed in which an arbitrary arrangement of nodes on a system bus in an acyclic directed graph was resolved. The hierarchical Arrangement of nodes has a node called root on, while all other node parent / child relationships are formed with the nodes have with whom they are connected. Each node may have a plurality Connected child ports with a predefined confirmation priority scheme have formed. A fair bus access arbitration is considered a bus grant in a sequence corresponding to the predetermined port priorities, which allows all nodes a turn on the bus. The root node can always his priority access status claim for the bus access. This is useful, to accommodate a root node, which is an isochronous data transfer needed. Alternatively, a token forwarding arbitration scheme accomplished where the token is for the bus access around the nodes according to the above, before fixed priority scheme the ports forwarded. A preemptive bus initialization can be required by any node in capturing this making mistakes or adding or removing one Connection to an existing node will be triggered.

KURZBESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

Die Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden von der folgenden, detaillierten Beschreibung ersichtlich werden, in der:The Objects, features and advantages of the present invention from the following detailed description, in the:

1 ein Blockdiagram der Ausführung der Hardwareschicht veranschaulicht, die gemäß der vorliegenden Erfindung verwendet wird. 1 FIG. 12 illustrates a block diagram of the hardware layer implementation used in accordance with the present invention. FIG.

2(a)2(b) veranschaulichen eine beliebig zusammengestellte Sammlung von Knoten. Eine ist azyklisch und die andere umfasst mehrere Zyklen. 2 (a) - 2 B) illustrate an arbitrarily assembled collection of nodes. One is acyclic and the other includes several cycles.

3(a) zeigt die beliebig angeordnete Sammlung von Knoten von 2(a), die dem Graphentransformationsverfahren gemäß der vorliegenden Erfindung unterzogen wird. 3 (a) shows the arbitrarily arranged collection of nodes from 2 (a) which is subjected to the graph transformation method according to the present invention.

3(b)3(d) veranschaulichen alternative Kommunikationsmöglichkeiten zwischen den Knoten bei der Ausführung der vorliegenden Erfindung. 3 (b) - 3 (d) illustrate alternative communication capabilities between the nodes in the practice of the present invention.

3(e) veranschaulicht graphisch den gerichteten Graphen, der aus dem beliebig zusammengestellten Netzwerk von Knoten von 2(a) resultiert. 3 (e) graphically illustrates the directed graph resulting from the arbitrarily assembled network of nodes of 2 (a) results.

4 veranschaulicht eine symmetrische Graphenanordnung, die die Auflösung einer Root-Konkurrenzsituation erfordert. 4 illustrates a symmetric graph arrangement that requires resolution of a root contention.

5 veranschaulicht einen gerichteten azyklischen Graphen, wobei eine mögliche eindeutige Adreßzuweisungsreihenfolge angezeigt ist. 5 illustrates a directed acyclic graph, indicating a possible unique address assignment order.

6(a)6(e) veranschaulichen den Prozessablauf für die Durchführung des Graphentransformationsverfahrens gemäß dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung. 6 (a) - 6 (e) illustrate the process flow for performing the graph transformation method according to the preferred embodiment of the present invention.

DETAILLIERTE BESCHREIBUNG DER ERFINDUNGDETAILED DESCRIPTION THE INVENTION

Es werden ein Verfahren und eine Einrichtung zur Verwendung eines Busses beschrieben, der eine beliebige Topologie aufweist. In der folgenden Beschreibung werden viele spezielle Einzelheiten dargelegt, wie zum Beispiel verschiedene Computerkomponenten, um ein vollständiges Verständnis der vorliegenden Erfindung bereitzustellen. Es wird jedoch für einen Fachmann ersichtlich sein, dass die vorliegende Erfindung ohne derartige spezielle Einzelheiten umgesetzt werden kann. In anderen Fällen sind bekannte Steuerungsstrukturen und Codierungstechniken nicht ausführlich beschrieben worden, um die vorliegende Erfindung nicht unnötig zu verdecken.A method and apparatus for using a bus having any topology is described. In the following description, many specific details are set forth, such as various computer components, to provide a thorough understanding of the present invention. It will ever however, it will be apparent to those skilled in the art that the present invention may be practiced without such specific details. In other instances, well-known control structures and coding techniques have not been described in detail so as not to unnecessarily obscure the present invention.

Überall in dieser detaillierten Beschreibung sind zahlreiche beschreibende Begriffe eingeführt, um der Beschreibung eine metaphorische Übersichtlichkeit bereitzustellen. Es werden zum Beispiel häufig Bezüge auf Eltern-Kind-Beziehungen zwischen den Knoten in einer gegebenen Topologie vorgenommen. Der Zweck dessen ist die Bereitstellung des Konzeptes der „Richtung" zum letztendlich aufgelösten Graphen. Wie beschrieben werden wird, wird es, sobald eine beliebige Topologie zu einem azyklischen gerichteten Graphen reduziert wurde, einen als den „Root"-Knoten bezeichneten Knoten geben. Der Root-Knoten wird keinen Elternknoten aufweisen. Alle logisch unmittelbar an den Root-Knoten angrenzenden Knoten sind die Kindknoten des Root-Knoten. Die „Baum"-Metapher wird durch die Einbeziehung von als „Zweige" und „Blätter" bezeichneten Knoten vervollständigt.Everywhere in These detailed descriptions are numerous descriptive Terms introduced to to provide a metaphorical overview of the description. For example, they are common covers on parent-child relationships between the nodes in a given Topology made. The purpose of this is to provide the concept the "direction" to the end resolved Graph. As will be described, it will, as soon as any Topology has been reduced to an acyclic directed graph, one referred to as the "root" node Give knots. The root node will not have a parent node. All nodes immediately adjacent to the root node are the child nodes of the root node. The "tree" metaphor is incorporated by inclusion of nodes called "branches" and "leaves" completed.

Obwohl die hierin beschriebene Bus-Architektur mit Bezug auf Komponenten für einen Einzelcomputer beschrieben ist, hat sie allgemein einen erweiterten Gültigkeitsbereich. Die vorliegende Erfindung zur Definition der Bus-Topologie kann auf jede beliebig zusammengestellte Sammlung von miteinander verbundenen Knoten angewendet werden, wie zum Beispiel in einem Netzwerk von Einrichtungen. Ein anzumerkender Punkt ist die Notwendigkeit der Unterscheidung eines Knotens von einer physikalischen Computerkomponente. Jede auf dem Bus befindliche Komponente wird mindestens einer Knotensteuereinrichtung der physikalischen Schicht zugeordnet. Unter bestimmten Bedingungen kann eine gegebene Komponente zweckmäßigerweise mehreren Knoten zugeordnet sein. Im Normalfall wird es jedoch eine eineindeutige Übereinstimmung zwischen den Einrichtungen oder Komponenten auf dem Bus und den Knoten geben.Even though the bus architecture described herein with respect to components for one Single computer is described, it generally has an extended Scope. The present invention for defining the bus topology may on any collection of interconnected collections Nodes are applied, such as in a network of Institutions. One point to note is the need for differentiation a node of a physical computer component. each on-the-bus component becomes at least one node controller assigned to the physical layer. Under certain circumstances For example, a given component may suitably have multiple nodes be assigned. Normally, however, it will be a one-to-one correspondence between the facilities or components on the bus and the Give knots.

Es wird jetzt auf 1 Bezug genommen, in der ein Blockdiagramm eines Knotens 10 veranschaulicht ist. Die physikalische Ausführung eines Knotens ist ziemlich beliebig. In der Ausführung des bevorzugten Ausführungsbeispiels der Erfindung sind die Knoten zur Einhaltung des IEEE P1394 High Performance Serial Bus – Kommunikationsprotokolls ausgelegt, das als Anhang A beigefügt ist. Der Knoten 10 umfasst eine Arbitrierungsautomatenlogik 11. Diese Arbitrierungsautomatenlogik enthält die gesamte Logikschaltung zur Ausführung der hierin zu beschreibenden Methoden und Algorithmen. Die Schaltung kann eine programmierbare logische Anordnung (PLA) aufweisen oder speziell zur Ausführung der hierin beschriebenen Funktionen ausgelegt sein. Sobald die durch die Knotenlogik auszuführenden Funktionen beschrieben sind, werden die Fachleute ohne übermäßiges Experimentieren in der Lage sein, die vorliegende Erfindung auszuführen. Der Knoten soll mittels seiner Logik das minimale Arbitrierungsprotokoll ausführen, das die Bus-Initialisierung, die Baum-Identifikation, die Selbstidentifikation und die Bus-Arbitrierungsfunktionen umfasst. Alle sind nachstehend ausführlich zu beschreiben.It will be up now 1 Reference is made to a block diagram of a node 10 is illustrated. The physical execution of a node is quite arbitrary. In the embodiment of the preferred embodiment of the invention, the nodes are designed to comply with the IEEE P1394 High Performance Serial Bus communication protocol, which is attached as Appendix A. The knot 10 includes an arbitration machine logic 11 , This arbitration engine logic contains the entire logic circuitry for carrying out the methods and algorithms to be described herein. The circuit may include a programmable logic device (PLA) or may be specifically designed to perform the functions described herein. Once the functions to be performed by the node logic are described, those skilled in the art will, without undue experimentation, be able to practice the present invention. The node, through its logic, is to execute the minimum arbitration protocol, which includes bus initialization, tree identification, self-identification, and bus arbitration functions. All are described in detail below.

Der in 1 gezeigte Knoten 10 umfasst außerdem Übertragungsmultiplexer 12 und 13 und eine Datensender-, Empfänger- und Neusynchronisierungs-Einrichtung 14. Der in 1 veranschaulichte Knoten ist mit dem lokalen Host 15 gekoppelt. Der lokale Host 15 kann irgendeine Einrichtung sein, die man mit dem Bus zu verbinden wünscht, wie zum Beispiel ein Plattenlaufwerk, eine CPU, eine Tastatur oder irgendeine andere Komponente, die mit anderen Komponenten im System kommunizieren muss. Der Knoten 10 kommuniziert über Kommunikationsverbindungen mit anderen Knoten. Eine Verbindung ist eine Kopplung zwischen zwei Ports und in unmittelbaren praktischen Begriffen ein Kabelsegment. Im Allgemeinen kann sie jedoch als irgendein physikalischer Kommunikationskanal ausgeführt werden. Eine Verbindung soll mindestens in der Lage sein, einen Halbduplex-Kommunikationskanal zwischen den beiden Ports bereitzustellen, die sie verbindet. Ein Port ist die Schnittstelle zwischen einem Knoten und einer Verbindung. Gemäß der vorliegenden Erfindung muss ein Port die Fähigkeit zum Senden und Empfangen von Daten und einer Arbitrierungssignalgebung aufweisen. Ein Port muss in der Lage sein, zu bestimmen, ob er über eine Verbindung mit einem anderen Port verbunden ist oder nicht. Ein Verfahren, das dies ermöglicht, ist das Anlegen einer Vorspannung über die Verbindung an die verbundenen Ports, die durch den Port am anderen Ende der Verbindung erfassbar ist. Wenn folglich ein Port eine angeschlossene Verbindung aufweist, die nicht mit einem Port am anderen Ende verbunden ist, eine offene Verbindung, wird der Port bestimmen, dass er kein verbundener Port ist. In 1 weist der veranschaulichte Knoten 10 drei externe Ports 21, 22 und 23 mit den Verbindungen 17, 18 beziehungsweise 19 auf.The in 1 shown knots 10 also includes transmission multiplexer 12 and 13 and a data transmitter, receiver and resynchronizer 14 , The in 1 illustrated node is with the local host 15 coupled. The local host 15 may be any device that one wishes to connect to the bus, such as a disk drive, a CPU, a keyboard, or any other component that needs to communicate with other components in the system. The knot 10 communicates via communication links with other nodes. A connection is a coupling between two ports and in practical terms a cable segment. In general, however, it can be implemented as any physical communication channel. A connection should at least be able to provide a half-duplex communication channel between the two ports connecting it. A port is the interface between a node and a connection. According to the present invention, a port must have the ability to send and receive data and arbitration signaling. A port must be able to determine if it is connected to another port or not. One method that allows this is to apply a bias voltage across the connection to the connected ports that is detectable by the port at the other end of the connection. Thus, if a port has a connected connection that is not connected to a port on the other end, an open connection, the port will determine that it is not a connected port. In 1 has the illustrated node 10 three external ports 21 . 22 and 23 with the connections 17 . 18 respectively 19 on.

Eine der Ausführungsregeln für Knoten zur Ausführung der vorliegenden Erfindung besteht darin, dass ein Knoten einen oder mehrere Ports haben kann. Ein Knoten soll zum Senden und Empfangen von Daten auf jedem seiner Ports in der Lage sein. Ein Knoten soll zum Empfangen von Daten auf jeweils genau einem seiner freigegebenen Ports in der Lage sein und zum erneuten Übertragen dieser Daten auf allen verbleibenden freigegebenen Ports in der Lage sein. Ein Knoten soll zum gleichzeitigen und unabhängigen Empfang und Senden von Signalgebungsnachrichten über alle seine Ports in der Lage sein. Für jeden Port eines Knotens sind getrennte Signalgebungs-Sende-Empfänger-Einrichtungen, Codierungseinrichtungen und Decodierungseinrichtungen erforderlich. Ein Knoten minimaler Ausführung erfordert keine lokale Host-Einrichtung. Ein derartiger Knoten kann zum Beispiel als eine Kabelerweiterung funktionieren. Von hierab werden Einrichtungen und lokale Hosts ignoriert und alle Verweise auf eine Bus-Topologie werden sich auf Knoten und Knotenverbindungen über verschiedene Ports beziehen.One of the execution rules for nodes for practicing the present invention is that a node may have one or more ports. A node should be able to send and receive data on each of its ports. A node should be able to receive data on exactly one of its shared ports and be able to retransmit that data on all remaining shared ports. A node is intended for simultaneous and independent reception and transmission of signals be able to transmit messages over all its ports. Each port of a node requires separate signaling transceiver devices, encoders and decoders. A minimum execution node does not require a local host facility. Such a node may, for example, function as a cable extension. From there, facilities and local hosts are ignored, and all references to a bus topology will refer to nodes and node connections through different ports.

Graphentransformationgraph transformation

2(a) und 2(b) veranschaulichen beliebig zusammengestellte Sammlungen von Knoten. Von hierab werden Knoten lediglich als Kreise dargestellt. Es wird jedoch angenommen, dass jeder Elemente enthält, die denen mit Bezug auf 1 beschriebenen entsprechen. Man beachte jedoch, dass jeder Knoten mehr oder weniger als die in dieser Fig. gezeigten drei externen Ports aufweisen kann. Die veranschaulichten Linien, die jeden der Knoten verbinden, sind das Verfahren, durch das Verbindungen gezeigt werden. Ports sind nicht veranschaulicht, sind aber impliziert, die Schnittstelle, über die sich eine Verbindung und ein Knoten verbinden. 2 (a) and 2 B) illustrate arbitrarily assembled collections of nodes. From here, nodes are shown as circles only. However, it is assumed that each contains elements related to those 1 correspond described. Note, however, that each node may have more or less than the three external ports shown in this figure. The illustrated lines connecting each of the nodes are the method by which connections are shown. Ports are not illustrated but are implied, the interface through which a connection and a node connect.

Die hier zu beschreibende Bus-Arbitrierungsmethode erfordert, dass die beliebige Topologie in einen azyklischen gerichteten Graphen aufgelöst wird. In einem Graphen beliebiger Topologie kann eine Sammlung von Knoten und Verbindungen einen Zyklus bilden. Ein Zyklus existiert, wenn es möglich ist, mittels einer Durchquerung von Verbindungen und Knoten nach dem Start von einem bestimmten Knoten im Graphen zum gleichen Knoten zurückzukehren, ohne dass irgendeine Verbindung zweimal durchquert wird. 2(a) veranschaulicht einen azyklischen Graphen, da keiner der veranschaulichten Knoten innerhalb einer Schleife verbunden ist. 2(b) ist jedoch kein azyklischer Graph, da der Bereich in der Zeichen-Box 25 eine Sammlung von Knoten 4047 enthält, die mehrere Zyklen bilden. Die zu beschreibende Bus-Arbitrierungsmethode erfordert, dass es keine Zyklen gibt. Daher wird nachstehend auch ein Verfahren eines Anwendereingriffs zur Auflösung von Zyklen beschrieben.The bus arbitration method described here requires that the arbitrary topology be resolved into an acyclic directed graph. In a graph of arbitrary topology, a collection of nodes and links can be one cycle. A cycle exists when it is possible to return to the same node by traversing links and nodes after starting from a particular node in the graph, without traversing any link twice. 2 (a) illustrates an acyclic graph because none of the illustrated nodes are connected within a loop. 2 B) however, is not an acyclic graph, as the range in the character box 25 a collection of nodes 40 - 47 contains, which form several cycles. The bus arbitration method to be described requires that there are no cycles. Therefore, a method of user intervention for resolution of cycles will be described below.

Zusätzlich zur Anforderung, dass ein Graph azyklisch ist, muss er auch gerichtet sein. Ein gerichteter Graph ist ein Graph, in dem eine hierarchische Anordnung zwischen benachbarten Knoten gebildet wurde. Zunächst gibt es zwischen den Knoten keine eingerichteten Eltern-Kind-Beziehungen. Das heißt, Knoten 31 kann zum Beispiel der „Elternknoten" für Knoten 34 oder der „Kindknoten" für Knoten 34 sein. Auf diese Weise ist es erforderlich, einen gegebenen Graphen beliebiger Topologie zu nehmen und in einen azyklischen und gerichteten Graphen zu transformieren. Das hier beschriebene Verfahren wird zur Ausführung dieser Transformation für jede gegebene, beliebige Topologie funktionieren, unabhängig von der Anzahl der Knoten oder ihrer physikalischen Verbindung und unabhängig von der Signalgebungsausbreitungszeit entlang der Verbindungen.In addition to the requirement that a graph be acyclic, it must also be directed. A directed graph is a graph in which a hierarchical arrangement has been formed between adjacent nodes. First, there are no parent-child relationships between the nodes. That is, knots 31 For example, the "parent node" may be for nodes 34 or the "child node" for nodes 34 be. In this way, it is necessary to take a given graph of arbitrary topology and transform it into an acyclic and directed graph. The method described here will function to perform this transformation for any given topology, regardless of the number of nodes or their physical connection, and regardless of the signaling propagation time along the links.

Knoten-KommunikationNode communication

Zunächst wird der Transformationsprozess eines azyklischen Graphen beliebiger Topologie in einen gerichteten Graphen beschrieben. Es wird der Fall folgen, bei dem die Auflösung eines Zyklus erforderlich ist. 3(a) zeigt den beliebigen Graphen von 2(a), in dem die Knoten und die Verbindungen Statuskennzeichnungen aufweisen und die kommunizierten Signale für den Graphentransformationsprozess zur Ausrichtung eines Graphen angegeben sind. Es ist an diesem Punkt aufschlussreich, die Signalkommunikation zwischen den Knoten zu beschreiben. 3(b) veranschaulicht zwei durch die Verbindung 52 gekoppelte Knoten 50 und 51 (nachstehend Knoten A beziehungsweise Knoten B). Wie beschrieben, ist die Verbindung der Kommunikationskanal, der die Sender-Empfängerports der entsprechenden Knoten wie vorstehend mit Bezug auf 1 beschrieben koppelt. Während des Graphentransformationsprozesses wird für die Knoten die Bildung von Eltern-Kind-Beziehungen mit benachbarten Knoten erforderlich. Zwei Knoten gelten als benachbarte Knoten, wenn es mindestens eine zwischen einem Port des ersten Knotens und einem Port des zweiten Knotens gebildete Verbindung gibt. In den 3(b)3(d) wird angenommen werden, dass die aufzulösende Beziehung darin besteht, dass der Knoten B der Eltern von Knoten A ist und dass die Bildung dieser Beziehung für die Knoten geeignet ist.First, the transformation process of an acyclic graph of arbitrary topology into a directed graph will be described. It will be followed by the case where the resolution of a cycle is required. 3 (a) shows the arbitrary graph of 2 (a) in which the nodes and the links have status labels and the communicated signals are given to the graph transformation process to align a graph. It is instructive at this point to describe the signal communication between the nodes. 3 (b) illustrates two through the connection 52 coupled knots 50 and 51 (hereinafter node A or node B). As described, the connection is the communication channel comprising the transmitter-receiver ports of the respective nodes as described above with reference to FIG 1 described coupled. During the graph transformation process, the nodes will require the formation of parent-child relationships with neighboring nodes. Two nodes are considered adjacent nodes if there is at least one connection formed between a port of the first node and a port of the second node. In the 3 (b) - 3 (d) It will be assumed that the relationship to be resolved is that node B is the parent of node A and that the formation of this relationship is appropriate for the nodes.

Wenn es vor der Bildung einer Richtung für den Knoten A geeignet ist, Knoten B als seinen Elternknoten einzurichten, wird der Knoten A von seinem mit der Verbindung 52 gekoppelten Port das Signal „Du bist mein Elternknoten" (YAMP) übertragen. Der Inhalt dieser Nachricht kann irgendeine Form annehmen, solange der Knoten A weiß, dass er YAMP signalisiert und der Knoten B in der Lage ist zu verstehen, dass die empfangene Nachricht YAMP ist. Wenn das YAMP-Signal 53 von Knoten B empfangen wird, wird Knoten B Knoten A durch das Senden von „Du bist mein Kindknoten" (YAMC) über die Verbindung 52 zu Knoten A antworten. Die Arbitrierungsautomatenlogik 11 von Knoten A wird die Zeitverzögerung zwischen dem Senden des YAMP-Signals 53 und dem Empfang des YAMC-Signals 54 beobachten. Die gemessene Zeit kennzeichnet die doppelte Ausbreitungsverzögerung zwischen den Knoten A und B. Bei Empfang des YAMC-Signals wird der Knoten A mit einem „Du bist mein bestätigter Kindknoten"(YAMCA)-Signal 55 antworten. Dies stellt Knoten B ebenfalls die Fähigkeit zur Bestimmung der Ausbreitungszeitverzögerung zwischen den Knoten bereit, die gleich der Zeitverzögerung zwischen dem Senden von YAMC und dem Empfang von YAMCA ist. Für Halbduplex-Kommunikationsverbindungen hat die YAMCA-Nachricht auch den Effekt der richtigen Orientierung des Kommunikationskanals.If it is appropriate for node A to establish node B as its parent node prior to the establishment of a direction, node A will become disconnected from it 52 The content of this message may take some form as long as node A knows that it is signaling YAMP and node B is able to understand that the message being received is YAMP If the YAMP signal 53 from node B, node B becomes node A by sending "you are my child node" (YAMC) over the connection 52 answer to node A. The arbitration machine logic 11 from node A, the time delay between the transmission of the YAMP signal 53 and receiving the YAMC signal 54 observe. The measured time indicates twice the propagation delay between nodes A and B. Upon receipt of the YAMC signal, node A becomes a "you are my acknowledged child node" (YAMCA) signal 55 reply. This also gives node B the ability to determine the off time delay between the nodes equal to the time delay between the transmission of YAMC and the reception of YAMCA. For half duplex communication links, the YAMCA message also has the effect of correctly orienting the communication channel.

Für Vollduplex-Kommunikationskanäle können die drei logischen Nachrichten YAMP, YAMC und YAMCA alternativ durch nur zwei Signalübertragungen weitergeleitet werden. In 3(c) ist diese Situation veranschaulicht, in der der Knoten A das YAMP-Signal 56 kontinuierlich anlegt, bis er das Rückgabesi gnal YAMC 57 empfängt. Das YAMCA-Signal wird logisch zu Knoten B übertragen, wenn erfasst wird, dass das YAMP-Signal nicht mehr eintrifft.For full-duplex communication channels, the three logical messages YAMP, YAMC and YAMCA can alternatively be forwarded by only two signal transmissions. In 3 (c) This situation is illustrated in which node A is the YAMP signal 56 continuously applies until it receives the return signal YAMC 57 receives. The YAMCA signal is logically transmitted to node B when it is detected that the YAMP signal is no longer arriving.

Die Verwendung dieses beschriebenen dreifachen asynchronen Nachrichtenaustausches stellt einen Mechanismus bereit, durch den beide in den Nachrichtenaustausch eingebundene Knoten die Ausbreitungszeitverzögerung durch die Verbindung bestimmen können. Dieser Verzögerungswert wird bei der Auflösung von hierab weiter zu beschreibenden Konkurrenzsituationsereignissen, wie auch während der normalen Busarbitrierung zur Optimierung der Busleistungsfähigkeit verwendet. Die dynamische Auskopplung dieses Parameters ist nicht zwingend erforderlich. Als eine Alternative kann auf Kosten der optimalen Leistungsfähigkeit des Busses eine maximale Ausbreitungszeitverzögerung a priori definiert werden.The Use of this described triple asynchronous message exchange provides a mechanism through which both in the message exchange embedded nodes determine the propagation time delay through the connection can. This delay value will at the resolution from contention events to be further described hereinafter, as well as during normal bus arbitration to optimize bus performance used. The dynamic decoupling of this parameter is not absolutely necessary. As an alternative, at the expense of optimal performance of the bus a maximum propagation time delay a priori be defined.

Sobald die Knoten A und B Nachrichten zur Kennzeichnung ausgetauscht haben, dass Knoten B der Elternknoten von Knoten A ist, kann die Verbindung als gerichtet gelten. Innerhalb seiner Logik bezeichnet Knoten A seinen Port, mit dem die Verbindung 52 gekoppelt ist, als einen Elternport (er spricht zu einem Elternknoten) und Knoten B bezeichnet seinen Port, mit dem die Verbindung 52 gekoppelt ist, als einen Kindport (er spricht zu einem Kindknoten). Das Beibehalten der von den Ports erhaltenen Bezeichnungen ist wichtig, da die nachstehend zu beschreibenden Verfahren anhand der den Knoten und Ports zu einem festgelegten Zeitpunkt zugewiesenen Bezeichnungen dargestellt werden. Eine Kurzform einer grafischen Notation ist in 3(d) veranschaulicht, in der der Richtungspfeil 58 anzeigt, dass der Knoten B als Elternknoten von Knoten A gebildet und die Verbindung gerichtet ist.Once nodes A and B have exchanged tags for identification that node B is the parent node of node A, the connection may be considered addressed. Within its logic, node A denotes its port, with which the connection 52 is coupled as a parent port (he speaks to a parent node) and node B identifies his port to which the connection 52 coupled as a child port (he speaks to a child node). Maintaining the names obtained from the ports is important because the methods to be described below are illustrated by the designations assigned to the nodes and ports at a set time. A shorthand of a graphical notation is in 3 (d) illustrated in which the directional arrow 58 indicates that node B is formed as the parent node of node A and the connection is directed.

Richtungsbestimmungdirection determination

Es wird erneut auf 3(a) und die Verarbeitungs-6(a)6(e) Bezug genommen. Jetzt wird das Verfahren der Ausrichtung der gesamten, beliebigen Topologie beschrieben. Zur Unterstützung der Erläuterung des Topologietransformationsprozesses ist die Einführung von ein paar weiteren anschaulichen Definitionen notwendig. Zuerst wird ein „Blatt"-Knoten als ein Knoten mit nur einem verbundenen Port definiert. Ein Knoten erkennt seinen Status als ein Blattknoten, sobald er nach dem Einschalten oder einer anderen Businitialisierung initialisiert wird. Ein „Zweig"-Knoten ist ein Knoten, der mindestens zwei verbundene Ports aufweist. Über alle bis auf einen der verbundenen Ports wird ein Zweigknoten das YAMP-Signal empfangen haben und es bestätigt haben. Über seinen verbleibenden Port hat ein Zweigknoten das YAMP-Signal gesendet. Dadurch wird eingerichtet, dass er einen Elternknoten aufweist. Ein Knoten erreicht keinen Zweigstatus, bis er eingerichtet hat, dass er einen Elternknoten aufweist (ein Knoten kann nur einen Elternknoten aufweisen) und alle seine anderen Ports mit Kindknoten verbunden sind. Vor dem Erreichen des Zweigstatus wird ein Knoten als ein „Zyklus"-Knoten angesehen, da bis zur seiner Bestimmung als Zweig die Möglichkeit besteht, dass der Knoten Teil eines Zyklus ist, der die Bildung einer Richtung unmöglich macht.It will be up again 3 (a) and the processing 6 (a) - 6 (e) Referenced. Now the process of aligning the entire arbitrary topology is described. To help explain the topology transformation process, it is necessary to introduce a few more descriptive definitions. First, a "leaf" node is defined as a node with only one connected port A node recognizes its status as a leaf node as soon as it is initialized after power-up or other bus initialization has at least two connected ports. Over all but one of the connected ports, a branch node will have received the YAMP signal and confirmed it. Over its remaining port, a branch node sent the YAMP signal. This establishes that it has a parent node. A node does not reach a branch state until it has established that it has a parent node (a node can only have one parent node) and all its other ports are connected to child nodes. Prior to reaching the branch status, a node is considered to be a "cycle" node because, until it is designated as a branch, there is the possibility that the node is part of a cycle that makes the formation of a direction impossible.

Das Graphentransformationsverfahren beginnt in Schritt 60 bei der Businitialisierung (beim Einschalten oder auf Veranlassung), zu welchem Zeitpunkt die Blattknoten in der beliebigen Topologie in Schritt 61 sich erkennen und durch eine Bestimmung im Entscheidungssymbol 66, dass sie nur einen verbundenen Port haben, sich selbst in Schritt 68 als Blattknoten kennzeichnen. In dem in 3(a) anschaulich dargestellten Graphen sind die Knoten 33, 35, 36 und 37 Blattknoten, die sobald sie initialisiert sind, jeweils in Schritt 69 über ihren einzigen verbundenen Port das YAMP-Signal zu ihrem benachbarten Knoten übertragen. Die diese Signale empfangenden Knoten werden dann in Schritt 70 die YAMC-Signale zu den Blattknoten zurück verteilen. Auf diese Weise wird für die gegebene Verbindung zwischen den entsprechenden Eltern-Kind-Paaren eine Richtung gebildet, wenn die YAMCA-Kommunikation beendet ist. In Schritt 71 bezeichnet jeder Blattknoten seinen einzigen verbundenen Port als einen Elternport und jeden Empfangsport am Elternknoten wird als ein Kindport bezeichnet.The graph transformation process begins in step 60 at bus initialization (at power up or on cause), at what time the leaf nodes in any topology in step 61 recognize yourself and by a determination in the decision symbol 66 that they only have one connected port, themselves in step 68 mark as leaf node. In the in 3 (a) Graphically represented graphs are the nodes 33 . 35 . 36 and 37 Leaf nodes, once initialized, each in step 69 transmit the YAMP signal to its neighboring node via its single connected port. The nodes receiving these signals will then be in step 70 distribute the YAMC signals back to the leaf nodes. In this way, a direction is established for the given connection between the corresponding parent-child pairs when the YAMCA communication is finished. In step 71 Each leaf node designates its single connected port as a parent port and each receive port on the parent node is referred to as a child port.

Die Knoten auf dem Graphen, die zunächst keine Blattknoten sind, werden zunächst aus dem oben beschriebenen Grund als „Zyklusknoten" angesehen und laufen gemäß dem Zyklusknotenverfahren 63 ab. Jeder Zyklusknoten, der alle bis auf einen seiner verbundenen Ports als Kindports bezeichnet hat, breitet dann in Schritt 85 das YAMP-Signal von seinem verbleibenden, nicht bezeichneten Port aus. Wenn diese Richtung für die Verbindung gebildet ist, wird der Zyklusknoten als ein Zweigknoten bezeichnet. Nachdem der Blattknoten 37 Knoten 34 als seinen Elternknoten gebildet hat, weist folglich Knoten 34 nur einen nicht bezeichneten Port auf (er hat den Verbindungsaufbau zu Knoten 37 als über einen Kindport verlaufend bezeichnet). Daher sendet der Knoten 34 das YAMP-Signal zu Knoten 31. Dies führt dazu, dass Knoten 34 ein Zweigknoten wird. Sobald Knoten 31 identifiziert hat, dass die Knoten 33 und 34 seine Kinder sind, sendet Knoten 31 ebenso das YAMP-Signal zu Knoten 30. Wenn ein Knoten im Entscheidungssymbol 75 über alle seine Ports das YAMP-Signal empfangen hat, wird der Knoten der Root-Knoten. Nachdem Knoten 30 in 3(a) die YAMP-Signale von den Knoten 31 und 32 empfangen hat, ändert sich seine Bezeichnung von der eines Zyklusknotens zu der eines Root-Knotens. Im Graphen von 3(a) ist es nicht notwendigerweise der Fall, dass Knoten 30 zum Root-Knoten werden würde. Wenn einige der Verbindungen im Baum große Ausbreitungsverzögerungen bereitgestellt hätten, könnte Knoten 30 ein YAMP-Signal auf einem Port empfangen und dann ein YAMP-Signal über seinen anderen Port gesendet haben. Jeder der Knoten kann zum Root-Knoten werden, selbst ein Blatt. Die Rooteigenschaft hat Priorität. 3(e) zeigt den sich ergebenden gerichteten Graphen als Reaktion auf die in 3(a) gezeigten, kommunizierten Signale. Dabei ist jeder Knoten bezeichnet und die Richtungen sind durch dunkle Pfeile markiert.The nodes on the graph that are not initially leaf nodes are initially considered "cycle nodes" for the reason described above and run according to the cycle node method 63 from. Each cycle node that has named all but one of its connected ports as child ports then propagates in step 85 YAMP signal from its remaining, unsigned port. When this direction is established for the connection, the cycle node is referred to as a branch node. After the leaf node 37 node 34 has formed as its parent node, thus knots 34 only an unspecified port (it has the connection to nodes 37 than about one Child port running). Therefore, the node sends 34 the YAMP signal to node 31 , This causes nodes 34 becomes a branch node. As soon as knot 31 has identified that the nodes 33 and 34 his children are sending knots 31 as well as the YAMP signal to node 30 , If a node in the decision icon 75 Through all its ports the YAMP signal has been received, the node becomes the root node. After knots 30 in 3 (a) the YAMP signals from the nodes 31 and 32 its name changes from that of a cycle node to that of a root node. In the graph of 3 (a) It is not necessarily the case that node 30 would become the root node. If some of the connections in the tree had provided large propagation delays, then node could 30 received a YAMP signal on one port and then sent a YAMP signal over its other port. Each of the nodes can become the root node, even a leaf. The role property has priority. 3 (e) shows the resulting directional graph in response to the in 3 (a) shown, communicated signals. Each node is labeled and the directions are marked by dark arrows.

Root-KonkurrenzsituationRoot competition

Unter bestimmten Umständen kann eine Root-Konkurrenzsituation auftreten. Dies kann zum Beispiel in dem Fall auftreten, in dem die beliebige Topologie eine symmetrische Anordnung aufweist, wie zum Beispiel die in 4 gezeigte. In dem in 4 veranschaulichten beliebigen Graphen haben sich die Knoten 160 und 161 jeweils als Eltern für die beiden Blattknoten eingerichtet, mit denen sie gekoppelt sind. Dann hat jeder etwa zum gleichen Zeitpunkt das YAMP-Signal zum anderen verbreitet. Die Root-Konkurrenzsituation wird von beiden betroffenen einbezogenen Knoten im Entscheidungssymbol 86 erkannt. Jeder Knoten empfängt ein Signal, das ihn als einen Elternknoten festlegt, während er das gleiche Signal über den gleiche Port gesendet hat. Jeder der konkurrierenden Knoten antwortet in Schritt 91 dem anderen mit dem YAMC-Signal. Dies gestattet jedem die „Entscheidungszeitperiode" zu bestimmen, die gleich dem Doppelten der Ausbreitungszeit zwischen den Knoten ist.Under certain circumstances, a root contention situation may occur. This may occur, for example, in the case where the arbitrary topology has a symmetric arrangement, such as those in FIG 4 . shown In the in 4 Any graphs illustrated have the nodes 160 and 161 each set up as parents for the two leaf nodes to which they are coupled. Then everyone spread the YAMP signal to the other at about the same time. The root contention situation is affected by both involved nodes in the decision symbol 86 recognized. Each node receives a signal that designates it as a parent node while sending the same signal over the same port. Each of the competing nodes responds in step 91 the other with the YAMC signal. This allows each to determine the "decision time period" equal to twice the propagation time between the nodes.

Die Root-Konkurrenzsituation wird durch die Verwendung eines Zufallsentscheidungsmechanismus aufgelöst, der in jeder Arbitrierungsautomatenlogikeinheit 11 jedes Knotens enthalten ist. Für jede ablaufende „Entscheidungszeitperiode" wird jeder Knoten in Schritt 92 zufällig entscheiden (mit einer 50%-igen Wahrscheinlichkeit), ob er erneut das YAMP-Signal zum anderen überträgt. Nahezu sicher wird sich ein Knoten innerhalb einer endlichen Anzahl von Zyklen entscheiden, den anderen als seinen Elternknoten festzulegen, ohne dass dieser erwidert. Der als der Elternknoten festgelegte Knoten wird in Schritt 95 der Root-Knoten. Alternativ können Knoten vorher festgelegte Werte für die Auswahlkriterien zugewiesen werden. Der Größere oder Kleinere bestimmt, welcher bei einem Konkurrenzsituationsereignis dominiert. Obwohl die dynamische Bestimmung der „Entscheidungszeitperiode" eine optimale Leistungsfähigkeit bietet, ist sie bei der Ausführung der vorliegenden Erfindung nicht erforderlich. Als Alternative kann eine a priori definierte „Entscheidungszeitperiode" verwendet werden, solange sie größer als die ungünstigste, in irgendeinem diesen Algorithmus verwendenden Bus anzutreffende Verbindungsausbreitung ist. Das gleiche, zur Auflösung von Root-Konkurrenzsituationen verwendete Verfahren wird auch zur Auflösung anderer, nachfolgend beschriebener Konkurrenzsituationsereignisse verwendet.The root contention situation is resolved by the use of a random decision mechanism, which in each arbitration automaton logic unit 11 every node is included. For each expiring "decision time period", each node in step 92 randomly decide (with a 50% chance) whether to retransmit the YAMP signal to the other one. Almost certainly, within a finite number of cycles, a node will choose to commit the other as its parent node without responding. The node set as the parent node will be in step 95 the root node. Alternatively, nodes can be assigned predefined values for the selection criteria. The larger or smaller one determines which dominates in a contention event. Although dynamic determination of the "decision time period" provides optimum performance, it is not required in the practice of the present invention. "As an alternative, an a priori defined" decision time period "may be used as long as it is greater than the worst case bus used in any algorithm is encountered connection propagation. The same method used to resolve root contention situations is also used to resolve other contention events described below.

Root-ZuweisungRoot Assignment

Wie vorstehend beschrieben, ist das Resultat des Graphentransformationsprozesses die Zuweisung des Rootattributes zu genau einem Knoten im Graphen. Der Root-Knoten wird im zu beschreibenden Busarbitrierungsschema die endgültige Entscheidung haben. Er kann daher ohne eine Verwendung von speziellen Prioritätszeitlücken mit maximaler Priorität auf den Bus zugreifen. Es ist oft wünschenswert in der Lage zu sein, zur Optimierung eines gegebenen Systems einem vorher festgelegten Knoten entweder bei seiner Herstellung oder dynamisch (während der Laufzeit) die Rooteigenschaft zuzuweisen. Ein gegebener Bus kann einen Knoten umfassen, der eine isochrone Datenüber tragung erfordert. Isochrone Daten sind Daten, die zu einem festgelegten Zeitpunkt übertragen werden müssen, um von Wert zu sein. Zum Beispiel muss Musik von einer CD in der zu hörenden Reihenfolge und ohne signifikante Verzögerungen übertragen und ausgegeben werden. Im Gegensatz dazu können Datendateien stückweise übertragen werden und müssen nicht notwendigerweise in der Reihenfolge übertragen werden.As described above is the result of the graph transformation process the assignment of the root attribute to exactly one node in the graph. The root node will be described in the bus arbitration scheme the final Have a decision. He can therefore without a use of special Priority time gaps with maximum priority access the bus. It is often desirable to be able to be to a given node to optimize a given system either in its manufacture or dynamically (during the Runtime) to assign the Roots property. A given bus can comprise a node requiring isochronous data transmission. isochronous Data is data that is transmitted at a specified time have to be around to be of value. For example, music from a CD in the too hearing Order and without significant delays being transmitted and output. In contrast, you can Transfer data files piecemeal and not have to necessarily be transmitted in the order.

Knoten können in Bezug auf die Rootbezeichnungen in drei Kategorien eingeteilt werden. Diese Bezeichnungen können während der Herstellung durch eine feste Verdrahtung der Bezeichnung in der Einrichtung, durch eine Programmierung der Arbitrierungsautomatenlogik oder durch eine Software einer höheren Ebene vorgesehen werden, die die Entscheidung trifft und dann unter Beibehaltung dieser Entscheidung einen Neustart initiiert. Die drei Bezeichnungen, die einem Knoten in Bezug auf seine Bezeichnung als Root zugewiesen werden können, sind: Knoten, die kein Root-Knoten sein wollen, Knoten, die ein Root-Knoten sein können (sollten), und Knoten, die ein Root-Knoten sein sollen. Diese Bezeichnungen werden in den Schritten 81 und 83 geprüft. Ein in der ersten Kategorie bezeichneter Knoten wird das Graphentransformationsverfahren beginnen, sobald er dazu angewiesen wird. Dies wird üblicherweise unmittelbar nach dem Beenden des Businitialisierungsverfahrens erfolgen. Ein Knoten der zweiten Kategorie wird den Start des Graphentransformationsverfahrens um einen vorher festgelegten Zeitbetrag verzögern, nachdem er zum Start des Verfahrens in Schritt 84 angewiesen wurde. Durch diese Verzögerung erhöht der Knoten seine Aussicht, Root-Knoten zu werden. (Aufgrund der Verzögerung ist die Ausbreitung der YAMP-Signale zu ihm wahrscheinlicher.) Trotz der hinzugefügten Verzögerung ist es immer noch möglich, dass ein „Kann Root sein"-Knoten nicht mit seiner Bezeichnung als Root enden wird. Dies wird von der gegebenen Topologie und den Ausbreitungsverzögerungen der Nachrichten abhängen. Der Betrag der Verzögerung kann während des Designs so definiert werden, dass er größer als eine angemessene ungünstigste Ausbreitungsverzögerung über einen ziemlich komplexen Graphen ist.Nodes can be classified into three categories in terms of root names. These designations may be provided during manufacture by hard-wiring the designation in the device, by programming the arbitration automation logic, or by higher level software that makes the decision and then initiates a restart while maintaining that decision. The three names that can be assigned to a node in terms of its root designation are: nodes that do not want to be root nodes, nodes that can (should) be a root node, and nodes that have a root node Should be knots. These terms will be in the steps 81 and 83 ge reviewed. A node designated in the first category will begin the graph transformation process as soon as instructed to do so. This will usually be done immediately after completing the bus initialization procedure. A node of the second category will delay the start of the graph transform process by a predetermined amount of time after it starts to process in step 84 was instructed. This delay increases the node's chance of becoming root nodes. (Due to the delay, the propagation of the YAMP signals to it is more likely.) Despite the added delay, it is still possible that a "can not be root" node will end up with its root name, as determined by the given topology The amount of delay may be defined during the design to be greater than a reasonable worst propagation delay over a fairly complex graph.

Ein Knoten der dritten Kategorie der Rootbezeichnungsmöglichkeiten kann nur die Tatsache erkennen, dass er der Root-Knoten sein muss, nachdem der Graph bereits transformiert wurde und sich alle Knoten selbst identifiziert haben. Diese Bestimmung kann die Arbitrierungsautomatenlogik oder eine auf dem Host-System ablaufende Software vornehmen. Wenn dies auftritt, vereinbart der Knoten, der der Root-Knoten sein muss, mit allen anderen Knoten auf dem Bus, dass er der einzige Root-Knoten sein wird und startet den Graphentransformationsprozess durch eine Signalgebung eines hier weiter beschriebenen, preemptiven Businitialisierungssignals neu. Der Knoten wartet dann in Schritt 82 darauf, Root-Knoten zu werden und nimmt an der Graphentransformation nicht teil, bis er an allen seinen Ports das YAMP-Signal empfangen hat. Auf diese Weise erzwingt er seine Bezeichnung als Root.A node of the third category of root naming capabilities can only recognize the fact that it must be the root node after the graph has already been transformed and all nodes have identified themselves. This determination may be made by the arbitration engine logic or software running on the host system. When this occurs, the node, which must be the root node, agrees with all other nodes on the bus that it will be the sole root node and restarts the graph transformation process by signaling a preemptive bus initialization signal, further described herein. The node then waits in step 82 to become root node and does not participate in the graph transformation until it has received the YAMP signal on all its ports. In this way, he enforces his name as root.

Sobald der Root-Knoten bestimmt wurde, kann der Graph als gerichtet gelten. Es gibt eine definierte Beziehung, die zwischen allen benachbarten Knoten auf dem Graphen existiert.As soon as the root node has been determined, the graph may be considered directional. There is a defined relationship between all neighboring nodes exists on the graph.

Zyklusauflösungcycle resolution

Die oben beschriebenen Verfahren zur Ausrichtung eines Graphen werden nur für einen azyklischen Graphen funktionieren. Wenn es in der beliebigen Topologie Zyklen gibt, müssen sie durch das in Schritt 80 beginnende Verfahren unterbrochen werden. Die Existenz eines Zyklus wird in Schritt 79 erfasst, wenn nach dem Ablauf eines vorher festgelegten Timeout- bzw. Zeitüberwachungs-Periode ein Knoten immer noch als Zyklusknoten anstatt als Blatt, Zweig oder Root bezeichnet wird. Die Zeitsteuerung zur „Zykluserfassung" beginnt unmittelbar nach dem Ende der Businitialisierungsfunktion. Die Timeout-Periode muss nicht länger als die ungünstigste Dauer des Graphentransformationsprozesses sein (unter Hinzufügung der Verzögerungszeit für einen „Kann Root sein"-Knoten und ein mögliches Root-Konkurrenzsituationsereignis).The graphene alignment methods described above will only work for an acyclic graph. If there are cycles in any topology, they must go through that in step 80 beginning procedures are interrupted. The existence of a cycle is in step 79 detected when, after the lapse of a predetermined timeout period, a node is still referred to as a cycle node rather than a leaf, branch or root. The "cycle detect" timing begins immediately after the bus initialization function ends, and the timeout period need not be longer than the worst duration of the graph transform process (adding the delay time for a "can be root" node and a possible root contention event).

Das „Zykluserfassungs-Timeout-Ereignis" muss nicht synchron für alle Knoten eines Graphen auftreten, da alle Nachrichtenvermittelungen asynchrone Ereignisse sind. Daher ist für einen Knoten, der noch nicht sein „Zykluserfassungs-Timeout-Ereignis" erreicht hat, der Empfang einer Nachricht möglich, die eine laufende Zyklusauflösung anzeigt. Ein derartiger Knoten wird sein Zykluserfassungs-Timeout-Intervall abbrechen und den entsprechenden Zyklusauflösungsprozess beginnen.The "cycle detection timeout event" does not have to be synchronous for all Nodes of a graph occur because all message exchanges are asynchronous events. Therefore, for a node that is not yet has reached its "cycle detection timeout event", the Reception of a message possible, the one running cycle resolution displays. Such a node becomes its cycle detection timeout interval and start the appropriate cycle resolution process.

Das Verfahren der Zyklusauflösung gemäß der vorliegenden Erfindung erfordert ein Eingreifen des Anwenders der zusammengestellten Knotensammlung. Wenn ein Knoten auf ein Timeout der „Zykluserfassung" trifft, kann der Systemanwender in Schritt 100 von 6(a) über eine Ausgabeeinrichtung benachrichtigt werden, dass ein Zyklus existiert und welche Knoten einbezogen sind. Der Anwender wird dann angewiesen, zur Eliminierung gleich welcher vorhandenen Zyklen Verbindungen zu trennen. Der Anwender wird dann die Steuerung an das Graphentransformationsverfahren zurückgeben.The method of cycle resolution according to the present invention requires intervention of the user of the compiled node collection. When a node encounters a "cycle capture" timeout, the system user may, in step 100 from 6 (a) be notified via an output device that a cycle exists and which nodes are involved. The user is then instructed to disconnect to eliminate any existing cycles. The user will then return control to the graph transformation process.

Sobald jede der Schleifen unterbrochen ist und keine Zyklen verbleiben, kann das Verfahren zur Transformation des Graphen, wie es in den vorherigen Abschnitten beschrieben ist, fortsetzen bis der gesamte Graph sowohl azyklisch als auch gerichtet ist.As soon as each of the loops is interrupted and no cycles remain, can be the method of transformation of the graph, as in the previous sections, continue until the whole Graph is both acyclic and directed.

Eindeutige physikalische AdresszuweisungUnique physical address assignment

Sobald ein gerichteter azyklischer Graph von der ursprünglichen, beliebigen Topologie gebildet wurde, ist die Zuweisung von eindeutigen physikalischen Adressen zu jedem Knoten auf dem Graphen möglich. Dieses Verfahren beginnt damit, dass alle Blattknoten den Bus durch die Übertragung des Busanforderungs(BR)-Signals über ihren einzigen verbundenen Port anfordern. Der das Signal empfangende Elternknoten wird bis zum Empfang des BR-Signals von allen seinen Kindports warten und dann das BR-Signal zu seinem Elternknoten ausbreiten. Die BR-Signale werden sich durch den Graphen ausbreiten, bis der Root-Knoten das BR-Signal von allen seinen Kindern empfangen hat. Sobald der Root-Knoten eine Busanforderung über alle seine Kindports empfangen hat, wird er eine Entscheidung zur Gewährung des Busses über einen Port treffen und ein Busverweigerungs(BD)-Signal über seine verbleibenden Kindports ausbreiten. Das Verfahren zur Auswahl, welche Busanforderung zu gewähren ist, kann eine a priori – Entscheidung sein, wie zum Beispiel die vorstehend beschriebene, bei der zum Beispiel Ports von links nach rechts oder basierend auf einer Portnummerierung etc. ausgewählt werden. Das Busgewährungs(BG)-Signal wird von dem Root-Knoten zu seinem anfordernden Kind übertragen. wenn dieses anfordernde Kind selbst ein Elternknoten ist, der die Busanforderung eines seiner Kinder verbreitet hat, wird er das Busverweigerungs-Signal über alle außer einen seiner Kindports in der gleichen vorher festgelegten, vorstehend beschriebenen Art und Weise senden. Schließlich wird ein Blattknoten das Busgewährungs-Signal empfangen, auf das er mit einem Busgewährung-Bestätigt(BGA)-Signal antworten wird, das zurück zum Root-Knoten ausgebreitet wird. Die Ausbreitung der BD- und BGA-Signale dient der Orientierung der Kommunikations verbindungen, was im Falle von Halbduplex-Kommunikationskanälen notwendig sein kann. Alle verweigerten Knoten werden dann auf eine Aktivität des Knoten warten, der letztendlich das BG-Signal empfängt.Once a directed acyclic graph is formed from the original, arbitrary topology, the assignment of unique physical addresses to each node on the graph is possible. This process begins with all leaf nodes requesting the bus through the transmission of the Bus Request (BR) signal over their single connected port. The parent node receiving the signal will wait for all of its child ports to receive the BR signal and then propagate the BR signal to its parent node. The BR signals will propagate through the graph until the root node has received the BR signal from all its children. Once the root node has received a bus request across all of its child ports, it will make a decision to grant the bus over a port and propagate a bus denial (BD) signal over its remaining child ports. The procedure to choose which bus request to grant may be an a priori decision, such as that described above, in which, for example, ports are selected from left to right or based on port numbering, etc. The bus grant (BG) signal is transmitted from the root node to its requesting child. If this requesting child is itself a parent node that has propagated the bus request of one of his children, he will send the bus refusal signal over all but one of his child ports in the same predetermined manner described above. Finally, a leaf node will receive the bus grant signal, to which it will respond with a bus grant acknowledged (BGA) signal which is propagated back to the root node. The propagation of the BD and BGA signals serves to orient the communication links, which may be necessary in the case of half-duplex communication channels. All denied nodes will then wait for an activity of the node which will eventually receive the BG signal.

Der Knoten, dem letztendlich ein Zugriff auf den Bus gewährt wurde, wird ein Adresszuweisungspaket übertragen. Der Knoten wird dieses Paket auf den Bus übertragen und es wird von allen anderen Knoten empfangen werden, von denen jeder die Anzahl der von ihnen empfangenen Adresspakete zählen wird. Das übertragene Adresspaket kann irgendwelche beliebigen Informationen aufweisen. Die eindeutige physikalische Adresse eines Knotens wird auf der Anzahl der Adresspakete basieren, die ein Knoten gezählt hat, bevor er ein Adresspaket überträgt. Folglich werden keine zwei Knoten die gleiche physikalische Adresse erhalten, obwohl ihnen keine Adressinformationen im Voraus zugewiesen wurde. Die tatsächliche Zusammensetzung des Adresspaketes ist beliebig und kann jeder durch das System effizient verwendbare Bit-Strom sein. Nach der Übertragung des Zuweisungspakets der physikalischen Adresse wird ein Knoten ein „Kind-ID Vollständig"-Signal (CIC-Signal) übertragen. Der dies auf seinem Kindport empfangende Elternknoten wird dann das „Kind-ID Vollständig Bestätigung"(CICA)-Signal übertragen und den Port als einen identifizierten Kindport bezeichnen. Als Reaktion auf die nächste BR-Signalausbreitung wird der Elternknoten desjenigen Knotens, der sich gerade selbst identifiziert hat, seinen nächsten Kindknoten zur Übertragung des Pakets der physikalischen Adresse auswählen. Sobald sich alle Kindknoten eines Elternknotens identifiziert haben, wird der Elternknoten den Bus anfordern. Wenn ihm der Bus gewährt wird, wird er sein Zuweisungspaket der physikalischen Adresse ausbreiten. Dieses Verfahren wird dem vorher festgelegten Auswahlkriterium folgend fortgesetzt, bis alle Knoten eine eindeutige physikalische Adresszuordnung durch Zählen bestimmen. 5 veranschaulicht den Graphen von 3(e), in dem ein vordefiniertes von-links-nach-rechts-Auswahlkriterium ausgeführt ist. Die Knoten sind eindeutig zugewiesene Adressen, wobei der Knoten 33 die erste Adresse empfängt und der Root-Knoten 30 wie beschrieben die achte und letzte Adresse empfängt.The node that has finally been granted access to the bus is sent an address assignment packet. The node will transmit this packet onto the bus and it will be received by all other nodes, each of which will count the number of address packets they receive. The transmitted address packet may have any arbitrary information. The unique physical address of a node will be based on the number of address packets a node has counted before transmitting an address packet. As a result, no two nodes will receive the same physical address even though no address information has been assigned in advance. The actual composition of the address packet is arbitrary and can be any bitstream that can be efficiently used by the system. After transmission of the physical address assignment packet, a node will transmit a "child ID complete" (CIC) signal, and the parent node receiving this on its child port will then transmit the "child ID full acknowledgment" (CICA) signal and designate the port as an identified child port. In response to the next BR signal propagation, the parent node of the node that has just identified itself will select its next child node to transmit the physical address packet. Once all child nodes of a parent node have identified, the parent node will request the bus. If granted the bus, he will propagate his physical address allocation packet. This procedure continues following the predetermined selection criterion until all nodes determine a unique physical address assignment by counting. 5 illustrates the graph of 3 (e) in which a predefined left-to-right selection criterion is executed. The nodes are uniquely assigned addresses, where the node 33 receives the first address and the root node 30 as described the eighth and last address receives.

Wenn dieses Verfahren abgeschlossen ist, wird jeder Knoten im Graphen eine eindeutige physikalische Adresse aufweisen, die nicht im Voraus bestimmt werden muss und die für das Systemmanagement oder andere Zwecke verwendet werden kann.If This process is completed, every node in the graph have a unique physical address that is not in advance must be determined and the for the system management or other purposes can be used.

Knoten-SelbstidentifikationNode self-ID

Das Verfahren der Selbstidentifikation der Knoten folgt im Wesentlichen der gleichen Routine wie das vorstehend beschriebene Verfahren der Zuweisung der physikalischen Adresse. Da jeder Knoten sein Zuweisungspaket der physikalischen Adresse überträgt, kann dieses Paket weitere Informationen umfassen, wie zum Beispiel die Identifikation der physikalischen Einrichtung, die die Identifikation des zum Knoten gehörenden lokalen Host aufweist, wie viel Energie er erfordert und zum Beispiel ob er ein „Soft power-on" [gesteuertes Einschalten]-Attribut unterstützt etc. In der Tat können die Selbstidentifikationsinformationen der Knoten als Zuordnungspaket der physikalischen Adresse dienen, da das Verfahren des Sendens irgendwelcher Informationen überhaupt die Basis für das Zählen zum Erhalt eindeutiger physikalischer Adressen bereitstellt.The Method of self-identification of the nodes essentially follows the same routine as the above-described method of Assignment of the physical address. Because every node has its assignment packet the physical address transmits, can this package will include more information, such as the Identification of the physical device that identifies of the node belonging to local host has how much energy he requires and for example if he is a "soft power-on "[controlled Power on] attribute supports etc. In fact you can the self-identification information of the nodes as the assignment packet of physical address serve as the method of sending any Information at all base for the counting to provide unique physical addresses.

In Bezug auf das Selbstidentifikationspaket der Knoten müssen die bestimmten, den Knoten betreffende Informationen nur von denjenigen Knoten „mitgehört" werden, die durch die Beschaffenheit des bekannt gebenden Knotens betroffen sind. Wie beim Vorstehenden geht dieses Verfahren weiter, bis alle Knoten ihre Informationen der Knoten-Selbstidentifikation übertragen haben.In Regarding the self - identification package of the nodes, the certain information concerning the node only from those Nodes are "listened" through the nature of the announcing node are concerned. As in the preceding, this procedure continues until all nodes transmit their information to the node self-identification to have.

Topologieabbildungtopology mapping

Das Verfahren der Topologieabbildung folgt der gleichen Art wie die physikalische Adresszuweisung und die Knoten-Selbstidentifikation. Bei diesem Verfahren überträgt folglich jeder Knoten, wenn er durch das Verfahren der Adresszuweisung oder der Knoten-Selbstidentifikation geht, weitere, alle seine Ports betreffende Informationen, wie zum Beispiel die Anzahl seiner Kindports und ob er irgendwelche deaktivierten Ports aufweist oder nicht. In Bezug auf die deaktivierten Ports kann die Ausführung eines Kommunikationsprotokolls zwischen sich deaktivierenden Ports wünschenswert sein, so dass sie identifizieren können, von wem sie deaktiviert wurden. Folglich wird ein Port, wenn er einen deaktivierten Port identifiziert, eine Kennung abgeben, die sowohl seine eigene ID als auch die ID des Portes anzeigt, von dem er deaktiviert wurde.The Topology imaging follows the same way as the physical address assignment and node self-identification. Consequently, in this method transmits every node, if by the method of address assignment or the node self-identification goes, more, all its ports relevant information, such as the number of its child ports and whether or not it has any disabled ports. With regard to the deactivated ports, the execution of a communication protocol between deactivating ports be desirable, so they can identify from whom they were deactivated. Consequently, a port, if he identifies a disabled port, provide an identifier that shows both its own ID and the ID of the port from which he was deactivated.

Durch die Zusammenstellung aller während des Topologieabbildungsverfahrens empfangenen Topologieinformationen über alle Ports können der Busserver, der Host oder irgendeine Anwendung der Softwareschicht die aufgelöste Bustopologie logisch rekonstruieren. Dies ist für viele Zwecke nützlich, die die Ausführung von Redundanz umfassen, bei der beim unerwarteten Zusammenbruch einer Verbindung vorher deaktivierte Verbindungen zur Verhinderung des Verlusts von Kommunikationskanälen zu irgendwelchen Knoten dienen können.By the compilation of all during the Topology imaging method received topology information about all Ports can the bus server, the host, or any software layer application the resolved ones Logically reconstruct bus topology. This is useful for many purposes the execution of redundancy, in case of unexpected collapse a compound previously disabled compounds for prevention the loss of communication channels to any nodes can serve.

Faire BuszugriffsarbitrierungFair bus access arbitration

Sobald die Routinen der Topologieabbildung, der Knoten-Selbstidentifikation oder der Zuweisung der physikalischen Adressen abgeschlossen sind, kann der Bus als bereit und in Betrieb angesehen werden. Ein gemäß der vorliegenden Erfindung ausgeführtes Arbitrierungsschema ist das eines fairen Buszugriffs. Wenn ein Knoten einen Zugriff auf den Bus wünscht, sendet er über seinen Elternport (sofern er nicht der Root-Knoten ist) ein Busanforderungs(BR)-Signal. Der Elternknoten sendet bei Empfang des BR-Signals von einem Kindknoten ein Bus-Verweigert-Signal (BD) über alle seine anderen Kindports. Der Elternknoten breitet dann das BR-Signal aufwärts über seinen Elternknoten aus, bis das Signal den Root-Knoten erreicht. Der Root-Knoten gibt als Reaktion auf das erste empfangene BR-Signal ein Bus-Gewährt-Signal (BG) aus und sendet das BD-Signal über alle seine anderen, abwärts ausbreitenden Kindports. Dadurch werden die Verbindungen orientiert. Das BG-Signal breitet sich abwärts durch den Graphen bis zum Erreichen des anfordernden Knotens aus, der dann das Bus-Bestätigt(BR)-Signal gefolgt von dem Informationspaket sendet, dessen Sendung der Knoten auf den Bus benötigte. Wenn das Paket abgeschlossen ist, kehren alle Knoten in einen Ruhezustand zurück oder treten in ihn ein.As soon as the routines of topology mapping, node self-identification or assignment of the Physical addresses are completed, the bus may be ready and be considered in operation. One according to the present invention executed Arbitration scheme is that of a fair bus access. If a node wants access to the bus, he sends over its parent port (if it is not the root node) a Bus Request (BR) signal. The parent node sends on receipt of the BR signal from a child node a bus denied signal (BD) via all his other childports. The parent node then spreads that BR signal up over his Parent node until the signal reaches the root node. The root node gives in response to the first received BR signal, asserts and transmits a bus grant signal (BG) the BD signal over all his other, down sprawling child sports. This will orient the connections. The BG signal spreads downhill through the graph until reaching the requesting node, which then followed the bus acknowledged (BR) signal sends from the information packet whose transmission the node needed the bus. When the package is complete, all nodes go into hibernation back or enter him.

Wenn der Root-Knoten nahezu gleichzeitig Busanforderungen empfängt, werden die vorher festgelegten Auswahlkriterien für den Root-Knoten zur Gewährung des Buszugriffs für einen der Knoten verwendet. Dies können die gleichen vorher festgelegten, wie oben beschriebenen Prioritätsauswahlkriterien sein.If the root node receives bus requests almost simultaneously the predefined selection criteria for the root node to grant the Bus access for one of the nodes used. This can be the same predetermined, as the priority selection criteria described above be.

Ein weiterer Aspekt einer fairen Buszugriffsarbitrierung ist die Priorität eines Elternknoten gegenüber seinen Kindknoten. Wenn folglich ein Elternknoten den Bus benötigt, sendet er das BD-Signal über alle seine Kindports und breitet dann das BR-Signal nach oben in Richtung des Root-Knotens aus. Ein potentielles Problem dieses Mechanismus besteht darin, dass ein Kindknoten Schwierigkeiten beim Erlangen eines angemessenen Buszugriffs haben kann, wenn der Elternknoten eine große Menge von Informationen auf den Bus zu übertragen hat. Es wurde deshalb ein Lückensystem eingeführt, das weit verbreitet und auf dem Gebiet gut bekannt ist. Nachdem ein Knoten den Bus verwendet hat, muss der Knoten eine Lückenperiode warten, bevor er den Bus erneut anfordern kann. Dies gibt jedem Knoten auf dem Bus die gleiche Chance für eine Busgewährung, unabhängig von seiner topologischen Anordnung auf dem Bus. Zur Sicherstellung eines fairen Arbitrierungsprotokolls muss die Länge der Lücke größer als die ungünstigste Signalausbreitungsverzögerung über den Bus sein. Der Lückenwert kann vorher festgelegt und in der Knotenlogik fest verdrahtet sein. Eine derartige Lösung wird mit Ausnahme des extremsten Falles zu einer suboptimalen Verwendung des Busses führen. Die Fähigkeit zur Topologieabbildung zusammen mit der während der Phase der Graphentransformation ausgeführten Messung der Ausbreitungsverzögerung zwischen benachbarten Knoten ermöglicht die Berechnung einer optimalen, fairen Lücke, die die Leistungsfähigkeit des Busses für jede spezifische Ausführung maximieren wird.One Another aspect of fair bus access arbitration is the priority of one Parent node opposite his child node. Thus, if a parent node needs the bus, send he gets the BD signal over all its kindports and then spreads the BR signal upwards in the direction of the root node. A potential problem with this mechanism is that a child node has difficulty obtaining can have reasonable bus access if the parent node a huge amount has to transfer information to the bus. It was because of that a gap system introduced, which is widely used and well known in the field. After this a node has used the bus, the node must have a gap period wait before he can request the bus again. This gives everyone Nodes on the bus have the same opportunity for a bus grant, regardless of his topological arrangement on the bus. To ensure a fair arbitration protocol, the length of the gap must be greater than the worst Signal propagation delay over the Be a bus. The gap value can be previously set and hardwired in the node logic. A such solution is a suboptimal use of the. with the exception of the most extreme case Buses lead. The ability to the topology image together with the during the phase of the graph transformation executed Measurement of the propagation delay between adjacent nodes the calculation of an optimal, fair gap, the performance of the bus for each specific execution will maximize.

PrioritätsbusarbitrierungPrioritätsbusarbitrierung

In dem gemäß der vorstehenden fairen Buszugriffsarbitrierung ausgeführten Busarbitrierungsschema kann es wünschenswert sein, dass der Root-Knoten immer die Buspriorität aufweist. Wenn dies ausgeführt ist, kann sich der Root-Knoten den Bus zu jeder Zeit selbst gewähren. Dies wird durch das Senden des BD-Signals nach unten über alle Knoten des Graphen ausgeführt. Ein Prioritätsbuszugriff für den Root-Knoten ist für den Fall sehr nützlich, bei dem die Ausführung einer isochronen Datenübertragung des Root-Knotens erforderlich ist.In according to the above fair bus access arbitration engineered bus arbitration scheme may be desirable be that the root node always has the bus priority. When this is done, The root node can grant itself the bus at any time. This is by sending the BD signal down over all nodes of the graph are executed. A priority bus access for the Root node is for the case very useful the execution an isochronous data transmission of the root node is required.

Einen Token weiterleitende BusarbitrierungA token forwarding bus arbitration

Als eine Alternative zu den oben beschriebenen fairen und Prioritäts-Buszugriffsarbitrierungsschemata kann die vorliegende Erfindung zur Ausführung eines einen Token weiterleitenden Busarbitrierungsschemas verwendet werden. Bildlich gesprochen bezieht sich ein einen Token weiterleitender Buszugriff auf die Vorstellung, dass ein Knoten auf einem Bus kommunizieren kann, wenn er im Besitz eines zwischen den Knoten weitergeleiteten Token ist. Der Token wird in einer zyklischen Art und weise von Knoten zu Knoten weitergeleitet, so dass jeder Knoten den Bus zu einem vorher festgelegten Zeitpunkt im Zyklus erhält. Das Weiterleiten des Token wird in der vorliegenden Erfindung auf die gleiche Art und Weise wie die oben beschriebene Zuweisungsroutine der physikalischen Adresse ausgeführt. Die implementierten vorher festgelegten Auswahlmechanismen werden zur Auswahl der Reihenfolge verwendet, in der der Token von Knoten zu Knoten weitergeleitet wird. Diese Reihenfolge ähnelt der in 5 gezeigten Reihenfolge, die die Reihenfolge der Zuweisung einer eindeutigen Adresse vorschreibt. Jeder Knoten wird bei einer Zuweisung des Token sein Informationspaket auf dem Bus ausbreiten, während die verbleibenden Knoten mithören. Basierend auf dem vorstehend beschriebenen, vorher festgelegten Ablaufsteuerungsverfahren wird der Knoten den Token dann zum nächsten logischen Knoten weiterleiten.As an alternative to the fair and priority bus access arbitration schemes described above, the present invention may be used to execute a token passing bus arbitration scheme. Figuratively speaking, token passing bus access refers to the notion that a node on a bus can communicate when in possession of a token passed between the nodes. The token is forwarded from node to node in a cyclic fashion such that each node receives the bus at a predetermined time in the cycle. The forwarding of the token is carried out in the present invention in the same manner as the above-described physical address assignment routine. The implemented predefined selection mechanisms are used to select the order in which the token is forwarded from node to node. This order is similar to the one in 5 shown order, which dictates the order of assignment of a unique address. Everyone Node will propagate its information packet on the bus upon assignment of the token, while listening to the remaining nodes. Based on the previously defined scheduling method, the node will then forward the token to the next logical node.

Preemptive Businitialisierungpreemptive bus initialization

Ein wichtiges, gemäß der vorliegenden Erfindung ausführbares Merkmal ist der Begriff der preemptiven Businitialisierung. Die in jedem Knoten enthaltene Automatenlogik ist in der Lage, unter bestimmten Bedingungen ein von dem Knoten über alle seine Ports auszubreitendes Bus-Initialisierungs(BI)-Signal zu triggern. Wenn ein Knoten die Notwendigkeit der Signalisierung einer Businitialisierungsbedingung bestimmt hat, wird er das BI-Signal über alle seine Ports für eine Zeitdauer ausbreiten, die ausreichend sicherstellt, dass es alle angrenzenden Knoten empfangen und dann freigegeben haben. Ein Knoten wird dann in die initiierenden Verfahren eintreten, die dann zu dem Graphentransformationsprozeß in den vorstehend beschriebenen Prozeduren führen.One important, according to the present Invention executable Feature is the concept of preemptive bus initialization. The In each node contained machine logic is able to under certain conditions to be propagated from the node across all its ports Bus initialization (BI) signal to trigger. If a node the need for signaling a Businitialisierungsbedingung has determined, it will be the BI signal over all its ports for spread a period of time that sufficiently ensures that it all adjacent nodes have received and then released. One Node will then enter the initiating procedures, which will then to the graph transformation process in the above-described Lead procedures.

Es gibt eine Reihe von Situationen, die die Triggerung einer preemptiven Businitialisierung notwendig oder wünschenswert machen können. Dies kann zunächst eine Reaktion eines Knotens auf einen unvorhergesehenen Fehler sein. Zusätzlich kann auf der Ebene des Host bestimmt werden, dass ein anderer Knoten das Knotenattribut erhalten soll, zum Beispiel ein Knoten mit isochroner Datenübertragung. Diese Zuweisung wird während der gesamten Businitialisierungsroutine eingehalten. Dadurch wird der gewünschte Knoten veranlasst, während des Transformationsverfahrens zu warten, bis er die Root-Bezeichnung empfängt. Eine andere, zu einer preemptiven Businitialisierung führende Bedingung kann der Bruch einer Verbindung sein. In diesem Fall kann die Berechnung eines neuen azyklischen, gerichteten Graphen für die angeschlossen Knoten notwendig sein. Schließlich ist eine bedeutende Situation, in der eine preemptive Businitialisierung auftreten soll, wenn eine Einrichtung zu dem Netzwerk hinzugefügt wird. Dies wird als „Hot Addition" [„Hinzufügen im laufenden Betrieb"] von Peripherieeinrichtungen bezeichnet. Der Port, an den die neue Einrichtung angeschlossen ist, wird das Vorhandensein eines neuen Knotens erfassen und eine Businitialisierung triggern, die für den Systemanwender transparent sind, aber zum Beispiel das Hinzufügen und Entfernen von Peripherieeinrichtungen ohne ein Herunterfahren und Neueinschalten gestattet. Es wird ein neuer azyklischer gerichteter Graph berechnet, der das Vorhandensein des hinzugefügten Knotens umfasst. Es ist möglich, dass beim Entfernen bestimmter Knoten die Triggerung einer Businitialisierung nicht notwendig ist, wenn zum Beispiel ein Blattknoten entfernt wird, entsteht kein Schaden für das Netzwerk. Wenn jedoch ein Zweigknoten aus einem in Betrieb befindlichen Bus herausgelöst wird, ist die Notwendigkeit der Neukonfiguration des Graphen wahrscheinlich.It There are a number of situations that trigger a preemptive Businitialisierung necessary or desirable. This can first a reaction of a node to an unforeseen mistake. additionally can be determined at the level of the host that another node to get the node attribute, for example, a node with isochronous Data transfer. This assignment will be during complied with the entire Businitialisierungsroutine. This will be the desired Node causes, during of the transformation process wait until he gets the root name receives. Another condition that leads to a preemptive bus initialization may be be the break of a connection. In this case, the calculation a new acyclic, directed graph for the connected nodes to be necessary. After all is a significant situation in which a preemptive bus initialization should occur when a device is added to the network. This is called "Hot Addition "[" Add in the current Operation "] of peripheral devices. The port to which the new device is connected becomes the Detect the presence of a new node and trigger a bus initialization, the for the system users are transparent, but for example adding and Removing peripherals without shutting down and Re-activation allowed. It becomes a new acyclic directed Graph calculates the presence of the added node includes. It is possible, that when removing certain nodes, triggering a bus initialization does not is necessary, for example, if a leaf node is removed, there is no damage for the network. However, if a branch node from an in-service Bus removed the need to reconfigure the graph is likely.

Obwohl die vorliegende Erfindung anhand von bevorzugten Ausführungsbeispielen beschrieben wurde, sollte es klar sein, dass verschiedene Modifikationen und Änderungen von den Fachleuten vorgenommen werden können, ohne den Schutzumfang der Erfindung zu verlassen. Die Erfindung sollte deshalb an den nachfolgenden Ansprüchen gemessen werden.Even though the present invention based on preferred embodiments it should be clear that various modifications and changes can be made by professionals without the scope of protection to leave the invention. The invention should therefore be to the following claims be measured.

Claims (10)

Ein Verfahren zur fairen Buszugriffsarbitrierung in einem Computersystem, das eine Mehrzahl von Komponenten aufweist, die durch eine Mehrzahl von Kommunikationsverbindungen miteinander verbunden sind, wobei die mehreren Komponenten jeweils wenigstens einen ersten Kommunikationsknoten aufweisen, wobei die Kommunikationsknoten eine Schnittstelle zwischen ihrer zugehörigen Komponente und einer Kommunikationsverbindung über einen Knotenport bilden, wobei die Knoten mehrere Ports haben können, wobei die Konfiguration von Knoten und Kommunikationsverbindungen einen gerichteten azyklischen Graphen bildet, bei dem ein Knoten als Root-Knoten bezeichnet wird, sämtliche mit nur einem benachbarten Knoten gekoppelte Knoten als Blattknoten bezeichnet werden und alle anderen Knoten in dem Graphen als Zweigknoten bezeichnet werden, wobei in dem azyklischen gerichteten Graphen hierarchische Eltern-Kind-Beziehungen zwischen sämtlichen benachbarten Knoten beginnend bei dem Root-Knoten bis hinab zu den Blattknoten eingerichtet sind, wobei ein Blattknoten nur einen Elternknoten hat und wobei sämtliche dem Root-Knoten benachbarten Knoten in Bezug auf den Root-Knoten Kindknoten sind, aber in Bezug auf andere benachbarte Knoten Elternknoten sind, wobei der Root-Knoten als einer definiert ist, der keinen Elternknoten aufweist, wobei ein Busanforderungssignal von einem anfordernden Knoten zu seinem Elternknoten übermittelt wird, wobei der anfordernde Knoten ein über den Bus auszubreitendes Informationspaket hat, wobei sämtlich das Busanforderungssignal empfangende Knoten das Busanforderungssignal an ihren jeweiligen Elternknoten weiterleiten, wobei das Verfahren der fairen Buszugriffsarbitrierung gekennzeichnet ist durch die Schritte: daß der Root-Knoten bei Empfang eines Busanforderungssignals aus einem benachbarten Knoten dem benachbarten Knoten mit einem Busgewährungssignal antwortet; daß sämtliche das Busgewährungssignal von einem Elternknoten empfangenden Knoten dann das Busgewährungssignal an denjenigen Kindknoten weiterleiten, welcher zuvor das Busanforderungssignal weitergeleitet hat, sofern nicht der Knoten der anfordernde Knoten ist, und daß der anfordernde Knoten bei Empfang des Busgewährungssignals das Informationspaket auf den Bus ausgibt, wobei der anfordernde Knoten, nachdem er das Informationspaket ausgegeben hat, auf eine Lückenperiode wartet, bevor er erneut Zugriff auf den Bus anfordert, wobei die Lückenperiode größer als eine Worst-Case-Signalausbreitungsverzögerung über den Bus ist.A method for fair bus access arbitration in a computer system having a plurality of components interconnected by a plurality of communication links, the plurality of components each including at least a first communication node, the communication nodes providing an interface between their associated component and a communication link form a node port, where the nodes may have multiple ports, the configuration of nodes and communication links forming a directed acyclic graph, where one node is called a root node, all nodes coupled to only one neighboring node are called leaf nodes, and all In the acyclic directed graph, parent-child hierarchical relationships between all adjacent nodes starting at the root node down to d a leaf node having only one parent node and wherein all nodes adjacent to the root node are child nodes with respect to the root node, but are parent nodes with respect to other neighboring nodes, the root node being defined as one having a parent node, wherein a bus request signal is transmitted from a requesting node to its parent node, the requesting node having an information packet to be spread over the bus, all nodes receiving the bus request signal forwarding the bus request signal to their respective parent node, the method being fair Bus access arbitration is characterized by the steps of: upon receipt of a bus request signal from an adjacent node, the root node responding to the neighboring node with a bus grant signal; that all the bus grant signal from a parent node then receiving the bus forward the grant signal to the child node which has previously forwarded the bus request signal unless the node is the requesting node and that upon receiving the bus grant signal, the requesting node issues the information packet onto the bus, the requesting node having issued the information packet; waits for a gap period before requesting access to the bus again, the gap period being greater than a worst case signal propagation delay across the bus. Das Verfahren nach Anspruch 1, ferner umfassend den Schritt, daß vor dem Schritt des Sendens des Anforderungssignals zum Bus, ein Bus-Verweigert-Signal aus dem anfordernden Knoten an jeden seiner Kindknoten gesendet wird.The method of claim 1, further comprising Step that forward the step of sending the request signal to the bus, a bus denied signal sent from the requesting node to each of its child nodes becomes. Das Verfahren nach Anspruch 2, ferner umfassend den Schritt des Weiterleitens eines Bus-Verweigert-Signals aus sämtlichen weiterleitenden Knoten an sämtliche Kindknoten, die nicht die Quelle des Busanforderungssignals waren.The method of claim 2, further comprising Step of forwarding a bus denied signal from all forwarding nodes to all Child nodes that were not the source of the bus request signal. Das Verfahren nach Anspruch 3, ferner umfassend, nach dem Schritt des Antwortens des Root-Knotens an einen benachbarten Knoten mit einem Busgewährungssignal den Schritt, daß der Root-Knoten ein Bus-Verweigert-Signal an sämtliche anderen benachbarten Knoten aussendet.The method of claim 3, further comprising after the step of answering the root node to an adjacent one Node with a bus grant signal the step that the root node a bus denied signal to all others sends out neighboring nodes. Das Verfahren nach Anspruch 4, ferner umfassend den Schritt, daß sämtliche Knoten, die das Bus-Verweigert-Signal empfangen, dieses Bus-Verweigert-Signal an sämtliche benachbarten Kindknoten aussenden.The method of claim 4, further comprising Step, that all Nodes receiving the bus denied signal receive this bus denied signal to all send out adjacent child nodes. Das Verfahren nach Anspruch 5, ferner umfassend, vor dem Schritt des Aussendens des Informationspakets durch den anfordernden Knoten, den Schritt, daß der anfordernde Knoten den Empfang des Busgewährungssignals bestätigt.The method of claim 5, further comprising before the step of sending out the information packet by the requesting one Knot, the step that the requesting node acknowledges receipt of the bus grant signal. Das Verfahren nach Anspruch 6, ferner umfassend den Schritt, daß sämtliche Knoten, die eine Busgewährungssignalbestätigung empfangen, diese Bestätigung an einen Elternknoten weiterleiten.The method of claim 6, further comprising Step, that all Nodes that receive a bus grant acknowledgment, this confirmation forward to a parent node. Das Verfahren nach Anspruch 1, ferner umfassend den Schritt, daß der Root-Knoten dann, wenn er feststellt, daß er einen Zugriff auf den Bus benötigt, ein Bus-Verweigert-Signal an sämtliche benachbarten Knoten aussendet und sich selbst den Bus gewährt.The method of claim 1, further comprising Step that the Root node then, if he determines that he has access to the Bus needed, one Bus denied signal to all sends out neighboring nodes and grants itself the bus. Das Verfahren nach Anspruch 7, ferner umfassend den Schritt, daß der Root-Knoten, wenn er feststellt, daß er einen Zugriff auf den Bus benötigt, ein Bus-Verweigert-Signal an sämtliche benachbarten Knoten aussendet und sich selbst den Bus gewährt.The method of claim 7, further comprising Step that the Root node, if he finds that he has access to the Bus needed, a bus denied signal to all sends out neighboring nodes and grants itself the bus. Das Verfahren nach Anspruch 1, wobei der Root-Knoten miteinander in Konflikt stehende gleichzeitige Anforderungen des Busses löst, indem er den Bus auf der Grundlage eines vorgegebenen Auswahlkriteriums benachbarter Knoten gewährt.The method of claim 1, wherein the root node conflicting simultaneous requirements of the Bus triggers, by placing the bus on the basis of a predetermined selection criterion adjacent node.
DE69333798T 1992-12-21 1993-12-16 METHOD AND DEVICE FOR ARBITRATING ON AN AZYCLICAL-TARGETED GRAPH Expired - Lifetime DE69333798T2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US07/994,983 US5630173A (en) 1992-12-21 1992-12-21 Methods and apparatus for bus access arbitration of nodes organized into acyclic directed graph by cyclic token passing and alternatively propagating request to root node and grant signal to the child node
US994983 1992-12-21
PCT/US1993/012311 WO1994015302A1 (en) 1992-12-21 1993-12-16 Method and apparatus for arbitrating on an acyclic directed graph

Publications (2)

Publication Number Publication Date
DE69333798D1 DE69333798D1 (en) 2005-06-02
DE69333798T2 true DE69333798T2 (en) 2006-03-09

Family

ID=25541282

Family Applications (4)

Application Number Title Priority Date Filing Date
DE69334228T Expired - Lifetime DE69334228D1 (en) 1992-12-21 1993-12-16 A method and apparatus for arbitrating for an acyclic directed graph
DE69333798T Expired - Lifetime DE69333798T2 (en) 1992-12-21 1993-12-16 METHOD AND DEVICE FOR ARBITRATING ON AN AZYCLICAL-TARGETED GRAPH
DE69334172T Expired - Lifetime DE69334172T2 (en) 1992-12-21 1993-12-16 A method and apparatus for arbitrating for an acyclic directed graph
DE69334171T Expired - Lifetime DE69334171T2 (en) 1992-12-21 1993-12-16 A method and apparatus for arbitrating for an acyclic directed graph

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69334228T Expired - Lifetime DE69334228D1 (en) 1992-12-21 1993-12-16 A method and apparatus for arbitrating for an acyclic directed graph

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE69334172T Expired - Lifetime DE69334172T2 (en) 1992-12-21 1993-12-16 A method and apparatus for arbitrating for an acyclic directed graph
DE69334171T Expired - Lifetime DE69334171T2 (en) 1992-12-21 1993-12-16 A method and apparatus for arbitrating for an acyclic directed graph

Country Status (9)

Country Link
US (2) US5630173A (en)
EP (4) EP0674788B1 (en)
JP (7) JP3638949B2 (en)
KR (1) KR100290517B1 (en)
AU (1) AU5953994A (en)
CA (4) CA2408252C (en)
DE (4) DE69334228D1 (en)
HK (3) HK1037036A1 (en)
WO (1) WO1994015302A1 (en)

Families Citing this family (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875301A (en) * 1994-12-19 1999-02-23 Apple Computer, Inc. Method and apparatus for the addition and removal of nodes from a common interconnect
US7334030B2 (en) * 1994-12-19 2008-02-19 Apple Inc. Method and apparatus for the addition and removal of nodes from a common interconnect
US5784648A (en) * 1995-12-01 1998-07-21 Apple Computer, Inc. Token style arbitration on a serial bus by passing an unrequested bus grand signal and returning the token by a token refusal signal
US5758105A (en) * 1995-12-04 1998-05-26 International Business Machines Corporation Method and apparatus for bus arbitration between isochronous and non-isochronous devices
US7388092B2 (en) * 1996-05-03 2008-06-17 Applera Corporation Oligonucleotides and analogs labeled with energy transfer dyes
US6131119A (en) * 1997-04-01 2000-10-10 Sony Corporation Automatic configuration system for mapping node addresses within a bus structure to their physical location
JP3222086B2 (en) * 1997-04-07 2001-10-22 矢崎総業株式会社 Tree structure address setting method and system
US6145018A (en) * 1997-11-24 2000-11-07 Intel Corporation Method for hindering some types of nodes from becoming a bus arbitration controller
US6041348A (en) * 1997-12-01 2000-03-21 Lsi Logic Corporation N-port algorithm for disabling a node within a network during reset
US6411628B1 (en) * 1998-02-02 2002-06-25 Intel Corporation Distributed arbitration on a full duplex bus
US6434656B1 (en) * 1998-05-08 2002-08-13 International Business Machines Corporation Method for routing I/O data in a multiprocessor system having a non-uniform memory access architecture
US6393557B1 (en) 1998-05-08 2002-05-21 International Business Machines Corporation Dynamic method for configuring a computer system
JP3277887B2 (en) 1998-06-19 2002-04-22 日本電気株式会社 Transmission / reception method, transmission / reception circuit and method for controlling transmission / reception circuit
US6122723A (en) * 1998-08-20 2000-09-19 International Business Machines Corporation Switching multi-initiator SCSI devices to a singular target bus
US7013354B1 (en) 1998-10-05 2006-03-14 Canon Kabushiki Kaisha Channel protocol for IEEE 1394 data transmission
US6438604B1 (en) 1998-10-05 2002-08-20 Canon Kabushiki Kaisha Digital video network interface
US6657973B1 (en) * 1998-10-27 2003-12-02 Matsushita Electric Industrial Co., Ltd. Communications node, network system and method of controlling network system
JP3326399B2 (en) 1998-12-17 2002-09-24 松下電器産業株式会社 Communication node, information device having the same, and network system
US6256698B1 (en) 1999-01-11 2001-07-03 Sony Corporation Method of and apparatus for providing self-sustained even arbitration within an IEEE 1394 serial bus network of devices
US7062456B1 (en) 1999-02-09 2006-06-13 The Chase Manhattan Bank System and method for back office processing of banking transactions using electronic files
US6810452B1 (en) 1999-03-19 2004-10-26 Sony Corporation Method and system for quarantine during bus topology configuration
US6374319B1 (en) * 1999-06-22 2002-04-16 Philips Electronics North America Corporation Flag-controlled arbitration of requesting agents
US6628607B1 (en) 1999-07-09 2003-09-30 Apple Computer, Inc. Method and apparatus for loop breaking on a serial bus
US6910090B1 (en) 1999-09-21 2005-06-21 Sony Corporation Maintaining communications in a bus bridge interconnect
EP1090856A1 (en) * 1999-10-04 2001-04-11 LAB Industrie Misch- und Wiegetechnik GmbH System and method for unloading of bulk material from a container, especially from a box-shaped transport container
US6691096B1 (en) 1999-10-28 2004-02-10 Apple Computer, Inc. General purpose data container method and apparatus for implementing AV/C descriptors
US6959343B1 (en) 1999-11-01 2005-10-25 Apple Computer, Inc. Method and apparatus for dynamic link driver configuration
US6671768B1 (en) 1999-11-01 2003-12-30 Apple Computer, Inc. System and method for providing dynamic configuration ROM using double image buffers for use with serial bus devices
US6618750B1 (en) 1999-11-02 2003-09-09 Apple Computer, Inc. Method and apparatus for determining communication paths
US6631426B1 (en) 1999-11-02 2003-10-07 Apple Computer, Inc. Automatic ID allocation for AV/C entities
US6813663B1 (en) 1999-11-02 2004-11-02 Apple Computer, Inc. Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images
US8762446B1 (en) 1999-11-02 2014-06-24 Apple Inc. Bridged distributed device control over multiple transports method and apparatus
US8185549B1 (en) * 1999-11-03 2012-05-22 A9.Com, Inc. Method and system for navigating within a body of data using one of a number of alternative browse graphs
US6636914B1 (en) * 1999-11-05 2003-10-21 Apple Computer, Inc. Method and apparatus for arbitration and fairness on a full-duplex bus using dual phases
US6587904B1 (en) 1999-11-05 2003-07-01 Apple Computer, Inc. Method and apparatus for preventing loops in a full-duplex bus
TW448365B (en) * 1999-11-15 2001-08-01 Via Tech Inc Bus arbitration method providing preemption function between control chip sets
US6457086B1 (en) * 1999-11-16 2002-09-24 Apple Computers, Inc. Method and apparatus for accelerating detection of serial bus device speed signals
US6728821B1 (en) 1999-11-29 2004-04-27 Sony Corporation Method and system for adjusting isochronous bandwidths on a bus
US6751697B1 (en) * 1999-11-29 2004-06-15 Sony Corporation Method and system for a multi-phase net refresh on a bus bridge interconnect
US7266617B1 (en) * 2000-01-18 2007-09-04 Apple Inc. Method and apparatus for border node behavior on a full-duplex bus
US6639918B1 (en) 2000-01-18 2003-10-28 Apple Computer, Inc. Method and apparatus for border node behavior on a full-duplex bus
US7421507B2 (en) * 2000-02-16 2008-09-02 Apple Inc. Transmission of AV/C transactions over multiple transports method and apparatus
US6831928B1 (en) 2000-02-17 2004-12-14 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US7050453B1 (en) 2000-02-17 2006-05-23 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US6484171B1 (en) 2000-03-31 2002-11-19 International Business Machines Corporation System method and computer program for prioritizing filter rules
US6718497B1 (en) 2000-04-21 2004-04-06 Apple Computer, Inc. Method and apparatus for generating jitter test patterns on a high performance serial bus
US6618785B1 (en) 2000-04-21 2003-09-09 Apple Computer, Inc. Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus
JP2001313646A (en) * 2000-04-27 2001-11-09 Sony Corp Electronic device and method for controlling state of its physical layer circuit
US6757773B1 (en) 2000-06-30 2004-06-29 Sony Corporation System and method for determining support capability of a device coupled to a bus system
US7328211B2 (en) 2000-09-21 2008-02-05 Jpmorgan Chase Bank, N.A. System and methods for improved linguistic pattern matching
JP4097891B2 (en) * 2000-11-27 2008-06-11 三菱電機株式会社 Synchronization system using IEEE 1394
US6891805B2 (en) * 2001-02-06 2005-05-10 Telephonics Corporation Communications system
US7007123B2 (en) * 2002-03-28 2006-02-28 Alcatel Binary tree arbitration system and method using embedded logic structure for controlling flag direction in multi-level arbiter node
US6886051B2 (en) * 2002-03-28 2005-04-26 Seagate Technology Llc Device discovery method and apparatus
US7024505B2 (en) * 2002-03-28 2006-04-04 Seagate Technology Llc Fair arbitration method in a distributed arbitration system
US7987246B2 (en) 2002-05-23 2011-07-26 Jpmorgan Chase Bank Method and system for client browser update
US7340650B2 (en) * 2002-10-30 2008-03-04 Jp Morgan Chase & Co. Method to measure stored procedure execution statistics
US20040103199A1 (en) * 2002-11-22 2004-05-27 Anthony Chao Method and system for client browser update from a lite cache
US7149752B2 (en) * 2002-12-03 2006-12-12 Jp Morgan Chase Bank Method for simplifying databinding in application programs
US7085759B2 (en) 2002-12-06 2006-08-01 Jpmorgan Chase Bank System and method for communicating data to a process
US7457302B1 (en) 2002-12-31 2008-11-25 Apple Inc. Enhancement to loop healing for malconfigured bus prevention
US7417973B1 (en) 2002-12-31 2008-08-26 Apple Inc. Method, apparatus and computer program product for ensuring node participation in a network bus
US8032439B2 (en) 2003-01-07 2011-10-04 Jpmorgan Chase Bank, N.A. System and method for process scheduling
US7401156B2 (en) * 2003-02-03 2008-07-15 Jp Morgan Chase Bank Method using control interface to suspend software network environment running on network devices for loading and executing another software network environment
US7379998B2 (en) * 2003-03-31 2008-05-27 Jp Morgan Chase Bank System and method for multi-platform queue queries
US20040210696A1 (en) * 2003-04-18 2004-10-21 Meyer Michael J. Method and apparatus for round robin resource arbitration
US20040230602A1 (en) * 2003-05-14 2004-11-18 Andrew Doddington System and method for decoupling data presentation layer and data gathering and storage layer in a distributed data processing system
US7366722B2 (en) * 2003-05-15 2008-04-29 Jp Morgan Chase Bank System and method for specifying application services and distributing them across multiple processors using XML
US8095659B2 (en) 2003-05-16 2012-01-10 Jp Morgan Chase Bank Service interface
US7668099B2 (en) * 2003-06-13 2010-02-23 Apple Inc. Synthesis of vertical blanking signal
US20040255338A1 (en) * 2003-06-13 2004-12-16 Apple Computer, Inc. Interface for sending synchronized audio and video data
US7353284B2 (en) * 2003-06-13 2008-04-01 Apple Inc. Synchronized transmission of audio and video data from a computer to a client via an interface
US8275910B1 (en) 2003-07-02 2012-09-25 Apple Inc. Source packet bridge
WO2005015361A2 (en) 2003-08-08 2005-02-17 Jp Morgan Chase Bank System for archive integrity management and related methods
US7516139B2 (en) 2003-09-19 2009-04-07 Jp Morgan Chase Bank Processing of tree data structures
US7270227B2 (en) 2003-10-29 2007-09-18 Lockheed Martin Corporation Material handling system and method of use
US7788567B1 (en) 2003-11-18 2010-08-31 Apple Inc. Symbol encoding for tolerance to single byte errors
US7995606B1 (en) 2003-12-03 2011-08-09 Apple Inc. Fly-by and ack-accelerated arbitration for broadcast packets
US7502338B1 (en) 2003-12-19 2009-03-10 Apple Inc. De-emphasis training on a point-to-point connection
US7421696B2 (en) * 2003-12-22 2008-09-02 Jp Morgan Chase Bank Methods and systems for managing successful completion of a network of processes
US7308517B1 (en) * 2003-12-29 2007-12-11 Apple Inc. Gap count analysis for a high speed serialized bus
US7237135B1 (en) 2003-12-29 2007-06-26 Apple Inc. Cyclemaster synchronization in a distributed bridge
US20050144174A1 (en) * 2003-12-31 2005-06-30 Leonid Pesenson Framework for providing remote processing of a graphical user interface
US20050175027A1 (en) * 2004-02-09 2005-08-11 Phonex Broadband Corporation System and method for requesting and granting access to a network channel
US7183906B2 (en) * 2004-03-19 2007-02-27 Lockheed Martin Corporation Threat scanning machine management system
US20050222990A1 (en) * 2004-04-06 2005-10-06 Milne Kenneth T Methods and systems for using script files to obtain, format and disseminate database information
US20050231358A1 (en) * 2004-04-19 2005-10-20 Company Steven L Search engine for singles with (GPS) position data
AU2005234798B2 (en) 2004-04-26 2009-01-08 Jp Morgan Chase Bank System and method for routing messages
US20050251398A1 (en) * 2004-05-04 2005-11-10 Lockheed Martin Corporation Threat scanning with pooled operators
US7212113B2 (en) * 2004-05-04 2007-05-01 Lockheed Martin Corporation Passenger and item tracking with system alerts
US20050251397A1 (en) * 2004-05-04 2005-11-10 Lockheed Martin Corporation Passenger and item tracking with predictive analysis
US7392471B1 (en) 2004-07-28 2008-06-24 Jp Morgan Chase Bank System and method for comparing extensible markup language (XML) documents
US7366974B2 (en) * 2004-09-03 2008-04-29 Jp Morgan Chase Bank System and method for managing template attributes
US20060059210A1 (en) * 2004-09-16 2006-03-16 Macdonald Glynne Generic database structure and related systems and methods for storing data independent of data type
US20090132466A1 (en) * 2004-10-13 2009-05-21 Jp Morgan Chase Bank System and method for archiving data
US7739436B2 (en) * 2004-11-01 2010-06-15 Sonics, Inc. Method and apparatus for round robin resource arbitration with a fast request to grant response
US7684421B2 (en) * 2005-06-09 2010-03-23 Lockheed Martin Corporation Information routing in a distributed environment
US20060282886A1 (en) * 2005-06-09 2006-12-14 Lockheed Martin Corporation Service oriented security device management network
US8223666B2 (en) * 2005-08-23 2012-07-17 Cisco Technology, Inc. Method of constructing a forwarding database for a data communications network
US7969995B2 (en) * 2005-08-23 2011-06-28 Cisco Technology, Inc. Method and apparatus for constructing a forwarding database for a data communications network
US8065606B1 (en) 2005-09-16 2011-11-22 Jpmorgan Chase Bank, N.A. System and method for automating document generation
US7499933B1 (en) 2005-11-12 2009-03-03 Jpmorgan Chase Bank, N.A. System and method for managing enterprise application configuration
US7610172B2 (en) * 2006-06-16 2009-10-27 Jpmorgan Chase Bank, N.A. Method and system for monitoring non-occurring events
US8483108B2 (en) * 2006-07-24 2013-07-09 Apple Inc. Apparatus and methods for de-emphasis training on a point-to-point connection
US20080060910A1 (en) * 2006-09-08 2008-03-13 Shawn Younkin Passenger carry-on bagging system for security checkpoints
CN101179516B (en) * 2006-11-10 2010-06-09 北京航空航天大学 Digraph based data distributing method
US8104076B1 (en) 2006-11-13 2012-01-24 Jpmorgan Chase Bank, N.A. Application access control system
US7610429B2 (en) * 2007-01-30 2009-10-27 Hewlett-Packard Development Company, L.P. Method and system for determining device criticality in a computer configuration
WO2009154752A1 (en) 2008-06-17 2009-12-23 Attivio, Inc. Ordered message processing
US8312088B2 (en) * 2009-07-27 2012-11-13 Sandisk Il Ltd. Device identifier selection
US8392614B2 (en) 2009-07-27 2013-03-05 Sandisk Il Ltd. Device identifier selection
FR2951290B1 (en) * 2009-10-08 2011-12-09 Commissariat Energie Atomique MULTI-SOURCE MEMORY DIRECT ACCESS CONTROLLER, CORRESPONDING COMPUTER PROGRAM AND PROGRAM
US8495656B2 (en) 2010-10-15 2013-07-23 Attivio, Inc. Ordered processing of groups of messages
US9038177B1 (en) 2010-11-30 2015-05-19 Jpmorgan Chase Bank, N.A. Method and system for implementing multi-level data fusion
US9292588B1 (en) 2011-07-20 2016-03-22 Jpmorgan Chase Bank, N.A. Safe storing data for disaster recovery
US10540373B1 (en) 2013-03-04 2020-01-21 Jpmorgan Chase Bank, N.A. Clause library manager

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2443101A1 (en) * 1978-11-30 1980-06-27 Ibm France IMPROVEMENT IN PRIORITY INTERFACE SELECTION SYSTEMS
US4344134A (en) * 1980-06-30 1982-08-10 Burroughs Corporation Partitionable parallel processor
US4412285A (en) * 1981-04-01 1983-10-25 Teradata Corporation Multiprocessor intercommunication system and method
US4698752A (en) * 1982-11-15 1987-10-06 American Telephone And Telegraph Company At&T Bell Laboratories Data base locking
IT1159351B (en) * 1983-02-03 1987-02-25 Cselt Centro Studi Lab Telecom DISTRIBUTED STRUCTURE REFEREE CIRCUIT FOR BUS REQUESTS FOR A MULTIPROCESSOR SYSTEM
US5113523A (en) * 1985-05-06 1992-05-12 Ncube Corporation High performance computer system
US4706080A (en) * 1985-08-26 1987-11-10 Bell Communications Research, Inc. Interconnection of broadcast networks
US4897833A (en) * 1987-10-16 1990-01-30 Digital Equipment Corporation Hierarchical arbitration system
DE3838945A1 (en) * 1987-11-18 1989-06-08 Hitachi Ltd NETWORK SYSTEM WITH LOCAL NETWORKS AND WITH A HIERARCHICAL CHOICE OF PATH
US4811337A (en) * 1988-01-15 1989-03-07 Vitalink Communications Corporation Distributed load sharing
US5027342A (en) * 1989-05-03 1991-06-25 The University Of Toronto Innovations Foundation Local area network
US5138615A (en) * 1989-06-22 1992-08-11 Digital Equipment Corporation Reconfiguration system and method for high-speed mesh connected local area network
US5150360A (en) * 1990-03-07 1992-09-22 Digital Equipment Corporation Utilization of redundant links in bridged networks
US5301333A (en) * 1990-06-14 1994-04-05 Bell Communications Research, Inc. Tree structured variable priority arbitration implementing a round-robin scheduling policy
US5353412A (en) * 1990-10-03 1994-10-04 Thinking Machines Corporation Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide the network into a number of partitions
WO1992006436A2 (en) * 1990-10-03 1992-04-16 Thinking Machines Corporation Parallel computer system
FR2668626B1 (en) * 1990-10-30 1992-12-18 Thomson Csf METHOD FOR CONFIGURING A MESH COMPUTER SYSTEM.
FR2676558B1 (en) * 1991-05-15 1993-07-23 Opticable METHOD FOR AUTOMATICALLY DETERMINING THE CONFIGURATION OF A NETWORK.
ES2131065T3 (en) * 1992-03-27 1999-07-16 Cit Alcatel ACCESS CONTROL PROVISION.

Also Published As

Publication number Publication date
EP1094394A3 (en) 2006-04-19
EP1094395A2 (en) 2001-04-25
JP2006238452A (en) 2006-09-07
US5630173A (en) 1997-05-13
CA2698356A1 (en) 1994-07-07
JP2004030648A (en) 2004-01-29
CA2408252C (en) 2005-07-26
JP2006229992A (en) 2006-08-31
KR950704745A (en) 1995-11-20
JP3663385B2 (en) 2005-06-22
JP4195470B2 (en) 2008-12-10
CA2503335C (en) 2010-06-29
JP2002314565A (en) 2002-10-25
EP1132821A2 (en) 2001-09-12
CA2698356C (en) 2011-04-12
EP0674788A1 (en) 1995-10-04
WO1994015302A1 (en) 1994-07-07
DE69334172D1 (en) 2007-10-31
JP2002314566A (en) 2002-10-25
HK1037037A1 (en) 2002-01-25
DE69334171D1 (en) 2007-10-25
DE69334171T2 (en) 2008-06-12
CA2151369A1 (en) 1994-07-07
KR100290517B1 (en) 2001-09-17
JP3663386B2 (en) 2005-06-22
JP3834562B2 (en) 2006-10-18
JP4209428B2 (en) 2009-01-14
EP1094395B1 (en) 2008-07-02
US5802289A (en) 1998-09-01
EP0674788B1 (en) 2005-04-27
EP1094395A3 (en) 2006-04-19
JPH08504989A (en) 1996-05-28
CA2503335A1 (en) 1994-07-07
EP1132821B1 (en) 2007-09-12
EP1094394B1 (en) 2007-09-12
CA2151369C (en) 2004-02-10
HK1037036A1 (en) 2002-01-25
JP4195469B2 (en) 2008-12-10
CA2408252A1 (en) 1994-07-07
EP1094394A2 (en) 2001-04-25
DE69334228D1 (en) 2008-08-14
HK1037035A1 (en) 2002-01-25
EP1132821A3 (en) 2006-04-19
DE69334172T2 (en) 2008-06-12
JP2006217639A (en) 2006-08-17
AU5953994A (en) 1994-07-19
DE69333798D1 (en) 2005-06-02
JP3638949B2 (en) 2005-04-13

Similar Documents

Publication Publication Date Title
DE69333798T2 (en) METHOD AND DEVICE FOR ARBITRATING ON AN AZYCLICAL-TARGETED GRAPH
DE69332778T2 (en) METHOD AND DEVICE WITH UNIQUE ADDRESS ASSIGNMENT, NODE SELF IDENTIFICATION AND TOPOLOGY IMAGING FOR A DIRECTED, ACYCLIC GRAPH
DE19581234B4 (en) Bus controller and method for a hierarchical serial bus arrangement using communication packets
DE69637469T2 (en) DATA COMMUNICATION NETWORK WITH HIGHLY EFFICIENT QUERY PROCEDURE
DE69533230T2 (en) METHOD AND DEVICE FOR IMPROVING THE ERROR TOLERANCE OF A NETWORK
DE69931218T2 (en) METHOD FOR SYNCHRONIZING NETWORK NODES
DE3820544C2 (en) Local area network system with a multi-computer system coupled to it and method for controlling it
DE2230830A1 (en) DATA PROCESSING SYSTEM
AT407582B (en) MESSAGE DISTRIBUTION UNIT WITH INTEGRATED GUARDIAN TO PREVENT '' BABBLING IDIOT '' ERRORS
DE10259327A1 (en) Universal serial bus (USB) compound device for communication applications has address/endpoint management mechanism including terminal connected to interfaces used to connect function devices to serial bus
DE69922690T2 (en) FAULT TOLERANT NETWORKS
DE69532383T2 (en) METHOD AND DEVICE FOR THE DYNAMIC GENERATION AND MAINTENANCE OF FRAME-BASED INQUIRY PROGRAMS FOR INQUIRING ISOCHRONOUS AND ASYNCHRONOUS FUNCTIONS THAT GUARANTEE WAITING TIMES AND BANDWIDTHS FOR THE ISOCHRONOUS FUNCTIONS
DE69634482T2 (en) Competitive operation resolution method for data networks
DE69634983T2 (en) METHOD AND DEVICE FOR A HYBRID COMPETITION AND QUESTION PROTOCOL
DE69633504T2 (en) TOKEN RING NETWORK MULTI PORT SWITCH
DE102017120447A1 (en) A semiconductor device, a method of operating the semiconductor device, and a system including the same
DE112008004203B4 (en) Communication management device, communication device and communication method
EP2266297B1 (en) Automatic bus address assignment using collision testing
DE10163342A1 (en) Data transmission method, serial bus system and connection unit for a passive bus device
DE112006003895T5 (en) Communication node and token issuing method and token ring communication method in a ring communication system
DE3924452A1 (en) NODE POINT PROCESSING SYSTEM
DE69914425T2 (en) Modular transmission control and procedure
DE69937925T2 (en) Method and device for device identification in a communication network
DE60131765T2 (en) Method for connecting multiple communication buses with wireless connections
DE112021003094T5 (en) SYSTEM AND METHOD FOR PLANNING SHARING PCIE ENDPOINT DEVICES

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: APPLE INC., CUPERTINO, CALIF., US