Patent Description:
A multimedia device coupled to a WiFi network may provide multimedia streaming services to a customer. When the quality of the multimedia streaming service is poor, the customer may not know what to do to improve the situation for their particular environment.

<CIT> discloses that a tester device may establish a connection to customer devices using protocols, such as a Universal Plug and Play (UPnP) protocol or an Open Mobile Alliance device management (OMA DM) protocol. The tester device may receive information related to wireless communications or operations of the customer devices and the information may be determined by the customer devices. The tester device may perform an analysis of the information. The tester device may provide instructions to the customer devices to cause the customer devices to use a channel to communicate. The tester device may perform a throughput test of the customer devices. The tester device may receive additional information based on performing the throughput test. The tester device may perform a comparison of the information and the additional information. The tester device may provide other instructions to the customer devices to cause the customer devices to use the channel.

<CIT> discloses that when a user receives digital content from a host over a network, such as streaming media, the user typically desires to receive a certain quality of the digital content with few or no interruptions. Techniques may be used to store and monitor a quality of digital content, a quality of the transmission of the digital content that is transmitted to a client device of a user, and/or the quality of rendering of the digital content by the client device. The techniques may provide restitution to the user when the quality of the digital content, transmission, and/or rendering thereof fails to comply with predetermined threshold values.

The invention relates to a system, as further defined in claim <NUM>, a method, as further defined in claim <NUM>, and a computer readable medium, as further defined in claim <NUM>, for easily configuring a network extender in a network.

To improve their multimedia service, a customer may order a new extender device to be added to their WiFi network. Many customers have difficulty setting up new equipment in the customer premises environment. For example, a new extender device being added to their WiFi network requires corresponding network credentials (e.g., a corresponding SSID and password) to connect the new extender device to their WiFi network. Customers typically have difficulty obtaining and then entering the data correctly.

The accompanying drawings, which are incorporated herein and form part of the specification, illustrate the presented disclosure and, together with the description, further serve to explain the principles of the disclosure and enable a person of skill in the relevant art(s) to make and use the disclosure.

The presented disclosure is described with reference to the accompanying drawings. In the drawings, generally, like reference numbers indicate identical or functionally similar elements.

Multimedia devices provide multimedia services to customer premises (e.g., a house, an office, etc.) The environment in each customer premises varies, and a customer's multimedia service experience may be dependent on the particular environment. Many customers experience poor multimedia service and are unaware and/or unable to determine how they may improve their particular environment and hence their multimedia service quality. Being able to provide environment-specific recommendations in real-time, to improve multimedia service is a challenge, especially when a plurality of multimedia devices are present in the environment.

Multimedia devices often connect to the customer's network using a wireless communications technology, such as WiFi. Wireless communications presents many challenges including obstructions such as walls and ceilings that absorb and attenuate the wireless signal, time-varying link qualities due to fading and multipath, mobility of devices and objects in the environment, and interference from other devices operating within the same frequency band. It is challenging to establish reliable communications links over short-range unlicensed radio technologies like WiFi, especially for applications such as video streaming that require reliable high-bandwidth connections.

A wireless extender is a device that extends the communication range of a first WiFi access point by acting simultaneously as a WiFi Client (<NUM> Station) and a second WiFi access point (<NUM> Access Point). Acting as a client, a wireless extender can connect to a first WiFi access point within the network, and acting as a second AP, the wireless extender can accept connections from other WiFi client devices. As part of the extender function, the wireless extender can receive and retransmit data frames between a WiFi client device (e.g., a laptop) and the first WiFi AP. The wireless extender may advertise service using the same Extended Service Set Identifier (ESSID) as the first WiFi AP or it may advertise WiFi service through a separate ESSID. Unlike existing wireless extender devices that work with many devices, embodiments include a wireless extender device that is directed to improve performance of particular multimedia devices associated with a user's account.

Some embodiments include a multimedia device that determines based on metrics and the particular environment where the multimedia device is operating, whether an extender device may improve the customer's multimedia service experience. The metrics may be based on physical layer metrics and/or application layer metrics measured in real-time and/or over a defined time interval. When the metrics satisfy respective configurable threshold values, embodiments include providing a recommendation to order (e.g., purchase or rent) an extender device.

After the recommendation is communicated, a customer may order a new extender device to be added to their WiFi network. For example, a new extender device being added to their WiFi network requires corresponding network credentials (e.g., a corresponding SSID and password) to connect the new extender device to their WiFi network. Customers typically have difficulty obtaining and then entering the data correctly. For example, they may not remember their network name and/or password, or may enter their network name and/or password incorrectly.

Some embodiments include receiving an order for the extender device, and configuring the extender device based on existing WiFi network credentials to minimize errors. Some embodiments include a configuration application, configuration using a user interface (UI), and/or a pre-provisioned multimedia device, a pre-configured extender device:.

Once a new extender device is configured (e.g., connected to the WiFi network), many customers have a difficult time determining where to physically place the configured extender device to improve their multimedia service experience. Some customers may place the configured new extender device in a sub-optimal location, resulting in poor or unreliable performance. For example, a configured new extender device is placed too far away from the WiFi AP would have a weak connection and therefore would not be able to reliably improve the connection back from the multimedia device to the AP. On the other hand, a new extender device placed too far from the multimedia device would not be able to provide reliable last-hop connectivity to the multimedia device. Some embodiments include a placement application for mobile communications devices that receives connection quality metrics from the configured extender device, and provides instructions on where to place the configured extender device.

After the extender device has been placed, one or more multimedia devices may connect to the extender device as an access point (AP). A multimedia device may determine a strongest signal received for a link and connect to a corresponding AP. But, a customer's multimedia service may still not be acceptable. Some embodiments include a multimedia device obtaining upstream and downstream connection quality measurements directly from APs (including from an extender device coupled to an AP); based on the topology, the multimedia device determines which extender device and/or AP to connect to for a desired end-to-end connection quality (e.g., a desirable multimedia service quality). Some embodiments include a multimedia device obtaining bidirectional end-to-end link quality measurements for potential paths back to the Internet connection, and selecting a preferred path among these potential paths based on link quality metrics (e.g., signal strength, signal to noise ratio, link frame error rates, link modulation levels, link retry counters), link reliability, and end-to-end performance (e.g., throughput and latency) characteristics.

<FIG> illustrates an example system <NUM> with electronic devices enabled to provide multimedia service in a particular environment. Example system <NUM> is provided for the purpose of illustration and is not limiting of the disclosed embodiments. System <NUM> may include but is not limited to multimedia devices-such as multimedia devices 110a, 110b, and 110c, AP <NUM>, Internet network <NUM>, and content providers <NUM>. To provide multimedia service, multimedia devices <NUM> stream content that may be displayed on the multimedia device (e. g, multimedia device 110b and 110c) or on a display device with which a multimedia device (e.g., 110a) is communicatively coupled (e.g., display device <NUM>). For example, multimedia device 110a may receive content in a continuous flow from content providers <NUM>, buffer the content received, and permit playback of the buffered content as more content are subsequently received and buffered. The playback may be viewed on display device <NUM> communicatively coupled to multimedia device 110a, or viewed on multimedia devices 110b and 110c that may include a display (e.g., a monitor or a TV).

AP <NUM> may include electronic devices such as a wireless router that communicates with WiFi stations in the extended service set (ESS). Mobile communications device <NUM> may include for example, a smart phone that may support Android™ or iOS™, and mobile computing device <NUM> may include but is not limited to a laptop, desktop, tablet, or personal digital assistant (PDA). Data may be transmitted downstream from Internet network <NUM> to AP <NUM> to multimedia devices <NUM>, mobile communications device <NUM>, and mobile computing device <NUM>. Data may be transmitted upstream from multimedia devices <NUM>, mobile communications device <NUM>, and mobile computing device <NUM> to AP <NUM> and to internet network <NUM>. AP <NUM> communicates via wireless transmissions <NUM>.

As an example, a customer may receive multimedia services (e.g., watch a movie on multimedia device 110b) where the movie content is provided by content provider 1450a via internet network <NUM>, AP <NUM>, and wireless transmission 1435b. Depending on the customer premises environment, the multimedia services received may be less than desirable quality. For example, the multimedia services may experience frequent buffering events during video streaming due to connection interruptions and link degradations. Under these conditions, many customers do not know what to do to improve their multimedia service quality.

<FIG> illustrates an example system <NUM> with electronic devices enabled to perform real-time assessment of multimedia service in a particular environment, according to some embodiments of the disclosure. Example system <NUM> is provided for the purpose of illustration and is not limiting of the disclosed embodiments. System <NUM> may include but is not limited to multimedia devices 110a, 110b, and 110c, an access point (AP) <NUM>, Internet network <NUM>, display device <NUM>, and mobile communications device <NUM> that are substantially the same as described above for system <NUM>. Content providers <NUM> are not shown for clarity. System <NUM> also includes analytics server <NUM>, website server <NUM>, and extender device <NUM>. Analytics server <NUM> may receive and store records of measurements and metrics from multimedia devices <NUM>, extender device <NUM>, and AP <NUM>, and perform analysis accordingly. Website server <NUM> provides access customer account information including one or more multimedia devices and/or network credentials associated with the customer account. Extender device <NUM> may be a repeater device communicatively coupled to AP <NUM> that is directed to improving multimedia services for the one or more multimedia devices associated with the customer account.

<FIG> illustrates a block diagram of an example system <NUM> for improving multimedia service in a particular environment, according to some embodiments of the disclosure. Examples of system <NUM> may include multimedia device <NUM>, extender device <NUM>, and mobile communications device <NUM>.

System <NUM> may include an antenna <NUM>, radio transceiver <NUM>, central processing unit (CPU) <NUM>, a memory <NUM>, display <NUM>, communication infrastructure <NUM>, input/output interfaces <NUM>, and buffers <NUM>. Radio transceiver <NUM> may be communicatively coupled to antenna <NUM>, and may perform WiFi transmit and receive functions. While <FIG> depicts a single radio transceiver communicatively coupled to a single antenna, it will be evident to one familiar with the art that there could be multiple transceivers operating over different frequency bands or channels, coupled to multiple sets of antennas. Multimedia data received via radio transceiver <NUM> may be stored in buffers <NUM>. CPU <NUM> may include one or more processors coupled to communication infrastructure <NUM>. Memory <NUM> may include random access memory (RAM) and/or cache and may include control logic (e.g., computer software) and/or data. The computer software may enable CPU <NUM> to determine for example, whether an extender device <NUM> as described above with respect to <FIG> may improve a multimedia service. Display <NUM> may be a display such as a touch-sensitive display, that presents the playback of multimedia data stored in buffers <NUM>. Communication infrastructure <NUM> may be, for example, a bus or other such interconnect. Input/output interfaces <NUM> may include, for example, a microphone, speakers, a Universal Serial Bus (USB) interface, an Ethernet interface, an HDMI interface or combinations thereof.

To help a customer improve their multimedia service, embodiments provide environment-specific recommendations in real-time. In some embodiments a multimedia device determines based on metrics from the customer's particular environment, whether an extender device will improve the customer's multimedia service. The metrics may be based on one or more physical layer metrics and/or one or more application layer metrics. In some embodiments, a multimedia device determines whether an extender will improve the customer's multimedia service based on whether one or more of the physical layer or application layer metrics meet an eligibility threshold.

Examples of physical layer metrics include but are not limited to signal-to-noise ratio (SNR), received signal strength indicator (RSSI), link layer modulation rates, and frame error rates. Examples of application layer metrics include rebuffering rates, rebuffer counts, and streaming video quality of service (QOS). A session may be a single piece of content being streamed (e.g., a movie), or contiguous content being streamed (e.g., two movies where the time between the movies is less than a configurable threshold.

Examples of eligibility thresholds include but are not limited to: a maximum number of rebuffering events detected during a session, a maximum number of rebuffering events detected within a period of time during a session, a maximum percentage of time spent rebuffering during a session or during a period of playback, a maximum number of rebuffering events detected within a period of time, a minimum average SNR over a period of time (e.g., <NUM> minutes) during a session where the period of time may be different than the period of time for detecting rebuffering events and the average may be a running average, a minimum RSSI, a minimum streaming video QOS (e.g., High Definition (HD), Ultra High Definition (UHD), and High Dynamic Range (HDR)). An eligibility threshold may also be a change in QOS (e.g., a downgraded QOS where a multimedia device may be streaming UHD QOS, then changes to transmit with a QOS of HD; a multimedia device may be streaming HDR then change to transmit with a QOS of UHD or HD).

In some embodiments, when one or more metrics satisfy their respective eligibility threshold values, the embodiments include providing a recommendation to order an extender device. In some embodiments, a recommendation is provided when a physical layer metric and an application layer metric both satisfy their respective thresholds. The one or more metrics as well as the eligibility thresholds to be satisfied may depend on the type of multimedia device providing the recommendation. <FIG> illustrates an example method <NUM> for real-time assessment of multimedia service in a particular environment, according to some embodiments of the disclosure. For explanation purposes, example method <NUM> may be described with elements from previous figures. Examples of system <NUM> that may perform method <NUM> include but are not limited to multimedia devices <NUM>. Based on the description herein, other systems may perform the operations of method <NUM>; these other systems are within the spirit and scope of the disclosure. It is to be appreciated that not all operations may be needed to perform the disclosure provided herein. Further, some of the operations may be performed simultaneously or in a different order than shown in <FIG>.

At <NUM>, system <NUM> measures and/or collects environment-specific metrics. As described earlier, the environment-specific metrics may include physical layer metrics and/or application layer metrics. Some examples of application layer metrics as well as physical layer metrics are shown below:.

Example application layer metrics include but are not limited to the following:.

Example physical layer metrics include but are not limited to the following:.

At <NUM>, system <NUM> determines whether eligibility thresholds based on the environment-specific metrics are satisfied. For example, system <NUM> may determine whether one or more eligibility thresholds described above are satisfied, where satisfied may mean exceeded, equal to, or below. When system <NUM> determines that one or more eligibility thresholds are not satisfied, method <NUM> returns to <NUM>. When system <NUM> determines that one or more eligibility thresholds are satisfied, then the multimedia service may be improved by adding a new extender device and method <NUM> proceeds to <NUM>. For example, system <NUM> may determine that when a number of rebuffering events during a session satisfies a first threshold (e.g., exceeds the first threshold value) and a received SNR averaged over a defined period of time satisfies a second threshold (e.g., is less than the second threshold value), then the eligibility thresholds (e.g., the first and second thresholds) based on the environment-specific metrics (e.g., rebuffering events and received SNR) are satisfied. The first and second threshold values may be different.

At <NUM>, system <NUM> determines whether system <NUM> is already associated with an extender device. When system <NUM> determines that an extender device is already present, then method <NUM> proceeds to <NUM>. When system <NUM> determines that an extender device is not present, method <NUM> proceeds to <NUM>. In some embodiments system <NUM> proceeds to step <NUM> when the current channel is listed in an inclusion list or not listed in an exclusion list of system <NUM>.

At <NUM>, system <NUM> may pause the session (e.g., pause the playback of the multimedia service.

At <NUM>, system <NUM> presents a recommendation in real-time (e.g., on display <NUM>) or provides a recommendation to display device <NUM>. The recommendation may be via a heads up display (HUD) on display <NUM> (or provided to display device <NUM>). In an embodiment, the recommendation may be provided on a separate recommendation screen on the display device. The recommendation may include a URL link to website server <NUM> so that a customer may place an order for a new extender device (e.g., extender device <NUM>. ) The HUD and/or website server <NUM> may present network status, diagnostics, and recommendations in a comprehensible visual form that depicts how the multimedia devices <NUM> are performing in the WiFi network, and what actions may be taken to improve WiFi network and/or multimedia device <NUM> performance (e.g., adding an extender device <NUM> to the WiFi network). The recommendation may provide information about extender device <NUM>, as well as instructions on how to place an order for extender device <NUM>, including shipping. The one or more metrics as well as the eligibility thresholds to be satisfied may depend on the type of multimedia device providing the recommendation. In another embodiment, the recommendation message may be a persistent message that may be accessible by a user at a later time - in for example, a settings menu of the multimedia device.

At <NUM>, system <NUM> records the recommendation, one or more metrics that are environment-specific metrics, and/or order information for extender device <NUM>.

At <NUM>, system <NUM> transmits the records to analytics server <NUM>. In some embodiments, analytics server <NUM> may receive and analyze physical layer and application layer metrics from multimedia devices <NUM> and/or AP <NUM> and determine whether to provide a non-real-time recommendation to a customer (e.g., via website server <NUM>) which may result in a recommendation via email to the customer or via an ad banner on a home screen of the multimedia device. Analytics server <NUM>'s determination may include metrics such as an average number of rebuffering events per hour of streaming, e.g., (total rebuffer count over the last N days)/(total streaming hours over the last N days) >rebuffersPerHourThreshold, where N=analysisDuration. The metrics may also include a low average SNR computed as a running average of SNR measurements over a period of at least one week. For example, a running average of SNR (over analysisDuration days) < analysisSnrThrshold), where the analysisSnrThrshold may be 15dB, the analysisDuration may be <NUM> days, and rebuffersPerHourThreshold may be <NUM>. The metrics and eligibility thresholds may depend on the type of multimedia device.

In another embodiment when system <NUM> is already associated with an extender device and one or more of the environment-specific metrics are satisfied (e.g., a number of rebuffers in a session satisfies a third threshold value), system <NUM> may provide a recommendation for changing a placement of the extender device. This may be via a HUD on display <NUM> (or provided to display device <NUM>), or a persistent message that may be accessible by a user at a later time in for example, a settings menu of the multimedia device. In an embodiment, system <NUM> may provide a recommendation to an application on mobile communications device <NUM>.

After the recommendation is communicated, a customer may place an order for extender device <NUM> to be added to their WiFi network.

Many customers have difficulty setting up new equipment in the customer premises environment. For example, adding extender device <NUM> to their WiFi network requires the network credentials (e.g., SSID and password). Customers typically have difficulty obtaining the network credentials and/or entering the network credentials correctly.

Some embodiments include receiving an order for extender device <NUM>, and configuring extender device <NUM> based on existing WiFi network credentials to minimize errors. Embodiments may include a configuration application, a pre-provisioned multimedia device, configuring via a user interface (UI), and/or a pre-configured extender device which are described further below.

Embodiments may include an application for mobile devices that may enable the transfer of network credentials from existing multimedia devices on the WiFi network to configure a new extender device in real time. For example, the configuration may be based on a customer account, a corresponding environment, and corresponding multimedia devices associated with the customer account. The extender device may be configured with the network credentials (e.g., a WiFi service set identifier (SSID) and password) that is common to the corresponding multimedia devices associated with the customer account.

<FIG> illustrates an example method <NUM> for configuring an extender device <NUM>, according to some embodiments of the disclosure. For explanation purposes, example method <NUM> may be described with elements from previous figures. Examples of system <NUM> that may perform method <NUM> include but are not limited to mobile communications device <NUM>. Based on the description herein, other systems may perform the operations of method <NUM>; these other systems are within the spirit and scope of the disclosure. It is to be appreciated that not all operations may be needed to perform the disclosure provided herein. Further, some of the operations may be performed simultaneously or in a different order than shown in <FIG>.

For example, a customer may download a configuration application onto mobile communications device <NUM>, and mobile communications device <NUM> may connect to the WiFi network via 135a, where the WiFi network includes one or more multimedia devices <NUM>. When extender device <NUM> is unboxed and installed, the customer may be instructed (e.g., via a quick start guide (QSG) and/or the configuration application) to place extender device <NUM> near (e.g., in the same room as) AP <NUM> so that extender <NUM> may connect to the WiFi network (e.g., via 185d). Further, mobile communications device <NUM> may be in proximity to extender device <NUM> and communicate with extender device <NUM> via 190a, where the proximity is sufficient to support Bluetooth® Low Energy (BLE) communications or WiFi communications.

At <NUM>, system <NUM> scans for an extender device. For example, mobile communications device <NUM> scans for extender device <NUM> using BLE or WiFi SoftAP connection for discovery/detection of extender device <NUM>.

At <NUM>, when system <NUM> does not detect an extender device, method <NUM> proceeds to <NUM>. When system <NUM> detects extender device <NUM>, method <NUM> proceeds to <NUM>.

At <NUM>, system <NUM> provides an indication that no extender device is found. For example, the indication may appear on display <NUM> or display device <NUM>, depending on the type of the one or more multimedia devices <NUM>. Method <NUM> returns to <NUM>.

At <NUM>, when system <NUM> determines that extender device is configured, method <NUM> proceeds to <NUM>. When system <NUM> determines that extender device is unconfigured, method <NUM> proceeds to <NUM>.

At <NUM>, system <NUM> establishes a connection to website server <NUM> of the multimedia service provider associated with the one or more multimedia devices <NUM> associated with AP <NUM>. The connection is established over the home WiFi network that system <NUM> is connected to.

At <NUM>, system <NUM> may prompt the customer to login to their customer account associated with the multimedia service provider. System <NUM> may receive the customer account credentials (e.g., login and password) from input/output interfaces <NUM> and/or display <NUM>. System <NUM> may transmit the customer account credentials to website server <NUM> of the multimedia service provider.

At <NUM>, system <NUM> confirms the customer account credentials and presents an end-user license agreement (EULA) or a consent agreement on display <NUM> (or display device <NUM>) and/or input/output interfaces <NUM>. The customer's consent to the EULA or the consent agreement authorizes the network credentials (e.g., WiFi network name and password) known by the one or more multimedia devices <NUM> to be shared with extender device <NUM> to configure extender device <NUM>.

At <NUM>, when system <NUM> receives consent of the EULA that allows the network credentials known by the one or more multimedia devices <NUM> to be shared with new devices associated with the customer account such as the unconfigured extender device <NUM>, method <NUM> proceeds to <NUM>. When system <NUM> does not receive consent of the EULA, method <NUM> proceeds to <NUM>. System <NUM> records (e.g., logs EULA consent/decline events).

At <NUM>, system <NUM> requests network credentials from the customer. For example, system <NUM> may present on display <NUM> (or display device <NUM>) and/or input/output interfaces <NUM>, a request for SSID and corresponding password to proceed. The customer may provide the network credentials accordingly (e.g., via a touchscreen on display <NUM>/display device <NUM> and/or a microphone or a camera associated with input/output interfaces <NUM>. ) Method <NUM> proceeds to <NUM>.

At <NUM>, system <NUM> discovers a multimedia device <NUM> of the one or more multimedia devices <NUM> associated with the same WiFi network that system <NUM> is connected to. For example, system <NUM> may use simple service discovery protocol (SSDP) to discover a multimedia device <NUM> on the WiFi network associated with the SSID. System <NUM> may use SSDP, External Control Protocol (ECP), and/or another protocol to determine the customer account ID of each of the discovered multimedia devices <NUM> to confirm that the discovered multimedia device <NUM> is associated with the customer account. Likewise, a discovered multimedia device <NUM> may use ECP to ensure that system <NUM> is associated with the customer account. System <NUM> may also log the multimedia devices <NUM> discovered through SSDP discovery, and the multimedia device <NUM> information obtained through secure ECP messaging including but not limited to: multimedia device ID, electronic serial number (ESN), customer account ID, SSID, and/or a password.

At <NUM>, system <NUM> requests and receives WiFi network credentials from one or more of the multimedia devices <NUM> associated with the customer account. For example, system <NUM> may use secure ECP messaging to request network credentials (e.g., the SSID and corresponding password) from the one or more multimedia devices <NUM> that are associated with the customer account. The secure ECP messaging may include but is not limited to authentication, authorization, encryption, and/or Hyper Text Transfer Protocol Secure (HTTPS). In some embodiments, the WiFi network credentials are further encrypted before being transmitted to system <NUM>.

At <NUM>, system <NUM> establishes a connection with extender device <NUM> detected at <NUM> and transmits network credentials to extender device <NUM>. For example, system <NUM> may pair with extender device <NUM> via 190a using a BLE protocol, or system <NUM> may scan for a SoftAP SSID of extender device <NUM> to establish the connection via 190a. Note that the SoftAP SSID is different than the SSID that corresponds to of the WiFi network. Once the connection is established, system <NUM> may transmit the network credentials to extender device <NUM>. In some embodiments, system <NUM> transmits encrypted network credentials to extender device <NUM>.

At <NUM>, system <NUM> verifies whether external device <NUM> is connected to the WiFi network (e.g., the SSID identified in the network credentials) and that extender device <NUM> and one or more multimedia devices <NUM> (e.g., 110c) are on the same WiFi network. In an example, system <NUM> may use a multicast protocol to discover other devices on the wireless LAN and to obtain an IP address of extender device <NUM> along with IP addresses of other multimedia devices on the wireless LAN. System <NUM> may then use ECP messaging to query the IP addresses and determine whether one of them corresponds to the extender device <NUM> by examining the ESN of each device and determining which one matches the ESN of the extender device <NUM>. When system <NUM> successfully communicates via ECP messaging to extender device <NUM>, this verifies that extender device <NUM> is communicatively coupled to the WiFi network. In another embodiment, system <NUM> may successfully ping the IP address of extender device <NUM>, and thereby verify that extender device <NUM> is communicatively coupled to the WiFi network. When system <NUM> verifies that extender device <NUM> is connected to the WiFi network, method <NUM> proceeds to <NUM>. When system <NUM> verifies that external device <NUM> is not connected to the SSID, system <NUM> returns to <NUM>. System <NUM> logs the connection verification including a timestamp and may transmit the log records to analytics server <NUM>.

At <NUM>, system <NUM> obtains network topology from extender device <NUM> where the network topology indicates whether one or more multimedia devices <NUM> are coupled to extender device <NUM> or directly to AP <NUM>. For example, system <NUM> transmit a request for and receive network topology data. System <NUM> logs the network topology including a timestamp and may transmit the log records to analytics server <NUM>.

At <NUM>, system <NUM> presents or transmits data to display <NUM> (or display device <NUM>) confirming that extender device <NUM> is connected to the WiFi network in the network topology. For example, the data may include a visual display of the network topology such as AP <NUM>↔ multimedia device 110c or AP <NUM>↔extender device <NUM>↔multimedia device 110c.

At <NUM>, system <NUM> binds extender device <NUM> to the customer account. For example, system <NUM> may transmit data to website server <NUM> and/or analytics server <NUM> indicating that extender device <NUM>'s ESN is now associated with the customer account ID. For example, extender device <NUM> may download any firmware updates available and determine whether the firmware update is to be applied immediately or at a later time.

At <NUM>, system <NUM> may indicate that extender device <NUM> is in a configured state.

<FIG> illustrates an example method <NUM> for an extender device <NUM> to be configured, according to some embodiments of the disclosure. For explanation purposes, example method <NUM> may be described with elements from previous figures. Examples of system <NUM> that may perform method <NUM> include but are not limited to extender device <NUM>. Based on the description herein, other systems may perform the operations of method <NUM>; these other systems are within the scope of the disclosure. It is to be appreciated that not all operations may be needed to perform the disclosure provided herein. Further, some of the operations may be performed simultaneously or in a different order than shown in <FIG>.

At <NUM>, system <NUM> enables BLE and/or SoftAP interfaces. For example, system <NUM> may be unboxed and powered. Once powered, system <NUM> may enable interfaces for BLE and/or SoftAP protocols.

At <NUM>, system <NUM> receives a discovery/detection message (e.g., via BLE or SoftAP) from a mobile communications device <NUM> (e.g., from a configuration application of mobile communications device <NUM>. ) See <NUM> above.

At <NUM>, system <NUM> transmits a response indicating an unconfigured state. See <NUM> above.

At <NUM>, system <NUM> pairs with mobile communications device <NUM> (e.g., via BLE or SoftAP). See <NUM> above.

At <NUM>, system <NUM> receives network credentials from a configuration application on mobile communications device <NUM>. See <NUM> above. System <NUM> may enable simple service discovery protocol (SSDP) and/or external control protocol (ECP). In an example, system <NUM> may turn off BLE and/or SoftAP interfaces.

At <NUM>, system <NUM> connects to the WiFi network (e.g., associates with AP <NUM>) using the network credential received, where the connection may be communicatively coupled via 185d.

At <NUM>, system <NUM> may assist in the verification of whether the connection to the Wifi network (e.g., verification that system <NUM>'s association with AP <NUM> on the WiFi network) was successful. For example, system <NUM> may provide responses to queries for system <NUM>'s IP address via BLE protocol on 190a, and/or system <NUM>'s IP address via 185d where the queries may be via secure ECP messaging. In addition, system <NUM> may respond to pings. See <NUM> above. When system <NUM> (e.g., extender device <NUM>) provides an IP address in response to a query, the WiFi connection is successful and method <NUM> proceeds to <NUM>. When system <NUM> does not receive a query or a ping and/or does not respond with a corresponding IP address, the WiFi connection is unsuccessful and method <NUM> proceeds to <NUM>.

At <NUM>, system <NUM> provides an indication that the WiFi connection 185d or the association with AP <NUM> failed. The indication may be a message transmitted via 190a using BLE or SoftAP protocol to a configuration application on mobile communications device <NUM> that may be displayed and/or audible. Method <NUM> returns to <NUM>.

At <NUM> when the WiFi connection 185d is successful, system <NUM> associates with one or more multimedia devices <NUM> of the customer account via 185a-185c. For example, system <NUM> (e.g., extender device <NUM>) may function as an AP and one or more multimedia devices <NUM> may associate with system <NUM>. For example, multimedia devices 110a, 110b, and 110c may associate with system <NUM> to access the WiFi network.

At <NUM>, system <NUM> measures and/or collections connection quality metrics from AP <NUM>, the associated AP, and the one or more multimedia devices <NUM> that are associated with system <NUM>. The measurements and/or collections may take place periodically, on demand, and/or after a power-up. System <NUM> may record the measurements and/or collections and transmit records logged to analytics server <NUM>.

At <NUM>, system <NUM> generates and logs a network topology based on the measurements and collected quality metrics. System <NUM> may transmit the record logs to analytics server <NUM>.

At <NUM>, system <NUM> receives a query for a network topology and provides a response to the query based on the measurements and/or collections at <NUM>. See <NUM> above.

At <NUM>, system <NUM> transitions to a configured-ready-for-placement state.

Some embodiments include pre-provisioning a backend database entry associated with the customer account with a serial number of the extender device that is ordered via website server <NUM>. For example, a purchase through website server <NUM> may bind the extender device ordered to the customer account (e.g., associate the extender device's ESN with the customer account ID). In an embodiment, the transaction identifier for the purchase transaction is associated to the account identifier of the purchaser through a database entry. When the extender device is shipped from a fulfillment center, the ESN of the extender device is associated to the transaction identifier through a database entry. As a result, the account identifier is associated to the extender device's ESN through a database entry. Multimedia devices in a customer's premise may detect the extender device when the extender device is unboxed and powered up.

<FIG> illustrates an example method <NUM> for a multimedia device <NUM>, according to some embodiments of the disclosure. For explanation purposes, example method <NUM> may be described with elements from previous figures. Examples of system <NUM> that may perform method <NUM> include but are not limited to multimedia devices <NUM>. Based on the description herein, other systems may perform the operations of method <NUM>; these other systems are within the spirit and scope of the disclosure. It is to be appreciated that not all operations may be needed to perform the disclosure provided herein. Further, some of the operations may be performed simultaneously or in a different order than shown in <FIG>.

At <NUM>, system <NUM> transmits a beacon of a peer-to-peer (P2P) protocol (e.g., WiFi Direct) that may include an identifier of system <NUM> (e.g., a BSSID, ESSID, and/or a media access control (MAC) address of the multimedia device.

At <NUM>, system <NUM> receives a request message for network credentials from an unconfigured extender device <NUM>, and the request message may be signed using an asymmetric key (K_priv) of a public-private key pair of unconfigured extender device <NUM>. The request message may contain an ESN of the unconfigured extender device <NUM>, a MAC address of a target network, a randomly generated Nonce, and/or a digital signature (e.g., created using SHA256 hashing algorithm/RSA2048 signing algorithm). The MAC address of the target network may correspond to a WiFi radio interface (e.g., a WiFi Direct Interface) of system <NUM>.

In an embodiment, the message exchange between system <NUM> and the unconfigured extender device <NUM> may be performed over a P2P WiFi or a WiFi Direct connection. In another embodiment, system <NUM> and the unconfigured extender device <NUM> may perform the message exchange using an IP-based protocol between temporarily-allocated IP addresses. For example, system <NUM> may assign itself an IP address, such as <NUM>. <NUM>, and system <NUM> may operate a DHCP server to assign IP addresses in the range <NUM>. <NUM>-<NUM>. Through the DHCP protocol, the unconfigured extender device <NUM> may request and receive an IP address, such as <NUM>. System <NUM> and unconfigured extender device180 may then communicate using an IP-based protocol, such as hyper text transfer protocol (HTTP), between corresponding IP addresses <NUM>. <NUM> and <NUM>.

At <NUM>, system <NUM> may validate the digital signature received using the public key, K_pub, corresponding to private key, K_priv. When the digital signature is invalid, method <NUM> proceeds to <NUM>. When the digital signature is valid, method <NUM> proceeds to <NUM>.

At <NUM>, system <NUM> may transmit a request for permission to share WiFi credentials with unconfigured extender device <NUM>. The permission request message may contain the ESN of unconfigured extender device180, and/or the user account associated with system <NUM>. A web service (e.g., website server <NUM>) may receive the permission request and determine whether the ESN of unconfigured extender device <NUM> has been pre-provisioned into the user account associated with system <NUM>.

At <NUM>, a determination is made as to whether a corresponding database entry exists containing the ESN of unconfigured extender device180 associated with the user account associated with system <NUM>. When the corresponding database entry exists, system <NUM> may receive a message from the web service indicating that permission to share WiFi credentials to extender <NUM> is granted, and method <NUM> proceeds to <NUM>. Otherwise, (e.g., when a corresponding database entry does not exist) system <NUM> may receive a message from the web service (e.g., website server <NUM>) indicating that permission to share WiFi credentials with unconfigured extender device <NUM> is not granted, and method <NUM> proceeds to <NUM>.

At <NUM>, system <NUM> may encrypt the WiFi credentials with unconfigured extender device <NUM>'s public key, K_pub, and transmit them to unconfigured extender device <NUM>. For example, system <NUM> may utilize WiFi Direct to transmit information to unconfigured extender device <NUM>. Extender device180 may receive and decrypt the WiFi credentials using its private key, K_priv. Extender device <NUM> may then use these WiFi credentials (SSID and pass phrase or password) to connect to the user's home WiFi network.

At <NUM>, system <NUM> may transmit an error message to unconfigured extender device <NUM> indicating that pre-provisioned setup has failed.

<FIG> illustrates an example method <NUM> for communicating with a pre-provisioned multimedia device <NUM>, according to some embodiments of the disclosure. For explanation purposes, example method <NUM> may be described with elements from previous figures. Examples of system <NUM> that may perform method <NUM> include but are not limited to extender device <NUM>. Based on the description herein, other systems may perform the operations of method <NUM>; these other systems are within the spirit and scope of the disclosure. It is to be appreciated that not all operations may be needed to perform the disclosure provided herein. Further, some of the operations may be performed simultaneously or in a different order than shown in <FIG>.

At <NUM>, system <NUM> receives a beacon of a P2P protocol (e.g., WiFi Direct) from one or more existing multimedia devices that include an identifier of the respective existing multimedia device (e.g., a BSSID, ESSID, and/or a media access control (MAC) address of the multimedia device) and determines corresponding received signal strength indicators (RSSI. ) If more than one multimedia device <NUM> is detected, system <NUM> may sequentially attempt to connect to the multimedia device associated with the strongest RSSI and proceed accordingly until network credentials are obtained or the attempts exceed a time limit.

At <NUM>, system <NUM> creates a request message (e.g., a Provision Discovery Request) to obtain network credentials to join the network of the respective multimedia device <NUM>. The request message may be signed using an asymmetric key (K_priv) of a public-private key pair. The request message may contain an ESN of system <NUM> (the unconfigured extender device <NUM>), a MAC address of a target network, a randomly generated Nonce, and/or a digital signature (e.g., created using SHA256 hashing algorithm/RSA2048 signing algorithm). The MAC address of the target network may correspond to a WiFi radio interface (e.g., a WiFi Direct Interface) of multimedia device <NUM>.

At <NUM>, system <NUM> transmits the request message to multimedia device <NUM>. The request message may be a P2P message (e.g., WiFi direct) from unconfigured extender device <NUM> to multimedia device <NUM>.

At <NUM>, system <NUM> receives a response to the request message (e.g., a Provision Discovery Response). The response includes network credentials (e.g., WiFi credentials encrypted with unconfigured extender device <NUM>'s public key, K_pub) from multimedia device <NUM>. For example, system <NUM> may utilize WiFi Direct to receive information from multimedia device <NUM>.

At <NUM>, system <NUM> decrypts the WiFi credentials using its private key, K_priv. System <NUM> may then use these WiFi credentials (SSID and pass phrase or password) to connect to the user's home WiFi network.

Some embodiments include transferring network credentials from a multimedia device using a UI (e.g., a TV UI) to an extender device that has already been ordered and delivered to the customer premise. In this embodiment, a multimedia device may detect the extender device, request an access code that correlates to the extender device that is associated with the customer account, receive the access code, compare with a stored access code, and when a threshold is satisfied, encrypt the network credentials and transmit them over the air to the extender device to configure the extender device. The multimedia device may transmit a test message to the configured extender device, and receive a response from the configured extender device.

<FIG> illustrates an example method <NUM> for configuring an extender device <NUM> via a user interface (UI), according to some embodiments of the disclosure. For explanation purposes, example method <NUM> may be described with elements from previous figures. Examples of system <NUM> that may perform method <NUM> include but are not limited to multimedia devices <NUM>. Based on the description herein, other systems may perform the operations of method <NUM>; these other systems are within the spirit and scope of the disclosure. It is to be appreciated that not all operations may be needed to perform the disclosure provided herein. Further, some of the operations may be performed simultaneously or in a different order than shown in <FIG>.

At <NUM>, system <NUM> scans for unconfigured extender devices in the WiFi network (e.g., multimedia device <NUM> may scan for SoftAP SSIDs and/or use Probe Responses to detect extender device <NUM>).

At <NUM>, system <NUM> identifies and presents unconfigured extender devices onto a user interface (UI). For example system <NUM> may present the detected unconfigured extender devices that were detected on display <NUM> (or display device <NUM>), where display <NUM> may be a TV UI and/or a touchscreen UI. System <NUM> may request a selection of an unconfigured extender device. For example system <NUM> may indicate "New extender devices associated with the multimedia service have been detected. Please select the extender device to be added to your network.

At <NUM>, system <NUM> receives a selection of an unconfigured extender device (e.g., extender device <NUM>) via a touchscreen display <NUM> (or display device <NUM>) coupled to the multimedia device or via a remote control of display <NUM> (or display device <NUM>).

At <NUM>, system <NUM> requests and receives an access code associated with the unconfigured extender device selected (e.g., via display <NUM> or display device <NUM>). For example, the request may be a challenge question presented on display <NUM> or display device <NUM> to confirm that the customer has possession of extender device <NUM> that corresponds to the extender device selected. The access code may be on the extender device <NUM> and/or be in documents (e.g., instructions manuals, quick start guide, etc.) in the box of extender device <NUM>. The customer may enter the access code via a touchscreen and/or a remote control associated with display <NUM> and/or display device <NUM>.

At <NUM>, system <NUM> requests and receives confirmation of the selection of the unconfirmed extender device <NUM>. Again, the confirmation may be received via touchscreen and/or a remote control associated with display <NUM> and/or display device <NUM>.

At <NUM>, system <NUM> performs a mutual authentication with extender device <NUM> selected and confirmed by the customer. When system <NUM> determines that the mutual authentication was successful, method <NUM> proceeds to <NUM>. When mutual authentication is not successful, method <NUM> proceeds to <NUM> to detect an extender device.

At <NUM>, system <NUM> encrypts and/or hashes the network credentials of the WiFi network and transmits the encrypted and/or hashed network credentials to extender device <NUM>.

At <NUM>, system <NUM> determines whether extender device <NUM> is detected on the WiFi network (e.g., to determine whether the network credentials were successfully transferred. ) When extender device <NUM> is detected, method <NUM> proceeds to <NUM>. When extender device <NUM> is not detected, method <NUM> proceeds to <NUM>.

At <NUM>, system <NUM> may present an error message that the extender device selected was not successfully configured, and provide instructions for proceeding. For example, the instructions may include moving the extender device closer to multimedia device <NUM> and rebooting extender <NUM>. The error message may also indicate what step or portion of procedure failed.

At <NUM>, system <NUM> associates with extender device <NUM> that was detected and selected.

At <NUM>, system <NUM> provides an indication that the extender device is configured. For example, the indication may be on display <NUM>, or display device <NUM>.

<FIG> illustrates an example method <NUM> for an extender device <NUM> to communicate with a multimedia device <NUM>, according to some embodiments of the disclosure. For explanation purposes, example method <NUM> may be described with elements from previous figures. Examples of system <NUM> that may perform method <NUM> include but are not limited to extender device <NUM>. Based on the description herein, other systems may perform the operations of method <NUM>; these other systems are within the spirit and scope of the disclosure. It is to be appreciated that not all operations may be needed to perform the disclosure provided herein. Further, some of the operations may be performed simultaneously or in a different order than shown in <FIG>.

At <NUM>, system <NUM> enables a software enabled access point (SoftAP) interface. For example, extender device <NUM> may be unboxed and powered. Once SoftAP is enabled, extender device <NUM> may transmit a WiFi beacon that includes a SoftAP SSID (that is different than the SSID that corresponds to the network credentials of the WiFi network).

At <NUM>, system <NUM> performs mutual authentication with a multimedia device.

At <NUM>, system <NUM> receives encrypted and/or hashed network credentials, and decrypts the network credentials.

At <NUM>, system <NUM> connects to the WiFi network using the network credentials received (e.g., connects to AP <NUM>.

At <NUM>, when system <NUM> determines that the connection is successful, method <NUM> proceeds to <NUM>. When system <NUM> determines that the connection is not successful, then method <NUM> returns to <NUM>.

At <NUM>, system <NUM> associates with one or more multimedia devices <NUM> of the customer account. For example, extender <NUM> becomes an AP and the one or more multimedia devices 110a-110c may associate with extender <NUM> rather than directly with AP <NUM>.

At <NUM>, system <NUM> measures and/or collects connection quality metrics from the associated AP <NUM> and the one or more multimedia devices 110a-110c that associate with extender device <NUM>. System <NUM> may record and log the measurements and/or collected connection quality metrics.

At <NUM>, system <NUM> generates and logs a network topology based on the measurements and/or collected connection quality metrics.

At <NUM>, system <NUM> transmits the record logs to analytics server <NUM>.

At <NUM>, system <NUM> disables SoftAP interface and enables simple service discovery protocol (SSDP) and/or external control protocol (ECP).

Some embodiments include pre-configuring an extender device with network credentials associated with the customer account before an extender device that is ordered is delivered to the customer's premises. For example, a customer may be prompted for permission to store network credentials associated with the customer's multimedia service customer account in a multimedia service provider's network. The network credentials may be stored in a cloud server (e.g., website server <NUM>. ) Subsequently, when the customer orders an extender device online (e.g., via website server <NUM>), the extender device may be pre-configured with the network credentials that were previously stored. Once the pre-configured extender device is delivered, unboxed, and powered, the pre-configured extender device is ready for placement.

<FIG> illustrates an example method <NUM> for pre-configuring an extender device <NUM>, according to some embodiments of the disclosure. For explanation purposes, example method <NUM> may be described with elements from previous figures. Examples of system <NUM> that may perform method <NUM> include but are not limited to multimedia device <NUM>. Based on the description herein, other systems may perform the operations of method <NUM>; these other systems are within the spirit and scope of the disclosure. It is to be appreciated that not all operations may be needed to perform the disclosure provided herein. Further, some of the operations may be performed simultaneously or in a different order than shown in <FIG>.

At <NUM>, system <NUM> may present an end-user license agreement (EULA) or consent agreement to authorize transfer of network credentials associated with the customer account to a cloud server. For example, multimedia device <NUM> may request permission from a customer to store network credentials of a WiFi network to which multimedia device <NUM> is connected at a cloud storage server, such as website server <NUM>. The multimedia device <NUM> and the network credentials are associated with the customer account.

At <NUM>, system <NUM> determines whether authorization to transfer and store the network credentials at the cloud server is received. When authorization is received, method <NUM> proceeds to <NUM>. When authorization is not received, method <NUM> returns to <NUM>. For example, multimedia device <NUM> may receive the permission from a customer via a touchscreen display <NUM> (or display device <NUM>) coupled to the multimedia device <NUM> or via a remote control of display <NUM> (or display device <NUM>). The remote control may be a TV remote control.

At <NUM>, system <NUM> encrypts and/or hashes the network credentials, and transmits the encrypted and/or hashed network credentials to the cloud server. For example, multimedia device <NUM> may encrypt and/or hash the network credentials associated with the customer account, and transfer the encrypted and/or hashed network credentials to website server <NUM>. The network credentials may include the SSID and password of the WiFi network to which the multimedia device <NUM> is connected. In some embodiments the network credentials may include a secondary SSID and secondary password associated with the customer account.

Subsequently, the customer account server may receive an order for an extender device to be associated with the customer account, transfer and store the network credentials associated with the customer account in the extender device (e.g., pre-configure the extender device <NUM>) before the extender device is delivered to a customer premise associated with the customer account. After the pre-configured extender device is delivered, unboxed, and powered, the extender device is ready for placement.

Once a new extender device is connected to the home WiFi network, some customers have a difficult time determining where to physically place the configured extender device. Embodiments include analyzing measurements in a particular environment associated with a multimedia service, and determining a desirable location for placing the configured extender device in the particular environment based on the multimedia service. In some embodiments, the above functions are performed by an application on a mobile communications device <NUM> in the particular environment. The measurements may include received signal strength indication (RSSI), signal-to-noise ratios (SNR), and data rates in the uplink and downlink directions on various links of the extender device, where the extender device provides multimedia service. For example, the extender device may support multimedia devices associated with the same multimedia service customer account. Focusing support only on multimedia devices associated with the same multimedia service account enables embodiments to improve the multimedia service (e.g., multimedia streaming) and improves a customer's multimedia service experience. Embodiments also include periodic analysis for placement adjustment.

<FIG> illustrates an example method <NUM> for determining placement of an extender device <NUM>, according to some embodiments of the disclosure. For explanation purposes, example method <NUM> may be described with elements from previous figures. Examples of system <NUM> that may perform method <NUM> include but are not limited to mobile communications device <NUM>. Based on the description herein, other systems may perform the operations of method <NUM>; these other systems are within the spirit and scope of the disclosure. It is to be appreciated that not all operations may be needed to perform the disclosure provided herein. Further, some of the operations may be performed simultaneously or in a different order than shown in <FIG>.

At <NUM>, system <NUM> detects a configured extender device. For example, system <NUM> may detect extender device <NUM> that has booted up and is communicatively coupled to the WiFi network (e.g., extender device is in a configured state).

At <NUM>, system <NUM> obtains network topology from the configured extender device and obtains connection quality metrics from the configured extender device, where the configured extender device may periodically or at boot up, measure and/or collect connection quality metrics. For example, mobile communications device <NUM> may utilize BLE messaging to obtain the network topology and connection quality metrics from extender device <NUM> via connection 190a. In another example, mobile communications device <NUM> may utilize ECP messaging via connection 135a and the WiFi network (e.g., connection 185d) to obtain the network topology and connection quality metrics from extender device <NUM>. Multimedia devices <NUM> coupled to extender device <NUM> may also obtain network topology and connection quality metrics using ECP messaging over the WiFi network (e.g., using connections 185a-185c. ) In some embodiments system <NUM> may receive a recommendation message to adjust the placement of extender device <NUM> from a multimedia device 110c via interface 190b.

Examples of the connection quality metrics for a communication link between extender device <NUM> and AP <NUM> (e.g., connection 185d) include but are not limited to: RSSI, a time-average of downlink SNR values, a time-average of uplink SNR values, uplink and downlink data rates between extender device <NUM> and AP <NUM>, time-averaged packet error rates on downlink and/or uplink between extender device <NUM> and AP <NUM>, retry counters in uplink and downlink directions between extender device <NUM> and AP <NUM>, downlink and uplink throughput measurements, and/or noise at extender device <NUM>. Examples of the connection quality metrics for a communication link between extender device <NUM> and a multimedia device <NUM> (e.g., connection 185a, 185b, or 185c) include but are not limited to: RSSI, time-average of downlink and uplink SNR, packet error rates on uplink and downlink, measured throughput on uplink and downlink, as well as uplink and downlink data rates between extender device <NUM> and respective multimedia devices <NUM>. In some embodiments, extender device <NUM> may query multimedia devices <NUM> to obtain time-average of downlink SNR. For example, at least <NUM> SNR samples may be collected over less than <NUM> seconds rather than an instantaneous measure. In some embodiments, the connection quality metrics pertain only to multimedia services associated with the customer account. In some embodiments, extender device <NUM> is particular to the environment and to the multimedia service customer account. Further, extender device <NUM> may collect measurements during an end-to-end throughput tests in the uplink and downlink directions from/to a test server (e.g., analytics server <NUM>). The measured and/or collected connection quality metrics and end-to-end throughput test results may be transmitted periodically or on demand to analytics server <NUM>.

At <NUM>, system <NUM> provides an indication for the connection quality of the AP <NUM> ↔extender device <NUM> connection, and each extender device <NUM> ↔ multimedia device <NUM> connection. In an embodiment, the indications may be displayed according to the network topology obtained. For example, system <NUM> may provide indications on display <NUM> (or display device <NUM>) that depict extender device <NUM>, AP <NUM>, and one or more multimedia devices <NUM> as well as their corresponding connections <NUM>. A first indication may represent connection 185d, and a second indication may represent connection 185c. When multimedia devices 110b and110a are present, then corresponding third and fourth indications may represent connection 185b and 185a, respectively.

System <NUM> may provide a graphic of the network topology and display the connection quality indications. System <NUM> may provide explicit suggestions so that a customer may move extender device <NUM> accordingly to improve the quality of multimedia service (e.g., streaming service associated with the customer account. ) For example, if the AP-Extender connection quality is poor, system <NUM> may display a message on display <NUM> suggesting that the user move extender device <NUM> closer to AP <NUM>. The connection quality indication may be associated with a comparison of one or more connection quality metrics with one or more configurable threshold values. When a connection quality is poor (e.g., the connection quality metrics for that connection satisfies one or more threshold values), the connection quality is depicted accordingly. In some embodiments, the threshold values may be configurable, and may be different for different products corresponding to System <NUM>. For a color rating system, for example, a poor connection quality may be shown as yellow while a worse connection quality may be shown as red. When a connection quality is acceptable, the connection quality may be shown as green. For example, the indications may be color coded as follows, but other labels may also be used:.

When more than one multimedia device <NUM> is coupled to extender device <NUM>, system <NUM> may provide a connection quality indication for each multimedia device <NUM> ↔extender device <NUM> connection. System <NUM> may also provide more detailed connection quality metrics for each of the connections (e.g., wireless links <NUM>) as described above.

In an embodiment, extender device <NUM> may include connection quality indications such as two light emitting diodes (LEDs) that may be used to recommend placement of extender device <NUM>. In an embodiment, the two LEDs of extender device <NUM> may be used in conjunction with system <NUM> (e.g., mobile communications device <NUM>) as described in method <NUM> to place extender device <NUM>. For example, each LED may have <NUM> colors, green, yellow, and red that correlates to the indicators described above to imply movement recommendations for extender device <NUM>. LED1 may provide an indication of AP <NUM>↔extender device <NUM> connection quality. LED2 may provide an indication of a multimedia device <NUM>↔extender device <NUM> connection quality. If either LED1 or LED2 is red, the customer is advised (e.g., explained in a quick start guide (QSG) to move the extender device closer to AP <NUM> or multimedia device <NUM>, respectively. If both LED1 and LED2 are red, the customer is advised to move the extender device closer to both AP <NUM> and multimedia device <NUM>. Similar instructions are provided when LED1 and/or LED2 are yellow. In the event that multiple multimedia devices are connected through extender device <NUM>, LED2 may display the connection quality corresponding to the multimedia device that has the weakest connection (e.g., poorest connectivity quality metrics. ) In an embodiment, a single LED may be used to indicate the need for placement adjustment. For example, the LED may be red if the extender does not have a connection to the AP; yellow if the extender is connected to the AP and one or more multimedia devices, but the connection quality is sub-optimal; and green if the extender device has good connection quality to the AP and the one or more multimedia devices.

At <NUM>, system <NUM> determines whether connection quality metrics for one or more connections are satisfactory. For example, using the above color connection quality indications, when all of the connections are green, extender device <NUM> is in a satisfactory location and method <NUM> ends. When any of the connection quality metrics for any connections are not satisfactory (e.g., yellow or red), system <NUM> may record a combination of the connection quality metrics for this iteration at this location relative to the locations of AP <NUM> and/or multimedia devices <NUM>. Method <NUM> proceeds to <NUM>. At <NUM>, system <NUM> determines whether a number of iterations has been exceeded. For example, mobile communications device <NUM> may be used to assist a customer in placing extender device <NUM> a given number of times, N, where N is a settable integer greater than <NUM>. As an example, N may be equal to <NUM> and after <NUM> iterations, method <NUM> proceeds to <NUM>. When the number of iterations, N, has not been exceeded, system <NUM> proceeds to <NUM>.

At <NUM>, system <NUM> provides instructions for moving the extender device accordingly to improve the quality of the connections. For example, system <NUM> may have received a placement adjustment recommendation (e.g., from analytics server <NUM>, extender device <NUM>, and/or one or more multimedia devices <NUM>). For example, analytics server <NUM> may detect that an average SNR for an AP <NUM>↔extender device <NUM> connection or an average SNR of a multimedia device <NUM>↔extender device <NUM> connection over a <NUM>-hour window is less than a Low Threshold (e.g., <NUM> dB), and transmit a placement adjustment recommendation to system <NUM> via connection 135a. System <NUM> may provide instructions on display <NUM> (or display device <NUM>) or input/output interfaces <NUM> (e.g., audio instructions) to move extender device <NUM> closer to AP <NUM> and/or closer to multimedia <NUM> if the connection quality is not satisfactory (e.g., the connection quality is yellow or red). System <NUM> may provide a graphic of the network topology and display the connection quality indications so that a customer may move extender device <NUM> accordingly to improve the quality of multimedia service (e.g., streaming service. ) System <NUM> returns to <NUM> for another iteration to verify that this new position results in improved quality of the connections. In the event the extender device is unplugged and moved (e.g., as provided in the instructions), the configured extender device <NUM> may be detected at <NUM> when rebooted. In some embodiments, the number of iterations, N, is retained.

Returning to <NUM> when the number of iterations has been exceeded, system <NUM> may provide instructions to place extender device <NUM> based on the highest combination of the connection quality metrics of the last N iterations. For example, when N is <NUM>, system <NUM> selects the highest connection quality metrics of the last <NUM> iterations and their locations. In some embodiments their locations are relative to the locations of AP <NUM> and/or multimedia devices <NUM>.

In some embodiments, a multimedia device <NUM> may periodically obtain connection quality metrics from the configured and placed extender device <NUM>, and perform an analysis to determine a placement recommendation for the configured extender device <NUM>. Multimedia device <NUM> may provide a recommendation to a customer via a user interface (UI), and the recommendation may be displayed on display <NUM>. or display device <NUM>.

The customer premise environment may include a plurality of access points (APs) that may include an extender device, and a plurality of multimedia devices. Some multimedia devices select and associate with an AP that has a highest or strongest RSSI over one link. As WiFi networks become more complex with more devices, some embodiments include mechanisms for analyzing measurements at a multimedia device, determining end-to-end performance in the particular environment, selecting a desired AP of the plurality of APs with which to associate, and connecting to the desired AP to achieve more reliable WiFi network connections. Thus, the selection of the desired AP may result in a more desirable connection quality and multimedia streaming performance. Some embodiments include determining a desired AP that may be an extender device, to which a multimedia device of the plurality of multimedia devices may associate.

<FIG> illustrates an example method <NUM> for choosing an access point (AP), according to some embodiments of the disclosure. For explanation purposes, example method <NUM> may be described with elements from previous figures. Examples of system <NUM> that may perform method <NUM> include but are not limited to multimedia devices <NUM>. Based on the description herein, other systems may perform the operations of method <NUM>; these other systems are within the spirit and scope of the disclosure. It is to be appreciated that not all operations may be needed to perform the disclosure provided herein. Further, some of the operations may be performed simultaneously or in a different order than shown in <FIG>.

Embodiments enable a multimedia device to make an assessment during a scanning process (e.g., a channel scan), where the assessment is based at least on relevant metrics/predictors of AP connection quality. As an example, we assume that multimedia device 110c is coupled to AP <NUM> via connection 135d, and that extender device <NUM> may be operating on a different frequency band and is coupled to AP <NUM> via connection 185d. Extender device <NUM> and multimedia device 110a-110c are associated with a customer account (e.g., a same customer account ID).

At <NUM>, system <NUM> determines a Current-Access Point (AP) connection quality estimate. The Current-AP connection quality estimate may be an estimate of the reliable throughput attainable with the Current-AP (e.g., AP <NUM>. ) The Current-AP connection quality estimate may be a composite of multiple metrics of the current channel including SNR, RSSI, noise level, modulation and coding scheme (MCS) rates, AP capabilities, packet error rates, and/or airtime availability. For example, multimedia device 110c may be coupled to AP <NUM>. Multimedia device 110c may determine a Current-AP connection quality estimate based on a composite of multiple metrics described above associated with connection 135d. At <NUM>, system <NUM> obtains AP metrics for Candidate-APs including next-hop connection metrics. For example, multimedia device 110c may scan a channel associated with a Candidate-AP, and capture one or more of the following AP metrics for each Candidate-AP: downlink RSSI and SNR, noise level on the channel, frequency band and channel, airtime availability on the channel, radio and network information metrics including Channel Load, AP capabilities, and next-hop connection metrics (e.g., when the Candidate-AP is an extender device (e.g., extender device <NUM>) associated with an AP (e.g., AP <NUM>). Examples of AP capabilities include but are not limited to: supported MCS rates, High Throughput (HT) and Very HT (VHT) support, a number of streams, channel bandwidth, multiple-input and multiple-output (MIMO) features such as beamforming, and multi-user MIMO, and an ability to exchange network topology information. Next-hop connection metrics may include but are not limited to: RSSI, SNR, latency, packet error rate, effective rate, and/or effective throughput.

For example, multimedia device 110c may scan a channel associated with extender device <NUM>, a Candidate-AP, via connection 185c, and capture the one or more AP metrics for extender device <NUM> as described above. In addition, extender device <NUM> may provide next-hop connection metrics associated with connection 185d to AP <NUM> (e.g., provide next-hop connection metrics in beacons. ) In some embodiments, extender device <NUM> obtains the next-hop connection metrics via WiFi beacons and Probe Responses (e.g., via an <NUM> information element.

At <NUM>, system <NUM> determines a Candidate-AP quality estimate for each Candidate-AP that may include end-to-end throughput. For example, multimedia device 110c may calculate a Candidate-AP quality estimate based on the Candidate-AP metrics obtained at <NUM>, where the Candidate-AP quality estimate may be an estimate of the throughput and reliability of an end-to-end connection through the Candidate-AP. As described above, the Candidate-AP quality metric may include the multi-hop effects (e.g., AP metrics associated with connections 185c and 185d).

At <NUM>, system <NUM> compares the Current-AP connection quality estimate with the Candidate-AP quality estimate(s), to determine which AP may result in a more desirable end-to-end throughput with a more desirable reliability. For example, the RSSI of 135d may be higher than the RSSI of 185c, but taking the end-to-end AP metrics into account may result in a determination that extender device <NUM> is more desirable than AP <NUM>.

At <NUM>, system <NUM> selects and associates with an AP among the Candidate-APs and the Current-AP that may result in a more desirable end-to-end throughput with a more desirable reliability.

In an embodiment, system <NUM> periodically evaluates the connection quality for the Current-AP and for Candidate APs, in order to select the AP with a highest throughput and/or reliability. In an embodiment, system <NUM> determines whether the Current-AP connection quality estimate satisfies a threshold, and repeats method <NUM> when the Current-AP connection quality is insufficient. For example, when multimedia device 110c determines that the Current-AP connection quality estimate is below a first threshold value, then the Current-AP connection quality estimate may be insufficient. For example, if a Current-AP connection quality estimate is <NUM> and the first threshold value is <NUM>, then the Current-AP connection quality estimate is insufficient. In another example, multimedia device 110c determines that the Current-AP connection quality estimate is insufficient when metrics from an alternative AP (e.g., quality metrics from a Candidate-AP) exceeds a second threshold value, even when the Current-AP connection quality estimate is not below the first threshold value. For example, if a Current-AP connection quality estimate is <NUM>, the first threshold value is <NUM>, the second threshold value is <NUM>, and an alternative AP metric is <NUM>, then the Current-AP connection quality estimate is insufficient, even though the first threshold value of <NUM> has not been exceeded. The threshold values are settable. In some embodiments the second threshold may be associated with the value of the Current-AP connection quality estimate that is greater than the first threshold value (e.g., the second threshold value is <NUM> (<NUM>% above the Current-AP connection quality estimate of <NUM>. ) When the Current-AP connection quality estimate is insufficient, method <NUM> may be repeated.

Various embodiments can be implemented, for example, using one or more computer systems, such as computer system <NUM> shown in <FIG>. Computer system <NUM> can be any well-known computer capable of performing the functions described herein. For example, and without limitation, analytics server <NUM>, website server <NUM>, content provider 1450a-content provider <NUM>, computing device <NUM>, electronic devices such as laptops, desktops as described with regard to FIG. Computer system <NUM> also includes a main or primary memory <NUM>, such as random access memory (RAM). Main memory <NUM> may include one or more levels of cache. Main memory <NUM> has stored therein control logic (e.g., computer software) and/or data.

According to some embodiments, secondary memory <NUM> may include other means, instrumentalities or other approaches for allowing computer programs and/or other instructions and/or data to be accessed by computer system <NUM>. Such means, instrumentalities or other approaches may include, for example, a removable storage unit <NUM> and an interface <NUM>. Examples of the removable storage unit <NUM> and the interface <NUM> may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM or PROM) and associated socket, a memory stick and USB port, a memory card and associated memory card slot, and/or any other removable storage unit and associated interface.

The operations in the preceding embodiments can be implemented in a wide variety of configurations and architectures. Therefore, some or all of the operations in the preceding embodiments may be performed in hardware, in software or both. In some embodiments, a tangible apparatus or article of manufacture comprising a tangible computer useable or readable medium having control logic (software) stored thereon is also referred to herein as a computer program product or program storage device. This includes, but is not limited to, computer system <NUM>, main memory <NUM>, secondary memory <NUM> and removable storage units <NUM> and <NUM>, as well as tangible articles of manufacture embodying any combination of the foregoing. Such control logic, when executed by one or more data processing devices (such as computer system <NUM>), causes such data processing devices to operate as described herein.

Based on the teachings contained in this disclosure, it will be apparent to persons skilled in the relevant art(s) how to make and use embodiments of the disclosure using data processing devices, computer systems and/or computer architectures other than that shown in <FIG>. In particular, embodiments may operate with software, hardware, and/or operating system implementations other than those described herein.

The Summary and Abstract sections may set forth one or more but not all exemplary embodiments of the disclosure as contemplated by the inventor(s), and thus, are not intended to limit the disclosure or the appended claims in any way.

While the disclosure has been described herein with reference to exemplary embodiments for exemplary fields and applications, it should be understood that the disclosure is not limited thereto. Other embodiments and modifications thereto are possible, and are within the scope and spirit of the disclosure. For example, and without limiting the generality of this paragraph, embodiments are not limited to the software, hardware, firmware, and/or entities illustrated in the figures and/or described herein. Further, embodiments (whether or not explicitly described herein) have significant utility to fields and applications beyond the examples described herein.

In addition, alternative embodiments may perform functional blocks, steps, operations, methods, etc. using orderings different from those described herein.

References herein to "one embodiment," "an embodiment," "an example embodiment," or similar phrases, indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic.

Claim 1:
A system (<NUM>) including a multimedia device associated with a multimedia service customer account, comprising:
one or more memories (<NUM>); and
one or more processors (<NUM>) communicatively coupled to at least one of the one or more memories (<NUM>) and configured to:
provide a multimedia service corresponding to the multimedia service customer account;
receive a request for network credentials from an extender device (<NUM>) associated with a serial number bound to the multimedia service customer account, wherein the extender device is unconfigured;
transmit a request to a web service for permission to share the network credentials corresponding to the multimedia device, wherein the request for the permission includes the serial number;
receive the permission, from the web service after verification of association between the serial number and the multimedia service customer account, to share the network credentials with the extender device; and
transmit the network credentials to the extender device.