An instant messaging architecture is presented that facilitates collaborative learning among a highly mobile user base. The architecture leverages the write once, run anywhere nature of the Java computing language to enable seamless instant messaging on a range of platforms and devices. Through the use of a persistent network-accessible object repository and service discovery using Internet Protocol multicasting, an architecture is provided that is loosely coupled, reliable in the face of partial failures, and robust.