Performance enhancing proxy for high latency data links
First Claim
1. A method for managing a data transmission between an origin server and a client, the method comprising:
- receiving, at a client performance enhancing proxy (PEP), a request for a data page, wherein the request is generated by the client;
receiving, at the client PEP, an index page generated according to the origin server, wherein the index page identifies a plurality of data objects contained in the requested data page;
receiving, at the client PEP, a list of data objects that are subject to a prefetch from the origin server;
providing the index page to the client;
receiving, at the client PEP, a fetch request generated by the client, wherein the fetch request is configured to request a first of the plurality of data objects identified by the index page;
blocking, at the client PEP, the fetch request so that the fetch request is not provided to the origin server;
receiving, at the client PEP, the first of the plurality of data objects, wherein the first of the plurality of data objects is being provided according to the prefetch; and
providing the received data object to the client;
wherein the received data object at least partially fills the fetch request generated by the client.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method for reducing the impact of high latency links for interactive applications is described. In one embodiment, a user, connected to the Internet by a satellite network, requests a web page from an origin server. The origin server generates an index page associated with the requested web page and passes that index page to an gateway PEP (performance enhancing proxy), which parses the index page to identify the objects identified therein. Next, the gateway PEP generates the requests to prefetch those identified objects and passes those requests to the origin server. These objects are then retrieved and pushed to the user. To avoid repetitive requests, the fetch requests normally generated by a web browser are blocked by a client PEP.
17 Citations
36 Claims
-
1. A method for managing a data transmission between an origin server and a client, the method comprising:
-
receiving, at a client performance enhancing proxy (PEP), a request for a data page, wherein the request is generated by the client;
receiving, at the client PEP, an index page generated according to the origin server, wherein the index page identifies a plurality of data objects contained in the requested data page;
receiving, at the client PEP, a list of data objects that are subject to a prefetch from the origin server;
providing the index page to the client;
receiving, at the client PEP, a fetch request generated by the client, wherein the fetch request is configured to request a first of the plurality of data objects identified by the index page;
blocking, at the client PEP, the fetch request so that the fetch request is not provided to the origin server;
receiving, at the client PEP, the first of the plurality of data objects, wherein the first of the plurality of data objects is being provided according to the prefetch; and
providing the received data object to the client;
wherein the received data object at least partially fills the fetch request generated by the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for managing a data transmission between an origin server and a client, the method comprising:
-
receiving an index page identifying a plurality of data objects contained in a data page;
receiving a list of data objects identifying a first data object included in the plurality of data objects, the first data object subject to a prefetch through the origin server;
receiving a fetch request generated by the client, wherein the fetch request is configured to request the first of the plurality of data objects; and
blocking the fetch request such that the fetch request is not provided to the origin server. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A system method for managing a data transmission, the system comprising:
-
a satellite modem configured to transfer information between an origin server and a client; and
a client-side PEP coupled to the satellite modem, the client side PEP configured to intercept a data page fetch request generated by the client and to block the data page fetch request, thereby preventing the data page fetch request from being sent between the client and the origin server. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A system for managing a data transmission between an origin server and a client, the system comprising:
-
at least a first processor device;
at least a first memory device coupled to the at least a first processor device;
a plurality of instructions stored on the at least a first memory device, the plurality of instructions configured to cause the at least a first processor to;
process a request for a data page, wherein the request is generated by the client;
process an index page generated according to the origin server, wherein the index page identifies a plurality of data objects contained in the requested data page;
process a list of data objects that are subject to a prefetch through the origin server;
provide the index page to the client;
process a fetch request generated by the client, wherein the fetch request is configured to request a first of the plurality of data objects identified by the index page;
block the fetch request such that the fetch request is not provided to the origin server;
process the first of the plurality of data objects identified by the index page, wherein the first of the plurality of data objects is being provided by the origin server according to the prefetch; and
provide the received data object to the client. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35)
-
-
36. A system for managing a data transmission between an origin server and a client, the system comprising:
-
means for receiving an index page identifying a plurality of data objects contained in a data page;
means for receiving a list of data objects identifying a first data object included in the plurality of data objects, the first data object subject to a prefetch through the origin server;
means for receiving a fetch request generated by the client, wherein the fetch request is configured to request the first of the plurality of data objects; and
means for blocking the fetch request such that the fetch request is not provided to the origin server.
-
Specification