IP Library Granted Patent US 9,870,349
Granted Patent B2
US 9,870,349 · App. 14/163,627 · Granted Jan 16, 2018

Systems and methods for managing loading priority or sequencing of fragments of a web object

Inventors: Coach K. Wei (Natick, MA); Robert Buffone (Wakefield, MA)
Assignee: Yottaa Inc.
G06F17/2247G06F9/46G06F9/54G06F17/30H04L67/02H04L67/10H04L67/2804H04L67/2819H04L67/2823H04L67/34H04L67/42G06F2209/541G06F2209/542
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,870,349
App. No.
14/163,627
Granted
Jan 16, 2018
Kind
B2
Abstract

This disclosure is directed to methods and systems for delivering an item of web content requested by a client. An intermediary between a client and a server may intercept a request from the client to the server for an item of web content. The intermediary may split the item of web content into a plurality of fragments. The intermediary may identify, responsive to the request, a first fragment of the plurality of fragments to transmit to the client. The intermediary may inject executable code into the first fragment of the plurality of fragments. The executable code may be configured to conditionally incorporate additional fragments from the plurality of fragments into the first fragment at the client.

Claims (38)

1. A method for delivering an item of web content requested by a client, comprising:

(a) intercepting, by an intermediary between a client and a server, a request from the client to the server for an item of web content;

(b) splitting, by the intermediary, the item of web content into a plurality of fragments;

(c) identifying, by the intermediary responsive to the request, a first fragment of the plurality of fragments to deliver to the client for rendering on a browser; and

(d) injecting, by the intermediary, executable code into the first fragment of the plurality of fragments, the executable code, when executing on the client,

conditionally requests for a second fragment from the plurality of fragments to be delivered from the intermediary to the client based on detection, by the executable code, of a user action on the first fragment rendered on the client that is to move a predetermined location for a portion of the second fragment into a viewport of the client, and

receives the conditionally requested second fragment to combine with the first fragment for updated rendering at the client while leaving at least a third fragment from the plurality of fragments that is available at the intermediary undelivered.

2. The method of claim 1 , wherein (a) further comprises determining that the item of web content comprises one of: an HTML page, an image, a cascading style sheet (CSS), a script file, a video object, an audio object, and a Flash file or small web format (SWF) file.

3. The method of claim 1 , wherein (b) comprises splitting the item of web content into the plurality of fragments based on a version of the item of web content cached by the intermediary.

4. The method of claim 1 , wherein (b) comprises splitting the item of web content into a plurality of fragments based on a response from the server to the request.

5. The method of claim 1 , comprising performing at least one of the splitting and the identifying, based on a user-defined configuration of the item of web content.

6. The method of claim 1 , wherein (a) comprises intercepting the request for the item of web content, the item of web content comprising dynamic or personalized information to be generated by the server.

7. The method of claim 1 , further comprising sending, by the intermediary, the request to the server.

8. The method of claim 1 , further comprising delivering the first fragment from a cache by the intermediary.

9. The method of claim 1 , wherein (d) comprises requesting, by the executable code when executing on the client, the second fragment from the plurality of fragments to be delivered to the client, responsive to the detection of the user action, while leaving at least the third fragment from the plurality of fragments undelivered.

10. The method of claim 1 , further comprising forming a second fragment of the plurality of fragments based on a response from the server to the request.

11. The method of claim 1 , wherein (d) comprises determining to conditionally request for the one or more undelivered fragments based on at least one of: a network condition, dependencies between related fragments, size of a fragment, importance of a fragment, availability of a fragment, and visibility of a fragment.

12. The method of claim 1 , wherein (d) comprises determining to conditionally request for the one or more undelivered fragments responsive to at least one of: a user event, a timer event and a document object model event, that involves a display or use of the one or more fragments at the client.

13. The method of claim 1 , wherein (d) comprises injecting the executable code, the executable code comprising code expressed in at least one of: ECMAScript language or a language similar or related to the ECMAScript language, ActionScript language, visual basic language and hypertext markup language.

14. A system for delivering an item of web content requested by a client, the system comprising:

an intermediary device between a client and a server, the intermediary device:

intercepting a request from the client to the server for an item of web content, splitting the item of web content into a plurality of fragments, and

identifying a first fragment of the plurality of fragments to deliver to the client for rendering on a browser, responsive to the request; and

executable code, injected by the intermediary device into the first fragment of the plurality of fragments for execution at the client, the code, when executing on the client,

conditionally requests for a second fragment from the plurality of fragments to be delivered from the intermediary to the client based on detection, by the executable code, of a user action on the first fragment rendered on the client that is to move a predetermined location for a portion of the second fragment into a viewport of the client, and

receives the conditionally requested second fragment to combine with the first fragment for updated rendering at the client while leaving at least a third fragment from the plurality of fragments that is available at the intermediary undelivered.

15. The system of claim 14 , wherein the intermediary device determines that the item of web content comprises one of: an HTML page, an image, a cascading style sheet (CSS), a script, a video object, an audio object, and a Flash file or small web format (SWF) file.

16. The system of claim 14 , wherein the intermediary device splits the item of web content into the plurality of fragments based on a version of the item of web content cached by the intermediary device.

17. The system of claim 14 , wherein the intermediary device splits the item of web content into a plurality of fragments based on a response from the server to the request.

18. The system of claim 14 , wherein the intermediary device performs at least one of the splitting and the identifying based on a user-defined configuration of the item of web content.

19. The system of claim 14 , wherein the intermediary device intercepts the request for the item of web content, the item of web content comprising dynamic or personalized information to be generated by the server.

20. The system of claim 14 , wherein the intermediary device sends the request to the server.

21. The system of claim 14 , wherein the intermediary device delivers the first fragment from a cache by the intermediary device.

22. The system of claim 14 , wherein the executable code requests for the second fragment from the plurality of fragments to be delivered to the client, responsive to the detection of the user action, while leaving at least the third fragment from the plurality of fragments undelivered.

23. The system of claim 14 , wherein the intermediary device forms a second fragment of the plurality of fragments based on a response from the server to the request.

24. The system of claim 14 , wherein the intermediary device determines to conditionally request for the one or more undelivered fragments based on at least one of: a network condition, dependencies between related fragments, size of a fragment, importance of a fragment, availability of a fragment, and visibility of a fragment.

25. The system of claim 14 , wherein the intermediary device determines to conditionally request for the one or more undelivered fragments responsive to at least one of: a user event, a timer event and a document object model event, that involves a display or use of the corresponding fragment at the client.

26. The system of claim 14 , wherein the intermediary device injects the executable code, the executable code comprising code expressed in at least one of: ECMAScript language or a language similar or related to the ECMAScript language, ActionScript language, visual basic language and hypertext markup language.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2026
From: YOTTAA, INC.
To: YOTTAA (ABC), LLC
Reel/Frame 074877/0713 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2026
From: YOTTAA (ABC), LLC
To: YOTTAA LLC
Reel/Frame 074877/0857 →
SECURITY INTEREST Recorded Mar 22, 2023
From: YOTTAA, INC.
To: SILICON VALLEY BRIDGE BANK, N.A.
Reel/Frame 063061/0250 →
RELEASE OF SECURITY INTEREST Recorded Apr 28, 2022
From: COMERICA BANK
To: YOTTAA, INC.
Reel/Frame 059759/0353 →
SECURITY INTEREST Recorded Jun 21, 2016
From: YOTTAA, INC.
To: COMERICA BANK
Reel/Frame 038973/0307 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2014
From: BUFFONE, ROBERT; WEI, COACH K.
To: YOTTAA INC.
Reel/Frame 032324/0856 →
Continuity (2)
Provisional Application 61880347 · Sep 20, 2013
Related Publication 20150088968A1 · Mar 26, 2015