IP Library Granted Patent US 9,330,191
Granted Patent B2
US 9,330,191 · App. 12/484,607 · Granted May 3, 2016

Identifying changes for online documents

Inventors: Jaime Teevan (Bellevue, WA); Susan Dumais (Kirkland, WA); Daniel Liebling (Seattle, WA); Richard Hughes (Monroe, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F17/3089
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,330,191
App. No.
12/484,607
Granted
May 3, 2016
Kind
B2
Abstract

Techniques and systems are disclosed for providing changed content identification for an online document that is accessed by a user or user agent. A reference point for an online document that a user or user agent is interested in accessing is identified, comprising a stored prior version of the document. The prior version of the document is retrieved, when the user or user agent accesses the online document, such as by using the reference point. Elements of the prior version are compared with elements of a current version of the document, to determine whether there are differences between the versions. If changes are identified between the prior version and the current version, the current version is automatically updated with visual or auditory representations that identify those changes of content.

Claims (54)

1. A method for identifying changed content for a document, comprising:

generating a parallel cache configured to store multiple versions of a document;

receiving an access request to access a current version of the document; and

responsive to receiving the access request:

identifying a reference point associated with the document, the reference point referencing a prior version of the document stored in the parallel cache, the prior version of the document comprising one or more elements;

comparing at least some of the one or more elements associated with the prior version of the document with one or more elements associated with the current version of the document;

updating the current version of the document to generate an updated current version of the document, the updating comprising updating the current version of the document with at least one of a visual representation or an auditory representation based upon differences between the one or more elements associated with the prior version of the document and the one or more elements associated with the current version of the document; and

presenting the updated current version of the document for display, at least some of the method implemented at least in part via a processing unit;

wherein the one or more elements associated with the prior version of the document is stored as a first document object model (DOM) element tree and the one or more elements associated with the current version of the document stored as a second DOM element tree.

2. The method of claim 1 , the reference point comprising a timestamp indicating when a user previously accessed the document.

3. The method of claim 2 , the prior version of the document corresponding to a version of the document available for access at a time corresponding to the timestamp.

4. The method of claim 1 , the comparing comprising identifying a set of differences between the one or more elements associated with the prior version of the document and the one or more elements associated with the current version of the document.

5. The method of claim 1 , further comprising storing the prior version of the document based at least in part on a document object model.

6. The method of claim 1 , further comprising determining whether a new element has been added to the document between the prior version of the document and the current version of the document.

7. The method of claim 1 , the comparing comprising determining whether an element has been changed within the document between the prior version of the document and the current version of the document.

8. The method of claim 1 , the comparing comprising determining whether an element has been removed from the document between the prior version of the document and the current version of the document.

9. The method of claim 1 , the comparing comprising determining whether an element has been moved within the document between the prior version of the document and the current version of the document.

10. The method of claim 1 , comprising inferring differences to emphasize based upon tracking data associated with a user to which the updated current version of the document is presented.

11. A system for identifying changed content for a document, comprising:

one or more processing units; and

memory comprising instructions that when executed by at least one of the one or more processing units perform operations, the operations comprising:

generating a parallel cache configured to store multiple versions of a document;

receiving an access request to access a current version of the document; and

responsive to receiving the access request:

identifying a reference point associated with the document, the reference point referencing a prior version of the document stored in the parallel cache, the prior version of the document comprising one or more elements;

comparing at least some of the one or more elements associated with the prior version of the document with one or more elements associated with the current version of the document;

updating the current version of the document to generate an updated current version of the document, the updating comprising updating the current version of the document with at least one of a visual representation or an auditory representation based upon differences between the one or more elements associated with the prior version of the document and the one or more elements associated with the current version of the document; and

presenting the updated current version of the document for display;

wherein the one or more elements associated with the prior version of the document is stored as a first document object model (DOM) element tree and the one or more elements associated with the current version of the document stored as a second DOM element tree.

12. The system of claim 11 , wherein the comparing further comprises:

performing a first hash function on the first DOM element tree to generate a first hash function output;

performing a second hash function on the second DOM element tree to generate a second hash function output; and

comparing the first hash function output to the second hash function output.

13. The system of claim 12 , the comparing the first hash function output to the second hash function output comprising:

identifying a mismatch between the first hash function output and the second hash function output; and

responsive to the identifying a mismatch, traversing a branch of the first DOM element tree and a corresponding branch of the second DOM element tree to detect a difference between an element associated with the first DOM element tree and a corresponding element associated with the second DOM element tree.

14. The system of claim 11 , comprising storing the prior version of the document within a cache of a client machine.

15. The system of claim 11 , the reference point comprising a timestamp indicating when a user previously accessed the document.

16. The system of claim 15 , the prior version of the document corresponding to a version of the document available for access at a time corresponding to the timestamp.

17. A computer-readable storage device comprising instructions that when executed via a processing performs acts, comprising:

generating a parallel cache configured to store multiple versions of a document;

receiving an access request to access a current version of the document; and

responsive to receiving the access request:

identifying a reference point associated with the document, the reference point referencing a prior version of the document stored in the parallel cache, the prior version of the document comprising one or more elements;

comparing at least some of the one or more elements associated with the prior version of the document with one or more elements associated with the current version of the document;

updating the current version of the document to generate an updated current version of the document, the updating comprising updating the current version of the document with at least one of a visual representation or an auditory representation based upon differences between the one or more elements associated with the prior version of the document and the one or more elements associated with the current version of the document; and

presenting the updated current version of the document for display;

wherein the one or more elements associated with the prior version of the document is stored as a first document object model (DOM) element tree and the one or more elements associated with the current version of the document stored as a second DOM element tree.

18. The computer-readable storage device of claim 17 , the reference point comprising a timestamp indicating when a user previously accessed the document.

19. The computer-readable storage device of claim 18 , the prior version of the document corresponding to a version of the document available for access at a time corresponding to the timestamp.

20. The computer-readable storage device of claim 17 , wherein the comparing further comprises:

performing a first hash function on the first DOM element tree to generate a first hash function output;

performing a second hash function on the second DOM element tree to generate a second hash function output; and

comparing the first hash function output to the second hash function output.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2009
From: TEEVAN, JAIME; DUMAIS, SUSAN; LIEBLING, DANIEL; HUGHES, RICHARD
To: MICROSOFT CORPORATION
Reel/Frame 022943/0474 →
Continuity (1)
Related Publication 20100318892A1 · Dec 16, 2010