IP Library Granted Patent US 10,922,089
Granted Patent B2
US 10,922,089 · App. 15/711,264 · Granted Feb 16, 2021

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 10,922,089
App. No.
15/711,264
Granted
Feb 16, 2021
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 (30)

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, wherein each service application is configured to execute within a separate thread upon startup, and wherein each thread is associated with a unique execution context;

determine to execute a first service application of the plurality of service applications, wherein the first service application is configured to generate an application page for presentation on at least a portion of a user interface operating on the mobile device, and

responsive to receiving a service application request comprising application page input parameters:

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;

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

provide, based at least in part on the application page input parameters, the application page corresponding with the first service application for presentation on the at least a portion of the user interface.

2. The mobile device of claim 1 ,

wherein the circuitry is further configured to startup the one or more parent service applications by being configured to startup the plurality of parent applications simultaneously or concurrently.

3. The mobile device of claim 1 , wherein the circuitry is further configured to startup the first service application and the one or more parent service applications in an order defined by the dependency tree.

4. 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, application a dependency tree for the mobile application, wherein the dependency tree defines startup and shutdown dependencies among the plurality of service applications, wherein each service application is configured to execute within a separate thread upon startup, and wherein each thread is associated with a unique execution context;

determining, by the circuitry, to execute a first service application of the plurality of service applications, wherein the first service application is configured to generate an application page for presentation on at least a portion of a user interface operating on the mobile device, and

responsive to receiving, by the circuitry, a service application request comprising application page input parameters:

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;

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

providing, by the circuitry and based at least in part on the application page input parameters, the application page corresponding with the first service application for presentation on the at least a portion of the user interface.

5. At least one non-transitory computer readable medium for causing a mobile device configured to provide a mobile application, the at least one non-transitory computer readable medium storing a plurality of service applications and further storing instructions that, when executed by the mobile device, cause circuitry of the mobile device to:

determine a dependency tree for the mobile application, wherein the dependency tree defines startup and shutdown dependencies among the plurality of service applications, wherein each service application is configured to execute within a separate thread upon startup, and wherein each thread is associated with a unique execution context;

determine to execute a first service application of the plurality of service applications, wherein the first service application is configured to generate an application page for presentation on at least a portion of a user interface operating on the mobile device, and

responsive to receiving a service application request comprising application page input parameters:

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; and

provide, based at least in part on the application page input parameters, the application page corresponding with the first service application for presentation on the at least a portion of the user interface.

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/0001 →
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 066676/0251 →
SECURITY INTEREST Recorded Jul 23, 2020
From: GROUPON, INC.; LIVINGSOCIAL, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053294/0495 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2017
From: BURTON, MICHAEL; GHIASSY, SHAHEEN; PITEA, ANDREI; GEITGEY, ADAM; KREMS, JAN; BEARD, DANIEL; MULLENDER, MATTHIJS; BRAHM-SMART, LUIS FELIPE
To: GROUPON, INC.
Reel/Frame 043654/0539 →