System and method for synchronizing simultaneous media stream playback across nonsynchronized network timing/clock islands
Title: | System and method for synchronizing simultaneous media stream playback across nonsynchronized network timing/clock islands |
---|---|
Patent Number: | 8,984,154 |
Publication Date: | March 17, 2015 |
Appl. No: | 11/864582 |
Application Filed: | September 28, 2007 |
Abstract: | A system and method for synchronizing simultaneous media stream playback across disjoint network timing/clock islands. An embodiment of a method includes determining a closest device to a source device in a network communications path between the source device and one or more target devices. Here, clocks of the closest device and the one or more target devices are synchronized and a clock of the source device is not necessarily synchronized with the clocks of the closest device and the one or more target devices. A current time for the closest device is then determined. A start time is assigned to at least the current time plus a maximum latency across the network communications path. A data stream and the start time are sent to the one or more target devices for rendering. Other embodiments are described and claimed. |
Inventors: | Stanton, Kevin B. (Hillsboro, OR, US) |
Assignees: | Intel Corporation (Santa Clara, CA, US) |
Claim: | 1. A method, comprising: determining, by a source device, a closest device to the source device in a network communications path between the source device and one or more target devices, wherein the target devices represent audio or video devices capable of rendering media data, and wherein clocks of the closest device and the one or more target devices are synchronized and wherein a clock of the source device is not synchronized with the clocks of the closest device and the one or more target devices; determining a current time for the closest device; assigning a start time to be at least the current time plus a maximum latency across the network communications path, wherein the start time represents the time at which the target devices are to render the media data; and sending the media data and the start time to the one or more target devices, wherein the closeness of the closest device to the source device represents proximity in the topology of the network, and wherein said determining of the closest device, said determining of the current time, said assigning, and said sending are performed by the source device. |
Claim: | 2. The method of claim 1 , wherein the one or more target devices are configured to use the start time to render the media data. |
Claim: | 3. The method of claim 1 , wherein the clocks of the closest device and the one or more target devices are synchronized with one of an Institute of Electrical and Electronics Engineers (IEEE) 802.1AS time synchronization protocol, an IEEE 1588 time synchronization protocol and a Network Time Protocol (NTP) time synchronization protocol. |
Claim: | 4. The method of claim 1 , wherein the closest device is determined via one of a Link Layer Discovery Protocol (LLDP) and a Universal Plug and Play (UPnP) protocol. |
Claim: | 5. The method of claim 1 , wherein the one or more target devices are each one of a speaker, a personal computer, a printer, a laptop computer, a personal digital assistant (PDA), an audio/video tuner and a microphone. |
Claim: | 6. A system, comprising: a source device; one or more target devices wherein the target devices represent audio or video devices capable of rendering media; data; a network communications path between the source device and one or more target devices; and a closest device in the network communications path to a source device in the network communications path between the source device and the one or more target devices, the closest device determined by the source device, wherein the closeness of the closest device to the source device represents proximity in the topology of the network, wherein clocks of the closest device and the one or more target devices are synchronized, wherein a clock of the source device is not synchronized with the clocks of the closest device and the one or more target devices, wherein the source device is configured to determine a current time for the closest device, wherein the source device is configured to assign a start time to be at least the current time plus a maximum latency across the network communications path, wherein the start time represents the time at which the target devices are to render the media data and wherein the source device is configured to send the media data and the start time to the one or more target devices. |
Claim: | 7. The system of claim 6 , wherein the one or more target devices are configured to use the start time to render the media data. |
Claim: | 8. The system of claim 6 , wherein the clocks of the closest device and the one or more target devices are synchronized with one of an Institute of Electrical and Electronics Engineers (IEEE) 802.1AS time synchronization protocol, an IEEE 1588 time synchronization protocol and a Network Time Protocol (NTP) time synchronization protocol. |
Claim: | 9. The system of claim 6 , wherein the closest device is determined via one of a Link Layer Discovery Protocol (LLDP) and a Universal Plug and Play (UPnP) protocol. |
Claim: | 10. The system of claim 6 , wherein the one or more target devices are each one of a speaker, a personal computer, a printer, a laptop computer, a personal digital assistant (PDA), an audio/video tuner and a microphone. |
Claim: | 11. An apparatus, comprising: a processor to determine a closest device to the processor in a network communications path between the processor and one or more target devices, wherein the target devices represent audio or video devices capable of rendering media data, wherein the closeness of the closest device to the processor represents proximity in the topology of the network, wherein clocks of the closest device and the one or more target devices are synchronized, wherein a clock of the processor is not synchronized with the clocks of the closest device and the one or more target devices, wherein the processor is configured to determine a current time for the closest device, wherein the processor is configured to assign a start time to be at least the current time plus a maximum latency across the network communications path, wherein the start time represents the time at which the target devices are to render the media data, and wherein the processor is configured to send the media data and the start time to the one or more target devices. |
Claim: | 12. The apparatus of claim 11 , wherein the one or more target devices are configured to use the start time to render the media data. |
Claim: | 13. The apparatus of claim 11 , wherein the clocks of the closest device and the one or more target devices are synchronized with one of an Institute of Electrical and Electronics Engineers (IEEE) 802.1AS time synchronization protocol, an IEEE 1588 time synchronization protocol and a Network Time Protocol (NTP) time synchronization protocol. |
Claim: | 14. The apparatus of claim 11 , wherein the closest device is determined via one of a Link Layer Discovery Protocol (LLDP) and a Universal Plug and Play (UPnP) protocol. |
Claim: | 15. The apparatus of claim 11 , wherein the one or more target devices are each one of a speaker, a personal computer, a printer, a laptop computer, a personal digital assistant (PDA), an audio/video tuner and a microphone. |
Claim: | 16. A non-transitory machine-readable medium containing instructions which, when executed by a processing system, cause the processing system to perform a method, the method comprising: determining, by a source device, a closest device to the source device in a network communications path between the source device and one or more target devices, wherein the target devices represent audio or video devices capable of rendering media data, and wherein clocks of the closest device and the one or more target devices are synchronized and wherein a clock of the source device is not synchronized with the clocks of the closest device and the one or more target devices; determining a current time for the closest device; assigning a start time to be at least the current time plus a maximum latency across the network communications path wherein the start time represents the time at which the target devices are to render the media data; and sending the media data and the start time to the one or more target devices, wherein the closeness of the closest device to the source device represents proximity in the topology of the network. |
Claim: | 17. The non-transitory machine-readable medium of claim 16 , wherein the one or more target devices are configured to use the start time to render the media data. |
Claim: | 18. The non-transitory machine-readable medium of claim 16 , wherein the clocks of the closest device and the one or more target devices are synchronized with one of an Institute of Electrical and Electronics Engineers (IEEE) 802.1AS time synchronization protocol, an IEEE 1588 time synchronization protocol and a Network Time Protocol (NTP) time synchronization protocol. |
Claim: | 19. The non-transitory machine-readable medium of claim 16 , wherein the closest device is determined via one of a Link Layer Discovery Protocol (LLDP) and Universal Plug and a Play (UPnP) protocol. |
Claim: | 20. The non-transitory machine-readable medium of claim 16 , wherein the one or more target devices are each one of a speaker, a personal computer, a printer, a laptop computer, a personal digital assistant (PDA), an audio/video tuner and a microphone. |
Current U.S. Class: | 709/231 |
Patent References Cited: | 7194010 March 2007 Beasley et al. 7454218 November 2008 Mo et al. 8144711 March 2012 Pegrum et al. 2002/0018475 February 2002 Ofek et al. 2002/0080828 June 2002 Ofek et al. 2002/0080829 June 2002 Ofek et al. 2006/0156375 July 2006 Konetski 2007/0180137 August 2007 Rajapakse 2007/0226530 September 2007 Celinski et al. 2008/0112439 May 2008 Vestal 2008/0144515 June 2008 Ouellette et al. 2008/0168470 July 2008 Bushell et al. 2009/0015304 January 2009 Yin et al. 101415071 April 2009 102008048649 April 2009 |
Other References: | Mills, David L. “Network Time Protocol (Version 3) Specification, Implimentation and Analysis.” [Retreived online on Nov. 10, 2009] Mar. 1992. [Retreived from the Internet] Congdon, Paul. “Link Layer Discovery Protocol and MIB.” [Retreived online on Nov. 10, 2009] Mar. 7, 2002. [Retreived from the Internet] Office Action issued in corresponding Chinese application, 200810178573.8, mailed Aug. 3, 2011; 10 pages. cited by applicant Office Action received for Chinese Patent Application No. 200810178573.8, mailed on Dec. 27, 2013, 10 pages of Office Action including 6 pages of English Translation. cited by applicant Office Action Received for Chinese Patent application No. 200810178573.8, mailed on May 20, 2013, 7 pages of Office Action including 4 pages of English Translation. cited by applicant Office Action Received for Chinese Patent application No. 200810178573.8, mailed on Nov. 26, 2010, 4 pages of Office Action and 5 pages of English Translation. cited by applicant Office Action Received for German Patent application No. 10 2008 048 649.3, mailed on Apr. 17, 2012, 7 pages of Office Action and 6 pages of English Translation. cited by applicant Walker, Mark et al., “RemoteUIServerDevice:1 Device Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Sep. 2, 2004, 11 pages. cited by applicant Ee, Jan Van et al., “RemoteUIServer:1 Service Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Sep. 2, 2004, 20 pages. cited by applicant Iyer, Prakash et al., “InternetGatewayDevice:1 Device Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Nov. 12, 2001, 15 pages. cited by applicant Warrier, Ulnas et al., “LANDevice:1 Device Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Nov. 12, 2001, 9 pages. cited by applicant Blaszczak, Mike et al., “LANHostConfigManagement:1 Service Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Nov. 12, 2001, 27 pages. cited by applicant Iyer, Prakash et al., “Layer3Forwarding:1 Service Template Version 1.01”, for UPnP™Version 1.0, Standardized DCP, Nov. 12, 2001, 14 pages. cited by applicant Schmitz, Matthew et al., “WANCableLinkConfig:1 Service Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Nov. 12, 2001, 25 pages. cited by applicant Warrier, Ulnas et al., “WANCommonlnterfaceConfig:1 Service Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Nov. 12, 2001, 24 pages. cited by applicant Pennerath, Frédéric, “WANConnectionDevice:1 Device Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Nov. 12, 2001, 13 pages. cited by applicant Warrier, Ulhas et al., “WANDevice:1 Device Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Nov. 12, 2001, 12 pages. cited by applicant Pennerath, Frédéric, “WANDSLLinkConfig:1 Service Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Nov. 12, 2001, 27 pages. cited by applicant Iyer, Prakash, “WANEthernetLinkConfig:1 Service Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Nov. 12, 2001, 10 pages. cited by applicant Schmitz, Matthew et al., “WANIPConnection:1 Service Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Nov. 12, 2001, 74 pages. cited by applicant Warrier, Ulhas, “WANPOTSLinkConfig:1 Service Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Nov. 12, 2001, 21 pages. cited by applicant Presser, Alan et al., “UPnP™ Device Architecture 1.1”, Oct. 15, 2008, 136 pages. cited by applicant Allegro Software Development Corporation, et al., “UPnP Device Architecture 1.0”, Apr. 24, 2008, 80 pages. cited by applicant Warrier, Ulhas et al., “WANPPPConnection:1 Service Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Nov. 12, 2001, 89 pages. cited by applicant Ritchie, John et al., “ContentSync:1 Service Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Jul. 14, 2009, 111 pages. cited by applicant Nguyen, Bich et al., “InboundConnectionConfig:1 Service”, for UPnP™ Version 1.0, Standardized DCP, Document Version: 1.0, Service Template Version: 2.00, Sep. 30, 2009, 21 pages. cited by applicant Russell, Bill et al., “Remote Access Architecture:1”, for UPnP™ Version 1.0, Standardized DCP, Document Version: 1.0, Service Template Version: 2.00, Sep. 30, 2009, 30 pages. cited by applicant Nguyen, Bich et al., “RAClient:1 Device”, for UPnP™ Version 1.0, Standardized DcCP, Document Version: 1.0, Device Template Version: 2.00, Sep. 30, 2009, 13 pages. cited by applicant Nguyen, Bich et al., “RADAConfig:1 Service”, for UPnP™ Version 1.0, Standardized DCP, Document Version: 1.0, Service Template Version: 2.00, Sep. 30, 2009, 20 pages. cited by applicant Microsoft Corporation, “UPnP Device Architecture © 1999-2002 V1.0 Annex A—IP Version 6 Support”, 2002, 11 pages. cited by applicant Lawrence, Scott, “Basic:1.0 Device Definition Version 1.0”, for UPnP™ Version 1.0, Template Design Complete, Dec. 12, 2002, 7 pages. cited by applicant Saint-Hilaire, Ylian et al., “RemoteUIClientDevice:1 Device Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Sep. 2, 2004, 11 pages. cited by applicant Saint-Hilaire, Ylian et al., “RemoteUIClient:1 Service Template Version 1.01”, for UPnP™ Version 1.0, Standardized DCP, Sep. 2, 2004, 29 pages. cited by applicant “DeviceType:V Device Template Version 1.01”, for UPnP™ Version 1.0, [Design Start (TDS); Preliminary Design (TPD); Design Complete V.9 (TDC); Approved], Jan. 16, 2001, 11 pages. cited by applicant “ServiceType:V Service”, for UPnP™ Version 1.0, New Project Proposal (NP)|Working Draft (WD)|Committee Draft (CD)|Final Committee Draft (FCD)|Proposed DCP (PDCP)|Standardized DCP (SDCP), Service Template Version 2.00., 2008, 27 pages. cited by applicant Timing and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks, IEEE P802.1AS/D7.2, (Aug. 18, 2010), 294 pages. cited by applicant Office Action received for Chinese Application No. 200810178573.8, mailed on Mar. 2, 2010, 4 Pages of Office Action and 6 Pages of English Translation. cited by applicant Notice of Allowance Received for Chinese Patent Application No. 200810178573.8, mailed on Jul. 7, 2014, 4 pages of Notice of Allowance and 2 pages of English Translation. cited by applicant |
Primary Examiner: | Jean, Frantz |
Attorney, Agent or Firm: | Garrett IP, LLC |
Accession Number: | edspgr.08984154 |
Database: | USPTO Patent Grants |
Language: | English |
---|