throbber

`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
`APPENDIX A
`
`
`Each Claim as a Whole
`
`HTTP DRP: Discloses all elements and functions of each claim arranged as in
`the claim. See below. The HTTP DRP protocol uses a “unique” (3:13-15) MD5
`digest (“checksum”) calculated on a file or other content item as a content
`identifier (2:37-39, 3:12-33, 7:20-31), in part “to avoid downloading the same data
`more than once” (2:29-30). Each client and each HTTP server calculates, stores,
`transmits, receives and compares these MD5 identifiers. Client: A client stores in
`its “disk cache” (7:25) “index” files (4:36-5:40) which include the MD5 identifiers
`for other files in a file system. When it receives a new index file from a server, a
`client compares the new MD5 identifiers with ones stored on disk. (5:30-33, 6:38-
`7:8, 8:7-23). For those identifiers that don’t match, it sends the new identifier in
`its Get (or differential Get) request for files (or file differences) to the server.
`(5:30-33, 6:38-7:8, 7:15-32, 8:7-23). (When the MD5 identifier associated with a
`file name has changed, a client requests only the differences between the old and
`new file version, by including in its differential Get request both the old and new
`MD5 identifiers. (Id.)) On receiving the new file, a client recomputes that file’s
`MD5 identifier and compares it against the identifier provided in the server’s
`reply. (7:43-45, 11:3-6). HTTP Server: Each server stores files, including index
`files, in its “file cache.” (4:40-42, 5:22-28, 5:34-6:20, 8:25-34, 10:45-11:2). The
`server computes MD5 identifiers on all files in its file system, including its index
`files. (6:35, 10:45-11:2). When the server receives a request identifying an MD5
`identifier, it looks in its file cache for that identifier. (7:30-32, 8:25-27). The
`server includes the MD5 identifier in its reply sending a file to the client. (7:33-
`34, 8:29-31). The server can calculate the differences between two files. (8:26-
`27). Some of these caching servers also act as an HTTP proxy server serving as a
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 1 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
`gateway between the clients and HTTP server(s). (2:15-16, 6:32-34, 9:36-10:42).
`It too stores files (including index files) in cache, and compares received MD5
`identifiers to those it has stored in cache. (Id.) This way, it can avoid
`downloading the same redundant content from another server if it already has that
`same content but under a different file name. (9:43-45). The proxy cache server
`also can calculate the differences between two files in response to a differential
`Get request. (10:1-2).
`
`Mattis: Discloses all elements and functions of each claim (against which it is
`mapped) arranged as in the claim. See below. Mattis discloses a web proxy cache
`(1) storing in non-volatile “cache storage devices” (e.g., hard disks) both network-
`obtained objects and their MD5 digests (“unique” “content fingerprint” “object
`keys” (’880, 8:18-36)), (2) calculating those MD5 digests on those objects stored
`on disk; and (3) using comparisons of those MD5 digests to search for, and
`eliminate duplicate copies of, objects on disk. (E.g., ’880, Figs. 1-4, 6, 9A, 11,
`Abstract, 8:18-9:12, 17:45-57, 20:13-18, 27:50-28:55). Although the Mattis web
`proxy cache is capable of processing client requests that provide only the name of
`the requested object (e.g., URL), Mattis also discloses that a request sometimes,
`identifies the object by its object key: “Unfortunately, requests for objects
`typically do not identify requested objects using the object keys for the objects.
`Rather, requests typically identify requested objects by name.” (Id., 9:65-10:1).
`To handle requests by object key, Mattis discloses a search procedure for objects
`in the cache using an object key. (Id., 8:20-21, 8:31-36, 10:23, 10:33-37, 11:35-
`52, 12:7-12).
`
`Yohe: Except as otherwise noted, discloses all of the elements and all of the
`functions of each claim (against which it is mapped) arranged as they are arranged
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 2 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
`6. A system for data access
`in a packet-switched
`network, comprising:
`
`in the claim. See below. (See generally ’943, 2:41-61, claims 1, 6, 8). E.g.: “The
`performance gains realized by the present invention are derived from the fact that
`remote clients tend to repetitively access the same data by performing file reads. If
`a copy of the data can be stored in the permanent storage memory of the remote
`client computer and also verified to be current when it is subsequently retrieved,
`this will improve performance significantly. This is because it requires much less
`bandwidth to verify a block of data than it would to actually transfer a block of
`data.” (Id., 4:32-40).
`
`HTTP DRP: Discloses a system for accessing data over a packet-switched
`network such as the Internet. (2:11-3:4).
`
`Mattis: Discloses a client-proxy-server web proxy cache communicating with the
`packet-switched Internet, to facilitate client access to objects from Web sites.
`(’880, Figs. 1-2, 11, 1:12-2:28, 7:7-26, 35:59-36:9, 37:9-48).
`
`Yohe: “An apparatus for increased data access in a network” (’943, 2:41-42),
`such as the world wide web (id., 4:23-27) or other wide area network (id., Fig. 2),
`using “packet[s]” (id., 8:24-25). (See id., title, Abstract, 1:12-15, 2:43-46, 2:51,
`2:54-57, 3:8-21, 4:22-24, 5:45-50, 5:59-60, 6:22-23, Fig. 2, claim 1).
`
`(a)* a gateway including
`
`{* - reference labels added
`throughout this claim
`listing}
`
`HTTP DRP: The HTTP proxy cache server acts as a gateway, intercepting
`network requests and replies between other HTTP servers and clients. (9:36-
`10:32). Each HTTP server computer also is a gateway. Each can store index files
`for files stored on a different server: “This allows an index to describe files that
`are located in a different directory, or even on a different server.” (5:40-41).
`
`Mattis: The cache-enabled web proxy 30, which “provides a ‘middleman’
`gateway service” (’880, 2:1-2), receives client requests to servers for objects and
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 3 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
`responds to those requests with objects it has cached or which it retrieves from a
`web server over the Internet. (Id., Figs. 1-2, 11, 1:12-2:28, 7:7-26, 9:65-10:4,
`20:27-31, 23:51-24:9). Also, a local network 1112, a host 1124 and
`“intermediary” (id., 1:26-31) Internet Service Provider (ISP) 1126, each receive
`communications between clients and servers over the Internet. (Id., Fig. 11, 37:9-
`45). The proxy server (e.g., its I/O core 60 and protocol engine 70, see Fig. 2),
`local network, data equipment operated by an ISP, and host individually and
`combined constitute a gateway. Network traffic, including data and program code
`(id., 37:40) between the client and sources from the Internet passes through the
`gateway. (Id., 37:26-31, 37:42-45).
`
`Yohe: The “communication server 16” (’943, 4:46-57, 5:11-14; Fig. 2), which
`may be a router, acts as a gateway for communications between the client 12 and
`the caching computer (cache verifying computer 14 and file server computer 18)
`on the same LAN link. “The communication server 16 links the remote client
`computer 12 to the LAN 20, which in turn permits communication with the cache
`verifying computer 14 and the file server computer 18.” (Id., 4:46-50).
`
`HTTP DRP: The proxy cache server and other servers each operates to cache
`files and MD5 identifiers on disk, store and compare MD5 identifiers, and perform
`other operations. The ’717 does not describe anything reasonably called an
`“operating unit” which is not also disclosed in this reference.
`
`Mattis: Each gateway (see above) is an operating computer (e.g., workstation
`(’880, 18:12), computer system 1100 (‘880, 36:23-24)) or network or combination
`of computers and networks. The ’717 does not describe anything reasonably
`called an “operating unit” which is not also disclosed in this reference.
`
` (i) an operating unit,
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 4 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
` (ii) a memory,
`
` (iii) and a processor
`
`Yohe: The “communication server 16” (e.g., router) has an ability to operate and
`provide its routing, WAN driver and LAN driver functionality. (’943, 4:46-57,
`5:11-14; Fig. 2). The ’717 does not describe anything reasonably called an
`“operating unit” which is not also disclosed in this reference.
`
`HTTP DRP: The proxy cache server and other servers each stores files on cache
`and has sufficient memory to store the HTTP DRP protocol code and perform its
`other operations.
`
`Mattis: Each gateway computer and network of computers (see above) has a
`memory. (E.g., ’880, Figs. 2, 11, 2:40-43, 11:1-7, 16:14-15).
`
`Yohe: The “communication server 16” (e.g., a router) has a memory storing at
`least its LAN and WAN drivers and code providing its routing functionality.
`(’943, 4:46-57, 5:11-14; Fig. 2).
`
`HTTP DRP: The proxy cache server and other servers each necessarily has a
`processor to perform the HTTP DRP protocol and otherwise perform its other
`operations.
`
`Mattis: Each gateway computer and network of computers (see above) has a
`processor. (E.g., ’880, Figs. 2, 11, 35:59-37:8).
`
`Yohe: The “communication server 16” (e.g., a router) has a processor executing
`at least its LAN and WAN drivers and code providing its routing functionality.
`(’943, 4:46-57, 5:11-14; Fig. 2).
`
` (iv) connected to said
`packet-switched network in
`
`HTTP DRP: Each gateway server computer (see above) is connected to the
`packet-switched Internet in such a way that packets sent between a client computer
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 5 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
`such a way that network
`packets sent between at
`least two other computers
`pass through it;
`
`(b) a caching computer
`
`and a server computer storing the requested file, pass through the gateway proxy
`cache server or other gateway HTTP server. (9:36-10:42).
`
`Mattis: Each gateway computer and network of computers (see above) is
`connected to the packet-switched Internet in such a way that packets sent between
`a client computer and a server computer, addressed to the server computer (e.g.,
`naming an URL) or client computer, pass through the gateway. (’880, Figs. 1-2,
`11, 1:14-2:14, 9:65-10:10, 27:50-28:2, 37:26-31, 37:42-45).
`
`Yohe: The “communication server 16” (’943, 4:46-57, 5:11-14; Fig. 2), which
`may be a router, acts as a gateway for communications between the client 12 and
`the caching computer (cache verifying computer 14 and file server computer 18)
`on the same LAN link. “The communication server 16 links the remote client
`computer 12 to the LAN 20, which in turn permits communication with the cache
`verifying computer 14 and the file server computer 18.” (Id., 4:46-50).
`
`HTTP DRP: Each client, proxy cache server (“caching servers and proxies”
`(2:15)) and HTTP server computer running the HTTP DRP protocol, is a caching
`computer. Each stores files or other content transmitted over the network in its file
`cache. (6:32-33, 7:2-5, 8:25-34, 9:36-10:2, 10:45-11:2).
`
`Mattis: Mattis discloses a web proxy cache, called a “traffic server” (’880, 7:6-
`11) (1) storing in non-volatile memory (e.g., “high-capacity, fast disk drives” (id.,
`7:60-62)) both network-obtained objects and their MD5 digests (id., 9:50-63)
`(“object keys” (Fig. 3A) or “fingerprints” (id., 8:18-36)), (2) calculating those
`MD5 digests on those objects stored on disk (id., 8:55-9:6, 17:45-55); and (3)
`using those MD5 digests to search for, and eliminate duplicate copies of, objects
`on disk. (’880, Figs. 2-6, 9, 11, Abstract, 1:53-2:28, 5:40-55, 7:58-62, 8:18-9:6,
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 6 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
` (i) connected to said
`gateway through a fast local
`network, wherein said
`caching computer includes
`
`9:50-63, 10:23-39, 11:3-20, 11:43-56, 12:42-50, 13:15-17, 13:34-38, 14:6-27,
`16:49-62, 17:27-55, 20:13-18, 21:1-2, 24:24-47, 27:49-28:55, 35:43-52, 36:23-28,
`36:38-50, 37:53-38-24).
`
`Yohe: The cache verifying computer 14 and file server computer 18 on LAN link
`20 together form a caching computer which stores files in disk cache. (’943, 4:42-
`43, 5:14-28, 5:59-65, 6:17-20, 6:22-37, 7:19-8:4, 13:30-14:17, claims 1, 6 and 8).
`These files include those received over the network from the client computer 12.
`(Id., 6:45-55). (See id., Abstract, Fig. 2, claims 1, 8).
`
`HTTP DRP: As noted, each proxy cache server and HTTP server computer
`running the HTTP DRP protocol, is both a gateway and a caching computer,
`integrally formed. In addition, HTTP DRP “can be deployed anywhere where
`HTTP is available today,” including “existing HTTP servers and proxies” (2:12-
`22) and therefore applies to both “forward” proxy servers on the same local
`network as the caching clients, and to “reverse” proxy servers on the same local
`network as the HTTP server, which were common configurations in 1998-99..
`
`Mattis: The cache 80 is integral with the protocol engine 70 and I/O core 60
`within the proxy 30, communicating via a workstation computer bus. (’880, Fig.
`2, 7:7-63). Web caching proxy 1100 is connected to ISP 1126 and host 1124 via
`LAN card or other communication interface (37:9-23) and local network 1122.
`(Id., Fig. 11).
`
`Yohe: The cache verifying computer 14 and file server computer 18 are
`connected to the communication server/router 16 via LAN link 20. (’943, 4:46-57,
`5:11-14; Fig. 2).
`
` (ii) an operating unit,
`
`HTTP DRP: The client, proxy cache server and other servers each operates to
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 7 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
`cache files and MD5 identifiers on disk, store and compare MD5 identifiers, and
`perform other operations. The ’717 does not describe anything reasonably called
`an “operating unit” which is not also disclosed in this reference.
`
`Mattis: The web caching proxy is an operating computer (e.g., workstation (’880,
`18:12)) or other general-purpose computer. (Id., Figs. 2, 11). The ’717 does not
`describe anything reasonably called an “operating unit” which is not also disclosed
`in this reference.
`
`Yohe: The cache verifying computer 14 and file server computer 18 include an
`operating system and other elements and functionality as necessary to operate in
`the described manner. (’943, Fig. 2, 2:42-51, Abstract, claims 1 and 8). The ’717
`does not describe anything reasonably called an “operating unit” which is not also
`disclosed in this reference.
`
`HTTP DRP: The client, proxy cache server and other caching servers each has
`sufficient memory to store the HTTP DRP protocol code and perform its other
`operations.
`
`Mattis: The web caching proxy has a memory. (E.g., ’880, Figs. 2, 11, 2:40-43,
`11:1-7, 16:14-15, 35:64-66).
`
`Yohe: The cache verifying computer includes “a first memory” (’943, 2:47) (e.g.,
`RAM) as does the file server computer. (See id., Abstract, 2:46-47, 5:34-36,
`claims 1, 6, 8).
`
` (iii) a first memory,
`
` (iv) a permanent storage
`memory and
`
`HTTP DRP: The client, proxy cache server and other caching servers each has a
`disk (permanent memory) on which it caches both files and file indices. E.g., “a
`client can use a disk cache for data files, which is accessed using content
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 8 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
`identifiers.” (7:3-4). “The index can be specified using a normal file on a server
`that describes part or all of the site. It is easy to generate an index file using a
`simple program that scans the file system.” (10:45-11:2). “An HTTP proxy may
`cache indexes if the HTTP header indicates that this is allowed. An HTTP proxy
`should treat indexes just like normal files.” (6:32-33).
`
`Mattis: The web caching proxy has permanent non-volatile storage memory (e.g.,
`’880, Fig. 2, 90a – 90n “cache storage devices” (’880, 11:40-41), Fig. 4B, 90a, Fig.
`11, 1110) such as “high-capacity, fast disk drives” (id., 7:60-62) for “terabyte
`caches and billions of objects” (id., 4:4:56-58). (Id., 10:24-26, 11:3-7, 11:43-56,
`12:35-50, 13:13-38, 14:17-27, 16:49-17:55, 19:5-7, 21:1-3, 24:14-23, 24:39-42,
`36:7-10, 37:58-67).
`
`Yohe: File server includes “a DD [(disk driver)] 78 and a PSD [(permanent
`storage disk)] 80.” (’943, 5:22-24). (See id., Abstract, 2:47-49, 3:5-7, 3:22-24,
`claims 1, 6, 8). The cache verifying computer also necessarily has a permanent
`memory in order to store its boot-up code, “operating system,” LAN Driver 68,
`Network Transport Layer 66, etc. (Id., 5:14-21, 5:34-36, Fig. 2).
`
`HTTP DRP: The client, proxy cache server and other caching servers each
`necessarily has a processor to perform the HTTP DRP protocol and otherwise
`perform its other operations.
`
`Mattis: The web caching proxy has a processor. (E.g., ’880, Figs. 2, 11, 35:59-
`37:8).
`
`Yohe: File server computer includes “a processor” (’943, claim 8) and cache
`verifying computer includes “a processor” (id., 2:47) and cache verifying agent
`
` (v) a processor,
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 9 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
`(c) said caching computer
`further including a network
`cache memory in its
`permanent storage memory,
`
`could be “a stand alone processor with its own memory and operating system” (id.,
`5:34-36). (See id., Abstract, claim 1).
`
`HTTP DRP: The client, proxy cache server and other caching servers each has a
`disk (permanent memory) on which it caches both files and file indices. E.g., “a
`client can use a disk cache for data files, which is accessed using content
`identifiers.” (7:3-4). “When the server receives a get request that includes a
`Differential-ID field, it can look in its file cache for both versions of the requested
`file using the content identifiers . . . .” (8:25-26). “An HTTP proxy may cache
`indexes if the HTTP header indicates that this is allowed. An HTTP proxy should
`treat indexes just like normal files.” (6:32-33).
`
`Mattis: Under control of its cache 80, the web caching proxy stores in its non-
`volatile memory (e.g., its “cache storage devices 90a-90n” (’880, 11:40-41)),
`copies of objects it receives over the network from servers, and serves those stored
`objects to clients requesting an object having the same MD5 digest (object key)
`instead of that object being re-served by the original web server. (Id., Figs. 1-6, 9,
`11, Abstract, 1:12-2:28, 5:40-55, 7:7-26, 7:58-62, 8:18-9:6, 9:50-63, 9:65-10:4,
`10:23-39, 11:3-20, 11:43-56, 12:42-50, 13:15-17, 13:34-38, 14:6-27, 16:49-62,
`17:27-55, 20:13-18, 21:1-2, 23:51-24:9, 24:24-47, 27:49-28:55, 35:43-52, 36:23-
`28, 36:38-50, 37:53-38-24).
`
`Yohe: File server includes “a DD [(disk driver)] 78 and a PSD [(permanent
`storage disk)] 80” for storing files for later transmission and use over the network,
`after those cached files have been verified by the cache verifying agent. (’943,
`Abstract, 2:47-49, 3:5-7, 3:22-24, 5:22-24, claims 1, 6, 8).
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 10 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
` (i) means for calculating a
`digital digest and;
`
`HTTP DRP: A caching client and a caching server each calculates MD5 digests
`on data objects. (6:35, 7:43-45, 9:29-32, 10:45-11:6). “Typically a checksum
`algorithm is used to generate a content identifier for a piece of content. One of the
`checksum algorithms which can be used is the Message Digest algorithm from
`RSA. The MD5 algorithm is a well-known algorithm for computing a 128-bit
`checksum for any file or object.” (3:24-26). E.g., “When the requested content
`identifier contains a verifiable checksum URN, the client should always
`recomputed the checksum to verify that the correct content was returned.” (7:43-
`45; see also 11:5-6). “The index can be specified using a normal file on a server
`that describes part or all of the site. It is easy to generate an index file using a
`simple program that scans the file system.” (10:45-11:2). “A server which
`generates personalized indexes . . . .” (6:35). (See also 9:29-32, 11:5-6).
`
`Mattis: The web caching proxy processor is programmed for “computing a
`content key that uniquely identifies the information object by applying an MD5
`one-way hash function to the information object.” (’880, 5:43-46, see also id.,
`Figs. 3A, 11, Abstract, 5:27-6:4, 8:18-9:6, 9:36-63, 20:13-18). These 128-bit
`MD5 digests are calculated, using an MD5 hash function, from each byte of a
`stored, arbitrary-length object file and are “unique” “content fingerprint” “object
`keys.” (Id., 8:18-36). The processor also is programmed to calculate a fixed-
`length (128-bit) MD5 digest from the content of an arbitrary-length object name
`such as an URL. (Id., Fig. 3B, 10:11-16, 27:61-28:1).
`
`Yohe: Cache verifying computer calculates “a signature of the data characteristic
`of one of a file and [file-system] directory” (’943, 2:47-51) and includes “a BSG
`[(block signature generator)] 56 (of the type described herein), a directory
`signature generator (DSG) 57…” (id., 5:14-16) which use MD5 or CRC to
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 11 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
` (ii) means for comparison
`between a digital digest on
`data in its network cache
`memory and a digital digest
`received from said packet-
`switched network through
`said gateway.
`
`calculate these signatures (id., 7:19-8:3, 8:7-9) from data of arbitrary length (id.,
`3:19). (See id., 5:14-17, 5:33-36, 7:24-25, 11:56-12:65, 13:36-40, 13:65-67, 14:1-
`12, Fig. 2, Fig. 8, step 354, Figs. 15, 16, claims 1, 8).
`
`HTTP DRP: The client, proxy cache server and other caching servers each has
`the ability to compare an MD5 identifier received over the network through a
`gateway to an MD5 identifier stored in its disk cache. A client compares the MD5
`identifiers in a newly downloaded index file to those MD5 identifiers in its stored
`version of that index file to look for matches. E.g., “Once the initial download is
`complete, a client can update the content by downloading a new version of the
`index, and comparing it against the previous version of the index. Because each
`file entry in the index has a content identifier, the client can determine which files
`have changed and so determine the minimal set of files that need to be downloaded
`in order to bring the client up-to-date.” (5:30-32). Also, both HTTP proxy servers
`and other HTTP caching servers look in their caches for MD5 identifiers that
`match those included in a request received over the network from a client. E.g.,
`“When the server receives a get request that includes a Differential-ID field, it can
`look in its file cache for both versions of the requested file using the content
`identifiers specified by the Content-ID field and the Differential-ID field.” (8:25-
`27). (See also 3:14-16, 3:28-31, 4:39, 6:40-42, 7:2-8, 8:8-12, 8:32-33, 9:38-45,
`10:1-2).
`
`Mattis: The web caching proxy processor is programmed to search (or “lookup”)
`for an object in its cache storage that matches an object requested by a client
`computer. (E.g., ’880, Fig. 9A, 11:21-12:33, 15:13-23, 20:13-18, 27:39-40, 27:49-
`28:55, 31:40-51). The processor is programmed to compare two MD5 object keys
`to determine if they match, one being the “request key value” and one being the
`cached object key value. (Id., Fig. 9A, 27:49-28:55, 8:18-36, 12:7-12). It also
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 12 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
`compares the MD5-digest object key it has just calculated on a newly obtained
`object to the object keys already stored in its cache storage, to identify and delete
`duplicate objects with different names but an identical MD5-digest object key
`from its cache storage. (Id., 8:4-9:6). The processor also is programmed to
`compare two MD5-digest name keys to see if they match. (Id., 10:32-39). The
`MD5-digest object keys representing the cached objects on disk had been
`calculated by the processor immediately upon storing each new object in cache
`storage. (Id., 8:18-9:6, 17:45-57, 20:13-18). The MD5-digest request key value
`(representing the desired object) is determined in one of two ways from the client’s
`request over the network through the gateway. That MD5-digest request key value
`may either be in the request itself (id., 9:65-10:4) or instead typically is derived
`from the object name contained in the request. (Id., Fig. 9A, step 904 (“convert
`object name in request to key value”) plus a two-phase search process (10:5-10)).
`In any event, the processor’s comparison functionality is capable of comparing
`these two MD5 digests (request key value vs. cached object key values) whether
`that conversion step 904 is needed or not. E.g., the search (lookup) operation uses
`the object key value as the search parameter. (Id., 12:7-51). A read process is
`executed to return an object that was found in the cache by the search (lookup)
`process. (Id., 28:67-29:2). In the read process, a “Vector of Alternates” structure
`is searched to determine the version of object based on, e.g. browser type,
`language, etc., to be returned to the client. (Id., 13:56-14:27, 29:14-18). If the
`object is not found in cache, then it is requested from the original server. (Id., 9:8-
`12, 20:27-31, 28:43-49). If the object retrieved from the server is determined to be
`cacheable (id., 20:31-56), the object is written and committed to disk (id., 24:14-
`23, 28:50-51).
`
`Yohe: The cache verifying computer 14 includes comparator 58 as part of its
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 13 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
`7. The system as claimed in
`claim 6, wherein said
`caching computer further
`includes means for
`calculating a digital digest
`for data in its network cache
`memory.
`
`cache verifying agent 54. (’943, 5:14-18, 6:22-38, claims 1, 6 and 8). The caching
`computer’s comparator compares a digital digest received from the client via the
`gateway to a digital digest that the caching computer itself calculates on data
`stored in in its disk cache. (Id., 6:22-38). “CVA 54 via FSI 62 ‘reads’ 352 data
`from the file server computer 18. CVA 54 ‘invokes’ 354 BSG 56 to generate a
`second signature of data. CVA 54 ‘invokes’ 356 comparator 58 to compare the
`first and second signatures of data and ‘asks whether there is a match?’” (Id.,
`6:27-32).
`
`HTTP DRP: Each client and each caching server stores files, including index
`files, in its “file cache.” (4:40-42, 5:22-28, 5:34-6:20, 8:25-34, 10:45-11:2). The
`server computes MD5 identifiers on all files in its file system, including its index
`files. (6:35, 9:29-32, 10:45-11:6). The client also calculates MD5 digests on files
`it has downloaded. (11:3-6).
`
`Mattis: Mattis discloses its web proxy cache calculating MD5 digests on objects
`stored in its disk cache. For example, when the web proxy cache downloads and
`stores a new object it immediately calculates that object’s MD5 digest (and
`compares it to previously stored MD5 digest values). (E.g., ’880, Figs. 1-4, 6, 9A,
`11, Abstract, 8:18-9:12, 17:45-57, 20:13-18.)
`
`Yohe: The cache verifying agent 54 in the caching computer includes both a
`block signature generator 56 and a directory signature generator 57 for calculating
`MD5 digests or CRC fingerprints on files and other content stored in disk cache of
`the connected file server computer 18. (’943, Fig. 2, 6:22-38, 7:19-8:4, claims 1, 6
`and 8).
`
`9. The system as claimed in HTTP DRP: Each caching server has the ability to store on disk index files (4:37-
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 14 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`Claim Element-BRI
`
`HTTP DRP, MATTIS & YOHE CLAIM MAPPINGS
`
`claim 6, wherein said
`caching computer further
`includes means for storing
`said calculated digital digest
`in said permanent storage
`memory.
`
`43) including the MD5 content identifier(s) it calculates. The HTTP caching
`server can calculate an MD5 identifier on all files in its cache file system and then
`store the resulting index files in cache as well. E.g., “The index can be specified
`using a normal file on a server that describes part or all of the site. It is easy to
`generate an index file using a simple program that scans the file system.” (10:45-
`11:2).
`
`11. A method performed by
`a sender/computer in a
`packet-switched network for
`increasing data access,
`
`Mattis: The web cache proxy processor is programmed to store in its non-volatile
`disk cache storage the MD5-digest object keys it calculates, contiguous to the
`corresponding stored objects from which they were calculated. (E.g., ’880, Fig.
`4B, object keys (see 15:31-50), Fig. 6, key 206a (see 17:39-41)). (See id. 17:45-
`57). The processor also is programmed to store in its non-volatile disk cache
`storage the MD5-digest name keys it calculates. (Id., Fig. 3B, 24:27-42).
`
`HTTP DRP: Both proxy servers and origin servers implementing HTTP DRP
`perform this claimed method. The goal of HTTP Distribution and Replication
`Protocol (DRP) is to “significantly improve the efficiency and reliability of data
`distribution over HTTP.” (2:11-13). Specifically, it is designed to “provide a
`widely applicable mechanism for the efficient replication of data and content,
`improve the efficiency and reliability of caching servers and proxies” (2:14-16)
`and “to efficiently replicate a hierarchical set of files to a large number of clients”
`(2:23-25). The method works with servers and clients that communicate using
`HTTP and hence it is used in a packet-switched network.
`
`Mattis: Discloses a proxy computer that acts as a sender computer to provide data
`access for client machines in a packet-switched network which is either the
`Internet or a local network. (’880, Figs. 2, 11, 2:1-14, 7:7-21, 38:18-22). The
`proxy server acts “as a server to the client” (id., 2:2-3) and hence it is the
`
`
`
`Appendix A to Microsoft’s Second Petition for Inter Partes Review of U.S. Patent No. 6,757,717
`Page 15 of 22
`
`

`

`
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`1

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket