Evolution of Modern Library Services: The Progression into the Mobile Domain Damien Meere1, Ivan Ganchev1, Máirtín O’Droma1, Mícheál Ó hAodha1, Stanimir Stojanov2, 1 University of Limerick,2 University of Plovdiv The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 Outline • Present a brief overview of the overall network architecture, proposed by the Distributed eLearning Center (DeLC) initiative. • Outline the implementation of user and service profiles, highlighting important information within these profiles with a bearing on the context within which services are ultimately delivered to the end-user. •Discuss enhancements to library-based services through the incorporation of various InfoStation-based services. • Outline requirements on software agents, as well as implementation issues regarding how these intelligent agents utilize various profiles in order to facilitate a personalized and contextualized learning environment for system users. The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 System Architecture • The following presented architecture seeks to harness the communicative potential offered by modern mobile devices, to facilitate learners with an innovative and pervasive learning experience which can be dynamically altered and tailored to suit the context of the individual learner. • This InfoStation-based network architecture provides access to mLearning services, for users equipped with mobile wireless devices, via a set of InfoStations deployed in key points across the University Campus., in particular within a Library environment. • Whilst within these overlapping “Pockets” in range of the InfoStations clients may access various localised and personalised mLearning services in a “manytime, many-where” fashion through a geographically dispersed high speed connection. The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 System Architecture • InfoStations multi-protocol support within overlapping pockets of InfoStation coverage WiMAX / WiFi InfoStation Bluetooth InfoStation WiFi InfoStation Smart Mobile Phone WiFi / Bluetooth InfoStation Bluetooth InfoStation InfoStation Center WiFi InfoStation PDA Laptop / Notebook The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 System Architecture • Due to the geographically dispersed nature of the connection, it is necessary for intelligent agents to operate throughout the architecture. • Acting as Personal Assistants (PAs), these agents may function autonomously in order to satisfy any user service requests they encounter, while in or out of contact with other agents (working on InfoStations and/or the InfoStation Center). • As service sessions may be split between various InfoStations, the PA may make a service request while within the range of an InfoStation, and then pass out of the coverage area. • During this time when the user is isolated from InfoStation coverage, the PA functions autonomously, adopting the functionality of the service until the user has completed the task. The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 System Architecture The following illustrates the main components within each of the three tiers of the system: • The mobile device houses the light weight PA facilitating the user’s access to the various services. • The InfoStations houses the Discovery, Presentation and Rendering SelfService module, which is used to establish connections to mobile devices which enter within range. Also housed is a cache of recently accessed user and service profiles, as well as a repository of available services. • The InfoStation Center, which stands at the core of the system, is concerned with the creation and updating of content throughout the system. From this central point, service updates can be propagated across the system. The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 System Architecture Service Repository Service n Service 3 Service 2 Cached Profiles Service 1 Service Catalogue Personal Assistant Discovery Presentation and Rendering SelfService User Mobile Device InfoStation Content and Service Domain Content & Content Service Deployment Creation & Service Creation Content Delivery Support Functions Partner Support Functions Content Management, Media, DB, Transcoding Discovery Presentation and Rendering SelfService Service Control and Execution Services Master Profile Repository InfoStation Center The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 Operation and Maintenance Common Support Functions Provisioning Data Access Device Management Service Catalogue Charging Operations and Maintenance Profile Management Charging & Billing URM Business Support Domain RP AAA Definition of Context • With the increasing level of diversity of end user devices, the service content must be translated to meet the requirements of increasingly heterogeneous interfaces. • PA’s are afforded the capability of having explicit knowledge of capabilities of the device on which the agent is based, and the ability of convey this information to the entity offering the service. • Capability and Preference Information (CPI), conveyed according to the Composite Capability-Preference Profile (CC/PP) standard, and in particular its User Agent Profile (UAProf) module. • The CC/PP specification defines a structured framework through which devices can define critical criteria relating to their capabilities. The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 Definition of Context • Utilizing the CPI conveyed within various profiles, the service provider (i.e. InfoStations) can tailor its service offer to the requested delivery context. • The UAProf represents this CPI in a two-level hierarchy consisting of various components (dealing with a different characteristic of the device) and associated attributes. • The details specified within an instance of the UAProf, and its components, enables an InfoStation to dynamically adapt and customize the mobile services according to the specifications of that device. The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 Definition of Context • The following illustrates a sample of a device’s hardware component with attributes which may each have a bearing on the appearance of the final delivered contextualised service content. <prf:component> <rdf:Description rdf:ID="HardwarePlatform"> <rdf:type rdf:resource="http://www.openmobilealliance.org/tech/profiles/UAPROF/ ccppschema-20021212#HardwarePlatform" /> <prf:ScreenSize>176x220</prf:ScreenSize> <prf:Model>V3i</prf:Model> <prf:ScreenSizeChar>17x11</prf:ScreenSizeChar> <prf:BitsPerPixel>16</prf:BitsPerPixel> <prf:ColorCapable>Yes</prf:ColorCapable> <prf:TextInputCapable>Yes</prf:TextInputCapable> <prf:ImageCapable>Yes</prf:ImageCapable> <prf:Keyboard>PhoneKeypad</prf:Keyboard> <prf:NumberOfSoftKeys>2</prf:NumberOfSoftKeys> <prf:PointingResolution>None</prf:PointingResolution> <prf:CPU>Motorola LTE-ARM7TDMI-S</prf:CPU> <prf:Vendor>Motorola</prf:Vendor> <prf:PixelAspectRatio>1x1</prf:PixelAspectRatio> <prf:SoundOutputCapable>Yes</prf:SoundOutputCapable> <prf:StandardFontProportional>No</prf:StandardFontProportional> <prf:VoiceInputCapable>Yes</prf:VoiceInputCapable> </rdf:Description> </prf:component> The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 Definition of Context • Within this InfoStation-based system, we define a number of user related attributes such as user name, course, department etc. <prf:component> <rdf:Description rdf:ID="UserPlatform"> <rdf:type rdf:resource="http:// www.ece.ul.ie/trc/profiles/UAPROF/ccppschema-1#UserPlatform" /> <prf:Name>John Doe</prf:Name> <prf:StudentID>0123456</prf: StudentID > <prf:Faculty>ECE</prf:Faculty> <prf:Course>Electronic Engineering</prf:Course> <prf:Year>4</prf:Year> <prf:Classes> <rdf:Bag> <rdf:li>CE4517</rdf:li> <rdf:li>CE4607</rdf:li> <rdf:li>CE4717</rdf:li> <rdf:li>CE4817</rdf:li> <rdf:li>CE4907</rdf:li> <rdf:li>EE4607</rdf:li> </rdf:Bag> </prf:Classes> <prf:Advisor>Dr. Ivan Ganchev</prf:Advisor> <prf:email>0123456@STUDENT.ul.ie</prf:email> <prf:QCA>3.47</prf:QCA> <prf:FYP>JD09</prf:FYP> <prf:FYPSupervisor>Dr. Ivan Ganchev</prf:FYPSupervisor> <prf:FYPTitle>Design and Implementation of an Animated Interactive Tutorial</prf:FYPTitle> </rdf:Description> </prf:component> The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 Definition of Context • It is essential that the user-based attributes within the CPI be taken into account in order to avoid unnecessarily advertising irrelevant services and content to library users. • For example the services and service content utilized by members of the Business faculty will generally differ greatly from those being utilized by members of the Electronic and Computer Engineering faculties. • Essentially, this innovative approach to user preference dissemination facilitates the successful delivery of highly-personalised services to the client device. The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 Library-based Services • This architecture offers the opportunity for the expansion of existing librarybased services into the mobile domain. • Two m-Library services envisaged for implementation within this architecture being: • Library Catalogue, Loans & Reservations Service • The Interactive Library Map Service. • Recommendations Service • These services enable users more efficient access to resources and information whilst moving throughout the library. • This infrastructural system, and it’s inherent mobility, affords an ideal opportunity to enhance the user’s library experience. Library-based Services Library Catalogue, Loans & Reservations Service • This service builds on the existing database and cataloguing system to facilitate student’s with access to the library catalogue whilst on the move throughout the library. • A benefit of this system would be to reduce the need for library users to queue for access to library computers, in order to search for resources. • The service enables users to monitor the status of resources they may have loaned out from the library. • Users can monitor when exactly the resource is due back in the library, and indeed the fines incurred upon failure to return it before the designated time has passed. Library-based Services Interactive Library Map Service • In collaboration with the Library Catalogue service, this service facilitates the quick and efficient location of resources within the library. • Users are provided specific directions to collections of materials, most suitable to them (e.g. Science, Engineering, Languages) or indeed to the location of a very specific resource which the user may have requested after a search through the library catalogue. • In the delivery of this service, the content must be adapted and customized according to the capabilities of the user device and the user preferences, i.e. Whether the user is utilizing a device with limited graphical display capabilities or a resource-rich device - provide textual information or complete hypermedia format of the service. Library-based Services Resource Recommendations Service • This service builds on the collaboration between the Library Catalogue service and the Interactive library map service. • On analysis of the user’s CPI, and previous interactions with the Library Catalogue service, the Library-based InfoStation can discern what resources might interest the user, and recommends these. • Then in collaboration with the Library Catalogue service, facilitates the quick and efficient location of these resources Library-based Services Library-based Services Library-based Services Library-based Services Library-based Services Library-based Services Agent Implementation • To assist users with interactions within the service environment, user’s mobile device houses an intelligent agent, operating as a Personal Assistant (PA). • Due to the inherent dynamism and mobility of the system, these agents possess the intelligence to adapt to changing environments and to the idiosyncrasies of the each distinct individual user. • Within their own immediate environments, these agents can take initiative and operate autonomously towards certain goals. • However whilst within range of the network, the InfoStation agent and the PA coordinate themselves and cooperate to fulfil various network management tasks and any user service requests. The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 Agent Implementation • The PA has the capability to acquire information dynamically about all entities within the environment, i.e. through its interactions with the user, and through the use of the profiles, the PA can discover some of the essential information about the individual. • Over time the PA can develop a model of the user’s behaviour by keeping track of the user’s habits and preferences. Depending on the whether or not the user accesses services and eContent presented by the PA, it can judge its success. • Essentially, over time the PA can alter its behaviours to suit the user and offer an increasingly higher level of customization and personalisation of services. • This is especially the case with the automated recommendations service, which takes into account the users pervious service usage. The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 Agent Implementation • In order to facilitate this multi-agent architecture the network entities (agents) have been developed utilizing the Java Agent DEvelopment (JADE) framework developed by TILAB. • This framework simplifies the implementation of multi-agent systems through a middle-ware supporting a set of tools that facilitate the debugging and deployment phases. • JADE ‘s APIs function completely independent of the underlying network and Java version, meaning the JADE environment can be tailored to fit the constraints of environments with wide variations of access to resources. The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 Agent Implementation • The JADE architecture utilizes specific modules, enabling JADE to be configured to suit the varying deployment environments, the most important modules with regards this system being the Lightweight Extensible Agent Platform (LEAP) module. • This module replaces some parts of the JADE kernel providing a modified light-weight run-time environment for enabling FIPA agents to execute on a wide range of Java-enabled resource constrained mobile devices. • By utilizing the JADE-LEAP, the runtime environment (or container) can be split into a FrontEnd (running on the mobile device itself), and the BackEnd (running from a fixed network entity – InfoStation) The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 Agent Implementation JADE-LEAP split-container execution. Mobile User Domain JADE-LEAP Split Container A5 FrontEnd CDC Container InfoStation Center InfoStation BackEnd (Mediator) JADE-LEAP Main Container BackEnd A6 FrontEnd MIDP Container A1 A2 A3 A4 J2SE Container • The splitting of the container into two separate, yet connected entities is particularly useful with regards resource constrained devices, as the FrontEnd of the container is far more lightweight in terms of the required memory and processing power than the entire container. The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009 Summary • We present a brief overview of the overall network architecture, proposed by the Distributed eLearning Center (DeLC) initiative. • We outlined the implementation of user and service profiles, highlighting important information within these profiles with a bearing on the context within which services are delivered to the end-user devices. • We discussed enhancements provided to library-based services through the incorporation of the InfoStation-based system. • We outlined the requirements on the software agents, as well as implementation issues regarding how these intelligent agents utilize profile information in order to facilitate a personalized and contextualized learning environment for system users. The Second International m-Libraries Conference Vancouver BC Canada, 23-24 June 2009