`US009059969B2
`
`c12) United States Patent
`McNulty
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`US 9,059,969 B2
`*Jun. 16, 2015
`
`(54) APPARATUS, METHOD AND SYSTEM FORA
`TUNNELING CLIENT ACCESS POINT
`
`(71) Applicant: Scott McNulty, Rowayton, CT (US)
`
`(72)
`
`Inventor: Scott McNulty, Rowayton, CT (US)
`
`(58) Field of Classification Search
`CPC ............ H04L 2209/56; H04L 2209/76; H04L
`2209/80; H04L 63/0272; H04L 63/0428;
`H04L 67/04; H04L 9/3226; H04L 9/3247
`USPC .................... 709/203, 250; 713/150; 711/115
`See application file for complete search history.
`
`( *) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 18 days.
`
`This patent is subject to a terminal dis(cid:173)
`claimer.
`
`(21) Appl. No.: 13/960,514
`
`(22) Filed:
`
`Aug. 6, 2013
`
`(65)
`
`Prior Publication Data
`
`US 2014/0172958 Al
`
`Jun. 19, 2014
`
`(63)
`
`(51)
`
`(52)
`
`Related U.S. Application Data
`
`Continuation of application No. 12/950,321, filed on
`Nov. 19, 2010, now Pat. No. 8,539,047, which is a
`continuation of application No. 10/807,731, filed on
`Mar. 23, 2004, now Pat. No. 7,861,006.
`
`(2006.01)
`(2006.01)
`(2006.01)
`(2006.01)
`(2006.01)
`(2006.01)
`
`Int. Cl.
`G06F 15116
`G06F 151177
`H04L29/08
`H04L 9132
`G06F 13/00
`H04L29/06
`U.S. Cl.
`CPC ............ H04L 67104 (2013.01); H04L 6310272
`(2013.01); H04L 63/0428 (2013.01); H04L
`913226 (2013.01); H04L 913247 (2013.01);
`H04L 2209/56 (2013.01); H04L 2209/76
`(2013.01); H04L 2209/80 (2013.01)
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,960,085 A
`6,098,097 A *
`6,134,662 A *
`6,199,108 Bl*
`6,547,130 Bl
`6,763,399 B2 *
`6,799,077 Bl *
`6,928,463 Bl *
`7,051,157 B2 *
`
`9/1999 de la Huerga
`8/2000 Dean et al. .................... 709/220
`10/2000 Levy et al. ...................... 726/11
`3/2001 Casey et al. ................... 709/220
`4/2003 Shen
`7/2004 Margalit et al. ................. 710/13
`9/2004 Hauet ............................... 700/2
`8/2005 Tene et al. ..................... 709/203
`5/2006 James ........................... 711/115
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`1/2002
`1168137
`Primary Examiner - Alina N Boutah
`(74) Attorney, Agent, or Firm - Locke Lord LLP
`
`ABSTRACT
`(57)
`The disclosure details the implementation of a tunneling cli(cid:173)
`ent access point (TCAP) that is a highly secure, portable,
`power efficient storage and data processing device. The
`TCAP "tunnels" data through an access terminal's (AT)
`input/output facilities. In one embodiment, the TCAP con(cid:173)
`nects to an AT and a user employs theAT's user input periph(cid:173)
`erals for input, and views the TCAP' s activities on the AT' s
`display. This enables the user to observe data stored on the
`TCAP without it being resident on the AT, which can be useful
`to maintain higher levels of data security. Also, the TCAP
`may tunnel data through an AT across a communications
`network to access remote servers. The disclosure also teaches
`a plug-n-play virtual private network (VPN).
`
`29 Claims, 17 Drawing Sheets
`
`Q
`
`I
`I
`
`r-------------------------------,
`l
`rn1e:n!fc':.g~'.thvi:CBts
`l
`~
`AT ;gz
`Wlfi, USS, etc.) ~ :
`130
`I
`I
`, - - -L - - - - , I
`I
`TC.AP powers up 310
`I
`' - - - - . - -~ I
`I
`. - - - 'L - - - - , I
`l
`TCAP loods/accesses operating
`system ill
`I
`' - - - - . - -~ I
`I
`. . - - - ' - - - - I
`:
`TCAP provides: memory space to
`Access Tenninal (AT) _gQ
`I
`' - - - , - -~ I
`. . - - - ' - - -~ I
`:
`AT accesses/mounts the TC.AP
`I
`memory space ill.
`I
`' - - - - - - - - - " I
`I
`I
`'
`
`I
`I
`
`:
`
`I
`I
`I
`I
`J
`I
`I
`I
`:
`I
`I
`I
`I
`:
`I
`I
`I
`:
`I
`1
`1
`I
`I
`I
`
`13/6'\~
`\.a)
`
`125
`
`PayPal Ex. 1002, p. 1
`PayPal v. IOENGINE
`
`
`
`US 9,059,969 B2
`Page 2
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`2/2007 Tamagno et al.
`7,178,724 B2
`7,213,766 B2 *
`5/2007 Ryan et al. .................... 235/492
`12/2007 Himmel et al.
`7,308,584 B2
`7,546,340 B2 *
`6/2009 Terasawa ...................... 709/203
`6/2009 Poo et al.
`7,549,161 B2
`7,558,953 B2 *
`7/2009 Osthoff et al. ................ 713/161
`7,762,470 B2 *
`7/2010 Finn et al. ..................... 235/492
`2002/0044663 Al *
`4/2002 King eta!. .................... 380/284
`6/2002 Mambakkam et al.
`2002/0073340 Al
`2002/0184349 Al * 12/2002 Manukyan .................... 709/221
`2002/0194499 Al
`12/2002 Audebert et al.
`2003/0005337 Al
`1/2003 Poo et al.
`
`2003/0028649 Al *
`2003/0158891 Al *
`2003/0182456 Al
`2004/0044897 Al
`2004/0127254 Al*
`2005/0172075 Al*
`2005/0197859 Al*
`2005/0198221 Al*
`2006/0052085 Al*
`2006/0071066 Al *
`2006/0294249 Al
`2007 /0038870 Al
`2007/0274291 Al*
`2008/0233942 A9 *
`
`2/2003 Uhlik et al. ................... 709/228
`8/2003 Lei et al. ....................... 709/203
`9/2003 Lin et al.
`3/2004 Lim
`7/2004 Chang ........................... 455/557
`8/2005 Marcus ......................... 711/115
`9/2005 Wilson et al. ..................... 705/2
`9/2005 Manchester et al. .......... 709/220
`3/2006 Rodriguez et al. ............ 455/411
`4/2006 Vanzini et al. ................ 235/380
`12/2006 Oshima et al.
`2/2007 Ciesinger
`11/2007 Diomelli ....................... 370/352
`9/2008 Kim .............................. 455/419
`
`* cited by examiner
`
`PayPal Ex. 1002, p. 2
`PayPal v. IOENGINE
`
`
`
`Fig. 1
`
`F drive users
`
`127
`
`Redundancy server
`
`F drive backend
`
`115
`
`Load-balanced servers
`
`Fdrive front end f
`
`120
`
`PayPal Ex. 1002, p. 3
`PayPal v. IOENGINE
`
`Storage (EMC)
`
`105
`
`Communication
`
`113a
`Network
`
`127
`
`\
`\
`
`\ 125
`
`~~ ;
`......_,__
`
`e
`
`113b
`Networ------
`
`113c
`Network
`
`Communication Communication
`
`F drive bock end
`
`110
`server
`
`
`
`U.S. Patent
`
`Jun. 16,2015
`
`Sheet 2 of 17
`
`US 9,059,969 B2
`
`Engoge Tunneling
`Client
`Access Point
`(TCAP} 201
`
`l09in using Access T erminof
`{AT) as o peripheral controller
`204
`
`1Log in My Account
`
`~205
`§
`
`Login using Access Terminot
`TCAP Takes User Input from
`AT 210
`
`y
`
`N
`
`Execute on TCAP 220
`
`Aetess/store doto/ programs
`on TCAP/server 210
`
`Shutdown/store on TCAP
`240
`r-- -- ----1
`I Unmount TCAP 245
`L _______ -_J
`
`N
`
`Terminate TCAP 1/0
`driver on AT 250
`
`Fig. 2
`
`PayPal Ex. 1002, p. 4
`PayPal v. IOENGINE
`
`
`
`U.S. Patent
`
`Jun.16,2015
`
`Sheet 3 of 17
`
`US 9,059,969 B2
`
`--------7
`~
`.
`I
`Engage TCAP with Access
`Terminol (e.g., via BT,
`WiFi, USB, etc.) 305
`
`\
`
`- )
`
`I
`I
`I
`I
`I
`I
`I
`I
`
`r----------------
`
`1
`I
`I
`!
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`l
`I
`I
`I
`j
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`tJO AT 327
`
`125
`
`~
`
`TCAP powers up 310
`
`TCAP loads/accesses operating
`system 315
`
`TCAP provides memory space to
`Access Terminal (AT) 320
`
`AT accesses/mounts the TCAP
`memory spoce 325
`
`I
`
`Fig. 3a
`
`PayPal Ex. 1002, p. 5
`PayPal v. IOENGINE
`
`
`
`U.S. Patent
`
`Jun.16,2015
`
`Sheet 4 of 17
`
`US 9,059,969 B2
`
`I
`I
`I
`I
`I
`I
`
`:
`~342
`: _______ 7
`I
`desktoptool.exe
`
`User engages TCAP memory to
`issue instruction signals (e.g.,
`executes a TCAP application by
`double-clicking mounted TCAP)
`340
`
`I
`I
`I
`r
`I
`I
`
`1------------
`1
`AT executes instructions from
`I
`'----------l- TCAP memory to provide 1/0
`I
`1
`[ Engage Tunneling Client
`for TCAP 345
`1
`Access Point (TCAP) 301
`L--------- -
`----------
`-------~
`Execution
`398
`
`Fig. 3b
`
`PayPal Ex. 1002, p. 6
`PayPal v. IOENGINE
`
`
`
`\C) = N
`
`O'I
`"' \C)
`\C)
`Ul
`"' 0
`\C)
`00
`d
`
`Fig. 4a
`
`0 -. ....
`('t) ....
`00 =- ('t)
`
`UI
`
`---l
`
`c:::=:::::i =
`
`c:::=:::::i
`
`440o
`
`425
`
`on!ine to reqister or login)
`Message ( e.g., please go
`
`Display Error Message
`
`Registration Information
`
`User Provides
`
`440
`
`y
`
`registration welcome
`
`Display login/
`
`screen 405
`
`PayPal Ex. 1002, p. 7
`PayPal v. IOENGINE
`
`y
`
`N
`
`User selection 41 O
`
`
`
`Fig. 4b
`
`ot remote server (e.g.,
`programs on TCAP and
`execute/store data/
`Allow user to access/
`
`decrypt) 485
`
`off-line (e.g., decrypt) ~
`
`programs on 'f
`execute/store data
`Allow user to accgliss
`
`PayPal Ex. 1002, p. 8
`PayPal v. IOENGINE
`
`---------.J
`
`prints, print documents, etc.)
`
`(e.g., run program, order
`Provide oll TCAP options
`
`480
`
`Provide TCAP off-line
`
`options (e.g., run
`
`program) 460
`
`>-__ ,,...,,,---synchronize 00 and-.........
`
`....... ,,
`
`----
`
`.,.,,.,~
`
`Ml\K!, etc. )450
`please choose different
`please re-enter; User exists,
`(e.g .• information incomplete,
`
`Display Error MeSS(lge
`
`online (dimmed if not online)/USB
`
`Provide Options ( e.g.,
`
`storage) 453
`
`-=--.J
`:
`r------------7
`
`L--
`
`,..., ..... •-----•-'l Synchronize 475
`
`..,,,.,,,..,,.
`
`,......,-#"',,,.,.
`
`YN
`,...__ 470
`
`',, off-line storage?
`
`
`
`Fig. 5a
`
`550
`Drag & Drop
`
`523
`
`521
`
`517
`
`519
`
`= = =
`'
`
`= 518
`
`507
`Please Install
`
`AT 307 130
`
`PayPal Ex. 1002, p. 9
`PayPal v. IOENGINE
`
`
`
`U.S. Patent
`
`Jun. 16, 2015
`
`Sheet 8 of 17
`
`US 9,059,969 B2
`
`~,
`
`...a
`LO
`•
`0,
`
`·-1.J..
`
`PayPal Ex. 1002, p. 10
`PayPal v. IOENGINE
`
`
`
`Fig. 60
`
`650
`
`lj 640
`
`esktoptool
`
`62.2
`621
`
`Welcome Dant
`
`630
`
`625
`
`PayPal Ex. 1002, p. 11
`PayPal v. IOENGINE
`
`
`
`U.S. Patent
`
`Jun.16,2015
`
`Sheet 10 of 17
`
`US 9,059,969 B2
`
`i21
`
`~
`ml
`
`~I
`
`..0
`(0
`
`• en ·-LL.
`
`0000000
`
`~,
`
`~I
`
`0
`
`0
`
`~I
`
`~ ~I
`D
`0
`
`PayPal Ex. 1002, p. 12
`PayPal v. IOENGINE
`
`
`
`\0 = N
`
`= UI
`\0
`d r.,;_
`
`0--,
`\0
`\0
`
`U.S. Patent
`
`Jun.16,2015
`
`Sheet110f17
`
`US 9,059,969 B2
`
`746
`
`750
`
`744
`
`742
`
`748
`
`~
`
`0
`0
`
`D
`
`Fig. 7a
`
`741
`
`PayPal Ex. 1002, p. 13
`PayPal v. IOENGINE
`
`725
`
`0 -
`
`720
`
`
`
`715
`
`710
`
`c::::,
`
`705
`
`
`
`\C) = N
`
`O'I
`"' \C)
`\C)
`Ul
`"' 0
`\C)
`00
`d
`
`-l
`
`""'
`,...
`
`,...
`('t) ....
`00 =-
`
`('t)
`
`Q
`N
`
`0 ,...
`N
`:"
`? ,...
`;-
`
`UI
`
`US. Patent
`
`Jun. 16, 2015
`
`Sheet 12 of 17
`
`US 9,059,969 82
`
`765
`
`Q_
`I
`
`Fig. 7b
`
`772
`
`o0o
`
`752
`
`754
`=
`
`I
`
`.380
`
`380900
`
`
`
`PayPal Ex. 1002, p. 14
`PayPal v. IOENGINE
`
`775
`
`780
`
`00
`ooo
`
`-1
`
`756
`=
`
`
`
`U.S. Patent
`
`Jun. 16,2015
`
`Sheet 13 of 17
`
`US 9,059,969 B2
`
`835
`
`830
`
`825
`
`Fig. 8
`
`PayPal Ex. 1002, p. 15
`PayPal v. IOENGINE
`
`
`
`User(s)933
`
`Client(s) '
`
`I
`
`Crypto Device
`
`928
`
`Fig. 9a
`
`Storage lnterf oce
`
`909
`
`Network lnterf ace
`
`910
`
`00
`0000
`o.,,_,,_~~..,.,o
`0
`0
`g 926 g
`° Crypto 0
`0
`0
`0
`0
`000000000
`
`-
`
`I
`I
`I
`I
`I
`1
`I
`l
`I
`I
`I
`l
`, ___ ...__ _ __,1
`l
`I
`I
`I 905
`l
`I RAM
`
`906
`ROM
`
`I
`I
`, ___ ,.._....i...--,1
`I
`I
`
`r-------------,
`
`PayPal Ex. 1002, p. 16
`PayPal v. IOENGINE
`
`Processor Interface
`
`Cryptographic
`
`927
`
`g 903 g
`~ CP.U
`0
`Q
`g@Jooooooog
`
`000000000
`O
`0
`0
`0
`
`-
`
`0
`
`930
`Clock
`
`Computer Systemization 902
`
`Interface Bus
`
`907
`
`Interface tl/0)
`Input Ouy,ut
`
`908
`
`....------,..System Bus __
`
`904
`
`
`
`US. Patent
`
`Jun. 16, 2015
`
`Sheet 15 0f17
`
`US 9,059,969 B2
`
`»unM—
`
`.a_._mu.._a_w_.'._pMw__.w_pm__m.._wv...awmwa_u_.Aa
`
`Fig.9b
`
`
`
`5m3&ng5%Ewan“$83.«:30323%»
`
`"mammoan}
`
`1llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
`fu393533sM
`
`..*nmwm«La3330}voatwwflmummD
`
`
`mg,33%:$8gnawmanage
`5..a_.aw..__._sisaairalilluiwIE...
`
`
`
`
`WWWgum:“gumc3583?
`
`Mwage383m
`
`mam.
`
`ma$2.5mmafia,
`
`mmmwanesmag»
`
`
`
`WWWv.33;3anoEaEmoabu
`
`wa~_awwmm_.__.___._
`
`£5
`
`PayPal Ex. 1002, p. 17
`PayPal v. IOENGINE
`
`
`
`
`
`1012b Keyboard 1012
`0
`Mouse
`~ I
`n
`r
`
`II
`
`--
`1011b
`
`Access Terminal
`
`~
`
`..
`
`r------
`I
`etc.
`Wif1
`~•!work 1013
`"
`Communication
`
`(cid:143)
`
`.
`
`__ J
`I
`I
`I
`
`Server(s) 1033
`
`r------i.,
`
`I 0
`
`tJ
`
`I
`I
`
`Fig. 1 Oa
`
`PayPal Ex. 1002, p. 18
`PayPal v. IOENGINE
`
`Storage Interface
`~----------------J
`I
`r
`l
`: Network lnterf ace i
`r----------------,
`
`I
`
`I
`I
`
`'
`
`I
`
`1009
`
`1010
`
`I
`1
`
`Interface Bus
`
`--
`1007
`
`1/0 Interface 1008
`L-_t. ___ --J
`11066 l BT 1044:
`fBT 17or 1043
`"!
`
`Processor Interface
`
`Cryptographic
`
`1027
`
`I
`I
`I
`i
`r ----------~-----------...tf\..-.Jt.._ ________
`
`\.------------'
`IO~V00(cid:144)
`1cL _______ J0t
`101 --10:
`10! 1026
`lc-1
`,o, Crypto 101
`:o,
`,o:
`10,
`,01
`t V ;2.Y_~Q~"_q,_£, 0 I
`r----------,
`• • .t
`
`(cid:144)C,t
`
`01
`
`1
`
`'"'
`
`1004
`
`System Bus
`
`:
`
`I
`I
`I
`I
`I
`
`--I
`1006
`ROM
`
`t
`I
`I
`l
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`I I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I 1005
`I
`I
`I
`I RAM
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`I
`I
`I
`I
`f
`
`l
`I
`I
`I
`I
`
`I r-------------,
`
`\J 08~,/
`. lPOWER\
`
`, __
`
`✓,.--..... ,,
`
`T~J
`
`g 1003 g
`~ CPU
`0
`0
`0
`
`000000000
`0
`0
`0 --0
`
`1030
`Clock
`
`Computer Systemization 1002
`
`(cid:144)
`
`
`US. Patent
`
`Jun. 16, 2015
`
`Sheet 17 of 17
`
`US 9,059,969 B2
`
`_aaa.__~_..__.mmdw«..m“wmMw.__..a..flwa.~_upmnwn.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`3%?EE.,.............Jrapmhfiwmmfiwmfimammwmfifi
`mmgjwpagmmfi“wt”;Omxowam“m.Maw...hwy/cooam..__.pE._rm.”838T:a.....News::::::::::::::mwidwwri:conactomg
`
`
`
`
`
`
`
`
`
`
`mmwmwmmwmwéwwwsm$3MWntvaw«235%mmwruuunumuwumwhwuuauiVWMIMW—nuuwunvnuuuuunofium
`
`Fig.1 Ob
`
`
`
`
`
`
`
`9.9.33300mm<oh
`
`a83mmmmEfim
`
`
`
`who,0:682mafia;
`
`rail"It'll.1:31.341...“§E§£(ff¢{§tc§§kt¥§xrllsl.i¥tri
`
`EtFIIEFfFtfI1II31ii1
`
`WNW9%:J
`Wm!
`
`
`
`no
`Em
`
`PayPal Ex. 1002, p. 19
`PayPal v. IOENGINE
`
`
`
`
`
`US 9,059,969 B2
`
`1
`APPARATUS, METHOD AND SYSTEM FORA
`TUNNELING CLIENT ACCESS POINT
`
`This application is a continuation application ofU.S. appli(cid:173)
`cation Ser. No. 12/950,321, filed Nov. 19, 2010, which is a
`continuation application ofU.S. application Ser. No. 10/807,
`731, filed on Mar. 23, 2003, now U.S. Pat. No. 7,861,006.
`
`FIELD
`
`The present invention is directed generally to an apparatus,
`method, and system of accessing data, and more particularly,
`to an apparatus, method and system to execute and process
`data by tunneling access through a terminal.
`
`BACKGROUND
`
`Portable Computing and Storage
`Computing devices have been becoming smaller over time.
`Currently, some of the smallest computing devices are in the
`form of personal digital assistants (PD As). Such devices usu(cid:173)
`ally come with a touch screen, an input stylus and/or mini
`keyboard, and battery source. These devices, typically, have
`storage capacities around 64 MB. Examples of these devices
`include Palm's Palm Pilot.
`Information Technology Systems
`Typically, users, which may be people and/or other sys(cid:173)
`tems, engage information technology systems (e.g., com(cid:173)
`monly computers) to facilitate information processing. In
`turn, computers employ processors to process information;
`such processors are often referred to as central processing
`units (CPU). A common form of processor is referred to as a
`microprocessor. A computer operating system, which, typi(cid:173)
`cally, is software executed by CPU on a computer, enables
`and facilitates users to access and operate computer informa(cid:173)
`tion technology and resources. Common resources employed
`in information technology systems include: input and output
`mechanisms through which data may pass into and out of a
`computer; memory storage into which data may be saved; and
`processors by which information may be processed. Often
`information technology systems are used to collect data for
`later retrieval, analysis, and manipulation, commonly, which
`is facilitated through database software. Information technol(cid:173)
`ogy systems provide interfaces that allow users to access and
`operate various system components.
`User Interface
`The function of computer interfaces in some respects is
`similar to automobile operation interfaces. Automobile
`operation interface elements such as steering wheels, gear(cid:173)
`shifts, and speedometers facilitate the access, operation, and
`display of automobile resources, functionality, and status.
`Computer interaction interface elements such as check boxes,
`cursors, menus, scrollers, and windows ( collectively and
`commonly referred to as widgets) similarly facilitate the
`access, operation, and display of data and computer hardware
`and operating system resources, functionality, and status.
`Operation interfaces are commonly called user interfaces.
`Graphical user interfaces (GUis) such as the Apple Macin(cid:173)
`tosh Operating System's Aqua, Microsoft's Windows XP, or
`Unix's X-Windows provide a baseline and means of access(cid:173)
`ing and displaying information, graphically, to users.
`Networks
`Networks are commonly thought to comprise of the inter(cid:173)
`connection and interoperation of clients, servers, and inter(cid:173)
`mediary nodes in a graph topology. It should be noted that the
`term "server" as used herein refers generally to a computer,
`other device, software, or combination thereof that processes
`
`5
`
`2
`and responds to the requests of remote users across a com(cid:173)
`munications network. Servers serve their information to
`requesting "clients." The term "client" as used herein refers
`generally to a computer, other device, software, or combina-
`tion thereof that is capable of processing and making requests
`and obtaining and processing any responses from servers
`across a communications network. A computer, other device,
`software, or combination thereof that facilitates, processes
`information and requests, and/or furthers the passage ofinfor-
`10 mation from a source user to a destination user is commonly
`referred to as a "node." Networks are generally thought to
`facilitate the transfer of information from source points to
`destinations. A node specifically tasked with furthering the
`passage of information from a source to a destination is com-
`15 manly called a "router." There are many forms of networks
`such as Local Area Networks (LANs), Pico networks, Wide
`Area Networks (WANs), Wireless Networks (WLANs), etc.
`For example, the Internet is generally accepted as being an
`interconnection of a multitude of networks whereby remote
`20 clients and servers may access and interoperate with one
`another.
`
`SUMMARY
`
`25
`
`Although all of the aforementioned portable computing
`systems exist, no effective solution to securely access,
`execute, and process data is available in an extremely com(cid:173)
`pact form. Currently, PDAs, which are considered among the
`smallest portable computing solution, are bulky, provide
`30 uncomfortably small user interfaces, and require too much
`power to maintain their data. Current PDA designs are com(cid:173)
`plicated and cost a lot because they require great processing
`resources to provide custom user interfaces and operating
`systems. Further, current PDAs are generally limited in the
`35 amount of data they can store or access. No solution exists
`that allows users to employ traditional large user interfaces
`they are already comfortable with, provides greater portabil(cid:173)
`ity, provides greater memory footprints, draws less power,
`and provides security for data on the device. As such, the
`40 disclosed tunneling client access point (TCAP) is very easy to
`use; at most it requires the user to simply plug the device into
`any existing and available desktop or laptop computer,
`through which, the TCAP can make use of a traditional user
`interface and input/output (I/0) peripherals, while the TCAP
`45 itself, otherwise, provides storage, execution, and/or process(cid:173)
`ing resources. Thus, the TCAP requires no power source to
`maintain its data and allows for a highly portable "thumb"
`footprint. Also, by providing the equivalent of a plug-n-play
`virtual private network (VPN), the TCAP provides certain
`50 kinds of accessing of remote data in an easy and secure
`manner that was unavailable in the prior art.
`In accordance with certain aspects of the disclosure, the
`above-identified problems of limited computing devices are
`overcome and a technical advance is achieved in the art of
`55 portable computing and data access. An exemplary tunneling
`client access point (TCAP) includes a method to dispose a
`portable storage device in communication with a terminal.
`The method includes providing the memory for access on the
`terminal, executing processing instructions from the memory
`60 on the terminal to access the terminal, communicating
`through a conduit, and processing the processing instructions.
`In accordance with another embodiment, a portable tun(cid:173)
`neling storage processor is disclosed. The apparatus has a
`memory and a processor disposed in communication with the
`65 memory, and configured to issue a plurality of processing
`instructions stored in the memory. Also, the apparatus has a
`conduit for external communications disposed in communi-
`
`PayPal Ex. 1002, p. 20
`PayPal v. IOENGINE
`
`
`
`US 9,059,969 B2
`
`3
`cation with the processor, configured to issue a plurality of
`communication instructions as provided by the processor,
`configured to issue the communication instructions as signals
`to engage in communications with other devices having com(cid:173)
`patible conduits, and configured to receive signals issued 5
`from the compatible conduits.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The accompanying drawings illustrate various non-limit(cid:173)
`ing, example, inventive aspects in accordance with the
`present disclosure:
`FIG. 1 is of a flow diagram illustrating embodiments of a
`tunneling client access point (TCAP);
`FIG. 2 is of a flow diagram illustrating embodiments of a
`system of turmeling client access point and access terminal
`interaction;
`FIG. 3 is of a flow diagram illustrating embodiments of
`engaging the tunneling client access point to an access termi(cid:173)
`nal interaction;
`FIG. 4 is of a flow diagram illustrating embodiments of
`accessing the tunneling client access point and server through
`an access terminal;
`FIGS. 5-8 is of a flow diagram illustrating embodiments of
`facilities, programs, and/or services that the turmeling client
`access point and server may provide to the user as accessed
`through an access terminal;
`FIG. 9 is of a block diagram illustrating embodiments of a
`tunneling client access point server controller;
`FIG. 10 is of a block diagram illustrating embodiments of
`a tunneling client access point controller;
`The leading number of each reference number within the
`drawings indicates the first figure in which that reference
`number is introduced. As such, reference number 101 is first
`introduced in FIG. 1. Reference number 201 is first intro- 35
`duced in FIG. 2, etc.
`
`4
`have access to and can provide extended storage 105 to the
`TCAP through the AT. In one embodiment, a single server and
`storage device may provide such TCAP server support. In
`another embodiment, server support is provided over a com(cid:173)
`munications network, e.g., the Internet, by an array offront(cid:173)
`end load-balancing servers 120. These servers can provide
`access to storage facilities within the servers or to remote
`storage 105 across a communications network 113b, c ( e.g., a
`local area network (LAN)). In such an embodiment, a back-
`! o end server 110 may offload the front-end server with regard to
`data access to provide greater throughput. For purposes of
`load balancing and/or redundancy, a backup server 115 may
`be similarly situated to provide for access and backup in an
`efficient manner. In such an embodiment, the back-end serv-
`15 ers may be connected to the front-end servers through a
`communications network 113b ( e.g., wide area network
`(WAN)). The backend servers 110, 115 may be connected to
`the remote storage 105 through a communications network
`113c as well ( e.g., a high speed LAN, fiber-channel, and/or
`20 the like).
`Thus, to the user 133a, the contents of the TCAP 130
`appear on the AT as being contained on the TCAP 125 even
`though much of the contents may actually reside on the serv(cid:173)
`ers 115,120 and/or the servers' storage facilities 105. In these
`25 ways, the TCAP "tunnels" data through an AT. The data may
`be provided through the AT's I/O for the user to observe
`without it actually residing on the AT. Also, the TCAP may
`tunnel data through an AT across a communications network
`to access remote servers without requiring its own more com-
`30 plicated set of peripherals and I/O.
`TCAP and AT Interaction
`FIG. 2 illustrates embodiments for a system of tunneling
`client access point (TCAP) (see FIG. 10 for more details on
`the TCAP) and access terminal interaction. FIG. 2 provides
`an overview for TCAP and AT interaction and subsequent
`figures will provide greater detail on elements of the interac-
`tion. In this embodiment, a user engages the TCAP 201. For
`example, the user may plug the TCAP into an AT via the AT' s
`USB port. Thereafter the user is presented with a login prompt
`40 205 on the AT' s display mechanism, e.g., on a video monitor.
`Topology
`FIG. 1 illustrates embodiments for a topology between a
`After a user successfully logs in (for example by providing a
`tunneling client access point (TCAP) (see FIG. 10 for more
`user name and password) 204, the TCAP can then accept user
`details on the TCAP) and TCAP server (TCAPS) (see FIG. 9
`inputs from the AT and its peripherals (the TCAP can then
`for more details on the TCAPS). In this embodiment, a user
`also provide output to the user via the AT's peripherals).
`133a may plug-in a TCAP into any number of access termi- 45
`The user may employ the AT's input peripherals as user
`nals 127 located anywhere. Access terminals (ATs) may be
`input devices that control actions on the TCAP. Depending on
`the user's actions 215, the TCAP can be used by the AT as a
`any number of computing devices such as servers, worksta(cid:173)
`tions, desktop computers, laptops, portable digital assistants
`storage device from which it can access and store data and
`programs 225. For example, if the user takes the action of
`(PD As), and/or the like. The type of AT used is not important
`other than the device should provide a compatible mechanism 50 opening a file from the TCAP's memory, e.g., by double
`of engagement to the TCAP 130 and provide an operating
`clicking on an icon when the TCAP is mounted as a USB
`drive on the AT, then the AT may treat the TCAP as a memory
`environment for the user to engage the TCAP through the AT.
`device and retrieve information from the TCAP 225. If the
`In one embodiment, the TCAP provides a universal serial bus
`user's action 215 is one that is directed at executing on the
`(USB) connector through which it may plug into an AT. In
`TCAP 215, then the AT will not be involved in any execution.
`other embodiment, the TCAP may employ Bluetooth, WiFi 55
`and/or other wireless connectivity protocols to connect with
`For example, if the user drops an icon representing a graphics
`ATs that are also so equipped. In one embodiment, the AT
`file onto a drag-and-drop location visually representing the
`provides Java and/or Windows runtime environments, which
`TCAP, then the file may be copied to the TCAP where it will
`allows the TCAP to interact with the input/output mecha(cid:173)
`process and spool the file for sending the graphics file to be
`nisms of the AT. See FIG. 9 for more details and embodiments 60
`printed at a remote location. In such a case, all of the require(cid:173)
`on the types of connections that may be employed by the
`ments to process and spool the file are handled by the TCAP' s
`TCAP. Once the TCAP has engaged with an AT, it can provide
`processor and the AT would only be used as a mechanism for
`the user with access to its storage and processing facilities.
`user input and output and as a conduit through which the
`If the AT is connected to a communication network 113, the
`TCAP may send files.
`Regardless of if there is an action 215 to execute on the
`TCAP may then communicate beyond the AT. In one embodi- 65
`TCAP 220 or to access or store data on the TCAP 225, the AT
`ment, the TCAP can provide extended storage and/or pro(cid:173)
`cessing resources by engaging servers 110, 115, 120, which
`is used to display the status ofany actions 23 0. At any time the
`
`DETAILED DESCRIPTION
`
`PayPal Ex. 1002, p. 21
`PayPal v. IOENGINE
`
`
`
`US 9,059,969 B2
`
`5
`user may select to terminate TCAP related facilities executing
`either on the AT, a backend server, on the TCAP itself, and/or
`the like 235. In one embodiment, the user may select a quit
`option that is displayed on the AT's screen. In another
`embodiment, the user may simply disengage the TCAP from 5
`the AT by severing the connection ( e.g., turning power off,
`physically pulling the device off the AT, turning off wireless
`transmissions, and/or the like). It should be noted that such
`abrupt severing may result in the loss of data, file corruption,
`etc. if the TCAP has not saved data that is on the AT or on 10
`some remote server, however, if the TCAP is employing flash
`like memory, its contents should remain intact.
`If there is no instruction signal to terminate the TCAP 235,
`execution will continue and the TCAP will continue to take
`and look for input from the user. Of course if the TCAP has
`been set to perform certain actions, those actions will con(cid:173)
`tinue to execute, and the TCAP may respond to remote serv-
`ers when it is communicating with them through the AT.
`When the user issues a terminate signal 235, then the TCAP
`will shut down by saving any data to the TCAP that is in the
`AT' s memory and then terminating any programs executing
`on both the AT and TCAP that were executed by and/or from
`the TCAP 240. Ifno activities are taking place on the TCAP
`and all the data is written back to the TCAP 240, then the
`TCAP may optionally unmount itself from the AT's file(cid:173)
`system 245. At this point, if there is a TCAP I/O driver
`executing on the AT, that driver may be terminated as trig(cid:173)
`gered by the absence of the TCAP at a mount point 250. After
`the TCAP is unmounted and/or the TCAP I/O driver is ter(cid:173)
`minated, it is safe to disengage the TCAP from the AT.
`TCAP and AT Interaction
`FIG. 3 illustrates embodiments engaging the tunneling cli(cid:173)
`ent access point to an access terminal interaction. Examples
`of engaging the TCAP 301 with an AT were discussed above
`in FIG. 1127, 130, 133a and FIG. 2 201. In one embodiment,
`the TCAP 130 is engaged with an access terminal 327, 305.
`As mentioned in FIG. 1, the TCAP is capable of engaging
`withATs using a number of mechanisms. In one embodiment,
`the TCAP has a USB connector for plugging into an AT,
`which acts as a conduit for power and data transfer. In another
`embodiment, the TCAP may use Bluetooth to establish a
`wireless connection with a number of ATs. In another
`embodiment, the TCAP may employ WiFi. In yet another
`embodiment, the TCAP may employ multiple communica(cid:173)
`tions mechanisms. It should be noted, with some wireless
`mechanisms like Bluetooth and WiFi, simply coming into
`proximity with an AT that is configured for such wireless
`communication may result in the TCAP engaging with and
`establish a communications link with the AT. In one embodi(cid:173)
`ment, the TCAP has a "connect" button that will allow such
`otherwise automatically engaging interactions take place
`only if the "connect" button is engaged by a user. Such an
`implementation may provide greater security for users (see
`FIG. 10 for more details on the TCAP).
`After being engaged 305, the TCAP will then power on. In
`an embodiment requiring a direct connection, e.g., USB,
`simply plugging the TCAP into the AT provides power. In a
`wireless embodiment, the TCAP may be on in a lower pow(cid:173)
`ered state or otherwise turned on by engaging the connect
`button as discussed above. In such an embodiment, the TCAP 60
`can employ various on-board power sources (see FIG. 10 for
`more details on the TCAP). The TCAP then may load its own
`operating system 315. The operating system can provide for
`interaction with the AT. In one embodiment, a Java runtime is
`executed on the TCAP, and Java applets communicate with 65
`the AT through JavaAPis. In another embodiment, a driver is
`loaded onto the AT, and the on-TCAP Java operating system
`
`6
`applets communicate to and through the AT via the driver
`running on the AT, wherein the driver provides an API
`through and to which messages may be sent.
`After engaging with the AT, the TCAP can provide its
`memory space to the AT 3 20. In one embodiment, the TCAP' s
`memory is mapped and mounted as a virtual disk drive 125
`storage 325. In this manner, the TCAP may be accessed and
`manipulated as a standard storage device through the AT's
`operating system. Further, the TCAP and in some cases the
`AT can determine if the AT is capable of accessing program
`instructions stored in the TCAP's memory 330. In one
`embodiment, the AT's operating system looks to auto-run a
`specified file from any drive as it mounts. In such an embodi(cid:173)
`ment, the TCAP' s primary interface may be specified in such
`15 a boot sequence. For example, under windows, anautorun.inf
`file can