The present invention relates to a method and system for establishing a cellular connection. The present invention further relates to cell reselection.
A mobile client device may connect with a network in order to allow access to a variety of services and data. During an access procedure, such as a call setup, the mobile client device may send a message along a random access channel (RACH) to a selected cell of a network. The mobile client device may wait for an immediate assignment. If the client mobile device fails to obtain an assignment from that cell, the mobile client device may try to connect to a second cell once the attempts on the first cell has timed out.
A method, apparatus, and electronic device for establishing a cellular connection are disclosed. A processor may select a primary telecommunication cell. A primary radio may decode a primary connection parameter for the primary telecommunication cell. The primary radio may execute an initial primary connection attempt with the primary telecommunication cell. The primary radio or a secondary radio may decode a secondary connection parameter for a secondary telecommunication cell prior to a subsequent primary connection attempt.
In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
a-b shows in timing diagrams decoding procedures.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth herein.
Various embodiments of the invention are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the invention.
The present invention comprises a variety of embodiments, such as a method, an apparatus, and an electronic device, and other embodiments that relate to the basic concepts of the invention. The electronic device may be any manner of computer, mobile device, or wireless communication device.
A method, apparatus, and electronic device for establishing a cellular connection are disclosed. A mobile client device (MCD) may speed up the cellular access process by decoding the connection parameters for a secondary, or backup, telecommunication cell during the access process with the primary telecommunication cell. The MCD may make use of a latency time following a connection attempt and before a response to decode the secondary connection parameters. The MCD may further make use of downtime during the response decoding process to further decode the secondary connection parameters. Thus, when the MCD has made a threshold number of access attempts, the MCD may reselect the secondary communications cell more quickly. The MCD may adjust the threshold number of access attempts based on a channel quality between the MCD and the primary telecommunications cell.
A processor may select a primary telecommunication cell. A primary radio may decode a primary connection parameter for the primary telecommunication cell. The primary radio may execute an initial primary connection attempt with the primary telecommunication cell. The primary radio or a secondary radio may decode a secondary connection parameter for a secondary telecommunication cell prior to a subsequent primary connection attempt.
The handheld device 100 may include a controller or processor 104 that executes stored programs. The controller or processor 104 may be any programmed processor known to one of skill in the art. However, the decision support method may also be implemented on a general-purpose or a special purpose computer, a programmed microprocessor or microcontroller, peripheral integrated circuit elements, an application-specific integrated circuit or other integrated circuits, hardware/electronic logic circuits, such as a discrete element circuit, a programmable logic device, such as a programmable logic array, field programmable gate-array, or the like. In general, any device or devices capable of implementing the decision support method as described herein can be used to implement the decision support system functions of this invention.
The handheld device 100 may also include a volatile memory 106 and a non-volatile memory 108 to be used by the processor 104. The volatile 106 and nonvolatile data storage 108 may include one or more electrical, magnetic or optical memories such as a random access memory (RAM, cache, hard drive, or other memory device. The memory may have a cache to speed access to specific data. The memory may also be connected to a compact disc-read only memory (CD-ROM), digital video disc-read only memory (DVD-ROM, DVD read write input, tape drive or other removable memory device that allows media content to be directly uploaded into the system.
The handheld device 100 may include a user input interface 110 that may comprise elements such as a keypad, display, touch screen, or any other device that accepts input. The handheld device 100 may also include a user output device that may comprise a display screen and an audio interface 112 that may comprise elements such as a microphone, earphone, and speaker. The handheld device 100 also may include a component interface 114 to which additional elements may be attached, for example, a universal serial bus (USB) interface or an audio-video capture mechanism. Finally, the handheld device 100 may include a power supply 116.
Client software and databases may be accessed by the controller or processor 104 from the memory, and may include, for example, database applications, word processing applications, video processing applications as well as components that embody the decision support functionality of the present invention. The user access data may be stored in either a database accessible through a database interface or in the memory. The handheld device 100 may implement any operating system, such as Windows or UNIX, for example. Client and server software may be written in any programming language, such as ABAP, C, C++, Java or Visual Basic, for example.
A MCD may access a network and maintain a connection with that network using a series of telecommunications cells.
Previously, after the PTC 222 failed to grant access after a threshold number of primary connection attempts was reached, the MCD 210 would download the SI for the secondary telecommunication cell (STC) 224. The terms “primary telecommunication cell” and “secondary telecommunication cell” are merely used to distinguish between first and second cells chosen, and do not bestow any type of status upon those cells. The MCD 210 would then attempt a secondary connection attempt.
Under the present invention, after the initial primary connection attempt and prior to a subsequent primary connection attempt, the MCD 210 may download the secondary connection parameters for the STC 224, in preparation for a secondary connection attempt. The MCD 210 may use the first radio 212 or the second radio 214 to download the secondary connection parameters.
Previous attempts to access a cellular network required the MCD to wait until the connection attempts with the primary telecommunications cell had failed.
a shows in a timing diagram a previous embodiment of the decoding procedure 400. The MCD 210 may send an initial RACH message 402. Before sending a subsequent RACH message 402, the MCD 210 may decode the serving cell BCCH for an assignment during time period 404. Via the BCCH, the network 220 may set the amount of time before resending a RACH message and the maximum number of RACH messages to be sent.
The network response latency between the first RACH message sent by the MCD 210 and the first IA response tends to be 100 ms. The MCD 210 may use this network response latency to begin decoding the connection parameters for a secondary telecommunications cell.
The MCD 210 may also make use of downtime present during the decoding of an IA response.
By expediting a cellular call setup time, the MCD 210 may more efficiently switch to attempting a connection with a STC 224 when the connection attempt with a PTC 222 fails.
Once the network response latency (NRL) period has passed (Block 608), the MCD 210 may read the next active frame 518 (Block 612). If the next frame is not decodable (Block 614) and the time for the next RACH message has not arrived (Block 616), then the MCD 210 may read the next active frame 518 Block 612). If the time for the next RACH message has arrived Block 616) and the threshold number for the maximum number of RACH attempts to that cell has not been reached (Block 618), then the MCD 210 may send a RACH message to the current cell (Block 620). If the time for the next RACH message has arrived Block 616) and the threshold number for the maximum number of RACH attempts to that cell has been reached Block 618), the MCD 210 may reselect a cell (Block 622). If the next frame is decodable Block 614) and an IA message is received (Block 624), then the MCD 210 may enter a dedicated mode procedure (Block 626). If an IA message is not received (Block 624) and the neighboring cell BCCH is not readable (Block 628), then the MCD 210 may check if the time for the next RACH message has arrived (Block 616). If the neighboring cell BCCH is readable Block 628), then the MCD 210 may decode the neighboring cell BCCH (Block 630) and may check if the time for the next RACH attempt has arrived (Block 616).
The preemptive decoding of the BCCH of neighboring cells may drastically speed up the cell reselect process and reduce current drain.
The call set up procedure may be further expedited by adjusting the maximum number of RACH messages that are attempted with any given cell.
The MCD 210 may determine if downlink errors have caused a failure to decode IA messages. The MCD 210 may reduce the threshold number of RACH messages as a result. If the MCD 210 detects some downlink errors while decoding (Block 810), the MCD 210 may decrement ERR (Block 812). If ERR is equal to zero (Block 814), the MCD 210 may select a new cell (Block 816). If ERR does not equal zero (Block 814), the MCD 210 may send a new RACH message (Block 804).
The MCD 210 may determine if uplink collisions are interfering with reception by the telecommunication cell of the RACH messages. If the MCD 210 receives an IA message for other mobile devices on the same absolute frame number (AFN) (Block 818), and the maximum number of RACH attempts has been reached (Block 820), then the MCD 210 may select a new cell (Block 816). If the maximum number of RACH attempts has not been reached (Block 820), then the MCD 210 may send a new RACH message (Block 804).
The MCD 210 may determine if the network is busy, as indicated by the MCD 210 receiving an IA rejection message for other mobile devices. The MCD 210 may also detect uplink errors or network errors. If the MCD 210 has received an IA rejection message for other mobile devices (Block 822) or has not received an IA message (Block 824) and the monitoring window is over (Block 826), then the MCD 210 may decrement ERR (Block 812). If the monitoring window is not over (Block 826), the MCD 210 may decode the next paging channel block for an IA message (Block 808). If an IA message has been received (Block 824), then the RACH was successful and the MCD 210 may move to the dedicated mode procedure (Block 828).
Embodiments may also be practiced in distributed computing environments where local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network may perform tasks.
Embodiments within the scope of the present invention may also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or combination thereof) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of the computer-readable media.
Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Computer-executable instructions also include program modules that are executed by computers in stand-alone or network environments. Generally, program modules include routines, programs, objects, components, and data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
Although the above description may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described embodiments of the invention are part of the scope of this invention. For example, the principles of the invention may be applied to each individual user where each user may individually deploy such a system. This enables each user to utilize the benefits of the invention even if any one of the large number of possible applications do not need the functionality described herein. In other words, there may be multiple instances of the electronic devices each processing the content in various possible ways. It does not necessarily need to be one system used by all end users. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.