IP Library Granted Patent US 9,609,067
Granted Patent B2
US 9,609,067 · App. 14/557,953 · Granted Mar 28, 2017

Proxy captive portal traffic for input-limited devices

Inventors: Jason Anthony Mobarak (San Ramon, CA); Christopher Karl Lang (Irvine, CA); Ozgur Cem Sen (Santa Clara, CA)
Assignee: AMAZON TECHNOLOGIES, INC.
H04L67/141H04L63/0884H04L63/10H04L67/02H04L67/28H04W12/06H04W12/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,609,067
App. No.
14/557,953
Granted
Mar 28, 2017
Kind
B2
Abstract

A system for registering an input-limited device such as a media player with a captive access point that requires completion of a portal web page prior to allowing client devices access to a network such as the Internet. Such captive access points are commonly found in hotels, and may be used for both freely provided public WiFi and for connections that require providing payment. For registration, the input-limited device operates as a proxy, relaying communications with the captive access point back-and-forth to a second device with rich user-input capabilities via an independent communications channel. Registration information is provided to the access point as though it originated with the media player, allowing the media player to acquire access to the network.

Claims (62)

1. A computer-implemented method comprising:

establishing a first communication connection between a first computing device and a captive access point via a first communication channel;

establishing a second communication connection between the first computing device and a second computing device via a second communication channel that is separate from the first communication channel and independent of the captive access point, the second communication channel connecting the first computing device directly to the second computing device;

configuring the first computing device to serve as a proxy between the captive access point and the second computing device;

receiving data packets including web browser readable code for a portal login web page from the captive access point via the first communication connection;

forwarding the data packets to the second computing device via the second communication connection, the portal login web page requesting user login and password information in order to gain access to a network through the captive access point;

receiving registration information comprising the user login and password information responsive to the portal login web page from the second computing device via the second communication connection,

forwarding the registration information to the captive access point via the first communication connection;

removing, from the registration information, any indicia identifying an origin of the registration information as being the second computing device;

receiving an indication that the registration information was accepted via the first communication connection;

forwarding the indication that the registration information was accepted to the second computing device via the second communication connection; and

accessing the network over the first communication connection through the captive access point.

2. The computer-implemented method of claim 1 , further comprising:

receiving an instruction via the second communication connection from the second computing device causing the first computing device to establish the first communication connection with the captive access point and to configure itself to serve as the proxy, the instruction identifying the captive access point.

3. A first computing device comprising:

a processor;

memory including instructions operable to be executed by the processor to perform a set of actions to configure the processor to:

receive a data packet including portal login web page information from a captive access point via a first communication connection;

forward the data packets to a second computing device via a second communication connection;

receive registration information responsive to the portal login web page from the second computing device via the second communication connection;

remove, from the registration information, any indicia identifying an origin of the registration information as being the second computing device; and

forward the registration information without the indicia to the captive access point via the first communication connection.

4. The first computing device according to claim 3 , the instructions further configuring the processor to:

receive a directive from the second computing device instructing the first computing device to establish the first communication connection, the directive including information identifying the captive access point.

5. The first computing device according to claim 3 , the instructions further configuring the processor to:

receive indicia of acceptance of the registration information from the captive access point via the first communication connection.

6. The first computing device according to claim 5 , the instructions further configuring the processor to:

close the second communication connection after detecting the indicia of acceptance.

7. The first computing device according to claim 5 , wherein the indicia of acceptance comprises a Hypertext Transfer Protocol (HTTP) response status code and a message.

8. The first computing device according to claim 7 , the instructions further configuring the processor to determine that the captive access point is captive after establishing the first communication connection by:

transmitting a request via the captive access point to elicit the HTTP response status code and the message from a third computing device over the network;

receiving a response to the request; and

determining that the response does not include the HTTP response status code or the first message.

9. The first computing device according to claim 8 , wherein the instructions further configure the processor to:

establish the second communication connection in response to determining the captive access point is captive.

10. The first computing device according to claim 9 , wherein the instructions configuring the processor to establish the second communication connection further configure the processor to:

identify the second computing device based on a record stored in the memory indicating that the first computing device and the second computing device were previously paired via the second communication channel; and

determine that the second computing device is in proximity of the first computing device via the second communication interface.

11. The first computing device according to claim 3 , wherein the second communication channel is a peer-to-peer communication channel selected from WiFi Direct, Bluetooth, Near Field Communication, IrDA, wireless Universal Serial Bus, Z-Wave, or ZigBee.

12. A non-transitory computer-readable storage medium storing processor-executable instructions for controlling a first computing device, the instructions to configure the first computing device to:

receive a data packet including portal login web page information from a captive access point via a first communication connection;

forward the data packet, to a second computing device via a second communication connection;

receive registration information responsive to the portal login web page from the second computing device via the second communication connection;

remove, from the registration information, any indicia identifying an origin of the registration information as being the second computing device; and

forward the registration information without the indicia to the captive access point via the first communication connection.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions are to further configure the first computing device to:

receive a directive from the second computing device instructing the first computing device to establish the first communication connection, the directive including information identifying the captive access point.

14. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions are to further configure the first computing device to:

receive indicia of acceptance of the registration information from the captive access point via the first communication connection.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the instructions are to further configure the first computing device to:

close the second communication connection after detecting the indicia of acceptance.

16. The non-transitory computer-readable storage medium of claim 14 , wherein the indicia of acceptance comprises a Hypertext Transfer Protocol (HTTP) response status code and a message.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions are to further configure the first computing device to determine that the captive access point is captive after establishing the first communication connection by:

transmitting a request via the captive access point to elicit the HTTP response status code and the message from a third computing device over the network;

receiving a response to the request; and

determining that the response does not include the HTTP response status code or the first message.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions further configure the first computing device to:

establish the second communication connection in response to determining the captive access point is captive.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the instructions configuring the first computing device to establish the second communication connection further configure the first computing device to:

identify the second computing device based on a record stored in the memory indicating that the first computing device and the second computing device were previously paired via the second communication channel; and

determine that the second computing device is in proximity of the first computing device via a second communication interface of the first computing device configured to support the second communication channel.

20. The non-transitory computer-readable storage medium of claim 12 , wherein the second communication channel is a peer-to-peer communication channel selected from WiFi Direct, Bluetooth, Near Field Communication, IrDA, wireless Universal Serial Bus, Z-Wave, or ZigBee.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2015
From: MOBARAK, JASON ANTHONY; LANG, CHRISTOPHER KARL; SEN, OZGUR CEM
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 036000/0455 →
Continuity (1)
Related Publication 20160156719A1 · Jun 2, 2016