DE69333798T2 - METHOD AND DEVICE FOR ARBITRATING ON AN AZYCLICAL-TARGETED GRAPH - Google Patents
METHOD AND DEVICE FOR ARBITRATING ON AN AZYCLICAL-TARGETED GRAPH Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 67
- 238000004891 communication Methods 0.000 claims description 28
- 125000002015 acyclic group Chemical group 0.000 claims description 13
- 238000012790 confirmation Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 19
- 230000009466 transformation Effects 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000011664 signaling Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 238000011426 transformation method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006266 hibernation Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000007420 reactivation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40078—Bus configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/37—Handling 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
- G06F15/17343—Direct 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40084—Bus arbitration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing 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:
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
Der
in
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
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.
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
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.
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
Für Vollduplex-Kommunikationskanäle können die
drei logischen Nachrichten YAMP, YAMC und YAMCA alternativ durch
nur zwei Signalübertragungen
weitergeleitet werden. In
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
Richtungsbestimmungdirection determination
Es
wird erneut auf
Das
Graphentransformationsverfahren beginnt in Schritt
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
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
Die
Root-Konkurrenzsituation wird durch die Verwendung eines Zufallsentscheidungsmechanismus
aufgelöst,
der in jeder Arbitrierungsautomatenlogikeinheit
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
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
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
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
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.
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
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)
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)
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)
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. |
-
1992
- 1992-12-21 US US07/994,983 patent/US5630173A/en not_active Expired - Lifetime
-
1993
- 1993-12-16 JP JP51531494A patent/JP3638949B2/en not_active Expired - Lifetime
- 1993-12-16 WO PCT/US1993/012311 patent/WO1994015302A1/en active IP Right Grant
- 1993-12-16 CA CA002408252A patent/CA2408252C/en not_active Expired - Lifetime
- 1993-12-16 EP EP94905422A patent/EP0674788B1/en not_active Expired - Lifetime
- 1993-12-16 CA CA2698356A patent/CA2698356C/en not_active Expired - Lifetime
- 1993-12-16 DE DE69334228T patent/DE69334228D1/en not_active Expired - Lifetime
- 1993-12-16 EP EP01100800A patent/EP1094395B1/en not_active Expired - Lifetime
- 1993-12-16 DE DE69333798T patent/DE69333798T2/en not_active Expired - Lifetime
- 1993-12-16 DE DE69334172T patent/DE69334172T2/en not_active Expired - Lifetime
- 1993-12-16 EP EP01100794A patent/EP1132821B1/en not_active Expired - Lifetime
- 1993-12-16 AU AU59539/94A patent/AU5953994A/en not_active Abandoned
- 1993-12-16 DE DE69334171T patent/DE69334171T2/en not_active Expired - Lifetime
- 1993-12-16 KR KR1019950702511A patent/KR100290517B1/en not_active IP Right Cessation
- 1993-12-16 EP EP01100795A patent/EP1094394B1/en not_active Expired - Lifetime
- 1993-12-16 CA CA2503335A patent/CA2503335C/en not_active Expired - Lifetime
- 1993-12-16 CA CA002151369A patent/CA2151369C/en not_active Expired - Lifetime
-
1996
- 1996-09-24 US US08/710,970 patent/US5802289A/en not_active Expired - Lifetime
-
2001
- 2001-10-22 HK HK01107370.4A patent/HK1037036A1/en not_active IP Right Cessation
- 2001-10-22 HK HK01107369A patent/HK1037035A1/en not_active IP Right Cessation
- 2001-10-22 HK HK01107371A patent/HK1037037A1/en not_active IP Right Cessation
-
2002
- 2002-02-28 JP JP2002053713A patent/JP3663386B2/en not_active Expired - Lifetime
- 2002-02-28 JP JP2002053699A patent/JP3663385B2/en not_active Expired - Lifetime
-
2003
- 2003-06-03 JP JP2003158059A patent/JP3834562B2/en not_active Expired - Lifetime
-
2006
- 2006-02-28 JP JP2006051939A patent/JP4209428B2/en not_active Expired - Lifetime
- 2006-02-28 JP JP2006051942A patent/JP4195470B2/en not_active Expired - Lifetime
- 2006-02-28 JP JP2006051934A patent/JP4195469B2/en not_active Expired - Lifetime
Also Published As
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 |