Mapping selections between a browser and the original file fetched from a web server

US9563714B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9563714-B2
Application numberUS-201113161539-A
CountryUS
Kind codeB2
Filing dateJun 16, 2011
Priority dateJun 16, 2011
Publication dateFeb 7, 2017
Grant dateFeb 7, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A selection in a browser in an integrated development environment can be mapped back to the original document that was fetched from a web server by uniquely identifying elements in the original document. A DOM can be created from the original document where the DOM retains the unique identifiers associated with the elements. Block lists for the original document and the DOM can be created. A differencing algorithm can be run on the two block lists. A selection in a browser can be mapped to a location in the DOM block list and the location in the DOM block list can be mapped to the original document.

First claim

Opening claim text (preview).

What is claimed: 1. A system comprising: at least one processor of a computing device; a memory of the computing device; and at least one module loaded into the memory causing the at least one processor to: obtain an original file fetched from a web server, the original file comprising a fetched file; create a Document Object Model (DOM) representing the fetched file, the DOM having a structure for representing data in the fetched file that differs from the fetched file; create associations between location ranges in the DOM and location ranges in the fetched file; create a block list for the DOM; create a block list for the fetched file; map a selection in a browser to the DOM block list; and using the associations created between the location ranges in the DOM and the location ranges in the fetched file, map the selection in the browser to the fetched file. 2. The system of claim 1 , further comprising at least one module that when loaded into the memory causes the at least one processor to: create the associations between elements in the DOM and elements in the fetched file by: assigning a unique identifier to each element of a plurality of elements in the fetched file, wherein an element of the plurality of elements is delimited by an HyperText Markup Language (HTML) start tag and an HTML end tag. 3. The system of claim 2 , further comprising at least one module that when loaded into the memory causes the at least one processor to: create a block in the block list for the fetched file for each word in the fetched file; and create a block in the block list for the DOM for each word in the DOM. 4. The system of claim 2 , further comprising at least one module that when loaded into the memory causes the at least one processor to: create a block in the block list for the fetched file for each start tag and for each end tag in the fetched file; create a block in the block list for the DOM for each start tag and for each end tag in the DOM. 5. The system of claim 2 , further comprising at least one module that when loaded into the memory causes the at least one processor to: map associations between the block list for the fetched file and the block list for the DOM by matching block identifiers. 6. The system of claim 2 , wherein a block in the block list for the fetched file is identical to a block in the block list for the DOM when the block in the fetched file block list is immediately adjacent to a unique block in the fetched file block list and an identical block exists next to the corresponding unique block in the DOM block list. 7. The system of claim 2 , wherein: mapping the selection in the browser to the DOM block list comprises: determining a block in the DOM block list that corresponds to the selection in the browser by navigating from a current position in the DOM backwards towards the beginning of the DOM until an element with an identifier is found, recording characters encountered in the navigation until the element with the identifier is found; and accessing the correspondingly identified block in the DOM block list. 8. A method comprising: receiving by a module of a plurality of modules executing within an Integrated Development Environment (IDE) of a software development computer, the module executed by a processor of the software development computer, an HyperText Markup Language (HTML) file from a web server, the HTML file comprising a fetched file; assigning each element of a plurality of elements in the fetched file an identifier, wherein an identifier of an element of the plurality of elements uniquely identifies the element; converting the fetched file to a Document Object Model (DOM), retaining the assigned identifiers, the DOM having a structure for representing data in the fetched file that differs from the fetched file; executing a scripting language on the DOM, modifying the DOM; creating a block list for the DOM; creating a block list for the fetched file mapping a selection in a browser to the DOM block list; and using the identifiers assigned to each element in the fetched file and retained in the DOM, mapping the selection in the browser to a block in the DOM block list, mapping the block in the DOM block list to a block in the block list for the fetched file, and matching the block in the block list for the fetched file a location in the fetched file. 9. The method of claim 8 , further comprising: executing a differencing algorithm on the block list for the fetched file and the block list for the DOM. 10. The method of claim 9 , wherein two blocks are determined to be the same block by determining that immediately adjacent to a unique block in the fetched file an identical block exists next to the corresponding unique block in the DOM. 11. The method of claim 10 , wherein a selection in a browser is mapped to a block of text in the DOM block list by finding a preceding unique identifier by traversing the DOM backward, recording characters encountered when traversing from a current position to the preceding unique identifier, finding the unique identifier in the DOM block list and traversing the DOM and the DOM block list forwards, character by character until the selection is encountered. 12. The method of claim 8 , further comprising; creating a block in the block list for the fetched file for each word in the fetched file; and creating a block in the DOM block list for each word in the DOM. 13. The method of claim 12 , further comprising: creating a block in the block list for the fetched file for each start tag in the fetched file and creating a block in the block list for the fetched file for each end tag in the fetched file; creating a block in the DOM block list for each start tag in the DOM and creating a block in the DOM block list for each end tag in the DOM; and in response to determining that the start tag identifier for a block in the block list for the fetched file is identical to the start tag identifier for a block in the DOM block list, mapping the block in the fetched file block list to the block in the DOM block list. 14. A device, comprising: at least one processor and a memory, the at least one processor configured to: receive by the at least one processor of the computing device an HyperText Markup Language (HTML) file comprising a file fetched from a web server; assign a unique identifier to an element for each element in the fetched file; convert the fetched file to a Document Object Model (DOM), retaining the assigned unique identifiers, the DOM having a structure for representing data in the fetched file that differs from the fetched file; execute a scripting language on the DOM, generating a modified DOM; create a DOM block list from the modified DOM; create a block list for the fetched file from the fetched file; map a selection in a browser file to a location in the fetched file using the assigned unique identifiers. 15. The device of claim 14 , the at least one processor further configured to: run a differencing algorithm on the block list for the fetched file and the DOM block list. 16. The device of claim 15 , the at least one processor further configured to: create a block in the block list for the fetched file for each word in the fetched file; and create a block in the DOM block list for each word in the modified DOM. 17. The device of claim 16 , the at least one processor further configured to: create a block in the block list for the fetched file for each start tag in the fetched file and create a block in the block list for the fetch

Assignees

Inventors

Classifications

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • H04L67/06Primary

    specially adapted for file transfer, e.g. file transfer protocol [FTP] · CPC title

  • G06F16/986Primary

    Document structures and storage, e.g. HTML extensions · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9563714B2 cover?
A selection in a browser in an integrated development environment can be mapped back to the original document that was fetched from a web server by uniquely identifying elements in the original document. A DOM can be created from the original document where the DOM retains the unique identifiers associated with the elements. Block lists for the original document and the DOM can be created. A di…
Who is the assignee on this patent?
Chartier Daniel P, Davis Joseph M, Gabuardi Gonzalez Jorge E, and 7 more
What technology area does this patent fall under?
Primary CPC classification H04L67/06. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 07 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).