IP Library Granted Patent US 9,317,304
Granted Patent B2
US 9,317,304 · App. 14/218,623 · Granted Apr 19, 2016

Launching multiple applications in a processor

Inventors: Raphael Collado (Grenoble, FR); Wei He (Singapore, SG); Cheeseng Tan (Singapore, SG)
Assignees: STMicroelectronics (Grenoble 2) SAS; STMicroelectronics Asia Pacific Pte, Ltd.
G06F9/445G06F9/5027G06F21/51G06F21/53
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 9,317,304
App. No.
14/218,623
Granted
Apr 19, 2016
Kind
B2
Abstract

A supervisor module manages multiple user selected applications. A first one of the multiple applications is launched in a first container. Allocation of a first process identifier by the first one of the multiple applications in the first container is detected. The first process identifier is unique within the first container. A first unique identifier is allocated to the first one of the multiple applications. The launch of a second one of the multiple applications is delayed but subsequently launched if the first unique identifier has been allocated to the first one of the multiple applications. A second unique identifier is allocated to the second one of the multiple applications. The first and second unique identifiers uniquely identify the respective first and second ones of the multiple applications within the supervisor module.

Claims (50)

1. A supervisor module method to manage multiple user selected applications executed by a processor when a user selects multiple applications substantially simultaneously, the method comprising:

detecting that a user has selected multiple applications;

launching a first one of the multiple applications in a first container;

detecting that a first process identifier has been allocated by the first one of the multiple applications in the first container, the first process identifier being unique within the first container;

allocating a first unique identifier to the first one of the multiple applications;

delaying launch of a second one of the multiple applications;

subsequently launching the second one of the multiple applications if the first unique identifier has been allocated to the first one of the multiple applications; and

allocating a second unique identifier to the second one of the multiple applications, wherein the first and second unique identifiers uniquely identify the respective first and second ones of the multiple applications within the supervisor module.

2. A supervisor module method according to claim 1 , comprising:

prior to detecting that the first process identifier has been allocated by the first one of the multiple applications in the first container, detecting that no first process identifier has been allocated by the first one of the multiple applications, wherein said delaying launch of the second one of the multiple applications and said subsequently launching the second one of the multiple applications if the first unique identifier has been allocated to the first one of the multiple applications includes launching the second one of the multiple applications after a time-out period.

3. A supervisor module method according to claim 1 , wherein the second one of the multiple applications is launched in a second container, wherein a second process identifier is allocated by the second one of the multiple applications in the second container, the second process identifier being unique within the second container.

4. A supervisor module method according to claim 1 , wherein the second one of the multiple applications is launched as a trusted application.

5. A supervisor module method according to claim 1 , wherein detecting that the user has selected multiple ones of the multiple applications includes the act of detecting whether each selected application has a trusted or untrusted status, and wherein launch of the second one of the multiple applications is delayed regardless of whether the second one of the multiple applications is trusted or untrusted.

6. A supervisor module method according to claim 1 , wherein the first one of the multiple applications provides a plurality of sequentially incremented process identifiers, the sequentially incremented process identifiers associated with the first unique identifier of the supervisor module.

7. A supervisor module method according to claim 1 , wherein the second one of the multiple applications provides a sequence of sequentially incremented process identifiers, said sequentially incremented process identifiers associated with the second unique identifier of the supervisor module regardless of whether the second one of the multiple applications has a trusted or untrusted status.

8. A computer device comprising:

a processor;

a memory;

a user interface configured to receive a user selection of multiple applications for execution by the processor; and

a supervisor module configured to:

detect the user selection of multiple applications;

launch a first one of the multiple applications in a first container formed in the memory;

detect that a first process identifier has been allocated by the first one of the multiple applications in the first container, the first process identifier being unique within the first container;

allocate a first unique identifier to the first one of the multiple applications;

delay launch of a second one of the multiple applications;

subsequently launch the second one of the multiple applications if the first unique identifier has been allocated to the first one of the multiple applications; and

allocate a second unique identifier to the second one of the multiple applications, wherein the first and second unique identifiers uniquely identify the respective first and second ones of the multiple applications within the supervisor module.

9. A computer device according to claim 8 , wherein the supervisor module is further configured to:

prior to detecting that the first process identifier has been allocated by the first one of the multiple applications in the first container, detect that no first process identifier has been allocated by the first one of the multiple applications, wherein said act to delay launch of the second one of the multiple applications and said act to subsequently launch the second one of the multiple applications if the first unique identifier has been allocated to the first one of the multiple applications includes an act to launch the second one of the multiple applications after a time-out period.

10. A computer device according to claim 8 , wherein the second one of the multiple applications is launched in a second container, wherein a second process identifier is allocated by the second one of the multiple applications in the second container, the second process identifier being unique within the second container.

11. A computer device according to claim 8 , wherein the supervisor module is further configured to:

detect whether each launched application has a trusted or untrusted status.

12. A computer device according to claim 11 , wherein the supervisor module is further configured to:

delay launch of the second one of the multiple applications regardless of whether the second one of the multiple applications is trusted or untrusted.

13. A computer device according to claim 8 , wherein the second one of the multiple applications is launched in a second container, wherein the first one of the multiple applications provides a plurality of sequentially incremented process identifiers, the sequentially incremented process identifiers associated with the first unique identifier of the supervisor module.

14. A computer device according to claim 8 , wherein the second one of the multiple applications provides a sequence of sequentially incremented process identifiers, said sequentially incremented process identifiers associated with the second unique identifier of the supervisor module regardless of whether the second one of the multiple applications has a trusted or untrusted status.

15. A non-transitory computer program product having stored thereon a set of computer instructions, the computer instructions configured to carry out a method directed by a supervisory module, comprising:

detecting that a user has substantially simultaneously selected multiple applications;

launching a first one of the multiple applications in a first container;

detecting that a first process identifier has been allocated by the first one of the multiple applications in the first container, the first process identifier being unique within the first container;

allocating a first unique identifier to the first one of the multiple applications;

delaying launch of a second one of the multiple applications;

subsequently launching the second one of the multiple applications if the first unique identifier has been allocated to the first one of the multiple applications; and

allocating a second unique identifier to the second one of the multiple applications, wherein the first and second unique identifiers uniquely identify the respective first and second ones of the multiple applications within the supervisor module.

16. A non-transitory computer program product according to claim 15 having stored thereon a set of computer instructions, the computer instructions configured to carry out a method further comprising:

prior to detecting that the first process identifier has been allocated by the first one of the multiple applications in the first container, detecting that no first process identifier has been allocated by the first one of the multiple applications, wherein said delaying launch of the second one of the multiple applications and said subsequently launching the second one of the multiple applications if the first unique identifier has been allocated to the first one of the multiple applications includes launching the second one of the multiple applications after a time-out period.

17. A non-transitory computer program product according to claim 15 , wherein the second one of the multiple applications is launched in a second container, wherein a second process identifier is allocated by the second one of the multiple applications in the second container, the second process identifier being unique within the second container.

18. A non-transitory computer program product according to claim 15 , wherein detecting that the user has selected multiple ones of the multiple applications includes the act of detecting whether each selected application has a trusted or untrusted status, and wherein launch of the second one of the multiple applications is delayed regardless of whether the second one of the multiple applications is trusted or untrusted.

19. A non-transitory computer program product according to claim 15 , wherein the first one of the multiple applications provides a plurality of sequentially incremented process identifiers, the sequentially incremented process identifiers associated with the first unique identifier of the supervisor module.

20. A non-transitory computer program product according to claim 15 , wherein the second one of the multiple applications provides a sequence of sequentially incremented process identifiers, said sequentially incremented process identifiers associated with the second unique identifier of the supervisor module regardless of whether the second one of the multiple applications has a trusted or untrusted status.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2023
From: STMICROELECTRONICS (GRENOBLE 2) SAS
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 063282/0095 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2022
From: STMICROELECTRONICS ASIA PACIFIC PTE LTD
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 061608/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2015
From: COLLADO, RAPHAEL; HE, WEI; TAN, CHEESENG
To: STMICROELECTRONICS (GRENOBLE 2) SAS; STMICROELECTRONICS ASIA PACIFIC PTE, LTD.
Reel/Frame 036795/0136 →
Priority Claims (1)
EP 13305324 · Mar 19, 2013 · regional
Continuity (1)
Related Publication 20140289748A1 · Sep 25, 2014