IP Library Granted Patent US 9,244,897
Granted Patent B1
US 9,244,897 · App. 14/623,200 · Granted Jan 26, 2016

Methods and systems for javascript parsing

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,244,897
App. No.
14/623,200
Granted
Jan 26, 2016
Kind
B1
Abstract

The present invention relates to systems, apparatus, and methods of parsing a script within an HTML page. The method includes receiving a script object, where the script object includes text. The method further includes parsing the text of the script object for tokens and comparing the parsed tokens with a valid tokens list to determine locations within the text of the script object that include potential universal resource locators (URLs). The method includes parsing before and after the determined locations until complete URLs are constructed, and forwarding the complete URLs to a detector. The detector then determines whether the complete URLs are valid. The method then sends object retrieval requests to websites associated with the valid complete URLs.

Claims (31)

1. A method of parsing a script within an HTML page, the method comprising:

receiving a script object, wherein the script object includes text;

parsing the text of the script object to determine whether the parsed text matches tokens included in a syntax dictionary, the matching tokens corresponding in the syntax dictionary with syntax identified as useful in constructing universal resource locators (URLs);

parsing the text of the script object before and after the matching tokens in accordance with the corresponding syntax to construct a plurality of proposed complete URLs are constructed;

forwarding the proposed complete URLs to a detector that determines whether each proposed complete URL is a valid complete URL; and

sending object retrieval requests to websites associated with the valid complete URLs.

2. The method for parsing a script within an HTML page as recited in claim 1 , wherein the parsing of the text of the script object comprises parsing a subset of the text of the script object.

3. The method for parsing a script within an HTML page as recited in claim 1 , wherein the script object is at least one of a Javascript object, an active server page (ASP) object, and a personal hypertext processor (PHP) object.

4. The method for parsing a script within an HTML page as recited in claim 1 , further comprising in response to sending an object retrieval request to a website associated with one of the valid complete URLs, receiving a page not found error.

5. The method for parsing a script within an HTML page as recited in claim 4 , further comprising in response to receiving the page not found error, discarding the one of the valid complete URLs.

6. The method for parsing a script within an HTML page as recited in claim 1 , further comprising checking the script object to determine if there is additional text to parse.

7. The method for parsing a script within an HTML page as recited in claim 1 , wherein the determination of whether a URL is valid comprises comparing the URL to a blacklist of URLs.

8. The method for parsing a script within an HTML page as recited in claim 1 , wherein the valid tokens list includes one or more of the following: a “.jpg” token, a “.gif” token, an “.asp” token, and a “var” token.

9. A system for accelerating network communications, the system comprising:

a client system including a proxy client configured to intercept a content request generated by the client, and to transmit the request;

a proxy server coupled with the client system via the proxy client, the proxy server including a script parser configured to: receive a script object, wherein the script object includes text; to parse the text of the script object to determine whether the parsed text matches tokens included in a syntax dictionary, the matching tokens corresponding in the syntax dictionary with syntax identified as useful in constructing universal resource locators (URLs); and to parse the text of the script object before and after the matching tokens in accordance with the corresponding syntax to construct a plurality of proposed complete URLs, wherein the proxy server further includes a detector which is configured to receive the proposed complete URLs to determine whether each is a valid complete URL; and

a content server coupled with the proxy server, the content server configured to receive object retrieval requests associated with the valid complete URLs from the proxy server, and transmit objects associated with the valid completed URLs to the proxy server.

10. A system for accelerating network communications as recited in claim 9 , wherein the proxy server further comprises a prefetch scanner configured to scan an attached file associated with one or more of the identified valid URLs to determine candidates for prefetching.

11. A system for accelerating network communications as recited in claim 9 , wherein the client and the proxy server are coupled together via a high latency communications link.

12. A system for accelerating network communications as recited in claim 11 , wherein the high latency link is one or more of the following: a satellite link, a wireless link, and a cellular link.

13. A system for accelerating network communications as recited in claim 9 , wherein the proxy server and the proxy client are couple together via a low latency link.

14. A system for accelerating network communications as recited in claim 13 , wherein the low latency link is one or more of the following: a digital subscriber line (DSL), a cable modem link, a T1 connection, and a fiber optic connection.

15. A system for accelerating network communications as recited in claim 9 , wherein the script parser further comprises a script rules dictionary coupled to the syntax dictionary, the script rules dictionary configured to provide script rules used to create valid URLs from portions of the received script text.

16. A system for accelerating network communications as in claim 15 , wherein the script rules dictionary is further configured to concatenate portions of the script text into valid URLs based on the script's rules.

17. A system for accelerating network communications as in claim 16 , wherein the script rules are Java™ script rules.

18. A machine-readable medium for parsing script files including sets of instructions stored thereon which, when executed by a machine, cause the machine to:

receive a script object, wherein the script object includes text;

parse the text of the script object to determine whether the parsed text matches tokens included in a syntax dictionary, the matching tokens corresponding in the syntax dictionary with syntax identified as useful in constructing universal resource locators (URLs);

parse the text of the script object before and after the matching tokens in accordance with the corresponding syntax to construct a plurality of proposed complete URLs;

forward the complete URLs to a detector that determines whether each of the proposed complete URLs is a valid complete URL; and

send object retrieval requests to websites associated with the valid complete URLs.

Assignments (11)
PARTIAL RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 48715/0589 Recorded Jun 6, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
To: VIASAT, INC.
Reel/Frame 071638/0083 →
PARTIAL RELEASE OF SECURITY INTEREST AT REEL/FRAME 063822/0446 Recorded Jun 4, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VIASAT, INC.
Reel/Frame 071495/0223 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2025
From: MUFG BANK, LTD. (AS SUCCESSOR-IN-INTEREST TO MUFG UNION BANK, N.A.), AS AGENT
To: VIASAT, INC.
Reel/Frame 071321/0020 →
PARTIAL RELEASE OF SECURITY INTEREST AT REEL/FRAME 059332/0558 Recorded Jun 4, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VIASAT, INC.
Reel/Frame 071495/0152 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: VIASAT, INC.
To: SNAPPI HOLDCO, INC.
Reel/Frame 070293/0483 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: SNAPPI HOLDCO, INC.
To: SNAPPI, INC.
Reel/Frame 070293/0879 →
SECURITY AGREEMENT Recorded Jun 1, 2023
From: VIASAT, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 063822/0446 →
SECURITY AGREEMENT Recorded Mar 7, 2022
From: VIASAT, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 059332/0558 →
SECURITY INTEREST Recorded Mar 27, 2019
From: VIASAT, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 048715/0589 →
PATENT SECURITY AGREEMENT Recorded May 24, 2016
From: VIASAT, INC.
To: MUFG UNION BANK, N.A., AS AGENT
Reel/Frame 038799/0714 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2015
From: SEBASTIAN, WILLIAM B
To: VIASAT, INC.
Reel/Frame 035322/0944 →