Electrical computers and digital processing systems: multicomput – Miscellaneous
Reexamination Certificate
1997-12-23
2001-01-23
Rinehart, Mark H. (Department: 2756)
Electrical computers and digital processing systems: multicomput
Miscellaneous
C709S204000, C709S210000, C709S219000, C709S224000, C709S227000, C709S203000
Reexamination Certificate
active
06178439
ABSTRACT:
FIELD OF THE INVENTION
This invention relates to network communications such as occur over the Internet, and more particularly relates to session control for HTTP communications over the Internet.
BACKGROUND OF THE INVENTION
The Internet is a distributed network comprising a collection of servers to which remote clients communicate. The World Wide Web is a name for the collection of servers available on the Internet. The Web thus forms a communication pathway between a client and any of the servers available on the Internet.
Clients on the World Wide Web are usually Web browsers. These are programs that make requests to servers on the Internet and then process and display pages returned by the server. The World Wide Web server, in turn, is a program that handles requests from the browsers and serves up documents to the requesting browsers. These documents are usually in the hypertext markup language (HTML) which is a language universally recognized on the World Wide Web by the browsers and servers. In order to read the Web pages being returned by a server, a browser may execute a scripting language to display the returned page.
Popular scripting languages are the so-called javascript and the visual basic script. The hypertext markup language (HTML) is a command format used to inform the browser how to display a returned page. It may also specify behind the scenes information, such as alternate graphics or scripting languages. In communicating the Web pages between the server and the browser, the communication protocol employed is the so-called hypertext transfer protocol (HTTP). This is the communication protocol used by the World Wide Web to coordinate communication between a Web server and a Web browser.
Ordinarily, a Web browser will request and receive “static” World Wide Web pages from Web servers. Static pages are characterized in that the page data is pre-written and fixed. Occasionally, however, a Web server will run programs to deliver dynamic content to a browser. For example, when a server communicates with a database of information, which database can be accessed and altered by a user through a browser, the server can deliver Web pages containing the database information in an as-current condition. That is, when a user contacts the Web server through a browser to access and alter a database entry, another browser later accessing that server will retrieve the modified database information. A mechanism that allows a Web server to run a program in order to deliver dynamic content is called a common gateway interface.
Currently, every server on the Web includes an access log. This log is a file that contains details of every access made to the Web server by browsers on the Internet. Details included on this log include the date of access, the time of access, the requestor's computer identification (address), the information requested, how much information was sent to the user, and possibly the status of the transfer. Further, every browser (client) on the Web includes a cache memory which retains a certain number of retrieved Web pages so these pages do not have to be re-loaded from a server over the Internet in order to be quickly retrieved by the user.
The amount of time that two computers (for example, a server and a browser) are connected together is referred to as a “session.” In general terms, a session usually last from the time a client begins communicating with the server until the time it exits the communication. On the web, however, a session is defined slightly different. In some non-Internet client/server data transfers, the client and server establish a connection between themselves during which the client may request information from the server and the server provides the information to the client. In such cases, a “session” between the client and server occurs from the time connection is implemented between the client and server until the client or server exits the session. During the session, any number of data transfers and data requests can occur between the client and the server. On the Web, however, the limitations of the hypertext transfer protocol and the World Wide Web structure cause clients and servers on the Web to adhere to a non-standard concept of a “session.” On the Web, a session will consist only of the time that a page (whether a data file, image file, etc.) is requested and downloaded to a user (browser). Each session between a Web client and a Web server thus amounts to one request from the client to the server for a page and one page transfer from the server to the client. Session information recorded in the log of the server will thus identify the date of the page request, the time of the page request, the computer making the page request, file information identifying the page requested, the number of bytes sent to the requesting computer to deliver the page, and possibly the status of the transfer.
The Internet is thus not like the classic case of one client computer connecting to another server computer to access, for example, a database. In the classic case, the client user will examine a database record while remaining connected to the server. In such a case, the server can record the duration of the database access by the client. These records can be used for statistical analysis regarding how much time users spend viewing the records since the sessions are defined by the time duration from connection to exit to and from the database. It may also “lock” the database record, preventing others from accessing it until this client is done.
The same is not true for the Internet connections since a session is not defined by the total connection time between a client and a server, but rather by a single page request and a single page delivery. In the Internet case, there is no way for the server to know when the user has finished using a particular record nor of how long the user viewed a particular record. Prior methods tried to address this by using manual mechanisms to inform the server when a user was finished with a record, but such systems were client-dependent and could not be implemented on the server alone. Thus, when it was important for a server to know exactly when a user was finished with a record or to know exactly how long a user viewed a record, the present Web structure did not provide an effective solution.
An example of how this problem surfaces in the Internet environment occurs when two users attempt to access information in a database via the Web. Suppose for example that user A requests information from a product inventory for a particular product X located at a warehouse. The warehouse employs a server on the Web to deliver information to users regarding the amount of inventory of the various products. Suppose also that 200 units of product X are presently available in the warehouse when user A requests the inventory information. The warehouse server upon the request from user A for a page identifying the inventory of product X will look to its database, pull off the inventory quantity “200” and deliver the page identifying this quantity to the user A. Assume then that another user, user B, requests the same inventory information for product X. The warehouse server would receive the page request from user B, look to its database, see a product X quantity of 200, and deliver a page identifying product X inventory as “200” available units. A problem then occurs when user A tells the warehouse server in another page request that it is ordering 150 units from the 200 available. The warehouse server would write the 150 unit reduction into its database in response to the order from user A. Then, user B attempts to request 100 units from warehouse server by sending a order request to the warehouse server. The warehouse server has created a problem by accepting orders for 250 units when it has only 200 available.
In the above example, it is important that the warehouse server not deliver the page to user B in response to user B's page request until the server knows that user A is finished with the same page
British Telecommunications public limited company
Nixon & Vanderhye P.C.
Rinehart Mark H.
Romero Almari
LandOfFree
HTTP session control does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with HTTP session control, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and HTTP session control will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2517684