US-20260129381-A1 - STATE INFORMATION EXCHANGE AMONG CONNECTED DEVICES
Abstract
A system comprises a plurality of playback devices. Each playback device comprises one or more processors; and one or more storage devices that comprise instruction code that is executable by at least one of the one or more processors. Instruction code executed by one or more processors of a particular primary playback device (PPD) causes the particular PPD to: receive state information from a particular secondary playback device (SPD). The state information specifies a state associated with at least one aspect of the particular SPD. After receiving a subscription from one or more other PPDs for the state of the particular aspect of the particular SPD, the particular PPD communicates the state information that specifies the state of the particular aspect of the particular SPD to the one or more other PPDs.
Inventors
- Steven Beckhardt
- Luis Vega-Zayas
- Ted Lin
- Jonathan Herbst
Assignees
- SONOS, INC.
Dates
- Publication Date
- 20260507
- Application Date
- 20230929
Claims (20)
- 1 - 22 . (canceled)
- 23 . A system comprising a plurality of playback devices, wherein each playback device comprises: one or more processors; and one or more storage devices that comprise instruction code that is executable by at least one of the one or more processors, wherein instruction code executed by one or more processors of a particular primary playback device (PPD) causes the particular PPD to: receive state information from a particular secondary playback device (SPD), wherein the state information specifies a state associated with at least one aspect of the particular SPD, and after receiving a subscription from one or more other PPDs for the state of the particular aspect of the particular SPD, communicate the state information that specifies the state of the particular aspect of the particular SPD to the one or more other PPDs.
- 24 . The system according to claim 23 , further comprising a plurality of PPDs, wherein the instruction code that causes the particular PPD to communicate the state information to one or more other PPDs causes the particular PPD to: communicate the state information that specifies the state of the particular aspect of the particular SPD to every PPD of the plurality of PPDs.
- 25 . The system according to claim 23 , wherein instruction code executed by one or more processors of the particular SPD causes the particular SPD to: after the state of the particular aspect of the SPD has changed, communicate the state information that specifies the state of the particular aspect of the SPD to the PPD.
- 26 . The system according to claim 23 , wherein the instruction code executed by the one or more processors of the particular PPD causes the particular PPD to: receive a subscription from the particular SPD for the state associated with a particular aspect of one or more other playback devices; communicate a subscription to one or more other PPDs for the state associated with the particular aspect of the one or more other playback devices; receive the state information associated with the subscription from the one or more other PPDs; and communicate the state information to the particular SPD.
- 27 . The system according to claim 23 , further comprising: a plurality of PPDs; and a plurality of SPDs, wherein each PPD of the plurality of PPDs is grouped with a different subset of the plurality of SPDs, and wherein the PPD of each group communicates timing information to the SPDs of the group to facilitate playback of audio content on the playback devices of the group in synchrony.
- 28 . The system according to claim 23 , wherein the state information comprises a multilevel syntax that specifies the at least one aspect of the particular SPD and a corresponding state of the at least one aspect, and wherein the subscription comprises a multilevel syntax that specifies the particular aspect for which the state is desired.
- 29 . The system according to claim 28 , wherein the multilevel syntax comprises one or more wildcards.
- 30 . The system according to claim 29 , wherein the multilevel syntax uniquely identifies a particular playback device.
- 31 . The system according to claim 23 , wherein each of the plurality of devices specifies different categories of state information, wherein a first category of state information of each of the plurality of devices is propagated to each other playback device of the plurality of playback devices via the particular PPD and the one or more other PPDs.
- 32 . The system according to claim 31 , wherein the first category of state information specifies a network address of a playback device.
- 33 . The system according to claim 31 , wherein a second category of state information of each of the plurality of devices is propagated only to the particular PPD and the one or more other PPDs.
- 34 . The system according to claim 33 , wherein the second category of state information specifies a battery level of a playback device.
- 35 . A system comprising a plurality of playback devices, wherein each playback device comprises: one or more processors; and one or more storage devices that comprise instruction code that is executable by at least one of the one or more processors, wherein instruction code executed by one or more processors of a particular primary playback device (PPD) causes the particular PPD to: receive state information from a particular secondary playback device (SPD), wherein the state information specifies a state associated with at least one aspect of the particular SPD, and after receiving a subscription from one or more global state aggregation devices (GSADs) for the state of the particular aspect of the particular SPD, communicate the state information that specifies the state of the particular aspect of the particular SPD to the one or more GSADs, wherein instruction code executed by one or more processors of the one or more GSADs causes the one or more GSADs to: after receiving a subscription from one or more other GSADs for the state of the particular aspect of the particular SPD, communicate the state information to the one or more other GSADS.
- 36 . The system according to claim 35 , further comprising a plurality of GSADs, wherein the instruction code that causes the one or more GSADs to communicate the state information to the one or more other GSADs causes the one or more GSADs to: communicate the state information that specifies the state of the particular aspect of the particular SPD to every GSAD of the plurality of GSADs.
- 37 . The system according to claim 35 , wherein the instruction code executed by the one or more processors of the particular PPD causes the particular PPD to: after receiving a subscription from the particular SPD for the state associated with a particular aspect of another playback device, communicate the subscription to the one or more GSADs, and after receiving state information from the one or more GSADs associated with the subscription, communicate the state information to the particular SPD.
- 38 . The system according to claim 35 , further comprising: a plurality of PPDs; and a plurality of GSADs, wherein every GSAD of the plurality of GSADs communicates subscriptions to every PPD of the plurality of the PPDs and every PPD of the plurality of the PPDs communicates subscriptions to every GSAD of the plurality of GSADs.
- 39 . The system according to claim 35 , further comprising: a plurality of PPDs; and a plurality of GSADs, wherein every GSAD of the plurality of GSADs communicates subscriptions to every other GSAD of the plurality of GSADs and each PPD of the plurality of the PPDs communicates subscriptions to a single GSAD of the plurality of GSADs.
- 40 . The system according to claim 35 , wherein a first plurality of playback devices are capable of simultaneously operating as both a PPD and a GSAD, wherein the instruction code executed by one or more processors of a particular playback device of the first plurality of playback devices causes the particular playback device to: determine a rank based on one or more attributes of the particular playback device; after the rank of the particular playback device is determined to be higher than a rank of a second playback device of the first plurality of playback devices, operate as a GSAD; and after the rank of the particular playback device is determined to be lower than the rank of the second playback device, operate as a PPD and allow the second playback device to operate as a GSAD.
- 41 . The system according to claim 40 , wherein the one or more playback device attributes correspond to one or more of: a type of the particular playback device, a storage capacity of the playback device, a location of the particular playback device, and a network identifier of the particular playback device.
Description
CROSS REFERENCE TO RELATED APPLICATIONS This application claims priority to (i) U.S. Provisional App. 63/377,978, titled “Broker/Subscriber Model for Information Sharing and Management Among Connected Devices,” filed on Sep. 30, 2022; (ii) U.S. Provisional App. 63/377,979, titled “Multiple Broker Deployment for Information Sharing and Management Among Connected Devices,” filed on Sep. 30, 2022; (iii) U.S. Provisional App. 63/513,735, titled “State Information Exchange Among Connected Devices,” filed on Jul. 14, 2023; (iv) U.S. Provisional App. 63/377,899, titled “Multichannel Content Distribution,” referred to as Docket No. 22-0207p (0400042), filed on Sep. 30, 2022; (v) U.S. Provisional App. 63/377,948, titled “Playback System Architecture,” referred to as Docket No. 21-0703p (0401247), filed on Sep. 30, 2022; (vi) U.S. Provisional App. 63/377,967, titled “Playback Systems with Dynamic Forward Error Correction,” referred to as Docket No. 22-0401p (0403973), filed on Sep. 30, 2022; (vii) U.S. Provisional App. 63/502,347, filed May 15, 2023, and titled “Area Zones.” The entire content of these applications is incorporated herein by reference in its entirety. Aspects of the features and functions disclosed and described in the above-identified applications can be used in combination with the examples disclosed and described herein and with each other in some instances to improve the functionality and performance of playback systems including playback systems having large numbers of playback devices. FIELD OF THE DISCLOSURE The present disclosure is related to consumer goods and, more particularly, to methods, systems, products, features, services, and other elements directed to media playback systems, media playback devices, and aspects thereof. BACKGROUND Options for accessing and listening to digital audio in an out-loud setting were limited until 2002 when SONOS, Inc. began development of a new type of playback system. Sonos then filed one of its first patent applications in 2003, titled “Method for Synchronizing Audio Playback between Multiple Networked Devices,” and began offering its first media playback systems for sale in 2005. The Sonos Wireless Home Sound System enables people to experience music from many sources via one or more networked playback devices. Through a software control application installed on a controller (e.g., smartphone, tablet, computer, voice input device), individuals can play most any music they like in any room having a networked playback device. Media content (e.g., songs, podcasts, video sound) can be streamed to playback devices such that each room with a playback device can play back corresponding different media content. In addition, rooms can be grouped together for synchronous playback of the same media content, and/or the same media content can be heard in all rooms synchronously. BRIEF DESCRIPTION OF THE DRAWINGS Features, aspects, and advantages of the presently disclosed technology may be better understood with regard to the following description, appended claims, and accompanying drawings, as listed below. A person skilled in the relevant art will understand that the features shown in the drawings are for purposes of illustrations, and variations, including different and/or additional features and arrangements thereof, are possible. FIG. 1A shows a partial cutaway view of an environment having a media playback system configured in accordance with aspects of the disclosed technology. FIG. 1B shows a schematic diagram of the media playback system of FIG. 1A and one or more networks. FIG. 1C shows a block diagram of a playback device. FIG. 1D shows a block diagram of a playback device. FIG. 1E shows a block diagram of a network microphone device. FIG. 1F shows a block diagram of a network microphone device. FIG. 1G shows a block diagram of a playback device. FIG. 1H shows a partially schematic diagram of a control device. FIGS. 1-I through 1L show schematic diagrams of corresponding media playback system zones. FIG. 1M shows a schematic diagram of media playback system areas. FIG. 2A shows a front isometric view of a playback device configured in accordance with aspects of the disclosed technology. FIG. 2B shows a front isometric view of the playback device of FIG. 3A without a grille. FIG. 2C shows an exploded view of the playback device of FIG. 2A. FIG. 3A shows a front view of a network microphone device configured in accordance with aspects of the disclosed technology. FIG. 3B shows a side isometric view of the network microphone device of FIG. 3A. FIG. 3C shows an exploded view of the network microphone device of FIGS. 3A and 3B. FIG. 3D shows an enlarged view of a portion of FIG. 3B. FIG. 3E shows a block diagram of the network microphone device of FIGS. 3A-3D FIG. 3F shows a schematic diagram of an example voice input. FIGS. 4A-4D show schematic diagrams of a control device in various stages of operation in accordance with aspects of the disclosed technology.