Method and system for providing high performance Web browser and server communications
First Claim
1. A method of efficiently processing requests from a client system to a remotely located server system through a communications network, the method comprising the steps of:
- (a) generating a request by a standard browser component included in the client system to be forwarded to the server system, the request containing a standard URL having a resource name field containing a predetermined field coded to specify a session context value for indicating the type of session connection to be initiated by the client system through the communications network for transferring the request to the server system;
(b) maintaining a table structure within a transaction protocol gateway (TPG) component included in the client system located between the browser component and the communications network for storing session connection information for identifying each persistent connection established by the gateway component;
(c) mapping the URL of each input connection request by the gateway component that is received from the browser component to an established persistent session connection when specified by the session context value; and
, (d) the gateway component transferring each request made by the browser component during a session that contains the mapped URL to the server system over the communications network using the established persistent session connection in lieu of opening a new session connection thereby minimizing network traffic.
1 Assignment
0 Petitions
Accused Products
Abstract
A client system utilizes a standard browser component and a transaction protocol gateway (TPG) component that operatively couples to the standard browser component. The browser component initiates the utilization of new session connections and reuse of existing session connections as a function of the coding of the universal resource locators (URLs) contained in each issued request. Each URL is passed to the TPG component that examines a context field included within the URL. If the context field has been set to a first value, the TPG component opens a new session connection to the server system and records the session connection information in a persistent session table (PST) component maintained by the TPG component. If the context field has been set to a second value, then the TPG component obtains the session connection information in the PST component for the established session connection and passes the data from the browser component to the server system over the existing persistent session connection.
-
Citations
55 Claims
-
1. A method of efficiently processing requests from a client system to a remotely located server system through a communications network, the method comprising the steps of:
-
(a) generating a request by a standard browser component included in the client system to be forwarded to the server system, the request containing a standard URL having a resource name field containing a predetermined field coded to specify a session context value for indicating the type of session connection to be initiated by the client system through the communications network for transferring the request to the server system;
(b) maintaining a table structure within a transaction protocol gateway (TPG) component included in the client system located between the browser component and the communications network for storing session connection information for identifying each persistent connection established by the gateway component;
(c) mapping the URL of each input connection request by the gateway component that is received from the browser component to an established persistent session connection when specified by the session context value; and
,(d) the gateway component transferring each request made by the browser component during a session that contains the mapped URL to the server system over the communications network using the established persistent session connection in lieu of opening a new session connection thereby minimizing network traffic. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
(d) generating a base tag value by the facility in response to receiving a URL in a browser request containing a context field specifying the first value for transfer to the browser component; and
,(e) transferring the base tag value including the mapped URL to the browser component for identifying the persistent session connection established by the gateway component.
-
-
4. The method of claim 1 wherein the browser component and gateway component communicate using a stateless common application communications protocol such as the hypertext transfer protocol (HTTP).
-
5. The method of claim 2 wherein for each session context field within the URL resource name field coded to specify the first value, the gateway component generates a unique context key value that uniquely identifies a session entry within the table structure for accessing session connection information pertaining to the particular persistent connection established by the gateway component.
-
6. The method of claim 4 wherein communication between the browser and gateway components using the stateless common application communications protocol is conducted over a non-persistent connection with a standard internet communications protocol.
-
7. The method of claim 6 wherein the standard internet communications protocol is TCP/IP.
-
8. The method of claim 1 further including the steps of:
-
(f) the browser component generating a close session request containing a URL whose resource name field is coded for closing the persistent session connection for transmission to the server system; and
,(g) in response to the close session request, the gateway component accessing the table structure and removing the persistent connection information for the connection identified by the URL predetermined field thereby making the location available for establishing other persistent session connections.
-
-
9. The method of claim 8 wherein the browser component generates the close session request in response to a user HTML page selection.
-
10. The method of claim 8 wherein the browser component generates the close session request in response to a browser user entering a URL whose resource name field specifies a session closure.
-
11. The method of claim 9 wherein the selection designates a logoff request.
-
12. The method of claim 10 wherein the resource name field of the URL further contains a command field coded to specify a logoff request.
-
13. The method of claim 8 wherein the method further includes the steps of:
-
(h) the gateway component transferring the browser close session request containing the coded URL command field specifying the logoff request to the server system; and
,(i) in response the request, the server system closing the session connection and sending a response to the browser component confirming that the session has been closed.
-
-
14. The method of claim 13 wherein the method further includes the steps of:
the gateway component transferring the server response to the browser component for indicating to the user that the session has been closed.
-
15. The method of claim 2 wherein the method further includes the steps of:
(k) for each session context field within the URL resource field coded for specifying a new session connection to be established, the gateway component generating for inclusion in the session context field, a unique context key value containing a number of parts, a first part containing a time of day value for uniquely identifying a session entry within the table structure, a second part containing a token value for accessing the session connection information entry within the table structure pertaining to a session connection established by the gateway component and a third portion containing an optional server application specific value for use in invalidating out of date links when selected by a browser user.
-
16. The method of claim 3 wherein the server system further includes a number of transaction processing application programs (TPRs) for processing browser user requests and wherein the resource name field further includes another part containing an application command value coded for identifying a particular one of the TPRs that is to process the browser request.
-
17. The method of claim 16 wherein the number of TPRs of the server system include a logon TPR, a number of processing TPRs and a logoff TPR.
-
18. The method of claim 17 wherein the server system further includes an API library for storing a number of runtime routines to be used in processing HTTP requests generated by the browser component, one of the runtime routines for generating a BASE value for use by the browser component and wherein each TPR includes a call for accessing the one runtime routine for generating a response to the browser HTTP request.
-
19. The method of claim 1 wherein the client system further includes a service component for converting first type of communications protocol calls into internet communications protocol calls for enabling the first type of communications protocol to run over the internet communications protocol, the service component being operatively coupled to the gateway component and wherein the URL resource name field further contains a protocol field coded to specify the communications protocol to be used in transmitting the request, the method further including the steps of:
-
(1) including in the gateway component a number of different session class facilities, each of the class facilities for generating a communications session connection that implements a different type of communications protocol;
(m) the gateway component invoking a particular one of the communications class facilities in accordance with the coding of the URL resource name protocol field; and
,(n) the browser selected communications class facility invoking the service component for establishing the persistent connection that implements the browser user specified communications protocol.
-
-
20. The method of claim 19 wherein the first type of communications protocol includes a number of different proprietary communications protocols.
-
21. The method of claim 20 wherein the number of different proprietary communications protocols include DSA and SNA protocols.
-
22. The method of claim 19 wherein step (m) further includes the step of:
(o) the gateway component in response each browser request containing a protocol field coded to specify an internet communications protocol invokes one of the class facilities that directly establishes the persistent connection for implementing the specified internet communications protocol thereby eliminating execution of step (n).
-
23. The method of claim 1 wherein step (a) further includes the steps of:
-
including an options field in the URL for specifying different types of user selected persistent connections; and
,the gateway component as a function of the setting of the option field establishing the type of persistent connection specified by the browser user.
-
-
24. The method of claim 23 wherein the different types of persistent connections includes a pool type of connection wherein the browser user can enable use of a session connection from a pre-established, predetermined number of session connections per server system and a multiplex type of connection wherein the browser user can enable use of a session that can be multiplexed over persistent session connections.
-
25. The method of claim 1 wherein the method further includes the steps of:
-
(p) including in the client system, a remote forms cache operatively coupled to the gateway component for storing HTML pages cached by the gateway component, the HTML pages containing static HTML data representative of a number of forms;
(q) in response to each browser request, the gateway component generating an additional HTTP line for adding to the browser request for informing the server system that the client system is capable of handling forms;
(r) when a form is required as part of the response to the browser request, generating a predetermined type of HTTP response by the server system that indicates the particular form being requested, followed by form variable data;
(s) the gateway component upon receiving the server system response searches the cache for the particular form; and
,(t) when the form is found, the gateway component merges the form with the form variable data.
-
-
26. The method of claim 25 wherein step (t) further includes the steps of:
-
1. when the particular form is not found, the gateway component establishes a new session connection to the server system;
2. generates a predetermined HTTP request specifying the particular form; and
,3. upon receipt of the requested form from the server system, stores the form in the cache and executes step (t).
-
-
27. The method of claim 25 wherein a form is deemed found if the name of the form matches a cache directory entry of the cache and if the version specified in the directory entry matches the form version.
-
28. The method of claim 25 wherein the additional HTTP line is Accept:
- text/tpgform wherein tpg is used to identify the gateway component.
-
29. A client system for efficiently processing requests from the client system to a remotely located server system through a communications network, the client system comprising:
-
(a) a standard browser component for generating a request to be forwarded to the server system, the request containing a standard URL having a resource name field that includes a predetermined field coded to specify a session context value for indicating the type of session connection to be initiated by the client system through the communications network for transferring the request to the server system; and
,(b) a gateway component located between the browser component and the communications network, the gateway component for managing and establishing persistent session connections in response to browser requests, the gateway component comprising;
(1) a table structure for storing session connection information for identifying each established persistent connection made by the client system;
(2) a component for mapping the standard URL of each input connection request by the gateway component to an established persistent session connection using the table structure when specified by the session context value; and
,(3) a component for causing the transfer each request made by the browser component during a session that contains the mapped URL to the server system over the communications network using the established persistent session connection in lieu of opening a new session connection thereby minimizing network traffic. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)
(1) a facility for generating base tag value in response to receiving a URL resource name field in a browser request containing a context field specifying the first value, for transfer to the browser component; and
,(2) means for transferring the base tag value including the mapped URL to the browser component for identifying the persistent session connection established by the gateway component.
-
-
32. The client system of claim 29 wherein the browser component and gateway component communicate using a stateless common application communications protocol such as the hypertext transfer protocol (HTTP).
-
33. The system of claim 30 wherein for each session context field within the URL resource name field coded to specify the first value, the gateway component generates a unique context key value that uniquely identifies a session entry within the table structure for accessing session connection information pertaining to the particular persistent connection established by the gateway component.
-
34. The system of claim 29 wherein the browser component generates a close session request containing a URL whose resource name field is coded for closing the persistent session connection for transmission to the server system and in response to the close session request, the gateway component accesses the table structure and removes the persistent connection information for the connection identified by the URL predetermined field thereby making the location available for establishing other persistent session connections.
-
35. The system of claim 34 wherein the browser component generates the close session request in response to a user HTML page selection.
-
36. The system of claim 34 wherein the browser component generates the close session request in response to a user entering a URL whose resource name field is coded for specifying session closure.
-
37. The system of claim 34 wherein the gateway component transfers the browser close session request containing the coded URL resource name field to the server system;
- and, in response the request, the server system closes the session connection and sends a response to the browser component confirming that the session has been closed.
-
38. The system of claim 37 wherein the gateway component transfers the server response to the browser component for indicating to the user that the session has been closed.
-
39. The system of claim 30 wherein for each session context field coded for specifying a new session connection is to be established, the gateway component generates for inclusion in the session context field, a unique context key value containing a number of parts, a first part containing a time of day value for uniquely identifying a session entry within the table structure, a second part containing a token value for accessing session connection information entry within the table structure pertaining to a session connection established by the gateway component and a third portion containing an optional server application specific value for use in invalidating out of date links when selected by a browser user.
-
40. The system of claim 31 wherein the server system further includes a number of transaction processing application programs (TPRs) for processing browser user requests and wherein the resource name field further contains another part containing an application command value identifying a particular one of the TPRs that is to process the browser request.
-
41. The system of claim 40 wherein the number of TPRs of the server system include a logon TPR, a number of processing TPRs and a logoff TPR.
-
42. The system of claim 41 wherein the server system further includes an API library for storing a number of runtime routines to be used in processing HTTP browser requests, one of the runtime routines for generating a BASE value for use by the browser component and wherein each TPR includes a call for accessing the one runtime routine for generating a response to the browser HTTP request.
-
43. The system of claim 29 wherein the client system further includes a service component for converting first type of communications protocol calls into internet communications protocol calls for enabling the first type of communications protocol to run over the internet communications protocol, the service component being operatively coupled to the gateway component and wherein the URL resource name field further contains a protocol field coded to specify the communications protocol to be used in transmitting the request to the server system and the gateway component further including:
a number of different session class facilities, each class facility for generating a communications session connection that implements a different type of communications protocol, the gateway component invoking a particular one of the communications class facilities in accordance with the coding of the URL protocol field; and
, browser selected communications class facility invoking the service component for establishing the persistent connection that implements the browser user specified communications protocol.
-
44. The system of claim 43 wherein the first type of communications protocol includes a number of different proprietary communications protocols.
-
45. The system of claim 44 wherein the number of different proprietary communications protocols includes DSA and SNA protocols.
-
46. The system of claim 43 wherein the gateway component in response to each browser request containing a URL resource name field having a protocol field coded to specify an internet communications protocol invokes one of the class facilities that directly establishes the persistent connection for implementing the specified internet communications protocol thereby eliminating execution of step (n).
-
47. The system of claim 29 wherein an options field is included in the URL resource name field for specifying different types of user selected persistent connections;
- and,
the gateway component as a function of the setting of the options field establishing the type of persistent connection specified by the browser user.
- and,
-
48. The system of claim 47 wherein the different types of persistent connections includes a pool type of connection wherein the browser user can enable use of a session connection from a pre-established predetermined number of session connections per server system and a multiplex type of connection wherein the browser user can enable use of a session that can be multiplexed over persistent session connections.
-
49. The system of claim 29 wherein the client system further includes a remote forms cache operatively coupled to the gateway component for storing HTML pages cached by the gateway component, the HTML pages containing static HTML data representative of a number of forms, the gateway component in response to each request generating an additional HTTP line for adding to the browser request for informing the server system that the client system is capable of handling forms and when a form is required as part of the response to the browser request, the server generates a predetermined type of HTTP response by the server system that indicates the particular form being requested, followed by form variable data.
-
50. The system of claim 49 wherein the gateway component upon receiving the server system response searches the cache for the particular form and when the form is found, the gateway component merges the form with the form variable data.
-
51. The system of claim 50 wherein when the particular form is not found, the gateway component establishes a new session connection to the server system, generates a predetermined HTTP request specifying the particular form and upon receipt of the requested form from the server system, stores the form in the cache and continues as if the form had been found.
-
52. The system of claim 50 wherein a form is deemed found if the name of the form matches a cache directory entry of the cache and if the version specified in the directory entry matches the form version.
-
53. The system of claim 50 wherein the additional HTTP line is Accept:
- text/tpgform wherein tpg is used to identify the gateway component.
-
54. A program product for efficiently processing requests from a client system to a remotely located server system through a communications network, the program product comprising:
-
a gateway program component program containing instructions for;
generating a request by a standard browser component included in the client system to be forwarded to the server system, the request containing a standard URL having a resource name field containing a predetermined field coded to specify a session context value for indicating the type of session connection to be initiated through the communications network for transferring the request;
maintaining a table structure within a transaction protocol gateway (TPG) component included in the client system and located between the browser component and the communications network for storing session connection information for identifying each persistent connection established by the gateway component;
mapping the URL of each input connection request received from the browser component to an established persistent session connection when specified by the session context value; and
,transferring each request made by the browser component during a session that contains the mapped URL to the server system over the communications network using the established persistent session connection in lieu of opening a new session connection thereby minimizing network traffic. - View Dependent Claims (55)
a service component containing instructions for converting a first type of communications protocol calls into internet communications protocol calls for enabling the first type of communications protocol used for establishing a persistent session connection to run over the internet communications protocol utilized by the browser component.
-
Specification