IP Library Granted Patent US 12,238,191
Granted Patent B2
US 12,238,191 · App. 18/329,916 · Granted Feb 25, 2025

System, method, and computer program product for improved embedded application data management

Inventors: Michael Cannon-Brookes (Sydney, AU); Ali Dasdan (Mountain View, CA); Pratima Arora (Mountain View, CA); Steven Brooks (Mountain View, CA); Jason Phan (Mountain View, CA); Aaron Gentleman (Mountain View, CA); Renato Galindo (Mountain View, CA); Lennon Liao (Mountain View, CA); Lisa Panda (Mountain View, CA); Ryan-Vincent Alvarez (Mountain View, CA)
Assignees: ATLASSIAN PTY LTD; ATLASSIAN US, INC
H04L69/08H04L67/561H04L67/565H04L69/329
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,238,191
App. No.
18/329,916
Granted
Feb 25, 2025
Kind
B2
Abstract

Embodiments of the present disclosure provide for improved interoperable data management between a user-accessed software application and an embedded software application. In some contexts, a user-accessed application provides both its own functionality as well as enabling access to functionality of an embedded application. The embedded application is accessed via a data-driven connection that provides several technical advantages and addresses various data interoperability and persistence problems. In some embodiments, a user-accessed application may be configured to provide functionality of multiple embedded applications consistent with the innovations herein described.

Claims (62)

1. An apparatus comprising at least one processor and at least one non-transitory memory having computer-coded instructions stored thereon that, in execution with the at least one processor, cause the apparatus to:

establish a connection with an embedded application via a data-driven connection, wherein the connection via the data-driven connection enables access to embedded application functionality of the embedded application;

cause rendering of a user interface configured to provide, via a user-accessed application, a first sub-interface associated with accessing first application functionality associated with native access of the user-accessed application, and the user interface is further configured to provide, from within the user-accessed application, a second sub-interface associated with accessing the embedded application functionality via the embedded application;

receive, via the user-accessed application, user interaction with the second sub-interface, wherein the user interaction indicates a request to access at least one operation of the embedded application functionality; and

in response to the user interaction, cause execution of the at least one operation of the embedded application utilizing the data-driven connection.

2. The apparatus according to claim 1 , wherein to cause execution of the at least one operation of the embedded application the apparatus is caused to:

initiate, via the data-driven connection, an update or create of a temporary embedded app data object stored by the embedded application associated with a temporary embedded user account,

the apparatus further caused to:

receive an indication of provisioning of a fully provisioned embedded application user account; and

cause, via the data-driven connection, the embedded application to persistently store the temporary embedded app data object by synchronizing at least the temporary embedded app data object with the fully provisioned embedded application user account.

3. The apparatus according to claim 1 , the apparatus further caused to:

automatically provision an embedded application user account in response to the user interaction with the second sub-interface, wherein the at least one operation of the embedded application updates at least one embedded application data object associated with the embedded application user account.

4. The apparatus according to claim 1 , the apparatus further caused to:

identify an embedded application user account associated with the user-accessed application, wherein the apparatus identifies the embedded application user account based at least in part on one of:

authentication credentials provided via the user-accessed application,

a device identifier associated with the user-accessed application, or

an application identifier associated with the user-accessed application.

5. The apparatus according to claim 1 , wherein the at least one operation of the embedded application updates at least one embedded application data object linked to at least one sub-level embedded application data object.

6. The apparatus according to claim 1 , wherein the embedded application comprises a first embedded application, the apparatus further caused to:

establish a second connection with a second embedded application via a second data-driven connection, wherein the second connection via the second data-driven connection enables access to second embedded application functionality of the second embedded application,

wherein the first embedded application is distinct from the second embedded application,

wherein the user interface is configured to provide, from within the user-accessed application, a third sub-interface associated with accessing the second embedded application functionality via the second embedded application.

7. The apparatus according to claim 1 , wherein the embedded application comprises a first embedded application, the apparatus further caused to:

establish a second connection with a second embedded application via a second data-driven connection, wherein the second connection via the second data-driven connection enables access to second embedded application functionality of the second embedded application,

wherein the first embedded application is distinct from the second embedded application; and

cause rendering of a second user interface configured to provide, via the user-accessed application, a third sub-interface associated with accessing second application functionality associated with native access of the user-accessed application, and the second user interface is further configured to provide, from within the user-accessed application, a fourth sub-interface associated with accessing the second embedded application functionality via the second embedded application.

8. The apparatus according to claim 1 , wherein the first application functionality is executed by a first at least one computing device, and wherein the embedded application functionality is executed by a second at least one computing device, wherein the first at least one computing device and the second at least one computing device comprise at least one distinct computing device that is accessed via the data-driven connection.

9. The apparatus according to claim 1 , wherein to cause execution of the at least one operation of the embedded application the apparatus is caused to cause updating of at least one data parameter of an existing embedded application data object stored by the embedded application.

10. The apparatus according to claim 1 , wherein to cause execution of the at least one operation of the embedded application the apparatus is caused to cause creating and storing of a new embedded application data object at the embedded application from within the user-accessed application.

11. A computer-implemented method comprising:

establishing a connection with an embedded application via a data-driven connection, wherein the connection via the data-driven connection enables access to embedded application functionality of the embedded application;

causing rendering of a user interface configured to provide, via a user-accessed application, a first sub-interface associated with accessing first application functionality associated with native access of the user-accessed application, and the user interface is further configured to provide, from within the user-accessed application, a second sub-interface associated with accessing the embedded application functionality via the embedded application;

receiving, via the user-accessed application, user interaction with the second sub-interface, wherein the user interaction indicates a request to access at least one operation of the embedded application functionality; and

in response to the user interaction, causing execution of the at least one operation of the embedded application utilizing the data-driven connection.

12. The computer-implemented method according to claim 11 , wherein causing execution of the at least one operation of the embedded application comprises:

initiating, via the data-driven connection, an update or create of a temporary embedded app data object stored by the embedded application associated with a temporary embedded user account,

the computer-implemented method further comprising:

receiving an indication of provisioning of a fully provisioned embedded application user account; and

causing, via the data-driven connection, the embedded application to persistently store the temporary embedded app data object by synchronizing at least the temporary embedded app data object with the fully provisioned embedded application user account.

13. The computer-implemented method according to claim 11 , further comprising:

automatically provisioning an embedded application user account in response to the user interaction with the second sub-interface, wherein the at least one operation of the embedded application updates at least one embedded application data object associated with the embedded application user account.

14. The computer-implemented method according to claim 11 , further comprising

identifying an embedded application user account associated with the user-accessed application, wherein the apparatus identifies the embedded application user account based at least in part on one of:

authentication credentials provided via the user-accessed application,

a device identifier associated with the user-accessed application, or

an application identifier associated with the user-accessed application.

15. The computer-implemented method according to claim 11 , wherein the at least one operation of the embedded application updates at least one embedded application data object linked to at least one sub-level embedded application data object.

16. The computer-implemented method according to claim 11 , wherein the embedded application comprises a first embedded application, the computer-implemented method further comprising:

establishing a second connection with a second embedded application via a second data-driven connection, wherein the second connection via the second data-driven connection enables access to second embedded application functionality of the second embedded application,

wherein the first embedded application is distinct from the second embedded application,

wherein the user interface is configured to provide, from within the user-accessed application, a third sub-interface associated with accessing the second embedded application functionality via the second embedded application.

17. The computer-implemented method according to claim 11 , wherein the embedded application comprises a first embedded application, the computer-implemented method further comprising:

establishing a second connection with a second embedded application via a second data-driven connection, wherein the second connection via the second data-driven connection enables access to second embedded application functionality of the second embedded application,

wherein the first embedded application is distinct from the second embedded application; and

causing rendering of a second user interface configured to provide, via the user-accessed application, a third sub-interface associated with accessing second application functionality associated with native access of the user-accessed application, and the second user interface is further configured to provide, from within the user-accessed application, a fourth sub-interface associated with accessing the second embedded application functionality via the second embedded application.

18. The computer-implemented method according to claim 11 , wherein the first application functionality is executed by a first at least one computing device, and wherein the embedded application functionality is executed by a second at least one computing device, wherein the first at least one computing device and the second at least one computing device comprise at least one distinct computing device that is accessed via the data-driven connection.

19. The computer-implemented method according to claim 11 , wherein to cause execution of the at least one operation of the embedded application the apparatus is caused to cause updating of at least one data parameter of an existing embedded application data object stored by the embedded application.

20. A computer program product comprising at least one non-transitory computer-readable storage medium having computer program code stored thereon that, in execution with at least one processor, configures the computer program product to:

establish a connection with an embedded application via a data-driven connection, wherein the connection via the data-driven connection enables access to embedded application functionality of the embedded application;

cause rendering of a user interface configured to provide, via a user-accessed application, a first sub-interface associated with accessing first application functionality associated with native access of the user-accessed application, and the user interface is further configured to provide, from within the user-accessed application, a second sub-interface associated with accessing the embedded application functionality via the embedded application;

receive, via the user-accessed application, user interaction with the second sub-interface, wherein the user interaction indicates a request to access at least one operation of the embedded application functionality; and

in response to the user interaction, cause execution of the at least one operation of the embedded application utilizing the data-driven connection.

Assignments (2)
CHANGE OF NAME Recorded Jan 7, 2025
From: ATLASSIAN, INC.
To: ATLASSIAN US, INC.
Reel/Frame 069829/0798 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2023
From: DASDAN, ALI; ARORA, PRATIMA; BROOKS, STEVEN; PHAN, JASON; GENTLEMAN, AARON; GALINDO, RENATO; LIAO, LENNON; PANDA, LISA; ALVAREZ, RYAN-VINCENT; CANNON-BROOKES, MICHAEL
To: ATLASSIAN PTY LTD; ATLASSIAN, INC.
Reel/Frame 063867/0818 →
Continuity (3)
Continuation 17326415 · May 21, 2021
Continuation 17090648 · Nov 5, 2020
Related Publication 20230362282A1 · Nov 9, 2023
References Cited (34)
US 8700719B1 · Covitz et al. · 2014 [cited by applicant]
US 9930092B2 · Vegesna-Venkata · 2018 [cited by examiner]
US 10313279B2 · Demattei · 2019 [cited by applicant]
US 10891535B1 · Mancuso · 2021 [cited by applicant]
US 11050694B2 · Rodriguez · 2021 [cited by examiner]
US 20020049834A1 · Molnar · 2002 [cited by applicant]
US 20080141237A1 · Elad et al. · 2008 [cited by applicant]
US 20090240698A1 · Shukla et al. · 2009 [cited by applicant]
US 20120102414A1 · Demant et al. · 2012 [cited by applicant]
US 20120245944A1 · Gruber · 2012 [cited by examiner]
US 20140337865A1 · Doughty et al. · 2014 [cited by applicant]
US 20160019195A1 · Sultanik et al. · 2016 [cited by applicant]
US 20170017634A1 · Levine et al. · 2017 [cited by applicant]
US 20170353468A1 · Petys et al. · 2017 [cited by applicant]
US 20180067811A1 · Mowatt · 2018 [cited by applicant]
US 20180189478A1 · Richardson et al. · 2018 [cited by applicant]
US 20180267847A1 · Smith et al. · 2018 [cited by applicant]
US 20180365201A1 · Hunn et al. · 2018 [cited by applicant]
US 20200125700A1 · Chang et al. · 2020 [cited by applicant]
US 20200145385A1 · Chauhan et al. · 2020 [cited by applicant]
US 20200153711A1 · Chauhan · 2020 [cited by applicant]
US 20200349513A1 · Farah · 2020 [cited by applicant]
US 20200364277A1 · Wang et al. · 2020 [cited by applicant]
US 20210184853A1 · Crowson · 2021 [cited by examiner]
US 20220383864A1 · Gruber · 2022 [cited by examiner]
WO WO0033217A1 · 2000 [cited by examiner]
WO 2008083345A2 · 2008 [cited by applicant]
EPO, Extended European Search Report for EP Application No. 21206652.6, Apr. 7, 2022. [cited by applicant]
European Search Report and Search Opinion received for EP Application No. 21206652.6, mailed on Apr. 7, 2022, 13 pages. [cited by applicant]
Gong et al., The Architecture of Micro-services and the Separation of Frond-end and Back-end Applied in a Campus Information System, Aug. 25, 2020, 2020 IEEE International Conference on Advances in Electrical Engineerin… [cited by applicant]
U.S. Appl. No. 17/326,415, filed May 21, 2021, U.S. Pat. No. 11,711,450, Issued. [cited by applicant]
U.S. Appl. No. 17/090,648, filed Nov. 5, 2020, U.S. Pat. No. 11,044,348, Issued. [cited by applicant]
Communication about intention to grant a European patent Mailed on Mar. 19, 2024 for EP Application No. 21206652, 6 page(s). [cited by applicant]
Decision to grant a European patent Mailed on Aug. 1, 2024 for EP Application No. 21206652, 3 page(s). [cited by applicant]