ATM NETWORK SWITCH HAVING ENHANCED CALL SETUP CAPABILITY

Abstract: An ATM network switch (100) includes a plurality of slot controllers (112a-h) each coupled to a switch fabric (114) and an external link (116a-h). In addition, each slot controller (112a-h) is coupled to a system controller (122) via a LAN (120). A processor of each slot controller (112a-h) is programmed to forward Q.2931 messages to the system controller (122) via the LAN (120) and to receive information from the system controller (122) via the LAN (120). The system controller (122) is programmed to interpret the Q.2931 messages, update the routing tables of the slot controllers (112a-h) via the LAN (120), and forward a packet containing the Q.2931 messages to an appropriate slot controller (112a-h) via the LAN (120) whereafter the slot controller (112a-h) assembles ATM cells containing the Q.2931 messages for transmission.

Description: ATM NETWORK SWITCH HAVING ENHANCED CALL SETUP CAPABILITY This application is related to U.S. Serial Number 08/624,812, the complete disclosure of which is hereby incorporated by reference herein in its entirety. BACKGROUND OF THE INVENTION 1. Field of the Invention The invention relates to asynchronous transfer mode (ATM) switches. More particularly, the invention relates to an ATM switch having enhanced call setup capability . 2. State of the Art A typical ATM network switch is shown in prior art Figure 1. The switch 10 in Figure 1 includes eight data processing modules or "slot controllers" 12a-12h and a cross-connect switch 14. Each slot controller is bidirectionally connected to at least one external data link lβa-lβh. Each data link couples the switch 10 to another node (switch) in the ATM network. In addition, each slot controller 12a-12h is bidirectionally coupled to the cross-connect switch 14 as indicated by the links 18a-18h. In operation, ATM data enters the switch 10 via one of the links 16a-16h and either terminates in the switch (in the case of data for the switch of data for a local user) or exits the switch through another one of the links lβa-lβh. The ATM data consists of well defined cells of fifty-three bytes each. The first five bytes of an ATM cell are overhead bytes which include addressing information and the remaining forty-eight bytes is the payload. The addressing information is in the form of a virtual path indicator (VPl) and a virtual channel indicator (VCI) . When a cell enters the switch through a link lβa-lβh, the slot controller 12a-12h coupled to the link examines the VPl/VCI data for the cell and determines where the cell should be sent via the switch fabric 14. More particularly, the slot controller compares the VPl/VCI data to a routing table in the SUBSTTTUTE SHEET (RULE 26) slot controller in order to determine which other slot controller in the switch should receive the cell. For example, an ATM cell entering the switch via slot controller 12a will be examined by the slot controller 12a which will compare the VPI/VCI of the cell to a routing table in the slot controller 12a. Based on the information in the routinbg table, the slot controller 12a will append a switch fabric destination code to the cell (or will otherwise modify the address header of the cell) and will then send the cell into the switch fabric 14. The switch fabric 14 uses the destination code (or otherwise modified VPI/VCI) to route the cell to another slot controller, e.g. 12h, for further transmission through the network. When the slot controller 12h receives the cell from the switch fabric, it reads the modified VPI/VCI, compares it to a routing table in the slot controller 12h, modifies the VPI/VCI according to its table, and sends the cell onto the network via the link lβh. The above described ATM switch operation provides a virtual circuit connection between a calling party and a called party. In order for the virtual circuit connection to operate, each switch in the virtual circuit must know where to route cells received from the calling party and the called party. Thus, in order to establish a virtual circuit connection between a calling party and a called party, each switch in the virtual circuit must be provided with the necessary information about the route through which data will be sent. Establishment of a virtual circuit connection is accomplished via "call setup signalling". Examples of different call setup signalling methods are disclosed in previously incorporated U.S. Serial Number 08/624,812. In general, however, the signalling process involves the transmission of "special" ATM cells which contain the call setup information rather than "call data", i.e. data exchanged between a calling party and a called party, in their payload. According to various ATM standards adopted by ANSI or the ITU and/or proposed by the ATM Forum, protocols are provided for determining when one or more ATM cells contain payload information other than "call data", e.g. call setup information or other "signalling" information. In addition, various ATM standards also provide protocols for interpreting signalling information including call setup information. Turning now to prior art Figure 2, the various signalling protocols the ATM standard are often referred to as "layers" since they build upon the ATM cell by adding additional protocol coding. The first layer is referred to as the ATM Adaptation Layer (AAL) which provides a protocol for encoding the header of an ATM cell to indicate the presence of signalling data in the payload. The AAL protocol has several versions, e.g. AAL1, AAL3/4, AAL5, etc. According to the AAL5 protocol, one or multiple ATM cells may be specified as having payloads containing signalling data. The significance of the AAL protocols is that the ATM cells containing signalling payloads must, from the point of view of the network, be indistinguishable from ATM cells which contain call data in their payloads, while at the same time being identifiable by ATM switches as being signalling cells. An extension to the AAL5 protocol is the SAAL (Signalling ATM Adaptation Layer) which allows reliable transport of messages according to the Q.93B or Q.2931 protocol. As shown in Figure 2, the SAAL extension is shown as a second layer designated Q.SAAL. The third layer in Figure 2 is designated as Q.93B. However, this layer could, and now generally is, the Q.2931 layer. During a call setup transaction, signalling information according to the Q.2931 protocol is encoded according to the SAAL protocol. The SAAL protocol takes the Q.2931 messages and builds frames which may be reliably transferred throughout the ATM network. In order to travel through the network, these frames must be split up into ATM cells, and the AAL layer provides the protocol for converting SAAL frames into ATM cells. According to the state of the art, in order to be Q.2931 compatible, a slot controller in an ATM switch would be provided with means for detecting an AAL cell, means for reconstructing SAAL frames, and means for interpreting Q.2931 messages. The Q.2931 messages provide each slot controller with information necessary to build routing tables in order to set up a virtual circuit connection. Referring once again to Figure 1, a typical call setup transaction may be described as follows. The. slot controller 12a receives an ATM cell, inspects the VPC/VCI and determines that the cell is part of an AAL5 transaction. The slot controller accumulates the necessary cells for the AAL5 packet, utilizes the SAAL protocol to assemble Q.2931 messages, interprets the Q.2931 messages, and updates its routing table in response thereto. Since, in order to set up a virtual circuit connection, the Q.2931 messages must be read by multiple switches on the network, the slot controller must pass the information through the switch network and out of the switch via another slot controller. Therefore, the slot controller 12a must then take the Q.2931 messages and assemble a new set of ATM cells with an added switch fabric address, and send these ATM cells via the switch fabric to the other slot controller in the switch which will form a part of the virtual connection through the switch. For example, in the case of a virtual circuit connection between slot controller 12a and slot controller 12h, the controller 12a will address the cells to controller 12h. Slot controller 12h will then receive the first cell, inspect the VPC/VCI and determine that the cell is part of an AAL5 transaction. The slot controller 12h will accumulate the necessary cells for the AAL5 packet, utilize the SAAL protocol to assemble the Q.2931 messags, interpret the Q.2931 messages, and update its routing table. The slot controller 12h must then take the Q.2931 messages and assemble a new set of ATM cells with the appropriate VPI/VCI headers and send them onto the network via the link lβh. Those skilled in the art will appreciate that during call setup, the ' slot controller resources are heavily taxed. In addition, since the call setup messages must pass through the switch fabric, call setup will be delayed when the switch fabric is congested. Moreover, the call setup transactions will add to switch fabric congestion. SUMMARY OF THE INVENTION It is therefore an object of the invention to provide an improved ATM switch having enhanced call set up capability. It is also an object of the invention to provide methods and apparatus for relieving the slot controllers of at least some of the call set up processing. It is another object of the invention to provide methods and apparatus for reducing congestion in the switch fabric by relieving the switch fabric from handling call setup requests. In accord with these objects which will be discussed in detail below, the ATM switch of the present invention includes a plurality of slot controllers each of which is bidirectionally coupled to a switch fabric and each of which is bidirectionally coupled to an external link. In addition, each slot controller is bidirectionally coupled to a local area network (LAN) which is bidirectionally coupled to a system controller. The processor of each slot controller is programmed to forward Q.2931 messages to the system controller via the LAN and to receive information from the system controller via the LAN. The system controller is programmed to interpret the Q.2931 messages, update the routing tables of slot controllers via the LAN, assemble a packet containing a new Q.2931 message(s), and forward the packet to an appropriate slot controller via the LAN; whereafter the slot controller assembles ATM cells with appropriate VPI/VCI headers and forwards them onto the network. According to a presently preferred embodiment, the slot controllers are programmed to forward all Q.SAAL frames to the system controller; and the system controller is programmed to extract Q.2931 messages from the Q.SAAL frames. Preferred aspects of the ATM switch according to the invention include: implementing the LAN according to an Ethernet protocol, monitoring the status of the slot controllers via TCP protocol, providing a backup system controller, and providing an internal buffering system in each slot controller so that if a backup system controller is brought online, no call setup data will be lost. Additional objects and advantages of the invention will become apparent to those skilled in the art upon reference to the detailed description taken in conjunction with the provided figures. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a schematic block diagram of a prior art ATM switch; Figure 2 is a schematic diagram illustrating the logical layer structure of state of the art ATM protocols; Figure 3 is a schematic block diagram of an ATM switch according to the invention; Figure 4 is a flow chart of a first embodiment of the invention; and Figure 5 is a flow chart of a second and presently preferred embodiment of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring now to Figure 3, the preferred ATM switch 100 according to the invention is an ATM switch sold by General DataCo m, Inc., of Middlebury, CT, under the trademarks STROBOS and APEX which is modified as described below. The ATM switch 100 includes eight data processing modules or "slot controllers" 112a-112h and a cross-connect switch or "switch fabric" 114. Each slot controller is bidirectionally connected to at least one external data link llβa-llβh. Each data link couples the switch 100 to another node (switch) in the ATM network. In addition, each slot controller 112a-112h is bidirectionally coupled to the cross-connect switch 114 as indicated by the links 118a-118h. According to a presently preferred embodiment of the invention, each slot controller 112a-112h is bidirectionally coupled to an Ethernet Local Area Network 120 and a system controller 122 is bidirectionally coupled to the LAN 120 as well. The system controller 122 may be any suitable processing unit such as a SUN, MOTOROLA, or INTEL processor with associated random access memory, BIOS, non-volatile program memory, etc. Each of the slot controllers 112a-112h is an intelligent slot controller having an on board processor, associated RAM, BIOS, non-volatile program memory, etc. According to the presently preferred embodiment, each slot controller is also provided with a buffer for buffering communications via the LAN. Referring now to Figure 4, a first embodiment of the invention is shown in high level flow-chart form. Each slot controller examines the header of each ATM cell it receives. According to the invention, if it is determined by the slot controller at 200 that the cell is not an AAL5 cell, the slot controller modifies the VPI/VCI at 202 according to known procedures and forwards the cell at 204 either into the switch fabric or onto the external link as appropriate. If it is determined at 200 that the cell is an AAL5 cell, the slot controller interprets the AAL5 header information to, e.g., determine packet size. Thereafter, as additional AAL5 cells are received, the slot controller accumulates the cells necessary for the AAL5 packet at 206. When the packet is complete, the slot controller applies the SAAL protocol at 208 to generate a Q.2931 message (e.g., a call set-up request). The slot controller then forwards the Q.2931 message at 210 to the system controller via the LAN which is represented by the dotted line 212 in Fig. 4. The system controller interprets the Q.2931 message at 300. In response, the system controller assembles a packet at 302 containing a Q.2931 message, and forwards the packet at 304 to an appropriate slot controller via the LAN, whereafter the slot controller assembles ATM cells with appropriate VPI/VCI headers and forwards them onto the network. Typically, the cells will be forwarded to the slot controller forming the other end of the virtual circuit connection being set up for transmission onto the network to the next switch to be used in the virtual circuit connection. According to the invention, the packet assembled at 302 is forwarded at 304 to the slot controller via the LAN, and not through the switch fabric. The system controller also preferably sends messages at 30β to the affected slot controllers to update the routing tables of those slot controllers based on the call set-up information. Typically, the routing tables of two slot controllers will be updated, the slot controller which received that AAL5 cell initially, and the slot controller forming the other end of the virtual circuit connection being set up. In this embodiment, the system controller relieves the slot controllers of much of the call set-up processing and significantly reduces congestion in the switch fabric. The slot controller which receives the AAL5 cells maintains some of the signalling message (call set-up) processing, specifically the SAAL protocol processing and sends the SAAL acknowledgement back to the switch (or device) from which the AAL5 cells originated. According to a second and presently preferred embodiment, substantially all of the procesing of signalling cells is performed by the system controller as the slot controller is not provided with QSAAL capability. Turning now to Figure 5, each slot controller examines the header of each ATM cell it receives. According to the second embodiment of the invention, if it is determined by the slot controller at 400 that the cell is not an AAL5 cell, the slot controller modifies the VPI/VCI at 402 according to known procedures and forwards the cell at 404 either into the sitch fabric or onto the external link as appropriate. If it is determined at 400 that the cell is an AAL5 cell, the slot controller accumulates the cells necessary for generating a packet at 406. When the packet is complete, the slot controller forwards the packet at 408 to the system controller via the LAN. The dotted line 412 represents the LAN link to the system controller. When the system controller receives the packet, it applies the SAAL protocol at 500 to assemble Q.2931 messages. In response, the system controller assembles a packet at 502 containing a Q.2931 message, and forwards the packet at 504 to an appropriate slot controller via the LAN, whereafter the slot controller assembles ATM cells with appropriate VPI/VCI headers and forwards them onto the network. Typically, the cells will be forwarded to the slot controller forming the other end of the virtual circuit connection being set up for transmission onto the network to the next switch to be used in the virtual circuit connection. According to the invention, the packet assembled at 502 is forwarded at 504 to the slot controller via the LAN, and not through the switch fabric. The system controller also preferably sends messages at 50β to the affected slot controllers to update the routing tables of those slot controllers based on the call set-up information. Typically, the routing tables of two slot controllers will be updated, the slot controller which received that AAL5 cell initially, and the slot controller forming the other end of the virtual circuit connection being set up. It will further be appreciated that the system controller will, although not shown in the Figure, prepare an ATM cell according to the SAAL protocol for the slot controller which received the AAL5 packet to send back as confirmation that the packet was received intact. As mentioned above, the preferred embodiment of the invention includes monitoring the status of the slot controllers via TCP protocol. For example, at startup, the system controller will poll the LAN with a TCP SYN message which will provide continuous information about the status of the slot controllers and their external links. This information can be used to alert other devices on the network that a link is down. In addition, this information can be used during call setup to streamline the procedure; i.e., with the system controller performing the call setup, it is not necessary to send information through the switch fabric in order to discover that a slot controller or its external link is down. Another preferred feature of the ATM switch of the invention includes providing a backup system controller, and providing an internal buffering system in each slot controller so that if a backup system controller is brought online, no call setup data will be lost. There have been described and illustrated herein several embodiments of an ATM switch having enhanced call setup capability. While particular embodiments of the invention have been described, it is not intended that the invention be limited thereto, as it is intended that the invention be as broad in scope as the art will allow and that the specification be read likewise. Thus, while particular a particular number of slot controllers have been disclosed, it will be appreciated that more or fewer slot controllers could be utilized. It is not uncommon to provide sixteen slot controllers Also, while the slot controllers have been shown with each having a single external link, it will be recognized that slot controllers could have more than one external link. Moreover, while particular configurations have been disclosed in reference to the LAN, it will be appreciated that other configurations could be used as well. Furthermore, while the switch has been disclosed as utilizing the current AAL5, QSAAL, and Q.2931 protocols, it will be understood that different ATM protocols can be used to achieve the same or similar function as disclosed herein. It will therefore be appreciated by those skilled in the art that yet other modifications could be made to the provided invention without deviating from its spirit and scope as so claimed.

Claims: Claims : 1. An ATM network switch, comprising a) a plurality of slot controllers, each slot controller being coupled to an external data link; b) a switch fabric means bidirectionally coupled to each of said slot controllers for switching ATM cells from each slot controller to each other slot controller; c) a local area network bidirectionally coupled to each of said slot controllers; d) a system controller bidirectionally coupled to said local area network, wherein and each slot controller includes, i) means for receiving ATM cells from the external data link, ii) means for transmitting cells on the external data link, iii) routing table means for routing ATM cells through the switch, iv) means for determining whether an ATM cell contains signalling information, v) means for accumulating ATM cells containing first signalling information, vi) means for transmitting said first signalling information to said system controller via said local area network, vii) means for receiving second signalling information from said system controller via said local area network, said system controller including, i) means for receiving said first signalling information from each of said slot controllers via said local area network, ii) means for processing said first signalling information, iii) means for generating said second signalling information, and iv) means for transmitting said second signalling information to each of said slot controllers via said local area network. 12 2. An ATM network switch according to claim 1, wherein: each said system controller includes means for generating routing table update information which is provided to said slot controller by said local area network. 3. An ATM network switch according to claim 1, wherein: said first and second signalling information is in a Q.2931 format. 4. An ATM network switch comprising: a plurality of slot controllers, each slot controller being connected to at least one external data link and comprising means for receiving ATM cells from each link and for transmitting ATM cells on each link; means for switching data cells from each slot controller to any other slot controller; a system controller for. receiving a signalling message sent from another device in the network, for sending the message on to the next device in the network, for determining from the message, where appropriate, information relating to the routing of the connection within the switch and for storing said information, the system controller being linked to each slot controller via s econdary data link separate from the ATM links within the switch; and wherein each slot controller comprises: means for identifying from the ATM cells received on the external data link or links to the slot controller those cells containing data relating to signalling, for extracting the data from the cells and for passing the data to the system controller via the secondary data link; and means for receiving signalling data from the system controler via the secondary data link, and for transmitting the signalling data in ATM cells via the external data link. 5. An ATM network switch according to claim 1, comprising monitoring means for monitoring the continuity of each extgernal data link to the next device in the network.

Inventors: CLOUGH BENJAMIN MARK, PEPPER ANDREW TIMOTHY, CLOUGH, BENJAMIN, MARK, PEPPER, ANDREW, TIMOTHY
Applicants: CLOUGH BENJAMIN MARK, GEN DATACOMM IND INC, PEPPER ANDREW TIMOTHY, CLOUGH, BENJAMIN, MARK, GENERAL DATACOMM, INC., PEPPER, ANDREW, TIMOTHY
Application year: 1996
Main classification: H04L12
IPC codes: H04L12