`
`
`
`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
`
`