Mobile Netw Appl (2010) 15:831–844 DOI 10.1007/s11036-010-0235-9
Supporting Context-Aware Multiparty Sessions in Heterogeneous Mobile Networks Josephine Antoniou & Filipe Cabral Pinto & Jose Simoes & Andreas Pitsillides
Published online: 7 April 2010 # Springer Science+Business Media, LLC 2010
Abstract The article addresses context-aware, adaptive multiparty sessions in a heterogeneous system through such elements as adaptivity and context-awareness. The effective usage of context information can lead to contextaware content casting, especially context-aware, adaptive multicasting. Therefore, regarding the multicast service, the key functionality of an enhanced Session Management is to motivate the creation of user subgroups, subsets of the same content group based on network, user and environment context to the extent that these are necessary for efficiency. Their characteristics in the form of content descriptions are communicated to the media delivery to obtain the appropriate content for each session. The article presents in detail the initiation, modification, termination and mobility of an adaptive, context-aware multicast session. Keywords session management . context-awareness . multicasting . adaptivity . heterogeneous mobile network J. Antoniou (*) : A. Pitsillides University of Cyprus, 75 Kallipoleos Str., CY-1678 Nicosia, Cyprus e-mail:
[email protected] A. Pitsillides e-mail:
[email protected] F. C. Pinto PT, Inovacao, SA, Rua Eng. Jose Ferreira, Pinto Basto, 3810-106 Aveiro, Portugal e-mail:
[email protected] J. Simoes Fraunhofer FOKUS, Kaiserin-Augusta Allee 31, 10589 Berlin, Germany e-mail:
[email protected]
1 Introduction Recent years, from about the early 2000s have been characterized by global broadband penetration, FixedMobile-Convergence, Triple Play and content provisioning over All-IP networks, whether text, audio or video. The Telco world is currently challenged by the competition with the Internet and the quick service provisioning. YouTube, Apple iTunes and social networking platforms like Facebook have proven the dynamics of this new market led by the typical wired Internet services. Indeed, the Internet domain challenges the Telco’s business models massively, now aiming to catch the Web 2.0 opportunities. However, the goal is not to fight the Internet but instead to use similar but Telcoenhanced assets; particularly, adding elements of adaptivity and context-awareness, e.g. the user’s context information can lead to context-aware content casting, and for group-oriented services, context-aware, adaptive multicasting. Context, understood as sensed information that changes over time, has already led to some extent to service adaptivity in terms of recognizing and using simple context, e.g. location. Context may also include network or personal state, location, or weather. To enable session adaptivity in specific services, such as multicasting addressed in this article, it is key to use network and user context to enhance the existing service adaptivity, enabling efficient management of network resources while keeping the user satisfied throughout the multicast session. Context-aware multicasting is based on the creation of context awareness and mobile multicasting technology. Since there is a lot of ongoing research in context detection and sensing, and mobile multicasting technologies such as MBMS (Multimedia Broadcast and Multicast Service) or eMBMS (evolved MBMS, based on Long Tem Evolution (LTE)) are already focused, we look at their coupling and management as a unified system.
832
Session Management manages all the user-to-content and content-to-user relationships [8]. In fact, it provides the necessary signalling mechanisms to deliver content to its consumers, handling different types of events, specifically: session initiation, modification, termination and mobility. Session Management thus participates in dynamic changes, e.g. switching between different content for the same group of users because of new quality constraints. Since Session Management is closely interlinked with media delivery, it is responsible to ensure that content is delivered to its customer and is thus, appropriate to handle the coupling of contextawareness and multicasting technology. The work presented in this article extends the work presented in [1], which addresses adaptive, context-aware Session Management in a general manner. The rest of the article is as follows. Section 2 presents the motivation for this work. Section 3 explores the proposed Session Management giving some requirements and providing a detailed description of how adaptivity is enabled. Section 4 provides detailed signalling flows for the enhanced session initiation, modification, termination and mobility procedures and Section 5 considers System Evaluation issues. Finally, Section 6 offers some conclusions.
2 Motivation 2.1 Context in networking Sensor networks opened the doors to a world where everything is sensed. There are sensors for movement, temperature, etc. The information collected by the sensors allows building efficient, context-aware systems. There is already a link between context and mobile systems. Many services utilize user context to deliver accurate information to the end-users, e.g. location based services, such as “find the nearest pharmacy” or “where am I?” More complex services are planned e.g. mashups (the integration of simple services into compound, more powerful ones). An important use of context information is that it allows the creation of communities that are looking for the same information, making them appropriate candidates for the use of multicasting. Such examples could be: users inside a museum demanding the same informative content or people in the train station that need the same schedule information. Based on the users’ current situation, the mobile system must create multiparty sessions for effective content delivery to users. Thus, an enhanced Session Management that supports the initiation, modification, termination and mobility of adaptive, context-aware multiparty sessions in a heterogeneous environment is needed. So far, Session Management has been autonomous and well separated from context, even for sessions carrying
Mobile Netw Appl (2010) 15:831–844
context-aware services. Certainly, Session Management has not been using context information for improving the connections of the multiparty sessions. We propose an enhanced Session Management, smart enough to select, for instance, the appropriate media coding for a set of users according to the particular quality they support, or use environment noise measures to increase or decrease the audio quality. The authors address this enhancement by using users’ situation information in order to provide more intelligent sessions for mobile communities. 2.2 Adaptive multicasting service scenario The following scenario illustrates how the eTourism and eAdvertisement industries may be enhanced, by offering context-aware, adaptive multicasting options to a mobile customer. Context-aware content delivery using multicast capabilities is yet not considered in the mobile network due to limited interaction with user environment and lack of content description. With context information, the mobile targeted advertisements for the user might create new revenues. The scenario’s main objective is the context-related content provision during a tourist stay. Alex is visiting Berlin and subscribes for a tourist service during his stay. Walking through the city, he passes by a lot of sights. He can view video clips about the sights (his profile indicates that he is interested in such videos). Alex is part of a user group, and at each tourist site he becomes part of the subset of the group’s users that, due to their current location, will watch a particular film. The video is multicasted to each such subgroup; context is location. Alex and the co-located subgroup may also be informed of restaurants and coffeeshops in the area; context could be time of day (e.g. lunch) and current weather (e.g. garden café if it’s sunny). Since Alex’s favourite food is pizza (indicated in profile) he gets a list of pizza places, while other members of the group don’t. Profile information is thus used for adaptive multicasting. Moving on to a different tourist site, Alex notices that the sunny sky is replaced by grey clouds, and receives an advertisement on his phone about umbrella shops nearby just before it starts to rain. Environmental information like weather and also location create context-aware space around the user. The advertisement clip is then delivered to the user in addition to some location information where to buy this umbrella (including maybe also a discount depending on the type of contract—premium vs. limited contract). Alex starts running towards the umbrella shop, and automatically the quality of the video he was watching was decreased by the system. This happened because the system has sufficient intelligence to know that a moving user is not able to completely enjoy high quality videos and thus the system achieves the saving of some resources.
Mobile Netw Appl (2010) 15:831–844
The tourist stay of Alex in Berlin is enhanced by information available “automatically” just by subscribing to the multicast service. He receives personalized content, about such locations as tourist sites, restaurants and coffee shops, by being made part of a group that shared similar characteristics (e.g. location). Furthermore, Alex receives context-aware advertisement that prove to be very helpful because it is immediately usable. Alex’s connection, i.e. his session, needs to be managed in an enhanced way to achieve the above scenario. The subsequent sections describe in detail how such Session Management is achieved. 2.3 Related work There are currently a few initial solutions touching the Session Management issues we are facing. In EU FP6 C-MOBILE a converged, multi-bearer service architecture that supports broadcast and multicast services is defined. The architecture defined in C-MOBILE (and enhanced in EU FP7 C-CAST) project makes a first attempt to use of context information as input for the group creation. Using the work in C-MOBILE and C-CAST as inspiration, [1] considers the use of context at the session level, allowing dynamic triggering of changes to the delivered content through session modification. This article extends [1] to provide further detail on the procedures for session initiation, modification, termination and mobility once context is considered. The work carried out in [2] addresses the impact of context, sensors and wireless networks in the telecommunications field. Several scenarios are proposed highlighting the possible synergies between the defined areas. The authors of [3] propose a Point-to-Multipoint Session Management scheme using Session Initiation Protocol in MPLS-based Next Generation Network service stratum. This scheme is simple and flexible to join, modify, and leave session for NGN multicast service. Article [4] proposes and develops a new mechanism that supports Web services Session Management by using SIP. This means adding session information in the SOAP header element and using SIP to manage the session state for Web services. The dissertation thesis of [5] forms a view on a group and Session Management system for collaborative applications. This thesis describes a system which provides designs of collaborative applications with group and Session Management functionality that can be used to easily build group communications. The article [6] describes a framework for managing connections to mobile hosts in the Internet. The framework integrates the notions of quality of service management and mobility management and forms a base for overall Session Management. The work acts on IP level and covers mobility management of IP networked devices. The framework was designed with support for QoS management
833
in mind and introduced a new semantic where open data streams are treated as being separate sessions. The approach of [7] is quite interesting for our issues as it exploits strategies involving the use of contextual information, strong process migration, context sensitive binding, and location agnostic communication protocols for “follow-me” sessions, as they are called. In terms of standardization, detection and distribution of context is being already envisaged by some initiatives. In [11], the functional architecture for machine-to-machine communications is presented. Additionally, the procedure flows for an effective communications are described. However, this draft is in a very early stage being the work planned for future development. 3GPP has presented a technical report in [12] aiming at identifying potential requirements to facilitate improvements in machine-tomachine communication. The study has investigated the needed standards improvements to provide network operators with lower operational costs when offering machineto-machine services. Moreover, the technical specification in [13] is detailing the service requirements for network improvements for machine type communications. A technical report is being carried out to evaluate the outcomes of this specification [14]. There is some work on mobile multimedia content delivery networks but they all lack on the usage of dynamic mechanisms for supporting multiparty group management. In the cellular networks world, 3GPP has specified MBMS to enable broadcasting and multicasting packet data in UMTS networks to large user groups [15]. Furthermore, the LTE/SAE specification has evolved MBMS in order to provide broadcast connections over the EPS architecture [16]. MBMS allows the unidirectional transport of information from a single source to multiple recipients making possible to have an efficient use of the network resources by sending the same information to all MBMS users simultaneously. DVB-H (Digital Video Broadcasting Handheld) is the ETSI (European Telecommunications Standards Institute) standard designed to distribute multimedia content over digital terrestrial broadcasting networks to handheld receivers [17]. It was specified having in mind the battery limitations of the handheld terminals and the specificities of the mobile environment in which such devices must operate. Recently, DVB-H was considered as the standard for mobile TV among the UE member countries. It is based on DVB-T (DVB—Terrestrial) being backwards fully compatible. 2.4 Generic system model and open issues System elements and their dependencies are identified in Fig. 1, which identifies the 5 key tasks to be resolved for
834
Mobile Netw Appl (2010) 15:831–844
Fig. 1 Generic System model illustrating data flow between functional elements
achieving the required adaptive, context-aware multicast session. The figure depicts a general functional system representation, concentrating only on necessary functionalities. It is not an architecture schematic; that would require the specification of actual core components. The five depicted tasks are the following: 1. Publishing & Discovery: This task requires the content provider to have an interface to the content management entity of the infrastructure to publish and announce available content. In addition, the content management needs to define mechanisms to discover available content. 2. Sensing: This task requires the context management to define an interface for the global space to store sensed context information. 3. Triggering: This task requires the infrastructure to have mechanisms to invoke or trigger the content delivery to the end users (content consumer). This mechanism is represented by the Session Management proposed in this article. 4. Retrieving: This task requires the content delivery to be able to obtain the available content either via pull mechanisms or the content provider pushes the content to the content delivery plane. 5. Relaying: This task requires that the content delivery is relayed to the content consumer; this is done via multicast in this article. There are two key issues of context-aware, adaptive multicasting: (a) Context-to-content matching and, (b) Session handling based on context information. We consider issue (a) to be out of scope for the current article,
which concentrates on (b), the session enhancement. The generic system model of Fig. 1 presents the data flow between the functional elements participating in such a system and representing only the necessary functionalities. The model reflects both key issues, respectively in the system elements ‘Content Management & Matching’ and ‘Content Delivery & Storage’. The Session Management is the logical entity between these two elements named ‘triggering’ in Fig. 1. This triggering requires an enhanced functionality handling the content-to-user relationships, which must act not only on user but also on context inputs. We specify this functionality to be the Session Manager entity and the central theme of this article. 2.5 Architecture to support the generic system model Figure 2 depicts the context-aware multiparty reference architecture as developed in [9]. It aims at providing an end-to-end context-aware communication framework specifically for intelligent multicast/broadcast services. The three main parts comprise: the context and group management service enablers, with reasoning and grouping users based on context (this can be mapped to the Context Management & Reasoning entity in the generic model); content adaptation and delivery based on context (this can be mapped to both Content Management & Matching, and Content Delivery and Storage entities in the generic model); and context information collection through sensors, context distribution and context aware multiparty transport (sensing, triggering and relaying in the generic model). Triggering specifically refers to the tasks of Session Management.
Mobile Netw Appl (2010) 15:831–844
835
Fig. 2 Context-aware multicasting reference architecture
In this paper we focus on how context-aware sessions are supported, both supporting context-awareness and adaptivity of content based on the different sources of context information. In the following paragraphs we briefly describe the main entities of the multiparty delivery process as given in Fig. 2. Context Providers (CxP)–they obtain contexts from sensors and networks, map them to information in an interpretable manner and deliver this information to the several components (Fig. 3). IP Transport (IPT)–it controls the integrated QoS and IP multicast enforcement in the nodes along a communication path for the efficient delivery of multiparty sessions to groups of users, with QoS-guaranteed over the time, able to build delivery trees in heterogeneous environments. Multiparty Transport Overlay (MTO)–it provides a generic, scalable, and efficient transport service for group communications by applying the overlay paradigm at the transport layer. It hides the heterogeneity of underlying networks in terms of IP multicast capabilities or IPv4/v6 support, enabling the dynamic creation of an overlay tree at the transport level, between the source and the group members. Network Management (NM)–it performs context-aware decision of the best connection of multimode terminals in heterogeneous networks. It makes use of user, environment, network and session context, to drive intelligent network selection, in terms of communication path, terminal interface and access technologies (Network Use Management–NUM).
Moreover, it is expected to achieve more efficient resource utilization, as well as more uniform distribution of data load, while fulfilling the QoS required by sessions and experienced by the users (Network Management Enabler– NME). Associated with MTO, Network Management (NM) allows generalized transport by assigning MTO trees and controlling packet transport along them. Session Management (SM)–it manages user-to-content and content-to-user relationships, through session control. It is intelligently designed to enable the use of context information for session control, using the SIP, in terms of networkspecific, environment-specific and user-specific contexts, without in fact knowing the actual network, environment or service details (through Session Management Enabler— SME—and Session Use Management—SUM). Mobility Controller—it applies the decisions issued by the NUM related to the network interface to be used in the terminal, for vertical handover decisions.
3 Adaptive multiparty session management 3.1 Context-aware session management overview Session Management is a core functionality of the contextaware adaptive system. State-of-the-art includes several views on the topic, however, it does not address the participation of Session Management within a contextaware framework (apart from [7] which is more focused on ad-hoc networks) where the Session Management is required to handle context changes that act as triggers for session initiation, modification, termination or mobility. Such context could be identified as: (a) network context (e.g. available bandwidth), (b) device context (e.g. supported coding options), (c) environment context (e.g. user preferred device per location), and (d) user preferences (e.g. user preferred language). All these could effectively trigger a session to adapt. Specifically, we may summarize that Session Management must be able to support the following functionalities: &
Fig. 3 Logical representation of sub-grouping based on Context
Session initiation, modification, termination, mobility towards the end user
836
& & & & &
Mobile Netw Appl (2010) 15:831–844
Session initiation, modification, termination, mobility towards Content Delivery Add, modify and delete users from an existing session Motivate sub-group creation and media type delivery based on context information Recognize a context trigger for session setup, modification, termination and mobility Make additional requests for context when necessary to the appropriate functional entity
3.2 Outside session management domain Although Session Management was designed to act independently, it has specified interfaces towards third party entities to enable adaptation on the network and transport layers, in addition to the session layer. This interaction is optional and occurs with a generic component that we will call Network Management, which should allow (a) making networking and environmental contexts available and (b) the following adaptations: Adaptive Access Network Selection, Adaptive Access Routing Path Selection, Adaptive Media Coding Selection (sub-grouping), Adaptive User Device Selection, Adaptive Transport Connection, based on a Multiparty Transport Overlay (MTO), Adaptive Transport Reliability, through an adaptive FEC-based reliable transport service, Adaptive QoS support. In fact, when adding such entities to the functionality presented in Fig. 1, it is possible to provide an end-to-end context-aware communication framework, in particular for intelligent multicast/broadcast services, where the following three key issues are addressed: (a) context aware group management and context reasoning, (b) context collection, distribution and management (for multiparty/multicast transport), (c) autonomous context driven content creation, adaptation and delivery. 3.3 Technical requirements In this section we move on to describe the main requirements of the enhanced Session Management. Primarily, the Session Management needs to decide which type of context information is useful, since there is an infinite set of context data, and not all of it is useful for improving Session Management functionality. In turn, it is required to define ways to accept the useful user, network and environment context information. Session Management must be able to accept triggers for new groups of users, i.e. group session initiation trigger, since it should be able to create sessions based on notifications coming from other components (can be a specific application, which supports context-awareness). This trigger should additionally provide the group ID (provided by the Content Management & Matching so that
later it can be matched with the content) and the list of users belonging to this group. To impose context-awareness on the session, there must be a communication with the Content Delivery & Storage Entity. The Session Management should work together with Content Delivery & Storage to obtain the content description for the new group. The description should contain information about available media codings for the specific content and minimal QoS parameters to support such codings (e.g. maximum bit rate, etc.). On the other hand, it is necessary to achieve communication with the Context Management & Reasoning entity, to obtain the list of supported settings on the user’s device. Such information may include coding options supported by the user device (e.g. resolution, unicast/multicast enabled, maximum framerate, etc.) or even desired by the user based on user profiles and further information that have to do with the environment (e.g. user preferred device per location). Based on this information the user group will be adapted based on the context of the users. Context also includes network context, thus an interface to the Network Management should be established. Network Management’s decision of which network is selected for a specific user may affect the setup of the session, e.g. bandwidth limitations of the selected network may affect the selection of content coding. Thus, the current network conditions for each user should be obtained. To enable this functionality Session Management should provide minimal QoS requirements for each media type supported by each user. Each of the supported media types is thus evaluated according to each user’s specific network conditions. Furthermore, the Session Management should be capable of motivating the creation of subgroups (actually performed by Network Management) based on the obtained network and user device/environment context. Additional requirements for Session Management include being able to manage multiparty sessions with both multicast-enabled and unicast-enabled users. Finally, Session Management must be able to accept triggers from other components for session modification (and session mobility), and similarly, to be able to accept triggers for session termination informing also the Network Management that the particular user does not belong to the group any more. 3.4 Adaptivity in session manager: forming subgroups A key issue within the enhanced Session Management involves the study of the most efficient way to make decisions regarding subgroups based on the context information discussed previously. For this, the information available through the interface to the adjacent entities must be considered. Specifically, the Session Management needs to be able to: (a) Motivate translation of obtained context
Mobile Netw Appl (2010) 15:831–844
into descriptions of content substreams; (b) Communicate the descriptions of the required streams in terms of content delivery recognizable parameters; (c) Receive and Handle the requested stream. The subgroup decision, motivated by the Session Management and supported by the Network Management, will be based on more criteria including the acquired context information but will be translated into a media description appropriate for the particular session. In order to achieve efficient sub-grouping, the Session Manager must successfully handle three interfaces (the requirements for these interfaces have been presented in section 3.2): (a) The interface with the Network Management entity, (b) The interface with the Content Management & Matching entity, (c) The interface with the Content Delivery & Storage entity. Interface (a) involves transmission quality in terms of ensuring that the network has enough resources to make the transmission effective without any quality losses. For interface (b) the Session Management considers context information additionally to the network information, such as location, profile information or terminal capabilities. This kind of information is made available at the Content Management & Matching entity through the Context Management and reasoning functional entity, which acts as a repository of context information available to any entity acting as a context consumer (e.g. the Session Management). For interface (c), the Session Management does not receive information as in (a) and (b) but instead, once it receives the group id from the Content Management & Matching entity, it sends it to the content processor, to receive back appropriate content information that aids in motivating the formation of sub-groups. When using the interface with the Network Management, sub-grouping can be initiated at the Session Management but assisted by the Network Management, which will handle requests for resource setup, modification and teardown for a session, i.e., of service groups refined according to content formats availabilities matched with terminal capabilities. Once the Network Management receives a request for sub-grouping, it triggers the network selection process in order to perform an intelligent radio access selection. Furthermore, it requests a communication path selection, multicast or unicast, with specific quality requirements. Based on the network selection and chosen communication path, the network-based sub-groups are organized, and are finally refined by taking into account context information. The design for the sub-grouping mechanism should be extensible so as to easily cope with new set of context information leading to more refined subgrouping. Once the network sub-groups are created and properly enforced, this information is returned to the Session Management entity with the respective addresses, ports and selected coding.
837
4 Enhanced session management use cases 4.1 Session initiation The Session Management motivates the subgroup creation by considering user & environment context, prior to the use of network context by the Network Management. Once the sub-groups are formed their characteristics are communicated in the form of content stream descriptions to the media delivery function for obtaining the appropriate content for each subgroup (Fig. 4). Initially, the Content Management and Matching functional entity must provide identification for the newly created group (1). Based on this, the Content Delivery and Storage functional entity provides a list of the available content codings for the particular group (2) which is then matched to each user’s terminal capabilities (3) in order to provide a first level of sub-grouping and motivate the network-based sub-grouping (4,5). Once final sub-grouping (including network subgrouping) is done, the Session Management initiates one multiparty multicast session per each sub-group, by inviting to each session the users (6,7) and the Content Delivery (8,9). If no problem occurs, the media exchange is initiated (10). In parallel, the user joins the multicast address (11,12). 4.2 Session modification Session Modification can occur due to several reasons, namely: & & & & &
Add new users to a group Remove users from an existing group Change of relevant context information Terminal Handover (network and user initiated) Session Mobility (network and user initiated)
4.2.1 Add new users to a group The Session Management takes into account requests coming from other components and proceeds to add users to existing groups. In case the Network Management is involved, all the resource reservation must be properly assigned (Fig. 5). The Session Management is triggered with the information that a new user should be added to a group (1). Assuming the group exists, the terminal capabilities for the new user are obtained (2,3). Next, the Session Management requests the Network Management for the network conditions for each of the interfaces available on the user device. After having all the information, the sub-grouping decisions are motivated (4,5). The user is then invited to join the multicast address of a specific sub-group (6,7). When the confirmation from the user is received, the session is established Content Delivery
838
Mobile Netw Appl (2010) 15:831–844
Fig. 4 Context-aware multiparty session initiation
and Storage. If no problem occurs, the media exchange is initiated. (8, 9, 10). In parallel, the user joins the multicast address (11,12). Even when all the subgroups exist and are served by multicast, a new user still needs to be added to the appropriate subgroup, therefore the user is invited to join the session (even though the content delivery entity is not re-invited since the content is already multicast).
entire network (where this user had influence). The Session Management sends a message to terminate the user session. Upon receiving it, the terminal leaves the multicast address initially joined. After this process it acknowledges the session termination. If the user was the last of its group, the session towards the Content Delivery and Storage is also terminated.
4.2.2 Remove users from an existing group
4.2.3 Change of relevant context information
The Session Management can remove users from existing groups. In case the Network Management is involved, all the resource reservation must be unassigned. The Session Management is triggered that a new user should be deleted from a service group, and in turn requests the Network Management to release the resource reservation across the
The Session Management can adapt to triggers containing new context. Such triggers can come spontaneously from other components or as a result of previous subscription for context updates. If Network Management is involved, resource reservation must be reconfigured (Fig. 6). In Fig. 6 Session Management is triggered with the information
Mobile Netw Appl (2010) 15:831–844
839
Fig. 5 Session modification when a user is added to an existing group
that a particular user is suffering from network congestion (previously subscribed to this context). According to the existing sub-groups, it decides to downgrade the user to another sub-group containing the same media files but coded with lower bitrate (1). When all decisions are taken, the Session Management invites the involved user with the new multicast address (2). The user leaves the previous address (3) and joins the new one (4), receiving the new, low bitrate, media stream (5). 4.2.4 Terminal handover (network and user initiated) During an ongoing multiparty communication, service continuity is maintained despite group members’ mobility across Radio Access Technologies (RAT). There are many
reasons for a handover to be triggered between RATs. The basic reason is when the air interface of the serving RAT no longer fulfils the desired criteria to support the service with the requested QoS. Thus the terminal initiates handover to another RAT, in order to improve connection quality; this type of handover is known as Terminal Triggered Handover, (as opposed to Network Triggered Handover). However, most of the criteria behind handover activation may also rely on the instant networking context and the environment context of the user and also the overall network conditions. When the aforementioned context information parameters are considered as the criteria for the handover, the aim is not only to fulfill the QoS requested (i.e. avoid any QoS degradation) but also to provide enhanced overall network capacity and performance.
840
Mobile Netw Appl (2010) 15:831–844
Fig. 6 Session modification when there is a change in relevant context information
As a large amount of information may be relevant to the decision procedure, an efficient scheme must be developed to constantly update critical context. Thus, the Network Management must be able to efficiently address handover and provide, by taking into consideration the instant user, network and environment context, efficient RAT selection functionality aiming at enhanced overall network capacity and performance at all times. Both cases of terminal mobility, Terminal Triggered Handover and Network Triggered Handover are considered. As this article focuses mainly in contextualized session adaptation, Fig. 7 depicts the interactions between the components involved in network initiated terminal handover. During an ongoing session, the Session Management is informed that a preferred network is available, and it automatically performs a seamless handover operation (1). Whenever a new interface is available on the client, the user and the Session Management must be updated (2). After deciding on the new interface, and ensuring that the new sub-group is available, Session Management re-invites the
user (maintaining continuity) (3). When the message is received, the device leaves the existing multicast address, joins the new one and the Session Management is informed. After this process the new session/media flow is established (4,5,6). 4.2.5 Session mobility (network and user initiated) Session Mobility, be it or not user initiated, is network assisted. Ti selects the best terminal, considering context, capabilities, and content requirements. Such actions trigger Network Management updates on the multicast tree (when involved in this process). These cases have usually a high impact in QoS. As an example, during an ongoing multiparty communication, service continuity is maintained despite of the currently used device. Session mobility is how this continuity is provided. There are two cases, session mobility might occur: terminal triggered or network triggered. The first occurs when a user expresses his/her will to transfer the session from
Mobile Netw Appl (2010) 15:831–844
841
Fig. 7 Session modification when there is a network-initiated terminal handover
one terminal to another and the reasons for this behavior are numerous (e.g. user arrived home and wants to transfer a video session to his high quality television). In the second case, the network makes this decision to improve the user’s experience. Network Triggered Session Mobility is depicted in Fig. 8. Whenever a new interface is available for the user, the Session Management has the updated signalling contact details to interact with the user (1). When the Session Management receives a trigger that a new preferred device is available it is necessary to make a similar process to the one when a new user joins a group (2). When a new user is added, information about the devices is requested. The retrieved information encompasses supported codecs, maximum resolution available, etc. (3,4). Based on this information, and assuming that network conditions are known, the device/user is placed into a specific sub-group. Thus, the device joins the respective multicast address and
informs the Session Management. After this process the new device is receiving media adapted to its context (5,6,7). Once the new session is established, the Session Management terminates the old device, simulating a seamless handover from one device to the other. The process is only finished when the device leaves the multicast address and consequently informed the Session Management (8,9,10). Note that this is only possible when both devices are available simultaneously. 4.3 Session termination The Session Management is capable of terminating a session taking into account requests coming from other components. In case the Network Management is involved, all the resource reservation must be properly unassigned. The Session Managements is triggered with the information that the whole group should be deleted from the service. In
842
Mobile Netw Appl (2010) 15:831–844
Fig. 8 Session modification when there is network-initiated session mobility
case Network Management is involved, it should first release the resource reservation across the entire network (where this user/sub-groups had influence). Session Management sends a message to the user to terminate the session. Upon receiving it, the user leaves the multicast address initially joined, and hence acknowledges the session termination. This process is repeated for every user belonging to this group. In parallel, the session towards the Content Delivery and Storage is terminated.
5 Session management evaluation issues After describing how Session Management works, what are the components involved, how they communicate with each other and which functionalities they support, it is important to understand how it can be implemented and tested against its initial requirements. Despite the functional requirements, it is usually the non-functional ones, which end up limiting the overall final solution. Although the set of non-
functional requirements can vary per definition, according to [10], in any networked application the following requirements apply: Usability, Performance, Reliability and Supportability. While the first and the last one are of great importance, in our work we will focus on the other two. In this sense, Performance is a measure of how quickly the system responds to stimuli, and how well it utilizes resources in providing that response. Performance is often defined in terms of latency, throughput, efficiency and scalability. Reliability, on the other hand, is a measure of the frequency and severity of defects encountered during normal operation of the software. The more severe the defects and the more frequently they are encountered, the less reliable the software. Three related measures are fault tolerance, robustness and security. To address the aforementioned issues, besides the architectural design principles, the implementation ones may also affect the way the overall system works. Our implementation was done by using Java SDK 6 and the application was supported by a Sailfin Java Application
Mobile Netw Appl (2010) 15:831–844
Server. The main functionalities are exposed to the outside by using well-defined web service interfaces, however, it also supports the HTTP REST style architecture. Therefore, in what concerns performance we tried to minimize the amount of information between the Session Management and other components, without limiting its capabilities. One of the first points was packing the information of all different sub-group streams into a single SIP session (towards the media delivery function). This will not only reduce the amount of information traveling on the network, but also help synchronizing the streams (audio, video and subtitles) with the client side, which could be caused by high levels of latency on the network. Nevertheless, by initially evaluating the current user terminal and network and environment capabilities, with the help (through defined interfaces) of Network Management, this solution is capable of dynamically adapt and enforce QoS when necessary, reducing the overall latency while maintaining the necessary link quality. Furthermore, these adaptations where also relevant at a transport level, where the overlay network was build, increasing the overall solution scalability has multicast would be used when available. Together with the sub-grouping approach defined in 3.4, by using multicast when available (depending on the user terminal and access network) the scalability of the architecture is higher. All of these contribute to an improved efficiency on the network side, without neglecting user experience (personalization and contextualization). Moreover, supported by the capabilities provided by Sailfin (with small code adaptations), it is possible to deploy the Session Management in a distributed environment, allowing load balancing and therefore increasing again the scalability and reliability of this solution. Although reliability is difficult to predict without testing, there are some things, which can be done beforehand. Consequently, our application was composed by using different modules combined by a binding logic, increasing the component flexibility and therefore its capacity to react to errors found in the different modules. Security was slightly address in the sense of attacks caused by flooding and brute force mechanisms, as other types of attacks are less likely to happen due to the walled garden environment inside telco domains.
6 Conclusions Use of context allows the definition of mobile communities that are characterized by requiring the same content. The users in similar situations should receive the same data. The mobile system, and specifically multicasting, should be enhanced to create multiparty sessions that allow content delivery to such groups of users. Session Management provides the necessary signalling to deliver a specific
843
content to its consumers, handling different types of events regarding session control. Session Management thus participates in dynamic changes such as switching between different content. The work presented here addresses this kind of session, i.e. a multi-party session that may respond to context changes and adapt to satisfy the users of a group. By using the user’s situation information, the article illustrates ways to provide more accurate sessions for mobile communities. An evolved Session Manager functional entity is described supporting the establishment of context aware multiparty sessions in a heterogeneous environment in an efficient way. Future work aims to implement this architecture in a testbed setup in order to test supported scenarios, in order to demonstrate the proposed session enhancements. Relevant performance measures will be collected and specific submodules participating in this system optimization process will be individually enhanced and evaluated. Acknowledgements This work is funded by the ICT-2007-216462 C-CAST (Context Casting) project.
References 1. Antoniou J, Riede C, Pinto FC, Pitsillides A. Context Aware Multiparty Session Support for Adaptive Multicasting in Heterogeneous Mobile Networks; in Proceedings of Second International Conference Mobilware 2009 (Berlin, April 2009), by Springer Berlin Heidelberg 2. Aguiar R, Gomes D (2008) Quasi-omniscient networks: scenarios on context capturing and new services through wireless sensor networks. Wireless Pers Commun 45:497–509 3. Kwon YH, Park HJ, Choi SG, Choi JK, Lee HS. P2MP Session Management Scheme using SIP in MPLS-based Next Generation Network, The Joint International Conference on Optical Internet and Next Generation Network, 2006. COIN-NGNCON 2006, vol., no., pp.183–185, 9–13 July 2006 4. Dong W, Newmarch J. Adding Session and Transaction Management to Web Services by using Sip; Proceedings of the IADIS International Conference e-Society 2005, IADIS Press, Portugal, ISBN/ISSN: 9728939035, pp 299–306 5. Wilde E. Group and Session Management for Collaborative Applications, Ph.D. Thesis, Diss. ETH No. 12075, ETH Zürich, April 1997 (published by Shaker-Verlag, Aachen, April 1997, ISBN 3-8265-2411-X) 6. Landfeldt B, Larsson T, Ismailov Y, Seneviratne A. SLM, A Framework for Session Layer Mobility Management, in Proc. IEEE International Conference on Computer Communications and Networks, pages 452–456, Natick, Massachusetts, October 1999 7. Handorean R, Sen R, Hackmann G, Roman G-C. Context Aware Session Management for Services in Ad Hoc Networks, Proceedings of the 2005 IEEE International Conference on Services Computing— Volume 01, Pages: 113–120 8. Riede C, Al-Hezmi A, Magedanz T. Quadruple Play—Session Management Enabler for Multimedia Streaming, 16th IST Mobile & Wireless Communications Summit, Budapest, Hungary, July 1–5, 2007, IEEE Catalog Number: 07EX1670C, ISBN 978-963-8111-66-1 9. ICT-2007-216462 C-CAST (Context Casting) project: http:// www.ict-ccast.eu
844 10. Greenfield J, Short K. Software factories: assembling applications with patterns, models, frameworks, and tools. Number Chap. 2. John Wiley & Sons, 2004 11. Draft ETSI TS 102 690 V (2010-01), Technical specification machine-to-machine communications (M2M); Functional architecture 12. 3GPP TR 22.868 V8.0.0 (2007-03), Study on facilitating machine to machine communication in 3GPP systems (release 8) 13. 3GPP TS 22.368 V1.1.1 (2009-11), Service requirements for machine-type communications, stage 1 (release 10)
Mobile Netw Appl (2010) 15:831–844 14. 3GPP TR 23.888 V0.2.1 (2010-01), System improvements for machine-type communications (release 10) 15. 3GPP TS 23.246 V6.12.0 (2007-06), Multimedia Broadcast/ Multicast Service (MBMS), Architecture and functional description (Release 6) 16. 3GPP TS 23.246 V9.3.0 (2009-12), Multimedia Broadcast/ Multicast Service (MBMS), Architecture and functional description (Release 9) 17. ETSI EN 302 304 V1.1.1 (2004-11), Digital Video Broadcasting (DVB); Transmission system for handheld terminals (DVB-H).