Methods and systems for utilizing delta coding in acceleration proxy servers
First Claim
1. A method of utilizing delta coding in acceleration proxy servers, the method comprising the following computer implemented steps:
- storing, at a proxy server, a plurality of dictionary pages within a page storage disk;
indexing, at the proxy server, the plurality of dictionary pages with fingerprint identifiers, wherein the fingerprint identifiers are configured to uniquely identify data strings within each of the plurality of dictionary pages;
receiving, at the proxy server, a data request, wherein the request includes a plurality of fingerprints associated with the requested data;
searching, at the proxy server, the indexed fingerprint identifiers for matches with the plurality of fingerprints associated with the requested data;
identifying, at the proxy server, one of the plurality of pages with the greatest number of matching fingerprints from the plurality of fingerprints associated with the requested data;
removing, at the proxy server, the fingerprints associated with the one of the plurality of pages from the searching of the indexed fingerprints;
searching, at the proxy server, the indexed fingerprint identifiers for matches with the remaining plurality of fingerprints associated with the requested data; and
loading, at a client through a proxy client, the identified pages into memory; and
encoding the requested data using the loaded pages.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to systems, apparatus, and methods of utilizing delta coding in acceleration proxy servers. The method including storing, at a proxy server, a plurality of dictionary pages within a page storage disk and indexing, at the proxy server, the plurality of dictionary pages with fingerprint identifiers. The fingerprint identifiers are configured to uniquely identify data strings within each of the plurality of dictionary pages. The method further includes receiving, at the proxy server, a data request. The request includes a plurality of fingerprints associated with the requested data.
-
Citations
20 Claims
-
1. A method of utilizing delta coding in acceleration proxy servers, the method comprising the following computer implemented steps:
-
storing, at a proxy server, a plurality of dictionary pages within a page storage disk; indexing, at the proxy server, the plurality of dictionary pages with fingerprint identifiers, wherein the fingerprint identifiers are configured to uniquely identify data strings within each of the plurality of dictionary pages; receiving, at the proxy server, a data request, wherein the request includes a plurality of fingerprints associated with the requested data; searching, at the proxy server, the indexed fingerprint identifiers for matches with the plurality of fingerprints associated with the requested data; identifying, at the proxy server, one of the plurality of pages with the greatest number of matching fingerprints from the plurality of fingerprints associated with the requested data; removing, at the proxy server, the fingerprints associated with the one of the plurality of pages from the searching of the indexed fingerprints; searching, at the proxy server, the indexed fingerprint identifiers for matches with the remaining plurality of fingerprints associated with the requested data; and loading, at a client through a proxy client, the identified pages into memory; and encoding the requested data using the loaded pages. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for utilizing delta coding in acceleration proxy servers, the system comprising:
-
a proxy server having a first processor and a storage medium which has sets of instructions stored thereon, which when executed by the processor, cause the first processor to execute the following computer implemented steps; store a plurality of dictionary pages within a page storage disk, index the plurality of dictionary pages with fingerprint identifiers, wherein the fingerprint identifiers are configured to uniquely identify data strings within each of the plurality of dictionary pages, receive a data request, wherein the request includes a plurality of fingerprints associated with the requested data, search the indexed fingerprint identifiers for matches with the plurality of fingerprints associated with the requested data, identify one of the plurality of pages with the greatest number of matching fingerprints from the plurality of fingerprints associated with the requested data, remove the fingerprints associated with the one of the plurality of pages from the searching of the indexed fingerprints, and search the indexed fingerprint identifiers for matches with the remaining plurality of fingerprints associated with the requested data; and a client including a proxy client in communication with the proxy server, the proxy client having a second processor and a storage medium which has sets of instructions stored thereon, which when executed by the second processor, cause the client to execute the following computer implemented steps; load the identified pages into memory, and render the loaded page. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory machine-readable medium having sets of instructions stored thereon which, when executed by a machine, cause the machine to:
-
store a plurality of dictionary pages within a page storage disk; index the plurality of dictionary pages with fingerprint identifiers, wherein the fingerprint identifiers are configured to uniquely identify data strings within each of the plurality of dictionary pages; receive a data request, wherein the request includes a plurality of fingerprints associated with the requested data; search the indexed fingerprint identifiers for matches with the plurality of fingerprints associated with the requested data; identify one of the plurality of pages with the greatest number of matching fingerprints from the plurality of fingerprints associated with the requested data; remove the fingerprints associated with the one of the plurality of pages from the searching of the indexed fingerprints; search the indexed fingerprint identifiers for matches with the remaining plurality of fingerprints associated with the requested data; load the identified pages into memory; and encoding the requested data using the loaded pages. - View Dependent Claims (17, 18, 19, 20)
-
Specification