# Research Trends in Collaborative Drones
## 2 Distributed Computing with Drones
### Approach and Methodology  
As a representative example, we indicate how cloud services can be used to handle the anonymous reporting of faulty drones combining outsourced cloud services with machine-to-machine (short range) communications. Figure 1 offers a centralized approach to generating and broadcasting lists of ephemeral identifiers (e.g., pseudonymous tokens) to collaborative drones using cloud services associated with 5G communications. Later, the drones would exchange those identifiers with other drones hovering nearby, e.g., using machine-to-machine contacts, to report drones showing faulty behavior. The use of either edge or cloud services is assumed for both handling the generation and distribution of ephemeral identifiers as well as to help local drones to report faulty drones to other swarms of collaborative drones.  
Step 1 in Figure 1 represents an operation in which a cloud service is broadcasting an ephemeral identity \(e_{i,A}\) to drone \(A\). This ephemeral identity becomes associated to drone \(A\) at time \(i\). We assume that the cloud service has also generated and broadcasted an ephemeral identity, i.e., \(e_{j,B}\) for drone \(B\) at time \(j\).  
Notice that the ephemeral identities are time-sensitive. Regularly, they expire, and drones need to request the cloud service to generate and broadcast their new identities to them. We also assume that drones \(A\) and \(B\) move around a given terrain in which 5G communications are possible to connect and use those cloud services required to create and distribute new ephemeral identities.  
Drones in this scenario are expected to periodically receive and store the ephemeral identities of nearby drones in their local memories. Each drone is expected to receive the identity of other drones via machine-to-machine communications, e.g., using short-range communications such as Bluetooth or IEEE 802.11.  
Step 2a in Figure 1 represents an operation in which drone \(B\) stores the ephemeral identity of drone \(A\) at time \(i\) in its local memory. \(M_{j,B}\) represents the action of storing those ephemeral identities received by user \(B\) at time \(j\). Similarly, Step 2b represents drone \(A\) storing the ephemeral identity of drone \(B\) at time \(i\) into its local memory. Action \(M_{i,A}\) represents the action of storing those ephemeral identities received by drone \(A\) at time \(i\).  
Figure 1: Use of edge cloud nodes to report faulty drones using (anonymous) ephemeral identifiers. Step 1 represents the broadcasting of ephemeral identities to drones \(A\) and \(B\). In steps 2a and 2b, the drone \(A\)’s data are stored in the memory of drone \(B\). In Step 3, drone \(B\) reports a malfunction to the central service. In Step 4, the central service updates the neighboring drones (e.g., drone \(A\), for instance).  
Periodically, drones report to a central cloud service the lists of ephemeral identities they received via machine-to-machine communications, which they temporarily stored in their local memories. This is represented in Step 2c of Figure 1, in which drone \(A\) shares the list \(M_{i,A}\) with the central server.  
Now, let us assume that drone \(B\) is reported as faulty at time \(j\) to get blacklisted in the swarm. This situation is depicted in Figure 1 as Step 3, i.e., reporting the ephemeral identity of drone \(B\) at time \(j\) to the central server. The central server that holds all the information collected by all the drones can now warn other drones in the same swarm or other swarms in proximity to drone \(B\). This is depicted in Figure 1 as Step 4. The central cloud service sends a new status to drone \(A\), since this drone may be affected by the faulty behavior reported for drone \(B\).