System Orchestration and Integration

Cloud4all/GPII is a significantly complex technical system, consisting of a large number of essential components. Currently, it is comprised of 25 major component subsystems, and over 140 individual objects within the core real-time framework alone. Given this degree of complexity, one of the crucial architectural requirements for the Project is to provide a means for coordinating and orchestrating the dependency and communication relationships amongst components.

The Flow Manager (FM) is the central orchestration component in the Cloud4all/GPII architecture, and is responsible for coordinating the auto-personalization process on local PCs (running Windows or Linux), mobile devices (Android), and in the cloud. The Flow Manager is responsible for the following functionality:

  1. Providing a central point for configuring the whole system and its integrated services
  2. Serving as a dependency injection and inversion of control container that instantiates and connects together each component in the system, ensuring that all Cloud4all/GPII components have minimal dependencies on other components
  3. Orchestrating each phase of the APfP process by firing lifecycle events
  4. Invoking and delegating responsibility to other components within the system to do the actual work of personalization, including: fetching preferences, gathering contextual variables about the user’s environment and device, matching solutions and settings to the user; and setting up and launching solutions
  5. Providing privacy and security measures across the overall infrastructure

The Flow Manager is architected to support flexible deployment topologies without requiring code changes to the system. It can, as a result, run in the cloud or on a user’s device. In a standard configuration of Cloud4all/GPII, there are two instances of the Flow Manager running: one on the user’s local device, and another in the cloud. These instances work cooperatively to ensure the security and privacy of the user’s data.