SAIR - Architecture
Distributed architecture
SAIR (Social-Aware IMS-enabled Recommender) is a system based on IMS that leverages social and technical information to recommend services for mobile devices. Its distributed architecture comprises several components, organized in specialized layers). On the user side (Service configuration and usage):
- SAIR stub runs on smartphones: it collects data to infer the user context and to receive service recommendations;
- Off the shelf PCs can access a web service to easily compose new IMS services.
The infrastructure layer runs and manages mobile services. There are three components:
- IMS PS (Presence Service) is used as a Publish/Subscribe system: it decouples users from the service management layers and gives reliability and availability guarantees;
- IMS (IP Multimedia Subsystem) is the framework that manages the actual mobile services;
- UniboSCIM (Unibo Service Capabilities Interaction Management) is our custom SCIM that manages service composition and provides an intuitive web application to compose new services.
The service recommendation layer stores the usage context associated to services and recommends services to users based on their physical and social context. In particular:
- User Context Storage (UCS) maintains the context associated to each service;
- Service Ranker (SR) sorts services for each context based on their usage pattern (recency, frequency and duration of the usage;
- Service Recommendation Dispatcher (SRD) receives service ranks from SR and dispatched them to users (via IMS PS).
Recommendation architecture
In this section, we quickly describe the recommendation system implemented by SAIR. SAIR recommendation comprises four steps:
- The SAIR stub running on users phone, collects service usage context and sends it to the infrastructure via IMS PS;
- the IMS PS forwards service usage context to the UCS, that aggregates context sent by users for each service and stores them in efficient data structures;
- the SR retrieves data from UCS and ranks them. Services are clustered by context (e.g.: physical activity, geographica location, social context) and ranked by recency, frequency and duration of the service usage (RFD score).
- The SRD retrieves the current context of each user, searches the highest ranked services for that context and pushes recommended services to users, via IMS PS.
More details about SAIR architecture and recommendation approach, please refer to the available documentation.