Patent ID: 7769809

Claim:
A computer-implemented method for providing multimodal conversation without a centralized control, the method comprising: receiving, at a client, a first request to establish a first real-time session between a first user and a second user, wherein the first user is different from the second user and wherein the first request includes a globally unique conversation identifier uniquely identifying a logical conversation; creating the first real-time session between the first user and the second user; receiving, at the client, a second request to establish a second real-time session between the first user and a third user, wherein the third user is different from the first user and the second user and wherein the second request includes the conversation identifier; creating the second real-time session between the first user and the third user, wherein the second real-time session is displayed separately from the first real-time session and wherein the second real-time session does not include the second user; determining whether the conversation identifier identifies an existing logical conversation on the client; responsive to determining that the conversation identifier identifies an existing logical conversation on the client, associating the first and second real-time sessions with the existing logical conversation identified by the conversation identifier, the existing logical conversation having an associated third real-time session corresponding to a communication session between the first user and a fourth user, the fourth user being different from the first, second, and third users and wherein the fourth real-time session is displayed separately from the first, second, and third real-time sessions and wherein the fourth real-time session does not include the second user and does not include the third user; responsive to determining that the conversation identifier does not identify an existing logical conversation on the client, creating a new logical conversation on the client, associating the newly created logical conversation with the conversation identifier, and associating the first and second real-time sessions with the newly created logical conversation wherein the first real-time session is in a first mode and wherein the second real-time session is in a second mode different from the first mode so that the newly created logical conversation is associated with multiple modes.