The present invention relates generally to wireless communications using a push-to-talk feature, and more particularly, to a method and apparatus for priority queuing of callers requesting an opportunity to speak during a call.
In the world of wireless communication, there are many methods in which to communicate over a wireless network. Among these methods of wireless communication is push to talk. Push to talk (PTT) allows a user to communicate over an air channel merely by pressing and holding the appropriate PTT button on a wireless phone. This allows a user near instant access to any user in a predetermined call group, since no dialing is required and the listener(s) or called party(ies) does not have to answer. More importantly, the called party(ies) or listener(s) can not elect to not answer the call. This is vastly different from traditional cellular calls that: (1) require the user to dial a phone number or numbers; and (2) require the user to wait before speaking until the call is answered and connected.
Despite all of the benefits, push to talk is not without its limitations. For example, current proprietary push-to-talk systems use a dedicated air channel for communications. This means the air link channel is reserved for use even though no users may be using it. Also, push-to-talk phones on proprietary push-to-talk systems typically never shift to a dormant mode, because the air channel is reserved. This is advantageous because it allows a user to receive a push to talk communication without waiting for the phone to go from a dormant mode to an active mode. However, this is a waste of resources as the channel could be used for other calls and power resources on the wireless phone may be wasted. In standards-based wireless networks that incorporate a PTT feature, communication channels are not reserved for the PTT feature. This eliminates the waste in communication resources, but increases the time from a PTT request to an indication that the caller can begin speaking. If the called party is allowed to go dormant and is dormant, as is the case in standards-based packet data networks, such as, for example, Telecommunications Industry Association/Electronic Industries Alliance IS-835, then the time from a PTT request to an indication that the caller can begin speaking is even longer, due to the time required to activate the wireless phone from a dormant state. Unfortunately, for users that are accustomed to the proprietary PTT systems, the delay in such a PTT connection is undesirable and in some case unacceptable.
PTT calls use a half-duplex communications system and therefore, only one person can have the ability to speak at a time. All calls are handled on a first come, first serve basis. That is the first PTT requestor “receives the floor,” so to speak and holds the floor until it is released. Because of this arrangement, existing PTT systems do not allow for efficient queuing of call participants. This can lead to a disorganized and inefficient call, as a user with little to say can dominate a call by simply pressing and holding the appropriate button on a wireless phone.
Therefore, a need exists for a method and apparatus for preserving wireless resources while saving call setup time and for queuing multiple participants in a call.
An object of the present invention is to allow for preemption and interruption of a speaker during a push to talk call. Other objects of the present invention will become more apparent to persons having ordinary skill in the art to which the present invention pertains from the following description in conjunction with the accompanying figures
In accordance with one aspect of the invention, a method and apparatus for priority queuing of participants in a call is disclosed. The method and apparatus as practiced by the present invention begins when a user request that a group of call participants be defined for the purpose of conducting a call. The user then assigns each participant a priority level designation. While the call is in progress and a participant is currently speaking, another participant may transmit a request to speak. This request is received by a push to talk server. After the request has been received, the PTT server compares the priority level of the current speaker with that of the participant requesting the opportunity to speak. If the participant requesting the opportunity to speak has a higher priority than the current speaker, the PTT server will remove the ability to speak from the current speaker and grant it to the participant requesting the opportunity to speak. The PTT server will transmit messages to both parties' mobile devices indicating a change in speaker has taken place. Additionally, the PTT server will transmit messages to all other participants in the call indicating a change in speaker has occurred and indicating each participant's new place in the queue.
If the participant requesting the opportunity to speak is of equal or lesser priority than the current speaker, the participant requesting the opportunity to speak will be placed in the queue of participants waiting to speak in an order commiserate with their priority level. The PTT server will send a message to the mobile device of the participant requesting the opportunity to speak acknowledging receipt of the request to speak and the participant's current position in the queue. If the position of queued participant changes, the PTT server sends a message to the mobile device of each participant indicating an updated position in the queue.
When the current speaker is done speaking, the PTT server will grant the ability to speak to the participant that is at the head of the queue. The PTT server will send a message to the mobile devices of all of the participants in the call indicating the identity of the new current speaker. The mobile device granted the ability to speak will beep, and display a message indicating that the participant may start speaking. Additionally, as described above, messages are sent to the mobile device of each participant indicating an updated position in the queue.
In accordance with another aspect of the present invention, a participant who is not currently speaking but urgently desires to do so, can press an “Interrupt” button on the mobile device to request the opportunity to speak. A message will be sent to the PTT server indicating a participant urgently desires the opportunity to speak. The current speaker can choose their communication or the interruption and place the participant initiating the interrupt request in the queue.
In accordance with yet another aspect of the present invention, a participant may request to see a list of the queue order and a list of all of the participants in the call. This list may be displayed on a mobile device or an Internet interface.
In accordance with yet another aspect of the present invention, a participant with a high priority level can manipulate the ordering of the queue, delete participants from the queue and remove the ability to speak from the current speaker using a graphical user interface on the mobile device or by using an Internet interface.
In accordance with the preferred embodiments of the present invention, and with reference to
As the call progresses, a participant may want to speak while another participant is currently speaking. The participant wanting to speak sends a request to speak by making the proper selection. This is typically accomplished using the push to talk button on mobile device 110. This request is received by the PTT server 140 (230). After the request is received, the PTT server 140 compares the assigned priority level of the call participant initiating the request with the assigned priority level of the current speaker (240). If the call participant initiating the request has a lower priority level than that of the current speaker, the call participant initiating the request is placed in a queue in the PTT server 140 and assigned a queue order based on their predetermined level of priority (250). For example, a requestor with a higher priority is placed higher in the queue for faster access than those requestors of a lower priority. A message is then sent to the mobile device 110 of the requestor by the PTT server 140. The message preferably displays the queue position of the call participant initiating the request (260). If the call participant initiating the request has a higher priority level than that of the current speaker, a message is sent by the PTT server 140 to each mobile device 110 or select mobile devices indicating a change in speaker is set to occur (270). Concurrent with the change of speaker message being sent, the current speaker loses the ability to transmit her speech and is placed in the queue in an order appropriate for her assigned priority level (280). After the current speaker's ability to speak is terminated, the call participant initiating the request to speak, and next in the queue, is granted the ability to speak by the PTT server 140 (290). Concurrent with the new speaker being granted the ability to speak, that is, transmit speech, the PTT server sends a message to the mobile device 110 of the new speaker. This message indicates that the new speaker may proceed speaking (300). The new speaker is allowed to speak until a participant with a higher priority requests to speak or until the new speaker has finished speaking and releases the floor. The above described process repeats itself until the call ends.
In a preferred embodiment of the invention, a participant may request to see a list of the queue order and a list of all of the participants in the call. This list is preferably sent from the PTT server and may be displayed on a mobile device or an Internet interface. Additionally, a participant with a high priority level can manipulate the ordering of the queue, delete participants from the queue, change the current speaker, and disable the talk feature for certain participants using a graphical user interface on the mobile device or by using an Internet interface to interact with PTT server 140.
At the outset of the call, all of the participants in the call, except the initial speaker, are alternatively placed in the queue by the PTT server 140 (430) or they may be placed in the queue by requesting the floor via a PTT floor request. Preferably, as the call progresses, a call participant presses an interrupt button on mobile device 110 in an effort to acquire the ability to speak more immediately than in the method described above, and associated with
If, on the other hand, at least one participant is registered (540), the PTT server 140 assigns a media duplicator 150 to the call (560) and sends a message to the mobile device 110 of the call originator indicating that the call may proceed (570). Simultaneously, all call participants are invited to join the call (562). If no participant is available to participate in the call (564), then the PTT requestor receives a message from the PTT server indicating the call has ended and the call is terminated, including discarding any buffered speech (566). If on the other hand, at least one participant is available to participate in the call, the call continues, including buffering the speech burst in accordance with the invention, as discussed further below (568).
After the PTT requestor is notified that the call can proceed (570), the PTT requestor begins to speak. As the PTT requestor begins to speak, the voice packets received from the call originator are digitized and transmitted to the media duplicator 150 (580) and stored in a buffer in the media duplicator (590). The digitizing and transmitting of voice packets is accomplished by using methods known in art. The buffer is preferably sized to hold about 1 to 10 seconds (maximum reactivation time) of speech.
If the talk button is released to indicate the PTT requestor/call originator is through speaking (592), then a keep alive timer is initiated (594). The keep alive timer is preferably implemented on the PTT server in any known manner. The keep alive timer causes a dummy (that is, meaningless) packet of data to be sent to the mobile device of the PTT requestor/call originator as a measure to insure that the PTT requestor does not go into a dormant state. If there is no activity, i.e., no packets sent or received, on a device for a certain period, the device goes dormant to conserve power and other resources. Preventing the mobile device of the PTT requestor from going dormant is preferred, since it is likely that the initial speech burst by the PTT requestor will be followed by some response from a participant in the call. Given this likelihood, it is preferred to prevent the mobile device of the call originator from going into a dormant state, at least before the buffered speech is played out. To avoid the mobile device of the call originator from going into the dormant state, the keep alive timer is set to send the dummy packet just prior to the expiration of the time period at which the mobile device goes dormant due to inactivity. After the buffered speech burst is played out, the keep alive timer stops sending dummy packets, thereby allowing the mobile device of the call originator to subsequently go dormant. Without the keep alive timer, the PTT requestor might go into the dormant state prior to receiving a likely response, which would delay delivery of the response.
After the buffer of the media duplicator 150 begins to receive voice packets, the media duplicator 150 determines whether the buffer capacity of the media duplicator 150 has been exceeded. If the buffer capacity of the media duplicator 150 has not been exceeded, then the voice packets are duplicated by the media duplicator 150 (610) and transmitted to each of the mobile devices 110 participating in the call (620) via cellular 120. If the buffer capacity of the media duplicator 150 has been exceed, the oldest voice packets are discarded by the media duplicator 150 (630). Where a first-in first-out, wrap around buffer is used, when the buffer capacity is exceeded (600), the oldest packets are automatically written over, leaving the most recent packets in the buffer.
The voice packets are stored in a buffer in the media duplicator 150 until a voice packet transmission triggering event occurs (602). The voice packet transmission triggering event can be, but is not limited to, the time at which a predetermined and preferably configurable percentage of the called parties begin participation in the call, the time at which a predetermined and preferably configurable time period expires, and the time at which all of the called parties begin participation in the call. After the voice packet transmission triggering event, the stored digitized voice packets in the buffer are transmitted (620). The voice packets are transmitted at a rate sufficient to prevent the mobile device 110 from being overwhelmed with information. That is, a rate no higher than the speech rate is maintained.
The voice packet buffering on the initial speech burst described above provides a desired effect in that the perceived time to the beginning of speech transmission from a PTT request is reduced. However, buffering the voice packets in general is not preferred and, after the buffer holding the initial burst is emptied, subsequent voice packets are not buffered, but instead are duplicated by the media duplicator 150 (650) and immediately transmitted by the media duplicator 150 to each of the mobile devices 110 participating in the call (660).
The PTT feature of a wireless network is improved by reducing the perceived time to connect using the push-to-talk feature. This is accomplished without wasting communications resources. And, push-to-talk conference calls are better controlled by the addition of queuing based on priority and an interrupt feature to gain the floor.
Although the present invention has been described with reference to preferred embodiments, those skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the appended claims.