`Exhibit 1008
`
`
`Exhibit 1008
`
`
`
`,
`
`Attorney's Docket No.: 066241.0117
`
`PATENT APPLICATION
`
`1
`
`g n
`Ex§ 3‘
`\ s H
`5E“;
`mg to .
`Box Patent Application
`H§:;u
`ASSISTANT COMMISSIONER
`E5:
`\ OF PATENTS
`Washington, DC. 20231
`
`TRANSMITTAL FOR US. PATENT APPLICATION
`UNDER 37 CFR §1.53(b)
`\
`Attorney's Docket: 066241.0117 E E
`,3 §H
`"3% E3
`DB if}H\$\
`”'03 EH
`00°: ED
`n §
`
`Sir:
`
`
`
`
`
`~
`
`Transmitted herewith for filing is the original patent application of:
`
`Inventor:
`
`Keith A. Lowery, et a1.
`
`For:
`
`METHOD AND SYSTEM FOR DYNAMIC DISTRIBUTED DATA
`CACHING
`
`
`X Pursuant to 37 C.F.R. § 1.213(a), Applicant(s) respectfully requests
`that the above-identified patent application not be published under 37 U.S.C. §
`122(b). Applicant(s) hereby certifies that the invention disclosed in the above-
`identified application has not been and will not be the subject of an application
`filed in another country, or under a multilateral international agreement, that
`requires publication at eighteen months after filing.
`
`Enclosed are:
`
`89 pages of Specification, Claims and Abstract;
`(1)
`4 pages of Executed Declaration and Power of Attorney;
`(2)
`11 pages of Formal Drawings;
`(3)
`1 page of executed Verified Statement Claiming Small Entity Status
`(4)
`under 37 C.F.R. §§ 1.9(f) and .l.27(c)—Small Business Concern;
`(5)
`4 pages of an Assignment of the invention to epicRealm Inc.;
`(6)
`2 pages of a separate cover sheet in compliance with 37 C.F.R. § 3.28
`and § 3.31 is included with an Assignment recordal fee of $40.00 pursuant to 37
`C.F.R. § 1.21(h);
`
`(7)
`2 pages of an Infonnation Disclosure Statement with PTO-1449 Form
`and attached references (19 references);
`
`2 pages of a Preliminary Amendment;
`(8)
`
`1 page of a Certificate of Mailing by Express Mail No.2
`(8)
`EL759174439US; and
`
`2 pages of a this Transmittal Form with attached patent application
`(9)
`filing fee in the amount of $1,600.00.
`
`FEE CALCULATION
`f
`Number
`
`
`
`$1,600.00
`
`Total Claims
`
`Independent
`Claims
`
`
`
`Number
`105
`
`_|
`
`15
`
`20
`
`3
`
`Extra
`85
`
`12
`
`Rate
`X $ 9 =
`
`X $40 =
`
`TOTAL FILING FEE =
`
`FEE
`Basic Fee
`
`33
`$
`
`355.00
`765.00
`
`$ 480.00
`
`DAL011577244.1
`066241 .0 1 l 7
`
`IMIIMIW
`
`Petitioner Ex. 1008 Page 1
`
`Petitioner Ex. 1008 Page 1
`
`
`
`Attorney‘s Docket No.: 066241.01 17
`
`PATENT APPLICATION
`
`Enclosed is a check in the amount of $1,600.00 for the filing fee.
`charge any additional fees or credit any overpayment to Deposit Account No. 02-03 84
`of Baker Botts L.L.P. A duplicate copy of this sheet is enclosed.
`8 =A, =to =
`‘Q =H
`‘fi‘ =“‘c>
`09 ~
`.m _\
`DID =—N
`IF- =
`
`BAKER BOTTS L.L.P.
`
`Please
`
`Attorneys for Applicants
`
`mafia %
`
`Matthew B. Talpis
`Registration No. 45,152
`
`Q‘c‘i —:H
`CDC _-0
`U 275 =
`
`Date: January 12, 2001
`
`
`
`DAL01:577244.1
`066241 .01 17
`
`Petitioner Ex. 1008 Page 2
`
`Petitioner Ex. 1008 Page 2
`
`
`
`Attorney's Docket No.:
`066241.01 17
`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`E
`
`In re Application of:
`.
`.
`Filmg Date:
`Title:
`
`Keith A. Lowery, et a1.
`
`January 12, 2001
`METHOD AND SYSTEM FOR D Y NAMIC
`DISTRIBUTED DATA CACHING
`
`=53 $0:
`H \
`vow,
`sac §g
`h \
`
`Box: Patent Application
`Assistant Commissioner for Patents
`
`Washington, DC.
`
`20231
`
`Dear Sir:
`
`
`
`CERTIFICATE OF MAILING BY EXPRESS MAIL
`
`I hereby certify that the attached Filing Fee Transmittal (2 pages), Patent Application
`
`(89 pages), a check in the amount of $1,600.00, Declaration and Power of Attorney (4 pages),
`
`Formal Drawings (11 pages), Assignment Cover Sheet (2 pages), Assignment (4 pages), a
`
`Check in the amount of $40.00, Information Disclosure Statement (2 pages), PTO-Form 1449
`
`(1 page) (with 10 references), Preliminary Amendment (2 pages), Verified Statement (1
`
`page), and a Baker Botts L.L.P. return receipt postcard (1 card) is being deposited with the
`
`United States Postal Service “Express Mail Post Office to Addressee" service under 37
`
`C.F.R. § 1.10 on this 12th day of January, 2001, addressed to the Assistant Commissioner for
`
`Patents, Washington, DC. 20231.
`
`Express Mail Receipt
`No. 759174439US
`
`Attorney Docket No.
`066241 .01 17
`
`DAL012577250.1
`066241.0117
`
`Willie Jiles
`
`Petitioner Ex. 1008 Page 3
`
`Petitioner Ex. 1008 Page 3
`
`
`
`Attorney's Docket No.: 0662410117
`
`PATENT APPLICATION
`
`Enclosed is a check in the amount of $1,600.00 for the filing fee. Please
`charge any additional fees or credit any overpayment to Deposit Account No. 02—03 84 Q
`3':
`of Baker Botts L.L.P. A duplicate copy of this sheet is enclosed.
`5:2 an:\
`
`BAKER BOTTS L.L.P.
`
`Attorneys for Applicants
`
`flzh
`
`Matthew B. Talpis
`Registration No. 45,152
`
`Date: January 12, 2001
`
`
`
`DAIJ012577244.1
`066241.0117
`
`Petitioner Ex. 1008 Page 4
`
`Petitioner Ex. 1008 Page 4
`
`
`
`,
`
`Attorney's Docket No.: 066241.0117
`
`PATENT APPLICATION
`
`P f/ /6~ 0/
`
`A '
`
`1
`
`g n
`Ex§ 3‘
`\ s H
`5E“;
`mg to .
`Box Patent Application
`H§:;u
`ASSISTANT COMMISSIONER
`E5:
`\ OF PATENTS
`Washington, DC. 20231
`
`TRANSMITTAL FOR US. PATENT APPLICATION
`UNDER 37 CFR §1.53(b)
`\
`Attorney's Docket: 066241.0117 E E
`,3 §H
`"3% E3
`DB if}H\$\
`”'03 EH
`00°: ED
`n §
`
`Sir:
`
`
`
`
`
`~
`
`Transmitted herewith for filing is the original patent application of:
`
`Inventor:
`
`Keith A. Lowery, et a1.
`
`For:
`
`METHOD AND SYSTEM FOR DYNAMIC DISTRIBUTED DATA
`CACHING
`
`
`X Pursuant to 37 C.F.R. § 1.213(a), Applicant(s) respectfully requests
`that the above-identified patent application not be published under 37 U.S.C. §
`122(b). Applicant(s) hereby certifies that the invention disclosed in the above-
`identified application has not been and will not be the subject of an application
`filed in another country, or under a multilateral international agreement, that
`requires publication at eighteen months after filing.
`
`Enclosed are:
`
`89 pages of Specification, Claims and Abstract;
`(1)
`4 pages of Executed Declaration and Power of Attorney;
`(2)
`11 pages of Formal Drawings;
`(3)
`1 page of executed Verified Statement Claiming Small Entity Status
`(4)
`under 37 C.F.R. §§ 1.9(f) and .l.27(c)—Small Business Concern;
`(5)
`4 pages of an Assignment of the invention to epicRealm Inc.;
`(6)
`2 pages of a separate cover sheet in compliance with 37 C.F.R. § 3.28
`and § 3.31 is included with an Assignment recordal fee of $40.00 pursuant to 37
`C.F.R. § 1.21(h);
`
`(7)
`2 pages of an Infonnation Disclosure Statement with PTO-1449 Form
`and attached references (19 references);
`
`2 pages of a Preliminary Amendment;
`(8)
`
`1 page of a Certificate of Mailing by Express Mail No.2
`(8)
`EL759174439US; and
`
`2 pages of a this Transmittal Form with attached patent application
`(9)
`filing fee in the amount of $1,600.00.
`
`FEE CALCULATION
`f
`Number
`
`
`
`$1,600.00
`
`Total Claims
`
`Independent
`Claims
`
`
`
`Number
`105
`
`_|
`
`15
`
`20
`
`3
`
`Extra
`85
`
`12
`
`Rate
`X $ 9 =
`
`X $40 =
`
`TOTAL FILING FEE =
`
`FEE
`Basic Fee
`
`33
`$
`
`355.00
`765.00
`
`$ 480.00
`
`DAL011577244.1
`066241 .0 1 l 7
`
`Imuww
`
`Petitioner Ex. 1008 Page 5
`
`Petitioner Ex. 1008 Page 5
`
`
`
`Attorney‘s Docket No.: 066241.01 17
`
`PATENT APPLICATION
`
`Enclosed is a check in the amount of $1,600.00 for the filing fee.
`charge any additional fees or credit any overpayment to Deposit Account No. 02-03 84
`of Baker Botts L.L.P. A duplicate copy of this sheet is enclosed.
`8 =A, =to =
`‘Q =H
`‘fi‘ =“‘c>
`09 ~
`.m _\
`DID =—N
`IF- =
`
`BAKER BOTTS L.L.P.
`
`Please
`
`Attorneys for Applicants
`
`mafia %
`
`Matthew B. Talpis
`Registration No. 45,152
`
`Q‘c‘i —:H
`CDC _-0
`U 275 =
`
`Date: January 12, 2001
`
`
`
`DAL01:577244.1
`066241 .01 17
`
`Petitioner Ex. 1008 Page 6
`
`Petitioner Ex. 1008 Page 6
`
`
`
`Attorney's Docket No.:
`066241.01 17
`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`E
`
`In re Application of:
`.
`.
`Filmg Date:
`Title:
`
`Keith A. Lowery, et a1.
`
`January 12, 2001
`METHOD AND SYSTEM FOR D Y NAMIC
`DISTRIBUTED DATA CACHING
`
`=53 $0:
`H \
`vow,
`sac §g
`h \
`
`Box: Patent Application
`Assistant Commissioner for Patents
`
`Washington, DC.
`
`20231
`
`Dear Sir:
`
`
`
`CERTIFICATE OF MAILING BY EXPRESS MAIL
`
`I hereby certify that the attached Filing Fee Transmittal (2 pages), Patent Application
`
`(89 pages), a check in the amount of $1,600.00, Declaration and Power of Attorney (4 pages),
`
`Formal Drawings (11 pages), Assignment Cover Sheet (2 pages), Assignment (4 pages), a
`
`Check in the amount of $40.00, Information Disclosure Statement (2 pages), PTO-Form 1449
`
`(1 page) (with 10 references), Preliminary Amendment (2 pages), Verified Statement (1
`
`page), and a Baker Botts L.L.P. return receipt postcard (1 card) is being deposited with the
`
`United States Postal Service “Express Mail Post Office to Addressee" service under 37
`
`C.F.R. § 1.10 on this 12th day of January, 2001, addressed to the Assistant Commissioner for
`
`Patents, Washington, DC. 20231.
`
`Express Mail Receipt
`No. 759174439US
`
`Attorney Docket No.
`066241 .01 17
`
`DAL012577250.1
`066241.0117
`
`Willie Jiles
`
`Petitioner Ex. 1008 Page 7
`
`Petitioner Ex. 1008 Page 7
`
`
`
`Attorney's Docket No.: 0662410117
`
`PATENT APPLICATION
`
`Enclosed is a check in the amount of $1,600.00 for the filing fee. Please
`charge any additional fees or credit any overpayment to Deposit Account No. 02—03 84 Q
`3':
`of Baker Botts L.L.P. A duplicate copy of this sheet is enclosed.
`5:2 an:\
`
`BAKER BOTTS L.L.P.
`
`Attorneys for Applicants
`
`flzh
`
`Matthew B. Talpis
`Registration No. 45,152
`
`Date: January 12, 2001
`
`
`
`DAIJ012577244.1
`066241.0117
`
`Petitioner Ex. 1008 Page 8
`
`Petitioner Ex. 1008 Page 8
`
`
`
`ATTORNEY DOCKET NO.:
`0662410117
`
`PATENT APPLICATION
`
`1
`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`In re Application of:
`
`Keith A. Lowery, et al.
`
`Filing Date:
`
`Title:
`
`January 12, 2001
`
`METHOD AND SYSTEM FOR DYNAMIC
`
`DISTRIBUTED DATA CACHING
`
`Assistant Commissioner
`for Patents
`
`Washington, DC 20231
`
`Dear Sir:
`
`PRELIMINARY AMENDMENT
`
`Prior to the initial review of this patent application, please amend the application as
`
`follows:
`
`IN THE SPECIFICATION
`
`At page 65, line 22, please replace “29" with -—30--.
`
`
`
`DAL012577491 .l
`066241.011?
`
`"W“
`
`Petitioner Ex. 1008 Page 9
`
`Petitioner Ex. 1008 Page 9
`
`
`
`ATTORNEY DOCKET NO.:
`066241.01 17
`
`PATENT APPLICATION
`
`2
`
`REMARKS
`
`No new matter has been added. The total number of claims has not been changed.
`
`Early and favorable acceptance of this Application is respectfully requested.
`
`CONCLUSION
`
`No other fees are believed to be due, however, the Commissioner is hereby authorized
`
`to charge any additional fees or credit any overpayments to Deposit Account No. 02-03 84 of
`
`Baker Botts L.L.P.
`
`Respectfully submitted,
`BAKER BOTTS L.L.P.
`
`Attorneys for Applicant
`
`W% W
`
`Matthew B. Talpis
`Reg. No. 45,152
`
`
`
`Correspondence Address:
`Kevin J. Meek, Esq.
`Baker Botts L.L.P.
`
`2001 Ross Avenue, Suite 600
`
`Dallas, Texas 75201
`Phone: (214) 953—6680
`Fax: (214) 661-4680
`
`Date: January 12, 2001
`
`DAL01:577491.1
`066241.0117
`
`Petitioner Ex. 1008 Page 10
`
`Petitioner Ex. 1008 Page 10
`
`
`
`ATTORNEY‘S DOCKET
`066241.0117
`
`1
`
`PATENT APPLICATION
`
`METHOD AND SYSTEM FOR DYNAMIC DISTRIBUTED DATA CACHING
`
`TECHNICAL FIELD OF THE INVENTION
`
`This invention relates in general
`
`to the field of data
`
`5
`
`processing systems
`
`and, more particularly,
`
`to a method and
`
`system for dynamic distributed data caching.
`
`066241 . 0117
`
`DALOl : 568232 .1
`
`ulmllm
`
`1W
`
`Petitioner Ex. 1008 Page 11
`
`Petitioner Ex. 1008 Page 11
`
`
`
`ATTORNEY'S DOCKET
`066241.011?
`
`2
`
`PATENT APPLICATION
`
`BACKGROUND OF THE INVENTION
`
`As computers have grown increasingly important
`
`in today's
`
`society,
`
`the importance of
`
`the Internet has also increased.
`
`As
`
`increasing numbers of users access the Internet,
`
`the need
`
`5
`
`for efficient use of bandwidth has also increased.
`
`The
`
`increasing numbers of
`
`requests handled by'
`
`the Internet are
`
`increasing the delay experienced by a user between generating
`
`a request and receiving a response to the request because of
`
`bandwidth limitations.
`
`One
`
`traditional
`
`solution.
`
`to decreasing bandwidth. usage
`
`and decreasing the delay experienced by the user has involved
`
`caching" previously'
`
`requested content at
`
`the user's computer
`
`for
`
`faster
`
`retrieval.
`
`A related traditional
`
`solution has
`
`involved caching previously requested content
`
`for multiple
`
`users at a single cache server. Another traditional solution
`
`has
`
`involved
`
`increasing
`
`the
`
`bandwidth.
`
`of
`
`the
`
`network
`
`connection between the Internet,
`
`the user and the web servers
`
`handling the requests. However,
`
`traditional
`
`solutions have
`
`often failed as the number of
`
`requests continue to increase
`
`and overload single cache servers and because of
`
`the expense
`
`associated with maintaining large
`
`numbers
`
`of
`
`high
`
`speed
`
`connections
`
`to the Internet.
`
`In. addition”
`
`the traditional
`
`solutions have not utilized the "always~on" nature of newer
`
`broadband connections
`
`such as digital
`
`subscriber
`
`line and
`
`cable modems.
`
`DAL012568232.1
`066241.0117
`
`lllllwm
`
`um
`
`Petitioner Ex. 1008 Page 12
`
`20
`
` 15
`
`25
`
`Petitioner Ex. 1008 Page 12
`
`
`
`ATTORNEY‘S DOCKET
`066241.0117
`
`3
`
`PATENT APPLICATION
`
`SUMMARY OF THE INVENTION
`
`From the foregoing,
`
`it may be appreciated that a need has
`
`arisen for a method and system for dynamic distributed data
`
`caching to provide more efficient use of bandwidth.
`
`5
`
`According to one embodiment of
`
`the present
`
`invetion,
`
`a
`
`method for dynamic distributed data caching is provided.
`
`The
`
`method comprises providing a cache
`
`community comprising at
`
`least one peer.
`
`Each peer has an associated first content
`
`portion indicating content
`
`to be
`
`cached by the respective
`
`peer.
`
`The method further comprises allowing a client to join
`
`the cache community, updating a peer list associated with the
`
`cache
`
`community
`
`to
`
`include
`
`the
`
`client,
`
`the
`
`peer
`
`list
`
`indicating the peers in the cache community, and associating a
`
`respective second content portion with each peer based on the
`
`addition of
`
`the client.
`
`The
`
`second content portion is
`
`distinct from the first content portion.
`
`According to another embodiment of the present
`
`invention,
`
`a system for dynamic distributed data caching is presented.
`
`The system comprises logic encoded on storage.
`
`The logic is
`
`operable to provide a cache community comprising at
`
`least one
`
`peer.
`
`Each peer has
`
`an associated first content portion
`
`indicating content
`
`to be cached. by'
`
`the respective peer and
`
`allow a client
`
`to join.
`
`the cache community.
`
`The
`
`logic is
`
`further operable to update a peer list associated. with the
`
`cache
`
`community
`
`to include
`
`the client.
`
`The peer
`
`list
`
`indicates the peers
`
`in the cache community.
`
`The
`
`logic is
`
`further operable to associate a
`
`respective second content
`
`portion with each peer based on the addition of
`
`the client.
`
`The second content portion is distinct from the first content
`
`portion.
`
`According
`
`to
`
`a
`
`further
`
`embodiment
`
`of
`
`the
`
`present
`
`invention,
`
`a method for dynamic distributed data caching is
`
`DAL012568232 .1
`066241 . 0117
`
`
`
`umumm
`
`'HH
`
`PefifionerEx.1008|Dage13
`
`Petitioner Ex. 1008 Page 13
`
`
`
`ATTORNEY'S DOCKET
`066241.011?
`
`4
`
`PATENT APPLICATION
`
`presentedn
`
`The method. comprises determining that
`
`a
`
`first
`
`master associated with a cache community is non—operational,
`
`electing a second master
`
`to replace the first master
`
`in the
`
`cache community,
`
`and allocating at
`
`least one content portion
`
`5
`
`based on the loss of the first master.
`
`embodiment of
`
`the present
`
`According to a yet another
`
`systen1 for‘ dynamic distributed. data caching is
`
`invetion,
`
`a
`
`presented.
`
`The
`
`systenl comprises
`
`logic encoded. on storage.
`
`The
`
`logic
`
`is operable
`
`to determine
`
`that
`
`a
`
`first master
`
`10
`
`associated with a cache community is non—operational, elect a
`
`second master
`
`to replace
`
`the
`
`first master
`
`in the
`
`cache
`
`community, and allocate at
`
`least one content portion based on
`
`the loss of the first master.
`
`According to yet
`
`a
`
`further
`
`embodiment of
`
`the present
`
`15
`
`invention,
`
`a method
`
`for
`
`dynamic distributed caching
`
`is
`
`presented.
`
`The method comprises requesting a list of cache
`
`communities
`
`fron1 a cache server and determining whether at
`
`least one existing cache community exists.
`
`The method further
`
`comprises attempting to join.
`
`a one of
`
`the existing cache
`
`20
`
`communities when the existing cache communities are found and
`
`generating a
`
`new cache
`
`community when
`
`no existing cache
`
`communities are found.
`
`According to another embodiment of the present
`
`invention,
`
`a system for dynamic distributed caching is presented.
`
`The
`
`25
`
`system comprises
`
`logic encoded on storage.
`
`The
`
`logic is
`
`operable to request a list of cache communities from a cache
`
`server
`
`and determine whether at
`
`least
`
`one existing cache
`
`community exists.
`
`The logic is further operable to attempt
`
`to
`
`join a one of the existing cache communities when the existing
`
`30
`
`cache communities are found and generate a new cache community
`
`when no existing cache communities are found.
`
`DAL011568232 .1
`066241 . 0117
`
`
`
`f,
`
`
`
`IIIIIIIIH
`
`w:
`
`Petitioner Ex. 1008 Page 14
`
`Petitioner Ex. 1008 Page 14
`
`
`
`ATTORNEY‘S DOCKET
`066241.0117
`
`5
`
`PATENT APPLICATION
`
`According
`
`to
`
`a
`
`further
`
`embodiment
`
`of
`
`the
`
`present
`
`invention,
`
`a method for dynamic distributed data caching is
`
`presented.
`
`The method comprises generating a content request
`
`for requested content at a first peer
`
`in a cache community,
`
`5
`
`determining
`
`a
`
`second peer
`
`associated with the
`
`requested
`
`content,
`
`the
`
`second peer being associated with the
`
`cache
`
`community,
`
`and retrieving, by the first peer,
`
`the requested
`
`content from the second peer.
`
`According
`
`to yet
`
`another
`
`embodiment
`
`of
`
`the present
`
`invention,
`
` presented.
`
`a
`
`system for dynamic distributed data caching is
`
`The
`
`system comprises
`
`logic encoded on storage.
`
`
`
`The
`
`logic is operable
`
`to generate a content
`
`request
`
`for
`
`requested content at
`
`a
`
`first peer
`
`in a
`
`cache
`
`community,
`
`determine a second peer associated with the requested content,
`
`15
`
`the second peer being associated with the cache community, and
`
`from the
`
`
`
`:s
`
`
`
`retrieve, by the first peer,
`
`the requested content
`
`second peer.
`
`According to yet
`
`a
`
`further
`
`embodiment of
`
`the present
`
`invention,
`
`a method for dynamic distributed data caching is
`
`20
`
`presented.
`
`The method comprises
`
`communicating a
`
`community
`
`request
`
`from a dynamic
`
`cache module
`
`to an administration
`
`module and receiving a community list from the administration
`
`module
`
`in response to the community"
`
`request,
`
`the community
`
`list
`
`including a
`
`list of communities.
`
`The method further
`
`25
`
`comprises generating a join request
`
`to attempt
`
`to join a one
`
`of
`
`the communities
`
`in the community'
`
`list
`
`and receiving an
`
`allow message associated with the one of the communities.
`
`The
`
`method further comprises receiving a peer list associated with
`
`the one of
`
`the communities,
`
`receiving a content request,
`
`and
`
`30
`
`storing content associated with the content request.
`
`According to an additional
`
`embodiment of
`
`the present
`
`invention,
`
`a
`
`system for dynamic distributed data caching is
`
`DAL01:568232 .1
`066241. 0117
`
`vwnumt
`1
`
`mm
`
`Petitioner Ex. 1008 Page 15
`
`Petitioner Ex. 1008 Page 15
`
`
`
`ATTORNEY'S DOCKET
`066241.011?
`
`6
`
`PATENT APPLICATION
`
`presented.
`
`The
`
`systenl comprises
`
`logic encoded. on storage.
`
`The logic is operable to communicate a community request
`
`from
`
`a dynamic cache module to an administration module and receive
`
`a community list from the administration module in response to
`
`5
`
`the community request.
`
`The community list includes a list of
`
`communities.
`
`The logic is further operable to generate a join
`
`request
`
`to attempt
`
`to join a one of
`
`the communities
`
`in the
`
`community list and receive an allow nessage associated with
`
`the one of the communities.
`
`The logic is further operable to
`
`receive
`
`a
`
`peer
`
`list
`
`associated with
`
`the
`
`one
`
`of
`
`the
`
`communities,
`
`receive a content
`
`request,
`
`and
`
`store content
`
`associated with the content request.
`
`According to a
`
`further additional
`
`embodiment of
`
`the
`
`
`
`‘fi
`
`present
`
`invention,
`
`a
`
`systenx
`
`for dynamic distributed data
`
`15
`
`caching
`
`is presented.
`
`The
`
`system comprises means
`
`for
`
`cache
`
`community comprising at
`
`least one peer.
`
`
`
`providing a
`
`
`
`Each peer has an associated first content portion indicating
`
`content
`
`to be
`
`cached. by the respective peer.
`
`The
`
`system
`
`further comprises means
`
`for allowing a client
`
`to join the
`
`20
`
`cache community and means for updating a peer list associated
`
`with the cache community to include the client.
`
`The peer list
`
`indicates
`
`the peers
`
`in the
`
`cache
`
`community.
`
`The
`
`system
`
`further comprises means
`
`for associating'
`
`a
`
`respective second
`
`content portion with each peer based on the addition of
`
`the
`
`25
`
`client.
`
`The second content portion is distinct from the first
`
`content portion.
`
`According to yet a further additional embodiment of
`
`the
`
`present
`
`invention,
`
`a
`
`system for
`
`dynamic distributed data
`
`caching is presented.
`
`The
`
`system comprises means
`
`for
`
`30
`
`determining that
`
`a
`
`first master associated with a
`
`cache
`
`community is non-operational, means
`
`for
`
`electing
`
`a
`
`second
`
`master to replace the first master in the cache community, and
`
`DAL012568232 .1
`066241 .0117
`
`IIIIIIIHI
`
`"VI
`
`Petitioner Ex. 1008 Page 16
`
`Petitioner Ex. 1008 Page 16
`
`
`
`ATTORNEY'S DOCKET
`066241.0117
`
`7
`
`PATENT APPLICATION
`
`means for allocating at least one content portion based on the
`
`loss of the first master.
`
`According to yet another further additional embodiment of
`
`the present
`
`invention,
`
`a
`
`system for
`
`dynamic distributed
`
`5
`
`caching
`
`is presented.
`
`The
`
`system comprises means
`
`for
`
`requesting a list of cache communities from a cache server and
`
`means
`
`for determining whether at
`
`least one existing cache
`
`community exists.
`
`The
`
`system.
`
`further comprises means
`
`for
`
`attempting'
`
`to joir1 a one of
`
`the existing cache communities
`
`10
`
`when the existing cache communities are found and means
`
`for
`
`generating a
`
`new cache
`
`community when
`
`no existing cache
`
`communities are found.
`
`According
`
`to
`
`another
`
`additional
`
`embodiment of
`
`the present
`
`invention,
`
`a
`
`system for dynamic
`
`distributed data caching is presented.
`
`The system comprises
`
`means for generating a content
`
`request
`
`for requested content
`
`at a first peer in a cache community and means for determining
`
`second peer associated with.
`
`the requested. content.
`
`The
`
`
`
`a,
`
`second peer
`
`is associated with the cache
`
`community;
`
`The
`
`system further comprises means
`
`for retrieving, by the first
`
`peer,
`
`the requested content from the second peer.
`
`According to yet a further additional embodiment of
`
`the
`
`present
`
`invention,
`
`a
`
`system for
`
`dynamic distributed data
`
`caching
`
`is presented.
`
`The
`
`system comprises means
`
`for
`
`communicating a community request
`
`from a dynamic cache module
`
`25
`
`to an
`
`administration module
`
`and means
`
`for
`
`receiving a
`
`community list from the administration module in response to
`
`the community request.
`
`The community list includes a list of
`
`communities.
`
`The
`
`system further
`
`comprises means
`
`for
`
`generating' a
`
`join request
`
`to attempt
`
`to joirL a one of
`
`the
`
`30
`
`communities in the community list and means for receiving an
`
`allow message associated with the one of the communities.
`
`The
`
`system further
`
`comprises means
`
`for
`
`receiving a peer
`
`list
`
`DALOl : 568232 .1
`066241 . 0117
`
`Petitioner Ex. 1008 Page 17
`
`Petitioner Ex. 1008 Page 17
`
`
`
`ATTORNEY'S DOCKET
`066241.0117
`
`8
`
`PATENT APPLICATION
`
`associated with
`
`the
`
`one
`
`of
`
`the
`
`communities, means
`
`for
`
`receiving a content
`
`request,
`
`and. means
`
`for storing content
`
`associated with the content request.
`
`The present
`
`invention provides
`
`a number of
`
`technical
`
`5
`
`advantages. Various embodiments of
`
`the present
`
`invention may
`
`provide all,
`
`some or none of
`
`these advantages.
`
`One
`
`such
`
`technical advantage is the capability'
`
`to support
`
`a dynamic
`
`distributed caching system.
`
`In addition,
`
`the distributed
`
`caching system is supportable without
`
`the use of specialized
`
`IO
`
`hardware as standard personal computers may be used to support
`
`
`
`the distributed caching
`
`system.
`
`A
`
`further
`
`technical
`
`advantage is decreased utilization of expensive connections to
`
`the Internet and increased utilization of cheaper
`
`local area
`
`network connections and broadband connections,
`
`such as digital
`
`subscriber line and cable modems.
`
`By caching content at
`
`local
`
`machines on a local area network or on broadband connections
`
`to an Internet Service Provider,
`
`response time to requests for
`
`content
`
`is decreased by retrieving the content
`
`from local
`
`machines.
`
`Additional benefits may‘ be
`
`realized. by allowing
`
`more client machines
`
`to utilize a single connection.
`
`to the
`
`Internet by decreasing the amount of bandwidth needed by
`
`particular client machines.
`
`Another
`
`technical
`
`advantage
`
`is
`
`the
`
`capability
`
`to
`
`dynamically add and remove members
`
`from a distributed cache
`
`25
`
`communityn
`
`In contrast
`
`to traditional distributed. caching
`
`systems, which have typically required a human administrator
`
`to add and remove members from the distributed caching system,
`
`the present
`
`invention provides the capability to dynamically
`
`add and remove members
`
`from the distributed cache community.
`
`30 Also, members may be added or removed from the cache community
`
`without
`
`the
`
`intervention of
`
`a
`
`human administrator.
`
`The
`
`present
`
`invention also reallocates the data to be cached by
`
`DAL01:568232 . 1
`066241 . 0117
`
`Petitioner Ex. 1008 Page 18
`
`Petitioner Ex. 1008 Page 18
`
`
`
`ATTORNEY'S DOCKET
`066241.0117
`
`9
`
`PATENT APPLICATION
`
`particular members of the distributed cache community based on
`
`the addition and subtraction of members
`
`to the distributed
`
`cache community.
`
`
`
`DALOl : 568232 . 1
`066241 . 0117
`
`Petitioner Ex. 1008 Page 19
`
`Petitioner Ex. 1008 Page 19
`
`
`
`ATTORNEY‘S DOCKET
`066241.0117
`
`lO
`
`PATENT APPLICATION
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`A better understanding of
`
`the present
`
`invention will be
`
`realized from the detailed description that follows,
`
`taken in
`
`conjunction with the accompanying drawings,
`
`in which:
`
`5
`
`FIGURE 1
`
`is a block diagram.
`
`illustrating a
`
`community
`
`cache system;
`
`FIGURE 2
`
`is a block diagram illustrating an exemplary
`
`community cache constructed according to the teachings of
`
`the
`
`present invention;
`
`FIGURE
`
`3
`
`is
`
`a
`
`flowchart
`
`illustrating a method
`
`for
`
`community caching according to the teachings of
`
`the present
`
`invention;
`
`FIGURE
`
`4
`
`is
`
`a
`
`flowchart
`
`illustrating a method
`
`for
`
`generating a community cache according to the teachings of the
`
`present invention;
`
`FIGURE
`
`5
`
`is
`
`a
`
`diagram illustrating an
`
`exemplary
`
`distribution of cache shares according to the teachings of the
`
`present invention;
`
`FIGURE
`
`6
`
`is
`
`a block diagram illustrating a
`
`dynamic
`
`caching system according to one embodiment of
`
`the system of
`
`
`
`FIGURE 1;
`
`FIGURE 7
`
`is a block diagram illustrating details of
`
`the
`
`dynamic cache application according to one embodiment of
`
`the
`
`present invention;
`
`25
`
`FIGURE 8
`
`is a
`
`flow diagram illustrating a method.
`
`for
`
`retrieving and
`
`caching
`
`content within a
`
`cache
`
`community
`
`according to one embodiment of the present invention;
`
`FIGURE 9 is a flow chart illustrating a method for adding
`
`a Client
`
`to the cache community according to one embodiment of
`
`30
`
`the present invention;
`
`DALOl : 568232 .1
`066241 . 0117
`
`Petitioner Ex. 1008 Page 20
`
`Petitioner Ex. 1008 Page 20
`
`
`
`ATTORNEY'S DOCKET
`066241.0117
`
`ll
`
`PATENT APPLICATION
`
`FIGURE
`
`10
`
`is a
`
`flow chart
`
`illustrating a method for
`
`allowing the client
`
`to join the cache community according to
`
`one embodiment of the present invention;
`
`FIGURE
`
`11
`
`is a
`
`flow chart
`
`illustrating a method for
`
`5
`
`determining whether
`
`a member of
`
`the
`
`cache
`
`community has
`
`unexpectedly' departed.
`
`the cache community according to one
`
`embodiment of the present invention;
`
`FIGURE 12
`
`is a
`
`flow chart
`
`illustrating a method for
`
`gracefully removing
`
`the member
`
`from the
`
`cache
`
`community
`
`according to one embodiment of the present
`
`invention;
`
`FIGURE 13
`
`is a
`
`flow chart
`
`illustrating a method for
`
`gracefully
`
`removing
`
`a master
`
`from the
`
`cache
`
`community
`
`according to one embodiment of the present
`
`invention; and
`
`FIGURE 14
`
`is a
`
`flow chart
`
`illustrating a method for
`
`allowing the master to unexpectedly depart the cache community
`
`according to one embodiment of the present
`
`invention.
`
`
`
`
`DALOl -. 568232 . 1
`066241 . 0117
`
`Petitioner Ex. 1008 Page 21
`
`Petitioner Ex. 1008 Page 21
`
`
`
`ATTORNEY‘S DOCKET
`066241.0117
`
`12
`
`PATENT APPLICATION
`
`DETAILED DESCRIPTION OF THE INVENTION
`
`FIGURE 1
`
`is a block diagram illustrating a
`
`community
`
`cache system 10.
`
`System 10 comprises one or more
`
`Internet
`
`Service Provider
`
`(ISP) clients 12, an ISP 14,
`
`an ISP caching
`
`5
`
`community 15,
`
`a network 16,
`
`an Intranet caching community 18
`
`and an origin server 19.
`
`Client
`
`12 comprises a processor 20,
`
`a computer readable
`
`memory' 22,
`
`a computer
`
`readable storage device 24,
`
`a cache
`
`module
`
`26
`
`and a browser 30.
`
`Client
`
`12 may be adapted to
`
`execute any of
`
`the well—known MS—DOS,
`
`PC—DOS, OS/2, UNIX,
`
`Linux, MAC—OS, mainframe, minicomputer and Windows operating
`
`systems or other operating systems.
`
`Processor 20 comprises
`
`any
`
`suitable
`
`general
`
`purpose
`
`or
`
`specialized
`
`electronic
`
`processing device,
`
`such as
`
`a central processing unit
`
`(CPU),
`
`operable to communicate with memory 22 and storage device 24,
`
`and further to execute cache module 26 and browser 30. Memory
`
`transient
`
`or
`
`
`
`22
`
`comprises
`
`any
`
`suitable
`
`combination
`
`of
`
`persistent memory operable
`
`to store
`
`cache module
`
`26
`
`and
`
`browser 30,
`
`and to communicate with processor 20.
`
`Storage
`
`device
`
`24
`
`comprises
`
`any
`
`suitable combination of optical,
`
`magnetic or other computer readable storage medium such as a
`
`floppy disk drive, a hard disk drive, a CD—ROM drive, a CD—RW
`
`drive,
`
`a magnetic tape drive or
`
`an. optical drive.
`
`Storage
`
`device
`
`24 may
`
`also represent multiple
`
`computer
`
`readable
`
`25
`
`storage devices.
`
`Storage device 24 includes a cache portion
`
`28.
`
`Cache portion 28 comprises a portion of storage device 24
`
`used by cache module 26
`
`for caching data.
`
`Access
`
`to cache
`
`portion.
`
`28 may' be controlled. by cache module
`
`26
`
`so as
`
`to
`
`30
`
`prevent user modification of data stored in cache portion 28.
`
`Cache portion 28 may comprise one or more directories, one or
`
`DALOl: 568232 . 1
`066241 . 0117
`
`W.
`
`Petitioner Ex. 1008 Page 22
`
`Petitioner Ex. 1008 Page 22
`
`
`
`ATTORNEY‘S DOCKET
`066241.0117
`
`13
`
`PATENT APPLICATION
`
`more logical partitions, one or more distinct physical devices
`
`and other suitable physical and logical elements.
`
`Cache module 26 comprises a software application operable
`
`to manage cache portion 28 of storage device 24.
`
`Cache module
`
`5
`
`26 is operable to monitor the activities of browser 30 and to
`
`
`
`cache content
`
`items retrieved by browser 30.
`
`Cache module 26
`
`is also operable to respond to content requests from browser
`
`30 using content cached in cache portions 28 at clients 12 in
`
`community 15.
`
`In one embodiment, cache module 26 may use the
`
`Cache Array Routing Protocol
`
`(CARP)
`
`to
`
`determining
`
`the
`
`location of content within community 15.
`
`Cache module 26 is
`
`configurable such that
`
`limits may be placed on the size of
`
`cache portion.
`
`28
`
`and.
`
`the amount of processor
`
`time 'used. on
`
`processor
`
`20
`
`by
`
`cache module
`
`26.
`
`For
`
`example,
`
`a user
`
`associated with a client 12 may configure the cache module 26
`
`associated with that client 12 to use only 5% of
`
`the storage
`
`space and no more than 10% of the processor time.
`
`For another
`
`example,
`
`a user associated with a client 12 may configure the
`
`cache module 26 associated with that client 12 to only provide
`
`caching services when the system:
`
`is idle,
`
`such, as when a
`
`screen saver is active or when processor usage by the user of
`
`the client
`
`12
`
`is below a particular threshold.
`
`In general,
`
`resource limits may be associated with cache module 26
`
`such
`
`that cache module 26 is prevented from consuming more than a
`
`25
`
`predetermined amount of
`
`the resource.
`
`The
`
`resources may
`
`comprise any of an amount of processor time on processor 20,
`
`an amount of bandwidth on link 13, an amount of storage space
`
`on storage 24,
`
`an amount of memory‘ 22
`
`and. other computing
`
`resources associated. with client
`
`12.
`
`Cache module
`
`26
`
`is
`
`30
`
`further operable to collect statistical information associated
`
`with link 13, browser 30, client 12, portion 28, cache module
`
`26 and other elements in community 15.
`
`DAL01:568232 . 1
`066241 . 0117
`
`mun-MI
`
`Petitioner Ex. 1008 Page 23
`
`Petitioner Ex. 1008 Page 23
`
`
`
`ATTORNEY‘S DOCKET
`066241.0117
`
`l4
`
`PATENT APPLICATION
`
`Cache module
`
`26
`
`is
`
`further operable
`
`to encrypt data
`
`stored.
`
`in cache portion 28.
`
`Cache module
`
`26 may use any
`
`suitable symmetric and/or
`
`asymmetric encryption system for
`
`encrypting data in cache portion 28.
`
`For
`
`example,
`
`cache
`
`5 module 26 may use public—key/private—key encryption,
`
`the U.S.
`
`Data Encryption Standard (DES),
`
`the Twofish algorithm,
`
`the
`
`Blowfish algorithm and other
`
`suitable encryption systems.
`
`Encrypting’ data stored.
`
`in. cache 'portion. 28 prevents a ‘user
`
`associated with client
`
`12
`
`from unrestri