Web applications interface system in a mobile-based client-server system
First Claim
1. A method for transmitting information between an application residing on a client station and a server, comprising the steps of:
- transmitting upstream messages from the application to a proxy residing on the client station, the upsteam messages containing an immediate information request;
packing the upstream messages from the application to a proxy residing on the client station;
transmitting the packed upstream messages from the proxy to a message handler residing on the client station;
transmitting downstream messages that are packed in the selected communication transmission format from the client station message handler to the proxy, the downstream messages containing information responsive to the immediate information request and prefetched information not directly responsive to the immediate information request, and said prefetched information responsive to an anticipated future information request;
unpacking the downstream messages at the proxy;
transmitting the unpacked downstream messages from the proxy to the application; and
periodically transmitting a request message to said server to determine if a client version of a set of information stored in a memory cache at the client station is different from a server version of the set of information at the server as a result of a change to the set of information since the set of information was last transmitted to the client station, wherein the set of information is validly maintained in the memory cache at the client station if the set of information is identified as being changed and the client version of the set of information is used to respond to an information request, and wherein the set of information in the memory cache is invalidated if the set of information is identified as being changed and the client version of the set of information is not used to respond to the information request.
1 Assignment
0 Petitions
Accused Products
Abstract
A mobile-based client-server system architecture incorporates two specialized software layers—a specialized “proxy” layer that resides on a mobile client station, and a “web agent” layer that resides on a server. A conventional web browser application residing on a mobile client station is configured to point to the proxy layer, which captures HTTP information request messages that are transmitted to, and received from, the web browser. The HTTP request messages are packed by the proxy layer within a selected communication transmission format for upstream transmission over a communication network, such as a wireless network. At the server, the web agent layer recovers the original, (i.e., “raw”) HTTP request messages, which are then sent to an appropriate web server for further processing. Responsive HTTP messages transmitted from a respective web server are captured by the web agent layer, which packs the responsive messages within the selected communication transmission format for transmission to the client station. At the client station, the proxy layer recovers the raw HTTP response messages, which are then forwarded to the web browser for processing. The respective proxy and web agent layers preferably employ respective memory caches and have intelligent filtering capabilities, thereby reducing redundant or otherwise unwanted message transmission.
166 Citations
39 Claims
-
1. A method for transmitting information between an application residing on a client station and a server, comprising the steps of:
-
transmitting upstream messages from the application to a proxy residing on the client station, the upsteam messages containing an immediate information request;
packing the upstream messages from the application to a proxy residing on the client station;
transmitting the packed upstream messages from the proxy to a message handler residing on the client station;
transmitting downstream messages that are packed in the selected communication transmission format from the client station message handler to the proxy, the downstream messages containing information responsive to the immediate information request and prefetched information not directly responsive to the immediate information request, and said prefetched information responsive to an anticipated future information request;
unpacking the downstream messages at the proxy;
transmitting the unpacked downstream messages from the proxy to the application; and
periodically transmitting a request message to said server to determine if a client version of a set of information stored in a memory cache at the client station is different from a server version of the set of information at the server as a result of a change to the set of information since the set of information was last transmitted to the client station, wherein the set of information is validly maintained in the memory cache at the client station if the set of information is identified as being changed and the client version of the set of information is used to respond to an information request, and wherein the set of information in the memory cache is invalidated if the set of information is identified as being changed and the client version of the set of information is not used to respond to the information request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
evaluating the upstream messages at the proxy to determine whether information requested therein is already present in said memory cache at the client station;
transmitting information stored in the memory cache to the application if it is responsive to a request contained in an upstream message; and
packing only those upstream messages containing requests for information not stored in the memory cache into the selected communication transmission format.
-
-
3. The method of claim 2, comprising the further step of:
storing information contained in at least some of the downstream messages in the memory cache.
-
4. The method of claim 1, comprising the further steps of:
-
transmitting the packed messages from the client station message handler to a message handler associated with the server via a selected communication network;
transmitting the packed messages from the server message handler to an agent associated with the server;
unpacking the incoming messages at the agent; and
transmitting the unpacked messages from the agent to the server.
-
-
5. The method of claim 4, comprising the further step of:
evaluating the upstream messages at the agent to determine whether they contain a conditional request for information.
-
6. The method of claim 5, comprising the further step of:
dropping messages containing requests for information already transmitted from the server to the client station.
-
7. The method of claim 4, comprising the further steps of:
-
transmitting downstream messages from the server to the agent;
packing the downstream messages at the agent into the selected communication transmission format;
transmitting the packed downstream messages from the agent to the server message handler; and
transmitting the packed downstream messages from the server message handler to the client station message handler.
-
-
8. The method of claim 7, comprising the further step of:
evaluating messages at the agent to determine the type and quantity of information being transmitted from the server to the client station.
-
9. The method of claim 8, comprising the further step of:
bundling a selected quantity of stored downstream messages at the agent for collective transmission from the agent to the server message handler.
-
10. The method of claim 1, further comprising the step of:
responding to said immediate information request by transmitting a placeholder in lieu of a requested information item.
-
11. The method of claim 1 in which the set of information in the memory cache is replaced with the server version of the set of information if a determination is made that the set of information has changed since last being transmitted to the client station.
-
12. The method of claim 1 in which the server version of the set of information is transmitted to the memory cache if a determination is made that the set of information has changed since last being transmitted to the client station.
-
13. The method of claim 1 in which the prefetched information responsive to an anticipated future information request is used to complete a displayed web page.
-
14. A computer readable medium having executable code to execute a process for transmitting information between an application residing on a client station and a server, the process comprising the steps of:
-
transmitting upstream messages from the application to a proxy residing on the client station, the upsteam messages containing an immediate information request;
packing the upstream messages from the application to a proxy residing on the client station;
transmitting the packed upstream messages from the proxy to a message handler residing on the client station;
transmitting downstream messages that are packed in the selected communication transmission format from the client station message handler to the proxy, the downstream messages containing information responsive to the immediate information request and prefetched information not directly responsive to the immediate information request, and said prefetched information responsive to an anticipated future information request;
unpacking the downstream messages at the proxy;
transmitting the unpacked downstream messages from the proxy to the application; and
periodically transmitting a request message to said server to determine if a client version of a set of information stored in a memory cache at the client station is different from a server version of the set of information at the server as a result of a change to the set of information since the set of information was last transmitted to the client station, wherein the set of information is validly maintained in the memory cache at the client station if the set of information is identified as being changed and the client version of the set of information is used to respond to an information request, and wherein the set of information in the memory cache is invalidated if the set of information is identified as being changed and the client version of the set of information is not used to respond to the information request. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
evaluating the upstream messages at the proxy to determine whether information requested therein is already present in said memory cache at the client station;
transmitting information stored in the memory cache to the application if it is responsive to a request contained in an upstream message; and
packing only those upstream messages containing requests for information not stored in the memory cache into the selected communication transmission format.
-
-
16. The computer readable medium of claim 15, comprising the further step of:
storing information contained in at least some of the downstream messages in the memory cache.
-
17. The computer readable medium of claim 14, comprising the further steps of:
-
transmitting the packed messages from the client station message handler to a message handler associated with the server via a selected communication network;
transmitting the packed messages from the server message handler to an agent associated with the server;
unpacking the incoming messages at the agent; and
transmitting the unpacked messages from the agent to the server.
-
-
18. The computer readable medium of claim 17, comprising the further step of:
evaluating the upstream messages at the agent to determine whether they contain a conditional request for information.
-
19. The computer readable medium of claim 18, comprising the further step of:
dropping messages containing requests for information already transmitted from the server to the client station.
-
20. The computer readable medium of claim 17, comprising the further steps of:
-
transmitting downstream messages from the server to the agent;
packing the downstream messages at the agent into the selected communication transmission format;
transmitting the packed downstream messages from the agent to the server message handler; and
transmitting the packed downstream messages from the server message handler to the client station message handler.
-
-
21. The computer readable medium of claim 20, comprising the further step of:
evaluating messages at the agent to determine the type and quantity of information being transmitted from the server to the client station.
-
22. The computer readable medium of claim 21, comprising the further step of:
bundling a selected quantity of stored downstream messages at the agent for collective transmission from the agent to the server message handler.
-
23. The computer readable medium of claim 14, further comprising the step of:
- responding to said immediate information request by transmitting a placeholder in lieu of a requested information item.
-
24. The computer readable medium of claim 14 in which the set of information in the memory cache is replaced with the server version of the set of information if a determination is made that the set of information has changed since last being transmitted to the client station.
-
25. The computer readable medium of claim 14 in which the server version of the set of information is transmitted to the memory cache if a determination is made that the set of information has changed since last being transmitted to the client station.
-
26. The computer readable medium of claim 14 in which the prefetched information responsive to an anticipated future information request is used to complete a displayed web page.
-
27. A system for transmitting information between an application residing on a client station and a server, comprising:
-
means for transmitting upstream messages from the application to a proxy residing on the client station, the upsteam messages containing an immediate information request;
means for packing the upstream messages from the application to a proxy residing on the client station;
means for transmitting the packed upstream messages from the proxy to a message handler residing on the client station;
means for transmitting downstream messages that are packed in the selected communication transmission format from the client station message handler to the proxy, the downstream messages containing information responsive to the immediate information request and pre-fetched information not directly responsive to the immediate information request, and said pre-fetched information responsive to an anticipated future information request;
means for unpacking the downstream messages at the proxy;
transmitting the unpacked downstream messages from the proxy to the application; and
means for periodically transmitting a request message to said server to determine if a client version of a set of information stored in a memory cache at the client station is different from a server version of the set of information at the server as a result of a change to the set of information since the set of information was last transmitted to the client station, wherein the set of information is validly maintained in the memory cache at the client station if the set of information is identified as being changed and the client version of the set of information is used to respond to an information request, and wherein the set of information in the memory cache is invalidated if the set of information is identified as being changed and the client version of the set of information is not used to respond to the information request. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
means for evaluating the upstream messages at the proxy to determine whether information requested therein is already present in said memory cache at the client station;
means for transmitting information stored in the memory cache to the application if it is responsive to a request contained in an upstream message; and
means for packing only those upstream messages containing requests for information not stored in the memory cache into the selected communication transmission format.
-
-
29. The system of claim 28, further comprising:
means for storing information contained in at least some of the downstream messages in the memory cache.
-
30. The system of claim 27, further comprising:
-
means for transmitting the packed messages from the client station message handler to a message handler associated with the server via a selected communication network;
means for transmitting the packed messages from the server message handler to an agent associated with the server;
means for unpacking the incoming messages at the agent; and
means for transmitting the unpacked messages from the agent to the server.
-
-
31. The system of claim 30, further comprising:
means for evaluating the upstream messages at the agent to determine whether they contain a conditional request for information.
-
32. The system of claim 31, further comprising:
means for dropping messages containing requests for information already transmitted from the server to the client station.
-
33. The system of claim 30, further comprising:
-
means for transmitting downstream messages from the server to the agent;
means for packing the downstream messages at the agent into the selected communication transmission format;
means for transmitting the packed downstream messages from the agent to the server message handler; and
means for transmitting the packed downstream messages from the server message handler to the client station message handler.
-
-
34. The system of claim 33, further comprising:
means for evaluating messages at the agent to determine the type and quantity of information being transmitted from the server to the client station.
-
35. The system of claim 34, further comprising:
means for bundling a selected quantity of stored downstream messages at the agent for collective transmission from the agent to the server message handler.
-
36. The system of claim 27, further comprising:
means for responding to said immediate information request by transmitting a placeholder in lieu of a requested information item.
-
37. The system of claim 27 in which the set of information in the memory cache is replaced with the server version of the set of information if a determination is made that the set of information has changed since last being transmitted to the client station.
-
38. The system of claim 27 in which the server version of the set of information is transmitted to the memory cache if a determination is made that the set of information has changed since last being transmitted to the client station.
-
39. The system of claim 27 in which the prefetched information responsive to an anticipated future information request is used to complete a displayed web page.
Specification