User experience enhancements for controlling a group communication
Claim Score by NHIP
Abstract
User experience enhancements for conducting group communication sessions may include displaying visual feedback on a display to indicate a state of a group communication session. Embodiments may include establishing a group communication channel with devices in a first operating mode in response to inputs on a user interface, detecting actuation of a target-based sliding lock mechanism on a touchscreen user interface display, and while the locking mechanism is actuated, maintaining the group communication channel in a second operating mode. Other embodiments may include initiating a group communication session in response to a user input, detecting actuation of a locking mechanism by a user on a user interface, sending a request to a server for a priority floor access in response to the detected actuation of the locking mechanism, and while the locking mechanism is actuated, maintaining a group communication channel with one or more devices in a priority access mode.
Term
Projected expiry 10 September 2033.
- Priority
- Filed
- Published
- Today
- Projected expiry
115 claims: 20 independent, 95 dependent
- 1A method of conducting a group communication session on a wireless communication device, comprising:establishing a group communication channel with one or more devices in a first operating mode in response to a user input on a user interface;detecting actuation of a target-based sliding lock mechanism by a user on a touchscreen user interface display of the wireless communication device;and while the lock mechanism is actuated, maintaining the group communication channel in a second operating mode.
- 17A method of conducting a group communication on a wireless communication device, comprising:initiating a group communication session in response to a user input;detecting actuation of a locking mechanism by a user on a user interface;sending a request to a server for a priority floor access in response to detecting actuation of the locking mechanism;and while the locking mechanism is actuated, maintaining a group communication session with one or more devices in a priority access mode.
- 21A method of operating a server in a group communication session between a plurality of user devices, comprising:receiving a request for a media lock from a first user device;and locking control of a floor for transmission of media file(s) to the first user device in response to the request for a media lock.
- 23A method of operating a server in a group communication session between a plurality of user devices, comprising:receiving a request for priority floor access from a first user device in a group communication session;and arbitrating floor control of the group communication session with priority access given to the first user device in response to receiving the request for priority floor access.
- 25A method of conducting a group communication session on a wireless communication device, comprising:displaying a quick contact group communication shortcut icon on a home screen of a wireless communication device display;displaying a group communication button in association with the quick contact group communication shortcut icon on the home screen of the display;detecting a selection of the group communication button by a user on a user interface;and initiating a group communication session with a device of the contact.
- 30A wireless communication device, comprising:a touchscreen user interface display;a memory;and a processor coupled to the touchscreen user interface display and to the memory and configured with processor-executable instructions to perform operations comprising: establishing a group communication channel supporting a group communication session with one or more devices in a first operating mode in response to a user input on the touchscreen user interface display;detecting actuation of a target-based sliding lock mechanism by a user on the touchscreen user interface display;and while the lock mechanism is actuated, maintaining the group communication channel in a second operating mode.
- 45A wireless communication device, comprising:a memory;and a processor coupled to the memory and configured with processor-executable instructions to perform operations comprising: initiating a group communication session in response to a user input;detecting actuation of a locking mechanism by a user on a user interface;sending a request to a server for a priority floor access in response to detecting actuation of the locking mechanism;and while the locking mechanism is actuated, maintaining a group communication channel with one or more devices in a priority access mode.
- 49A server configured to operate in a group communication session between a plurality of user devices, comprising:a memory;and a processor coupled to the memory and configured with processor-executable instructions to perform operations comprising: receiving a request for a media lock from a first user device;and locking control of a floor for transmission of media file(s) to the first user device in response to the request for a media lock.
- 51A server configured to operate in a group communication session between a plurality of user devices, comprising:a memory;and a processor coupled to the memory and configured with processor-executable instructions to perform operations comprising: receiving a request for priority floor access from a first user device in a group communication session;and arbitrating floor control of the group communication session with priority access given to the first user device in response to the request for priority floor access.
- 53A wireless communication device, comprising:a display;a memory;and a processor coupled to the display and to the memory and configured with processor-executable instructions to perform operations comprising: displaying a quick contact group communication shortcut icon on a home screen of the display;displaying a group communication button in association with the quick contact group communication shortcut icon on the home screen of the display;detecting a selection of the group communication button by a user on a user interface;and initiating a group communication session with a device of the contact.
- 58A wireless communication device, comprising:means for establishing a group communication channel to enable a group communication session with one or more devices in a first operating mode in response to a user input on a user interface;means for detecting actuation of a target-based sliding lock mechanism by a user on a touchscreen user interface display of the wireless communication device;and means for maintaining the group communication channel in a second operating mode while the lock mechanism is actuated.
- 74A wireless communication device, comprising:means for initiating a group communication session in response to a user input;means for detecting actuation of a locking mechanism by a user on a user interface;means for sending a request to a server for a priority floor access in response to detecting actuation of the locking mechanism;and means for maintaining a group communication channel with one or more devices in a priority access mode while the locking mechanism is actuated.
- 78Broadest claimClaim Score 78, broad(NHIP)A server configured to operate in a group communication session between a plurality of user devices, comprising:means for receiving a request for a media lock from a first user device;and means for locking control of a floor for transmission of media file(s) to the first user device in response to receiving the request for a media lock.
- 80A server configured to operate in a group communication session between a plurality of user devices, comprising:means for receiving a request for priority floor access from a first user device in a group communication session;and means for arbitrating floor control of the group communication session with priority access given to the first user device in response to the request for priority floor access.
- 82A wireless communication device, comprising:means for displaying a quick contact group communication shortcut icon on a home screen of a wireless communication device display;means for displaying a group communication button in association with the quick contact group communication shortcut icon on the home screen of the display;means for detecting a selection of the group communication button by a user on a user interface;and means for initiating a group communication session with a device of the contact.
- 87A non-transitory computer-readable storage medium having stored thereon processor executable instructions configured to cause a wireless communication device processor to perform operations comprising:establishing a group communication channel to enable a group communication session with one or more devices in a first operating mode in response to a user input on a user interface;detecting actuation of a target-based sliding lock mechanism by a user on a touchscreen user interface display of the wireless communication device;and while the lock mechanism is actuated, maintaining the group communication channel in a second operating mode.
- 103A non-transitory computer-readable storage medium having stored thereon processor executable instructions configured to cause a wireless communication device processor to perform operations comprising:initiating a group communication session in response to a user input;detecting actuation of a locking mechanism by a user on a user interface;sending a request to a server for a priority floor access in response to detecting actuation of the locking mechanism;and while the locking mechanism is actuated, maintaining a group communication channel with one or more devices in a priority access mode.
- 107A non-transitory computer-readable storage medium having stored thereon processor executable instructions configured to cause a server processor to perform operations comprising:receiving a request for a media lock from a first user device;and locking control of a floor for transmission of media file(s) to the first user device in response to the request for a media lock.
- 109A non-transitory computer-readable storage medium having stored thereon processor executable instructions configured to cause a server processor to perform operations comprising:receiving a request for priority floor access from a first user device in a group communication session;and arbitrating floor control of the group communication session with priority access given to the first user device in response to the request for priority floor access.
- 111A non-transitory computer-readable storage medium having stored thereon processor executable instructions configured to cause a wireless communication device processor to perform operations comprising:displaying a quick contact group communication shortcut icon on a home screen of a wireless communication device display;displaying a group communication button in association with the quick contact group communication shortcut icon on the home screen of the display;detecting a selection of the group communication button by a user on a user interface;and initiating a group communication session with a device of the contact.
Independent claims20
131 paragraphs in 5 sections, as filed
RELATED APPLICATION
0001This application claims the benefit of priority to U.S. Provisional Patent Application No. 61/554,876 entitled “User Experience Enhancements for Group Communication” filed Nov. 2, 2011, the entire contents of which are hereby incorporated by reference for all purposes.
0002This application is also related to U.S. patent application Ser. No. ______ entitled “User Experience Enhancements for Limiting Calls in a Group Communication” filed concurrently herewith.
BACKGROUND
0003The present invention generally relates to wireless telecommunication systems. More particularly, the present invention relates to methods and devices which enable group communication, such as “Push-To-Talk” (PTT) communication, without requiring dedicated PTT hardware.
0004In wireless telecommunication devices, such as cellular phones, PDAs, mini-laptops, and advanced pagers, the devices typically communicate over long distances by bridging telephone calls through existing cellular telephone networks and passing data packets across the network. These wireless communication devices often have data processing and computing capabilities, and can accordingly send and receive voice and other types of data across the telephone network.
0005There exists a wireless telecommunication service that provides a quick one-to-one or one-to-many communication that is generically referred to as “Push-To-Talk” (PTT) capability. The specific PTT group of recipient devices for the communicating wireless communication device is commonly set up by the carrier. A PTT communication connection is typically initiated by a single hardware button-push on the wireless communication device that activates a half-duplex link between the speaker and each member device of the group and once the button is released, the device can receive incoming PTT transmissions. Existing PTT systems have advantages over traditional cellular systems because they have faster call setup times, e.g., setup times ideally in the range of 1 second as opposed to cellular voice channels that can take more than 5 seconds to establish. In some arrangements, the PTT speaker will have the “floor” where no other group member can speak while the speaker is speaking. Once the speaker releases the PTT button, any other individual member of the group can engage his or her PTT button and he or she will have the floor. Generally speaking, the PTT system uses standard voice-over Internet protocol (VoIP) technologies. Voice information is sent in digital form over IP-based data networks. In PTT scenarios, instead of using the standard cellular infrastructure a call is formed by combining separate point-to-point connections between each IP endpoint in the network. Initiating the PTT system generates a call to the target device. The call originator's voice can be sent through the carrier's network to the target handset.
0006A drawback to existing PTT services is that they typically require devices with dedicated PTT hardware components, such as a hardware PTT button, meaning that these services are generally not available for the majority of mobile devices in use today.
SUMMARY
0007The various embodiments include methods for managing group communication sessions on a wireless communication device, including establishing a group communication channel with one or more devices in a first operating mode in response to a user input in a user interface, detecting actuation of a target-based sliding lock mechanism by a user on a touchscreen user interface display of the wireless communication device, and while the locking mechanism is actuated, maintaining the group communication channel in a second operating mode. In various embodiments, the second operating mode may be a hands-free mode, a priority lock mode, a media lock mode, a lockout mode and/or a blocking mode.
0008Embodiment methods may further include initiating a group communication session in response to a user input, and displaying visual feedback on a display to indicate the state of the group communication. Embodiments may include requesting control of the floor in a group communication session, and displaying visual feedback on the display to indicate the state of the floor in the group communication session. Embodiments may further include displaying on the display a visual representation of one or more members of a group in the group communication session, determining a participation state of each member of the group, and displaying visual feedback on the display to indicate the participation state of each member of the group. Embodiments may also include displaying a reason for non-participation of a non-participating member of the group in the group communication.
0009Further embodiments include methods for managing a group communication session on a wireless communication device, including initiating a group communication session in response to a user input, detecting actuation of a locking mechanism by a user on a user interface, sending a request to a server for a priority floor access in response to the detected actuation of the locking mechanism, and while the locking mechanism is actuated, maintaining a group communication channel with one or more devices in a priority access mode.
0010Further embodiments include methods for managing a group communication session on a wireless communication device, including establishing a group media communication channel with one or more devices in response to a user input on a user interface, detecting actuation of a locking mechanism by a user on a user interface, and while the locking mechanism is actuated, maintaining the group media communication channel in a media lock mode.
0011Further embodiments include methods for managing a group communication session on a wireless communication device, including displaying a quick contact group communication shortcut icon on a home screen of a wireless communication device display, displaying a group communication button in association with the quick contact group communication shortcut icon on the home screen of the display, detecting a selection of the group communication button by a user on a user interface, and initiating a group communication with a device of the contact. Further embodiments may include displaying a locking mechanism in association with the quick contact group shortcut.
0012Further embodiments include methods for operating a server in a group communication session between a plurality of user devices, including receiving a request for priority floor access from a first user device, and arbitrating floor control of the group communication session with priority access given to the first user device.
0013Further embodiments include methods for operating a server in a group communication session between a plurality of user devices, including receiving a request for a media lock from a first user device, and locking control of the floor of the group communication session for transmission of media file(s) to the first user device in response to the request.
0014Various embodiments include wireless communication devices and servers including processors configured to perform operations of the embodiment methods disclosed herein. Various embodiments also include wireless communication devices and servers including means for performing functions of the embodiment methods disclosed herein. Various embodiments also include non-transitory processor- and server-readable storage media having stored thereon processor-executable instructions configured to cause a processor to perform operations of the embodiment methods disclosed herein.
BRIEF DESCRIPTION OF THE DRAWINGS
0015The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate exemplary embodiments of the invention, and together with the general description given above and the detailed description given below, serve to explain the features of the invention.
0016<figref idref="DRAWINGS">FIG. 1</figref> illustrates a wireless communication device suitable for use with various embodiments.
0017<figref idref="DRAWINGS">FIG. 2</figref> is a diagram illustrating software layers of a group application client that may include “Push To Talk” (PTT) functionality.
0018<figref idref="DRAWINGS">FIG. 3</figref> depicts an example system for group communication between a plurality of wireless communication devices.
0019<figref idref="DRAWINGS">FIG. 4</figref> shows an example wireless network suitable for use with various embodiments.
0020<figref idref="DRAWINGS">FIG. 5</figref> is a process flow diagram of an embodiment method of group communication in which visual feedback regarding the state of the group communication session is displayed on a display screen of a wireless communication device.
0021<figref idref="DRAWINGS">FIGS. 6A-6C</figref> are screenshots of a touchscreen user interface of an embodiment wireless communication device.
0022<figref idref="DRAWINGS">FIG. 7</figref> is a process flow diagram of an embodiment method of group communication that includes displaying visual feedback to indicate control of the floor in a PTT communication session.
0023<figref idref="DRAWINGS">FIGS. 8A-C</figref> are screenshots of a touchscreen display illustrating an embodiment PTT communication session.
0024<figref idref="DRAWINGS">FIG. 9A</figref> is a process flow diagram of an embodiment method of group communication that includes displaying visual feedback to indicate the status of the floor in a group communication session.
0025<figref idref="DRAWINGS">FIG. 9B</figref> is a process flow diagram of an embodiment method of group communication using a server that may transmit a state of floor control.
0026<figref idref="DRAWINGS">FIG. 10A</figref> is a process flow diagram of an embodiment method of group communication that includes displaying visual feedback of the participation state of one or more devices in a communication group.
0027<figref idref="DRAWINGS">FIG. 10B</figref> is a process flow diagram of an embodiment method of group communication that includes displaying visual feedback of the participation state of one or more devices and the reason(s) for non-participation of at least one non-participating device in a communication group.
0028<figref idref="DRAWINGS">FIG. 10C</figref> is a process flow diagram of an embodiment method of group communication using a server that may indicate to devices in the group the participation state and/or reason(s) for non-participation of at least one device in the group.
0029<figref idref="DRAWINGS">FIGS. 11A-11D</figref> are screenshots of an embodiment touchscreen display having a sliding lock mechanism.
0030<figref idref="DRAWINGS">FIG. 12</figref> is a process flow diagram of an embodiment method of group communication using a “hands-free” mode.
0031<figref idref="DRAWINGS">FIG. 13A</figref> is a process flow diagram of an embodiment method of group communication using a “priority lock” mode.
0032<figref idref="DRAWINGS">FIG. 13B</figref> is a process flow diagram of an embodiment method of operation of a server in a group communication session in which a user device requests priority floor access.
0033<figref idref="DRAWINGS">FIG. 14A</figref> is a process flow diagram of an embodiment method of group communication using a “media lock” mode.
0034<figref idref="DRAWINGS">FIG. 14B</figref> is a process flow diagram of an embodiment method of operation of a server in a group communication session in which a user device requests a media lock.
0035<figref idref="DRAWINGS">FIG. 15A</figref> is a process flow diagram of an embodiment method of group communication using a “lockout” mode.
0036<figref idref="DRAWINGS">FIG. 15B</figref> is a process flow diagram of an embodiment method of operation of a server in a group communication session in which a user device actuates a lockout mechanism.
0037<figref idref="DRAWINGS">FIG. 16A</figref> is a process flow diagram of an embodiment method of group communication using a “blocking” mode.
0038<figref idref="DRAWINGS">FIG. 16B</figref> is a process flow diagram of an embodiment method of operation of a server in a group communication session in which a user device actuates a blocking mechanism.
0039<figref idref="DRAWINGS">FIGS. 17A-C</figref> are screenshots of an embodiment touchscreen display having a “quick contact” group communication shortcut on a home screen.
0040<figref idref="DRAWINGS">FIG. 18A</figref> is a process flow diagram of an embodiment method of group communication using a “quick contact” group communication shortcut.
0041<figref idref="DRAWINGS">FIG. 18B</figref> is a process flow diagram illustrating an embodiment method of group communication using a “quick contact” shortcut and a sliding locking mechanism.
0042<figref idref="DRAWINGS">FIG. 19</figref> is a system block diagram of a wireless communication device for use with various embodiments.
0043<figref idref="DRAWINGS">FIG. 20</figref> is a system block diagram of a server suitable for use with various embodiments.
DETAILED DESCRIPTION
0044The various embodiments will be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References made to particular examples and implementations are for illustrative purposes, and are not intended to limit the scope of the invention or the claims.
0045The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations.
0046The terms “mobile device,” “mobile computing device” and “wireless communication device” are used interchangeably herein to refer to any one or all of cellular telephones, smartphones, personal or mobile multi-media players, personal data assistants (PDA's), laptop computers, tablet computers, smartbooks, palm-top computers, wireless electronic mail receivers, multimedia Internet enabled cellular telephones, wireless gaming controllers, and similar personal electronic devices which include a programmable processor and memory and may include software and/or hardware to enable group communication, such as push-to-talk (PTT), functionality.
0047In overview, various embodiments provide enhanced group communication, such as “Push-To-Talk” (PTT), functionality in a wireless communication device using software and native device hardware, such as a touchscreen display. The various embodiments may be implemented on a wide range of devices, including most Internet-enabled mobile phones and other wireless communication devices, and do not require dedicated hardware, such as a PTT button, to provide group communication functionality.
0048Previously, push-to-talk services required dedicated hardware, such as a PTT button, for the user to take advantage of the service. The various embodiments provide a user-experience that combines many of the advantages of a conventional hardware-based PTT service with a number of enhanced features that are made possible through the use of a group communication service that is primarily implemented through software.
0049Various embodiments are directed to a novel group communication interface that can provide enhanced functionality as compared to conventional hardware-implemented PTT services. Because the present embodiments are primarily implemented in software, the user no longer needs to “push” a physical button to talk. In various embodiments, the user interface can allow the user to “lock” control of the floor in a hands-free mode, which allows the user to more easily multitask and to utilize the device speakerphone and/or earpiece mode in a more natural way. Additional functionality can also be added, such as the ability to lock control of the floor for media content, as well as the ability to at least temporarily modify the criteria for floor control and mediation, which may be useful when the user desires priority access of the floor for a limited time. The additional functionality may also include the ability to lock out another device in a communication group from receiving outgoing communications from the user's device, as well as the ability to block the user's device from receiving group communications from another user. Some or all of this added functionality may be provided via a target-based sliding lock, which may be implemented in a touchscreen user interface display.
0050Various embodiments additionally enable the user to create a “quick contact” shortcut on their home screen or as a device widget. Selecting this shortcut brings up a modified PTT “button” on the screen, which may also include the “hands-free” lock, so that the user effectively has the “one-click” PTT experience that is advantageous in conventional hardware-implemented PTT, but on the wider range of devices that may provide a software-implemented group communication service. The quick contact shortcut avoids the issue of the user having to find, launch and navigate through a group communication application program in order to speak to their contact.
0051Various embodiments may implement a more visual experience than is previously employed, and may utilize visual feedback cues to the user which may augment or replace the existing audio cues for floor control and mediation. The visual feedback cues may be provided via graphical elements and colors on the display screen of the wireless device. In various embodiments, the feedback cues may show the state of a group communication session, and may indicate, for example, control of the floor for group communication. In various embodiments, the display screen may display visual features which tell the user when the floor is open, when the floor is requested by user's device, when the floor controlled by user's device or by a different device. In some embodiments, the display screen may also display visual representations of the members of the group in the group communication, and may further display the participation state(s) of each member of the group. For example, the device may display the members of the group who are currently participating in the group communication session as well as the members of the group who are not participating in the group communication session. In various embodiments, the device may additionally display reasons why the non-participating members are not participating in the communication. These enhanced features may be implemented in software which runs on the user's wireless device, and may also be implemented in part in a server.
0052Referring now to <figref idref="DRAWINGS">FIG. 1</figref>, it illustrates an example wireless telecommunication device that can be a wireless communication device <b>100</b> that includes software and/or hardware to provide a group communication (e.g. “Push-To-Talk” (PTT)) function that opens the direct communication to a target device, e.g., an endpoint associated with an IP address. In various embodiments, the wireless communication device <b>100</b> provides group communication functionality using only software and existing device hardware (e.g., a conventional user interface/display, such as a keypad or touchsceen interface). The embodiment device <b>100</b> of <figref idref="DRAWINGS">FIG. 1</figref> is shown having a touchscreen interface/display <b>104</b>. In various embodiments, no dedicated PTT hardware, such as a PTT button or dedicated PTT circuitry is required to provide the PTT functionality.
0053In various embodiments, the wireless communication device <b>100</b> may include a computer platform <b>106</b> that can handle voice and data packets, execute software applications, and transmit information across a wireless network. The computer platform <b>106</b> includes, among other components, a processor <b>108</b> such as an application-specific integrated circuit (“ASIC”) or a RISC processor such as those that implement the ARM architecture. The processor <b>108</b> is typically installed at the time of manufacture of the wireless communication device <b>100</b> and is not normally upgradeable. The processor <b>108</b> or other processor executes an application programming interface (“API”) layer <b>110</b>, which includes the resident application environment, and may include the operating system loaded on the processor <b>108</b>. The resident application environment interfaces with any resident programs in the memory <b>112</b>, e.g., a computer readable storage medium of the wireless communication device <b>100</b>.
0054As shown here, the wireless communication device <b>100</b> may be a wireless communication telephone, with a graphics display <b>104</b>, but may also be any wireless device with a computer platform <b>106</b> as known in the art, such as a personal digital assistant (PDA), a pager with a graphics display <b>104</b>, or even a separate computer platform <b>106</b> that has a wireless communication portal, and may otherwise have a wired connection to a network or the Internet. Further, the memory <b>112</b> may be comprised of read-only or random-access memory (RAM and ROM), EPROM, EEPROM, flash cards, or any memory common to computer platforms. The computer platform <b>106</b> may also include a local database <b>114</b> for storage of software applications not actively used in memory <b>112</b>. The local database <b>114</b> is typically comprised of one or more flash memory cells, but may be any secondary or tertiary storage device as known in the art, such as magnetic media, EPROM, EEPROM, optical media, tape, or soft or hard disk. The graphics display <b>104</b> may present not only information about the ongoing group call, but also the information about the data package in order to generate a preview as is more fully described herein.
0055The computer platform <b>106</b> may also include a direct communication interface <b>116</b> that is configured to open a direct communication channel. The direct communication interface <b>116</b> may also be part of the standard communication interface for the wireless communication device <b>100</b> which ordinarily carries the voice and data transmitted to and from the wireless communication device <b>100</b>. The direct communication interface <b>116</b> typically is comprised of hardware as is known in the art.
0056<figref idref="DRAWINGS">FIG. 2</figref> is a diagram of an embodiment of software layers of a group application client that can include, but is not limited to, PTT functionality and data package functionality. While the embodiment shown herein is implemented in a PTT session, the present system can be utilized in any group communication session setup for transmission of voice and/or data substantially simultaneously among group members. In an embodiment, the computer platform <b>106</b> in the wireless communication device environment may include a series of software “layers” developed on top of a baseband chipset and system software such as the Wireless communication Station Modem (MSM) <b>218</b> and the Advanced Wireless communication Subscriber Software (AMSS) <b>220</b>, developed by QUALCOMM®. In this example, the underlying MSM chipset may implement the software protocol stack for the entire suite of CDMA communication technologies that include CDMA2000 1X and CDMA2000 1xEV-DO. In this example the AMSS <b>220</b> may be configured to support a wireless communication operating system layer <b>222</b>, which in an embodiment is BREW® also developed by QUALCOMM®. The wireless communication operating system layer <b>222</b> may provide an application programming interface for chip or device-specific operations, while providing an isolation layer that eliminates direct contact to the AMSS <b>220</b> and any OEM software on the computer platform. The wireless communication operating system layer <b>222</b> may enable application development that uses wireless communication device features without having to rewrite the application each time a new release of the device-specific software is released.
0057In this example the wireless communication operating system <b>222</b> may include a PTT client <b>226</b> that is configured to offer access to PTT services through an external interface, here shown at a PTT-aware UI <b>224</b>. The PTT client <b>226</b> may include all the functions required to enable wireless communication operating system <b>222</b> applications, such as the media client <b>228</b>. In an embodiment, the PTT client <b>226</b> may maintain access to PTT services, respond to communication requests, process all PTT-aware wireless communication operating system applications requests for PTT services, process all outgoing PTT requests, collect and package vocoder packets for originating PTT talk spurts, and parses packets of vocoder data for terminated PTT talk spurts.
0058In various embodiments, the computer platform <b>106</b> in the wireless communication device environment may include a media client <b>228</b>, which may be a wireless communication operating system-based application that extends PTT services for access to media types other than the traditional half duplex voice communications (VoIP-PTT media). The media client <b>228</b> may provide access to media services through an external interface such as a media aware API that is an application that may be developed entirely as a wireless communication operating system-based application or used in combination with an AMSS <b>220</b> interface. The media client <b>228</b> may service requests from the user and inform the user of the result of any group-directed media request. The media client <b>228</b> may additionally be configured to handle incoming notifications that indicate there is data package to download from a media server <b>316</b> of <figref idref="DRAWINGS">FIG. 3</figref> and described in more detail below. For example, the media client <b>228</b> may be configured in one embodiment to download data packages immediately or in other embodiments the media client <b>228</b> may be configured to download the data package at a predetermined time period, e.g., at 10:00 pm daily, or it may be configured to prompt the user via the PTT UI <b>224</b> to determine whether and/or when to download the file. Other applications <b>230</b>, which may be push-to-talk or other applications than can receive and transmit data across the group communication channel, may also be resident on the platform.
0059In some embodiments, the software to enable PTT functionality in the wireless communication device <b>100</b> may be pre-installed in the device during device manufacture. In other embodiments, at least a portion of the software providing PTT functionality may be downloaded to the device <b>100</b> by the end-user. In some embodiments, the PTT software may be a downloadable application (e.g., a mobile app).
0060<figref idref="DRAWINGS">FIG. 3</figref> illustrates an example embodiment of a system <b>300</b> for sharing data packages among one or more wireless telecommunication devices in a PTT group <b>302</b>, such as the wireless communication device <b>100</b>, smartphone <b>301</b>, tablet computer <b>303</b>, smart pager <b>304</b> and personal digital assistant (PDA) <b>306</b>, with other wireless communication devices. In the system <b>300</b>, each wireless telecommunication device <b>100</b>, <b>301</b>, <b>303</b>, <b>304</b>, and <b>306</b> may be capable of selectively directly communicating across the wireless communication network <b>308</b> with a target set of one or more other wireless telecommunication devices. For example, the target set for wireless communication device <b>100</b> may be all devices in the communication group <b>302</b> or a subset thereof, such as smartphone <b>301</b>, tablet computer <b>303</b>, pager <b>304</b> and PDA <b>306</b>.
0061In an embodiment, the wireless telecommunication device <b>100</b> may send a flag to at least the communications server <b>310</b>, which is present on a server-side LAN <b>312</b> across the wireless network <b>308</b>. The flag in this example may be used by the server to determine that the wireless device is present, i.e. is accessible, on the wireless network <b>308</b>. The communication server <b>310</b> may share this information with a set of target wireless telecommunication devices designated by the first wireless telecommunication device or it may also share this with other computer devices resident on the server-side LAN <b>312</b> or accessible across the wireless network <b>308</b>. The communication server <b>310</b> may have an attached or accessible database <b>314</b> to store the group identification data for the wireless devices. In various embodiments, a media server <b>316</b>, which may additionally include circuitry for a file management server, may be present on the server-side LAN <b>312</b>. It should be appreciated that the number of computer components resident on server-side LAN <b>312</b>, or across the wireless network <b>308</b>, or Internet generally, are not limited. Furthermore, some or all of the functions of the several server-side components described herein, such as communications server <b>310</b>, database <b>314</b> and media server <b>316</b>, may be combined in a single device.
0062In various embodiments, the communications server <b>310</b>, which may also be referred to as a group communications server, may establish point to point IP PTT channels between devices in the group <b>302</b>. A PTT channel may be established through a half-duplex channel (true or virtual) between the communicating wireless communication device <b>100</b>, <b>304</b>, and/or <b>306</b> and the one or more other wireless communication devices of the target set. Also, in various embodiments the communication server <b>310</b> may attempt to bridge the requested direct communication with the target set if at least one of the wireless communication devices of the target set have informed the communication server <b>310</b> of their presence on the wireless network <b>308</b>.
0063The communications server <b>310</b> may also inform the wireless communication device <b>100</b>, <b>304</b>, and <b>306</b> of the inability to bridge a direct communication to the target set <b>302</b> upon none of the wireless telecommunication devices (or at least one) of the target set not having informed the group communication server <b>310</b> of their presence on the wireless network <b>308</b>. Further, while the communications server <b>310</b> is shown here as having the attached database <b>314</b> of group identification data, the group communication server <b>310</b> device may have group identity data resident thereupon, and perform all storage functions described herein.
0064In various embodiments, the communication server <b>310</b> may perform arbitration functions between competing demands of the various wireless communication devices <b>100</b>, <b>304</b>, <b>306</b> for use of PTT communication channels over wireless network <b>308</b>. For example, in response to a request from wireless communication device <b>100</b> to communicate with one or more other target devices in PTT group <b>302</b>, including all other devices in the group <b>302</b>, the communication server <b>310</b> may establish a PTT channel between the requesting device <b>100</b> and all or a portion of the requested target devices in group <b>302</b>. The communication server <b>310</b> may thus grant control of the “floor” to the requesting wireless communication device <b>100</b>. When competing requests exist amongst devices of the group <b>302</b> for control of the “floor,” the communication server <b>310</b> may arbitrate between competing requests based on pre-determined priority criteria. The priority criteria may be established at the time of the PTT group <b>302</b> formation, such as by a group administrator, and stored in communication server <b>310</b> and/or database <b>314</b>. In various embodiments, the priority criteria may be default priority criteria stored in server <b>301</b> and/or database <b>314</b>. In some embodiments, the priority criteria may be established on an ad hoc basis by one or more of the wireless communication devices <b>100</b>, <b>304</b>, <b>306</b> in the PTT group <b>302</b>.
0065In overview, the system <b>300</b> may include at least one wireless communication device, such as wireless communication device <b>100</b>, that may be a member of a PTT communication group <b>302</b> of wireless communication devices. The wireless communication devices in this example may be configured to communicate with each other or communicate as a group across a wireless communication network <b>308</b>. In addition, in various embodiments at least one of the wireless communication devices may be configured to selectively send data packages to other members of the communication group <b>302</b>. At least one communications server <b>310</b> may be configured to store information on communication groups <b>302</b> on the wireless communication network <b>308</b>, the information including the identity of the specific member wireless communication devices of one or more communication groups. The communications server <b>310</b> may be further configured to selectively receive data packages from a sending wireless communication device, such as wireless communication device <b>100</b>, of a communication group <b>302</b>.
0066In various embodiments, the media server <b>316</b> may be configured to receive the data packages from the wireless communication device (such as wireless communication device <b>100</b>) and selectively permit members of the communication group <b>302</b> to access the stored data packages across the wireless communication network <b>308</b>. In an embodiment data packages may include, but are not limited to, pictures in JPEG, TIF, and the like, audio files such as MP3, MP4, WAV, and the like, documents, and/or presentations. The data packages may additionally include streaming media, such as a multimedia application (PowerPoint, MOV file, and the like). Also, the data packages may include half-duplex video conferencing among members of the communication group wherein the picture of the speaker may be broadcast to the other group members in substantial real-time, or in delay.
0067The size of the data package files can be very large and because of the potential delay of sending the media, or inability of the receiving wireless communication device to handle the sent media, the system <b>300</b> may use a media server <b>316</b> to store the data packages such that target members of the communication group <b>302</b> can selectively access the stored media without interrupting other PTT communications. Alternatively, in one embodiment, if the data packages are stored at the media server <b>316</b>, the media server <b>316</b> may be configured to send a hypertext link to the originating device or the target wireless communication devices of the communication group <b>302</b>. The hypertext link in this example may provide a link to the stored group-directed media at the media server <b>316</b>. Upon receipt of data packages by at least one of the member wireless devices of the communication group <b>302</b>, the communications server <b>310</b> may send an acknowledgement indicating to the wireless communication device <b>100</b>, <b>304</b>, and <b>306</b> that at least one member wireless communication device of the communication group <b>302</b> received the data package.
0068The wireless communication device <b>100</b>, <b>304</b>, <b>306</b> may send communication group identification data to the communications server <b>310</b> at the time of sending a data package, e.g. a target list, and thus, the media server <b>316</b> may be configured to send or store the data package to or for the member wireless communication devices identified in the communication group identification data based upon a variety of criteria. Alternately, prior to the wireless communication device sending data packages, the wireless communication device <b>100</b>, <b>304</b>, and <b>306</b> may request member data for a communication group <b>302</b> from the communications server <b>310</b>, and the server <b>310</b> may send one or more addresses or communication group addresses to the wireless communication device <b>100</b>, <b>304</b>, and <b>306</b>. In an embodiment, the communications server <b>310</b> may filter the potential communication groups available based upon their member devices' capability to receive data packages.
0069As is further described herein, the wireless communication device <b>100</b>, <b>304</b>, and <b>306</b> may be engaged in a group communication with the member wireless communication devices of the communication group <b>302</b>, and send data packages during the group communication in the same communication session, either to all members or a subset thereof. Alternately, the data packages may be sent independently of the group-communication session.
0070<figref idref="DRAWINGS">FIG. 4</figref> shows an exemplary wireless network in a common cellular telecommunication configuration. The wireless network in this example includes a series of communications servers <b>310</b> that control communications between the wireless communication devices of set group members (devices <b>100</b>-A through D) in a PTT system. The wireless network is merely exemplary and can include any system whereby remote modules communicate over-the-air between and among each other and/or between and among components of a wireless network, including, without limitation, wireless network carriers and/or servers. A series of communications servers <b>310</b> may be connected to a group communication server LAN <b>312</b>. Wireless devices <b>100</b>-A through D may request voice (e.g., VoIP) and/or packet data sessions from the group communications server(s) <b>310</b>.
0071Continuing with the description of <figref idref="DRAWINGS">FIG. 4</figref>, the communications server(s) <b>310</b> in this example may be connected to a wireless service provider's packet data service node (PDSN) such as PDSN <b>414</b>, shown here resident on a carrier network <b>416</b>. When a wireless communication device accesses the wireless data network to obtain services, the PDSN <b>414</b> may interface with an authentication, authorization, and accounting server “AAA” <b>428</b> to authenticate the wireless communication devices <b>100</b>, <b>304</b>, and/or <b>306</b>. The AAA <b>428</b> may be coupled to a database operable to store information such as user accounts and privileges. Each PDSN <b>414</b> may interface with a base station controller <b>418</b> of a base station <b>320</b> through a packet control function (PCF) <b>422</b>. The PCF <b>422</b> may be located in the base station <b>420</b>. The wireless network <b>308</b> may control messages (generally in the form of data packets) sent to a messaging service controller (“MSC”) <b>424</b>. The carrier network <b>308</b> in this example may communicate with the MSC <b>424</b> by a network, the Internet and/or POTS (“plain ordinary telephone system”). Typically, the network or Internet connection between the wireless network <b>308</b> and the MSC <b>424</b> transfers data, and the POTS transfers voice information. The MSC <b>424</b> may be connected to one or more base stations <b>420</b>. In a similar manner to the carrier network, the MSC <b>424</b> is typically connected to the branch-to-source (BTS) <b>426</b> by both the network and/or Internet for data transfer and POTS for voice information. The BTS <b>426</b> ultimately broadcasts and receives messages wirelessly to and from the wireless devices, such as devices <b>100</b>-A through D, which may be cellular telephones, by short messaging service (“SMS”), or other over-the-air methods known in the art. It should also be noted that carrier boundaries and/or PTT operator network boundaries do not inhibit or prohibit the sharing of data as described herein.
0072Wireless communication telecommunication devices, such as mobile or wireless telephones, are being manufactured with increased computing capabilities and are becoming tantamount to personal computers and hand-held PDAs. These “smart” cellular telephones allow software developers to create software applications that are downloadable and executable on the processor of the wireless device. The wireless device, such as device <b>100</b>, can download many types of “data packages,” which are discrete segments of computer code, such as applications, web pages, applets, MIDlets, multi-media, picture, games and simple data. In wireless devices that have designated a communication group <b>302</b> (such as depicted by <figref idref="DRAWINGS">FIG. 3</figref>), the wireless communication device may directly connect with the other member of the set and engage in voice and data communication. However, in various embodiments, such direct group communications may occur through, or at the control of, the group communication server <b>310</b>. All data packets of the devices do not necessarily have to travel through the communication server <b>310</b> itself, but in various embodiments the communication server <b>310</b> is preferably able to ultimately control the communication because it is typically the only server-side component that is aware of and/or can retrieve the identity of the members of the communication group, or direct the identity of the members of the communication group <b>302</b> to another computer device.
0073<figref idref="DRAWINGS">FIG. 5</figref> is a process flow diagram illustrating an embodiment method <b>500</b> of communicating over a wireless network using a wireless communication device with group communication functionality, such as “Push-To-Talk” (PTT) functionality. The various embodiment methods may be described herein as utilizing a “Push-To-Talk” function, though it will be understood that the embodiment methods may be applicable to other types of group communication. <figref idref="DRAWINGS">FIGS. 6A-6C</figref> are screenshots of a touchscreen user interface <b>104</b> of an exemplary wireless communication device <b>100</b> suitable for practicing the method <b>500</b> according to one embodiment. In various embodiments, the wireless communication device <b>100</b> provides group communication, such as PTT communication, using software and native device hardware, such as a touchscreen display <b>104</b> and/or other user interfaces, such as a keypad interface. In various embodiments, the PTT methods described herein may be implemented on a wide range of devices, including most Internet-enabled mobile phones and other wireless communication devices. In various embodiments, the methods may be implemented using wireless communication devices that do not include dedicated PTT hardware, such as a PTT button or PTT-specific circuitry.
0074As shown in method <b>500</b>, the wireless communication device <b>100</b> may download group communication application software, such as PTT application software, in optional block <b>502</b>. The group communication application software may include all or a portion of group communication client software, such as described above in connection with <figref idref="DRAWINGS">FIGS. 1 and 2</figref>. In various embodiments, a downloadable version of the group communication application software allows devices which are capable of supporting group communication to download and run the group communication application to provide the wireless device with group communication functionality. In other embodiments, the wireless device <b>100</b> may have factory-installed group communication application software, in which case the optional block <b>502</b> may not be performed.
0075The wireless communication device <b>100</b> may establish a group of one or more other wireless communication devices for group communication (e.g., a “group communication group”) in optional bock <b>504</b>. It will be understood that a group communication group may include one other device. A group communication group may also comprise a plurality of other devices to enable “multi-cast” or “broadcast” communication with the plurality of devices over a wireless network using the group communication function. As shown in <figref idref="DRAWINGS">FIGS. 6A-C</figref>, for example, a group communication group (“College Friends”) has been established which includes six devices, the user's own wireless device <b>100</b> and five other devices.
0076In various embodiments, the group communication group may be established by the user or users of the various wireless devices, for example, in an ad hoc process. The establishment of a group communication group may be performed through or under the control of a server, such as communication group server <b>310</b> as described above in connection with <figref idref="DRAWINGS">FIGS. 3 and 4</figref>. It will be understood that a plurality of different group communication groups may be established, and a single wireless communication device <b>100</b> may be included in a plurality of different group communication groups, and may communicate with devices of any one of the groups using the group communication function. In some embodiments, one or more group communication groups may be previously established on the wireless communication device <b>100</b>, such as by a system administrator, in which case the optional block <b>504</b> may not be performed.
0077In block <b>506</b>, the wireless communication device <b>100</b> may initiate the group communication function in response to input from the user of the device <b>100</b>. For example, the user may select from a menu and launch a group communication application on the wireless device <b>100</b> using a suitable user interface, such as the touchscreen display <b>104</b> of <figref idref="DRAWINGS">FIGS. 6A-C</figref>. The initiation of the group communication function may also include the selection of a group communication group with which to establish a group communication session, wherein the group communication group may consist of one or more wireless communication devices.
0078In block <b>508</b>, the wireless communication device <b>100</b> may display the state of the group communication session using visual feedback on the display screen <b>104</b> of the device <b>100</b>. As described in further detail below, the display screen <b>104</b>, which in various embodiments consists of a touchscreen, may display visual feedback cues, including graphical elements and/or colors, to indicate the various states of the group communication session, such as floor status (i.e., floor open, floor granted, etc.), the status of other group member(s), the existence of long connection times, etc.
0079Referring to the exemplary embodiments of a touchscreen display <b>104</b> shown in <figref idref="DRAWINGS">FIGS. 6A-6B</figref>, in <figref idref="DRAWINGS">FIG. 6A</figref> is shown a touchscreen display <b>104</b> in which a group communication application, specifically a PTT application, has been initiated. The display <b>104</b> identifies a group <b>602</b> with which a PTT communication session has been established, and further displays a plurality of icons <b>604</b> representing the individual members of the group <b>602</b>. A virtual PTT button <b>606</b> is displayed on the screen <b>104</b>. In various embodiments, a virtual PTT button <b>606</b> may function much like a conventional hardware PTT button. When the device <b>100</b> detects a touch event on the virtual button <b>606</b>, the device <b>100</b> may transmit a request to the communication server <b>310</b> to open a communication channel from the wireless device <b>100</b> to the other device(s) in the PTT group. <figref idref="DRAWINGS">FIG. 6B</figref> illustrates an exemplary embodiment of a display <b>104</b> which shows a neutral state of the PTT session, in which the PTT session has been initiated, such as by the user's finger <b>610</b> touching the virtual PTT button <b>606</b>, but no communication channel is currently established (i.e., the “floor” is open). <figref idref="DRAWINGS">FIG. 6C</figref> illustrates the display <b>104</b> where the user's finger <b>610</b> is touching the virtual button and a communication channel from the wireless device <b>100</b> to other devices in the group is established and open (i.e., the “floor” has been granted to the wireless communication device <b>100</b>). In this state, the wireless communication device <b>100</b> may transmit voice and/or other data across wireless network to the other device(s) in the PTT group. As shown in <figref idref="DRAWINGS">FIG. 6C</figref>, this state (i.e., floor granted to device <b>100</b>) may be indicated by a change in color over a portion <b>608</b> of the display <b>104</b>.
0080<figref idref="DRAWINGS">FIG. 7</figref> is a process flow diagram illustrating an embodiment method <b>700</b> of group communication, such as PTT communication, using visual feedback of the state of the group communication session. In block <b>702</b>, the wireless communication device <b>100</b> may begin a group communication session as described above. In block <b>704</b>, the device <b>100</b> may display the state of the group communication session using visual feedback on a display screen <b>104</b>, which may be a touchscreen display. In block <b>706</b>, the device <b>100</b> may detect the initiation of a group communication by the user on the user interface of the device <b>100</b>. In various embodiments, this may include the detection of a touch event at a “virtual” PTT button, such as described above in connection with <figref idref="DRAWINGS">FIG. 6A</figref>. In other embodiments, such as in devices without a touchscreen interface, this may include the detection of a key entry on a keypad interface. In block <b>708</b>, the device <b>100</b> may send a request to a server, such as communication server <b>310</b> described above, for the “floor” for a group communication. In block <b>710</b>, the device <b>100</b> may display visual feature(s) indicating a group communication state of floor requested but not granted. In various embodiments, the visual features for this state may correspond to the “neutral” state shown in <figref idref="DRAWINGS">FIG. 6B</figref>. In other embodiments, this state could be indicated by color coding, such as a red or yellow screen when the floor has been requested but not granted, which can change to a different color, such as green, when the device <b>100</b> is granted the floor. While the floor is requested but not yet granted (i.e., determination block <b>712</b>=No), the device <b>100</b> may continue to display visual features indicative of this state. When the floor is granted (i.e., determination block <b>712</b>=Yes), the device <b>100</b> may display visual features indicating that the floor is granted to the user's device <b>100</b>. As discussed above, these visual features may include a change in color of all or a portion of the display screen <b>104</b> (such as from red or yellow to green), or it may include the display of other graphical feedback cues. It will be understood that in addition to the visual feedback cues described herein, other feedback cues, such as audio or haptic cues, can also be employed to indicate the state of the group communication.
0081<figref idref="DRAWINGS">FIGS. 8A-C</figref> are further screenshots of a touchscreen display <b>104</b> illustrating an embodiment group communication session, specifically a PTT communication session. <figref idref="DRAWINGS">FIG. 8A</figref> shows the screen displaying visual features indicating that the floor is granted to the user's device <b>100</b>, as discussed above in connection with <figref idref="DRAWINGS">FIG. 6C</figref>. In this embodiment, the device <b>100</b> displays a color change over a portion <b>608</b> of the screen when the floor is granted. The user's thumb <b>610</b> is shown touching the screen. <figref idref="DRAWINGS">FIG. 8B</figref> shows the screen displaying visual features indicating a neutral state in which the floor is open. In this embodiment, the display <b>104</b> may indicate that the floor is open, and that a touch event on the display <b>104</b> or on a portion <b>804</b> thereof (e.g., “Push to Talk”) will cause the device <b>100</b> to request control of the floor for a group communication. <figref idref="DRAWINGS">FIG. 8C</figref> shows the screen displaying visual features indicating that another user's device has control of the floor. This state may be indicated by a change in graphics and/or color on the display screen <b>104</b>. In this embodiment, this state is indicated displaying the contact icon <b>802</b> (e.g., photograph) of the user whose device currently controls the floor (e.g., the person speaking) in the group communication session.
0082<figref idref="DRAWINGS">FIG. 9A</figref> is a process flow diagram illustrating an embodiment method <b>900</b> of group communication using visual feedback of the state of the group communication session. In block <b>902</b>, the user's wireless communication device <b>100</b> may receive a communication from a server, such as group communication server <b>310</b> described above, indicating a status of floor control in a group communication session. When the floor is granted to the user's device (i.e., determination block <b>904</b>=Yes), then the device <b>100</b> may display, on a display screen, visual features indicating a group communication state of floor granted to the user's device <b>100</b> in block <b>906</b>. The visual features may include graphical elements and/or changes in color, as described above. An example of a device screen in a group communication state of floor granted to the user's device according to one embodiment is shown in <figref idref="DRAWINGS">FIG. 8A</figref>. When the floor the floor is controlled another device in the group communication group (i.e., determination block <b>908</b>=Yes), then the device <b>100</b> may display, on the display screen <b>104</b>, visual features indicating a group communication state that the floor is granted to a different user's device in block <b>910</b>. The visual features may include graphical elements and/or changes in color, as described above. An example of a device screen in this state is according to one embodiment is shown in <figref idref="DRAWINGS">FIG. 8C</figref>. In this embodiment, the visual feature may include a contact icon of the user whose device controls the floor in the group communication, as shown in <figref idref="DRAWINGS">FIG. 8C</figref>. When the floor is not controlled by the user's device (i.e., determination block <b>906</b>=No), and the floor is not controlled by any other device in the group communication group (i.e., determination block <b>908</b>=No), then the device <b>100</b> may display, on the display screen <b>104</b>, visual features indicating a neutral state in which the floor is open in block <b>912</b>. The visual features may include graphical elements and/or changes in color, as described above. An example of a device screen in a neutral state according to one embodiment is shown in <figref idref="DRAWINGS">FIG. 8B</figref>.
0083The device <b>100</b> may maintain the various visual feedback features corresponding to the group communication state in blocks <b>906</b>, <b>910</b> and <b>912</b>, respectively, until the device <b>100</b> receives a floor status communication from server in block <b>902</b>, and the above process may repeat.
0084<figref idref="DRAWINGS">FIG. 9B</figref> is a process flow diagram illustrating an embodiment method <b>901</b> of group communication using a server, such as group communication server <b>310</b> shown in <figref idref="DRAWINGS">FIGS. 3 and 4</figref>. The server <b>310</b> may receive requests from user devices in a group communication group for control of the floor in a group communication session in block <b>914</b>. The server <b>310</b> may determine control of the floor based on pre-determined criteria, as discussed above, in block <b>916</b>. The server <b>310</b> may transmit messages to the devices in the group indicating which device has control of the floor in block <b>918</b>. The server <b>310</b> may also transmit media content and/or other data to the devices in optional block <b>920</b>. This transmitted data may be usable by the devices in displaying visual feedback of the state of floor control in the group communication session. For example, the server <b>310</b> may send image file(s) or other information which may be displayed by the devices in the group while a particular device has control of the floor. In various embodiments, the devices may determine whether or not to use the transmitted data in displaying a visual indication of the state of floor control.
0085Referring again to <figref idref="DRAWINGS">FIGS. 8A-C</figref>, in various embodiments, a wireless communication device <b>100</b> can include a display <b>104</b> that displays visual feedback of the participation state of one or more devices in a group communication, such as a PTT communication. In various embodiments, the device <b>100</b> may display visual feedback that indicates which users from a group are available to participate in a group communication as well as which users from the group are not available. In various embodiments, the device <b>100</b> may also display the reason(s) why one or more users are not available to participate in a group communication. As shown in <figref idref="DRAWINGS">FIG. 8A</figref>, the display screen <b>104</b> of the device <b>100</b> may display an identification of a group <b>806</b> with which a group communication session has been initiated, which may include the name of the group (e.g., “College Friends”), the number of members of the group, as well as the group members currently participating in the group communication session (e.g., “You+⅗”). The display screen <b>104</b> may also display icons <b>810</b>, <b>812</b>, <b>814</b> representing each of the members of the group. The display screen <b>104</b> may display only a limited number of icons, and may enable the user to scroll through to view additional icons and/or may include a separate icon <b>816</b> to enable the user to view the icons of additional group members. The icons may include photographs <b>810</b> of the group members when available, and may include a default icon <b>812</b> where a photograph is not available. Icon <b>814</b> represents a member of the group who is not participating in the group communication session. In various embodiments, icon <b>814</b> of a non-participating group member may include different visual characteristics than the icons <b>810</b>, <b>812</b> of participating group members. In the embodiment illustrated in <figref idref="DRAWINGS">FIG. 8A</figref>, for example, icon <b>814</b> has a darker color than the other icons <b>810</b>, <b>812</b>, and is also partially faded out. Any suitable graphical features can be utilized to indicate the participation state(s) of the various members. In various embodiments, the display <b>104</b> can include visual features to indicate the reason for non-participation of one or more group members. In some embodiments, the user may click on the icon <b>814</b> of a non-participating member to display the reason for non-participation, such as the member is busy (e.g., on another call), unreachable (e.g., the member's device is out of the coverage area or not enabled for group communication), unavailable (e.g., the user's device is turned off), or is otherwise not participating in the call (e.g., the member has placed his/her device on “mute”). In various embodiments, the user may be able to set the status of his or her wireless device (e.g., “I am in a meeting until 2 pm and unavailable to talk”), and this reason for non-participation may be displayed on the devices of other members of the group.
0086<figref idref="DRAWINGS">FIG. 10A</figref> is a process flow diagram illustrating an embodiment method <b>1000</b> of group communication that includes visual feedback of the participation state of one or more devices in a communication group. In block <b>1002</b>, a wireless communication device <b>100</b> may receive a request to initiate and/or join a group communication session with a group consisting of one or more member devices. The request may be received from the user of the device <b>100</b> on a user interface, such as a touchscreen display or a keypad interface. The request may also be received from another device within the communication group, or from a server, such as group communication server <b>310</b>. In block <b>1004</b>, the device <b>100</b> may display, on a display screen, a visual representation of the one or more members of the communication group. The visual representation of the one or more members may include icons representing each of the members of the group, as shown in <figref idref="DRAWINGS">FIG. 8A</figref>. In various embodiments, the various members of the communication group may be accessed from memory on device <b>100</b>. In some embodiments, the members of the communication group may be determined via communication with a server, such as group communication server <b>310</b>, or via communication with one or more other devices on the wireless network. In block <b>1006</b>, the device <b>100</b> may determine a participation state of each member of the group. The determining a participation state may include determining whether each member device is participating or is not participating in the group communication session. In various embodiments, the participation states of the various members may be determined via communication with a server, such as group communication server <b>310</b>, or via one or more other devices on the wireless network. In block <b>1008</b>, the device <b>100</b> may display visual features indicating the participation state of each of the one or more members of the group. In various embodiments, an icon representing a non-participating group member may include different visual characteristics than the icons of participating group members, such as shown in <figref idref="DRAWINGS">FIG. 8A</figref>. When the participation state of a group member changes (i.e., determination block <b>1010</b>=Yes), the device <b>100</b> may determine the updated participation states in block <b>1006</b> and display visual features indicating the updated participation states in block <b>1008</b>. This may process may continue while the session is active (i.e., determination block <b>1012</b>=No). The session may be terminated (i.e., determination block <b>1012</b>=Yes) in block <b>1014</b>.
0087<figref idref="DRAWINGS">FIG. 10B</figref> is a process flow diagram illustrating an embodiment method <b>1001</b> of group communication that includes visual feedback of the participation state of one or more group member devices in a communication group and additionally display of the reason(s) for non-participation in the communication session by one or more non-participating group member devices. Bocks <b>1016</b>-<b>1020</b> are similar to blocks <b>1002</b>-<b>1006</b> of method <b>1000</b> shown in <figref idref="DRAWINGS">FIG. 10A</figref>, and include receiving a request to initiate and/or join a group communication session with a group consisting of one or more member devices in block <b>1016</b>, displaying a visual representation of the one or more members of the communication group at block <b>1018</b>, and determining a participation state of each member of the group in block <b>1020</b>. The wireless communication device <b>100</b> may determine the reason(s) for non-participation for one or more non-participating group members in block <b>1022</b>. In various embodiments, the reasons for non-participation may include that the particular member is busy, the member's communication device is unreachable, or the member's device is otherwise unavailable, for example. The user's device <b>100</b> may display visual features representing the participation state of each member of the group in block <b>1024</b>. In various embodiments, the user's device <b>100</b> may receive a request from the user on a user interface to display one or more reason(s) for non-participation by the one or more non-participating group members in optional block <b>1028</b>. The request to display the reason(s) for non-participation may be made by clicking on an icon of a non-participating member, for example. In response to the request, the device <b>100</b> may display on a display screen <b>104</b> the reason(s) for non-participation in block <b>1028</b>. In some embodiments, the optional block <b>1028</b> may be omitted, and the device <b>100</b> may automatically display the one or more reason(s) for non-participation in block <b>1028</b>. When the participation state of one or more group members changes (i.e., decision block <b>1030</b>=Yes), then the device <b>100</b> may determine an updated participation state in block <b>1020</b> and the reason for non-participation by any new non-participating members in block <b>1022</b>, and may display the updated participation status and reasons for non-participation in blocks <b>1024</b> and <b>1028</b>, respectively. Similarly, where a reason for non-participation of one or more group members changes (i.e., determination block <b>1032</b>=Yes), then the device <b>100</b> may proceed to block <b>1020</b> to update the participation state and reasons for non-participation, and display the updated status and reasons at blocks <b>1024</b> and <b>1028</b>. This may continue (i.e., determination block <b>1034</b>=No) until the group communication session is terminated (i.e., determination block <b>1034</b>=Yes) in block <b>1036</b>.
0088<figref idref="DRAWINGS">FIG. 10C</figref> is a process flow diagram illustrating an embodiment method <b>1003</b> of operation of a server <b>310</b> in a group communication session. In some embodiments, the method <b>1003</b> of <figref idref="DRAWINGS">FIG. 10</figref> may be performed in conjunction with method <b>1000</b> and/or method <b>1001</b> of <figref idref="DRAWINGS">FIGS. 10A and 10B</figref>, respectively. The server <b>310</b> may receive a request to initiate a group communication session sent from a wireless communication device in block <b>1038</b>. The server <b>310</b> may determine the participation state of each member of the group in block <b>1040</b>. For non-participating group members, the server <b>310</b> may determine the reason(s) for non-participation in block <b>1042</b>. The server <b>310</b> may send a communication to at least one participating group member device indicating the participation state of at least one other group member and/or the reason(s) for non-participation of at least one non-participating member at block <b>1044</b>. When the participation state of one or more group members changes (i.e., decision block <b>1046</b>=Yes), or when a reason for non-participation changes (i.e., decision block <b>1048</b>=Yes), then the server <b>310</b> may proceed to block <b>1020</b> to determine the updated participation states and reasons in block <b>1022</b>, and may send a communication to at least one participating group member to update the participation status and/or reasons for non-participation in block <b>1044</b>. This may continue (i.e., determination block <b>1050</b>=No) until the group communication session is terminated (i.e., determination block <b>1050</b>=Yes) in block <b>1052</b>.
0089<figref idref="DRAWINGS">FIGS. 11A-D</figref> are screenshots of a touchscreen display <b>104</b> illustrating a user-actuated locking mechanism which may be used to lock control of the floor in a group communication (e.g., PTT) enabled device <b>100</b> device for “hands-free” operation. In <figref idref="DRAWINGS">FIG. 11A</figref>, the display <b>104</b> includes a virtual PTT button <b>1102</b>. In various embodiments, the virtual PTT button <b>1102</b> may function much like a conventional hardware PTT button. When the device <b>100</b> detects a touch event on the virtual button <b>1102</b>, the device <b>100</b> may transmit a request to the communication server <b>310</b> to open a communication channel from the wireless device <b>100</b> to the other device(s) in the PTT group. <figref idref="DRAWINGS">FIG. 11B</figref> illustrates the display screen <b>104</b> showing that the user's finger <b>610</b> is touching the display screen <b>104</b> and the floor has been granted to the user's device <b>100</b>. As described above, the display screen <b>104</b> can use visual feedback, such as graphical elements or color coding, to indicate to the user that the floor has been granted.
0090In some embodiments, in a conventional mode of operation the device <b>100</b> may maintain floor control while the device detects a touch event on the screen <b>104</b> or on a portion thereof. Thus, the device may operate like a conventional PTT-enabled device having a dedicated PTT button in which the user must keep the PTT button pressed while communicating with the group. Thus, in order to communicate with the at least one other member of the communication group, the user must maintain continuous touch contact with the screen <b>104</b>. It will be understood that even where the user maintains touch contact with the screen, the user's device may still lose control of the floor, where, for example, another device in the group, having a higher priority than the original user's device as determined by server <b>310</b>, simultaneously requests control of the floor.
0091In various embodiments, in addition to the conventional mode described above, the device <b>100</b> may additionally include a “hands-free” mode in which the user may actuate a locking mechanism to maintain control of the floor (i.e., “lock” the floor) without requiring the user to continuously maintain contact with the screen. The user actuated locking mechanism may take a variety of forms, such as a virtual button on a touchscreen interface/display, or a key entry on a conventional keypad interface. As shown in <figref idref="DRAWINGS">FIG. 11B</figref>, the locking mechanism <b>1104</b> may be a sliding lock on a touchscreen display <b>104</b>. The sliding lock may be a “target-based” lock, meaning that the user may actuate the lock by touching the screen at a first location and then sliding his or her finger <b>610</b> towards a second “target” location on the screen. The device <b>100</b> may detect a touch event on the first location and the sliding movement of the finger <b>610</b> towards the second “target” location. When the device <b>100</b> detects the finger <b>610</b> within a pre-determined proximity to the target location, the device <b>100</b> may enter a “hands-free” mode, in which the device <b>100</b> maintains an open communication channel without requiring continuous user contact with the user interface. In the example shown in <figref idref="DRAWINGS">FIGS. 11A-B</figref>, the first location may be the virtual PTT button <b>1102</b> in <figref idref="DRAWINGS">FIG. 11A</figref> and the second, or “target” location may be the “slide to lock” bar <b>1104</b> in <figref idref="DRAWINGS">FIG. 11B</figref>. The user may actuate the “hands-free” mode by sliding his or her finger <b>610</b> from the virtual PTT button <b>1102</b> to the “slide to lock” bar <b>1104</b>. This actuates the sliding lock mechanism. The device <b>100</b> may provide visual and/or audio feedback of entry into the “hands-free” mode. For example, as shown in <figref idref="DRAWINGS">FIG. 11C</figref>, upon entry into the “hands-free” mode, the “slide to lock” bar <b>1104</b> may disappear and a “slide to unlock” bar <b>1106</b> may be displayed in a different location. In various embodiments, the “hands-free” mode may enable a user to maintain an open PTT communication channel without physically contacting the user interface or even without holding the device. As shown in <b>11</b>C, in the “hands free” mode, the device may maintain control of the “floor” for group communication when the user's finger <b>610</b> is removed from the screen <b>104</b>. The device <b>100</b> may utilize a speakerphone option. In certain embodiments, as shown in <figref idref="DRAWINGS">FIG. 11D</figref>, the hands-free mode may be used in conjunction with an earpiece device <b>1110</b>, such as a headset, which may be connected to the device <b>100</b> via a suitable link, which may be a wireless link <b>1108</b>, such as a BLUETOOTH® wireless link.
0092The device <b>100</b> may remain in hands-free mode until either the device <b>100</b> loses floor control (e.g., the server <b>301</b> grants control of the floor to another device based on server floor arbitration priority rules), or the user actuates an unlocking mechanism. In various embodiments, the unlocking mechanism may be the same mechanism as the locking mechanism, and the user may toggle between a locked and an unlocked state. Thus, to de-activate the locking mechanism the user may slide the locking mechanism (e.g., a virtual display on a touchscreen interface) in the opposite direction as the locking movement in order to de-activate the locking mechanism. The unlocking mechanism may be a virtual button on a touchscreen interface/display, or a key entry on a conventional keypad interface. As shown in <figref idref="DRAWINGS">FIG. 11C</figref>, the unlocking mechanism <b>1106</b> may be a sliding lock on a touchscreen display <b>104</b>. The sliding lock may be a “target-based” lock, as described above. In the example shown in <figref idref="DRAWINGS">FIG. 11C</figref>, the user may touch a first location, which may be in the central region of the display <b>104</b> and slide his or her finger to a “target” location, which may be the “slide to unlock” bar <b>1106</b>. When the device <b>100</b> detects the user's finger within a pre-determined proximity of the “slide to unlock” bar <b>1106</b>, the device may exit the “hands-free” mode, de-activate the lock mechanism and return to a conventional mode of operation.
0093<figref idref="DRAWINGS">FIG. 12A</figref> is a process flow diagram illustrating an embodiment method <b>1200</b> of group communication, such as PTT communication, with a wireless communication device <b>100</b> using a “hands-free” mode. The device <b>100</b> may begin a group communication session in block <b>1202</b> and determine a state of the group communication in block <b>1203</b>. The device <b>100</b> may display, on a display screen <b>104</b>, the state of the group communication session using visual feedback in block <b>1204</b>. The device <b>100</b> may receive user input on a user interface to initiate a group communication in block <b>1206</b>. The user input may be a touch event on a touchscreen, such as a touch event on a virtual PTT button, as described above in connection with <figref idref="DRAWINGS">FIGS. 11A-D</figref>. In other embodiments, the user input may be a key entry on a keypad interface. The device <b>100</b> may send a request to a server, such as communication server <b>310</b>, for control of the “floor” in a group communication session in block <b>1208</b>. If control of the floor is not granted (i.e., determination block <b>1210</b>=No), then the device may proceed to block <b>1203</b> to determine the state of the group communication. When control of the floor is granted (i.e., determination block <b>1210</b>=Yes), then the device <b>100</b> may establish an open group communication channel with one or more devices in a communication group in block <b>1212</b>. The device <b>100</b> may display visual feedback on the display screen <b>104</b> indicating a group communication state of floor granted to the user's device in block <b>1214</b>.
0094The device may display an indication that the user has the ability to lock the floor in block <b>1215</b>. This may include displaying a locking mechanism on the screen, such as the “slide-to-lock” indication in <figref idref="DRAWINGS">FIG. 11B</figref>. The device <b>100</b> may detect the actuation of a locking mechanism by the user on the user interface in block <b>1216</b>. In various embodiments, the user-actuated locking mechanism may be, for example, a virtual button on a touchscreen interface/display, or a key entry on a conventional keypad interface. In some embodiments, such as shown in <figref idref="DRAWINGS">FIGS. 11A-D</figref>, the locking mechanism <b>1104</b> may be a sliding lock on a touchscreen display <b>104</b>. The sliding lock may be a “target-based” lock, meaning that the user may actuate the lock by touching the screen at a first location and then sliding his or her finger towards a second “target” location on the screen.
0095While the locking mechanism is actuated, the device <b>100</b> may maintain the open group communication channel in a “hands-free” mode in block <b>1218</b>. As described above, the “hands-free” mode of the device <b>100</b> may enable the device to maintain control of the floor (i.e., “lock” the floor) without requiring the user to continuously maintain contact with the user interface, as is the case in conventional PTT-enabled devices. The device <b>100</b> may provide an indication of a group communication state of floor locked to the user's device in block <b>1220</b>. For example, the device <b>100</b> may provide audio feedback and/or display visual feedback on display screen <b>104</b> to indicate that the floor is locked to the user's device in “hands-free” mode. The device <b>100</b> may remain in “hands-free” mode while the locking mechanism remains actuated (i.e., determination block <b>1222</b>=Yes). The user may unlock the device <b>100</b> by actuating an unlocking mechanism, which in various embodiments may be the same as the locking mechanism, may involve de-activating the locking mechanism by moving the indication in the opposite direction to locking, and may be a virtual button on a touchscreen interface or a key entry on a keypad interface. As shown in <figref idref="DRAWINGS">FIGS. 11A-D</figref>, the unlocking mechanism <b>1106</b> may be a sliding lock on a touchscreen display <b>104</b>. The sliding lock may be a “target-based” lock, meaning that the user may unlock the device by touching the screen at a first location and then sliding his or her finger towards a second “target” location on the screen.
0096When the locking mechanism is de-activated or no longer actuated (i.e., determination block <b>1222</b>=No), the device <b>100</b> may end the “hands-free” mode and provide an indication that the floor is no longer locked to the user's device in block <b>1224</b>. The device <b>100</b> may continue the group communication (i.e., determination block <b>1227</b>=Yes), and maintain the communication channel in response to user input (such as the user continuing to contact the touchscreen) in block <b>1229</b>, or the device may not continue the communication (i.e., determination block <b>1227</b>=No) and close the communication channel in block <b>1231</b>. In various embodiments, a locking mechanism such as described above in connection with <figref idref="DRAWINGS">FIGS. 11A-D</figref> and <b>12</b> may be used to initiate other PTT modes, in alternative to or in addition to the “hands-free” mode described above. In some embodiments, the device <b>100</b> may include a plurality of user-actuated locking mechanisms, which may be, for example, virtual buttons on a touchscreen interface/display, and/or key entries on a conventional keypad interface. In some embodiments, the device <b>100</b> may include a sliding lock on a touchscreen display <b>104</b>, such as shown in <figref idref="DRAWINGS">FIGS. 11A-D</figref>. The sliding lock may be a “target-based” lock having a plurality of different “target” locations on the screen. The user may actuate and de-actuate different locks by touching the screen at a first location and then sliding his or her finger towards the different “target” locations on the screen. The different target locations may correspond with different PTT modes, according to various embodiments.
0097<figref idref="DRAWINGS">FIG. 13A</figref> is a process flow diagram illustrating an embodiment method <b>1300</b> of group communication, such as PTT communication, with a wireless communication device <b>100</b> using a “priority lock” mode. The priority lock mode may be utilized when the user desires priority access to the “floor” in a group communication. In various embodiments, the initiation of the “priority lock” mode may provide the device with uninterrupted control of the floor in a group communication while the priority lock is actuated. In various embodiments, the initiation of the priority lock by the user's device may temporarily alter the priority rules used by a server <b>310</b> in arbitrating between different devices in a group for control of the floor. In various embodiments, the priority lock mode may be used to provide a device <b>100</b> with a higher priority status at the server <b>310</b> when arbitrating between competing requests for the floor than the priority status of the device <b>100</b> when the device not in priority lock mode.
0098In the embodiment method <b>1300</b> shown in <figref idref="DRAWINGS">FIG. 13A</figref>, the device <b>100</b> may determine the state of a group communication session in block <b>1302</b>. The device <b>100</b> may display, on a display screen <b>104</b>, a state of the group session using visual feedback in block <b>1304</b>. The device <b>100</b> may receive user input on a user interface to initiate a group communication in block <b>1306</b>. The user input may be a touch event on a touchscreen, such as a touch event on a virtual PTT button, as described above in connection with <figref idref="DRAWINGS">FIGS. 11A-D</figref>. In other embodiments, the user input may be a key entry on a keypad interface. The device <b>100</b> may send a request to a server, such as communication server <b>310</b>, for control of the “floor” in a group communication session in block <b>1308</b>. If control of the floor is not granted (i.e., determination block <b>1310</b>=No), then the device may determine the updated state of the group communication in block <b>1302</b> and display the updated state in block <b>1304</b>. When control of the floor is granted (i.e., determination block <b>1310</b>=Yes), then the device <b>100</b> may establish an open group communication channel with one or more devices in a group in block <b>1312</b>. The device <b>100</b> may display visual feedback on the display screen <b>104</b> indicating a group communication state of floor granted to the user's device in block <b>1314</b>. The device <b>100</b> may further provide an indication to the user that a priority locked mode is available.
0099The device <b>100</b> may detect the actuation of a priority locking mechanism by the user on the user interface in block <b>1316</b>. In various embodiments, the user-actuated locking mechanism may be, for example, a virtual button on a touchscreen interface/display, or a key entry on a conventional keypad interface. In some embodiments, the locking mechanism may be a sliding lock on a touchscreen display <b>104</b>, such as the sliding locking mechanism shown in <figref idref="DRAWINGS">FIGS. 11A-D</figref>. The sliding lock may be a “target-based” lock, meaning that the user may actuate the lock by touching the screen at a first location and then sliding his or her finger towards a second “target” location on the screen. In various embodiments, the sliding lock may include a plurality of target locations on the display screen, where each target location initiates a different group communication mode of the device. For example, a first target location may correspond with a “priority lock” mode, and a second target location may correspond with another mode, such as the “hands-free” mode described above in connection with <figref idref="DRAWINGS">FIG. 12</figref>.
0100Upon detection of a user actuation of the priority locking mechanism in block <b>1316</b>, the device <b>100</b> may send a request to a server, such as communication server <b>310</b>, for priority floor access at block <b>1318</b>. If the request is not granted (i.e., determination block <b>1320</b>=No), the device <b>100</b> may then communicate over the group communication channel in a non-priority locked mode in block <b>1332</b>. When the request is granted (i.e., determination block <b>1320</b>=Yes), the device <b>100</b> may maintain the group communication channel in “priority locked” mode in block <b>1322</b> and display a state of floor priority locked on user's device <b>100</b> in block <b>1324</b>. In various embodiments, the priority lock mode may provide the device <b>100</b> with control of the floor which generally may not be interrupted by another device in the group. While the priority locking mechanism is activated (i.e., determination block <b>1326</b>=Yes), the device may maintain the group communication channel in a “priority lock” mode in block <b>1322</b>. When the priority locking mechanism is no longer actuated (i.e., determination block <b>1326</b>=No), then the device <b>100</b> may end the priority lock mode and provide an indication that the floor is no longer priority locked in block <b>1328</b>. The device <b>100</b> may notify the server <b>310</b> that priority floor access is no longer requested at block <b>1330</b>. The device <b>100</b> may continue to communicate over the group communication channel in a non-priority locked mode in block <b>1332</b>.
0101In some embodiments, priority locking mechanism may allow the user to lock the device to one of a plurality of different priority levels. This may be similar to an automotive transmission gearshift, in which the different priority levels are analogous to the different gears (e.g., first gear, second gear, third gear, etc.) of a gearshift. A first priority locking level may provide a first level of priority access for floor control, a second priority level may provide a second, progressively higher level of priority access for floor control, and so forth. The various priority levels may be actuated using a target-based sliding lock mechanism, such as described above, where the user may use the locking mechanism to actuate progressive levels of priority locking.
0102<figref idref="DRAWINGS">FIG. 13B</figref> is a process flow diagram illustrating an embodiment method <b>1301</b> of operation of a server <b>310</b> in a group communication session, such as a PTT communication session, in which a user device requests priority floor access. In some embodiments, the method <b>1301</b> of <figref idref="DRAWINGS">FIG. 13B</figref> may be performed in conjunction with method <b>1300</b> of <figref idref="DRAWINGS">FIG. 13A</figref>. The server <b>310</b> may receive a request for priority floor access from a first user device <b>100</b> in block <b>1334</b>. The server <b>310</b> may determine whether to grant or deny the request at determination block <b>1336</b>. The server <b>310</b> may deny the request (i.e., determination block <b>1336</b>=“No”), for example, if the priority locking feature is not authorized or otherwise not available for the requesting user device <b>100</b>. The server <b>310</b> may then send a message to the first user device <b>100</b> that the request for priority floor access is denied in block <b>1346</b>, and arbitrate floor control of the group communication session in accordance with the normal priority rules (i.e., without providing priority access to the first user device <b>100</b>) in block <b>1344</b>. If the server <b>310</b> grants the request for priority floor access (i.e., determination block <b>1336</b>=“Yes”), then the server <b>310</b> may send a message to the first user device <b>100</b> indicating that priority floor access is granted in block <b>1338</b>. In block <b>1340</b>, the server <b>310</b> may arbitrate floor control of the group communication session with priority floor access being given to the first user device <b>100</b>. In various embodiments, the server <b>310</b> may give priority floor access by immediately granting the floor to the first user device <b>100</b>, regardless of whether another device currently has the floor, and may grant the first user device <b>100</b> uninterrupted control of the floor until the first user device <b>100</b> indicates that priority floor access is no longer requested. The server <b>310</b> may receive a message from the first user device <b>100</b> that priority floor access is no longer requested at block <b>1342</b>. The server <b>310</b> may then arbitrate floor control of the group communication session in accordance with the normal priority rules (i.e., without providing priority access to the first user device <b>100</b>) in block <b>1344</b>.
0103In various embodiments, the server <b>310</b> may grant priority floor access to a user device for a pre-determined maximum time period, and if no message is received from the user device <b>100</b> within that time period, the server <b>310</b> may release the user device <b>100</b> from priority floor access. The server <b>310</b> may also implement priority rule(s) for handling floor control in cases where more than one user device requests priority floor access at the same time.
0104<figref idref="DRAWINGS">FIG. 14A</figref> is a process flow diagram illustrating an embodiment method <b>1400</b> of group communication, such as PTT communication, with a wireless communication device <b>100</b> using a “media lock” mode. The media lock mode may be utilized when the user desires priority access to the “floor” for transmitting media file(s) to one or more members of a group in a group communication, while still enabling other devices to transmit voice data to the group. The media files may include, for example, image files, video files, audio files, documents and presentations, and the like. In certain embodiments, the initiation of the “media lock” mode may provide the device with uninterrupted control of the floor for transmitting a media file in a group communication while the media lock is actuated. In various embodiments, the initiation of the media lock by the user's device may temporarily alter the priority rules used by a server <b>310</b> in arbitrating floor control for transmitting media files between different devices in a communication group.
0105In the embodiment method <b>1400</b> shown in <figref idref="DRAWINGS">FIG. 14A</figref>, the device <b>100</b> may determine a state of a group communication session in block <b>1402</b>, and display, on a display screen <b>104</b>, the determined state of the group communication session using visual feedback in block <b>1404</b>. The device <b>100</b> may detect the actuation of a media locking mechanism by the user on the user interface in block <b>1406</b>. In various embodiments, the user-actuated media locking mechanism may be, for example, a virtual button on a touchscreen interface/display, or a key entry on a conventional keypad interface. In some embodiments, the media locking mechanism may be a sliding lock on a touchscreen display <b>104</b>, such as the sliding locking mechanism shown in <figref idref="DRAWINGS">FIGS. 11A-D</figref>. The sliding lock may be a “target-based” lock, meaning that the user may actuate the lock by touching the screen at a first location and then sliding his or her finger towards a second “target” location on the screen. In various embodiments, the sliding lock may include a plurality of target locations on the display screen, where each target location initiates a different group communication mode of the device. For example, a first target location may correspond with a “media lock” mode, and one or more additional target location(s) may correspond with another mode, such as the “hands-free” mode described above in connection with <figref idref="DRAWINGS">FIG. 12</figref> and/or the “priority lock” mode described above in connection with <figref idref="DRAWINGS">FIG. 13A</figref>.
0106Upon detection of a user actuation of the media locking mechanism in block <b>1406</b>, the device <b>100</b> may send a request to a server, such as communication server <b>310</b>, for a media lock at block <b>1408</b>. If the request is not granted (i.e., determination block <b>1410</b>=No), the device <b>100</b> may transmit media in the normal manner over a non-“media-locked” channel in block <b>1428</b>. When the request is granted (i.e., determination block <b>1410</b>=Yes), the device <b>100</b> may establish a group media communication channel in block <b>1412</b>, and maintain the group media communication channel in “media locked” mode in block <b>1414</b>. The device <b>100</b> may display on the display screen <b>104</b> visual features indicating a group communication state of media lock granted in block <b>1416</b>. While the media locking mechanism is actuated (i.e., determination block <b>1418</b>=Yes), the device <b>100</b> may maintain the group media communication channel in a media locked mode in block <b>1414</b>. When the media locking mechanism is no longer actuated (i.e., determination block <b>1418</b>=No), then the device <b>100</b> may send a message to the server <b>310</b> to end the media lock at block <b>1422</b>. The device <b>100</b> may discontinue the media communication (i.e., determination block <b>1424</b>=No), and close the group media communication channel in block <b>1426</b>. The device may alternatively continue the media communication (i.e., determination block <b>1424</b>=Yes) and transmit the media over a non-“media locked” channel in block <b>1428</b>.
0107<figref idref="DRAWINGS">FIG. 14B</figref> is a process flow diagram illustrating an embodiment method <b>1401</b> of operation of a server <b>310</b> in a group communication session, such as a PTT communication session, in which a user device requests a “media lock” for transmission of media file(s). In some embodiments, the method <b>1401</b> of <figref idref="DRAWINGS">FIG. 14B</figref> may be performed in conjunction with method <b>1400</b> of <figref idref="DRAWINGS">FIG. 14A</figref>. The server <b>310</b> may receive a request for a media lock from a first user device <b>100</b> in block <b>1430</b>. The server <b>310</b> may determine whether to grant or deny the request at determination block <b>1432</b>. The server <b>310</b> may deny the request (i.e., determination block <b>1432</b>=No), for example, if the media lock feature is not authorized or is otherwise not available for the requesting user device <b>100</b>. The server <b>310</b> may then send a message to the first user device <b>100</b> that the request for a media lock is denied in block <b>1442</b>, and arbitrate floor control of the group communication session for transmission of media files using the normal priority rules (i.e., without providing a media lock to the first user device <b>100</b>) in block <b>1440</b>. If the server <b>310</b> grants the request for priority floor access (i.e., determination block <b>1432</b>=Yes), then the server <b>310</b> may send a message to the first user device <b>100</b> indicating that priority floor access is granted in block <b>1434</b>. In block <b>1336</b>, the server <b>310</b> may lock control of the floor for transmission of media file(s) to the first user's device <b>100</b>. In various embodiments, while the floor is “locked” to the first user's device <b>100</b> for transmission of media files, the server <b>310</b> may still arbitrate control of the floor for voice communication between the various user devices in the communication group. The server <b>310</b> may receive a message from the first user device <b>100</b> that the media lock is no longer requested at block <b>1438</b>. The server <b>310</b> may then arbitrate floor control for transmission of media files in accordance with the normal priority rules (i.e., without providing a media lock to the first user device <b>100</b>) in block <b>1440</b>.
0108In various embodiments, the server <b>310</b> may grant a media lock to a user device <b>100</b> for a pre-determined maximum time period, and if no message is received from the user device <b>100</b> within that time period, the server <b>310</b> may release the media lock. The server <b>310</b> may also implement priority rule(s) for handling floor control in cases where more than one user device requests a media lock at the same time.
0109<figref idref="DRAWINGS">FIG. 15A</figref> is a process flow diagram illustrating an embodiment method <b>1205</b> of PTT communication with a wireless communication device <b>100</b> using a “lockout” mode. The lockout mode may be utilized to enable the user to temporarily exclude one or more members of the group communication group from receiving communications from the user's device <b>100</b> during a group communication session.
0110In the embodiment method <b>1500</b> shown in <figref idref="DRAWINGS">FIG. 15A</figref>, the device <b>100</b> may begin a group communication session, such as a PTT communication, in block <b>1502</b>. The device <b>100</b> may display, on a display screen <b>104</b>, a state of the group communication session using visual feedback in block <b>1504</b>. The device <b>100</b> may detect the actuation of a lockout mechanism by the user on the user interface in block <b>1506</b>. In various embodiments, the user-actuated lockout mechanism may be, for example, a virtual button on a touchscreen interface/display, or a key entry on a conventional keypad interface. In some embodiments, the media locking mechanism may be a sliding lock on a touchscreen display <b>104</b>, such as the sliding locking mechanism shown in <figref idref="DRAWINGS">FIGS. 11A-D</figref>. The sliding lock may be a “target-based” lock, meaning that the user may actuate the lock by touching the screen at a first location and then sliding his or her finger towards a second “target” location on the screen. In various embodiments, the sliding lock may include a plurality of target locations on the display screen, where each target location initiates a different group communication mode of the device. For example, a first target location may correspond with a “lockout” mode, and one or more additional target location(s) may correspond with another group communication mode, such as the “hands-free” mode described above in connection with <figref idref="DRAWINGS">FIG. 12</figref>, the “priority lock” mode described above in connection with <figref idref="DRAWINGS">FIG. 13A</figref> and/or the “media lock” mode described above in connection with <figref idref="DRAWINGS">FIG. 14A</figref>.
0111In various embodiments, the user may select one or more members of the group with which to “lock out” from group communications. The user may, for example, select a contact icon representing a particular group member and actuate the lockout mechanism to lock out the group member from group communications. In some embodiments, the contact icon of the group member to be locked out may be the “target” in a target-based sliding lock mechanism. The user may slide his or her finger to particular contact icon(s) to lock out the respective user(s) from group communication. In some embodiments, the user may drag the contact icons to an additional target location, such as a “lockout” icon, to effectuate the lockout mode with respect to that group member. In other embodiments, the device <b>100</b> may display a locking mechanism (e.g., a slide-to-lock bar, a “virtual” switch, toggle, button, etc.) in association with each contact icon. The locking mechanism may be displayed, for example, after the user first touches the contact icon. Actuating the locking mechanism may effectuate the lockout mode with respect to the selected group member.
0112Upon detection of the user actuation of the lockout mechanism in block <b>1506</b>, the device <b>100</b> may establish a group communication channel with one or more devices in the group, excluding device(s) of locked-out group member(s) in block <b>1508</b>. This may involve a temporary reconfiguring of the group communication session, which may be performed by, or in conjunction with, a group communication server <b>310</b>, as discussed below. The user device <b>100</b> may exclude the device(s) of locked-out group member(s) from outgoing group communications in block <b>1510</b>. The device <b>100</b> may display on the display screen <b>104</b> visual features indicating that a lockout is actuated with respect to selected group member(s) in block <b>1512</b>. While the lockout is actuated (i.e., determination block <b>1514</b>=Yes), the device <b>100</b> may continue to exclude the device(s) of locked out group member(s) from outgoing group communications from the user's device <b>100</b> in block <b>1510</b>. When the lockout mechanism is no longer actuated (i.e., determination block <b>1514</b>=No), then the device <b>100</b> may include the device(s) of previously locked out group member(s) in outgoing group communications in block <b>1516</b>. In other words, the group communication session may be returned to its original configuration.
0113<figref idref="DRAWINGS">FIG. 15B</figref> is a process flow diagram illustrating an embodiment method <b>1501</b> of operation of a server <b>310</b> in a group communication session, such as a PTT communication session, in which a lockout mechanism is activated on a user device with respect to at least one other user device in the communication group. In some embodiments, the method <b>1501</b> of <figref idref="DRAWINGS">FIG. 15B</figref> may be performed in conjunction with method <b>1500</b> of <figref idref="DRAWINGS">FIG. 15A</figref>. In block <b>1518</b>, the server <b>310</b> may configure a group communication session between a plurality of user devices in a normal manner. The server <b>310</b> may receive an indication from a first user device <b>100</b> that a lockout mechanism has been actuated with respect to at least one second user device in the communication group in block <b>1520</b>. The server <b>310</b> may (temporarily) reconfigure the group communication session to exclude communications from the first user device <b>100</b> from being received by the “locked out” devices at block <b>1522</b>. The server <b>310</b> may maintain this reconfigured group communication session (block <b>1526</b>) until the server <b>310</b> receives an indication from the first user device <b>100</b> that the lockout is no longer actuated with respect to the at least one second user device in block <b>1526</b>. The server <b>310</b> may return to the initial configuration of the group communication session in block <b>1528</b>.
0114<figref idref="DRAWINGS">FIG. 16A</figref> is a process flow diagram illustrating an embodiment method <b>1600</b> of group communication, such as PTT communication, with a wireless communication device <b>100</b> using a “blocking” mode. The blocking mode may be utilized to enable the user to temporarily block the user's device <b>100</b> from receiving communications from the device(s) of one or more selected members of the group communication group during a group communication session.
0115In the embodiment method <b>1600</b> shown in <figref idref="DRAWINGS">FIG. 16A</figref>, the device <b>100</b> may begin a group communication session in block <b>1602</b>. The device <b>100</b> may display, on a display screen <b>104</b>, a state of the group session using visual feedback in block <b>1604</b>. The device <b>100</b> may detect the actuation of a blocking mechanism by the user on the user interface in block <b>1606</b>. In various embodiments, the user-actuated blocking mechanism may be, for example, a virtual button on a touchscreen interface/display, or a key entry on a conventional keypad interface. In some embodiments, the media locking mechanism may be a sliding lock on a touchscreen display <b>104</b>, such as the sliding locking mechanism shown in <figref idref="DRAWINGS">FIGS. 11A-C</figref>. The sliding lock may be a “target-based” lock, meaning that the user may actuate the lock by touching the screen at a first location and then sliding his or her finger towards a second “target” location on the screen. In various embodiments, the sliding lock may include a plurality of target locations on the display screen, where each target location initiates a different group communication mode of the device. For example, a first target location may correspond with a “blocking” mode, and one or more additional target location(s) may correspond with another mode, such as the “hands-free” mode described above in connection with <figref idref="DRAWINGS">FIG. 12</figref>, the “priority lock” mode described above in connection with <figref idref="DRAWINGS">FIG. 13A</figref>, the “media lock” mode described above in connection with <figref idref="DRAWINGS">FIG. 14A</figref>, and/or the “lockout” mode described above in connection with <figref idref="DRAWINGS">FIG. 15A</figref>.
0116In various embodiments, the user may select one or more members of the group to “block” from receiving group communications by the user's device <b>100</b>. The user may, for example, select a contact icon representing a particular group member and actuate the blocking mechanism to block communications from the selected group member. In some embodiments, the contact icon of the group member to be blocked may be the “target” in a target-based sliding lock mechanism. The user may slide his or her finger to particular contact icon(s) to block the respective user(s). In some embodiments, the user may drag the contact icon of a particular group member to a target area, such as a “block” icon, to effectuate the block. In other embodiments, the device <b>100</b> may display a locking mechanism (e.g., a slide-to-lock bar, a “virtual” switch, toggle or button, etc.) in association with each contact icon. The blocking mechanism may be displayed, for example, after the user first touches the contact icon. Actuating the blocking mechanism may effectuate a block of the selected group member.
0117Upon detecting a user actuation of the blocking mechanism in block <b>1606</b>, the device <b>100</b> may block communications from selected blocked group member(s) from being received by the user's device <b>100</b> in block <b>1608</b>. The device <b>100</b> may display on the display screen <b>104</b> visual features indicating that blocking is actuated with respect to selected group member(s) in block <b>1610</b>. While the blocking is actuated (i.e., determination block <b>1612</b>=Yes), the device <b>100</b> may continue to block communications from the blocked member(s) in block <b>1608</b>. When the blocking mechanism is no longer actuated (i.e., determination block <b>1612</b>=No), then the device <b>100</b> may receive communications from previously blocked group members in block <b>1614</b>.
0118In some embodiments, the blocking mode may be analogous to a “mute” button, in that the user does not hear or view communications from the blocked group member(s), but other users in the group may still receive communications from the blocked member(s). In some embodiments, the blocking function may be implemented on the user device <b>100</b> without the knowledge or intervention of a server. In other embodiments, the user device <b>100</b> may signal a server, such as group communication server <b>310</b>, when the blocking mechanism is actuated, and the server <b>310</b> may reconfigure the communication session so that communications from a blocked device are not transmitted to the blocking device <b>100</b>. In some embodiments, actuating the blocking mechanism with respect to a group member's device may block the selected device from sending any communications to the group (e.g., it may prevent the blocked device from gaining control of the “floor”). In this embodiment, upon actuation of the blocking mechanism, the device <b>100</b> may send a request to a server, such as group communication server <b>310</b>, to block a specified device from communicating with the group. The server <b>310</b> may determine whether to block the device based on pre-determined blocking criteria which may be stored at the server <b>301</b>, and which may include, for example, the priority status of the user requesting the block, the priority status of the user requested to be blocked, the number of different blocking requests received for a particular user, etc.
0119<figref idref="DRAWINGS">FIG. 16B</figref> is a process flow diagram illustrating an embodiment method <b>1601</b> of operation of a server <b>310</b> in a group communication session, such as a PTT communication session, in which a blocking mechanism is activated on a user device with respect to at least one other user device in the communication group. In some embodiments, the method <b>1601</b> of <figref idref="DRAWINGS">FIG. 16B</figref> may be performed in conjunction with method <b>1600</b> of <figref idref="DRAWINGS">FIG. 16A</figref>. In block <b>1616</b>, the server <b>310</b> may configure a group communication session between a plurality of user devices in a normal manner. The server <b>310</b> may receive an indication from a first user device <b>100</b> that a blocking mechanism has been actuated with respect to at least one second user device (i.e., a “blocked” device) in the communication group in block <b>1618</b>. The server <b>310</b> may (temporarily) reconfigure the group communication session to exclude communications from the “blocked” device(s) from being received at first user device <b>100</b> in block <b>1620</b>. As discussed above, in various embodiments the server <b>310</b> may reconfigure the group communication session such that communications from a “blocked” device are not received at any other devices in the communication group. The server <b>310</b> may maintain this reconfigured group communication session (block <b>1622</b>) until the server <b>310</b> receives an indication from the first user device <b>100</b> that the blocking mechanism is no longer actuated with respect to the at least one second user device in block <b>1624</b>. The server <b>310</b> may return to the initial configuration of the group communication session in block <b>1626</b>.
0120<figref idref="DRAWINGS">FIGS. 17A-C</figref> are screenshots of a touchscreen display <b>104</b> of a wireless communication device <b>100</b> having a “quick contact” PTT shortcut on a desktop/home screen of the device <b>100</b>. As shown in <figref idref="DRAWINGS">FIG. 17A</figref>, the device <b>100</b> may enable the user to display one or more shortcut icons <b>1704</b> to a PTT contact on the home screen <b>1702</b>. The PTT contact may be an individual PTT user or a group of PTT users. Selection of the shortcut icon <b>1704</b> may bring up a modified PTT button <b>1706</b>, as shown in <figref idref="DRAWINGS">FIG. 17B</figref>. The device <b>100</b> may detect a touch event on the PTT button <b>1706</b>, and in response, establish a PTT communication channel with the device of the contact shown in icon <b>1704</b>. As shown in <figref idref="DRAWINGS">FIG. 17C</figref>, the modified PTT button may also support the slide to lock feature <b>1708</b> in certain embodiments. The slide to lock feature <b>1708</b> may initiate a “hands free” mode of operation and/or any of the operating modes described above in connection with <figref idref="DRAWINGS">FIGS. 12-16B</figref>. This is an improvement over existing non-dedicated hardware solutions in that the user does not need to find/launch/navigate the PTT application in order to quickly speak to their contact.
0121<figref idref="DRAWINGS">FIG. 18A</figref> is a process flow diagram illustrating an embodiment method <b>1800</b> for group communication, such as PTT communication, using a “quick contact” shortcut. A wireless communication device <b>100</b> may display at least one quick contact group communication shortcut icon on the home screen of the device display <b>104</b> in block <b>1806</b>. The display <b>104</b> may be a touchscreen display. The quick contact shortcut icon(s) may be set up by the user, or can be automatically generated by the device <b>100</b> based on, for example, contact information stored on the device.
0122The device <b>100</b> may detect a user selection of a quick contact group communication shortcut icon on a user interface in optional block <b>1806</b>, and may display a group communication button (e.g., a PTT button) in association with the quick contact shortcut icon in step <b>1808</b>. In some embodiments, the optional step <b>1806</b> may be omitted, and the device <b>100</b> may automatically display the group communication button in association with the quick contact shortcut icon in step <b>1808</b>. In some embodiments, the group communication button may comprise a portion of or the entirety of the quick connect group communication shortcut icon. The device <b>100</b> may detect a selection of the group communication button by a user on a user interface in block <b>1808</b>. In various embodiments using a touchscreen display, the device <b>100</b> may detect a touch event on the group communication button. The device <b>100</b> may initiate a group communication with the device of the selected contact in block <b>1810</b>.
0123<figref idref="DRAWINGS">FIG. 18B</figref> is a process flow diagram illustrating an embodiment method <b>1801</b> for group communication, such as PTT communication, using a “quick contact” shortcut and a sliding locking mechanism. Blocks <b>1812</b>-<b>1816</b> are similar to blocks <b>1802</b>-<b>1806</b> of method <b>1800</b> shown in <figref idref="DRAWINGS">FIG. 18A</figref>, and include displaying at least one quick contact group communication shortcut icon on the home screen of a wireless communication device display <b>100</b> in block <b>1812</b>, detecting a selection of a quick contact group communication shortcut icon by a user on a user interface in optional block <b>1814</b>, and displaying a group communication button (e.g., a PTT button) in association with the quick contact group communication shortcut icon in block <b>1816</b>. The device <b>100</b> may detect the actuation of a locking mechanism by the user on the user interface in block <b>1820</b>. The locking mechanism may be a sliding lock that is displayed in response to user selection of the group communication button, such as shown in <figref idref="DRAWINGS">FIGS. 17A-C</figref>. Actuation of the sliding lock may initiate a “hands-free” mode of operation. The device <b>100</b> may initiate group communication with the device of the selected contact in “hands free” mode in block <b>1822</b>. In alternative embodiments, the sliding lock mechanism may initiate any of the operating modes described above in connection with <figref idref="DRAWINGS">FIGS. 12-16B</figref>.
0124<figref idref="DRAWINGS">FIG. 19</figref> is a system block diagram of a wireless communication device for use with any of the embodiments. The embodiments may be implemented in a variety of mobile wireless communication devices, particularly mobile computing devices. An example of a wireless communication device that may implement the various embodiments is a Smartphone <b>2800</b> illustrated in <figref idref="DRAWINGS">FIG. 19</figref>. A wireless communication device, such as a Smartphone <b>2800</b>, may include a processor <b>2801</b> coupled to memory <b>2802</b> and to a radio frequency data modem <b>2805</b>. The modem <b>2805</b> may be coupled to an antenna <b>2804</b> for receiving and transmitting radio frequency signals. The Smartphone <b>2800</b> may also include a display <b>2803</b>, such as a touch screen display. The mobile device <b>2800</b> may also include user input devices, such as buttons <b>2806</b>, to receive user inputs. In the various embodiments the Smartphone <b>2800</b> includes a tactile output surface, which may be positioned on the display <b>2803</b> (e.g., using E-Sense™ technology), on a back surface <b>2812</b>, or another surface of the mobile device <b>2800</b>. The mobile device processor <b>2801</b> may be any programmable microprocessor, microcomputer or multiple processor chip or chips that can be configured by software instructions (applications) to perform a variety of functions, including the functions of the various embodiments described herein. Typically, software applications may be stored in the internal memory <b>2802</b> before they are accessed and loaded into the processor <b>2801</b>. In some mobile computing devices, additional memory chips (e.g., a Secure Data (SD) card) may be plugged into the mobile device and coupled to the processor <b>2801</b>. The internal memory <b>2802</b> may be a volatile or nonvolatile memory, such as flash memory, or a mixture of both. For the purposes of this description, a general reference to memory refers to all memory accessible by the processor <b>2801</b>, including internal memory <b>2802</b>, removable memory plugged into the mobile device, and memory within the processor <b>2801</b>.
0125The various embodiments may be implemented on any of a variety of commercially available server devices, such as the server <b>2900</b> illustrated in <figref idref="DRAWINGS">FIG. 20</figref>. Such a server <b>2900</b> typically includes a processor <b>2901</b> coupled to volatile memory <b>2902</b> and a large capacity nonvolatile memory, such as a disk drive <b>2903</b>. The server <b>2900</b> may also include a floppy disc drive, compact disc (CD) or DVD disc drive <b>2906</b> coupled to the processor <b>2901</b>. The server <b>2900</b> may also include network access ports <b>2904</b> coupled to the processor <b>2901</b> for establishing data connections with a network <b>2905</b>, such as a local area network coupled to other broadcast system computers and servers. The processors <b>2801</b>, <b>2901</b> may be any programmable microprocessor, microcomputer or multiple processor chip or chips that can be configured by software instructions (applications) to perform a variety of functions, including the functions of the various embodiments described above. In some devices, multiple processors <b>2801</b>, <b>2901</b> may be provided, such as one processor dedicated to wireless communication functions and one processor dedicated to running other applications. Typically, software applications may be stored in the internal memory <b>2802</b>, <b>2902</b>, and <b>2903</b> before they are accessed and loaded into the processor <b>2801</b>, <b>2901</b>.
0126The processor <b>2801</b>, <b>2901</b> may include internal memory sufficient to store the application software instructions. In many devices the internal memory may be a volatile or nonvolatile memory, such as flash memory, or a mixture of both. For the purposes of this description, a general reference to memory refers to memory accessible by the processor <b>2801</b>, <b>2901</b> including internal memory or removable memory plugged into the device and memory within the processor <b>2801</b>, <b>2901</b> itself.
0127The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the steps of the various embodiments must be performed in the order presented. As will be appreciated by one of skill in the art the order of steps in the foregoing embodiments may be performed in any order. Words such as “thereafter,” “then,” “next,” etc. are not intended to limit the order of the steps; these words are simply used to guide the reader through the description of the methods. Further, any reference to claim elements in the singular, for example, using the articles “a,” “an” or “the” is not to be construed as limiting the element to the singular.
0128The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the aspects disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
0129The hardware used to implement the various illustrative logics, logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some steps or methods may be performed by circuitry that is specific to a given function.
0130In one or more exemplary aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on as one or more instructions or code on a non0-transitory computer-readable storage medium. The steps of a method or algorithm disclosed herein may be embodied in a processor-executable software module which may reside or be stored on a non-transitory computer-readable storage medium or processor-readable medium. Non-transitory computer-readable and processor-readable storage media may be any available media that may be accessed by a computer or processor. By way of example, and not limitation, such non-transitory computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of non-transitory computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable medium and/or computer-readable medium, which may be incorporated into a computer program product.
0131The preceding description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects without departing from the scope of the invention. Thus, the present invention is not intended to be limited to the aspects shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Contents5
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US11593668B2 | Cited by | United States of America | Applicant |
| FR3024009A1 | Cited by | France | Search report |
| WO2018160367A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2021119817A1 | Cited by | United States of America | Search report |
| US10582009B2 | Cited by | United States of America | Search report |
| US2018278718A1 | Cited by | United States of America | Search report |
| US11395108B2 | Cited by | United States of America | Applicant |
| US9961516B1 | Cited by | United States of America | Search report |
| KR20190039254A | Cited by | Republic of Korea | Search report |
| WO2018032470A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2017187868A1 | Cited by | United States of America | Search report |
| US9167392B2 | Cited by | United States of America | Applicant |
| US9288639B2 | Cited by | United States of America | Applicant |
| GB2574139A | Cited by | United Kingdom | Search report |
| US8948804B2 | Cited by | United States of America | Search report |
| DE112018001096B4 | Cited by | Germany | Search report |
| EP2950500A1 | Cited by | European Patent Office (EPO) | Search report |
| WO2015181353A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US10349225B2 | Cited by | United States of America | Search report |
| US2017346692A1 | Cited by | United States of America | Pre-grant |
| US10419601B2 | Cited by | United States of America | Search report |
| US10057730B2 | Cited by | United States of America | Applicant |
| WO2016149314A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US10819840B2 | Cited by | United States of America | Applicant |
| US10511707B2 | Cited by | United States of America | Applicant |
| US10051442B2 | Cited by | United States of America | Search report |
| US2022043541A1 | Cited by | United States of America | Search report |
| US9609491B2 | Cited by | United States of America | Search report |
| AU2018227365B2 | Cited by | Australia | Search report |
| US2013295982A1 | Cited by | United States of America | Pre-grant |
| US2017187868A1 | Cited by | United States of America | Pre-grant |
| US2017187868A1 | Cited by | United States of America | Search report |
| US10382269B2 | Cited by | United States of America | Search report |
| GB2567112A | Cited by | United Kingdom | Search report |
| GB2567112B | Cited by | United Kingdom | Search report |
| US10575143B2 | Cited by | United States of America | Applicant |
| AU2016419920B2 | Cited by | Australia | Search report |
| US11144176B2 | Cited by | United States of America | Applicant |
| WO2016190773A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| GB2574139B | Cited by | United Kingdom | Search report |
| US10999426B2 | Cited by | United States of America | Applicant |
| US11102621B2 | Cited by | United States of America | Search report |
| US2016277570A1 | Cited by | United States of America | Pre-grant |
24 members in 7 offices
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 201161554876 | United States of America | P | |
| 201161554876 | United States of America | P | |
| 201213661371 | United States of America | A | |
| 61554876 | – | – | – |
| US201161554876P | – | – | – |
| US201213661371 | – | – | – |
Members24
| Document | Office | Kind | |
|---|---|---|---|
| US2013109425A1 | United States of America | A1 | |
| US2013109426A1 | United States of America | A1 | |
| WO2013066888A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2013066893A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CN103918288A | China | A | |
| CN103918289A | China | A | |
| KR20140090229A | Republic of Korea | A | |
| KR20140092870A | Republic of Korea | A | |
| EP2774394A1 | European Patent Office (EPO) | A1 | |
| EP2774396A1 | European Patent Office (EPO) | A1 | |
| JP2014533038A | Japan | A | |
| JP2014533039A | Japan | A | |
| IN2342CHN2014A | India | A | |
| US9154925B2 | United States of America | B2 | |
| IN3640CHN2014A | India | A | |
| US9167392B2 | United States of America | B2 | |
| US2015341759A1 | United States of America | A1 | |
| KR20160010653A | Republic of Korea | A | |
| US9288639B2 | United States of America | B2 | |
| KR101617560B1 | Republic of Korea | B1 | |
| JP2016195418A | Japan | A | |
| JP6054982B2 | Japan | B2 | |
| KR101702195B1 | Republic of Korea | B1 | |
| JP6271438B2 | Japan | B2 |
72 transactions on the USPTO file
Allowed after 1 non-final rejection and 1 RCE.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Printer Rush- No mailingTCPB | TCPB | |
| Pubs Case Remand to TCPUBTC | PUBTC | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Response to Election / Restriction FiledELC. | ELC. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Restriction RequirementMCTRS | MCTRS | |
| Restriction/Election RequirementCTRS | CTRS | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Email NotificationEML_NTR | EML_NTR | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Application Is Now CompleteCOMP | COMP | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Sent to Classification ContractorPGPC | PGPC | |
| Preliminary AmendmentA.PE | A.PE | |
| Cleared by OIPE CSRL194 | L194 | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
6 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 20130109425
- Publication, DOCDB
- 2013109425
- Publication, EPODOC
- US2013109425
- Application
- 13661371
- Application, DOCDB
- 201213661371
- Application, EPODOC
- US201213661371
Titles
- English
- USER EXPERIENCE ENHANCEMENTS FOR CONTROLLING A GROUP COMMUNICATION
Classification
- CPC, 8
- H04W4/08
- H04W4/10
- H04L65/4061
- H04L65/1069
- H04M1/724631
- G06F3/04817
- G06F3/04842
- H04M1/72469
- IPC, 2
- H04W4 10
- H04M1 72469
- USPC, 2
- 455518000
- 455090200