This invention relates in general to wireless communication systems that provide push-to-talk services for wireless communication devices, and more particularly, to determining availability of members of contact lists, which are used in push-to-talk service.
In the field of wireless communication, PTT (Push-to-talk) service has increased in popularity. A wireless communication device that includes PTT capability has a user interface that includes a PTT button. Typically, the user manipulates the user interface to cause a list of predetermined PTT groups or individuals to appear on a display. Using selection keys, the user highlights an individual or group to call. Then, the user presses and holds the PTT button. When a connection is confirmed, the user can speak to the individual or the entire group that was selected. Thus, a group call can be conducted in a much shorter time and less expensively than other types of conference calls.
When a list of group members, or contacts, appears on the display, it is desirable to indicate which contacts are available. That is, for example, which contacts have their devices turned on and are located in a PTT service area. A current method for updating the availability of contacts is based on a periodic timer. A PTT client periodically registers with a PTT controller, which is part of the infrastructure of the wireless communication system. If a PTT client device fails to register with the PTT controller for two consecutive timer intervals, then the PTT client device is considered to be unavailable by the PTT controller. Therefore, the contact list can be stale for a time that is equal to three times the timer interval. That is, for example, the PTT controller allows an unavailable PTT client device to miss two registrations before determining the PTT client device to be unavailable. A third timer interval is required for the PTT controller to update the contact lists of all members that include the unavailable member on their contact lists. If the timer interval is fifteen minutes, then the availability of a given PTT client device can be stale for as long as forty-five minutes.
In addition, the current method of monitoring availability of contacts requires that contact list updates be performed periodically, regardless of whether there has been a change in availability of contacts. This is an inefficient use of RF channel capacity by the wireless communication devices.
The accompanying figures where like reference numerals refer to identical or functionally similar elements throughout the separate views and which together with the detailed description below are incorporated in and form part of the specification, serve to further illustrate various embodiments and to explain various principles and advantages all in accordance with the present invention.
The present disclosure concerns communications systems that provide services such as voice and data communications services to communications devices or units, often referred to as subscriber devices, such as cellular phones.
More particularly various inventive concepts and principles embodied in a method for determining availability of wireless communication devices that include PTT-clients (Push-to-Talk-clients) are discussed. The wireless communication device can be any of a variety of wireless communication devices, such as a cellular handset or equivalents thereof.
The communication devices that are of particular interest are those that provide or facilitate voice communication services, and/or data or messaging services, such as conventional two way systems and devices, various cellular phone systems including digital cellular, CDMA (code division multiple access) and variants thereof, GSM, GPRS (General Packet Radio System), 2.5 G and 3G systems such as UMTS (Universal Mobile Telecommunication Service) systems, integrated digital enhanced networks, and variants or evolutions thereof. Similarly, the communication systems and devices can include LAN (local area network) systems that employ any one of a number of networking protocols, such as TCP/IP (Transmission Control Protocol/Internet Protocol), or any other packet structures.
As further discussed below various inventive principles and combinations thereof are advantageously employed to provide a method and apparatus for keeping a contact list current on a client device, thus alleviating various problems associated with known wireless communication units provided these principles or equivalents thereof are employed.
The instant disclosure is provided to further explain in an enabling fashion the best modes of making and using various embodiments in accordance with the present invention. The disclosure is further offered to enhance an understanding and appreciation for the inventive principles and advantages thereof, rather than to limit in any manner the invention. The invention is defined solely by the appended claims including any amendments made during the pendency of this application and all equivalents of those claims as issued.
It is further understood that the use of relational terms, if any, such as first and second, top and bottom, upper and lower and the like are used solely to distinguish one from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions.
The terms “a” or “an” as used herein are defined as one or more than one. The term “plurality” as used herein is defined as two or more than two. The term “another” as used herein is defined as at least a second or more. The terms “including,” “having” and “has” as used herein are defined as comprising (i.e., open language). The term “coupled” as used herein is defined as connected, although not necessarily directly and not necessarily mechanically.
Much of the inventive functionality and many of the inventive principles may be implemented with or in software programs or instructions and integrated circuits (ICs) such as application specific ICs. It is expected that one of ordinary skill, notwithstanding possibly significant effort and many design choices motivated by, for example, available time, current technology, and economic considerations, when guided by the concepts and principles disclosed herein will be readily capable of generating such software instructions and programs and ICs with minimal experimentation. Therefore, in the interest of brevity and minimization of any risk of obscuring the principles and concepts according to the present invention, further discussion of such software and ICs, if any, will be limited to the essentials with respect to the principles and concepts used by the preferred embodiments.
Basically, as shown in
The first device 118, the second device 122, and the third device 126 have antennas 120, 124, and 126 respectively for communicating with the PTT controller 112 through the wireless communication system 114. In the illustrated embodiment, a wireless network is established among the wireless communication system 114 and the PTT client devices 118, 122, and 126, and the network employs, for example, Internet Protocol for PTT communication between the client devices 118, 122, and 126 and the wireless communication system 114. In this embodiment, each of the client devices 118, 122, and 126 has a different IP address. However, other protocols and other types of communication can be established.
In this embodiment, each of the client devices 118, 122, and 126 is a mobile telephone that provides PTT service and other services; however, the client devices 118, 122, and 126 may include other portable wireless communication devices, such as handheld computers, for example.
The user interface 228 includes conventional keys for operating a mobile telephone. In addition, the user interface includes a push-to-talk button (not illustrated) for initiating a PTT communications. The user interface further includes a display 226, which is a conventional display and is capable of displaying contact lists for PTT communications. When a contact list is displayed, the display indicates which members of the contact list are available, as discussed in more detail below.
The controller 220 includes a processor 230, which is coupled to a memory 232. The memory 232 stores the following: an operating system 234; at least one contact list and the availability status of each member of the contact list 236; a process, or routine, for notifying the PTT controller 112 of the availability status of the first client device 118; a process, or routine, for updating the PTT contact list 236; and other data and processes 242 for performing other operations of the device 118.
Any of several events can change the PTT availability of the first client device 118. For example, if the first client device 118 is turned off or loses power, the processor 230 determines in a decision 312 that a change has occurred in the availability of the first client device 118 to perform PTT communications. If the first client device 118 is powered down, the processor 230 determines that the first client device 118 is unavailable for PTT communications. Also, if a user is making a non-PTT voice call on the first client device 118, the processor 230 may determine that the first client device 118 is unavailable for PTT communications. In addition, PTT communication may be disabled in the first client device 118, in which case the processor 230 would determine that the first client device 118 is unavailable for PTT communication. In a further example, when the PTT service of this embodiment requires digital communications, if the first client device 118 moves into an analog service area, the processor 230 will determine that the first client device 118 is unavailable for PTT communications. The availability status may be stored in the memory 522 as a flag, for example.
Subsequently, at a decision 312, the processor 230 determines whether a change has occurred in the PTT availability. If the outcome of the decision 312 is positive, in an operation 314, the first client device 118 sends a message to the PTT controller 112 indicating that the first client device 118 is unavailable or available, whichever the case may be. A messaging protocol known as SIP (Session Initiation Protocol) may be employed for this purpose. Alternatively, the message may simply indicate that a change has occurred. For example, if the first client device 118 has been powered down, in the operation 314 a message is sent to the PTT controller 112 during the powering down procedure indicating that the first client device 118 is unavailable for PTT communications.
If the outcome of the decision 312 is negative, the processor 520 will continue to monitor the first client device 118 for changes in PTT availability as shown in
The controller 512 includes a processor 520, which is coupled to a memory 522. The memory 522 includes the following: an operating system 524, for operating the PTT controller 112; an availability update process 526, for updating the availability of each of the first, second and third devices 118, 122, 126; a first device contact list 528; a second device contact list 530; and a third device contact list 532; and other data and processes 534 for operating the PTT controller 112.
Subsequently, in a decision 620, the processor 520 determines whether a change in availability of any member of one of the contact lists 528, 530, 532 has occurred. If the outcome of the decision 620 is positive, that is, when a status update message is received from one of the devices 118, 122, and 126, in an operation 622, the processor 520 stores the availability information in the appropriate contact lists 528, 530, 532. For example, if a message is received from the first client device 118 indicating that the first client device 118 is unavailable, then the first device's status is updated in the second device's contact list 530 and in the third device's contact list 532. In a further example, if a message is received by the PTT controller 112 from the third device 126 indicating that the third device 126 is available, then the processor 520 updates the third device' availability status in the first device's contact list 528 and in the second device's contact list 530.
Further, in the operation 622, the PTT controller 112 sends a wireless message to the relevant client devices indicating the new availability status information. For example, if the first client device 118 has become unavailable, the PTT controller 112 sends a message to the second device 122 and the third device 126 indicating the new availability information. For example, if a PTT contact list update message is sent to the second client device 122, the message may deliver data representing the second device's entire contact list and corresponding availability information 530. Alternatively, the message may contain only information that has changed since the last time an update message was sent.
If the outcome of the decision 620 is negative, i.e., there have been no changes in availability of any contact list member, then the processor 520 continues to monitor messages from the first, second and third client devices 118, 122, 126 for changes in their PTT availability status. According to
According to
In an operation 710, a contact list timer is set. The contact list timer runs for a predetermined period of time after being set. In a decision 710, the processor 520 determines whether the contact list timer has expired. If the timer has not expired, i.e., the outcome of the decision 720 is negative, the processor 520 monitors messages from the client devices 118, 122, 126 for messages indicating a change in PTT availability of any member of one of the contact lists 528, 530, 532. The operation 726 in the process of
Subsequently, in a decision 728, the processor 520 determines whether a change has occurred in the availability of any member of any of the contact lists 528, 530, 532. If the outcome of the decision 728 is negative, that is, if no changes in availability have occurred, the process returns to the decision 720, and the processor 520 determines whether the timer has expired. If a change in availability of any of the client devices 118, 122, 126 occurs, in an operation 730 the processor 520 updates the relevant contact lists in the memory 522 in the manner described in the description of
Further, in the operation 730, update messages are prepared for each of the client devices 118, 122, 126 affected by the change. However, instead of sending the messages immediately, the messages are placed in a queue. Subsequently, the process returns to the decision 720, and the processor 520 again determines whether the timer has expired.
If the timer has expired at the decision 720, it is determined whether the queue is empty at decision 722. If the queue is empty, the timer is reset at the operation 710 and the process is repeated. If the queue is not empty, the update messages being stored in the queue are sent to relevant ones of the client devices 118, 122, 126.
The process of
Referring to
Subsequently, in a decision 820, the processor determines whether a change has occurred in the availability of any member of any of the contact lists 528, 530, 532. If a change in availability has occurred; that is, if a message is received from one of the client devices 118, 122, 126 indicating a change in PTT availability, an operation 822 is performed. In the operation 822, the processor 520 updates the contact lists 528, 530, 532 that are affected, as mentioned in the description of operation 622 of
Then, in an operation 824, a contact list timer is set. The contact list timer runs for a predetermined period of time after being set. In a subsequent decision 826, the processor 520 determines whether the contact list timer has expired. If the timer has not expired, i.e., the outcome of the decision 826 is negative, in an operation 832, the processor 520 monitors messages from the client devices 118, 122, 126 for messages indicating a change in PTT availability of any member of one of the contact lists 528, 530, 532. The operation 832 in the process of
Subsequently, in a decision 834, the processor 520 determines whether a change has occurred in the availability of any member of any of the contact lists 528, 530, 532. If a change in availability of any of the client devices 118, 122, 126 occurs, in an operation 836, the processor 520 updates the relevant contact lists in the memory 522 in the manner of operation 622 of
Further, in the operation 836, update messages are prepared for each of the client devices 118, 122, 126 affected by the change. However, instead of sending the messages immediately, the messages are placed in a queue. Subsequently, the process returns to the decision 826, and the processor 520 again determines whether the timer has expired. Also, if no changes in availability have occurred at the decision 834, the process returns to the decision 826, and the processor 520 determines whether the timer has expired. If the timer has expired at the decision 826, it is determined whether the queue is empty at a decision 828. If the queue is empty, the operation 810 and subsequent parts of the process are performed. If the queue is not empty, the update messages being stored in the queue are sent to relevant ones of the client devices 118, 122, 126.
Thus, the process of
The apparatus and methods discussed above and the inventive principles thereof are intended to and can alleviate problems with conventional wireless communication units. Using these principles of keeping a contact list current in a client device will improve the staleness of contact list information and contribute to user satisfaction. It is expected that one of ordinary skill given the above described principles, concepts and examples will be able to implement other alternative procedures and constructions that offer the same or similar benefits. It is anticipated that the claims below cover many such other examples. For example, the illustrated embodiments assume that each of the first, second and third client devices 118, 122, and 126 are on the other's contact list and each client device 118, 122, 126 has only one contact list. However, each client device 118, 122, 126 may have several contact lists, and each client device 118, 122, 126 may be a member of more than one contact list. Further, not all of the client devices 118, 122, 126 are necessarily members of all the contact lists.
The disclosure is intended to explain how to fashion and use various embodiments in accordance with the invention rather than to limit the true, intended and fair scope thereof. The forgoing description is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications or variations are possible in light of the above teachings. The embodiments were chosen and described to illustrate the principles of the invention and its practical application, and to enable one of ordinary skill in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the invention as determined by the appended claims, as may be amended during the pendency of this application for patent, and all equivalents thereof, when interpreted in accordance with the breadth to which they are fairly, legally, and equitably entitled.