The present invention relates generally to wireless communication systems and, in particular, to facilitating wireless presence-based services in such systems.
Presence services, such as instant messaging (IM), are well-known to Internet users. These services are also part of 3rd generation (3G) wireless offerings. However, the current wireless paradigm does not handle these services very efficiently. For example, existing presence servers typically maintain presence information by periodically communicating with the target-mobile station (MS) and use the response or lack of it, as a presence “heart beat” signal. This pinging may occur every 5 minutes or so for each MS.
Moreover, presence state changes for an MS are pushed to all units that include that MS in their buddy lists. Add to all of this that each individual service may track presence independent of other services. For example, different IM services may each perform their own pinging of the target MS to obtain substantially the same information and then push substantially the same changes, independently, to units according to their buddy lists. Given the inefficiencies involved in current presence implementations, a need exists for a method and apparatus for facilitating wireless presence-based services more efficiently.
The need to facilitate wireless presence-based services more efficiently is addressed by embodiments of the present invention. In general, a wireless presence proxy (WPP) caches presence updates (such as buddy list presence updates) from a presence server for a mobile station (MS). The WPP maintains presence information, which reflects the presence updates received, for transfer to the MS when an update condition exists. Thus, updates are made when, for example, a resource-efficient condition is present, such as the assignment of a traffic channel for other call activity. The WPP also updates the presence server, on behalf of the MS, when the MS presence status changes. In this manner, the embodiments described are able to reduce the system resources required to facilitate wireless presence-based services.
The disclosed embodiments can be more fully understood with reference to
Those skilled in the art will recognize that
WPPs, like PCFs, can be implemented using well-known components such as, but not limited to, microprocessors, microcontrollers, memory devices, and/or logic circuitry. Such components are typically adapted to implement algorithms and/or protocols that have been expressed using high-level design languages or descriptions, expressed using computer instructions, expressed using messaging flow diagrams, and/or expressed using logic flow diagrams. Thus, given an algorithm, a logic flow, a messaging flow, and/or a protocol specification, those skilled in the art are aware of the many design and development techniques available to implement a WPP that performs the given logic. Therefore, PCF/WPPs 131 and 132 represent common platforms that support both WPP functionality and PCF functionality.
However, WPPs need not be implemented with PCFs. For example,
As depicted in
IS-2000 terminology refers to remote units as mobile stations (MSs); however, remote units are not necessarily mobile or able to move. Thus, remote unit/MS platforms are known in the art to include devices such as mobile phones, computers, personal digital assistants, gaming devices, etc. In particular, MSs 101 and 102 each respectively comprise processors 105 and 106, transceivers 107 and 108, keypads (not shown), speakers (not shown), microphones (not shown), and displays (not shown). Processors, transceivers, keypads, speakers, microphones, and displays as used in MSs are all well-known in the art.
For example, MS processors are known to comprise basic components such as, but not limited to, microprocessors, digital signal processors (DSPs), microcontrollers, memory devices, and/or logic circuitry. Such MS components are typically adapted to implement algorithms and/or protocols that have been expressed using high-level design languages or descriptions, expressed using computer instructions, expressed using messaging flow diagrams, and/or expressed using logic flow diagrams. Thus, given an algorithm, a logic flow, a messaging flow, and/or a protocol specification, those skilled in the art are aware of the many design and development techniques available to implement an MS that performs the given logic. Thus, MSs 101 and 102 represent known MSs that have been adapted, in accordance with the description herein, to implement embodiments of the present invention.
Operation of communication system 200 in accordance with multiple embodiments of the present invention occurs substantially as follows. Although system 200 comprises WPPs, a portion of the embodiments supported by the present invention do not require a WPP at all. For example,
Messaging 404 represents a presence update request message sent to presence server 161 by processor 105 via transceiver 107. Since MS 101 is involved in a voice call, the presence update request is sent to presence server 161 via short message service (SMS) messaging and TCH 113. In response, processor 105 receives updated buddy list presence information (represented by messaging 406) from presence server 161 via SMS/e-mail messaging, TCH 113, and transceiver 107. The presence update request (messaging 404) is routed by MSC 171 to SMSC 181. SMSC 181 sends the content of the SMS message to presence server 161. Presence server 161, knowing that MS 101 is now on a TCH, sends a presence update response to MS 101 (presence server 161 to SMSC 181, SMSC 181 to MSC 171, MSC 171 to BS 121, then BS 121 to MS 101). Thus, without requiring a WPP, a unit may indicate to a presence server that it has a TCH and may opportunistically receive presence updates using that TCH. This is more resource efficient than prior art presence updates which involve obtaining a TCH merely for presence updates independent of call activity.
Messaging 504 represents data connection establishment involving MS 101, BS 121, PCF/WPP 131, and PDSN 141. In the embodiments depicted by
When MS 101 completes the data call, its session transitions from active to dormant; TCH 113 is released (messaging 510) and the data connection is torn down (messaging 512). When PCF/WPP 131, detects that MS 101 has gone dormant (e.g., its associated A8 connection being released), WPP processor 135 via network interface 137 subscribes (messaging 514) to the presence service as a proxy for MS 101. As MS 101's presence proxy, then, WPP processor 135 via network interface 137 subsequently receives presence update messaging from presence server 161 on behalf of MS 101.
WPP processor 135 updates MS 101 with presence information from this maintained information when certain conditions exist. In some embodiments, a predefined period of time may be set to ensure that MS 101 is updated at least as often as this period elapses. For example, this time period may be measured from the time that the oldest change was made to MS 101's maintained information since the last update.
In general, PCF/WPP 131 should update MS 101 with presence information when wireless resource-efficient conditions are present. Such conditions include times when MS 101 is assigned a TCH for other services. The presence updates can thus be sent using already assigned resources rather than having to allocate separate resources. Also, when MS 101 is in semi-dormant mode, information known about MS 101's location can enable more efficient resource use, e.g., limiting use to only resources in the location of MS 101. Therefore, when updates are cached and PCF/WPP 131 receives an indication that MS 101 is assigned a TCH or an indication that MS 101 is in a semi-dormant mode, presence information is sent to MS 101. Examples of indications that MS 101 is assigned a TCH include an indication of a call origination by MS 101, an indication of call activity involving MS 101, and an indication of a TCH assignment to MS 101.
Messaging 604 represents call origination and channel assignment messaging involving MS 101, BS 121, and MSC 171. Messaging 604 includes a traffic channel assignment for TCH 113 to support MS 101's call origination. This channel assignment is received by processor 105 via transceiver 107. If messaging 604 involved a data call origination, a reconnect, or a semi-dormant transition, PCF/WPP 131 would be involved in the data connection establishment and thus aware that MS 101 was assigned a TCH. However, since messaging 604 involves a voice call origination, PCF/WPP 131 requires some other indication of MS 101's TCH assignment. In some embodiments, MS 101 provides such an indication. For example, as represented by messaging 606, processor 105 sends a presence update request to PCF/WPP 131 via transceiver 107 and TCH 113. This request may also indicate the type of call MS 101 has requested, a voice call in this example.
In response to MS 101's request, WPP processor 135 via network interface 137 sends presence information (messaging 608) from the buddy list presence information it has been maintaining to update MS 101. This presence information is received by MS processor 107 via TCH 113 and transceiver 107. Just as the call request in messaging 604 may be sent by MS 101 via short data burst (SDB) messaging, so too may the presence information from PCF/WPP 131 be received by MS 101 via SDB messaging. In some alternative scenarios, however, such as those in which MS 101 is involved in a data call, MS 101 may instead receive the presence information simply in the form of ordinary data on. TCH 113.
For example, messaging 706 represents such an update to presence server 161. Specifically, WPP processor 135 via network interface 137 updates presence server 161 with a status of available for MS 101 in response to receiving an indication of MS 101's registration. Another situation in which PCF/WPP 131 may provide an available status update for MS 101 would be in response to receiving an indication of an available-busy for MS 101. Similarly, PCF/WPP 131 may provide an unavailable status update for MS 101 in response to receiving indications such as an indication of a cellular deregistration by MS 101, an indication of a “power off” by MS 101, an indication of a presence deregistration by MS 101, or an indication of an application service deregistration by MS 101.
In response to the status update of messaging 706, presence server 161 may send presence updates for members of MS 101's buddy list (messaging 708). Since in the example of
As depicted in
In response to the status update of messaging 806, presence server 161 may send presence updates for members of MS 101's buddy list (messaging 808). In the example of
When MS 101 completes the voice call and TCH 113 is released (messaging 812), PCF/WPP 131 receives an indication (messaging 814) from MSC 171 that MS 101 has completed its voice call. In response to receiving the indication of MS 101's call completion, PCF/WPP 131 updates presence server 161 with a status of available on behalf of MS 101.
In the foregoing specification, the present invention has been described with reference to specific embodiments. However, one of ordinary skill in the art will appreciate that various modifications and changes may be made without departing from the spirit and scope of the present invention as set forth in the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of the present invention. In addition, those of ordinary skill in the art will appreciate that the elements in the drawings are illustrated for simplicity and clarity, and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the drawings may be exaggerated relative to other elements to help improve an understanding of the various embodiments of the present invention.
Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments of the present invention. However, the benefits, advantages, solutions to problems, and any element(s) that may cause or result in such benefits, advantages, or solutions, or cause such benefits, advantages, or solutions to become more pronounced are not to be construed as a critical, required, or essential feature or element of any or all the claims. As used herein and in the appended claims, the term “comprises,” “comprising,” or any other variation thereof is intended to refer to a non-exclusive inclusion, such that a process, method, article of manufacture, or apparatus that comprises a list of elements does not include only those elements in the list, but may include other elements not expressly listed or inherent to such process, method, article of manufacture, or apparatus.
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 and/or having, 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. The terms program, computer program, and computer instructions, as used herein, are defined as a sequence of instructions designed for execution on a computer system. This sequence of instructions may include, but is not limited to, a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a shared library/dynamic load library, a source code, an object code and/or an assembly code.
This application is related to a co-pending application entitled “METHOD AND APPARATUS FOR FACILITATING A PTT SESSION INITIATION USING AN IP-BASED PROTOCOL,” filed on even date herewith, assigned to the assignee of the present application, and hereby incorporated by reference. This application is related to a provisional application, Ser. No. 60/486684, entitled “WIRELESS COMMUNICATIONS NETWORK AND METHOD FOR ENABLING WIRELESS PRESENCE-BASED SERVICES,” filed Jul. 11, 2003. This application is related to a provisional application, Ser. No. 60/527603, entitled “METHOD AND APPARATUS REDUCING PTT CALL SETUP DELAYS,” filed Dec. 5, 2003.
Number | Date | Country | |
---|---|---|---|
60486684 | Jul 2003 | US | |
60527603 | Dec 2003 | US |