throbber
(12) United States Patent
`(12) United States Patent
`Guthery et al.
`Guthery et al.
`
`111111111111111111111111111R9111!g111110111111111111111111
`USOO6824064B2
`(10) Patent No.:
`US 6,824,064 B2
`US 6,824,064 B2
`(to) Patent No.:
`(45) Date of Patent:
`Nov.30, 2004
`(45) Date of Patent:
`Nov. 30, 2004
`
`(*) Notice:
`Notice:
`(*)
`
`(54) CONCURRENT COMMUNICATION WITH
`(54)
`CONCURRENT COMMUNICATION WITH
`MULTIPLE APPLICATIONS ON A SMART
`MULTIPLE APPLICATIONS ON A SMART
`CARD
`CARD
`(75) Inventors: Scott Bates Guthery, Newton, MA
`(75)
`Inventors:
`Scott Bates Guthery, Newton, MA
`(US); Mary Joanne Kiernan Cronin,
`(US); Mary Joanne Kiernan Cronin,
`Newton, MA (US)
`Newton, MA (US)
`(73)
`Assignee:
`Mobile-Mind, Inc., Watertown, MA
`(73) Assignee: Mobile-Mind, Inc., Watertown, MA
`(US)
`(US)
`Subject to any disclaimer, the term of this
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`past l5SS. alusted under 35
`U.S.C. 154(b) by 286 days.
`a --
`y
`yS.
`(21)
`Appl. No.: 09/730,670
`(21) Appl. No.: 09/730,670
`(22) Filed:
`Dec. 6, 2000
`(22)
`Filed:
`Dec. 6, 2000
`(65)
`Prior Publication Data
`(65)
`Prior Publication Data
`US 2002/0066792 Al Jun. 6, 2002
`US 2002/0066792 A1 Jun. 6, 2002
`(51) Int. Cl." ................................................ G06K 19/06
`(51)
` GO6K 19/06
`Int. C1.7
`(52) U.S. Cl. ....................... 235/492; 235/375; 235/380;
`(52)
`U.S. Cl.
` 235/492; 235/375; 235/380;
`235/382; 361/737; 711/102; 711/103; 710/102;
`235/382; 361/737; 711/102; 711/103; 710/102;
`710/301
`710/301
`(58) Field of Search ................................. 235/492, 380,
`(58)
`Field of Search
` 235/492, 380,
`235/382, 486, 379; 361/737; 711/102, 103;
`235/382, 486, 379; 361/737; 711/102, 103;
`710/102,301
`710/102, 301
`
`(56)
`(56)
`
`EP
`EP
`EP
`EP
`EP
`EP
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`
`References Cited
`References Cited
`U.S. PATENT DOCUMENTS
`U.S. PATENT DOCUMENTS
`3,412,382. A 11/1968 Couleur et al.
`11/1968 Couleur et al.
`3,412,382 A
`3.825,904 A 7/1974 Burk et al.
`3,825,904 A
`7/1974 Burk et al.
` 364/200
`4,442,484 A
`4/1984 Childs, Jr. et al.
`4,442,484 A 4/1984 Childs, Jr. et al. .......... 364/200
`(List continued on next page.)
`(List continued on next page.)
`FOREIGN PATENT DOCUMENTS
`FOREIGN PATENT DOCUMENTS
`1179 780 A1
`2/2002
`1 179 780 Al
`2/2002
`1331 565 A1
`7/2002
`1 331 565 Al
`7/2002
`1331 565 A1
`7/2003
`1 331 565 Al
`7/2003
`WO 97/50063
`12/1997
`WO 97/50063
`12/1997
`WO 01/16707 A1
`1/2000
`WO 01/16707 Al
`1/2000
`WO 01/16759 Al
`1/2000
`WO 01/16759 A1
`1/2000
`WO 01/16865 A1
`1/2000
`WO 01/16865 Al
`1/2000
`
`WO
`WO
`WO
`WO
`
`1/2000
`WO 01/16873 Al
`1/2000
`WO 01/16873 A1
`1/2000
`WO 01/16874 Al
`1/2000
`WO 01/16874 A1
`(List continued on next page.)
`(List continued on next page.)
`OTHER PUBLICATIONS
`OTHER PUBLICATIONS
`“Part III-Application Section,” EMV '96 Integrated Cir
`"Part III —Application Section," EMV '96 Integrated Cir-
`cuit Card Specification for Payment Systems, Version 3.1.1,
`cuit Card Specification for Payment Systems, Version 3.1.1,
`May 31, 1998.
`May 31, 1998.
`International Standard, “Information technology -Identifi
`International Standard, "Information technology —Identifi-
`cation cards -Integrated circuit(s) with contacts -Part 4:
`cation cards —Integrated circuit(s) with contacts —Part 4:
`Interindustry commands for interchange," ISO/IEC 7816-4,
`issists commands for interchange.” ISO/IEC 7816–4,
`(1995).
`Global System for Mobile Communications, “Digital cellu
`Global System for Mobile Communications, "Digital cellu-
`lar telecommunications System (Phase 2+); Specification of
`lar telecommunications system (Phase 2+); Specification of
`the SIM Application Toolkit for the Subscriber Identity
`the SIM Application Toolkit for the Subscriber Identity
`Module -Mobile Equipment (SIM-ME) interface.” GSM
`Module —Mobile Equipment (SIM —ME) interface," GSM
`11.14 version 8.2.0, Release 1999.
`11.14 version 8.2.0, Release 1999.
`(List continued on next page.)
`(List continued on next page.)
`Primary Examiner Michael G. Lee
`Primary Examiner—Michael G. Lee
`ASSistant Examiner-Ahshik Kim
`Assistant Examiner Ahshik Kim
`(74) Attorney, Agent, or Firm-Gesmer Updegrove LLP
`(74) Attorney, Agent, or Firm—Gesmer Updegrove LLP
`(57)
`ABSTRACT
`(57)
`ABSTRACT
`A Smart card capable of having a plurality of applications
`A smart card capable of having a plurality of applications
`has a memory that is logically partitioned into a plurality of
`has a memory that is logically partitioned into a plurality of
`memory blocks. A control program allocates one or more
`memory blocks. A control program allocates one or more
`blocks to one of the applications, upon a declaration from
`blocks to one of the applications, upon a declaration from
`the application of its memory needs, and Schedules the
`the application of its memory needs, and schedules the
`applications for execution. Only those applications whose
`applications for execution. Only those applications whose
`memory needs have been satisfied are scheduled. The con-
`memory needs have been satisfied are Scheduled. The con
`trol program receives a permission request packet from a
`trol program receives a permission request packet from a
`host, addressed to an application, and passes the permission
`host, addressed to an application, and passes the permission
`request packet to the application. When the control program
`request packet to the application. When the control program
`receives a permission packet from the addressed application
`receives a permission packet from the addressed application
`after the addressed application has had its declared memory
`after the addressed application has had its declared memory
`needs Satisfied, the control program Sends the permission
`needs satisfied, the control program sends the permission
`packet to the host. A virtual machine is used to execute one
`packet to the host. A virtual machine is used to execute one
`or more of the applications. The control program commu-
`or more of the applications. The control program commu
`nicates with the virtual machine to control scheduling to
`nicates with the virtual machine to control Scheduling to
`predetermined time granularity. A Swapper Swaps data pages
`predetermined time granularity. A swapper swaps data pages
`between the Smart card's memory, i.e., primary Storage, and
`between the smart card's memory, i.e., primary storage, and
`Secondary Storage in a host.
`secondary storage in a host.
`
`7 Claims, 33 Drawing Sheets
`7 Claims, 33 Drawing Sheets
`
`HIW
`
`14
`
`RAM
`
`8
`ry
`ROM
`
`18
`EEPROM
`EEPROM
`
`20
`CPU
`
`1 1
`11
`11
`11
`11
`I I
`11
`i
`11
`11
`11 1,
`
`
`
`12
`
`24
`
`I/O
`
`SNV
`SW
`
`Applications
`Applications
`
`Appi
`AN241
`ark
`
`32
`— 32
`
`ao
`
`10
`—10
`
`A8Cit 5rdiNt4
`
`— 32
`
`ME Swapper
`Swapper
`Card
`Manager
`35
`anager
`34
`34
`
`Virtual
`Wirtual
`Machine
`Machine
`36
`38
`
`Ex.1005
` Page 1 of 44
`
`GARMIN /
`
`

`

`US 6,824,064 B2
`US 6,824,064 B2
`Page 2
`Page 2
`
`U.S. PATENT DOCUMENTS
`U.S. PATENT DOCUMENTS
`
`2/2003 Elabd
`6,526,462 B1
`2/2003 Elabd
`6,526,462 B1
`6,564,995 B1 * 5/2003 Montgomery ............... 235/379
` 235/379
`6,564,995 B1 * 5/2003 Montgomery
`2002/0095661 A1
`7/2002 Angel et al.
`2002/0095661 Al
`7/2002 Angel et al.
`2002/0099871 A1
`7/2002 Vargas et al. ............... 709/328
` 709/328
`2002/0099871 Al
`7/2002 Vargas et al.
`2003/0037089 A1
`2/2003 Cota-Robles et al.
`2003/0037089 Al
`2/2003 Cota-Robles et al.
`2003/0041244 A1
`2/2003 Buttyan et al.
`2003/0041244 Al
`2/2003 Buttyan et al.
`2003/0046365 A1
`3/2003 Pfister et al.
`2003/0046365 Al
`3/2003 Pfister et al.
`2003/0065676 A1
`4/2003 Gbadegesin et al.
`2003/0065676 Al
`4/2003 Gbadegesin et al.
`FOREIGN PATENT DOCUMENTS
`FOREIGN PATENT DOCUMENTS
`
`8/1987 Zave
`4,685,125 A
`4,685,125 A 8/1987 Zave
`370/89
`4,718,061 A
`1/1988 Turner
`4,718,061 A 1/1988 Turner ......................... 370/89
`4,774,659 A
`9/1988 Smith et al.
`364/200
`4,774,659 A 9/1988 Smith et al. ................ 364/200
`4,868,376 A
`9/1989 Lessin et al.
`4,868,376 A 9/1989 Lessin et al.
`364/200
`4,972,338 A
`11/1990 Crawford et al.
`4,972,338 A 11/1990 Crawford et al. ........... 364/200
`5,204,965 A 4/1993 Guthery et al. ............. 395/800
`5,204,965 A
`4/1993 Guthery et al.
`395/800
`5,613,073. A 3/1997 Hammond, Jr. et al. ... 395/250
`5,613,073 A
`3/1997 Hammond, Jr. et al.
`395/250
`5,729,717 A * 3/1998 Tamada et al. ............. 395/491
`5,729,717 A * 3/1998 Tamada et al.
`395/491
`5,860,083 A * 1/1999 Sukegawa ......
`... 711/103
`5,860,083 A * 1/1999 Sukegawa
`711/103
`2/2000
`WO 00/07153
`2/2000
`WO OO/07153
`5,912,453 A * 6/1999 Gungl et al. ................ 235/492
`5,912,453 A * 6/1999 Gungl et al.
`235/492
`8/2000
`WO 00/46709
`8/2000
`WO OO/46709
`5,923,884. A
`7/1999 Peyret et al. ............... 395/712
`5,923,884 A
`7/1999 Peyret et al.
`395/712
`9/2000
`WO 00/56030
`9/2000
`WO OO/56030
`5,969,318 A 10/1999 Mackenthun ............... 235/380
`5,969,318 A
`10/1999 Mackenthun
`235/380
`1/2002
`WO 02/08897 Al
`1/2002
`WO O2/O8897 A1
`6,003,134. A 12/1999 Kuo et al.
`6,003,134 A
`12/1999 Kuo et al.
`2/2002
`WO 02/10889 A2
`WO 02/10889 A2 2/2002
`6,005,942 A 12/1999 Chan et al. ................... 380/25
`380/25
`6,005,942 A
`12/1999 Chan et al.
`WO 02/10918 Al
`2/2002
`WO 02/10918 A1
`2/2002
`6,029,892 A * 2/2000 Miyake ......
`235/380
`6,029,892 A * 2/2000 Miyake
`235/380
`WO 02/25976 Al
`3/2002
`WO O2/25976 A1
`3/2002
`6,032,137 A
`2/2000 Ballard ........................ 705/7s
`6,032,137 A * 2/2000 Ballard
`705/75
`WO 02/056174 A2
`7/2002
`WO O2/O56174 A2
`7/2002
`6,038,551 A
`3/2000 Barlow et al. ................ 705/41
`6,038,551 A
`3/2000 Barlow et al.
`705/41
`WO 03/007105 A2
`1/2003
`WO 03/007 105 A2
`1/2003
`6,052,690 A
`4/2000 de Jong ...................... 707/101
`6,052,690 A
`4/2000 de Jong
`707/101
`WO 03/017125 Al
`2/2003
`WO 03/017125 A1
`2/2003
`6,081.665 A 6/2000 Nilsen et al.
`6,081,665 A
`6/2000 Nilsen et al.
`6,095,412 A
`8/2000 Bertina et al. .............. 235/380
`235/380
`6,095,412 A * 8/2000 Bertina et al.
`OTHER PUBLICATIONS
`OTHER PUBLICATIONS
`6,145,080 A 11/2000 Hanel ......................... 713/200
`6,145,080 A * 11/2000 Hanel
`713/200
`6,186,677 B1
`2/2001 Angel et al.
`Guthery, S., Self Timing Programs and the Quantum Sched
`6,186,677 B1
`2/2001 Angel et al.
`Guthery, S., Self—Timing Programs and the Quantum Sched-
`212 B: 2. Thirie- 711/11s
`uler, Communications of the ACM, Jun. 1988.
`711/115
`6,216,204 B1 * 4/2001 Thiriet
`
`uler, Communications of the ACM, Jun. 1988.
`235/380
`6,220,510 B1 * 4/2001 Everett et al.
`Guthery, Scott B.; “Planned Preemption Scheduling of
`... 235/380
`6,220,510 B1
`4/2001 Everett et al. ....
`Guthery, Scott B.; "Planned Preemption Scheduling of
`ss
`6,250,557 B1 * 6/2001 Forslund et al. ............ 235/492
`235/492
`6,250,557 B1 * 6/2001 Forslund et al.
`6.256,690 B1 * 7/2001 Carper ....................... 7.
`Light-Weight Processes in a Time-Shared Environment.
`Light—Weight Processes in a Time—Shared Environment."
`6,256,690 B1 * 7/2001 Carper
`710/102
`Abstracts Of The IEEE Computer Society - Third Work
`6,273,335 B1 * 8/2001 Sloan ............
`235/382
`Abstracts Of The IEEE Computer Society —Third Work-
`6,273,335 B1 * 8/2001 Sloan
`235/382
`6,296,191 B1 10/2001 Hamann et al. ............ 235,492
`shop On Real-Time Operating Systems, Boston, Massachu
`shop On Real—Time Operating Systems, Boston, Massachu-
`6,296,191 B1 * 10/2001 Hamann et al.
`235/492
`setts; IEEE Computer Society, Feb. 28, 1986.
`6,317.832 B1 * 11/2001 Everett et al. .............. 713/372
`setts; IEEE Computer Society, Feb. 28, 1986.
`6,317,832 B1 * 11/2001 Everett et al.
`713/372
`Hypponen, Konstantin et al.; “Trading-Off Type-Inference
`6,374,286 B1
`4/2002 Gee et al.
`Hypponen, Konstantin et al.; "Trading—Off Type—Inference
`6,374,286 B1
`4/2002 Gee et al.
`Memory Complexity Against Communication.” The Fifth
`6,390,374 B1
`5/2002 Carper et al. ............... 235/492
`235/492 Memory Complexity Against Communication." The Fifth
`6,390,374 B1
`5/2002 Carper et al.
`7/2002 Wichmann .................. 455/558
`International Conference on Information and Communica
`6,415,160 B1
`6,415,160 B1
`7/2002 Wichmann
`455/558
`International Conference on Information and Communica-
`6,438,573 B1
`8/2002 Nilsen
`tion Security, Huhhot, Mongolia, Oct. 2003.
`6,438,573 B1
`8/2002 Nilsen
`tion Security, Huhhot, Mongolia, Oct. 2003.
`6,480,935 B1 * 11/2002 Carper et al. ............... 711/115
`711/115
`6,480,935 B1 * 11/2002 Carper et al.
`6,510.498 B1
`1/2003 Holzle et al.
`* cited by examiner
`6,510,498 B1
`1/2003 Holzle et al.
`* cited by examiner
`
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`
`
`
`Ex.1005
` Page 2 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`U.S. Patent
`
`Nov.30, 2004
`Nov. 30, 2004
`
`Sheet 1 of 33
`Sheet 1 of 33
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`2
`
`4
`
`
`
`6
`
`CI
`
` •
`
`8
`
`CI
`
`1
`
`II=Pd\
`
`FIG. 1
`F.G. 1
`
`10
`
`Ex.1005
` Page 3 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`U.S. Patent
`
`Nov.30, 2004
`Nov. 30, 2004
`
`Sheet 2 of 33
`Sheet 2 of 33
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`
`
`12
`
`H/W
`AW
`
`14
`
`RAM
`
`16
`
`ROM
`
`22-
`
`18
`18
`EEPROM
`EEPROM
`
`20
`CPU
`
`24
`
`I/O
`
`S/W
`W S
`
`Applications
`
`30
`
`— 10
`
`App #1
`Bank
`
`1— 32
`
`App #N
`Credit — 32
`Card
`
`Swapper
`35
`
`Card
`Manager
`34
`
`Virtual
`Virtual
`Machine
`Machine
`36
`
`FIG. 2
`F.G. 2
`
`Ex.1005
` Page 4 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`U.S. Patent
`
`Nov.30, 2004
`Nov. 30, 2004
`
`Sheet 3 of 33
`Sheet 3 of 33
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`
`
`RAM
`
`14
`
`BUFFER
`BUFFER
`1—
`40
`a
`3.
`
`BUFFER
`BUFFER
`b
`b
`
`40
`
`•
`
`•
`
`•
`
`BUFFER
`k
`
`BUFFER
`
`1----
`40
`
`FIG. 3
`FIG. 3
`
`Ex.1005
` Page 5 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`U.S. Patent
`
`Nov.30, 2004
`Nov. 30, 2004
`
`Sheet 4 of 33
`Sheet 4 of 33
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`App #1
`
`32
`
`App #2
`
`32
`
`App #N
`
`32
`
`
`
`30
`
`Application
`Application
`Loader
`Loader
`42
`42
`
`Directory
`Directory
`
`44
`
`Virtual
`Machine
`
`36
`
`Swapper
`Swapper
`35
`35
`
`I/O
`Driver
`
`38
`
`Card
`Card
`Manager
`Manager
`34
`34
`
`FG. 4
`FIG. 4
`
`Ex.1005
` Page 6 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`U.S. Patent
`
`Nov.30, 2004
`Nov. 30, 2004
`
`Sheet 5 of 33
`Sheet 5 of 33
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`Byte 1
`Byte 1
`
`Application ID
`Application ID
`
`52
`52
`
` 'Mk
`
`
`
`54
`54
`
`Last
`Last
`Packet
`Packet
`
`Byte 2
`Byte 2
`
`Packet TVOe
`Packet Type
`yo
`
`56
`56
`
`Byte 3
`Byte 3
`
`Data
`Data
`
`58
`58
`
`Packet
`Packet
`50
`5O
`
`Byte 16
`Byte 16
`
`Data
`Data
`
`58
`58
`
`F.G. 5
`FIG. 5
`
`Ex.1005
` Page 7 of 44
`
`GARMIN /
`
`

`

`Waled *S11
`U.S. Patent
`
`Nov.30, 2004
`1700Z `0£ 'AIN
`
`Sheet 6 of 33
`££ JO 9 13311S
`
`to 179017Z8`9 Sa
`US 6,824,064 B2
`
`
`
` 4
`
`•
`
`•
`
`•
`
`54
`(
`0
`
`FIG. 6
`
`CO
`CD
`-
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`54
`
`1
`
`A
`
`
`
`A
`
`Packet #1
`
`S.
`9d
`CD
`(s
`l
`
`50-1
`
`A
`
`59
`
`S3
`
`
`
`
`
`Packet #J
`
`s
`9. Cl
`
`50-J
`
`c
`O
`
`Ex.1005
` Page 8 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`U.S. Patent
`
`Nov.30, 2004
`Nov. 30, 2004
`
`Sheet 7 of 33
`Sheet 7 of 33
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`Application Index
`Application Index
`
`62
`62
`
`Packet Type:
`54 Apia, Sid 64
`64
`54
`Application ID (AID)
`
`AlD Length
`AID Length
`
`66
`66
`
`-,
`
`„
`
`,
`
`68 > 60
`68
`60
`
`99
`99
`
`AID
`AD
`
`AID
`AID
`
`Filler
`
`Filler
`Filer
`
`FIG. 7
`FIG 7
`
`Ex.1005
` Page 9 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`U.S. Patent
`
`Nov.30, 2004
`Nov. 30, 2004
`
`Sheet 8 of 33
`Sheet 8 of 33
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`0
`
`72
`
`54
`54
`
`Packet Type:
`Packet Type:
`Request to send
`Request to send
`
`74
`74
`
`1st Application Index
`1st Application Index
`
`76
`76
`
`•
`
`Last Application Index
`
`70
`
`0
`25
`
`78
`78
`
`Filler
`
`99
`99
`
`Filler
`
`FIG. 8
`
`Ex.1005
` Page 10 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`U.S. Patent
`
`Nov.30, 2004
`Nov. 30, 2004
`
`Sheet 9 of 33
`Sheet 9 of 33
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`Application index
`Application Index
`
`82
`82
`
`54
`
`Packet Type:
`Packet Type:
`Permission to send
`Permission to send
`
`84
`84
`
`80
`80
`
`> 99
`99
`
`Filler
`
`•
`
`Filler
`Filer
`
`FIG. 9
`FIG. 9
`
`Ex.1005
` Page 11 of 44
`
`GARMIN /
`
`

`

`Poled *S11.
`U.S. Patent
`
`Nov.30, 2004
`
`££ Jo OI lamIS
`Sheet 10 of 33
`
`Zff 179017Z8`9 Sa US 6,824,064 B2
`
`112
`
`FIG. 10
`
`Card Manager Processes
`
`
`
`Z || ||Sass300.Jd Je6eue.W pueO
`
`
`
`
`
`Packet
`
`Processing Phase
`
`120—
`
`110 — Application Moves Packet to its
`
`RAM Processing Buffer
`
`Activate Addressed
`
`Application
`
`yes
`
`Permission-To-Send to this
`
`Address Outstanding
`
`no
`
`108 —
`
`106
`
`no
`
`yes
`
`Address 0?
`
`104 —
`
`Receive Packet from Host
`
`102 —
`
`Input Phase
`
`100 —
`
`
`
`
`
`Ex.1005
` Page 12 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`U.S. Patent
`
`Nov.30, 2004
`Nov. 30, 2004
`
`Sheet 11 of 33
`Sheet 11 of 33
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`120
`12O
`
`
`
`122
`122
`
`
`
`124
`124 ---
`
`
`
`
`
`126
`126
`
`
`
`
`
`128
`128
`
`Processing Phase
`Processing Phase
`
`Determine Amount of Time
`Determine Amount of Time
`Available for Processing Phase
`Available for Processing Phase
`
`Select an Application
`Select an Application
`
`Activate Application for a
`Activate Application for a
`Determined Number of Steps
`Determined Number of Steps
`
`
`
`
`
`
`
`Processing Time
`Processing Time
`Remaining?
`Remaining?
`
`no
`O
`
`yes
`
`130 -
`
`130
`
`Output Phase
`
`Output Phase
`
`FIG. 11
`F.G. 11
`
`Ex.1005
` Page 13 of 44
`
`GARMIN /
`
`

`

`Zff 179017Z8`9 Sa US 6,824,064 B2
`
`££ Jo Z1 laNS
`
`sP
`C.i4
`
`?
`
`Poled •S•11
`U.S. Patent
`
`F 100
`
`Input Phase
`
`
`
`
`
`FIG. 12
`
`Packets Remaining
`Decrement Number of
`
`Return Outgoing Packet to
`
`Host
`
`o.
`
`none
`
`Set Continuation Bit in
`
`Outgoing Packet
`
`more than one
`
`Remaining to be Returned to Host
`
`Determine Number of Packets
`
`138—
`
`136
`
`134
`
`132
`
`one
`
`Output Phase
`
`130 —
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Ex.1005
` Page 14 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`Pined *S11
`
`1700Z `0£ 'AIN
`
`££ Jo CI laNS
`
`Zff 179017Z8`9 Sf1 US 6,824,064 B2
`
`FIG. 13
`
`End Application Processing
`
`—170
`
`—168
`
`
`
`—166
`
`Output Packet
`Mark Buffer as
`
`Place Permission-To-Send
`
`Packet in Buffer
`
`t
`
`Acquire Buffer
`
`Mark Output Buffer as
`
`Output Packet
`
`yes
`
`Output Generated?
`
`Perform Application
`
`Processing
`
`164
`
`162—
`no
`
`158—
`
`Buffer if Awaiting Input
`Transfer Packet to Input
`
`154 —
`
`* no
`
`yes
`
`Need Buffer?
`
`152
`
`t
`
`Start Application Processing
`
`150
`
`
`
`
`
`
`
`
`
`
`
`Ex.1005
` Page 15 of 44
`
`GARMIN /
`
`

`

`Poled *S11.
`
`££ Jo 17i lamIS
`
`Zff 179017Z8`9 Sfl
`
`FIG. 14A
`
`Output PTS to M 214
`
`Ask for 2 Buffers 208
`
`Output M's PTS Packet 216
`
`A
`
`Provide Buffers d,e 212
`
`Monitor Buffer Availability for M 210
`
`-11 Activate M with RTS 206
`
`Receive RTS in Buffer a 204
`
`Application M
`
`Card Manager
`
`H
`
`Host
`
`Send RTS to M 202
`
`200 One Application - Single Packet Request/Single Packet Response
`
`FIG. 14
`
`FIG. 146
`
`FIG. 14A
`
`Ex.1005
` Page 16 of 44
`
`GARMIN /
`
`

`

`Juaied 'Ka
`
`cc Jo Si 13311S
`
`Zff 179017Z8`9 Sa
`
`FIG. 14B
`
`Receive Response from M 246
`
`Free Buffers d, e 242
`
`Copy Buffer e to Buffer b 240
`
`Output Response in e 238
`
`Run j Steps 234
`
`Run j Steps 230
`
`Activate M for j Steps 236
`
`Activate M for j Steps 232
`
`Activate M for j Steps 228
`
`Copy Buffer b to Buffer d 226
`
`Output Buffer b 244
`
`j
`
`-161 Pass Buffer b to M 224
`
`Receive Message in Buffer b 222
`
`Send Message to M 220
`
`A
`
`Receive M's PTS 218
`
`Ex.1005
` Page 17 of 44
`
`GARMIN /
`
`

`

`Waled *S11
`U.S. Patent
`
`1700Z `0£ 'AIN
`
`££ JO 91 laNS
`
`to 179017Z8`9 Sa US 6,824,064 B2
`
`) M: Output PTS to M 314
`
`•
`
`FIG. 15A
`
`M: Ask for 2 Buffers 308
`
`-111 Provide Buffers d,e to M 312
`
`Monitor Buffer Availability for M 310
`
`Activate M with RTS 306
`
`Receive RTS in Buffer a 304
`
`Applications M & N
`
`Card Manager
`
`II
`
`Send RTS to M 302
`Host
`
`FIG. 15D
`
`FIG. 15C
`
`FIG. 15B
`
`
`
`FIG. 15A
`
`FIG. 15
`
`Two Applications - Single Packet Request/Single Packet Response
`
`300
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Ex.1005
` Page 18 of 44
`
`GARMIN /
`
`

`

`Waled *ST1
`
`££ JO LT WINS
`
`Zff 179017Z8`9 Sa
`
`Provide Buffers f,g to N 342
`
`FIG. 15B
`
`M: Run j Steps 340
`
`M: Copy Buffer b to Buffer d 336
`
`Activate M for j Steps 338
`
`Pass Buffer b to M 334
`
`Receive Message in Buffer b 332
`
`Send Message to M 330
`
`N: Ask for 2 Buffers 326
`
`Monitor Buffer Availability for N 328
`
`Th.61 Activate N with RTS 324
`
`Receive RTS in Buffer a 322
`
`Send RTS to N 320
`
`Receive M's PTS 318
`
`Output M's PTS Packet 316
`
`A
`
`Ex.1005
` Page 19 of 44
`
`GARMIN /
`
`

`

`Poled •S•11
`
`£C Jo XI PaliS
`
`Zff 179017Z8`9 Sa
`
`M: Output Response in e 368
`
`N: Run j Steps 364
`
`N: Copy Buffer a to Buffer f 360
`
`M: Run j Steps 356
`
`Copy e to b 370
`
`C
`
`FIG. 15C
`
`Activate M for j Steps 366
`
`Activate N for j Steps 362
`
`Pass Buffer a to N 358
`
`-11 Activate M for j Steps 354
`
`Receive Message in Buffer a 352
`
`N: Output PTS to N 344
`
`B
`
`Output N's PTS Packet 346
`
`Send Message to N 350
`
`Receive N's PTS 348
`
`Ex.1005
` Page 20 of 44
`
`GARMIN /
`
`

`

`Zff 179017Z8`9 Sf1
`
`££ Jo 61 lamIS
`
`4.
`0
`0
`IN
`:=
`C.04
`'.
`
`Poled *S'fl.
`
`FIG. 16
`
`FIG. 16B
`
`FIG. 16A
`
`FIG. 15D
`
`Output Buffer b 386
`
`Free Buffers f, g 384
`
`i
`
`Copy g to b 382
`
`J
`
`Receive Response from N 388
`
`N: Output Response in g 380
`
`Activate N for j Steps 378
`
`Receive Response from M 376
`
`Free Buffers d, e 374
`
`Output Buffer b 372
`
`C
`
`Ex.1005
` Page 21 of 44
`
`GARMIN /
`
`

`

`Poied •S•11
`
`1700Z'oc•Aom
`
`££ Jo OZ laNS
`
`Zff 179017Z8`9 Sfl
`
`FIG. 16A
`
`A
`
`Receive Message in Buffer b 422
`
`Send Message to M 420
`
`Receive M's PTS 418
`
`Output PTS to M 414
`
`Ask for 2 Buffers 408
`
`Output M's PTS Packet 416
`
`Provide Buffers d,e 412 L,L,
`
`Monitor Buffer Availability for M 410
`
`IActivate M with Request 406
`
`Receive RTS in Buffer a 404
`
`Application M
`
`Card Manager
`
`H
`
`Send RTS to M 402
`
`Host
`
`One Application - Single Packet Request/Multi-Packet Response
`
`400
`
`Ex.1005
` Page 22 of 44
`
`GARMIN /
`
`

`

`ivalud *S*11.
`
`££ Jo 1Z 13311S
`
`Zff 179017Z8`9 Sf1
`
`FIG. 16B
`
`Free Buffers d, e 452
`
`Output Response Packet 448
`
`Receive Response from M 450
`
`Output Response in e 446
`
`(..e.,
`
`Activate M for j Steps 444
`
`Receive Response from M 442
`
`Output Buffer d 440
`
`Output Response in d 438
`
`Run j Steps 434
`
`Run j Steps 430
`
`Activate M for j Steps 436
`
`Activate M for j Steps 432
`
`Activate M for j Steps 428
`
`Copy Buffer b to Buffer d 426
`
`Pass Buffer b to M 424
`
`A
`
`Ex.1005
` Page 23 of 44
`
`GARMIN /
`
`

`

`Waled *S11
`U.S. Patent
`
`££ Jo ZZ laNS
`
`Zff 179017Z8`9 Sfl US 6,824,064 B2
`
`Output PTS to M 816
`
`A
`
`FIG. 17A
`
`Output PTS to M 814
`
`Ask for 2 Buffers 808
`
`Provide Buffers d,e 812 Lik.
`
`Monitor Buffer Availability for M 810
`
`--*1 Activate M with RTS 806
`
`Receive RTS in Buffer a 804
`
`LI
`
`RTS to M 802
`
`FIG. 7
`1
`
`FIG. 17C
`
`FIG. 17B
`
`FIG. 17A
`
`Application M
`
`Card Manager
`
`Host
`
`Entire message received before processing
`
`800 One Application - Multi-Packet Request/Multi-Packet Response
`
`
`
`
`
`
`
`Ex.1005
` Page 24 of 44
`
`GARMIN /
`
`

`

`Waled *ST1
`
`CC Jo £Z 13311S
`
`Zff 179017Z8`9 Sa
`
`Copy Buffer b to Buffer e 840 I
`
`o
`
`Pass Buffer b to M 838
`
`Receive Data in Buffer b 836
`
`I
`
`Output PTS to M 830
`
`FIG. 17B
`
`Send Part 2 of Message to M
`834
`
`Receive M's PTS 832
`
`Output PTS to M 828
`
`Copy Buffer b to Buffer d 826
`
`Pass Buffer b to M 824
`
`Receive Data in Buffer b 822
`
`I
`
`Send Part 1 of Message to M
`820
`
`Receive M's PTS 818
`
`A
`
`Ex.1005
` Page 25 of 44
`
`GARMIN /
`
`

`

`Juaied 'Ka
`
`££ Jo 17Z laNS
`
`Zff 179017Z8`9 Sfl
`
`FIG. 17C
`
`Free Buffers d, e 896
`
`Output Response Packet 892
`
`Receive Response from M 894
`
`Output Response in e 890
`
`Activate M for j Steps 888
`
`1
`
`Response Packet 884
`
`Output Response
`
`Receive Response from M 886
`
`Output Response in d 882
`
`Run j Steps 848
`
`Run j Steps 844
`
`Activate M for j Steps 880
`
`Activate M for j Steps 846
`
`0 Activate M for j Steps 842
`
`Ex.1005
` Page 26 of 44
`
`GARMIN /
`
`

`

`Pined •S•11
`
`££ Jo SZ 13311S
`
`Zff 179017Z8`9 Sa
`
`Activate M with RTS 906
`
`Receive RTS in Buffer a 904
`
`Application M
`
`Card Manager
`
`Message parts processed as they are received
`
`FIG. 18A
`
`H
`
`Send RTS to M 902
`
`Host
`
`900 One Application - Multi-Packet Request/Multi-Packet Response
`
`FIG. 18D
`
`FIG. 18C
`
`FIG. 186
`
`FIG. 18A
`
`FIG. 18
`
`Ex.1005
` Page 27 of 44
`
`GARMIN /
`
`

`

`Waled *S11
`
`££ JO 9Z laNS
`
`Zff 179017Z8`9 Sfl
`
`Copy Buffer b to Buffer d 926
`
`Activate M for j Steps 928
`
`Pass Buffer b to M 924 La
`
`FIG. 18B
`
`Receive Data in Buffer b 922
`
`ti
`
`Send Part 1 of Message to M
`920
`
`Receive M's PTS 918
`
`Output PTS to M 914
`
`Output PTS to M 916
`
`Provide Buffer d 912
`
`Monitor Buffer Availability for M 910
`
`Ask for 1 Buffer 908
`
`A
`
`Ex.1005
` Page 28 of 44
`
`GARMIN /
`
`

`

`Waled *S11
`
`££ JO LZ WINS
`
`Zff 179017Z8`9 Sfl
`
`C
`
`Run j Steps 950
`
`Copy Buffer b to Buffer d 946
`
`Activate M for j Steps 948
`
`Pass Buffer b to M 944
`
`FIG. 18C
`
`Receive Data in Buffer b 942
`
`Output PTS to M 936
`
`Send Part 2 of Message to M
`940
`
`Receive M's PTS 9381
`
`Output PTS to M 934
`
`Activate M for j Steps 932
`
`Run j Steps 930
`
`B
`
`Ex.1005
` Page 29 of 44
`
`GARMIN /
`
`

`

`ivalud *S*11.
`U.S. Patent
`
`Nov.30, 2004
`
`cc Jo xz 13311S
`Sheet 28 0f 33
`
`Zff 179017Z8`9 Sa US 6,824,064 B2
`
`Free Buffer d 972
`
`Output Response Packet 968
`
`FIG. 18D
`
`Receive Response from M 970
`
`Output Response in d 966
`
`Activate M for j Steps 964
`
`Receive Response from M 962
`
`Output Response Packet 960
`
`
`
`
`
`
`
`096 1940ed ºsuodsay, Indino
`
`Output Response in d 958
`
`Run j Steps 954
`
`Activate M for j Steps 956
`
`Activate M for j Steps 952
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Ex.1005
` Page 30 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`U.S. Patent
`
`Nov.30, 2004
`Nov. 30, 2004
`
`Sheet 29 of 33
`Sheet 29 of 33
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`Application Index
`Application Index
`
`502
`502
`
`54
`
`Packet type:
`Packet type:
`SWAP
`
`504
`
`Secondary index of requested 506
`Secondary index of requested 506
`incoming page
`Incoming page
`m
`
`Primary index of
`Primary index of
`CE page
`outgoing page
`
`508
`508
`
`Outgoing page data
`Outgoing page data
`
`510
`510
`
`500
`500
`
`Outgoing page data
`Outgoing page data
`
`510
`510
`
`99 <
`99
`
`Filler
`
`•
`
`p
`
`Filler
`Filer
`
`FIG. 19
`FIG. 19
`
`Ex.1005
` Page 31 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`U.S. Patent
`
`Nov.30, 2004
`Nov. 30, 2004
`
`Sheet 30 0f 33
`Sheet 30 of 33
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`Application Index
`Application Index
`
`522
`522
`
`54
`
`Packet type:
`Packet type:
`TERMERSEoNSE 524
`TERMINAL RESPONSE
`
`524
`
`Secondary index of
`Secondary index of
`Outgoing page
`outgoing page
`
`Primary index of
`Primary index of
`incoming page
`Incoming page
`
`526
`526
`
`28
`528
`aaaaaaaa
`
`Incoming page data
`Incoming page data
`
`530
`530
`
`0.
`
`> 520
`52O
`
`Incoming page data
`Incoming page data
`
`530
`530
`
`99
`99 <
`
`,
`
`Filler
`
`•
`
`Filler
`
`FIG. 20
`FIG. 20
`
`..
`
`Ex.1005
` Page 32 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`U.S. Patent
`
`Nov.30, 2004
`Nov. 30, 2004
`
`Sheet 31 of 33
`Sheet 31 of 33
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`
`
`
`
`Secondary Index
`602
`
`Swap Table 600
`Swap Table 600
`Application Identification
`604
`
`145
`0
`0
`
`8
`2
`5
`
`FIG. 21
`FIG 21
`
`Primary Index
`Primary Index
`606
`606
`4
`7
`4
`
`Secondary Index
`602
`
`0
`0
`337
`
`Swap Table 600
`Swap Table 600
`Application Identification
`604
`
`W.
`
`8
`2
`5
`
`FIG. 24
`
`Primary Index
`606
`
`4
`7
`4
`
`O
`
`Swap Table 700
`Swap Table 700
`Secondary Index Application identification Primary Index RAM Location
`Secondary Index
`Application Identification
`RAM Location
`Primary Index
`702
`704
`706
`708
`702
`704
`7O6
`708
`0
`4
`6
`8
`0
`2
`7
`2
`2
`0
`7
`2
`5
`4
`o
`337
`5
`4
`0
`FIG. 25
`
`PPPFPPR
`
`
`
`
`
`Ex.1005
` Page 33 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`U.S. Patent
`
`Nov.30, 2004
`Nov. 30, 2004
`
`Sheet 32 0f 33
`Sheet 32 of 33
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`Application Index
`Application Index
`
`502
`502
`
`54
`
`Packet type:
`Packet type:
`SWAP
`
`504
`
`145
`145
`
`506
`506
`
`4
`4
`
`508
`508
`
`Data for AD 5
`Data for AID 5
`
`510
`510
`
`500
`500
`
`•
`
`•
`
`•
`
`Data for AID 5
`Data for AD 5
`
`510
`510
`
`99
`99 <
`
`s..
`
`Filler
`
`•
`
`Filler
`
`FIG. 22
`FIG. 22
`
`Ex.1005
` Page 34 of 44
`
`GARMIN /
`
`

`

`U.S. Patent
`U.S. Patent
`
`Nov.30, 2004
`Nov. 30, 2004
`
`Sheet 33 of 33
`Sheet 33 of 33
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`Application index
`Application Index
`
`522
`522
`
`54
`
`Packet type:
`Packet type:
`TERMSR2SEoNSE 524
`TERMINAL RESPONSE
`
`524
`
`337
`337
`
`526
`526
`
`4
`
`528
`
`Data for AD 8
`Data for AID 8
`
`530
`530
`
`520
`> 520
`
`Data for AID 8
`Data for AD 8
`
`530
`530
`
`99 <
`99
`
`Filler
`
`e
`
`Filler
`
`FIG. 23
`FIG. 23
`
`..,
`
`Ex.1005
` Page 35 of 44
`
`GARMIN /
`
`

`

`15
`15
`
`40
`40
`
`US 6,824,064 B2
`US 6,824,064 B2
`
`1
`1
`CONCURRENT COMMUNICATION WITH
`CONCURRENT COMMUNICATION WITH
`MULTIPLE APPLICATIONS ON A SMART
`MULTIPLE APPLICATIONS ON A SMART
`CARD
`CARD
`
`2
`2
`by reference in its entirety, one finds the concept of a method
`by reference in its entirety, one finds the concept of a method
`whereby a Smart card and in particular a Subscriber identity
`whereby a smart card and in particular a subscriber identity
`module (SIM) chip in a GSM mobile telephone can request
`module (SIM) chip in a GSM mobile telephone can request
`Services from the handset. The Smart card can, in the process
`services from the handset. The smart card can, in the process
`of responding to an APDU, Stimulate the terminal to issue a
`5 of responding to an APDU, stimulate the terminal to issue a
`FETCHAPDU. The FETCHAPDU provides the smart card
`BACKGROUND OF THE INVENTION
`BACKGROUND OF THE INVENTION
`FETCH APDU. The FETCH APDU provides the smart card
`with the ability to send a command to the terminal for
`with the ability to send a command to the terminal for
`Smart cards are Small, tamper resistant plastic cards that
`Smart cards are small, tamper resistant plastic cards that
`execution. After the terminal has executed this command,
`execution. After the terminal has executed this command,
`contain in them a central processing unit (CPU) and Sup
`contain in them a central processing unit (CPU) and sup-
`the terminal returns the result of the execution to the Smart
`the terminal returns the result of the execution to the smart
`porting hardware. They can be used, for example, as Smart
`porting hardware. They can be used, for example, as smart
`card using a TERMINAL RESPONSE APDU. In a mobile
`10 card using a TERMINAL RESPONSE APDU. In a mobile
`credit cards, or employee badges, or for thousands of other
`credit cards, or employee badges, or for thousands of other
`telephone application, for example, the FETCH and TER
`telephone application, for example, the FETCH and TER-
`uses, by having different application programs on board.
`uses, by having different application programs on board.
`MINAL RESPONSE APDUs are used to give commands to
`MINAL RESPONSE APDUs are used to give commands to
`In the international Smart card standard ISO/IEC 7816-4,
`In the international smart card standard ISO/IEC 7816-4,
`the handset, Such as a command to display a message or to
`the handset, such as a command to display a message or to
`incorporated herein by reference in its entirety, one finds the
`incorporated herein by reference in its entirety, one finds the
`retrieve a keypad hit from the subscriber.
`retrieve a keypad hit from the subscriber.
`concept of up to four logically independent communication
`concept of up to four logically independent communication
`In addition, in a general technique known as data caching,
`In addition, in a general technique known as data caching,
`channels with a Smart card. The State each of these channels
`channels with a smart card. The state each of these channels
`data currently being used by a processor is Stored in a
`data currently being used by a processor is stored in a
`is kept Separate from the State of each of the others. Thus, for
`is kept separate from the state of each of the others. Thus, for
`manner that enables the processor to access it more quickly
`manner that enables the processor to access it more quickly
`example, the current file on one channel may be different
`example, the current file on one channel may be different
`than when it resides in its assigned Storage location. For
`than when it resides in its assigned storage location. For
`from the current file on another channel. A command Sent to
`from the current file on another channel. A command sent to
`example, a microprocessor chip may cache the instructions
`example, a microprocessor chip may cache the instructions
`the card on one channel must be completed before a com
`the card on one channel must be completed before a com-
`it executes in high-speed cache memory rather than retur

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket