Universal state-aware communications
First Claim
1. A system for establishing communications among users, the system comprising:
- a memory storing executable instructions including a controller;
a processor coupled to the memory to execute the executable instructions, the controller executed within a call process server, the processor configured tomonitor states of a plurality of users, each user associated with one or more devices,receive a communication request from a calling user for establishing a communication session between at least two users including the calling user and at least one target user,identify at least one associated devices of the at least one target user accessible for the communication session in view of preferences of the at least one target user, wherein the preferences indicate which one or more devices of the devices associated with the at least one target user can be accessed based on an identity of a caller user,sending an invitation message to the identified devices of the at least one target user for the communication session,in response to receiving an answer message for the invitation message from one of the identified devices, sending a disconnect message to the rest of the identified devices, leaving the one identified device selected for the communication session,establish the requested communication session among the at least two users when the at least two users are each in an appropriate state for participating in the communication session, includingmaintaining waiting communication data associated with a plurality of communication requests representing a plurality of waiting communication sessions pending to be established,transmitting a waiting communication notification with information about a modification to one of the waiting communication sessions or the waiting communication data to one of the at least two users that did not request the modification,responding to a waiting communication management request from a recipient of the waiting communication notification by updating the waiting communication data with the modification, andresponding to a change of state for a user by selecting, based on the waiting communication data, at least one of the waiting communication sessions that can be established because corresponding users are each in an appropriate state for participating in the selected communication session, wherein the requested communication session is established for the at least one target user via the one identified accessible device associated with the at least one target user of the communication request, andsending, subsequent to completion of the communication session, a status message to one or more of the associated devices other than the one identified accessible device, the status message indicating the completion of the communication session.
1 Assignment
0 Petitions
Accused Products
Abstract
A communications system for general business environments that exploits knowledge of user state to provide advantages of efficiency and control for individual users and for the business. The communications system also provides particular advantages in environments where users have multiple communication devices and for communications of a business with external parties. In other aspects, the communication system provides features of application flexibility and system fault-tolerance with broad applicability to communication systems. The communication system includes a controller that receives requests for establishing communications when a user is in an appropriate state to receive communications and communicates state of the user to other users. The controller receives a user request for establishing a communication when the user is not in the appropriate state for communication, receives a user request for a state change to the appropriate state to receive the communication, and initiates communication without changing state of the user.
-
Citations
21 Claims
-
1. A system for establishing communications among users, the system comprising:
-
a memory storing executable instructions including a controller; a processor coupled to the memory to execute the executable instructions, the controller executed within a call process server, the processor configured to monitor states of a plurality of users, each user associated with one or more devices, receive a communication request from a calling user for establishing a communication session between at least two users including the calling user and at least one target user, identify at least one associated devices of the at least one target user accessible for the communication session in view of preferences of the at least one target user, wherein the preferences indicate which one or more devices of the devices associated with the at least one target user can be accessed based on an identity of a caller user, sending an invitation message to the identified devices of the at least one target user for the communication session, in response to receiving an answer message for the invitation message from one of the identified devices, sending a disconnect message to the rest of the identified devices, leaving the one identified device selected for the communication session, establish the requested communication session among the at least two users when the at least two users are each in an appropriate state for participating in the communication session, including maintaining waiting communication data associated with a plurality of communication requests representing a plurality of waiting communication sessions pending to be established, transmitting a waiting communication notification with information about a modification to one of the waiting communication sessions or the waiting communication data to one of the at least two users that did not request the modification, responding to a waiting communication management request from a recipient of the waiting communication notification by updating the waiting communication data with the modification, and responding to a change of state for a user by selecting, based on the waiting communication data, at least one of the waiting communication sessions that can be established because corresponding users are each in an appropriate state for participating in the selected communication session, wherein the requested communication session is established for the at least one target user via the one identified accessible device associated with the at least one target user of the communication request, and sending, subsequent to completion of the communication session, a status message to one or more of the associated devices other than the one identified accessible device, the status message indicating the completion of the communication session. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer implemented method for establishing communications among users, the method comprising:
-
monitoring states of a plurality of users by a controller executed within a call process server, each user associated with one or more devices; receiving, at the controller, a communication request from a calling user for establishing a communication session between at least two users including the calling user and at least one target user; identifying at least one associated device of the at least one target user accessible for the communication session in view of preferences of the at least one target user, wherein the preferences indicate which one or more devices of the devices associated with the at least one target user can be accessed based on an identity of a caller user; sending an invitation message to the identified devices of the at least one target users for the communication session; in response to receiving an answer message for the invitation message from one of the identified devices, sending a disconnect message to the rest of the identified devices, leaving the one identified device selected for the communication session; establishing, by the controller, the requested communication session among the at least two users when the at least two users are each in an appropriate state for participating in the communication session, including maintaining waiting communication data associated with a plurality of communication requests representing a plurality of waiting communication sessions pending to be established, transmitting a waiting communication notification with information about a modification to one of the waiting communication sessions or the waiting communication data to one of the at least two users that did not request the modification, responding to a waiting communication management request from a recipient of the waiting communication notification by updating the waiting communication data with the modification, and responding to a change of state for a user by selecting, based on the waiting communication data, at least one of the waiting communication sessions that can be established because corresponding users are each in an appropriate state for participating in the selected communication session, wherein the requested communication session is established for the at least one target user via the one identified accessible device associated with the at least one target user of the communication request; and sending, subsequent to completion of the communication session, a status message to one or more of the associated devices other than the one identified device, the status message indicating the completion of the communication session. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory machine-readable storage medium having instructions stored therein, which when executed by a machine, cause the machine to perform a method for establishing communications among users, the method comprising:
-
monitoring states of a plurality of users, each user associated with one or more devices; receiving a communication request from a calling user for establishing a communication session between at least two users including the calling user and at least one target user; identifying at least one associated devices of the at least one target user accessible for the communication session in view of preferences of the at least one target user, wherein the preferences indicate which one or more devices of the devices associated with the at least one target user can be accessed based on an identity of a caller user; sending an invitation message to the identified devices of the at least one target users for the communication session; in response to receiving an answer message for the invitation message from one of the identified devices, sending a disconnect message to the rest of the identified devices, leaving the one identified device selected for the communication session; establishing the requested communication session among the at least two users when the at least two users are each in an appropriate state for participating in the communication session, including maintaining waiting communication data associated with a plurality of communication requests representing a plurality of waiting communication sessions pending to be established, transmitting a waiting communication notification with information about a modification to one of the waiting communication sessions or the waiting communication data to one of the at least two users that did not request the modification, responding to a waiting communication management request from a recipient of the waiting communication notification by updating the waiting communication data with the modification, and responding to a change of state for a user by selecting, based on the waiting communication data, at least one of the waiting communication sessions that can be established because corresponding users are each in an appropriate state for participating in the selected communication session, wherein the requested communication session is established for the at least one target user via the one identified accessible devices associated with the at least one target user of the communication request; and sending, subsequent to completion of the communication session, a status message to one or more of the associated devices other than the one identified device, the status message indicating the completion of the communication session. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification