# Patent

## Title
System and method of managing information distribution to mobile stations

## Abstract

A system for managing information distribution to a mobile station in communication with a wireless network includes a host service operable to receive a data item associated with the mobile station and determine whether a network resource is associated with the mobile station, and upon a negative determination is further operable to transmit an out-of-band message to the mobile station to instruct the mobile station to acquire the network resource.

## Background
This application claims benefit of U.S. Provisional Application Ser. No. 60/340,300, filed Dec. 7, 2001, the entire disclosure of which is incorporated herein by reference.


BACKGROUND
1. Field of the Invention
The present invention is directed to the field of data communications in a wireless network. More particularly, the present invention relates to a system and method for managing information distribution to mobile stations in a wireless network.
2. Description of the Related Art
Emerging wireless data networks, such as the General Packet Radio Service (GPRS) network, may utilize the Internet Protocol (IP) for routing data to mobile stations. The most popular IP standard, IP version 4 (IPv4), has limited addressing capability and thus utilizes a dynamic addressing scheme. In the dynamic addressing scheme, a pool of available network addresses is dynamically assigned to a much greater pool of mobile stations depending on which mobile stations are accessing the network. Additional network resources, such as a Packet Data Protocol (PDP) context in the GPRS network, are allocated to mobile stations when the mobile stations are accessing the network.
An emerging IP standard, IP version 6 (IPv6), provides substantially permanent IP addresses due to a much larger address space, and thus the dynamic addressing scheme used in IPv4 is unnecessary. In an IPv6 network, however, additional network resources, such as the PDP context in the GPRS network, are still dynamically allocated to mobile stations when the mobile stations are accessing the network.
SUMMARY
A system for managing information distribution between a computer network and mobile stations in communication with a wireless network comprises one or more host services and a network resource monitor. Each host service is operable to receive data items associated with mobile stations, and for each data item, to determine from a resource status of network resources associated with the mobile stations whether a network resource is associated with a mobile station. Upon a negative determination, each host service is further operable to transmit an out-of-band message (or signal) to the mobile station to instruct the mobile station to acquire the network resource and to transmit the data item to the mobile station upon receiving a confirmation message that the mobile station has acquired the network resource. The network resource monitor is in communication with the wireless network and the one or more host services and is operable to track the resource status of network resources associated with the mobile stations and to automatically transmit the resource status to the one or more host services.
Another system for managing information distribution to a mobile station in communication with a wireless network comprises a host service operable to receive a data item associated with the mobile station and determine whether a network resource is associated with the mobile station, and upon a negative determination is further operable to transmit an out-of-band message to the mobile station to instruct the mobile station to acquire the network resource.
Another system for managing information distribution between a host service in communication with a computer network and a mobile station in communication with a wireless network comprises a mobile station. The mobile station comprises a processing subsystem, a communication subsystem, and a memory subsystem, and is operable to receive an out-of-band network resource request over the communication subsystem and in response to the network resource request obtain a network resource in the wireless network and transmit a confirmation message to the host service indicating the mobile station has acquired the network resource.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is an illustration of a system for managing information distribution to mobile stations in a wireless network;
FIG. 2 is an illustration of an embodiment of the system that provides IP tunneling between a mobile station and a host system;
FIG. 3 is a flow diagram illustrating a method of managing information distribution to mobile stations in a wireless network carried out at a host system;
FIG. 4 is a flow diagram illustrating a method of managing information distribution to mobile stations in a wireless network carried out at a mobile station;
FIG. 5 is an illustration of an embodiment of the system that provides an HTTP communication between a mobile station and a host system;
FIG. 6 is a flow diagram illustrating another method of managing information distribution to mobile stations in a wireless network carried out at a mobile station;
FIG. 7 is an illustration of an embodiment of the system for managing information distribution to mobile stations in an IPv6 wireless network;
FIG. 8 is an illustration of an embodiment of the system that includes a network resource monitor in communication with the wireless network and the host system; and
FIG. 9 is a flow diagram illustrating a method of managing information distribution to mobile stations in a wireless network carried out at a network resource monitor.



DETAILED DESCRIPTION
FIG. 1 is an illustration of a system for managing information distribution from host systems 100 and 120 to mobile stations 152 and 154 in communication with a wireless network 144 and voice wireless network 146. While only two host systems 100 and 120 and two mobile stations 152 and 154 are shown, the system can include additional host systems and mobile stations.
The host system 100 is illustratively a computer device 102, such as a mail server connected to a Local Area Network (LAN), running a redirector software program 104. The redirector software 104 operates in conjunction with the mail server 102 to redirect user selected information to the mobile stations 152 and 154. An exemplary mobile station may be of the type disclosed in U.S. Pat. No. 6,278,442, entitled “HAND-HELD ELECTRONIC DEVICE WITH A KEYBOARD OPTIMIZED FOR USE WITH THE THUMBS,” the entire disclosure of which is incorporated herein by reference. Furthermore, an exemplary redirector software program may be of the type disclosed in U.S. Pat. No. 6,219,694, entitled “SYSTEM AND METHOD FOR PUSHING INFORMATION FROM A HOST SYSTEM TO A MOBILE DATA COMMUNICATION DEVICE HAVING A SHARED ELECTRONIC ADDRESS,” the entire disclosure of which is incorporated herein by reference.
The redirector software 104 may exist on any machine within the corporate environment 100, preferably behind a firewall 108 operating within the LAN. A Virtual Private Network (VPN) server 106 allows users to connect to corporate services via the Internet 130. VPN servers 106 provide higher security and tunneling of network requests over the Internet 130.
The host system 120 includes another computer device 122, such as a web server, running web server software 124 that can include direct Wireless Access Protocol (WAP) support. WAP support provides mobile station 152 and 154 compatible web content for small Personal Digital Assistants (PDAs), phones and other types of mobile stations. The web server 122 may also be running an information transcoder that can efficiently transcode a first data type received at the web server 122 into a second data type of reduced size for transmission to mobile stations 152 and 154. Similarly, the web server 122 may be running an ASP (Application Service Provider) solution such as AOL, or a web portal such as Yahoo, or a wireless web solution such as GoAmerica, or some private web service offering. Usually, the web server 122 is protected by a firewall 126.
The system manages information distribution to the mobile stations 152 and 154 so that data items may be delivered asynchronously to the mobile stations 152 and 154 that are in communication with the wireless network 144 and 146. The IP-based wireless network 144 and voice wireless network 146 are illustratively IP-based networks comprising a private set of IP addresses. The wireless networks 144 and 146 are preferably implemented as one network, supporting both data and voice communications, respectively, for the mobile stations 152 and 154 though a base station 148. One example of such a network is the Global System for Mobile communications (GSM) network and GPRS network that is available world-wide and can support both voice and data through the base station 148.
The networks 144 and 146 include a network infrastructure 143 to support network services, such an Access Point Nodes (APNs) 142, SMS data services, PDP Context Allocation services 150 and Dynamic Host Configuration Protocol (DHCP) interface services 140 and others. For example, in GPRS, a PDP context is used to open an IP tunnel over the GSM/GPRS network infrastructure. The PDP context allocation 150 component is linked with DHCP services, as each PDP context is automatically assigned an IP address through DHCP. Because the wireless networks 144 and 146 operate a private, dynamically-assigned IP address space, the DHCP server 140 is responsible for allocating and deallocating network addresses to the mobile stations 152 and 154. This operation occurs in conjunction with the PDP context allocation component 150.
SMS services are available within a GSM network. The SMS messages are commonly routed over the voice network 146. Alternatively, the SMS messages may also be routed over the IP-based wireless data network 144.
FIG. 2 is an illustration of an embodiment of the system that provides IP tunneling between a mobile station 220 and a host system 200. The host system 200 illustratively comprises a host service 204, such as a mail or web server computer device as described with reference to FIG. 1.
Steps 21–26 describe the process of pushing information from the host system 200 to the mobile station 220. In this embodiment, the network infrastructure 143 provides tunneling of IP packets from the Internet 130 to the mobile station 220. Such tunneling is supported through a network address translation (NAT) router, or by using a virtual private network (VPN), which is available from a wide variety of network vendors such as Cisco Systems and Nortel Networks.
Step 21 occurs upon the arrival of information data items 202 that are to be pushed to a mobile station 220. The data items 202 can be, for example, e-mail messages, web site requests, search requests, database inquiries, phone calls, calendar alarms, to-do list items, workgroup related items, voice mail messages or database items that have changed, CRM or ETP data items, etc. Data items 202 associated with the mobile station 220 are pushed to the mobile station. A data item 202 is associated with the mobile station 220 if it is addressed directly to the mobile station, or addressed to an electronic address at which data items 202 are repeated to the mobile station. Other association methods may also be used.
Although not required in the system, a resource monitor, such as a DHCP monitor/database server 210, can be in communication with the network 144. The resource monitor 210 may communicate with the host service 204 via the networks 144 and/or 130, or alternatively may communicate via a separate data channel. The resource monitor 210 monitors DHCP traffic using a TCP/IP port splitter. One such TCP/IP port splitter is available on Cisco System routers as a built-in feature. The resource monitor 210 can provide an automatic update of the status of a network resource, such as the network 144 domain and an IP address or PDP context allocated to the mobile stations 220. The detailed operation of the resource monitor 210 is shown and described with reference to FIGS. 8 and 9.
Upon the arrival of the data item 202, the host service 204 determines if there is a network resource, illustratively an IP address, allocated for the mobile station 220. The IP address shown in mobile station 220 is simply representative of the data portion of the dual-mode mobile station 220 capable of both voice and data communications. The determination of whether there is a network resource allocated to the mobile station 220 may be made, for example, by accessing resource allocation status data of mobile stations stored at the host service 204. If there is no IP address allocated to the mobile station 220, or if NAT and VPN services are not available from the IP-based wireless network 144, then the host service 204 performs step 22, and sends a resource request message to the mobile station 220 via an out-of-band communication channel. One such out-of-band communication is an SMS message. SMS services are provided by an SMS Center, which is included in the network infrastructure 143. The SMS message utilizes the mobile station's 220 Mobile Station International ISDN Number (MSISDN) or phone number 224 for addressing. The SMS Phone number value shown in mobile station 220 is simply representative of the voice portion of the dual-mode mobile station 220 capable of both voice and data communications.
The SMS Phone number value shown in mobile station 220 is simply representative of the voice portion of the dual-mode mobile station 220 capable of both voice and data communications. Although the SMS message can be sent over the voice or data protocols implemented in base station 148, the MSISDN is still used for out-of-band addressing and an IP data exchange is not involved with the transfer of information.
The resource request message includes a command indicating that the mobile station 220 should setup a PDP context and acquire an IP address. The SMS message may arrive on either the voice network 146 or, in a network such as GSM/GPRS, on the data network 144, as a GSM/GPRS network supports SMS messaging. Although in a GPRS network the network resource is a PDP Context, in other IP-based wireless networks other corresponding network resources may be acquired.
The resource request message also includes data that indicates whether the resource monitor 210 is in communication with the DHCP server 140. Upon receiving the resource request message, the mobile station 220 performs all necessary steps in step 23 to acquire the network resource, such as the IP address 222. The process of acquiring the network resource may vary depending on the type of wireless network and the communication protocol implemented in the network. For example, step 23 would result in the establishment of a PDP context in a GPRS network if a PDP context were not already present.
In another embodiment, acquiring network resource by the mobile station 220 is subject to user intervention. In this embodiment, the user is notified via the SMS message received at the mobile station 220 that a data item is pending delivery to the mobile station 220. The user is then able to determine the content of the data item via a small portion of the data item being displayed on an I/O device in the mobile station 220 and determine if they are willing to pay for delivery of the entire data item.
Once the IP address 222 is acquired by the mobile station 220, the mobile station 220 checks the resource request message to determine if it needs to transmit the new IP address 222 to the host service 204. If the resource request message indicates that the resource monitor 210 is in communication with the DHCP server 140, then the resource monitor 210 will automatically send the new IP address 222 of the mobile station 220 to the host service 204, and thus the mobile station 220 need not send the IP address 222 to the host service 204.
However, if the resource request message indicates that the resource monitor 210 is not in communication with the DHCP server 140; or indicates that no resource monitor 210 is present; or indicates that the mobile station 220 is required to transmit the IP address 222 to the host service 224, then the mobile station transmits the IP address 222 to the host service 204 over the wireless network 144, as shown in step 24. The transmission of the IP address 222 is according to the normal process in which transmissions occur over the wireless network 144, such as by using TCP/IP and/or HTTP commands to exchange either HTML data or other information. In an alternative embodiment, the IP address 222 is transmitted back to the host service 224 via an out-of-band message.
When the host service 204 receives the new IP address, either from the resource monitor 210 or from the mobile station 220 directly, the host service executes step 25 and performs an association between the IP address 222 and the mobile station 220. Once this association is made, step 26 is executed to send the information to the mobile station 220.
FIG. 3 provides a flow diagram 1000 illustrating a method of managing information distribution to mobile stations in a wireless network carried out at a host system. In step 1002, a data item is received at the host system. In step 1004, the host system determines if the data item is to be transmitted to a mobile station. If the data item is not to be transmitted to a mobile station, then the data item is processed at the host system in step 1006.
If the data item is to be transmitted to a mobile station, however, then in step 1008 the host system determines if a network resources is allocated to the mobile station. The host system may store a network resource allocation table, for example, which indicates whether particular mobile stations have been allocated a network resource, such as an IP address or a PDP context.
If the host system determines that a network resource has been allocated to the mobile station, then the data item is sent to the mobile station, as shown in step 1010. Alternatively, if the host system determines that a network resource has not been allocated to the mobile station, or that the network resource is no longer valid, then the host system sends an out-of-band resource request message to the mobile station in step 1012, and then waits for the network resource to be allocated to the mobile station, as shown in step 1014. One common way to determine the validity of the network resource is to run an idle timer that corresponds to the configured IP-based wireless network 144 idle timer.
Once the network resource is allocated to the mobile station, the host system may be notified by either the mobile station directly, or by a resource monitor in communication with a wireless network accessed by the mobile station. The data item is then sent to the mobile station from the host system, as shown in step 1010.
FIG. 4 is a flow diagram illustrating a method of managing information distribution to mobile stations in a wireless network carried out at a mobile station. In step 1102, the mobile station receives an out-of-band message transmitted from the host system. In step 1104, the mobile station determines if the out-of-band message is a resource request message. If the out-of-band message is not a resource request message, then the message is processed at the mobile station, as shown in step 1106.
If the out-of-band message is a resource request message, however, then the mobile station obtains the necessary network resources, such as an IP address and/or a PDP context, in step 1108. In step 1110, the mobile station determines if it is required to transmit information regarding the acquired network resource back to the host system. This determination may be based on additional data in the resource request indicating whether a resource monitor is in communication with the wireless network accessed by the mobile station, for example. If the mobile station is not required to transmit information regarding the acquired network resource back to the host system, then the mobile station waits to receive the data item from the host system, as shown in step 1112. If the mobile station is required to transmit information regarding the acquired network resource back to the host system, however, then the mobile station transmits the information in step 1114, and then the mobile station waits to receive the data item from the host system, as shown in step 1112.
FIG. 5 is an illustration of an embodiment of the system that provides an HTTP communication between a mobile station 320 and a host system 300. The host system 300 illustratively comprises a host service 304, such as a mail or web server computer device as described with reference to FIG. 1.
Steps 31–36 describe the process of pushing information from the host system 300 to the mobile station 320. In this embodiment, the network infrastructure 143 does not provide tunneling of IP packets from the Internet 130 to the mobile station 320. Instead, the mobile station 320 uses HTTP to communicate information directly to the host service 304. HTTP is supported in a variety of wireless networks, and thus the mobile station 320 may make conventional HTTP requests. Thus, the mobile station 320 and host service 304 perform a normal HTTP get and put, or get and post, whichever is best suited to the particular situation. The same URL value will be used to associate the request with the response. Furthermore, the PDP Context allocation service 150 and the DHCP server 140 are not monitored by a resource monitor.
As shown in FIG. 5, step 31 results in the arrival of a data item 302 for the mobile station 320. Upon the arrival of the data item 302, the host service 304 determines if a network resource is allocated to the mobile station 320. If there is no network resource allocated to the mobile station 320, then the host service 304 performs step 32, and sends a resource request message to the mobile station 320 via an out-of-band communication channel. Because there is no tunneling support, the host service 304 cannot reach the mobile station 320 using traditional TCP/IP or UDP/IP means. Thus, the host service 304 must transmit an out-of-band message to the mobile station 320 as an indicator that the data item 302 is pending for delivery to the mobile station 320. Again, the out-of-band communication is illustratively an SMS message.
Step 33 occurs if the mobile station 320 does not already have an allocated network resource, such as an assigned IP address. In a GSM/GPRS network, this may also involve requesting a PDP context activation, which results in the assignment of an IP address value. In either situation the mobile station 320 acquires an IP address and is then able to make an outgoing HTTP request using the network infrastructure 143, as shown in step 34.
The outgoing HTTP request is addressed to a URL associated with the host system 300. The URL may be stored in a memory subsystem of the mobile station 320, or it may be provided to the mobile station 320 via the out-of-band resource request message. The wireless network 144 includes a conventional firewall/proxy server in the network infrastructure 143 and the mobile station 320 makes the request to the APN 142, which in turn determines the exit point to all connected host services outside the network 144.
Step 35 occurs as the host service 304 receives the HTTP request from a mobile station and matches it to a known mobile station 320. This association can be accomplished in several ways, such as by using HTTP-based cookies to track the progress of request/response stages to ensure the mobile station 320 is receiving data. Step 36 results in the host service 304 fulfilling the HTTP request from the mobile station 320 through the appropriate HTTP response, and thus the data item 302 is provided to the mobile station 320.
FIG. 6 provides a flow diagram 1200 illustrating another method of managing information distribution to mobile stations in a wireless network carried out at a mobile station according to the embodiment of FIG. 5. In step 1202, the mobile station receives an out-of-band message transmitted from the host system. In step 1204, the mobile station determines if the out-of-band message is a resource request message. If the out-of-band message is not a resource request message, then the message is processed at the mobile station, as shown in step 1206.
In another embodiment, the out-of-band message may also contain the current cookie value for the mobile station, maintained by the host system. The cookie value can be used on the subsequent request to reduce overhead and ensure the host system and the mobile station are in synchronization.
If the out-of-band message is a resource request message, however, then the mobile station obtains the necessary network resources in step 1208. In step 1210, the mobile station determines if the out-of-band resource request included an URL. If the out-of-band resource request includes an URL, then the mobile station sends information related to the acquired network resource to the host system addressed by the URL via HTTP, as shown in step 1212. If the out-of-band resource request does not include an URL, however, then the mobile station retrieves an URL stored in its memory subsystem and sends information related to the acquired network resource to the host system addressed by the stored URL via HTTP, as shown in step 1214. The mobile station then waits to receive the data item from the host system, as shown in step 1216. By establishing a cookie method the host system can ensure the current HTTP request is from the correct user and maintain better security standards.
FIG. 7 is an illustration of an embodiment of the system for managing information distribution to mobile stations in an IPv6 wireless network 450. The wireless networks 450 and 452 can support both voice and data communications in a manner as similarly described with networks 144 and 146. The voice-based wireless network 452 provides voice communication to the mobile stations 420 and 422. The wireless network 450 is an IPv6-based network that provides other data communication capabilities for the mobile stations 420 and 422, such as receiving and sending e-mail, documents, files, and the like.
While the networks 450 and 452 each provide different communication capabilities as described above, the network 450 may also be capable of supporting voice over IP (VoIP). Of course, traditional addressing to the mobile station for voice communications (e.g., a cell phone number) may still be implemented. Furthermore, the network infrastructure 143 supports conventional services such as SMS message exchange, Internet web access, PDP Context allocation 150 and DHCP address management 140.
The IP address in the network 450 is an IPv6 address, which is a 16-byte address instead of the 4-byte address of an IPv4 address. Because the 16-byte address in the IPv6 network 450 supports virtually unlimited addressing, the mobile stations 420 and 422 are provided a permanent or semi-permanent IPv6 address. A permanent address is an address that does not change, e.g. the address may be stored in a Subscriber Identity Module (SIM) in the mobile station, or stored in a PROM or FLASH memory in the mobile station. A semi-permanent address is an address that does not change for a long period, e.g., an address is assigned to the mobile station pursuant to a subscription agreement granting access to the network 450 and revoked only when the agreement in terminated. Other methods of providing a semi-permanent address may also be used.
Thus, in most situations the address of the mobile stations 420 and 422 will have an IP address that will not change. Accordingly, once an address is assigned to a mobile station, the address can be virtually dedicated to the mobile station. Of course, there are situations when an address may be reassigned, such as theft or destruction of the mobile station, or termination of an access agreement.
FIG. 7 illustrates exemplary exchanges of data, the first with a host system 400 and the second with a web server 412 located at a web location 402. The host system 400 comprises a host service 406, such as a mail server, running a redirector program 404. A VPN server 408 allows users to connect to corporate services via the Internet 130. If the IPv6 address is provided to the host service 406, and the PDP context for the mobile station 420 is active, data items may be exchanged between the mobile station 420 and the host service 406, as shown by step 45.
If the host service 406 does not have the IPv6 address for the mobile station 420, then data items may not be pushed from the host service 406 to the mobile station 420. The IPv6 address of the mobile station 420 may be provided to the host service 406 via an out-of-band communication from the mobile station 420 to the host service 406, such as by a user-initiated communication between the mobile station 420 and the host service 406. Alternatively, the IPv6 address may be provided via an HTTP communication from the mobile station 420. For example, a user may desire access to a web server 410 providing WAP support service 412. The user may contact the web server 410 via an HTTP communication to provide the IPv6 address to the mobile station 420, and possibly other information, to gain access to the web server 410.
While the mobile station 420 does not need to acquire a dynamic IP address, the mobile station 420 still needs to acquire network resources, such as a PDP context, to communicate over the network 450. The PDP context is a valued network resource that terminates in the network APNs. Because the network 450 must dedicate resources to maintain the PDP context, the PDP context is often released if the mobile station 420 is idle for a given time so that other mobile stations may communicate over the network 450. When the PDP context is released, the capability to route data to the mobile station 420 terminates. Thus, PDP contexts are still limited despite the fact that the mobile station 420 has a permanent IPv6 address.
The system provides the host service 406 the ability to track the network resources allocated to the mobile station 420, and to instruct the mobile station 420 to obtain the network resources as needed. If a resource monitor 210 is in communication with the network 450, then fewer data exchanges are required to establish communication between the mobile station 420 and the host service 406. Steps 41 and 42 are similar to the steps 21, 22 and 31, 32 as previously described, wherein the host service 406 sends an out-of-band resource request message to the mobile station 420 to inform the mobile station 420 that a data item is pending.
In one embodiment, the host service 406 tracks an idle period for the mobile station 420 to determine whether an active PDP context is associated with the mobile station 420 before transmitting the resource request message. If the host service 404 determines that the mobile station 420 should have an active PDP context, then the data item is transmitted to the mobile station 420. If an error message is received at the host service 406 as a result of the transmission of the data item (e.g., the data item could not be delivered because the PDP context is not associated with the IPv6 address of the mobile station 420), then a resource request message is transmitted to the mobile station 420.
If there is no active PDP context associated with the mobile station 420, then step 42 is executed and the resource request message is transmitted to the mobile station 420. The mobile station 420 then executes step 43 and requests a PDP context activation, providing its IPv6 address to be associated with the PDP context.
Once the PDP context is allocated to the mobile station 420, the mobile station 420 may communicate with the host service 406. In one embodiment, a resource monitor 210, such as a DHCP monitor or a PDP context monitor, monitors the resource status of network resources allocated to the mobile station 420. The resource monitor monitors the status of network resources controlled by the DHCP server 140 and the PDP Context Allocation service 150 via the TCP/IP splitter 211. The status is provided to the host service 406 automatically upon any change in state of the status, as shown in step 44. This resource status may be provided only to the host service 406 associated with the mobile station 420, or it may be broadcast to a plurality of host services.
Data items may then be exchanged between the mobile station 420 and the host service 406, as shown by step 45. In one embodiment, the network infrastructure 143 supports full two-way, asynchronous communications between the mobile station 420 and the host service 406 at any time, provided a PDP context is active. In another embodiment, the mobile station 420 may initiate an HTTP-Get operation and receive data item in an HTTP-Post or Put operation.
FIG. 8 is an illustration of an embodiment of the system that includes a network resource monitor 210 in communication with the wireless network 144 and host systems 100 and 120. Steps 51–53 illustrate the process of the network resource monitor 210 providing a resource status of mobile stations 152 and 154 to the host systems 100 and 120. The resource monitor monitors the status of network resources controlled by the DHCP server 140 and the PDP Context Allocation service 150 via the TCP/IP splitter 211. The host system 100 is associated with mobile station 152, and the host system 120 is associated with mobile station 154. The network resource monitor 210 communicates with both host systems 100 and 120. Thus, while steps 51–53 are described with reference to host system 100 and mobile station 152, the same process may also be carried out with respect to host system 120 and mobile station 154.
The resource monitor 210 may communicate with the host service 204 via the networks 144 and/or 130, or alternatively may communicate via a separate data channel. For example, the communication between the resource monitor 210 and the host service 204 could be carried over a dedicated, point-to-point link like ISDN, or it could be carried over a VPN connection through the Internet 130. The VPN connection method would be used to increase security and ensure traffic between the two point is not monitored or attacked by hackers.
During the execution of step 51, initialization data is sent from the host system 100 to the resource monitor 210. The initialization data indicates that a new host system 100 is present to receive data from and send data to mobile stations in communication with the wireless networks 144 and 146, and to receive network resource status updates related to the mobile stations.
In another embodiment, the host system 100 provides a list of associated mobile stations to the resource monitor 210. Thus, the resource monitor 210 can associate particular mobile stations with the host system 100, and provide network resource status updates related only to those mobile stations to the host system 100. In this embodiment, the host system 100 provides a list to the resource monitor indicating that the host system 100 is associated with the mobile station 152.
The host system 100 may be associated with a mobile station by several methods. In one embodiment, the mobile station is associated with the host system 100 when the mobile station mates with a serial port 115 on a network owned by the host system 100 and exchanges private key information used for encrypting information. In another embodiment the mobile station is associated with the host system 100 when the mobile station logs into a secure web site and registers with the host system 100.
This list of associated mobile stations allows the resource monitor 210 to build an associative table mapping the mobile stations to a specific host system. This function may be carried out by a conventional database server located in the resource monitor 210, such as a LDAP server, an Oracle Server, a Microsoft database server, or any network-based technology that can perform address mapping.
Step 52 is executed whenever the mobile station 152 is allocated a network resource, such as an IP address. Step 52 can also be executed when a new PDP Context is assigned and a new IP address is not required, i.e. in the case of mobile station in an IPv6 network requiring a new PDP context for its associated IP address. Step 52 could also be executed if the IP address is revoked from the mobile station 152, or if the PDP context is released. In all cases, execution of step 52 provides the host system 100 resource status information regarding the resource status of the mobile station 152. Once a change to the status of the mobile station 152 occurs, the resource monitor 210 is informed of this change via the TCP/IP port splitter 211.
In an alternative embodiment, the resource monitor 210 monitors the network resource status via network router commands that cause a mirroring of TCP/IP traffic on two ports, and thus the TCP/IP port splitter 211 may not be required. If a mapping table entry is present within the resource monitor 210, then changes in the resource status are provided to the specific Host Location 100 or 120 associated with the mobile station 152 or 154.
If no such mapping table entry exists, then the newly allocated or deallocated network resources may be broadcast to all host systems. In another embodiment, if the mobile station 152 or 154 is not associated with a particular host location 100 or 120, then a network resource status change, such as a change in an IP address or PDP context, is ignored by the resource monitor 210.
Step 53 is executed to exchange data between the host system 100 and the mobile station 152 once the updated resource status of the mobile station 152 has been delivered to the host stations 100. The data exchange can occur via HTTP, or directly over the Internet using TCP or UDP, as previously described.
In another embodiment, the resource monitor 210 provides the resource status and mobile station associations to all registered host systems, and thus each registered host system may communicate with each mobile station, regardless of the mobile station association.
FIG. 9 provides a flow diagram 1300 illustrating a method of managing information distribution to mobile stations in a wireless network carried out at a network resource monitor. In step 1302, the resource monitor waits for an incoming message or signal. In step 1304, the resource monitor determines if the incoming communication is a host system registration, such as would occur when a new host system is connected to the Internet, for example.
If the incoming communication is a host system registration, then in step 1306 the host system is registered in the network resource monitor. Registration of the host system includes, for example, the step of storing the URL of the host system in a database accessible by the resource monitor. Upon registration of the host system, the resource monitor retrieves and stores a table of mobile stations that are associated with the host system, and returns the mobile station resource status, if present, so that the host system has a starting point with its own device status table, as shown in step 1308. Thus, the resource monitor can associate a particular mobile station with its associated host system and provide resource status related to the particular mobile station only to its associated host system.
If the incoming communication is not a host system registration, then the resource monitor determines if the incoming communication is a host system association update, as shown in step 1310. A host system association update may include the addition or deletion of an associated mobile station in a corresponding host system table of associated mobile stations. If the incoming communication is a host system association update, then the corresponding table of associated mobile stations is updated, and the mobile station resource status, if present, is returned, as shown in step 1312.
If the incoming communication is not a host system association update, then the resource monitor determines if the incoming communication is a mobile station resource allocation update, as shown in step 1314. A resource allocation update may occur when a mobile station is assigned a new dynamic IP address, is allocated a PDP context, or if an assigned IP address is released or an allocated PDP context is released, and the like. If the incoming communication is a mobile station resource allocation update, the resource monitor looks up the associated host systems that have an association with this mobile station, and then notifies the associated host system of the resource allocation update to the mobile station, as shown in step 1316. In step 1318, the table of associated mobile stations is updated to reflect the current resource status of the mobile station. If the incoming communication is a mobile station resource is not an allocation update, then the communication is processed at the resource monitor, as shown in step 1320.
The embodiments described herein are examples of structures, systems or methods having elements corresponding to the elements of the invention recited in the claims. This written description may enable those of ordinary skill in the art to make and use embodiments having alternative elements that likewise correspond to the elements of the invention recited in the claims. The intended scope of the invention thus includes other structures, systems or methods that do not differ from the literal language of the claims, and further includes other structures, systems or methods with insubstantial differences from the literal language of the claims.

## Claims

1. A method of distributing information from a host service in communication with a computer network to a mobile station in communication with a wireless network, the method comprising the steps of:
receiving a data item associated with the mobile station at the host service;
providing a network resource monitor in communication with the host service and the wireless network, the network resource monitor automatically providing network resource status information for the mobile station to the host service;
determining at the host service whether a network resource of the wireless network is currently associated with the mobile station;
if the network resource of the wireless network is not currently associated with the mobile station, then transmitting resource request message from the host service to the mobile station to instruct the mobile station to acquire the network resource, wherein after the mobile station acquires the network resource, the network resource monitor automatically provides the network resource status of the mobile station to the host service; and
transmitting the data item to the mobile station using the network resource.

2. The method of claim 1, wherein the step of determining at the host service whether a network resource is associated with the mobile station comprises the steps of:
receiving a network resource status from the network resource monitor indicating network resources associated with the mobile station; and
determining from the network resource status if the network resource is currently associated with the mobile station.

3. The method of claim 1, wherein the step of transmitting band a resource request message from the host service to the mobile station to instinct the mobile station to acquire the network resource comprises the steps of:
transmitting a first instruction to cause the mobile station to acquire the network resource; and
transmitting a second instruction to cause the mobile station to transmit a confirmation message to the host service upon acquiring the network resource.

4. The method of claim 1, wherein the step of transmitting a resource request message from the host service to the mobile station to instruct the mobile station to acquire the network resource comprises the steps of:
transmitting an instruction to cause the mobile station to acquire the network resource; and
transmitting data indicating whether the mobile station is required to transmit a confirmation message tat the mobile station has acquired the network resource to the host service.

5. The method of claim 1, wherein the network resource is an Internet Protocol (IP) address.

6. The method of claim 1, wherein the network resource is a Packet Data Protocol (PDP) context.

7. The method of claim 1, wherein the resource request message is an SMS message transmitted from the host service to the mobile station over a wireless voice network.

8. The method of claim 1, further comprising the steps of:
the host service registering with the network resource monitor to receive automatic updates regarding the network resource status of the mobile station; and
storing registration data regarding the host service and the mobile station at the network resource monitor.

9. The method of claim 1, further comprising the steps of:
providing a plurality of host services in communication with a plurality of mobile stations;
each host service registering with the network resource monitor to receive automatic updates regarding network resource status of one or more of the plurality of mobile stations.

10. The method of claim 1, wherein the network resource monitor receives network resource status information for the mobile station from a Dynamic Host Configuration Protocol (DHCP) component of the wireless network.

11. The method of claim 1, wherein the network resource monitor receives network resource status information for the mobile station from a PDP Context Allocation component of the wireless network.