Patterns FrameworkComputational Patterns

Computational Patterns

There are many ways to undertake federated analysis or federated learning and there are benefits and limitations of those processes.

Our work has shown that despite the significant number of federated tools, algorithms and platforms, when you examine the patterns for how these analyses are undertaken they can be simply grouped based on two components:

Components

Analytical

There are three key concepts that summarise the vast number of analytics and learning that are possible when data is spread across multiple TREs:

  • Isolated: The analysis is realised independently within each TRE, requiring no communication between TREs or shared state during execution. Each TRE completes its local computation in isolation, before any results to a central location to be combined or compared. This approach is suitable for analyses that can be decomposed into independent local computations followed by aggregation or comparison of summary outputs. Examples could be counts, global averages, and sums – or comparison of averages between global populations.
  • Connected: The analysis is realised through multiple rounds of local computation interleaved with communication between TREs. Intermediate results produced by one TRE are incorporated into subsequent rounds of computation by other TREs, requiring state to be maintained throughout execution. This approach is characteristic of federated learning and other iterative distributed algorithms, such as a binary search.
  • Centralised: The analysis is realised by bringing data from multiple TREs together before computation can be performed. This approach is required where the analysis depends on properties of the combined dataset that cannot be derived from independent local computations, such as ordering observations to calculate quantiles or rank-based statistics.

Data Movement

As determined by the algorithm type, this is how data is required to move in and out of a TRE and how it is executed.

  • Summary: Aggregated statistical outputs not corresponding to individual records are transferred between TREs or to a coordinating node. Examples include counts, sums, averages, and other derived summary statistics. The exchanged information represents characteristics of the underlying dataset rather than individual participants.
  • Intermediate Results: Information is exchanged iteratively throughout execution rather than as a single output. The exchanged information depends on the computational approach and may include model parameters, gradients, transformed values or intermediate summary statistics.
  • Row level data: Individual records are transferred between environments, irrespective of whether they have been anonymised. This enables analyses that require access to the combined dataset.

Connections

The patterns we have identified to date indicate that the method used to carry out an analysis dictates what data has to move, and in which direction. The same analysis can fall in more than one pattern depending on the method used (see When an analysis becomes Shared). These classifications of data movement do not indicate how disclosive a specific result is (see Disclosure control).

AnalyticalData MovementAssociated Pattern
IsolatedSummaryTraditional Pattern
ConnectedIntermediate resultsShared Pattern
CentralisedRow level dataPooled Pattern