Asynchronous communication system architecture
First Claim
1. A computer-implemented method for asynchronously providing data to conversation participants, comprising:
- establishing, by a central server, a communicative interface between the central server and each of a plurality of client devices associated with the conversation participants, wherein the central server comprises a hardware HTTP server, wherein, for each client device, the communication interface between the client device and the central server is maintained by the central server for the duration of the associated conversation participant'"'"'s participation in a conversation, wherein each client device is configured to display a conversation interface, and wherein each client device is configured to display data associated with the conversation and received from the central server within the conversation interface;
maintaining, by the central server, an associated temporal model describing a state of each of the plurality of client devices associated with the conversation and describing a user state of each of the conversation participants associated with the conversation, each user state indicating whether or not a corresponding conversation participant is actively participating in the conversation;
identifying, by the central server, data to be sent to a first client device of the plurality of client devices based on conversation context information describing a context of a conversation participant associated with the first client device within the conversation;
determining, by the central server, whether to send the identified data to the first client device based on a measure of participation in the conversation by a user of the first client device described by the temporal model associated with the first client device;
in response to determining that the user state described by the temporal model of a conversation participant associated with the first client device indicates that the conversation participant is not actively participating in the conversation, queuing the identified data within a queue of the central server associated with the first client device;
in response to determining that the user state described by the temporal model of the conversation participant associated with the first client device indicates that the conversation participant is actively participating in the conversation, sending, by the central server, the identified data to the first client device configured to display the identified data within the conversation interface of the first client device; and
updating, by the central server, the temporal model associated with the first client device.
4 Assignments
0 Petitions
Accused Products
Abstract
Data is asynchronously provided to a participant of a conversation. A temporal model is maintained for each of a plurality of client devices associated with the conversation. A temporal model describes a state of an associated client device. Data for sending to a client device is identified based on conversation context information describing a context of a conversation participant associated with the client device. A determination of whether to send the identified data to the client device is made based on the temporal model associated with the client device. The temporal model associated with the client device is updated based on the determination.
-
Citations
14 Claims
-
1. A computer-implemented method for asynchronously providing data to conversation participants, comprising:
-
establishing, by a central server, a communicative interface between the central server and each of a plurality of client devices associated with the conversation participants, wherein the central server comprises a hardware HTTP server, wherein, for each client device, the communication interface between the client device and the central server is maintained by the central server for the duration of the associated conversation participant'"'"'s participation in a conversation, wherein each client device is configured to display a conversation interface, and wherein each client device is configured to display data associated with the conversation and received from the central server within the conversation interface; maintaining, by the central server, an associated temporal model describing a state of each of the plurality of client devices associated with the conversation and describing a user state of each of the conversation participants associated with the conversation, each user state indicating whether or not a corresponding conversation participant is actively participating in the conversation; identifying, by the central server, data to be sent to a first client device of the plurality of client devices based on conversation context information describing a context of a conversation participant associated with the first client device within the conversation; determining, by the central server, whether to send the identified data to the first client device based on a measure of participation in the conversation by a user of the first client device described by the temporal model associated with the first client device; in response to determining that the user state described by the temporal model of a conversation participant associated with the first client device indicates that the conversation participant is not actively participating in the conversation, queuing the identified data within a queue of the central server associated with the first client device; in response to determining that the user state described by the temporal model of the conversation participant associated with the first client device indicates that the conversation participant is actively participating in the conversation, sending, by the central server, the identified data to the first client device configured to display the identified data within the conversation interface of the first client device; and updating, by the central server, the temporal model associated with the first client device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory computer-readable storage medium storing executable computer program instructions for asynchronously providing data to conversation participants, the instructions, when executed by a processor of a central server, configured to perform steps comprising:
-
establishing, by the central server, a communicative interface between the central server and each of a plurality of client devices associated with the conversation participants, wherein the central server comprises a hardware HTTP server, wherein, for each client device, the communication interface between the client device and the central server is maintained by the central server for the duration of the associated conversation participant'"'"'s participation in a conversation, wherein each client device is configured to display a conversation interface, and wherein each client device is configured to display data associated with the conversation and received from the central server within the conversation interface; maintaining, by the central server, an associated temporal model describing a state of each of the plurality of client devices associated with the conversation and escribing a user state of each of the conversation participants associated with the conversation, each user state indicating whether or not a corresponding conversation participant is actively participating in the conversation; identifying, by the central server, data to be sent to a first client device of the plurality of client devices based on conversation context information describing a context of a conversation participant associated with the first client device within the conversation; determining, by the central server, whether to send the identified data to the first client device based on the measure of participation in the conversation by a user of the first client device described by the temporal model associated with the first client device; in response to determining that the user state described by the temporal model of a conversation participant associated with the first client device indicates that the conversation participant is not actively participating in the conversation, queuing the identified data within a queue of the central server associated with the first client device; in response to determining that the user state described by the temporal model of the conversation participant associated with the first client device indicates that the conversation participant is actively participating in the conversation, sending, by the central server, the identified data to the first client device configured to display the identified data within the conversation interface of the first client device; and updating, by the central server, the temporal model associated with the first client device. - View Dependent Claims (7, 8, 9)
-
-
10. A central server for asynchronously providing data to a participant of a conversation, comprising:
-
a non-transitory computer readable storage medium storing executable computer program instructions comprising instructions for; establishing, by the central server, a communicative interface between the central server and each of a plurality of client devices associated with a plurality of conversation participants, wherein the central server comprises a hardware HTTP server, wherein, for each client device, the communication interface between the client device and the central server is maintained by the central server for the duration of the associated conversation participant'"'"'s participation in the conversation, wherein each client device is configured to display a conversation interface, and wherein each client device is configured to display data associated with the conversation and received from the central server within the conversation interface; maintaining, by the central server, an associated temporal model describing a state of each of the plurality of client devices associated with the conversation and describing a user state of each of the conversation participants associated with the conversation, each user state indicating whether or not a corresponding conversation participant is actively participating in the conversation; identifying, by the central server, data to be sent to a first client device of the plurality of client devices based on conversation context information describing a context of a conversation participant associated with the first client device within the conversation; in response to determining that the user state described by the temporal model of a conversation participant associated with the first client device indicates that the conversation participant is not actively participating in the conversation, queuing the identified data within a queue of the central server associated with the first client device; in response to determining that the user state described by the temporal model of the conversation participant associated with the first client device indicates that the conversation participant is actively participating in the conversation, sending, by the central server, the identified data to the first client device configured to display the identified data within the conversation interface of the first client device; and updating, by the central server, the temporal model associated with the first client device; and a processor for executing the computer program instructions. - View Dependent Claims (11, 12, 13, 14)
-
Specification