IP Library Patent Application 17508661
Patent Application
App. No. 17/508,661

System, Method and Computer Readable Medium for Offloaded Computation of Distributed Application Protocols within a Cluster of Data Processing Nodes

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 None
App. No.
17/508,661
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 (40)

1 - 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.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2021
From: CALXEDA, INC.
To: SILICON VALLEY BANK
Reel/Frame 057882/0495 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2021
From: SILICON VALLEY BANK
To: III HOLDINGS 2, LLC
Reel/Frame 057882/0526 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2021
From: DALTON, NIALL JOSEPH; ROBINSON, TREVOR
To: CALXEDA, INC.
Reel/Frame 058295/0720 →