Abstract:
A plurality of end devices are coupled via a shared port to an asynchronous network in which traffic is carried in cells. A cell multiplexer is disposed between the devices and the port and is adapted to multiplex cells from the devices to the port in the order in which they are received by the multiplexer. The multiplexer broadcasts cells received from the network to all of the devices. Each said device is allocated a respective VCI so that it can identify its own cells from the broadcast cells.

Description:
This invention relates to distributed data processing systems in which a number of data processing elements are interconnected via a network and in particular to an arrangement and method for providing access to the network. 
     BACKGROUND OF THE INVENTION 
     Distributed data processing systems are widely used e.g. in networked computer applications. In such systems a plurality of workstations can access one or more servers to utilise data and or applications stored thereon. The network interconnecting the various system elements may comprise a dedicated network, or, more advantageously, a non-dedicated telecommunications network having appropriate bandwidth for carrying data traffic. A recent development in telecommunications technology has been the introduction of the asynchronous transfer mode (ATM) transmission protocol. In an ATM system, digitised traffic is packed into cells each containing a header portion containing ATM virtual channel information indicative of the desired packet destination. This virtual channel information is mapped to an ATM address by the ATM switching network. The cells are routed across the ATM network and are subsequently unpacked to recover the data. Because the cells are assembled in an essentially asynchronous manner, the process is particularly advantageous for the transport of data or other information that is of a non-uniform or `bursty` nature. 
     Attempts to introduce ATM technology to distributed data processing systems have not been entirely successful for a number of reasons. Firstly, there is the problem of initial attachment of an end system to the network. In a conventional ATM network, every end system requires a unique address for receiving cells and must also access the network management system so that the launch of completed cells into the network from that end system can be controlled. This discovery and booting of an end system currently requires manual intervention which is slow and costly for a network operator and is inconvenient for the customer. Secondly, there is a requirement for an interface between the end system and the ATM network. In current systems this requires the provision of a network interface for every end system requiring access to the network. Building a full ATM interface on each end system is expensive as a large volume of software is required on the end system. 
     In an attempt to address these problems it has been proposed that a proxy signalling provision in the ATM UNI version 4.0 Standard would allow a third party to perform Q.2931 signalling on behalf of an end system. However, this proposal still requires manual intervention to set up this feature as a special service and it requires manually provisioning a virtual channel (VC) from the proxy to the end system to instruct the end system on which virtual channel indicator (VCI) it should respond to. A further proposal requires the use of established addresses and ILMI protocols to discover a newly connected end system. However, this requires that the end system is self booting and has a Q.2391 protocol stack thus resulting in a relatively complex and costly arrangement. 
     SUMMARY OF THE INVENTION 
     An object of the invention is to minimize or to overcome these disadvantages. 
     It is a further object of the invention to provide a distributed data processing system in which a plurality of end systems can share a common network port. 
     According to the one aspect of the invention there is provided an arrangement for coupling a plurality of devices via a shared port to an asynchronous network in which traffic is carried in cells, the arrangement comprising a cell multiplexer disposed between the devices and the port and adapted to multiplex cells from the devices to the port in the order in which they are received by the multiplexer, wherein the multiplexer is adapted to broadcast cells received from the network to all of the devices, and wherein each said device has cell recognition means for identifying in the cell broadcast those cells intended for that device. 
     According to another aspect of the invention there is provided a method of coupling a plurality of devices via a shared port to an asynchronous network in which traffic is carried in cells, the method comprising multiplexing cells from the devices to the port in the order in which they are received from the devices, broadcasting cells received from the network to all of the devices, and determining at each said device which of the broadcast cells are intended for reception by that device. 
     The arrangement avoids the requirement for complex management software such as Q.2931 on the device. The device controllers a provide proxy signalling function which is fault-tolerant because both master and spare device controllers are connected to the device and the control and proxy signalling VCs are dynamically allocated. 
     In our arrangement, a simple device protocol is used to add dedicated resource devices into the network and to control them. This protocol is designed for: 
     Simple message semantics not requiring a device to maintain state information; 
     Single cell messaging; and 
     Genericity in which messages are generic for any resource device. 
     The simple device protocol allows the devices to act as autonomous ATM end-systems by: 
     a) Using SDP address registration to acquire an ATM address. 
     b) Using SDP metasignalling to acquire an ATM standard signalling VCI. The standard VCI cannot be used because the VCI is shared between the devices, and ATM standard signalling messages are multi-cell messages which could become hopelessly interleaved by the cell multiplexer. Each device therefore needs a separate VCI for signalling. 
     c) Using SDP triggering and connection set-up to connect to a remote device controller that can make the device appear intelligent to the network by using the proxy signalling mechanism. 
     d) Using SDP virtual register access to tell a device which VCI to listen to for bearer traffic. This VCI would not be shared with other devices. The cell multiplexer will broadcast the cells to other devices, but they will only accept cells from VCIs that they have been told to accept. 
     The signalling proxy, i.e. the device controller sends signalling messages to devices via the proxy signalling VCI (PSVCI). From previous steps in the process, the device receiving the proxy signalling message has already been instructed as to what the PSVCI is and that it used metasignalling to determine the correct standard signalling VCI to use. The device then knows to take cells from the PSVCI, translate the VCI in the header to the standard signalling (Q.2931) VCI, and send those cells to the ATM network. As far as the ATM network is aware, these cells appear to have come from the corresponding device as they have been received over the standard signalling VCI. 
     The arrangement allows a plurality of end systems to share an ATM VPI/VCI number space and an ATM network link, yet still behave as autonomous end systems. This allows the number of end systems provided on a network to be increased without the need to increase the number of network ports. The arrangement further obviates the need to provide the end system with protocol stacks and with significant intelligence. 
     Reference is here directed to our copending application Ser. No. 08/768,948 (J Godse et al. 2-1) of even date which relates to an arrangement and method for the automatic discovery and booting of an end system coupled to an ATM network. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     An embodiment of the invention will now be described with reference to the accompanying drawings in which: 
     FIG. 1 is a schematic view of an ATM network structure incorporating an end user connection arrangement according to the invention; 
     FIG. 2 illustrates the use of the network of FIG. 1 to provide interconnection between data terminals to provide a distributed data processing network; 
     FIG. 3 illustrates the physical architecture of the arrangement of FIG. 2; 
     FIG. 4 illustrates the logical architecture of the arrangement of FIG. 2; 
     FIG. 5 illustrates the software architecture of the various types of end system units employed in the network arrangement of FIG. 2; 
     FIG. 6 illustrates the operation of a broadcast root module in the arrangement of FIG. 2; 
     FIG. 7 illustrates the general construction of a broadcast node for use in the root module of FIG. 6; 
     FIGS. 8a and 8b illustrate respectively the downstream and upstream functionality of the broadcast node of FIG. 7; 
     FIG. 9 illustrates a typical configuration of broadcast nodes within the root module of FIG. 6; 
     FIGS. 10 to 14 illustrate a messaging sequence employed on plug-in of a module into the network arrangement of FIG. 2; 
     FIG. 15 illustrates in schematic form a procedure for end system registration in the network arrangement of FIG. 2; 
     FIG. 16 illustrates an ATM registration protocol used in the connection of an end system to the network arrangement of FIG. 2; 
     FIG. 17 shows a message sequence chart corresponding to the protocol of FIG. 16; 
     FIG. 18 illustrates a single cell connection protocol used in the connection of an end system; and 
     FIGS. 19 and 20 are message sequence charts illustrating respectively the set-up protocol and the disconnect protocol associated with the single cell connection protocol of FIG. 18. 
    
    
     DESCRIPTION OF PREFERRED EMBODIMENT 
     Referring first to FIG. 1, there is shown in highly schematic form a communications network arrangement in which an ATM network or cluster 11 provides communications paths between a variety of entities coupled to the cluster. Thus, network communication may be provided between voice terminals 12 via voice interfaces 13, between video terminals 14 via video interfaces 15, and between data terminals 16 and data resource devices 17, collectively referred to end systems, via data interfaces or root modules 18. The interfaces 13, 15 and 18 assemble traffic into cells for launch into the cluster 11 and unpack cells received from the cluster for delivery to an appropriate destination. The ATM cluster 11 requires little intelligence and functions primarily as a transmission pipeline providing communications paths of appropriate capacity on demand. The cluster 11 has no knowledge of the nature of the traffic contained in the transported cells but merely delivers these cells to the respective interface determined by the cell address headers. In the following description reference will be made to the provision of data communication via the cluster, but it will be understood that the cluster will not in general carry this type of traffic to the total exclusion of other types of traffic. 
     Referring now to FIG. 2, the ATM cluster 11 has a number of access ports 21 at least some of which are provided with a respective data access interface or root module 18. Each root module provides an interface between the ATM cluster and one or more resource devices or end systems 17 to provide access to those devices from customer terminals. Typically each resource device performs a single function requires no complex software. Devices sharing a port share a VPI/VCI channel space. 
     The network arrangement also incorporates an intelligent node 22 having memory facilities 221 and complex software facilities 222 and to which a device controller 23 is coupled. This device controller acts on behalf of the resource devices 17 when interacting with other system entities and functions as a virtual entity that communicates with the system manager 24. A pair of virtual channels (VCs) is provided between the device controller 23 and each resource device 16 One of these virtual channels, VCa, is used for control purposes and the other, VCb, is available for proxy signalling. A schematic description of the proxy signalling procedure is shown in FIG. 3. The device controller signals on behalf of the resource device such that the network thinks that the resource device itself is performing the signalling. In a preferred arrangement, a reserve device controller (not shown) may be provided to maintain service to customers in the event of failure of the main device controller. 
     The physical and logical structure of the ATM network arrangement of FIG. 2 are shown respectively in FIG. 4 and FIG. 5. As shown in FIG. 4, each root module 13 provides a coupling between the ATM cluster 11 and a number of end systems 17 each comprising e.g. a dedicated service module 171 or an access module 172. Each root module 13 functions essentially as an ATM switching node to provide ATM-UNI services to the modules or end systems to which it is connected and is coupled to one or more ATM switches 31 forming part of the ATM cluster 11. Further, each root module 13 can comprise either a switching root module or a broadcast root module. A switching root module is essentially an ATM switch. The functionality of a broadcast root module will be described below. 
     In the physical architecture of FIG. 3, the dedicated service modules 171 each perform a specific dedicated function e.g. digital signal processing. The access modules 172 provide external access to the network and convert external formats to the ATM format. 
     The network may also provide access to a number of general purpose computer units or servers 32 one or more of which may be dedicated to the provision of a single service. These general purpose computer units may be coupled directly to the ATM cluster 11 via respective ATM switches 31. 
     The system is managed by a system manager (SM) which resides on one of the computer units or servers 32 and performs the following functions: 
     Discovery Management 
     The discovery manager accepts identification in the form of IAm messages and activates the appropriate virtual entity. 
     Downloading 
     The downloader incorporates software or data loads. It downloads various end systems. One downloader is required on the main system manager, but others may exist elsewhere in the network. 
     Management Unit 
     This is constituted by a system manager resident proxy managed object (PMO), a device controller or real time managed object (RMO) and a hardware device. The PMO is responsible for downloading the device, activating its device controller and connecting the device controller to the device. 
     The corresponding logical architecture is shown in FIG. 4 and comprises four principal services. 
     1. An ATM service comprising ATM transport and ATM connection management is provided by the root modules 18 
     2. Access services to the ATM cluster are provided by the access modules 172. 
     3. Dedicated resources comprising specialised services for the network are provided the dedicated service modules 171. Connection to these services is effected only via the ATM network. 
     4. General purpose computing services are provided on demand via the servers 32. 
     A software architecture for the various types of end system or module employed in the network arrangement is shown schematically in FIG. 5. Each end system incorporates a set of software modules which, together with the system hardware components, provide an ATM based dynamically reconfigurable distributed computing system. These software modules are detailed below. 
     ATM network services include end system registration, connection set-up and ATM cell transport. 
     The operating system (OS) provides operating system functionality. 
     The ATM driver interfaces to the ATM network and assigns connections to higher layers. 
     The system communications (SC) provides transport and locator services over ATM, including the ability to address software entities uniquely over a multi-node network. This communications module is provided only in the computing units of the system. 
     The simple device protocol (SDP) is a single cell protocol used to control access and resource devices. Applications trying to communicate with these devices use SDP to bypass the system communications. 
     Applications comprise the value added software of the network and use the system communications for most purposes. Those applications that need to communicate directly to access or resource modules use the simple device protocol. 
     The functionality of a broadcast root module referred to above is illustrated in FIG. 6. Referring to this figure, a broadcast root module 13b provides an interface to a number of end systems 17 so as to route ATM cells from each end system to a respective port 21 on the ATM cluster and so as to broadcast cells from that port to the connected end system. Each end system sees both its own incoming cells and those intended for the other end systems connected to the broadcast root module. 
     SDP cells broadcast by the broadcast root module on the metasignalling and discovery VCls are sent to all devices on the broadcast root module. All of the devices receive the SDP cells, but filter them in only if the MAC field in the SDP message matches either that of the device or that of a well-known system MAC. 
     The broadcast root module can be considered as a switching element (SE) of the ATM cluster 11. From the point of view of the root module, the module is effectively a port on the cluster. From the point of view of the ATM cluster, the root module has the following attributes and interacts with the cluster in the following way. 
     1. The module is effectively a switching element that shares one VPI/VCI address space among its ports. I.e. the broadcast module functions as an end system multiplexer. 
     2. Because of the shared address space, the network provides a metasignalling protocol that accepts single cell requests for a signalling VC and returns the virtual channel indicator (VCI) to be used for signalling. 
     3. The network manages alternate routing of VCs to the redundant network links of the root module. 
     4. The provisioning and configuration of the root module is effected as part of the ATM cluster network element provisioning protocol. 
     The metasignalling protocol referred to above is a simple interface that accepts a single cell from the single cell connection protocol (S-Set-up) request on the single cell signalling VC (SCVCI) to connect to a ESA MSESA. It returns a VCI to be used for standard ATM signalling. Because many systems may be on a broadcast root module, and therefore share a VPI/VCI address space, the MAC address of each end system is always included. The switch controller sets up a VC to the end system, transmits the end system VCI back to the end system, and records which end system maps to which signalling channel on the switch controller. 
     Referring now to FIGS. 7, 8a, 8b and 9, these illustrate the general functionality of a broadcast node and its use in a broadcast root module. The general detail of the broadcast node is illustrated in FIG. 7. The node provides sequential multiplexing of cells in the upstream direction and broadcast of cells in the downstream direction. The processing of upstream and downstream cells between upstream and downstream termination devices 71,72 is controlled via a common bus cell flow controller 73. Typically the node supports the full-duplex band width of the upstream link and requires no routing tables or other state information. Advantageously, the broadcast node operates as a stand-alone device, e.g. in a backplane to replicate a single link to multiple links. 
     FIGS. 8a and 8b illustrate the transport of upstream and downstream cells between a plurality of end systems 81 attached to a broadcast root module and an upstream end system (UES) 82, via a tree structure comprising a number of broadcast nodes 83. Each end system 81 functions as a consumer/generator of cells at the downstream (leaf) of the network, and the upstream end system 82 functions as a consumer/generator of cells at the upstream (root) of the network. In this arrangement, cell routing is directional at each broadcast node 83 and does not require switching tables or any other initialisation. In the downstream direction, all end systems receive all cells which are broadcast down all links at each broadcast node. In the upstream direction, the end system 83 receives upstream cells which are sequentially multiplexed on to a single link at each broadcast node. 
     FIG. 9 shows a typical modular arrangement of broadcast nodes. In this arrangement the end systems, which are regarded as cell users, may each comprise a computing resource such as an access port. At the upstream end, the link towards the network may be from another broadcast node, i.e. not directly to a switch. 
     A messaging sequence for use on plug-in of a module to the network is illustrated in FIGS. 10 to 14. In simple terms, the plugging in of a module initiates the following process steps. 
     1. Connect to the load mapper (LM) which tells the end system where to connect its software load. 
     2. The end system is connected to the software downloader or boot loader (BL) for downloading. 
     3. The load mapper tells the end system where to connect to its resource manager. 
     4. The end system is connected to the resource manager which determines the location of the appropriate device controller and passes this information to the end system. 
     5. The end system connects to the device controller. 
     6. The device controller tells the end system to acquire VCs for proxy signalling for default connection to the spare device controller. 
     In the above message sequence, device initiated connection set-ups are effected via a single cell connection protocol. 
     As discussed above, the ATM service of our network arrangement supports a simple single cell connection protocol which is intended for use by dedicated resource devices to access necessary services. The basic functionality is similar to the Q.2931 signalling protocol and supports the following messages. 
     SSetup(Sbaddress, Device MAC, VirtualRegNum, B-HLI, ESA) This message is used to connect to an endpoint. The device MAC and the VirtualRegNum fields are saved in the connection context by the switch controller and they are echoed back to the device. The ATM cluster sends a Q.2931 Set-up( ) message to the destination. 
     SConnect(Sbaddress, Device MAC, VirtualRegNum, VPI/VCI) This message tells the device to listen to a particular VPI/VCI for a particular service on the device (VirtualRegNum). The device MAC ensures that only the target device listens to the VPI/VCI. The VirtualRegNum is the same one that was passed in the Set-up() message. 
     SDisconnect(Sbaddress, Device MAC, VirtualRegNum, VPI/VCI) This message tells the device to disconnect from the VPI/VCI identified in a VirtualRegNum. The device can also use it to disconnect a VC. The ATM cluster sends a normal Q.2931 Disconnect() message to the destination. 
     When an end system is connected to or plugged into the network, a registration procedure ensures its discovery by the network and provides the end system with its end system address. This is illustrated schematically in FIG. 15. On connection to the network, an end system sends a message to the ATM port, using e.g. the ILMI protocol on VCI 16, and receives a reply containing the address allocated to the end system. This is the address which other systems will use to communicate with the end system. This mechanism is specified in the ATM Forum UNI specification, but the mechanism employs a single cell protocol rather than the standard ILMI protocol. 
     The registration protocol is illustrated in more detail in FIG. 16 and in the accompanying message sequence chart of FIG. 17. Referring to these two figures, the ATMRegister() message is filled in with the MAC address of the resource device and the message is sent. An ATMRegisterAck() message is returned with the end system address of the end system. The registration is performed on SCVC1 that connects to the controller of the root module. 
     The single cell connection protocol whereby a resource device sets up simple connections is illustrated in FIG. 18. Corresponding message sequence charts for set-up and disconnection are shown in FIGS. 19 and 20 respectively. The messaging is performed on SCVC1 and comprises the following message set. 
     SSetup() is sent to connect a service via a virtual register number to a service access point {B-HLI, ESA}. 
     SConnect() is received for determining the VPI/VCI for the service (Register number). 
     SDisconnect is sent or received to disconnect a service (on the VPI/VCI). 
     The arrangement provides an effective method of providing multiple end system access to a common port of an ATM network without the need for extensive modification of an existing network. Although the technique is of particular application to the provision of a distributed computer system, it is of course by no means limited to this particular application.