IP Library Granted Patent US 8,640,966
Granted Patent B2
US 8,640,966 · App. 13/469,274 · Granted Feb 4, 2014

Smart card session optimization

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,640,966
App. No.
13/469,274
Granted
Feb 4, 2014
Kind
B2
Abstract

A command destined for a smart card is received. If the command is of a state-altering type that places the smart card in a known state, it is relayed to a smart card reader unless the smart card is currently in the known state. If the command is a POWER OFF command, it is relayed to the smart card reader unless (i) the smart card is currently in the known state and (ii) within a predetermined time from receiving the command, a subsequent command of the state-altering type that places the smart card in the known state is received. If the command is not a POWER OFF command and is not of the state-altering type that places the smart card in the known state, it is relayed to the smart card reader. The command is discarded if not relayed to the smart card reader.

Claims (41)

1. A method of facilitating communication with a smart card via a smart card reader, the method comprising:

receiving a current command destined for a smart card;

if the current command is of a state-altering type that places the smart card in a known state, relaying the current command to the smart card reader unless the smart card is known to be currently in the known state;

if the current command is a POWER OFF command that disengages or turns off the smart card, relaying the current command to the smart card reader unless (i) the smart card is known to be currently in the known state and (ii) within a predetermined time from receiving the current command, a subsequent command of the state-altering type that places the smart card in the known state is subsequently received;

if the current command is not a POWER OFF command and the current command is not of the state-altering type that places the smart card in the known state, relaying the current command to the smart card reader; and

discarding the current command if the current command is not relayed to the smart card reader.

2. The method as recited in claim 1 , wherein the known state is a reset state.

3. The method as recited in claim 1 , wherein the smart card is known to be currently in the known state because a previous command most recently relayed to the smart card reader is also of the state-altering type that places the smart card in the known state.

4. The method as recited in claim 1 , wherein the smart card is known to be currently in the known state because after a previous relaying to the smart card reader of a previous command of the state-altering type that places the smart card in the known state, all subsequent commands relayed to the smart card reader prior to receiving the current command were known not to alter the state of the smart card reader.

5. The method as recited in claim 4 , wherein at least one of the subsequent commands relayed to the smart card reader prior to receiving the current command was a send Application Protocol Data Unit (APDU) command.

6. The method as recited in claim 1 , wherein the current command is a send Application Protocol Data Unit (APDU) command.

7. The method as recited in claim 1 , further comprising:

if relaying the current command to the smart card reader, employing a wireless communication protocol to relay the current command to the smart card reader.

8. The method as recited in claim 7 , wherein the wireless communication protocol comprises a wireless personal area network communication protocol.

9. A computer device for communicating with a smart card reader, the computer device comprising:

a smart card resource manager for providing commands for the smart card reader; and

a smart card reader service for selectively relaying and discarding commands received from the smart card resource manager for the smart card reader, the smart card reader service being configured for:

receiving a current command destined for a smart card;

if the current command is of a state-altering type that places the smart card in a known state, relaying the current command to the smart card reader unless the smart card is known to be currently in the known state;

if the current command is a POWER OFF command that disengages or turns off the smart card, relaying the current command to the smart card reader unless (i) the smart card is known to be currently in the known state and (ii) within a predetermined time from receiving the current command, a subsequent command of the state-altering type that places the smart card in the known state is subsequently received;

if the current command is not a POWER OFF command and the current command is not of the state-altering type that places the smart card in the known state, relaying the current command to the smart card reader; and

discarding the current command if the current command is not relayed to the smart card reader.

10. The computer device as recited in claim 9 , wherein the known state is a reset state.

11. The computer device as recited in claim 9 , wherein the smart card is known to be currently in the known state because a previous command most recently relayed to the smart card reader is also of the state-altering type that places the smart card in the known state.

12. The computer device as recited in claim 9 , wherein the smart card is known to be currently in the known state because after a previous relaying to the smart card reader of a previous command of the state-altering type that places the smart card in the known state, all subsequent commands relayed to the smart card reader prior to receiving the current command were known not to alter the state of the smart card reader.

13. The computer device as recited in claim 12 , wherein at least one of the subsequent commands relayed to the smart card reader prior to receiving the current command was a send Application Protocol Data Unit (APDU) command.

14. The computer device as recited in claim 9 , wherein the current command is a send Application Protocol Data Unit (APDU) command.

15. The computer device as recited in claim 9 , further comprising a wireless communication interface compatible with a wireless communication protocol, the smart card reader service being configured for:

if relaying the current command to the smart card reader, employing the wireless communication protocol to relay the current command to the smart card reader via the wireless communication interface.

16. The computer device as recited in claim 15 , wherein the wireless communication protocol comprises a wireless personal area network communication protocol.

17. A computer readable storage medium containing computer-executable instructions that, when performed by a microprocessor, cause the microprocessor:

to receive a current command destined for a smart card;

if the current command is of a state-altering type that places the smart card in a known state, to relay the current command to the smart card reader unless the smart card is known to be currently in the known state;

if the current command is a POWER OFF command that disengages or turns off the smart card, to relay the current command to the smart card reader unless (i) the smart card is known to be currently in the known state and (ii) within a predetermined time from receiving the current command, a subsequent command of the state-altering type that places the smart card in the known state is subsequently received;

if the current command is not a POWER OFF command and the current command is not of the state-altering type that places the smart card in the known state, to relay the current command to the smart card reader; and

to discard the current command if the current command is not relayed to the smart card reader.

18. The computer readable storage medium as recited in claim 17 , wherein the known state is a reset state.

19. The computer readable storage medium as recited in claim 17 , wherein the smart card is known to be currently in the known state because a previous command most recently relayed to the smart card reader is also of the state-altering type that places the smart card in the known state.

20. The computer readable storage medium as recited in claim 17 , wherein the smart card is known to be currently in the known state because after a previous relaying to the smart card reader of a previous command of the state-altering type that places the smart card in the known state, all subsequent commands relayed to the smart card reader prior to receiving the current command were known not to alter the state of the smart card reader.

21. The computer readable storage medium as recited in claim 20 , wherein at least one of the subsequent commands relayed to the smart card reader prior to receiving the current command was a send Application Protocol Data Unit (APDU) command.

22. The computer readable storage medium as recited in claim 17 , wherein the current command and is a send Application Protocol Data Unit (APDU) command.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Jan 1, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 031896/0305 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2012
From: SINGH, RAVI; DAVIS, DINAH; ADAMS, NEIL
To: RESEARCH IN MOTION LIMITED
Reel/Frame 028195/0752 →