Document capture using client-based delta encoding with server
AssigneeQuantum Metric, Inc.
InventorsMario Luciano Ciabarra, Jr., Yiduo Wang
Life of this patent
Estimating the term…
Abstract
When different client devices request the same document, most of content of the response from the server (i.e. the response document from a web server) will be the same. Embodiments allow the client devices to use fingerprints, i.e. hashes, sent by a capture system to pinpoint only the changing portions of the document instead of sending the entire document. In various embodiments, the client compares client-generated fingerprints for the document with capture system-generated fingerprints for most likely appearing portions of text of the document or related documents to fully represent and sends to the capture system the client document in a compact and efficient way.
Claims20
A computer-implemented method performed by a client device during a web session, the computer-implemented method comprising:
- accessing, by the client device from a first computer system hosting a website, a first electronic document identified by a resource indicator;
- generating, by the client device, a first set of hashed data portions corresponding to the first electronic document, wherein each of the first set of hashed data portions corresponds to a different portion of data in the first electronic document;
- sending, by the client device to a second computer system, a request for one or more hashed data portions corresponding to the first electronic document, the request including information identifying the first electronic document;
- receiving, by the client device, from the second computer system, a second set of hashed data portions responsive to the request, wherein each of the second set of hashed data portions are generated based on a different portion of data in a second electronic document, and wherein the second set of hashed data portions are identified as responsive to the request based on determining that the second electronic document matches the first electronic document identified by the information in the request, wherein the first electronic document and the second electronic document comprise web documents;
- comparing the first set of hashed data portions to the second set of hashed data portions;
- identifying, based on the comparing, one or more data portions of the first electronic document that are different from the second electronic document;
- and
- sending, to the second computer system, the one or more data portions of the first electronic document as updates to the second electronic document, wherein the second computer system associates the one or more data portions as updates to the second electronic document, the updates to the second electronic document specifying user interactions with the first electronic document during the web session.
A system, comprising:
- one or more processors;
- a memory accessible to the one or more processors, the memory comprising instructions that, when executed by the one or more processors, causes the one or more processors to:
- access, from a first computer system during a web session, a first electronic document identified by a resource indicator;
- generate a first set of hashed data portions corresponding to the first electronic document, wherein each of the first set of hashed data portions corresponds to a different portion of data in the first electronic document;
- send, to a second computer system, a request for one or more hashed data portions corresponding to the first electronic document, the request including information identifying the first electronic document;
- receive, from the second computer system, a second set of hashed data portions responsive to the request, wherein each of the second set of hashed data portions are generated based on a different portion of data in a second electronic document, and wherein the second set of hashed data portions are identified as responsive to the request based on determining that the second electronic document matches the first electronic document identified by the information in the request, wherein the first electronic document and the second electronic document comprise web documents;
- compare the first set of hashed data portions to the second set of hashed data portions;
- identify, based on the comparing, one or more data portions of the first electronic document that are different from the second electronic document;
- and
- send, to the second computer system, the one or more data portions of the first electronic document as updates to the second electronic document, wherein the second computer system associates the one or more data portions as updates to the second electronic document, the updates specifying user interactions with the first electronic document during the web session.
A computer-implemented method performed by a computer system during a web session, the computer-implemented method comprising:
- determining, by the computer system, identification data for a first electronic document stored in association with a resource indicator associated with a website hosted by a separate server computer, the first electronic document corresponding a webpage of the website;
- identifying, by the computer system, a set of data portions in the first electronic document;
- generating, by the computer system, a set of hashed data portions for the set of data portions in the first electronic document, wherein each of the set of hashed data portions are generated based on a different portion of the set of data portions;
- receiving, by the computer system from a client device, a request for one or more hashed data portions corresponding to a second electronic document, the request including information identifying the second electronic document, the first electronic document and second electronic document comprising web documents;
- determining that the second electronic document matches the first electronic document based on the information identifying the second electronic document matching the identification data for the first electronic document;
- responsive to determining that the second electronic document matches the first electronic document, sending the set of hashed data portions to the client device;
- receiving, by the computer system, from the client device, one or more data portions of the second electronic document that are different from the first electronic document, wherein the one or more data portions are identified using the set of hashed data portions sent to the client device, the one or more data portions indicating user interactions of a user of the client device with the website;
- and
- constructing, by the computer system, a third electronic document based on the one or more data portions of the second electronic document that are different from the first electronic document and the set of data portions, wherein the third electronic document is constructed as an update to the first electronic document for replay of the user interactions with the website and having as at least a portion of the first electronic document and the one or more data portions of the second electronic document that are received from the client device.
Dependencies are inferred from the claim text.