# Patent

## Title
Collaborative radio resources allocations to applications of mobile units

## Abstract

Collecting state information about the resources of radio access networks (RANs) and the Access Point Names (APNs) enables this information to be provided to mobile stations which employ this information to determine which radio access technology (RAT) to employ for connecting to the wireless access network, and to determine which APN to use. This decision is made relative to each application that the mobile station is executing, and these decisions are, optionally, revisited periodically, or as significant changes in the state information are recognized.

## Background
BACKGROUND OF THE INVENTION
This relates to telecommunication systems and, more particularly, to mobile stations and to networks that interact with the mobile stations.
Cell phone technologies have been advancing over the years. These advances were powered by (in addition to micro-miniaturization) innovations in coding and in protocols, by competition between companies within the US, and by the promulgation of different standards throughout the world. The successively adopted technologies typically provide more bandwidth, better geographical coverage, more effective protocols, more robustness and, consequently, more capabilities. Correspondingly, the networks that serve the cell phones were also advanced but, often, the advances were implemented so as to accommodate the older, legacy, technologies while use of the newer technologies was being spread.
The greater capabilities in the networks enabled the designs of phones with very sophisticated capabilities (often referred to as “smart phones”) and to various other wireless devices such as wireless enabled cars/trains, sensory/eHealth devices, etc. Thus, current day cell phones and other mobile devices (collectively, mobile stations, or MSs) have capabilities that, to different degrees, take advantage of what is commonly referred to as 2G, 3G, and 4G and WiFi technologies. It is fully expected that other technologies will surely follow.
Value added services are often used at the boundary between a wireless operators network and the internet to enhance mobile user experience impacted by the limitations in wireless network. Value added service gateways such as WAP, Compression, Content Adaptation have been used to offset deficiencies in wireless access networks. Value added services such as content filtering, virus detection, and parental control are common to wireline and wireless access networks. Entities that operate networks use APNs to distinguish value added service options while leaving it to the mobile user to select such services.
Moreover, since the installed networks are capable of providing service to mobile stations that operate in different technologies, many mobile stations have been designed to operate in any one of a number of encountered technology environments. These mobile stations switch from one technology to another by active involvement of the MS user.
Better performance can be achieved if the mobile units were able to automatically select the technology that is to be employed, based on network conditions only. Still better performance can be achieved when those selections are application-centric and to be able to lock in to any necessary value added services at the boundary between the wireless operator network and the internet.
SUMMARY OF THE INVENTION
An advance in the art is realized by modifying the wireless access network to collect state information about the radio access networks and the Access Point Names (APN), either periodically or as conditions dictate, and to provide this information to mobile stations that wish to use the wireless access network to reach a data network. The information, which is provided to enhanced mobile units, is stored in a database module within the enhanced mobile units, and the enhanced mobile units also includes means to use the received network state information to make routing selections. Specifically, a mobile station that is enhanced in accord with the principles disclosed herein uses the received network state information to determine which radio access technology (RAT) to employ for connecting the mobile station to the wireless access network, and to determine which APN to use. This decision is made relative to each application that the mobile station is executing, and these decisions are, optionally, revisited periodically, or as significant changes in the state information are recognized.



BRIEF DESCRIPTION OF THE DRAWING
FIG. 1 presents an illustrative arrangement that includes a mobile station (MS 10), and a network 20 (henceforth, wireless access network) that is interposed between wireless MS 10 and a data network;
FIG. 2 presents a flow chart of one embodiment of a method that is executed within the interposed network;
FIG. 3 presents a flow chart of one embodiment of a method for installing information in the mobile station to enable the mobile station to make intelligent connection route selections;
FIG. 4 presents a flow chart of one embodiment of a method for employing the installed information to make the route selections; and
FIG. 5 illustrates a matrix of information that is stored in element 18.



DETAILED DESCRIPTION
The General Packet Radio Service (GPRS) is an example of a wireless access network that interconnects mobile stations a data network. The GPRS is a random access packet data extension of the Global System for Mobile communications (GSM), using encapsulation and tunneling to transfer high and low speed data and signaling in an efficient manner. The GSM and GPRS standards are defined in technical specifications published by the European Telecommunications Standards institute (ETSI). These include ETSI GSM 03.03, ETSI GSM 03.60 and ETSI GSM 09.60, which are herein incorporated by reference.
Basically, GPRS radio channels are allocated in a TDMA frame, and the timeslots are shared by the active users. Uplink and downlink channels are allocated separately, and the radio interface resources may be shared dynamically between speech and data services, for example, based on load and operator preference. A variety of channel coding schemes are defined in the ETSI specification to provide a diversity of bit rates. Generally, applications based on standard data protocols are supported, and interworking is defined, with both IP networks and X.25.
Illustratively, FIG. 1 presents mobile station 20, and wireless access network 20, which is a GPRS network, enhanced in accord with the principles disclosed herein, that is interposed between MS 10 and a network 30 that comprises one or more sub-networks, such as the Internet 31, and X.25 network 32. Both the wireless access network and the mobile station employ information about the network to assist in establishing connections to the data network for applications running on the mobile stations
Mobile station 10, illustratively, is one that is capable of operating in what is commonly referred to as 2G, 3G, 4G, and WiFi technologies, by means of modules 13, 14, 15, and 16, respectively that are included in a radio access technology (RAT) module 45. Other RATS exist which MS 10 is illustratively not adapted to employ; for example, LTE (Long Term Evolution) which some refer to as 3.9G technology. MS 10 includes a processor 19, a user interface module 44 coupled to processor 19, an air interface module 46, and a radio access technology module 45 that is interposed between the air interface module and the processor. MS 10 also includes a memory that stores the operating system with program modules with which the processor interacts to make MS 10 operational (11), and value-enhancing application modules (APPL1, APPL2, . . . APPLn) that provide for various “smart” capabilities of MS 10, such as email service, web surfing, video downloads etc. These value-enhancing applications may be triggered, or “opened” (for execution) by a user that interacts with MS 10 or by some other application that is running on MS 10.
Operationally, modules 13, 14 and 15 enable MS 10 to be connected to a data network through GPRS network 20, whereas WiFi module 16 enables MS 10 to be connected to the Internet through Access Point (AP) 33, which may be a server or a computer that connects to the Internet via an Internet Service Provider (ISP). Use of modules 13, 14, and 15 can be almost concurrent, meaning that at any one instant or of those modules is the one that connects to the wireless access network through air interface 46, or essentially concurrent, meaning that a number of these modules can simultaneous apply signals to the air interface, limited only by the data that is applied to those modules by processor 19.
Wireless access network 20 comprises a plurality of Gateway GPRS Support Nodes (GGSNs), such as unit 21, that interface with network 30 via an internal network 22. A GGSN includes one or more Access Point Names (APNs), each being a service point that performs a specific task. The task may be performed within the APN module, in a separate processor within network 20 such as module 43, or in a particular server within some sub-network of network 30. Also connected to network 22 are Serving GPRS Support Nodes (SGSNs) that are each connected a Radio Access Network (RAN) and Serving Gateways (S-GWs) that are similarly connected to RANs. Each RAN employs a particular communication technology and, to illustrate that, FIG. 1 shows RANS 24, 25, 26, and 27 that operate in 2G, 3G, 4G, and FEMTO technologies, respectively. RANs the employ the 2G and 3G technologies are connected to SGSNs, RANs that employ the 4G technology are connected to S-GWs, and RANs that employ the FEMTO technology are connected to S-GWs through FEMTO Gateways (F-GWs). The RANs include their respective Radio Network Controllers (RNCs) and base stations. Although in the context of the GPRS the RANs are networks, they are shown in FIG. 1 as individual nodes, and for the purposes of this disclosure can be viewed as such.
Network 20 also includes a Mobile Switching Center (MSC) 28, and a Home Location Register (HLR) 29. The MSC sets up and releases the end-to-end connections, handles mobility and hand-over requirements during calls, and takes care of charging and real time pre-paid account monitoring. The HLR is a database that contains information about routing, to enable the MSC to map MSs such MS 10 to one or more GGSNs, to update the SGSNs and to store IP addresses. The signaling and data paths that pertain to the operation of the GPRS (in contrast to data of the MSs) is shown in FIG. 1 in dashed lines, and it should be noted that for sake of clarity many of the signaling paths are shown only in connection with one type of element, but it should be understood that like elements have like signaling paths (e.g. RANs 24, 25, 26, and 27 all have a signaling path the MSC 28). It should be understood that much of what the GPRS network does and how it operates is not disclosed herein because it is quite conventional and does not form a part of this invention.
In accord with the principles disclosed herein, collaboration is undertaken between the applications that run on MS 10 and the radio network. This is accomplished by GPRS network including a resource tracking module 41 that collects network state information and forwards it, via a chosen set of APIs, to MS 10. MS 10 utilizes this information in a manner that is beneficial to network 20 as well as to MS 10. The benefit to MS 10 is that is receives a higher quality of service, and the benefit to network 20 is that the load imposed on it is more balanced, and the network resources are more efficiently utilized which, of course, allows network 20 to provide service to numerous other mobile stations and thereby increase its revenue.
One of the places from where information is collected is a resource tracker in each RAN (illustrated in RAN 24 by the RT element). The RT element collects information about the state of the RNC and the “Node B.” This information comprises signal to noise ratio (S/N), number of active users, overall traffic load, etc.
The other places from where information is collected are the Access Point Names that are associated with the various GGSN switches, which information pertains, for example, to the availability of the APNs to service requests. The information is communicated via messages in whatever format is convenient, and since at least some of this information is eventually communicated to MS 10, it is convenient to employ the currently available AT command set, which mobile stations are already designed to recognize. The AT command (expanded, perhaps) set is, of course, just an example of a chosen API, and other (perhaps more advanced) API, such as the Radio Interface Layer APIs can be chosen. The following table presents some examples of AT commands.











AT Command
Effect







AT!BAND
Selects a set of frequency bands


AT+CSQ
Signal Quality


AT!GSTATUS?
Returns operational status


AT!ERR
Displays diagnostic info


AT+CBST
Select bearer service type


AT!STATUS
Phone activity status


AT+Func
Find phone functionality


AT+CLAC
List all available AT commands


AT+CGEQMIN=?
3G quality of service profile (min acceptable)









One example of use of the AT commands in the context of this invention is the AT+CSQ command, which relates to signal quality. It can be combined with additional information to present to MS 10 a score, or relative cost, for access via the different RANs, and the application in MS 10 can then use this information to request a different route, or to merely alter its operation to optimize its traffic rate. One such alteration may be to slow its rate to a minimum until the signal conditions improve. Another such alteration is to withhold its elastic traffic till the available access is good enough.
To elaborate, the mobile station receives this information and employs it to reduce traffic congestion on the network, to optimize use of limited resources within the RAN network, to enable smart application on MS 10 and thereby enhance user experience by adapting to RAN conditions, to increase revenue for the operator of, for example, RAN 26. The RAN through which MS 10 is connected to the network can delay traffic of applications that yield low revenues relative to traffic that yields high revenues.
FIG. 1 also includes an operator policies module 42 that causes the information that is available to MS 10 to be filtered pursuant to some chosen policy that is established. To give one example, a chosen PDP context can be hidden from MS 10 in network congestion areas so that an application is prevented from accessing the related services, or alternatively, the network can supply enhanced PDP context at an extra cost for accessing a service and thereby MS 10 can be coaxed to choose a lower cost route, if available (for example, choose the 2G RAN 24 rather than the busy 4G RAN 26 for uploading a large picture file from MS 10). Another example is when a user is on 3G or 4G access with video conferencing application running and is traveling at speed greater than 20 miles/hours avoid handoff to any Wi-Fi access point. Yet another example is when a user launches an application on a mobile station that requires monitoring of medical sensors and real time communication with his designated health care providers, it is desirable to take upmost care to deliver the sensors' information in a timely manner. The AT commands and the extended APIs are used to make sure link state information are acceptable at all times. If and when link state information fall below thresholds then the application and the network take additional measures to ensure delivery of the sensor information. One last example is when the network wishes to reduce overall congestion, user-generated video source streams are converted to H.265 if and when user is streaming on LTE or 3G network with signal to noise ration below the threshold.
To implement these capabilities in the mobile station, MS 10 includes a metrics resource metrics unit 18 that stores Radio Access Technologies (RAT) information (i.e., information about the RANs), and information about the APNs that are associated with the GGSN switches. Module 18 employs the stored information to affect the connections of the various applications of MS 10 through network 20, and exposes this information to the applications for their own respective control of their operation. The influence over the connections of the various applications of MS 10 through network 20 is exercised when the application is initiated and, advantageously, it is also exercised in response to changing conditions in the GPRS network while the application is active. The same holds true for influencing the operation of the various applications that are open (i.e., being executed).
FIG. 2 presents a flow diagram of one embodiment of a method in accord with the principles disclosed herein that is executed in resource tracking module 41 and, at least in part, in the various RANs. Step 51 forms the cycle triggering mechanism. It may operate by passing control to step 52 in response to any significant change in the state of the RANs or the APNs, or pass control to step 52 periodically. Step 52 polls the RT in each of the RANs and the APNs in each of the GGSNs, and passes control to step 53. Step 53 processes the obtained information pursuant to policies obtained from module 42 and stores the results. The processing can, for example, develop cost measures specifically for the different RANs (e.g., for RAN 26), or for the different RAN types (e.g., all 2G RANs). From step 53, control passes to step 54 which sends whatever information was collected by, or developed within, tracking module 41 to the RANs, and control then passes to step 55. Step 55 communicates the information to the MSs that are coupled to network 20, such as MS 10. This communication can be a broadcast, or a response to an inquiry. When broadcasted, the various RANs of network 20 may broadcast in unison, in a preselected order of succession, or randomly. The amount of this data is quite modest so whatever approach is selected, the communication protocol can easily be designed to enable the mobile stations to receive the data. For example, step 53 can communicate its information to the RANs in a seriatim fashion, and the RANs immediately broadcast the information.
As an aside, WiFi access points such as AP 33 also broadcast information about their status, such as S/N over the channel between MS 10 and AP 33, the amount of other traffic that the AP is carrying, etc.
In connection with the process that is executed in MS 10, it is recognized that whether information about the state of network 20 is passively received from network 20 or actively requested from network 20 must correspond to the method by which network 20 operates.
FIG. 3 presents a flow diagram of the method executed in MS 10 where the MS passively receives the network 20 state information needed for route selections because network 20 RANs broadcast the state information. Under control of processor 19, each of the RAT elements 14-16 within module 45 is activated, in rapid succession, to determine whether a broadcast from some RAN is detected. If so, the active state of that RAT element is maintained until the state information is received. Thus, for example, step 61 receives the messages from those RANs whose signals MS 12 can receive successfully, and passes control to step 62. Step 62 extracts the information from the messages about the RANs and about all reachable APNs and stores that information in resource metrics module 18. At least one piece of information, of course, is the identity of the RAN whose signals MS 12 received and the RATs that they employ. Thereafter, step 63 updates a route selection matrix in module 18, and returns control to step 61, to await the arrival of a next message. FIG. 5 presents an example of a selection matrix that resides in module 18.
a number of underlying decisions need to be made in determining the embodiment that a given MS employs. First, will the information that is stored in metrics unit 17 be obtained through passive acceptance of transmissions or though active polling of all accessible RANs. Second, will the MS manage the route selection only when the application initially opens, or more frequently—such as periodically or in response to a change in the state of the RANs and the APNs. Any of the choices presented by the above two questions are within the scope of this invention.
It is noted that this approach enables changes that occur within network 20 to be communicated quite quickly to MS 12. The opposite approach, where MS 12 polls for information, the RANs do not need to broadcast the state information of the network's RANs and APNs. Rather, only those RANs that are within communication range of MS 12 are requested to provide the state information whenever MS 12 desires it. In such an embodiment, step 61 would “poll for and receive messages” rather than just “receive messages” and a delay element would be includes in the loop to re-initiate the polling after a preselected delay.
FIG. 4 presents a flow diagram of the method executed in MS 10 that utilizes the information that is available in modules 17 and 18. Step 64 is the trigger step. It passes control to step 64 when there is a substantial change in the selection matrix or when an application requests a server connection. When the trigger is an application that first requests connection to a server, step 65 determines, based on the type of application that makes the request, which RAN and which APN would result in the requested service being provided at lowest cost. It should be understood that the selection might be of a particular technology; e.g., “any 2G RAN,” or may be of a particular RAN, based on an index that is stored in database 17 and which represents a relative cost for using the particular RAN.
Control them passes to step 66 which undertakes to make the connection using the chosen RAN and APN. It should also be understood that the undertaking by step 66 may be a mere request placed on network 20, and that the request might not be made. It is contemplated that step 66 includes an attempt to send a next-best connection request in case the first-submitted connection request is not fulfilled.
When the trigger in step 64 is a change in the selection matrix, steps 65 and 66 are executed for each of the applications that are running on MS 10. That is, a routing request message is sent on behalf of each of the open (i.e., operating or about to be operating) applications under consideration. Optionally, the mode of operation of an application itself may be altered based on RATs that are available to the application. For example, an application's user interface might be changed based on the bandwidth that is available to the application.
The above discloses an arrangement that provides enhanced capabilities and more efficient operation for both mobile stations and the wireless access network. While some of the resultant advantages are explicitly mentioned or implied above, it should be understood that other advantages and benefits accrue from this invention. For example, based on conditions for connection to different RANs, an application may split its traffic between two or more RANs simply for load balancing, for higher overall speed of communicating data, for insuring that sensitive data gets delivered with higher probability of success (by sending it twice, each time over a different RAN), or for security (based on the notion that an interloper is not simultaneously listening on the channels of two different RANs).

## Claims

1. A mobile station, comprising:
user interface circuitry,
a memory that stores
program modules for operating of the mobile station,
program modules of value-enhancing applications,

an air interface module;
a processor that is coupled to said user interface and to said memory, and
a radio access technology module interposed between said processor and said air interface, where the radio access technology module comprises a plurality of sub-modules, each constructed to interact with a radio access network pursuant to a different set of specifications;
said memory further including
a first module, interacting with said processor, that is instrumental in receiving and storing information in said memory from a wireless access network pertaining to network resources that may be employed by said mobile station, and
a second module, interacting with said processor, that is instrumental in choosing, for each application of said value-enhancing applications that is requested by said user interface circuitry to be activated, based on said information that is stored by said first module, which sub-module of said sub-modules is used for communicating with said radio access network.

2. The mobile station of claim 1 where said second module, which is instrumental in choosing which of said sub-modules is to be used for communicating with said radio access network, is also instrumental in choosing which of said modules is used for communicating with said radio access network for each of said value-enhancing applications that is being executed by said mobile station.

3. The mobile station of claim 1 where at least one of said value-enhancing applications are adapted to interact with a user of said mobile station.

4. The mobile station of claim 3 further comprising one or more of said sensors.

5. The mobile station of claim 1 where at least one of said value-enhancing applications is adapted to interact with sensors.

6. The mobile station of claim 5 where said sensors are sensors that pertain to well-being of an individual.

7. The mobile station of claim 1 where at least one of said value-enhancing applications are adapted to interact with another application that is being executed on said mobile station.

8. The mobile station of claim 7 where said information that pertains to said network's resources includes information that identifies one or more radio access nodes through which said mobile station can be connected to said radio access network, and at least one parameter pertaining to said radio access nodes.

9. The mobile station of claim 7 where said information that pertains to said network's resources also includes identify of resources of said radio access network other than said radio access nodes.

10. The mobile station of claim 1 where said information that pertains to said network's resources includes information that identifies one or more radio access technologies that may be employed by said mobile station.

11. The mobile station of claim 10 where said at least one parameter is a cost measure.

12. The mobile station of claim 1 where said radio access network is the General Packet Radio Service (GPRS) network and said resources of said radio access network that are other than said radio access nodes are Access Point Name modules of said GPRS network.

13. The mobile station of claim 1 where said Access Point Name modules perform particular functions.

14. The mobile station of claim 1 where said mobile station is substantially continually sensitive to signals received by all of the sub-modules via said air interface.

15. The mobile station of claim 1 where said signals that are continually received by all of the sub-modules via said air interface are responsive to a polling signal from said mobile station.

16. The mobile station claim 1 where at least one of said value-enhancing application programs operates in a manner that is sensitive to said information that is stored by said first module.

17. The mobile station claim 1 where at least one of said value-enhancing application programs presents a user interface that depends on said information that is stored by said first module.

18. The mobile station of claim 1 where said second module is instrumental in choosing a particular sub-module to be used for communicating with said radio access network by requesting a connection that can employ said particular sub-module which, if granted, causes said particular sub-module to be chosen.

19. The mobile station of claim 18 where said information that is stored by said first module arrives periodically.

20. The mobile station of claim 18 where said information that is stored by said first module arrives when there is a significant change in availabilities of resources of said radio access network.

21. The mobile station of claim 18 where said information that is stored is stored by said first module is affected by rules that are stored in said radio access network.

22. The network of claim 21 where said resource tracking module is responsive to a module that provides rules for said processing.

23. The mobile station of claim 1 where said information that is stored by said first module arrives from a radio access network.

24. A network adapted to service the mobile station of claim 1, including connecting the mobile station to a data network, comprising
a plurality of radio access network nodes, each one of which is constructed to operate in one of a preselected set of radio access technologies,
a resource tracking module for collecting resource availability data from each of said radio access nodes, for processing this data and for returning processed data to said radio access nodes, for communicating to mobile stations, including said mobile station of claim 1.