throbber
PCT
`
`WORLD INTELLECTUAL PROPERTY ORGANIZATION
`International Bureau
`
`
`
`INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`
`(51) International Patent Classification 6 2
`H04L 12/00
`
`(11) International Publication Number:
`
`W0 (IO/02347
`
`(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
`
`IRONBRIDGE NETWORKS, INC. [US/US]; 55
`(71) Applicant:
`Hayden Avenue, Lexington, MA 02173 (US).
`
`(72) Inventors: SCHWARTZ, Steven, J .; 18 Blueberry Hill Lane,
`Sudbuly, 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, Fl,
`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.
`
`connected thereto.
`
`(54) Title: SYSTEM AND METHOD FOR SWITCHING PACKETS IN A NETWORK
`
`(57) Abstract
`
`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 identified in 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
`
`Juniper Exhibit 1004
`
`Juniper Exhibit 1004
`
`

`

`
`
`Codes used to identify States party to the PCT on the front pages of pamphlets publishing international applications under the PCT.
`
`FOR THE PURPOSES OF INFORMATION ONLY
`
`Lesotho
`Spain
`Albania
`ES
`
`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
`3.]
`Benin
`IE
`Ireland
`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
`Cote d’Ivoire
`KP
`Democratic People‘s
`
`
`Poland
`PL
`CM
`Cameroon
`Republic of Korea
`
`
`Portugal
`PT
`KR
`CN
`China
`Republic of Korea
`
`
`Romania
`R0
`KZ
`CU
`Cuba
`Kazakstan
`
`
`Russian Federation
`RU
`LC
`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
`x .
`4*:
`
`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 used in a digital data network.
`
`10
`
`15
`
`BACKGROUND OF THE INVENTION
`
`Digital networks have been developed to facilitate the transfer of information,
`
`including data and programs, among digital computer systems and numerous other
`
`types of devices. A variety of types of networks have been developed and
`
`implemented using diverse information transfer methodologies. In modern networks,
`
`information is transferred through a mesh of switching nodes which are
`
`interconnected by communication links in a variety of patterns. The mesh
`
`interconnected pattern can allow for a number of paths 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 become inoperative,
`information can be routed around the congested or inoperative portion of the
`
`network.
`
`Information transferred from a source device to a destination device is
`
`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 communication link to facilitate transfer of the packet to the
`
`destination device or another switching node along a path to the destination device.
`
`Each packet typically includes address information, including a source address that
`
`30
`
`identifies the particular device that generated the packet, and a destination address
`
`that identifies the particular device or devices to receive the packet.
`
`-1-
`
`

`

`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 output ports“,
`
`each of which 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 address the particular output port that is to
`
`transmit the packet and transfer the packet to 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
`
`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 problems can arise with output port buffering. Generally,
`
`each output port will effectively provide one queue for each input port, in which case
`
`the total number of queues provided by the switching node will be on the order of N2,
`
`where "N" is the number of input ports, which, in turn, corresponds to the number of
`
`output ports, if, as is typical, each communication link provides for bi-directional
`
`transmission of packets. Thus, as "N," the number of input/ouput ports, increases,
`
`the number of queues maintained by the output ports increases quadratically, at a
`
`much faster rate, and so output queuing does not scale well.
`
`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 queued at the input ports. Only one queue is needed for each input port, and so,
`
`as the number of input (and output) ports increases, the number of queues increases
`
`at a linear rate, avoiding the quadratic increase with output queuing. However, input
`
`queuing results in much lower efficiency 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.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`

`

`WO 00/02347
`
`PCT/US99/15028
`
`SUMMARY OF THE INVENTION
`
`The invention provides a new and improved switching node which provides
`
`for the efficient use of the switching fabric interconnecting input and output ports
`
`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 numbers of input/output ports, that is characteristic of
`
`switching nodes that provide for output-queuing. Similarly, the invention provides a
`
`new and improved switching node which provides for the linear increase in packet
`
`queues, relative to increasing numbers of input/output ports, that is characteristic of
`
`10
`
`switching nodes that provide for input queuing, while avoiding the relative inefficient
`
`usage of the switching fabric interconnecting input and output ports that is
`
`characteristic of a switching node that 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 packet including a destination
`
`address. 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 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 packet is buffered
`
`and a pointer to the location in the input port module in which the packet is buffered.
`
`25
`
`After generating the meta-data packet, the input port module provides it to the
`
`switching fabric, in particular to a packet meta-dataiprocessor portion thereof.
`
`The switching fabric includes both the packet meta-data processor portion
`
`and a packet switch portion. The packet meta-data processor portion receives the
`
`meta—data packets generated by 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, of
`
`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 determines that the packet associated with the meta-data packet is to
`
`be dropped, it will notify the input port module in which the packet is buffered,
`
`V 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
`
`10
`
`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 output port module, the output port module will
`
`issue a request to the input port module identified in the meta-data packet to transfer
`
`15
`
`the packet identified in the input port module to it (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
`
`20
`
`link connected thereto.
`
`A switching node constructed in accordance with the invention provides the
`
`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 modules until the determination has been made
`
`25
`
`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 N2 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
`
`determinations are effectively made in a manner similar to that for an output queifed .
`
`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
`
`10
`
`15
`
`20
`
`25
`
`This invention is pointed out with particularity in the appended claims. The
`
`above and further advantages of this invention may be better understood by referring
`
`to the following description taken in conjunction with the accompanying drawings,
`
`in which:
`
`FIG. 1 schematically depicts a computer network including at least one
`
`switching node constructed in accordance with the invention;
`
`FIG. 2 is a functional block diagram of a switching node for use in the
`
`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 plane in the inter—port
`
`packet switch used in the switching node depicted in FIG. 2;
`
`FIG. 5 is a functional block diagram of a meta-data packet processor for
`
`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 embodiment of a frame
`
`forwarding engine useful in the input port module depicted in FIG. 3; and
`
`FIG. 8 is a functional block diagram of a second embodiment of a frame
`
`forwarding engine useful in the input port module depicted in FIG. 3.
`
`

`

`WO 00/02347
`
`PCT/US99/15028
`
`DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT3-.
`,i’.
`
`FIG. 1 schematically depicts a computer network 10 including a plurality of
`switching nodes 11(1) through 11(N) (generally identified by reference numeral 11
`
`(n)) for transferring signals representing data among a number of 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, or the like (not
`
`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
`
`15
`
`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) may utilize 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
`
`20
`
`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 on the particular type of medium
`
`selected for respective communication links 13(p), multiple media may be provided
`
`for transferring signals in opposite directions thereby to provide the 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 header portion includes
`
`information that assists in routing the packet through the network, with the specific
`
`information depending on the particular packet routing protocol that is used in
`
`30
`
`routing packets through the network. In connection with network 10, any of a
`
`number of well-known packet routing protocols may be used; in one embodiment,
`
`—6-
`
`

`

`WO 00/02347
`
`"
`
`PCT/US99/15028
`
`the well-known Internet 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 and a destination address identifying
`
`the particular destination address 12(mD) that is to receive the packet. In the IP
`
`protocol, a packet may be of variable length and the header typically will also include
`
`length information to identify the length of the packet. The header also typically
`
`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 whether an error occured in transferring the packet.
`
`A source device 12(m5), after generating a packet for transfer to a destination
`
`device 12(mD), 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 which it is to transfer the packet
`
`to forward it (that is, the packet) to either the destination device 12(mD), if the
`switching node 11(n) is connected to the destination device 12 (mD),or to another
`
`switching node 11(n) (n'vtn) along a path to the destination device 12(mD). 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 have respective routes for the destination address, the packet will
`
`eventually arrive at the destination device 12(mD).
`
`25
`
`The invention provides a new switching node 11(n), a functional block
`
`diagram of which is depicted in FIG. 2, that providés for the efficient transfer of
`
`packets through the network. With reference to FIG. 2, the switching node 11(n)
`
`includes a number of input port modules 20(1) through 20(N) (generally identified by
`
`reference numeral 20(n)) and a like number of output 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-
`
`

`

`WO 00/02347
`
`PCT/US99/15028
`
`and a switching node management processor 27. Each input port module 20(n)
`
`includes one or more input ports 25(n)(l) through 25(n)(M) (generally identifiedEBy ‘
`
`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 packet is 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 which the packet is to be
`
`transmitted to facilitate forwarding of the packet to the destination device 12(mD) or
`
`to the next switching node 11(n') along the path to facilitate routing of the packet to
`
`the destination device 12(mD). 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_DATA input (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_DATA output (n) packet data signals
`
`(index "n" being an integer between one and "N," inclusive), to the identified output
`
`port module for transmission.
`
`20
`
`25
`
`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 communication links
`
`13(p). The output port module 21(n), in turn, transmits over the communication
`
`links 13(p) respective ones of the packets, as represented by PKT_OUT packet out
`
`signals, that are provided thereto by the switching fabric.
`
`The inter-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), when it transfers a packet to the inter-port packet switch 22,
`
`divides the packet into 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—robin basis.
`
`Similarly, each output port module 21(n), when it 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—robin basis, and will re-assemble the segments into a
`
`packet prior to 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 through the 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
`
`10
`
`taken out of the round-robin, and the inter-port packet switch 22 will allow for
`
`15
`
`20
`
`25
`
`continued satisfactory switching using the other switch planes 22(p') (p'¢p). In one
`
`embodiment, the determination of whether a switch plane 22(p) has failed 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
`
`the input port modules 20(n) to the respective output port modules 21(n).
`
`The switching node management processor 27 performs a number of
`
`management functions for 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
`
`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 receives bit error rate information for the respective switching planes
`
`22(p) and controls switching of the switch planes 22(p) into and out of the round-
`
`robin in response thereto.
`
`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) connected thereto, 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/U599/15028
`
`output port 26(n)(m) through which the packet is to be transmitted, and perhaps and
`
`indication of the length of the packet. After the input port module 20(n) generates a ‘
`
`meta-data packet for the packet, it will provide the meta-data packet, as represented
`by INP(n)_META-DATA/RESP input (11) 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/STATUS output port module 21(n) control/status signals, from the
`
`respective output port modules 21(n) concerning their operational status, in particular
`
`their respective capacities at any point in time to receive additional packets from the
`
`input port modules 20(n) for transmission. The output port module 21(n) status
`
`information may reflect the conditions of a number of factors, including, for
`
`example, the amount of buffering that the output port module 21(n) has available for
`
`packets received from the input port modules 20(n) prior to transmission (or,
`
`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 output port
`
`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
`
`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 transmit it (that
`
`is, the packet) over the respective communication link 13(p). If the packet meta-data
`
`processor 23 makes a positive determination, that is, if it determines that the current
`
`status information associated with the output port module 21(n) which is to transmit
`
`the packet indicates that it (that is, the output port module 21(n)) has sufficient
`
`capacity to receive the packet and transmit it, then the packet meta-data processor 23
`
`will provide the meta—data packet, represented by the OP(n)_CTRL/STATUS
`
`10
`
`15
`
`20
`
`25
`
`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 which it (that is, the output
`
`-10-
`
`

`

`WO 00/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_REQ output(n)/input(n) packet request signal
`
`(indices "n" in both cases being integers, whose values may differ), 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_DATA input (11) packet data signals, to the inter-port
`
`packet switch 22, which, in turn, couples the packet, represented by
`
`OP(n)_PKT_DATA output(n) packet data signals, to the output port module 21(n)
`
`10
`
`for transmission as described above.
`
`On the 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, determines that the
`
`operational status 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/RESP input(n) meta-data/response signals, to the input port module 20(n)
`from 'which the meta-data packet was received. This may occur if, 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 discard it (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 packet is to be discarded, it will normally be
`
`requested by the output port module 21(n) for transmission over one of the
`
`-11-
`
`

`

`WO 00/02347
`
`PCT/US99/15028
`
`communication links 13(p) connected thereto.
`
`Accordingly, it will be appreciated that decisions within the switching ndde ‘
`
`11(n) as to whether a packet that 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
`
`operational status 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
`
`provide the meta—data packet for the packet to the output p

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket