A Distributed Flow Rate Control Algorithm for Networked Agent System with Multiple Coding Rates to Optimize Multimedia Data Transmission

With the development of wireless technologies, mobile communication applies more and more extensively in the various walks of life.The social network of both fixed andmobile users can be seen as networked agent system.At present, kinds of devices and access network technology are widely used. Different users in this networked agent system may need different coding rates multimedia data due to their heterogeneous demand.This paper proposes a distributed flow rate control algorithm to optimizemultimedia data transmission of the networked agent systemwith the coexisting various coding rates. In this proposed algorithm, transmission path and upload bandwidth of different coding rate data between source node, fixed and mobile nodes are appropriately arranged and controlled. On the one hand, this algorithm can provide user nodes with differentiated coding rate data and corresponding flow rate. On the other hand, it makes the different coding rate data and user nodes networked, which realizes the sharing of upload bandwidth of user nodes which require different coding rate data. The study conducts mathematical modeling on the proposed algorithmand compares the system that adopts the proposed algorithmwith the existing systembased on the simulation experiment andmathematical analysis.The results show that the system that adopts the proposed algorithm achieves higher upload bandwidth utilization of user nodes and lower upload bandwidth consumption of source node.


Introduction
The considerable development of communication technologies has provided conditions for the application and popularization of mobile devices.In recent years, with diversification of access network, especially with the popularity of access technologies such as Wireless Local Area Network (WIFI) and the third generation mobile communication (3G), the scale of the mobile Internet rapidly expands [1,2].Compared with traditional terminal of PC-based user (fixed user), kinds of mobile devices such as smart phones, personal assistants, and tablet PCs begin to increasingly enter the Internet.At present, mobile users (as well as fixed users) more often use their terminals as enhanced application support platform to join some electronic social network, for example, content distribution tools, peer-to-peer multimedia players, Twitter clients, or web browsers [3].These distributed and self-organizing networks can be seen as networked agent systems [4][5][6][7][8].We are interested in the optimization of multimedia data transmission and bandwidth utilization in this kind of system [9][10][11][12][13].
Traditional multimedia data transmission or streaming system does not consider user access network morphology or the differences of terminal device but often simply ignores the existence of the user diversification and only provides multimedia data with a single coding rate data for users; in order to overcome this weakness, the current solution is to divide the system into multiple independent subsystems, with each subsystem covering part of the users and providing differentiated coding rate data for each part of the users.For example, the Cbox network television system [14] of CCTV provides two types of signals-SD and HD.The coding rate of SD is 380 kbps, which is major for mobile users.And the coding rate of HD is 500 kbps, which is major for fixed users.Users can choose to watch based on access network morphologies or terminal conditions.From a technical point of view, the advantage of current solution is that the system provides different coding rate multimedia data for different users to meet individual needs of the user terminal and access network.However, because various subsystems are independent of each other in the design, the upload bandwidth among subsystem users cannot be shared, particularly that the upload, storage, and computing resources of user nodes with high performance and high bandwidth cannot be used by the system effectively.
This paper presents a distributed flow rate control algorithm for the mentioned networked agent system with coexisting multiple coding rates.On the one hand, it can provide distributed differentiated coding rate multimedia data to meet the different user needs.On the other hand, it can share and effectively use the user nodes upload bandwidth resources to reduce the upload bandwidth consumption of source node.The proposed algorithm can be part of agentbased framework and software infrastructure that improves the multimedia data transmission performance of the system.
In multimedia data transmission or streaming system studies, it is usually assumed that the download speed when user nodes acquire data from the system is not smaller than some rate (minimum flow rate), which means that the normal reception and play of multimedia data can be achieved [15][16][17][18][19][20][21][22][23][24][25][26][27][28].The so-called flow rate control algorithm is a data transfer algorithm to satisfy the minimum flow rate of each user node [15].Taking the application layer multicast form streaming system as the background, this paper presents a flow rate control algorithm of calculating minimum consumption of source node upload bandwidth required to support a certain flow rate.This paper presents the relationship among the tree depth, source node upload bandwidth consumption, and user nodes flow rate under this algorithm; [16] proposed a flow rate control algorithm of the streaming system to maximize the receiver flow rate under the conditions of a given source node upload bandwidth.It also analyzes the mathematical relationship between the source node upload bandwidth consumption and flow rate of a typical peer-to-peer streaming system; [19] taking the multimedia data transmission under the edge nodes constraints as the background, this paper analyzes the relationship between source node upload bandwidth consumption and user nodes flow rate in the model.In [20], it discusses the minimum source node upload bandwidth consumption and the maximum flow rate of user nodes of a given flow rate provided by streaming media system in the background of various random graph models and different connectivity constraints; [21] addresses the issue of rate allocation of multiple simultaneous multimedia data transmission sharing heterogeneous access networks; [22,23] studies multimedia data transmission based on multichannel collaboration strategy and uses it as the background to study the corresponding flow rate control algorithm, and investigates the relationship between the source node upload bandwidth consumption and maximum user node flow rate under such systems and algorithms.In [24,25], it compares several popular designs in the background of multichannel collaboration streaming media system and analyzes the minimum source node upload bandwidth consumption realized by each flow rate control algorithm and the performance differences and relationship of each system under the same conditions; [26] proposed a layer-based rate control algorithm for transporting multimedia data over multiple wireless links with heterogeneous reliability; [27] proposed an algorithm of joint path selection and source rate allocation to optimize the media quality on multipath networks streaming; [28] proposes a flow rate control algorithm with the background of multimedia data transmission based on network coding strategy and discusses the quantitative relationship between the system source node upload bandwidth consumption and user nodes flow rate under the proposed algorithm.
The difference between the proposed flow rate control algorithm in this paper and the previous studies lies in that previous algorithms treat the different coding rate data and the users as multiple independent subsystems, which can only provide multimedia data and flow rate support for one user needs in one subsystem; however, the proposed algorithm in this paper makes the different coding rate data and user nodes networked and makes use of the fixed nodes to provide coding rate conversion services for the mobile nodes and properly arranges the data transfer process before and after the coding rate conversion to realize the system to provide distributed differentiated coding rate data and desired flow rate for the needs of different users.The proposed algorithm in this paper more meets the multimedia data transmission in networked agent system with multiple coding rates.For example, there is a user class existing in the system to watch the program with PC (demanding for multimedia data with higher coding rate and larger minimum flow rate) and other two groups of users with different types of mobile phone models (demand for multimedia data with lower coding rate and smaller minimum flow rate).The current design establishes three independent subsystems for the three types of users to provide data and flow rate support, which cannot share the upload bandwidth among different users.However, the algorithm presented in this paper puts the three in the same networked system and through PC users provides coding rate conversion services for mobile users and appropriately arranges path and bandwidth for distributed multimedia data transmission, so that it can provide the corresponding data and flow rate support for the three types of users, and the efficient multimedia data transmission can be achieved.This paper conducts mathematical modeling and simulation for the proposed algorithm and demonstrates that, compared with the current design, the proposed algorithm has higher upload bandwidth utilization and lower source node upload bandwidth consumption.
The following part of this paper is organized as follows.Section 2 describes the background system of proposed algorithm; in Section 3, the system model is established, and the algorithm is proposed; the performance comparison is given in Section 4; the final part is about the summary.

Systematic Overview
As shown in Figure 1(a), in the system that adopts the application of the proposed algorithm, the user nodes are divided into two major categories-fixed nodes and mobile nodes (mobile nodes can be divided into many subclasses).Fixed nodes mainly refer to the PC accessed to the Internet via a wired connection.Fixed nodes can be seen to possess larger upload bandwidth and higher computing power, with a larger viewing screen, more comprehensive multimedia player software, and large terminal with higher demand for multimedia quality.Fixed nodes in the system can be used as transcoding user nodes (i.e., it can convert the received multimedia data to a lower coding rate) [29][30][31][32][33][34][35].In contrast, the mobile nodes mainly refer to wireless access equipment represented by mobile phone, Personal Digital Assistant (PDA), tablet PC, and other terminals.The mobile nodes are seen to relatively lack computing power with only limited access bandwidth and are weaker terminals in the performance and demand such as screen size, quality, and color depth.In system, mobile nodes are regarded as nontranscoding user nodes.
Intuitively, the mobile nodes lack conditions and are not necessary to receive multimedia data of the same coding rate of the fixed nodes.This on the one hand increases the bandwidth consumption and on the other hand causes the difficulties for the mobile nodes to receive and play.The current designs integrate fixed nodes and various mobile nodes into a lot of independent subsystems and, respectively, provide them with multimedia data of different coding rates.Different from this, the system that adopts the proposed algorithm in this paper integrates terminal with different demands for coding rate data into the same transmission network.The system uses computing resources and upload bandwidth of the fixed nodes to provide coding rate data that can be used by mobile nodes to receive and display.In Figure 1(a), the thicker line and the thinner line, respectively, signify that the different coding rate data demanded by fixed users and each subclass mobile users are simultaneously supported in the system; Figure 1(b) illustrates the coding rate conversion and multimedia sharing process: first, the source node provides a higher coding rate multimedia data for fixed nodes (thicker arrow in the figure).Then, the acquired data are shared among fixed nodes, and the data reception is completed.Second, the rest fixed nodes of the upload bandwidth convert the coding rate of the acquired data to the desired coding rate data of each subclass of mobile nodes and send it to the mobile nodes (thinner arrows in the figure).Meanwhile, if the upload bandwidth of fixed nodes is inadequate, the mobile nodes can also acquire the required data from the source node.Finally, the same subclass mobile nodes share the acquired data among each other and complete the data reception.The question is how to control and obtain proper receiving flow rate of different user nodes with distributed supply of upload bandwidth.

Mathematical Modeling and Algorithm Design
3.1.Initial Settings.Make some initial settings before modeling.
Secondly, discretionary communication is available among the nodes, and the upload bandwidth is the only restriction for data transmission [15][16][17]28].As mentioned previously, the proposed algorithm uses the computational capabilities of fixed nodes to provide coding rate conversion services for the mobile nodes.The algorithm improves the upload bandwidth utilization at the cost of the procedures and complexity of coding rate conversion.This paper only discusses the issue of data transmission, which does not limit specific multimedia codec algorithm or involves the discussion of the multimedia codec algorithm itself.It assumes that relative to the upload bandwidth, the coding rate conversion of data in the fixed nodes does not constitute the system bottleneck.
Thirdly, the coding rate conversion services can only come from the transcoding nodes (source node and fixed (1) denotes the minimum flow rate that supports the normal play of multimedia data at the fixed nodes.  denotes the minimum flow rate that supports the normal play of multimedia data at the mobile nodes.   ( = 1, . . .,   ) denotes the upload bandwidth of the th fixed node.   ( = 1, . . .,   ) denotes the upload bandwidth of the th mobile node.  means the size of upload bandwidth on the source node which makes all nodes play normally.
We first take P  into consideration.
As for P  , the source of the multimedia data is ; thereby, Additionally, as for P  , the flow rate sum cannot be greater than the sum of all the upload bandwidth.For any node in P  and other nodes with  as its multimedia data sources of  or other nodes in P  , (3) is rewritten as Then we consider P  .
For P  , the multimedia data can be derived from  or the coding rate conversion of the data worked out by P  .The flow rate requirements should be first met if one succeeds in transcoding and uploading the P  .So the upload bandwidth got by the P  from P  is the remaining part after satisfying its own needs of P  ; namely, the most upload bandwidth P  can provide for P  is   (  −   ), and In addition, from the perspective of the entire system, the total uploads bandwidth must be greater than or equal to the total flow rate; thereby, Namely, Equations ( 2), ( 5), (6), and ( 8) are organized as Set Thereby, Equations ( 10) and (11) show the consumption limit of upload bandwidth on the source node, when the system can support all mobile and fixed nodes to playback normally.Now we see whether we can design a flow rate control algorithm to approach as close as possible or even achieve this lower limit. Set Notice that according to (12), ∑ P     =   ≤   , so  can achieve the transmitting with enough upload bandwidth, as The second time is (denoted by According to (12), ∑ P Thereby,    ( = 1, . . .,   ) will get enough flow rate to ensure the normal play of the media.
In conclusion, through the flow rate arrangement in the transmitting of the multimedia data, whether it is   ≥   (  −   ) or   <   (  −   ), all fixed nodes will play normally. Then And    ( = 1, . . .,   ) will get enough flow rate to ensure the normal play of the media.
When   <   (  −   ),  transmits the multimedia data for    ( = 1, . . .,   ).And the flow rate arrangement of the first time ( 1  ) is And the second time ( 2  ) is ( = 1, . . .,   ) transcodes and transmits multimedia data for    ( = 1, . . .,   ), and the flow rate arrangement of the first time ( 1  ) is And the second time ( 2  ) is ) . ( Notice that as Therefore,    ( = 1, . . .,   ) will get enough flow rate to ensure the normal play of the media.
In conclusion, through the flow rate arrangement, whether it is   ≥   (  −   ) or   <   (  −   ), all mobile nodes will play normally.
Finally, according to the previous design, when   = MAX, the system can make all mobile and fixed nodes get the required coding rate of data and the flow rate.

Flow Rate Control.
The previous analysis has attained a flow rate control algorithm for one mobile node subclass, and for multiple subclasses we should only do it for several cycles.Assume that the number of the fixed node is   , and there are  mobile node subclasses.The number of the node is   ( = 1, . . ., ), and    ( = 1, . . .,   ) denotes the th fixed node.   ( = 1, . . ., ;  = 1, . . .,   ) denotes the th mobile node of the th subclass, and  denotes the source node.  denotes the minimum flow rate which makes the multimedia data required by the fixed node normally broadcast.  ( = 1, . . ., ) denotes the minimum flow rate which makes the multimedia data required by the th subclass node normally broadcast.   ( = 1, . . .,   ) denotes the upload bandwidth of the th fixed node.   ( = 1, . . ., ;  = 1, . . .,   ) denotes the upload bandwidth of the th subclass node.  denotes the size of the upload bandwidth of the source node.  denotes the average upload bandwidth of all the fixed nodes.And tr   ( = 1, . . .,   ) denotes the total flow rate of    when it receives the multimedia data.tr   ( = 1, . . ., ;  = 1, . . .,   ) denotes the total flow rate of    when it receives the multimedia data.According to flow rate arrangement attained by the previous analysis, as for the condition with multiple mobile subclasses, we can get that ( → ) =  denotes that the node  transmits the required multimedia data to the node  with the flow rate of .  ( → ) =  denotes that the node  provides  with coding rate conversion with the flow rate of  to transmit required multimedia data.The complete flow rate control algorithm is listed below.

The Flow Rate Control of Multimedia Data for Mobile Nodes:
(9) make  = 1; (10) if  > , go to (18); (11) if (  − 1)  /  −   > 0, go to (15); (12) the node with upload bandwidth above 0 initiates the following coding rate conversion and data transfer:   requirements of each node are marked with UB and FR, respectively.As shown in Figure 2(b), according to the flow rate control of the multimedia data required by fixed nodes in the algorithm, it provides flow rate for A and B. In the figure, the thick arrows mark the transmission path of multimedia data required by A and B, and the numbers mark the upload bandwidth.Then according to the flow rate control of the multimedia data required by mobile nodes in the algorithm, it provides the coding rate conversion and the flow rate for C and D. In the figure, the thin arrows mark the transmission path of multimedia data required by C and D, and the numbers mark the upload bandwidth (the plus sign between the numbers denotes twice transmission according to the algorithm).Finally, the entire system meets user needs for coding data and flow rate of all nodes by the distributed multimedia data transmission and flow rate control, which achieves the purpose of design.

Performance Comparison
As has been mentioned previously, current designs treat the fixed nodes and mobile nodes subclasses as multiple independent subsystems and, respectively, provides different coding rate of data and the corresponding flow rate control.Such systematic and typical flow rate control algorithm is proposed and analyzed in [15,16].This section first compares the upload bandwidth consumptions between the proposed algorithm of this paper and the algorithm of the references based on the simulation experiment and then further demonstrates the experimental results based on the mathematical analysis.

Simulation Experiment.
Simulation platform generates the analog network environment with the commonly used Georgia Tech's Topology Generator [36,37] in the multimedia data transmission and streaming system experiment.And on this basis, it achieves applying the system to simulate with the proposed algorithm in this paper and the references.For the convenience of description, in the following paragraphs, the system that adopts the algorithm of the references is referred to as system A, and the system that adopts the algorithm proposed in this paper is referred to as system B.  A  denotes the upload bandwidth consumption on the source node of system A.  B  denotes the upload bandwidth consumption on the source node of system B.
We make two experiments to compare the performance of  A  and  B  .First, assume that there are 20 fixed nodes and 20 mobile nodes in the system.The minimum flow rate of fixed node sets 500 kbps, and the minimum flow rate of mobile node sets 200 kbps.The upload bandwidth of fixed node sets 1000 kbps, and the upload bandwidth of mobile node sets 100 kbps.We increase the number of mobile nodes gradually and measure  A  and  B  in the same conditions.The results can be seen in Figure 3: the curve of  B  is below the curve of  A  (from 20 to 190 mobile nodes), which means that system B achieves lower upload bandwidth consumption of source node.
To be more fair, the random parameters are taken as the initial condition in the second experiment (the range is shown in Table 2), and it generates 500 sets of random initial conditions.In the same initial conditions, it tests  the difference of source node upload bandwidth consumption between system A and B, namely,  =  A  −  B  .The experimental results can be seen in Figure 4: in the random test,  value ranges from about 100 kbps to about 10 Mbps; that is, the upload bandwidth consumption of the source node in system B is less than that in system A. As  A  and  B  are measured under the same conditions, it shows that the user nodes (especially the fixed nodes) in system B utilize upload bandwidth more fully than the system A, which alleviates the upload bandwidth consumption of the source node in system B. In fact, the result of this test is not accidental.In the following, it will demonstrate that the upload bandwidth consumption of the source node in system B is lower with mathematical analysis.

Mathematical Analysis.
Assume that in the system there is only one mobile node subclass.Current design (system A) is divided into two separate subsystems, which, respectively, provide flow rates support for the fixed nodes and mobile nodes.The upload bandwidth consumption of the two subsystems is  A  and  A  , according to [15,16], A  = max (  ,   (  −   )) ,  A  = max (  ,   (  −   )) . ( As the various subsystems of the current design are independent of each other, thereby Equation (35) represents the upload bandwidth consumption of the source node with a given flow rate design.And combined with (33), it can quantitatively analyze upload bandwidth difference of the source node between system A and B in the same requirements and conditions.However, just by (35), it is not easy to see real relationship of the upload bandwidth consumption of the source node in the two systems.
Note that, according to (34), Comparing ( 37) with ( 9) and ( 10), it can be seen that The above has argued that with the proposed algorithm in this paper, system B can make all nodes play normally in the condition of  B  = MAX, so it is always true that  B  ≤  A  .For the multiple mobile node subclasses, the algorithm should be used for multiple cycles, and it is also true that  B  ≤  A  .As the upload bandwidth consumptions of the source node in system A and B are measured under the same initial conditions,  B  is lower, which shows that system B makes better use of upload bandwidth of user nodes.

Conclusion
In this paper, a distributed flow rate control algorithm for the optimization of multimedia data transmission in the networked agent system with multiple coding rates was put forward.The proposed algorithm makes the different coding rate data and user nodes networked to improve the upload bandwidth utilization of user nodes.It achieves personalized coding rate data transmission and the corresponding flow rate control for different user nodes.The paper uses the mathematical modeling to analyze the upload bandwidth consumption of the source node in the system that adopts the proposed algorithm.And it is compared with the current design.The paper demonstrates that the proposed algorithm makes the system achieves higher upload bandwidth utilization of user nodes and lower upload bandwidth consumption of source node compared with the current design through the simulation experiment and the mathematical analysis.

Figure 1 :
Figure 1: Systematic structure and data transmission.
Function u(⋅) denotes the result of upload bandwidth, for example, u(P  ) = ∑ P     = ∑   =1    and   denote the average upload bandwidth of all the fixed nodes,   denotes the average upload bandwidth of all the mobile nodes )    ( = 1, . . .,   ) denotes the flow rate of the multimedia data from the source node to    .   ( = 1, . . .,   ) denotes the flow rate of the multimedia data from the source node to    .   ( = 1, . . .,   ) denotes the flow rate of the multimedia data transcoded and transmitted by    for    .tr   ( = 1, . . .,   ) denotes the total flow rate of the multimedia data received by    .tr   ( = 1, . . .,   ) denotes the total flow rate of the multimedia data received by    .First we consider P  .When   ≥   (  −   ), namely,   ≤     /(  − 1),  transmits the multimedia data for    ( = 1, . . .,   ), and the flow rate is arranged as

𝑝𝑓𝑖
has enough upload bandwidth which can transmit the data in    to other fixed nodes with the same flow rate; thereby    gets the total flow rate tr = 1, . . .,   ) will get enough flow rate to ensure the normal play of the media.When   <   (  −   ),  transmits the multimedia data twice for    ( = 1, . . .,   ).And the flow rate arrangement of the first time (denoted by  1  ) is

Figure 3 :
Figure 3: Comparison of  A  and  B  in the scenario of mobile node increase.

Figure 4 :
Figure 4: Upload bandwidth consumption difference of the source node in random setting.

Table 1 :
Mathematical symbols used in modeling and algorithm. the collection of fixed nodes, and P  the collection of the mobile nodes; thereby, nodes).Nontranscoding nodes can upload existing data but cannot convert the coding rate.Specifically, the sources of fixed nodes data may have two: the source node and other fixed nodes; the sources of mobile nodes data may have three: the source node, the fixed nodes, and other mobile nodes in the same subclass. as the number of the fixed nodes and   as the number of the mobile nodes (assuming that there is only one subclass).   ( = 1, . . .,   ) denotes the th fixed nodes,    ( = 1, . . .,   ) the th mobile nodes,  the source node, P   } , ( = 1, . . .,   ) , P  = {   } , ( = 1, . . .,   ) .

Table 2 :
Range of randomly set initial conditions.