Patent ID: 12262296

DETAILED DESCRIPTION

Embodiments of the present disclosure are generally directed to techniques and tools for establishing communication between responders by establishing a communication link between computing devices of the responders. For example, in one or more embodiments, a communication link is established between computing devices of a first plurality of responders from a first responder agency and computing devices of a second plurality of responders from a second responder agency. In one embodiment, prior to establishing the communication link, a determination is made that the first plurality of responders and the second plurality of responders are at an event or location. In another embodiment, prior to establishing the communication link, authorization is received from the first and second responder agencies to permit direct communication between responders from the first and second responder agencies.

A responder is any individual that is part of an agency that responds to particular situations. Examples of responders include law enforcement officials, firefighting officials, paramedics, private security personnel, private responders (e.g., tow truck drivers and roadside assistance personnel), and the like. Law enforcement officials include police officers, sheriffs and sheriff deputies, state patrol officers, federal agency officers (e.g., Federal Bureau of Investigation agents, Central Intelligence Agency agents, Transportation Security Administration officers, etc.), members of the National Guard, members of the armed forces, and the like. Examples of responders also include supervisors (e.g., police sergeants) and dispatchers of other responders. Examples of responder agencies include police departments, sheriff offices, fire departments, federal agencies, private companies of private security personnel and private responders, and the like.

In another example, in one or more embodiments, a subset of a plurality of responders associated with a first responder is defined, a communication link between the computing devices of the first responder and the plurality of responders in the subset is established, a priority rank among the first responder and the responders in the subset is established, and communications between computing devices the first responder and the responders are sent via the communication link subset based on the priority rank.

In some embodiments, communication links between responders, whether between responders of the same or different agencies, allow a variety of communications between responders. In some examples, communications include one or more of live audio, recorded audio, live video, recorded video, text (e.g., text messages, text alerts, documents, etc.), or any other type of communication. The ability to effectively establish communication links with desired sets of responders greatly increases the flow of information to proper responders for a given situation.

Legacy communication systems allow responders to communicate. For example, many law enforcement departments use radios to communicate live audio between law enforcement officers (e.g., officers on duty, their supervisors, dispatchers, etc.). However, legacy communication systems have many downfalls. For example, radio communication systems typically allow for only one user to transmit information at one time; competing transmissions generally are not heard or cancel each other out. In another example, radio communication systems do not give priority to any one user over another user. In yet another example, responders in different responder agencies typically use different radio frequencies and/or channels such that adjusting responder radio systems to allow responders from different agencies to communication with each other time-consuming and complex. In yet another example, radio communication systems typically do not permit communication of non-audio information (e.g., video).

In the following description, numerous specific details are set forth in order to provide a thorough understanding of illustrative embodiments of the present disclosure. It will be apparent to one skilled in the art, however, that many embodiments of the present disclosure may be practiced without some or all of the specific details. In some instances, well-known process steps have not been described in detail in order not to unnecessarily obscure various aspects of the present disclosure. Further, it will be appreciated that embodiments of the present disclosure may employ any combination of features described herein. The illustrative examples provided herein are not intended to be exhaustive or to limit the claimed subject matter to the precise forms disclosed.

FIG.1depicts an embodiment of a system100for communication between computing devices of responders via a network102. The system includes a responder110that has a computing device112that is capable of communicating via the network102. In some embodiments, the network102is a wireless communication network using one or more wireless communication protocols, such as WiFi, 2G, 3G, 4G, LTE, WiMAX, Bluetooth, and the like. In the depicted embodiment, the computing device112includes a communication application114that includes instructions that cause the computing device112to establish a communication link between computing devices of other responders via the network102. In some embodiments, the communication links described herein are peer-to-peer communication links. In other embodiments, the communication links described herein are server-mediated communication links. In other embodiments, the communication links described herein use one or more protocols, such as the internet protocol, mobile telephony protocols, push-to-talk over cellular protocols, and the like.

The system100also includes responders120,130,140, and150. Each of the responders120,130,140, and150has one of computing devices122,132,142, and152that are capable of communicating via the network102. Each of the computing devices122,132,142, and152includes one of the communication applications124,134,144,154that includes instructions that cause the computing devices122,132,142, and152to establish a communication link between computing devices of other responders via the network102.

In the depicted embodiment, the system100also includes a responder160and a responder170located at a remote location180. Each of the responder160and the responder170is located in a remote location180, such as a responder agency office, dispatch unit, and the like. The responder160has a computing device162and the responder170has a computing device172. Each of the computing devices162and172is capable of communicating via the network102. Each of the computing devices162and172includes a communication application that includes instructions that cause the computing devices162and172to establish a communication link between computing devices of other responders via the network102. In one embodiment, the responder160is a dispatcher of one or more of the responders110,120,130,140, and150. In another embodiment, the responder170is a supervisor of one or more of the responders110,120,130,140, and150.

In some embodiments, each of the computing devices112,122,132,142,152,162, and172includes one or more of a cell phone, tablet computer, smart wearable (e.g., a smart watch), a laptop computer, a desktop computer, and the like. In one example, the computing devices112,122,132,142, and152are personal of the responders110,120,130,140, and150and are not issued by any responder agency of the responders110,120,130,140, and150. In that case, the communication applications114,124,134,144, and154are configured to enable communication between the personal computing devices112,122,132,142, and152of the responders110,120,130,140, and150with each other and with computing devices of one or more responder agencies, such as computing devices162and172.

In another example, when communicating via the network102, the computing devices112,122,132,142,152,162, and172are capable of sending communications directly to another of the computing devices112,122,132,142,152,162, and172(i.e., direct communication), to a subset of the computing devices112,122,132,142,152,162, and172(i.e., selective communication), or to all of the computing devices112,122,132,142,152,162, and172(i.e., broadcast communication). In some embodiments, as discussed in greater detail below, communications are sent between one or more of the computing devices112,122,132,142,152,162, and172via a communication link based on a priority rank among at least two of the responders110,120,130,140,150,160, and170.

In some embodiments, the responders110,120,130,140,150,160, and170are all associated with the same responder agency. Examples of responders from the same responder agency include police officers from the same police department, firefighters from the same fire department, private security personnel from the same organization, and the like. In other embodiments, at least some of the responders110,120,130,140,150,160, and170are associated with different responder agencies. Examples of responders from different responder agencies include police officers from one police department and police officers from another police department, state patrol officers and sheriffs deputies, federal agency agents and members of the armed forces, and the like. As described in greater detail below, when responders at least some of the responders110,120,130,140,150,160, and170are from different agencies, some embodiments of communication applications on the computing devices112,122,132,142,152,162, and172enable the responders110,120,130,140,150,160, and170from different agencies to establish a communication link to communicate with each other.

An embodiment of the capabilities of the computing device112is depicted inFIG.2. As described above, the computing device112includes the communications application114and is capable of communicating via the network102. The computing device112is also capable of communicating with any number of responder devices116a-n. Examples of the responder devices116a-ninclude devices worn or carried by the responder110, such as an on-body camera, a stun device, a firearm holster, an on-body microphone, a radio, and the like. Other examples of the responder devices116a-ninclude devices associated with a vehicle of the responder110, such as a light bar, a dashboard camera, a microphone, an in-vehicle sensor, and the like. The responder devices116a-ncan include any other device associated with the responder110.

In some embodiments, the communications application114includes instructions that, when executed, cause the computing device112to send communications via the network102to computing devices of other responders. In some embodiments, the communications include information provided at least one of the responder devices116a-n. In some examples, the communication can include video from an on-body camera, audio from an on-body microphone, and the like. In some embodiments, the communication can include information indicative of a status change of the responder devices116a-n. In some examples, the communication includes an indication that a light bar of a vehicle has been activated, an indication that a holster has been unlocked to allow removal of a firearm, and the like. In other embodiments, the communication can include information from the computing device112. In some examples, the communication includes audio captured by a microphone of the computing device112, text entered into the computing device112, and the like.

In another embodiment, the communications application114includes instructions that, when executed, cause the computing device112to process information prior to sending it via the network102. In one example, the communications application114causes the computing device112to reduce a resolution of the information (e.g., pictures, recorded video, video streams, etc.) prior to sending the information via the network102. In another example, the communications application114causes the computing device112to tag the information with metadata (e.g., a time of capture of the information, a location of capture of the information, etc.) prior to sending the information via the network102. In another example, the communications application114causes the computing device112to compile multiple forms of information (e.g., text and images) into a single transmission via the network102.

The depiction inFIG.2includes an embodiment of the computing device112. However, this embodiment is not limited only to computing device112. Any of the other computing devices described herein, such as computing devices122,132,142,152,162, and172, may have similar capabilities to communicate via the network102and to communicate with responder devices associated with the computing devices.

An embodiment of establishing a communication link between responders from different agencies at a particular location is depicted inFIG.3. Depicted inFIG.3is a representation of a map200. The map200includes an indication of an incident202. In one example, the incident202is one or more of a vehicle collision, a crime, an investigation, and the like. The map200also includes indications of responders204a-dand indications of responders206a-d. In one example, the responders204a-dare from a first responder agency (e.g., a police department), and the responders206a-dare from a second responder agency (e.g., a fire department).

Each of the responders204a-dhas a computing device (e.g., computing device112) and the computing devices of the responders204a-dare configured to communicate with each other. Each of the responders206a-dhas a computing device (e.g., computing device112) and the computing devices of the responders206a-dare configured to communicate with each other. In some embodiments, the computing devices of the responders204a-dand the computing devices of the responders206a-dare configured to send indications of their locations to one or more remote computing device. In one example, the computing devices of the responders204a-dsend indications of their locations to a remote computing device of the first responder agency and the computing devices of the responders206a-dsend indications of their locations to a remote computing device of the second responder agency.

In some embodiments, determinations are made as to which of the responders204a-dand which of the responders206a-dare at a location of the incident202. In the particular embodiment depicted inFIG.3, the location of the incident202is defined by an area208having a radius from the incident202. Thus, a determination is made that responders204a-bare at the location of the incident202(i.e., within the area208) and a determination is made that the responders206a-bare at the location of the incident202.

In some embodiments, authorization is received from the first and second responder agencies to permit direct communication between responders from the first and second responder agencies. In one example, the authorization is particular to the particular incident202, such as specific authorization to permit responders204a-band responders206a-bto communicate directly when responding to the particular incident202. In another example, the authorization is a blanket authorization for responders from the first responder agency and responders from the second responder agency to communicate directly when in the location of any event or location. In other examples, authorization can take any number of forms or have any number of conditions.

In another embodiment, in response to the determinations that responders204a-band responders206a-bare at the location of the incident202and in response to receiving authorization from the first and second responder agencies, a communication link is established between the responders204a-band responders206a-b. In one example, establishing the communication link includes permitting communication applications on the computing devices of the responders204a-band responders206a-bto send and receive information to and from the other computing devices of the responders204a-band responders206a-b. In one example, the communication applications on the computing devices of the responders204a-band responders206a-binclude a push-to-talk feature that mimics a radio device where pressing a button or icon on a computing device allows one of the responders204a-band206a-bto send live audio to each of the computing devices of the others of responders204a-band206a-b. In another embodiment, the communication applications on the computing devices of the responders204a-band responders206a-bstream live video to each of the computing devices of the others of responders204a-band206a-b.

Push-to-talk audio communications are initiated by activating a transmission on a computing device of a live audio stream from the computing device. In some embodiments, activating the transmission is done by pressing a button (e.g., a physical button or a button displayed on a touchscreen device) and the transmission of live audio stream occurs while the button is pushed. In some embodiments, push-to-talk audio communications are broadcast from the computing device to all of the responders on the communication link or in a subset of the communication link. In other embodiments, push-to-talk audio communications are sent directly to a single recipient computing device.

In the embodiment depicted inFIG.3, the responders204a-band the responders206a-bare enabled to communicate with each other without the need to reconfigure existing communication systems. For example, the responders204a-band the responders206a-bdo not need to reconfigure radio frequencies and/or channels to be able to communicate. It also leaves the radio frequencies open for other communications unrelated to the incident202.

An embodiment of establishing a communication link between responders from different agencies at a particular event is depicted inFIG.4. Depicted inFIG.4is a representation of a map210. The map210includes an indication of a portion of a parade route212. The map210also includes indications of responders214a-fand indications of responders216a-g. In one example, the responders214a-fare from a first responder agency (e.g., a police department), and the responders216a-gare from a second responder agency (e.g., a sheriffs office). Each of the responders214a-fhas a computing device (e.g., computing device112) and the computing devices of the responders214a-fare configured to communicate with each other. Each of the responders216a-ghas a computing device (e.g., computing device112) and the computing devices of the responders216a-gare configured to communicate with each other.

In some embodiments, determinations are made as to which of the responders214a-fand which of the responders216a-gare at a location of the event. In the particular embodiment depicted inFIG.4, the location of the event is defined by an area218that is within a certain distance from the parade route212. Thus, a determination is made that responders214a-dare at the location of the event (i.e., within the area218) and a determination is made that the responders216a-fare at the location of the event. In some embodiments, as described above, authorization is received from the responder agencies of responders214a-dand responders216a-fto permit direct communication between responders from the responder agencies. In another embodiment, in response to the determinations that responders214a-dand responders216a-fare at the location of the event and in response to receiving authorization from the responder agencies, a communication link is established between the responders214a-dand the responders216a-f.

In other embodiments, one or more communication relay devices are used to improve the communication link between the responders214a-dand the responders216a-f. In the depicted embodiment, communication relay devices220a-bare set up near the parade route212. The communication relay devices220a-bare configured to relay communications sent via the communication link. In one example, the communication relay devices220a-bare temporary cell phone towers that form part of a network (e.g., network102) that relays cellular telephone communication between the computing devices of the responders214a-dand the responders216a-f. In another example, the communication relay devices220a-bare temporary WiFi towers that form part of a network (e.g., network102) that relays WiFi communication between the computing devices of the responders214a-dand the responders216a-f. In one example, the communication relay devices220a-bare configured to relay communications only between the responders214a-dand the responders216a-f. In this way, even if public communication relay devices are operating at or beyond bandwidth, the responders214a-dand the responders216a-fwill still be able to communicate with each other. In another embodiment, the communication relay devices220a-bare configured to send a copy of communications to a remote computing device (e.g., a server of a responder agency) to store a copy of the communications. Such copies of communications stored on remote computing devices may be useful for evidentiary or other purposes.

In another embodiment, the computing devices of the responders214a-dand the responders216a-fsend signals to a remote computing device (e.g., a server of a responder agency) indicative of an event at a particular locale. For example, the computing device of the responder214amay receive a signal from a stun device indicating that the responder214aused the stun device at the intersection where the responder214ais located inFIG.4. The computing device of the responder214asends an indication of the stun device use to the remote computing device. The remote computing device determines that the responder214bis located is at the locale of the responder214a(i.e., within a particular distance of the responder214a). The remote computing device sends, to the computing device of the responder214b, an indication of the signal that the responder214aused a stun device along with the location of the responder214a. In this way, the responder214bis automatically alerted to the use of the stun device by the responder214awithout the responder214ahaving to send any messages by way of radio or computing device.

An embodiment of establishing a communication link between responders from different agencies at another event is depicted inFIG.5. Depicted inFIG.5is a representation of a map230. The map230includes an indication of a portion of a baseball field232. The map230also includes indications of responders236a-f, indications of responders238a-f, and indications of responders240a-h. In one example, the responders236a-fare from a first responder agency (e.g., a police department), the responders238a-fare from a second responder agency (e.g., a sheriffs office), and the responders240a-hare from a third responder agency (e.g., a security department of the baseball field232). Each of the responders236a-fhas a computing device (e.g., computing device112) and the computing devices of the responders236a-fare configured to communicate with each other. Each of the responders238a-fhas a computing device (e.g., computing device112) and the computing devices of the responders238a-fare configured to communicate with each other. Each of the responders240a-hhas a computing device (e.g., computing device112) and the computing devices of the responders240a-hare configured to communicate with each other.

In some embodiments, determinations are made as to which of the responders236a-f, which of the responders238a-f, and which of the responders240a-hare at a location of the event. In the particular embodiment depicted inFIG.5, the location of the event is defined by an area234that is within a certain distance from the baseball field232. Thus, a determination is made that responders236a-dare at the location of the event (i.e., within the area234), a determination is made that responders238a-dare at the location of the event, and a determination is made that the responders240a-hare at the location of the event. In some embodiments, as described above, authorization is received from the responder agencies of responders236a-d, responders238a-d, and responders240a-hto permit direct communication between responders from the responder agencies. In another embodiment, in response to the determinations that responders236a-d, responders238a-d, and responders240a-hare at the location of the event and in response to receiving authorization from the responder agencies, a communication link is established between the responders236a-d, responders238a-d, and responders240a-h.

As shown in the embodiment inFIG.5, in certain embodiments, a communication link is established between both public responders (e.g., police officers) and private responders (e.g., private security personnel). This ability to establish communication link between public and private responders allows for better coordination when both public and private responders are involved at a location or event without having to adjust normal public responder communication channels to accommodate private responders. In one embodiment, one of the responders236a-d, responders238a-d, and responders240a-hin the area234is defined as an administrative responder. In this embodiment, computing devices of the others of the responders236a-d, responders238a-d, and responders240a-hare configured to give priority to communications from the computing device of the administrative responder. For example, the computing devices of the responders236a-d, responders238a-d, and responders240a-hare configured to interrupt communications to or from responders other than the administrative responder when a communication is received from the computing devices of the administrative responder. In this way, the administrative responder is able to send messages that will be delivered to all of the other responders regardless of any other communications that are going on between the other responders.

An embodiment of establishing a communication link between responders from different agencies at another location is depicted inFIG.6. Depicted inFIG.6is a representation of a map250. The map250includes an indication of an incident in the form of a car collision252on a freeway254. The map250also includes indications of responders258a-b, indications of responders260a-c, and an indication of a responders262. In one example, the responders258a-bare from a first responder agency (e.g., highway patrol), the responders260a-care from a second responder agency (e.g., a fire department), and the responder262is from a third responder agency (e.g., a tow truck company). Each of the responders258a-bhas a computing device (e.g., computing device112) and the computing devices of the responders258a-bare configured to communicate with each other. Each of the responders260a-chas a computing device (e.g., computing device112) and the computing devices of the responders260a-care configured to communicate with each other. The responder262has a computing device (e.g., computing device112).

In some embodiments, determinations are made as to which of the responders258a-b, which of the responders260a-c, and that the responder262is at a location of the event. In the particular embodiment depicted inFIG.6, the location of the car collision252is defined by an area256. The area256is an irregular shape that includes portions of the freeway254and other areas of the map250within a particular distance of the car collision252. Thus, a determination is made that responders258a-bare at the location of the car collision252(i.e., within the area256), a determination is made that responders260a-care at the location of the car collision252, and a determination is made that the responders240a-hare at the location of the car collision252. In some embodiments, as described above, authorization is received from the responder agencies of responders258a-b, responders260a-c, and the responder262to permit direct communication between responders from the responder agencies. In another embodiment, in response to the determinations that the responders258a-b, the responders260a-c, and the responder262are at the location of the car collision252and in response to receiving authorization from the responder agencies, a communication link is established between the responders258a-b, the responders260a-c, and the responder262.

As shown inFIG.6, in some embodiments, not all of the responders deemed to be at the location or event is immediately able to help. For example, responders260band260care not on the freeway254and immediately able to help at the car collision252. However, the responders258b,260band260creceive communication via the established communication link and can determine whether they should move onto the freeway254to assist at the car collision252. In addition, the communication link can be used to request that the responders258b,260band260cmove onto the freeway254to assist at the car collision252.

An embodiment of location-based metadata tagging of information is depicted inFIGS.7and8. A map270is depicted inFIGS.7and8. InFIG.7a first responder272is at a particular locale274. The locale274can be defined in many ways, such as an intersection of two streets, an address, a set of global coordinates, and the like. In the particular embodiment shown, the locale274is the intersection of two streets. The map270also includes indications of locations of a first responder272and a second responder276. Each of the first responder272and the second responder276has a computing device (e.g., computing device112).

At the point depicted inFIG.7, the first responder272sends a communication278using the computing device from the locale274to a remote computing device280. In the particular embodiment shown inFIG.7, the remote computing device280is located at an agency office282and used by a user284. In some embodiments, the user284is a dispatcher or a supervisor of the first responder272. In other embodiments, the remote computing device280can be automated and operate even without the user284(e.g., when the remote computing device280is a server).

In one embodiment, the communication278sent by the first responder272from the locale274to the remote computer280includes information obtained at the locale274. In some examples, the information is one or more of audio received by a microphone, video or an image taken by a camera, text entered into the computing device, and the like. Metadata associated with the information is tagged with an indication of the locale274. The metadata can be tagged by the computing device before the communication278is sent or by the remote computing device280after the communication278is sent. The remote computing device280is configured to store the information with the location-based metadata tag.

At the point depicted inFIG.8, the first responder272has left the locale274and the second responder276has arrived at the locale274. In one embodiment, the remote computing device280determines that the second responder276is at the locale274. In response to determining that the second responder276is at the locale274, the remote computing device280sends a communication286to the computing device of the second responder276. The communication286includes the information with the location-based metadata tag. In this way, information pertinent to the particular locale274is shared between the first responder272and the second responder276, even if the first responder272and the second responder276are not aware of each other's activities. In one embodiment, the first responder272and the second responder276are from different responder agencies.

An embodiment of a method300of communicating among responders from a plurality of responder agencies is depicted inFIG.9. At block302, a determination is made that a first plurality of responders from a first responder agency are located at an event or location. In one example, each of the first plurality of responders has a computing device and the computing devices of the first plurality of responders are configured to communicate with each other. At block304, a determination is made that a second plurality of responders from a second responder agency are located at the event or location. In one example, each of the second plurality of responders has a computing device and the computing devices of the second plurality of responders are configured to communicate with each other.

At block306, authorization is received from the first and second responder agencies to permit direct communication between responders from the first and second responder agencies. At block308, a communication link is established between the computing devices of the first plurality of responders and the computing devices of the second plurality of responders. The communication link permits direct communication between the first plurality of responders and the second plurality of responders. In one example, the communication link is established in response to determining that the first plurality of responders and the second plurality of responders are located at the event or location and in response to receiving the authorization.

An embodiment of a method320of communicating among a plurality of responders is depicted inFIG.10. At block322, a subset of a plurality of responders is defined where the responders are associated with a first responder. In one example, the responders are from the same responder agency as the first responder. In another example, the responders are at a location or event at which the first responder is located. In another example, the subset is defined by the first responder providing an indication of the subset (e.g., indicating particular responders in the subset, selecting a geographic area on a map where the responders in the subset are in the geographic area, etc.). At block324, a communication link is established between the computing devices of the first responder and the plurality of responders in the subset.

At block326, a priority rank among the first responder and the responders in the subset is established. At block328, communications between computing devices of the first responder and the responders are sent via the communication link subset based on the priority rank. In one example, the priority rank reflects a hierarchy of the first responder and the responders in the subset within a responder agency. In another example, the subset includes a responder, the responder's partner, the responder's supervisor, and a dispatcher, and the priority rank give priority to communications from the dispatcher, the responder's supervisor, and the responder's partner, in that order. In another example, the communications are push-to-talk communications and the computing devices of the responders are configured to determine a conflict between push-to-talk audio communications sent by two responders and to play one of the push-to-talk audio communications based on the priority rank of the two responders. In another example, the priority rank determines an importance of messages sent via the communication link. In another example, the computing devices of the first responder and the responders in the subset are configured to display or sound the communications based on the priority rank.

An embodiment of selecting a subset based on an indication of the subset from a responder is depicted inFIG.11. In the depicted embodiment, a computing device400with a touchscreen display402. A map404is displayed by the touchscreen display402. In this example, a responder input in the form of a geographic boundary406is drawn on the touchscreen display402over the map404. The map404optionally includes indications of responders408a-flocated in the area of the map. In one example, the locations of the responders408a-fare determined based on locations of computing devices of the responders408a-f. In the embodiment shown inFIG.11, the responders408a-dlocated with the geographic boundary406drawn on the map404are included in the subset. In one embodiment, when a responder input indicates that a superior of the responder is to be included in the subset, the computing device requests confirmation to add the superior of the responder. For example, if a police officer indicates that the chief of police is to be added to the subset, the computing device asks the police officer for confirmation that the chief of police should be included in the subset.

An embodiment of selecting a subset based on locations of responder computing devices and/or a priority rank of responders is depicted inFIG.12. In the depicted embodiment, a map410indicates locations of a responder412and other responders414a-e. In one embodiment, the subset of responders includes those of the responders414a-ethat are located with a particular distance from the responder412. For example,FIG.12indicates an area416within a particular radius of the responder412, the responders414a-care located with the area, and the responders414a-care included in the subset. In another embodiment, the subset of responders is selected based on a priority rank of responders.FIG.4also depicts a remote location418(e.g., a police station) with a responder420and a computing device422of the responder420. In one example, the responder420is a supervisor of the responder412. In this case, the subset includes the responder420because the responder420is the supervisor of the responder412.

Combining the two embodiments depicted inFIG.4, a subset is selected based on the location of responders and the priority rank to include the responder412, the responders414a-c, and the responder420in a subset of responders. A communication link is established between the computing devices of the responder412, the responders414a-c, and the responder420. Communications are sent via the communication link based on a priority rank of the responder412, the responders414a-c, and the responder420. In one example, the computing devices of the responder412and the responders414a-care configured to give priority to displaying and/or sounding communications from the computing device422of the responder420.

In another embodiment, the communications links described herein are capable of being used to send both broadcast communications and direct communications. Using the example fromFIG.12where the responder412, the responders414a-c, and the responder420are in the subset, broadcast communications sent by one responder of the subset are sent to the computing devices of the other responders in the subset. For example, responder414asends a broadcast message that is received by the computing devices of the responder412, the responders414b-c, and the responder420. In one example, the responder412may want to respond to the broadcast message of the responder414abut not send the response to all of the responders in the subset. In the example, the computing device of the responder412permits the responder412to select that a direct communication be sent back to the responder414a. The direct communication is sent from the computing device of the responder412to the computing device of the responder414a, but is not sent to the computing devices of the responders414b-cand the responder420.

Unless otherwise specified in the context of specific examples, described techniques and tools may be implemented by any suitable computing device or set of computing devices.

In any of the described examples, a data store contains data as described herein and may be hosted, for example, by a database management system (DBMS) to allow a high level of data throughput between the data store and other components of a described system. The DBMS may also allow the data store to be reliably backed up and to maintain a high level of availability. For example, a data store may be accessed by other system components via a network, such as a private network in the vicinity of the system, a secured transmission channel over the public Internet, a combination of private and public networks, and the like. Instead of or in addition to a DBMS, a data store may include structured data stored as files in a traditional file system. Data stores may reside on computing devices that are part of or separate from components of systems described herein. Separate data stores may be combined into a single data store, or a single data store may be split into two or more separate data stores.

Some of the functionality described herein may be implemented in the context of a client-server relationship. In this context, server devices may include suitable computing devices configured to provide information and/or services described herein. Server devices may include any suitable computing devices, such as dedicated server devices. Server functionality provided by server devices may, in some cases, be provided by software (e.g., virtualized computing instances or application objects) executing on a computing device that is not a dedicated server device. The term “client” can be used to refer to a computing device that obtains information and/or accesses services provided by a server over a communication link. However, the designation of a particular device as a client device does not necessarily require the presence of a server. At various times, a single device may act as a server, a client, or both a server and a client, depending on context and configuration. Actual physical locations of clients and servers are not necessarily important, but the locations can be described as “local” for a client and “remote” for a server to illustrate a common usage scenario in which a client is receiving information provided by a server at a remote location.

FIG.13depicts a block diagram that illustrates aspects of an illustrative computing device500appropriate for use in accordance with embodiments of the present disclosure. The description below is applicable to servers, personal computers, mobile phones, smart phones, tablet computers, embedded computing devices, and other currently available or yet to be developed devices that may be used in accordance with embodiments of the present disclosure.

In its most basic configuration, the computing device500includes at least one processor502and a system memory504connected by a communication bus506. Depending on the exact configuration and type of device, the system memory504may be volatile or nonvolatile memory, such as read only memory (“ROM”), random access memory (“RAM”), EEPROM, flash memory, or other memory technology. Those of ordinary skill in the art and others will recognize that system memory504typically stores data and/or program modules that are immediately accessible to and/or currently being operated on by the processor502. In this regard, the processor502may serve as a computational center of the computing device500by supporting the execution of instructions.

As further illustrated inFIG.13, the computing device500may include a network interface510comprising one or more components for communicating with other devices over a network. Embodiments of the present disclosure may access basic services that utilize the network interface510to perform communications using common network protocols. The network interface510may also include a wireless network interface configured to communicate via one or more wireless communication protocols, such as WiFi, 2G, 3G, 4G, LTE, WiMAX, Bluetooth, and/or the like.

In the illustrative embodiment depicted inFIG.13, the computing device500also includes a storage medium508. However, services may be accessed using a computing device that does not include means for persisting data to a local storage medium. Therefore, the storage medium508depicted inFIG.13is optional. In any event, the storage medium508may be volatile or nonvolatile, removable or nonremovable, implemented using any technology capable of storing information such as, but not limited to, a hard drive, solid state drive, CD ROM, DVD, or other disk storage, magnetic tape, magnetic disk storage, and/or the like.

As used herein, the term “computer readable medium” includes volatile and nonvolatile and removable and nonremovable media implemented in any method or technology capable of storing information, such as computer readable instructions, data structures, program modules, or other data. In this regard, the system memory504and storage medium508depicted inFIG.13are examples of computer readable media.

For ease of illustration and because it is not important for an understanding of the claimed subject matter,FIG.13does not show some of the typical components of many computing devices. In this regard, the computing device500may include input devices, such as a keyboard, keypad, mouse, trackball, microphone, video camera, touchpad, touchscreen, electronic pen, stylus, and/or the like. Such input devices may be coupled to the computing device500by wired or wireless connections including RF, infrared, serial, parallel, Bluetooth, USB, or other suitable connection protocols using wireless or physical connections.

In any of the described examples, data can be captured by input devices and transmitted or stored for future processing. The processing may include encoding data streams, which can be subsequently decoded for presentation by output devices. Media data can be captured by multimedia input devices and stored by saving media data streams as files on a computer readable storage medium (e.g., in memory or persistent storage on a client device, server, administrator device, or some other device). Input devices can be separate from and communicatively coupled to computing device500(e.g., a client device), or can be integral components of the computing device500. In some embodiments, multiple input devices may be combined into a single, multifunction input device (e.g., a video camera with an integrated microphone). The computing device500may also include output devices such as a display, speakers, printer, etc. The output devices may include video output devices such as a display or touchscreen. The output devices also may include audio output devices such as external speakers or earphones. The output devices can be separate from and communicatively coupled to the computing device500, or can be integral components of the computing device500. Input functionality and output functionality may be integrated into the same input/output device (e.g., a touchscreen). Any suitable input device, output device, or combined input/output device either currently known or developed in the future may be used with described systems.

In general, functionality of computing devices described herein may be implemented in computing logic embodied in hardware or software instructions, which can be written in a programming language, such as C, C++, COBOL, JAVA™, PHP, Perl, Python, Ruby, HTML, CSS, JavaScript, VBScript, ASPX, Microsoft .NET™ languages such as C#, and/or the like. Computing logic may be compiled into executable programs or written in interpreted programming languages. Generally, functionality described herein can be implemented as logic modules that can be duplicated to provide greater processing capability, merged with other modules, or divided into sub modules. The computing logic can be stored in any type of computer readable medium (e.g., a non-transitory medium such as a memory or storage medium) or computer storage device and be stored on and executed by one or more general purpose or special purpose processors, thus creating a special purpose computing device configured to provide functionality described herein.

Many alternatives to the systems and devices described herein are possible. For example, individual modules or subsystems can be separated into additional modules or subsystems or combined into fewer modules or subsystems. As another example, modules or subsystems can be omitted or supplemented with other modules or subsystems. As another example, functions that are indicated as being performed by a particular device, module, or subsystem may instead be performed by one or more other devices, modules, or subsystems. Although some examples in the present disclosure include descriptions of devices comprising specific hardware components in specific arrangements, techniques and tools described herein can be modified to accommodate different hardware components, combinations, or arrangements. Further, although some examples in the present disclosure include descriptions of specific usage scenarios, techniques and tools described herein can be modified to accommodate different usage scenarios. Functionality that is described as being implemented in software can instead be implemented in hardware, or vice versa.

Many alternatives to the techniques described herein are possible. For example, processing stages in the various techniques can be separated into additional stages or combined into fewer stages. As another example, processing stages in the various techniques can be omitted or supplemented with other techniques or processing stages. As another example, processing stages that are described as occurring in a particular order can instead occur in a different order. As another example, processing stages that are described as being performed in a series of steps may instead be handled in a parallel fashion, with multiple modules or software processes concurrently handling one or more of the illustrated processing stages. As another example, processing stages that are indicated as being performed by a particular device or module may instead be performed by one or more other devices or modules.

Embodiments disclosed herein include a computer-implemented method for performing one or more of the above-described techniques; a computing device comprising a processor and computer-readable storage media having stored thereon computer-executable instructions configured to cause the server computer to perform one or more of the above-described techniques; a computer-readable storage medium having stored thereon computer-executable instructions configured to cause a computing device to perform one or more of the above-described techniques; a computing system comprising a server that provides one or more of the above-described services. The computer system may further comprise plural client computing devices; and a client computing device in communication with a server that provides one or more of the above-described services, the client computing device comprising a processing unit and computer-readable storage media having stored thereon computer-executable instructions configured to cause the client computing device to perform one or more of the above-described techniques.

The principles, representative embodiments, and modes of operation of the present disclosure have been described in the foregoing description. However, aspects of the present disclosure which are intended to be protected are not to be construed as limited to the particular embodiments disclosed. Further, the embodiments described herein are to be regarded as illustrative rather than restrictive. It will be appreciated that variations and changes may be made by others, and equivalents employed, without departing from the spirit of the present disclosure. Accordingly, it is expressly intended that all such variations, changes, and equivalents fall within the spirit and scope of the claimed subject matter.

While illustrative embodiments have been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the claimed subject matter.