# Distributed Management Systems for Infocommunication Networks: A Model Based on TM Forum Framework
## 3 Methods
### Elimination of Dead States and Interlocks  
DMSs for infocommunication networks have complex operation algorithms with parallel processes. Note that some processes are interdependent because they share the same resources (e.g., hardware components, software tools, current information). Due to resource sharing, the interaction of parallel  
Figure 5: Block diagram of program components distribution algorithm. processes has to be properly organized: their independent execution may cause errors, dead states or interlocks [10; 11; 12]. The dead states and interlocks occurring in parallel business processes are eliminated by scheduling. The efficiency of elimination is assessed using the indicator (9)  
\[T_{\min}(S)=\min\{t_{i}(S)\}, \tag{9}\]  
where \(S\) denotes a schedule and \(t_{i}\) (\(S\)) is the service time of the \(i\)th request, subject to the constrain (10)  
\[t_{p+1}^{j}-t_{p}^{i}\geq Z_{L}^{i}-Z_{L}^{j}+t_{jL},\ L=\overline{1,\ k}. \tag{10}\]  
The notations are the following: \(p\) as the index of the request of type \(i\); \((p+1)\) as the index of the request of type \(j\); \(L\) as the serial number of the PM; \(Z_{L}^{i}\) and \(Z_{L}^{j}\) as the time cost to execute the requests of types \(i\) and \(j\) on the \(L\)th PM; finally, \(t_{jL}\) as the time to execute the request of type \(j\) on the \(L\)th PM. Let \(l_{i\ j}=\max\{Z_{L}^{i}-Z_{L}^{j}+t_{jL}\}\). Then the optimal service schedule of all requests is defined by the condition \(t_{p+1}^{j}-t_{p}^{i}=l_{i\ j}\). Describe the service procedure of all \(n=\sum\limits_{k=1}^{r}n_{k}\) requests using a directed symmetric graph \((X,U)\), where \(X=\{0,\ 1,\ldots,\ r\}\) and \(U\) is the set of arcs \((i,j),0\leq i,\ j\leq r\), each associated with the value \(l_{i\ j}\). In this case, the optimal service schedule of all requests is the smallest loop in the graph that passes \(n_{k}\) times through each vertex. If \(x_{i\ j}\) is the number of arcs in the desired loop, then  
\[\sum\limits_{i,\ j=0}^{r}l_{i\ j}x_{i\ j}\rightarrow\min,\ \sum\limits_{j=0}^{r}x_{i\ j}= \sum\limits_{j=0}^{r}x_{j\ i}=n_{i},\ i=\overline{0,\ r},\ x_{i\ j}\geq 0,\ i,\ j= \overline{0,\ r}. \tag{11}\]  
The interlocks of parallel business processes are eliminated using an interpretation of the classical file sharing example with two processes [11; 12; 13; 14] and also the methodology of colored Petri nets (CPN) [15], with implementation in CPN Tools [16; 17]. Consider parallel BPs consisting of a sequence of operations \(t_{1}\),..., \(t_{k}\) performed by PCs so that each operation corresponds to a transition in a Petri net; see Figure 6. The CPN Tools user interface determines a marking of a Petri net. Markers (often called tokens) contained in certain positions are highlighted in green color, with specification of their number and time delay (e.g., 11@0). Additionally, a green color is used for the transitions that can be activated at a current time. A certain number of asynchronous parallel processes are competing for the right of resource use (RES). When a process is holding a resource, the sequence of its operations is being performed and the resource is considered to be busy. Since the same resource can be required for several processes, there may exist dead states and interlocks for them, as is demonstrated in Figure 7. Clearly, at the current time the network has no transitions that can be activated. The model will be analyzed using the reachable marking graph of the Petri net (Figure 8). The states of a Petri net from which all paths of the reachable marking graph lead to a dead state (in this example, \(S_{33}\)) are called pre-dead states (in this example, \(S_{22}\), \(S_{23}\) and \(S_{32}\)). A set composed of the dead and pre-dead states is called the set of forbidden states [10]. Obviously, for a faster execution of processes, all conflicts must be eliminated using the available system parallelism as much as possible. Consider some ways to eliminate process interlocks and dead states. Figure 6: Initial state of execution model for two parallel BPs.