IP Library Granted Patent US 12,073,174
Granted Patent B2
US 12,073,174 · App. 18/380,318 · Granted Aug 27, 2024

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 12,073,174
App. No.
18/380,318
Granted
Aug 27, 2024
Kind
B2
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 (50)

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; and

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 to which uniform resource locators (URLs) are provided on the webpage, the potential objects available to download being identified based, at least in part, on analyzing a string in the URLs other than file extensions.

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

comparing respective strings of the URLs to one or more regular expression (REGEX) patterns to detect whether one of the respective strings matches at least one of the one or more REGEX patterns, wherein the one or more REGEX patterns correspond to objects that have been observed to be downloadable.

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

signaling, when there is a match between the respective strings and at least one of the one or more REGEX patterns, that a URL corresponding to the match is a potential object available to download.

4. 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 the file extension to associate with the object prior to downloading the object.

5. 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.

6. The method of claim 5 , further comprising:

providing the portion of the code of the webpage to a machine learning (ML) algorithm for training to recognize a URL for the downloadable file.

7. The method of claim 5 , wherein the portion of code of the webpage is used to generate a regular expression (REGEX) pattern that corresponds to a string in the URLs.

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

inputting the URLs into a machine learning (ML) algorithm to generate an output of a classification for the URLs indicating that they are associated with one of the objects available to download.

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

analyzing the string in the URLs other than file extensions to determine whether the string corresponds to an image object or a document object, and, when the string corresponds to the image object or the document object, signaling that a URL that includes the string is a potential object available to download.

10. A computing apparatus comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the apparatus 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; and

inspect the webpage, by the browser extension, to identify potential objects available to download to which uniform resource locators (URLs) are provided on the webpage, the potential objects available to download being identified based, at least in part, on analyzing a string in the URLs other than file extensions.

11. The computing apparatus of claim 10 , wherein, when executed by the processor, the stored instructions further configure the apparatus to:

compare respective strings of the URLs to one or more regular expression (REGEX) patterns to detect whether one of the respective strings matches at least one of the one or more REGEX patterns, wherein the one or more REGEX patterns correspond to objects that have been observed to be downloadable.

12. The computing apparatus of claim 11 , wherein, when executed by the processor, the stored instructions further configure the apparatus to:

signal, when there is a match between the respective strings and at least one of the one or more REGEX patterns, that a URL corresponding to the match is a potential object available to download.

13. The computing apparatus of claim 10 , wherein, when executed by the processor, the stored instructions further configure the apparatus 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, assign the file extension to associate with the object prior to downloading the object.

14. The computing apparatus of claim 10 , wherein, when executed by the processor, the stored instructions further configure the apparatus 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.

15. The computing apparatus of claim 14 , wherein, when executed by the processor, the stored instructions further configure the apparatus to:

provide the portion of the code of the web page to a machine learning (ML) algorithm for training to recognize a URL for the downloadable file.

16. The computing apparatus of claim 14 , wherein the portion of code of the webpage is used to generate a regular expression (REGEX) pattern that corresponds to a string in the URLs.

17. The computing apparatus of claim 10 , wherein, when executed by the processor, the stored instructions further configure the apparatus to:

input the URLs into a machine learning (ML) algorithm to generate an output of a classification for the URLs indicating that they are associated with one of the objects available to download.

18. The computing apparatus of claim 10 , wherein, when executed by the processor, the stored instructions further configure the apparatus to:

analyze the string in the URLs other than file extensions to determine whether the string corresponds to an image object or a document object, and, when the string corresponds to the image object or the document object, signaling that a URL that includes the string is a potential object available to download.

19. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer 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; and

inspect the webpage, by the browser extension, to identify potential objects available to download to which uniform resource locators (URLs) are provided on the webpage, the potential objects available to download being identified based, at least in part, on analyzing a string in the URLs other than file extensions.

20. The non-transitory computer-readable storage medium of claim 19 , wherein, when executed by a computer, the instructions further cause the computer to:

compare respective strings of the URLs to one or more regular expression (REGEX) patterns to detect whether one of the respective strings matches at least one of the one or more REGEX patterns, wherein the one or more REGEX patterns correspond to objects that have been observed to be downloadable.

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 Oct 16, 2023
From: XU, TONY; LAU, CHOKSHEAK; ZHANG, YI
To: DROPBOX, INC.
Reel/Frame 065231/0979 →
Continuity (2)
Continuation 17807947 · Jun 21, 2022
Related Publication 20240046027A1 · Feb 8, 2024