1 Introduction
-
It reviews the existing Service Discovery protocols in three different contexts: infrastructurebased networks, MANET, and IoT.
-
It highlights the main MSLD design features.
-
It compares and analyses the performance of MSLD in terms of Latency, Service availability, and overhead messages with that of Dir-Based, Dir-less, and Pervasive Discovery Protocol (PDP). This performance evaluation study was conducted under various network conditions including: network density, message discovery requests rates, network servers’ redundancy, and cache life time.
2 Method—MSLD protocol design
2.1 Integration with stateful auto-configuration protocols
-
Service directory with a full list of accessible services along with information about these services such as attributes and service providers. Table 1 illustrates the structure of such a service directory.
-
A module for querying and administrating the service directory database, which is being added to the autoconf protocol to maintain the services-related information residing in the database. We refer to this module as MANET Service Location and Discovery (MSLD).
Service name | Service URL (attributes and providers) |
---|---|
Printer | host2@color = false;duplex=true, host1@color = true;duplex = false |
Camera | host3@fps = 10, host7@fps = 20;zoom = true, host15@fps = 15 |
Gateway | host10@type=satellite;bandwidth = 2 Mbps |
..... | ..... |
Storage | host5@size = 100 GB, host9@size = 1000 GB |
2.2 MSLD components
2.2.1 Service resolver (SR)
2.2.2 Service manager (SM)
2.2.3 Directory manager (DM)
2.3 MSLD operations
2.3.1 Service naming conventions
2.3.2 Service registration
2.3.3 Service lookup
2.3.4 Service deregistration
3 MSLD protocol complexity
3.1 Directory-based complexity in terms of message overhead
3.1.1 Directory-less complexity in terms of message overhead
3.1.2 MSLD complexity in terms of overhead messages
4 Experimental results
4.1 Simulation setup
4.2 Performance metrics description
-
Dir-based A distributed directory based protocol is simulated because it has a higher SA than the single directory based approaches. Also, the directory based protocols are known to have a low communication overhead for service discovery when the directory maintenance overhead is ignored. During our simulation we assume that all directories maintain service information and synchronize among themselves, therefore nodes can query any one of the directories for service discovery.
-
Dir-less This protocol was considered due to the fact that it possesses a large number of SAs when SDQ messages are sent across the entire network.
-
PDP This protocol showed its effectiveness when compared to many existing IETF protocols [6]. Therefore we considered this protocol for comparison purposes. However, PDP has been configured to use retries in the implementation being considered in this study. This has been done mainly to enable a fair comparison since all other protocols considered in this study use retries which improve service availability.
4.3 Results and discussion
4.3.1 Comparison in static scenarios
Hops | \(\mu _{\mathrm{sdy}}\) (\(\sigma _{\mathrm{sdy}}\)) | \(\mu _{\mathrm{bind}}\) (\(\sigma _{\mathrm{bind}}\)) | \(\mu _{\mathrm{total}}\) (\(\sigma _{\mathrm{total}}\)) |
---|---|---|---|
(a) Directory-based: Unicast SDQ and SDY | |||
1 | 3.26 (0.25) | 3.43 (0.22) | 6.69 (0.34) |
2 | 6.73 (0.37) | 6.87 (0.35) | 13.61 (0.52) |
3 | 10.21 (0.44) | 10.43 (0.45) | 20.64 (0.63) |
4 | 13.73 (0.54) | 13.95 (0.52) | 27.68 (0.73) |
5 | 17.27 (0.58) | 17.44 (0.60) | 34.71 (0.83) |
6 | 20.74 (0.63) | 20.96 (0.62) | 41.70 (0.87) |
(b) Directory-less: Broadcast SDQ and Unicast SDY | |||
1 | 8.24 (3.50) | 4.54 (2.25) | 12.78 (4.31) |
2 | 14.97 (4.22) | 7.73 (0.79) | 22.71 (4.10) |
3 | 22.74 (5.14) | 11.40 (1.30) | 34.13 (5.33) |
4 | 30.34 (5.93) | 14.33 (1.82) | 44.67 (6.41) |
5 | 37.72 (6.34) | 17.49 (0.63) | 55.22 (6.42) |
6 | 45.38 (7.25) | 22.24 (2.69) | 67.62 (8.30) |
(c) PDP: Broadcast SDQ and SDY | |||
1 | 12.04 (4.29) | 4.20 (1.92) | 16.24 (4.85) |
2 | 23.57 (5.78) | 7.17 (0.96) | 30.73 (5.77) |
3 | 35.35 (7.22) | 11.29 (1.61) | 46.64 (7.52) |
4 | 46.97 (7.98) | 14.43 (1.74) | 61.40 (8.33) |
5 | 58.93 (9.09) | 17.96 (1.64) | 76.90 (9.49) |
6 | 69.94 (10.23) | 22.70 (3.39) | 92.64 (10.78) |
Approach | \(\mu _{\mathrm{sdq}}\) (\(ci_{\mathrm{Tsdq}}\)) | \(\mu _{\mathrm{bind}}\) (\(ci_{\mathrm{bind}}\)) | \(\mu _{\mathrm{total}}\) (\(ci_{\mathrm{total}}\)) |
---|---|---|---|
Dir-based | 0.122 (0.016) | 0.051 (0.008) | 0.166 (0.018) |
Dir-less | 0.203 (0.019) | 0.080 (0.008) | 0.258 (0.021) |
PDP | 0.060 (0.009) | 0.063 (0.009) | 0.123 (0.013) |
MSLD | 0.138 (0.017) | 0.057 (0.008) | 0.187 (0.020) |
Approach | \(F_{\mathrm{res}}\) | \(F_{\mathrm{binds}}\) | SA |
---|---|---|---|
Dir-based | 34 | 215 | 0.9667 |
Dir-less | 90 | 131 | 0.9705 |
PDP | 0 | 243 | 0.9675 |
MSLD | 10 | 211 | 0.9704 |
Approach | \(U_\mathrm{C}\) | \(B_\mathrm{C}\) | \(M_{\mathrm{total}}\) | \(\overline{M}_{\mathrm{total}}\) |
---|---|---|---|---|
Dir-based | 63,703 | 0 | 63,703 | 8.493\(^\mathrm{a}\) |
Dir-less | 451,213 | 8524 | 459,737 | 61.29 |
PDP | 380,526 | 7556 | 388,082 | 51.74 |
MSLD | 66,491 | 64 | 66,556 | 8.874 |
4.3.2 Comparison in dynamic scenarios
-
The latency performance behavior for Dir-based, Dir-less, and MSLD is comparable to that of the static case scenario. The Dir-based showed the lowest latency which is attributed to the fact that request messages are directly unicasted to DM. On the other hand, the Dir-less technique showed the highest latency which is attributed to the extra delay induced by the broadcast jitter.
-
MSLD performance was between that of Dir-based and Dir-less approaches. This was expected because MSLD relies on both approaches.
-
Because of the broadcast of SDQ and SDY, It was expected that PDP achieves the highest latency, however lower latency was witnessed. This is attributed to the fact that the cache hit ratio is higher due to SDY messages being cached and acting as announcements for available services, and the computed latency does not account for the extra wait time (PDP\(_{\mathrm{wait}}\)) that the responder node waits while expecting a different node with better energy specifications to respond. Based on [6], the wait time can be configured and usually varies between 0.5–3 s. In the event of accounting for PDP\(_{\mathrm{wait}}\), the latency is around 0.6 s which is way higher than that achieved in the other approaches.
-
For all approaches, the difference in the latency is considered small (in the order of milliseconds) since a delay between 1 and 2 s is acceptable by the user in this context (service initialization). Therefore, a different metric needs to be considered in order to differentiate between these protocols.
-
The Dir-less approach witnessed a higher failure probability of service requests compared to that of the Dir-based technique. This is attributed to the fact that with the former approach the failure/success depends on the accessibility or availability of the server offering such services. However with the latter case, the failure/success of service requests mainly depends on the availability of DMs. On the other hand, the MSLD protocol witnessed fewer service request failures when compared to Dir-less and Dir-based approaches. This is attributed to the fact that MSLD borrows from both protocols and hence a failure occurs only in case of the non-availability of DM and non-accessibility of servers offering the requested services. It is also important to note that the PDP witnessed a 100% success rate which is attributed to the fact that nodes local caches are being advertised along the SDY message broadcasts making PDP look like a distributed Dir-based protocol where all nodes are playing the role of directories leading to low \(F_{\mathrm{res}}\).
-
The binding failure performance was better in the case of Dir-less protocol and was comparable to the rest of the protocols (MSLD, Dir-based, and PDP). This is attributed to the fact that in the case of the Dir-less approach service queries are resolved by the server, making it less likely for the same server to be inaccessible, and hence there are fewer service binding failures.
-
The overall results about SrvA showed that MSLD protocol outperformed the PDP and Dir-based approaches. However, similar performance was achieved when compared to Dir-less.