IP Library Granted Patent US 11,579,891
Granted Patent B2
US 11,579,891 · App. 17/247,938 · Granted Feb 14, 2023

Mobile service applications

Inventors: Michael Burton (San Francisco, CA); Shaheen Ghiassy (Portland, OR); Andrei Pitea (Dublin, IE); Adam Geitgey (Mountain View, CA); Jan Krems (Mountain View, CA); Daniel Beard (San Jose, CA); Matthijs Mullender (Sammamish, WA); Luis Felipe Brahm-Smart (San Francisco, CA)
Assignee: Groupon, Inc.
G06F9/4401G06F8/61G06F9/445G06F9/485
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,579,891
App. No.
17/247,938
Granted
Feb 14, 2023
Kind
B2
Abstract

Techniques for improved mobile application architectures and service communication protocols are discussed herein. Some embodiments may include a mobile device configured for providing a mobile application including multiple service applications. The service applications may execute asynchronously and in separate containers, providing service orientated architecture (SOA)-like services with respect to other portions of the mobile application, or even external applications. The separation of a monolithic mobile application into separate service applications provide advantages in terms of application performance, development, and maintenance. For example, a subset of all service applications may be started up, and executed on demand to improve device resource utilization efficiency.

Claims (59)

1. A mobile device configured for providing a mobile application, the mobile application including a plurality of service applications, the mobile device comprising:

circuitry configured to:

determine a dependency tree for the mobile application, wherein:

the dependency tree defines startup and shutdown dependencies among the plurality of service applications; and

each service application is configured to execute within a separate thread upon startup; and

in response to a selection of a first reference within a communication or an external application:

determine to execute a first service application of the plurality of service applications;

determine, based on the dependency tree, one or more parent service applications of the first service application;

startup the one or more parent service applications based on the dependency tree in one or more threads;

subsequent to starting up the one or more parent service applications, startup the first service application in a first thread separate from the one or more threads; and

subsequent to starting up the first service application, execute the first service application within the first thread.

2. The mobile device of claim 1 , wherein the circuitry configured to execute the first service application includes the circuitry being configured to:

generate, within the first thread and by the first service application, an application page including a second reference to a second service application, wherein the second service application has been started up as a parent service application of the first service application;

provide the application page to a user interface of the mobile device; and

in response to determining user selection of the second reference, send a service application request to the second service application to execute the second service application.

3. The mobile device of claim 1 , wherein the circuitry is further configured to:

listen, within the second thread by the second service application, for the service application request;

receive the service application request; and

in response to receiving the service application request, and within the second thread by the service application, execute the second service application.

4. The mobile device of claim 3 , wherein executing the second service application includes:

generating a second application page; and

providing the second application page to the user interface of the mobile device.

5. The mobile device of claim 4 , wherein the first service application is a base application coded in a native mobile operating system code format, and the second service application is coded in a standard mobile application code format.

6. The mobile device of claim 4 , wherein the second application page includes a promotion details page or a redemption information page.

7. The mobile device of claim 1 , wherein at least two of the plurality of service applications utilize different code formats.

8. The mobile device of claim 1 , wherein at least one of the plurality of service applications utilize a standard mobile application code format.

9. The mobile device of claim 1 , wherein:

the first service application is a promotion details page service application configured to provide a promotion detail page to a user interface of the mobile device.

10. The mobile device of claim 1 , wherein the circuitry is configured to determine to execute the first service application in response to receiving a service application request from a base application of the mobile application, and wherein the base application is configured to execute within a separate thread from the plurality of service applications.

11. A method for a mobile device to provide a mobile application, the mobile application including a plurality of service applications, the method comprising:

determining, by circuitry of the mobile device, a dependency tree for the mobile application,

wherein the dependency tree defines startup and shutdown dependencies among the plurality of service applications, and

wherein each service application is configured to execute within a separate thread upon startup;

in response to a selection of a reference within a communication or an external application:

determining, by the circuitry, to execute a first service application of the plurality of service applications;

determining, by the circuitry and based on the dependency tree, one or more parent service applications of the first service application;

starting up, by the circuitry, the one or more parent service applications based on the dependency tree in one or more threads;

subsequent to starting up the one or more parent service applications, starting up, by the circuitry, the first service application in a first thread separate from the one or more threads; and

subsequent to starting up the service application, executing, by the circuitry, the first service application within the first thread.

12. The method of claim 11 , wherein executing the first service application includes:

generating, within the first thread and by the first service application, an application page including a second reference to a second service application, wherein the second service application has been started up as a parent service application of the first service application; and

providing the application page to a user interface of the mobile device; and

in response to determining a user selection of the second reference, sending a service application request to the second service application to execute the second service application.

13. The method of claim 11 , wherein the method further comprises:

listening, within the second thread by the second service application, for the service application request;

receiving the service application request; and

in response to receiving the service application request, and within the second thread by the service application, executing the second service application.

14. The method of claim 13 , wherein executing the second service application includes:

generating a second application page; and

providing the second application page to the user interface of the mobile device.

15. The method of claim 14 , wherein the first service application is a base application coded in a native mobile operating system code format and the second service application is coded in a standard mobile application code format.

16. The method of claim 14 , wherein the second application page includes a promotion details page or a redemption information page.

17. The method of claim 11 , wherein at least two of the plurality of service applications utilize different code formats.

18. The method of claim 11 , wherein at least one of the plurality of service applications utilize a standard mobile application code format.

19. The method of claim 11 , wherein:

the first service application is a promotion details page service application configured to provide a promotion detail page to a user interface of the mobile device.

20. The method of claim 11 , wherein:

the step of determining to execute the first service application is performed in response to receiving a service application request from a base application of the mobile application, and

the base application is configured to execute within a separate thread from the plurality of service applications.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2024
From: GROUPON, INC.
To: BYTEDANCE INC.
Reel/Frame 068936/0474 →
RELEASE OF SECURITY INTEREST Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0085 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RIGHTS Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066677/0077 →
SECURITY INTEREST Recorded Mar 20, 2023
From: GROUPON, INC.; LIVINGSOCIAL, LLC
To: JP MORGAN CHASE BANK, N.A.
Reel/Frame 063119/0673 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2021
From: BURTON, MICHAEL; GHIASSY, SHAHEEN; PITEA, ANDREI; GEITGEY, ADAM; KREMS, JAN; BEARD, DANIEL; MULLENDER, MATTHIJS; BRAHM-SMART, LUIS FELIPE
To: GROUPON, INC.
Reel/Frame 055912/0498 →
Continuity (3)
Continuation 15711264 · Sep 21, 2017
Provisional Application 62398106 · Sep 22, 2016
Related Publication 20210200554A1 · Jul 1, 2021