The exemplary and non-limiting embodiments of this invention relate generally to wireless communication systems, methods, devices and computer programs and, more specifically, relate to a user device storing/caching system information from neighbor cells and using that cached system information.
The following abbreviations that may be found in the specification and/or the drawing figures are defined as follows:
Continuing improvements of the UTRAN system have recently included the investigation of a CELL-FACH enhancement which in part intends to improve cell reselection. A UE in the CELL-FACH state has no dedicated physical channel allocated to it, but instead it continuously monitors the FACH in the DL and is assigned a random access channel RACH for accessing an uplink transport channel. While in the CELL-FACH state the UE can have only one serving cell, and so it performs cell reselection according to specified reselection rules, typically to change the current serving cell to a better quality neighbor cell.
In current specifications the UE does this by first obtaining the SI of the neighbor cell (which takes typically 1.28 seconds) then sends a cell update message upon cell reselection while in the in CELL-FACH state. The network then provides in a Cell Update Confirm message a dedicated resource on the new serving cell for the UE. The cell update procedure can take up to a full second to perform, and so until it is complete the UE cannot perform user data transmission and reception. This means there is a time, on the order of up to a few seconds, during which service is disrupted due to the cell reselection.
The UEs utilize the various cell's SI for many purposes, including determining if the UE is allowed to attempt reselection to that cell and the configuration the UE should use to do so. This means the UE must have the SI of the cell to which it attempts to reselect even before beginning the cell reselection process. This fact gives rise to two issues for obtaining the neighbor cell's SI, which the cell transmits on its broadcast channel. First, it may take several seconds for the UE to obtain the SI meaning access to the cell can be delayed. Second, there are certain UE connection states, such as the CELL-FACH state noted above, during which the UE cannot read the neighbor cell's SI (or at least the UE's reading of it is limited).
The UE is allowed to cache SI. In this regard the UTRAN system provides at 3GPP TS 25.331 v8.1.1.3:
But any given UE over time transits through quite a large number of cells, so storing every cell's SI quickly becomes an issue of memory management. Additionally, while any given cell's SI typically remains static, SI is in fact semi-dynamic and so the SI which a UE stores in the morning may or may not be valid for that same cell when the UE passes through it again in the afternoon.
The foregoing and other problems are overcome, and other advantages are realized, by the use of the exemplary embodiments of this invention.
In a first exemplary embodiment of the invention there is a method comprising: for each of a plurality of system information received from respective cells, storing in a system information cache of a user equipment a cache entry including at least some of the received system information, a timestamp of when the respective system information was first stored in the system information cache, and for at least some of the cache entries relevance data relating the respective cache entry to one or more other cache entries; while the user equipment is in a state with a serving cell in which no dedicated physical channel is allocated to the user equipment, selecting a cache entry for at least one neighbor cell that is related by its relevance data to the cache entry of the serving cell or determined from its timestamp to be in close proximity to the serving cell; and identifying the selected neighbor cell in an uplink message as a suitable candidate for multipoint communications with the user equipment.
In a second exemplary embodiment of the invention there is an apparatus comprising at least one processor and at least one memory storing a computer program. In this embodiment the at least one memory with the computer program is configured with the at least one processor to cause the apparatus to at least: for each of a plurality of system information received from respective cells, store in a system information cache of a user equipment a cache entry including at least some of the received system information, a timestamp of when the respective system information was first stored in the system information cache, and for at least some of the cache entries relevance data relating the respective cache entry to one or more other cache entries; while the user equipment is in a state with a serving cell in which no dedicated physical channel is allocated to the user equipment, select a cache entry for at least one neighbor cell that is related by its relevance data to the cache entry of the serving cell or determined from its timestamp to be in close proximity to the serving cell; and identify the selected neighbor cell in an uplink message as a suitable candidate for multipoint communications with the user equipment.
In a third exemplary embodiment of the invention there is a computer readable memory storing a computer program which when executed by at least one processor results in actions comprising: for each of a plurality of system information received from respective cells, storing in a system information cache of a user equipment a cache entry including at least some of the received system information, a timestamp of when the respective system information was first stored in the system information cache, and for at least some of the cache entries relevance data relating the respective cache entry to one or more other cache entries; while the user equipment is in a state with a serving cell in which no dedicated physical channel is allocated to the user equipment, selecting a cache entry for at least one neighbor cell that is related by its relevance data to the cache entry of the serving cell or determined from its timestamp to be in close proximity to the serving cell; and identifying the selected neighbor cell in an uplink message as a suitable candidate for multipoint communications with the user equipment.
Consider
The exemplary embodiments of the invention below are described in the initial context of the UE in the Cell-FACH state moving away from its serving cell1 towards neighbor cell2 and neighbor cell3 so that the UE's received signal strength from cell1 is diminishing while that from cell2 and cell3 is increasing. While these examples are also in the context of the UTRAN system and specifically HSDPA, such context is for clarity of description and is not itself a limit; these teachings may be employed in that and in other radio access technologies such as evolved UTRAN, WCDMA and others.
As was noted in the background section above, the UE in the CELL-FACH state (or more generally in a state with the serving cell in which no dedicated physical channel is allocated to the UE) will not be able to read SI of the neighbor cells, or at best will be able to read only portions of SI. So in order to reselect to cell2 or cell3 without interruption to data transfer, the UE must have cached the SI of the target cell, at a time prior to the UE knowing which is to be its next target cell.
Embodiments of these teachings relate to supervising the collection of the SI which the UE caches in a manner that optimizes the benefit of the cache. Typically UEs will have a finite memory capacity which can be used for SI cache purposes, so as to assure there is sufficient memory available for other purposes such as transmit buffering, HARQ processes, radio configuration storage, and the like. In the description below the term cache entry refers to the SI for one particular cell, along with other data specifically related to that cached SI as will be detailed by example. The description below first describes collection of the cache entries and management of their storage, and thereafter describes usage of these cached entries.
The UE 20 has a certain amount of memory allocated for SI, shown at 200 in
Block 208 broadly represents a cache user or provider 208 which is any other functional block(s) within the UE 20 which either harvests the SI data for storage (e.g., a broadcast radio receiver and related hardware) or which utilizes the data stored in the SI cache 200 (e.g., a processor which runs through the cache entries using the supervising data to select cells for multipoint communications). There is also stored in the UE 20, apart from the SI cache 200, one or more caches 210 for other systems or technologies. So for example if the UE 20 is a multi-radio device capable of operating on multiple radio access technologies as is common for newer cellular handsets, the SI cache 200 is for storing SI of UTRAN cells as
As the UE 20 moves in physical space among the cells, and among connection states which may or may not allow the UE to read broadcast SI, the UE 20 routinely expends at block 302 of
In an embodiment, all SI which the UE receives is stored regardless of the suitability of the cell. There is in this embodiment no assessment of suitability of a cell before a decision is made to cache its SI but rather the concept is to reduce future SI reception and accurately map the radio network.
Regardless of what constitutes best effort, each UE will attempt to collect or harvest SI on a regular basis. Such regular basis may in different embodiments be periodical, may be conditional on the received signal strength over the relevant broadcast channel exceeding some minimum threshold, or a combination of the two. In some embodiments there may be different time intervals and thresholds depending on the UE's current connection state; more frequent when in an active RRC Connected state and less frequent when in an idle state.
In an exemplary embodiment the individual cache entries 204 are stored in a list structure along with supervision data 202 which is relevant to the list as a whole. This supervision data 202 contains information about the size of the list 204, remaining space in the cache memory 200, and status of cleaning.
At block 304 of
Block 308 of
In an exemplary embodiment, cache entry maintenance is triggered at regular timed intervals and/or as a result of the list 204 becoming full (e.g., a minimum threshold of free memory in the SI cache 200 is reached). A time threshold may also used to identify and clean cache entries which have not been accessed for a long period of time. This time threshold may be set initially to a default value and adjusted over time based on the normal daily cycle of the UE 20 once patterns are established. The cross reference/relevance data is updated as cache entries are removed so that retained cache entries do not cross-reference other cache entries which have been deleted.
In an exemplary embodiment the cleaning algorithm has a preference to clean individual cache entries which are not cross linked because these entries are generally going to be less useful. This preference may be expressed as a more frequent cleaning of non-cross linked cache entries, or cleaning the non-cross linked cache entries prior to analyzing and cleaning the cross-linked cache entries.
Functions or algorithms are also provided to ‘mine’ the cache for useful information. These functions can be considered a separate activity to the filling and maintenance of the cache, and the mining can also use the relevance and cross linking data to select cache entries for use. In the example below the mining is for the specific purpose of selecting cells for setting up multipoint communications with a network. Other mining algorithms may be directed to other purposes using the same or relevance and cross linking information or other information which is used also to clean the SI cache 200.
The SI data may change as a normal part of network maintenance so the extent to which cached SI data is used must take this into account. For example, after the mining algorithm returns a set of cache entries for multipoint communications the UE 20 may make an attempt to check validity of each selected cache entry prior to signaling the network the identity of the cells with which it seeks to establish multipoint communications. Such a validity check may be implemented by the UE checking a version number, value tags or other identifiers of the currently broadcast SI against the version number or other identifiers of the cache entry for the individual cells that the mining algorithm selected.
In one embodiment the cache entries can be used to improve the UE's knowledge of its position. The UE 20 can obtain a more accurate position fix by combining the information from more cells. The time information is useful to know how fresh the cache entry is and the relevance data is useful to know which other cache entries can be combined. In this usage the SI cache 200 serves as an enhancement to location fingerprinting. Cell identities of the combined cells can easily be determined.
In another embodiment the UE 20 can use the cache 200 for knowledge about the current cell. The UE 20 may be limited in SI reception for the current cell based on its connected state. The SI cache 200 can provide information about the current cell which would otherwise not be known to the UE when in a connected state in which SI reception is not performed. This knowledge can be used to determine cell feature support, such as HSPA, MBMS or BMC, and cell identities which may not be communicated normally in some connected states.
There is also the added benefit of the cache entries allowing the UE to undergo certain state changes faster than if the UE 20 had to obtain the SI from broadcast channels on an as-needed basis. Such state changes in the UTRAN system include moving from a dedicated channel DCH to the paging channel PCH, and moving from a DCH to the FACH.
Consider below several examples for utilizing the SI cache 200 as that cache is detailed above. The examples below concern the UE using the SI cache 200 to obtain a better geographic position fix for itself, to evaluate handover candidates by service capability, to supplement the neighbor list which the network conventionally supplies, and to select cells to report to the network for multipoint communications.
In the first example, for positioning purposes the UE 20 may not know the unique cell identity (UCID) of the current cell when it is under network-controlled mobility, and the UE 20 may not know the UCID of nearby cells. Typically the UE 20 uses the UCID of one or more cells as the primary method for getting an estimate of its geographic position. The UE 20 can turn to the SI cache 200 to determine the UCID of the cell in use, and also to obtain the UCID of other neighbor cells. These may be cells ‘soft combined’ under network control, or they may be cells which are known from the relevance data to relate to the cell in use. When combined, the list of UCIDs will provide superior location detection as compared to the case in which the UE 20 did not know which cells are neighbors to its serving cell. For example, the relevance data can associate the cache entries 204 for other cells to that of the current/serving cell through radio frequency, scrambling code and/or other fingerprint detection.
In a second example the UE 20 can determine a reselection target based on service requirements, such as where a number of cells are suitable and otherwise equal (in signal strength). In conventional practice the UE 20 would perform fast cell selection and not have the time to receive SI to evaluate multiple cells for their respective service capabilities, but with the cached entries the UE 20 can see that one of the handover candidates offers MBMS for example and prefer that one over other cells which do not. In a similar vein the UE 20 can use the knowledge about the current cell for displaying an accurate indication of cell capability on the display user interface.
In a third example the UE may supplement the network-configured neighbor list with new neighbor cells which the UE 20 determines from the SI cache 200. The UE 20 may be limited in its SI reception when in a connected state. With regular harvesting the UE is likely to have information on cells relating to the current cell, using the relevance data as mentioned above. The UE 20 can therefore use the SI cache 200 to autonomously select certain neighbor cells, in addition to those configured directly by the network. When the UE 20 is under network-controlled mobility this supplemented list can be used to learn the surrounding radio network for the cases where coverage may be lost. If the UE 20 is under UE-controlled mobility then it can directly use the supplemented list. If we assume the SI cache 200 is presently up to date, then these teachings may be adopted into a standardized process whereby UEs facilitate enhanced mobility in all connected states by compiling such supplemented neighbor lists. The UE 20 can then provide such supplemented lists to the network for automatic neighbor relations ANR in order to self tune the network setup. In this manner the network will automatically know if one of those UE-added neighbor cells is a better handover candidate for that UE 20 than any of the cells on the neighbor cell list which the network itself provided.
The UE 20 recognizes that its received signal strength or signal quality with the serving cell1 (22) is decreasing, and so at block 412 decides to mine the SI cache 200 to find suitable cells for multipoint communications. Using the relevance data of the cache entry 404 for its serving cell, the mining algorithm 206 selects the cache entry 408 corresponding to cell2 (26) as a suitable multipoint communication candidate and excludes all others. By example, the mining algorithm may select that neighbor cell2 (26) based on a common NodeB group with cell1 (22), and/or by geographic proximity as determined by the various means noted above. NodeB group information may be broadcast by the cells themselves in their respective SI as an index or other indication. The cache entries 404, 408 have the UCID for each of those cells and so at 414 the UE 20 sends an UL RRC message (via its serving cell1) to the RNC 24 reporting that cell2 (26) is a suitable candidate for multipoint communications. This UL RRC message 414 may also have the UCID for the serving cell1 (22), and also may include measurement data for one or both of those cells 22, 26.
The RNC 24 responds with a DL RRC message 416 (Radio Bearer Reconfiguration, Radio Bearer Setup, Radio Bearer Release, Physical Channel Reconfiguration, or Transport Channel Reconfiguration message) which confirms to the UE 20 which cells will participate in the multipoint communication, and possibly also giving the UE 20 parameters for that multipoint communication such as a radio network temporary identifier RNTI which the UE 20 will use to identify cell2 (26) for such communications rather than its UCID. Specific to UTRAN, these parameters may include the H-RNTI for multipoint HS-DSCH reception operation and/or Primary E-RNTI, Secondary E-RNTI, E-RGCH, E-HICH for E-DCH for multipoint E-DCH transmission operation. Since cell1 (22) is the UE's serving cell the UE 20 already knows its RNTI. The UE 20 replies with a confirmation RRC message 418 (Radio Bearer Reconfiguration Complete, Radio Bearer Setup Complete, Radio Bearer Release Complete, Physical Channel Reconfiguration Complete, or Transport Channel Reconfiguration Complete message) once it begins monitoring cell2 (26), and following that confirmation message 418 the RNC 24 begins sending its DL data for the UE 20 to both the original serving cell1 (22) at 420B and also to the added neighbor cell2 (26) at 420A. These cells 22, 26 wirelessly transmit that same data DL to the UE 20 on a HS-DSCH for multipoint HSDPA operation in the CELL-FACH state.
The common channel configuration which the UE 20 needs for the multipoint communication with the two cells 22, 26 may be obtained autonomously by the UE 20 from mining the SI cache 200. In this case the UE 20 would report such common channel configuration to the RNC 24 in the first UL RRC message 414. Alternatively, these common channel configuration may be sent to the UE 20 by the serving cell1 (22).
Prior to UL signaling of the selected cell(s) at message 414, the UE 20 may check validity of the cache entry 408 against the SI being currently broadcast by cell2 (26), but this check preferably is not a full reception by the UE 20 of the cell2 SI but only a small portion for comparison against its respective cache entry 408. In this case the UE 20 will include that cell's UCID in the UL RRC message 414 only if the validity check passes.
Now are detailed with reference to
Further portions of
Block 516 concerns cleaning the cache, and the algorithm to do so selects cache entries for deletion according to at least one of: how long the respective cache entry has been stored in the system information cache; how long since the respective cache entry has last been accessed; and amount of free memory in the system information cache. In an embodiment the algorithm prefers to select cache entries for deletion which are not grouped with any other cache entry. Such a preference may be exhibited by frequency or order of cache entry selection.
And finally at block 518 there is a validity check, by which the neighbor cell is identified at block 506 as a suitable candidate for multipoint communications with the UE only after checking validity of the cache entry corresponding to the neighbor cell after its cache entry is selected.
Such blocks and the functions they represent are non-limiting examples, and may be practiced in various components such as integrated circuit chips and modules, and that the exemplary embodiments of this invention may be realized in an apparatus that is embodied as an integrated circuit. The integrated circuit, or circuits, may comprise circuitry (as well as possibly firmware) for embodying at least one or more of a data processor or data processors, a digital signal processor or processors, baseband circuitry and radio frequency circuitry that are configurable so as to operate in accordance with the exemplary embodiments of this invention.
Reference is now made to
The UE 20 includes processing means such as at least one data processor (DP) 20A, storing means such as at least one computer-readable memory (MEM) 20B storing at least one computer program (PROG) 20C, communicating means such as a transmitter TX 20D and a receiver RX 20E for bidirectional wireless communications with the node B 22 via one or more antennas 20F. Also stored in the MEM 20B at reference number 20G is the SI cache including the supervising data and the algorithms detailed more fully with respect to
The serving cell 22 also includes processing means such as at least one data processor (DP) 22A, storing means such as at least one computer-readable memory (MEM) 22B storing at least one computer program (PROG) 22C, and communicating means such as a transmitter TX 22D and a receiver RX 22E for bidirectional wireless communications with the UE 20 via one or more antennas 22F. The neighbor cell is functionally similar with blocks 26A, 26B, 26C, 26D and 26E. There is also a data and/or control path 25 coupling the neighbor cell 26 and the serving cell 22 to the RNC 24 via the NodeB (if neither cell is the NodeB itself, such as if they are remote radio heads or relay nodes).
Similarly, the RNC 24 includes processing means such as at least one data processor (DP) 24A, storing means such as at least one computer-readable memory (MEM) 24B storing at least one computer program (PROG) 24C, and communicating means such as a modem 24H for bidirectional communications with the cells 22, 26, 28 via the data/control path 25. While not particularly illustrated for the UE 20 or cells 22, 26, those devices are also assumed to include as part of their wireless communicating means a modem which may be inbuilt on an RF front end chip within those devices 20, 22, 26 and which also carries the TX 20D/22D/26D and the RX 20E/22E/26E.
At least one of the PROGs 20C in the UE 20 is assumed to include program instructions that, when executed by the associated DP 20A, enable the device to operate in accordance with the exemplary embodiments of this invention, as detailed more fully above. In this regard the exemplary embodiments of this invention may be implemented at least in part by computer software stored on the MEM 20B which is executable by the DP 20A of the UE 20, or by hardware, or by a combination of tangibly stored software and hardware (and tangibly stored firmware). Electronic devices implementing these aspects of the invention need not be the entire UE 20, but exemplary embodiments may be implemented by one or more components of same such as the above described tangibly stored software, hardware, firmware and DP, or a system on a chip SOC or an application specific integrated circuit ASIC or a digital signal processor DSP or a modem or a subscriber identity module commonly referred to as a SIM card.
In general, the various embodiments of the UE 20 can include, but are not limited to: cellular telephones; data cards, USB dongles, personal portable digital devices having wireless communication capabilities including but not limited to laptop/palmtop/tablet computers, digital cameras and music devices, and Internet appliances.
Various embodiments of the computer readable MEM 20B include any data storage technology type which is suitable to the local technical environment, including but not limited to semiconductor based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory, removable memory, disc memory, flash memory, DRAM, SRAM, EEPROM and the like. Various embodiments of the DP 20A include but are not limited to general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and multi-core processors.
Various modifications and adaptations to the foregoing exemplary embodiments of this invention may become apparent to those skilled in the relevant arts in view of the foregoing description. While the exemplary embodiments have been described above in the context of the UTRAN system, it should be appreciated that the exemplary embodiments of this invention are not limited for use with only this one particular type of wireless communication system, and that they may be used to advantage in other wireless communication systems such as for example GERAN, E-UTRAN and others.
Further, the various names used in the above description (e.g., CELL-FACH state, names of the various channels and messages) are not intended to be limiting in any respect, as different radio technologies may use different terms for similar concepts. Some of the various features of the above non-limiting embodiments may be used to advantage without the corresponding use of other described features. The foregoing description should therefore be considered as merely illustrative of the principles, teachings and exemplary embodiments of this invention, and not in limitation thereof.