JP3592016B2 - Remote procedure call processing method - Google Patents

Remote procedure call processing method Download PDF

Info

Publication number
JP3592016B2
JP3592016B2 JP35048896A JP35048896A JP3592016B2 JP 3592016 B2 JP3592016 B2 JP 3592016B2 JP 35048896 A JP35048896 A JP 35048896A JP 35048896 A JP35048896 A JP 35048896A JP 3592016 B2 JP3592016 B2 JP 3592016B2
Authority
JP
Japan
Prior art keywords
server
rpc
processing
group
request
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP35048896A
Other languages
Japanese (ja)
Other versions
JPH10187467A (en
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 JP35048896A priority Critical patent/JP3592016B2/en
Publication of JPH10187467A publication Critical patent/JPH10187467A/en
Application granted granted Critical
Publication of JP3592016B2 publication Critical patent/JP3592016B2/en
Anticipated expiration legal-status Critical
Application status is Expired - Fee Related legal-status Critical

Links

Images

Description

[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a communication processing technique used in a distributed processing system, particularly to a processing technique of a remote procedure call (hereinafter, abbreviated as RPC), which is one of request-response communication, and particularly to a system in which servers are grouped. It relates to a method of changing the configuration of a server group.
[0002]
[Prior art]
RPC is particularly established as a communication technique in a client-server system, and performs one-to-one request / response communication from a client to a server. For example, in a distributed processing system in which a plurality of information processing apparatuses are connected to each other via a network, a client existing in one processing apparatus uses another processing apparatus in the same manner as a procedure call existing in its own processing apparatus. Calls a procedure provided by the server side that exists in, and receives the execution result. As a typical RPC, there is an example of adoption in DCE (Distributed Computing Environment) of OSF (Open Software Foundation). Hereinafter, this example is referred to as DCE / RPC.
[0003]
In DCE / RPC, an application server called a directory server manages all address information existing in a distributed processing system. The client inquires of this directory server to obtain the address information of the server to be called, and calls the server of this address information by RPC. In DCE / RPC, when a new server is added to a distributed processing system, first, its own address information is registered in a directory server so that a client can refer to the address of the server.
[0004]
[Problems to be solved by the invention]
In a conventional PRC processing technique such as DCE / RPC, a client can detect the addition of a new server only by searching a directory server. For this reason, when servers that perform the same processing are grouped into a multiplexed server and a client accesses all servers in the group (such as dual multiplexing), it becomes difficult to add a server online.
[0005]
That is, online addition requires that all clients always search the directory server, which increases the load on the network, the directory server, and the clients. As a result, when the access throughput to the directory server decreases, the processing of the RPC to the server group also slows down.
[0006]
In this case, if the search period of the directory server is lengthened to reduce the load, the configuration of the multiplexing server becomes inconsistent, such that one client can call an additional server and another server cannot be called depending on the timing. . For example, if the multiplexed file or the multiplexed database is inconsistent, the reliability of the RPC process and the system is significantly reduced.
[0007]
A method is conceivable in which server changes are immediately transmitted to all clients using broadcast communication. For this purpose, the client must always prepare for reception from the network, and the memory and machine load increase. In general, in a client-server system, a computer having relatively low processing capacity is often used on the client side, and the load on such a computer is large. Further, there is no guarantee that the transmission by the broadcast is always received, and there is a possibility that a message may be missing or the client may not receive the change information of the server. For example, when the client is inoperable, the change information is not reflected.
[0008]
SUMMARY OF THE INVENTION An object of the present invention is to provide a remote procedure call processing method or a communication method in which a client can immediately detect a change in the configuration of a server group by a plurality of servers without increasing the load, in view of the problems of the related art. is there.
[0009]
[Means for Solving the Problems]
The object of the present invention is to provide a remote procedure call processing method for calling a plurality of grouped servers in response to a request of one remote procedure call. In the remote procedure call processing method, change information of a change server to be added or deleted when the configuration of the server group is changed. Is held by an arbitrary server belonging to the server group, and when the server returns an execution result corresponding to an execution request issued from each remote procedure call request source to the request source, the change is made to the execution result. This is achieved by adding information.
[0010]
Any change in the server group is notified to any one of the groups, and the server that has received the change holds the change information and adds the change information when returning the execution result of the procedure to the request source as a response message. . On the other hand, the request source changes the member of the server group to be called by itself based on the change information.
[0011]
The requester previously holds the address information and the current change information of the server group to be called by itself, compares the change information of the response message with the change information held by itself, and, when the difference is different, the own group information. To change.
[0012]
Alternatively, the remote procedure call request source appends each procedure execution request and the current change information held to the request message to be sent to each server in the group, and the server that has received it adds the procedure execution result to the request message. When the change information held by itself and the change information of the request message are different when returning to the request source as a response message, a group configuration change flag is set. When the change flag is set in the response message, the requester changes the member of the server group to call.
[0013]
According to another aspect of the present invention, a remote procedure call requester calls a server arbitrarily selected from members of the server group on behalf of the server group, and the called representative server executes its own processing and In the remote procedure call processing method for duplicating the contents requested from the above and calling the server of the remaining members, the server receiving the notification of the change in the group configuration and holding the change information is the representative server from the request source. When the execution request of the procedure is issued and the content of the request for copying is transferred from the representative server, a response message in which the change information is added to the execution result by the procedure execution is returned to the representative server, and the representative server returns Change the members of the server group that it calls based on the change information And wherein the door.
[0014]
When the representative server changes the member, the representative server updates its own change information, and transmits a response message including the change information and the execution result of each server in the group to the remote procedure call request source. The request source compares the change information of the response message from the representative server with that held by itself, and changes its own group information when there is a difference.
[0015]
In the above, before any one of the server groups is notified of the change in the group configuration, the address of the change server is registered or deleted from a name server that manages the address of the server in the system, and a remote procedure call request is made. When the original server or the representative server receives the change information, it acquires address information from the name server and changes the member of the server group to be called by itself.
[0016]
When the members of the server group are changed, the constraints of the group configuration are checked based on the identifiers for identifying the processing contents of the procedures provided in each server, and it is determined whether or not the members can be changed. For example, if there is a restriction on addition or deletion of a certain identifier within a group, addition or deletion exceeding the limit is prohibited.
[0017]
The server is a program provided as a procedure. Alternatively, it is a program that executes its own process in accordance with the execution request and returns the result to the request source, or does not return the result.
[0018]
According to the configuration of the present invention, the RPC process performed between the client and the server has a function of detecting a server group configuration change and automatically changing the server. Further, it is possible to automate a process of collecting information necessary for a client to change a called server and a process of controlling a timing of reflecting this information to all clients.
[0019]
According to this, a server having the same function as an existing server can be added to the multiplexing server group, and the multiplexing degree of the multiplexing server can be varied online. Alternatively, a new server is added to the server group, and each remote procedure request source that has detected the addition of the new server specifies one of the server that has been the processing request destination up to this point and the new server as the new processing request destination. , And the processing performed by the procedure execution side can be load-balanced among the servers in the group. Alternatively, a new version of a new server is added to the server group, and each remote procedure execution request source that has detected the addition of the new server requests the new server for processing in place of the server that has been the processing request destination until this time. You can switch to the first and upgrade online.
[0020]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The first embodiment illustrates an RPC process including a change of a server group, the second embodiment illustrates an alternative in which the server performs the change process, and the third embodiment illustrates an alternative using the indirect multicast method. Further, the fourth embodiment shows an example in which a server group change is processed by request / response communication instead of RPC, and in principle, equivalent elements are denoted by the same reference symbols throughout the drawings.
[0021]
[Example 1]
FIG. 1 is a functional block diagram of a distributed system using RPC according to an embodiment of the present invention. The processing devices 2 to 8 are connected to the communication medium 1 and communicate with other processing devices. As the communication medium 1, a communication line such as a LAN (Local Area Network), a WAN (Wide Area Network), or a wireless (wireless) is used. Although the bus type is shown as an example, various networks such as a duplex bus type, a single loop type, a double loop type, and a ring type can be used. First, a configuration of a distributed system using RPC will be described, and then a process of changing a group configuration will be described using an example of adding a processing device to a group.
[0022]
The processing device 2 includes a client and an RPC processing unit, and requests another processing device to execute processing using RPC. Each of the processing devices 3 to 6 includes a server and an RPC processing unit 20, executes a process requested by another processing device, and returns a result to a request source. The processing devices 3 to 5 are grouped to form a multiplexing server 80.
[0023]
The client 15 of the processing device 2 is a user program or an application program created or used by a user, and requests a reference to information necessary for processing to a server procedure provided to another processing device. Is what you do. When the client 15 requests execution of the procedure of the server, the client 15 issues an RPC request to the RPC processing unit 10.
[0024]
The RPC processing unit 10 performs the RPC request processing of the client 15 on behalf of the client 15. The RPC processing unit 10 receives the RPC request issued from the client 15, transmits a procedure execution request of the server as an RPC request message to another processing device, and outputs a procedure execution result corresponding to the RPC request message transmitted by itself. It has a function of receiving the attached RPC response message and returning it to the requesting client 15.
[0025]
The processing device 3 includes an RPC processing unit 20 and a server 25, executes a process requested by another processing device, and returns a result to a request source. The RPC processing unit 20 receives the RPC request message transmitted from another processing device, executes the procedure of the server requested to execute, and sends an RPC response message attached with the execution result to the requesting processing device. Send.
[0026]
The server 25 is a program that executes itself in response to a request from the RPC processing unit 20 and returns the execution result to the RPC processing unit 20, and is provided in the form of a procedure. The server 25 is a program created or used by a user, and is a program that provides information necessary for processing by a client.
[0027]
In the system, a plurality of servers corresponding to the purpose and use exist in various combinations. Each server is provided with a processing identifier indicating what kind of processing the server itself performs, and the processing contents are identified. As the process identifier, for example, a procedure name of a procedure provided by the server, an ID number for uniquely identifying the procedure, and the like are used. The illustrated server 25 includes a server 401 having a process identifier of “QSORT”, a server 402 of “ASORT”, and a server 403 of “BSORT”.
[0028]
The processing devices 4 to 6 have the same configuration as the processing device 3 and include servers 35, 45, and 55 and RPC processing units 30, 40, and 50, respectively. The RPC processing units 30, 40, and 50 have functions similar to those of the RPC processing unit 20. The server 35 includes servers 411 to 413 as in the server 25. The server 45 is composed of servers 421 and 422 and a server 423 whose identifier is “CSORT”. Further, the server 55 of the processing device 6 outside the group includes the same servers 431, 432, and 433 as the server 45.
[0029]
The processing device 7 includes an address management unit 60, and manages addresses of the processing devices 3 to 6 including servers existing in the system. The address management unit 60 adds, deletes, or refers to address information in response to a request from another processing device, and returns a processing result to the request source.
[0030]
The processing device 8 includes a group configuration change notification unit 70, which receives a request to change the configuration of a server group, that is, a request to add or delete a server to the server group 80, based on a command input or the like from a user, and The server of the group 80 is notified.
[0031]
In the present embodiment, a remote procedure call processing method according to the present invention will be described with an example of a change process of adding a server 55 to a server group 80 including servers 25, 35, and 45. Although there are various methods for grouping servers, in this embodiment, servers having the same processing identifier are treated as one group. In this case, it is not necessary that all servers in the same group perform exactly the same processing, and the processing contents may be different as in the example of FIG.
[0032]
Next, an outline of the RPC process for the grouped servers will be described. The client 15 transmits a procedure execution request to the server group 80 via the RPC processing unit 10. However, the RPC processing unit 10 determines a server group that can process the RPC request and a server belonging to the RPC request from the contents of the RPC request issued by the client 15, and transmits an RPC request message to all the processing apparatuses including the server. . This determination is made based on the processing identifier passed from the client 15 when the client 15 issues an RPC request to the RPC processing unit 10.
[0033]
Among the processing devices in the server group 80, the RPC processing unit of each processing device that has received the RPC request message executes a server capable of executing the requested processing, and uses the execution result as an RPC response message as the processing of the request source. Transmit to the device 2. The request source RPC processing unit 10 receives the RPC response message from each processing device that has transmitted the RPC request message, selects one RPC response message from the received RPC response messages based on a predetermined logic, and includes the RPC response message in the RPC response message. The execution result of the server is returned to the client 15. As the logic used for this selection, logics such as "select one randomly", "select one based on majority logic based on the response content", and "select the earliest one" are used. be able to.
[0034]
Next, the format of the RPC message transmitted between the processing devices will be described. FIG. 2 shows a format of an RPC message for notifying a server group configuration change. The server change notification RPC message 100 is transmitted from the group configuration change notification unit 70 and includes an RPC control header unit 101 and a changed server processing identifier unit 103. The RPC control header 101 stores information necessary for controlling processing associated with transmission and reception of an RPC request message and an RPC response message. The RPC request content identifier unit 102, which is a part of the area, stores a process identifier by which the RPC processing unit on the receiving side can identify the process content requested by RPC. It also has an area for storing a destination address, a source address, a transmission serial number, request / response identification information, and the like. The change server processing identifier section 103 stores, for example, a processing identifier representing the processing content of the server 55 added to the server group 80.
[0035]
FIG. 3 shows a format of the RPC request message. The RPC request message 110 is transmitted by the RPC processing unit 10 in response to an RPC request from the client 15 and includes an RPC control header unit 101 and a client request data unit 111. The client request data section 111 stores input / output arguments of a server procedure for executing the server.
[0036]
FIG. 4 shows a format of the RPC response message. The RPC response message 120 is used by the RPC processing units 20 to 50 to transmit the execution result of the server of the own processing apparatus to the client. The RPC response message 120 includes the RPC control header unit 101, the server execution result data unit 122, and the group configuration change serial number unit 121. Be composed. The server execution result data section 122 stores the server execution result. The group configuration change serial number unit 121 is unique to the present embodiment, and stores a group configuration change serial number that is incremented each time a server group configuration is changed, such as when a server is added.
[0037]
The group configuration change serial number (hereinafter, referred to as a change serial number) is a change serial number managed independently by each processing device including the server. One processing apparatus holds one corresponding change serial number for each group to which the server of the processing apparatus belongs. In order to manage the change history of the server group, a change serial number for each type corresponding to the type of configuration change such as addition or deletion of a server may be prepared. In this embodiment, when the notification RPC message 100 for adding or deleting a server is received, the change serial number is incremented as described later.
[0038]
On the other hand, the RPC requesting side holds the change serial numbers of all servers in the target server group that issues the RPC request in advance, as described later. Then, when the RPC response message 120 is received, the change serial number stored in the message is compared with the stored change serial number, and a change in the server group is detected based on a mismatch between the change serial numbers.
[0039]
The outline of the system configuration and the message format have been described above. Next, a detailed configuration of a system that executes a remote procedure call according to the present embodiment and a process of each unit will be described. The RPC processing units included in the processing devices 1 to 6, the address management unit 60 included in the processing device 7, and the group configuration change notification unit 70 included in the processing device 8 will be described in this order.
[0040]
FIG. 5 shows a detailed configuration of the processing apparatus. The illustrated processing apparatus 2 is an example, and other processing apparatuses 3 to 8 may have the same configuration. The processing device 2 includes both the client 15 and the server 16 together with the RPC processing unit 10. The RPC processing unit 10 includes an RPC client processing unit 11, an RPC server processing unit 12, an address management table 13, and a group management table 14. The address management table 13 stores information on servers in which each processing device belongs to a server group. The address management table 13 stores a processing identifier indicating the processing content of the server and the address of a processing device having the server.
[0041]
If the processing device is dedicated to client processing, the server 16 and the RPC server processing unit 12 are not required. When the processing device is dedicated to server processing, the client 15 and the RPC client processing unit 11 are unnecessary, and in the case of the present embodiment, the address management table 13 is also unnecessary.
[0042]
Also, a plurality of RPC processing units may be provided to share RPC processing from clients and servers. In this case, the destination address when sending the RPC request message from another processing device is the address of the RPC processing unit in charge of processing of the destination server (for example, the address of this processing device and the reception port number of this RPC processing unit). It may be.
[0043]
FIG. 6 shows the configuration of the address management table. The RPC processing unit 10 requests the address management unit 60 to acquire the information stored in the processing identifier unit 131 and the address unit 132. The figure shows a part of the configuration in FIG. 1 and stores address information of at least three processing devices. That is, there are three processing devices having a server identified by “QSORT”, and each address is “133.144.8.159:8080”, “133.144.8.160:8052”, and “133.144”. .8.161: 8031 ". Further, there is a processing apparatus having a server identified by “ASORT”, and its address “133.144.9.120:6198” is stored. As the address, a set of an IP address and a reception port number is used as shown.
[0044]
FIG. 7 shows the configuration of the group management table. The group management table 14 stores the configuration information of each processing device in a server group. As shown in the figure, it is composed of a process identifier section 141, an address section 142, and a group configuration change serial number section 143, and these three pieces of information are used as a set. As in the address management table 13, the processing identifier 141 and the address 142 store a processing identifier indicating the processing content of the server and the address of the processing device.
[0045]
The group configuration change serial number unit 143 stores a change serial number for managing a change in the configuration of the server group. FIG. 7A shows a part of the group configuration shown in FIG. 1, in which there are three processing devices having a server identified by “QSORT”, and each group configuration change serial number is “2”, "3" and "5". Also, there is at least one processing device having a server identified by “AQORT”, and its group configuration change serial number is “2”. Here, the change serial number values “2” and “3” for the same QSORT reflect the number of changes in the processing device corresponding to the address.
[0046]
FIG. 8 is a flowchart illustrating the processing of the RPC client processing unit. The RPC client processing unit 11 performs processing on behalf of the RPC request from the client 15.
[0047]
First, an RPC request is received from the client 15 (S101). At this time, the processing identifier of the server requesting the processing and the arguments required for the processing are passed from the client 15 to the RPC client processing unit 11.
[0048]
Next, the address management table 13 is searched in order to obtain the address of the processing device having the server that can execute the RPC request. At this time, nothing was registered in the address management table 13 in the first RPC request. In this case (S102), initialization processing of the address management table 13 is performed (S103).
[0049]
FIG. 9 is a flowchart showing the initialization processing S103. The RPC client processing unit 11 transmits, to the address management unit 60, an RPC request message requesting a reference to all addresses corresponding to the processing identifier stored in the address management unit 60, and the address information attached to the response message Is acquired (S1031). This address information is registered in the address management table 13 (S1032), and an address is similarly registered in the group management table 14, and "0" is set to the corresponding group configuration change serial number (S1033).
[0050]
Next, the RPC client processing unit 11 searches the address management table 13, acquires the addresses of all the processing devices including the server that can execute the RPC request (S104), and counts the number of the processing devices (S105). ). This search is performed using the process identifier passed from the client 15 as a key, and the addresses of all the processing devices having the same process identifier as the process identifier passed from the client are acquired from the address table 15. Then, the request message is transmitted to one server of the server group (S106). That is, an argument necessary for server execution is written in the client request data section 111 of the PRC request message 110, and the RPC request message 110 is transmitted to the processing device given by the address acquired in S104.
[0051]
By the way, when the addresses of a plurality of processing devices are obtained as a result of the address search in S104, it is necessary to transmit the RPC request message 110 to all the obtained processing devices. Therefore, after transmitting the RPC request message 110, the number of processing devices that have transmitted the message is counted (S107), and the count value is compared with the number of servers in the acquired server group (S110). As a result of the comparison, when the count value is smaller, an address that has not yet transmitted the RPC request message 110 is selected from the addresses acquired in the processing of S104 (S111), and the RPC request message 110 is transmitted. Thus, by repeating the transmission processing from S106 to S111, the RPC request message 110 is transmitted to all servers belonging to the server group and corresponding to the processing identifier of the RPC request.
[0052]
The above is the process of transmitting an RPC request from a client. When the RPC request message 110 is transmitted, a response message is returned from the server of the RPC request destination. The RPC client processing section 11 checks the reception of a response message from its own RPC request destination server (S108), and performs a response reception process as follows (S109).
[0053]
FIG. 10 shows a flowchart of the response receiving process (S109). Upon receiving the response message 120 (S201), the RPC client processing unit 11 acquires the address of the message transmission source, the RPC request content identifier, and the group configuration change serial number from the response message 120 (FIG. 4) (S202). Then, it searches its own group management table 14 to detect address information that matches both the address attached to the response message and the RPC request content identifier, and determines the change serial number of the address information and the change serial number by the response message 120. A comparison is made (S203).
[0054]
As a result of the comparison, if the two values are the same, it is determined that the server group has not been changed, and the response receiving process ends. On the other hand, if the value of the change serial number according to the response message 120 is large, that is, if the value has been incremented, it is determined that the server group has changed (S204), and the group configuration change serial number according to the response message 120 is stored in the group management table 14. The address information is stored in the group configuration change serial number unit 143 (S205).
[0055]
Next, the RPC client processing unit 11 transmits an RPC request message referring to the addresses of all servers to the address management unit 60 of the processing device 7 via the network 1, and acquires the address information attached to the response message. (S206). Next, the acquired address information is compared with the contents of its own address management table 13, and the difference remaining in the former is acquired as the address of the additional server (S207).
[0056]
Here, the address information acquired from the address management unit 60 is a set of a set of a process identifier and an address corresponding to the process identifier. The same applies to the address management table 13. The comparison is performed for each set, which is a component of both sets, and the difference is obtained. The reason why the address management table 13 is provided in addition to the group management table 14 is to simplify the difference processing. In the case of a change for deleting a server, the difference information remaining on the address management table 13 of the own server becomes the address of the deleted server.
[0057]
Next, in the present embodiment, the address information of the processing device including the additional server acquired in S207 is added to the address management table 13 (S208). Further, the same is added to the group management table 14, and the initial value “0” is stored in the corresponding group configuration change serial number at this time (S209).
[0058]
The above is the response receiving process (S109). When a plurality of addresses are acquired in S104, a plurality of RPC request messages are transmitted, and therefore, the same number of response messages are returned. Therefore, the RPC client processing unit 11 repeats the response receiving process until all the response messages are received (S112), selects one of the server execution result data 122 attached to the plurality of response messages, and Hand over (S113). This selection is made based on a predetermined logic such as "randomly selected", "first-come, first-served".
[0059]
Next, the RPC server processing unit 12 will be described. The RPC server processing unit 12 performs an RPC request reception and response return processing of the server 16, and receives an RPC message notifying the server group configuration change from the group configuration change notification unit 70 of the processing device 7, Holds configuration change information.
[0060]
FIG. 11 is a flowchart illustrating the processing of the RPC server processing unit. Upon receiving the RPC request message 110 transmitted from another processing device (S301), the RPC server processing unit 12 determines the request content of the received message (S302). This determination can be made by referring to the processing identifier section 103 of the server change notification RPC message 100.
[0061]
If the received message is a message for notifying the server group configuration change, the value of the group configuration change serial number 143 in the group management table 14 of the own processing device is incremented (S303). As a result, the RPC processing unit 10 holds information on the configuration change of the server group. Then, a response notifying the completion of the process of holding the information of the group configuration change is returned to the group configuration change notification unit 70 that is the RPC request source (S304).
[0062]
On the other hand, if it is determined in step S302 that the received request message is the RPC request message 110, the RPC server processing unit 12 executes the server (S305). That is, it acquires the arguments and the like necessary for execution of the server from the client request data section 111 of the received RPC request message 110, passes them to the server 16, and executes the procedure of the server 16. When there are a plurality of servers having the same processing identifier in the processing device, one is randomly selected and executed.
[0063]
After the server 16 executes the procedure, the RPC server processing unit 12 receives the execution result from the server 16 and stores it in the server execution result data unit 122 of the RPC response message 120. The value of the group configuration change communication unit 143 of the group management table 14 is stored in the area of the group configuration change serial number unit 121 (S306). This RPC response message 120 is transmitted to the client that is the RPC request source (S307). Therefore, if the change serial number of the group management table 14 has been incremented by the time of this RPC request, the change serial number can be stored and transmitted in the RPC response message to notify the client of the change of the server group.
[0064]
The details of the RPC processing units included in the processing devices 2 to 6 have been described above with reference to the configuration of the processing device in FIG. 5 including both the client and the server. As described above, the RPC process in the system configuration of FIG. 1 can be understood by reading the processing device 2 on the client side and the processing devices 3 to 5 on the group server side.
[0065]
Next, the address management unit 60 included in the processing device 7 will be described in detail. The illustration of the RPC processing unit of the processing device 7 is omitted. The address management unit 60 manages the addresses of the servers in the system shown in FIG. 1 collectively, and stores the processing identifiers of all the servers included in the processing devices within a predetermined range (for example, within one network segment). The information corresponding to the address of the processing device is held in its own management table. The address management unit 60 performs addition, deletion, or reference processing of the information in response to an RPC request message from another processing device, and returns the information to the request source in a response message.
[0066]
FIG. 12 is a flowchart illustrating the processing of the address management unit. First, when an RPC processing request is received (S401), the contents of the processing request are determined (S402), and any of adding a server address, deleting a server address, or searching for a server address is performed.
[0067]
When a server is added, a request source of another processing device, for example, a client transmits an RPC request message to the address management unit 60, in which the address of the processing device having the additional server and the processing identifier of the additional server are added. When determining that the request content is the addition of the server address, the address management unit 60 adds the address and the processing identifier attached to the RPC request message to the management table provided in the processing device 7 (S403), and determines whether the addition processing is successful or not. The response message is transmitted to the request source (S404).
[0068]
The address management unit 60 manages servers having the same process identifier as one server group. Therefore, in order to manage the address and the server group to which the server belongs, the address and the processing identifier are added in association with each other.
[0069]
Next, when a server is deleted, a request source in another processing device transmits an RPC request message with an address to be deleted and a processing identifier of the server. If the address management unit 60 determines that the request is a deletion request (S402), the address management unit 60 deletes the same address information as the combination of the process identifier and the address attached to the RPC request message from its own table (S405), and executes the deletion process. Is transmitted to the requestor as a response message (S406).
[0070]
Next, when referring to the address of a processing device having a server capable of executing a certain process, a request source in another processing device sends an RPC request message with a process identifier indicating the content of the process to an address management. Transmit to the unit 60. When it is determined that the request content refers to the address (S402), the management table provided in the address management unit 60 is searched, and an address associated with the same processing identifier as the processing identifier added to the RPC request message is extracted ( S407), and transmits the message to the request source with the RPC response message attached (S408).
[0071]
If a plurality of addresses are obtained as a result of the search in step S407, one address may be selected at random, or all addresses may be added to the RPC response message and transmitted.
[0072]
Next, the group configuration change notification unit 70 included in the processing device 8 will be described. The illustration of the RPC processing section of the processing device 8 is omitted. The group configuration change notification unit 70 receives a request to change the configuration of a specified server group by a command input or the like from a user. For example, a command to change the configuration of the server group 80 is issued by a command, and information such as the address of a processing device having a server to be added or deleted and the processing identifier of the server is transmitted as an argument of the command. Provided to the unit 70.
[0073]
Upon receiving this command, the group configuration change notification unit 70 transmits an RPC request message requesting an address change to the address management unit 60 of the processing device 7. For example, an RPC request message requesting the addition of the address of the processing device having the new server is transmitted, the address is registered in the address management unit 60, and the RPC message notifying the server group configuration change is transmitted to the specified server group 80. Send to The processing devices 3 to 5 belonging to the server group 80 receive the RPC message for notifying the server group configuration change, and hold the change information of the server group configuration in the address management table 13 and the group management table 14 of the processing devices.
[0074]
FIG. 13 is a flowchart illustrating a server addition process by the group configuration change notification unit. Upon receiving the request to add a server to a server group (S501), the group configuration change notification unit 70 transmits to the address management unit 60 an RPC request message requesting address reference of a server belonging to the server group to be added. The address is obtained (S502). At this time, the address of any one server belonging to the group may be obtained, or the addresses of all servers may be obtained. In the latter case, the group configuration change notification unit 70 selects an arbitrary one.
[0075]
Next, the group configuration change notification unit 70 transmits an RPC request message requesting registration of the address of the additional server to the address management unit 60, and requests registration of the address in the management table (S503). Next, an RPC message 100 notifying the addition of the server is transmitted to the server having the address acquired in step S502 (S504), and a response indicating that the processing for storing the additional information is completed is received from the server (S505).
[0076]
From the above, the basic configuration and operation of the present embodiment for realizing the remote procedure call processing of the present invention have been clarified. Next, an example of processing for adding a new server to a group server for a specific remote procedure call will be described. The overall flow of this process can be broadly divided into a process of notifying a server group of the addition of a server and a process of detecting an added server in each client-side processing device. The two processes will be described separately.
[0077]
FIG. 14 is a detailed configuration diagram of the RPC processing unit of the system of FIG. 1, and the flow of processing for adding a new server is indicated by an arrow. FIG. 15 is an explanatory diagram showing the specific storage contents of each of the group management tables on the client side and the server side. FIG. 16 is a flowchart illustrating the overall processing when a new server is added according to the present embodiment. The server addition processing according to the present embodiment will be described with reference to these drawings.
[0078]
When receiving the addition of the server 55 to the server group 80 from the user, the group configuration change notification unit 70 registers the address of the processing device 6 including the new server 55 in the address management unit 60. Further, the group configuration change notification unit 70 obtains the address of any one server in the server group 80, here, the address of the server 45 from the address management unit 60, and sends the address to the RPC server processing unit 42, which is the address. The server addition notification RPC message 100 is transmitted as indicated by an arrow 201a (S601).
[0079]
Upon receiving the server addition notification RPC message, the RPC server processing unit 42 increments the group configuration change serial number of the group management table 44 in the RPC server processing unit 42 from 5 to 6, and processes the group configuration change notification unit 70. A completion response message is transmitted (S602).
[0080]
Next, detection processing of an additional server in the processing device on the client side will be described. FIG. 17 shows a flowchart of a process of detecting an additional server on the client side.
[0081]
The client 15 sends an RPC request message 110 including the processing identifier “QSORT” to the RPC client processing unit 11, for example. The RPC client processing unit 11 searches the address management table 13 to obtain the addresses of the processing devices 3, 4, and 5 including the servers capable of executing “QSORT” belonging to the server group 80, and the arrows 205a, b, and c Is transmitted (S701). At this time, the change serial number corresponding to each address having “QSORT” in the group management table 14 is stored as shown in FIG.
[0082]
Upon receiving the RPC request message, the RPC server processing units 22, 32, and 42 of the processing devices 3, 4, and 5 execute the server as indicated by arrows 206a, b, and c in response to the RPC request (S702), and execute the server. The result is obtained as arrows 207a, b, and c. Also, the change serial numbers in the group management tables 24, 34, and 44 are acquired as shown by arrows 208a, b, and c, and the RPC response message storing the execution result and the change serial numbers is transmitted as shown by arrows 209a, b, and c. (S703). At this time, the change serial numbers of “QSORT” in the group management tables 24, 34, and 44 are as shown in FIG.
[0083]
The RPC client processing unit 11 receives the RPC response message from the processing devices 3, 4, and 5 (S704), compares the change serial number in the RPC response message with the change serial number in the group management table 14, and configures the group server. It is determined whether or not has been changed (S705). This process corresponds to step S204 of the response receiving process in FIG.
[0084]
Here, the RPC server processing unit 42 included in the processing device 5 receives the server addition notification RPC message as described above, and increments the group configuration change serial number of “QSORT” in the group management table 44 from 5 to 6. , Added to the response message and transmitted as indicated by an arrow 209c. Therefore, when the RPC client processing unit 11 compares the change serial number of the RPC response message with the change serial number of the same address in its own group management table 13, the addition of a new server can be detected.
[0085]
Upon detecting the addition of the new server, the RPC client processing unit 11 acquires the address information of all servers from the address management unit 60, compares it with the address information of its own address management table 13, and obtains the address of the server 55 obtained as a difference. The information is added to the address management table 13 and the group management table 14 (S706). Next, the RPC client processing unit 11 selects one of the RPC response messages received from each of the processing devices 3, 4, and 5 and passes it to the client 15 as a server execution result (S707).
[0086]
In the above description, the group configuration change notification unit 70 is provided by the processing device 8, but any processing device may be provided. For example, the processing device 6 may include the group configuration change notification unit 70. At this time, the server 55 may notify the group configuration change notification unit 70 of its own addition request and request the group configuration change notification unit 70 to perform an addition processing request.
[0087]
Further, if the determination in step S302 in FIG. 11 is a server addition request, it may be determined whether or not a new server can be added to the specified server group, and then the additional processing is performed in step S303.
[0088]
For example, in the server group 80 of FIG. 1, there is a server that cannot be multiplexed in the group 80, and its processing identifier is “CSORT”. In this case, if the server 55 is added, the server of “CSORT” is multiplexed. Accordingly, upon receiving the processing identifier of the additional server in the RPC notification message 100, the RPC server processing unit 42 checks the processing identifier of the group management table 14, and suspends the additional processing when the "CSORT" server is multiplexed. I do. Alternatively, when the server group adopts a completely multiplexed configuration, it is determined whether the processing identifier of the server to be added is the same as the processing identifier in the group management table 14 and if not, a response indicating that addition is impossible is returned. .
[0089]
In addition, the user ID, program ID, and authentication information for which additional processing is permitted are stored in the RPC server processing unit in advance, and the RPC notification message is transmitted with the user ID, program ID, or authentication information of the request source added. Then, at the time of reception, these pieces of information may be compared to determine whether additional information is necessary.
[0090]
As described above, according to the configuration of the present embodiment, the client-side computers that call a plurality of servers in parallel in response to one request by using the RPC are independently and asynchronously executed by the plurality of remote procedures. A configuration change of a group to be configured is detected, and a group configuration change process is performed. The information for this detection is added to the normal RPC response and transmitted to the client side. Therefore, when the group configuration is changed, the additional processing message accompanying the change is not concentrated on the network, and the load on the network, the computer on the remote procedure side added with the configuration change or the name server for managing the address of the remote procedure, etc. Can be distributed over time. In particular, it is not necessary for the client computer to constantly monitor whether there is a change in the group configuration, and the client computer can detect the change from the content of the response to the RPC request, so that the increase in the load due to the change processing of the client computer is small. .
[0091]
Further, according to the present embodiment, when the remote procedure configures the multiplexing server and the client is accessing the multiplexing server, the client computer accessing each server before and after adding the server is the same. Since the group configuration can be changed, consistency of the internal state of the server is guaranteed, and this is useful as a communication system for a multiplex server. Further, the multiplicity of the server can be changed to online.
[0092]
In this embodiment, the client issues an RPC request to all servers in the group. However, the RPC may be issued to some servers in the group. According to this, when the client detects the additional server, the additional server can be used in place of the request destination server that has issued the RPC up to that time, and the processing load can be distributed within the server group. Alternatively, the server can be upgraded online using a new version of the additional server in place of the old version of the request destination.
[0093]
Also, the server need not be provided in the form of a procedure. It may be a program that executes its own process in response to a request and returns the execution result to the request source. That is, the timing of returning the execution result to the request source does not necessarily need to be at the end of the execution of the own process, and may be a program that returns some data to the request source during the execution of the own process. Further, the program executed by the server in response to the processing request does not necessarily need to output the processing result. At the end of processing or at the start of processing, the RPC processing unit on the server side may return an RPC response message without storing any data in the execution result data part.
[0094]
Furthermore, in the present embodiment, the same processing identifier represents the same processing content, and the group configuration of the multiplexing server is shown in FIG. 1, but the present invention is not limited to this. In RPC, a server having a different name or a procedure for performing a process can have the same process identifier irrespective of the procedure name or the process content held by the server. When such an identifier is assigned, the transmitting side can send a transmission message without being aware of the contents of the procedure held by each server in the group, so that there is an advantage that the load on the transmitting side can be reduced. .
[0095]
[Second embodiment]
This embodiment differs from the first embodiment in that the presence or absence of a change in the group configuration is detected on the server side. That is, when the client issues an RPC to the server, the change serial number held by the client is stored and transmitted in the RPC request message, and the server stores the change serial number and the group management table of its own processing device. The change sequence numbers are compared to detect whether the group configuration has changed. Hereinafter, a description will be given focusing on portions different from the first embodiment. The system configuration is the same as that of the first embodiment, and the configuration of FIG. 14 will be referred to below.
[0096]
FIG. 18 shows the format of an RPC request message sent by the processing device on the client side. A group configuration change serial number unit 112 for storing the change serial number held by the client is added to the RPC request message (FIG. 3) in the first embodiment.
[0097]
FIG. 19 shows a format of an RPC response message in which the processing device on the server side returns an execution result to the client side. The RPC response message (FIG. 4) of the first embodiment is added with a change flag unit 123 for notifying the presence or absence of a configuration change in a server group.
[0098]
The processing performed by the RPC client processing unit 11 will be described. First, in step S106 of the processing flow (FIG. 8) according to the first embodiment, when the RPC client processing unit 11 issues an RPC request message to the server, the change serial number corresponding to the address of the request destination server is set in the group management table. 14 and stored in the group configuration change serial number section 112 of the RPC request message as shown in FIG.
[0099]
FIG. 20 is a flowchart of the response receiving process of the RPC client processing unit according to the present embodiment. Upon receiving the RPC response message 120 from the server (S801), the RPC client processing unit 11 checks the change flag unit 123 and determines whether or not there is an addition to the server group (S802). If the addition flag is set (ON), it is determined that the server group 80 has been changed, and the processing of S803 to S807 is performed. Here, the processing of steps S803 to S807 is the same as the processing of steps S205 to S209 shown in FIG. 10 of the first embodiment.
[0100]
Next, processing performed by the RPC server processing unit on the server side will be described. FIG. 21 is a flowchart of the response receiving process of the RPC server processing unit according to the present embodiment, which is executed by, for example, the RPC server processing unit 42 of the processing device 5. In the figure, steps S901 to S904 are the same processing as S201 to S204 in the first embodiment (FIG. 11).
[0101]
If it is determined in step S902 that the request message is not a server change, the server requested by the client is first executed (S905). When the execution result is received from the server, the change serial number added to the RPC request message 120 is obtained (S906), and compared with the change serial number managed in the group management table 44 of the self-processing device 5 (S907). As a result of the comparison, if the own change serial number is larger, the server addition flag of the RPC response message is turned ON as shown in FIG. 19B (S910), and the own change serial number is added to the RPC response message 120 ( (S911), and sends it back to the processing device 2 on the client side together with the execution result of the server (S912).
[0102]
On the other hand, if the acquired change serial number is equal to or less than the own change serial number, the server addition flag of the RPC response message is turned off (S909), and the own change serial number is added to the RPC response message 120 (S911). Together with the requesting processing device.
[0103]
Thereafter, the RPC client processing unit 11 determines ON / OFF of the additional flag of the response message 120, and updates the group management table 14 and the address management table 13 in steps S803 to S807.
[0104]
Although an example of server addition has been described above, in the case of server deletion, a server deletion flag is prepared and its ON / OFF is determined. Alternatively, a change flag commonly used for adding or deleting a server is prepared, and if the acquired group configuration change serial number is different from the own change serial number as a result of the comparison in step S907, it is determined that there is a change in the group configuration. Then, the processing of steps S803 to S807 may be performed.
[0105]
According to the present embodiment, since the server determines whether or not there is a change in the server group configuration, the processing of the client can be reduced. In particular, in the case where unauthorized server change requests continue, it is possible to avoid overloading the client.
[0106]
[Third embodiment]
Next, a third embodiment will be described. In the first and second embodiments, when the processing device of the client calls the server of the server group, the multicast method of transmitting the RPC request message directly to a plurality of servers is used. On the other hand, in the present embodiment, the processing device of the client transmits an RPC request message to an arbitrary server in the server group, executes the server to which the processing device that has received this message is the destination, and executes the remaining server in the group. The RPC request message is transferred to all the servers, and each processing device that has received the transfer message executes its own server.
[0107]
FIG. 22 is a system configuration diagram for explaining server addition according to the present embodiment, and details are the same as those in FIG. FIG. 23 shows the format of the RPC request message and the response message according to the present embodiment. In the RPC request message of FIG. 3A, a transfer message flag unit 113 is added to the RPC request message of FIG. In the response message shown in FIG. 9B, the change flag section 123 is provided, and the group configuration change serial number section 121 is deleted.
[0108]
Next, a server addition process according to the present embodiment will be described. The overall flow of this process can be divided into a process of notifying a server group of addition of a server and a process of detecting an additional server in each client-side processing device. Since the former process is the same as that of the first embodiment, only the latter process will be described below.
[0109]
The RPC client processing unit 11 transmits an RPC request message to an arbitrary one set in advance as a master server in the group, here, the server 25 of the processing device 3. Note that the group management table 24 of the master processing device 3 manages its addresses and change serial numbers so that all servers in the group 80 can be called.
[0110]
Upon receiving the RPC request message from the client, the RPC server processing unit 22 of the processing device 3 determines that the message is not a transfer message because the transfer message flag is OFF, and transfers the message to all other servers in the group. An RPC request message is transmitted, and the transmitted transfer RPC request message is received by the processing units 4 and 5, respectively.
[0111]
The RPC server processing units 32 and 42 in the processing devices 4 and 5 that have received the RPC request message execute the server in response to the RPC request, acquire the execution result of the server, and also execute the group management tables 24, 34 and 44. , And transmits an RPC response message storing the changed serial numbers to the RPC server processing unit 22 that has transmitted the transfer RPC request message.
[0112]
The RPC server processing unit 22 updates the group management table 24 when the RPC server processing unit 22 has a group configuration change notification. Further, the change serial number in the RPC response message from the processing devices 4 and 5 is compared with the change serial number in the group management table 24 to determine whether there is a change in the group configuration. If there is a change, the group management table 24 is updated.
[0113]
When transmitting the processing result of its own server 25 and the execution results from the other transfer destination servers 35 and 45 to the client, the RPC server processing unit 20 updates the group management table 24 first if the group management table 24 is updated. A change flag is set (ON) in the unit 123.
[0114]
The RPC client processing unit 11 that has received the RPC response message from the processing device 3 determines that there is a change in the configuration of the server group 80 if the change flag of the message is ON, and sends the addresses of all servers from the address management unit 60. The address is acquired and compared with the address in the address management table 13. As a result, the address of the server 55 that becomes the difference is added to the address management table 13 and the group management table 14. Next, the RPC client processing unit 11 selects one from the server execution results of the processing devices 3, 4, and 5 in the RPC response message, and passes it to the client 15. In this embodiment, the client does not need a group management table.
[0115]
According to the present embodiment, when making an RPC request to a server group, transmission / reception is performed only with a processing device arbitrarily selected in the group, and is transmitted to all remaining servers of other processing devices in the group. On the other hand, since the indirect multicast method of transferring and processing the RPC request message is used, it is possible to reduce the processing load on the client and the network.
[0116]
[Fourth embodiment]
Next, a fourth embodiment will be described. In the first, second, and third embodiments, RPC is used as a communication method between the client and the server. In a distributed processing system in which a plurality of information processing devices are interconnected via a network, the RPC is a method in which a client in one processing device uses another method by the same method as a procedure call in its own processing device. This is a request-response communication method in which a procedure provided by a server existing in the server is called and a processing procedure for receiving the execution result is performed. However, the RPC internally combines (1) communication of a request message from the client to the server, (2) communication of a response message from the server to the client, and (3) executable on the server side. The program is provided in the form of a procedure. (4) Processing is performed so that a client can call a procedure provided by a server provided in another processing apparatus in the same manner as a procedure called in a processing apparatus of its own. This is one form of request / response communication characterized in that
[0117]
The gist of the present invention is that the communication method between the client and the server is not limited to the RPC, but the communication method between the client and the server is at least (1) a client to a server instead of the remote procedure call request / response. And (2) communication of a response message from the server to the client.
[0118]
In any of the first, second, and third embodiments, a request message may be used instead of the remote procedure call request, and a response message may be used instead of the remote procedure call response. In this case, the system configuration and the configuration in the processing device in each of the first, second, and third embodiments are the same in the fourth embodiment, and the processing contents may be the same. As for the format of the RPC message, it is only necessary to change the RPC control header section to a request / response communication control header section including control information for request / response communication.
[0119]
As described above, the gist of the present invention is not limited to the communication method between the client and the server, and is applicable as long as the communication method between the client and the server is the request response communication. The effect of can be obtained.
[0120]
【The invention's effect】
According to the present invention, a client computer can detect a change in the configuration of a server group during operation. Therefore, the system administrator can add servers to the server group while operating the application system, add new services, increase the multiplicity, upgrade the servers, and expand the system. Performance, maintainability, and fault tolerance can be improved. In addition, while operating the application system, the server can be deleted from the server group and unnecessary servers can be separated, so that the system can be reduced in size and maintainability can be improved.
[0121]
In addition, since the detection information of the change in the group configuration is transmitted and received in addition to the RPC response or the request response, the load does not concentrate on the network due to the change. Further, it is not necessary for the client-side computer to constantly monitor whether there is a change in the group configuration, and the change can be detected from its own RPC request or the response to the request communication. There is no increase.
[0122]
Further, according to the present invention, when the remote procedure configures a multiplex server, the client computers accessing each server before and after server addition can be made the same, and the consistency of the internal state of the server can be improved. Since it is guaranteed, it is useful as a communication system of the multiplex server.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of a system configuration to which a remote procedure call processing method according to the present invention is applied.
FIG. 2 is a format diagram of a server change notification RPC message according to one embodiment;
FIG. 3 is a format diagram of an RPC request message according to one embodiment;
FIG. 4 is a format diagram of an RPC response message according to one embodiment.
FIG. 5 is a configuration diagram of a processing device provided with a client and a server.
FIG. 6 is a format diagram showing the contents of an address management table.
FIG. 7 is a format diagram showing the contents of a group management table.
FIG. 8 is a flowchart illustrating an overall processing operation of the RPC client processing unit according to the first embodiment.
FIG. 9 is a flowchart illustrating details of a table initialization process.
FIG. 10 is a flowchart showing a response receiving process of the RPC client processing unit.
FIG. 11 is a flowchart illustrating a processing operation of an RPC server processing unit according to the first embodiment.
FIG. 12 is a flowchart showing a processing operation of an address management unit.
FIG. 13 is a flowchart illustrating a processing operation of a group configuration change notification unit.
FIG. 14 is a system configuration diagram illustrating the flow of a server addition process.
FIG. 15 is an explanatory diagram showing specific management contents of each group management table in the system configuration of FIG. 14;
FIG. 16 is a flowchart illustrating the flow of a server addition process on the server side.
FIG. 17 is a flowchart showing a server addition detection process on the client side.
FIG. 18 is a format diagram illustrating an RPC request message according to the second embodiment.
FIG. 19 is a format diagram showing an RPC response message in the second embodiment.
FIG. 20 is a flowchart illustrating a processing operation of a response receiving process of the RPC client processing unit according to the second embodiment.
FIG. 21 is a flowchart illustrating a processing operation of an RPC server processing unit according to the second embodiment.
FIG. 22 is a system configuration diagram illustrating a flow of a process of an indirect multicast method in the third embodiment.
FIG. 23 is a format diagram showing an RPC request message and a response message in the third embodiment.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Communication medium (network), 2-8 ... Processing apparatus (computer), 10, 20, 30, 43, 50 ... RPC processing part, 11 ... RPC client processing part, 12, 22, 32, 42, 52 ... RPC Server processing unit, 13: address management table, 14, 24, 34, 44, 54: group management table, 143: group configuration change serial number unit, 25, 35, 45, 55, 401, 402, 403, 411, 412 413, 421, 422, 423, 431, 432, 433: server, 60: address management unit, 70: group configuration change notification unit, 80: server group, 100: server change notification RPC message, 101: RPC control header unit 102: RPC request content identifier, 103: change server processing identifier, 110: RPC request message, 111 Client request data unit, 120 ... RPC reply message, 121 ... group configuration change notification unit, 122 ... server execution result data unit.

Claims (3)

  1. In a remote procedure call processing method for responding to one remote procedure call request and calling a plurality of grouped servers,
    Any one of the server groups is notified of the change in the group configuration, and the server that has received the notification increments the change serial number held by itself and changes its own change information. The request source adds the current change information stored for each server to be called to the execution request of the procedure to be sent to each grouped server, and sends the request.
    When each of the servers receives one of the execution requests, the server executes the corresponding procedure, and compares the change information added to the execution request with the change information held by itself, and when there is no match, Setting a change flag together with the execution result in a response message returned to the request source,
    The remote procedure call processing method, wherein the request source that has received the response message changes a member of a server group to be called when the change flag is set.
  2. In response to a request for one remote procedure call, when calling a plurality of grouped servers, one of the members of the server group is called on behalf of one server arbitrarily selected by a remote procedure call requester. In the remote procedure call processing method, the called representative server executes its own process and copies the contents requested by the request source and calls the remaining member servers.
    Any one of the server groups is notified of the change in the group configuration, and the server holding the change information of the change server that receives the notification and adds or deletes the change request from the request source to the representative server. Is issued, and when the content of the copy request is transferred from the representative server, a response message in which the change information is added to the execution result of the execution of the procedure is returned to the representative server. A remote procedure call processing method, wherein a group member is changed based on the change information.
  3. 3. The server according to claim 1 , wherein, as the change in the group configuration, a new server is added to the server group, and each request source of the remote procedure call that has detected the addition of the new server has been a processing request destination up to this time. And selecting one of the new server and the new server as a new processing request destination, and distributing the processing performed by the procedure executing side among the servers in the group.
JP35048896A 1996-12-27 1996-12-27 Remote procedure call processing method Expired - Fee Related JP3592016B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35048896A JP3592016B2 (en) 1996-12-27 1996-12-27 Remote procedure call processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35048896A JP3592016B2 (en) 1996-12-27 1996-12-27 Remote procedure call processing method

Publications (2)

Publication Number Publication Date
JPH10187467A JPH10187467A (en) 1998-07-21
JP3592016B2 true JP3592016B2 (en) 2004-11-24

Family

ID=18410834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35048896A Expired - Fee Related JP3592016B2 (en) 1996-12-27 1996-12-27 Remote procedure call processing method

Country Status (1)

Country Link
JP (1) JP3592016B2 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047532B1 (en) 1998-11-13 2006-05-16 The Chase Manhattan Bank Application independent messaging system
US10275780B1 (en) 1999-11-24 2019-04-30 Jpmorgan Chase Bank, N.A. Method and apparatus for sending a rebate via electronic mail over the internet
US10185936B2 (en) 2000-06-22 2019-01-22 Jpmorgan Chase Bank, N.A. Method and system for processing internet payments
US6880156B1 (en) * 2000-07-27 2005-04-12 Hewlett-Packard Development Company. L.P. Demand responsive method and apparatus to automatically activate spare servers
US8849716B1 (en) 2001-04-20 2014-09-30 Jpmorgan Chase Bank, N.A. System and method for preventing identity theft or misuse by restricting access
US7103576B2 (en) 2001-09-21 2006-09-05 First Usa Bank, Na System for providing cardless payment
AU2002363138A1 (en) 2001-11-01 2003-05-12 First Usa Bank, N.A. System and method for establishing or modifying an account with user selectable terms
US7058660B2 (en) 2002-10-02 2006-06-06 Bank One Corporation System and method for network-based project management
US8583926B1 (en) 2005-09-19 2013-11-12 Jpmorgan Chase Bank, N.A. System and method for anti-phishing authentication
US8793490B1 (en) 2006-07-14 2014-07-29 Jpmorgan Chase Bank, N.A. Systems and methods for multifactor authentication
US9608826B2 (en) 2009-06-29 2017-03-28 Jpmorgan Chase Bank, N.A. System and method for partner key management
US9419957B1 (en) 2013-03-15 2016-08-16 Jpmorgan Chase Bank, N.A. Confidence-based authentication
US10148726B1 (en) 2014-01-24 2018-12-04 Jpmorgan Chase Bank, N.A. Initiating operating system commands based on browser cookies
JP6289214B2 (en) * 2014-03-31 2018-03-07 三菱プレシジョン株式会社 Information processing system and method

Also Published As

Publication number Publication date
JPH10187467A (en) 1998-07-21

Similar Documents

Publication Publication Date Title
DE69916928T2 (en) Access method and server for network directory
EP0837407B1 (en) Server to cache protocol for improved web performance
US8271628B2 (en) Method and system for community data caching
US5634010A (en) Managing and distributing data objects of different types between computers connected to a network
US8151347B2 (en) Clustered file system for mix of trusted and untrusted nodes
US6477543B1 (en) Method, apparatus and program storage device for a client and adaptive synchronization and transformation server
US8205044B2 (en) Method and system for dynamic distributed data caching
US6212521B1 (en) Data management system, primary server, and secondary server for data registration and retrieval in distributed environment
JP4134357B2 (en) Distributed data management method
US5396630A (en) Method and system for object management across process boundries in a data processing system
US8090880B2 (en) Data consistency within a federation infrastructure
JP3088269B2 (en) Computer network system and version management method of the operating system
US6675205B2 (en) Peer-to-peer automated anonymous asynchronous file sharing
US5530905A (en) Temporary state preservation for a distributed file service which purges virtual circuit control information after expiration of time limit of inactivity
CN101257670B (en) Method, equipment and system for searching and downloading phone file
US6374289B2 (en) Distributed client-based data caching system
WO2012086920A2 (en) Distributed storage system having content-based overlap prevention function, method for storing object thereof, and storage medium readable by computer
US6092096A (en) Routing in data communications network
US20020032787A1 (en) Method and apparatus for managing location information in a network
EP0338041B1 (en) Naming service for networked digital data processing system
JP3968119B2 (en) Inter-cache information transfer method
EP0618708A2 (en) Locating resources in computer networks having cache server nodes
US6081826A (en) System using environment manager with resource table in each computer for managing distributed computing resources managed for each application
US20050015461A1 (en) Distributed file system
US20080256248A1 (en) Single server access in a multiple tcp/ip instance environment

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040721

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040817

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040824

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100903

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100903

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110903

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees