IP Library Granted Patent US 7,860,998
Granted Patent B2
US 7,860,998 · App. 12/749,305 · Granted Dec 28, 2010

Methods and apparatus to increase the efficiency of simultaneous web object fetching over long-latency links

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 7,860,998
App. No.
12/749,305
Granted
Dec 28, 2010
Kind
B2
Abstract

The invention increases performance of HTTP over long-latency links by pre-fetching objects concurrently via aggregated and flow-controlled channels. An agent and gateway together assist a Web browser in fetching HTTP contents faster from Internet Web sites over long-latency data links. The gateway and the agent coordinate the fetching of selective embedded objects in such a way that an object is ready and available on a host platform before the resident browser requires it. The seemingly instantaneous availability of objects to a browser enables it to complete processing the object to request the next object without much wait. Without this instantaneous availability of an embedded object, a browser waits for its request and the corresponding response to traverse a long delay link.

Claims (73)

1. An apparatus for displaying, with a browser, pages that are comprised of a plurality of page objects, where said page objects must be fetched individually over long-latency links, comprising:

a mechanism that selectively pre-fetches said page objects concurrently; and a cache that caches said pre-fetched page objects proximate to said browser;

wherein sequential access to said page objects is provided in low bandwidth and high delay networks without altering browser behavior;

the apparatus further comprising: an agent associated with said browser and in communication with a source server; and a long-latency link between said agent and said source server, wherein said mechanism that selectively pre-fetches page objects further comprises a mechanism for downloading page objects in parallel from said source server to said browser via said long-latency link;

caching said pre-fetched page objects proximate to said browser further comprises a cache into which page objects are selectively downloaded in parallel independently of an implementation of said browser and said source server;

wherein selected embedded page objects are made locally available to said browser at said cache by said agent; and

wherein said browser does not need to wait for a request and a corresponding response to traverse said long-latency link before an object is available;

wherein said mechanism that selectively pre-fetches performs said pre-fetch from said agent to a source server; and

wherein a low degree of parallelism is localized between said browser and said agent.

2. The apparatus of claim 1 , wherein said mechanism that selectively pre-fetches comprises a mechanism for communicating with a corresponding server mechanism, and which readies necessary page objects to be available on a platform hosting said browser.

3. The apparatus of claim 1 , wherein said agent further comprises a mechanism that assists said browser in fetching page objects by coordinating fetching of selective embedded page objects; wherein selected embedded page objects are locally available to said browser; and wherein said browser does not need to wait for a request and a corresponding response to traverse a long delay link before an object is available.

4. A method for displaying, with a browser, pages that are comprised of a plurality of page objects, where said page objects must be fetched individually over long-latency links, said method comprising the steps of:

selectively pre-fetching said page objects concurrently; and

caching said pre-fetched page objects proximate to said browser;

wherein sequential access to said page objects is provided in low bandwidth and high delay networks without altering browser behavior;

an agent is associated with said browser and is in communication with a source server;

wherein a long-latency link is located between said agent and said source server;

wherein said step of selectively pre-fetching said page objects further comprises the step of downloading page objects in parallel from said source server to said browser via said long-latency link;

caching said pre-fetched page objects proximate to said browser further comprises the step of selectively downloading page objects in parallel, independently of an implementation of said browser and said source server;

wherein selected embedded page objects are made locally available to said browser at said cache by said agent; and

wherein said browser does not need to wait for a request and a corresponding response to traverse said long-latency link before an object is available;

wherein said step of selectively pre-fetching further comprises the step of performing said pre-fetch from said agent to a source server; and

wherein a low degree of parallelism is localized between said browser and said agent.

5. The method of claim 4 , wherein said step of selectively pre-fetching further comprises the steps of communicating with a corresponding server, and readying necessary page objects to be available on a platform hosting said browser.

6. The method of claim 4 , wherein said agent further performs the step of assisting said browser in fetching page objects by coordinating fetching of selective embedded page objects; wherein selected embedded page objects are locally available to said browser; and wherein said browser does not need to wait for a request and a corresponding response to traverse a long delay link before an object is available.

7. An apparatus for displaying, with a browser, pages that are comprised of a plurality of page objects, where said page objects must be fetched individually over long-latency links, comprising:

a mechanism that selectively pre-fetches said page objects concurrently; and

a cache that caches said pre-fetched page objects proximate to said browser; wherein sequential access to said page objects is provided in low bandwidth and high delay networks without altering browser behavior; the apparatus further comprising:

said browser in communication with a source server; and a long-latency link between said browser and said source server;

wherein said mechanism that selectively pre-fetches page objects further comprises a mechanism for downloading page objects in parallel from said source server to said browser via said long-latency link;

caches caching said pre-fetched page objects proximate to said browser further comprises a cache into which page objects are selectively downloaded in parallel independently of an implementation of said browser and said source server;

wherein selected embedded page objects are made locally available to said browser at said cache; and

wherein said browser does not need to wait for a request and a corresponding response to traverse said long-latency link before an object is available;

wherein said mechanism that selectively pre-fetches further comprises a mechanism that performs said pre-fetch with a low degree of parallelism wherein said mechanism is localized to a platform hosting the browser.

8. The apparatus of claim 7 , wherein said mechanism that selectively pre-fetches comprises a mechanism for communicating with a corresponding server, and which readies necessary page objects to be available on a platform hosting said browser.

9. A method for displaying, with a browser, pages that are comprised of a plurality of page objects, where said page objects must be fetched individually over long-latency links, said method comprising the steps of:

selectively pre-fetching said page objects concurrently; and

caching said pre-fetched page objects proximate to said browser; wherein sequential access to said page objects is provided in low bandwidth and high delay networks without altering browser behavior;

wherein said browser is in communication with a source server;

wherein a long-latency link is located between said browser and said source server;

wherein said step of selectively pre-fetching said page objects further comprises the step of downloading page objects in parallel from said source server to said browser via said long-latency link;

caching said pre-fetched page objects proximate to said browser further comprises the step of selectively downloading page objects in parallel, independently of an implementation of said browser and said source server;

wherein selected embedded page objects are made locally available to said browser at said cache; and

wherein said browser does not need to wait for a request and a corresponding response to traverse said long-latency link before an object is available;

wherein said step of selectively pre-fetching further comprises the step of performing said pre-fetch to achieve a low degree of parallelism to be localized to a platform hosting the browser.

10. The method of claim 9 , wherein said step of selectively pre-fetching further comprises the steps of communicating with a corresponding server module, and readying necessary page objects to be available on a platform hosting said browser.

11. An apparatus for displaying, with a browser, pages that are comprised of a plurality of page objects, where said page objects must be fetched individually over long-latency links, comprising:

a mechanism that selectively pre-fetches said page objects concurrently and a cache that caches said pre-fetched page objects proximate to said browser;

wherein sequential access to said page objects is provided in low bandwidth and high delay networks without altering browser behavior;

the apparatus further comprising:

a gateway in communication with a source server; and

a long-latency link between said browser and said gateway, wherein said mechanism that selectively pre-fetches page objects further comprises a mechanism for downloading page objects in parallel from said source server to said browser via said long-latency link;

caching said pre-fetched page objects proximate to said browser further comprises a cache into which page objects are selectively downloaded in parallel independently of an implementation of said browser and said source server;

wherein selected embedded page objects are made locally available to said browser at said cache; and

wherein said browser does not need to wait for a request and a corresponding response to traverse said long-latency link before an object is available;

wherein said mechanism that selectively pre-fetches performs said pre-fetch with the help of said gateway server; and

wherein a low degree of parallelism is localized to a platform hosting the browser.

12. The apparatus of claim 11 , wherein said mechanism that selectively pre-fetches further comprises a mechanism that communicates with a corresponding server, and which readies necessary page objects to be available on a platform hosting said browser.

13. The apparatus of claim 11 , wherein said gateway further comprises a mechanism that assists said browser in fetching page objects by coordinating fetching of selective embedded page objects; wherein selected embedded page objects are locally available to said browser; and wherein said browser does not need to wait for a request and a corresponding response to traverse a long delay link before an object is available.

14. A method for displaying, with a browser, pages that are comprised of a plurality of page objects, where said page objects must be fetched individually over long-latency links, said method comprising the steps of:

selectively pre-fetching said page objects concurrently; and

caching said pre-fetched page objects proximate to said browser;

wherein sequential access to said page objects is provided in low bandwidth and high delay networks without altering browser behavior;

wherein a gateway is in communication with a source server;

wherein a long-latency link is located between said browser and said gateway;

wherein said step of selectively pre-fetching said page objects further comprises the step of downloading page objects in parallel from said source server to said browser via said long-latency link;

caching said pre-fetched page objects proximate to said browser further comprises the step of selectively downloading page objects in parallel, independently of an implementation of said browser and said source server;

wherein selected embedded page objects are made locally available to said browser at said cache; and

wherein said browser does not need to wait for a request and a corresponding response to traverse said long-latency link before an object is available;

wherein said step of selectively pre-fetching further comprises the step of performing said pre-fetch with the help of said gateway server; and

wherein a low degree of parallelism is localized to a platform hosting the browser.

15. The method of claim 14 , wherein said step of selectively pre-fetching further comprises the steps of communicating with a corresponding server, and readying necessary page objects to be available on a platform hosting said browser.

16. The method of claim 14 , wherein said gateway further performs the step of assisting said browser in fetching page objects by coordinating fetching of selective embedded page objects; wherein selected embedded page objects are locally available to said browser; and wherein said browser does not need to wait for a request and a corresponding response to traverse a long delay link before an object is available.

Assignments (23)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2025
From: IP3 2024, SERIES 924 OF ALLIED SECURITY TRUST I
To: CYCLOPS TECHNOLOGIES LLC
Reel/Frame 072575/0871 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2025
From: VENTURI WIRELESS, INC.
To: IP3 2024, SERIES 924 OF ALLIED SECURITY TRUST I
Reel/Frame 069956/0719 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE RECEIVING PARTY NAME PREVIOUSLY RECORDED AT REEL: 49385 FRAME: 375. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 20, 2024
From: VENTURI WIRELESS, INC.
To: VENTURI WIRELESS, INC.
Reel/Frame 069746/0670 →
RELEASE OF SECURITY INTEREST Recorded Dec 19, 2024
From: COUNTY OF SANTA CLARA
To: VENTURI WIRELESS, INC.
Reel/Frame 069644/0933 →
RELEASE OF SECURITY INTEREST Recorded Dec 19, 2024
From: DRAWBRIDGE DSO SECURITIES LLC
To: VENTURI IP LLC
Reel/Frame 069644/0629 →
SECURITY INTEREST Recorded Dec 19, 2024
From: VENTURI WIRELESS, INC.
To: COUNTY OF SANTA CLARA
Reel/Frame 069644/0910 →
RELEASE OF SECURITY INTEREST Recorded Dec 19, 2024
From: COUNTY OF SANTA CLARA
To: VENTURI WIRELESS, INC.
Reel/Frame 069644/0925 →
SECURITY INTEREST Recorded Dec 19, 2024
From: VENTURI WIRELESS, INC.
To: COUNTY OF SANTA CLARA
Reel/Frame 069644/0929 →
RELEASE OF SECURITY INTEREST Recorded Dec 18, 2024
From: DRAWBRIDGE DSO SECURITIES LLC
To: VENTURI IP LLC
Reel/Frame 069627/0490 →
AFFIDAVIT FOR CONFIRMATION OF ENTITY NAME Recorded Dec 18, 2024
From: VENTURI WIRELESS
To: VENTURI WIRELESS, INC.
Reel/Frame 069736/0820 →
TRANSFER OF SECURITY INTEREST Recorded Dec 13, 2024
From: DRAWBRIDGE SPECIAL OPPORTUNITIES FUND LP
To: DRAWBRIDGE DSO SECURITIES LLC
Reel/Frame 069648/0507 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: DRAWBRIDGE DSO SECURITIES LLC
To: VENTURI WIRELESS, INC.
Reel/Frame 069583/0118 →
TRANSFER OF SECURITY INTEREST Recorded Dec 13, 2024
From: FORTRESS CREDIT CORP.
To: DRAWBRIDGE SPECIAL OPPORTUNITIES FUND LP
Reel/Frame 069648/0094 →
SECURITY INTEREST Recorded Nov 5, 2024
From: VENTURI WIRELESS, INC.
To: VENTURE LENDING & LEASING IV, INC. AND VENTURE LENDING & LEASING V, INC.
Reel/Frame 069150/0750 →
RELEASE OF SECURITY INTEREST Recorded Nov 5, 2024
From: VENTURE LENDING & LEASING IV, INC. AND VENTURE LENDING & LEASING V, INC.
To: VENTURI WIRELESS, INC.
Reel/Frame 069150/0774 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2019
From: RAMADAS, KRISHNA
To: VENTURI WIRELESS
Reel/Frame 049385/0375 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2018
From: VENTURI IP LLC
To: VENTURI WIRELESS, INC.
Reel/Frame 047344/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2016
From: VENTURI IP LLC
To: GRAN V4, LLC
Reel/Frame 040653/0708 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2016
From: ML TECH, LLC
To: VENTURI IP LLC
Reel/Frame 040653/0717 →
CHANGE OF NAME Recorded Dec 17, 2016
From: GRAN V4, LLC
To: ML TECH, LLC
Reel/Frame 041001/0974 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2013
From: VENTURI WIRELESS, INC.
To: VENTURI IP LLC
Reel/Frame 030001/0894 →
SECURITY AGREEMENT Recorded Mar 14, 2013
From: VENTURI IP LLC
To: FORTRESS CREDIT CORP.
Reel/Frame 030004/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2010
From: RAMADAS, KRISHNA
To: VENTURI WIRELESS, INC.
Reel/Frame 024158/0226 →