Unlock instant, AI-driven research and patent intelligence for your innovation.

Automated code splitting and pre-fetching for improving responsiveness of browser-based applications

a browser-based application and automatic code generation technology, applied in the field of code splitting, can solve the problems of increasing the amount of code that must be downloaded, degrading reducing so as to improve the perceived responsiveness of the application, improve the initial download size, and improve the effect of code optimization

Active Publication Date: 2016-08-02
MICROSOFT TECH LICENSING LLC
View PDF12 Cites 22 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

The code splitting tool described in this patent aims to improve the performance of large and complex applications running in browsers by automatically analyzing and rewriting the code of these applications. This tool uses various techniques to reduce the initial download size of an application, making it faster to start and interact with in high-latency networks. By automatically optimizing the code, the tool enhances the responsiveness of applications and provides a better user experience. Overall, the code splitting tool provides a way to introduce dynamic code loading into existing applications, making them faster and more responsive.

Problems solved by technology

Unfortunately, initial application execution must generally wait until the entire code base has been downloaded from the server to the client.
Further, as the sophistication and feature sets of these network-based applications grow, downloading their client-side code is increasingly becoming a bottleneck in both their initial startup time and subsequent application interactions.
Unfortunately, as applications become more complex and feature rich, the shift of application execution from a back-end server to the client often dramatically increases the amount of code that must be downloaded to the.
The result is that perceived responsiveness of the application is degraded.
Further, even after static resources and code have been cached, this action takes about 11 seconds.
Users on dial-up, cell phone, or slow international networks generally see much worse latencies, with large applications becoming virtually unusable.
However, manually designing a Web application to correctly support dynamic loading of application code is a challenging and error-prone process that must be done at the time that such applications are initially coded.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Automated code splitting and pre-fetching for improving responsiveness of browser-based applications
  • Automated code splitting and pre-fetching for improving responsiveness of browser-based applications
  • Automated code splitting and pre-fetching for improving responsiveness of browser-based applications

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0021]In the following description of the embodiments of the claimed subject matter, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the claimed subject matter may be practiced. It should be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the presently claimed subject matter.

[0022]1.0 Introduction:

[0023]Web applications are typically executed within browser type applications on PC-type computers, handheld devices such as PDA's or cell phones, or other computing devices. In general, a “code splitting tool,” as described herein, provides various techniques for automatically analyzing and rewriting existing distributed network applications (sometimes referred to as “Web” or “Web 2.0” applications) to introduce dynamic code loading into those applications. In other words, the code splitting tool provides a deploymen...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

A “code splitting tool” provides various techniques for automatically analyzing and rewriting existing browser-based applications to introduce dynamic code loading into those applications thereby improving perceived application responsiveness. Structural elements of application code (including functions, classes, etc.) are broken into small “stubs” with corresponding bodies. Rewritten applications then initially transfer only the portion of the code (including some combination of stubs and bodies) to the client as necessary for initial application execution. Additional stubs and / or bodies are then transferred either on-demand at runtime or in the background. Automated code rewriting proceeds without requiring any application-specific knowledge or changes to existing code prior to code rewriting. Further, the code splitting tool can tailor code rewriting to specific computing devices (computers, PDA's, cell phones, etc.), specific network conditions, and / or specific users, through an automated training process that creates clusters that control code downloads to optimize perceived application responsiveness.

Description

BACKGROUND[0001]1. Technical Field[0002]A code splitting tool provides various techniques for automatically analyzing and rewriting code of existing applications to reduce initial download sizes in order to improve initial application start times and the responsiveness of user interaction across high-latency networks such as, for example, the Internet or other networks for mobile devices such as cell phones and the like.[0003]2. Related Art[0004]Conventional network-based applications, such as browser-based email programs, interactive mapping services, social networking web sites, etc., typically use a combination of Dynamic HTML, JavaScript, and other Web browser technologies commonly referred to as “AJAX” to push page generation, content manipulation, and other types of execution to the client's browser. A few well known examples of these types applications include Gmail™, Live Maps™, RedFin™, MySpace.com®, NetFlix®, etc.[0005]One advantage of pushing execution to the client is th...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Patents(United States)
IPC IPC(8): G06F9/44G06F9/54
CPCG06F9/4443G06F9/547G06F9/451
Inventor LIVSHITS, BENJAMINKICIMAN, EMREDING, CHEN
Owner MICROSOFT TECH LICENSING LLC