`Case 5:18—md-02834-BLF Document 222-2 Filed 10/04/18 Page 1 of 63
`
`EXHIBIT 2
`EXHIBIT 2
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 2 of 63
`ililililllll lll lllll lllll lllll llll lllll llill llll lilll lillll llll llll llll
`us00692844282
`lro¡ Patent No.: US 6'928 1442 B2
`1+s¡ Date of Patent: Aug. 9,2005
`
`(12) United States Patent
`Farber et al.
`
`FOREIGN PAIENT DOCUMENTS
`
`EP
`
`o592045
`
`41t994
`
`OTHER PUBLICATIONS
`
`Gwertzman, James, et al. "The Case tbr Geographical Push-
`Caching." Technical Report HU TR 34-94 (excerpt), Har-
`vard University, DAS, Cambridge, M402138, 1"994,2p5s'
`Grigni, Michelangeio, et al. "Tight Bounds on Minimum
`Broadcasts Networks." SIAM Journal of Discrete Math-
`ematics, vol.4, No. 2,May L99l,pp.2O7-222.
`Devine, Robert. "Design and Implementation of DDH: A
`Distributed Dynamic Flashing Algorithm." In Proceedings
`of 4th International Conference on Foundations of Data
`Organizations and Algorithms, 1993, pp. 101-1i4.
`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)
`
`ABSTRACT
`
`Primary Examiner-1,ttke S Wossum
`A ss Ls t ant Ex aminer--!.hanh Ph am
`(74) Attorney, Agent, or Firm.--Ðavidson Berquist Jackson
`& Gowdey, LLP
`(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 flles
`may represent may represent digital messages, images,
`videos or audio signals. For content--{ata 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 fìle. 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
`
`(s4) BNFORCEMENTAND POLICING OF
`LICENSED CONTENT USING
`CONTBNT.BASED IDENTIFIERS
`(75) Inventors: David A. Farber, Ojai, CA (US);
`Ronald D. Lachman, Norlhbrook, IL
`(US)
`(73) Assignees: Kinetech, Inc., Northbrook, IL (US);
`Savvis, [nc., Town & Country, MO
`(US)
`( - ) Notice: Subject to any disclaimer, the term of this
`patent is extended or adjusted uncler 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 091987,723
`(22) Filed: Nov. 15,200L
`(65)
`Prior Publication Data
`US 2OO2|OO52884 Al Ill4.ay 2,2OO2
`
`Related U.S. Application Data
`
`(63) Continuation of application No. 09/283,160, filed on Apr' L,
`1999, now Pat. Ño. 6,4L5,28O, which is a division of
`application No. 08i960,079, frled on Oct. 24,199'1, now Pat.
`Nó. 5,978,791, which is a continuation of application No.
`081425,t6O, frled on Apr. 1,1, 1995, now abandoned.
`G06F 17130
`Int. Cl.7
`707110; 707 13; '707 ltoL;
`u.s. cr.
`7 o7 I 200; 7 09 1203; 7 09 l2t9 ; 7 09 1229
`(58) Field of Search
`707 t3, 6, 9, tO,
`7071101, 200; 7091203, 2I9, 229
`
`(s1)
`(s2)
`
`(s6)
`
`References Cited
`U.S. PAIENT DOCUMENTS
`
`611972 Evangelßti
`7/1980 Mitchell
`9/1981 Cichelli
`3/1983 Rivest
`9/1983 Rivest
`10/1983 Neches
`
`(Continued)
`
`AAA
`
`3,668,647
`4,215,402
`4,290,105
`4,376,299
`4,405,829
`4,412,285
`
`"r"I
`
`OAÍA ITÊM
`
`OOI'¡PUTE ilID FUNCIION ON
`DÀTA rfEM
`
`LENGTH MODULO 12 OF
`DÀTA NEl¡
`
`I
`
`EXHIBIT 2 . 1
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 3 of 63
`
`us 6,928,442 B2
`Page 2
`
`1r/1983
`4/1984
`811984
`raß84
`211986
`3/1986
`211987
`61t987
`911987
`211988
`9/t988
`12/L989
`12/t989
`511990
`511990
`trl199o
`6/1991
`9l199t
`9lt99t
`LOIî991
`r2lL99t
`711992
`711992
`91t992
`ll1993
`411993
`511993
`rlL994
`211994
`41t994
`41r994
`811994
`811994
`to/1994
`Llt995
`41t995
`911995
`tolL995
`711996
`1211996
`611997
`611997
`
`* 71t998
`
`U.S. PAIENT DOCUMENTS
`4,414,624 A
`4,447,155 A
`4,464,'713 A
`4,490,782 A
`4,57L,'700 A
`4,577,293 A
`4,642,793 A
`4,675,870 ^
`4,69r,299 A
`4,'725,945 A
`4,773,039 A
`4,887,235 A
`4,888,681 A
`4,922,474 A
`4,922,4t7 A
`4,9'.72,367 A
`5,025,42r A
`5,050,074 A
`5,050,212 A
`5,057,837 A
`5,07'7,658 A
`5,729,08t A
`5,r29,O82 A
`5,144,66'7 A
`5,179,680 A
`5,202,982 A
`5,208,858 A
`5,276,901. A
`5,287,499 A
`5,307,286 A
`5,301,316 A
`5,34r,477 A
`5,3ß,5n A
`5,35'7,623 A
`5,384,565 A
`5,404,508 A
`5,452,447 A
`5,459,860 A
`5,542,087 A
`5,581,758 A
`5,638,443 A
`5,640,564 A
`5,781,629 A
`5,802,29t A
`5,809,494 A
`5,835,087 A
`5,907,704 A
`6,00ó,018 A
`6,t34,603 A
`
`911998
`911998
`+ tLl1998
`s11999
`L2lt999
`1012000
`
`OTHER PUBLICATTONS
`
`Cormen, Thomas H., et al. Introduction to Algorithms,'lhe
`MIT Press, Cambridge, Massachusetts, 1994, pp. 219-243,
`99L-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. "Pseuclorandom Generators for Space-
`Bounded Computation." In Proceedings of the Twenty-
`Second Annual ACM Symposium on Theory of Computing,
`May L990, pp.204-2.12.
`Palmer, Mark, et al. "Fido: A Cache that læarns to Fetch."
`In Proceedings of the 17th Internationai Conference on Very
`Large Data Bases, Sep. 1991, pp. 255-264.
`Peleg, David, et al. "The Availability of Quorum Systems'"
`Information and Computation I23, L995, 2LO-223.
`
`Summer, Jr.
`Fletcher
`Benhase
`Dixon
`Emry, Jr.
`Matick
`Meaden
`Gruner
`Rivest
`K¡onstadt
`Tamora
`Holloway
`Barnes
`Holloway
`Churm et al. .................. 7O7ll
`Burke
`Cho
`Marca
`Dyson
`Colwell
`Bendert
`Kobayashi
`Tirfing
`Pogue, Jr.
`Colwell
`Gramlich et al. .............. 7O712
`Vollert
`Howell
`Nemes,.,..........,,,.....,,,,. 70712
`Rajani
`Hamilton
`Pitkin et al. ...,.,.......... 7O9n26
`Moore
`Megory-Cohen
`Cannon
`Konrad
`Nelson et al. .............. 7O7l2O5
`Burnett
`Neimat et al. ................ 7O7lLO
`Burnett
`Stefrk et al. .................. 7O5154
`Hamilton et al. .......,... 7O9ß03
`Haber et al. ................ 7131L77
`Balick et al. ..,............ 709/202
`Nguyen .......... ............... 7O'7 ll
`Herz et al.
`345/8lO
`Gudmundson et al.
`Burnett et al. ......... 3951200.49
`Jones et al. ................. 7091330
`
`Rabin, Michael. "Efficient Dispersal of Information for
`Security, l-oad Balancing, and Fault Tolerance"'Journal of
`the ACM, vol. 36, No. 2, Apr. 1989, pp. 335-348.
`Ravi, R., "Rapid Rumor Ramiflcation: 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 a1. "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 Equaiity." Journal of Computer
`and System Sciences vol.22, Jun. 1981, pp' 265-2i79,
`Vitter, Jeffrey Scott, et al. "Optimal Prefetching via Data
`Compression." In Proceedings of 32nd IEEE Symposium on
`Foundations of Computer Science, Nov. 1,991, pp.l2l-I30.
`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. 61.5-628.
`F1oyd, 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. "lmplementing Global Memory Man-
`agement in a Workstation Cluster." In Proceedings of the
`15th ACM Symposium on Operating Systems Principles,
`1995, pp. 20L-212.
`Carter, J. Lawrence, et al. "Universal Classes of Hash
`Functions," Journal of Computer and System Sciences, vol.
`18, No. 2, Apl 1979, pp. 143-1'54.
`Patent Abstracts of Japan, "Electronic Mail Multiplexing
`System and Communication Control Method in The Sys-
`tem." Jun. 30, 1993, JP 051'62529.
`Kim et a1., "Experiences with Tripwire: Using Integrity
`Checkers For Intrusion Detection", COAST Labs. Dept. of
`Computer Sciences Purdue University, Feb. 22' 1995, pp.
`t-rz.
`Kim et a1., "The Design and Implementation of Tripwire: A
`flle System Integrity Checker", COAST Labs. Dept' of
`Computer Sciences Purdue University, Nov. 19, 1993' pp.
`t-2t.
`Bert dem Boer et al., Collisions for the compression function
`of MD5, pp.292104.
`Sakti Pramanik et al., Multi-Directory Hasing, 1'993, Info.
`Sys., vol. 18, No. l, pp. 63J4.
`Murlidhar 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., LFI--Linear Hashing for Distributed
`Files, HP Labs Tech. Report No. HPI-93-21.,Jun. 1993' pp'
`t12.
`Yuliang Zheng et a1., HAVAL-A One-Way Hashing Algo-
`rithm with Variable tængth of Output (Extended Abstract),
`pp. 83-105.
`Chris Charnes and Josef Pieprzky, Linear Nonequivalence
`versus Nonlinearity, Pieprzky, pp. 1'56-164.
`EXHIBIT 2 . 2
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 4 of 63
`
`us 6,928,442 ß2
`Page 3
`
`Witold Litwin et al., Linear Hashing for Distributed Files,
`ACM SIGMOD, May 1993, pp. 327-336.
`Ming-Ling Lo et a1., On Optimal Processor Allocation to
`Support Pipelined Hash Joins, ACM SIGMOD, pp. 69-78,
`May 1993.
`Thomas A. Berson, Differential Cryptanalysis Mod 232 with
`Applications to MD5, pp. 69-81.
`William Perrizo et al., Distributed Join Processing Perfor-
`mance Evaiuation, 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,
`
`Zhiyu Tian et a1,, A New Hashing Function: Statistical
`Behaviour and Algorithm, pp. 3-13.
`G. L. Friedman, Digitai Camera with Apparatu for Authen-
`tication of Images Procluced from an Image File, NASA
`Case No. NPO-19108*1-CU, U.S. Appl. No. 08/159,980,
`flled Nov. 24,1993.
`H. Goodman, Ada, Object-Oriented Techniques, and Con-
`currency in Teaching Data Structures and File Management
`Report Documentation p. N)-A275 385 - 94-04277.
`Advances in Cryptotogy-Eurocrypt'93, Workshop on the
`Theory and Application of Cryptographic Techniques
`t¡fthus, Norway, May 23-27, 1993 Proceeclings.
`Proceedings of the 1993 ACM SIGMOD International Con-
`ference on Management of Data, vol.22,lssue 2, Jun. L993.
`
`Advances in Cryptology-AUSCRYPT'92-Workshop on
`the Theory and Application of Cryptographic Techniques
`Gold Coast, Queensland, Australia, Dec. 13-16, L992Pro'
`ceedings.
`Peter Deutsch þeterd@bunyip.com), "Re: MD5 and LiFNs
`(was: Misc Comments)", www.acl.lanl.goviURl/archive/
`uri-94q2.messages/O106.htm1, Ãpr. 26, 1994.
`Alexander Dupuy (dupuy@smarts.com), "RE: MD5 and
`LIFNs (was: Misc Comments)", www.ac1.1an1.gov/URl/ar-
`chive/uri-94q2.messages/0113.html, Apr. 26, 1.994.
`Alexander Dupuy (clupuy@smarts.com), "MD5 and LIFNs
`(was: Misc Comments)", www.acl.lanl.goviURl/archive/
`uri-94q2.messages/0081.html, Apr. 17, 1994,
`Albert Langer (cmf85 1 @anu.oz. au), http://groups.google-
`.com/groups?selm=
`199 1 Ãng7 .225L59.7 B67o40newshost.anu.edu.au&oe=
`UTF-8&outpul=gp1ain, Aug. 7, 1"991.
`Clifford Lynch (Calur@uccmvsa.bitnet), "ietf url/uri over-
`view draft paper (long)", www.acl.1anl.gov/URl/archive/
`uri-93q1.messages/OO15.htm1, Mar. 25, 1993.
`K. Sollins and L. Masinter, "Functional Requirements for
`Uniform Resource Names", www.w3.org/Addressing/
`rfct737.txt,Dec. 1994,pp. 11 .
`W3C:ID, HTTP: A protocol for networked information,
`"Basic HTTP as defined in 1992", www.w3.orgÆrotocols/
`HTTP2.html, 1992.
`European Search Report issued Dec. 23,2004.
`* cited by examiner
`
`EXHIBIT 2 - 3
`
`
`
`Å (
`
`t)
`{.Y
`
`a h
`
`PF
`
`î.
`
`tDT-F}
`
`oe
`\o
`b.J
`
`(,I
`
`(n
`
`tD
`(Þ
`
`(,
`
`l-1
`(t)
`_o\\o
`\J
`
`oêÀ5\J
`
`iÇ{
`\J
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 5 of 63
`
`FlG. l(o)
`
`102
`
`02
`
`STORAGE
`DEI/ICE
`
`rt¡
`
`STORAGE
`DAflGE
`
`PROCESSOR
`
`lal
`
`PROCESSOR
`
`10?.
`
`102
`
`PROCESSOR
`
`PROCESSOR
`
`106
`
`102
`
`PROCESSOR
`
`190
`
`¡l1
`
`XHt{-tl
`-Ê
`ì.J
`IÈ
`
`
`
`Å\_{
`(n
`t'Y
`I
`
`ËF
`
`al
`
`ID---|.
`
`\o
`b.¿
`
`(r¡
`
`(n
`
`rÞ
`(D
`
`b.)
`
`t,
`
`(t)
`o\
`\o
`\.Jæ
`Èà
`
`\.¿
`N
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 6 of 63
`
`I Ii
`
`-t
`
`I ¡ I ¡ I I It IIItI I I I I II I I I I I I tII I I I I II I rIlI¡III I I I I I ¡
`
`J
`
`PROCESSOR
`
`ro2
`
`110
`
`MEMORY
`
`132
`AF
`
`134
`AL
`
`156
`SMD
`
`152
`GFL
`
`154
`SAD
`
`124
`LDE
`
`126
`TFR
`
`128
`RT
`
`130
`ST
`
`136
`LT
`
`158
`GL
`
`0
`CPU
`
`STORAGE
`DE1'ICE
`
`114
`
`f-
`
`¡IIIItIIIIIIIIIIII I I I IIII IItIIIIIIII I I I IIII III IIIIII
`
`Ftc. t(b)
`
`tlj
`Xi
`Èr
`l-l
`l-{È
`
`b.J
`
`IU
`
`I
`
`
`
`da(n
`
`a I,
`
`vüt
`
`¡+
`tD
`
`I)(+
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 7 of 63
`
`FIG.2
`
`1,16
`
`F¡LE
`SYSTEM
`
`17
`
`117
`
`REGION
`
`REGION
`
`ltr
`
`17
`
`117
`
`REGION
`
`REGION
`
`118
`
`{{8
`
`rt8
`
`qc
`\o
`b.)
`
`ut
`
`Ø (
`
`Þ
`tD
`
`(,
`(,
`
`(t)
`
`\o
`b.)
`oo
`
`Àè\.)
`
`\.)
`
`DIRECTORY
`
`DIRECTORY
`
`llt
`
`DIRECTORY
`
`t20
`
`FILE
`
`120
`
`FILE
`
`¡¡¡
`
`122
`
`122
`
`SEGMENT
`
`SEGMENT
`
`¡ll
`
`120
`
`F¡LE
`
`122
`
`SEGMENT
`
`FI
`XH
`
`l{-iá/-È
`
`b.J
`\
`
`¡o
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 8 of 63
`
`IJ.S. Patent
`
`Aug. 9,2005 Sheet 4 of 3L
`
`us 6,928,442 82
`
`FIG.3
`ID
`Patb.name
`|[t¡'ge Narne
`
`FÍ1e ID
`Tl-me of
`Iast accest
`Time of ]"ast modi
`Safe f
`L¡rck f
`Size
`
`Lon
`
`FIG. 4
`Srue
`Fi]"C ID
`
`Source IDs
`
`eID
`
`essors
`
`Use count
`IaÊt access
`Time of
`iration
`delete count
`
`ID
`ion fll-e
`atfina:¡e
`Lon
`ion status
`Mirror
`I'firror
`Pol
`FIG.5
`
`sor s
`licatÍon count
`
`t38 -
`
`r40
`
`l4?
`
`EXHIBIT 2 . 7
`
`
`
`Å a(
`
`a I,
`
`n
`v
`Êe(+oIt-
`
`(-f
`
`ga
`\o
`1\)
`
`ut
`
`(n
`
`rÞ
`(Þ
`
`Øt
`(,
`
`(D
`o\
`\o
`N)æ
`5À
`
`l.J
`
`\.)
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 9 of 63
`
`FIG.6
`
`source ID
`6ource tYfre
`source rLqhts
`source avallablltty
`aource l0catlon
`
`FIG. 7
`
`or
`
`I Name
`10n
`
`Processor ID
`,lr
`
`Pathname
`llrue Name
`
`FIG.8
`
`date of
`of
`lme NaDs
`
`FIG. 9
`
`True Name
`Iicensee
`
`144
`
`t46
`
`t48
`
`t50
`
`FI
`
`XHì{l.'{
`
`w-Ê b
`
`,¿
`
`Iæ
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 10 of 63
`
`LJ.S. Patent
`
`Aug. 9,2005 Sheet 6 of 31
`
`us 6,928,442 B2
`
`FlG. l0(o)
`
`t
`I
`
`IIII I I I I I I I I I I ¡II I I I I I I I II
`
`,'T
`
`DATA ITEfuI
`
`18
`
`s212
`COMPUTE MD FUNCTION ON
`DATA ITEM
`
`s214
`APPEND LENGTH MODULO 32 OF
`DATA ¡TEIT
`
`t,
`
`I
`
`rR
`
`NAIttlE
`
`\
`
`/
`
`,
`
`II I I
`
`I
`t
`I
`
`\
`
`EXHIBIT 2 - 9
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 11 of 63
`
`U.S. Patent
`
`Aug. 9,2005 Sheet 7 or 31.
`
`us 6,928,442 B2
`
`s216
`DATA ITEIVI
`SIMPLE?
`
`FtG. to(b)
`
`s20
`PARTMON DATA TTEM NTO
`SEGMENTS
`
`ASSIMII.ATE EACH SEGMENT
`(GoMPUTING ITS TRUE NAME)
`
`CREATE INDIRECT BLOCK OF
`SEGMENTTRUE NAMES
`
`7l
`
`8
`S2
`COMPUTE TRUE
`NAME OF SIMPLE
`DATA ITEM
`
`ASSIMILATE INDIRECT BLOCK
`(coMPuTlNG tTS TRUE NAME)
`
`I
`REPLACE FINAL 32 BITS OF TRUE
`NAMEWITH LENGHT MOD 32 OF DATA
`lTElvl
`
`EXHIBIT 2 - IO
`
`
`
`-a(n
`
`a H'
`
`lJ
`7FI
`(D
`IJ
`FI
`
`gç
`\o
`b.J
`
`ut
`
`(n
`
`tÞ
`(Þ
`
`æ (
`
`,
`
`(n
`o\
`\o
`NJ
`
`aÊèÈ
`\J
`l+l
`\)
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 12 of 63
`
`FlG. 1l
`
`s236
`. CREATE NEW ENTRY
`* SET USE COUNT TO I
`. STORE FILE ID
`* SET OTHER FIELDS
`
`0
`DETERMINE
`TRUE NAME
`
`s232
`
`DOES TRUE NAME
`EXIST IN TRUE FILE
`REGISTRY?
`
`s237
`
`DOES ENTRY
`HAVE F¡LE ID?
`
`DELETE FILE ID
`
`STORE FILE ID
`
`l!
`XHt¡ll-{
`
`w-Êt
`
`,J
`I
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 13 of 63
`
`f].S. Patent
`
`Aug. 9,2005 Sheet 9 of 31
`
`us 6,928,442 ß2
`
`FlG.l2
`
`s238
`FILE
`LOCKED?
`
`vEs
`
`s240
`UPDATE
`DEPENDENCY
`LIST
`
`9242
`
`SEND MESSAGE TO
`CACHE SERVER TO
`UPDATE C.A,CHE
`
`s244
`COMPRESS
`(rF DESTRED)
`
`s246
`MIRROR
`(rF DESTRED)
`
`EXHIBIT 2 - 12
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 14 of 63
`
`f].S. Patent
`
`Aug. 9,2005 Sheet 10 of 31
`
`us 6,928,442 B2
`
`FlG. 13
`
`FAIL
`
`s250
`SEARCH FOR
`THE
`PATHNAME
`
`rcUND
`
`252
`LDE INGLUDES
`
`Es
`
`s258
`
`ASSIMII-ATE
`FILE ID
`
`s254
`
`LDE IDENTIFIES
`DIRECTORY?
`
`s256
`FREEzE
`DIRECTORY
`
`EXHIBIT 2 .13
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 15 of 63
`
`f].S. Patent
`
`Aug. 9,2005 Sheet LL of 3L
`
`us 6,928,442 ß2
`
`FlG.l4
`
`YES
`
`s268
`DELETË
`TRUE FILE
`
`s260
`GONFIRM THAT
`TRUE NAME
`EXI$TS LOGALLY
`
`s262
`SEARCH FOR
`PATHNAIVIE IN
`LDE TABLE
`
`s264
`CONFIRM THAT
`DIRECTORY
`ÐflsTS
`
`s266
`
`NAMED FILE
`EXISTS?
`
`NO
`
`CREATE
`ENTRY IN LDE
`A UPDATE
`
`EXHIBIT 2.14
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 16 of 63
`
`F4L--r
`a(n
`
`a l
`
`+lY
`}
`tDIJ
`FI
`
`PF
`
`s274
`SEND RTF
`MESSAGE &
`WAIT FOR
`RESPONSE
`
`POSITME
`RESPONSE
`
`s276
`ENTERTRUE FILE
`RETURNED INTO
`TFR
`
`_û.e
`
`\o
`ù.J
`
`l,r
`
`(n
`ôô
`
`ò.)
`(,
`
`(â
`g\
`\o
`l.Jû
`èè\)
`
`ti
`b,)
`
`NO
`
`s272
`IS LOCATION A
`ROCESSO
`
`YES
`
`NEGATNÍE
`RESPONSE
`
`FAIL
`
`82
`VERIFY TRUE
`FILE (rF
`DESTRED)
`
`REOUEST
`MOUNT
`
`FIND FILE
`
`FlG. l5
`
`Ll
`
`X!i+l-t
`t,/
`l-lÈ
`l-J
`
`I U
`
`I
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 17 of 63
`
`t-í\--r
`a(t)
`
`a l
`
`+'{Y
`}
`(Þ
`H-(.+
`
`ÈF
`
`FAIL
`
`FlG. 16(o)
`
`o.e
`\o
`l.¡
`(,r
`
`(n
`
`rÞ
`tÞ
`
`(,
`(,
`
`-(t
`_â\o
`\.)a
`5È
`b.)
`91,\¿
`
`CLIENT
`SELECTS
`PROCESSOR(SI
`
`s285
`ANY
`PROCESSORS
`
`lrEs
`
`s286
`
`CLIENT
`BROADCASTS
`
`I
`CLIENT
`WAITS
`
`RESPO¡ISE
`
`OR
`
`!Ll
`
`).'(
`
`Xì+t{
`i*/-F.l
`
`b')
`
`¡ o
`
`\
`
`
`
`Å\-
`(t)
`l+lYã(+
`t)(!f
`
`(Þ
`
`ga
`jo
`
`b.)
`
`ut
`
`(n
`
`ôr
`
`Þ Þ (
`
`,
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 18 of 63
`
`\7
`
`S29OA
`
`SOURCE OF TRUE
`NAME DIFFERS FROM
`DESTINATION?
`
`90
`
`STORE
`PROCESSOR ID
`
`FtG. t6(b)
`
`s2908
`LOOK UP TFR FOR
`TRUE NAME & ADD
`SOURCE LOCATION ID
`TO SOURCE IDS FOR
`TRUE NAME
`
`1c
`S2
`SEND MESSAGE TO
`RESERVE TRUE FILE
`ON SOURCE
`PROGESSOR
`
`c
`souRcE ls \
`PUBLISHING
`M?C
`
`\,/
`
`s2e1d
`
`DETERMINE
`EXPIRATION DATE
`AND ADD TO LIST
`
`l-1
`(n
`o\
`\o
`ì..)æ
`ÀÈ
`
`\.J
`
`\¿
`
`Þq
`
`Xti
`Ér
`l-l
`\,4,/
`i-lÈ
`\J
`
`I {
`
`
`
`da(t)
`
`a l
`
`+lY
`Êer+
`tDt-FI
`
`ge
`\o
`b.)
`
`ut
`
`(n
`(Þ
`(Þ
`
`ut
`(,
`
`t4
`(â
`o\
`\o
`N)æ
`5È
`i+(\)
`
`\J
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 19 of 63
`
`F
`
`(7G
`
`o
`
`)
`
`NO
`
`FAIL
`
`s292
`
`FILE
`IN TTR FORTRUE
`NAME?
`
`YES
`
`s294
`
`FILE ID FOR
`
`yEs
`
`DONE
`
`¡JO
`
`s29ô
`
`vEs
`
`s298
`
`GOMPRESSED
`FILE ID?
`
`NO
`
`DECOMPRESS
`
`FI
`
`XHr{l-l
`-È
`
`ì.J
`
`I æ
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 20 of 63
`
`/1\-
`(n
`+lY
`Ër+
`I-FÈ
`
`(D
`
`a l
`
`s30
`
`STORE ¡D
`
`DONE
`
`FtG. t7(b)
`
`qe
`\o
`b.¿
`
`ut
`
`(n
`
`tÞ
`(Þ
`
`o\
`
`t,
`
`CN
`o\
`\o
`b¿æ
`èÈ
`\J
`
`ò.)
`
`s302
`NOTIFY
`USER
`
`LOCATE
`REIVIOTE FILE
`
`NO MORE
`URCE
`
`SELECT
`SOURCE IDS
`
`s306
`REALIZE TRUE
`FILE FROM
`souRcE(s)
`
`FILE
`
`FI
`
`XHrl
`¡-,(w
`-Fl
`
`b,J
`I
`\o
`
`
`
`71\_{
`a(n
`f+lY
`È
`rÞE-él
`
`PF
`
`
`)o
`l.¡
`
`(,I
`
`(â
`
`(Þ
`(Þ
`
`\¡
`(,
`
`(n
`o\
`\o
`\,)
`
`æÈÈb
`
`..)
`i+{
`l.¿
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 21 of 63
`
`s310
`
`SHOU
`BE COPY OF TRUE
`FILE?
`
`s318
`DELE-TE
`TRUE FILE
`
`FlG. l8(o)
`
`s312
`FILE ID FOR
`
`DONE
`
`¡JLAKE TRUE
`F¡LE LOCAL
`
`s316
`¡DENTIFIES
`ÐflSTING TRUE
`FILE?
`
`CREATE NEW
`SCR^ATCH FILE
`
`DONE
`
`L-¡
`
`XHl-{
`
`FI
`
`w-Ël
`
`\J
`I
`\,.J
`
`
`
`õ(
`
`n
`+lY
`?(+
`rÞ
`I)FI
`
`a l
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 22 of 63
`
`o
`
`s326
`USE COUNT
`=1?
`
`YES
`
`FtG. lg(b)
`
`s330
`COPY FILE TO NEW
`FILE, STORE F¡LE lD
`IN LDETABLE,
`DECREMENT USE
`COUNT
`
`s328
`SAVE FILE ¡D &
`REMOVE TFR
`ENTRY
`
`0e
`\o
`l.)
`(^
`
`(t)
`
`(Þ
`rÞ
`
`oo
`(,
`
`(n
`o\
`\o
`ì.¿æ
`Aè
`
`\.¿
`h(
`\.)
`
`fLl
`XlÇlÉr
`-w
`-Fl
`ì.J
`I
`
`\.)
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 23 of 63
`
`Å(
`
`n
`+lYë
`-ftÞ--{rt\
`
`a f
`
`oe
`
`¡')
`
`Øt
`
`(ñ
`(Þt!
`
`\o
`(,
`
`(t)
`o\
`\o
`l\)
`æ"A
`.J
`
`È\
`
`t¿
`
`FlG. l9(o)
`
`s334
`FREEZE IF
`DIRECTORY
`
`s336
`ASSIMITÂTE
`UNASSIMII-ATED
`FILE
`
`s332
`
`INCREMENT
`FREEZE LOCK
`
`FOR EACH
`SUBORDINATE
`FILE AND
`DIREGTORY IN THE
`GIVEN DIREGTORY
`
`s337
`CREATE NEW
`DATA TTEIJI
`
`Þn
`
`Xl+lr¡t-w
`-Ë
`
`b.J
`
`I b
`
`.J
`\.J
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 24 of 63
`
`ca(t)
`
`FI
`
`ge
`\o
`\.¡
`(¡
`
`Ø r
`
`Þ
`rÞ
`
`b.)
`
`O)
`
`ADD ENTRYTO
`NEW DATA
`ITEM
`
`RECORD
`ADDITIONAL
`DESIRED
`INFORMATION
`
`FtG. tg(b)
`
`(t)
`o\
`\o
`b¿
`
`ooÀè
`
`\J
`l4l
`ì'¿
`
`tN l]{E
`
`FOR
`SU
`
`FILE
`
`D G
`
`IVEN
`
`NEW
`
`THE
`lTEM
`
`THE
`
`l!
`Xl+l|¡rE
`wl-{Ê
`
`\J
`.J(,
`
`I b
`
`a l
`
`+lU
`È
`(Þ¡J
`
`ÈF
`
`
`
`/1
`(n
`liY
`È
`tD
`
`ÐF
`
`I-FI
`
`_û.e
`
`}o
`l.)
`
`(,I
`
`(â
`
`(D
`tD
`
`b.)
`
`(,
`
`(n
`_â\o
`\.)
`
`æÈÈ\
`
`.)
`
`\.)
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 25 of 63
`
`FIG.?O
`
`s346
`MAKE TRUE
`FILE LOCAL
`
`s354
`DONE
`
`NO MORE
`ENTRIES
`
`s353
`FOR EAGH
`DIRECTORY
`ENTRY
`
`MORE
`ENTRI
`
`s348
`READ
`DIRECTORY
`
`s350
`CREATE FULL
`PATHNAME
`
`LINK PATH TO
`TRUE NAME
`
`t!
`XHH
`
`l-(
`
`w-Êl
`
`.J
`I
`l-JÈ
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 26 of 63
`
`LJ.S. Patent
`
`Aug. 9,2005 Sheet 22 or 3l
`
`us 60928,442 ß2
`
`FlG.2l
`
`s354
`WA]T FOR
`FREEZE LOCK
`TO TURN OFF
`
`FIND TFR
`ENTRY
`
`s358
`DECREMENT
`REFERENCE
`COUNT
`
`s360
`
`REFERENCE GOUNT ¡S
`ZERO & NO DEPENDENT
`SYSTEMS IN TFR?
`
`YES
`
`s362
`DELETE
`TRUE FILE
`
`s364
`
`REMOVE FILE ID
`AND COMPRESSED
`F¡LE ID
`
`EXHIBTT 2 .25
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 27 of 63
`
`U.S. Patent
`
`Aug. 9,2005 Sheet 23 of 3l
`
`us 6,928,442 B2
`
`GET
`OPERATION
`
`FlG. 22
`
`s366
`CREATE OR
`MODIFY?
`
`yEs
`
`s368
`
`ASS¡MII.A.TE
`
`NEWTRUE
`FILE
`
`s376
`
`COPY OR DELE-TE
`COMPOUND?
`
`s379
`FOR EAGH PARENT
`DIRECTORY OR F¡LE,
`UPDATE USE COUNT,
`LAST ACCESS AND
`MODIFY T¡MES
`
`s378
`MODIFY USE
`COUNT OF EACH
`COMPONENT
`
`s370
`RECORD TRUE
`NAME IN AUDIT
`FILE
`
`EXHIBIT 2 - 26
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 28 of 63
`
`fJ.S. Patent
`
`Aug. 9,2005 Sheet 24 or 3l
`
`us 6,928,442 B2
`
`FIG,23
`
`s382
`VERIFY
`GROOMING
`LOCK OFF
`
`s384
`SET
`GROOMING
`LOCK
`
`s386
`SET GROOM
`COUNTS
`
`EXHIBIT 2 .27
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 29 of 63
`
`f.].S. Patent
`
`Aug. 9,2005 Sheet 25 or 31'
`
`us 6,928,442 ß2
`
`FlG.24
`
`s388
`FIND LDE
`RECORD
`
`s390
`FIND TFR
`RECORD
`
`s392
`INCREMENT
`GROOMING
`DELETE COUNT
`
`s394
`ADJUST FILE
`SIZES
`
`EXHIBIT 2 .28
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 30 of 63
`
`LJ.S. Patent
`
`Aug. 9,2005 Sheet 26 or 3l
`
`us 6,928,442 B2
`
`FlG.25
`
`s396
`DELETE
`FILE
`
`s398
`UNLOGK
`GROOMING
`LOCK
`
`EXHIBIT 2 - 29
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 31 of 63
`
`s400
`FILE ÞOSTS
`
`FlG.26(o)
`
`s402
`BEII{G
`GREATED?
`
`s404
`PROH¡B¡T
`OPEN
`
`DETERMINE
`REGION
`
`I
`READ
`ONLY?
`
`s416
`READ.oNLY
`
`t
`
`s422
`PROHIBIT
`OPEN
`
`s419
`SCRATCH
`FILE?
`
`rEs
`
`NO
`
`71\_,t
`a(n
`a:'9
`ËFI
`rÞ¡-FÈ
`
`ga
`\o
`\.¿
`
`(,I
`
`(n
`
`(Þ
`tÞ
`
`b.)\¡
`(,
`
`(a
`o\
`\o
`b.)æ
`ÞÈ
`
`NJ
`t+'l
`\.)
`
`trj
`
`XHH-w
`-Ë
`ì.J
`I(,
`
`
`
`da(n
`
`a f
`
`+tY
`Êe
`a-f.
`tD
`
`I-FI
`
`ga
`\o
`l.J
`
`ut
`
`(â
`
`rÞ
`(Þ
`
`¡'J
`oo
`(,
`
`t1
`(â
`o\
`\o
`b.)Ø
`ÀÈ
`
`N)
`l+l
`\.)
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 32 of 63
`
`s423
`FILE
`CACHED?
`
`s41g
`BEING
`COMPLETELY
`
`s4l8
`LOCKIF NOT
`LOCKED
`
`S4
`GREATE
`SCRATCH
`COPY
`
`RETURN
`SCRATCH FILE
`ID
`
`FlG.26(b)
`
`s420
`MAKE LOCAL
`VERSION &
`RETURN FILE ID
`FROM TFR
`
`921
`ER.ASE FILE
`
`$406
`
`CREATE
`SCRATCH FILE
`
`tq
`
`Xl+'trii-l
`
`w-Êl
`
`\J
`I(,
`
`
`
`Å\_{
`a(n
`+lY
`Þ(+.
`rÞ
`I-FI
`
`a l
`
`0e
`
`\.¿
`
`ut
`
`Ø t
`
`Dr!
`\.¡\o
`(,
`
`(û
`o\
`\o
`¡'.)Ø
`È5
`
`ì.J
`ti
`NJ
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 33 of 63
`
`DETERMINE LDE &
`RT ENTRY
`RECORDS FOR
`FILE
`
`s423
`LDE RECORD O
`FILE LOCKED OR IN
`READ-ONLY
`DIRECTORY?
`
`PROHIBIT
`DELFNON
`
`IDEI.¡TIFY TRUE
`FILE FROM TRUE
`NAME
`
`FlG.27(o)
`
`¡tl
`Xl+'l
`r¿l-wl-t
`
`Êl
`
`.J
`I
`(¿)
`b,J
`
`
`
`Å\_{
`(n
`lY
`-FI
`tÞI)(+'
`
`at
`
`oa
`\o
`\¿
`(¡
`
`(n
`(Þ
`í0
`(,
`
`U)
`
`ct)
`o\
`\o
`\Jæ
`5È
`
`b,)
`l+(
`b.)
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 34 of 63
`
`s426
`
`FILE HAS NO
`TRUE NAME?
`
`o
`
`s429
`TRUE FILE S
`USE GOUNT IS
`ONE
`
`s431
`
`REDUCE USE
`COUNT BY
`
`s430
`DELETE
`TRUE FILE
`
`FtG.27þl
`
`s427
`DELETE
`SCRATCH COPY
`OF FILE
`
`s28
`ADD ENTRY TO
`AUDIT FILE
`
`FJ
`
`þ¡i
`
`Xft
`-w
`l-lFl
`\J
`(¿ì(,
`
`¡
`
`
`
`=\_{
`a(n
`
`a F
`
`U
`Êe
`ë1.
`
`tD:¿FI
`
`o.e
`\o
`\.)
`(,I
`
`Ø r
`
`Þ
`(Þ
`
`(,
`
`(,
`
`(t)
`o\
`\o
`\J
`ao
`Èè
`
`b.)
`li
`\.)
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 35 of 63
`
`LOOKUP
`TRUE NAME
`
`FlG.28
`
`YES
`
`NO
`
`FOUND?
`
`FORWARD
`REQUEST
`
`s436
`
`REQUEST TO EE
`FORWARDED?
`
`I
`NEGATME
`RESPONSE
`
`s440
`
`ID
`
`OR
`
`F¡LE ID? ]
`
`s444
`
`RESPO
`
`tal
`
`Xl+tr¡i-w
`-Ê
`
`b.J
`I
`
`(¿)È
`
`
`
`Case 5:18-md-02834-BLF Document 222-2 Filed 10/04/18 Page 36 of 63
`
`us 6,928,442 B2
`
`25
`
`l2
`ENFORCEMBNT AND pOLICING OF
`being files, directories, records in the database, objects in
`LICBNSED CONTENT USING CONTENT-
`object-oriented programming, locations in memory or on a
`BASED IDENTIFIERS
`physical device, or the like) are always defined relative to a
`speciflc context. For instance, the file identifred by a par-
`This is a continuation of application Ser. No. 091283,160, s ticular flle name can only be determined when the directory
`fl1ed Apr. 1,1,ggg, now U.S. Pat. No. 6,415,280, which is a
`containing the flle (the contexÌ) is known. The fi1e identifled
`division of application Ser. No. 081960,079, fllecl Oct. 24, by a pathname can be delermined only when the flle system
`1997,nowUS.Pat.No.5,g78,7g1,flledOct.24,200Lwhich (context) is known. Similariy, the addresses in a process
`is a continuation ofSer. No. 08/425,160, fllecl Apr. 11, 1995, address space, the keys in a database table, or domain names
`10 on a global computer network such as the Internet are
`now abandoned.
`meaningful only because they are specifled relative to a
`BACKGROUND OF THE INVENTION
`context.
`In prior art systems for identifying data items there is no
`1. Field of the Invention
`direct relationship between the data names and the data item.
`This invention relates to data processing systems and,
`The same data name in two different contexts may refer to
`more particularly, to data processing systems wherein data
`different data items, and two different data names in the
`items are identifled by substantially unique identifiers which
`same context may refer to the same data item.
`depend on all of the data in the data items and only on the
`In addition, because there is no correlation between a data
`data in the data items.
`name and the data it refers to, there is no a priori way to
`2. Background of the Invention
`conflrm that a given data item is in fact the one named by a
`Data processing (DP) systems, computers, networks of
`data name. For instance, in a DP system, if one processor
`computers, or the like, typically offer users and programs
`requests that another processor deliver a data item with a
`various ways to iclentify the clata in the systems.
`given data name, the requesting processor cannot, in
`general, verify that the data delivered is the correct data
`Users typically identify data in the data processing system
`(given only the name). Therefore it may require further
`by giving the data some form of name. For example, a
`processing, typically on the part of the requester, to verify
`typical operating system (OS) on a computer provides a flle
`that the data item it has obtained is, in fact, the item it
`system in which data items are named by alphanumeric
`identiflers. Programs typically identify data in the data
`requested.
`processing system using a location or address. For example,
`Acommon operation in a DP system is adding a new data
`a program may identify a record in a file or database by using
`item to the system. When a new data item is added to the
`a record number which serves to locate that record.
`system, a name can be assigned to it only by updating the
`context in which names are deflned. Thus such systems
`In all but the most primitive operating systems, users and
`programs are able to create and use collections of named
`require a centralized mechanism for the management of
`names. Such a mechanism is required even in a multi-
`data items, these collections themselves being named by
`processing system when data items are created and identifled
`identiflers. These named collections can then, themselves,
`at separate processors in distinct locations, and in which
`be made part of other named collections. For example, an
`OS may provide mechanisms to group flles (data items) into
`there is no other need for communication when data items
`directories (collections). These directories can then, them-
`are added.
`selves be made part of other directories. A data item may
`In many data processing systems or environments, data
`ilems are transferred between different locations in the
`thus be identified relative to these nested directories using a
`system. These locations may be processors in the data
`sequence of names, or a so-called pathname, which deflnes
`a path through the directories to a particular data item (file
`processing system, storage devices, memory, or the like. For
`or directory).
`example, one processor may obtain a data item from another
`processor or from an external storage device, such as a
`As another example, a database manâgement system may
`floppy disk, and may incorporate that data item into its
`group data records (data items) into tables and then group
`system (using the name provided with that data item).
`these tables into database files (collections). The complete
`address of any data record can then be specifled using the
`However, when a processor (or some location) obtains a
`data item from another location in the DP system, it is
`database flle name, the table name, and the record number of
`that data record.
`possible that this obtained data item is already present in the
`system (either at the location of the processor or at some
`Other examples of identifying data items inciude: identi-
`fying flles in a network flle system, identifying objects in an
`other location accessible by the processor) and therefore a
`object-oriented database, identifying images in an image
`duplicate of the data item is created. This situation is
`database, and identifying articles in a text database,
`common in a network data processing environment where
`proprietary software products are installed from floppy disks
`In general, the terms "data" and "data item" as used herein
`onto several processors sharing a common file server' In
`refer to sequences of bits. Thus a data item may be the
`these systems, it is often the case that the same product will
`contents of a flle, a portion of a fi1e, a page in memory, an
`be installed on several systems, so that several copies of
`object in an object-oriented program, a digital message, a
`each flle will reside on the common flle server.
`digital scanned image, a part of a video or audio signal, or
`any other entity which can be represented by a sequence of
`In some data processing systems in which several pro-
`bits. The term "data processing" herein refers to the pro-
`cessors are connected in a network, one system is designated
`as a cache server to maintain master copies of data items,
`cessing of data items, and is sometimes dependent on the
`type of data item being proce3sed. For example, a data
`and other systems are designated as cache clients to copy
`processor for a digital image may differ from a data pro-
`local copies of the master data items into a local cache on an
`as-needed basis. Before using a cached item, a cache client
`cessor for an audio signal.
`must either reload the cached item, be informed of changes
`In all of the prior data processing systems the names or
`to the cached item, or conflrm that the master item corre-
`identifìers provided to identify data items (the data items
`EXHIBIT 2 .35
`
`15
`
`20
`
`30
`
`35
`
`40
`
`45
`
`50
`
`60
`
`65
`
`
`
`Case 5:18-md-02834-BLF Document 222-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 signiflcant overhead to 5
`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 identifler for a data 10
`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 idenlification of 15
`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, ancl to perform
`various other systems' functions and applications on data
`items without ,ä1ying on any context information o, p.op- 20
`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.
`
`4
`the system automatically archives data items as they are
`created or modified;
`the system provides the-size, age, and location of groups
`of data items in order to decide whether they can be
`safely removed from a local fi1e system;
`the system can efficiently record and preserve any col-
`lection of data items;
`the system can efficiently make a copy of any collection
`of data i