# US 9,521,191 B2 · Computing device, method, and program for distributing computational load

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,521,191 B2
- Document ID: US9521191B2
- Status: Granted
- Kind: B2
- Application number: 14/319,129
- Filed: 2014-06-30
- Published: 2015-04-02
- Granted: 2016-12-13
- Earliest claimed: 2013-09-30
- Assignees: Fujitsu Limited
- Applicants: Fujitsu Limited
- Inventors: Jose Albornoz
- Web page: https://patentgrep.com/patent/US9521191B2

## CPC

- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F 1/32: Means for saving power
- G06F 1/329: by task scheduling
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- H04L 67/1001: for accessing one among a plurality of replicated servers
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A method for distributing load among interconnected computing devices, each computing device having a designated position in each dimension of an array of designated positions, the method comprising, individually, at one or more computing devices per position in a series of positions in one dimension of n-dimensions, in which one dimension and one direction is assigned as a load transfer direction, executing a process including: obtaining an indication of current capacity for additional load at each member of a group of computing devices from among the computing devices; transferring load from the executing computing device to a member of the group at which it is indicated that there is capacity for additional load; where membership of the group is restricted to a computing device on the load transfer direction side of the executing computing device in the one dimension.

## Claims

### Claim 1

A method for distributing load among a plurality of interconnected computing devices, each computing device having a designated position in each dimension of an n-dimensional array of designated positions, wherein n is equal to 2 or 3, each of the n-dimensions corresponds to a spatial dimension, and the designated position of each computing device represents the spatial position of the computing device relative the other computing devices in the respective dimension, the method comprising, individually, at one or more of the interconnected computing devices per designated position in a series of designated positions in one dimension of the n-dimensional array, in which one dimension one direction is assigned as a load transfer direction, executing a process comprising:
obtaining an indication of current capacity for additional load at one of a and each member of a group of one or more computing devices from among the plurality of interconnected computing devices; and
transferring load from the executing computing device to a member of the group at which it is indicated that there is capacity for additional load;
wherein membership of the group is restricted to one of a computing device and computing devices to a load transfer direction side of the executing computing device in the one dimension.

### Claim 2 (depends on 1)

The method according to claim 1, wherein n is greater than or equal to two, and membership of the group is restricted to one of a computing device and computing devices within a predetermined number of designated positions of an individual computing device in one of the one dimension and each of the other n-dimensions than the one dimension.

### Claim 3 (depends on 2)

The method according to claim 2, wherein n is equal to two, and each computing device in a subsequent adjacent designated position to a designated position is a member of a group for at least one of the computing devices in the designated position.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the one or more computing devices per designated position in one dimension executing the process is each a computing device in the designated position.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the process executed by the individual computing devices further comprises:
selecting the member of the group to which to transfer load, comprising: based on obtained indications of current capacity for additional load at one of the and each member of the group, selecting the computing device having a one of the greatest and least capacity from among the computing devices in the group indicated as having non-zero current capacity.

### Claim 6 (depends on 1)

The method according to claim 1, wherein transferring load from the executing computing device to a member of the group comprises transferring load one of until the member of the group has no remaining capacity for additional load and until the executing computing device has no remaining load.

### Claim 7 (depends on 6)

The method according to claim 6, wherein if the executing computing device has no remaining load, the process further comprises entering one of a sleep, hibernation and standby mode, and switching off.

### Claim 8 (depends on 1)

The method according to claim 1, wherein obtaining an indication of current capacity for additional load at a member of the group comprises receiving the indication from the member of the group.

### Claim 9 (depends on 1)

The method according to claim 1, wherein the method is performed as a sequence of more than one iteration, wherein, for each iteration a series of designated positions is the first designated position to a penultimate designated position in the load transfer direction of the one dimension, and each computing device in each of the series of designated positions has a position in a predetermined sequence in which the computing devices are to execute the process, and the computing devices are configured to execute the process in turn according to the predetermined sequence omitting computing devices having a zero current load at their turn.

### Claim 10 (depends on 2)

The method according to claim 2, wherein n is equal to one of 2 and 3, each of the n dimensions corresponds to a spatial dimension, and the designated position of each computing device in the n dimensions represents the spatial position of the computing device relative to the other computing devices.

### Claim 11 (depends on 1)

The method according to claim 1, further comprising transmitting information representing a spatial distribution of the load to a cooling system, and at the cooling system, controlling operation of the cooling system in dependence upon the spatial distribution of the load.

### Claim 12

A computing device among a plurality of interconnected computing devices, each computing device having a designated position in each dimension of an n-dimensional array of designated positions, wherein n is equal to 2 or 3, each of the n-dimensions corresponds to a spatial dimension, and the designated position of each computing device represents the spatial position of the computing device relative the other computing devices in the respective dimension, in which one direction of one dimension of the n-dimensional array is assigned as a load transfer direction, the computing device configured to execute a process comprising:
at a capacity indication obtaining module, obtaining an indication of current capacity for additional load at one of a and each member of a group of one or more computing devices from among the plurality of interconnected computing devices; and
at a load transfer module, transferring load from the executing computing device to a member of the group at which it is indicated that there is capacity for additional load;
wherein membership of the group is restricted to one of another computing device and other computing devices from among the plurality of interconnected computing devices to a load transfer direction side of the executing computing device in the one dimension.

### Claim 13

A system of interconnected computing devices, the system of interconnected computing devices each having a designated position in each dimension of an n-dimensional array of designated positions, wherein n is equal to 2 or 3, each of the n-dimensions corresponds to a spatial dimension, and the designated position of each computing device represents the spatial position of the computing device relative the other computing devices in the respective dimension, in which one direction of one dimension of the n-dimensional array is assigned as a load transfer direction, the computing device configured to execute a process comprising:
at a capacity indication obtaining module, obtaining the indication of current capacity for additional load at one of a and each member of a group of one or more computing devices from among the plurality of interconnected computing devices; and
at a load transfer module, transferring load from an executing computing device to a member of the group at which it is indicated that there is capacity for additional load;
wherein membership of the group is restricted to one of another computing device and other computing devices from among the plurality of interconnected computing devices to a load transfer direction side of the executing computing device in the one dimension.

### Claim 14 (depends on 13)

Apparatus comprising the system of interconnected computing devices according to claim 13 and a cooling system, the system of interconnected computing devices being configured to transmit information representing a spatial distribution of the load to the cooling system, and the cooling system being configured to control an operation of the cooling system in dependence upon the transmit information.

### Claim 15

A non-transitory storage medium storing a computer program which, when executed by a plurality of interconnected computing devices, each computing device having a designated position in each dimension of an n-dimensional array of designated positions, wherein n is equal to 2 or 3, each of the n-dimensions corresponds to a spatial dimension, and the designated position of each computing device represents the spatial position of the computing device relative the other computing devices in the respective dimension, causes the plurality of computing devices to execute a method comprising, individually, at one or more computing devices per designated position in a series of designated positions in one dimension of the n-dimensional arrays, in which one dimension one direction is assigned as a load transfer direction, executing a process comprising:
obtaining an indication of current capacity for additional load at one of a and each member of a group of one or more computing devices from among the plurality of computing devices; and
transferring load from the executing computing device to a member of the group at which it is indicated that there is capacity for additional load;
wherein membership of the group is restricted to one of a computing device and computing devices to a load transfer direction side of the executing computing device in the one dimension.
