CXP-Powered I-MINDS

Capabilities 4.0

 

 

HOME

CURRENT STATUS

CXP+I-MINDS CAPABILITIES

TEAM

HISTORY

PUBLICATIONS

SOFTWARE DISTRIBUTION

CONTACT

 

1.1. Introduction

IMINDS Capability (CXP+I-MINDS) is an online collaboration system intelligently supported by a multiagent system integrated into the ConferenceXP framework designed by Microsoft Research.  It can be used to support groups of employees in corporate environments, as well as students in educational settings by serving as a computer supported, collaborative learning (CSCL) system designed to promote learning through group activities.

 

In version 1, we began by creating two simple applications:  BuddyGroup, which allowed for synchronous communications between groups of users, and QuestionAnswering, which allowed users to ask questions of a moderator, who could then respond with an appropriate answer.  In QuestionAnswering, all questions were parsed for important keywords and were automatically scored using a machine learning algorithm to assist the moderator in knowing which questions were most important.  BuddyGroup also provided a form for viewing performance statistics tracked for all members of the user’s group.  All messages passed between users were automatically tracked and stored in a MySQL database for archival purposes. 

 

In version 2, we added several tools for further utilizing the information stored in our database.  DatabaseSearch was created to allow users to search through archived data and find previously stored messages based on any combination of metadata stored about the messages.  It also allowed users to find other users of the system, and learn how active they were.  VirtualClassroom collected statistics about every user and provided an overview of current performance for moderators.  Users with problematic areas (as determined by thresholds set by the moderator) were flagged for future observation.  To further analyze each statistic for every user, moderators could use StatCharts to view bar charts of every statistic for a particular user, or one statistic for every user.

 

In version 3, our goal was to combine all of our features into one capability.  This served two purposes:  1) it made things easier for users, who now had all functionality in one place, and 2) it made things easier for underlying user and moderator agents because they could now access all available information about user behavior and actions.  In previous versions, all intelligent functionality was contained in the applications themselves, but 3.0 allowed us to merge all agent functionality into one object.  We also redesigned our database for version 3, redoing the hierarchy of tracking.  Before, all events recorded in CXP+I-MINDS were associated with a specific session (i.e., a discrete instance of system usage).  In 3.0 and beyond, sessions were now tied to specific classrooms, which allowed us to further separate data between different classes using the same database.  Finally, for 3.0, we also revised the CXP networking stack (in CXP version 3.5) to use the Pragmatic General Multicast (PGM) protocol to test reliability and latency in wireless environments.

 

In version 4, we had several primary goals: 1) build a system robust enough to operate in both wired and wireless environments,  2) extend the existing functionalities to include 2 new modes – StructuredChat and QuizMode, 3) reorganize the agent functionalities into specialties which are components that specialize in one area of tasks, 4) create an XML configuration file to give users more flexibility in setting options, 5) add network tracking for PGM and wireless environments, and 6) redo the main CXP+I-MINDS form to offer more functionality and be more user friendly.  All coding for 4.0 was moved to Visual Studio 2005 to use .NET 2.0 and be compliant with CXP version 4.0.  Statistic tracking was also redone to provide less reliance on database queries and faster performance, and the statistical analysis tools were redone to offer better user interfaces and to take advantage of the new tracking mechanisms.  Finally, BuddyGroup was renamed to BuddyChat to avoid confusion when talking about the application and groups of buddies.

1.2. Wireless Issues and Logger Version

 

After a brief deployment of version 3 in a wireless classroom environment, we quickly discovered several flaws in our overall design.  One major flaw was our handling of database connections.  In version 3, every object that needed database access was given its own database connection for running queries.  However, the database connections use TCP/IP for their data transmissions, so in a classroom of over 30 students, where each student has multiple connections, this resulted in too much concurrent TCP traffic which slowed down the user’s connections due to loss and throughput reductions and caused serious usability issues with 3.0.  This was never a problem over wired connections because they suffer from far less loss than wireless connections, so slowdown was never previously an issue.

 

To counter this problem, we built 4.0 with reduction in mind – how can we reduce the number of database connections to ensure faster usability?  How can we reduce the overall amount of traffic being sent to protect against loss and need for retransmissions through loss recovery?  Reducing the impact of CXP+I-MINDS on the network infrastructure it resides in allows our system to be more robust and scalable, which are two important properties for a good computer support collaborative learning (CSCL) application to have.  To achieve our goal, we designed a new paradigm for database access.  First of all, we eliminated all database connections from the software except for one per user, which is shared by all of the objects within I-MINDS.  We further added locks to protect against multiple threads accessing the connection at once and implemented a stronger error-prevention system using more try-catch handling of exceptions and error logging.  We also recognized that even 1 connection per user might be too many in wireless environments, so we designed a logger system, where one instance of CXP+I-MINDS acts as a database mediator for all participants.  Whenever a user’s software or agent needs to run a query, it simply sends a message to the logger, which runs the query and returns the results.  However, such a system introduces extra messages into the system (especially because I-MINDS relies heavily on its database to collect and store important information about users’ behavior and actions), so we had to carefully design our message passing and refine our old procedures to prevent the system from becoming congested with messages.  Also, such a system is not necessary in wired environments, so whether or not to use a local database connection can be set in our new I-MINDS XML configuration file (described in section 1.5).

 

1.3.  New Modes

 

To further facilitate collaboration and learning amongst users utilizing CXP+I-MINDS, we have introduced two new modes:  1) StructuredChat, and 2) QuizMode.  StructuredChat is just like BuddyChat, allowing students to carry on chat-based discussions about multiple topics.  The main difference between the two modes is that BuddyChat allows users to select their own groups, which StructuredChat allows moderators to choose the groups for the students.  StructuredChat is described more in detail in Section 3.

 

QuizMode is primarily for use in educational or training settings and allows moderators (teachers) to create questions and quizzes to give to users (students) to assess their understanding of concepts taught.  Quizzes can either be given to every student to be taken individually, or they can be given to structured groups to work on collaboratively.  QuizMode is described further in Section 4.

 

1.4.  Agent Specialties

 

As the functionalities and abilities of CXP+I-MINDS grow, so does the underlying user and moderator agents.  To facilitate future changes and maintain current features, we have moved much of the agent functionalities out of its main class and into specialties designed to work with specific tasks.  For example, BuddyChat and StructuredChat each have their own specialties which contain all of the intelligence necessary for generating statistical information about user behavior, notifying users of current conditions (such as many unread messages in a topic or low contribution levels), and finding new buddies based on topic discussions (in BuddyChat only).  A modeling specialty was also created to handle all modeling tasks, such as tracking statistical information from the various modes and for tracking the current network conditions (if applicable).  This allows us to build statistical information incrementally, instead of relying on database queries to generate values on demand (as was done in previous versions of CXP+I-MINDS), greatly speeding up the analysis tools described in Section 5.  Finally, a logger specialty was designed to handle all database access for users and for archiving message content.

 

1.5.  Configuration File

 

In previous versions of CXP+I-MINDS, important information regarding the behavior of the application was stored in various places.  For example, database connection information was stored in system DSNs in Windows.  However, during one deployment, we discovered how difficult this design can be because users tend to forget to set the proper settings, and DSNs are not easy to find unless you are already familiar with them.  To make the system more usable and prevent errors, we moved all configuration information into one XML file which is read upon starting CXP+I-MINDS.  Within this configuration file is the database connection (with encrypted password for security), whether or not we want to use our own database connection or rely on a logger, and whether or not to enter debug mode for extra error messages.  For PGM within the CXP networking stack, we also created a similar configuration system which allows users to set all of PGM’s options (whether or not to use late join, FEC, etc.) in one place.  This file also allows different settings for each socket using PGM.  When we ported our PGM code to CXP 4.0, we retained the UDP protocol, and the networking configuration file also allows user to choose which protocol they would like to employ.

 

1.6.  Network Tracking

 

One of our goals as a research team is to provide an online collaboration system robust in multiple networking environments.  To achieve this goal, we have been experimenting with the PGM networking protocol in wireless environments.  Unlike UDP (which is often chosen for wireless networking), PGM provides reliability through loss detection and recovery while maintaining high throughput (unlike traditional TCP connections).  In order to get a better understanding of what is going on at the network level, we have added network tracking to version 4 of I-MINDS.  Network tracking occurs at 3 levels: 1) the device level, 2) the socket level, and 3) the application level.  At the device level, if users are using a wireless card installed with a special NDIS protocol driver (which we can provide to users), the modeling specialty can gather information about the network connection including which network and access point (AP) the user is connected to, the signal strength, and the number of available APs.  At the socket level, if the users are using PGM, we can get valuable statistical information from the operating system, including how many packets have been lost, how many have been recovered, what the current transmission rate is, etc.  These statistics are available from both the sender and receiver perspective.  Finally, at the application level, the user agents occasionally pass special messages between one another to determine the current reliability and latency in the network. 

 

Right now, network tracking is only performed for the purposes of our research for testing network stability.  However, we are working on adding functionality to the agents to allow them to use information about the current network conditions to adjust their transmission strategies to alleviate pressure on the network and improve overall performance.

 

1.7.  Main Form

 

To make CXP+I-MINDS easier to use while providing increased capabilities, we redesigned the main form to provide easy access to each mode and tool.  We have also improved the functionality for joining and leaving classrooms.  Finally, we have added an online user list to show users and moderators who are currently in the same classroom and which modes they are using.  This same list also allows participants to invite others to use the different modes.  For users, it shows whether or not online participants are in their buddy or structured groups, as shown in Figure 1.1.

 

Figure 1.1: Main IMINDS Form for User Version



QuestionAnswering

More Info

 

As with previous versions, the question answering mode in version 4 retains both the user and moderator version.  Both versions were originally based on the chat capability that comes with ConferenceXP.  In version 3, the moderator version was heavily modified to enable lists of previously received questions to be displayed and sorted.  Based on feedback from a test run by Bellevue University (www.bellevue.edu) during the summer of 2006, we modified the moderator form to make it more user friendly.  The first major change in the moderator for is the inclusion of tabs to partition the messages into received, answered and discarded.  We also added the ability to reset an answered or discarded message.  The second major change was to allow moderators to send messages that are not responses.  This feature is described in more detail below.  Last but not least, moderator can broadcast responses to all users, instead of just the one who sent the question. 

 

BuddyChat and StructuredChat

More Info

 

In version 2, buddy group was its own capability modified from the chat capability included with ConferenceXP, which allowed users to choose a group of buddies that they wished to converse with.  In CXP+I-MINDS version 3, buddy group became a capability mode of merged capability.  Along with the additions of advanced chat functionality it included a buddy manager from which students could alter who is and who is not included in their buddy group.  In version 4, the options menu from which to access ‘Display Statistics’, ‘Database Search’ and ‘Manage Buddy’ were moved to the main CXP+I-MINDS form.  Also, with the addition of moderator assigned structured groups, a new communication mode was added named Structured Chat. The functionality is nearly identical, with the exceptions that users cannot change their structured group members, and if their structured group is changed by the administrator, the user will receive the current topics being discussed in the new group they enter.  Because of their marked similarities, we will only describe the functionality of Structured Group Chat, although the description applies to both.

 

QuizMode

More Info

 

Another new mode introduced in version 4 of CXP+I-MINDS is QuizMode.  This mode is especially useful in educational settings and allows moderators to create quizzes for users to take.  All quiz content is stored in our database for automatic retrieval when starting the mode, and all quiz results are persistently stored as well for future analysis using the QuizStats tool (described in Section 5.4).  For each quiz, moderators can also include support material in the form of files for users to open that might provide more information or help on particular questions.  Support material are automatically saved in the CXP+IMINDS directory on both moderator and user machines to protect against accidental deletion of the original file and to insure that the files are available until the moderator no longer wants them.  Please note that due to ConferenceXP transmission limitations, total support material for a particular quiz cannot be larger than 750KB in size.

 

Analysis Tools

More Info

 

To assist both users and moderators analyze the data tracked by CXP+I-MINDS, we have designed several tools:  1) VirtualClassroom, 2) Statistics, 3) DatabaseSearch, and 4) QuizStats.  All four of these tools are available in the Moderator version, while users only have Statistics and DatabaseSearch. QuizStats is the only new analysis tool in version 4 of CXP+I-MINDS, but we have modified VirtualClassroom to provide more statistical information based on the increase in statistical tracking done in version 4.  In versions 2 and 3, VirtualClassroom had a limited set of statistics, and also included an overview of all message traffic from the system in the form of message and topic lists, but we removed these because they were not used during deployment.  Also, for version 4, we included the Statistics tool in the user version to replace its text-based predecessor, which was available in all prior versions of CXP+I-MINDS, to accommodate the increase in statistical tracking and to provide information in an easier to analyze format.  DatabaseSearch has remained unchanged from its design in version 3.

 

All statistical modeling is done by each user agent based on their user’s interactions with other users.  Moderators receive their statistics from the user agents and the values stored in the database.  For version 4, we added new statistics, and grouped the statistics by mode instead of by type as was done in previous versions.  The current set of statistics used by the Virtual Classroom and Statistics tools are shown in the tables below:

 

QuestionAnswering

BuddyChat/StructuredChat

Questions Asked Per Session

Messages Sent Per Session

Questions Answered Per Session

Number of Topics Started Per Session

Questions Broadcast Per Session

Number of Topics Started by Others Per Session

Average Question Length

Responses Received Per Session

Average Keywords in Questions

Average Dialog in Topics Started

Average Question Score

Average Self Dialog Improvement

Max Question Score

Average Other Dialog Improvement

Min Question Score

Average Response Time

 



QuizMode

Number of Quizzes

Percent of Quizzes Completed on Time

Average Quiz Duration

Average Questions Per Quiz

Percent of Questions Seen

Percent of Questions Correct

Percent of Questions Incorrect

Percent of Questions Unanswered

Percent of Points Earned

Average Token Requests Per Quiz*

Average Tokens Granted Per Quiz*

Questions Seen With Token Per Quiz*

Questions Answered With Token Per Quiz*

Average Time With Token Per Quiz*

* Collaborative Quiz only

Tables 5.1 -  5.3:  Statistics for each Mode

 

HOME

CURRENT STATUS

CXP+I-MINDS CAPABILITIES

TEAM

HISTORY

PUBLICATIONS

SOFTWARE DISTRIBUTION

CONTACT