Signal strength management

Methods and systems for signal strength management are provided. A first (mobile) communication device may provide a server with information relating to the signal strength, and such information may be used to determine future signal strength (e.g., at a different location). The first user may see the signal strength of a second communication device with which it may be communicating. The communication device may also communicate with a system that maintains a real-time database of signal strengths throughout an area, such as a state. A user's handheld device may receive a indications, warnings, and recommended courses of action that the user may take to maintain communications when a signal strength of a wireless communication network is predicted to change. Users of the present invention may take actions to insure that the quality of their call is maintained.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to the field of wireless communication regarding cellular signal strength of handheld devices.

2. Description of the Related Art

It is well-known that wireless communication devices (e.g., “handheld devices” or “mobile devices”) rely on wireless signals of a minimum strength in order to effectively communicate with the cellular network. Signal strength received at a handheld device may be variable and impact phone conversations when it dips below a minimum threshold, resulting in either dropped calls or inaudibility of the call. However, while the user of a handheld device knows the signal strength of their own phone, the user may not know the signal strength of their conversation partner. Signal strength is not currently integrated with iOS, and solutions for fixing weak signal strength do not currently exist. This means that if a caller loses signal, he must accept that he has to end the call regardless of his desire or the call's importance. Moreover, signal strength management systems are not currently available. Presently, callers can see their own signal strength, and they may access historical maps of carrier coverage to obtain a rough idea of where there is good signal and where there are dead spots. In addition, boosters can also be used to increase signal strength in certain areas. Another option for low-signal strength areas is to call using voice over IP on a Wi-Fi connection.

In addition, cell strength can change by time of day and by weather and also can change due to telecommunications assets in repair. The user constantly experiences the cellular reception strength in real-time, but that is not communicated to anyone else for use. This is rich data that can be useful by many systems and entities, not the least the telecommunications systems itself.

There is, therefore, a need in the art for improved systems and methods for signal strength management.

SUMMARY OF THE CLAIMED INVENTION

Embodiments of the present invention include a method and system for measuring cellular signal strength data and using it to alert handheld device users when they may lose adequate signal strength during operation. The method and system may also provide users with various options or selections to prevent interrupting an operation, such as dropping their phone call.

Methods of signal strength management may include receiving a measure of signal strength from a first of electronic communication device, wherein the measure of signal strength is the current measured signal strength received by the first electronic communication device. Methods may further include determining the current location of the first electronic communication device, determining a velocity of the first electronic communication device, determining a path of travel along which the first electronic communication device is traveling when the velocity of the electronic communication device is greater than zero, accessing a database, wherein the database stores the signal strength at a plurality of different locations, forecasting that the signal strength received by the first electronic communication device will likely reduce in the future, wherein the reduced signal strength is forecasted using the current location, the velocity, the path of travel, and the database, and transmitting the reduced signal strength forecast to the first electronic communication device.

Exemplary suggestions that may be provided to a user of a handheld device may include, yet are not limited to, recommending that the user complete the call before a measure of time corresponding to the time of the forecasted future reduction of signal strength, a change in the path of travel that is predicted to maintain a signal strength that is greater than the forecasted signal strength, switching a call from a cellular network to a Wi-Fi network. Users of a handheld device may select any particular action corresponding to the aforementioned suggestions, or to other suggestions that may be provided to the user.

In certain circumstances, a handheld device consistent with the invention may perform a method using the following steps: Initiating a call on a first electronic communication device, wherein the call is to a second electronic communication device, and transmitting an indication of signal strength to the second electronic communication device, wherein the indication of signal strength transmitted corresponds to a currently measured signal strength received by the first electronic communication device.

Apparatuses and non-transitory computer-readable storage media for signal strength management may also be included in embodiments of the present invention. Such apparatuses and computer-readable storage media may involve implementing methods for signal strength management as described herein.

DETAILED DESCRIPTION

Embodiments of the present invention provide for methods and systems of signal strength management. A measure of signal strength may be received from a first of electronic communication device indicating the current measured signal strength received by the first electronic communication device. The current location, velocity, and path of travel of the first electronic communication device may be determined. A database may be accessed to determine what signal strength may be associated with a plurality of different locations. A forecast may be made that the signal strength received by the first electronic communication device will likely reduce in the future based on the determined location, velocity, path of travel, and the database. The forecast may be transmitted to the first electronic communication device.

FIG. 1illustrates a network environment100in which a system for signal strength management may be implemented. Geographic location104(e.g., the state of Vermont in the United States) may be any defined area, including state, province, country, or municipality, and portions thereof.

Road108(e.g., driving paths, train/subway tracks, walkways) may be any type of travel path along which users may travel. Typically, individuals have access to, and are capable of using a cellular device while within the boundaries of the road. An example of such a road108is Interstate 89 (I-89) in the state104of Vermont U.S.A.

Signal regions112A-112C may be any area through which vehicles and cellular users pass or reside. This area may encompasses a portion of road108and territory substantially adjacent to the road, the size and limitations of which may be defined and determined according to methods known in the art. Signal region112A may include a set of discrete users that access cellular services through wireless signals of a certain average strength. Signal region112A may also contain other devices able to access the internet via wireless “Wi-Fi” signals, wired connections, and wireless access to adjacent signal regions. As illustrated, signal region112A may be a segment of I-89 and adjacent territory between White River Junction and Royalton, Vt.; signal region112B may be another segment of I-89 adjacent territory between Royalton and Brookfield, Vt.; and signal region112C may be yet another segment of I-89 and adjacent territory between Brookfield and Montpelier, Vt. Further segments and adjacent territory may be further defined (e.g., signal region112n).

Signal strength116A-n as respectively determined in signal regions112A-n may be a measurement of the strength of cellular service, which may be represented as a number of ‘bars’ from 1 to 5 on a communication device. Stronger signal strength allows for better reception, faster cellular data transfer, and increased phone call clarity (e.g., 4 bars vis-à-vis 1 bar).

Cellular users120A-n in respective signal regions112A-n may be cellular users resident or otherwise located within signal region112A who report signal strength116A to a central database (e.g., at cellular signal strength system128). either directly or by directing their mobile devices to automatically report the signal strength112A.

Signal strength user124may be a cellular user who is travelling along road108through state104and is travelling through multiple signal regions during use of a communication device. As the user is travelling, signal strength may change, and as such, it may be useful to learn how such signal strength will change, as well as recommendations for maintaining a minimum signal strength during the call.

Cellular signal strength system128may include a database that holds signal strength information and associated data collected from multiple communication devices120A-n throughout the signal regions112A-n. Such a database may be an array of disk drives, other electronic memory devices, a set of devices, or other memory devices commonly known in the art.

Cloud communication network132may be any global system of interconnected computer networks that use the standard internet protocol suite (TCP/IP) to serve several billion users worldwide. It may be a network of networks that consists of millions of private, public, academic, business, and government networks from local to global scope, that are linked by a broad array of electronic, wireless, and optical networking technologies and may be, for example the Internet.

Cellular data links136may be any open channel used to transmit data to cloud communication network132. Their purpose is to transmit signal strength data112A-112nfrom cellular users120A-112nto cloud communication network132and may be, for example, wireless “Wi-Fi” signals, wired connections, and other data links, such as are commonly known in the art. Cloud data link140may be one or more data links between cloud communication network132and cellular strength database128through which data is transmitted. Such cloud data links may include a data trunk, a fiber optic line, or any data link that is commonly known in the art.

3rd party users191may include any individual or entity that may be allowed access to the data in cellular strength system128. Such 3rd party may be a telecommunications system company, an application developer, device manufacturers, etc., that may find information regarding signal strength useful.

Data link141may include one or more data links between cloud communication network132and 3rd party users191through which data is transmitted. Such data links may include a data trunk, a fiber optic line, or any type of data link known in the art.

As illustrated, regions112A-n may be located contiguously along road108upon which user124is travelling. In each region, the mobile devices within may detect the signal strength of their respective regions (e.g., signal strengths116A-116n) and transmit that information to cloud communication network132via cellular data links136. Cloud communication network132, in turn, transmits the signal strength data to cellular signal strength system128via cloud data link140. Cellular signal strength system128may then, after analysis, transmit data via cloud data link140through cloud communication network132and cellular data link136to user124. As such, the user may be apprised of the signal strength of a region into which they are about to enter. In some instances, 3rd party users191may be allowed access to the data in cellular strength system128through the data link141to the cloud communication network132. In this way, 3rd party users191can use data from cellular strength system128to improve various hardware, software, and other related products and services.

FIG. 2illustrates an exemplary user interface204of a communication device200and settings thereof that may be used in a system for signal strength management. Users may use any number of different electronic user devices200, such as mobile phones, smartphones, personal digital assistants (PDAs), portable computing devices (e.g., laptop, netbook, tablets), handheld computing device, or any other type of computing device known in the art. User devices200may also be configured to access data from other storage media, such as memory cards or disk drives as may be appropriate in the case of downloaded services. User device200may include standard hardware computing components such as network and media interfaces, non-transitory computer-readable storage (memory), and processors for executing instructions that may be stored in memory. User device200may further be associated with a unique phone number capable of sending and receiving telephone calls, text messages, picture messages, as well as data for internet connectivity, email, and web browsing.

The device200inFIG. 2shows the current signal strength in a bars signal indicator208. Bars indicator208indicates that the current measured signal strength level is 3 bars out of 5. Wi-Fi service indicator212shown in handheld device200is an indicator icon on handheld device200. This indicator shows that the strength of a Wi-Fi currently received is four out of four arcs. Typically, the Wi-Fi service indicator will show zero arcs when the Wi-Fi on handheld device208is turned off, or when there is no Wi-Fi signal in the vicinity of the handheld device208.

User interface204further displays a plurality of software applications216. Software applications216may come pre-installed on the handheld device200, or may be purchased and installed thereon. Software applications216may include applications relating to text messaging, camera applications, clock applications, games, and geo-location applications.

Settings224is an icon that allows a user to access and change the configuration of various functions or setting in the device200. When a user selects this button, another user interface228appears. In certain instances, some settings224may be at least partially incorporated into the operating system of device200. In other instances, some settings224may further relate to software applications that may be installed on device200.

When a plurality of 3rd party users (e.g., 3rd party191inFIG. 1) have signal strength settings224installed on their devices, those users can manage the quality of their communications in ways that help them to avoid interruptions in their communications.

User interface228enables the user to toggle data options on and off, including iOS settings230, cellular settings232, cellular data236, signal strength sharing240, auto signal strength use248, and use cellular data with 252 options regarding such software applications as FaceTime™ and Siri™.

For iPhones, iOS settings230inFIG. 2may include settings that control basic functionality of the iOs operating system environment. Typically, iOS settings230allow a user to modify settings that relate to the display, sound, and connectivity of the device200. iOS settings230may also allow the user to manage the software applications216that are installed on handheld device200.

When a user selects cellular settings232, a submenu (not depicted) will typically be displayed on the handheld device200. In certain instances, cellular settings232include iPhone settings, cellular data settings, data connectivity settings, or other settings that relate to controlling cellular data commonly known in the art.

Cellular data236, signal strength sharing240, auto signal strength use248, and use cellular data with 252 are various features that may be enabled or disabled by a user of the handheld device200using toggle switches229. When cellular data236is enabled, the phone will receive internet connectivity through the cellular data network, when disabled the phone will only be able to access the internet over a Wi-Fi connection. This is a way that a user can turn off cellular data while using email, or while web browsing.

Signal strength sharing240may be enabled within cellular settings232, thereby allowing users to share their current signal strength with each other. Each handheld device supporting this function may display their current measured signal strength208, as well as the signal strength213of another handheld device with which they are communicating.

Auto signal strength248may be enabled within cellular settings232, thereby allowing signal strength measures to be used by other systems or applications within the device200. This setting will automatically share the current signal strength with applications that wish to have access to that data. Auto signal strength248may allow applications as mapping applications and/or the operating system itself to use the data collected about the current signal strength of the device200.

Cellular data selector252may be enabled within cellular settings232, thereby allowing users to select which applications216that are allowed to use cellular data. Users also may typically be able to select which software applications216they wish to allow, or exclude from using cellular data. In certain embodiments, cellular data selector252may include a list of applications that may be selected with a check box or switch in the user interface228.

FIG. 3illustrates an exemplary user interface display304regarding signal strength management on device300. Such display304may include various types of information regarding a call, including information regarding another caller (or call recipient)312, call options316, call timer320, signal strength indicator of the other caller324, and a notification regarding the signal strength328.

User308may be the operator of handheld device300in communication with another user (who may either be the caller or the recipient of the call)312. The soft-selectable call options316buttons allow the user308to mute the phone, open a keypad, change speaker volume, add a call, open FaceTime™, or open a list of contacts. In certain instances, soft-selectable call options316buttons may be displayed on a touch screen of a smartphone. Call timer320is a timer that records the current length of the phone call and the duration at the end of the call. The device of the other user may send its current signal strength to device300, which displays such information as “Theirs”324indicator.

Signal strength notification328may be any type of notification or message regarding signal strength. Typically, receiver user signal analysis328may include indications that the other user's signal strength is poor, fair, or good (e.g., based on the number of signal strength bars associated with the other user's phone). As illustrated, signal strength notification328indicates a “poor signal”.

FIG. 4illustrates another exemplary user interface display regarding signal strength management. Signal notification message404may be any type of notification or message that may be displayed during an active phone call. For example, the user may be traveling from one region to another region. Note that signal strength may significantly worsen as user moves from, inter alia, region112B (with a signal strength of 3 bars) into region112C (with a signal strength of 1 bar). Prior to the user entering an area with low signal strength, a notification stating “warning low signal strength ahead” can be sent to user308. The warning message depicted inFIG. 4states “signal strength will get worse in 1 mile.” Signal notification message404may also be accompanied by an audible noise, a vibration, or any other such alert of which handheld device304is capable.

Typically, suggest button408in system400may be a soft-selection button that user308may select when he sees a signal notification message404. After selection, a list of options or suggestions may be displayed. Suggestions or recommendations displayed in a user interface menu412may include ending the current call (e.g., Stop416), taking an alternate route (e.g., Travel420), telling the other user to call back later (e.g., Recall424), or switching the call from cellular data to voice over IP using Wi-Fi (e.g., Switch428).

Stop call function416is a soft-selection button that user308may select to end a current call before it is dropped. When this function is selected, an automatic signal may be sent to the receiver user's312phone indicating that user308will hang up in less than 1 minute. Conversely, when the current signal strength is poor but predicted to improve, this function may provide for an automatic signal to one or more other users on the call to hold as signal strength should improve shortly (e.g., within 1 minute or so).

Reroute function420is a user interface menu412soft-selection button that user308may press to instruct his phone to map out an alternate route for him. Typically, the alternate route may be forecasted to maintain good signal quality. This option may use a GPS application (and/or an assisted GPS application) that has the ability to provide geo-location information (e.g., directions). When this function is selected, the user may be presented with a route change when one is available. For example, there may be a number of routes toward a destination, each of which may be associated with a signal strength. One of those routes (e.g., having a good signal strength) may be suggested as an alternative route that may provide better signal strength than is currently detected along the present route.

Recall function424is a soft-selection button that user308may select. In certain instances, this will send a message to his conversation partner telling them to call back in a designated amount of time when the signal strength is forecasted to improve. This may be determined by using the velocity of the handheld device and by reviewing the signal strength in upcoming signal regions. This function may be enabled when the user enables the “enable auto signal strength use248” (e.g., settings230ofFIG. 2). In certain instances, the system will alert the user308and the other user312when the call is available for a redial.

Switch function428is a soft-selection button that user308may press to switch their phone call from cellular data to voice over IP using a Wi-Fi network when a Wi-Fi network of sufficient signal strength and bandwidth are available. This option will typically require a Wi-Fi signal, and a third party application enabled to make the voice over IP call. In certain instances, the call may be forwarded from a cell network to Skype™ over the Wi-Fi network. In other instances, the system may automatically engage an application like FaceTime™ when forwarding the call.

FIG. 5illustrates an exemplary system for signal strength management. Cellular signal strength system500includes the cellular signal strength system module510in communication with various users561-562and 3rd party users530. The signal strength system module510may include a real-time users database511, an algorithm512, a world map of most recent data513, users API515, and 3rd party GUI or API516. Signal strength module510may communicate with users via connections555A-C.

Real-time users database511is a database that stores data of each user. Such data may include each user's real-time location, signal strength, and Wi-Fi strength. The module510may also perform calculations regarding velocity and other calculations related to location, time, and signal strength. Real-time users database511may also store user identifications and settings that may relate to a handheld device's operating system settings (as shown in230ofFIG. 2).

Algorithm512represents one or more algorithms for calculating velocity/speed based upon multiple location points and the time it took for the user's handheld device to travel between each location point to the next. Such information and results of such calculations may be sent to the real-time users database511for storage. Furthermore, algorithm512may take data from the real-time users database and update the world map most recent data513. This allows the cellular signal strength system module510to obtain snapshots regarding signal strength at different time periods at different locations. The algorithm512may also calculate average signal strength at various particular locations using a subset of users at an instance of time. In this way, a world map of signal strength at a particular time may be assembled and stored in the real-time user database511. Furthermore, world map of most recent data513may store the data from algorithms512at various points in time.

Users API515may be any application programming interface for communicating data between user devices and the cellular signal strength system module510(e.g., provide updated data to real-time users database511). In some instances, the users API515may further allow for the backup and/or up/downloading of cellular settings (e.g., cellular settings232ofFIG. 2).

3rd party GUI or API516may be any type of graphic user interface or application programming interface that allows data to be communication between 3rd party user devices and cellular signal strength system module510. The 3rd party GUI or API516may also allow the backup and up/downloading of users settings (e.g., cellular settings232ofFIG. 2). This would allow the cellular signal strength system module510to collect data related to 3rd party users530for research and/or to support 3rd party applications.

Connections555A-C represent links between the cellular signal strength system module510(e.g., via cloud communication network132ofFIG. 1) and handheld users561-562, as well as 3rd party users530. Such connections may be a data trunk, fiber optic line, or any data link known in the art.

In operation, cellular signal strength system module510communicates with handheld users561-562, as well as with 3rd party users530, to collect signal strength data at different times and in different locations. In certain instances, the cellular signal strength system module510may periodically poll a user's handheld device for data relating to signal strength and location. Algorithm512may be used to calculate velocity, travel path, and other metrics for each user device, which may also be recorded to real-time user database511. Algorithm512may also calculate aggregated parameters, such as average signal strength for devices at one or more locations. Data in the real-time database511may be reviewed by a 3rd party GUI or API516to 3rd party through link555C.

FIG. 6illustrates an exemplary database600that may be used in a system for signal strength management. In table610, information may be recorded regarding user ID611, location longitude612, location latitude613, time614, speed615, and signal strength616. Table620may further record user ID621, whether cell data is on622, whether the signal strength management function is enabled623, whether auto signal strength is enabled614, apps625, and other626.

Users may be alternatively be identified by their name, or another identifier instead of their phone numbers for each respective user in the user ID611column. Longitude location612and latitude location613identify various unique locations where particular users are at the associated time in the time column614. The data set may also include the speed (velocity) in the speed column615that was calculated for the user.

In certain instances, the direction of travel of each user's handheld device may also be determined and recorded. A data set may also be used to identify the road and direction on that road that the user's handheld device is moving. Datasets will typically be stored in the real-time data base511. Furthermore, speeds or other parameters may be calculated using algorithm512and the data contained in the dataset.

The various other columns in the table620may relate to various cellular settings232of user's handheld device. Cell data622, enable signal strength623, and enable auto signal strength624entries may identify which settings are enabled or disabled on the user's handheld device. Applications (Apps)615in the second data set may identify particular software applications used for a particular user ID621. Other626in the data set may include any other settings set on a user's handheld device.

In certain instances, signal strength ranges between 100%-80% may be listed as good, signal strengths between 80%-60% may be listed as fair, signal strengths between 60%-40% may be listed as weak, and signal strengths less than 40% may be listed as poor. Alternatively, an actual signal strength measurement (e.g., number of bars) at that particular time may also be stored.

FIG. 7is a flowchart illustrating an exemplary method700for signal strength management. In step701, a cellular signal strength system510stores a signal strength, geo-location, and calculated speed of a plurality of handheld devices in a database. Typically, the signal strength may be measured by each individual handheld device. The measure of signal strength may then be transmitted by each handheld device to signal strength system module510. The location, velocity, path, and other characteristics of each handheld device may also be determined. Such information may be determined by each handheld device, or information allowing for such calculations may be transmitted to the signal strength system for calculation.

Alternatively, the location of a handheld device may be determined by the signal strength system using information received by each handheld device from cell towers. This information may be used to calculate the location of in the handheld device. The velocity of a handheld device may be determined by the signal strength system by calculating a change in location of the handheld device over time. Since a change in location corresponds to a distance, the system can determine the distance that a smartphone has traveled in an amount of time, thereby determining the velocity by dividing the distance by the amount of time.

Mobile station assisted GPS is an example of a system for determining the location of a handheld device. This form of assisted GPS uses snapshots of GPS data received by the handheld device that is transmitted to (and received by) a system. Such a system may use high quality GPS signals received by the system itself, compare the fragments of GPS data from the handheld device, and calculate a location. Similar location detection systems are common in the art. Frequently, these systems may use information from cell towers when determining the location of a handheld device. Alternatively, the location of a Wi-Fi hotspot received by a handheld device may be used to determine an approximate location.

In step702, setting options and settings may be provided in the signal strength system according to the user's preference. In this step, the signal strength system provides options and settings to the user for designating preferences. Options and settings provided may include types of suggestions that the user prefers to receive from the system. For example, a user may wish to receive a recommendation relating to when it may be advisable to hang up because the signal strength received by the users handheld device is forecasted to reduce to a certain level. Other suggestions that the user may desire to receive include alternate route suggestions or recommendation regarding when to switch the call to a Wi-Fi network.

In step703, users may be provided with iOS functionality on their handheld device for managing the signal strength system. As such, users may be provided with specific levels of functionality that take advantage of features available on the operating system of the device (e.g., different operating systems other than iOS may be used for phones other than iPhones). This step could also include providing users of other types of handheld devices with options and settings that are supported by their specific type or version of their handheld device.

In step704, 3rd party users may be provided with signal strength information. The signal strength system may provide information relating to signal strength to users of the system. This step may include the system sending alerts to 3rd party users relating to changes in signal strength that may affect such users. This information may also include information relating to the current signal strength of particular handheld devices. Thus, this information enables a user to determine whether it may be better to call a contact using a cellular network, Wi-Fi network, or another network. This functionality also enables the user to decide whether to call a contact now or to wait to call the contact until their signal strength improves.

In step710, the user may be allowed to set up the cellular system functions on their mobile device. As such, the user may select options and settings relating to the signal strength system. The settings and options set up in this step may be the options and settings relating to any of steps701,702, or703.

In step715, a call may be initiated between at least two users of communications devices. While the call may be initiated in accordance with methods known in the art, the cellular signal strength management system module provides each user with information regarding the other's signal strength in real-time during a call. In certain instances, the system may further provide suggestions or recommendations on how to maintain signal strength or avoid interruptions in the call.

In step720, one or more 3rd party users may be provided access to the database of signal strength information. Information in the database may include recent signal strength information reported to the system by various users in various locations at various times. Such information may be used to derive or calculate various metrics, including velocity, path, direction, average signal strength for one or more locations over a period of time, or an entire mapping of signal strength over a given path. Thus, embodiments of the invention allow a user to plan a route that provides the best signal strength before they embark on a journey.

FIG. 8is a flowchart illustrating an alternative method for signal strength management. In step810, a system may be provided that allows handheld device users to manage their shared signal strength data with each other and with the signal strength system. This step is where individual users may be allowed to provide selections regarding how their respective handheld device will interact with other devices and with the signal strength system. For example, individual users may review options and settings in the operating system settings. This step may also include the providing users of other types of handheld devices with options and settings that are supported by their specific type or version of handheld device.

In step815, a user may set options and settings relating to signal strength sharing. Thus, a user may enable, disable, or set signal strength settings to their personal preference.

In step820, the user may choose to enable automatic signal strength sharing, which allows the handheld device to share signal strength information by default. When automatic signal strength sharing is enabled, the user's handheld device can automatically transmit and receive signal strength information with compatible handheld devices. Automatic signal strength sharing may also cause the user's handheld device to automatically transmit signal strength information to the signal strength system with it is enabled.

In step830, a call may be connected between a first handheld device an a second handheld device. This is where a first user may speak with a second use.

In step840, a measure of signal strength may be transmitted from the first handheld device to the second hand held device, and a corresponding indication of signal strength from the second handheld device may be received at the first handheld device. As such, the first handheld device and the second handheld device share their respective signal strengths with each other. Thus, the users of the respective devices may be made aware of the other's current signal strength.

In step850, a forecast relating to a future signal strength may be sent from a cellular signal strength system module and received at one or both of the handheld devices. For example, the first handheld device may be traveling along a certain path known to have certain variations in signal strength. At a certain point prior to signal strength dropping to a certain threshold, a notification and/or forecast may be generated by the signal strength module and sent to the device as it nears the region of low signal strength. In some embodiments, the forecast may further include a suggestion or recommendation on how to manage or maintain signal strength. The user may maintain or terminate the call, as well as pause or change paths. The forecast may further indicate the predicted or expected signal strength at a location towards which the user may be advancing. Such information may allow or assist the user with the decision on how to address the predicted reduction of signal strength.

In step860, the user of the first electronic device may be allowed to select a manu of suggested or recommended actions. In certain instances, user may typically select from a list of suggestions that may include hanging up, pausing along the current path, taking alternate path, telling the other user(s) to call back or to expect low quality sound, or switching to Wi-Fi. In some embodiments, the other users with whom the first user may be speaking may also be presented with suggested or recommended actions in response to the predicted reduction in signal quality. Such actions may be the same or different from the set presented to the first user.

FIG. 9illustrates a mobile device architecture that may be utilized to implement the various features and processes described herein. Architecture900can be implemented in any number of portable devices including but not limited to smart phones, electronic tablets, and gaming devices. Architecture900as illustrated inFIG. 9includes memory interface902, processors904, and peripheral interface906. Memory interface902, processors904and peripherals interface906can be separate components or can be integrated as a part of one or more integrated circuits. The various components can be coupled by one or more communication buses or signal lines.

Processors904as illustrated inFIG. 9are meant to be inclusive of data processors, image processors, central processing unit, or any variety of multi-core processing devices. Any variety of sensors, external devices, and external subsystems can be coupled to peripherals interface906to facilitate any number of functionalities within the architecture900of the exemplar mobile device. For example, motion sensor910, light sensor912, and proximity sensor914can be coupled to peripherals interface906to facilitate orientation, lighting, and proximity functions of the mobile device. For example, light sensor912could be utilized to facilitate adjusting the brightness of touch surface946. Motion sensor910, which could be exemplified in the context of an accelerometer or gyroscope, could be utilized to detect movement and orientation of the mobile device. Display objects or media could then be presented according to a detected orientation (e.g., portrait or landscape).

Other sensors could be coupled to peripherals interface906, such as a temperature sensor, a biometric sensor, or other sensing device to facilitate corresponding functionalities. Location processor915(e.g., a global positioning transceiver) can be coupled to peripherals interface906to allow for generation of geo-location data thereby facilitating geo-positioning. An electronic magnetometer916such as an integrated circuit chip could in turn be connected to peripherals interface906to provide data related to the direction of true magnetic North whereby the mobile device could enjoy compass or directional functionality. Camera subsystem920and an optical sensor922such as a charged coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) optical sensor can facilitate camera functions such as recording photographs and video clips.

Communication functionality can be facilitated through one or more communication subsystems924, which may include one or more wireless communication subsystems. Wireless communication subsystems924can include 802.5 or Bluetooth transceivers as well as optical transceivers such as infrared. Wired communication system can include a port device such as a Universal Serial Bus (USB) port or some other wired port connection that can be used to establish a wired coupling to other computing devices such as network access devices, personal computers, printers, displays, or other processing devices capable of receiving or transmitting data. The specific design and implementation of communication subsystem924may depend on the communication network or medium over which the device is intended to operate. For example, a device may include wireless communication subsystem designed to operate over a global system for mobile communications (GSM) network, a GPRS network, an enhanced data GSM environment (EDGE) network, 802.5 communication networks, code division multiple access (CDMA) networks, or Bluetooth networks. Communication subsystem924may include hosting protocols such that the device may be configured as a base station for other wireless devices. Communication subsystems can also allow the device to synchronize with a host device using one or more protocols such as TCP/IP, HTTP, or UDP.

Audio subsystem926can be coupled to a speaker928and one or more microphones930to facilitate voice-enabled functions. These functions might include voice recognition, voice replication, or digital recording. Audio subsystem926in conjunction may also encompass traditional telephony functions.

I/O subsystem940may include touch controller942and/or other input controller(s)944. Touch controller942can be coupled to a touch surface946. Touch surface946and touch controller942may detect contact and movement or break thereof using any of a number of touch sensitivity technologies, including but not limited to capacitive, resistive, infrared, or surface acoustic wave technologies. Other proximity sensor arrays or elements for determining one or more points of contact with touch surface946may likewise be utilized. In one implementation, touch surface946can display virtual or soft buttons and a virtual keyboard, which can be used as an input/output device by the user.

Other input controllers944can be coupled to other input/control devices948such as one or more buttons, rocker switches, thumb-wheels, infrared ports, USB ports, and/or a pointer device such as a stylus. The one or more buttons (not shown) can include an up/down button for volume control of speaker928and/or microphone930. In some implementations, device900can include the functionality of an audio and/or video playback or recording device and may include a pin connector for tethering to other devices.

Memory interface902can be coupled to memory950. Memory950can include high-speed random access memory or non-volatile memory such as magnetic disk storage devices, optical storage devices, or flash memory. Memory950can store operating system952, such as Darwin, RTXC, LINUX, UNIX, OS X, ANDROID, WINDOWS, or an embedded operating system such as VXWorks. Operating system952may include instructions for handling basic system services and for performing hardware dependent tasks. In some implementations, operating system952can include a kernel.

Memory950may also store communication instructions954to facilitate communicating with other mobile computing devices or servers. Communication instructions954can also be used to select an operational mode or communication medium for use by the device based on a geographic location, which could be obtained by the GPS/Navigation instructions968. Memory950may include graphical user interface instructions956to facilitate graphic user interface processing such as the generation of an interface; sensor processing instructions958to facilitate sensor-related processing and functions; phone instructions960to facilitate phone-related processes and functions; electronic messaging instructions962to facilitate electronic-messaging related processes and functions; web browsing instructions964to facilitate web browsing-related processes and functions; media processing instructions966to facilitate media processing-related processes and functions; GPS/Navigation instructions968to facilitate GPS and navigation-related processes, camera instructions970to facilitate camera-related processes and functions; and instructions972for any other application that may be operating on or in conjunction with the mobile computing device. Memory950may also store other software instructions for facilitating other processes, features and applications, such as applications related to navigation, social networking, location-based services or map displays.

Certain features may be implemented in a computer system that includes a back-end component, such as a data server, that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of the foregoing. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Some examples of communication networks include LAN, WAN and the computers and networks forming the Internet. The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

One or more features or steps of the disclosed embodiments may be implemented using an API that can define on or more parameters that are passed between a calling application and other software code such as an operating system, library routine, function that provides a service, that provides data, or that performs an operation or a computation. The API can be implemented as one or more calls in program code that send or receive one or more parameters through a parameter list or other structure based on a call convention defined in an API specification document. A parameter can be a constant, a key, a data structure, an object, an object class, a variable, a data type, a pointer, an array, a list, or another call. API calls and parameters can be implemented in any programming language. The programming language can define the vocabulary and calling convention that a programmer may employ to access functions supporting the API. In some implementations, an API call can report to an application the capabilities of a device running the application, such as input capability, output capability, processing capability, power capability, and communications capability.

Users may use any number of different electronic user devices, such as general purpose computers, mobile phones, smartphones, personal digital assistants (PDAs), portable computing devices (e.g., laptop, netbook, tablets), desktop computing devices, handheld computing device, or any other type of computing device capable of communicating over communication network. User devices may also be configured to access data from other storage media, such as memory cards or disk drives as may be appropriate in the case of downloaded services. User device may include standard hardware computing components such as network and media interfaces, non-transitory computer-readable storage (memory), and processors for executing instructions that may be stored in memory.

The figures included with this disclosure are for the purpose of illustrating the invention. The figures show aspects of one or more embodiments of the invention and are examples, the figures are not meant to limit the scope of the invention. So it should be understood that the present invention is not limited to the precise arrangements and instrumentalities shown in the figures.

Communication networks or links allow for communication between the user device, cloud social media system, and third party developers via various communication paths or channels. Such paths or channels may include any type of data communication link known in the art, including TCP/IP connections and Internet connections via cellular, Wi-Fi, Bluetooth, UMTS, etc. In that regard, communications network may be a local area network (LAN), which may be communicatively coupled to a wide area network (WAN) such as the Internet. The Internet is a broad network of interconnected computers and servers allowing for the transmission and exchange of Internet Protocol (IP) data between users connected through a network service provider. Examples of network service providers are the public switched telephone network, a cable service provider, a provider of digital subscriber line (DSL) services, or a satellite service provider. Communications network allows for communication between any of the various components of network environment.

The cellular signal strength system module may include any type of server or other computing device as is known in the art, including standard hardware computing components such as network and media interfaces, non-transitory computer-readable storage (memory), and processors for executing instructions or accessing information that may be stored in memory. The functionalities of multiple servers may be integrated into a single server. Alternatively, different functionalities may be allocated among multiple servers, which may be located remotely from each other and communicate over the cloud. Any of the aforementioned servers (or an integrated server) may take on certain client-side, cache, or proxy server characteristics. These characteristics may depend on the particular network placement of the server or certain configurations of the server.