## 2 Federation Deployment Control Protocol
### Consuming the Service  
The completion of the negotiation phase leads to the proper consumption of the service, which corresponds to the consumption phase. The behavior of this phase depends on the type of service which is served. For instance, a federation for downloading data would be based on only exchanging data, while another for computational capacity would exchange a task or software code, and then wait until it is computed. The definition of the procedure to serve resources related to data and time is presented in the following paragraphs.  
Federations based on exchanging data are characterized by constantly transmitting this data from the customer to the provider. This unidirectional data flow is evident in federations to download or store data. In this case, the customer transmits a data packet to the provider. This packet is structured as in Figure 3, with the same initial seven bytes as the request packet. After these initial fields, a _length_ field of two bytes anticipates the number of bytes that includes the _data_ field. A _checksum_ is included at the end of the packet to verify the integrity of the packet itself.  
When the provider receives this data packet, it performs the pertinent action associated with the service, such as download or store. When this action is correctly achieved, the provider notifies the customer with an acknowledgment packet. This packet is composed of only the initial seven bytes of the structure presented in Figure 3. Please note that this transmission mechanism follows the stop-and-wait Automatic Repeat-Request (ARQ) procedure. Although this mechanism does not optimize the communications capacity of the connection (i.e., bandwidth-delay product), this process ensures that packet-by-packet the customer is aware of the completion of the service. Furthermore, the provider is al  
Figure 3: data structure where N corresponds to the data length (unit = 1 bit).  
ways verifying that the amount of data received from the customer does not exceed the negotiated one. If it is the case, the provider would start the closure phase, detailed in Section 2.3.  
The interaction between the satellites changes a little bit for those federations of time-based resources, such as computational capacity. In this case, the customer sends a data packet in which the _data_ field corresponds to the task or the software code that needs to be executed. After the proper acknowledgment from the provider, the customer should wait the corresponding time previously negotiated. To evaluate the proper status of the service, a keep-alive packet is periodically transmitted by the customer. The packet structure follows the initial seven bytes of the one presented in Figure 3. With these mechanisms, the federation can remain alive during all the time that the service is being consumed in the provider (e.g., executing the code). Once this is done, the provider replies with a data packet including the results of the execution.  
In both cases, the completion of the federated phase triggers the execution of the closure one. This phase can thus be started by the customer indicating that it has been satisfied, or by the provider indicating that the service is no longer available.