IP Library Granted Patent US 10,795,775
Granted Patent B2
US 10,795,775 · App. 15/771,443 · Granted Oct 6, 2020

Apparatuses, methods, and systems for storage and analysis of SaaS data and non-SaaS data for businesses and other organizations

Inventors: Robert John Gibbons, Jr. (Norwalk, CT); Austin McChord (Norwalk, CT)
Assignee: DATTO, INC.
G06F11/1464G06F7/00G06F16/258G06F16/27G06Q10/10H04L63/0428H04L63/083H04L67/1097
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 10,795,775
App. No.
15/771,443
Granted
Oct 6, 2020
Kind
B2
Abstract

A “Local Ingestion” (LI) Server resides and operates in the LAN of a business organization, and provides backup storage for data generated using various software applications locally installed on client terminals (“non-SaaS data”) and data generated using various SaaS applications accessed by client terminals via the Internet (“SaaS data”). The LI Server can receive data generated in a native format by either a local non-SaaS application or one or more SaaS applications and convert from different native data formats to an application platform-independent or “canonical” format for backed-up SaaS data and non-SaaS data. The LI Server may then analyze data generated using different source applications, and backed-up in a canonical format, so as to identify particular content, patterns, relationships, and/or trends and thereby extract valuable business-related or other information from multiple cross-platform files.

Claims (90)

1. A method to execute a local ingestion of Software as a Service (SaaS) user data, the method comprising:

receiving, at a local ingestion server, a Saas data backup request, wherein the Saas data backup request comprises a set of user authentication credentials to connect to a first Saas application and a schedule indicating when to execute the local ingestion of first Saas user data generated by the first Saas application;

acquiring, from a secure cloud-based server, a first backup definition for the first Saas application identified in the Saas data backup request, the acquiring comprising:

acquiring an application programming interface (API) tree structure and trigger fields to connect to the endpoint of the first Saas application, and

acquiring a first data scheme comprising a set of rules describing a systematic arrangement to convert data from the first Saas application into a high fidelity format;

executing a first local ingestion of the first Saas user data stored in a first remote server hosting the first Saas application, the first local ingestion comprising:

connecting to an endpoint of the first Saas application specified in the first backup definition; and

retrieving an instance of the first Saas user data from the endpoint of the first Saas application; and

generating a first backup file of the instance of the first Saas user data.

2. The method of claim 1 , wherein acquiring, from the secure cloud-based server, the first backup definition for the first Saas application identified in the Saas data backup request further comprises:

acquiring a set of computer processor executable instructions to perform a Saas application variable mapping utilizing user-specific and local ingestion server-specific variable values.

3. The method of claim 1 , wherein connecting to the endpoint of the first Saas application specified in the first backup definition further comprises:

transmitting to the remote server hosting the first Saas application, a set of server authentication credentials of the local ingestion server; and

transmitting to the remote server hosting the first Saas application, the set of user authentication credentials to connect to the first Saas application on behalf of the user.

4. The method of claim 1 , wherein retrieving the instance of the first Saas user data from the endpoint of the first Saas application further comprises:

executing, at the local ingestion server, an API routine with at least one trigger field value associated with the user.

5. The method of claim 1 , further comprising:

replicating the generated backup instance to a remote repository.

6. The method of claim 1 , further comprising:

acquiring, from the secure cloud-based server, a second backup definition for a second Saas application identified in the Saas data backup request;

executing a second local ingestion of second Saas user data stored in a second remote server hosting the second Saas application, the second local ingestion comprising:

connecting to an endpoint of the second Saas application specified in the second backup definition; and

retrieving an instance of the second Saas user data from the endpoint of the second Saas application; and

generating a second backup file of the instance of the second Saas user data.

7. The method of claim 6 , further comprising:

converting the instance of the first Saas user data into a first converted dataset represented in a high fidelity format utilizing a first data scheme of the first backup definition, wherein the first converted dataset comprises at least one first metadata value to reverse the first converted dataset into a first native format of the first Saas application.

8. The method of claim 7 , further comprising:

converting the instance of the second Saas user data to a second converted dataset represented in the high fidelity format utilizing a second data scheme of the second backup definition, wherein the second converted dataset comprises at least one second metadata value to reverse the second converted dataset into a second native format of the second Saas application.

9. The method of claim 8 , further comprising:

generating, at the local ingestion server, at least one content correlation between the first converted dataset and the second converted dataset based on a content equivalency rule specified in at least one of the first and second data schemes.

10. The method of claim 7 , further comprising:

receiving at the local ingestion server, a request to restore the instance of the first Saas user data;

generating a copy of the instance of the first Saas user data in the first native format of the first Saas application based on the first converted dataset and the at least one first metadata value comprised in the first converted dataset;

connecting to the endpoint of the first Saas application specified in the API tree structure; and

restoring the generated copy of the instance of the first Saas user data in the first native format of the first Saas application via the endpoint of the first Saas application.

11. A local ingestor of Software as a Service (SaaS) user data apparatus, comprising:

a memory to store processor-executable instructions; and

at least one processor, operably coupled to the memory, and configured to issue a plurality of processing instructions stored in the memory, wherein the at least one processor issues instructions to:

receive a Saas data backup request comprising a set of user authentication credentials to connect to a first Saas application a schedule indicating when to execute the local ingestion of first Saas user data generated by the first Saas application;

acquire, from a secure cloud-based server, a first backup definition for the first Saas application identified in the Saas data backup request, wherein acquire comprises:

acquire an application programming interface (API) tree structure and trigger fields to connect to the endpoint of the first Saas application, and

acquire a first data scheme comprising a set of rules describing a systematic arrangement to convert data from the first Saas application into a high fidelity format;

execute a first local ingestion of the first Saas user data stored in a first remote server hosting the first Saas application, the first local ingestion comprising:

connect to an endpoint of the first Saas application specified in the first backup definition; and

retrieve an instance of the first Saas user data from the endpoint of the first Saas application; and

generate a first backup file of the instance of the first Saas user data.

12. The apparatus of claim 11 , wherein acquire, from the secure cloud-based server, the first backup definition for the first Saas application identified in the Saas data backup request further comprises:

acquire a set of computer processor executable instructions to perform a Saas application variable mapping utilizing user-specific and local ingestion server-specific variable values.

13. The apparatus of claim 11 , wherein connect to an endpoint of the first Saas application specified in the first backup definition further comprises:

transmit to the remote server hosting the first Saas application, a set of server authentication credentials of the local ingestion server; and

transmit to the remote server hosting the first Saas application, the set of user authentication credentials to connect to the first Saas application.

14. The apparatus of claim 11 , wherein retrieve the instance of the first Saas user data from the endpoint of the first Saas application further comprises:

execute, an API routine with at least one trigger field value associated with the user.

15. The apparatus of claim 11 , wherein the at least one processor issues further instructions to:

replicate the generated backup instance to a remote repository.

16. The apparatus of claim 11 , wherein the processor issues further instructions to:

acquire, from the secure cloud-based server, a second backup definition for a second Saas application identified in the Saas data backup request;

execute a second local ingestion of second Saas user data stored in a second remote server hosting the second Saas application, wherein execute the second local ingestion comprises:

connect to an endpoint of the second Saas application specified in the second backup definition; and

retrieve an instance of the second Saas user data from the endpoint of the second Saas application; and

generate a second backup file of the instance of the second Saas user data.

17. The apparatus of claim 16 , wherein the processor issues further instructions to:

convert the instance of the first Saas user data into a first converted dataset represented in a high fidelity format utilizing a first data scheme in the first backup definition, wherein the first converted dataset comprises at least one first metadata value to reverse the first converted dataset into a first native format of the first Saas application.

18. The apparatus of claim 17 , wherein the processor issues further instructions to:

convert the instance of the second Saas user data to a second converted dataset represented in the high fidelity format utilizing a second data scheme of the second backup definition, wherein the second converted dataset comprises at least one second metadata value to reverse the second converted dataset into a second native format of the second Saas application.

19. The apparatus of claim 18 , wherein the processor issues further instructions to:

generate at least one content correlation between the first converted dataset and the second converted dataset based on a content equivalency rule specified in at least one of the first and second data schemes.

20. The apparatus of claim 17 , wherein the processor issues further instructions to:

receive at the local ingestion server, a request to restore the instance of the first Saas user data;

generate a copy of the instance of the first Saas user data in the first native format of the first Saas application based on the first converted dataset and the at least one first metadata value comprised in the first converted dataset;

connect to the endpoint of the first Saas application specified in the API tree structure; and

restore the generated copy of the instance of the first Saas user data in the first native format of the first Saas application via the endpoint of the first Saas application.

21. A method for ingesting, aggregating and securing user data from a software as a service (Saas) provider, the method comprising:

creating, at a cloud-based server, a unique user encryption key;

receiving, from a local ingestion server, Saas authentication credentials of the user;

establishing a connection between the cloud-based server and a Saas server, wherein the cloud-based server is recognized by the Saas server as an authorized proxy of the user based on the Saas authentication credentials of the user;

retrieving, from the Saas server, a dataset logically linked to the Saas authentication credentials of the user;

encrypting the dataset with the unique user encryption key;

storing the encrypted dataset in a cloud-based server storage device; and

replicating the encrypted dataset to a user local storage device.

22. An ingestion, aggregation and security apparatus for a user Software as a Service (SaaS) data, comprising:

a memory to store processor-executable instructions; and

at least one processor, operably coupled to the memory, and configured to issue a plurality of processing instructions stored in the memory, wherein the at least one processor issues instructions to:

create a unique user encryption key;

receive, from a local ingestion server, Saas authentication credentials of the user;

establish a connection with a Saas server, wherein the Saas server recognizes the apparatus as an authorized proxy of the user based on the Saas authentication credentials of the user;

retrieve, from the Saas server, a dataset logically linked to the Saas authentication credentials of the user;

encrypting the dataset with the unique user encryption key;

storing the encrypted dataset in a cloud-based server storage device; and

replicating the encrypted dataset to a user local storage device.

Assignments (10)
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Mar 24, 2025
From: DATTO, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS SECOND LIEN COLLATERAL AGENT
Reel/Frame 070609/0599 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Mar 21, 2025
From: DATTO, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 070586/0681 →
RELEASE OF SECURITY INTEREST (PATENTS) Recorded Mar 20, 2025
From: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
To: DATTO, INC.
Reel/Frame 070583/0566 →
CHANGE OF NAME Recorded Oct 27, 2023
From: DATTO, INC.
To: DATTO, LLC
Reel/Frame 065385/0256 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Aug 9, 2022
From: DATTO, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 061129/0839 →
RELEASE OF SECURITY INTEREST Recorded Jun 23, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: DATTO, INC.; AUTOTASK CORPORATION; OPEN MESH, INC.; SOONR, INC.
Reel/Frame 060293/0565 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 48776/0282 Recorded Oct 23, 2020
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: DATTO, INC.
Reel/Frame 054191/0913 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: DATTO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 054191/0984 →
PATENT SECURITY AGREEMENT Recorded Apr 2, 2019
From: DATTO, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 048776/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2018
From: GIBBONS, ROBERT J., JR.; MCCHORD, AUSTIN
To: DATTO, INC.
Reel/Frame 046307/0672 →
Continuity (2)
Provisional Application 62248099 · Oct 29, 2015
Related Publication 20180314603A1 · Nov 1, 2018