IP Library Granted Patent US 12699710
Granted Patent B2
US 12699710 · App. 18/749,506 · Granted Aug 4, 2026

Systems and methods for tiered synchronization

Inventors: Ian Ward (Brooklyn, NY); Michael Patrick O'Brien (New York, NY); Rushil Kumar (Forest Hills, NY); Sudarshan Muralidhar (Brooklyn, NY); Tyler Kaye (New York, NY)
Assignee: MongoDB, Inc.
G06F16/275G06F16/27
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 12699710
App. No.
18/749,506
Granted
Aug 4, 2026
Kind
B2
Abstract

Described herein are tiered synchronization systems and methods suitable for use in non-relational database systems distributed across multiple remote locations, which may provide access to some or all functionality of a cloud-tier server at a mid-tier server. For example, the mid-tier server may be locally accessible (e.g., over LAN) to clients independent of any remote connection to the cloud-tier server (e.g., over the Internet). In some embodiments, a mid-tier server may be configured to perform flexible sync functionality, such as flexible partitioning and/or permissions, whether independently and/or in cooperation with the cloud-tier server performing the same or similar functionality. In some embodiments, systems described herein may provide flexible and consistent local data access to non-relational data in locations where remote network connections are intermittent, such as due to weather conditions, relatively frequent network outages, and/or due to the location regularly changing (e.g., onboard a cruise ship, car, or truck).

Claims (44)

1 . A tiered database synchronization system, comprising:

a mid-tier server database;

a cloud-tier server database in communication with the mid-tier server database over a remote network connection; and

a mid-tier server operatively coupled to the mid-tier server database and configured to:

independent of the remote network connection, synchronize the mid-tier server database based on non-relational data interactions between client systems and the mid-tier server over a local network connection;

when the mid-tier server is connected to the cloud-tier server database over the remote network connection, synchronize the mid-tier server database with the cloud-tier server database based on the non-relational data interactions;

receive, from a first client system over the local network connection, a first changeset that is representative of a non-relational operation on a data object in the mid-tier server database performed by the first client system;

receive, from a second client system over the local network connection, a second changeset that is representative of a non-relational operation on the data object performed by the second client system; and

in response to receiving, from the first client system over the local network connection, a synchronization request for synchronizing the first client system at least with the second client system, transmit, to the first client system, the second changeset,

wherein the first client system is configured to merge the first changeset and the second changeset to update the data object.

2 . The tiered database synchronization system of claim 1 , wherein the mid-tier server is configured to periodically check the remote network connection and, in response to detecting that the mid-tier server is connected to the cloud-tier server database over the remote network connection, synchronize the mid-tier server database with the cloud-tier server database.

3 . The tiered database synchronization system of claim 1 , wherein the mid-tier server is configured to, independent of the remote network connection, act as a server to client systems connected to the mid-tier server over the local network connection.

4 . The tiered database synchronization system of claim 1 , further comprising a cloud- tier server operatively coupled to the cloud-tier server database, wherein the mid-tier server is further configured to act as a client to the cloud-tier server when the mid-tier server is connected to the cloud- tier server over the remote network connection.

5 . The tiered database synchronization system of claim 1 , wherein the remote network connection comprises the Internet, and wherein the local network connection comprises a local area network connection.

6 . The tiered database synchronization system of claim 1 , wherein the mid-tier server database and the cloud-tier server database are remote with respect to one another, and wherein the mid-tier server is configured to communicate over the local network connection with client systems that are local to the mid-tier server.

7 . The tiered database synchronization system of claim 1 , wherein the mid-tier server is located in a location at which the mid-tier server has intermittent access to the cloud-tier server database over the remote network connection.

8 . The tiered database synchronization system of claim 1 , wherein the mid-tier server is configured to, independent of the remote network connection, respond to requests for access to data stored in the mid-tier server database, the requests received from client systems over the local network connection.

9 . The tiered database synchronization system of claim 1 , wherein the mid-tier server is further configured to, when connected to the cloud-tier server database over the remote network connection, request access to data stored in the cloud-tier server database in response to requests for access to data not stored in the mid-tier server database, the requests received from client systems over the local network connection.

10 . The tiered database synchronization system of claim 1 , wherein the mid-tier server is further configured to:

when the mid-tier server is connected to the cloud-tier server database over the remote network connection, receive, from the cloud-tier server database over the remote network connection, a third changeset that is representative of an operation on a version of the data object in the cloud-tier server database performed by a client system that is not connected to the mid-tier server over the local network connection; and

in response to receiving the synchronization request from the first client system over the local network connection, further transmit, to the first client system over the local network connection, the third changeset,

wherein the first client system is further configured to merge the first changeset and the second changeset with the third changeset.

11 . A tiered database synchronization method, comprising:

synchronizing, by a mid-tier server, a mid-tier server database based on non-relational data interactions between client systems and the mid-tier server over a local network connection;

when the mid-tier server is connected to a cloud-tier server database over a remote network connection, synchronizing the mid-tier server database with the cloud-tier server database based on the non-relational data interactions;

receiving, from a first client system over the local network connection, a first changeset that is representative of a non-relational operation on a data object in the mid-tier server database performed by the first client system;

receiving, from a second client system over the local network connection, a second changeset that is representative of a non-relational operation on the data object performed by the second client system; and

in response to receiving, from the first client system over the local network connection, a synchronization request for synchronizing the first client system at least with the second client system, transmitting, to the first client system, the second changeset,

wherein the first client system merges the first changeset and the second changeset to update the data object, and

wherein synchronizing the mid-tier server database based on the non-relational data interactions between client systems and the mid-tier server is independent of the remote network connection.

12 . The tiered database synchronization method of claim 11 , further comprising, by the mid-tier server, periodically checking the remote network connection and, wherein synchronizing the mid-tier server database with the cloud-tier server database is in response to detecting that the mid-tier server is connected to the cloud-tier server database over the remote network connection.

13 . The tiered database synchronization method of claim 11 , further comprising, by the mid-tier server, independent of the remote network connection, acting as a server to client systems connected to the mid-tier server over the local network connection.

14 . The tiered database synchronization method of claim 11 , further comprising, by the mid-tier server, acting as a client to a cloud-tier server coupled to the cloud-tier server database when the mid-tier server is connected to the cloud-tier server over the remote network connection.

15 . The tiered database synchronization method of claim 11 , wherein the remote network connection comprises the Internet, and wherein the local network connection comprises a local area network connection.

16 . The tiered database synchronization method of claim 11 , wherein the mid-tier server database and the cloud-tier server database are remote with respect to one another, and wherein the mid-tier server communicates over the local network connection with client systems that are local to the mid-tier server.

17 . The tiered database synchronization method of claim 11 , wherein the mid-tier server is located in a location at which the mid-tier server has intermittent access to the cloud-tier server database over the remote network connection.

18 . The tiered database synchronization method of claim 11 , further comprising, by the mid-tier server, independent of the remote network connection, responding to requests for access to data stored in the mid-tier server database, the requests received from client systems over the local network connection.

19 . The tiered database synchronization method of claim 11 , further comprising, by the mid-tier server, when connected to the cloud-tier server database over the remote network connection, requesting access to data stored in the cloud-tier server database in response to requests for access to data not stored in the mid-tier server database, the requests received from client systems over the local network connection.

20 . The tiered database synchronization method of claim 11 , further comprising, by the mid-tier server:

when the mid-tier server is connected to the cloud-tier server database over the remote network connection, receiving, from the cloud-tier server database over the remote network connection, a third changeset that is representative of an operation on a version of the data object in the cloud-tier server database performed by a client system that is not connected to the mid-tier server over the local network connection; and

in response to receiving the synchronization request from the first client system over the local network connection, further transmitting, to the first client system over the local network connection, the third changeset,

wherein the first client system further merges the first changeset and the second changeset with the third changeset.

21 . The tiered database synchronization system of claim 1 , wherein the mid-tier server database comprises a non-relational portion.

22 . The tiered database synchronization method of claim 11 , wherein the mid-tier server database comprises a non-relational portion.