You are currently viewing a new version of our website. To view the old version click .
Sensors
  • Article
  • Open Access

8 June 2017

Maritime Data Transfer Protocol (MDTP): A Proposal for a Data Transmission Protocol in Resource-Constrained Underwater Environments Involving Cyber-Physical Systems

,
,
and
1
Research Center on Software Technologies and Multimedia Systems for Sustainability (Centro de Investigación en Tecnologías Software y Sistemas Multimedia Para la Sostenibilidad—CITSEM), Campus Sur UPM, Ctra. Valencia, Km 7, 28031 Madrid, Spain
2
Tecnalia Research & Innovation, Parque Científico y Tecnológico de Bizkaia, C/Geldo, Edificio 700, 48160 Derio, Spain
3
HI Iberia Ingeniería y Proyectos, Juan Hurtado de Mendoza 14, 28036 Madrid, Spain
*
Author to whom correspondence should be addressed.
This article belongs to the Special Issue Sensing Technologies for Autonomy and Cooperation in Underwater Networked Robot Systems

Abstract

The utilization of autonomous maritime vehicles is becoming widespread in operations that are deemed too hazardous for humans to be directly involved in them. One of the ways to increase the productivity of the tools used during missions is the deployment of several vehicles with the same objective regarding data collection and transfer, both for the benefit of human staff and policy makers. However, the interchange of data in such an environment poses major challenges, such as a low bandwidth and the unreliability of the environment where transmissions take place. Furthermore, the relevant information that must be sent, as well as the exact size that will allow understanding it, is usually not clearly established, as standardization works are scarce in this domain. Under these conditions, establishing a way to interchange information at the data level among autonomous maritime vehicles becomes of critical importance since the needed information, along with the size of the transferred data, will have to be defined. This manuscript puts forward the Maritime Data Transfer Protocol, (MDTP) a way to interchange standardized pieces of information at the data level for maritime autonomous maritime vehicles, as well as the procedures that are required for information interchange.

1. Introduction

Cyber-Physical Systems (CPSs) are regarded as most useful due to the fact that they combine the advantages of distributed systems, hardware developments and networked information. One of the main issues that these developments present is the transmission of data between the different entities taking part in the communications. Even though there is a collection of technologies proven to be fully functional in regular environments, having a suitable protocol to interchange information among nodes becomes way more challenging when constrained environments, such as underwater and subsea environments, are providing the transmission medium.

1.1. Cooperating Autonomous Maritime Vehicles as a Cyber-Physical System

There are several ways to describe CPSs according to the existing literature. For Rajkumar et al. [1], they are physical and engineered systems that operate in a way that their elements are controlled, monitored, coordinated and integrated by an underlying core of computing and communication operations. According to [2], they imply a tight integration of physical, communication and computation elements ranging from medical devices to transportation and energy systems. All in all, although CPSs can be described in many different ways, they usually imply a collection of devices distributed in a certain location that interact with the environment by means of software-based commands that are sent and received with a minimal interaction from a human end user. This is no exception regarding the integration of communications at the data level regarding maritime robotics. This latter kind of devices can be better described as the usual vehicles manufactured to perform over- and subsea operations. Several examples of them are: Autonomous Underwater Vehicles (AUVs), Autonomous Surface Vehicles (ASVs), Unmanned Surface Vehicles (USVs) or a Remote Operated Vehicles (ROVs). Some examples of the operations they will be involved in are navigation in unknown underwater environments with simultaneous data gathering [3], river tracking and navigation while observing as much as possible The International Regulations for Preventing Collisions at Sea (COLREGs) [4], as components of distribution management systems with aerial vehicles [5], and as hardware components for underwater sensors networks [6].
Having a myriad of these vehicles working cooperatively under a common mission for all of them can be regarded as a CPS, where several physical elements are integrated in a deployment where vehicles gather data and are controlled and/or monitored by an entity responsible for taking decisions or designing the policies of that system. Unfortunately, a CPS with those features also presents important challenges that must be addressed, both related to the maritime environment (low bandwidth for data transmissions, unreliable channel for information exchanges, environment with a high degree of unpredictable features such as seawater composition, underwater currents, etc.) and to the distributed nature of the system (communications among heterogeneous hardware elements deployed in a certain environment). Among other pieces of work, these challenges are stated in [7], where it is mentioned how the movement added to the underwater nodes by submarine currents makes underwater routing very unreliable, and [8], where it is explicitly claimed that “Underwater acoustic communications are notoriously prone to interferences, disruption and unpredictable delays. Furthermore, the available bandwidth is usually very limited and the latency is large”.
As in any other CPS, information must be transferred among the elements used to collect information and interact with the application domain where those devices are included. This is a mandatory feature for the kind of environment that is described in this manuscript because there are several use cases where different types of information must be exchanged:
  • If an infrastructure that requires pillars or columns has been installed in the sea (for example, an offshore windmill or an oil platform), maintenance operations can make use of a CPS composed by several AUVs to monitor those pillars searching for cracks or other signs of structural fatigue in a cheaper—and less dangerous for human lives—manner than if there were human divers participating in the surveying operations.
  • In a similar way, should there be a need to explore any subsea, pipe-like structure (telecommunication cables, underwater pipelines) it can be done in a more efficient manner by deploying several underwater vehicles. In this way, they will be able to perform monitoring activities on the pipe and share the information obtained from the vehicles in a way that services can be composed from the data acquired.
  • Another practical example would imply using a set of underwater vehicles to supervise the building of a subsea berm: having several vehicles deployed at once will reduce the time required to scan all the subsea structure, and will allow a faster assessment of the construction works performed in that location.

1.2. The Challenging Nature of Communications in Maritime Environments

Communication is the most critical process in underwater technology. It can be established either by wired or wireless connections. Both methods have their own advantages and disadvantages, depending on the application. The current trend favors wireless communications as the most suitable way to transfer information, especially when it comes to deal with environments like the one described in this manuscript, where wired connections are either not practical or just impossible [9].
Unlike terrestrial-based applications, establishing underwater wireless communications is not a straightforward process. When considering the underwater communications, the main concerns that researchers consider involve the channel model (in this case, underwater), attenuation, transmission distance, power consumption, Signal-to-Noise ratio, bit error, symbol interference, error coding, modulation strategies, instrumentation and underwater interferences. Dealing with interferences for underwater research is a complex task due to the dynamic nature of water, which makes it difficult to plan communication links ahead.
As far as AUVs are concerned, issues of navigation and communications are often the most difficult problems to address, as there are few options for transmitting messages underwater [2]. Unlike radio links in terrestrial applications, challenges are quite different for underwater wave propagation. Water itself becomes the main source for the signal interference, due to unpredictable changes in some of the parameters that define most prominent features of seawater, like permittivity [10]. Indeed, characteristics like water turbidity, temperature and water noise have an impact in acoustic wave propagation [11]. In addition to that, common terrestrial phenomena like scattering, reflection or refraction also happens in underwater application domains [12]. There are various ways to get reflection in underwater environment, for example the signal can bounce off the sea floor and other underwater geographic structures, including softer mediums such as the ocean surface and layers of water separated by differences in temperature or density.
In the underwater area of knowledge there are three types of carrier waves that are most commonly used in wireless communications: (a) electromagnetic waves, (b) optical waves and (c) acoustic waves [13,14]. Using electromagnetic waves, the communication can be established at a higher frequency and bandwidth, but there are limitations due to high absorption/attenuation, which has a significant effect on the transmitted signal. A large antenna is also needed for this type of communication, thus affecting the design complexity and cost. Optical waves also offer high data rate transmission. Unfortunately, the signal is rapidly absorbed in water and suffers from scattering effect [3,4,5,6], which affects data transmission accuracy. Acoustic is the most preferred signal used as carrier by many applications because of its low absorption characteristics for underwater communication. Even though the data transmission is slower compared to other carrier signal, low absorption features enable the carrier to travel at longer range as less absorption is faced by the carrier. Depending on the distance between endpoints of a data transmission, bandwidth can range from 2 kbits [15] to 87 kbits per second [16].
When ensuring effective underwater communication, the communication system design plays a vital role. Factors such as transducer parameters (sensitivity, power consumption, noise immunity, transduction mechanism, directivity, resolution) and properly matched impedance must be taken into account during the process. Also, from the instrumentation system point of view, the size of devices is one of the main concerns. Manufacturers from the electronics industry are competing to produce a device with better performance and smaller size for the overall efficient system. For example, even though AUVs are very different from one manufacturer to another one, they can range from 80 cm (Naiad, [17]) through 170 cm (Remus 100, [18]) to 2 m and 9 inches of diameter in case of ECA’s A9 [19]. Thus, it becomes clear that many practical use cases require data interchanges among vehicles deployed in a mission. Therefore, how information can be transferred from one underwater vehicle to another becomes a topic of major importance in CPS based on autonomous maritime vehicles. As it has been previously mentioned, there are several aspects that must be dealt with for the successful transmission of data: the unreliability of the underwater environment, how constrained the transmission medium is whenever any information has to be transmitted or the kind of information of interest for the CPS have to be considered. All these aspects must be apprehended by any protocol used for information exchanges at the data level for underwater environments. These characteristics are even more important for higher level of information transmissions, as there are challenges like the format of the data to be transmitted, or how those pieces of information are going to be included in the Protocol Data Units, that must be addressed by any protocol to be designed.
Overall, the challenges that must be faced by underwater communications at the data level can be summarized as follows:
  • Scarce bandwidth. Transmissions at the data level often rely on information formats that are more verbose than in other layers (XML files, SPARQL requests, JSON messages), so transmitting this kind of information in a distributed system poses a significant challenge when information is requested by any human handling a system where a significant amount of information has to be used.
  • Low reliability. The means of transmission used for underwater communications are usually not fully trustable, so protocols that tackle this issue to an extent in different ways (for example, by adding redundancy, having small PDUs, etc.). Even by using acoustic waves, which is regarded as the most effective way to transmit data underwater, reliability of the transmissions is significantly lower than in a regular wireless transmission.
  • Varying conditions of the environment. Due to the inherent conditions of any maritime deployment that is carried out in open waters, chemical characteristics of the medium (salt composition, water pollution, etc.) as well as mechanical ones (subsea currents, periodic tides, etc.) the conditions of the surroundings where a deployment is supposed to be done change frequently; this can be a challenge for any system that is required to be stable, as these conditions will vary greatly every day.

1.3. Paper Contributions and Structure

There are several unique contributions that this paper makes when compared to other works available in the literature that has been studied by the authors of this proposal:
  • A protocol that has been specifically defined for underwater environments is put forward. This has been done so by collecting information among the consortium members of the Smart and Networking Underwater Robots in Cooperation Meshes (SWARMs) research project [20], which have provided their feedback regarding the kind of information that must be transferred among the different components of a CPS with autonomous maritime vehicles.
  • After the design was completed and deemed satisfactory, an implementation of that protocol was carried out. This was done so as a way to test the reliability of the Protocol Data Units (PDUs) that were previously designed, as well as the possibility to develop an actual piece of work based on a regular programming language. Java has been used for such a purpose, although it was not the only software resource that has been utilized.
  • The underlying implementation works that were performed made use of Data Distribution Service (DDS) as a way to provide data interoperability among the different devices that can be integrated by the same protocol. While DDS facilities imply several software developments that have been already tested in constrained environments (such as a Data-Centric Publish/Subscribe—referred to as DCPS—or a Real-Time Publish Subscribe—RTPS—wire protocol used for interoperability among DDS solutions), the protocol that has been designed and implemented is completely new and, to the best of the authors’ knowledge, there is not a development like this in any other proposal with this kind of characteristics.

3. Description of the Maritime Data Transfer Protocol

The proposal that has been designed for data transfer in autonomous maritime vehicles is aimed to address all the open issues previously described by means of the following features:
  • The information that has been included is relevant and consistent with the needs of the partners and companies that are involved in the SWARMs project. Considering that the list of participants in the project ranges from autonomous maritime vehicle vendors to underwater acoustic modem manufacturers, it is believed by the authors of this manuscript that it fits quite accurately the requirements for information interchange. Specifically, feedback received from the network layer has been pivotal in order to tackle the issue of a constrained, unreliable transmission medium.
  • Data level transmissions. Unlike other protocols or decentralized data transmission proposals, information exchange has been conceived to be performed at the data level, so that it will be fully and easily ported to the autonomous maritime vehicles that are used in the project.
  • Underwater adaptation. The protocol has been designed from scratch for data transmissions in a maritime (and more specifically, underwater) environment. Again, the feedback provided by the partners of the SWARMs project has been of major importance in order to include all the relevant data in the PDUs. Therefore, they have been tailored in terms of types and fields used to contain the parameters of interest in a distributed system or a CPS with a significant component of autonomous maritime vehicles.
If the previous proposals are taken into account, there are several actions that have been carried out when developing MDTP in order to solve the challenges that have been previously presented. These actions have been summarized in Table 2.
Table 2. Actions taken by MDTP.
It is due to all these reasons that the protocol has been named Maritime Data Transfer Protocol. Aside from the actions that have been taken by the developers of this protocol, there are several other advantages that can be offered due to the tools that have been used, such as time and space decoupling (due to the usage of DDS for this functionality, which allows publishers to connect whenever they are able to do so in case they become momentarily out of the deployment, as it is likely to happen from time to time in submarine environments), automatic discovery of nodes, quality of service guaranteed by default or optional security support. All the procedures undertaken that justify the PDUs design have been included.

3.1. Modelling Considerations

When operating with all the other elements from a mission in open sea, the protocol will be used among all the elements scattered in a certain area. It must be mentioned that MDTP has been conceived in cooperation with a software architecture that will be used in order to transfer information from the autonomous maritime vehicles to the actual middleware. By middleware, it is meant a software layer that is deployed in distributed systems or CPSs with the aim of abstracting the underlying hardware heterogeneity and complexity and providing the higher, more application layer-based elements, with a collection of facilities that are usually accessed via Application Programming Interface. Also, middleware can be enhanced by encasing several services within itself, ranging from device registration to security or semantic capabilities [40]. A most important characteristic is that the communications are made possible by the interaction with the autonomous maritime vehicles performing operations with an element containing a larger proportion of software components of the distributed middleware architecture, which is located in what is referred to as the Command and Control Station (CCS), as it has been depicted in Figure 1. Here, it can be seen how the overall structure of the system has been conceived: on the one hand, the CCS contains the bulk of the middleware components and all the services that can be deemed as high level (due to the fact that they are the closest to the applications and are used to access them), at the core (which contains the most prominent functionalities) and low level (mostly focused on hardware abstraction). On the other hand, the autonomous maritime vehicles will have their own share of middleware components, used to adapt the heterogeneous hardware to the resulting common system. In order to transfer the information between each of the parties, though, a protocol must be used at the data level whenever transmissions are done either Over-the-Air with regular wireless communications or via underwater acoustic network. Interestingly enough, the SWARMs project aims at unifying both networks, so using different protocols for data transmission can be counterproductive whenever information is shared between the autonomous maritime vehicles and the CCS. It is those communications where MDTP is used. Therefore, the figure also shows where the most prominent elements of the deployment that has been conceived will be running, as different pieces of hardware are required to have software components installed, which will be communicating to each other by means of MDTP.
Figure 1. Distribution of middleware. MDTP is used over the acoustic and wireless network.
The PDUs that have been designed for this protocol will make use of data interchange. The particular ideas that were taken into account to design the protocol were as follows:
  • Information of the entity that started the communication must be sent. The system running in the SWARMs project relies on the interchange of information at the data level among two different entities: the autonomous maritime vehicles and the equipment where all the other middleware elements have been included, which is referred to as the CCS. Depending on whether the vehicle or the middleware are publishing information or are subscribed to receive it, different PDUs must be used and different data will be included. Note that using protocols to measure flow information using TCP/IP layered architectures, such as IPFIX [41], would not be useful in this environment, due to the fact that a significant amount of communications will not rely on a regular IP infrastructure.
  • Communication channel. The message can be transmitted either overwater or underwater, using an IP or an acoustic communication channel which highly influences the speed and amount of bytes that can be efficiently delivered from the sender to the receiver. The most evident consequence to deal with is that the PDUs that are more verbose will be sent via the IP network. Even though it cannot be cabled by any means, any network relying on already established standards for wireless communications will work in an easier way than at the acoustic level.
  • Periodicity of the message. There will be messages that will be sent periodically as in any other distributed system or CPS. Commonly, these ones will be related to periodic heartbeats or keep alive notifications used to communicate both the autonomous maritime vehicles with each other, along with the CCS.
  • Purpose of the message. Depending on the nature of the information contained in the message (data requests, GPS coordinates, etc.) the messages that are used will be interchanged depending on what has been requested and the availability of information.
Consequently, a taxonomy that classifies the messages that have been created according to the entity that sends them (that is, either the autonomous maritime vehicle or the CCS) has been created as a way to provide a better grasp of the messages that are used.

3.2. Taxonomy of Messages

The messages sent by a vehicle have been grouped under four categories:
  • Status information is published periodically and usually corresponds to proprioceptive data, i.e., data about the vehicle itself, such as its estimated position or speed.
  • A report is a collection of data about the vehicle or its environment (exteroceptive data) aggregated to answer to some request received by the vehicle. A report can be of several types depending of the incoming request. A report will always have a reference to the request message which triggered its processing.
  • An event is a message sent by the vehicle to inform other entities involved in the mission that something relevant occurred which should be taken into consideration. Events can be either alarms or detections. Alarms result from detection by the Fault Management system of a failure or an anomaly in the behaviour of one or more components or subsystems of the vehicle, e.g., a loss of battery level, an increase of the internal temperature, the detection of a leak, etc. An alarm is therefore always related to proprioceptive onboard capabilities. On the other hand, a detection results from the observation of the environment of the vehicle either directly by a sensor (altimeter for instance) or through some processing.
  • A query can be defined as a request sent by the vehicle to other entities participating in a data interchange during a maritime mission (such as the CCS or another autonomous maritime vehicle) in order to obtain certain information of interest (e.g., request for an update of the position of other vehicles involved in the mission) or asking for some processing which cannot be done onboard. A query will be processed through the middleware and will result (with a certain delay) in an answer message.
On the other hand, messages sent by the CCS can be of three different kinds: request, notification and answer.
  • A request is an inquiry message that once interpreted by the vehicle will result in a report. There are two types of inquiries depending on whether they are about the mission or about status data. A mission request results in the assignment to the vehicle of a goal, a high level task or a plan to be executed. Attribution of goals or high level tasks require that the vehicle has onboard planning capabilities. A status request usually asks about an update on some kind of proprioceptive data such as remaining autonomy or estimated position.
  • A notification is a message to inform the vehicle that some new relevant information is available. Notifications may or may not require an action by the vehicle. Therefore, they do not imply an answer and could be even ignored by the vehicle. In order to receive a notification, it is mandatory that the vehicle previously subscribes to this kind of information as the middleware that is being used follows a publish/subscription paradigm. Once a notification is received, the vehicle may need to send and explicit query to retrieve associated content. For instance, if notified that there is an updated seabed map available, the vehicle would need to surface, send a query to receive it via radio frequency communications, analyze it and replan the mission if necessary.
  • An answer is a message sent in response to a query emitted by a vehicle. Answers will always have a reference to the query message which triggered its processing.
Thus, there are several possible directions when information involving requests and responses is interchanged among the different devices deployed in a mission: either they are sent from the vehicle to the CCS, from the vehicle to another vehicle and from the CCS to the vehicle itself. Considering these aspects, the taxonomy that has been created for the PDUs in MDTP distinguishes two different kinds of main groups has been represented in Figure 2. The structure that has been followed to create it is related to the two kinds of possible actions that can be taken to transmit and receive a message in a system where all the parties are deployed. In any given situation, messages will be either sent by an autonomous maritime vehicle that is present or by the CCS. When they are sent from the vehicles, they are always related to either a mission or any parameter related to it, such as information about the status of mission where the vehicle is currently involved, a report on the data that is requested, any event that may affect the mission or the vehicle behaviour or a query that the vehicle may have to perform in order to better fulfill a mission. On the contrary, if the message is sent by the CCS they will consist of requests that are done to the robots that have been deployed during the mission, a notification that has to be sent to them in order to modify their behaviour, and an answer that has to be sent to them as a result of a requests that they previously sent. In the end, it can be seen how activities that involving requests and answers for those requests (for messages sent by the middleware) and activities related to notifications about the status of the vehicles (for messages sent from the vehicles).
Figure 2. Taxonomy for the PDUs in MDTP.

3.3. Messages from the Maritime Data Transfer Protocol

The middleware follows the Data Distribution Service (DDS) specification which supports Data-Centric Publish-Subscribe (DCPS) in real-time systems. DDS is a middleware protocol standard for data-centric integration that features extensive fine control of real-time QoS parameters. MDTP relays on the Object Management Group (OMG) standard referred to as DDS Interoperability–Real Time Publish Subscribe wire-protocol (DDSI-RTPS) [42] for implementation works, as it guarantees interoperability with the three main DDS solution providers, i.e., Twin Oaks CoreDX DDS [43], OpenSpliceDDS (PrismTech, Stirling, UK, [44]) and RTI Connext DDS [45]. According to DDSI-RTPS, a message has a header and one to several possible submessages. The header contains information about the RTPS protocol, the vendor and the Globally Unique Identifier (GUID). Each of the submessages has it own submessage header with an id that identifies the type of submessage, and one to several submessage elements. In a communication between the middleware and a vehicle each message PDU will contain three submessages (as represented in Figure 3 and Figure 4): a submessage with information about the timestamp (INFO_TS), a submessage with the data we want to transmit (DATA) and a submessage to inform that there is data available in the writer (HEARTBEAT).
Figure 3. Message PDU with Open Splice DDS Community version.
Figure 4. Message PDU with Twin Oaks CoreDX DDS.
Depending on the vendor, there are differences in the size of the message PDUs. A default PDU with a serialized data of 63 bytes has a size of 138 bytes with Open Splice DDS Community version (OSPL) whereas with Twin Oaks CoreDX DDS, it has a size of 106 bytes. The main difference is that OSPL uses 40 bytes for default QoS specification whereas TwinOaks includes a generic vendor submessage of size 8 bytes. The Serialized Data section of the PDU contains the information to be transmitted between the endpoints of the communication, namely the middleware and AUVs. In our scenario, there are two possible communication channels: an acoustic channel (provided by acoustic modems manufactured by Evologics), to be used when AUVs are underwater, and an IP channel or high bandwidth radio link (e.g., WiFi), to be used when AUVs are at the surface level. Being the bandwidth for acoustic communications very limited, as it has already been explained, the type of information expected to be exchanged between the middleware and AUVs when they are underwater has been analyzed, in order to minimized the size of the PDUs to be transmitted.
Several different kinds of data have been define with the purpose of transferring data according to the needs of a mission, or the tasks it is subdivided in. These different types are as follows:
  • Environment data. These are the data that are related to the surroundings of the location where the autonomous maritime vehicles are deployed.
  • Status: The pieces of information collected from here are about the vehicle that has been deployed. They complement the environment data because status data offer the information that was omitted by them.
  • Situational information: The data deal with the location and movements of the autonomous maritime vehicle that is deployed, such as location, turning parameters or vehicle speed.
  • Other information: These data contain all the information about other features of a deployment, like the algorithm that has been used for positioning.
The information of interest susceptible to be exchanged has been summarized in Table 3:
Table 3. Information to exchange when AUVs are underwater.
Other types of data bigger in size, like missions, should be transmitted when the AUVs are on the surface so as to use an IP channel with no bandwidth limitations. By missions, it is meant the set of operations that are carried out cooperatively by the autonomous maritime vehicles deployed in order to achieve a complex goal Taking into account the bandwidth restrictions of underwater acoustic communications (low bandwidth, unreliable medium of transmission, difficulties to maintain the nodes in a fixed position, etc.) and the suitability of the time and space decoupling abilities of DDS in those cases, the authors of this manuscript have defined messages for MDTP based on DDS which rely on the previously presented taxonomy of messages (see Section 3.2), and cover all possible scenarios presented by the vehicle providers collaborating in the SWARMs research project (e.g., periodic reports from vehicles, task execution requests, etc.) This protocol enhances the state of the art by providing a definition of the content that should be included in the SerializedData parameter of a DDS submessage of type Data (as shown in Figure 5). The size of the data to exchange through this protocol has been carefully design to adjust to the limited bandwidth of acoustic modems (e.g., an effective bitrate of less than 2 kbps is quite common) to avoid the excessive fragmentation of PDUs in transmissions. This definition is proposed as a standard representation of the information that can be exchanged between the middleware and vehicles in offshore maritime missions. We have defined a size of 63 bytes for this content, comprising a 24 bits header and 480 bits payload:
Figure 5. MDTP generic PDU.
  • Vehicle ID (4 bits): vehicle identifier of the robot originator or receptor of the message. It has been included in Table 4 and Table 5 as VID.
    Table 4. Serialized data for overwater communications.
    Table 5. Serialized data for underwater communications.
  • Type (4 bits): PDU type. We consider 7 different kinds of PDUs according to the taxonomy of messages defined. Three of them represent the different message types the middleware can send to a vehicle: requests, notifications and answers. The other four represent the message types that vehicles can send to the middleware: periodic status information, reports, events and queries.
  • Subtype (8 bits): PDU subtype. These bits are used to further define the kind of PDU that is sent within the 7 PDU types that have been defined previously.
  • Sequence Operation (8 bits): randomly generated number used to relate petitions and responses.
  • Data (480 bits): 60 bytes available to transfer data. Depending on the message type and subtype, some of these data bytes may be empty. The timestamp associated to this data will be provided by the INFO_TS submessage of the DDS message.
As it was previously mentioned, Figure 3 is containing all the information regarding how PDUs look like in the Open Splice DDS version of DDS. This is an open source iteration of the DDS standard that contains the fields that were mentioned in Section 3.3:
  • RTPS: this field is used to include the RTPS version that is used by the PDUs included in a DDS iteration.
  • Protocol version: used to include the protocol version used in this iteration.
  • Vendor ID: an identifier of the vendor that has developed the DDS iteration.
  • GUID prefix: it is the Globally Unique Identifier used to characterize the message that is sent via DDS.
  • Submessage INFO_TS: contains information about the timestamp of the message that was sent.
  • Submessage data: contains the information transferred.
  • Submessage heartbeat: used to control the periodicity of the information.
At the same time, the PDU that is used for the CoreDX version developed by Twin Oaks has roughly the same fields (as it is an implementation of a standard), but there is an additional one used to include vendor-specific information from the developer. In addition to that, the data submessage is 40 bytes smaller, due to the fact that is not containing the inline QoS information that the OpenSpliceDDS version had. These characteristics have been depicted in Figure 4.
It can be seen that despite claiming that there is interoperability between the Open Splice and CoreDX versions of DDS, both PDUs are of very different characteristics. This is due to the fact that they are different iterations of the DDS standard. Nevertheless, the tests that have been carried out guarantee that information has been transferred with no issues regarding the different features of OpenSpliceDDS and CoreDX.

3.4. Serialized Data

The individual PDUs exchanged both in overwater communications and underwater communications for each of the messages, as classified in the taxonomy proposed in the present paper. Each of the PDUs described is based on the format proposed in Figure 5.
  • Overwater communications (IP channel). As there will not be any bandwidth limitation in this case, the middleware will take advantage of this situation to exchange data with vehicles whose size is expected to be large, like mission plans, that after being defined by the operators of the missions will be transmitted from the middleware to the AUVs before launching them to sea (e.g., if they are on a ship). Table 4 has been used to include all the pieces of information mentioned. In addition to that, the PDUs that are involved in the communications have also been included. They follow the structure that was described, which consists of a vehicle identifier (VID), the type of PDU that is used, its subtype (it is required because there are several different kinds of requests, reports or events that can be triggered in a mission), its sequence operation (included as SeqOp) and the data used to make the task possible.
  • Underwater communications (acoustic channel). Will make use of PDUs with smaller amounts of data. As it was done in Table 4, the PDUs involved in the communications have also been included. The main reason for MDTP to have been designed is this kind of communication; if only Over-the-air data transmissions existed, it is likely that a different solution would have been studied. However, as described in the open issues, none of the existing options seemed to completely satisfy the required capabilities for data transmissions.

4. Implementation and Testing Activities on MDTP

4.1. Implementation Works

Once the protocol was fully designed, implementation works were carried out in order to test the usefulness of the solution. A prototype that covers the main features previously described has been implemented. This prototype, which has been used as the platform where MDTP performance was tested, is composed of two parts:
  • A Java component that represents the publish-subscription manager of the middleware, in charge of the DDS communication with the AUVs. The DDS functionalities of this component are implemented by means of CoreDX DDS, a proprietary DDS solution offered by Twin Oaks [43].
  • A C++ component that represents the DDS proxy of the AUV. This component is composed by two different layers: a communication layer in charge of DDS communication with the middleware, and a translation layer in charge of formatting the information to/from the language or commands supported by the AUV (e.g., ROS). This manuscript focuses on the communication layer, as the purpose of the authors is to validate the PDUs defined under MDTP. The DDS functionalities of the DDS proxy are implemented by means of Vortex OpenSplice DDS Community Edition which is an open-source DDS solution offered by PrismTech [44].
The DDS communication between both components has been tested in an acoustic network emulated by means of an online modem emulator provided by Evologics [46], which consists of a simulation of their medium frequency modem S2CR 18/34 whose effective bitrate is 1 kbps. This emulator provides real-time modem working procedures, and implements the same source code and commands that the real acoustic modem does. Besides, as it is accessible remotely via Internet, it allows the simplification of the integration tasks and the minimization of the development costs. Besides, the Evologics emulator is able to simulate specific propagation effects in underwater acoustic communication channels, like signal propagation delays, data packet collision detection, packet synchronization errors, time difference of arrivals on the Ultra-Short Base Line (USBL) grid elements and the movement of a real modem due to sea current. Besides, in order to enable the compatibility of this modem with the DDS protocol, a specific software module called DDS-acoustic converter able to implement the translation DDS/Evologics-Acoustic-Framework has been developed in the SWARMs project. This is a C++ component with DDS functionalities implemented by means of Vortex OpenSplice DDS Community Edition.
In order to create a scenario for testing purposes, the publish-subscription manager of the middleware, the DDS proxy of the vehicle and the DDS-acoustic converter were installed on a Linux based Personal Computer. To run the modem emulator, it was also necessary to install the Evologics Dual Media Access Control (DMAC) advanced data-link layer protocol. A specific Interface Description Language (IDL) file has been defined to implement the messages in MDTP. IDL can be defined as a specification language used to describe the data model used in the interface between software components in a language-independent manner. All commercial and open source DDS implementations currently available use an IDL file, also known as Data Definition Language (DDL) file, as the cornerstone for the generation of the data types needed for a specific software implementation. The format of the IDL file that has been defined is the following:
module swarmsIDL
{
struct SWARMsmsg
{
  octet vid_type;      //8 bits (VID bits 7..4, Type bits 3..0)
  octet _subtype;      //8 bits
  octet seqoperation;   //Sequence nr of the operation (8 bits)
  unsigned long dataInt[15];  //15 x 32 bits
 
};
 
};
The first byte represents the Vehicle ID (4 bits) and the Type (4 bits) of MDTP, while the second and the third byte represent the SubType and the Sequence Operation (all of them described in Section 3.3). Finally, 60 bytes have been reserved to transfer data, although the authors of the proposal are aware that not all transmissions will need such an amount of data, so in some cases part of these data bytes may be empty.

4.2. Specific PDU Tests

The activities to be carried out to create the scenario where the testing activities are done were as follows: (1) starting the online modem emulator by opening a terminal window and running the Evologics DMAC software. This software automatically accesses to Evologics’ Virtual Private Network (VPN) and starts the online modem emulator; (2) starting the publish-subscription manager of the middleware by opening another terminal window and running this specific piece of software; (3) starting the DDS proxy of the AUV in a new terminal window; (4) Finally, starting the DDS-acoustic converter of the modem emulator in a separate terminal window.
As soon as the DDS components (the DDS-acoustic converter, the publish-subscription manager and the DDS proxy) are started, the auto-discovery of the DDS nodes takes place. The automatic discovery of entities provided by DDS is a useful feature that allows applications to publish and subscribe to data without needing to configure the specific endpoints that they use to interchange information, regardless of whether these nodes are on the same machine or distributed in a network. Each DDS application performs the standard automatic discovery process which includes announcing the presence of its DDS Entities, listening for other DDS Entities, and looking for matches between its own DDS Entities and those discovered. This process usually takes a few seconds only, but due to the especial characteristics of the DDS entities of our implementation based on two different DDS libraries (i.e., the publish-subscription manager is CoreDX DDS based, while the DDS-acoustic converter and the DDS proxy are Vortex OpenSplice DDS Community Edition based), the auto-discovery process takes around 25 s. It must be kept mind that this process shall only be executed once (the moment the scenario is initialized).
In order to test the developed implementation, three main different cases have been defined: (1) the case where the middleware subscribes to periodic environmental information sent by a vehicle; (2) the case where the middleware requests to a vehicle the execution of a specific task and (3) the discovery of the Control Data Terminal (CDT) component used to know the active vehicles in a deployment. In addition to that, other testing activities that have been carried out involve the case where the middleware subscribes to periodic status information sent by a vehicle.

4.2.1. Test Case 1: Subscription to Periodic Environmental Data

The middleware architecture wants to subscribe to periodic environmental information sent by a vehicle, so it publishes a PDU under the topic “request_environment” to request the vehicle the delivery of environment-related data every 10 s. Figure 6 shows the kind of data that were added to the fields that conform the PDU send to do the request.
Figure 6. Appearance of the PDU used to request environment information.
Since the vehicle is subscribed to the topic “request_environment”, it processes the petition, takes the correspondent measurements and publishes every 10 s a state vector (under the topic “report_environment”) with the corresponding data shown in Figure 7.
Figure 7. Appearance of the PDU used to send environment information.
The time that it takes for the DDS proxy located in the AUV to answer the requests from the publish-subscription manager of the middleware and send a state vector has been measured as varying between 3.56 and 5.58 s. It has also been verified that if 10 DDS proxy components are started in 10 different terminal windows (i.e., representing a swarm of 10 AUVs deployed underwater), the request sent by the publish-subscription manager reaches the 10 components almost simultaneously. The reliability of the protocol to work among the different parts of the components was tested by means of a series of tests where the PDUs where sent through all the software components used for their interaction. Figure 8 displays the results obtained when running 50 attempts at sending environmental data related to subscriptions.
Figure 8. Time measurements for periodic environmental data subscriptions.
In this figure, it is shown how the period of time used to transfer data regarding subscriptions can be done in a reliable (there were no connection errors in the scenario that was used) and realistic manner. The data were transmitted at rates that are similar to the ones used in other solutions that involve message transmission in middleware environments: for example, user experience with data transmission in Oracle Fusion Middleware is expected to be measured in seconds (“For example, you might want to ensure that 90% of the users experience response times no greater than 5 s and the maximum response time for all users is 20 s” [47]. Timeout and keep alive messages use time intervals of 300 and 5 s, respectively). JBoss Enterprise Application Platform uses 30 s intervals for timeout messages too [48]. Lastly, it is consistent with results that can be expected from Message-Oriented Middleware, where according to Korhonen, “Online messaging is in real time, with message delivery typically occurring in seconds or even sub-seconds” [49]. Overall, it can be said that this protocol that has been conceived for autonomous maritime vehicles shows a comparable performance with some other already established solutions. Nevertheless, MDTP has been explicitly conceived for transmission of maritime data using as little amount of bits as possible, unlike all the other solutions that make use of a reliable transmission medium.
Table 6 shows that the performance of the system is satisfactory overall: clearly, the amount of time employed to deliver data from a subscription varies within acceptable ranges of time if the data transmission between vehicles is considered. Furthermore, the average and median values obtained from the 50 successful attempts to establish communications are very close one to the other; this implies that the outlier values have little weight in the measurements obtained, and therefore confirms that the protocol offers a predictable performance. This is reinforced by the comparatively reduced time difference between the minimum and maximum figures (minimum is slightly less than 64% of the maximum) that have been measured.
Table 6. Most prominent figures obtained from periodic data subscription measures

4.2.2. Testing Case 2: Task Execution Request

In this case, the middleware wants the vehicle to cover an area, so it publishes a PDU under the topic “request task” specifying the needed data to perform such a task. As it can be seen in Figure 9, the information that will be transferred this time will be more abundant than before, due to the fact that it has to include the parameters used to perform the task (thus, since it implies covering an area, the data implies information about how to maneuver the vehicle and area boundaries).
Figure 9. Appearance of the PDU used for area cover request.
Since it is assumed that the vehicle is subscribed to the topic “request_task”, it processes the petition and publishes the reports of such a task (under the topic “report_task”) as soon as these reports are available. Figure 10 depicts the results of those reports. It can be noted how there is only one field used now, which will be used to communicate whether the request was successful or not.
Figure 10. Appearance of the PDU used as an answer for the task reported.
The time that it takes the DDS proxy of the AUV to report about the execution of the task demanded by the publish-subscription manager of the middleware varies between 3.6 and 5.71 s. In order to ensure the kind of performance that could be obtained in case there were several task execution requests from a collection of robots deployed in a system rather than just one, 50 more requests attempts were made. As it happened with the previous use case, the range of times obtained (even for outlier samples) was deemed as satisfactory in the simulations where the different components were running under the PDUs described in this protocol. The results of this set of tests have been portrayed in Figure 11. Overall, the performance resembles what was obtained in the previous used case with a small increment in the time required for the requests to be attended, which is to be expected due to the fact that one of the PDUs used for information interchanges is longer than the ones that were used before.
Figure 11. Time measurements for task executions.
An analysis of the most prominent data that has been obtained and summarized in Table 7 shows similar remarks as the ones that were described in the previous example: maximum and minimum values are included within ranges that are reasonable (minimum value is 63% of the maximum value, which is roughly the same result that was obtained in the previous experiment) and the average and median figures are very close one from each other (also demonstrated by the low value of standard deviation, which shows low dispersion among the values retrieved while fulfilling requests).
Table 7. Most prominent figures obtained from periodic data subscription measures.

4.2.3. Testing Case 3: Discovery of Control Data Terminal Component

This use case was introduced with the idea of having an accurate idea of the amount of time required to check the existence of available vehicles present in a deployment. The system where MDTP works is based on the usage of CDTs in order to know which autonomous maritime vehicles are present (since an active CDT will mean that a vehicle has been deployed). While the PDU required to make this possible is simpler than the others, as it can be seen in Figure 12, MDTP has been conceived to work with two different versions of DDS when a system is deployed. Consequently, there are several parameters that must be negotiated and will take a longer time to have that process completed. Fortunately, it is a procedure that will only have to be done once during a mission, so it will not be time consuming or disruptive from the bandwidth usage point of view.
Figure 12. PDU used for CDT discovery.
The measurements involving a collection of 50 attempts to successfully prove this functionality have been included here too. These are larger than the ones obtained previously due to the negotiations that have to be done regarding the different DDS versions used in the designed system, but discovery is carried out successfully in any case. Furthermore, no discovery requests or interchanged data were lost during the testing activities. These features can be appreciated in Figure 13, where the results are shown in a graphical manner.
Figure 13. Time measurements for CDT discovery.
With regards to the most prominent figures obtained from the set of run tests, despite been higher than the ones obtained previously (due to the parameters that must be negotiated between the two different implementations of DDS) they still show the same positive features that were shown before. For example, the difference between the minimum and maximum time figures is still contained (the minimum value is 62.9% of the maximum). What is more, as it can be seen in Table 8, the difference between average (25.4436 s) and median (25.885 s) parameters is small enough to confirm the stability of the protocol under the scenario that has been put forward.
Table 8. Most prominent figures obtained from CDT discovery measures.

4.2.4. Other Testing Activities

Among the other functionalities conceived to make use of MDTP for data transmissions, creating a subscription to periodic mission status data is one of the most important. In this case, the middleware wants to subscribe to the periodic mission status data sent by a vehicle, so it publishes a PDU under the topic “request_mission” to request the vehicle to send the mission status every 5 s. The overall structure of the PDU, as depicted in Figure 14, is oriented to information requests.
Figure 14. Appearance of the PDU used as a request for periodic mission status data.
As the vehicle is subscribed to the topic “request_mission”, it processes the petition and publishes a mission state message (under the topic “report_mission”) with the corresponding data every 5 s. The answer will provide an identifier with the status of the mission and another identifier for the error. Its overall appearance is displayed in Figure 15.
Figure 15. Appearance of the PDU used as an answer for periodic mission status data.
The time that it takes the DDS proxy of the AUV to answer the request from the publish-subscription manager of the middleware and send the mission status was measured as varying between 3.75 and 4.60 s. As in test case 1, if several DDS proxy components were started, the request send by the publish-subscription manager reaches all these components almost simultaneously. Interestingly enough, the time required to make the data delivery is only slightly higher than the one required in the first test. Most of the information sent in this test is contained in the DDS header, which is mandatory to correctly implement the defined publish-subscribe mechanism and apply the QoS settings.

4.3. Discussion of the Development Work

As it has been shown, the undertaken development works show the feasibility of the protocol that has been put forward. This version of the protocol includes more complex features that have been codified for the integration stages of the SWARMs project, which constitutes the framework used for the development of MDTP. Even with them, the performance of the protocol regarding transmission of information at the data level has been proven satisfactory, as data are transmitted at a pace acceptable by both the deployed hardware and any potential human operator. Even when more complex information is transmitted, such as GPS coordinates, the protocol will handle the data without issues or errors and will be transmitted and understood correctly at both ends of the communication. In addition to these, there are some other features that have a major importance for the development works that have been taken into account for the deployment of the protocol:
  • A nominal bitrate of 1 kbps is quite common for underwater communications. While limitations on the bandwidth for underwater communications have been explained in this manuscript, it must be taken into account that 1 kbit per second data transmission are the usual ones present in acoustic communications. It is because of this reason that PDUs cannot be larger than a certain limit of bytes, or otherwise data will be lost. At the same time, trying to send information in single PDUs that do not relay on other ones to provide all the information requested is also something to consider, as such a procedure will maximize the chances of having all the data correctly delivered to the destination.
  • The simulator that has been used to mimic the behaviour of underwater communications in the open sea is based on what is used in the SWARMs project, that is to say, the model S2C18/34 manufactured by Evologics (Berlin, Germany), which matches the required performance for transmission of data over relatively large distances (up to 3.5 km) with data rate up to 13.8 kbps (nominally). Although this bitrate will usually fall well below this figure when communications take place in shallow waters (due to reflections in the acoustic waves), it will still be usable to transmit information.
  • If one acoustic modem is responsible to transmit the periodic data sent by several AUVs, the period for the transmission of periodic data will be no lower than 10 or 15 s in order to have the acoustic modem working correctly. This is due to the fact that, due to the characteristics of the environment where data transmissions take place, it is not advisable to establish periodic data transfers at a rate of milliseconds, especially if there are several vehicles transmitting information at the same time, because they might overall the modem, regardless of the strategy used to send that information (for example, if too many PDUs gather at a point, the modem will give priority to the first data received, in a First-In-First-Out fashion).

5. Conclusions and Future Works

A study of the existing protocols capable of offering compelling enough features, while at the same time being used in the environment that has been described (underwater autonomous maritime vehicles, low bandwidth availability, unreliability for transmissions at the data level), has been included in Section 2. The open issues and challenges that have been found are dealt with by the protocol that has been thoroughly described in Section 3. Since the protocol is expected to be more than just a mere design, implementation works have been carried out, as described in Section 4. As far as the authors are concerned, a protocol tailored for the needs of transmissions at the data level among distributed elements of a collection of maritime vehicles is not presented in any piece of literature. Furthermore, its usefulness is guaranteed, as it is expected from it that will transfer information in a level of detail and accuracy that is hardly matched by any other current proposal.
There are several future works to be undertaken, as part of the activities to be done in the SWARMs project. The protocol will be tested with the plethora of vehicles expected to be used in the project, which range from AUVs to ASVs or ROVs. Their differences in performance and computational capabilities should not be significant for the protocol, as it is lightweight enough to guarantee that it can be used in a transparent way by them. Furthermore, any partial modification that has to be done on the protocol will be tackled, even though after collecting all the information that is required for the application domain where it is used, changes or further extensions of MDTP seem unlikely. Finally, even though there is inter-compatibility among the different versions of DDS, the usage of a single one at both ends of the communication will be taken into account in order to optimize the procedure used for automatic discovery of elements during data transfer. This could provide an important advantage due to the fact that using a single DDS distribution will minimize the amount of time required for automatic discovery, as it has been defined in the standard.

Acknowledgments

The research and development activities that have been included in this manuscript have been performed as part of the SWARMs (Smart and Networking Underwater Robots in Cooperation Meshes) 1034 European research project. It is under Grant Agreement 1035 n.662107-SWARMs-ECSEL-2014-1 and is being partially supported by the Spanish Ministry of Economy and Competitiveness (Ref: PCIN-2014-022-C02-02) and the ECSEL JU. We would also like to thank Evologics GmbH for the support given when using their tools for the testing activities.

Author Contributions

The contributions of the authors have been made like this: Jesús Rodríguez-Molina has made contributions in the introduction and has reviewed half of the related works that have been included in the manuscript. He has also provided information in the modelling considerations and description of the Maritime Data Transfer Protocol, its performance and the conclusions that can be extracted from the development works done. Belén Martínez has provided extensive information about the PDU structure that has been defined in Section 3, as well as about the overall structure of the manuscript and the implementation works that have been included in the manuscript. Sonia Bilbao has contributed with information regarding the serialized data and the information to be exchanged in the possible scenarios where the protocol is used. Tamara Martín-Wanton has delivered content for the introduction and the other half of the related works that have been reviewed in order to conceive the PDUs of the protocol.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Rajkumar, R.; Lee, I.; Sha, L.; Stankovic, J. Cyber-physical systems: The next computing revolution. In Proceedings of the 47th ACM/IEEE Design Automation Conference, Anaheim, CA, USA, 13–18 June 2010. [Google Scholar]
  2. Bradley, J.; Atkins, E. Optimization and Control of Cyber-Physical Vehicle Systems. Sensors 2015, 15, 23020–23049. [Google Scholar] [CrossRef] [PubMed]
  3. Hernández, J.D.; Istenič, K.; Gracias, N.; Palomeras, N.; Campos, R.; Vidal, E.; García, R.; Carreras, M. Autonomous Underwater Navigation and Optical Mapping in Unknown Natural Environments. Sensors 2016, 16, 1174. [Google Scholar] [CrossRef] [PubMed]
  4. Mei, J.H.; Arshad, M.R. COLREGs based navigation of riverine Autonomous Surface Vehicle. In Proceedings of the 2016 IEEE International Conference on Underwater System Technology: Theory and Applications (USYS), Penang, Malaysia, 13–14 December 2016. [Google Scholar]
  5. Koo, J.; Jung, S.; Myung, H. A jellyfish distribution management system using an unmanned aerial vehicle and unmanned surface vehicles. In Proceedings of the 2017 IEEE Underwater Technology (UT), Busan, Korea, 21–24 February 2017. [Google Scholar]
  6. Caraivan, M.; Dache, V.; Sgârciu, V. Simulation Scenarios for Deploying Underwater Safe-Net Sensor Networks Using Remote Operated Vehicles: Offshore Exploration Constructions Models and Sensor Deployment Methods. In Proceedings of the 2013 19th International Conference on Control Systems and Computer Science, Bucharest, Romania, 29–31 May 2013. [Google Scholar]
  7. Li, N.; Martínez, J.-F.; Rodríguez-Molina, J.; Meneses Chaus, J.M.; Eckert, M. A Survey on Underwater Acoustic Sensor Network Routing Protocols. Sensors 2016, 16, 414. [Google Scholar] [CrossRef] [PubMed]
  8. Martins, R. Disruption/delay tolerant networking with low-bandwidth underwater acoustic modems. In Proceedings of the 2010 IEEE/OES Autonomous Underwater Vehicles, Monterey, CA, USA, 1–3 September 2010. [Google Scholar]
  9. Chitre, M.; Shahabudeen, S.; Stojanovic, M. Underwater Acoustic Communication: Its Challenges and Research Opportunities. Mar. Technol. Soc. J. 2008, 42, 14. [Google Scholar] [CrossRef]
  10. Lloret, J.; Sendra, S.; Ardid, M.; Rodrigues, J.J.P.C. Underwater Wireless Sensor Communications in the 2.4 GHz ISM Frequency Band. Sensors 2012, 12, 4237–4264. [Google Scholar] [PubMed]
  11. Qureshi, U.M.; Shaikh, F.K.; Aziz, Z.; Shah, S.M.; Sheikh, A.A.; Felemban, E.; Qaisar, S.B. RF Path and Absorption Loss Estimation for Underwater Wireless Sensor Networks in Different Water Environments. Sensors 2016, 16, 890. [Google Scholar] [CrossRef] [PubMed]
  12. Lyalinov, M.A. Scattering of acoustic waves by a sector. Wave Motion 2013, 50, 739–762. [Google Scholar] [CrossRef]
  13. Stojanovic, M. Underwater Acoustic Communications. 2003. Available online: http://millitsa.coe.neu.edu/sites/millitsa.coe.neu.edu./files/ency3.pdf (accessed on 7 June 2017).
  14. Liu, L.; Zhou, S.; Cui, J.-H. Prospects and problems of wireless communication for underwater sensor networks. Wirel. Commun. Mob. Comput. 2008, 8, 977–994. [Google Scholar]
  15. SWARMs Consortium. SWARMs Early Trials. 2016. Available online: http://www.swarms.eu/PDFs/Newsl/SWARMs_Newsletter2_January2017.pdf (accessed on 17 April 2017).
  16. Beaujean, P.P.J.; Carlson, E.A.; Spruance, J.; Kriel, D. HERMES—A high-speed acoustic modem for real-time transmission of uncompressed image and status transmission in port environment and very shallow water. In Proceedings of the OCEANS 2008, Quebec City, QC, Canada, 15–18 September 2008. [Google Scholar]
  17. Naiad Team. Naiad for a Better Future. 2017. Available online: http://naiad.se/ (accessed on 17 April 2017).
  18. Hydroid Inc. New Generation REMUS 100. 2017. Available online: https://www.hydroid.com/NewGenREMUS (accessed on 17 April 2017).
  19. ECA Group. ECA A9-M. 2017. Available online: http://eca-media.ecagroup.com/player/pdf?key=c618ddf7338ea3f9c7c392bc127ebcb5 (accesssed on 17 April 2017).
  20. SWARMs Consortium. SWARMs: Smart and Networking UnderWAter Robots in Cooperation Meshes. 2015. Available online: http://www.swarms.eu/ (accessed on 2 June 2017).
  21. Tian, G.; Camtepe, S.; Tian, Y.C. A Deadline-Constrained 802.11 MAC Protocol With QoS Differentiation for Soft Real-Time Control. IEEE Transac. Ind. Inf. 2016, 12, 544–554. [Google Scholar]
  22. Internet Engineering Task Force (IETF). Request For Comments 7252—The Constrained Application Protocol RFC 7252(CoAP); Internet Engineering Task Force (IETF): Bremen, Germany, 2014. [Google Scholar]
  23. Fielding, R.T. Architectural Styles and the Design of Network-Based Software Architectures. 2000. Available online: http://www.ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf (accessed on 8 December 2016).
  24. AMQP Consortium. AMQP 1.0 Becomes OASIS Standard. 2012. Available online: http://www.amqp.org/node/102 (accessed on 2 June 2017).
  25. Apache Software Foundation. Apache Qpid. 2017. Available online: https://qpid.apache.org/index.html (accessed on 2 June 2017).
  26. Pivotal Software Inc. RabbitMQ. 2017. Available online: https://www.rabbitmq.com/ (accessed on 20 April 2017).
  27. Qian, L.; Zhang, S.; Liu, M.; Zhang, Q. A MACA-based power control MAC protocol for Underwater Wireless Sensor Networks. In Proceedings of the 2016 IEEE/OES China Ocean Acoustics (COA), Harbin, China, 9–11 January 2016. [Google Scholar]
  28. Chenn-Jung, H.; Yu-Wu, W.; Hsiu-Hui, L.; Chin-Fa, L.; Kai-Wen, H.; Tun-Yu, C. A power-efficient routing protocol for underwater wireless sensor networks. Appl. Soft Comput. 2011, 11, 2348–2355. [Google Scholar]
  29. MQTT Consortium. MQTT Version 3.1.1. 2014. Available online: http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.pdf (accessed on 8 December 2016).
  30. Locke, D. MQ Telemetry Transport (MQTT) V3.1 Protocol Specification; IBM DeveloperWorks Technical Library: Armonk, NY, USA, 2010. [Google Scholar]
  31. Thangavel, D.; Ma, X.; Valera, A.; Tan, H.-X.; Tan, C.K.-Y. Performance evaluation of MQTT and CoAP via a common middleware. In Proceedings of the IEEE Ninth International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP), Singapore, 21–24 April 2014; p. 6. [Google Scholar]
  32. Karagiannis, V.; Chatzimisios, P.; Vazquez-Gallego, F.; Alonso-Zarate, J. A survey on application layer protocols for the Internet of Things. Trans. IoT Cloud Comput. 2015, 3, 11–17. [Google Scholar]
  33. Andy Stanford-Clark, H.L.T. MQTT For Sensor Networks (MQTT-SN) Protocol Specification; IBM: Armonk, NY, USA, 2013. [Google Scholar]
  34. Tolle, G. Internet Engineering Task Force (IETF). In Embedded Binary HTTP (EBHTTP); 2013; Available online: https://tools.ietf.org/html/draft-tolle-core-ebhttp-00 (accessed on 2 June 2017).
  35. Saint-Andre, P. Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence; 2014; Available online: https://xmpp.org/rfcs/rfc3921.html (accessed on 2 June 2017).
  36. Attarwala, A.; Jagdish, D.; Fischer, U. Real Time Collaborative Video Annotation Using Google App Engine and XMPP Protocol. In Proceedings of the 2011 IEEE 4th International Conference on Cloud Computing, Washington, DC, USA, 4–9 July 2011. [Google Scholar]
  37. Bendel, S.; Springer, T.; Schuster, D.; Schill, A.; Ackermann, R.; Ameling, M. A service infrastructure for the Internet of Things based on XMPP. In Proceedings of the 2013 IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOM Workshops), San Diego, CA, USA, 18–22 March 2013. [Google Scholar]
  38. Tian, L.; OMA Device Management Working Group (OMA DM WG). Lightweight M2M (OMA LWM2M), 2012.
  39. Gholkar, V. An Introduction to IoT Protocols; O’Reilly: Portland, OR, USA, 2014. [Google Scholar]
  40. Díaz, V.H.; Martínez, J.F.; Cuerva, A.; Rodríguez-Molina, J.; Rubio, G.; Jara, A. Semantic as an Interoperability Enabler in Internet of Things. In Internet of Things: Converging Technologies for Smart Environments and Integrated Ecosystems; Vermesan, O., Friess, P., Eds.; River Publishers: Aalborg, Denmark, 2013. [Google Scholar]
  41. Internet Engineering Task Force RFC 7011. Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information. 2013. Available online: https://tools.ietf.org/html/rfc7011 (accessed on 2 June 2017).
  42. Object Management Group. Documents Associated with The Real-Time Publish-Subscribe Wire Protocol DDS Interoperability Wire Protocol Specification, V2.2. 2016. Available online: http://www.omg.org/spec/DDSI-RTPS/2.2/ (accessed on 25 February 2017).
  43. Twin Oaks Computing Inc. CoreDX DDS Developer Documentation. Java Programmer's Guide; Twin Oaks Computing Inc.: Castle Rock, CO, USA, 2016. [Google Scholar]
  44. Prismtech Inc. Vortex OpenSplice Deployment Guide; Prismtech Inc.: Stirling, UK, 2016. [Google Scholar]
  45. Real-Time Innovations. RTI Connext DDS. 2017. Available online: https://www.rti.com/products (accessed on 25 February 2017).
  46. Kebkal, O.G.; Kebkal, K.G.; Komar, M. Development of upper-layer protocols with S2CR acoustic modems emulator. In Proceedings of the Conference on Underwater Communications: Channel Modelling and Validation, UCOMMS, Sestri Levante, Italy, September 2012. [Google Scholar]
  47. Oracle, Inc. Oracle® Fusion Middleware. Performance and Tuning Guide; 11g Release 1 (11.1.1); Oracle, Inc.: Redwood Shores, CA, USA, 2012. [Google Scholar]
  48. Red Hat, Inc. Nest Practices for Performance Tuning. JBoss Enterprise Application Platform 5. 2010. Available online: https://www.redhat.com/f/pdf/JB_JEAP5_PerformanceTuning_wp_web.pdf (accessed on 2 June 2017).
  49. Korhonen, M. Message Oriented Middleware (MOM); Internetworking Seminar; Department of Computer Science, Helsinki University of Technology: Espoo, Finland, 2015. [Google Scholar]

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.