throbber
1111111111111111 IIIIII IIIII 11111 1111111111 lllll lllll lllll lllll lllll 111111111111111 11111111
`US 20020147912Al
`
`(19) United States
`(12) Patent Application Publication
`Shmueli et al.
`
`(10) Pub. No.: US 2002/0147912 Al
`Oct. 10, 2002
`(43) Pub. Date:
`
`(54) PREFERENCE PORTABILITY FOR
`COMPUTING
`
`(76)
`
`Inventors: Shimon Shmueli, Raleigh, NC (US);
`Alex Lang, Raleigh, NC (US); Jean
`Billman, Chapel Hill, NC (US)
`
`Correspondence Address:
`WITHROW & TERRANOVA, P.L.L.C.
`P.O. BOX 1287
`CARY, NC 27512 (US)
`
`(21) Appl. No.:
`
`09/802,691
`
`(22) Filed:
`
`Mar. 9, 2001
`
`Related U.S. Application Data
`
`(60) Provisional application No. 60/243,816, filed on Oct.
`27, 2000.
`
`Publication Classification
`
`(51)
`
`Int. Cl.7 ............................ G06F 15/177; G06F 9/00
`
`(52) U.S. Cl. .............................................................. 713/182
`
`ABSTRACT
`(57)
`The present invention uses a portable memory device to
`directly or wirelessly interact with one or more host com(cid:173)
`puting devices to provide a customized configuration for one
`or more aspects associated with a computing session. In
`particular, software on the portable device will automatically
`execute on the host computing device after the host com(cid:173)
`puting device recognizes the presence of the portable device.
`The software provides instructions for the host computing
`device to launch a select program on the host computing
`device and provide a customized configuration for the
`program. The customized configuration is based on infor(cid:173)
`mation stored on the portable device. As such, the portable
`device may automatically set preferred interface or program
`configurations personalized to the user. For example, the
`interface settings for a desktop, productivity, or browser
`application may be tailored as defined by information stored
`on the portable device. Other settings, such as bookmarks
`for a browser, may be stored on the portable device and
`made available to the program launched on the host com(cid:173)
`puting device.
`
`MEMORY
`ill.
`SOFTWARE
`@.
`DATA
`gg
`
`KEY INTERFACE
`~
`
`10
`
`12
`
`u
`s
`E
`R
`
`I
`N
`T
`E
`R
`F
`A
`C
`E
`M
`
`KEY INTERFACE
`36
`
`CPU
`g§
`
`MEMORY
`g§
`SOFTWARE
`~
`DATA
`E
`NETWORK INTERFACE
`;l§.
`
`NETWORK INTERFACE
`29.
`CPU
`12
`MEMORY
`~
`SOFTWARE
`1±
`DATA
`46
`
`USER INTERFACE
`1§.
`
`PayPal Ex. 1009, p. 1
`PayPal v. IOENGINE
`
`

`

`Patent Application Publication Oct. 10, 2002 Sheet 1 of 6
`
`US 2002/0147912 Al
`
`MEMORY
`~
`SOFTWARE
`20
`DATA
`22
`
`KEY INTERFACE
`24
`
`10
`
`12
`
`KEY INTERFACE
`36
`
`CPU
`26
`
`MEMORY
`28
`SOFTWARE
`30
`DATA
`32
`
`NETWORK INTERFACE
`38
`
`HOST
`12
`
`u
`s
`E
`R
`
`I
`N
`T
`E
`R
`F
`A
`C
`E
`34
`
`SERVER
`1±
`
`NETWORK
`
`16
`
`NETWORK INTERFACE
`50
`CPU
`40
`MEMORY
`42
`
`SOFTWARE
`44
`DATA
`46
`
`USER INTERFACE
`48
`
`FIG. 1
`
`HOST
`12
`
`SERVER
`14
`
`PayPal Ex. 1009, p. 2
`PayPal v. IOENGINE
`
`

`

`Patent Application Publication Oct. 10, 2002 Sheet 2 of 6
`
`US 2002/0147912 Al
`
`/ 1 0A
`
`FIG. 2A
`
`/ 1 0B
`
`L ff;;ff/7
`
`FIG. 2B
`
`10C~
`
`FIG. 2C
`
`PayPal Ex. 1009, p. 3
`PayPal v. IOENGINE
`
`

`

`Patent Application Publication Oct. 10, 2002 Sheet 3 of 6
`
`US 2002/0147912 Al
`
`SENSE KEY INSERTION OR PRESENCE
`(E.G. PLUG AND PLAY, DISCOVERY)
`
`IDENTIFY KEY
`
`CONFIGURE INTERFACE
`
`EXECUTE INITIAL KEYLET
`FROM KEY (UNSECURE)
`
`ACCESS DATA FROM KEY
`AS NECESSARY
`
`EXECUTE AUTHENTICATION ROUTINE
`
`PROVIDE USER AUTHENTICATION INTERFACE
`
`RECEIVE AUTHENTICATION INDICIA
`FROM USER
`
`100
`
`102
`
`104
`
`106
`
`108
`
`110
`
`112
`
`114
`
`YES
`
`NO
`
`118
`
`HAVE USER REENTER
`AUTHENTICATION INDICIA
`OR END PROCESS
`
`EXECUTE KEYLETS BASED ON AUTHENTICATION
`(I.E. SECURITY LEVEL, USER, ETC.)
`
`120
`
`FIG. 3A
`
`PayPal Ex. 1009, p. 4
`PayPal v. IOENGINE
`
`

`

`Patent Application Publication Oct. 10, 2002 Sheet 4 of 6
`
`US 2002/0147912 Al
`
`122
`
`124
`
`126
`
`130
`
`ACCESS DATA FROM KEY AS NECESSARY
`BASED ON AUTHENTICATION
`
`UPDATE KEY BASED ON USER INTERACTION,
`IF DESIRED (E.G. AUTOMATICALLY,
`SCHEDULED EXIT, OR USER REQUEST)
`
`MONITOR FOR DE-INSERTION OR
`LOSS OF PRESENCE
`
`NO
`
`YES
`
`CLEAN RESIDUE LEFT FROM
`USER INTERACTION
`
`FIG. 3B
`
`PayPal Ex. 1009, p. 5
`PayPal v. IOENGINE
`
`

`

`'"""
`>
`'""" N
`\0
`-..J
`'"""
`,i;;..
`0
`~
`0
`0
`N
`'Jl
`d
`
`O'I
`
`0 ....,
`Ul
`~ ....
`'Jl =(cid:173)~
`
`'""" ~=
`
`:-'"
`I")
`0
`
`N
`0
`0
`N
`
`.... 0 =
`~ ....
`O' -....
`~
`.... 0 =
`~ ....
`~ "Cl -....
`~ .... ~ = ....
`
`I")
`
`I")
`
`""C
`
`FIG. 4
`
`PayPal Ex. 1009, p. 6
`PayPal v. IOENGINE
`
`DATA FILES
`
`WEB
`
`64
`
`DATA FILES
`
`CORE
`
`62
`
`DATA FILES
`
`60
`
`AUX.
`
`74
`API
`EXTENDED
`
`SERVICES
`
`PARTY
`TH;RD
`
`70
`
`I,
`
`l
`
`'
`
`l
`
`•
`
`KEY MANAGER (KM)
`
`58
`
`72
`API
`MAN
`KEY
`
`. SERVICES
`
`CORE
`
`. SERVLETS -
`
`WEB
`
`------~
`68
`
`•l
`
`66
`
`.
`
`WEB
`
`KEYLETS
`
`56
`
`v.--, ------.----------
`
`KEYLETS
`
`CORE
`
`l
`
`54
`
`KEYLETS
`
`AUX.
`
`'
`52
`
`SERVER ARCHITECTURE
`
`-------~
`
`~--------
`
`__,A.._
`
`KEY ARCHITECTURE
`
`

`

`Patent Application Publication Oct. 10, 2002 Sheet 6 of 6
`
`US 2002/0147912 Al
`
`I
`
`@:JI
`
`,.-76
`
`ML AREA
`80
`
`FIG. 5
`
`I
`.......
`1 HELP r
`82
`I END,--
`
`84
`
`I
`
`LAUNCH
`BUTTON
`\
`'--86
`
`,.-16
`
`ML AREA
`80
`
`88
`
`90
`
`92
`
`82
`
`84
`
`HELP
`
`END
`
`MY
`BOOKMARK
`
`E-CART
`
`E-WALLET
`
`LAUNCH
`BUTTON
`
`86
`
`FIG. 6
`
`96
`
`CONTENT
`PUSH SERVICE
`PUSH
`SERVLET
`98
`
`BBi
`
`WEB-BASED
`DESIGN/INPUT
`94
`
`PUSH
`KEYLET
`100
`
`ENCRYPTED
`ML FILE
`102
`
`ML AREA
`80
`
`FIG. 7
`
`1L~~011
`
`76
`
`82
`84
`
`HELP
`
`END
`
`86
`
`PayPal Ex. 1009, p. 7
`PayPal v. IOENGINE
`
`

`

`US 2002/0147912 Al
`
`Oct. 10, 2002
`
`1
`
`PREFERENCE PORTABILITY FOR COMPUTING
`
`PREFERENCE PORTABILITY FOR
`COMPUTING
`
`[0001] This application claims the benefit of provisional
`application serial No. 60/243,816, filed Oct. 27, 2000,
`entitled PORTABLE PRIVACY AND CONFIGURATION
`FOR COMPUTER AND WEB BASED APPLICATIONS,
`the disclosure of which is incorporated herein by reference.
`
`FIELD OF THE INVENTION
`
`[0002] The present invention relates to portable devices to
`facilitate computing, and in particular, relates to a portable
`device capable of interacting with a computing device to
`facilitate user interaction.
`
`BACKGROUND OF THE INVENTION
`
`[0003] Using multiple computers and multiple computing
`devices is becoming commonplace. The need or desire for
`people to use more than one computer in addition to mobile
`computing devices, such as personal digital assistants
`(PDAs) and mobile telephones accessing the Internet, is
`increasing for private and business use. These users fre(cid:173)
`quently access the Internet and demand customization of
`their computing environments. For example, most users
`customize their desktop and browser settings to provide a
`friendly interface as well as make favorite web pages readily
`accessible with organized bookmark settings. Unfortunately,
`such settings configured on one computing device are not
`readily portable to other computing devices. The other
`computing devices typically require replicating configura(cid:173)
`tion information to arrive at the preferred settings that are
`frequently used. Although users that interact with different
`computing devices on a routine basis would often benefit
`from having customized settings available on each device,
`the limited use on any one computing device does not
`outweigh the time and effort necessary for customization.
`When a user accesses the web from a public or shared host
`system, the web browser does not contain a user's setup and
`preferences, but rather those of the host system. In addition,
`shared access may compromise the privacy of the owner of
`the system as well as that of the user.
`
`[0004] The increase in mobile computing also corresponds
`to concerns about privacy. Administrators of computing
`devices want to make sure that users are authorized to use
`the computer and control access to the various programs and
`data available from the computer. Second, users would like
`the freedom to use computing devices as desired without
`leaving readily accessible records of their activities, which
`are available by viewing cookies, computing or browsing
`histories, and the like.
`
`[0005] As such, there is a need for a way to provide
`portability of customization options and settings to optimize
`interactions on multiple computing devices. There is a
`further need to address the privacy and security issues
`associated with computing on multiple computing devices
`on commercial and personal levels.
`
`SUMMARY OF THE INVENTION
`
`[0006] The present invention relates to a portable device
`configured to interact with a number of host computing
`devices. The portable device primarily includes memory
`
`having software capable of running on one of the host
`computing devices. The memory will be associated with an
`interface to facilitate interaction with one or more of the host
`computing devices. Although the portable device is prima(cid:173)
`rily a memory device, the portable memory device may
`include control circuitry to assist in interaction with the host
`computing devices as well as organizing the data stored
`thereon.
`[0007] The present invention uses a portable memory
`device to directly or wirelessly interact with one or more
`host computing devices to provide a customized configura(cid:173)
`tion for one or more aspects associated with a computing
`session. In particular, software on the portable device will
`automatically execute on the host computing device after the
`host computing device recognizes the presence of the por(cid:173)
`table device. The software provides instructions for the host
`computing device to launch a select program on the host
`computing device and provide a customized configuration
`for the program. The customized configuration is based on
`information stored on the portable device. As such, the
`portable device may automatically set preferred interface or
`program configurations personalized
`to
`the user. For
`example, the interface settings for a desktop, productivity, or
`browser application may be tailored as defined by informa(cid:173)
`tion stored on the portable device. Other settings, such as
`bookmarks for a browser, may be stored on the portable
`device and made available to the program launched on the
`host computing device.
`[0008] Preferably, the portable computing device will
`emulate a file system in memory of the host computing
`device, such as a hard disk drive, wherein the software and
`data appear as a file system or other memory available to the
`host computing device. The portable device may interact
`with the host computing device through a direct or wireless
`interface. Preferably, most of the information provided on or
`by the portable device is encrypted to enhance security. Data
`compression techniques are available to max1m1ze the
`amount of information capable of being stored on the
`portable device.
`[0009]
`to customizing select programs
`In addition
`launched on the host computing device, the present inven(cid:173)
`tion may provide an authentication procedure. Authentica(cid:173)
`tion may include receiving authentication indicia from the
`user via an interface on the host computing device and
`determining if the authentication information received from
`the user matches authentication indicia stored on the por(cid:173)
`table device. As such, protection is provided to prevent
`non-authorized users from using the portable device. The
`portable device may also be configured to remove remnants
`or records of user interaction during a computing session
`from the host computing device to enhance the privacy
`associated with the computing session.
`[0010] The present invention may be implemented on
`numerous types of portable devices as well as in software
`provided on a computer readable medium, such as a compact
`disk, floppy disk, or the like, capable of being provided to or
`stored on the portable device according to the present
`invention.
`[0011] Those skilled in the art will appreciate the scope of
`the present invention and realize additional aspects thereof
`after reading the following detailed description of the pre(cid:173)
`ferred embodiments in association with the accompanying
`drawing figures.
`
`PayPal Ex. 1009, p. 8
`PayPal v. IOENGINE
`
`

`

`US 2002/0147912 Al
`
`Oct. 10, 2002
`
`2
`
`BRIEF DESCRIPTION OF IBE DRAWING
`FIGURES
`
`[0012] The accompanying drawing figures incorporated in
`and forming a part of the specification illustrate several
`aspects of the invention, and together with the description
`serve to explain the principles of the invention.
`
`[0013] FIG. 1 is an illustration of a computing environ(cid:173)
`ment compatible with the operation of the present invention.
`
`[0014] FIG. 2A illustrates a portable key that is capable of
`being inserted into and interacting with multiple computing
`devices according to the present invention.
`
`[0015] FIG. 2B is a smart card configured to interact with
`multiple computing devices according to the present inven(cid:173)
`tion.
`
`[0016] FIG. 2C is a remote communication device, such
`as a transponder, configured to interact with multiple com(cid:173)
`puting devices according to the present invention.
`
`[0017] FIGS. 3A and 3B are a flow chart outlining a basic
`process for interacting with multiple computing devices
`according to the present invention.
`
`[0018] FIG. 4 illustrates a software architecture according
`to a preferred embodiment of the present invention.
`
`[0019] FIG. 5 illustrates an exemplary launching bar
`provided by the present invention.
`
`[0020] FIG. 6 represents an expansion window associated
`with the launching bar illustrated in FIG. 5.
`
`[0021] FIG. 7 illustrates a preferred service providing a
`content push for the markup language area of the launching
`bar illustrated in FIG. 5.
`
`DETAILED DESCRIPTION OF IBE
`PREFERRED EMBODIMENTS
`
`[0022] The present invention provides a portable memory
`device capable of interfacing with a number of computing
`devices. The portable memory device, referred to generally
`as a key, is preferably configured to provide one or more
`applications capable of running on a computing device,
`generally referred to as a host, to facilitate user interaction.
`Preferably, the user interaction is embraced with one or more
`privacy and security measures.
`
`[0023] The embodiments set forth below represent the
`necessary information to enable those skilled in the art to
`practice the invention and illustrate the best mode of prac(cid:173)
`ticing the invention. Upon reading the following description
`in light of the accompanying drawing figures, those skilled
`in the art will understand the concepts of the invention and
`will recognize applications of these concepts not particularly
`addressed herein. It should be understood that these appli(cid:173)
`cations and concepts fall within the scope of this disclosure
`and the accompanying claims.
`
`[0024] With reference to FIG. 1, a basic representation of
`a computing environment consistent with the implementa(cid:173)
`tion of the present invention is illustrated. At the heart of the
`invention is the portable memory device, which is referred
`to as a key 10. The key 10 is configured to interact with any
`number of computing devices, which are referred to as hosts
`12. Each host 12 will typically interact with one or more
`
`servers 14 via a network 16, which may include a local area
`network (LAN), the Internet, or a combination thereof.
`[0025] The key 10 will primarily include memory 18
`having software 20 capable of running on one of the hosts
`12, and data 22. The memory 18 will be associated with a
`key interface 24 to facilitate an interface with one or more
`of the hosts 12. Although the key 10 is primarily a memory
`device, the key may include control circuitry to assist in
`interaction with the host as well as organizing the data 22.
`Preferably, once an interaction between the key 10 and a
`host 12 is established, the memory 18 will emulate a file
`system on a memory device, such as a hard disk drive,
`accessible by the host 12 wherein at least certain aspects of
`the software 20 are capable of running or executing on the
`host 12.
`[0026]
`In the preferred embodiment, the key 10 will
`include four or more megabytes of flash memory and a
`built-in USE sleeve interface. When the key 10 is plugged
`into a USE port of a host 12, the key 10 will emulate a file
`system on a solid state mass storage device, and via plug(cid:173)
`and-play functionality, rely on device drivers that are typi(cid:173)
`cally associated with the host's operating system. The key
`10 is preferably configured for autorun capability, which
`may emulate that of a CD-ROM autorun configuration. This
`configuration will allow a start-up application stored on the
`key 10 to start executing when the key 10 is plugged in to
`the USE port of the host 12. Those skilled in the art will
`recognize a variety of configurations for the key 10 wherein
`when the key 10 is placed into or associated with the host 12,
`one or more applications are automatically executed by the
`host 12. The organization of the memory 18 will preferably
`resemble a file structure addressable by the host 12. Pref(cid:173)
`erably, the software 20 will include Java applets, Active-X
`components, or the like capable of automatically running on
`the host 12 upon engaging the key 10 with the host 12, or
`otherwise establishing an interaction between the two
`devices. Additional detail is provided below.
`[0027] The host 12 may take many forms, including a
`personal computer (PC), workstation, personal digital assis(cid:173)
`tant (PDA), notebook computer, web-enabled mobile tele(cid:173)
`phone, or the like. The host 12, regardless of form, will
`typically include a central processing unit (CPU) 26 asso(cid:173)
`ciated with memory 28 having the requisite software 30 and
`data 32 for operation. Typically, a user interface 34 is
`provided to facilitate interaction with the host's user, which
`is preferably the owner of the key 10, who is interacting with
`the host 12. The CPU 26 is preferably associated with a key
`interface 36 to facilitate interaction with the key 10, and a
`network interface 38 to facilitate interaction with any num(cid:173)
`ber of devices associated with network 16, such as the
`servers 14.
`
`Importantly, the software 20 on the key 10 is
`[0028]
`configured to readily execute on the host 12 upon interface.
`For example, the key 10 may be compatible with Windows
`plug-and-play capability, and the key interface 24 may be
`USE compatible, wherein when the key 10 is plugged into
`the key interface 36 of the host 12, the host 12 will recognize
`the key 10 and execute select applications or functions
`provided by the software 20 of the key 10.
`
`[0029] The host 12 is preferably configured to access
`various servers 14 over the network 16 upon executing
`applications or functions of the key 10. These servers 14
`
`PayPal Ex. 1009, p. 9
`PayPal v. IOENGINE
`
`

`

`US 2002/0147912 Al
`
`Oct. 10, 2002
`
`3
`
`may be configured in any number of ways. The servers 14
`may be traditional application servers facilitating the func(cid:173)
`tion of the host 12, or may be web servers capable of
`downloading markup language content upon request from a
`browser running on the host 12.
`
`[0030] The server 14 will typically include a CPU 40
`having memory 42 with the requisite software 44 and data
`46 to facilitate operation. The server 14 will typically
`include a user interface 48 and a network interface 50
`cooperating with the CPU 40. The user interface 48 allows
`a direct interface with the server 14, wherein the network
`interface 50 facilitates interaction with any number of net(cid:173)
`work devices, including other servers 14 and hosts 12.
`
`[0031] Turning now to FIGS. 2A-2C, the key 10 may take
`on any number of configurations. The preferred embodiment
`is shown in FIG. 2A wherein the key 10 takes the form of
`a physical key-like device lOA capable of being plugged
`into a USE port or other readily accessible port on the host
`12. Preferably, the key lOA is light and portable enough to
`be carried on a key chain or the like. FIG. 2B represents a
`smart card lOB capable of carrying out the concepts of the
`present invention. The smart card l0B may be a contact(cid:173)
`based or a contactless (wireless) smart card lOB capable of
`interacting with the host 12 as described above. FIG. 2C
`depicts a wireless communication device l0C, such as a
`transponder, capable of facilitating wireless communica(cid:173)
`tions with the host 12. Whereas a physical connection with
`a key 10 may implement the Windows plug-and-play inter(cid:173)
`face, a wireless device l0C may incorporate an automatic
`detection or sensing technology, such as the discovery
`process used by Bluetooth, which is well documented and
`available to those skilled in the art. The key 10 may also be
`implemented in a wireless personal digital assistant (PDA),
`mobile terminal, such as a mobile telephone, or like portable
`computing device. The applications or functions stored on
`the key 10 and capable of executing on the host 12 are
`referred to in general as key lets. As discussed below, keylets
`may also reside on a host system itself, depending on the
`security level associated with that host 12. Typically, keylets
`are assigned a class indicating the basic functionality of the
`keylet, and preferably a security level corresponding to the
`functionality of the keylet. The keylets are preferably Java
`applets, but may incorporate any software technology facili(cid:173)
`tating ready execution on a host 12. The key lets may provide
`any number of functions, several of which are discussed in
`detail below.
`
`[0032] A generic process providing multiple functions is
`outlined in the flowchart of FIGS. 3A and 3B, wherein user
`authentication is required before a certain function or inter(cid:173)
`action is allowed by the host 12. Further, upon completion
`or termination of the interaction or function, remnants
`indicative of the user's interaction are removed from the
`host 12 to facilitate privacy.
`
`[0033] The process begins when the key 10 is inserted into
`or placed within communication range of the host 12 (block
`100). Preferably, the key 10 is identified (block 102) and the
`communication interface is configured to facilitate interac(cid:173)
`tion (block 104). One of the keylets may be programmed to
`configure the user's desktop and basic interface features. For
`example, the user may have a keylet configured to set
`preferred color schemes for the desktop, provide a select
`screen saver after a certain period of dormancy, or activate
`
`a particular application. For example, the user may want a
`light green desktop with a screen saver using a favorite
`wallpaper after ten minutes of dormancy. Further, the user
`may have the keylet automatically configure Microsoft
`Outlook to check e-mail from a select pop email server, as
`well as launch Microsoft Word and Excel. The keylet may
`launch Word and Excel to have the user's favorite toolbars
`and settings. Internet Explorer or other browser may be
`launched with bookmarks stored on the portable device. This
`type of functionality is available on any host 12 capable of
`interacting with the key 10. Preferably, the key 10 is
`configured to be readily operable with any number of
`computing devices acting as host 12.
`
`[0034] Regardless of the function provided, a specific
`keylet is typically configured to initially execute on the host
`12 (block 106). Generally, the initial keylet to execute is a
`basic keylet requiring little or no security to execute. The
`execution of the key let may require access to data stored on
`the key (block 108).
`[0035]
`In this example, the initial keylet runs an authen(cid:173)
`tication routine to ensure that the holder of the key 10 is
`authorized to use the key 10 in association with the host 12
`(block 110). Typically, the authentication routine will pro(cid:173)
`vide a user authentication interface (block 112) requiring a
`password, logon information, or biometric indicia from a
`biometric reader (not shown) associated with the host 12. In
`response, the user will provide authentication indicia to the
`host 12. The authentication routine, which is running on the
`host 12, will receive the authentication indicia from the user
`(block 114), and determine if the user is authenticated (block
`116).
`
`[0036]
`If the authentication indicia does not match that
`stored on the key 10 or otherwise associated with the
`authentication routine (block 116), the keylet may have the
`user re-enter the authentication data, or may simply end the
`process (block 118). If the user is authenticated (block 116),
`one or more additional keylets based on the user authenti(cid:173)
`cation are executed according to the interaction of the user
`(block 120). Notably, as will be discussed in further detail
`below, the keylets available for use may be based on a
`security level corresponding to the authentication.
`
`[0037] During execution of any of the key lets, data may be
`accessed from the key 10 as necessary based on the keylet
`and the authentication or security level (block 122). Further,
`the data 22 stored on the key 10 may be updated based on
`the user interaction as desired (block 124). The user may
`also be queried to update data 22 on the key 10. Alterna(cid:173)
`tively, key lets may be configured to automatically update the
`key 10 without informing the user. Those skilled in the art
`will recognize the various options capable of being provided
`to the user.
`
`[0038] Depending on the keylet being executed, the user
`may indicate a desire to end the session, wherein the keylets
`or data involved in the interaction may be updated as
`necessary. Throughout this process, one or more of the
`keylets may monitor for the insertion or loss of presence of
`the key 10 (block 126). If the key 10 is not removed (block
`128), the process will repeat. If the key has been removed
`(block 128), one or more of the keylets will preferably
`continue to run on the host to clean any residue left from the
`user interaction (block 130). Cleansing the residue from the
`host 12 will preferably include removing any cookies,
`
`PayPal Ex. 1009, p. 10
`PayPal v. IOENGINE
`
`

`

`US 2002/0147912 Al
`
`Oct. 10, 2002
`
`4
`
`histories, information in cache, or other memory indicative
`of the user's interaction. Such a cleansing is also preferable
`upon a scheduled termination of the session, wherein the
`cleansing will occur upon the user signaling for an end of the
`interaction. The automatic cleansing upon removal of the
`key 10 is a safeguard for those forgetting to properly end the
`session and simply removing the key 10 without providing
`the host 12 forewarning.
`
`In the preferred embodiment, the key 10 will
`[0039]
`include multiple keylets providing various functions. The
`keylets may have access to common data files or select,
`corresponding data files. An exemplary architecture is pro(cid:173)
`vided in FIG. 4 for the key 10 and a server 14 configured to
`interact with select ones of the key lets while operating on the
`host 12. For purposes of illustration, three keylets are
`illustrated: auxiliary keylets 52, core keylets 54, and web
`keylets 56. Each of the keylets preferably interacts with a
`key manager (KM) application 58 capable of managing
`interaction among keylets and between keylets and associ(cid:173)
`ated data files: auxiliary data files 60, core data files 62, and
`web data files 64. Depending on the functionality of the
`keylets and the business models for marketing keys 10
`having the various keylets, the core key lets may be provided
`by the provider or manufacturer of the key 10. The web
`keylets 56 are particularly configured for interaction with
`one or more servers 14 when the keylets are executed on the
`host 12.
`
`[0040] As illustrated, the server architecture may include
`web servlets 66 configured to facilitate interaction between
`the web key lets 56 and the web servlets 66 running on server
`14 via the network 16. Notably, servlets 66 are similar to
`keylets, with the exception that they are stored and run on
`the server 14. Notably, any of the keylets 52, 54, 56 may
`provide any type of functionality, and are only illustrated as
`being different for the purposes of description. As such, the
`auxiliary keylets 52 may be provided by business partners
`associated with the providers or makers of the key 10. The
`core keylets 54 may provide functionality basic to the core
`elements of the key 10, wherein the auxiliary key lets 52 may
`provide functionality corresponding to a particular function
`associated with the given business. The auxiliary, core, and
`web data files 60, 62, 64 are preferably used to store data
`used or provided by the auxiliary, core, and web keylets 52,
`54, 56, respectively. Preferably, the keylets use compression
`and encryption techniques to minimize the impact on
`memory as well as to provide secure transfer of data between
`the executing keylets and the various data files 22 stored on
`the key 10.
`
`[0041] The key manager 58 may also provide various
`levels of security for keylets and data files. For example, an
`initial security level may allow access only to select data
`files and keylets, whereas an authorization corresponding to
`a higher-level security may provide access to all of the data
`files and use of all of the keylets. Further examples of
`security levels and use of security are described in greater
`detail below in association with particular keylets.
`
`[0042] The server architecture may include any number of
`servlets or services, such as the core services 68 or third
`party services 70. The core services 68 may correspond to
`the basic functionality of key interaction and use, wherein
`the third party services 70 may correspond to a business
`partner's application configured to run in association with
`
`the use of a key 10. Typically, the key manager 58 will
`interact with the various keylets using a key manager
`application program interface (API) 72, wherein the servlets
`and services may interact with each other through an
`extended API 74. The types of keylets available are limited
`only to the types of functionality required of the key 10.
`Further, multiple functions may be provided in a single
`keylet, or provided in a corresponding number of keylets,
`wherein one function corresponds to one keylet. The fol(cid:173)
`lowing outlines numerous functions that may be provided by
`keylets individually or in combination.
`
`[0043] The authentication function is a security feature
`that provides for user authentication when accessing a host
`12 or services on the host 12. To access the authentication
`function, the user must engage the key 10 with the host 12
`by actually plugging the key 10 into the host 12, or by
`placing the key 10 within a certain proximity to the host 12
`(wireless). Once the host 12 recognizes the key 10 and
`executes a keylet providing the authentication function, the
`user is preferably queried to enter a user name and password.
`Once entered, the keylet will confirm or deny the user name
`and password entered by the user with information stored,
`and preferably encrypted, on the key 10. Assuming that the
`user name and password are authenticated, access to at least
`a portion of the services provided by the key 10, and perhaps
`by the host 12, are authorized. Different passwords and user
`names may be used in various combinations to access
`various levels of security and may be provided by the key
`10. The authentication function is particularly useful when
`combined with other functions provided in the same or
`different keylets.
`
`[0044] A second function made possible by the present
`invention relates to private and secure Internet access on
`multiple hosts 12. When a user normally accesses the
`Internet from a public or shared host system, the host's web
`browser does not contain the user's normal setup and
`preferences found on the user's home PC, but rather those of
`the host 12 being used. In addition, shared access may
`compromise the privacy of the owner of the host system as
`well as that of the user.
`
`[0045] With the present function, upon interaction of the
`key 10 with the host 12, a "private" web browser is launched
`from the host 12 upon execution of the keylet providing the
`function. Preferably, the keylet launches the web browser on
`the host and causes the web browser to fetch select infor(cid:173)
`mation relating to desired settings, preferences, bookmarks,
`and the like, from the key 10, thereby protecting the security
`and privacy of both the owner and the user of the system,
`while allowing the user to apply his preferences and infor(cid:173)
`ma

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