Abstract
This paper presents a novel activity recommendation system based on the secure federated network Eduroam. The system, according to the users’ profiles, is able to offer personalized information in a campus environment. The recommendation system uses a basic user’s profile information from the directory services of Eduroam and an optional extended user’s profile with advanced personal information provided from users. The system is able to recommend even with just only the basic information from Eduroam. Therefore, users can obtain recommendations without a prior configuration and they can still obtaining recommendations when they are visiting a foreign university within the Eduroam federation in a transparent way.
Introduction
In the last years, the exponential growth of available information from mobile devices’ users brings many challenges to adapt and personalize applications to users. In that sense, the pervasive computing applications development has experimented a huge increment in different scenarios.
Pervasive computing is mainly based on the features of mobility and context-awareness. Mobility offers information to users anywhere, anytime. Nevertheless, this information should be selected in order to avoid users from being flooded with information not interesting for them [21]. With this aim, context-awareness poses the opportunity of sense aspects of the environment in order to adapt and personalize the offered information to users.
One of the scenarios where information becomes in the most important value is in the education field. Hence, the development of intelligent campus environments constitutes a new paradigm for supporting and integrating all the academic activities, as an effort to enrich the students’ end-to-end learning lifecycle [1].
Given the significant increment of the number of mobile devices with connectivity requirements within academia, in 2003 was designed eduroam,1
Under such conditions, in this paper an activity recommendation system based on the secure federated network Eduroam is presented. The system is able to recommend information of different activities schedule within the campus in a personalized and adapted way according to the specific users’ profiles.
The main strength of this approach is obtained from the use of Eduroam. Since, Eduroam provides teachers, students, researchers and administrative staff easy access when they are in their own institution or visiting others, the system is able to recommend personalized activities even when the user is in a foreign institution. In this approach, users are not required for a special configuration or action when they are visiting other institution. The recommendation is offered to users in a transparent way regardless whether the user is in her own university or she is visiting a different one within the Eduroam federation.
These personalized recommendations are based on the similarity between users’ profiles and descriptions of the academia activities. In order to measure the similarity between users’ profiles and activities, two different sources of information are considered: basic and extended information from the users.
On the one hand, the basic information of the users can be obtained from Eduroam, specifically, eduPerson [19]. EduPerson is a schema designed to facilitate communication between higher education institutions. It includes personal and organization information based on the existing standards in higher education (affiliation, postal address, entitlement, person’s ID for authentication, etc.). EduPerson can be extended adding detailed information of some of the user attributes. Hence, in this paper, the affiliation attribute is extended to offer a more detailed knowledge about the users without any loss of information in the communication between institutions.
On the other hand, an extended information from the users is also considered. This information is obtained by a mobile phone application. User can configure, using this application, different information in order to refine his own profile (preferences, schedule, subject of interest, etc.). Using the basic and extended information, the system can provide personalized recommendations to both local and foreign users visiting the institution. The system has been validated in order to evaluate how users understand the similarity between their profiles and the suggested activities, a survey is conducted over a set of different users comparing their responses with those generated by the system. This evaluation shows that the system is able to achieve a reasonably good approximation to particular users’ opinions.
The rest of the paper is structured as follows. Section 2.1 introduces the most relevant concepts of Eduroam in the proposal’s context. Then, Section 2.2 shows the overall architecture of the proposal and the role of the Eduroam network in the system. Section 3 describes the users and the activities profiles defined in the work and Section 4 presents the measures used to calculate the similarity between the user’s profile and the available activities in a university. With the aim of validating the proposal, Section 5 describes the evaluation of the system. Next, Section 6 introduces the most relevant proposals related with our work. Finally, Section 7 remarks conclusions and identifies future work lines.
This section presents our activity recommendation system intended to improve the user’s experience in Eduroam-based institutions. Prior to the presentation of our proposal we briefly revise the elemental Eduroam operation, which is necessary to understand our contribution.
Eduroam basics
Eduroam (Educational Roaming) [24] is a secure, inter-institutional roaming network access federation developed for the international research and education community to allow staff belonging to participating institutions to obtain Internet connectivity when visiting other participating institutions by using their home credentials (e.g. username and password). The Eduroam network is integrated by the following components which interact with each other to achieve the ultimate goal of a seamless roaming experience:

Eduroam/DAMe architecture overview.
Client: this entity represents the end-user’s device that handles user authentication to the network. The client engages in an authentication process to obtain Internet access by using a mobile device such as a tablet or a smartphone.
Network Access Server (NAS): this entity is responsible for controlling that only authenticated and authorized users are granted Internet access. To enforce this requirement, the NAS solicits clients to go through an authentication process in order to demonstrate their identity. Typically, this functionality is developed by a wireless Access Point (AP).
Authentication Server (AS): this is the main entity in the Eduroam architecture that is in charge of authenticating and authorizing clients. The AS has a user database backend (e.g. Lightweight Directory Access Protocol – LDAP) containing users’ credentials.
The basic Eduroam authentication process works as follows. Firstly, the client contacts with the AP and solicits network connectivity in order to access Internet. The NAS, which has the control on the network access, solicits the client to start an authentication process that, in Eduroam, is performed by using the Extensible Authentication Protocol (EAP). The authentication process finalizes when the AS takes the decision of accepting or denying the access request. The decision made by the AS is communicated to the NAS, that acts accordingly by denying or allowing the client access to the network.
The key advantage of Eduroam is that it allows foreign users to get network access in remote institutions as long as the visited institution also belongs to the Eduroam federation. This roaming is supported by allowing an AS to cooperate with other AS through a backbone authentication network where one AS acts as intermediary server for another AS. In this case the authentication is quite similar to the one previously described, with the only difference that the AS of the visited institution (visited AS) is unable to authenticate the user and delegates this process to the AS of the institution where the foreign user is registered (home institution AS or home AS).
Since the basic Eduroam infrastructure only supports user authentication, there exists an extension known as DAMe (Deploying Authorization Mechanisms for federated services in Eduroam architecture)2
Figure 1 describes the general Eduroam/DAMe architecture. As we can observe, a user from a Home Institution is requesting network access through an AP located in a Visited Institution. Initially, according to the basic Eduroam functionality, the user performs an authentication (1) with the home AS through the visited AS following the process previously described. Once the user is successfully authenticated, the home AS contacts the Identity Provider (IdP) in order to get a pseudonym (2) referring to the user. This pseudonym is useful to refer the authenticated user in future communications with the IdP when, for example, retrieving information about this specific user. The pseudonym is delivered to the visited AS at the end of the authentication process.
When the home AS successfully authenticates the user, the visited AS starts an authorization process. Firstly, the visited AS uses the pseudonym to retrieve from the home IdP (3) attributes (e.g. role, affiliation, etc.) about the user in order to decide if the user is granted access to the network. The obtained attributes are provided to the Policy Decision Point (PDP), located in the remote institution, which checks the local policies and decides whether network access is granted to the user (4).
In an effort of harmonizing the format of the authorization information exchanged among Eduroam/DAMe institutions, the eduPerson project3
Our work relies on the ability of Eduroam/DAMe to recover detailed user information from the institution the user belongs to (i.e. home institution). Up to now, this feature has been only used to take authorization decisions. Nevertheless, if necessary, the visited AS can recover more information from the home IdP thanks to the pseudonym obtained during the authentication phase. We propose a new application of this capability in order to implement an intelligent activity recommendation system for Eduroam/DAMe institutions. As the following subsection explains, the definition of this system will require the extension of the Eduroam/DAMe architecture to include new elements and procedures.
The objective of this work consists in the definition of an intelligent activity recommendation system for an organization. To provide accurate recommendations to the users, the system feeds on the underlying Eduroam/DAMe federation in order to retrieve valuable user information. More precisely, we propose that the Authentication Servers (AS), apart from implementing the authentication and authorization processes, will collect relevant user’s attributes that will be stored in a new database. The retrieval of user’s attributes is performed using the mechanisms already defined in Eduroam/DAMe, as explained in Section 2.1. This information collected from users visiting an organization (e.g. universities or research centers) could be used by other systems in order to offer intelligent and personalized services.
Figure 2 offers a general view of the components of our activity recommendation system. We have developed our system in such a manner that new services and datastores seamlessly integrate with the rest of services available in the university as part of the Eduroam/DAMe federation. In the following it is described the role played by each component
User Profile DB: It stores information about the users. This information can be obtained by the AS from the home IdP (e.g role into the organization, postal address, etc.) and/or captured by other process considered in the proposal (e.g. user’s schedule, interests, etc.).
Activity DB: Information about activities, their types, location, timetable, etc. is stored in this database.
Activity Manager Services: They are used by applications devoted to the maintenance of the activities scheduled by the organization (e.g. university). They can be used by an Activities Administrator who updates information about the activities into the system. The functionality and details about this type of applications are out of the scope of this proposal.
Recommendation Services: They are the core of the proposal. They are responsible for determining the most suitable activities according to the user profiles. Description of activities and user profiles are obtained from Activity DB and User Profile DB, respectively. A detailed description of the information stored about activities and user profiles is provided in Section 3. Recommendation services also provide access to user interfaces in order to capture user requirements and preferences as well as offering recommendations to the user.

General view of the architecture of the proposal considering two universities where the data about two users are stored: University A (on the left) manages information about Alice a local user, and University B (on the right) manages information about Bob a visitor user at University A.
The operation of the recommendation activity system starts when a new user enters into an organization member of the Eduroam/DAMe federation. Following the standard behaviour, a user (either local or foreign) is authenticated and authorized before obtaining network access. Our proposal takes advantage of the ability of the visited AS to contact the user’s IdP and retrieve information in the form a attributes. In our case, we assume the use of the eduPerson schema, so that all the eduraom/DAMe members share a common way to categorize user’s information. The information obtained by the visited AS is updated/added in the User Profile DB.
Once new user’s information is added to the User Profile DB, the Recommendation Services are activated to look for the most suitable activities in the Activity DB according to the characteristics of user profile previously updated. This identification is carried out by means of the similarity model presented in Section 4.
When a new activity is added into Activity DB, Recommendation Services are also activated. All the profiles of those users that could be potentially interested in this activity are gathered from User Profile DB.
In the following we describe an applicability example in order to illustrate activity recommendation workflow (see Fig. 2). Let us consider two users: Alice and Bob. We suppose that Alice and Bob belong to two different universities University A and University B, respectively. That is, from the point of view of the University A, Alice is a local user and Bob is a visitor one.

Basic and extended attributes of user profiles and activities.
University A is currently organizing a set of activities that could be recommended to Alice and Bob. When the users enter in university A premises they solicit network access. Apart from the standard operation to authenticate and authorize these users by using the Eduroam/DAMe facilities, the University A’s authentication server retrieves information about Alice and Bob that is added to the UserProbileDB. In the case of Alice, information is obtained from the local IdP deployed by University A. In the case of Bob, the information is retrieved from the IdP deployed by University B. Notice that the implementation of our proposal is not required at external university which a visitor come from.
When Alice, a local user, is authenticated into the system, the AS of Eduroam/DAMe updates the Alice’s profile in User Profile DB. Recommendation Services are activated and the most suitable activities according to her profile are recommended to Alice. Similarly, when Bob enters into the system, the AS authenticates him and his profile is created in the User Profile DB.
Once both users are authenticated, if a new activity is added into Activity DB, the system is able to offer recommendations to Alice and Bob by means of Recommendation Services using information stored in local User Profile DB.
Recommendation Services are based on matching processes between the semantic descriptions of the user profiles (representing the user’s requirements) and the activities offered at the campus. In our proposal, user profiles and activities are defined in a similar way in order to facilitate the matching between the description of the users’ profiles and the activities. Therefore, both concepts are defined by a common set of attributes.
The representation of users may include information about user such as role at institution, postal address, current location, schedule, preferences, etc. Meanwhile, the representation of each activity may indicate the role for which it is oriented, the location where it will take place, the start and end times, the type of the activity, among others.
Figure 3 shows the definition of user profiles and activities.
Two types of attributes of user profiles and activities are considered: basic and extended. Basic attributes are used to capture the users’ general data offered by directory services of institutions integrated into Eduroam. Both, the definitions of users and activities profiles take into account a subset of basic attributes of eduPerson such as, eduPersonScopedAffiliation and homePostalAddress. (Organizations involved in Eduroam use the eduPersonScopedAffiliation and homePostalAddress attributes for representing the user role into the university and user postal address, respectively.)
Extended attributes represent the rest of information interesting for activity recommendation. The schema offered by Eduroam is extended by the proposal since these attributes are included in user profiles. User position, her specific role at home university (may be different that the role declared at visiting university), her schedule and a set of her interests are considered by the proposal in order to recommend suitable activities.
Thus, the proposal defines the most general view of users and activities profiles by means of basic and extended attributes. However, with the aim to guarantee an extensible solution, two problems concerned to the representation of users and activities profiles have to be solved. On the one hand, the system should be able to estimate the similarity between two user profiles defined by two different universities: (1) the declared role in the activity scheduled at the local university (intended audience) and (2) the role of the visitor user. On the other hand, the system also should be able to compute the suitability of offered activities for a specific user profile based on the user’s interests/preferences, type of the activities, the user and activities locations, the timetables and schedules, etc. The proposed solutions for each problem are presented in the next Sections 3.1 and 3.2, respectively.
Similarity between user roles
In spite of each university adopting eduPerson must define user role, there are not any agreement about the value of eduPersonScopedAffiliation. Thus, each university could define different roles and, consequently, the role of an specific user could not be recognized in a foreign university. With the aim to solve this problem, we contribute to Eduroam proposing a common basic hierarchical schema for user roles representation. This schema could be shared for all Eduroam organizations and could be extended by each one: any organization has the possibility to extend this hierarchy including new roles according to its own organizational structure. In order to facilitate the calculation of similarity between two user roles, the values of eduPersonScopedAffiliation attribute is defined by means of an ontology in our proposal.
Figure 4 shows how two Eduroam organizations extend a shared common schema of user roles. Figure 4(a) offers a common schema shared by all Eduroam organizations. Meanwhile, Figs 4(b) and 4(c) show how this basic common definition could be extended by two universities, respectively.

Schemas of user roles: (a) Common shared schema, (b) University A, (c) University B.
Using these ontologies, similarity between two user roles can be estimated based on the distance between two concepts in the ontology graph. Thus, it is possible consider that Reader and Lecturer are similar user roles because they are close in the graph. The similarity between two roles defined in different schemas is estimated since a common model (Fig. 4(a)). In this case, the closest common role is considered in order to estimate the similarity. For instance, Assistant Professor, extended by University A, and Full-time Professor, extended by University B, are similar roles because they are close if the common shared role Lecturer is considered. (Function
As it is described above, the definition of users and activities profiles (not only the user roles) are also based on eduPerson attributes. In addition to the basic attributes, such as eduPersonScopedAffiliation and homePostalAddress, we include several extended attributes (Schedule, Interest, Extended role – if exists –, etc.) in order to represent the specific information added by the solution presented in this paper.
In order to determine the matching between a user profile and an activity, different similarity functions are considered.
For instance, on the one hand, each user profile contains an eduPersonScopedAffiliation (role defined by eduPerson). On the other hand, several eduPersonScopedAffiliation are related to each activity in order to point the types of users which the activity is targeted. A comparative function between role of user profiles and roles of activities could be used as indicator of the matching degree between these two concepts.
It is possible that an ExtendedRole could be used instead of an eduPersonScopedAffiliation. This situation represents the case in which an external user moves into a visited university in which this ExtendedRole role is known.
Similarity between the user profile and activities, using the ExtendedRole, is estimated by measure the distance between the values of this attribute in each concept.
With this aim it is necessary that (1) all ExtendedRole are mapped into ontologies (like the ontologies shown in Fig. 4 for these purposes), and (2) both ontologies, the used at the original university and at the visited one, extend the common schema defined by eduPerson. In this case, the Schema used by the original university to define the ExtendedRole should be shared with the visited one. Schema is specified in both user profile and activity.
Furthermore, the matching between a user profile and an activity is determinated using other criteria based on free time, interests and preferences of the users, among others. This way, attributes such Schedule and a set of Interest are also used to define the user profile. Meanwhile, Start time, End time and a set of Type (type of activity) are used to specify activities.
Thus, in order to represent both Interest of the users and Type of activity, the ontology shown in Fig. 5 is used.

Partial view of the ontology used to represent the interests of users and the types of the activities.
Finally, the matching between the types of the activity and the interests of the user could be estimated by means of ontology alignment techniques. Similarity measurements based on the proximity of these concepts into the ontology are considered. Similarity between two interests could be computed like the similarity between two roles. For instance, similarity between Natural Sciences and Experimental Sciences seems be greater than similarity between Natural Sciences and Rock Music because Natural Sciences and Experimental Sciences are closer than Natural Sciences and Rock Music in the ontology. (Function
Using the descriptions of activities and user profiles presented in Section 3, the suitability of a recommended activity a for a given user profile p could be estimated by means of a similarity function
The meaning of each component
: Similarity between roles
Definition of user roles based on extensible ontologies is one of the contributions of our proposal (see Section 3.1). Thus, the interoperability between two different schemas used by two different universities can be guaranteed. It is possible that user roles defined at local university differs to user roles defined by external university where visitors come from. The basic schema can be extended differently at each university.
A new problem takes place when we need to evaluate the similarity between instances of two different concepts defined in different schemas. Following the example shown in Fig. 4, similarity between a Dean defined at University A and a Head of Research Center defined at University B could be evaluated. In this work, ontology alignment technology is used for such purpose. The problem of ontology alignment is: given two ontologies describing a set of discrete entities (classes, properties, rules, axioms, …), find the relations of correspondence between these entities [9]. These relations may be of equivalence, subsumption, etc.
Similarity of two concepts (e.g. the two user roles: role declared by activity offered at local university and user’s role) is measured based on the notion of the length of the path linking the concepts and the position of the concepts in the taxonomy. A deep discussion about the suitability of several semantic similarity measures is offered in [11].
Then, the similarity between two roles
In spite of user roles could be defined in different schemas (basic, extended by University A, or extended by University B), it is always possible to find the most common specific role in the basic schema in order to measure the distance between the user roles. Following with the example of Dean and Head of Research Center shown in Fig. 4, the distance between them are measured as follow:
Thus,
: Similarity between interests
Subjects of interests declared in user profiles and type of activities are also defined by means of ontologies (see Section 3, specifically Fig. 5). Hence, the similarity measure between the type of the activity
For instance, this measure could be used as indicator of the suitability of a Pop music concert for a user who is interested in Arts activities. (In this example, Pop music concert is an activity with Type = “Pop”.)
: Suitability based on the schedule
User preferences can be indicated into the system. One of the most important preferences is the flexibility of the user according to the coincidence between the user schedule and the moment in which the activity will take place. Each user could define the parameter time flexibility
: Suitability based on the location
Flexibility according to the user and the localization of the activities activity locations could be also considered into the system. The parameter
Validation
In this section the validation of the proposal is presented. The proposed description of people profiles and the similarity metrics are validated in order to determine if the metrics are able to recommend suitable activities to the users according to their profiles and preferences.
The validation of this approach rests in a simple and unarguable assumption: artificial similarity between activities and people’ profiles, as this work proposed, should imitate how users understand such similarity, and therefore, what recommendations are really useful and what not. Hence, there is an inherent subjective factor on people’s opinion.
In order to deal with this subjective factor, we validate our approach by polling a set of people and comparing their responses with those generated by the artificial system.
We conducted a poll on 60 people not familiar with this system in order to contrast the system metrics’ output with their opinions. The poll consists of eight activities and seven kinds of users. People is uniformly chosen and distributed between the kind of users (see kind of users on Table 1).
Users’ profiles
Users’ profiles
Each polled person labels each activity with VS (very suitable), S (suitable) or NS (not suitable), according to the suitability of the proposed activity to their profiles and preferences.
Responses from polls (Pe.) and from the artificial system (Ar.)
The poll consists of eight activities (first row of the Table 2) and seven kind of users (first column of Table 2).
From this evaluation we obtain that the system achieves a success rate of 76.88%, i.e., the system fails a 23.12% of the time. Nevertheless, in this percentage just a 3.57% is a grave error (VS and NS answers), meanwhile the rest of the errors are minor errors (distance between answers is the minimal).
Furthermore, in order to determine how incomplete user information can affect the system, we have included a special role with absence of information: the professor 2, who loves classical music and likes films. Nevertheless, the preferences about films have been suppressed and, therefore, the system is not able to take into account that information. As it is possible to observe from the results, the system considers that both activities about films are not suitable for this kind of users and there is an error in both cases. This kind of errors could be solved by the users at any time if they complete their information properly. They system will consider such information immediately improving the results.
Therefore, from the results, it is possible to state that the similarity metrics defined are able to achieve a reasonably good approximation to particular people’s opinion.
The proposal of this paper is allocated into the concept offered by iCampus,4
The work offered here is aligned with other previous proposals about recommendation and user profiling under the umbrela of iCampus concept. Two recent previous solutions, related with iManagement and iLearning areas, are offered by [5] and [12], respectively.
A large amount of the most recent solutions providing adaptability and usability in ubiquitous computing are based on recommendation and user profiling [4,15]. They are centered on providing natural, easy and transparent access to the suitable services across a wide range of heterogeneous systems and environments. Several times, ontologies are adopted to represent and to reason about user profiles and recommendations in order to provide smart services in intelligent environments [2,18,20]. The proposal offered in this paper deals with user modelling by means of ontologies.
User profiles, like user context, can be inferred from several types of informational sources [3]. The most important can be related to: (1) personal information gathered from personal devices and directory services, (2) previous interactions with the system (or other systems), and (3) social networking. The current proposal deals with the first type but it could be extended by considering sources of the other two types. Specifically, related with the analysis of previous interactions and social networking, notions about the trust and reputation could be used. They will be very useful, for instance, to reason about the preferences and recommendations of other people [6,10,22].
Apart from the user profiling representation model, it is also necessary to offer methods to evaluate the suitability of the resources or services provided with respect to the user needs. To this end, it could be applied concepts such as similarity between profiles and offered resources [5,7,17]. Thus, a well-know similarity measure has been adapted to select an the appropriate activity to meet the requirement of a user taking into account two ontological concepts: roles and interests.
This paper has presented an activity recommendation system which is able to recommend activities within different campus according to the specific users’ profiles. The system uses the secure federated network Eduroam in order to obtain the basic profile of a user. This information is used to measure the similarity between the user’s profile and the academia activities offered by the university (the user’s university or a foreign university that the user is visiting). The basic information from Eduroam can be extended using more information from the users. Users can configure their preferences and interests with the aim of obtaining recommendations with a higher degree of personalization.
Therefore, the system is able to recommend in a transparent way to the users in all the universities within the participating institutions of Eduroam. The suitability of this approach is validated by comparing the similarity measures of the system with the answers generated by polling a group of people. The results of this validation have shown that the system is able to provide a good approximation to the people’s opinion.
The system provides a non-intrusive solution and easy deployment which can be used by users in their universities or in foreign Eduroam institutions. Among our future work more real experiments in different scenarios are included. Other future works include the introduction of similarity between users using trust and reputation notions. Under such premises, the system will be able to recommend activities according to our social relations and the similarity between our profiles and the activities. This extension provides a more personalized recommendation in which the current social trends are considered.
Footnotes
Acknowledgements
This work is partially supported by the Spanish national research project TIN-2011-28335-C02-02, Foundations for the Development of AAL Services and Applications, through the Bureau of Innovation and Economy, and the research project PMAFI/26/12, founded by the UCAM. The first author would like to thank to the Ecuadorian Prometeo Project through the Secretaría de Educación Superior, Ciencia, Tecnología e Innovación.
