IP Library Granted Patent US 11,537,311
Granted Patent B1
US 11,537,311 · App. 17/305,095 · Granted Dec 27, 2022

Methods, apparatuses and computer program products for dynamic data object replication and dynamic data object conversion in a network service cloud

Inventors: Rohan Dhupelia (Sydney, AU); Stephen Lee (Sydney, AU); Carlos Khatchikian (Sydney, AU); Jon Hartlaub (Mountain View, CA); Arie Friedman (Sydney, AU); Benjamin Jackson (Sydney, AU)
Assignees: ATLASSIAN PTY LTD; ATLASSIAN, INC.
G06F3/065G06F3/067G06F3/0619G06F3/0661G06F9/4401
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 11,537,311
App. No.
17/305,095
Filed
Jun 30, 2021
Granted
Dec 27, 2022
Kind
B1
Art Unit
2138
USPC
711/154
Abstract

Various examples herein described are directed to methods, apparatuses and computer program products configured for dynamically replicating and/or converting source data objects in one or more external-access-limited source data object repositories to replica data objects in one or more external-service-accessible replica data object repositories in a network service cloud. For example, a network service server of the network service cloud may generate a plurality of bootstrap task objects and at least one change data capture (CDC) task object, and may generate the replica data objects based on the task objects.

Claims (57)

1. An apparatus comprising at least one processor and at least one non-transitory memory comprising program code, the at least one non-transitory memory and the program code configured to, with the at least one processor, cause the apparatus to at least:

receive a data object replication request associated with a tenant identifier, wherein the tenant identifier is associated with an external-access-limited source data object repository comprising a plurality of source data objects associated with a plurality of source data object type identifiers;

in response to the data object replication request, generate a plurality of bootstrap task objects and at least one change data capture (CDC) task object, wherein each of the plurality of source data object type identifiers is associated with one of the plurality of bootstrap task objects;

execute the plurality of bootstrap task objects to generate a plurality of replication data objects corresponding to the plurality of source data objects and store the plurality of replication data objects to a processing queue data object;

in response to receiving at least one CDC event indication associated with at least one of the plurality of source data objects, execute the at least one CDC task object to generate at least one CDC data object based on the at least one CDC event indication and store the at least one CDC data object to the processing queue data object;

generate a plurality of replica data objects corresponding to the plurality of source data objects based at least in part on processing the plurality of replication data objects and the at least one CDC data object stored to the processing queue data object; and

store the plurality of replica data objects in an external-service-accessible replica data object repository.

2. The apparatus of claim 1 , wherein the plurality of bootstrap task objects represent a plurality of electronic tasks for replicating the plurality of source data objects.

3. The apparatus of claim 2 , wherein, when executing the plurality of bootstrap task objects, the at least one non-transitory memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:

replicate the plurality of source data objects.

4. The apparatus of claim 1 , wherein the at least one CDC task object represents an electronic task for monitoring the at least one CDC event indication associated with the at least one of the plurality of source data objects.

5. The apparatus of claim 1 , wherein the plurality of source data object type identifiers comprises at least a project data object type identifier and an issue data object type identifier.

6. The apparatus of claim 1 , wherein each source data object of the plurality of source data objects is associated with a source data object sequence identifier.

7. The apparatus of claim 1 , wherein each of the plurality of replication data objects is associated with a replication data object serial identifier and a replication data object sequence identifier, wherein the replication data object serial identifier corresponds to a source data object serial identifier of one of the plurality of source data objects, wherein the replication data object sequence identifier corresponds to a source data object sequence identifier of one of the plurality of source data objects.

8. The apparatus of claim 7 , wherein the at least one CDC data object is associated with at least one CDC data object serial identifier and at least one CDC data object sequence identifier based at least in part on the at least one CDC event indication.

9. The apparatus of claim 8 , wherein, when generating the plurality of replica data objects, the at least one non-transitory memory and the program code are configured to, with the at least one processor, cause the apparatus to:

retrieve a corresponding replication data object from the processing queue data object; and

determine whether a corresponding replication data object serial identifier of the corresponding replication data object matches a corresponding CDC data object serial identifier of a corresponding CDC data object.

10. The apparatus of claim 9 , wherein the at least one non-transitory memory and the program code are configured to, with the at least one processor, cause the apparatus to:

in response to determining that the corresponding replication data object serial identifier does not match the corresponding CDC data object serial identifier, store the corresponding replication data object as one of the plurality of replica data objects in the external-service-accessible replica data object repository.

11. The apparatus of claim 9 , wherein the at least one non-transitory memory and the program code are configured to, with the at least one processor, cause the apparatus to:

in response to determining that the corresponding replication data object serial identifier matches the corresponding CDC data object serial identifier, determine whether a corresponding replication data object sequence identifier of the corresponding replication data object satisfies a corresponding CDC data object sequence identifier of the corresponding CDC data object.

12. The apparatus of claim 11 , wherein the at least one non-transitory memory and the program code are configured to, with the at least one processor, cause the apparatus to:

in response to determining that the corresponding replication data object sequence identifier satisfies the corresponding CDC data object sequence identifier, store the corresponding replication data object as a replica data object of the plurality of replica data objects in the external-service-accessible replica data object repository; and

in response to determining that the corresponding replication data object sequence identifier does not satisfy the corresponding CDC data object sequence identifier, store the corresponding CDC data object as the replica data object of the plurality of replica data objects in the external-service-accessible replica data object repository.

13. The apparatus of claim 1 , wherein the at least one non-transitory memory and the program code are configured to, with the at least one processor, cause the apparatus to:

determine a corresponding replica data object type identifier of a corresponding replica data object stored in the external-service-accessible replica data object repository;

select, based at least in part on the corresponding replica data object type identifier, a corresponding data object conversion schema; and

convert the corresponding replica data object based at least in part on the corresponding data object conversion schema.

14. The apparatus of claim 13 , wherein the corresponding replica data object is associated with an issue data object type identifier, wherein, when converting the corresponding replica data object, the at least one non-transitory memory and the program code are configured to, with the at least one processor, cause the apparatus to:

extract issue priority metadata, issue resolution metadata, issue status metadata, issue status category metadata, issue type metadata, and issue history metadata from the corresponding replica data object; and

generate a star-structured issue data object based on the corresponding replica data object, wherein the star-structured issue data object comprises a plurality of nodes, wherein each of the plurality of nodes is based at least in part on one or more of the issue priority metadata, the issue resolution metadata, the issue status metadata, the issue status category metadata, the issue type metadata, and the issue history metadata.

15. The apparatus of claim 13 , wherein the corresponding replica data object is associated with a project data object type identifier, wherein, when converting the corresponding replica data object, the at least one non-transitory memory and the program code are configured to, with the at least one processor, cause the apparatus to:

extract project type metadata, project changelog metadata, project version metadata, project category metadata, and project component metadata from the corresponding replica data object; and

generate a star-structured project data object based on the corresponding replica data object, wherein the star-structured project data object comprises a plurality of nodes, wherein each of the plurality of nodes is based at least in part on the project type metadata, the project changelog metadata, the project version metadata, the project category metadata, and the project component metadata.

16. The apparatus of claim 1 , wherein the at least one non-transitory memory and the program code are configured to, with the at least one processor, cause the apparatus to:

generate a tenant data object associated with the tenant identifier based at least in part on the plurality of replica data objects.

17. The apparatus of claim 16 , wherein the at least one non-transitory memory and the program code are configured to, with the at least one processor, cause the apparatus to:

receive a data object access request associated with the tenant data object and a requestor identifier;

determine whether the requestor identifier is associated with the tenant identifier;

in response to determining that the requestor identifier is associated with the tenant identifier, retrieve the tenant data object from the external-service-accessible replica data object repository; and

in response to determining that the requestor identifier is not associated with the tenant identifier, generate a data object access denial message.

18. A computer-implemented method comprising:

receiving a data object replication request associated with a tenant identifier, wherein the tenant identifier is associated with an external-access-limited source data object repository comprising a plurality of source data objects associated with a plurality of source data object type identifiers;

in response to the data object replication request, generating a plurality of bootstrap task objects and at least one change data capture (CDC) task object, wherein each of the plurality of source data object type identifiers is associated with one of the plurality of bootstrap task objects;

executing the plurality of bootstrap task objects to generate a plurality of replication data objects corresponding to the plurality of source data objects and store the plurality of replication data objects to a processing queue data object;

in response to receiving at least one CDC event indication associated with at least one of the plurality of source data objects, executing the at least one CDC task object to generate at least one CDC data object based on the at least one CDC event indication and store the at least one CDC data object to the processing queue data object;

generating a plurality of replica data objects corresponding to the plurality of source data objects based at least in part on processing the plurality of replication data objects and the at least one CDC data object stored to the processing queue data object; and

storing the plurality of replica data objects in an external-service-accessible replica data object repository.

19. The computer-implemented method of claim 18 , wherein the plurality of bootstrap task objects represent a plurality of electronic tasks for replicating the plurality of source data objects.

20. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising an executable portion configured to:

receive a data object replication request associated with a tenant identifier, wherein the tenant identifier is associated with an external-access-limited source data object repository comprising a plurality of source data objects associated with a plurality of source data object type identifiers;

in response to the data object replication request, generate a plurality of bootstrap task objects and at least one change data capture (CDC) task object, wherein each of the plurality of source data object type identifiers is associated with one of the plurality of bootstrap task objects;

execute the plurality of bootstrap task objects to generate a plurality of replication data objects corresponding to the plurality of source data objects and store the plurality of replication data objects to a processing queue data object;

in response to receiving at least one CDC event indication associated with at least one of the plurality of source data objects, execute the at least one CDC task object to generate at least one CDC data object based on the at least one CDC event indication and store the at least one CDC data object to the processing queue data object;

generate a plurality of replica data objects corresponding to the plurality of source data objects based at least in part on processing the plurality of replication data objects and the at least one CDC data object stored to the processing queue data object; and

store the plurality of replica data objects in an external-service-accessible replica data object repository.

Assignments (3)
CHANGE OF NAME Recorded Jul 24, 2024
From: ATLASSIAN, INC.
To: ATLASSIAN US, INC.
Reel/Frame 068654/0022 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SECOND ASSIGNOR'S NAME ON THE COVER SHEET PREVIOUSLY RECORDED AT REEL: 056746 FRAME: 0408. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 26, 2021
From: DHUPELIA, ROHAN; LEE, STEPHEN; KHATCHIKIAN, CARLOS; HARTLAUB, JON; FRIEDMAN, ARIE; JACKSON, BENJAMIN
To: ATLASSIAN PTY LTD; ATLASSIAN, INC.
Reel/Frame 057044/0381 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2021
From: DHUPELIA, ROHAN; LEE, STEHPEN; KHATCHIKIAN, CARLOS; HARTLAUB, JON; FRIEDMAN, ARIE; JACKSON, BENJAMIN
To: ATLASSIAN INC; ATLASSIAN PTY LTD
Reel/Frame 056746/0408 →
Cited By (15)
US 12,204,536 US 12,204,593 US 12,242,463 US 12,248,484 US 12,265,525 US 12,271,389 US 12,287,790 US 12,393,631 US 12,436,963 US 12,547,626 US 12,585,638 US 12,613,864 US 12,639,379 US 12,650,965 US 12,670,152