A tracking system (1) updates data to, and retrieves data from, learning
management databases (10). Update data is received from course player servers
(4), and requests are received from client systems. A common interface (21)
interfaces with all players and clients, and it polls translation modules (22)
for an appropriate and available module when a message is received. A tracking
engine (20) manages threads and a queue for both synchronous and asynchronous
communication. The queue is linked with database interfaces (24), which
are Schema Access Objects (SAOs). Each SAO is pooled as a set of instances, activated
and managed by a pooling manager.