Method of improving communication using replicated server program
First Claim
1. A communication method among at least one server configured to execute a server program, and a client machine configured to execute a client program, comprising:
- measuring a communication characteristic between the client machine and the server machine;
comparing the measured communication characteristic with a pre-determined communication characteristic threshold;
selecting a server candidate machine situated closer to the client machine than the server machine, if the measured communication characteristic fails to meet the pre-determined communication characteristic threshold; and
causing at least a part of the server program to be replicated from the server machine to the selected server candidate machine;
thereby creating a replicated server program in the server candidate machine, wherein the replicated server program is executed by the server candidate machine.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention endorses the communication of the client and server type application program to have a good response time even if using the communication media having low transferring rate and high latency, even if the relay communication points are increased, and even if the physical distance of the communication route is increased. The characteristic of the present invention is achieved by measuring the communication characteristic between the server program 203 on the server machine and the client machine 206, and if the measured communication characteristic is not up to a pre-determined communication characteristic standard, then at least a part of the server program 203 is replicated to a server candidate machine situated closest to the client machine 206, and the client program on the client machine 206 connects to the replicated server program 202.
28 Citations
18 Claims
-
1. A communication method among at least one server configured to execute a server program, and a client machine configured to execute a client program, comprising:
-
measuring a communication characteristic between the client machine and the server machine;
comparing the measured communication characteristic with a pre-determined communication characteristic threshold;
selecting a server candidate machine situated closer to the client machine than the server machine, if the measured communication characteristic fails to meet the pre-determined communication characteristic threshold; and
causing at least a part of the server program to be replicated from the server machine to the selected server candidate machine;
thereby creating a replicated server program in the server candidate machine,wherein the replicated server program is executed by the server candidate machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
synchronizing at least a part of the replicated server program of the server candidate machine corresponding to a replication destination program, and at least a part of the server program of the server machine corresponding to a replication source program.
-
-
4. The communication method of claim 3, wherein the synchronizing step synchronizes automatically.
-
5. The communication method of claim 1, further comprising:
-
performing a data communication between the server machine and the server candidate machine via a communication mechanism suitable for a communication protocol;
accumulating a-statistical information regarding the data communication;
judging whether a change of the communication protocol is necessary or not based on the statistical information; and
choosing a new communication protocol if the judging step judges that the change is necessary, and changing the communication mechanism to a new communication mechanism suitable for the new communication protocol.
-
-
6. The communication method of claim 1, wherein the server program includes an interface for each kind of communication media that can be used by the client program;
- the communication method further comprising;
waiting for a communication request at the interface by the server program;
deciding a communication protocol based on the communication request if the server program have received the communication request; and
setting a data transfer control unit which corresponds to the communication protocol.
- the communication method further comprising;
-
7. The communication method of claim 1, wherein the server machine includes a server machine side redirect manager, and the server candidate machine includes a server candidate machine side redirect manager and a redirector;
- the communication method further comprising;
transmitting a message from the client machine to the server machine, the transmitted message including an address of the server machine, an address of the client machine, and an address of the server candidate machine;
receiving the transmitted message at the server machine using the server machine side redirect manager;
transferring the received message to the server candidate machine based on the address of the server candidate machine included in the message;
receiving the transferred message at the server candidate machine using the server candidate machine side redirect manager; and
registering, at the redirector, the addresses of the server machine and client machine included in the received message the addresses being registered by the server candidate machine side redirect manager.
- the communication method further comprising;
-
8. The communication method of claim 1 further comprising:
-
storing information, which indicates whether or not the server program of the server candidate machine should depend on the server program of the server machine, as an attribute of the server program of the server candidate machine;
wherein the server program of the server candidate machine operates independently if the attribute indicates that the server program of the server candidate machine does not depend on the server program of the server machine.
-
-
9. The communication method of claim 1, wherein the server machine is one of a plurality of server machines, and the server candidate machine is one of a plurality of server candidate machine;
- the communication method further comprising;
storing position information corresponding to the plurality of server machines;
storing position information corresponding to the plurality of server candidate machines;
searching for the server machine from among the plurality of server machines based on proximity to the client machine'"'"'s location; and
searching for the server candidate machine from among the plurality of server candidate machines based on proximity to the client machine'"'"'s location.
- the communication method further comprising;
-
10. The communication method of claim 1, further comprising:
-
transmitting a datagram message from the client program to the server program;
receiving the datagram message at the server program;
returning the datagram message from the server program to the client program;
receiving, at the client program, the datagram message; and
measuring a response time based on a transmission time and a reception time of the datagram message at the client program.
-
-
11. The communication method of claim 10, wherein the client machine is capable of using a plurality of communication media, the communication method further comprising:
selecting an optimal communication media by the client program based on the response time.
-
12. The communication method of claim 1, further comprising:
-
storing information regarding usage of the server program by the client program;
judging whether continued execution of the server program is necessary or not based on the usage information; and
stopping the execution of the server program if the continued execution of the server program is judged to be unnecessary.
-
-
13. The communication method of claim 1, the client machine being a wireless terminal, wherein the selecting step selects one of a base station controller and a base station as the server candidate machine.
-
14. The communication method of claim 1, wherein the selecting step selects, as the server client machine, a machine that is communicatively connected between the client machine and server machine in a communication path serving the client and server machines.
-
15. The communication method of claim 1, wherein the executing step executes the replicated server program such that the server candidate machine receives and processes data requests from the client machine while the replicated server program is executing.
-
16. A communication method in a system including a server machine and a client machine operable to communicate with one another using a server program at the server machine, comprising:
-
replicating, at a server candidate machine, at least a portion of a server program in the server machine thereby creating a replicated server program in the selected server candidate machine; and
executing the replicated server program in the selected server candidate machine, wherein at least one of the replicating and executing steps are performed in response to a measured communication characteristic not meeting a predetermined threshold, the measured communication characteristic corresponding to communications between the server machine and the client machine. - View Dependent Claims (17, 18)
selecting the server candidate machine as a machine closer to the client machine than the server machine.
-
-
18. The method of claim 16, wherein the server client machine is communicatively connected between the client machine and the server machine in a communication path servicing communications between the client and server machines, and the method further comprises:
receiving and processing data requests from the client machine at the server candidate machine while the replicated server program is being executed.
Specification