• No results found

In ordet to give an overview of the context-aware user provisioning we will create scenario, indicating the user experience when combining his/hers profile data with context information.

Our starting point of providing personalized services is the assumption that the user will have a user profile, typically in the cloud. Typical

information in this profile is information the user has stored to help the system to present information to the user that is considered relevant, such as personal preferences, travel schedule etc. Updates of the user profile are seen either through a direct interaction with the user or through automated algorithms or through recording user reactions to situation-aware context.

When a user walks into an arbitrary airport, he/she may want information relevant to their current situation. This person may have for instance arrived by plane or public transport, in other words he may be going to a hotel/home or on a flight. Our expectation is that the TV’s, which are located throughout the airport, will not only display generic information, but also information being relevant for the specific user in the vicinity. This scenario assumes that users carry their mobile device at all times, which contains, or has the ability to obtain, contextual information.

Such information is typically the UserId, time and location, but can also be information such as temperature, weather condition, the users travel plan or its further on destination. The phone will automatically connect to TVs, carrying a local hotspot, throughout the airport and send the context information to this hotspot. The backend system of the hotspod will then combine context information from the users phone, context information from itself to create a service request to the cloud, requesting access for parts of that users profile, which is relevant to the users current action. If for instance the user has sufficient time to eat before he/she can travel furhter, the local food service may ask the cloud for the users food preferences, relevant for restaurants within a geographical distance. The users food preferences, or other information in the users profile, such as information that may be used for payment or social networks, is protected by a security policy, specified by the user itself or agents acting on the users behalf. Access to the specific parts of the users profile needs to be authorized by the cloud for the requesting serivce to be able to retreive this information. Based on the users information retreived by the requesting service, available service offers and other open data public information, the TV-screen will then create personalized information to the users.

In our situation, an example may be provided for a user called Bob, arriving at Gardermoen Airport and are later on going to Los Angeles.

There has been some flight delays, and Bob has got time to spare. For this example we will assume that Bob would like to be provided with information on how he may use his spare time, based on his personal preferences. But before Bob can be provided with useful information, there has to be some information about him in the cloud. Therefore, we have sub-divided Bob’s scenario into two parts, where the first part is profile management, and the second part is the interaction with services surrounded by Bob. Both of these parts consists of several steps which we will cover in the following lists, and will be followed by a figure for graphical representation. We will start with profile management, assuming that Bob has access to his user profile via a front end, i.e mobile app or web site.

1. Bob accesses his user profile.

2. The front end fetches Bob’s user profile from the cloud.

3. He creates a new attribute.

4. He attaches a policy to this attribute.

5. He saves the attribute, and the front end will update the profile in the cloud.

Figure 2.1: A vizual example of the process where a user manages his/hers profile information

In this figure we have chosen a stand-alone front-end to make it clear that there are several options available. The front-end can be an own web server, mobile app, part of the cloud itself or others.

When Bob arrives at Gardermoen Airport, the system will interact by following the below steps. We assume that his phone is within reach of a hotspot and the phone is ready to discover services.

1. His mobile phone detects a hotspot, which is locally attached to a TV.

2. The phone connects to the hotspot.

3. The phone gathers contextual information from it’s sensors.

4. The phone sends the context information to the hotspot.

5. The hotspot receives context information from the phone.

6. The hotspot gathers context information from it’s sensors.

7. The hotspot sends the phones and it’s own context information to the service provider, or backend system.

8. The service provider receives the context information from the hotspot.

9. The service provider constructs a request, containing a query for the current users profile information and the context information.

10. The service provider sends the constructed request to the cloud, which contains the user profile information.

11. The cloud fetches the user profile.

12. The cloud authorizes access to the relevant information in the users profile, based on context information from the request.

13. The cloud constructs a response message, containing authorized parts of the users profile.

14. The cloud sends the response to the service provider.

15. The service provider receives the response from the cloud.

16. The service provider establishes contact with other public data stores.

17. The service provider fetches information from these public data stores based on what information it knows about the user, context and profile.

18. The service provider creates a response message to the hotspot, containing suggested activities for the user.

19. The hotspot publishes the suggested activity to the TV for the user to view.

Figure 2.2: Shows the process for requesting a personalized service for a user

Ultimately, the system will consider the users time table, like how much time does he have before the flight leaves, has he already walked past the

security checkpoint, where is he located, etc. The system might also like consider what the users preferences are, like what kind of food does this person like, does he like shopping, is he looking for something in particular, and last but not least, what is this usernotinterested in.