Server load balancing based on mathematical calculations: technical
The European Patent Office granted a software patent for a server load balancing technique based on mathematical calculations. Here are the practical takeaways from the decision T 0318/10 (Load Distribution/CLUB IT) of 2.9.2014 of Technical Board of Appeal 3.5.06:
Key takeaways
Improving the resource consumption in a server is a technical effect
A basic difference between a mathematical method and a technical process can be seen in the fact that a mathematical method is carried out on numbers and provides a result also in numerical form, the mathematical method being only an abstract concept prescribing how to operate on the numbers and producing no direct technical result as such. In contrast thereto, if a mathematical method (in the present case the optimisation function) is used in a technical process (in the present case assigning a server from among a plurality of servers to process a client request), that process is carried out on a physical entity by some technical means implementing the method and provides as its result a certain change in that entity.
The invention
This patent application generally relates to server load balancing, i.e. to a method of load distribution to assign a server from multiple network-connected servers for the execution of a client’s processing request. The load distribution function can be installed on any server in the network.
Fig. 1 of EP 1 696 324
Claim 1 (main request)
A server/client system in which a plurality of servers (101a, 101b to l0ln) and a plurality of clients (102) are connected through a network (100), and the servers (101b to l0ln) execute a process based on a process request from the clients (102) and transmit a process result to the clients (102), wherein at least one of the servers (101a) includes a process information receiving unit (401) configured to receive information on the process from the clients (102) through the network (100); a determining unit (402) configured to determine a server (101b to 101n) to execute the process from among the servers (101b to l0ln) based on the information on the process; and a server information transmitting unit (403) configured to transmit information on determined server (101b to 101n) to the clients (102), and each of the clients (102) includes a server information receiving unit (412) configured to receive the information on the server (101b to l0ln); and a process request transmitting unit (413) configured to transmit the process request to the determined servers (101b to 101n); characterised in that the determining unit (402) includes a first calculating unit (404) configured to calculate, for each of the servers, a first distance from an estimation point indicating an estimated consumption to an ideal consumption line, the estimated consumption obtained by adding an amount of resource to be consumed by execution of the process to a point indicating an amount of resource that has been consumed by each of the servers (101b to l0ln), the ideal consumption line being a straight line that connects an origin and a point indicating a maximum resource capacity of each of the servers (101b to l0ln) expressed in a space having parameters of resources as axes; and the determining unit (402) is configured to determine the server (101b to 101n) with the shortest first distance.
Is it patentable?
In this case, the load distribution function was defined by mathematical formulae and thus the question to be decided was essentially whether such a mathematical optimization was technical:
The board does not agree with the appealed decision that the mathematical formulation of the optimisation function used in a load distribution method in a computer network is non-technical, or, put another way, without technical effects. As stated in T 208/84 (Reasons, point 5) (“Computer-related invention/VICOM”; see OJ EPO 1987, 14), a basic difference between a mathematical method and a technical process can be seen in the fact that a mathematical method is carried out on numbers and provides a result also in numerical form, the mathematical method being only an abstract concept prescribing how to operate on the numbers and producing no direct technical result as such. In contrast thereto, if a mathematical method (in the present case the optimisation function) is used in a technical process (in the present case assigning a server from among a plurality of servers to process a client request), that process is carried out on a physical entity by some technical means implementing the method and provides as its result a certain change in that entity. In the present case the optimisation function as defined by claim 1 results in a change in the resource consumption of the server system which is a technical effect.
Since none of the prior art on record provided a hint towards the claimed distance calculation and process request allocation techniques, the first instance rejection was lifted by the Board and a patent was granted.