System, Method and Computer Readable Medium for Offloaded Computation of Distributed Application Protocols within a Cluster of Data Processing Nodes
Abstract
A data processing node includes a management environment, an application environment, and a shared memory segment (SMS). The management environment includes at least one management services daemon (MSD) running on one or more dedicated management processors thereof. One or more application protocols are executed by the at least one MSD on at least one of the dedicated management processors. The management environment has a management interface daemon (MID) running on one or more application central processing unit (CPU) processors thereof. The SMS is accessible by the at least one MSD and the MID for enabling communication of information of the one or more application protocols to be provided between the at least one MSD and the MID. The MID provides at least one of management service to processes running within the application environment and local resource access to one or more processes running on another data processing node.
Claims
exact text as granted — not AI-modified1 - 20 . (canceled)
21 . A method for offloading a consensus computation, the method comprising:
performing the following in a first data processing node of a cluster that comprises a plurality of other data processing nodes:
offloading a consensus computation to the plurality of other data processing nodes in the cluster;
receiving a plurality of results of the consensus computation from the plurality of other data processing nodes in the cluster;
choosing a result from the received plurality of results; and
informing the plurality of other data processing nodes in the cluster of the chosen result.
22 . The method of claim 21 , wherein the consensus computation is used in a leader election.
23 . The method of claim 21 , wherein the consensus computation is used for an agreement on sequence numbers.
24 . The method of claim 21 , wherein the plurality of results of the consensus computation are received from the plurality of other data processing nodes within a given window of time.
25 . The method of claim 21 , further comprising filtering the plurality of results of the consensus computation on a per-node basis.
26 . The method of claim 21 , further comprising analyzing the received plurality of results to determine which, if any, are of interest to an application on the first data processing node.
27 . The method of claim 26 , further comprising taking no further action on a result that is determined not to be of interest.
28 . The method of claim 26 , further comprising calling back a result that is determined to be of interest.
29 . The method of claim 21 , further comprising caching the received plurality of results.
30 . The method of claim 21 , further comprising scheduling periodic offloading of the consensus computation.
31 . The method of claim 21 , further comprising designating the first data processing node as a master node that initiates the offloading of the consensus computation.
32 . A data processing node comprising:
an interface configured to communicate with a plurality of other data processing nodes in a cluster; and a processor configured to:
distribute a consensus computation to the plurality of other data processing nodes in the cluster;
receive a plurality of results of the consensus computation from the plurality of other data processing nodes in the cluster;
select a winning result from the received plurality of results; and
inform the plurality of other data processing nodes in the cluster of the selected winning result.
33 . The data processing node of claim 32 , wherein the data processing node comprises an application core of a central processing unit subsystem and a management subsystem, and wherein selecting the winning result is a function that is offloaded from the application core of the central processing unit subsystem to the management subsystem.
34 . The data processing node of claim 32 , wherein the data processing node comprises a policy on how to automatically select the winning result from the received plurality of results.
35 . The data processing node of claim 34 , wherein the policy is implemented by software-defined networking (SDN) features of a node interconnect fabric.
36 . The data processing node of claim 32 , wherein the plurality of other data processing nodes comprise virtual machines configured to generate proposed values of the consensus computation.
37 . The data processing node of claim 32 , wherein the plurality of other data processing nodes are configured to obey a latency requirement.
38 . The data processing node of claim 32 , wherein the selected winning result is from one of the plurality of other data processing nodes that has a lowest address.
39 . The data processing node of claim 32 , wherein the selected winning result is a highest value of the received plurality of results.
40 . A non-transitory computer-storage medium having stored therein instructions which, when executed by a processor, cause the processor to perform operations comprising:
sending request messages from a first data processing node to a plurality of other data processing nodes in a cluster requesting consensus on a value of a tag; receiving a plurality of values from the plurality of other data processing nodes in the cluster; choosing a value from the received plurality of value; and informing the plurality of other data processing nodes in the cluster of the chosen value.
41 . The non-transitory computer-storage medium of claim 40 , wherein the request messages comprise a proposed value.
42 . The non-transitory computer-storage medium of claim 40 , wherein the tag comprises a name of a variable.
43 . The non-transitory computer-storage medium of claim 40 , wherein the tag is unique within a consensus domain.
44 . The non-transitory computer-storage medium of claim 40 , wherein the tag is an automatically-generated value.Join the waitlist — get patent alerts
Track US2022114070A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.