Rules based real-time communication system
First Claim
1. A method of performing real-time communications over a computer data network between at least two users, each of said at least two users being associated with a client system communicably coupled to said computer data network, comprising the steps of:
- receiving, at a server system communicably coupled to said computer data network, a request for a real-time group action involving a group of users, each user having at least one condition associated therewith, a status of the condition associated with each user being indicative of an availability of the user for participating in the real-time group action, wherein the availability of each user is based at least in part upon a digital indication of an online presence of the respective user;
in a first determining step, in response to the request, determining the status of the condition associated with each user within the group;
in a second determining step, determining whether the real-time group action can be performed based at least in part on the status of the condition associated with each user within the group;
in a third determining step, in the event the real-time group action cannot be performed based on the status of the condition associated with at least one user within the group, the condition status indicating that the at least one user is unavailable to participate in the real-time group action, determining at least one user to substitute for the at least one unavailable user within the group;
in a fourth determining step, determining the status of the condition associated with each user within the group including the at least one substitute user;
in a fifth determining step, determining whether the real-time group action can be performed based at least in part on the status of the condition associated with each user within the group and the at least one substitute user; and
in a first performing step, in the event the real-time group action can be performed based at least in part on the status of the condition associated with each user within the group and the at least one substitute user, performing the real-time group action.
10 Assignments
0 Petitions
Accused Products
Abstract
A rules-based real-time messaging system for groups of users, in which an availability status is maintained in association with each user. Clients are communicably coupled to a real-time messaging server, which maintains indications of the online/offline presence of each user, as well as other user attributes. Rules and a rules engine are maintained in the real-time messaging server for controlling the delivery of messages to the users, and for controlling how the availability of users is provided to other users. Based on the specific rules stored on the real-time messaging server, the rules engine determines the state of various relevant conditions such as the availability of users of the system, and detects the occurrence of various real-time events such as a user logging-on to or logging-off from the system for controlling the delivery of various types of messages and/or the performance of resulting actions.
56 Citations
23 Claims
-
1. A method of performing real-time communications over a computer data network between at least two users, each of said at least two users being associated with a client system communicably coupled to said computer data network, comprising the steps of:
-
receiving, at a server system communicably coupled to said computer data network, a request for a real-time group action involving a group of users, each user having at least one condition associated therewith, a status of the condition associated with each user being indicative of an availability of the user for participating in the real-time group action, wherein the availability of each user is based at least in part upon a digital indication of an online presence of the respective user; in a first determining step, in response to the request, determining the status of the condition associated with each user within the group; in a second determining step, determining whether the real-time group action can be performed based at least in part on the status of the condition associated with each user within the group; in a third determining step, in the event the real-time group action cannot be performed based on the status of the condition associated with at least one user within the group, the condition status indicating that the at least one user is unavailable to participate in the real-time group action, determining at least one user to substitute for the at least one unavailable user within the group; in a fourth determining step, determining the status of the condition associated with each user within the group including the at least one substitute user; in a fifth determining step, determining whether the real-time group action can be performed based at least in part on the status of the condition associated with each user within the group and the at least one substitute user; and in a first performing step, in the event the real-time group action can be performed based at least in part on the status of the condition associated with each user within the group and the at least one substitute user, performing the real-time group action. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A system for performing real-time communications between at least two users, comprising:
-
a computer data network; a plurality of client systems communicably coupled to said computer data network, each of said plurality of client systems being associated with a respective one of said at least two users; and at least one server system communicably coupled to said computer data network, said at least one server system including at least one processor, and at least one computer program storage memory communicably coupled to the processor, the computer storage memory including at least one computer program executable by the processor, the computer program including first program code for receiving a request for a real-time group action involving a group of users, each user having at least one condition associated therewith, a status of the condition associated with each user being indicative of an availability of the user for participating in the real-time group action, wherein the availability of each user is based at least in part upon a digital indication of an online presence of the respective user, second program code for determining the status of the condition associated with each user within the group in response to the request, third program code for determining whether the real-time group action can be performed based at least in part on the status of the condition associated with each user within the group, fourth program code for determining at least one user to substitute for the at least one unavailable user within the group in the event the real-time group action cannot be performed based on the status of the condition associated with at least one user within the group, the condition status indicating that the at least one user is unavailable to participate in the real-time group action, fifth program code for determining the status of the condition associated with each user within the group including the at least one substitute user, sixth program code for determining whether the real-time group action can be performed based at least in part on the status of the condition associated with each user within the group and the at least one substitute user, and seventh program code for performing the real-time group action in the event the real-time group action can be performed based at least in part on the status of the condition associated with each user within the group and the at least one substitute user. - View Dependent Claims (23)
-
Specification