throbber
RCS file: /Users/implicit/Desktop/Source Code/cvs_strings/beads/timesync/main/clocksync.c,v
`Working file: bdk/beads/timesync/main/clocksync.c
`head: 1.32
`branch:
`locks: strict
`access list:
`symbolic names:
`BUILD_20060123: 1.32
`BUILD_20050908: 1.32
`BUILD_20050817: 1.32
`BUILD_20050722: 1.32
`BUILD_20050718: 1.32
`BUILD_20050627: 1.32
`BUILD_20050605: 1.32
`TRAVIS_20050527: 1.32.0.22
`dev_NewSchema-branch: 1.32.0.20
`rd_GuiToolkit-branch: 1.32.0.18
`ALL_20050422: 1.32
`TRIO_20050418: 1.32
`TRIO_20050404: 1.32
`blackfin-branch: 1.32.0.16
`TRIO-20041130: 1.32
`RADKIT_GOLD_0042: 1.32.0.14
`BEADS_SILVER_0056: 1.32
`RADKIT_GOLD_0041: 1.32.0.12
`BEADS_SILVER_0055: 1.32
`RADKIT_GOLD_0040: 1.32.0.10
`BEADS_SILVER_0054: 1.32
`BANDON_20040413: 1.32.0.8
`RADKIT_GOLD_0039: 1.32.0.6
`BEADS_SILVER_0053: 1.32
`BANDON_20040329: 1.32.0.4
`RADKIT_GOLD_0038: 1.32.0.2
`BEADS_SILVER_0052: 1.32
`RADKIT_GOLD_0037: 1.31.0.52
`BEADS_SILVER_0051: 1.31
`RADKIT_GOLD_0036: 1.31.0.50
`BEADS_SILVER_0050: 1.31
`RADKIT_GOLD_0035: 1.31.0.48
`BEADS_SILVER_0049: 1.31
`RADKIT_GOLD_0034: 1.31.0.46
`BANDON_20031224: 1.31.0.44
`BANDON_20031219: 1.31.0.42
`BANDON_20031214: 1.31.0.40
`
`Page 1 of 8
`
`Implicit Exhibit 2030
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`BANDON_20031204: 1.31.0.38
`BANDON_20031103: 1.31.0.36
`BANDON_20031024: 1.31.0.34
`BANDON_20031014: 1.31.0.32
`BEADS_SILVER_0048: 1.31
`BEADS_SILVER_0047: 1.31
`RADKIT_GOLD_0033: 1.31.0.30
`BANDON_20030903: 1.31.0.28
`BEADS_SILVER_0046: 1.31
`RADKIT_GOLD_0032: 1.31.0.26
`BEADS_SILVER_0045: 1.31
`RADKIT_GOLD_0031: 1.31.0.24
`BEADS_SILVER_0044: 1.31
`RADKIT_GOLD_0030: 1.31.0.22
`BANDON_20030815: 1.31.0.20
`BEADS_SILVER_0042: 1.31
`RADKIT_GOLD_0029: 1.31.0.18
`BEADS_SILVER_0041: 1.31
`RADKIT_GOLD_0028: 1.31.0.16
`BEADS_SILVER_0040: 1.31
`BEADS_SILVER_0039: 1.31
`RADKIT_GOLD_0026: 1.31.0.14
`BEADS_SILVER_0038: 1.31
`RADKIT_GOLD_0025: 1.31.0.12
`BEADS_SILVER_0037: 1.31
`RADKIT_GOLD_0024: 1.31.0.10
`BEADS_SILVER_0036: 1.31
`RADKIT_GOLD_0023: 1.31.0.8
`BEADS_SILVER_0035: 1.31
`RADKIT_GOLD_0022: 1.31.0.6
`BEADS_SILVER_0034: 1.31
`RADKIT_GOLD_0021: 1.31.0.4
`BEADS_SILVER_0033: 1.31
`RADKIT_GOLD_0020: 1.31.0.2
`BEADS_SILVER_0032: 1.31
`RADKIT_GOLD_0019: 1.30.0.4
`BEADS_SILVER_0031: 1.30
`RADKIT_GOLD_0018: 1.30.0.2
`BEADS_SILVER_0030: 1.30
`RADKIT_GOLD_0017: 1.29.0.2
`BEADS_SILVER_0029: 1.29
`RADKIT_GOLD_0016: 1.28.0.2
`BEADS_SILVER_0028: 1.28
`RADKIT_GOLD_0015: 1.26.0.2
`
`Page 2 of 8
`
`Implicit Exhibit 2030
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`BEADS_SILVER_0027: 1.26
`
`RADKIT_GOLD_0014: 1.18.0.2
`
`BEADS_SILVER_0026: 1.18
`
`RADKIT_GOLD_0013: 1.17.0.2
`
`BEADS_SILVER_0025: 1.17
`
`RADKIT_GOLD_0012: 1.16.0.4
`
`BEADS_SILVER_0024: 1.16
`
`RADKIT_GOLD_0011: 1.16.0.2
`
`BEADS_SILVER_0023: 1.16
`
`RADKIT_GOLD_0010_INTERNAL: 1.16
`
`BEADS_SILVER_0022: 1.16
`
`RADKIT_GOLD_0009: 1.14.0.6
`
`BEADS_SILVER_0021: 1.14
`
`BEADS_SILVER_0020: 1.14
`
`RADKIT_GOLD_0008_INTERNAL: 1.14
`
`BEADS_SILVER_0019: 1.14
`
`RADKIT_GOLD_0007: 1.14.0.4
`
`BEADS_SILVER_0018: 1.14
`
`BEADS_SILVER_0017: 1.14
`
`RADKIT_GOLD_0006: 1.14.0.2
`
`BEADS_SILVER_0016: 1.14
`
`RADKIT_GOLD_0005_INTERNAL: 1.14
`
`BEADS_SILVER_0015: 1.14
`
`RADKIT_GOLD_0004_INTERNAL: 1.14
`
`BEADS_SILVER_0014: 1.14
`
`RADKIT_GOLD_0003_INTERNAL: 1.14
`
`BEADS_SILVER_0013: 1.14
`
`RADKIT_GOLD_0002: 1.13.0.4
`
`BEADS_SILVER_0012: 1.13
`
`BEADS_SILVER_0011: 1.13
`
`RADKIT_GOLD_0001: 1.13.0.2
`
`BEADS_SILVER_0010: 1.13
`
`BEADS_SILVER_0009: 1.12
`
`BEADS_SILVER_0008: 1.11
`
`BEADS_SILVER_0007: 1.8
`
`BEADS_SILVER_0006: 1.4
`
`SILVER: 1.32
`
`keyword substitution: kv
`total revisions: 32;
`selected revisions: 32
`description:
`----------------------------
`revision 1.32
`date: 2004-03-09 21:45:51 -0600; author: build; state: Exp; lines: +60 -131;
`Fix GCC type-punning warnings, which are new as of GCC 3.3.2.
`
`Page 3 of 8
`
`Implicit Exhibit 2030
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Fix coding convention violations (mostly whitespace)
`----------------------------
`revision 1.31
`date: 2002-06-10 15:30:07 -0500; author: davidc; state: Exp; lines: +22 -2;
`Added a printout for when the epoch of a remote render clock, which is probably a master
`clock, changes by more than five milliseconds, since this has a noticable effect on
`synchornization.
`----------------------------
`revision 1.30
`date: 2002-05-31 15:01:28 -0500; author: davidc; state: Exp; lines: +7 -5;
`Added the value of the master clock epoch to the "Encoding Master Clock Epoch" DEBUGOUT.
`----------------------------
`revision 1.29
`date: 2002-05-24 18:38:54 -0500; author: davidc; state: Exp; lines: +5 -5;
`Made it so that the MasterClockOffset is treated as a signed value.
`----------------------------
`revision 1.28
`date: 2002-05-17 14:50:30 -0500; author: davidc; state: Exp; lines: +4 -2;
`Added the value of the master clock offset to the SOS_DEBUGOUT_DETAIL that said when the
`decode edge received a master clock offset.
`----------------------------
`revision 1.27
`date: 2002-05-17 14:24:20 -0500; author: davidc; state: Exp; lines: +84 -12;
`Added code to send updates to the "MasterClockOffset" path attribute from the source to the
`sink.
`----------------------------
`revision 1.26
`date: 2002-05-10 11:54:03 -0500; author: davidc; state: Exp; lines: +2 -102;
`Removed the deprecated ClockSync[MasterEncode] and ClockSync[SlaveEncode] edges.
`----------------------------
`revision 1.25
`date: 2002-05-09 17:21:54 -0500; author: davidc; state: Exp; lines: +59 -45;
`Added a new flag, FLAG_ISMASTERPATHISVALID, which determines if the FLAG_ISMASTERPATH
`should be ignored or not. This makes it so that loopback packets don't have to set
`FLAG_ISMASTERPATH, which eliminates the risk of the sink changing the master-ness state on
`the source.
`----------------------------
`revision 1.24
`date: 2002-05-09 13:44:00 -0500; author: davidc; state: Exp; lines: +8 -2;
`Added code to set the FLAG_ISMASTERPATH flag when the Encode edge detects that it belongs
`to the master path.
`----------------------------
`revision 1.23
`date: 2002-05-09 12:35:57 -0500; author: davidc; state: Exp; lines: +4 -9;
`
`Page 4 of 8
`
`Implicit Exhibit 2030
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Changed the routine that determines the master-ness of the current path to use
`SOS_ISAMPLECLOCK::IsSameAs, instead of a simple pointer comparison.
`----------------------------
`revision 1.22
`date: 2002-05-09 12:28:34 -0500; author: davidc; state: Exp; lines: +24 -7;
`Added comments.
`----------------------------
`revision 1.21
`date: 2002-05-09 00:48:38 -0500; author: davidc; state: Exp; lines: +172 -18;
`Changed the "Encode" edge to send master clock updates forward iff it's in a slave path and to
`request that render clock updates get sent backward iff it's in a master path.
`
`Changed the "Decode" edge to set the master clock to refer to the render clock if it's in a path
`and to set the master clock to refer to a different clock if it's in a slave path.
`
`The main is that, for all master sinks, the master clock and the render clock refer to the same
`object. This eliminates the latency between when the master sink updates its render clock and
`when its master clock is updated. It also fixes a performance inconsistency between when the
`master sink is on a different machine than the source and when the master sink is on the same
`machine as the source.
`----------------------------
`revision 1.20
`date: 2002-05-08 23:27:15 -0500; author: davidc; state: Exp; lines: +217 -170;
`Added the "Encode" edge, which will eventually take the place of both the "MasterEncode"
`edge and the "SlaveEncode" edge. It is currently just a place holder and is functionally
`equivalent to the "SlaveEncode" edge.
`
`Reorganized the way edges are registered to use a table-driven method. This simplifies the
`error handling in the SOS_BEAD_INITIALIZE routine.
`
`Moved the logic that reads the clocks from the path to the path init routines. This makes is so
`that the message handlers can assume that the clocks have already been read. (Before, this
`logic was in the path init routines and the message handlers).
`
`Removed some dead code, including the timer code that sends on the loopback and the
`"RenderNeeded" boolean.
`----------------------------
`revision 1.19
`date: 2002-05-08 22:04:05 -0500; author: davidc; state: Exp; lines: +5 -5;
`Renamed the "Encode" edge of the ClockSync bead to "SlaveEncode".
`
`This is the first phase in merging the functionality of the "Encode" and "MasterEncode" edge.
`This will allow me to add the new edge as the "Encode" edge without having to port every
`package to use the new edge.
`
`Page 5 of 8
`
`Implicit Exhibit 2030
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`----------------------------
`revision 1.18
`date: 2002-05-01 19:04:49 -0500; author: davidc; state: Exp; lines: +123 -118;
`Added a check that, if a message that arrives at the ClockSync[decode] that has a specified
`length that is larger than the maximum possible length, the packet is dropped.
`
`This fixes defect #123, which caused the stack to get munged when the specified length was
`longer than MAX_VARIABLE_LENGTH.
`----------------------------
`revision 1.17
`date: 2002-04-25 12:25:15 -0500; author: davidc; state: Exp; lines: +86 -6;
`Filled in the file bannar comment.
`----------------------------
`revision 1.16
`date: 2002-04-03 00:21:30 -0600; author: davidc; state: Exp; lines: +3 -4;
`Added static keyword to eliminate unnecessary namespace pollution.
`----------------------------
`revision 1.15
`date: 2002-04-03 00:04:28 -0600; author: davidc; state: Exp; lines: +2 -1;
`Added static keyword to eliminate unnecessary namespace pollution.
`----------------------------
`revision 1.14
`date: 2002-02-07 23:12:26 -0600; author: davidc; state: Exp; lines: +2 -2;
`added missing newline to "Could not set bead schema" DEBUGOUT
`----------------------------
`revision 1.13
`date: 2001-11-29 19:01:43 -0600; author: scottwb; state: Exp; lines: +2 -2;
`Fixed leak of ClockSync's ReturnPath.
`----------------------------
`revision 1.12
`date: 2001-11-08 20:46:36 -0600; author: guyc; state: Exp; lines: +70 -1;
`Added new edge "master" which sets the RenderClock to a
`reference to the MasterClock. This should replace the current
`use of sampleclock:MASTER which creates problems because they
`are globally scoped.
`----------------------------
`revision 1.11
`date: 2001-10-23 12:11:25 -0500; author: guyc; state: Exp; lines: +2 -3;
`Fixed session cleanup problem leading to leak of
`sample clocks.
`----------------------------
`revision 1.10
`date: 2001-10-22 18:37:11 -0500; author: guyc; state: Exp; lines: +26 -101;
`Changes to ensure a session with both encode and decode
`
`Page 6 of 8
`
`Implicit Exhibit 2030
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`edges uses the right path context clocks. Previously the
`returning decode edge created new clocks instead of propagating
`the information into the existing clocks.
`NOTE - this bead now NEVER creates its own clocks, which means
`any existing rules using this bead will now need to have master
`and render clocks added as seeds.
`----------------------------
`revision 1.9
`date: 2001-10-19 19:52:56 -0500; author: guyc; state: Exp; lines: +184 -104;
`Finished reverse-propagation of clocks to enable remote
`master clocks. Now can optionally propagate render clock
`backwards over the network.
`----------------------------
`revision 1.8
`date: 2001-10-04 16:11:38 -0500; author: guyc; state: Exp; lines: +41 -14;
`Changed to no try to encode clock values which are
`unavailable. This prevents a non-initialized master
`clock value of 0 from being propogated across the network
`if it has not yet been initialized by the time a packet
`passes our way.
`----------------------------
`revision 1.7
`date: 2001-10-02 16:09:49 -0500; author: guyc; state: Exp; lines: +11 -9;
`Don't update render clock on encode edge by default.
`----------------------------
`revision 1.6
`date: 2001-09-21 18:50:01 -0500; author: guyc; state: Exp; lines: +2 -2;
`Fixed sign warning.
`----------------------------
`revision 1.5
`date: 2001-09-21 18:47:37 -0500; author: guyc; state: Exp; lines: +441 -154;
`Added changes to support reverse-propogation of clocks.
`(incomplete/untested)
`----------------------------
`revision 1.4
`date: 2001-09-11 15:59:55 -0500; author: guyc; state: Exp; lines: +8 -1;
`Added additional debug detail
`----------------------------
`revision 1.3
`date: 2001-09-10 15:19:09 -0500; author: guyc; state: Exp; lines: +2 -2;
`Fixed offset sign error.
`----------------------------
`revision 1.2
`date: 2001-09-10 13:50:52 -0500; author: guyc; state: Exp; lines: +7 -13;
`
`Page 7 of 8
`
`Implicit Exhibit 2030
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Removed some dead code.
`----------------------------
`revision 1.1
`date: 2001-09-10 13:50:05 -0500; author: guyc; state: Exp;
`Major additions to split clocksync into a second bead,
`and into a separate source file.
`=============================================================================
`
`
`Page 8 of 8
`
`Implicit Exhibit 2030
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket