Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
2002-02-15
2004-11-16
Rones, Charles (Department: 2175)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000
Reexamination Certificate
active
06820085
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a method of clustering application servers, a method of forming a cache database cluster that caches data of database servers, and a Web system configured thereby.
2. Description of the Related Art
World Wide Web (abbreviated as Web below) system configuration has raised a significant challenge of improving scalability in terms of provision of adequate performance in the large-scale configuration and improvement of the operability enabling flexible response to abrupt changes in system load. Especially, in recent years, large-scale EC sites where many users demand near real-time system responses and portal sites that dynamically generate customized pages for each user are increasingly being constructed. These systems will increase in the number of accesses to their databases than conventional systems, so the improvement of scalability is increasingly becoming a significant challenge.
Most conventional Web systems have the three-level hierarchical structure shown in
FIG. 3
, which includes a plurality of Web servers
304
and
305
, an application server
307
, and a database server
309
. An exemplary Web system service session requested from clients will be described with reference to FIG.
3
. One of client computers (referred to as clients below)
301
and
302
issues a request to one of the Web servers
304
and
305
through a network
303
. On reception of the request, the applicable Web server among the Web servers
304
to
305
transfers the request to the application server
307
through a network
306
. The application server
307
executes an application for processing the request to generate a result of the processing, and returned the result to the applicable Web server. The applicable Web server produces a Web page into which the processing result received from the application server
307
is inserted, then returns the produced Web page to the applicable client, whereby one session is ended. If the application needs access to a database
311
in the database server
309
, the application server
307
accesses the database server
309
through a network
308
, and obtain or update data in the database
311
.
As shown in the system configuration in
FIG. 3
, many Web systems include clustered Web servers. In
FIG. 3
, for example, the Web system uses L clustered Web servers, Web server
1
(
304
) to Web server L (
305
). Web servers are clustered mainly for the purpose of providing scalability that enables response to increase in load such as increase in the number of clients. Web servers can be clustered easily because Hypertext Transfer Protocol (abbreviated as HTTP below) used for client-Web server communications uses a stateless protocol. That HTTP is a stateless protocol means that a session can be newly established for every Web client-server communication, so the session can be assigned to any Web server in a cluster. Specifically, response to increase in load including increase in the number of users, for example, by adding rack-mount thin-types of servers one by one as necessary to enhance the system becomes possible.
In contrast to Web servers, since applications have state information, application servers do not work well even if servers (hardware) are clustered. The reason will be described using an example. Suppose an environment in which a plurality of application servers execute the same application for load balancing. Web systems generally perform processing through interaction with the users. Suppose book purchase processing at a Web site. The user first (1) retrieves the applicable database for a desired book list, (2) selects a desired book from the retrieved book list, (3) inputs his address for delivery of the book, and finally (4) makes arrangement for its settlement by his credit card or another applicable means. If this logical session including the purchase processes (1) to (4) is implemented as one application, the application involves a client-Web browser session employing the HTTP protocol (referred to as Web sessions below) in each phase of the purchase processes (1) to (4).
When there is only one application server, even if Web servers are clustered and accordingly there are a plurality of clustered Web servers, the application server can resume the processing by storing the final state of the applicable logical session for the processes (1) to (4) therein. JP-A-149449/1999, for example, has disclosed a method in which a database server gives a session ID to a session when it performs processing and stores the final state of the processing therein, transfers the applicable session ID to the client if the processing must be resumed, and on reception of a request containing the session ID from the client, it resumes the processing from the stored final state. The method retains the final state of processing by stopping a thread executing the session and continues the processing by resuming execution of the thread in response to the request. Even with this method, however, it is difficult to switch over to another server for resuming execution of the application. The reason is that, if each Web session of the purchase processes (1) to (4) is assigned to a different Web server and the request is transferred from the Web server to an application server other than the application server that has previously performed the processing, the database server cannot obtain the final state of the previously performed logical session, and accordingly cannot resume the logical session from the final state.
For database servers, generally, one database management system provides centralized management on all data to maintain consistency of the data. Therefore, it was difficult to improve the scalability by clustering them as with application servers. The document Oracle 9i Application Server Database Cache has disclosed a method for improving performance of application servers. The method caches data in a database server into a Web server in table units, and uses the cached data as necessary to avoid the database server from being accessed, thereby reducing load on the database server to improve scalability. On occurrence of a request for an update process, however, this method cannot perform the processing by using the cached data, which raises the necessity for the database server to perform the processing in the end, degrading the performance. In addition, since tables in database servers are generally of much greater size, use of comparatively inexpensive cluster servers, which are generally used for Web servers, often makes caching of data in table units impossible.
For large-scale Web systems, it has been difficult to provide scalability, raising a problem that they cannot respond to increase in the number of the users and abrupt increase in the system load.
In addition, due to the difficulty of providing scalability, Web systems must use expensive higher multiplexed SMP servers for their application servers and database servers, which create bottlenecks for processing, to provide adequate performance, making its implementation impossible.
SUMMARY OF THE INVENTION
It is accordingly an object of the present invention to improve system scalability, thereby providing Web systems that can easily provide adequate performance regardless of scale required.
A specific object of the present invention is to provide a method for enabling application servers to be clustered.
Another specific object of the present invention is to provide a cache with clustered databases (referred to as a cache database cluster below).
A further specific object of the present invention is to provide a method of structuring higher cost-performance Web systems by using a cluster system instead of using expensive higher multiplexed SMP servers.
Typical structures according to the present invention for attaining these objects will be described below.
First, the present invention provides a system in which the logical session state of an application is stored in a clustered cache database as n
Nishizawa Itaru
Sagawa Nobutoshi
Abel-Jalil Neveen
Hitachi , Ltd.
Mattingly Stanger & Malur, P.C.
Rones Charles
LandOfFree
Web system having clustered application servers and... 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 system having clustered application servers and..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Web system having clustered application servers and... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3309199