RESOURCE REALLOCATION IN A COMMUNICATIONS NETWORK
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a resource reallocation scheme and arrangement in a communications network in which network nodes may control their resource ownership and usage and communicate with each other without severely reducing the amount of resources. The invention is in particular implemented in a circuit switched network, such as a DTM (Dynamic Synchronous transfer Mode) network.
DESCRIPTION OF RELATED ART
DTM is a new broadband network technology developed at the Royal Institute of Technology in Stockholm and proposed as a next generation networking concept of high speed networks, see, e.g., C. Bohm, M. Hidell, P. Landgren, L. Ramfelt and P. Sjδdin, Fast Circui t Swi tching for the Next Generation of High Performance Networks, IEEE J. on Selected Areas of Communications, Vol. 14, No. 2, February 1996. It is a fast circuit switched technology augmented with dynamic reallocation of resources. It provides services based on multirate, multicast channels with short setup delay and it is designed for a unidirectional medium with multiple access, the total medium capacity being shared by all connected nodes .
Implementations this far are based on a dual-bus topology. Using switching nodes the architecture may be extended to include a large number of connected buses . The service provided is based on channels, which are sets of time slots with a sender and an arbitrary number of receivers. The channels on the physically shared medium are realized by a time division multiplexing scheme .
The total capacity of resources is divided into cycles of 125 microseconds, which are further divided into slots. A slot comprises 66 bits, of which 64 bits constitutes a data frame and two bits are used as control bits. Most of the slots, called dynamic slots, or slots for short, are used for data transfer. A small number of slots, called static slots, are used for signaling among the nodes, e.g., as broadcast channels. Each node may have one or more static slots in each cycle.
Each slot has exactly one owner at a given time. If a node owns a slot it has full control of its use in terms of channel setup and release, thus preventing other nodes from using it for data transfer. At system startup, the data slots are allocated to the nodes according to some predefined distribution.
A node may ask other nodes for slots if it does not have sufficiently many data slots to setup a requested channel. Such a transfer of slots from one node to another is referred to as slot reallocation.
DTM uses a distributed algorithm for slot allocation, where the dynamic slots are distributed among the nodes. At the reception of a user request a node first considers its local pool of free slots to see whether it has slots enough to satisfy the request.
If the node can satisfy the request it sends a channel establishment message to the destination node or nodes.
Otherwise, it has to ask other nodes for more slots. This is performed via signaling in static slots. A node that receives such a request and owns unused dynamic slots, gives slots to the requesting node.
If a user requests a channel of M slots and the node has N free slots, where N < it requests M - N slots from other nodes. The node refers to its status table, which is a repeatedly updated table containing information about free slots of other nodes, and sends a request to the closest node with free slots. If this node does not have sufficiently many free slots, i.e., M - N, according to the status table, a request is sent to the second closest node with free slots and if necessary to fulfill the requested amount of slots also to the third, fourth and so on closest node with free slots. The node waits until a response for each of the requests has been received and then grants or rejects the channel request, depending on the outcome of the reallocation procedure. A node that has J free slots and receives a slot reallocation request of K slots will always give away min (J, K) slots or at least min ( J-n, K) , where n denotes a certain amount of slots that are never given away in order to prevent the network from starvation.
The main problem is that the distribution of resources, i.e., slots, is determined at system start-up and can not be controlled easily during system operation.
Another problem is that reallocation of resources are initiated at channel setup only, thus increasing the channel setup delay.
Still another problem may from fairness point of view be that each node starts to send requests of resources to other nodes in the order of relative distance. The average distance may be twice as long for the nodes in the ends of the bus as it may be for nodes in the middle of the bus . In other words , this means that the nodes in the middle of the bus will be asked for resource transfers more frequently than the nodes in the ends of
the bus, which implies that the nodes in the middle of the bus may have less resources in average.
SUMMARY OF THE INVENTION
The object of the invention is to obtain a resource reallocation scheme and arrangement, which dynamically reallocate resources among the nodes according to a changed quality of service distribution and/or to a changed network usage.
Another object is to dynamically reallocate resources in order to minimize channel setup delay.
Yet another object of the invention is to obtain means so as to prevent a non-uniform distribution of free and/or used resources among the nodes due to requests and transfers of resources as described in related art .
This is accomplished by a resource reallocation scheme and arrangement, which reallocate resources among the nodes dependent upon the current distribution of resources as well as to some predefined static or dynamic priori ty assignment .
The inventive scheme and arrangement comprise assigning priorities to at least a first node and a second node, calculating a ςruotient of resources as the amount of resources of the first node divided by the amount of resources of the second node and calculating a guotient of priori ties as the priority of the first node divided by the priority of the second node. It comprises further transferring resources from the first node to the second node in dependence of the quotient of resources being larger than the quotient of priorities, and transferring resources from the second node to the first node in
dependence of the quotient of resources being smaller than the quotient of priorities.
The steps of calculating quotients and transferring resources are performed at a given time, e.g., when the second node has released or setup a channel, but never at channel setup as this would increase the channel setup delay.
Preferably, the amount of resources to be transferred is set so that the difference of the two quotients will become lower than a predetermined value.
The first and the second node are, by preference, closest logical neighbors in a logical ring of nodes assigned to the network .
If requests and transfers of resources are needed and admitted for a channel setup of a node, the node asks its neighboring nodes in order so that the neighboring nodes that are closest in the assigned logical ring are asked first.
The scheme and arrangement according to the present invention reallocate dynamically resources among the nodes, inter alia, in order to enhance the network utilization.
An advantage of the invention is that it may dynamically adjust for changes in the distribution of quality of service among the nodes and/or for changes of a network performance parameter.
Another advantage of the invention is that the channel setup delay is minimized due to fewer requests prior to channel setup.
Still another advantage is that fairness, in terms of providing equal possibility for two nodes with identical quality of service to use the network resources, is achieved.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will become more fully understood from the detailed description given hereinbelow and the accompanying drawing which is given by way of illustration only, and thus is not limitative of the present invention.
Fig. 1 shows a possible logical ring assignment according to the present invention.
Fig. 2 shows distributions of free and used data slots among the nodes of a logical ring.
DETAILED DESCRIPTION OF EMBODIMENTS
To allow fair operation of the reallocation scheme nodes in a network are ordered in a logical ring, which is independent of the physical network topology, e.g., dual bus topology. The logical ring is used only to determine the order of nodes when requesting or transferring slots. The order of nodes can be chosen in several ways, but to minimize the differences between the physical distances of logical neighboring nodes the assignment as illustrated in fig. 1 is preferred. The logical ring is indicated by bent arrows. All closest logical neighboring nodes, e.g., Node 0 and Node 1, are separated by another node, e.g., Node N-1 , except two pairs, i.e., Node i, Node i+1 and Node N- 1 , Node 0, respectively, which are also closest physical neighbors.
In fig. 1 is shown only one logical ring assigned to both buses Bus 1, Bus 2 of the network, but no restrictions are placed on choosing different logical rings for the two different buses.
An example of a data slot distribution among the nodes is illustrated in fig. 2 in case of the logical ring assignment according to fig. 1. The length of the rectangles is proportional to the number of slots, i.e., the amount of resources, belonging to the respective node. The height of the rectangles corresponds to the category of the slots; small height corresponds to free slots and large height corresponds to used slots. Rectangles corresponding to slots that belong to the same node have the same pattern.
In Figs. 1 and 2 the buses and the logical ring, respectively, are split up so as to indicate that they may have an arbitrary size.
To allow different quality of services for different network customers a priori ty assignment is introduced. Each node has two priority values - one for each bus Bus 1 , Bus 2. A higher priority value corresponds to higher probability of having large amount of resources, free or total, and to lower channel setup delays in average . The priority values are used in the inventive resource reallocation scheme and arrangement as described below.
First, the scheme initiated by a node, e.g., Node i, after releasing a channel is considered.
Node i may request slots from or transfer slots to its preceding logical neighboring node, i.e., Node i-l, subsequent to each call release. The scheme is based on the following algorithm:
l.Node i puts the slots that are set free during the call release in its pool of free slots 2.A quotient of resources is calculated as the amount of resources, i.e., slots, of Node i divided by the amount of resources of Node i-l.
3.A quotient of priori ties is calculated as the priority of node i divided by the priority of Node i-l. 4. Slots are transferred from Node i to Node i-l if the quotient of resources is larger than the quotient of priorities, and from Node i-l to Node i if the quotient of resources is smaller than the quotient of priorities. 5. The number of slots to be transferred is calculated in such a way that the quotient of resources equals the quotient of priorities or at least so that the magnitude of the difference between the quotients becomes less than a pre-decided value δ, i.e., so that
I Quotient of resources - Quotient of priorities I < δ.
The number of slots to be transferred may be less if a number n is reached, where n denotes a number of slots that a node always keeps. These slots are never given away in order to prevent a node from ending up with no free slots .
In the calculation of the quotient of resources, the total number of slots, i.e., used slots and free slots, of a node may be considered. Node i may achieve the information of priority and number of slots of Node i-l on request or by referring to a repeatedly updated table stored in Node i or elsewhere. Alternatively, only free slots are taken into account, which amount of free slots of Node i-l may be obtained by referring to the status table of Node i .
Which kind of resources to be considered is important . For instance, if the resource reallocation scheme is initiated in Node i with a slot distribution according to Fig. 2 slots are transferred from Node i to Node i-l if only free slots are considered, and from Node i-l to Node i if the total amount of slots are considered. Which alternative to be implemented depends on which network performance parameters that are considered as most important, on how fairness between the nodes is valued, and on presence of offered diversified quality of service.
A similar scheme as the aforedescribed may be initiated by Node i, subsequent to a channel setup. Node i takes away the slots from the pool of free slots that are used for the channel setup. The scheme will then follow steps 2-5 of the aforedescribed algorithm.
Using the proposed algorithms subsequent to channel release and/or setup the need for reallocating resources at channel setup, i.e., that a node does not have sufficient bandwidth to setup a requested channel, is reduced or even eliminated, particularly when using an appropriate priority assignment as will be described below.
Sometimes, it may be advantageous performing the steps of calculating quotients and transferring resources at other occasions than subsequent to a channel setup or release. Generally, the steps may be performed at any given time or at periodically occurring situations or points of time. Alternatively, the steps of calculating quotients and transferring resources are performed when a network performance
parameter satisfies a predetermined condition, e.g., when the traffic intensity falls below a predetermined value.
Two different kinds of priority assignments are considered: static and dynamic priority assignments, respectively.
Using a static priority network the priorities may only be changed manually on request, e.g., at management level. Two static priority assignment examples follow.
The first example is a client-server network with one server node at one end of a dual-bus network. All other nodes communicate with this server node by sending their traffic to the server node on a first bus. The second bus is, consequently, used for traffic from the server node to the other nodes. If the load generated by the client nodes is equally distributed, the request ability of slots should be equal among the clients . To achieve an implementation of this balanced network, where each node has the same possibility to establish channels without slot requests from other nodes the following priority assignment is needed.
• Equal priority to all clients and zero priority to the server on the first bus, the server being located at the end of the bus .
• Zero priority to the clients and high priority to the server on the second bus, which is reversely directed to the first bus .
The second example refers to a peer-to-peer network with destinations of calls uniformly distributed among the nodes of the network. Here, the load generated to the network is dependent on the position of the nodes. For instance, it changes
linearly along the bus from 0 to 100% in opposite direction on two reversely directed buses.
If providing fairness is requested the priorities have to be set based on the location of the nodes. The sum of priority numbers on the two buses may be equal.
In both examples, as described, a fair distribution of channel setup probabilities among the nodes was desirable. However, it is also possible to define priority as a quality of service parameter and hence setting different priorities to different nodes according to ordered quality of service.
The second kind of priority assignment is the dynamic priority assignment. Here, the priorities are calculated a posteriori from network performance parameters of the nodes, such as used amount of resources and channel setup and/or release rate, and repeatedly updated as the traffic changes . The priorities may also/instead be changed according to an a priori estimated traffic distribution.
If a node lacks resources to fulfill a user request it may request resources from other nodes as described in related art . Three different modified schemes for reallocation of resources at channel setup are proposed.
The first scheme does simply not allow slot reallocation prior to channel setup. This simplifies the complexity of the node. If a dynamic priority assignment is employed together with an effective algorithm it may not cause noticeable performance degradation.
The second scheme is similar to the original algorithm. The difference is that the order of slot requests is specified according to the logical ring assignment and not to physical distances. Hence, a node, e.g., Node i, requests resources from other nodes in order so that resources are requested from the closest logical neighboring nodes, e.g., Node i-l, first in the event that it does not have enough own resources for a requested channel setup.
The third scheme is similar to the second scheme. The difference is that a node, e.g., Node i , requests resources from only one other node, its closest logical neighboring node, e.g., Node i- 1 , in the event that it does not have enough own resources for a requested channel setup. If this other node, e.g., Node i-l does not fulfill the request it requests its closest logical neighboring node, e.g., Node i-2, to transfer resources to the first node, e.g., Node i. This procedure may be repeated until the request is fulfilled or until the number of nodes involved has reached a specified maximum value. The latter condition may be monitored by introducing a counter in the requests.
Particularly, if Node i-l has J
"^ free slots and receives a slot reallocation request of K slots, it gives away min
slots to Node i, where n
i_
1 denotes the amount of slots that Node i-l never gives away. Then if J-n < K Node i-l requests Node i-2 to transfer K- (J
i.
1 -n
i.
1) slots to Node i. Node i-2, which has J
±_
2 free slots, gives away mi
, K- (J
i,
1-n
i.
1) ) slots to Node i, where n
±.
x denotes the amount of slots that Node i-l never gives away. This procedure may be repeated as described above and consequently involving more nodes.
The inventive scheme and arrangement reallocate resources among the nodes so as to increase the utilization of the network and decrease average channel setup delays and simultaneously allow the nodes to have different priorities, i.e., different abilities to request resources from a neighboring node.
Benefits of the present invention include, inter alia, the following:
• Better utilization. If the number of slot requests is minimized the utilization of the network is enhanced.
• Lower call setup delay. More channels can be setup from the pool of own free slots.
• Using dynamic priorities the amount of free slots may dynamically be adjusted to future requirements of a node. If employing a sophisticated dynamic priority assignment, e.g., based on used bandwidth and channel setup and/or release rate etc., the number of slot requests prior to channel setup may even be eliminated.
• Ability for handling the priority assignment concept as a tool for providing diversified qualities of service to the users of the network.
• Fairness. The invention can provide equal possibility for the users of the nodes to use resources of the network by assigning appropriate priority values and the introduction of the logical ring/closest logical neighboring node concept .
The invention being thus described, it will be obvious that the same may be varied in a plurality of ways. Such variations are
not to be regarded as a departure from the scope of the invention. All such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims .