Method for a media playback device

By transmitting network parameters and version numbers between playback devices, the problem of devices being unable to reconnect after a power outage is solved, enabling automatic reconnection and improving network stability, thus enhancing user control.

CN115835338BActive Publication Date: 2026-05-29SONOS INC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SONOS INC
Filing Date
2018-09-17
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

After a power outage, the media playback device is unable to re-establish a network connection due to outdated network parameters, causing the device to enter a 'lost' state, which limits the user's control and network stability.

Method used

By broadcasting probe messages between playback devices to obtain the latest network parameters, using version numbers to identify the latest parameters and updating the network connection configuration of the devices, automatic reconnection without user input is achieved.

Benefits of technology

It improves the network stability and user experience of the media playback system, ensures that the device can automatically restore the network connection after a power outage, and enhances the functionality of the control device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115835338B_ABST
    Figure CN115835338B_ABST
Patent Text Reader

Abstract

The invention relates to a method for a media playback device, the method comprising: the first playback device accessing a first network parameter from a file stored in a data storage device of the first playback device, wherein the first playback device previously used the first network parameter to establish a valid network connection to a first local area network; the first playback device determining that the first playback device cannot use the first network parameter to establish a valid network connection to the first local area network; receiving one or more messages indicating a second network parameter, wherein the second network parameter is used by one or more second playback devices to establish a valid network connection to a second local area network; the first playback device using the second network parameter to establish a valid network connection to the second local area network; and replicating the second network parameter between other playback devices of a media playback system.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Case Analysis

[0002] This application is a divisional application of the invention patent application filed on September 17, 2018, with application number 201880074411.1 and invention title "Re-establishing WLAN connection on a media player".

[0003] Cross-references to related applications

[0004] This application claims priority to U.S. Patent Application No. 15 / 707,730, filed September 18, 2017, the entire contents of which are incorporated herein by reference. Technical Field

[0005] This disclosure relates to consumer products, and more specifically, to methods, systems, products, features, services and other elements relating to media playback or some aspect thereof. Background Technology

[0006] Options for accessing and listening to digital audio from external speakers were limited until SONOS filed a patent application in 2003 entitled "Method for Synchronizing Audio Playback between Multiple Networked Devices," one of its first patent applications, and began selling media playback systems in 2005. Sonos' wireless HiFi system allows people to experience music from many sources via one or more networked playback devices. Through a software control application installed on a smartphone, tablet, or computer, people can play what they want in any room with networked playback devices. Additionally, using a controller, for example, it is possible to stream different songs to each room with playback devices, combine rooms for synchronized playback, or listen to the same song simultaneously in all rooms.

[0007] Given the growing interest in digital media, there remains a need to develop a technology that is easy for consumers to use to further enhance the listening experience. Attached Figure Description

[0008] The features, aspects, and advantages of the disclosed technology can be better understood by referring to the following specification, appended claims, and drawings, in which:

[0009] Figure 1 An example media playback system configuration that can be implemented in certain ways is shown;

[0010] Figure 2 This diagram shows the functional block diagram of an example playback device;

[0011] Figure 3 A functional block diagram of an example control device is shown;

[0012] Figure 4 Example controller interface is shown;

[0013] Figure 5 An example flowchart for re-establishing network connectivity for a playback device is shown;

[0014] Figure 6 An example system is shown that allows for the practice of exemplary implementation methods;

[0015] Figure 7A and Figure 7B An example message is shown to facilitate the re-establishment of network connectivity for the playback device;

[0016] Figure 8 Another example system is shown where the example implementation can be practiced;

[0017] Figure 9 An example flowchart for re-establishing network connectivity for a playback device is shown; and

[0018] Figure 10 An example system is shown that allows for the practice of exemplary implementation methods.

[0019] The accompanying drawings are for illustrative purposes only, but it is to be understood that the invention is not limited to the arrangements and means shown in the drawings. Detailed Implementation

[0020] I. Overview

[0021] The exemplary implementations described herein particularly relate to techniques for re-establishing a network connection between a playback device and a media playback system when the playback device is in a "lost" state. The exemplary media playback system includes multiple network interconnected devices (e.g., one or more playback devices for playing back media and / or one or more control devices for controlling the playback of one or more playback devices). To improve network stability, the playback devices in such an exemplary media playback system can store network parameters in files on a data storage device and use these parameters to establish a network connection.

[0022] However, storing network parameters in files creates the possibility for those parameters to become "outdated" (i.e., different) from the current network parameters being used by the network. When a playback device fails to establish a connection with the media playback system because its stored network parameters are "outdated," the playback device of that media playback system may enter a "lost" state. For example, when a given playback device of a media playback system loses power, the media playback system may change its network's wireless channel. When the playback device is powered back on and attempts to establish a connection using its stored network parameters, it will be unable to establish a network connection because it is attempting to use the previous wireless channel.

[0023] In contrast to the playback device example described above, other network client devices dynamically acquire network parameters from a router or gateway (e.g., a Dynamic Host Configuration Protocol (DHCP) server). Initially, such a client device may acquire network parameters via a discovery process. Upon reboot, the client device can reacquire network parameters from the router or gateway. In this example, because the client device does not use network parameters stored in a file on a data storage device, the network parameters do not become outdated, and the client device is protected from loss. However, because the network parameters are dynamically acquired, some parameters (e.g., the client IP address) are not as stable as when the client device (e.g., the playback device) utilizes network parameters stored in a file on the client device. As an example of poor stability, the client device may obtain a different IP address when reacquiring network parameters from the router or gateway.

[0024] In some example technologies, a first playback device of a media playback system can re-establish a network connection by obtaining network parameters from a second playback device in the media playback system. In one example, the first playback device determines that it is in a "lost" state, meaning it has lost its connection to the network. Therefore, the first playback device searches for a second playback device that is not in a "lost" state, i.e., the second playback device has a valid network connection. The first playback device can search for the second playback device by broadcasting a probe message. In response to receiving such a probe message, the second playback device can send a response message back to the first playback device. The response message (and / or one or more subsequent messages from the second playback device) includes data representing the network parameters used by the second playback device. Upon receiving such network parameters, the first playback device uses the network parameters represented in the received message to re-establish the network connection.

[0025] As described above, the example media playback system may include one or more control devices to control playback from one or more playback devices. Such control devices can control playback devices by sending commands over a network via a network interface. Thus, when a playback device becomes "lost" (i.e., loses network connectivity), the control device may have limited (or no) ability to control the playback device. Furthermore, in some embodiments, the playback device itself has a limited control interface. For example, the example playback device may include transmission controls (e.g., play / pause, skip) and volume controls, but does not include a touchscreen display or other control interface suitable for establishing (or re-establishing) a network connection. Therefore, the example techniques described herein can facilitate the re-establishment of a network connection by a playback device without user input by obtaining network parameters from another playback device when the playback device detects that it has become "lost."

[0026] Furthermore, in some implementations, each network parameter file on the respective playback device has a corresponding version number, which facilitates the playback device utilizing the latest available network parameters. For example, after temporarily re-establishing a network connection using network parameters from a second playback device, the first playback device can determine the latest network parameters for the media playback system. To determine the latest network parameters for the media playback system, the first playback device can receive network parameters (and corresponding version numbers) from multiple playback devices within the network.

[0027] Assuming each playback device increments its own network parameter file version number when updating the network parameters stored in the file, the first playback device can determine the latest parameters by identifying the network parameters with the latest version number. If the first playback device finds more up-to-date network parameters, it updates its network parameter file and utilizes those network parameters. The first playback device can also copy these network parameters to other playback devices within the media playback system to facilitate each playback device with the latest parameters.

[0028] As described above, the example techniques may involve re-establishing a network connection between a playback device and a media playback system. A first implementation may include accessing first network parameters from a file stored in a data storage device of the first playback device. These first network parameters include: (i) a Service Set Identifier (SSID) identifying a first wireless local area network (WLAN); (ii) a wireless channel; and (iii) an IP address for a network interface, wherein the first playback device previously established a valid network connection on the first WLAN using the first network parameters. The first implementation may also include determining that the first playback device cannot establish a valid network connection to the first WLAN using the first network parameters. Determining that the first playback device cannot establish a valid network connection to the first WLAN includes: attempting to connect to the first WLAN via the wireless network interface using the first network parameters, and, in response to determining that the first playback device cannot establish a valid network connection to the first WLAN, broadcasting probe request messages via the network interface on multiple wireless channels. The first embodiment may further include: receiving a response to a probe request message from a second playback device via a wireless network interface, the response to the probe request message indicating second network parameters assigned to the network interface of the second playback device to establish a valid network connection to a specific WLAN, wherein the specific WLAN is one of: (a) a first WLAN or (b) a second WLAN, and wherein the second wireless parameters include a wireless channel of the specific WLAN. The first embodiment may include: establishing a valid network connection to the specific WLAN via the wireless network interface using the second network parameters; and joining a media playback system including the second playback device via the established valid network connection to the specific WLAN, wherein the first playback device is configured to play back audio content using the established valid connection to the specific WLAN.

[0029] The second embodiment may involve: a first playback device connected to an access point via a wired connection; and a second playback device configured to connect to the access point via a wireless peer-to-peer connection to the first playback device. The second embodiment may include: determining that the second playback device cannot establish a valid network connection to the access point using first network parameters via the wireless peer-to-peer connection to the first playback device, and, in response to determining that the second playback device cannot establish a valid network connection to the access point, broadcasting a probe request message on multiple wireless channels via the network interface of the second playback device. The second embodiment may further include: receiving a response to the probe request message from the first playback device via a wireless network interface, the response indicating second network parameters assigned to the network interface of the first playback device, wherein the second network parameters are different from the first network parameters. The second embodiment may further include: establishing a valid network connection to the access point via the wireless network interface using the second network parameters via the wireless peer-to-peer connection to the first playback device.

[0030] The third embodiment may involve: a first playback device connected to a first access point via a wired connection, the first access point being configured to allocate IP addresses in a first subnet; a second playback device connected to a network device via a wired connection, wherein the network device is not an access point; and a third playback device configured to connect to the first access point via a wireless peer-to-peer connection to the first playback device. The third embodiment may include: determining that the first access point has been replaced by a second access point, wherein the second access point is configured to allocate IP addresses in a second subnet covering a different range of IP addresses than the first subnet, and, in response to determining that the first access point has been replaced by the second access point, connecting to the second access point via the network interface of the third playback device. The third embodiment may further include: after connecting to the second access point, requesting an IP address in the second subnet via the network interface of the third playback device. The third embodiment may further include: establishing a network connection to the second access point via the network interface of the third playback device using the IP address in the second subnet via the wireless peer-to-peer connection to the first playback device.

[0031] In other examples, each of these example implementations may be embodied as a method, a device configured to perform the implementation, a device system configured to perform the implementation, or a non-transitory computer-readable medium containing instructions executable by one or more processors to perform the implementation. Those skilled in the art will understand that this disclosure includes many other embodiments, including combinations of the example features described herein. Furthermore, any example operation described as being performed by a given device to illustrate a technique can be performed by any suitable device, including the device described herein. Moreover, any device can cause another device to perform any operation described herein.

[0032] While some of the examples described herein may relate to functions performed by a given actor (e.g., a "user" and / or other entity), it should be understood that the description is for illustrative purposes only. Unless the language of the claims themselves explicitly requires it, the claims should not be construed as requiring any such example actor to perform an action.

[0033] This document describes some operations as being performed "in response to" another operation. For the purposes of this disclosure, an operation performed "in response to" another operation is intended to describe an operation performed as a necessary result of another operation. However, an operation performed "in response to" another operation does not necessarily have to be performed immediately following that other operation. For example, a device may perform a first operation in response to a third operation, then perform one or more second operations, and then perform a third operation. Furthermore, a given operation performed in response to a particular operation may be performed based on other operations, but that given operation is intended to be a necessary result of that particular operation.

[0034] II. Example Operating Environment

[0035] Figure 1 An example configuration of a media playback system 100 is shown, in which one or more embodiments disclosed herein may be implemented or realized. The media playback system 100 shown is associated with an example home environment having several rooms and spaces (e.g., a master bedroom, study, dining room, and living room). Figure 1 As shown in the example, the media playback system 100 includes playback devices 102-124, control devices 126 and 128, and a wired or wireless network router 130.

[0036] Further discussion of the different components of the example media playback system 100 and how these components can interact to provide a media experience to the user can be found in the following sections. While the discussion herein may generally pertain to the example media playback system 100, the techniques described herein are not limited to, in particular, such as Figure 1 Applications are shown within home environments. For example, the techniques described herein can be useful in environments where multi-regional audio may be desired, such as commercial environments like restaurants, shopping malls, or airports, and vehicles such as SUVs, buses or cars, ships or boats, airplanes, etc.

[0037] a. Example playback device

[0038] Figure 2 This diagram illustrates a functional block diagram of an example playback device 200, which can be configured as follows: Figure 1 The media playback system 100 includes one or more of playback devices 102-124. Playback device 200 may include a processor 202, software component 204, memory 206, audio processing component 208, audio amplifier 210, speaker 212, and network interface 214 including wireless interface 216 and wired interface 218. In one embodiment, playback device 200 may not include speaker 212, but instead includes a speaker interface for connecting playback device 200 to an external speaker. In another embodiment, playback device 200 may not include either speaker 212 or audio amplifier 210, but instead includes an audio interface for connecting playback device 200 to an external audio amplifier or audiovisual receiver.

[0039] In one example, processor 202 is a clock-driven computing component configured to process input data according to instructions stored in memory 206. Memory 206 may be a tangible computer-readable medium configured to store instructions executable by processor 202. For example, memory 206 may be a data storage device loaded with one or more software components 204 executable by processor 202 to perform certain functions. In one example, these functions may involve playback device 200 acquiring audio data from an audio source or another playback device. In another example, these functions may involve playback device 200 sending audio data to another device or playback device on a network. In yet another example, these functions may involve pairing playback device 200 with one or more playback devices to create a multi-channel audio environment.

[0040] Certain functionalities may involve playback device 200 synchronously playing back audio content with one or more other playback devices. During synchronous playback, the listener will preferably not be able to perceive any time delay difference between the playback of audio content by playback device 200 and one or more other playback devices. Some examples of audio playback synchronization between playback devices are provided in more detail by referencing U.S. Patent No. 8,234,395 entitled “System and method for synchronizing operations among a plurality of independently clocked digital data processing devices,” which is incorporated herein by reference.

[0041] Memory 206 may also be configured to store data associated with playback device 200, such as one or more regions and / or groupings of regions to which playback device 200 is a part, audio sources accessible to playback device 200, or playback queues to which playback device 200 (or some other playback device) may be associated. Data may be stored as one or more state variables that are periodically updated and used to describe the state of playback device 200. Memory 206 may also include data associated with the state of other devices in the media system and may be shared intermittently between devices, such that one or more devices have the most up-to-date data associated with the system. Other embodiments are also possible.

[0042] Audio processing component 208 may include one or more digital-to-analog converters (DACs), audio preprocessing components, audio enhancement components, or digital signal processors (DSPs). In one embodiment, one or more of the audio processing components 208 may be sub-components of processor 202. In one example, audio processing component 208 may process and / or intentionally modify audio content to generate an audio signal. The generated audio signal may then be provided to audio amplifier 210 for amplification and played back through speaker 212. Specifically, audio amplifier 210 may include devices configured to amplify the audio signal to a level for driving one or more of the speakers 212. Speaker 212 may include individual transducers (e.g., “drivers”) or a complete speaker system including a housing having one or more drivers. For example, specific drivers for speaker 212 may include, for example, a woofer (e.g., for low frequencies), a mid-range driver (e.g., for mid-range frequencies), and / or a tweeter (e.g., for high frequencies). In some cases, each transducer in one or more speakers 212 may be driven by a respective corresponding audio amplifier of audio amplifier 210. In addition to generating analog signals for playback by playback device 200, audio processing component 208 can also be configured to process audio content to be sent to one or more other playback devices for playback.

[0043] Audio content to be processed and / or played back by playback device 200 can be received from an external source, for example, via an input connection of an audio line input (e.g., automatically detectable 3.5mm audio line input connection) or network interface 214.

[0044] Network interface 214 can be configured to facilitate data flow between playback device 200 and one or more other devices on a data network. Therefore, playback device 200 can be configured to receive audio content via a data network from one or more other playback devices communicating with playback device 200, network devices within a local area network (LAN), or audio content sources on a wide area network (e.g., the Internet). In one example, the audio content and other signals sent and received by playback device 102 can be transmitted in the form of digital packet data containing an Internet Protocol (IP)-based source address and an IP-based destination address. In this case, network interface 214 can be configured to parse the digital packet data so that data destined for playback device 200 is correctly received and processed by playback device 200.

[0045] As shown in the figure, network interface 214 may include wireless interface 216 and wired interface 218. Wireless interface 216 provides network interface functionality for playback device 200 to wirelessly communicate with other devices (e.g., other playback devices, speakers, receivers, network devices, control devices within the data network associated with playback device 200) according to communication protocols (e.g., any wireless standard, including IEEE 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.15, 4G mobile communication standards, etc.) according to communication protocols (e.g., any wireless standard). Wired interface 218 provides network interface functionality for playback device 200 to communicate with other devices via a wired connection according to communication protocols (e.g., IEEE 802.3). Figure 2 The network interface 214 shown includes a wireless interface 216 and a wired interface 218, but in some embodiments, the network interface 214 may include only a wireless interface or only a wired interface.

[0046] In one example, playback device 200 and another playback device can be paired to play two separate audio components of audio content. For example, playback device 200 can be configured to play the left channel audio component, while the other playback device can be configured to play the right channel audio component, thereby creating or enhancing the stereo effect of the audio content. Paired playback devices (also known as "tethered playback devices") can also synchronize the playback of audio content with other playback devices.

[0047] In another example, playback device 200 can be combined with the sound of one or more other playback devices to form a single combined playback device. The combined playback device can be configured to process and reproduce sound differently from non-combined or paired playback devices because the combined playback device can have additional speaker drivers that can be used to present audio content. For example, if playback device 200 is designed to present low-frequency audio content (i.e., a subwoofer), playback device 200 can be combined with a playback device designed to present full-range audio content. In this case, when combined with low-frequency playback device 200, the full-range playback device can be configured to present only the mid-to-high frequency components of the audio content, while the low-frequency playback device 200 presents the low-frequency components of the audio content. The combined playback device can also be paired with a single playback device or another combined playback device.

[0048] For example, SONOS currently offers (or has offered) certain playback devices for sale, including “PLAY:1”, “PLAY:3”, “PLAY:5”, “PLAYBAR”, “CONNECT:AMP”, “CONNECT”, and “SUB”. Any other past, present, and / or future playback devices may be used additionally or alternatively to implement the example embodiments disclosed herein. Furthermore, it should be understood that the playback devices are not limited to… Figure 2 Examples shown may be SONOS product offerings. For instance, a playback device may include wired or wireless headphones. In another example, a playback device may include an extension base for, or interact with, a personal mobile media playback device. In yet another example, a playback device may be integrated into another device or component, such as a television, lighting equipment, or some other device used indoors or outdoors.

[0049] b. Example playback region configuration

[0050] Return to reference Figure 1 The media playback system 100 can have one or more playback regions, and each playback region can have one or more playback devices. The media playback system 100 can establish one or more playback regions, and can subsequently add or remove one or more regions to achieve [various configurations / adjustments]. Figure 1 The example configuration shown. Each region can be named based on different rooms or spaces (e.g., study, bathroom, master bedroom, bedroom, kitchen, dining room, living room, and / or balcony). In one case, a single playback region may include multiple rooms or spaces. In another case, a single room or space may include multiple playback regions.

[0051] like Figure 1 As shown, the balcony, dining room, kitchen, bathroom, study, and bedroom areas each have one playback device, while the living room and master bedroom areas each have multiple playback devices. In the living room area, playback devices 104, 106, 108, and 110 can be configured to play audio content synchronously as individual playback devices, as one or more bundled playback devices, as one or more combined playback devices, or any combination thereof. Similarly, in the case of the master bedroom, playback devices 122 and 124 can be configured to play audio content synchronously as individual playback devices, as bundled playback devices, or as combined playback devices.

[0052] In one example Figure 1One or more playback zones in an environment can play different audio content. For example, a user might be grilling on a balcony and listening to hip-hop music played by playback device 102, while another user might be preparing food in a kitchen and listening to classical music played by playback device 114. In another example, playback zones can play the same audio content synchronously with another playback zone. For example, a user might be in a study where playback device 118 is playing the same rock music as playback device 102 in the balcony zone. In this case, playback devices 102 and 118 can play rock music synchronously, allowing the user to seamlessly (or at least substantially seamlessly) enjoy the amplified audio content while moving between different playback zones. Synchronization between playback zones can be achieved in a manner similar to the synchronization between playback devices described in U.S. Patent No. 8,234,395, which was previously cited.

[0053] As suggested above, the regional configuration of the media playback system 100 can be dynamically modified, and in some embodiments, the media playback system 100 supports multiple configurations. For example, if a user physically moves one or more playback devices into or out of a region, the media playback system 100 can be reconfigured to accommodate the change. For instance, if a user physically moves playback device 102 from the balcony region to the study region, the study region can now include playback device 118 and playback device 102. Playback device 102 can be paired or grouped with the study region, and / or renamed (if needed) via control devices (e.g., control devices 126 and 128). On the other hand, if one or more playback devices are moved to a special area in the home environment that is not yet a playback region, a new playback region can be created for that special area.

[0054] Furthermore, the different playback areas of the media playback system 100 can be dynamically combined into area groups or divided into separate playback areas. For example, the dining area and kitchen area 114 can be combined into an area group for banquets, allowing playback devices 112 and 114 to simultaneously present audio content. On the other hand, if one user wants to listen to music in the living room while another user wants to watch television, the living room area can be divided into a television area including playback device 104 and a listening area including playback devices 106, 108, and 110.

[0055] c. Example control device

[0056] Figure 3A functional block diagram of an example control device 300 is shown. The example control device 300 can be configured as one or both of control devices 126 and 128 of the media playback system 100. The control device 300 can also be referred to as a controller. As shown, the control device 300 may include a processor 302, a memory 304, a network interface 306, and a user interface 308. In one example, the control device 300 may be a dedicated controller for the media playback system 100. In another example, the control device 300 may be a network device on which media playback system controller application software can be installed, such as an iPhone. TM iPad TM Or any other smartphone, tablet, or networked device (e.g., a networked computer such as a PC or Mac). TM ).

[0057] Processor 302 can be configured to perform functions related to assisting users in accessing, controlling, and configuring media playback system 100. Memory 304 can be configured to store instructions executable by processor 302 to perform these functions. Memory 304 can also be configured to store media playback system controller application software and other data associated with media playback system 100 and the user.

[0058] In one example, network interface 306 may be based on industry standards (e.g., infrared; radio; wired standards including IEEE 802.3; wireless standards including IEEE 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.15, 4G mobile communication standards, etc.). Network interface 306 can provide a means for control device 300 to communicate with other devices in media playback system 100. In one example, data and information (e.g., status variables) can be transferred between control device 300 and other devices via network interface 306. For example, playback region and region group configurations in media playback system 100 can be received by control device 300 from a playback device or another network device via network interface 306, or sent by control device 300 to another playback device or network device via network interface 306. In some cases, this other network device may be another control device.

[0059] Playback device control commands (e.g., volume control and audio playback control) can also be transmitted from control device 300 to playback devices via network interface 306. As suggested above, users can also use control device 300 to perform configuration changes to media playback system 100. Configuration changes may include: adding or removing one or more playback devices to / from regions; adding or removing one or more regions to / from region groups; forming bundled or merged players; detaching one or more playback devices from bundled or merged players, etc. Therefore, control device 300 may sometimes be referred to as a controller, whether it is a dedicated controller or a network device on which media playback system controller application software is installed.

[0060] The user interface 308 of the control device 300 can be configured to provide a controller interface (e.g., Figure 4 The controller interface 400 shown facilitates user access to and control of the media playback system 100. The controller interface 400 includes a playback control area 410, a playback region area 420, a playback status area 430, a playback queue area 440, and an audio content source area 450. The user interface 400 shown is only available on network devices (e.g., Figure 3 Control device 300 (and / or Figure 1 An example of a user interface provided on control devices 126 and 128 and accessed by the user to control a media playback system (e.g., media playback system 100). Alternatively, other user interfaces with varying formats, styles, and interaction sequences may be implemented on one or more network devices to provide similar control access to the media playback system.

[0061] The playback control area 410 may include selectable icons (e.g., by touch or by using a cursor) to cause playback devices in the selected playback region or group to play or pause, fast forward, rewind, skip to the next, skip to the previous, enter / exit shuffle mode, enter / exit repeat mode, and enter / exit crossfade mode. The playback control area 410 may also include selectable icons for modifying equalization settings, playback volume, etc.

[0062] Playback region 420 may include a representation of playback regions within the media playback system 100. In some embodiments, the graphical representation of the playback region may be optional, allowing additional optional icons to be brought up to manage or configure playback regions in the media playback system, such as creating bound regions, creating region groups, separating region groups, renaming region groups, etc.

[0063] For example, as shown, a "grouping" icon can be provided within each graphical representation of a playback region. The "grouping" icon provided within the graphical representation of a specific region can be selectable to bring up an option to select one or more other regions in the media playback system that will be grouped with the specific region. Once grouped, playback devices in regions already grouped with the specific region will be configured to play audio content synchronously with playback devices in the specific region. Similarly, a "grouping" icon can be provided within the graphical representation of a region group. In this case, the "grouping" icon can be selectable to bring up an option to deselect one or more regions in the region group to be removed from that region group. Other interactions and implementations for grouping and degrouping regions via a user interface (e.g., user interface 400) are also possible. When the playback region or region group configuration is modified, the representation of the playback region in playback region area 420 can be dynamically updated.

[0064] The playback status area 430 may include a graphical representation of the audio content currently playing, previously played, or scheduled for next playback in the selected playback region or group of regions. The selected playback region or group of regions may be visually distinguishable on the user interface, for example, within playback region area 420 and / or playback status area 430. The graphical representation may include track name, artist name, album name, album year, track length, and other relevant information that will be useful to the user when controlling the media playback system via user interface 400.

[0065] Playback queue area 440 may include a graphical representation of audio content in a playback queue associated with a selected playback region or region group. In some embodiments, each playback region or region group may be associated with a playback queue containing information corresponding to zero or more audio items played back by that playback region or region group. For example, each audio item in the playback queue may include a Uniform Resource Identifier (URI), a Uniform Resource Locator (URL), or some other identifier that may be used by playback devices in the playback region or region group to locate and / or retrieve audio items from a local audio content source or a networked audio content source, possibly for playback by the playback device.

[0066] In one example, a playlist can be added to the playback queue, in which case information corresponding to each audio item in the playlist can be added to the playback queue. In another example, audio items in the playback queue can be saved as a playlist. In yet another example, the playback queue may be empty or filled but “unused” when a playback region or region group is continuously playing streaming audio content (e.g., internet radio, which can play until stopped), rather than discrete audio items with playback duration. In an alternative embodiment, the playback queue may include internet radio and / or other streaming audio content items, and is “in use” when a playback region or region group is playing these content items. Other examples are also possible.

[0067] When a playback region or region group is "grouped" or "ungrouped," the playback queues associated with the affected playback region or region group can be cleared or reassociated. For example, if a first playback region including a first playback queue is grouped with a second playback region including a second playback queue, the created region group may have associated playback queues that are initially empty and contain audio items from the first playback queue (e.g., if the second playback region is added to the first playback region), or contain audio items from the second playback queue (e.g., if the first playback region is added to the second playback region), or contain a combination of audio items from both the first and second playback queues. Subsequently, if the created region group is ungrouped, the resulting first playback region may be reassociated with the previous first playback queue, or associated with a new playback queue that is empty or contains audio items from playback queues associated with region groups created before the created region group was ungrouped. Similarly, the resulting second playback region can be reassociated with the previous second playback queue, or with a new playback queue that is empty or contains audio items from playback queues associated with a region group established before the region group was degrouped. Other examples are also possible.

[0068] Return to reference Figure 4The user interface 400, in which the graphical representation of audio content in the playback queue area 440 may include track title, artist name, track length, and other relevant information associated with the audio content in the playback queue. In one example, the graphical representation of the audio content may be selectable to bring up additional selectable icons to manage and / or manipulate the playback queue and / or the audio content represented in the playback queue. For example, the represented audio content may be removed from the playback queue, moved to a different position within the playback queue, selected for immediate playback, or played after any currently playing audio content. The playback queue associated with a playback region or region group may be stored in memory on one or more playback devices in that playback region or region group, on playback devices not in that playback region or region group, and / or on some other designated devices. Playback of such a playback queue may involve one or more playback devices playing media items in the queue in a sequential or random order.

[0069] The audio content source area 450 may include a graphical representation of selectable audio content sources from which audio content can be retrieved and played by the selected playback region or region group. A discussion of audio content sources can be found in the following sections.

[0070] d. Example audio content source

[0071] As previously described, one or more playback devices in a region or region group can be configured to retrieve playback audio content from various available audio content sources (e.g., based on the corresponding URI or URL of the audio content). In one example, the playback device can retrieve audio content directly from the corresponding audio content source (e.g., a line-in connection). In another example, audio content can be provided to the playback device via one or more other playback devices or network devices over a network.

[0072] Example audio content sources may include: media playback systems (e.g., Figure 1 The media playback system 100 may include the memory of one or more playback devices, a local music library on one or more network devices (e.g., a controller device, a network-enabled personal computer, or a network attached storage device (NAS)), a streaming audio service that provides audio content via the Internet (e.g., the cloud), or an audio source connected to the media playback system via a line input connection on a playback device or network device.

[0073] In some embodiments, the media playback system (e.g., Figure 1The media playback system 100 periodically adds or removes audio content sources. In one example, whenever one or more audio content sources are added, removed, or updated, an indexing of audio items can be performed. Indexing audio items may include: scanning all identifiable audio items in all shared folders / directories on a network accessible by playback devices in the media playback system, and generating or updating an audio content database containing metadata (e.g., title, artist, album, track length, etc.) and other associated information (e.g., the URI or URL of each identifiable audio item found). Other examples for managing and maintaining audio content sources are also possible.

[0074] Now let's turn to several example implementations, in Figure 5 , Figure 8 and Figure 10 The embodiments 500, 800, and 1000 shown herein respectively present exemplary implementations of the technology described herein. These exemplary embodiments can be implemented in, for example, […]. Figure 1 Media playback system 100 Figure 2 One or more of the playback devices 200 Figure 3 The operation is implemented within the operating environment of one or more of the control devices 300. Furthermore, the operations exemplarily shown as being performed by the media playback system can be performed by any suitable device, such as the playback device or control device of the media playback system. Embodiments 500, 800, and 1000 may include one or more operations, functions, or actions, such as... Figure 5 , Figure 8 and Figure 10 One or more boxes are shown. Although the boxes are shown in a sequential order, they can also be executed in parallel and / or in an order different from that described herein. Moreover, depending on the desired implementation, the boxes can be combined into fewer boxes, divided into more boxes, and / or removed.

[0075] Furthermore, for the embodiments disclosed herein, flowcharts illustrate the function and operation of one possible implementation of this embodiment. In this regard, each block may represent a module, segment, or portion of program code, which includes one or more instructions executable by a processor to implement a specific logical function or step in the process. The program code may be stored on any type of computer-readable medium, such as a storage device including a disk or hard disk drive. The computer-readable medium may include non-transitory computer-readable media, such as computer-readable media for short-term data storage, such as register memory, processor cache, and random access memory (RAM). The computer-readable medium may also include non-transitory media, such as secondary storage or persistent long-term storage devices, such as read-only memory (ROM), optical disk or magnetic disk, compact disk read-only memory (CD-ROM), etc. The computer-readable medium may also be any other volatile or non-volatile storage system. A computer-readable medium can be considered a computer-readable storage medium, such as a tangible storage device. Additionally, for the embodiments disclosed herein, each block may represent circuitry connected to perform a specific logical function in the process.

[0076] IV. Example Techniques for Re-establishing Playback Device Connections

[0077] As mentioned above, some example techniques may involve the playback device re-establishing a network connection. Figure 5 Implementation method 500 is presented to facilitate the establishment of a network connection by the first playback device using the network parameters of the second playback device.

[0078] a. Accessing first network parameters from a file stored in the data storage device of the first playback device.

[0079] At box 502, implementation 500 relates to accessing a first network parameter from a file stored in a data storage device of the first playback device. For example, the first playback device (e.g., Figure 1 Any playback device shown or Figure 2 The playback device 200 can obtain the first network parameters from a file stored in a data storage device (e.g., memory 206) of the first playback device. The first playback device can obtain the first network parameters by performing a read operation on the file stored in the data storage device, to obtain the first network parameters from characters, symbols, or other data structures representing the first network parameters.

[0080] The first network parameters stored in the file include network settings previously used by the first playback device to establish a valid network connection to the first local area network (e.g., a first wireless local area network (WLAN)). In other words, at least at a previous point in time, the network parameters stored in the file represent settings that enabled the first playback device to establish a valid network connection to the first local area network when used with the network interface of the first playback device. However, when the first playback device acquires the first network parameters, changes outside the first playback device (e.g., changes to the first local area network) may have caused the first network parameters to become "obsolete," thus rendering the first playback device unable to use the first network parameters to establish a valid network connection to the first local area network.

[0081] The file may include various network parameters sufficient to establish a network connection to the local area network (LAN). For example, network parameters may include the IP address of the first playback device and the gateway address. For a wireless LAN, network parameters may include a Service Set Identifier (SSID) that identifies the first LAN and the wireless channel (e.g., a wireless channel in the 2.4 GHz or 5 GHz band). If a protocol (e.g., Wi-Fi Protected Access (WPA)) is used to secure the network, the network parameters may also include wireless security settings, such as a security key. Other example network parameters include a Media Access Control (MAC) address and a subnet mask. In some implementations, the file may include the address of a DHCP server, the subnet mask, and DHCP lease information (e.g., when a lease is obtained from the DHCP server and / or when the lease expires). Other network parameters may also be stored in the file.

[0082] As described above, the example first playback device establishes a network connection to perform operations (e.g., receive control commands from a control device (e.g., control device 300)) or to retrieve media content for playback. Therefore, in preparation for such operations, after a reboot, the first playback device can access first network parameters as part of a power-on or startup sequence. After accessing the first network parameters (possibly in response to accessing the first network parameters), the first playback device can attempt to establish a network connection using those first network parameters.

[0083] Figure 6 An example system 600 is illustrated, in which implementation 500 (and other implementations described herein) can be practiced. As shown, system 600 includes playback devices 602, 604, and 606. Playback devices 602, 604, and 606 may represent playback devices of a media playback system, interconnected via a local area network provided by access point 608. Figure 6Other devices not shown may also connect to the local area network provided by access point 608. Such devices may include control devices, additional playback devices, and other types of network client devices.

[0084] like Figure 6 As shown, system 600 also includes an access point 608 that facilitates the local area network (LAN). In some examples, access point 608 provides a first LAN in infrastructure (site) mode, where client devices communicate with each other through the access point. Alternatively, access point 608 represents a node in a peer-to-peer mesh network. In such a network, one or more other nodes can connect to the mesh network via access point 608. Other examples are also possible.

[0085] In the example, playback device 604 can access the first network parameters from a file stored in its data storage device. Such first network parameters can include any of the example network parameters described above, as well as any other suitable network parameters. For example, the first network parameters can include network parameters for a first wireless local area network (e.g., SSID), the wireless channel, and the IP address for playback device 604. The first playback device can also obtain other network parameters from the file.

[0086] b. Determine that the first playback device cannot establish a valid network connection to the first local area network.

[0087] Return to reference Figure 5 At block 504, implementation 500 relates to determining that a first playback device cannot establish a valid network connection to a first local area network (LAN). For example, the first playback device may determine whether it can establish a valid network connection to the LAN in response to accessing a first network parameter from a file. As described above, in some cases, the first network parameter may become outdated. In this case, the first playback device may determine that it cannot establish a valid network connection to the LAN.

[0088] Determining that a first playback device cannot establish a valid network connection to a first local area network (LAN) may involve attempting to connect to the LAN using first network parameters obtained from a file in a data storage device. To reduce the possibility of false positives, the first playback device may repeatedly attempt to connect to the LAN. A threshold number of failed attempts can lead the first playback device to determine that it cannot establish a valid network connection. In some implementations, the first playback device may repeatedly attempt connections over a fairly long time window (e.g., a window longer than 30 seconds, such as a window of 60-120 seconds). Repeated connection attempts within such a time window reduce the possibility of false positives indicating that the first playback device cannot establish a valid network connection.

[0089] The first playback device can determine that it has established a “valid” network connection under any of many different conditions. For example, the first playback device can determine whether it has established a network connection to the access point of the first local area network in station mode. The first playback device can also determine whether it has established a network path to a wired network connection via a point-to-point mesh network using an IP address assigned by the access point (i.e., not a default or automatically assigned IP address, which may not indicate a valid network connection). The first playback device can also determine whether it has established a network connection to the control device. As part of the setup process, the first playback device can establish a point-to-point network connection with the control device. When establishing such a connection, the playback device can utilize a default or automatically assigned IP address. If the first playback device cannot establish a network connection under any of these conditions, the first playback device can determine that it cannot establish a “valid” network connection.

[0090] Return to reference Figure 6 In the example above, playback device 604 can determine whether it is unable to establish a network connection to the first wireless local area network using the first network parameters obtained from a file stored in its data storage device. For example, playback device 604 may attempt to connect to establish a valid network connection with access point 608. If playback device 604 is unable to establish a network connection (perhaps after repeated attempts within a time window), it can determine that it is unable to establish a network connection to the first wireless local area network using the first network parameters.

[0091] c. Broadcast probe request message

[0092] exist Figure 5 In block 506, implementation 500 relates to broadcasting a probe request message. For example, the first playback device may broadcast the probe request message on multiple wireless channels via a network interface (e.g., an IEEE 802.11-compliant wireless network interface). In some implementations, the first playback device broadcasts the probe request message in response to determining that the first playback device cannot establish a valid network connection to the first local area network.

[0093] A first playback device broadcasts a probe request message to attempt to reach one or more second playback devices on the same media playback system as the first playback device. Such second playback devices can be configured (e.g., programmed) to listen for probe request messages via a corresponding network interface and, in response to receiving a probe request message, send a response to the sender (i.e., the first playback device). Ultimately, the response may include second network parameters used by the second playback devices to establish a valid network connection to the specific local area network.

[0094] To increase the likelihood that one or more second playback devices will receive a probe request message, broadcasting the probe request message may involve broadcasting the probe request on multiple wireless channels. For example, a first playback device may broadcast a probe request message on one or more permitted channels in one or more frequency bands (e.g., channels 1-11 in the 2.4 GHz band). Permitted channels and frequency bands may vary by country and / or jurisdiction.

[0095] The probe request message may include various indications to a second playback device that receives the probe request message, providing information about the first playback device. For example, the probe request message may include an indication of the first playback device (e.g., the address of the first playback device). The probe request message may also include an indication that the first playback device has been lost. Such an indication may take the form of a sequence of characters or a flag that can be set to indicate whether the broadcast device has been lost (e.g., "1" if lost, "0" if not lost). The probe request message may also include a destination address (i.e., a broadcast address, such as 255.255.255.255, in an IPv4 network).

[0096] For example, the probe request message may also include an indication of the media playback system to which the first playback system belongs. The example media playback systems described herein may each have an assigned Home ID (HHID) that distinguishes a given media playback system (“Home”) from other media playback systems. Other types of identifiers can distinguish playback devices within a media playback system, such as region names, IP addresses, player IDs, or MAC addresses. The example media playback system may include one or more playback devices, but the system has a single HHID that identifies the system as a whole, regardless of whether the system includes one or more playback devices. The probe request message may include an indication of the Home ID (HHID) of the media playback system to which the first playback device belongs.

[0097] In some implementations, a probe request message may include (or consist of) a probe request frame. A probe request frame is a specific type of message defined in the 802.11 specification for scanning areas of an existing 802.11 network. The probe request frame may include various information elements that provide information about the first playback device to the second playback device receiving the probe request message. Such information elements may include the various indications described above, such as an indication that the first playback device is missing and an indication of the media playback system to which the first playback system belongs.

[0098] To illustrate, Figure 7AAn example probe request frame 700A is depicted, which a first playback device may broadcast in response to determining that it cannot establish a valid connection. Probe request frame 700A may conform to a specification (e.g., the IEEE 802.11 specification). Although probe request frame 700A may conform to a specification, it may also be modified for certain implementations. For example, the example probe request frame may include additional fields, or fields from an IEEE 802.11 probe request frame may be reused in this implementation.

[0099] As shown in the figure, within the MAC header, the probe request frame 700A includes frame control 702A, which can indicate the type of frame. The probe request frame 700A also includes duration 704A, with the duration of broadcast or multicast frames set to 0. The probe request frame 700A also includes a destination address (DA) 706A and a source address (SA) 708A, which indicate the destination (e.g., the broadcast address of all “f”) and source (e.g., the first playback device), respectively. The probe request frame 700A also includes a Basic Service Set (BSS) ID 710A. In the probe request message, the BSS ID can be set to a broadcast BSS ID (e.g., an all-1 BSSID). Frames using a broadcast BSSID are filtered through any BSSID, thus allowing the probe request message to reach any BSS within wireless range.

[0100] Within the frame body, the probe request frame 700A also includes a Service Set ID (SSID) 712A and a supported rate 714A. The station receiving the probe request (e.g., a second playback device) uses this information to determine whether the sending device (e.g., the first playback device) can join the network. The SSID 712A can be set to the SSID of a specific network or to join any compatible network. This field can be set to the HHID of the media playback system to which the first playback device belongs. If the first playback device can join multiple media playback systems, this field can include a list of HHIDs. In some implementations, the SSID of the wireless network of the interconnecting devices of the media playback systems can also be used as the HHID of the media playback system. Alternatively, it can be set to a broadcast SSID indicating that the first playback device is allowed to join any network. The probe request frame 700A also includes a rate 714A, which indicates the rate supported by the first playback device. The probe request frame 700A also includes a Frame Check Sequence (FCS) 716A, which is an error detection code added to the frame.

[0101] Return to reference Figure 6In the example introduced above, playback device 604 may broadcast a probe request message in response to determining that it cannot establish a valid network connection using first network parameters obtained from a file in a data storage device. The broadcast probe request message may indicate that playback device 604 belongs to a specific media playback system (e.g., a media playback system that also includes playback devices 602 and / or 606 and has a specific HHID). The broadcast probe request message may also indicate that playback device 604 is lost. Other indications are also possible, as described above.

[0102] d. Receive responses to probe request messages.

[0103] Refer again Figure 5 At block 508, implementation 500 relates to receiving a response to a probe request message. For example, a first playback device may receive a response to a probe request message from a second playback device via a network interface. The response to the probe request message indicates second network parameters.

[0104] Such second network parameters are the network settings used by the second playback device to establish a valid network connection to a specific local area network (LAN). In some cases, this LAN may be the first LAN to which the first playback device previously connected, using the first network parameters stored in a file. However, some parameters may have changed (e.g., the wireless channel), causing the first network parameters to become outdated. Alternatively, the second network parameters may indicate the network settings used by the second playback device to connect to the second LAN. For example, the first playback device may have moved between two homes (e.g., between a user's primary residence and a vacation home). These two homes may be associated with different HHIDs. The first LAN and the second LAN could be networks at the primary residence and vacation home, respectively (or vice versa).

[0105] As described above, if certain conditions are met, the second playback device that receives the probe request message can send a response to the received probe request message. A first condition could be that the second playback device is part of the same media playback system (home) as the first playback device. As mentioned above, the first playback device can indicate its home in the probe request message. Another condition could be that the second playback device has a valid network connection. In response to receiving the probe request message, the second playback device can determine whether it meets the appropriate conditions, and if so, send a response message to the probe request message.

[0106] In some cases, multiple second playback devices can receive probe request messages and determine if appropriate response conditions are met. Therefore, in some cases, the first playback device can receive multiple response messages. In various implementations, a second playback device that does not have a valid network connection in the home of the first playback device will not respond to the probe request message or will send a response without a second network parameter. The second playback device may send such a response to the source address indicated in the probe request message (e.g., the address indicated in the SA708A field).

[0107] In some implementations, a probe request message may include (or consist of) a probe request frame. A probe request frame is a specific type of message defined in the 802.11 specification for scanning areas of an existing 802.11 network. The probe request frame may include various information elements that provide information about the first playback device to the second playback device receiving the probe request message. Such information elements may include the various indications described above, such as an indication that the first playback device is missing and an indication of the media playback system to which the first playback system belongs.

[0108] To illustrate, Figure 7B An example probe response frame 700B is depicted, which a second playback device may send in response to receiving a probe request message (and possibly also in response to determining that one or more conditions are met). The probe response frame 700B may conform to a specification, such as the IEEE 802.11 specification. Although the probe response frame 700B may conform to a specification, it may also be modified for certain implementations. For example, the example probe response frame may include additional fields, or fields from the IEEE 802.11 probe response frame may be reused in this implementation.

[0109] As shown in the figure, within the MAC header, the probe response frame 700B includes frame control 702B and duration 704B. The probe response frame 700B also includes a destination address (DA) 706B and a source address (SA) 708B, which indicate the destination (e.g., the first playback device) and source (e.g., the second playback device) of the probe response frame 700B, respectively. The probe response frame 700B also includes a Basic Service Set (BSS) ID 710B. The BSS ID 710B can be set to the BSS of the specific local area network to which the second playback device is currently connected.

[0110] Within the frame body, the probe request frame 700B includes parameter 712B. Parameter 712B may indicate second network parameters of the local area network to which the second playback device has a valid connection. The first playback device can ultimately establish a valid connection by matching parameter 712B. In other examples, parameter 712B may include a timestamp (for synchronization), beacon interval, capability information, and SSID.

[0111] Return to reference Figure 6 In the example described above, playback device 604 can receive response messages from one or more of playback devices 602 and 606. For example, if playback device 602 receives a probe request message from playback device 604 and determines that it is part of the same household as playback device 604 and has a valid network connection, playback device 602 can responsively send a response message to playback device 604. The response message from playback device 602 can indicate that playback device 602 is using second network parameters for network connection (e.g., a WLAN created by access point 608).

[0112] e. Establish a valid connection to a specific network

[0113] Refer again Figure 5 At block 510, implementation 500 relates to establishing a valid network connection to a specific network. For example, a first playback device may establish a valid network connection via a wireless network interface using second network parameters in a response message received from a second playback device. The first playback device establishes a valid network connection to the same specific local area network (LAN) as the first playback device. This specific LAN may be a first LAN to which the first playback device previously connected using the first network parameters, or a second LAN to which the second playback device is now connected. In some implementations, the first playback device attempts to establish a connection using the second network parameters in response to receiving a response message.

[0114] The primary playback device can establish valid network connections to many different types of networks. In some instances, the network connection is a site-mode connection to an access point on a specific local area network (LAN). Alternatively, the network connection is a wireless network path using an IP address assigned by the access point to a wired network connection. This type of connection can be established when the specific LAN is a mesh peer-to-peer network between multiple playback devices in a media playback system. Other examples are also possible.

[0115] Return to reference Figure 6 In the previously discussed examples, playback device 604 can establish a valid connection to a network using second network parameters received from playback device 602. For example, playback device 604 can establish a valid connection to a WLAN created by access point 608. Other examples are also possible. For example, playback devices may be able to establish a valid connection to a peer-to-peer mesh network by connecting to playback device 602 (or playback device 606).

[0116] f. Add media playback system

[0117] Refer again Figure 5At box 512, implementation 500 relates to joining a media playback system. For example, a first playback device may join a media playback system that includes a second playback device. By joining the media playback system, the first playback device can be controlled by the control device of the media playback system. Furthermore, the first playback device can share state information (e.g., one or more state variables) with other playback devices in the media playback system and / or the control device of the media playback system.

[0118] Furthermore, joining the media playback system configures the first playback device to play back audio content using a valid network connection established to a specific local area network. For example, the first playback device can use the network connection to retrieve audio content from one or more audio sources registered with the media playback system. Additionally, the first playback device can use the network connection to synchronously play back media content with one or more second playback devices in the media playback system. For example, the first playback device can use the network connection to receive audio content and / or playback timing information.

[0119] Back to Figure 6 For example, after establishing a network connection, playback device 604 can join a media playback system that includes playback device 602 (and possibly playback device 606). Playback device 604 can then share status information with these playback devices and perform joint operations, such as playback. Furthermore, any control device connected to the playback system can now control playback device 604 via the established network connection.

[0120] As discussed herein, in the example media playback system, network parameters can be stored in corresponding files on the data storage device of each playback device in the media playback system. In some implementations, each file may also have a version number stored in the file. The version number may reflect the version of the network parameter stored in the file. Versioning network parameters can facilitate the use of the latest network parameters available in the media playback system.

[0121] For example, after receiving network parameters, the playback device can compare the version number of the received network parameters with the version number of the network parameters stored in the data storage device. If the version number of the received network parameters is newer, the playback device can use the received network parameters to update (e.g., replace) the network parameters stored in the file. For example, in box 508, after receiving a response message with second network parameters, the first playback device can compare the version number of the second network parameters with the version number of the first network parameters. If the version number of the second network parameters is newer, the first playback device can use the second network parameters to replace or otherwise update the file stored in the data storage device. The version number may be newer when it is larger, and / or if it is associated with a more recent timestamp. When replacing network parameters in the file, the first playback device can use those network parameters to establish a network connection (e.g., as described in box 510).

[0122] Furthermore, in some implementations, the playback device can copy network parameters between other playback devices. For example, a first playback device in a media playback system can determine the latest network parameters of the media playback system. Such determination may involve receiving messages from multiple playback devices of the media playback system via a network interface, indicating various network parameters stored in files on various data storage devices of multiple second playback devices. In some implementations, the first playback device receives such a message in response to a request for network parameters from a second playback device. In other examples, such a message may take the form of a probe request and probe response frame.

[0123] After receiving messages indicating various network parameters stored in files on the respective data storage devices of the second playback device, the first playback device can determine, based on the version numbers of the network parameters indicated in each received message, that a particular network parameter with a latest version number or associated with a more recent timestamp is the latest network parameter of the media playback system. For example, the playback device can compare the version numbers of the network parameters in its network settings file with the version numbers of the received network parameters. In response to determining that the latest network parameters of the media playback system are, the first playback device can update the network parameters in its stored files (if such network parameters are different). The first playback device can then use the updated network parameters to establish a valid network connection.

[0124] Furthermore, if one or more second playback devices send out older versions of network parameters, the first playback device can cause those playback devices to update their respective network parameters. For example, the first playback device can update at least one file stored in the data storage device of the second playback devices with the latest network parameters via the network interface. This update of the network parameters enables the second playback devices to establish a valid network connection to the specific WLAN using the latest network parameters.

[0125] V. Example implementation of re-establishing the connection of the playback device

[0126] As mentioned above, some example techniques may involve multiple playback devices. Figure 8 An example system 800 is illustrated, which includes playback devices 802, 804, and 806. Under the example techniques described herein (e.g., implementation 500), one or more of playback devices 802, 804, and 806 can re-establish a network connection using network parameters from another of playback devices 802, 804, or 806.

[0127] like Figure 8 As shown, system 800 also includes an access point 808 that facilitates the local area network. Playback device 802 is connected to access point 808 via an Ethernet (IEEE 802.3) or other wired network interface. Additionally, playback device 802 forms the root of a point-to-point mesh network via a wireless (IEEE 802.11) network interface. Playback device 804 is configured to connect to access point 808 via a wireless point-to-point connection to playback device 802. Similarly, playback device 806 is configured to connect to access point 808 via a wireless point-to-point connection to playback device 804 (as described above, playback device 804 is also configured to connect to playback device 802).

[0128] Network parameters reflecting these network configurations for each playback device are stored in corresponding files in the data storage device of each playback device. In the example, when playback device 802 loses power or is otherwise unavailable, the wireless channels of playback devices 804 and 806 are updated to different channels (e.g., from channel 6 to channel 11). Therefore, the network parameters in the file in playback device 802's data storage device indicate different channels, and thus, while playback device 804 attempts to establish a point-to-point connection to playback device 802 on channel 11, playback device 802 attempts to establish a point-to-point connection with playback device 804 on channel 6. Due to this difference in wireless channels, playback devices 804 and 806 cannot establish a network connection.

[0129] As described above in conjunction with embodiment 500, in operation, the example playback device determines whether it can establish a valid connection (e.g., after obtaining network parameters from a file in a data storage device, possibly after power-on). In the above example, playback device 804 and playback device 806 can each determine whether they can establish a valid network connection. Given the differences in the aforementioned wireless channels, playback device 804 and playback device 806 can each determine that they cannot establish a valid network connection. Playback device 804 and playback device 806 can use any suitable technique to make this determination, for example, as described above in conjunction with embodiment 500. Figure 5 The example technology described in box 504.

[0130] After determining that a valid network connection cannot be established, playback device 804 attempts to re-establish the connection. Specifically, playback device 804 broadcasts a probe request message (e.g., such as...). Figure 5 (As described in box 506). In response to the probe request message, playback device 804 can receive a response with network parameters from playback device 802 (e.g., as shown in box 506). Figure 5 (The response message described in box 508). These network parameters indicate that playback device 802 is using channel 6.

[0131] Similarly, after determining that a valid network connection cannot be established, playback device 806 attempts to re-establish the connection. Specifically, playback device 806 broadcasts a probe request message (e.g., such as...). Figure 5 (As described in box 506). However, unlike playback device 804, playback device 806 is not within the wireless range of playback device 802. Therefore, playback device 806 does not receive a response from playback device 802 to the probe request message broadcast by playback device 806. Playback device 806 also does not receive probe request messages with network parameters from playback device 804 because playback device 804 does not have a network connection (i.e., playback device 804 is lost).

[0132] On the other hand, having received a response with network parameters from playback device 802, playback device 804 uses those network parameters to attempt to re-establish the connection. Specifically, playback device 804 switches to channel 6, which is the wireless channel indicated in the response message from playback device 802 (and used by playback device 802). Then, playback device 804 obtains an IP address and establishes a valid network connection to access point 808 via playback device 802.

[0133] However, as described above, after setting playback device 802 to channel 6, playback devices 804 and 806 are updated to wireless channel 11. Therefore, the version number of the network parameters stored in the file on playback device 804 is newer than the version number of the network parameters stored in the file on playback device 802. Thus, when playback device 802 and playback device 804 establish a connection, playback device 802 can receive network parameters from playback device 804 and determine that these network parameters are newer than its own stored network parameters. Therefore, playback device 802 can update its own network parameters using the network parameters from playback device 804. This allows playback device 802 to use wireless channel 11.

[0134] When playback device 802 switches to wireless channel 11, playback device 804 may lose its network connection with playback device 802 because playback device 804 is now using wireless channel 6. Having lost its network connection with playback device 802, playback device 804 can repeatedly attempt to reconnect within a time window. If those connection attempts fail, playback device 804 can again determine that it cannot establish a valid network connection.

[0135] In response to determining that a valid network connection cannot be established, playback device 804 broadcasts another probe request message. In response to the probe request message, playback device 804 can receive a response with network parameters from playback device 802. These network parameters indicate that playback device 802 is using channel 11. Playback device 804 uses those network parameters to attempt to re-establish the connection. Specifically, playback device 804 switches to channel 11, which is the wireless channel indicated in the response message from playback device 802. Playback device 804 then obtains an IP address and re-establishes a valid network connection to access point 808 via playback device 802.

[0136] Once playback device 804 is using channel 11, playback device 806 can establish a network connection to playback device 804 (because playback device 806 is still on channel 11). This allows playback device 806 to establish a valid network connection to access point 808 via playback device 804 (and playback device 802). At this point, playback devices 802, 804, and 806 have all established network connections using the latest network parameters available in the media playback system.

[0137] If the network parameters stored on playback device 806 indicate that playback device 806 should use channel 1 instead of channel 11, playback device 806 will broadcast another probe request message. Playback device 804 will send a response to this probe request message, indicating that it is using channel 11. Then, playback device 806 will switch to channel 11.

[0138] Furthermore, if the version number of the network parameters stored in playback device 806 is newer than the corresponding version number of the network parameters stored in playback devices 802 and 804, then these network parameters will be copied to playback device 804 (and eventually to 802) using the techniques described above.

[0139] VI. Example Techniques for Establishing a Connection to a New Access Point

[0140] As described above, some example techniques may involve the playback device re-establishing a network connection. Because the example playback device stores its network settings in a corresponding file on a data storage device, the playback device wirelessly connected to the initial access point will not immediately update its IP address when the access point is replaced. Instead, such a playback device may retain its network parameters until the next DHCP update (which could be a lease of several days or weeks). Therefore, the playback device wirelessly connected to the initial access point will lose its network connection. Figure 9 Implementation 900 is presented to facilitate the re-establishment of network connectivity when an access point (e.g., a wireless router) is replaced.

[0141] a. It has been determined that the first access point has been replaced by the second access point.

[0142] At block 902, implementation 900 relates to determining that a first access point has been replaced by a second access point. For example, a playback device configured to connect to the first access point via a wireless network connection (e.g., via network parameters stored on the playback device) can determine that the first access point has been replaced by the second access point. In some cases, the first and second access points are different physical devices that are assigned IP addresses in different subnets. For example, the first access point is assigned an IP address in the 192.168.xy subnet, while the second access point is assigned an IP address in the 10.10.xy subnet. Alternatively, the first and second access points may be the same physical device that has been reconfigured to lease IP addresses in different subnets.

[0143] To illustrate, Figure 10 An example system 1000 is shown, which includes playback devices 1002, 1004, 1006, and 1008. Figure 10As shown, system 1000 also includes an access point 1010 that facilitates the local area network. Playback device 1002 is connected to access point 1010 via an Ethernet (IEEE 802.3) or other wired network interface. Additionally, playback device 1002 forms the root of a point-to-point mesh network via a wireless (IEEE 802.11) network interface. Playback device 1004 is configured to connect to access point 1010 via a wireless point-to-point connection to playback device 1002. Similarly, playback device 1006 is configured to connect to access point 1010 via a wireless point-to-point connection to playback device 1004 (as described above, playback device 1004 is also configured to connect to playback device 1002). Playback device 1008 is also configured to connect to access point 1010 via a wireless point-to-point connection to playback device 1002. Network devices (e.g., set-top boxes, smart TVs, or any other network devices) are connected to playback device 1008 via a wired Ethernet connection. This allows network device 1012 (via playback devices 1008 and 1002) to obtain a connection to access point 1010.

[0144] However, when access point 1010 is updated to assign an IP address in a different subnet (or is replaced by a new access point assigning an IP address in the second subnet), playback device 1002 receives the IP address in the second subnet via its wired Ethernet connection to access point 1010. However, because playback devices 1004, 1006, and 1008 are configured to use IP addresses from the initial (first) subnet, these playback devices lose their network connection to playback device 1002. Furthermore, these playback devices may not immediately obtain an IP address in the second subnet (e.g., until their DHCP lease expires, which could be a considerable period, such as 24 hours or more). During this period, playback devices 1004, 1006, and 1008 will be lost.

[0145] Furthermore, due to its wired connection to network device 1012, playback device 1008 can broadcast that it has a wired connection. In response, playback devices 1004 and 1006 can attempt to establish a valid network connection with playback device 1008 via their respective mesh point-to-point connections. However, because network device 1012 is not an access point, such a connection will not allow playback devices 1004 and 1006 (or playback device 1008) to establish a valid network connection.

[0146] Re-establishing a network connection when replacing access point 1010 may involve one or more of playback devices 1004, 1006, and 1008, after determining that access point 1010 has been replaced or reconfigured to assign an IP address in a different subnet. Upon identifying this situation, one or more of playback devices 1004, 1006, and 1008 can ultimately connect to the new IP address, obtain an IP address in the new subnet, and re-establish a valid network connection.

[0147] Determining that the first access point has been replaced by the second playback device may involve monitoring DHCP frames. A DHCP client (e.g., a playback device) can initiate a DHCP connection by broadcasting a DHCP Discover message. When a DHCP server (e.g., an access point) receives a DHCP Discover message (which is actually an IP address lease request), the server reserves an IP address for the client and offers the lease by sending a DHCP Offer message to the client. The client responds to the DHCP Offer message by broadcasting a DHCP Request requesting the offered address.

[0148] In an example implementation, the example playback device can monitor DHCP request frames received via a network interface (e.g., via a wireless network interface) that have a portion of the DHCP request frames set to a DHCP server ID. DHCP request frames are broadcast, allowing the playback device to receive them. Furthermore, the DHCP request frame includes a field containing the DHCP server ID (e.g., the IP address of the DHCP server). Upon receiving a DHCP request frame, the playback device can determine whether a DHCP server ID has been set and whether the DHCP server ID in the received DHCP request frame differs from the DHCP server ID stored in a file on a data storage device. If the DHCP server ID in the received DHCP request frame differs from the DHCP server ID stored in a file on the data storage device, the playback device can determine that the DHCP server (i.e., the access point) has been changed (i.e., replaced or reconfigured).

[0149] b. Connect to the second access point

[0150] Return to reference Figure 9 At box 904, implementation 900 relates to connecting to a second access point. For example, in response to determining that the first access point has been replaced by the second access point, the playback device may attempt to connect to the second access point. Attempting to connect to the second access point may involve the playback device broadcasting a DHCP discovery message. As described above, broadcasting such a DHCP discovery message initiates a DHCP connection process, which ultimately results in the playback device obtaining a new IP address.

[0151] For example, return to reference Figure 10 In response to determining that access point 1010 has been replaced (or reconfigured), one or more of playback devices 1004, 1006, and / or 1008 may attempt to connect to the new access point. For example, playback device 1004 may broadcast a DHCP discovery message, which can be received by the new access point. The new access point can then continue the DHCP connection process.

[0152] c. Request an IP address in the second subnet.

[0153] exist Figure 9 In block 906, implementation 900 relates to requesting an IP address in a second subnet. For example, in response to receiving a DHCP offer message from a second access point, the playback device may broadcast a DHCP request message. The DHCP offer message includes fields indicating the client's MAC address, the offered IP address, the subnet mask, the lease term, and the IP address of the DHCP server offering the offer.

[0154] For example, refer to again Figure 10 The playback device 1004, playback device 1006, and / or playback device 1008 requests an IP address in a subnet of the local area network provided by the second access point. For example, playback device 1004 may broadcast a DHCP request message, which can be received by the new access point. The new access point can then continue the DHCP connection process.

[0155] In some cases, multiple DHCP servers may reside on the same subnet. To identify this, the playback device can determine that the estimated network of the playback device provided by the second access point is different from the current network of the playback device provided by the first access point. For example, to determine the current network of the playback device, the playback device can perform an AND operation between the current IP address and subnet mask of the playback device, both of which are stored in a network configuration file in a data storage device. Then, to determine the estimated network of the playback device, the playback device can perform an AND operation between the current new IP address of the playback device (i.e., the IP address in the second subnet) and the subnet mask. The playback device can then compare the estimated network of a third playback device with the current network of the third playback device to determine whether there are two DHCP servers on the same subnet. If so, the playback device can update its IP address or take other measures to connect to the desired DHCP server.

[0156] d. Establish a network connection to the second access point.

[0157] Refer again Figure 9At box 908, implementation 900 relates to establishing a network connection to a second access point. For example, the playback device can receive a DHCP acknowledgment from a DHCP server. The DHCP acknowledgment includes further configuration information used by the playback device to configure its network interface for communication on the local area network provided by the DHCP server.

[0158] For example, return to reference Figure 10 In response to determining that access point 1010 has been replaced (or reconfigured), one or more of playback devices 1004, 1006, and / or 1008 may attempt to establish a network connection to the new access point. For example, playback device 1004 may receive DHCP acknowledgments from a DHCP server and configure its network interface to use the network parameters indicated in the received message. Playback device 1004 may store these network parameters in a network settings file on a data storage device.

[0159] VII. Conclusion

[0160] The above description discloses, in particular, various example systems, methods, apparatuses, and articles of art, including, especially, firmware and / or software executed on hardware. It should be understood that these examples are illustrative only and should not be considered limiting. For example, it is conceivable that any one or all of these firmware, hardware, and / or software aspects or components may be implemented specifically in hardware, specifically in software, specifically in firmware, or in any combination of hardware, software, and / or firmware. Therefore, the examples provided are not the only ways to implement these systems, methods, apparatuses, and / or articles of art.

[0161] (Feature 1) A method comprising accessing first network parameters from a file stored in a data storage device of a first playback device, the first network parameters including: (i) a Service Set Identifier (SSID) identifying a first wireless local area network (WLAN); (ii) a wireless channel; and (iii) an IP address for a network interface, wherein the first playback device previously established a valid network connection on the first WLAN using the first network parameters; determining that the first playback device cannot establish a valid network connection to the first WLAN using the first network parameters, wherein determining that the first playback device cannot establish a valid network connection to the first WLAN includes attempting to connect to the first WLAN via the wireless network interface using the first network parameters; and, in response to determining that the first playback device cannot establish a valid network connection to the first WLAN, via... The network interface broadcasts probe request messages on multiple wireless channels; receives a response to the probe request messages from a second playback device via a wireless network interface, the response indicating second network parameters assigned to the network interface of the second playback device to establish a valid network connection to a specific WLAN, wherein the specific WLAN is one of: (a) the first WLAN or (b) the second WLAN, and wherein the second wireless parameters include the wireless channel of the specific WLAN; establishes a valid network connection to the specific WLAN via the wireless network interface using the second network parameters; and joins a media playback system including the second playback device via the established valid network connection to the specific WLAN, wherein the first playback device is configured to play back audio content using the established valid connection to the specific WLAN.

[0162] (Feature 2) The method according to Feature 1 further includes: after establishing a valid network connection to the specific WLAN using the second network parameters: determining the latest network parameters of the media playback system, wherein determining the latest network parameters of the media playback system includes: receiving, via the network interface, messages from a plurality of playback devices of the media playback system indicating various network parameters stored in files in various data storage devices of the plurality of playback devices; and determining a specific network parameter having a latest version number as the latest network parameter of the media playback system based on various version numbers of the network parameters indicated in each received message; and in response to determining the latest network parameters of the media playback system, and if the specific network parameters are different from the second network parameters, establishing a valid network connection to the specific WLAN via the wireless network interface using the specific network parameter having the latest version number.

[0163] (Feature 3) According to the method of feature 2, wherein the second network parameter is determined as the latest network parameter of the media playback system, and wherein the operation further includes: updating at least one file stored in a data storage device of at least one additional playback device using the second network parameter via the network interface, wherein updating at least one file stored in a data storage device of at least one additional playback device using the second network parameter enables the at least one additional playback device to establish a valid network connection to the specific WLAN using the second network parameter.

[0164] (Feature 4) According to the method of feature 1, determining that the first playback device cannot establish a valid network connection to the first WLAN includes: repeatedly attempting to connect to the first WLAN via the wireless network interface using the first network settings within a time window, wherein the time window lasts for at least 30 seconds.

[0165] (Feature 5) According to the method of Feature 1, determining that the first playback device cannot establish a valid network connection to the first WLAN includes determining that the first playback device cannot establish the valid network connection via one of the following: (a) a network connection to an access point of the first WLAN in site mode; (b) a network path to a wired network connection using an IP address assigned by the access point; or (c) a network connection to a control device configured to control the playback of audio content by the first playback device, the network connection using an IP address automatically assigned by the first playback device.

[0166] (Feature 6) According to the method of feature 5, wherein the first WLAN comprises a mesh peer-to-peer network among a plurality of playback devices in the media playback system.

[0167] (Feature 7) According to the method of feature 1, wherein establishing a valid network connection to the specific WLAN using the second network parameters includes one of the following: (a) a network connection to the access point of the specific WLAN in site mode, or (b) a network path to a wired network connection using an IP address assigned by the access point, wherein the specific WLAN comprises a mesh peer-to-peer network between multiple playback devices of the media playback system.

[0168] (Feature 8) A tangible, non-transitory computer-readable medium storing instructions executable by one or more processors to cause a device to perform the method described in any one of features 1-7.

[0169] (Feature 9) An apparatus configured to perform the method of any one of features 1-7.

[0170] (Feature 10) A media playback system configured to perform the method described in any one of Features 1-7.

[0171] (Feature 11) A method performed in a media playback system, the media playback system comprising: a first playback device connected to an access point via a wired connection; and a second playback device configured to connect to the access point via a wireless peer-to-peer connection to the first playback device, the method comprising: determining that the second playback device cannot establish a valid network connection to the access point via the wireless peer-to-peer connection to the first playback device using first network parameters; in response to determining that the second playback device cannot establish a valid network connection to the access point, broadcasting a probe request message on a plurality of wireless channels via a network interface of the second playback device; receiving a response to the probe request message from the first playback device via the wireless network interface, the response to the probe request message indicating second network parameters assigned to the network interface of the first playback device, wherein the second network parameters are different from the first network parameters; and establishing a valid network connection to the access point via the wireless network interface using the second network parameters via the wireless peer-to-peer connection to the first playback device.

[0172] (Feature 12) The method according to feature 11 further includes: after establishing a valid network connection to the access point using the second network parameters, determining that the second playback device cannot establish a valid network connection to the access point using the second network parameters via a wireless peer-to-peer connection to the first playback device; in response to determining that the second playback device cannot establish a valid network connection to the access point, broadcasting another probe request message on a plurality of wireless channels via the network interface of the second playback device; receiving a response to the probe request message from the first playback device via the wireless network interface, the response to the other probe request message indicating the first network parameters; and establishing a valid network connection to the access point using the first network parameters via a wireless peer-to-peer connection to the first playback device via the wireless network interface.

[0173] (Feature 13) According to the method of feature 12, after the second playback device establishes a valid network connection to the access point via a wireless peer-to-peer connection to the first playback device using the second network parameters, it is determined that the first network parameters are a newer version than the second network parameters; and in response to determining that the first network parameters are a newer version than the second network parameters, the first network parameters are assigned to the network interface of the first playback device, wherein assigning the first network parameters to the network interface of the first playback device prevents the second playback device from establishing a valid network connection to the access point via a wireless peer-to-peer connection to the first playback device based on the difference between the first and second network parameters.

[0174] (Feature 14) The method according to feature 13 further includes: receiving the second network parameter from the second playback device via the network interface of the first playback device, wherein the second network parameter is represented in a file stored in a data storage device of the second playback device; and wherein assigning the first network parameter to the network interface of the first playback device includes: updating the network parameter representing the file stored in the data storage device of the first playback device from the second network parameter to the first network parameter.

[0175] (Feature 15) The method according to feature 12 further includes: determining that the third playback device cannot establish a valid network connection to the access point via a wireless peer-to-peer connection to the second playback device using the first network parameters; in response to determining that the third playback device cannot establish a valid network connection to the access point, broadcasting a probe request message on a plurality of wireless channels via a network interface of the third playback device; receiving a response to the probe request message from the second playback device via the wireless network interface, the response to the probe request message indicating the first network parameters; and after receiving the response to the probe request, and after the second playback device establishes a valid network connection to the access point via a wireless peer-to-peer connection to the first playback device using the first network parameters, establishing a valid network connection to the access point via a wireless peer-to-peer connection to the second playback device via the wireless network interface using the first network parameters.

[0176] (Feature 16) A tangible, non-transitory computer-readable medium storing instructions executable by one or more processors to cause one or more devices to perform the method described in any one of features 11-15.

[0177] (Feature 17) An apparatus configured to perform the method of any one of features 11-15.

[0178] (Feature 18) A media playback system configured to perform the method described in any one of Features 11-15.

[0179] (Feature 19) A method performed in a media playback system, comprising: a first playback device connected to an access point via a wired connection; and a second playback device configured to connect to the access point via a wireless peer-to-peer connection to the first playback device, the method comprising: determining that the second playback device, using first network parameters, cannot establish a valid network connection to the access point via the wireless peer-to-peer connection to the first playback device; in response to determining that the second playback device cannot establish a valid network connection to the access point, broadcasting a probe request message on a plurality of wireless channels via the network interface; receiving a response to the probe request message from the first playback device via the wireless network interface, the response to the probe request message indicating second network parameters assigned to the network interface of the first playback device, wherein the second network parameters are different from the first network parameters; and establishing a valid network connection to the access point via the wireless network interface using the second network parameters via the wireless peer-to-peer connection to the first playback device.

[0180] (Feature 20) The method according to feature 19 further includes: after establishing a valid network connection to the access point using the second network parameters, determining that the second playback device cannot establish a valid network connection to the access point using the second network parameters via a wireless peer-to-peer connection to the first playback device; in response to determining that the second playback device cannot establish a valid network connection to the access point, broadcasting another probe request message on a plurality of wireless channels via a network interface of the second playback device; receiving a response to the probe request message from the first playback device via the wireless network interface, the response to the other probe request message indicating the first network parameters; and establishing a valid network connection to the access point using the first network parameters via a wireless peer-to-peer connection to the first playback device via the wireless network interface.

[0181] (Feature 21) The method according to feature 20 further includes: after establishing a valid network connection to the access point via a wireless peer-to-peer connection to the first playback device using the second network parameters, sending the first network parameters to the first playback device via the network interface, wherein sending the first network parameters to the first playback device causes the first playback device to assign the first network parameters to the network interface of the first playback device based on the first network parameters being a newer version than the second network parameters.

[0182] (Feature 22) According to the method of feature 20, wherein establishing a valid network connection to the access point using the second network parameters via a wireless peer-to-peer connection to the first playback device comprises: updating the network parameters represented by a file stored in a data storage device of the second playback device from the first network parameters to the second network parameters, and wherein establishing a valid network connection to the access point using the first network parameters via a wireless peer-to-peer connection to the first playback device comprises: updating the network parameters represented by a file stored in a data storage device of the second playback device from the second network parameters to the first network parameters.

[0183] (Feature 23) The method according to feature 19 further includes: before establishing a valid network connection with the access point via a wireless peer-to-peer connection to the first playback device using the second network parameters: receiving a probe request message from the third playback device via the network interface; and in response to receiving the probe request message from the third playback device, sending a response to the probe request message to the third playback device via the wireless network interface, the response to the probe request message indicating the first network parameters, wherein sending the response to the probe request message causes the third playback device to attempt to establish a valid network connection to the access point via a wireless peer-to-peer connection to the second playback device using the first network parameters.

[0184] (Feature 24) A tangible, non-transitory computer-readable medium storing instructions executable by one or more processors to cause one or more devices to perform the method described in any one of features 19-23.

[0185] (Feature 25) An apparatus configured to perform the method of any one of features 19-23.

[0186] (Feature 26) A media playback system configured to perform the method described in any one of features 19-23.

[0187] (Feature 27) A method comprising: determining that a first access point has been replaced by a second access point, wherein the second access point is configured to allocate an IP address in a second subnet, the second subnet covering an IP address range different from that of the first subnet; in response to determining that the first access point has been replaced by the second access point, connecting to the second access point via a network interface; after connecting to the second access point, requesting an IP address in the second subnet via the network interface; and establishing a network connection to the second access point via the network interface using the IP address in the second subnet via a wireless peer-to-peer connection to the first playback device.

[0188] (Feature 28) The method according to feature 27, wherein the first DHCP server IP address of the first access point is stored in a file on a data storage device, wherein determining that the first access point has been replaced by the second access point includes: monitoring, in DHCP request frames received via the network interface, a specific DHCP request frame in which a portion of the DHCP request frame is set to the second DHCP server IP address; and determining that the second DHCP server IP address set in the specific DHCP request frame is different from the first DHCP server IP address stored in a file on the data storage device, wherein the file represents network parameters including the DHCP server IP address.

[0189] (Feature 29) According to the method of feature 27, determining that the first access point has been replaced by the second access point further includes: determining that the estimated network provided by the second access point is different from the current network provided by the first access point.

[0190] (Feature 30) According to the method of feature 29, determining that the estimated network provided by the second access point is different from the current network provided by the first access point includes: determining the current network; determining the estimated network; and comparing the estimated network with the current network.

[0191] (Feature 31) According to the method of feature 27, requesting an IP address in the second subnet includes: broadcasting a DHCP discovery message to initiate a new wireless peer-to-peer connection with a second access point having the IP address of the first DHCP server.

[0192] (Feature 32) According to the method of feature 27, requesting an IP address in the second subnet includes: determining that the lease of an IP address in the first subnet has expired; and in response to determining that the lease of an IP address in the first subnet has expired, renewing the IP address lease using a first access point having the IP address of the first DHCP server.

[0193] (Feature 33) A tangible, non-transitory computer-readable medium storing instructions executable by one or more processors to cause one or more devices to perform the method described in any one of features 27-32.

[0194] (Feature 34) An apparatus configured to perform the method of any one of features 27-32.

[0195] (Feature 35) A media playback system configured to perform the method described in any one of features 27-32.

[0196] This specification is set forth primarily in terms of illustrative environments, systems, processes, steps, logical blocks, handling, and other symbolic representations that are directly or indirectly similar to the operation of data processing devices coupled to a network. These processing descriptions and representations are commonly used by those skilled in the art to disseminate their work to others skilled in the art. Various specific details are set forth to provide a thorough understanding of this disclosure. However, those skilled in the art will understand that specific, concrete details are not required to practice this disclosure. In other instances, well-known methods, processes, components, and circuits have not been described to avoid unnecessarily obscuring aspects of the embodiments. Therefore, the scope of this disclosure is defined by the appended claims, rather than by the description of the embodiments above.

[0197] When any of the appended claims is understood to cover pure software and / or firmware implementations, at least one element in at least one example is expressly defined herein to include non-transitory tangible media for storing software and / or firmware, such as memory, DVD, CD, Blu-ray, etc.

Claims

1. A method for a first playback device (102-124, 200, 602-606) in a media playback system (100), the method comprising: The first playback device accesses first network parameters from a file stored in the data storage device of the first playback device, wherein the first playback device previously used the first network parameters to establish a valid network connection to the first local area network; The first playback device determines that it cannot establish a valid network connection to the first local area network using the first network parameters; Receive one or more messages indicating second network parameters, wherein the second network parameters are used by one or more second playback devices to establish a valid network connection to a second local area network; The first playback device uses the second network parameters to establish a valid network connection to the second local area network; and The second network parameter is copied among other playback devices in the media playback system.

2. The method according to claim 1, comprising: In response to determining that the first playback device cannot establish a valid network connection to the first local area network, the first playback device broadcasts a probe request message to the one or more second playback devices; as well as The first playback device receives the second network parameters from the one or more second playback devices in response to the probe request message.

3. The method according to claim 2, wherein, Copying the second network parameter between other playback devices includes: Based on the corresponding version number of the second network parameter indicated in each received message, it is determined that one or more of the second playback devices sent network parameters that are lower than the latest network parameter version; and The first playback device updates at least one file stored in the data storage device of the second playback device with the latest network parameters via a network interface.

4. The method according to claim 2, wherein, The detection request message includes an instruction from the media playback system.

5. The method according to claim 2, wherein, The probe request message and the response conform to the IEEE 802.11 specification.

6. The method according to any one of claims 1-5, wherein, The second network parameter includes a specific wireless channel.

7. The method according to any one of claims 1-5, wherein, The file is associated with a version number of the corresponding network parameters stored in the file, and the method further includes: Compare the version number of the second network parameter with the version number of the network parameter stored in the file; and If the version number of the second network parameter is newer than the version number of the network parameter stored in the file, then the file stored in the data storage device of the first playback device is replaced or updated with the second network parameter.

8. The method according to any one of claims 1-5, wherein, The first playback device determines that it cannot establish a valid network connection to the first local area network using the first network parameters if any of the following are true: Before determining that the first playback device cannot establish a valid network connection, attempt to connect to the first local area network up to a threshold number of times; and Before determining that the first playback device cannot establish the valid network connection, repeatedly attempt to connect to the first local area network during a specific time window.

9. The method according to any one of claims 1-5, wherein, When the first playback device is unable to establish a valid network connection to the first local area network, the control device of the playback system has limited or no control over the first playback device.

10. The method according to any one of claims 1-5, wherein, The determination that the first playback device cannot establish a valid network connection to the first local area network occurs in response to accessing the first network parameters from the file.

11. The method according to any one of claims 1-5, wherein, The first network parameters include: Service Set Identifier (SSID) identifies a wireless local area network (WLAN). Wireless channels; and The IP address of the first playback device.

12. The method according to any one of claims 2-5, wherein, The first playback device broadcasts the probe request message through multiple wireless channels.

13. A computer-readable medium (206) having instructions stored thereon, the instructions being executable by one or more processors (202) to cause a playback device (102-124, 200, 602-606) to perform the method of any one of claims 1 to 12.

14. A first playback device (102-124, 200, 602-606), comprising: processor; as well as A memory storing instructions that can be executed by the processor to cause the first playback device to perform the method of any one of claims 1 to 12.