US20180213027A1 - Receiving a communication event - Google Patents
Receiving a communication event Download PDFInfo
- Publication number
- US20180213027A1 US20180213027A1 US15/885,598 US201815885598A US2018213027A1 US 20180213027 A1 US20180213027 A1 US 20180213027A1 US 201815885598 A US201815885598 A US 201815885598A US 2018213027 A1 US2018213027 A1 US 2018213027A1
- Authority
- US
- United States
- Prior art keywords
- communication
- operating mode
- filtering parameters
- user
- network node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/212—Monitoring or handling of messages using filtering or selective blocking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H04L51/12—
-
- H04L51/36—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/56—Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
Definitions
- Some communication systems allow the user of a device, such as a personal computer or mobile device, to conduct voice or video calls over a packet-based computer network such as the Internet.
- Such communication systems include voice or video over internet protocol (VoIP) systems.
- VoIP voice or video over internet protocol
- These systems are beneficial to the user as they are often of significantly lower cost than conventional fixed line or mobile cellular networks. This may particularly be the case for long-distance communication.
- VoIP voice or video over internet protocol
- the user installs and executes client software on their device.
- the client software sets up the VoIP connections as well as providing other functions such as registration and authentication.
- the client may also set up connections for other communication media such as instant messaging (“IM”), SMS messaging, file transfer and voicemail.
- IM instant messaging
- a communications network may comprise a node which can be used to facilitate communications between devices over the network.
- This node may be arranged to handle communications events that are intended to be delivered to a recipient device.
- This blanket solution is sometimes referred to as “call forwarding”. The user can turn on the call forwarding and it is applied until user turns it off.
- the recipient devices receive all communication events and the devices themselves handle the selection of communication events for display to a user associated with the recipient device. This requires the recipient devices to process the incoming data. All of these solutions apply to only a single user context.
- a communication client application is executed at a first user terminal associated with a user.
- the communication client application is arranged to operate in one of a plurality of modes, wherein each of the plurality of modes are associated with filtering parameters.
- the filtering parameters associated with each of the plurality of operating modes are stored in storage at the first user terminal.
- the communication client application detects an operating mode that the communication client application is operating in and accesses the filtering parameters associated with said operating mode from the storage.
- the communication client application transmits filtering accessed from said storage means to a node in the communications network.
- the filtering parameters define one or more types of communication event that are permitted to be received at the first user terminal from the network when the communication client application is operating in the operating mode. This enables only the one or more types of communication event to be received at the first user terminal from the network node when the communication client application is operating in the operating mode.
- the method may be used for the receipt of communication events to a user associated with a plurality of user devices, whereby the delivery of communication events from the network node to the plurality of user devices is dependent on the operating mode in which the client executed on the respective user devices is operating in.
- FIG. 1 shows a schematic illustration of a communication system
- FIG. 2 is a schematic block diagram of a user device
- FIG. 3 is a flow chart for a process of receiving communication events at a user device associated with a user
- FIG. 4 is a signalling diagram illustrating a user receiving communication events at multiple user devices associated with the user.
- the embodiments relate to client software executed on an end user device that is arranged to operate in one of a plurality of different operating modes.
- the client software dynamically communicates a filter of events to a central control node in a communication network.
- the filter of events is associated with the operating mode that the client software is operating in, and define the types of communication events that the end user device is permitted to receive when the client software is operating in the operating mode.
- FIG. 1 shows a communication system 100 comprising a first user 102 (“User A”) who is associated with a first user device 104 a and a second user device 104 b and a second user 108 (“User B”) who is associated with a third user device 110 .
- the communication system 100 may comprise any number of users and associated user devices.
- the user devices 104 and 110 can communicate over the network 106 in the communication system 100 , thereby allowing the users 102 and 108 to communicate with each other over the network 106 .
- the network 106 comprises a control node 112 which can be used to facilitate communication over the network 106 .
- the control node 112 may be a server.
- control node 112 may also be included in the network 106 but only one network node (control node 112 ) is shown in FIG. 1 for simplicity.
- the control node 112 comprises a central processing unit 118 (“CPU”) or “processing module”, to which is connected: a data store 116 for storing data i.e. memory, a first network interface 114 a and a second network interface 114 b. Whilst separate control node network interfaces are shown in FIG. 1 the first network interface 114 a and the second network interface 114 b may be of the same network interface 114 .
- the communication system 100 shown in FIG. 1 is a packet-based communication system, but other types of communication system could be used.
- the network 106 may, for example, be the Internet.
- Each of the user devices 104 and 110 may be, for example, a mobile phone, a tablet, a laptop, a personal computer (“PC”) (including, for example, WindowsTM, Mac OSTM and LinuxTM PCs), a gaming device, a television, a personal digital assistant (“PDA”) or other embedded device able to connect to the network 106 .
- the user devices 104 are arranged to receive information from and output information to the user 102 of the user devices 104 .
- the user devices 104 comprise output means such as a display and speakers.
- the user devices 104 also comprise input means such as a keypad, a touch-screen, mouse, a microphone for receiving audio signals and/or a camera for capturing images of a video signal.
- the user devices 104 are connected to the network 106 .
- the user devices can connect to the network 106 via additional intermediate networks not shown in FIG. 1 .
- the user device 104 is a mobile device, then it can connect to the network 106 via a cellular mobile network, not shown in FIG. 1 .
- the user devices 104 executes an instance of a communication client, provided by a software provider associated with the communication system 100 .
- the communication client is a software program executed on a local processor in the user device 104 .
- the client performs the processing required at the user device 104 in order for the user device 104 to transmit and receive data over the communication system 100 .
- the user device 110 corresponds to the user devices 104 and executes, on a local processor, a communication client which corresponds to the communication client executed at the user devices 104 .
- the client at the user device 110 performs the processing required to allow the user 108 to communicate over the network 106 in the same way that the client at the user device 104 performs the processing required to allow the user 102 to communicate over the network 106 .
- the user devices 104 and 110 are endpoints in the communication system 100 .
- FIG. 1 shows only two users ( 102 and 108 ) for clarity, but many more users and user devices may be included in the communication system 100 , and may communicate over the communication system 100 using respective communication clients executed on the respective user devices. Whilst FIG. 1 shows two user devices ( 104 a and 104 b ) associated with user 102 , the user 102 may be associated with a single device or may be associated with more than two devices.
- FIG. 2 illustrates a detailed view of the user device 104 on which is executed a communication client instance 206 for communicating over the communication system 100 .
- the user device 104 comprises a central processing unit (“CPU”) or “processing module” 202 , to which is connected: output devices such as a display 208 , which may be implemented as a touch-screen, and a speaker (or “loudspeaker”) 210 for outputting audio signals; input devices such as a microphone 212 for receiving audio signals, a camera 216 for receiving image data, and a keypad 218 ; a memory 214 for storing data; and a network interface 220 such as a modem for communication with the network 106 .
- the user device 104 may comprise other elements than those shown in FIG. 2 .
- the display 208 , speaker 210 , microphone 212 , memory 214 , camera 216 , keypad 218 and network interface 220 may be integrated into the user device 104 as shown in FIG. 2 .
- one or more of the display 208 , speaker 210 , microphone 212 , memory 214 , camera 216 , keypad 218 and network interface 220 may not be integrated into the user device 104 and may be connected to the CPU 202 via respective interfaces.
- One example of such an interface is a USB interface.
- the connection of the user device 104 to the network 106 via the network interface 220 is a wireless connection then the network interface 220 may include an antenna for wirelessly transmitting signals to the network 106 and wirelessly receiving signals from the network 106 .
- FIG. 2 also illustrates an operating system (“OS”) 204 executed on the CPU 202 .
- OS operating system
- Running on top of the OS 204 is the software of the client instance 206 of the communication system 100 .
- the operating system 204 manages the hardware resources of the computer and handles data being transmitted to and from the network 106 via the network interface 220 .
- the client 206 communicates with the operating system 204 and manages the connections over the communication system.
- the client 206 has a client user interface which is used to present information to the user 102 and to receive information from the user 104 . In this way, the client 206 performs the processing required to allow the user 102 to communicate over the communication system 100 .
- FIG. 3 is a flow chart for a process 300 of delivering communication events to a user A 102 associated with a single user device (user device 104 a ) in dependence on the mode in which the client 206 (executed on user device 104 a ) is operating in.
- the client 206 is arranged to operate in one of a plurality of operating modes.
- Each of the plurality of modes are associated with a respective set of filtering parameters.
- the filtering parameters associated with each operating mode may be stored in memory 214 . These filtering parameters define the types of communication events that are to be received at the user device 104 a from the network 106 when the client 206 is operating in the respective mode.
- the process 300 starts at step S 302 whereby the client 206 is operating in a first operating mode.
- the client 206 may be arranged to operate in a “foreground active” operating mode wherein the client 206 is running and the client 206 is arranged to display a client user interface on the display 208 .
- the client 206 may also be arranged to operate in a “background” operating mode wherein the client 206 is running but the client 206 is arranged not to display a client user interface on the display 208 (i.e. the client is running in the background).
- the “foreground active” operating mode is associated with filtering parameters that define the types of communication events that are permitted to be received at the user device 104 a when the client 206 executed on user device 104 a is operating in the “foreground active” mode.
- the “foreground active” operating mode may be associated with filtering parameters that define that all types of communication events are permitted to be received whilst the client 206 executed on user device 104 a is operating in the “foreground active” mode.
- the “background” operating mode is associated with filtering parameters that define the types of communication events that are permitted to be received at the user device 104 a whilst the client 206 executed on the user device 104 a is operating in the “background” mode.
- the “background” operating mode may be associated with filtering parameters that define that only call related communication events i.e. a voice call, a video call, or a multi-user voice or video call) are permitted to be received at the user device 104 a whilst the client 206 executed on user device 104 a is operating in the “background” mode.
- the filtering parameters associated with each operating mode are selected by the software provider providing the client 206 .
- the filtering parameters that are associated with each mode that the client 206 may operate in are preconfigured in the client 206 by the software provider.
- the types of communication event that are permitted to be received at the user device 104 a when the client 206 is in these respective modes is selected by the software provider providing the client 206 .
- the types of communication events that may be permitted in a particular operating mode include one or more of a voice call, a video call, a multi-user voice or video call, an IM chat, a multi-user IM chat (e.g. for software development), a file transfer, a presence notification or another packet based communication.
- step S 304 the client 206 detects the operating mode (first operating mode) that it is currently operating in and accesses the filtering parameters associated with this operating mode from memory 214 .
- the client 206 transmits the filtering parameters associated with the first operating mode to the control node 112 in the communications network 106 via the network interface 220 .
- the control node 112 is arranged to receive the filtering parameters from the user device 104 a at the network interface 114 a.
- the control node 112 is arranged to store the filtering parameters associated with the first operating mode that it receives from the user device 104 a in the data store 116 . Any filtering parameters previously received from the user device 104 a and stored in the data store 116 are removed from the data store 116 .
- the control node 112 is also arranged to receive communication events from users of the communication system 100 at the network interface 114 b that are to be sent to user device 104 a. For simplicity FIG.
- the control node 112 is arranged to filter communication events directed to user 102 that are received at the network interface 114 b from users of the communication system 100 . That is, the control node 112 makes decisions on what communication events are to be actively communicated to the user device 104 a, and which communication events are to be handled by itself based on the filtering parameters it receives from the user device 104 a.
- a communication event directed to user 102 may be received at the control node 112 at the network interface 114 b. If such a communication event is received at the control node 112 whilst the user device 104 a is operating in the first operating mode the CPU 118 operates to compare the incoming communication event to the filtering parameters associated with the first operating mode held in the data store 116 of the control node 112 .
- the CPU 118 determines that the incoming communication event is a type of communication which is permitted to be received at the user device 104 a whilst the client 206 is in the first mode (determined based on the filtering parameters), the CPU 118 transmits the communication event received from user device 110 to user device 104 a.
- CPU 118 determines that the incoming communication event is not a type of communication which is to be received at user device 104 a whilst the user device 104 a is in the first mode, the CPU 118 does not transmit the communication event to the user device 104 a.
- the user device 104 a only receives communication events from the control node 112 that are associated with the first operating mode. How the control node 112 may handle incoming communication events that do not pass through the filtering implemented at the control node 112 is described in more detail below.
- step S 306 whilst operating in the first mode, the client 206 detects that it should change operating mode i.e. to change from operating in the first mode to operate in a second mode.
- the client 206 may detect that it should change operating mode in a number of ways.
- the client 206 may detect a user input via input means on the user device 104 a and change operating anode in response to this detection. For example, the client 206 may detect a user input via input means on the device 104 a which turns off the display i.e. an input which places the device 104 a in a state in which no data is output to the display 208 such that the display 208 is blank, and change from the “foreground active” operating mode (first mode) to the “background” operating mode (second mode).
- the client 206 may detect a user input via input means on the device 104 a which causes the client user interface to be displayed on the display 208 (wherein the client user interface was not displayed on the display 208 prior to the user input) and change from the “background” operating mode (first mode) to the “foreground active” operating mode (second mode).
- the client 206 may executes a timer, and the change of operating mode may be responsive to the client 206 detecting that no user input is received via input means of the device 104 a in a predetermined time period. That is, the change of operating mode may occurs when the timer runs down from a certain time value to zero (count down timer) or reaches a certain threshold time (count up timer) from zero.
- the client 206 is arranged to reset the timer every time the client 206 detects user input via input means on the device 104 a.
- the client 206 may not change operating mode in response to detecting a user input. Instead, the client 206 may detect that the user device 104 a is in a power saving mode and change mode in response to detecting that the user device 104 a is in a power saving mode. For example, the OS 204 on which the client 206 is executed may activate a screensaver to be displayed on the display 208 after a period of time of inactivity in which no user input is received via input means on the device 104 a. The client 206 may detect that the user device 104 a is in a power saving mode (i.e. a screensaver is being displayed on the display 208 ) and change from the “foreground active” operating mode (first mode) to the “background” operating mode (second mode).
- a power saving mode i.e. a screensaver is being displayed on the display 208
- the client 206 In response to the client 206 detecting that the client 206 should change operating mode, the client 206 changes mode i.e. changes from operating in the first mode to operate in a second mode. In response to the client 206 changing operating mode, the client 206 is arranged to access the filtering parameters associated with this new operating mode (second mode) from memory 214 and transmit the filtering parameters associated with the new operating mode to the control node 112 .
- the filtering parameters associated with each operating mode are selected by the software provider providing the client 206 and stored in memory 214 thus the client 206 can access the filtering parameters that are associated with each mode it may operate in. Therefore when the client 206 changes from operating in the first mode to operate in a second mode, the client 206 can access the filtering parameters that are associated with the second operating mode.
- step S 308 the client 206 transmits the filtering parameters associated with the second operating mode to the control node 112 in the communications network 106 via the network interface 220 .
- the control node 112 is arranged to store the filtering parameters associated with the second operating mode that it receives from the user device 104 a in the data store 116 .
- the filtering parameters associated with the first operating mode previously received from the user device 104 a and stored in the data store 116 are removed from the data store 116 .
- a communication event directed to user 102 may be received at the control node 112 at the network interface 114 b. If such a communication event is received at the control node 112 whilst the user device 104 a is operating in the second operating mode the CPU 118 operates to compare the incoming communication event to the filtering parameters associated with the second operating mode held in the data store 116 at the control node 112 .
- the CPU 118 determines that the incoming communication event is a type of communication which is permitted to be received at the user device 104 a whilst the client 206 is in the second operating mode (determined based on the filtering parameters), the CPU 118 transmits the communication event received from user device 110 to user device 104 a.
- the CPU 118 determines that the incoming communication event is not a type of communication which is to be received at user device 104 a whilst the user device 104 a is in the second operating mode, the CPU 118 does not transmit the communication event to the user device 104 a.
- the user device 104 a only receives communication events from the control node 112 that are associated with the second operating mode.
- the client 206 may transmit information to the control node 112 indicating how the control node 112 is to handle incoming communication events that do not pass through the filtering implemented at the control node 112 .
- the client 206 may specify how the control node 112 should handle incoming communication events that do not pass through the filtering implemented at the control node 112 when the client 206 is in a particular operating mode. This information may be supplied when the client 206 supplies the filtering parameters associated with the particular operating mode to the control node 112 (for example in steps S 304 and S 308 shown in FIG. 3 ) and held in data store 116 .
- control node 112 handles incoming communication events that do not pass through the filtering implemented at the control node 112 is now described.
- the information transmitted to the control node 112 on how to handle incoming communication events that are not permitted to be received by the user device 104 a when the communication client application is operating in a particular operating mode may indicate that the control node 112 is to ignore these communication events. That is, if the CPU 118 determines that the incoming communication event is not a type of communication which is to be received at user device 104 a whilst the user device 104 a is in a specific operating mode, the control node 112 may simply ignore the communication event received from user device 110 destined to user device 104 a. In this case, the control node 112 does not store any information pertaining to the communication event received from user 110 and user 102 is not notified of the attempted communication by user 108 .
- the information transmitted to the control node 112 on how to handle incoming communication events that are not permitted to be received by the user device 104 a when the communication client application is operating in a particular operating mode may indicate that the control node 112 is to transmit a response to the user device (i.e. user device 110 ) which transmitted the communication event.
- the control node 112 may answer on behalf of the user device 104 a by the CPU 118 transmitting a response to the user device 110 .
- This response may indicate to the user device which transmitted the communication event that the type of communication event it transmitted is not permitted to be received at the user device 104 a whilst the client 206 executed on user device 104 a is in its current operating mode and/or which types of communication events that the user device 104 a is permitted to receive whilst the client 206 is in its current operating mode.
- the control node 112 may update user B 108 by playing an audible message to user B 108 (output from the speakers of the user device 110 ) explaining that user A 102 is advocated into client 206 and is available for incoming IM messages only on user device 104 a.
- the control node 112 may be capable of storing incoming communication events, for example IM messages and data files to be transferred to the user device 104 a.
- the information transmitted to the control node 112 on how to handle incoming communication events that are not permitted to be received by the user device 104 a when the communication client application is operating in a particular operating mode may indicate that control node 112 is store these communication events for future delivery to the user device 104 a. That is, the control node 112 may store the incoming communication events in data store 116 (i.e. the same store which is arranged to hold filtering parameters) or in a separate data store.
- the CPU 118 may store the incoming communication event.
- the control node 112 will wait until it receives an indication from client 206 (by way of receiving filtering parameters) that the client 206 is in an operating mode that allows the stored incoming communication event to be received at user device 104 a, before delivering the stored communication event (i.e. IM message or data file) to the user device 104 a. Once the control node 112 has delivered the communication event it may remove the communication event from storage.
- the control node 112 may also be capable of storing information relating to an incoming communication event, for example information relating to an attempted voice or video call i.e. name of caller and time of call.
- the information transmitted to the control node 112 on how to handle incoming communication events that are not permitted to be received by the user device 104 a when the communication client application is operating in a particular operating mode may indicate that control node 112 is store information relating to these incoming communication events for future delivery to the user device 104 a. That is, the control node 112 may store information relating to an incoming communication event in data store 116 (i.e. the same store which is arranged to hold filtering parameters) or in a separate data store.
- the control node 112 may store the information relating to the incoming communication event.
- the control node 112 will wait until it receives an indication from client 206 (by way of receiving filtering parameters) that the client 206 is in an operating mode that allows the attempted incoming communication event to be received at user device 104 a before delivering the information relating to the attempted incoming communication event to the user device 104 a.
- the control node 112 may remove the information from storage.
- embodiments above have been described with reference to delivering communication events to a user associated with a single device (user device 104 a ) in dependence on the mode in which the client 206 executed on the single device is operating in, embodiments may extend to a single user being connected to the communication service from multiple endpoints and having different end user modality functionality for these endpoints.
- FIG. 4 is a signalling diagram 400 illustrating delivery of communication events to a user 102 associated with a plurality of user devices.
- FIG. 4 illustrates the delivery of communication events to the plurality of user devices in dependence on the mode in which the client executed on the respective user devices is operating in.
- a user 102 may be associated with multiple user devices, these are shown in FIG. 1 as user device 104 a and 104 b.
- the user 102 may be associated with a mobile telephone 104 a and a desktop computer 104 b. Whilst embodiments are described with reference to user A 102 being associated with two devices for simplicity. It will be appreciated that the user 102 may be associated with more than two devices.
- each of the user devices 104 a and 104 b execute client software on the device. In the description below the client executed on user device 104 a is referred to as client 206 and the client executed on user device 104 b is referred to as client 206 ′.
- Mobile telephone 104 a is arranged to function in accordance with the process 300 shown in FIG. 3 .
- the client 206 transmits the filtering parameters associated with that operating mode to the control node 112 as shown by signal 402 to register the filtering parameters at the control node 112 for mobile telephone 104 a.
- the signal 402 may comprise filtering parameters associated with a “background” mode that the client 206 is operating in.
- these filtering parameters may indicate, for example, that the mobile telephone 104 a is permitted to receive only call related communication events (i.e. a voice call, a video call, or a multi-user voice or video call) and thus IM messages should not be received when the client user interface of the client 206 is not displayed on the display of the mobile telephone 104 a.
- the control node 112 is arranged to store the filtering parameters that it receives from the mobile telephone 104 a in the data store 116 . Any filtering parameters previously received from the mobile telephone 104 a and stored in the data store 116 are removed from the data store 116 .
- the client 206 may also transmit information to the control node 112 indicating how the control node 112 is to handle communication events which are not permitted to be received by the mobile telephone 104 a when the client 206 is operating in the particular operating mode.
- Desktop computer 104 b is also arranged to function in accordance with the process 300 shown in FIG. 3 .
- the client 206 ′ transmits the filtering parameters associated with that operating mode to the control node 112 as shown by signal 404 to register the filtering parameters at the control node 112 for desktop computer 104 b.
- the signal 404 may comprise filtering parameters associated with a “foreground active” mode that the client 206 ′ is operating in.
- these filtering parameters may indicate, for example, that the desktop computer 104 b is permitted to receive all types of communication events.
- the control node 112 is arranged to store the filtering parameters that it receives from the desktop computer 104 b in the data store 116 . Any filtering parameters previously received from the desktop computer 104 b and stored in the data store 116 are removed from the data store 116 .
- the client 206 ′ may also transmit information to the control node 112 indicating how the control node 112 is to handle communication events which are not permitted to be received by the desktop computer 104 b when the client 206 ′ is operating in the particular operating mode.
- the data store 116 in the control node 112 may store the same or different filtering parameters for use in delivering communication events to different user devices, whereby the different user devices are associated the same user.
- the user device 110 executes client software on the device.
- User 108 is able to use the client software executed on user device 110 to transmit a communication event to user 102 as shown by signal 406 .
- the communication event sent in signal 406 is an IM message.
- the IM message transmitted by the user device 110 is received at the network interface 114 b of the control node 112 .
- the CPU 118 operates to compare the IM message to the filtering parameters for mobile telephone 104 a held at the control node 112 in data store 116 .
- This comparison carried out in the control node 112 is shown as internal signalling 408 .
- the filtering parameters held for mobile telephone 104 a indicate that only call related communication events are permitted to be received at the mobile telephone 104 a (i.e. IM messages are not to be sent to the mobile telephone 104 a ) the IM message does not pass through the filtering implemented at the control node 112 and thus the control node 112 does not deliver the IM message to the mobile telephone 104 a.
- the control node 112 may store the IM message for future delivery to the mobile telephone 104 a.
- the CPU 118 In response to receiving the IM message from user device 110 , the CPU 118 also operates to compare the IM message to the filtering parameters for desktop computer 104 b held at the control node 112 in data store 116 . This comparison carried out in the control node 112 is shown as internal signalling 410 . As shown in FIG. 4 , because the filtering parameters held for desktop computer 104 b indicate that all types of communication events are permitted to be received at the desktop computer 104 b (including IM messages), the IM message passes through the filtering implemented at the control node 112 and thus the control node 112 delivers the IM message to the desktop computer 104 b as shown by signal 412 .
- FIG. 4 shows the client 206 executed on mobile telephone 104 a transmitting a new set of filtering parameters in signal 414 to the control node 112 to register the new filtering parameters at the control node 112 for mobile telephone 104 a.
- This transmission is responsive to the client 206 changing operating mode and the new set of filtering parameters is associated with the new operating mode.
- the client 206 may switch from the “background” mode to the “foreground active” mode and transmit filtering parameters in signal 414 associated with the “foreground active” mode to the control node 112 .
- these filtering parameters indicate that the mobile telephone 104 a should receive all types of communication events whilst in the “foreground active” mode.
- the control node 112 is arranged to store the new filtering parameters associated with the new operating mode of client 206 that it received from the mobile telephone 104 a in signal 414 in data store 116 .
- the filtering parameters associated with the previous operating mode of the client 206 that it received from the mobile telephone 104 a in signal 402 are removed from the data store 116 .
- the user 108 uses the user device 110 to transmit a further communication event to user 102 in signal 416 .
- the communication event sent in step S 416 is a further message.
- the further IM message transmitted by the user device 110 is received at the network interface 114 b of the control node 112 .
- the CPU 118 operates to compare the IM message to the filtering parameters for mobile telephone 104 a held at the control node 112 in data store 116 .
- These filtering parameters are the parameters received by the control node in signal 414 .
- This comparison carried out in the control node 112 is shown as internal signalling 418 .
- the filtering parameters held for mobile telephone 104 a now indicate that all types of communication events are permitted to be received at the mobile telephone 104 a (including IM messages)
- the further IM message passes through the filtering implemented at the control node 112 and thus the control node 112 delivers the further IM message to the mobile telephone 104 a as shown by signal 420 .
- the CPU 118 In response to receiving the further IM message from user device 110 , the CPU 118 also operates to compare the further IM message to the filtering parameters for desktop computer 104 b held at the control node 112 . These filtering parameters are the parameters received by the control node in signal 404 because the client 206 ′ has not changed operating mode. This comparison carried out in the control node 112 is shown as internal signalling 422 . As shown in FIG.
- the filtering parameters held for desktop computer 104 b indicate that all types of communication events are permitted to be received at the desktop computer 104 b (including IM messages)
- the further IM message passes through the filtering implemented at the control node 112 and thus the control node 112 delivers the further IM message to the desktop computer 104 b as shown by signal 424 .
- Embodiments can allow only communication events to be delivered to a user device that are appropriate given the operating mode of the client software executed on the user device.
- embodiments allow communications for the user to be delivered to an appropriate user device given the operating mode of the client software executed on the respective user devices. If a user is active on more than one endpoint, embodiments allow delivery of different communication events to different endpoints.
- Embodiments avoid a node in the communication network transmitting communication events to a user device when the client software executed on the user device is not operating in an appropriate mode to inform the user of the received communication event.
- Embodiments can allow only communication events to be handled centrally in a node of a communication network. Thus user devices do not have to incur the computational expense of processing incoming communications and handling the selection of particular communication events for output to a user.
- filtering parameters that the control node 112 receives from the mobile telephone 104 a and desktop computer 104 b are stored in portions of the same data store 116 it will be appreciated that filtering parameters that the control node 112 receives from different devices may be stored in separate data stores.
- the methods described herein may be implemented by executing a computer program product (e.g. the client 206 ) at a user device 104 . That is, a computer program product may be configured to control the receipt of communication events from a communication network, wherein the computer program product is embodied on a computer-readable storage medium (e.g. stored in the memory 214 ) and configured so as when executed on the CPU 202 to perform the operations of any of the methods described herein.
- a computer program product may be configured to control the receipt of communication events from a communication network, wherein the computer program product is embodied on a computer-readable storage medium (e.g. stored in the memory 214 ) and configured so as when executed on the CPU 202 to perform the operations of any of the methods described herein.
- any of the functions described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), or a combination of these implementations.
- the modules and steps shown separately in FIGS. 2 and 3 may or may not be implemented as separate modules or steps.
- the terms “module,” “functionality,” “component” and “logic” as used herein generally represent software, firmware, hardware, or a combination thereof.
- the module, functionality, or logic represents program code that performs specified tasks when executed on a processor (e.g. CPU or CPUs).
- the program code can be stored in one or more computer readable memory devices.
- the user devices may also include an entity (e.g. software) that causes hardware of the user devices to perform operations, e.g., processors functional blocks, and so on.
- the user devices may include a computer-readable medium that may be configured to maintain instructions that cause the user devices, and more particularly the operating system and associated hardware of the user devices to perform operations.
- the instructions function to configure the operating system and associated hardware to perform the operations and in this way result in transformation of the operating system and associated hardware to perform functions.
- the instructions may be provided by the computer-readable medium to the user devices through a variety of different configurations.
- One such configuration of a computer-readable medium is signal bearing medium and thus is configured to transmit the instructions (e.g. as a carrier wave) to the computing device, such as via a network.
- the computer-readable medium may also be configured as a computer-readable storage medium and thus is not a signal bearing medium. Examples of a computer-readable storage medium include a random-access memory (RAM), read-only memory (ROM), an optical disc, flash memory, hard disk memory, and other memory devices that may us magnetic, optical, and other techniques to store instructions and other data.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
- This application is a continuation application of Ser. No. 13/924,415, filed on Jun. 21, 2013, which application claims priority under 35 USC 119 or 365 to Great Britain Application No. 1305710.4 filed Mar. 28, 2013, the disclosures of which are incorporated herein in their entireties.
- Some communication systems allow the user of a device, such as a personal computer or mobile device, to conduct voice or video calls over a packet-based computer network such as the Internet. Such communication systems include voice or video over internet protocol (VoIP) systems. These systems are beneficial to the user as they are often of significantly lower cost than conventional fixed line or mobile cellular networks. This may particularly be the case for long-distance communication. To use a VoIP system, the user installs and executes client software on their device. The client software sets up the VoIP connections as well as providing other functions such as registration and authentication. In addition to voice communication, the client may also set up connections for other communication media such as instant messaging (“IM”), SMS messaging, file transfer and voicemail.
- A communications network may comprise a node which can be used to facilitate communications between devices over the network. This node may be arranged to handle communications events that are intended to be delivered to a recipient device. On some networks it is possible for a user to preselect how the node in the communication network directs all communication events for a user to a particular device. This blanket solution is sometimes referred to as “call forwarding”. The user can turn on the call forwarding and it is applied until user turns it off. In other systems, the recipient devices receive all communication events and the devices themselves handle the selection of communication events for display to a user associated with the recipient device. This requires the recipient devices to process the incoming data. All of these solutions apply to only a single user context.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
- There is provided a method of receiving communication events over a communications network. A communication client application is executed at a first user terminal associated with a user. The communication client application is arranged to operate in one of a plurality of modes, wherein each of the plurality of modes are associated with filtering parameters. The filtering parameters associated with each of the plurality of operating modes are stored in storage at the first user terminal. The communication client application detects an operating mode that the communication client application is operating in and accesses the filtering parameters associated with said operating mode from the storage. The communication client application transmits filtering accessed from said storage means to a node in the communications network. The filtering parameters define one or more types of communication event that are permitted to be received at the first user terminal from the network when the communication client application is operating in the operating mode. This enables only the one or more types of communication event to be received at the first user terminal from the network node when the communication client application is operating in the operating mode.
- The method may be used for the receipt of communication events to a user associated with a plurality of user devices, whereby the delivery of communication events from the network node to the plurality of user devices is dependent on the operating mode in which the client executed on the respective user devices is operating in.
- For a better understanding of the described embodiments and to show how the same may be put into effect, reference will now be made, by way of example, to the following drawings in which:
-
FIG. 1 shows a schematic illustration of a communication system; -
FIG. 2 is a schematic block diagram of a user device; -
FIG. 3 is a flow chart for a process of receiving communication events at a user device associated with a user; -
FIG. 4 is a signalling diagram illustrating a user receiving communication events at multiple user devices associated with the user. - The embodiments relate to client software executed on an end user device that is arranged to operate in one of a plurality of different operating modes. The client software dynamically communicates a filter of events to a central control node in a communication network. The filter of events is associated with the operating mode that the client software is operating in, and define the types of communication events that the end user device is permitted to receive when the client software is operating in the operating mode.
- Embodiments will now be described by way of example only.
-
FIG. 1 shows acommunication system 100 comprising a first user 102 (“User A”) who is associated with afirst user device 104 a and a second user device 104 b and a second user 108 (“User B”) who is associated with athird user device 110. In other embodiments thecommunication system 100 may comprise any number of users and associated user devices. Theuser devices network 106 in thecommunication system 100, thereby allowing theusers network 106. Thenetwork 106 comprises acontrol node 112 which can be used to facilitate communication over thenetwork 106. Thecontrol node 112 may be a server. Other network nodes may also be included in thenetwork 106 but only one network node (control node 112) is shown inFIG. 1 for simplicity. Thecontrol node 112 comprises a central processing unit 118 (“CPU”) or “processing module”, to which is connected: adata store 116 for storing data i.e. memory, a first network interface 114 a and asecond network interface 114 b. Whilst separate control node network interfaces are shown inFIG. 1 the first network interface 114 a and thesecond network interface 114 b may be of the same network interface 114. - The
communication system 100 shown inFIG. 1 is a packet-based communication system, but other types of communication system could be used. Thenetwork 106 may, for example, be the Internet. Each of theuser devices network 106. Theuser devices 104 are arranged to receive information from and output information to theuser 102 of theuser devices 104. Theuser devices 104 comprise output means such as a display and speakers. Theuser devices 104 also comprise input means such as a keypad, a touch-screen, mouse, a microphone for receiving audio signals and/or a camera for capturing images of a video signal. Theuser devices 104 are connected to thenetwork 106. - Note that in alternative embodiments, the user devices can connect to the
network 106 via additional intermediate networks not shown inFIG. 1 . For example, if theuser device 104 is a mobile device, then it can connect to thenetwork 106 via a cellular mobile network, not shown inFIG. 1 . - The
user devices 104 executes an instance of a communication client, provided by a software provider associated with thecommunication system 100. The communication client is a software program executed on a local processor in theuser device 104. The client performs the processing required at theuser device 104 in order for theuser device 104 to transmit and receive data over thecommunication system 100. - The
user device 110 corresponds to theuser devices 104 and executes, on a local processor, a communication client which corresponds to the communication client executed at theuser devices 104. The client at theuser device 110 performs the processing required to allow theuser 108 to communicate over thenetwork 106 in the same way that the client at theuser device 104 performs the processing required to allow theuser 102 to communicate over thenetwork 106. Theuser devices communication system 100. -
FIG. 1 shows only two users (102 and 108) for clarity, but many more users and user devices may be included in thecommunication system 100, and may communicate over thecommunication system 100 using respective communication clients executed on the respective user devices. WhilstFIG. 1 shows two user devices (104 a and 104 b) associated withuser 102, theuser 102 may be associated with a single device or may be associated with more than two devices. -
FIG. 2 illustrates a detailed view of theuser device 104 on which is executed acommunication client instance 206 for communicating over thecommunication system 100. Theuser device 104 comprises a central processing unit (“CPU”) or “processing module” 202, to which is connected: output devices such as adisplay 208, which may be implemented as a touch-screen, and a speaker (or “loudspeaker”) 210 for outputting audio signals; input devices such as amicrophone 212 for receiving audio signals, acamera 216 for receiving image data, and akeypad 218; amemory 214 for storing data; and anetwork interface 220 such as a modem for communication with thenetwork 106. Theuser device 104 may comprise other elements than those shown inFIG. 2 . Thedisplay 208,speaker 210,microphone 212,memory 214,camera 216,keypad 218 andnetwork interface 220 may be integrated into theuser device 104 as shown inFIG. 2 . In alternative user devices one or more of thedisplay 208,speaker 210,microphone 212,memory 214,camera 216,keypad 218 andnetwork interface 220 may not be integrated into theuser device 104 and may be connected to theCPU 202 via respective interfaces. One example of such an interface is a USB interface. If the connection of theuser device 104 to thenetwork 106 via thenetwork interface 220 is a wireless connection then thenetwork interface 220 may include an antenna for wirelessly transmitting signals to thenetwork 106 and wirelessly receiving signals from thenetwork 106. -
FIG. 2 also illustrates an operating system (“OS”) 204 executed on theCPU 202. Running on top of theOS 204 is the software of theclient instance 206 of thecommunication system 100. Theoperating system 204 manages the hardware resources of the computer and handles data being transmitted to and from thenetwork 106 via thenetwork interface 220. Theclient 206 communicates with theoperating system 204 and manages the connections over the communication system. Theclient 206 has a client user interface which is used to present information to theuser 102 and to receive information from theuser 104. In this way, theclient 206 performs the processing required to allow theuser 102 to communicate over thecommunication system 100. - With reference to
FIGS. 3 and 4 there is now described a method of delivering communication events to a user over a network. -
FIG. 3 is a flow chart for aprocess 300 of delivering communication events to auser A 102 associated with a single user device (user device 104 a) in dependence on the mode in which the client 206 (executed onuser device 104 a) is operating in. - In embodiments, the
client 206 is arranged to operate in one of a plurality of operating modes. Each of the plurality of modes are associated with a respective set of filtering parameters. The filtering parameters associated with each operating mode may be stored inmemory 214. These filtering parameters define the types of communication events that are to be received at theuser device 104 a from thenetwork 106 when theclient 206 is operating in the respective mode. - The
process 300 starts at step S302 whereby theclient 206 is operating in a first operating mode. - For example, the
client 206 may be arranged to operate in a “foreground active” operating mode wherein theclient 206 is running and theclient 206 is arranged to display a client user interface on thedisplay 208. Theclient 206 may also be arranged to operate in a “background” operating mode wherein theclient 206 is running but theclient 206 is arranged not to display a client user interface on the display 208 (i.e. the client is running in the background). - The “foreground active” operating mode is associated with filtering parameters that define the types of communication events that are permitted to be received at the
user device 104 a when theclient 206 executed onuser device 104 a is operating in the “foreground active” mode. The “foreground active” operating mode may be associated with filtering parameters that define that all types of communication events are permitted to be received whilst theclient 206 executed onuser device 104 a is operating in the “foreground active” mode. - Similarly, the “background” operating mode is associated with filtering parameters that define the types of communication events that are permitted to be received at the
user device 104 a whilst theclient 206 executed on theuser device 104 a is operating in the “background” mode. The “background” operating mode may be associated with filtering parameters that define that only call related communication events i.e. a voice call, a video call, or a multi-user voice or video call) are permitted to be received at theuser device 104 a whilst theclient 206 executed onuser device 104 a is operating in the “background” mode. - The filtering parameters associated with each operating mode are selected by the software provider providing the
client 206. In particular, the filtering parameters that are associated with each mode that theclient 206 may operate in are preconfigured in theclient 206 by the software provider. Thus, the types of communication event that are permitted to be received at theuser device 104 a when theclient 206 is in these respective modes is selected by the software provider providing theclient 206. The types of communication events that may be permitted in a particular operating mode include one or more of a voice call, a video call, a multi-user voice or video call, an IM chat, a multi-user IM chat (e.g. for software development), a file transfer, a presence notification or another packet based communication. - In step S304, the
client 206 detects the operating mode (first operating mode) that it is currently operating in and accesses the filtering parameters associated with this operating mode frommemory 214. Theclient 206 transmits the filtering parameters associated with the first operating mode to thecontrol node 112 in thecommunications network 106 via thenetwork interface 220. - The
control node 112 is arranged to receive the filtering parameters from theuser device 104 a at the network interface 114 a. Thecontrol node 112 is arranged to store the filtering parameters associated with the first operating mode that it receives from theuser device 104 a in thedata store 116. Any filtering parameters previously received from theuser device 104 a and stored in thedata store 116 are removed from thedata store 116. Thecontrol node 112 is also arranged to receive communication events from users of thecommunication system 100 at thenetwork interface 114 b that are to be sent touser device 104 a. For simplicityFIG. 1 shows a single user device (user device 110) that may transmit communication events touser device 104 a, however it will be appreciated that the communication system will typically have many different user devices that may transmit communication events touser device 104 a. Thecontrol node 112 is arranged to filter communication events directed touser 102 that are received at thenetwork interface 114 b from users of thecommunication system 100. That is, thecontrol node 112 makes decisions on what communication events are to be actively communicated to theuser device 104 a, and which communication events are to be handled by itself based on the filtering parameters it receives from theuser device 104 a. - Whilst the
user device 104 a is operating in the first operating mode, a communication event directed touser 102 may be received at thecontrol node 112 at thenetwork interface 114 b. If such a communication event is received at thecontrol node 112 whilst theuser device 104 a is operating in the first operating mode the CPU 118 operates to compare the incoming communication event to the filtering parameters associated with the first operating mode held in thedata store 116 of thecontrol node 112. If the CPU 118 determines that the incoming communication event is a type of communication which is permitted to be received at theuser device 104 a whilst theclient 206 is in the first mode (determined based on the filtering parameters), the CPU 118 transmits the communication event received fromuser device 110 touser device 104 a. - If CPU 118 determines that the incoming communication event is not a type of communication which is to be received at
user device 104 a whilst theuser device 104 a is in the first mode, the CPU 118 does not transmit the communication event to theuser device 104 a. Thus, when theclient 206 is in the first operating mode, theuser device 104 a only receives communication events from thecontrol node 112 that are associated with the first operating mode. How thecontrol node 112 may handle incoming communication events that do not pass through the filtering implemented at thecontrol node 112 is described in more detail below. - In step S306, whilst operating in the first mode, the
client 206 detects that it should change operating mode i.e. to change from operating in the first mode to operate in a second mode. Theclient 206 may detect that it should change operating mode in a number of ways. - The
client 206 may detect a user input via input means on theuser device 104 a and change operating anode in response to this detection. For example, theclient 206 may detect a user input via input means on thedevice 104 a which turns off the display i.e. an input which places thedevice 104 a in a state in which no data is output to thedisplay 208 such that thedisplay 208 is blank, and change from the “foreground active” operating mode (first mode) to the “background” operating mode (second mode). In another example, theclient 206 may detect a user input via input means on thedevice 104 a which causes the client user interface to be displayed on the display 208 (wherein the client user interface was not displayed on thedisplay 208 prior to the user input) and change from the “background” operating mode (first mode) to the “foreground active” operating mode (second mode). - Alternatively, the
client 206 may executes a timer, and the change of operating mode may be responsive to theclient 206 detecting that no user input is received via input means of thedevice 104 a in a predetermined time period. That is, the change of operating mode may occurs when the timer runs down from a certain time value to zero (count down timer) or reaches a certain threshold time (count up timer) from zero. Theclient 206 is arranged to reset the timer every time theclient 206 detects user input via input means on thedevice 104 a. - Alternatively, the
client 206 may not change operating mode in response to detecting a user input. Instead, theclient 206 may detect that theuser device 104 a is in a power saving mode and change mode in response to detecting that theuser device 104 a is in a power saving mode. For example, theOS 204 on which theclient 206 is executed may activate a screensaver to be displayed on thedisplay 208 after a period of time of inactivity in which no user input is received via input means on thedevice 104 a. Theclient 206 may detect that theuser device 104 a is in a power saving mode (i.e. a screensaver is being displayed on the display 208) and change from the “foreground active” operating mode (first mode) to the “background” operating mode (second mode). - In response to the
client 206 detecting that theclient 206 should change operating mode, theclient 206 changes mode i.e. changes from operating in the first mode to operate in a second mode. In response to theclient 206 changing operating mode, theclient 206 is arranged to access the filtering parameters associated with this new operating mode (second mode) frommemory 214 and transmit the filtering parameters associated with the new operating mode to thecontrol node 112. - As described above, the filtering parameters associated with each operating mode are selected by the software provider providing the
client 206 and stored inmemory 214 thus theclient 206 can access the filtering parameters that are associated with each mode it may operate in. Therefore when theclient 206 changes from operating in the first mode to operate in a second mode, theclient 206 can access the filtering parameters that are associated with the second operating mode. - In step S308, the
client 206 transmits the filtering parameters associated with the second operating mode to thecontrol node 112 in thecommunications network 106 via thenetwork interface 220. - The
control node 112 is arranged to store the filtering parameters associated with the second operating mode that it receives from theuser device 104 a in thedata store 116. The filtering parameters associated with the first operating mode previously received from theuser device 104 a and stored in thedata store 116 are removed from thedata store 116. - Whilst the
user device 104 a is operating in the second operating mode, a communication event directed touser 102 may be received at thecontrol node 112 at thenetwork interface 114 b. If such a communication event is received at thecontrol node 112 whilst theuser device 104 a is operating in the second operating mode the CPU 118 operates to compare the incoming communication event to the filtering parameters associated with the second operating mode held in thedata store 116 at thecontrol node 112. If the CPU 118 determines that the incoming communication event is a type of communication which is permitted to be received at theuser device 104 a whilst theclient 206 is in the second operating mode (determined based on the filtering parameters), the CPU 118 transmits the communication event received fromuser device 110 touser device 104 a. - If the CPU 118 determines that the incoming communication event is not a type of communication which is to be received at
user device 104 a whilst theuser device 104 a is in the second operating mode, the CPU 118 does not transmit the communication event to theuser device 104 a. Thus, when theclient 206 is in the second operating mode, theuser device 104 a only receives communication events from thecontrol node 112 that are associated with the second operating mode. - The
client 206 may transmit information to thecontrol node 112 indicating how thecontrol node 112 is to handle incoming communication events that do not pass through the filtering implemented at thecontrol node 112. In particular, theclient 206 may specify how thecontrol node 112 should handle incoming communication events that do not pass through the filtering implemented at thecontrol node 112 when theclient 206 is in a particular operating mode. This information may be supplied when theclient 206 supplies the filtering parameters associated with the particular operating mode to the control node 112 (for example in steps S304 and S308 shown inFIG. 3 ) and held indata store 116. - How the
control node 112 handles incoming communication events that do not pass through the filtering implemented at thecontrol node 112 is now described. - The information transmitted to the
control node 112 on how to handle incoming communication events that are not permitted to be received by theuser device 104 a when the communication client application is operating in a particular operating mode may indicate that thecontrol node 112 is to ignore these communication events. That is, if the CPU 118 determines that the incoming communication event is not a type of communication which is to be received atuser device 104 a whilst theuser device 104 a is in a specific operating mode, thecontrol node 112 may simply ignore the communication event received fromuser device 110 destined touser device 104 a. In this case, thecontrol node 112 does not store any information pertaining to the communication event received fromuser 110 anduser 102 is not notified of the attempted communication byuser 108. - Alternatively, the information transmitted to the
control node 112 on how to handle incoming communication events that are not permitted to be received by theuser device 104 a when the communication client application is operating in a particular operating mode may indicate that thecontrol node 112 is to transmit a response to the user device (i.e. user device 110) which transmitted the communication event. - That is, if the CPU 118 determines that the incoming communication event is not a type of communication which is to be received at
user device 104 a whilst theuser device 104 a is in a specific operating mode, thecontrol node 112 may answer on behalf of theuser device 104 a by the CPU 118 transmitting a response to theuser device 110. This response may indicate to the user device which transmitted the communication event that the type of communication event it transmitted is not permitted to be received at theuser device 104 a whilst theclient 206 executed onuser device 104 a is in its current operating mode and/or which types of communication events that theuser device 104 a is permitted to receive whilst theclient 206 is in its current operating mode. For example, if theuser device 110 executes client software anduser B 108 initiates a voice call to theuser 102, and theclient 206 onuser device 104 a is in an operating mode which is associated with filtering parameters which define that only IM messages are permitted to be received at theuser device 104 a when theclient 206 onuser device 104 a is in this operating mode, thecontrol node 112 may updateuser B 108 by playing an audible message to user B 108 (output from the speakers of the user device 110) explaining thatuser A 102 is touted intoclient 206 and is available for incoming IM messages only onuser device 104 a. - The
control node 112 may be capable of storing incoming communication events, for example IM messages and data files to be transferred to theuser device 104 a. The information transmitted to thecontrol node 112 on how to handle incoming communication events that are not permitted to be received by theuser device 104 a when the communication client application is operating in a particular operating mode may indicate thatcontrol node 112 is store these communication events for future delivery to theuser device 104 a. That is, thecontrol node 112 may store the incoming communication events in data store 116 (i.e. the same store which is arranged to hold filtering parameters) or in a separate data store. Thus, if the CPU 118 determines that an incoming communication event is not a type of communication which is to be received atuser device 104 a whilst theuser device 104 a is in a specific operating mode, the CPU 118 may store the incoming communication event. Thecontrol node 112 will wait until it receives an indication from client 206 (by way of receiving filtering parameters) that theclient 206 is in an operating mode that allows the stored incoming communication event to be received atuser device 104 a, before delivering the stored communication event (i.e. IM message or data file) to theuser device 104 a. Once thecontrol node 112 has delivered the communication event it may remove the communication event from storage. - The
control node 112 may also be capable of storing information relating to an incoming communication event, for example information relating to an attempted voice or video call i.e. name of caller and time of call. The information transmitted to thecontrol node 112 on how to handle incoming communication events that are not permitted to be received by theuser device 104 a when the communication client application is operating in a particular operating mode may indicate thatcontrol node 112 is store information relating to these incoming communication events for future delivery to theuser device 104 a. That is, thecontrol node 112 may store information relating to an incoming communication event in data store 116 (i.e. the same store which is arranged to hold filtering parameters) or in a separate data store. Thus, if the CPU 118 determines that an incoming communication event is not a type of communication which is to be received atuser device 104 a whilst theuser device 104 a is in a specific operating mode, thecontrol node 112 may store the information relating to the incoming communication event. Thecontrol node 112 will wait until it receives an indication from client 206 (by way of receiving filtering parameters) that theclient 206 is in an operating mode that allows the attempted incoming communication event to be received atuser device 104 a before delivering the information relating to the attempted incoming communication event to theuser device 104 a. Once thecontrol node 112 has delivered the information relating to the attempted incoming communication event it may remove the information from storage. - Whilst embodiments above have been described with reference to delivering communication events to a user associated with a single device (
user device 104 a) in dependence on the mode in which theclient 206 executed on the single device is operating in, embodiments may extend to a single user being connected to the communication service from multiple endpoints and having different end user modality functionality for these endpoints. -
FIG. 4 is a signalling diagram 400 illustrating delivery of communication events to auser 102 associated with a plurality of user devices. In particularFIG. 4 illustrates the delivery of communication events to the plurality of user devices in dependence on the mode in which the client executed on the respective user devices is operating in. - A
user 102 may be associated with multiple user devices, these are shown inFIG. 1 asuser device 104 a and 104 b. For example theuser 102 may be associated with amobile telephone 104 a and a desktop computer 104 b. Whilst embodiments are described with reference touser A 102 being associated with two devices for simplicity. It will be appreciated that theuser 102 may be associated with more than two devices. As described above, each of theuser devices 104 a and 104 b execute client software on the device. In the description below the client executed onuser device 104 a is referred to asclient 206 and the client executed on user device 104 b is referred to asclient 206′. -
Mobile telephone 104 a is arranged to function in accordance with theprocess 300 shown inFIG. 3 . Thus whenclient 206 is in a particular operating mode theclient 206 transmits the filtering parameters associated with that operating mode to thecontrol node 112 as shown bysignal 402 to register the filtering parameters at thecontrol node 112 formobile telephone 104 a. As a mere example, thesignal 402 may comprise filtering parameters associated with a “background” mode that theclient 206 is operating in. Thus these filtering parameters may indicate, for example, that themobile telephone 104 a is permitted to receive only call related communication events (i.e. a voice call, a video call, or a multi-user voice or video call) and thus IM messages should not be received when the client user interface of theclient 206 is not displayed on the display of themobile telephone 104 a. - The
control node 112 is arranged to store the filtering parameters that it receives from themobile telephone 104 a in thedata store 116. Any filtering parameters previously received from themobile telephone 104 a and stored in thedata store 116 are removed from thedata store 116. - As described above, the
client 206 may also transmit information to thecontrol node 112 indicating how thecontrol node 112 is to handle communication events which are not permitted to be received by themobile telephone 104 a when theclient 206 is operating in the particular operating mode. - Desktop computer 104 b is also arranged to function in accordance with the
process 300 shown inFIG. 3 . Thus whenclient 206′ is in a particular operating mode theclient 206′ transmits the filtering parameters associated with that operating mode to thecontrol node 112 as shown bysignal 404 to register the filtering parameters at thecontrol node 112 for desktop computer 104 b. As a mere example, thesignal 404 may comprise filtering parameters associated with a “foreground active” mode that theclient 206′ is operating in. Thus these filtering parameters may indicate, for example, that the desktop computer 104 b is permitted to receive all types of communication events. - The
control node 112 is arranged to store the filtering parameters that it receives from the desktop computer 104 b in thedata store 116. Any filtering parameters previously received from the desktop computer 104 b and stored in thedata store 116 are removed from thedata store 116. - As described above, the
client 206′ may also transmit information to thecontrol node 112 indicating how thecontrol node 112 is to handle communication events which are not permitted to be received by the desktop computer 104 b when theclient 206′ is operating in the particular operating mode. - It will be apparent from the above that the
data store 116 in thecontrol node 112 may store the same or different filtering parameters for use in delivering communication events to different user devices, whereby the different user devices are associated the same user. - As described above, the
user device 110 executes client software on the device.User 108 is able to use the client software executed onuser device 110 to transmit a communication event touser 102 as shown by signal 406. For mere illustration purposes, the communication event sent in signal 406 is an IM message. The IM message transmitted by theuser device 110 is received at thenetwork interface 114 b of thecontrol node 112. - In response to receiving the IM message from
user device 110, the CPU 118 operates to compare the IM message to the filtering parameters formobile telephone 104 a held at thecontrol node 112 indata store 116. This comparison carried out in thecontrol node 112 is shown asinternal signalling 408. As shown inFIG. 4 , because the filtering parameters held formobile telephone 104 a indicate that only call related communication events are permitted to be received at themobile telephone 104 a (i.e. IM messages are not to be sent to themobile telephone 104 a) the IM message does not pass through the filtering implemented at thecontrol node 112 and thus thecontrol node 112 does not deliver the IM message to themobile telephone 104 a. As described above, thecontrol node 112 may store the IM message for future delivery to themobile telephone 104 a. - In response to receiving the IM message from
user device 110, the CPU 118 also operates to compare the IM message to the filtering parameters for desktop computer 104 b held at thecontrol node 112 indata store 116. This comparison carried out in thecontrol node 112 is shown as internal signalling 410. As shown inFIG. 4 , because the filtering parameters held for desktop computer 104 b indicate that all types of communication events are permitted to be received at the desktop computer 104 b (including IM messages), the IM message passes through the filtering implemented at thecontrol node 112 and thus thecontrol node 112 delivers the IM message to the desktop computer 104 b as shown bysignal 412. -
FIG. 4 shows theclient 206 executed onmobile telephone 104 a transmitting a new set of filtering parameters insignal 414 to thecontrol node 112 to register the new filtering parameters at thecontrol node 112 formobile telephone 104 a. This transmission is responsive to theclient 206 changing operating mode and the new set of filtering parameters is associated with the new operating mode. As a mere example, theclient 206 may switch from the “background” mode to the “foreground active” mode and transmit filtering parameters insignal 414 associated with the “foreground active” mode to thecontrol node 112. Taking the example above, these filtering parameters indicate that themobile telephone 104 a should receive all types of communication events whilst in the “foreground active” mode. - The
control node 112 is arranged to store the new filtering parameters associated with the new operating mode ofclient 206 that it received from themobile telephone 104 a insignal 414 indata store 116. The filtering parameters associated with the previous operating mode of theclient 206 that it received from themobile telephone 104 a insignal 402 are removed from thedata store 116. - As shown in
FIG. 4 , theuser 108 uses theuser device 110 to transmit a further communication event touser 102 insignal 416. For mere illustration purposes, the communication event sent in step S416 is a further message. The further IM message transmitted by theuser device 110 is received at thenetwork interface 114 b of thecontrol node 112. - In response to receiving the further IM message from
user device 110, the CPU 118 operates to compare the IM message to the filtering parameters formobile telephone 104 a held at thecontrol node 112 indata store 116. These filtering parameters are the parameters received by the control node insignal 414. This comparison carried out in thecontrol node 112 is shown asinternal signalling 418. As shown inFIG. 4 , because the filtering parameters held formobile telephone 104 a now indicate that all types of communication events are permitted to be received at themobile telephone 104 a (including IM messages), the further IM message passes through the filtering implemented at thecontrol node 112 and thus thecontrol node 112 delivers the further IM message to themobile telephone 104 a as shown by signal 420. - In response to receiving the further IM message from
user device 110, the CPU 118 also operates to compare the further IM message to the filtering parameters for desktop computer 104 b held at thecontrol node 112. These filtering parameters are the parameters received by the control node insignal 404 because theclient 206′ has not changed operating mode. This comparison carried out in thecontrol node 112 is shown as internal signalling 422. As shown inFIG. 4 , because the filtering parameters held for desktop computer 104 b indicate that all types of communication events are permitted to be received at the desktop computer 104 b (including IM messages), the further IM message passes through the filtering implemented at thecontrol node 112 and thus thecontrol node 112 delivers the further IM message to the desktop computer 104 b as shown bysignal 424. - Embodiments can allow only communication events to be delivered to a user device that are appropriate given the operating mode of the client software executed on the user device. When a user is associated with than one device, embodiments allow communications for the user to be delivered to an appropriate user device given the operating mode of the client software executed on the respective user devices. If a user is active on more than one endpoint, embodiments allow delivery of different communication events to different endpoints. Embodiments avoid a node in the communication network transmitting communication events to a user device when the client software executed on the user device is not operating in an appropriate mode to inform the user of the received communication event.
- Embodiments can allow only communication events to be handled centrally in a node of a communication network. Thus user devices do not have to incur the computational expense of processing incoming communications and handling the selection of particular communication events for output to a user.
- Whilst the transmission of filtering parameters from
user devices 104 to thecontrol node 112 has been described above with reference to the client software executed onuser devices 104 changing operating mode. It will be appreciated that when client software is first launched on a device and into an operating mode, the client software operates to transmit the filtering parameters associated with this operating mode to thecontrol node 112 to control the communications events received at the device whilst the client software is in this operating mode. - Whilst it has been described above with reference to
FIG. 4 that filtering parameters that thecontrol node 112 receives from themobile telephone 104 a and desktop computer 104 b are stored in portions of thesame data store 116 it will be appreciated that filtering parameters that thecontrol node 112 receives from different devices may be stored in separate data stores. - The methods described herein may be implemented by executing a computer program product (e.g. the client 206) at a
user device 104. That is, a computer program product may be configured to control the receipt of communication events from a communication network, wherein the computer program product is embodied on a computer-readable storage medium (e.g. stored in the memory 214) and configured so as when executed on theCPU 202 to perform the operations of any of the methods described herein. - Generally, any of the functions described herein (e.g. the functional modules shown in
FIG. 2 and the functional steps shown inFIG. 3 ) can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), or a combination of these implementations. The modules and steps shown separately inFIGS. 2 and 3 may or may not be implemented as separate modules or steps. The terms “module,” “functionality,” “component” and “logic” as used herein generally represent software, firmware, hardware, or a combination thereof. In the case of a software implementation, the module, functionality, or logic represents program code that performs specified tasks when executed on a processor (e.g. CPU or CPUs). The program code can be stored in one or more computer readable memory devices. The features of the techniques described herein are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors. For example, the user devices may also include an entity (e.g. software) that causes hardware of the user devices to perform operations, e.g., processors functional blocks, and so on. For example, the user devices may include a computer-readable medium that may be configured to maintain instructions that cause the user devices, and more particularly the operating system and associated hardware of the user devices to perform operations. Thus, the instructions function to configure the operating system and associated hardware to perform the operations and in this way result in transformation of the operating system and associated hardware to perform functions. The instructions may be provided by the computer-readable medium to the user devices through a variety of different configurations. - One such configuration of a computer-readable medium is signal bearing medium and thus is configured to transmit the instructions (e.g. as a carrier wave) to the computing device, such as via a network. The computer-readable medium may also be configured as a computer-readable storage medium and thus is not a signal bearing medium. Examples of a computer-readable storage medium include a random-access memory (RAM), read-only memory (ROM), an optical disc, flash memory, hard disk memory, and other memory devices that may us magnetic, optical, and other techniques to store instructions and other data.
- Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/885,598 US20180213027A1 (en) | 2013-03-28 | 2018-01-31 | Receiving a communication event |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1305710.4A GB2514093B (en) | 2013-03-28 | 2013-03-28 | Receiving a communication event |
GB1305710.4 | 2013-03-28 | ||
US13/924,415 US9930101B2 (en) | 2013-03-28 | 2013-06-21 | Receiving a communication event |
US15/885,598 US20180213027A1 (en) | 2013-03-28 | 2018-01-31 | Receiving a communication event |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/924,415 Continuation US9930101B2 (en) | 2013-03-28 | 2013-06-21 | Receiving a communication event |
Publications (1)
Publication Number | Publication Date |
---|---|
US20180213027A1 true US20180213027A1 (en) | 2018-07-26 |
Family
ID=48444943
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/924,415 Active 2033-08-29 US9930101B2 (en) | 2013-03-28 | 2013-06-21 | Receiving a communication event |
US15/885,598 Abandoned US20180213027A1 (en) | 2013-03-28 | 2018-01-31 | Receiving a communication event |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/924,415 Active 2033-08-29 US9930101B2 (en) | 2013-03-28 | 2013-06-21 | Receiving a communication event |
Country Status (5)
Country | Link |
---|---|
US (2) | US9930101B2 (en) |
EP (1) | EP2949083B1 (en) |
CN (1) | CN105075189B (en) |
GB (1) | GB2514093B (en) |
WO (1) | WO2014160621A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8886773B2 (en) | 2010-08-14 | 2014-11-11 | The Nielsen Company (Us), Llc | Systems, methods, and apparatus to monitor mobile internet activity |
US10356579B2 (en) * | 2013-03-15 | 2019-07-16 | The Nielsen Company (Us), Llc | Methods and apparatus to credit usage of mobile devices |
US9762688B2 (en) | 2014-10-31 | 2017-09-12 | The Nielsen Company (Us), Llc | Methods and apparatus to improve usage crediting in mobile devices |
US9953191B2 (en) * | 2015-07-30 | 2018-04-24 | Dell Products L.P. | Event-based display information protection system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040255015A1 (en) * | 2003-06-16 | 2004-12-16 | International Business Machines Corporation | Communications management using weights and thresholds |
US20130276094A1 (en) * | 2011-09-30 | 2013-10-17 | Gideon Prat | Device, system and method of maintaining connectivity over a virtual private network (vpn) |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2534140A (en) * | 1948-02-14 | 1950-12-12 | Air A Feed Equipment Inc | Manually applied power-driven machine for automatically delivering and driving a fastener |
US2904084A (en) * | 1958-03-31 | 1959-09-15 | Rogan Bros | Power-operated screw feed and drive mechanism |
US3583451A (en) * | 1969-04-09 | 1971-06-08 | Dixon Automatic Tool | Machine for automatically driving threaded fasteners |
US4776242A (en) * | 1987-05-04 | 1988-10-11 | General Electric Company | Automatic multiple feed apparatus |
US6717936B1 (en) * | 1998-07-29 | 2004-04-06 | Qwest Communications International, Inc. | Directory talk service and system |
US8024415B2 (en) | 2001-03-16 | 2011-09-20 | Microsoft Corporation | Priorities generation and management |
US6781972B1 (en) * | 2000-03-31 | 2004-08-24 | Lucent Technologies Inc. | Method and system for subscriber-configurable communications service |
US7260645B2 (en) * | 2002-04-26 | 2007-08-21 | Proficient Networks, Inc. | Methods, apparatuses and systems facilitating determination of network path metrics |
US20080065746A1 (en) | 2006-09-07 | 2008-03-13 | Ace*Comm Corporation | Consumer configurable mobile communication web filtering solution |
EP2051479A1 (en) | 2007-10-18 | 2009-04-22 | Nokia Siemens Networks Oy | Control of push services |
CN101926137B (en) * | 2007-12-21 | 2013-04-24 | 意大利电信股份公司 | Method and system for managing communication sessions set-up between users |
CN102224495B (en) * | 2008-11-25 | 2014-11-26 | 日本电气株式会社 | Mail arrival control system, mail arrival control method, and mobile terminal |
CA2755875A1 (en) * | 2009-03-20 | 2010-09-23 | Disposable-Lab | Sterilized or depyrogened packaging |
US20100250747A1 (en) * | 2009-03-31 | 2010-09-30 | Jeyhan Karaoguz | ADAPTIVE MULTIPLE PATHWAY SESSION SETUP TO SUPPORT QoS SERVICES |
US8521809B2 (en) | 2009-07-31 | 2013-08-27 | Z2Live, Inc. | Mobile device notification controls system and method |
CN102025648B (en) | 2009-09-16 | 2014-12-03 | 腾讯科技(深圳)有限公司 | Instant messaging method and server |
US8301168B2 (en) | 2009-10-16 | 2012-10-30 | At&T Mobility Ii Llc | Devices and methods for selectively filtering message content |
US8688826B2 (en) | 2009-11-30 | 2014-04-01 | Motorola Mobility Llc | Mobile computing device and method with intelligent pushing management |
US8792419B2 (en) * | 2010-04-08 | 2014-07-29 | At&T Intellectual Property I, L.P. | Presence-based communication routing service and regulation of same |
TW201241640A (en) | 2011-02-14 | 2012-10-16 | Microsoft Corp | Dormant background applications on mobile devices |
US20120303695A1 (en) | 2011-05-25 | 2012-11-29 | Macroview Labs, Inc. | Device specific web services |
CN103051675B (en) | 2011-11-23 | 2017-04-12 | 斯凯普公司 | Delivery of a communication event |
US8738715B2 (en) * | 2012-01-31 | 2014-05-27 | Global Relay Communications Inc. | System and method for processing messages in a messaging service |
-
2013
- 2013-03-28 GB GB1305710.4A patent/GB2514093B/en not_active Expired - Fee Related
- 2013-06-21 US US13/924,415 patent/US9930101B2/en active Active
-
2014
- 2014-03-24 EP EP14720019.0A patent/EP2949083B1/en active Active
- 2014-03-24 WO PCT/US2014/031532 patent/WO2014160621A1/en active Application Filing
- 2014-03-24 CN CN201480018477.0A patent/CN105075189B/en active Active
-
2018
- 2018-01-31 US US15/885,598 patent/US20180213027A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040255015A1 (en) * | 2003-06-16 | 2004-12-16 | International Business Machines Corporation | Communications management using weights and thresholds |
US20130276094A1 (en) * | 2011-09-30 | 2013-10-17 | Gideon Prat | Device, system and method of maintaining connectivity over a virtual private network (vpn) |
Also Published As
Publication number | Publication date |
---|---|
GB2514093A (en) | 2014-11-19 |
WO2014160621A1 (en) | 2014-10-02 |
GB2514093B (en) | 2016-10-19 |
GB201305710D0 (en) | 2013-05-15 |
CN105075189B (en) | 2018-08-21 |
EP2949083A1 (en) | 2015-12-02 |
EP2949083B1 (en) | 2020-02-26 |
US20140297719A1 (en) | 2014-10-02 |
US9930101B2 (en) | 2018-03-27 |
CN105075189A (en) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200187297A1 (en) | Data transmission method and device | |
EP3672328B1 (en) | Method for supporting both voice service and data service and terminal | |
US20180213027A1 (en) | Receiving a communication event | |
US20130132573A1 (en) | Delivery Of A Communication Event | |
US9654945B2 (en) | Electronic device with message handling functions | |
US9686506B2 (en) | Method, apparatus, system, and storage medium for video call and video call control | |
EP3547715A1 (en) | Method and apparatus for reducing continuous-wakeup delay of bluetooth loudspeaker, and bluetooth loudspeaker | |
US9882743B2 (en) | Cloud based power management of local network devices | |
WO2017166034A1 (en) | Incoming call processing method, user equipment, and storage medium | |
KR20220103146A (en) | Multicast service transmission method, transmission processing method and related apparatus | |
JP2011029896A (en) | Remote starting system and method for the same | |
CN108449806B (en) | Information processing method, terminal and readable storage medium | |
US9716796B2 (en) | Managing communication events | |
US10015314B2 (en) | Call collision processing method for terminal device, and terminal device | |
CN111328061B (en) | Audio resource control method, vehicle-mounted terminal and system | |
EP3146427B1 (en) | Peer-based device set actions | |
WO2020001450A1 (en) | Power saving management method, graphical user interface, and terminal | |
CN109413357B (en) | Audio and video call method and device, equipment and storage medium thereof | |
US10368210B2 (en) | Service processing method, terminal device, and service roaming network | |
EP2597826B1 (en) | Delivery of a communication event | |
JP2023509407A (en) | Multicast service processing method, multicast service configuration method, terminal and network equipment | |
WO2023226055A1 (en) | Paging message receiving method and apparatus, paging message sending method and apparatus, communication apparatus, and storage medium | |
CN110944086B (en) | Call holding method and electronic equipment | |
WO2023125856A1 (en) | Method and apparatus for monitoring and reporting ursp rules, terminal, and network element | |
WO2024020807A1 (en) | Inactive multicast service receiving method and device, and inactive multicast service configuration sending method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LAASIK, MAREK;MACKS, ANDREW;LIIK, DEVID;AND OTHERS;REEL/FRAME:044831/0675 Effective date: 20130607 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:046770/0127 Effective date: 20141205 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |