Skip to content

Users and Sessions

In Convergence, Users are a proxy for a real person and carry the identity of that person into the system. Therefore, there is usually a one-to-one correspondence between a real world person and a user in the system. However, many users today have multiple devices. It is not uncommon for a user to have a desktop computer, laptop, tablet, and smart phone. It is also not uncommon for a user to log in to the system from more than one device concurrently. The system needs a way to differentiate multiple connections by the same user so it can attribute actions properly.

Therefore, a distinct session is created each time a user connects to the system. Each session has a unique identifier that distinguishes it from all other sessions. The session also carries with it the username of the user that is connected. Some of the APIs Convergence provides are user focused and others are session focused. For example, APIs concerned with identity will be user focused because who a user is does not depend on any particular connection or session. On the other hand, for example, a user's cursor position in a document does depend on session if they have the same document open on multiple devices (each with their own cursor location).

In summary, it is sufficient to remember that there is a one-to-many relationship between users and sessions, and that sessions are unique in the system and tied to one instance of a user connecting from one device. It should be noted that in the case of a web browser, users can initiate multiple sessions from the same device (one session per window, for example, which can be handy for testing).