`
`WORLD INTELLECTUAL PROPERTY ORGANIZATION
`International Bureau
`
`
`
`INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`(51) International Patent Classification © :
`
`(11) International Publication Number:
`
`WO 00/02347
`
`12(4)
`
`A switching node for transferring packets,
`each including a destination address,
`in a net-
`work includes a plurality of input port modules,
`a plurality of output port modules and a switch-
`ing fabric, including a packet meta-data processor
`and a packet switch. Each input port module is
`connected to a communication link for receiving
`packets thereover, and each output port module
`is connected to a communication link for trans-
`mitting packets thereover. Each input port mod-
`ule, upon receiving a packet, buffers the packet
`and generates a meta-data packet therefore iden-
`tifying the output port module that is to trans-
`mit the packet and packet identifier information,
`and provides it to the packet meta-data proces-
`sor. The packet meta-data processor receives
`the meta-data packets generated by all of the in-
`put port modules and operational status informa-
`tion from all of the output port modules and for
`each output port module, processes the meta-data
`packets received from all of the input port mod-
`ules in connection with the operational status in-
`formation to determine whether the packet should
`be passed or dropped. If the packet meta~data processor determines that a packet associated with a meta-data packet is to be dropped,it
`will notify the input port module in which the packet is buffered, which, in turn, will discard the packet. On the other hand if the packet
`meta-data processor determines that the packet associated with the meta-data packet is not to be dropped, it will enqueue the meta-data
`packet for the associated output port module. Each output port module retrieves meta-data packets from its respective meta-data packet
`queue maintained therefor by the packet meta-data processor. For each meta-data packet retrieved by an ouput port module, the output
`port module will request that the input port module identifiedin the meta-data packet transfer the packet identified in the input port mod-
`ule thereto through the packet switch. When the output port module receives the packet,
`it will transmit it over the communication link
`connected thereto.
`
`HO4L 12/00
`
`(43) International Publication Date:
`
`13 January 2000 (13.01.00)
`
`(21) International Application Number:
`
`PCT/US99/15028
`
`(22) International Filing Date:
`
`1 July 1999 (01.07.99)
`
`(30) Priority Data:
`09/108,771
`
`2 July 1998 (02.07.98)
`
`US
`
`(71) Applicant: TIRONBRIDGE NETWORKS, INC. [US/US]; 55
`Hayden Avenue, Lexington, MA 02173 (US).
`
`(72) Inventors: SCHWARTZ, Steven, J.; 18 Blueberry Hill Lane,
`Sudbury, MA 01776 (US). CARLSON, James, D.; 25
`Essex Street, North Andover, MA 01845 (US). PEDUEL,
`Yuval; 16 Albamont Road, Winchester, MA 01890 (US).
`HATHAWAY, Michael, 4 Pinevale Avenue, Burlington,
`MA 01803 (US).
`
`(74) Agents: MILLS, Steven, M. et al.; Samuels, Gauthier &
`Stevens LLP, 55 Hayden Avenue, Lexington, MA 02173
`(US),
`
`(81) Designated States: AL, AM, AT, AU, AZ, BA, BB, BG, BR,
`BY, CA, CH, CN, CU, CZ, DE, DK, EE, ES, FI, GB, GD,
`GE, GH, GM, HR, HU,ID, IL, IN, IS, JP, KE, KG, KP,
`KR, KZ, LC, LK, LR, LS, LT, LU, LV, MD, MG, MK,
`MN, MW, MX, NO, NZ, PL, PT, RO, RU, SD, SE, SG,
`SI, SK, SL, TJ, TM, TR, TT, UA, UG, UZ, VN, YU, ZW,
`ARIPO patent (GH, GM, KE, LS, MW, SD, SL, SZ, UG,
`ZW), Eurasian patent (AM, AZ, BY, KG, KZ, MD, RU,TJ,
`TM), European patent (AT, BE, CH, CY, DE, DK, ES, FI,
`FR, GB, GR, IE, IT, LU, MC, NL, PT, SE), OAPI patent
`(BF, BJ, CF, CG, CI, CM, GA, GN, GW, ML, MR, NE,
`SN, TD, TG).
`
`Published
`Without international search report and to be republished
`upon receipt of that report.
`
`(54) Title) SYSTEM AND METHOD FOR SWITCHING PACKETS IN A NETWORK
`
`(57) Abstract
`
`PACKET
`SRC/DEST
`12(2)
`
`PACKET
`SRC/DEST
`12(3)
`
`Juniper Exhibit 1004
`
`Juniper Exhibit 1004
`
`
`
`
`
`FOR THE PURPOSES OF INFORMATION ONLY
`
`Codes used to identify States party to the PCT on the front pages of pamphlets publishing international applications under the PCT.
`
`
`Lesotho
`Albania
`ES
`Spain
`Lithuania
`AM
`Armenia
`FI
`Finland
`
`
`Luxembourg
`AT
`Austria
`FR
`France
`Latvia
`AU
`Australia
`GA
`Gabon
`
`Monaco
`AZ
`Azerbaijan
`GB
`United Kingdom
`
`Republic of Moldova
`BA
`Bosnia and Herzegovina
`GE
`Georgia
`
`Madagascar
`BB
`Barbados
`GH
`Ghana
`
`The former Yugoslav
`BE
`Belgium
`GN
`Guinea
`
`Republic of Macedonia
`BF
`Burkina Faso
`GR
`Greece
`
`Mali
`ML
`BG
`Bulgaria
`HU
`Hungary
`
`Mongolia
`MN
`BJ
`Benin
`IE
`Treland
`
`Mauritania
`MR
`BR
`Brazil
`IL
`Israel
`Malawi
`MW
`BY
`Belarus
`IS
`Iceland
`
`
`Mexico
`Mx
`CA
`Canada
`IT
`Italy
`
`
`Niger
`NE
`CF
`Central African Republic
`JP
`Japan
`Netherlands
`NL
`CG
`Congo
`KE
`Kenya
`
`
`Norway
`NO
`CH
`Switzerland
`KG
`Kyrgyzstan
`
`
`New Zealand
`NZ
`CI
`Cédte d’Ivoire
`KP
`Democratic People’s
`
`
`Poland
`PL
`CM
`Cameroon
`Republic of Korea
`
`
`Portugal
`PT
`KR
`CN
`China
`Republic of Korea
`Romania
`RO
`KZ
`CU
`Cuba
`Kazakstan
`
`
`Russian Federation
`RU
`Le
`CZ
`Czech Republic
`Saint Lucia
`
`
`Sudan
`SD
`LI
`DE
`Germany
`Liechtenstein
`
`
`DK
`Denmark
`LK
`Sri Lanka
`SE
`Sweden
`
`EE
`Estonia
`LR
`Liberia
`:
`SG
`Singapore
`
`Slovenia
`Slovakia
`Senegal
`Swaziland
`Chad
`Togo
`Tajikistan
`Turkmenistan
`Turkey
`Trinidad and Tobago
`Ukraine
`Uganda
`United States of America
`Uzbekistan
`Viet Nam
`Yugoslavia
`Zimbabwe
`
`LS
`LT
`LU
`LV
`MC
`MD
`MG
`MK
`
`SI
`SK
`SN
`SZ
`TD
`TG
`TJ
`TM
`TR
`TT
`UA
`UG
`us
`UZ
`VN
`YU
`Zw
`
`
`
`
`
`
`
`WO 00/02347
`
`PCT/US99/15028
`
`SYSTEM AND METHOD FOR SWITCHING PACKETS IN A NETWORK.
`
`xa
`
`FIELD OF THE INVENTION
`
`The invention relates generally to the field of digital communications, and
`
`more particularly to systems and method for switching packets of digital data in a
`
`switching node usedin a digital data network.
`
`10
`
`BACKGROUND OF THE INVENTION
`
`Digital networks have been developedto facilitate the transfer of information,
`
`including data and programs, amongdigital computer systems and numerousother
`
`types of devices. A variety of types of networks have been developed and
`
`implemented using diverse information transfer methodologies. In modern networks,
`
`15
`
`informationis transferred through a mesh of switching nodes which are
`
`interconnected by communicationlinksin a variety of patterns. The mesh
`
`interconnected pattern can allow for a numberofpaths to be available through the
`network from each computer system or other device which may transmit information
`
`as a source device, to another computer system or other device, which is to receive
`
`20
`
`the information as a destination device, so that if congestion develops in particular
`
`regions of the network,or if components of the network becomeinoperative,
`information can be routed around the congested or inoperative portion ofthe
`
`network.
`
`Information transferred from a source device to a destination deviceis
`
`25
`
`generally transferred in the form of fixed-or variable-length packets, which are
`
`received by a switching node over one communication link connected thereto, and
`
`transmitted over another communicationlink to facilitate transfer of the packet to the
`
`destination device or another switching node along a path to the destination device.
`
`Each packettypically includes address information, including a source addressthat
`
`30
`
`identifies the particular device that generated the packet, and a destination address
`
`that identifies the particular device or devices to receive the packet.
`
`-l-
`
`
`
`WO 00/02347
`
`PCT/US99/15028
`
`Typically, a switching node includes one or more input ports, each of which
`is connected to a communication link to receive packets, a plurality of outputports,
`_ each ofwhich is connected to a communication link to transmit packets, and a
`"switching fabric" that couples packets from the input portsto the respective outport
`ports for transmission. After an input port receives a packet, it will typically buffer
`
`the packet, identify from the destination addressthe particular output port thatis to
`
`transmit the packet and transferthe packetto the output port through the switching
`
`fabric. After the output port receives the packet,it (that is, the output port) will
`
`typically buffer the packet in a queue for transmission over the communication link
`
`10
`
`connected thereto. While buffering and scheduling by the output port can provide for
`
`efficient packet transmission by the output port, since the output port can be kept
`
`continually busy, several problemscan arise with output port buffering. Generally,
`
`each outputport will effectively provide one queue for each inputport, in which case
`the total number of queues provided by the switching node will be on the order ofN’,
`
`15
`
`where "N" is the numberof inputports, which, in turn, corresponds to the numberof
`
`outputports, if, as is typical, each communication link provides for bi-directional
`
`transmission of packets. Thus, as "N," the numberof input/ouputports, increases,
`
`the number of queues maintained by the output ports increases quadratically, at a
`
`muchfaster rate, and so output queuing doesnot scale well.
`
`20
`
`Instead of using output queuing of packets to be transmitted, switching nodes
`
`have been developed which can provide input queuing, in which packets are buffered
`
`and queuedat the input ports. Only one queue is needed for each input port, and so,
`
`as the numberof input (and output) ports increases, the number of queues increases
`
`at a linear rate, avoiding the quadratic increase with output queuing. However, input
`
`25
`
`queuingresults in much lowerefficiency of usage of the switching fabric, since the
`
`input ports must, after buffering received packets, essentially contend and arbitrate
`
`for use of the switching fabric to facilitate transfer of the packets to the respective
`
`output ports for transmission.
`
`30
`
`
`
`WO00/02347
`
`PCT/US99/15028
`
`SUMMARYOF THE INVENTION
`
`The invention provides a new and improved switching node which providés
`for the efficient use ofthe switching fabric interconnecting input and outputports
`that is characteristic of a switching node that provides for output-queuing of packets
`
`transferred by the switching node, while avoiding the quadratic increase in packet
`
`queues,relative to increasing numbersof input/output ports, that is characteristic of
`switching nodesthat provide for output-queuing. Similarly, the invention provides a
`
`new and improved switching node whichprovidesfor the linear increase in packet
`queues,relative to increasing numbersofinput/outputports, that is characteristic of
`switching nodes that provide for input queuing, while avoiding the relative inefficient
`
`10
`
`usage of the switching fabric interconnecting input and outputportsthat is
`
`characteristic of a switching nodethat provides for input-queuing of packets
`
`transferred by the switching node.
`
`In brief summary, the invention provides a switching node, including a
`
`15
`
`plurality of input port modules, a plurality of output port modules and a switching
`
`fabric for transferring packets in a network, each packetincludingadestination
`
`address. Each input port module is connected to a communicationlink for receiving
`packets thereover, and each output port module is connected to a communicationlink
`for transmitting packets thereover. Each input port module, upon receiving a packet
`
`20
`
`from the communication link connected thereto, buffers the packet and generates a
`
`meta-data packet therefor, the meta-data packet identifying the output port module
`
`that is to transmit the packet, and generates identifier information for the packet, in
`
`particular the identification of the input port module in which the packetis buffered
`and a pointerto the location in the input port module in which the packet is buffered.
`After generating the meta-data packet, the input port module providesit to the
`
`25
`
`switching fabric, in particular to a packet meta-dataprocessorportion thereof.
`
`The switching fabric includes both the packet meta-data processor portion
`
`and a packet switch portion. The packet meta-data processor portion receivesthe
`
`meta-data packets generatedby all of the input port modules and operational status
`
`30
`
`information from all of the output port modules. The operational status information
`
`for each output port module includes information that is useful in making a
`
`-3-
`
`
`
`WO 00/02347
`
`PCT/US99/15028
`
`determination for each respective output port module as to whether or not packets
`that would be transmitted by the respective output port module are to be discarded,or’
`dropped. For each output port module, the packet meta-data processor processes the
`meta-data packets received from all of the input port modules in connection with the
`operational status information. If, in processing a meta-data packet, the packet meta-
`data processor determinesthat the packet associated with the meta-data packetis to
`be dropped,it will notify the input port module in which the packetis buffered,
`_ which,in turn, will discard the packet. On the other hand,if the packet meta-data
`processor determinesthat the packet associated with the meta-data packetis not to be
`dropped,it will enqueue the meta-data packet for the associated output port module.
`Each output port module retrieves meta-data packets from its respective meta-
`data packet queue maintainedtherefor by the packet meta-data processor. For each
`meta-data packetretrieved by an output port module,the output port module will
`issue a request to the input port module identified in the meta-data packet to transfer
`the packet identified in the input port moduletoit (that is, to the output port module
`that issued the request). The input port module,after receiving the request from the
`output port module, will transfer the requested packet through the packet switch
`portion of the switching fabric. The packet switch portion,in turn, will transfer the
`packet to the output port module, for transmission thereby over the communication
`
`10
`
`15
`
`20
`
`link connected thereto.
`
`25
`
`A switching node constructed in accordance with the invention providesthe
`scalability of a input-queued switching node, while maintaining substantially the
`efficiency of switching fabric usage of an output-queued switching node. Since the
`packets are buffered at the input port modulesuntil the determination has been made
`by the packet meta-data processor that they are to be transmitted by respective output
`port modules, and further until they are requested by the respective output port
`
`modules for to be transferred thereto for transmission, only "N" buffers, or queues,
`
`are needed, one for each input port module, whereas in an output-queued switching
`
`node N? buffers would be required. However, the determination as to which packets
`
`30
`
`should be discarded(that is, which packets should be dropped) and which should not
`
`be (that is, which packets should be passed), is made separately for each output port
`
`-4-
`
`
`
`WO 00/02347
`
`PCT/US99/15028
`
`module effectively in a queue established therefor, and so the pass/drop
`determinationsare effectively made in a mannersimilar to that for an output quetied ,
`switching node. Thus, the packet switch portion of the switching fabric an achieve
`
`efficiencies similar to those achieved in output queued switching nodes.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`This invention is pointed out with particularity in the appended claims. The
`
`above and further advantagesof this invention may be better understood by referring
`
`10
`
`to the following description taken in conjunction with the accompanying drawings,
`
`in which:
`
`FIG. 1 schematically depicts a computer network including atleast one
`
`switching node constructed in accordance with the invention;
`
`FIG.2 is a functional block diagram of a switching node forusein the
`
`15
`
`network depicted in FIG. 1, constructed in accordance with the invention;
`
`FIG.3 is a functional block diagram of an input port module used in the
`
`switching node depicted in FIG.2;
`
`FIG.4 is a functional block diagram of one switch planein the inter-port
`
`packet switch used in the switching node depicted in FIG.2;
`
`20
`
`FIG.5 is a functional block diagram of a meta-data packet processorfor
`
`processing packet meta-data in the switching node depicted in FIG.2;
`
`FIG.6 is a functional block diagram of an output port module used in the
`
`switching node depicted in FIG.1;
`
`FIG.7 is a functional block diagram of one embodimentof a frame
`
`25
`
`forwarding engineuseful in the input port module depicted in FIG. 3; and
`
`FIG. 8 is a functional block diagram of a second embodimentof a frame
`
`forwarding engine useful in the input port module depicted in FIG.3.
`
`
`
`WO00/02347
`
`PCT/US99/15028
`
`™a
`
`DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT
`
`FIG. 1 schematically depicts a computer network 10 includingaplurality of
`switching nodes 11(1) through 11(N) (generally identified by reference numeral 11
`(n)) for transferring signals representing data among a numberof devices, which in
`
`FIG.1 are represented by packet source/destination devices 12(1) through 12(M)
`
`(generally identified by reference numeral 12(m)) in a wide area network ("WAN").
`The packet source/destination devices 12(m),as is conventional, include a particular
`
`device, such as a computer system or other device that stores, generates, processes or
`
`10
`
`otherwise uses digital data, a local area network of such devices,orthe like (not
`
`15
`
`20
`
`separately shown)to the wide area network 10. Each packet source/destination
`device 12(m) is connected over a communication link, generally identified by
`
`reference numeral 13(p), to a switching node 11(n)to facilitate transmission of data
`
`thereto or the reception of data therefrom. The switching nodes 11(n) are
`
`interconnected by communication links, also generally identified by reference
`numeral 13(p) to facilitate the transfer of information among the respective switching
`nodes 11(n). The communication links 13(p) mayutilize any convenient information
`
`transmission medium,including, for example, wires for carrying electrical signals,
`
`optical fiber links for carrying optical signals, and so forth. Each communication
`link 13(p) is preferably bi-directional, allowing the switching nodes 11(n) to transmit
`and receive signals among each other and with customer premises equipment 12(m)
`
`connected thereto over the same link; depending onthe particular type of medium
`
`selected for respective communication links 13(p), multiple media may be provided
`for transferring signals in opposite directions thereby to providethe bidirectional
`
`25
`
`link.
`
`Data is transferred in the network 10 in the form of packets. Generally, a
`
`packet includes a header portion and a data portion. The headerportion includes
`
`informationthat assists in routing the packet through the network, with the specific
`
`30
`
`information depending on the particular packet routing protocol that is used in
`routing packets through the network. In connection with network 10, any of a
`numberof well-known packet routing protocols may be used; in one embodiment,
`
`-6-
`
`
`
`WO 00/02347
`
`.
`
`PCT/US99/15028
`
`the well-knownInternet protocol ("IP") is used. In any case, the header typically
`includes address information including a source address identifying the particular”
`source device 12(ms) that generated the packet anda destination addressidentifying
`
`the particular destination address 12(mp) that is to receive the packet. In the IP
`protocol, a packet may be ofvariable length and the headertypically will also include
`
`length informationto identify the length of the packet. The headeralsotypically
`
`includes other information, including, for example, protocol identifier information
`
`that identifies the particular protocol that defines the structure of the packet. The
`
`data portion contains the data payload of the packet. The packet may also include,as
`
`10
`
`part of the data portion or otherwise,error detection information that can be used to
`
`determine whetheran error occuredin transferring the packet.
`
`A source device 12(m,), after generating a packet for transfer to a destination
`
`device 12(mp), will provide the packet to the switching node 11(n) connected thereto.
`
`The switching node 11(n) will use the destination address in the packet to attempt to
`
`15
`
`identify a "route" which associates a destination address with one of the
`
`communication links 13(p) connected thereto over whichit is to transfer the packet
`
`to forwardit (that is, the packet) to either the destination device 12(mp), if the
`switching node 11(n) is connected to the destination device 12 (m,),or to another
`switching node 11(n) (n'¢n) along a path to the destination device 12(mp). If the
`
`20
`
`switching node can identify a route for the received packet, it will forward the packet
`
`over the communication link identified by the route. Each switching node 11(n),
`
`11(n"),..., which receives the packet will perform a similar operation. If all of the
`
`switching nodes haverespective routes for the destination address, the packetwill
`
`eventually arrive at the destination device 12(mp).
`
`25
`
`The invention provides a new switching node 11(n), a functional block
`
`diagram of which is depicted in FIG.2,that provides for the efficient transfer of
`
`packets through the network. With reference to FIG. 2, the switching node 11(n)
`includes a numberof input port modules 20(1) through 20(N) (generally identified by
`
`reference numeral 20(n)) and a like numberofoutput port modules 21(1) through
`
`30
`
`21(N) (generally identified by reference number 21(n)) interconnected by a switching
`
`fabric consisting of an inter-port packet switch 22, a packet meta-data processor 23,
`
`-7-
`
`
`
`WO00/02347
`
`PCT/US99/15028
`
`and a switching node managementprocessor 27. Each input port module 20(n)
`includes one or moreinput ports 25(n)(1) through 25(n)(M) (generally identified*by *
`
`reference numeral 25(n)(m)), which are connected to respective one of the
`
`communication links 13(p) for receiving packets, represented by PKT_IN (n)(m)
`packet in (n)(m)signals, thereover. For each packet received, the input port module
`
`20(n) buffers the packet and identifies from the destination address contained in the
`
`packet’s header the appropriate route therefor, in the process identifying the
`
`particular output port module 21(n) to which the packetis to be sent and one of one
`
`or more output ports 26(n)(1) through 26(n)(M) (generally identified by reference
`
`10
`
`numeral 26(n)(m)) on the output port module 21(n) through whichthe packet is to be
`
`transmitted to facilitate forwarding of the packet to the destination device 12(mp) or
`
`to the next switching node 11(n’') alongthe path to facilitate routing of the packet to
`
`the destination device 12(m,). Generally, the input port module 20(n) will transfer
`
`the packet to the switching fabric, in particular to the inter-port packet switch 22, as
`
`15
`
`represented by INP(n)PKT_DATAinput(n) packet data signals (index "n" being an
`
`integer between one and "N," inclusive). The inter-port switch 22, in turn, couples
`
`the packet, as represented by OP(n)PKT_DATAoutput (n) packetdata signals
`
`(index "n" being an integer between one and "N,"inclusive), to the identified output
`
`port module for transmission.
`
`20
`
`As noted above, each output port module 21(n) includes one or more output
`
`ports 26(n)(m), each of which is connected to one or more communicationlinks
`
`13(p). The output port module 21(n), in turn, transmits over the communication
`
`links 13(p) respective onesofthe packets, as represented by PKT_OUTpacket out
`
`signals, that are provided thereto by the switching fabric.
`
`25
`
`Theinter-port packet switch 22, which couples packets from the input port
`
`modules 20(n) to the respective output port modules 21(n), is in the form of a
`
`crosspoint switch. More specifically, the inter-port packet switch 22 is in the form of
`
`a plurality of switch planes 22(1) through 22(P) (generally identified by the reference
`
`numeral 22(p)), each of which is in the form of a crosspoint switch. Generally, each
`
`30
`
`input port module 20(n), whenit transfers a packetto the inter-port packet switch 22,
`
`divides the packetinto a series of segments which are transferred to the successive
`
`-8-
`
`
`
`WO 00/02347
`
`PCT/US99/15028
`
`switch planes 22(m)of the inter-port packet switch 22 on a round-robinbasis.
`Similarly, each output port module 21(n), whenit receives a packet from the inter-
`port packet switch 22, will receive successive packet segments from the successive
`switch planes 22(m) on a round-robinbasis, and will re-assemble the segmentsinto a
`
`packet priorto transfer through their respective output ports 26(n)(m). Providing
`multiple switch planes 22(p) in the inter-port packet switch 22 allows for more rapid
`
`switching of packets throughthe inter-port packet switch, allowing for higher
`
`through-put of packets from the input port modules 20(n) to the output port modules
`21(n). In addition, if a switch plane 22(p)fails or otherwise malfunctions, it can be
`taken out of the round-robin,and the inter-port packet switch 22 will allow for
`
`10
`
`continued satisfactory switching using the other switch planes 22(p’) (p'=p). In one
`
`embodiment, the determination of whether a switch plane 22(p) hasfailed or
`
`otherwise malfunctioned, such that it should be taken out of the round-robin,is based
`
`on the bit error rate of the switch plane 22(p)in transferring packet segments from
`
`15
`
`the input port modules 20(n)to the respective output port modules 21(n).
`
`The switching node managementprocessor 27 performs a number of
`
`managementfunctionsfor the switching node 11(n), which will be apparent to those
`
`skilled in the art, including, for example, maintaining and updating the route
`
`information used by the input port modules 20(n)in identifying, for respective
`
`20
`
`packets, an appropriate output port module 21(n) and output port 26(n)(m) through
`
`which the packets are to be transmitted. In addition, the switching node management
`
`processor 27 receivesbit error rate information for the respective switching planes
`
`22(p) and controls switching of the switch planes 22(p) into andoutof the round-
`
`robin in responsethereto.
`
`25
`
`In accordance with the invention, in connection with controlling the transfer
`
`of packets from each input port module 20(n) to the respective output port modules
`
`21(n) through the switching fabric, after an input port module 20(n)receives a packet
`
`over a communication link 13(p) connectedthereto, it will buffer the packet and
`
`generate a meta-data packet therefor describing the packet, including a pointer to the
`
`30
`
`packet in the input port module 20(n) and the route information, including
`
`identification of the output port module 21(n) that is to receive the packet and the
`
`-9-
`
`
`
`WO 00/02347
`
`PCT/US99/15028
`
`output port 26(n)(m) through which the packetis to be transmitted, and perhaps and
`indication of the length of the packet. After the input port module 20(n) generatdsa *
`meta-data packet for the packet, it will provide the meta-data packet, as represented
`by INP(n)META-DATA/RESPinput(n) meta-data/response signals, to the packet
`meta-data processor 23 in the switching fabric for processing.
`
`The packet meta-data processor 23 also receives information, represented by
`
`OP(n)_CTRL/STATUSoutput port module 21(n) control/status signals, from the
`
`respective output port modules 21(n) concerningtheir operationalstatus, in particular
`
`their respective capacities at any point in time to receive additional packets from the
`
`10
`
`input port modules 20(n) for transmission. The output port module 21(n) status
`
`information mayreflect the conditions of a numberof factors, including, for
`
`example, the amountof buffering that the output port module 21(n) hasavailable for
`
`packets received from the input port modules 20(n) prior to transmission(or,
`
`15
`
`conversely, the amount of buffering currently occupied with packets to be
`transmitted) whether the available buffering is decreasing, increasing or substantially
`constant, and the like, all of which will provide an indication of the outputport
`
`module’s capacity to receive packets associated with respective meta-data packets.
`
`After receiving a meta-data packet for each packet from the respective input
`
`port module 20(n), the packet meta-data processor 23 will determine whether the
`
`20
`
`current status information that is associated with the output port module 21(n) which
`
`is to transmit the packet, indicates that the output port module 21(n)has sufficient
`
`capacity to receive the packet from the input port module 20(n) and transmitit (that
`
`is, the packet) over the respective communication link 13(p). If the packet meta-data
`
`processor 23 makesa positive determination,that is, if it determines that the current
`
`25
`
`status information associated with the output port module 21(n) which is to transmit
`
`the packetindicates that it (that is, the output port module 21(n)) has sufficient
`
`capacity to receive the packet and transmitit, then the packet meta-data processor 23
`
`will provide the meta-data packet, represented by the OP(n)_CTRL/STATUS
`
`signals, to the respective output port module 21(n).
`
`30
`
`The output port module 21(n), after it receives a meta-data packet from the
`
`packet meta-data processor 23 associated with a packet whichit (that is, the output
`
`-10-
`
`
`
`WO00/02347
`
`PCT/US99/15028
`
`port module 21(n)) is to transmit, will subsequently provide a packet request,
`represented by the OP(n)/INP(n)_PKT_REQoutput(n)/input(n) packet request signal
`(indices "n" in both cases being integers, whose values maydiffer), to enable the
`input port module 20(n)that is buffering the packet to transfer the packet thereto
`through the inter-port packet switch 22. After receiving the packet request from the
`
`output port module 21(n), the input port module 20(n), transmits the packet,
`
`represented by INP(n)PKT_DATAinput(n) packet data signals, to the mter-port
`
`packet switch 22, which,in turn, couples the packet, represented by
`
`OP(n)PKT_DATAoutput(n) packetdata signals, to the output port module 21(n)
`
`10
`
`|
`for transmission as described above.
`Onthe other hand,if the packet meta-data processor 23, after receiving from
`
`an input port module 20(n) a meta-data packet for a packet, determinesthat the
`
`operationalstatus of the output port module 21(n) that is to transmit the packet
`
`indicates that the capacity of the output port module 21(n) is such that the output port
`
`15
`
`module 21(n) will not be able to transmit the packet,it (that is, the packet meta-data
`
`processor 23)will provide a notification, represented by the INP(n)_META-
`
`DATA/RESPinput(n) meta-data/responsesignals, to the input port module 20(n)
`from which the meta-data packet was received. This may occurif, for example, the
`status information associated with the output port module 21(n) as maintained by the
`
`20
`
`packet meta-data processor 23 indicates that the output port module 21(n)is
`
`congested when the input port module 20(n) provides to the packet meta-data
`
`processor 23 the meta-data packet for a packet that would otherwise be transmitted
`
`by the to output port module 21(n). In that case, since the output port module 21(n)
`
`will be unable to transmit the packet, the input port module 20(n) can discardit (that
`
`25
`
`is, the packet) to free buffer space for additional packets that may be received over
`
`the communication links connected thereto. In addition, the packet meta-data
`
`processor 23 will discard the meta-data packet associated with the packet to be
`
`discarded, instead of forwarding the meta-data packet to the output port module
`
`21(n). Unless the input port module 20(n) receives a notification from the packet
`
`30
`
`meta-data processor 23 that the packetis to be discarded,it will normally be
`
`requested by the output port module 21(n) for transmission over one of the
`
`-ll-
`
`
`
`WO 00/02347
`
`PCT/US99/15028
`
`communication links 13(p) connectedthereto.
`Accordingly,it will be appreciated that decisions within the switching node *
`11(n) as to whethera packetthat is received over the network,will be transmitted by
`
`the switching node, is made by the packet meta-data processor 23, in response to a
`
`meta-data packet provided thereto by the input port module 20(n) and based on
`
`operationalstatus information provided thereto by the output port modules 21(n). If
`
`the packet meta-data processor 23 determines, after receiving a meta-data packet for
`
`a packet, that the output port module 21(n) that is to transmit the packet has the
`
`capacity to receive and transmit the packet, the packet meta-data processor 23 will
`
`10
`
`provide the meta-data packet for the packet to the output port module 21(n), which,
`
`in turn, will initiate forwarding of the packettoit (that is, the output port module
`
`21(n)) by the input port module 20(n)to facilitate transmission of the packet by the
`
`output port module 21(n). On the other hand,if the packet meta-data processor 2