IP Library Granted Patent US 9,847,906
Granted Patent B1
US 9,847,906 · App. 14/481,917 · Granted Dec 19, 2017

Distributed dynamic system configuration

Inventor: Philip White (San Mateo, CA)
H04L41/0813H04L67/10
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,847,906
App. No.
14/481,917
Granted
Dec 19, 2017
Kind
B1
Abstract

Reliably making configuration changes to distributed systems, including receiving commands for multiple configuration changes, subdividing configuration changes into separate tasks, and performing those tasks at each node. A configuration element receives sets of configuration change commands, acknowledging them so the user need not wait before issuing additional commands. Tasks are determined, each including consistent changes to system configuration, and each including single-device tasklets. Each particular tasklet might be assigned to a particular single device, or to any single device in the system. Next tasks are performed when tasklets are complete. If tasklets are not timely performed due to nodes which are relatively unresponsive, those nodes are marked “failed.” When a failed node returns to responsiveness, it marks itself “recovering.” When a recovering node catches up, it marks itself “operational.” Updates by failed or recovering nodes are skipped while synchronizing with operational nodes.

Claims (40)

1. A method, including steps of

receiving a plurality of sets of commands, each set indicating one or more configuration changes to a distributed system including a plurality of nodes, each said configuration change including modification of at least one of: configuration information associated with said distributed system, configuration information associated with at least one of said plurality of nodes;

queueing said sets of commands, whereby said sets of commands can be performed;

making said configuration changes in response to each said set of commands, said steps of making being performed asynchronously with respect to said steps of queueing, said steps of making being performed in response to said steps of queueing,

whereby

said configuration changes are made in an order responsive to said steps of receiving;

said sets of commands are received whether or not said configuration changes are completed.

2. A method as in claim 1 , wherein

said steps of receiving include steps of

acknowledging receipt of said sets of commands;

readying receipt for additional said sets of commands.

3. A method as in claim 1 , wherein

said steps of making include steps of

indicating substantial completion of said configuration changes;

indicating whether any further said configuration changes are to be made.

4. A method as in claim 1 , including steps of

determining an active configuration of said distributed system, wherein said steps of making are performed with respect to said active configuration;

identifying a new configuration in response to at least partial results of said steps of making with respect to said active configuration;

determining substantial completion of steps of making with respect to said active configuration;

identifying said new configuration as a new said active configuration in response to said steps of determining substantial completion.

5. A physical medium, including information interpretable by a computing device as instructions, said physical medium being non-transitory,

said instructions directing said computing device to

receive a plurality of sets of commands, each set indicating one or more configuration changes to a distributed system including a plurality of nodes, each said configuration change including modification of at least one of: configuration information associated with said distributed system, configuration information associated with at least one of said plurality of nodes;

queue said sets of commands, whereby said set of commands can be performed;

make said configuration changes in response to each said set of commands, said instructions to make being performed asynchronously with respect to said instructions to queue, said instructions to make being performed in response to said instructions to queue;

whereby

said configuration changes are made in an order responsive to said receiving;

said sets of commands are received whether or not said configuration changes are completed.

6. A physical medium as in claim 5 , wherein

said instructions to receive include

instructions to acknowledge receipt of said sets of commands;

instructions to ready receipt for additional said sets of commands.

7. A physical medium as in claim 5 , wherein said instructions to make include

instructions to indicate substantial completion of said configuration changes;

instructions to indicate whether any further said configuration changes are to be made.

8. A physical medium as in claim 5 , including

instructions to determine an active configuration of said distributed system, wherein said instructions to make are performed with respect to said active configuration;

instructions to identify a new configuration in response to at least partial results of said instructions to make with respect to said active configuration;

instructions to determine substantial completion of said instructions to make with respect to said active configuration;

instructions to identify said new configuration as a new said active configuration in response to said instructions to determine substantial completion.

Assignments (13)
SECURITY INTEREST Recorded Jan 29, 2026
From: SCALE COMPUTING, LLC
To: TORONTO DOMINION (TEXAS) LLC
Reel/Frame 073633/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2025
From: SCALE COMPUTING, LLC
To: SCALE COMPUTING, INC.
Reel/Frame 072864/0595 →
CHANGE OF NAME Recorded Aug 28, 2025
From: ACUMERA SCALE, LLC
To: SCALE COMPUTING, LLC
Reel/Frame 072699/0326 →
MERGER Recorded Aug 15, 2025
From: SCALE COMPUTING, INC.
To: ACUMERA SCALE, LLC
Reel/Frame 072034/0883 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2025
From: MS PRIVATE CREDIT ADMINISTRATIVE SERVICES LLC AS AGENT
To: SCALE COMPUTING, INC.
Reel/Frame 071901/0365 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2025
From: BANC OF CALIFORNIA (FORMERLY KNOWN AS PACIFIC WESTERN BANK)
To: SCALE COMPUTING, INC.
Reel/Frame 071898/0667 →
SECURITY INTEREST Recorded Oct 13, 2023
From: SCALE COMPUTING, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 065213/0109 →
SECURITY INTEREST Recorded Feb 3, 2023
From: SCALE COMPUTING, INC.
To: NORTH HAVEN EXPANSION CREDIT II LP
Reel/Frame 062586/0059 →
RELEASE OF SECURITY INTEREST Recorded Dec 11, 2020
From: RUNWAY GROWTH CREDIT FUND INC.
To: SCALE COMPUTING, INC.
Reel/Frame 054619/0802 →
RELEASE OF SECURITY INTEREST Recorded Dec 10, 2020
From: RUNWAY GROWTH CREDIT FUND INC., AS AGENT
To: SCALE COMPUTING, INC.
Reel/Frame 054611/0589 →
RELEASE OF SECURITY INTEREST Recorded Mar 29, 2019
From: BET ASSOCIATES III, LLC
To: SCALE COMPUTING, INC.
Reel/Frame 048746/0597 →
SECURITY INTEREST Recorded Mar 29, 2019
From: SCALE COMPUTING, INC.
To: RUNWAY GROWTH CREDIT FUND INC.
Reel/Frame 048745/0653 →
SECURITY INTEREST Recorded Jun 27, 2018
From: SCALE COMPUTING, INC.
To: BET ASSOCIATES III, LLC
Reel/Frame 046212/0831 →
Continuity (1)
Continuation 13184283 · Jul 15, 2011