# Multistage Dynamic Packet Access Mechanism of Internet of Things

Authors: Yi Meng; Chen QingKui; Zhang Gang
Journal: Mobile Information Systems
 (2018)

---

## Abstract

In the scenario of mass control commands requesting for network access, confined by the best-effort network service mode, it is easy to bring about resource competition and thus a phenomenon of access failure on major and urgent service request at the data access center for the Internet of Things. In this event, the dynamic diversification of control command is unable to access the necessary resources on a comparatively fair basis, causing low efficiency in heterogeneous resource utilization at the access center. This paper defines the problem of group request dynamic resource allocation and further converts it into the problem of 0-1 integer and linear programming and proposes a multistage dynamic packet access strategy. This strategy works first on dynamic group division on the users’ mass control requests using the high ability of self-organizing feature maps and then searches for the optimized matching resources based on the frog-leaping algorithm which has a better capacity for global searching for the best resources. This paper analyzes the feasibility of this strategy and its astringency. The experimental results demonstrate that the strategy can effectively improve the success rate of access to the data center for the Internet of Things and reduce network blockage and response delay.


---

## Body

## 1. Introduction

The Data Access Center for the Internet of Things (DACIOT), serving as the core layer of Internet of Things (IoT), has already become a current research focus [1–3]. In the different applications of the smart city, such as smart healthcare [4, 5], smart home [6], intelligent transportation [7], smart logistics [8], and intelligent security [9], IoT firstly collects the mass sensing data in real time from hundreds of sensor devices in accordance with the corresponding communication protocols. Secondly, DACIOT carries out preprocessing of the sensing data by means of data cleaning, data integration, selection, and transformation. In order to support the upper application system for automatic identification, accurate positioning, intelligent tracking, and intelligent supervision of entities and processes, DACIOT integrates the perception information and coordinates communications between devices. Therefore, a universal and integrated network is generated by the fusion of human, machine, and things. In the process of such fusion of the upper IoT application system, a variety of value type and nonvalue type of data are continually transmitted by different types of sensors [10]. In this process, different kinds of control requests will be delivered to the masses of sensing devices by a great quantity of end users. From the perspective of the application architecture of IoT [11, 12], DACIOT is mainly located at the application level, which is the top level of IoT architecture [13], as shown in Figure 1.Figure 1
Structure of “man-machine-thing” integration of the IoT application system.As shown in the above figure, a large number of static or mobile sensing equipments constitute the sensing net in the form of self-organizing or multi-hop. After optimization, the data collected by sensing equipments are transmitted to information processing center via radio waves and then converged to sending net (network layer in Figure1). The major role of DACIOT is to provide services of network access for end users (including mobiles and PCs) and coordinate that the service requests of a large number of end users can be transmitted onto the corrective sensing equipments [14] via Internet. Relatively speaking, the topology of sensing net is more vulnerable to the external environment than the topology of sending net. In terms of processing capacity of network, sending net has a stronger data processing and control ability, while the sensing net is only responsible for perception data collecting without the ability of intelligent data processing. Moreover, as the channel of information transmission of DACIOT, the sending net based on Internet exchanges the data from end users and sensors in real time accurately with the convergence of various wired and wireless networks. In respect of transmission of control demand, due to the features of Internet network of complicated and flexible structure and fast resource consumption when a large number of users request for access, EPSN (effective path statistic network) is constructed and deployed on the basis of the network coverage theory [15]. EPSN is a logic and virtual subnet of the Internet, and it is composed of a set of communication service agents, which contains a couple of simple functions, including packet sending, packet receiving, packet storage, and interaction. Using statistical theory, EPSN network explores the effective “gap” path which means the resources on the Internet [16]. Moreover, the primary function of EPSN lies in measuring and collecting the statistics of routing metrics on the logical link among communication service agents and constructing effective paths in real time based on the measurement and statistics result. In this significance, the network that end users request for access is transformed from an Internet network with uncontrollable parameters to a transparent EPSN network with controllable parameters. However, as the network features best-effort service [17], when mass requests from end users are accessed into the EPSN network via DACIOT, resource competition will take place and lead to the following problems: (1) the best-quality resources are taken and occupied by nonurgent requests so that urgent requests are inaccessible and cannot be transmitted onto the sensing device via the EPSN network transmission; for example, the switch control access command is blocked by ordinary access requests on the sensing device; (2) as users’ requests are dynamic and diversified, the heterogeneous resources of DACIOT may not meet the demand for high service quality; for example, when users’ request commands which are used to query sensed data come to access, they require a very strict response delay and packet loss rate; and (3) when allocating resources, it is hard for DACIOT to treat the various types of service requests fairly, causing service overleaning; for example, DACIOT may allocate more resources to users who request access to humidity and temperature sensing devices while allocating less resources to users who request access to carbon dioxide sensing devices. Therefore, it is critical and urgent for DACIOT to efficiently coordinate the mass access requests from users for quality resources.


## 2. Related Work

In relation to the current research on DACIOT, the work in [18] provides a summary of the system structure and characteristics of the M2M communication network in a 3GPP environment; analyses the potential problems existing during the access process in terms of the physical-layer transmission, random access procedure, and wireless resource allocation; and further proposes a solution with a QoS guarantee. A method of effective user authentication and access control at a perceptive layer is proposed in [19]. This method establishes a session key based on an elliptic curve encryption mechanism and further enhances the mutual authentication process between the user and sensor node. The work in [20] provides a cloud manufacturing service method based on the smart perception and resource visit control of IoT, which includes a five-level IoT resource framework, that is, levels of resources, perception, network, service, and application. The research in [21] proposes an IoT-based urgent medical service system on the basis of heterogeneous resource instant visits, which combines ambulance, nurse, doctor, and medical records into a huge resource repository to be the resource level of the system. The literature in [22] discusses a service-oriented QoS optimization scheduling algorithm based on the Markov decision process for the IoT application level. The work in [23] discusses an IoT congestion control mechanism based on improved random early detection, and the mechanism is analyzed using the Queueing Theory. The research in [24] provides a cost-efficient analytic model which can predict device performance according to a limited capacity queueing system with prioritized services and is specific to heterogeneous IoT devices with the feature of postponing sensitive information. The literature in [25, 26] discusses a kind of resource allocation algorithm which concentrates on searching for the Nash equilibrium. The literature [27] discusses the request access control mechanism for limited resources based on the Zero-sum Game, which makes a decision as to whether a request is to be accessed or not based on the request’s utility function. The work in [28] analyses the behavioral characteristics of individual and group users of mobile, providing resource allocation models for wireless communication between devices. However, in the above proposed methods, the methods in [18, 21, 23] do not take the differences of access resources into consideration. The proposed method in [19] only solves the problem of resource limitation of IoT at the perceptive layer. The work in [20, 24] is only applicable to small-size access requests. The research in [22, 25–28] does not have answers to address competition when core request services match high-quality resources. Generally, these models are not able to solve the problem of competition between important and urgent service requests in the process of IoT mass access.In regard to DACIOT, a large amount of real-time data collected by thousands of sensors arrive continuously every day, and end user requests are always under the constraints of the “Things-Contact” features in IoT: (1) the scale of sensor data is large; (2) every end user’s service request has a high constraint of reliability and quality of service [29, 30], such as it requires a shorter response time for intelligent terminal equipment, and the service request should be transmitted to the intelligent terminal successfully through the data access center; and (3) the group service requests require all requests in the same group to be able to access DACIOT under the condition of the group constraint set; moreover, the group requests as a whole have a strict limit of response delay for DACIOT. For instance, in a service group with 20 commands, each service group command needs to complete the task within a specific time and resource constraint, and the service group is regarded as having successful access if only these 20 commands have been given access within the limited response time and resources. Currently, the types of end user request commands tend to be relatively small; moreover, the network infrastructure and resource distribution are relatively concentrated [31]. Hence, under the condition of sharing a particular service resource, a large number of end users’ service request commands in IoT require DACIOT to provide group access services at the same time with very high service constraints.Based on this background, to address the problem of competition among important and urgent service request in the process of IoT access, all the users’ access requests should be seen as obtaining the best-matched resources under the condition of meeting more than one limit. When similar service requests are separated from those that are different, based on the type and response domain of access requests, the similar service requests tend to share a close resource distribution area, and these similar access requests can thus been seen as a bionic group. Each group’s access request searches for the optimal-matching resources at that moment under the current network environment. As access requests change, so will DACIOT’s resource distribution, requiring DACIOT to allocate the optimal resources at the moment for all the groups’ service requests. This further converts IoT’s mass access into the dynamic grouping resource allocation problem (GRAP) [32]. In GRAP, each of the access requests represents a compete process, which means that the access will fail if all the necessary resources cannot be obtained, and there will be an upper boundary constraint on the number of access service requests and a lower boundary constraint on resource measurement. With such a feature and for the purpose of finding a solution, GRAP can be converted into 0-1 integer and linear programming [33]. Moreover, this is NP Hard [34] that the general algorithm is difficult to solve due to the limitation of the special problem. Therefore, this paper proposes a multistage dynamic grouping access strategy (MSDGAS) based on self-organizing feature maps neural network [35] and frog-leaping algorithm [36].The third part of the paper describes this issue and provides the mathematical model; the fourth part first designs a self-adaptive scheduling mechanism for resource dynamic grouping and further designs a group dynamic resource allocation algorithm based on the frog-leaping algorithm; the fifth part presents the experiment process and analysis; and the sixth part gives the conclusion and suggestions for future research.


## 3. Problem Description

### 3.1. Analysis of the Dynamic Grouping Resource Allocation Problem

To solve the problem of mass data access of IoT, it needs to meet users’ demand of access request with a limited network load. With the confinement of the network service model, when the data access center meets an urgent service request, GRAP will face optimal resource competition, causing failure of the access request. This requires searching for a group of optimal solutions based on the confined network conditions in a dynamic network condition so that mass users’ requests can access DACIOT. In the process of requesting access, as lots of the control commands have certain common attributes, such as being in the same geographic area, taking control of the intelligent equipments with the same type, and so on, these commands can be clustered into different command groups by similar attributes and these groups are sent at the same time in order to save network bandwidth and improve the efficiency of access. Suppose there arek-command groups in a single access process, and each command group G contains N control commands. Moreover, each command C in the command group G denotes that one end user can take control of L intelligent equipments simultaneously. For the sake of presentation, if the control command C does not intend to control an intelligent device, the corresponding value in the command is set to 0. Furthermore, these k command groups can be regarded as k two-dimensional matrices with N rows and L columns, and each control command C can be considered as a vector with L dimensions after regularization. Since the high-quality resources are limited, different command groups will compete for resources in the process of access, and then each command group G will have a corresponding competition weight. Meanwhile, each smart device has a variety of control types, which take on different urgency in different scenarios. The urgency can be expressed by the weight value: the greater the value is, the more urgent the command group is. Choose the weight of the most urgent control type in control command C as the weight of this control command C, and then use the weight of all the control commands in the command group G to measure the urgency of this command group G, namely, the comprehensive competition λ. Therefore, to solve the group dynamic resource allocation problem under the condition of limited network resources is to find a set of optimal resource access path, coordinating these different command groups to be transmitted onto the corresponding intelligent equipments using the minimum resource load. Here is the detailed process of mathematical modeling of this problem.


### 3.2. Modeling Process of the Dynamic Grouping Resource Allocation Problem

It is assumed that the command group set:G1,G2,…,Gk, with a weight function λψψ∈1,2,…,k, which reflects the competitive ability of a command group in the process of service request access in terms of geometrical significance. Moreover, λψ has a range of values from 0 to 1, and the closer the value of λψ is to 1, the stronger the competitive ability of the corresponding command group. Conversely, the closer value of λψ to 0, the weaker the competitive ability. The request type set CAT is comprised of r command request types and CAT=cat1,cat2,…,catr. In the command group of Gψ, ψ∈1,2,…,k, C1,C2,…,Cm are service request commands of DACIOT, Ci refers to the ith service request command, and Ci=ci1,ci2,…,cinT, catiψ refers to the request type of the most urgent subcommand in Ci, and catiψ∈CAT. ϑcatiψ is the weight value of the request type catiψ, which is generally set according to the emergency degree of the commands in this request type upon initialization. Then, the weight value of Gψ can be represented as(1)λψ=∑i=1mϑcatiψ∑ψ=1k∑i=1mϑcatiψ.R
1
,
R
2
,
…
,
R
n represent the resource of DACIOT, Rj is the jth resource, LMi is the load metrics function consumed by the command Ci in resource access, and Ei is the load value consumed by the command Ci to acquire all the resources it needs and(2)Ei=∑d=1nLMicid.Φ
i is the resource confinement for Ci, Qψ is the resource confinement for command group Gψ, and FGψ is the objective function of command group Gψ at the current load confinement; Q means the system resource confinement and(3)Q≥∑ψ=1kQψ.Table1 presents the parameter list for the GRAP modeling, and a mathematically formalized description is given as follows.Table 1
Parameters of the GRAP modeling.
Parameters
Descriptions
k
The number of command groups
G
ψ
Theψth command group
CAT
The set of command request types
λ
ψ
The weight function of command groups
m
The number of service request commands
C
i
Theith service request command
cat
i
ψ
The request type of the most urgent subcommand inCi
ϑ
cat
i
ψ
The weight value ofcatiψ
n
The number of effective resources
R
j
Thejth resource
LM
i
The load metrics function consumed by the commandCi in resource access
E
i
The load value consumed byCi to acquire all the resources it needs
Φ
i
The resource confinement forCi
Q
ψ
The resource confinement forGψ
F
G
ψ
Objective function ofGψ at the current load confinement
Q
System total resource confinement
δ
i
j
The load value ofCi acquiring resource Rj
F
Objective function of GRAPGRAP: when the load function meets the measurement confining condition, the GRAP objective function will reach the optimal value (the minimum means the optimal):(4)minF=∑ψ=1kλψFGψ,(5)FGψ=∑i=1m∑d=1nLMicid,subjectto:Ei≤Φi,0≤λψ≤1,∑i=1mEi≤Qψ.In light of the GRAP characteristics, to obtain a convenient solution, GRAP can be converted into 0-1 integer and linear programming. Supposeδij refers to the load value in the process of command CiCi=ci1,ci2,…,cinT acquiring resource RjRj=rj1,rj2,…,rjnT, and(6)δij=∑d=1nLMiRjd,d∈1,2,…,n.Suppose λ1,λ2,…,λk are, respectively, the weight factors of command group G1,G2,…,Gk, then the mathematical model for the minimum load function of DACIOT is described as follows:(7)minF=λ1FG1+λ2FG2+…+λψFGψ+…+λkFGk,(8)FGψ=∑i=1m∑j=1nδijXij,s.t.∑i=1mXij=1,j=1,2,3,…,n∑j=1nXij=1,i=1,2,3,…,mXij∈0,1,∀i,jδij≤ϕij,0≤λψ≤1,∑i=1mEi≤Qψ.In (7), F represents the objective function, which reflects the total load value consumed by all the group commands acquiring all the computing resources in the practical scene; minF means the minimum objective function; and λψ refers the weight value of the command group Gψ, which reflects the competitive ability of the command group Gψ. In (8), FGψ means the load value consumed by the ψth command group acquiring the resource it needs in the real applications; δij refers to the load value of command Ci acquiring resource Rj; s.t. refers to the limited conditions of the objective function F; Xij=0 means command Ci does not acquire the resource Rj; Xij=1 means Ci acquires Rj successfully; and ϕij means the confinement when the service request command Ci matches the optimal resource Rj. In such a scenario, GRAP can be further defined as the problem to search for a set of optimal solutions so that the current objective function (7) is optimal (the minimum means optimal as a definition), when each of the request commands meets the condition of the load confinement.To make it easier to follow the above formulas, a real application of Smart Home described in reference [37] is taken, for example. As mentioned in the reference, Smart Home is a classic example of IoT, wherein smart appliances connected via home gateways constitute a local home network to assist people in activities of daily life, and the remote DACIOT controls the home gateways to build a wider network. Smart Home involves IoT-based automation (such as smart lighting, heating, window, power plug, and surveillance), remote monitoring, and control of smart appliances. In a scene, it starts to rain suddenly, and then twenty employees of the same company in a Central Business District will want to take control of smart appliances inside their own homes in the meantime. For example, the company employee Jack wants to query the screen of smart monitor device, turn off the smart window, and turn on heating and lighting appliance inside the home for his mother who is coming home. In general, the type of shutdown command has a higher priority than that of the query command, and the command of “turn off smart window” is the most urgent in this scene. As a supplement, each command of company employees has the properties of atomicity; in other words, Jack’s control command is effective as a whole only if all the subcommands (query the screen, turn off smart window, turn on heating, and lighting appliance) run successfully. For this scenario, because of the same properties of the geographic region, the twenty employees’ commands are classified as a same command group, and Gψ is used to represent the group of the twenty employees’ commands. Moreover, there are many companies in the Central Business District; that is, lots of command groups will be generated at the same time. The command type set CAT contains “turn off” which is coded as 1, “turn on” which is coded as 2, and “query” which is coded as 3; Jack’s command can be represented by Ci, and the command has many subcommands; the control command of Jack can be represented as Ci=3,1,2,2,0,0,0,0,0,0, where Cij=0 means that Jack does not take control of the jth appliance; the value of catiψ is “turn off” for Jack; λψ refers to the weight value of the command group composed of twenty employees’ commands; Ei means the network bandwidth consumed by Jack’s control command when the command is transmitted to the smart devices inside home; Qψ means the network bandwidth consumed by the twenty employees’ control command. Based on this, formula (1) is used to calculate the weight value of the company’s control command group on smart appliances at DACIOT. Furthermore, the weight value reflects the priority of the command group since DACIOT needs to handle a large number of service requests from different companies at the same time. Formula (2) is used to calculate the value of network bandwidth consumed by the device control command; formula (3) is used to convey the system resource constraints of formula (2); formula (5) is to calculate the minimum value of network bandwidth consumed by all the group commands at the current time.Regarding 0-1 integer and linear programming, this paper proposes a multistage dynamic grouping access strategy (MSDGAS). The following paragraphs provide a detailed description on MSDGAS.


## 3.1. Analysis of the Dynamic Grouping Resource Allocation Problem

To solve the problem of mass data access of IoT, it needs to meet users’ demand of access request with a limited network load. With the confinement of the network service model, when the data access center meets an urgent service request, GRAP will face optimal resource competition, causing failure of the access request. This requires searching for a group of optimal solutions based on the confined network conditions in a dynamic network condition so that mass users’ requests can access DACIOT. In the process of requesting access, as lots of the control commands have certain common attributes, such as being in the same geographic area, taking control of the intelligent equipments with the same type, and so on, these commands can be clustered into different command groups by similar attributes and these groups are sent at the same time in order to save network bandwidth and improve the efficiency of access. Suppose there arek-command groups in a single access process, and each command group G contains N control commands. Moreover, each command C in the command group G denotes that one end user can take control of L intelligent equipments simultaneously. For the sake of presentation, if the control command C does not intend to control an intelligent device, the corresponding value in the command is set to 0. Furthermore, these k command groups can be regarded as k two-dimensional matrices with N rows and L columns, and each control command C can be considered as a vector with L dimensions after regularization. Since the high-quality resources are limited, different command groups will compete for resources in the process of access, and then each command group G will have a corresponding competition weight. Meanwhile, each smart device has a variety of control types, which take on different urgency in different scenarios. The urgency can be expressed by the weight value: the greater the value is, the more urgent the command group is. Choose the weight of the most urgent control type in control command C as the weight of this control command C, and then use the weight of all the control commands in the command group G to measure the urgency of this command group G, namely, the comprehensive competition λ. Therefore, to solve the group dynamic resource allocation problem under the condition of limited network resources is to find a set of optimal resource access path, coordinating these different command groups to be transmitted onto the corresponding intelligent equipments using the minimum resource load. Here is the detailed process of mathematical modeling of this problem.


## 3.2. Modeling Process of the Dynamic Grouping Resource Allocation Problem

It is assumed that the command group set:G1,G2,…,Gk, with a weight function λψψ∈1,2,…,k, which reflects the competitive ability of a command group in the process of service request access in terms of geometrical significance. Moreover, λψ has a range of values from 0 to 1, and the closer the value of λψ is to 1, the stronger the competitive ability of the corresponding command group. Conversely, the closer value of λψ to 0, the weaker the competitive ability. The request type set CAT is comprised of r command request types and CAT=cat1,cat2,…,catr. In the command group of Gψ, ψ∈1,2,…,k, C1,C2,…,Cm are service request commands of DACIOT, Ci refers to the ith service request command, and Ci=ci1,ci2,…,cinT, catiψ refers to the request type of the most urgent subcommand in Ci, and catiψ∈CAT. ϑcatiψ is the weight value of the request type catiψ, which is generally set according to the emergency degree of the commands in this request type upon initialization. Then, the weight value of Gψ can be represented as(1)λψ=∑i=1mϑcatiψ∑ψ=1k∑i=1mϑcatiψ.R
1
,
R
2
,
…
,
R
n represent the resource of DACIOT, Rj is the jth resource, LMi is the load metrics function consumed by the command Ci in resource access, and Ei is the load value consumed by the command Ci to acquire all the resources it needs and(2)Ei=∑d=1nLMicid.Φ
i is the resource confinement for Ci, Qψ is the resource confinement for command group Gψ, and FGψ is the objective function of command group Gψ at the current load confinement; Q means the system resource confinement and(3)Q≥∑ψ=1kQψ.Table1 presents the parameter list for the GRAP modeling, and a mathematically formalized description is given as follows.Table 1
Parameters of the GRAP modeling.
Parameters
Descriptions
k
The number of command groups
G
ψ
Theψth command group
CAT
The set of command request types
λ
ψ
The weight function of command groups
m
The number of service request commands
C
i
Theith service request command
cat
i
ψ
The request type of the most urgent subcommand inCi
ϑ
cat
i
ψ
The weight value ofcatiψ
n
The number of effective resources
R
j
Thejth resource
LM
i
The load metrics function consumed by the commandCi in resource access
E
i
The load value consumed byCi to acquire all the resources it needs
Φ
i
The resource confinement forCi
Q
ψ
The resource confinement forGψ
F
G
ψ
Objective function ofGψ at the current load confinement
Q
System total resource confinement
δ
i
j
The load value ofCi acquiring resource Rj
F
Objective function of GRAPGRAP: when the load function meets the measurement confining condition, the GRAP objective function will reach the optimal value (the minimum means the optimal):(4)minF=∑ψ=1kλψFGψ,(5)FGψ=∑i=1m∑d=1nLMicid,subjectto:Ei≤Φi,0≤λψ≤1,∑i=1mEi≤Qψ.In light of the GRAP characteristics, to obtain a convenient solution, GRAP can be converted into 0-1 integer and linear programming. Supposeδij refers to the load value in the process of command CiCi=ci1,ci2,…,cinT acquiring resource RjRj=rj1,rj2,…,rjnT, and(6)δij=∑d=1nLMiRjd,d∈1,2,…,n.Suppose λ1,λ2,…,λk are, respectively, the weight factors of command group G1,G2,…,Gk, then the mathematical model for the minimum load function of DACIOT is described as follows:(7)minF=λ1FG1+λ2FG2+…+λψFGψ+…+λkFGk,(8)FGψ=∑i=1m∑j=1nδijXij,s.t.∑i=1mXij=1,j=1,2,3,…,n∑j=1nXij=1,i=1,2,3,…,mXij∈0,1,∀i,jδij≤ϕij,0≤λψ≤1,∑i=1mEi≤Qψ.In (7), F represents the objective function, which reflects the total load value consumed by all the group commands acquiring all the computing resources in the practical scene; minF means the minimum objective function; and λψ refers the weight value of the command group Gψ, which reflects the competitive ability of the command group Gψ. In (8), FGψ means the load value consumed by the ψth command group acquiring the resource it needs in the real applications; δij refers to the load value of command Ci acquiring resource Rj; s.t. refers to the limited conditions of the objective function F; Xij=0 means command Ci does not acquire the resource Rj; Xij=1 means Ci acquires Rj successfully; and ϕij means the confinement when the service request command Ci matches the optimal resource Rj. In such a scenario, GRAP can be further defined as the problem to search for a set of optimal solutions so that the current objective function (7) is optimal (the minimum means optimal as a definition), when each of the request commands meets the condition of the load confinement.To make it easier to follow the above formulas, a real application of Smart Home described in reference [37] is taken, for example. As mentioned in the reference, Smart Home is a classic example of IoT, wherein smart appliances connected via home gateways constitute a local home network to assist people in activities of daily life, and the remote DACIOT controls the home gateways to build a wider network. Smart Home involves IoT-based automation (such as smart lighting, heating, window, power plug, and surveillance), remote monitoring, and control of smart appliances. In a scene, it starts to rain suddenly, and then twenty employees of the same company in a Central Business District will want to take control of smart appliances inside their own homes in the meantime. For example, the company employee Jack wants to query the screen of smart monitor device, turn off the smart window, and turn on heating and lighting appliance inside the home for his mother who is coming home. In general, the type of shutdown command has a higher priority than that of the query command, and the command of “turn off smart window” is the most urgent in this scene. As a supplement, each command of company employees has the properties of atomicity; in other words, Jack’s control command is effective as a whole only if all the subcommands (query the screen, turn off smart window, turn on heating, and lighting appliance) run successfully. For this scenario, because of the same properties of the geographic region, the twenty employees’ commands are classified as a same command group, and Gψ is used to represent the group of the twenty employees’ commands. Moreover, there are many companies in the Central Business District; that is, lots of command groups will be generated at the same time. The command type set CAT contains “turn off” which is coded as 1, “turn on” which is coded as 2, and “query” which is coded as 3; Jack’s command can be represented by Ci, and the command has many subcommands; the control command of Jack can be represented as Ci=3,1,2,2,0,0,0,0,0,0, where Cij=0 means that Jack does not take control of the jth appliance; the value of catiψ is “turn off” for Jack; λψ refers to the weight value of the command group composed of twenty employees’ commands; Ei means the network bandwidth consumed by Jack’s control command when the command is transmitted to the smart devices inside home; Qψ means the network bandwidth consumed by the twenty employees’ control command. Based on this, formula (1) is used to calculate the weight value of the company’s control command group on smart appliances at DACIOT. Furthermore, the weight value reflects the priority of the command group since DACIOT needs to handle a large number of service requests from different companies at the same time. Formula (2) is used to calculate the value of network bandwidth consumed by the device control command; formula (3) is used to convey the system resource constraints of formula (2); formula (5) is to calculate the minimum value of network bandwidth consumed by all the group commands at the current time.Regarding 0-1 integer and linear programming, this paper proposes a multistage dynamic grouping access strategy (MSDGAS). The following paragraphs provide a detailed description on MSDGAS.


## 4. Multistage Dynamic Grouping Access Strategy

The central idea of the MSDGAS is that when the amount of requests has become huge, the requests will be grouped based on certain properties at the users’ request side, and requests with similar properties are included into the same user group, which refers to the service request collection divided by the request type and attributes. A user group can be distinguished by the type of request or scene area, and each of the groups has more or less the same request amount. At the resource side of IoT, similar resources are divided into groups and each group’s resource volume varies. Their structure is shown in Figure2.Figure 2
Structure of MSDGAS.MSDGAS is composed of three main parts: ReqEthnic, ResGrp, and Dev. ReqEthnic means the user group, and each group has many requests; Req refers to the user’s request; for instance, the first request grouping includes the requestsReq1, Req2, and so on; ResGrp refers to resource grouping, and each grouping has a number of relevant resources; Res refers to the resources of DACIOT; for instance, the first resource grouping includes resource Res1, Res2, Res3, and Res4; Dev refers to the responding device, including Dev1,Dev2,…,Devn. In DACIOT, a large amount of service request at the ReqEthnic side will be grouped automatically, and then they will seek a group of optimal resources based on the constraint conditions of the request grouping from the ResGrp side. Finally, these service requests are transmitted to devices in the Dev side. MSDGAS first introduces optimized dynamic self-organizing feature maps (DSOM) to work on the dynamic grouping of the users’ access request. It then applies improved frog-leaping algorithms to search for the optimal path for the grouped access requests.


### 4.1. Optimized Dynamic Self-Organizing Feature Maps

#### 4.1.1. DSOM Introduction

Finnish scholar Kohonen first proposed an algorithm called self-organizing feature maps neural network (SOM) [38], which has been widely used in many fields of information processing based on the feature of distributed information storage, topographical structure maintenance, good self-organizing and self-learning ability, information visualization, nonsupervision clustering, and massive parallel processing. SOM not only includes an input layer but also contains a competitive layer, and the input layer is the status of full mesh with the competitive layer through each neuron which refers to one category [39]. According to the rules of learning, the objective of capturing the feature of each of the input models can be attained by repeated learning, and the self-organizing clustering will be carried out in these features. In the end, the cluster analysis results will be generated at the competitive layer. Figure 3 illustrates the topographical graph of SOM. The figure shows that the input layer is composed of N input neurons, and the competitive layer is composed of M output neurons. In the input layer, X1,X2,…,Xn denote the N input neurons and are mapped into the competitive output layer through clustering analysis. Dotted lines completely connect neurons between the input layer and the competitive layer. In order to acquire an accurate enough grouping result in the competitive layer, the repeated self-organizing clustering needs to be carried out. When making use of a SOM model, the number of neurons M is preset at the competitive layer, so the convergence speed will be astricted to a large extent. Therefore, under the environment of the Internet of things large-scale access requests, in order to meet the users’ access requests to realize self-organizing clustering based on their measurement nature, the method of SOM needs to be improved. In this sense, an optimized method of DSOM is proposed, which combines a disturbance factor and growing threshold. Here, variable ξ is used to represent the disturbance factor, and variable φ means the growing threshold. φ will affect the network structure growth dynamically among the training process, while ξ can regulate the growth direction of network and restrain it falling into local optimization. Consequently, the goal of hierarchy clustering is achieved.Figure 3
Topology of SOM neural network.The calculation method of growing thresholdφ is defined as follows:(9)φ=d×fξ×nt/1+nt,init=0d×fξ,otherwise,where nt refers to the current network node number at the tth time iteration; d represents input vector dimension; init=0 stands for the initial status; and fξ is called the hierarchical classification function.(10)fξ=1−ξ,ξ=randt;where randt is the random number, and the value of which ranges from 0 to 1 at the tth time of iteration.Definition 1.
Forv, the network’s input dimension vector, the nearest node is viewed as the best matching node at the competitive layer, and the abbreviation of the best matching node is bmn. Therefore, the formula is defined as(11)v−ωbmn≤v−ωni,∀ni∈N,where ω is regarded as the weight dimension vector of the node, ni is the ith network node, N stands for the total of ni, and • is called the Euclidean distance. v−ωbmn means the Euclidean distance between vector v and vector ωbmn, which is the weight dimension vector of bmn.Definition 2.
The distance between the input dimension vectorv and its best matching node bmn is regarded as the standard deviation value between them, which is represented by E. Therefore, the formula is defined as(12)E=∑k=1dvk−ωbmn,k2.
In the above formula, d is the dimension ofv.Definition 3.
The node of the competitive layerni and its direct subnode are referred to as the neighborhood of ni, which is called σni.


#### 4.1.2. Description of Optimized Dynamic SOM

N
=
n
0
,
n
1
,
n
2
,
…
,
n
m is the node set of the competitive layer, and V=v1,v2,…,vm stands for the input dimension vector set; vi=vi1,vi2,…,vid is the ith input dimension vector; d represents the dimension of the input vector; n0 is called the initial node; σkni denotes the neighborhoods of the node ni at the kth time of iteration, and σkni=σ0exp−k/τ where σ0 represents the initial value of σni which is a bigger value in general and τ is called the exponential decay constant. The process of DSOM algorithm is determined by the following steps.Step 1. Initiate the node n0, neighbourhoods σn0, weight dimension vector ωn0, and growth threshold φ; ωn0 is a random value ranging from 0 to 1, at the initial period t=1; φ is calculated according to formulas (9) and (10), and then each vector of the input vector set V is standardized between 0 and 1. When it is vi¯=∑j=1dvij21/2, the standardized vi is v˙i=vi1/vi¯,vi2/vi¯,…,vid/vi¯.Step 2. Select the input dimension vector sequentially from V, and search for the best matching node (bmn) of the vector v from the current network node collection N, calculated by formula (11).Step 3. Calculate the deviation between bmn and v as E according to formula (12). If E≤φ, skip to Step 4 for weight value updating operation; if not, go to Step 5 for the node growth operation.Step 4. Adjust bmn neighborhood’s weight value via formula (13).(13)ωnjk+1=ωnjk,j∉σk+1bmnωnjk+LRk×v˙−ωnjk,j∈σk+1bmn,In the above formula,LRk is the learning rate, when k→∞,LRk→0, and ωnjkandωnjk+1 are the weight values of nj prior and post adjustment, respectively. σk+1bmn is the neighborhood when bmn is at k+1 times of iteration.Step 5. Generate a new node np of bmn, and make ωnp=v˙.Step 6. LRt+1=LRt×α, α is the regulating factor of LR,0<α<1.Step 7. Repeat Step 2 to Step 6 till all input dimension vectors in V have been trained completely.Step 8. Make t=t+1, repeat Step 2 to Step 7, and enter into the next iteration period till no more new nodes are generated in the network.


### 4.2. Dynamic Niche-Based Shuffled Frog-Leaping Algorithm

The shuffled frog-leaping algorithm (SFLA), a new-type bionic group intelligent optimized algorithm, was proposed first by Eusuff and Lansey in 2003 for the purpose of combinatorial optimization [40]. The algorithm combines the merits of the two intelligent algorithms, namely, the meme algorithm based on meme evolution, and particle swarm optimization based on group behavior. It integrates the overall information exchange and local depth search with an aim to realize a balance between the overall search for the best and local solutions. This algorithm has advantages [41] such as its simple concept, fewer parameters to adjust, fast calculation, powerful overall searching for the best solution, and robustness. However, SFLA is not fast in convergence when it is working on a local search within a group, and it is easy to converge to the local best solution, which will further impact the algorithm’s overall convergence. In this regard, niche technology [42] is able to maintain the group diversity and constrain the overmature phenomenon effectively. Inspired by the niche technology, this paper proposes a dynamic niche shuffled frog-leaping algorithm (DNSFLA). The proposed DNSFLA absorbs the advantages of SFLA and niche technology, and it can find the global optimal solution with a faster and easier way. Furthermore, the essence of the proposed algorithm is to search the resource sequence for each group command from end users in the global resource space using parallel computing.


#### 4.2.1. Idea behind DNSFLA

In the traditional shuffled frog-leaping algorithm, groupP=X1,X2,…,XF is comprised of many frogs of the same structure, and each of the frogs represents a viable solution for the problem of optimization. fXi means the adaptability value of the individual frog Xi; individuals in Group P are arranged in order based on their adaptability values, and then the individual frogs in order are allocated into m groups; that is, the first frog is allocated into Group 1, the second into Group 2, the m into Group m, and m+1 into the Group 1, and so forth, till F frogs are evenly allocated into Group P and in each of the groups, there are the same number (n) of frogs. In this sense, F=m×n. Different groups can be regarded as frog collections with different thoughts. Each of the subgroups has its best adaptability Xb and the worst adaptability Xw. In the process of searching for the best solution among subgroups, it only needs to update the location of the worst solution Xw, and the formula for updating this is(14)Δ=rand×Xb−Xw,(15)Xw=Xw+Δ,−Δmax≤Δ≤Δmax.In the above formula,Δ is the length of movement, rand is the random number between 0 and 1, and Δmax is the maximum length of movement.After updatingXw, if a better solution is found, it will be applied to replace the worst solution Xw, otherwise the overall best solution Xg is used to replace Xb in formula (14), and the new solution is recalculated; if a better solution is not found, then a randomly generated new solution will be used to replace the worst solution Xw. This process is repeated till N, the predetermined evolutionary algebra, finishes the partial search amidst the subgroups. For the next step, all individuals in the subgroups are shuffled to form a new group P including F individual frogs, and their order is arranged from best to worst again, based on their adaptability for subgroup division and for next round of local search. Such an iteration is repeated till the termination condition is met.In the process of local search according to the above algorithm, as updating the worst solution relies on the best solution, the algorithm is inclined to fall into searching for the local best, and the coefficient of the length of movement is a random function, which can make the algorithm premature and converge after several iterations. The DNSFLA algorithm, which is based on SFLA algorithm, applies the advantages of niche technology to maintain the solutions’ diversity and has a better capacity in the overall search for an optimal solution and convergence and speeds up the elimination of the worst solution and increases the accuracy of the best solution. The idea behind the DNSFLA algorithm is that after dividing the subgroups by the SFLA algorithm, Chebyshev distance [43] is compared in pairs between Xib and Xjb of the subgroups:(16)DXib,Xjb=maxdXibd−Xjbd.IfDXib,Xjb is smaller than niche distance L, the individual with the smaller value of adaptability in Xib and Xjb is allocated with a punishment function gXb with the aim to change the adaptability value and place this individual into the subgroup which was initially to replace the original partially best individual and carry out the new local search till the iteration ends.


#### 4.2.2. Realization of DNSFLA

In light of the aforementioned, the steps to realize the DNSFLA algorithm are detailed as follows:(1)
Initiate parameters includingF, the total number of group solutions (frog); m, the number of the subgroups; n, the number of solutions in each of the subgroups; d, the number of problem dimension; G, times of shuffled iteration; N, times of partially updating each of the subgroups; Dmax, the maximum length of movement of solutions; L, the niche radius; fX, the function calculating adaptability; and Δmin, the minimum change value of adaptability function. In the area of viable solutions, they will randomly generate F solutions, which form a group P=X1,X2,…,XF, and fXi the adaptability values of each of solutions are calculated, of which the ith solution is described as Xi=Xi1,Xi2,Xi3,…,Xid.(2)
All viable solutions inP are arranged in an A–Z order, and Xg, the highest adaptability, is recorded as the best solution in the entire collection of the viable solutions, that is, the overall best solution. Then, divide group P into m groups and form subgroups and place the first solution into the first group, the second solution into the second group, No. m solution into the No. m group, and the No. m+1 into the first group. Each of the subgroup has n solutions. Separately record the solution of the maximum adaptability of each of the groups as Xb, and the solution of the minimum adaptability of each of the groups as Xw.(3)
Place the best solution of each of the subgroup into the niche groupDN, that is, DN=X1b,X2b,…,Xmb; No. i and No. j best solutions are Xib and Xjb, respectively; set i=1 and j=1.(4)
Ifi≠m−1, then compare the Chebyshev distance between the best solution of No. i (1≤i≤m−1) and the best solution of No. j (i+1≤j≤m) in DN; otherwise, turn to step (6).(5)
IfDXib,Xjb<L, in which L is the niche radius and j≠m, set j=j+1, otherwise set i=i+1 and j=j+1; return to step (4); If DXib,Xjb>L and fXib>fXjb, use punishment coefficient gXb to update fXib, randomly initiate Xib, and place the best solution Xib into the responding subgroup to recalculate the partial best solution; otherwise, update fXjb, randomly initiate Xjb, and return to step (4).(6)
If each of the subgroups has the best solution, then move to step (7); otherwise, return to step (3) and compare the best solutions of the subgroups again.(7)
For each of the subgroups, update the worst solutionXw via formulas (14) and (15), and the adaptability value of the worst solution after updating f′Xw is compared to that of the original fXw. If f′Xw<fXw, replace the original solution with the updated worst solution; otherwise, calculate the length of movement of the worst solution:(17)Δi=rand×iN×Xg−Xw,i=1,2,…,N.Update the location of the worst solutionXw as per formula (15). In the formula, i is the number of iterations for the current local search. Then, the adaptability value of the worst solution after updating f″Xw is compared to that of the original fXw. If f″Xw<fXw, replace the original solution with the updated worst solution; otherwise, it will randomly generate a new solution to replace the original worst solution.(8)
Judge if the predecided local evolution algebraN has been reached. If yes, a round of local search in each of subgroups has finished; otherwise, return to step (7).(9)
After finishing the partial evolution, calculate the variation of the adaptability of the best solution of each of the subgroups. If the variation is smaller than a comparatively small value within the predecided continual algebra, then the relevant subgroup is eliminated and initiated randomly; otherwise, reshuffle the solutions of all subgroups and form them into a complete group includingF solutions.(10)
Judge if it meets the predecided times of shuffled iteration or termination conditions. If yes, the algorithm is finished; otherwise, return to step (2), and continue to do the next round of local search.The core of the DNSFLA algorithm is the local search and the elimination mechanism of the subgroups. In order to assist it to understand, DNSFLA is decomposed into two subalgorithms (Algorithm1 and Algorithm 2), and both the pseudocodes are given below, respectively.Algorithm 1: Local search of DNSFLA.
(1)
Initializem,Dmax,L,fX,gX,P=X1,X2,…,XF, and i=1,j=1
(2)
for i≠m−1 do
(3)
CalculateDXib,Xjb
(4)
if DXib,Xjb<L then
(5)
if j≠m then
(6)
j=j+1;
(7)
else
(8)
i=i+1,j=j+1
(9)
end if
(10)
end if
(11)
if DXib,Xjb>L then
(12)
if fXib>fXjb then
(13)
fXib=gXb
(14)
Randomly generateXib
(15)
else
(16)
updatefXjb, and initialize Xjb
(17)
end if
(18)
end if
(19)
end forAlgorithm 2: Elimination mechanism of DNSFLA.
(1)
InitializefX,gX,P=X1,X2,…,XF
(2)
Update the worst solutionXwvia formulas (14) and (15), recorded as f′Xw
(3)
if f′Xw<fXw then
(4)
fXw=f′Xw
(5)
else
(6)
Δi=rand×i/N×Xg−Xw,Xw=Xw+Δi
(7)
Record the adaptability value after updating asf″Xw
(8)
if f″Xw<fXw then
(9)
fXw=f″Xw
(10)
else
(11)
randomly generate a new solution to replace the original worst solution
(12)
end if
(13)
end ifAlgorithm1 shows the pseudocode of the local search, and the elimination mechanism’s pseudocode is shown in Algorithm 2.Combine Algorithm1 and Algorithm 2, then the pseudocode of the DNSFLA algorithm is as shown in Algorithm 3.Algorithm 3: Dynamic niche-based shuffled frog-leaping algorithm (DNSFLA).
(1)
InitializeF,d,G,N,fX,Δmin,P=X1,X2,…,XF and gt=0,lt=0
(2)
for i=1:F do
(3)
CalculatefXi, and Xi=Xi1,Xi2,Xi3,…,Xid
(4)
end for
(5)
repeat
(6)
DescendingfXi and record the best solution Xg
(7)
for j=1:m do
(8)
CalculateXg and Xw, put Xb into niche group DN
(9)
ChooseXib and Xjb
(10)
SearchXw using Algorithm 1
(11)
repeat
(12)
UpdateXw using Algorithm 2
(13)
lt=lt+1
(14)
until lt=N
(15)
Calculate the variation offXb, recorded as ΔfXb
(16)
if ΔfXb<Δmin then
(17)
InitiatedXj randomly
(18)
else
(19)
Reshuffle the solutions of all subgroups
(20)
end if
(21)
end for
(22)
gt=gt+1
(23)
until gt=G


### 4.3. Steps for MSDGAS

Depending on the previously mentioned DSOM and DNSFLA, the steps in detail that realize the MSDGAS strategy are given as follows.Step 1. Initiate GRAP and its relevant functions and parameters, give GRAP’s relevant measurement parameters and confinement condition, and move to Step 2.Step 2. Simplify GRAP into 0-1 programming, convert the relevant functions and confinement conditions, and move to Step 3.Step 3. Specific to 0-1 programming, dynamic grouping is carried out based on the DSOM algorithm, and move to Step 4.Step 4. Specific to the grouped request models, calculate the model result based fon the DNSFLA algorithm, and move to Step 5.Step 5. Save the calculation result and exit.


### 4.4. Analysis of MSDGAS

MSDGAS is made up of two parts, the DSOM algorithm and the DNSFLA algorithm. In DSOM, theφ value determines the network growth size. When the value of φ is larger, the DSOM algorithm applies the weight value update operation more frequently; less nodes are generated in the objective network, but it generates a network at a faster speed and can only realize coarse-granularity clustering. On the other hand, when the value of φ is smaller, the DSOM algorithm applies more node growing operations, and more nodes are generated in the objective network, but it generates a network at a slower speed and can realize fine-granularity clustering.After introducing disturbance factor (ξ), ξ tends to set a larger value when it is initiated. From formula (10), it can be seen that φ is comparatively small at this moment and can make a rough classification of the transmission command, which is able to have a holistic mastering of the group transmission command. As the number of iterations increase, the value of ξ will increase, and an accurate clustering result can be acquired and so can layered clustering. Further, from formula (9), it can be seen that an increasing number of iterations will lead to a weaker strength of φ in adjustment and higher weight value updating. Select the properties playing a bigger role in the clustering result and ignore the properties playing a lesser role to decrease the number of dimensions of clustering as this will reduce the workload of the calculation and further enhance the algorithm’s convergence speed and efficiency.The work in [44] prudently demonstrates the convergence of SFLA algorithm by applying the Markov mathematical analysis model. The DNSFLA algorithm in this paper ensures that the SFLA algorithm has a higher capacity of overall searching for the best solution and convergence speed through introducing niche technology to maintain the solutions’ diversity. It prevents the SFLA algorithm from becoming “premature” after the local search is done for a certain number of iterations. In the process of updating the worst solution, the calculation of the length of movement is improved by using formula (17). At the initial period of evolution, the length factor is made smaller to expand the search scope, forcing the algorithm to search for better space for viable solution at a faster pace. With the increase of the number of evolutions, the length factor will gradually grow and the overall search capacity of the solution will be enhanced, which is beneficial to a frog to leap out of the partial best, and hence speed up the algorithm’s convergence speed. Both the proposed DSOM and DNSFLA have a wide range of real application scenarios. For reference, the rudiment example of formulas included in the DSOM algorithm can be found in [45, 46], and the rudiment example of formulas included in the DNSFLA algorithm can be found in [47, 48]. To make it easier to follow the formulas proposed in this section, we still take the application of Smart Home described in reference [37] as an example. Formula (9) is used to calculate the value of growing threshold, which reflects the precision of the control command clustering. In this practical scenario, there is diversity upon control commands on different smart appliances from different families. Formula (16) is used to calculate the distance metric of two objective resources in the scenario, which suppresses the convergence due to collaboration of control command groups, enhances the global optimization ability of the algorithm, and improves the convergence speed under current conditions. Besides, the role of formula (17) is to lead the control commands of company employees to move towards the direction of optimal resource in DACIOT.In terms of MSDGAS execution complexity, the number of the SOM algorithm iterations ist, the number of input nodes is N, the maximum number at each iteration is NlogN, the maximum space occupied is N, the overall time complexity after t iterations is Ot×NlogN, and the space complexity is ON. For the DNSFLA algorithm, the mixed iteration number is G, the solution number is F, run time complexity is OG×F2, and space complexity is OF. Hence, MSDGAS’ execution time complexity is OMaxt×NlogN,G×F2. However, in the process of actual operation, G×F2 is greater than t×NlogN and N is greater than F; therefore, the time complexity of MSDGAS is OG×F2, and space complexity is ON.


## 4.1. Optimized Dynamic Self-Organizing Feature Maps

### 4.1.1. DSOM Introduction

Finnish scholar Kohonen first proposed an algorithm called self-organizing feature maps neural network (SOM) [38], which has been widely used in many fields of information processing based on the feature of distributed information storage, topographical structure maintenance, good self-organizing and self-learning ability, information visualization, nonsupervision clustering, and massive parallel processing. SOM not only includes an input layer but also contains a competitive layer, and the input layer is the status of full mesh with the competitive layer through each neuron which refers to one category [39]. According to the rules of learning, the objective of capturing the feature of each of the input models can be attained by repeated learning, and the self-organizing clustering will be carried out in these features. In the end, the cluster analysis results will be generated at the competitive layer. Figure 3 illustrates the topographical graph of SOM. The figure shows that the input layer is composed of N input neurons, and the competitive layer is composed of M output neurons. In the input layer, X1,X2,…,Xn denote the N input neurons and are mapped into the competitive output layer through clustering analysis. Dotted lines completely connect neurons between the input layer and the competitive layer. In order to acquire an accurate enough grouping result in the competitive layer, the repeated self-organizing clustering needs to be carried out. When making use of a SOM model, the number of neurons M is preset at the competitive layer, so the convergence speed will be astricted to a large extent. Therefore, under the environment of the Internet of things large-scale access requests, in order to meet the users’ access requests to realize self-organizing clustering based on their measurement nature, the method of SOM needs to be improved. In this sense, an optimized method of DSOM is proposed, which combines a disturbance factor and growing threshold. Here, variable ξ is used to represent the disturbance factor, and variable φ means the growing threshold. φ will affect the network structure growth dynamically among the training process, while ξ can regulate the growth direction of network and restrain it falling into local optimization. Consequently, the goal of hierarchy clustering is achieved.Figure 3
Topology of SOM neural network.The calculation method of growing thresholdφ is defined as follows:(9)φ=d×fξ×nt/1+nt,init=0d×fξ,otherwise,where nt refers to the current network node number at the tth time iteration; d represents input vector dimension; init=0 stands for the initial status; and fξ is called the hierarchical classification function.(10)fξ=1−ξ,ξ=randt;where randt is the random number, and the value of which ranges from 0 to 1 at the tth time of iteration.Definition 1.
Forv, the network’s input dimension vector, the nearest node is viewed as the best matching node at the competitive layer, and the abbreviation of the best matching node is bmn. Therefore, the formula is defined as(11)v−ωbmn≤v−ωni,∀ni∈N,where ω is regarded as the weight dimension vector of the node, ni is the ith network node, N stands for the total of ni, and • is called the Euclidean distance. v−ωbmn means the Euclidean distance between vector v and vector ωbmn, which is the weight dimension vector of bmn.Definition 2.
The distance between the input dimension vectorv and its best matching node bmn is regarded as the standard deviation value between them, which is represented by E. Therefore, the formula is defined as(12)E=∑k=1dvk−ωbmn,k2.
In the above formula, d is the dimension ofv.Definition 3.
The node of the competitive layerni and its direct subnode are referred to as the neighborhood of ni, which is called σni.


### 4.1.2. Description of Optimized Dynamic SOM

N
=
n
0
,
n
1
,
n
2
,
…
,
n
m is the node set of the competitive layer, and V=v1,v2,…,vm stands for the input dimension vector set; vi=vi1,vi2,…,vid is the ith input dimension vector; d represents the dimension of the input vector; n0 is called the initial node; σkni denotes the neighborhoods of the node ni at the kth time of iteration, and σkni=σ0exp−k/τ where σ0 represents the initial value of σni which is a bigger value in general and τ is called the exponential decay constant. The process of DSOM algorithm is determined by the following steps.Step 1. Initiate the node n0, neighbourhoods σn0, weight dimension vector ωn0, and growth threshold φ; ωn0 is a random value ranging from 0 to 1, at the initial period t=1; φ is calculated according to formulas (9) and (10), and then each vector of the input vector set V is standardized between 0 and 1. When it is vi¯=∑j=1dvij21/2, the standardized vi is v˙i=vi1/vi¯,vi2/vi¯,…,vid/vi¯.Step 2. Select the input dimension vector sequentially from V, and search for the best matching node (bmn) of the vector v from the current network node collection N, calculated by formula (11).Step 3. Calculate the deviation between bmn and v as E according to formula (12). If E≤φ, skip to Step 4 for weight value updating operation; if not, go to Step 5 for the node growth operation.Step 4. Adjust bmn neighborhood’s weight value via formula (13).(13)ωnjk+1=ωnjk,j∉σk+1bmnωnjk+LRk×v˙−ωnjk,j∈σk+1bmn,In the above formula,LRk is the learning rate, when k→∞,LRk→0, and ωnjkandωnjk+1 are the weight values of nj prior and post adjustment, respectively. σk+1bmn is the neighborhood when bmn is at k+1 times of iteration.Step 5. Generate a new node np of bmn, and make ωnp=v˙.Step 6. LRt+1=LRt×α, α is the regulating factor of LR,0<α<1.Step 7. Repeat Step 2 to Step 6 till all input dimension vectors in V have been trained completely.Step 8. Make t=t+1, repeat Step 2 to Step 7, and enter into the next iteration period till no more new nodes are generated in the network.


## 4.1.1. DSOM Introduction

Finnish scholar Kohonen first proposed an algorithm called self-organizing feature maps neural network (SOM) [38], which has been widely used in many fields of information processing based on the feature of distributed information storage, topographical structure maintenance, good self-organizing and self-learning ability, information visualization, nonsupervision clustering, and massive parallel processing. SOM not only includes an input layer but also contains a competitive layer, and the input layer is the status of full mesh with the competitive layer through each neuron which refers to one category [39]. According to the rules of learning, the objective of capturing the feature of each of the input models can be attained by repeated learning, and the self-organizing clustering will be carried out in these features. In the end, the cluster analysis results will be generated at the competitive layer. Figure 3 illustrates the topographical graph of SOM. The figure shows that the input layer is composed of N input neurons, and the competitive layer is composed of M output neurons. In the input layer, X1,X2,…,Xn denote the N input neurons and are mapped into the competitive output layer through clustering analysis. Dotted lines completely connect neurons between the input layer and the competitive layer. In order to acquire an accurate enough grouping result in the competitive layer, the repeated self-organizing clustering needs to be carried out. When making use of a SOM model, the number of neurons M is preset at the competitive layer, so the convergence speed will be astricted to a large extent. Therefore, under the environment of the Internet of things large-scale access requests, in order to meet the users’ access requests to realize self-organizing clustering based on their measurement nature, the method of SOM needs to be improved. In this sense, an optimized method of DSOM is proposed, which combines a disturbance factor and growing threshold. Here, variable ξ is used to represent the disturbance factor, and variable φ means the growing threshold. φ will affect the network structure growth dynamically among the training process, while ξ can regulate the growth direction of network and restrain it falling into local optimization. Consequently, the goal of hierarchy clustering is achieved.Figure 3
Topology of SOM neural network.The calculation method of growing thresholdφ is defined as follows:(9)φ=d×fξ×nt/1+nt,init=0d×fξ,otherwise,where nt refers to the current network node number at the tth time iteration; d represents input vector dimension; init=0 stands for the initial status; and fξ is called the hierarchical classification function.(10)fξ=1−ξ,ξ=randt;where randt is the random number, and the value of which ranges from 0 to 1 at the tth time of iteration.Definition 1.
Forv, the network’s input dimension vector, the nearest node is viewed as the best matching node at the competitive layer, and the abbreviation of the best matching node is bmn. Therefore, the formula is defined as(11)v−ωbmn≤v−ωni,∀ni∈N,where ω is regarded as the weight dimension vector of the node, ni is the ith network node, N stands for the total of ni, and • is called the Euclidean distance. v−ωbmn means the Euclidean distance between vector v and vector ωbmn, which is the weight dimension vector of bmn.Definition 2.
The distance between the input dimension vectorv and its best matching node bmn is regarded as the standard deviation value between them, which is represented by E. Therefore, the formula is defined as(12)E=∑k=1dvk−ωbmn,k2.
In the above formula, d is the dimension ofv.Definition 3.
The node of the competitive layerni and its direct subnode are referred to as the neighborhood of ni, which is called σni.


## 4.1.2. Description of Optimized Dynamic SOM

N
=
n
0
,
n
1
,
n
2
,
…
,
n
m is the node set of the competitive layer, and V=v1,v2,…,vm stands for the input dimension vector set; vi=vi1,vi2,…,vid is the ith input dimension vector; d represents the dimension of the input vector; n0 is called the initial node; σkni denotes the neighborhoods of the node ni at the kth time of iteration, and σkni=σ0exp−k/τ where σ0 represents the initial value of σni which is a bigger value in general and τ is called the exponential decay constant. The process of DSOM algorithm is determined by the following steps.Step 1. Initiate the node n0, neighbourhoods σn0, weight dimension vector ωn0, and growth threshold φ; ωn0 is a random value ranging from 0 to 1, at the initial period t=1; φ is calculated according to formulas (9) and (10), and then each vector of the input vector set V is standardized between 0 and 1. When it is vi¯=∑j=1dvij21/2, the standardized vi is v˙i=vi1/vi¯,vi2/vi¯,…,vid/vi¯.Step 2. Select the input dimension vector sequentially from V, and search for the best matching node (bmn) of the vector v from the current network node collection N, calculated by formula (11).Step 3. Calculate the deviation between bmn and v as E according to formula (12). If E≤φ, skip to Step 4 for weight value updating operation; if not, go to Step 5 for the node growth operation.Step 4. Adjust bmn neighborhood’s weight value via formula (13).(13)ωnjk+1=ωnjk,j∉σk+1bmnωnjk+LRk×v˙−ωnjk,j∈σk+1bmn,In the above formula,LRk is the learning rate, when k→∞,LRk→0, and ωnjkandωnjk+1 are the weight values of nj prior and post adjustment, respectively. σk+1bmn is the neighborhood when bmn is at k+1 times of iteration.Step 5. Generate a new node np of bmn, and make ωnp=v˙.Step 6. LRt+1=LRt×α, α is the regulating factor of LR,0<α<1.Step 7. Repeat Step 2 to Step 6 till all input dimension vectors in V have been trained completely.Step 8. Make t=t+1, repeat Step 2 to Step 7, and enter into the next iteration period till no more new nodes are generated in the network.


## 4.2. Dynamic Niche-Based Shuffled Frog-Leaping Algorithm

The shuffled frog-leaping algorithm (SFLA), a new-type bionic group intelligent optimized algorithm, was proposed first by Eusuff and Lansey in 2003 for the purpose of combinatorial optimization [40]. The algorithm combines the merits of the two intelligent algorithms, namely, the meme algorithm based on meme evolution, and particle swarm optimization based on group behavior. It integrates the overall information exchange and local depth search with an aim to realize a balance between the overall search for the best and local solutions. This algorithm has advantages [41] such as its simple concept, fewer parameters to adjust, fast calculation, powerful overall searching for the best solution, and robustness. However, SFLA is not fast in convergence when it is working on a local search within a group, and it is easy to converge to the local best solution, which will further impact the algorithm’s overall convergence. In this regard, niche technology [42] is able to maintain the group diversity and constrain the overmature phenomenon effectively. Inspired by the niche technology, this paper proposes a dynamic niche shuffled frog-leaping algorithm (DNSFLA). The proposed DNSFLA absorbs the advantages of SFLA and niche technology, and it can find the global optimal solution with a faster and easier way. Furthermore, the essence of the proposed algorithm is to search the resource sequence for each group command from end users in the global resource space using parallel computing.


### 4.2.1. Idea behind DNSFLA

In the traditional shuffled frog-leaping algorithm, groupP=X1,X2,…,XF is comprised of many frogs of the same structure, and each of the frogs represents a viable solution for the problem of optimization. fXi means the adaptability value of the individual frog Xi; individuals in Group P are arranged in order based on their adaptability values, and then the individual frogs in order are allocated into m groups; that is, the first frog is allocated into Group 1, the second into Group 2, the m into Group m, and m+1 into the Group 1, and so forth, till F frogs are evenly allocated into Group P and in each of the groups, there are the same number (n) of frogs. In this sense, F=m×n. Different groups can be regarded as frog collections with different thoughts. Each of the subgroups has its best adaptability Xb and the worst adaptability Xw. In the process of searching for the best solution among subgroups, it only needs to update the location of the worst solution Xw, and the formula for updating this is(14)Δ=rand×Xb−Xw,(15)Xw=Xw+Δ,−Δmax≤Δ≤Δmax.In the above formula,Δ is the length of movement, rand is the random number between 0 and 1, and Δmax is the maximum length of movement.After updatingXw, if a better solution is found, it will be applied to replace the worst solution Xw, otherwise the overall best solution Xg is used to replace Xb in formula (14), and the new solution is recalculated; if a better solution is not found, then a randomly generated new solution will be used to replace the worst solution Xw. This process is repeated till N, the predetermined evolutionary algebra, finishes the partial search amidst the subgroups. For the next step, all individuals in the subgroups are shuffled to form a new group P including F individual frogs, and their order is arranged from best to worst again, based on their adaptability for subgroup division and for next round of local search. Such an iteration is repeated till the termination condition is met.In the process of local search according to the above algorithm, as updating the worst solution relies on the best solution, the algorithm is inclined to fall into searching for the local best, and the coefficient of the length of movement is a random function, which can make the algorithm premature and converge after several iterations. The DNSFLA algorithm, which is based on SFLA algorithm, applies the advantages of niche technology to maintain the solutions’ diversity and has a better capacity in the overall search for an optimal solution and convergence and speeds up the elimination of the worst solution and increases the accuracy of the best solution. The idea behind the DNSFLA algorithm is that after dividing the subgroups by the SFLA algorithm, Chebyshev distance [43] is compared in pairs between Xib and Xjb of the subgroups:(16)DXib,Xjb=maxdXibd−Xjbd.IfDXib,Xjb is smaller than niche distance L, the individual with the smaller value of adaptability in Xib and Xjb is allocated with a punishment function gXb with the aim to change the adaptability value and place this individual into the subgroup which was initially to replace the original partially best individual and carry out the new local search till the iteration ends.


### 4.2.2. Realization of DNSFLA

In light of the aforementioned, the steps to realize the DNSFLA algorithm are detailed as follows:(1)
Initiate parameters includingF, the total number of group solutions (frog); m, the number of the subgroups; n, the number of solutions in each of the subgroups; d, the number of problem dimension; G, times of shuffled iteration; N, times of partially updating each of the subgroups; Dmax, the maximum length of movement of solutions; L, the niche radius; fX, the function calculating adaptability; and Δmin, the minimum change value of adaptability function. In the area of viable solutions, they will randomly generate F solutions, which form a group P=X1,X2,…,XF, and fXi the adaptability values of each of solutions are calculated, of which the ith solution is described as Xi=Xi1,Xi2,Xi3,…,Xid.(2)
All viable solutions inP are arranged in an A–Z order, and Xg, the highest adaptability, is recorded as the best solution in the entire collection of the viable solutions, that is, the overall best solution. Then, divide group P into m groups and form subgroups and place the first solution into the first group, the second solution into the second group, No. m solution into the No. m group, and the No. m+1 into the first group. Each of the subgroup has n solutions. Separately record the solution of the maximum adaptability of each of the groups as Xb, and the solution of the minimum adaptability of each of the groups as Xw.(3)
Place the best solution of each of the subgroup into the niche groupDN, that is, DN=X1b,X2b,…,Xmb; No. i and No. j best solutions are Xib and Xjb, respectively; set i=1 and j=1.(4)
Ifi≠m−1, then compare the Chebyshev distance between the best solution of No. i (1≤i≤m−1) and the best solution of No. j (i+1≤j≤m) in DN; otherwise, turn to step (6).(5)
IfDXib,Xjb<L, in which L is the niche radius and j≠m, set j=j+1, otherwise set i=i+1 and j=j+1; return to step (4); If DXib,Xjb>L and fXib>fXjb, use punishment coefficient gXb to update fXib, randomly initiate Xib, and place the best solution Xib into the responding subgroup to recalculate the partial best solution; otherwise, update fXjb, randomly initiate Xjb, and return to step (4).(6)
If each of the subgroups has the best solution, then move to step (7); otherwise, return to step (3) and compare the best solutions of the subgroups again.(7)
For each of the subgroups, update the worst solutionXw via formulas (14) and (15), and the adaptability value of the worst solution after updating f′Xw is compared to that of the original fXw. If f′Xw<fXw, replace the original solution with the updated worst solution; otherwise, calculate the length of movement of the worst solution:(17)Δi=rand×iN×Xg−Xw,i=1,2,…,N.Update the location of the worst solutionXw as per formula (15). In the formula, i is the number of iterations for the current local search. Then, the adaptability value of the worst solution after updating f″Xw is compared to that of the original fXw. If f″Xw<fXw, replace the original solution with the updated worst solution; otherwise, it will randomly generate a new solution to replace the original worst solution.(8)
Judge if the predecided local evolution algebraN has been reached. If yes, a round of local search in each of subgroups has finished; otherwise, return to step (7).(9)
After finishing the partial evolution, calculate the variation of the adaptability of the best solution of each of the subgroups. If the variation is smaller than a comparatively small value within the predecided continual algebra, then the relevant subgroup is eliminated and initiated randomly; otherwise, reshuffle the solutions of all subgroups and form them into a complete group includingF solutions.(10)
Judge if it meets the predecided times of shuffled iteration or termination conditions. If yes, the algorithm is finished; otherwise, return to step (2), and continue to do the next round of local search.The core of the DNSFLA algorithm is the local search and the elimination mechanism of the subgroups. In order to assist it to understand, DNSFLA is decomposed into two subalgorithms (Algorithm1 and Algorithm 2), and both the pseudocodes are given below, respectively.Algorithm 1: Local search of DNSFLA.
(1)
Initializem,Dmax,L,fX,gX,P=X1,X2,…,XF, and i=1,j=1
(2)
for i≠m−1 do
(3)
CalculateDXib,Xjb
(4)
if DXib,Xjb<L then
(5)
if j≠m then
(6)
j=j+1;
(7)
else
(8)
i=i+1,j=j+1
(9)
end if
(10)
end if
(11)
if DXib,Xjb>L then
(12)
if fXib>fXjb then
(13)
fXib=gXb
(14)
Randomly generateXib
(15)
else
(16)
updatefXjb, and initialize Xjb
(17)
end if
(18)
end if
(19)
end forAlgorithm 2: Elimination mechanism of DNSFLA.
(1)
InitializefX,gX,P=X1,X2,…,XF
(2)
Update the worst solutionXwvia formulas (14) and (15), recorded as f′Xw
(3)
if f′Xw<fXw then
(4)
fXw=f′Xw
(5)
else
(6)
Δi=rand×i/N×Xg−Xw,Xw=Xw+Δi
(7)
Record the adaptability value after updating asf″Xw
(8)
if f″Xw<fXw then
(9)
fXw=f″Xw
(10)
else
(11)
randomly generate a new solution to replace the original worst solution
(12)
end if
(13)
end ifAlgorithm1 shows the pseudocode of the local search, and the elimination mechanism’s pseudocode is shown in Algorithm 2.Combine Algorithm1 and Algorithm 2, then the pseudocode of the DNSFLA algorithm is as shown in Algorithm 3.Algorithm 3: Dynamic niche-based shuffled frog-leaping algorithm (DNSFLA).
(1)
InitializeF,d,G,N,fX,Δmin,P=X1,X2,…,XF and gt=0,lt=0
(2)
for i=1:F do
(3)
CalculatefXi, and Xi=Xi1,Xi2,Xi3,…,Xid
(4)
end for
(5)
repeat
(6)
DescendingfXi and record the best solution Xg
(7)
for j=1:m do
(8)
CalculateXg and Xw, put Xb into niche group DN
(9)
ChooseXib and Xjb
(10)
SearchXw using Algorithm 1
(11)
repeat
(12)
UpdateXw using Algorithm 2
(13)
lt=lt+1
(14)
until lt=N
(15)
Calculate the variation offXb, recorded as ΔfXb
(16)
if ΔfXb<Δmin then
(17)
InitiatedXj randomly
(18)
else
(19)
Reshuffle the solutions of all subgroups
(20)
end if
(21)
end for
(22)
gt=gt+1
(23)
until gt=G


## 4.2.1. Idea behind DNSFLA

In the traditional shuffled frog-leaping algorithm, groupP=X1,X2,…,XF is comprised of many frogs of the same structure, and each of the frogs represents a viable solution for the problem of optimization. fXi means the adaptability value of the individual frog Xi; individuals in Group P are arranged in order based on their adaptability values, and then the individual frogs in order are allocated into m groups; that is, the first frog is allocated into Group 1, the second into Group 2, the m into Group m, and m+1 into the Group 1, and so forth, till F frogs are evenly allocated into Group P and in each of the groups, there are the same number (n) of frogs. In this sense, F=m×n. Different groups can be regarded as frog collections with different thoughts. Each of the subgroups has its best adaptability Xb and the worst adaptability Xw. In the process of searching for the best solution among subgroups, it only needs to update the location of the worst solution Xw, and the formula for updating this is(14)Δ=rand×Xb−Xw,(15)Xw=Xw+Δ,−Δmax≤Δ≤Δmax.In the above formula,Δ is the length of movement, rand is the random number between 0 and 1, and Δmax is the maximum length of movement.After updatingXw, if a better solution is found, it will be applied to replace the worst solution Xw, otherwise the overall best solution Xg is used to replace Xb in formula (14), and the new solution is recalculated; if a better solution is not found, then a randomly generated new solution will be used to replace the worst solution Xw. This process is repeated till N, the predetermined evolutionary algebra, finishes the partial search amidst the subgroups. For the next step, all individuals in the subgroups are shuffled to form a new group P including F individual frogs, and their order is arranged from best to worst again, based on their adaptability for subgroup division and for next round of local search. Such an iteration is repeated till the termination condition is met.In the process of local search according to the above algorithm, as updating the worst solution relies on the best solution, the algorithm is inclined to fall into searching for the local best, and the coefficient of the length of movement is a random function, which can make the algorithm premature and converge after several iterations. The DNSFLA algorithm, which is based on SFLA algorithm, applies the advantages of niche technology to maintain the solutions’ diversity and has a better capacity in the overall search for an optimal solution and convergence and speeds up the elimination of the worst solution and increases the accuracy of the best solution. The idea behind the DNSFLA algorithm is that after dividing the subgroups by the SFLA algorithm, Chebyshev distance [43] is compared in pairs between Xib and Xjb of the subgroups:(16)DXib,Xjb=maxdXibd−Xjbd.IfDXib,Xjb is smaller than niche distance L, the individual with the smaller value of adaptability in Xib and Xjb is allocated with a punishment function gXb with the aim to change the adaptability value and place this individual into the subgroup which was initially to replace the original partially best individual and carry out the new local search till the iteration ends.


## 4.2.2. Realization of DNSFLA

In light of the aforementioned, the steps to realize the DNSFLA algorithm are detailed as follows:(1)
Initiate parameters includingF, the total number of group solutions (frog); m, the number of the subgroups; n, the number of solutions in each of the subgroups; d, the number of problem dimension; G, times of shuffled iteration; N, times of partially updating each of the subgroups; Dmax, the maximum length of movement of solutions; L, the niche radius; fX, the function calculating adaptability; and Δmin, the minimum change value of adaptability function. In the area of viable solutions, they will randomly generate F solutions, which form a group P=X1,X2,…,XF, and fXi the adaptability values of each of solutions are calculated, of which the ith solution is described as Xi=Xi1,Xi2,Xi3,…,Xid.(2)
All viable solutions inP are arranged in an A–Z order, and Xg, the highest adaptability, is recorded as the best solution in the entire collection of the viable solutions, that is, the overall best solution. Then, divide group P into m groups and form subgroups and place the first solution into the first group, the second solution into the second group, No. m solution into the No. m group, and the No. m+1 into the first group. Each of the subgroup has n solutions. Separately record the solution of the maximum adaptability of each of the groups as Xb, and the solution of the minimum adaptability of each of the groups as Xw.(3)
Place the best solution of each of the subgroup into the niche groupDN, that is, DN=X1b,X2b,…,Xmb; No. i and No. j best solutions are Xib and Xjb, respectively; set i=1 and j=1.(4)
Ifi≠m−1, then compare the Chebyshev distance between the best solution of No. i (1≤i≤m−1) and the best solution of No. j (i+1≤j≤m) in DN; otherwise, turn to step (6).(5)
IfDXib,Xjb<L, in which L is the niche radius and j≠m, set j=j+1, otherwise set i=i+1 and j=j+1; return to step (4); If DXib,Xjb>L and fXib>fXjb, use punishment coefficient gXb to update fXib, randomly initiate Xib, and place the best solution Xib into the responding subgroup to recalculate the partial best solution; otherwise, update fXjb, randomly initiate Xjb, and return to step (4).(6)
If each of the subgroups has the best solution, then move to step (7); otherwise, return to step (3) and compare the best solutions of the subgroups again.(7)
For each of the subgroups, update the worst solutionXw via formulas (14) and (15), and the adaptability value of the worst solution after updating f′Xw is compared to that of the original fXw. If f′Xw<fXw, replace the original solution with the updated worst solution; otherwise, calculate the length of movement of the worst solution:(17)Δi=rand×iN×Xg−Xw,i=1,2,…,N.Update the location of the worst solutionXw as per formula (15). In the formula, i is the number of iterations for the current local search. Then, the adaptability value of the worst solution after updating f″Xw is compared to that of the original fXw. If f″Xw<fXw, replace the original solution with the updated worst solution; otherwise, it will randomly generate a new solution to replace the original worst solution.(8)
Judge if the predecided local evolution algebraN has been reached. If yes, a round of local search in each of subgroups has finished; otherwise, return to step (7).(9)
After finishing the partial evolution, calculate the variation of the adaptability of the best solution of each of the subgroups. If the variation is smaller than a comparatively small value within the predecided continual algebra, then the relevant subgroup is eliminated and initiated randomly; otherwise, reshuffle the solutions of all subgroups and form them into a complete group includingF solutions.(10)
Judge if it meets the predecided times of shuffled iteration or termination conditions. If yes, the algorithm is finished; otherwise, return to step (2), and continue to do the next round of local search.The core of the DNSFLA algorithm is the local search and the elimination mechanism of the subgroups. In order to assist it to understand, DNSFLA is decomposed into two subalgorithms (Algorithm1 and Algorithm 2), and both the pseudocodes are given below, respectively.Algorithm 1: Local search of DNSFLA.
(1)
Initializem,Dmax,L,fX,gX,P=X1,X2,…,XF, and i=1,j=1
(2)
for i≠m−1 do
(3)
CalculateDXib,Xjb
(4)
if DXib,Xjb<L then
(5)
if j≠m then
(6)
j=j+1;
(7)
else
(8)
i=i+1,j=j+1
(9)
end if
(10)
end if
(11)
if DXib,Xjb>L then
(12)
if fXib>fXjb then
(13)
fXib=gXb
(14)
Randomly generateXib
(15)
else
(16)
updatefXjb, and initialize Xjb
(17)
end if
(18)
end if
(19)
end forAlgorithm 2: Elimination mechanism of DNSFLA.
(1)
InitializefX,gX,P=X1,X2,…,XF
(2)
Update the worst solutionXwvia formulas (14) and (15), recorded as f′Xw
(3)
if f′Xw<fXw then
(4)
fXw=f′Xw
(5)
else
(6)
Δi=rand×i/N×Xg−Xw,Xw=Xw+Δi
(7)
Record the adaptability value after updating asf″Xw
(8)
if f″Xw<fXw then
(9)
fXw=f″Xw
(10)
else
(11)
randomly generate a new solution to replace the original worst solution
(12)
end if
(13)
end ifAlgorithm1 shows the pseudocode of the local search, and the elimination mechanism’s pseudocode is shown in Algorithm 2.Combine Algorithm1 and Algorithm 2, then the pseudocode of the DNSFLA algorithm is as shown in Algorithm 3.Algorithm 3: Dynamic niche-based shuffled frog-leaping algorithm (DNSFLA).
(1)
InitializeF,d,G,N,fX,Δmin,P=X1,X2,…,XF and gt=0,lt=0
(2)
for i=1:F do
(3)
CalculatefXi, and Xi=Xi1,Xi2,Xi3,…,Xid
(4)
end for
(5)
repeat
(6)
DescendingfXi and record the best solution Xg
(7)
for j=1:m do
(8)
CalculateXg and Xw, put Xb into niche group DN
(9)
ChooseXib and Xjb
(10)
SearchXw using Algorithm 1
(11)
repeat
(12)
UpdateXw using Algorithm 2
(13)
lt=lt+1
(14)
until lt=N
(15)
Calculate the variation offXb, recorded as ΔfXb
(16)
if ΔfXb<Δmin then
(17)
InitiatedXj randomly
(18)
else
(19)
Reshuffle the solutions of all subgroups
(20)
end if
(21)
end for
(22)
gt=gt+1
(23)
until gt=G


## 4.3. Steps for MSDGAS

Depending on the previously mentioned DSOM and DNSFLA, the steps in detail that realize the MSDGAS strategy are given as follows.Step 1. Initiate GRAP and its relevant functions and parameters, give GRAP’s relevant measurement parameters and confinement condition, and move to Step 2.Step 2. Simplify GRAP into 0-1 programming, convert the relevant functions and confinement conditions, and move to Step 3.Step 3. Specific to 0-1 programming, dynamic grouping is carried out based on the DSOM algorithm, and move to Step 4.Step 4. Specific to the grouped request models, calculate the model result based fon the DNSFLA algorithm, and move to Step 5.Step 5. Save the calculation result and exit.


## 4.4. Analysis of MSDGAS

MSDGAS is made up of two parts, the DSOM algorithm and the DNSFLA algorithm. In DSOM, theφ value determines the network growth size. When the value of φ is larger, the DSOM algorithm applies the weight value update operation more frequently; less nodes are generated in the objective network, but it generates a network at a faster speed and can only realize coarse-granularity clustering. On the other hand, when the value of φ is smaller, the DSOM algorithm applies more node growing operations, and more nodes are generated in the objective network, but it generates a network at a slower speed and can realize fine-granularity clustering.After introducing disturbance factor (ξ), ξ tends to set a larger value when it is initiated. From formula (10), it can be seen that φ is comparatively small at this moment and can make a rough classification of the transmission command, which is able to have a holistic mastering of the group transmission command. As the number of iterations increase, the value of ξ will increase, and an accurate clustering result can be acquired and so can layered clustering. Further, from formula (9), it can be seen that an increasing number of iterations will lead to a weaker strength of φ in adjustment and higher weight value updating. Select the properties playing a bigger role in the clustering result and ignore the properties playing a lesser role to decrease the number of dimensions of clustering as this will reduce the workload of the calculation and further enhance the algorithm’s convergence speed and efficiency.The work in [44] prudently demonstrates the convergence of SFLA algorithm by applying the Markov mathematical analysis model. The DNSFLA algorithm in this paper ensures that the SFLA algorithm has a higher capacity of overall searching for the best solution and convergence speed through introducing niche technology to maintain the solutions’ diversity. It prevents the SFLA algorithm from becoming “premature” after the local search is done for a certain number of iterations. In the process of updating the worst solution, the calculation of the length of movement is improved by using formula (17). At the initial period of evolution, the length factor is made smaller to expand the search scope, forcing the algorithm to search for better space for viable solution at a faster pace. With the increase of the number of evolutions, the length factor will gradually grow and the overall search capacity of the solution will be enhanced, which is beneficial to a frog to leap out of the partial best, and hence speed up the algorithm’s convergence speed. Both the proposed DSOM and DNSFLA have a wide range of real application scenarios. For reference, the rudiment example of formulas included in the DSOM algorithm can be found in [45, 46], and the rudiment example of formulas included in the DNSFLA algorithm can be found in [47, 48]. To make it easier to follow the formulas proposed in this section, we still take the application of Smart Home described in reference [37] as an example. Formula (9) is used to calculate the value of growing threshold, which reflects the precision of the control command clustering. In this practical scenario, there is diversity upon control commands on different smart appliances from different families. Formula (16) is used to calculate the distance metric of two objective resources in the scenario, which suppresses the convergence due to collaboration of control command groups, enhances the global optimization ability of the algorithm, and improves the convergence speed under current conditions. Besides, the role of formula (17) is to lead the control commands of company employees to move towards the direction of optimal resource in DACIOT.In terms of MSDGAS execution complexity, the number of the SOM algorithm iterations ist, the number of input nodes is N, the maximum number at each iteration is NlogN, the maximum space occupied is N, the overall time complexity after t iterations is Ot×NlogN, and the space complexity is ON. For the DNSFLA algorithm, the mixed iteration number is G, the solution number is F, run time complexity is OG×F2, and space complexity is OF. Hence, MSDGAS’ execution time complexity is OMaxt×NlogN,G×F2. However, in the process of actual operation, G×F2 is greater than t×NlogN and N is greater than F; therefore, the time complexity of MSDGAS is OG×F2, and space complexity is ON.


## 5. Experiment and Analysis

The settings for the experiment environment are as follows: 12 sets of Inspur servers, each configured with a CPU of Intel(R) Xeon(R) E5-2603 v2 @ 1.80 GHz, 40 G memory, 1 T hard disk, CentOS-6.4; 4 sets of them are used for the access of cluster servers; and the remaining 8 sets are used for servers for mass requests at users end. The experiment involves placing 8 sets of Linux servers at different areas as the user’s end to send requests. Each of the host machines imitates 500 users, respectively; the remaining 4 sets of Linux servers are placed in a computer lab in order to build up the DACIOT’s server cluster. A long-distance control system is adopted to control the 8 host machines when they send service requests of different sizes and types, in order to imitate a mass access environment. In the following, the experiment parameters settings for MSDGAS and the results of the performance tests are discussed.


### 5.1. Discussion of Experiment Parameters

In MSDGAS, some experiment parameters are optimized based on the work in [49, 50]. The user requests in the experiment are simulated data generated by a developed computer program. Generally, the dimension for a request command in an actual situation ranges from 3 to 6, and the larger the request command dimension, the more difficult it is for the algorithm to implement and the easier to test the bottleneck of the algorithm. Here, we take the maximum dimension value of 6. Further, calculate the growth threshold φ and disturbance factor ξ according to formulas (9) and (10). As to the initial neighborhood radius, it reflects the clustering range of the request commands, and also the command classification is often very vague at the beginning, so the value σ0 is bigger, but the value has little influence on the clustering result because a different initial neighborhood can obtain the same result after a different number of iterations. Here, take the value σ0 as 12. The regulator α of learning rate LR reflects the ease of request command clustering because as the number of iterations increases, the size of α increases and the easier it is for the request command to find its category. In this regard, according to the characteristics of the simulated service request of users, α varies between 0.6 and 0.9, and further experiments are needed to test the α sensitivity influence on the MSDGAS strategy. Based on the work in [40, 50], the DNSFLA algorithm can obtain the global optimal solution before 500 hybrid iterations. Here, set the maximum number of hybrid iterations as G=500 and the maximum number of local iterations as N=20. The niche distance L and the largest movement step length Dmax reflect the scope of the service request command to avoid invalid service resources, indicating the rate of obtaining the optimal-matching resource to a certain extent. Further experiments are needed to test their sensitivity influence on the MSDGAS strategy. In the experiments of choosing parameters, we use 8 clients impersonating different scales of users to generate the test data sets. Limited by the number of data center servers in the test experiment, data center network architecture is fixed, while the request commands are generated randomly. In order to avoid the influence of the initial solutions on the test results, we randomly generate initial solutions for MSGDAS in each test, and to reduce the randomness of the parameters settings, the MSDGAS strategy is independently executed 10 times in each experiment, recording the maximum, minimum, and average.Table2 presents the test results of parameter variation among regulator α, niche distance L, and largest movement step length Dmax. In Table 2, T is the trial number, Fbest represents the optimal solution tested out in the experiments, Fmean represents the average solution, and Fworst represents the worst solution. It can be seen, respectively, from the experiments T1–T4, T5–T9, and T12–T15 that the three parameters, α, L, and Dmax, do not have a linear influence on the performance of the proposed algorithm, which also indicates that the experimental factors (the regulator, the niche distance, and the largest movement step length) have a certain comparative independence. The experiments T1–T4 are used to test the sensitivity of MSDGAS when the value of α varies. The result indicates that the average solution does not become better with the increasing value of niche distance, while the best value of which is obtained when the value of niche distance is 5. Similarly, the experiments T5–T9 are used to evaluate the impact of regulator α on MSDGAS sensitivity, and the result shows that the average solution reaches the best when the value of α is set to 0.75. Moreover, the result of experiments T7,T10,andT11 further demonstrates it and obtains a better performance in the condition that niche distance is set to 5 and regulator is set to 0.75. The effect of the parameter Dmax (the largest moving step) on MSDGAS performance is evaluated by experiments T12–T15, and the result shows that it reaches a better solution when the Dmax is set to 10 under the condition that the value of α is set to 0.75 and the value of L is set to 5. As a supplementary, when the value of α is set to 0.75 and L is set to 6 in the experiments T11 and T16–T18, it also shows that the proposed algorithm gets the optimal solution with the value of Dmax being set to 10. However, the average optimal solution is inferior to that when L is assigned a value of 5. For experiments T13,T19,andT20, in the given conditions that parameter L and parameter Dmax are all set to the best value, it tries to test the change of MSDGAS’ optimal solution as the value of parameter α increases. The result indicates that the proposed algorithm reaches a better optimal solution when parameter α is set to 0.75, which is consistent with the results of experiments T7,T10,andT11. Based on the above analysis, the MSDGAS is able to obtain better performance when experiment parameters take α=0.75, L=5, and Dmax=10.Table 2
The sensitivity analysis for MSDGAS.
T
α
L
D
max
F
best
F
mean
F
worst
1
0.6
4
8
3.8312
3.9126
3.9513
2
0.6
5
8
3.4243
3.6831
3.8257
3
0.6
6
8
3.6581
3.8105
3.9018
4
0.6
7
8
3.7917
3.8372
3.8924
5
0.65
5
8
3.2536
3.5918
3.8049
6
0.7
5
8
2.8313
3.9395
3.0782
7
0.75
5
8
2.8109
2.8192
2.8201
8
0.8
5
8
2.8981
2.9203
2.9316
9
0.85
5
8
3.2546
3.3189
2.3247
10
0.75
4
8
2.9385
3.0138
3.1412
11
0.75
6
8
3.2821
3.3231
3.3397
12
0.75
5
9
2.5597
2.5735
2.5783
13
0.75
5
10
2.2386
2.2387
2.2390
14
0.75
5
11
2.6105
2.6732
2.7218
15
0.75
5
12
2.9133
2.9779
3.1023
16
0.75
6
9
2.8849
2.8905
2.9021
17
0.75
6
10
2.6312
2.6329
2.6376
18
0.75
6
11
2.8914
2.9143
2.9198
19
0.7
5
10
2.6219
2.7346
2.7912
20
0.8
5
10
2.6831
2.7128
2.7254


### 5.2. Performance Tests of MSDGAS

Depending on the above experiment parameter settings, we start the performance tests. The next experiments are carried out using the following methods. In addition, without loss of generality, both algorithms are executed ten times independently to obtain the average statistical results in each experiment.(1)
Under the situation of increasing IoT access, compare the access success rate (ASR) of the users’ service requests between MSDGAS and the other algorithm (WQoS [51]) and define ASR = number of access success/total number of access requests.(2)
Under the situation of increasing IoT access, compare the response delay rate (RDR) between MSDGAS and the current other algorithm and define RDR = time of response delay/time of normal response.(3)
Under the situation of increasing IoT access, compare the access blocking rate (ABR) between MSDGAS and the other algorithm and define ABR = blocked number of service requests of the same type/total number of service requests of the same type.(4)
Under the situation of increasing IoT access, compare the resource utilization rate (RUR) between MSDGAS and the other algorithm. The number of online access machines is set asκ, the time consumed by Number j access server when requesting access is ATj, the real occupation time of Number j access server is OTj, and then RUR is defined as RUR=1/κ∑j=1κATj/OTj.Experiment 1.
Test ASR performance with the maximum number of requests being 4,000 and the minimum 500.
As shown in Figure4, the horizontal coordinate represents the number of requests at DACIOT ranging from 500 to 4000 while the vertical coordinate represents the access success rate. It can be seen from the figure that when the access scale is within 1,500, both MSDGAS and WQoS can maintain smooth access. When the scale of command requests is between 500 and 1000, due to the smaller size of the requests, the access cluster computing ability and resource service ability are not under any pressure, and both algorithms show good service performance, without the occurrence of requests loss as a result. When requests number reaches 1500, the ASR of MSDGAS is 100% and the ASR of WQoS algorithm is 98.6%. However, when the access scale is over 1,500, WQoS starts to show partial access failure while MSDGAS can still maintain full access. When the request scale is 2000, the access success rate of MSDGAS is 95.8%, while WQoS only has a access success rate of 90.4%, it shows the phenomenon of competition gradually, particularly, over high-quality system resources and ASR becomes lower and lower for both algorithms. With a rising service request, the network bears a larger load and network links start being blocked and requests loss begins at the data access center for Internet of things. Generally speaking, however, MSDGAS is more advantageous. Moreover, the ASR of the MSDGAS changes quite gently, which shows that MSDGAS has a good robustness.Figure 4
ASR with different access scales.Experiment 2.
Test RDR performance with the maximum number of requests being 4,000 and the minimum 500.
As shown in Figure5, the vertical coordinate represents the response delay rate of requests at DACIOT while the horizontal coordinate represents the amount of access requests. It can be seen from the figure that when the access scale is within 1,000, both MSDGAS and WQoS only have a very low delay rate ranging from 1% to 2%. In the process of the request number gradually increasing from 500 to 1000, the figure shows that the pressure on each access server remains low and network link congestion does not appear as the access cluster enjoys ample network resources when the access service request number is low. Network response delay mainly refers to the transmission time at this stage. In this sense, the response delay of the two algorithms is all low and at similar levels. As the request scale grows and more resources are consumed, urgent requests have a more rigid demand for the response speed of DACIOT. In such scenarios, both algorithms show an increasing response delay rate. When the access service request number surpasses 1500, the two algorithms clearly start to differ from each other. With the ever-growing pressure from the access servers, the time to process the service request and network transmission gradually starts to increase, and the two algorithms start to differ from each other clearly in the response delay rate. Furthermore, when the number of access requests grows to 2,000, the RDR of MSDGAS is 7% while that of WQoS is 13%, nearly double that of MSDGAS, indicating that the MSDGAS algorithm is more stable in the condition of mass access requests.Figure 5
RDR with different access scales.Experiment 3.
Test ABR performance with the maximum number of requests being 4,000 and the minimum 500.
As shown in Figure6, the vertical coordinate represents the access blocking rate of requests at DACIOT while the horizontal coordinate represents the amount of access requests. When the service request number is below 1500, the access cluster server at the DACIOT can deal efficiently with the service requests and the DACIOT does not have pressure from network communication and resource consumption. It can be seen from Figure 6 that when the access scale is within 1,500, both MSDGAS and WQoS have a very low blocking rate, at around 3%, and overall, DACIOT does not appear to be under pressure. When access requests grow to 1,500, both algorithms perform differently—the former has a blocking rate of 6% and the latter 8%. With ever-growing service requests concurrency, the MSDGAS needs more network bandwidth and computing resource to cluster service requests into groups. When access requests surpass 1,500, the two algorithms show an obvious difference—the former has a lower blocking rate than the latter strictly. As the MSDGAS algorithm considers grouping the users’ requests, it shows an advantage in the aspect of average network load. Furthermore, this advantage is increasingly apparent as the request scale grows.Figure 6
ABR with different access scales.Experiment 4.
Test RUR performance with an increasing number of access requests at DACIOT.
As shown in Figure7, the vertical coordinate represents the DACIOT’s resource utilization rate for MSDGAS while the horizontal coordinate represents the number of access requests. At the beginning, the effective resources at DACIOT are not the bottleneck of the current service requests, network bandwidth resource is sufficient for both MSDGAS and WQoS algorithms. In other words, each server at the DACIOT has the ability to process service requests quickly. As the experimental results shows, the resource utilization rate of system is growing along with the increasing number of requests. When the access scale is around 1,600, both algorithms reach the highest RUR, and the MSDGAS algorithm is able to ensure that the DACIOT maintains full utilization status. With the growth in the request scales and resource consumption, urgent requests have more rigid demands on the DACIOT’s response speed and the real occupation time of each server becomes longer, causing partial access failure and a decline in RUR. However, from the decreasing curve trend, it can be seen that the MSDGAS algorithm can ensure that the DACIOT maintains a higher RUR than WQoS and the system can maintain reasonably good stability, and with the growing request scale, the system load can be effectively controlled. When the scale of access requests exceeds 4,000, RUR is inclined to be stable, indicating that the MSDGAS algorithm has better convergence.
However, when facing a more realistic workload where the number of requests varies over time, the MSDGAS will show little difference compared to the simulation experiments. This paper uses the increasing request scale to identify the performance limit of the algorithms under the condition of resource constraints. In a real scenario, the number of requests is disorderly and cannot be controlled accurately, making it difficult to measure the bottleneck of algorithms in this way [52]. Namely, it shows a bigger value at a point in time but a smaller value at the next time. Thus, the results shown in Figure 7 will be alternately high and low, but on some level, this situation is included in the above simulated experiments when the number of requests varies over time with a specific trend. In conclusion, it can be understood from the above analysis that, compared with the other algorithms, MSDGAS is able to maintain better service quality under the scenario of mass access requests. It works to dynamically group the users’ requests and comprehensively weigh the performance of DACIOT in order to search for the best matching resources and maintain the maximum request load that the current network can bear. Finally, it shows an advantage over other algorithms in terms of access success rate, response rate, blocking rate, and resource utilization rate.Figure 7
RUR with different access scales.


## 5.1. Discussion of Experiment Parameters

In MSDGAS, some experiment parameters are optimized based on the work in [49, 50]. The user requests in the experiment are simulated data generated by a developed computer program. Generally, the dimension for a request command in an actual situation ranges from 3 to 6, and the larger the request command dimension, the more difficult it is for the algorithm to implement and the easier to test the bottleneck of the algorithm. Here, we take the maximum dimension value of 6. Further, calculate the growth threshold φ and disturbance factor ξ according to formulas (9) and (10). As to the initial neighborhood radius, it reflects the clustering range of the request commands, and also the command classification is often very vague at the beginning, so the value σ0 is bigger, but the value has little influence on the clustering result because a different initial neighborhood can obtain the same result after a different number of iterations. Here, take the value σ0 as 12. The regulator α of learning rate LR reflects the ease of request command clustering because as the number of iterations increases, the size of α increases and the easier it is for the request command to find its category. In this regard, according to the characteristics of the simulated service request of users, α varies between 0.6 and 0.9, and further experiments are needed to test the α sensitivity influence on the MSDGAS strategy. Based on the work in [40, 50], the DNSFLA algorithm can obtain the global optimal solution before 500 hybrid iterations. Here, set the maximum number of hybrid iterations as G=500 and the maximum number of local iterations as N=20. The niche distance L and the largest movement step length Dmax reflect the scope of the service request command to avoid invalid service resources, indicating the rate of obtaining the optimal-matching resource to a certain extent. Further experiments are needed to test their sensitivity influence on the MSDGAS strategy. In the experiments of choosing parameters, we use 8 clients impersonating different scales of users to generate the test data sets. Limited by the number of data center servers in the test experiment, data center network architecture is fixed, while the request commands are generated randomly. In order to avoid the influence of the initial solutions on the test results, we randomly generate initial solutions for MSGDAS in each test, and to reduce the randomness of the parameters settings, the MSDGAS strategy is independently executed 10 times in each experiment, recording the maximum, minimum, and average.Table2 presents the test results of parameter variation among regulator α, niche distance L, and largest movement step length Dmax. In Table 2, T is the trial number, Fbest represents the optimal solution tested out in the experiments, Fmean represents the average solution, and Fworst represents the worst solution. It can be seen, respectively, from the experiments T1–T4, T5–T9, and T12–T15 that the three parameters, α, L, and Dmax, do not have a linear influence on the performance of the proposed algorithm, which also indicates that the experimental factors (the regulator, the niche distance, and the largest movement step length) have a certain comparative independence. The experiments T1–T4 are used to test the sensitivity of MSDGAS when the value of α varies. The result indicates that the average solution does not become better with the increasing value of niche distance, while the best value of which is obtained when the value of niche distance is 5. Similarly, the experiments T5–T9 are used to evaluate the impact of regulator α on MSDGAS sensitivity, and the result shows that the average solution reaches the best when the value of α is set to 0.75. Moreover, the result of experiments T7,T10,andT11 further demonstrates it and obtains a better performance in the condition that niche distance is set to 5 and regulator is set to 0.75. The effect of the parameter Dmax (the largest moving step) on MSDGAS performance is evaluated by experiments T12–T15, and the result shows that it reaches a better solution when the Dmax is set to 10 under the condition that the value of α is set to 0.75 and the value of L is set to 5. As a supplementary, when the value of α is set to 0.75 and L is set to 6 in the experiments T11 and T16–T18, it also shows that the proposed algorithm gets the optimal solution with the value of Dmax being set to 10. However, the average optimal solution is inferior to that when L is assigned a value of 5. For experiments T13,T19,andT20, in the given conditions that parameter L and parameter Dmax are all set to the best value, it tries to test the change of MSDGAS’ optimal solution as the value of parameter α increases. The result indicates that the proposed algorithm reaches a better optimal solution when parameter α is set to 0.75, which is consistent with the results of experiments T7,T10,andT11. Based on the above analysis, the MSDGAS is able to obtain better performance when experiment parameters take α=0.75, L=5, and Dmax=10.Table 2
The sensitivity analysis for MSDGAS.
T
α
L
D
max
F
best
F
mean
F
worst
1
0.6
4
8
3.8312
3.9126
3.9513
2
0.6
5
8
3.4243
3.6831
3.8257
3
0.6
6
8
3.6581
3.8105
3.9018
4
0.6
7
8
3.7917
3.8372
3.8924
5
0.65
5
8
3.2536
3.5918
3.8049
6
0.7
5
8
2.8313
3.9395
3.0782
7
0.75
5
8
2.8109
2.8192
2.8201
8
0.8
5
8
2.8981
2.9203
2.9316
9
0.85
5
8
3.2546
3.3189
2.3247
10
0.75
4
8
2.9385
3.0138
3.1412
11
0.75
6
8
3.2821
3.3231
3.3397
12
0.75
5
9
2.5597
2.5735
2.5783
13
0.75
5
10
2.2386
2.2387
2.2390
14
0.75
5
11
2.6105
2.6732
2.7218
15
0.75
5
12
2.9133
2.9779
3.1023
16
0.75
6
9
2.8849
2.8905
2.9021
17
0.75
6
10
2.6312
2.6329
2.6376
18
0.75
6
11
2.8914
2.9143
2.9198
19
0.7
5
10
2.6219
2.7346
2.7912
20
0.8
5
10
2.6831
2.7128
2.7254


## 5.2. Performance Tests of MSDGAS

Depending on the above experiment parameter settings, we start the performance tests. The next experiments are carried out using the following methods. In addition, without loss of generality, both algorithms are executed ten times independently to obtain the average statistical results in each experiment.(1)
Under the situation of increasing IoT access, compare the access success rate (ASR) of the users’ service requests between MSDGAS and the other algorithm (WQoS [51]) and define ASR = number of access success/total number of access requests.(2)
Under the situation of increasing IoT access, compare the response delay rate (RDR) between MSDGAS and the current other algorithm and define RDR = time of response delay/time of normal response.(3)
Under the situation of increasing IoT access, compare the access blocking rate (ABR) between MSDGAS and the other algorithm and define ABR = blocked number of service requests of the same type/total number of service requests of the same type.(4)
Under the situation of increasing IoT access, compare the resource utilization rate (RUR) between MSDGAS and the other algorithm. The number of online access machines is set asκ, the time consumed by Number j access server when requesting access is ATj, the real occupation time of Number j access server is OTj, and then RUR is defined as RUR=1/κ∑j=1κATj/OTj.Experiment 1.
Test ASR performance with the maximum number of requests being 4,000 and the minimum 500.
As shown in Figure4, the horizontal coordinate represents the number of requests at DACIOT ranging from 500 to 4000 while the vertical coordinate represents the access success rate. It can be seen from the figure that when the access scale is within 1,500, both MSDGAS and WQoS can maintain smooth access. When the scale of command requests is between 500 and 1000, due to the smaller size of the requests, the access cluster computing ability and resource service ability are not under any pressure, and both algorithms show good service performance, without the occurrence of requests loss as a result. When requests number reaches 1500, the ASR of MSDGAS is 100% and the ASR of WQoS algorithm is 98.6%. However, when the access scale is over 1,500, WQoS starts to show partial access failure while MSDGAS can still maintain full access. When the request scale is 2000, the access success rate of MSDGAS is 95.8%, while WQoS only has a access success rate of 90.4%, it shows the phenomenon of competition gradually, particularly, over high-quality system resources and ASR becomes lower and lower for both algorithms. With a rising service request, the network bears a larger load and network links start being blocked and requests loss begins at the data access center for Internet of things. Generally speaking, however, MSDGAS is more advantageous. Moreover, the ASR of the MSDGAS changes quite gently, which shows that MSDGAS has a good robustness.Figure 4
ASR with different access scales.Experiment 2.
Test RDR performance with the maximum number of requests being 4,000 and the minimum 500.
As shown in Figure5, the vertical coordinate represents the response delay rate of requests at DACIOT while the horizontal coordinate represents the amount of access requests. It can be seen from the figure that when the access scale is within 1,000, both MSDGAS and WQoS only have a very low delay rate ranging from 1% to 2%. In the process of the request number gradually increasing from 500 to 1000, the figure shows that the pressure on each access server remains low and network link congestion does not appear as the access cluster enjoys ample network resources when the access service request number is low. Network response delay mainly refers to the transmission time at this stage. In this sense, the response delay of the two algorithms is all low and at similar levels. As the request scale grows and more resources are consumed, urgent requests have a more rigid demand for the response speed of DACIOT. In such scenarios, both algorithms show an increasing response delay rate. When the access service request number surpasses 1500, the two algorithms clearly start to differ from each other. With the ever-growing pressure from the access servers, the time to process the service request and network transmission gradually starts to increase, and the two algorithms start to differ from each other clearly in the response delay rate. Furthermore, when the number of access requests grows to 2,000, the RDR of MSDGAS is 7% while that of WQoS is 13%, nearly double that of MSDGAS, indicating that the MSDGAS algorithm is more stable in the condition of mass access requests.Figure 5
RDR with different access scales.Experiment 3.
Test ABR performance with the maximum number of requests being 4,000 and the minimum 500.
As shown in Figure6, the vertical coordinate represents the access blocking rate of requests at DACIOT while the horizontal coordinate represents the amount of access requests. When the service request number is below 1500, the access cluster server at the DACIOT can deal efficiently with the service requests and the DACIOT does not have pressure from network communication and resource consumption. It can be seen from Figure 6 that when the access scale is within 1,500, both MSDGAS and WQoS have a very low blocking rate, at around 3%, and overall, DACIOT does not appear to be under pressure. When access requests grow to 1,500, both algorithms perform differently—the former has a blocking rate of 6% and the latter 8%. With ever-growing service requests concurrency, the MSDGAS needs more network bandwidth and computing resource to cluster service requests into groups. When access requests surpass 1,500, the two algorithms show an obvious difference—the former has a lower blocking rate than the latter strictly. As the MSDGAS algorithm considers grouping the users’ requests, it shows an advantage in the aspect of average network load. Furthermore, this advantage is increasingly apparent as the request scale grows.Figure 6
ABR with different access scales.Experiment 4.
Test RUR performance with an increasing number of access requests at DACIOT.
As shown in Figure7, the vertical coordinate represents the DACIOT’s resource utilization rate for MSDGAS while the horizontal coordinate represents the number of access requests. At the beginning, the effective resources at DACIOT are not the bottleneck of the current service requests, network bandwidth resource is sufficient for both MSDGAS and WQoS algorithms. In other words, each server at the DACIOT has the ability to process service requests quickly. As the experimental results shows, the resource utilization rate of system is growing along with the increasing number of requests. When the access scale is around 1,600, both algorithms reach the highest RUR, and the MSDGAS algorithm is able to ensure that the DACIOT maintains full utilization status. With the growth in the request scales and resource consumption, urgent requests have more rigid demands on the DACIOT’s response speed and the real occupation time of each server becomes longer, causing partial access failure and a decline in RUR. However, from the decreasing curve trend, it can be seen that the MSDGAS algorithm can ensure that the DACIOT maintains a higher RUR than WQoS and the system can maintain reasonably good stability, and with the growing request scale, the system load can be effectively controlled. When the scale of access requests exceeds 4,000, RUR is inclined to be stable, indicating that the MSDGAS algorithm has better convergence.
However, when facing a more realistic workload where the number of requests varies over time, the MSDGAS will show little difference compared to the simulation experiments. This paper uses the increasing request scale to identify the performance limit of the algorithms under the condition of resource constraints. In a real scenario, the number of requests is disorderly and cannot be controlled accurately, making it difficult to measure the bottleneck of algorithms in this way [52]. Namely, it shows a bigger value at a point in time but a smaller value at the next time. Thus, the results shown in Figure 7 will be alternately high and low, but on some level, this situation is included in the above simulated experiments when the number of requests varies over time with a specific trend. In conclusion, it can be understood from the above analysis that, compared with the other algorithms, MSDGAS is able to maintain better service quality under the scenario of mass access requests. It works to dynamically group the users’ requests and comprehensively weigh the performance of DACIOT in order to search for the best matching resources and maintain the maximum request load that the current network can bear. Finally, it shows an advantage over other algorithms in terms of access success rate, response rate, blocking rate, and resource utilization rate.Figure 7
RUR with different access scales.


## 6. Conclusions and Future Work

In this paper, we formally defined a dynamic grouping resource allocation problem based on the background of mass control commands requesting for network access. In order to solve this problem, a novel resource access model was designed and a multistage dynamic packet access strategy was proposed along with it. The proposed strategy first adopted an optimized dynamic self-organizing feature map to cluster users’ service requests into different command groups and then applied the dynamic niche-based shuffled frog-leaping algorithm to quickly and accurately acquire the best matching resources for these command groups. The experiments show that the proposed strategy can enhance the access success rate and resource utilization of service requests and reduce the network blocking and response delay. In conclusion, it can effectively solve the mass requests access problem of Internet of Things.As further work, there are a number of directions that can enhance access capabilities of the proposed strategy in the context of IoT:(i)
Support for delay access. The strategy proposed in this paper does not consider the delay access mechanism when users’ requests fail. Hence, considering network congestion, the delay access of DACIOT after failure will be the focus of further research.(ii)
Pretreatment mechanism with Fog and Edge computing. As the increasing computing and storing capacity of mobile devices or sensors, Fog and Edge computing are emerging as attractive solutions to the problem of data processing in IoT. In the future, we would like to preprocess the massive service requests using Edge computing, at the stage of request commands clustering in MSDGAS.(iii)
Dynamic resource scheduling and virtualization techniques. In DACIOT, heterogeneous network and sensing resources have to be often shared with multiple applications or services with different and dynamic quality of service requirements. Therefore, in order to allow more flexible scheduling, future research studies can also consider and compare the performance of resource virtualization (as instances of network virtualization) and operating system level virtualization such as containers.



---

*Source: 3601604-2018-05-08.xml*