12.27 Cooperative Fog Services with Drones
12.27.1 Description
Drones with fog capabilities can be operated in many environments and applications, such as supply chain delivery, environment surveillance and video broadcasting, providing near real-time adjustments and collaboration in response to anomalies, operational changes or threats. With various capabilities such as computing, sensing, video recording, data storage, and communicating, drones can act as fog nodes, which interoperate and cooperate as a dynamic community to efficiently distribute services across compute, storage, networking, security, and other functions.
In many scenarios, a request of fog service may require a cluster of drones to operate cooperatively to provide the required capabilities and complete the task, since each drone itself is limited by the capabilities or coverage. In this case, the fog service request will first be split into smaller "pieces" with each piece containing a portion of capability requirements, such that they can be handled by the fog nodes jointly. For example, in an environment surveillance scenario, each drone can only monitor a limited area, so surveillance over a large area may require the combination and synergy from multiple drones' monitoring where each drone is responsible for a sub-area under its coverage. Similarly, a computation intensive video analysis task may exhaust the battery of a drone rapidly, or the limited computation speed of a drone cannot meet the real-time processing requirements, in which case the task can be split and distributed to multiple drones to be completed efficiently. Moreover, a drone may need another's communication capability to help relay messages to a destination out of its reach.
The cooperation is also necessary when considering the dynamic availability of drones due to mobility and limited power supply. A drone low in power might be turned off until it is recharged, during which time the associated fog capabilities are lost and may need to be accommodated by other drones. A drone flying away from some area may look for a replacement to continue the ongoing service in this area. Therefore, in addition to tracking drones in-service, the coordination algorithms require tracking of drones in other states, e.g. available (but not in-service), partially in-service, etc. This results in a coordination scheme which not only associates drones into a cluster but also adapts to the dynamic capability distribution within the group.
12.27.2 Source
REQ-2018-0072R02 Use Case for Cooperative Fog Service
12.27.3 Actors
- Fog Node: A fog node is a node with certain types of fog capabilities or resources such as computing, storage, control, networking, that can be shared with and leveraged by users and other fog nodes. A fog node may have one or multiple types of capabilities, may also have other software or services that are running on the node. A fog node can be located at the edge of deployment or higher layers. The fog nodes, especially the ones close to the edge, are considered to have limited capabilities compared to the cloud, and the capabilities may not be available all the time.
- Fog Leader: Fog leader is a fog node that will coordinate and combine other fog nodes together to serve a fog service request which demands large fog capabilities and cannot be completed at a single fog node. A fog leader will form both potential group(s) for fog capability discovery, and service group(s) for serving fog service requests. The fog leader could be located at any layer of the fog hierarchy, as long as it is capable of forming potential groups, creating service groups, and adjusting service groups.
- User/Requestor: A user/requestor is the entity that may send a fog service request to the fog leader. The request may ask for completing a task, reserving capabilities for a period of time or consistently providing fog service.
12.27.4 Pre-conditions
- Fog nodes are deployed, each willing to share (part of) its fog capabilities.
- Fog nodes may have discovered nearby (geographically or logically) fog nodes.
- At least one fog node is willing and capable to act as the fog leader to coordinate several fog nodes in completing a request.
12.27.5 Triggers
- A (potential) fog service request requires multiple fog nodes' capabilities to fulfil.
- The capability of a fog node changes.
- A new fog node enters the coverage of a fog leader, or a fog node leaves the coverage of a fog leader.
12.27.6 Normal Flow
Figure 12.27.6-1 illustrates the high-level flows of cooperative fog service use case, which consists of the following steps:
- Step 1: The fog leader may discover capabilities of fog nodes that can potentially cooperate on a future fog service request. The capability of a fog node may include computing (with CPU resource), storage (with memory resource), communication (with bandwidth resource), sensing, controlling, actuating (with firmware or software resource), etc. The fog leader may track the status of the potential fog nodes as well as their capabilities, which may later be used as the reference or hints when selecting nodes to complete a fog service request.
- Step 2: The user sends a fog service request to the fog leader. The request may ask for a certain amount of resources (e.g. 1GB data storage) to be reserved for a period of time, or to complete a task with or without a completion time constraint (e.g. perform data analysis on the video data generated from equipped cameras (within 5 minutes)), or to provide consistent service (e.g. monitor the traffic density of the downtown area and calculate optimal path).
- Step 3: Based on the received request, the fog leader selects a group of fog nodes and reserves capabilities from the nodes for the request.
- Step 3.1: After receiving a request, the fog leader will first interpret the request to get information of what and how much capabilities are required, and select fog nodes to satisfy the requirements. Based on that, the request will be split into sub-requests for each selected fog node with each containing a relatively small portion of capability requirements such that they can be handled by the fog nodes cooperatively. For example, the request may ask the drones to monitor the environment in a large area, while each drone can only cover a small area. In this case, the request will be divided into sub-requests with each one corresponding to a sub-area covered by one drone, and the leader will then merge the results collected from the drones to complete the request. Moreover, the request may ask for a storage size or computation speed that exceeds the capacity of a drone, in this case the request can be sliced into "smaller" sub-requests and jointly completed by multiple drones. The request can also be split in the time domain according to the predicted availability of fog nodes in case some fog nodes are only available for a limited period of time. For example, a 24-hour surveillance request can be split into day-time and night-time sub-requests and assigned to different sets of drones, where the day-time working drones will be turned off for recharging during night-time and their place taken by the night-time working drones.
- Step 3.2: After splitting, the sub-requests will be distributed to the selected group of fog nodes along with the capability requirements for each fog node.
- Step 3.3: The fog nodes reserve capabilities according to the received sub-requests.
- Step 3.4: After reserving the required capabilities, the fog nodes send responses to the fog leader indicating whether the reservation is successful.
- Step 4: The fog leader sends a response to the user indicating whether the request can be completed.
- Step 5: Under the coordination of the fog leader, the group of selected fog nodes will provide fog service with the reserved capabilities, or the user will start to use the fog services provided by the fog nodes. Dynamics or changes during this step may trigger service update in the next step.
- Step 6: The capabilities of the in-service fog nodes may be changing and result in group dynamics. The update of fog service request, receiving multiple requests competing for the same fog node's capabilities, or a time sequential request may also trigger the group dynamics since the leader will need to make adjustments to the group to adapt to the changes. As such, the fog leader needs to perform dynamic group management or service update accordingly.
- Step 7: After the fog request is completed or the subscription/lease of fog capabilities terminates, the reserved fog capabilities will be released.
Figure 12.27.6-1 Normal Flow - Cooperative fog service
12.27.7 Alternative Flow
None
12.27.8 Post-conditions
None
12.27.9 High Level Illustration
Figure 12.27.9-1 High Level Illustration - Cooperative Fog Service
12.27.10 Potential requirements
- The oneM2M System shall enable a fog node to identify fog nodes that can potentially cooperate to complete a request and to track their capabilities (e.g. battery level, available memory) in an efficient manner.
- The oneM2M System shall enable a fog node to select a group of fog nodes to cooperate on a fog service request, and split the request into multiple sub-requests according to the type, amount, and availability of the selected fog nodes' capabilities, such that the capability requirement in each sub-request will not exceed the capacity of the corresponding fog node.
- The oneM2M System shall enable a fog node to coordinate a group/cluster of fog nodes to provide services to a user.
- The oneM2M System shall enable a group of fog nodes cooperating on a service to re-allocate tasks among the group nodes as needed to adapt to the dynamic capability distribution within the group.
- The oneM2M System shall enable identification and management of hierarchical fog clusters.