A dynamic collaborative-browsing
system enables
client programs connected to a
computer network to join and leave groups or sessions, to collaboratively browse together as a session, to communicate with other
client programs in the session. Each
client program in the session may act as a session leader, or may just follow a session leader as it browses network sites of the
computer network. The
system includes client programs, typically executing on client computers and
server software, typically executing on one or more main servers. Network servers, such as Web servers, host a number of network sites each having a location or
uniform resource locator (URL). The main
server groups into
server-defined cells. One or more client programs interact with the server
software to cause the server to create a session, to cause the client program to connect to a network site, to notify the server
software of the network site's location or URL, and to notify other client programs in the session of the network site's location or URL so that other client programs in the session become connected to the same network site. The server software facilitates the formation of client programs into sessions and allows the client programs to communicate, to connect to and view a same network site, and to perform other collaborative activities. The server software also groups sessions currently connected to network sites in a same
cell, and notifies each session and the client programs of the sessions of all of the other sessions and client programs in the same
cell. The server software also facilitates communication between the sessions and client programs connected to network sites in the same
cell.