Methods and apparatus to increase the efficiency of simultaneous web object fetching over long-latency links
First Claim
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.
8 Assignments
0 Petitions
Accused Products
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.
4 Citations
16 Claims
-
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. - View Dependent Claims (2, 3)
-
-
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. - View Dependent Claims (5, 6)
-
-
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. - View Dependent Claims (8)
-
-
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. - View Dependent Claims (10)
-
-
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. - View Dependent Claims (12, 13)
-
-
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. - View Dependent Claims (15, 16)
-
Specification