IP Library Granted Patent US 8,423,659
Granted Patent B2
US 8,423,659 · App. 13/298,090 · Granted Apr 16, 2013

Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,423,659
App. No.
13/298,090
Granted
Apr 16, 2013
Kind
B2
Abstract

In a system for distributing data, distribution device is configured to distribute timestamp, offset and source location information for a digital data stream to an execution device, and the execution device is configured to seek digital data corresponding to the received information. The execution device is further configured to execute the digital data relative to a clock rate maintained by the distribution device. Related methods include receiving timestamp, offset and source location information for the digital data stream and seeking digital data corresponding to the received offset and source location information.

Claims (35)

1. A digital media apparatus comprising:

a first independently clocked execution device forming part of a synchrony group over a local network, the synchrony group to include at least first and second independently clocked execution devices to play digital data in synchrony,

the first independently clocked execution device configured to:

retrieve, independent of the second independently clocked execution device, the digital data from a digital data source based on a digital data source location, wherein the digital data is not forwarded by the first independently clocked execution device over the local network for execution by the second independently clocked execution device in the synchrony group; and

play the digital data in synchrony with the remainder of the execution devices in the synchrony group based at least in part on timing information used by the synchrony group,

wherein the first independently clocked execution device is to continue to retrieve the digital data from the digital data source based on a subsequent offset computed from a starting offset associated with the digital data source and to correlate the retrieved digital data with subsequent offset and timing information received in a subsequent message.

2. The apparatus of claim 1 , wherein a data forwarding restriction limits an ability for the first independently clocked execution device to provide the digital data to the second independently clocked execution device forming the synchrony group.

3. The apparatus of claim 2 , wherein the data forwarding restriction comprises digital rights management.

4. The apparatus of claim 1 , wherein the digital data includes frames and corresponding samples received from the digital data source in response to a request by the first independently clocked execution device.

5. The apparatus of claim 1 , wherein the first independently clocked execution device is further configured to execute the digital data relative to an external clock rate.

6. The apparatus of claim 5 , wherein the first independently clocked execution device is further configured to adjust a number of samples per frame of the digital data in relation to the external clock rate.

7. The apparatus of claim 5 , wherein the first execution device is further configured to adjust a clock rate of the first independently clocked execution device in relation to the external clock rate.

8. The apparatus of claim 1 , wherein the first independently clocked execution device further comprises an audio information buffer, wherein received timing information is to be adjusted relative to a rate of change in the audio information buffer, and wherein the first independently clocked execution device is further configured to execute the digital data relative to the rate of change.

9. The apparatus of claim 1 , wherein the first independently clocked execution device is a master execution device configured to control distribution of digital data source location, offset, and timing information.

10. The apparatus of claim 9 , further comprising a user interface module configured to control the master execution device.

11. The apparatus of claim 9 , wherein the master execution device is configured to enable another execution device to join the synchrony group.

12. The apparatus of claim 1 , wherein the master execution device is configured to designate another execution device as a new master execution device.

13. A method comprising:

retrieving, at a first independently clocked execution device independent of a second execution device, digital data from a digital data source based on a digital data source location, wherein the first independently clocked execution device and the second independently clocked execution device form at least part of a synchrony group over a local network to play the digital data in synchrony, and wherein the digital data is not forwarded by the first independently clocked execution device over the local network for execution by the second independently clocked execution device in the synchrony group; and

playing, at the first independently clocked execution device, the digital data in synchrony with the remainder of the execution devices in the synchrony group based at least in part on timing information used by the synchrony group,

wherein first independently clocked execution device is to continue to retrieve the digital data from the digital data source based on a computed offset and to correlate the retrieved digital data with subsequent offset and timing information received in a subsequent message.

14. The method of claim 13 , wherein a data forwarding restriction limits an ability for a single device to provide the digital data to the second independently clocked execution device forming the synchrony group.

15. The method of claim 14 , wherein the data forwarding restriction comprises digital rights management.

16. The method of claim 13 , wherein the digital data includes frames and corresponding samples received from the digital data source in response to a request by the first independently clocked execution device.

17. The method of claim 13 , further comprising executing, at the first independently clocked execution device, the digital data relative to an external clock rate.

18. The method of claim 17 , further comprising adjusting, at the first independently clocked execution device, a number of samples per frame of the digital data in relation to the external clock rate.

19. The method of claim 17 , further comprising adjusting, at the first independently clocked execution device, a clock rate of the first independently clocked execution device in relation to the external clock rate.

20. The method of claim 13 , further comprising adjusting received timing information relative to a rate of change in an audio information buffer associated with the first independently clocked execution device, and executing, at the first independently clocked execution device, the digital data relative to the rate of change.

21. The method of claim 13 , wherein the first independently clocked execution device is a master execution device configured to control distribution of digital data source location, offset, and timing information.

22. The method of claim 21 , further comprising enabling, via the master execution device, addition of another execution device to the synchrony group.

23. The method of claim 13 , further comprising adjusting a timestamp relative to a clock rate maintained by the first independently clocked execution device.

24. The method of claim 23 , further comprising executing the digital data relative to the clock rate maintained by the first independently clocked execution device.

25. The method of claim 13 , further comprising substituting a rate of change of an audio information buffer for the clock rate at the first independently clocked execution device.

26. The method of claim 25 , further comprising adjusting a number of samples per frame of the digital data in relation to the rate of change in the audio information buffer.

27. The method of claim 25 , further comprising adjusting a clock rate of the first independently clocked execution device in relation to the rate of change in the audio information buffer.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Oct 18, 2021
From: JPMORGAN CHASE BANK, N.A.
To: SONOS, INC.
Reel/Frame 058213/0597 →
SECURITY AGREEMENT Recorded Oct 15, 2021
From: SONOS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058123/0206 →
RELEASE OF SECURITY INTEREST Recorded Jul 25, 2018
From: GORDON BROTHERS FINANCE COMPANY
To: SONOS, INC.
Reel/Frame 046625/0882 →
SECURITY INTEREST Recorded Apr 1, 2016
From: SONOS, INC.
To: GORDON BROTHERS FINANCE COMPANY
Reel/Frame 038329/0253 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2015
From: SONOS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 037112/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2013
From: MILLINGTON, NICHOLAS A.J.
To: SONOS, INC.
Reel/Frame 029656/0692 →