1. infrastructure to support social and intellectual interactions,
2. efficient integration and convergence of instructional technology and services to support both formal and informal learning in various learning environments, and in a seamless way,
3. ontology-based model for knowledge dissemination and sharing, and
4. reliable location awareness system to enable both learner and device mobility.
3.2.1 Service Creation This system uses standard web server technologies to share information between peers and to the central servers. Using modern bidirectional web techniques, like REST [ 31], it is possible to transfer messages to and from HTTP servers with standard protocols. Bringing the client-server frameworks of the web to a peer-to-peer system presents some interesting challenges, but the advantages of a standards-based technology are plentiful.
Web interactions involve a client and a server. This system looks to eliminate these requirements for a server, and instead embeds server functionality into every client. Frameworks, like those available from the CocoaHTTPServer project [ 32], package the functionality of a web server into Object-Oriented classes. This allows for the trivial inclusion of web serving capabilities into a regular user application, and it allows the server to be created and destroyed just as simply as any other object. Other projects, such as the Opera Unite [ 33] project and the Plain Old Webserver Firefox plug-in [ 34] aim to similarly embed a web server in their respective browser. These systems differ from the system described here, however, because they provide server capabilities regardless of the network configuration. Our system is unique in that the initialization of the server depends on the current server situation.
When a user connects to a network and their computer or device is able to establish its location, it immediately checks the network for the availability of servers at that location. It first checks for a conventional central server. Traditional servers are used for support information, non-real-time aspects of the system, and user authentication and network management. The peer then checks for existing peer servers (or “supernodes”) in the current location. Depending on the results of these checks, the peer will instantiate a server object and promote itself to a local supernode. This means that the peer has server capabilities, hosting the web-style network in that location. The result is a small location-based network created on-the-fly, without any permanent or existing architecture.
It is worth noting that third-party servers that contribute information to the system are not considered peers in the overall P2P architecture employed by our system, and neither are third-party web clients and browser systems. This provides an interesting dynamic twist on the traditional client-server and peer-to-peer system. The peers themselves are both independently functional clients and servers, with the possible expansion to other pure clients and pure servers to expand capabilities and accessibility (see Fig. 4).
3.2.2 Service Publishing and Discovery Rather than using a centralized service directory, the system uses a decentralized service publishing and discovery technology known as Zeroconf [ 13]. Zeroconf is an open source project, based on a form of DNS-based Service Discovery (DNS-SD) that takes advantage of the broadcast capabilities in the TCP/IP stack.
Zeroconf and DNS-SD are closely related to Multicast DNS (mDNS) [ 35]. Unlike traditional DNS, mDNS URI requests are sent to a broadcast IP instead of a known server. The node which is intended to respond to the given URI will respond, and all other nodes ignore the request. Zeroconf takes the same concept but instead applies it to available services. It is a service discovery system and it uses broadcast messages to advertise the availability of services offered. When a peer initializes, a request is broadcasted for a server with the same location ID. If no server exists the peer promotes itself to supernode status, enabling its own server capabilities. It then advertises its own HTTP services on the Zeroconf system using the location ID, and any subsequent peers will be able to detect it.
This Zeroconf system, combined with the application-space HTTP server, has several advantages over other P2P systems. The most prominent of these advantages is the independence from any central server. Most P2P systems rely on a central server, or at the very least a known address for an existing peer to maintain coherence and connectivity [ 36]. Due to the context and location dependence of this system, however, peers will always be assumed to be within physical and logical proximity. The single supernode for a location may actively advertise its existence on the local network without fear of saturation or interference. In fact, it is asserted that the broadcast messages from mDNS-type systems, like Zeroconf, are of the same order of magnitude as standard Address Resolution Protocol (ARP) packets that are continuously sent on TCP/IP networks without issue [ 35]. Also, the nature of these type of broadcast messages prevents them from being routed to external networks, making this decentralized discovery possible without conflicting with other locations. As an added advantage, this also eases the distribution of location identifiers. As long as there are no two identical location identifiers within the same routed subnet, a unique location-based network grid will be created for each location ID as nodes attempt to connect. The result is the automatic assembly and management of web-style connections, all without the requirements that come with managing a static server.
3.2.3 Adaptable Network Architecture The real-time classroom system is designed around a Hybrid Supernodal P2P architecture. The best way to accommodate instructor-learner information flow is to adopt some of the one-to-many structure of a client-server system while still maintaining the autonomy and self-contained nature of P2P. The system, therefore, uses a Supernodal architecture. The supernode concept was developed by KaZaa [ 37] for their P2P filesharing application, and the same technology was migrated to the Skype [ 38] Voice-over-IP system. Every peer in a supernodal system includes the capabilities to act either as a standard client-type peer or a supernodal server-type peer. If the supernode disconnects, another peer may initialize its server capabilities, promoting itself to be a new supernode and continuing the learning session.
A hybrid P2P network maintains a traditional server for some functions. Generally, a server is used during the initial connection process and then neglected in favor of P2P communications as nodes become connected. In this location-based network system, the central server is auxiliary. If present and available, it provides user authentication and permissions, location-based network management functions, and recommendation and support information on request of the peers. It is important to note that no persistent connection (or, indeed, no connection at all) to the central server is required. While it may help in negotiating small subnetworks, the peers have enough connection logic to handle connection management autonomously.
The best way to examine the versatility of the network is to look at the various modes and configurations in which it can operate (see Fig. 5). A lecture or other one-to-many situation would benefit most from a structured network setup. In this situation, the location, content, participants, and session leader are all predetermined and registered with the central server. In this system, this type of situation is known as a Formal learning session. Group work, like lab lessons or collaborations, requires a slightly less-structured, more communal type of connection. This is a kind of context where the location and content are known but the participants and leader may vary between schedule time and the event time, or even during the session itself. This is known as an Informal learning session. Sometimes there is a need to collaborate in an unscheduled on-the-fly manner with a group of learners, and this type of situation is also possible using the same system. In this case, there is no prescheduled session on the central server at all, and in fact the server is not even required. This is known as an Ad Hoc Collaborative learning session. The system senses the current learning context and automatically reconfigures itself to provide the best learning setup and the most efficient interaction mode.
Formal learning. After establishing its context, the computer connects to a centralized school server and provides its location and context information (see Fig. 6). The server authenticates the connecting peer to determine its current role. It also determines if there is another user in the same location who is scheduled to lead a lesson, or another user with higher authority. If a location leader exists, this information is sent back to the learner. The learner's computer uses the Zeroconf system to detect the existing session leader. If the given user is to lead the lecture themselves their own computer is set up as a supernode and broadcasts its availability using the Zeroconf system (see Fig. 7).
A formal learning session includes several other nuances. Formal sessions are most likely a one-to-many situation, where one instructor is leading a session (primarily providing information) and many learners are participating in the session (primarily receiving information). The software is configured to provide the instructor with complete control over the slide progression, in order to lead the lesson uninhibitedly. Learners are free to take notes, and these notes are tied to their contextual slides. The chat functionality maybe disabled, limited to instructor-learner only, or fully functional, depending on the preference of the session leader. Question functionality is enabled for use by learners for submitting questions to the instructor, and these questions maybe anonymous at the discretion of the learner. The system may also be used for learner survey and quizzes, and these answers are aggregated by the instructor. All of these configuration choices optimize the system for a traditional lecture-style learning situation.
Informal learning. If the central server has no formal structured lecture scheduled for that particular context the system will function autonomously. Without a preestablished leader, the first learner in a given location context is designated to be the session leader. Their computer acts as the location's supernode, and all subsequent learners to arrive in the same location will detect their system and connect to it (see Fig. 8). Informal sessions include open lab sessions, where learners work together in a specific space on a specific task, but without a predetermined leader.
Even though one of the nodes is established as a supernode for networking purposes, all learners in an unstructured session are treated equally. Users may cycle through the main content pane at will, and they may chat and share data freely. Since informal sessions tend to be contained in smaller workstation-sized locations, such as in a lab, it makes sense to have the entire location “on the same page,” literally. If a lecturer or other leader arrives in a location that currently contains an Informal session, they are authenticated as the leader. The central server connects them to the current supernode and they may take control of the session, converting it to a Formal session, if they so choose.
Ad hoc collaborative learning. Due to the autonomous, peer-to-peer aspect of the learning network, the system is able to expand beyond traditional lessons and environments, even beyond the access to the central server. If the system is unable to detect the central server, it can operate in an entirely ad hoc P2P fashion. The system will attempt to establish its context, using IR beacons if they are available, or using other location awareness technologies such as RF trilateration or GPS, if available. If absolutely no location data are available, the user may choose to specify a location, chose a random location identifier, or simply consider the entire available wired or wireless network to be a single location. This aspect is particularly useful for small off-campus locations such as a home or coffee shop. The computer will search the network using Zeroconf for a supernode created by another learner in the same location. If one exists, the computer connect to it directly (see Fig. 9). If the peer arbitrarily designated as the supernode must disconnect from the network, the other nodes detect the loss of connectivity and a randomized reallocation of the supernodal status occurs automatically.
Ad Hoc sessions are especially useful for group work, collaborating on projects, or in group study sessions. The system has no means of authentication or configuration, so all of the interactive aspects of the system remain unlocked. While this may initially cause security concerns, the learning network is, of course, no less secure than if the devices connected manually over the same network. Lecture data are shared from any of the learners to the supernode, which then distributes it to the rest of the peers. Users notes, usually personal, may also be shared between users. The notes are collaborated into one document, maintaining all of their metadata and remaining organized by slide. The learners are then able to review their collaborated notes together, along with the relevant slides, providing a comprehensive account of the information obtained in class.
3.2.4 Web-Based Real-Time Communication The system is designed to implement as much of the functionality for a regular, nonsupernodal peer as possible using web technologies. The basis of the system is the integrated in-application web server, a feature which can be enabled and disabled by the software freely depending on the requirements. This radically changes the current architecture of the web, which is designed around centralized servers hosting applications and content. The primary Mac OS X version of the application uses the CocoaHTTPServer [ 32] to embed web serving capabilities into a regular application, providing a simple Object-Oriented method for starting and stopping the service capabilities. This is a paradigm shift from traditional web servers like Apache [ 39], which require system-wide setup and configuration. The result is a complete learning session hosted on a server that seems invisible.
To provide communications between learners, web technology developed for interactive web applications provides impressive groundwork. The entire system is based primarily on AJAX. AJAX is a fundamental concept that revolves around the separation of a static page and its dynamic content. Since AJAX is an asynchronous system, the learner may still interact with their computer while data requests are pending. When the results are ready, the server returns them and the contents of the page are modified live.
3.2.5 Device Connectivity and Integration Existing technology for learning spaces includes stationary computers and projection systems. While the described system can create a complete learning environment without any of these existing systems, it is designed to work together with them. This supports our second research objective that is to create a system that integrates with other technologies and services. It allows the system to expand to include existing resources, lowering the barrier to entry and easing the potential adoption of the system in a learning situation. A classroom computer will have a static location identifier. When activated, it connects to the local supernode. In a lecture situation, there is likely to be a computer connected to one or more projectors. Using the same minimal interface mode that the instructor uses, the projector displays the lecture notes and slides. Just as content is synchronized to the learners, it is also synchronized to the projection system and displayed in real time. This gives the lecturer the freedom to use their own computer without the hassle of setting up the projection system. As well, it makes it possible for any participant to lead the lecture. Once they are given control of the learning space, the system distributes their resources and slides to the other learners, and to the in-class projector, in real time.
This sort of automatic client connections can also be extended for laboratory spaces, or other locations where interfacing to special hardware is required. A lab computer connected to the specific machinery can act as a static peer and provide resources to learners in the same learning space. A software link must be created between the learning software and the equipment (via a plug-in or utility). Then, much like the projector, the static peer can connect to an existing area supernode. In a lab situation, peers are given privileges to contribute information, so the stationary computer is able to send its information directly to the learners.
The system also allows for integration with mobile devices, for situations when a full computer may not be practical. Since the entire system is based off of web standards like HTTP and XML, any mobile device with a web interface is technically capable of interacting with lesson information, recommendations, interactions, and everything that the system has to offer full computer users (see Fig. 10). Without the IR-based location awareness, the automation of the system is limited, but the functionality remains. In addition to standard web technology, all of the frameworks and components used in the Mac OS X version used in our prototype client are portable to the iPhone OS. This means that a complete fully functional peer, including the ability to act as a supernode, is possible for users of the iPhone and iPod Touch. Furthermore, with the introduction of more sophisticated devices and mobile software, such as the iPhone OS 3.0, allocations for third-party hardware make IR location detectors viable [ 41]. In this case, it would be possible to create a location sensor for the iPhone, for instance, and have a complete, fully functional learning enhancement device. An instructor may come into a lecture with only their smartphone and have the ability to conduct a technologically enhanced lecture to hundreds of students. These capabilities would not be possible without the consideration of standard web and networking technologies.
3.3.1 Real-Time Resource Sharing The primary and most obvious learning resource for a one-to-many lecture situation is to provide lecture slides and related notes from the current lecture (see Figs. 11 and 12). It is common for instructors to create a slideshow presentation to accompany their lecture. In this system, learners are automatically connected to their instructors by their common location and context. Notes and slides are transferred directly to learners at the time that they need them: during the lesson. Rather than simply delivering a slideshow file to learners, the system provides an interactive interface for displaying the slides as the lecture progresses, changing them in real time and synchronized with the session leader. The instructor imports their existing slideshow files into the system, and the system converts the slides into a series of images, capable of being displayed as part of an HTML file. When the session commences, the slide resources are sent to the supernode, where they are pushed to the connected learners incrementally. This makes the presence of technology in the classroom even more useful than ever, while simultaneously simplifying a task that, without this system, takes time and attention away from the content itself.
3.3.2 Personal Notes and Information With lesson content delivered and displayed in real time, there are new and innovative ways that this information can be used to enhance the learning experience. As the lesson progresses, learners have the ability to make personal notes. The notes are stored locally in memory, and each note contains contextual metadata, such as the time of the note as well as the currently displayed content and slide (see Table 1). They are displayed with their relevant slide, and are organized to follow the flow of the lesson notes. When reviewing notes at a later time, this allows the learner to view their own notes alongside the instructor-provided lesson notes and slides. This provides a comprehensive set of personal notes while allowing learners to concentrate on the lesson as it occurs. When a session finishes, the notes are stored to the local storage, and may also be synchronized to the central server.
3.3.3 Learner Interactions and Questions Bidirectional communication opens up the possibilities for even more interaction and comprehension during a learning session, and increases the engagement of the learners. In addition to taking notes, learners may submit questions to the session leader. Questions may be submitted with the learner's name, or they may be submitted anonymously. These questions, like the personal notes, are encoded in XML format and include metadata about their context. When a question is submitted, the session leader receives a subtle indication that there are questions waiting for them. Depending on the preference of the instructor, they may choose to address questions immediately or to wait until an appropriate point in the session. When the session leader selects a question to address, the slide that was visible during the submission of the question is shown along with the question itself. This provides context for the question to help the instructor fully understand what is being asked as well as helping them answer the question by proving the relevant information.
3.3.4 Peer Collaboration The learning enhancement system provides the greatest advantages in sessions where information should be shared not only from a single instructor to many learners, but also when learners are participating and sharing information with each other. Learners may collect information and participate in a real-time chat with others within the same session. Chat data are also tagged with context about the time and content that is being displayed in the main content pane. While the physical proximity of the learners may make this seem redundant (after all, the participants are, by design, all in the same location), the ability to share data, URLs, and other text snippets with participants can make the system even more powerful. Additionally, recording information along with the main content is useful for later review, providing a comprehensive account of the learning session.
K. Scott can be reached at 913 McIntosh St., Thunder Bay, Ontario, P7C 3A9, Canada. E-mail: firstname.lastname@example.org.
R. Benlamri is with the Department of Software Engineering, Lakehead University, 955 Oliver Road, Thunder Bay, Ontario, P7B 5E1, Canada. E-mail: email@example.com.
Manuscript received 11 Oct. 2009; revised 16 Mar. 2010; accepted 2 June 2010; published online 14 July 2010.
For information on obtaining reprints of this article, please send e-mail to: firstname.lastname@example.org, and reference IEEECS Log Number TLT-2009-10-0142.
Digital Object Identifier no. 10.1109/TLT.2010.12.
Kristopher Scott received the bachelor's degree in electronics from the RCC Institute of Technology, Canada, in 2007 and the master's degree from the Department of Software Engineering at Lakehead University. His research interests are in the area of Semantic Web and ubiquitous computing for mobile learning. He is a senior member of the IEEE.
Rachid Benlamri received the master's and PhD degrees in computer science from the University of Manchester, United Kingdom, in 1987 and 1990, respectively. He is an associate professor and the chair of the Department of Software Engineering at Lakehead University, Canada. He is currently a senior member of the IEEE. His research interests are in the areas of Semantic Web, ubiquitous computing, mobile learning, and semantic video analysis. He has more than 60 publications in referred journals, book chapters, and conferences.