Synchronization of communication connection state with communication user interface
First Claim
1. A method comprising:
- establishing a communication connection, the communication connection comprising;
a communication channel,a channel driver, anda communication server, whereinthe communication server is configured to communicate with a plurality of communication channels of different media types,the plurality of communication channels comprises the communication channel,the communication server is configured to communicate with the plurality of communication channels, without regard to the media type of each of the plurality of communication channels, by virtue of the communication server being configured to communicate with the plurality of communication channels via a plurality of channel drivers,the plurality of channel drivers comprises the channel driver,the plurality of channel drivers are external to the communication server,the communication server and the plurality of channel drivers are configured to communicate with one another according to a communications application program interface (API),the communications API allows communications occurring between the communication server and the plurality of channel drivers to be media-independent,the communication server is configured to establish a session between the communication server and a web browser presenting a user interface, andthe communication server is configured to control the user interface during the session by pushing information to the web browser;
creating the user interface, whereinthe user interface is configured to present work items from the plurality of communication channels to an agent;
determining that the communication connection has switched from a first state to a second state in response to an event;
establishing a persistent connection between the user interface and a web server, whereinthe persistent connection is established in response to the communication server receiving a connection request from the agent, andthe web server is coupled to the communication server;
causing the communication server to asynchronously push information to the user interface via the persistent connection, whereinthe information indicates that the communication connection has switched from the first state to the second state; and
causing the user interface to be asynchronously updated to indicate that the communication connection has switched from the first state to the second state.
0 Assignments
0 Petitions
Accused Products
Abstract
A method, system, computer system and computer program product determine that a communication connection has switched between an active state and an inactive state and cause a user interface for communicating via the connection to be updated asynchronously to correspond to the current state. For example, the user interface can indicate that the connection is active or inactive and allow or disallow initiation of communication via the connection accordingly. For example, consider a call center agent using a computer system as the user interface to the telephone channel, but the user does not click a “hang up” button when the caller hangs up the telephone. The disconnection of the telephone is determined and the user interface is asynchronously updated, thereby allowing the agent to make another call. In one embodiment, a communication server determines the change in state and causes a web browser user interface to be updated asynchronously.
-
Citations
38 Claims
-
1. A method comprising:
-
establishing a communication connection, the communication connection comprising; a communication channel, a channel driver, and a communication server, wherein the communication server is configured to communicate with a plurality of communication channels of different media types, the plurality of communication channels comprises the communication channel, the communication server is configured to communicate with the plurality of communication channels, without regard to the media type of each of the plurality of communication channels, by virtue of the communication server being configured to communicate with the plurality of communication channels via a plurality of channel drivers, the plurality of channel drivers comprises the channel driver, the plurality of channel drivers are external to the communication server, the communication server and the plurality of channel drivers are configured to communicate with one another according to a communications application program interface (API), the communications API allows communications occurring between the communication server and the plurality of channel drivers to be media-independent, the communication server is configured to establish a session between the communication server and a web browser presenting a user interface, and the communication server is configured to control the user interface during the session by pushing information to the web browser; creating the user interface, wherein the user interface is configured to present work items from the plurality of communication channels to an agent; determining that the communication connection has switched from a first state to a second state in response to an event; establishing a persistent connection between the user interface and a web server, wherein the persistent connection is established in response to the communication server receiving a connection request from the agent, and the web server is coupled to the communication server; causing the communication server to asynchronously push information to the user interface via the persistent connection, wherein the information indicates that the communication connection has switched from the first state to the second state; and causing the user interface to be asynchronously updated to indicate that the communication connection has switched from the first state to the second state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system comprising:
-
processing means for processing information, the processing means comprising establishing means for establishing a communication connection, the communication connection comprising a communication channel, a channel driver, and a communication server, wherein the communication server is configured to communicate with a plurality of communication channels of different media types, the plurality of communication channels comprises the communication channel, the communication server is configured to communicate with the plurality of communication channels, without regard to the media type of each of the plurality of communication channels, by virtue of the communication server being configured to communicate with the plurality of communication channels via a plurality of channel drivers, the plurality of channel drivers comprises the channel driver, the plurality of channel drivers are external to the communication server, the communication server and the plurality of channel drivers are configured to communicate with one another according to a communications application program interface (API), the communications API allows communications occurring between the communication server and the plurality of channel drivers to be media-independent, the communication server is configured to establish a session between the communication server and a web browser presenting a user interface, and the communication server is configured to control the user interface during the session by pushing information to the web browser, creating means for creating the user interface, wherein the user interface is configured to present work items from the plurality of communication channels to an agent, determining means for determining that the communication connection has switched from a first state to a second state in response to an event, second establishing means for establishing a persistent connection between the user interface and a web server, wherein the persistent connection is established in response to the communication server receiving a connection request from the agent, and the web server is configured to be coupled to the communication server, pushing means for causing the communication server to asynchronously push information to the user interface via the persistent connection, wherein the information indicates that the communication connection has switched from the first state to the second state, and causing means for causing the user interface to be asynchronously updated to indicate that the communication connection has switched from the first state to the second state; and memory means for storing, wherein the memory means and the processing means are coupled to one another, and the memory means is configured to store at least one of information regarding the first state and information regarding the second state. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A system comprising:
-
an establishing module configured to establish a communication connection, the communication connection comprising a communication channel, a channel driver, and a communication server, wherein the communication server is configured to communicate with a plurality of communication channels of different media types, the plurality of communication channels comprises the communication channel, the communication server is configured to communicate with the plurality of communication channels, without regard to the media type of each of the plurality of communication channels, by virtue of the communication server being configured to communicate with the plurality of communication channels via a plurality of channel drivers, the plurality of channel drivers comprises the channel driver, the plurality of channel drivers are external to the communication server, the communication server and the plurality of channel drivers are configured to communicate with one another according to a communications application program interface (API), the communications API allows communications occurring between the communication server and the plurality of channel drivers to be media-independent, the communication server is configured to establish a session between the communication server and a web browser presenting a user interface, and the communication server is configured to control the user interface during the session by pushing information to the web browser; a creating module for creating the user interface, wherein the user interface is configured to present work items from the plurality of communication channels to an agent; a determining module for determining that the communication connection has switched from a first state to a second state in response to an event; a second establishing module configured to establish a persistent connection between the user interface and a web server, wherein the persistent connection is established in response to the communication server receiving a connection request from the agent, and the web server is configured to communicate with the communication server; a pushing module configured to cause the communication server to asynchronously push information to the user interface via the persistent connection, wherein the information indicates that the communication connection has switched from the first state to the second state; a causing module configured to cause the user interface to be asynchronously updated to indicate that the communication connection has switched from the first state to the second state; a processor, wherein the processor is configured to execute at least one of the establishing module, the creating module, the determining module, the second establishing module, the pushing module, and the causing module; and a memory, wherein the memory and the processor are coupled to one another, and the memory is configured to store the at least one of the establishing module, the creating module, the determining module, the second establishing module, the pushing module, and the causing module. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. A computer program product comprising:
-
a plurality of instructions, comprising establishing instructions configured to establish that a communication connection has been established, the communication connection comprising a communication channel, a channel driver, and a communication server, wherein the communication server is configured to communicate with a plurality of communication channels of different media types, the plurality of communication channels comprises the communication channel, the communication server is configured to communicate with the plurality of communication channels, without regard to the media type of each of the plurality of communication channels, by virtue of the communication server being configured to communicate with the plurality of communication channels via a plurality of channel drivers, the plurality of channel drivers comprises the channel driver, the plurality of channel drivers are external to the communication server, the communication server and the plurality of channel drivers are configured to communicate with one another according to a communications application program interface (API), the communications API allows communications occurring between the communication server and the plurality of channel drivers to be media-independent, the communication server is configured to establish a session between the communication server and a web browser presenting a user interface, and the communication server is configured to control the user interface during the session by pushing information to the web browser, creating instructions configured to create the user interface, wherein the user interface is configured to present work items from the plurality of communication channels to an agent, determining instructions configured to determine that the communication connection has switched from a first state to a second state in response to an event, second establishing instructions configured to establish a persistent connection between the user interface and a web server, wherein the persistent connection is established in response to the communication server receiving a connection request from the agent, and the web server is configured to communicate with the communication server, pushing instructions configured to cause the communication server to asynchronously push information to the user interface via the persistent connection, wherein the information indicates that the communication connection has switched from the first state to the second state, and causing instructions configured to cause the user interface to be asynchronously updated to indicate whether the communication connection has switched from the first state to the second state; and a non-transitory computer-readable storage medium, wherein said plurality of instructions are encoded in said non-transitory computer-readable storage medium. - View Dependent Claims (27, 28, 29, 30, 31, 32)
-
-
33. A computer system comprising:
-
a processor for executing instructions; and a memory for storing the instructions, wherein the instructions comprise; determining instructions configured to determine that a first connection has switched from a first state to a second state, wherein the first connection comprises a communication channel, a channel driver and a communications server, wherein the communication server is configured to communicate with a plurality of communication channels of different media types, the plurality of communication channels comprises the communication channel, the communication server is configured to communicate with the plurality of communication channels, without regard to the media type of each of the plurality of communication channels, by virtue of the communication server being configured to communicate with the plurality of communication channels via a plurality of channel drivers, the plurality of channel drivers comprises the channel driver, the plurality of channel drivers are external to the communication server, the communication server and the plurality of channel drivers are configured to communicate with one another according to a communications application program interface (API), the communications API allows communications occurring between the communication server and the plurality of channel drivers to be media-independent, the communication server is configured to establish a session between the communication server and a web browser presenting a user interface, the communication server is configured to control the user interface during the session by pushing information to the web browser, and the switch is in response to an event, creating instructions configured to create the user interface, wherein the user interface is configured to present work items from the plurality of communication channels to an agent, establishing instructions configured to establish a persistent connection between the user interface and a web server, wherein the persistent connection is established in response to the communication server receiving a connection request from the agent, downloading instructions configured to download program instructions to the user interface from the web server, wherein the program instructions are configured to allow the display of a toolbar on the user interface, pushing instructions configured to cause the communication server to asynchronously push information to the user interface via the persistent connection, wherein the information indicates that the first connection has switched from the first state to the second state, and causing instructions configured to cause the user interface to be asynchronously updated, wherein the causing the user interface to be asynchronously updated indicates that the first connection has switched from the first state to the second state, and the causing the user interface to be asynchronously updated is performed in response to the determining, if the first connection has switched from the first state to the second state. - View Dependent Claims (34, 35, 36, 37, 38)
-
Specification