Recherche Images Maps Play YouTube Actualités Gmail Drive Plus »
Connexion
Les utilisateurs de lecteurs d'écran peuvent cliquer sur ce lien pour activer le mode d'accessibilité. Celui-ci propose les mêmes fonctionnalités principales, mais il est optimisé pour votre lecteur d'écran.

Brevets

  1. Recherche avancée dans les brevets
Numéro de publicationUS8401027 B2
Type de publicationOctroi
Numéro de demandeUS 12/237,546
Date de publication19 mars 2013
Date de dépôt25 sept. 2008
Date de priorité29 déc. 1995
État de paiement des fraisPayé
Autre référence de publicationUS6091725, US6798776, US7443858, US20090046734, WO1997024841A2, WO1997024841A3
Numéro de publication12237546, 237546, US 8401027 B2, US 8401027B2, US-B2-8401027, US8401027 B2, US8401027B2
InventeursDavid R. Cheriton, Andreas V. Bechtolsheim
Cessionnaire d'origineCisco Technology, Inc.
Exporter la citationBiBTeX, EndNote, RefMan
Liens externes: USPTO, Cession USPTO, Espacenet
Method for traffic management, traffic prioritization, access control, and packet forwarding in a datagram computer network
US 8401027 B2
Résumé
The invention provides an enhanced datagram packet switched computer network. The invention processes network datagram packets in network devices as separate flows, based on the source-destination address pair in the datagram packet. As a result, the network can control and manage each flow of datagrams in a segregated fashion. The processing steps that can be specified for each flow include traffic management, flow control, packet forwarding, access control, and other network management functions. The ability to control network traffic on a per flow basis allows for the efficient handling of a wide range and a large variety of network traffic, as is typical in large-scale computer networks, including video and multimedia traffic. The amount of buffer resources and bandwidth resources assigned to each flow can be individually controlled by network management. In the dynamic operation of the network, these resources can be varied—based on actual network traffic loading and congestion encountered. The invention also teaches an enhanced datagram packet switched computer network which can selectively control flows of datagram packets entering the network and traveling between network nodes. This new network access control method also interoperates with existing media access control protocols, such as used in the Ethernet or 802.3 local area network. An aspect of the invention is that it does not require any changes to existing network protocols or network applications.
Images(7)
Previous page
Next page
Revendications(16)
1. A method comprising:
receiving a plurality of flows, each flow comprising a plurality of packets, a first flow comprising a plurality of first packets, each first packet having the same source-destination address pair as the other first packets, a second flow comprising a plurality of second packets, each second packet having the same source-destination address pair as the other second packets; and
performing the following for each flow:
identifying a virtual path of a plurality of virtual paths for the each flow, each virtual path having a corresponding path record stored in a memory;
accessing the path record corresponding to the virtual path;
allocating one or more packet buffers to the each flow according to the corresponding path record;
determining, from a priority field of the path record of the virtual path of the first flow, a specific number of packets to send from the virtual path of the first flow before sending any packets from a next virtual path listed on a transmit list of virtual paths with packets pending for transmission, wherein the next virtual path is the virtual path of the second flow, the priority field of the path record designating the specific number;
sending the specific number of first packets before sending any of the second packets;
receiving a next packet;
determining that the next packet is not associated with a path record stored in the memory;
generating a new path record to process the next packet; and
storing the new path record in the memory, wherein if the memory has insufficient space to store the new path record, one or more of the plurality of path records are removed from the memory before storing the new path record.
2. The method of claim 1, further comprising:
receiving a next packet;
identifying a next virtual path of a plurality of virtual paths for the next packet; and
buffering the next packet in the one or more packet buffers allocated to the next virtual path.
3. The method of claim 1, the performing the following for each flow further comprising:
allocating bandwidth to the each flow according to the path record.
4. The method of claim 1, the performing the following for each flow further comprising:
controlling a flow between a plurality of network nodes according to the path record.
5. The method of claim 1, the performing the following for each flow further comprising:
selecting a multicast mode for the each flow according to the path record.
6. The method of claim 1, the performing the following for each flow further comprising:
selecting a snoop mode for the each flow according to the path record.
7. The method of claim 1, further comprising:
receiving a packet of a flow;
determining from the path record of the virtual path of the flow that the virtual path is in a snoop mode; and
sending a copy of the packet to a CPU for processing.
8. The method of claim 1, the performing the following for each flow further comprising:
selecting a priority for the each flow according to the path record.
9. An apparatus comprising:
one or more ports configured to receive a plurality of flows, each flow comprising a plurality of packets, a first flow comprising a plurality of first packets, each first packet having the same source-destination address pair as the other first packets, a second flow comprising a plurality of second packet, each second packet having the same source-destination address pair as the other second packets; and
switch hardware configured to perform the following for each flow:
identify a virtual path of a plurality of virtual paths for the each flow, each virtual path having a corresponding path record stored in a memory;
access the path record corresponding to the virtual path;
allocate one or more packet buffers to the each flow according to the corresponding path record;
determine, from a priority field of the path record of the virtual path of the first flow, a specific number of packets to send from the virtual path of the first flow before sending any packets from a next virtual path listed on a transmit list of virtual paths with packets pending for transmission, wherein the next virtual path is the virtual path of the second flow, the priority field of the path record designating the specific number;
send the specific number of first packets before sending any of the second packets;
receive a next packet;
determine that the next packet is not associated with a path record stored in the memory;
generate a new path record to process the next packet; and
store the new path record in the memory, wherein if the memory has insufficient space to store the new path record, one or more of the plurality of path records are removed from the memory before storing the new path record.
10. The apparatus of claim 9:
the one or more ports configured to:
receive a next packet; and
the switch hardware configured to:
identify a next virtual path of a plurality of virtual paths for the next packet; and
buffer the next packet in the one or more packet buffers allocated to the next virtual path.
11. The apparatus of claim 9, the switch hardware configured to perform the following for each flow:
allocate bandwidth to the each flow according to the path record.
12. The apparatus of claim 9, the switch hardware configured to perform the following for each flow:
control a flow between a plurality of network nodes according to the path record.
13. The apparatus of claim 9, the switch hardware configured to perform the following for each flow:
select a multicast mode for the each flow according to the path record.
14. The apparatus of claim 9, the switch hardware configured to perform the following for each flow:
select a snoop mode for the each flow according to the path record.
15. The apparatus of claim 9:
the one or more ports configured to:
receive a packet of a flow; and
the switch hardware configured to:
determine from the path record of the virtual path of the flow that the virtual path is in a snoop mode; and
send a copy of the packet to a CPU for processing.
16. The apparatus of claim 9, the switch hardware configured to perform the following for each flow:
select a priority for the each flow according to the path record.
Description
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 10/725,968 filed Dec. 2, 2003, now U.S. Pat. No. 7,443,858 issued Oct. 28, 2008, which is incorporated herein by reference and a continuation of U.S. patent application Ser. No. 09/482,940 filed Jan. 14, 2000, now U.S. Pat. No. 6,798,776 issued Sep. 28, 2004, which is incorporated herein by reference and a continuation of U.S. patent application Ser. No. 08/581,134 filed Dec. 29, 1995, now U.S. Pat. No. 6,091,725 issued Jul. 18, 2000, which is incorporated herein by reference.

TECHNICAL FIELD OF THE INVENTION

The present invention relates to the field of computer networks. More particularly, the present invention relates to the field of computer networks which are based on datagram packet switching.

BACKGROUND OF THE INVENTION

Computer Networks are used to interconnect computers and peripherals to allow them to exchange and share data such as files, electronic mail, databases, multimedia/video, and other data.

Packet Switching

Nearly all computer networks use packet switching, which divides longer units of data transfer into smaller packets which are sent separately over the network. This allows each packet to be processed independently from another packet without having to wait for the entire data transfer to be completed. It also enables communications between a plurality of computer systems to be intermixed on one network. Host interfaces connect the computer systems to a network allowing each computer system to act as the source and destination of packets on the network.

A first key issue in packet switched networks is addressing. The addressing in packet switched networks is conventionally performed by one of two approaches, known as virtual circuit packet switching or datagram, packet switching.

Virtual Circuit Packet Switching

In the virtual circuit approach, before any data can be transmitted, a virtual circuit must be first established along the path from the source to the destination in advance of any communication. After the virtual circuit is setup, the source can then send packets to the destination. Each packet in the virtual circuit approach has a virtual circuit identifier, which is used to switch the packet along the path from source to the destination.

The virtual circuit approach reduces the size of the identification required in each packet header. It also allows additional information about the packet handling to be established as part of the virtual circuit setup operation. Another claimed benefit is that forwarding and switching of virtual circuit packets can be made more efficient because of the virtual setup process. However, the virtual circuit approach incurs the cost of delay to setup the virtual circuit before sending any data, and it incurs the cost of maintaining the virtual circuit state in each network device along the virtual circuit path, even if a virtual circuit is idle. Also, in practice the memory space for virtual circuit state in network devices has limited the number of circuits that are available, which complicates the behavior of network nodes that need to create virtual circuits to communicate.

Datagram Packet Switching

In the datagram approach, each datagram packet is a self-contained unit of data delivery. A typical datagram packet includes a globally unique source address, a globally unique destination address, a protocol type field, a data field, and a cyclic redundancy checksum (“CRC”) to insure data integrity.

Datagrams can be sent without prior arrangement with the network, i.e. without setting up a virtual circuit or connection. Each network device receiving a datagram packet examines the destination address included in the datagram packet and makes a local decision whether to accept, ignore, or forward this packet.

Various conventional network devices learn information from observing datagram packet traffic in data networks. For example, a conventional network switch device that interconnects multiple network segments can “learn” the location of network stations connected to its ports by monitoring the source address of packets received on its ports. After it has associated a station address with a certain port, the network switch can then forward datagram packets addressed to that station to that port. In this type of device, the datagram source address is used to learn the location of a station on the network, whereas the forwarding decision is made on basis of the datagram destination address alone.

Datagram packet switching has the advantage that it avoids the overhead and cost of setting up virtual circuit connection in network devices. However, it incurs the expense of transmitting a larger packet header than required for virtual circuit switching, and it incurs the cost for processing this larger packet header in every network device to which it is delivered. Also, there is no virtual circuit setup process to establish additional information for datagram packet processing. Another disadvantage of datagram packet switching is that it is difficult to control packet flow to the same degree as with virtual circuits because there is, in the conventional case, no state in the network devices associated with the traffic flow.

The datagram packet switching approach has been extensively used in shared media local area networks. Shared media networks provide for a multiplicity of stations directly connected to the network, with the shared media providing direct access from any transmitter to any receiver. Since the receivers need to be able to distinguish packets addressed specifically to them, each receiver needs to have a unique address. In addition, since the unit of access to the shared medium is one packet, each packet needs to contain the unique address capable to identify the receiver. As a result, all commonly used local area networks are based on datagram packet switching and have no provisions for virtual circuit setup.

Media Access Control Protocol

The network access mechanism in shared media local area network will now be further described. This function, commonly known as the media access control or MAC protocol, defines how to arbitrate access among multiple stations that desire to use the network. Individual stations connected to the network have to adhere to the MAC protocol in order to allow proper network operation.

A number of different media access control protocols exist. The MAC protocol, in conjunction with the exact packet format, is the essence of what defines a local area network standard. The following is a brief overview of local area network standards that are in wide use today.

The most widely used local area network is commonly known as Ethernet and employs an access protocol referred to as Carrier Sense Multiple Access with collision Detection (CSMA/CD). [see U.S. Pat. No. 4,063,220, issued Dec. 13, 1977, for a Multipoint Data Communication System with Collision Detection, Inventors Metcalfe, Boggs, Thacker, and Lampson]. The current definition of the Ethernet CSMA/CD protocol is defined in IEEE Standard 802.3, published by the Institute of Electrical and Electronics Engineers, 345 East 45th Street, New York, N.Y. 10017. The Ethernet standard specifies a data transmission rate of 10 or 100 Megabits/second.

Another widely used local area network standard is Tokenring, also known as IEEE Std 802.5, transmitting at a speed of 4 or 16 Mbits/sec and FDDI or Fiber-Distributed-Data-Interface which sends data at a speed of 100 Mbits/sec. Both Tokenring and FDDI are based on a circulating token granting access to the network, although their respective datagram packet formats and other operating aspects are unique to each standard.

What is common to all these media access control mechanisms is that they do not include provisions for virtual circuit setup and have no provisions to specify attributes that relate to virtual circuits, such as traffic management or flow control for specific connections. This limits the ability of conventional local area networks to accommodate higher level network functions or to support virtual connection oriented traffic mechanisms.

Devices for Interconnecting Local Area Networks

Another key issue with datagram packet switched networks is how to interconnect individual network segments into larger networks. The size and usage of datagram packet switched networks has grown much beyond what was envisioned when these networks were designed. Devices such as bridges, switches, and routers, have been used to interconnect individual LAN segments into larger networks, but each have their own set of problems in scaling to higher performance.

Bridges forward datagram packets between network segments by learning the location of the devices on the network by observing the source address contained in datagram packets passing by. Once the bridge has learned which network device is located on which network segment, it can then forward datagram packets addressed to that network device to the appropriate network segment. One of the limitations of bridges is that they do not filter traffic beyond the data link level.

Switches are basically multi-port network bridges that can forward datagram packets among a multiplicity of network ports. Frequently, switches provide additional capabilities for assisting with network management, including traffic filtering and segmenting networks into virtual LANs. As in the case of bridges, switches have to forward broadcasts to all ports configured into one virtual LAN. In addition, conventional switches cannot provide fair service or priority service to individual traffic flows, and they require significant amount of memory to avoid dropping packets in the case of network congestion.

Routers also interconnect several network segments, but they operate primarily at the network protocol layer, rather than at the datagram packet layer. Routers participate in all network protocol functions, which traditionally requires general purpose processing. As a result, traditional routers are more expensive and have less throughput than switches. In addition they are more difficult to administer.

Finally, virtual circuit packet switched networks, in particular ATM, have been proposed to interconnect local area network segments. However, it has turned out to be very difficult to map existing network protocols that are based on datagram packets to the ATM network architecture.

In summary, bridges and switches transparently extend the domain of networks, and allow for cost-effective and high-performance implementations. However, they cannot segment a network effectively in terms of traffic management and broadcast traffic. Routers, on the other hand, can segment networks very effectively, but are much more expensive and are performance bottleneck in high-speed networks. ATM has been very difficult to map to current network protocols.

The ideal network device for interconnecting network segments would have the high-speed and cost-effectiveness of a switch, with the ability of segment and manage network traffic similar to a router.

Traffic Management

Another key issue in packet switched networks is traffic control or traffic management.

In a packet switched network, each link at every switching node in the network represents a queue. As the traffic arrival rate at a link approaches its transmission rate, the queue length grows dramatically and the data in the queue needs to be stored in the attached network nodes. Eventually, a network node will run out of packet buffer capacity which will cause further packets arriving to be discarded or dropped. Dropped packets are eventually retransmitted by the source, causing the traffic load to increase further. Eventually, the network can reach a state where most of the packets in the network are retransmissions.

Conventionally, two types of traffic control mechanism are used in packet switched networks: flow control and congestion control. Flow control is concerned with matching the transmission rate of a source station to the reception rate of a destination station. A typical networks flow control mechanism uses a window techniques to limit the number of packets a source can transmit which are not yet confirmed as having been received by the destination. Conventional flow control is an end-to-end mechanism that exists in certain network protocols, in particular connection oriented network protocols such as TCP/IP. However, conventional flow control between source and destination does not solve the network congestion problem, since it does not take the utilization of buffer resources within the network into account. In addition, non-connection oriented network protocols do not use window based flow control. Also, continuous rate traffic sources such as real-time video don't match the nature of destination controlled behavior since the transmission rate is determined by the source.

Problem Statement

What is needed is an improved method and apparatus for high-speed datagram packet switched networks that can support a large number of network stations, a wide range of network transmission speeds, a wide variety of source traffic behavior including video and multimedia, while maintaining compatibility with existing network protocols and applications.

SUMMARY OF THE INVENTION

Methods and apparatus for an enhanced datagram packet switched computer network are disclosed.

The invention processes network datagram packets in network devices as separate flows, based on the source-destination address pair contained in the datagram packet itself. As a result, the network can control and manage each flow of datagrams in a segregated fashion. The processing steps that can be specified for each flow include traffic management, flow control, packet forwarding, access control, and other network management functions.

The ability to control network traffic on a per flow basis allows for the efficient handling of a wide range and a large variety of network traffic, as is typical in large-scale computer networks, including video and multimedia type traffic.

The amount of buffer resources and bandwidth resources assigned to each flow can be individually controlled by network management. In the dynamic operation of the network, these resources can be varied based on actual network traffic loading and congestion encountered.

The invention also includes an enhanced network access control method which can selectively control flows of datagram packets entering the network and traveling between network nodes. This new network access control method interoperates with existing media access control protocols, such as used in the Ethernet or 802.3 local area network.

An important aspect of the invention is that it can be implemented in network switching devices at very high performance and at low cost. High performance is required to match the transmission speed of datagram packets on the network. Low cost is essential such that it is economical to use the invention widely.

In the preferred implementation, both high-performance and low cost is achieved by partitioning the task of datagram flow processing between dedicated network switch hardware and dedicated network switch software that executes on a high-speed controller CPU.

The network switch hardware provides a multiplicity of network ports, a shared memory buffer for storing datagram packets, a virtual path cache that stores the state and processing instructions specific to the active datagram packet flows.

Datagram packets received on an input port are buffered in the shared memory buffer. The source-destination address pair in the datagram packet header is used to index the virtual path cache to find a matching entry. If a matching entry is found in the virtual path cache, then the switch hardware performs all the packet processing steps indicated in the virtual path record, including traffic management and packet routing.

If no matching entry is found in the virtual path cache, then the datagram packet is forwarded to the controller CPU for general purpose processing. The controller CPU determines, through network management data structures and software, how to process further datagram packets with this source-destination address in the switch hardware. The controller CPU then loads an appropriate entry into the virtual path cache. If all entries in the virtual path cache are in use, then the CPU removes the least recently used entry before loading the new entry.

BRIEF DESCRIPTION OF THE DRAWINGS

Other features and advantages of the present invention will become more apparent to those skilled in the art from the following detailed description in conjunction with the appended drawings in which:

FIG. 1 is a block diagram of a computer communication system;

FIG. 2 is a block diagram of the Ethernet datagram packet format;

FIG. 3 illustrates the Virtual Path Record data structure;

FIG. 4 is a block diagram of the network switching device;

FIG. 5 is a flow diagram of the network switching device operation;

FIG. 6 is a block diagram of the virtual path cache;

FIG. 7 is a block diagram of the virtual path hash function; and

FIG. 8 is a block diagram of the transmit data structure.

DETAILED DESCRIPTION OF THE INVENTION

An enhanced computer network communication system is disclosed.

To help understand the invention, the following definitions are used:

A “datagram packet” is a self-contained unit of packet delivery on a packet switched network, which includes a destination address field, a source address field, an optional type field, and a data field.

The “destination address” and the “source address” refer to the physical network device addresses contained in a datagram packet, both of which are unique within a network.

A “flow” is a plurality of datagram packets each packet containing an identical source-destination address pair.

A “virtual path” is the communication path from a source to a destination in a datagram packet switched network.

In the following description, for purposes of explanation, specific numbers, times, signals, and other parameters are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to anyone skilled in the art that the present invention may be practiced without these specific details. In other instances, well known circuits and devices are shown in block diagram in order not to obscure the present invention unnecessarily.

The datagram packet switched communication system is illustrated in FIG. 1 by way of four network switching devices 101, 102, 103, and 104 interconnected with each other via backbone links 105, 106, 107, and 108. In addition, switch 103 is interconnected via links 110 through 112 to client computers 120 through 122, switch 104 is interconnected via links 113 through 115 to client computers 123 to 125 and switch 102 is interconnected via links 116 and 117 to server computers 126 and 127.

The network shown in FIG. 1 is small for purposes of illustration. In practice most networks would include a much larger number of host computers and network switching devices.

The basic unit of transmission and processing in this network is a datagram. For purposes of illustration, we will be using the Ethernet datagram packet format in this description. It will be apparent to anyone skilled in the art that other datagram packet formats can also be used to practice this invention, including the different datagrams described in the IEEE 802 family of network standards.

As illustrated in FIG. 2, the Ethernet datagram 200 contains a 48-bit destination address field 201, a 48-bit source address field 202, a 16-bit type field 203, a variable size data field 204 ranging from 46 bytes to 1500 bytes, and a 32-bit CRC field 205.

A key aspect of the present invention is the virtual path method. A virtual path is specified by the source-destination address pair contained in a datagram packet. In the Ethernet packet datagram, the source-destination address pair can be thought of as a 96-bit circuit identifier, which specifies a unidirectional circuit from the source to the destination. This 96-bit circuit identifier will subsequently be referred to as a virtual path in order to avoid confusion with virtual circuit networks. While this 96-bit virtual path identifier may appear large as compared to the much smaller circuit identifiers in virtual circuit networks, it has the significant advantage that it is globally unique and thus does not require to be mapped to different identifiers as a datagram packet travels along the path from source to destination.

Virtual Path Record

Each datagram packet arriving at a network switching device is recognized as traveling on a particular virtual path by the source-destination address pair contained in this header. The network switch maps this source-destination pair to a virtual path record in the switch. The virtual path record specifies how the datagram packet is to be processed, including its routing, priority, scheduling and buffer resource allocation.

FIG. 3 illustrates the data structure of the virtual path record.

It will be apparent to those skilled in the art that other data structures from the one shown can be successfully used, including but not limited to fields of different size, arranging the fields in different order, and additional fields not present in FIG. 3.

Turning now to the specific virtual path record illustrated in FIG. 3, there are four groups of fields: the tag field 310, the forwarding field 320, the state field 330, and the statistics field 340. The function and meaning of these fields will now be described.

Tag Field

The purpose of the tag field is to match an incoming datagram packet against a virtual path record. The tag field 310 has four subfields: the destination address field 311, the source address field 312, the optional type field 313, and the input port field 314.

Since the virtual path index is quite large, 96 bits in the case of Ethernet datagrams, it is not practical to provide a full array indexed by the virtual path number. Instead, each virtual path record is keyed with the virtual path number to allow lookup by search or partial index. One method for organizing the virtual path records and looking them up will be further described below.

For the lookup method to locate the correct virtual path record, the destination address field 311 and the source address field 312 in the virtual path record must match the destination address field 201 and the source address field 202 in the datagram header.

Type field 313 allows for optional type filtering. If the type field is set to 0, any type field 203 in the datagram header will match this virtual path record. However, if the type field is not 0, then the type field has to match the type field 203 in the datagram header exactly for the match to be successful.

The input port field 314 allows input port filtering. The input port field has to match the actual input port number at which the datagram packet has been received.

Forwarding Field

The forwarding field 320 determines how the datagram packet should Le forwarded. Output port field 321 specifies the output port on which this datagram will be transmitted. Priority field 322 specifies the traffic management priority of this virtual path compared to other virtual paths. Real time field 323 forces the switch to process this packet in real time mode, which includes the act of dropping the packet if it cannot be sent within a certain time.

Store Forward field 324 selects the store-forward mode of operation. Normally the switch operates in cut-through mode where an incoming datagram is sent on to the output port as soon as feasible, even before it is completely received. In store-forward mode, an incoming packet must be completely received before it is sent on. This is a requirement in case of speed conversion from a slower input port to a faster output port. Store-forward mode is also used to insure the correctness of the complete packet received before sending it on.

Multicast field 325 selects the multicast mode of operation. Multicast mode involves scheduling of a single datagram packet on multiple outputs, which are determined by a bit vector in the output port field, with “1” bits indicating output ports to which the Multicast should be sent.

Field 326 is the Snoop Mode. Snoop mode when selected sends a copy of the datagram packet to the CPU for general purpose processing.

Field 327 is the Buffer Size field, which specifies the maximum number of packet buffers allocated to this path for buffering purposes.

The state field 330, includes the following fields: Head Pointer Field 331, which points to the beginning of the buffer area associated with this virtual path; Tail Pointer 332 points to the end of the buffer area of this virtual path; Uplink Pointer 333 points to the next virtual path record to transmit to the source, downlink pointer 334 points to the next virtual path record to transmit to the destination.

The statistics field 340 maintains traffic statistics regarding the traffic received on this virtual path. Field 341 counts the number of packets received and field 342 counts the number of bytes received on this virtual path.

FIG. 4 Preferred Implementation

Referring to FIG. 4, a virtual path network switching device 400 is illustrated with Network Input Ports 401 through 404, network output ports 405 through 408, switch hardware 409, where shared buffer memory 410, controller CPU 411, CPU interface 412, CPU read-and-write memory 413, Flash PROM 414, and virtual path cache 415. Using FIG. 4 and the flow chart in FIG. 5, a cycle of operation will be described.

Datagram packets arriving through network ports 401 through 404 are temporarily stored in shared buffer memory 410. As soon as the datagram packet header has arrived, which in the case of Ethernet datagrams is after the first 14 bytes of the datagram packet, the virtual path cache is looked up to check whether a virtual path cache entry exists for this path. If a matching entry is found in the virtual path cache 415, then switch hardware 409 starts processing the datagram packet as specified in the virtual path cache entry which in the typical case will forward the datagram packet on one of the output ports 405 through 408.

If no entry matching the datagram was found in the virtual path cache 415, then the datagram packet is forwarded to controller CPU 411 via CPU interface 412 for general purpose processing. Controller CPU 411 processes datagram packet according to instructions and data stored in main memory 413 and optionally in Flash PROM 414. Said instructions and data structures used for datagram processing have been created previously by network management, network configuration, network statistics, and network behavior.

The result of the datagram general purpose processing is that the CPU determines how future datagram packets on this virtual path should be processed by the switch hardware 409 and loads an appropriate entry into the virtual path cache 415. If all entries in the virtual path cache 415 are in use, then controller CPU 409 removes the least recently used entry in virtual path cache 415 before loading the new entry. CPU 411 then forwards the datagram packet to the switch hardware 409 via CPU interface 412 for transmission.

When the controller CPU loads a new virtual path cache entry, it sets the tag field 310 to the desired virtual path index, the forwarding field 320 to the desired forwarding function, and it initializes the state field 330 and the statistics field 340. The switch hardware will then automatically update the state and the statistics fields as the path is used. The switch hardware does not modify the information in the tag field and the forwarding field.

FIG. 5 Flow Diagram

A method in accordance with this invention is shown in the flow diagram of FIG. 5.

    • 1. Packet Arrives at the invented system.
    • 2. Check Datagram Virtual Path Index against Virtual Path Cache.
    • 3. If valid virtual path entry is found, process packet in Switch Hardware which includes the steps of forwarding the datagram packet to output port and updating the statistics field 340.
    • 4. If No Entry is found, forward packet to Controller CPU to process datagram packet in software. Controller CPU sends datagram packet back to switch hardware for transmission on the appropriate output port.
    • 5. If Controller CPU determines that future datagram packets of this virtual path should be processed by switch hardware, Controller CPU then creates new virtual path record and writes it into virtual path cache, replacing the least recently used entry if necessary.
      Virtual Path Cache Organization

FIG. 6 illustrates an example of virtual path cache organization.

It will be apparent to anyone skilled in the art that other cache sizes and organizations from the one shown can be successfully used, including but not limited to caches of different size, associativity, alternative hash-function, and content-addressability.

The virtual path cache illustrated in FIG. 6 is organized as a 4-set associative cache built with four banks of high-speed static memory 601 through 604, each equipped with a set of comparators 611 . . . 614 that control a set of tri-state buffers 621 through 624.

The virtual path index 630, which is the source-destination address pair of the incoming datagram, enters hash function 631 which in turn produces a virtual patch cache index 632 which in turn looks up the four parallel sets of the virtual path cache SRAMs 601 through 604. The tag field 310 from each set of SRAMs will be compared against the virtual path index 630 and only that virtual path record that matches will be output on the virtual path record databus 633 via tri-state drivers 621 through 624. Combinatorial logic 634 will generate a high signal 635 to indicate a hit.

If no tag field matches, then combinatorial logic 634 will generate a low signal 635 to indicate a miss, i.e. that no valid virtual path record was found in the virtual path cache.

Hash Function

FIG. 7 illustrates a specific hash function embodied in hash function logic 631. Again, this hash function is used for illustration only. It will be apparent to anyone skilled in the art that other hash functions from the one shown can be used.

Referring now to FIG. 7, the specific hash function logic is the bitwise Exclusive-OR 703 between the low-order 15 bits of the destination address 701 and the source address 702 of the Virtual Path Index 630, producing the 15 bit virtual path cache index 632. A bit-wise Exclusive-OR function is used because it is simple and fast to implement. The low-order address bits are used from both source and destination address since they change with the highest frequency.

Packet Transmission

FIG. 8 shows a data structure that illustrates how an output port transmits datagram packets buffered in the switch shared memory. This particular structure design is for purposes of illustration only; it will be apparent to anyone skilled in the art that other data structures from the one shown can be used successfully.

The data structure in FIG. 8 is for one output port only. Referring briefly to FIG. 4, each output port 405 through 408 in the switch hardware 409 has a similar data structure to that shown in FIG. 8.

Output port 801 is to transmit datagrams buffered and waiting for transmission on virtual paths 810-1, 810-2 through 810-n, where n is a selected integer.

The output port 801 has a head pointer 802 and current pointer 803. Head pointer 802 points to the first entry 810-1 in the transmit list 804, which links to the next entry 810-2. Current pointer 803 points to the entry from which datagrams are to be transmitted next, which is virtual path 810-2 in this example. The transmit list 804 is formed by the link fields 811-1 through 811-n. Each link field points to the next path in the transmit list. The last link entry 811-n in the transmit list 804 has a link field value of O. The actual length of the transmit list 804 will vary as a function of the number of paths that have datagrams pending for transmission on output port 801. If no path is waiting to transmit on output port 801 then the value of both head pointer 802 and current pointer 803 is 0.

The next datagram to be sent on output port 801 is determined by current pointer 803 which points to the next entry in the transmit list 804 of linked virtual path entries. This method of organizing the output list 804 as a chain of all virtual paths waiting to transmit on output port 801 has the effect of giving round robin priority to datagram packets waiting to be transmitted from different virtual paths.

A mechanism is also provided to send datagram packets from selected virtual paths at a higher priority than other virtual paths. If the priority field 322 in the virtual path record 300 is set, then the value in the priority field 322 indicates the number of packets to be transmitted from a virtual path before transmitting a packet from the next path in the transmit list 804.

Overall Switch and Network Operation

Referring to FIGS. 1 through 8, the overall operation of the system shall now be described.

For purposes of illustration, assume that client station 120 (FIG. 1) wants to send a datagram packet 200 (FIG. 2) to server station 126. Datagram 200 will be received on switch input port 401 (FIG. 4). Switch hardware generates virtual path index 630 from the datagram destination and source address fields and sends virtual path index signals on bus 421 to virtual path cache 415 for lookup.

The virtual path index in cache 415 will be converted by hash logic 631 to a virtual path cache index 632 (FIGS. 6 and 7) that indexes the four set associative virtual path cache 601 through 604 (FIG. 6). The virtual path index is further compared in parallel against the outputs from the four set associate cache 601 through 604 via the four comparators 611 through 614. Assuming a valid virtual path tag was found in SRAM cache 601 then comparator 611 will indicate a “hit” signal on hit/miss wire 635 and enable tri-state buffer 621 to output the virtual path record stored in SRAM cache 601 on virtual path record bus 633.

Switch hardware 409 then forwards and processes the datagram packet according to the fields of the virtual path record on bus 633 (FIGS. 6 and 4). If the virtual path cache had not contained a valid virtual path cache entry then it would indicate “miss” on the hit/miss wire 635 (FIGS. 6 and 4). This causes the switch hardware to forward the packet to the CPU 411 via CPU interface 412 for processing. The controller CPU 411 then processes the packet in software and sends it back to the switch hardware 409 to output on the appropriate output port. If controller CPU 411 determines that future datagram packets of this virtual path should be processed by switch hardware, controller CPU 411 then creates a new virtual path record for said virtual path and writes it into virtual path cache 415 replacing the least recently used entry if necessary.

Several advantages flow from this invention. For example, the invented method and structure:

    • 1. supports reliable and efficient data communication in datagram networks without dropping datagram packets due to lack of network resources;
    • 2. allows the specification of the attributes of datagram packet flows similar to the capabilities available in a virtual circuit packet switched network, but without the disadvantages of having to set up, maintain, and tear down virtual circuits; and
    • 3. is compatible with existing network protocols and applications, and interoperates with the installed base of datagram network interfaces.

The other embodiments of this invention may be obvious to those skilled in the art. The above description is illustrative only and not limiting.

Citations de brevets
Brevet cité Date de dépôt Date de publication Déposant Titre
US413176722 févr. 197826 déc. 1978Bell Telephone Laboratories, IncorporatedEcho cancellation in two-wire, two-way data transmission systems
US41617194 oct. 197717 juil. 1979Ncr CorporationSystem for controlling synchronization in a digital communication system
US431628411 sept. 198016 févr. 1982Bell Telephone Laboratories, IncorporatedFrame resynchronization circuit for digital receiver
US439702013 oct. 19812 août 1983Bell Telephone Laboratories, IncorporatedError monitoring in digital transmission systems
US441972822 juin 19816 déc. 1983Bell Telephone Laboratories, IncorporatedChannel interface circuit providing virtual channel number translation and direct memory access
US442456522 juin 19813 janv. 1984Bell Telephone Laboratories, IncorporatedChannel interface circuit with high speed data message header field translation and direct memory access
US443708727 janv. 198213 mars 1984Bell Telephone Laboratories, IncorporatedAdaptive differential PCM coding
US443851110 nov. 198020 mars 1984Telebit CorporationPacketized ensemble modem
US44397633 sept. 198127 mars 1984Bell Telephone Laboratories, IncorporatedCollision avoiding system and protocol for a multiple access digital communications system
US444521322 janv. 198224 avr. 1984Bell Telephone Laboratories, IncorporatedCommunication line interface for controlling data information having differing transmission characteristics
US444655522 févr. 19821 mai 1984Michel DevaultTime division multiplex switching network for multiservice digital networks
US445695728 sept. 198126 juin 1984Ncr CorporationApparatus using a decision table for routing data among terminals and a host system
US44646585 mars 19827 août 1984At&T LaboratoriesMultipoint data communication system with collision detection
US449957613 août 198212 févr. 1985At&T Bell LaboratoriesMultiplexed first-in, first-out queues
US450635825 juin 198219 mars 1985At&T Bell LaboratoriesTime stamping for a packet switching system
US450776013 août 198226 mars 1985At&T Bell LaboratoriesFirst-in, first-out (FIFO) memory configuration for queue storage
US453262619 juil. 198230 juil. 1985At&T Bell LaboratoriesCollision avoiding system and protocol for a two path multiple access digital communications system
US464453210 juin 198517 févr. 1987International Business Machines CorporationAutomatic update of topology in a hybrid network
US46462877 déc. 198424 févr. 1987At&T Bell LaboratoriesIdle period signalling in a packet switching system
US46774236 janv. 198630 juin 1987American Telephone & Telegraph, At&T Bell LaboratoriesADPCM coder-decoder including partial band energy transition detection
US467918927 nov. 19857 juil. 1987American Telephone And Telegraph CompanyAlternate routing arrangement
US467922720 mai 19857 juil. 1987Telebit CorporationEnsemble modem structure for imperfect transmission media
US472326717 juin 19852 févr. 1988Octocom Systems, Inc.Telephone line interface and dialer circuitry for telecommunications equipment
US473181612 janv. 198715 mars 1988Telebit CorporationEnsemble modem structure for imperfect transmission media
US475013610 janv. 19867 juin 1988American Telephone And Telegraph, At&T Information Systems Inc.Communication system having automatic circuit board initialization capability
US47574955 mars 198612 juil. 1988Telebit CorporationSpeech and data multiplexor optimized for use over impaired and bandwidth restricted analog channels
US476319117 mars 19869 août 1988American Telephone And Telegraph Company, At&T Bell LaboratoriesDial-up telephone network equipment for requesting an identified selection
US476981031 déc. 19866 sept. 1988American Telephone And Telegraph Company, At&T Bell LaboratoriesPacket switching system arranged for congestion control through bandwidth management
US476981131 déc. 19866 sept. 1988American Telephone And Telegraph Company, At&T Bell LaboratoriesPacket switching system arranged for congestion control
US477142529 oct. 198413 sept. 1988Stratacom, Inc.Synchoronous packet voice/data communication system
US481922815 oct. 19874 avr. 1989Stratacom Inc.Synchronous packet voice/data communication system
US482741115 juin 19872 mai 1989International Business Machines CorporationMethod of maintaining a topology database
US48337065 janv. 198823 mai 1989Telebit CorporationEnsemble modem structure for imperfect transmission media
US483573721 juil. 198630 mai 1989American Telephone And Telegraph Company, At&T Bell LaboratoriesMethod and apparatus for controlled removal and insertion of circuit modules
US487955126 avr. 19857 nov. 1989International Business Machines CorporationSwitching array with concurrent marking capability
US489330610 nov. 19879 janv. 1990Bell Communications Research, Inc.Method and apparatus for multiplexing circuit and packet traffic
US49032619 mars 198820 févr. 1990Stratacom, Inc.Synchronous packet voice/data communication system
US492248631 mars 19881 mai 1990American Telephone And Telegraph CompanyUser to network interface protocol for packet communications networks
US493393723 nov. 198712 juin 1990Kabushiki Kaisha ToshibaNetwork adapter for connecting local area network to backbone network
US49603104 août 19892 oct. 1990Optical Corporation Of AmericaBroad band nonreflective neutral density filter
US496249721 sept. 19899 oct. 1990At&T Bell LaboratoriesBuilding-block architecture of a multi-node circuit-and packet-switching system
US496253222 déc. 19889 oct. 1990Ibm CorporationMethod for providing notification of classified electronic message delivery restriction
US496577215 juin 198723 oct. 1990International Business Machines CorporationMethod and apparatus for communication network alert message construction
US497067828 juin 198813 nov. 1990International Business Machines CorporationSystem for providing context-sensitive on-line documentation in a data processor
US497911810 mars 198918 déc. 1990Gte Laboratories IncorporatedPredictive access-control and routing system for integrated services telecommunication networks
US498089712 août 198825 déc. 1990Telebit CorporationMulti-channel trellis encoder/decoder
US49911692 août 19885 févr. 1991International Business Machines CorporationReal-time digital signal processing relative to multiple digital communication channels
US500359529 août 198926 mars 1991At&T Bell LaboratoriesSecure dial access to computer systems
US5014265 *30 nov. 19897 mai 1991At&T Bell LaboratoriesMethod and apparatus for congestion control in a data network
US502005823 janv. 198928 mai 1991Stratacom, Inc.Packet voice/data communication system having protocol independent repetitive packet suppression
US503307631 janv. 199016 juil. 1991At&T Bell LaboratoriesEnhanced privacy feature for telephone systems
US505403415 juin 19891 oct. 1991Telebit CorporationEnsemble modem structure for imperfect transmission media
US505992528 sept. 199022 oct. 1991Stratacom, Inc.Method and apparatus for transparently switching clock sources
US507244915 févr. 199010 déc. 1991Stratacom, Inc.Packet framing using cyclic redundancy checking
US508803229 janv. 198811 févr. 1992Cisco Systems, Inc.Method and apparatus for routing communications among computer networks
US509548016 juin 198910 mars 1992Fenner Peter RMessage routing system for shared communication media networks
US511543128 sept. 199019 mai 1992Stratacom, Inc.Method and apparatus for packet communications signaling
US512894531 oct. 19917 juil. 1992Stratacom, Inc.Packet framing using cyclic redundancy checking
US513658016 mai 19904 août 1992Microcom Systems, Inc.Apparatus and method for learning and filtering destination and source addresses in a local area network system
US515387719 avr. 19906 oct. 1992Kabushiki Kaisha ToshibaPacket network with communication resource allocation and call set up control of higher quality of service
US516693017 déc. 199024 nov. 1992At&T Bell LaboratoriesData channel scheduling discipline arrangement and method
US519904927 avr. 199030 mars 1993At&T Bell LaboratoriesCircuit and method of digital carrier detection for burst mode communication systems
US520688616 avr. 199027 avr. 1993Telebit CorporationMethod and apparatus for correcting for clock and carrier frequency offset, and phase jitter in mulicarrier modems
US52088111 nov. 19904 mai 1993Hitachi, Ltd.Interconnection system and method for heterogeneous networks
US521268629 sept. 198918 mai 1993Plessey Overseas LimitedAsynchronous time division switching arrangement and a method of operating same
US522409917 mai 199129 juin 1993Stratacom, Inc.Circuitry and method for fair queuing and servicing cell traffic using hopcounts and traffic classes
US522612021 mai 19906 juil. 1993Synoptics Communications, Inc.Apparatus and method of monitoring the status of a local area network
US522806227 mai 199213 juil. 1993Telebit CorporationMethod and apparatus for correcting for clock and carrier frequency offset, and phase jitter in multicarrier modems
US522999427 sept. 199120 juil. 1993Alcatel CitBridge for connecting an ieee 802.3 local area network to an asynchronous time-division multiplex telecommunication network
US52375645 avr. 199117 août 1993France TelecomFrame switching relay for asynchronous digital network
US524168218 avr. 199131 août 1993International Business Machines CorporationBorder node having routing and functional capability in a first network and only local address capability in a second network
US524334222 juil. 19927 sept. 1993Stratacom, Inc.Integrated PCM level control and conversion using a lookup table
US524359618 mars 19927 sept. 1993Fischer & Porter CompanyNetwork architecture suitable for multicasting and resource locking
US524561429 avr. 199114 sept. 1993Codex CorporationVocabulary memory allocation for adaptive data compression of frame-multiplexed traffic
US524751628 mars 199121 sept. 1993Sprint International Communications Corp.Configurable composite data frame
US524917826 juil. 199128 sept. 1993Nec CorporationRouting system capable of effectively processing routing information
US524929210 mars 199228 sept. 1993Chiappa J NoelData packet switch using a primary processing unit to designate one of a plurality of data stream control circuits to selectively handle the header processing of incoming packets in one data packet stream
US52532518 janv. 199212 oct. 1993Nec CorporationSwitching system with time-stamped packet distribution input stage and packet sequencing output stage
US525529114 nov. 198819 oct. 1993Stratacom, Inc.Microprocessor based packet isochronous clocking transmission system and method
US526093315 mai 19929 nov. 1993International Business Machines CorporationAcknowledgement protocol for serial data network with out-of-order delivery
US526097830 oct. 19929 nov. 1993Bell Communications Research, Inc.Synchronous residual time stamp for timing recovery in a broadband network
US526859226 févr. 19917 déc. 1993International Business Machines CorporationSequential connector
US52689005 juil. 19917 déc. 1993Codex CorporationDevice and method for implementing queueing disciplines at high speeds
US527100427 août 199114 déc. 1993Gpt LimitedAsynchronous transfer mode switching arrangement providing broadcast transmission
US527463111 mars 199128 déc. 1993Kalpana, Inc.Computer network switching system
US527463518 nov. 199228 déc. 1993Stratacom, Inc.Method and apparatus for aligning a digital communication data stream across a cell network
US527464311 déc. 199228 déc. 1993Stratacom, Inc.Method for optimizing a network having virtual circuit routing over virtual paths
US52804703 févr. 199318 janv. 1994At&T Bell LaboratoriesBandwidth and congestion management in accessing broadband ISDN networks
US528048021 févr. 199118 janv. 1994International Business Machines CorporationSource routing transparent bridge
US528050010 oct. 199118 janv. 1994Crescendo Communications, Inc.Method and apparatus for multilevel encoding for a local area network
US528378328 janv. 19931 févr. 1994Synoptics Communications, Inc.Apparatus and method of token ring beacon station removal for a communication network
US528710330 déc. 199115 févr. 1994At&T Bell LaboratoriesMethod and apparatus for providing local area network clients with internetwork identification data
US528745318 sept. 199015 févr. 1994Bull Hn Information Systems, Inc.Fast remote file access facility for distributing file access requests in a closely coupled computer system
US52875357 mai 199215 févr. 1994Fujitsu LimitedSwitching node in label multiplexing type switching network
US529144231 oct. 19901 mars 1994International Business Machines CorporationMethod and apparatus for dynamic cache line sectoring in multiprocessor systems
US529148224 juil. 19921 mars 1994At&T Bell LaboratoriesHigh bandwidth packet switch
US5305311 *20 mai 199219 avr. 1994Xerox CorporationCopy network providing multicast capabilities in a broadband ISDN fast packet switch suitable for use in a local area network
US530734327 nov. 199026 avr. 1994Italtel Societa Italiana Telecommunicazioni S.P.A.Basic element for the connection network of a fast packet switching node
US530943729 juin 19903 mai 1994Digital Equipment CorporationBridge-like internet protocol router
US53115096 févr. 199210 mai 1994International Business Machines CorporationConfigurable gigabits switch adapter
US53134541 avr. 199217 mai 1994Stratacom, Inc.Congestion control for cell networks
US531358230 avr. 199117 mai 1994Standard Microsystems CorporationMethod and apparatus for buffering data within stations of a communication network
US53175627 mai 199331 mai 1994Stratacom, Inc.Method and apparatus for routing cell messages using delay
US531964421 août 19927 juin 1994Synoptics Communications, Inc.Method and apparatus for identifying port/station relationships in a network
US532550430 août 199128 juin 1994Compaq Computer CorporationMethod and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system
US53274216 nov. 19925 juil. 1994At&T Bell LaboratoriesApparatus for interfacing between telecommunications call signals and broadband signals
US533163730 juil. 199319 juil. 1994Bell Communications Research, Inc.Multicast routing using core based trees
US533522430 juin 19922 août 1994At&T Bell LaboratoriesService guarantees/congestion control in high speed networks
US53454456 nov. 19926 sept. 1994At&T Bell LaboratoriesEstablishing telecommunications calls in a broadband network
US53454466 nov. 19926 sept. 1994At&T Bell LaboratoriesEstablishing telecommunications call paths in broadband communication networks
US534764230 nov. 198913 sept. 1994Nec Electronics Inc.Cache memory management unit
US535959225 juin 199325 oct. 1994Stratacom, Inc.Bandwidth and congestion control for queue channels in a cell switching communication controller
US53612503 nov. 19931 nov. 1994Synoptics Communications, Inc.Apparatus and method of token ring beacon station removal for a communication network
US536125627 mai 19931 nov. 1994International Business Machines CorporationInter-domain multicast routing
US536125919 févr. 19931 nov. 1994American Telephone And Telegraph CompanyWide area network (WAN)-arrangement
US53655246 nov. 199215 nov. 1994At&T Bell LaboratoriesEstablishing telecommunications call paths between clustered switching entities
US536751716 déc. 199222 nov. 1994International Business Machines CorporationMethod and system of requesting resources in a packet-switched network with minimal latency
US537185214 oct. 19926 déc. 1994International Business Machines CorporationMethod and apparatus for making a cluster of computers appear as a single host on a network
US538656714 oct. 199231 janv. 1995International Business Machines Corp.Hot removable and insertion of attachments on fully initialized computer systems
US539017029 juin 199314 févr. 1995Synoptics Communications, Inc.Method and apparatus providing for bootstrapping of switches in an ATM network or the like
US539017520 déc. 199314 févr. 1995At&T CorpInter-cell switching unit for narrow band ATM networks
US5392280 *7 avr. 199421 févr. 1995Mitsubishi Electric Research Laboratories, Inc.Data transmission system and scheduling protocol for connection-oriented packet or cell switching networks
US539439424 juin 199328 févr. 1995Bolt Beranek And Newman Inc.Message header classifier
US539440210 juin 199428 févr. 1995Ascom Timeplex Trading AgHub for segmented virtual local area network with shared media access
US53944088 févr. 199328 févr. 1995Nec CorporationPolicing control apparatus
US540032529 juin 199321 mars 1995Synoptics Communications, Inc.Method and apparatus providing for hunt groups in an ATM network of the like
US540846922 juil. 199318 avr. 1995Synoptics Communications, Inc.Routing device utilizing an ATM switch as a multi-channel backplane in a communication network
US541684210 juin 199416 mai 1995Sun Microsystems, Inc.Method and apparatus for key-management scheme for use with internet protocols at site firewalls
US541892230 avr. 199223 mai 1995International Business Machines CorporationHistory table for set prediction for accessing a set associative cache
US5420858 *5 mai 199330 mai 1995Synoptics Communications, Inc.Method and apparatus for communications from a non-ATM communication medium to an ATM communication medium
US54228805 avr. 19936 juin 1995Stratacom, Inc.Broadband switching fabric in a communication controller
US542288220 déc. 19936 juin 1995At&T Corp.ATM networks for narrow band communications
US542300228 févr. 19946 juin 19953Com CorporationSystem for extending network resources to remote networks
US542663620 déc. 199320 juin 1995At&T Corp.ATM distribution networks for narrow band communications
US542663714 déc. 199220 juin 1995International Business Machines CorporationMethods and apparatus for interconnecting local area networks with wide area backbone networks
US542860720 déc. 199327 juin 1995At&T Corp.Intra-switch communications in narrow band ATM networks
US543071515 sept. 19934 juil. 1995Stratacom, Inc.Flexible destination address mapping mechanism in a cell switching communication controller
US54307294 avr. 19944 juil. 1995Motorola, Inc.Method and apparatus for adaptive directed route randomization and distribution in a richly connected communication network
US543278426 juil. 199311 juil. 1995Digital Equipment CorporationFlow control method and apparatus for systems with long distance links
US544245711 janv. 199315 août 1995Najafi; HamidMulti-line pooling facsimile apparatus
US544262429 oct. 199315 août 1995At&T Corp.Dynamic access control for an ATM network
US544263025 mai 199115 août 1995Gagliardi; Ugo O.ISDN interfacing of local area networks
US54444916 déc. 199422 août 1995Massachusetts Institute Of TechnologyTelevision system with multiple transmission formats
US545040620 avr. 199412 sept. 1995Kabushiki Kaisha ToshibaATM communication system with high speed connection-less service function
US545229720 déc. 199319 sept. 1995At&T Corp.Access switches for large ATM networks
US547359922 avr. 19945 déc. 1995Cisco Systems, IncorporatedStandby router protocol
US54736079 août 19935 déc. 1995Grand Junction Networks, Inc.Packet filtering for data networks
US547754113 déc. 199319 déc. 1995White; Richard E.Addressing technique for storing and referencing packet data
US548364026 févr. 19939 janv. 19963Com CorporationSystem for managing data flow among devices by storing data and structures needed by the devices and transferring configuration information from processor to the devices
US548545528 janv. 199416 janv. 1996Cabletron Systems, Inc.Network having secure fast packet switching and guaranteed quality of service
US549014030 sept. 19946 févr. 1996International Business Machines CorporationSystem and method for providing ATM support for frame relay DTEs with a terminal adapter
US549025829 sept. 19926 févr. 1996Fenner; Peter R.Associative memory for very large key spaces
US549168728 sept. 199413 févr. 1996International Business Machines CorporationMethod and system in a local area network switch for dynamically changing operating modes
US54918044 janv. 199113 févr. 1996International Business Machines Corp.Method and apparatus for automatic initialization of pluggable option cards
US549736815 août 19945 mars 1996Koninklijke Ptt Nederland N.V.Routing method for a hierarchical communications network, and a hierarchical communications network having improved routing
US54992384 nov. 199412 mars 1996Electronics And Telecommunications Research InstituteAsynchronous transfer mode (ATM) multiplexing process device and method of the broadband integrated service digital network subscriber access apparatus
US55047473 mars 19932 avr. 1996Apple Computer, Inc.Economical payload stream routing in a multiple-ring network
US550900618 avr. 199416 avr. 1996Cisco Systems IncorporatedApparatus and method for switching packets using tree memory
US551749430 sept. 199414 mai 1996Apple Computer, Inc.Method and system of multicast routing for groups with a single transmitter
US551970421 avr. 199421 mai 1996Cisco Systems, Inc.Reliable transport protocol for internetwork routing
US551985810 janv. 199221 mai 1996Digital Equipment CorporationAddress recognition engine with look-up database for storing network information
US552399920 mars 19954 juin 1996Fujitsu LimitedPacket data switching system
US552648919 mars 199311 juin 19963Com CorporationSystem for reverse address resolution for remote network device independent of its physical address
US552859227 janv. 199418 juin 1996Dsc Communications CorporationMethod and apparatus for route processing asynchronous transfer mode cells
US553096316 déc. 199325 juin 1996International Business Machines CorporationMethod and system for maintaining routing between mobile workstations and selected network workstation using routing table within each router device in the network
US553303319 déc. 19942 juil. 1996The United States Of America As Represented By The Director, National Security AgencyDevice for and method of correcting errors in formatted modem transmissions
US55351956 mai 19949 juil. 1996Motorola, Inc.Method for efficient aggregation of link metrics
US553973421 juil. 199423 juil. 1996Newbridge Networks CorporationMethod of maintaining PVC status packetized communication system
US554191112 oct. 199430 juil. 19963Com CorporationRemote smart filtering communication management system
US554637029 juil. 199413 août 1996Olympus Optical Co., Ltd.Compact apparatus having bidirectional motion for loading/unloading an information recording medium
US555524430 juin 199410 sept. 1996Integrated Network CorporationScalable multimedia network
US555774722 juin 199317 sept. 1996Rogers; Lawrence D.Network policy implementation system for performing network control operations in response to changes in network state
US556166926 oct. 19941 oct. 1996Cisco Systems, Inc.Computer network switching system with expandable number of ports
US556617029 déc. 199415 oct. 1996Storage Technology CorporationMethod and apparatus for accelerated packet forwarding
US558386228 mars 199510 déc. 1996Bay Networks, Inc.Method and apparatus for routing for virtual networks
US55838651 juin 199510 déc. 1996Kabushiki Kaisha ToshibaATM communication system with high speed connection-less service function
US559247021 déc. 19947 janv. 1997At&TBroadband wireless system and network architecture providing broadband/narrowband service with optimal static and dynamic bandwidth/channel allocation
US55985816 août 199328 janv. 1997Cisco Sytems, Inc.Variable latency cut through bridge for forwarding packets in response to user's manual adjustment of variable latency threshold point while the bridge is operating
US560079826 oct. 19934 févr. 1997International Business Machines CorporationSystem and method for controlling LAN data flow control through a frame relay network by end point station transmitting notification to LAN stations based on congestion notification from the frame relay network
US560486825 juin 199118 févr. 1997Fujitsu LimitedCommunication system using establishing network route
US560872625 avr. 19954 mars 1997Cabletron Systems, Inc.Network bridge with multicast forwarding table
US56089085 oct. 19954 mars 1997Lucent Technologies Inc.Process control system responsive to device events
US561090428 mars 199511 mars 1997Lucent Technologies Inc.Packet-based telecommunications network
US56148912 juin 199525 mars 1997Prince CorporationVehicle accessory trainable transmitter
US56174177 sept. 19941 avr. 1997Stratacom, Inc.Asynchronous transfer mode communication in inverse multiplexing over multiple communication links
US561742117 juin 19941 avr. 1997Cisco Systems, Inc.Extended domain computer network using standard links
US562562227 déc. 199529 avr. 1997Lucent Technologies Inc.Apparatus and method for a generalized leaky bucket
US5627821 *15 mars 19956 mai 1997Hitachi, Ltd.Defect notification method in a multipoint ATM network
US563012523 mai 199413 mai 1997Zellweger; PaulMethod and apparatus for information management using an open hierarchical data structure
US563202125 oct. 199520 mai 1997Cisco Systems Inc.Computer system with cascaded peripheral component interconnect (PCI) buses
US563401021 oct. 199427 mai 1997Modulus Technologies, Inc.Managing and distributing data objects of different types between computers connected to a network
US563835914 déc. 199310 juin 1997Nokia Telecommunications OyMethod for congestion management in a frame relay network and a node in a frame relay network
US5640389 *15 août 199517 juin 1997Oki Electric Industry Co., Ltd.Traffic shaper and packet communication apparatus
US564471810 nov. 19941 juil. 1997At&T CorporationApparatus using circuit manager to associate a single circuit with each host application where the circuit is shared by a plurality of client applications
US56447513 oct. 19941 juil. 1997International Business Machines CorporationDistributed file system (DFS) cache management based on file access characteristics
US56596843 févr. 199519 août 1997Isdn Systems CorporationMethods and apparatus for interconnecting personal computers (PCs) and local area networks (LANs) using packet protocols transmitted over a digital data service (DDS)
US566635321 mars 19959 sept. 1997Cisco Systems, Inc.Frame based traffic policing for a digital switch
US567326529 avr. 199630 sept. 1997Integrated Network CorporationScalable multimedia network
US5675742 *26 juin 19957 oct. 1997Digital Equipment CorporationSystem for setting congestion avoidance flag at intermediate node to reduce rates of transmission on selected end systems which utilizing above their allocated fair shares
US56780061 févr. 199614 oct. 1997Cisco Systems, Inc.Network switch having network management agent functions distributed among multiple trunk and service modules
US568011622 déc. 199421 oct. 1997Nec CorporationStatic routing system
US568479725 oct. 19954 nov. 1997International Business Machines CorporationATM cell multicasting method and apparatus
US568950616 janv. 199618 nov. 1997Lucent Technologies Inc.Multicast routing in multistage networks
US56943906 sept. 19942 déc. 1997Kabushiki Kaisha ToshibaMethod and apparatus for controlling congestion in communication network
US56995321 mai 199616 déc. 1997International Business Machines CorporationDynamic multipath channel interface for input/output channels
US57481862 oct. 19955 mai 1998Digital Equipment CorporationMultimodal information presentation system
US57486171 mai 19965 mai 1998Mci CorporationMethod and apparatus for emulating a digital cross-connect switch network
US575476823 juil. 199619 mai 1998International Business Machines CorporationSystem for selectively and cumulatively grouping packets from different sessions upon the absence of exception condition and sending the packets after preselected time conditions
US5757771 *14 nov. 199526 mai 1998Yurie Systems, Inc.Queue management to serve variable and constant bit rate traffic at multiple quality of service levels in a ATM switch
US580205415 août 19961 sept. 19983Com CorporationAtomic network switch with integrated circuit switch nodes
US58357105 sept. 199710 nov. 1998Kabushiki Kaisha ToshibaNetwork interconnection apparatus, network node apparatus, and packet transfer method for high speed, large capacity inter-network communication
US584204018 juin 199624 nov. 1998Storage Technology CorporationPolicy caching method and apparatus for use in a communication device based on contents of one data unit in a subset of related data units
US585698115 mai 19975 janv. 1999Lucent Technologies Inc.Reliable connection oriented networks
US586208330 avr. 199619 janv. 1999Hitachi, Ltd.Information processing system
US589292431 janv. 19966 avr. 1999Ipsilon Networks, Inc.Method and apparatus for dynamically shifting between routing and switching packets in a transmission network
US590355920 déc. 199611 mai 1999Nec Usa, Inc.Method for internet protocol switching over fast ATM cell transport
US609172529 déc. 199518 juil. 2000Cisco Systems, Inc.Method for traffic management, traffic prioritization, access control, and packet forwarding in a datagram computer network
US634332227 juil. 199829 janv. 2002Kabushiki Kaisha ToshibaIP over ATM system using control messages to set up cut-through paths or bypass pipes in routers
US659089414 janv. 20008 juil. 2003Cisco Technology, Inc.Network flow switching and flow data export
US2001005186521 mars 200113 déc. 2001Cisco Systems, Inc.Network flow switching and flow data export
EP0384758A222 févr. 199029 août 1990Kabushiki Kaisha ToshibaCall admission control method and cell flow monitoring method in the same method
EP0431751A12 nov. 199012 juin 19913Com IrelandRepeaters for secure local area networks
EP0567217A212 mars 199327 oct. 19933Com CorporationSystem of extending network resources to remote networks
Citations hors brevets
Référence
1Allen, M., "Novell IPX Over Various WAN Media (IPXWAN),"Network Working Group, RFC 1551, Dec. 1993, pp. 1-22.
2Chowdhury, et al. "Alternative Bandwith Allocation," 1992, IEEE Infocom '92, pp. 1061-1068.
3Chowdhury, et al., "Alternative Bandwidth Allocation Algorithms for Packet Video in ATM Networks," INFOCOM 1992, pp. 1061-1068.
4Doeringer, et al., "Routing on Longest-Matching Prefixes," IEEE Transactions on Networking, vol. 4, No. 1, Feb. 1996, pp. 86-97.
5Doeringer, W., "Routing on Longest-Matching Prefixes," IEEE/ACM Transactions in Networking, vol. 4, No. 1, Feb. 1996, pp. 86-97.
6Esaki, et al., "Datagram Delivery in an ATM-Internet," 2334b IEICE Transactions on Communications, Mar. 1994, No. 3, Tokyo, Japan.
7Esaki, et al., "Datagram Delivery in an ATM-Internet," IEICE Transactions on Communications vol. E77-B, No. 3, Mar. 1994, Tokyo, Japan.
8IBM Corporation, "Method and Apparatus for the Statistical Multiplexing of Voice, Data and Image Signals," IBM Technical Disclosure Bulletin, No. 6, Nov. 1992, pp. 409-411.
9IBM, "Method and Apparatus for the Statistical Multiplexing of Voice, Data, and Image Signals", Nov. 1992, IBM Technical Data Bulletin n6 Nov. 1992, pp. 409-411.
10Pei, et al., "Putting Routing Tables in Silicon," IEEE Network Magazine, Jan. 1992, pp. 42-50.
11Perkins, D., "Requirements for an Internet Standard Point-to-Point Protocol," Network Working Group, RFC 1547, Dec. 1993, pp. 1-19.
12Simpson, W., "The Point-to-Point Protocol (PPP)," Network Working Group, RFC 1548, Dec. 1993, pp. 1-53.
13Tsuchiya, P.F., "A Search Algorithm for Table Entries with Non-Contiguous Wildcarding," Abstract, Bellcore.
14William Stallings, Data and Computer Communications, pp. 329-333, Prentice Hall, Upper Saddle River, New Jersey 07458.
15Zhang, et al. "Rate-Controlled Static-Priority Queueing," 1993, IEEE, pp. 227-236.
16Zhang, et al., "Rate-Controlled Static-Priority Queueing," INFOCOM 1993, pp. 227-236.
Référencé par
Brevet citant Date de dépôt Date de publication Déposant Titre
US917881711 oct. 20133 nov. 2015Jeda Networks, Inc.Methods, systems and apparatus for converged network adapters
US917882118 juil. 20143 nov. 2015Jeda Networks, Inc.Methods, systems and apparatus for the interconnection of fibre channel over Ethernet devices using a fibre channel over Ethernet interconnection apparatus controller
US917894412 juil. 20123 nov. 2015Jeda Networks, Inc.Methods, systems and apparatus for the control of interconnection of fibre channel over ethernet devices
US917896911 oct. 20133 nov. 2015Jeda Networks, Inc.Methods, systems and apparatus for the servicing of fibre channel login frames
US95158446 janv. 20146 déc. 2016Jeda Networks, Inc.Methods, systems and apparatus for the interconnection of fibre channel over Ethernet devices
US9516489 *20 févr. 20156 déc. 2016Samsung Electronics Co., Ltd.Method of searching for device between electronic devices
US20150245194 *20 févr. 201527 août 2015Samsung Electronics Co., Ltd.Method of searching for device between electronic devices
Classifications
Classification aux États-Unis370/397, 370/412, 370/236, 370/231
Classification internationaleH04L12/46, H04L12/54, H04L29/02
Classification coopérativeH04L12/4645, H04L12/4608
Événements juridiques
DateCodeÉvénementDescription
19 sept. 2016FPAYFee payment
Year of fee payment: 4