IP Library Granted Patent US 9,843,674
Granted Patent B2
US 9,843,674 · App. 14/495,382 · Granted Dec 12, 2017

Managing selection and triggering of applications on a card computing device

Inventor: Sebastian J. Hans (Berlin, DE)
Assignee: Oracle International Corporation
H04M3/42229H04B1/3816H04W8/183
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,843,674
App. No.
14/495,382
Granted
Dec 12, 2017
Kind
B2
Abstract

A card computing device may include and manage multiple virtualized universal integrated circuit cards (UICCs) for use with mobile communications. The card computing device may be capable of storing information, and executing applications, for multiple mobile networks (e.g., using multiple virtual UICCs) and of managing switches among those mobile networks. A mobile network operator (MNO) may be represented by a MNO profile, which, when enabled, may look and behave like a dedicated UICC. One or more applications may be deployed on the card computing device and each may be associated with a MNO profile. When a MNO profile is enabled, one or more applications may be activated and when a MNO profile is disabled, one or more active applications may be deactivated, according to some embodiments. Thus, a card computing device may be configured to activate and deactivate applications as part of managing MNO profiles.

Claims (48)

1. A system, comprising:

a card computing device configured to store a plurality of profiles, wherein each profile represents a subscriber identity module for a mobile network operator of a mobile network; and

wherein the card computing device comprises a virtualized execution environment, wherein the virtualized execution environment is configured to execute a plurality of applications written in a platform independent object oriented language, wherein individual ones of the plurality of applications are associated with respective profiles of the plurality of profiles;

wherein the virtualized execution environment is further configured to:

disable an active one of the plurality of profiles;

disable one or more applications associated with the disabled profile, wherein after being disabled, the one or more applications associated with the disabled profile are prevented from interacting with the respective mobile network;

enable a different one of the plurality of profiles; and

enable one or more of the plurality of applications associated with the enabled profile.

2. The system of claim 1 , further comprising a mobile phone, wherein the mobile phone comprises the card computing device, and wherein each of the plurality of profiles comprises a mobile communications profile associated with a mobile communications network.

3. The system of claim 2 , wherein the card computing device is a subscriber identity module for the mobile phone.

4. The system of claim 1 , further comprising a registry configured to store information regarding the plurality of applications, wherein to enable the one or more applications associated with the enabled profile the virtualized execution environment is further configured to enable one or more entries for the enabled applications in the registry.

5. The system of claim 4 , wherein to enable the one or more entries for the enabled applications in the registry the virtualized execution environment is further configured to publish the enabled entries to one or more other modules or services of the system.

6. The system of claim 4 , wherein to enable the one or more entries for the enabled applications in the registry the virtualized execution environment is further configured to enable, in the registry, one or more menu entries for the enabled applications.

7. The system of claim 4 , wherein to enable the one or more entries for the enabled applications in the registry the virtualized execution environment is further configured to enable, in the registry, one or more application events for the enabled applications.

8. The system of claim 4 , wherein to enable the one or more entries for the enabled applications in the registry the virtualized execution environment is further configured to enable, in the registry, one or more polling intervals for the enabled applications.

9. The system of claim 4 , further comprising the registry configured to store information regarding the plurality of applications, wherein to disable the one or more applications associated with the disabled profile the virtualized execution environment is further configured to disable one or more entries for the one or more disabled applications in the registry.

10. A method, comprising:

maintaining, by a virtualized execution environment on a card computing device, a plurality of profiles, wherein each profile represents a subscriber identity module for a mobile network operator of a mobile network, wherein the virtualized execution environment is configured to execute a plurality of applications written in a platform independent object oriented language, wherein individual ones of the plurality of applications are associated with respective profiles of the plurality of profiles;

disabling an active one of the plurality of profiles;

disabling one or more applications associated with the disabled profile, wherein after being disabled, the one or more applications associated with the disabled profile are prevented from interacting with the respective mobile network;

enabling a different one of the plurality of profiles; and

enabling one or more of the plurality of applications associated with the enabled profile.

11. The method of claim 10 , wherein the virtualized execution environment is a Java Card runtime environment and wherein at least one of the applications is a Java Card applet.

12. The method of claim 10 , further comprising:

wherein said disabling the one or more applications associated with the disabled profile comprises sending a first command to a terminal coupled to the card computing device, wherein the first command comprises information identifying one or more menu entries for the applications being disabled and indicating that the one or more menu entries should be disabled; and

wherein said enabling the one or more of the plurality of applications associated with the activated profile comprises sending a second command to the terminal coupled to the card computing device, wherein the second command comprises information identifying one or more menu entries for the applications being enabled and indicating that the one or more menu entries should be enabled.

13. The method of claim 12 , further comprising:

receiving, from the terminal, information indicating a user-selected menu entry, wherein the received information indicates a selected one of the one or more enabled menu entries; and

forwarding the received information to one of the enabled application associated with the selected one of the one or more enabled menu entries.

14. The method of claim 10 , further comprising:

wherein said disabling the one or more applications associated with the disabled profile comprises sending a first command to a terminal coupled to the card computing device, wherein the first command comprises information identifying one or more application events for the applications being disabled and indicating that the one or more application events should be disabled; and

wherein said enabling the one or more of the plurality of applications associated with the activated profile comprises sending a second command to the terminal coupled to the card computing device, wherein the second command comprises information identifying one or more application events for the applications being enabled and indicating that the one or more application events should be disabled.

15. The method of claim 10 , wherein at least one of the one or more of the plurality of applications is configured to communicate with a contactless interface of the card computing device, wherein said enabling the one or more of the plurality of applications associated with the activated profile comprises enabling one or more contactless parameters regarding the at least one of the one or more of the plurality of applications.

16. The method of claim 15 , wherein said enabling the one or more of the plurality of applications associated with the activated profile comprises issuing one or more commands over a Host Controller Interface (HCl) link to a Near Field Communications (NFC) module to publish the contactless parameters to one or more external Proximity Payment System Environment (PPSE) applications.

17. A non-transitory, computer-readable storage medium storing program instructions that when executed on a card computing device cause the card computing device to perform:

maintaining, by a virtualized execution environment on the card computing device, a plurality of profiles, wherein each profile represents a subscriber identity module for a mobile network operator of a mobile network, wherein the virtualized execution environment is configured to execute a plurality of applications written in a platform independent object oriented language, wherein individual ones of the plurality of applications are associated with respective profiles of the plurality of profiles;

disabling an active one of the plurality of profiles;

disabling one or more applications associated with the disabled profile, wherein after being disabled, the one or more applications associated with the disabled profile are prevented from interacting with the respective mobile network;

enabling a different one of the plurality of profiles; and

enabling one or more of the plurality of applications associated with the enabled profile.

18. The non-transitory, computer-readable storage medium of claim 17 , wherein the program instructions further cause the card computing device to perform:

downloading an additional profile from a mobile network operator; and

storing the additional profile on the card computing device.

19. The non-transitory, computer-readable storage medium of claim 18 , wherein the program instructions further cause the card computing device to perform:

storing information regarding a plurality of applications associated with the additional profile in an information registry of the card computing device.

20. The non-transitory, computer-readable storage medium of claim 18 , wherein the program instructions further cause the card computing device to perform:

enabling the additional profile; and

enabling one or more of the plurality of applications associated with the additional profile.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2020
From: ORACLE DEUTSCHLAND B.V. & CO. KG
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 051520/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2014
From: HANS, SEBASTIAN
To: ORACLE DEUTSCHLAND B.V. & CO. KG
Reel/Frame 033809/0299 →
Continuity (1)
Related Publication 20160088464A1 · Mar 24, 2016