IP Library Granted Patent US 9,218,210
Granted Patent B2
US 9,218,210 · App. 14/227,441 · Granted Dec 22, 2015

Distributed processing system

Inventor: Isao Kimata (Tokyo, JP)
Assignee: NEC CORPORATION
G06F9/5027
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,218,210
App. No.
14/227,441
Granted
Dec 22, 2015
Kind
B2
Abstract

A management node includes a distributed task management unit that divides a task including a plurality of processing targets and allocates the task to a plurality of execution nodes, and an execution status information memory update unit that updates execution status information of the task in accordance with execution status update requests from the execution nodes. Based on a first period of time required for processing the processing targets of a unit amount by the execution node and a second period of time required for processing the execution status update request by the management node, the distributed task management unit determines the amount of the task allocated to each of the execution nodes such that a difference in the completion time of the task allocated to any two execution nodes, among the execution nodes, becomes greater than the second period of time.

Claims (43)

1. A node device connected with a plurality of execution nodes, the node device comprising:

a persistent storage device that stores execution status information of a task including a plurality of units of processing target data;

an execution status information memory update unit that receives an execution status update request including an execution result regarding the units of processing target data from each of the execution nodes, and updates the execution status information stored in the persistent storage device; and

a distributed task management unit that allocates the units of processing target data to the execution nodes in a distributed manner, wherein

each of the execution nodes transmits an execution status update request including an execution result upon completion of processing executed to the units of processing target data allocated to the respective execution node of the execution nodes; and

in the allocation, based on a first period of time required for processing the units of processing target data by each of the execution nodes and a second period of time required for processing the execution status update request by the execution status information memory update unit, the distributed task management unit determines the number of the units of processing target data allocated to each of the execution nodes such that in at least two execution nodes among the execution nodes, a difference in processing time required for processing the units of processing target data allocated to the two execution nodes becomes greater than the second period of time.

2. The node device according to claim 1 , further comprising:

an acceptance schedule sequence storing unit that stores an execution status update request acceptance schedule sequence of the execution nodes, the sequence being determined based on a magnitude relationship among the numbers of the units of processing target data allocated to the respective execution nodes; and

a sequence matching unit that matches an acceptance sequence of the execution status update requests from the execution nodes against the execution status update request acceptance schedule sequence stored in the acceptance schedule sequence storing unit, and detects, as an abnormal node, any of the execution nodes in which the execution status update request was not accepted although the acceptance sequence has been scheduled in the execution status update request acceptance schedule sequence.

3. The node device according to claim 1 , further comprising

an allocation history storing unit that stores an allocation history of the units of processing target data to the execution nodes, wherein

the distributed task management unit determines the number of the units of processing target data to be allocated to each of the execution nodes with reference to the allocation history.

4. The node device according to claim 1 , wherein

in the allocation, the distributed task management unit determines the number of the units of processing target data allocated to each of the execution nodes such that in any two execution nodes having a specific function among the execution nodes, a difference in processing time required for processing the units of processing target data allocated to the two execution nodes becomes greater than the second period of time.

5. A distributed processing system comprising a management node and a plurality of execution nodes, wherein

the management node includes:

a persistent storage device that stores execution status information of a task including a plurality of units of processing target data;

an execution status information memory update unit that receives an execution status update request including an execution result regarding the units of processing target data from each of the execution nodes, and updates the execution status information stored in the persistent storage device; and

a distributed task management unit that allocates the units of processing target data to the execution nodes in a distributed manner,

each of the execution nodes transmits an execution status update request including an execution result upon completion of processing executed to the units of processing target data allocated to the respective execution node of the execution nodes; and

in the allocation, based on a first period of time required for processing the units of processing target data by each of the execution nodes and a second period of time required for processing the execution status update request by the execution status information memory update unit, the distributed task management unit determines the number of the units of processing target data allocated to each of the execution nodes such that in at least two execution nodes among the execution nodes, a difference in processing time required for processing the units of processing target data allocated to the two execution nodes becomes greater than the second period of time.

6. The distributed processing system according to claim 5 , wherein the management node includes:

an acceptance schedule sequence storing unit that stores an execution status update request acceptance schedule sequence of the execution nodes, the sequence being determined based on a magnitude relationship among the numbers of the units of processing target data allocated to the respective execution nodes; and

a sequence matching unit that matches an acceptance sequence of the execution status update requests from the execution nodes against the execution status update request acceptance schedule sequence stored in the acceptance schedule sequence storing unit, and detects, as an abnormal node, any of the execution nodes in which the execution status update request was not accepted although the acceptance sequence has been scheduled in the execution status update request acceptance schedule sequence.

7. The distributed processing system according to claim 5 , wherein the management node includes an allocation history storing unit that stores an allocation history of the units of processing target data to the execution nodes, and

the distributed task management unit determines the number of the units of processing target data to be allocated to each of the execution nodes with reference to the allocation history.

8. The distributed processing system according to claim 5 , wherein the execution nodes are divided into a plurality of groups, and among the execution nodes belonging to each of the groups, one of the execution nodes works as a main execution node and the other execution nodes work as sub execution nodes,

each of the sub execution nodes includes a first distributed task execution management unit that upon completion of processing of the units of processing target data allocated to the respective sub execution node of the sub execution nodes, transmits the execution status update request to the main execution node of the own group,

the main execution node includes a second distributed task execution management unit that upon completion of processing of the units of processing target data allocated to the main execution node and upon reception of the execution status update requests from all of the sub execution nodes of the own group, transmits the execution status update requests of the main execution node and of the sub execution nodes to the management node, and

in the allocation, the distributed task management unit determines the number of the units of processing target data allocated to each of the execution nodes such that in any two main execution nodes among the main execution nodes, a difference in processing time required for processing the units of processing target data allocated to the two main execution nodes becomes greater than the second period of time.

9. A distributed processing method implemented by a distributed processing system including a management node and a plurality of execution nodes, the management node including a persistent storage device that stores execution status information of a task including a plurality of units of processing target data, the method comprising:

by the management node, allocating the units of processing target data to the execution nodes in a distributed manner;

by each of the execution nodes, transmitting an execution status update request including an execution result upon completion of processing executed to the units of processing target data allocated to the respective execution node of the execution nodes; and

by the management node, receiving the execution status update request, and updating the execution status information stored in the persistent storage device, wherein

the allocating by the management node includes, based on a first period of time required for processing the units of processing target data by each of the execution nodes and a second period of time required for processing the execution status update request by the management node, determining the number of the units of processing target data allocated to each of the execution nodes such that in at least two execution nodes among the execution nodes, a difference in processing time required for processing the units of processing target data allocated to the two execution nodes becomes greater than the second period of time.

10. The distributed processing method according to claim 9 , further comprising

by the management node, storing an execution status update request acceptance schedule sequence of the execution nodes, the sequence being determined based on a magnitude relationship among the numbers of the units of processing target data allocated to the respective execution nodes, matching an acceptance sequence of the execution status update requests from the execution nodes against the execution status update request acceptance schedule sequence stored in the acceptance schedule sequence storing unit, and detecting, as an abnormal node, any of the execution nodes in which the execution status update request was not accepted although the acceptance sequence has been scheduled in the execution status update request acceptance schedule sequence.

11. The distributed processing method according to claim 9 , further comprising

by the management node, storing an allocation history of the units of processing target data to the execution nodes, and determining the number of the units of processing target data to be allocated to each of the execution nodes with reference to the allocation history.

12. The distributed processing method according to claim 9 , wherein the execution nodes are divided into a plurality of groups, and among the execution nodes belonging to each of the groups, one of the execution nodes works as a main execution node and the other execution nodes work as sub execution nodes,

each of the sub execution nodes transmits the execution status update request to the main execution node of the own group upon completion of processing of the units of processing target data allocated to the respective sub execution node,

the main execution node transmits, upon completion of processing of the units of processing target data allocated to the main execution node and upon reception of the execution status update requests from all of the sub execution nodes of the own group, the execution status update requests of the main execution node and of the sub execution nodes to the management node, and

the allocating by the management node includes determining the number of the units of processing target data allocated to each of the execution nodes such that in any two main execution nodes among the main execution nodes, a difference in processing time required for processing the units of processing target data allocated to the two main execution nodes becomes greater than the second period of time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2014
From: KIMATA, ISAO
To: NEC CORPORATION
Reel/Frame 032542/0953 →
Priority Claims (1)
JP 2013-066711 · Mar 27, 2013 · national
Continuity (1)
Related Publication 20140298350A1 · Oct 2, 2014