Web server mechanism for processing multiple transactions in...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000

Reexamination Certificate

active

06237005

ABSTRACT:

FIELD OF THE INVENTION
This invention relates generally to network servers, such as web servers on the Internet. More specifically, this invention relates to a mechanism for transactions in an interpreted language execution environment.
BACKGROUND OF THE INVENTION
The widespread proliferation of computers over the past decade has prompted the development of computer networks that allow computers to communicate with each other. With the introduction of the personal computer (PC), computing became accessible to large numbers of people. Networks for personal computers were developed that allow individual users to communicate with each other.
One significant computer network that has recently become popular is the Internet. The Internet grew out of this proliferation of computers and networks, and has evolved into a sophisticated worldwide network of computer systems. The Internet has been applied to enable a user, seeking information on this worldwide network, to switch from server to server and database to database; this application of the Internet is sometimes referred to as the worldwide web (WWW).
A user at an individual PC (i.e., workstation) that wishes to access the Internet typically does so using a software application known as a web browser that is loaded onto the workstation. A web browser makes a connection via the Internet to other computers known as web servers, and receives information from the web servers that is displayed on the user's workstation.
The Internet also enables geographically distant users to collaborate on an item of interest. For example, a project team may need to keep track of project status and individual progress, people with a common interest (e.g., film enthusiasts) may want to share and discuss their views on that topic, a customer support group may need a system to provide on-line answers to real-world customer problems, or several authors may wish to work on a document together. Today, several computer applications facilitate such collaboration.
In an Internet-based collaboration environment, the web browser submits requests to the web server whenever the user desires to obtain information from the web server. If the request involves transferring a file, for example, then the web server sends the file to the web browser. If the request requires running application programs on the web server that involve transaction processing, for example, then the web server invokes the application program necessary to complete the transaction and the application program responds by processing the transaction request. Transaction processing is a type of computer processing in which the computer responds immediately to user requests; each request is considered to be a transaction. The opposite of transaction processing is batch processing, in which a number of requests are stored and then executed all at one time. Transaction processing requires interaction with a user, whereas batch processing can take place without user involvement during processing.
When the application program invoked involves transaction processing, the web server invokes a dispatcher program, which is an application program that accepts the transaction, processes it, and returns a result to the user. In particular, the dispatcher analyzes the transaction request, loads the appropriate application program(s), executes the code of the application program(s), and ultimately generates a response that is transmitted back to the web browser for presentation. The dispatcher program is based, for example, on an interpreted programming language, that requires the availability of an interpreter for its execution.
An interpreter refers to a space in memory containing an interpreted language execution environment. An interpreted language execution environment contains the appropriate context that allows the interpreted language execution environment to process transactions. The context of the interpreted language execution environment, for example, includes variables, procedures of instructions, libraries, etc. Much of the execution performed when processing transactions entails executing high level commands that manipulate data contained in the transaction request message as well as utilities (e.g. databases) and application program procedures necessary to complete the transaction.
In known systems, for every transaction request received involving the execution of an application program, the dispatcher program performs the following: The dispatcher goes through an initialization and configuration procedure to establish an interpreted language execution environment (such as that formed to support commercially available interpreted programming languages, for example, the Tool Command Language—TCL) that will process the transaction. The dispatcher then forms a toolkit environment that includes a number of utilities and language extensions (e.g. databases) within which the application program will operate. The toolkit environment subsequently forms part of, and otherwise supports, the interpreted language execution environment. The dispatcher copies the required application program in its entirety to the interpreter. The dispatcher then executes the application program that is required to process the particular transaction request received by interpreting the instructions contained within that application program. Lastly, the dispatcher returns the result of the transaction to the web server for ultimate transmittal to the web browser.
Once the transaction is complete, the web server deletes the interpreted language execution environment formed to handle that transaction (including all of the parameters and procedures stored in memory relating to the particular transaction). The process that launched the dispatcher program is also terminated. This procedure is repeated for each transaction request received, requiring a “build-up and tear down” of the dispatcher for each instance of a transaction. The build-up or setup time, during which the interpreted language execution environment is established and the application program is loaded, can correspond to a relatively substantial part of the overall processing time for a transaction, particularly for transactions involving small applications.
Although the method implemented as just described was suitable for its intended purpose, the steady growth in the size and complexity of applications significantly increases the setup time for processing transactions, thereby degrading web server performance. In addition, as the number of Internet users continues to rapidly expand, it will become necessary for a web server to more efficiently process the correspondingly larger number of transaction requests received. A system and method for optimizing transaction processing by reducing the setup time across multiple transactions and, as a result, focusing computer resources on processing the transactions themselves is desirable.
SUMMARY OF THE INVENTION
The invention resides in a method implemented by a computer system (e.g. Web Server) for processing transactions that uses a combination of persistent (retained indefinitely in memory) and transient (retained temporarily in memory) interpreters to process a transaction request. The invention consequently avoids the lengthy “build-up and tear-down” procedure described above.
A method in accordance with the invention forms a persistent interpreter, for example a master interpreter, which configures an interpreted language execution environment. The master interpreter also maintains a set of global parameters, global procedures, and application-specific code/parameters that are useful in processing a number of transactions. The master interpreter and its contents are stored in memory for a number of transactions. Further, the invention requires the formation of a transient interpreter, for example a transaction interpreter, which accesses the contents of the master interpreter, executes the transaction, and returns a result to a computer system. The transaction interpreter is formed to process a single transac

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Web server mechanism for processing multiple transactions in... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Web server mechanism for processing multiple transactions in..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Web server mechanism for processing multiple transactions in... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2447802

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.