Grand Union

Managing Communication Channels for Reliable Remote Working.

This webpage presents the work performed by the research team at Institute for Communication Systems, University of Surrey, during the Grand Union project. The team has developed an Android application named "GrandUnion" for managing the connectivity of a device to enable resilient and reliable remote working. It utilizes Fuzzy Logic to classify the connection and implements an ANDSF client to enforce policies for "Always Best Connected" service.

The Grand Union project

The ‘Managing Communication Channels for Reliable Remote Working’, or Grand Union, Project is a 15-month collaborative industrial research activity into ‘Making Remote Working Secure, Resilient and Reliable’. The aim of the project is to seamlessly improve the interoperability and increase the resilience of remote services across Wifi, WiMax, 3G/4G and future 5G networks. The key objective of the Project is to evaluate the capability of the new technology using pilot demonstrators deployed for the mobile workforce of an SME that is supporting the healthcare sector. The primary innovations are provision of:

  1. A simple to understand network QoS/GoS/User Experience indicator plus access to a single integrated, comprehensive network utilisation statement irrespective of the number of actual network providers used;
  2. Integrated TCP/IP Accelerator, delta caching and persistence to improve data transfer efficiency and reliability across wireless networks.
The primary benefit of this new approach is that mobile workers will have significantly improved reliability, efficiency and resilient data network access with substantial, detailed and simple to understand evidence about their network access.

The consortium consists of:
  • Tracline (UK) Limited, Harefield (Lead Participant, Participant)
  • Smart IPX Limited, London (Participant)
  • Mountsides Limited, Stanmore (Participant)
  • University of Surrey, United Kingdom (Participant)

The ICS team

  • Konstantinos Katsaros (Technical Lead)
  • Payam Barnaghi (CI)
  • Rahim Tafazolli (PI)


The key features of the GrandUnion application include:

  • Monitor status of a user's connection status and activity (passive metrics)
  • Measure a user's connection performance (active metrics)
  • Report measurements to central database for aggregation and analysis
  • Classification of a user's connection using Fuzzy Logic
  • User or Network based selection of preferred network interface
  • ANDSF compliant client for network policies (ISMP, ISRP, IARP)

Application Components

Connectivity Manager

The Connectivity Manager Activity is the main GUI of the application. From there the user can select the application preferences through the Set Preference Activity or get information about the application when he/she presses the options on top right of the action ban. Further, the user can open the Network Performance Activity to perform speed tests when he/she presses the “Refresh Metrics” button.

Metadata Collection Services

Two background services are automatically started after boot completion. The MetaData Service and the DataRate Service, that monitor the connection status and real time data rates, respectively. Metadata information are enriched with active metrics after successful speedtests.

ANDSF Client

The purpose of the ANDSF is to assist user equipment (UE) to discover non-3GPP access networks – such as Wi-Fi or WIMAX – that can be used for data communications in addition to 3GPP access networks (such as HSPA or LTE) and to provide the UE with rules policing the connection to these networks.

Architecture & Design

The application architecture follows Android development structure written in Java. The main components/classes for GrandUnion application are listed below and their interconnection depicted below:

  • Connectivity Manager Activity o Boot Broadcast
  • Set Preference Activity
  • Network Performance Activity o Detail Rate Result
  • About Activity
  • Metadata Service o Data Rate Service

Passive Metrics

Passive metrics are used to monitor the status of a user’s connection within the Meta Data Service. Changes in the status of the connection are monitored using the Android broadcast receiver framework. Similarly, broadcast receivers are used to update the received signal strength for wireless and mobile connections. GrandUnion app saves metadata to two files (csv format) on the local driver and updates the information on the files on connection updates.

Active Metrics

Active metrics represent the speed tests performed from the GrandUnion application on dedicated webservers. Three types of tests are performed: (a) HTTP GET, (b) HTTP POST and (c) PING. The HTTP GET test measures the maximum downlink data rate, while the HTTP POST measures the corresponding uplink data rate for that connection. On the other hand, with PING tests, GrandUnion application gets the average round trip time (delay), its variation (jitter) and the packet loss ratio. The user is able to select different hosts to perform HTTP operations and PING. The default webserver used for HTTP operations is located in University of Surrey domain and for PING is Google Public DNS server (IPv4 address


GrandUnion application implements a classification algorithm using an open source Java Fuzzy Logic library. The algorithm uses the five QoS metrics collected from during the speed tests as inputs and classifies the connection using three levels of service: “good”, “medium”, “unusable”. This is represented with “green”, “amber” and “red” in the main GUI screen.

Policy-based connectivity management

For the purposes of GrandUnion project, we believe that ANDSF can assist in the selection of the best connection by enforcing policies from the network provider. The network provider, using aggregated data collected by the GrandUnion application and other sources, is able to provide appropriate policies for each location and user. Therefore, we have built an ANDSF client component to be integrated with the GrandUnion application.

The flow chart above shows the processes run at the ANDSF client for the selection and validation of a policy. The algorithm starts when ANDSF information is obtained from the server. The ANDSF information may, for example, be provided (by the ANDSF server) on request from the mobile communication device (in a "pull" mode). The ANDSF server provides a number of policies for connecting the mobile communication device to networks. Priorities are assigned to the various policies and, at the next step of the algorithm, the highest priority valid policy is applied by the mobile communication device. A policy is considered to be “valid” if it meets a number of validity conditions. Such conditions may, for example, relate to location or the time of day. The policy selected will have a number of access network options associated with it. The access network options will be prioritized within the policy. The highest priority access network option of the selected policy is selected at the mobile communication device. In addition to providing network selection policies, ANDSF allows mobile operators to provide access network discovery information to assist user equipment (UE) in detecting access networks specified in the ANDSF policy rules.


You can send your enquiries regarding the GrandUnion application to Dr Katsaros .