Cloud4All Matchmaking Workflows

From wiki.gpii
Revision as of 01:48, 14 August 2015 by Colinbdclark (talk | contribs) (Colinbdclark moved page Matchmaking Workflows to Cloud4All Matchmaking Workflows)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Overview

This page enumerates the high-level workflow for several of the Cloud4all Matchmakers. It is intended as a tool for designing the Matchmaker framework API for future releases of the real-time framework, enabling each Matchmaker to easily customize the default workflow and inject custom behaviour at any phase in the process without requiring and code to be cut and pasted or duplicated.

2014 Edition

Overall Process Flow

Workflow.png

Statistical Matchmaker

None of the steps should have side-effects, except those modifying the preference sets.

  1. Fetch all preferences that share the context field "user".
  2. Or, in other words, get all the preferences for the current user. From a machine learning point of view, all preferences are just points in a high-dimensional space, where the user is just one field in their feature vector.

    In: Current user ID.

    Out: Flat list of preferences. <key, value, condition?>

  3. Fetch current context.
  4. I guess this will not really be a fetch, as we will get update pushes from the context-aware server, rather than polling it every now and then?

    In: Current user ID.

    Out: Flat list of context values. <key, value>

  5. Fetch statistical Inference Data
  6. Get the output of the offline Statistical Analysis module. As the output is both static and user-independent, we only need to do this once.

    In: Nothing.

    Out: Statistical analysis Data structure.

  7. Infer Preferences
  8. Infers preferences for applications which are present (based on context) but the user has no preferences for.

    In: Preferences, Context, Statistical Analysis Data

    Out: Modified preferences containing new fields.

  9. Filter Preferences
  10. Start pre-evaluating preferences by discarding those which have context-conditions unlikely to happen.

    In: Preferences, Context, Statistical Analysis Data

    Out: Modified preferences with some preferences removed or conditions being partially evaluated.

  11. Infer Solutions Not Yet Implemented
  12. Compile a list of solutions to launch.

    In: Preferences, Context, Statistical Analysis Data

    Out: List of Solutions to launch

  13. Lifecycle Manager Payload Uses Flat-Matchmaker atm
  14. Mini Matchmaker Payload Not Yet Implemented

Initial Version

Generic, High-Level Matchmaker Workflow

  1. Fetch solutions from the Solutions Registry
  2. Filter the solutions based on:
    1. Platform
    2. Platform version
    3. Device
  3. Match
    1. Modify, synthesize, or infer user preferences
    2. Modify solutions list
    3. Run custom matchmaking strategy (using preferences set and solutions list)
    4. Produce and return the appropriate list of solutions and settings for the Lifecycle Manager


Statistic Matchmaker Workflow (version 1)

  1. Fetch solutions from the Solutions Registry
  2. Filter the solutions based on:
    1. Platform
    2. Platform version
    3. Device
  3. Match
    1. Infer settings for the current platform/device/context
    2. Don't modify the solutions list
    3. Delegate to the Flat Matchmaker for 3c & 3d

Statistic Matchmaker Workflow (version 2)

  1. Fetch solutions from the Solutions Registry
  2. Filter the solutions based on:
    1. Platform
    2. Platform version
    3. Device
  3. Match
    1. Infer settings for the current platform/device/context
    2. Implement custom workflow for 3b-d, resulting in the appropriate list of solutions and settings for the Lifecycle Manager

Rule-Based Matchmaker Workflow

  1. Fetch solutions from the Solutions Registry
  2. Filter the solutions based on:
    1. Platform
    2. Platform version
    3. Device
  3. Match
    1. Transform all preferences from application-specific to common terms (delegating to Transformer)
    2. Invoke the RB MMM's conflict-resolution rules, which may produce a modified set of user preferences and list of solutions
    3. Delegate to the Flat Matchmaker for 3c & 3d


Flat Matchmaker Workflow

  1. Fetch solutions from the Solutions Registry
  2. Filter the solutions based on:
    1. Platform
    2. Platform version
    3. Device
  3. Match
    1. Use the Ontology Server to convert common preferences into ontologized format
    2. Don't modify the solutions list
    3. Match the user's preferences to the solution's capabilities
    4. Transform the common preferences into application specific, and produce appropriate output