IP Library Granted Patent US 11,797,752
Granted Patent B1
US 11,797,752 · App. 17/807,947 · Granted Oct 24, 2023

Identifying downloadable objects in markup language

Inventors: Tony Xu (Redmond, WA); ChokSheak Lau (Kenmore, WA); Yi Zhang (Redmond, WA)
Assignee: Dropbox, Inc.
G06F40/143G06F3/14G06F9/451G06F16/957G06F40/134G06F40/205G06F40/258
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 11,797,752
App. No.
17/807,947
Granted
Oct 24, 2023
Kind
B1
Abstract

The present technology provides a browser extension that can recognize downloadable objects on a webpage and provides functionality that makes it easier and more efficient to download the downloadable objects to a location in a content management system. For example the present technology can analyze a document object model of a webpage to find attributes indicating a URL is associated with a downloadable object.

Claims (66)

1. A method of identifying objects available to download on a webpage, the method comprising:

executing a browser extension, the browser extension configured to store content on a content management system;

detecting, by the browser extension, a webpage rendered in a web browser;

inspecting the webpage, by the browser extension, to identify potential objects available to download, wherein the potential objects available to download are provided uniform resource locators (URLs) on the webpage; and

determining, based on the inspecting the webpage, objects available to download on the webpage by:

parsing a document object model (DOM) of the webpage;

inputting segments of the parsed DOM into a machine learning algorithm; and

receiving an output of a classification for a plurality of URLs indicating that they are associated with one of the objects available to download.

2. The method of claim 1 , further comprising:

causing a user interface overlay to be presented over the webpage rendered in the web browser, the user interface overlay comprising a list of the objects detected on the webpage by the browser extension.

3. The method of claim 1 , wherein the determining the objects available to download on the webpage further comprises:

identifying a URL of the plurality of the URLs for which the DOM satisfies a criterion of the URL being associated with an anchor tag having an attribute that corresponds to an object available to download.

4. The method of claim 1 , further comprising:

monitoring the web browser to detect whether an object that is downloaded from the webpage was not one of the identified potential objects available to download; and

sending, for further analysis, a portion of code of the webpage that corresponds to the object that is downloaded from the webpage to improve an ability of the browser extension to inspect the webpage to identify the potential objects available to download.

5. The method of claim 1 , further comprising:

receiving a user input instructing the browser extension to do a detailed scan of the webpage to identify the objects available to download; and

sending a HEAD request or a GET request for links that are not initially determined to be associated with the objects available for download.

6. The method of claim 1 , further comprising:

determining whether it is possible to determine a file extension for an object of the objects available to download; and

when the file extension cannot be determined for the object of the objects available to download, assigning a file extension to associate with the object prior to downloading the object.

7. The method of claim 1 , wherein the inspecting of the webpage to identify the potential objects available to download further comprises:

identifying the potential objects available to download based, at least in part, on analyzing additional information to file extensions, the additional information being in and/or surrounding the URLs provided on the webpage.

8. A method of identifying objects available to download on a webpage, the method comprising:

executing a browser extension, the browser extension configured to store content on a content management system;

detecting, by the browser extension, a webpage rendered in a web browser;

inspecting the webpage, by the browser extension, to identify potential objects available to download, wherein the potential objects available to download are provided uniform resource locators (URLs) on the webpage; and

determining, based on the inspecting the webpage, objects available to download on the webpage by;

either sending a HEAD request for a first URL of the URLs provided on the webpage;

and determining that a header returned from the HEAD request is consistent with an object available for download; or

sending a GET request for the first URL of the URLs provided on the webpage, wherein the GET request specifies a number of bytes to be returned in response to the GET request and determining that bytes of an object returned in response to the GET request is consistent with an object available for download.

9. The method of claim 8 , wherein, when sending the HEAD request, the method further comprises:

determining that a header returned from the HEAD request is consistent with an object available for download.

10. The method of claim 8 , further comprising:

causing a user interface overlay to be presented over the webpage rendered in the web browser, the user interface overlay comprising a list of the objects detected on the webpage by the browser extension.

11. The method of claim 8 , further comprising:

monitoring the web browser to detect whether an object that is downloaded from the webpage was not one of the identified potential objects available to download; and

sending, for further analysis, a portion of code of the webpage that corresponds to the object that is downloaded from the webpage to improve an ability of the browser extension to inspect the webpage to identify the potential objects available to download.

12. The method of claim 8 , further comprising:

determining whether it is possible to determine a file extension for an object of the objects available to download; and

when the file extension cannot be determined for the object of the objects available to download, assigning a file extension to associate with the object prior to downloading the object.

13. A system comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the system to:

execute a browser extension, the browser extension configured to store content on a content management system;

detect, by the browser extension, a webpage rendered in a web browser;

inspect the webpage, by the browser extension, to identify potential objects available to download, wherein the potential objects available to download are provided uniform resource locators (URLs) on the webpage; and

determine, based on the inspection of the webpage, objects available to download on the webpage by:

parsing a document object model (DOM) of the webpage;

inputting segments of the parsed DOM into a machine learning algorithm; and

receiving an output of a classification for a plurality of URLs indicating that they are associated with one of the objects available to download.

14. The system of claim 13 , wherein the instructions further configure the system to:

cause a user interface overlay to be presented over the webpage rendered in the web browser, the user interface overlay comprising a list of the objects detected on the webpage by the browser extension.

15. The system of claim 13 , wherein the determination of the objects available to download on the webpage further comprises:

identifying a URL of the plurality of the URLs for which the DOM satisfies a criterion of the URL being associated with an anchor tag having an attribute that corresponds to an object available to download.

16. The system of claim 13 , wherein the inspection of the webpage to identify the potential objects available to download further comprises:

identifying the potential objects available to download based, at least in part, on analyzing additional information to file extensions, the additional information being in and/or surrounding the URLs provided on the webpage.

17. The system of claim 13 , wherein the instructions further configure the system to:

monitor the web browser to detect whether an object that is downloaded from the webpage was not one of the identified potential objects available to download; and

send, for further analysis, a portion of code of the webpage that corresponds to the object that is downloaded from the webpage to improve an ability of the browser extension to inspect the webpage to identify the potential objects available to download.

18. The system of claim 13 , wherein the instructions further configure the system to:

receive a user input instructing the browser extension to do a detailed scan of the webpage to identify the objects available to download; and

send a HEAD request or a GET request for links that are not initially determined to be associated with the objects available for download.

19. The system of claim 13 , wherein the instructions further configure the system to:

determine whether it is possible to determine a file extension for an object of the objects available to download; and

when the file extension cannot be determined for the object of the objects available to download, assigning a file extension to associate with the object prior to downloading the object.

Assignments (2)
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2022
From: XU, TONY; LAU, CHOKSHEAK; ZHANG, YI
To: DROPBOX, INC.
Reel/Frame 060262/0725 →