Language selection

Search

Patent 2548042 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 2548042
(54) English Title: GROUPING APPLICATION PROTOCOL DATA UNITS FOR WIRELESS TRANSMISSION
(54) French Title: UNITES DE DONNEES DE PROTOCOLE D'APPLICATION DE GROUPAGE POUR DES COMMUNICATIONS SANS FIL
Status: Granted
Bibliographic Data
(51) International Patent Classification (IPC):
  • H04W 80/06 (2009.01)
  • H04W 84/10 (2009.01)
  • H04L 29/06 (2006.01)
(72) Inventors :
  • ADAMS, NEIL (Canada)
  • LITTLE, HERBERT (Canada)
  • DAVIS, DINAH (Canada)
(73) Owners :
  • RESEARCH IN MOTION LIMITED (Canada)
(71) Applicants :
  • RESEARCH IN MOTION LIMITED (Canada)
(74) Agent: INTEGRAL IP
(74) Associate agent:
(45) Issued: 2012-11-13
(22) Filed Date: 2006-05-24
(41) Open to Public Inspection: 2007-11-24
Examination requested: 2006-05-24
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data: None

Abstracts

English Abstract

A system comprises a wireless-enabled device that communicates with a wireless- enabled smart card reader to obtain information from or perform operations using a smart card. Commands to access information from a smart card may be sent from the device to the smart card reader, and responses from the smart card may be sent from the smart card reader back to the second device. Communication between the device and the smart card reader via a wireless communication link is slower than communication via a direct link. Communication of two or more commands and/or responses via the wireless communication link may be made more efficient by grouping the commands or responses together in groups.


French Abstract

Un système comprenant un dispositif sans fil permettant de communiquer avec un lecteur de cartes à puce sans fil pour obtenir de l'information à partir d'une carte à puce ou pour exécuter des opérations au moyen d'une telle carte. Les commandes permettant d'accéder à l'information contenue sur une carte à puce peuvent être envoyées depuis le dispositif au lecteur de cartes à puce, et les réponses issues de la carte à puce peuvent être envoyées depuis le lecteur de cartes à puce vers le deuxième dispositif. La communication entre le dispositif et le lecteur de cartes à puce au moyen d'un lien de communication sans fil est plus lente qu'avec un lien direct. La communication de deux ou de plusieurs commandes ou réponses au moyen du lien de communication sans fil peut se faire plus efficacement lorsque les commandes ou les réponses sont réunies en petits groupes.

Claims

Note: Claims are shown in the official language in which they were submitted.




14

What is claimed is:


1. A method for handling Application Protocol Data Units (APDUs), the method
comprising:
at a first device that comprises a smart card reader and that is capable of
wireless
communications over a wireless communication link with a second device:
combining a plurality of individual response APDUs received from a smart card
coupled to said first device via said smart card reader into a single response
APDU
group; and
transmitting said response APDU group as a single packet over said wireless
communication link from said first device in a manner receivable by said
second
device.

2. The method as claimed in claim 1, further comprising:
at said first device:
providing a plurality of individual command APDUs one at a time to said smart
card;
and
receiving said individual response APDUs one at a time from said smart card,
wherein each of said individual response APDUs is received in response to a
corresponding one of said individual command APDUs, and
wherein each of said individual command APDUs, other than a first of said
individual command APDUs, is provided to said smart card only after receipt of
said
individual response APDU corresponding to an antecedent one of said individual

command APDUs.

3. The method as claimed in claim 2, further comprising:
at said first device:
receiving as a single packet over said wireless communication link from said
second device a command APDU group comprising said individual command APDUs;
and
separating said command APDU group into individual command APDUs.



15

4. A system for handling Application Protocol Data Units (APDUs), the system
comprising:
a first device having a smart card reader; and
a second device,
wherein said first device and said second device are able to communicate over
a
wireless communication link therebetween,
wherein said second device is able to combine a plurality of individual
command
APDUs into a single command APDU group and to transmit said command APDU
group as a single packet over said wireless communication link in a manner
receivable
by said first device,
wherein said first device is able to receive said command APDU group, to
extract
said individual command APDUs from said command APDU group, to provide said
individual command APDUs one at a time to a smart card that is coupled to said
first
device via said smart card reader, to receive one at a time from said smart
card said
plurality of individual response APDUs, to group said plurality of individual
response
ADPUs into a single response APDU group, and to transmit said response APDU
group as a single packet over said wireless communication link in a manner
receivable
by said second device,
wherein each of said individual response APDUs is received in response to a
corresponding one of said individual command APDUs, and
wherein each of said individual command APDUs, other than a first of said
individual command APDUs, is provided to said smart card by said first device
only
after receipt of said individual response APDU corresponding to an antecedent
one of
said individual command APDUs.

5. The system as claimed in claim 4, wherein said wireless communication link
comprises a personal area network communication link.

6. The system as claimed in claim 4, wherein said wireless communication link
comprises a radio frequency identification (RFID) communication link.



16

7. The system as claimed in claim 4, wherein said wireless communication link
comprises a wireless universal serial bus (USB) communication link.

8. The system as claimed in claim 4, wherein said wireless communication link
comprises a wireless local area network communication link.

9. The system as claimed in claim 4, wherein said wireless communication link
comprises an ultra wideband (UWB) communication link.

10. A first device comprising:
a wireless communication interface;
a processor coupled to said wireless communication interface;
a smart card reader coupled to said processor; and
a memory coupled to said processor, said memory able to store code which, when

executed by said processor, combines a plurality of individual response
Application
Protocol Data Units (APDUs) received from a smart card coupled to said first
device
via said smart card reader into a single response APDU group in preparation
for
transmission as a single packet via said wireless communication interface to a
second
device.

11. A first device comprising:
a wireless communication interface;
a processor coupled to said wireless communication interface; and
a memory coupled to said processor, said memory able to store code which, when

executed by said processor, receives a response APDU group as a single packet
via said
wireless communication interface from a second device that has a smart card
reader
and separates said response APDU group into individual response APDUs.

12. The first device as claimed in claim 10 or claim 11, wherein said wireless

communication interface comprises a personal area network communication
interface.



17

13. The first device as claimed in claim 10 or claim 11, wherein said wireless

communication interface comprises a radio frequency identification (RFID)
communication interface.

14. The first device as claimed in claim 10 or claim 11, wherein said wireless

communication interface comprises a wireless universal serial bus (USB)
communication
interface.

15. The first device as claimed in claim 10 or claim 11, wherein said wireless

communication interface comprises a wireless local area network communication
interface.
16. The first device as claimed in claim 10 or claim 11, wherein said wireless

communication interface comprises an ultra wideband (UWB) communication
interface.

Description

Note: Descriptions are shown in the official language in which they were submitted.



CA 02548042 2006-05-24
Attorney Docket No.: RIM042-02CA

1
GROUPING APPLICATION PROTOCOL DATA UNITS FOR WIRELESS
TRANSMISSION

TECHNICAL FIELD OF INVENTION

[0001] The invention is related to the technical field of wireless
communications, and
specifically to application protocols in wireless communications.

BACKGROUND
[0002] It is common for two or more devices to communicate with each other on
a
routine basis. For example, a smart card, a smart card reader, and a computing
device may
communicate with each other on a routine basis in order to transfer
information generated
by or stored on the smart card to the computing device. On each occasion, the
computing
device communicates a series of instructions to the smart card reader, which
the smart card
reader then communicates to the smart card. The smart card reader waits for
the smart
card's response to each instruction, and then communicates these responses
back to the
computing device. In part 4 of the International Standards Organization (ISO)
7816
standard for integrated-circuit cards (commonly known as smart cards), each of
these
individual instructions and responses is called a "command APDU" (Application
Protocol
Data Units) or a "response APDU" respectively.

[0003] If sent over a direct or wired connection, these commands and responses
may
be transmitted very efficiently. The smart card reader and smart card are able
to
communicate when in direct physical contact with each other - the smart card
has contacts
and the smart card reader has a connector. Depending on the design and
implementation,
the smart card reader and the computing device are able to communicate via a
serial port,
parallel port, universal serial bus (USB) port, or other direct or wired link.

100041 Wireless communication links are much slower than wired or direct
communication links. Yet wireless devices and wireless communications are
increasingly
replacing wired or direct communication links to allow more flexibility in
device design
and use. For example, Bluetooth wireless technology provides an easy way for
a wide
range of Bluetooth devices (BT devices) to communicate with each other and
connect to
the Internet without the need for wires, cables and connectors. Other wireless


CA 02548042 2006-05-24
Attorney Docket No.: RIM042-02CA

2
communication protocols include ZigBeeT"', radio frequency identification
(RFID), ultra
wideband (UWB), wireless universal serial bus (USB), IEEE 802.11 and various
proprietary wireless communication protocols.

SUMMARY
5[0005] A system comprises a wireless-enabled device that communicates with a
wireless-enabled smart card reader to obtain information from or perform
operations using
a smart card. Commands to access information from a smart card may be sent
from the
device to the smart card reader, and responses from the smart card may be sent
from the
smart card reader back to the second device. Communication between the device
and the
smart card reader via a wireless communication link is slower than
communication via a
direct link. Communication of two or more commands and/or responses via the
wireless
communication link may be made more efficient by grouping the commands or
responses
together in groups.

100061 A first wireless-enabled device groups two or more individual
Application
Protocol Data Units (APDUs) into an APDU group and transmits the APDU group to
a
second wireless-enabled device over a wireless communication link. The second
wireless-
enabled device receives the APDU group and separates it into the individual
APDUs. The
individual APDUs may be command APDUs and/or response APDUs. Individual APDUs
grouped together into an APDU group should be independent of one another. For
example, none of the command APDUs in a particular group should depend on a
response
to another of the command APDUs in the particular group.


CA 02548042 2006-05-24
Attorney Docket No.: RIM042-02CA

3
BRIEF DESCRIPTION OF THE DRAWINGS

100071 Embodiments of the invention are illustrated by way of example and not
limitation in the figures of the accompanying drawings, in which like
reference numerals
indicate corresponding, analogous or similar elements, and in which:

5[0008] Figure 1 is a schematic diagram of an exemplary system involving a
smart card
reader, according to some embodiments of the invention;

[0009] Figure 2 is a signaling diagram showing an exemplary communication flow
of
command and response APDUs between the mobile device, smart card reader and
smart
card, according to some embodiments of the invention;

[0010] Figure 3 is a schematic diagram showing an exemplary data structure
format
used for grouping the command and response APDUs;

[0011] Figure 4 is a flowchart of an exemplary method for grouping command
APDUs
and transmitting them to a smart card reader, according to some embodiments of
the
invention;

[0012] Figure 5 is a flowchart of an exemplary method to be implemented by a
smart
card reader in communication with another device, according to some
embodiments of the
invention; and

[0013] Figure 6 is a block diagram of an exemplary system involving a smart
card
reader, according to some embodiments of the invention;

[0014] It will be appreciated that for simplicity and clarity of illustration,
elements
shown in the figures have not necessarily been drawn to scale. For example,
the
dimensions of some of the elements may be exaggerated relative to other
elements for
clarity.


CA 02548042 2006-05-24
Attorney Docket No.: RIM042-02CA

4
DETAILED DESCRIPTION

[0015] In the following detailed description, numerous specific details are
set forth in
order to provide a thorough understanding of embodiments of the invention.
However it
will be understood by those of ordinary skill in the art that the embodiments
of the
invention may be practiced without these specific details. In other instances,
well-known
methods, procedures, components and circuits have not been described in detail
so as not
to obscure the embodiments of the invention.

100161 Figure 1 is a schematic diagram of an exemplary system including a
smart card
reader, according to some embodiments of the invention. A system 100 includes
a
wireless-enabled smart card reader (SCR) 102, a wireless-enabled mobile device
104, and
a wireless-enabled personal computer 106. A smart card (SC) 103 is shown
inserted into
smart card reader 102.

[0017] Smart card reader 102 and mobile device 104 may communicate via a
wireless
communication link 108, and smart card reader 102 and personal computer 106
may
communicate via a wireless communication link 110. In this description and the
claims, a
wireless communication link may include one or more wired portions and/or one
or more
optical portions. As shown in Figure 1, communication links 108 and 110 are
wireless
communication links, for example Bluetooth communication links, ZigBeeTM
communication links, radio frequency identification (RFID) communication
links, ultra
wideband (UWB) communication links, wireless USB links, IEEE 802.11
communication
links and any other suitable type of wireless communication link.

100181 Smart cards are personalized security devices, defined by the ISO 7816
standard and its derivatives, as published by the International Standards
Organization. A
smart card may have a form factor of a credit card and may include a
semiconductor
device. The semiconductor device may include a memory that can be programmed
with
security information (e.g. a private decryption key, a private signing key,
biometrics, an
authentication certificate, etc.), and may include a decryption engine, e.g. a
processor
and/or dedicated logic, for example, dedicated decryption logic and/or
dedicated signing
logic. A smart card may include a connector for powering the semiconductor
device and
performing serial communication with an external device. Alternatively, smart
card


CA 02548042 2006-05-24
Attorney Docket No.: RIM042-02CA

functionality may be embedded in a device having a different form factor and
different
communication protocol, for example a Universal Serial Bus (USB) device. A
smart card
may be used for visual identification, time cards, door access, and the like.

100191 The person whose security information is stored on smart card 103 may
use
5 smart card reader 102, for example, to provide personal identification from
smart card 103
to mobile device 104, or to digitally sign and/or decrypt e-mail messages sent
by mobile
device 104. To accomplish any of these tasks, smart card reader 102 may
communicate
with smart card 103 using one or more command APDUs. These command APDUs are
instructions to smart card 103 that allow smart card reader 102 to obtain the
required
information from smart card 103. Smart card 103 communicates information back
to smart
card reader 102 using response APDUs.

[0020] For example, when smart card reader 102 extracts personal
identification from
smart card 103, the following sequence of command and response APDUs are
communicated: (i) Smart card reader 102 sends a SELECT FILE A command to smart
card 103 to select File A. (ii) Smart card 103 sends a response to smart card
reader 102 to
confirm that File A was selected. (iii) Smart card reader 102 sends a READ
BINARY
command to smart card 103 to read the data from File A. (iv) Smart card 103
sends the
data to smart card reader 102. (v) Smart card reader 102 sends a SELECT FILE B
command to smart card 103 to select File B. (vi) Smart card 103 sends a
response to
smart card reader 102 to confirm that File B was selected. (vii) Smart card
reader 102
sends a READ BINARY command to smart card 103 to read the card label from File
B.
(viii) Smart card 103 sends the card label from File B to smart card reader
102. These
command and response APDUs are communicated serially between smart card reader
102
and smart card 103. This serial communication is efficient because smart card
reader 102
and smart card 103 are in direct contact with each other.

[0021] In some situations, a request to extract personal information from
smart card
103 may originate at mobile device 104. In this case, the command APDUs
originate at
mobile device 104 and are forwarded by smart card reader 102 to smart card
103, and the
response APDUs from smart card 103 are forwarded by smart card reader 102 to
mobile
device 104. Wireless communication link 108 may be used to communicate the
command


CA 02548042 2006-05-24
Attorney Docket No.: RIM042-02CA

6
APDUs from mobile device 104 to smart card reader 102, and to communicate the
response APDUs from smart card reader 102 to mobile device 104.

[0022] In some embodiments of the invention, mobile device 104 groups at least
two
command APDUs together into a "command APDU group" for transmission to smart
card
reader 102, and/or smart card reader 102 groups at least two response APDUs
together into
a "response APDU group" for transmission to mobile device 104. For example,
instead of
transmitting individual APDUs as individual Bluetooth packets, an APDU group
comprising two or more APDUs may be transmitted as a single Bluetooth packet.
Typically, the length of an individual APDU is much shorter than the maximum
length of a
Bluetooth communication packet; therefore, transmitting a group of APDUs as a
single
Bluetooth communication packet takes roughly the same amount of time as
transmitting
a single APDU as a single Bluetooth communication packet. By grouping the
individual
APDUs into a single packet, the number of transmitted Bluetooth communication
packets can be decreased, and the total length of time to transmit the entire
set of messages
is therefore also decreased.

[0023] In the aforementioned example, the individual APDUs may be grouped as
shown in the signaling diagram of Figure 2. The signaling sequence shown is as
follows:
(i) Mobile device 104 sends a command APDU group 202 to smart card reader 102
consisting of: SELECT FILE A, READ BINARY (to read data from File A), SELECT
FILE B, READ BINARY (to read label from File B). (ii) Smart card reader 102
communicates the individual command APDUs one at a time to smart card 103,
waiting
after each command APDU for a corresponding response APDU from smart card 103
before sending the next command APDU. (iii) Smart card reader 102 sends a
response
APDU group 204 to mobile device 104 consisting of: FILE A SELECTED, data from
File A, FILE B SELECTED, label from File B. In this example, the total number
of
Bluetooth communications packets sent between mobile device 104 and smart
card
reader 102 is reduced from eight to two, reducing the total time for
communicating the
Bluetooth packets by roughly a factor of four.

100241 In the aforementioned example, personal computer 106 could take the
place of
mobile device 104. For example, the person whose security information is
stored on smart
card 103 may wish to digitally sign outgoing e-mail sent from personal
computer 106 or to


CA 02548042 2006-05-24
Attorney Docket No.: RIM042-02CA

7
decrypt incoming encrypted e-mail received at personal computer 106. This
would require
personal computer 106 to communicate with smart card reader 102 in the same
way as
mobile device 104 communicates with smart card reader 102 as described above.

[0025] In order to group together the command and response APDUs, smart card
reader 102 and mobile device 104 (or personal computer 106) must use a shared
APDU
group data structure, and the smart card reader and mobile device must be
capable of
grouping and/or ungrouping messages according to the shared data structure.
Figure 3
shows an example data structure for an APDU group 300. A first byte 302 of the
data
structure contains information about the group type, e.g. "Command APDU
group", or
"Response APDU group". A second byte 304 gives information about the number N
of
individual APDUs that are contained in the group. The rest of the data
structure contains
the individual APDUs, each of which also contains its own individual header
and data.
100261 Figure 4 is a flowchart of an exemplary method for grouping command
APDUs
and transmitting them to a smart card reader, according to some embodiments of
the
invention. The method may be implemented by any device that communicates with
the
smart card reader, for example, mobile device 104 and personal computer 106.
The device
first determines what information is required from smart card reader 102
(402). The
device translates this information requirement into an appropriate series of
individual
command APDUs for communicating with smart card reader 102 (404). The device
determines which APDUs can be grouped together by considering which APDUs can
be
sent without waiting for a response from smart card reader 102 (406).

100271 The device checks whether all the required individual command APDUs can
be
sent in a single APDU group (408). If a single command APDU group is
sufficient, the
device combines the individual APDUs into a single command APDU group (412),
transmits this APDU group to smart card reader 102 (414), and waits for a
response from
smart card reader 102 (416). If no response is received, the process stops
(418).
Otherwise, the device handles the response (417). If the response is an APDU
group,
handling the response involves separating the APDU group into individual
response
APDUs.

[0028] If at least two APDU groups are required, the device combines the
individual
APDUs into the appropriate number of APDU groups (410), transmits the first
APDU


CA 02548042 2006-05-24
Attorney Docket No.: RIM042-02CA

8
group to smart card reader 102 (414), and waits for a response from smart card
reader 102
(416). The device checks whether there are more APDU groups to transmit (420).
If all
APDU groups have been sent, the process stops (418). If there remain more APDU
groups
to send, the device sends the next APDU group and the process 414-420 repeats
until all
APDU groups are sent and responses are received.

[0029] Figure 5 is a flowchart of an exemplary method for ungrouping command
APDUs and grouping response APDUs, according to some embodiments of the
invention.
Smart card reader 102 receives a command APDU group from a device, which may
be, for
example, mobile device 104 or personal computer 106 (502). Smart card reader
102
separates the APDU group into individual command APDUs (504). Smart card
reader 102
transmits an individual command APDU to smart card 103 (506), and waits for a
response
from smart card 103 (508). If no response is received, the method stops (516).

[0030] If smart card reader 102 receives a response APDU from smart card 103,
smart
card reader 102 checks whether there remain more command APDUs to send (510).
If
there do remain more command APDUs, smart card reader 102 sends the next
command
APDU to smart card 103 (506), and waits for a response (508). Smart card
reader 102
continues sending/receiving command and response APDUs until all command APDUs
have been sent and all response APDUs have been received from smart card.
Smart card
reader 102 groups together the individual response APDUs from smart card 103
into a
single response APDU group (512), which it then transmits to the device (514).
This entire
process is repeated for each command APDU group that is received by smart card
reader
102 from the device.

100311 The following exemplary code sample demonstrates how individual command
APDUs may be grouped together, transmitted as a single command APDU group, and
how
a single response APDU group may be received and parsed into individual
response
APDUs.
protected SmartCardlD getSmartCardlD() throws SmartCardException
{
/I Select the DKIS File which contains the serial number
CommandAPDU selectDKlSFileAPDU = getSelectFileCommand( new byteo { Ox00, 0x06
});


CA 02548042 2006-05-24
Attorney Docket No.: RIM042-02CA

9
The serial number is in the first 8 bytes of this file
CommandAPDU readDKISBinaryAPDU = new CommandAPDU( CLASS_00,
INS_READ_BINARY, ZERO_BYTE, ZERO_BYTE, 8);

// Select UIS File which contains the card label in the first 32 bytes
CommandAPDU se!ectUlSFi!eAPDU = getSelectFileCommand( new byte0 { OxOO, OxOA
});
// The card label is in the first 32 bytes of this file
CommandAPDU readUISBinaryAPDU = new CommandAPDU( CLASS_00,
INS_READ_BINARY, ZERO_BYTE, ZERO_BYTE, 32);
CommandAPDUGroup commandAPDUGroup = new CommandAPDUGroup(
new CommandAPDU p{ se!ectDKISFileAPDU, readDKISBinaryAPDU, se!ectUISFi!eAPDU,
readUlSBinaryAPDU } );
ResponseAPDUGroup responseAPDUGroup = new ResponseAPDUGroup( 4);
sendAPDUs(commandAPDUGroup, responseAPDUGroup);

// Check the response from the read DKIS Binary file
if( !responseAPDUGroup.getAPDU( 1 ).checkStatusWords( (byte)0x90, (byte)Ox00 )
) {
return null;
}
byte a serialNumber = new byte[8];
System.arraycopy( responseAPDUGroup.getAPDU(1 ).getData(), 0, serialNumber, 0,
8);
// Convert byte array to long
long idLong = CryptoByteArrayArithmetic.value0f( serialNumber );
// Check the response from the read UIS Binary file
if( !responseAPDUGroup.getAPDU( 3 ).checkStatusWords( (byte)0x90, (byte)OxOO
) ) {
return null;
}

String cardLabel = new String( responseAPDUGroup.getAPDU( 3).getData(), 0, 32
);


CA 02548042 2006-05-24
Attorney Docket No.: RIM042-02CA

Trim the spaces off the end. This is a fixed length field of
// length 32 so it will likely have spaces at the end.
cardLabel = cardLabel.trim();
return new SmartCardlD( idLong , cardLabel, getSmartCard() );
5 )

100321 Figure 6 is a block diagram of an exemplary system 600, according to
some
embodiments of the invention. System 600 comprises a device 604 and a smart
card reader
602 able to communicate over a wireless communication link 606, and a smart
card 608 in
direct communication with smart card reader 602.

10 [0033] A non-exhaustive list of examples for device 604 includes any of the
following:

a) wireless human interface devices, for example, keyboards, mice, remote
controllers,
digital pens and the like;

b) wireless audio devices, for example, headsets, loudspeakers, microphones,
cordless
telephones, handsets, stereo headsets and the like;

c) wireless computerized devices, for example, notebook computers, laptop
computers,
desktop personal computers, personal digital assistants (PDAs), handheld
computers,
cellular telephones, MP3 players, printers, facsimile machines, and the like;
and

d) wireless communication adapters, for example, universal serial bus (USB)
adapters,
personal computer memory card international association (PCMCIA) cards,
compact flash
(CF) cards, mini peripheral component interconnect (PCI) cards, access points,
and the
like.

[0034] Device 604 comprises an antenna 620, a wireless communication interface
622,
a processor 624 coupled to wireless communication interface 622, and a memory
626
coupled to processor 624. Memory 626 may be fixed in or removable from device
604.
Memory 626 may be embedded or partially embedded in processor 624. Memory 626
stores executable code 621 which, when executed by processor 624, functions as
a smart
card reader driver. Memory 626 also stores executable code 623 which, when
executed by
processor 624 functions to run an application program. Processor 624 and
memory 626
may be part of the same integrated circuit or in separate integrated circuits.
Wireless


CA 02548042 2006-05-24
Attorney Docket No.: RIM042-02CA

l1
communication interface 622 comprises a radio 627 coupled to antenna 620, and
a
processor 628 coupled to radio 627. Wireless communication interface 622 and
processor
624 may be part of the same integrated circuit or in separate integrated
circuits.

[0035] Similarly, smart card reader 602 comprises an antenna 610, a wireless
communication interface 612, a processor 614 coupled to wireless communication
interface 612, a hardware interface 611, and a memory 616 coupled to processor
614. For
example, hardware interface 611 is a connector. Memory 616 may be fixed in or
removable from device 602. Memory 616 may be embedded or partially embedded in
processor 614. Memory 616 stores executable code 613 that functions as a smart
card
reader driver when executed by processor 614. Processor 614 and memory 616 may
be
part of the same integrated circuit or in separate integrated circuits.
Wireless
communication interface 612 comprises a radio 617 coupled to antenna 610, and
a
processor 618 coupled to radio 617. Wireless communication interface 612 and
processor
614 may be part of the same integrated circuit or in separate integrated
circuits.

[0036] A non-exhaustive list of examples for antennae 610 and 620 includes
dipole
antennae, monopole antennae, multilayer ceramic antennae, planar inverted-F
antennae,
loop antennae, shot antennae, dual antennae, omnidirectional antennae and any
other
suitable antennae.

[0037] A non-exhaustive list of examples of communication protocols with which
communication interfaces 612 and 622 may be compatible includes Bluetooth ,
ZigBeeT"',
radio frequency identification (RFID), ultra wideband (UWB), IEEE 802.11, and
proprietary communication protocols.

[0038] A non-exhaustive list of examples for processors 614, 618, 624 and 628
includes a central processing unit (CPU), a digital signal processor (DSP), a
reduced
instruction set computer (RISC), a complex instruction set computer (CISC) and
the like.
Furthermore, processors 614, 618, 624 and 628 may be part of application
specific
integrated circuits (ASICs) or may be a part of application specific standard
products
(ASSPs).

[0039] A non-exhaustive list of examples for memories 616 and 626 includes any
combination of the following:


CA 02548042 2006-05-24
Attorney Docket No.: RIM042-02CA

12
a) semiconductor devices such as registers, latches, read only memory (ROM),
mask
ROM, electrically erasable programmable read only memory devices (EEPROM),
flash
memory devices, non-volatile random access memory devices (NVRAM), synchronous
dynamic random access memory (SDRAM) devices, RAMBUS dynamic random access
memory (RDRAM) devices, double data rate (DDR) memory devices, static random
access memory (SRAM), universal serial bus (USB) removable memory, and the
like;

b) optical devices, such as compact disk read only memory (CD ROM), and the
like; and
c) magnetic devices, such as a hard disk, a floppy disk, a magnetic tape, and
the like.
[0040] Smart card 608 comprises a hardware interface 630, a controller 632
coupled to
hardware interface 630, and a memory 634 coupled to controller 632. For
example,
hardware interface 630 comprises contacts. Memory 634 stores executable code
636
which functions as a driver when executed by controller 632. Memory 634 also
stores files
638 with stored personal information about the smart card's owner.

[0041] Device 604, smart card reader 602 and smart card 608 comprise
additional
components which are not shown in Figure 6 and which, for clarity, are not
described
herein.

[0042] As mentioned above, memory 626 may store executable code 623 which,
when
executed by processor 624, runs an application program. This application may
require
information from smart card 608 to successfully perform a function. The
application code
may determine what information is required from smart card 608, and may send a
request
for this information to smart card reader driver 621. Smart card reader driver
621 may
then translate this request for information into a series of individual
command APDUs.
Smart card reader driver 621 may then group together two or more command APDUs
forming an APDU group which may then be communicated to smart card reader 602
through the wireless communication interface 622.

[0043] Smart card reader 602 may receive the APDU group from device 604
through
wireless communication interface 612. Smart card reader driver 613 may, when
executed
by processor 614, separate the command APDU group into individual command
APDUs.
Smart card reader driver 613, may then communicate an individual command APDU
to
smart card 608 through hardware interface 611.


CA 02548042 2006-05-24
Attorney Docket No.: RIM042-02CA

13
100441 Smart card 608 may receive the individual command APDU through hardware
interface 630. Controller 632 may execute the individual command APDU by
running
executable code 636, and by accessing files 638. Controller 632 may then send
an
individual response APDU to smart card reader 602 through hardware interface
630.

5[00451 Processor 614 may receive the individual response APDU through
hardware
interface 611. SCR driver 613 may then communicate the next individual command
APDU to smart card 608 and wait for a response APDU from smart card 608 before
sending the next command APDU. When all command APDUs have been sent and all
response APDUs received, SCR driver 613 may group the response APDUs into a
single
response APDU group. Smart card reader 602 may then send the response APDU
group to
device 604 via wireless communication interface 612.

[00461 Device 604 may receive the response APDU group from smart card reader
602
via wireless communication interface 622. SCR driver 621 may separate the
response
APDU group into individual response APDUs for processing. SCR driver 621 may
then
process the individual response APDUs for use by the application.

100471 Although the subject matter has been described in language specific to
structural features and/or methodological acts, it is to be understood that
the subject matter
defined in the appended claims is not necessarily limited to the specific
features or acts
described above. Rather, the specific features and acts described above are
disclosed as
example forms of implementing the claims.

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 2012-11-13
(22) Filed 2006-05-24
Examination Requested 2006-05-24
(41) Open to Public Inspection 2007-11-24
(45) Issued 2012-11-13

Abandonment History

There is no abandonment history.

Maintenance Fee

Last Payment of $473.65 was received on 2023-05-19


 Upcoming maintenance fee amounts

Description Date Amount
Next Payment if small entity fee 2024-05-24 $253.00
Next Payment if standard fee 2024-05-24 $624.00

Note : If the full payment has not been received on or before the date indicated, a further fee may be required which may be one of the following

  • the reinstatement fee;
  • the late payment fee; or
  • additional fee to reverse deemed expiry.

Patent fees are adjusted on the 1st of January every year. The amounts above are the current amounts if received by December 31 of the current year.
Please refer to the CIPO Patent Fees web page to see all current fee amounts.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Request for Examination $800.00 2006-05-24
Application Fee $400.00 2006-05-24
Registration of a document - section 124 $100.00 2006-09-18
Maintenance Fee - Application - New Act 2 2008-05-26 $100.00 2008-04-02
Maintenance Fee - Application - New Act 3 2009-05-25 $100.00 2009-05-25
Maintenance Fee - Application - New Act 4 2010-05-25 $100.00 2010-05-14
Maintenance Fee - Application - New Act 5 2011-05-24 $200.00 2011-04-07
Maintenance Fee - Application - New Act 6 2012-05-24 $200.00 2012-05-09
Final Fee $300.00 2012-08-29
Maintenance Fee - Patent - New Act 7 2013-05-24 $200.00 2013-04-10
Maintenance Fee - Patent - New Act 8 2014-05-26 $200.00 2014-05-19
Maintenance Fee - Patent - New Act 9 2015-05-25 $200.00 2015-05-19
Maintenance Fee - Patent - New Act 10 2016-05-24 $250.00 2016-05-23
Maintenance Fee - Patent - New Act 11 2017-05-24 $250.00 2017-05-22
Maintenance Fee - Patent - New Act 12 2018-05-24 $250.00 2018-05-21
Maintenance Fee - Patent - New Act 13 2019-05-24 $250.00 2019-05-17
Maintenance Fee - Patent - New Act 14 2020-05-25 $250.00 2020-05-15
Maintenance Fee - Patent - New Act 15 2021-05-24 $459.00 2021-05-14
Maintenance Fee - Patent - New Act 16 2022-05-24 $458.08 2022-05-20
Maintenance Fee - Patent - New Act 17 2023-05-24 $473.65 2023-05-19
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
RESEARCH IN MOTION LIMITED
Past Owners on Record
ADAMS, NEIL
DAVIS, DINAH
LITTLE, HERBERT
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Claims 2009-07-31 5 190
Abstract 2006-05-24 1 17
Description 2006-05-24 13 590
Claims 2006-05-24 3 95
Drawings 2006-05-24 6 83
Representative Drawing 2007-10-27 1 6
Cover Page 2007-11-15 1 37
Claims 2010-08-24 4 124
Claims 2011-10-25 4 126
Cover Page 2012-10-17 2 40
Assignment 2006-09-18 4 181
Correspondence 2006-06-28 1 27
Assignment 2006-05-24 3 94
Prosecution-Amendment 2008-07-09 1 28
Fees 2008-04-02 1 36
Prosecution-Amendment 2009-02-02 4 141
Fees 2009-05-25 1 200
Prosecution-Amendment 2009-07-31 11 560
Prosecution-Amendment 2009-08-25 2 56
Prosecution-Amendment 2010-02-24 4 137
Fees 2010-05-14 1 200
Prosecution-Amendment 2010-08-24 16 687
Prosecution-Amendment 2011-01-27 2 57
Prosecution-Amendment 2011-05-12 2 54
Prosecution-Amendment 2011-10-25 13 419
Prosecution-Amendment 2012-05-04 1 30
Correspondence 2012-05-04 1 72
Correspondence 2012-08-29 1 34