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.
- 2. The method of claim 1 wherein each determining step and the performing step are responsive to processing of at least one rule.
- 3. The method of claim 1 wherein the request is a request to convene an automated meeting activity.
- 4. The method of claim 3 wherein the automated meeting activity is selected from the group consisting of an online meeting, a teleconference, a shared whiteboard, a remote presentation, and a video conference.
- 5. The method of claim 1 wherein the step of determining the status of the condition associated with each user is responsive to at least one event notification indicating that at least one user is using at least one software program installed on a client system.
- 6. The method of claim 5 wherein the at least one event notification indicates that the at least one user is using instant messaging client software installed on the client system.
- 7. The method of claim 1 wherein the step of determining at least one user to substitute for the at least one unavailable user within the group includes selecting a user to substitute for the unavailable user.
- 8. The method of claim 7 wherein the step of determining at least one user to substitute for the at least one unavailable user within the group includes determining whether the selected substitute user agrees to participate in the real-time group action before performing the real-time group action.
- 9. The method of claim 1 further including the step of inviting each user to participate in the real-time group action whether or not at least one of the users is determined to be unavailable for the real-time group action.
- 10. The method of claim 1 further including the step of inviting each user to participate in the real-time group action that is determined to be available for the real-time group action.
- 11. The method of claim 1 wherein the receiving step includes receiving a plurality of requests for a plurality of real-time group actions, and further including the step of determining which one or ones of the real-time group actions are currently in-progress.
- 12. The method of claim 1 wherein the receiving step includes receiving a plurality of requests for a plurality of real-time group actions, and further including the step of determining which one or ones of the real-time group actions are pending based on the availability of the users.
- 13. The method of claim 1 wherein said receiving step includes receiving a plurality of requests for a plurality of real-time group actions, and further including the step of determining which one or ones of the real-time group actions are ready to be performed based on the availability of the users.
- 14. The method of claim 1 further including the step of defining the group of users to participate in the real-time group action.
- 15. The method of claim 14 wherein the defining step includes determining a time for the real-time group action to be performed.
- 16. The method of claim 15 wherein the step of determining the time for the real-time group action to be performed includes checking respective calendars of the users within the group.
- 17. The method of claim 14 further including the step of determining whether or not each respective user within the group accepts being included in the group before performing the real-time group action.
- 18. The method of claim 17 further including the step of adding the respective user to the group in the event the user accepts being included in the group.
- 19. The method of claim 1 further including the step of requesting the real-time group action via a client computer having software installed thereon operative to facilitate the performance of real-time communications between at least two users.
- 20. The method of claim 1 further including the step of requesting the real-time group action via a web page.
- 21. The method of claim 1 further including the step of requesting the real-time group action via a telephone.
- 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.
- 23. The system of claim 22 wherein the program code for determining the status of the condition associated with each user within the group, the 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, the program code for determining at least one user to substitute for the at least one unavailable user within the group, the program code for determining the status of the condition associated with each user within the group including the at least one substitute user, the 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 the program code for performing the real-time group action, are responsive to the processing of at least one rule.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 10/367,617 filed Feb. 14, 2003 entitled RULES BASED REAL-TIME COMMUNICATION SYSTEM.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10367617 |
Feb 2003 |
US |
Child |
10731872 |
Dec 2003 |
US |