US20190149959A1 - Method for controlling a virtual talk group memeber to perform an assignment - Google Patents
Method for controlling a virtual talk group memeber to perform an assignment Download PDFInfo
- Publication number
- US20190149959A1 US20190149959A1 US15/814,738 US201715814738A US2019149959A1 US 20190149959 A1 US20190149959 A1 US 20190149959A1 US 201715814738 A US201715814738 A US 201715814738A US 2019149959 A1 US2019149959 A1 US 2019149959A1
- Authority
- US
- United States
- Prior art keywords
- talk group
- group member
- virtual
- assignment
- talk
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 claims abstract description 179
- 230000004044 response Effects 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 7
- 238000003058 natural language processing Methods 0.000 claims description 4
- 230000002194 synthesizing effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 8
- 230000003068 static effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 208000027418 Wounds and injury Diseases 0.000 description 4
- 230000006378 damage Effects 0.000 description 4
- 208000014674 injury Diseases 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000238558 Eucarida Species 0.000 description 1
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000000383 hazardous chemical Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W4/08—User group management
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
-
- G10L13/043—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/56—Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
- H04M3/562—Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities where the conference facilities are distributed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W4/10—Push-to-Talk [PTT] or Push-On-Call services
Definitions
- Tablets, laptops, phones for example, cellular or satellite
- mobile (vehicular) or portable (personal) two-way radios, and other communication devices are now in common use by users, such as first responders (including firemen, police officers, and paramedics, among others), and provide such users and others with instant access to increasingly valuable additional information and resources such as vehicle histories, arrest records, outstanding warrants, health information, real-time traffic or other situational status information, and any other information that may aid the user in making a more informed determination of an action to take or how to resolve a situation, among other possibilities.
- first responders including firemen, police officers, and paramedics, among others
- additional information and resources such as vehicle histories, arrest records, outstanding warrants, health information, real-time traffic or other situational status information, and any other information that may aid the user in making a more informed determination of an action to take or how to resolve a situation, among other possibilities.
- Many such communication devices further comprise, or provide access to, electronic digital assistants (or sometimes referenced as “virtual partners”) that may provide the user thereof with valuable information in an automated (for example, without further user input) or semi-automated (for example, with some further user input) fashion.
- the valuable information provided to the user may be based on explicit requests for such information posed by the user via an input (for example, such as a parsed natural language input or an electronic touch interface manipulation associated with an explicit request) in which the electronic digital assistant may reactively provide such requested valuable information, or may be based on some other set of one or more context or triggers in which the electronic digital assistant may proactively provide such valuable information to the user absent any explicit request from the user.
- electronic digital assistants such as Siri provided by Apple, Inc.® and Google Now provided by Google, Inc.®, are software applications running on underlying electronic hardware that are capable of understanding natural language, and may complete electronic tasks in response to user voice inputs, among other additional or alternative types of inputs. These electronic digital assistants may perform such tasks as taking and storing voice dictation for future reference and retrieval, reading a received text message or an e-mail message aloud, generating a text message or e-mail message reply, looking up requested phone numbers and initiating a phone call to a requested contact, generating calendar appointments and providing appointment reminders, warning users of nearby dangers such as traffic accidents or environmental hazards, and providing many other types of information in a reactive or proactive manner.
- FIG. 1 is a block diagram of a communication system, in accordance with some embodiments.
- FIG. 2 is a block diagram of a communication device, in accordance with some embodiments.
- FIG. 3 is a block diagram of a talk group server, in accordance with some embodiments.
- FIG. 4 illustrates a flow chart of a method for controlling a virtual talk group member to perform an assignment.
- FIG. 5 illustrates a message flow diagram of a method for controlling a virtual talk group member to perform an assignment.
- FIG. 6 illustrates a message flow diagram of a method for controlling a virtual talk group member to perform an assignment.
- FIG. 7 illustrates an example scenario in which the method for controlling the virtual talk group member to perform an assignment is implemented.
- FIG. 8 illustrates a second example scenario in which the method for controlling the virtual talk group member to perform an assignment is implemented.
- FIG. 9 illustrates a third example scenario in which the method for controlling the virtual talk group member to perform an assignment is implemented.
- communication devices are often affiliated to different communication groups (also referred to as talk groups) to perform group communication.
- Group communication functionality allows a communication device (also referred to as a talk group member) to simultaneously communicate with multiple other devices that are associated with the same communication group. This avoids the need for communication devices to repeat the same message or establish different communication sessions to communicate the same message to other devices.
- a push to talk (PTT) interface is implemented to allow a user of the radio to press the push to talk interface to transmit audio on one or more communication channels (which may include a talk group channel or a private channel) for reception by multiple users associated with the talk group or for reception by a single user, respectively.
- Electronic digital assistants are implemented in public safety communication systems to automatically switch a user from one talk group to another talk group. Switching the user to another talk group may be performed based on an explicit request by the user via an input (for example, such as a parsed natural language input or an electronic touch interface manipulation associated with the explicit request) in which the electronic digital assistant may reactively switch the user to another talk group, or may be based on some other set of one or more context or triggers in which the electronic digital assistant may proactively switch the user to another talk group absent any explicit request from the user.
- an input for example, such as a parsed natural language input or an electronic touch interface manipulation associated with the explicit request
- the electronic digital assistant may proactively switch the user to another talk group absent any explicit request from the user.
- electronic digital assistants may be added to the original talk group as a ‘virtual talk group member’ to monitor group audio communications exchanged between members of the original talk group as well as provide audio responses to members in the original talk group when a talk group member poses a question in the original talk group.
- the response provided by another talk group member in the group may not be completely relevant to the question (or response) posed by the ‘virtual talk group member’ unless the electronic digital assistant identifies the talk group member it is representing, every time it poses (or responds to) a question to the talk group.
- the virtual talk group member (for example, implemented as an electronic digital assistant) performs an assignment, for example, by communicating in a given talk group on behalf of a talk group member using the user profile of the talk group member, where the talk group member may be currently associated or actively communicating in a different talk group when the virtual talk group member performs the assignment in the given talk group.
- One embodiment provides a method of operating a talk group server for controlling a virtual talk group member.
- the method includes determining, at an electronic processor, an assignment for a virtual talk group member to join a second talk group and communicate on behalf of a talk group member associated with a first talk group; obtaining, at the electronic processor, user profile associated with the talk group member; joining, at the electronic processor, the virtual talk group member to the second talk group using the user profile associated with the talk group member; and controlling, at the electronic processor, the virtual talk group member to generate audio communications as a function of the user profile associated with the talk group member and transmit audio communications on the second talk group.
- a talk group server that includes an electronic processor and a communication interface communicatively coupled to the electronic processor.
- the electronic processor is configured to determine an assignment for a virtual talk group member to join a first talk group and communicate on behalf of a talk group member associated with a second talk group, obtain user profile associated with the talk group member, cause the virtual talk group member to join the first talk group using the user profile associated with the talk group member, and control the virtual talk group member to perform the assignment by generating audio communications as a function of the user profile associated with the talk group member and transmitting audio communications on the first talk group.
- a communication system 100 including a plurality of communication devices 110 - 1 through 110 - n , a base station 120 , and an infrastructure radio access network (RAN) 130 .
- the plurality of communication devices 110 - 1 through 110 - n can be interchangeably referred to, collectively, as communication devices 110 , and generically as a communication device 110 .
- the communication device 110 may be associated with or subscribed to one or more talk groups to perform group communication.
- the communication devices 110 - 1 through 110 - n may be operated by respective users 115 - 1 through 115 - n (for example, a first responder), generically referred to as user(s) 115 .
- the users 115 may carry or wear the respective communication devices, such as a battery-powered portable radio used for narrowband and/or broadband direct-mode or infrastructure communications, a battery-powered radio speaker microphone (RSM) video capture device, a laptop having an integrated video camera and used for data applications such as incident support applications, smart glasses which may be virtual reality, augmented reality, or mixed reality glasses, wearable communication devices, mobile phones, and vehicular radios.
- Each communication device 110 may include one or more wireless communication interfaces for communicating with a base station 120 and/or directly with one or more other communication devices 110 in the system 100 .
- the base station 120 and infrastructure RAN 130 works in tandem to provide infrastructure wireless communication services to served communication devices 110 that are within a wireless transmission range of the base station 120 .
- infrastructure RAN 130 is illustrated in FIG. 1 as including a talk group server 140 , external networks 150 , and a dispatch console 160 , in other embodiments, RAN infrastructures may contain a subset of such components or may contain a superset of such components.
- infrastructure RAN 130 may include one or more elements such as additional base stations, base station controllers, router, switches, gateways, and the like, arranged, connected, and programmed to provide wireless service to communication devices 110 .
- the communication system 100 could take the form of a public-safety radio network or commercial broadband network.
- the talk group server 140 may be, for example, a radio controller, PTT server, zone controller, mobile management entity (MME), base station controller (BSC), mobile switching center, site controller, call controller, or other network device. While the talk group server 140 is illustrated as a separate entity in the system 100 , the talk group server 140 may be integrated with other devices (such as a zone controller) in the infrastructure RAN 130 and/or within BS 120 . The talk group server 140 may be configured to provide registration, authentication, encryption, routing, and/or other services to communication devices 110 operating within the coverage area of the base station 120 , in addition to further features and functions disclosed herein.
- MME mobile management entity
- BSC base station controller
- the talk group server 140 may be configured to provide registration, authentication, encryption, routing, and/or other services to communication devices 110 operating within the coverage area of the base station 120 , in addition to further features and functions disclosed herein.
- the talk group server 140 may additionally track or have access to group subscription information that, for each group identifier associated with a particular group of communication devices 110 (e.g., talk group), identifies communication devices 110 (e.g., by a device identifier (ID) such as a hardware ID, hardware Media Access Control (MAC) address, Internet Protocol (IP) address, radio ID, International Mobile Subscriber Identity (IMSI), a serial number, or some other unique identifier that can be used to identify subscribed member communication devices) that are members of the particular group of communication devices 110 .
- ID device identifier
- MAC hardware Media Access Control
- IP Internet Protocol
- IMSI International Mobile Subscriber Identity
- serial number or some other unique identifier that can be used to identify subscribed member communication devices
- the communication device 110 that is a member of a particular talk group may be referred herein as a ‘talk group member’ and an electronic digital assistant or electronic module that is added to a particular talk group to monitor communications in the talk group on behalf of a talk group member may be referred herein as a ‘virtual talk group member’.
- a term such as “communication group” could be used instead, and that the media data being exchanged among the members of the group could be any suitable type of data, such as voice data, image data, video data, and the like.
- the term “talk group” is used in this disclosure to refer to groups of communications devices as well as virtual talk group members created and/or maintained in the infrastructure RAN 130 .
- External networks 150 may be made accessible to communication devices 110 via infrastructure RAN 130 .
- External networks 150 may include, for example, a public switched telephone network (PSTN), a plain old telephone (POT) system, a wide-area packet-switched network such as the Internet, or another wired or wireless service provider's network, among other possibilities.
- PSTN public switched telephone network
- POT plain old telephone
- Internet wide-area packet-switched network
- another wired or wireless service provider's network among other possibilities.
- Dispatch console 160 may be directly coupled to the talk group server 140 , as shown, or may be indirectly coupled to talk group server 140 via one or more internal or externals networks.
- the dispatch console 160 allows an administrator or dispatcher at a dispatch console to initiate infrastructure-sourced group communications to groups of communication devices 110 , among other features and functions.
- the dispatch console 160 may also be added to one or more talk groups as a member of the talk groups, to transmit and/or listen to communications on the talk groups.
- the virtual talk group member can also be created in one or more talk groups to represent the dispatch console 160 .
- Infrastructure RAN 130 and base station 120 may implement one or more radio access technologies (RATs) and may communicate with communication devices 110 over respective air-interface links 170 - 1 through 170 - n (collectively referred to as air-interface link or links 170 ) according to the one or more RATs.
- RATs include a direct-mode, conventional, or infrastructure-mode trunked land-mobile-radio (LMR) standard or protocol such as European Telecommunications Standards Institute (ETSI) Digital Mobile Radio (DMR), a Project 25 (P25) standard defined by the Association of Public Safety Communications Officials International (APCO), Terrestrial Trunked Radio (TETRA), or other LMR radio protocols or standards.
- LMR local area network
- ETSI European Telecommunications Standards Institute
- DMR Digital Mobile Radio
- P25 Project 25
- APCO Association of Public Safety Communications Officials International
- TETRA Terrestrial Trunked Radio
- RATs operate in accordance with standard and/or protocols such as Long Term Evolution (LTE), LTE-Advance, or 5G protocol including multimedia broadcast multicast services (MBMS) or single site point-to-multipoint (SC-PTM) over which an open mobile alliance (OMA) push to talk (PTT) over cellular (OMA-PoC), a voice over IP (VoIP), an LTE Direct or LTE Device to Device, or a PTT over IP (PoIP) application.
- LTE Long Term Evolution
- MBMS multimedia broadcast multicast services
- SC-PTM single site point-to-multipoint
- OMA open mobile alliance
- PTT push to talk
- VoIP voice over IP
- LTE Direct or LTE Device to Device or a PTT over IP (PoIP) application.
- FIG. 1 illustrates an example in which all communication devices 110 use a same RAT, in other embodiments, each communication device or set of communication devices may use different RATs to communicate with one or more same or different infrastructure RAN.
- Downlink communications over air-interfaces 170 may be addressed to communication devices 110 (e.g., multicast or broadcast using an identifier, such as a Subscriber Group ID (SGID), that is associated with a group of communication devices), and/or to one or more single communication devices (e.g., unicast using an identifier, such as a Subscriber Unit Identifier (SUID), that is uniquely associated with that communication device), among other possibilities that are known to those of skill in the art.
- SGID Subscriber Group ID
- SUID Subscriber Unit Identifier
- communication devices may also maintain ad-hoc or direct-mode (“ad-hoc”) air-interface links without any intervening infrastructure between them.
- the communication device 110 - 1 may be wirelessly coupled to communication device 110 - 2 via a direct-mode air interface link (not shown) in accordance with one or more direct-mode air-interface protocols, such as Bluetooth, near field communication (NFC), Infrared Data Association (IrDA), ZigBee, direct-mode land-mobile-radio (LMR), and/or Wi-Fi, as long as the devices are within mutual transmission range of one another.
- direct-mode air-interface protocols such as Bluetooth, near field communication (NFC), Infrared Data Association (IrDA), ZigBee, direct-mode land-mobile-radio (LMR), and/or Wi-Fi
- FIG. 2 is an example functional block diagram of a communication device 110 operating within the communication system 100 in accordance with some embodiments.
- the communication device 110 comprises a radio frequency communications unit 210 coupled to a common data and address bus 222 of a processing unit 220 .
- the communication device 110 may also include an input 230 and a display screen 240 , each coupled to be in communication with processing unit 220 .
- the input 230 may include an alphanumeric physical keypad (or virtual keypad in cooperation with capacitive touch display screen 240 ) for inputting text for group communications.
- the display screen 240 may further function to display group communications received via communications unit 210 .
- a microphone 250 captures audio from a user that is further vocoded by processing unit 220 and transmitted as voice data by communication unit 210 to other communication devices 110 or other devices in system 100 .
- a communications speaker 260 reproduces audio that is decoded from voice data transmissions received from other communication devices via the communications unit 210 .
- the processing unit 220 may also include an encoder/decoder 221 with an associated code Read Only Memory (ROM) 223 for storing data for initializing system components and encoding and/or decoding voice or other traffic information (including image data, audio data, video data, text data, control signals, etc.) that may be transmitted or received by the communication device 110 .
- the processing unit 220 may further include a electronic processor 224 coupled, by the common data and address bus 222 , to the encoder/decoder 221 , a RAM 225 , and a static memory 226 .
- the radio frequency communications unit 210 is a combined receiver and transmitter (e.g., transceiver) having a common antenna 212 .
- the radio frequency communications unit 210 has a transceiver 214 coupled to the antenna 212 via a radio frequency amplifier 216 .
- the transceiver 214 may be a transceiver operating in accordance with one or more standard protocols, such as a DMR transceiver, a P25 transceiver, a TETRA transceiver, a Bluetooth transceiver, an LTE transceiver, a Wi-Fi transceiver perhaps operating in accordance with an IEEE 802.11 standard (e.g., 802.11a, 802.11b, 802.11g), a WiMAX transceiver perhaps operating in accordance with an IEEE 802.16 standard, an LTE transceiver, and/or other similar type of wireless transceiver configurable to communicate via a wireless network.
- the transceiver 214 is also coupled to a combined modulator/demodulator 218 that is coupled to the encoder/decoder 221 .
- the electronic processor 224 has ports for coupling to the input 230 and to the display screen 240 .
- the electronic processor 224 further has ports for coupling to the microphone 250 and to the speaker 260 .
- the static memory 226 may store operating code 227 for the electronic processor 224 that, when executed by the electronic processor 224 , perform one or more of the operations set forth in FIGS. 4-9 and accompanying text.
- Static memory 226 may comprise, for example, a HDD, an optical disk drives such as a CD drive or DVD drive, a SSD, a tape drive, a flash memory drive, or a tape drive, to name a few.
- the input 230 may include a push-to-talk (PTT) key 232 that functions to activate a transmit function in a half or full-duplex communication device, transitioning the communication device (when activated) from a listen-only mode to a transmit-only mode (for half-duplex communication devices) or transmit and receive mode (for full-duplex communication devices).
- PTT key 232 may be a hard mechanical switch set under spring pressure and operated by a finger or hand pressure of a user, or may be a contact switch that is operated by a presence of a grounding element such as a user's finger or hand over or on a surface of the contact switch.
- the PTT key 232 may be a soft-switch that is programmed to act as a PTT key at all times or only during certain situations, and may take the form of a geometric shape on a touch-sensitive screen labeled with its function or some other input key or button. Other possibilities exist as well.
- FIG. 3 is an example functional block diagram of a talk group server 140 that operates within the communication system 100 to control a virtual talk group member to perform an assignment in accordance with some embodiments. While FIG. 3 represents the talk group server 140 described above with respect to FIG. 1 , depending on the type of the server, the talk group server 140 may include fewer or additional components in configurations different from that illustrated in FIG. 3 . As shown in FIG. 3 , the talk group server 140 includes a communications unit 310 that is coupled to a common data and address bus 322 of the processing unit 320 .
- the communications unit 310 may include one or more wired or wireless input/output (I/O) interfaces 312 that are configurable to communicate with communication devices 110 , base station 120 , and/or with other devices in or communicably coupled to the system 100 .
- the communications unit 310 may include one or more wireless transceivers 314 , such as a DMR transceiver, a P25 transceiver, a Bluetooth transceiver, a Wi-Fi transceiver perhaps operating in accordance with an IEEE 802.11 standard (e.g., 802.11a, 802.11b, 802.11g), a WiMAX transceiver perhaps operating in accordance with an IEEE 802.16 standard, an LTE transceiver, and/or other similar type of wireless transceiver configurable to communicate via a wireless radio network.
- IEEE 802.11 standard e.g., 802.11a, 802.11b, 802.11g
- WiMAX transceiver perhaps operating in accordance with an IEEE 802.16 standard
- the communications unit 310 may additionally include one or more wireline transceivers 314 , such as an Ethernet transceiver, a Universal Serial Bus (USB) transceiver, or similar transceiver configurable to communicate via a twisted pair wire, a coaxial cable, a fiber-optic link or a similar physical connection to a wireline network.
- the transceiver 314 is also coupled to a combined modulator/demodulator 316 that is coupled to an encoder/decoder 324 of the processing unit 320 .
- the processing unit 320 may include the encoder/decoder 324 with an associated code Read Only Memory (ROM) 326 for storing data for initializing system components, and encoding and/or decoding voice, data, control, or other signals that may be transmitted or received between the talk group server 140 and communication devices 110 in the system 100 .
- the processing unit 320 may further include a electronic processor 328 coupled, by the common data and address bus 322 , to the encoder/decoder 324 , a Random Access Memory (RAM) 330 , and a static memory 332 .
- RAM Random Access Memory
- Static memory 332 may comprise, for example, a hard-disk drive (HDD), an optical disk drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a solid state drive (SSD), a tape drive, a flash memory drive, or a tape drive, to name a few.
- HDD hard-disk drive
- CD compact disk
- DVD digital versatile disk
- SSD solid state drive
- tape drive a tape drive
- flash memory drive or a tape drive
- Static memory 332 may store (or talk group server 140 may have access to, via communications unit 310 ) permanently or temporarily, group subscription information 334 that, for each group identifier associated with a particular group of communication devices, identifies communication devices 110 that are members of the particular group. Additionally or alternatively, static memory 332 may also store (or talk group server 140 may have access to, via communications unit 310 ), user profile 336 corresponding to each communication device 110 that is a member of a talk group managed by the talk group server 140 .
- the user profile 336 for each talk group member includes information related to one or more of device identifier corresponding to the talk group member, talk group identifier with which the talk group member is currently associated, one or more voice characteristics of the talk group member (i.e., voice characteristics of user of the communication device 110 ), and a determined context corresponding to the talk group members.
- the determined context may include information identifying an incident (e.g., an event, type, and location of the incident assigned to a first responder) associated with the talk group member, an agency (e.g., fire fighter or police department) to which the talk group member is affiliated, rank, experience, and role of the talk group member, historical talk group conversations (i.e., recorded conversations) associated with the talk group member, knowledge data (e.g., skill level and knowledge level of the user) of the talk group member, and sensor data (e.g., such as an indication of a gun being removed from holster, heart rate of the user, ambient audio data, environmental data etc.,) corresponding to the talk group member.
- incident e.g., an event, type, and location of the incident assigned to a first responder
- an agency e.g., fire fighter or police department
- historical talk group conversations i.e., recorded conversations
- knowledge data e.g., skill level and knowledge level of the user
- sensor data e.g., such as an indication
- Static memory 332 may further store operating code 338 for the electronic processor 328 that, when executed, performs one or more of the functions set forth in FIGS. 4-9 and accompanying text.
- the electronic processor 328 of the talk group server 140 determines an assignment for a virtual talk group member and uses the user profile 336 of a given talk group user or member (also referred to as original talk group member) to create a virtual talk group member and further cause the virtual talk group member to join to a talk group (also referred to as a target talk group or a destination talk group), such that the virtual talk group member can communicate on behalf of the original talk group member in the target talk group, even while the original talk group member is associated or actively communicating on another talk group.
- a talk group also referred to as a target talk group or a destination talk group
- the electronic processor 328 also controls the virtual talk group member to generate audio communications as a function of the user profile 336 associated with the original talk group member. For example, the electronic processor 328 may control the virtual talk group member to synthesize voice that is similar to the original talk group member using the voice characteristics of the original talk group member and transmit audio communications using the synthesized voice on the target talk group. In another example, the electronic processor 328 may control the virtual talk group member to generate content for audio communications based on historical talk group conversations (e.g., based on data content previously sent or received by the original talk group member in the associated talk groups).
- the electronic processor 328 may use other data such as skill and knowledge level in the user profile of a talk group member to identify data content (for example, extracted from the historical conversations or data stored in one or more databases in the system 100 ) that is likely to be spoken by the original talk group member in a given context or situation during group communication. Then the electronic processor 328 uses such determined data content to generate audio communications to be transmitted by the virtual talk group member on the target talk group on behalf of the original talk group member.
- data content for example, extracted from the historical conversations or data stored in one or more databases in the system 100
- the electronic processor 328 uses such determined data content to generate audio communications to be transmitted by the virtual talk group member on the target talk group on behalf of the original talk group member.
- the virtual talk group member may be implemented via an electronic digital assistant that may be executed on one or more computing devices (not shown) in the system 100 .
- an individual component and/or a combination of individual components of the system 100 may be referred to as an electronic computing device that implements an electronic digital assistant as mentioned above.
- the talk group server 140 illustrated in FIG. 1 or a component in external networks (such as back-end infrastructure device or combination of back-end infrastructure devices existing on-premises or in a remote cloud computing cluster accessible via the infrastructure RAN 130 ), may additionally or alternatively operate as a back-end electronic digital assistant consistent with the remainder of this disclosure.
- the electronic computing device may be a single electronic processor (for example, electronic processor 224 of the communication device 110 shown in FIG. 2 or electronic processor 328 of the talk group server 140 shown in FIG. 3 ).
- the electronic computing device includes multiple electronic processors distributed remotely from each other.
- the electronic computing device may be implemented on a combination of at least two of the electronic processor 328 of the talk group server 140 , the electronic processor 224 of the communication device 110 , and an electronic processor (not shown) of a back-end device such as in a cloud computing cluster (not shown) in the system 100 .
- FIG. 4 illustrates a flow chart diagram of a method 400 performed by the talk group server 140 for controlling a virtual talk member to perform an assignment. While a particular order of processing steps, message receptions, and/or message transmissions is indicated in FIG. 4 as an example, timing and ordering of such steps, receptions, and transmissions may vary where appropriate without negating the purpose and advantages of the examples set forth in detail throughout the remainder of this disclosure.
- the method shown in FIG. 4 can be performed by one or more components, for example, electronic processor 328 of the talk group server 140 , and will be described with reference to the functions and components of the system 100 .
- the talk group server 140 determines an assignment for a virtual talk group member to join a first talk group (i.e., target talk group) and communicate on behalf of a talk group member associated with a second talk group.
- the talk group server 140 determines this assignment, for example, based on an audio inquiry received from a talk group member.
- a talk group user may, for example, provide an audio inquiry (i.e., a voice command) that is received by the microphone 250 of the communication device 110 .
- the electronic digital assistant (for example, implemented at the communication device 110 of the user 115 or at the talk group server 140 or at one or more other electronic computing devices in the system 100 ) receives signals representative of the audio inquiry (directly from the microphone 250 or through monitoring audio communications on a talk group channel associated with the talk group of the user 115 ) and analyzes the signals to identify the intent and/or content of the audio inquiry.
- the electronic digital assistant processes the audio inquiry via a natural language processing (NLP) engine to identify the intent and/or content of the audio inquiry.
- NLP natural language processing
- the electronic digital assistant identifies that the intent and/or content of the audio inquiry indicates a need to create a virtual talk group member to perform an assignment.
- the electronic digital assistant processes the audio inquiry to extract information related to: the talk group member for which the virtual talk group member is to be created or configured, the assignment to be completed by the virtual talk group member, and the talk group (i.e., first talk group) to which the virtual talk group member is to join to perform the assignment.
- the term ‘assignment’ indicates one or more tasks assigned to be performed by a virtual talk group member on behalf of a given talk group member, and the tasks may include, but not limited to, one or more of: monitoring and/or recording conversations between members of a given talk group, automatically responding to questions posed by a member of the given talk group, requesting specific information and/or posing questions to members in the given talk group; and providing recorded portions of the monitored conversations (e.g., summarized conversations) to a requesting talk group member or to the given talk group member.
- the audio inquiry from the user 115 may indicate that the user 115 wants to switch from a first talk group to a second talk group.
- the talk group server 140 in addition to switching the user 115 (i.e., corresponding talk group member/communication device 110 ) to the second talk group, may also determine an assignment for a virtual talk group member to join the first talk group (i.e., the talk group with which the user 115 was associated and/or communicating immediately prior to switching to the second talk group) and communicate on behalf of the user 115 in the first talk group while the user 115 is communicating in the second talk group after switching to the second talk group.
- the audio inquiry may be issued by a user 115 with a request to create a virtual talk group member for another user.
- a commanding officer may issue a request to create a virtual talk group member, such that the virtual talk group member can perform an assignment in a given talk group on behalf of another user who reports to the commanding officer.
- the talk group server 140 may determine an assignment for a virtual talk group member based on the request received from the commanding officer.
- the talk group server 140 may automatically determine an assignment and need to create a virtual talk group member without receiving an audio inquiry from a given talk group member. For example, the talk group server 140 may monitor whether a given talk group member has switched from a first talk group to a second talk group (for example, based on an affiliation request from the given talk group member to join to the second talk group), and may automatically determine an assignment for a virtual talk group member when the given talk group member switches from the first talk group to second talk group.
- the talk group server 140 may create a virtual talk group member using the user profile of the given talk group member and further control the virtual talk group member to join the given talk group member's original talk group (i.e., first talk group) after the given talk group member has switched to the second talk group.
- the talk group server 140 obtains user profile (for example, user profile 336 stored in the memory 332 ) associated with a talk group member (also referred herein as original talk group member) for which the virtual talk group member is to be created to perform the assignment.
- user profile for example, user profile 336 stored in the memory 332
- a talk group member also referred herein as original talk group member
- the talk group server 140 causes the virtual talk group member to join the first talk group using the user profile 336 of the talk group member.
- the talk group server 140 registers a virtual talk group member with the first talk group using the same profile with which the talk group member was previously registered with the first talk group.
- the talk group server 140 further updates the group subscription information 334 in the memory 332 . For example, the group identifier corresponding to the first talk group in the group subscription information 334 is updated to indicate that the virtual talk group member is now a member of the first talk group.
- a device identifier associated with an electronic computing device e.g., the communication device 110 or another computing device located in the system and communicatively coupled to the talk group server 140 ) at which the virtual talk group member is configured or implemented is added to the group subscription information 334 .
- the talk group server 140 also configures talk group resources (e.g. communication channels) for the virtual talk group member (i.e., the corresponding electronic computing device) to allow the virtual talk group member to transmit and/or receive audio communications in the first talk group.
- talk group resources e.g. communication channels
- the talk group server 140 controls the virtual talk group member to perform the assignment by generating audio communications as a function of the user profile associated with the talk group member and further transmitting audio communications on the first talk group.
- the talk group server 140 sends instructions to the virtual talk group member (i.e., the electronic computing device at which the virtual talk group member is implemented) to perform the assignment.
- the instructions to perform the assignment may further include a list of tasks to be performed by the virtual talk group member on the first talk group and also one or more parameters included in the user profile that needs to be applied when generating and/or transmitting audio communications on a talk group channel associated with the talk group.
- the talk group server 140 may instruct the virtual talk group member to apply the voice characteristics of the talk group member as identified in the user profile when responding to any questions posed by other talk group members on the talk group.
- the talk group server 140 updates the user profile 336 when there is a change in one or more parameters or context associated with the user profile 336 , and further instructs the virtual talk group member to perform the assignment using the updated user profile.
- the talk group server 140 may instruct the virtual talk group member to transmit an audio tone prior to and/or after transmitting audio communications on behalf of the talk group member on the first talk group.
- the audio tone may indicate that a ‘virtual talk group member’ is responding to a question on behalf of a user.
- the audio tone may also indicate an identifier of the original talk group member.
- the talk group server 140 instructs the virtual talk group member to generate content for audio communications based on historical talk group conversations (e.g., based on data content previously sent or received by the talk group member in the associated talk groups).
- the talk group server 140 instructs the virtual talk group member to apply skill and knowledge level (as included in the user profile 336 ) of the talk group member to identify data content (for example, extracted from the historical conversations or data stored in one or more databases in the system 100 ) used for generating audio communications for transmission on the first talk group. This allows the virtual talk group member to use data content that is likely be used by the original talk group member when responding to a question in a given context or situation during group communication in the first talk group.
- the virtual talk group member performs the assignment in the first talk group at the same time the original talk group member is actively transmitting and/or receiving audio communications (using the same user profile) on a different talk group (i.e., second talk group).
- the talk group server 140 determines whether the assignment is completed. For example, if the assignment is for the virtual talk group member to monitor conversations in the first talk group while the original talk group member is currently associated with the second talk group, the talk group server 140 detects that the assignment is completed when the original talk group member switches back from the second talk group to the first talk group.
- the talk group server 140 detects that the assignment is completed when the virtual talk group member collects the information from the first talk group (for example, by posing a question to members of the first talk group and receiving a response from one or more members including the information to be collected) and reports that the information is collected.
- the virtual talk group member determines the completion of the assignment and informs the talk group server 140 .
- the talk group server 140 determines the assignment is not completed, the talk group server 140 continues to control the virtual talk group member to perform the assignment. Otherwise, if the talk group server 140 determines that the assignment is completed, the talk group server 140 controls the virtual talk group member to report the results of the assignment as shown in block 430 . For example, if the assignment is related to monitoring conversations in the first talk group while the original talk group member is associated with the second talk group, the talk group server 140 instructs the virtual talk member to provide a copy of the monitored conversations (e.g., a report including summary of the monitored conversations) to the talk group member when the talk group member disassociates from the second talk group or alternatively switches back to the first talk group.
- a copy of the monitored conversations e.g., a report including summary of the monitored conversations
- the virtual talk group member may report only portions of monitored conversations that are of high priority to the user.
- the talk group server 140 instructs the virtual talk member to report the collected information to the talk group member.
- the result of the assignment may be provided to the talk group member (for example, via a private call from the virtual talk group member to the talk group member) as an audio output at the communication speaker 260 of the communication device 110 or in other forms such as video, image, or text forms at the display screen 240 of the communication device 110 .
- the talk group server 140 may instruct the virtual talk group member to report the results of the assignment on a talk group channel associated with the first talk group or another talk group so that the results may be received by all members of the first talk group or another talk group.
- the talk group server 140 may control the virtual talk group member to switch from the current talk group (i.e., first talk group) to another talk group (e.g., second talk group) in order to communicate the results of the assignment on the another talk group.
- the virtual talk group member may generate audio communications including information collected as a result of the completion of the assignment and further as a function of the user profile (for example, by applying voice characteristics) associated with the original talk group member.
- the virtual talk group member may then transmit the audio communications including information collected as result of the assignment on the second talk group with which the original talk group member is currently associated.
- the virtual talk group member may switch to a third talk group to report results of the assignment based on receiving an instruction from the talk group server 140 or based on a determination that the assignment itself indicates that the results are to be reported on the third talk group.
- the talk group server 140 may receive updates (e.g., in response to a change in the determined context) related to the user profile of a talk group member while a corresponding virtual talk group member is already performing an assignment related to a given talk group. In such cases, the talk group server 140 may also update the virtual talk group member. For example, the talk group server 140 may cause the virtual talk group member to re-register to the same talk group or to a different talk group using the updated user profile. In another example, the talk group server 140 may update the assignment to be performed by the virtual talk group member based on the updates to the user profile.
- the update to the user profile may indicate that the assignment is no longer required to be performed.
- the talk group server 140 causes the virtual talk group member to de-register or dissociate from the talk group.
- the talk group server 140 also updates the group subscription information 334 to remove the virtual talk group member from a list of members associated with the corresponding group identifier.
- a given talk group user may have multiple virtual talk group members that are created or configured by the talk group server 140 .
- each of the multiple virtual talk group members joins a different talk group and performs the assignment on the respective talk groups on behalf of the original talk group member.
- a single virtual talk group member may switch between different talk groups to perform the assignment (e.g., to communicate with different members) on the different talk groups on behalf of the original talk group member and further reports the results of the assignment after performing the assignment in multiple talk groups.
- FIG. 5 illustrates a message flow diagram 500 of a method 400 for controlling a virtual talk group member to perform an assignment, in accordance with some embodiments.
- the talk group server 140 is shown controlling a first talk group (TG 1 ) 505 and a second talk group (TG 2 ) 510 .
- a member of the first talk group 505 namely, user ‘A’ 520 requests 525 to create a virtual talk group member.
- the request 525 to create a virtual talk group member may be sent from one or more electronic computing devices (e.g., communication device 110 shown in FIG. 1 ) associated with user ‘A’ 520 .
- the user ‘A’ also assigns 530 a task for the virtual talk group member to be performed in the second talk group 510 .
- the request 525 may indicate the corresponding user i.e., a talk group member for which the virtual talk group member needs to be created.
- the user ‘A’ 520 may request that the virtual talk group member is to be created using a user profile of another user.
- the user ‘A’ 520 may request that the virtual talk group member is to be created using a user profile of the requesting user (i.e., user ‘A’ 520 ).
- the talk group server 140 creates a virtual talk group member 515 and further requests 535 the virtual talk group member to join the second talk group 510 using the user profile of user ‘A’ 520 .
- the talk group server 140 creates the virtual talk group member 515 by configuring one or more electronic computing devices in the system 100 to perform the role of a virtual talk group member using user profile of the user ‘A’ 520 .
- the talk group server 140 also sends 540 a notification for user ‘A’ 520 , for example, to the communication device 110 of user ‘A’ 520 , to indicate that a virtual talk group member 515 is joining the second talk group 510 using the user profile of user ‘A’ 520 .
- the virtual talk group member 515 joins 545 the second talk group 510 using the user profile of user ‘A’ 520 .
- the talk group server 140 causes the virtual talk group member 515 to join the second talk group 510 by registering the virtual talk group with the second talk group and further by configuring resources to enable the virtual talk group member to communicate in the second talk group 510 .
- the talk group server 140 also sends 550 task assignment to virtual talk group member 515 .
- the virtual talk group member 515 performs 555 the task in the second talk group 510 , for example, by monitoring conversations between members 518 of the second talk group 510 , or by communicating with members 518 of the second talk group 510 .
- the virtual talk group member 515 then reports 560 completion of the assignment to the talk group server 140 .
- the virtual talk group member 515 reports the completion of the assignment to the talk group server 140 after it has obtained the information in the second talk group 510 .
- the talk group server 140 requests 565 the virtual talk group member 515 to report the results of the assignment to user ‘A’ 520 .
- the virtual talk group member 515 then reports 570 the results of the assignment to user ‘A’ 520 , for example, via a private call with the communication device 110 of the user ‘A’, 520 or by switching to the first talk group 505 .
- FIG. 6 illustrates a message flow diagram 600 of a method 400 for controlling a virtual talk group member to perform an assignment, in accordance with some embodiments.
- the talk group server 140 is shown controlling a first talk group (TG 1 ) 605 and a second talk group (TG 2 ) 610 .
- a member of the first talk group 605 namely, user ‘A’ 620 requests 625 to switch to a second talk group 610 , for example, through voice command or by turning a frequency knob of the communication device 110 to select a channel associated with the second talk group 610 .
- the talk group server 140 creates a virtual talk group member 615 and further requests 635 the virtual talk group member 615 to join the first talk group 605 using the user profile of user ‘A’ 620 .
- the talk group server 140 sends 645 task assignment to virtual talk group member 615 to monitor conversations between members 618 in the first talk group 605 while user ‘A’, 620 may be communicating in the second talk group 610 .
- the virtual talk group member performs 650 the task by monitoring conversations between members 618 in the first talk group 605 while the user ‘A” 620 communicates 655 with members 619 in the second talk group 610 .
- the user ‘A” 620 requests 660 the talk group server 140 to switch the user ‘A” 620 to the first talk group 605 , for example, through another voice command or by turning the frequency knob to the original frequency channel position associated with the first talk group 605 .
- the talk group server 140 requests 670 the virtual talk group member 615 to report results of assignment to user ‘A” 620 .
- the virtual talk group member 615 reports 675 the results of the assignment to user ‘A’ 620 , for example, via a private call to a communication device 110 of user ‘A’ 620 or by transmitting audio communications including the results of the assignment on the first talk group 605 .
- FIG. 7 illustrates a first example scenario 700 in which the method 400 for controlling the virtual talk group member to perform an assignment can be implemented.
- a user named ‘Smith’ 710 is shown as a member of the talk group ‘Police’ 705 .
- the user ‘Smith’ 710 issues a voice command 715 to request to create a virtual talk group member.
- a text command to create a virtual talk group member may also be received.
- the virtual talk group member is referred to as ‘virtual Smith’ (or ‘virtual self’) since the user's request is to create a virtual talk group member to perform an assignment using his own user profile i.e., of user ‘Smith’ 710 .
- the voice command 715 is processed, for example, via an electronic digital assistant (EDA) 720 to identify: a profile identifier 716 which indicates that the virtual talk group member is to be created using the user profile of the requesting user i.e., user ‘Smith’ 710 ; an assigned task 717 which indicates the task to be performed by the virtual talk group member; and a destination talk group 718 which indicates a talk group to which the virtual talk group needs to join to perform the assigned task.
- EDA electronic digital assistant
- the electronic digital assistant 720 acknowledges the voice command 715 and provides an audio confirmation 725 in the talk group 705 when the virtual talk group member, i.e., ‘Virtual Smith’ 730 is created and added to the destination talk group, i.e., talk group ‘Medic’ 750 .
- virtual ‘Smith’ 730 performs the assigned task.
- virtual ‘Smith’ 730 issues an audio inquiry 755 on the talk group ‘Medic’ 750 to check the injury status for officer ‘John.’
- the audio inquiry 755 may include an audio tone (such as a ‘beep’) prior to and/or after transmitting message portion of the audio inquiry 755 .
- the virtual ‘Smith’ 730 may or may not need to introduce itself as virtual ‘Smith’ since the audio inquiry is synthesized based on voice profile of user ‘Smith’ 710 which the members 760 of ‘Medic’ talkgroup 750 are already familiar with.
- one or more talk group members 760 in the talk group ‘Medic’ 750 may provide an audio response 765 with the injury status for officer ‘John’.
- Virtual ‘Smith’ 730 may determine that the task is completed based on the response 765 received in the talk group ‘Medic’ 750 . Subsequently, virtual ‘Smith’ 730 disassociates itself from the talk group ‘Medic’ 750 and provides an audio response 770 identifying the injury status for officer ‘John’.
- the audio response 770 may be provided to the user ‘Smith’ 710 via a private call.
- the virtual talk group member 730 may switch from the talk group ‘Medic’ 750 to the talk group ‘Police’ 705 and transmit audio communications on the talk group ‘Police’ 705 including the audio response 770 .
- FIG. 8 illustrates a second example scenario 800 in which the method 400 for controlling the virtual talk group member to perform an assignment can be implemented.
- a commander 810 sends an audio communication 815 to a talk group, namely ‘Case #7355’ 805 to inform about an incident (robbery case) in a particular location.
- user ‘Smith’ 820 who is a member of the talk group ‘Case #7355’ 805 sends an audio communication 825 to inform the commander 810 that he is investigating another incident in the same location and further indicating that the suspect may be same in both the incidents.
- the commander 810 may want to share this information with members in another other talk group, namely ‘Case #7364’ 850 .
- the commander 810 may want to place virtual ‘Smith’ 855 in talk group ‘Case #7364’ 850 to share this information so that members in talk group ‘Case #7364’ 850 can readily recognize that information is received from or provided by user ‘Smith’ 820 .
- the commander 810 issues a voice command 830 with a request to create virtual ‘Smith’ 855 in talk group ‘Case #7364’ 850 to share information about the common suspect.
- the voice command 830 is processed, for example, via an electronic digital assistant (EDA) 835 to identify: a profile identifier 831 which indicates that the virtual talk group member is to be created using the user profile of the user ‘Smith’ 820 ; an assigned task 832 which indicates the task to be performed by the virtual talk group member 855 ; and a destination talk group 833 which indicates a talk group to which the virtual talk group member needs to join to perform the assigned task.
- EDA electronic digital assistant
- the electronic digital assistant 835 acknowledges the voice command 830 and provides an audio confirmation 840 to the commander 810 to confirm that the virtual talk group member, i.e., ‘Virtual Smith’ 855 is created and added to the destination talk group i.e., talk group ‘Case #7364’ 850 .
- virtual ‘Smith’ 855 performs the assigned task.
- virtual ‘Smith’ 855 sends an audio communication 860 on the talk group ‘Case #7364’ 850 to share information about the suspect.
- the audio communication 860 may include an audio tone (such as a ‘beep’) prior to and/or after transmitting message portion of the audio communication 860 .
- the audio communication 860 from virtual ‘Smith’ 855 may use a voice profile based on the voice characteristics of the original user, so that other members in the talk group ‘case #7364’ 850 may not get confused about the source of this information, and may readily recognize that the suspect information is being provided by user ‘Smith’ 820 .
- the audio communication 860 content is generated based on user profile of user ‘Smith’ 820 , for example, the incident assignment that user ‘smith’ 820 is working on at the time, the conversation log of user ‘Smith’ 820 in a given period (e.g., last two hours), the incident report that user ‘Smith’ 820 has written, and the action done by user ‘Smith’ that is detected and logged by sensors associated with the communication device 110 of user ‘Smith’ 820 .
- FIG. 9 illustrates a third example scenario 900 in which the method 400 for controlling the virtual talk group member to perform an assignment can be implemented.
- a user named ‘Smith’ 905 is shown as a member of the talk group, namely ‘Case #1112’ 910 .
- the user ‘Smith’ 905 issues a voice command 915 to switch the user to another talk group, namely ‘commander’ 950 .
- the voice command 915 is processed, for example, via an electronic digital assistant (EDA) 920 .
- EDA electronic digital assistant
- the electronic digital assistant 920 identifies the intent of the voice command 915 and may send a request to the talk group server 140 to switch the user ‘Smith’ 905 from the talk group ‘case 1112 ’ 910 to the talk group ‘Commander’ 950 .
- the electronic digital assistant 920 further provide an audio response 925 to indicate that the user is being switched to the talk group ‘Commander’ 950 .
- the electronic digital assistant 920 in talk group ‘Commander’ 950 provides an audio communication 970 on the talk group channel to indicate that user ‘Smith’ has joined the talk group ‘commander’ 950 .
- the talk group server 140 When user ‘Smith’ 905 is switched to the talk group ‘commander’ 950 , the talk group server 140 also creates a virtual talk group member i.e., ‘Virtual Smith’ 935 and causes the virtual talk group member 935 to join the talk group ‘Case #1112’ 910 .
- the electronic digital assistant 920 also transmits an audio communication 930 on the talk group channel of the talk group ‘Case #1112’ 910 to indicate that virtual ‘Smith’ has joined the talk group ‘Case #1112’ 910 .
- the virtual ‘Smith’ 935 monitors and responds to conversations in the talk group ‘case #1112’ 910 while the original user ‘Smith’ 905 communicates with members 965 in the talk group ‘commander’ 950 .
- the audio communications 975 , 980 , 985 , 990 corresponds to communications between original user ‘Smith’ 905 and other members 965 of the talk group ‘commander’ 950 .
- a talk group member 940 sends an audio inquiry 945 on the talk group ‘case #1112’ to check the status of the medical team.
- ‘Virtual Smith’ 935 provides an audio response 955 on the talk group ‘case #1112’ 910 to inform that the medical team is arriving in 2 minutes.
- ‘Virtual Smith’ 935 may use historical conversations associated with original user ‘Smith’ 905 to extract information used to generate the audio response 955 .
- the audio response 955 may include an audio tone (such as a ‘beep’) prior to and/or after transmitting message portion of the audio response 955 .
- Virtual ‘Smith’ 935 may provide the audio response 955 using a voice profile that is generated based on voice characteristics of the original user ‘Smith’ 905 .
- system and method described herein can be advantageously employed in public safety environments to allow a virtual talk group member to perform an assignment on behalf of an original talk group user.
- the virtual talk group member ensures that a talk group member does not miss out important conversations in a talk group when the user switches to another talk group.
- a virtual talk group member uses the user profile of the original talk group member when sending or receiving audio communications in the talk group. This allows other members of the talk group to intuitively know what information to provide when identity of a virtual talk group member is known, thereby improving the user experience of talk group members.
- the system and method described herein also provides seamless sharing of information between members of different groups as talk group users can continue to monitor and access high priority information as well as respond to conversations in talk groups via a virtual talk group member even if the talk group users are currently busy communicating in other talk groups or actively investigating an incident.
- processors such as microprocessors, digital signal processors, customized processors and field programmable gate arrays (FPGAs) and unique stored program instructions (including both software and firmware) that control the one or more processors to implement, in conjunction with certain non-processor circuits, some, most, or all of the functions of the method and/or apparatus described herein.
- processors or “processing devices” such as microprocessors, digital signal processors, customized processors and field programmable gate arrays (FPGAs) and unique stored program instructions (including both software and firmware) that control the one or more processors to implement, in conjunction with certain non-processor circuits, some, most, or all of the functions of the method and/or apparatus described herein.
- FPGAs field programmable gate arrays
- unique stored program instructions including both software and firmware
- an embodiment may be implemented as a computer-readable storage medium having computer readable code stored thereon for programming a computer (for example, comprising a processor) to perform a method as described and claimed herein.
- Examples of such computer-readable storage mediums include, but are not limited to, a hard disk, a CD-ROM, an optical storage device, a magnetic storage device, a ROM (Read Only Memory), a PROM (Programmable Read Only Memory), an EPROM (Erasable Programmable Read Only Memory), an EEPROM (Electrically Erasable Programmable Read Only Memory) and a Flash memory.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Telephonic Communication Services (AREA)
Abstract
A method of operating a talk group server to control a virtual talk group member. During operation, the talk group server determines an assignment for a virtual talk group member to join a first talk group and communicate on behalf of a talk group member associated with a second talk group. The talk group server obtains user profile associated with the talk group member and causes the virtual talk group member to join the first talk group using the user profile associated with the talk group member. The talk group server then controls the virtual talk group member to perform the assignment by generating audio communications as a function of the user profile associated with the talk group member and transmitting audio communications on the first talk group.
Description
- Tablets, laptops, phones (for example, cellular or satellite), mobile (vehicular) or portable (personal) two-way radios, and other communication devices are now in common use by users, such as first responders (including firemen, police officers, and paramedics, among others), and provide such users and others with instant access to increasingly valuable additional information and resources such as vehicle histories, arrest records, outstanding warrants, health information, real-time traffic or other situational status information, and any other information that may aid the user in making a more informed determination of an action to take or how to resolve a situation, among other possibilities.
- Many such communication devices further comprise, or provide access to, electronic digital assistants (or sometimes referenced as “virtual partners”) that may provide the user thereof with valuable information in an automated (for example, without further user input) or semi-automated (for example, with some further user input) fashion. The valuable information provided to the user may be based on explicit requests for such information posed by the user via an input (for example, such as a parsed natural language input or an electronic touch interface manipulation associated with an explicit request) in which the electronic digital assistant may reactively provide such requested valuable information, or may be based on some other set of one or more context or triggers in which the electronic digital assistant may proactively provide such valuable information to the user absent any explicit request from the user.
- As some existing examples, electronic digital assistants such as Siri provided by Apple, Inc.® and Google Now provided by Google, Inc.®, are software applications running on underlying electronic hardware that are capable of understanding natural language, and may complete electronic tasks in response to user voice inputs, among other additional or alternative types of inputs. These electronic digital assistants may perform such tasks as taking and storing voice dictation for future reference and retrieval, reading a received text message or an e-mail message aloud, generating a text message or e-mail message reply, looking up requested phone numbers and initiating a phone call to a requested contact, generating calendar appointments and providing appointment reminders, warning users of nearby dangers such as traffic accidents or environmental hazards, and providing many other types of information in a reactive or proactive manner.
- The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views, which together with the detailed description below are incorporated in and form part of the specification and serve to further illustrate various embodiments of concepts that include the claimed invention, and to explain various principles and advantages of those embodiments.
-
FIG. 1 is a block diagram of a communication system, in accordance with some embodiments. -
FIG. 2 is a block diagram of a communication device, in accordance with some embodiments. -
FIG. 3 is a block diagram of a talk group server, in accordance with some embodiments. -
FIG. 4 illustrates a flow chart of a method for controlling a virtual talk group member to perform an assignment. -
FIG. 5 illustrates a message flow diagram of a method for controlling a virtual talk group member to perform an assignment. -
FIG. 6 illustrates a message flow diagram of a method for controlling a virtual talk group member to perform an assignment. -
FIG. 7 illustrates an example scenario in which the method for controlling the virtual talk group member to perform an assignment is implemented. -
FIG. 8 illustrates a second example scenario in which the method for controlling the virtual talk group member to perform an assignment is implemented. -
FIG. 9 illustrates a third example scenario in which the method for controlling the virtual talk group member to perform an assignment is implemented. - Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.
- The apparatus and method components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
- In public safety communication systems, communication devices are often affiliated to different communication groups (also referred to as talk groups) to perform group communication. Group communication functionality allows a communication device (also referred to as a talk group member) to simultaneously communicate with multiple other devices that are associated with the same communication group. This avoids the need for communication devices to repeat the same message or establish different communication sessions to communicate the same message to other devices. In communication devices such as land mobile radios, a push to talk (PTT) interface is implemented to allow a user of the radio to press the push to talk interface to transmit audio on one or more communication channels (which may include a talk group channel or a private channel) for reception by multiple users associated with the talk group or for reception by a single user, respectively.
- During public safety operations, users often switch between two or more talk groups to transmit and/or listen to communications transmitted on the talk groups. While it is possible for users to monitor multiple talk groups using multiple radios where each radio is affiliated to one of the talk groups, it may not be convenient for users to manually switch between different radios to transmit and/or listen to the communications. Monitoring communications via multiple radios at the same time may also further limit the attention/focus of the users.
- Electronic digital assistants (also sometimes referred to as “Virtual Partners”) are implemented in public safety communication systems to automatically switch a user from one talk group to another talk group. Switching the user to another talk group may be performed based on an explicit request by the user via an input (for example, such as a parsed natural language input or an electronic touch interface manipulation associated with the explicit request) in which the electronic digital assistant may reactively switch the user to another talk group, or may be based on some other set of one or more context or triggers in which the electronic digital assistant may proactively switch the user to another talk group absent any explicit request from the user.
- When the user switches to a new talk group, user may miss out the conversations in the original talk group in which the user was communicating prior to the switching. In such cases, in accordance with some embodiments of the present disclosure, electronic digital assistants may be added to the original talk group as a ‘virtual talk group member’ to monitor group audio communications exchanged between members of the original talk group as well as provide audio responses to members in the original talk group when a talk group member poses a question in the original talk group. When an electronic digital assistant acting as a ‘virtual talk group member’ is added to a talk group to monitor the talk group on behalf of a talk group member, other talk group members in the talk group may be confused as to who the ‘virtual talk group member’ is representing unless the electronic digital assistant provides an indication of the talk group member it is representing. Further, users tend to converse differently to someone with unknown identity than someone they know personally. For example, when the electronic digital assistant poses a question to the talk group, other talk group members may not know the identity of the talk group member that the electronic digital assistant is representing. Therefore it is possible that the response provided by another talk group member in the group may not be completely relevant to the question (or response) posed by the ‘virtual talk group member’ unless the electronic digital assistant identifies the talk group member it is representing, every time it poses (or responds to) a question to the talk group.
- Disclosed is an improved method for controlling a virtual talk group member to perform an assignment. The virtual talk group member (for example, implemented as an electronic digital assistant) performs an assignment, for example, by communicating in a given talk group on behalf of a talk group member using the user profile of the talk group member, where the talk group member may be currently associated or actively communicating in a different talk group when the virtual talk group member performs the assignment in the given talk group.
- One embodiment provides a method of operating a talk group server for controlling a virtual talk group member. The method includes determining, at an electronic processor, an assignment for a virtual talk group member to join a second talk group and communicate on behalf of a talk group member associated with a first talk group; obtaining, at the electronic processor, user profile associated with the talk group member; joining, at the electronic processor, the virtual talk group member to the second talk group using the user profile associated with the talk group member; and controlling, at the electronic processor, the virtual talk group member to generate audio communications as a function of the user profile associated with the talk group member and transmit audio communications on the second talk group.
- Another embodiment provides a talk group server that includes an electronic processor and a communication interface communicatively coupled to the electronic processor. The electronic processor is configured to determine an assignment for a virtual talk group member to join a first talk group and communicate on behalf of a talk group member associated with a second talk group, obtain user profile associated with the talk group member, cause the virtual talk group member to join the first talk group using the user profile associated with the talk group member, and control the virtual talk group member to perform the assignment by generating audio communications as a function of the user profile associated with the talk group member and transmitting audio communications on the first talk group.
- Each of the above-mentioned embodiments will be discussed in more detail below, starting with example communication system and device architectures of the system in which the embodiments may be practiced, followed by an illustration of processing steps for achieving the method, device, and system for an electronic digital assistant. Further advantages and features consistent with this disclosure will be set forth in the following detailed description, with reference to the figures.
- Referring now to the drawings, and in particular
FIG. 1 , acommunication system 100 is shown including a plurality of communication devices 110-1 through 110-n, abase station 120, and an infrastructure radio access network (RAN) 130. The plurality of communication devices 110-1 through 110-n can be interchangeably referred to, collectively, ascommunication devices 110, and generically as acommunication device 110. Thecommunication device 110 may be associated with or subscribed to one or more talk groups to perform group communication. The communication devices 110-1 through 110-n may be operated by respective users 115-1 through 115-n (for example, a first responder), generically referred to as user(s) 115. Theusers 115 may carry or wear the respective communication devices, such as a battery-powered portable radio used for narrowband and/or broadband direct-mode or infrastructure communications, a battery-powered radio speaker microphone (RSM) video capture device, a laptop having an integrated video camera and used for data applications such as incident support applications, smart glasses which may be virtual reality, augmented reality, or mixed reality glasses, wearable communication devices, mobile phones, and vehicular radios. Eachcommunication device 110 may include one or more wireless communication interfaces for communicating with abase station 120 and/or directly with one or moreother communication devices 110 in thesystem 100. - The
base station 120 and infrastructure RAN 130 works in tandem to provide infrastructure wireless communication services to servedcommunication devices 110 that are within a wireless transmission range of thebase station 120. While infrastructure RAN 130 is illustrated inFIG. 1 as including atalk group server 140,external networks 150, and adispatch console 160, in other embodiments, RAN infrastructures may contain a subset of such components or may contain a superset of such components. For example, infrastructure RAN 130 may include one or more elements such as additional base stations, base station controllers, router, switches, gateways, and the like, arranged, connected, and programmed to provide wireless service tocommunication devices 110. Thecommunication system 100 could take the form of a public-safety radio network or commercial broadband network. - The
talk group server 140 may be, for example, a radio controller, PTT server, zone controller, mobile management entity (MME), base station controller (BSC), mobile switching center, site controller, call controller, or other network device. While thetalk group server 140 is illustrated as a separate entity in thesystem 100, thetalk group server 140 may be integrated with other devices (such as a zone controller) in theinfrastructure RAN 130 and/or withinBS 120. Thetalk group server 140 may be configured to provide registration, authentication, encryption, routing, and/or other services tocommunication devices 110 operating within the coverage area of thebase station 120, in addition to further features and functions disclosed herein. Thetalk group server 140 may additionally track or have access to group subscription information that, for each group identifier associated with a particular group of communication devices 110 (e.g., talk group), identifies communication devices 110 (e.g., by a device identifier (ID) such as a hardware ID, hardware Media Access Control (MAC) address, Internet Protocol (IP) address, radio ID, International Mobile Subscriber Identity (IMSI), a serial number, or some other unique identifier that can be used to identify subscribed member communication devices) that are members of the particular group ofcommunication devices 110. - The
communication device 110 that is a member of a particular talk group may be referred herein as a ‘talk group member’ and an electronic digital assistant or electronic module that is added to a particular talk group to monitor communications in the talk group on behalf of a talk group member may be referred herein as a ‘virtual talk group member’. While the term “talk group” is used in this description, it will be understood by those of skill in the art that a term such as “communication group” could be used instead, and that the media data being exchanged among the members of the group could be any suitable type of data, such as voice data, image data, video data, and the like. Further, the term “talk group” is used in this disclosure to refer to groups of communications devices as well as virtual talk group members created and/or maintained in theinfrastructure RAN 130. -
External networks 150 may be made accessible tocommunication devices 110 viainfrastructure RAN 130.External networks 150 may include, for example, a public switched telephone network (PSTN), a plain old telephone (POT) system, a wide-area packet-switched network such as the Internet, or another wired or wireless service provider's network, among other possibilities. -
Dispatch console 160 may be directly coupled to thetalk group server 140, as shown, or may be indirectly coupled to talkgroup server 140 via one or more internal or externals networks. Thedispatch console 160 allows an administrator or dispatcher at a dispatch console to initiate infrastructure-sourced group communications to groups ofcommunication devices 110, among other features and functions. In accordance with some embodiments, thedispatch console 160 may also be added to one or more talk groups as a member of the talk groups, to transmit and/or listen to communications on the talk groups. In accordance with some embodiments, the virtual talk group member can also be created in one or more talk groups to represent thedispatch console 160. -
Infrastructure RAN 130 andbase station 120 may implement one or more radio access technologies (RATs) and may communicate withcommunication devices 110 over respective air-interface links 170-1 through 170-n (collectively referred to as air-interface link or links 170) according to the one or more RATs. Example RATs include a direct-mode, conventional, or infrastructure-mode trunked land-mobile-radio (LMR) standard or protocol such as European Telecommunications Standards Institute (ETSI) Digital Mobile Radio (DMR), a Project 25 (P25) standard defined by the Association of Public Safety Communications Officials International (APCO), Terrestrial Trunked Radio (TETRA), or other LMR radio protocols or standards. In other embodiments, RATs operate in accordance with standard and/or protocols such as Long Term Evolution (LTE), LTE-Advance, or 5G protocol including multimedia broadcast multicast services (MBMS) or single site point-to-multipoint (SC-PTM) over which an open mobile alliance (OMA) push to talk (PTT) over cellular (OMA-PoC), a voice over IP (VoIP), an LTE Direct or LTE Device to Device, or a PTT over IP (PoIP) application. WhileFIG. 1 illustrates an example in which allcommunication devices 110 use a same RAT, in other embodiments, each communication device or set of communication devices may use different RATs to communicate with one or more same or different infrastructure RAN. - Downlink communications over air-
interfaces 170 may be addressed to communication devices 110 (e.g., multicast or broadcast using an identifier, such as a Subscriber Group ID (SGID), that is associated with a group of communication devices), and/or to one or more single communication devices (e.g., unicast using an identifier, such as a Subscriber Unit Identifier (SUID), that is uniquely associated with that communication device), among other possibilities that are known to those of skill in the art. - In addition to infrastructure wireless air-
interface links 170 communicatively coupling thecommunication devices 110 to theinfrastructure RAN 130 via thebase station 120, communication devices may also maintain ad-hoc or direct-mode (“ad-hoc”) air-interface links without any intervening infrastructure between them. For example, the communication device 110-1 may be wirelessly coupled to communication device 110-2 via a direct-mode air interface link (not shown) in accordance with one or more direct-mode air-interface protocols, such as Bluetooth, near field communication (NFC), Infrared Data Association (IrDA), ZigBee, direct-mode land-mobile-radio (LMR), and/or Wi-Fi, as long as the devices are within mutual transmission range of one another. -
FIG. 2 is an example functional block diagram of acommunication device 110 operating within thecommunication system 100 in accordance with some embodiments. As shown inFIG. 2 , thecommunication device 110 comprises a radiofrequency communications unit 210 coupled to a common data andaddress bus 222 of aprocessing unit 220. Thecommunication device 110 may also include aninput 230 and adisplay screen 240, each coupled to be in communication withprocessing unit 220. Theinput 230 may include an alphanumeric physical keypad (or virtual keypad in cooperation with capacitive touch display screen 240) for inputting text for group communications. Thedisplay screen 240 may further function to display group communications received viacommunications unit 210. Amicrophone 250 captures audio from a user that is further vocoded by processingunit 220 and transmitted as voice data bycommunication unit 210 toother communication devices 110 or other devices insystem 100. Acommunications speaker 260 reproduces audio that is decoded from voice data transmissions received from other communication devices via thecommunications unit 210. - The
processing unit 220 may also include an encoder/decoder 221 with an associated code Read Only Memory (ROM) 223 for storing data for initializing system components and encoding and/or decoding voice or other traffic information (including image data, audio data, video data, text data, control signals, etc.) that may be transmitted or received by thecommunication device 110. Theprocessing unit 220 may further include aelectronic processor 224 coupled, by the common data andaddress bus 222, to the encoder/decoder 221, aRAM 225, and astatic memory 226. - The radio
frequency communications unit 210 is a combined receiver and transmitter (e.g., transceiver) having acommon antenna 212. The radiofrequency communications unit 210 has atransceiver 214 coupled to theantenna 212 via aradio frequency amplifier 216. Thetransceiver 214 may be a transceiver operating in accordance with one or more standard protocols, such as a DMR transceiver, a P25 transceiver, a TETRA transceiver, a Bluetooth transceiver, an LTE transceiver, a Wi-Fi transceiver perhaps operating in accordance with an IEEE 802.11 standard (e.g., 802.11a, 802.11b, 802.11g), a WiMAX transceiver perhaps operating in accordance with an IEEE 802.16 standard, an LTE transceiver, and/or other similar type of wireless transceiver configurable to communicate via a wireless network. Thetransceiver 214 is also coupled to a combined modulator/demodulator 218 that is coupled to the encoder/decoder 221. - The
electronic processor 224 has ports for coupling to theinput 230 and to thedisplay screen 240. Theelectronic processor 224 further has ports for coupling to themicrophone 250 and to thespeaker 260. In some embodiments of the present disclosure, thestatic memory 226 may storeoperating code 227 for theelectronic processor 224 that, when executed by theelectronic processor 224, perform one or more of the operations set forth inFIGS. 4-9 and accompanying text.Static memory 226 may comprise, for example, a HDD, an optical disk drives such as a CD drive or DVD drive, a SSD, a tape drive, a flash memory drive, or a tape drive, to name a few. - The
input 230 may include a push-to-talk (PTT)key 232 that functions to activate a transmit function in a half or full-duplex communication device, transitioning the communication device (when activated) from a listen-only mode to a transmit-only mode (for half-duplex communication devices) or transmit and receive mode (for full-duplex communication devices). ThePTT key 232 may be a hard mechanical switch set under spring pressure and operated by a finger or hand pressure of a user, or may be a contact switch that is operated by a presence of a grounding element such as a user's finger or hand over or on a surface of the contact switch. In other embodiments, thePTT key 232 may be a soft-switch that is programmed to act as a PTT key at all times or only during certain situations, and may take the form of a geometric shape on a touch-sensitive screen labeled with its function or some other input key or button. Other possibilities exist as well. -
FIG. 3 is an example functional block diagram of atalk group server 140 that operates within thecommunication system 100 to control a virtual talk group member to perform an assignment in accordance with some embodiments. WhileFIG. 3 represents thetalk group server 140 described above with respect toFIG. 1 , depending on the type of the server, thetalk group server 140 may include fewer or additional components in configurations different from that illustrated inFIG. 3 . As shown inFIG. 3 , thetalk group server 140 includes acommunications unit 310 that is coupled to a common data andaddress bus 322 of theprocessing unit 320. - The
communications unit 310 may include one or more wired or wireless input/output (I/O) interfaces 312 that are configurable to communicate withcommunication devices 110,base station 120, and/or with other devices in or communicably coupled to thesystem 100. Thecommunications unit 310 may include one or morewireless transceivers 314, such as a DMR transceiver, a P25 transceiver, a Bluetooth transceiver, a Wi-Fi transceiver perhaps operating in accordance with an IEEE 802.11 standard (e.g., 802.11a, 802.11b, 802.11g), a WiMAX transceiver perhaps operating in accordance with an IEEE 802.16 standard, an LTE transceiver, and/or other similar type of wireless transceiver configurable to communicate via a wireless radio network. Thecommunications unit 310 may additionally include one ormore wireline transceivers 314, such as an Ethernet transceiver, a Universal Serial Bus (USB) transceiver, or similar transceiver configurable to communicate via a twisted pair wire, a coaxial cable, a fiber-optic link or a similar physical connection to a wireline network. Thetransceiver 314 is also coupled to a combined modulator/demodulator 316 that is coupled to an encoder/decoder 324 of theprocessing unit 320. - The
processing unit 320 may include the encoder/decoder 324 with an associated code Read Only Memory (ROM) 326 for storing data for initializing system components, and encoding and/or decoding voice, data, control, or other signals that may be transmitted or received between thetalk group server 140 andcommunication devices 110 in thesystem 100. Theprocessing unit 320 may further include aelectronic processor 328 coupled, by the common data andaddress bus 322, to the encoder/decoder 324, a Random Access Memory (RAM) 330, and astatic memory 332. -
Static memory 332 may comprise, for example, a hard-disk drive (HDD), an optical disk drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a solid state drive (SSD), a tape drive, a flash memory drive, or a tape drive, to name a few. -
Static memory 332 may store (or talkgroup server 140 may have access to, via communications unit 310) permanently or temporarily,group subscription information 334 that, for each group identifier associated with a particular group of communication devices, identifiescommunication devices 110 that are members of the particular group. Additionally or alternatively,static memory 332 may also store (or talkgroup server 140 may have access to, via communications unit 310),user profile 336 corresponding to eachcommunication device 110 that is a member of a talk group managed by thetalk group server 140. Theuser profile 336 for each talk group member includes information related to one or more of device identifier corresponding to the talk group member, talk group identifier with which the talk group member is currently associated, one or more voice characteristics of the talk group member (i.e., voice characteristics of user of the communication device 110), and a determined context corresponding to the talk group members. The determined context may include information identifying an incident (e.g., an event, type, and location of the incident assigned to a first responder) associated with the talk group member, an agency (e.g., fire fighter or police department) to which the talk group member is affiliated, rank, experience, and role of the talk group member, historical talk group conversations (i.e., recorded conversations) associated with the talk group member, knowledge data (e.g., skill level and knowledge level of the user) of the talk group member, and sensor data (e.g., such as an indication of a gun being removed from holster, heart rate of the user, ambient audio data, environmental data etc.,) corresponding to the talk group member. -
Static memory 332 may further storeoperating code 338 for theelectronic processor 328 that, when executed, performs one or more of the functions set forth inFIGS. 4-9 and accompanying text. For example, theelectronic processor 328 of thetalk group server 140 determines an assignment for a virtual talk group member and uses theuser profile 336 of a given talk group user or member (also referred to as original talk group member) to create a virtual talk group member and further cause the virtual talk group member to join to a talk group (also referred to as a target talk group or a destination talk group), such that the virtual talk group member can communicate on behalf of the original talk group member in the target talk group, even while the original talk group member is associated or actively communicating on another talk group. Theelectronic processor 328 also controls the virtual talk group member to generate audio communications as a function of theuser profile 336 associated with the original talk group member. For example, theelectronic processor 328 may control the virtual talk group member to synthesize voice that is similar to the original talk group member using the voice characteristics of the original talk group member and transmit audio communications using the synthesized voice on the target talk group. In another example, theelectronic processor 328 may control the virtual talk group member to generate content for audio communications based on historical talk group conversations (e.g., based on data content previously sent or received by the original talk group member in the associated talk groups). Similarly, theelectronic processor 328 may use other data such as skill and knowledge level in the user profile of a talk group member to identify data content (for example, extracted from the historical conversations or data stored in one or more databases in the system 100) that is likely to be spoken by the original talk group member in a given context or situation during group communication. Then theelectronic processor 328 uses such determined data content to generate audio communications to be transmitted by the virtual talk group member on the target talk group on behalf of the original talk group member. - The virtual talk group member may be implemented via an electronic digital assistant that may be executed on one or more computing devices (not shown) in the
system 100. In some embodiments, an individual component and/or a combination of individual components of thesystem 100 may be referred to as an electronic computing device that implements an electronic digital assistant as mentioned above. For example, thetalk group server 140 illustrated inFIG. 1 , or a component in external networks (such as back-end infrastructure device or combination of back-end infrastructure devices existing on-premises or in a remote cloud computing cluster accessible via the infrastructure RAN 130), may additionally or alternatively operate as a back-end electronic digital assistant consistent with the remainder of this disclosure. - For example, the electronic computing device may be a single electronic processor (for example,
electronic processor 224 of thecommunication device 110 shown inFIG. 2 orelectronic processor 328 of thetalk group server 140 shown inFIG. 3 ). In other embodiments, the electronic computing device includes multiple electronic processors distributed remotely from each other. For example, the electronic computing device may be implemented on a combination of at least two of theelectronic processor 328 of thetalk group server 140, theelectronic processor 224 of thecommunication device 110, and an electronic processor (not shown) of a back-end device such as in a cloud computing cluster (not shown) in thesystem 100. -
FIG. 4 illustrates a flow chart diagram of amethod 400 performed by thetalk group server 140 for controlling a virtual talk member to perform an assignment. While a particular order of processing steps, message receptions, and/or message transmissions is indicated inFIG. 4 as an example, timing and ordering of such steps, receptions, and transmissions may vary where appropriate without negating the purpose and advantages of the examples set forth in detail throughout the remainder of this disclosure. The method shown inFIG. 4 can be performed by one or more components, for example,electronic processor 328 of thetalk group server 140, and will be described with reference to the functions and components of thesystem 100. - At
block 405, thetalk group server 140 determines an assignment for a virtual talk group member to join a first talk group (i.e., target talk group) and communicate on behalf of a talk group member associated with a second talk group. Thetalk group server 140 determines this assignment, for example, based on an audio inquiry received from a talk group member. - A talk group user (e.g., user 115) may, for example, provide an audio inquiry (i.e., a voice command) that is received by the
microphone 250 of thecommunication device 110. In accordance with some embodiments, the electronic digital assistant (for example, implemented at thecommunication device 110 of theuser 115 or at thetalk group server 140 or at one or more other electronic computing devices in the system 100) receives signals representative of the audio inquiry (directly from themicrophone 250 or through monitoring audio communications on a talk group channel associated with the talk group of the user 115) and analyzes the signals to identify the intent and/or content of the audio inquiry. For example, the electronic digital assistant processes the audio inquiry via a natural language processing (NLP) engine to identify the intent and/or content of the audio inquiry. In accordance with some embodiments, the electronic digital assistant identifies that the intent and/or content of the audio inquiry indicates a need to create a virtual talk group member to perform an assignment. In this case, the electronic digital assistant processes the audio inquiry to extract information related to: the talk group member for which the virtual talk group member is to be created or configured, the assignment to be completed by the virtual talk group member, and the talk group (i.e., first talk group) to which the virtual talk group member is to join to perform the assignment. As used herein, the term ‘assignment’ indicates one or more tasks assigned to be performed by a virtual talk group member on behalf of a given talk group member, and the tasks may include, but not limited to, one or more of: monitoring and/or recording conversations between members of a given talk group, automatically responding to questions posed by a member of the given talk group, requesting specific information and/or posing questions to members in the given talk group; and providing recorded portions of the monitored conversations (e.g., summarized conversations) to a requesting talk group member or to the given talk group member. - In one example, the audio inquiry from the
user 115 may indicate that theuser 115 wants to switch from a first talk group to a second talk group. Thetalk group server 140, in addition to switching the user 115 (i.e., corresponding talk group member/communication device 110) to the second talk group, may also determine an assignment for a virtual talk group member to join the first talk group (i.e., the talk group with which theuser 115 was associated and/or communicating immediately prior to switching to the second talk group) and communicate on behalf of theuser 115 in the first talk group while theuser 115 is communicating in the second talk group after switching to the second talk group. In another example, the audio inquiry may be issued by auser 115 with a request to create a virtual talk group member for another user. For example, a commanding officer may issue a request to create a virtual talk group member, such that the virtual talk group member can perform an assignment in a given talk group on behalf of another user who reports to the commanding officer. In response, thetalk group server 140 may determine an assignment for a virtual talk group member based on the request received from the commanding officer. - In other embodiments, the
talk group server 140 may automatically determine an assignment and need to create a virtual talk group member without receiving an audio inquiry from a given talk group member. For example, thetalk group server 140 may monitor whether a given talk group member has switched from a first talk group to a second talk group (for example, based on an affiliation request from the given talk group member to join to the second talk group), and may automatically determine an assignment for a virtual talk group member when the given talk group member switches from the first talk group to second talk group. In this example, thetalk group server 140 may create a virtual talk group member using the user profile of the given talk group member and further control the virtual talk group member to join the given talk group member's original talk group (i.e., first talk group) after the given talk group member has switched to the second talk group. - Other possibilities to determine an assignment for a virtual talk group member exist as well, for example, when the
talk group server 140 detects that the talk group member associated with the first talk group is unable to talk or listen to conversations on the first talk group due to network issues (e.g., call disconnection), ambient noise that exceeds a noise threshold near the location of the talk group member, or when the talk group member is actively responding to an incident (e.g., a fire fighter is in the process of controlling the fire). - At
block 410, thetalk group server 140 obtains user profile (for example,user profile 336 stored in the memory 332) associated with a talk group member (also referred herein as original talk group member) for which the virtual talk group member is to be created to perform the assignment. - At
block 415, thetalk group server 140 causes the virtual talk group member to join the first talk group using theuser profile 336 of the talk group member. In one embodiment, thetalk group server 140 registers a virtual talk group member with the first talk group using the same profile with which the talk group member was previously registered with the first talk group. Thetalk group server 140 further updates thegroup subscription information 334 in thememory 332. For example, the group identifier corresponding to the first talk group in thegroup subscription information 334 is updated to indicate that the virtual talk group member is now a member of the first talk group. For example, a device identifier associated with an electronic computing device (e.g., thecommunication device 110 or another computing device located in the system and communicatively coupled to the talk group server 140) at which the virtual talk group member is configured or implemented is added to thegroup subscription information 334. Thetalk group server 140 also configures talk group resources (e.g. communication channels) for the virtual talk group member (i.e., the corresponding electronic computing device) to allow the virtual talk group member to transmit and/or receive audio communications in the first talk group. - At
block 420, thetalk group server 140 controls the virtual talk group member to perform the assignment by generating audio communications as a function of the user profile associated with the talk group member and further transmitting audio communications on the first talk group. In one embodiment, thetalk group server 140 sends instructions to the virtual talk group member (i.e., the electronic computing device at which the virtual talk group member is implemented) to perform the assignment. The instructions to perform the assignment may further include a list of tasks to be performed by the virtual talk group member on the first talk group and also one or more parameters included in the user profile that needs to be applied when generating and/or transmitting audio communications on a talk group channel associated with the talk group. For example, thetalk group server 140 may instruct the virtual talk group member to apply the voice characteristics of the talk group member as identified in the user profile when responding to any questions posed by other talk group members on the talk group. In accordance with some embodiments, thetalk group server 140 updates theuser profile 336 when there is a change in one or more parameters or context associated with theuser profile 336, and further instructs the virtual talk group member to perform the assignment using the updated user profile. Further, thetalk group server 140 may instruct the virtual talk group member to transmit an audio tone prior to and/or after transmitting audio communications on behalf of the talk group member on the first talk group. For example, the audio tone may indicate that a ‘virtual talk group member’ is responding to a question on behalf of a user. The audio tone may also indicate an identifier of the original talk group member. - In another example, the
talk group server 140 instructs the virtual talk group member to generate content for audio communications based on historical talk group conversations (e.g., based on data content previously sent or received by the talk group member in the associated talk groups). Similarly, thetalk group server 140 instructs the virtual talk group member to apply skill and knowledge level (as included in the user profile 336) of the talk group member to identify data content (for example, extracted from the historical conversations or data stored in one or more databases in the system 100) used for generating audio communications for transmission on the first talk group. This allows the virtual talk group member to use data content that is likely be used by the original talk group member when responding to a question in a given context or situation during group communication in the first talk group. In accordance with some embodiments, the virtual talk group member performs the assignment in the first talk group at the same time the original talk group member is actively transmitting and/or receiving audio communications (using the same user profile) on a different talk group (i.e., second talk group). - Next, at
block 425, thetalk group server 140 determines whether the assignment is completed. For example, if the assignment is for the virtual talk group member to monitor conversations in the first talk group while the original talk group member is currently associated with the second talk group, thetalk group server 140 detects that the assignment is completed when the original talk group member switches back from the second talk group to the first talk group. In another example, if the assignment is to collect some information from one or more members in the first talk group even while the original talk group member is communicating on another talk group, thetalk group server 140 detects that the assignment is completed when the virtual talk group member collects the information from the first talk group (for example, by posing a question to members of the first talk group and receiving a response from one or more members including the information to be collected) and reports that the information is collected. In other embodiments, the virtual talk group member determines the completion of the assignment and informs thetalk group server 140. - If the
talk group server 140 determines the assignment is not completed, thetalk group server 140 continues to control the virtual talk group member to perform the assignment. Otherwise, if thetalk group server 140 determines that the assignment is completed, thetalk group server 140 controls the virtual talk group member to report the results of the assignment as shown inblock 430. For example, if the assignment is related to monitoring conversations in the first talk group while the original talk group member is associated with the second talk group, thetalk group server 140 instructs the virtual talk member to provide a copy of the monitored conversations (e.g., a report including summary of the monitored conversations) to the talk group member when the talk group member disassociates from the second talk group or alternatively switches back to the first talk group. In some embodiment, the virtual talk group member may report only portions of monitored conversations that are of high priority to the user. In another example, if the assignment is to collect some information from one or more members in the first talk group while the original talk group member is communicating on another talk group, thetalk group server 140 instructs the virtual talk member to report the collected information to the talk group member. In these examples, the result of the assignment may be provided to the talk group member (for example, via a private call from the virtual talk group member to the talk group member) as an audio output at thecommunication speaker 260 of thecommunication device 110 or in other forms such as video, image, or text forms at thedisplay screen 240 of thecommunication device 110. In some embodiments, thetalk group server 140 may instruct the virtual talk group member to report the results of the assignment on a talk group channel associated with the first talk group or another talk group so that the results may be received by all members of the first talk group or another talk group. In these embodiments, if the virtual talk group member is not already associated with the talk group at which the results of the assignment needs to be reported, thetalk group server 140 may control the virtual talk group member to switch from the current talk group (i.e., first talk group) to another talk group (e.g., second talk group) in order to communicate the results of the assignment on the another talk group. Further, in these embodiments, the virtual talk group member may generate audio communications including information collected as a result of the completion of the assignment and further as a function of the user profile (for example, by applying voice characteristics) associated with the original talk group member. The virtual talk group member may then transmit the audio communications including information collected as result of the assignment on the second talk group with which the original talk group member is currently associated. In other embodiments, the virtual talk group member may switch to a third talk group to report results of the assignment based on receiving an instruction from thetalk group server 140 or based on a determination that the assignment itself indicates that the results are to be reported on the third talk group. - In accordance with some embodiments, the
talk group server 140 may receive updates (e.g., in response to a change in the determined context) related to the user profile of a talk group member while a corresponding virtual talk group member is already performing an assignment related to a given talk group. In such cases, thetalk group server 140 may also update the virtual talk group member. For example, thetalk group server 140 may cause the virtual talk group member to re-register to the same talk group or to a different talk group using the updated user profile. In another example, thetalk group server 140 may update the assignment to be performed by the virtual talk group member based on the updates to the user profile. In some embodiments, the update to the user profile (e.g., in response to a change in the user's incident assignment) may indicate that the assignment is no longer required to be performed. In such cases, thetalk group server 140 causes the virtual talk group member to de-register or dissociate from the talk group. Thetalk group server 140 also updates thegroup subscription information 334 to remove the virtual talk group member from a list of members associated with the corresponding group identifier. - In accordance with some embodiments, a given talk group user may have multiple virtual talk group members that are created or configured by the
talk group server 140. In these embodiments, each of the multiple virtual talk group members joins a different talk group and performs the assignment on the respective talk groups on behalf of the original talk group member. In some embodiments, a single virtual talk group member may switch between different talk groups to perform the assignment (e.g., to communicate with different members) on the different talk groups on behalf of the original talk group member and further reports the results of the assignment after performing the assignment in multiple talk groups. -
FIG. 5 illustrates a message flow diagram 500 of amethod 400 for controlling a virtual talk group member to perform an assignment, in accordance with some embodiments. Thetalk group server 140 is shown controlling a first talk group (TG1) 505 and a second talk group (TG2) 510. Further, as shown inFIG. 5 , a member of thefirst talk group 505, namely, user ‘A’ 520requests 525 to create a virtual talk group member. In accordance with embodiments, therequest 525 to create a virtual talk group member may be sent from one or more electronic computing devices (e.g.,communication device 110 shown inFIG. 1 ) associated with user ‘A’ 520. The user ‘A’ also assigns 530 a task for the virtual talk group member to be performed in thesecond talk group 510. Therequest 525 may indicate the corresponding user i.e., a talk group member for which the virtual talk group member needs to be created. In one example, the user ‘A’ 520 may request that the virtual talk group member is to be created using a user profile of another user. In another example, as shown inFIG. 5 , the user ‘A’ 520 may request that the virtual talk group member is to be created using a user profile of the requesting user (i.e., user ‘A’ 520). - The
talk group server 140 creates a virtualtalk group member 515 andfurther requests 535 the virtual talk group member to join thesecond talk group 510 using the user profile of user ‘A’ 520. In accordance with some embodiments, thetalk group server 140 creates the virtualtalk group member 515 by configuring one or more electronic computing devices in thesystem 100 to perform the role of a virtual talk group member using user profile of the user ‘A’ 520. Thetalk group server 140 also sends 540 a notification for user ‘A’ 520, for example, to thecommunication device 110 of user ‘A’ 520, to indicate that a virtualtalk group member 515 is joining thesecond talk group 510 using the user profile of user ‘A’ 520. The virtualtalk group member 515 joins 545 thesecond talk group 510 using the user profile of user ‘A’ 520. In other words, thetalk group server 140 causes the virtualtalk group member 515 to join thesecond talk group 510 by registering the virtual talk group with the second talk group and further by configuring resources to enable the virtual talk group member to communicate in thesecond talk group 510. Thetalk group server 140 also sends 550 task assignment to virtualtalk group member 515. The virtualtalk group member 515 performs 555 the task in thesecond talk group 510, for example, by monitoring conversations betweenmembers 518 of thesecond talk group 510, or by communicating withmembers 518 of thesecond talk group 510. The virtualtalk group member 515 then reports 560 completion of the assignment to thetalk group server 140. For example, if the task is to obtain some information by communicating in thesecond talk group 510, then the virtualtalk group member 515 reports the completion of the assignment to thetalk group server 140 after it has obtained the information in thesecond talk group 510. Next, thetalk group server 140requests 565 the virtualtalk group member 515 to report the results of the assignment to user ‘A’ 520. The virtualtalk group member 515 then reports 570 the results of the assignment to user ‘A’ 520, for example, via a private call with thecommunication device 110 of the user ‘A’, 520 or by switching to thefirst talk group 505. -
FIG. 6 illustrates a message flow diagram 600 of amethod 400 for controlling a virtual talk group member to perform an assignment, in accordance with some embodiments. Thetalk group server 140 is shown controlling a first talk group (TG1) 605 and a second talk group (TG2) 610. Further, as shown inFIG. 6 , a member of thefirst talk group 605, namely, user ‘A’ 620requests 625 to switch to asecond talk group 610, for example, through voice command or by turning a frequency knob of thecommunication device 110 to select a channel associated with thesecond talk group 610. Responsive to user ‘A’ 620 joining 630 thesecond talk group 610, thetalk group server 140 creates a virtualtalk group member 615 andfurther requests 635 the virtualtalk group member 615 to join thefirst talk group 605 using the user profile of user ‘A’ 620. When the virtual talk group member joins 640 thefirst talk group 605, thetalk group server 140 sends 645 task assignment to virtualtalk group member 615 to monitor conversations betweenmembers 618 in thefirst talk group 605 while user ‘A’, 620 may be communicating in thesecond talk group 610. Next, the virtual talk group member performs 650 the task by monitoring conversations betweenmembers 618 in thefirst talk group 605 while the user ‘A” 620 communicates 655 withmembers 619 in thesecond talk group 610. Next, the user ‘A” 620requests 660 thetalk group server 140 to switch the user ‘A” 620 to thefirst talk group 605, for example, through another voice command or by turning the frequency knob to the original frequency channel position associated with thefirst talk group 605. After the user ‘A’ 620 disassociates from thesecond talk group 610 and re-joins 665 thefirst talk group 605, thetalk group server 140requests 670 the virtualtalk group member 615 to report results of assignment to user ‘A” 620. The virtualtalk group member 615reports 675 the results of the assignment to user ‘A’ 620, for example, via a private call to acommunication device 110 of user ‘A’ 620 or by transmitting audio communications including the results of the assignment on thefirst talk group 605. -
FIG. 7 illustrates afirst example scenario 700 in which themethod 400 for controlling the virtual talk group member to perform an assignment can be implemented. In theexample scenario 700, a user named ‘Smith’ 710 is shown as a member of the talk group ‘Police’ 705. The user ‘Smith’ 710 issues avoice command 715 to request to create a virtual talk group member. In accordance with some embodiments, a text command to create a virtual talk group member may also be received. In this example, the virtual talk group member is referred to as ‘virtual Smith’ (or ‘virtual self’) since the user's request is to create a virtual talk group member to perform an assignment using his own user profile i.e., of user ‘Smith’ 710. Thevoice command 715 is processed, for example, via an electronic digital assistant (EDA) 720 to identify: aprofile identifier 716 which indicates that the virtual talk group member is to be created using the user profile of the requesting user i.e., user ‘Smith’ 710; an assignedtask 717 which indicates the task to be performed by the virtual talk group member; and adestination talk group 718 which indicates a talk group to which the virtual talk group needs to join to perform the assigned task. In this example, user ‘Smith’ 710 requests his virtual self to collect injury status for officer ‘John’ from talk group members who are associated with another talk group ‘Medic’ 750. - In response to the
voice command 715, the electronicdigital assistant 720 acknowledges thevoice command 715 and provides anaudio confirmation 725 in thetalk group 705 when the virtual talk group member, i.e., ‘Virtual Smith’ 730 is created and added to the destination talk group, i.e., talk group ‘Medic’ 750. When virtual ‘Smith’ 730 is added to the talk group ‘Medic’ 750, virtual ‘Smith’ 730 performs the assigned task. In this example, virtual ‘Smith’ 730 issues anaudio inquiry 755 on the talk group ‘Medic’ 750 to check the injury status for officer ‘John.’ Theaudio inquiry 755 may include an audio tone (such as a ‘beep’) prior to and/or after transmitting message portion of theaudio inquiry 755. The virtual ‘Smith’ 730 may or may not need to introduce itself as virtual ‘Smith’ since the audio inquiry is synthesized based on voice profile of user ‘Smith’ 710 which themembers 760 of ‘Medic’talkgroup 750 are already familiar with. In response, one or moretalk group members 760 in the talk group ‘Medic’ 750 may provide anaudio response 765 with the injury status for officer ‘John’. Virtual ‘Smith’ 730 may determine that the task is completed based on theresponse 765 received in the talk group ‘Medic’ 750. Subsequently, virtual ‘Smith’ 730 disassociates itself from the talk group ‘Medic’ 750 and provides anaudio response 770 identifying the injury status for officer ‘John’. Theaudio response 770 may be provided to the user ‘Smith’ 710 via a private call. Alternatively, as shown inFIG. 7 , the virtualtalk group member 730 may switch from the talk group ‘Medic’ 750 to the talk group ‘Police’ 705 and transmit audio communications on the talk group ‘Police’ 705 including theaudio response 770. -
FIG. 8 illustrates asecond example scenario 800 in which themethod 400 for controlling the virtual talk group member to perform an assignment can be implemented. In theexample scenario 800, acommander 810 sends anaudio communication 815 to a talk group, namely ‘Case #7355’ 805 to inform about an incident (robbery case) in a particular location. In response, user ‘Smith’ 820 who is a member of the talk group ‘Case #7355’ 805 sends anaudio communication 825 to inform thecommander 810 that he is investigating another incident in the same location and further indicating that the suspect may be same in both the incidents. Based on this information that the suspect is same in both the incidents, thecommander 810 may want to share this information with members in another other talk group, namely ‘Case #7364’ 850. However, since user ‘Smith’ 820 is currently busy investigating ‘case #7355’, thecommander 810 may want to place virtual ‘Smith’ 855 in talk group ‘Case #7364’ 850 to share this information so that members in talk group ‘Case #7364’ 850 can readily recognize that information is received from or provided by user ‘Smith’ 820. Accordingly, thecommander 810 issues avoice command 830 with a request to create virtual ‘Smith’ 855 in talk group ‘Case #7364’ 850 to share information about the common suspect. Thevoice command 830 is processed, for example, via an electronic digital assistant (EDA) 835 to identify: aprofile identifier 831 which indicates that the virtual talk group member is to be created using the user profile of the user ‘Smith’ 820; an assignedtask 832 which indicates the task to be performed by the virtualtalk group member 855; and adestination talk group 833 which indicates a talk group to which the virtual talk group member needs to join to perform the assigned task. - In response to the
voice command 830, the electronicdigital assistant 835 acknowledges thevoice command 830 and provides anaudio confirmation 840 to thecommander 810 to confirm that the virtual talk group member, i.e., ‘Virtual Smith’ 855 is created and added to the destination talk group i.e., talk group ‘Case #7364’ 850. When virtual ‘Smith’ 855 is added to the talk group ‘Case #7364’ 850, virtual ‘Smith’ 855 performs the assigned task. In this example, virtual ‘Smith’ 855 sends anaudio communication 860 on the talk group ‘Case #7364’ 850 to share information about the suspect. Theaudio communication 860 may include an audio tone (such as a ‘beep’) prior to and/or after transmitting message portion of theaudio communication 860. Theaudio communication 860 from virtual ‘Smith’ 855, for example, may use a voice profile based on the voice characteristics of the original user, so that other members in the talk group ‘case #7364’ 850 may not get confused about the source of this information, and may readily recognize that the suspect information is being provided by user ‘Smith’ 820. In this example, theaudio communication 860 content is generated based on user profile of user ‘Smith’ 820, for example, the incident assignment that user ‘smith’ 820 is working on at the time, the conversation log of user ‘Smith’ 820 in a given period (e.g., last two hours), the incident report that user ‘Smith’ 820 has written, and the action done by user ‘Smith’ that is detected and logged by sensors associated with thecommunication device 110 of user ‘Smith’ 820. -
FIG. 9 illustrates athird example scenario 900 in which themethod 400 for controlling the virtual talk group member to perform an assignment can be implemented. In theexample scenario 900, a user named ‘Smith’ 905 is shown as a member of the talk group, namely ‘Case #1112’ 910. The user ‘Smith’ 905 issues avoice command 915 to switch the user to another talk group, namely ‘commander’ 950. Thevoice command 915 is processed, for example, via an electronic digital assistant (EDA) 920. The electronicdigital assistant 920 identifies the intent of thevoice command 915 and may send a request to thetalk group server 140 to switch the user ‘Smith’ 905 from the talk group ‘case 1112’ 910 to the talk group ‘Commander’ 950. The electronicdigital assistant 920 further provide anaudio response 925 to indicate that the user is being switched to the talk group ‘Commander’ 950. When thetalk group server 140 switches the user ‘Smith’ 905 to the talk group ‘Commander’ 950, the electronicdigital assistant 920 in talk group ‘Commander’ 950 provides anaudio communication 970 on the talk group channel to indicate that user ‘Smith’ has joined the talk group ‘commander’ 950. - When user ‘Smith’ 905 is switched to the talk group ‘commander’ 950, the
talk group server 140 also creates a virtual talk group member i.e., ‘Virtual Smith’ 935 and causes the virtualtalk group member 935 to join the talk group ‘Case #1112’ 910. Optionally, the electronicdigital assistant 920 also transmits anaudio communication 930 on the talk group channel of the talk group ‘Case #1112’ 910 to indicate that virtual ‘Smith’ has joined the talk group ‘Case #1112’ 910. The virtual ‘Smith’ 935 monitors and responds to conversations in the talk group ‘case #1112’ 910 while the original user ‘Smith’ 905 communicates withmembers 965 in the talk group ‘commander’ 950. Theaudio communications other members 965 of the talk group ‘commander’ 950. - In the example shown in
FIG. 9 , atalk group member 940 sends anaudio inquiry 945 on the talk group ‘case #1112’ to check the status of the medical team. In response, ‘Virtual Smith’ 935 provides anaudio response 955 on the talk group ‘case #1112’ 910 to inform that the medical team is arriving in 2 minutes. ‘Virtual Smith’ 935 may use historical conversations associated with original user ‘Smith’ 905 to extract information used to generate theaudio response 955. Theaudio response 955 may include an audio tone (such as a ‘beep’) prior to and/or after transmitting message portion of theaudio response 955. Virtual ‘Smith’ 935 may provide theaudio response 955 using a voice profile that is generated based on voice characteristics of the original user ‘Smith’ 905. - In accordance with embodiments of the disclosure, system and method described herein can be advantageously employed in public safety environments to allow a virtual talk group member to perform an assignment on behalf of an original talk group user. The virtual talk group member ensures that a talk group member does not miss out important conversations in a talk group when the user switches to another talk group. Further, a virtual talk group member uses the user profile of the original talk group member when sending or receiving audio communications in the talk group. This allows other members of the talk group to intuitively know what information to provide when identity of a virtual talk group member is known, thereby improving the user experience of talk group members. The system and method described herein also provides seamless sharing of information between members of different groups as talk group users can continue to monitor and access high priority information as well as respond to conversations in talk groups via a virtual talk group member even if the talk group users are currently busy communicating in other talk groups or actively investigating an incident.
- In the foregoing specification, specific embodiments have been described. However, one of ordinary skill in the art appreciates that various modifications and changes may be made without departing from the scope of the invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present teachings.
- The benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential features or elements of any or all the claims. The invention is defined solely by the appended claims including any amendments made during the pendency of this application and all equivalents of those claims as issued.
- Moreover in this document, relational terms such as first and second, top and bottom, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” “has,” “having,” “includes,” “including,” “contains,” “containing” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises, has, includes, contains a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “comprises . . . a,” “has . . . a,” “includes . . . a,” or “contains . . . a” does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises, has, includes, contains the element. The terms “a” and “an” are defined as one or more unless explicitly stated otherwise herein. The terms “substantially,” “essentially,” “approximately,” “about” or any other version thereof, are defined as being close to as understood by one of ordinary skill in the art, and in one non-limiting embodiment the term is defined to be within 10%, in another embodiment within 5%, in another embodiment within 1% and in another embodiment within 0.5%. The term “coupled” as used herein is defined as connected, although not necessarily directly and not necessarily mechanically. A device or structure that is “configured” in a certain way is configured in at least that way, but may also be configured in ways that are not listed.
- It will be appreciated that some embodiments may be comprised of one or more generic or specialized processors (or “processing devices”) such as microprocessors, digital signal processors, customized processors and field programmable gate arrays (FPGAs) and unique stored program instructions (including both software and firmware) that control the one or more processors to implement, in conjunction with certain non-processor circuits, some, most, or all of the functions of the method and/or apparatus described herein. Alternatively, some or all functions could be implemented by a state machine that has no stored program instructions, or in one or more application specific integrated circuits (ASICs), in which each function or some combinations of certain of the functions are implemented as custom logic. Of course, a combination of the two approaches could be used.
- Moreover, an embodiment may be implemented as a computer-readable storage medium having computer readable code stored thereon for programming a computer (for example, comprising a processor) to perform a method as described and claimed herein. Examples of such computer-readable storage mediums include, but are not limited to, a hard disk, a CD-ROM, an optical storage device, a magnetic storage device, a ROM (Read Only Memory), a PROM (Programmable Read Only Memory), an EPROM (Erasable Programmable Read Only Memory), an EEPROM (Electrically Erasable Programmable Read Only Memory) and a Flash memory. Further, it is expected that one of ordinary skill, notwithstanding possibly significant effort and many design choices motivated by, for example, available time, current technology, and economic considerations, when guided by the concepts and principles disclosed herein will be readily capable of generating such software instructions and programs and ICs with minimal experimentation.
- The Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it may be seen that various features are grouped together in various embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.
Claims (20)
1. A method of operating a talk group server to control a virtual talk group member, the method comprising:
determining, at an electronic processor of the talk group server, an assignment for a virtual talk group member to join a first talk group and communicate on behalf of a talk group member associated with a second talk group;
obtaining, at the electronic processor, user profile associated with the talk group member;
causing, at the electronic processor, the virtual talk group member to join the first talk group using the user profile associated with the talk group member; and
controlling, at the electronic processor, the virtual talk group member to perform the assignment by generating audio communications as a function of the user profile associated with the talk group member and transmitting audio communications on the first talk group.
2. The method of claim 1 , wherein prior to determining the assignment, the method further comprises at least one of:
receiving an audio inquiry identifying the assignment for the virtual talk group member from a communication device of the talk group member; and
receiving a request from the communication device of the talk group member to switch the talk group member from the first talk group to the second talk group.
3. The method of claim 2 , wherein when the audio inquiry identifying the assignment is received, the method further comprising:
processing the audio inquiry, via a natural language processing engine, to extract information related to:
the talk group member for which the virtual talk group member is to be created,
the assignment to be completed by the virtual talk group member, and
the first talk group to which the virtual talk group member is to join to perform the assignment.
4. The method of claim 1 , wherein the user profile of the talk group member comprises at least one of: identifier of the talk group member, talk group identifier of the second talk group with which the talk group member is currently associated, one or more voice characteristics of the talk group member, and a determined context corresponding to the talk group member.
5. The method of claim 4 , wherein the determined context includes information identifying an incident associated with the talk group member, location of the talk group member, an agency to which the talk group member is affiliated, rank, experience, and role of the talk group member, historical talk group conversations associated with the talk group member, and knowledge data and sensor data corresponding to the talk group member.
6. The method of claim 4 , further comprising:
synthesizing voice of the talk group member using one or more voice characteristics of the talk group member; and
controlling the virtual talk member to transmit the audio communications with the synthesized voice on the first talk group.
7. The method of claim 1 , further comprising:
controlling the virtual talk group member to transmit an audio tone on the first talk group prior to or after transmitting the audio communications, the audio tone indicating to other talk group members on the first talk group that the virtual talk group member is communicating on behalf of the talk group member.
8. The method of claim 1 , further comprising:
determining, at the electronic processor, that the assignment is completed;
causing, at the electronic processor, the virtual talk group member to switch from the first talk group to the second talk group with which the talk group member is associated; and
controlling, at the electronic processor, the virtual talk group member to
generate audio communications including information collected as a result of completion of the assignment based on audio communications transmitted on the first talk group and further as a function of the user profile associated with the talk group member, and
transmit the generated audio communications including information collected as the result of the completion of the assignment on the second talk group associated with the talk group member or on at least one other talk group as indicated in the assignment.
9. The method of claim 1 , further comprising:
determining, at the electronic processor, that the assignment is completed;
causing, at the electronic processor, the virtual talk group member to disassociate from the first talk group; and
controlling, at the electronic processor, the virtual talk group member to
generate audio output including information collected as a result of completion of the assignment based on audio communications transmitted on the first talk group and further as a function of the user profile associated with the talk group member, and
play back the audio output at a communication device associated with the talk group member.
10. The method of claim 1 , wherein controlling comprises:
determining that the assignment includes obtaining information related to a current incident assigned to the talk group member; and
controlling the virtual talk group member to transmit a query requesting information related to the current incident on the first talk group;
controlling the virtual talk group member to receive a response including information related to the current incident from one or more talk group members of the first talk group; and
sending the response including information related to the current incident to a communication device associated with the talk group member or on the first talk group associated with the talk group member.
11. The method of claim 1 , wherein joining further comprises:
registering the virtual talk group member to the first talk group using an identifier of the talk group member; and
controlling the virtual talk group member to monitor audio communications on the first talk group while the talk group member is associated and actively communicating on the second talk group.
12. The method of claim 1 , further comprising:
updating the virtual talk group member when the user profile of the talk group member changes.
13. A talk group server, comprising:
an electronic processor; and
a communication interface communicatively coupled to the electronic processor, wherein the electronic processor is configured to
determine an assignment for a virtual talk group member to join a first talk group and communicate on behalf of a talk group member associated with a second talk group,
obtain user profile associated with the talk group member,
cause the virtual talk group member to join the first talk group using the user profile associated with the talk group member, and
control the virtual talk group member to perform the assignment by generating audio communications as a function of the user profile associated with the talk group member and transmitting audio communications on the first talk group.
14. The talk group server of claim 13 , further comprising a transceiver configured to receive at least one of:
an audio inquiry identifying the assignment for the virtual talk group member from a communication device of the talk group member; and
a request from the communication device of the talk group member to switch the talk group member from the first talk group to the second talk group.
15. The talk group server of claim 14 , wherein the electronic processor is further configured to process the audio inquiry, via a natural language processing engine, to extract information related to:
the talk group member for which the virtual talk group member is to be created,
the assignment to be completed by the virtual talk group member, and
the first talk group to which the virtual talk group member is to join to perform the assignment.
16. The talk group server of claim 13 , further comprising a memory that stores the user profile, wherein the user profile comprises at least one of: identifier of the talk group member, talk group identifier of the second talk group with which the talk group member is currently associated, one or more voice characteristics of the talk group member, and a determined context corresponding to the talk group member.
17. The talk group server of claim 16 , wherein the determined context includes information identifying an incident associated with the talk group member, location of the talk group member, an agency to which the talk group member is affiliated, rank, experience, and role of the talk group member, historical talk group conversations associated with the talk group member, and knowledge data and sensor data corresponding to the talk group member.
18. The talk group server of claim 16 , wherein the electronic processor is further configured to:
synthesize voice of the talk group member using one or more voice characteristics of the talk group member; and
control the virtual talk member to transmit the audio communications with the synthesized voice on the first talk group.
19. The talk group server of claim 13 , wherein the electronic processor is further configured to:
determine that the assignment is completed;
cause the virtual talk group member to switch from the first talk group to the second talk group with which the talk group member is associated; and
control the virtual talk group member to
generate audio communications including information collected as a result of completion of the assignment based on audio communications transmitted on the first talk group and further as a function of the user profile associated with the talk group member, and
transmit the generated audio communications including information collected as the result of the completion of the assignment on the second talk group associated with the talk group member or on at least one other talk group as indicated in the assignment.
20. The talk group server of claim 13 , wherein the electronic processor is further configured to:
determine that the assignment is completed;
cause the virtual talk group member to disassociate from the first talk group; and
control the virtual talk group member to
generate audio output including information collected as a result of completion of the assignment based on audio communications transmitted on the first talk group and further as a function of the user profile associated with the talk group member, and
play back the audio output at a communication device associated with the talk group member.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/814,738 US20190149959A1 (en) | 2017-11-16 | 2017-11-16 | Method for controlling a virtual talk group memeber to perform an assignment |
US16/642,491 US11395108B2 (en) | 2017-11-16 | 2018-10-23 | Method for controlling a virtual talk group member to perform an assignment |
PCT/US2018/056978 WO2019099155A1 (en) | 2017-11-16 | 2018-10-23 | Method for controlling a virtual talk group member to perform an assignment |
EP18799969.3A EP3711315B1 (en) | 2017-11-16 | 2018-10-23 | Method for controlling a virtual talk group member to perform an assignment |
AU2018369037A AU2018369037B2 (en) | 2017-11-16 | 2018-10-23 | Method for controlling a virtual talk group member to perform an assignment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/814,738 US20190149959A1 (en) | 2017-11-16 | 2017-11-16 | Method for controlling a virtual talk group memeber to perform an assignment |
Publications (1)
Publication Number | Publication Date |
---|---|
US20190149959A1 true US20190149959A1 (en) | 2019-05-16 |
Family
ID=64184239
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/814,738 Abandoned US20190149959A1 (en) | 2017-11-16 | 2017-11-16 | Method for controlling a virtual talk group memeber to perform an assignment |
US16/642,491 Active US11395108B2 (en) | 2017-11-16 | 2018-10-23 | Method for controlling a virtual talk group member to perform an assignment |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/642,491 Active US11395108B2 (en) | 2017-11-16 | 2018-10-23 | Method for controlling a virtual talk group member to perform an assignment |
Country Status (4)
Country | Link |
---|---|
US (2) | US20190149959A1 (en) |
EP (1) | EP3711315B1 (en) |
AU (1) | AU2018369037B2 (en) |
WO (1) | WO2019099155A1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190357031A1 (en) * | 2018-05-21 | 2019-11-21 | Retrac, Inc. d/b/a Think Safe, Inc. | Emergency management system |
US10764725B1 (en) * | 2019-11-08 | 2020-09-01 | Motorola Solutions, Inc. | Override of ad hoc talkgroup auto-dropping |
US10951753B2 (en) * | 2018-12-26 | 2021-03-16 | Motorola Solutions, Inc. | Multiple talkgroup navigation management |
US11184742B2 (en) * | 2020-04-20 | 2021-11-23 | Motorola Solutions, Inc. | Method and apparatus for determining an approver for requesting permission to join a dynamically-created talkgroup |
CN113885818A (en) * | 2021-06-30 | 2022-01-04 | 北京字跳网络技术有限公司 | Display method and device and electronic equipment |
US11437037B2 (en) * | 2020-07-20 | 2022-09-06 | Bank Of America Corporation | Virtual assistant host platform configured for interactive voice response simulation |
US20220415313A1 (en) * | 2019-12-05 | 2022-12-29 | Motorola Solutions, Inc. | Detecting related information on calls in multi-tenant system and for consent based information sharing |
US12118523B2 (en) | 2020-07-20 | 2024-10-15 | Bank Of America Corporation | Virtual assistant host platform configured for interactive voice response simulation |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11711466B2 (en) * | 2021-10-29 | 2023-07-25 | Zoom Video Communications, Inc. | Multicast task assignment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100216553A1 (en) * | 2009-02-20 | 2010-08-26 | Martyn Richard Chudley | Social Network System and Method For Use With and Integration into a Video Game |
US20150193792A1 (en) * | 2011-07-29 | 2015-07-09 | Malik Magdon-Ismail | Method and system of generating relevant marketing opportunities by facilitating the communication of feedback in small and large group settings |
Family Cites Families (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6477387B1 (en) * | 1999-10-08 | 2002-11-05 | Motorola, Inc. | Method and apparatus for automatically grouping communication units in a communication system |
US7409318B2 (en) | 2000-02-14 | 2008-08-05 | Nextnine Ltd. | Support network |
BR0108899A (en) | 2000-03-03 | 2005-10-18 | Qualcomm Inc | Method and apparatus for participating in group communication services in an existing communication system |
EP1260108B1 (en) | 2000-03-03 | 2010-04-28 | QUALCOMM Incorporated | Method and apparatus for participating in group communication services in an existing communication system |
US6466654B1 (en) | 2000-03-06 | 2002-10-15 | Avaya Technology Corp. | Personal virtual assistant with semantic tagging |
GB2368225B (en) | 2000-10-17 | 2003-12-10 | Hewlett Packard Co | Inviting assistant entity into a network communication session |
US6996414B2 (en) | 2001-04-30 | 2006-02-07 | Motorola, Inc. | System and method of group calling in mobile communications |
US6999783B2 (en) * | 2001-11-01 | 2006-02-14 | Nokia Corporation | Method for creating a dynamic talk group |
US20030153343A1 (en) | 2002-02-14 | 2003-08-14 | Crockett Douglas M. | Communication device for initiating a group call in a group communication network |
US20030154249A1 (en) | 2002-02-14 | 2003-08-14 | Crockett Douglas M. | Method and an apparatus for removing a member from an active group call in a group communication network |
US7782875B2 (en) | 2002-06-18 | 2010-08-24 | Nokia Corporation | Megaco protocol with group termination |
US7840192B2 (en) | 2004-02-27 | 2010-11-23 | Research In Motion Limited | Method, system, and device for provisioned talkgroup identifier discovery |
US7146181B2 (en) | 2004-03-11 | 2006-12-05 | Tekelec | Methods and systems for delivering presence information regarding push-to-talk subscribers |
FI20045180A0 (en) | 2004-05-19 | 2004-05-19 | Nokia Corp | Management of group voice communication in a telecommunication system |
US7801494B2 (en) | 2005-05-27 | 2010-09-21 | Motorola Mobility, Inc. | Method for PoC server to handle PoC caller preferences |
JP4619882B2 (en) | 2005-07-12 | 2011-01-26 | 株式会社東芝 | Mobile phone and remote control method thereof |
WO2007009259A1 (en) | 2005-07-19 | 2007-01-25 | Research In Motion Limited | System and method for granting transmit capability in a push to communicate system |
US20070065357A1 (en) | 2005-09-19 | 2007-03-22 | Mediatek Inc. | Cellular phone with push to talk over cellular (POC) service |
FI20055717A0 (en) | 2005-12-30 | 2005-12-30 | Nokia Corp | Code conversion method in a mobile communication system |
US9112746B2 (en) * | 2006-04-05 | 2015-08-18 | Cisco Technology, Inc. | Method and system for managing virtual talk groups |
US7860070B2 (en) | 2006-05-10 | 2010-12-28 | Cisco Technology, Inc. | Providing multiple virtual talk group communication sessions |
US7639634B2 (en) * | 2006-06-02 | 2009-12-29 | Cisco Technology, Inc. | Method and System for Joining a virtual talk group |
US7616936B2 (en) * | 2006-12-14 | 2009-11-10 | Cisco Technology, Inc. | Push-to-talk system with enhanced noise reduction |
US7873067B2 (en) | 2006-12-29 | 2011-01-18 | Alcatel-Lucent Usa Inc. | Adaptive method of floor control with fast response time and fairness in communication network |
US7844460B2 (en) | 2007-02-15 | 2010-11-30 | Motorola, Inc. | Automatic creation of an interactive log based on real-time content |
US7974650B2 (en) | 2007-02-20 | 2011-07-05 | Alcatel-Lucent Usa Inc. | Interoperability between different types of wireless networks for push to talk group calls |
US8064881B2 (en) | 2007-02-28 | 2011-11-22 | Embarq Holdings Company, Llc | System and method for remotely managing wireless devices |
US8219087B2 (en) | 2007-03-21 | 2012-07-10 | Cellco Partnership | Method, apparatus, computer program product and system for providing dynamic assignment of session capabilities |
US7852820B2 (en) | 2007-09-24 | 2010-12-14 | Synapse Wireless, Inc. | Systems and methods for reducing data collisions in wireless network communications |
US20110044226A1 (en) | 2007-09-24 | 2011-02-24 | Qualcomm Incorporated | Selectively generating multicast flow identifiers and selectively obtaining session parameters for a multicast communication session |
US8700008B2 (en) | 2008-06-27 | 2014-04-15 | Microsoft Corporation | Providing data service options in push-to-talk using voice recognition |
US8874056B2 (en) * | 2008-08-26 | 2014-10-28 | Cisco Technology, Inc. | Identifying channels in a communication network |
US8139597B2 (en) | 2008-10-03 | 2012-03-20 | Motorola Solutions, Inc. | Method for trunking radio frequency resources |
US8358968B2 (en) | 2008-10-03 | 2013-01-22 | Motorola Solutions, Inc. | Method for selecting a channel to be monitored by subscriber units that are idle in a communication system |
US8370155B2 (en) | 2009-04-23 | 2013-02-05 | International Business Machines Corporation | System and method for real time support for agents in contact center environments |
US8862173B2 (en) | 2009-12-10 | 2014-10-14 | Motorola Solutions, Inc. | Method for selecting media for delivery to users at an incident |
US9591133B2 (en) | 2009-12-30 | 2017-03-07 | Motorola Solutions, Inc. | Method and apparatus for determining a communication target and facilitating communications based on an object descriptor |
US8934463B2 (en) | 2010-02-17 | 2015-01-13 | Qualcomm Incorporated | Managing pages of an access terminal when the access terminal is engaged in a communication session within a wireless communications system |
US20110231353A1 (en) | 2010-03-17 | 2011-09-22 | James Qingdong Wang | Artificial intelligence application in human machine interface for advanced information processing and task managing |
WO2011151502A1 (en) | 2010-06-02 | 2011-12-08 | Nokia Corporation | Enhanced context awareness for speech recognition |
US20120244812A1 (en) | 2011-03-27 | 2012-09-27 | Plantronics, Inc. | Automatic Sensory Data Routing Based On Worn State |
US8976730B2 (en) | 2011-07-22 | 2015-03-10 | Alcatel Lucent | Enhanced capabilities and efficient bandwidth utilization for ISSI-based push-to-talk over LTE |
US8929938B2 (en) * | 2011-07-26 | 2015-01-06 | Motorola Solutions, Inc. | Using a push to talk over cellular infrastructure for radio communications |
US9154925B2 (en) | 2011-11-02 | 2015-10-06 | Qualcomm Incorporated | User experience enhancements for controlling a group communication |
US8989740B2 (en) | 2011-12-17 | 2015-03-24 | Motorola Solutions, Inc. | Method and apparatus for selecting one of a plurality of networks for an application service based upon performance metrics for the application service |
EP2690847A1 (en) | 2012-07-27 | 2014-01-29 | Constantin Medien AG | Virtual assistant for a telecommunication system |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
FR2997812A1 (en) | 2012-11-05 | 2014-05-09 | Cassidian | METHOD FOR INITIALIZING QUICK CALL FOR PTT APPLICATION ON AN IP-WAN CELLULAR NETWORK |
US8837906B2 (en) | 2012-12-14 | 2014-09-16 | Motorola Solutions, Inc. | Computer assisted dispatch incident report video search and tagging systems and methods |
US20140358964A1 (en) | 2013-05-28 | 2014-12-04 | International Business Machines Corporation | Natural language processing (NLP) query formulation engine for a computing device |
US10282213B2 (en) | 2013-06-03 | 2019-05-07 | Avaya Inc. | System and method for conversational configuration of applications |
US9107130B2 (en) | 2013-06-18 | 2015-08-11 | Motorola Solutions, Inc. | Method and apparatus for traffic offloading procedure management in a public safety communication system |
CN112989840A (en) | 2013-08-30 | 2021-06-18 | 英特尔公司 | Extensible context-aware natural language interaction for virtual personal assistants |
US20150072716A1 (en) | 2013-09-11 | 2015-03-12 | Motorola Solutions, Inc | Method of and system for controlling communications over a public safety network |
WO2015042880A1 (en) | 2013-09-27 | 2015-04-02 | Motorola Solutions, Inc. | Method and apparatus for handling a missed group call in a public safety communication session |
US20150113105A1 (en) | 2013-10-22 | 2015-04-23 | APH, Inc., dba Codero Hosting | Automated provisioning of a hybrid network |
US20150172875A1 (en) * | 2013-12-17 | 2015-06-18 | Motorola Solutions, Inc | Group communication method and system |
US20150169287A1 (en) | 2013-12-17 | 2015-06-18 | Michael Ghandour | Artificial intelligence user input systems and methods |
US9655147B2 (en) | 2013-12-18 | 2017-05-16 | Motorola Solutions, Inc. | Method and apparatus for bearer control in a group call |
US10088972B2 (en) | 2013-12-31 | 2018-10-02 | Verint Americas Inc. | Virtual assistant conversations |
US9288035B2 (en) | 2014-02-18 | 2016-03-15 | Harris Corporation | Systems and methods for a communications transfer between internet protocol multimedia services and push to talk services |
US10394966B2 (en) | 2014-02-24 | 2019-08-27 | Entefy Inc. | Systems and methods for multi-protocol, multi-format universal searching |
AU2015311663B2 (en) | 2014-09-03 | 2019-02-28 | Aira Tech Corporation | Media streaming methods, apparatus and systems |
EP3018877B1 (en) | 2014-11-10 | 2018-01-10 | Motorola Solutions, Inc. | Methods and systems for joining a sub-talkgroup of a first talkgroup |
EP3018922B1 (en) | 2014-11-10 | 2017-07-19 | Motorola Solutions, Inc. | Apparatus and Method for selectively routing group communications amongst multiple networks |
US10110701B2 (en) | 2014-11-17 | 2018-10-23 | Google Llc | Structured entity information page |
KR20160071732A (en) | 2014-12-12 | 2016-06-22 | 삼성전자주식회사 | Method and apparatus for processing voice input |
KR102363703B1 (en) | 2014-12-26 | 2022-02-17 | 삼성전자주식회사 | Method for processing a query, electronic apparatus and server |
US9615218B2 (en) * | 2015-01-30 | 2017-04-04 | Mutualink, Inc. | Intelligent formation and management of dynamic talk groups |
WO2016186399A1 (en) | 2015-05-15 | 2016-11-24 | 삼성전자 주식회사 | User terminal device, server, and method for controlling same |
KR102402625B1 (en) | 2015-07-02 | 2022-05-27 | 삼성전자주식회사 | A method for managing data and apparatuses therefor |
US10686738B2 (en) | 2015-07-24 | 2020-06-16 | Facebook, Inc. | Providing personal assistant service via messaging |
WO2017090954A1 (en) | 2015-11-24 | 2017-06-01 | Samsung Electronics Co., Ltd. | Electronic device and operating method thereof |
US9998895B1 (en) * | 2017-06-28 | 2018-06-12 | Motorola Solutions, Inc. | Apparatus and method for real-time public safety evidentiary data collection |
-
2017
- 2017-11-16 US US15/814,738 patent/US20190149959A1/en not_active Abandoned
-
2018
- 2018-10-23 AU AU2018369037A patent/AU2018369037B2/en active Active
- 2018-10-23 EP EP18799969.3A patent/EP3711315B1/en active Active
- 2018-10-23 US US16/642,491 patent/US11395108B2/en active Active
- 2018-10-23 WO PCT/US2018/056978 patent/WO2019099155A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100216553A1 (en) * | 2009-02-20 | 2010-08-26 | Martyn Richard Chudley | Social Network System and Method For Use With and Integration into a Video Game |
US20150193792A1 (en) * | 2011-07-29 | 2015-07-09 | Malik Magdon-Ismail | Method and system of generating relevant marketing opportunities by facilitating the communication of feedback in small and large group settings |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210400459A1 (en) * | 2018-05-21 | 2021-12-23 | Retrac, Inc. d/b/a Think Safe, Inc. | Emergency management system |
US11129010B2 (en) * | 2018-05-21 | 2021-09-21 | Retrac, Inc. | Emergency management system |
US20190357031A1 (en) * | 2018-05-21 | 2019-11-21 | Retrac, Inc. d/b/a Think Safe, Inc. | Emergency management system |
US10951753B2 (en) * | 2018-12-26 | 2021-03-16 | Motorola Solutions, Inc. | Multiple talkgroup navigation management |
US10764725B1 (en) * | 2019-11-08 | 2020-09-01 | Motorola Solutions, Inc. | Override of ad hoc talkgroup auto-dropping |
US20220415313A1 (en) * | 2019-12-05 | 2022-12-29 | Motorola Solutions, Inc. | Detecting related information on calls in multi-tenant system and for consent based information sharing |
US12154555B2 (en) * | 2019-12-05 | 2024-11-26 | Motorola Solutions, Inc. | Detecting related information on calls in multi-tenant system and for consent based information sharing |
US11184742B2 (en) * | 2020-04-20 | 2021-11-23 | Motorola Solutions, Inc. | Method and apparatus for determining an approver for requesting permission to join a dynamically-created talkgroup |
US11437037B2 (en) * | 2020-07-20 | 2022-09-06 | Bank Of America Corporation | Virtual assistant host platform configured for interactive voice response simulation |
US20220358928A1 (en) * | 2020-07-20 | 2022-11-10 | Bank Of America Corporation | Virtual assistant host platform configured for interactive voice response simulation |
US11810565B2 (en) * | 2020-07-20 | 2023-11-07 | Bank Of America Corporation | Virtual assistant host platform configured for interactive voice response simulation |
US20240013786A1 (en) * | 2020-07-20 | 2024-01-11 | Bank Of America Corporation | Virtual assistant host platform configured for interactive voice response simulation |
US12118523B2 (en) | 2020-07-20 | 2024-10-15 | Bank Of America Corporation | Virtual assistant host platform configured for interactive voice response simulation |
US12159631B2 (en) * | 2020-07-20 | 2024-12-03 | Bank Of America Corporation | Virtual assistant host platform configured for interactive voice response simulation |
CN113885818A (en) * | 2021-06-30 | 2022-01-04 | 北京字跳网络技术有限公司 | Display method and device and electronic equipment |
Also Published As
Publication number | Publication date |
---|---|
EP3711315B1 (en) | 2023-03-29 |
AU2018369037B2 (en) | 2020-12-17 |
WO2019099155A1 (en) | 2019-05-23 |
US11395108B2 (en) | 2022-07-19 |
AU2018369037A1 (en) | 2020-05-14 |
US20210329419A1 (en) | 2021-10-21 |
EP3711315A1 (en) | 2020-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11395108B2 (en) | Method for controlling a virtual talk group member to perform an assignment | |
US9781574B2 (en) | Method and apparatus for forming communication group based on location history | |
EP3662633B1 (en) | Push to talk for the internet of things | |
US8526934B2 (en) | Interoperability of first responder devices | |
US8862173B2 (en) | Method for selecting media for delivery to users at an incident | |
KR101422972B1 (en) | Method and apparatus for determining a communication target and facilitating communications based on an object descriptor | |
US10608929B2 (en) | Method for routing communications from a mobile device to a target device | |
US20190121497A1 (en) | Contact list for the internet of things | |
AU2018331264A1 (en) | Method and device for responding to an audio inquiry | |
US10582009B2 (en) | Method and apparatus for a cloud-based broadband push-to-talk configuration portal | |
EP3010256B1 (en) | Method and apparatus for forming communication group based on location history | |
US20210385325A1 (en) | System and method for electronically obtaining and displaying contextual information for unknown or unfamiliar callers during incoming call transmissions | |
US20190268566A1 (en) | Merging audio streams | |
EP3876562B1 (en) | Method of operating a communication device to provide location information within status notification messages | |
US12182205B2 (en) | Handling a query from a requestor by a digital assistant where results include a data portion restricted for the requestor | |
US10708797B2 (en) | Responding to a query in a communication system | |
WO2024130599A1 (en) | Method for an electronic digital assistant taking over an assignment | |
US10777074B1 (en) | Method and device for preempting a transmission during a group call | |
US11445366B2 (en) | Key management on a multi-modal communications device | |
US20210127234A1 (en) | Failure management in push to talk for the internet of things |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MOTOROLA SOLUTIONS, INC., ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KEE, CHEW YEE;LIM, BING QIN;GAN, GUO DONG;REEL/FRAME:044151/0096 Effective date: 20171114 |
|
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 |