IP Library Granted Patent US 12,537,869
Granted Patent B2
US 12,537,869 · App. 18/521,557 · Granted Jan 27, 2026

Smart services placement

Inventors: Eric Shobe (Larkspur, CA); Oleg Guba (Redwood City, CA); Ganesh Prasad Rapolu (Mountain House, CA); Richard Davis (Dallas, TX)
Assignee: Dropbox, Inc.
H04L67/1008H04L43/0817
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 12,537,869
App. No.
18/521,557
Granted
Jan 27, 2026
Kind
B2
Abstract

A system may obtain performance signals associated with at least one of a plurality of servers used in connection with performing a task. A system may provide the performance signals to a machine learning model. A system may receive as output from the machine learning model a health metric related to the at least one of the plurality of servers. A system may determine whether the health metric meets a migration condition. A system may, responsive to the health metric meeting the migration condition, initiate a reallocation of resources for performing the task, wherein the reallocation of resources includes migration of responsibility for performing the task to at least one other server of the plurality of servers.

Claims (49)

1 . A method comprising:

obtaining performance signals associated with at least one of a plurality of servers used in connection with performing a task of editing or creating collaborative content items;

providing the performance signals to a machine learning model;

receiving as output from the machine learning model a health metric related to the at least one of the plurality of servers;

determining whether the health metric meets a migration condition, wherein the migration condition comprises a pre-determined risk threshold; and

responsive to the health metric meeting the migration condition, initiating a reallocation of resources for performing the task, wherein the reallocation of resources includes migration of responsibility for performing the task to at least one other server of the plurality of servers.

2 . The method of claim 1 , wherein the plurality of servers comprises a distributed server system with an architecture of servers which includes both leader servers and follower servers.

3 . The method of claim 1 , wherein the health metric measures a likelihood of failure for the at least one of the plurality of servers.

4 . The method of claim 1 , wherein obtaining the performance signals comprises obtaining performance signals in response to receiving a notification of a failure of one of the plurality of servers.

5 . The method of claim 1 , wherein the plurality of servers comprises a multi-tenant system, wherein the multi-tenant system comprises a plurality of nodes, and wherein migration of responsibility for performing the task to at least one other server of the plurality of servers comprises migration of operations from one node to another node within the multi-tenant system.

6 . The method of claim 5 , wherein the migration condition is based on performance conditions associated with the task.

7 . The method of claim 1 , wherein the migration condition is based on performance conditions associated with the performance signals.

8 . The method of claim 1 , further comprising:

providing the performance signals related to the at least one of the plurality of servers to a second machine learning model;

receiving as output from the second machine learning model a capacity metric associated with the plurality of servers;

determining that the capacity metric meets a capacity condition; and

responsive to the capacity metric meeting the capacity condition, providing a notification that an additional server needs to be added to the plurality of servers.

9 . A non-transitory computer readable medium storing instructions which, when executed by a computing system, cause the computing system to perform operations comprising:

obtaining performance signals associated with at least one of a plurality of servers used in connection with performing a task of editing or creating collaborative content items;

providing the performance signals to a machine learning model;

receiving as output from the machine learning model a health metric related to the at least one of the plurality of servers;

determining whether the health metric meets a migration condition associated with the task, wherein the migration condition comprises a pre-determined risk threshold; and

responsive to the health metric meeting the migration condition, initiating a reallocation of resources for performing the task, wherein the reallocation of resources includes migration of responsibility for performing the task to at least one other server of the plurality of servers.

10 . The non-transitory computer readable medium of claim 9 , wherein the health metric measures a likelihood of failure for the at least one of the plurality of servers.

11 . The non-transitory computer readable medium of claim 9 , wherein the plurality of servers comprises a distributed server system with an architecture of servers which includes both leader servers and follower servers.

12 . The non-transitory computer readable medium of claim 9 , wherein the instructions to cause the computing system to perform operations comprising obtaining the performance signals further comprise obtaining performance signals in response to receiving a notification of a failure of one of the plurality of servers.

13 . The non-transitory computer readable medium of claim 9 , wherein the plurality of servers comprises a multi-tenant system, wherein the multi-tenant system comprises a plurality of nodes, and wherein migration of responsibility for performing the task to at least one other server of the plurality of servers comprises migration of operations from one node to another node within the multi-tenant system.

14 . The non-transitory computer readable medium of claim 9 , wherein the migration condition is based on performance conditions associated with the performance signals.

15 . The non-transitory computer readable medium of claim 9 , the instructions cause the computing system to perform operations further comprising:

providing the performance signals and related to the at least one of the plurality of servers to a second machine learning model;

receiving as output from the machine learning model a capacity metric associated with the plurality of servers;

determining that the capacity metric meets a capacity condition; and

responsive to the capacity metric meets the capacity condition, providing a notification that an additional server needs to be added to the plurality of servers.

16 . A system comprising:

memory with instructions encoded thereon; and

one or more processors that, when executing the instructions, are caused to perform operations comprising:

obtaining information about a task and performance signals associated with at least one of a plurality of servers used in connection with performing the task of editing or creating collaborative content items;

providing the information about the task and the performance signals to a machine learning model;

receiving as output from the machine learning model a health metric related to the at least one of the plurality of servers;

determining whether the health metric meets a migration condition, wherein the migration condition comprises a pre-determined risk threshold; and

responsive to the health metric meeting the migration condition, initiating a reallocation of resources for performing the task, wherein the reallocation of resources includes migration of responsibility for performing the task to at least one other server of the plurality of servers.

17 . The system of claim 16 , wherein the health metric measures a likelihood of failure for the at least one of the plurality of servers.

18 . The system of claim 16 , wherein the plurality of servers comprises at least one active leader server, at least one remote pseudo-leader server, at least two active replica servers, and at least two remote replica servers.

19 . The system of claim 16 , wherein the plurality of servers comprises a multi-tenant system, wherein the multi-tenant system comprises a plurality of nodes, and wherein migration of responsibility for performing the task to at least one other server of the plurality of servers comprises migration of operations from one node to another node within the multi-tenant system.

20 . The system of claim 16 , wherein the one or more processors are caused to perform operations further comprising:

providing the performance signals related to the at least one of the plurality of servers to a second machine learning model;

receiving as output from the machine learning model a capacity metric associated with the plurality of servers;

determining that the capacity metric meets a capacity condition; and

responsive to the capacity metric meets the capacity condition, providing a notification that an additional server needs to be added to the plurality of servers.

Assignments (2)
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2024
From: SHOBE, ERIC; GUBA, OLEG; RAPOLU, GANESH PRASAD; DAVIS, RICHARD
To: DROPBOX, INC.
Reel/Frame 066008/0216 →
Continuity (1)
Related Publication 20250175519A1 · May 29, 2025
References Cited (23)
US 10671439B1 · Frandzel · 2020 [cited by examiner]
US 10778720B2 · Lee et al. · 2020 [cited by applicant]
US 10951469B2 · Elliott, IV · 2021 [cited by applicant]
US 11023353B2 · Poghosyan et al. · 2021 [cited by applicant]
US 11188408B2 · Mahindru et al. · 2021 [cited by applicant]
US 11272005B1 · Blaszka et al. · 2022 [cited by applicant]
US 11422595B2 · Le Goff et al. · 2022 [cited by applicant]
US 11546422B2 · Bartram et al. · 2023 [cited by applicant]
US 11558272B2 · Ranjan et al. · 2023 [cited by applicant]
US 11573838B2 · Krishnan et al. · 2023 [cited by applicant]
US 11610121B2 · Teppoeva et al. · 2023 [cited by applicant]
US 11675631B2 · Martins et al. · 2023 [cited by applicant]
US 11809727B1 · Tuzzolino · 2023 [cited by examiner]
US 20060190602A1 · Canali · 2006 [cited by examiner]
US 20070198710A1 · Gopalakrishnan · 2007 [cited by examiner]
US 20200097348A1 · Mahindru · 2020 [cited by examiner]
US 20200097349A1 · Mahindru · 2020 [cited by examiner]
US 20200285546A1 · Kraplanee · 2020 [cited by examiner]
US 20210334253A1 · Darji · 2021 [cited by examiner]
US 20230044503A1 · Ganesan et al. · 2023 [cited by applicant]
US 20230138337A1 · Mufti · 2023 [cited by examiner]
US 20230141749A1 · Hao · 2023 [cited by examiner]
US 20240028955A1 · Harutyunyan · 2024 [cited by examiner]