Rules based real-time communication system
First Claim
1. A method of performing real-time communications between at least two users, comprising the steps of:
- 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;
in response to the request, determining the status of the condition associated with each user within the group;
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 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;
determining the status of the condition associated with each user within the group including the at least one substitute user;
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 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.
194 Citations
23 Claims
-
1. A method of performing real-time communications between at least two users, comprising the steps of:
-
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;
in response to the request, determining the status of the condition associated with each user within the group;
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 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;
determining the status of the condition associated with each user within the group including the at least one substitute user;
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 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:
-
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 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, program code for determining the status of the condition associated with each user within the group in response to the request, 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, 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, program code for determining the status of the condition associated with each user within the group including the at least one substitute user, 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 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