Búsqueda Imágenes Maps Play YouTube Noticias Gmail Drive Más »
Iniciar sesión
Usuarios de lectores de pantalla: deben hacer clic en este enlace para utilizar el modo de accesibilidad. Este modo tiene las mismas funciones esenciales pero funciona mejor con el lector.

Patentes

  1. Búsqueda avanzada de patentes
Número de publicaciónUS8037399 B2
Tipo de publicaciónConcesión
Número de solicitudUS 11/779,778
Fecha de publicación11 Oct 2011
Fecha de presentación18 Jul 2007
Fecha de prioridad18 Jul 2007
TarifaPagadas
También publicado comoUS20090282322
Número de publicación11779778, 779778, US 8037399 B2, US 8037399B2, US-B2-8037399, US8037399 B2, US8037399B2
InventoresYuen Wong, Hui Zhang
Cesionario originalFoundry Networks, Llc
Exportar citaBiBTeX, EndNote, RefMan
Enlaces externos: USPTO, Cesión de USPTO, Espacenet
Techniques for segmented CRC design in high speed networks
US 8037399 B2
Resumen
Embodiments of the present invention provide techniques for efficient generation of CRC values in a network environment. Specific embodiments of the present invention enable CRC processing circuits that can generate CRC values at high data throughput rates (e.g., 100 Gbps or greater), while being capable of being implemented on currently available FPGAs. Accordingly, embodiments of the present invention may be used in network devices such as routers, switches, hubs, host network interfaces and the like to support high speed data transmission standards such as 100G Ethernet and beyond.
Imágenes(12)
Previous page
Next page
Reclamaciones(16)
1. A method comprising:
receiving, by a network device, a set of one or more data lines, each data line in the set of data lines having a width and comprising a portion of a message, wherein at least one data line in the set of data lines is a residue line containing a portion of the message that is smaller than the width of the residue line;
shifting, by the network device, the portion of the message in the residue line from a first boundary of the residue line to a second boundary of the residue line;
generating, by the network device, a data line CRC value for each data line in the set of data lines; and
generating, by the network device, a message CRC value for the message based on the data line CRC values.
2. The method of claim 1 wherein generating a message CRC value for the message based on the data line CRC values comprises aggregating the data line CRC values with a logical operator.
3. The method of claim 2 wherein the logical operator is an XOR operator.
4. The method of claim 1 wherein generating the message CRC value comprises:
for one or more data lines in the set of data lines excluding the residue line:
retrieving a first transformation matrix for each of the one or more data lines, wherein the first transformation matrix is dependent on the position of the data line relative to the other data lines in the set of data lines; and
multiplying a CRC value for the data line by the first transformation matrix to generate a transformed CRC value for the data line;
generating a partial accumulated message CRC value by aggregating the transformed CRC values for the data lines in the set of data lines excluding the residue line;
retrieving a second transformation matrix, wherein the second transformation matrix is dependent on a size of the portion of the message in the residue line;
multiplying the partial accumulated message CRC value by the second transformation matrix to generate a transformed partial accumulated message CRC value; and
generating the message CRC value by aggregating the transformed partial accumulated message CRC value with the CRC value of the residue line.
5. The method of claim 4 further comprising storing the first transformation matrix and the second transformation matrix in a memory accessible to the network device, wherein retrieving the first transformation matrix and the second transformation matrix comprises reading the first transformation matrix and the second transformation matrix from the memory.
6. The method of claim 1 wherein generating a data line CRC value for each data line in the set of data lines comprises:
splitting the data line into a plurality of sublines;
concurrently calculating a CRC value for each subline; and
generating a data line CRC value for the data line based on the subline CRC values.
7. The method of claim 6 wherein generating a data line CRC value for the data line based on the subline CRC values comprises:
if the subline is not the last subline in the data line:
retrieving a transformation matrix for the subline, wherein the transformation matrix is dependant on the position of the subline relative to the other sublines of the data line;
multiplying a CRC value for the subline with the transformation matrix retrieved for the subline to generate a transformed subline CRC value; and
aggregating the transformed subline CRC values and the CRC value for the last subline to generate the data line CRC value.
8. The method of claim 7 wherein aggregating the transformed subline CRC values and the CRC value for the last subline comprises combining the transformed subline CRC values and the CRC value for the last subline using a logical operator.
9. The method of claim 8 wherein the logical operator is an XOR operator.
10. The method of claim 7 further comprising storing the transformation matrix for the subline in a memory, wherein retrieving a transformation matrix for each subline comprises reading the transformation matrix for the subline from the memory.
11. A method comprising:
receiving, by a network device, a set of one or more data lines, each data line in the set of data lines having a width and comprising a portion of a message, wherein at least one data line in the set of data lines is a residue line containing a portion of the message that is smaller than the width of the residue line, and wherein each data line in the set of data lines has a data granularity of X bits;
calculating, by the network device, a CRC value for each data line in the set of data lines using a set of CRC generators, each CRC generator in the set of CRC generators being configured to calculate a CRC value for an input, wherein the input for each CRC generator is larger than X bits in size; and
generating, by the network device, a CRC value for the message based on the data line CRC values.
12. A method comprising:
receiving, by a network device, a set of one or more data lines, each data line in the set of data lines having a width and comprising a portion of a message, wherein at least one data line in the set of data lines is a residue line containing a portion of the message that is smaller than the width of the residue line;
calculating, by the network device, a CRC value for each data line in the set of data lines using a set of CRC generators, each CRC generator in the set of CRC generators being configured to calculate a CRC value for an input, wherein the input for each CRC generator is the same size; and
generating, by the network device, a CRC value for the message based on the data line CRC values.
13. A method comprising:
receiving, by a network device, a set of one or more data lines, each data line in the set of data lines comprising a portion of a message;
calculating, by the network device, a CRC value for each data line in the set of data lines using a set of CRC generators, the calculating being independent of the position of the data line relative to the other data lines in the set of data lines; and
generating, by the network device, a CRC value for the message based on the data line CRC values.
14. The method of claim 13 wherein the calculating a CRC value for each data line is performed concurrently.
15. The method of claim 14 wherein at least one data line in the set of data lines is a residue line containing a portion of the message that is smaller than a width of the residue line.
16. A method comprising:
receiving, by a network device, a set of one or more data lines, each data line in the set of data lines having a width of X bits and comprising a portion of a message, wherein at least one data line in the set of data lines is a residue line containing a portion of the message that is smaller than the width of the residue line, and wherein each data line in the set of data lines has a data granularity of Y bits;
calculating, by the network device, a CRC value for each data line in the set of data lines using a set of CRC generators, the number of CRC generators in the set of CRC generators being less than X divided by Y; and
generating, by the network device, a CRC value for the message based on the data line CRC values.
Descripción
CROSS-REFERENCES TO RELATED APPLICATIONS

The present disclosure is related to the following commonly assigned co-pending U.S. patent application, which is incorporated herein by reference in its entirety for all purposes: application Ser. No. 11/779,714, filed concurrently with the present application, entitled “Segmented CRC Design In High Speed Networks.”

BACKGROUND OF THE INVENTION

Embodiments of the present invention relate to data processing, and more particularly relate to techniques for efficient generation of Cyclical Redundancy Check (CRC) values in network devices.

A Cyclical Redundancy Check, or CRC, is a type of function that is used to detect errors in digital data. A typical n-bit CRC (e.g., CRC-16, CRC-32, etc.) receives as input a data block represented as a binary value, and divides the binary value by a predetermined n-bit binary divisor to generate a remainder that is characteristic of the data block. The remainder may be used as a checksum to determine, for example, if the data block is later altered during transmission or storage. In the art, the term CRC is often used to refer to both the function and its generated remainder; however, for clarity, the present disclosure will refer to the function as the CRC and the remainder as the CRC value.

In the field of data communications, network protocols such as Ethernet, ATM, and the like employ CRCs to detect transmission errors in messages (i.e., packets or frames) that are sent from one network device to another. For example, in a conventional Ethernet implementation, a transmitting network device (e.g., router, switch, host network interface, etc.) generates a CRC-32 value for each outgoing Ethernet frame, and appends the value to the frame prior to transmission. When the frame is received at a receiving network device, the CRC-32 value is stripped and a new CRC-32 value is generated for the frame. The new CRC-32 value is then compared to the received CRC-32 value to verify the integrity of the data contained within the frame.

A problem with conventional CRC processing circuit implementations is that they cannot efficiently support the high data throughput rates demanded by emerging wire transmission standards such as 100 G (i.e., 100 Gigabits per second (Gbps)) Ethernet. The data throughput of a CRC processing circuit is a function of its data line width and its clock speed. For example, a conventional parallel CRC circuit may process 64-bit wide data lines per clock cycle at a speed of 300 Megahertz (Mhz), thereby achieving a theoretical data throughput rate of approximately 64 bits*300 Mhz=19 Gbps, which is sufficient to support 10 G (i.e., 10 Gbps) Ethernet. However, achieving a data throughput rate of 100 Gbps and beyond is difficult for conventional CRC processing circuits.

There are several reasons why conventional CRC processing circuits cannot efficiently support high throughput rates such as 100 Gbps. 100 Gbps generally requires a 10 X or greater increase in either data line width or clock speed in a conventional 10 Gbps CRC processing circuit design, which is difficult to physically implement in hardware using currently available technologies. Implementing a large data line width also introduces timing issues at the gate level. Further, conventional parallel CRC designs require that the data lines of the input data stream be processed in order. Accordingly, in the case of Ethernet, an entire frame must be received by a receiving network device before a CRC value for the frame can be generated. This imposes a latency that makes it difficult to achieve theoretical data throughput rates, thereby further adversely affecting scalability.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the present invention provide techniques for efficient generation of CRC values in a network environment. Embodiments of the present invention include CRC processing components (e.g., circuits) that can generate CRC values at high data throughput rates (e.g., 100 Gbps or greater), while being capable of being implemented on currently available FPGAs. Accordingly, embodiments of the present invention may be used in network devices such as routers, switches, hubs, host network interfaces and the like to support high speed data transmission standards such as 100 G Ethernet and beyond.

In one set of embodiments, a network device receives a set of one or more data lines, where the data lines represent portions of a message. Each data line has a width, and at least one data line in the set of data lines is a residue line containing a portion of the message that is smaller in size than the width of the residue line. The portion of the message in the residue line is shifted from one boundary of the residue line to a second boundary of the residue line. A data line CRC value for each data line in the set of data lines is generated, and a message CRC value for the message is generated based on the data line CRC values. In this manner, a CRC value for a message such as an Ethernet frame may be efficiently generated by a network device.

In one set of embodiments, the message CRC value is generated by aggregating the data line CRC values using a logical operator. For example, the logical operator may be the exclusive-or (XOR) operator.

In various embodiments, generating the message CRC value comprises retrieving a first transformation matrix for one or more data lines in the set of data lines (excluding the residue line), multiplying the data line CRC value by its corresponding first transformation matrix, and generating a partial, accumulated message CRC value by aggregating the transformed CRC values for the data lines excluding the residue line. In one set of embodiments, the first transformation matrix may depend on the position of the data line relative to the other data lines in the set of data lines. Additionally, the first transformation matrix may be pre-computed and retrieved from memory. The embodiment further includes receiving a second transformation matrix, multiplying the partial, accumulated message CRC value by the second transformation matrix, and generating a final message CRC value based on the partial, accumulated message CRC value and the CRC value of the residue line. In one set of embodiments, the second transformation matrix may depend on the size of the message portion in the residue line. Additionally, the first and second transformation matrices may be pre-computed and retrieved from memory.

In one set of embodiments, the final message CRC value is generated by combining the transformed partial, accumulated message CRC value and the CRC value for the residue line using a logical operator. For example, the logical operator may be the XOR operator.

In further embodiments, a CRC value is generated for each data line by splitting each data line into a plurality of sublines, concurrently calculating a CRC value for each subline, and generating a data line CRC value for the data line based on the subline CRC values. Depending on the implementation, the sublines may be of equal or unequal sizes. In various embodiments, the step of generating a data line CRC value for the data line based on the subline CRC values may include retrieving a transformation matrix for each subline where the subline is not the last subline in the data line, multiplying the subline CRC value by its corresponding transformation matrix, and aggregating the transformed subline CRC values and the CRC value for the last subline to generate a data line CRC value. In one set of embodiments, the transformation matrix for a subline may depend on the position of the subline relative to the other sublines of the data line. Additionally, the transformation matrix for a subline may be pre-computed and retrieved from memory.

According to another embodiment of the present invention, a technique for generating a CRC value in a network device comprises receiving a set of one or more data lines, each data line in the set of data lines having a width and comprising a portion of a message, where at least one data line in the set of data lines is a residue line and where each data line in the set of data lines has a data granularity of X bits. The technique further includes calculating a CRC value for each data line in the set of data lines using a set of CRC generators, where each CRC generator is configured to take as input a value that is larger than X bits in size.

According to another embodiment of the present invention, a method for generating a CRC value in a network device comprises receiving a set of one or more data lines, each data line in the set of data lines having a width and comprising a portion of a message, where at least one data line in the set of data lines is a residue line. The method further comprises calculating a CRC value for each data line in the set of data lines using a set of CRC generators, where each CRC generator is configured to take as input a value that is the same size.

According to another embodiment of the present invention, a method for generating a CRC value in a network device comprises receiving a set of one or more data lines, each data line in the set of data lines having a width and comprising a portion of a message, and calculating a CRC value for each data line in the set of data lines using a set of CRC generators, the calculating being independent of the position of the data line relative to the other data lines in the set of data lines. In various embodiments, the calculating of a CRC value for each data line is performed concurrently. In further embodiments, at least one data line in the set of data lines is a residue line containing a portion of the message that is smaller than a width of the residue line.

According to another embodiment of the present invention, a technique for generating a CRC value in a network device includes receiving a set of one or more data lines, each data line in the set of data lines having a width of X bits and comprising a portion of a message, where at least one data line in the set of data lines is a residue line, and where each data line in the set of data lines has a data granularity of Y bits. The technique further includes calculating a CRC value for each data line in the set of data lines using a set of CRC generators, the number of CRC generators in the set of CRC generators being less than X divided by Y.

The foregoing, together with other features, embodiments, and advantages of the present invention, will become more apparent when referring to the following specification, claims, and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B are simplified block diagrams of a system and network environment that may incorporate an embodiment of the present invention.

FIG. 2 illustrates a data stream that may be processed in accordance with an embodiment of the present invention.

FIG. 3 illustrates the steps performed in generating a CRC value for a message in accordance with an embodiment of the present invention.

FIG. 4 illustrates a data line that may be processed in accordance with an embodiment of the present invention.

FIGS. 5A and 5B illustrate the steps performed in generating a CRC value for a data line in accordance with an embodiment of the present invention.

FIG. 6 is a simplified block diagram of a logic circuit configured to generate a CRC value for a data line in accordance with an embodiment of the present invention.

FIG. 7 illustrates the steps performed in aggregating the data line CRC values for a message to generate a message CRC value in accordance with an embodiment of the present invention.

FIG. 8 is a simplified block diagram of a first logic circuit configured to generate a CRC value for a message in accordance with an embodiment of the present invention.

FIG. 9 is a simplified block diagram of a second logic circuit configured to generate a CRC value for a message in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide an understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form.

Embodiments of the present invention provide techniques for generating CRC values in an efficient manner. The CRC generation techniques described below may be applied to different domains and contexts. In one embodiment, the techniques may be used in the networking or data communication domain. In the networking environment, the CRC generation techniques may be employed by network devices such routers, switches, hubs, host network interfaces, etc. that use CRC-based error detection techniques to verify the integrity of data received by the devices. The CRC generation techniques of the present invention are scalable and can support high data throughput rates such as 100 Gbps and greater that are required by many high-speed data transmission standards.

FIG. 1A is a simplified block diagram of a system that may incorporate an embodiment of the present invention. As shown, system 100 comprises a transmitting device 102 coupled to a receiving network device 110 via a data link 106. Receiving network device 110 may be a router, switch, hub, host network interface, or the like. Transmitting device 102 may also be a network device, or may be some other hardware and/or software-based component capable of transmitting data. Although only a single transmitting device and receiving network device are shown in FIG. 1A, it should be appreciated that system 100 may incorporate any number of these devices. Additionally, system 100 may be part of a larger system environment or network, such as a computer network (e.g., a local area network (LAN), wide area network (WAN), the Internet, etc.) as shown in FIG. 1B.

Transmitting device 102 may transmit a data stream 104 to network device 110 using data link 106. Data link 106 may be any transmission medium(s), such as a wired (e.g., optical, twisted-pair copper, etc.) or wireless (e.g., 802.11, Bluetooth, etc.) link(s). Various different protocols may be used to communicate data stream 104 from transmitting device 102 to receiving network device 110. In one embodiment, data stream 104 comprises discrete messages (e.g., Ethernet frames, IP packets) that are transmitted using a network protocol (e.g., Ethernet, TCP/IP, etc.). An embodiment of data stream 104 is described in further detail with respect to FIG. 2 below.

Network device 110 may receive data stream 104 at one or more ports 108. The data stream may comprise one or more messages received by network device 110. The data stream received over a port may then be routed to an interface 112, for example, a Media Access Controller (MAC) as found in Ethernet-based networking equipment. Interface 112 may be configured to perform various processing operations on the data stream, such as buffering of the data stream for forwarding to other components in the network device, updating header information in a message, determining a next destination for a received message, etc. Interface 112 may be implemented, for example, in one or more FPGAs and/or ASICs.

According to an embodiment of the present invention, interface 112 is configured to perform CRC-based error detection on data stream 104. To facilitate this, interface 112 may employ one or more CRC processing components 114. A CRC processing component is configured to generate a CRC value for data block input to the component. A CRC processing component may be implemented in hardware (e.g., microprocessor, logic device such as an FPGA or ASIC, etc.), in software, or combinations of hardware and software. In one embodiment, CRC processing component 114 is a logic-based circuit that is configured to generate a CRC value for a message received in data stream 104 by network device 110. In some embodiments, CRC processing component 114 may further include logic for verifying if the CRC value generated by the component for a received message matches a CRC value that is received from transmitting device 102 for the message. For example, as shown, transmitting device 102 may include a CRC generation component 116 configured to generate a CRC value for a message sent by transmitting device 102. The CRC value may then be appended to the message and extracted by network device 110 from the message in data stream 104. In this manner, CRC processing component 114 may be configured to generate a CRC value for the received data and use the generated value to verify the data integrity of the message received from the transmitting device.

In the example of FIG. 1A, CRC processing component 114 is shown as a subcomponent of interface 112. However, in alternative embodiments CRC processing component 114 may be implemented as a standalone component that is structurally separate from interface 112. In one embodiment, CRC processing component 114 is configured to process data stream 104 at a data throughput rate of 100 Gbps or more. In further embodiments, CRC processing component 114 may be implemented as a single FPGA or ASIC.

FIG. 1B is a simplified block diagram of a network environment that may incorporate an embodiment of the present invention. Network environment 150 may comprise any number of transmitting devices, data links, and receiving devices as described above with respect to FIG. 1A. As shown, network environment 150 includes a plurality network devices 152, 154, 156 and a plurality of sub-networks 168, 176 coupled to a network 164. Additionally, sub-networks 168, 176 include one or more nodes 170, 178.

Network devices 152, 154, 156 and nodes 170, 178 may be any type of device capable of transmitting or receiving data via a communication channel, such as a router, switch, hub, host network interface, and the like. Sub-networks 168, 176 and network 164 may be any type of network that can support data communications using any of a variety of protocols, including without limitation Ethernet, ATM, token ring, FDDI, 802.11, TCP/IP, IPX, and the like. Merely by way of example, sub-networks 168, 176 and network 164 may be a LAN, a WAN, a virtual network (such as a virtual private network (VPN)), the Internet, an intranet, an extranet, a public switched telephone network (PSTN), an infra-red network, a wireless network, and/or any combination of these and/or other networks.

Data may be transmitted between any of network devices 152, 154, 156, sub-networks 168, 176, and nodes 170, 178 via one or more data links 158, 160, 162, 166, 174, 172, 180. Data links 158, 160, 162, 166, 174, 172, 180 maybe configured to support the same or different communication protocols. Further, data links 158, 160, 162, 166, 174, 172, 180 may support the same or different transmission standards (e.g., 10 G Ethernet for links between network devices 152, 154, 156 and network 164, 100 G Ethernet for links 172 between nodes 170 of sub-network 168).

In one embodiment, at least one data link 158, 160, 162, 166, 174, 172, 180 is configured to support 100 G Ethernet. Additionally, at least one device connected to that link (e.g., a receiving device) is configured to support a data throughput of at least 100 Gbps. In this embodiment, the receiving device may correspond to receiving device 110 of FIG. 1A, and may incorporate a CRC processing component in accordance with an embodiment of the present invention.

As indicated above, data stream 104 may comprise data corresponding to one or more messages that are received by receiving network device 110. In the case of the Ethernet protocol, a message corresponds to an Ethernet frame. Messages received via data stream 104 may be of the same size or of variable size. For example, Ethernet supports message sizes up to 1.4 kilobytes. In one embodiment, data stream 104 is received by interface 112, which may be a MAC, and then presented to CRC processing component 114 for generation of a CRC value for a message. In one embodiment, the data stream is presented to CRC processing component 114 in the form of data lines.

FIG. 2 illustrates an example of how data stream 104 is presented to CRC processing component 114 according to an embodiment of the present invention. As depicted in FIG. 2, data stream 104 is provided to a CRC processing component as a set of one or more data lines 206, 208, 210, 212, and 214. As used herein, a data line is a fixed-size unit of data that is received and processed by a CRC processing component in a fixed unit of time (usually one clock cycle). For example, as depicted in FIG. 2, line L1 206 is received at clock cycle T1, line L2 208 is received at clock cycle T2, line L3 210 is received at clock cycle T3, line L4 212 is received at clock cycle T4, and line L5 214 is received at clock cycle T5.

The width (i.e., size) of a data line may vary from one embodiment to another. The width of the data line is independent of the size of a message supported by a particular transmission protocol. The width of a data line corresponds to the maximum size of data that can be provided as input to CRC processing component 114 per unit of time (e.g., per clock cycle). In the embodiment depicted in FIG. 2, the width of each data line is assumed to be 640 bits.

A message may be contained in one data line or may be spread over multiple data lines with each data line containing a portion of the message. If the size of a message is larger that the data line width, the message will be spread over multiple data lines that may be received and processed over a number of clock cycles. In FIG. 2, a message 202, which is assumed to be 2080 bit long, is spread across four data lines L1 206, L2 208, L3 210, and L4 212 that are received at clock cycles T1, T2, T3, and T4 by CRC processing component 114. The multiple data lines corresponding to message 202 may be received in order or out of order. In some embodiments, the data lines corresponding to a message may be received interspersed with data lines comprising other data. For the purposes of the example depicted in FIG. 2, data stream 104 is assumed to be received from right to left. Accordingly, L1 (206) is the first data line of message 202 and L4 (212) is the last data line of message 202.

In certain instances, a data line for a message may contain message data that is smaller in size that the width of the data line. This may occur, for instance, if the total size of the message is smaller than the data line width or is not a multiple of the data line width (i.e., the message has a data granularity that is not aligned with the data line width). As used herein, data granularity refers to the smallest physical unit of data that is transmitted using a particular transmission protocol. In the case of Ethernet protocol, the data granularity is generally 8 bits. Thus, an Ethernet frame may vary in size from 8 bits to 1.4 kilobytes (the maximum frame size) in 8 bit increments (the data granularity). Returning to FIG. 2, message 202 has a data granularity of 8 bits and a total size of 2080 bits, which is not a multiple of 640 bits (the data line width). Accordingly, the last data line for message 202—line L4 (212)—contains an amount of message data (160 bits) (depicted by shading in FIG. 2) that is less than the data line width (640 bits). Such a line wherein the message data included in the data line is smaller than the full width of the data line is known as a residue line for the message. Thus, line L4 (212) is a residue line for message 202.

According to an embodiment of the present invention, the data lines corresponding to a message are provided to CRC processing component 114 for generating a CRC value for the message. FIG. 3 depicts a flowchart 300 showing a method for generating a CRC value for a message in accordance with an embodiment of the present invention. The processing depicted in FIG. 3 may be performed by software modules (e.g., program of code, instructions), hardware modules (e.g., microprocessors, logic circuits implemented in programmable or custom logic devices, etc.), or combinations thereof. The software modules may be stored on a computer-readable medium. The method depicted in FIG. 3 is merely illustrative of an embodiment of the present invention and is not intended to limit the scope of the present invention. Other variations, modifications, and alternatives are also within the scope of the present invention. In one embodiment, method 300 is performed by one or more CRC processing components, such as component 114 of FIG. 1A.

At step 302, a set of one or more data lines is received, where each data line in the set comprises a portion of a message. Generally, the width of each data line is fixed, and is determined by the data line width supported by the CRC processing component. Thus, if method 300 is performed by a CRC processing component that supports a data line width of 64 bits, the width of each received data line will be 64 bits. Similarly, if method 300 is performed by a CRC processing component that supports a data line width of 640 bits, the width of each received data line will be 640 bits.

If there is a residue line in the set of data lines, the portion of the message in the residue line is shifted from a first boundary of the residue line to a second boundary of the residue line (step 304). In an embodiment, shifting is a bitwise shift operation, where one or more bits in the residue line are moved one or more bit positions and the vacated bit positions are filled in with zeroes. For example, assume that the residue line has a width of 8 bits and contains the binary value 11010000, where the message data is 1101, and where the most significant bit (MSB) boundary is on the left side and the least significant bit boundary (LSB) is on the right side. The data in the residue line may be shifted from the MSB boundary to the LSB boundary such that the binary value in the residue line becomes 00001101. Alternatively, the data in the residue line may be shifted from the LSB boundary to the MSB boundary.

Performing the above shift facilitates computation of a CRC value for the residue line. In the above example, the CRC value for 1101 (i.e., the message data included in the residue line) cannot be directly computed using bit string 11010000 as an input to a CRC generator because the trailing four zeros alter the CRC calculation resulting in a different (incorrect) CRC value being generated. However, if 11010000 is shifted to produce 00001101, the correct CRC value for 1101 can be directly computed using bit string 00001101 because the leading fours zeros do not affect the CRC computation.

In one embodiment, the shifting in step 304 may be performed using a conventional barrel shifter. In other embodiments, other hardware and/or software-based methods known to those skilled in the art may be used for shifting.

At step 306, a CRC value (referred to as a data line CRC value) for each data line in the set of data lines corresponding to the message is independently generated. In other words, the calculation of a CRC value for one data line is not dependent on the CRC value for any other data line in the set of data lines for the message. In one embodiment, CRC processing component 114 is configured to generate one data line CRC value per a unit of time (e.g., clock cycle) for the data line received in the unit of time.

Different techniques may be used for calculating a data line CRC value for a data line. In one embodiment, each data line is segmented into sublines, and CRC values are generated for each subline. Each subline may be processed by a separate CRC generator to generate a CRC for the subline. The CRC value for the data line is then calculated based upon the CRC values calculated for the sublines. In alternative embodiments, each data line may be processed as a whole (e.g., passed to a single CRC generator) to generate a data line CRC value.

Once CRC values for each data line including the residue line are generated, a message CRC value for the message is generated based upon the data line CRC values (step 308). In one embodiment, the CRC for the message is calculated by aggregating the CRC values calculated for the data lines using a logical operator such as the exclusive-or (XOR) operator. In another embodiment, one or more of the CRC values generated for the data lines (excluding the residue data line) may be transformed using a transformation matrix and the transformed values may be aggregated using a logical operator, such as the exclusive-or (XOR) operator, to generated a partial, accumulated message CRC value. The partial, accumulated message CRC value may then be transformed using a residue transformation matrix and aggregated with the CRC value of the residue line to generate a message CRC value. This embodiment is discussed in further detail with respect to FIG. 7 below.

In some embodiments, the message CRC value generated in 308 may optionally be used to verify the integrity of the message (step 310). This may be done by comparing the CRC generated in 308 with a previously calculated message CRC value. The previously calculated message CRC may be communicated from the transmitting device and may be appended to the message received by the receiving network device. The receiving network device is able to extract this previously calculated CRC value and compare it to the message CRC value generated in 308 in order to determine the integrity of the message. In one embodiment, integrity of the message is confirmed if the message CRC value generated in 308 matches the previously calculated CRC value.

It should be appreciated that the specific steps illustrated in FIG. 3 provide a particular method for generating a CRC value for a message according to an embodiment of the present invention. Other sequences of steps may also be performed according to alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in a different order. Moreover, the individual steps illustrated FIG. 3 may include multiple sub-steps that may be performed in various sequences as appropriate to the individual step. Furthermore, additional steps may be added or removed depending on the particular applications. One of ordinary skill in the art would recognize many variations, modifications, and alternatives.

As indicated above, different techniques may be used to calculate a data line CRC value for a data line. In one embodiment, the data line is subdivided into sublines and CRC values calculated for the sublines. The CRC value for the data line is then calculated based upon the subline CRC values. FIG. 4 illustrates an example of how a data line may be subdivided into sublines for computation of a CRC value for the data line according to an embodiment of the present invention. In FIG. 4, the data line is assumed to be line L1 206 depicted in FIG. 2. The processing may also be applied to other data lines. As depicted in FIG. 4, data line 206 is split into multiple sublines SL11 (402), SL12 (404), SL13 (406), SL14 (408), and SL15 (410). The sublines may be of the same size or different sizes. As shown, data line L1 is split into sublines of equal size (128 bits). A CRC value may be calculated independently for each subline. A CRC value for the data line is then calculated based upon the CRC values for the sublines. In one embodiment, the subline CRC values are calculated concurrently, thereby speeding up the CRC generation process.

FIGS. 5A and 5B depict flowcharts showing a method 500 for generating a CRC value for a data line in accordance with an embodiment of the present invention. As such, method 500 represents one possible implementation of step 306 of FIG. 3. The processing depicted in FIGS. 5A and 5B may be performed by software modules (e.g., program of code, instructions) hardware modules (e.g., microprocessors, logic circuits implemented in programmable or custom logic devices, etc.), or combinations thereof. The software modules may be stored on a computer-readable medium. The method depicted in FIGS. 5A and 5B is merely illustrative of an embodiment of the present invention and is not intended to limit the scope of the present invention. Other variations, modifications, and alternatives are also within the scope of the present invention. In one embodiment, the method is performed by CRC processing component 114.

At step 502, a data line containing data for a message is received (i.e., the current data line LC of the message). At step 504, the data line is segmented into N sublines SLC1, SLC2, . . . SCCN. The sizes of the sublines may be the same or may be different. For example, as shown in FIG. 4, data line L1 (640 bits wide) is split into five equal-sized sublines (SL11 (402), SL12 (404), SL13 (406), SL14 (408), SL15 (410)), each 128 bits wide.

At step 506, a CRC value is calculated for each subline generated in 504. In one embodiment, the CRC values for the sublines are calculated concurrently (for example, using N CRC generators).

At step 508, a data line CRC value for the current data line LC is generated based upon the subline CRC values calculated in step 506. Various other techniques may be used for generating a CRC value for the data line based upon CRC values calculated for the sublines.

The processing in step 508 may include multiple sub-steps as shown in FIG. 5B. As depicted in FIG. 5B, these sub-steps may include retrieving a transformation matrix for each subline (step 552). This may be done concurrently in one embodiment. In one embodiment, transformation matrices are retrieved for each subline excluding the last subline for the data line, i.e. SLCN (step 552 of FIG. 5B). For the purposes of this embodiment, the last subline is considered the subline that is aligned with the LSB boundary of data line LC. However, in other embodiments, the last subline may be the subline that is aligned with the MSB boundary of LC.

The CRC value generated for each subline in 506 (excluding the last subline SLCN) is then transformed by multiplying the CRC value with the transformation matrix retrieved for the subline in 552 (step 554). The multiplication yields a transformed CRC value for each subline (except the last subline). Step 554 is performed to mathematically adjust each subline CRC value (excluding the subline value of for the last subline SLCN) based on the offset of the subline in data line LC. This allows each subline CRC value to be generated independently of each other and then adjusted based upon the position of the subline.

The transformation matrices for the sublines may be pre-calculated and stored in memory from where they can be accessed during processing. The transformation matrix for each subline CRC is based on the position of the subline relative to the other sublines of LC. Since the last subline SLCN has no offset, the CRC value for SLCN does not need to be adjusted and hence there is no need to retrieve a transformation matrix for the last subline.

The transformed CRC values and the CRC value for the last subline are then aggregated to generate a CRC for the data line (step 556). Various different techniques may be used for aggregating the sublines. In one embodiment, the aggregation is performed using a logical operator such as the exclusive-or (XOR) operator.

It should be appreciated that the specific steps illustrated in FIGS. 4A and 4B provide a particular method for generating a CRC value for a data line according to an embodiment of the present invention. Other sequences of steps may also be performed according to alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in a different order. Moreover, the individual steps illustrated in FIGS. 4A and 4B may include multiple sub-steps that may be performed in various sequences as appropriate to the individual step. Furthermore, additional steps may be added or removed depending on the particular applications. One of ordinary skill in the art would recognize many variations, modifications, and alternatives.

FIG. 6 is a simplified block diagram of a logic circuit 600 configured to generate a CRC value for a data line in accordance with an embodiment of the present invention. Specifically circuit 600 of FIG. 6 illustrates one possible hardware-based implementation of method 500. FIG. 6 is merely illustrative of an embodiment incorporating the present invention and is not intended to limit the scope of the invention as recited in the claims. One of ordinary skill in the art would recognize other variations, modifications, and alternatives. It is assumed that circuit 600 receives data in data lines having a width of 640 bits. The data widths of the data lines may be different in alternative embodiments.

As shown, circuit 600 receives as input a data line 602 having a width of 640 bits, and routes data line 602 to a residue line shift unit 604. If data line 602 is a residue line, the contents of data line 602 are shifted from one boundary to another as previously described with respect to step 304 of FIG. 3. Residue shift unit 604 may be implemented as a barrel shifter or any other mechanism for performing bitwise shifts of data.

Data line 602 is then segmented into five 128-bit sublines (606, 608, 610, 612, 614). The sublines are concurrently passed into five 128-bit-in CRC generators 616, 618, 620, 622, 624, and the CRC generators output a fixed-size CRC value for each subline (e.g., 32 bits for CRC-32).

As shown, the generated CRC values for the first four sublines 606, 608, 610, 612 are routed to subline CRC transform units 626, 628, 630, 632 to be transformed. In this embodiment, the first four sublines are the four sublines that are most closely aligned to the MSB boundary of data line 602. Each CRC transform unit is configured to retrieve a transformation matrix for the subline whose CRC value is input to the CRC transform unit and multiply the subline CRC value by the retrieved matrix. In one embodiment, the transformation matrices are retrieved from a transformation matrix lookup table 634. Table 634 may be implemented in memory (such as an EEPROM, Flash ROM, etc.), and may consist of one or more physical or logical memory units.

Once the CRC values for sublines 606, 608, 610, 612 have been adjusted or transformed via transform units 526, 528, 530, 532, the output from those transform units represent the transformed CRC values for the sublines. As described above, the CRC value for the last subline 614 does not need to be adjusted.

The transformed CRC values for the sublines and the non-transformed CRC value for the last subline are then aggregated using an XOR unit 636. The output 638 from XOR unit 636 corresponds to the generated CRC value for data line 602. In one embodiment, circuit 600 is configured to generate data line CRC value 638 from input data line 602 in a single clock cycle.

It should be appreciated that diagram 600 illustrates one exemplary circuit for generating a data line CRC value, and other alternative configurations are contemplated. For example, although input data line 602 is shown as having a width of 640 bits, circuit 600 may be configured to take as input a data line of any other width. Additionally, although five 128-bit-in generators are shown, circuit 600 may be configured to incorporate any other number and types of CRC generators, such as ten 64 bit-in CRC generators. One of ordinary skill in the art would recognize many variations, modifications, and alternatives.

FIG. 7 depicts a flowchart showing a method 700 for generating a CRC value for a message based upon the CRC values calculated for the data lines comprising the message in accordance with an embodiment of the present invention. The processing depicted in FIG. 7 may be performed by software modules (e.g., program of code, instructions), hardware modules (e.g., microprocessors, logic circuits implemented in programmable or custom logic devices, etc.), or combinations thereof. The software modules may be stored on a computer-readable medium. The method depicted in FIG. 7 is merely illustrative of an embodiment of the present invention and is not intended to limit the scope of the present invention. Other variations, modifications, and alternatives are also within the scope of the present invention. In one embodiment, the method is performed by CRC processing component 114 depicted in FIG. 1A. Method 700 of FIG. 7 receives as input the data line CRC values generated by method 500 of FIGS. 5A and 5B, and generates a final message CRC value based upon the data line CRC values. Method 700 may be considered one possible implementation of step 308 of FIG. 3.

At step 702, the CRC values for one or more data lines in the set of data lines (excluding the residue line) are multiplied by corresponding transformation matrices to generate transformed CRC values for the one or more data lines. This step is used to mathematically adjust the CRC value for each of the one or more data lines based on the position of the data line in the message. This allows each data line CRC value to be calculated independently of each other and then transformed using the transformation matrices. In various embodiments, the transformation matrix for each data line is pre-computed and is dependent on the position of the data line relative to other data lines of message. These pre-computed matrices may be stored and retrieved from one or more tables in memory.

A partial, accumulated message CRC value is then generated based on the CRC values for all of the data lines in the set of data lines excluding the residue line (step 704). In one embodiment, the partial, accumulated message CRC value is generated by aggregating the transformed CRC values for one or more data lines (excluding the residue line) with the non-transformed CRC values for one or more data lines (excluding the residue line). For example, for message 202 of FIG. 2 that is segmented into four data lines L1, L2, L3, and L4 (of which L4 is a residue line), the transformed CRC values for lines L1 and L2 would be aggregated with the non-transformed CRC value of L3 to produce a partial, accumulated message CRC value for message 202.

At steps 706 and 708, a residue transformation matrix is retrieved from memory and the partial, accumulated message CRC value generated in 704 is multiplied by the residue transformation matrix. In various embodiments, the residue transformation matrix is used to mathematically adjust the partial, accumulated message CRC value based on the offset of the second-to-last data line (i.e., the data line before the residue line) from the end of the message. Assuming a message spread over M data lines, this step allows the first M-1 data lines to be computed independently of the residue (i.e., Mth) data line. In various embodiments, the residue transformation matrix is pre-computed and is dependent on the size of the message portion in the residue line. In some embodiments, the residue transformation matrix is retrieved from the same table(s) as the data line transformation matrices of step 702. In alternative embodiments, the residue transformation matrix is stored in a separate table in memory.

A final message CRC value is then generated by aggregating the result of 708 with the CRC value of the residue line (step 710). This aggregation may be performed using a logical operator such as the XOR operator.

It should be appreciated that the specific steps illustrated in FIG. 7 provide a particular method for aggregating the data line CRC values for a message to generate a message CRC value according to an embodiment of the present invention. Other sequences of steps may also be performed according to alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in a different order. Moreover, the individual steps illustrated in FIG. 7 may include multiple sub-steps that may be performed in various sequences as appropriate to the individual step. Furthermore, additional steps may be added or removed depending on the particular applications. One of ordinary skill in the art would recognize many variations, modifications, and alternatives.

FIG. 8 is a simplified block diagram of a logic circuit configured to generate a CRC value for a message in accordance with an embodiment of the present invention. Specifically, circuit 800 of FIG. 8 represents one possible implementation of method 700 depicted in FIG. 7. As shown, circuit 800 receives as input a CRC value 802 for a current data line LC. Circuit 800 also receives as input a current line count C 806, a total line count 808, and a pad value 804. Current line count C 806 represents the line number of the current line being processed by circuit 800. Total line count 808 represents the total number of lines containing the message. Pad value 804 is a fixed value that is used in some CRC implementations to add a default leading or trailing bit string to each message prior to generating a CRC value for the message. For example, Ethernet requires that the leading 32 bits of a message are 1-bits.

If the current line LC is not a residue line of the message, the CRC value 802 for LC is routed to line CRC transform unit 814. Based on current line count C and total line count 808, an appropriate transformation matrix for LC is retrieved from transformation matrix lookup table 816 and the matrix is multiplied with the CRC value to generate a transformed CRC value for the data line. In one embodiment, a transformation matrix is not retrieved for the second-to-last data line of the message. The output of line CRC transform unit 814 is then passed to XOR unit 818, which stores a partial, accumulated CRC value for the message. If C=1, then the output of line CRC transform unit 814 is simply stored in XOR unit 818. If C>1, then the output of line CRC transform unit 814 is XOR'ed with the partial, accumulated message CRC value already stored in unit 818 to generate a new partial, accumulated message CRC value, and this new value is stored in unit 818.

The above process is repeated over successive clock cycles for successive data lines of the message until a residue line is reached (i.e., current line count C=total line count 808). Once the current line becomes a residue line, the CRC value for the residue line 802 is passed to a delay unit 824. Concurrently, pad value 804 is passed to line CRC transform unit 814, multiplied with an appropriate transformation matrix from table 816, and aggregated with the partial, accumulated message CRC value in XOR unit 818. The partial, accumulated message CRC value is then routed to an accumulated message CRC transform unit 820. Unit 820 retrieves a residue transformation matrix from a second transformation matrix lookup table 822, and multiplies the residue transformation matrix with the partial, accumulated message CRC value. In an exemplary embodiment, the residue transformation matrix is based on the size of the message portion in the residue line.

Finally, the output of unit 820 is aggregated (e.g., XOR'ed) with residue line CRC value 802 at XOR unit 728, and a final message CRC value 828 is generated.

In various embodiments, circuit 800 may be configured to interoperate with circuit 600 of FIG. 6. For example, the circuits may be linked such that the output LC CRC value 638 generated by circuit 600 is used as the input LC CRC value 802 of circuit 800 at every clock cycle. In these embodiments, circuits 800 and 600 may be implemented on a single integrated circuit or on an FPGA. Alternatively, circuits 800 and 600 may be implemented on separate physical circuit dies and connected via an electrical bus or other type of interconnect.

It should be appreciated that circuit 800 illustrates one example of a circuit for generating a message CRC value, and other alternative configurations are contemplated. For example, although circuit 800 aggregates data line CRC values incrementally (via partial, accumulated message CRC value), circuit 800 may be configured to postpone the aggregation of the data line CRC values until the last data line of the message has been received. Additionally, although circuit 800 is shown as receiving a pad value 804, other embodiments may not require a pad value. One of ordinary skill in the art would recognize many variations, modifications, and alternatives.

To further clarify the operation of circuit 800, the following table shows examples of values for (1) received LC CRC value 802, (2) the partial, accumulated message CRC value stored in unit 818, and (3) final message CRC value 828 as circuit 800 processes message 202 of FIG. 2. This example assumes that the data line width of circuit 800 is 640 bits. Therefore, message 202 (which is 2080 bits wide) is processed as four data lines L1 through L4 with L4 being a residue line, and over four clock cycles T1 through T4.

Partial, accumulated message
Time LC CRC value CRC value Final message CRC value
T1 L1CRC L1CRC * T2L N/A
T2 L2CRC L1CRC * T2L ⊕ L2CRC * T1L N/A
T3 L3CRC L1CRC * T2L ⊕ L2CRC * T1L N/A
L3CRC
T4 L4CRC L1CRC * T2L ⊕ L2CRC * T1L (L1CRC * T2L ⊕ L2CRC * T1L
L3CRC ⊕ 32′hFFFF_FFFF * T3L ⊕ L3CRC ⊕ 32′hFFFF_FFFF * T3L) * TRes
⊕ L4CRC

At time T1, the CRC value for data line L1 (L1CRC) is received. Since L1 is offset from the beginning of residue line L4 by two full data lines, L1CRC is multiplied by a corresponding transformation matrix T2L, and the product of this multiplication is stored as the partial, accumulated message CRC value.

At time T2, the CRC value for data line L2 (L2CRC) is received. Since L2 is offset from the beginning of residue line L4 by one full data line, L2CRC is multiplied by a corresponding transformation matrix T1L. The product of this multiplication is then XOR'ed (denoted by the symbol ⊕) with the partial, accumulated message CRC value to generate a new partial value L1CRC*T2L⊕L2CRC*T1L.

At time T3, the CRC value for data line L3 (L3CRC) is received. Since L3 is the second-to-last data line in message 202, L3 has no offset from the beginning of residue line L4. Accordingly, L3CRC is not multiplied by any transformation matrix. Rather, L3CRC is simply XOR'ed with the partial, accumulated message CRC value to generate a new partial value L1CRC*T2L⊕L2CRC*T1L⊕L3CRC.

At time T4, the CRC value for residue line L4 (L4CRC) is received. Since L4 is the final data line in message 202, a pad value (32h′FFFF_FFFF for Ethernet) is multiplied by a corresponding transformation matrix T3L and XOR'ed with the partial, accumulated message CRC value to generate a new partial value L1CRC*T2L⊕L2CRC*T1L⊕L3CRC⊕32′hFFFF_FFFF*T3L. The new partial, accumulated message CRC value is then multiplied by a residue transformation matrix TRes. Finally, the product of that multiplication is XOR'ed with the residue line CRC value L4CRC to generate the message CRC value for message 202.

FIG. 9 illustrates an alternative embodiment of circuit 800. As shown, circuit 900 of FIG. 9 is substantially similar to circuit 800 in structure, but does not require a total line count 808. Rather, circuit 900 takes as input max lines-C (902) where max lines represents the maximum number of data lines that a message may span, and C represents the line number of the current data line. Max lines may be computed by dividing the maximum size of a message by a circuit's data line width.

Since, in various embodiments, circuit 900 does not require as input the total number of data lines for a message, circuit 900 can begin processing the message before all of the data lines of the message have been received. In one set of embodiments, circuit 900 may be implemented by modifying the transformation matrices used by circuit 800. For example, the modified matrices used by circuit 900 may be based on the offset of a data line from the maximum size of a message, rather than the offset of the data line from the residue line. Further, circuit 900 may employ an additional inverse transformation matrix (stored in transformation matrix lookup table 904). The inverse matrix may be used to transform the partial, accumulated message CRC value prior to being multiplied by the residue transformation matrix.

Embodiments of the present invention provide solutions for generating CRC values. Since the residue line of a message is handled by shifting the contents of the line (rather than by incorporating multiple CRC generators to account for each possible size of the message data in the residue line as done in the prior art), embodiments of the present invention may be implemented with a number of CRC generators that is independent of data line width, thus improving scalability. For example, circuit 600 of FIG. 6 illustrates an embodiment that uses five 128-bit-in CRC generators to process a data line 640-bits wide. If the data line width is increased to 1280 bits, circuit 600 can still be implemented using only five generators (each 256-bit-in). As such, circuit 600 will not dramatically increase in gate size as data throughput requirements increase. This enables the development of network devices that support high data throughput rates such as 100 Gbps using currently available programmable logic devices (e.g., FPGAs) and process technologies.

Additionally, shifting the contents of the residue line allows embodiments of the present invention to be implemented with one or more CRC generators where (1) the input for each CRC generator is larger than the data granularity of an input message, (2) the input for each CRC generator is smaller than the data line width of a CRC processing circuit; and/or (3) the input for each CRC generator is the same size. For example, circuit 600 of FIG. 6 illustrates an embodiment that uses five 128-bit-in CRC generators to process a data line 640-bits wide. Assume that the data granularity of an input message is 8 bits (which is the data granularity of Ethernet frames). Note that the input size of each CRC generator (128 bits) in circuit 600 is (1) larger than the data granularity of an input message (8 bits), (2) smaller than the data line width of circuit 600 (640 bits), and (3) all of the same size (128 bits).

Further, since the CRC values for the data lines (and sub lines) of a message are mathematically adjusted by an appropriate transformation matrix prior to being aggregated, the data lines can be processed out of order. In the case of Ethernet, this allows a CRC processing component to begin processing a frame before the entire frame has been received over the wire, thereby further increasing performance and scalability.

Although specific embodiments of the invention have been described, various modifications, alterations, alternative constructions, and equivalents are also encompassed within the scope of the invention. The described invention is not restricted to operation within certain specific data processing environments, but is free to operate within a plurality of data processing environments. Additionally, although the present invention has been described using a particular series of transactions and steps, it should be apparent to those skilled in the art that the scope of the present invention is not limited to the described series of transactions and steps.

Further, while the present invention has been described using a particular combination of hardware and software, it should be recognized that other combinations of hardware and software are also within the scope of the present invention. The present invention may be implemented only in hardware, or only in software, or using combinations thereof.

The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that additions, subtractions, deletions, and other modifications and changes may be made thereunto without departing from the broader spirit and scope of the invention as set forth in the claims.

Citas de patentes
Patente citada Fecha de presentación Fecha de publicación Solicitante Título
US386617524 Abr 197411 Feb 1975Ncr CoData communication system between a central computer and a plurality of data terminals
US4325119 *19 Ene 197713 Abr 1982Honeywell Information Systems Inc.Process and apparatus employing microprogrammed control commands for transferring information between a control processor and communications channels
US4348725 *19 Ene 19777 Sep 1982Honeywell Information Systems Inc.Communication line service interrupt technique for a communications processing system
US46284807 Oct 19839 Dic 1986United Technologies Automotive, Inc.Arrangement for optimized utilization of I/O pins
US46673233 Sep 198519 May 1987Allen-Bradley Company, Inc.Industrialized token passing network
US468356422 Nov 198228 Jul 1987Data Switch CorporationMatrix switch system
US46987487 Oct 19836 Oct 1987Essex Group, Inc.Power-conserving control system for turning-off the power and the clocking for data transactions upon certain system inactivity
US47232432 Dic 19852 Feb 1988Advanced Micro Devices, Inc.CRC calculation machine with variable bit boundary
US475448230 Mar 198728 Jun 1988Samco Investment CompanyMethod and apparatus for synchronizing encrypting and decrypting systems
US47916292 Jun 198613 Dic 1988Ibm CorporationCommunications switching system
US479462914 May 198727 Dic 1988Siemens AktiengesellschaftContour collimator for radiation therapy
US480728018 Sep 198721 Feb 1989Pacific BellCross-connect switch
US487668113 May 198824 Oct 1989Hitachi, Ltd.Packet switching equipment and a packet switching method for controlling packet switched networks
US48962773 May 198823 Ene 1990Thermo King CorporationMethod of mapping refrigerated containers in a power line carrier based monitoring system
US49858892 Feb 198915 Ene 1991Sprint International Communications CorporationData packet switching
US510140421 Ago 198931 Mar 1992Hitachi, Ltd.Signalling apparatus for use in an ATM switching system
US513658411 Jul 19904 Ago 1992At&T Bell LaboratoriesHardware interface to a high-speed multiplexed link
US519518110 Ene 199216 Mar 1993Digital Equipment CorporationMessage processing system having separate message receiving and transmitting processors with message processing being distributed between the separate processors
US520885623 Dic 19914 May 1993Laboratoire Europeen De Recherches Electroniques AvanceesScrambling and unscrambling method for composite video signals and implementing device
US522410819 May 199229 Jun 1993Mcdysan David EMethod and apparatus for call control signaling
US523163311 Jul 199027 Jul 1993Codex CorporationMethod for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets
US528058216 Feb 199318 Ene 1994Digital Equipment CorporationNo-owner frame and multiple token removal mechanism for token ring networks
US528219615 Oct 199125 Ene 1994Hughes Aircraft CompanyBursted and non-bursted data router
US52874777 Ago 199115 Feb 1994Hewlett-Packard CompanyMemory-resource-driven arbitration
US529919018 Dic 199229 Mar 1994International Business Machines CorporationTwo-dimensional round-robin scheduling mechanism for switches with multiple input queues
US529919514 Ago 199229 Mar 1994National Semiconductor CorporationRepeater interface controller with multiple port node interfaces
US530119230 Ago 19915 Abr 1994Alcatel N.V.Temporary information storage system comprising a buffer memory storing data structured in fixed or variable length data blocks
US530734525 Jun 199226 Abr 1994Digital Equipment CorporationMethod and apparatus for cut-through data packet transfer in a bridge device
US53233861 Feb 199321 Jun 1994Trw Inc.Expandable high speed serial data switch
US53655122 Jul 199315 Nov 1994Ericsson Ge Mobile Communications Inc.Multisite trunked RF communication system with reliable control messaging network
US53771896 Dic 199327 Dic 1994British Telecommunications Public Limited CompanyHybrid data communications systems
US539017322 Oct 199214 Feb 1995Digital Equipment CorporationPacket format in hub for packet data communications system
US539227915 Ene 199321 Feb 1995Fujitsu LimitedInterconnection network with self-routing function
US540664311 Feb 199311 Abr 1995Motorola, Inc.Method and apparatus for selecting between a plurality of communication paths
US540846922 Jul 199318 Abr 1995Synoptics Communications, Inc.Routing device utilizing an ATM switch as a multi-channel backplane in a communication network
US543044231 May 19944 Jul 1995International Business Machines CorporationCross point switch with distributed control
US54368935 Nov 199325 Jul 1995Netcom LimitedATM cell switch suitable for multicast switching
US546161529 Mar 199424 Oct 1995Alcatel N.V.Asynchronous switching node distributing cells dynamically to outputs constituting an irregular group
US549025829 Sep 19926 Feb 1996Fenner; Peter R.Associative memory for very large key spaces
US550684019 Nov 19939 Abr 1996Alcatel N.V.Asynchronous switching node and routing logic means for a switching element used therein
US550684120 Jun 19949 Abr 1996Telefonaktiebolaget Lm EricssonCell switch and a method for directing cells therethrough
US552192324 Ago 199428 May 1996Alcatel Sel AktiengesellschaftMethod and facility for temporarily storing data packets, and exchange with such a facility
US554638519 Ene 199513 Ago 1996Intel CorporationFlexible switching hub for a communication network
US555081629 Dic 199427 Ago 1996Storage Technology CorporationMethod and apparatus for virtual switching
US556394827 Sep 19938 Oct 1996Laboratoire Europeen De Recherches Electroniques Avancees, Societe En Nom CollectifProcess for authentication of smart cards, and device for use of the process
US556617029 Dic 199415 Oct 1996Storage Technology CorporationMethod and apparatus for accelerated packet forwarding
US559841029 Dic 199428 Ene 1997Storage Technology CorporationMethod and apparatus for accelerated packet processing
US560079529 Ago 19944 Feb 1997U.S. Philips CorporationLocal network operating in asynchronous transfer mode (ATM) generating control cell containing information about the user, address of the station, and user-related identification
US561949715 Mar 19968 Abr 1997Emc CorporationMethod and apparatus for reordering frames
US564050424 Ene 199417 Jun 1997Advanced Computer Applications, Inc.Distributed computing network
US56468782 Jun 19958 Jul 1997Motorola, Inc.Content addressable memory system
US56639527 Jul 19952 Sep 1997Sun Microsystems, Inc.Checksum generation circuit and method
US566395915 Dic 19952 Sep 1997Nec CorporatiionATM cell switching apparatus having a control cell bypass route
US566635321 Mar 19959 Sep 1997Cisco Systems, Inc.Frame based traffic policing for a digital switch
US57218195 May 199524 Feb 1998Silicon Graphics CorporationProgrammable, distributed network routing
US573208012 Jul 199524 Mar 1998Bay Networks, Inc.Method and apparatus for controlling data flow within a switching device
US5734826 *17 Sep 199231 Mar 1998International Business Machines CorporationVariable cyclic redundancy coding method and apparatus for use in a multistage network
US574017629 Abr 199614 Abr 1998Dagaz Technologies, Inc.Scalable multimedia network
US574570829 Sep 199528 Abr 1998Allen-Bradley Company, Inc.Method for and apparatus for operating a local communications module in arbitrating for mastership of a data transfer across a back plane bus in industrial automation controller
US575171011 Jun 199612 May 1998Cisco Technology, Inc.Technique for connecting cards of a distributed network switch
US58022873 Ago 19951 Sep 1998Lsi Logic CorporationSingle chip universal protocol multi-function ATM network interface
US581514616 Sep 199629 Sep 1998Hewlett-Packard CompanyVideo on demand system with multiple data sources configured to provide VCR-like services
US58188168 Mar 19966 Oct 1998Fujitsu LimitedCommunication device for switching connection from a working channel line to a protection channel line and vice versa
US583549630 Abr 199610 Nov 1998Mcdata CorporationMethod and apparatus for data alignment
US583868422 Feb 199617 Nov 1998Fujitsu, Ltd.Low latency, high clock frequency plesioasynchronous packet-based crossbar switching chip system and method
US58623503 Ene 199719 Ene 1999Intel CorporationMethod and mechanism for maintaining integrity within SCSI bus with hot insertion
US58645555 Jul 199626 Ene 1999General Datacomm, Inc.Method and apparatus for generating a proxy connection endpoint for operation administration and management (OAM) asynchronous transfer mode (ATM) cells
US58676756 Ago 19962 Feb 1999Compaq Computer CorpApparatus and method for combining data streams with programmable wait states
US587053818 Jul 19969 Feb 1999Fujitsu Network Communications, Inc.Switch fabric controller comparator system and method
US587276918 Jul 199616 Feb 1999Fujitsu Network Communications, Inc.Linked list structures for multiple levels of control in an ATM switch
US587278324 Jul 199616 Feb 1999Cisco Systems, Inc.Arrangement for rendering forwarding decisions for packets transferred among network switches
US587520028 Mar 199723 Feb 1999Cirrus Logic, Inc.Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping
US58963806 Feb 199720 Abr 1999Northern Telecom LimitedMulti-core ATM switch with cells in the core from an inlet for an outlet being aligned
US590756629 May 199725 May 19993Com CorporationContinuous byte-stream encoder/decoder using frequency increase and cyclic redundancy check
US590766017 Dic 199625 May 1999Mitsubishi Denki Kabushiki KaishaDigital video signal playback device with special playback data being in the form of a still image slice data
US590968630 Jun 19971 Jun 1999Sun Microsystems, Inc.Hardware-assisted central processing unit access to a forwarding database
US59150942 Jun 199722 Jun 1999International Business Machines CorporationDisk access method for delivering multimedia and video information on demand over wide area networks
US592056630 Jun 19976 Jul 1999Sun Microsystems, Inc.Routing in a multi-layer distributed network element
US592088614 Mar 19976 Jul 1999Music Semiconductor CorporationAccelerated hierarchical address filtering and translation using binary and ternary CAMs
US593693922 May 199510 Ago 1999Fore Systems, Inc.Digital network including early packet discard mechanism with adjustable threshold
US593696631 Jul 199810 Ago 1999Kawasaki Steel CorporationData receiving device which enables simultaneous execution of processes of a plurality of protocol hierarchies and generates header end signals
US595634716 Abr 199721 Sep 1999Marconi Communications LimitedDigital telecommunications transmission systems
US599952828 Abr 19957 Dic 1999Newbridge Networks CorporationCommunications system for receiving and transmitting data cells
US60000162 May 19977 Dic 1999Intel CorporationMultiported bypass cache in a bypass network
US601631030 Jun 199718 Ene 2000Sun Microsystems, Inc.Trunking support in a high performance network device
US602347127 Feb 19988 Feb 2000Extreme NetworksNetwork interconnect device and protocol for communicating data among packet forwarding devices
US603184321 Nov 199629 Feb 2000Alcatel Data Networks Inc.Digital communications switching fabric
US60354143 Nov 19977 Mar 2000Hitachi, Ltd.Reliability of crossbar switches in an information processing system
US603828831 Dic 199714 Mar 2000Thomas; Gene GillesSystem and method for maintenance arbitration at a switching node
US606729822 Oct 199723 May 2000Nec CorporationATM switching system which separates services classes and uses a code switching section and back pressure signals
US606760615 Dic 199723 May 2000Intel CorporationComputer processor with dynamic setting of latency values for memory access
US607611524 Abr 199713 Jun 2000Xaqti CorporationMedia access control receiver and network management system
US608152230 Jun 199727 Jun 2000Sun Microsystems, Inc.System and method for a multi-layer network element
US608835630 Jun 199711 Jul 2000Sun Microsystems, Inc.System and method for a multi-layer network element
US609443430 Dic 199625 Jul 2000Compaq Computer CorporationNetwork switch with separate cut-through buffer
US610469630 Jun 199915 Ago 2000Broadcom CorporationMethod for sending packets between trunk ports of network switches
US61047003 Feb 199815 Ago 2000Extreme NetworksPolicy based quality of service
US61083068 Ago 199722 Ago 2000Advanced Micro Devices, Inc.Apparatus and method in a network switch for dynamically allocating bandwidth in ethernet workgroup switches
US611878727 Jun 199712 Sep 2000Advanced Micro Devices, Inc.Apparatus and method for regulating assigned bandwidth in high speed packet switched networks
US612541714 Nov 199726 Sep 2000International Business Machines CorporationHot plug of adapters using optical switches
US612866630 Jun 19973 Oct 2000Sun Microsystems, Inc.Distributed VLAN mechanism for packet field replacement in a multi-layered switched network element using a control field/signal for indicating modification of a packet with a database search engine
US614466826 Nov 19977 Nov 2000International Business Machines CorporationSimultaneous cut through and store-and-forward frame support in a network device
US61479964 Ago 199514 Nov 2000Cisco Technology, Inc.Pipelined multiple issue packet switch
US615130116 Jul 199621 Nov 2000Pmc-Sierra, Inc.ATM architecture and switching element
US615149712 Feb 199821 Nov 2000Motorola, Inc.Satellite based high bandwidth data broadcast
US615444630 Jun 199928 Nov 2000Broadcom CorporationNetwork switching architecture utilizing cell based and packet based per class-of-service head-of-line blocking prevention
US61576434 May 19995 Dic 2000Nokia Telecommunications OySwitching fabric
US616080917 Dic 199712 Dic 2000Compaq Computer CorporationDistributed packet data with centralized snooping and header processing router
US61608124 May 199812 Dic 2000Cabletron Systems, Inc.Method and apparatus for supplying requests to a scheduler in an input buffered multiport switch
US617299012 Nov 19979 Ene 2001Xaqti CorporationMedia access control micro-RISC stream processor and method for implementing the same
US617852031 Jul 199723 Ene 2001Lsi Logic CorporationSoftware recognition of drive removal or insertion in a storage system
US61816991 Jul 199830 Ene 2001National Semiconductor CorporationApparatus and method of assigning VLAN tags
US618522228 Sep 19956 Feb 2001Cisco Technology, Inc.Asymmetric switch architecture for use in a network switch node
US61953356 Jul 199827 Feb 2001International Business Machines CorporationData switch
US620149228 May 199913 Mar 2001Cirrus Logic, Inc.Techniques for converting a plurality of channels continuously in an A/D converter
US622284525 Feb 199724 Abr 2001Cascade Communications Corp.System and method for providing unitary virtual circuit in digital network having communication links of diverse service types
US624366728 May 19965 Jun 2001Cisco Systems, Inc.Network flow switching and flow data export
US624952812 Mar 199819 Jun 2001I-Cube, Inc.Network switch providing per virtual channel queuing for segmentation and reassembly
US62633744 Ago 199417 Jul 2001International Business Machines CorporationApparatus for coupling a bus-based architecture to a switch network
US627214429 Sep 19977 Ago 2001Agere Systems Guardian Corp.In-band device configuration protocol for ATM transmission convergence devices
US63049031 Ago 199716 Oct 2001Agilent Technologies, Inc.State machine for collecting information on use of a packet network
US63208596 Mar 199820 Nov 2001Nortel Networks LimitedEarly availability of forwarding control information
US633392924 Ago 199825 Dic 2001Intel CorporationPacket format for a distributed system
US633593230 Jun 19991 Ene 2002Broadcom CorporationHigh performance self balancing low cost network switching architecture based on distributed hierarchical shared memory
US633593530 Jun 19991 Ene 2002Broadcom CorporationNetwork switching architecture with fast filtering processor
US634307231 Dic 199729 Ene 2002Cisco Technology, Inc.Single-chip architecture for shared-memory router
US635114315 Jun 200126 Feb 2002Xilinx, Inc.Content-addressable memory implemented using programmable logic
US635655030 Jul 199912 Mar 2002Mayan Networks CorporationFlexible time division multiplexed bus using sonet formatting
US635694229 Sep 199812 Mar 2002Axis AbIntegrated circuit and method for bringing an integrated circuit to execute instructions
US636307712 Feb 199926 Mar 2002Broadcom CorporationLoad balancing in link aggregation and trunking
US636655729 Abr 19982 Abr 2002Nortel Networks LimitedMethod and apparatus for a Gigabit Ethernet MAC (GMAC)
US636985531 Oct 19979 Abr 2002Texas Instruments IncorporatedAudio and video decoder circuit and system
US64213525 Jun 199816 Jul 2002Nec CorporationData processing apparatus capable of independently interrupting transmission data
US642465817 Feb 199923 Jul 2002Neomagic Corp.Store-and-forward network switch using an embedded DRAM
US642465917 Jul 199823 Jul 2002Network Equipment Technologies, Inc.Multi-layer switching apparatus and method
US642718517 Jul 199730 Jul 2002Nortel Networks LimitedMethod and apparatus for managing the flow of data within a switching device
US64301903 May 20016 Ago 2002Cisco Technology, Inc.Method and apparatus for message routing, including a content addressable memory
US64571759 Nov 199824 Sep 2002Tut Systems, Inc.Method and apparatus for installing a software upgrade within a memory resource associated with a computer system
US64597058 Oct 19991 Oct 2002National Semiconductor CorporationNetwork interface for transmitting data from a networked computer in a reduced power state
US646008821 May 19991 Oct 2002Advanced Micro Devices, Inc.Method and apparatus for port vector determination at egress
US646306330 Jun 20008 Oct 2002Marconi Communications, Inc.Receiver makes right
US64666086 Abr 199515 Oct 2002Proxim, Inc.Frequency hopping medium access control protocol for a communication system having distributed synchronization
US64704361 Dic 199822 Oct 2002Fast-Chip, Inc.Eliminating memory fragmentation and garbage collection from the process of managing dynamically allocated memory
US647342831 Dic 199829 Oct 2002Nortel Networks LimitedMulti-threaded, multi-cast switch
US647343330 Jun 200029 Oct 2002Marconi Communications, Inc.Queue resynch: synchronous real-time upgrade of a distributed switching system
US647717422 Ene 19985 Nov 2002Cisco Technology, Inc.Polling response selection using request monitoring in a network switch apparatus
US648047723 Oct 199812 Nov 2002Innowave Eci Wireless Systems Ltd.Method and apparatus for a data transmission rate of multiples of 100 MBPS in a terminal for a wireless metropolitan area network
US649028031 Mar 19993 Dic 2002Advanced Micro Devices, Inc.Frame assembly in dequeuing block
US649334724 Jul 199710 Dic 2002Juniper Networks, Inc.Memory organization in a switching device
US649650229 Jun 199817 Dic 2002Nortel Networks LimitedDistributed multi-link trunking method and apparatus
US650528118 Jul 20017 Ene 2003Raymond C. SherryHard disk drives employing high speed distribution bus
US651013825 Feb 199921 Ene 2003Fairchild Semiconductor CorporationNetwork switch with head of line input buffer queue clearing
US652265629 Sep 199818 Feb 20033Com CorporationDistributed processing ethernet switch with adaptive cut-through switching
US653222915 Ene 199911 Mar 2003Brian Weatherred JohnsonLow cost link aggregation method and system
US653223430 Jun 199811 Mar 2003Nec CorporationBack-pressure type ATM switch
US653550415 Ene 199918 Mar 2003Brian Weatherred JohnsonLink aggregation path selection method
US65495195 Oct 199815 Abr 2003Alcatel Internetworking (Pe), Inc.Network switching device with pipelined search engines
US65533704 Oct 200022 Abr 2003Lsi Logic CorporationFlexible search engine having sorted binary search tree for perfect match
US655620823 Mar 199929 Abr 2003Intel CorporationNetwork management card for use in a system for screen image capturing
US65674049 Ago 200020 May 2003Cisco Technologies, Inc.Multiprotocol packet recognition and switching
US65776318 Jun 199910 Jun 2003Merlot Communications, Inc.Communication switching module for the transmission and control of audio, video, and computer data over a single network fabric
US658743231 Ago 19991 Jul 2003Intel CorporationMethod and system for diagnosing network congestion using mobile agents
US65913026 Mar 20028 Jul 2003Alacritech, Inc.Fast-path apparatus for receiving data corresponding to a TCP connection
US660118620 May 200029 Jul 2003Equipe Communications CorporationIndependent restoration of control plane and data plane functions
US660630022 Dic 199812 Ago 2003International Business Machines CorporationFlow control process for a switching system and system for performing the same
US662865030 Jul 199930 Sep 2003University Of TokyoVariable rate TDM switching system
US66335807 Mar 200014 Oct 2003Sun MicrosystemsN×N crossbar packet switch
US663648325 Feb 199921 Oct 2003Fairchild Semiconductor CorporationNetwork switch with zero latency flow control
US66432693 Mar 20004 Nov 2003Luminous Networks, Inc.Routing switch automatically identifying network topology
US66543427 Mar 200025 Nov 2003Cisco Technology, Inc.Accumulating and distributing flow control information via update messages and piggybacked flow control information in other messages in a packet switching system
US665434619 Jul 199925 Nov 2003Dunti CorporationCommunication network across which packets of data are transmitted according to a priority scheme
US665437030 Jun 200025 Nov 2003Marconi Communications, Inc.Backplane synchronization in a distributed system with clock drift and transport delay
US665437312 Jun 200025 Nov 2003Netrake CorporationContent aware network apparatus
US665800217 Jun 19992 Dic 2003Cisco Technology, Inc.Logical operation unit for packet processing
US666179128 Dic 19999 Dic 2003Mosaid Technologies, Inc.Method and apparatus for generating forward overrides in a packet switch
US66712752 Ago 200230 Dic 2003Foundry Networks, Inc.Cross-point switch with deadlock prevention
US667824820 Jun 200013 Ene 2004Extreme NetworksPolicy based quality of service
US668133213 Mar 200020 Ene 2004Analog Devices, Inc.System and method to place a device in power down modes/states and restore back to first mode/state within user-controlled time window
US668387230 Jul 199927 Ene 2004The University Of TokyoVariable rate digital switching system
US66872174 May 19993 Feb 2004Carriercomm, Inc.Method of and system for one plus one protection for radio equipment
US668724727 Oct 19993 Feb 2004Cisco Technology, Inc.Architecture for high speed class of service enabled linecard
US669120222 Dic 200010 Feb 2004Lucent Technologies Inc.Ethernet cross point switch with reduced connections by using column control buses
US669691721 Sep 200024 Feb 2004Nortel Networks LimitedFolded Clos architecture switching
US66973592 Jul 199924 Feb 2004Ancor Communications, Inc.High performance switch fabric element and switch systems
US669736815 May 200124 Feb 2004Foundry Networks, Inc.High-performance network switch
US670089415 Mar 20002 Mar 2004Broadcom CorporationMethod and apparatus for shared buffer packet switching
US670800027 Sep 200016 Mar 2004Fujitsu LimitedPhotonic node, photonic nodes for transmission and reception, and method of restoring traffic upon occurrence of link failure in optical path network
US672122931 May 200213 Abr 2004Network Equipment Technologies, Inc.Method and apparatus for using SDRAM to read and write data without latency
US672126820 Nov 199813 Abr 2004Hitachi, Ltd.Method and apparatus for multiplex transmission
US67213131 Ago 200013 Abr 2004International Business Machines CorporationSwitch fabric architecture using integrated serdes transceivers
US672133819 May 200013 Abr 2004Sharp Kabushiki KaishaCommunication apparatus, synchronous communication system, communication interference suppress method and computer-readable recording medium recorded with communication interference suppress program to suppress interference between plurality of synchronous communication systems in same space
US673187526 Ene 19994 May 2004Lucent Technologies Inc.Wavelength bus architecture for ultra-high speed dense wavelength division multiplexed systems
US673521815 May 200111 May 2004Foundry Networks, Inc.Method and system for encoding wide striped cells
US67452774 Oct 20001 Jun 2004Force10 Networks, Inc.Intelligent interleaving scheme for multibank memory
US674797120 Abr 19998 Jun 2004Cisco Technology, Inc.Crosspoint switch with independent schedulers
US675122430 Mar 200015 Jun 2004Azanda Network Devices, Inc.Integrated ATM/packet segmentation-and-reassembly engine for handling both packet and ATM input data and for outputting both ATM and packet data
US675488110 Dic 200122 Jun 2004International Business Machines CorporationField programmable network processor and method for customizing a network processor
US676586629 Feb 200020 Jul 2004Mosaid Technologies, Inc.Link aggregation
US677570616 Jun 200010 Ago 2004Nec CorporationMulti-protocol switching system, line interface and multi-protocol processing device
US677854614 Feb 200017 Ago 2004Cisco Technology, Inc.High-speed hardware implementation of MDRR algorithm over a large number of queues
US678199011 Feb 200224 Ago 2004Extreme NetworksMethod and system for managing traffic in a packet network environment
US678529024 Oct 200031 Ago 2004Kabushiki Kaisha ToshibaLine interface integrated circuit and packet switch
US678869711 Ago 20007 Sep 2004Nortel Networks LimitedBuffer management scheme employing dynamic thresholds
US679248428 Jul 200014 Sep 2004Marconi Communications, Inc.Method and apparatus for storing data using a plurality of queues
US679250212 Oct 200014 Sep 2004Freescale Semiconductor, Inc.Microprocessor having a content addressable memory (CAM) device as a functional unit therein and method of operation
US679874013 Mar 200028 Sep 2004Nortel Networks LimitedMethod and apparatus for switch core health monitoring and redundancy
US680422011 Abr 200212 Oct 2004Qualcomm IncorporatedMethod and apparatus for generating control information for packet data
US680473125 Sep 200012 Oct 2004Paion Company, LimitedSystem, method and article of manufacture for storing an incoming datagram in switch matrix in a switch fabric chipset system
US680717918 Abr 200019 Oct 2004Advanced Micro Devices, Inc.Trunking arrangement in a network switch
US680736329 Sep 200019 Oct 2004Fujitsu LimitedDigital moving picture data player system having a time-based access list
US681003830 Mar 200026 Oct 2004Nec CorporationSwitch, scheduler thereof, and switch scheduling method
US681004628 Dic 200026 Oct 2004Marconi Uk Intellectual Property Ltd.Method of communicating data in communication systems
US681324314 Feb 20002 Nov 2004Cisco Technology, Inc.High-speed hardware implementation of red congestion control algorithm
US681326621 May 19992 Nov 2004Advanced Micro Devices, Inc.Pipelined access to address table in a network switch
US681646713 Oct 19999 Nov 2004Sun Microsystems, Inc.Spanning tree support in a high performance network device
US683192317 Abr 200014 Dic 2004Cisco Technology, Inc.Pipelined multiple issue packet switch
US683193214 Jul 200014 Dic 2004Level 3 Communications, Inc.Transfer of SONET traffic over a packet-switched network
US683680825 Feb 200228 Dic 2004International Business Machines CorporationPipelined packet processing
US683934622 Mar 20004 Ene 2005Nec CorporationPacket switching apparatus with high speed routing function
US684242215 Jun 199911 Ene 2005Marconi Communications, Inc.Data striping based switching system
US685411731 Oct 20008 Feb 2005Caspian Networks, Inc.Parallel network processor array
US68566004 Ene 200015 Feb 2005Cisco Technology, Inc.Method and apparatus for isolating faults in a switching matrix
US68594385 Dic 200322 Feb 2005Extreme Networks, Inc.Policy based quality of service
US686515321 Nov 20008 Mar 2005AlcatelStage-implemented QoS shaping for data communication switch
US690107215 May 200331 May 2005Foundry Networks, Inc.System and method for high speed packet transmission implementing dual transmit and receive pipelines
US690693616 Dic 200214 Jun 2005Cypress Semiconductor CorporationData preclassifier method and apparatus for content addressable memory (CAM) device
US691263723 Jun 200028 Jun 2005Broadcom CorporationApparatus and method for managing memory in a network switch
US692015417 Dic 200119 Jul 2005Supergate Technology Usa, Inc.Architectures for a modularized data optimization engine and methods therefor
US692551620 Abr 20012 Ago 2005Raze Technologies, Inc.System and method for providing an improved common control bus for use in on-line insertion of line replaceable units in wireless and wireline access systems
US693430531 Jul 200023 Ago 2005Cisco Technology, Inc.Method and apparatus for detecting errors in a backplane frame
US693760620 Abr 200130 Ago 2005International Business Machines CorporationData structures for efficient processing of IP fragmentation and reassembly
US69469486 Jun 200120 Sep 2005Vitesse Semiconductor CorporationCrosspoint switch with switch matrix module
US695725811 Abr 200118 Oct 2005Netrake CorporationPolicy gateway
US695900725 Jun 200125 Oct 2005Lsi Logic CorporationHigh speed network protocol stack in silicon
US697309228 Jul 20006 Dic 2005Marconi Intellectual Property (Ringfence), Inc.Dynamic queue utilization
US697559926 Oct 200013 Dic 2005Hewlett-Packard Development Company, L.P.Rate adaptive payload transmission for local area networks
US697830931 Jul 200020 Dic 2005Cisco Technology, Inc.Method and system for reprogramming instructions for a switch
US698055215 Ago 200227 Dic 2005Cisco Technology, Inc.Pipelined packet switching and queuing architecture
US69829744 Ene 20003 Ene 2006Cisco Technology, Inc.Method and apparatus for a rearrangeably non-blocking switching matrix
US699010210 May 200124 Ene 2006Advanced Micro Devices, Inc.Parallel lookup tables for locating information in a packet switched network
US699303229 Jun 200031 Ene 2006Intel CorporationBuffer arrangements to support differential link distances at full bandwidth
US699666312 Sep 20017 Feb 2006Cisco Technology, Inc.Method and apparatus for performing address translation using a CAM
US700581222 Jul 200228 Feb 2006Lawrence Hardy MitchellCommutation converter for a brushless servo motor
US700996811 Jun 20017 Mar 2006Broadcom CorporationGigabit switch supporting improved layer 3 switching
US70129198 Dic 200014 Mar 2006Caspian Networks, Inc.Micro-flow label switching
US705043011 Jun 200123 May 2006Broadcom CorporationGigabit switch with fast filtering processor
US708023830 Ago 200118 Jul 2006Alcatel Internetworking, (Pe), Inc.Non-blocking, multi-context pipelined processor
US70821331 Sep 200025 Jul 2006Broadcom CorporationApparatus and method for enabling voice over IP support for a network switch
US710304130 Jun 20005 Sep 2006Marconi Intellectual Property (Ringfence), Inc.Optimization of number of transceivers used in a switch
US712074426 Nov 200310 Oct 2006Micron Technology, Inc.System and method for managing a cache memory
US712694821 Mar 200224 Oct 2006Hewlett-Packard Development Company, L.P.Method and system for performing a hash transformation to generate a hash pointer for an address input by using rotation
US71269565 Mar 200224 Oct 2006Applied Micro Circuits CorporationSystem to provide fractional bandwidth data communications services
US71517976 Mar 200319 Dic 2006Limberg Allen LeroyAdaptive K-factor-improvement filter for receiver of radio signals subject to multipath distortion
US716194817 Jun 20029 Ene 2007Broadcom CorporationHigh speed protocol for interconnecting modular network devices
US716747128 Ago 200123 Ene 2007International Business Machines CorporationNetwork processor with single interface supporting tree search engine and CAM
US71769112 Feb 200013 Feb 2007Olympus CorporationSolid-state imaging apparatus
US718514116 Oct 200227 Feb 2007Netlogic Microsystems, Inc.Apparatus and method for associating information values with portions of a content addressable memory (CAM) device
US718526612 Feb 200327 Feb 2007Alacritech, Inc.Network interface device for error detection using partial CRCS of variable length message portions
US71876876 May 20026 Mar 2007Foundry Networks, Inc.Pipeline method and system for switching packets
US71906965 Mar 200213 Mar 2007Force10 Networks, Inc.System and method for distributing packets among a plurality of paths to a destination
US71912779 Mar 200413 Mar 2007Hewlett-Packard Development Company, L.P.Dynamic allocation of devices to host controllers
US719146816 Jul 200213 Mar 2007The Boeing CompanySystem and method for multidimensional data compression
US720319425 Mar 200410 Abr 2007Foundry Networks, Inc.Method and system for encoding wide striped cells
US720628317 Dic 200317 Abr 2007Foundry Networks, Inc.High-performance network switch
US721253627 Dic 20011 May 2007Alcatel-Lucent Canada Inc.User priority mapping in bridged VLANS
US72186373 Abr 200215 May 2007Yotta Networks, LlcSystem for switching data using dynamic scheduling
US721929317 Dic 200315 May 2007Macronix International Co., Ltd.High performance CRC calculation method and system with a matrix transformation strategy
US722850920 Ago 20045 Jun 2007Altera CorporationDesign tools for configurable serial communications protocols
US723649015 May 200126 Jun 2007Foundry Networks, Inc.Backplane interface adapter
US723705814 Ene 200226 Jun 2007Netlogic Microsystems, Inc.Input data selection for content addressable memory
US724930620 Feb 200424 Jul 2007Nvidia CorporationSystem and method for generating 128-bit cyclic redundancy check values with 32-bit granularity
US72661176 May 20024 Sep 2007Foundry Networks, Inc.System architecture for very fast ethernet blade
US727742521 Oct 20022 Oct 2007Force10 Networks, Inc.High-speed router switching architecture
US728354711 Ago 200016 Oct 2007Ericsson AbSwitch fabrics logical synchronization utilizing propagation lockdown
US72865342 Nov 200123 Oct 2007Infineon Technologies North America CorporationSRAM based cache for DRAM routing table lookups
US732450926 Feb 200229 Ene 2008Broadcom CorporationEfficient optimization algorithm in memory utilization for network applications
US73559705 Oct 20018 Abr 2008Broadcom CorporationMethod and apparatus for enabling access on a network switch
US735603015 May 20018 Abr 2008Foundry Networks, Inc.Network switch cross point
US736610028 Abr 200329 Abr 2008Lucent Technologies Inc.Method and apparatus for multipath processing
US739176927 Jun 200324 Jun 2008Lucent Technologies Inc.Packet aggregation for real time services on packet data networks
US742869320 Oct 200423 Sep 2008Fujitsu LimitedError-detecting encoding and decoding apparatus and dividing apparatus
US74689756 May 200223 Dic 2008Foundry Networks, Inc.Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US751212721 May 200731 Mar 2009Foundry Networks, Inc.Backplane interface adapter
US75581937 Jul 2009Starent Networks CorporationRedundancy in voice and data communications systems
US756159023 Sep 200314 Jul 2009Marvell International Ltd.Network switch having virtual input queues for flow control
US759613916 Nov 200129 Sep 2009Foundry Networks, Inc.Backplane interface adapter with error control and redundant fabric
US760961714 Abr 200527 Oct 2009Cisco Technology, Inc.BGP hitless upgrade approaches
US761399112 Feb 20073 Nov 2009Altera CorporationMethod and apparatus for concurrent calculation of cyclic redundancy checks
US763636922 Dic 2009Foundry Networks, Inc.System and method for high speed packet transmission implementing dual transmit and receive pipelines
US76498856 May 200219 Ene 2010Foundry Networks, Inc.Network routing system for enhanced efficiency and monitoring capability
US765770328 Abr 20052 Feb 2010Foundry Networks, Inc.Double density content addressable memory (CAM) lookup scheme
US773845025 Jul 200715 Jun 2010Foundry Networks, Inc.System architecture for very fast ethernet blade
US78133678 Ene 200712 Oct 2010Foundry Networks, Inc.Pipeline method and system for switching packets
US781765919 Oct 2010Foundry Networks, LlcMethod and apparatus for aggregating input data streams
US783088412 Sep 20079 Nov 2010Foundry Networks, LlcFlexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US790365422 Dic 20068 Mar 2011Foundry Networks, LlcSystem and method for ECMP load sharing
US795392231 May 2011Foundry Networks, LlcDouble density content addressable memory (CAM) lookup scheme
US795392331 May 2011Foundry Networks, LlcDouble density content addressable memory (CAM) lookup scheme
US2001000187912 Nov 199824 May 2001Ibm CorporationMethod and apparatus for saving device state while a computer system is in sleep mode
US200100075603 Ene 200112 Jul 2001Michio MasudaMulti-layer class identifying communication apparatus with priority control
US2001002655128 Feb 20014 Oct 2001Dan HorlinArrangement and method relating to packet switching
US2001004878512 Abr 20016 Dic 2001Steinberg Dan A.Fiber optic array switch
US200100531508 Ene 200120 Dic 2001David ClearPacket processor with programmable application logic
US2002000130712 Mar 20013 Ene 2002Equipe Communications CorporationVPI/VCI availability index
US2002004041714 Ago 20014 Abr 2002Winograd Gil I.Programmable refresh scheduler for embedded DRAMs
US2002005459430 Ago 20019 May 2002Hoof Werner VanNon-blocking, multi-context pipelined processor
US200200545957 Dic 20009 May 2002Shekhar AmbeMirroring in a stacked network switch configuration
US2002006929421 Sep 20016 Jun 2002Ibm CorporationMethod and system for application specific packet forwarding
US200200730737 Dic 200013 Jun 2002Cheng Paul C.Paralleled content addressable memory search engine
US2002008549919 Feb 20024 Jul 2002Takeshi ToyoyamaATM communication monitoring device
US2002008778829 Dic 20004 Jul 2002Morris J. MarkHigh performance disk mirroring
US2002008993714 Nov 200111 Jul 2002Srinivasan VenkatacharyPacket matching method and system
US2002008997715 May 200111 Jul 2002Andrew ChangNetwork switch cross point
US200200918442 Oct 200111 Jul 2002Alacritech, Inc.Network interface device that fast-path processes solicited session layer read commands
US2002009188415 May 200111 Jul 2002Andrew ChangMethod and system for translating data formats
US2002010596616 Nov 20018 Ago 2002Ronak PatelBackplane interface adapter with error control and redundant fabric
US2002012667210 Ene 200112 Sep 2002Nelson ChowMethod and apparatus for a flexible and reconfigurable packet classifier using content addressable memory
US2002013143727 Sep 200119 Sep 2002Tagore-Brage Jens P.Flexible aggregation of output links
US2002014140331 Jul 20013 Oct 2002Shinichi AkahaneRouter
US200201460136 Abr 200110 Oct 2002Magnus KarlssonAAL2 receiver for filtering signaling/management packets in an ATM system
US2002016196726 Abr 200131 Oct 2002International Business Machines CorporationDestructive read architecture for dynamic random access memories
US2002016978619 Feb 200214 Nov 2002Richek Martin D.Type-safe homogeneous linkage for heterogeneous smart pointers
US2002019160528 Feb 200219 Dic 2002Lunteren Jan VanPacket classification
US2003000946621 Jun 20019 Ene 2003Ta John D. C.Search engine with pipeline structure
US200300121987 Mar 200216 Ene 2003Nec CorporationPacket processing unit
US2003004380030 Ago 20016 Mar 2003Sonksen Bradley StephenDynamic data item processing
US2003004384830 Ago 20016 Mar 2003Sonksen Bradley StephenMethod and apparatus for data item processing control
US2003006145927 Sep 200127 Mar 2003Nagi AbouleneinMethod and apparatus for memory access scheduling to reduce memory access latency
US2003007465712 Oct 200117 Abr 2003Bramley Richard A.Limited time evaluation system for firmware
US200300816087 Oct 20021 May 2003AlcatelMethod for distributing load over multiple shared resources in a communication network and network applying such a method
US2003009554818 Nov 200222 May 2003Nec CorporationSystem for retrieving destination of a packet with plural headers
US2003010349921 Nov 20015 Jun 2003Tom DavisConfigurable packet processor
US2003010350027 Nov 20015 Jun 2003Raghavan MenonApparatus and method for a fault-tolerant scalable switch fabric with quality-of-service (QOS) support
US200301080523 Abr 200212 Jun 2003Rumiko InoueServer load sharing system
US2003011018011 Dic 200112 Jun 2003International Business Machines CorporationHybrid search memory for network processor and computer systems
US2003011540319 Dic 200119 Jun 2003Bouchard Gregg A.Dynamic random access memory system with bank conflict avoidance feature
US2003012086121 Dic 200126 Jun 2003Mauricio CalleMulti-bank scheduling to improve performance on tree accesses in a DRAM based random access memory subsystem
US200301286684 Ene 200210 Jul 2003Yavatkar Rajendra S.Distributed implementation of control protocols in routers and switches
US2003013797818 Ene 200224 Jul 2003Hitachi.Ltd.Method and apparatus for composing virtual links in a label switched network
US2003015208419 Sep 200214 Ago 2003Barry LeeDifferentiated services for a network processor
US2003015209612 Feb 200314 Ago 2003Korey ChapmanIntelligent no packet loss networking
US2003015658619 Feb 200221 Ago 2003Broadcom CorporationMethod and apparatus for flexible frame processing and classification engine
US2003015908613 Mar 200321 Ago 2003Arndt Richard LouisRecovery from data fetch errors in hypervisor code
US2003016516023 Abr 20024 Sep 2003Minami John ShigetoGigabit Ethernet adapter
US200301694706 Nov 200111 Sep 2003Oni Systems Corp.Method and system for bi-directional path switched network
US2003017722118 Mar 200318 Sep 2003Hamid Ould-BrahimResource allocation using an auto-discovery mechanism for provider-provisioned layer-2 and layer-3 Virtual Private Networks
US200301981822 Jun 200323 Oct 2003Nortel Networks LimitedHigh-availability packet forwarding apparatus and method
US20030200343 *2 Jul 200223 Oct 2003Globespan Virata IncorporatedCommunications system using rings architecture
US2003021495620 Mar 200220 Nov 2003Navada Muraleedhara H.Method and apparatus for memory efficient fast VLAN lookups and inserts in hardware-based packet switches
US2003022342428 Abr 20034 Dic 2003Eric AndersonMethod and apparatus for multipath processing
US2003022346631 May 20024 Dic 2003Noronha Ciro AloisioApparatus for redundant multiplexing and remultiplexing of program streams and best effort data
US2003022794326 Jul 200211 Dic 2003Litchfield Communications, Inc.Communicating synchronous TDM signals across a packet-oriented network
US200400222632 Ago 20025 Feb 2004Xiaodong ZhaoCross point switch with out-of-band parameter fine tuning
US2004002806031 Ene 200312 Feb 2004Samsung Electronics Co., Ltd.Link state synchronization method and apparatus on ad-hoc network, and data structure therefor
US2004005486713 Sep 200218 Mar 2004Paulus StraversTranslation lookaside buffer
US2004006224522 Abr 20031 Abr 2004Sharp Colin C.TCP/IP offload device
US2004006224619 Jun 20031 Abr 2004Alacritech, Inc.High performance network interface
US2004008846930 Oct 20026 May 2004Levy Paul S.Links having flexible lane allocation
US2004012843431 Oct 20011 Jul 2004Sandeep KhannaComparand generation in a content addressable memory
US2004014150426 Nov 200322 Jul 2004International Business Machines CorporationMethod and system for resequencing data packets switched through a parallel packet switch
US2004017954825 Mar 200416 Sep 2004Andrew ChangMethod and system for encoding wide striped cells
US2004019054711 Feb 200430 Sep 2004Gordy Stephen C.Network tap with integrated circuitry
US200402081774 May 200421 Oct 2004Tetsuo OgawaSemiconductor circuit device, packet processing method, management system, management method and packet processing method
US200402081817 May 200421 Oct 2004Emulex Design & Manufacturing CorporationSystem and method for scheduling message transmission and processing in a digital data network
US200402235028 May 200311 Nov 2004Samsung Electronics Co., LtdApparatus and method for combining forwarding tables in a distributed architecture router
US200402354802 May 200325 Nov 2004AlcatelEquivalent multiple path traffic distribution in communications networks
US2004026438016 Abr 200430 Dic 2004Broadcom CorporationDistributing information across equal-cost paths in a network
US2005001063013 May 200413 Ene 2005International Business Machines CorporationMethod and apparatus for determining a remainder in a polynomial ring
US2005001084918 Mar 200313 Ene 2005Cisco Technology, Inc., A Corporation Of CaliforniaMethod and system for emulating a Fibre Channel link over a SONET/SDH path
US2005004168427 Jul 200424 Feb 2005Agilent Technologies, Inc.Multi-channel network monitoring apparatus, signal replicating device, and systems including such apparatus and devices, and enclosure for multi-processor equipment
US2005008904917 Dic 200328 Abr 2005Foundry Networks, Inc.High-performance network switch
US2005009743220 Oct 20045 May 2005Kazuhisa ObuchiError-detecting encoding and decoding apparatus and dividing apparatus
US2005013213225 Ene 200516 Jun 2005Rosenbluth Mark B.Software controlled content addressable memory in a general purpose execution datapath
US200501321791 May 200416 Jun 2005Microsoft CorporationApplying custom software image updates to non-volatile storage in a failsafe manner
US2005013827617 Dic 200323 Jun 2005Intel CorporationMethods and apparatus for high bandwidth random access using dynamic random access memory
US2005014436920 Ene 200330 Jun 2005Koninklijke Philips Electronics N.V.Address space, bus system, memory controller and device system
US2005015232412 Ene 200514 Jul 2005Mathilde BenvenisteEfficient power management in wireless local area networks
US2005015233514 Ene 200514 Jul 2005Sandeep LodhaManaging processing utilization in a network node
US2005017501829 Nov 200411 Ago 2005Wong Yuen F.System and method for high speed packet transmission implementing dual transmit and receive pipelines
US2005018557727 Abr 200525 Ago 2005Kenichi SakamotoIP packet communication apparatus
US2005018565228 Feb 200525 Ago 2005Hiroyuki IwamotoATM switch with OAM functions
US2005019331620 Feb 20041 Sep 2005Iready CorporationSystem and method for generating 128-bit cyclic redundancy check values with 32-bit granularity
US2005020138711 May 200515 Sep 2005Harrity & Snyder, L.L.P.Device for performing IP forwarding and ATM switching
US2005022623624 Abr 200313 Oct 2005Joachim KlinkMethod for monitoring the availability of connections in mpls networks
US2005024650828 Abr 20043 Nov 2005Shaw Mark ESystem and method for interleaving memory
US2005024912428 Dic 200410 Nov 2005AlcatelRemote access link fault indication mechanism
US200600316103 Ago 20049 Feb 2006Liav Ori RFIFO sub-system with in-line correction
US2006003445220 Jun 200216 Feb 2006Hitachi, Ltd.Code calculating device
US2006005069031 Oct 20059 Mar 2006Epps Garry PPipelined packet switching and queuing architecture
US200600778917 Mar 200513 Abr 2006Cisco Technology, Inc.Wiring closet redundancy
US2006009282914 Dic 20054 May 2006Brolin Stephen JArchitecture for a hybrid STM/ATM add-drop multiplexer
US2006009292927 Oct 20054 May 2006Samsung Electronics Co., Ltd.Interwoven clock transmission lines and devices employing the same
US2006011487630 Nov 20051 Jun 2006Broadcom CorporationHigh speed trunking in a network device
US200601463743 Ene 20056 Jul 2006Ng Yee SApparatus and method for printing validated image data in a noisy environment
US200601650898 May 200327 Jul 2006Joachim KlinkMethod for assisting equivalent circuits in mpls networks
US2006020968518 Mar 200521 Sep 2006Cisco Technology, Inc.BFD rate-limiting and automatic session activation
US2006022184122 Nov 20055 Oct 2006Lee Ho SMethod of monitoring link performance and diagnosing active link state in ethernet passive optical network
US2006026868025 May 200530 Nov 2006AlcatelCommunication network connection failure protection methods and systems
US2007003879818 Ene 200615 Feb 2007Bouchard Gregg ASelective replication of data structures
US2007008897426 Sep 200519 Abr 2007Intel CorporationMethod and apparatus to detect/manage faults in a system
US200701274646 Oct 20067 Jun 2007Vipin JainManaging the distribution of control protocol information in a network node
US2007017990929 Ene 20072 Ago 2007Nagendra Lakshman ChannasagaraSystem, method, and computer program for realizing a unified brokerage access channel
US200702088767 May 20076 Sep 2007Davis Ian EMethod and apparatus for efficiently processing data packets in a computer network
US2007025342021 May 20071 Nov 2007Andrew ChangBackplane interface adapter
US200702584752 Jul 20078 Nov 2007Network Appliance, Inc.Multi-protocol network interface card
US2007028869014 Dic 200613 Dic 2007Foundry Networks, Inc.High bandwidth, high capacity look-up table implementation in dynamic random access memory
US2008000270712 Sep 20073 Ene 2008Davis Ian EFlexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US200800312637 Ago 20067 Feb 2008Cisco Technology, Inc.Method and apparatus for load balancing over virtual network links
US2008003754431 Jul 200714 Feb 2008Hiroki YanoDevice and Method for Relaying Packets
US2008004974222 Dic 200628 Feb 2008Deepak BansalSystem and method for ecmp load sharing
US2008006912529 Nov 200720 Mar 2008Interactic Holdings, LlcMeans and apparatus for a scalable congestion free switching system with intelligent control
US2008009202012 Oct 200617 Abr 2008Hasenplaugh William CDetermining message residue using a set of polynomials
US2008009516921 Dic 200724 Abr 2008Cisco Technology, Inc.System and Method for Exchanging Awareness Information in a Network Environment
US2008011707520 Nov 200622 May 2008Solana Networks Inc.Alerting method, apparatus, server, and system
US2008018110329 Ene 200731 Jul 2008Fulcrum Microsystems Inc.Traffic distribution techniques
US2008020540720 Feb 200828 Ago 2008Andrew ChangNetwork switch cross point
US200803072888 Jun 200711 Dic 2008Sebastian ZieslerData coding apparatus and methods
US2009017517817 Dic 20049 Jul 2009Chul-Sik YoonMethod and apparatus for requesting and reporting channel quality information in mobile communication system
US2009027942331 Jul 200712 Nov 2009Foundry Networks, Inc.Recovering from Failures Without Impact on Data Traffic in a Shared Bus Architecture
US2009027944012 Nov 2009Foundry Networks, Inc.Techniques for processing incoming failure detection protocol packets
US2009027944110 Dic 200712 Nov 2009Foundry Networks, Inc.Techniques for transmitting failure detection protocol packets
US2009027954110 Dic 200712 Nov 2009Foundry Networks, Inc.Techniques for detecting non-receipt of fault detection protocol packets
US2009027954212 Nov 2009Foundry Networks, Inc.Techniques for using dual memory structures for processing failure detection protocol packets
US2009027954629 Ene 200712 Nov 2009Ian Edward DavisFlexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US2009027954812 Nov 2009Foundry Networks, Inc.Pipeline method and system for switching packets
US2009027954927 Dic 200612 Nov 2009Foundry Networks, Inc.Hitless software upgrades
US2009027955812 Nov 2009Ian Edward DavisNetwork routing apparatus for enhanced efficiency and monitoring capability
US2009027955926 Mar 200412 Nov 2009Foundry Networks, Inc., A Delaware CorporationMethod and apparatus for aggregating input data streams
US2009027956112 Nov 2009Foundry Networks, Inc.Backplane Interface Adapter
US2009028214812 Nov 2009Foundry Networks, Inc.Segmented crc design in high speed networks
US2009028795219 Nov 2009Foundry Networks, Inc.Backplane Interface Adapter with Error Control and Redundant Fabric
US2009029049926 Nov 2009Foundry Networks, Inc.Backplane Interface Adapter with Error Control and Redundant Fabric
US2010003421511 Feb 2010Foundry Networks, Inc.Backplane Interface Adapter with Error Control
US2010004652129 Oct 200925 Feb 2010Foundry Networks, Inc.System and Method for High Speed Packet Transmission
US2010006139311 Mar 2010Foundry Networks, Inc.System and Method for High Speed Packet Transmission
US2010010067116 Dic 200922 Abr 2010Foundry Networks, Inc.Double density content addressable memory (cam) lookup scheme
US2010013531323 Nov 20093 Jun 2010Foundry Networks, Inc.Network routing system for enhanced efficiency and monitoring capability
US2010016189416 Dic 200924 Jun 2010Foundry Networks, Inc.Double density content addressable memory (cam) lookup scheme
US201002465888 Feb 201030 Sep 2010Foundry Networks, Inc.System architecture for very fast ethernet blade
US2010029332714 May 200918 Nov 2010Brocade Communications Systems, Inc.TCAM Management Approach That Minimize Movements
US201100023406 Ene 2011Foundry Networks, Inc.Pipeline method and system for switching packets
US2011004434024 Feb 2011Foundry Networks, LlcSystem and method for ecmp load sharing
US2011006971124 Mar 2011Brocade Communications Systems, Inc.PROVISIONING SINGLE OR MULTISTAGE NETWORKS USING ETHERNET SERVICE INSTANCES (ESIs)
EP1380127A216 Nov 200114 Ene 2004Foundry Networks, Inc.High-performance network switch
JP2003289359A Título no disponible
WO2001084728A124 Abr 20018 Nov 2001Yong Soon KwonMobile station
Otras citas
Referencia
110 Gigabit Ethernet Alliance, Interconnection with Wide Area Networks, Version 1.0, Mar. 2002, 5 pages.
210 Gigabit Ethernet-Technology Overview White Paper, Sep. 2001, 16 pages.
310 Gigabit Ethernet—Technology Overview White Paper, Sep. 2001, 16 pages.
4Advisory Action for U.S. Appl. No. 09/855,024, mailed May 2, 2003.
5Advisory Action for U.S. Appl. No. 09/988,066, mailed May 28, 2008, 4 pages.
6Advisory Action for U.S. Appl. No. 10/140,751, mailed Jun. 1, 2009, 3 pages.
7Advisory Action for U.S. Appl. No. 10/210,041, mailed Dec. 13, 2005, 4 pages.
8Advisory Action for U.S. Appl. No. 10/810,208, mailed Aug. 27, 2008, 4 pages.
9Advisory Action for U.S. Appl. No. 10/832,086, mailed Jul. 21, 2008, 4 pages.
10Advisory Action for U.S. Appl. No. 11/615,769, mailed on May 25, 2010, 3 pages.
11Advisory Action for U.S. Appl. No. 11/745,008, mailed on Apr. 21, 2010, 8 pages.
12Advisory Action for U.S. Appl. No. 11/831,950, mailed on Mar. 4, 2010, 4 pages.
13ANSI/IEEE Standard 802.1D, 1998 Edition (373 pages).
14Belhadj et al., "Feasibility of a 100GE MAC", IEEE Meeting Nov. 2006, 18 pages.
15Braun et al., "Fast incrementalk CRC updates for IP over ATM networks," IEEE Workshop on High Performance Switching and Ruting, 2001, pp. 48-52.
16Degermark, M., et al., "Small Forwarding Tables for Fast Routing Lookups," ACM Computer Communications Review, 27(4):3-14, Oct. 1997.
17Final Office Action for U.S. Appl. No. 09/855,024, mailed Jan. 15, 2003, 20 pages.
18Final Office Action for U.S. Appl. No. 09/855,031, mailed Jul. 30, 2003.
19Final Office Action for U.S. Appl. No. 09/855,038, mailed Feb. 7, 2006, 8 pages.
20Final Office Action for U.S. Appl. No. 09/988,066, mailed Oct. 31, 2007, 16 pages.
21Final Office Action for U.S. Appl. No. 10/139,831, mailed Nov. 28, 2006, 17 pages.
22Final Office Action for U.S. Appl. No. 10/139,912, mailed 28, 2007, 20 pages.
23Final Office Action for U.S. Appl. No. 10/139,912, mailed Aug. 11, 2006, 26 pages.
24Final Office Action for U.S. Appl. No. 10/140,749, mailed Dec. 8, 2008, 30 pages.
25Final Office Action for U.S. Appl. No. 10/140,749, mailed Jan. 8, 2008, 23 pages.
26Final Office Action for U.S. Appl. No. 10/140,749, mailed Jun. 27, 2007, 23 pages.
27Final Office Action for U.S. Appl. No. 10/140,749, mailed on Jan. 13, 2010, 44 pages.
28Final Office Action for U.S. Appl. No. 10/140,751, mailed Apr. 10, 2007, 16 pages.
29Final Office Action for U.S. Appl. No. 10/140,751, Mailed Mar. 17, 2009, 17 pages.
30Final Office Action for U.S. Appl. No. 10/140,751, mailed May 28, 2008, 19 pages.
31Final Office Action for U.S. Appl. No. 10/140,751, mailed on Jun. 28, 2011, 23 pages.
32Final Office Action for U.S. Appl. No. 10/140,751, mailed on Mar. 25, 2010, 29 pages.
33Final Office Action for U.S. Appl. No. 10/140,753, mailed Aug. 25, 2008, 22 pages.
34Final Office Action for U.S. Appl. No. 10/140,753, mailed Jan. 10, 2007, 27 pages.
35Final Office Action for U.S. Appl. No. 10/141,223, mailed Aug. 21, 2007, 25 pages.
36Final Office Action for U.S. Appl. No. 10/210,041, mailed Aug. 24, 2005, 7 pages.
37Final Office Action for U.S. Appl. No. 10/210,041, mailed Jan. 7, 2004, 14 pages.
38Final Office Action for U.S. Appl. No. 10/210,041, mailed Jul. 7, 2004, 13 pages.
39Final Office Action for U.S. Appl. No. 10/736,680, mailed Aug. 3, 2006, 10 pages.
40Final Office Action for U.S. Appl. No. 10/810,208, mailed Jun. 11, 2008, 34 pages.
41Final Office Action for U.S. Appl. No. 10/832,086, mailed May 1, 2008, 31 pages.
42Final Office Action for U.S. Appl. No. 10/832,086, mailed on Sep. 29, 2009, 26 pages.
43Final Office Action for U.S. Appl. No. 11/611,067, mailed on Oct. 16, 2009, 35 pages.
44Final Office Action for U.S. Appl. No. 11/615,769, mailed on Jan. 22, 2010, 34 pages.
45Final Office Action for U.S. Appl. No. 11/621,038, mailed on Dec. 23, 2009, 27 pages.
46Final Office Action for U.S. Appl. No. 11/646,845, mailed on Jun. 9, 2011, 22 pages.
47Final Office Action for U.S. Appl. No. 11/668,322, mailed on Feb. 1, 2011, 17 pages.
48Final Office Action for U.S. Appl. No. 11/668,322, mailed on Feb. 24, 2010, 33 pages.
49Final Office Action for U.S. Appl. No. 11/745,008, mailed on Dec. 30, 2009, 27 pages.
50Final Office Action for U.S. Appl. No. 11/779,714, mailed on Nov. 9, 2010, 24 pages.
51Final Office Action for U.S. Appl. No. 11/831,950, mailed on Jan. 6, 2010, 21 pages.
52Final Office Action for U.S. Appl. No. 11/953,742, mailed on Jun. 14, 2010, 21 pages.
53Final Office Action for U.S. Appl. No. 11/953,743, mailed on Jul. 15, 2010, 21 pages.
54Final Office Action for U.S. Appl. No. 11/953,751, mailed on Jun. 25, 2010, 24 pages.
55Final Office Action for U.S. Appl. No. 12/070,893, mailed on Nov. 24, 2010, 11 pages.
56Final Office Action for U.S. Appl. No. 12/198,697, mailed on Aug. 2, 2010, 55 pages.
57Final Office Action for U.S. Appl. No. 12/400,594, mailed on Oct. 28, 2010, 13 pages.
58Final Office Action for U.S. Appl. No. 12/795,492, mailed Jul. 20, 2011, 11 pages.
59Foundry Networks, "BigIron Architecture Technical Brief," Dec. 1998-Version 1.03, 14 pages.
60Foundry Networks, "BigIron Architecture Technical Brief," Dec. 1998—Version 1.03, 14 pages.
61Foundry Networks, "BigIron Architecture Technical Brief," Jul. 2001-Version 2.02, 16 pages.
62Foundry Networks, "BigIron Architecture Technical Brief," Jul. 2001—Version 2.02, 16 pages.
63Foundry Networks, "BigIron Architecture Technical Brief," May 1999-Version 2.0, 15 pages.
64Foundry Networks, "BigIron Architecture Technical Brief," May 1999—Version 2.0, 15 pages.
65Foundry Networks, "BigIron Architecture Technical Brief," May 1999-Version 2.01, 15 pages.
66Foundry Networks, "BigIron Architecture Technical Brief," May 1999—Version 2.01, 15 pages.
67Foundry Networks, "BigIron Architecture Technical Brief," Oct. 1998-Version 1.0, 15 pages.
68Foundry Networks, "BigIron Architecture Technical Brief," Oct. 1998—Version 1.0, 15 pages.
69Foundry Networks, "BigIron Architecture Technical Brief," Oct. 1998-Version 1.02, 15 pages.
70Foundry Networks, "BigIron Architecture Technical Brief," Oct. 1998—Version 1.02, 15 pages.
71Foundry Networks, "Foundry Networks, Next Generation Terabit System Architecture-The High Performance Revolution for 10 Gigabit Networks," Nov. 17, 2003.
72Foundry Networks, "Foundry Networks, Next Generation Terabit System Architecture—The High Performance Revolution for 10 Gigabit Networks," Nov. 17, 2003.
73Foundry Networks, "JetCore(TM) Based Chassis Systems-An Architecture Brief on NetIron, BigIron, and FastIron Systems," Jan. 17, 2003.
74Foundry Networks, "JetCore™ Based Chassis Systems—An Architecture Brief on NetIron, BigIron, and FastIron Systems," Jan. 17, 2003.
75Gigabit Ethernet Alliance-"Accelerating the Standard for Speed," Copyright 1998, 10 pages.
76Gigabit Ethernet Alliance—"Accelerating the Standard for Speed," Copyright 1998, 10 pages.
77International Preliminary Examination Report for Application No. PCT/US2001/043113, mailed Nov. 6, 2003, 6pages.
78International Search Report for Application No. PCT/US2001/043113, mailed Dec. 13, 2002, 2 pages.
79International Search Report of Jun. 17, 2003 for application No. PCT/US03/08719.
80Kichorowsky et al., "Mindspeed.TM. Switch Fabric Offers the Most Comprehensive Solution for Multi-Protocol Networking Equipment," Apr. 30, 2001, 3 pages.
81Matsumoto et al., "Switch Fabrics Touted At Interconnects Conference," Aug. 21, 2000, URL=http://www.eetimes.com/story/OEG2000821S0011, accessed Aug. 12, 2002, 2 pages.
82McAuley et al., "Fast Routing Table Lookup Using CAMs," Proceedings of INFOCOM, Mar.-Apr. 1993, pp. 1382-1391.
83Mier Communications, Inc., "Lab Testing Summary Report-Product Category: Gigabit Backbone Switches, Vendor Tested: Foundry Networks, Product Tested: BigIron 4000," Report No. 210998, Sep. 1998, 6 pages.
84Mier Communications, Inc., "Lab Testing Summary Report—Product Category: Gigabit Backbone Switches, Vendor Tested: Foundry Networks, Product Tested: BigIron 4000," Report No. 210998, Sep. 1998, 6 pages.
85Mier Communications, Inc., "Lab Testing Summary Report-Product Category: Layer-3 Switches, Vendor Tested:, Product Tested: Foundry Networks, BigIron 4000," Report No. 231198, Oct. 1998, 6 pages.
86Mier Communications, Inc., "Lab Testing Summary Report—Product Category: Layer-3 Switches, Vendor Tested:, Product Tested: Foundry Networks, BigIron 4000," Report No. 231198, Oct. 1998, 6 pages.
87Mindspeed-A Conexant Business, "17x17 3.2 Gbps Crosspoint Switch with Input Equalization-M21110," Feb. 1, 2001, 2 pages.
88Mindspeed—A Conexant Business, "17x17 3.2 Gbps Crosspoint Switch with Input Equalization—M21110," Feb. 1, 2001, 2 pages.
89Mindspeed-A Conexant Business, "Switch Fabric Chipset-CX27300 iScale.TM.," Apr. 30, 2001, 2 pages.
90Mindspeed—A Conexant Business, "Switch Fabric Chipset—CX27300 iScale.TM.," Apr. 30, 2001, 2 pages.
91Newton, Newton's Telecom Dictionary, CMP Books, Mar. 2004, 20th Ed., p. 617.
92Non Final Office Action for U.S. Appl. No. 11/804,977, Mailed Jan. 14, 2008, 13 pages.
93Non-Final Office Action for U.S. Appl. No. 09/855,015, mailed Jan. 12, 2006, 6 pages.
94Non-Final Office Action for U.S. Appl. No. 09/855,015, mailed Oct. 28, 2004, 12 pages.
95Non-Final Office Action for U.S. Appl. No. 09/855,024. mailed Jun. 4, 2002, 10 pages.
96Non-Final Office Action for U.S. Appl. No. 09/855,025, mailed Nov. 23, 2004, 17 pages.
97Non-Final Office Action for U.S. Appl. No. 09/855,031, mailed Dec. 10, 2002.
98Non-Final Office Action for U.S. Appl. No. 09/855,031, mailed May 22, 2002.
99Non-Final Office Action for U.S. Appl. No. 09/855,038, mailed Jun. 2, 2005, 14 pages.
100Non-Final Office Action for U.S. Appl. No. 09/855,038, mailed Oct. 4, 2006, 14 pages.
101Non-Final Office Action for U.S. Appl. No. 09/988,066, mailed Apr. 6, 2007, 22 pages.
102Non-Final Office Action for U.S. Appl. No. 09/988,066, mailed Jul. 14, 2006, 17 pages.
103Non-Final Office Action for U.S. Appl. No. 10/139,831, mailed Jun. 27, 2006, 9 pages.
104Non-Final Office Action for U.S. Appl. No. 10/139,831, mailed Oct. 17, 2005, 7 pages..
105Non-Final Office Action for U.S. Appl. No. 10/139,912, mailed Apr. 20, 2007, 20 pages.
106Non-Final Office Action for U.S. Appl. No. 10/139,912, mailed Aug. 1, 2008, 21 pages.
107Non-Final Office Action for U.S. Appl. No. 10/139,912, mailed Jan. 25, 2006, 14 pages.
108Non-Final Office Action for U.S. Appl. No. 10/140,088, mailed Apr. 27, 2006, 13 pages.
109Non-Final Office Action for U.S. Appl. No. 10/140,749, mailed Aug. 10, 2006, 22 pages.
110Non-Final Office Action for U.S. Appl. No. 10/140,749, mailed Jun. 6, 2008, 28 pages.
111Non-Final Office Action for U.S. Appl. No. 10/140,749, mailed May 27, 2009, 38 pages.
112Non-Final Office Action for U.S. Appl. No. 10/140,751, mailed Aug. 10, 2006, 15 pages.
113Non-Final Office Action for U.S. Appl. No. 10/140,751, mailed Dec. 20, 2010, 23 pages.
114Non-Final Office Action for U.S. Appl. No. 10/140,751, mailed Oct. 30, 2007, 14 pages.
115Non-Final Office Action for U.S. Appl. No. 10/140,751, mailed on Sep. 28, 2009, 34 pages.
116Non-Final Office Action for U.S. Appl. No. 10/140,751, mailed Sep. 17, 2008, 15 pages.
117Non-Final Office Action for U.S. Appl. No. 10/140,752, mailed Apr. 23, 2007, 6 pages.
118Non-Final Office Action for U.S. Appl. No. 10/140,752, mailed Dec. 14, 2006, 17 pages.
119Non-Final Office Action for U.S. Appl. No. 10/140,752, mailed Jan. 24, 2008, 8 pages.
120Non-Final Office Action for U.S. Appl. No. 10/140,753, mailed Apr. 20, 2006, 11 pages.
121Non-Final Office Action for U.S. Appl. No. 10/140,753, mailed Aug. 22, 2007, 14 pages.
122Non-Final Office Action for U.S. Appl. No. 10/140,753, mailed Jan. 8, 2008, 14 pages.
123Non-Final Office Action for U.S. Appl. No. 10/141,223, mailed Dec. 28, 2007, 13 pages.
124Non-Final Office Action for U.S. Appl. No. 10/141,223, mailed Feb. 13, 2007, 29 pages.
125Non-Final Office Action for U.S. Appl. No. 10/141,223, mailed Feb. 23, 2006, 25 pages.
126Non-Final Office Action for U.S. Appl. No. 10/141,223, mailed Sep. 3, 2008, 22 pages.
127Non-Final Office Action for U.S. Appl. No. 10/210,041, mailed Feb. 9, 2005, 7 pages.
128Non-Final Office Action for U.S. Appl. No. 10/210,041, mailed Mar. 11, 2004, 12 pages.
129Non-Final Office Action for U.S. Appl. No. 10/210,041, mailed Sep. 10, 2003, 12 pages.
130Non-Final Office Action for U.S. Appl. No. 10/210,108, mailed Jun. 12, 2003, 6 pages.
131Non-Final Office Action for U.S. Appl. No. 10/438,545, mailed Dec. 12, 2003, 7 pages.
132Non-Final Office Action for U.S. Appl. No. 10/736,680, mailed Feb. 16, 2006, 18 pages.
133Non-Final Office Action for U.S. Appl. No. 10/810,208, mailed Dec. 18, 2007, 40 pages.
134Non-Final Office Action for U.S. Appl. No. 10/810,208, mailed Feb. 13, 2009, 17 pages.
135Non-Final Office Action for U.S. Appl. No. 10/810,208, mailed Jul. 16, 2007, 24 pages.
136Non-Final Office Action for U.S. Appl. No. 10/810,208, mailed on Aug. 24, 2009, 38 pages.
137Non-Final Office Action for U.S. Appl. No. 10/810,208, mailed on Feb. 5, 2010, 13 pages.
138Non-Final Office Action for U.S. Appl. No. 10/810,301, mailed Feb. 16, 2006, 12 pages
139Non-Final Office Action for U.S. Appl. No. 10/810,301, mailed Mar. 17, 2005,11 pages.
140Non-Final Office Action for U.S. Appl. No. 10/832,086, Mailed Apr. 1, 2009, 17 pages.
141Non-Final Office Action for U.S. Appl. No. 10/832,086, mailed Sep. 18, 2008, 18 pages.
142Non-Final Office Action for U.S. Appl. No. 10/832,086, mailed Sep. 19, 2007, 12 pages.
143Non-Final Office Action for U.S. Appl. No. 11/000,359, mailed May 29, 2009, 14 pages.
144Non-Final Office Action for U.S. Appl. No. 11/000,359, mailed Oct. 23, 2008, 28 pages.
145Non-Final Office Action for U.S. Appl. No. 11/586,991, mailed Oct. 2, 2008, 23 pages.
146Non-Final Office Action for U.S. Appl. No. 11/611,067, mailed Feb. 20, 2009, 11 pages.
147Non-Final Office Action for U.S. Appl. No. 11/611,067, mailed on Dec. 8, 2009, 11 pages.
148Non-Final Office Action for U.S. Appl. No. 11/615,769, Mailed Apr. 15, 2009, 11 pages.
149Non-Final Office Action for U.S. Appl. No. 11/621,038, Mailed Apr. 23, 2009, 44 pages.
150Non-Final Office Action for U.S. Appl. No. 11/646,845, mailed on Oct. 4, 2010, 48 pages.
151Non-Final Office Action for U.S. Appl. No. 11/668,322, Dated Mar. 23, 2009, 19 pages.
152Non-Final Office Action for U.S. Appl. No. 11/668,322, mailed on Jun. 22, 2010, 16 pages.
153Non-Final Office Action for U.S. Appl. No. 11/745,008, Mailed May 14, 2009, 27 pages.
154Non-Final Office Action for U.S. Appl. No. 11/779,714, mailed on Mar. 31, 2010, 26 pages.
155Non-Final Office Action for U.S. Appl. No. 11/779,714, mailed on Sep. 1, 2009, 58 pages.
156Non-Final Office Action for U.S. Appl. No. 11/828,246, mailed Jun. 15, 2009, 26 pages.
157Non-Final Office Action for U.S. Appl. No. 11/831,950, mailed on Aug. 18, 2009, 49 pages.
158Non-Final Office Action for U.S. Appl. No. 11/854,486, mailed Jul. 20, 2009, 29 pages.
159Non-Final Office Action for U.S. Appl. No. 11/854,486, mailed on Jan. 12, 2010, 23 pages.
160Non-Final Office Action for U.S. Appl. No. 11/953,742, mailed on Mar. 30, 2011, 23 pages.
161Non-Final Office Action for U.S. Appl. No. 11/953,742, mailed on Nov. 19, 2009, 51 pages.
162Non-Final Office Action for U.S. Appl. No. 11/953,743, mailed on Nov. 23, 2009, 47 pages.
163Non-Final Office Action for U.S. Appl. No. 11/953,745, mailed on Jun. 14, 2010, 19 pages.
164Non-Final Office Action for U.S. Appl. No. 11/953,745, mailed on Nov. 24, 2009, 48 pages.
165Non-Final Office Action for U.S. Appl. No. 11/953,751, mailed on Mar. 29, 2011, 29 pages.
166Non-Final Office Action for U.S. Appl. No. 11/953,751, mailed on Nov. 16, 2009, 55 pages.
167Non-Final Office Action for U.S. Appl. No. 12/070,893, mailed on Jun. 10, 2010, 44 pages.
168Non-Final Office Action for U.S. Appl. No. 12/070,893, mailed on Mar. 18, 2011, 7 pages.
169Non-Final Office Action for U.S. Appl. No. 12/198,697, mailed on Feb. 2, 2010, 50 pages.
170Non-Final Office Action for U.S. Appl. No. 12/198,697, mailed on May 20, 2011, 43 pages.
171Non-Final Office Action for U.S. Appl. No. 12/198,697, mailed on Oct. 25, 2010, 36 pages.
172Non-Final Office Action for U.S. Appl. No. 12/198,710, mailed on Mar. 24, 2011, 40 pages.
173Non-Final Office Action for U.S. Appl. No. 12/198,710, mailed on Sep. 28, 2010, 15 pages.
174Non-Final Office Action for U.S. Appl. No. 12/372,390, mailed on Apr. 22, 2010, 46 pages.
175Non-Final Office Action for U.S. Appl. No. 12/372,390, mailed on Sep. 13, 2010, 10 pages.
176Non-Final Office Action for U.S. Appl. No. 12/400,594, mailed on May 14, 2010, 53 pages.
177Non-Final Office Action for U.S. Appl. No. 12/505,390, mailed on Oct. 28, 2010, 51 pages.
178Non-Final Office Action for U.S. Appl. No. 12/639,762, mailed on Sep. 1, 2010, 40 pages.
179Non-Final Office Action for U.S. Appl. No. 12/702,031, mailed on Apr. 29, 2011, 5 pages.
180Non-Final Office Action for U.S. Appl. No. 12/795,492, mailed on Mar. 17, 2011, 51 pages.
181Non-Final Office for U.S. Appl. No. 12/400,645, mailed on Sep. 1, 2010, 45 pages.
182Notice of Allowance for U.S. Appl. No. 09/855,015, mailed Jan. 7, 2008, 4 pages.
183Notice of Allowance for U.S. Appl. No. 09/855,015, mailed Sep. 8, 2006, 3 pages.
184Notice of Allowance for U.S. Appl. No. 09/855,024, mailed Dec. 15, 2003. 6 pages.
185Notice of Allowance for U.S. Appl. No. 09/855,024, mailed Nov. 3, 2003.
186Notice of Allowance for U.S. Appl. No. 09/855,031, mailed Nov. 4, 2003.
187Notice of Allowance for U.S. Appl. No. 09/855,038, mailed Apr. 26, 2007, 8 pages.
188Notice of Allowance for U.S. Appl. No. 09/988,066, Mailed Jan. 9, 2009, 13 pages.
189Notice of Allowance for U.S. Appl. No. 09/988,066, mailed Oct. 30, 2008, 16 pages.
190Notice of Allowance for U.S. Appl. No. 10/139,831, mailed Feb. 9, 2006, 7 pages.
191Notice of Allowance for U.S. Appl. No. 10/139,831, mailed Jun. 14, 2007, 26 pages.
192Notice of Allowance for U.S. Appl. No. 10/139,831, mailed Jun. 26, 2007, 25 pages.
193Notice of Allowance for U.S. Appl. No. 10/139,912, mailed Feb. 5, 2009, 8 pages.
194Notice of Allowance for U.S. Appl. No. 10/139,912, mailed Jun. 8, 2009, 8 pages.
195Notice of Allowance for U.S. Appl. No. 10/139,912, mailed on Nov. 23, 2009, 4 pages.
196Notice of Allowance for U.S. Appl. No. 10/139,912, mailed on Oct. 19, 2009, 17 pages.
197Notice of Allowance for U.S. Appl. No. 10/140,088, mailed Jan. 11, 2007, 5 pages.
198Notice of Allowance for U.S. Appl. No. 10/140,088, mailed Oct. 24, 2006, 8 pages.
199Notice of Allowance for U.S. Appl. No. 10/140,088, mailed Sep. 7, 2006, 13 pages.
200Notice of Allowance for U.S. Appl. No. 10/210,108, mailed Oct. 7, 2003.
201Notice of Allowance for U.S. Appl. No. 10/438,545, mailed Jun. 15, 2004, 4 pages.
202Notice of Allowance for U.S. Appl. No. 10/736,680, mailed Feb. 22, 2007, 12 pages.
203Notice of Allowance for U.S. Appl. No. 10/810,208, mailed on Jul. 15, 2010, 15 pages.
204Notice of Allowance for U.S. Appl. No. 10/810,301, mailed Feb. 6, 2007, 9 pages.
205Notice of Allowance for U.S. Appl. No. 10/810,301, mailed Jul. 28, 2006, 5 pages.
206Notice of Allowance for U.S. Appl. No. 11/000,359, mailed on Sep. 22, 2009, 17 pages.
207Notice of Allowance for U.S. Appl. No. 11/118,697, mailed on Sep. 30, 2009, 41 pages.
208Notice of Allowance for U.S. Appl. No. 11/615,769, mailed on Jul. 12, 2010, 14 pages.
209Notice of Allowance for U.S. Appl. No. 11/621,038, mailed on Apr. 28, 2010, 15 pages.
210Notice of Allowance for U.S. Appl. No. 11/804,977, Mailed Nov. 19, 2008, 17 pages.
211Notice of Allowance for U.S. Appl. No. 11/828,246, mailed on Nov. 16, 2009, 20 pages.
212Notice of Allowance for U.S. Appl. No. 11/854,486, mailed on Jul. 13, 2010, 12 pages.
213Notice of Allowance for U.S. Appl. No. 11/953,743, mailed on Apr. 28, 2011, 19 pages.
214Notice of Allowance for U.S. Appl. No. 12/372,390, mailed on Mar. 9, 2011, 8 pages.
215Notice of Allowance for U.S. Appl. No. 12/400,594, mailed on Mar. 23, 2011, 11 pages.
216Notice of Allowance for U.S. Appl. No. 12/400,645, mailed on Jan. 26, 2011, 14 pages.
217Notice of Allowance for U.S. Appl. No. 12/639,749, mailed on Feb. 11, 2011, 51 pages.
218Notice of Allowance for U.S. Appl. No. 12/639,762, mailed on Mar. 4, 2011, 7 pages.
219Notice of Allowance of U.S. Appl. No. 10/140,752, mailed Jul. 24, 2008, 14 pages.
220Notice of Allowance of U.S. Appl. No. 10/140,752, mailed Sep. 10, 2008, 4 pages.
221Requirement for Restriction/Election for U.S. Appl. No. 09/855,015, mailed Nov. 3, 2006, 6 pages.
222Requirement for Restriction/Election for U.S. Appl. No. 09/988,066, mailed Dec. 13, 2005, 7 pages.
223Requirement for Restriction/Election for U.S. Appl. No. 10/140,751, mailed Apr. 27, 2006, 5 pages.
224Requirement for Restriction/Election for U.S. Appl. No. 10/140,752, mailed May 18, 2006, 8 pages.
225Requirement for Restriction/Election for U.S. Appl. No. 10/438,545, mailed Oct. 31, 2003.
226Requirement for Restriction/Election for U.S. Appl. No. 11/000,359, mailed Jun. 20, 2008, 7 pages.
227Requirement for Restriction/Election for U.S. Appl. No. 11/118,697, mailed Jun. 2, 2009, 8 pages.
228Requirement for Restriction/Election for U.S. Appl. No. 11/668,322, mailed on Oct. 29, 2009, 6 pages.
229Requirement for Restriction/Election for U.S. Appl. No. 12/466,277, mailed on Aug. 9, 2011, 6 pages.
230Requirement for Restriction/Election for U.S. Appl. No. 12/639,749, mailed on Dec. 7, 2010, 3 pages.
231Satran et al., "Out of Order Incremental CRC Computation," IEEE Transactions on Computers, vol. 54, Issue 9 Sep. 2005), pp. 1178-1181.
232Spurgeon, C., "Éthernet, The Definitive Guide," O'Reilly & Associates, Inc., Sebastapol, CA, Feb. 2000.
233Supplemental Notice of Allowance for U.S. Appl. No. 09/855,015, mailed Feb. 4, 2008, 3 pages.
234The Tolly Group, "Foundry Networks, Inc.-BigIron 4000, Layer 2 & Layer 3 Interoperability Evaluation," No. 199133, Oct. 1999, 4 pages.
235The Tolly Group, "Foundry Networks, Inc.—BigIron 4000, Layer 2 & Layer 3 Interoperability Evaluation," No. 199133, Oct. 1999, 4 pages.
236The Tolly Group, "Foundry Networks, Inc.-BigIron 8000 Gigabit Ethernet Switching Router, Layer 2 & Layer 3 Performance Evaluation," No. 199111, May 1999, 4 pages.
237The Tolly Group, "Foundry Networks, Inc.—BigIron 8000 Gigabit Ethernet Switching Router, Layer 2 & Layer 3 Performance Evaluation," No. 199111, May 1999, 4 pages.
238U.S. Appl. No. 10/139,912, filed May 6, 2002, Davis et al.
239U.S. Appl. No. 10/140,749, filed May 6, 2002, Davis et al.
240U.S. Appl. No. 10/140,751, filed May 6, 2002, Davis et al.
241U.S. Appl. No. 10/140,752, filed May 6, 2002, Davis.
242U.S. Appl. No. 10/140,753, filed May 6, 2002, Davis et al.
243U.S. Appl. No. 10/141,223, filed May 7, 2002, Veerabadran et al.
244U.S. Appl. No. 10/810,208, filed Mar. 26, 2004, Wong et al.
245U.S. Appl. No. 10/832,086, filed Apr. 26, 2004, Wong.
246U.S. Appl. No. 11/118,697, filed Apr. 28, 2005, Singh.
247U.S. Appl. No. 11/586,991, filed Oct. 25, 2006, Ramanathan.
248U.S. Appl. No. 11/621,038, filed Jan. 8, 2007, Davis et al.
249U.S. Appl. No. 11/724,965.
250U.S. Appl. No. 11/779,714, filed Jul. 18, 2007, Wong et al.
251U.S. Appl. No. 11/828,246, filed Jul. 25, 2007, Davis.
252U.S. Appl. No. 11/831,950, filed Jul. 31, 2007, Ravindran et al.
253U.S. Appl. No. 11/953,742, filed Dec. 10, 2007, Wong et al.
254U.S. Appl. No. 11/953,743, filed Dec. 10, 2007, Wong et al.
255U.S. Appl. No. 11/953,745, filed Dec. 10, 2007, Wong et al.
256U.S. Appl. No. 11/953,751, filed Dec. 10, 2007, Wong et al.
257U.S. Appl. No. 12/198,697, filed Aug. 26, 2008, Hsu et al.
258U.S. Appl. No. 12/198,710, filed Aug. 26, 2008, Zhang et al.
259U.S. Appl. No. 12/372,390, filed Feb. 17, 2009, Chang et al.
260U.S. Appl. No. 12/400,594, filed Mar. 9, 2009, Patel et al.
261U.S. Appl. No. 12/400,645, filed Mar. 9, 2009, Patel et al.
262U.S. Appl. No. 12/417,913, filed Apr. 3, 2009, Patel et al.
263U.S. Appl. No. 12/466,277, filed May 14, 2009, Lin
264U.S. Appl. No. 12/505,390, filed Jul. 17, 2009, Patel et al.
265U.S. Appl. No. 12/608,972, filed Oct. 29, 2009, Wong.
266U.S. Appl. No. 12/608,985, filed Oct. 29, 2009, Wong
267U.S. Appl. No. 12/624,300, filed Nov. 23, 2009, Davis et al.
268U.S. Appl. No. 12/639,749, filed Dec. 16, 2009, Singh.
269U.S. Appl. No. 12/639,762, filed Dec. 16, 2009, Singh.
270U.S. Appl. No. 12/702,031, filed Feb. 8, 2010, Davis.
271U.S. Appl. No. 12/795,492, filed Jun. 7, 2010, Davis et al.
272U.S. Appl. No. 12/880,518, filed Sep. 13, 2010, Wong.
273U.S. Appl. No. 12/883,073, filed Sep. 15, 2010, Davis.
274U.S. Appl. No. 12/900,279, filed Oct. 7, 2010, Bansal et al.
275Written Opinion of the International Searching Authority for Application No. PCT/US2001/043113, mailed May 1, 2003, 6 pages.
Citada por
Patente citante Fecha de presentación Fecha de publicación Solicitante Título
US814983926 Ago 20083 Abr 2012Foundry Networks, LlcSelection of trunk ports and paths using rotation
US819466629 Ene 20075 Jun 2012Foundry Networks, LlcFlexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US82382557 Ago 2012Foundry Networks, LlcRecovering from failures without impact on data traffic in a shared bus architecture
US827185918 Jul 200718 Sep 2012Foundry Networks LlcSegmented CRC design in high speed networks
US844816227 Dic 200621 May 2013Foundry Networks, LlcHitless software upgrades
US849398813 Sep 201023 Jul 2013Foundry Networks, LlcMethod and apparatus for aggregating input data streams
US85998507 Ene 20103 Dic 2013Brocade Communications Systems, Inc.Provisioning single or multistage networks using ethernet service instances (ESIs)
US86712197 May 200711 Mar 2014Foundry Networks, LlcMethod and apparatus for efficiently processing data packets in a computer network
US871805129 Oct 20096 May 2014Foundry Networks, LlcSystem and method for high speed packet transmission
US873096126 Abr 200420 May 2014Foundry Networks, LlcSystem and method for optimizing router lookup
US881139029 Oct 200919 Ago 2014Foundry Networks, LlcSystem and method for high speed packet transmission
US898920216 Feb 201224 Mar 2015Foundry Networks, LlcPipeline method and system for switching packets
US903094312 Jul 201212 May 2015Foundry Networks, LlcRecovering from failures without impact on data traffic in a shared bus architecture
US911278013 Feb 201318 Ago 2015Foundry Networks, LlcTechniques for processing incoming failure detection protocol packets
US913716628 Ene 201015 Sep 2015Brocade Communications Systems, Inc.In-order traffic aggregation with reduced buffer usage
US916681818 Nov 201320 Oct 2015Brocade Communications Systems, Inc.Provisioning single or multistage networks using ethernet service instances (ESIs)
US931288315 Ene 201312 Abr 2016Altera CorporationHierarchical cyclic redundancy check circuitry
US933810024 Jun 201310 May 2016Foundry Networks, LlcMethod and apparatus for aggregating input data streams
US20110069711 *24 Mar 2011Brocade Communications Systems, Inc.PROVISIONING SINGLE OR MULTISTAGE NETWORKS USING ETHERNET SERVICE INSTANCES (ESIs)
US20110110237 *12 May 2011Foundry Networks, LlcMethod and Apparatus for Aggregating Input Data Streams
US20110182294 *28 Jul 2011Brocade Communications Systems, Inc.In-order traffic aggregation with reduced buffer usage
Clasificaciones
Clasificación de EE.UU.714/807, 714/821, 714/758
Clasificación internacionalG06F11/10
Clasificación cooperativaH03M13/091, H04L1/0043, H04L1/0061
Clasificación europeaH04L1/00B3H, H04L1/00B7E, H03M13/09B
Eventos legales
FechaCódigoEventoDescripción
18 Jul 2007ASAssignment
Owner name: FOUNDRY NETWORKS, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WONG, YUEN;ZHANG, HUI;REEL/FRAME:019572/0204
Effective date: 20070718
22 Dic 2008ASAssignment
Owner name: BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT, CAL
Free format text: SECURITY AGREEMENT;ASSIGNORS:BROCADE COMMUNICATIONS SYSTEMS, INC.;FOUNDRY NETWORKS, INC.;INRANGE TECHNOLOGIES CORPORATION;AND OTHERS;REEL/FRAME:022012/0204
Effective date: 20081218
Owner name: BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT,CALI
Free format text: SECURITY AGREEMENT;ASSIGNORS:BROCADE COMMUNICATIONS SYSTEMS, INC.;FOUNDRY NETWORKS, INC.;INRANGE TECHNOLOGIES CORPORATION;AND OTHERS;REEL/FRAME:022012/0204
Effective date: 20081218
20 Ene 2010ASAssignment
Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATE
Free format text: SECURITY AGREEMENT;ASSIGNORS:BROCADE COMMUNICATIONS SYSTEMS, INC.;FOUNDRY NETWORKS, LLC;INRANGE TECHNOLOGIES CORPORATION;AND OTHERS;REEL/FRAME:023814/0587
Effective date: 20100120
21 Jul 2010ASAssignment
Owner name: FOUNDRY NETWORKS, LLC, CALIFORNIA
Free format text: CHANGE OF NAME;ASSIGNOR:FOUNDRY NETWORKS, INC.;REEL/FRAME:024733/0739
Effective date: 20090511
21 Ene 2015ASAssignment
Owner name: BROCADE COMMUNICATIONS SYSTEMS, INC., CALIFORNIA
Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:034792/0540
Effective date: 20140114
Owner name: FOUNDRY NETWORKS, LLC, CALIFORNIA
Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:034792/0540
Effective date: 20140114
Owner name: INRANGE TECHNOLOGIES CORPORATION, CALIFORNIA
Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:034792/0540
Effective date: 20140114
22 Ene 2015ASAssignment
Owner name: FOUNDRY NETWORKS, LLC, CALIFORNIA
Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT;REEL/FRAME:034804/0793
Effective date: 20150114
Owner name: BROCADE COMMUNICATIONS SYSTEMS, INC., CALIFORNIA
Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT;REEL/FRAME:034804/0793
Effective date: 20150114
22 May 2015REMIMaintenance fee reminder mailed
29 Sep 2015FPAYFee payment
Year of fee payment: 4
29 Sep 2015SULPSurcharge for late payment