WO2012063301A1 - Computer system, multitenant control method, and multitenant control program - Google Patents

Computer system, multitenant control method, and multitenant control program Download PDF

Info

Publication number
WO2012063301A1
WO2012063301A1 PCT/JP2010/069821 JP2010069821W WO2012063301A1 WO 2012063301 A1 WO2012063301 A1 WO 2012063301A1 JP 2010069821 W JP2010069821 W JP 2010069821W WO 2012063301 A1 WO2012063301 A1 WO 2012063301A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction processing
processing request
server
connection
transaction
Prior art date
Application number
PCT/JP2010/069821
Other languages
French (fr)
Japanese (ja)
Inventor
松本 真人
忠士 橋本
佳彦 須貝
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to JP2012542729A priority Critical patent/JPWO2012063301A1/en
Priority to PCT/JP2010/069821 priority patent/WO2012063301A1/en
Publication of WO2012063301A1 publication Critical patent/WO2012063301A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Definitions

  • the present invention relates to a computer system, a multi-tenant control method, and a multi-tenant control program.
  • Non-Patent Document 1 A so-called multi-tenant system in which a plurality of user companies share and use the same business system is known (see Non-Patent Document 1 and Non-Patent Document 2).
  • Patent Document 1 discloses a technology in which independent resources (calculation resources) are allocated to a plurality of user companies, and the allocation is automatically changed in real time according to a load.
  • Patent Document 2 discloses a technique for changing test setting information to production setting information for the purpose of adapting a test environment to a production environment.
  • a resource allocated to the company A for example, an application server, hereinafter referred to as “AP server”
  • AP server an application server
  • processing requests for the company A and processing requests for the company B can be mixed on the AP server.
  • the AP server responds to a process request for the company A.
  • an error response is made and the service level for the company A is lowered.
  • Patent Document 1 has a complicated configuration in which a load balancer is provided between the AP server and the DB server.
  • the present invention provides a computer system, a multi-tenant control method, and a multi-tenant control program capable of changing resource allocation flexibly and quickly with a simple configuration in consideration of the above-described problems. Objective.
  • a typical example of the invention disclosed in the present application is as follows. That is, a computer system comprising: a client device that issues a transaction processing request; and a server device that executes a transaction process corresponding to the transaction processing request issued by the client device, wherein the server device For each type of processing request, a transaction management table that associates the identification information of the transaction processing request with a connection path to another resource to be connected when executing the transaction processing corresponding to the transaction processing request; A receiving unit that receives a transaction processing request issued by the client device, and each time a transaction processing request is received by the receiving unit, the transaction management table is referred to and the received transaction processing request is received.
  • the connection path corresponding to the type of emission processing request characterized by comprising a connection management unit to be connected to other resources corresponding to the connection path, the.
  • resource allocation can be changed flexibly and quickly with a simple configuration.
  • FIG. 1 is a conceptual diagram of business processing in the application sharing method of the AP server 103 according to the embodiment of this invention.
  • the AP server 103 is a multi-tenant server device that can be used by a plurality of user companies (hereinafter referred to as “tenants”).
  • the AP server 103 includes an AP common processing unit 104, a customization unit 105, middleware 106, and an OS (Operating System) 107.
  • the AP common processing unit 104 is an application program that executes common processing among tenants.
  • the AP common processing unit 104 first receives a transaction processing request 101 from each tenant (not shown).
  • the customization unit 105 is an application program that is customized for each tenant and executes processing for each tenant.
  • the customization unit 105 includes a processing unit 105a for tenant ⁇ that executes processing for tenant ⁇ and a processing unit 105b for tenant ⁇ that executes processing for tenant ⁇ .
  • the processing unit 105a for the tenant ⁇ executes the processing.
  • the processing unit 105b for the tenant ⁇ executes the processing.
  • the AP common processing unit 104 returns the result processed by the customization unit 105 (processing result 102) to the response transmission destination.
  • the AP common processing unit 104 and the customization unit 105 as described above operate on the middleware 106 and the OS 107 that are shared and used by a plurality of tenants.
  • FIG. 2 is a diagram illustrating a configuration example of the multi-tenant computer system 1 according to the first embodiment of this invention.
  • This computer system 1 is a multi-tenant environment for tenants ⁇ and ⁇ .
  • the computer system 1 shown in FIG. 2 includes terminals 206a and 206b, a load balancer 209, a plurality of Web servers 210a and 210b, a plurality of AP servers 211a and 211b, and a plurality of DB servers 212a and 212b.
  • the terminal 206a is a client terminal (computer device) used by the user of the tenant ⁇ .
  • the terminal 206b is a client terminal used by the user of the tenant ⁇ .
  • These terminals 206 a and 206 b are connected to a WAN (Wide Area Network) 208 via a network line 207.
  • the terminals 206a and 206b issue transaction processing requests (processing requests for data reference etc. of the DB servers 212a and 212b) based on user instructions.
  • the load balancer 209 is a load balancer that evenly allocates processing requests for transactions issued by the terminals 206a and 206b to the plurality of Web servers 210a and 210b.
  • the Web server 210a is a Web server device for the tenant ⁇ that processes a request by the user of the tenant ⁇ .
  • the Web server 210b is a Web server device for the tenant ⁇ that processes a request by the user of the tenant ⁇ .
  • the AP server 211a is an application server device for the tenant ⁇ that processes requests from the Web server 210a.
  • the AP server 211b is an application server device for the tenant ⁇ that processes the request from the Web server 210b.
  • the configuration of the AP servers 211a and 211b will be described later.
  • the DB server 212a is a database server for tenant ⁇ . Only the AP server 211a can be connected to the DB server 212a.
  • the DB server 212b is a database server for the tenant ⁇ . Only the AP server 211b can be connected to the DB server 212b.
  • the configuration of the DB servers 212a and 212b will be described later.
  • the terminals 206a and 206b issue a message related to a transaction processing request.
  • the issued electronic message is transmitted to the corresponding Web servers 210a and 210b through the network line 207 and the like.
  • the Web servers 210a and 210b that have received the electronic message transmit the corresponding AP servers 211a and 211b.
  • the AP servers 211a and 211b connect to the DB servers 212a and 212b, respectively, and execute transaction processing corresponding to the received electronic message.
  • FIG. 3 is a block diagram illustrating a configuration example of the AP server 211a (211b) according to the first embodiment of this invention.
  • the AP server 211a (211b) shares the OS 107 and middleware 106 among the tenants, and shares part or all of the AP 104 between the tenants.
  • the AP 104 includes processing units 105a and 105b for the tenants ⁇ and ⁇ . Such a configuration is effective in terms of cost merit and AP maintainability.
  • the AP server 211a (211b) functions as a common entrance that accepts transaction processing requests from the tenants ⁇ and ⁇ , and can execute both transaction processing requests for the tenants ⁇ and ⁇ . it can. That is, the AP server 211a (211b) can switch between the tenant ⁇ and the tenant ⁇ .
  • FIG. 4 is a block diagram illustrating a configuration example of the DB servers 212a and 212b according to the first embodiment of this invention.
  • the DB server 212a includes a DB table 203a, a DBMS (DataBase Management System) instance 204a, and an OS 205a.
  • the DB server 212b includes a DB table 203b, a DBMS instance 204b, and an OS 205b.
  • DB tables 203a and 203b are database tables exclusively owned by tenant ⁇ and tenant ⁇ .
  • the DBMS instances 204a and 204b are database management system instances exclusively owned by the tenant ⁇ and the tenant ⁇ .
  • the OSs 205a and 205b are operating systems dedicated to the tenant ⁇ and the tenant ⁇ , respectively.
  • the DB servers 212a and 212b are an individual DB system that separates all of the OS, the DBMS instance, and the DB table for each tenant.
  • This individual DB method is particularly effective when each tenant is a financial institution or medical institution and the data to be stored in the DB servers 212a and 212b requires high confidentiality such as customer management data.
  • FIG. 5 is a diagram for explaining the principle of the multi-tenant control method according to the embodiment of the present invention.
  • the AP server 103 in FIG. 1 includes the business UAP processing unit 301 and the DB server connection management unit 302 shown in FIG.
  • the business UAP processing unit 301 processes a UAP (User Application Program) in response to a transaction processing request issued by each tenant (not shown).
  • UAP User Application Program
  • the business UAP processing unit 301 reflects the change when the DB server connection management unit 302 changes the connection destination DB server while processing the UAP.
  • the DB server connection management unit 302 refers to the transaction management table 303 to determine connection destination DB servers 212a and 212b corresponding to the types of transaction processing requests (for example, types of tenants ⁇ and ⁇ ).
  • the business UAP processing unit 301 and the DB server connection management unit 302 can change the allocation of resources (here, the connection destination DB servers 212a and 212b) flexibly and quickly with a simple configuration.
  • FIG. 6 is a block diagram illustrating a configuration example of the computer 401 according to the first embodiment of this invention.
  • This computer 401 corresponds to the AP server 103 of FIG.
  • the computer 401 is a computer device including a main storage device 402, a CPU (Central Processing Unit) 403, an output device 404, an input device 405, an auxiliary storage device 419, and a drive device 420, which are mutually connected by a bus.
  • a main storage device 402 a CPU (Central Processing Unit) 403
  • an output device 404 an input device 405, an auxiliary storage device 419, and a drive device 420, which are mutually connected by a bus.
  • the main storage device 402 is a storage device such as a RAM (Random Access Memory) that reads and stores programs such as the OS 406 and the online system 407 stored in the auxiliary storage device 419 when the computer 401 is activated.
  • the main storage device 402 also stores files necessary for program execution.
  • the CPU 403 is an arithmetic processing device that executes a program stored in the main storage device 402.
  • the output device 404 is an output device (for example, a display) that provides a user interface.
  • the input device 405 is an input device (for example, a keyboard or a mouse) that provides a user interface.
  • the auxiliary storage device 419 is a storage device such as an HDD (Hard Disk Drive) that stores programs, files, data, and the like.
  • the drive device 420 is a device that reads a program stored in the storage medium 421.
  • the program read by the drive device 420 is installed in the auxiliary storage device 419.
  • the storage medium 421 is a storage medium such as a USB (Universal Serial ⁇ Bus) memory or an SD memory card in which the above-described program is recorded.
  • the online system 407 includes a message reception unit 409, a message transmission unit 411, a UAP control unit 412, a business UAP processing unit 301, and a DB server connection management unit 302.
  • the online system 407 corresponds to the AP common processing unit 104, the customization unit 105, and the middleware 106 in FIG.
  • the message receiving unit 409 receives the input message 408 transmitted from each tenant that is the processing request source.
  • the received input message 408 is sent to the UAP control unit 412.
  • the execution UAP determination unit 413 determines a user application to be executed based on the input message 408.
  • the scheduler 414 schedules the user application to be executed.
  • the business UAP processing unit 301 executes a user application to be executed according to the schedule generated by the scheduler 414.
  • the DB server connection management unit 302 is called, and the tenant information corresponding to the input message 408 (information of the tenant that transmitted the input message 408) is passed to the DB server connection management unit 302. Then, the tenant information receiving unit 415 receives this tenant information. Thereafter, the target server search unit 416 searches the DB server corresponding to the tenant information with reference to the transaction management table 303.
  • the transaction management table 303 is a table for managing correspondence information between tenant information and a connection destination DB server. Thereafter, the server reconnecting unit 417 connects to the searched DB server when the DB server searched by the target server searching unit 416 and the DB server that has already been connected are different.
  • the DB server connection management unit 302 establishes a connection with a connection destination DB server (not shown) according to the input message 408. Thereafter, the business UAP processing unit 301 refers to the DB server with which the connection has been established, and executes the user application to be executed.
  • the UAP control unit 412 sets the output message 410 to be transmitted to the response transmission destination based on the processing result of the business UAP processing unit 301.
  • the message transmission unit 411 transmits the set output message 410 to the response transmission destination.
  • FIG. 7A is a first diagram illustrating a method for generating the transaction management table 303 according to the first embodiment of this invention.
  • the definition file 501 shown in FIG. 7A defines that a transaction processing request from the tenant ⁇ is connected to the DB server D1, and a transaction processing request from the tenant ⁇ is connected to the DB server D2. It is a file.
  • the definition file 501 is stored in the auxiliary storage device 419.
  • the CPU 403 generates a transaction management table 303 based on the definition file 501 stored in the auxiliary storage device 419.
  • FIG. 7B is a second diagram illustrating the method for generating the transaction management table 303 according to the first embodiment of this invention.
  • the command statement 502 shown in FIG. 7B indicates that the transaction processing request from the tenant ⁇ is connected to the DB server D1, and the transaction processing request from the tenant ⁇ is connected to the DB server D2.
  • the command statement 502 is input by the input device 405.
  • the CPU 403 generates a transaction management table 303 based on the input command statement 502.
  • FIG. 7C is a third diagram illustrating a method for generating the transaction management table 303 according to the first embodiment of this invention.
  • the command statement 503 shown in FIG. 7C indicates that the transaction processing request from the tenant ⁇ is connected to the DB server D1, and the transaction processing request from the tenant ⁇ is connected to the DB server D2.
  • the command statement 503 is input interactively by the input device 405 on the screen displayed on the output device 404 (display).
  • the CPU 403 generates a transaction management table 303 based on the input command statement 503.
  • FIG. 7D is a fourth diagram illustrating a method for generating the transaction management table 303 according to the first embodiment of this invention.
  • a GUI (Graphical User Interface) 504 shown in FIG. 7D allows a combination of a tenant (Key) and a connection destination DB server (Host) to be selected by a list box.
  • the GUI 504 is displayed on the output device 404 (display).
  • the user inputs the correspondence between the tenant and the DB server by using the input device 405 on the screen of the GUI 504.
  • the CPU 403 generates a transaction management table 303 based on the user input.
  • FIG. 8 is a flowchart showing the processing procedure of the business UAP according to the embodiment of the present invention. Here, the processing procedure of the business UAP executed in the online system 407 will be described.
  • step S601 the UAP control unit 412 receives the input message 408 received by the message reception unit 409 (S601).
  • step S602 the UAP control unit 412 starts a transaction corresponding to the input message 408 (S602).
  • step S603 the execution UAP determination unit 413 specifies the tenant information corresponding to the input message 408 received in step S601, that is, the tenant from which the input message 408 has been transmitted (S603).
  • the process in step S603 will be described later with reference to FIGS. 17A and 17B.
  • step S604 the business UAP processing unit 301 calls the DB server connection management unit 302 (S604).
  • the business UAP processing unit 301 calls the DB server connection management unit 302 and passes the tenant information specified in Step S603 to the DB server connection management unit 302.
  • the DB server connection management unit 302 determines a DB server to be connected based on the received tenant information. A method for calling the DB server connection management unit 302 will be described later with reference to FIGS. 18A and 18B. A method for determining a DB server to be connected will be described with reference to FIGS. 9 and 10A to 10C.
  • step S605 to S607 the business UAP processing unit 301 executes the respective SQL statements in the input message 408 for the DB server that has been determined as the DB server to be connected in step S604 and has been connected (S605). To S607). Thereafter, in step S608, the UAP control unit 412 commits the transaction started in step S602 (S608).
  • step S609 the UAP control unit 412 sets the output message 410 to be transmitted to the response transmission destination based on the processing result of the business UAP processing unit 301 (S609).
  • the set output message 410 is transmitted to the response transmission destination by the message transmission unit 411.
  • the online system 407 determines a DB server to be connected based on the received input message 408 every time an input message 408, that is, a transaction processing request is received. Thereby, even if transaction processing requests from the tenants ⁇ and ⁇ are mixed in the AP servers 211a and 211b, the allocation of the DB servers 213a and 213b can be changed flexibly and quickly.
  • each AP server 211a, 211b determines a DB server to be connected based on the received input message 408 (transaction processing request), but this is not a limitation.
  • each of the Web servers 210a and 210b may determine the AP servers 211a and 211b to be connected based on the received input message 408, or can be applied to other forms.
  • FIG. 9 is a diagram for explaining the operation of the DB server connection management unit 302 according to the first embodiment of this invention.
  • the flowchart on the left side of FIG. 9 shows the control logic of the tenant information receiving unit 415, the target server search unit 416, and the server reconnection unit 417.
  • the table on the right side of FIG. 9 shows an example of the transaction management table 303.
  • the transaction management table 303 associates that the connection destination DB server when the tenant is ⁇ is D1, and the connection destination DB server when the tenant is ⁇ is D2. Yes. That is, the transaction management table 303 is a connection between the tenant, which is information for identifying a transaction processing request, and other resources (in this case, a DB server) to be connected when executing the transaction processing corresponding to the transaction processing request. Manages correspondence information between host names that are paths.
  • the left flowchart will be described.
  • step S701 the tenant information receiving unit 415 receives tenant information corresponding to the input message 408 from the business UAP processing unit 301 (S701).
  • the target server search unit 416 refers to the transaction management table 303, searches for and selects a connection destination DB server corresponding to the tenant received in step S701 (S702).
  • the connection destination DB server D1 is selected.
  • the connection destination DB server D2 is selected.
  • step S703 the server reconnection unit 417 determines whether or not the connection destination DB server selected in step S702 is different from the currently connected connection destination DB server (S703).
  • the server reconnection unit 417 connects to the new connection destination DB server (S704).
  • Step S704 will be described later in detail with reference to FIGS. 10A to 10C.
  • the server reconnection unit 417 does nothing. The process ends without executing.
  • FIG. 10A is a flowchart illustrating a first example of a server reconnection processing procedure according to the first embodiment of this invention.
  • a first example of the process in step S704 in FIG. 9, that is, the process in which the server reconnection unit 417 connects to a new connection destination DB server will be described.
  • step S801 the server reconnection unit 417 discards the connection with the currently established connection destination DB server (S801).
  • the server reconnection unit 417 establishes a connection with the connection destination DB server corresponding to the type of transaction processing request (S802).
  • the connection with the connection destination DB server selected in step S702 of FIG. 9 is established.
  • step S803 the server reconnection unit 417 declares the connection established in step S802 as a connection to be actually used (S803).
  • the server reconnection unit 417 can connect to a new connection destination DB server without increasing the number of connections of the connection destination DB server.
  • FIG. 10B is a flowchart illustrating a second example of the server reconnection processing procedure according to the first embodiment of this invention.
  • a second example of the process in step S704 of FIG. 9, that is, the process in which the server reconnection unit 417 connects to a new connection destination DB server will be described.
  • step S804 the server reconnecting unit 417 holds the connection with the currently established connection destination DB server (S804).
  • step S805 the server reconnection unit 417 establishes a connection with the connection destination DB server corresponding to the type of the transaction processing request separately from the connection held in step S804 (S805).
  • a new connection is established with the connection destination DB server selected in step S702 of FIG.
  • step S806 the server reconnection unit 417 declares the connection established in step S805 as a connection to be actually used (S806).
  • the server reconnection unit 417 is connected to the new connection destination DB server while maintaining the connection with the currently established connection destination DB server. Therefore, the connection with the connection destination DB server that is currently established can be reused.
  • FIG. 10C is a flowchart illustrating a third example of a server reconnection processing procedure according to the first embodiment of this invention.
  • a third example of the process in step S704 in FIG. 9, that is, the process in which the server reconnection unit 417 connects to a new connection destination DB server will be described.
  • step S807 the server reconnection unit 417 determines whether or not there is a connection corresponding to the type of transaction processing request among the connections with a plurality of currently established connection destination DB servers (connection destination DB server group). Is determined (S807). If there is no connection corresponding to the type of transaction processing request (NO in S807), the process proceeds to step S808.
  • step S808 the server reconnection unit 417 determines whether or not the number of currently established connections is greater than a predetermined threshold (S808).
  • the threshold here is the maximum number of connections that the business UAP processing unit 301 can tolerate.
  • step S809 the server reconnection unit 417 determines the number of connections that are currently established. Among them, the connection with a long elapsed time from the last use (LRU: Least Recently Used) is discarded (S809).
  • LRU Least Recently Used
  • step S810 the server reconnection unit 417 first establishes the currently established connection. Is held (S810). Thereafter, the process proceeds to step S811, and the server reconnection unit 417 establishes a connection with the connection destination DB server corresponding to the type of the transaction processing request (S811).
  • a new connection is established with the connection destination DB server selected in step S702 of FIG.
  • step S807 If there is a connection corresponding to the type of transaction processing request in step S807 (YES in step S807), the process advances to step S812, and the server reconnection unit 417 changes the currently established connection to the type of transaction processing request. Is switched to the connection corresponding to (S807). Here, the connection is switched to the connection destination DB server selected in step S702 of FIG.
  • step S813 the server reconnection unit 417 declares the connection established in step S811 or the connection switched in step S812 as a connection to be actually used (S813).
  • the server reconnection unit 417 can connect to a new connection destination DB server without increasing the number of connections of the connection destination DB server to a certain number or more. Further, the connection to the new connection destination DB server is made while maintaining the connection with the connection destination DB server that is currently established. Therefore, the connection with the connection destination DB server that is currently established can be reused.
  • FIG. 11 is a diagram illustrating a configuration example of the multi-tenant computer system 1 according to the second embodiment of this invention.
  • This computer system 1 is a multi-tenant environment for tenants ⁇ and ⁇ .
  • the same components as those in FIG. 2 are denoted by the same reference numerals, and redundant description will be omitted as appropriate.
  • each DB server 213a is a database server for tenant ⁇ . Only the AP server 211a can be connected to each DB server 213a.
  • each DB server 213b is a database server for tenant ⁇ . Only the AP server 211b can be connected to each DB server 212b.
  • the configuration of the DB servers 213a and 213b will be described later.
  • the terminals 206a and 206b issue a message related to a transaction processing request.
  • the issued electronic message is transmitted to the corresponding Web servers 210a and 210b through the network line 207 and the like.
  • the Web servers 210a and 210b that have received the electronic message transmit the corresponding AP servers 211a and 211b.
  • the AP servers 211a and 211b connect to the DB servers 213a and 213b, respectively, and execute transaction processing corresponding to the received electronic message.
  • FIG. 12 is a block diagram illustrating a configuration example of the DB servers 213a and 213b according to the second embodiment of this invention.
  • the same components as those in FIG. 4 are denoted by the same reference numerals, and redundant description will be omitted as appropriate.
  • the DB server 213a includes a DB table 203a, a DBMS instance 204a, and an OS 205a.
  • the DB server 213b includes a DB table 203b, a DBMS instance 204b, and an OS 205b.
  • each of the plurality of DB servers 213a and 213b is an individual DB system that separates all of the OS, DBMS instances, and DB tables for each tenant.
  • This individual DB method is particularly effective when each tenant is a financial institution or medical institution and the data to be stored in the DB servers 213a and 213b requires high confidentiality such as customer management data.
  • FIG. 13 is a diagram for explaining the operation of the DB server connection management unit 302 according to the second embodiment of this invention.
  • the flowchart on the left side of FIG. 13 shows the control logic of the tenant information receiving unit 415, the target server search unit 416, and the server reconnection unit 417.
  • the table on the right side of FIG. 13 shows an example of the transaction management table 303.
  • the connection destination DB servers when the tenant is ⁇ are D1 (load level 0), D2 (load level 2), and D3 (load level 2).
  • the connection destination DB server in the case of ⁇ is associated with D4 (load level 1) and D5 (load level 1).
  • the load level is an index indicating the degree of load on each connection destination DB server. For example, it is determined based on the number of requests per time sent to each connection destination DB server.
  • the transaction management table 303 is a connection between the tenant, which is information for identifying a transaction processing request, and other resources (in this case, a DB server) to be connected when executing the transaction processing corresponding to the transaction processing request. It manages correspondence information between host names that are paths and load levels. The load level is used to select one connection path from a plurality of connection paths. Details will be described later. Since the flowchart on the left side is the same as the flowchart of FIG. 9, the description thereof is omitted here.
  • FIG. 14A is a diagram showing another example of the transaction management table 303 according to the second embodiment of this invention.
  • the transaction management table 303 includes a tenant, which is information for identifying a transaction processing request, and other resources (here, a DB server) to be connected when executing a transaction processing corresponding to the transaction processing request.
  • the correspondence information between the host name, which is a connection path to (), and the number of connections is managed.
  • the number of connections is an index indicating the degree of resource occupancy (here, the number of simultaneous connections) in each connection destination DB server. This number of connections is used to select one connection path from a plurality of connection paths, similar to the load level described above. Details will be described later.
  • FIG. 14B is a diagram showing another example of the transaction management table 303 according to the second embodiment of this invention.
  • the transaction management table 303 includes a tenant, which is information for identifying a transaction processing request, and other resources (here, a DB server) to be connected when executing a transaction processing corresponding to the transaction processing request.
  • the correspondence information between the host name which is the connection path to the account number and the account number key range is managed.
  • the account number key range is an index indicating the range of data stored in each connection destination DB server. This account number key range is used to select one connection path from a plurality of connection paths, similarly to the load level and the number of connections described above. Details will be described later.
  • FIG. 15A is a flowchart illustrating a first example of a server reconnection processing procedure according to the second embodiment of this invention.
  • a first example of the process in step S704 in FIG. 13, that is, the process in which the server reconnection unit 417 connects to a new connection destination DB server will be described.
  • the same components as those in FIG. 10A are denoted by the same reference numerals, and redundant description will be omitted as appropriate.
  • the server reconnection unit 417 refers to the transaction management table 303 (see FIG. 13), and among the connection destination DB servers corresponding to the transaction processing request type, any one connection destination with the lowest load level.
  • a connection with the DB server is established (S1102).
  • a connection is established with the connection destination DB server having the lowest load level among the connection destination DB servers selected in step S702 of FIG.
  • the server reconnection unit 417 selects and connects one connection destination DB server with the lowest load level from a plurality of connection destination DB servers without increasing the number of connections of the connection destination DB servers. be able to.
  • FIG. 15B is a flowchart illustrating a second example of a server reconnection processing procedure according to the second embodiment of this invention.
  • a second example of the process in step S704 of FIG. 13, that is, the process in which the server reconnection unit 417 connects to a new connection destination DB server will be described.
  • symbol is attached
  • step S1105 the server reconnection unit 417 refers to the transaction management table 303 (see FIG. 13), and apart from the connection held in step S804, among the connection destination DB servers corresponding to the transaction processing request type, A connection with any one connection destination DB server having the lowest load level is established (S1105).
  • a connection is newly established with the connection destination DB server having the lowest load level among the connection destination DB servers selected in step S702 of FIG.
  • the server reconnection unit 417 selects one connection destination DB server having the lowest load level from the plurality of connection destination DB servers while maintaining the connection with the currently established connection destination DB server. Connected. Therefore, the connection with the connection destination DB server that is currently established can be reused.
  • FIG. 15C is a flowchart illustrating a third example of a server reconnection processing procedure according to the second embodiment of this invention.
  • a third example of the process in step S704 in FIG. 13, that is, the process in which the server reconnection unit 417 connects to a new connection destination DB server will be described.
  • symbol is attached
  • step S1111 the server reconnection unit 417 refers to the transaction management table 303 (see FIG. 13), and among the connection destination DB servers corresponding to the transaction processing request type, any one connection destination with the lowest load level.
  • a connection with the DB server is established (S1111).
  • a connection is newly established with the connection destination DB server having the lowest load level among the connection destination DB servers selected in step S702 of FIG.
  • the server reconnection unit 417 selects one connection destination DB server having the lowest load level from the plurality of connection destination DB servers without increasing the number of connections of the connection destination DB servers to a certain number or more. Can be connected. Further, the connection to the new connection destination DB server is made while maintaining the connection with the connection destination DB server that is currently established. Therefore, the connection with the connection destination DB server that is currently established can be reused.
  • step S1102, S1105, and S1111 of the flowcharts shown in FIGS. 15A to 15C the transaction management table 303 in FIG. 13 is referred to, but this is not a limitation.
  • connection with any one connection destination DB server having the smallest number of connections may be established from a plurality of connection destination DB servers corresponding to the type of transaction processing request. .
  • the connection with the connection destination DB server can be appropriately changed according to the resource exclusive status of each connection destination DB server.
  • FIG. 16 is a block diagram illustrating a configuration example of a computer 401 according to the third embodiment of this invention.
  • This computer 401 corresponds to the AP server 103 of FIG.
  • the computer 401 is a computer device that includes a main storage device 402, a CPU 403, an output device 404, an input device 405, an auxiliary storage device 419, and a drive device 420 that are connected to each other via a bus.
  • the UAP control unit 412 includes a DB connection unit 418, and the UAP control unit 412 and the DB server connection management unit 302 cooperate with each other.
  • the message receiving unit 409 receives the input message 408 transmitted from each tenant that is the processing request source.
  • the received input message 408 is sent to the UAP control unit 412.
  • the execution UAP determination unit 413 determines a user application to be executed based on the input message 408.
  • the DB connection unit 418 calls the DB server connection management unit 302 and passes the tenant information corresponding to the input message 408 to the DB server connection management unit 302.
  • the scheduler 414 schedules user applications to be executed.
  • the tenant information receiving unit 415 receives this tenant information. Thereafter, the target server search unit 416 searches the DB server corresponding to the tenant information with reference to the transaction management table 303. Thereafter, the server reconnecting unit 417 connects to the searched DB server when the DB server searched by the target server searching unit 416 and the DB server that has already been connected are different.
  • the DB server connection management unit 302 establishes a connection with a connection destination DB server (not shown) according to the input message 408. Thereafter, when the connection with the DB server is established by the DB server connection management unit 302, the DB connection unit 418 passes information indicating that the connection is established to the business UAP processing unit 301. Thereafter, the business UAP processing unit 301 refers to the DB server to which the connection is established, and executes the user application to be executed according to the schedule generated by the scheduler 414.
  • the UAP control unit 412 sets the output message 410 to be transmitted to the response transmission destination based on the processing result of the business UAP processing unit 301.
  • the message transmission unit 411 transmits the set output message 410 to the response transmission destination.
  • FIG. 17A is a diagram for explaining a first example of a method for specifying the type of transaction processing request according to each embodiment of the present invention.
  • a method (1301) in which the execution UAP determination unit 413 identifies the transmission source tenant based on the specific field in the input message 408 in step S603 in FIG. 8 will be described.
  • the execution UAP determination unit 413 specifies that the transmission source tenant is ⁇ .
  • the field value of the bank code in the input message 408 is the bank code 2
  • FIG. 17B is a diagram for describing a second example of the method for specifying the type of transaction processing request according to each embodiment of the present invention.
  • a method (1302) in which the execution UAP determination unit 413 identifies the transmission source tenant based on the URL (Universal Resource Location) included in the input message 408 in step S603 in FIG. 8 will be described.
  • the execution UAP determination unit 413 specifies that the transmission source tenant is ⁇ when the URL included in the input message 408 includes the character string “alpha-bank”. On the other hand, when the URL included in the input message 408 includes the character string “beta-bank”, it is specified that the transmission source tenant is ⁇ .
  • FIG. 18A is a diagram for describing a first example of a calling method of the DB server connection management unit 302 according to each embodiment of the present invention.
  • a method will be described in which the business UAP processing unit 301 calls the DB server connection management unit 302 and passes tenant information to the DB server connection management unit 302 in step S604 of FIG.
  • the business UAP processing unit 301 calls the DB server connection management unit 302 using tenant information as an argument key (1401).
  • FIG. 18B is a diagram for explaining a second example of the calling method of the DB server connection management unit 302 according to each embodiment of the present invention.
  • a method will be described in which the business UAP processing unit 301 calls the DB server connection management unit 302 and passes tenant information to the DB server connection management unit 302 in step S604 of FIG.
  • the business UAP processing unit 301 calls the DB server connection management unit 302 using the input message 408 as an argument.
  • the called DB server connection management unit 302 analyzes the input message 408 and extracts tenant information corresponding to the input message 408 (1402).
  • 19A and 19B are diagrams showing another example of the configuration of the AP server 211a (211b) according to each embodiment of the present invention.
  • the OS 1505a, 1505b, middleware 1504a, 1504b, and AP 1503a, 1503b may all be separated for each tenant (1502a, 1502b).
  • the OS 107 may be shared among tenants, and the middleware 1504a and 1504b and the APs 1503a and 1503b may be separated for each tenant (1502a and 1502b).
  • 20A and 20B are block diagrams showing another example of the configuration of the DB servers 212a and 212b according to the embodiments of the present invention.
  • the OS 1608 and the DBMS instance 1605 may be shared among tenants, and the DB tables 203a and 203b may be separated for each tenant. Further, as shown in FIG. 20B, a configuration of a shared schema method in which the OS 1608, the DBMS instance 1605, and the DB table 1607 are all shared among tenants may be adopted.
  • the present invention relates to a computer system, and is particularly useful for a so-called multi-tenant system in which a plurality of user companies share and use the same business system.

Abstract

This computer system is provided with: a client device that issues a transaction processing request; and a server device that issues a transaction process corresponding to the transaction processing request issued by the client device. The server device is provided with: a transaction management table that, for each type of transaction processing request, associates ID information of the transaction processing request with a connection path to another resource to which to connect when executing the transaction process corresponding to the transaction processing request; a reception unit that receives the transaction processing request issued by the client device; and a connection management unit that, each time a transaction processing request is received by the reception unit, refers to the transaction management table, and using the connection path corresponding to the type of transaction processing request received, connects to the other resource corresponding to the connection path.

Description

計算機システム、マルチテナント制御方法及びマルチテナント制御プログラムComputer system, multi-tenant control method, and multi-tenant control program
 本発明は、計算機システム、マルチテナント制御方法及びマルチテナント制御プログラムに関する。 The present invention relates to a computer system, a multi-tenant control method, and a multi-tenant control program.
 複数のユーザ企業が同じ業務システムを共有して利用する、いわゆるマルチテナント方式のシステムが知られている(非特許文献1、非特許文献2参照)。 A so-called multi-tenant system in which a plurality of user companies share and use the same business system is known (see Non-Patent Document 1 and Non-Patent Document 2).
 マルチテナント方式のシステムを利用する各ユーザ企業は、他のユーザ企業と業務システムを共有することによって、単独で自身の業務システムを構築する場合に比べて、計算資源や運用に係るコストを抑えることができる。このようなマルチテナント方式のシステムに関連し、各種発明がなされている(特許文献1、特許文献2参照)。 Each user company using a multi-tenant system shares the business system with other user companies, thereby reducing the costs associated with computing resources and operations compared to building their own business system alone. Can do. Various inventions have been made in relation to such a multi-tenant system (see Patent Document 1 and Patent Document 2).
 特許文献1には、複数のユーザ企業にそれぞれ独立なリソース(計算資源)を割り当て、負荷に応じてその割り当てを自動的にリアルタイムに変更する技術が開示されている。また特許文献2には、テスト環境を本番環境に適合させることを目的として、テスト用設定情報を本番用設定情報に変更する技術が開示されている。 Patent Document 1 discloses a technology in which independent resources (calculation resources) are allocated to a plurality of user companies, and the allocation is automatically changed in real time according to a load. Patent Document 2 discloses a technique for changing test setting information to production setting information for the purpose of adapting a test environment to a production environment.
特開2002-24192号公報Japanese Patent Laid-Open No. 2002-24192 特開2010-86110号公報JP 2010-86110 A
 ところで、特許文献1に開示された技術では、例えば企業Aから企業Bにリソースの割り当て先を変更する場合、企業Aに割り当てていたリソースを一度未割り当て状態にした後、企業Bに割り当てる。 By the way, with the technique disclosed in Patent Document 1, for example, when changing the resource allocation destination from company A to company B, the resources allocated to company A are once assigned to company B and then allocated to company B.
 しかしながら、このようにリソースを一度未割り当て状態にしているため、各ユーザ企業に対して柔軟かつ迅速にリソースを割り当てることができない課題があった。 However, since resources are not allocated once in this way, there is a problem that resources cannot be allocated flexibly and quickly to each user company.
 また、企業Aに割り当てていたリソース(例えばアプリケーションサーバ、以下「APサーバ」という。)を、未割り当て状態にすることなく、企業Bに割り当てる場合、以下に説明する問題が生じる。すなわち、この場合、このAPサーバ上では、企業A向けの処理要求と企業B向けの処理要求が混在し得る。そうすると、特に企業A向けの処理と企業B向けの処理とがそれぞれ異なる他のリソース(例えばデータベースサーバ。以下「DBサーバ」という。)に接続する場合、このAPサーバは企業A向けの処理要求に対してエラー応答し、企業A向けのサービスレベルを低下させてしまうことになる。 Further, when a resource allocated to the company A (for example, an application server, hereinafter referred to as “AP server”) is allocated to the company B without being assigned, the problem described below occurs. That is, in this case, processing requests for the company A and processing requests for the company B can be mixed on the AP server. Then, especially when the process for the company A and the process for the company B are connected to different resources (for example, a database server; hereinafter referred to as “DB server”), the AP server responds to a process request for the company A. On the other hand, an error response is made and the service level for the company A is lowered.
 その他、特許文献1に開示された技術では、APサーバとDBサーバの間に負荷分散機を設ける複雑な構成となっていた。 In addition, the technology disclosed in Patent Document 1 has a complicated configuration in which a load balancer is provided between the AP server and the DB server.
 本発明は、上述した課題を考慮したものであって、簡易な構成で柔軟かつ迅速にリソースの割り当てを変更することが可能な計算機システム、マルチテナント制御方法及びマルチテナント制御プログラムを提供することを目的とする。 The present invention provides a computer system, a multi-tenant control method, and a multi-tenant control program capable of changing resource allocation flexibly and quickly with a simple configuration in consideration of the above-described problems. Objective.
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、トランザクション処理要求を発行するクライアント装置と、前記クライアント装置によって発行されたトランザクション処理要求に対応するトランザクション処理を実行するサーバ装置と、を備えた計算機システムであって、前記サーバ装置は、前記トランザクション処理要求の種別毎に、当該トランザクション処理要求の識別情報と、当該トランザクション処理要求に対応するトランザクション処理を実行する際に接続すべき他のリソースへの接続パスとを対応付けたトランザクション管理テーブルと、前記クライアント装置によって発行されたトランザクション処理要求を受信する受信部と、前記受信部によってトランザクション処理要求を受信する度に、前記トランザクション管理テーブルを参照し、受信したトランザクション処理要求の種別に対応する前記接続パスを用いて、当該接続パスに対応する他のリソースに接続する接続管理部と、を備えたことを特徴とする。 A typical example of the invention disclosed in the present application is as follows. That is, a computer system comprising: a client device that issues a transaction processing request; and a server device that executes a transaction process corresponding to the transaction processing request issued by the client device, wherein the server device For each type of processing request, a transaction management table that associates the identification information of the transaction processing request with a connection path to another resource to be connected when executing the transaction processing corresponding to the transaction processing request; A receiving unit that receives a transaction processing request issued by the client device, and each time a transaction processing request is received by the receiving unit, the transaction management table is referred to and the received transaction processing request is received. Using the connection path corresponding to the type of emission processing request, characterized by comprising a connection management unit to be connected to other resources corresponding to the connection path, the.
 本発明によれば、簡易な構成で柔軟かつ迅速にリソースの割り当てを変更することができる。 According to the present invention, resource allocation can be changed flexibly and quickly with a simple configuration.
本発明の実施形態のAPサーバのアプリケーション共有方式における業務処理の概念図である。It is a conceptual diagram of the business processing in the application sharing system of the AP server of the embodiment of the present invention. 本発明の第1の実施形態のマルチテナント方式の計算機システムの構成例を示す図である。It is a figure which shows the structural example of the computer system of the multitenant system of the 1st Embodiment of this invention. 本発明の第1の実施形態のAPサーバの構成例を示すブロック図である。It is a block diagram which shows the structural example of AP server of the 1st Embodiment of this invention. 本発明の第1の実施形態のDBサーバの構成例を示すブロック図である。It is a block diagram which shows the structural example of DB server of the 1st Embodiment of this invention. 本発明の第1の実施形態のマルチテナント制御方法の原理を説明する図である。It is a figure explaining the principle of the multi-tenant control method of the 1st Embodiment of this invention. 本発明の第1の実施形態の計算機の構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer of the 1st Embodiment of this invention. 本発明の第1の実施形態のトランザクション管理テーブルの生成方法を説明する第1の図である。It is a 1st figure explaining the production | generation method of the transaction management table of the 1st Embodiment of this invention. 本発明の第1の実施形態のトランザクション管理テーブルの生成方法を説明する第2の図である。It is a 2nd figure explaining the production | generation method of the transaction management table of the 1st Embodiment of this invention. 本発明の第1の実施形態のトランザクション管理テーブルの生成方法を説明する第3の図である。It is a 3rd figure explaining the production | generation method of the transaction management table of the 1st Embodiment of this invention. 本発明の第1の実施形態のトランザクション管理テーブルの生成方法を説明する第4の図である。It is a 4th figure explaining the production | generation method of the transaction management table of the 1st Embodiment of this invention. 本発明の第1の実施形態の業務UAPの処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the business UAP of the 1st Embodiment of this invention. 本発明の第1の実施形態のDBサーバ接続管理部の動作を説明するための図である。It is a figure for demonstrating operation | movement of the DB server connection management part of the 1st Embodiment of this invention. 本発明の第1の実施形態のサーバ再接続の処理手順の第1の例を示すフローチャートである。It is a flowchart which shows the 1st example of the process sequence of the server reconnection of the 1st Embodiment of this invention. 本発明の第1の実施形態のサーバ再接続の処理手順の第2の例を示すフローチャートである。It is a flowchart which shows the 2nd example of the process sequence of the server reconnection of the 1st Embodiment of this invention. 本発明の第1の実施形態のサーバ再接続の処理手順の第3の例を示すフローチャートである。It is a flowchart which shows the 3rd example of the process sequence of the server reconnection of the 1st Embodiment of this invention. 本発明の第2の実施形態のマルチテナント方式の計算機システムの構成例を示す図である。It is a figure which shows the structural example of the computer system of the multitenant system of the 2nd Embodiment of this invention. 本発明の第2の実施形態のDBサーバの構成例を示すブロック図である。It is a block diagram which shows the structural example of the DB server of the 2nd Embodiment of this invention. 本発明の第2の実施形態のDBサーバ接続管理部の動作を説明するための図である。It is a figure for demonstrating operation | movement of the DB server connection management part of the 2nd Embodiment of this invention. 本発明の第2の実施形態のトランザクション管理テーブルの別の例を示す図である。It is a figure which shows another example of the transaction management table of the 2nd Embodiment of this invention. 本発明の第2の実施形態のトランザクション管理テーブルの別の例を示す図である。It is a figure which shows another example of the transaction management table of the 2nd Embodiment of this invention. 本発明の第2の実施形態のサーバ再接続の処理手順の第1の例を示すフローチャートである。It is a flowchart which shows the 1st example of the process sequence of the server reconnection of the 2nd Embodiment of this invention. 本発明の第2の実施形態のサーバ再接続の処理手順の第2の例を示すフローチャートである。It is a flowchart which shows the 2nd example of the process sequence of the server reconnection of the 2nd Embodiment of this invention. 本発明の第2の実施形態のサーバ再接続の処理手順の第3の例を示すフローチャートである。It is a flowchart which shows the 3rd example of the process sequence of the server reconnection of the 2nd Embodiment of this invention. 本発明の第3の実施形態の計算機の構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer of the 3rd Embodiment of this invention. 本発明の各実施形態のトランザクション処理要求の種別の特定方法の第1の例を説明するための図である。It is a figure for demonstrating the 1st example of the identification method of the classification of the transaction processing request of each embodiment of this invention. 本発明の各実施形態のトランザクション処理要求の種別の特定方法の第2の例を説明するための図である。It is a figure for demonstrating the 2nd example of the identification method of the classification of the transaction processing request of each embodiment of this invention. 本発明の各実施形態のDBサーバ接続管理部の呼出方法の第1の例を説明するための図である。It is a figure for demonstrating the 1st example of the calling method of the DB server connection management part of each embodiment of this invention. 本発明の各実施形態のDBサーバ接続管理部を呼出方法の第2の例を説明するための図である。It is a figure for demonstrating the 2nd example of the calling method of the DB server connection management part of each embodiment of this invention. 本発明の各実施形態のAPサーバの構成の別の例を示すブロック図である。It is a block diagram which shows another example of a structure of AP server of each embodiment of this invention. 本発明の各実施形態のAPサーバの構成の別の例を示すブロック図である。It is a block diagram which shows another example of a structure of AP server of each embodiment of this invention. 本発明の各実施形態のDBサーバの構成の別の例を示すブロック図である。It is a block diagram which shows another example of a structure of DB server of each embodiment of this invention. 本発明の各実施形態のDBサーバの構成の別の例を示すブロック図である。It is a block diagram which shows another example of a structure of DB server of each embodiment of this invention.
 以下、本発明の実施形態について、図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
 図1は、本発明の実施形態のAPサーバ103のアプリケーション共有方式における業務処理の概念図である。このAPサーバ103は、複数のユーザ企業(以下、「テナント」という。)によって利用可能なマルチテナント方式のサーバ装置である。このAPサーバ103は、AP共通処理部104、カスタマイズ部105、ミドルウェア106、OS(Operating System)107を備える。 FIG. 1 is a conceptual diagram of business processing in the application sharing method of the AP server 103 according to the embodiment of this invention. The AP server 103 is a multi-tenant server device that can be used by a plurality of user companies (hereinafter referred to as “tenants”). The AP server 103 includes an AP common processing unit 104, a customization unit 105, middleware 106, and an OS (Operating System) 107.
 AP共通処理部104は、テナント間で共通の処理を実行するアプリケーションプログラムである。このAP共通処理部104は、まず各テナント(不図示)からトランザクションの処理要求101を受信する。 The AP common processing unit 104 is an application program that executes common processing among tenants. The AP common processing unit 104 first receives a transaction processing request 101 from each tenant (not shown).
 カスタマイズ部105は、テナント毎にカスタマイズされ、各テナント向けの処理を実行するアプリケーションプログラムである。このカスタマイズ部105は、テナントα向けの処理を実行するテナントα向け処理部105a、テナントβ向けの処理を実行するテナントβ向け処理部105bを含む。 The customization unit 105 is an application program that is customized for each tenant and executes processing for each tenant. The customization unit 105 includes a processing unit 105a for tenant α that executes processing for tenant α and a processing unit 105b for tenant β that executes processing for tenant β.
 例えば処理要求101がテナントαによって発行された場合、テナントα向け処理部105aが処理を実行する。一方、処理要求101がテナントβによって発行された場合、テナントβ向け処理部105bが処理を実行する。 For example, when the processing request 101 is issued by the tenant α, the processing unit 105a for the tenant α executes the processing. On the other hand, when the processing request 101 is issued by the tenant β, the processing unit 105b for the tenant β executes the processing.
 AP共通処理部104は、カスタマイズ部105によって処理された結果(処理結果102)を、応答送信先に返す。 The AP common processing unit 104 returns the result processed by the customization unit 105 (processing result 102) to the response transmission destination.
 以上のようなAP共通処理部104、カスタマイズ部105は、複数のテナントが共有して利用するミドルウェア106及びOS107上で動作する。 The AP common processing unit 104 and the customization unit 105 as described above operate on the middleware 106 and the OS 107 that are shared and used by a plurality of tenants.
 (第1の実施形態)
 図2は、本発明の第1の実施形態のマルチテナント方式の計算機システム1の構成例を示す図である。この計算機システム1は、テナントα、β用のマルチテナント環境である。
(First embodiment)
FIG. 2 is a diagram illustrating a configuration example of the multi-tenant computer system 1 according to the first embodiment of this invention. This computer system 1 is a multi-tenant environment for tenants α and β.
 図2に示す計算機システム1は、端末206a、206b、ロードバランサ209、複数のWebサーバ210a、210b、複数のAPサーバ211a、211b、複数のDBサーバ212a、212bを備える。 The computer system 1 shown in FIG. 2 includes terminals 206a and 206b, a load balancer 209, a plurality of Web servers 210a and 210b, a plurality of AP servers 211a and 211b, and a plurality of DB servers 212a and 212b.
 端末206aは、テナントαのユーザが利用するクライアント端末(コンピュータ装置)である。一方、端末206bは、テナントβのユーザが利用するクライアント端末である。これら端末206a、206bは、ネットワーク回線207を介してWAN(Wide Area Network)208に接続される。端末206a、206bは、ユーザの指示に基づいて、トランザクションの処理要求(DBサーバ212a、212bのデータ参照等の処理要求)を発行する。 The terminal 206a is a client terminal (computer device) used by the user of the tenant α. On the other hand, the terminal 206b is a client terminal used by the user of the tenant β. These terminals 206 a and 206 b are connected to a WAN (Wide Area Network) 208 via a network line 207. The terminals 206a and 206b issue transaction processing requests (processing requests for data reference etc. of the DB servers 212a and 212b) based on user instructions.
 ロードバランサ209は、端末206a、206bによって発行されたトランザクションの処理要求を、複数のWebサーバ210a、210bに対して均等に割り振る負荷分散装置である。 The load balancer 209 is a load balancer that evenly allocates processing requests for transactions issued by the terminals 206a and 206b to the plurality of Web servers 210a and 210b.
 Webサーバ210aは、テナントαのユーザによる要求を処理するテナントα用のWebサーバ装置である。一方、Webサーバ210bは、テナントβのユーザによる要求を処理するテナントβ用のWebサーバ装置である。 The Web server 210a is a Web server device for the tenant α that processes a request by the user of the tenant α. On the other hand, the Web server 210b is a Web server device for the tenant β that processes a request by the user of the tenant β.
 APサーバ211aは、Webサーバ210aの要求を処理するテナントα用のアプリケーションサーバ装置である。一方、APサーバ211bは、Webサーバ210bの要求を処理するテナントβ用のアプリケーションサーバ装置である。APサーバ211a、211bの構成については後述する。 The AP server 211a is an application server device for the tenant α that processes requests from the Web server 210a. On the other hand, the AP server 211b is an application server device for the tenant β that processes the request from the Web server 210b. The configuration of the AP servers 211a and 211b will be described later.
 DBサーバ212aは、テナントα用のデータベースサーバである。APサーバ211aのみが、このDBサーバ212aに接続可能である。一方、DBサーバ212bは、テナントβ用のデータベースサーバである。APサーバ211bのみが、このDBサーバ212bに接続可能である。DBサーバ212a、212bの構成については後述する。 The DB server 212a is a database server for tenant α. Only the AP server 211a can be connected to the DB server 212a. On the other hand, the DB server 212b is a database server for the tenant β. Only the AP server 211b can be connected to the DB server 212b. The configuration of the DB servers 212a and 212b will be described later.
 以上に示す構成により、計算機システム1では、端末206a、206bがトランザクションの処理要求に係る電文を発行する。発行された電文は、ネットワーク回線207等を通って、対応するWebサーバ210a、210bに送信される。電文を受信したWebサーバ210a、210bは、対応するAPサーバ211a、211bに送信する。その後、APサーバ211a、211bは、それぞれDBサーバ212a、212bに接続して、受信した電文に対応するトランザクション処理を実行する。 With the configuration described above, in the computer system 1, the terminals 206a and 206b issue a message related to a transaction processing request. The issued electronic message is transmitted to the corresponding Web servers 210a and 210b through the network line 207 and the like. The Web servers 210a and 210b that have received the electronic message transmit the corresponding AP servers 211a and 211b. Thereafter, the AP servers 211a and 211b connect to the DB servers 212a and 212b, respectively, and execute transaction processing corresponding to the received electronic message.
 図3は、本発明の第1の実施形態のAPサーバ211a(211b)の構成例を示すブロック図である。 FIG. 3 is a block diagram illustrating a configuration example of the AP server 211a (211b) according to the first embodiment of this invention.
 図3に示すように、APサーバ211a(211b)は、OS107、ミドルウェア106を各テナント間で共有し、AP104の一部又は全部を各テナント間で共有する。AP104は、各テナントα、β向け処理部105a、105bを含む。このような構成は、コストメリットや、APの保守性の観点で有効である。 As shown in FIG. 3, the AP server 211a (211b) shares the OS 107 and middleware 106 among the tenants, and shares part or all of the AP 104 between the tenants. The AP 104 includes processing units 105a and 105b for the tenants α and β. Such a configuration is effective in terms of cost merit and AP maintainability.
 このような構成により、APサーバ211a(211b)は、テナントα、βからのトランザクションの処理要求を受け付ける共通の入口として機能し、テナントα、β向けのトランザクションの処理要求の両方を実行することができる。つまり、APサーバ211a(211b)は、テナントα用とテナントβ用とを切り替え可能になっている。 With such a configuration, the AP server 211a (211b) functions as a common entrance that accepts transaction processing requests from the tenants α and β, and can execute both transaction processing requests for the tenants α and β. it can. That is, the AP server 211a (211b) can switch between the tenant α and the tenant β.
 図4は、本発明の第1の実施形態のDBサーバ212a、212bの構成例を示すブロック図である。 FIG. 4 is a block diagram illustrating a configuration example of the DB servers 212a and 212b according to the first embodiment of this invention.
 図4において、DBサーバ212aは、DBテーブル203a、DBMS(DataBase Management System)インスタンス204a、OS205aを備える。同様に、DBサーバ212bは、DBテーブル203b、DBMSインスタンス204b、OS205bを備える。 4, the DB server 212a includes a DB table 203a, a DBMS (DataBase Management System) instance 204a, and an OS 205a. Similarly, the DB server 212b includes a DB table 203b, a DBMS instance 204b, and an OS 205b.
 DBテーブル203a、203bは、それぞれテナントα、テナントβが専有するデータベーステーブルである。DBMSインスタンス204a、204bは、それぞれテナントα、テナントβが専有するデータベースマネジメントシステムのインスタンスである。OS205a、205bは、それぞれテナントα、テナントβが専有するオペレーティングシステムである。 DB tables 203a and 203b are database tables exclusively owned by tenant α and tenant β. The DBMS instances 204a and 204b are database management system instances exclusively owned by the tenant α and the tenant β. The OSs 205a and 205b are operating systems dedicated to the tenant α and the tenant β, respectively.
 このように、DBサーバ212a、212bは、OS、DBMSインスタンス、DBテーブルの全てをテナント毎に分離する個別DB方式である。この個別DB方式は、各テナントが金融機関や医療機関等であって、DBサーバ212a、212bに格納すべきデータが顧客管理データ等の高い機密性を必要とする場合に、特に有効である。 As described above, the DB servers 212a and 212b are an individual DB system that separates all of the OS, the DBMS instance, and the DB table for each tenant. This individual DB method is particularly effective when each tenant is a financial institution or medical institution and the data to be stored in the DB servers 212a and 212b requires high confidentiality such as customer management data.
 図5は、本発明の実施形態のマルチテナント制御方法の原理を説明する図である。本実施形態によれば、図1のAPサーバ103が、図5に示す業務UAP処理部301、DBサーバ接続管理部302を備える。 FIG. 5 is a diagram for explaining the principle of the multi-tenant control method according to the embodiment of the present invention. According to the present embodiment, the AP server 103 in FIG. 1 includes the business UAP processing unit 301 and the DB server connection management unit 302 shown in FIG.
 業務UAP処理部301は、各テナント(不図示)によって発行されたトランザクション処理要求に応じて、UAP(User Application Program)を処理する。この業務UAP処理部301は、UAPを処理中に、DBサーバ接続管理部302によって接続先のDBサーバが変更された場合、当該変更を反映する。 The business UAP processing unit 301 processes a UAP (User Application Program) in response to a transaction processing request issued by each tenant (not shown). The business UAP processing unit 301 reflects the change when the DB server connection management unit 302 changes the connection destination DB server while processing the UAP.
 DBサーバ接続管理部302は、トランザクション管理テーブル303を参照し、トランザクション処理要求の種別(例えばテナントα、βの種別)に対応する接続先のDBサーバ212a、212bを決定する。 The DB server connection management unit 302 refers to the transaction management table 303 to determine connection destination DB servers 212a and 212b corresponding to the types of transaction processing requests (for example, types of tenants α and β).
 これら業務UAP処理部301、DBサーバ接続管理部302の詳細については後述する。なお、これら業務UAP処理部301、DBサーバ接続管理部302により、簡易な構成で柔軟かつ迅速にリソース(ここでは接続先のDBサーバ212a、212b)の割り当てを変更することができる。 Details of these business UAP processing unit 301 and DB server connection management unit 302 will be described later. The business UAP processing unit 301 and the DB server connection management unit 302 can change the allocation of resources (here, the connection destination DB servers 212a and 212b) flexibly and quickly with a simple configuration.
 図6は、本発明の第1の実施形態の計算機401の構成例を示すブロック図である。この計算機401は、図1のAPサーバ103に対応する。この計算機401は、それぞれバスで相互に接続された主記憶装置402、CPU(Central Processing Unit)403、出力装置404、入力装置405、補助記憶装置419、ドライブ装置420を備えるコンピュータ装置である。 FIG. 6 is a block diagram illustrating a configuration example of the computer 401 according to the first embodiment of this invention. This computer 401 corresponds to the AP server 103 of FIG. The computer 401 is a computer device including a main storage device 402, a CPU (Central Processing Unit) 403, an output device 404, an input device 405, an auxiliary storage device 419, and a drive device 420, which are mutually connected by a bus.
 主記憶装置402は、計算機401の起動時に補助記憶装置419に記憶されたOS406、オンラインシステム407等のプログラムを読み出して記憶するRAM(Random Access Memory)等の記憶装置である。この主記憶装置402は、プログラムの実行に必要なファイル等も記憶する。 The main storage device 402 is a storage device such as a RAM (Random Access Memory) that reads and stores programs such as the OS 406 and the online system 407 stored in the auxiliary storage device 419 when the computer 401 is activated. The main storage device 402 also stores files necessary for program execution.
 CPU403は、主記憶装置402に格納されたプログラムを実行する演算処理装置である。出力装置404は、ユーザインターフェースを提供する出力装置(例えばディスプレイ)である。入力装置405は、ユーザインターフェースを提供する入力装置(例えばキーボード、マウス)である。 The CPU 403 is an arithmetic processing device that executes a program stored in the main storage device 402. The output device 404 is an output device (for example, a display) that provides a user interface. The input device 405 is an input device (for example, a keyboard or a mouse) that provides a user interface.
 補助記憶装置419は、プログラムやファイル、データ等を記憶するHDD(Hard Disk Drive)等の記憶装置である。ドライブ装置420は、記憶媒体421に記憶されたプログラムを読み出す装置である。ドライブ装置420によって読み出されたプログラムは、補助記憶装置419にインストールされる。記憶媒体421は、上記のプログラム等を記録したUSB(Universal Serial Bus)メモリ、SDメモリカード等の記憶媒体である。 The auxiliary storage device 419 is a storage device such as an HDD (Hard Disk Drive) that stores programs, files, data, and the like. The drive device 420 is a device that reads a program stored in the storage medium 421. The program read by the drive device 420 is installed in the auxiliary storage device 419. The storage medium 421 is a storage medium such as a USB (Universal Serial 、 Bus) memory or an SD memory card in which the above-described program is recorded.
 以下、オンラインシステム407について説明する。このオンラインシステム407は、電文受信部409、電文送信部411、UAP制御部412、業務UAP処理部301、DBサーバ接続管理部302を備える。このオンラインシステム407は、図1のAP共通処理部104、カスタマイズ部105及びミドルウェア106に対応する。 Hereinafter, the online system 407 will be described. The online system 407 includes a message reception unit 409, a message transmission unit 411, a UAP control unit 412, a business UAP processing unit 301, and a DB server connection management unit 302. The online system 407 corresponds to the AP common processing unit 104, the customization unit 105, and the middleware 106 in FIG.
 電文受信部409は、処理要求元である各テナントから送信された入力電文408を受信する。受信された入力電文408は、UAP制御部412に送られる。実行UAP判定部413は、この入力電文408に基づいて、実行すべきユーザアプリケーションを判定する。スケジューラ414は、この実行すべきユーザアプリケーションをスケジューリングする。 The message receiving unit 409 receives the input message 408 transmitted from each tenant that is the processing request source. The received input message 408 is sent to the UAP control unit 412. The execution UAP determination unit 413 determines a user application to be executed based on the input message 408. The scheduler 414 schedules the user application to be executed.
 業務UAP処理部301は、スケジューラ414によって生成されたスケジュールに従って、実行すべきユーザアプリケーションを実行する。 The business UAP processing unit 301 executes a user application to be executed according to the schedule generated by the scheduler 414.
 具体的には、まずDBサーバ接続管理部302を呼出し、入力電文408に対応したテナント情報(入力電文408を送信したテナントの情報)をDBサーバ接続管理部302に渡す。そうすると、テナント情報受取部415が、このテナント情報を受け取る。その後、対象サーバ検索部416が、トランザクション管理テーブル303を参照し、このテナント情報に対応したDBサーバを検索する。トランザクション管理テーブル303は、テナント情報と接続先のDBサーバとの対応情報を管理するテーブルである。その後、サーバ再接続部417は、対象サーバ検索部416によって検索されたDBサーバと、既に接続が確立しているDBサーバとが異なる場合、検索されたDBサーバに接続する。 Specifically, first, the DB server connection management unit 302 is called, and the tenant information corresponding to the input message 408 (information of the tenant that transmitted the input message 408) is passed to the DB server connection management unit 302. Then, the tenant information receiving unit 415 receives this tenant information. Thereafter, the target server search unit 416 searches the DB server corresponding to the tenant information with reference to the transaction management table 303. The transaction management table 303 is a table for managing correspondence information between tenant information and a connection destination DB server. Thereafter, the server reconnecting unit 417 connects to the searched DB server when the DB server searched by the target server searching unit 416 and the DB server that has already been connected are different.
 このようにして、DBサーバ接続管理部302は、入力電文408に応じて、接続先のDBサーバ(不図示)との間の接続を確立させる。その後、業務UAP処理部301は、接続が確立されたDBサーバを参照し、実行すべきユーザアプリケーションを実行する。 In this way, the DB server connection management unit 302 establishes a connection with a connection destination DB server (not shown) according to the input message 408. Thereafter, the business UAP processing unit 301 refers to the DB server with which the connection has been established, and executes the user application to be executed.
 なお、UAP制御部412は、業務UAP処理部301の処理結果に基づいて、応答送信先に送信すべき出力電文410を設定する。電文送信部411は、設定された出力電文410を、応答送信先に送信する。 The UAP control unit 412 sets the output message 410 to be transmitted to the response transmission destination based on the processing result of the business UAP processing unit 301. The message transmission unit 411 transmits the set output message 410 to the response transmission destination.
 図7Aは、本発明の第1の実施形態のトランザクション管理テーブル303の生成方法を説明する第1の図である。 FIG. 7A is a first diagram illustrating a method for generating the transaction management table 303 according to the first embodiment of this invention.
 図7Aに示す定義ファイル501は、テナントαからのトランザクション処理要求の場合には、DBサーバD1に接続し、テナントβからのトランザクション処理要求の場合には、DBサーバD2に接続する旨を定義するファイルである。 The definition file 501 shown in FIG. 7A defines that a transaction processing request from the tenant α is connected to the DB server D1, and a transaction processing request from the tenant β is connected to the DB server D2. It is a file.
 この定義ファイル501は、補助記憶装置419に格納される。CPU403は、補助記憶装置419に格納された定義ファイル501に基づいて、トランザクション管理テーブル303を生成する。 The definition file 501 is stored in the auxiliary storage device 419. The CPU 403 generates a transaction management table 303 based on the definition file 501 stored in the auxiliary storage device 419.
 図7Bは、本発明の第1の実施形態のトランザクション管理テーブル303の生成方法を説明する第2の図である。 FIG. 7B is a second diagram illustrating the method for generating the transaction management table 303 according to the first embodiment of this invention.
 図7Bに示すコマンド文502は、テナントαからのトランザクション処理要求の場合には、DBサーバD1に接続し、テナントβからのトランザクション処理要求の場合には、DBサーバD2に接続する旨を示す。 The command statement 502 shown in FIG. 7B indicates that the transaction processing request from the tenant α is connected to the DB server D1, and the transaction processing request from the tenant β is connected to the DB server D2.
 このコマンド文502は、入力装置405によって入力される。CPU403は、入力されたコマンド文502に基づいて、トランザクション管理テーブル303を生成する。 The command statement 502 is input by the input device 405. The CPU 403 generates a transaction management table 303 based on the input command statement 502.
 図7Cは、本発明の第1の実施形態のトランザクション管理テーブル303の生成方法を説明する第3の図である。 FIG. 7C is a third diagram illustrating a method for generating the transaction management table 303 according to the first embodiment of this invention.
 図7Cに示すコマンド文503は、テナントαからのトランザクション処理要求の場合には、DBサーバD1に接続し、テナントβからのトランザクション処理要求の場合には、DBサーバD2に接続する旨を示す。 The command statement 503 shown in FIG. 7C indicates that the transaction processing request from the tenant α is connected to the DB server D1, and the transaction processing request from the tenant β is connected to the DB server D2.
 このコマンド文503は、出力装置404(ディスプレイ)に表示された画面上で、入力装置405によって対話形式で入力される。CPU403は、入力されたコマンド文503に基づいて、トランザクション管理テーブル303を生成する。 The command statement 503 is input interactively by the input device 405 on the screen displayed on the output device 404 (display). The CPU 403 generates a transaction management table 303 based on the input command statement 503.
 図7Dは、本発明の第1の実施形態のトランザクション管理テーブル303の生成方法を説明する第4の図である。 FIG. 7D is a fourth diagram illustrating a method for generating the transaction management table 303 according to the first embodiment of this invention.
 図7Dに示すGUI(Graphical User Interface)504は、テナント(Key)と、接続先のDBサーバ(Host)との組み合わせをリストボックスによって選択可能にしている。 A GUI (Graphical User Interface) 504 shown in FIG. 7D allows a combination of a tenant (Key) and a connection destination DB server (Host) to be selected by a list box.
 このGUI504は、出力装置404(ディスプレイ)に表示される。ユーザは、このGUI504の画面上で、入力装置405によってテナントとDBサーバとの対応付けを入力する。CPU403は、ユーザ入力に基づいて、トランザクション管理テーブル303を生成する。 The GUI 504 is displayed on the output device 404 (display). The user inputs the correspondence between the tenant and the DB server by using the input device 405 on the screen of the GUI 504. The CPU 403 generates a transaction management table 303 based on the user input.
 図8は、本発明の実施形態の業務UAPの処理手順を示すフローチャートである。ここでは、オンラインシステム407において実行される業務UAPの処理手順を説明する。 FIG. 8 is a flowchart showing the processing procedure of the business UAP according to the embodiment of the present invention. Here, the processing procedure of the business UAP executed in the online system 407 will be described.
 まずステップS601において、UAP制御部412は、電文受信部409が受信した入力電文408を受け取る(S601)。次にステップS602において、UAP制御部412は、入力電文408に対応するトランザクションを開始する(S602)。 First, in step S601, the UAP control unit 412 receives the input message 408 received by the message reception unit 409 (S601). Next, in step S602, the UAP control unit 412 starts a transaction corresponding to the input message 408 (S602).
 その後ステップS603において、実行UAP判定部413は、ステップS601で受け取った入力電文408に対応するテナント情報、すなわち、入力電文408がどのテナントから送信されたかを特定する(S603)。ステップS603の処理については、図17A、17Bを用いて後述する。 Thereafter, in step S603, the execution UAP determination unit 413 specifies the tenant information corresponding to the input message 408 received in step S601, that is, the tenant from which the input message 408 has been transmitted (S603). The process in step S603 will be described later with reference to FIGS. 17A and 17B.
 その後ステップS604において、業務UAP処理部301は、DBサーバ接続管理部302を呼出す(S604)。このS604では、業務UAP処理部301は、DBサーバ接続管理部302を呼出すとともに、ステップS603で特定されたテナント情報をDBサーバ接続管理部302に渡す。DBサーバ接続管理部302は、受信したテナント情報に基づいて、接続すべきDBサーバを決定する。DBサーバ接続管理部302の呼出方法については、図18A、18Bを用いて後述する。また、接続すべきDBサーバの決定方法は、図9、図10A~10Cを用いて説明する。 Thereafter, in step S604, the business UAP processing unit 301 calls the DB server connection management unit 302 (S604). In S604, the business UAP processing unit 301 calls the DB server connection management unit 302 and passes the tenant information specified in Step S603 to the DB server connection management unit 302. The DB server connection management unit 302 determines a DB server to be connected based on the received tenant information. A method for calling the DB server connection management unit 302 will be described later with reference to FIGS. 18A and 18B. A method for determining a DB server to be connected will be described with reference to FIGS. 9 and 10A to 10C.
 その後ステップS605~S607において、業務UAP処理部301は、ステップS604によって接続すべきDBサーバとして決定され、接続が確立されたDBサーバに対して、入力電文408内の各SQL文を実行する(S605~S607)。その後ステップS608において、UAP制御部412は、ステップS602で開始したトランザクションをコミットする(S608)。 Thereafter, in steps S605 to S607, the business UAP processing unit 301 executes the respective SQL statements in the input message 408 for the DB server that has been determined as the DB server to be connected in step S604 and has been connected (S605). To S607). Thereafter, in step S608, the UAP control unit 412 commits the transaction started in step S602 (S608).
 その後ステップS609において、UAP制御部412は、業務UAP処理部301の処理結果に基づいて、応答送信先に送信すべき出力電文410を設定する(S609)。なお、設定された出力電文410は、電文送信部411によって応答送信先に送信される。 Thereafter, in step S609, the UAP control unit 412 sets the output message 410 to be transmitted to the response transmission destination based on the processing result of the business UAP processing unit 301 (S609). The set output message 410 is transmitted to the response transmission destination by the message transmission unit 411.
 以上の処理により、オンラインシステム407では、入力電文408、すなわちトランザクションの処理要求を受信する度に、受信した入力電文408に基づいて、接続すべきDBサーバを決定している。これにより、各APサーバ211a、211bにテナントα、βからのトランザクションの処理要求が混在した場合であっても、柔軟かつ迅速にDBサーバ213a、213bの割り当てを変更することができる。 Through the above processing, the online system 407 determines a DB server to be connected based on the received input message 408 every time an input message 408, that is, a transaction processing request is received. Thereby, even if transaction processing requests from the tenants α and β are mixed in the AP servers 211a and 211b, the allocation of the DB servers 213a and 213b can be changed flexibly and quickly.
 なお、このオンラインシステム407では、各APサーバ211a、211bが、受信した入力電文408(トランザクションの処理要求)に基づいて、接続すべきDBサーバを決定するが、この場合には限らない。例えば、各Webサーバ210a、210bが、受信した入力電文408に基づいて、接続すべきAPサーバ211a、211bを決定する形態でもよいし、その他の形態にも応用可能である。 In this online system 407, each AP server 211a, 211b determines a DB server to be connected based on the received input message 408 (transaction processing request), but this is not a limitation. For example, each of the Web servers 210a and 210b may determine the AP servers 211a and 211b to be connected based on the received input message 408, or can be applied to other forms.
 図9は、本発明の第1の実施形態のDBサーバ接続管理部302の動作を説明するための図である。図9の左側のフローチャートは、テナント情報受取部415、対象サーバ検索部416及びサーバ再接続部417の制御ロジックを示している。図9の右側のテーブルは、トランザクション管理テーブル303の一例を示している。 FIG. 9 is a diagram for explaining the operation of the DB server connection management unit 302 according to the first embodiment of this invention. The flowchart on the left side of FIG. 9 shows the control logic of the tenant information receiving unit 415, the target server search unit 416, and the server reconnection unit 417. The table on the right side of FIG. 9 shows an example of the transaction management table 303.
 トランザクション管理テーブル303は、表701で示すように、テナントがαである場合の接続先DBサーバはD1であり、テナントがβである場合の接続先DBサーバはD2であることが対応付けられている。すなわち、このトランザクション管理テーブル303は、トランザクション処理要求を識別する情報であるテナントと、トランザクション処理要求に対応するトランザクション処理を実行する際に接続すべき他のリソース(ここでは、DBサーバ)への接続パスであるホスト名と、の対応情報を管理する。以下、左側のフローチャートについて説明する。 As shown in Table 701, the transaction management table 303 associates that the connection destination DB server when the tenant is α is D1, and the connection destination DB server when the tenant is β is D2. Yes. That is, the transaction management table 303 is a connection between the tenant, which is information for identifying a transaction processing request, and other resources (in this case, a DB server) to be connected when executing the transaction processing corresponding to the transaction processing request. Manages correspondence information between host names that are paths. Hereinafter, the left flowchart will be described.
 まずステップS701において、テナント情報受取部415は、業務UAP処理部301から、入力電文408に対応したテナント情報を受け取る(S701)。 First, in step S701, the tenant information receiving unit 415 receives tenant information corresponding to the input message 408 from the business UAP processing unit 301 (S701).
 次にステップS702において、対象サーバ検索部416は、トランザクション管理テーブル303を参照し、ステップS701で受け取ったテナントに対応する接続先DBサーバを検索し、選択する(S702)。図7の例では、ステップS701で受け取ったテナント情報がテナントαを示す場合には、接続先DBサーバD1を選択する。一方、ステップS701で受け取ったテナント情報がテナントβを示す場合には、接続先DBサーバD2を選択する。 Next, in step S702, the target server search unit 416 refers to the transaction management table 303, searches for and selects a connection destination DB server corresponding to the tenant received in step S701 (S702). In the example of FIG. 7, when the tenant information received in step S701 indicates the tenant α, the connection destination DB server D1 is selected. On the other hand, if the tenant information received in step S701 indicates the tenant β, the connection destination DB server D2 is selected.
 その後ステップS703において、サーバ再接続部417は、ステップS702で選択された接続先DBサーバが、現在接続している接続先DBサーバと異なるか否かを判定する(S703)。選択された接続先DBサーバが、現在接続している接続先DBサーバと異なる場合(S703でYES)、サーバ再接続部417は、新しい接続先DBサーバと接続する(S704)。このステップS704については、図10A~10Cを用いて詳細に後述する。一方、選択された接続先DBサーバが、現在接続している接続先DBサーバと同じ場合(S703でNO)、接続先DBサーバを変更する必要がないので、サーバ再接続部417は、何も実行せずに処理を終了する。 Thereafter, in step S703, the server reconnection unit 417 determines whether or not the connection destination DB server selected in step S702 is different from the currently connected connection destination DB server (S703). When the selected connection destination DB server is different from the currently connected connection destination DB server (YES in S703), the server reconnection unit 417 connects to the new connection destination DB server (S704). Step S704 will be described later in detail with reference to FIGS. 10A to 10C. On the other hand, if the selected connection destination DB server is the same as the currently connected connection destination DB server (NO in S703), there is no need to change the connection destination DB server, so the server reconnection unit 417 does nothing. The process ends without executing.
 図10Aは、本発明の第1の実施形態のサーバ再接続の処理手順の第1の例を示すフローチャートである。ここでは、図9のステップS704の処理、すなわちサーバ再接続部417が新しい接続先DBサーバと接続する処理の第1の例を説明する。 FIG. 10A is a flowchart illustrating a first example of a server reconnection processing procedure according to the first embodiment of this invention. Here, a first example of the process in step S704 in FIG. 9, that is, the process in which the server reconnection unit 417 connects to a new connection destination DB server will be described.
 まずステップS801において、サーバ再接続部417は、現在確立している接続先DBサーバとの接続を破棄する(S801)。次にステップS802において、サーバ再接続部417は、トランザクション処理要求の種別に対応する接続先DBサーバとの接続を確立する(S802)。ここでは、図9のステップS702において選択された接続先DBサーバとの接続を確立する。その後ステップS803において、サーバ再接続部417は、ステップS802で確立された接続を、実際に利用する接続として宣言する(S803)。 First, in step S801, the server reconnection unit 417 discards the connection with the currently established connection destination DB server (S801). In step S802, the server reconnection unit 417 establishes a connection with the connection destination DB server corresponding to the type of transaction processing request (S802). Here, the connection with the connection destination DB server selected in step S702 of FIG. 9 is established. Thereafter, in step S803, the server reconnection unit 417 declares the connection established in step S802 as a connection to be actually used (S803).
 以上に示す処理により、サーバ再接続部417は、接続先DBサーバの接続数を増加させることなく、新しい接続先DBサーバと接続することができる。 Through the processing described above, the server reconnection unit 417 can connect to a new connection destination DB server without increasing the number of connections of the connection destination DB server.
 図10Bは、本発明の第1の実施形態のサーバ再接続の処理手順の第2の例を示すフローチャートである。ここでは、図9のステップS704の処理、すなわちサーバ再接続部417が新しい接続先DBサーバと接続する処理の第2の例を説明する。 FIG. 10B is a flowchart illustrating a second example of the server reconnection processing procedure according to the first embodiment of this invention. Here, a second example of the process in step S704 of FIG. 9, that is, the process in which the server reconnection unit 417 connects to a new connection destination DB server will be described.
 まずステップS804において、サーバ再接続部417は、現在確立している接続先DBサーバとの接続を保持する(S804)。次にステップS805において、サーバ再接続部417は、ステップS804で保持される接続とは別に、トランザクション処理要求の種別に対応する接続先DBサーバとの接続を確立する(S805)。ここでは、図9のステップS702において選択された接続先DBサーバとの接続を新たに確立する。その後ステップS806において、サーバ再接続部417は、ステップS805で確立された接続を、実際に利用する接続として宣言する(S806)。 First, in step S804, the server reconnecting unit 417 holds the connection with the currently established connection destination DB server (S804). Next, in step S805, the server reconnection unit 417 establishes a connection with the connection destination DB server corresponding to the type of the transaction processing request separately from the connection held in step S804 (S805). Here, a new connection is established with the connection destination DB server selected in step S702 of FIG. Thereafter, in step S806, the server reconnection unit 417 declares the connection established in step S805 as a connection to be actually used (S806).
 以上に示す処理により、サーバ再接続部417は、現在確立している接続先DBサーバとの接続を保持したまま、新しい接続先DBサーバと接続している。そのため、現在確立している接続先DBサーバとの接続を再利用できる。 Through the processing described above, the server reconnection unit 417 is connected to the new connection destination DB server while maintaining the connection with the currently established connection destination DB server. Therefore, the connection with the connection destination DB server that is currently established can be reused.
 図10Cは、本発明の第1の実施形態のサーバ再接続の処理手順の第3の例を示すフローチャートである。ここでは、図9のステップS704の処理、すなわちサーバ再接続部417が新しい接続先DBサーバと接続する処理の第3の例を説明する。 FIG. 10C is a flowchart illustrating a third example of a server reconnection processing procedure according to the first embodiment of this invention. Here, a third example of the process in step S704 in FIG. 9, that is, the process in which the server reconnection unit 417 connects to a new connection destination DB server will be described.
 まずステップS807において、サーバ再接続部417は、現在確立している複数の接続先DBサーバ(接続先DBサーバ群)との接続の中に、トランザクション処理要求の種別に対応する接続があるか否かを判定する(S807)。トランザクション処理要求の種別に対応する接続がない場合(S807でNO)、ステップS808に進む。 First, in step S807, the server reconnection unit 417 determines whether or not there is a connection corresponding to the type of transaction processing request among the connections with a plurality of currently established connection destination DB servers (connection destination DB server group). Is determined (S807). If there is no connection corresponding to the type of transaction processing request (NO in S807), the process proceeds to step S808.
 ステップS808に進むと、サーバ再接続部417は、現在確立している接続数が所定の閾値より大きいか否かを判定する(S808)。ここでいう閾値とは、業務UAP処理部301が許容できる接続数の最大値である。 In step S808, the server reconnection unit 417 determines whether or not the number of currently established connections is greater than a predetermined threshold (S808). The threshold here is the maximum number of connections that the business UAP processing unit 301 can tolerate.
 現在確立している接続数が閾値よりも大きい場合(S808でYES)、接続数を増やすことはできないので、ステップS809に進んで、サーバ再接続部417は、現在確立している複数の接続のうち、最後の利用からの経過時間が長い(LRU:Least Recently Used)接続を破棄する(S809)。 If the number of currently established connections is greater than the threshold (YES in S808), the number of connections cannot be increased, so the process proceeds to step S809, where the server reconnection unit 417 determines the number of connections that are currently established. Among them, the connection with a long elapsed time from the last use (LRU: Least Recently Used) is discarded (S809).
 一方、現在確立している接続数が閾値よりも小さい場合(S808でNO)、接続数を増やすことができるので、ステップS810に進んで、まずサーバ再接続部417は、現在確立している接続を保持する(S810)。その後ステップS811に進んで、サーバ再接続部417は、トランザクション処理要求の種別に対応する接続先DBサーバとの接続を確立する(S811)。ここでは、図9のステップS702において選択された接続先DBサーバとの接続を新たに確立する。 On the other hand, if the number of currently established connections is smaller than the threshold value (NO in S808), the number of connections can be increased, so the process proceeds to step S810, and the server reconnection unit 417 first establishes the currently established connection. Is held (S810). Thereafter, the process proceeds to step S811, and the server reconnection unit 417 establishes a connection with the connection destination DB server corresponding to the type of the transaction processing request (S811). Here, a new connection is established with the connection destination DB server selected in step S702 of FIG.
 また、ステップS807において、トランザクション処理要求の種別に対応する接続がある場合(S807でYES)、ステップS812に進んで、サーバ再接続部417は、現在確立している接続を、トランザクション処理要求の種別に対応する接続に切り替える(S807)。ここでは、図9のステップS702において選択された接続先DBサーバとの接続に切り替える。 If there is a connection corresponding to the type of transaction processing request in step S807 (YES in step S807), the process advances to step S812, and the server reconnection unit 417 changes the currently established connection to the type of transaction processing request. Is switched to the connection corresponding to (S807). Here, the connection is switched to the connection destination DB server selected in step S702 of FIG.
 ステップS813に進むと、サーバ再接続部417は、ステップS811で確立された接続又はステップS812で切り替えられた接続を、実際に利用する接続として宣言する(S813)。 In step S813, the server reconnection unit 417 declares the connection established in step S811 or the connection switched in step S812 as a connection to be actually used (S813).
 以上に示す処理により、サーバ再接続部417は、接続先DBサーバの接続数を一定数以上に増加させることなく、新しい接続先DBサーバと接続することができる。また、現在確立している接続先DBサーバとの接続を保持したまま、新しい接続先DBサーバと接続している。そのため、現在確立している接続先DBサーバとの接続を再利用できる。 Through the processing described above, the server reconnection unit 417 can connect to a new connection destination DB server without increasing the number of connections of the connection destination DB server to a certain number or more. Further, the connection to the new connection destination DB server is made while maintaining the connection with the connection destination DB server that is currently established. Therefore, the connection with the connection destination DB server that is currently established can be reused.
 以上説明してきた第1の実施形態によれば、各APサーバ211a(211b)にテナントα向けの処理要求とテナントβ向けの処理要求が混在した場合であっても、簡易な構成で柔軟かつ迅速にDBサーバ213a、213bの割り当てを変更することができる。 According to the first embodiment described above, even when processing requests for the tenant α and processing requests for the tenant β are mixed in each AP server 211a (211b), it is flexible and quick with a simple configuration. The allocation of the DB servers 213a and 213b can be changed.
 (第2の実施形態)
 前述の第1の実施形態では、テナント毎に1台のDBサーバ(図2参照、テナントαにはDBサーバ212a、テナントβにはDBサーバ212b)が設けられる形態について説明してきた。ここでは、テナント毎に複数台のDBサーバが設けられる形態について説明する。なお、以下では前述の第1の実施形態と同様の構成要素には同一の符号を付して重複する説明を適宜省略する。
(Second Embodiment)
In the first embodiment described above, a mode has been described in which one DB server is provided for each tenant (see FIG. 2, the DB server 212 a for the tenant α and the DB server 212 b for the tenant β). Here, a mode in which a plurality of DB servers are provided for each tenant will be described. In the following description, the same components as those in the first embodiment described above are denoted by the same reference numerals, and redundant description is omitted as appropriate.
 図11は、本発明の第2の実施形態のマルチテナント方式の計算機システム1の構成例を示す図である。この計算機システム1は、テナントα、β用のマルチテナント環境である。なお、ここでは図2と同様の構成要素には同一の符号を付して重複する説明を適宜省略する。 FIG. 11 is a diagram illustrating a configuration example of the multi-tenant computer system 1 according to the second embodiment of this invention. This computer system 1 is a multi-tenant environment for tenants α and β. Here, the same components as those in FIG. 2 are denoted by the same reference numerals, and redundant description will be omitted as appropriate.
 図11に示すように、複数のDBサーバ213a、213bが設けられている。各DBサーバ213aは、テナントα用のデータベースサーバである。APサーバ211aのみが、各DBサーバ213aに接続可能である。一方、各DBサーバ213bは、テナントβ用のデータベースサーバである。APサーバ211bのみが、各DBサーバ212bに接続可能である。DBサーバ213a、213bの構成については後述する。 As shown in FIG. 11, a plurality of DB servers 213a and 213b are provided. Each DB server 213a is a database server for tenant α. Only the AP server 211a can be connected to each DB server 213a. On the other hand, each DB server 213b is a database server for tenant β. Only the AP server 211b can be connected to each DB server 212b. The configuration of the DB servers 213a and 213b will be described later.
 以上に示す構成により、計算機システム1では、端末206a、206bがトランザクションの処理要求に係る電文を発行する。発行された電文は、ネットワーク回線207等を通って、対応するWebサーバ210a、210bに送信される。電文を受信したWebサーバ210a、210bは、対応するAPサーバ211a、211bに送信する。その後、APサーバ211a、211bは、それぞれDBサーバ213a、213bに接続して、受信した電文に対応するトランザクション処理を実行する。 With the configuration described above, in the computer system 1, the terminals 206a and 206b issue a message related to a transaction processing request. The issued electronic message is transmitted to the corresponding Web servers 210a and 210b through the network line 207 and the like. The Web servers 210a and 210b that have received the electronic message transmit the corresponding AP servers 211a and 211b. Thereafter, the AP servers 211a and 211b connect to the DB servers 213a and 213b, respectively, and execute transaction processing corresponding to the received electronic message.
 本発明の第2の実施形態のAPサーバ211a、211bの構成は、前述の第1の実施形態(図3参照)と同様であるため、ここでは説明を省略する。 Since the configuration of the AP servers 211a and 211b according to the second embodiment of the present invention is the same as that of the first embodiment (see FIG. 3), description thereof is omitted here.
 図12は、本発明の第2の実施形態のDBサーバ213a、213bの構成例を示すブロック図である。なお、ここでは図4と同様の構成要素には同一の符号を付して重複する説明を適宜省略する。 FIG. 12 is a block diagram illustrating a configuration example of the DB servers 213a and 213b according to the second embodiment of this invention. Here, the same components as those in FIG. 4 are denoted by the same reference numerals, and redundant description will be omitted as appropriate.
 図12において、DBサーバ213aは、DBテーブル203a、DBMSインスタンス204a、OS205aを備える。同様に、DBサーバ213bは、DBテーブル203b、DBMSインスタンス204b、OS205bを備える。 12, the DB server 213a includes a DB table 203a, a DBMS instance 204a, and an OS 205a. Similarly, the DB server 213b includes a DB table 203b, a DBMS instance 204b, and an OS 205b.
 このように、複数のDBサーバ213a、213bの各々は、OS、DBMSのインスタンス、DBテーブルの全てをテナント毎に分離する個別DB方式である。この個別DB方式は、各テナントが金融機関や医療機関等であって、DBサーバ213a、213bに格納すべきデータが顧客管理データ等の高い機密性を必要とする場合に、特に有効である。 In this way, each of the plurality of DB servers 213a and 213b is an individual DB system that separates all of the OS, DBMS instances, and DB tables for each tenant. This individual DB method is particularly effective when each tenant is a financial institution or medical institution and the data to be stored in the DB servers 213a and 213b requires high confidentiality such as customer management data.
 本発明の第2の実施形態の計算機401の構成は、前述の第1の実施形態(図6参照)と同様であるため、ここでは説明を省略する。 Since the configuration of the computer 401 according to the second embodiment of the present invention is the same as that of the first embodiment (see FIG. 6), the description thereof is omitted here.
 図13は、本発明の第2の実施形態のDBサーバ接続管理部302の動作を説明するための図である。図13の左側のフローチャートは、テナント情報受取部415、対象サーバ検索部416及びサーバ再接続部417の制御ロジックを示している。図13の右側のテーブルは、トランザクション管理テーブル303の一例を示している。 FIG. 13 is a diagram for explaining the operation of the DB server connection management unit 302 according to the second embodiment of this invention. The flowchart on the left side of FIG. 13 shows the control logic of the tenant information receiving unit 415, the target server search unit 416, and the server reconnection unit 417. The table on the right side of FIG. 13 shows an example of the transaction management table 303.
 トランザクション管理テーブル303は、表1001に示すように、テナントがαである場合の接続先DBサーバはD1(負荷レベル0)、D2(負荷レベル2)、D3(負荷レベル2)であり、テナントがβである場合の接続先DBサーバはD4(負荷レベル1)、D5(負荷レベル1)であることが対応付けられている。負荷レベルとは、各接続先DBサーバに対する負荷の度合いを示す指標である。例えば、各接続先DBサーバに送られる時間当たりのリクエスト数に基づいて定められる。 In the transaction management table 303, as shown in the table 1001, the connection destination DB servers when the tenant is α are D1 (load level 0), D2 (load level 2), and D3 (load level 2). The connection destination DB server in the case of β is associated with D4 (load level 1) and D5 (load level 1). The load level is an index indicating the degree of load on each connection destination DB server. For example, it is determined based on the number of requests per time sent to each connection destination DB server.
 すなわち、このトランザクション管理テーブル303は、トランザクション処理要求を識別する情報であるテナントと、トランザクション処理要求に対応するトランザクション処理を実行する際に接続すべき他のリソース(ここでは、DBサーバ)への接続パスであるホスト名と、負荷レベルとの対応情報を管理する。なお、負荷レベルは、複数の接続パスから一つの接続パスを選択するために用いられる。詳細には後述する。左側のフローチャートは図9のフローチャートと同様であるため、ここでは説明を省略する。 That is, the transaction management table 303 is a connection between the tenant, which is information for identifying a transaction processing request, and other resources (in this case, a DB server) to be connected when executing the transaction processing corresponding to the transaction processing request. It manages correspondence information between host names that are paths and load levels. The load level is used to select one connection path from a plurality of connection paths. Details will be described later. Since the flowchart on the left side is the same as the flowchart of FIG. 9, the description thereof is omitted here.
 図14Aは、本発明の第2の実施形態のトランザクション管理テーブル303の別の例を示す図である。 FIG. 14A is a diagram showing another example of the transaction management table 303 according to the second embodiment of this invention.
 トランザクション管理テーブル303は、表1002に示すように、トランザクション処理要求を識別する情報であるテナントと、トランザクション処理要求に対応するトランザクション処理を実行する際に接続すべき他のリソース(ここでは、DBサーバ)への接続パスであるホスト名と、接続数との対応情報が管理される。接続数とは、各接続先DBサーバにおけるリソースの専有度合い(ここでは同時接続数)を示す指標である。この接続数は、前述の負荷レベルと同様に、複数の接続パスから一つの接続パスを選択するために用いられる。詳細には後述する。 As shown in a table 1002, the transaction management table 303 includes a tenant, which is information for identifying a transaction processing request, and other resources (here, a DB server) to be connected when executing a transaction processing corresponding to the transaction processing request. The correspondence information between the host name, which is a connection path to (), and the number of connections is managed. The number of connections is an index indicating the degree of resource occupancy (here, the number of simultaneous connections) in each connection destination DB server. This number of connections is used to select one connection path from a plurality of connection paths, similar to the load level described above. Details will be described later.
 図14Bは、本発明の第2の実施形態のトランザクション管理テーブル303の別の例を示す図である。 FIG. 14B is a diagram showing another example of the transaction management table 303 according to the second embodiment of this invention.
 トランザクション管理テーブル303は、表1003に示すように、トランザクション処理要求を識別する情報であるテナントと、トランザクション処理要求に対応するトランザクション処理を実行する際に接続すべき他のリソース(ここでは、DBサーバ)への接続パスであるホスト名と、口座番号キーレンジとの対応情報が管理される。口座番号キーレンジとは、各接続先DBサーバに格納されるデータの範囲を示す指標である。この口座番号キーレンジは、前述の負荷レベル及び接続数と同様に、複数の接続パスから一つの接続パスを選択するために用いられる。詳細には後述する。 As shown in a table 1003, the transaction management table 303 includes a tenant, which is information for identifying a transaction processing request, and other resources (here, a DB server) to be connected when executing a transaction processing corresponding to the transaction processing request. The correspondence information between the host name which is the connection path to the account number and the account number key range is managed. The account number key range is an index indicating the range of data stored in each connection destination DB server. This account number key range is used to select one connection path from a plurality of connection paths, similarly to the load level and the number of connections described above. Details will be described later.
 図15Aは、本発明の第2の実施形態のサーバ再接続の処理手順の第1の例を示すフローチャートである。ここでは、図13のステップS704の処理、すなわちサーバ再接続部417が新しい接続先DBサーバと接続する処理の第1の例を説明する。なお、ここでは図10Aと同様の構成要素には同一の符号を付して重複する説明を適宜省略する。 FIG. 15A is a flowchart illustrating a first example of a server reconnection processing procedure according to the second embodiment of this invention. Here, a first example of the process in step S704 in FIG. 13, that is, the process in which the server reconnection unit 417 connects to a new connection destination DB server will be described. Here, the same components as those in FIG. 10A are denoted by the same reference numerals, and redundant description will be omitted as appropriate.
 ステップS1102では、サーバ再接続部417は、トランザクション管理テーブル303(図13参照)を参照し、トランザクション処理要求の種別に対応する接続先DBサーバのうち、負荷レベルの最も低い任意の一つの接続先DBサーバとの接続を確立する(S1102)。ここでは、図13のステップS702において選択された接続先DBサーバのうち、負荷レベルの最も低い接続先DBサーバとの接続を確立する。 In step S1102, the server reconnection unit 417 refers to the transaction management table 303 (see FIG. 13), and among the connection destination DB servers corresponding to the transaction processing request type, any one connection destination with the lowest load level. A connection with the DB server is established (S1102). Here, a connection is established with the connection destination DB server having the lowest load level among the connection destination DB servers selected in step S702 of FIG.
 以上に示す処理により、サーバ再接続部417は、接続先DBサーバの接続数を増加させることなく、複数の接続先DBサーバから負荷レベルの最も低い一つの接続先DBサーバを選択して接続することができる。 Through the processing described above, the server reconnection unit 417 selects and connects one connection destination DB server with the lowest load level from a plurality of connection destination DB servers without increasing the number of connections of the connection destination DB servers. be able to.
 図15Bは、本発明の第2の実施形態のサーバ再接続の処理手順の第2の例を示すフローチャートである。ここでは、図13のステップS704の処理、すなわちサーバ再接続部417が新しい接続先DBサーバと接続する処理の第2の例を説明する。なお、ここでは図10Bと同様の構成要素には同一の符号を付して重複する説明を適宜省略する。 FIG. 15B is a flowchart illustrating a second example of a server reconnection processing procedure according to the second embodiment of this invention. Here, a second example of the process in step S704 of FIG. 13, that is, the process in which the server reconnection unit 417 connects to a new connection destination DB server will be described. In addition, the same code | symbol is attached | subjected to the component similar to FIG. 10B here, and the overlapping description is abbreviate | omitted suitably.
 ステップS1105では、サーバ再接続部417は、トランザクション管理テーブル303(図13参照)を参照し、ステップS804で保持される接続とは別に、トランザクション処理要求の種別に対応する接続先DBサーバのうち、負荷レベルの最も低い任意の一つの接続先DBサーバとの接続を確立する(S1105)。ここでは、図13のステップS702において選択された接続先DBサーバのうち、負荷レベルの最も低い接続先DBサーバとの接続を新たに確立する。 In step S1105, the server reconnection unit 417 refers to the transaction management table 303 (see FIG. 13), and apart from the connection held in step S804, among the connection destination DB servers corresponding to the transaction processing request type, A connection with any one connection destination DB server having the lowest load level is established (S1105). Here, a connection is newly established with the connection destination DB server having the lowest load level among the connection destination DB servers selected in step S702 of FIG.
 以上に示す処理により、サーバ再接続部417は、現在確立している接続先DBサーバとの接続を保持したまま、複数の接続先DBサーバから負荷レベルの最も低い一つの接続先DBサーバを選択して接続している。そのため、現在確立している接続先DBサーバとの接続を再利用できる。 Through the processing described above, the server reconnection unit 417 selects one connection destination DB server having the lowest load level from the plurality of connection destination DB servers while maintaining the connection with the currently established connection destination DB server. Connected. Therefore, the connection with the connection destination DB server that is currently established can be reused.
 図15Cは、本発明の第2の実施形態のサーバ再接続の処理手順の第3の例を示すフローチャートである。ここでは、図13のステップS704の処理、すなわちサーバ再接続部417が新しい接続先DBサーバと接続する処理の第3の例を説明する。なお、ここでは図10Cと同様の構成要素には同一の符号を付して重複する説明を適宜省略する。 FIG. 15C is a flowchart illustrating a third example of a server reconnection processing procedure according to the second embodiment of this invention. Here, a third example of the process in step S704 in FIG. 13, that is, the process in which the server reconnection unit 417 connects to a new connection destination DB server will be described. In addition, the same code | symbol is attached | subjected to the component similar to FIG. 10C here, and the overlapping description is abbreviate | omitted suitably.
 ステップS1111では、サーバ再接続部417は、トランザクション管理テーブル303(図13参照)を参照し、トランザクション処理要求の種別に対応する接続先DBサーバのうち、負荷レベルの最も低い任意の一つの接続先DBサーバとの接続を確立する(S1111)。ここでは、図13のステップS702において選択された接続先DBサーバのうち、負荷レベルの最も低い接続先DBサーバとの接続を新たに確立する。 In step S1111, the server reconnection unit 417 refers to the transaction management table 303 (see FIG. 13), and among the connection destination DB servers corresponding to the transaction processing request type, any one connection destination with the lowest load level. A connection with the DB server is established (S1111). Here, a connection is newly established with the connection destination DB server having the lowest load level among the connection destination DB servers selected in step S702 of FIG.
 以上に示す処理により、サーバ再接続部417は、接続先DBサーバの接続数を一定数以上に増加させることなく、複数の接続先DBサーバから負荷レベルの最も低い一つの接続先DBサーバを選択して接続することができる。また、現在確立している接続先DBサーバとの接続を保持したまま、新しい接続先DBサーバと接続している。そのため、現在確立している接続先DBサーバとの接続を再利用できる。 Through the processing described above, the server reconnection unit 417 selects one connection destination DB server having the lowest load level from the plurality of connection destination DB servers without increasing the number of connections of the connection destination DB servers to a certain number or more. Can be connected. Further, the connection to the new connection destination DB server is made while maintaining the connection with the connection destination DB server that is currently established. Therefore, the connection with the connection destination DB server that is currently established can be reused.
 なお、図15A~図15Cに示すフローチャートのステップS1102、S1105、S1111では、図13のトランザクション管理テーブル303を参照したが、この場合に限らない。 Note that, in steps S1102, S1105, and S1111 of the flowcharts shown in FIGS. 15A to 15C, the transaction management table 303 in FIG. 13 is referred to, but this is not a limitation.
 例えば図14Aのトランザクション管理テーブル303を参照し、トランザクション処理要求の種別に対応する複数の接続先DBサーバから、接続数の最も少ない任意の一つの接続先DBサーバとの接続を確立してもよい。これにより、各接続先DBサーバにおけるリソースの専有状況に応じて、接続先DBサーバとの接続を適切に変更することができる。 For example, referring to the transaction management table 303 in FIG. 14A, a connection with any one connection destination DB server having the smallest number of connections may be established from a plurality of connection destination DB servers corresponding to the type of transaction processing request. . As a result, the connection with the connection destination DB server can be appropriately changed according to the resource exclusive status of each connection destination DB server.
 また、図14Bのトランザクション管理テーブル303を参照し、トランザクション処理要求の種別に対応する複数の接続先サーバから、当該トランザクション処理要求に係る口座番号を含む口座番号キーレンジの接続先サーバとの接続を確立してもよい。これにより、各接続先DBサーバに格納されたデータの範囲に応じて、接続先DBサーバとの接続を適切に変更することができる。 Further, referring to the transaction management table 303 in FIG. 14B, the connection from the plurality of connection destination servers corresponding to the transaction processing request type to the connection destination server of the account number key range including the account number related to the transaction processing request. It may be established. Thereby, according to the range of the data stored in each connection destination DB server, a connection with a connection destination DB server can be changed appropriately.
 (第3の実施形態)
 前述の第1の実施形態及び第2の実施形態では、業務UAP処理部301(図6参照)がDBサーバ接続管理部302と連携する形態について説明してきた。ここでは、UAP制御部412がDBサーバ接続管理部302と連携する形態について説明する。
(Third embodiment)
In the first embodiment and the second embodiment described above, the form in which the business UAP processing unit 301 (see FIG. 6) cooperates with the DB server connection management unit 302 has been described. Here, a mode in which the UAP control unit 412 cooperates with the DB server connection management unit 302 will be described.
 図16は、本発明の第3の実施形態の計算機401の構成例を示すブロック図である。この計算機401は、図1のAPサーバ103に対応する。この計算機401は、それぞれバスで相互に接続された主記憶装置402、CPU403、出力装置404、入力装置405、補助記憶装置419、ドライブ装置420を備えるコンピュータ装置である。 FIG. 16 is a block diagram illustrating a configuration example of a computer 401 according to the third embodiment of this invention. This computer 401 corresponds to the AP server 103 of FIG. The computer 401 is a computer device that includes a main storage device 402, a CPU 403, an output device 404, an input device 405, an auxiliary storage device 419, and a drive device 420 that are connected to each other via a bus.
 なお、ここでは図6と同様の構成要素には同一の符号を付して重複する説明を適宜省略する。 Here, the same components as those in FIG. 6 are denoted by the same reference numerals, and redundant description will be omitted as appropriate.
 以下、図16に示すオンラインシステム407について説明する。このオンラインシステム407は、前述の第1の実施形態及び第2の実施形態と異なり、UAP制御部412がDB接続部418を備え、UAP制御部412とDBサーバ接続管理部302とが連携する。 Hereinafter, the online system 407 shown in FIG. 16 will be described. In the online system 407, unlike the above-described first and second embodiments, the UAP control unit 412 includes a DB connection unit 418, and the UAP control unit 412 and the DB server connection management unit 302 cooperate with each other.
 電文受信部409は、処理要求元である各テナントから送信された入力電文408を受信する。受信された入力電文408は、UAP制御部412に送られる。実行UAP判定部413は、この入力電文408に基づいて、実行すべきユーザアプリケーションを判定する。このとき、DB接続部418が、DBサーバ接続管理部302を呼出し、入力電文408に対応したテナントの情報を、DBサーバ接続管理部302に渡す。一方、スケジューラ414は、実行すべきユーザアプリケーションをスケジューリングする。 The message receiving unit 409 receives the input message 408 transmitted from each tenant that is the processing request source. The received input message 408 is sent to the UAP control unit 412. The execution UAP determination unit 413 determines a user application to be executed based on the input message 408. At this time, the DB connection unit 418 calls the DB server connection management unit 302 and passes the tenant information corresponding to the input message 408 to the DB server connection management unit 302. On the other hand, the scheduler 414 schedules user applications to be executed.
 そうすると、テナント情報受取部415が、このテナント情報を受け取る。その後、対象サーバ検索部416が、トランザクション管理テーブル303を参照し、このテナント情報に対応したDBサーバを検索する。その後、サーバ再接続部417は、対象サーバ検索部416によって検索されたDBサーバと、既に接続が確立しているDBサーバとが異なる場合、検索されたDBサーバに接続する。 Then, the tenant information receiving unit 415 receives this tenant information. Thereafter, the target server search unit 416 searches the DB server corresponding to the tenant information with reference to the transaction management table 303. Thereafter, the server reconnecting unit 417 connects to the searched DB server when the DB server searched by the target server searching unit 416 and the DB server that has already been connected are different.
 このようにして、DBサーバ接続管理部302は、入力電文408に応じて、接続先のDBサーバ(不図示)との間の接続を確立させる。その後、DBサーバ接続管理部302によってDBサーバとの間の接続が確立すると、DB接続部418は、接続が確立された旨の情報を業務UAP処理部301に渡す。その後、業務UAP処理部301は、接続が確立されたDBサーバを参照し、スケジューラ414によって生成されたスケジュールに従って、実行すべきユーザアプリケーションを実行する。 In this way, the DB server connection management unit 302 establishes a connection with a connection destination DB server (not shown) according to the input message 408. Thereafter, when the connection with the DB server is established by the DB server connection management unit 302, the DB connection unit 418 passes information indicating that the connection is established to the business UAP processing unit 301. Thereafter, the business UAP processing unit 301 refers to the DB server to which the connection is established, and executes the user application to be executed according to the schedule generated by the scheduler 414.
 なお、UAP制御部412は、業務UAP処理部301の処理結果に基づいて、応答送信先に送信すべき出力電文410を設定する。電文送信部411は、設定された出力電文410を、応答送信先に送信する。 The UAP control unit 412 sets the output message 410 to be transmitted to the response transmission destination based on the processing result of the business UAP processing unit 301. The message transmission unit 411 transmits the set output message 410 to the response transmission destination.
 図17Aは、本発明の各実施形態のトランザクション処理要求の種別の特定方法の第1の例を説明するための図である。ここでは、図8のステップS603において、実行UAP判定部413が、入力電文408中の特定フィールドに基づいて、送信元のテナントを特定する方法(1301)を説明する。 FIG. 17A is a diagram for explaining a first example of a method for specifying the type of transaction processing request according to each embodiment of the present invention. Here, a method (1301) in which the execution UAP determination unit 413 identifies the transmission source tenant based on the specific field in the input message 408 in step S603 in FIG. 8 will be described.
 図17Aに示す例では、実行UAP判定部413は、入力電文408中の銀行コードのフィールド値が銀行コード1の場合、送信元のテナントがαであることを特定する。一方、入力電文408中の銀行コードのフィールド値が銀行コード2の場合、送信元のテナントがβであることを特定する。 In the example shown in FIG. 17A, when the field value of the bank code in the input message 408 is the bank code 1, the execution UAP determination unit 413 specifies that the transmission source tenant is α. On the other hand, when the field value of the bank code in the input message 408 is the bank code 2, it is specified that the transmission source tenant is β.
 図17Bは、本発明の各実施形態のトランザクション処理要求の種別の特定方法の第2の例を説明するための図である。ここでは、図8のステップS603において、実行UAP判定部413が、入力電文408に含まれるURL(Universal Resource Location)に基づいて、送信元のテナントを特定する方法(1302)を説明する。 FIG. 17B is a diagram for describing a second example of the method for specifying the type of transaction processing request according to each embodiment of the present invention. Here, a method (1302) in which the execution UAP determination unit 413 identifies the transmission source tenant based on the URL (Universal Resource Location) included in the input message 408 in step S603 in FIG. 8 will be described.
 図17Bに示す例では、実行UAP判定部413は、入力電文408に含まれるURLが"alpha-bank"の文字列を含む場合、送信元のテナントがαであることを特定する。一方、入力電文408に含まれるURLが"beta-bank"の文字列を含む場合、送信元のテナントがβであることを特定する。 In the example illustrated in FIG. 17B, the execution UAP determination unit 413 specifies that the transmission source tenant is α when the URL included in the input message 408 includes the character string “alpha-bank”. On the other hand, when the URL included in the input message 408 includes the character string “beta-bank”, it is specified that the transmission source tenant is β.
 図18Aは、本発明の各実施形態のDBサーバ接続管理部302の呼出方法の第1の例を説明するための図である。ここでは、図8のステップS604において、業務UAP処理部301が、DBサーバ接続管理部302を呼出すとともに、テナント情報をDBサーバ接続管理部302に渡す方法を説明する。 FIG. 18A is a diagram for describing a first example of a calling method of the DB server connection management unit 302 according to each embodiment of the present invention. Here, a method will be described in which the business UAP processing unit 301 calls the DB server connection management unit 302 and passes tenant information to the DB server connection management unit 302 in step S604 of FIG.
 図18Aに示す例では、業務UAP処理部301は、テナント情報を引数keyとしてDBサーバ接続管理部302を呼出す(1401)。 In the example shown in FIG. 18A, the business UAP processing unit 301 calls the DB server connection management unit 302 using tenant information as an argument key (1401).
 図18Bは、本発明の各実施形態のDBサーバ接続管理部302の呼出方法の第2の例を説明するための図である。ここでは、図8のステップS604において、業務UAP処理部301が、DBサーバ接続管理部302を呼出すとともに、テナント情報をDBサーバ接続管理部302に渡す方法を説明する。 FIG. 18B is a diagram for explaining a second example of the calling method of the DB server connection management unit 302 according to each embodiment of the present invention. Here, a method will be described in which the business UAP processing unit 301 calls the DB server connection management unit 302 and passes tenant information to the DB server connection management unit 302 in step S604 of FIG.
 図18Bに示す例では、業務UAP処理部301は、入力電文408を引数としてDBサーバ接続管理部302を呼出す。この場合、呼び出されたDBサーバ接続管理部302が、入力電文408を解析し、入力電文408に対応するテナント情報を抽出する(1402)。 18B, the business UAP processing unit 301 calls the DB server connection management unit 302 using the input message 408 as an argument. In this case, the called DB server connection management unit 302 analyzes the input message 408 and extracts tenant information corresponding to the input message 408 (1402).
 図19A、19Bは、本発明の各実施形態のAPサーバ211a(211b)の構成の別の例を示す図である。 19A and 19B are diagrams showing another example of the configuration of the AP server 211a (211b) according to each embodiment of the present invention.
 図19Aに示すように、OS1505a、1505b、ミドルウェア1504a、1504b、AP1503a、1503bの全てをテナント毎に分離してもよい(1502a、1502b)。また、図19Bに示すように、OS107を各テナント間で共有し、ミドルウェア1504a、1504b、AP1503a、1503bをテナント毎に分離してもよい(1502a、1502b)。 As shown in FIG. 19A, the OS 1505a, 1505b, middleware 1504a, 1504b, and AP 1503a, 1503b may all be separated for each tenant (1502a, 1502b). In addition, as illustrated in FIG. 19B, the OS 107 may be shared among tenants, and the middleware 1504a and 1504b and the APs 1503a and 1503b may be separated for each tenant (1502a and 1502b).
 図20A、20Bは、本発明の各実施形態のDBサーバ212a、212bの構成の別の例を示すブロック図である。 20A and 20B are block diagrams showing another example of the configuration of the DB servers 212a and 212b according to the embodiments of the present invention.
 図20Aに示すように、OS1608、DBMSインスタンス1605を各テナント間で共有し、DBテーブル203a、203bをテナント毎に分離する個別スキーマ方式の構成にしてもよい。また、図20Bに示すように、OS1608、DBMSインスタンス1605、DBテーブル1607の全てを各テナント間で共有する共有スキーマ方式の構成にしてもよい。 As shown in FIG. 20A, the OS 1608 and the DBMS instance 1605 may be shared among tenants, and the DB tables 203a and 203b may be separated for each tenant. Further, as shown in FIG. 20B, a configuration of a shared schema method in which the OS 1608, the DBMS instance 1605, and the DB table 1607 are all shared among tenants may be adopted.
 以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。 Although the present invention has been described in detail with reference to the accompanying drawings, the present invention is not limited to such specific configurations, and various modifications and equivalents within the spirit of the appended claims Includes configuration.
 本発明は、計算機システムに関し、特に、複数のユーザ企業が同じ業務システムを共有して利用する、いわゆるマルチテナント方式のシステムに対して有用である。 The present invention relates to a computer system, and is particularly useful for a so-called multi-tenant system in which a plurality of user companies share and use the same business system.

Claims (10)

  1.  トランザクション処理要求を発行するクライアント装置と、前記クライアント装置によって発行されたトランザクション処理要求に対応するトランザクション処理を実行するサーバ装置と、を備えた計算機システムであって、
     前記サーバ装置は、
     前記トランザクション処理要求の種別毎に、当該トランザクション処理要求の識別情報と、当該トランザクション処理要求に対応するトランザクション処理を実行する際に接続すべき他のリソースへの接続パスとを対応付けたトランザクション管理テーブルと、
     前記クライアント装置によって発行されたトランザクション処理要求を受信する受信部と、
     前記受信部によってトランザクション処理要求を受信する度に、前記トランザクション管理テーブルを参照し、受信したトランザクション処理要求の種別に対応する前記接続パスを用いて、当該接続パスに対応する他のリソースに接続する接続管理部と、
     を備えたことを特徴とする計算機システム。
    A computer system comprising: a client device that issues a transaction processing request; and a server device that executes a transaction processing corresponding to the transaction processing request issued by the client device,
    The server device
    For each type of transaction processing request, a transaction management table in which identification information of the transaction processing request is associated with a connection path to another resource to be connected when executing the transaction processing corresponding to the transaction processing request. When,
    A receiving unit for receiving a transaction processing request issued by the client device;
    Each time a transaction processing request is received by the receiving unit, the transaction management table is referred to, and the connection path corresponding to the type of the received transaction processing request is used to connect to another resource corresponding to the connection path. A connection manager,
    A computer system characterized by comprising:
  2.  前記接続管理部は、前記他のリソースに接続する場合において、現在所定のリソースとの間で接続が確立していて、且つ、当該接続に係る接続パスが当該トランザクション処理要求の種別に対応しない場合、
     現在確立している接続を破棄し、当該トランザクション処理要求の種別に対応する前記接続パスを用いて、当該接続パスに対応する他のリソースに接続することを特徴とする請求項1に記載の計算機システム。
    When the connection management unit is connected to the other resource, the connection is currently established with the predetermined resource, and the connection path related to the connection does not correspond to the type of the transaction processing request ,
    2. The computer according to claim 1, wherein the connection established at present is discarded, and the connection path corresponding to the type of the transaction processing request is used to connect to another resource corresponding to the connection path. system.
  3.  前記接続管理部は、前記他のリソースに接続する場合において、現在所定のリソース群との間で複数の接続が確立していて、且つ、当該複数の接続に係る各々の接続パスが当該トランザクション処理要求の種別に対応しない場合、
     現在確立している接続のうち、最後の利用からの経過時間が最も長い接続を破棄し、当該トランザクション処理要求の種別に対応する前記接続パスを用いて、当該接続パスに対応する他のリソースに接続することを特徴とする請求項1に記載の計算機システム。
    When the connection management unit connects to the other resource, a plurality of connections are currently established with a predetermined resource group, and each connection path related to the plurality of connections If it does not correspond to the request type,
    Of the currently established connections, discard the connection with the longest elapsed time since the last use, and use the connection path corresponding to the type of the transaction processing request to transfer to another resource corresponding to the connection path. The computer system according to claim 1, wherein the computer system is connected.
  4.  前記接続管理部は、前記他のリソースに接続する場合において、現在所定のリソースとの間で接続が確立していて、且つ、当該接続に係る接続パスが当該トランザクション処理要求の種別に対応しない場合、
     現在確立している接続を保持し、当該トランザクション処理要求の種別に対応する前記接続パスを用いて、当該接続パスに対応する他のリソースに新たに接続することを特徴とする請求項1に記載の計算機システム。
    When the connection management unit is connected to the other resource, the connection is currently established with the predetermined resource, and the connection path related to the connection does not correspond to the type of the transaction processing request ,
    2. The connection established according to claim 1, wherein the currently established connection is held and a new connection is made to another resource corresponding to the connection path using the connection path corresponding to the type of the transaction processing request. Computer system.
  5.  前記トランザクション管理テーブルは、前記接続すべき他のリソースが複数ある場合に、当該複数の他のリソースの各々の負荷情報を保持し、
     前記接続管理部は、前記受信したトランザクション処理要求の種別に対応する複数の他のリソースのうちの、最も負荷が低い他のリソースへの接続パスを用いて、当該最も負荷が低い他のリソースに接続することを特徴とする請求項1に記載の計算機システム。
    The transaction management table holds load information of each of the plurality of other resources when there are a plurality of other resources to be connected,
    The connection management unit uses the connection path to the other resource with the lowest load among a plurality of other resources corresponding to the type of the received transaction processing request to set the other resource with the lowest load. The computer system according to claim 1, wherein the computer system is connected.
  6.  前記トランザクション管理テーブルは、前記接続すべき他のリソースが複数ある場合に、当該複数の他のリソースの各々のリソース専有度情報を保持し、
     前記接続管理部は、前記受信したトランザクション処理要求の種別に対応する複数の他のリソースのうちの、最もリソース専有度が小さい他のリソースへの接続パスを用いて、当該最もリソース専有度が小さい他のリソースに接続することを特徴とする請求項1に記載の計算機システム。
    When there are a plurality of other resources to be connected, the transaction management table holds resource exclusiveness information of each of the plurality of other resources,
    The connection management unit uses a connection path to another resource having the lowest resource occupancy among a plurality of other resources corresponding to the type of the received transaction processing request, and has the smallest resource occupancy The computer system according to claim 1, wherein the computer system is connected to another resource.
  7.  前記トランザクション管理テーブルは、前記トランザクション処理要求の種別及び処理対象データ毎に、当該トランザクション処理要求の識別情報と、当該トランザクション処理要求に対応するトランザクション処理を実行する際に接続すべき他のリソースへの接続パスとを対応付け、
     前記接続管理部は、前記受信したトランザクション処理要求の種別に対応し、且つ、当該トランザクション処理要求の処理対象データが格納されている他のリソースへの接続パスを用いて、当該接続パスに対応する他のリソースに接続することを特徴とする請求項1に記載の計算機システム。
    The transaction management table includes, for each type of transaction processing request and processing target data, identification information of the transaction processing request, and other resources to be connected when executing the transaction processing corresponding to the transaction processing request. Map the connection path,
    The connection management unit corresponds to the type of the received transaction processing request and corresponds to the connection path using a connection path to another resource in which processing target data of the transaction processing request is stored. The computer system according to claim 1, wherein the computer system is connected to another resource.
  8.  前記他のリソースは、データベースサーバであり、前記サーバ装置は、前記データベースサーバに接続してトランザクション処理を実行するアプリケーションサーバであることを特徴とする請求項1に記載の計算機システム。 2. The computer system according to claim 1, wherein the other resource is a database server, and the server device is an application server that connects to the database server and executes transaction processing.
  9.  トランザクション処理要求を発行するクライアント装置と、前記クライアント装置によって発行されたトランザクション処理要求に対応するトランザクション処理を実行するサーバ装置と、を備えた計算機システムにおけるマルチテナント制御方法であって、
     前記サーバ装置は、
     前記トランザクション処理要求の種別毎に、当該トランザクション処理要求の識別情報と、当該トランザクション処理要求に対応するトランザクション処理を実行する際に接続すべき他のリソースへの接続パスとを対応付けたトランザクション管理テーブルを保持し、
     前記方法は、
     前記サーバ装置が、
     前記クライアント装置によって発行されたトランザクション処理要求を受信する手順と、
     前記受信する手順によってトランザクション処理要求を受信する度に、前記トランザクション管理テーブルを参照し、受信したトランザクション処理要求の種別に対応する前記接続パスを用いて、当該接続パスに対応する他のリソースに接続する手順と、
     を含むことを特徴とするマルチテナント制御方法。
    A multi-tenant control method in a computer system comprising: a client device that issues a transaction processing request; and a server device that executes a transaction processing corresponding to the transaction processing request issued by the client device,
    The server device
    For each type of transaction processing request, a transaction management table in which identification information of the transaction processing request is associated with a connection path to another resource to be connected when executing the transaction processing corresponding to the transaction processing request. Hold
    The method
    The server device is
    Receiving a transaction processing request issued by the client device;
    Each time a transaction processing request is received according to the receiving procedure, the transaction management table is referenced, and the connection path corresponding to the type of the received transaction processing request is used to connect to another resource corresponding to the connection path. And the steps to
    A multi-tenant control method comprising:
  10.  トランザクション処理要求を発行するクライアント装置と、前記クライアント装置によって発行されたトランザクション処理要求に対応するトランザクション処理を実行するサーバ装置と、を備えた計算機システムにおいて実行されるマルチテナント制御プログラムであって、
     前記サーバ装置は、
     前記トランザクション処理要求の種別毎に、当該トランザクション処理要求の識別情報と、当該トランザクション処理要求に対応するトランザクション処理を実行する際に接続すべき他のリソースへの接続パスとを対応付けたトランザクション管理テーブルを保持し、
     前記プログラムは、
     前記クライアント装置によって発行されたトランザクション処理要求を受信する手順と、
     前記受信する手順によってトランザクション処理要求を受信する度に、前記トランザクション管理テーブルを参照し、受信したトランザクション処理要求の種別に対応する前記接続パスを用いて、当該接続パスに対応する他のリソースに接続する手順と、
     を前記サーバ装置に実行させることを特徴とするマルチテナント制御プログラム。
    A multi-tenant control program executed in a computer system including a client device that issues a transaction processing request and a server device that executes a transaction processing corresponding to the transaction processing request issued by the client device,
    The server device
    For each type of transaction processing request, a transaction management table in which identification information of the transaction processing request is associated with a connection path to another resource to be connected when executing the transaction processing corresponding to the transaction processing request. Hold
    The program is
    Receiving a transaction processing request issued by the client device;
    Each time a transaction processing request is received according to the receiving procedure, the transaction management table is referenced, and the connection path corresponding to the type of the received transaction processing request is used to connect to another resource corresponding to the connection path. And the steps to
    Is executed by the server device.
PCT/JP2010/069821 2010-11-08 2010-11-08 Computer system, multitenant control method, and multitenant control program WO2012063301A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012542729A JPWO2012063301A1 (en) 2010-11-08 2010-11-08 Computer system, multi-tenant control method, and multi-tenant control program
PCT/JP2010/069821 WO2012063301A1 (en) 2010-11-08 2010-11-08 Computer system, multitenant control method, and multitenant control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/069821 WO2012063301A1 (en) 2010-11-08 2010-11-08 Computer system, multitenant control method, and multitenant control program

Publications (1)

Publication Number Publication Date
WO2012063301A1 true WO2012063301A1 (en) 2012-05-18

Family

ID=46050485

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/069821 WO2012063301A1 (en) 2010-11-08 2010-11-08 Computer system, multitenant control method, and multitenant control program

Country Status (2)

Country Link
JP (1) JPWO2012063301A1 (en)
WO (1) WO2012063301A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170059449A (en) * 2014-09-25 2017-05-30 오라클 인터내셔날 코포레이션 System and method for providing an end-to-end lifecycle in a multitenant application server environment
KR20170059454A (en) * 2014-09-25 2017-05-30 오라클 인터내셔날 코포레이션 System and method for use of a global runtime in a multitenant application server environment
KR20180072593A (en) * 2015-10-23 2018-06-29 오라클 인터내셔날 코포레이션 System and method for multi-tenant execution of OS program called in multi-tenant middleware application
JP2019175487A (en) * 2013-04-26 2019-10-10 オラクル・インターナショナル・コーポレイション Support for cloud-based multi-tenant environments using connection labeling
US10742568B2 (en) 2014-01-21 2020-08-11 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US11075799B2 (en) 2017-08-24 2021-07-27 Oracle International Corporation System and method for provisioning in a multi-tenant application server environment
US11138017B2 (en) 2016-09-16 2021-10-05 Oracle International Corporation System and method for partition administrative targeting in an application server environment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103458A (en) * 1996-06-14 1998-01-06 Hitachi Ltd Method for distributing load of data base management system
JP2002269061A (en) * 2001-03-08 2002-09-20 Ntt Comware Corp Client server system, repeating server, and method for determining connection destination server
JP2006099162A (en) * 2004-09-28 2006-04-13 Hitachi Software Eng Co Ltd Operation and management system and program for business web system based on service-oriented architecture
JP2008234373A (en) * 2007-03-22 2008-10-02 Nomura Research Institute Ltd Load distribution system and method
JP2008250669A (en) * 2007-03-30 2008-10-16 Nec Corp Web monitoring control system, web server control device and web server control program
JP2009282807A (en) * 2008-05-23 2009-12-03 Fujitsu Ltd Apparatus, method and program for message binding processing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103458A (en) * 1996-06-14 1998-01-06 Hitachi Ltd Method for distributing load of data base management system
JP2002269061A (en) * 2001-03-08 2002-09-20 Ntt Comware Corp Client server system, repeating server, and method for determining connection destination server
JP2006099162A (en) * 2004-09-28 2006-04-13 Hitachi Software Eng Co Ltd Operation and management system and program for business web system based on service-oriented architecture
JP2008234373A (en) * 2007-03-22 2008-10-02 Nomura Research Institute Ltd Load distribution system and method
JP2008250669A (en) * 2007-03-30 2008-10-16 Nec Corp Web monitoring control system, web server control device and web server control program
JP2009282807A (en) * 2008-05-23 2009-12-03 Fujitsu Ltd Apparatus, method and program for message binding processing

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7174797B2 (en) 2013-04-26 2022-11-17 オラクル・インターナショナル・コーポレイション Support for cloud-based multi-tenant environments using connection labeling
JP7075911B2 (en) 2013-04-26 2022-05-26 オラクル・インターナショナル・コーポレイション Support for cloud-based multi-tenant environments with connection labeling
JP2021108151A (en) * 2013-04-26 2021-07-29 オラクル・インターナショナル・コーポレイション Support for cloud-based multi-tenant environments using connection labeling
JP2019175487A (en) * 2013-04-26 2019-10-10 オラクル・インターナショナル・コーポレイション Support for cloud-based multi-tenant environments using connection labeling
US10742568B2 (en) 2014-01-21 2020-08-11 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US11683274B2 (en) 2014-01-21 2023-06-20 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US11343200B2 (en) 2014-01-21 2022-05-24 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US10382537B2 (en) 2014-09-25 2019-08-13 Oracle International Corporation System and method for use of a global runtime in a multitenant application server environment
US10855620B2 (en) 2014-09-25 2020-12-01 Oracle International Corporation System and method for providing an end-to-end lifecycle in a multitenant application server environment
US10873624B2 (en) 2014-09-25 2020-12-22 Oracle International Corporation System and method for use of a global runtime in a multitenant application server environment
KR20170059449A (en) * 2014-09-25 2017-05-30 오라클 인터내셔날 코포레이션 System and method for providing an end-to-end lifecycle in a multitenant application server environment
KR102313476B1 (en) * 2014-09-25 2021-10-18 오라클 인터내셔날 코포레이션 System and method for providing an end-to-end lifecycle in a multitenant application server environment
JP2017532678A (en) * 2014-09-25 2017-11-02 オラクル・インターナショナル・コーポレイション System and method for providing an end-to-end lifecycle in a multi-tenant application server environment
KR102436295B1 (en) 2014-09-25 2022-08-25 오라클 인터내셔날 코포레이션 System and method for use of a global runtime in a multitenant application server environment
JP2017528846A (en) * 2014-09-25 2017-09-28 オラクル・インターナショナル・コーポレイション System and method for using global runtime in a multi-tenant application server environment
KR20170059454A (en) * 2014-09-25 2017-05-30 오라클 인터내셔날 코포레이션 System and method for use of a global runtime in a multitenant application server environment
KR20180072593A (en) * 2015-10-23 2018-06-29 오라클 인터내셔날 코포레이션 System and method for multi-tenant execution of OS program called in multi-tenant middleware application
KR102559507B1 (en) 2015-10-23 2023-07-25 오라클 인터내셔날 코포레이션 System and method for multi-tenant execution of OS programs called from multi-tenant middleware applications
US11138017B2 (en) 2016-09-16 2021-10-05 Oracle International Corporation System and method for partition administrative targeting in an application server environment
US11075799B2 (en) 2017-08-24 2021-07-27 Oracle International Corporation System and method for provisioning in a multi-tenant application server environment

Also Published As

Publication number Publication date
JPWO2012063301A1 (en) 2014-05-12

Similar Documents

Publication Publication Date Title
WO2012063301A1 (en) Computer system, multitenant control method, and multitenant control program
US11570272B2 (en) Provisioning using pre-fetched data in serverless computing environments
US8612413B2 (en) Distributed data cache for on-demand application acceleration
US8001214B2 (en) Method and system for processing a request sent over a network
US8805978B1 (en) Distributed cluster reconfiguration
US9674293B2 (en) Systems and methods for remote access to IMS databases
WO2016199232A1 (en) Storage management computer and management method for storage device
KR100406197B1 (en) Method and apparatus for assigning resources to logical partition clusters
WO2014087518A1 (en) Network system and method for operating same
WO2008012333A1 (en) Method and apparatus for preserving isolation of web applications when executing fragmented requests
US10747561B2 (en) Log management device and log management method
US20160371121A1 (en) Computer system and load leveling program
US11755457B2 (en) Selective tracking of requests through enterprise systems by multiple vendors with a single tracking token scheme
US10552224B2 (en) Computer system including server storage system
US11561824B2 (en) Embedded persistent queue
US11797556B2 (en) Database management service provision system
US10855767B1 (en) Distribution of batch data to sharded readers
US20230237017A1 (en) Data flow control in distributed computing systems
JP6244496B2 (en) Server storage system management system and management method
JP2012146207A (en) Control computer, information processing system, control method, and program
US20220261389A1 (en) Distributing rows of a table in a distributed database system
JP7211992B2 (en) Business operator information management system and server
Saranya et al. Efficient and Parallel Data Processing and Resource Allocation in the Cloud by u sing Nephele’s Data Processing Framework
US10936373B2 (en) Tag-based control of hosted compute resources
JP5294352B2 (en) Thin client system, session management apparatus, session management method and program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10859606

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012542729

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10859606

Country of ref document: EP

Kind code of ref document: A1