IP Library Granted Patent US 10,050,949
Granted Patent B2
US 10,050,949 · App. 14/666,078 · Granted Aug 14, 2018

Accessing a secure network using a streaming device

Inventors: Jordan Andrew Marcy (Palo Alto, CA); Rajan Ranga (Palo Alto, CA); He Chen (San Jose, CA); Ben Zion Gabay (Palo Alto, CA); Patricia Julia Cuadra (Cupertino, CA); Michael William Miller (Mountain View, CA)
Assignee: Amazon Technologies, Inc.
H04L63/08G06F21/606H04L63/10H04L65/4069G06F17/30867H04L67/02
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 10,050,949
App. No.
14/666,078
Granted
Aug 14, 2018
Kind
B2
Abstract

Web pages, such as a captive portal web page, may be rendered on an electronic display such as a display of a television that is removably coupled to a content streaming device. The web pages may be rendered using a customized user interface (UI) of a captive portal application executable on the content streaming device. The UI of the captive portal application may be customized for viewing at a longer distance than a typical distance between a user and a handheld mobile device. A computer-executable script may be embedded or otherwise associated with source code of a web page to cause a focus outline of a selectable UI element to be displayed more prominently when a user navigates to the selectable UI element using, for example, a remote control device configured to communicate with the content streaming device.

Claims (106)

1. A method, comprising:

generating, by a content streaming device removably coupled to a television, a hypertext transfer protocol (HTTP) request for a first web page containing a sequence of characters;

sending, by the content streaming device, the HTTP request to a wireless router via a network connection;

receiving, by the content streaming device, a second web page from the wireless router via the network connection;

determining, by the content streaming device, that the second web page does not include the sequence of characters;

determining, by the content streaming device, that the second web page is a captive portal page via which authentication credentials may be received for authenticating the content streaming device with the wireless router;

generating, by the content streaming device, an event notification indicating that the captive portal page was received;

detecting, by an event listener of the content streaming device, the event notification;

launching, by the content streaming device, a captive portal application executable on the content streaming device, the captive portal application including a web view component for rendering web pages on the television;

embedding, by the captive portal application, an executable script in the captive portal page, wherein embedding the executable script comprises locating an identifier of a first user interface (UI) object within source code of the captive portal page and associating the executable script with the first UI object, wherein the executable script emphasizes an appearance of at least the first UI object;

rendering, by the captive portal application, the captive portal page on an electronic display using the web view component, wherein rendering the captive portal page comprises rendering the first UI object of the captive portal page using a first number of pixels of the electronic display and rendering a second UI object of the captive portal page;

executing, by the captive portal application, the executable script to cause a boundary to be rendered around the first UI object when the first UI object is selected;

determining, by the captive portal application, that the first UI object has been selected;

causing the boundary to be rendered around the first UI object to display the first UI object more prominently than the second UI object and to indicate that the first UI object has been selected for receiving one or more characters, wherein the first UI object and the boundary are rendered using a second number of pixels of the electronic display, and wherein the second number of pixels is greater than the first number of pixels;

detecting a first interaction with one of the first UI object and the second UI object; and

sending data to a content source based at least in part on the first interaction.

2. The method of claim 1 , wherein the HTTP request is a first HTTP request and the captive portal page received from the wireless router is a first instance of the captive portal page, the method further comprising:

generating, by the captive portal application, a second HTTP request for a third web page;

sending, by the captive portal application, the second HTTP request to the wireless router via the network connection; and

receiving, by the captive portal application, a second instance of the captive portal page from the wireless router via the network connection, wherein the executable script is embedded in the second instance of the captive portal page and the second instance of the captive portal page is rendered using the web view component.

3. The method of claim 1 , wherein embedding the executable script in the captive portal page further comprises calling a function defined on an interface of the web view component, wherein calling the function comprises passing the executable script as a parameter to the function, and wherein executing the executable script comprises locating the identifier of the first UI object in the source code of the captive portal page and associating a style object with the identifier, wherein the style object is representative of the boundary to be rendered around the first UI object when the first UI object is selected.

4. The method of claim 1 , further comprising:

receiving, by the content streaming device, a signal from a remote control device, wherein the signal is indicative of a selection of a button of the remote control device;

generating, by the content streaming device, an event corresponding to a first device operation associated with selection of the button;

intercepting, by the captive portal application, the event, wherein intercepting the event comprises passing the event as an input parameter to a function and making a call to the function to prevent the first device operation from being performed; and

generating, by the captive portal application, an application programming interface to cause a second device operation to be performed, the second device operation comprising navigating from the first UI object to the second UI object.

5. A method, comprising:

sending, by a device, an HTTP request for a first web page that comprises a sequence of characters;

receiving a second web page including website content, wherein the second web page does not include the sequence of characters;

associating an executable script with at least a portion of the website content;

detecting, using an event listener, an event notification indicating that the second web page is a captive portal page that requires authentication credentials;

embedding an executable script in the second web page;

causing the website content to be rendered by an electronic display, wherein rendering the website content comprises rendering a first user interface (UI) object using a first number of pixels of the electronic display;

executing the executable script to cause a boundary to be rendered in association with the first UI object to emphasize an appearance of the first UI object so as to indicate that the first UI object is currently selected, wherein the first UI object and the boundary are rendered using a second number of pixels, and wherein the second number of pixels is greater than the first number of pixels;

detecting an interaction with the first UI object; and

receiving, by the device, data from one or more content sources.

6. The method of claim 5 , further comprising:

launching, based on detection of the event notification, a captive portal application configured to render the captive portal page in a component for rendering web pages.

7. The method of claim 5 , wherein the HTTP request is a first HTTP request and the captive portal page is received from a wireless router and is a first instance of the captive portal page, the method further comprising:

generating a second HTTP request for a third web page;

sending the second HTTP request to the wireless router; and

receiving a second instance of the captive portal page from the wireless router, wherein the executable script is associated with the second instance of the captive portal page and the second instance of the captive portal page is rendered using a component for rendering web pages.

8. The method of claim 5 , wherein rendering the web page on the electronic display using the component further comprises rendering a second UI object, the method further comprising:

determining, by the captive portal application, that the second UI object has been selected; and

causing, as a result of execution of the executable script, indicia to be rendered to display the second UI object more prominently than the first UI object and to indicate that the second UI object has been selected and that the first UI object has been de-selected.

9. The method of claim 5 , wherein rendering the web page on the electronic display further comprises rendering a second UI object, the method further comprising:

receiving a signal from a remote control device, wherein the signal is indicative of a selection of a button of the remote control device;

generating an event corresponding to a first device operation associated with selection of the button;

detecting the event; and

generating, by the captive portal application, an application programming interface to cause a second device operation to be performed instead of the first device operation, the second device operation comprising navigating from the first UI object to the second UI object.

10. The method of claim 5 , further comprising:

rendering a graphical indicator at a first location of the second web page, wherein the graphical indicator enables navigation to any location of the second web page rendered on the electronic display;

receiving a signal from a remote control device, wherein the signal is indicative of a selection of a button of the remote control device;

generating a first event corresponding to a first device operation associated with selection of the button;

receiving the first event to prevent the first device operation from being performed;

generating a second event corresponding to a second device operation; and

performing the second device operation during receipt of the signal from the remote control device, wherein performing the second device operation comprises continuously rendering the graphical indicator at a plurality of additional locations of the second web page in a direction corresponding to the button.

11. The method of claim 5 , further comprising:

receiving user authentication credentials via the captive portal page;

generating an authentication request;

sending the authentication request to a wireless router;

receiving an authentication response from the wireless router, wherein the authentication response comprises a landing page indicating that the wireless router has authenticated the device;

receiving a third web page from the wireless router;

determining, by the device, that the third web page includes the sequence of characters; and

exiting, by the device, the captive portal application.

12. A device, comprising:

at least one memory storing computer-executable instructions; and

at least one processor operatively coupled to the at least one memory and configured to access the at least one memory and execute the computer-executable instructions to:

send an HTTP request for a first web page that comprises a sequence of characters;

receive a second web page from a wireless router, wherein the second web page does not include the sequence of characters;

associate an executable script with the web page;

detect, using an event listener, an event notification indicating that the second web page is a captive portal page that requires authentication credentials;

embed an executable script in the second web page;

cause the website content to be rendered by an electronic display, wherein rendering the website content comprises rendering a first user interface (UI) object using a first number of pixels of the electronic display;

execute the executable script to cause a boundary to be rendered in association with the first UI object to emphasize an appearance of the first UI object so as to indicate that the first UI object is currently selected, wherein the first UI object and the boundary are rendered using a second number of pixels, and wherein the second number of pixels is greater than the first number of pixels;

detect an interaction with the first UI object; and

receive data from one or more content sources.

13. The device of claim 12 , wherein the at least one processor is further configured to execute the computer-executable instructions to:

launch a captive portal application based on detection of the event notification, wherein the captive portal application is configured to render the captive portal page in a component for rendering web pages.

14. The device of claim 12 , wherein the HTTP request is a first HTTP request and the captive portal page received from a wireless router is a first instance of the captive portal page, and wherein the at least one processor is further configured to execute the computer-executable instructions to:

generate a second HTTP request for a third web page;

send the second HTTP request to the wireless router; and

receive a second instance of the captive portal page from the wireless router, wherein the executable script is associated with the second instance of the captive portal page and the second instance of the captive portal page is rendered using a component for rendering web pages.

15. The device of claim 12 , wherein rendering the web page on the electronic display using the component further comprises rendering a second UI object, and wherein the at least one processor is further configured to execute the computer-executable instructions to:

determine that the second UI object has been selected; and

cause, as a result of execution of the executable script, indicia to be rendered to display the second UI object more prominently than the first UI object and to indicate that the second UI object has been selected and that the first UI object has been de-selected.

16. The device of claim 12 , wherein rendering the web page on the electronic display further comprises rendering a second UI object, and wherein the at least one processor is further configured to execute the computer-executable instructions to:

receive a signal from a remote control device, wherein the signal is indicative of a selection of a button of the remote control device; and

generate a first event corresponding to a first device operation associated with selection of the button;

receive the first event to prevent the first device operation from being performed; and

generate an application programming interface to cause a second device operation to be performed, the second device operation comprising navigating from the first UI object to the second UI object.

17. The device of claim 12 , wherein the at least one processor is further configured to execute the computer-executable instructions to:

receive a signal from a remote control device, wherein the signal is indicative of a selection of a button of the remote control device;

generate a first event corresponding to a first device operation associated with selection of the button;

render a graphical indicator at a first location of the second web page, wherein the graphical indicator enables navigation to any location of the second web page rendered on the electronic display;

receive the first event to prevent the first device operation from being performed;

generate a second event corresponding to a second device operation; and

perform the second device operation during receipt of the signal from the remote control device, wherein performing the second device operation comprises continuously rendering the graphical indicator at a plurality of additional locations of the captive portal page in a direction corresponding to the button.

18. The device of claim 12 , wherein the at least one processor is further configured to execute the computer-executable instructions to:

receive user authentication credentials via the captive portal page;

generate an authentication request;

send the authentication request to the wireless router;

receive an authentication response from the wireless router indicating that the user authentication credentials have been authenticated;

receive a third web page from the wireless router;

determine that the third web page includes the sequence of characters; and

exit the captive portal application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2017
From: MARCY, JORDAN ANDREW; RANGA, RAJAN; CHEN, HE; GABAY, BEN ZION; CUADRA, PATRICIA JULIA; MILLER, MICHAEL WILLIAM
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 042458/0718 →
Continuity (1)
Related Publication 20160285841A1 · Sep 29, 2016