`Case 5:18—md-02834-BLF Document 220-2 Filed 10/04/18 Page 1 of 63
`
`
`
`
`
`
`
`EXHIBIT 2
`
`EXHIBIT 2
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 2 of 63
`
`(12) United States Patent
`Farber et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,928,442 B2
`Aug. 9, 2005
`
`USOO6928442B2
`
`(54) ENFORCEMENT AND POLICING OF
`LCENSED CONTENT USING
`CONTENT-BASED IDENTIFIERS
`
`(75) Inventors: David A. Farber, Ojai, CA (US);
`Ronald D. Lachman, Northbrook, IL
`(US)
`(73) Assignees: Kinetech, Inc., Northbrook, IL (US);
`Savvis, Inc., Town & Country, MO
`(US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`Notice:
`
`(21)
`(22)
`(65)
`
`(51)
`(52)
`
`(58)
`
`Appl. No.: 09/987,723
`Filed:
`Nov. 15, 2001
`Prior Publication Data
`US 2002/0052884 A1 May 2, 2002
`Related U.S. Application Data
`(63) Continuation of application No. 09/283,160, filed on Apr. 1,
`1999, now Pat. No. 6,415,280, which is a division of
`application No. 08/960,079, filed on Oct. 24, 1997, now Pat.
`No. 5,978,791, which is a continuation of application No.
`08/425,160, filed on Apr. 11, 1995, now abandoned.
`Int. Cl................................................. G06F 17/30
`U.S. Cl. ............................. 707/10; 707/3; 707/101;
`707/200; 709/203; 709/219; 709/229
`Field of Search .............................. 707/3, 6, 9, 10,
`707/101, 200; 709/203, 219, 229
`References Cited
`
`(56)
`
`3,668,647 A
`4,215,402 A
`4,290,105 A
`4,376,299 A
`4,405,829 A
`4,412.285 A
`
`U.S. PATENT DOCUMENTS
`Evangelisti
`6/1972
`Mitchell
`7/1980
`Cichelli
`9/1981
`Rivest
`3/1983
`Rivest
`9/1983
`Neches
`10/1983
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`0592045
`
`4/1994
`
`OTHER PUBLICATIONS
`
`Gwertzman, James, et al. “The Case for Geographical Push
`Caching.” Technical Report HUTR 34-94 (excerpt), Har
`vard University, DAS, Cambridge, MA 02138, 1994, 2 pgs.
`Grigni, Michelangelo, et al. “Tight Bounds on Minimum
`Broadcasts Networks.’ SIAM Journal of Discrete Math
`ematics, vol. 4, No. 2, May 1991, pp. 207-222.
`Devine, Robert. “Design and Implementation of DDH: A
`Distributed Dynamic Hashing Algorithm.” In Proceedings
`of 4th International Conference on Foundations of Data
`Organizations and Algorithms, 1993, pp. 101-114.
`Deering, Stephen, et al. “Multicast Routing in Datagram
`Internetworks and Extended LANs.” ACM Transactions on
`Computer Systems, vol. 8, No. 2, May 1990, pp. 85-110.
`(Continued)
`
`Primary Examiner Luke S Wossum
`ASSistant Examiner Khanh Pham
`(74) Attorney, Agent, or Firm-Davidson Berquist Jackson
`& Gowdey, LLP
`ABSTRACT
`(57)
`Data files are distributed acroSS a plurality of computers. The
`computerS may form a network Such as a content delivery
`network (CDN) or a peer-to-peer network. The network may
`operate as a TCP/IP network such as the Internet. Data files
`may represent may represent digital messages, images,
`Videos or audio Signals. For content-data items or files in
`the System—a name is obtained (or determined), where the
`name is based, at least in part, on a given function of the data
`in a data item or file. The given function may be a message
`digest or hash function, and it may be MD4, MD5, and SHA.
`A cony of a requested file is only provided to licensed (or
`authorized) parties. The System may check one or more
`computers for unauthorized or unlicensed content. Content
`is Served based on a measure of availability of Servers.
`
`56 Claims, 31 Drawing Sheets
`
`l AA ed
`
`w - - - - - - - - - - - - sis - - - - -
`
`-
`
`S212
`cope Function ON
`DATATEM
`
`S24
`APENDENGTHMODULO 32Of
`AAR
`
`
`
`TRUENAME
`
`EXHIBIT 2 - 1
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 3 of 63
`
`US 6,928.442 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`4,414.624 A 11/1983 Summer, Jr.
`4,441,155. A 4/1984 Fletcher
`4,464.713 A 8/1984 Benhase
`4,490,782. A 12/1984 Dixon
`4,571,700 A
`2/1986 Emry, Jr.
`4,577.293 A
`3/1986 Matick
`4,642,793 A 2/1987 Meaden
`4,675.810 A 6/1987 Gruner
`4,691.299 A
`9/1987 Rivest
`4,725,945 A 2/1988 Kronstadt
`4,773,039 A 9/1988 Zamora
`4,887,235 A 12/1989 Holloway
`4,888,681 A 12/1989 Barnes
`4,922,414 A 5/1990 Holloway
`4,922,417 A 5/1990 Churm et al. .................. 707/1
`4,972,367 A 11/1990 Burke
`5,025,421. A 6/1991 Cho
`5,050,074 A 9/1991 Marca
`5,050,212 A 9/1991. Dyson
`5,057.837. A 10/1991 Colwell
`5,077,658 A 12/1991 Bendert
`5,129,081 A 7/1992 Kobayashi
`5,129,082 A
`7/1992 Tirfing
`5,144,667 A
`9/1992 Pogue, Jr.
`5,179,680 A
`1/1993 Colwell
`5,202.982 A 4/1993 Gramlich et al. .............. 707/2
`5,208.858 A
`5/1993 Vollert
`5,276,901. A
`1/1994 Howell
`5,287.499 A 2/1994 Nemes .......................... 707/2
`5,301.286 A
`4/1994 Rajani
`5,301,316 A 4/1994 Hamilton
`5,341,477 A 8/1994 Pitkin et al. ................ 709/226
`5,343,527 A 8/1994 Moore
`5,357,623 A 10/1994 Megory-Cohen
`5,384,565 A
`1/1995 Cannon
`5,404.508 A 4/1995 Konrad
`5,452,447 A 9/1995 Nelson et al. .............. 707/205
`5,459,860 A 10/1995 Burnett
`5,542,087 A 7/1996 Neimat et al. ................ 707/10
`5,581,758 A 12/1996 Burnett
`5,638.443 A 6/1997 Stefik et al. .................. 705/54
`5,640,564 A 6/1997 Hamilton et al. ........... 709/303
`5,781,629 A * 7/1998 Haber et al. ................ 713/177
`5,802.291 A 9/1998 Balick et al. ............... 709/202
`5,809,494. A 9/1998 Nguyen ......................... 707/1
`5.835087 A * 11/1998 Herz et al................... 345/810
`5,907,704 A
`5/1999 Gudmundson et al.
`6,006,018 A 12/1999 Burnett et al. ......... 395/200.49
`6,134,603 A 10/2000 Jones et al. ................. 709/330
`
`
`
`OTHER PUBLICATIONS
`Cormen, Thomas H., et al. Introduction to Algorithms, The
`MIT Press, Cambridge, Massachusetts, 1994, pp. 219–243,
`991-993.
`Naor, Moni, et al. “The Load, Capacity and Availability of
`Quorum Systems.” In Proceedings of the 35th IEEE Sym
`posium on Foundations of Computer Science, Nov. 1994,
`pp. 214-225.
`Nisan, Noam. “Pseudorandom Generators for Space
`Bounded Computation.” In Proceedings of the Twenty
`Second Annual ACM Symposium on Theory of Computing,
`May 1990, pp. 204–212.
`Palmer, Mark, et al. "Fido: A Cache that Learns to Fetch.”
`In Proceedings of the 17th International Conference on Very
`Large Data Bases, Sep. 1991, pp. 255-264.
`Peleg, David, et al. “The Availability of Quorum Systems.”
`Information and Computation 123, 1995, 210-223.
`
`Rabin, Michael. “Efficient Dispersal of Information for
`Security, Load Balancing, and Fault Tolerance.” Journal of
`the ACM, vol. 36, No. 2, Apr. 1989, pp. 335-348.
`Ravi, R., “Rapid Rumor Ramification: Approximating the
`Minimum Broadcast Time.” In Proceedings of the 35th
`IEEE Symposium on Foundation of Computer Science, Nov.
`1994, pp. 202-213.
`Schmidt, Jeanette, et al. “Chernoff Hoeffding Bounds for
`Applications with Limited Independence.” In Proceedings
`of the 4th ACS-SIAM Symposium on Discrete Algorithms,
`1993, pp. 331-340.
`Tarjan, Robert Endre, et al. “Storing a Sparse Table.”
`Communications of the ACM, vol. 22, No. 11, Nov. 1979,
`pp. 606–611.
`Wegman, Mark, et al. “New Hash Functions and Their Use
`in Authentication and Set Equality.” Journal of Computer
`and System Sciences vol. 22, Jun. 1981, pp. 265-279.
`Vitter, Jeffrey Scott, et al. “Optimal Prefetching via Data
`Compression.” In Proceedings of 32nd IEEE Symposium on
`Foundations of Computer Science, Nov. 1991, pp. 121-130.
`Fredman, Michael, et al. “Storing a Sparse Table with 0(1)
`Worst Case Access Time.” Journal of the ASSociation for
`Computing Machinery, vol. 31, No. 3, Jul. 1984, pp.
`538-544.
`Yao, Andrew Chi-Chih. “Should Tables be Sorted?” Journal
`of the Association for Computing Machinery, vol. 28, No. 3,
`Jul. 1981, pp. 615–628.
`Floyd, Sally, et al. “A reliable Multicast Framework for
`Light-Weight Sessions and Application Level Framing.” In
`Proceeding of ACM SIGCOMM 95, pp. 342–356.
`Feeley, Michael, et al. “Implementing Global Memory Man
`agement in a Workstation Cluster.” In Proceedings of the
`15th ACM Symposium on Operating Systems Principles,
`1995, pp. 201-212.
`Carter, J. Lawrence, et al. “Universal Classes of Hash
`Functions.” Journal of Computer and System Sciences, vol.
`18, No. 2, Apr. 1979, pp. 143–154.
`Patent Abstracts of Japan, “Electronic Mail Multiplexing
`System and Communication Control Method in The Sys
`tem.” Jun. 30, 1993, JP 05162529.
`Kim et al., “Experiences with Tripwire: Using Integrity
`Checkers For Intrusion Detection’, COAST Labs. Dept. of
`Computer Sciences Purdue University, Feb. 22, 1995, pp.
`1-12.
`Kim et al., “The Design and Implementation of Tripwire: A
`file System Integrity Checker', COAST Labs. Dept. of
`Computer Sciences Purdue University, Nov. 19, 1993, pp.
`1-21.
`Bert dem Boer et al., Collisions for the compression function
`of MDs, pp. 292–304.
`Sakti Pramanik et al., Multi-Directory Hasing, 1993, Info.
`SyS., vol. 18, No. 1, pp. 63-74.
`Murilidhar Koushik, Dynamic Hashing with Distributed
`Overflow Space: A File Organization with Good Insertion
`Performance, 1993, Info. Sys, vol. 18, No. 5, pp. 299–317.
`Witold Litwin et al., LH-Linear Hashing for Distributed
`Files, HP Labs Tech. Report No. HPL-93–21, Jun. 1993, pp.
`1-22.
`Yuliang Zheng et al., HAVAL-A One-Way Hashing Algo
`rithm with Variable Length of Output (Extended Abstract),
`pp. 83-105.
`Chris Charnes and Josef Pieprzky, Linear Nonequivalence
`versus Nonlinearity, Pieprzky, pp. 156-164.
`
`EXHIBIT 2 - 2
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 4 of 63
`
`US 6,928.442 B2
`Page 3
`
`Witold Litwin et al., Linear Hashing for Distributed Files,
`ACM SIGMOD, May 1993, pp. 327–336.
`Ming-Ling Lo et al., On Optimal Processor Allocation to
`Support Pipelined Hash Joins, ACM SIGMOD, pp. 69-78,
`May 1993.
`Thomas A. Berson, Differential Cryptanalysis Mod 2 with
`Applications to MD5, pp. 69-81.
`William Perrizo et al., Distributed Join Processing Perfor
`mance Evaluation, Twenty-Seventh Hawaii International
`Conference on System Sciences, vol. II, pp. 236-244.
`Vijay Kumar, A Concurrency Control Mechanism Based on
`Extendible Hashing for Main Memory Database Systems,
`ACM, vol. 3, 1989, pp. 109-113.
`Birgit Pfitzman, Sorting Out Signature Schemes, Nov. 1993,
`1 Conf. Computer & Comm. Security '93, p. 74-85.
`Zhiyu Tian et al., A New Hashing Function: Statistical
`Behaviour and Algorithm, pp. 3-13.
`G. L. Friedman, Digital Camera with Apparatu for Authen
`tication of Images Produced from an Image File, NASA
`Case No. NPO-19108-1-CU, U.S. Appl. No. 08/159,980,
`filed Nov. 24, 1993.
`H. Goodman, Ada, Object-Oriented Techniques, and Con
`currency in Teaching Data Structures and File Management
`Report Documentation p. AD-A275 385 – 94–04277.
`Advances in Cryptology-Eurocrypt’93, Workshop on the
`Theory and Application of Cryptographic Techniques
`Lofthus, Norway, May 23–27, 1993 Proceedings.
`Proceedings of the 1993 ACM SIGMOD International Con
`ference on Management of Data, Vol. 22, ISSue 2, Jun. 1993.
`
`Advances in Cryptology-AUSCRYPT 92-Workshop on
`the Theory and Application of Cryptographic Techniques
`Gold Coast, Queensland, Australia, Dec. 13-16, 1992 Pro
`ceedings.
`Peter Deutsch (peterd(abunyip.com), “Re: MD5 and LiFNs
`(was: Misc Comments)", www.acl.lanligov/URI/archive/
`uri-94q2.messages/0106.html, Apr. 26, 1994.
`Alexander Dupuy (dupuyGSmarts.com), “RE: MD5 and
`LIFNs (was: Misc Comments)", www.acl.lanl.gov/URI/ar
`chive/uri-94q2.messages/0113.html, Apr. 26, 1994.
`Alexander Dupuy (dupuy(asmarts.com), “MD5 and LIFNs
`(was: Misc Comments)", www.acl.lanligov/URI/archive/
`uri-94q2.messages/0081.html, Apr. 17, 1994.
`Albert Langer (cmf851(G)anu.oz.au), http://groups.google
`.com/groups?Selm=
`1991Aug7.225159.786%40newshost.anu.edu.au&oe=
`UTF-8&output=gplain, Aug. 7, 1991.
`Clifford Lynch (Calur(ouccmvsa.bitnet), “ietfurl/uri over
`view draft paper (long)", www.acl.lanl.gov/URI/archive/
`uri-93q1...messages/0015.html, Mar. 25, 1993.
`K. Sollins and L. Masinter, “Functional Requirements for
`Uniform Resource Names', www.w3.org/Addressing/
`rfc1737.txt, Dec. 1994, pp. 1-7.
`W3C:ID, HTTP. A protocol for networked information,
`“Basic HTTP as defined in 1992", www.w3.org/Protocols/
`HTTP2.html, 1992.
`European Search Report issued Dec. 23, 2004.
`cited by examiner
`
`EXHIBIT 2 - 3
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 5 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 1 of 31
`
`US 6,928,442 B2
`
`Z0 ?.
`
`
`
`YHOSSE OORHd
`
`>HOSSEISOORHd
`
`90},
`
`Z0||
`
`?HOSSEISOO??d
`
`Z0),
`
`
`
`(JOSSE OOR?d
`
`EXHIBIT 2 - 4
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 6 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 2 of 31
`
`US 6,928,442 B2
`
`
`
`-
`------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
`
`EXHIBIT 2 - 5
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 7 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 3 of 31
`
`US 6,928,442 B2
`
`02],
`
`EITI-'
`
`
`
`LNE INSES
`
`EXHIBIT 2 - 6
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 8 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 4 of 31
`
`US 6,928,442 B2
`
`38.
`
`4O
`
`42
`
`
`
`
`
`
`
`
`
`
`
`FG. 3
`
`type
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`B
`
`True Name
`
`Time of last access
`
`Groomind delete count
`
`F.G. 5
`
`EXHIBIT 2 - 7
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 9 of 63
`Case 5:18—md-02834-BLF Document 220-2 Filed 10/04/18 Page 9 of 63
`
`US. Patent
`
`Aug. 9, 2005
`
`Sheet 5 0f 31
`
`US 6,928,442 B2
`
`0!
`
`
`
`
`
`fiOHHMOOHwokfiom
`
`
`
`#323393moudou
`
`
`
`OfidzHflfifloflho
`
`In.
`
`
`
`N..oE
`
`.11
`
`m.~umounom
`de
`
`mV_
`
`DHHommoooum
`
`
`
`£8«009.3
`
`
`
`m.o_n_
`
`09.
`
`|mar.
`
`mfimzwane
`
`EXHIBIT 2 - 8
`
`EXHIBIT 2 - 8
`
`
`
`
`
`
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 10 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 6 of 31
`
`US 6,928,442 B2
`
`FIG. IO (O)
`
`
`
`al DATA TEM
`
`COMPUTE MD FUNCTION ON
`DATA TEM
`
`V
`
`S214
`APPEND LENGTH MODULO 32 OF
`DATA TEM
`
`TRUENAME
`
`EXHIBIT 2 - 9
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 11 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 7 of 31
`
`US 6,928,442 B2
`
`YES
`
`
`
`S216
`DATA TEM
`SIMPLE
`
`
`
`FIG. IO (b)
`
`S220
`PARTITION DATA TEM INTO
`SEGMENTS
`
`-----S28
`coMPUTE TRUE :
`NAME OF SIMPLE:
`DATA ITEM
`;
`
`- - - - - - - - - - - - - - 1
`
`
`
`
`
`S222
`ASSMILATEEACH SEGMENT
`(COMPUTINGTS TRUE NAME)
`
`S224
`CREATE INDIRECT BLOCK OF
`SEGMENTRUE NAMES
`
`
`
`S226
`ASSMLATENDIRECTBLOCK
`(comPUTING TS TRUE NAME)
`
`S228
`REPLACE FINAL 32 BITS OF TRUE
`NAME WITH LENGHT MOD 32 OF DATA
`TEM
`
`EXHIBIT 2 - 10
`
`
`
`m
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 12 of 63
`002mu
`00lM0mld
`:0
`
`cS”U
`
`omm522may;m.wszmmEo
`namP8%
`
`w9,BWeMA
`
`D0
`
`05BEmay:2.55
`
`
`
`
`m.m:msEzmay;«moo
`
`m99.55%.
`
`28mm.mS
`
`mm3.3:mi:M>Ezm38mm:
`
`
`
` 23Bmn04,um9WEmmofim.6,a.we".55%.mS8%U88
`
`mmmm
`
`__.0.“—
`
`
`
`
`
`>m._.zm>>mzmk<mmo.
`
`
`
`
`
`P2300mm:mm~. whim—n.mmIkOhum.D.wu=n_mmOPm«rO...
`
`
`
`EXHIBIT 2 - 11
`
`EXHIBIT 2 - 11
`
`
`
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 13 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 9 of 31
`
`US 6,928,442 B2
`
`FG.2
`
`
`
`
`
`
`
`S238
`FILE
`LOCKED?
`
`S240
`UPDATE
`DEPENDENCY
`LIST
`
`
`
`S242
`SEND MESSAGE TO
`CACHE SERVERTO
`UPDATE CACHE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`S244
`COMPRESS
`(IF DESIRED)
`
`S246
`MIRROR
`(IF DESIRED)
`
`EXHIBIT 2 - 12
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 14 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 10 of 31
`
`US 6,928,442 B2
`
`FG. 3
`
`worow
`
`FAIL
`
`S250
`SEARCHFOR
`THE
`PATHNAME
`
`FOUND
`
`
`
`LDE INCLUDES
`TRUE NAME?
`
`
`
`
`
`
`
`S258
`ASSMLATE
`FILED
`
`
`
`
`
`LDE IDENTIFIES
`DIRECTORYP
`
`YES
`
`
`
`S256
`FREEZE
`DIRECTORY
`
`EXHIBIT 2 - 13
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 15 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 11 of 31
`
`US 6,928,442 B2
`
`FIG.4
`
`
`
`
`
`
`
`
`
`
`
`S260
`CONFIRM THAT
`TRUE NAME
`EXISTS LOCALLY
`
`S262
`SEARCH FOR
`PATHNAMEN
`LDE TABLE
`
`S264
`CONFIRM THAT
`DIRECTORY
`EXISTS
`
`
`
`
`
`
`
`S266
`NAMED FILE
`EXISTS?
`
`S268
`DELETE
`TRUE FILE
`
`
`
`
`
`
`
`S270
`CREATE
`ENTRY NLDE
`8. UPDATE
`
`EXHIBIT 2 - 14
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 16 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 12 of 31
`
`US 6,928,442 B2
`
`ESNOdS=||}}
`
`EALLISOd
`
`
`
`ESNOdSSR]
`
`HALLV/50EAN
`
`2. MOSSEISOO?!c V NOLLYWOOT SI
`
`SEHÅON
`
`
`
`-II) HTI-l
`
`(GEMISEG
`
`08ZS
`
`
`
`EITI: CIN!!!
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`EXHIBIT 2 - 15
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 17 of 63
`
`U.S. Patent
`
`US 6,928,442 B2
`
`
`
`
`
`
`
`?792S
`
`JINEITO
`
`S10ETES
`
`(s)>JOSSBooxid
`
`
`
`- - - - -+----
`
`EXHIBIT 2 - 16
`
`
`
`23B
`
`g6
`
`01
`
`
`8-or$5meozmmn3me08%m0Sam
`mm,>mowmmoomm
`e9,5:ok2292.Embargo.momag20
`
`
`
`
`mmmhMflFWWWmemm>IAom”wfifiw0we".mam...m>mmwmm
`
`e
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 18 of 63
`5
`O
`m
`m
`
`cs.U
`
`a
`
`xP.i
`
`mm2w9,Bone4u
`
`mA«20.52:.me2o.mewwmoomn.
`_tmay:nomoESm%fin.8%
`
`mAlla20EmmmuuamszzmmoB
`
`d1b3
`
`
`HMm5<zmay:2mmo".mo.3meohmwe29:63momzom
`m%03a$2:ma:mmo”.Eha:x03w8me
`
`
`
`35..9...
`
`EXHIBIT 2 - 17
`
`EXHIBIT 2 - 17
`
`
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 19 of 63
`Case 5:18—md-02834-BLF Document 220-2 Filed 10/04/18 Page 19 of 63
`
`US. Patent
`
`Aug. 9, 2005
`
`Sheet 15 0f 31
`
`US 6,928,442 B2
`
`=‘
`E
`
`o
`z
`
`to
`E
`
`‘0
`m
`‘5'“
`%
`o
`o
`Lu
`a
`
`
`
`.
`I
`.
`
`‘
`I
`i
`
`a)
`£1.“
`
`
`
`NO
`'UEFILEENTRYINTFRFORTRUE
`COMPRESSED
`FILEIDFOR
`
`FILEID?
`
`YES
`
`NAME?
`
`
`
`FIG.l7(a)
`
`EXHIBIT 2 - 18
`
`EXHIBIT 2 - 18
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 20 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 16 of 31
`
`US 6,928,442 B2
`
`
`
`Eflè?-L EZITVERH
`
`
`
`WOR?-I ET1-I
`
`909S
`
`(S)Boxinos
`
`SEÁ
`
`
`
`SC]]. HONDOS
`
`LOETES
`
`CTI EKOÀIITOS
`ERHOW ON
`ELLWOOT
`
`
`
`
`
`
`
`ETI=} ELLOWER!!
`
`EXHIBIT 2 - 19
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 21 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 17 Of 31
`
`US 6,928,442 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`CITTAOHS HOLVAJO
`
`&ET?:H
`
`
`
`EITNo.ll, EXIVIN
`
`
`
`TVOOT ETIH
`
`
`
`ETI-. HOLWR-10S
`
`
`
`MAE'N EILVERHO
`
`
`
`
`
`EITRJ1=IO Åd030 Blº
`
`EXHIBIT 2 - 20
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 22 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 18 of 31
`
`US 6,928,442 B2
`
`
`
`
`
`?? Cil ETH EAVS
`
`>]-} L E AOWER!!
`
`ÅRHLNE
`
`8Zº:S
`
`SEJA
`
`
`
`
`
`
`
`09€S
`
`MEIN O LETIH ÅdOS)
`
`EST LNE WER|0E1C]
`
`di BTIH ETHOLS ‘HTI-l
`
`
`
`
`‘EITEV LEQT NI
`
`LNTIOSO
`
`EXHIBIT 2 - 21
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 23 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 19 of 31
`
`US 6,928,442 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`„LNE WEIRIONI
`
`
`
`
`
`X10OT SIZE ERHz}
`
`
`
`MEIN EILVERHO
`
`189S
`
`WELI V LVCI
`
`
`
`ÅRHOL™OETNIC! NEAIS)
`
`EXHIBIT 2 - 22
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 24 of 63
`Case 5:18—md-02834-BLF Document 220-2 Filed 10/04/18 Page 24 of 63
`
`US. Patent
`
`Aug. 9, 2005
`
`Sheet 20 0f 31
`
`US 6,928,442 B2
`
`ovmw
`
`
`._<zo_m_wm__<<2052nz<man.
`
`950mmohEhzmo3.mEzamomam
`3%55mo".
`5m:atz.Echomma
`
`8E
`
`ZOF<EmOuZ_
`
`
`
`35..9“.
`
`
`
`>m0kom~=0zw>5
`
`Nwmw
`
`
`
`m1...mhfi_E_mm<
`
`SEE<h<Dgmz
`
`vam
`
`.erEm—momo
`
`wNmmmn.NIP
`
`x00..—
`
`EXHIBIT 2 - 23
`
`EXHIBIT 2 - 23
`
`
`
`
`
`
`a
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 25 of 63
`w
`mm0
`
`cS”U
`
`5twm
`
`m.203we".mtmay:
`$.52.wm88ONGE
`
`2n.88Otam
`
`m1m2<zE<mmm.15".8.55
`
`23Bmno4,53E22szmw,2:5x2:
`pm38
`
`L9Bonemgm.
`
`F2,$8$8
`ms>Ezmw59.035EoBmmE$.55mzoomm2mm:93mo»macs.oz$8
`
`
`
`EXHIBIT 2 - 24
`
`EXHIBIT 2 - 24
`
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 26 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 22 of 31
`
`US 6,928,442 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`S354
`WAT FOR
`FREEZE LOCK
`TO TURN OFF
`
`S356
`FND TFR
`ENTRY
`
`FIG.2
`
`S358
`DECREMENT
`REFERENCE
`COUNT
`
`
`
`
`
`
`
`REFERENCE COUNTS
`ZERO & NO DEPENDENT
`SYSTEMS INTFR2
`
`S362
`DELETE
`TRUE FILE
`
`
`
`
`
`
`
`
`
`
`
`
`
`S364
`REMOVE FILED
`AND COMPRESSED
`FILED
`
`
`
`EXHIBIT 2 - 25
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 27 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 23 of 31
`
`US 6,928,442 B2
`
`
`
`
`
`S365
`GET
`OPERATION
`
`
`
`FIG.22
`
`S366
`CREATE OR
`MODIFY?
`
`
`
`YES
`
`
`
`S368
`ASSEMLATE
`
`
`
`
`
`
`
`
`
`COPY ORDELETE
`COMPOUND?
`
`
`
`YES
`
`
`
`
`
`
`
`S378
`MODIFY USE
`COUNT OF EACH
`COMPONENT
`
`S370
`RECORD TRUE
`NAMEN AUD
`FILE
`
`
`
`
`
`S379
`FOREACH PARENT
`DIRECTORY OR FILE,
`UPDATE USE COUNT,
`AST ACCESS AND
`MODIFY TIMES
`
`EXHIBIT 2 - 26
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 28 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 24 of 31
`
`US 6,928,442 B2
`
`FG, 23
`
`
`
`S382
`VERIFY
`GROOMING
`LOCK OFF
`
`S384
`SET
`GROOMING
`LOCK
`
`S386
`SET GROOM
`COUNTS
`
`EXHIBIT 2 - 27
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 29 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 25 0f 31
`
`US 6,928,442 B2
`
`FG. 24
`
`
`
`
`
`
`
`
`
`
`
`S388
`FIND LOE
`RECORD
`
`S390
`FND TFR
`RECORD
`
`
`
`
`
`
`
`S392
`NCREMENT
`GROOMING
`DELETE COUNT
`
`
`
`
`
`S394
`ADJUST FILE
`SIZES
`
`EXHIBIT 2 - 28
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 30 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 26 of 31
`
`US 6,928,442 B2
`
`FG.25
`
`
`
`S398
`UNLOCK
`GROOMING
`LOCK
`
`EXHIBIT 2 - 29
`
`
`
`emUC
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 31 of 63
`2mmm
`
`owm
`
`.1_e.~.>.:<oo._
`
`S.U
`
`
`
`5mmm»«Sam.m...»owP.on.BENof.
`
`amm;o
`
`O5Dm
`
`.mS
`
`F—flVfi—mmn—oUZ-Mfl%83;
`
`w9.,205mmzmmo8355mMugm2_Emm._.mQ
`
`
`d1b3._HM2.nOt
`
`23Bmn04a1.832e9aw6«HEPm23.382mg--Ba3mhum—ZONEM«NEm5.05%:.1mm:
`55.3%.
`
`EXHIBIT 2 - 30
`
`EXHIBIT 2 - 30
`
`
`
`
`8mUC
`a
`3m
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 32 of 63
`oo
`4
`002mm:0
`001/40/01:0
`
`.165t
`mm
`em
`
`S.
`
`3A
`
`3%
`
`0%D02E9,
`
`00M2t2w2hms
`
`HM
`
`mm
`
`PSU
`
`mom,
`
`32
`
`28
`
`23BanM4,
`
`ova
`
`4400..HIS:
`
`
`
`0.MAEzmzkmmwzO_mMm>
`
`
`
`mu:20m".
`
`
`
`._.02...=v80.—
`
`08.50..
`
`:vw
`
`mhfimo
`
`ICE/«mow
`
`>m00
`
`3va.0E
`
`m..."—
`
`womzo<0
`
`25
`
`03mm
`
`>Jm._.m._n=200
`
`
`
`zmtfigm..
`
`vmvw
`
`zmahmm
`
`D—
`
`
`
`mn=uIo...<m0m
`
`
`
`mdlmm<mm
`
`oovm
`
`mkfimo
`
`
`
`min.20k<mow
`
`EXHIBIT 2 - 31
`
`EXHIBIT 2 - 31
`
`
`
`
`
`
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 33 of 63
`4
`0w1
`
`5teaxp.cs.U
`
`mAwe“.0mo".
`.1_eRE
`858”.mt>EzmE0m.namamzfimmmo
`
`msDm2w9,BWe
`
`maFM2m.
`
`mM35855m%20.5ng520.3%m550%.mm;2_mo8200..man.
`
`u-088%.m39
`
`
`€2.23. 23Bmno4,38wm,w6.PSAOVFNO_n_mszzU8may:20m“.we".mwe:
`
`
`EXHIBIT 2 - 32
`
`EXHIBIT 2 - 32
`
`
`
`
`S
`emuC
`a
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 34 of 63
`4
`820d
`8l/40/Ol
`
`mPS.
`Mm.1_e5tea
`
`3A
`
`omD0F2L99BWe
`
`d1M3FM023ma6QhnS
`
`PSU
`
`23B6n.m4,4832ww,
`
`nwvw
`
`maul—mo
`
`w.=n_no
`
`
`
`>n_OUIUPSmUm
`
`m.m.__u_mam...
`
`
`
`w.#2300mm:
`
`mzo
`
`wwvw
`
`
`
`O...>m._.zwQD<
`
`
`
`MAE._.—n_.._<
`
`
`
`
`
`mm:mozomm
`
`mZO>m#2300
`
`BEN.07..
`
`omvw
`
`mkmjmo
`
`MAEmnm...
`
`
`
`029:...m3."—
`
`«ms—<2may:
`
`mm;
`
`EXHIBIT 2 - 33
`
`EXHIBIT 2 - 33
`
`
`
`
`
`
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 35 of 63
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 31 of 31
`
`US 6,928,442 B2
`
`ONSEA
`
`& ClNTRO-H
`
`E18 O 1.1.SEITDEM
`& CECT, WAARHO-?
`
`
`EALLVSDEN
`
`ESNOdS?R]
`
`EALLISOd
`
`ESNOdSE!?!
`
`
`
`
`
`
`
`
`
`
`
`
`
`EXHIBIT 2 - 34
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 36 of 63
`
`US 6,928,442 B2
`
`1
`ENFORCEMENT AND POLICING OF
`LCENSED CONTENT USING CONTENT
`BASED IDENTIFIERS
`
`This is a continuation of application Ser. No. 09/283,160,
`filed Apr. 1, 1999, now U.S. Pat. No. 6,415,280, which is a
`division of application Ser. No. 08/960,079, filed Oct. 24,
`1997, now U.S. Pat. No. 5,978,791 filed Oct. 24, 2001 which
`is a continuation of Ser. No. 08/425,160, filed Apr. 11, 1995,
`now abandoned.
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`This invention relates to data processing Systems and,
`more particularly, to data processing Systems wherein data
`items are identified by Substantially unique identifiers which
`depend on all of the data in the data items and only on the
`data in the data items.
`2. Background of the Invention
`Data processing (DP) systems, computers, networks of
`computers, or the like, typically offer users and programs
`various ways to identify the data in the Systems.
`Users typically identify data in the data processing System
`by giving the data Some form of name. For example, a
`typical operating System (OS) on a computer provides a file
`System in which data items are named by alphanumeric
`identifiers. Programs typically identify data in the data
`processing System using a location or address. For example,
`a program may identify a record in a file or database by using
`a record number which Serves to locate that record.
`In all but the most primitive operating Systems, users and
`programs are able to create and use collections of named
`data items, these collections themselves being named by
`identifiers. These named collections can then, themselves,
`be made part of other named collections. For example, an
`OS may provide mechanisms to group files (data items) into
`directories (collections). These directories can then, them
`Selves be made part of other directories. A data item may
`thus be identified relative to these nested directories using a
`Sequence of names, or a So-called pathname, which defines
`a path through the directories to a particular data item (file
`or directory).
`AS another example, a database management System may
`group data records (data items) into tables and then group
`these tables into database files (collections). The complete
`address of any data record can then be specified using the
`database file name, the table name, and the record number of
`that data record.
`Other examples of identifying data items include: identi
`fying files in a network file System, identifying objects in an
`object-oriented database, identifying images in an image
`database, and identifying articles in a text database.
`In general, the terms “data” and “data item” as used herein
`refer to Sequences of bits. Thus a data item may be the
`contents of a file, a portion of a file, a page in memory, an
`object in an object-oriented program, a digital message, a
`digital Scanned image, a part of a Video or audio signal, or
`any other entity which can be represented by a sequence of
`bits. The term “data processing herein refers to the pro
`cessing of data items, and is Sometimes dependent on the
`type of data item being processed. For example, a data
`processor for a digital image may differ from a data pro
`ceSSor for an audio signal.
`In all of the prior data processing Systems the names or
`identifiers provided to identify data items (the data items
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`being files, directories, records in the database, objects in
`object-oriented programming, locations in memory or on a
`physical device, or the like) are always defined relative to a
`Specific context. For instance, the file identified by a par
`ticular file name can only be determined when the directory
`containing the file (the context) is known. The file identified
`by a pathname can be determined only when the file System
`(context) is known. Similarly, the addresses in a process
`address Space, the keys in a database table, or domain names
`on a global computer network Such as the Internet are
`meaningful only because they are specified relative to a
`COnteXt.
`In prior art Systems for identifying data items there is no
`direct relationship between the data names and the data item.
`The same data name in two different contexts may refer to
`different data items, and two different data names in the
`Same context may refer to the same data item.
`In addition, because there is no correlation between a data
`name and the data it refers to, there is no a priori way to
`confirm that a given data item is in fact the one named by a
`data name. For instance, in a DP system, if one processor
`requests that another processor deliver a data item with a
`given data name, the requesting processor cannot, in
`general, Verify that the data delivered is the correct data
`(given only the name). Therefore it may require further
`processing, typically on the part of the requester, to verify
`that the data item it has obtained is, in fact, the item it
`requested.
`A common operation in a DPSystem is adding a new data
`item to the system. When a new data item is added to the
`System, a name can be assigned to it only by updating the
`context in which names are defined. Thus Such Systems
`require a centralized mechanism for the management of
`names. Such a mechanism is required even in a multi
`processing System when data items are created and identified
`at Separate processors in distinct locations, and in which
`there is no other need for communication when data items
`are added.
`In many data processing Systems or environments, data
`items are transferred between different locations in the
`System. These locations may be processors in the data
`processing System, Storage devices, memory, or the like. For
`example, one processor may obtain a data item from another
`processor or from an external Storage device, Such as a
`floppy disk, and may incorporate that data item into its
`System (using the name provided with that data item).
`However, when a processor (or Some location) obtains a
`data item from another location in the DP system, it is
`possible that this obtained data item is already present in the
`System (either at the location of the processor or at Some
`other location accessible by the processor) and therefore a
`duplicate of the data item is created. This situation is
`common in a network data processing environment where
`proprietary Software products are installed from floppy disks
`onto Several processors sharing a common file Server. In
`these Systems, it is often the case that the Same product will
`be installed on Several Systems, So that Several copies of
`each file will reside on the common file server.
`In Some data processing Systems in which Several pro
`ceSSors are connected in a network, one System is designated
`as a cache Server to maintain master copies of data items,
`and other Systems are designated as cache clients to copy
`local copies of the master data items into a local cache on an
`as-needed basis. Before using a cached item, a cache client
`must either reload the cached item, be informed of changes
`to the cached item, or confirm that the master item corre
`
`EXHIBIT 2 - 35
`
`
`
`Case 5:18-md-02834-BLF Document 220-2 Filed 10/04/18 Page 37 of 63
`
`US 6,928,442 B2
`
`3
`sponding to the cached item has not changed. In other words,
`a cache client must Synchronize its data items with those on
`the cache Server. This Synchronization may involve reload
`ing data items onto the cache client. The need to keep the
`cache Synchronized or reload it adds significant overhead to
`existing caching mechanisms.
`In view of the above and other problems with prior art
`Systems, it is therefore desirable to have a mechanism which
`allows each processor in a multiprocessor System to deter
`mine a common and Substantially unique identifier for a data
`item, using only the data in the data item and not relying on
`any Sort of context.
`It is further desirable to have a mechanism for reducing
`multiple copies of data items in a data processing System and
`to have a mechanism which enables the identification of
`identical data items So as to reduce multiple copies. It is
`further desirable to determine whether two instances of a
`data item are in fact the same data item, and to perform
`various other Systems functions and applications on data
`items without relying on any context information or prop
`erties of the data item.
`It is also desirable to provide Such a mechanism in Such
`a way as to make it transparent to users of the data
`processing System, and it is desirable that a single mecha
`nism be used to address each of the problems described
`above.
`
`SUMMARY OF THE INVENTION
`This invention provides, in a data processing System, a
`method and apparatus for identifying a data item in the
`System, where the identity of the data item depends on all of
`the data in the data item and only on the data in the data item.
`Thus the identity of a data item is independent of its name,
`origin, location, address, or other information not derivable
`directly from the data, and depends only on the data itself.
`This invention further provides an apparatus and a method
`for determining whether a particular data item is present in
`the System or at a loc