IP Library Granted Patent US 8,996,661
Granted Patent B1
US 8,996,661 · App. 13/370,071 · Granted Mar 31, 2015

Smart packaging for mobile applications

Inventors: Hariharan Kolam (Palo Alto, CA); Manav Ratan Mital (San Carlos, CA); Raghu Venkat (Palo Alto, CA); Abhishek Marwah (Belmont, CA); Prasenjit Dey (Bengaluru, IN)
Assignee: Instart Logic, Inc.
G06F8/70
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 8,996,661
App. No.
13/370,071
Granted
Mar 31, 2015
Kind
B1
Abstract

A method of distributing content to an application from a server is disclosed. The method includes detecting in a file to be sent to the application from the server that the application is directed to request one or more resources to be downloaded to the application. A network latency associated with the downloading of the one or more resources is determined. A subset of the one or more resources is selectively packaged based at least in part on the network latency. The selectively packaged subset of the one or more resources is sent to the application.

Claims (43)

1. A method of distributing content to a web browser from a edge server, comprising:

detecting by the edge server in a file that the web browser is directed by the requested file to request one or more resources to be downloaded to the web browser, wherein the file is requested by the web browser to be sent to the web browser from the edge server;

determining by the edge server a network latency associated with the downloading of the one or more resources;

selectively packaging by the edge server a subset of the one or more resources that the web browser is directed by the requested file to download based at least in part on the network latency between the edge server and the web browser, comprising packaging a larger subset of the one or more resources for a higher network latency, wherein the network latency is determined based at least in part on a type of connection between the edge server and the web browser; and

sending in advance by the edge server the selectively packaged subset of the one or more resources to a device on which the web browser runs without receiving one or more requests for the one or more resources.

2. The method of claim 1 , wherein selectively packaging the subset of the one or more resources is further based at least in part on a cost associated with the packaging.

3. The method of claim 1 , wherein sending the selectively packaged subset of the one or more resources to the web browser comprises sending the selectively packaged subset of the one or more resources to a piece of software installed on the device on which the web browser runs.

4. The method of claim 3 , further comprising sending the file to the piece of software installed on the device.

5. The method of claim 4 , wherein the selectively packaged subset of the one or more resources is embedded into the file by the piece of software before the file is sent by the piece of software to the web browser.

6. The method of claim 4 , wherein the selectively packaged subset of the one or more resources is stored in a memory on the device by the piece of software such that the selectively packaged subset of the one or more resources is sent to the web browser in response to the web browser requesting the subset of the one or more resources to be downloaded to the web browser.

7. The method of claim 3 , wherein the piece of software comprises a plug-in.

8. The method of claim 3 , wherein the device comprises a mobile device.

9. The method of claim 1 , wherein detecting in the file comprises detecting one or more redirections in the file, wherein the one or more redirections direct the web browser to request the one or more resources to be downloaded to the web browser using one or more of the following: a hyperlink and an URL.

10. The method of claim 1 , where the type of connection is determined by a piece of software installed on the device on which the web browser runs, and wherein the determined type of connection is communicated by the piece of software to the server.

11. The method of claim 1 , further comprising:

receiving by the edge server an indication indicating that the web browser has sent a request for an original file that includes content related to executing an application;

determining by the edge server a first portion of the original file that is likely to be required by the application for executing the application sooner than a second portion of the original file; and

generating by the edge server the file based on the original file, wherein the file includes the first portion of the original file.

12. A edge server for distributing content to a web browser, comprising:

a processor configured to:

detect in a file that the web browser is directed by the requested file to request one or more resources to be downloaded to the web browser, wherein the file is requested by the web browser to be sent to the web browser from the edge server;

determine a network latency associated with the downloading of the one or more resources;

selectively package a subset of the one or more resources that the web browser is directed by the requested file to download based at least in part on the network latency between the edge server and the web browser, comprising packaging a larger subset of the one or more resources for a higher network latency, wherein the network latency is determined based at least in part on a type of connection between the edge server and the web browser; and

send in advance the selectively packaged subset of the one or more resources to a device on which the web browser runs without receiving one or more requests for the one or more resources; and

a memory coupled to the processor and configured to provide the processor with instructions.

13. The edge server of claim 12 , wherein selectively packaging the subset of the one or more resources is further based at least in part on a cost associated with the packaging.

14. The edge server of claim 12 , wherein sending the selectively packaged subset of the one or more resources to the web browser comprises sending the selectively packaged subset of the one or more resources to a piece of software installed on the device on which the web browser runs.

15. The edge server of claim 14 , wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to send the file to the piece of software installed on the device.

16. The edge server of claim 15 , wherein the selectively packaged subset of the one or more resources is embedded into the file by the piece of software before the file is sent by the piece of software to the web browser.

17. The edge server of claim 15 , wherein the selectively packaged subset of the one or more resources is stored in a memory on the device by the piece of software such that the selectively packaged subset of the one or more resources is sent to the web browser in response to the web browser requesting the subset of the one or more resources to be downloaded to the web browser.

18. The edge server of claim 14 , wherein the piece of software comprises a plug-in.

19. The edge server of claim 14 , wherein the device comprises a mobile device.

20. The edge server of claim 12 , wherein detecting in the file comprises detecting one or more redirections in the file, wherein the one or more redirections direct the web browser to request the one or more resources to be downloaded to the web browser using one or more of the following: a hyperlink and an URL.

21. The edge server of claim 12 , where the type of connection is determined by a piece of software installed on the device on which the web browser runs, and wherein the determined type of connection is communicated by the piece of software to the server.

22. The edge server of claim 12 , wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to:

receive an indication indicating that the web browser has sent a request for an original file that includes content related to executing an application;

determine a first portion of the original file that is likely to be required by the application for executing the application sooner than a second portion of the original file; and

generate the file based on the original file, wherein the file includes the first portion of the original file.

23. A computer program product for distributing content to an web browser, the computer program product being embodied in a non-transistory computer readable storage medium and comprising computer instructions for:

detecting in a file that the web browser is directed by the requested file to request one or more resources to be downloaded to the web browser, wherein the file is requested by the web browser to be sent to the web browser from an edge server;

determining a network latency associated with the downloading of the one or more resources;

selectively packaging a subset of the one or more resources that the web browser is directed by the requested file to download based at least in part on the network latency between the edge server and the web browser, comprising packaging a larger subset of the one or more resources for a higher network latency, wherein the network latency is determined based at least in part on a type of connection between the edge server and the web browser; and

sending in advance the selectively packaged subset of the one or more resources to a device on which the web browser runs without receiving one or more requests for the one or more resources.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2020
From: INSTART LOGIC, INC.
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 052121/0335 →
CHANGE OF NAME Recorded Dec 4, 2012
From: INSTART, INC.
To: INSTART LOGIC, INC.
Reel/Frame 029405/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2012
From: KOLAM, HARIHARAN; MITAL, MANAV RATAN; VENKAT, RAGHU; MARWAH, ABHISHEK; DEY, PRASENJIT
To: INSTART INC.
Reel/Frame 028515/0026 →