The present invention is generally related to telecommunications systems, and more particularly to a method and apparatus for efficiently utilizing control blocks in a connection based network.
Telecommunications networks facilitate transmission of data from any number of source users to any number of destination users. Such networks may comprise a plurality of network switches for directing data traffic within the network. In connection based networks, such as Asynchronous Transfer Mode (ATM) networks, virtual connections are established between designated user pairs within the network and traffic is forwarded over a virtual connection from a source node to a destination node via one or more network switches.
In conventional ATM based networks, a data structure, known as a control block is contained within the memory of a network switch and is employed to map user traffic to a virtual connection. Each control block allocated within memory includes a first control block portion for mapping traffic emanating from a switch and a second control block portion for mapping traffic destined for a switch although only one of those portions is utilized in a given control block.
A user which is to be the recipient of message traffic is identified as a destination or root user node. A user which is the source of message traffic is identified as a source user node or leaf node. Thus message traffic is typically forwarded from a leaf node to a root node. Each root or leaf node has a complementary leaf or root node, respectively, serving the remote user.
A control block is assigned within a network switch node at the edge of the network to map the respective user to a virtual connection for either incoming or outgoing traffic at call setup. Once either the first or second portion of a control block is utilized to map traffic either from the user or to the user, respectively, the other control block portion remains unused. Such is wasteful of memory which comprises a costly and limited resource.
More specifically, in response to a request from a root node, a network switch comprising the respective leaf node configures a control block within the switch to permit the leaf node to communicate with the root node. The network switch at the edge of the network which couples the root node to the network also needs to configure a control block within the coupled switch to permit message traffic to be forwarded from the leaf node to the corresponding root node. As described above, once either the first or second portion of the control block is assigned within the switch coupling either the leaf or root node to the network, the remaining control block portion remains unused.
It would therefore be desirable to provide a mechanism for more efficiently utilizing control blocks to minimize the memory needed to support a specified number of connections.