Network connectivity planning using crowdsourced data
By using crowdsourcing network maps to generate network connection plans, the problem of difficulty in obtaining reliable network connections on planned routes is solved, and the stability and quality of network connections are improved.
Patent Information
- Application Number
- CN202080052333.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-07-22
- Filing Date
- 2020-05-27
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2040-05-27
AI Technical Summary
When traveling along planned routes, user equipment has difficulty obtaining reliable network connections, resulting in unstable network quality and poor user experience.
Generate network connection plans using crowdsourcing network maps, optimize network switching and selection to ensure maximum network connection quality by mapping geographic locations to wireless network parameters.
It realizes minimizing network switching on the planned route, improving the stability and quality of network connections, and thus improving the user experience.
Smart Images

Figure CN114144800B_ABST
Abstract
Description
Technical Field
[0001] This document relates generally, but not limited to, wireless networks, and particularly, but not limited to, planning network connections for computing devices traveling along a planned route. Background Art
[0002] There are several applications available for users to plan travel routes so as to minimize the total travel time between the starting location and the end location. These applications can provide several alternative routes based on road type, predicted vehicle traffic, construction or other travel considerations. Then, the user can select the desired route and travel along the route between the starting location and the end location. When traveling along the planned route, user devices and other computing devices may wish to access various types of data through various wireless networks. Network connections may vary greatly due to geographical location. For some users, when traveling between the starting location and the end location, a reliable network connection may be the most important. BRIEF DESCRIPTION OF THE DRAWINGS
[0003] In the accompanying drawings, which are not necessarily drawn to scale, like numbers may describe similar parts in different views. Like numbers with different letter suffixes may represent different instances of similar components. Some embodiments are illustrated in the accompanying drawings by way of example and not limitation, in which:
[0004] Figure 1 is a diagram illustrating an exemplary system for crowdsourcing network connectivity data.
[0005] Figure 2 is a logical diagram illustrating a network map generated using crowdsourced network data.
[0006] Figure 3 is a flow chart illustrating a method of generating a network map using crowdsourced data.
[0007] Figure 4 is a client-side display illustrating a map including a planned route and data from a web map.
[0008] Figure 5 is a flow chart illustrating a method of generating a network connection plan based on a planned travel route and a network map.
[0009] Figure 6 is a flow chart illustrating a method of performing network connection planning while traveling a planned route.
[0010] Figure 7 is a flow chart illustrating a method of updating a network connection plan while traveling a planned route.
[0011] Figure 8is a flow chart illustrating a method of updating a network connection plan while traveling a planned route.
[0012] Fig. 9 is a block diagram illustrating an example of a machine upon which one or more embodiments may be implemented. DETAILED DESCRIPTION
[0013] A system and method are disclosed herein that utilizes a crowdsourced network map indicating one or more network parameters for various geographic locations to generate a network connection plan. Many times, users traveling from one location to another not only want to minimize travel time, but also expect reliable network services (voice, data, etc.). When traveling, users may be connected to several networks via one or more channels of each network. One or more of those networks and / or channels may become unavailable or may have low quality, thereby providing a poor experience for the corresponding users. In addition, channel and / or network switching may occur while traveling, which may cause temporary interruption of service. Therefore, it is desirable to plan network access for users traveling along a specified route to maximize the quality of network connection for the entire route, thereby providing a better experience for users.
[0014] In order to provide users with improved network quality, a crowdsourced network map can be used to generate a network connection plan for a computing device that plans to travel along a route from a starting location to an ending location. In one example, a network plan for a computing device can be generated to minimize the number of network and / or channel switches for users traveling along the planned route. The computing device can then use the network connection plan to connect to one or more specified networks through one or more specified wireless channels while traveling along the planned route. The network connection plan can be updated using an updated network map or advertised connections from other computing devices traveling along a similar route while the computing device travels along the planned route.
[0015] Figure 11 is a diagram illustrating an exemplary system 100 for crowdsourcing network connectivity and quality data. The system 100 includes one or more servers 102 and user devices 104a-104f that access one or more wireless networks 106a-106e. The user devices 104a-104f may be any user device that travels along one or more geographic routes while accessing one or more wireless networks 106a-106e. The wireless networks 106a-106e may be cellular networks, local area networks, wide area networks, or any other wireless networks. For example, the wireless networks 106a-106e may include one or more 3rd generation (3G), 4th generation (4G), long term evolution (LTE), 5th generation (5G), or any other cellular network, wireless networks that are based on the Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards (known as wireless networks). ), IEEE802.16 standard series (known as ), IEEE 802.16.4 family of wireless networks, or any other wireless network. Each of the wireless networks 106a-106e can be configured to communicate with one or more of the user devices 104a-104f on one or more network channels. The channels can be, for example, frequency channels defined by the wireless standards for the corresponding network communications. Although illustrated as five wireless networks 106a-106e and six user devices 104a-104e, any number of user devices can provide data about any number of wireless networks.
[0016] The user devices 104a-104f can be configured to communicate with the server 102 through any connection (including wired connections and wireless connections). Each user device 104a-104f (which can be a phone, tablet computer, laptop computer, wearable device or other personal computing device) can be configured to upload data to the server 102 and download data from the server 102. Each user device 104a-104f can upload current location data and data including one or more network parameters of one or more wireless networks in the wireless networks 106a-106e to the server 102. These network parameters can include, for example, network type, channel availability, channel quality, network availability, network download speed, network upload speed, voice availability, voice quality, and any other parameters or indications for each corresponding network. The user devices 104a-104f can transmit the network parameters to the server 102 through the corresponding network 106a-106e that the corresponding user devices 104a-104f are reporting or through another network. For example, the user device can report the voice connection availability to the server 102 through a data connection. The data may be uploaded to the server 102 in real time, or may be stored by the respective user devices 104a - 104f and uploaded to the server 102 at a later time.
[0017] The server 102 may include one or more applications configured to collect network quality data from user devices 104a-104f and compile a "crowd-sourced" network map for one or more geographic areas. For example, the network quality data may be provided to the server 102 along with current geographic information, such as latitude and longitude coordinates. The network map may be a model of the wireless networks 106a-106e stored in a database, where geographic coordinates are mapped to specific networks 106a-106e and corresponding network quality data. The data can be grouped into geographic areas of arbitrary size based on the coordinates, such as city blocks, sections of highways, or any other specified geographic area.
[0018] Figure 2 2 is a logical diagram illustrating a network map 200 generated using crowdsourced network quality data. The network map may store, for example, a geographic location 202, a network 204, and a network parameter 206 and map them to each other. In other examples, additional crowdsourced data related to one or more wireless networks may be stored. The geographic location 202 can include coordinates (such as latitude and longitude), and / or a geographic area, such as a city block, a parcel of land, a portion of a highway, or any other geographically defined area.
[0019] The geographic location 202 can be mapped to one or more networks 204. For example, if a network is available for a particular geographic location, the corresponding network can be mapped to the geographic location (and / or the geographic location can be mapped to the network). The networks 204 can include data such as a network identifier, a network type, and any other data specific to a wireless network. Each wireless network in the networks 204 can also be mapped to one or more network parameters. The parameters can include network availability, channel availability, channel stability, channel strength, and any other parameters or indicators about the corresponding wireless network.
[0020] Information for the network map 200 may be stored in one or more databases in any desired format. The network map 200 may be generated by the server 102 or any other computing system using crowdsourced data received from the user devices 104a-104f. The network map may also generate and store indicators 208 generated by the server 102 about the geographic location 202, the network 204, and / or the parameter 206. In one example, the indicator 208 may include a list of all network outages for the corresponding wireless network 106a-106e for each geographic area. In another example, the indicator 208 may include a network quality indicator for each wireless network and / or a channel for each geographic area. For example, for each channel of the network in each geographic area, the network map may include an indicator between 0 and 10, 0 indicating no connection, and 10 indicating a good connection. In another example, the indicator 208 may be a simple binary "yes" or "no" about whether a type of network is available for the corresponding geographic area. In some examples, machine learning or any other algorithm may be used to generate the indicator.
[0021] Indicator 208 can also be generated so as to provide multiple indications for the corresponding network or channel. For example, it is possible to assign scores for each category in various categories to each channel of the corresponding network. In an example, the category can include bandwidth, delay, throughput, jitter, error rate, and / or any other network performance category. In an example, multiple user devices 104a-104e can provide data about the corresponding channel for the corresponding geographic area. Then, the corresponding channel can be scored using the data. For example, these scores can then be used to notify the connection selection by the computing device. In an example, for users who expect to use Voice over Internet Protocol (VoIP), it may be desirable to know which channels have low delay, and for users of streaming data, it may be desirable to know which channels have high bandwidth. Therefore, one or more applications can use these indicators 208 to plan network connections for computing devices traveling through geographic locations 202.
[0022] Figure 3300 is a flow chart illustrating a method 300 for generating a network map. The method 300 can be performed by a server 102, a user device 104a-104f, or any other computer system. At step 302, a user device (such as a phone, a tablet computer, a laptop computer, a wearable device, and other user devices) uploads information about one or more parameters of a network to which the corresponding user device is connected. For example, the user device may be connected to a cellular network and use a cellular voice connection and / or a cellular data connection. In another example, the user device may be connected to a local area network or a wide area network using any wireless protocol, such as a wireless protocol known as a cellular protocol. The IEEE 802.11 series of standards, known as The IEEE 802.16 family of standards, or any other network standard. In other examples, the device may be connected to another type of wireless network. In some examples, the user device may provide information about one or more parameters of a network and / or channel to which the corresponding user device is not connected. For example, a service set identifier (SSID) and nearby The signal strength of the network.
[0023] The corresponding user equipment can provide the geographical location of the device, the cellular or other wireless network to which the device is wirelessly connected, the wireless channel through which the device is connected to the wireless network, the connection quality, and other parameters about the corresponding network. The location of the device can be provided using geographic coordinates, such as the latitude and longitude using a global positioning system (GPS), for example, an area descriptor, such as the intersection of two roads, or any other geographical data indicating the location of the device. The connection quality can be a signal-to-noise ratio, an indication about a successful connection, or any other indicator of connection quality. The user equipment can provide similar data about the quality of the voice connection. In some examples, the device can provide the current navigation route that the user equipment is traveling on, which is input by the user.
[0024] At step 304, the collected data is used to generate a network map. The network map can take any form that allows network parameters for a wireless network to be mapped to a geographic location. The network map data can be stored in one or more databases, for example, in any database storage format. Indicators such as general network availability indicators for a geographic area can be generated using the uploaded user data. For example, at step 306, part or all of the generated network map can be provided to other computing devices for use in planning network connections for a planned route of travel.
[0025] Figure 44 is a diagram illustrating an exemplary client-side display 400 for a user. Display 400 includes a map illustrating a starting location 402, an ending location 404, a planned route 406, an alternative route 408, and a network indicator 410. Network indicator 410 can provide an indication of one or more parameters of one or more wireless networks to the user. For example, indicator 412 can provide an indication of: The network is available, no cellular voice connection is available, no cellular data is available, cellular data bandwidth is particularly high or particularly low, or any other indication regarding any other network along the planned route 406 and / or alternate route 408 .
[0026] By knowing whether a particular network or network type is available for the entire trip, display 400 may allow the user to better select between planned route 406 and alternate routes 408. For example, if the user is going to make an important voice call during the trip, the user may want to avoid any routes that indicate that cellular voice connectivity is particularly poor or unavailable for any specified portion of the route.
[0027] Display 400 may include only indicators 410 that are particularly important to the user, so that the user is not overwhelmed by data. For example, the user may not need to know the connection quality of each channel of each network along the planned route. Therefore, display 400 may only include indicators 410 that provide indications such as network outages or other important indications about the planned route. The client-side device can select these indicators 410 using instructions from server 102, user preferences, or any other basis for selecting indicators 410 for display 400.
[0028] Figure 5 4 is a flowchart illustrating a method 500 for planning a network connection for a planned route using a network map. Similar to generating display 400, the client-side device can start with a planned route between a starting location and an ending location for a user. The planned route can be generated using an application running on a user device, a computing device of an automatic vehicle, or other computing system. The application that generates these planned routes can also be configured to upload the planned routes to a server for generating the network map, or the planned routes can be sent to another separate application running on the same or separate computing device. For example, a network connection planning application can be loaded and run on a user or other computing device, and is configured to receive the generated planned route from a separate route planning application.
[0029] When executing method 500, the user may have selected the route that the user wishes to travel. For example, method 500 can be performed by a server (such as server 102) or by a client-side computing device (such as user device 104a-104f). Method 500 can be performed by one or more applications running on the corresponding user or other computing device. At step 502, a planned route of travel is received. The planned route can be generated by an application executed on the client-side device, or can be received from one or more servers via a wired connection or a wireless connection. At step 504, the network map is received. If method 500 is performed by a client-side computing device, the network map can be received from one or more servers via a wired or wireless network connection. If method 500 is performed by a server, the server may already have the network map because the server may have generated the network map, or the server may receive the network map from one or more other computing devices (such as another server).
[0030] The network map may include network parameters and / or indicators for both the wireless network and the specific channels of the wireless network. The planned route may be divided into one or more parts. The parts may have any geographical size and may be equal or unequal in distance. For example, the parts may be city blocks, a mile-long rural road, or any other geographical part along the planned route. In some examples, the size of the parts may be set based on how the network map is stored. If the network map is generated and stored using data about city blocks, the size of the parts may be set to one or more city blocks. At steps 506 and 508a-508c, a network connection plan for each part of the planned route is generated.
[0031] The network plan may include one or more planned connections to one or more networks via corresponding channels. When generating a network connection plan, the system may consider several factors. For example, indicator 208 ( Figure 2 ) can be used in conjunction with the planned activities of the computing device to select the channel to be assigned to the computing device for the corresponding portion of the route. For example, a computing device that indicates a plan or forecast (e.g., through historical data) to primarily use VoIP can be assigned the channel with the lowest latency indicated by the network map for the corresponding portion of the route. For example, the channel with the lowest latency score can be assigned. In another example, a computing device that is primarily used to stream data (such as music) can be assigned the channel with the maximum throughput indicated by the network map for the corresponding portion of the route.
[0032] In some examples, channels may be assigned to portions of a route based on a network map that indicates a threshold performance. If the channel with the best indicated performance is always assigned to a corresponding geographic area, that channel may quickly become overburdened. In order to avoid assigning the same channel to all computing devices traveling in a corresponding geographic area, a threshold performance may be used, and any channel that provides a better connection than the threshold may be assigned to the corresponding computing device. For example, for computing devices that are planned to use primarily VoIP, a latency threshold may be used. A random channel may be selected from all channels that the network map indicates have a latency better than the threshold. In this way, overuse of a single channel may be avoided.
[0033] In some examples, as illustrated by optional step 508b, the system may allocate channels and / or networks to a network connection plan to minimize channel and / or network switching. Network and channel switching can cause network interruptions. This is particularly undesirable when performing delay-sensitive tasks. For example, by limiting or eliminating channel and / or network switching, these interruptions can be reduced or eliminated, thereby improving the user experience. In order to reduce switching, the system may select networks and / or channels for a portion of the route that may not have the best quality, but the total number of switches within the network connection plan can be reduced. For example, a first wireless network may be selected for the first portion of the route. For the next portion, a second wireless network may be indicated to provide better connection quality, but the system may choose to keep the computing device connected to the first wireless network, which may still have sufficient connection quality, to avoid interruptions caused by network switching for the next portion.
[0034] In addition to wireless networks, planning the network connection plan can include connections through other computing devices traveling along a similar route, as illustrated by optional step 508c. For example, a system (such as one or more servers) designing the network connection plan can receive the planned route from many other computing devices. The network connection plan can include one or more connections through one or more of the other computing devices traveling along a route similar to the planned route. For example, another computing device may access a portion of a route similar to a portion of the route of the corresponding computing device during a portion of the route. The network connection plan can include connecting to the corresponding part of the planned route through other computing devices This may be desirable for a computing device that is not able to access a particular network itself but is able to access the network through another computing device. This may be particularly advantageous when the network map indicates the particular network as having the highest quality for the corresponding geographic area.
[0035] At step 510, the network connection plan is provided to the computing device for execution while traveling along the planned route. For example, the network connection plan can come from one or more servers, or from the device itself. At step 512, the network connection plan is executed by the computing device while traveling along the planned route.
[0036] Figure 6 6 is a flow chart illustrating a method 600 for executing a network connection plan while traveling along a planned route. At step 602, a computing device begins traveling along a planned route. For example, the computing device may be a user device traveling in a car, truck, train, motorcycle, or any other motor vehicle. The computing device may also be an integrated device, such as a computing device for an automated vehicle.
[0037] At step 604, the computing device is connected to a first wireless network based on the network plan. For example, the network plan may define connection parameters that specify how to connect to the corresponding network of the wireless network. This may include connecting to the first wireless network through a specific channel of the wireless network. For example, the computing device may be connected to a base station of a cellular network through a specified channel. At step 606, it is determined whether a change in network or channel occurs. This can be determined on a section-by-section basis for the route, for example, using the current geographic location or location of the computing device. For example, GPS, cellular triangulation, or any other method for determining the location of the computing device may be used. If the current location of the computing device indicates that the computing device has transitioned to a new section of the route and the connection to the network or channel will change, the method 600 proceeds to step 608. At step 608, the computing device is connected to the next network and / or channel specified in the network connection plan. For example, a user may be connected to the same base station of the same cellular network, but through a different wireless channel. The method 600 may continue for the entire trip of the computing device between the starting location and the ending location.
[0038] Figure 7is a flow chart illustrating a method 700 for updating a network plan when a computing device is traveling on a planned route. At step 702, the computing device is connected to a network as specified by a network connection plan for a planned route (e.g., using method 600). At step 704, the network map is updated using new crowdsourced data. For example, a user device may indicate that a particular network and / or channel has recently become unavailable for a portion of the planned route. At step 706, based on the updated network map, a server or computing device may regenerate the network plan. For example, when the new network map indicates that a previously specified channel has been indicated to have poor quality or is unavailable, the network connection plan may be regenerated to connect to a newly specified channel of a wireless network. At step 708, the computing device is connected to a network as specified in the updated network connection plan.
[0039] Figure 8 800 is a flowchart illustrating a method 800 for updating a network plan when the computing device is traveling along a planned route. For example, method 800 may be performed by a server or a client-side device and may be performed in conjunction with method 700. At step 802, the computing device is connected to a network as specified by the network connection plan for the planned route (e.g., using method 600). At step 804, when the computing device is traveling along the planned route, one or more computing devices traveling a similar route may advertise connectivity to one or more networks through the corresponding device. When the network connection plan is generated, connections through these devices may not be initially considered. If one or more of these connections improve the quality of the connection, the network connection plan may be updated to connect through one of the devices. At step 806, the network connection plan is updated to include connecting to the network through the corresponding computing device that is advertising the network connection option. At step 808, the computing device is connected to the network specified in the updated network plan.
[0040] As described herein, the channels and / or wireless networks assigned to the user device may be allocated based on the suitability of the wireless resources for the expected wireless demand of the user device. In some examples, the wireless demand may be determined based on user input. In other examples, the wireless demand may be determined based on a prediction of the wireless demand of the user device. In some examples, the prediction may be based on the user's calendar. For example, if the calendar shows a VoIP call appointment, the system may infer that the user will want the network resources that are best suited for the VoIP call. In other examples, the prediction may be based on a machine learning model that predicts the wireless demand of the user device based on one or more features. Exemplary features may include time of day, day of the week, day of the year, planned route, user's calendar (e.g., showing a VoIP meeting), user's previous activity (e.g., user's wireless activity before the route), etc. Past feature data tagged with wireless data usage type (e.g., VoIP, large file download, etc.) may be used to train the machine learning model. Exemplary machine learning algorithms may include logistic regression, neural network, decision forest, decision jungle, boosted decision tree, support vector machine, etc. When determining a route, the current characteristic data of the user device can be applied to the model, and the model can predict the expected wireless needs of the device. The expected needs may be categories (e.g., low latency, high bandwidth, reliability above all else), which can then be matched to network segments based on the scores of the network segments for these categories. As noted, the scores can be based on measurements of the category taken from multiple user devices (e.g., latency measurements, bandwidth measurements, error rates, etc.). For example, the scores can be assigned via a formula that converts network measurements into scores. The average score for all devices can be used as the score for that particular segment.
[0041] Fig. 9A block diagram of an exemplary machine 900 on which any one or more of the techniques (e.g., methods) discussed herein are performed is illustrated. For example, the machine 900 can be any one or more of the server 102 and / or the user devices 104a-104f. As described herein, the example may include or be operated by a logic unit or multiple components or mechanisms in the machine 900. A circuit (e.g., a processing circuit) is a collection of circuits implemented in a tangible entity of the machine 900 including hardware (e.g., simple circuits, gates, logic units, etc.). Circuit membership may be flexible over time. The circuit includes members that can perform specified operations individually or in combination when operating. In an example, the hardware of the circuit may be designed invariably to perform a specific operation (e.g., hardwired). In an example, the hardware of the circuit may include variably connected physical components (e.g., execution units, transistors, simple circuits, etc.), including machine-readable media that are physically modified (e.g., magnetic, electrical, removable placement of invariant mass particles, etc.) to encode instructions for specific operations. When the physical components are connected, the basic electrical characteristics of the hardware components change, for example, from an insulator to a conductor, or vice versa. The instructions enable embedded hardware (e.g., an execution unit or a loading mechanism) to create members of a circuit in hardware via variable connections to perform parts of a specific operation when in operation. Thus, in an example, when the device is operating, the machine-readable medium element is part of a circuit or is communicatively coupled to other components of the circuit. In an example, any of the physical components can be used in more than one member of more than one circuit. For example, in operation, an execution unit can be used in a first circuit in a first circuit system at one point in time and reused by a second circuit in the first circuit system, or reused by a third circuit in a second circuit system at a different time. Additional examples of these components with respect to machine 900 are as follows.
[0042] In alternative embodiments, the machine 900 can be operated as a stand-alone device or can be connected (e.g., networked) to other machines. In a networked deployment, the machine 900 can operate with the capabilities of a server machine, a client machine, or both in a server-client network environment. In an example, the machine 900 can act as a peer machine in a peer-to-peer (P2P) (or other distributed) network environment. The machine 900 can be a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, a network device, a network router, a switch or a bridge, or any machine capable of executing instructions (sequential or otherwise) specifying the action to be taken by the machine. In addition, although only a single machine is shown, the term "machine" should also be considered to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to execute any one or more methods in the methods discussed herein, such as cloud computing, software as a service (SaaS), and other computer cluster configurations.
[0043] The machine (e.g., computer system) 900 may include a hardware processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 904, a static memory (e.g., memory or storage device for firmware, microcode, basic input output (BIOS), unified extensible firmware interface (UEFI), etc.) 906, and a mass storage device 908 (e.g., a hard drive, a tape drive, flash memory, or other block device), some or all of which may communicate with each other via an interconnect (e.g., a bus) 930. The machine 900 may also include a display unit 910, an alphanumeric input device 912 (e.g., a keyboard), and a user interface (UI) navigation device 914 (e.g., a mouse). In an example, the display unit 910, the input device 912, and the UI navigation device 914 may be a touch screen display. The machine 900 may additionally include a storage device (e.g., a drive unit) 908, a signal generating device 918 (e.g., a speaker), a network interface device 920, and one or more sensors 916, such as a global positioning system (GPS) sensor, a compass, an accelerometer, or other sensors. The machine 900 may include an output controller 928, such as a serial (e.g., universal serial bus (USB)), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate or control one or more peripheral devices (e.g., printers, card readers, etc.).
[0044] The registers of the processor 902, main memory 904, static memory 906, or mass storage device 908 may be or include a machine-readable medium 922 on which is stored one or more sets of data structures or instructions 924 (e.g., software) that embody or are utilized by any one or more of the techniques or functions described herein. The instructions 924 may also reside, completely or at least partially, in any register of the processor 902, main memory 904, static memory 906, or mass storage device 908 during execution by the machine 900. In an example, one or any combination of the hardware processor 902, main memory 904, static memory 906, or mass storage device 908 may constitute the machine-readable medium 922. Although the machine-readable medium 922 is illustrated as a single medium, the term "machine-readable medium" may include a single medium or multiple media (e.g., a centralized or distributed database, and / or associated caches and servers) configured to store one or more instructions 924.
[0045] The term "machine-readable medium" may include any medium capable of storing, encoding or carrying instructions for execution by the machine 900 and causing the machine 900 to perform any one or more of the technologies of the present disclosure, or capable of storing, encoding or carrying data structures used by such instructions or associated with such instructions. Non-limiting machine-readable medium examples may include solid-state memory, optical media, magnetic media, and signals (e.g., radio frequency signals, other photon-based signals, sound signals, etc.). In an example, a non-transitory machine-readable medium includes a machine-readable medium that includes a plurality of particles having a constant (e.g., stationary) mass and is therefore a composition of matter. Therefore, a non-transitory machine-readable medium is a machine-readable medium that does not include a temporary propagation signal. Specific examples of non-transitory machine-readable media may include: non-volatile memory, such as semiconductor memory devices (e.g., electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)) and flash memory devices; disks, such as built-in hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[0046] The instructions 924 may also be sent or received using a transmission medium through a communication network 926 via the network interface device 920 using any of a variety of transmission protocols (e.g., frame relay, Internet Protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Exemplary communication networks may include: a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), a mobile phone network (e.g., a cellular network), a plain old telephone (POTS) network, and a wireless data network (e.g., a wireless network known as a wireless network). The Institute of Electrical and Electronics Engineers (IEEE) 802.11 series of standards, known as The IEEE 802.16 family of standards), the IEEE 802.16.4 family of standards, peer-to-peer (P2P) networks, etc. In an example, the network interface device 920 may include one or more physical jacks (e.g., Ethernet, coaxial, or telephone jacks) or one or more antennas to connect to the communication network 926. In an example, the network interface device 920 may include multiple antennas to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) technologies. The term "transmission medium" should be understood to include any intangible medium that can store, encode, or carry instructions executed by the machine 900, and includes digital or analog communication signals or other intangible media that facilitate the communication of such software. Transmission media are machine-readable media.
[0047] The above description includes reference to the accompanying drawings, which form part of the detailed description. The accompanying drawings show specific embodiments that can practice the present invention by way of illustration. These embodiments are also referred to as "examples" in this article. Such examples can include elements other than those shown or described. However, the inventors also contemplate elements that only provide those elements shown or described. In addition, the inventors also contemplate examples using any combination or arrangement of those elements shown or described (or one or more aspects thereof), with respect to the specific examples shown or described in this article (or one or more aspects thereof) or with respect to other examples (or one or more aspects thereof).
[0048] In this document, the terms "a" or "an" are used as is common in patent documents to include one or more than one, independent of any other instance or usage of "at least one" or "one or more". In this document, unless otherwise stated, the term "or" is used to refer to a non-exclusive or, such that "A or B" includes "A but not B", "B but not A", and "A and B". In this document, the terms "including" and "wherein" are used as the plain English equivalents of the respective terms "comprising" and "wherein". In addition, in the appended claims, the terms "including" and "comprising" are open-ended, that is, a system, device, article, composition, preparation, or process that includes elements in a claim in addition to those elements listed after such a term is still deemed to fall within the scope of the claim. In addition, in the appended claims, the terms "first", "second", "third", etc. are used merely as labels, and do not impose numerical requirements on their objects.
[0049] The above description is intended to be illustrative and not restrictive. For example, the examples described above (or one or more aspects thereof) can be used in combination with each other. Other embodiments can be used by those of ordinary skill in the art after reading the above description. An abstract is provided to allow the reader to quickly determine the nature of the technical disclosure. It is submitted on the premise that it will not be used to interpret or limit the scope or meaning of the claims. Similarly, in the above detailed description, various features can be grouped together to simplify the disclosure. This should not be interpreted as intended to be indispensable to any claim for the disclosed features that are not claimed for protection. On the contrary, the subject matter of the present invention may be less than all the features of a specific disclosed embodiment. Therefore, the attached claims are hereby incorporated into the detailed description as examples or embodiments, wherein each claim is independently a separate embodiment, and it is contemplated that these embodiments can be combined with each other in various combinations or arrangements. The scope of the present invention should be determined with reference to the attached claims and the full scope of equivalents given by these claims.
Claims
1. A method for planning a network connection for a computing device, the method comprising: Use one or more hardware processors: receiving a planned route along which the computing device is to physically travel; accessing a quality map indicating a plurality of network parameters for each of a plurality of wireless networks for a geographic area including at least a portion of the planned route, the plurality of network parameters including a connection quality value for a respective wireless network of the plurality of wireless networks, the connection quality value indicating a quality of connection for the respective wireless network; generating a network connection plan for the computing device before the computing device travels along the planned route, the network connection plan comprising, for each of a plurality of portions of the planned route, a planned connection to the selected one of the plurality of wireless networks based on parameter values indicated by the quality map for the selected one of the plurality of wireless networks available along the planned route; When the computing device is physically traveling along the planned route: determining a corresponding portion of the plurality of portions of the planned route based on a current location of the computing device; determining a corresponding network among the plurality of wireless networks based on the corresponding portion and the network connection plan; as well as In response to determining the corresponding network, the computing device is caused to connect to the corresponding network specified by the network connection plan for the corresponding portion.
2. The method according to claim 1, further comprising: receiving network quality data for the plurality of wireless networks from a plurality of user devices, the plurality of user devices being different from the computing device; generating the quality map based on the network quality data from the plurality of user devices; as well as The network connection plan is provided to the computing device.
3. The method according to claim 1, wherein: Access to the Quality Map includes: requesting the quality map from at least one server location; and At least a portion of the quality map is received from the at least one server location.
4. The method according to claim 1, wherein: The quality map includes quality data of a communication channel for each of the plurality of wireless networks, and wherein generating the network connection plan includes: The network connection plan for the computing device is generated such that a number of switches between corresponding communication channels of the plurality of wireless networks is less than a threshold number.
5. The method according to claim 1, further comprising: regenerating the quality map based on new data received from at least one of a plurality of mobile devices or a new user device while the computing device is traveling along the planned route, the computing device not being one of the plurality of mobile devices; as well as The network connection plan is updated using the regenerated quality map while the computing device is traveling along the planned route.
6. The method according to claim 5, wherein: A first mobile device of the plurality of mobile devices includes at least one connectable device that travels on a common portion of the planned route, and wherein the at least one connectable device broadcasts a connection capability.
7. The method according to claim 1, wherein: The plurality of wireless networks include one of a wireless local area network or a wireless wide area network and a cellular network.
8. The method according to claim 1, wherein: The network connection plan includes a planned connection to a plurality of channels of a wireless network among the plurality of wireless networks.
9. The method according to claim 1, wherein: The network connection plan specifies connection parameters for each of the plurality of portions of the planned route, the connection parameters specifying how to connect to a corresponding network of the plurality of wireless networks.
10. A system for planning a network connection for a computing device, the system comprising: one or more hardware processors; A memory storing instructions that, when executed, cause the one or more hardware processors to perform operations including: receiving a planned route along which the computing device is to physically travel; accessing a quality map indicating a plurality of network parameters for each of a plurality of wireless networks for a geographic area including at least a portion of the planned route, the plurality of network parameters including a connection quality value for a respective wireless network of the plurality of wireless networks, the connection quality value indicating a quality of connection for the respective wireless network; generating a network connection plan for the computing device before the computing device travels along the planned route, the network connection plan comprising, for each of a plurality of portions of the planned route, a planned connection to the selected one of the plurality of wireless networks based on parameter values indicated by the quality map for the selected one of the plurality of wireless networks available along the planned route; When the computing device is physically traveling along the planned route: determining a corresponding portion of the plurality of portions of the planned route based on a current location of the computing device; determining a corresponding network among the plurality of wireless networks based on the corresponding portion and the network connection plan; as well as In response to determining the corresponding network, the computing device is caused to connect to the corresponding network specified by the network connection plan for the corresponding portion.
11. The system according to claim 10, wherein: The operation of accessing the quality map includes: requesting the quality map from at least one server location; and At least a portion of the quality map is received from the at least one server location.
12. The system according to claim 10, further comprising the following operations: receiving a plurality of routes for a plurality of mobile devices, the computing device being able to connect to a wireless network among the plurality of wireless networks via the plurality of routes; as well as determining which of the plurality of routes overlaps geographically and temporally with the planned route; and Wherein, for each of the plurality of portions of the planned route, the planned connections to the plurality of wireless networks include at least one connection through one or more of the plurality of mobile devices.
13. The system according to claim 10, further comprising the following operations: regenerating the quality map based on new data received from at least one of a plurality of mobile devices or a new user device while the computing device is traveling along the planned route, the computing device not being one of the plurality of mobile devices; and The network connection plan is updated using the regenerated quality map while the computing device is traveling along the planned route.
14. The system according to claim 10, wherein: The network connection plan includes a planned connection to a plurality of channels of a wireless network among the plurality of wireless networks.
15. The system according to claim 10, wherein: The network connection plan specifies connection parameters for each of the plurality of portions of the planned route, the connection parameters specifying how to connect to a corresponding network of the plurality of wireless networks.
Citation Information
Patent Citations
System and method for packet distribution in a vehicular network environment
US20120182935A1
Navigation system acquisition and use of cellular coverage map data
US20170314940A1