throbber
Case 1:14-cv-02396-PGG-SN Document 239-1 Filed 11/12/20 Page 1 of 7
`
`
`
`Exhibit 19
`
`
`
`
`
`
`
`
`

`

`Case 1:14-cv-02396-PGG-SN Document 239-1 Filed 11/12/20 Page 2 of 7
`
`CONFIDENTIAL OUTSIDE COUNSEL ONLY
`
`
`
`UNITED STATES DISTRICT COURT
`SOUTHERN DISTRICT OF NEW YORK
`
`
`
`NETWORK-1 TECHNOLOGIES, INC.,
`
`
`Plaintiff,
`
` Case No. 14-cv-2396
`
`Case No. 14-cv-9558
`
`
`
`EXPERT REPORT OF MICHAEL MITZENMACHER, PH.D.
`REGARDING VALIDITY OF U.S. PATENT NOS. 8,010,988; 8,205,237; AND 8,904,464
`
`
`
`GOOGLE LLC and YOUTUBE, LLC,
`
`
`vs.
`
`Defendants.
`
`
`
`
`
`
`
`
`

`

`Case 1:14-cv-02396-PGG-SN Document 239-1 Filed 11/12/20 Page 3 of 7
`
`CONFIDENTIAL OUTSIDE COUNSEL ONLY
`
`
`code for running the search was downloaded onto a user’s computer. Is that
`right? A. Correct. Q. And it’s not -- A. Actually, you know what, I’m not
`sure about that. I actually wonder if we didn’t distinguish, because we -- we
`gave them one piece of code. It’s -- it’s possible that that code existed on the
`Clango application. I -- I would have to check into that. Q. You just don’t
`know? A. But it wasn’t called directly, if that’s the distinction you’re trying
`to make. Q. Well, was there -- I -- I guess users didn’t have -- I mean, for one
`thing, they didn’t have the database, right? A. Correct. Q. And so they
`couldn’t run the searches themselves? . . . Yeah, they could run searches only
`through that interface and not -- but the search code itself was not executed on
`the client side.”).
`
`c. As discussed above, Mr. Schrempp’s emails to alpha and beta testers do not mention
`any search algorithms or search methodologies. AUDMAG0014893-94;
`AUDMAG00014930. Moreover, Audible Magic has never disclosed its indexing
`techniques to the public. See Wold Depo. at 212:15-213:6 (“Q. Now, what was the
`first time that you or anybody at Audible Magic made any public disclosure about any
`of the indexing techniques you use there? . . . I mean, in some ways, we’ve never
`made public disclosure. We -- except I -- I -- I mean, it depends on what you mean. I
`mean, obviously, the -- the product exists in a sense that it’s a public disclosure. And
`I’m sure there have been casual mentions to customers or important suppliers or other
`people, but I -- I don’t know.”); see also id. at 213:8-214:14 (testifying that there may
`have been end-user license agreements in place for Clango testers, and that he did not
`recall the terms of those agreements); Schrempp Depo. at 60:2-62:2 (testimony
`concerning AUDMAG00014891-92); id. at 126:1-127:21 (testimony concerning
`AUDMAG00014870).
`
`d. From my review of the Clango demo, it was not possible to discern how Clango was
`outputting the name of the song being played on Windows Media Player. In other
`words, it was impossible to tell from the demo what type of search algorithm, if any,
`was being used.
`
`e. In short, without a description of the search algorithm or search methodologies used
`and/or access to the program’s source code, a user would have no way of discerning
`whether or not any “identification” Clango Alpha or Clango Beta made is “based on a
`non-exhaustive search identifying a neighbor” that “is sublinear.”
`
`47. Even setting aside the undisclosed nature of the search algorithms used, the Darrell
`Report does not establish that any “identification” Clango Alpha or Clango Beta made is in fact
`“based on a non-exhaustive search identifying a neighbor.”
`
`a. Dr. Darrell points to the following statement in an email written by Mr. Schrempp:
`“Brute force won’t yield the performance or accuracy needed for this.” Darrell
`Report ¶ 129 (quoting AUDMAG01710721).
`
`
`i. However, Mr. Wold testified at his deposition: “I would actually disagree
`with his statement. I would say, yes, that it is required for performance; but,
`
`17
`
`
`
`

`

`Case 1:14-cv-02396-PGG-SN Document 239-1 Filed 11/12/20 Page 4 of 7
`
`CONFIDENTIAL OUTSIDE COUNSEL ONLY
`
`
`
`
`
`
`actually, brute force tends to be the most accurate. So you would -- I would
`typically implement a brute force algorithm to make sure that I have the exact
`answer I can ever -- and the best answer I can come up with. And then to get
`performance -- I would not do a brute force search, but I would have the brute
`force search to compare.” Wold Depo. at 38:4-39:11. A person of ordinary
`skill in the art would have understood that this is a common approach for
`developing and analyzing the accuracy of search algorithms.
`
`ii. This is indeed the approach Mr. Wold followed. In an email concerning a
`February 2000 API (application programming interface) implementation, “[i]f
`you don’t call MFDatabaseIndex, no index will be created and a brute force
`implementation of MFDatabaseLookup will be used for searching. If you do
`call MFDataBaseIndex, a new tree-based faster lookup will be used.”
`AUDMAG01652077; see also Wold Depo. at 203:6-13. Similarly, in a
`December 1, 2000 email Mr. Schrempp stated that “[t]he engine runs in two
`modes: exhaustive search and index.” AUDMAG00042894. Mr.
`Schrempp’s December email also indicates that Audible Magic was still
`making changes to the search algorithm, several months after the alpha and
`beta tests. See AUDMAG00042895. The Darrell Report has therefore not
`established whether the July 5, 2000 Clango Alpha or the August 2000 Clango
`Beta used a brute force implementation, the (unspecified) tree-based
`implementation referenced in this email, or another search algorithm entirely.
`And in any event, whatever algorithm was used was not discernible to the
`public for either Clango Alpha or Clango Beta.
`
`iii. In addition, it would not have been surprising to one of skill in the art that
`someone would opt to use a more accurate (exhaustive) search algorithm in
`early testing versions of an application. Alpha and beta tests are aimed at
`accessing a user’s satisfaction with the application, and search accuracy would
`have been a very important feature for an application that aims to identify
`what song if playing on the user’s computer. A skilled artisan would have
`also recognized that, given the small size of the reference databases used with
`both Clango Alpha and Clango Beta, an exhaustive search would have been a
`possible, if not probable, implementation. See AUDMAG00041833 (“For
`alpha we decided that 20,000 samples were all we could afford from a
`performance standpoint.”); see also AUDMAG00042894-96 (Clango had
`about 25,000 references in December 2000, months after Clango Beta was
`released.). Finally, it is typical in alpha and beta testing to focus on soliciting
`feedback on user interface features as opposed to the search time or search
`algorithm, particularly where, as here, the search algorithm was not disclosed
`to the alpha and beta testers.
`
`
`b. In addition, for Clango Alpha, Dr. Darrell states that “[f]or the July 2000 alpha
`version of the Clango program, Mr. Wold had begun utilizing kd-trees to structure
`and search the reference database of fingerprints.” Darrell Report ¶ 187. The only
`evidence he cites in support of this notion is Mr. Wold’s testimony; he cites no
`
`
`
`18
`
`

`

`Case 1:14-cv-02396-PGG-SN Document 239-1 Filed 11/12/20 Page 5 of 7
`
`CONFIDENTIAL OUTSIDE COUNSEL ONLY
`
`
`corroborating documents that the Clango Alpha used kd-trees to index and search the
`reference database. Moreover, the source code Dr. Darrell cites likewise does not
`establish that Clango Alpha used kd-trees. See id. ¶¶ 189-198. Critically, on their
`face, these files are dated July 26, 2000 at the earliest, several weeks after Clango
`Alpha was allegedly released. See, e.g., AUDMAG01085773-83 (Wold Depo.,
`Exhibit 10); see also AUDMAG01085789-94 (Wold Depo., Exhibit 11). Indeed, Mr.
`Wold stated that “there is an SCCS [source code control system] on Exhibits 10 and
`11 that is July 26.” Wold Depo. at 271:5-6. At his deposition, he was at best unsure
`whether Clango Alpha used kd-trees and also confirmed that it is impossible to tell
`from the files alone whether or not the code in those files was implemented in any
`version of Clango:
`
`
`Q But you can’t say with certainty that these particular files, Exhibits 10
`and 11, were in production code for any version of Clango, correct?
`. . .
`THE WITNESS: No. What I’m saying is – I mean, this doesn’t prove
`it, this -- the existence of this document doesn’t provide it. But I know
`that the k-d tree code was in the version of Clango that went out. And I
`-- I’m losing dates again. But I had forgotten if that was -- hold on. I
`can check here. Definitely by the August 9th release, it would have
`been.
`
`Wold Depo. at 271:12-2.
`
`c. Moreover, Dr. Darrell relies exclusively on dates from the SCCS (Source Code
`Control System) files in order to establish dates for these two code files. Setting aside
`that, as Mr. Wold testified, the existence of a code file does not demonstrate that that
`code file or any portion of the code contained in the file was included in any certain
`product, there are also problems with such exclusive reliance on dates from a SCCS
`to establish the file merely existed on that date. While these dates provide some
`information regarding the provenance of the files, they should not be relied upon as a
`complete confirmation of the dates, for multiple reasons.
`
`
`i. A brief description of what an SCCS is is informative for this discussion. An
`SCCS is system that can be used to track changes in code projects over time.
`A code file has a corresponding SCCS file that tracks changes made to the
`file. Generally, a user “checks out” a file to make changes (which do not
`appear in the main, repository-held version of the code), and then “checks in”
`the file when ready, at which point the SCCS computes and stores the
`changes, or delta, since the last version, and creates a corresponding new
`version in the main repository. The SCCS files are stored as text files. There
`are therefore multiple reasons why SCCS files may not provide correct date
`information.
`
`ii. First, since they are text files, they can be changed at any time by a user with
`privileges to modify the file. The date can be easily changed simply by
`
`19
`
`
`
`
`
`
`
`

`

`Case 1:14-cv-02396-PGG-SN Document 239-1 Filed 11/12/20 Page 6 of 7
`
`CONFIDENTIAL OUTSIDE COUNSEL ONLY
`
`
`
`
`deleting and inserting new characters. (I note that SCCS files begin with a
`checksum, which is a small string computed based on the file contents, which
`acts as a check that the file is valid. As such, technically changing the date
`would appear to require generating a new corresponding checksum on the file,
`but this can also be done.)
`
`iii. Second, the time recorded in SCSS files can vary depending on the
`implementation. My understanding is that for some versions of SCSSs, the
`recorded date corresponds to the time when the files were checked in by a
`user, but this is not universal; implementations where the recorded date
`corresponds to the last-modified time or original time exist, for example. See,
`e.g., https://invisible-island.net/ded/manpage/sccsput.html;
`http://schilytools.sourceforge.net/man/man1/delta.1.html. One could therefore
`have a file where the date corresponds to when the file was last edited, even if
`it was not checked back into the main repository until much later.
`
`iv. Third, even if one takes as an assumption that the dates and times listed in the
`files correspond to when the files were checked in by a user, my
`understanding is that the dates and times in that case are determined according
`to the time clock on the computer that saves the file. It would therefore be a
`necessary condition that this computer had had its local clock set correctly in
`order for the times listed in the SCCS files to be accurate, and there is no
`evidence one way or another that this is the case for any of the files that Dr.
`Darrell relies on his report.10
`
`
`d. Dr. Darrell also failed to establish that the source code in Exhibit 10 was used in
`either Clango Alpha or Clango Beta for the following additional reasons. As Dr.
`Darrell recognizes, AUDMAG01085773-83 (Wold Depo., Exhibit 10) is what is
`known as an include file, also known as a header file. See Darrell Report ¶¶ 189-190.
`As such, it does not include any kd-tree search algorithm, or for that matter any
`algorithm. As Dr. Darrell describes, this include file at most represents some sort of
`interface; it provides setup code that might (or might not) be used by an (unspecified)
`algorithm. See id. And as its name suggests, an include file has to be included in
`something to serve a meaningful purpose; this file does not show in any way that the
`code in it was in fact actually used by Clango Alpha or Clango Beta.
`
`
`
`
`
`
`10 In fact, the clock on the computer that Audible Magic’s counsel used for the Clango demo was
`off by nearly twenty years. I recall the date on that computer’s clock was set at some time in
`2001, at an inspection conducted on February 13, 2020. I also recall that Network’s attorney
`took a screenshot of this date, but this screenshot was not included in the set of screenshots
`provided by Audible Magic’s counsel.
`
`
`
`20
`
`

`

`Case 1:14-cv-02396-PGG-SN Document 239-1 Filed 11/12/20 Page 7 of 7
`
`CONFIDENTIAL OUTSIDE COUNSEL ONLY
`
`
`i. As produced, I understand that the metadata of the document beginning at
`AUDMAG01085773 indicates it has a filepath of “/s.KD.h.”11 I provide a
`screenshot from a discovery database that displays this metadata information:
`
`
`
`
` I
`
` presume this is not a complete filepath, as there is nothing in Audible
`Magic’s code production (as produced on a hard drive) with this filepath.
`However, I believe I located this file at AUGUST 2019 CODE
`PRODUCTION/CBR Materials/Clango – Amadeus – Wired
`Air/audibleMagic/src/kdtree/SCCS/s.KD.h.
`
`ii. I also note that Dr. Darrell states that “[t]his include file, in particular,
`provides the interface to access a version of the kd-tree code that Mr. Wold
`created in July of 2000.” Darrell Report ¶ 189. But Dr. Darrell provides no
`specific citation or reference to this alleged and unspecified “version of the
`kd-tree code” to which he refers. He does refer to AUDMAG01085789
`(Wold Depo., Exhibit 11) in paragraph 191, but this file does not reference the
`include file I discuss above (KD.h). Rather, it references different include
`files: “KDx.h” and “kd_search.h.” Include files with these file names are also
`in the AUGUST 2019 CODE PRODUCTION/CBR Materials/Clango –
`Amadeus – Wired Air/audibleMagic/src/kdtree directory.12
`
`e. Dr. Darrell likewise does not establish that the source code files referenced in
`paragraphs 193-198 of the Darrell Report were used in either Clango Alpha or Clango
`Beta. As a preliminary matter, according to the SCCS files accompanying the code
`production, each of these files were also created in late July 2000, and thus could not
`have been a part of Clango Alpha. In addition, just because the code files are present
`in a directory of source code does not mean that they were incorporated into Clango
`
`
`
`
`
`
`
`11 The “s.” preceding the file name indicates this file is from the SCCS. The “s.” portion of the
`file would not be included in any other file that references this file because the non-SCCS
`version (such as KD.h) would be referenced instead. The non-SCCS version of this file is
`located at AUGUST 2019 CODE PRODUCTION/CBR Materials/Clango – Amadeus – Wired
`Air/audibleMagic/src/kdtree/KD.h.
`12 There is a KD.h file in this directory, but it is substantially different than the s.KD.h file that is
`Exhibit 10 to the Wold deposition.
`
`21
`
`

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