PersonalWeb Technologies LLC v. Google, Inc. et al
Filing
1
COMPLAINT for Patent Infringement against All Defendants ( Filing fee $ 350 receipt number 0540-3354008.), filed by PersonalWeb Technologies LLC. (Attachments: # 1 Civil Cover Sheet, # 2 Exhibit A - Patent '791, # 3 Exhibit B - Patent '280, # 4 Exhibit C - Patent '442, # 5 Exhibit D - Patent '310, # 6 Exhibit E - Patent '539, # 7 Exhibit F - Patent '544, # 8 Exhibit G - Patent '662, # 9 Exhibit H - Patent '096)(Tribble, Max) (Additional attachment(s) added on 12/14/2011: # 10 Exhibit A Searchable, # 11 Exhibit B Searchable, # 12 Exhibit C Searchable, # 13 Exhibit D Searchable, # 14 Exhibit E Searchable, # 15 Exhibit F Searchable, # 16 Exhibit G Searchable, # 17 Exhibit H Searchable) (mjc, ). (Entered: 12/08/2011)
Case 6:11-cv-00656 Document 1-5
Filed 12/08/11 Page 1 of 62 PageID #: 191
EXHIBITD
EXHIBIT D
Case 6:11-cv-00656 Document 1-5
Filed 12/08/11 Page 2 of 62 PageID #: 192
111111
1111111111111111111111111111111111111111111111111111111111111
US007802310B2
(54)
(75)
(73)
( *)
(21)
(22)
(65)
United States Patent
(10)
Farber et al.
(12)
(45)
CONTROLLING ACCESS TO DATA IN A DATA
PROCESSING SYSTEM
Inventors: David A. Farber, Ojai, CA (US);
Ronald D. Lachman, Northbrook, IL
(US)
Assignees: Kinetech, Inc., Studio City, CA (US);
Level 3 Communications, LLC,
Broomfield, CO (US)
Notice:
Subject to any disclaimer, the term of this
patent is extended or adjusted under 35
U.S.c. 154(b) by 79 days.
This patent is subject to a terminal disclaimer.
Appl. No.: 11/980,687
Filed:
Oct. 31, 2007
Prior Publication Data
US 2008/0066191 Al
Mar. 13,2008
Related U.S. Application Data
(60)
(51)
Continuation of application No. 111724,232, filed on
Mar. 15,2007, which is a continuation of application
No. 111017,650, filed on Dec. 22, 2004, which is a
continuation of application No. 091987,723, filed on
Nov. 15, 2001, now Pat. No. 6,928,442, which is a
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, application No. 111980,687, which is
a continuation of application No. 101742,972, filed on
Dec. 23, 2003, which is a division of application No.
091987,723, filed on Nov. 15, 2001, now Pat. No.
6,928,442, which is a 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
onApr. 11, 1995, now abandoned.
Int. Cl.
H04L 29106
(2006.01)
(2006.01)
G06F 21100
{'
104
./
STORAGE
DEVICE
...
...--
.......
"......
:;
104
STORAGE
DEVICE
(52)
(58)
Patent No.:
US 7,802,310 B2
Date of Patent:
*Sep.21,2010
U.S. Cl. ......................................... 726128; 7111163
Field of Classification Search ................... 726/28,
726/27,29; 7131181
See application file for complete search history.
(56)
References Cited
U.S. PATENT DOCUMENTS
3,668,647 A
6/1972 Evangelisti et al.
(Continued)
FOREIGN PATENT DOCUMENTS
EP
0268069 A2
5/1988
(Continued)
OTHER PUBLICATIONS
Cheriton, David R. and Mann, Timothy P., "Decentralizing a global
naming service for improved performance and fault tolerance", ACM
Transactions on Computer Systems, vol. 7, No.2, May 1989, pp.
147-183.
(Continued)
Primary Examiner-Gilberto Barron, Jr.
Assistant Examiner-Samson B Lemma
(74) Attorney, Agent, or Firm-Davidson BerquistJackson &
Gowdey, LLP; Brian Siritzky
ABSTRACT
(57)
Access to and delivery oflicensed content is controlled using
content names that were determined based on the content. A
name for a data item is obtained, the name having been
determined based at least in part on the data which comprise
the contents of the data item. Access to the data item is
authorized based at least in part on the name. Once authorized, access may be granted from more than one computer.
The name may have been determined using a hash or message
digest function such as MD4, MD5 or SHA. The data item
may comprise a file, a portion of a file, a page in memory, a
digital message, a digital image, a video signal or an audio
signal.
87 Claims, 31 Drawing Sheets
102
102
PROCESSOR
...
PROCESSOR
I.....
I
I
I
106
102
102
102
PROCESSOR
PROCESSOR
PROCESSOR
1!lQ
.... ----
---~
Case 6:11-cv-00656 Document 1-5
Filed 12/08/11 Page 3 of 62 PageID #: 193
US 7,802,310 B2
Page 2
U.S. PATENT DOCUMENTS
3,835,260
4,096,568
4,215,402
4,221,003
4,290,105
4,376,299
4,405,829
4,412,285
4,414,624
4,441,155
4,464,713
4,490,782
4,558,413
4,571,700
4,577,293
4,642,793
4,658,093
4,675,810
4,691,299
4,725,945
4,773,039
4,821,184
4,887,235
4,888,681
4,914,586
4,922,414
4,922,417
4,949,302
4,972,367
5,007,658
5,014,192
5,025,421
5,047,918
5,050,074
5,050,212
5,057,837
5,077,658
5,084,815
5,117,351
5,129,081
5,129,082
5,144,667
5,163,147
5,179,680
5,182,799
5,199,073
5,202,982
5,204,897
5,204,958
5,204,966
5,208,858
5,247,620
5,260,999
5,276,869
5,276,901
5,287,499
5,287,514
5,297,279
5,301,286
5,301,316
5,317,693
5,341,477
5,343,527
5,347,653
5,351,302
5,357,440
5,357,623
5,359,523
5,361,356
5,371,897
5,384,565
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
*
*
911974
611978
711980
911980
911981
311983
911983
1011983
1111983
411984
811984
1211984
1211985
211986
311986
211987
411987
611987
911987
211988
911988
411989
1211989
1211989
411990
511990
511990
811990
1111990
411991
511991
611991
911991
911991
911991
1011991
1211991
111992
511992
711992
711992
911992
1111992
111993
111993
311993
411993
411993
411993
411993
511993
911993
1111993
111994
111994
211994
211994
311994
411994
411994
511994
811994
811994
911994
911994
1011994
1011994
1011994
1111994
1211994
111995
Prescher et al.
Bennett et al.
Mitchell et al.
Chang et aI.
Cichelli et al.
Rivest
Rivest et al.
Neches et aI.
Summer, Jr. et al.
Fletcher et al.
Benhase et al.
Dixon et al.
Schmidt et aI.
Emry, Jr. et aI.
Matick et al.
Meaden
Hellman
Gruner et al.
Rivest et al.
Kronstadt et al.
Zamora
Clancy et al.
Holloway et al.
Barnes et al.
Swinehart et aI.
Holloway et al.
Churmetal.
Arnold et al.
Burke
Bendert et al.
Mansfield et al.
Cho
Schwartz et al.
Marca
Dyson
Colwell et al.
Bendert
Mazzario
Miller
Kobayashi et al.
Tirfing et al.
Pogue, Jr. et al.
Orita ............................. 707/9
Colwell et al.
Tamura et aI.
Scott
Gramlich et al. ................... 111
Wyman
Cheng et aI.
Wittenberg et al.
Vollert et aI.
Fukuzawa et aI.
Wyman
Forrest et al.
Howell et al.
Nemes
Gram
Bannon et al.
Raj ani
Hamilton et al.
Cuenod et al.
Pitkin et al.
Moore
Flynn et al.
Leighton et al.
Talbott et al.
Megory-Cohen
Talbott et al.
Clark et aI.
Brown etal.
Cannon
5,394,555
5,403,639
5,404,508
5,438,508
5,442,343
5,448,668
5,448,718
5,452,447
5,454,000
5,454,039
5,459,860
5,465,365
5,467,471
5,475,826
5,479,654
5,491,817
5,499,294
5,504,879
5,530,757
5,537,585
5,542,087
5,553,143
5,568,181
5,581,615
5,581,758
5,581,764
5,583,995
5,588,147
5,600,834
5,604,803
5,604,892
5,630,067
5,632,031
5,638,443
5,640,564
5,649,196
5,677,952
5,678,038
5,678,046
5,694,472
5,694,596
5,701,316
5,710,922
5,724,425
5,724,552
5,742,807
5,745,879
5,757,913
5,757,915
5,781,629
5,802,291
5,809,494
5,826,049
5,835,087
5,864,683
5,907,619
5,907,704
5,940,504
5,978,791
5,991,414
6,006,018
6,134,603
6,135,646
6,415,280
6,732,180
6,816,872
6,928,442
200210052884
200210082999
2003/0078888
2003/0078889
2003/0095660
2004/0139097
A
A
A
A
A
A *
A
A
A *
A
A
A
A
A
A *
A
A
A
A *
A *
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A *
A
A
A
A
A
A *
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
Bl
Bl
Bl *
B2
Al
Al
Al
Al
Al
Al
2/1995 Hunter et al.
4/1995 Belsan et al.
4/1995 Konrad et al.
8/1995 Wyman
8/1995 Cato et al.
9/1995 Perelson et al. ............... 714/21
9/1995 Cohn et aI.
9/1995 Nelson et al.
9/1995 Dorfman ..................... 714/54
9/1995 Coppersmith et al.
10/1995 Burnett
1111995 Winterbottom
1111995 Bader
12/1995 Fischer
12/1995 Squibb ....................... 707/695
2/1996 Gopal et al.
3/1996 Friedman
4/1996 Eisenberg et al.
6/1996 Krawczyk ................... 713/188
7/1996 Blickenstaff et al. ........ 707/205
7/1996 Neimat et aI.
9/1996 Ross et al.
10/1996 Greenwood et al.
12/1996 Stern
12/1996 Burnett
12/1996 Fitzgerald et al.
12/1996 Gardner et aI.
12/1996 Neeman et al.
2/1997 Howard
2/1997 Aziz
2/1997 Nuttall et al.
5/1997 Kindell et al.
5/1997 Velissaropoulos et al.
6/1997 Stefik et al.
6/1997 Hamilton et al.
7/1997 Woodhill et aI.
10/1997 Blakley, III et al.
10/1997 Dockter et aI.
10/1997 Cahill et al.
12/1997 Johnson et aI. ............. 713/189
12/1997 Campbell
12/1997 Alferness et al.
111998 Alleyet al.
3/1998 Chang et al.
3/1998 Taoda
4/1998 Masinter ........................ 707/1
4/1998 Wyman
5/1998 Bellare et aI.
5/1998 Aucsmith et al.
7/1998 Haber et al.
9/1998 Balick et al.
9/1998 Nguyen
10/1998 Ogata et al.
1111998 Herz et al.
111999 Boebert et al.
5/1999 Davis
5/1999 Gudmundson et al.
8/1999 Griswold
1111999 Farber et al.
1111999 Garayet al.
12/1999 Burnett et al.
1012000 Jones et al.
1012000 Kalm et aI.
7/2002 Farber et al.
5/2004 Hale et al.
1112004 Squibb .............................. 111
8/2005 Farber et al.
5/2002 Farber et al.
6/2002 Lee et al.
4/2003 Lee et al.
4/2003 Lee et al.
5/2003 Lee et al.
7/2004 Farber et al.
Case 6:11-cv-00656 Document 1-5
Filed 12/08/11 Page 4 of 62 PageID #: 194
US 7,802,310 B2
Page 3
2005/0010792
2005/0114296
2007/0185848
2008/0065635
2008/0066191
2008/0071855
2008/0082551
Al
Al
Al
Al
Al
Al
Al
*
112005
5/2005
8/2007
3/2008
3/2008
3/2008
4/2008
Carpentier et al. .......... 713/193
Farber et al.
Farber et al.
Farber et al.
Farber et al.
Farber et al.
Farber et al.
FOREIGN PATENT DOCUMENTS
EP
EP
EP
EP
EP
EP
EP
GB
JP
JP
JP
JP
JP
JP
JP
WO
WO
WO
WO
WO
0315425
0558945
0566967
0592045
0631226
0654920
0658022
2294132
59058564
63-106048
63-273961
2-127755
05162529
06187384
06348558
WO 92/20021
WO 94/06087
WO 94/20913
WO 95/01599
WO 97/43717
A2
A2
Al
A2
A2
A
A2
A
5/1989
9/1993
10/1993
4/1994
12/1994
5/1995
6/1995
4/1996
4/1984
5/1988
1111988
5/1990
6/1993
7/1994
12/1994
1111992
3/1994
9/1994
111995
1111997
OTHER PUBLICATIONS
Request for Reexamination of U.S. Patent No. 6,928,442: Reexam
U.S. Appl. No. 90/010,260, filed on Aug. 29, 2008.
Advances in Cryptology-AUSCRYPT '92-Workshop on the
Theory and Application of Cryptographic Techniques Gold Coast,
Queensland, Australia Dec. 13-16, 1992 Proceedings.
Advances in Cryptology-EUROCRYPT '93, Workshop on the
Theory and Application of Cryptographic Techniques Lofthus, Norway, May 23-27, 1993 Proceedings.
Affidavit of Timothy P. Walker in Support of CWIS' Opening Markman Brief Construing the Terms at Issue in U.S. Patent No.
6,415,280, dated Jul. 25, 2003, from Civil Action No. 02-11430
RWZ.
Akamai and MIT's Memorandum in Support of Their Claim Construction of US PAT 5,978,791, dated Aug. 31, 2001, from Civil
Action No. 00-cv-11851RWZ.
Akamai's Answer, Affirmative Defenses and Counterclaims to
Amended Complaint, filed Dec. 6, 2002, in Civil Action No. 02-CV11430RWZ.
Akamai's Brief on Claim Construction, dated Aug. 8, 2003, from
Civil Action No. 02-11430 RWZ.
Albert Langer (cmf851@anu.oz.au), http://groups.google.com!
groups?selm~ 1991Aug7.225159. 786%40newshost.anu.
edu.au
&oe~UTF-8&output~gplain, Aug. 7, 1991.
Alexander Dupuy (dupuy@smarts.com), "MD5 and LIFNs (was:
Misc Comments)", www.acl.lanl.gov/URI/archive/uri-94q2.messages/0081.htrnl, Apr. 17, 1994.
Alexander Dupuy (dupuy@smarts.com), "RE: MD5 and LIFNs
(was: Misc Comments)", www.acl.lanl.gov/URI/archive/uri-94q2.
messages/0113.html, Apr. 26,1994.
Answer of Defendant RIAA to First Amended Complaint and Counterclaim, dated Feb. 8, 2005, from Civil Action No. CV04-7456 JFW
(CTx).
Berners-Lee, T. et al., "Hypertext Transfer Protocol-HTTP/1.0,"
May 1996, pp. 1-54.
Berners-Lee, T. et al., "Uniform Resource Locators (URL),"pp. 1-25,
Dec. 1994.
Berners-Lee, T., "Universal Resource Identifiers in WWW," Jun.
1994, pp. 1-25.
Bert dem Boer, et aI., Collisions for the compression function of
MD.sub.5 pp. 292-304, 1994.
Birgit Pfitzman, Sorting Out Signature Schemes, Nov. 1993, l.sup.st
Conf. Computer & Comm. Security '93, p. 74-85.
Birgit Pfitzmann, Sorting Out Signature Schemes, Nov. 1993, 1st
Conf. Computer & Comm. Security '93 pp. 74-85.
Bowman, C. Mic, et al., "Harvest: A Scalable, Customizable Discovery and Access System," Aug. 4,1994, pp. 1-27.
Bowman, C. Mic, et al., "Harvest: A Scalable, Customizable Discovery and Access System," Mar. 12, 1995, pp. 1-29.
Brisco, T., "DNS Support for Load Balancing," Apr. 1995, pp. 1-7.
Browne, Shirley et al., "Location-Independent Naming for Virtual
Distributed Software Repositories," 1995, 7 pages.
Browne, Shirley et al., "Location-Independent Naming for Virtual
Distributed Software Repositories," 1995, printed from http:/www.
netlib.orglutklpapers/lifn/main.html on Mar. 22, 2006, 18 pages.
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.
Chris Charnes and Josef Pieprzky, Linear Nonequivalence versus
Nonlinearity, Pieprzky, pp. 156-164, 1993.
Civil Minutes General dated Jan. 25, 2005, from Civil Action No. CV
04-7456-JFW (CTx).
Clifford Lynch (Calur@uccmvsa.bitnet), "ietfurl/uri overview draft
paper (long)", www.acl.lanl.gov/uRI/archive/uri-93ql.messages/
0015.html, Mar. 25, 1993.
Complaint for Patent Infringement, Permanent Injunction, and Damages, dated Sep. 8, 2004, from Civil Action No. CV 04-7456 JFW
(AJWx).
Cormen, Thomas H., et al. Introduction to Algorithms, The MIT
Press, Cambridge, Massachusetts, 1994, pp. 219-243, 991-993.
CWIS' Opening Markman Brief Construing the Terms at Issue in
U.S. Patent No. 6,415,280, datedJul. 25, 2003, from Civil Action No.
02-11430 RWZ.
CWIS' Reply Markman Brief Construing the Terms at Issue in U.S.
Patent No. 6,415,280, dated Aug. 15, 2003, from Civil Action No.
02-11430 RWZ.
Danzig, P.B., et aI., ""Distributed Indexing: A Scalable Mechanism
For Distributed Information Retrieval,"" Proceedings of the 14th
Annual International ACM SIGIR Conference on Research and
Development in Information Retrieval, pp. 220-229, Oct. 13-16,
1991.
Davis, James R., "A Server for a Distributed Digital Technical Report
Library," Jan. 15, 1994, pp. 1-8.
Declaration of Robert B.K. Dewar in Support ofCWIS' Construction
of the Terms at Issue in U.S. Patent No. 6,415,280, dated Jul. 25,
2003, from Civil Action No. 02-cv-11430RWZ.
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.
Defendant Digital Island's Opening Brief on Claim Construction
Issues dated Aug. 17, 2001, from Civil Action No. 00-cv-11851RWZ.
Defendant Lime Wire, LLC's Answer, Affirmative Defenses and
Counterclaims dated Nov. 15, 2007, from Civil Action No. 07 -06161
VBF (PLAx).
Defendant Media Sentry, Inc.'s Reply Memorandum of Points and
Authorities in Further Support ofIts Motion to Dismiss, dated Nov.
15,2004, from Civil Action No. CV04-7456 JFW (CTx).
Defendant MediaSentry Inc. ' s Notice of Motion and Motion to Dismiss First Amended Complaint; Memorandum of Points and
Authorities in Support Thereof, dated Dec. 13, 2004, from Civil
Action No. CV04-7456 JFW.
Defendant MediaSentry, Inc.' s Answer to Plaintiffs' First Amended
Complaint and Counterclaims, dated Feb. 8, 2005, from Civil Action
No. CV04-7456 JFW (CTx).
Defendant RIAA's Notice of Motion and Motion to Dismiss First
Amended Complaint; Memorandum of Points and Authorities in
Support Thereof, dated Dec. 13,2004, from Civil Action No. CV047456 JFW (CTx).
Defendants Loudeye Corp.'s and Overpeer, Inc.'s Answer to Plaintiffs' First Amended Complaint and Counterclaim, dated Feb. 8,
2005, from Civil Action No. 04-7456 JFW (AJWx).
Defendants' Preliminary Invalidity Contentions dated Dec. 14,2006,
from Civil Action No. CV 06-5086 SJO (Ex).
Case 6:11-cv-00656 Document 1-5
Filed 12/08/11 Page 5 of 62 PageID #: 195
US 7,802,310 B2
Page 4
Devine, Robert. "Design and Implementation ofDDH: A Distributed
Dynamic Hashing Algorithm." In Proc. of 4th International Conference on Foundations of Data Organizations and Algorithms, 1993,
pp. 101-114.
European Search Report issued Dec. 23, 2004 in correpsonding
European Application No. 96910762.2-2201.
Expert Report of Professor Ellis Horowitz, dated Mar. 6, 2006, from
Civil Action No. 04-7456 JFW (CTx).
Expert Report of the Honorable Gerald J. Mossinghoff, dated Mar.
13,2006, from Civil Action No. 04-7456 JFW (CTx).
Faltstrom, P. et al., "How to Interact with a Whois++ Mesh," Feb.
1996, pp. 1-9.
Feeley, Michael, et al. "Implementing Global Memory Management
in a Workstation Cluster." In Proc. of the 15th ACM Symp. on Operating Systems Principles, 1995, pp. 201-212.
Fielding, R. et aI., "Hypertext Transfer Protocol-HTTP/1.1," Jan.
1997, pp. 1-163.
Fielding, R. et aI., "Hypertext Transfer Protocol-HTTP/1.1," Jun.
1999, pp. 1-157.
First Amended Complaint for Patent Infringement, Permanent
Injunction and Damages, dated Nov. 24, 2004, from Civil Action No.
CV 04-7456 JFW (CTx).
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.
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.
G. L. Friedman, Digital Camera With Apparatus for Authentication
of Images Produced From an Image File, NASA Case No. NPO19108-1-CU, U.S. Appl. No. 08/159,980, Nov. 24, 1993.
Grigni, Michelangelo, et al. "Tight Bounds on Minimum Broadcasts
Networks." SIAM Journal of Discrete Mathematics, vol. 4, No.2,
May 1991, pp. 207-222.
Gwertzman, James, et al. "The Case for Geographical Push-Caching." Technical Report HU TR 34-94 (excerpt), Harvard University,
DAS, Cambridge, MA 02138, 1994,2 pgs.
H. Goodman, Ada, Object-Oriented Techniques, and Concurrency in
Teaching Data Structures and File Management Report Documentation p. Ad-A275 385-94-04277.
H. Goodman, Feb. 9, 1994 Ada, Object-Oriented Techniques, and
Concurrency in Teaching Data Sructures and File Management
Report Documentation P. AD-A275 385-94-04277.
Hauzeur, B. M., "A Model for Naming, Addressing, and Routing,"
ACM Trans. Inf. Syst. 4, Oct. 4, 1986),293-311.
International Search Report dated Jun. 24, 1996 in corresponding
international application PCT!US 1996/004733.
K. Sollins and L. Masinter, "Functional Requirements for Uniform
Resource Names", www.w3.org!Addressing/rfc173 7 .txt, Dec. 1994,
pp.I-7.
Khare, R. and Lawrence, S., "Upgrading to TLS Within HTTP/l.l,"
May 2000, pp. 1-12.
Khoshafian, S. N. et al. 1986. Object identity. In Conf. Proc. On
Object-Oriented Progranuning Systems, Languages and Applications (Portland, Oregon, United States, Sep. 29-0ct. 2, 1986). N.
Meyrowitz, Ed. OOPLSA '86. ACM Press, New York, NY, 406-416.
Kim et aI., "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 aI., "The Design and Implementation of Tripwire: A file
System Integrity Checker", COAST Labs. Dept. of Computer Sciences Purdue University, Feb. 23, 1995, pp. 1-18.
Kim et aI., "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.
Kim, Gene H., and Spafford, Eugene H., "Writing, Supporting, and
Evaluating Tripwire: A Publicly Available Security Tool." COAST
Labs. Dept. of Computer Sciences Purdue University, Mar. 12, 1994,
pp. 1-23.
Knuth, Donald E., "The Art of Computer Progranuning," 1973, vol.
3, Ch. 6.4, pp. 506-549.
Lantz, K. A., et al., "Towards a universal directory service." In Proc.
4th Annual ACM Symp. on Principles of Distributed Computing
(Minaki, Ontario, Canada). PODC '85. ACM Press, New York, NY,
250-260.
Leach, P. J., et al.. The file system of an integrated local network. In
Proc. 1985 ACM 13th Annual Conf. on Compo Sci. CSC '85. ACM
Press, NY, NY, 309-324.
Leach, P.J., et aI., "UIDs as Internal Names in a Distributed File
System," In Proc. 1stACM SIGACT-SIGOPS Symp. on Principles of
Distributed Computing (Ottawa, Canada, Aug. 18-20, 1982). PODC
'82. ACM Press, New York, NY, 34-41.
Ma, C. 1992. On building very large naming systems. In Proc. 5th
Workshop on ACM SIGOPS European Workshop: Models and Paradigms For Distributed Systems Structuring (France, Sep. 21-23,
1992). EW 5. ACM Press, New York, NY, 1-5.
Memorandum of Points and Authorities in Support of Loudeye's and
Overpeer's Motion to Dismiss the First Amended Complaint for
Failure to State a Claim or, In the Alternative, for a More Definitive
Statement, dated Dec. 13,2004, from Civil Action No. CV-04-7456
JFW (AJWX).
Ming-Ling Lo et aI., On Optimal Processor Allocation to Support
Pipelined Hash Joins, ACM SIGMOD, pp. 69-78, May 1993.
Moats, R., "URN Syntax," May 1997, pp. 1-8.
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.
Myers, J. and Rose, M., "The Content-MD5 Header Field," Oct.
1995, pp. 1-4.
Naor, Moni, et al. "The Load, Capacity and Availability of Quorum
Systems." In Proceedings of the 35th IEEE Symposium on Foundations of Computer Science, Nov. 1994, pp. 214-225.
Nisan, Noam. "Psuedorandom Generators for Space-Bounded Computation." In Proceedings of the Twenty-Second Annual ACM Symposium on Theory of Computing, May 1990, pp. 204-212.
Office Action in corresponding Japanese Application No. 531,073/
1996 mailed on Apr. 25, 2006.
Office Communication in corresponding European Application No.
96910762.2-1225 dated Jan. 17, 2007.
Order Re Claim Construction dated Nov. 8, 2001, from Civil Action
No.00-11851-RWZ.
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.
Patent Abstracts of Japan, "Device for Generating Database and
Method for the Same," Application No. 03-080504, Sun Microsyst.
Inc., published Jun. 1993, 38 pages.
Patent Abstracts of Japan, "Electronic Mail Multiplexing System and
Communication Control Method in The System." Jun. 30, 1993, JP
051625293.
Patent Abstracts of Japan, "Method for Registering and Retrieving
Data Base," Application No. 03-187303, Nippon Telegr. & Teleph.
Corp., published Feb. 1993, 11 pages.
Peleg, David, et al. "The Availability of Quorum Systems." Information and Computation 123, 1995,210-223.
Peter Deutsch (peterd@bunyip.com), "Re: MD5 and LiFNs (was:
Misc Comments)", www.acl.lanl.gov!URI/archive/uri-94q2.messages/O 106.htrnl, Apr. 26, 1994.
Peterson, L. L. 1988. A yellow-pages service for a local-area network. In Proc. ACM Workshop on Frontiers in Computer Communications Technology (Vermont, 1987). J. J. Garcia-Luna-Aceves,
Ed. SIGCOMM '87. ACM Press, New York, NY, 235-242.
Plaintiffs' Memorandum of Points and Authorities in Opposition to
Loudeye Defendants' Motion to Dismiss, dated Nov. 8, 2004, from
Civil Action No. CV-04-7456 JFW (AJWX).
Plaintiffs' Opposition to Media Sentry's Motion to Dismiss; Memorandum of Points and Authorities in Support Thereof, dated Nov. 8,
2004, from Civil Action No. CV 04-7456 JFW (CTx).
Plaintiff's Opposition to Recording Industry Association of America's Motion to Dismiss; Memorandum of Points and Authorities in
Support Thereof, dated Nov. 8, 2004, from Civil Action No. CV-047456 JFW (CTx).
Case 6:11-cv-00656 Document 1-5
Filed 12/08/11 Page 6 of 62 PageID #: 196
US 7,802,310 B2
Page 5
Plaintiff's Reply to Defendant Loudeye Corp.' s and Overpeer, Inc.' s
Counterclaims, dated Mar. 3, 2005, from Civil Action No. CV
04-7456 JFW (CTx).
Plaintiff's Reply to Defendant MediaSentry's Counterclaims, dated
Mar. 3, 2005, from Civil Action No. CV 04-7456 JFW (CTx).
Plaintiff's Reply to Defendant RIAA' s Counterclaims, dated Mar. 3,
2005, from Civil Action No. 04-7456 JFW (CTx).
Proceedings ofthe 1993 ACM SIGMOD International Conference on
Management of Data, vol. 22, Issue 2, Jun. 1993.
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 Proc. of the 35th IEEE Symp. on Foundation of
Computer Science, Nov. 1994, pp. 202-213.
Ravindran, K. and Ramakrishnan, K. K. 1991. A naming system for
feature-based service specification in distributed operating systems.
SIGSMALLIPC Notes 17,3-4 (Sep. 1991), 12-21.
Reed Wade (wade@cs.utk.edu), "re: Dienst and BFD/LIFN document," Aug. 8, 1994, printed from http://www.webhistory.org/www.
lists/www-talkI994q3/0416.html on Mar. 22, 2006, (7 pages).
Rivest, R., "The MD5 Message-Digest Algorithm," Apr. 1992, pp.
1-19 and errata sheet (1 page).
Rose, M., "The Content-MD5 Header Field," Nov. 1993, pp. 1-3.
Ross, K., "Hash-Routing for Collections of Shared Web Caches,"
IEEE Network Magazine, pp. 37-44, Nov.-Dec. 1997.
Sakti Pramanik et aI., Multi-Directory Hasing, 1993, Info. Sys., vol.
18, No.1, pp. 63-74.
Schmidt, Jeanette, et al. "Chernoff-Hoeffding Bounds for Applications with Limited Independence." In Proceedings of the 4th ACSSIAM Symposium on Discrete Algorithms, 1993, pp. 331-340.
Schneier, Bruce, "One-Way Hash Functions, Using Crypographic
Algorithms for Hashing," 1991, printed from http://202.179135.4/
datalDDJ/articies/199119109/91909g/91 09g.htrn on Mar. 22, 2006.
Schwartz, M., et al. 1987. A name service for evolving heterogeneous
systems. In Proc. 11th ACM Symp. on OS Principles (Texas, Nov.
8-11, 1987). SOSP '87. ACM Press, NY, NY 52-62.
Search Report dated Jun. 24, 1996.
Shaheen -Gouda, A. And Loucks, L. 1992 . Name borders. In Proc. 5th
Workshop on ACM SIGOPS European Workshop: Models and Paradigms For Distributed Systems Structuring (Mont Saint-Michel,
France, Sep. 21-23, 1992). EW 5. ACM Press, NY, NY, 1-6.
Sun Microsystems, Inc., "NFS: Network File System Protocol Specification'" Mar. 1989, pp. 1-25.
Tarjan, Robert Endre, et al. "Storing a Sparse Table." Communications of the ACM, vol. 22, No. 11, Nov. 1979, pp. 606-611.
Terry, D. B. 1984. An analysis of naming conventions for distributed
computer systems. In Proc. ACM SIGCOMM Symp. on Communications Architectures and Protocols: Tutorials & Symp. SIGCOMM
'84. ACM Press, NY, NY, 218-224.
Thomas A. Berson, Differential Cryptanalysis Mod 2.sup.32 with
Applications to MD5, pp. 69-81, 1992.
Vij ay Kumar, A Concurrency Control Mechanism Based on Extendible Hashing for Main Memory Database Systems, ACM, vol. 3,
1989, pp. 109-113.
Vijay Kumar, A concurrency Control Mechanism based on Extendible Hashing for Main Memory Database Systems, pp. 109-113,
ACM, vol. 3, 1989.
Vincenzetti, David and Cotrrozzi, Massimo, "Anti Tampering Program," Proceedings of the Fourth {USENIX} Security Symposium,
Santa Clara, CA, 1993, 11 pages.
Vincenzetti, David and Cotrrozzi, Massimo, "Anti Tampering Program," Proceedings of the Fourth {USENIX} Security Symposium,
Santa Clara, CA, undated, printed from http://www.ja.netiCERI/
Vincenzetti_and_Cotrozzi/ATP_Anti_Tamp on Mar. 22, 2006, 8
pages.
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.
W3C:ID, HTTP: A protocol for networked information, "Basic
HTTP as defined in 1992", www.w3.org/Protocols/HTTP2.htrnl,
1992.
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.
William Perrizo, et aI., Distributed Join Processing Performance
Evaluation, 1994. Twenty-Seventh Hawaii International Conference
on System Sciences, vol. II, pp. 236-244.
Witold Litwin et aI., LH.sup.-Linear Hashing for Distributed Files,
HP Labs Tech. Report No. HPL-93-21, Jun. 1993, pp. 1-22.
Witold Litwin et al., Linear Hashing for Distributed Files, ACM
SIGMOD, May 1993, pp. 327-336.
Witold Litwin, et aI., LH-Linear Hashing for Distributed Files, HP
Labs Tech. Report No. HPL-93-21 Jun. 1993, pp. 1-22.
Yao, Andrew Chi-Chih. "Should Tables be Sorted?" Journal of the
Association for Computing Machinery, vol. 28, No.3, Jul. 1981, pp.
615-628.
Yuliang Zheng et aI., Haval-A One-Way Hashing Algorithm with
Variable Length of Output (Extended Abstract), pp. 83-105.
Yuliang Zheng, et aI., Haval-A One-Way Hashing Algorithm with
Variable Length of Output (Extended Abstract), pp. 83-105,
Advances in Cryptology, AUSCRIPT '92, 1992.
Zhiyu Tian, et al., A New Hashing Function: Statistical Behaviour
and Algorithm, pp. 3-13, SIGIRForum, 1993.
Zhiyu Tian, et al., A New Hashing Function: Statistical Behaviour
and Algorithm, pp. 3-13, SIGIRForum, Spring 1993.
[Proposed] Order Regarding Construction of Terms, filed Mar. 29,
2007 in C.D. Cal. case No. CV 06-5086 SJO (Ex) [9 pgs.].
Analysis of Plaintiffs' Claim Chart for the '280 Patent As Against
Defendant Media Sentry, Inc. 11 pages.
Analysis of Plaintiffs' Claim Chart for the '791 Patent As Against
Defendant Media Sentry, Inc. (11916.001.0150.a) pp. 1-48.
Analysis of Plaintiffs' Claim Chart for the '791 Patent As Against
Defendant Overpeer pp. 1-40.
Barbara, D., et aI., "Exploiting symmetries for low-cost comparison
of file copies", 8th Int'! Conf. on Distributed Computing Systems,
Jun. 1988, pp. 471-479, San Jose, CA.
Campbell, M., "The Design of Text Signatures for Text Retrieval
Systems," Tech. Report, Sep. 5, 1994, Deakin University, School of
Computing & Math., Geelong, Australia.
Chang, W. W. et aI., "A signature access method for the Starburst
database system," in Proc. 15th Int'l Conf. on Very Large Data Bases
(Amsterdam, The Netherlands), pp. 145-153.
Changes to Mar. 23, 2007 Deposition of Robert B. K. Dewar, in C.D
Cal. case No. CV 06-5086 SJO (Ex) [3 pgs + cover letter.]'
Communication from EPO in European Application No. 96 910
762.2-1225 dated May 8,2009 [4 pgs.].
Communication pursuant to Article 96(2) EPC from EPO (Examination Report), Jan. 17,2007, in Application No. EP 96 910 762.2-1225
[1 pg. with 5 pg. annex].
Complaint for Patent Infringement, Permanent Injunction and Damages, Aug. 8, 2006, in C.D. Cal. case No. CV 06-5086 SJO (Ex) [11
pgs.].
Complaint for Patent Infringement, Permanent Injunction and Damages, filed Sep. 21, 2007 in C.D. Cal. Case No. Cv 07-06161 VBF
(PLAx) [10 pgs.].
Declaration of Charles S. Baker in Support of Defendant Lime Wire's
Motion to Stay Pending Reexamination of Patent and Request for
Extension of Deadlines, Aug. 29, 2008, in C.D. Cal. Case No. CV
07-06161 VBF (PLAx) [2 pgs.].
Defendant Lime Wire, LLC's First Amended Answer, Affirmative
Defenses and Counterclaims, Oct. 2, 2008, C.D. Cal. case No.
07-06161 VBF (PLAx) [13 pgs.].
Defendant Lime Wire, LLC's Second Amended Answer, Affirmative
Defenses and Counterclaims, Oct. 27, 2008, From C.D. Cal. case No.
07-06161 VBF (PLAx) [13 pgs.].
Defendant Michael Weiss's Answer to Plaintiff's Complaint for
Patent Infringement, Permanent Injunction and Damages; Demand
for Jury Trial, Sep. 15, 2006, case No. CV 06-5086 SJO (Ex) [10
pgs.].
Defendant Recording Industry Association of America's Amended
Notice of Motion and Motion for Partial Summary Judgment on
Plaintiffs' Claims for Patent Infringement and Inducing Patent
Infringement, Memorandum of Points and Authorities, May 22,
2006, redacted, original confidential, filed under seal, in C.D. Cal.
case No. CV 04-7456 JFW (CTx) [19 pgs].
Case 6:11-cv-00656 Document 1-5
Filed 12/08/11 Page 7 of 62 PageID #: 197
US 7,802,310 B2
Page 6
Defendant Recording Industry Association of America's and
Mediasentry, Inc.'s Notice of Motion and Motion for Partial Summary Judgment Based on Implied License or, In the Alternative,
Based on Patent Misuse and Unclean Hands, May 22, 2006,
Redacted, in C.D. Cal. case No. CV 04-7456 JFW (CTx) [21 pgs.].
Defendant Recording Industry Association of America's and
Mediasentry, Inc's Notice of Motion and Motion for Partial Summary Judgment Based on Implied License or, In the Alternative,
Based on Patent Misuse and Unclean Hands, May 8, 2006, in C.D.
Cal. case No. CV 04-7456 JFW (CTx) [20 pgs.].
Defendant StreamCast Networks Inc.'s Answer to Plaintiffs Complaint for Patent Infringement, Permanent Injunction and Damages;
Demand for Jury Trial, Sep. 5, 2006, C.D. Cal. case No. CV 06-5086
SJO (Ex) [10 pgs.].
Defendants' Amended Preliminary Claim Constructions [Patent
Rule 4-2], filed Feb. 7, 2007 in C.D. Cal. case No. CV 06-5086 SJO
(Ex) [10 pgs.].
Defendant's Second Amended Preliminary Claim Constructions
[Patent Rule 4-2], filed Feb. 9, 2007 in C.D. Cal. case No. CV
06-5086 SJO (Ex) [10 pgs.].
Dewar, Rebuttal Expert Report of Robert B.K. Dewar, in C.D. Cal.
case No. CV 04-7456 JFW (CTx), Apr. 10,2006 [87 pgs].
Faloutsos, C. "Access methods for text," ACM Comput. Surv. 17, 1
(Mar. 1985),49-74.
Faloutsos, C. et aI., "Description and performance analysis of signature file methods for office filing," ACM Trans. Inf. Syst. 5, 3 (Jul.
1987),237-257.
Faloutsos, C. et aI., "Signature files: an access method for documents
and its analytical performance evaluation," ACM Trans. Inf. Syst. 2,
4 (Oct. 1984),267-288.
Federal Information Processing Standards (FIPS) Publication 180-1;
Secure Hash Standard, Apr. 17, 1995 [17 pgs.].
Feigenbaum, J. et al., "Cryptographic protection of databases and
software," in Distributed Computing and Cryptography: Proc.
DIMACS Workshop, Apr. 1991, pp. 161-172, American Mathematical Society, Boston, Mass.
First Amended Answer of Defendant Mediasentry to Second
Amended Complaint and Counterclaim, Apr. 24, 2006, in C.D. Cal.
case No. CV 04-7456 JFW (CTx) [29 pgs.].
First Amended Answer of Defendant RIAA to Second Amended
Complaint and Counterclaim, Apr. 24, 2006, in C.D. Cal. Case No.
CV 04-7456 JFW (CTx) [27 pgs.].
First Amended Complaint for Patent Infringement, Permanent
Injunction and Damages, filedSep. 8, 2008 in C.D. Cal. Case No. CV
07-06161 VBF (PLAx) [10 pgs.].
Harrison, M. c., "Implementation of the substring test by hashing,"
Commun. ACM 14,12 (Dec. 1971),777-779.
IEEE, The Authoritative Dictionary of IEEE Standards Terms, 7th
ed., Copyright 2000, pp. 107, 176,209,240,241,432,468,505,506,
682,1016,1113,1266, and 1267.
Ishikawa, Y., et aI., "Evaluation of signature files as set access facilities in OODBs," In Proc. of the 1993 ACM SIGMOD Inter. Conf. on
Management of Data (Washington, D.C., U.S., May 1993). P. Buneman & S. Jajodia, Eds. SIGMOD '93. ACM, NY, NY, 247-256.
Joint Claim Construction and Prehearing Statement, N. D. Cal. Rule
4-3, Feb. 12, 2007, in C.D. Cal. case No. CV 06-5086 SJO (Ex) [20
pgs.].
Karp, R. M. and Rabin, M. 0., "Efficient randomized pattern-matching algorithms," IBM J. Res. Dev. 31, 2 (Mar. 1987),249-260.
List of Asserted Claims and Infringement Chart for Each Asserted
Claim, Jul. 28, 2008, in C.D. Cal. Case No. CV 07-06161 VBF
(PLAx) [31 pgs.].
McGregor D. R. And Mariani, J. A. "Fingerprinting-A technique
for file identification and maintenance," Software: Practice and Experience, vol. 12, No. 12, Dec. 1982, pp. 1165-1166.
Notice ofInterested Parties, filed Sep. 21, 2007 in C.D. Cal. Case No.
CV 07-06161 VBF (PLAx) [2 pgs.].
Notice of Motion and Motion of Defendant Lime Wire to Stay Litigation Pending Reexamination of Patent and Request for Extension
of Deadlines, Sep. 22, 2008, C.D. Cal. Case No. CV 07-06161 VBF
(PLAx) [11 pgs.].
Notice of Related Cases, filedSep. 21, 2007 inC.D. Cal. Case No. CV
07-06161 VBF (PLAx) [2 pgs.].
Office Action from PTO in U.S. Appl. No. 111980,679, May 6,2009.
Panagopoulos, G., et aI., "Bit-sliced signature files for very large text
databases on a parallel machine architecture," In Proc. of the 4th Inter.
Conf. on Extending Database Technology (EDBT), Cambridge,
U.K., Mar. 1994, pp. 379-392 (Proc. LNCS 779 Springer 1994, ISBN
3-540-57818-8) [14 pgs.].
Patent Abstract, "Management System for Plural Versions," Pub. No.
63273961 A, published Nov. 11, 1988, NEC Corp.
Patent Abstracts of Japan, "Data Processor," Appin. No. 05135620,
filed Jun. 7, 1993, Toshiba Corp.
Plaintiff Kinetech, Inc.'s Responses to Defendant Mediasentry's
First set ofInterrogatories, May 1, 2006, in C.D. Cal. Case No. CV
04-7456 JFW (CTx) [14 pgs.].
Plaintiff-Counterclaim Defendant Altnet, Inc.'s Supplemental
Responses to Defendant -Counterclaim Plaintiff Overpeer Inc.' s First
Set ofInterrogatories, Mar. 8, 2006, redacted, in C.D. Cal. case No.
CV 04-7456 JFW (CTx) [24 pgs.].
Plaintiff-Counterclaim Defendant Brilliant Digital Entertainment,
Inc.'s Supplemental Responses to Defendant-Counterclaim Plaintiff
Overpeer Inc.'s First Set ofInterrogatories, Mar. 8, 2006, redacted, in
C.D. Cal. case No. CV 04-7456 JFW (CTx) [24 pgs.].
Plaintiff-Counterclaim Defendant Kinetech, Inc.' s Supplemental
Responses to Defendant -Counterclaim Plaintiff Overpeer Inc.' s First
Set ofInterrogatories Mar. 8, 2006, redacted, in C.D. Cal. case No.
CV 04-7456 JFW (CTx) [24 pgs.].
Plaintiffs Altnet, Inc., Brilliant Digital, Inc, and Kinetech, Inc.'s
Responses to Defendant Recording Industry Association of America's First Set of Requests for Admissions, Jan. 6, 2006, in C.D. Cal.
case No. CV 04-7456 JFW (CTx) [26 pgs.].
Plaintiffs' Claim Construction Opening Brief and Exhibits A -D, F, G;
May 7, 2007, in C.D. Cal. case No. CV 06-5086 SJO (Ex) [112 pgs.].
Plaintiffs' Preliminary Claim Constructions and Extrinsic Evidence,
Feb. 6, 2006, in case CV 06-5086 SJO (Ex) [20 pgs.].
Plaintiff's Reply to Defendant Mediasentry's Counterclaims in its
Answer to the Second Amended Complaint, May 1, 2006, in C.D.
Cal. Case No. CV 04-7456 JFW (CTx) [11 pgs.].
Plaintiff's Reply to Defendant RIAA's Counterclaims in its Answer
to the Second Amended Complaint, May 1, 2006, in C.D. Cal. case
No. CV 04-7456 JFW (CTx) [11 pgs.].
Plaintiffs' Reply to Defendants' Claim Construction Brief, filed Apr.
23,2007 in C.D Cal. case No. CV 06-5086 ODW (Ex) [15 pgs.].
Reply to Examination Report, Jul. 19, 2007, in Application No. EP 96
910 762.2-1225 [7 pgs.].
Response to Non-Final Office Action filed May 19, 2009 in U.S.
Appl. No. 111017,650 [19 pgs.].
Rivest, R., RFC 1320, "The MD4 Message-Digest Algorithm," Apr.
1992.
Sacks-Davis, R., et al., "Multikey access methods based on superimposed coding techniques," ACM Trans. Database Syst. 12, 4 (Nov.
1987),655-696.
Siegel, A., et aI., "Deceit: a Flexible Distributed File System," Proc.
Workshop on the Management of Replicated Data, Houston, TX, pp.
15-17, Nov. 8-9, 1990.
Siegel, A., et aI., "Deceit: a Flexible Distributed File System," Technical Report, TR89-1042, Cornell University, Nov. 1989.
Stipulation and Proposed order to (1) Amend the Complaint, (2)
Amend pretrial Schedule, and(3) Withdraw Motion to Stay, filed Sep.
8,2008 in C.D. Cal. Case No. CV 07-06161 VBF (PLAx) [6 pgs.].
Streamcast Networks Inc.'s Supplemental Responses to Certain of
Plaintiffs' First Set ofInterrogatories, Apr. 16,2007, in C.D. Cal. case
No. CV 06-5086 SJO (Ex) [61 pgs.].
StreamCast's Brief Re Claim Construction, Apr. 12, 2007, in C.D.
Cal, case No. CV 06-5086 SJO (Ex) [11 pgs.].
Transcript of Deposition of David Farber, Feb. 16,2006, in C.D. Cal.
case No. CV 04-7456 JFW (CTx) [94 pgs.].
Transcript of Deposition of Robert B. K. Dewar, Mar. 23, 2007, in
C.D. Cal. case No. CV 06-5086 SJO (Ex) [61 pgs.].
Transcript of Deposition of Ronald Lachman, Feb 1, 2006, C.D. Cal.
case No. CV 04-7456 JFW (CTx) [96 pgs.].
USPTO, Final Office Action mailed Aug. 18,2009 in U.S. Appl. No.
111017,650.
USPTO, Final Office Action mailed Sep. 30, 2009 in U.S. Appl. No.
111724,232.
Case 6:11-cv-00656 Document 1-5
Filed 12/08/11 Page 8 of 62 PageID #: 198
US 7,802,310 B2
Page 7
USPTO, Non-Final Office action mailed Jun. 18,2009 in U.S. Appl.
No. 901010,260.
Fowler, et al. "A User-Level Replicated File System," AT&T Bell
Laboratories Technical Memorandum 0112670-930414-05, Apr.
1993, and USENIX 1993 Summer Conference Proceedings, Cincinnati, OH, Jun. 1993.
Greene, D., et aI., "Multi-Index Hashing for Information Retrieval",
Nov. 20-22,1994, Proceedings, 35th Annual Symp on Foundations of
Computer Science, IEEE, pp. 722-731.
Hirano, et ai, "Extendible hashing for concurrent insertions and
retrievals," in Proc 4th Euromicro Workshop on Parallel and Distributed Processing, 1996 (PDP '96), Jan. 24, 1996 to Jan. 26, 1996, pp.
235-242, Braga, Portugal.
Preneel et aI., "The Cryptographic Hash Function RIPEMD-160",
appeared in CryptoBytes RSA Laboratories, vol. 3, No.2, pp. 9-14,
Fall, 1997 (also Bosselaers et al., "The RIPEMD-160 Cryptographic
Hash Function", Jan. 1997, Dr. Dobb's Journal, pp. 24-28).
Prusker et aI., "The Siphon: Managing Distant Replicated Repositories" Nov. 8-9, 1990, Proc. Management of Replicated Data IEEE.
Reply to Examination Report, Munich, Nov. 18,2009, in Application
No. EP 96910 762.2 [19 pgs.].
Rich, K. et ai, "Hobgoblin: A File and Directory Auditor", Sep.
30-0ct. 3, 1991, Lisa v., San Diego, CA.
U.S. Reexam U.S. Appl. No. 901010,260-Apr. 8, 2010 PTO Notice
ofIntent to Issue Ex Parte Reexamination Certificate.
USPTO Final Office Action in U.S. Appl. No. 101742,972, Dec. 22,
2009.
USPTO, Advisory Action, Mar. 23, 2010, in U.S. Appl. No.
111980,679.
USPTO, Final Office Action in U.S. Reexam U.S. Appl. No.
901010,260, Jan. 29, 2010.
USPTO, Final Office Action mailed Jan. 12,2010 in U.S. Appl. No.
111980,679.
WIPO, International Preliminary Examination Report (IPER), Jul.
1997, PCTlUS96/04733 [5 pgs.].
USPTO, Non-Final Office Action in U.S. Appl. No. 111980,677, Jun.
4,2010.
USPTO, Non-Final Office Action mailed Jul. 2, 2010 in U.S. Appl.
No. 111980,688.
USPTO, U.S. Reexam Control No. 901010,260, Notice of Intent to
Issue Ex Parte Reexamination Certificate, Apr. 8, 2010.
WIPO, International Preliminary Examination Report (IPER), Jul.
1997, PCTlUS96/04733 [5 pgs.].
Karp, R. M. and Rabin, M. 0., "Efficient randomized pattern-matching algorithms," IBM J. Res. Dev. 31, 2 (Mar. 1987),249-260.
List of Asserted Claims and Infringement Chart for Each Asserted
Claim, Jul. 28, 2008, in C.D. Cal. Case No. CV 07-06161 VBF
(PLAx) [31 pgs.].
McGregor D. R. and Mariani, J. A. "Fingerprinting-A techniquefor
file identification and maintenance," Software: Practice and Experience, vol. 12, No. 12, Dec. 1982, pp. 1165-1166.
Notice ofInterested Parties, filed Sep. 21, 2007 in C.D. Cal. Case No.
CV 07-06161 VBF (PLAx) [2 pgs.].
Notice of Motion and Motion of Defendant Lime Wire to Stay Litigation Pending Reexamination of Patent and Request for Extension
of Deadlines, Sep. 22, 2008, C.D. Cal. Case No. CV 07-06161 VBF
(PLAx) [11 pgs.].
Notice of Related Cases, filedSep. 21, 2007 inC.D. Cal. Case No. CV
07-06161 VBF (PLAx) [2 pgs.].
Panagopoulos, G., et aI., "Bit-sliced signature files for very large text
databases on a parallel machine architecture," In Proc. of the 4th Inter.
Conf. on Extending Database Technology (EDBT), Cambridge,
U.K., Mar. 1994, pp. 379-392 (Proc. LNCS 779 Springer 1994, ISBN
3-540-57818-8) [14 pgs.].
Patent Abstract, "Management System for Plural Versions," Pub. No.
63273961 A, published Nov. 11, 1988, NEC Corp.
Patent Abstracts of Japan, "Data Processor," Appln. No. 05135620,
filed Jun. 7, 1993, Toshiba Corp.
Plaintiff Kinetech, Inc.' s Responses to Defendant Mediasentry's
First set ofInterrogatories, May 1, 2006, in C.D. Cal. Case No. CV
04-7456 JFW (CTx) [14 pgs.].
Plaintiff-Counterclaim Defendant Altnet, Inc.'s Supplemental
Responses to Defendant -Counterclaim Plaintiff Overpeer Inc.' s First
Set ofInterrogatories, Mar. 8, 2006, redacted, in C.D. Cal. case No.
CV 04-7456 JFW(CTx) [24 pgs.].
Plaintiff-Counterclaim Defendant Brilliant Digital Entertainment,
Inc. 's Supplemental Responses to Defendant-Counterclaim Plaintiff
Overpeer Inc. 's First Set ofInterrogatories, Mar. 8, 2006, redacted, in
C.D. Cal. case No. CV 04-7456 JFW (CTx) [24 pgs.].
Plaintiff-Counterclaim Defendant Kinetech, Inc.' s Supplemental
Responses to Defendant -Counterclaim Plaintiff Overpeer Inc.' s First
Set ofInterrogatories Mar. 8, 2006, redacted, in C.D. Cal. case No.
CV 04-7456 JFW (CTx) [24 pgs.].
Plaintiffs Altnet, Inc., Brilliant Digital, Inc., and Kinetech, Inc.'s
Responses to Defendant Recording Industry Association of America's First Set of Requests for Admissions, Jan. 6, 2006, in C.D. Cal.
case No. CV 04-7456 JFW (CTx) [26 pgs.].
Plaintiffs' Claim Construction Opening Brief and Exhibits A -D, F, G;
May 7, 2007, in C.D. Cal. case No. CV 06-5086 SJO (Ex) [112 pgs.].
Plaintiffs' Preliminary Claim Constructions and Extrinsic Evidence,
Feb. 6, 2006, in case CV 06-5086 SJO (Ex) [20 pgs.].
Plaintiffs Reply to Defendant Mediasentry's Counterclaims in its
Answer to the Second Amended Complaint, May 1, 2006, in C.D.
Cal. Case No. CV 04-7456 JFW (CTx) [11 pgs.].
Plaintiffs Reply to Defendant RIAA's Counterclaims in its Answer to
the Second Amended Complaint, May 1, 2006, in C.D. Cal. case No.
CV 04-7456 JFW (CTx) [11 pgs.].
Plaintiffs' Reply to Defendants' Claim Construction Brief, filed Apr.
23,2007 in C.D. Cal. case No. CV 06-5086 ODW (Ex) [15 pgs.].
Reply to Examination Report, Jul. 19, 2007, in Application No. EP 96
910 762.2-1225 [7 pgs.].
Response to Non-Final Office Action filed May 19, 2009 in U.S.
Appl. No. 111017,650 [19 pgs.].
Rivest, R., RFC 1320, "The MD4 Message-Digest Algorithm," the
Internet Engineering Task Force (IETF), Apr. 1992.
Sacks-Davis, R., et al., "Multikey access methods based on superimposed coding techniques," ACM Trans. Database Syst. 12, 4 (Nov.
1987),655-696.
Siegel, A., et aI., "Deceit: a Flexible Distributed File System," Proc.
Workshop on the Management of Replicated Data, Houston, TX, pp.
15-17, Nov. 8-9, 1990.
Siegel, A., et aI., "Deceit: a Flexible Distributed File System," Technical Report, TR89-1042, Cornell University, Nov. 1989.
Stipulation and Proposed order to (1) Amend the Complaint, (2)
Amend pretrial Schedule, and(3) Withdraw Motion to Stay, filed Sep.
8,2008 in C.D. Cal. Case No. CV 07-06161 VBF(PLAx) [6 pgs.].
Streamcast Networks Inc. 's Supplemental Responses to Certain of
Plaintiffs' First Set ofInterrogatories, Apr. 16,2007, in C.D. Cal. case
No. CV 06-5086 SJO (Ex) [61 pgs.].
StreamCast's Brief Re Claim Construction, Apr. 12, 2007, in C.D.
Cal. case No. CV 06-5086 SJO (Ex) [11 pgs.].
Transcript of Deposition of David Farber, Feb. 16,2006, in C.D. Cal.
case No. CV 04-7456 JFW (CTx) [94 pgs.].
Transcript of Deposition of Robert B. K. Dewar, Mar. 23, 2007, in
C.D. Cal. case No. CV 06-5086 SJO (Ex) [61 pgs.].
Transcript of Deposition of Ronald Lachman, Feb. 1,2006, C.D. Cal.
case No. CV 04-7456 JFW (CTx) [96 pgs.].
USPTO, Non-Final Office Action mailed May 6,2009 in U.S. Appl.
No. 111980,679.
USPTO, Non-Final Office action mailed Jun. 15,2009 in U.S. Appl.
No. 111980,687.
USPTO, Non-Final Office action mailed Jun. 18, 2009 in Reexam
No. 901010,260.
Cheriton, David R. and Mann, Timothy P., "Decentralizing a global
naming service for improved performance and fault tolerance", ACM
Transactions on Computer Systems, vol. 7, No.2, May 1989, pp.
147-183.
Request for Reexamination of U.S. Patent No. 6,928,442: Reexam
Control No. 901010,260, filed on Aug. 29, 2008.
* cited by examiner
~
~
~
FIG.I(a)
~104~
~104~
STORAGE
STORAGE
• • •
DEVlCE
DEVICE
'--
~
=
~
102
102
PROCESSOR
PROCESSOR
• ••
rFJ
('D
'?
....
o
....
o
N
---
~
106
N
102
102
PROCESSOR
PROCESSOR
PROCESSOR
=....
o
....
....
('D
('D
.....
(.H
1QQ
....
_-
d
.'
rJl
",-.....1
QO
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 9 of 62 PageID #: 199
rFJ
102
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
Case 6:11-cv-00656 Document 1-5
u.s. Patent
Filed 12/08/11 Page 10 of 62 PageID #: 200
Sep.21,2010
Sheet 2 of 31
US 7,802,310 B2
r---·--------------------------------------------------,
1
1
I
I
I
1
I
I
1
I
I
I
I
1
1
1
1
h
I
1
I
I
I
I
I
I
I
f
1(\1
10
I
.....
1
I
~
J
a
CI)
U)
w
(.)
a
~
a.
CXJ
::J
o a.
,... 0
-.
(!)
-
I.L
FILE
SYSTEM
~
~
~
,
1
1
~17
REGION
~
=
~
I
117
REGION
REGION
• • •
rl17
I
REGION
rFJ
('D
'?
I
118
N
118
118
• a
DIRECTORY
8
N
Dl RECTO RY
rFJ
=-
('D
('D
.....
'I
•
\
FILE
,
tH
....
....
o
1
1
122
SEGMENT
FILE)
122
SEGMENT
tH
( FILE)
d
\
rJl
-....l
SEGMENTl
)
00
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 11 of 62 PageID #: 201
DIRECTORY
....
o
....
o
~
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
Case 6:11-cv-00656 Document 1-5
u.s. Patent
Sep.21,2010
Filed 12/08/11 Page 12 of 62 PageID #: 202
Sheet 4 of 31
US 7,802,310 B2
FIG.3
\38-
Region ID
Pathname
True Name
Type
File IO
Time of last access
Time of last modification
Safe flag
Lock flaq
Size
OWner
FIG.4
140
True Name
File ID
c~mpressed
File J:D
Source J:Ds
Dependent processors
Use count
Time of last access
Expiration
Groominq delete count
142
Region J:D
Reqion file system
R~ion
pathname
Reqion status
Mirror processor(s}
Mirror duplication count
policy
FIG.5
FIG.6
source
source
source
source
source
7Jl
•
1D
type
riqhts
avai1ability
location
~
~
~
~
=
I
~
--
-
- -
rFJ
('D
146
'?
....
o
....
o
N
original Name
~
N
Operation
Type
Processor ID
rFJ
=-
Timestamp
('D
('D
.....
Pathname
True Name
Ul
....
....
o
--
-- ---
----~-
----_.-
(.H
---
148
FIG.8
date of entry
. type of en~
True Name
__ ____________________________________________________
I
150
FIG. 9 1~e Name
l1censee
I
d
rJl
-....l
00
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 13 of 62 PageID #: 203
FIG.7
Case 6:11-cv-00656 Document 1-5
~
144
Case 6:11-cv-00656 Document 1-5
u.s. Patent
Filed 12/08/11 Page 14 of 62 PageID #: 204
Sep. 21, 2010
Sheet 6 of 31
US 7,802,310 B2
FIG. 10(0)
SIMP
DATA/TEM
,/' ------------- /8" ------------ . .
~
,
:
~,
5212
COMPUTE MD FUNCTION ON
1
DATA ITEM
S214
APPEND LENGTH MODULO 32 OF
DATA ITEM
,
I
,
I
\
,,
I
\
""
,
----------~~----~-----------
TRUE NAME
~
".
I
Case 6:11-cv-00656 Document 1-5
u.s. Patent
Sep.21,2010
Filed 12/08/11 Page 15 of 62 PageID #: 205
Sheet 7 of 31
US 7,802,310 B2
0,_ __
8216
r-YES
FIG. IO(b)
DATA ITEM
SIMPLE?
S220
PARTmON DATA ITEM INTO
SEGMENTS
5222
ASSIMILATE EACH SEGMENT
(COMPUTING ITS TRUE NAME)
------,
~r
~------
"
8118
'I
: COMPUTE TRUE :
I
: NAME OF SIMPLE :
! DATA ITEM :
•
....
_----- ------,
I
8224
CREATE INDIRECT BLOCK OF
SEGMENT TRUE NAMES
,,.
5226
ASSIMILATE INDIRECT BLOCK
(COMPUTING lTS TRUE NAME)
5228
REPLACE FINAL 32 BITS OF TRUE
NAMEWlTH LENGHTMOD 320F DATA
ITEM
FIG. II
~
8230
DETERMINE
~
~
~
=
TRUE NAME
~
rFJ
('D
'?
....
0
....
0
N
~
YES
N
=-
('D
('D
.....
QO
* CREATE NEW ENTRY
* SET USE COUNT TO 1
o
(.H
....
....
* STORE FILE 10
* SET OTHER FIELDS
5138
d
DELETE FILE ID
STORE FIl.E lD
rJl
-....l
00
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 16 of 62 PageID #: 206
rFJ
S236
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
Case 6:11-cv-00656 Document 1-5
u.s. Patent
Sep.21,2010
Filed 12/08/11 Page 17 of 62 PageID #: 207
Sheet 9 of 31
US 7,802,310 B2
FIG.12
YES
8240
UPDATE
DEPENDENCY
UST
NO
S242
SEND MESSAGE TO
~--------------~
S244
COMPRESS
(IF DESIRED)
S246
MIRROR
(IF DESIRED)
CACHESERVERTO
UPDATE CACHE
Case 6:11-cv-00656 Document 1-5
u.s. Patent
Sep.21,2010
Filed 12/08/11 Page 18 of 62 PageID #: 208
US 7,802,310 B2
Sheet 10 of 31
FIG.13
S250
SEARCH FOR
THE
~~~~~~--~
FAIL
PATHNAME
FOUND
S258
ASSIMILATE
FILE 10
S256
FREEZE
DIRECTORY
Case 6:11-cv-00656 Document 1-5
u.s. Patent
Sep.21,2010
Filed 12/08/11 Page 19 of 62 PageID #: 209
US 7,802,310 B2
Sheet 11 of 31
5260
CONFIRM THAT
TRUE NAME
EXISTS LOCALLY
FIG.14
S262
SEARCH FOR
PATHNAMEIN
LDETABLE
5264
CONFIRM THAT
DIRECTORY
EXISTS
YES
8268
DELETE
TRUE FILE
S270
CREATE
ENTRY IN LDE
& UPDATE
~
~
YES
NO
~
~
=
~
NEGATIVE
RESPONSE
S278
REQUEST
MOUNT
rFJ
('D
S274
'?
SEND RTF
MESSAGE &
WAIT FOR
RESPONSE
FAIL
RESPONSE
N
N
rFJ
=....
o
....
....
('D
('D
.....
N
(.H
8276
8280
FIND FILE
S282
---------~I
..
FIG.15
VERIFY TRUE
FILE (IF
DESIRED)
ENTER TRUE FILE
RETURNED INTO
TFR
d
rJl
-....l
00
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 20 of 62 PageID #: 210
POSITIVE
....
o
....
o
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
~
~
S284
CUENT
SELECTS
PROCESSOR(S)
~
~
=
~
rFJ
('D
'?
....
o
....
o
N
~
·.0
.1
FAIL
I
N
=....
o
....
....
.....
CLIENT
NEGATIVE
RESPONse
OR I
TIMEOUT
I BROADCASTS
CLIENT
WAITS
POSITIVE
RESPONSE
___ J... ___ _
FIG.16(a)
(.H
(.H
d
rJl
-....l
00
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 21 of 62 PageID #: 211
rFJ
('D
('D
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
~
~
~
~
~
o
STORE
PROCESSOR 10
=
~
rFJ
-?
N
:-'
N
o
o
....
FIG.16{b)
rFJ
=....
o
....
....
('D
('D
.....
.j;o.
TRUE NAME
S291c
SEND MESSAGE TO
RESERVE TRUE FILE
ON SOURCE
PROCESSOR
S290C-
~ "-/
o
(.H
->- 1
OURCE IS
PUBLISHING
SYSTEM? '
YES
S291d
DETERMINE
EXPIRATION DATE
AND ADD TO LIST
d
rJl
-....l
00
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 22 of 62 PageID #: 212
S2908
LOOK UP TFR FOR
TRUE NAME & ADD
SOURCE LOCATION 10
TO SOURCE IDS FOR
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
"'C
~
~
FIG.17(a)
~~~:B>
NO
~(
~
=
~
FAIL )
rFJ
('D
'?
....
0
....
0
N
~
N
",,-I
DONE I
rFJ
=.....
....
....
....
('D
('D
Ul
0
NO
(.H
YES
S298
DECOMPRESS.
NO
d
rJl
",-.....1
QO
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 23 of 62 PageID #: 213
YES
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
~
~
8302
~
~
NOTIFY
USER
=
~
S300
STORE 10
rFJ
('D
'?
S308
LOCATE
REMOTE FILE
NO MORE
'SOURCEID
....
o
....
o
N
8304
~
N
SELECT
SOURCE IDS
8306
rFJ
=....
o
....
....
('D
('D
.....
0\
REALIZE TRUE
FILE FROM
SQURCE(S)
(.H
FIG.17(b)
d
rJl
",-.....1
QO
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 24 of 62 PageID #: 214
DONE
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
~
FIG. 18(0)
~
~
~
=
~
,----sv'O-<.
rFJ
('D
'?
....
o
....
o
N
rFJ
=....
o
....
....
('D
('D
.....
DELETE
-....l
TRUE FILE
(.H
8320
CREATE NEW ....--------'
l...
SCRATCH FILE
S322
MAKE TRUE
FILE LOCAL
d
rJl
-....l
00
=
N
DONE
W
"""'
="
=
N
Filed 12/08/11 Page 25 of 62 PageID #: 215
~
N
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
Case 6:11-cv-00656 Document 1-5
u.s. Patent
Sep.21,2010
Filed 12/08/11 Page 26 of 62 PageID #: 216
Sheet 18 of 31
l.L
US 7,802,310 B2
.
~
~
~
~
=
8332
~
INCREMENT
FREEZE LOCK
FIG. 19(0)
rFJ
('D
'?
....
o
....
o
N
r
•
N
\
r-----1~~,
FILE AND
DIRECTORY IN THE
GIVEN DIRECTORY
\
J
:t.
S337
CREATE NEW
OATAITEM
5334
FREEZE IF
DIRECTORY
H
I
S336
ASSIMILATE
UNASSIMlLATED
FILE
rFJ
=....
o
....
....
('D
('D
.....
\0
(.H
d
rJl
-....l
00
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 27 of 62 PageID #: 217
FOR EACH
SUBORDINATE
......
I.....
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
------.----I
~
•
~
~
-,
~
'\"""
FOR EACH
S33B
SUBORDINATE
ADD ENTRY TO
FILE AND
I----.~ NEWDATA
DIRECTORY IN THE
ITEM
GIVEN DIRECTORY
\.
)
I
5340
I
1
~l
=
~
RECORD
ADOmONAL
DESIRED
INFORMATION
rFJ
('D
'?
....
o
....
o
N
N
8342
rFJ
ASSIMILATE THE
NEW DATA ITEM
a
o
o
=-
('D
N
FIG.19(b)
i8344
DECREMENT
THE FREEZE
LOCK
.-
I
....
....
(.H
d
rJl
-....l
00
=
N
W
"""'"
=
=
N
Filed 12/08/11 Page 28 of 62 PageID #: 218
•
~
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
~
~
"
5346
FIG. 20
~
~
=
~
MAKE TRUE
FILE LOCAL
rFJ
('D
~
r
-8354-1
r
5353
NO MORE
FOR EACH
ENTRIES
DIRECTORY
\.
ENTRY
JL
....
o
....
o
N
"'
S348
MORE
f-
ENTRIE~
...
r
READ
N
DIRECTORY
~
,.
S350
CREATE FULL
rFJ
=....
o
....
....
('D
('D
.....
N
(.H
PATHNAME
_t
S352
LINK PATH TO
TRUE NAME '
d
rJl
-....l
00
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 29 of 62 PageID #: 219
[ DONE~
'?
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
Case 6:11-cv-00656 Document 1-5
u.s. Patent
Sep.21,2010
Filed 12/08/11 Page 30 of 62 PageID #: 220
Sheet 22 of 31
US 7,802,310 B2
5354
WAIT FOR
FREEZE LOCK
TOnJRNOFF
8356
FIND TFR
FIG.21
ENTRY
S358
DECREMENT
REFERENCE
COUNT
5362
DRETE
TRUE FILE
NO
5364
REMOVE FILE 10
J 4 - - - - - - - - - - i AND COMPRESSED
FILE 10
Case 6:11-cv-00656 Document 1-5
u.s. Patent
Sep.21,2010
Filed 12/08/11 Page 31 of 62 PageID #: 221
US 7,802,310 B2
Sheet 23 of 31
8365
GET
OPERATION
FIG. 22
____
~_YES,
S368
~
ASSIMILATE
5369
NEW TRUE
FILE
8378
MODIFY USE
COUNT OF EACH
COMPONENT
S379
FOR EACH PARENT
DIRECTORY OR FILE.
UPDATE USE COUNT.
LAST ACCESS AND
MODIFY TIMES
S370
RECORD TRUE
NAME IN AUDIT
FILE
Case 6:11-cv-00656 Document 1-5
u.s. Patent
Sep.21,2010
Filed 12/08/11 Page 32 of 62 PageID #: 222
Sheet 24 of 31
US 7,802,310 B2
.,
,
S382
FIG. 23
VERIFY
GROOMING
LOCK OFF
., r
8384
SET
GROOMING
LOCK
~
,
S386
SET GROOM
COUNTS
."
Case 6:11-cv-00656 Document 1-5
u.s. Patent
Filed 12/08/11 Page 33 of 62 PageID #: 223
Sep.21,2010
Sheet 25 of 31
5388
FIND LDE
RECORD
FIG. 24
5390
FINDTFR
RECORD
5392
INCREMENT
GROOMING
DELETE COUNT
5394
ADJUST FlLE
SIZES
US 7,802,310 B2
Case 6:11-cv-00656 Document 1-5
u.s. Patent
Filed 12/08/11 Page 34 of 62 PageID #: 224
Sep. 21, 2010
Sheet 26 of 31
US 7,802,310 B2
FIG. 25
S396
DELETE
FILE
S398
UNLOCK
GROOMING
LOCK
.-___""11'0
C
YE:;;;'-'_ _-"I
FIG. 26(0)
~
~
~
~
=
~
S404
PROHIBIT
OPEN
S408
rFJ
('D
'?
DETERMINE
....
o
....
o
N
REGION
~
N
.YES
=-
.....
N
-....l
....
....
o
(.H
5422
PROHIBIT
OPEN
d
rJl
-....l
00
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 35 of 62 PageID #: 225
rFJ
('D
('D
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
~
~
~
~
=
~
~..
I LOCK IF NOT
rFJ
('D
'?
LOCKEO
....
o
....
o
N
~
N
rFJ
.
8417
CREATE
SCRATCH
COpy
~ERASEFILE
S42.0
MAKE LOCAL
S406
.....
N
QO
....
....
o
(.H
VERSION &
CREATE
SCRATCH FILE
=-
('D
('D
RETU RN FILE 10
FROMTFR
5424
RETURN
SCRATCH FILE l~
'~
to
FIG.26(b)
.
d
rJl
-....l
00
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 36 of 62 PageID #: 226
0·_---,
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
~
~
8422
~
~
=
DETERMINE LOE &
RTENTRY
RECORDS FOR
FILE
~
rFJ
('D
'?
....
o
....
o
N
~
N
PROHIBIT
DELEfION
rFJ
=-
('D
('D
.....
N
\0
o
....
....
(.H
IDENTIFY TRUE
FILE FROM TRUE
NAME
FIG. 27(a)
d
rJl
",-.....1
QO
..i:
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 37 of 62 PageID #: 227
...
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
~
~
~
~
~
J~O
________~
=
~
rFJ
('D
'?
....
o
....
o
N
S427
~
rFJ
=-
('D
('D
.....
(.H
o
o
5430
....
....
(.H
DELETE
TRUE FIlE
REDUCE USE
COUNT BY ONE
t
~I
"l
5428
ADD ENTRY TO
AUDIT FILE
d
rJl
-....l
00
=
N
FIG. 27(b)
W
"""'
="
=
N
Filed 12/08/11 Page 38 of 62 PageID #: 228
DELETE
SCRATCH COpy
OF FILE
X ES_-..
N
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
~
~
FIG. 28
NO
YES
~
~
=
~
rFJ
('D
'?
....
o
....
o
N
~
N
=....
o
....
....
.....
5442
O~ FORWARD ,~
REQUEST
(.H
(.H
8444
POSITIVE
RESPONSE
d
NEGATIVE
RESPONse
rJl
-....l
00
=
N
W
"""'
="
=
N
Filed 12/08/11 Page 39 of 62 PageID #: 229
rFJ
('D
('D
Case 6:11-cv-00656 Document 1-5
~
7Jl
•
Case 6:11-cv-00656 Document 1-5
Filed 12/08/11 Page 40 of 62 PageID #: 230
US 7,802,310 B2
1
2
CONTROLLING ACCESS TO DATA IN A DATA
PROCESSING SYSTEM
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: identifYing 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
scauned 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 processing 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 processor for an audio signal.
In all of the prior data processing systems the names or
identifiers provided to identifY data items (the data items
being files, directories, records in the database, objects in
object-oriented progranlilling, 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 particular 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 carmot, 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 DP system 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
RELATED APPLICATIONS
This application is a continuation of an claims priority to
pending u.s. patent application Ser. No. 111724,232, which is
a continuation of application Ser. No. 111017,650, filed Dec.
22, 2004, which is a continuation of pending application Ser.
No. 101742,972, filed Dec. 23, 2003, which is a continuation
ofSer. No. 091987,723, filed Nov. 15,2001, patented as u.s.
Pat. No. 6,928,442; which is a which 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,
which is a continuation ofSer. No. 08/425,160, filed Apr. 11,
1995, now abandoned, the contents of which each of these
applications are hereby incorporated herein by reference.
This application is a continuation of and claims priority to
application Ser. No. 111017,650, filed Dec. 22, 2004, which is
a continuation of application Ser. No. 091987,723, filed Nov.
15,2001, now U.S. Pat. No. 6,928,442, which 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, which is a continuation of Ser. No. 08/425,
160, filed Apr. 11, 1995, now abandoned, the contents of
which each of these applications are hereby incorporated
herein by reference. This is also a continuation of and claims
priority to application Ser. No. 101742,972, filed Dec. 23,
2003, which is a division of application Ser. No. 091987,723,
filed Nov. 15,2001, now U.S. Pat. No. 6,928,442, which 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, which is a continuation ofSer. No.
08/425,160, filed Apr. 11, 1995, now abandoned, the contents
of which each of these applications are hereby incorporated
herein by reference.
10
15
20
25
30
35
40
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) ona 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, themselves be
45
50
55
60
65
Case 6:11-cv-00656 Document 1-5
Filed 12/08/11 Page 41 of 62 PageID #: 231
US 7,802,310 B2
3
4
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 processors 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 corresponding 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 reloading
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 determine 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 ofidentical 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 properties 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 mechanism be used to
address each of the problems described above.
plurality of data items, by making possible or improving the
design and operation of at least some or all of the following
features:
the system stores at most one copy of any data item at a
given location, even when multiple data names in the system
refer to the same contents;
the system avoids copying data from source to destination
locations when the destination locations already have the
data;
the system provides transparent access to any data item by
reference only to its identity and independent of its present
location, whether it be local, remote, or offline;
the system caches data items from a server, so that only the
most recently accessed data items need be retained;
when the system is being used to cache data items, problems of maintaining cache consistency are avoided;
the system maintains a desired level of redundancy of data
items in a network of servers, to protect against failure by
ensuring that multiple copies of the data items are present at
different locations in the system;
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 file system;
the system can efficiently record and preserve any collection of data items;
the system can efficiently make a copy of any collection of
data items, to support a version control mechanism for groups
of the data items;
the system can publish data items, allowing other, possibly
anonymous, systems in a network to gain access to the data
items and to rely on the availability of the data items;
the system can maintain a local inventory of all the data
items located on a given removable medinm, such as a diskette or CD-ROM, the inventory is independent of other
properties of the data items such as their name, location, and
date of creation;
the system allows closely related sets of data items, such as
matching or corresponding directories on disconnected computers, to be periodically resynchronized with one another;
the system can verifY that data retrieved from another location is the desired or requested data, using only the data
identifier used to retrieve the data;
the system can prove possession of specific data items by
content without disclosing the content of the data items, for
purposes oflater legal verification and to provide anonymity;
the system tracks possession of specific data items according to content by owner, independent of the name, date, or
other properties of the data item, and tracks the uses of specific data items and files by content for accounting purposes.
Other objects, features, and characteristics of the present
invention as well as the methods of operation and functions of
the related elements of structure, and the combination of parts
and economies of manufacture, will become more apparent
upon consideration of the following description and the
appended claims with reference to the accompanying drawings, all of which form a part of this specification.
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 location in the system, by examining only the
data identities of a plurality of data items.
Using the method or apparatus of the present invention, the
efficiency and integrity of a data processing system can be
improved. The present invention improves the design and
operation of a data storage system, file system, relational
database, object-oriented database, or the like that stores a
10
15
20
25
30
35
40
45
50
55
60
BRIEF DESCRIPTION OF THE DRAWINGS
65
FIGS. 1(a) and 1(b) depict a typical data processing system
in which a preferred embodiment of the present invention
operates;
FIG. 2 depicts a hierarchy of data items stored at any
location in such a data processing system;
Case 6:11-cv-00656 Document 1-5
Filed 12/08/11 Page 42 of 62 PageID #: 232
US 7,802,310 B2
5
6
FIGS. 3-9 depict data structures used to implement an
embodiment of the present invention; and
FIGS. 1 O(a )-28 are flow charts depicting operation of vari0us aspects of the present invention.
122 is a fixed sequence of bytes. An important property of any
data segment is its size, the number of bytes in the sequence.
A single processor 102 may access one or more file systems
116, and a single storage device 104 may contain one or more
file systems 116, or portions of a file system 116 . For instance,
a file system 116 may span several storage devices 104.
In order to implement controls in a file system, file system
116 may be divided into distinct regions, where each region is
a unit of management and control. A region consists of a given
directory 118 and is identified by the pathname (user defined)
of the directory.
In the following, the term "location", with respect to a data
processing system 100, refers to any of a particular processor
102 in the system, a memory of a particular processor, a
storage device, a removable storage medium (such as a floppy
disk or compact disk), or any other physical location in the
system. The term "local" with respect to a particular processor 102 refers to the memory and storage devices of that
particular processor.
In the following, the terms "True Name", "data identity"
and "data identifier" refer to the substantially unique data
identifier for a particular data item. The term "True File"
refers to the actual file, segment, or data item identified by a
True Name.
A file system for a data processing system 100 is now
described which is intended to work with an existing operating system by augmenting some of the operating system's file
management system codes. The embodiment provided relies
on the standard file management primitives for actually storing to and retrieving data items from disk, but uses the mechanisms of the present invention to reference and access those
data items.
The processes and mechanisms (services) provided in this
embodiment are grouped into the following categories: primitive mechanisms, operating system mechanisms, remote
mechanisms, background mechanisms, and extended mechamsms.
Primitive mechanisms provide fundamental capabilities
used to support other mechanisms. The following primitive
mechanisms are described:
1. Calculate True Name;
2. Assimilate Data Item;
3. New True File;
4. Get True Name from Path;
5. Link path to True Name;
6. Realize True File from Location;
7. Locate Remote File;
8. Make True File Local;
9. Create Scratch File;
10. Freeze Directory;
11. Expand Frozen Directory;
12. Delete True File;
13. Process Audit File Entry;
14. Begin Grooming;
15. Select For Removal; and
16. End Grooming.
Operating system mechanisms provide typical familiar file
system mechanisms, while maintaining the data structures
required to offer the mechanisms of the, present invention.
Operating system mechanisms are designed to augment existing operating systems, and in this way to make the present
invention compatible with, and generally transparent to,
existing applications. The following operating system
mechanisms are described:
1. Open File;
2. Close File;
3. Read File;
DETAILED DESCRIPTION OF THE PRESENTLY
PREFERRED EXEMPLARY EMBODIMENTS
An embodiment of the present invention is now described
with reference to a typical data processing system 100, which,
with reference to FIGS. l(a) and l(b), includes one or more
processors (or computers) 102 and various storage devices
104 connected in some way, for example by a bus 106.
Each processor 102 includes a CPU 108, a memory 110
and one or more local storage devices 112. The CPU 108,
memory 110, and local storage device 112 may be internally
connected, for example by a bus 114. Each processor 102 may
also include other devices (not shown), such as a keyboard, a
display, a printer, and the like.
In a data processing system 100, wherein more than one
processor 102 is used, that is, in a multiprocessor system, the
processors may be in one of various relationships. For
example, two processors 102 may be in a client/server, client!
client, or a server/server relationship. These inter-processor
relationships may be dynamic, changing depending on particular situations and functions. Thus, a particular processor
102 may change its relationship to other processors as
needed, essentially setting up a peer-to-peer relationship with
other processors. In a peer-to-peer relationship, sometimes a
particular processor 102 acts as a client processor, whereas at
other times the same processor acts as a server processor. In
other words, there is no hierarchy imposed on or required of
processors 102.
In a multiprocessor system, the processors 102 may be
homogeneous or heterogeneous. Further, in a multiprocessor
data processing system 100, some or all of the processors 102
may be disconnected from the network of processors for
periods of time. Such disconnection may be part of the normal
operation of the system 100 or it may be because a particular
processor 102 is in need of repair.
Within a data processing system 100, the data may be
organized to form a hierarchy of data storage elements,
wherein lower level data storage elements are combined to
form higher level elements. This hierarchy can consist of, for
example, processors, file systems, regions, directories, data
files, segments, and the like. For example, with reference to
FIG. 2, the data items on a particular processor 102 may be
organized or structured as a file system 116 which comprises
regions 117, each of which comprises directories 118, each of
which can contain other directories 118 or files 120. Each file
120 being made up of one or more data segments 122.
In a typical data processing system, some or all of these
elements can be named by users given certain implementation
specific naming conventions, the name (or pathname) of an
element being relative to a context. In the context of a data
processing system 100, a pathname is fully specified by a
processor name, a file system name, a sequence of zero or
more directory names identifYing nested directories, and a
final file name. (Usually the lowest level elements, in this case
segments 122, cannot be named by users.)
In other words, a file system 116 is a collection of directories 118. A directory 118 is a collection of named files 120both data files 120 and other directory files 118. A file 120 is
a named data item which is either a data file (which may be
simple or compound) or a directory file 118. A simple file 120
consists of a single data segment 122. A compound file 120
consists of a sequence of data segments 122. A data segment
10
15
20
25
30
35
40
45
50
55
60
65
Case 6:11-cv-00656 Document 1-5
Filed 12/08/11 Page 43 of 62 PageID #: 233
US 7,802,310 B2
7
8
4. Write File;
5. Delete File or Directory;
6. Copy File or Directory;
7. Move File or Directory;
8. Get File Status; and
9. Get Files in Directory.
Remote mechanisms are used by the operating system in
responding to requests from other processors. These mechanisms enable the capabilities of the present invention in a
peer-to-peer network mode of operation. The following
remote mechanisms are described:
1. Locate True File;
2. Reserve True File;
3. Request True File;
4. Retire True File;
5. Cancel Reservation;
6. Acquire True File;
7. Lock Cache;
8. Update Cache; and
9. Check Expiration Date.
Background mechanisms are intended to run occasionally
and at a low priority. These provide automated management
capabilities with respect to the present invention. The following background mechanisms are described:
1. Mirror True File;
2. Groom Region;
3. Check for Expired Links; and
4. Verify Region; and
5. Groom Source List.
Extended mechanisms run within application programs
over the operating system. These mechanisms provide solutions to specific problems and applications. The following
extended mechanisms are described:
1. Inventory Existing Directory;
2. Inventory Removable, Read-only Files;
3. Synchronize directories;
4. Publish Region;
5. Retire Directory;
6. Realize Directory at location;
7. Verify True File;
8. Track for accounting purposes; and
9. Track for licensing purposes.
The file system herein described maintains sufficient informati on to provide a variety of mechanisms not ordinarily
offered by an operating system, some of which are listed and
described here. Various processing performed by this
embodiment of the present invention will now be described in
greater detail.
In some embodiments, some files 120 in a data processing
system 100 do not have True Names because they have been
recently received or created or modified, and thus their True
Names have not yet been computed. A file that does not yet
have a True Name is called a scratch file. The process of
assigning a True Name to a file is referred to as assimilation,
and is described later. Note that a scratch file may have a user
provided name.
Some of the processing performed by the present invention
can take place in a background mode or on a delayed or
as-needed basis. This background processing is used to determine information that is not immediately required by the
system or which may never be required. As an example, in
some cases a scratch file is being changed at a rate greater than
the rate at which it is useful to determine its True Name. In
these cases, determining the True Name of the file can be
postponed or performed in the background.
Data Structures
The following data structures, stored in memory 11 0 of one
of more processors 102 are used to implement the mechanisms described herein. The data structures can be local to
each processor 102 of the system 100, or they can reside on
only some of the processors 102.
The data structures described are assumed to reside on
individual peer processors 102 in the data processing system
100. However, they can also be shared by placing them on a
remote, shared file server (for instance, in a local area network
of machines). In order to accommodate sharing data structures, it is necessary that the processors accessing the shared
database use the appropriate locking techniques to ensure that
changes to the shared database do not interfere with one
another but are appropriately serialized. These locking techniques are well understood by ordinarily skilled progr=ers
of distributed applications.
It is sometimes desirable to allow some regions to be local
to a particular processor 102 and other regions to be shared
among processors 102. (Recall that a region is a unit of file
system management and control consisting of a given directory identified by the pathname of the directory.) In the case of
local and shared regions, there would be both local and shared
versions of each data structure. Simple changes to the processes described below must be made to ensure that appropriate data structures are selected for a given operation.
The local directory extensions (LDE) table 124 is a data
structure which provides information about files 120 and
directories 118 in the data processing system 100. The local
directory extensions table 124 is indexed by a pathname or
contextual name (that is, a user provided name) of a file and
includes the True Name for most files. The information in
local directory extension table 124 is in addition to that provided by the native file system of the operating system.
The True File registry (TFR) 126 is a data store for listing
actual data items which have True Names, both files 120 and
segments 122. When such data items occur in the True File
registry 126 they are known as True Files. True Files are
identified in True File registry 126 by their True Names or
identities. The table True File registry 126 also stores location, dependency, and migration information about True
Files.
The region table (RT) 128 defines areas in the network
storage which are to be managed separately. Region table 128
defines the rules for access to and migration of files 120
among various regions with the local file system 116 and
remote peer file systems.
The source table (ST) 130 is a list of the sources of True
Files other than the current True File registry 126. The source
table 130 includes removable volumes and remote processors.
The audit file (AF) 132 is a list of records indicating
changes to be made in local or remote files, these changes to
be processed in background.
The accounting log (AL) 134 is a log of file transactions
used to create accounting information in a manner which
preserves the identity of files being tracked independent of
their name or location.
The license table (LT) 136 is a table identifYing files, which
may only be used by licensed users, in a manner independent
of their name or location, and the users licensed to use them.
10
15
20
25
30
35
40
45
50
55
60
65
Detailed Descriptions of the Data Structures
The following table summarizes the fields of an local directory extensions table entry, as illustrated by record 138 in
FIG. 3.
Case 6:11-cv-00656 Document 1-5
Filed 12/08/11 Page 44 of 62 PageID #: 234
US 7,802,310 B2
10
9
Each region table record 142 of region table 128 includes
the fields described in the following table (with reference to
FIG. 5):
Field
Description
Region ID
Pathname
identifies the region in which this file is contained.
the user provided name or contextual name of the file
or directory, relative to the region in which it
occurs.
True Name
Scratch File
ID
Time oflast
access
modified and is later recomputed in the background.
indicates whether the file is a data file or a
directory.
the physical location of the file in the file system,
when no True Name has been calculated for the file.
As noted above, such a file is called a scratch file.
the last access time to this file. If this file is a
10
15
in the directory.
the time of last change of this file. If this file
modification
is a directory, this is the last modification time
Lock flag
internally used identifier for this region.
file system on the local processor of which this
system
region is a part.
a patlmame relative to the region file system
Region
pathname
Mirror
processor(s)
directory, this is the last access time to any file
Time oflast
Safe flag
Description
Region ID
Region file
the computed True Name or identity of the file or
directory. This True Name is not always up to date,
and it is set to a special value when a file is
Type
Field
of any file in the directory.
indicates that this file (and, if this file is a
directory, all of its subordinate files) have been
backed up on some other system, and it is therefore
Mirror
duplication
COlUlt
20
Region
status
102 (if, for instance, it resides on a shared file
Policy
Owner
the full size of this directory (including all
subordinate files), if all files in it were fully
expanded and duplicated. For a file that is not a
directory this is the size of the actual True File.
the identity of the user who owns this file, for
policies. The policies are as follows (parameters
in brackets are specified as part of the policy):
25
region is a cached version from [processor ID];
region is a member of a mirror set defined by
[processor ID].
region is to be archived on [processor ID].
region is to be backed up locally, by placing
new copies in [region ID].
region is read only and may not be changed.
region is published and expires on [date].
30
accounting and license tracking purposes.
Each record of the True File registry 126 has the fields
shown in the True File registry record 140 in FIG. 4. The True
File registry 126 consists of the database described in the
table below as well as the actual True Files identified by the
True File IDs below.
Files in this region should be compressed.
35
40
Field
Description
True Name
the migration policy to apply to this region. A
single region might participate in several
being modified by the local processor or a remote
Size
specifies whether this region is local to a
single processor 102, shared by several processors
server), or managed by a remote processor.
safe to remove them.
indicates whether a file is locked, that is, it is
processor. Only one processor may modify a file at
a time.
which defines the location of this region. The
region consists of all files and directories
subordinate to this patlmame, except those in a
region subordinate to this region.
zero or more identifiers of processors which are
to keep mirror or archival copies of all files in
the ClITrent region. Multiple mirror processors
can be defined to form a mirror group.
number of copies of each file in this region
that should be retained in a mirror group.
A source table 130 identifies a source location for True
Files. The source table 130 is also used to identifY client
processors making reservations on the current processor.
Each source record 144 of the source table 130 includes the
fields sunnnarized in the following table, with reference to
FIG. 6:
computed True Name or identity of the file.
compressed version of the True File may be stored
Compressed
File ID
instead of, or in addition to, an uncompressed
version. This field provides the identity of the
Field
source ID
internal identifier used to identify a
source type
particular SOlITce.
type of SOlITce location:
of the file.
Grooming
delete count
Time oflast
access
Expiration
Dependent
processors
Source IDs
True File ID
tentative COlUlt of how many references have been
selected for deletion dlITing a grooming operation.
most recent date and time the content of this file
was accessed.
date and time after which this file may be deleted
by this server.
Removable Storage Volume
Local Region
Cache Server
Mirror Group Server
Cooperative Server
50
processor IDs of other processors which contain
references to this True File.
SOlITce ID(s) of zero or more sources from which
this file or data item may be retrieved.
identity or disk location of the actual physical
representation of the file or file segment. It
source
55
rights
source
is sufficient to use a filename in the registration
availability
directory of the underlying operating system. The
True File ID is absent if the actual file is not
Use count
clITrently present at the ClITrent location.
number of other records on this processor which
Description
45
actual representation of the compressed version
Publishing Server
Client
includes information about the rights of this
processor, such as whether it can ask the local
processor to store data items for it.
meaSlITement of the bandwidth, cost, and
reliability of the connection to this SOlITce
of True Files. The availability is used to
60
identify this True File.
source
location
select from among several possible SOlITces.
info11llation on how the local processor is to
access the source. This may be, for example,
the name of a removable storage volwne, or
the processor ID and region path of a region
on a remote processor.
A region table 128, specified by a directory pathname,
records storage policies which allow files in the file system to
be stored, accessed and migrated in different ways. Storage
policies are progrannned in a configurable way using a set of
rules described below.
65
The audit file 132 is a table of events ordered by timestamp,
each record 146 in audit file 132 including the fields sunnnarized in the following table (with reference to FIG. 7):
Case 6:11-cv-00656 Document 1-5
Filed 12/08/11 Page 45 of 62 PageID #: 235
US 7,802,310 B2
11
Field
Description
Original
Name
Operation
12
path of the file in question.
Type
Processor
ID
Timestamp
Pathname
True Name
whether the file was created, read, written,
copied or deleted.
specifies whether the source is a file or a
directory.
ID of the remote processor generating this
event (if not local).
time and date file was closed (required only
for accessed/modified files).
Name of the file (required only for rename).
computed True Name of the file. This is used
by remote systems to mirror changes to the
directory and is filled in during background
processing.
Each record 148 of the accounting log 134 records an event
which may later be used to provide information for billing
mechanisms. Each accounting log entry record 148 includes
at least the information summarized in the following table,
with reference to FIG. 8:
10
15
True File registry 126, as identified by a True File ID. This
support may be provided by an underlying operating system
or disk storage manager.
The following primitive mechanisms are described:
1. Calculate True Name;
2. Assimilate Data Item;
3. New True File;
4. Get True Name from Path;
5. Link Path to True Name;
6. Realize True File from Location;
7. Locate Remote File;
8. Make True File Local;
9. Create Scratch File;
10. Freeze Directory;
11. Expand Frozen Directory;
12. Delete True File;
13. Process Audit File Entry;
14. Begin Grooming;
15. Select For Removal; and
16. End Grooming.
20
1. Calculate True Name
A True Name is computed using a function, MD, which
reduces a data block B of arbitrary length to a relatively small,
fixed size identifier, the True Name of the data block, such that
25 the True Name of the data block is virtually guaranteed to
represent the data block B and only data block B.
The function MD must have the following properties:
Field
Description
1. The domain of the function MD is the set of all data
date of entry date and time of this log entry.
items. The range of the function MD is the set of True
type 0 f entry Entry types include create file, delete file, and transmit file.
Names.
True Name
True Name of data item in question.
30
2. The function MD must take a data item of arbitrary
owner
identity of the user responsible for this action.
length and reduce it to an integer value in the range 0 to
N-l, where N is the cardinality of the set of True Names.
Each record 150 of the license table 136 records a relationThat is, for an arbitrary length data block B, O~MD(B)
ship between a licensable data item and the user licensed to
Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.
Why Is My Information Online?