Abstract:
In a telecommunications system ( 100 ), a method and apparatus for priority queuing of callers requesting an opportunity to speak during a push-to-talk call is disclosed. The method includes defining a group for a call in response to a user input ( 210, 410 ), assigning a priority level designation to the at least one participant ( 220, 420 ), and granting access to transmit speech in a push-to-talk call based on the priority level ( 270, 280, 290, 300 ). The apparatus includes a first server ( 150 ) and a second server ( 140 ) communicatively coupled to the first server. The second server is programmed to implement the steps given above.

Description:
FIELD OF THE INVENTION  
       [0001]     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.  
       BACKGROUND OF THE INVENTION  
       [0002]     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.  
         [0003]     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.  
         [0004]     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.  
         [0005]     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.  
       SUMMARY OF THE INVENTION  
       [0006]     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  
         [0007]     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&#39; 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&#39;s new place in the queue.  
         [0008]     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&#39;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.  
         [0009]     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.  
         [0010]     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.  
         [0011]     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.  
         [0012]     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. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]      FIG. 1  is a pictorial diagram showing a data network infrastructure in accordance with the present invention.  
         [0014]      FIG. 2  is a block diagram showing a portion of a wireless network in accordance with the present invention.  
         [0015]      FIG. 3  is a flow chart diagram illustrating one embodiment of a method for queuing participants in a call in accordance with the present invention.  
         [0016]      FIG. 4  is a flow chart diagram illustrating another embodiment of a method for queuing participants in a call in accordance with the present invention.  
         [0017]      FIGS. 5A and 5B  are flow chart diagrams illustrating one embodiment for buffering the initial speech of a call originator in accordance with the present invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0018]     In accordance with the preferred embodiments of the present invention, and with reference to  FIGS. 1-5 , a method and apparatus for queuing participants in a call and for buffering the initial speech of the originator of a call are disclosed.  
         [0019]      FIG. 1  is a pictorial diagram showing a wireless communication network infrastructure in accordance with the present invention. The wireless communication network infrastructure  100  includes mobile devices  110 , a wireless or cellular tower  120  and a wireless network  130 . In operation, the mobile device  110  transmits data packets to the cellular tower  120  which in turn transmits the data packets to the wireless network  130 . The wireless network  130  processes the data packets and transmits the data packets to another cellular tower  120 , which in turn transmits the data packets to another mobile device  110 . While the mobile device  110  is shown in  FIG. 1  as a wireless phone, it should be recognized that any device capable of receiving wireless transmissions is readily substituted for the wireless phone, for example, a personal digital assistant or a computer capable of sending and/or receiving wireless data.  
         [0020]      FIG. 2  is a block diagram illustrating two components of a wireless network  130 . The two components of the wireless network  130  are a push-to-talk (PTT) server  140  and a media duplicator  150 . The PTT server  140  and the media duplicator  150  are communicatively connected to one another and both are capable of transmitting data to and receiving data from the mobile device  110  via cellular tower  120 . Both the PTT server  140  and the media duplicator  150  are known computer processors which in turn are programmed to perform all of the operations necessary for wireless communication including, processing data packets and communicating with mobile devices  110 , as described herein.  
         [0021]      FIG. 3  is a flow chart diagram illustrating one embodiment of a method for queuing participants in a call in accordance with the present invention. The process of queuing participants in a call begins when an initial group of participants for the call is defined ( 210 ). The participants in a call are generally selected by a call originator selecting the participants via an Internet interface. Participants can also be selected by a call originator using a call setup protocol or procedure on the mobile device  110 . After the participants for the call, sometimes referred to as a call group, are selected, their identities are then transmitted to the PTT server  140  for storage until needed. Concurrent with the selection of the participants in the call, the call originator assigns each participant a priority level ( 220 ). Steps  210  and  220  can be done in advance and do not have to be done every time a new call is placed. A priority level is a designation which indicates a participant&#39;s relative importance to a call. Priority levels can be assigned to correspond with company hierarchy or with a participant&#39;s level of participation on a particular project. As is the case with the initial selection of participants, the call originator has the option of using an Internet interface or a call setup protocol on mobile device  110  to assign each participant in the call a priority level. Each participant&#39;s priority level is then transmitted to the PTT server  140  for storage until needed. After the participants have been selected and assigned a priority level, the call is set to begin. The call begins when the call originator begins communicating with the other participants via the mobile device  110 . For example, the call begins when the call originator presses the appropriate button, e.g., a PTT button, on a wireless phone and begins speaking.  
         [0022]     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&#39;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.  
         [0023]     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 .  
         [0024]      FIG. 4  is a flow chart diagram illustrating another embodiment of a method for queuing participants in a call in accordance with the present invention. The process of queuing participants in a call begins when an initial group of participants for the call is defined ( 410 ). As described above, the participants in a call are selected by a call originator selecting the participants using an Internet interface or using a call setup protocol on the mobile device  110 . After the participants for the call are selected, their identities are then transmitted to the PTT server  140  for storage until needed. Preferably, concurrent with the selection of the participants in the call, the call originator assigns each participant a priority level ( 420 ). A priority level is a designation which indicates a participant&#39;s relative importance to a call. Priority levels can be assigned to correspond to a company hierarchy i.e., a president has a priority level of one, a vice president has a priority level of two, etc. or to a participant&#39;s level of participation on a particular project. As is the case with the initial selection of participants, the call originator has the option of using an Internet interface or a call setup protocol on mobile device  110  to assign each participant in the call a priority level. Each participant&#39;s priority level is then transmitted to the PTT server  140  for storage until needed. After the participants are selected and assigned a priority level, the call is set to begin. The call begins when the call originator begins communicating with the other participants via the mobile device  110 . For example, the call begins when the call originator presses the appropriate button or receives the appropriate response on an wireless phone and begins speaking.  
         [0025]     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  FIG. 3 . A call participant typically uses an interrupt button to request the ability to speak where the call participant has an urgent matter to discuss. Once the interrupt button is pressed, the PTT server  140  sends a message to the current speaker that one of the call participants wants to interrupt the call on an urgent basis ( 450 ). After the message is received by the mobile device  110  of the current speaker, the current speaker has the option of allowing the call participant initiating the request to speak or placing the call participant into the queue ( 460 ). The current speaker exercises this option by manipulating a predetermined interface on mobile device  110 . If the current speaker elects to allow the call participant initiating the interrupt request to speak, the call participant is granted the ability to speak by the PTT server  140  ( 470 ) and a message is sent by the PTT server  140  to all or a select set of the mobile devices  110  participating in the call indicating a change in speaker is set to occur ( 480 ). If the call participant is not granted the ability to speak, that is transmit her speech to the others, then the caller is placed in the queue to await her turn based on the assigned priority level. The above described process repeats every time an interrupt request is initiated until the call is ended ( 490 ).  
         [0026]      FIGS. 5A and 5B  are flow chart diagrams illustrating one embodiment for buffering the initial speech of a call originator in accordance with an aspect of the present invention. The process of buffering the initial speech of a call originator begins when a call is originated by selecting a group or person to call ( 510 ). Similar to the methods described above, the selection of a group or person to call is accomplished by the call originator selecting the participants using an Internet interface or using a call setup protocol on the mobile device  110 . After the group or person necessary for the call is determined, a call request message, i.e., PTT request, is sent by the call originator via mobile device  110  to the PTT server  140  ( 520 ). In response to the received call request message, the PTT server  140  resolves the list of call participants by determining whether the mobile devices of any call participants are currently registered on the network ( 530 ). Mobile device  110  is registered when it sends a message on power up or when the appropriate feature is activated. If no call participants have mobile devices  110  registered on the network, a failure indication is sent to the PTT requestor ( 550 ) and the requestor may initiate another group ( 510 ) or another call request ( 520 ).  
         [0027]     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 ).  
         [0028]     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.  
         [0029]     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.  
         [0030]     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.  
         [0031]     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.  
         [0032]     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 ).  
         [0033]     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.  
         [0034]     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.