Universal state-aware communications
First Claim
1. A computer-implemented method for establishing communications among users, the method comprising:
- maintaining in a database by a controller of a server, a user state for each user device, wherein each user is associated with one or more user devices, and the database is stored in a persistent storage device associated with the server;
receiving, from a first user device of a first user, a request for establishing a communication session with a second user of a plurality of users, wherein the plurality of users are agents of a call center;
determining one or more second user devices associated with the second user based on a first user identifier (ID) identifying the first user;
accessing the database to determine a user state for each of the second user devices;
placing the request for establishing a communication session in a queue as a pending request if none of the second devices has a user state satisfying a predetermined user state;
subsequently receiving a request from an administrative entity of the call center for changing a user state on a target user device of the second user, the request being made according to an administrative condition involving configuring a call evaluation object to determine a corporate priority that overrides an order of the queue based on characteristics of the requested communication session, characteristics comprising at least a media and a data context of the requested communication session, the request for changing a user state including a second user identifier (ID) identifying the second user, a device ID identifying a user device to be changed, and a requested state specifying a target user state;
accessing the database to identify a device entry corresponding to the target user device based on the user ID and device ID;
updating a user state of the device entry of the database based on the requested state extracted from the request for changing a user state;
in response to a signal indicating that the device entry has been updated, examining the user state for each of the second user devices of the second user to identifying one or more of the second devices that have a user state satisfying the predetermined user state; and
establishing a communication session with the first device of the first user and one of the identified second user devices of the second user that have the predetermined user state.
0 Assignments
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 the communication without changing state of the user.
102 Citations
24 Claims
-
1. A computer-implemented method for establishing communications among users, the method comprising:
-
maintaining in a database by a controller of a server, a user state for each user device, wherein each user is associated with one or more user devices, and the database is stored in a persistent storage device associated with the server; receiving, from a first user device of a first user, a request for establishing a communication session with a second user of a plurality of users, wherein the plurality of users are agents of a call center; determining one or more second user devices associated with the second user based on a first user identifier (ID) identifying the first user; accessing the database to determine a user state for each of the second user devices; placing the request for establishing a communication session in a queue as a pending request if none of the second devices has a user state satisfying a predetermined user state; subsequently receiving a request from an administrative entity of the call center for changing a user state on a target user device of the second user, the request being made according to an administrative condition involving configuring a call evaluation object to determine a corporate priority that overrides an order of the queue based on characteristics of the requested communication session, characteristics comprising at least a media and a data context of the requested communication session, the request for changing a user state including a second user identifier (ID) identifying the second user, a device ID identifying a user device to be changed, and a requested state specifying a target user state; accessing the database to identify a device entry corresponding to the target user device based on the user ID and device ID; updating a user state of the device entry of the database based on the requested state extracted from the request for changing a user state; in response to a signal indicating that the device entry has been updated, examining the user state for each of the second user devices of the second user to identifying one or more of the second devices that have a user state satisfying the predetermined user state; and establishing a communication session with the first device of the first user and one of the identified second user devices of the second user that have the predetermined user state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations for establishing communications among users, the operations comprising:
-
maintaining in a database by a controller of a server, a user state for each user device, wherein each user is associated with one or more user devices, and the database is stored in a persistent storage device associated with the server; receiving, from a first user device of a first user, a request for establishing a communication session with a second user of a plurality of users, wherein the plurality of users are agents of a call center; determining one or more second user devices associated with the second user based on a first user identifier (ID) identifying the first user; accessing the database to determine a user state for each of the second user devices; placing the request for establishing a communication session in a queue as a pending request if none of the second devices has a user state satisfying a predetermined user state; subsequently receiving a request from an administrative entity of the call center for changing a user state on a target user device of the second user, the request being made according to an administrative condition involving configuring a call evaluation object to determine a corporate priority that overrides an order of the queue based on characteristics of the requested communication session, characteristics comprising at least a media and a data context of the requested communication session, the request for changing a user state including a second user identifier (ID) identifying the second user, a device ID identifying a user device to be changed, and a requested state specifying a target user state; accessing the database to identify a device entry corresponding to the target user device based on the user ID and device ID; updating a user state of the device entry of the database based on the requested state extracted from the request for changing a user state; in response to a signal indicating that the device entry has been updated, examining the user state for each of the second user devices of the second user to identifying one or more of the second devices that have a user state satisfying the predetermined user state; and establishing a communication session with the first device of the first user and one of the identified second user devices of the second user that have the predetermined user state. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A data processing system for establishing communications among users, the system comprising:
-
a processor; a memory; a database maintained in the memory; and a controller executed from the memory by the processor, cause the controller to perform operations for establishing communications among users, the operations including maintaining in the database a user state for each user device, wherein each user is associated with one or more user devices, and the database is stored in a persistent storage device associated with the server, receiving, from a first user device of a first user, a request for establishing a communication session with a second user of a plurality of users, wherein the plurality of users are agents of a call center, determining one or more second user devices associated with the second user based on a first user identifier (ID) identifying the first user, accessing the database to determine a user state for each of the second user devices, placing the request for establishing a communication session in a queue as a pending request if none of the second devices has a user state satisfying a predetermined user state, subsequently receiving a request from an administrative entity of the call center for changing a user state on a target user device of the second user, the request being made according to an administrative condition involving configuring a call evaluation object to determine a corporate priority that overrides an order of the queue based on characteristics of the requested communication session, characteristics comprising at least a media and a data context of the requested communication session, the request for changing a user state including a second user identifier (ID) identifying the second user, a device ID identifying a user device to be changed, and a requested state specifying a target user state, accessing the database to identify a device entry corresponding to the target user device based on the user ID and device ID, updating a user state of the device entry of the database based on the requested state extracted from the request for changing a user state, in response to a signal indicating that the device entry has been updated, examining the user state for each of the second user devices of the second user to identifying one or more of the second devices that have a user state satisfying the predetermined user state, and establishing a communication session with the first device of the first user and one of the identified second user devices of the second user that have the predetermined user state. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification