The present invention relates generally to wireless communication systems and, in particular, to enabling 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 pinging the target mobile station (MS) and use the response or lack of it, as a presence “heart beat” signal.
Moreover, 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. Given the inefficiencies involved in current presence implementations, a need exists for a wireless communications network and method that enable wireless presence-based services more efficiently.
The need to enable wireless presence-based services more efficiently is addressed by embodiments of the present invention. In general, a wireless presence proxy (WPP) monitors the messaging and messaging responses of a mobile station (MS) via wireless transceiver equipment. Such messaging and messaging responses do not explicitly specify a presence state or state change for the MS. Thus, based upon this monitoring, the WPP infers the presence state/change for the MS and maintains MS location information. The WPP communicates any presence state changes and confirms MS presence state as required by the presence server(s) (225). By monitoring messaging, notifying the server(s) of MS presence, and handling server requests (potentially from many servers for the same MS), embodiments of the present invention reduce or avoid many existing inefficiencies, such as wide area paging and call set up and tear down for each presence ping, from each presence server.
The present invention encompasses a method for enabling wireless presence-based services in which a wireless communications network monitors messaging and messaging responses of a mobile station (MS). The messaging and the messaging responses do not explicitly specify a presence state of the MS or a presence state change by the MS. The wireless communications network infers a change in the presence state of the MS based upon the monitoring and communicates the state change to a presence server.
The present invention a iso encompasses a wireless communications network that includes wireless transceiver equipment adapted to receive messaging and messaging responses of a mobile station (MS). The wireless communications network also includes a wireless presence proxy (WPP), communicatively coupled to the wireless transceiver equipment. The WPP is adapted to monitor the messaging and the messaging responses of the MS, wherein the messaging and the messaging responses do not explicitly specify a presence state of the MS or a presence state change by the MS. The WPP is further adapted to infer a change in the presence state of the MS based upon the monitoring and to communicate the state change to a presence server.
The disclosed embodiments can be more fully understood with reference to
Wireless communication networks 210, 310, and 410 communicate with MSs 201 and 401 via CDMA 2000 air interface resources 205 and 405, as depicted in
Those skilled in the art will recognize that
WPP 415 can be implemented using well-known components such as processors, memory, and/or logic circuitry designed to implement algorithms that have been expressed as computer instructions and/or in circuitry. Given an algorithm or a logic flow, those skilled in the art are aware of the many design and development techniques available to implement a WPP that performs the given logic. For example, a WPP consistent with the present invention may be implemented as a stand-alone system component (e.g., a control function), incorporated into well-known system components (such as a control function in an MSC or as depicted by WPP 215 in PCF 214, e.g.), or distributed across well-known system components (as depicted by WPP 315 distributed across MSC 313 and PCF 314, e.g.).
Wireless communication network 210 is depicted in accordance with the first embodiment of the present invention. Network 210 includes well-known system components MSC/VLR 213 and PDSN 216. In addition, network 210 includes PCF 214, into which WPP 215 is incorporated, and BS 212, which includes WTE (such as WTE 211), BTSs, a base site controller (BSC), and a selection and distribution unit (SDU).
Operation of communication system 200 in accordance with the first embodiment of the present invention occurs substantially as follows. WPP 215 monitors the messaging and messaging responses of MS 201, as received via WTE 211. The messaging responses include signaling such as page responses, short data burst (SDB) acknowledgments, status response messages, short message service (SMS) acknowledgments, and layer 2 acknowledgments. The messaging includes MS indications that it is powering up or down, registering or deregistering, entering or exiting an unavailable mode, handing off outside or into wireless communication network 210, or involved in or completing other communication. Such signaling is used today in systems that do not provide presence services. Thus, such messaging responses do not require specialized software in MS 201 nor do they explicitly specify a presence state of MS 201 or a presence state change by MS 201. As a result, WPP 215 infers the presence state and/or state change of MS 201 based upon its monitoring. WPP 215 then communicates this presence state and/or state change for MS 201 to presence server 225. This communication occurs via PDSN 216 and uses internet messaging and Session Initiation Protocol (SIP).
To infer the presence state/change of MS 201, WPP 215 monitors the messaging and messaging responses of MS 201. For example, if MS 201's presence state indicates that it is present, WPP 215 can infer that MS 201's presence state has changed to a non-present state when WPP 215 detects messaging indicating that MS 201 is powering down, deregistering, entering an unavailable mode, handing off outside wireless communication network 210, and involved in other communication. Similarly, if MS 201's presence state indicates that it is non-present, WPP 215 can infer that MS 201's presence state has changed to a present state when WPP 215 detects messaging indicating that MS 201 is powering up, registering, exiting an unavailable mode, handing off into the wireless communication network, and performing other communication.
In the first embodiment, WPP 215 occasionally signals the MS with messaging to which the MS is required to respond. This signaling may be triggered by events such as a periodic timer expiration, the expiration of a timer set to a randomly chosen interval, or receiving a request (e.g., a ping request) from presence server 225. The messaging to which MS 201 is required to respond includes messaging such as a page, a short data burst (SDB) message, a status request message, and a short message service (SMS) message.
WPP 215 maintains (i.e., stores and/or updates) last-known-location information for MS 201 based on the messaging and the messaging responses WPP 215 monitors. This last-known-location information is a cell ID, in the first embodiment, although it may alternatively include a base station ID, a list of cell IDs, or a location area code (LAC). By storing location information in this manner, MS 201 can be signaled only in the cell (or cells) it is believed to be operating. This contributes to the efficiency of the first embodiment in supporting presence.
When WPP 215 receives a messaging response in response to the signaling it initiated, WPP 215 can infer that there is no change in the presence state of MS 201. It may be that MS 201 has changed location, i.e., MS 201 responds from a cell different than that indicated by WPP 215's last-known-location information for MS 201. In this case, WPP 215 updates its last-known-location information for MS 201. Also, WPP 215 may confirm the presence state of MS 201 (although it has not changed) to presence server 225. This confirmation may allow presence server 225 to reset its ping timer for MS 201. Likewise, WPP 215 may also use its inference that there is no change in the presence state of MS 201 to start or stop timers it uses for maintaining MS 201's presence state information.
WPP 215 may not receive a response to the signaling it initiated. WPP 215 will use a timer (or timers) to establish a response period in which to wait for a response, for any repeated signaling, and for attempts using other forms of signaling (such as MSC directed signaling, which is described below). When no response is received within the response period (i.e., a messaging response of no response), WPP 215 can infer a change in the presence state of MS 201 from present to non-present.
When WPP 215 initiates signaling to MS 201 according to its last-known-location information but BS 212 does not receive a response from MS 201, BS 212 requests MSC 213 to signal MS 201 using its paging area information for MS 201 (i.e., MSC directed signaling). If MS 201 has changed location, then MS 201 should respond, although from a cell different than that indicated by WPP 215's last-known-location information. In this way, MS 201's presence state can be confirmed and WPP 215's last-known-location information updated.
In the first embodiment, MS 201 responds on an access channel with layer 2 acknowledgment 504, which is received by BS 212. However, MS 201 need not have responded for BS 212 to send an indication to WPP 215 of whether or not a response from MS 201 was received. Specifically, BS 212 sends A9-Short Data Ack message 505 to WPP 215 indicating that MS 201 responded. From such messaging responses, WPP 215 can then infer MS 201's presence status. If necessary, WPP 215 updates or confirms this presence status with presence server 225 (via PDSN 216) using presence update/confirmation message 506. This presence server messaging is only necessary for presence state changes or when confirmation is requested by presence server 225.
While performing the monitoring loop, the wireless network also awaits triggers that indicate that it is time to check the MS's presence status. Such triggers include the expiration of network presence timers and the receipt of presence server requests. When (614) a triggering event occurs, the network signals (616) the MS where indicated by the last-known-location information with messaging to which the MS is required to respond. Logic flow 600 then returns to block 614 to continue this signaling loop.
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,” o r 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 present application claims priority from provisional application Ser. No. 60/486,684, entitled “WIRELESS COMMUNICATIONS NETWORK AND METHOD FOR ENABLING WIRELESS PRESENCE-BASED SERVICES,” filed Jul. 11, 2003, which is commonly owned and incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60486684 | Jul 2003 | US |