System and method for clustering servers for performance and load balancing
First Claim
1. A scalable system for providing a web processing tool, comprising:
- a browser;
a first server cluster including a plurality of first servers, each said first server running identical first system and first application code for routing client requests among a plurality of enterprise applications;
a storage and execution unit, including a file server, a second server cluster, and an application server, for storing and executing an enterprise application comprising a plurality of web application code tables and data;
said file server including configuration file proxy statements for mapping user requests directed to said web application to said second server cluster;
said second server cluster including a plurality of second servers, each said second server running identical second system and identical selected components of said web application code, said second servers within said second server cluster periodically replicating with each other by moving identical data and code tables into identical data structures in each said second server so as to maintain data and code table consistency between them;
a relational database for storing data tables including a user profile specifying user roles;
said web application code tables including a first web application code table for authorizing access to other web application code tables based upon said user roles;
a database server for interfacing said relational database to said second server cluster and said application server;
a first network dispatcher for dynamically balancing client workload by redirecting client requests to one of said first servers based on current workload of first servers within said first server cluster;
a second network dispatcher responsive said first clustered servers for dynamically balancing client workload by redirecting clients to one of said second clustered servers based on current workload of servers within said plurality of second clustered servers;
said application server asynchronously responsive to said second servers for running agents to process application data requests and bridge said application data with respect to said database server and other back end servers.
3 Assignments
0 Petitions
Accused Products
Abstract
A hybrid Notes/DB2 environment provides a requisition catalog on the Web. Client browsers are connected to a GWA infrastructure including a first network dispatcher and a virtual cluster of Domino.Go servers. The network dispatcher sprays out browser requests among configured .nsf servers in virtual server cluster. Communications from this virtual server cluster are, in turn, dispatched by a second network dispatcher servers in a Domino cluster. External objects, primarily for a GUI, are served in a .dfs and include graphic files, Java files, HTML images and net.data macros. The catalog is built from supplier provided flat files. A front end is provided for business logic and validation, as also is a relation database backend. HTML forms are populated using relational database agents. A role table is used for controlling access both to Notes code and DB2 data. Large amounts of data are quickly transferred using an intermediate agent and window.
-
Citations
19 Claims
-
1. A scalable system for providing a web processing tool, comprising:
-
a browser; a first server cluster including a plurality of first servers, each said first server running identical first system and first application code for routing client requests among a plurality of enterprise applications; a storage and execution unit, including a file server, a second server cluster, and an application server, for storing and executing an enterprise application comprising a plurality of web application code tables and data; said file server including configuration file proxy statements for mapping user requests directed to said web application to said second server cluster; said second server cluster including a plurality of second servers, each said second server running identical second system and identical selected components of said web application code, said second servers within said second server cluster periodically replicating with each other by moving identical data and code tables into identical data structures in each said second server so as to maintain data and code table consistency between them; a relational database for storing data tables including a user profile specifying user roles; said web application code tables including a first web application code table for authorizing access to other web application code tables based upon said user roles; a database server for interfacing said relational database to said second server cluster and said application server; a first network dispatcher for dynamically balancing client workload by redirecting client requests to one of said first servers based on current workload of first servers within said first server cluster; a second network dispatcher responsive said first clustered servers for dynamically balancing client workload by redirecting clients to one of said second clustered servers based on current workload of servers within said plurality of second clustered servers; said application server asynchronously responsive to said second servers for running agents to process application data requests and bridge said application data with respect to said database server and other back end servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for generating on-line procurement requisitions, comprising the steps of:
-
receiving a client request; dynamically balancing client workload among a plurality of first logically defined servers in a first server cluster by directing said request to one of said first servers based on current server workload, each said first server running identical first system and first application code for distributing said client request and a required function among a plurality of enterprise applications including a database access function; distributing said database access function an application server and in a plurality of code tables and data tables on a plurality of second logically defined servers in a second server cluster; storing data tables including a user profile specifying user roles in a relational database; responsive to a client request for said database access function, dynamically balancing client workload among said plurality of second servers in said second server cluster based on current server workload; operating one of said code tables to authorize access to other of said code tables based on said user profile; periodically replicating said second servers with each other by moving identical data and code tables into identical data structures in each said second server so as to maintain data and code table consistency between them; and operating said second server to direct said client request to an application server where all data is replicated and where bridges and agents execute with respect to data in said database. - View Dependent Claims (13)
-
-
14. A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform method steps for processing a client request with respect to a database, said method steps comprising:
-
receiving a client request; dynamically balancing server workload by directing said request to a first server within a first cluster of logically defined virtual servers based on current server usage, each server within said first cluster executing first code for determining the mapping of said client request and the function required among a plurality of enterprise applications including a database access function; responsive to a client request for said database access function, dynamically balancing server workload by directing said client request to a second server within a second cluster of logically defined virtual servers based on current server usage, each server within said second cluster executing identical second application code including a plurality of web application workflow processes; operating a first of said workflow processes for authorizing access to and execution of other of said workflow processes based on client user role; periodically replicating said second servers within said second cluster of virtual servers by moving identical data and code tables into identical data structures in each said second server so as to maintain data and application code consistency between them; and operating said second server to direct said client request to an application server where all data is replicated and where bridges and agents execute with respect to data in said database. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computer program product for generating on-line procurement requisitions, said computer program product comprising:
-
a computer readable medium; first program instructions for receiving a client request; second program instructions for dynamically balancing server workload by directing said request to a first server within a first cluster of logically defined virtual servers based on current server usage, each server within said first cluster of servers executing identical first code; third program instructions for operating said first server to determine the mapping of said client request and the function required; fourth program instructions, responsive to a database access function, for dynamically balancing server workload by directing said client request to a second server within a second cluster of logically defined second virtual servers based on current server usage, each said second server within said second cluster of logically defined second virtual servers executing identical second code tables, said second servers within said second cluster of second virtual servers periodically replicating with each other by moving identical data and code tables into identical data structures in each said second server so as to maintain data consistency between them; and fifth program instructions for operating a code table in said second server to authorize said client request to access and execute selected other code tables based on client user role, and for operating said other code tables to direct said client request to an application server where all data is replicated and where bridges and agents execute with respect to data in said database; and
whereinsaid first, second, third, fourth, and fifth program instructions are recorded on said medium.
-
Specification