Satellite capacities with different coverage and frequency bands are pooled together from one or more satellite providers so that they can be shared as a common asset available for providing the service.
When different mission requests in terms of concurrent locations, throughput, and additional features are made by the customer, they need to be planned according to the available assets and resources, respecting the constraints implied by the kind of request and the nature of the assets and resources involved. These constraints can be related to physical or logical compatibility such as location coverage, frequency band, link margin, or IP range availability. Constraints are considered as either hard or soft; when none of the former are broken then the solution is considered feasible, the latter affects how optimal the solution is.
Planning is done using a constraint optimization solver to find the best solution starting from an initial solution. The initial solution is none other than a set of facts and relationships, such as:
Assets and resources need to fulfill the new customer request.
Assets and resources need to fulfill any ongoing customer requests.
- The total capacity of assets and resources.
Inter-dependency between assets and resources.
Rules on how to modify a solution must also be provided so that the solver can derive new possible solutions.
Rules on how to calculate a score for a solution must be provided so that possible solutions can be compared against each other. Breaking hard constraints will cause that solution to be rejected, breaking soft constraints will negatively impact a solution score.
Usually, the solution search space is so large that it is not possible to guarantee finding the optimal solution, the one with the highest score possible. Different search heuristics must be used to drive the solver, and the best solution in a given time or processing scope will be found. Once a solution is found it is integrated into the Operational Plan, as a set of asset and resource allocations associated with a service reservation
Key factors in obtaining the best, if not optimal, solution are:
Flexibility in expressing the planning facts and constraints
Efficiency in expressing score and move rules
Reactivity in heuristic adaptation during search execution
In Amphinicy, we have used libraries such as OptaPlanner to implement Planning micro-services. This kind of product usually has its own, domain-specific language (DSL) to express facts or rules (e.g. Drools). We have the required expertise to map the business needs to these DSLs, and to implement, test, validate and maintain the resulting Planning software so that efficient and optimized pooling and sharing propositions can be made to match any customer's needs.