Associating real-time conversations with a logical conversation
First Claim
1. 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, andassociating the first and second real-time sessions with the newly created logical conversationwherein 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.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for associating one or more real-time sessions, which are each signaled separately, into one logical conversation without a centralized control, are provided. Some techniques share a conversation identifier that uniquely identifies a logical conversation across the real-time sessions that belong to the logical conversation. The conversation identifier is generated before the first real-time session belonging to the logical conversation is signaled, and distributed to the other participants in the logical conversation via the signaling channel. A called participant can use the conversation identifier for associating the previous real-time sessions belonging to the logical conversation, and for making new invitations for other real-time sessions that are associated with the same logical conversation.
-
Citations
23 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, performed by a computer having a memory and a processor, the method comprising:
-
determining at the first client that it is an initiator of a logical conversation; and after determining at the first client that the first client is the initiator of the logical conversation, generating a globally unique identifier that identifies the logical conversation, sending to a second client the unique identifier identifying the logical conversation in a first SIP INVITE request to establish a first real-time session in the logical conversation, with a processor, establishing the first real-time session, wherein the first client and the second client interact across the first real-time session without centralized control, with a processor, associating, at the first client, the first real-time session with the logical conversation, sending to a third client the unique identifier identifying the logical conversation in a second SIP INVITE request to establish a second real-time session in the logical conversation, with a processor, establishing the second real-time session, wherein the first client and the third client interact across the second real-time session without centralized control and wherein the second real-time session is signaled separately from the first real-time session so that the first client can maintain separate real-time sessions with each of the second and third clients, and with a processor, associating, at the first client, the second real-time session with the 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 logical conversation is associated with multiple modes. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system having a memory and a processor for providing multimodal conversation, the system comprising:
-
a component at a first client configured to receive from a first user a first request to establish a first real-time session with a second user, the first request including a first globally unique conversation identifier uniquely identifying a first logical conversation; a component at the first client configured to receive from the first user a second request to establish a second real-time session with a third user, the second request including the first conversation identifier; and a component at the first client configured to create a first logical conversation on the first client and associate the first real-time session and the second real-time session with the first logical conversation, the first logical conversation being identified by the first conversation identifier wherein the first real-time session and the second real-time session are signaled separately so that the first user can maintain separate real-time sessions with each of the second and third users wherein messages sent from the first client to the second user as part of the first real-time session are not received by the third user and wherein messages sent from the first client to the third user as part of the second real-time session are not received by the second user 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 first logical conversation is associated with at least two modes and wherein the components comprise computer-executable instructions stored in memory for execution by the processor. - View Dependent Claims (20, 21, 22)
-
-
23. A method performed by a computing device having a memory and a processor, the method comprising:
-
determining at the first client that it is an initiator of a logical conversation; generating a globally unique identifier that identifies the logical conversation, sending to a second client the unique identifier identifying the logical conversation in a first SIP INVITE request to establish a first real-time session in the logical conversation; with a processor, establishing the first real-time session, wherein the first client and the second client interact across the first real-time session without centralized control; with a processor, associating, at the first client, the first real-time session with the logical conversation by storing an indication of the first real-time session in a table associated with the unique identifier; receiving from a third client the unique identifier identifying the logical conversation in a second SIP INVITE request to establish a second real-time session in the logical conversation; with a processor, establishing the second real-time session, wherein the first client and the third client interact across the second real-time session without centralized control and wherein the second real-time session is signaled separately from the first real-time session; and with a processor, associating, at the first client, the second real-time session with the logical conversation by storing an indication of the second real-time session in the table associated with the unique identifier wherein the first real-time session and the second real-time session are signaled separately so that the first client can maintain separate real-time sessions with the second client and the third client and wherein both the first real-time session and the second real-time session are associated with the same unique identifier that is sent by the first client to the second client and received by the first client from the third client and 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.
-
Specification