IP Library Granted Patent US 12,248,806
Granted Patent B2
US 12,248,806 · App. 17/559,547 · Granted Mar 11, 2025

Power-efficient application lifecycle

Inventors: Arthur Zwiegincew (Medina, WA); Jeffrey Mark Davis (Woodinville, WA); Sreekar Choudhary (Bothell, WA)
Assignee: Meta Platforms Technologies, LLC
G06F9/485G06F9/44505
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,248,806
App. No.
17/559,547
Granted
Mar 11, 2025
Kind
B2
Abstract

In one embodiment, an operating system of a computing system determines, by an application instance manager of the operating system, that a first instance corresponding to a first application is to be activated according to an instance database managed by the operating system, where the first application includes several application components, including the first instance and a presenter. The application instance manager invokes the first instance and the presenter, the presenter being managed by the first instance. The operating system determines that the presenter is configured to present data obtained by a data provider, the data provider being one of several application components of a second application. The data provider accesses data from a data store and populates a dataset defined by the second application. The presenter of the first application generates a user interface to present the data from the dataset defined by the second application.

Claims (57)

1. A method comprising, by an operating system of a computing system:

determining, by an application instance manager of the operating system, that a first instance corresponding to a first application is to be activated according to an instance database managed by the operating system, wherein the first application comprises a first plurality of application components, including the first instance and a first presenter;

invoking, by the application instance manager, the first instance and the first presenter, the first presenter being managed by the first instance;

determining that the first presenter is configured to present data obtained by a data provider, the data provider being one of a second plurality of application components of a second application;

using the data provider to access data from a data store and populate a dataset defined by the second application; and

generating, using the first presenter of the first application, a user interface to present the data from the dataset defined by the second application.

2. The method of claim 1 , further comprising:

managing, using one or more other instances, one or more presenters to present data from one or more data providers in one or more user interfaces.

3. The method of claim 2 , further comprising:

arranging, using a presentation manager, the one or more user interfaces based on predefined settings and user settings.

4. The method of claim 2 , further comprising:

closing, using a presentation manager, one of the one or more user interfaces based on predefined settings and user settings.

5. The method of claim 1 , further comprising:

determining, by the application instance manager, that a second instance corresponding to the second application is to be activated according to the instance database managed by the operating system; and

invoking, by the application instance manager, the second instance and the data provider.

6. The method of claim 5 , further comprising:

shutting down the second instance, wherein the data provider continues to run after the second instance shuts down.

7. The method of claim 1 , further comprising:

using the data provider to access data from a second data store and populate the dataset defined by the second application.

8. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

determine, by an application instance manager of an operating system, that a first instance corresponding to a first application is to be activated according to an instance database managed by the operating system, wherein the first application comprises a first plurality of application components, including the first instance and a first presenter;

invoke, by the application instance manager, the first instance and the first presenter, the first presenter being managed by the first instance;

determine that the first presenter is configured to present data obtained by a data provider, the data provider being one of a second plurality of components of a second application;

using the data provider to access data from a data store and populate a dataset defined by the second application; and

generate, using the first presenter of the first application, a user interface to present the data from the dataset defined by the second application.

9. The media of claim 8 , wherein the one or more computer-readable non-transitory storage media is further operable when executed to:

manage, using one or more other instances, one or more presenters to present data from one or more data providers in one or more user interfaces.

10. The media of claim 9 , wherein the one or more computer-readable non-transitory storage media is further operable when executed to:

arrange, using a presentation manager, the one or more user interfaces based on predefined settings and user settings.

11. The media of claim 9 , wherein the one or more computer-readable non-transitory storage media is further operable when executed to:

close, using a presentation manager, one of the one or more user interfaces based on predefined settings and user settings.

12. The media of claim 8 , wherein the one or more computer-readable non-transitory storage media is further operable when executed to:

determine, by the application instance manager, that a second instance corresponding to the second application is to be activated according to the instance database managed by the operating system; and

invoke, by the application instance manager, the second instance and the data provider.

13. The media of claim 12 , wherein the one or more computer-readable non-transitory storage media is further operable when executed to:

shut down the second instance, wherein the data provider continues to run after the second instance shuts down.

14. The media of claim 8 , wherein the one or more computer-readable non-transitory storage media is further operable when executed to:

use the data provider to access data from a second data store and populate the dataset defined by the second application.

15. A system comprising:

one or more processors; and

one or more computer-readable non-transitory storage media coupled to one or more of the processors and comprising instructions operable when executed by one or more of the processors to cause the system to:

determine, by an application instance manager of an operating system, that a first instance corresponding to a first application is to be activated according to an instance database managed by the operating system, wherein the first application comprises a first plurality of application components, including the first instance and a first presenter;

invoke, by the application instance manager, the first instance and the first presenter, the first presenter being managed by the first instance;

determine that the first presenter is configured to present data obtained by a data provider, the data provider being one of a second plurality of components of a second application;

using the data provider to access data from a data store and populate a dataset defined by the second application; and

generate, using the first presenter of the first application, a user interface to present the data from the dataset defined by the second application.

16. The system of claim 15 , wherein the instructions are further executable by the one or more processors to:

manage, using one or more other instances, one or more presenters to present data from one or more data providers in one or more user interfaces.

17. The system of claim 16 , wherein the instructions are further executable by the one or more processors to:

arrange, using a presentation manager, the one or more user interfaces based on predefined settings and user settings.

18. The system of claim 16 , wherein the instructions are further executable by the one or more processors to:

close, using a presentation manager, one of the one or more user interfaces based on predefined settings and user settings.

19. The system of claim 18 , wherein the instructions are further executable by the one or more processors to:

determine, by the application instance manager, that a second instance corresponding to the second application is to be activated according to the instance database managed by the operating system; and

invoke, by the application instance manager, the second instance and the data provider.

20. The system of claim 19 , wherein the instructions are further executable by the one or more processors to:

shut down the second instance, wherein the data provider continues to run after the second instance shuts down.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2023
From: ZWIEGINCEW, ARTHUR; DAVIS, JEFFREY MARK; CHOUDHARY, SREEKAR
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 062532/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2023
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 062557/0101 →
CHANGE OF NAME Recorded Jul 6, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060591/0848 →
Continuity (1)
Related Publication 20230195513A1 · Jun 22, 2023
References Cited (24)
US 10733260B1 · Sahl · 2020 [cited by examiner]
US 10911539B2 · Karande · 2021 [cited by examiner]
US 11256319B2 · Yardi et al. · 2022 [cited by applicant]
US 11675415B2 · Yardi et al. · 2023 [cited by applicant]
US 20160027218A1 · Salter et al. · 2016 [cited by applicant]
US 20180074329A1 · Kazansky et al. · 2018 [cited by applicant]
US 20180125716A1 · Cho et al. · 2018 [cited by applicant]
US 20190064910A1 · Wang et al. · 2019 [cited by applicant]
US 20190094949A1 · Kurian et al. · 2019 [cited by applicant]
US 20190392558A1 · Pouliquen et al. · 2019 [cited by applicant]
JP 2005229642A · 2005 [cited by applicant]
Hattori T., et al., “Hierarchical Power Distribution and Power Management Scheme for a Single Chip Mobile Processor,” 43rd ACM/IEEE Design Automation Conference, IEEE, Piscataway, NJ, USA, Jul. 24-28, 2006, pp. 292-295. [cited by applicant]
International Preliminary Report on Patentability for International Application No. PCT/US2020/057900, mailed Jun. 2, 2022, 9 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2020/057900, mailed Mar. 5, 2021, 11 Pages. [cited by applicant]
Nathuji R., et al., “Virtual Power: Coordinated Power Management in Virtualized Enterprise Systems,” Proceeding SOSP '07, ACM SOSP, Proceeding of the ACM Symposium on Operating System Principles, Association for Computi… [cited by applicant]
Non-Final Office Action mailed Sep. 30, 2022 for U.S. Appl. No. 17/647,946, filed Jan. 13, 2022, 8 pages. [cited by applicant]
Notice of Allowance mailed Feb. 1, 2023 for U.S. Appl. No. 17/647,946, filed Jan. 13, 2022, 5 pages. [cited by applicant]
Office Action mailed Dec. 14, 2023 for European Patent Application No. 20812468.5, filed on Oct. 29, 2020, 10 pages. [cited by applicant]
Office Action mailed Feb. 22, 2024 for Chinese Application No. 202080080994.6, filed Oct. 29, 2020, 7 pages. [cited by applicant]
Prosecution History from U.S. Appl. No. 16/829,615, dated Mar. 25, 2020 through Oct. 12, 2021, pp. 34. [cited by applicant]
Response to office action mailed Sep. 30, 2022 for U.S. Appl. No. 17/647,946, filed Jan. 13, 2022, 8 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2022/053320, mailed Mar. 24, 2023, 9 pages. [cited by applicant]
Paspallis N., et al., “A Pluggable and Reconfigurable Architecture for a Context-Aware Enabling Middleware System,” 18th International Conference, Nov. 9, 2008, pp. 553-570. [cited by applicant]
Wikipedia, “Model-View-Controller,” Dec. 18, 2021, 4 pages, XP093031369, Retrieved from the Internet: URL: https://en.wikipedia.org/w/index.php?title=Model-view-controller&oldid=1060894015 [retrieved on Mar. 14, 202… [cited by applicant]