IP Library Granted Patent US 12,181,978
Granted Patent B2
US 12,181,978 · App. 17/707,048 · Granted Dec 31, 2024

Systems and methods for exporting and/or importing data

Inventors: Anatolii Shuvalov (Sydney, AU); Andre van der Schyff (Sydney, AU); Jonathon Patrick Geeves (Sydney, AU)
Assignees: ATLASSIAN PTY LTD.; ATLASSIAN US, INC.
G06F11/1464G06F11/1469G06F2201/84
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,181,978
App. No.
17/707,048
Granted
Dec 31, 2024
Kind
B2
Abstract

Systems and methods for exporting data from a cloud server and/or importing data to a cloud server are disclosed. The method for exporting data includes receiving a plurality of event records. Each event record includes information about an update to application data of an application. The computer-implemented method further including storing the plurality of event records in near real-time in a predefined storage location and in response to a client export request, creating one or more backup files based on the stored event records in the predefined storage location, and allowing export of the one or more backup files to a local client storage location.

Claims (49)

1. A computer-implemented method, comprising:

receiving a plurality of event records, each event record including information about changes to application data, the application data comprising content managed by an application;

storing the plurality of event records in a predefined storage location;

receiving a client export request for a backup of the application data; and

in response to the client export request:

checking if a client export has been previously requested for the application data;

if there has been at least one previous client export, determining whether a most recent previous client export request was received less than a threshold period of time ago;

upon determining that the most recent previous client export request was received less than the threshold period of time ago, creating one or more backup files based on a subset of the stored event records in the predefined storage location, wherein the subset of event records includes event records received since the most recent previous client export request; and

allowing export of the one or more backup files to a local client storage location.

2. The computer-implemented method of claim 1 , wherein upon determining that the most recent previous client export request was received more than the threshold period of time ago, creating the one or more backup files based on all the stored event records in the predefined storage location.

3. The computer-implemented method of claim 1 , wherein creating the one or more backup files based on the stored event records in the predefined storage location comprises:

checking if a client export has been requested for the application data previously; and

upon determining that no previous client export requests have been requested for the application data, creating the one or more backup files based on all the stored event records in the predefined storage location.

4. The computer-implemented method of claim 1 , wherein the application and the predefined storage location are cloud-based.

5. The computer-implemented method of claim 4 , wherein the application is an object tracking application.

6. The computer-implemented method of claim 1 , wherein the predefined storage location is independent to a server data storage location for storing the application data.

7. A computer processing system comprising:

a processing unit;

a communication interface; and

a non-transitory computer-readable storage medium storing instructions, which when executed by the processing unit, cause the processing unit to:

receive a plurality of event records, each event record including information about changes to application data, the application data comprising content managed by an application;

store the plurality of event records in near real-time in a predefined storage location;

receive a client export request for a backup of the application data; and

in response to the client export request:

determine if a client export request has been previously requested for the application data;

if there has been at least one previous client export, determine whether a most recent previous client export request was received less than a threshold period of time ago;

upon determining that the most recent previous client export request was received less than the threshold period of time ago, create one or more backup files based on a subset of the stored event records in the predefined storage location, wherein the subset of the stored event records includes event records received since the most recent previous client export request; and

allow export of the one or more backup files to a local client storage location.

8. The computer processing system of claim 7 , wherein the non-transitory computer-readable storage medium storing instructions, which when executed by the processing unit, causes the processing unit to:

create, based on determining that the most recent previous client export request was received more than the threshold period of time ago, the one or more backup files based on all the stored event records in the predefined storage location.

9. The computer processing system of claim 7 , wherein to create the one or more backup files based on the stored event records in the predefined storage location, the non-transitory computer-readable storage medium storing instructions, which when executed by the processing unit, cause the processing unit to:

check if a client export has been requested for the application data previously; and

upon determining that no previous client export requests have been requested for the application data, create the one or more backup files based on all the stored event records in the predefined storage location.

10. The computer processing system of claim 7 , wherein the application and the predefined storage location are cloud-based.

11. The computer processing system of claim 10 , wherein the application is an object tracking application.

12. The computer processing system of claim 7 , wherein the predefined storage location is independent to a server data storage location for storing the application data.

13. A computer-implemented method, comprising:

receiving a backup from a local client storage location;

generating, based on the received backup, a plurality of event records, wherein each event record comprises information used to restore application data managed by an application;

creating a plurality of write requests based on the plurality of event records, wherein each write request includes information about an object including the object identifier, content of the object, and a sequence number indicating a version of the object;

communicating the plurality of write requests to a database application for restoring one or more objects in a storage database;

locking access to the storage database;

comparing, by the database application and for each write request, the sequence number received in the write request with a sequence number of a corresponding object stored in the storage database;

upon determining, for each write request, that the sequence number received in the write request is higher than the corresponding sequence number of the corresponding object stored in the storage database, writing the content of the object to the storage database and updating the sequence number of the object in the storage database to match the sequence number received in the write request;

receiving confirmation message from the database application, once the one or more objects are restored in the storage database; and

unlocking access to the storage database in response to the confirmation message.

14. The computer-implemented method of claim 13 , further comprising:

for each write request:

upon determining that the sequence number received in the write request is lower than the sequence number of the corresponding object stored in the storage database, ignoring the write request.

Assignments (2)
CHANGE OF NAME Recorded Aug 5, 2022
From: ATLASSIAN, INC.
To: ATLASSIAN US, INC.
Reel/Frame 061085/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2022
From: SHUVALOV, ANATOLII; VAN DER SCHYFF, ANDRE; GEEVES, JONATHON PATRICK
To: ATLASSIAN PTY LTD.; ATLASSIAN INC.
Reel/Frame 060208/0654 →
Continuity (1)
Related Publication 20230315581A1 · Oct 5, 2023