Configuring captive portals with a cloud service

Information

  • Patent Grant
  • 10560853
  • Patent Number
    10,560,853
  • Date Filed
    Wednesday, June 8, 2016
    8 years ago
  • Date Issued
    Tuesday, February 11, 2020
    4 years ago
Abstract
Embodiments provision captive portals on network access points (NAPs). In response to a request from a NAP owner, a cloud service associates a NAP with the NAP owner and provides a control channel for configuring the NAP. The NAP owner inputs configuration settings describing the captive portal. The cloud service processes the configuration settings to generate configuration data. The cloud service transmits the configuration data to the NAP. The NAP applies the configuration data to configure the NAP. Some embodiments configure Wi-Fi hotspots with captive portals for gated access to the Internet.
Description
BACKGROUND

The availability of network access points, such as wireless fidelity (Wi-Fi) hotspots, has increased significantly. Many of these Wi-Fi hotspots are gated and require user intervention for connection to the Internet or other networks via click-through interfaces. For example, when a user of a mobile device accesses the Internet at a hotel, the mobile device is redirected by the Wi-Fi hotspot to a captive portal web page. The captive portal web page may present advertisements, receive acceptance of terms and/or conditions of use, present confirmation screens, accept text input, and the like, before allowing the user to connect to the Internet. Such captive portal functionality, however, is not enabled by default with the Wi-Fi hotspots. Further, creating and configuring the captive portals remains a cumbersome and difficult task that is often left to the owner of a business wanting to provide Wi-Fi access to customers.


SUMMARY

Embodiments of the disclosure provision a captive portal associated with a network access point (NAP). A cloud service receives, from a NAP owner device, a NAP identifier and a NAP owner identifier. The cloud service provides a control channel to the NAP owner device and receives, from the NAP owner device via the provided control channel, configuration settings for a captive portal associated with the NAP. The captive portal provides access to a network. The cloud service processes the received configuration settings to generate configuration data for the NAP. The cloud service transmits the generated configuration data from the cloud service to the NAP. The NAP applies the transmitted configuration data to configure the NAP.


This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is an exemplary block diagram illustrating a cloud service communicating with mobile computing devices that connect to networks.



FIG. 2 is an exemplary block diagram illustrating a cloud service communicating with a network access point owner device to configure a network access point implementing a captive portal.



FIG. 3 is an exemplary block diagram illustrating a cloud service storing configuration data associated with a captive portal implemented by a network access point.



FIG. 4 is an exemplary flow chart illustrating operation of a cloud service to configure a captive portal associated with a network access point.





Corresponding reference characters indicate corresponding parts throughout the drawings.


DETAILED DESCRIPTION

Referring to the figures, embodiments of the disclosure enable setup, configuration, and/or maintenance of captive portals 202 implemented on network access points (NAPs) 110 via a cloud service 104. Setup of the captive portal 202 includes, for example, associating a new NAP 110 or a new captive portal 202 with a NAP owner 206 and/or NAP owner device 204. Configuration includes, for example, defining access characteristics of the captive portal 202. Maintenance includes, for example, monitoring and/or filtering network traffic based on the defined access characteristics, viewing log files, monetizing network access, and the like.


In some embodiments, the cloud service 104 provides authentication and/or authorization services to the NAP 110. The cloud service 104 may also attempt to monetize the network access on behalf of the NAP owner if the NAP 110 provides access to a particular user group (e.g., subscribers of service providers). The cloud service 104 may also enable the NAP 110 to share access through the captive portal 202 among different devices without having each device authenticate separately (e.g., mobile telephone, tablet, gaming console), such as with a token or other shared secret.


Aspects of the disclosure further enable simplified setup, configuration, and maintenance of the NAPs 110 by the NAP owners 206 in part by abstracting the details of such operations from the NAP owners 206. Aspects of the disclosure further enable the NAP owners 206 to attract customers to businesses with the promise of wireless fidelity (Wi-Fi) access. The NAP owners 206 can also serve advertisements to users 106 to monetize the Wi-Fi access, while content owners (e.g., mobile operators) target the users 106 with advertisements by offering to subsidize Wi-Fi access at particular businesses in return for delivering the advertisements. In operation, some embodiments customize the captive portals 202 (e.g., landing pages) based on credentials supplied by the users 106.


Referring next to FIG. 1, an exemplary block diagram illustrates the cloud service 104 communicating with mobile computing devices 102 that connect to networks 108. In the example of FIG. 1, the user 106 interacts with the mobile computing device 102, or any other computing device of the user 106, to access content 112 via the network 108. The mobile computing device 102 connects to one or more of the networks 108 through one or more NAPs 110, such as a Wi-Fi beacon and a cellular tower. For each NAP 110, the mobile computing device 102 may execute one or more instructions, or otherwise perform a series of actions or commands 414, to gain access, via the NAP 110, to the network 108 associated with the NAP 110. After gaining access to the network 108 through the NAP 110, the mobile computing device 102 is able to transmit and receive the content 112. In this manner, the NAP 110 acts as a captive portal 202.


Communication between the mobile computing device 102 and other devices may occur using any protocol or mechanism over any wired or wireless connection. For example, the mobile computing device 102 may attempt to transmit and/or receive data over a Wi-Fi network, a cellular network, a satellite network, a whitespace network, or any network 108. In some embodiments, a NAP 110 is defined to include all NAPs 110 that share the same service set identifier (SSID) within a particular geographic area (e.g., 100-meter radius). For example, a plurality of NAPs 110 within an airport may share the same SSID.


Referring next to FIG. 2, an exemplary block diagram illustrates the cloud service 104 communicating with the NAP owner device 204 to configure the NAP 110 implementing the captive portal 202. In the example of FIG. 2, the NAP owner device 204 includes any computing device of the NAP owner 206, such as a laptop, tablet, mobile telephone, and the like. The NAP owner device 204 is in communication with the NAP 110 and the cloud service 104. For example, the NAP owner device 204 may connect to the NAP 110 via a wired or wireless connection, and may be co-located with the NAP 110 (e.g., in the same room, at the same location of a business entity) or remote from the NAP 110.


The NAP owner device 204 communicates with the cloud service 104 to configure the NAP 110 as described herein, but is also capable of communication with the NAP 110 to configure the NAP 110. In some examples, the NAP owner device 204 sends the configuration settings to the cloud service 104, and the cloud service 104 transmits configuration data 310 to the NAP 110 to configure the NAP 110. In other examples, the NAP owner device 204 sends the configuration settings to the cloud service 104, and the cloud service 104 transmits the configuration data 310 to the NAP owner device 204. The NAP owner device 204 then applies the configuration data 310 to the NAP 110 to configure the NAP 110.


The NAP 110 implements one or more of the captive portals 202. The captive portals 202 gate access to the networks 108. In some embodiments, the captive portals 202 provide authentication services and/or authorization services to determine which mobile computing devices 102 are allowed to access the networks 108.


Aspects of the disclosure are operable with different configurations of the NAP 110. In one example, all network traffic between the mobile computing devices 102 and the networks 108 is routed via the cloud service 104. In such an example, the NAP 110 routes the network traffic from the mobile computing devices 102 to the cloud service 104, and the cloud service 104 routes the network traffic to the networks 108. The captive portal 202 implemented by the NAP 110 thus acts as a virtual private network (VPN) endpoint to the cloud service 104. In this example, the cloud service 104 is able to directly monitor and adjust the network traffic (e.g., based on the usage rules described below).


In another configuration, the control traffic is routed from the NAP owner device 204 to the cloud service 104, but all other network traffic is routed from the NAP 110 to the networks 108.


Referring next to FIG. 3, an exemplary block diagram illustrates the cloud service 104 storing the configuration data 310 associated with the captive portal 202 implemented by the NAP 110. In the example of FIG. 3, the cloud service 104 provisions the captive portal 202 associated with one of the NAPs 110. The cloud service 104 represents any device executing instructions (e.g., as application programs, operating system functionality, or both) to implement the operations and functionality associated with the cloud service 104. Such a device may also be a peer device to the mobile computing devices 102. The cloud service 104 may also represent a group of processing units or other computing devices. In another example, the cloud service 104 may include a mobile computing device or any other portable device, such as a mobile telephone, laptop, tablet, computing pad, netbook, gaming device, and/or portable media player. Alternatively or in addition, the cloud service 104 may include less portable devices such as desktop personal computers, kiosks, tabletop devices, industrial control devices, wireless charging stations, and electric automobile charging stations.


In some embodiments, the cloud service 104 has at least one processor 302 and a memory area 304. The processor 302 includes any quantity of processing units, and is programmed to execute computer-executable instructions for implementing aspects of the disclosure. The instructions may be performed by the processor 302 or by multiple processors associated with the cloud service 104. In some embodiments, the processor 302 is programmed to execute instructions such as those illustrated in the figures (e.g., FIG. 4).


In some embodiments, the processor 302 represents an implementation of analog techniques to perform the operations described herein. For example, the operations may be performed by an analog computing device and/or a digital computing device.


The cloud service 104 further has one or more computer readable media such as the memory area 304. The memory area 304 includes any quantity of media associated with or accessible by the cloud service 104. The memory area 304 may be internal to the cloud service 104 (as shown in FIG. 3), external to the cloud service 104 (not shown), or both (not shown). In some embodiments, the memory area 304 includes read-only memory and/or memory wired into an analog computing device.


The memory area 304 stores, among other data, correlations between NAP owner identifiers 306 and NAP identifiers 308. That is, the correlations relate each of the NAP owners 206 to one or more of the NAPs 110. In this manner, the cloud service 104 is able to determine which NAPs 110 are associated with which NAP owners 206. For example, one of the NAP owners 206 may install a plurality of NAPs 110 in a particular location, and the memory area 304 stores correlations between the NAP owner identifier 306 and the plurality of the NAP identifiers 308.


The memory area 304 further stores the configuration data 310 for each of the NAPs 110. The configuration data 310, for each of the NAPs 110, is generated from configuration settings provided by the NAP owner 206 (e.g., transmitted via the NAP owner device 204). The configuration settings describe the network access characteristics desired by the NAP owner 206. For example, the NAP owner 206 may describe Wi-Fi characteristics.


The configuration data 310 generated from the configuration settings includes code, such as extensible markup language (XML) expressions, that is applied to the NAP 110 to configure the NAP 110. In some embodiments, the configuration data 310 defines one or more usage rules describing conditions of access by the mobile computing devices 102 to the networks 108 through one or more of the captive portals 202 implemented by the NAP 110. For example, the usage rules may define one or more of the following: maximum data rate, maximum cumulative network data consumption before throttling of network connections occurs, maximum time duration for access by each of the users 106, maximum quantity of simultaneous users 106, times during which network access through the captive portal 202 is allowed, and/or times during which network access through the captive portal 202 is not allowed. The usage rules may also define opt-out conditions to prevent, prohibit, or otherwise deny access to the network 108 through the captive portal 202 for particular users 106 or groups of users 106. Other conditions of access not specifically described herein are within the scope of the configuration data 310.


The cloud service 104 further stores computer-executable components in the memory area 304. The components include a user interface component 312, a communications interface component 314, a configuration component 316, and a report component 318. In some embodiments, the communications interface component 314 includes a network interface card and/or computer-executable instructions (e.g., a driver) for operating the network interface card. Operation of these components, when executed, is described below with reference to FIG. 4.


Referring next to FIG. 4, an exemplary flow chart illustrates operation of the cloud service 104 to configure the captive portal 202 associated with the NAP 110. The operations illustrated in FIG. 4 are described with reference to execution by the cloud service 104. However, aspects of the disclosure contemplate execution of the operations by other devices or processors, such as by one or more of the mobile computing devices 102. Further, while some operations are described with reference to execution of the computer-executable components embodied or otherwise stored in the memory area 304 of the cloud service 104, one or more of the operations may be performed by other components or modules of the cloud service 104.


At 402, the cloud service 104 receives, from the NAP owner device 204, a request to provision, setup, or otherwise configure at least one of the NAPs 110. In an example scenario, the NAP owner 206 (e.g., a restaurant owner) has purchased a new NAP 110 (e.g., a wireless router) and is ready to configure the NAP 110 to implement the captive portal 202 to provide gated access to the network 108 (e.g., the Internet) for an establishment (e.g., a restaurant). The NAP owner 206 uses the NAP owner device 204 (e.g., a laptop) to send the request to the cloud service 104. The NAP owner 206 identifies the destination of the request via, for example, a near-field communications (NFC) tag, a quick-response (QR) code on the NAP 110, and/or a uniform resource locator (URL). The NFC tag, QR code, and URL may be located on the NAP 110 itself or on packaging of the NAP 110.


In some embodiments, the request includes the NAP owner identifier 306 (e.g., a login, user name, email address, etc.) and the NAP identifier 308 (e.g., a serial number, media access control address, etc.). The request may include additional information, such as a current location of the NAP 110, make/model of the NAP 110, date of purchase, and more.


At 404, the cloud service 104 provides a control channel to the NAP owner device 204. For example, the cloud service 104 provides the NAP owner device 204 with an interface such as application programming interface (API) and/or a user interface (UI). The API and UI enable the NAP owner device 204 to send the configuration settings to the cloud service 104. Aspects of the disclosure are operable with any API, including representational state transfer (REST) styles (e.g., RESTful) and other design models.


For example, an API in accordance with embodiments of the disclosure includes commands for the NAP owner 206 to define the configuration settings. The commands convey input from the NAP owner 206. As another example, a UI in accordance with embodiments of the disclosure displays one or more configuration options to the NAP owner 206. The NAP owner 206 navigates one or more menus of the UI to identify the available configuration options, and to enter configuration settings for one or more of the configuration options.


At 406, the cloud service 104 receives the configuration settings from the NAP owner device 204 via the control channel. At 408, the cloud service 104 processes the received configuration settings to generate the configuration data 310. In some embodiments, the configuration settings identify a plurality of service providers with which the NAP owner 206 has a contractual agreement. In such embodiments, processing the received configuration settings includes generating a landing page for each of the plurality of service providers. In operation, the landing page for a particular one of the service providers is provided to the mobile computing device 102 after the user 106 of the mobile computing device 102 provides credentials identifying the particular one of the service providers. The landing page may include executable scripts for retrieving current promotions of the service provider, or other advertisements.


At 410, the cloud service 104 transmits the generated configuration data 310 to the NAP 110. The NAP 110 applies the configuration data 310 to configure the NAP 110. In some embodiments, the configuration data 310 includes machine-readable data such as XML code that the NAP 110 is capable of understanding to configure the NAP 110. Alternatively or in addition, the cloud service 104 transmits the generated configuration data 310 to the NAP owner device 204. The NAP owner device 204 then communicates with the NAP 110 to apply the configuration data 310 to the NAP 110.


In some embodiments, the cloud service 104 transmits the generated configuration data 310 to the NAP 110 as an image (e.g., firmware) to be applied to the NAP 110. Installing the image applies the configuration data 310 while maintaining user settings. In some embodiments, the image is an operating system image that represents a full re-imaging of the NAP 110 (e.g., router).


In some scenarios, the cloud service 104 receives a set of application identifiers from the NAP owner 206 as part of the configuration settings. The set of application identifiers correspond to those applications to be allowed access through the captive portal 202. For example, the application identifiers may include string names for applications such as messaging applications, audio streaming applications, and video streaming applications.


In some embodiments, the set of application identifiers corresponds to those applications the NAP 110 will allow through the captive portal 202 without authentication of the mobile computing device 102 and/or user 106. As an example, the NAP owner 206 may allow access to social media applications without redirecting the mobile computing devices 102 to the captive portal web page for authentication. In another example, the NAP owner 206 may allow access to a video teleconferencing application without authentication of the mobile computing device 102 and/or user 106 based on an agreement with one of the service providers associated with the video teleconferencing application. In this manner, transparent network access is provided to the users 106 executing the video teleconferencing application.


In another scenario, the NAP owner 206 identifies one or more mobile operators or other service providers in the configuration settings. Users 106 associated with the identified service providers are allowed to connect through the captive portal 202 to access the network 108 without paying a fee or other requirements such as viewing an advertisement, accepting terms of service, etc. In such scenarios, the NAP owner 206 charges the service providers a fee for allowing customers (e.g., the users 106) of the service providers to connect through the captive portal 202. In this manner, aspects of the disclosure enable reverse billing, or otherwise operate to subsidize a cost associated with access to the network 108 by allotting a portion of the cost to the service providers.


In still another scenario, the NAP 110 is associated with a business entity and the NAP owner 206 specifies the hours of operation for the business entity in the configuration settings. After the configuration settings are applied to the NAP 110, the NAP 110 disables access to the network 108 outside the hours of operation.


After the NAP 110 has been configured via the configuration data 310, the cloud service 104 monitors network traffic through the captive portal 202 at 412. For example, the NAP 110 intermittently or periodically sends the cloud service 104 reports detailing the network traffic by a plurality of the user 106 through the captive portal 202. The cloud service 104 analyzes the network traffic, and in some embodiments enforces the usage rules against the users 106 based on the monitored network traffic. For example, the cloud service 104 may instruct the NAP 110 to offload one or more of the current users 106 to another network 108 or NAP 110, to restrict access (e.g., throttle bandwidth) by one or more of the current users 106, and/or prevent one or more future users 106 from obtaining access through the captive portal 202.


After configuration of the NAP 110, the cloud service 104 may further use the control channel to deliver information to the NAP 110. In some scenarios, the cloud service 104 provides a redirect web page (e.g., a landing page) to the mobile computing device 102 through the control channel when the user 106 attempts to access the network 108 via the NAP 110. The NAP 110 then uses the control channel to perform authentication of the users 106 and/or authorization of the mobile computing devices 102 to connect through the captive portal 202. For example, after being presented with user credentials via the control channel, the cloud service 104 may provide instructions to the NAP 110 that this particular user 106, using the mobile computing device 102 having a particular MAC address, is allowed to connect through the captive portal 202 to the network 108 for a particular duration or until a particular amount of network data has been consumed. The NAP 110 then provides the user 106 with network access in accordance with the instructions received via the control channel.


In some embodiments, the components illustrated in FIG. 3 execute to perform one or more of the operations illustrated in FIG. 4. For example, the user interface component 312, when executed by the processor 302 of the cloud service 104, causes the processor 302 to provide a user interface for display on the NAP owner device 204. In some embodiments, the user interface component 312 provides user interface elements (e.g., menus, popups, dialog boxes, entry fields, etc.) for receiving a bandwidth configuration from the NAP owner 206, for receiving a request from the NAP owner 206 to add another captive portal 202 to the NAP 110, and more.


The NAP owner device 204 receives the configuration settings for the NAP 110 from the NAP owner 206 via the provided user interface. The communications interface component 314, when executed by the processor 302 of the cloud service 104, causes the processor 302 to receive the configuration settings from the NAP owner device 204. The configuration component 316, when executed by the processor 302 of the cloud service 104, causes the processor 302 to process the configuration settings received by the communications interface component 314 to generate the configuration data 310 for the NAP 110. In some embodiments, the configuration component 316 further creates a correlation between the NAP 110 and the NAP owner 206 (e.g., between the NAP identifier 308 and the NAP owner identifier 306).


The communications interface component 314 further executes to transmit the configuration data 310 generated by the configuration component 316 from the cloud service 104 to the NAP 110. The NAP 110 applies the transmitted configuration data 310 to configure the NAP 110. Alternatively or in addition, the communications interface component 314s transmits the configuration data 310 to the NAP owner device 204. In such an example, the NAP owner device 204 applies the configuration data 310 to the NAP 110 to configure the NAP 110.


In some embodiments, the user interface component 312 provides data to the user 106 or receives data from the user 106 via one or more of the following hardware elements on the NAP owner device 204: speakers, a sound card, a camera, a microphone, a vibration motor, one or more accelerometers, a BLUETOOTH brand communication module, global positioning system (GPS) hardware, and a photoreceptive light sensor. For example, the NAP owner 206 may input commands or manipulate data by moving the NAP owner device 204 in a particular way.


The report component 318, when executed by the processor 302 of the cloud service 104, causes the processor 302 to generate one or more reports. The reports are based on data collected from the NAP 110 and/or the cloud service 104. An exemplary report indicates an amount of network traffic, through the NAP 110, from the users 106. The report may further identify an amount of network traffic affiliated with different service providers. For example, the report indicates that the users 106 associated with Service Provider A generated 20% of overall network traffic through the NAP 110, whereas the users 106 associated with Service Provider B generated 30% of the overall network traffic through the NAP 110.


In some embodiments, the cloud service 104 provides one or more of the reports to the NAP owner 206 (e.g., transmitted to the NAP owner device 204). Continuing the above example with Service Providers A and B, the cloud service 104 provides the report (e.g., a monetization report) to the NAP owner 206 showing an amount (e.g., percentage) of network traffic associated with the users 106 who are affiliated with at least one of the service providers.


In some embodiments, each service provider pays a subsidy or other fee to the NAP owner 206 to allow the users 106 of the service provider to connect through the captive portal 202 of the NAP 110. In such embodiments, the report component 318 provides one or more of the reports to the service providers on behalf of the NAP owner 206. In this manner, the cloud service 104 markets the NAP 110 to the service providers for additional or increased subsidies from the service providers by emphasizing, for example, the quantity of the users 106 of the service providers who frequent the NAP 110.


The report component 318 may also allow the NAP owner device 204 to connect to the cloud service 104, through the control channel, to view the reports. For example, the NAP owner 206 may login to the cloud service 104, via the control channel, to view log files or other accumulated or derived data.


Additional Examples


In an example scenario, a bakery owner wants to provide Wi-Fi access to customers of the bakery. The bakery owner purchases a wireless router designed for hotspot service, and connects the wireless router to the Internet. The wireless router is pre-configured by the manufacturer to automatically attempt to connect to the cloud service 104 upon initial power up. After connection to the cloud service 104, the wireless router sends information describing the wireless router, such as serial number, MAC address, date of manufacture, make/model, hardware/software revision information, and the like.


The bakery owner uses the NAP owner device 204 (e.g., a laptop or tablet) and logs into the cloud service 104 to provide credentials to the cloud service 104 (e.g., via the control channel). The cloud service 104 associates the credentials with the information provided by the wireless router, thereby creating a correlation between the bakery owner and the hotspot. The bakery owner provides the configuration settings for the captive portal 202 to the cloud service 104, which generates and applies the configuration data 310 to the wireless router to implement the captive portal 202. The configured wireless router is then ready to provide Wi-Fi access to the customers of the bakery. In this scenario, the cloud service 104 provides the bakery owner with a fully functional captive portal 202 along with network traffic monitoring and filtering in accordance with the supplied configuration settings.


Some embodiments support auto-provisioning of additional NAPs 110. For example, after applying the configuration data 310 to at least one NAP 110, the cloud service 104 (or NAP owner device 204) stores the configuration data 310 and can apply the same configuration data 310 when the NAP owner 206 adds a new NAP 110 or a new captive portal 202 to an existing NAP 110. In such an example, the NAP owner 206 may tap the NAP owner device 204 onto an NFC tag of the new or existing NAP 110 to automatically apply the stored configuration data 310 to the new or existing NAP 110.


In some embodiments, the control channel includes a portable storage medium such as a universal serial bus (USB) flash drive or a subscriber identity module (SIM) that allows the NAP owner 206 to contact the cloud service 104 to provision the NAP 110. For example, the USB flash drive and SIM includes an application that, when executed, contacts the cloud service 104 to establish the control channel. The USB flash drive and/or SIM may be included with the packaging of the NAP 110 upon purchase.


Aspects of the disclosure further contemplate an economic model for incentivizing an owner of the captive portal to encourage the users 106 to connect through the captive portal. For example, as the volume of the users 106 connecting through a particular captive portal increases, the cloud service 104 provides additional benefits and/or services to the users 106 and/or the owner of that captive portal. The additional benefits and/or services include, but are not limited to, higher tiers of quality of service (QoS), reserved bandwidth for the owner or other users 106 identified by the owner, and the like.


At least a portion of the functionality of the various elements in the figures may be performed by other elements in the figures, or an entity (e.g., processor, web service, server, application program, computing device, etc.) not shown in the figures.


In some embodiments, the operations illustrated in FIG. 4 may be implemented as software instructions encoded on a computer readable medium, in hardware programmed or designed to perform the operations, or both. For example, aspects of the disclosure may be implemented as a system on a chip or other circuitry including a plurality of interconnected, electrically conductive elements.


The term “Wi-Fi” as used herein refers, in some embodiments, to a wireless local area network using high frequency radio signals for the transmission of data. The term “BLUETOOTH” as used herein refers, in some embodiments, to a wireless technology standard for exchanging data over short distances using short wavelength radio transmission. The term “NFC” as used herein refers, in some embodiments, to a short-range high frequency wireless communication technology for the exchange of data over short distances.


While no personally identifiable information is tracked by aspects of the disclosure, embodiments have been described with reference to data monitored and/or collected from the users 106. In some embodiments, notice may be provided to the users 106 of the collection of the data (e.g., via a dialog box or preference setting) and users 106 are given the opportunity to give or deny consent for the monitoring and/or collection. The consent may take the form of opt-in consent or opt-out consent.


Exemplary Operating Environment


Exemplary computer readable media include flash memory drives, digital versatile discs (DVDs), compact discs (CDs), floppy disks, and tape cassettes. By way of example and not limitation, computer readable media comprise computer storage media and communication media. Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media are tangible and mutually exclusive to communication media. In some embodiments, computer storage media are implemented in hardware. Exemplary computer storage media include hard disks, flash drives, and other solid-state memory. In contrast, communication media embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media.


Although described in connection with an exemplary computing system environment, embodiments of the disclosure are capable of implementation with numerous other general purpose or special purpose computing system environments, configurations, or devices.


Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with aspects of the invention include, but are not limited to, mobile computing devices, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, gaming consoles, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, mobile computing and/or communication devices in wearable or accessory form factors (e.g., watches, glasses, headsets, or earphones), network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like. Such systems or devices may accept input from the user 106 in any way, including from input devices such as a keyboard or pointing device, via gesture input, proximity input (such as by hovering), and/or via voice input.


Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices in software, firmware, hardware, or a combination thereof. The computer-executable instructions may be organized into one or more computer-executable components or modules. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. Aspects of the invention may be implemented with any number and organization of such components or modules. For example, aspects of the invention are not limited to the specific computer-executable instructions or the specific components or modules illustrated in the figures and described herein. Other embodiments of the invention may include different computer-executable instructions or components having more or less functionality than illustrated and described herein.


Aspects of the invention transform a general-purpose computer into a special-purpose computing device when configured to execute the instructions described herein.


The embodiments illustrated and described herein as well as embodiments not specifically described herein but within the scope of aspects of the invention constitute exemplary means for provisioning captive portals associated with the NAPs 110. For example, one or more of the embodiments contemplate means for receiving a request from the NAP owner device 204 to configure the NAP 110; receiving, from the NAP owner device 204 via a control channel, configuration settings for the captive portal, processing the received configuration settings to generate configuration data 310 for the NAP 110; transmitting the generated configuration data 310 to the NAP 110, the NAP 110 applying the transmitted configuration data 310 to configure the NAP 110; monitoring network traffic from the users 106 through the captive portal; and enforcing the usage rules against the users 106 based on the monitored network traffic.


The order of execution or performance of the operations in embodiments of the invention illustrated and described herein is not essential, unless otherwise specified. That is, the operations may be performed in any order, unless otherwise specified, and embodiments of the invention may include additional or fewer operations than those disclosed herein. For example, it is contemplated that executing or performing a particular operation before, contemporaneously with, or after another operation is within the scope of aspects of the invention.


When introducing elements of aspects of the invention or the embodiments thereof, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements. The term “exemplary” is intended to mean “an example of” The phrase “one or more of the following: A, B, and C” means “at least one of A and/or at least one of B and/or at least one of C.”


Having described aspects of the invention in detail, it will be apparent that modifications and variations are possible without departing from the scope of aspects of the invention as defined in the appended claims. As various changes could be made in the above constructions, products, and methods without departing from the scope of aspects of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.

Claims
  • 1. A system for provisioning a captive portal associated with a network access point (NAP), said system comprising: a processor programmed to: receive configuration settings for the captive portal from a first user, the configuration settings including a plurality of application identifiers, wherein each of the plurality of application identifiers identify an application that is allowed access through the captive portal without authentication of a mobile device or user; andprocess the received configuration settings to: generate configuration data for configuring the NAP;enable the captive portal to provide access to a network;receiving a request from a second user to access a first application through the captive portal, the first application comprising a first application identifier from the plurality of application identifiers;enabling the second user to access the first application through the captive portal without authenticating the second user or a computing device of the second user based at least on the first application identifier;receiving a request from the second user to access a second application through the captive portal; andbased at least one the second application not including an identifier from the plurality of identifiers, sending a request to authenticate the second user or the computing device of the second user prior to enabling the second user to access the second application through the captive portal.
  • 2. The system of claim 1, wherein the processor is further programmed to: receive a request from a NAP owner device to configure a NAP, the request including the NAP owner identifier; andprovide, in response to the received request, the control channel to the NAP owner device.
  • 3. The system of claim 2, wherein the NAP owner device is co-located with the NAP at a location of a business entity.
  • 4. The system of claim 1, wherein the configuration settings further comprise usage rules and wherein the processor is further configured to enforce the usage rules against network traffic through the captive portal.
  • 5. The system of claim 1, wherein receiving the configuration settings comprises receiving identification of one or more mobile operators, and further comprising allowing users affiliated with at least one of the one or more mobile operators to connect through the captive portal without paying a fee.
  • 6. A method comprising: sending, from a network access point (NAP) owner device, a NAP identifier and a NAP owner identifier;accessing, by the NAP owner device, a control channel;sending, from the NAP owner device via the provided control channel, configuration settings for a captive portal associated with a NAP, the captive portal providing access to a network, the configuration settings including a plurality of application identifiers, wherein each of the plurality of application identifiers identify an application that is allowed access to the captive portal without authentication of a mobile device or user;receiving a request from a user to access a first application through the captive portal, the first application comprising a first application identifier from the plurality of application identifiers;enabling the user to access the first application through the captive portal without authenticating the user or a computing device of the user based at least on the first application identifier;receiving a request from the user to access a second application through the captive portal; andbased at least one the second application not including an identifier from the plurality of identifiers, sending a request to authenticate the user or the computing device of the second user prior to enabling the user to access the second application through the captive portal.
  • 7. The method of claim 6, wherein the first application is connected to the network from a first device and wherein the second application is connected to the network from the first device.
  • 8. The method of claim 6, wherein the NAP is associated with a business entity, wherein sending the configuration settings comprises sending hours of operation for the business entity, and wherein the configuration data disables access to the network outside the hours of operation.
  • 9. The method of claim 6, wherein sending the configuration settings comprises sending identification of one or more mobile operators to enable users affiliated with at least one of the one or more mobile operators to connect through the captive portal without paying a fee.
  • 10. The method of claim 9, further comprising receiving a monetization report showing an amount of network traffic associated with the users.
  • 11. The method of claim 6, further comprising subsidizing a cost associated with the access to the network with the plurality of service providers.
  • 12. The method of claim 6, wherein accessing the control channel comprises accessing at least one of an application programming interface (API) or a user interface (UI).
  • 13. One or more computer storage devices embodying computer-executable components, said components comprising: a user interface component that when executed causes at least one processor to provide a user interface for display on a network access point (NAP) owner device, the NAP owner device receiving configuration settings for a NAP from a NAP owner via the provided user interface, the configuration settings defining access by a plurality of users to a network through a captive portal implemented by the NAP, the configuration settings including a plurality of application identifiers, wherein each of the plurality of application identifiers identify an application that is allowed access through the captive portal without authentication of a mobile device or user; anda configuration component that when executed causes at least one processor to process the configuration settings to: generate configuration data for configuring the NAP;enable the captive portal to provide access to the network;receive a request from a user to access a first application through the captive portal, the first application comprising a first application identifier from the plurality of application identifiers;enable the user to access the first application through the captive portal without authenticating the user or a computing device of the user based at least on the first application identifier;receive a request from the user to access a second application through the captive portal; andbased at least one the second application not including an identifier from the plurality of identifiers, send a request to authenticate the user or the computing device of the second user prior to enabling the user to access the second application through the captive portal.
  • 14. The computer storage devices of claim 13, further comprising a communications component that when executed causes at least one processor to transmit the configuration data generated by the configuration component from a cloud service to the NAP, the NAP applying the transmitted configuration data to configure the NAP.
  • 15. The computer storage devices of claim 13, wherein the user interface component provides user interface elements for receiving a bandwidth configuration from the NAP owner.
  • 16. The computer storage devices of claim 13, wherein the user interface component provides user interface elements for receiving a request to add another captive portal to the NAP.
  • 17. The computer storage devices of claim 13, further comprising a report component that when executed causes at least one processor to generate a report indicating an amount of network traffic, through the NAP, from users affiliated with a service provider.
  • 18. The computer storage devices of claim 17, wherein the report component further provides the report to the service provider on behalf of the NAP owner to market the NAP for additional subsidies from the service provider.
  • 19. The computer storage devices of claim 13, wherein the configuration component further causes at least one processor to generate a landing page for the service provider.
  • 20. The computer storage devices of claim 13, wherein the configuration settings comprising a rule whereby authentication is a pre-requisite for an application to connect to the network through the captive portal if the application does not have an application identifier that enables the application to connect to the network through the captive portal without authentication.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. application Ser. No. 14/081,214, entitled “CONFIGURING CAPTIVE PORTALS WITH A CLOUD SERVICE,” filed Nov. 15, 2013, which is incorporated herein in its entirety.

US Referenced Citations (173)
Number Name Date Kind
6243754 Guerin et al. Jun 2001 B1
6493547 Raith Dec 2002 B1
6801777 Rusch Oct 2004 B2
6993584 Border et al. Jan 2006 B2
7330486 Ko et al. Feb 2008 B2
7472200 Taylor et al. Dec 2008 B1
7821985 Van Megen et al. Oct 2010 B2
7843843 Pap et al. Nov 2010 B1
7970931 Ventakaramaiah et al. Jun 2011 B2
7974714 Hoffberg Jul 2011 B2
7979577 Taylor et al. Jul 2011 B2
7986935 D'Souza et al. Jul 2011 B1
8078753 Bachmann et al. Dec 2011 B2
8126963 Rimmer Feb 2012 B1
8174994 Forssell et al. May 2012 B2
8271655 Dawson et al. Sep 2012 B2
8347355 Mower et al. Jan 2013 B2
8355337 Raleigh Jan 2013 B2
8407721 Dyba et al. Mar 2013 B2
8514828 Verma et al. Aug 2013 B1
8537715 Vadivelu Sep 2013 B1
8560504 Parker Oct 2013 B2
8683193 Hansen Mar 2014 B1
8687547 Collingrige Apr 2014 B2
8966407 Shacham et al. Feb 2015 B2
9369342 Dyba Jun 2016 B2
9554323 Banks et al. Jan 2017 B2
10057302 Bragg et al. Aug 2018 B2
10171304 Lepp Jan 2019 B2
10212210 Cho Feb 2019 B2
20020057678 Jiang May 2002 A1
20020066033 Dobbins May 2002 A1
20020085579 Sullivan Jul 2002 A1
20030061512 Flurry Mar 2003 A1
20030065816 Dharmadhikari et al. Apr 2003 A1
20030087629 Juitt et al. May 2003 A1
20030100269 Lehtinen et al. May 2003 A1
20030140256 Hauenstein et al. Jul 2003 A1
20030177121 Moona Sep 2003 A1
20030204635 Ko et al. Oct 2003 A1
20030212800 Jones et al. Nov 2003 A1
20040009751 Michaelis et al. Jan 2004 A1
20050265321 Rappaport et al. Dec 2005 A1
20050268244 Vignet Dec 2005 A1
20060205420 Bibr et al. Sep 2006 A1
20060274750 Babbar et al. Dec 2006 A1
20060277275 Glaenzer Dec 2006 A1
20070004394 Chu et al. Jan 2007 A1
20070030855 Ribiere et al. Feb 2007 A1
20070061482 Higuchi Mar 2007 A1
20070066304 Lee Mar 2007 A1
20070073785 Laird Mar 2007 A1
20070091861 Gupta et al. Apr 2007 A1
20070112948 Uhlik May 2007 A1
20070167174 Halcrow et al. Jul 2007 A1
20070190977 Fok Aug 2007 A1
20070211690 van megen et al. Sep 2007 A1
20070233860 Lillie Oct 2007 A1
20080010198 Eliscu Jan 2008 A1
20080049649 Kozisek et al. Feb 2008 A1
20080065762 Nauerz et al. Mar 2008 A1
20080076385 Mayer et al. Mar 2008 A1
20080080413 Cole et al. Apr 2008 A1
20080080419 Cole Apr 2008 A1
20080080457 Cole Apr 2008 A1
20080080458 Cole Apr 2008 A1
20080104207 Pulkkinen May 2008 A1
20080165683 Saha et al. Jul 2008 A1
20080176583 Brachet et al. Jul 2008 A1
20080186882 Scherzer et al. Aug 2008 A1
20080192681 Lee et al. Aug 2008 A1
20080209537 Wong et al. Aug 2008 A1
20080244451 Goering et al. Oct 2008 A1
20090031255 Kidd Jan 2009 A1
20090047970 Kim et al. Feb 2009 A1
20090061870 Finkelstein et al. Mar 2009 A1
20090069018 Babbar Mar 2009 A1
20090313318 Dye et al. Dec 2009 A1
20090313358 Shepherd et al. Dec 2009 A1
20100070256 Nilsson et al. Mar 2010 A1
20100100725 Ozzie et al. Apr 2010 A1
20100106572 van hoff et al. Apr 2010 A1
20100115415 Hickey May 2010 A1
20100161710 Stoner Jun 2010 A1
20100184440 Mao et al. Jul 2010 A1
20100211638 Rougier Aug 2010 A1
20100272081 Laroia et al. Oct 2010 A1
20100287229 Hauser Nov 2010 A1
20100302958 Wietfeldt et al. Dec 2010 A1
20110019566 Leemet et al. Jan 2011 A1
20110029779 Sekiya Feb 2011 A1
20110078781 Chou Mar 2011 A1
20110087982 Mccann et al. Apr 2011 A1
20110119386 Murrett et al. May 2011 A1
20110197237 Turner Aug 2011 A1
20110244826 Krishnan et al. Oct 2011 A1
20110264812 Bergman et al. Oct 2011 A1
20110286437 Austin et al. Nov 2011 A1
20110302643 Pichna Dec 2011 A1
20120030345 Mahadevan et al. Feb 2012 A1
20120066050 Satyavolu et al. Mar 2012 A1
20120113813 Haverinen et al. May 2012 A1
20120113837 Siomina et al. May 2012 A1
20120166604 Fortier et al. Jun 2012 A1
20120167185 Menezes et al. Jun 2012 A1
20120170513 Vogedes Jul 2012 A1
20120196644 Scherzer et al. Aug 2012 A1
20120209839 Andrews et al. Aug 2012 A1
20120209879 Banerjee et al. Aug 2012 A1
20120210011 Liu et al. Aug 2012 A1
20120221955 Raleigh Aug 2012 A1
20120246553 Ong Sep 2012 A1
20120276867 Mcnamee et al. Nov 2012 A1
20120278431 Luna Nov 2012 A1
20120297055 Raleigh Nov 2012 A9
20120297190 Shen et al. Nov 2012 A1
20120303823 Nair et al. Nov 2012 A1
20130007858 Shah Jan 2013 A1
20130019013 Rice et al. Jan 2013 A1
20130023216 Moscibroda et al. Jan 2013 A1
20130058274 Scherzer et al. Mar 2013 A1
20130060653 Sharkey Mar 2013 A1
20130080348 Pantaliano et al. Mar 2013 A1
20130086211 Sondhi et al. Apr 2013 A1
20130103836 Baniqued et al. Apr 2013 A1
20130111024 Setia et al. May 2013 A1
20130115945 Holostov et al. May 2013 A1
20130124712 Parker May 2013 A1
20130128815 Scherzer et al. May 2013 A1
20130155876 Potra Jun 2013 A1
20130217361 Mohammed et al. Aug 2013 A1
20130223308 Chandra et al. Aug 2013 A1
20130254779 Dyba et al. Sep 2013 A1
20130268632 Baron et al. Oct 2013 A1
20130268666 Wilson et al. Oct 2013 A1
20130298209 Targali Nov 2013 A1
20130331082 Topaltzas et al. Dec 2013 A1
20140022918 Guo et al. Jan 2014 A1
20140029471 Tavildar et al. Jan 2014 A1
20140068030 Chambers Mar 2014 A1
20140071895 Bane et al. Mar 2014 A1
20140071967 Velasco Mar 2014 A1
20140075567 Raleigh Mar 2014 A1
20140101447 Lekies Apr 2014 A1
20140122695 Kulikov May 2014 A1
20140140213 Raleigh May 2014 A1
20140189808 Mahaffey Jul 2014 A1
20140195654 Kiukkonen et al. Jul 2014 A1
20140219155 Breuer et al. Aug 2014 A1
20140274113 Teed-gillen et al. Sep 2014 A1
20140280737 Bicket et al. Sep 2014 A1
20140344890 Warrick et al. Nov 2014 A1
20150012990 Copsey Jan 2015 A1
20150026773 Dunphey Jan 2015 A1
20150049630 Kritt et al. Feb 2015 A1
20150052192 Chauhan Feb 2015 A1
20150089592 Han Mar 2015 A1
20150089617 Sondhi Mar 2015 A1
20150139074 Bane et al. May 2015 A1
20150139082 Banks et al. May 2015 A1
20150142590 Gray et al. May 2015 A1
20150142946 Alam et al. May 2015 A1
20150142947 Dyba et al. May 2015 A1
20150142980 Bragg et al. May 2015 A1
20150170072 Grant Jun 2015 A1
20150188949 Mahaffey Jul 2015 A1
20150237002 Baniqued et al. Aug 2015 A1
20160021097 Shrotri Jan 2016 A1
20160034673 Chandra Feb 2016 A1
20170094698 Banks et al. Mar 2017 A1
20170126649 Votaw May 2017 A1
20180239885 Kumar Aug 2018 A1
20180242032 Viswanathan Aug 2018 A1
Foreign Referenced Citations (10)
Number Date Country
2775804 Jul 2012 CA
1403952 Mar 2003 CN
100489827 May 2009 CN
101675640 Mar 2010 CN
103281753 Sep 2013 CN
103392319 Nov 2013 CN
1705869 Oct 2010 EP
1872609 Mar 2012 EP
2006059369 Jun 2006 WO
2013095451 Jun 2013 WO
Non-Patent Literature Citations (67)
Entry
“International Search Report & Written Opinion Received for PCT Patent Application No. PCT/US2014/065585”, dated Mar. 6, 2015, 9 Pages.
“Alcatel-Lucent OmniAccess Guest Manager, Easy, Scalable and Secure Guest Access”, Published on: Dec. 31, 2012, 4 pages. Available at: http://www.alcatel-lucent.de/enterprise/ipush/ipush120/OmniAccess-Guest-Manager_DS_EN.pdf.
“About Challenge Based Auth (Captive Portal)”, Retrieved Date: May 21, 2013, 3 pages. Available at: https://bto.bluecoat.com/sgos/ThreatPulse/ThreatPulseAccessMethodsWebGuide/Content/Deployment/Concepts/AuthDetail/about_captport_co.htm.
“Meraki for Service Providers: Captive Portal Configuration”, Meraki Solution Guide: Captive Portal Configuration, Jul. 2012, 13 pages. Available at: http://www.meraki.com/lib/pdf/ meraki_whitepaper_captive_portal.pdf.
“Non-Final Office Action Issued in U.S. Appl. No. 14/081,214”, dated Jan. 26, 2015, 16 Pages.
“Non-Final Office Action Issued in U.S. Appl. No. 14/081,214”, dated May 11, 2015, 17 Pages.
“Notice of Allowance Issued in U.S. Appl. No. 14/081,214”, dated Feb. 5, 2016, 5 Pages.
“Notice of Allowance Issued in U.S. Appl. No. 14/081,214”, dated Sep. 8, 2015, 6 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/081,202”, dated Apr. 18, 2018, 13 Pages.
“AirTight Launches Social Wi-Fi: Integration of Social Channels & Customized Captive Portals Merges Social & In-Store Engagement”, Retrieved From: https://www.prnewswire.com/news-releases/airtight-launches-social-wi-fi-integration-of-social-channels—customized-captive-portals-merges-social—in-store-engagement-205207901.html, Apr. 29, 2013, 4 Pages.
“Cloud Services Provide Wi-Fi Access for Restaurants and Retail”, Retrieved From: https://news.thomasnet.com/fullstory/cloud-services-provide-wi-fi-access-for-restaurants-and-retail-60817, Jan. 18, 2012, 4 Pages.
“Login Assistant”, Retrieved From: http://www.loginassistant.net/, Retrieved Date: Jul. 30, 2013, 3 Pages.
“Machine Learning”, Retrieved From: https://en.wikipedia.org/wiki/Machine_learning, Retrieved Date: Sep. 19, 2013, 9 Pages.
“Solving the Guest access, device on boarding and Security Challenges of BYOD”, Retrieved From: https://web.archive.org/web/20130423151628/http://www.xirrus.com/products/network-Services/Access-Manager, Jan. 15, 2013, 2 Pages.
“The Best Data Usage Tracker for Android”, Retrieved From: http://lifehacker.com/5916784/the-best-data-usage-tracker-for-android, Jun. 10, 2012, 6 Pages.
“The Future of Hotspots: Making Wi-Fi as Secure and Easy to Use as Cellular”, Retrieved Date: https://web.archive.org/web/20130628164338/https://www.cisco.com/en/US/solutions/collateral/ns341/ns524/ns673/white_paper_c11-649337.html, Retrieved Date: May 27, 2013, 6 Pages.
“What is Fon?”, Retrieved From: https://corp.fon.com/en/media/press-notes?field_date_value%5Bvalue%5D%5Byear%5D&field_note_type_tid=All&=Apply/, Jan. 20, 2014, 3 Pages.
“Final Office Action Issued in U.S. Appl. No. 12/333,331”, dated Sep. 27, 2012, 7 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 12/333,331”, dated Mar. 30, 2012, 18 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/081,184”, dated Oct. 24, 2016, 14 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/081,184”, dated Mar. 3, 2017, 13 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/081,184”, dated Apr. 1, 2016, 12 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/081,196”, dated Jan. 24, 2018, 27 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/081,196”, dated Apr. 18, 2016, 21 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/081,196”, dated Dec. 12, 2016, 24 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/081,196”, dated Jul. 30, 2018, 23 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/081,196”, dated Aug. 7, 2017, 24 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/081,196”, dated Jul. 28, 2016, 22 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/081,196”, dated Nov. 19, 2015, 17 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/081,199”, dated Jan. 6, 2016, 27 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/081,199”, dated Jul. 10, 2015, 22 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/081,202”, dated May 18, 2016, 21 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/081,202”, dated Jul. 13, 2017, 21 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/081,202”, dated Nov. 25, 2015, 17 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/081,202”, dated Dec. 30, 2016, 22 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/081,206”, dated Mar. 25, 2016, 13 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/081,206”, dated Sep. 16, 2015, 10 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/081,210”, dated Jun. 3, 2016, 23 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/081,210”, dated Nov. 3, 2017, 18 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/081,210”, dated Oct. 23, 2015, 18 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/081,210”, dated Feb. 9, 2017, 19 Pages.
“Search Report Issued in European Patent Application No. 14815975.9”, dated Sep. 29, 2016, 5 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 15/372,389”, dated Feb. 27, 2018, 13 Pages.
“First Office Action and Search Report Issued in Chinese Patent Application No. 201480062545.3”, dated Aug. 14, 2018, 16 Pages.
“First Office Action and Search Report Issued in Chinese Patent Application No. 201480062626.3”, dated Jul. 4, 2018, 14 Pages.
Bhatt, et al., “Protect online facilities using User Authentication depend on Cloud”, In International Journal of Engineering and Innovative Technology (IJEIT) vol. 1, Issue 2,, Feb. 2012, 4 Pages.
Bode, Karl, “Verizon Wireless Plans Turbo Boost Broadband Get Bumped to the Head of the Congestion Line—For a Fee”, Retrieved From: http://www.dslreports.com/shownews/Verizon-Wireless-Plans-Turbo-Boost-Broadband-116879, Retrieved Date: Apr. 11, 2013, 11 Pages.
Bojovic, et al., “A Supervised Learning Approach to Cognitive Access Point Selection”, In Proceedings of the Workshop on Global Communications Conference, Dec. 5, 2011, pp. 1100-1105.
Castignani, et al., “Wi2Me: A Mobile Sensing Platform for Wireless Heterogeneous Networks”, In Proceedings of IEEE 32nd International Conference on Distributed Computing Systems Workshops, Jun. 18, 2012, pp. 108-113.
Chen, Brian X.., “Ratemizer App Offers Instant Phone-Bill Analysis”, Retrieved From: http://bits.blogs.nytimes.com/2012/11/20/ratemizer-iphone-app-savings/, Jan. 16, 2013, 5 Pages.
“International Search Report & Written Opinion for PCT Application No. PCT/US2014/065580”, dated Jun. 11, 2015, 15 Pages.
“International Preliminary Report on Patentability Issued in PCT Application No. PCT/US2014/065581”, dated Jan. 26, 2016, 9 Pages.
“International Search Report and Written Opinions Issued in PCT Application No. PCT/US2014/065581”, dated Mar. 25, 2015, 11 Pages.
“Second Written Opinion Issued in PCT Application No. PCT/US2014/065581”, dated Oct. 1, 2015, 8 Pages.
“International Search Report and Written Opinion Issued for PCT Patent Application No. PCT/US2014/065582”, dated Mar. 17, 2015, 13 Pages.
“International Search Report & Written Opinion for PCT Application No. PCT/US2014/065583”, dated Apr. 9, 2015, 11 Pages.
“International Search Report and Written Opinions Issued in PCT Application No. PCT/US2014/065584”, dated Feb. 26, 2015, 11 Pages.
Reardon, Marguerite, “Ending the headaches of Wi-Fi”, Retrieved From: https://web.archive.org/web/20140116191236/http://news.cnet.com/8301-1035_3-57586189-94/ending-the-headaches-of-wi-fi/, May 18, 2013, 5 Pages.
Schwartz, Joe, “Bing Maps Tile System”, Retrieved From: http://msdn.microsoft.com/en-us/library/bb259689.aspx, Retrieved Date: Jun. 3, 2013, 10 Pages.
Sun, et al., “Towards Connectivity Management Adaptability: Context Awareness in Policy Representation and End-to-end Evaluation Algorithm”, In Proceedings of the 3rd International Conference on Mobile and Ubiquitous Multimedia Oct. 27, 2004, 8 Pages.
Venkitaraman, et al., “Session Aware Network Controlled Interface Selection for Multi-Homed Hosts”, In Proceedings of WCNC IEEE Communications Society, vol. 4, Mar. 21, 2004, pp. 1963-1968.
Ylitalo, et al., “Dynamic Network Interface Selection in Multihomed Mobile Hosts”, In Proceedings of the 36th Hawaii International Conference on System Sciences, Jan. 6, 2003,10 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/081,196”, dated Jan. 22, 2019, 31 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 15/372,389”, dated Jan. 2, 2019, 12 Pages.
“Second Office Action Issued in Chinese Patent Application No. 201480062545.3”, dated Mar. 13, 2019, 12 Pages.
“Third Office Action Issued in Chinese Patent Application No. 201480062545.3”, dated Jun. 20, 2019, 8 Pages.
“Summons to Attend Oral Proceedings Issued in European Patent Application No. 14815975.9”, Mailed Date: Jun. 7, 2019, 9 Pages.
Related Publications (1)
Number Date Country
20160295428 A1 Oct 2016 US
Continuations (1)
Number Date Country
Parent 14081214 Nov 2013 US
Child 15177207 US