EP0561381A2

Network architecture suitable for multicasting and resource locking.

Abstract

A data communications network in which multiple host processors are linked in a ring network by respective network interface processors or nodes includes circuitry in each of the nodes which aids in the implementation of a distributed resource locking scheme and a reliable multicasting system. The circuitry includes a packet generator which automatically generates specialized packets that are used to procure resource locks and to implement the multicast system. In addition, the node includes circuitry which may be used to modify the contents of a received packet and circuitry which automatically retransmits the packet onto the network. The node is controlled by a set of state machines which implement the resource locking and multicasting protocols. In addition, the nodes include circuitry which detects congestion in the node and in the network and acts automatically to relieve the congestion. This circuitry notifies other nodes when a receive queue in the node is almost full so that the other nodes can suspend communications with the node. Other circuitry detects when the node is unable to transmit a message to cause the node to allocate an owned packet which may be used only by the node to transmit data.

EP0561381A2, drawing sheet 1
Sheet 1 of 25

Term

Term ended

Projected expiry passed 17 March 2013, 13.5 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

26 claims: 5 independent, 21 dependent

  1. 1
    A network interface processor suitable for use in coupling a host processor to a packet switched data communications network which conveys packets having a type field, a source network address field and an identifier field, wherein the network interface processor has a unique address, the network interface processor comprising:means for receiving a packet from the network;memory means for holding a plurality of data values representing values which may be held in the identifier field of the packet;means for comparing the source address field of the received packet to the address of the network interface processor to generate a packet source control value;means for determining if the identifier field of the received packet matches one of the values held in the memory means to generate an in-memory control value;and    packet forwarding means, responsive to the type field, to the packet source control value and to the in-memory control value, for conditionally changing the type field of the received packet and transmitting the packet onto the network.
  2. 15
    A method of controlling congestion in a packet-switched communication system which includes a plurality of host computers, each coupled to a respective network interface processor, wherein the network interface processors are interconnected via a network and each network interface processor includes a receive buffer, the method comprising the steps of:receiving packets from the network at one of the network interface processors, which packets are addressed to the one network interface processor;storing the received packets in the receive buffer;detecting when the receive buffer contains a number of packets greater than a predetermined high threshold value to produce a high status signal;and    responsive to the high status signal, transmitting a stop packet onto the network to cause all of the other network interface processors to suspend transmission of packets addressed to the one network interface processor.
  3. 18
    A method of controlling congestion in a packet-switched data communications system which includes a plurality of host computers, each coupled to a respective network interface processor, wherein the network interface processors are interconnected via a network for transferring packets of data among the host computers, each network interface processor includes a transmit queue which holds packets to be transmitted onto the network, a transfer packet buffer which holds a single packet received from the network, that is to be transmitted onto the network and an auxiliary transfer packet buffer, and each packet has an owned packet field, the method comprising the steps of:a) detecting, at one of the network interface processors, that at least one of the transfer buffer and the transmit queue of the one network interface processor is full for a predefined amount of time to generate an ownership control value;b) conditionally storing a packet received from the network to in the auxiliary transfer buffer responsive to the ownership control value;c) responsive to the ownership control value, storing a value in the owned packet field of a next packet to be transmitted from the transmit queue to indicate that the packet is for exclusive use of the one network interface processor;d) responsive to the ownership control value, transmitting the next packet in the transmit queue onto the network.
  4. 21
    Apparatus which controls congestion in a packet-switched communication system that includes a plurality of host computers, each coupled to a respective network interface processor, wherein the network interface processors are interconnected via a network and each network interface processor includes a receive buffer, the apparatus comprising:means for receiving packets from the network at one of the network interface processors;means for storing received packets addressed to the one network interface processor in the receive buffer;means for detecting when the receive buffer contains a number of packets greater than a predetermined high threshold value to produce a high status signal;and    means, responsive to the high status signal, for transmitting a stop packet onto the network to cause all of the other network interface processors to suspend transmitting pending packets addressed to the one network interface processor.
  5. 24
    Apparatus which controls congestion in a packet-switched data communications system that includes a plurality of host computers, each coupled to a respective network interface processor, wherein the network interface processors are interconnected via a network for transferring packets of data among the host computers, each network interface processor includes a transmit queue which holds at least one packet to be transmitted onto the network and a transfer packet buffer which holds a single packet received from the network, that is to be transmitted onto the network, said apparatus being coupled to each network interface processor and comprising:an auxiliary transfer packet buffer for holding a further packet which is received from the network;means for detecting that the transfer buffer has not had available space sufficient to hold one packet for a predefined amount of time, to generate an ownership control value;means, responsive to the ownership control value, for conditionally storing a packet received from the network into the auxiliary transfer buffer;packet modifying means, responsive to the ownership control value, for modifying the packet in the transmit queue to indicate that the packet in the transmit queue is reserved for exclusive use of the network interface processor;packet transmission means, responsive to the ownership control value, for transmitting the modified packet onto the network.