IP Library Granted Patent US 8,863,135
Granted Patent B2
US 8,863,135 · App. 12/306,494 · Granted Oct 14, 2014

Preemptive smart card access and data transfer based on application priority

Inventors: Wilianto Wilianto (Meudon, FR); Krishna Sjarif (Meudon, FR)
Assignee: Gemalto SA
G06F9/4881
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 8,863,135
App. No.
12/306,494
Granted
Oct 14, 2014
Kind
B2
Abstract

The invention relates to a personal token running a series of applications, wherein said personal token includes a thread controller which transmits data from the applications to an external device in a cyclic way, a cycle being constituted of a series of data transfers from the applications and to the external device, a cycle comprising a respective number of data transfers dedicated to each respective application which is different according to the respective application, the number of data transfers for a respective application in a cycle corresponding to a priority level of the application as taken into account by the thread controller.

Claims (21)

1. A personal token running comprising:

a processor;

a queue buffer comprising a cycle which constitutes a series of pending data transfer requests from a plurality of applications executing on the personal token to an external device, wherein each of the plurality of applications is assigned a respective number of the pending data transfer requests in the cycle corresponding to its priority level; and

a thread controller, running on the processor, that traverses the queue buffer to service the series of pending data transfer requests in the cycle to allow each of the plurality of applications to perform its respective number of data transfers,

wherein the thread controller interprets a first application executing on the personal token and having a predefined highest priority level as entitled to interrupt data transfers from the plurality of applications and allows the first application to perform all its data transfers to the external device, before resuming the data transfers from the plurality of applications, and

wherein the thread controller interprets a second application executing on the personal token and having a predefined lowest priority level as entitled to perform all its data transfers to the external device only after completing the series of pending data transfer requests in the cycle with each of the plurality of applications having performed all of its respective number of data transfers.

2. The personal token of claim 1 , wherein, with the exception of the predefined highest priority level and the predefined lowest priority level, the respective number of the pending data transfer requests in the cycle is equal to the priority level of each application.

3. The personal token of claim 1 , further including a memory area for storing data of at least one of the applications waiting to transfer the data.

4. The personal token of claim 3 , wherein the thread controller updates the data in the memory area of each respective application at every cycle.

5. The personal token of claim 1 , wherein the thread controller updates a context of the application currently performing its data transfers when the application has completed all of its respective number of data transfers in the cycle.

6. The personal token of claim 1 , wherein the application currently performing the data transfer proceeds the data transfer by sending or receiving an APDU command.

7. A physical module comprising a logic entity for controlling data transfers to and/or from a personal token which comprises:

a queue buffer comprising a cycle which constitutes a series of pending data transfer requests from a plurality of applications executing on the personal token to an external device, wherein each of the plurality of applications is assigned a respective number of the pending data transfer requests in the cycle corresponding to its priority level; and

a thread controller that traverses the queue buffer to service the series of pending data transfer requests in the cycle to allow each of the plurality of applications to perform its respective number of data transfers,

wherein the thread controller interprets a first application executing on the personal token and having a predefined highest priority level as entitled to interrupt data transfers from the plurality of applications and allows the first application to perform all its data transfers to the external device, before resuming the data transfers from the plurality of applications, and

wherein the thread controller interprets a second application executing on the personal token and having a predefined lowest priority level as entitled to perform all its data transfers to the external device only after completing the series of pending data transfer requests in the cycle with each of the plurality of applications having performed all of its respective number of data transfers.

8. A method for managing data transfers between a plurality of applications executing on a personal token and an external device, the method comprising:

maintaining, on the personal token, a queue buffer comprising a cycle which constitutes a series of pending data transfer requests from the plurality of applications to the external device, wherein each of the plurality of applications is assigned a respective number of the pending data transfer requests in the cycle corresponding to its priority level; and

executing, on the personal token, a thread controller that traverses the queue buffer to service the series of pending data transfer requests in the cycle to allow each of the plurality of applications to perform its respective number of data transfers,

wherein the thread controller interprets a first application executing on the personal token and having a predefined highest priority level as entitled to interrupt data transfers from the plurality of applications and allows the first application to perform all its data transfers to the external device, before resuming the data transfers from the plurality of applications, and

wherein the thread controller interprets a second application executing on the personal token and having a predefined lowest priority level as entitled to perform all its data transfers to the external device only after completing the series of pending data transfer requests in the cycle with each of the plurality of applications having performed all of its respective number of data transfers.

Assignments (2)
CHANGE OF NAME Recorded Jul 16, 2014
From: AXALTO SA
To: GEMALTO SA
Reel/Frame 033321/0107 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2009
From: WILIANTO, WILIANTO; SJARIF, KRISHNA
To: AXALTO SA
Reel/Frame 023423/0432 →
Priority Claims (1)
CN 2006 1 0121393 · Jun 27, 2006 · national
Continuity (1)
Related Publication 20100037228A1 · Feb 11, 2010