5G-ERA / middleware

Middleware for orchestration and lifecycle management of the could-native robotic applications
Apache License 2.0
8 stars 3 forks source link

5G Location selection Policies implementation #155

Closed Artonus closed 1 year ago

Artonus commented 1 year ago

Description

Operational policy implementation is aimed to allow for the customization of the deployment and location planning process but not only. The Policies aim to allow to change the system's behaviour in a user-controlled manner. The 2 Policy types were distinguished:

The Policies available in the Middleware will be predefined. Their operational properties will be user managed, but the end-user will not be able to delete or add any new custom policy definitions. The user-managed properties of the Policies will be:

As an initial policy, the LocationSelection Policy type has been created to support the integration with the 5G testbed. The developed UrllcSliceLocation Policy aims to find the Middleware location with the Urllc slice that has the lowest latency.

Fixes #124, #67

Type of change

What has been changed?

  1. Feature: Allow to assign policies to the Instance
  2. Feature: DefaultLocation Policy that always returns the current location to keep the existing functioning of the system by Default.
  3. Feature: UrllcSliceLocation Policy to find the best possible location that has Urllc Slice
  4. Feature: Negotiation of the best location when more than one Location Policy is applied to the object. The Negotiation process takes into consideration how many policies from the applied set, the specified location meets, and the specified Policy Priority.
  5. Feature: Negotiation of the policies for the specified Instance, and for the Action. All Instances within an Action are deployed in the same location. The identified Locations are negotiated to establish the best possible location for Action from the assigned set.
  6. Doc: documentation of the Policies and the Location Negotiation mechanism

How Has This Been Tested?

Checklist:

Artonus commented 1 year ago

@radu-popescu, when you will be checking the changes, don't be afraid of the scope. A lot of files are changed only due to the autoformatting applied :) The Meat of the PR is in the /src/ResourcePlanner/Policies.