EP1179249A2 - Reseau de communication relativement hierarchise a acheminement reparti entre des commutateurs modulaires comportant des codes de securite paquetises, un mode de commutation par parite et des modeles de transmission prioritaires - Google Patents

Reseau de communication relativement hierarchise a acheminement reparti entre des commutateurs modulaires comportant des codes de securite paquetises, un mode de commutation par parite et des modeles de transmission prioritaires

Info

Publication number
EP1179249A2
EP1179249A2 EP00930750A EP00930750A EP1179249A2 EP 1179249 A2 EP1179249 A2 EP 1179249A2 EP 00930750 A EP00930750 A EP 00930750A EP 00930750 A EP00930750 A EP 00930750A EP 1179249 A2 EP1179249 A2 EP 1179249A2
Authority
EP
European Patent Office
Prior art keywords
packet
module
data
network
withm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP00930750A
Other languages
German (de)
English (en)
Inventor
Rupaka Mahalingaiah
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.)
Dunti Corp
Original Assignee
Dunti Corp
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
Priority claimed from US09/312,240 external-priority patent/US6788701B1/en
Priority claimed from US09/312,241 external-priority patent/US6643286B1/en
Priority claimed from US09/356,645 external-priority patent/US6654346B1/en
Priority claimed from US09/356,651 external-priority patent/US6754214B1/en
Application filed by Dunti Corp filed Critical Dunti Corp
Publication of EP1179249A2 publication Critical patent/EP1179249A2/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing

Definitions

  • This invention relates to a communication system ("network”) and, more particularly, to a network of interconnected nodes and/or modular switches (“modules”) that have a hierarchical identification address based on the topological, structured relationship of one module to another.
  • Each module can have a structured address or identification number and, knowmg an end module address, a data packet targeted for that module need only perform a single mapping translation when traversing the network.
  • the entry end module can perform fast read operations to wrap an internet protocol (“IP”) address with the structured addresses of modules throughout the structured network.
  • IP internet protocol
  • the data can be forwarded across the structured network accordmg to security levels, reject unsecured accesses, authorize transmission from the network, and detect network locations undergomg security violations.
  • Transmissions can be undertaken accordmg to a transmission p ⁇ o ⁇ ty scheme whereby packets of data are sent between nodes and/or modules depending on the hierarchical level of the forwarding modules.
  • Each packet can have one or more pa ⁇ ty bits in order to discern the header, trailer, and data portions of the packet, and to detect and/or co ⁇ ect e ⁇ ors contained therein. Even if the network is partially severed, transmission can be maintained.
  • a communication network is generally regarded as an interconnected set of subnetworks or subnets.
  • the network can extend over localized subnets as an intranet, or can extend globally as an internet between one or more intranets.
  • a communication network can therefore forward data within a localized network between termination devices extending to almost anywhere around the world.
  • the termination devices mclude any data entry/ret ⁇ eval system (e.g., telephone or computer), and a network includes a local and/or global interconnection of termination devices configured on one or more subnets.
  • the basic underpinnings of network operation is the va ⁇ ous protocols used to communicate across the network.
  • a popular foundation for those protocols is the Open System Interconnect (“OSI") model. Usmg that model or a de ⁇ vative thereof, protocols can be developed which work m concert with each other.
  • a popular communication protocol includes the Transmission Control Protocol (“TCP”) and the Internet Protocol (“IP”).
  • TCP/IP are used in networks that are known as packet-switched networks.
  • TCP/IP are used in networks that are known as packet-switched networks.
  • ATM asynchronous transfer mode
  • Packet-switched and cell-switched networks are in contrast with circuit-switched networks, such as the telephone system.
  • packet or cell switching evenly allocates or "switches" packet or cell portions of the message across dissimilar routes of the network.
  • packet switching henceforth refers gene ⁇ cally to switching message portions, regardless of whether that portion is a cell or packet.
  • TCP/IP deliver data across the network in the form of a packet.
  • Each packet of a particular message may be sent across different routes of the network at the same time, and then reassembled at the proper termination device.
  • OSI Open System Interconnect
  • certain layers of the popular Open System Interconnect ("OSI") protocol stack will wrap the data before the packet is sent across the network.
  • OSI Open System Interconnect
  • TCP can divide data into segments that are then placed into, for example.
  • IP l datagrams having a segment of data interposed between a header and a trailer
  • the combination of header, data segment, and trailer is interchangeably called the IP datagram or "packet"
  • the IP datagram can be further wrapped using a Point-to-Point Protocol ("PPP"), a popular such protocol being that which follows the Ethernet specification at the physical layer Thus, it is not until the data segment has been wrapped possibly numerous times will the packet be forwarded across the network
  • PPP Point-to-Point Protocol
  • va ⁇ ous classes of devices including b ⁇ dges, routers, and switches B ⁇ dges and switches for the most pan operate p ⁇ ma ⁇ ly in hardware and within the domain of the data link layer
  • Legacy routers operate within the network layer and can be programmed and reconfigured to intelligently forward packets across the network according to the most optimal routing path
  • a switch and b ⁇ dge be employed mostly in hardware Based on configuration of the switch or b ⁇ dge. all data packets received by a particular input port are routinely sent to any particular output port or ports This operation can be quickly repeated each time a packet is received
  • switches While switches are relatively fast and can send data from an input port to an output port with very little delay or lag time, switches do not have the capability to adapt to change in traffic conditions as do routers
  • routers can easily adapt to avoid traffic bottlenecks, routers employ look-up tables and fairly complex routing algorithms Typical routers are based on a packet processor
  • the processor can be programmed to determine the most optimal connection between input and output ports of the router Coupled to the processor is a memory bus and associated system memory, whereby routing tables can be stored in the system memory and are pe ⁇ odically fetched by the processor whenever a routing decision is to be made Thus, when a packet is received on one port of the router, the processor will execute a look-up operation by fetching the approp ⁇ ate table information from system memory
  • Most routing tables are dynamic, in that they constantly change as network traffic and conditions change, so that the processor can interconnect the ports in a way that is most efficient at that time Dynamic routing tables can be built and re-built using various routing protocols, popular such protocols include Routing Information Protocol ("RIP") and Exte ⁇ or Gateway Protocol (“EGP”)
  • Pe ⁇ odically programming the routing tables may mean that one router on a nerwork will not know the location of the physically closest router or its placement within the network The router will simply route based on its existing routing table and the resulting look-up outcome Such a system can be considered a non-relative or non-deterministic router topography
  • Non-deterministic routers tend to rely on the number of hops (i e , the number of routers or gateways) when determining the most optimal routmg path
  • a router may know the number of additional routers on a given path, it does not necessa ⁇ ly know or have a link to the identity of those routers
  • a packet will travel more than 10 or 20 hops before amving at its destination
  • a hop is equivalent to a traversal of a router or address translator More specifically, a hop is defined as an operation that invokes a look-up or translation operation When travehng across a network, a packet may be sent across numerous look-up or translation tables, and also through numerous switches, before amving at its destination It is generally recognized that transmission latency is lessened, and transmission bandwidth increased, if the number of hops is reduced Therefore, it is desirable that the number of hops from one termination device to another termination device be minimal This is due, in part, to the time-consumptive look-up (or address translation modification) procedure performed by each router
  • each look-up table must include identification numbers or addresses for each of the other routers within the network - even those not w ithin the optimal routing path The destination address is compared against each of those identification numbers for each routmg operation If a network is quite large, the access times needed to perform a look-up from the packet processor to the system memory can be co ⁇ espondingly long This problem is compounded with the advent of high speed networks of one gigabits per second (Gb/s) or higher Look-up techniques needed to render forwarding decisions on rather large look-up tables drastically reduces the benefits of using high speed networks Many termination devices use high speed physical media, such as Ethernet Moreover, subnet loops which interconnect localized devices can use even higher speed signals such as, for example, Synchronous Optical Networks ("SONETs”) If the IP packets enter the mput port of a router more quickly than that router can process those packets, the packets are sent to an m
  • SONETs Synchronous Optical Networks
  • an improved switch hereinafter refe ⁇ ed to as a "module” or, alternatively, as a “modular switch” havmg switching speeds of a conventional switch yet also havmg the adaptability of a router
  • the improved module would avoid the throughput constraints of a conventional packet processor and system memory mterface and, more importantly, the det ⁇ ments of an extensive look-up table.
  • the desired module would be even more beneficial if it could maintain backward compatibility with the OSI model, protocols of that model, and address resolution used by va ⁇ ous Address Resolution Protocols ("ARP").
  • the improved module could desirably be used in an overall network that is deterministic as to the relative placement of each switch within that network
  • the module could determine if it should wrap (or st ⁇ p) mcommg packets as an end module or should pass-through packets as an mtermediate or pass-through module, both modules advantageously performing those functions with minimal time delay
  • Accesses can be controlled for numerous reasons, some of which include security and p ⁇ o ⁇ tization Security deals with rest ⁇ cting improper accesses, while p ⁇ o ⁇ tization deals with p ⁇ ontizing an access to a shared resource
  • firewalls implemented m hardware and software (e g , proxy servers, bastion hosts, filtenng routers) and or authentication systems implemented in solely m software (e g , passwords and encryption code)
  • Most firewalls use some form of screening subnet architecture that analyzes the mcommg internet packet to determine if that packet should be placed on the internal, intranet structure Analyzing the packet and, more specifically, the source and destination of that packet, typically adds a lag time or latency at the mterface between the intranet and the internet Placing an encryption code also adds overhead to the packet and mvolves time-consumptive decryption at the receivmg end of the network Use of passwords appears less consumptive of transmission bandwidth Passwords, however,
  • Modem day networks are expected not only to be highly secure, but also to support numerous types of applications, some of which may require greater bandwidth than others Other applications may require deterministic response time across the network Network managers mav be required to adapt the network, or at least portions of the network, so that it can guarantee a predetermined amount of bandwidth and/ or propagation time for a requested Quality Of Service (“QOS”)
  • QOS Quality Of Service
  • the term "QOS” generally subsumes all the va ⁇ ous terms used to descnbe "accesses" between a pair of termination devices Access is therefore a term that can be quantified to include the speed and degree of secu ⁇ ty by which packets travel between termination devices and the fault tolerance measures which ensure the transmitted signal is clear and accurate
  • the network manager may require, for example, fast, highly secure communication between termination devices residing on a local intranet, whereby the termination devices are sending both voice and video in a time-sensitive manner
  • the network manager may therefore need to give p ⁇ o ⁇ ty to packets sent (or received) to and from some, but not all, termination devices within the network
  • the size of the data segment bemg wrapped is often governed by the minimum size of the physical layer protocol. For example, Ethernet specification may require that a minimum data segment size is 64 bytes.
  • the overall size of the packet is governed based on the number of layers specified and the particular PPP used. Generally speakmg, each segment of data being wrapped includes a rather significant header and trailer portion of the overall packet. As the header and trailer portions mcrease relative to the data segment, the overhead increases and transmission efficiency decreases.
  • a se ⁇ es of bits which mdicate the start of a packet Contained within the header is a se ⁇ es of bits which mdicate the start of a packet.
  • the start-of-packet sequence is generally fixed with specified bit values that, whenever detected, signify all bits which follow pertaining to a unique packet.
  • Also contained within the header are addressing bits that tell the packet where, within the network, the packet is destined. For example, a termination device may have a unique identification number that is addressed by the destination address within the header.
  • the trailer may contam a series of bits which mdicate the end of a packet.
  • the end-of-packet designator similar to the start-of-packet designator, contains a unique se ⁇ es of bit values that are fixed and identify the end of a packet when encountered. Also included within the trailer might be e ⁇ or detection and correction bits, as well as possible security codes and/or pno ⁇ ty codes.
  • the secu ⁇ ty codes provide a secure transfer while pno ⁇ ty codes label each packet transmission priority based on us co ⁇ espondmg code.
  • the start-of-packet and end-of-packet designators contam a fixed and recognizable bit field.
  • the data segment is a variable bit field and, in some mstances, might have bytes or words contammg the same bit values as the start-of-packet or end-of-packet designators. In these circumstances, one or more bytes within the data segment may incorrectly signify a start-of-packet or end-of-packet condition.
  • one or more words within that segment might mdicate that the earlier portion of the segment belongs to one packet and the latter portion of that segment belongs to another packet should, for example, those words have the same bit values as start-of-packet or end-of-packet designator
  • Identifying data separate from the header or trailer not only would be beneficial if done with minimal overhead, but also could have additional advantages if performed within the purview of transmission error detection, and/or co ⁇ ec ⁇ on
  • the packet Once the packet has been properly wrapped, it will m most mstances be forwarded unhindered across the network. Unfortunately, however, transmission disruptions can often occur. Such might be the case where a transmission path of the network is severed, or otherwise temporanly or permanently disabled If the disrupted path is m a cntical segment of the network, it may be impossible to reroute a packet between termination devices while avoidmg that path. Thus, even with networks havmg more than several alternative routes between a pair of termination devices, a disrupted cntical route would disable the entire network transmission.
  • redundancy In an effort to obviate temporary or permanent network downtime resultmg from a disturbed (i.e.. corrupted, disabled, or severed) transmission path, many architectures use redundancy. For example, in a ring topology, transmission from one station to another station connected to the ⁇ ng proceeds in a smgle direction around the ⁇ ng. If the transmission channel is disturbed, transmissions between those stations can no longer take place if. indeed, those stations are separated by the disruption. Usmg a second, or "redundant,” channel, redundant packets can be sent m both directions on both channels around the nng. Thus, if the left transmission channel is cut, the right transmission channel is able to maintain transmission in the ⁇ ght direction around the ⁇ ng.
  • data packets can be sent in both directions simultaneously.
  • One direction can be designated as the primary transmission direction Normally, packets will be received from this path. Packets received from the other path will be dropped at the receiver end. However, if there is a disruption in the primary direction, the receiver will receive the packet via the alternate direction.
  • An alternative example may be a star or mesh topology, whereby transmission can proceed from station A to station B either directly or, if the channel separatmg stations A and B is disturbed, then transmission can proceed through a redundant channel such as from station A to station C and station C to station B.
  • a transmission path includes two or more alternative transmission channels, where one channel is the primary channel and the other channels can be considered redundant channels.
  • Each channel is deemed either a copper conductor, fiber or wireless transmission medium.
  • the primary and redundant channels can be formed in a smgle transmission path around the loop.
  • transmission channels can exists between each of n-1 number of stations, where n equals the number of stations within the star
  • transmission channels exist between each pair of n stations.
  • the redundant transmission channel can be the alternative pathway between two stations via other stations.
  • a smgle fiber will consist of multiple strands and each strand consists of multiple Wave Division Multiplex (WDM) channels.
  • WDM Wave Division Multiplex
  • a physical cut (or severance) of the fiber will generally result in disruption of services for all channels associated with that fiber Frequently, this will result in disruption of service in both primary and redundant channels at that pomt.
  • both the primary and redundant channels can be clad m a umtary structure, and whenever one is cut it is most likely that the other channel will also be cut thereby rendering useless the entire redundancy feature. Therefore, even though Synchronous Optical Networks ("SONET") employ redundant optical fibers, a disruption of both the primary and redundant fiber can, at the very least, reduce the overall transmission bandwidth or, in the extreme, prevent transmission altogether Usmg the former mstance and the aforesaid example, if both the left and ⁇ ght fibers are cut between stations A and B, station A can still send mformation across, for example, the ⁇ ght fiber to station B, and can send packets across the left fiber to an mtermediate station upstream of the cut.
  • SONET Synchronous Optical Networks
  • the problems outlined above are in large part solved by a structured nerwork.
  • the modules due to an awareness of their position or location with respect to the structured network, allow adaptive fast forwarding of packets across the network
  • the modules represent an improvement over conventional switches and/or routers Instead of statically routing packets in the same manner each time, as m conventional switches, the modules mclude some features of conventional routers, yet without the det ⁇ ments of routers
  • the modules can forward and/or direct packets of data relatively fast (similar to conventional switches), and can dynamically change the forwarding path based on activity within the network
  • the modules perform a hyb ⁇ d of a switch route function and are henceforth mterchangeably refe ⁇ ed to as switches or modules based on the speed at which thev forward packet
  • decoding operations eliminate routmg m what was determined, at a higher hierarchical level, to be an unused path. Decodmg withm lower levels can be rest ⁇ cted only to those switches that the higher levels pomt toward. Moreover, decodmg can be accomplished in a fairly rapid manner and need not occur if a companson at the higher level will direct the packet to another branch of lower level switches.
  • each switch is assigned an identification number based on its relative position withm the network
  • the structured network can be thought of as havmg a relative or deterministic routing topography absent the det ⁇ ments of conventional routers
  • the deterministic routing acts as a dist ⁇ ubbed router.
  • the distnubbed router performs incremental routing functions at every node and the data forwarding function is achieved across the entire network
  • the structured network is at least one switch or module and, preferably, numerous switches or modules interconnected to form an intranet, an internet, or a combmation of both
  • the switches or modules can be classified as an end switch or module, a pass-through switch or module, or an mtermediate switch or module.
  • the end modules are those that are configured adjacent termination devices and are used to perform protocol wrapping functions as packets of data enter the structured network, or st ⁇ p protocol used by the structured network when packets exit the network
  • the end modules also perform a routing function similar to mtermediate modules or pass-through modules (mterchangeably refe ⁇ ed to as switches).
  • the end switches or modules, mtermediate switches or modules, and pass-through switches or modules can be configured in hardware to be substantially the same, with only the programmed function bemg different based on where withm the network the modules are placed.
  • Each module mcludes a minimum of one bi-directional port and a traffic manager which controls the port, or ports.
  • the number of ports is scalable in that there may be one or more mput ports and one or more output ports a ⁇ anged m vanous configurations with the traffic manager decidmg which packet received on an mput port will be forwarded to which of the va ⁇ ous output ports.
  • the traffic manager m cludes a decoder and va ⁇ ous buffers.
  • the decoder performs a companson between the destination address and the identification number of that module based on the position of that module withm the overall structured network
  • the companson and decision are based on the companson represented as an incremental step m the dist ⁇ ubbed routmg function (data forwarding function) of the network.
  • a shared or dist ⁇ mped buffer may be placed withm the data flow path to receive a packet and to forward that packet to the appropnate output port based on the destmation address Instead of forwarding the data mto a buffer, the data can be selectively forwarded across one or more bypass conductors coupled in parallel across the buffer
  • a module which forms an mtermediate module or end module can be configured with bypass operations applicable to a pass-through module or a pass-through node, and the bypass paths are used to reduce latency in the modules.
  • the buffer can also be contained with an end module and configured with control mformation Through a se ⁇ es of read or fetch operations, the buffer may be used to wrap an mcommg packet and associated address with control mformation as well as an o ⁇ gmatmg address of the end module.
  • the fetch operations occur m rapid succession from a traffic controller of the traffic manager
  • the structured network is one that is completely compatible with protocols cu ⁇ ently used m, for example, the OSI model Specifically, a conventional address resolution protocol can be used to determine the location of a destination termination device by comparing an address (e g JP address) broadcast over the structured network
  • an address e g JP address
  • the end module withm the structured network that is linked to the termmation device can also be found
  • the end module nearest the destmation termination device can be thought of as an exit end module whose identification number is known
  • packets of mformation are to be sent to the destination termmation device, it is known that those packets will be targeted to the exit end module and forwardmg operations are achieved through the hierarchical decode operation usmg a senes of compare operations withm only select modules of certain hierarchical levels.
  • the entry end module adjacent the entry termination device will wrap the physical media packet with an ongina ⁇ ng identification number of the entry end module The packet can then be
  • mappmg When the packet arrives upon the exit end module, control mformation of the structured network is stnpped from the packet and a relatively small mappmg table may be used to forward the packet to a relatively small number of destination termination devices selectively linked to the exit end module If. however, only one termination device is linked to the exit end module, then mappmg is not needed and consequently, no translation need occur
  • the companson or translation performed at the exit end module occurs to bndge the gap between the structured network and any external protocol or domain, hence the translation is a full companson.
  • a full 32-bit random IP address can be used to look-up a 48-bit Ethernet address of the termmation device Across the structured network, instead of havmg to make a comparison of an mcommg address agamst all module identification numbers, the deterministic network hereof need only compare a field of bits withm a certain level of the network dependmg on where the entry end module is located withm the hierarchical level Further comparisons are performed only on a field-by- field basis, each time lessening the number of fields need g companson In instances where the structured network is quite small, companson may be required only on a single field to determine, for example, whether to forward the packet left or ⁇ ght around a smgle loop.
  • the number of termmation devices connected to the exit module is significantly smaller than the sum total of modules or nodes withm a network
  • the extent of the translation table associated with the exit end module is local to that module's location withm the network node and to the domain of the termination devices known to be connected to it
  • the mappmg table is completely mdependent of the intenor structured network and is based solely on a known relationship between an exit end module and termmation devices connected thereto. This allows the mapping table to be static for the most part Any changes to this table is completely localized and does not require updating of other nodes and/or modules withm the structured network
  • the addressing mechanism thereby targets the exit end module after performing a conventional address resolution protocol
  • the forwarded data can be directed to the entry end module via the entry end module identification number placed on the packet received by the destination termmation device Accordmgly, m a reply to the onginating packet, no look-ups are needed.
  • mappmg Only a relatively small mappmg operation may be needed when forwardmg the reply outside of the structured network (i.e., when forwardmg the reply packet back to the onginating termination device)
  • mappmg occurs when routmg packets of data from the structured network, either to the destination termmation device or back to the ongination termmation device
  • All routmg functions are achieved by a field- by-field companson, much like a dist ⁇ ubbed routing operation.
  • the entry and exit end module identification numbers may be configured or re-configured such that they are recognizable to the termination devices connected thereto. For example, if the network is to receive Ethernet-based packets, then the entry and exit end modules are configured with identification numbers that are withm the Ethernet address range. Since the network is structured, with successive nodes and or modules bemg recognizable to each other, all other modules m the network are in the same addressing domain. This allows for replacement of the termmation device address with the identification number of the entry/exit end module proximate to that device. Importantly, the termination device which forwards the destination address can now recognize that the address (e.g., Ethernet address) of the termination device at the opposmg end of the network is at the Ethernet address of the end switch connected to that device.
  • the address e.g., Ethernet address
  • the mcommg termination device address (e.g., Ethernet address) can be replaced with the Ethernet address of the entry end module (i.e., the entry end module identification number) m the data packet.
  • the targeted or destmation termmation device recognizes that the data o ⁇ gmatmg from the mcommg termmation device is that of the entry end module and now knows to forward all replies to the identification number, or address, of that module
  • the reply reaches the onginating entry end module (i.e., exit end module for the reply)
  • the next highest level of protocol e.g., IP address
  • the relatively simple look-up like the request look-up preferably mvolves a small, static look-up table local only to the end modules.
  • the only ent ⁇ es withm the table are the next protocol level (e.g., IP withm the protocol stack) relative to the physical protocol level (e.g., Ethernet) address mappmg.
  • a traditional hop used by conventional routers may involve replacement of a lower level (e.g., Ethernet) source and destmation address of the packet with the next destmation Ethernet address.
  • the next destination Ethernet address (or hop address) is determmed by the routmg table withm the convention router, said table is dynamically managed by the network.
  • the present modules replace the source address at the entry and destination address at the exit end module, but not for purposes of "hop" routmg. Instead, the present modules merely allows for more than one termmation device per entry-exit module. If only one termmation device is coupled to an end module, then address translation, look-up or hop is not needed. Simply a 1-to-N or N-to-1 mappmg occurs.
  • the exit end module simply performs a mappmg of 1 -to-N when exitmg the structured network, provided of course that N termination devices are present. If only one termmation device is present, or if routmg functions are present in multiple termmation devices, then the end modules need not perform any mappmg whatsoever.
  • the traffic manager withm a pa ⁇ icular module can be combmed with other traffic managers of other modules to form a modular a ⁇ angement havmg any of numerous mput and output port configurations.
  • each mput port of the modular-connected traffic managers can receive data at differing speeds and with diffe ⁇ ng formats or protocols
  • the modular connection of traffic managers can form an overall module that is compatible with dissimilar protocols and transmission speeds for use in any desired network connection or multiple network connections.
  • the input port att ⁇ ubbed with a first traffic manager can receive 1.0 gigabit Ethernet information
  • another mput port att ⁇ ubbed with another traffic manager can receive 5.0 gigabit fiber optic mformation.
  • each traffic manager mcludes buffers which not only receive and temporanly store packets, but also are used to mterface with differing transmission speeds of packets forwarded to the mput port and packets exiting from the output port.
  • a modularized, interconnected set of traffic managers and associated ports is a local bus which couples a control processor to each of the scaled traffic managers.
  • a smgle control processor can therefore be used to receive diagnostic, monitonng, and control mformation necessary to perform those functions upon one or more of the mter-linked traffic managers.
  • the diagnostic, monitonng, and control information can be sent across an optical fiber, a copper conductor, or a wireless medium to the control processor which will then forward the appropriate control signals across the local bus.
  • the diagnostic, monitormg and control (“DCM”) signals may be transmitted to the control processors and traffic managers usmg the same network, resulting m an m-band signally or more optimally, the processors and traffic managers can use the DMC signal for out-of- band signaling.
  • DCM diagnostic, monitormg and control
  • the traffic managers can be programmed or configured when they are installed withm the network and reconfigured from a centralized location at a later date via a transceiver and the control processor.
  • Reconfiguration performed in conjunction with self-testing operations can determine histo ⁇ cal traffic congestion areas of the nerwork to allow the network to adapt and reroute packets away from the congested areas.
  • Reroutmg can occur either by configuring the traffic managers m those suspected areas or broadcasting a reconfiguration signal from the centralized locations.
  • the DMC signals sent to the control processor, and the control processor and local bus mterface can remam entirely outside the data flow path. Data flow does not depend on, and therefore is not slowed by, access to and from the control processor. Once the control processor has performed its function, further access thereto is not needed
  • Both the secunty code and the p ⁇ o ⁇ ty code are placed withm the header of each individual packet so as to assign a QOS on a packet-by-packet basis.
  • the added flexibility of assigning QOS to each packet not only enhances the dynamics of resource allocation over a relatively short pe ⁇ od of time, but also establishes a packet-switched security network
  • the network is a structured network that is se p and controlled mdependent of the data flow path. By separatmg the data flow path from control and semp mcludmg QOS control, it can be assured that secu ⁇ ty features (packet sniffing and packet spoofing) are substantially eliminated at each module smce accesses via the network data flow path to control mformation cannot be achieved
  • Each module can be semp to send or accept packets o ⁇ gmatmg from or addressed to specific modules of the structured network
  • each module can be assigned a security code that is placed on the packet traversing that module, and the downstream module will either grant access or deny access based on secu ⁇ ty code placed upstream.
  • modules can be programmed to only pass certain classes of messages based again on the secu ⁇ ty class of the o ⁇ gmatmg, or upstream, module as designated by the identification number of that module and or the secunty code assigned to that module.
  • a trailer may be added to the packet to note if a secunty breach has occurred somewhere withm the secured network, and the location of that breach -- either packet sniffing or packet spoofing at a particular module havmg a unique identification number or secu ⁇ ty code
  • unique secunty code can be assigned to each module In other instances, there could be a unique identification number for each module and several secunty codes assigned to groupmgs of modules based on the secured status or class of those grouped modules The same applies to the p ⁇ o ⁇ ty code also.
  • the exit end module may contam one or more mappmg tables selectable by the secu ⁇ ty code transfe ⁇ ed with the packet that ar ⁇ ves on the exit end module
  • the selected mappmg table contains a grouping of identification numbers att ⁇ ubbed to the upstream module or the entry end module If the identification number forwarded with the packet matches with an identification number in the selected table, then it is known that the termmation device connected to the exit end module is authorized to receive the packet amving upon the exit end module
  • the entry end module and the exit end module provide secunty identification and secunty authorization
  • the trailer placed upon the packet can include the number of modules traversed and the identification number of each module If the count number of modules traversed does not equal the identification number entries, then a secuntv breach is detected and. based on the user s configuration data, isolation of the breached identification number can be determmed From that identification number, an access violation can be pmpomted to a specified module and therefore a termmation device connected to that module
  • the entry or mtermediate module may also assign a p ⁇ o ⁇ ty code based on the mcommg identification number of either a termmation device, a user from a termmation device, or an upstream module and the bandwidth allocated to that upstream module or termination device For a specified bandwidth allocation, p ⁇ o ⁇ ty is given depending on whether the mcommg packets of data exceed or are less than the allocated bandwidth
  • the entry or intermediate module will select mcommg packets from dissimilar nodes upon the shared resource (interconnect bus or link) depending on the p ⁇ o ⁇ ty code of the mcommg packet. If one packet p ⁇ o ⁇ ty code is higher than the other, than the module will operate as an arbiter and select the higher p ⁇ o ⁇ ty packet based on one of numerous types of arbitration schemes
  • the structured network is one which can send a packet a ⁇ anged m a format usable withm any communication system employing panty generators and pa ⁇ tv detectors
  • the improved packet is one that uses at least one panty bit assigned to each word withm the packet
  • a panty bit is generated for each word withm the header, trailer, and data portions of the packet
  • the panty generator generates either even panty or odd panty, dependmg on whether the correspondmg word is withm the data portion, header portion, or trailer portion Accordmg to one embodiment, the generated panty bit produces even panty when combmed with words withm the header or trailer, and produces odd panty when combmed with words withm the data.
  • the generated panty bit produces odd parity when combmed with words withm the header or trailer, and produces even panty when combmed with words in the data Regardless of the panty chosen, the mtent is that panty switches (from even panty to odd panty or vice-versa) between the header and data, and also between the data and the trailer
  • even panty means that when combining the value of the panty bit with values of the co ⁇ espondmg word, the number of 1 's is even
  • a panty detector is any logic which can receive words withm the packet and co ⁇ espondmg panty bits and adds the number of 1 's contained in the word and co ⁇ espondmg panty bit to determme if that number is even or odd
  • "od panty” simply determines if the number of 1 's contained withm the word and co ⁇ espondmg pantv bit is odd
  • a panty generator is one which generates a pa ⁇ tv bit so that, when transmitted, either even panty or odd panty is targeted However, after the word and co ⁇ espondmg panty bit are transfe ⁇ ed.
  • the word and co ⁇ espondmg panty bit be re-checked to see if the generated (1 e , "targeted") even panty condition remains after transmission
  • the panty bit serves two functions
  • the generated panty bit when combmed with the co ⁇ espondmg word, produces a panty condition or value which is different for the header (or trailer) than the data
  • the data can be clearly identified as bemg different from anv designator or control bit pattern withm either the header or trailer
  • the panty bit when received after transmission, can be compared with the co ⁇ espondmg word to determme if the even panty value generated for that word remains as even panty when detected after transmission If the even panty word somehow is modified to odd panty, then it is known that transmission e ⁇ or occu ⁇ ed Conditions which might cause transmission e ⁇ or clude, for example, noise imputed into the transmission channel of the communication network or system at select times which corrupt
  • the panty bit when added to a co ⁇ espondmg word of the header or trailer, produces a value that is dissimilar from the panty bit added to the co ⁇ espondmg word of the data when different panty type (odd or even) is used for data and header/trailer Accordmgly, the data pattern resultmg from this appendmg of dissimilar panty type is different for header/ trailer and the data Thus, same word (or data pattern) in header or trailer will appear different from that in data
  • the improved packet protocol is one which can detect if an e ⁇ or anses from a disturbance withm a specific portion of a communication channel Once the disturbance has been determmed, then stations adjacent to that disturbance will be noted as the receiving module immediately upstream of the disturbance
  • a module is a gene ⁇ c term which desc ⁇ bes a node which can be represented as a station employmg a switch or router, and can forward packets across different physical media
  • the modules are organized according to some predetermined structure withm
  • a communication network is provided The communication network is a structured nerwork with dist ⁇ ubbed routing function compnsmg a plurality of interconnected modules To enable distnaded routmg, each module mcludes an identification number bifurcated mto several groupmgs of bits, or fields
  • a first groupmg of bits helps identify a first module for recei ⁇ mg data of the network p ⁇ or to a second groupmg of bits identify mg a second module for receivmg data from the first module
  • the first module can be considered as bemg withm a first hierarchical level and the second module can be considered within a second hierarchical level
  • the first and second hierarchical levels are not necessa ⁇ ly the highest level and second to highest level, but are simply two levels withm the overall hierarchy
  • a decoder withm the first module can compare an address of the forwarded data or packet with the first groupmg of bits if the address o ⁇ gmates irom a module withm a hierarch
  • the first module, or first set of modules withm the first level are connected upon or between a first set of loops that are associated with a first set of network nodes.
  • the second module, or second set of modules withm the second level are connected upon or between a second set of loops that are associated with a second set of network nodes.
  • at least one network branch may be terminated at both ends by a module withm the first set of modules and a module withm the second set of modules to enable couplmg of the first set of network nodes to the second set of network nodes to provide a selectable routing path.
  • the network nodes and nerwork branches can be thought of as extendmg at least partially between terminating devices to form a data flow path therebetween.
  • the structured network can be modularized.
  • the modular network mcludes a set of modules interconnected across at least a portion of the network.
  • a smgle control processor is also provided havmg a local bus extendmg between the control processor and each of the set of modules The local bus is adapted to receive from the control processor diagnostic, monitormg or control signals.
  • the control signals may mclude signals used to, e.g., reconfigure an identification number for at least one of the set of modules to change routing of data or packets through those set of modules.
  • the control processor can receive wireless or wired (optical or solid conductor) communication from a transceiver placed remote from the control processor.
  • the structured network may mclude more than three nodes and three branches. Only one module within one node may be used to perform a single 1-to-N address mappmg as the data traverses the entire routing network and is forwarded to the selected one of N termination devices with no routmg look-ups m the mterim.
  • the mappmg can be performed by a selection device, such as for example a multiplexer or router, and the mappmg is used to select only between multiple termination devices, and not between ensumg nodes and/or modules withm the network.
  • a method for routmg data.
  • the method mcludes compiling a packet compnsing a destmation address of the exit end switch and a source address of the entry termmation device, and thereafter forwardmg the packet from the entry termmation device to the entry end switch. While maintaining the destmation address, updatmg the source address to the address of the entry end switch while forwardmg the packet from the entry end switch to the exit end switch, exclusive of look-up operations m the interim. While mamtammg the source address, updatmg the destination address to the address of the exit termmation device while routing the packet from the exit end switch to the exit termmation device.
  • an address resolution protocol may be broadcast from the entry termmation device to the entry end module, and thereafter to the exit end module for finding the location of the exit end module relative to the exit termmation device.
  • each module is a traffic manager.
  • the traffic manager may mclude a traffic controller which dispatches a se ⁇ es of read operations to memory coupled withm a data flow path between the mput and output ports of the module.
  • the memory may mclude control information placed therein durmg a configuration cycle.
  • the memory may also temporanly store packets of data dispatched from the mput port.
  • the traffic manager reads the control mformation and the packets of data m a predefined sequence so as to compile a wrapped packet that can then be forwarded to the output port.
  • Both p ⁇ onty codes and secu ⁇ ty codes can be assigned to modules according to vanous hierarchical levels of the network, each level bemg assigned based on where the nodes or modules are arranged structurally relative to one another withm the network For example, the highest p ⁇ onty level may be attnubbed to a smgle loop of interconnected modules needing significant bandwidth resources for use in videoconferencing applications, whereas a lower p ⁇ o ⁇ ry may be assigned to packets destined to one or more modules of another loop where voice transmission is all that is needed, both loops possibly connected to form a multi-loop subnet.
  • the method for wrapping a packet of data may therefore mclude temporanly storing a packet of data m memory located withm the flow path of the packet.
  • a set of read operations can be dispatched to memory for reading va ⁇ ous addresses (destmation and o ⁇ gmation addresses), control information, and the temporanly stored packets, in order to form at least a portion of a wrapped data packet
  • a communication network havmg a plurality of forwardmg modules.
  • the modules can be classified as entry modules, mtermediate modules, or end modules.
  • the entry module may further mclude a buffer contammg a secu ⁇ ty code and a traffic controller coupled to the buffer.
  • the traffic controller may read the secu ⁇ ty code from the buffer and place the secu ⁇ ty code and identification number withm a packet comp ⁇ smg the forwarded data.
  • a counter may be used to count the number of accesses upon the entry module by the entry device and block further accesses if a count value exceeds a value stored withm the storage device.
  • the entry module may further mclude a mappmg table coupled to map the mcommg identification number to a co ⁇ espondmg secu ⁇ ty code.
  • the mcommg data is a ⁇ anged withm a smgle packet and the secured data is transfe ⁇ ed to the communication network on a packet-by-packet basis.
  • An exit module of the communication network may mclude an output po ⁇ adapted to receive a packet of data havmg a header.
  • the header mcludes a secunty code and an identification number.
  • a storage device is contained withm the exit module and compnses a plurality of tables, one of which may be selected by the secu ⁇ ty code of the packet header.
  • the exit module may also include a compare unit coupled between the output port and the storage device for comparing the identification number with entnes withm the selected table to determme if the identification number de ⁇ ves from a secured path that extends at least partially through the communication network.
  • the tables are used to authorize transmission of a secured packet through a termmation device coupled to the exit module.
  • the table may also be used to assure that the identification number of the entry module, or an intermediate module, has assigned to it a secu ⁇ ty code of a proper hierarchical level
  • the packet is either secured or not secured and. if secured, the exit module confirms secu ⁇ ty before sendmg the secured packet to a termmation device that can read the packet
  • the secured path thereby extends from a secured module withm the communication network.
  • the secured module is one having been assigned the secunty code and the identification number and placed the code withm a header of a packet received by the exit module output port.
  • a decoder withm the exit module may be used to decode a groupmg of bits withm the secu ⁇ ty code to select one of a plurality of tables. Accordmg to one example, the groupmg of bits may be selected as the most significant bits withm the secu ⁇ ty code.
  • a decoder withm mtermediate forwardmg modules forces a secure packet to be forwarded only when there is a secunty code mismatch of the mcommg packet with its security tap enable These forces secure broadcast packets to be visible to only other modules withm the network that are authorized to receive this particular secure broadcast transmission Similarly, if a secure packet is destined to a non-secure module, the packet will be rejected by the exit node decoder to prevent a secu ⁇ ty breach.
  • Each identification number is preferably a unique number and the secu ⁇ ty codes are assigned accordmg to their secunty level or class of service. That is, a groupmg of modules that are related to one another may have the same secunty code, but dissimilar from a secunty code of another groupmg placed withm the same network, or which control routmg to dissimilar locations.
  • the entry module may be coupled to assign and transfer a secu ⁇ ty code and an identification number to a packet of data.
  • An exit compare unit within the exit module is coupled to receive the packet of data and compare the secu ⁇ ty code and the identification number before transferring the packet of data from the communication network.
  • Each of the intermediate modules may also include a storage device containing a security code and a compare unit coupled to receive an incoming packet and compare the incoming security code against the security code of the intermediate module to define a secured path through the communication network.
  • Each forwarding module includes an mput port coupled to receive an incoming packet of data.
  • a forwarding module can also include a mapping table which assigns a priority code to the packet depending on the address from which the packet of data was sent. The address is defined as the identification node of the upstream termination device or module.
  • the priority code is assigned depending on an amount of bandwidth allocated to a section of the data flow path to which the packet of data is forwarded from the module. The amount of bandwidth may include an allocated transmission speed of that section of data flow path.
  • the prio ⁇ ty code may be maintained for a plurality of successive packets provided the number of bits forwarded per second by the plurality of successive packets is less than the allocated transmission speed.
  • the priority and /or secunty code may also be maintained for a plurality of forwarding nodes resulting in segment based priority and/or security transmission.
  • the communication network also provides packet-by-packet priority codes. Similar to security, priority can be assigned based on va ⁇ ous factors, such as the overall structure of the network, levels of structure, inte ⁇ elationships of various structurally related nodes and/or modules, the destination address, the source address, or both, so as to achieve data link type functionality. Data link type functionality allows us to have high priority data transmission paths across multiple levels of hierarchy without requiring the particular address having high priority across all of these levels of hierarchy. The priority codes are used to provide a guaranteed response time through certain paths of the network, regardless of whether those paths are secured or not.
  • the communication network can therefore be thought of as including a first forwarding module coupled to receive a first packet of data and assign a first prionty code to the first packet of data depending on an address from which the first packet of data was sent.
  • the network may therefore include a second forwarding module coupled to receive a second packet of data and assign a second priority code to the second packet of data depending on an address from which the second packet of data was sent.
  • An arbiter is coupled to forward the first packet of data across a portion of the communication network instead of a second packet of data if the first prionty code is higher in priority than the second prio ⁇ ty code. The arbiter is therefore said to grant accesses to downstream paths depending on the priority code of the incoming packets.
  • the arbiter decides how to utilize a shared resource (e.g., the downstream path) when two or more packets arrive upon a network node or module.
  • a shared resource e.g., the downstream path
  • the arbiter forwards multiple packets from one source before forwarding multiple packets of another source.
  • Fixed arbitration may be one method, round-robin arbitration may be another.
  • the first forwarding module may be coupled within a first hierarchical portion of the communication network and have a first storage device containing a first grouping of bits unique to that first level.
  • the second forwarding module may be coupled within a second hierarchical portion and have a second storage device containing a second groupmg of bits unique to the second level.
  • a third forwarding module may be coupled withm a third hierarchical portion and mclude a third storage device contammg a third groupmg of bits unique to the third level, as well as an arbiter coupled to forward a packet of data from either the first forwardmg or the second forwardmg module dependmg on a companson of the first, second, and third groupmgs of bits.
  • the arbiter may therefore be used to forward the packet of data from the first forwardmg module if the first groupmg of bits yields a first level of p ⁇ o ⁇ ty greater than the second level of p ⁇ onty.
  • the arbiter can forward the packet of data from the first forwardmg module if the first groupmg of bits yields a first level of pno ⁇ ty the same as the third level of p ⁇ o ⁇ ty.
  • the arbiter may forward the packet of data from the first forwardmg module if the first groupmg of bits yields a first level of pnonty different from the third level of pnonty.
  • the arbiter decides which packet of data is to be forwarded to a shared resource.
  • the first, second, and third groupmgs of bits are read from the first, second, and third storage devices and appended to data forwarded from the first, second, and third forwardmg modules, respectively.
  • the first, second, and third groupmgs of bits are set by instructions sent over a bus separate from the data flow path of the communication network In this manner, a hacker cannot sniff or spoof data packets by accessmg secunty registers and or mappmg tables configured withm the forwardmg modules. Absent access to sensitive mappmg mformation contained therein, a hacker cannot tap mto, wnte, or read packets of data sent across the structured, secured nerwork.
  • the communication system mcludes a transmission channel havmg a panty generator coupled to one end of the transmission channel and a panty detector coupled to the other end of the transmission channel.
  • the panty generator produces a panty bit that, when added to a co ⁇ espondmg word of the header or trailer, produces a data pattern (alternatively known as "panty value") dissimilar from a data pattern (panty value Resulting from a dissimilar panty bit added to a co ⁇ espondmg word of the data.
  • the data pattern attnubbed to the header or trailer is thereby dissimilar from the data pattern attnubbed to data.
  • the generated panty bit is forwarded, along with its co ⁇ espondmg word, across the transmission channel.
  • a panty detector is coupled at the other end of the transmission channel to receive the header, trailer, data, and generated panty.
  • the panty detector is coupled to detect a panty value and determme a co ⁇ espondmg demarcation between the header, trailer, and data.
  • the panty detector thereby detects an actual panty value at the output of the transmission channel that may be dissimilar from the panty value generated by the panty generator.
  • the co ⁇ espondmg actual panty value received by the detector will yield an unexpected value, indicative of transmission e ⁇ or. If a word is discovered to be sent m e ⁇ or, then either the word is dropped altogether, the word is co ⁇ ected, or the word is re-transmitted.
  • a method is preferably used for transfe ⁇ ing mformation across a communication network, and mcludes assignmg at least one panty bit to each word of a data, header, and trailer portion of a packet of mformation.
  • the panty bit forms a different panty value when added to a co ⁇ espondmg word of the data then when added to a co ⁇ espondmg word of the header and/or trailer.
  • the parity value assigned to each word of the data, header, and trailer before bemg transfe ⁇ ed across the network can then be compared against a panty value resulting from transfer across the communication network. If the companson is negative, an e ⁇ or can be determmed m the transfer of the co ⁇ espondmg word. Furthermore, if the quantity of the panty bits transfe ⁇ ed with each word is sufficient, not only can e ⁇ or be detected, but also that e ⁇ or can be co ⁇ ected The mechanism of detecting e ⁇ or and co ⁇ ecting e ⁇ or applies regardless of whether the co ⁇ espondmg word is found withm the header, the trailer, or the data portion of the packet
  • the packet of data transfe ⁇ ed across the structured network mcludes control bits and e ⁇ or identification bits that mdicate where, withm the communication network, a channel dismrbance exists.
  • the control bits and e ⁇ or identification bits contam values dependent on which module, withm a senes of modules connected to the communication network, the dismrbance is adjacent.
  • the control bits may mclude an e ⁇ or value set by the module adjacent to the disturbance and also may mclude an acknowledge value set by a module withm the senes of modules that o ⁇ ginated the packet.
  • the module adjacent the disturbance can be deemed a receivmg module, and the module which o ⁇ gmated the packet can be deemed an o ⁇ gmating module.
  • the module to which the packet is destined can be deemed a destmation module
  • the receivmg module adjacent the dismrbance is a module immediately upstream of the dismrbance Therefore, the receivmg module is the module closest to the dismrbance, and is the last module which receives the packet destined for the destination module which is downstream of the channel dismrbance (I e . severed, disrupted or error-induced channel)
  • upstream and downstream reflect the direction at which the packets are transmitted across the network and the relative locations of modules relative to the disturbance withm that network.
  • the communication system mcludes a transmission path compnsmg at least two transmission channels.
  • the system also mcludes a receivmg module connected to the transmission path and havmg a loop-back conductor which operably connects one channel to the other channel, and returns the packet contammg e ⁇ or bits if the transmission channel or path downstream of the receivmg module is dismrbed
  • the e ⁇ or bits returned with the packet by the receivmg module may mclude an acknowledge value set by the ongmatmg module whenever the e ⁇ or bits remmed from the receivmg module mdicate the transmission path is disturbed.
  • the acknowledge value is used to instruct the ongmatmg module to either drop the packet or re-send the packet m an opposite direction around the loop to which the ongmatmg module and destination module are attached.
  • the e ⁇ or bits m clude one or more unique identification number assigned to the receivmg module to note the receivmg module was the last of a plurality of modules that received the packet destined for a destination module Thus, the e ⁇ or value set by the e ⁇ or bits notes that a particular receivmg module was the last module not to detect a disturbance
  • Each module withm the overall network is noted above as havmg a unique identification number That identification number is assigned based on the hierarchical status of all modules withm the structured, dist ⁇ vide routing system hereof
  • a method for forwardmg a packet from a ongmatmg module to a destination module can then be received by a receivmg module configured between the originating module and the destination module If the transmission channel is severed between the receivmg module and the destination module, the receivmg module returns the packet to the ongmatmg module with the e ⁇ or bits appropnately set.
  • the receivmg module snoops the packet for absence of a null pattern for a duration that exceeds the time needed to transmit a packet of maximum size allowed m the given protocol If a null pattern does not exist for the pre-deter ined time duration, it is noted that the receivmg module was the last module withm the transmission path that received a packet p ⁇ or to that packet bemg forwarded to the dismrbed channel. The receivmg module can then perform its appropnate loopmg function and approp ⁇ atelv set the e ⁇ or bits.
  • the returned packet contains e ⁇ or bits which mdicate an e ⁇ or or transmission path dismrbance, and further mcludes the unique identification number of the last module (1 e, receiv mg module ) immediately preceding, or upstream, the disturbance.
  • Fig. 1 is a diagram of a set of hierarchically a ⁇ anged nodes withm a structured network configured between nodes of a non-structured network, or between termination devices;
  • Fig. 2 are diagrams of a node configured accordmg to a smgle loop, multi-loop, multiple interconnected multi-loops or pomt-to-pomt topography, each configuration havmg a set of modules interconnected with one another between loops or along a loop or backbone;
  • Fig. 3 is a block diagram of a module employed as either an mtermediate, pass-through or end module, each of which includes a traffic manager;
  • Fig. 4 is a block diagram of a modular implementation of several traffic managers grouped together m building block fashion accordmg to a particular application and linked by a local bus extendmg from a control processor;
  • Fig. 5 is a block diagram of a traffic manager compnsmg a traffic controller linked to buffers and decoders placed withm the data transmission path of the network;
  • Fig. 6 is a block diagram of end modules placed on opposmg ends of the structured, hierarchical nerwork, each end module is shown linked to at least one termmation device and havmg resulting source and destination addresses shown,
  • Fig. 7 is a block diagram of the vanous buffers of Fig. 6 coupled m a shared a ⁇ angement between vanous external ports of the traffic manager, accordmg to one embodiment,
  • Fig. 8 is a block diagram of the vanous buffers of Fig. 6 distnubbed as dedicated buffers withm each data transmission path between respective external ports of the traffic manager, accordmg to another embodiment;
  • Fig. 9 is a module identification number and/or module address packet forwarded through a structured hierarchical network to enable fast decode of bit groupmgs (or fields) on a field-by-field basis accordmg to the hierarchical, relative placement of modules withm levels of the network;
  • Fig. 10 is a logical diagram of nodes and associated switches a ⁇ anged withm levels, each level indicating a field of bits unique to switches withm that level;
  • Fig. 11 is a state diagram of a fast decodmg algonthm used to identify a routmg path through the network of hierarchically placed switches,
  • Fig. 12 is a block diagram of end modules placed on opposmg ends of the structured, hierarchical network, each end module is shown linked to at least one termmation device and havmg resulting source and destination addresses shown;
  • Fig. 13 is a diagram illustrating resolution of an end module address relative to a targeted termination device, and the routmg of data through the entire structured network without involving a hop or look-up operation, except for a relatively small mappmg to possibly N number of targeted termmation devices; Fig.
  • FIG. 14 is a diagram illustrating a buffer of the traffic manager withm an end switch, wherein the buffer is placed withm a data path and contains wrap mformation to be appended to data as it traverses the buffer;
  • Fig 14a is a block diagram of a companson function occumng at the entrv module and, resulting from that companson, placement of security mformation (identification and authorization codes) and pno ⁇ ty code at the header of the packet as well as secu ⁇ ty breach information (auditing codes) at the trailer of the packet,
  • Fig 15 is a state diagram of a sequence of read operations dispatched to the buffer of Fig 6 in order to compile a packet of mformation stored m the buffer,
  • Fig 16 is a block diagram of a selector and various multiplexers which form at least a po ⁇ ion of the decoders shown m Fig 5, wherein the selector and multiplexers route data either directly between ports or between ports via buffers depending upon the availability of the targeted port,
  • Fig 17 is a block diagram of a packet wrapped m accordance with a sequence of read cycles shown in Fig 15, and forwarded across the structured hierarchical network,
  • Fig 18 is a flow diagram of a senes of secunty and pnonty assignment operations occumng withm an entry (or mtermediate) module before forwardmg the wrapped packet to the successive module withm the network,
  • Fig 19 is a block diagram of a mappmg table withm an entry (or mtermediate) module used to assign a secu ⁇ ty code to that module based on the source address ( identification number) of the mcommg packet,
  • Fig 20 is a diagram of a node or several nodes a ⁇ anged m multi-loop, wherem each loop may have a specified security code to effectuate hierarchical transfer of data from loop-to-loop based on the mter-loop secunty code,
  • Fig 21 is a flow diagram of a compare operation used to determine whether to forward data to a successive loop withm, for example, the multi-loop structure shown in Fig 20,
  • Fig 22 is a block diagram of possibly multiple mappmg tables within an exit module, wherem a companson of the ongmatmg identification number withm the entry module can be compared agamst entnes withm the selected mappmg table to determine if a user is authorized to receive the packet co ⁇ espondmg with the secu ⁇ ty code and the ongmatmg identification number,
  • Fig 23 is a flow diagram of the companson routine of Fig 22 for authorizing or not authorizing transmission of the packet to the user at a termination device connected to the exit module.
  • Fig 24 is a block diagram of a mappmg table withm an entry (or intermediate ) module used to assign a p ⁇ onty code to that module based on a bandwidth allocation value and a comparison to the source address (identification number) of the mcommg packet
  • Fig 25 are two examples of timing diagram used to illustrate dynamic assignment of pnonty to a header of a packet dependmg on whether the packet transmission speed exceeds or is less than the bandwidth allocation value
  • Fig 26 is a tuning diagram of an arbitration scheme for granting bandwidth resources among mcommg packets havmg dissimilar p ⁇ o ⁇ ty codes
  • Fig 27 is a diagram of a node or several nodes a ⁇ anged in a multi-loop wherem each module of each loop may have a specified p ⁇ ontv code assignment for packets which traverse the module, and wherem each module which links two or more modules grants mastership to an incoming packet based on an arbitration scheme
  • Fig 28 is a pian diagram of the packet compiled in accordance with Fig 15 wherein the packet preferably contams data wrapped with a header and trailer and each word of mformation contamed therem is preferably assigned one or more pa ⁇ tv bits which when added to the co ⁇ esponding word produces an even or odd parity depending on whether the word is withm the header, trailer or data portion of the packet,
  • Fig. 29 is schematic diagram of block diagram of the a modulo two adder used as an even panty bit generator
  • Fig. 30 is a block diagram of counters that can count a fixed number of words withm the header, trailer or data portion of the packet, and further mcludes panty detectors that can determme if e ⁇ ors occur withm each word and, if sufficient panty bits are provided, provide co ⁇ ection to words contammg e ⁇ ors;
  • Fig 31 is a plan diagram of the packet compiled by a se ⁇ es of fetch operations to the buffers shown m Fig. 15, wherein a control field of bits and an e ⁇ or identification field of bits contamed withm the header and trailer identify the location of a dismrbed transmission path, or individual transmission channels which form a path;
  • Fig. 32 is a plan diagram of the control field of bits used to note and acknowledge an e ⁇ or, and maintain efficient transfers even though an e ⁇ or (e g , ring, star or mesh transmission path or channel dismrbance) has occu ⁇ ed,
  • an e ⁇ or e g , ring, star or mesh transmission path or channel dismrbance
  • Fig 33 is a plan diagram of a mesh or star topology of multiple modules interconnected with one another and employed to send and receive e ⁇ or control bits and e ⁇ or identification bits withm packets forwarded across the topology, and
  • Fig. 34 is a plan diagram of one type of network employmg a ⁇ ng, wherem the nng or loop mcludes a set of modules connected to a pair of fibers or connected to a pair of conductors or wireless media, each of which are henceforth refe ⁇ ed to as transmission channels.
  • Fig 1 illustrates a communication network 10 Network 10 mcludes an interconnection of subnets linked by nodes 12
  • Network 10 can be thought of as one or more intranets interconnected with one another, or interconnected via an internet.
  • Each node 12 may embody a subnet or a plurality of mtercoimected subnets
  • Select nodes 12a and 12b can be used to receive mput data mto the structured network or transmit output data from the structured network
  • Nodes 12a and 12b can be connected to external nodes of a conventional network or termmation devices 14
  • Fig. 2 illustrates exemplary forms of node 12 and.
  • an entry module 16a receives packets of data from a termmation device 14
  • Node 12c illustrates a node compnsmg modules interconnected about a nng topography, refe ⁇ ed to as a "loop"
  • the entry module 16a are mtermediate modules 16b and 16c
  • va ⁇ ous nodes 12 can be classified as smgle nodes or multi-nodes, each of which can be an end node, a pass-through, or an mtermediate node dependmg on where withm the network they are arranged
  • the va ⁇ ous modules withm each node can also be classified as an end module, a pass-through, or an mtermediate module based on their position withm the network
  • node 12d is the lnter- relationship between an end module 16a and an intermediate module 16b
  • An end module 16a is classified as either an entry module or an exit module, dependmg on whether it receives packets coming mto the structured network or transmits packets from the structured network.
  • An mtermediate module simply passes the packets from one module to another module, or from one node to another node.
  • Each module is configured m hardware to be somewhat similar to other modules, dependent only on the number of mput and output ports needed by that particular module Variability is imparted m the way m which the modules are programmed.
  • An entry module is programmed to w ⁇ ap the mcommg packets, an mtermediate module may modify and/or forward the wrapped packets, and an end module strips the wrap mformation. Specificity of each module is imparted during configuration dependent on each module's position withm the overall network It is understood that the modules access physical media and configuration occurs withm registers or each module.
  • a decoder which operates similar to a Media Access Controller ("MAC") discerns the incoming packets based on the destmation MAC address usmg vanous types of physical media protocol, such as Ethernet. Token Ring, FDDI, or ATM.
  • MAC Media Access Controller
  • Node 12e illustrates two multi-loop combmations of modules, the multi-loops are indicated as reference numerals 20a and 20b
  • Each multi-loop 20 is shown interconnected bv an intermediate module 16b. It may be that one or more mtermediate modules of the node are configured off the loop, as shown by reference numeral 18.
  • Modules 16 can have almost any number of mput and output po ⁇ s. and can be configured to either wrap an mcommg packet, st ⁇ p an outgoing packet, and/or pass-through the original packet or modified packet (with or without buffering), dependmg on where the module is m relation to the network topography or termmation devices 14. Incoming packets can be received over any type of media, mcludmg wired media or wireless media.
  • Fig. 3 illustrates a traffic manager 22 which serves numerous functions, one of which is to optimally route packets of data between mput and output ports.
  • the number of mput and output ports can vary and the interconnection between certain input ports and certain output ports can also vary dependmg on the configuration of modules 16 Modules 16 can be called upon to mterface with a different physical media than the loop protocol by usmg a Physical Media Interface ("PMI") 24.
  • PMI 24 performs many functions, one of which mcludes the MAC function of moving data over physical hardware conductors based on the physical address on each network mterface card withm the computer termination device, and another of which is to synchronize the packets of data being sent or received. If modules 16 is not used to convert between OSI layers, then the wrapped packet (e.g., a physical media packet wrapped with higher domain protocols) may be directly sent through modules 16 to the approp ⁇ ate port.
  • the wrapped packet e.g., a physical media packet wrapped with higher domain protocols
  • Fig. 4 illustrates the modula ⁇ ty by which multiple traffic managers can be interconnected to a control processor 25 via a local bus.
  • the functions of control processor 25 and its associated local bus are completely separate from and outside the data communication path of the forwarded packets
  • packets are received by mput ports, shown as port A and are disbursed to output ports, shown as port B or C
  • the mcommg packets on port Ai can be forwarded at a dissimilar speed and possibly with a dissimilar protocol from that of packets forwarded across port A 2 .
  • packets speeds for port Ai may be 1.0 Gb/s, whereas speeds across port A 2 may be 2.5 Gb/s.
  • the mcommg packets on port A may be 1.0 Gb/s, whereas speeds across port A 2 may be 2.5 Gb/s.
  • Traffic managers 22 can each be formed on a printed circuit board 26 separate from each other. Thus, each traffic manager 22 may be formed on a smgle mtegrated circuit or a set of mtegrated circuits mtercoimected upon a respective printed circuit board.
  • Control processor 25 can be located m a chassis contammg the printed circuit board on which each traffic manager 22 reside, or m a chassis separate from those printed circuit boards.
  • One or more pnnted conductors, cables, or wireless medium may extend from control processor 25 to each of the vanous mtegrated circuits which form traffic managers 22.
  • each traffic manager be configured during assembly of the network.
  • Each traffic manager can mclude programmable logic and. more importantly, non-volatile memory. When programmed, the traffic manager 22 will maintain its programmed status unless it is reconfigured The traffic managers are therefore configurable usmg known "firmware" program techniques. Such techniques mclude programmable read-only memory (“PROM”), programmable registers of non-volatile memory, fuses, anti-fuses, etc.
  • PROM programmable read-only memory
  • fuses programmable registers of non-volatile memory
  • anti-fuses etc.
  • Reconfiguration of the traffic manager can take place if, for example, traffic congestion is discovered m a select region of the network.
  • reconfiguration can occur when the network is changed or expanded.
  • reconfiguration might occur when a section (e.g., subnet) of the network is taken down or deactivated for vanous reasons
  • one or more traffic managers can be reconfigured m the field or, alternatively, those traffic managers can be selectively reconfigured usmg a broadcast technique.
  • Reconfiguration signals may be sent from control processor 25 to achieve that end It is desired that each traffic manager be configured during assembly of the network That is, each traffic manager can mclude programmable logic and, more importantly, non-volatile memory When programmed, the traffic manager will maintain its programmed status unless it is reconfigured.
  • the traffic managers are therefore configurable usmg known program techniques usable with, for example, firmware, such techniques mclude programmable read only memory (“PROM”), programmable registers from non-volatile memory, fuses, anti-fuses, etc.
  • the traffic manager configuration will be maintained unless the network is reconfigured. Reconfiguration can take place if, for example, traffic congestion is discovered m a select region of the network. Alternatively, reconfiguration can occur when the network is changed or expanded. Still further, reconfiguration might occur when a section (e.g., subnet) of the network is taken down or deactivated for vanous reasons. In this mstance, one or more traffic managers can be reconfigured m the field or, alternatively, those traffic managers can be selectively reconfigured usmg a broadcast technique. In particular, a transceiver may be used to transmit reconfiguration signals to control processor 24. whereby processor 24 will dispatch the approp ⁇ ate reconfiguration signals to one or more traffic managers connected to the local bus.
  • Fig. 5 illustrates one example of module modulanty. Illustrated is a loop 30 havmg respective ports of modules 16 connected to that loop. Loop 30 may consist of one or more optical pathways, or metal conductors Each module 16 may have one or more mput ports as well as one or more output ports.
  • Module 1 (MOD ⁇ illustrates a Y-port configuration
  • module 2 (MODW 2 ) illustrates a star-port configuration
  • Module 3 (MOD ) is shown scaled with multiple traffic managers, each havmg at least two ports, one bemg an mput port and the other bemg an output port Coupled between modules may be a diagnostic-momtonng-control (DMC) network.
  • DMC network mcludes any wired or wireless communication network that can selectively forward diagnostic, monitonng. and/or control mformation to a traffic manager at the va ⁇ ous locations of the modules.
  • the DMC network thereby allows modifications to the traffic manager function, wherem the DMC network can extend to all or a select few of traffic managers throughout the network DMC network communication is either separate from the structured network flow path, or can use m-band signaling
  • Fig. 6 illustrates traffic manager 22, shown m further detail.
  • Traffic manager 22 functions to direct mcommg data to an appropnate output port. It determines the output port for an mcommg data packet based on a simple algo ⁇ thm.
  • the traffic manager is aware of its position relative to the network and its neighboring traffic managers or nodes. Based on this knowledge, the traffic manager determines the appropnate output port in accordance with the pre-determined algonthm.
  • the traffic manager 22 also interfaces between ports of different media, speed and direction.
  • the traffic manager can: (l) store the data in a local buffer if the mcommg data is slower than the speed of the directed-to output port, until there is sufficient data to sustam the speed of the output port, (n) forward the data without an intervening storage if the output port is free or if the mcommg data is at the same speed as the output port, or (in) transfer the data through a FIFO type storage device when the mcommg data is coming at a faster rate than the speed of the output port.
  • the traffic manager 22 manages resource allocation, such as allocation of vanous output ports and buffers, and the algonthms make decisions regardmg allocation to reduce the latency through the traffic manager.
  • a cntical flow path for achievmg extremely low latency across the switch is to forward mcommg data from a port to the output of the same port.
  • mput processmg logic of the traffic manager recognizes this case and informs the logic withm a couple of cycles to start the data packet.
  • the wrapped header has the necessary mformation at the very beginning of the packet.
  • Control logic enables the flow through path if the output port is free withm a couple of cycles and informs the output logic.
  • Input logic pipelines the data packet and st ⁇ ps some of the header.
  • Output logic creates the snipped head and starts sendmg the packet out. It then appends the mcommg data and continues the transmission of the packet.
  • mvolvmg multiple cycles an example can be used to mdicate how the traffic manager minimizes latency when undergomg a flow through condition.
  • the sequence of transfers or cycles received begm with a start of packet (cycle 1), followed by a first header (cycle 2), a second header (cycle 3), data 1 (cycle 4), data 2 (cycle 5), data 3 (cycle 6), data 4 (cycle 7), etc., to complete seven exemplary cycles.
  • mcommg logic signals the control logic that there is a flow through packet.
  • control logic notifies the outgomg logic that a flow through packet is on its way and the outgomg logic sets up the start of packet (start of packet mformation remains fixed from packet to packet) and receives header data from the mcommg logic.
  • the seventh cycle mdicates mcommg data bemg passed onto the output port through the output logic.
  • Traffic controller 22, shown in Fig. 6, mcludes one or more buffers, as well as one or more decoders.
  • the buffer is dist ⁇ ubbed as two buffers 34a and 34b
  • the decoder is dist ⁇ ubbed as three decoders 36a, 36b, and 36c. Dist ⁇ bution of the buffers and decoders depends m part on the configuration of the ports. In the example shown m Fig. 6, a three-port configuration is shown. However, more than three ports and possibly only two ports can be used, wherein the number of decoders and buffers would co ⁇ espondmgly change.
  • Each port is shown as a bi-directional port and thereby accommodates full-duplex dialogs.
  • the physical media of port A may be different from that of port B or port C. especially if module 22 is configured as an end module or an intermediate module.
  • decoder 36a serves to decode addresses of an mcommg packet across port A to ensure that module 22 is to receive the packet Traffic controller 38 can be used to decide whether that packet should be forwarded to output port B or port C via decoder 36b
  • the packet can be forwarded directly from port A to port B (or port C), or is forwarded through buffer 34a. Similar to port A, port B and port C incoming packets can be forwarded to port A, port B, or port C via decoder 36c.
  • Traffic controller 38 includes control signals and address lmes extendmg to each of the buffers and decoders for effectuating optimal routmg based on the availability of the destmation ports. Coupled m parallel across buffer 34b is a conductor over which packets can be sent mstead of sendmg those packets through buffer 34b. Thus, incoming packets on port B or port C can be forwarded directly to port A, to port A through buffer 34b, or directly to port B (or port C), as shown m the example of Fig. 6. A bypass conductor could also be shown coupled m parallel across buffer 34a; however, for sake of brevity and clanty m the drawing, only one bypass conductor is shown Fig.
  • FIG. 6 illustrates a three-po ⁇ (or Y) configuration.
  • a different port configuration is contemplated with additional buffers, decoders, bypass conductors, etc , to effectuate any switch configuration and numerous ports of that module m order to directly or indirectly forward packets from any given input port to any desired output port
  • the configuration registers may be configured from an In-System Programming ("ISP") tool used for configurmg a Programmable Logic Device (“PLD”) or a Programmable Gate A ⁇ ay (“PGA”)
  • ISP In-System Programming
  • PLD Programmable Logic Device
  • PGA Programmable Gate A ⁇ ay
  • the configuration registers and therefore the traffic controllers and buffers can be thought of as a PLD or a PGA
  • the configuration registers can be programmed from non-volatile memory possibly associated with switch 22, or from the control processor via the local bus.
  • the configuration registers 40 receive configuration mformation, preferably du ⁇ ng initiation of power to switch 22.
  • registers 40b may be formed as an SRAM Still further, registers 40 may mclude a PROM or ROM permanently programmed by the network installer Contamed withm each register are bits used to enable certain ports m order to fix the forwardmg of packets from one port to another, predefined port. Alternatively, each register may be configured to select va ⁇ ous ports and paths based on dynamic traffic conditions. Withm register 40a bits may be programmed to enable transfer of all packets from port A to port B, for example. Other bits programmed withm the vanous registers mclude an identification number attnubbed to that particular switch Each module withm the network has a co ⁇ espondmg unique identification number.
  • the identification number signifies the relative location of the node with respect to other nodes m the structured network hierarchy.
  • the identification numbers of all modules withm the network contam bits bifurcated mto fields and, as descnbed herem below, each field co ⁇ esponds to a particular level A decoder which receives mcommg packets can be configured by its co ⁇ espondmg register to only decode a field of bits to which that particular module has been attnubbed.
  • decoder 36a can only decode the destination address of the mcommg packet sent across port A withm field 3 of the multi-field address. This ensures a fast decode operation and significantly enhances the throughput of data.
  • decoder 36a will forward the packet to the appropnate decoder 36b or 36c dependmg on which port is configured as the output port established withm register 40a, 40b, 40c, and 40d Alternatively, a decoder may be configured to decode all fields above it m hierarchical level, or one field above it, to determme if the packet belongs to the cu ⁇ ent level Further details regarding differing functions, configurations, and operations of module 22 will be provided when discussmg whether module 22 operates as an end module (entry end module or exit end module), mtermediate module, or pass-through module
  • module 1 can be configured as a pass-through module, whereby ports B and C are coupled to co ⁇ espon ⁇ ing loops, such that mcommg data on one loop can be sent to mput port B and back out to output port B on the same loop, or output port C on another loop.
  • a pass-through module may mclude only two ports, where the decoder adjacent the mcommg packet will make the determination on forwardmg that packet to the output port
  • An mtermediate module configured as module 1 , module 2, or module 3 includes co ⁇ espondmg decoders of each mput port for determining whether the module is bemg targeted and which output port is to receive the forwarded packets, and further whether that packet will be sent directly or through a buffer based on configuration mformation withm the mcommg port decoder, or the availability of resources
  • Figs. 7 and 8 illustrate buffer 34 of a traffic manager bemg either a centralized buffer 34' or a distributed buffer 34"
  • a centralized buffer 34' is used to receive and disburse packets of mformation from any particular mput buffer to any particular output buffer
  • a buffer can be considered as any contiguous memory space, such as that found in semiconductor memory
  • a popular form of semiconductor memory mcludes smgle or multi-port RAM or DRAM (e.g., ZBT RAM or SDRAM)
  • Buffer 34' may mclude dedicated memory portions across which packets from one port to another port are stored.
  • Dist ⁇ ubbed buffer 34 is one havmg buffers dedicated to stormg packets of information sent between port pairs Regardless of the configuration, it is appreciated that data flow packets may be temporanly stored in mam memory ⁇ either withm a portion of a centralized memory or to a dedicated memory embodied upon one or more mtegrated circuits.
  • Fig. 9 illustrates the format of bits representing a module identification number 40.
  • the same format is used as a destination address of a wrapped packet forwarded through the structured, hierarchical network hereof.
  • Each module withm the network contams a unique identification number programmed withm the configuration registers the module's decoder and/or traffic controller.
  • All modules associated with a particular level have a unique bit or set of bits programmed withm only one groupmg of bits (field)
  • field N may mclude X number of bits which can therefore accommodate 2 number of modules withm level N of the structured network.
  • level N- 1 may have Y bits and there can be 2 X level N-1 groups and each of these groups m level N-1 can have 2 Y number of switches
  • any routmg beginning at that level entails decodmg field N address of the incoming data with field N identification numbers before decodmg the next level (field N-1)
  • a distributed routing mechanism usmg structured hierarchical decode mechanism is provided
  • the network 10 mdicates three levels of possibly numerous levels.
  • Modules 16 are each configured with a unique identification number withm a field of bits applicable to that module's level
  • the identification number is different withm only one field attnubbed to modules X, and the identification number is different with another field attributed to modules Y. All other fields are don't care fields, or are l ⁇ elevant for comparing withm that le ⁇ el
  • communication from a termmation device 14a to 14d is forwarded to a senes of compare operations.
  • the address of a packet sent from termmation device 14a, at lev el N-4, is compared with an identification number and, more specifically, a field of bits in level N-3 and higher If the companson does not yield a match, then it is determined that the packet must be forwarded from module A 1 m level N-4 to the next higher level When a compare of fields N-2 and higher yields a match, the match is then checked against all nodes at that level and forwarded to the appropnate module identification number (e g , module A2) that yielded a match m level N-3 It is known that termmation device 14a is coupled to module A-l and, therefore, decode need not take place at level N-4 Secondly, another decode must occur at the next higher level (level N-2) to determme if the address forwarded from termmation device 14a is to be routed to a module m level N-2 If the companson does not yield a match, then it is known that routing need not occur to the next highest level.
  • the routing algo ⁇ thm performs a companson of the next lower level. Knowmg the highest level of routing is currently at modules X withm level N-3, the next companson of the packet address is performed on modules m level N-4 If a match results, then that match is identified as a particular module (e g , module A3). The companson or decode process continues onto the next lower level, level N-5, to determme if further routing is needed.
  • routmg is used m the sense of forwardmg data packets across a network, from module-to-module, and should not be construed as mvolvmg a router. Instead, the routmg herem merely refers to an mcremental step m the dist ⁇ ubbed routmg mechanism of the overall network and is used by a module to forward packets among hierarchical levels based on a decode companson
  • the forwardmg or mcremental routing algonthm operates solely upon the destmation packet address and identification numbers stored m registers of each module Registers within the input/output port decoders and traffic controllers are called upon by the decoders to perform a comparison with the mcommg addresses without need for performing a look-up operation
  • decode need only be performed on one or more number of fields withm a plurality of fields ⁇ that field co ⁇ espondmg with where the pnor companson occu ⁇ ed withm the overall hierarchical structure.
  • Fig. 11 illustrates a fast decodmg state diagram 42 of distributed routmg mechanism.
  • Dependmg on which level a termmation device is connected decodmg occurs at all higher levels, beginning with the next higher level field of bits.
  • An entry end module can mark a bit m the control word that sigmfies which level the module is m. and then other modules m that level can compare only the field attnubbed to that level.
  • the mtermediate modules can perform the same function when forwardmg the packet to the next level — either a higher or lower level that is setting a bit or bits m a control word signifying a match of levels
  • decodmg occurs m level N-3 for an o ⁇ gmation termmation device 14a coupled to a switch m level N-4 State 44 is contmued for however many times it takes to yield a non-compare (! COMPARE).
  • a non-compare Once a non-compare occurs, then it is known that routmg must now proceed, or possibly stop, at the level just below the level that yielded a non-compare.
  • decode now continues down the hierarchical levels m succession, as shown by state 46 Compa ⁇ sons for those levels are performed until a lower level module identification number favorably concurs with the destmation address That module is identified as an exit end module that is selectably coupled to the target or destmation termmation device 14d shown in Fig. 10
  • Figs. 12 and 13 show path routmg outside of the structured, hierarchical network. That is, while structured positioning and fast decodmg performs distributed routmg withm the network, identification of a routmg path to and from termmation devices must be established.
  • Coupled to termmation devices 14a and 14b are end modules 16a and 16b, shown m Fig 12 If device 14a is the ongmator of a packet, then end module 16a can be considered an entry end module If the incoming packet mcludes a destination address to termmation device 14b, then device 14b is considered the targeted or destmation termination device, and end module 16b is considered an exit end module From this example, Fig 13 illustrates firstly, a mechanism for identifying the relationship between termmation devices and end modules (particularly when there are multiple termmation devices per end module) and, secondly, how the mcommg packet is routed from the o ⁇ gmatmg termination device to the destmation termmation device 14a and 14b, respectively Transfer of a wrapped packet from an ongmatmg termmation device 14a to a destination termination device 14b entails numerous mechanisms Reference numeral 37 illustrates a wrapped packet ensumg from entry module 16a.
  • the wrapped packet mcludes a source address (SA) of an ongmatmg termination device havmg a unique identification number, and also mcludes a destmation address (DA) of the exit module (MOD2 ADDR) 16b.
  • SA source address
  • DA destmation address
  • the source address is therefore the address of termmation device 14a which gets translated withm the entry module 16a to an address of module 16a This translation proves beneficial when the destmation termmation device replies to the o ⁇ gmating termination device.
  • an Address Resolution Protocol (“ARP") may be broadcast from termmation device 14a
  • the destmation address of the broadcast ARP is to each and every node withm the network, and continues on until all nodes have received the resolution protocol, as shown by block 50.
  • the resolution protocol may be an IP address of destmation termmation device 14b. If so, then device 14b replies, as shown m block 52 That reply represents an ARP answer forwarded back across the network and eventually to the ongmatmg termination device 14a
  • the positions of termmation devices relative to end switches can be determmed based on the IP address of those destmation and ongmation devices.
  • Blocks 50-56 illustrates a mechanism for determining the relative location of termmation devices, nodes, and switches accordmg to well-known address resolution protocols
  • the technique of broadcasting an address e.g , Ethernet address
  • the technique of broadcasting an address is backward compatible with existmg legacy location mechanisms known to the skilled artisan.
  • Fig. 13 is merely an example of one way m which a gene ⁇ c protocol (e.g., IP can be wrapped). Referring to the examples of both Figs.
  • reference numeral 60 illustrates an incoming IP packet wrapped by end switch 16a and simply havmg a source address (SA) of ongmation termination device 14a and a destmation address (DA) of exit end switch 16b
  • SA source address
  • DA destmation address
  • entry end switch 16a merely wraps an existing packet with a known identification address of an exit end switch, known m its relationship to a destination termination device by virtue of the address resolution protocol
  • the destmation termination device address is contamed withm the IP packet of wrapped packet 62
  • entry end switch 16a converts only the source address from that of termmation device 14a to that of the entry end switch 16a, if multiple termmation devices are attached to the end switch, as shown by the wrapped packet 64
  • Knowmg the source address as the entry end switch address proves beneficial when the destmation termmation device replies to the ongmatmg termination device, as will be discussed herem below
  • the destmation address and the IP packet remam the same, as illustrated by companson between wrapped packet 62 and wrapped packet 64.
  • Mappmg table 68 may be formed withm memory of end switch 16b or, altematively, a selection unit such as multiple multiplexers, or any other form of routmg based on selection signals.
  • Mappmg is performed by comparing the destmation address (IP address) withm wrapped packet 66 with the IP identification number stored m an appropnate termination device T ⁇ When the companson yields a match, the packet is forwarded to the appropnate termination device (e g , termmation device 14b as opposed to numerous other termination devices connection to end switch 16b).
  • IP address destmation address
  • appropnate termination device e g , termmation device 14b as opposed to numerous other termination devices connection to end switch 16b.
  • Any reply to the initial forwarded address can be sent back across the structured network based on the format of wrapped packet 66 More specifically, the source address of the reply remams the address of termmation device 14b, however, the destination address is the previous source address — l e., the address of entry end switch 16a. In this manner, reply mformation is made similar to the initial forwarded information. Regardless of the initial request or a subsequent response, the packets of data are routed to the opposmg end switch.
  • mformation from termination device 14a is directed to exit end switch 16b, while reply mformation from termmation ice 14b is directed to entry end switch 16a
  • the source address is therefore said to change whenever a packet enters the network, however, the destination address remams the same.
  • Intermediate switches and/or nodes of the network do not perform conversion of the destmation or source addresses, nor do they perform any look-up.
  • the look-up anses from a relatively small table known alternatively as a translation table.
  • the number of termmation devices linked to the exit end switch on a request operation is relatively small.
  • the structured network can form a subnet withm a larger, conventional network
  • the hierarchical decodmg and smgle mappmg applies to data traversing the structured network, that data bemg packets which are forwarded across multiple subnets where one subnet may be dedicated to the structured network
  • the structured network can form the entire network of subnets (intranets) as well as the internet between one or more subnets or, alternatively, can form only a portion (one or more subnets) of a conventional network Regardless of which portion of the entire mter- and lntra-network is formed by the structured network, or whether the structured network compnses the entue network, only one look-up (defined as a mappmg function) need occur as
  • Fig. 14 illustrates a memory area withm a memory (or buffer) of an end switch
  • Memory area 70 may be bifurcated mto regions, some of which receive certam packets placed m a defined order withm those regions. That is, the first packet (PK1 ) is forwarded mto and placed withm a defined portion of buffer 70 before the second packet (PK2) is placed and stored Buffer 70 therefore serves as a FIFO buffer, for example.
  • the mcommg packets are wrapped as they leave buffer 70 by attnbutmg wrap mformation to a particular packet before forwardmg the wrapped packet from the buffer Wrap mformation is stored m another region of buffer 70 and can mclude but is not limited to the mformation shown m table 72 That mformation may compnse a groupmg of bits mdicatmg a start of packet (SOP) Another group of bits are used to mdicate the ongmatmg identification number of the ongmatmg switch (ORIG ID ADDR) Another set of bits may be dedicated to general control mformation, such as the level of hierarchy, length of packet header (or footer), packet types, etc.
  • SOP start of packet
  • Another group of bits are used to mdicate the ongmatmg identification number of the ongmatmg switch (ORIG ID ADDR)
  • Another set of bits may be dedicated to general control mformation, such as the level of hierarchy, length of packet header (or footer), packet types, etc.
  • Yet another group of bits are dedicated to forwardmg a null pattern used possibly to mdicate spacmg between wrapped packets. Yet another set of bits may be used to mdicate an e ⁇ or m the packet transmission. It is recognized that the wrap mformation 72 can mclude numerous other bits dedicated to achievmg many dissimilar functions, only a small groupmg of which is shown by the examples provided.
  • the manner m which the wrap information is wrapped about a packet is further descnbed m reference to Fig 15 More specifically, descnption of Fig 15 is applicable when referring to Fig. 15 m conjunction with Fig 6 Fig 14a illustrates vanous components of an entry or mtermediate module and.
  • a compare unit 50 coupled between an mput port decoder (shown m Fig 6) and a storage device 52.
  • the storage device may be one or more configuration registers or a table Each node mav have logically separate storage devices or address ranges withm device 52 dedicated for different functions such as an entry storage device portion, an mtermediate storage device portion, and an exit storage device portion dependmg on whether the node is attnubbed to an entry, mtermediate or exit function, for example
  • the decoder receives an mcommg packet and determines whether the mcommg packet is destined for the network based on an identification number forwarded with that packet
  • Fig 14a indicates compare unit 50 hich compares the identification number on the received packet with a set of bits within the entry storage device 52 to determme if the data will be transfe ⁇ ed as secured data to the communication network
  • the configuration register is set by the administrator during configuration usmg, for example, ISP techniques Entry configuration register 52 can be
  • Buffer 34 is thought of as a contiguous memory location which may be bifurcated mto regions, some of which receive packets placed withm those regions That is, the first packet (PK1) is forwarded mto and placed withm a selected portion of buffer 34 before the second packet (PK2) is placed and stored Buffer 34 therefore serves as a FIFO buffer, for example
  • the incoming packets are wrapped as they leave buffer 34 by attnbuting wrap information to a particular packet before forwardmg the wrapped packet from the buffer Wrap information is stored can be another region of buffer 34 and can mclude, but is not limited to, the information shown m tables 54 and 56 That mformation may compnse a groupmg of bits indicating a start-of packet (SOP) Another group of bits may be used to mdicate the ongmatmg identification number of the entry module (ORIG ID).
  • SOP start-of packet
  • Another set of bits may be dedicated to assignmg a given pnonty at which the attnaded packet is to be sent across the network, while yet another set of bits may be used to assign a secunty code to those packets.
  • the p ⁇ onty code and the secunty code may be determined based on the identification of the user generating the packet Table 54 can be drawn from buffer 34 and, by virtue of a read pomter, bit fields are applied to a header of the wrapped packet Table 56 illustrates bit fields which are drawn and placed as a trailer upon the wrapped packet
  • a first groupmg of bits withm the trailer may be used in conjunction with a counter to mcrement each time the packet traverses a module
  • the first groupmg, or MOD TRAVERSAL # represents the number of modules traversed, mcludmg the existmg module, by a packet sent through the communication network.
  • the MOD TRAVERSAL # is dependent on the path taken either around a loop or among loops
  • the MOD TRAVERSAL # can be forced m select loops or paths to limit it vanabihty and number of permutations Additional fields are reserved for indicating the first module identification number, second module identification number, thud module identification number, etc for all modules bemg traversed up to and mcludmg the existing module It is therefore important to note that module 16a need not be merely an entry module Instead, it may be an mtermediate module, whereby the wrap information is modified as it traverses the network In other words, the mcommg packet can be wrapped with an o ⁇ ginal ID, p ⁇ o ⁇ ty code, secunty code, module traversal #, and earlier (upstream) module identification numbers, and the present module simply updates that information or maintains that information on the header and trailer exitmg the present module
  • Traffic controller 38 operates basically as a compiler which performs a senes of read operations upon buffer 34 Those read operations occur to fixed regions of that buffer so as to read bits from those regions m a particular sequence so that the resulting, outgomg packet is senally fed from the buffer m a particular order.
  • the compiler part of the traffic controller can be thought of as contammg a state machine of sequential logic and a pointer which perform a first read of possibly a null pattern, indicating the end of the pnor wrapped data packet
  • the read null pattern is contamed withm the wrap mformation of the buffer, as well as other wrap mformation descnbed above
  • the order in which the o ⁇ gmatmg identification number, p ⁇ o ⁇ ty code, and secunty code withm the header is not necessanly important, as long as that mformation is somehow contamed upon the header of the packet as it exits the module and is consistent across the network
  • the header mformation, as well as the trailer mformation can be appended by an entry module or modified by an mtermediate module based on the mformation stored m buffer 34
  • the compare unit 50 of Fig 14a can either be unique to an entry module or an mtermediate module, and serves merely to determme if the packet should be continued from the module as secured data dependmg on the companson results If the bits withm the entry storage device 52 of an entry module do not compare with the mcommg identification number, then the packet may simply be dropped or tagged as an unsecured packet If the bits withm the intermediate storage device 52 of an intermediate module do not compare with the secunty code of the incoming packet, it will not be allowed to be accessed by any termmation device attached to that module If the bits withm the exit storage device 52 of an exit module do not compare with the secu ⁇ ty code of the mcommg packet, the mcommg packet will be rejected and not forwarded to any attached terminating devices
  • Figs 6 and 15 illustrate traffic controller 38 operating as a compiler which performs a se ⁇ es of read operations upon a buffer Those read operations occur to fixed regions of that buffer so as to read bits from those regions m a particular sequence so that the resulting wrapped packet is se ⁇ ally fed from the buffer m a particular order
  • the compiler part of the traffic controller can be thought of as contammg a state machine of sequential logic which performs a first read of a null pattern 74 indicating the end of the pnor wrapped data packet
  • the read null pattern is contamed withm the wrap information of the buffer, as well as other wrap mformation thereafter beginning with the start of packet at state 76
  • the destination address of the structured network protocol is thereafter read at state 78, and the ongmatmg identification address is read at state 80
  • Control mformation withm the wrap mformation region of the buffer is then read at step 82, and so forth for the remammg read operations 84, 86, and 88 to complete the wrap of
  • the module which has a traffic controller performing the various read operations is considered an end module and, more specifically, an entry end module
  • the entry end module wraps the mcommg IP packet with va ⁇ ous wrap mformation needed to transfer that IP packet across the strucmred network and, additionally, to a termmation device outside of the structured network Therefore, the strucmred network is backward compatible with all other existing networks, with the wrap information simply subsuming the pre-existing wrap information
  • the entry end module adds the wrap mformation and exit end switch removes or st ⁇ ps the wrap information, as shown m Fig. 17
  • Fig 17 further illustrates bits added to and removed from an embedded packet (e g , Ethernet packet)
  • the wrapped packet 63 shown m Fig 17 is but one example of a packet format used by the structured network There may be additional bits or field of bits added to the format, if desned
  • the entry end module thereby adds the wrap mformation and the exit end module removes the wrap mformation to saud only the embedded packet with starting and endmg identifiers forwarded to a termmation device or to other non-structured subnets outside of the present structured network.
  • Fig. 16 illustrates vanous multiplexers 92 explamed m conjunction with Fig. 6
  • Multiplexers 92a and 92b can form a part of decoder 36b, while multiplexers 92c and 92d may form a part of decoder 36c.
  • Vanous enable (EN) signals can be sent from the traffic controller which serves as an arbiter B EN serves to signify when the output port B is available, whereas C EN is used to signify when output port C is available.
  • select signal B EN or select signal C EN is asserted, packets from mput port A, mput port B, or mput port C are forwarded to respective output ports B or C.
  • m Fig 16 provides a corollary, m that signals upon mput ports B and C can be directed either to output ports B or C, as well as output port A, dependmg on the status of select signals B EN, C EN, and A EN. It is appreciated that the example shown m Fig 16 is used only for sake of brevity and clanty, as well as for consistency with Fig. 6. There maybe vanous configurations possible as to how these ports can be interconnected There may be numerous other ports beyond port A, B, and C used m practical applications and.
  • Figs 6 and 16 are only for exemplary purposes only
  • the va ⁇ ous enable signals may be fixed withm co ⁇ espondmg registers during configuration, those registers include register 40, shown m Fig 6
  • the enable signals can either be static or dynamically determmed by traffic controller 38.
  • a selector 94 can further be used to forward data through a buffer output port A or bypass the buffer and place packets across a bypass conductor coupled m parallel with that buffer.
  • the vanous enable signals, m combmation with the selector 94 are used to send data either directly between ports or between ports via buffers dependmg on the availability of the targeted port.
  • the desirability of selecting between whether a packet can be sent directly to an output port or through a buffer is beneficial if the status of the output port is known That will be dynamically determined based on resource availability and a resource allocation algo ⁇ thm.
  • the resource allocation algo ⁇ thm will be determined by the control registers configured through the local bus by the control processor.
  • Fig. 16a m dicates a counter 61 coupled between the decoder (Fig 6) and the storage device 52.
  • Counter 60 can be a set of counters and is preferably embodied withm an entry module and counts the number of accesses upon the entry module by an entry termmation device This count can be used to control the amount of access generated to and from a secured user. For mstance, to control the access from the secured user, further accesses may be blocked when the count number exceeds the count value stored withm storage device 52. Use of a stored count value is beneficial if several successive, and possibly unauthorized, attempts to access the network are detected.
  • the counter may undergo penodic reset so that access blockmg occurs only if an impermissible number of accesses occur withm a specified period of time Otherwise, the accesses are allowed and packet mformation is transmitted withm the secured network.
  • the secunty code shown m Fig 14a may contam secunty control bits which are reserved to mdicate whether secunty is on or off More specifically, the entry module storage device 52 contams bits which may match with an mcommg termmation device identification number. If so, then the compare unit 50 will forward one or more secunty control bits to the secu ⁇ ty code withm buffer 34a. and those secu ⁇ ty control bits will be transfe ⁇ ed with the secunty code from one module to the next until they a ⁇ ive on the exit module.
  • the exit module can then determme if the data is secured based on a companson of those bits In the simplest form, the number of bits simply equals one, to designate a secunty on or off condition Alternatively, this control bit can be part of separate control word that will be transmitted with each packet Fig. 17 illustrates bits added to and removed from an embedded packet (e g., a physical layer packet, such as Ethernet).
  • the wrapped packet 62 is but one example of a packet format used by the structured network. There may be additional bits or fields of bits added to the packet, if desired.
  • the entry end module thereby adds the wrap information and intermediate module simply updates the wrap mformation applicable to the hierarchy of that module.
  • the exit end switch removes the wrap information to yield only the embedded packet with starting and endmg identifiers forwarded to a termmation device or to other non-structured subnets outside of the present strucmred network
  • the embedded packet may or may not include encryption code and can be any of the va ⁇ ous packet formats conventionally known m the art. As shown in the secu ⁇ ty code field, a secunty bit (SB) may be reserved to mdicate whether secunty for that packet is on or off.
  • Fig. 18 illustrates a flow diagram 65 of operations occurring withm an entry module.
  • the operations begm 67 by reading the mcommg address and optionally the destmation address, whether that address is from (or to) a termmation device or from (or to) an upstream module designated with an o ⁇ gmating (or destination) identification number 69
  • the storage device bemg either a configuration register or table of the module, is also read as shown by block 69.
  • a companson 71 is performed on the mcommg identification number or address and the bits are read from the storage device. If the companson yields a match, then the secunty bit will be set, as shown by block 73 Moreover, the secunty code and pnonty code for that particular module will also be assigned 75.
  • the wrapped packet contammg the secunty code and p ⁇ onty code (initially placed or updated) will be forwarded to the next module closest to the exit module, as shown by block 77. If the companson function 71 does not yield a compare, then the secu ⁇ ty bit will be reset, no secu ⁇ ty code will be set, and pnonty code will be set based on the assigned pnonty code for that packet at that mstance.
  • the packet m this case can be sent as a non-secured packet with default pno ⁇ ty, if the module is configured to send non- secure packets or the packet can be dropped.
  • pnonty code and secunty code can use two mdependent compansons.
  • the destination address of the mcommg packet can also be used to determme the secured transmission of packets.
  • the storage device will also contam a list of allowed destmation IDs for secure transmission Absent (or m addition to) determination ansmg from the ongmation or destination addresses, secunty or prionty classes of nodes and/or modules can be used to fix secured or pnontized transmission.
  • a counter each time an access to a module (e.g., entry module) occurs, a counter will be mcremented, as shown by block 79.
  • the count value exceeds a number stored in the storage device or configuration register, as shown by decision block 81, then further accesses are blocked 83.
  • the blocked accesses can anse by executing a time out on the entry module as shown by block 85. If the count value (i.e., between timed resets) does not exceed that which is stored m the storage register, then further accesses can occur.
  • Fig. 19 illustrates an entry or intermediate module 91 which is configured to receive packets of data from an upstream module or termmation device 93.
  • Module 91 includes a table 95 operably coupled to the mput decode unit.
  • Table 95 similar to a configuration register, can be programmed by signals sent across the local bus 97.
  • Local bus 97 is situated outside of the data flow entering module 91 and, therefore, any mformation programmed by local bus 97 cannot be read or written to by mcommg data packets. Only the system admmistrator can effectuate a change to table 95, or can read the status of table 95. Similarly, only the system administrator will be given access to table 95 - otherwise it is locked such that modification (read/wnte) is prevented.
  • Table 95 compnses a relatively small mappmg table of incoming (termmation device) addresses and/or users and a co ⁇ espondmg secunty code
  • Va ⁇ ous users may also be linked to the upstream termmation devices, and secu ⁇ ty codes can be assigned based also on the users which initiates the source address (SA) and users which receive the destmation address (DA)
  • SA source address
  • DA destmation address
  • the identification number situated on the mcommg packet is read and compared agamst identification numbers withm the table If a match occurs, then the co ⁇ espondmg new or updated secu ⁇ ty code will be placed on the packet as part of the header information If a match does not exist, then a secu ⁇ ty bit can be set
  • Fig 20 illustrates the hierarchy of secunty codes and identification numbers
  • the number of modules A, B, C, and D can be relatively small, whereby a unique secunty code, e g , 180 - 193, is assigned to the co ⁇ espondmg modules accordmg to a predefined hierarchy
  • three loops or rings have a secunty code between 81 and 8F, and one loop has a secunty code between 91 and 9F
  • the identification numbers are shown in parenthesis beneath the secunty code
  • the secunty code or identification number monotomcally increases around that loop It is possible that each module withm a class may have the same secu ⁇ ty code and the identification number is all that changes withm that class In this example, two or more modules may have the
  • a flow diagram 102 is shown of operations which define a secured path based on the hierarchical status of secuntv codes withm one or more modules of the present network In particular, determination must be made on w nether to torward a packet of data across a nerwork based on the secu ⁇ ty code read by the mcommg packets
  • the packet will be forwarded to the next loop C, as shown by step 1 10, and not forwarded to the next loop B, as shown by step 1 12
  • the process is repeated from loop to loop, and therefore from node to node until a secured path is presented through the entire strucmred network
  • Fig 22 illustrates a plurality of mappmg tables 1 18 withm an exit module 1 16
  • a plurality of mappmg tables are needed if the packet contams both an identification number and a security code
  • a secu ⁇ ty code suffices both as an identifier and a security classifier then a identification number is not needed
  • the most significant bits of the security code defines a particular table withm the plurality of tables 1 18
  • the mappmg table N is chosen from the plurality of mappmg tables 1 18 Contamed within mapping table N is a set of identification numbers
  • Those identification numbers are stored withm the exit module durmg configuration via, for example, the local bus or durmg m-svstem programming If the mcommg packet identification number (e g , ongmatmg identification number of the entry module) matches the identification number stored in mappm
  • Fig 23 is a flow diagram 120 that illustrates a senes of operations performed by the exit module of Fig 22
  • the decode unit of the exit module reads the secunt ⁇ code and chooses one of the plurality of tables based on. e g , the most significant bits of the security code For example, if the secunty code bears a number 184. then table "18" will be chosen Reading of the most significant bits and choosmg the mappmg table is shown by reference number 122.
  • the mcommg packet mcludes an identification number, preferably the ongmatmg identification number of the entry module, and step 124 illustrates the exit module reading that identification number from the co ⁇ esponding packet
  • a comparison of the ongmatmg identification number with ent ⁇ es m the table is made at comparison block 126 If the companson yields a match, then the packet is authorized to be transmitted from the network to a termmation device, as shown by block 128. Otherwise, the packet is not transmitted, as shown by block 130.
  • Fig. 24 illustrates an entry or mtermediate module 140 that includes a mapping table 142.
  • Mappmg table 142 is used to assign prio ⁇ ty to an mcommg packet forwarded from an upstream module or termmation device 144.
  • the p ⁇ onty code is allocated based on the mcommg address of module/termmation device 144 and the bandwidth allocated to a section of the data flow path reserved for that particular packet Altematively, the p ⁇ onty code can be allocated based on the source address (SA) and/or destination address (DA) of a module or termination device.
  • SA source address
  • DA destination address
  • prio ⁇ ty can be assigned to a subset of the network nodes based on the source address, destination address, structural classification, etc., based on the bandwidth allocated to the transmission branch.
  • Each termination device can, for example, handle diffe ⁇ ng pnonty mput based on the user connected to the termmation device. P ⁇ onty can therefore be dependent on the user accessmg a termmation device, as well.
  • P ⁇ o ⁇ ty can be assigned to any packet a ⁇ smg from a specific source address or, altematively, from any packet ansmg from a particular user.
  • a packet is assigned pnonty based on numerous c ⁇ te ⁇ a, all of which fall within the spint of the packet-by-packet assignment herem.
  • the packet can be denved from one of N modules that is allocated a bandwidth (BW ALLOC.) of 1 0 MB/sec.
  • Shown m Fig. 25 is the inte ⁇ elationship between the allocated bandwidth and the pnonty code. More specifically, the forwardmg module (entry or mtermediate module) shown m Fig. 24 forwards a sequence of packets between a pair of counter resets 146 and 148. As the timing diagram 150 illustrates, a plurality of packets can be sent between resets at a fairly high transmission rate. When the count value of bits or packets achieves, for example, 1 0 Mbits at time 152, all packets pnor to that time and subsequent to reset 146 are transmitted at the prio ⁇ ty code established withm mappmg table 142.
  • all packets sent after time 152 are sent at a lower, default pnonty Tuning diagram 154 illustrates the opposite effect, whereby packets are sent at a relatively slow rate.
  • the packets are sent at a rate slower than the allocated bandwidth, such that, for example, less than 1 0 Mbits are sent between resets and the remammg 1.0 Mbits sent after reset 148 are still sent at the assigned pnonty of mappmg table 142.
  • the allocated bandwidth is therefore the maximum bandwidth that is allocated to the shared resource for the senes of packets sent through that resource.
  • the lower p ⁇ o ⁇ ty is signified as a lower p ⁇ o ⁇ ty code set forth in each packet sent after 1.0 Mbits have been sent and before the next reset 148 Fig.
  • timing diagram 160 may send X, number of packets at a relatively high p ⁇ onty before sendmg Y, number of packets at a relatively low pnonty In this manner, service is granted to the higher pno ⁇ ty packets (X) before that of the lower pnonty packets (Y) However, to prevent undue accumulation of lower pno ⁇ ty packets, the forwardmg module will grant transmission of lower pno ⁇ ty packets on a fixed or round-robin scheme.
  • a problem mav exit when forwardmg packets of varying lengths A rather long packet may take a longer time to transmit through a module after it has begun its transmission If the next packet is of higher pnonty, it may be necessary to hold of f (I e , suspend) transmission of the existmg, longer yet lower p ⁇ onty packet In this manner, stalling the higher priority packet is prevented Added to the trailer mformation of the cu ⁇ ent transmitted packet may be p ⁇ onty information applicable to the following packet An mtermediate node or module can therefore use the trailer information while schedulmg the next packet If a long packet needs to be scheduled at a lower priority and the mcommg packet mdicates that there is a high pnonty packet to follow, the node can hold off sendmg the lower pnonty longer packet, mcludmg the cu ⁇ ent packet Each mtermediate node can update the next-packet pnonty field of the trailer
  • Pno ⁇ ty code m the present structural network can be assigned on a packet-by-packet basis not only for the existing packet but possibly also for subsequent packets
  • the p ⁇ onty code can be assigned based on the o ⁇ gmation address, destmation addresses, or on the structural configuration
  • a packet can be assigned a high pnonty withm its own level and a lower pno ⁇ ty at other levels This can be achieved by setting a bit m the control word notifymg a level change mtermediate module such as AI of Fig 12 to change the p ⁇ onty when traveling outside the loop
  • pnonty code could be assigned with vanous fields, each field defining the pno ⁇ ty at a given level
  • each module withm a particular level may have a p ⁇ onty code unique to that level
  • prio ⁇ ty code can be assigned different for differing users
  • Packets denved from user VI may have a higher transmission pno ⁇ ty than packets denved for user V2
  • packets sent to user Ul may be assigned a higher pno ⁇ ty than packets sent to user U2.
  • Fig 27 is equally applicable to security codes
  • the modules mdicated with a "F" pnonty designator are those possibly at the highest p ⁇ o ⁇ ty level
  • the header and trailer mformation transmitted (when combmed with the associated parity bit) is different from the data mformation transfe ⁇ ed (when combmed with its associated panty bit)
  • the transmitted mformation i.e , whether that information is associated with the header, data, or trailer
  • the trailer can comp ⁇ se of only null pattern
  • the header, data, and trailer portions are several words long.
  • the null patterns, start-of-packet, and end-of-packet designators can also be one or more words long.
  • a word is greater than one byte, and preferably at least 4 bytes m length. If only a smgle panty bit is added to each word, then the additional overhead is 1/32 (assuming a word length is 32 bits). This is significantly smaller than the overhead mvolved m the 8b 10b format
  • Fig. 29 illustrates an example of an even (or odd) panty bit generator.
  • the panty bit P is generated by addmg the number of 1 's associated with all bits of the word extendmg from bit 0 to bit N.
  • an even panty generator if the summation forwarded through the modulo 2 adder 262 mdicate an even number 1 's, then panty bit P' will show a value of 0. However, if the number of l 's is odd, then panty bit P' will mdicate a 1 value.
  • an inverter 64 can be employed Inverter 264 merely inverts the bit value of P' panty bit, as shown
  • Inverter 264 merely inverts the bit value of P' panty bit, as shown
  • an even parity bit generator produces a 1 panty bit value if the summation is odd
  • an odd parity bit generator produces a 1 panty bit value if the summation is even (or all 0's).
  • the co ⁇ espondmg parity bit value will then be inserted with the transmitted word mto the transmission medium as designated by the panty bit field shown m Fig. 28. Fig.
  • Fig. 30 illustrates various ways m which to detect the number of words associated with the header, data, and trailer portions of a packet and, alternatively, or m addition thereto, detect e ⁇ ors and co ⁇ ect those e ⁇ ors if the parity bit (S) mdicate a transmission e ⁇ or.
  • Fig. 30 illustrates, m block diagram form, counters and panty detectors coupled to receive the word mformation and associated panty bits received at the output of the transmission channel.
  • the block diagram of detectors and counters, noted as reference numeral 270 can form a part of the decoder and parity-strip logic 36c, shown m Fig 6.
  • item 270 can be used to detect the beginning of each portion withm a packet, either by counting the number of fixed words withm the header, data, and trailer portions, or detecting the panty value of the received words and panty bits, and comparmg those values agamst either an even or odd parity scheme.
  • counters 272a, 272b, and 272c can be used to count a fixed number of words in each respective portion, wherem counter 272a counts the number of words withm the start-of-packet designator, counter 272b counts the number of words withm the header, and counter 272c counts the number of words withm the data, and so forth.
  • Counters 272a, 272b, and 272c can physically be implemented in the same counter with va ⁇ ous count values thus logically mimicking three counters Knowing that the start-of-packet designator is defined to be one word m length, then counter 272a will count that smgle word to mdicate that the next word is the beginning of the header after the start-of-packet designator. Counter 272b then counts the number of words withm the remainder of that header to note the initial word of data, wherem counter 272c will then count all the words withm data to signify the beginning of the end-of-packet designator.
  • a smgle panty detector 274 can receive the stream of words and panty bits, and after performmg addition operations, determme (based on whether the panty value is even or odd) when a word anses from each of the packet portions. For example, if detector 274 detects even panty and then detects odd panty, it is noted that the co ⁇ espondmg word havmg odd panty is the first word of the data portion.
  • e ⁇ ors may occur m the transmission medium, whereby the authenticity of the even or odd detected panty value cannot be relied upon.
  • a combination of counters and panty detectors can be employed For example, counter 272a can count once after the null pattern to note the end-of- packet designator has been transfe ⁇ ed, and the next word is the beginning word of the header.
  • Detect logic 274 can then be configured simply to confirm that the panty value of each and every ensumg word withm the header is of even panty value If not, then the words which have an odd panty are marked as e ⁇ or and possibly re- transmitted.
  • odd panty detect logic 276 which is used to confirm an odd parity value beginning with the first data word received after counter 272b counts the predefined and fixed number of header words. Detect logic 276 will know that all ensumg data words will have a co ⁇ espondmg odd parity, unless an e ⁇ or occurs m transmission.
  • Fig. 30 also illustrates detect logic 274 and 276 as possibly havmg an e ⁇ or co ⁇ ection feature. Provided the number of parity bits is sufficient to not only detect, but co ⁇ ect, a defined word length, any errors discovered m the transmission of a word can be co ⁇ ected.
  • the transmission channel may be an optical fiber
  • the null pattern can have an mtermittent 1 and 0 pattern m order to strobe the opto-electromc receivers and thereby synchronize the clock recovery circuit connected thereto.
  • the designators should not contam all 1 's or all 0's and, of course, should not have the same bit value as the null pattern. Instead, the designators should have a relatively small groupmg of 1 's intermixed as part of the overall word length.
  • the null pattern can be 101010 ..
  • the start-of-packet and end-of-packet designators can be 111000. . and 00011 1..., respectively.
  • item 270 can have another counter that keeps counting the number of words (or bits) between a start of packet and next null pattern. If it does not recognize a null pattern for over a time penod required to transmit the largest packet allowed, it generates an e ⁇ or condition. This counter can be used to detect stuck-at-one e ⁇ or for data usmg even panty For data usmg odd panty, the two mechanisms above can be used to detect the reverse condition
  • a receivmg module can detect severance of a channel When the encoder assigned to the particular mput port of a traffic manager detects such a severance, the encoder will apply an appropnate field of control bits onto the header of a received packet based on what had been programmed mto its configuration register.
  • the configuration register of the appropnate mput port encoder may be programmed with a "01" value, as shown by the control bit field 362 of Fig 32
  • the configuration register will be programmed to impute a "00" bit field onto the returned packet, as shown by the control bit field 362 of Fig. 32.
  • the control bit field 362 can also be reserved to mdicate an acknowledgement of e ⁇ or set by the o ⁇ gmating module after havmg received back the packet contammg the e ⁇ or value "01" from two receivmg modules placed immediately upstream two disturbed or severed paths
  • the acknowledge bit value "10" will note that the ongmatmg module should not attempt to re-send the packet smce all alternative paths are severed and, instead, should simply drop the packet The ongmatmg modules drops the packet upon setting the control
  • Fig. 31 illustrates an e ⁇ or identification bit field contamed withm the trailer portion of the packet 360, accordmg to one example
  • the e ⁇ or identification bit field is merely reserved to be programmed based upon the module identification number of that receivmg module immediately upstream of the disturbed (i.e., corrupted, disabled, or severed) transmission path, or upstream of the dismrbed transmission channel.
  • the configured identification number withm module E of the example shown m Fig 5, will be placed withm the error identification bit field shown m Fig 31 as the packet is returned to the o ⁇ gmating module A
  • the ongmatmg module A will know that the packet can be resent to all modules downstream of the receivmg module, but should be resent m a counter-clockwise fashion, rather than the exemplary clockwise route.
  • the ongmatmg module like all modules m the structured, hierarchical network, knows not only its identification number, but all other module identification numbers withm the network Therefore, the ongmatmg module A will know the relative placement of all other modules connected to that loop, or across any loop withm the network
  • control word of a header shown m Fig. 31 can have one or more bit used to broadcast removal of severance mformation Associated with this bit, trailer of the packet can have e ⁇ or removal identification number that notifies other modules to remove specific severance
  • Fig 33 illustrates a star topology m solid line, and mesh by a combination of solid and dashed lmes, wherem altemative channels exist between modules to form a transmission path between modules.
  • a channel between modules E and C can be disturbed, as shown by reference number 364
  • the transmission path between modules A and C can therefore be redundantly shown as primary channel A to E to C, or as secondary channel A to C
  • An e ⁇ or can be detected by receivmg module E , and the appropnate control and e ⁇ or identification bits are set and returned to ongmatmg module A
  • Module A can then re-send the packet to module C via theretemative, direct channel between modules A and C
  • ongmatmg module can set the acknowledge bit value and send the packet on any other alternative paths such as A to D to C or A to D to B to C.
  • Fig. 34 is shown Indicated m Fig.
  • channel 322a can be assumed to be used for data transmission m a counter- clockwise data transmission direction, while channel 322b is used for clockwise data transmission.
  • any given module will be receivmg data from both of its neighbors at all times.
  • null pattern will be present m both transmission channels. If a given module does not detect null pattern m any one of the mcommg transmission channel for a time exceedmg the maximum packet size allowed m a given protocol or a preset maximum time from any direction, the module may detect a severance m the transmission channel associated with that direction.
  • a severance can also be detected when any predefined pattern is not detected for a set time, or upon notification of a severance.
  • Fig. 34 illustrates one example by which the transmission path 324 can be severed at location 326, yet transmission is maintained.
  • communication from module A to module C will detect the severance at location 326 by module E employing a loop-back path of a packet sent across transmission channel 322b to the destmation module C
  • modules are designed to detect severance based on absence of null pattern for a preset time, with ongmatmg module A forwardmg the packet across transmission channel 322b, and the receivmg module E pre-conditioned as not receivmg the requisite null pattern of Is and 0s for a time duration that exceeds the time needed to transfer maximum size packet.
  • a null pattern is defined as a pattern normally sent across the network whenever a packet is not bemg sent.
  • the null pattern contams some combination of altematmg Is and 0s m order to sync the clocks m the receiver circuits of the modules. If the pattern forwarded between a parr of modules separated by disturbance contams a pattern not recognizable as the pre-defined null pattern (i.e., the pattern is all Is or all 0s) for a duration that exceeds the maximum length of a packet, then it is known that the pair of modules straddle a channel that has been disrupted or severed.
  • a transmitter will normally send alternating Is and 0s (i.e., transmit a null pattern) whenever a packet is not sent
  • the expected alternating Is and 0s might become all Is or all 0s, indicating an e ⁇ or in that channel.
  • receivmg module E will return the control bits to the o ⁇ gmating module A, indicating a downstream e ⁇ or.
  • module E can detect severance based on other preset condition or by introduction of severance from external source such as network admmistrator.
  • the packet received by receivmg module E is then returned via feedback path 328 to the ongmatmg module A.
  • Smce receivmg module E was the last module m the path to have detected a severance (i.e., an error downstream thereto), receivmg module E returns with the packet both control bits and e ⁇ or identification bits.
  • the control bits are set to indicate a disruption immediately downstream of receivmg module E
  • the e ⁇ or identification bits identify the receivmg module E by the identification number assigned to that module. Therefore, the remmed packet contams not only indication of a disrupted transmission path, but also the module immediately upstream of that severance.
  • usmg a feedback path and appending control bits and e ⁇ or identification bits to the packet allows the present system, packet protocol, and methodology to identify where, withm the communication network, a severance exists
  • ongmatmg module A After receivmg the remmed packet contammg control bits and e ⁇ or identification bit values, ongmatmg module A sets an acknowledge value withm the control bit field The acknowledge value with note that the packet can be re-sent, however, the re-sent packet must be forwarded across an alternative transmission path. This will avoid ongmatmg module A from re-sendmg the packet to destmation module C via receivmg module E Instead, the packet can be re-sent along the ⁇ ght path via modules F, D, and B. Thus, the present methodology tolerates a severance of both the primary and secondary (redundant) transmission channels m a smgle location Any further transmission is merely sent m the direction opposite the severance.
  • smce the underlying network is a structured network, entire network can be made aware of the location of any severance.
  • module E detects severance 326, it mcludes its identification number signifying other modules that it is the module immediately downstream of the severance.
  • Module A will be made aware of disturbance/severance 326 by the looped back packet from module E Module A will then send the re-routed packet through the other transmission path 322a along with the information of severance and its location Modules F, D, and B will pass this packet through while learning about the severance 326.
  • module F will route packets destined to module C via transmission channel 322a and not transmission channel 322b. Packets destined for Module E will be routed through transmission path 322b and not transmission path 322a.
  • a re-routed packet from module A is bemg directed to module C will inform mtermediate modules F, D, B, and C about severance 326 and its location immediately upstream of module E. These modules will use this mformation for all future routmg purposes.
  • a network with t o transmission paths similar to the one in Figure 34 can tolerate one severance anywhere m the network without service disruption Networks with N complete transmission paths can tolerate up to N-1 severances with no service disruption If a network with two transmission paths has more than one severance at any given time, it can still function partially For instance, if the network m Fig 3 has two severances, severance 326 and severance 330, it can still function partially If module A needs to route a packet to module C and chooses transmission path 322b Module E will loop back the packet due to severance 326.
  • Module A will re-route the packet along transmission path 322a
  • module D will loop back the packet along transmission path 322b due to severance 330 with the indication that the packet has been re-routed from the second severance along with the identification number of module D as the module downstream from the severance for transmission path 322a
  • this packet reaches module A, it will be dropped as unde verable packet as it was re-routed on both available transmission paths This dropping operation will enable the system to not flood the network with un-routable packets
  • Durmg the re-routing process modules E, A, F, and D will learn that they are isolated from modules C and B However, transmission between modules E, A, F, and D will continue Similarly, modules C and B can communicate with each other but not with modules E, A, F, and D
  • the present protocol can detect those locations, but cannot reroute to avoid the severed transmission paths whenever reroutmg requires transmission between modules separated by one severance of the pair of severances. If a severance is not interposed between the ongmation and destination modules, then transmission can occur m its normal course, where non-duphcative packets are sent across both channels to maximize the overall transmission bandwidth.
  • module C can be isolated and brought off-line by mducmg severance between modules C and E as well as modules C and B. After the maintenance, module C will be brought onlme by informing other modules of removal of severance.
  • a localized configuration bus or channel may be coupled to vanous configuration registers contamed withm decoders/encoders of the traffic manager
  • the traffic manager serves numerous functions, one of which is to optimally route packets of information between mput and output ports associated with that traffic manager
  • Each traffic manager can be configured durmg assembly of the network.
  • the traffic manager mcludes one or more buffers as wells as one or more decoders, and each port is shown as a bi-directional port which can direct, bypass, or feedback data sent among modules.
  • the vanous embodiments herem are believed to be capable of performmg fast and efficient transfers across a stmctured network which either replaces or forms at least a portion of a conventional communication system Vanous modification and changes may be made as would be obvious to a person skilled m the art havmg the benefit of this disclosure. It is mtended that the following claims be interpreted to embrace all such modifications and changes. Accordmgly, the specification and drawings are to be regarded m an illustrative rather than rest ⁇ ctive sense.

Abstract

L'invention concerne une architecture, un système et un procédé qui permettent de transférer efficacement des paquets de données dans un réseau de communication structuré. Le réseau de communication est structuré avec des niveaux hiérarchisés de modules très rapides disséminés dans tout le réseau. Un acheminement réparti de paquets est accompli par comparaison de numéros d'identification des seuls modules sélectionnés avec les adresses de destination, ladite comparaison étant effectuée champ par champ. La comparaison de tous les champs au niveau de tous les modules ne s'impose pas. L'opération d'acheminement entre des noeuds et ou des dispositifs situés à l'extérieur du réseau structuré peut donc être menée par une seule opération de mise en correspondance. Un protocole ou domaine d'adressage supplémentaire spécifique à la structure est annexé au protocole de paquet entrant au moyen d'une série de cycles de lecture dans une mémoire qui reçoit temporairement le protocole entrant. Ainsi, le réseau structuré peut inclure des numéros d'identification spécifiques attribués à chaque module et distincts des numéros d'identification de modules, noeuds ou dispositifs terminaux situés à l'extérieur du réseau structuré. Il peut également être attribué à chaque paquet un code de sécurité et un code de priorité au moment où le paquet entre dans le réseau structuré.
EP00930750A 1999-05-14 2000-05-15 Reseau de communication relativement hierarchise a acheminement reparti entre des commutateurs modulaires comportant des codes de securite paquetises, un mode de commutation par parite et des modeles de transmission prioritaires Withdrawn EP1179249A2 (fr)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US31219399A 1999-05-14 1999-05-14
US09/312,240 US6788701B1 (en) 1999-05-14 1999-05-14 Communication network having modular switches that enhance data throughput
US312193 1999-05-14
US09/312,241 US6643286B1 (en) 1999-05-14 1999-05-14 Modular switches interconnected across a communication network to achieve minimal address mapping or translation between termination devices
US312241 1999-05-14
US312240 1999-05-14
US356645 1999-07-19
US356651 1999-07-19
US09/356,645 US6654346B1 (en) 1999-07-19 1999-07-19 Communication network across which packets of data are transmitted according to a priority scheme
US09/356,651 US6754214B1 (en) 1999-07-19 1999-07-19 Communication network having packetized security codes and a system for detecting security breach locations within the network
US54962300A 2000-04-14 2000-04-14
US549623 2000-04-14
PCT/US2000/013334 WO2000074305A2 (fr) 1999-05-14 2000-05-15 Reseau de communication relativement hierarchise a acheminement reparti entre des commutateurs modulaires comportant des codes de securite paquetises, un mode de commutation par parite et des modeles de transmission prioritaires

Publications (1)

Publication Number Publication Date
EP1179249A2 true EP1179249A2 (fr) 2002-02-13

Family

ID=27559693

Family Applications (1)

Application Number Title Priority Date Filing Date
EP00930750A Withdrawn EP1179249A2 (fr) 1999-05-14 2000-05-15 Reseau de communication relativement hierarchise a acheminement reparti entre des commutateurs modulaires comportant des codes de securite paquetises, un mode de commutation par parite et des modeles de transmission prioritaires

Country Status (4)

Country Link
EP (1) EP1179249A2 (fr)
JP (1) JP2003501880A (fr)
AU (1) AU4851400A (fr)
WO (1) WO2000074305A2 (fr)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10142372B4 (de) * 2001-01-05 2005-03-03 Siemens Ag Vorrichtung und Verfahren zum Wiederherstellen von Verbindungen in automatisch schaltbaren optischen Netzen
EP1428133B1 (fr) * 2001-06-05 2009-08-05 Ericsson AB Systeme de protection ethernet
US7765385B2 (en) * 2007-04-18 2010-07-27 International Business Machines Corporation Fault recovery on a parallel computer system with a torus network
US7957385B2 (en) * 2009-03-26 2011-06-07 Terascale Supercomputing Inc. Method and apparatus for packet routing
US20100250784A1 (en) * 2009-03-26 2010-09-30 Terascale Supercomputing Inc. Addressing Scheme and Message Routing for a Networked Device
US7957400B2 (en) 2009-03-26 2011-06-07 Terascale Supercomputing Inc. Hierarchical network topology
EP2629463B1 (fr) * 2010-10-15 2019-09-04 Nec Corporation Système de commutation et procédé de gestion de centralisation de surveillance
US9819573B2 (en) 2014-09-11 2017-11-14 Microsoft Technology Licensing, Llc Method for scalable computer network partitioning
US9544225B2 (en) 2014-09-16 2017-01-10 Microsoft Technology Licensing, Llc Method for end point identification in computer networks
CN107533518B (zh) 2015-01-20 2020-09-18 乌尔特拉塔有限责任公司 用于容错对象存储器结构的分布式索引
EP3248097B1 (fr) 2015-01-20 2022-02-09 Ultrata LLC Exécution d'instructions de flux de données de mémoire d'objet
US10698628B2 (en) 2015-06-09 2020-06-30 Ultrata, Llc Infinite memory fabric hardware implementation with memory
US9886210B2 (en) 2015-06-09 2018-02-06 Ultrata, Llc Infinite memory fabric hardware implementation with router
US9971542B2 (en) 2015-06-09 2018-05-15 Ultrata, Llc Infinite memory fabric streams and APIs
EP3387547B1 (fr) 2015-12-08 2023-07-05 Ultrata LLC Mise en oeuvre logicielle d'une matrice de mémoire
US10248337B2 (en) 2015-12-08 2019-04-02 Ultrata, Llc Object memory interfaces across shared links
US10241676B2 (en) 2015-12-08 2019-03-26 Ultrata, Llc Memory fabric software implementation
CA3006776A1 (fr) 2015-12-08 2017-06-15 Ultrata, Llc. Operations et coherence de matrice de memoire au moyen d'objets tolerants aux fautes
JP6869660B2 (ja) 2016-08-01 2021-05-12 キヤノン株式会社 情報処理装置、及び情報処理装置の制御方法
DE102019125545B3 (de) * 2019-09-23 2021-03-25 Beckhoff Automation Gmbh Datenübertragungsverfahren, segment-telegramm und automatisierungskommunikationsnetzwerk

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59158154A (ja) * 1983-02-28 1984-09-07 Nec Corp ル−プバツク方式
US5095480A (en) * 1989-06-16 1992-03-10 Fenner Peter R Message routing system for shared communication media networks
JP2713605B2 (ja) * 1989-06-17 1998-02-16 富士通株式会社 リングネットワーク切替制御方式
US5596715A (en) * 1993-07-06 1997-01-21 Digital Equipment Corporation Method and apparatus for testing high speed busses using gray-code data
US5864683A (en) * 1994-10-12 1999-01-26 Secure Computing Corporartion System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights
US5721819A (en) * 1995-05-05 1998-02-24 Silicon Graphics Corporation Programmable, distributed network routing
JP2617701B2 (ja) * 1995-06-28 1997-06-04 宮城日本電気株式会社 Vtパス切替時のミスコネクション回避方法
EP0855820A3 (fr) * 1996-12-13 2003-04-16 International Business Machines Corporation Méthode et système pour optimiser l'occupation de la bande d'une ligne de transmission de données dans un environnement avec traffic multiprioritaire

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0074305A3 *

Also Published As

Publication number Publication date
WO2000074305A3 (fr) 2001-08-23
JP2003501880A (ja) 2003-01-14
WO2000074305A2 (fr) 2000-12-07
AU4851400A (en) 2000-12-18

Similar Documents

Publication Publication Date Title
WO2000074305A2 (fr) Reseau de communication relativement hierarchise a acheminement reparti entre des commutateurs modulaires comportant des codes de securite paquetises, un mode de commutation par parite et des modeles de transmission prioritaires
US5802054A (en) Atomic network switch with integrated circuit switch nodes
CN114073052B (zh) 用于基于切片的路由的系统、方法及计算机可读介质
US6754214B1 (en) Communication network having packetized security codes and a system for detecting security breach locations within the network
US6654346B1 (en) Communication network across which packets of data are transmitted according to a priority scheme
US6680912B1 (en) Selecting a routing direction in a communications network using a cost metric
US7957324B2 (en) Utilizing bandwidth in ring network using path cost and protection techniques
US6510135B1 (en) Flow-level demultiplexing within routers
US6952396B1 (en) Enhanced dual counter rotating ring network control system
US6865149B1 (en) Dynamically allocated ring protection and restoration technique
US8139479B1 (en) Health probing detection and enhancement for traffic engineering label switched paths
US20030031126A1 (en) Bandwidth reservation reuse in dynamically allocated ring protection and restoration technique
US7054951B1 (en) Plug and play node addition in a dual ring topology network using locally significant ring identifiers for determining routing decisions
US6912196B1 (en) Communication network and protocol which can efficiently maintain transmission across a disrupted network
US20080291826A1 (en) Dynamic Load Balancing for Layer-2 Link Aggregation
EP1262042B1 (fr) Commutateur de routage destine au reacheminement du trafic du a la detection d'une liaison defaillante
US20020112072A1 (en) System and method for fast-rerouting of data in a data communication network
EP2721785B1 (fr) Transfert de données
US20140056317A1 (en) Apparatus and methods of routing with control vectors in a synchronized adaptive infrastructure (sain) network
WO2000013376A9 (fr) Communication de donnees a redondance des chemins
KR102462577B1 (ko) 네트워크 온 칩 통신 장치 및 네트워크 온 칩 통신을 위한 라우터 장치
US20110305450A1 (en) Misconnection Avoidance on Networks
US7016363B1 (en) Scaleable interconnect structure utilizing quality-of-service handling
JP4611863B2 (ja) ループ検出方法およびループ検出装置
US6643286B1 (en) Modular switches interconnected across a communication network to achieve minimal address mapping or translation between termination devices

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20011112

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20031202