1. Introduction
The perception and processing of non-cooperative electromagnetic signals is the foundation of obtaining non-cooperative target information, which can be widely applied in civil and military fields such as radio spectrum monitoring, non-cooperative communication reconnaissance, and communication electronic warfare. With the rapid development of 5G, UAV, and military communications, the data volume obtained by non-cooperative perception systems has increased exponentially, so a single radio interception station can hardly meet the requirements of massive data processing. Thus, the distributed system has become an important development trend of non-cooperative perception systems [
1,
2,
3]. The information interaction and data communication between distributed stations determine the transmission efficiency and delay of a distributed network, which is a key factor restricting the performance of non-cooperative perception systems. The data distribution service (DDS) is a data-centered publishing and subscribing model, featuring low coupling and delay. DDS has been widely applied in aircraft formation, ship formation, and vehicle automatic driving [
4,
5]. Using DDS to solve the data interaction problem of a distributed non-cooperative perception system can effectively improve the information processing capability of distributed systems [
6,
7].
DDS discovery protocol is a core mechanism that determines the performance of DDS [
8]. Discovery protocol is mainly [
9] used for mutual discovery between publishers and subscribers and transmitting such information as unicast and multicast locators and topic names [
10,
11,
12]. The traditional Simple Discovery Protocol (SDP) achieves mutual discovery by broadcasting all of its endpoints to all other nodes. However, due to various issues such as high flow overhead and memory consumption, the system delay increases exponentially with the increase in communication nodes, making it difficult for SDP to adapt to large multi-node distributed systems. In view of this, it is of great significance to study the DDS discovery protocol for large distributed systems.
A significant amount of research has been conducted on discovery protocols for DDS, and many solutions [
13,
14,
15,
16] have been proposed. Among these solutions, due to the efficient filtering advantages of the Bloom Filter, the SDP-BF method has emerged as one of the most promising directions for future development.
In 2011, Sanchez-Monedero et al. [
17] introduced a Bloom filter into SDP for the first time and proposed the SDP-BF algorithm. This algorithm makes use of the efficient storage and filtering of the Bloom filter to reduce the number of messages sent by SDP through screening the interested participant nodes, showing that the Bloom filter can optimize the network load of discovery protocol. However, the SDP-BF method also has some defects. The inherent Hash collision of BF will cause an SDP false positive problem, which increases the false positive rate of discovery protocol and the extra flow overhead. This is not conducive to the application of large distributed system.
In 2014, Putra et al. [
18] proposed a discovery protocol based on Modified Counting Bloom Filter to solve the problem of high memory consumption in the SDP discovery protocol. By reducing the duplicated data in the Bloom filter, each datum has a unique representative key, which helps reduce storage consumption and false positive misjudgment. However, this method cannot eliminate the extra flow overhead caused by false positive misjudgment due to the fact that misjudgment occurs at the receiver.
In 2015, Khaefi et al. [
19] proposed an SDP-Parallel-DBF method for the performance of the discovery protocol in unstable network scenarios. This method does not need to rebuild the Bloom filter in an unstable state, which reduces the time delay caused by Bloom filter reconfiguration and enhances the efficiency of the discovery protocol in an unstable state. The above work noticed the effect of Bloom filter’s false positive problem, but no measures were further discussed to eliminate false positive misjudgment.
In 2018, Nwadiugwu et al. [
20] proposed an enhanced SDP-Dynamic bloom filter for a DDS node discovery scheme in real-time distributed systems. This method reduces the reconfiguration delay caused by frequent reconfigurations of BF and has minimal system transmission delay. However, it does not provide a solution for the issue of false positive misjudgment.
In 2019, Geng et al. [
21] designed a publish/subscribe auto-discovery algorithm based on hierarchical Bloom filters. This approach uses a dynamic Bloom counting tree structure to create nodes dynamically. While it outperforms SDP and SDP-BF in terms of latency and memory consumption, it still does not resolve the issue of false positive errors.
In 2021, Fan [
22] introduced a Single Hash Bloom Filter designed for automatic discovery, leveraging a single hash multi-dimensional Bloom Filter vector to match participant endpoint information. But, this algorithm did not address the challenges of network load and memory consumption in large-scale distributed parallel computing environments.
In 2023, Liu and colleagues [
23] advanced the field with an enhanced Bloom Filter known as the Threshold Bloom Filter (TBF), which is integrated with the SDP to streamline the automatic discovery process in DDS. By implementing binary and decision thresholds for data publishing and subscription matching across distributed nodes, this approach effectively curtails network load and memory consumption. Nonetheless, the method’s reliance on pre-calculated optimal thresholds limits its applicability to dynamic parameter scenarios.
In 2023, Nwadiugwu et al. [
24] introduced a novel Automated Discovery Data Distribution Service (AD-DDS) with Enhanced Threshold Bloom Filters (ETBF). This innovative approach adeptly addresses the challenges of excessive memory usage and inefficient data transmission; however, it remains deficient in mitigating the issue of false positive misjudgments.
The performance summary and comparison of the methods proposed in the aforementioned article and this article are as
Table 1. We represent the methods discussed in the article by citing the authors and references. A check mark (✓) indicates that the method addresses this issue, while the mark (×) signifies that it does not.
To sum up, SDP suffers from issues of high flow overhead and memory consumption while SDP-BF can reduce the number of messages and flow overhead. However, apart from transmission delay, positive misjudgment and extra flow overhead of SDP-BF are the key reasons that hinder the application of the SDP-BF discovery protocol in large distributed systems. However, a thorough solution mechanism has not yet been proposed in the existing literature.
In this work, we propose SDP-DCBF-SFF, a discovery protocol based on Dynamic Counter Bloom Filter (DCBF) and Second Feedback Filter (SFF), which cannot only eliminate false positive misjudgment but also significantly reduce the extra flow overhead caused by false positive misjudgment and improve the adaptability of SDP-BF to large distributed system. This work has the following contributions:
SDP-DCBF-SFF is proposed, in which the interested endpoints are coarsely filtered by DCBF and the uninterested endpoints are accurately filtered by SFF. It eliminates all the false positive endpoint connection requests caused by the Hash collision of Bloom filter without generating extra flow overhead.
We propose an exit mechanism for elements in SFF based on the vitality factor, allowing “false positive” endpoints to exit SFF.
A network performance evaluation index based on the correction of false positive rate is proposed. The evaluation accuracy of network resource consumption in the discovery process is enhanced by introducing the false positive rate into the total number of messages in the network and other indexes.
The remaining parts of the paper are listed as follows: The second section provides the model and data processing flow of distributed non-cooperative perception system; the third section discusses the proposed SDP-DCBF-SFF; the fourth section discusses the simulation experiment results; the fifth section makes the conclusion.
2. System Model and Basic Definitions
In this section, we introduce the model of distributed non-cooperative perception system and traditional SDP and SDP-BF discovery protocols in data distribution services.
2.1. Distributed Non-Cooperative Perception System Model
The non-cooperative perception system passively receives and processes electromagnetic signals [
25,
26] in an open environment. Distributed architecture is the development trend of non-cooperative perception system [
27,
28]. Data transmission is a key factor that affects the performance of a distributed system. DDS middleware is predeployed on each node, all distributed nodes constitute the DDS network together, and data are distributed according to the DDS protocol. The model of the distributed non-cooperative perception system using DDS is shown in
Figure 1.
The non-cooperative perception system is used to preprocess, extract features, classify and identify the intercepted electromagnetic signals, and then send the data to the required remote terminal according to signal type, radiation source type, and processing priority of electromagnetic signals. Based on different resource conditions of nodes, the distributed system designs the functions of preprocessing, main processing, database, and application terminal on different nodes that are separated from each other to realize parallel reuse of computing resources and maximize the benefits.
The RF receiving subsystem of the non-cooperative perception system receives electromagnetic signals through antennas in the environment and completes analog-to-digital conversion, down-conversion, power amplification, and signal demodulation. The signal preprocessing subsystem is used to extract characteristic parameters such as signal frequency, bandwidth, and amplitude. With the help of a database, the main signal processing subsystem completes such services as signal type, modulation mode, and platform identification. The remote terminal displays the graphical recognition result.
The signal flow of the distributed interception system is shown in
Figure 2.
2.2. Data Distribution Protocol
DDS uses topics to identify the transmitted data, and the distributed nodes filter the interesting data through topics. The publication and subscription of topics are mainly dependent on the following four objects of DDS: publisher and data writer at the sender, and subscriber and data reader at the receiver.
Publisher at the sender is a component that publishes topics, and data writer is a connector for publisher. The application can only communicate with the publisher via the data writer. The data writer passes the currently available topic types and corresponding values to the publisher. After receiving the information, the publisher distributes the data according to its QoS or the QoS corresponding to the data writer. Publishing is defined as a connection process between data writer and publisher.
The subscriber at the receiver is similar to the publisher. It is a component that subscribes to topics and obtains the subscribed topics through the data reader. Subscription is defined as a connection process between the data reader and subscriber. The publishing and subscribing process of DDS is shown in
Figure 3.
2.3. Traditional SDP and SDP-BF
Discovery protocol is a core mechanism that determines the performance of DDS. SDP is the most widely applied DDS discovery protocol, which can be divided into the simple participant discovery protocol (SPDP) and the simple endpoint discovery protocol (SEDP). SPDP is used to discover new participants in the data domain, and SEDP is used to exchange endpoint information among participants.
In an SDP discovery protocol, a participant should broadcast the endpoint information to other participants in the network, and they takes turns to receive the endpoint information broadcast by other participants. Therefore, SDP usually adopts the endpoint dialogue model in
Figure 4. Each node can be regarded as a participant. At the beginning of the dialogue, Participant A and Participant B are created. Node A executes SPDP (as shown in the solid arrow) and then sends the participant information to Node B. After the participant information of Nodes A and B are matched successfully, SEDP (as shown in the dotted arrow) is started to exchange the information of all the endpoints in the nodes of these two participants and store it in their caches. In particular, HeartBeat is used to maintain the established publishing/subscription connection.
In actual scenarios, the work node does not require the endpoint information of all participants in the network; so, SDP will produce lots of network flow waste. To solve this problem, a Bloom filter is introduced on the basis of SDP to generate the SDP-BF optimization method, as shown in
Figure 5.
In an SDP-BF model, Node A maps the endpoint information to BF after creating the endpoint; then, it sends the mapped KEY and PDP messages together to Node B. According to the received KEY, Node B only sends the interested endpoint messages to Node A. Therefore, Node B only needs to store the KEY and the list of interested endpoints, reducing the flow load and local storage overhead.
However, the Hash collision in BF will cause false positive misjudgment, which increases the false positive probability of SDP-BF and brings extra flow overhead. False positive probability can be approximately expressed as follows:
where
k is the number of Hash functions,
m is the length of BF, and
n is the number of inserted data.
With the increase in the number of data in BF, false positive probability increases as well. To limit the false positive effect, when false positive probability exceeds the set threshold, SDP-BF will reconfigure BF in order to adjust the sizes of Hash functions and BF.
3. Proposed Discovery Protocol SDP-DCBF-SFF
In this section, we propose SDP-DCBF-SFF, a discovery protocol based on Dynamic Counter Bloom Filter (DCBF) and Second Feedback Filter (SFF). The proposed discovery protocol coarsely filters the interested endpoints through DCBF and then accurately screens the uninterested endpoints through SFF to eliminate the connection requests of false positive endpoints and avoid extra flow overhead.
3.1. The Proposed Discovery Protocol Model
The proposed discovery protocol model improves the traditional Bloom filter of local and remote endpoints in SDP-BF as DCBF, and connects the SFF in series after the filtering of DCBF. This model is mainly composed of parameter configuration module, DCBF, and SFF. The system chart is shown in
Figure 6.
The proposed discovery protocol uses the KEY in DCBF to screen the endpoints that remote participants are interested in and uses DCBF to judge whether to expand the filter when new endpoints are added to the network. The SFF in the proposed discovery protocol stores the uninterested endpoints of remote participants and feeds them back to local participants. Through the secondary screening mechanism of DCBF and SFF, false positive endpoint connection requests will be eliminated. Moreover, the nodes only need to store DCBF KEY information and SFF endpoint information in the above measure, and they only need to transmit the interested messages to remote participants during transmission. This has significantly reduced the flow overhead of the system.
Similar to SDP and SDP-BF, the proposed discovery protocol is divided into PDP and EDP, which are defined as Modified PDP (MPDP) and Modified PDP (MEDP), respectively, in this section. The processing flow of the proposed discovery protocol is shown in
Figure 7. The specific processing flow is as follows:
Create participants and endpoints. Create local participants and remote participants in the communication network as well as corresponding participant endpoint information. To better explain the algorithm, we set Local Participant A and Remote Participant B, Endpoints A1 and A2 of Participant A, and Endpoints B1 and B2 of Participant B.
Detect participants and endpoints in the network. Detect all participants in the network and the endpoint information of participants.
Configure initial parameters. Configure the SFF parameters of A to B in Participant A as an empty array and the DCBF parameters as the KEY of Endpoints A1 and A2 after Hash mapping; configure the SFF parameters of B to A in Participant B as an empty array and the DCBF parameters as the KEY of Endpoints B1 and B2 after Hash mapping.
Packet MPDP messages. Participant A generates a PDP message according to the DDS protocol, which constitutes an MPDP transmission message packet together with the KEY value stored in DCBF and the parameter information in SFF.
Network transmission. Transmit the packetized messages in Step 4 to the remote participants through the network.
Judge MPDP message matching. Participant B judges the DDS interoperability standard of the MPDP message packets received from Participant A. If protocol version, supplier identification, supported discovery protocol, etc. are matched successfully between both of them, go to Step 7. Otherwise, finish the current discovery process, return to Step 2, and redetect the participants.
Judge DCBF endpoints matching in MEDP. Carry out independent Hash mapping on the endpoints of Participant B and match the mapping result with the DCBF KEY in the MPDP message packet from Participant A. If the endpoint is matched successfully, go to Step 8. Otherwise, repeat Step 7 for the next endpoint. If all the endpoints are mismatched, finish the current discovery process, return to Step 2, and redetect the participants.
Judge SFF endpoint matching in MEDP. Compare the endpoints screened in Step 7 with the information stored in the SFF of Participant B. If the current endpoint is not from SFF, store the information in the SFF and maintain the SFF (see
Section 3.2.2). Otherwise, repeat Step 8 for the next endpoint. If all the endpoints are from SFF, finish the current discovery process, return to Step 2, and redetect the participants.
The algorithm descriptions for MPDP and MEDP can be found in Algorithm 1 and Algorithm 2, respectively.
Through the above processing flow, Participant A and Participant B can accurately judge the interested endpoints of the counterpart and thus eliminate the false positive misjudgment caused by the Hash collision of Bloom filter. As the new method only stores participants’ DCBF, SFF, and local interested endpoint information, it reduces the storage space and flow consumption occupied by nodes. Based on the above workflow, this section provides an endpoint dialogue model in the new method. In this model, it is assumed that the interested endpoint of Participant A is B1 and the interested endpoint of Participant B is A1. The endpoint dialogue model is shown in
Figure 8.
Algorithm 1 MPDP |
- 1:
for all Endpoints in Participant do - 2:
send info to participant - 3:
end for - 4:
Build Bloom Filter - 5:
Build N_ParticipantDATA= - 6:
PartipantDATA+Keys(Bloom Filter)+SF(Second Filter) - 7:
repeat - 8:
for all N_ParticipantDATA do - 9:
Multicast N_ParticipantDATA - 10:
end for - 11:
until Discovery finish
|
Algorithm 2 MEDP |
- 1:
for all Endpoints passed DCBF do - 2:
if Endpoint ∈ SFF then - 3:
add Endpoint to SFF - 4:
set Life_Time - 5:
terminate transaction - 6:
else - 7:
pass SFF - 8:
end if - 9:
end for - 10:
for all Endpoints ∈ SFF do - 11:
if Life_Time < 10LeaseDuration then - 12:
remove Endpoint from SFF - 13:
else - 14:
keep SFF - 15:
end if - 16:
end for
|
3.2. Composition of Key Modules
In this section, we will explain the working mechanism and workflow of the two key modules (DCBF and SFF) in the proposed discovery protocol.
3.2.1. DCBF Module
DCBF is composed of several sub-BFs with the same structure, and each sub-BF has an independent ID. During DCBF operation, only one sub-BF is active each time. When the participant endpoints are increased or decreased, the information of the increased or decreased endpoints will be mapped to the sub-BF. When the number of endpoints stored in the sub-BF reaches the threshold, DCBF will create a blank sub-BF with the same structure for capacity expansion. DCBF uses DCBF KEY to coarsely filter the interested endpoints and reduce false positive misjudgment.
The workflow of DCBF module is as follows:
MPDP stage:
Set initial parameters. The initial sub-BF ID is set as 0, the BF value is set as a 0 array, and the threshold of false positive rate is set as 0.5. k independent Hash mapping functions are initialized.
Detect the number of endpoints. The endpoints of participants are the elements to be mapped in DCBF. The DCBF module detects the number of elements of Participant B. If it detects an increase in elements, go to Step 3. If it detects a decrease in elements, go to Step 6. Otherwise, keep the detection state.
Judge the threshold of false positive rate. When a newly increased element is detected, the current FP is calculated according to Equation (
1). If FP is higher than the threshold, go to Step 4; otherwise, go to Step 5.
Create a new BF. Create a new sub-BF with the same length and Hash function, add 1 to its ID flag bit, set the sub-BF to as Active state, and then go to Step 5.
Hash mapping of new endpoints. Carry out independent Hash mapping on the newly increased endpoints in the DDS system 3 times, and add 1 to the count value at the corresponding position each time. The mapped sequence is stored in the sub-BF in the Active state, and the mapped result is the DCBF KEY. Then, go to Step 9.
Judge the element to be deleted. When the element to be deleted is detected, judge their positions. If it is the last element in the DCBF, go to Step 7; otherwise, go to Step 8.
Delete the sub-BF. Delete the current sub-BF in the whole DCBF, decrease the quantity counters of sub-BF by 1, and then go to Step 8.
Delete the Hash mapping of endpoints. Carry out independent Hash mapping on the deleted endpoints in the DDS system 3 times, and subtract 1 from the count value at the corresponding position each time. The mapped sequence is stored in the sub-BF in the Active state, and the mapped result is DCBF KEY. Then, go to Step 9.
MEDP stage:
- 9
Match DCBF KEY. Before sending the endpoint information, Participant A maps the endpoints in the same way, matches them with the DCBF KEY received from Participant B, and enters the SFF process through the matched endpoints. Otherwise, return to Step 1.
The algorithm of DCBF module is shown in Algorithm 3:
The flow chart of DCBF module is shown in
Figure 9.
Algorithm 3 DCBF |
- 1:
if DDS first initialization then - 2:
for all Endpoints in Participant do - 3:
if index(E)<Length_req then - 4:
DCBFj.ADD([hash(E)]) - 5:
else - 6:
establish DCBFj - 7:
j=j+1,count=count+1 - 8:
index(E)=count-j*Length_req - 9:
end if - 10:
end for - 11:
end if - 12:
while Endpoint is update do - 13:
if Endpoint E delet then - 14:
count=count-1 - 15:
if count<Length_req then - 16:
DCBF.Delet - 17:
else - 18:
remove DCBFj - 19:
j=j-1 - 20:
end if - 21:
end ifEndpoint E added - 22:
count=count+1 - 23:
if count>Length_req then - 24:
DCBF.ADD - 25:
else - 26:
establish DCBFj - 27:
j=j-1 - 28:
end if - 29:
end if - 30:
end while
|
3.2.2. SFF Module
The “false positive” endpoints screened out by SFF will not be subscribed by remote participants. However, in practical applications, the subscription demand of remote participants for the endpoints of local participants will change dynamically, and the “false positive” endpoints screened out by SFF may be subscribed again. The existing mechanism cannot meet the dynamic subscription demand of remote participants. To solve this problem, this paper designs an exit mechanism for the elements in SFF, and sets the residence time of elements in SFF by defining “life factor”. Life factor is determined by the system’s QoS. When the life factor is 0, the endpoint will be moved out of SFF and it may be subscribed by remote participants.
The workflow of SFF module is as follows:
MPDP stage:
Set initial parameters. Initialize SFF as an empty list.
Update the SFF value. Participant A monitors the MPDP messages from Participant B and updates the B to A SFF of Participant B to the SFF of Participant A. This process is divided into the following two processes. In Process 1, set “life factor” for the new endpoint entering SFF and then go to Step 3. In Process 2, parse the MPDP messages. If the participant messages are matched, go to Step 4; otherwise, go to Step 2 again.
“Life factor” is used to characterize the endpoint’s residence time in SFF, and it is a duration parameter value in LifespanQoS. The definition of IDL is as follows:
Judge life factor threshold. Monitor the “life factor” value of each endpoint. When “life factor” is greater than 0, go to Step 3 again. When it is equal to 0, remove the endpoint information from SFF and then go to Step 6.
MEDP stage:
- 4
Judge false positive endpoint matching. Participant A monitors the message of DCBF module and compares the received endpoint information filtered by DCBF with the elements in SFF. If the endpoint already exists in SFF, suspend the subsequent processes of the endpoint and then return to Step 2. Otherwise, the MEDP message will be sent to Remote Participant B. Go to Step 5.
- 5
Match EDP. After receiving the endpoint connection request from Participant A, Participant B checks whether the parameters such as topic and topic type in the EDP message are matched successfully and then establishes communication connection if the result is matched. Otherwise, the endpoint will be judged as a false positive endpoint of Bloom filter, and the endpoint will be put into SFF B to A of Participant B. Go to Step 6.
- 6
Process feedback. In the next MPDP process of Participant B, the misjudgment information is sent to the MPDP message monitor of Participant A to finish the feedback process of endpoint misjudgment.
The algorithm for the SFF module element entry and exit mechanism is as described in Algorithm 4.
Algorithm 4 SFF |
- 1:
while 1 do - 2:
if receive Keys then - 3:
for all Endpoints do - 4:
compare Keys - 5:
if Matched then - 6:
if Endpoints ∈ SFF then - 7:
terminate - 8:
else - 9:
if Publish/Subscribe then - 10:
Publish/Subscribe - 11:
end if - 12:
else - 13:
send Endpoint to SFF - 14:
end if - 15:
end if - 16:
end for - 17:
end if - 18:
end while
|
The flow chart of SFF module is shown in
Figure 10.
3.3. Evaluation Index of Discovery Protocol Based on Correction of False Positive Rate
The performance of discovery protocol is usually evaluated by the total number of messages published and received by participants and the number of messages in the whole network. However, false positive misjudgment caused by BF is not considered in the above index, which may result in performance evaluation errors. Aiming at the above problem, this section introduces false positive (FP) rate into the performance evaluation of discovery protocol and proposes the evaluation index of discovery protocol based on correction of false positive rate to enhance the evaluation accuracy of network resource consumption in the discovery process.
Assuming that the number of participants is
P, the total number of endpoints is
E, and the number of interested endpoints after screening is
ME, the proportion
of the interested endpoints in all endpoints can be expressed as
The number of messages published and received by participants at the discovery stage can be considered from two aspects: 1—the product of the total number of messages published and received at the MPDP stage and the number of matching endpoints at the MEDP stage; 2–the product of the total number of messages published and received at the MPDP stage and the number of false positive endpoints at the MEDP stage. Therefore, the total number of messages published and received by participants
is as follows:
The number of messages in the whole network
N is as follows:
4. Simulation Results
This section provides the performance simulation results of the proposed discovery protocol. To verify the performance of the proposed discovery protocol, we compared it with SDP and SDP-BF. To further validate the effectiveness of SFF, the proposed method was compared with SDP-DCBF in experimental tests. The simulation parameters were set as follows: the number of participants was 30, the number of endpoints was 1300, the transmission protocol was UDPv4, the length of BF was 256 Bytes, the threshold of false positive probability was 0.3, and the Hash mapping functions were three independent mod functions.
The classification of distributed system scale is based on the number of participants P, the number of endpoints E, and the ratio of publishers to subscribers (Pub/Sub) in the network. The system is divided into small system, medium system, large system, and super large system. The parameters of different systems are shown in
Table 2:
4.1. Number of Messages
In this section, the four discovery protocols were simulated by using the evaluation index based on the correction of false positive rate in
Section 3.3.
Figure 11 shows the total number of messages published and received by participants
, which is obtained by solving Equation (
3). The simulation results indicate that in these four protocols, the total number of messages published and received by participants increased with the increase in endpoints in the network, in which the number of messages in traditional SDP was the largest and the number of SDP-BF messages decreased significantly after BF was introduced. After BF was replaced with DCBF, the number of messages of SDP-DCBF was the same as that of SDP-BF when the number of endpoints was relatively small. However, due to the dynamic expansion function of DCBF, when the “false positive” probability reached the threshold, DCBF generated a new blank BF and the number of messages of SDP-DCBF declined sharply. The proposed discovery protocol had the smallest number of messages, and the numbers of messages and endpoints were basically linearly distributed.
Figure 12 shows the total number of messages in the network. Discovery messages and endpoint discovery messages of all participants constituted the total number of messages in the whole network
N, which is obtained by solving Equation (
4). The total number of messages in the network showed the same change trend as the number of messages of participants. Therefore, the proposed discovery protocol has the smallest number of messages and network flow consumption.
4.2. False Positive Rate
The inherent Hash collision of BF brings the false positive problem to the discovery protocol. Under different system scales, the false positive probability simulation experiments of three discovery protocols including BF were carried out in this section, as shown in
Figure 13. It can be seen from the simulation results that SDP-BF could not be applied in a large multi-node distributed system due to the Hash collision of BF and the rapid increase in false positive probability with the increase in the number of endpoints in the system. When the capacity of sub-BFs reached the critical length, SDP-DCBF could dynamically increase the number of sub-BFs and expand the capacity to make the false positive probability return to zero. However, during the stable period of BF, false positive probability still accumulated. Moreover, after the capacity of DCBF was expanded, false positive probability would increase as the number of sub-BFs increased and the false positive probability curve rose in waves. Therefore, SDP-DCBF was not applicable to a large multi-node distributed system. The proposed discovery protocol adopts a feedback mechanism to eliminate the false positive problem and makes false positive probability always equal to 0. In addition, the proposed discovery protocol is insensitive to the number of nodes; so, it can be applied in a large, multi-node, distributed system.
4.3. Transmission Delay
This section simulates the transmission delay performance of the discovery protocol. The transmission delay of the discovery protocol mainly takes into account the physical delay of network transmission and the delay generated by software. In the discovery protocol based on BF, the software delay mainly considers the reconfiguration delay of BF filter caused by FP exceeding the threshold.
Figure 14 shows the BF reconfiguration delay of three BF-based discovery protocols (SDP-BF, SDP-DCBF, and the Proposed Discovery Protocol). The simulation results indicate that SDP-BF had an obvious reconfiguration delay, as SDP-BF would reconfigure the filter as long as BF reached the storage threshold, and frequent reconfiguration resulted in a significant software delay. SDP-DCBF and the Proposed Discovery Protocol were extended by creating a brand-new filter when Active BF reached the storage element threshold. There is no need to change the data structure and Hash function, which effectively reduces reconfiguration delay.
Figure 15 shows the physical delay curve of the discovery protocol. The simulation results indicate that SDP had the maximal transmission delay as it had a large number of messages and, thus, led to a great physical delay in network transmission. SDP-BF reduced the number of messages and the corresponding physical delay by filtering interested endpoints. SDP-DCBF further reduced the number of messages by dynamically expanding the number of BFs, and its physical delay was superior to that of SDP-BF. The Proposed Discovery Protocol had the smallest number of messages and the optimal physical delay.