Method and system for application-controlled multiple Wi-Fi connections
10820361 ยท 2020-10-27
Assignee
Inventors
Cpc classification
H04M1/72403
ELECTRICITY
H04W4/60
ELECTRICITY
International classification
H04W4/60
ELECTRICITY
Abstract
A method, electronic device, and non-transitory computer readable medium for controlling Wi-Fi channels. The method comprises, in response to identifying an application to be executed, identifying, by the electronic device, available Wi-Fi channels to use for sending and receiving data for the application. The method also includes identifying, by the electronic device, which one of the available Wi-Fi channels to use for sending and receiving the data for the application based on preset mappings between applications and the available Wi-Fi channels.
Claims
1. A method for controlling Wi-Fi channels, the method comprising: in response to identifying an application to be executed, identifying, by an electronic device, available Wi-Fi channels to use for sending and receiving data for the identified application; identifying, by the electronic device, which one of the available Wi-Fi channels to use for sending and receiving the data for the identified application based on preset mappings between applications and the available Wi-Fi channels, the preset mappings including, for each of the applications, a numerical ordering of priorities assigned to each of the available Wi-Fi channels; switching, from an initial Wi-Fi channel corresponding to an initial application, to the identified available Wi-Fi channel corresponding to the identified application based on the preset mappings, wherein the initial Wi-Fi channel is not identified as being available for the identified application; and sending or receiving the data for the identified application using the identified available Wi-Fi channel.
2. The method of claim 1, further comprising generating at least part of the preset mappings by: displaying the Wi-Fi channels available for use; in response to a selection of one of the Wi-Fi channels, displaying a list of applications; and in response to receiving one or more selections of the displayed applications, mapping the one or more selected applications to the selected Wi-Fi channel to be used when the one or more selected applications are executed.
3. The method of claim 2, further comprising: in response to the selection of the one of the Wi-Fi channels, displaying icons for applications that are mapped to the selected Wi-Fi channel and at least one button to remove one or more applications from the applications mapped to the selected Wi-Fi channel; and in response to the at least one button being selected, removing at least one of the one or more applications from the applications mapped to the selected Wi-Fi channel.
4. The method of claim 1, further comprising displaying the numerical ordering, based on the assigned priorities, of the available Wi-Fi channels for each of the applications.
5. The method of claim 4, further comprising displaying a selection order, wherein the identified application is used with different Wi-Fi channels based on the numerical ordering associated with the identified application.
6. The method of claim 1, further comprising generating the preset mappings based on a privacy policy.
7. The method of claim 1, further comprising generating the preset mappings based on signal strength of each of the available Wi-Fi channels.
8. An electronic device comprising: a memory; and at least one processor electrically connected to the memory, the at least one processor configured to: in response to identifying an application to be executed, identify available Wi-Fi channels to use for sending and receiving data for the identified application; identify which one of the available Wi-Fi channels to use for sending and receiving the data for the identified application based on preset mappings between applications and the available Wi-Fi channels, the preset mappings including, for each of the applications, a numerical ordering of priorities assigned to each of the available Wi-Fi channels; switch, from an initial Wi-Fi channel corresponding to an initial application, to the identified available Wi-Fi channel corresponding to the identified application based on the preset mappings, wherein the initial Wi-Fi channel is not identified as being available for the identified application; and send or receive the data for the identified application using the identified available Wi-Fi channel.
9. The electronic device of claim 8, wherein the at least one processor is further configured to generate at least part of the preset mappings by: controlling a display of the electronic device to display the Wi-Fi channels available for use; in response to a selection of one of the Wi-Fi channels, controlling the display to display a list of applications; and in response to receiving one or more selections of the displayed applications, mapping the one or more selected applications to the selected Wi-Fi channel to be used when the one or more selected applications are executed.
10. The electronic device of claim 9, wherein the at least one processor is further configured to: in response to the selection of the one of the Wi-Fi channels, control the display to display icons for applications that are mapped to the selected Wi-Fi channel and at least one button to remove at least one of the one or more applications from the applications mapped to the selected Wi-Fi channel; and in response to the at least one button being selected, remove at least one of the one or more applications from the applications mapped to the selected Wi-Fi channel.
11. The electronic device of claim 8, wherein the at least one processor is further configured to control a display of the electronic device to display the numerical ordering, based on the assigned priorities, of the available Wi-Fi channels for each of the applications.
12. The electronic device of claim 11, wherein the at least one processor is further configured to control the display of the electronic device to display a selection order, wherein the identified application is used with different Wi-Fi channels based on the numerical ordering associated with the identified application.
13. The electronic device of claim 8, wherein the at least one processor is further configured to generate the preset mappings based on a privacy policy.
14. The electronic device of claim 8, wherein the at least one processor is further configured to generate the preset mappings based on signal strength of each of the available Wi-Fi channels.
15. A non-transitory computer readable medium comprising instructions that, when executed by a processor of an electronic device, cause the processor to: identify, in response to identifying an application to be executed, available Wi-Fi channels to use for sending and receiving data for the identified application; identify which one of the available Wi-Fi channels to use for sending and receiving the data for the identified application based on preset mappings between applications and the available Wi-Fi channels, the preset mappings including, for each of the applications, a numerical ordering of priorities assigned to each of the available Wi-Fi channels; switch, from an initial Wi-Fi channel corresponding to an initial application, to the identified available Wi-Fi channel corresponding to the identified application based on the preset mappings, wherein the initial Wi-Fi channel is not identified as being available for the identified application; and send or receive the data for the identified application using the identified available Wi-Fi channel.
16. The non-transitory computer readable medium of claim 15, further comprising instructions that, when executed by the processor, cause the processor to generate at least part of the preset mappings by: controlling a display of the electronic device to display the Wi-Fi channels available for use; in response to a selection of one of the Wi-Fi channels, controlling the display to display a list of applications; and in response to receiving one or more selections of the displayed applications, mapping the one or more selected applications to the selected Wi-Fi channel to be used when the one or more selected applications are executed.
17. The non-transitory computer readable medium of claim 16, further comprising instructions that, when executed by the processor, cause the processor to: control the display to, in response to the selection of the one of the Wi-Fi channels, display icons for applications that are mapped to the selected Wi-Fi channel and at least one button to remove one or more applications from the applications mapped to the selected Wi-Fi channel; and in response to the at least one button being selected, remove at least one of the one or more applications from the applications mapped to the selected Wi-Fi channel.
18. The non-transitory computer readable medium of claim 15, further comprising instructions that, when executed by the processor, cause the processor to: control a display of the electronic device to display the numerical ordering of the available Wi-Fi channels for each of the applications.
19. The non-transitory computer readable medium of claim 15, further comprising instructions that, when executed by the processor, cause the processor to generate the preset mappings based on a privacy policy.
20. The non-transitory computer readable medium of claim 15, further comprising instructions that, when executed by the processor, cause the processor to generate the preset mappings based on signal strength of each of the available Wi-Fi channels.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) For a more complete understanding of this disclosure and its advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION
(10)
(11) The descriptions of
(12)
(13) As shown in
(14) The network 102 facilitates communications between servers 103 and various electronic devices 106, 108, 110, 112, and 114. The server 103 includes any suitable computing or processing device that can provide computing services for one or more electronic devices. The server 103 could, for example, include one or more processors, one or more memories storing instructions and data, and one or more network interfaces facilitating communication over the network 102.
(15) Each electronic device 106, 108, 110, 112, and 114 represents any suitable computing or communication device that interacts with at least one server or other computing device(s) over the network 102. In this example, the electronic devices 106, 108, 110, 112, and 114 include electronic devices, such as, for example, a desktop computer 106, a mobile telephones or smartphones 108, a personal digital assistant (PDA) 110, a laptop computer 112, a tablet computer 114, a headset, a wearable device, smart watch, etc. However, any other or additional electronic devices could be used in the communication system 100.
(16) In this example, some electronic devices 108, 110, 112, and 114 communicate indirectly with the network 102. For example, the electronic devices 108 and 110 communicate via one or more base stations 16, such as cellular base stations or eNodeBs. Also, the electronic devices 112 and 114 communicate via one or more wireless access points (APs) 118, such as IEEE 802.11 wireless APs, Bluetooth, and Wi-Fi direct. Note that these are for illustration only and that each electronic device could communicate directly with the network 102 or indirectly with the network 102 via any suitable intermediate device(s) or network(s).
(17) Although
(18)
(19) As shown in
(20) The communication interface 210 may receive an incoming RF signal such as a Bluetooth signal or a Wi-Fi signal. The communication interface 210 may down-convert the incoming RF signal to generate an intermediate frequency (IF) or baseband signal. In various embodiments, the electronic device 200 establishes Wi-Fi connections using a virtual Wi-Fi architecture that provides multiple virtual WLAN cards using a single wireless local area network (WLAN) card.
(21) The IF or baseband signal is sent to the RX processing circuitry 225, which generates a processed baseband signal by filtering, decoding, and/or digitizing the baseband or IF signal. The RX processing circuitry 225 transmits the processed baseband signal to the speaker 230 (such as for voice data) or to the processor 240 for further processing (such as for web browsing data).
(22) The TX processing circuitry 215 receives analog or digital voice data from the microphone 220 or other outgoing baseband data (such as web data, e-mail, or interactive video game data) from the processor 240. The TX processing circuitry 215 encodes, multiplexes, and/or digitizes the outgoing baseband data to generate a processed baseband or IF signal. The communication unit 210 receives the outgoing processed baseband or IF signal from the TX processing circuitry 215 and up-converts the baseband or IF signal to an RF signal that is transmitted via the antenna 205.
(23) The processor 240 can include one or more processors or other processing devices and execute the OS 261 stored in the memory 260 in order to control the overall operation of the electronic device 200. For example, the processor 240 could control the reception of forward channel signals and the transmission of reverse channel signals by the communication unit 210, the RX processing circuitry 225, and the TX processing circuitry 215 in accordance with well-known principles. In some embodiments, the processor 240 includes at least one microprocessor or microcontroller.
(24) The processor 240 is also capable of executing other processes and programs resident in the memory 260, such as processes a diagnostic data for the eNBs 116 and 118 in a wireless communication network 102.
(25) The processor 240 can move data into or out of the memory 260 as required by an executing process. In some embodiments, the processor 240 is configured to execute the applications 262 based on the OS 261 or in response to signals received from eNBs or an operator. The processor 240 is also coupled to the I/O interface 245, which provides the electronic device 116 with the ability to connect to other devices, such as laptop computers and handheld computers. The I/O interface 245 is the communication path between these accessories and the processor 240.
(26) The processor 240 is also coupled to the input device 250 and the display 255. The operator of the electronic device 200 can use the input device 250 to enter data into the electronic device 200. In some embodiment, the input device 250 comprises a circuitry and/or program to recognize fingerprint scanning input from a user and/or user device.
(27) The display 255 may be a liquid crystal display, light emitting diode display, or other display capable of rendering text and/or at least limited graphics, such as from web sites. In some embodiments, the processor 240 is configured to transmit diagnostic data to the eNBs 116 and 118 in the wireless communication network 102.
(28) The memory 260 is coupled to the processor 240. Part of the memory 260 could include a random access memory (RAM), and another part of the memory 260 could include a Flash memory or other read-only memory (ROM). In some embodiments, the memory 260 may store a program code, that when executed by at least one controller/processor 240, causes the at least one processor to transmit diagnostic data to the eNBs 116 and 118 in the wireless communication network 102.
(29) Although
(30) An electronic device including a Wi-Fi communication interface is capable of detecting multiple SSID signals at the same time. However not all public SSIDs, especially free connections are secure enough to broadcast user sensitive data. Also, due to different network settings, the gateway may block certain types of network access, e.g. video streaming, game streaming, or content with restrictions. So when the electronic device detects multiple Wi-Fi signals, there is always a need for a user to switch Wi-Fi channels (e.g., connections) for different purposes. For example, user may want to: (1) send and/or receive personal and work related emails, while watching a movie on commercial provide (e.g., Netflix in Starbucks); (2) connect to company's free Wi-Fi services for work relates tasks, but use his own hot-spot device to send and/or receive personal health-care information; or (3) watch video streaming through a provider (e.g., YouTube video) while placed on a voice over Wi-Fi (VOWIFI) conference call.
(31) Although a device is able to store and manage multiple Wi-Fi access codes, the device rarely has a provision for more than one Wi-Fi connection at the same time, because each connection must be served by each connection's own Wi-Fi network card. Some devices support multiple Wi-Fi network cards (e.g., Google's modular phone), but the devices may still be problematic due to a physical size and shape of the network card, or a need of extra power.
(32) The present disclosure discloses a method to present multiple Wi-Fi channels to be connected simultaneously on a single Wi-Fi network card installed in an electronic device based on a virtual Wi-Fi architecture. Each Wi-Fi channel (e.g., connection) is capable of defining one or multiple applications to use and each application can also define one or multiple Wi-Fi channels to connect each application and channel (e.g., connection). When a user switches between applications, or performs different tasks, the electronic device appears to be always connected to a Wi-Fi channel, but underline switches to the corresponding Wi-Fi channels automatically, based on a predefined configuration and without user's awareness.
(33) A virtual Wi-Fi architecture abstracts a single wireless local area network (WLAN) card to appear as multiple virtual WLAN cards to a representation layer in a communication protocol stack. A user can then configure each virtual channel to connect to a different wireless network. Therefore, it allows a user to simultaneously connect his machine to multiple wireless networks using just one WLAN card.
(34)
(35) In one embodiment, a channel-1 305 is a non-secure channel and does not support streaming. In another embodiment, channel-2 315 is non-secure channel and supports a streaming service. In yet another embodiment, channel-3 310 is a secure channel and does not support a streaming service. In the application layer, each application is configured to connect with certain Wi-Fi channels. For example, location service can use the Wi-Fi channel-1 305 and the Wi-Fi channel-2 315, but an email application can only use the Wi-Fi-channel-3 310. In one example, if a current user is using the Chrome app, so the Wi-Fi channel flow is configured to: (1) launch a Chrome application; (2) configure a Wi-Fi Channel-1 305; (3) configure a Wi-Fi hardware card; and (4) configure a public Wi-Fi access point-1 as shown in L1 flow (e.g., 305 shown in
(36) If multiple Wi-Fi network cards are implemented in an electronic device, the Wi-Fi channel manager may be able to take advantage of the multiple Wi-Fi network cards as shown in the flow L2 (e.g., 315 as shown in
(37) If a configured Wi-Fi channel is not available, an application may be able to use regular 3G/4G LTE data service as well as shown in the flow L3 (e.g., 310 as shown in
(38) A user may be able to view, add, and delete applications associated with each Wi-Fi channel using a pre-configured setting (e.g., a Wi-Fi screen through settings).
(39)
(40) As shown in
(41)
(42) Each application can be configured to multiple Wi-Fi channels or mobile data depending upon user preferences.
(43) In some embodiments, if a user performs a double tapping the icon 505 (e.g., applications as shown in
(44)
(45) In some embodiments, a user may prioritize a use of available multiple Wi-Fi channels by providing numeric values to those Wi-Fi channels as shown in left to SSID of available channels (e.g.,
(46) As shown in
(47) In some embodiments, as a default, each new Wi-Fi channel is allowed for all applications. So when there's a new Wi-Fi channel available, a user may not configure the applications for the Wi-Fi channel before use.
(48) In some embodiments, if multiple applications requiring different Wi-Fi channels are both in foreground (multi-window), or one running as an active service, a user may have an option to choose which Wi-Fi channel is used when a single Wi-Fi network card is available, or Wi-Fi+3.sup.rd generation/4.sup.th generation (3G/4G).
(49) In some embodiments, when a high priority Wi-Fi channel is available to an active application, the high priority Wi-Fi channel may automatically switch to use the high priority channel in the background.
(50) In some embodiments, when a Wi-Fi channel is disconnected or out of range, an application using the Wi-Fi channel may automatically search and switch to the next priority Wi-Fi channel, or data plan to use.
(51)
(52) The process for controlling Wi-Fi channels begins with the electronic device 200. The electronic device 200 identifies, in step 705, an application that can be executed on the electronic device 200. For example, in step 705, the electronic device 200 identifies any type of applications or programs that have been installed and can be executed on the electronic device 200. For example, in step 705, the available applications can be displayed as an icon or any type of characters of symbols on the screen of the electronic device.
(53) Next, the electronic device 200, in step 710, identifies available Wi-Fi channels for sending and receiving data using the identified application in step 705. For example, in step 710, the electronic device may identify available Wi-Fi channels that can be used for the application based on preset or dynamically configured criteria such as signal strength or privacy policy. In one embodiment, when the electronic device 200 comprises a single Wi-Fi card, the electronic device 200 uses the virtual architecture as shown in
(54) Subsequently, in the step 715, the electronic device 200 identifies preset mappings between the identified applications in step 705 and the identified available Wi-Fi channels in step 710. For example, in step 715, the electronic device 200 uses the preset mapping to map the different applications to different Wi-Fi channels based on signal strength of each Wi-Fi channel (e.g., connection) or a privacy policy that is applied to different Wi-Fi networks.
(55) Finally, in step 720, the electronic device 200 identifies the Wi-Fi channel to use for the application to be executed in the electronic device 200. For example, in step 715, the electronic device 200 generates an ordering for the available Wi-Fi channels. In one embodiment, a user of the electronic device 200 may prioritize a use of available multiple Wi-Fi channels by providing numeric values to those Wi-Fi channels. In one example, the lower numeric value comprises a higher priority and the application may try to use the Wi-Fi channel first ranked as the higher priority than others with higher numeric values. In another example, if the channel with highest priority is not available, then the application may try to use other Wi-Fi channels depending upon the priority given by the user in a sequential manner.
(56)
(57) The process for generating preset mappings for controlling Wi-Fi channels begins with the electronic device 200. For example, the electronic device 200 uses previous mapping history or pre-stored mapping configuration. In one example, the electronic device 200 uses mapping information that is dynamically configured from the Wi-Fi network. In another example, the electronic device 200 generates the preset mapping between the applications and the available Wi-Fi channels based on a privacy policy. In yet another example, the electronic device 200 generates the preset mappings between the applications and the available Wi-Fi channels based on signal strength of each available Wi-Fi channels between the electronic device 200 and access points (e.g., Wi-Fi networks).
(58) In step 805, the electronic device 200 displays available Wi-Fi channels for the applications to be executed in the electronic device 200. In one example, the available Wi-Fi channel is displayed as an icon or any type of symbols or characters on the screen of the electronic device 200. In another example, the available Wi-Fi channels are ordered based on the priority for connecting the available application to available Wi-Fi channels.
(59) Next, in step 810, the electronic device 200 receives a selection of one of the available Wi-Fi channels. For example, a user of the electronic device may select one of available Wi-Fi channels based on privacy policy or signal strength between the electronic device 200 and access points (e.g., 116 and 118 as shown in
(60) Subsequently, in step 815, the electronic device 200 displays a list of applications to be mapped to the Wi-Fi channels. For example, in step 815, the electronic device 200, in response to the selection of the one of the Wi-Fi channels, displays icons for applications that are mapped to the selected Wi-Fi channel and at least one button to remove one or more applications from the applications mapped to the selected Wi-Fi channel. In one example, the electronic device displays at least one button to add one or more applications to the selected Wi-Fi channel.
(61) Subsequently, in step 820, the electronic device 200 receives a selection of the applications for mapping with the available Wi-Fi channel. Finally, in step 825, the electronic device 200 maps the one or more selected applications to the selected Wi-Fi channel for sending and receiving data.
(62) None of the description in this application should be read as implying that any particular element, step, or function is an essential element that must be included in the claim scope. The scope of patented subject matter is defined only by the claims. Moreover, none of the claims is intended to invoke 35 U.S.C. 112(f) unless the exact words means for are followed by a participle.