Maintaining real-time conversations over unreliable connections
First Claim
1. A method in a computing device for maintaining a real-time conversation over an unreliable connection, the method comprising:
- creating a first connection from an endpoint associated with a sending participant to an endpoint associated with a receiving participant, the first connection being created using a Session Initiation Protocol (“
SIP”
) bysending a SIP invitation from the endpoint associated with the sending participant to a plurality of endpoints associated with the receiving participant; and
receiving a SIP response sent from an endpoint associated with the receiving participant to the endpoint associated with the sending participant, the SIP response identifying the endpoint of the receiving participant that sent the response;
associating the real-time conversation with the first connection;
conducting the real-time conversation bysending messages of the real-time conversation from the endpoint associated with the sending participant to the endpoint identified in the received SIP response; and
receiving messages of the real-time conversation sent from the endpoint identified in the received SIP response to the endpoint associated with the sending participant;
detecting that the first connection has been lost;
upon detecting that the first connection has been lost,creating a second connection from an endpoint associated with the sending participant to an endpoint associated with the receiving participant without notifying the sending participant;
when the second connection is created through an endpoint other than the endpoint identified in the received SIP response, notifying the sending participant that the real-time conversation is continuing through a different endpoint associated with the receiving participant; and
associating the real-time conversation with the second connection.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for maintaining real-time conversations over unreliable connections is provided. The reliable messaging system initiates a conversation from a sending participant to a receiving participant by sending an invitation to join the conversation to the receiving participant. Once a connection is established, the reliable messaging system associates the conversation with the connection. If the connection is lost, then the reliable messaging system attempts to restore the connection by sending an invitation to the participant that was disconnected. If the reliable messaging system is able to restore the connection, then the new connection is associated with the previous conversation, and the conversation can continue.
-
Citations
16 Claims
-
1. A method in a computing device for maintaining a real-time conversation over an unreliable connection, the method comprising:
-
creating a first connection from an endpoint associated with a sending participant to an endpoint associated with a receiving participant, the first connection being created using a Session Initiation Protocol (“
SIP”
) bysending a SIP invitation from the endpoint associated with the sending participant to a plurality of endpoints associated with the receiving participant; and receiving a SIP response sent from an endpoint associated with the receiving participant to the endpoint associated with the sending participant, the SIP response identifying the endpoint of the receiving participant that sent the response; associating the real-time conversation with the first connection; conducting the real-time conversation by sending messages of the real-time conversation from the endpoint associated with the sending participant to the endpoint identified in the received SIP response; and receiving messages of the real-time conversation sent from the endpoint identified in the received SIP response to the endpoint associated with the sending participant; detecting that the first connection has been lost; upon detecting that the first connection has been lost, creating a second connection from an endpoint associated with the sending participant to an endpoint associated with the receiving participant without notifying the sending participant; when the second connection is created through an endpoint other than the endpoint identified in the received SIP response, notifying the sending participant that the real-time conversation is continuing through a different endpoint associated with the receiving participant; and associating the real-time conversation with the second connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable medium encoded with instructions for controlling a computing device of a first user to restore a connection to an identified endpoint associated with a second user, by a method comprising:
-
sending a Session Initiation Protocol (“
SIP”
) invitation to join a conversation to each of multiple endpoints associated with the second user;receiving an indication of an identified endpoint associated with the second user that accepted the invitation to establish a connection between the computing device and the identified endpoint; conducting through the established connection the conversation between the computing device and the identified endpoint; detecting that the established connection with the identified endpoint has been lost; and after detecting that the established connection has been lost, sending a SIP invitation to the identified endpoint to restore the connection and continue the conversation; when the connection cannot be restored with the identified endpoint, sending a SIP invitation to an endpoint associated with the second user other than the identified endpoint; and when the connection is restored with an endpoint associated with the second user other than the identified endpoint, notifying the first user that the conversation is continuing through a different endpoint associated with the second user wherein the first user is not notified when the connection is restored with the identified endpoint. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer system for maintaining an instant messaging conversation using an unreliable connection medium, comprising:
-
a memory storing computer-executable instructions of a create connection component configured to establish a connection between a first endpoint of a first user and a second endpoint of a second user using a Session Initiation Protocol; a conversation management component configured to manage a conversation between a first user and a second user across an established connection between the first endpoint and the second endpoint; a detect lost connection component configured to detect the loss of a connection over which the conversation is being conducted; a restore connection component configured to restore a lost connection such that when the connection cannot be restored with the second endpoint, creating a connection between the first endpoint and a third endpoint of the second user to restore the connection over which the conversation is being conducted and notifying the first user when the connection is established with the third endpoint, but not when the connection is restored with the second endpoint; and a message cache component configured to cache messages while the connection is being restored and to send the cached messages when the connection is restored; and a processor for executing the computer-executable instructions store in the memory. - View Dependent Claims (16)
-
Specification