Telephones, computers, and tablets provide an efficient way for users to communicate without being in the same physical location. However, these devices often require the user to provide multiple inputs and preferences for each of the communications before the communications can take place. Such preferences may include the individuals involved in the communication, a contact identifier for the individuals in the communication, amongst a variety of other preferences. Moreover, when busy performing other tasks, it is often obtrusive to hold a telephone, computer, or tablet to make the communication, and takes focus away from the current task.
In some implementations, in addition to a communication application that can provide communications between a plurality of communication devices, a communication device may include other applications that provide various other services to the end user. These services may include, but are not limited to, shopping services, concierge services, and food ordering services. However, switching between applications to select the desired service can cumbersome, and can provide further difficulty when members of a communication desire operations on the same service.
Provided herein are enhancements for voice communications between a plurality of end users. In one implementation, a method of operating a group communication service that facilitates voice communications for a group of end user devices includes exchanging voice communications between the group of end user devices, wherein the group comprises a first end user device and at least one secondary end user device. The method further provides identifying, in a voice communication from the first end user device, a use of a key phrase, and in response to identifying the key phrase, forwarding at least a portion of the voice communication to a second service.
Many aspects of the disclosure can be better understood with reference to the following drawings. While several implementations are described in connection with these drawings, the disclosure is not limited to the implementations disclosed herein. On the contrary, the intent is to cover all alternatives, modifications, and equivalents.
In operation, end user devices 120-122 execute voice applications 130-132 to communicate with other end user devices. In some implementations, each of the users at end user devices 120-122 may be associated with one or more communication groups, permitting the users to communicate with other users that belong to the same group. For example, in communication system 100, end user devices 120-122 may belong to the same communication group, permitting users of end user devices 120-122 to communicate with one another via communication service 160. Although one communication group is included in the example of
In some implementations, in conjunction with voice applications 130-132, each end user device in end user devices 120-122 may be wirelessly coupled to a cooperating device. This device may communicate with the end user device using Bluetooth or some other close proximity wireless signaling. Consequently, rather than using the end user device for a communication, a user of an end user device may transmit and receive voice communications using the cooperating device, wherein the cooperating device couples to the voice application and to transmit and receive the desired communications with communication service 160.
To further demonstrate the operations of
As illustrated in
As described previously, in some implementations, in conjunction with voice applications 130-132 on the end user devices, cooperating devices may be used to transmit and receive the communications for the communication group. These cooperating devices, which may comprise wearable devices in some examples, can include a microphone, a speaker, a transmitter/receiver (such as a Bluetooth transmitter/receiver to communicate with an associated end user device), as well as a user interface element to transition from receiving to transmitting mode. Accordingly, referring to the example transmission from end user device 120, the user of end user device 120 may use a cooperating device wirelessly linked to end user device 120 to initiate an outgoing communication. Voice application 130 will identify the communication from the cooperating device and forward the communication over communication service 160 to end user devices 121-122. Once received, voice applications 130-131 may communicate the voice communication to associated cooperating devices, wherein the devices may play the voice communication for users associated with end user devices 121-122.
During the voice communications for end user devices 120-122, communication service 160 identifies (202), in a voice communication from a first end user device in end user devices 120-122, a use of a key phrase, wherein the key phrase may comprise one or more words or sounds defined to provide an action in association with a second service. As a result, in response to identifying the key phrase, communication service 160 forwards (203) at least a portion of a communication to a second service. For example, a user of voice application 130 may use the name of secondary service 110 to invoke an operation of the service, such as “hello secondary service.” In response to identifying these terms, in some examples using natural language processing, communication service 160 may forward the communication to secondary service 110 for further processing. Thus, if secondary service 110 comprised a personal assistant service, secondary service 110 may be used to create a calendar reminder or some other operation based on the information provided in the voice communication.
In some implementations, the voice communication identified with the key phrase may be targeted at using the secondary service for the individual user that was the source of the voice communication. Thus, referring again to the example of a communication from end user device 120, communication service 160 may forward the communication to secondary service 110 with an identifier for a user of end user device 120. This identifier may comprise a username, a user number, or some other similar user identifier. As a result, when the communication is received at secondary service 110, the service may be able to identify the user and/or device that was the source of the voice communication. In some examples, when it is identified that the request is associated with an individual user or a smaller subset of users than the entire group, communication service 160 may be used to prevent the communication from proceeding to other end user devices within the group. This permits a user to make an individual request to secondary service 110 without leaving the voice application used in the communication with the group.
In some examples, in addition to identifying that a voice communication relates to an individual user, communication service 160 may also identify when a request is associated with the group of users for the communication. This identification allows communication service 160 to identify a request to the secondary service, and provide an identifier for the group in the communication that is transferred to the secondary service. Referring to the example in
As depicted in timing diagram 300, end user devices 120-122, which can correspond to wireless communication devices in some implementations, exchange voice communications with one another via communication service 160. In some implementations, the devices that are used to receive and transmit the audio communications may include end user devices 120-122 themselves, however, it should be understood that a wirelessly coupled cooperating device, such as a wearable device, may be used to receive and broadcast voice communications to the users of the devices. During the communications over communication service 160, user device 120 may transfer a communication with a key phrase. This key phrase may include a single word, name, a phrase, or any other combination of verbal elements associated with a secondary service.
In response to sending the voice communication with the key phrase, communication service 160 is configured to identify the key phrase and forward the voice communication to secondary service 110. For example, the key phrase may be used to call secondary service 110, which may comprise a calendar application. Consequently, once the key phrase is identified, the request for the calendar application may be forwarded to secondary services 110. This permits a user at user device 120 to execute an action with a separate service without leaving the current application.
In some implementations, communication service 160 may be configured to identify whether the key phrase invokes a request for a single user associated with user device 120, or for a group of users, such as user devices 120-122. In particular, if the key phrase indicates a request for a user associated with user device 120, then an identifier may be associated with the voice communication before it is provided to secondary service 110. This would permit secondary service 110 to distinguish or identify the user that is making the request to the service. In contrast, if the key phrase indicates a request for a group of users, such as for all users of user devices 120-122, then communication service 160 may associate a group identifier with the voice communication and provide the voice communication to secondary service 110. Thus, instead of associating the voice communication from user device 120 with just the users profile, the secondary service may be able to identify that the communication is to be associated with a group profile. For example, returning to the calendar request provided above, a voice communication may indicate a request to update the calendar for all user devices 120-122 in the group. Thus, when the voice communication is forwarded to secondary service 110, a group identifier may be used to identify the devices/users associated with the request.
In some examples, in identifying whether the voice communication with the key phrase is associated with an individual user or the group of users, communication service 160 may forward the communication to other devices based on whether the communication is for the individual or the group. In particular, communication service 160 may prevent the voice communication associated with the key from being provided to user device 121-122 when the communication only involves user device 120. However, if the communication is in regards to the group, communication service 160 may forward the communication to user devices 121-122.
In some implementations, communication service 160 may also be configured to receive a response from secondary service 110. This response may include a verification that the voice communication provided a particular operation, a secondary follow-up question for the user making the request, or some other similar response. Accordingly, communication service 160 may be configured to direct the response to appropriated end user devices in end user devices 120. In some implementations, when the request from a particular end user device corresponds to an individual inquiry to secondary service 160, communication service 160 may only provide responses from secondary service 110 to the requesting end user device. In contrast, if a request corresponds to the group, communication service 160 may forward any return communication to all of the end user devices.
Here, language understanding module 410 receives a voice communication from an end user device involved in a voice communication with a group of other end user devices. In response to receiving the message, a determination is made by language understanding module 410 about whether the communication includes a key phrase. For example, a key phrase may include a name for the service. Accordingly, if a name of the service is identified by language understanding module 410, then any voice data that is provided subsequent to the name in the communication may be forwarded to the second service. In an alternative example, if the voice communication is not found to include the key phrase, then the communication may be routed to other end user devices in the communication group.
In at least one implementation, when it is found that a communication should be forwarded to the second service, language understanding module 410 may prevent at least a portion of the communication from being provided to other user devices in the communication group. Thus, once language understanding module 410 identifies the name or identifier to call the second service, then the remaining portion of the voice communication may be prevented from going to other devices. However, in other implementations, the communication may continue to be routed to other devices when the key phrase is identified in the communication.
Similar to the operations described in operational scenario 400 of
If the communication does include a key phrase, profile determination module 520 may determine if the key phrase corresponds to a user profile or a group profile based on the contents of the voice communication. For example, the user may provide a first portion of a key phrase, which defines that the communication is associated with the second service, and the user may provide a second portion of the key phrase, which defines whether the request is associated with the single user's profile or the group profile. If the communication is for the specific user, then an identifier may be included for the particular user or user device and forwarded to the second service with the identifier. In contrast, if the communication were for a group of users, then an identifier may be included for the group profile and forwarded to the second service with the identifier for the group. This operation ensures that the second service is able to identify the source, either individual or group, associated with a particular request.
In some implementations, based on whether the communication is associated with an individual or a group, profile determination module 520 may be responsible for forwarding or preventing communications from being forwarded to other devices within a group communication. Accordingly, if the voice communication corresponded to an individual profile request to the second service, then profile determination module 520 may prevent the communication from being forwarded to other devices within the communication group. For example, if an end user device transfers a communication that includes a vocal communication in the following format, “service A, individual, CONTENT OF REQUEST,” the communication service would identify that the user device is requesting service A as an individual, and may prevent the CONTENT OF REQUEST in the vocal communication from being provided to other devices on the voice communication.
In other implementations, when the request from an end user device corresponds to a group profile, the communication service and profile determination module 520 may be used to forward the communication to other users in the same group, or in some cases sub-group. For example, if an end user device transfers a communication that includes a vocal communication in the following format, “service A, group A, CONTENT OF REQUEST,” the communication service would identify that the user device is requesting service A as a group, and may forward the CONTENT OF REQUEST only to members of group A. In some examples, group A may include all of the members that are in a communication group, however, it should be understood that group A may also comprise a subset of the overall group.
As described herein, communication service 660 provides a platform for groups of users at multiple devices to communicate, such as the group of users represented by end user devices 620-622. To provide the communications, each of the end user devices, which may comprise a wireless phone, a tablet, a computer, or some other similar end user device, includes voice application 630-632, which is paired with and can communicate with cooperating devices 640-642. When a communication is desired, a user at a cooperating device, such as cooperating device 640, may use the user interface on the cooperating device to select transmit mode, wherein the microphone at the device will become active and receive the voice communication from the user. The cooperating device will forward the communication to end user device 620, and voice application 630 may forward the communication to communication service 660, which is used to distribute the voice communication as required.
In the present example, communication service 660 is configured to determine whether the voice communication includes a key phrase and, if the communication includes the key phrase, forward the communication to secondary service 610. This key phrase may include one or more words or sounds that request the communication be forwarded to secondary service 610. For example, a communication received at cooperating device 640 may be received in the following format, “secondary service ID, CONTENT OF COMMUNICATION.” Once the communication is forwarded by end user device 620 to communication service 660, communication service 660 will identify the second service ID, and forward the communication to the second service based on this ID.
In some implementations, the key phrase from the voice applications may identify whether the communication to secondary service 610 corresponds to a group request or an individual request. Based on whether the request is a group request or an individual request, communication service 660 may include an identifier with the forwarded communication to indicate the profile the communication should be processed with. This permits secondary service 610 to provide the operations with the desired group of users, and further permits each user to address either an individual profile or a group profile from within the same voice communication application.
In some examples, based on a determination of whether a voice communication is directed at a group or an individual request, communication service 660 may forward or prevent forwarding of the communication. In particular, if the communication is directed at a request for an individual, then communication service 660 may prevent the communication from forwarding the communication to other devices within the communication group. For example, if a communication was received from end user device 620 and cooperating device 640 indicating a request for the individual user of end user device 620, then communication service 660 may prevent the communication from being forwarded to the other end user devices 621-622 in the communication group. In contrast, if the communication is directed at a request for the group, then communication service 660 may be configured such that the communication is forwarded to other members of the group. Thus, as an example, when a request is received from end user device 620 and cooperating device 640 indicating a request for the group to secondary service 610, then the communication may be forwarded to the other end user devices in the group as well as secondary service 610.
Although provided above as two examples of determining which group should receive communications when the secondary service is invoked, it should be understood that other configurations are possible and are in the scope of the present application. These alternative configurations may include identifying that the voice communication is directed at a subset of a particular group, or that the voice communication is directed at another particular user in the voice communication.
In some implementations, communication service 660 may also be configured to receive a response from secondary service 610. This response may include a verification that the voice communication provided a particular operation, a secondary follow-up question for the user making the request, or some other similar response. Accordingly, communication service 660 may be configured to direct the response to appropriated end user devices in end user devices 620. In some implementations, when the request from a particular end user device corresponds to an individual inquiry to secondary service 660, communication service 660 may only provide responses from secondary service 610 to the requesting end user device. In contrast, if a request corresponds to the group, communication service 660 may forward any return communication to all of the end user devices.
Communication interface 701 comprises components that communicate over communication links, such as network cards, ports, radio frequency (RF), processing circuitry and software, or some other communication devices. Communication interface 701 may be configured to communicate over metallic, wireless, or optical links. Communication interface 701 may be configured to use Time Division Multiplex (TDM), Internet Protocol (IP), Ethernet, optical networking, wireless protocols, communication signaling, or some other communication format—including combinations thereof. In some implementations, communication interface 701 is configured to communicate end user devices that use a group communication application, wherein the communication interface is used to transfer and receive voice communications for the devices in a particular communication group. Further, communication interface 701 may interface with a secondary service, wherein the secondary service may comprise a shopping service, a concierge service, a food ordering service, or some other similar service that can be accessed via a voice command in the voice communication application.
User interface 702 comprises components that interact with a user to receive user inputs and to present media and/or information. User interface 702 may include a speaker, microphone, buttons, lights, display screen, touch screen, touch pad, scroll wheel, communication port, or some other user input/output apparatus—including combinations thereof. User interface 702 may be omitted in some examples.
Processing circuitry 705 comprises microprocessor and other circuitry that retrieves and executes operating software 707 from memory device 706. Memory device 706 may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Memory device 706 may be implemented as a single storage device, but may also be implemented across multiple storage devices or sub-systems. Memory device 706 may comprise additional elements, such as a controller to read operating software 707. Examples of storage media include random access memory, read only memory, magnetic disks, optical disks, and flash memory, as well as any combination or variation thereof, or any other type of storage media. In some implementations, the storage media may be a non-transitory storage media. In some instances, at least a portion of the storage media may be transitory. It should be understood that in no case is the storage media a propagated signal.
Processing circuitry 705 is typically mounted on a circuit board that may also hold memory device 706 and portions of communication interface 701 and user interface 702. Operating software 707 comprises computer programs, firmware, or some other form of machine-readable program instructions. Operating software 707 includes communication module 708, key phrase module 709, and forward module 710, although any number of software modules within the application may provide the same operation. Operating software 707 may further include an operating system, utilities, drivers, network interfaces, applications, or some other type of software. When executed by processing circuitry 705, operating software 707 directs processing system 703 to operate computing system 700 as described herein.
In at least one implementation, communication module 708, when read and executed by processing system 703, directs processing system 703 to exchange voice communications for end user devices that belong to a communication group. This group may comprise individuals of an organization, a subset of individuals from an organization, a group of friends, or some other similar group of individual users. In some examples, the voice communications may comprise PTT communications, wherein each of the users is capable of using a user interface to change from transmitting to receiving mode.
During the communications, key phrase module 709 directs processing system 703 to identify a voice communication from one of the end user devices in the group communication that invokes a secondary service, wherein invoking the second service may include the identification of a defined phrase. Once a communication is identified with a key phrase, forward module 710 directs processing system 703 to forward at least a portion of the identified voice communication to the associated secondary service.
In some implementations, key phrase module 709 may further direct processing system 703 to perform operations to determine whether the key phrase provided in a communication is directed at a request for the group of users in the communication group or is directed at only the individual of the communication group. Based on the determination, key phrase module 709 may add an identifier to the communication transferred to the secondary service indicating the user or group associated with the request, and may further limit the forwarding to other end users if the request is for the individual or only a subset of the overall group.
Returning to the elements of
End user devices 120-122 can each be a user device, subscriber equipment, customer equipment, access terminal, smartphone, personal digital assistant (PDA), computer, tablet computing device, e-book, Internet appliance, media player, game console, or some other user communication apparatus, including combinations thereof. End user devices 120-122 can each include communication interfaces, network interfaces, processing systems, computer systems, microprocessors, storage systems, storage media, or some other processing devices or software systems.
Communication links 150-153 each use metal, glass, optical, air, space, or some other material as the transport media. Communication links 150-153 can each use various communication protocols, such as Time Division Multiplex (TDM), asynchronous transfer mode (ATM), Internet Protocol (IP), Ethernet, synchronous optical networking (SONET), hybrid fiber-coax (HFC), circuit-switched, communication signaling, wireless communications, or some other communication format, including combinations, improvements, or variations thereof. Communication links 150-153 can each be a direct link or can include intermediate networks, systems, or devices, and can include a logical network link transported over multiple physical links. Although one main link for each of links 150-153 is shown in
The included descriptions and figures depict specific implementations to teach those skilled in the art how to make and use the best option. For the purpose of teaching inventive principles, some conventional aspects have been simplified or omitted. Those skilled in the art will appreciate variations from these implementations that fall within the scope of the invention. Those skilled in the art will also appreciate that the features described above can be combined in various ways to form multiple implementations. As a result, the invention is not limited to the specific implementations described above, but only by the claims and their equivalents.
This application hereby claims the benefit of and priority to U.S. patent application Ser. No. 15/729,835, entitled “GROUP COMMUNICATION FORWARDING TO A SECONDARY SERVICE”, filed on Oct. 11, 2017, and to U.S. Provisional Patent Application No. 62/406,795, titled “GROUP COMMUNICATION FORWARDING TO A SECONDARY SERVICE,” filed Oct. 11, 2016, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62406795 | Oct 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15729835 | Oct 2017 | US |
Child | 16665930 | US |