System and method of multiple smart card driver support
AssigneeResearch In Motion Limited
InventorsNeil Patrick Adams, Dinah Lea Marie Davis
Life of this patent
Estimating the term…
Abstract
By thoroughly investigating compatibility of a plurality of smart card drivers to applications available on a given smart card, a smart card framework module may be afforded additional flexibility in communications with the smart card. The additional flexibility is allowed by additional checking with a plurality of smart card drivers before communicating with the smart card, rather than simply using the first compatible smart card driver found. Furthermore, when employing an application available on the given smart card, a correct smart card driver is to be selected from among the plurality of smart card drivers.
Claims14
A method of initializing communication with a smart card, said method comprising:
- transmitting a reset command to said smart card;
- receiving a response to said reset command;
- selecting a first stored response among a plurality of stored responses;
- determining that said received response is a match for said first stored response and that said first stored response is associated with a first smart card driver;
- recording an indication of said first smart card driver in association with an identity of said smart card;
- selecting a second stored response among said plurality of stored responses;
- determining that said received response is a match for said second stored response and that said second stored response is associated with a second smart card driver;
- and
- recording an indication of said second smart card driver in association with said identity of said smart card.
A communication device comprising:
- a short-range communications subsystem operable to:
- transmit a reset command to a smart card;
- and
- receive a response to said reset command;
- and
- a processor adapted to execute a smart card framework module to:
- select a first stored response among a plurality of stored responses;
- determine that said received response is a match for said first stored response and that said first stored response is associated with a first smart card driver;
- record an indication of said first smart card driver in association with an identity of said smart card;
- select a second stored response among said plurality of stored responses;
- determine that said received response is a match for said second stored response and that said second stored response is associated with a second smart card driver;
- and
- record an indication of said second smart card driver in association with said identity of said smart card.
A computer-readable medium containing computer-executable instructions that, when performed by a processor in a communication device, cause said processor to:
- transmit a reset command to a smart card;
- receive a response to said reset command;
- select a first stored response among a plurality of stored responses;
- determine that said received response is a match for said first stored response and that said first stored response is associated with a first smart card driver;
- record an indication of said first smart card driver in association with an identity of said smart card;
- select a second stored response among said plurality of stored responses;
- determine that said received response is a match for said second stored response and that said second stored response is associated with a second smart card driver;
- and
- record an indication of said second smart card driver in association with said identity of said smart card.
At a communication apparatus, a method of extracting a data object from a smart card, said method comprising:
- transmitting a query to each smart card driver of a plurality of smart card drivers;
- receiving, from a first smart card driver of said plurality of smart card drivers, a first response to said query, said first response including an indication that said first smart card driver supports communication with an application on said smart card;
- receiving, from a second smart card driver of said plurality of smart card drivers, a second response to said query, said second response including an indication that said second smart card driver supports communication with said application on said smart card;
- selecting a candidate smart card driver from among said first smart card driver and said second smart card driver;
- transmitting a data object extraction command to said candidate smart card driver;
- and
- receiving, from said candidate smart card driver, a first data object extracted from said smart card by said candidate smart card driver.
A communication apparatus comprising:
- a short-range communications subsystem operable to:
- transmit a query to each smart card driver of a plurality of smart card drivers;
- receive, from a first smart card driver of said plurality of smart card drivers, a first response to said query, said first response including an indication that said first smart card driver supports communication with an application on a given smart card;
- and
- receive, from a second smart card driver of said plurality of smart card drivers, a second response to said query, said second response including an indication that said second smart card driver supports communication with said application on said smart card;
- and
- a processor adapted to execute a smart card framework module to:
- select a candidate smart card driver from among said first smart card driver and said second smart card driver;
- wherein said short-range communications subsystem is further operable to:
- transmit a data object extraction command to said candidate smart card driver;
- and
- receive, from said candidate smart card driver, a first data object extracted from said smart card by said candidate smart card driver.
A computer-readable medium containing computer-executable instructions that, when performed by a processor in a communication device, cause said processor to:
- transmit a query to each smart card driver of a plurality of smart card drivers;
- receive, from a first smart card driver of said plurality of smart card drivers, a first response to said query, said first response including an indication that said first smart card driver supports communication with an application on a given smart card;
- receive, from a second smart card driver of said plurality of smart card drivers, a second response to said query, said second response including an indication that said second smart card driver supports communication with said application on said smart card;
- select a candidate smart card driver from among said first smart card driver and said second smart card driver;
- transmit a data object extraction command to said candidate smart card driver;
- and
- receive, from said candidate smart card driver, a first data object extracted from said smart card by said candidate smart card driver.
Dependencies are inferred from the claim text.