COMPUTER SYSTEM INCORPORATING DUPLICATED DATABASE SERVERS

Information

  • Patent Application
  • 20070179963
  • Publication Number
    20070179963
  • Date Filed
    July 28, 2006
    19 years ago
  • Date Published
    August 02, 2007
    18 years ago
Abstract
A computer system is composed of a plurality of application servers each installed with an application program configured to issue data processing requests; and a plurality of database servers. Each of the database servers is composed of a storage, and installed with a database server middleware receiving the data processing requests and a DBMS managing data stored in the storage. Each of the data processing requests is duplicatedly forwarded to each of the database servers. The data processing requests received by the database middlewares are respectively assigned with sequence numbers uniquely defined over the whole of the computer system. The database server middleware converts the data processing requests received into corresponding DBMS-specific data processing requests, and forwards the DBMS-specific data processing requests in an order indicated by the sequence numbers.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other advantages and features of the present invention will be more apparent from the following description taken in conjunction with the accompanied drawings, in which:



FIG. 1 is a block diagram illustrating the structure of a conventional computer system;



FIG. 2 is a block diagram illustrating the structure of another conventional computer system incorporating multiple application servers;



FIG. 3 is a block diagram illustrating the structure of a computer system in a first embodiment of the present invention;



FIGS. 4A and 4B are flowcharts illustrating the operation of the computer system in the first embodiment;



FIG. 5 is a block diagram illustrating the structure of a computer system in a second embodiment of the present invention;



FIGS. 6A and 6B are flowcharts illustrating the operation of the computer system in the second embodiment;



FIG. 7 is a block diagram illustrating the structure of a computer system in a third embodiment of the present invention;



FIGS. 8A and 8B are flowcharts illustrating the operation of the computer system in the third embodiment; and



FIGS. 9 to 13 are block diagrams illustrating preferred modified structures of the computer system in accordance with the present invention.


Claims
  • 1. A computer system comprising: a plurality of application servers each installed with an application program configured to issue data processing requests; anda plurality of database servers each including a storage, and each installed with a database server middleware receiving said data processing requests and a DBMS managing data stored in said storage,wherein each of said data processing requests is duplicatedly forwarded to each of said database servers,wherein sequence numbers uniquely defined over the whole of said computer system are respectively assigned to said data processing requests received by said database middlewares, andwherein said database server middleware converts said data processing requests received into corresponding DBMS-specific data processing requests, and forwards said DBMS-specific data processing requests in an order indicated by said sequence numbers.
  • 2. The computer system according to claim 1, further comprising a data processing request control server connected between said application servers and said database servers, wherein said data processing request control server is configured to attach said data processing requests with assigned ones of said sequence numbers, to duplicate each of said data processing requests attached with said sequence numbers, and to forward said duplicated data processing requests to each of said database servers.
  • 3. The computer system according to claim 1, further comprising a sequence control server assigning said sequence numbers to said data processing requests issued by said application programs.
  • 4. The computer system according to claim 1, wherein said application servers each include a sequence number negotiating module, and wherein one of said sequence number negotiating modules negotiates with other(s) of said sequence number negotiating modules to achieve assignment of said sequence numbers to said data processing requests.
  • 5. The computer system according to claim 1, further comprising a sequence number control server including a sequence number control module assigning said sequence numbers uniquely defined to said data processing requests issued by said application programs, wherein said plurality of application servers each includes application server middleware comprising:a sequence number acquiring module acquiring said sequence numbers from said sequence control server; anda control module configured to attach said data processing requests received from said application program with said sequence numbers, to duplicate said data processing requests attached with said sequence numbers, and to forward each of said duplicated data processing requests to each of said database servers, andwherein said database server middleware comprises:a sequence control module rearranging an order of said data processing requests attached with said sequence numbers, in response to said sequence numbers; anda DB connection module converting said data processing requests received into said DBMS-specific data processing requests.
  • 6. The computer system according to claim 1, further comprising: a sequence control server; anda data processing request control server connected between said application servers and said database servers,wherein said sequence control server includes:a sequence number control module assigning said sequence numbers uniquely defined to said data processing requests received by said database middlewares,wherein said plurality of application servers each includes application server middleware forwarding said data processing requests received from said application program to said data processing request control server,wherein said data processing request control server includes:a control module configured to attach said data processing requests received from said application server middleware with said sequence numbers, to duplicate said data processing requests attached with said sequence numbers, and to forward each of said duplicated data processing requests to each of said database servers, andwherein said database server middleware comprises:a sequence control module rearranging an order of said data processing requests attached with said sequence numbers, in response to said sequence numbers; anda DB connection module converting said data processing requests received from said sequence control module into said DBMS-specific data processing requests.
  • 7. The computer system according to claim 1, wherein said plurality of application servers each includes application server middleware comprising:a sequence number negotiating module negotiating with other one(s) of said application servers to achieve assignment of said sequence numbers to said data processing requests; anda control module configured to attach said received data processing requests with said sequence numbers, to duplicate said data processing requests attached with said sequence numbers, and to forward each of said duplicated data processing requests to each of said database servers, andwherein said database server middleware comprises:a sequence control module rearranging an order of said data processing requests attached with said sequence numbers, in response to said sequence numbers; anda DB connection module converting said data processing requests received into said DBMS-specific data processing requests.
  • 8. A method of achieving data replication comprising: issuing data processing requests by application programs within a plurality of application servers;assigning sequence numbers to said respective data processing requests;duplicatedly forwarding each of said data processing requests attached with said sequence numbers to each of database servers;converting said data processing requests attached with said sequence numbers into corresponding DBMS-specific data processing requests; andforwarding said DBMS-specific data processing requests to DBMSs within said database servers in an order indicated by said sequence numbers.
  • 9. The method according to claim 8, wherein said duplicatedly forwarding is implemented by application server middlewares installed within said application servers, respectively.
  • 10. The method according to claim 8, wherein said duplicatedly forwarding is implemented by a data processing request control server connected between said application servers and said database servers.
  • 11. The method according to claim 8, wherein said assigning said sequence numbers is implemented by a sequence control server.
  • 12. The method according to claim 8, wherein said application servers are respectively installed with application server middlewares each including a sequence number negotiating module, and wherein assignment of said sequence numbers is achieved through negotiation between or among said sequence number negotiating modules.
  • 13. An application server comprising: an application program configured to issue data processing requests; andmiddleware including: a sequence number acquiring module receiving sequence numbers assigned to said data processing requests from a sequence control server; anda control module configured to attach said received data processing requests with said sequence numbers, to duplicate said data processing requests attached with said sequence numbers, and to forward each of said duplicated data processing requests to each of a plurality of database servers.
  • 14. An application server comprising: an application program configured to issue data processing requests; andmiddleware including: a sequence number negotiating module negotiating assignment of sequence numbers to said data processing requests with at least one other sequence number negotiating module installed in at least one other application server; anda control module configured to attach said data processing requests with said sequence numbers, to duplicate said data processing requests attached with said sequence numbers, and to forward each of said duplicated data processing requests to each of a plurality of database servers.
  • 15. A data processing request control server comprising: a sequence number acquiring module receiving sequence numbers from a sequence control server, said sequence numbers being assigned to data processing requests issued by application programs installed in application servers; anda control module configured to attach said data processing requests with said sequence numbers, to duplicate said data processing requests attached with said sequence numbers, and to forward each of said duplicated data processing requests to each of a plurality of database servers.
  • 16. A database server comprising: a storage;a DBMS managing data stored in said storage; andmiddleware configured to receive data processing requests attached with sequence numbers from a plurality of application servers,wherein said middleware includes: a sequence control module rearranging an order of said data processing requests attached with sequence numbers, in response to said sequence numbers; anda DB connection module converting said data processing requests received from said sequence control module into DBMS-specific data processing requests, and forwarding said DBMS-specific data processing requests in an order indicated by said sequence numbers to said DBMS.
  • 17. A database server comprising: a storage;a DBMS managing data stored in said storage; andmiddleware configured to receive data processing requests attached with sequence numbers from a data processing request control server,wherein said middleware includes: a sequence control module rearranging an order of said data processing requests attached with sequence numbers, in response to said sequence numbers; anda DB connection module converting said data processing requests received from said sequence control module into DBMS-specific data processing requests, and forwarding said DBMS-specific data processing requests in an order indicated by said sequence numbers to said DBMS.
  • 18. A computer-readable medium recording a program for an application server, said program comprising: a code module for receiving sequence numbers assigned to data processing requests issued by an application program installed in said application server, from a sequence control server; anda code module for attaching said received data processing requests with said sequence numbers, for duplicating said data processing requests attached with said sequence numbers, and for forwarding each of said duplicated data processing requests to each of a plurality of database servers.
  • 19. A computer-readable medium recording a program for an application server, said program comprising: a code module for negotiating assignment of sequence numbers to data processing requests issued by an application program installed in said application server with at least one other sequence number negotiating module installed in at least one other application server; anda code module for attaching said data processing requests with said sequence numbers, for duplicating said data processing requests attached with said sequence numbers, and for forwarding each of said duplicated data processing requests to each of a plurality of database servers.
  • 20. A computer-readable medium recording a program for a data processing request control server, aid program comprising: a code module for receiving sequence numbers from a sequence control server, said sequence numbers being assigned to data processing requests issued by application programs installed in application servers; anda code module for attaching said data processing requests with said sequence numbers, for duplicating said data processing requests attached with said sequence numbers, and for forwarding each of said duplicated data processing requests to each of a plurality of database servers.
  • 21. A computer-readable medium recording a program for a database server including a storage and a DBMS managing data stored in said storage, said program comprising: a code module for receiving data processing requests attached with sequence numbers from a plurality of application servers;a code module for rearranging an order of data processing requests attached with sequence numbers, in response to said sequence numbers; anda code module for converting said data processing requests received from said sequence control module into DBMS-specific data processing requests, and for forwarding said DBMS-specific data processing requests in an order indicated by said sequence numbers to said DBMS.
  • 22. A computer-readable medium recording a program for a database server including a storage and a DBMS managing data stored in said storage, said program comprising: a code module for receiving data processing requests attached with sequence numbers from a data processing request control server;a code module for rearranging an order of data processing requests attached with sequence numbers, in response to said sequence numbers; anda code module for converting said data processing requests received from said sequence control module into DBMS-specific data processing requests, and for forwarding said DBMS-specific data processing requests in an order indicated by said sequence numbers to said DBMS.
Priority Claims (1)
Number Date Country Kind
2006-018712 Jan 2006 JP national