The present invention relates generally to the fields of data networks and communication systems; more specifically, to mobile communication service providers that deploy push-to-talk applications for subscribers.
Push-to-talk (PTT) is a two-way communication service that works like a walkie-talkie. A normal cell phone call is full-duplex, meaning both parties can hear each other at the same time. PTT is half-duplex, meaning communication can only travel in one direction at any given moment. A token-based model of operation, in which a person must be first granted access to the floor by a floor control mechanism before he may speak to other session participants, typically governs most PTT sessions. For instance, a PTT-enabled handset typically requires that a caller press and hold a button while talking, and then release the button when they are done. Any listener may then press their button in a similar manner to request access to the floor in order to respond.
PTT applications have been utilized in the radio and microwave communication industries for many years. A variety of different applications are ubiquitous today. For example, dispatch services such as police and fire departments, paramedic units, and security teams routinely use PTT applications for field communications. More recently, mobile service providers have begun to provide enhanced PTT services based on Internet Protocol (IP) based solutions. For instance, push-to-talk over cellular (PoC) applications are actively being pursued by mobile service providers in the Open Mobile Alliance (OMA) standards body for use in chatting with families, buddies and in certain business applications, such as dispatch services, security services and various government agencies (e.g., fire, ambulance, police, FEMA, etc.). The OMA PoC approach is based on the session initiation protocol (SIP), a widely-used signalling protocol for voice over IP (VoIP) communications in which transfer of packets is done using the real-time transport protocol (RTP). RTP is a known protocol for transmitting real-time data such as audio or video streams. The RTP control protocol (RTCP) is an associated protocol useful for maintaining RTP session quality. The talk burst control protocol (TBCP) is a known protocol that uses extension features of RTCP to invoke floor control within a PoC environment.
By way of further background, a system and method for controlling the transmission of talk bursts using a talk burst control protocol is described in U.S. Patent Publication No. 2006/0034336. A system for providing media services in voice over IP (VoIP) telephony in which audio is transmitted in packet streams such as RTP/RTCP packets is disclosed in U.S. Pat. No. 6,947,417. U.S. Pat. No. 6,044,081 teaches a communications system and multimedia system that allows private network signaling to be routed over a packet network.
One of the problems with providing enhanced PTT services is that many legacy communication systems that accommodate PTT based radio communication devices are often incompatible with each other. This can make it difficult to integrate different PTT services in situations where endpoint communication devices must share the same logical floor and arbitrate across different applications. Many times, with disparate applications there arises a need to provide different floor control characteristics applicable to these different application scenarios.
The present invention will be understood more fully from the detailed description that follows and from the accompanying drawings, which however, should not be taken to limit the invention to the specific embodiments shown, but are for explanation and understanding only.
A framework for enhanced floor control in a PTT conference session is described. In the following description specific details are set forth, such as device types, system configurations, protocols, methods, etc., in order to provide a thorough understanding of the present invention. However, persons having ordinary skill in the relevant arts will appreciate that these specific details may not be needed to practice the present invention.
According to one embodiment of the present invention, a mechanism defines several different templates or algorithms for floor control for various types of PTT applications. The initiator or moderator/administrator of the PTT group session may apply any of the available templates to the current session. Different groups can have different templates applied. Each floor control template corresponds to a different floor control algorithm (thus, the terms “template” and “algorithm” are used interchangeably in context of the present application). When a group session is initiated, a first (i.e., default) floor control algorithm or template in the form of executable code is loaded and applied (i.e., the code is executed) on the PTT server(s) responsible for handling floor control for the PTT session. For example, the template code may be downloaded via a network connection, or, alternatively, fetched from a memory associated with the PTT server(s). Each template, as well as the computer-executable routine used for selecting a new floor control template, may also be embodied in a variety of different forms, e.g., software, hardware, firmware, computer program products, etc.
The initial floor control algorithm continues to apply to the PTT session until the template is switched or changed. That is, a participant, session moderator or an administrator with an appropriate privilege grant can dynamically change the template during the course of the session. Various privilege levels governing who may change the floor control template may be assigned based on the particular application. For example, in an emergency response situation application, the privilege to change the current template and apply a new floor control algorithm may only be granted to unit commanders (i.e., a police chief, a fire chief, etc.).
As will be described in more detail below, in a specific implementation, a user interface may be employed by a user/moderator/administrator to select a new floor control to be applied to the current PTT session. A graphical user interface (GUI), a telephony user interface (TUI), or a voice user interface (VUI) may be used. For example, a user may utilize an interactive voice response (IVR) system associated with the PTT server, wherein the user may press a special key code, e.g., “#9”, in order to invoke a menu that allows the user to select one of a number of different floor control algorithms or templates to be applied to the current PTT session. In the case where the user is communicating via an IP phone, a special “floor control template” softkey button may display a selection menu and instantiate one or more softkey buttons allowing the user to make his selection from the menu listing. An exemplary user interface in accordance with this later embodiment is described in more detail below in connection with
In yet another embodiment, a user/moderator can use a web-based or native graphical user interface (GUI) running on a personal computer (PC) to selectively change the floor control template applied to the current PTT session. The GUI may be generated by software (i.e., code) running the user's PC. In other cases, the GUI may comprise a collaborative web-based application that is accessed by the browser software running on the user's PC. In other instances, the GUI may comprise a downloaded application, or other forms of computer-executable code that may be loaded or accessed by a user's PC.
By way of example, the GUI may list the entire set of available templates, optionally including a detailed text description of the operational features offered by each template and situational examples where application of the template is most useful. When the user selects a particular floor control template for the session, the GUI outputs a signal via an external interface of the PC to the PTT server that causes the server to immediately change the floor control algorithm in use. In other words, in response to the selection of the user/moderator, the PTT server changes the way it arbitrates requests from users to talk and/or the conditions associated with the talk bursts of each participant.
Practitioners will appreciate that the present invention is not limited to any specific types of floor control algorithms or to any particular set of templates. In other words, the various types of algorithms used to control the PTT floor described below is not intended to be exclusive or exhaustive of the different types of control algorithms that may be employed. Rather, the framework and overlaying mechanism for selecting a particular template is largely independent of the particular floor control templates used to populate the list from which the user makes his selection.
In accordance with one embodiment of the present invention, when a new floor control template has been selected and applied to the current PTT session, the PTT server may notify each of the participants of the change via a brief audio tone (e.g., two short “beep” tones) or a pre-recorded message sent to their communication device. In the latter case, for example, the server may play a message (e.g., “Priority-based floor control is now in use” or “Buffered talk bursts are now in use”) that provides adequate notification of the change in floor control to all persons participating in the PTT session. Depending on the capabilities of the particular endpoint devices being used, various participants may also be notified via other media channels (e.g., text messaging, or some combination of text and audio messaging).
It is appreciated that the media path for the session participants may include audio (voice) transmissions across a variety of different networks (e.g., Internet, intranet, PSTN, radio or microwave frequency communication networks, etc.), different protocols (e.g., IP, Asynchronous Transfer Mode (ATM), Point-to-Point Protocol (PPP)), with connections that span across multiple services, systems, and devices (e.g., handsets, cellphones, IP phones, softphones, emergency response communication systems, etc.). Alternative embodiments of the present invention may be implemented in PBX, telephony, telephone, and other telecommunications systems.
A number of different floor control algorithms or templates may be designed for use in accordance with the present invention. For example, in a “Priority-based” floor control template different subscribers or participants are assigned to different weights or priority values. Participants having higher weights assigned to the name, i.e., a higher priority, therefore have a better chance to capturing the floor in an arbitration contest with another participant having a lower priority weight. By way of example, in an emergency response or natural disaster situation, a Police Chief for Fire Chief may be granted the highest priority such that he will gain access to the floor every time he wants to communicate instructions to his subordinates via the PTT group session.
Another template that may be used in accordance with the present invention is a “Barge-In” floor control algorithm. Here, the idea is to grant a specially designated person(s) permission to barge-in and capture the floor from someone else anytime they want or need to speak to the group. Typically, 911 operators, command center operators/dispatchers, and the like, are persons that might appropriately be conferred with barge-in privileges. Once the barge-in floor control template is applied—either as a general policy or as an overlapping policy on top of another floor control algorithm—any participant that has been granted barge-in privileges is free to take over the floor from anyone who already has the floor and who may be in the middle of speaking.
A “Groups-based” relative priority floor control template can be used where there are different groups of people participating. Each group can be assigned different priority levels. Groups can also be divided into sub-groups, with each of the subgroups being assigned sub-priorities. For example, as among different groups such as fire-fighters policemen, paramedics, and emergency management administrative personnel, it may be desirable to give the highest priority to the people in the field closest to the unfolding emergency situation. Thus, for example, in certain emergency or disaster scenarios it may be desirable to define the fire-fighter group as having a higher priority relative to other groups.
Yet another template that may be used in accordance with the present invention is a “Distributed” floor control template or algorithm.
In the architecture of
Persons of skill in the arts will appreciate that the distributed floor control template provides scalability and speed for large PTT groups. It also provides significant savings in bandwidth, since most of the arbitration is performed locally, rather than at central PTT server 30.
In a specific implementation, a GUI/TUI may be defined to enable different floor control templates for different groups. In other words, instead of applying a floor control template on a per session basis, the template can be applied on a per group basis, with the algorithm controlling a particular group being independent from that utilized to manage/control floor behavior in another group.
For instance, each group can be access a floor control GUI from a secure web page so that templates may be applied to that group (associated server). Alternately, a TUI can be defined to apply the different templates. For example, the TUI may connect to an interactive voice response (IVR) system server to provide various configuration parameters for changing the floor behavior. The user may be prompted by the IVR with a menu listing of different template options and respond accordingly (e.g., “Press or say ‘1’ to select the priority-based, template; press or say ‘2’ to select the barge-in template”, and so on.). In cases where intelligent endpoint devices are used, the template can be managed directly from the endpoint device via a GUI rather than from a TUI.
Another template that can be selected and applied in accordance with the present invention is the “Buffered Talk Burst” floor control template, which basically allows an open floor. And that is, anyone is free to speak at any time. All requests are time-stamped, buffered and played out in the order that they were generated.
Still another template that can be selected and applied in accordance with the present invention is the “Round Robin Talk Burst” allocation template. In this algorithm, the floor is granted to each participant for a predetermined time burst (e.g., 5-10 seconds) in a round-robin fashion. This is typically useful for polling or introduction type situations.
A “Variable-sized Talk Burst” floor control template can be selected by a user for application in situations where it is necessary or desired to assign different individuals with different talk burst times. For instance, at times it may be important to assign a substantially longer talk burst time to a particular individual relative to other participants or subscribers to the PTT group session. For example, a person who possesses certain expert knowledge in a particular area or subject matter may be assigned a substantially longer talk burst time (e.g., 30 seconds) relative to others (e.g., 5 seconds) in order to explain something of significance to the group when he is called upon to speak or offer his expert knowledge.
Yet another example of a floor control template that may be selected by a user and applied to a PTT group session in accordance with one embodiment of the present invention is a “Weighted-Fair Queue” template. In this algorithm, floor requests that lose out (i.e., requests that are denied as part of the arbitration process, thereby resulting in the participant being unable to speak) are placed in a weighted-fair queue based on the relative priority of the losing participant (or some other weight) of each request. When the floor once again becomes available, a floor grant indication can be sent to the participant who is currently occupying the top (i.e., highest priority) position in the queue.
Note that in the embodiment of
It should be further understood that, in certain embodiments, selection of the particular floor control template to be applied to the PTT server may be automated, based on policy rules, particular system configurations, or other considerations. For example, the system may be configured such that for a PTT session initiated by a person associated with a certain group (e.g., fire-fighters), a priority-based template is initially applied by default. Later, if during the session, persons from other groups join in and participate in the session, the system may automatically change the template to a “Groups-based” floor control template, or some other control algorithm. If a Fire Chief or Police Chief participates in the session, a “Barge-in” template may be overlaid onto the existing floor control algorithm. In other words, changing of the templates may be automated in accordance with the changing dynamics and conditions of the PTT session as monitored and determined by the PTT server. An optional override privilege may be granted to certain users or to the session moderator/administrator to override the automatic template selection and/or disable the automatic template selection mechanism.
Note that in the example of
It should be understood that once a particular floor control algorithm or template has been selected, the user/moderator/administrator may change his selection as the conditions of the session change. For example, initially the person moderating a PTT session may select a “Round Robin Talk Burst” template that allows each participant to introduce himself to the other participants in attendance. Afterward, the “Buffered Talk Burst” floor control template may be selected, where any participant is free to request the floor and speak at any time. Later, if the dialogue deteriorates, e.g., due to a large number of participants trying to speak at once or if the discussions become unproductive, the moderator might appropriately select a “Priority-Based” or “Variable-Sized Talk Burst” floor control template. In other words, the user interface of
It should be understood that elements of the present invention may also be provided as a computer program product which may include a machine-readable medium having stored thereon instructions which may be used to program a computer (e.g., a processor or other electronic device) to perform a sequence of operations. Alternatively, the operations may be performed by a combination of hardware and software. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnet or optical cards, or other type of machine-readable medium suitable for storing electronic instructions.
Additionally, although the present invention has been described in conjunction with specific embodiments, numerous modifications and alterations are well within the scope of the present invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
4805210 | Griffith, Jr. | Feb 1989 | A |
5206905 | Lee et al. | Apr 1993 | A |
5220599 | Sasano et al. | Jun 1993 | A |
5341413 | Hori et al. | Aug 1994 | A |
5369783 | Childress et al. | Nov 1994 | A |
5402490 | Mihm, Jr. | Mar 1995 | A |
5432844 | Core et al. | Jul 1995 | A |
5568540 | Greco et al. | Oct 1996 | A |
5608786 | Gordon | Mar 1997 | A |
5615213 | Griefer | Mar 1997 | A |
5794218 | Jennings et al. | Aug 1998 | A |
5905448 | Briancon et al. | May 1999 | A |
5937040 | Wrede et al. | Aug 1999 | A |
5974142 | Heer et al. | Oct 1999 | A |
5999599 | Shaffer et al. | Dec 1999 | A |
6044081 | Bell et al. | Mar 2000 | A |
6259405 | Stewart et al. | Jul 2001 | B1 |
6271764 | Okamura | Aug 2001 | B1 |
6366651 | Griffith et al. | Apr 2002 | B1 |
6373817 | Kung et al. | Apr 2002 | B1 |
6421544 | Sawada | Jul 2002 | B1 |
6438600 | Greenfield et al. | Aug 2002 | B1 |
6522726 | Hunt et al. | Feb 2003 | B1 |
6526293 | Matsuo | Feb 2003 | B1 |
6542586 | Helstab | Apr 2003 | B1 |
6545596 | Moon | Apr 2003 | B1 |
6564261 | Gudjonsson et al. | May 2003 | B1 |
6587680 | Ala-Laurila | Jul 2003 | B1 |
6643774 | McGarvey | Nov 2003 | B1 |
6654455 | Isaka | Nov 2003 | B1 |
6665534 | Conklin et al. | Dec 2003 | B1 |
6721401 | Lee et al. | Apr 2004 | B2 |
6738461 | Trandal et al. | May 2004 | B2 |
6766007 | Dermler et al. | Jul 2004 | B1 |
6769000 | Akhtar et al. | Jul 2004 | B1 |
6771639 | Holden | Aug 2004 | B1 |
6792296 | Van Bosch | Sep 2004 | B1 |
6792297 | Cannon et al. | Sep 2004 | B2 |
6798874 | Ohlinger et al. | Sep 2004 | B1 |
6799052 | Agness et al. | Sep 2004 | B2 |
6804334 | Beasley et al. | Oct 2004 | B1 |
6816469 | Kung et al. | Nov 2004 | B1 |
6839761 | Kadyk et al. | Jan 2005 | B2 |
6847715 | Swartz | Jan 2005 | B1 |
6870835 | Chen et al. | Mar 2005 | B1 |
6876734 | Summers et al. | Apr 2005 | B1 |
6898279 | Baker et al. | May 2005 | B1 |
6905414 | Danieli et al. | Jun 2005 | B2 |
6907123 | Schier | Jun 2005 | B1 |
6912275 | Kaplan | Jun 2005 | B1 |
6917672 | Brown et al. | Jul 2005 | B2 |
6918034 | Sengodan et al. | Jul 2005 | B1 |
6928558 | Allahwerdi et al. | Aug 2005 | B1 |
6931001 | Deng | Aug 2005 | B2 |
6934858 | Woodhill | Aug 2005 | B2 |
6947417 | Laursen et al. | Sep 2005 | B2 |
6959184 | Byers et al. | Oct 2005 | B1 |
6977993 | Starbuck et al. | Dec 2005 | B2 |
6985745 | Quaid | Jan 2006 | B2 |
6987744 | Harrington et al. | Jan 2006 | B2 |
7042989 | Lawson | May 2006 | B2 |
7085244 | Koskelainen et al. | Aug 2006 | B2 |
7139370 | Tse | Nov 2006 | B1 |
7189132 | Nacik et al. | Mar 2007 | B2 |
7275109 | Lee | Sep 2007 | B1 |
7333614 | Jarosinski et al. | Feb 2008 | B2 |
7466801 | Miller et al. | Dec 2008 | B2 |
7561892 | Huh et al. | Jul 2009 | B2 |
20020010008 | Bork et al. | Jan 2002 | A1 |
20020040936 | Wentker et al. | Apr 2002 | A1 |
20020068537 | Shim et al. | Jun 2002 | A1 |
20020086680 | Hunsinger | Jul 2002 | A1 |
20020098831 | Castell et al. | Jul 2002 | A1 |
20020140745 | Allenby et al. | Oct 2002 | A1 |
20020167937 | Goodman | Nov 2002 | A1 |
20020178228 | Goldberg | Nov 2002 | A1 |
20020181691 | Miller et al. | Dec 2002 | A1 |
20020198004 | Heie et al. | Dec 2002 | A1 |
20030043992 | Wengrovitz | Mar 2003 | A1 |
20030061496 | Ananda | Mar 2003 | A1 |
20040003070 | Fernald et al. | Jan 2004 | A1 |
20040024640 | Engle et al. | Feb 2004 | A1 |
20040078349 | Syrjala et al. | Apr 2004 | A1 |
20040121774 | Rajkotia et al. | Jun 2004 | A1 |
20040125802 | Lillie et al. | Jul 2004 | A1 |
20040128350 | Topfl et al. | Jul 2004 | A1 |
20040131206 | Cao et al. | Jul 2004 | A1 |
20040205330 | Godfrey et al. | Oct 2004 | A1 |
20040248586 | Patel et al. | Dec 2004 | A1 |
20050022020 | Fremberg | Jan 2005 | A1 |
20050031110 | Haimovich et al. | Feb 2005 | A1 |
20050157708 | Chun | Jul 2005 | A1 |
20050177622 | Spielman et al. | Aug 2005 | A1 |
20050197110 | Hasan et al. | Sep 2005 | A1 |
20050212749 | Marvit et al. | Sep 2005 | A1 |
20050239486 | D'Avello et al. | Oct 2005 | A1 |
20050272413 | Bourne | Dec 2005 | A1 |
20050273333 | Morin et al. | Dec 2005 | A1 |
20060009238 | Stanco et al. | Jan 2006 | A1 |
20060034336 | Huh et al. | Feb 2006 | A1 |
20060035657 | Lim | Feb 2006 | A1 |
20060056440 | Khartabil | Mar 2006 | A1 |
20060068731 | Seier | Mar 2006 | A1 |
20060084454 | Sung et al. | Apr 2006 | A1 |
20060089131 | Huang | Apr 2006 | A1 |
20060104218 | Kako | May 2006 | A1 |
20060105790 | Jin et al. | May 2006 | A1 |
20060116175 | Chu | Jun 2006 | A1 |
20060126529 | Hardy | Jun 2006 | A1 |
20060147002 | Desai et al. | Jul 2006 | A1 |
20060206454 | Frostall et al. | Sep 2006 | A1 |
20060223562 | Mathis | Oct 2006 | A1 |
20060239277 | Gallagher | Oct 2006 | A1 |
20070036322 | Goldman et al. | Feb 2007 | A1 |
20070037610 | Logan | Feb 2007 | A1 |
20070064908 | Levy et al. | Mar 2007 | A1 |
20070112571 | Thirugnana | May 2007 | A1 |
20070177503 | Mooney et al. | Aug 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20070281723 A1 | Dec 2007 | US |