IP Library Granted Patent US 8,944,336
Granted Patent B2
US 8,944,336 · App. 13/916,825 · Granted Feb 3, 2015

Method, system and smart card reader for management of access to a smart card

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,944,336
App. No.
13/916,825
Granted
Feb 3, 2015
Kind
B2
Abstract

The described embodiments relate generally to devices, methods and systems for managing access to a memory card, such as a smart card, by a plurality of accessing devices. Certain embodiments relate to a smart card reader (SCR) for managing concurrent access to a smart card by a plurality of accessing devices, the SCR comprising: a processor; a channel manager responsive to the processor for interfacing with the smart card; a communication interface responsive to the channel manager for communicating with the plurality of accessing devices; and wherein, when a session is open on a first channel between a first accessing device and the smart card and the channel manager is configured to issue an open channel command to the smart card to cause the smart card to open a second channel between the smart card and the second accessing device in response to the session request.

Claims (37)

1. A smart card reader (SCR) for managing concurrent access to a smart card by a plurality of accessing devices, the SCR comprising:

a processor configured to provide a channel manager interfacing with the smart card;

a communication subsystem responsive to the channel manager for communicating with the plurality of accessing devices; and

wherein, when the channel manager receives a first command from a first accessing device and a second command from a second accessing device, and a first session is open on a first channel between the first accessing device and the smart card and a second session is open on a second channel between the second accessing device and the smart card, the channel manager is configured to prioritize the second command relative to the first command, and

wherein the channel manager is further configured to: receive data units from the second accessing device intended for transmission to the smart card on the first channel; identify a channel identifier within the data units received from the second accessing device, the channel identifier identifying the first channel; and modify the channel identifier within the data units to identify the second channel, in order to indicate that the data units are intended for transmission to the smart card over the second channel.

2. The smart card reader of claim 1 , wherein the prioritization is based on a device type of the first accessing device and the second accessing device.

3. The smart card reader of claim 1 , wherein the prioritization is based on a length of time required to carry out the second command and the first command.

4. The smart card reader of claim 1 , wherein the open channel command comprises a MANAGE_CHANNEL command.

5. The smart card reader of claim 1 , further comprising a memory, the memory storing a connection table, wherein the connection table includes entries for each session established between the smart card and a respective accessing device.

6. The smart card reader of claim 5 , wherein the connection table comprises, for each session entry, one or more channel entries.

7. The smart card reader of claim 1 , wherein, when first and second channels are open between the smart card and respective first and second accessing devices and the channel manager receives a further session request, from a selected one of the first accessing device, the second accessing device and a third accessing device, the channel manager is configured to issue a further open channel command to the smart card to cause the smart card to open a third channel between the smart card and the selected one accessing device in response to the further session request.

8. The smart card reader of claim 1 , wherein the channel manager modifies a class byte of the data units to indicate that the data units were received over the second channel.

9. The smart card reader of claim 1 , wherein the channel manager controls the channels that can be opened between the smart card and the plurality of accessing devices so that the total number of channels is limited to a predetermined number.

10. A method for managing concurrent access to a smart card by a plurality of accessing devices, comprising:

receiving a first command from a first accessing device and a second command from a second accessing device, when a first session is open on a first channel between the first accessing device and the smart card and a second session is open on a second channel between a second accessing device and the smart card;

issuing an open channel command to the smart card to cause the smart card to open a second channel between the smart card and the second accessing device in response to the session such that the first channel and second channel are open concurrently;

prioritizing the second command relative to the first command;

receiving data units from the second accessing device intended for transmission to the smart card on the first channel;

identifying a channel identifier within the data units received from the second accessing device, the channel identifier identifying the first channel; and

modifying the channel identifier within the data units to identify the second channel, in order to indicate that the data units are intended for transmission to the smart card over the second channel.

11. The method of claim 10 , wherein the prioritizing is based on a device type of the first accessing device and the second accessing device.

12. The method of claim 10 , wherein the prioritizing is based on a length of time required to carry out the second command and the first command.

13. The method of claim 10 , wherein the open channel command comprises a MANAGE_CHANNEL command.

14. The method of claim 10 , further comprising storing a connection table in a memory of the smart card reader, the connection table comprising entries for each session established between the smart card and a respective accessing device.

15. The method of claim 14 , wherein the connection table comprises, for each session entry, one or more channel entries.

16. The method of claim 10 , further comprising:

when first and second channels are open between the smart card and respective first and second accessing devices, receiving a further session request from a selected one of the first accessing device, the second accessing device and a third accessing device; and

issuing a further open channel command to the smart card to cause the smart card to open a third channel between the smart card and the selected one accessing device in response to the further session request.

17. The method of claim 10 , further comprising controlling the channels that can be opened between the smart card and the plurality of accessing devices so that the total number of channels is limited to a predetermined number.

18. The method of claim 10 , wherein the modifying comprises modifying a class byte of the data units to indicate that the data units were received over the second channel.

19. A non-transitory computer readable storage medium storing program instructions which, when executed by a processor on a smart card reader, cause the processor to perform a method of managing concurrent access to a smart card by a plurality of accessing devices, the method comprising:

receiving a first command from a first accessing device and a second command from a second accessing device, when a first session is open on a first channel between the first accessing device and the smart card and a second session is open on a second channel between a second accessing device and the smart card;

issuing an open channel command to the smart card to cause the smart card to open a second channel between the smart card and the second accessing device in response to the session such that the first channel and second channel are open concurrently;

prioritizing the second command relative to the first command

receiving data units from the second accessing device intended for transmission to the smart card on the first channel;

identifying a channel identifier within the data units received from the second accessing device, the channel identifier identifying the first channel; and

modifying the channel identifier within the data units to identify the second channel, in order to indicate that the data units are intended for transmission to the smart card over the second channel.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064269/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 Mar 12, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 032438/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2013
From: ADAMS, NEIL P.; MCCALLUM, MICHAEL E.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 030605/0482 →