Distributed system including a node which broadcasts a task message and manages information of the task message until completion
Abstract
In some examples, a distributed system may include a plurality of nodes with a file stored in a file system across the plurality of nodes. One of the nodes may receive a request for location data corresponding to a part of the file. For instance, the location data may be included in a mapping file, and the request may specify an offset of the mapping file. The mapping file may include locations of nodes storing parts of the file in the file system across the plurality of nodes, and the mapping file may have a plurality of parts corresponding to the parts of the file. In response to the request, the node may access the mapping file and send location data corresponding to the offset of the mapping file. The location data may indicate at least one of the nodes storing the part of the file.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A non-transitory computer readable medium with executable instructions stored thereon, where the executable instructions cause a distributed system having a plurality of nodes to execute operations comprising:
broadcasting, from one of the plurality of nodes to the other nodes of the plurality of nodes, a task message instructing execution of a task at one or more of the nodes assigned to execute a task, the task message including one or more identifiers of the plurality of nodes, respectively, so that a respective node can execute the task instructed by the task message if the identifier of the respective node matches with one of the one or more identifiers included in the task message; and managing information of the task message until receiving a completion message from each of the plurality of nodes which executed the task instructed in the task message.
2 . The non-transitory computer readable medium of claim 1 , wherein the identifiers are universally unique identifiers (UUIDs).
3 . The non-transitory computer readable medium of claim 1 , the operations further comprising:
receiving the task at the one of the plurality of nodes from a client connected to the distributed system.
4 . The non-transitory computer readable medium of claim 1 , the operations further comprising:
when one or more identifiers in the task includes the identifier of the one of the plurality of nodes broadcasting the task message, placing the task in a queue of the one of the plurality of nodes prior to executing the task at the one of the plurality of nodes.
5 . The non-transitory computer readable medium of claim 1 , wherein the one of the plurality of nodes stores the broadcasted task message in a log with a timestamp.
6 . The non-transitory computer readable medium of claim 5 , wherein the managing the information of the task message includes storing a start message received from each of the plurality of nodes which has started to execute the task instructed in the task message.
7 . The non-transitory computer readable medium of claim 5 , wherein the managing the information of the task message includes storing timestamps included in each received start message and storing timestamps included in each received completion message.
8 . The non-transitory computer readable medium of claim 1 , wherein a first node of the other nodes of the plurality of nodes is unable to receive the broadcasted task due to a failure.
9 . The non-transitory computer readable medium of claim 8 , the operations further comprising:
receiving a query from the first node after the first node has recovered from the failure; and providing the broadcasted task message to the first node after the first node has recovered from the failure.
10 . The non-transitory computer readable medium of claim 1 , the operations further comprising:
prior to broadcasting the task message, receiving the task at the one of the plurality of nodes from a client; and determining the one or more identifiers to include in the task message at the one of the plurality of nodes.
11 . A non-transitory computer readable medium with executable instructions stored thereon which, when executed, cause a distributed system having a plurality of nodes to perform operations comprising:
broadcasting, by one node of the plurality of nodes, to other nodes of the plurality of nodes, a task message instructing execution of a task at one or more of the nodes assigned to execute a task, the task message including one or more identifiers of the plurality of nodes, respectively, so that a respective node can execute the task instructed by the task message if the identifier of the respective node matches with one of the one or more identifiers included in the task message; managing, by the one node of the plurality of nodes, information of the task message; and receiving, by the one node of the plurality of nodes, a completion message broadcasted from each of the plurality of nodes which executed the task instructed in the task message, wherein the one node of the plurality of nodes manages the information of the task message until the completion message is received from each of the plurality of nodes which executed the task instructed in the task message.
12 . The non-transitory computer readable medium of claim 11 , the operations further comprising:
prior to the broadcasting the task message, receiving task information at the one node of the plurality of nodes from a client; and determining, by the one node of the plurality of nodes, the one or more identifiers to include in the task message.
13 . The non-transitory computer readable medium of claim 11 , the operations further comprising:
prior to the broadcasting the task message, receiving task information at the one of the plurality of nodes from a client, wherein the task information received from the client specifies which of the plurality of nodes are to perform the task.
14 . The non-transitory computer readable medium of claim 11 , the operations further comprising:
storing, by the one of the plurality of nodes, the broadcasted task message in a log with a respective timestamp.
15 . The non-transitory computer readable medium of claim 11 , wherein the managing the information of the task message includes storing a start message received from each of the plurality of nodes which has started to execute the task instructed in the task message.
16 . The non-transitory computer readable medium of claim 15 , wherein the managing the information of the task message includes storing timestamps included in each received start message and storing timestamps included in each received completion message.
17 . The non-transitory computer readable medium of claim 11 , wherein when a first node of the plurality of nodes is unable to receive the broadcasted task message due to a failure, the operations further comprising:
receiving a query from the first node after the first node has recovered from the failure; and providing the broadcasted task message to the first node after the first node has recovered from the failure.
18 . A node in a distributed system having a plurality of nodes, the node comprising:
a processor; and a computer-readable medium storing instructions that when executed by the processor, causes the processor to perform operations comprising: receiving a task message broadcasted from another node of the plurality of nodes, the task message instructing execution of a task at one or more of the nodes assigned to execute the task, the task message including one or more identifiers of the plurality of nodes, respectively, so that a respective node can execute the task instructed by the task message if the identifier of the respective node matches with one of the one or more identifiers included in the task message; storing the task message at the node; executing the task instructed by the task message, by the node, when a identifier of the node matches with one of the one or more identifiers included in the task message; and broadcasting, by the node, a completion message to other nodes of the plurality of nodes, based on the node having executed the task instructed in the task message at the node.
19 . The node of claim 18 , wherein the identifiers are universally unique identifiers (UUIDs).
20 . The node of claim 18 , wherein the respective nodes that match each of the one or more identifiers included in the task message are requested to execute the task by a client connected to the distributed system.
21 . The node of claim 18 , the operations further comprising:
storing, by the node, the received task message in a log with a timestamp.
22 . The node as recited in claim 18 , the operations further comprising:
broadcasting, by the node, a start message based on the node starting the execution of the task instructed in the task message, and the start message including a time of starting the execution of the task at the node.
23 . The node as recited in claim 22 , the operations further comprising:
receiving, by the node, a respective start message from each of the plurality of nodes which have started execution of the task instructed in the task message, and the respective start message from each of the plurality of nodes including a time of starting the execution of the task at the respective node; and receiving, by the node, a respective completion message from each of the plurality of nodes which have completed the execution of the task instructed in the task message, and the respective completion message from each of the plurality of nodes including a time of completing the execution of the task at the respective node.
24 . The node as recited in claim 18 , wherein when another one of the plurality of nodes is unable to receive the broadcasted task message due to a failure, the operations further comprising:
receiving a query from the other one of the plurality of nodes after the other one of the plurality of nodes has recovered from the failure; and sending, by the node, the broadcasted task message to the other one of the plurality of nodes after the other one of the plurality of nodes has recovered from the failure.
25 . A node in a distributed system having a plurality of nodes, the node comprising:
a processor; and a computer-readable medium storing instructions that, when executed by the processor, causes the processor to perform operations comprising: receiving task information from a client connected to the distributed system; broadcasting, to other nodes of the plurality of nodes, a task message instructing execution of a task at one or more of the nodes assigned to execute the task based on the task information, the task message including one or more of the identifiers of the plurality of nodes, respectively, so that a respective node can execute the task instructed by the task message if the identifier of the respective node matches with one of the one or more identifiers included in the task message; executing, by the node, the task instructed by the task message when the identifier of the node matches with one of the one or more identifiers included in the task message; and managing information of the task message until receiving a completion message from each of the plurality of nodes which executed the task instructed in the task message.
26 . The node as recited in claim 25 , the operations further comprising:
broadcasting, to the other nodes of the plurality of nodes, a completion message based on having executed the task instructed by the task message.
27 . The node as recited in claim 25 , the operations further comprising:
prior to the broadcasting the task message, determining, by the node, the one or more identifiers to include in the task message, wherein the task information received from the client specifies which nodes are to perform the task.
28 . The node as recited in claim 25 , wherein the managing information of the task message includes storing the task message in a log with a timestamp.
29 . The node as recited in claim 25 , the operations further comprising:
receiving, by the node, from another node of the plurality of nodes, a start message based on the other node starting execution of the task; storing, by the node, the task message in a task log in correspondence with the start message and a time indicated in the start message; receiving, by the node from another node of the plurality of nodes, a completion message based on the other node completing the execution of the task; and storing, by the node, the task message in the task log in correspondence with the completion message and a time indicated in the completion message.
30 . The node as recited in claim 25 , the operations further comprising:
receiving, by the node, from another node of the plurality of nodes, an indication that the other node was unable to receive the task message due to a failure; and sending the task message to the other node after the other node has recovered from the failure.
31 . The non-transitory computer readable medium of claim 11 , wherein the task message is a data operation request that requests performance of the task, wherein the task is a data operation.
32 . The non-transitory computer readable medium of claim 31 , wherein the data operation request is at least one of:
a replication start request, an update request to a replication file, a reference request to the replication file, a synchronization request, an access request to metadata, a reference request to a file entity, a recall request, an update request to a stubbed file entity, a request to create a user, a request to add or remove a physical disk, or a request to configure a logical unit.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.