Scalable whittled proxy execution for low-latency web over cellular networks

US10846356B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10846356-B2
Application numberUS-201816006951-A
CountryUS
Kind codeB2
Filing dateJun 13, 2018
Priority dateJun 13, 2018
Publication dateNov 24, 2020
Grant dateNov 24, 2020

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 whittling proxy system can receive a target web page that includes a plurality of Javascript functions and a plurality of objects needed to load the target web page. The system can determine a target Javascript function of the plurality of Javascript functions to be tested for a whittling capability. The system can generate a full version and a partial version of the target web page. The full version includes all of the plurality of Javascript functions. The partial version includes the plurality of Javascript functions excluding the target Javascript function. The system can conduct a test to determine a first page signature associated with the full version and a second page signature associated with the partial version. The system can determine if the first page signature matches the second page signature, and if so, can determine that the target Javascript function can be whittled.

First claim

Opening claim text (preview).

We claim: 1. A method comprising: receiving, by a whittling proxy system comprising a processor, a target web page comprising a plurality of functions and a plurality of objects; sorting, by the whittling proxy system, the plurality of functions in decreasing order of computational effort based upon an execution time of each function of the plurality of functions; creating a sorted list of functions comprising the plurality of functions sorted in the decreasing order of computational effort; starting a first iteration of whittling; and during the first iteration of whittling, generating, by the whittling proxy system, a first full version of the target web page, wherein the first full version of the target web page comprises the plurality of functions, selecting, by the whittling proxy system, from the sorted list, a first target function from the plurality of functions to be tested to determine whether the first target function can be removed from the first full version of the target web page without affecting at least one of the plurality of objects when the target web page is executed, wherein the first target function is first in the sorted list of functions, generating, by the whittling proxy system, a first partial version of the target web page, wherein the first partial version of the target web page comprises the first full version of the target web page with the first target function removed, determining, by the whittling proxy system, a first signature associated with the first full version of the target web page, wherein the first signature identifies a first set of the plurality of objects that are fetched during execution of the first full version of the target web page, determining, by the whittling proxy system, a second signature associated with the first partial version of the target web page, wherein the second signature identifies a second set of the plurality of objects that are fetched during execution of the first partial version of the target web page, comparing, by the whittling proxy system, the first signature and the second signature to determine whether the first signature matches the second signature, determining, by the whittling proxy system, that the first signature matches the second signature, and in response to determining, by the whittling proxy system, that the first signature matches the second signature, determining that the first target function can be removed from the target web page without affecting at least one of the plurality of objects when the target web page is executed. 2. The method of claim 1 , further comprising: starting a second iteration of whittling; and during the second iteration of whittling, generating, by the whittling proxy system, a second full version of the target web page, wherein the second full version of the target web page comprises the plurality of functions except the first target function, selecting, by the whittling proxy system, from the sorted list, a second target function from the plurality of functions to be tested to determine whether the second target function also can be removed from the target web page without affecting at least one of the plurality of objects when the target web page is executed, wherein the second target function is second in the sorted list of functions, generating, by the whittling proxy system, a second partial version of the target web page, wherein the second partial version of the target web page comprises the second full version of the target web page with the second target function removed, determining, by the whittling proxy system, a third signature associated with the second full version of the target web page, wherein the third signature identifies a third set of the plurality of objects that are fetched during execution of the second full version of the target web page, determining, by the whittling proxy system, a fourth signature associated with the second partial version of the target web page, wherein the fourth signature identifies a fourth set of the plurality of objects that are fetched during execution of the second partial version of the target web page, comparing, by the whittling proxy system, the third signature to the fourth signature to determine whether the third signature matches the fourth signature, and in response to determining that the third signature matches the fourth signature, determining that the second target function can be removed from the target web page without affecting at least one of the plurality of objects when the target web page is executed. 3. The method of claim 2 , further comprising determining if the second target function is last in the sorted list of functions. 4. The method of claim 3 , further comprising, in response to determining that the second target function is not last in the sorted list of functions: starting a third iteration of whittling; and during the third iteration of whittling, generating, by the whittling proxy system, a third full version of the target web page, wherein the third full version of the target web page comprises the plurality of functions except the first target function and the second target function, selecting, by the whittling proxy system, from the sorted list, a third target function from the plurality of functions to be tested to determine whether the third target function also can be removed from the target web page without affecting at least one of the plurality of objects when the target web page is executed, wherein the third target function is third in the sorted list of functions, generating, by the whittling proxy system, a third partial version of the target web page, wherein the third partial version of the target web page comprises the third full version of the target web page with the third target function removed, determining, by the whittling proxy system, a fifth signature associated with the third full version of the target web page, wherein the fifth signature identifies a fifth set of the plurality of objects that are fetched during execution of the third full version of the target web page, determining, by the whittling proxy system, a sixth signature associated with the third partial version of the target web page, wherein the sixth signature identifies a sixth set of the plurality of objects that are fetched during execution of the third partial version of the target web page, and comparing, by the whittling proxy system, the fifth signature to the sixth signature to determine whether the fifth signature matches the sixth signature. 5. The method of claim 4 , further comprising, in response to determining that the fifth signature matches the sixth signature, determining that the third target function can be removed from the target web page without affecting at least one of the plurality of objects when the target web page is executed. 6. The method of claim 4 , further comprising, in response to determining that the fifth signature does not match the sixth signature, determining that the third target function cannot be removed from the target web page without affecting at least one of the plurality of objects when the target web page is executed. 7. The method of claim 2 , further comprising, in response to determining that the second target function is last in the sorted list of functions, generating a final version for the target web page, wherein the final version of the target web page comprises the plurality of functions except the first target function and the second target function. 8. A non-transitory computer-readable storage medium having computer-executable instructions stored thereon that, when executed by a processor, cause the processor to perform operations comprising: receiving a target web page

Assignees

Inventors

Classifications

  • Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD] · CPC title

  • of access to content, e.g. by caching · CPC title

  • Version control (for software G06F8/71) · CPC title

  • Tree-structured documents (parsing G06F40/205; validation G06F40/226) · CPC title

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 US10846356B2 cover?
A whittling proxy system can receive a target web page that includes a plurality of Javascript functions and a plurality of objects needed to load the target web page. The system can determine a target Javascript function of the plurality of Javascript functions to be tested for a whittling capability. The system can generate a full version and a partial version of the target web page. The full…
Who is the assignee on this patent?
At & T Ip I Lp, Purdue Univ, Purdue Research Foundation
What technology area does this patent fall under?
Primary CPC classification G06F16/9574. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 24 2020 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).