RELATED APPLICATIONS This application is a divisional of application Ser. No. 09/968,628, filed Oct. 1, 2001, and now pending, which claims the benefit of each of the following U.S. Provisional Patent Applications: (1) Application Ser. No. 60/156,356, filed Sep. 28, 1999; (2) Application Ser. No. 60/167,050, filed Nov. 23, 1999; (3) Application Ser. No. 60/184,425, filed Feb. 23, 2000; and (4) Application Ser. No. 60/217,542, filed Jul. 12, 2000.
FIELD OF THE INVENTION The present inventions are directed to novel systems and methods for engaging in transactions involving financial and/or non-financial media.
BACKGROUND OF THE INVENTION People often times carry wallets with them when they engage in their day to day activities. A typical wallet is made of leather or other suitable material, and is generally a foldable structure that readily fits into a pocket or purse. A wallet typically includes a number of pockets, pouches, or the like for storing items such as a driver's license, a social security card, identification cards, credit cards, debit cards, membership cards, commuter passes, access tools, business cards, cash, coupons, event tickets, transportation tickets, frequent customer cards (e.g., a frequent flier card), medical information cards, receipts, photographs, etc.
Wallets are frequently stolen, lost, or misplaced. When any of these events occurs, not only must the wallet itself be replaced, but all of the contents of the wallet must be replaced as well. As anyone who has lost a wallet can testify, replacing the contents of a wallet can be cumbersome and expensive. In addition, if a wallet is stolen or if a lost wallet falls into the wrong hands, the contents of the wallet may be used to engage in unauthorized activities which financially detriment the wallet owner, as well as any banks, credit issuers, and/or other institutions that issued financial media to the wallet owner.
While the wallet owner is generally able to “cancel” financial media in such situations by contacting the respective financial media issuers, often times this is done too late, i.e., after one or more media have been exploited by the unauthorized user. In some cases, the wallet owner may not recall all of the contents of the now stolen wallet, and so may fail to report theft of one or more items. Further, in addition to any cash contained in a lost or stolen wallet, many media issued by non-financial media issuers have a significant cash value, e.g., transportation tickets, event tickets, commuter passes, and the like, and therefore represent an immediate (and often times unrecoverable) financial loss to the wallet owner. Moreover, the misappropriation of media issued by non-financial media issuers that contain personal information, e.g., a drivers license, social security card, identification card, etc., present the opportunity for an unauthorized possessor of a wallet to engage in the practice known as “identity theft,” whereby the possessor may assume the identity of the wallet owner for various fraudulent purposes, e.g., using the assumed identity to obtain and exploit one or more new financial media.
SUMMARY OF THE INVENTION According to one aspect of the present invention, a method is disclosed for enabling a software module on a computer operated by a user to access restricted information on a server. With an electronic device distinct from the computer, an identity of the user is authenticated to determine that the user is permitted to access the restricted information on the server. In response to the electronic device authenticating the identity of the user, the software module on the computer is permitted to access the restricted information on the server.
According to another aspect, a method is disclosed for altering settings on a computer to correspond to settings on an electronic device distinct from the computer. With the electronic device, an identity of a user is authenticated to determine that the user is authorized to use the electronic device. In response to authenticating the identity of the user, the settings on the computer are altered to correspond to settings on the electronic device.
According to another aspect of the invention, a system for enabling a software module on a computer operated by a user to access restricted information on a server includes an electronic device which includes a user-authenticator to authenticate an identity of the user to determine that the user is permitted to access the restricted information on the server. The system further comprises means for, in response to the electronic device authenticating the identity of the user operating the computer, enabling the software module on the computer to access the restricted information on the server.
According to yet another aspect, a system for altering settings on a computer to correspond to settings on an electronic device distinct from the computer comprises a user authenticator included in the electronic device to authenticate an identity of a user to determine that the user is authorized to use the electronic device. The system further comprises means for, in response to authenticating the identity of the user, altering the settings on the computer to correspond to settings on the electronic device.
According to another aspect, an apparatus includes a housing; a user authenticator, supported by the housing, that authenticates an identity of a user; at least one memory, supported by the housing, that stores,transaction information for at least first and second media; and at least one output, supported by the housing, that releases at least a portion of the transaction information to a point-of-sale (POS) terminal after the user authenticator has authenticated the identity of the user.
According to another aspect of the present invention, a method involves steps of: (a) storing transaction information for at least first and second media in a memory of a device (b) using the device to authenticate an identity of a user; and (c) after authenticating the identity of the user with the device, transferring at least a portion of the transaction information from the device to a point-of-sale (POS) terminal.
According to another aspect of the present invention, an apparatus includes: a housing; at least one memory, supported by the housing, that stores transaction information for at least one media; a user authenticator, supported by the housing, that authenticates an identity of a user of the apparatus; and at least one output, supported by the housing, that, after the user authenticator has authenticated the identity of the user, releases an embedded identification code of the apparatus from the housing that enables a device receiving the embedded identification ID code to authenticate the identity of the apparatus.
According to another aspect of the present invention, a method involves steps of: storing transaction information for at least one media in a memory of a first device; using the first device to authenticate an identity of a user; and after authenticating the identity of the user with the first device, releasing an embedded identification code of the apparatus from the housing that enables a second device receiving the embedded identification code to authenticate the identity of the first device.
According to another aspect of the present invention, an apparatus includes: at least one memory that stores transaction information for at least first and second media; at least one input that enables a user to select one of the at least first and second media; a display that provides a visual indication to the user regarding which of the at least first and second media has been selected with the at least one input; and at least one output that selectively releases at least a portion of the transaction information to a point-of-sale (POS) terminal.
According to another aspect of the present invention, a method involves steps of: storing transaction information for at least first and second media in a memory of a device; receiving as input a user's selection of one of the at least first and second media; displaying a visual indication to the user regarding which of the at least first and second media has been selected; and transferring at least a portion of the transaction information from the device to a point-of-sale (POS) terminal.
According to another aspect of the present invention, an apparatus includes: at least one memory that stores transaction information for at least one financial media and at least one non-financial media; and at least one output that selectively releases at least a portion of the transaction information to a point-of-sale (POS) terminal.
According to another aspect of the present invention, a method involves steps of: storing transaction information for at least one financial media and at least one non-financial media in a memory of a device; and transferring at least a portion of the transaction information from the device to a point-of-sale (POS) terminal.
According to another aspect of the present invention, a system includes: a housing; at least one memory, supported by the housing, that stores transaction information for at least one media; a device releasably attached to the housing; and configuring means, supported by the housing, for selectively configuring the device to hold the transaction information so that the device may be used to engage in a transaction involving the at least one media.
According to another aspect of the present invention, a method involves steps of: (a) storing transaction information for at least one media in a memory of a first device, the first device having a second device releasably attached thereto; (b) while the second device is attached to the first device, configuring the second device to hold the transaction information for the at least one media based on the contents of the memory; (c) detaching the second device from the first device; and (d) using the second device to engage in a transaction involving the at least one media.
According to another aspect of the present invention, a system includes: a first device including a user authenticator that authenticates an identity of a user; and a second device releasably attached to the first device, wherein the second device holds transaction information for at least one media so that the second device may be used to engage in a transaction involving the at least one media, and wherein the second device is detached from the first device after the user authenticator has authenticated the identity of the user.
According to another aspect of the present invention, a method involves steps of: with a first device, authenticating an identity of a user; and after authenticating the identity of a user with the first device, detaching a second device from the first device, the second device holding transaction information for at least one media so that the second device may be used to engage in a transaction involving the at least one media.
According to another aspect of the present invention, a system includes: a first device; a second device that has the first device releasably attached thereto, the second device including means for selectively configuring the first device to hold transaction information for a first media but not for a second media so that the first device may be used to engage in a transaction involving the first media but not the second media, and the second device further including means for selectively configuring the first device to hold transaction information for the second media but not for the first media so that the first device may be used to engage in a transaction involving the second media but not the first media.
According to another aspect of the present invention,a method involves steps of: selectively configuring a device to hold transaction information for a first media but not for a second media so that the device may be used to engage in a transaction involving the first media but not the second media; and selectively configuring the device to hold transaction information for the second media but not the first media so that the device may be used to engage in a transaction involving the second media but not the first media.
According to another aspect of the present invention, a system includes: at least one memory that stores first transaction information for a first media; at least one output that selectively releases at least a portion of the first transaction information to a point-of-sale (POS) terminal; and means for enabling a person to whom the first media is issued to selectively add second transaction information for a second media to the memory.
According to another aspect of the present invention, a method involves steps of: storing first transaction information for a first media in a memory of a device; releasing at least a portion of the first transaction information to a point-of-sale (POS) terminal; and in response to a request by the person to whom the first transaction information is issued, adding second transaction information for a second media to the memory.
According to another aspect of the present invention, a system includes: at least one memory that stores first transaction information for a first media and second transaction information for a second media; at least one output that selectively releases at least a portion of the first transaction information to a point-of-sale (POS) terminal; and means for enabling a person to whom the first media is issued to selectively remove at least a portion of the second transaction information from the memory.
According to another aspect of the present invention, a method involves steps of: storing first transaction information for a first media and second transaction information for a second media in a memory of a device; releasing at least a portion of the first transaction information to a point-of-sale (POS) terminal; and, in response to a request by the person to whom the second media is issued, removing at least a portion of the second transaction information from the memory.
According to another aspect of the present invention, a system includes: at least one memory that stores transaction information for at least one media; at least one output that selectively releases at least a portion of the transaction information to a point-of-sale (POS) terminal; and means for enabling at least one functional characteristic of the at least one media to be altered by altering the contents of the least one memory.
According to another aspect of the present invention, a method involves: storing transaction information for at least one media in a memory of a device; releasing at least a portion of the transaction information to a point-of-sale (POS) terminal; and altering at least one functional characteristic of the at least one media by altering the contents of the least one memory.
According to another aspect of the present invention, an apparatus includes: a housing; a user authenticator, supported by the housing, that authenticates an identity of a user; at least one memory that, supported by the housing, stores first transaction information for a first media and second transaction information for a second media; and at least one output, supported by the housing, that releases the first transaction information only after the user authenticator has authenticated the identity of the user, and that releases the second information without requiring the user authenticator to have authenticated the identity of the user.
According to another aspect of the present invention, a method involves steps of: storing first transaction information for a first media and second transaction information for a second media in at least one memory of a device; using the device to authenticate an identity of a user; releasing the first transaction information only after the identity of the user has been authenticated; and releasing the second transaction information without requiring the identity of the user to be authenticated.
According to another aspect of the present invention, a system includes: a first device; and a second device having the first device releasably attached thereto such that, when the first device is attached to the second device, the second device causes the first device to generate a machine-readable code for only a predetermined, finite period of time after the first device is detached from the second device.
According to another aspect of the present invention, a method involves a step of generating a machine-readable code on a device for only a predetermined, finite period of time.
According to another aspect of the present invention, an apparatus includes: a portable substrate; a power supply supported by the substrate; and at least one controller supported by the substrate and powered by the power supply, the at least one controller being configured to generate a simulated magnetic stripe on the substrate.
According to another aspect of the present invention, an method involves a step of generating a simulated magnetic stripe on a portable device.
According to another aspect of the present invention, a system includes: at least one memory that stores transaction information for at least one media; a user authenticator that authenticates an identity of the user; and a display that provides a visual indication to the user regarding the at least one media, the visual indication being displayed for only a predetermined, finite period of time after the user authenticator has authenticated the identity of the user.
According to another aspect of the present invention, a method involves steps of: authenticating an identity of a user; and displaying a visual indication to the user regarding the at least one media for only a predetermined, finite period of time after authenticating the identity of the user.
According to another aspect of the present invention, a system includes a portable device that can be used to engage in point-of-sale (POS) transactions; and a device remote from the portable device, that can disable an ability of the portable device to engage in POS transactions.
According to another aspect of the present invention, a method involves steps of: providing a portable device that can be used to engage in point-of-sale transactions; and at a location remote from the portable device, disabling an ability of the portable device to engage in POS transactions.
According to another aspect of the present invention, a method involves steps of: storing transaction authorization information for at least two media in a first memory of a first device; and storing the transaction authorization information for the at least two media in a second memory, which is disposed at a location remote from the first device.
According to another aspect of the present invention, a system includes: a first device; and a second device having the first device releasably attached thereto such that, when the first device is attached to the second device, the second device can cause the first device to generate a machine-readable code after the first device is detached from the second device, the second device including at least one controller configured so as to be capable of causing the first device to generate the machine-readable code only for a finite, predetermined period of time.
According to another aspect of the present invention, a method involves a step of configuring a first device such that the first device is capable, for only a predetermined, finite period of time, of generating a machine-readable code on a second device.
According to another aspect of the present invention, a method involves steps of: receiving information at a first device that has been transmitted over an electronic communication link; and after receiving the information at the first device, using a media at the first device to access a quantity of credit or cash reserves that could not be accessed prior to the first device receiving the information.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a block diagram illustrating an example of a network system in which a portable electronic authorization device (also referred to herein as a “Pocket Vault”) may be employed according to one embodiment of the invention;
FIG. 2 is a block diagram showing an illustrative embodiment of the Pocket Vault shown inFIG. 1;
FIG. 3 is a block diagram showing an illustrative embodiment of one of the interface stations shown inFIG. 1;
FIG. 4 is a block diagram showing an illustrative embodiment of the network server(s) shown inFIG. 1;
FIG. 5 is a diagram showing an example of how the memory of the Pocket Vault shown inFIG. 2 may be configured in accordance with one embodiment of the invention;
FIG. 6 is a block diagram showing an illustrative embodiment of the token (e.g., a card) associated with the Pocket Vault shown inFIG. 2;
FIG. 7 is a flow diagram illustrating a primary routine that may be executed by the controller of the Pocket Vault shown inFIG. 2;
FIG. 8 is a flow diagram illustrating an example implementation of the PROCESS POCKET VAULT VALIDATION routine shown inFIG. 7;
FIG. 9 is a flow diagram illustrating an example implementation of the UNAUTHORIZED HOLDER routine shown inFIG. 7;
FIG. 10 is a flow diagram illustrating an example implementation of the AUTHORIZED HOLDER routine shown inFIG. 7;
FIG. 11 is a flow diagram illustrating an example implementation of the PROCESS CARD TRANSACTION routine shown inFIG. 10;
FIG. 12 is a flow diagram illustrating an example implementation of the VERIFY CARD RETURN routine shown inFIG. 7;
FIG. 13 is a flow diagram illustrating an example implementation of a primary routine that may be executed by the controller of the pocket vault interface unit shown inFIG. 3;
FIG. 14 is a flow diagram illustrating an example implementation of a primary routine that may be executed by the controller of the interface station computer shown inFIG. 3;
FIG. 15 is a flow diagram illustrating an example implementation of the PROCESS REQUEST TO VALIDATE POCKET VAULT routine shown inFIG. 14;
FIG. 16 is a flow diagram illustrating an example implementation of the PROCESS REQUEST TO UPDATE INFO ON POCKET VAULT routine shown inFIG. 14;
FIG. 17 is a flow diagram illustrating an example implementation of the PROCESS REQUEST TO AUTHORIZE TRANSACTION routine inFIG. 14;
FIG. 18 is a flow diagram illustrating an example implementation of the PROCESS UNSUCCESSFUL OPERATOR AUTHENTICATION routine shown inFIG. 14;
FIG. 19 is a flow diagram illustrating an example implementation of a primary routine that may be executed by the controller(s) of the network server(s) shown inFIG. 4;
FIG. 20 is a flow diagram illustrating an example implementation of the PROCESS REQUEST TO REGISTER NEW POCKET VAULT HOLDER routine shown inFIG. 19;
FIG. 21 is a flow diagram illustrating an example implementation of the PROCESS REQUEST BY MEDIA ISSUER/ADVERTISER TO UPDATE NETWORK SERVER routine shown inFIG. 19;
FIG. 22 is a flow diagram illustrating an example implementation of the PROCESS REQUEST TO UPDATE INFO ON POCKET VAULT routine shown inFIG. 19;
FIG. 23 is a flow diagram illustrating an example implementation of the PROCESS REQUEST FROM HOLDER TO LOAD NEW FILE ONTO NETWORK SERVER routine shown inFIG. 19;
FIG. 24 is a flow diagram illustrating an example implementation of the PROCESS REQUEST TO AUTHORIZE TRANSACTION routine shown inFIG. 19;
FIG. 25 is a flow diagram illustrating an example implementation of the AUTHORIZED POCKET VAULT USE? routine shown in each ofFIGS. 20, 22, and24; and
FIGS. 26a-26pare illustrations of the portable electronic authorization device, as well as the token (e.g., a card) associated therewith, as these items may appear when in use;
FIG. 27 is a block diagram illustrating several additional features that may optionally be added to a network system such as that shown inFIG. 1 so as to enhance the functionality of the network;
FIG. 28 is a block diagram illustrating example components that may optionally be added to software executing on a controller of the Pocket Vault, such as the software described in connection withFIGS. 7-12, so as to enhance the functionality of the Pocket Vault in a network environment;
FIG. 29 is a data flow diagram illustrating an example of how data may flow between the Pocket Vault and a user interface of an interface station computer to which the Pocket Vault is interfaced/docked;
FIG. 30 is a flow diagram illustrating an example of a primary routine that may be executed by a website on the network server(s) shown inFIG. 27, which website may be accessed, for example, by a browser executing on the interface station computer shown inFIG. 27;
FIG. 31 is a flow diagram illustrating an example implementation of the INSTALL DRIVER(S) routine shown inFIG. 30;
FIG. 32 is a flow diagram illustrating an example implementation of the NEW POCKET VAULT HOLDER routine shown inFIG. 30;
FIG. 33 is a flow diagram illustrating an example implementation of the EXISTING POCKET VAULT HOLDER routine shown inFIG. 30;
FIG. 34 is a flow diagram illustrating an example implementation of the CARD LOADING routine shown inFIG. 33;
FIG. 35 is a flow diagram illustrating an example implementation of the SYNCHRONIZATION routine shown inFIG. 33;
FIG. 36 is a flow diagram illustrating an example implementation of the RECOVERY routine shown inFIG. 33;
FIG. 37 is a flow diagram illustrating an example implementation of the IDENTITY PORTING SELECTION routine shown inFIG. 33;
FIG. 38 is a flow diagram illustrating an example implementation of the BACKUP routine shown inFIG. 33; and
FIG. 39 is a flow diagram illustrating an example implementation of the SET PREFERENCES routine shown inFIG. 33.
DETAILED DESCRIPTION A new method and system for producing, distributing, storing, and using the typical contents of an individual's wallet is disclosed herein. Essentially, the system may enable individuals to replace nearly all of the paper and plastic contents of their wallets with a single, hand-held portable electronic authorization device. The system may include the portable electronic authorization devices, removable morphing tokens or cards associated with such devices, associated computer peripherals, software and certain network capabilities. As a whole, the system may eliminate virtually all of the distribution costs and security concerns associated with paper and plastic media.
Because the device may incorporate many different media that are commonly stored in a person's wallet, possibly including both financial and non-financial media, it is much more than a simple point-of-sale (POS) device. Therefore, the device may be more appropriately referred to as a multi-purpose, “point-of-transaction” device. In any situation of presentment, whether for purposes such as building security, demonstrating membership or using credit or debit capacity, the system is designed to perform tasks more safely, securely and with greater ease than is possible with prior art systems. Further, while certain computer technologies are involved, the preferred embodiment is such that some people may barely recognize it as a computer, seeing instead a more comfortable to carry, easier-to-use, safer and more securely packaged means of transporting typical wallet contents.
The system's business model may comprise an independent organization acting as a media-neutral, multi-service provider of other issuers' various financial and non-financial media, that also may enable individuals and retailers to add or create their own secure (and where appropriate, non-secure media) using a device with a self-contained set of authentication security features, which may even be password-free. This device may operate over existing financial transaction networks, while also having links to a highly secure network system for certain functionality. The self-contained authentication functionality of the device itself ensures privacy, while providing sufficient accountability/traceability to satisfy law enforcement concerns.
Anetwork system100 configured according to one illustrative embodiment of the invention is shown inFIG. 1. As shown, thenetwork system100 may include a portable electronic authorization device102 (alternatively referred to herein as a “Pocket Vault”) and an associated token102a(alternatively referred to herein as a “Chameleon Card”). Each person desiring to use thenetwork system100 may possess his or her own thePocket Vault102 and associated token102a. Some individuals may choose to own multiple Pocket Vaults or Chameleon Cards. The system and software therefore may accommodate the use of multiple Pocket Vaults and multiple Chameleon Cards by one individual.
Referring toFIG. 1, in addition to thePocket Vault102, thenetwork system100 may include one ormore network servers114 to which various other network components are coupled. Although multiple, load-sharingnetwork servers114 may be employed in a typical application, the network server(s)114 will hereinafter, for convenience, occasionally be referred to as asingle network server114. Coupled to thenetwork server114 are: several different types of interface stations104 (i.e., avalidation interface station104a, a personal interface station104b, and acommercial interface station104c), one or morecommercial card readers106, one or more commercialbar code readers107, andseveral computers108,110, and112 operated by one or more advertisers, non-financial media issuers, and financial media issuers, respectively. The structure and functionality of each of the components of thenetwork system100 in accordance with illustrative embodiments of the invention are described below.
As shown inFIG. 1, thenetwork server114 may form the hub of thenetwork system100, with each of theinterface stations104, thecommercial card reader106, the commercialbar code reader107, and thecomputers108,110, and112 being coupled thereto. As discussed in more detail below, thenetwork server114 may therefore serve as: (1) a repository of information for the network, (2) the entity that controls access to the stored information by the other network devices, and (3) a service provider for financial and non-financial media issuers, advertisers, as well as Pocket Vault holders.
Any of a number of techniques may be used to interconnect the various elements of thenetwork system100, and the invention is not limited to any particular networking technique. In one illustrative embodiment, for example, thenetwork server114 is coupled to the other elements in thenetwork system100 via the Internet or similar packet-switched communication system. Alternatively, dedicated or selectively established (e.g., using a dial-up modem) communication channels or time slots thereof may be employed between the respective devices. The connections between the network devices may be either hardwired (including fiber optic connections) or wireless (e.g., infrared (IR) or radio frequency (RF) links).
As shown inFIG. 1, thePocket Vault102 may be interfaced with any of theinterface stations104a-cso as to permit information to be uploaded from thenetwork server114 to thePocket Vault102, or to be downloaded from thePocket Vault102 to thenetwork server114. In one illustrative embodiment, each of theinterface stations104 includes a docking mechanism that permits aPocket Vault102 to be physically, as well as electronically, interfaced therewith. In such an embodiment, once thePocket Vault102 is physically “docked” with aninterface station104, thePocket Vault102 may communicate with theinterface station104 using any now known or later discovered technique. For example, physical contact may be made between respective electrodes or plugs, a line of sight (e.g., infrared) wireless link may be established, or any other interfacing technique may be employed.
ThePocket Vault102 may additionally or alternatively be configured such that it need not be physically docked with or even in the same room as theinterface station104, as a wireless network such as Bluetooth may be employed to permit communication between devices on thenetwork system100. In fact, in some embodiments wherein appropriate networking capabilities are provided, eachPocket Vault102 may communicate directly with thenetwork server114, without theinterface stations104a-cfacilitating communication therebetween. In addition, in some embodiments, Pocket Vaults102 may communicate directly with one another. In such embodiments, such inter-device communication may permit value to be exchanged directly between Pocket Vaults102.
The personal docking station104bmay allow setting or changing of user preferences, recording of miscellaneous information by the Pocket Vault holder, replenishment or deletion of information regarding particular media, and may also permit additional media (e.g., a library card) to be added to the device. The Pocket Vault holder may, for example, directly add non-value-based media (e.g., a membership number for the local Historical Society) and notes to thePocket Vault102. In one embodiment, value-based and certain identification media (a driver's license, passport, building security ID, etc.) may be added or reinstated only through a secure connection to the network server114 (as described below), in response to an update request from the Pocket Vault holder. In addition, the personal interface station may provide a mechanism to download transaction activity involving thePocket Vault102 into an individual's home computer. There are many users of home finance software. These applications can be relatively “data hungry,” and commonly require users to download checking and debit card data from their banks (or key it in manually) and to key in the details of credit card and cash purchases. All of this keying and internet file downloading from third parties may be replaced by a simple docking procedure, i.e., when thePocket Vault102 is interfaced with the personal docking station102b.
As shown inFIG. 1, and as described below in more detail, thePocket Vault102 may be equipped to generate the token102asuch that the token102ahas transactional information regarding a media (e.g., a simulated magnetic stripe or a bar code) produced thereon. In such an embodiment, after the token102ahas been generated, the token102amay be used by the Pocket Vault holder to engage in a transaction wherein an entity swipes the simulated magnetic stripe of the token102athrough acard reader106 or scans the bar code on the token102ausing abar code reader107. Additionally or alternatively, the token102amay include a suitable Smartcard interface so that theChameleon Card102 may be used with Smartcard compatible devices.
Because the token102amay be caused to take on a different personality each time it is released from thePocket Vault102, a plurality of media may be stored electronically in memory of thePocket Vault102, and the token102amay, upon request, be generated to take on the personality selected by the Pocket Vault holder. The respective media stored on thePocket Vault102 may be issued by different and unrelated media issuers. As used herein, two media issuers are “unrelated” if there exists no legal relationship between them. The token102amay also have display capacity, sufficient to indicate the media personality that it has taken on. This may or may not include display of the specific identity that is temporarily encoded on the token102a. In some embodiments, value may be exchanged between twoPocket Vaults102 when one thePocket Vault102 generates a token102ahaving a value-based or value-linked media stored thereon, and the token102aso generated is passed to the other thePocket Vault102, which then may then access the media and extract value therefrom or add value thereto. As mentioned above, this sort of value exchange may also be accomplished directly between twoPocket Vaults102 over a wireless network, such as Bluetooth.
As discussed in more detail below, in addition to or in lieu of the token102a, thePocket Vault102 may also generate a bar code for a selected media on the Pocket Vault's display (not shown inFIG. 1), and thebar code reader107 may be used to scan the displayed bar code to process a transaction. Further, a transaction may be processed via acommercial interface station104ceither by use of a docking terminal or via a wireless network scheme such a Bluetooth. In one embodiment, somecommercial interface stations104cmay comprise an interface station linked to a standardcommercial card reader106 or commercialbar code reader107, with thecard reader106 orbar code reader107 being modified to accept input from the station.
To permit the Pocket Vault holder to select from among the various media stored in memory of thePocket Vault102, thePocket Vault102 may comprise a display (not shown inFIG. 1). By employing either a display having a user-manipulable touch screen or a separate user input device (not shown inFIG. 1), a Pocket Vault holder can effectively flip through the contents of thePocket Vault102 to locate and select a desired media (e.g., a credit card, driver's license, library card, frequent flier card, etc.) much like a person can flip through the contents of his or her wallet to do the same.
The use of a display on thePocket Vault102 also creates an opportunity for media providers to go from a static presentation of their brand (logo, etc.) to having the option of dynamic branding and messaging. In addition, using the display, the presentment of active marketing at the “moment of buying decision” is possible. Specifically, the logo and message displayed to the Pocket Vault holder may incorporate motion, moving images and messages. To conserve power, moving images may be presented only at certain times, e.g., in response to internal or external events or communications.
In the embodiment ofFIG. 1, thecomputers108,110, and112, together with thenetwork server114, may represent a secure infrastructure of server databases capable of storing information for purposes of delivering personalized services to holders of Pocket Vaults102. Thenetwork server114 may also track activity of Pocket Vault holders and compile marketing information based thereupon that may prove useful to media issuers and/or advertisers. The Pocket Vault holder may have control over the ability of thenetwork server114 to track activity. The information maintained on thenetwork system100 may originate with the holders of Pocket Vaults102 and/or may originate with the other entities having access to the network system100 (e.g., advertisers and media issuers).
As discussed below in more detail, in some embodiments of the invention, certain uses of thePocket Vault102, as well as each of theinterface stations104a-c,may be permitted only by pre-authorized individuals. To this end, a suitable user authentication technique may be employed in connection with each attempted use of any of these devices. One suitable user authentication technique that may be employed is the analysis of a bio-metric feature of the individual attempting use of the device (e.g., a fingerprint scan, retina scan, a speech pattern analysis, keystroke rhythm, etc.), and validating the identity of the individual on that basis. Alternatively or additionally, a personal identification (PIN) code may be entered by the holder to verify the holder's identity. In one illustrative embodiment, authentication information used to validate the holder's identity (e.g., the stored fingerprint and/or PIN code) is stored within the to-be-accessed device, and the validation is performed in its entirety on-board the same device, such that the user-specific authentication information never leaves the device in which it is stored. Thus, using this technique, the likelihood that such information will be intercepted by unauthorized third parties may be reduced significantly.
It should be appreciated that, for some applications, it may be desirable to receive and store authentication information (e.g., fingerprint data) of some or all Pocket Vault holders in thenetwork server114. Accordingly, in some embodiments, such authentication information may be maintained by thenetwork server114. This authentication information may be transmitted to thenetwork server114, for example, when Pocket Vaults102 are first validated.
As discussed below, great care may be taken to ensure that only authorized individuals are permitted to validatePocket Vaults102 by having their authentication information (e.g., their fingerprint data or PIN codes) stored therein. Therefore, after it has been confirmed that the holder's authentication information has been properly stored in thePocket Vault102, a trust relationship may be established between thenetwork server114 and thePocket Vault102. This relationship may involve, for example, the registration of a unique encrypted chip ID of thePocket Vault102 with thenetwork server114 through a secure Internet connection, the distribution of a digital certificate (e.g., a PKI certificate) to thePocket Vault102, and the grant of authority to thePocket Vault102 to permanently store the Pocket Vault holder's authentication information.
A similar level of care may also be taken to ensure that only authorized individuals are permitted to validateinterface stations104a-cby having their authentication information (e.g., their fingerprint data or PIN codes) stored therein. Therefore, as with the Pocket Vaults102, after it has been confirmed that each interface station's authorization information has been properly stored in theinterface station104, a trust relationship may be set up between thenetwork server114 and theinterface station104. This relationship may also involve, for example, the registration of a unique encrypted chip ID of theinterface station104 with thenetwork server114 through a secure Internet connection, the distribution of a digital certificate to theinterface station104, and the grant authority to theinterface station104 to permanently store the interface station operator's authentication information. While, in some embodiments, thePocket Vault102 and/or theinterface stations104 are each permitted to store authentication information for only one individual, it should be appreciated that, in alternative embodiments, thePocket Vault102 and/or theinterface stations104 may each store authentication information for more than one individual, thereby permitting multiple people to use them.
Because of the creation of the above-described trust relationships, eachPocket Vault102 and eachinterface station104 may communicate securely with thenetwork server114, as well as with any other networked devices or sites that require a high-level of trust. Also, the existence of these trust relationships enable individual Pocket Vaults102 to accept other services provided by thenetwork servers114, such as the backup and recovery of information stored within the Pocket Vaults102. That is, thenetwork servers114 can serve as a repository for all of the information stored on every validated Pocket Vault102 (except the holder's authentication information—which, in some embodiments, is stored only in the Pocket Vault102). To ensure that thenetwork server114 stores an accurate version of the contents of eachPocket Vault102, information may, for example, be uploaded from thenetwork server114 to aPocket Vault102 or downloaded from thePocket Vault102 to thenetwork server114 each time thePocket Vault102 is interfaced with any of theinterface stations104a-c.Therefore, if aPocket Vault102 is lost or stolen, the Pocket Vault holder need only obtain anew Pocket Vault102, and the entire contents of the lostPocket Vault102 can be uploaded thereto, in a single communication, in a matter of seconds. In addition, in the event that a validatedPocket Vault102 is lost or stolen, thenetwork server114 may void the chip ID of thatPocket Vault102, so that thePocket Vault102 cannot be used by a third party, even if the holder validation security (e.g., the bio-metric scanning or PIN entry requirement) is somehow breached. Voiding the chip ID of thePocket Vault102 may, for example, prevent thePocket Vault102 from assigning any media information to the associated Chameleon Card.
In addition to serving as a repository for Pocket Vault information, thenetwork server114 may also serve as a repository for information regarding media issuers or advertisers, and may further provide various services to these entities. For example, thenetwork server114 may facilitate transactions involving media issued by media issuers, and may permit new media to be issued or lost media to be replaced at a fraction of the cost of generating new physical tokens or replacing lost ones. Additionally, thenetwork server114 may serve as a conduit for advertisers to target particular classes of Pocket Vault holders, and channel information to them. Thenetwork server114 may also function as an advocate for Pocket Vault holders, advertisers, and/or media issuers when it utilizes its portfolio of Pocket Vault holders, media issuers, and/or advertisers to secure privileges. Examples of such advocacy include the ability to secure buying power for Pocket Vault holders as a group or to provide media issuers and advertisers with a highly efficient tool for generating awareness for affinities or causes that fit appropriate holder markets. In sum, the services provided by thenetwork server114 enable Pocket Vault holders to combine and manage their media data using a single, hand-held device, and enables advertisers and media issuers to understand more about, and more readily reach more of, their customers than ever before.
FIG. 2 shows an example embodiment of thePocket Vault102 ofFIG. 1. ThePocket Vault102 may employ components similar to those used in modern personal digital assistants (PDAs) and palm top computers. Examples of such products include PDAs such as the “Palm Pilot” from Palm, Inc. (www.palm.com), and the “Casiopedia” from Casio, Inc. of Dover, N.J. (www.casio.com). As shown, thePocket Vault102 may include acontroller202, as well as atransceiver204, auser input device206, adocking interface208, a read/write memory210, a write-once memory212, apower manager214, anindicator215, adisplay216, atoken port218, and afingerprint scanner220, all coupled to thecontroller202. In addition, thePocket Vault102 may include a hard-wired memory (not shown) to store device serial numbers and key operating system and encryption software components.
Actual views of an example embodiment of thePocket Vault102, as well as the token102aassociated therewith, are shown inFIGS. 26A-26P. The views of FIGS.26A-P, including the items displayed on thedisplay216, are discussed in more detail below in connection with the flow diagrams ofFIGS. 7-12. At this point, however, with reference to FIGS.26A-L and260, it may be noted that thePocket Vault102 may comprise ahousing2602 in which the components shown inFIG. 2 may be disposed. As illustrated inFIGS. 26E and 26F, thehousing2602 may be approximately seventy millimeters wide, approximately one hundred millimeters long, and approximately fifteen millimeters deep. Thus, in the embodiment shown, thehousing2602 has an internal volume of less than 105 cubic centimeters. Of course, in alternative embodiments, thehousing2602 may be slightly larger or smaller than that shown. For example, in different embodiments, thehousing2602 may have an internal volume of less than five hundred cubic centimeters, or less than four hundred cubic centimeters, or less than three hundred cubic centimeters, or less than two hundred cubic centimeters, or less than one hundred cubic centimeters, or less than any other volume value that falls between one hundred and five hundred centimeters. In one embodiment, thehousing2602 is sized so that thePocket Vault102 may readily fit into the rear pocket of a pair of pants. One feature of the illustrative embodiment of thePocket Vault102 shown inFIG. 2 which may permit its size to be reduced below that of a standard personal computer is the fact that the embodiment shown lacks a disk drive (either hard or floppy) or any similar memory storage device (e.g., a tape drive) that consumes a significant volume within thehousing2602. It should be appreciated, of course, that alternative embodiments may include such memory devices, and that the invention is not necessarily limited to embodiments that exclude them. In addition to the lack of a disk drive or the like, in some embodiments, thepower manager214 may reduce the power consumption of the active components of thePocket Vault102 well below that of a standard personal computer, thereby enabling a very small and light weight battery to be employed, as opposed to the relatively large and heavy batteries typically employed in personal computers.
Thehousing2602 may provide a water-resistant or waterproof environment for the components housed thereby. The housing materials of Pocket Vaults102 may be brightly colored, in addition to traditional black or brown, thereby helping their holders to make a fashion statement and/or permitting them to be readily spotted if misplaced. Deluxe versions may be clad in leather, Kevlar™, Gortex™, aluminum and/or stainless steel. In some embodiments, thehousing2602 may even be woven into garments.
Referring again toFIG. 2, any of a number of devices may be used to implement thecontroller202, and the invention is not limited to any particular type of controller. In one illustrative embodiment, for example, thecontroller202 comprises a low-power multiprocessor or microcomputer having an on-board SRAM and/or flash memory and a real time clock calendar. One example of a suitable controller is the “Motorola Dragonball” Processor from Motorola, Inc. (www.motorola.com). Thecontroller202 may include a software-programmable and encryption-protected or hard-wired unique chip ID. In one embodiment, this chip ID is released from thePocket Vault102 only after the fingerprint scanner220 (discussed below) has successfully authenticated the identity of the holder. A signal processor for Bluetooth or another wireless connection may also be employed within or along with thecontroller202.
Thetransceiver204 may be any type of transceiver (or separate transmitter and receiver) capable of communicating with the other devices in thenetwork100 to enable the functionality described herein. For example, either an RF or an IR transceiver may be employed. Some embodiments may, in fact, include both an IR and an RF transceiver to be used in different applications. For example, an IR transceiver may be employed to interface the Pocket Vault with a “docking station” type interface unit, and a separate RF transceiver may be employed to communicate over a wireless network such as Bluetooth.
In one illustrative embodiment, theuser input device206 is implemented as part of a touch-screen display used as the display216 (described below). Additionally or alternatively, theuser input device206 may include dedicated buttons, a keypad, a touch pad, a microphone and speech recognition software, a wand or joystick, or any other suitable implement that permits a person to provide input to thecontroller202. Theuser input device206 may also be integrated into thefingerprint scanner220 or into an alternative bio-metric input device. By manipulating theuser input device206, a Pocket Vault holder may select one of a number of media stored in memory of thePocket Vault102 for display and/or use in connection with a transaction, and may otherwise control or provide input to software executing on thecontroller202. In one embodiment, a keypad is employed as theuser input device206, thereby permitting the holder to input a PIN code as a means of authenticating the holder's identity.
Thedocking interface208 may take on any of numerous forms, and the invention is not limited to any particular type of interface device. Thedocking interface208 may, for example, include a multi-pin plug adapted to mate with a receptacle disposed on theinterface units104a-c,or vice versa. Thedocking interface208 may also comprise one or more implements (e.g., grooves or keys) to ensure that the plug orother docking interface208 mates correctly with the reciprocal device on aninterface unit104 when the two are physically mated together.
The read/write memory210 may take on any of a number of forms, and the invention is not limited to any particular type of memory. Thememory210 may, for example, comprise a suitable non-volatile SRAM. Similarly, any suitable memory device that permits a only single write operation to take place may be employed as the write-oncememory212. Thememory210 may have instructions stored therein which, when executed by thecontroller202, cause thecontroller202 to implement the routines/software described below in connection withFIGS. 7-12 and/orFIG. 28. Of course, thememory210 may also contain a suitable operating system (e.g., Palm OS, Microsoft's Windows CE, Microsoft's Windows for Smartcards, or some similar offering), appropriate device drivers, and other software employed in connection with thecontroller202 and/or the peripherals thereof. Thememory210 may also be used to store the various media and personal information retained by thePocket Vault102. In one illustrative embodiment, thememory210 stores a plurality of different media issued by different and unrelated media issuers, including both financial (e.g., a credit or debit card) and non-financial media (e.g., a drivers license or a library card). Other examples of media or information that may be stored in thememory210 include: a social security card, identification cards, membership cards, discount cards, commuter passes, toll passes, transit cards, access tools such as hotel keys, business cards, coupons, concert and theatre tickets, transportation tickets, frequent customer cards (e.g., a frequent flier card), medical information cards, receipt information, photographs, etc.
As used herein, “financial media” refers to any media which can, as a matter of course, be used to purchase goods or services, whereas “non-financial media” refers to any media which, while possibly having some value to the Pocket Vault holder, cannot, as a matter of course, be used to purchase goods or services. Examples of financial media include value-linked and value-based media such as debit or credit cards issued by a bank or other financial institution, telephone calling cards, etc. Examples of non-financial media include: library cards, driver's licenses, building access cards, etc. In one embodiment, thememory210 is large enough to store as many as one hundred compressed graphic image files, and full data sets for as many as one hundred types of media.
In addition, thememory210 may store status information, where useful, for each type of media. Examples of this sort of status information include: information regarding the value remaining on a pre-paid phone card, information regarding an accumulated number of frequent flier miles, information regarding a total number of cups of coffee that have been purchased at a particular coffee shop (e.g., in connection with a buy-ten-get-one-free special), etc. The portion of thememory210 devoted to memory storage may be divided into three sections: (1) a high-security section, (2) a medium security section, and (3) a non-secure section. The high security section may be used to store value-based or value-linked media such as debit and credit cards and certain ID information such as driver's licenses, passports, building security passes, etc. The medium security section may be used to store low-value, limited use media that may be accessed, for example, by retailers to keep track of frequent purchase credits or the like. The non-secure section may, for example, be used to store notes, membership ID records, emergency contact information, etc. Access to the information included in the various sections may require security or user authentication procedures commensurate with the indicated security level. For example, an accurate fingerprint scan and an accurate pin code entry may be required to access the high-security section, only an accurate PIN code entry (even by the retailer) may be required to access the medium-security section, and anyone may be permitted to access the non-secure section.
Thepower manager214 may comprise any of numerous devices, and the invention is not limited to any particular type of power supply/management device. The power manager may, for example, employ a flat, rechargeable, lithium battery, and associated regulator and power management software. Alternatively, the battery used may be non-rechargeable and/or coin cell-shaped. Solar powered cells may also be a viable option as at least a supplement to battery power, if not a primary source of power for thePocket Vault102. This may be made possible because of the typically modest on-time requirements for aPocket Vault102. Power management software may also assist in minimizing the power consumption of thePocket Vault102. Such software may, for example, invoke an auto-shutdown feature after a preference-set number of seconds, may control the level of screen back-lighting in response to feedback received from a photo-sensor that registers ambient light, and/or may provide battery charge level warnings to Pocket Vault holders.
Theindicator215 may be any device capable of generating a perceptible indication to the holder such as a bell, chime, buzzer, light, vibration, etc., and the invention is not limited to any particular type of device for accomplishing such a result. In one embodiment, for example, the indicator is a chime generator that generates a “chime” sound that can be heard by the Pocket Vault holder.
Any of a number of devices may also be used for thedisplay216, and the invention is not limited to any particular type of display. As mentioned above, in one embodiment, a touch-screen display may be employed such that at least a portion of the functionality of theuser input device206 may be incorporated therein. Suitable displays may, for example, include any of a black & white, gray-scaled, or color LCD display, or an LCD bi-stable display.
As mentioned above, the use of thedisplay216, together with the user input device206 (which may constitute the touch-screen functionality of the display216) permits the Pocket Vault holder to flip or scroll through the various media stored in thememory210 in much the same way as a person flips through the contents of his or her wallet. As mentioned above in connection with the description of theindicator215, in addition to or in lieu of thedisplay216, other user output devices may also be employed to provide information to the Pocket Vault holder. For example, light emitting diodes (LEDs), a beeper or buzzer, a speech synthesizer, a vibrator, etc., may be employed in some embodiments of thePocket Vault102.
Thetoken port218 of thePocket Vault102 may comprise a cavity or slot in which the token102ais retained until it is released to be used to engage in a transaction, as well as the hardware employed to secure the token102ain place when the token102ahas not been authorized to be released. In one embodiment, the token102astores a unique (and possibly encrypted) chip ID which is accessible to another device only when the token102ais successfully released form thetoken port218. In addition to the elements described above, thecard port218 may include additional hardware employed in connection with properly generating or configuring the token102aprior to its release. This hardware is discussed in more detail below in connection withFIG. 6.
Thefingerprint scanner220 may comprise any device capable of accurately scanning a fingerprint of an individual for comparison with one or more fingerprint images stored in memory. Thefingerprint scanner220 may, for example, be a solid-state (non-optical) device. Devices that may be suitable for use as thefingerprint scanner220 are available, for example, from Veridicom, Inc., of Santa Clara, Calif. (www.veridicom.com), from Polaroid Corporation of Cambridge, Mass. (www.polaroid.com), and from Identix Incorporated of Sunnyvale, Calif. (www.identix.com). Thefingerprint scanner220 may incorporate a temperature sensor that enables it to ensure that a live finger is contacting the scanning surface when the scanning function is employed. In addition to or in lieu of a fingerprint scanner, other bio-metric scanning devices may also be employed to verify the identity of the holder. For example, some embodiments may employ a charge coupled device (CCD) to serve as an iris or retina scanner, an optical sensor, and/or a voiceprint. Alternatively or additionally, a keystroke rhythm may be measured, either alone or in combination with another user authentication technique (e.g., a successful PIN code entry requirement), to validate the identity of the holder. Thefingerprint scanner220 and/or other bio-metric scanners may have touch pad capabilities built into them, thereby permitting them to constitute at least a part of theuser input device206 shown inFIG. 2.
FIG. 3 is a block diagram showing an example embodiment of one of theinterface stations104a-cshown inFIG. 1. The hardware employed to implement each of thestations104a-cmay be identical to the others or may be substantially different, depending on the environment in which thestation104 is to be used, as well as the functional requirements of the particular station. Therefore, while the example embodiment described herein may be suitable for use as any of the stations, it should be appreciated that each of the stations may, in fact, be configured quite differently than the others.
As shown inFIG. 3, eachinterface station104 may include both an theinterface station computer304 and a pocketvault interface unit302. Theinterface station computer304, for example, may be a standard desktop personal computer (PC), and may, as shown, comprise acontroller308, auser input device318, amemory320, amodem322, and adisplay324. These components are well known in the art and therefore will not be described in detail herein. Thememory320 of theinterface station computer304 may have instructions stored therein which, when executed by thecontroller308, cause the controller to implement the routine described below in connection withFIGS. 14-18 as well as any other software, e.g., a browser, drivers, etc., executing on theinterface station computer304.
The pocketvault interface unit302 is coupled to theinterface station computer304 such that acontroller306 of the pocketvault interface unit302 can communicate with thecontroller308 of theinterface station computer304. The communications interface between these devices may, for example, comprise a Smartcard, Bluetooth or USB interface. As shown, in addition to thecontroller306, the pocketvault interface unit302 may comprise atransceiver310, adocking interface312, afinger print scanner316, astripe reader315, and amemory314. Further, although not shown inFIG. 3, the pocketvault interface unit302 may also comprise a display and/or another device used to provide feedback to the operator, e.g., an audio indicator or LED.
Thestripe reader315 may be any conventional device for electronically reading the magnetic stripe on a token card such as a credit/debit card or drivers license. Thestripe reader315 may be used, for example, to read information from a token card so that such information can be downloaded to thenetwork server114 or thePocket Vault102.
Thememory314 may be any conventional memory suitable to store the software executed by thecontroller306, as well as any data, e.g., stored fingerprint data, used in connection therewith. For example, thememory314 of the pocketvault interface unit302 may have instructions stored therein which, when executed by thecontroller306, cause thecontroller306 to implement the routine described below in connection withFIG. 13.
As with thetransceiver204 of thePocket Vault102, thetransceiver310 of the pocketvault interface unit302 may be any type of transceiver (or separate transmitter and receiver) capable of communicating with the other devices in thenetwork100 to enable the functionality described herein. For example, either an RF or an IR transceiver may be employed. Some embodiments may even include both an IR and an RF transceiver to be used in different applications. For example, an IR transceiver may be employed to interface the pocketvault interface unit302 with aPocket Vault102, and a separate RF transceiver may be employed to communicate over a wireless network such as Bluetooth.
As with thedocking interface208 of thePocket Vault102, thedocking interface312 of the pocketvault interface unit302 may take on any of numerous forms, and the invention is not limited to any particular type of interface device. Thedocking interface312 may, for example, include a multi-pin plug adapted to mate with a receptacle used as thedocking interface208 of aPocket Vault102, or vice versa. Thedocking interface312 may also comprise one or more implements (e.g., keys or grooves) to ensure that the plug or the like of thedocking interface208 of thePocket Vault102 mates correctly with the corresponding implement of thedocking interface312 when thePocket Vault102 and pocketvault interface unit302 are physically mated together.
Finally, as with thefingerprint scanner220 of thePocket Vault102, thefingerprint scanner316 of the pocketvault interface unit302 may comprise any device capable of accurately scanning a fingerprint of an individual for comparison with one or more fingerprint images stored in memory. Thefingerprint scanner316 may, for example, be a solid-state (non-optical) device. Devices that may be suitable for use as thefingerprint scanner220 are available, for example, from Veridicom, Inc., of Santa Clara, Calif. (www.veridicom.com), from Polaroid Corporation of Cambridge, Mass. (www.polaroid.com), and by Identix Incorporated of Sunnyvale, Calif. (www.identix.com). The fingerprint scanner may incorporate a temperature sensor that enables it to ensure that a live finger is contacting the scanning surface when the scanning function is performed. In addition to or in lieu of a fingerprint scanner, other bio-metric scanning devices may also be employed to verify the identity of the interface station operator. For example, some embodiments may employ a charge coupled device (CCD) to serve as an iris or retina scanner, an optical sensor, and/or a voiceprint. Alternatively or additionally, a keystroke rhythm may be measured, either alone or in combination with another user authentication technique (e.g., a successful PIN code entry requirement), to validate the identity of the operator. Although not shown, the pocketvault interface unit302 may additionally comprise one or more user input devices enabling the operator to control or provide input to the pocketvault interface unit302 or the software executing thereon. Thefingerprint scanner316 and/or other bio-metric scanners may, for example, have touch pad capability capabilities built into them, thereby permitting them to constitute such a user input device. Separate user input devices may also be employed.
FIG. 4 shows an example embodiment of thenetwork server114 shown inFIG. 1. As shown, thenetwork server114 may comprise one ormore controllers402, as well as alocal memory404, adatabase406, and atransceiver408 coupled thereto. The illustrated components of thenetwork server114 are well known, and therefore will not be described in detail. Thetransceiver408 may, for example, be used to communicate with other devices in the network system100 (FIG. 1) using a wireless network such as Bluetooth. Thecontroller404 may also communicate with other network devices via the Internet or a direct connection such as the type established using a dial up modem.
Thelocal memory404 may have instructions stored therein which, when executed by thecontroller402, cause thecontroller402 to implement the routines described below in connection withFIGS. 19-25 and/orFIGS. 30-39. In some embodiments, thelocal memory404 and/ordatabase406 act as a website and execute software which may be accessed by a browser or similar software module operating on a computer. One such embodiment is described below in connection withFIGS. 28-39.
Thedatabase406 may, for example, comprise a relational database, and may be used to store the majority, if not all, of the data maintained by thenetwork server114. Thedatabase406 may, for example, keep a real-time record of critical reference data along with transaction histories, back-up files, and security audit trail information for key events. Examples of specific items that may be stored in the database406 include: a list of current Pocket Vault holders and appropriate contact information for each; records regarding the versions of software loaded onto each Pocket Vault102, each pocket vault interface unit302, and each interface station computer304; a list of currently authorized or registered Pocket Vaults102, identified by chip ID and linked to the holder list; a list of currently authorized or registered tokens102a, identified by chip ID and linked to the holder list; a list of currently authorized locations for interface stations104 and telephone or other access lines therefor, including business information for each such location and an indication as to the type of interface station104 it is (e.g., a validation interface station, a personal interface station, or a commercial interface station); a list of currently authorized or registered interface station operators and the interface stations104 with which they are associated; a list of currently authorized or registered interface stations104, identified by chip ID and linked to the list of authorized operators therefor, as well as encrypted cookie ID information (if any) for the respective interface stations104; authorized media data received from media issuers that has not yet been downloaded to individual Pocket Vaults102; backup data sets for individual Pocket Vault holders; detailed transaction histories for Pocket Vault registrations indicating where each Pocket Vault102 was shipped from and to, where each Pocket Vault102 was registered, which authorized interface station operator conducted the registration process, when that authorized operator was added to the list of authorized operators at a particular location, who submitted the key information to add the operator, which corporate representative associated with the network server114 met with which representative associated with the interface station in establishing each new location for a validation interface station104a, to whom and when each Pocket Vault102 was issued; and communication encryption protocols. Each Pocket Vault account defined on thenetwork server114 may be defined to support multiple Pocket Vaults102, as well as to identify other family members who may share certain contents of the Pocket Vaults102 (e.g., family membership in a local museum).
Thenetwork server114 may analyze data regarding consumer transactions, and thereby accumulate demographic information. Using this information, merchants, media issuers, and/or advertisers may, for example, define targeted marketing programs, which thenetwork server114 may then deliver to Pocket Vault holders that meet particular demographic profiles.
FIG. 5 shows how thememory210 of the Pocket Vault102 (FIG. 2) may be organized (conceptually) in accordance with one embodiment of the invention. The purpose of each of the illustrated memory components will be readily understood by those skilled in the art of the invention, and therefore will not be explained in detail.
FIG. 6 is a block diagram showing an example embodiment of the token102ashown inFIGS. 1 and 2. As shown, the token102 may be equipped with acontroller602. In the embodiment shown, thecontroller602 may be selectively programmed, for example, viainterface terminals606 to generate a current in awire loop608 so as to generate a magnetic field about thewire loop608 that simulates a magnetic stripe of a standard credit card-like token. In other words, a magnetic field may be generated along the edge of the token102aas if a magnetic stripe were present on that edge. The location of the simulated magnetic stripe on the token102ais identified inFIG. 6 as a virtualmagnetic stripe610.
Appropriate software may be loaded onto the controller602 (e.g., in an on-board memory of the controller602) so as to enable the controller to generate the virtualmagnetic stripe610. When the token102ais disposed in thetoken port218, theterminals606 of the token102amay engage corresponding terminals of thetoken port218, thereby enabling thecontroller602 to be programmed appropriately. The programming of thecontroller602 may be effected, for example, in response to commands from thecontroller202 of thePocket Vault102, which commands may be generated in response to software executing on thecontroller202.
As shown, thecontroller602 may be powered by an appropriate resistor-capacitor (RC) circuit which stores a charge that decays over time. The RC circuit may be initially charged via theterminals606 when the token102ais disposed in thetoken port218 and thecontroller602 is being programmed. After the token102ais removed from thetoken port218, thecontroller602 will remain powered only so long as sufficient charge remains stored by theRC circuit604. Because thecontroller602 can generate the virtualmagnetic stripe610 only when it is driven by an adequate power supply, the virtual magnetic stripe will disappear after the charge in theRC circuit604 has decayed beyond a certain threshold level. Because the decay of an RC circuit is reasonably predictable, the virtualmagnetic stripe610 is disposed on the token102aonly for a finite, predetermined period of time after the token102ais removed from thetoken port218. In one embodiment, after thecontroller602 loses power, the information with which it was programmed to enable it to generate the virtualmagnetic stripe610 is also lost. Therefore, the virtualmagnetic stripe610 of the token102acannot be used again until thecontroller602 is again powered up and reprogrammed. Alternatively, thecontroller602 may cut off the power to thewire loop608 after a preset amount of time or an amount of time determined by the Pocket Vault holder (possibly within preset limits). Additionally or alternatively, the token102amay have its own embedded chip ID, which may be accessible only when the token102ais successfully released form thetoken port218.
In some embodiments, the token102amay possess the characteristics of a bank-issued Smartcard, either in addition to or in lieu of the virtualmagnetic stripe610. Accordingly, the token102amay include a specialized Smartcard chip or thecontroller602 may be programmed to mimic such a chip. In any event, the token102amay be preloaded with the bank's chip operating system (OS) and possibly customer-specific secure information. In such embodiments, the functionality of the Smartcard components may, for example, be enabled only in response to successful authentication of the Pocket Vault holder, e.g., using thefingerprint scanner220 of thePocket Vault102. Therefore, the customer-specific “Smartcard” information may remain inaccessible so long as the Pocket Vault holder's identity has not been authenticated using thePocket Vault102.
As mentioned above,FIGS. 7-12 are flow diagrams illustrating an example implementation of software that may be executed by thecontroller202 of thePocket Vault102. As described below, this or additional proprietary software may enable menu structures, handle preference management, provide the data on and safeguard the programmability of the virtual magnetic stripe610 (if so equipped), and ensure proper encryption data management. In one embodiment, local software for eachPocket Vault102 and pocketvault interface station104 may be upgraded from time to time by automatic download from thenetwork server114.
During execution of the routines ofFIGS. 7-12, various items may be displayed on thedisplay216, including prompts or icons regarding user input options (when a touch-screen display is employed as thedisplay216 or a point and click mechanism is employed herewith), and various items may also be displayed on the token102awhen the token102ais ejected from thetoken port218 of thePocket Vault102. FIGS.26A-P show examples of how thedisplay216 and the token102amay appear as the routines ofFIGS. 7-12 are executed, and therefore will be discussed in connection with the description of these routines.
FIG. 7 is a flow diagram illustrating an example implementation of aprimary routine700 that may be executed by thecontroller202 of thePocket Vault102. Instructions for the routine700 may be stored, for example, in the “applications”section508 of thememory210 of thePocket Vault102.
As shown, the routine700 begins at astep702, wherein it is determined whether the Pocket Vault holder has applied his/her fingerprint to thefingerprint scanner220 of thePocket Vault102. At thestep702, thedisplay216 of thePocket Vault102 may appear as shown inFIG. 26A. That is, thedisplay216 may be blank at thestep702, as thePocket Vault102 is currently powered down.
When, at thestep702, it is determined that the holder has applied his/her fingerprint to thefingerprint scanner220, the routine700 proceeds to astep704, wherein thepower manager214 powers on thePocket Vault102. The routine700 otherwise waits at thestep702 until the Pocket Vault holder has applied a fingerprint to thefingerprint scanner220. Is should be appreciated, however, that, in some embodiments, thestep702 may not represent an instruction set executed by theprocessor202. Instead, thestep702 may represent the detection of the occurrence of a physical action, e.g., the activation of a hardware switch, and thepower manager214 may be activated in response to the detection of such an action, without requiring intervention by theprocessor202.
After thestep704, the routine700 proceeds to astep706, wherein thefingerprint scanner220 scans the applied fingerprint of the Pocket Vault holder.
After thestep706, the routine700 proceeds to astep708, wherein it is determined whether thePocket Vault102 has been validated. In one embodiment, thePocket Vault102 is not validated until: (1) a user's fingerprints have been stored in the fingerprint memory (e.g., the write-once memory212 ofFIG. 2), and (2) thePocket Vault102 has received and stored encrypted validation information (e.g., a PKI certificate) from thenetwork server114, as described below.
When, at thestep708, it is determined that thePocket Vault102 has not yet been validated, the routine700 proceeds to astep710, wherein a PROCESS POCKET VAULT VALIDATION routine (described below in connection withFIG. 8) is executed.
When, at thestep708, it is determined that thePocket Vault102 has already been validated, the routine700 proceeds to astep712, wherein it is determined whetherPocket Vault102 has been authenticated, e.g., whether the fingerprint scanned at thestep706 matches one of the fingerprints stored in thefingerprint memory212.
When, at thestep712, it is determined that the Pocket Vault has not been properly authenticated, the routine700 proceeds to astep714, wherein an UNAUTHORIZED HOLDER routine (discussed below in connection withFIG. 9) is executed. FIGS.26B-D show how thedisplay216 of thePocket Vault102 may appear during the UNAUTHORIZED HOLDER routine, and therefore are also discussed below in connection withFIG. 9.
When, at thestep712, it is determined that thePocket Vault102 has been properly authenticated, the routine700 proceeds to astep713, wherein an encrypted message including the unique Pocket Vault chip ID is transmitted to the pocketvault interface unit302, in the event that thePocket Vault102 is interfaced or in communication with such a device.
In some embodiments, before a Pocket Vault holder is granted access to the contents of his or herPocket Vault102, a check may be made to ensure that the components used to interface thePocket Vault102 with the other components in the network100 (either wirelessly or directly) are in place and operating correctly, and have not been compromised. Alternatively, the operability and integrity of such components may be checked just prior to their use.
Moreover, in some embodiments, prior to granting a holder access to the contents of thePocket Vault102, a check may be made to ensure that the contents of thePocket Vault102 have been updated recently. For example, thePocket Vault102 may forbid its holder from accessing its contents if thePocket Vault102 has not been updated at least48 hours (or some other specified time period) prior to the attempted use. Updating of thePocket Vault102 may be accomplished, for example, using the synchronization or backup and recovery methods described herein.
After thestep713, the routine700 proceeds to astep716, wherein it is determined whether the Chameleon Card (i.e., the token102a) is presently on-board the Pocket Vault102 (i.e., whether the token102ais disposed within thecard port218 ofFIG. 2).
When, at thestep716, it is determined that the token102ais not on-board thePocket Vault102, the routine700 proceeds to astep718, wherein the Pocket Vault holder is informed that the Chameleon Card is not on board, and is asked whether he/she wants to engage in a non-card transaction (i.e., a transaction not involving the token102a).
After thestep718, the routine700 proceeds to astep720, wherein it is determined whether the holder has selected to engage in a non-card transaction.
When, at thestep720, it is determined that the holder has selected not to engage in a non-card transaction, routine700 returns to the step716 (described above), wherein it is again determined whether the Chameleon Card is on board thePocket Vault102. Therefore, the holder is permitted to engage in a transaction involving the Chameleon Card only when it has been confirmed that the Chameleon Card is on board thePocket Vault102.
When, at thestep720, it is determined that the holder has selected to engage in a non-card transaction, the routine700 proceeds to thestep722, wherein the AUTHORIZED HOLDER routine (discussed below in connection withFIGS. 10 and 11) is executed.
When, at thestep716, it is determined that the Chameleon Card is on-board thePocket Vault102, the routine700 also proceeds to thestep722, wherein the AUTHORIZED HOLDER routine (discussed below in connection withFIGS. 10 and 11) is executed. FIGS.26G-N and26P show how thedisplay216 of thePocket Vault102 and the token102aejected therefrom may appear (when employed) during the AUTHORIZED HOLDER routine, and therefore are also discussed below in connection withFIGS. 10 and 11.
After each of thesteps710,714, and720 (only one of which is executed during each iteration of the routine700), the routine700 proceeds to astep724, wherein the VERIFY CARD RETURN routine (discussed below in connection withFIG. 12) is executed.FIG. 260 shows how thedisplay216 of thePocket Vault102 may appear during the VERIFY CARD RETURN routine, and therefore is also discussed below in connection withFIG. 12.
After thestep724, the routine700 proceeds to astep726, wherein the screen of thedisplay216 is caused to flash to indicate that thePocket Vault102 is being shut down.
After thestep726, the routine700 proceeds to astep728, wherein thePocket Vault102 is powered down.
After thestep728, the routine700 returns to thestep702, wherein thePocket Vault102 again waits for a fingerprint to be applied to thefingerprint scanner220, and wherein thedisplay216 may again appear as shown inFIG. 26A.
FIG. 8 is a flow diagram illustrating an example embodiment of the PROCESS POCKET VAULT VALIDATION routine shown inFIG. 7 (step710).
As shown, the routine710 begins at astep801, wherein the holder is informed (e.g., on the display216) that thePocket Vault102 is not currently validated, and that the holder must interface thePocket Vault102 with aninterface unit302 of an appropriate interface station104 (e.g., avalidation interface station104a) if the holder desires to validate thePocket Vault102.
After thestep801, the routine710 proceeds to step802, wherein it is determined whether thePocket Vault102 has been interfaced with anappropriate interface unit302.
When, at thestep802, it is determined that thepocket vault102 has not yet been interfaced with anappropriate interface unit302, the routine710 returns to the step801 (discussed above).
When, at thestep802, it is determined that thePocket Vault102 has been interfaced with anappropriate interface unit302, the routine710 proceeds to astep803, wherein it is determined whether the fingerprint memory, e.g., the write-once memory212, is empty.
When, at thestep803, it is determined that the fingerprint memory is empty, the routine710 proceeds to astep804a, wherein the holder is prompted to apply a fingerprint from one finger of his or her left hand to thefingerprint scanner220, waiting for a “beep” to be emitted (e.g., by indicator215) after each fingerprint application.
Next, during steps806a-810a,the routine proceeds until the fingerprint of the selected finger has been scanned three times successfully.
After the steps806a-810a,the routine proceeds to astep804b, wherein the holder is prompted to apply a fingerprint from one finger of his or her right hand to thefingerprint scanner220, waiting for a “beep” to be emitted (e.g., by indicator215) after each fingerprint application.
Next, duringsteps806b-810b,the routine proceeds until the fingerprint of the selected finger has been scanned three times successfully.
After completing thesteps806b-810b,when a total of six fingerprints have been stored in memory, the routine710 proceeds to astep812, wherein an encrypted message including the pocket vault ID is transmitted to theinterface unit302, for ultimate transmission to thenetwork server114.
When, at thestep803, it is determined that the fingerprint memory, e.g., the write-once memory212, is not empty, the routine710 proceeds to astep811, wherein it is determined whether the fingerprint scanned at the step706 (FIG. 7) matches one of the stored fingerprints.
When, at thestep811, it is determined that the fingerprint scanned at thestep706 does match one of the stored fingerprints, the routine710 proceeds to the step812 (discussed above).
When, at thestep811, it is determined that the fingerprint scanned at thestep706 does not match any of the stored fingerprints, the routine710 proceeds to astep818, wherein an indication (e.g., a message on thedisplay216 or an audio signal from the indicator215) is generated to inform the holder that the validation attempt was unsuccessful.
After thestep818, the routine710 terminates.
After thestep812, the routine710 waits atsteps814 and816 to determine whether an encrypted message including validation information (e.g., a PKI certificate) has been received from theinterface unit302. This encrypted validation information may, for example, be received by thePocket Vault102 via either thedocking interface208 or thetransceiver204 of the pocketvault interface unit302 of avalidation interface station104a. As discussed in more detail below, this encrypted validation information may, for example, be generated by thenetwork server114 and forwarded to the pocketvault interface unit302 of avalidation interface station104a(via theinterface station computer304 of thevalidation interface station104a) after certain conditions have been met. Thenetwork server114 may therefore ultimately determine whether eachPocket Vault102 is permitted to receive this validation information.
When, at thestep816, it is determined that the time-out period has elapsed, the routine710 proceeds to the step818 (discussed above).
When, at thestep814, it is determined that encrypted validation information has been received before the timeout period of thestep816 has elapsed, the routine710 proceeds to a step820, wherein the validation information is stored in memory.
After the step820, the routine710 proceeds to astep822, wherein an indication (e.g., a message on thedisplay216 or an audio signal from theindicator215 of the Pocket Vault102) is generated to inform the holder that thePocket Vault102 has been successfully validated.
After thestep822, the routine710 terminates.
FIG. 9 is a flow diagram illustrating an example implementation of the UNAUTHORIZED HOLDER routine shown inFIG. 7 (step714).
As shown, the routine714 begins at astep902, wherein a menu is displayed on thedisplay216 that permits the holder to select one of several options: (1) TRY AGAIN, (2) POCKET VAULT RETURN INFORMATION, (3) EMERGENCY INFORMATION, or (4) END SESSION.FIG. 26B shows how thedisplay216 may appear when thestep902 is reached. As shown, textual information and/or icons representing the various menu options may be displayed to the holder.
After thestep902, the routine714 proceeds to astep904, wherein the routine714 waits for one of the displayed menu items to be selected by the holder (e.g., when the holder touches the location on the screen of thedisplay216 at which the menu item is displayed).
After one of the menu items has been selected at thestep904, the routine714 proceeds to astep906, wherein it is determined whether the TRY AGAIN option was selected. By selecting TRY AGAIN, the holder may request that the holder again be permitted to attempt to access the secure contents of thePocket Vault102 by reapplying the holder's fingerprint to thefingerprint scanner220.
When, at thestep906, it is determined that the user has selected the TRY AGAIN option, the routine714 proceeds to astep912, wherein it is determined whether this is the third sequential time that the scanned fingerprint has failed to match the fingerprint stored in memory.
When, at thestep912, it is determined that three sequential failed matches have occurred, the routine714 proceeds to a step914, wherein certain security precautions are taken in light of the multiple failed attempts to match the holder's fingerprint with that stored in thePocket Vault102. For example, when multiple failed matches have occurred, the Pocket Vault's secure memory may be erased, a security alert message may be broadcast by thetransceiver204 and/or any other prudent steps may be taken to ensure that an unauthorized user does not access the Pocket Vault's sensitive contents.
After the step914, the routine714 terminates.
When, at thestep912, it is determined that this is not the third consecutive time that the holder's fingerprint has failed to match that stored in the Pocket Vault's memory, the routine714 terminates, and the holder may then again attempt (at the step702) to access thePocket Vault102 by reapplying his/her fingerprint to thefingerprint scanner220.
When, at thestep906, it is determined that the TRY AGAIN option has not been selected, the routine714 proceeds to astep908, wherein it is determined whether there exist any nested menu items for the menu item selected at thestep904.
When, at thestep908, it is determined that nested menu items do exist for the selected menu item, the routine714 proceeds to astep910, wherein the nested menu items for the selected menu item are displayed to the holder on thedisplay216.
After thestep910, the routine714 returns to thestep904, wherein the routine714 again waits for the holder to select one of the displayed menu items.
When, at thestep908, it is determined that no nested menu items exist for the selected menu item, the routine714 proceeds to astep916, wherein it is determined whether the END SESSION option has been selected.
When, at thestep916, it is determined that the END SESSION option has been selected, the routine714 terminates.
When, at thestep916, it is determined that the END SESSION option has not been selected, the routine714 proceeds to astep918, wherein the information, if any, for the selected menu item is displayed to the holder on thedisplay216. Because thestep918 is reached only after a failed attempt to match the holder's fingerprint with that stored in the memory of thePocket Vault102, the information displayed at thestep918 may, for example, include information as to where thePocket Vault102 may be returned if it is found by someone other than the Pocket Vault holder (seeFIG. 26C), or may be emergency information regarding the holder such as the holder's blood type, allergies, persons to contact in case of an emergency, etc. (seeFIG. 26D). It should be appreciated that any of a number of non-secure media may be selected using the menu access routine discussed above in connection with steps904-910, and may be displayed to the person accessing thePocket Vault102, regardless of the identity of that person. Of course, this non-secure information may be information that the holder would not mind falling into the hands of a stranger should the holder misplace or have his/herPocket Vault102 stolen.
After thestep918, the routine714 proceeds to astep920, wherein after a delay of a certain period of time (e.g., thirty seconds), the holder is prompted to reapply his/her fingerprint within a particular period of time (e.g., ten seconds) to avoid shut down of thePocket Vault102.
After thestep920, the routine714 proceeds to astep922, wherein it is determined whether a fingerprint has been reapplied to thefingerprint scanner220 within ten seconds.
When, at thestep922, it is determined that a fingerprint has been reapplied to thefingerprint scanner220 within ten seconds, the routine714 returns to the step918 (discussed above), wherein the selected information is again displayed to the user.
When, at thestep922, it is determined that a fingerprint has not been reapplied to thefingerprint scanner220 within ten seconds, the routine714 terminates.
FIG. 10 is a flow diagram illustrating an example implementation of the AUTHORIZED HOLDER routine ofFIG. 7 (step722).
As shown, the routine722 begins at astep1002, wherein it is determined whether an advertisement is scheduled for display on thePocket Vault102. Information regarding whether certain advertisements are to be displayed by thePocket Vault102 may have been uploaded, for example, from the personal interface station104bin response to the holder previously interfacing thePocket Vault102 with the personal interface station104bto synchronize the contents of thePocket Vault102 with information stored on thenetwork server114. The advertiser108 (FIG. 1) may, for example, have made arrangements with the company operating thenetwork server114 to have certain advertising information uploaded toPocket Vaults102 when particular Pocket Vault holders interface their Pocket Vaults102 with their personal interface stations104b.
When, at thestep1002, it is determined that an advertisement has been scheduled, the routine722 proceeds to astep1004, wherein the scheduled advertisement is displayed, for example, for approximately two seconds.FIG. 26I shows an example of how thedisplay216 may appear when such an advertisement is displayed.
After thestep1004, the routine722 proceeds to astep1006, wherein a “welcome screen” is displayed for a brief period (e.g., one second).FIG. 26G shows an example of how thedisplay216 may appear when such a welcome screen is displayed.
When, at thestep1002, it is determined that an advertisement is not scheduled, the routine722 proceeds immediately to thestep1006, and no advertisement is displayed to the Pocket Vault holder.
After thestep1006, the routine722 proceeds to astep1008, wherein it is determined whether a “preferred” menu has been selected or pre-set for initial display to the Pocket Vault holder.
When, at thestep1008, it is determined that a preferred menu has been selected or pre-set, the routine722 proceeds to astep1012, wherein thedisplay216 fades to the preferred menu.FIGS. 26H and 26J show examples of how thedisplay216 may appear when such a preferred menu is displayed. In the example ofFIG. 26H, the preferred menu immediately shows the holder's preferred credit card as the selected menu item. Should the holder opt to use this media to engage in a transaction, the holder can simply choose the media directly. Alternatively, the holder may opt to access the HOME menu or other menu items by selecting appropriate icons displayed on the screen. In the example ofFIG. 26J, the preferred menu immediately shows, perhaps, a selected group of the holder's most frequently used menu items.
When, at thestep1008, it is determined that a preferred menu has not been selected or pre-set, the routine722 proceeds to astep1010, wherein thedisplay216 fades to a standard HOME menu of secure items.FIG. 26L shows an example of how thedisplay216 may appear when the HOME menu is displayed.
After either one of thesteps1010 and1012 has been executed, the routine722 proceeds to astep1014, wherein the routine722 waits for the holder to select one of the displayed menu items.
When, at thestep1014, it is determined that the holder has selected a particular menu item, the routine722 proceeds to astep1016, wherein it is determined whether the holder has selected to enter or return to the HOME menu.
When, at thestep1016, it is determined that the holder has selected the HOME option, the routine722 proceeds to thestep1010, wherein the HOME menu of secure items is displayed.
When, at thestep1016, it is determined that the holder has selected a menu item other than the HOME option, the routine722 proceeds to astep1018, wherein it is determined whether there exist any nested menu items for the selected menu item.
When, at thestep1018, it is determined that nested menu items do exist for the selected menu item, the routine722 proceeds to astep1020, wherein the nested menu items for the selected menu item are displayed. Thus, the holder may work his/her way through various layers of menu items until the desired menu item is reached. It should be appreciated that the menu items on the higher-level layers therefore may be categorized so as to enable the holder to quickly reach the desired media or other menu option.
When, at thestep1018, it is determined that no nested menu items exist for the selected menu item, the routine722 proceeds to astep1022, wherein it is determined whether the holder has selected a media from among the available menu items.
When, at thestep1022, it is determined that the holder has not selected a media, the routine722 proceeds to astep1040, wherein information relating to the selected non-media item may be displayed, or some other function may performed in accordance with the holder's selection. A non-media menu selection may involve, for example, preference settings for certain functional aspects of thePocket Vault102, e.g., whether the holder has a preferred secure menu (see step1008). Preferences for the services or the device can be selected and, as appropriate, distributed to thePocket Vault102 either on the spot or the next time thePocket Vault102 is interfaced with anappropriate interface station104. Preferences may, for example, include definition of home pages, connection of secure and non-secure media, order of media presentment, sort orders, user interface options, synchronization defaults, etc. Preferences that determine which items are displayed on the home page or on other pages may be defined. For example, a Pocket Vault holder may set up three preference sets: one for “business,” one for “personal,” and one for “vacation.” The “personal” and “business” preference sets may be set to be effective at different times of the day and/or different days of the week. The “vacation” preference set may be made effective for specific blocks of time determined by the Pocket Vault holder, possibly overriding the normal timing of the “personal” and “business” sets. The Pocket Vault holder may choose to establish the various preference settings based on his or her judgment or he or she may choose to allow thenetwork server114, supported by various databases, knowledge of the Pocket vault holder's various media and goals set by the Pocket Vault holder (e.g., minimize interest cost on credit cards or maximize frequent flyer miles, etc.), to determine optimal media use patterns and resulting media menu contents for a particular Pocket Vault holder. Preferences may also be defined between media that will link them for: (a) affiliate credits (like frequent flyer miles) that may be automatically presented to a merchant and tracked for a holder, (b) available discounts afforded by a membership (like senior citizen or AAA discounts), and/or (c) process improvement purposes (e.g., when information needs to be presented in a certain order to work properly). For example, a linkage preference may facilitate presentation of a discount card before presentation of a payment card when buying groceries.
After thestep1040, the routine722 proceeds to astep1042, wherein the holder is prompted either to END the session, or to return to the HOME menu.
After thestep1042, the routine722 proceeds to astep1044, wherein it is determined whether the holder has opted to END the session or to return to the HOME menu.
When, at thestep1044, it is determined that the holder has selected to return to the HOME menu, the routine722 proceeds to the step1010 (discussed above).
When, at thestep1044, it is determined that the holder has opted to END the session, the routine722 terminates.
When, at thestep1022, it is determined that the holder has selected a media from the displayed menu items, the routine722 proceeds to astep1024, wherein the selected media is displayed to the holder on thedisplay216. The selected media may, for example, be a particular credit card, in which case the name of the credit card and/or the logo for the credit card and any preferred advertisement, specials, etc., for the selected media may be displayed to the holder as well.
After thestep1024, the routine722 proceeds to astep1026, wherein the holder is prompted to choose to: (1) EJECT the card, (2) to invoke a WIRELESS transaction, or (3) to return to the HOME menu.
After thestep1026, the routine722 proceeds to astep1028, wherein it is determined which of these three options has been selected by the holder.
When, at thestep1028, it is determined that the holder has opted to return to the HOME menu, the routine722 proceeds to the step1010 (discussed above).
When, at thestep1028, it is determined that the holder has selected the EJECT card option, the routine722 proceeds to astep1032, wherein it is determined whether the Chameleon Card is on board the Pocket Vault102 (i.e., whether the token102ais disposed in the token port218).
When, at thestep1032, it is determined that the Chameleon Card is not on board thePocket Vault102, the routine722 proceeds to astep1034, wherein the holder is informed that the Chameleon Card is not on board thePocket Vault102.
After thestep1034, the routine722 proceeds to the step1026 (discussed above).
When, at thestep1032, it is determined that the Chameleon Card is on board thePocket Vault102, the routine722 proceeds to astep1036, wherein the PROCESS CARD TRANSACTION routine (discussed below in connection withFIG. 11) is executed.
After thestep1036, the routine722 proceeds to astep1038, wherein the VERIFY CARD RETURN routine (discussed below in connection withFIG. 12) is executed.
After thestep1038, the routine722 proceeds to the step1042 (discussed above).
When, at thestep1028, it is determined that the holder has opted to invoke a wireless transaction, the routine722 proceeds to astep1030, wherein the wireless transaction involving the selected media is executed. This wireless transaction may be invoked, for example, using thetransceiver204 of thePocket Vault102 to communicate with the transceiver310 (FIG. 3) of acommercial interface station104c(FIG. 1) over a wireless network, such as Bluetooth. As mentioned above, in embodiments that permit wireless transactions, a check of the wireless components may be made (e.g., verifying that an internal antenna (not shown) is in place and connected, and that related circuitry is not defeated or compromised in any way), prior to granting the holder access to the contents of thePocket Vault102. Alternatively, such a check may be made in response to such a wireless transaction being requested, e.g., at thestep1030.
After thestep1030, the routine722 proceeds to the step1042 (discussed above).
FIG. 11 is a flow diagram illustrating an example implementation of the PROCESS CARD TRANSACTION routine ofFIG. 10 (step1036).
As shown, the routine1036 begins at astep1102, wherein the Chameleon Card is configured to carry the selected media, and is ejected from the card port218 (FIG. 2). As discussed above, the token102amay be configured to carry the selected media in any of a number of ways, and the invention is not limited to any particular type of configuration technique. The card may be configured, for example, by causing it to generate a simulated magnetic stripe for a limited period of time, by causing it to have a bar code disposed on it for a limited period of time, or simply by causing a card number to be visibly disposed on it for a limited period of time. One example of technology that may be employed to cause information to appear temporarily on the token102ais available from E-ink (www.Eink.com). It should be appreciated, of course, that the card need not be temporarily configured in all embodiments, and may alternatively be configured in a more permanent manner in some embodiments.
After thestep1102, the routine1036 proceeds to astep1104, wherein the selected media is grayed out on thedisplay216 to indicate that the media is currently in use by the Chameleon Card. When the selected media is grayed out, the Pocket Vault's ability to configure another Chameleon Card with the grayed out media may also be disabled. Therefore, in such an embodiment, even if the Pocket Vault holder had an additional Chameleon Card available, thePocket Vault102 would be incapable of loading that media onto that Chameleon Card.
After thestep1104, the routine1036 proceeds to astep1106, wherein it is determined whether the selected media has stored value associated with it. The selected media may, for example, represent a pre-paid calling card from which value is deducted each time the media is used in a particular transaction, or a frequent flier card to which value (e.g., miles) is added in connection with each airline ticket purchased.
When, at thestep1106, it is determined that the selected media does have stored value associated with it, the routine1036 proceeds to astep1108, wherein a “stored value flag” (discussed below in connection withstep1126 of routine1036 (FIG. 11) andstep1212 of routine724 (FIG. 12)) is set to TRUE.
After thestep1108, the routine1036 proceeds to astep1110, wherein it is determined whether the holder has set a default option so as to permit the holder to maintain expense records by recording transactions into registers assigned to expense categories.
When, at thestep1106, it is determined that the selected media does not have stored value associated with it, the routine1036 proceeds immediately to thestep1110.
When, at thestep1110, it is determined that the holder has not opted for the ability to maintain expense records, the routine1036 terminates.
When, at thestep1110, it is determined that the holder has opted for the ability to maintain expense records, the routine1036 proceeds to astep1112, wherein the holder is prompted to decide whether to record the currently-pending transaction.
After thestep1112, the routine1036 proceeds to a step1114, wherein it is determined whether the holder has opted to record the pending transaction.
When, at the step1114, it is determined that the holder has not opted to record the transaction, the routine1036 terminates.
When, at the step1114, it is determined that the holder has opted to record the transaction, the routine1036 proceeds to astep1116, wherein a menu including a number of options involving expense categories are displayed to the holder on thedisplay216.
After thestep1116, the routine1036 proceeds to astep1118, wherein the routine1036 waits for the holder to select one of the displayed menu options.
When, at thestep1118, it is determined that the holder has selected a menu item, the routine1036 proceeds to astep1120, wherein it is determined whether the holder selected the SKIP RECORD option, e.g., when the holder has changed his or her mind and opted not to record a particular transaction.
When, at thestep1120, it is determined that the holder has selected the SKIP RECORD option, the routine1036 terminates.
When, at thestep1120, it is determined that holder has not selected the SKIP RECORD option, the routine1036 proceeds to astep1122, wherein it is determined whether any nested menu items exist for the selected menu item.
When, at thestep1122, it is determined that nested menu items do exist for the selected menu item, the routine1036 proceeds to astep1124, wherein the nested menu items are displayed to the holder on thedisplay216.
After thestep1124, the routine1036 returns to the step1118 (discussed above).
When, at thestep1122, it is determined that no nested menu items exist for the selected menu item, the routine1036 proceeds to astep1126, wherein it is determined whether the stored value flag was set to TRUE at the step1108 (discussed above).
When, at thestep1126, it is determined that the stored value flag is set to TRUE, the routine1036 proceeds to astep1128, wherein a “record stored value transaction” flag (discussed below in connection withstep1216 of routine724 (FIG. 12)) is set to TRUE.
After thestep1128, the routine1036 terminates.
When, at thestep1126, it is determined that the “stored value” flag is not TRUE, the routine1036 proceeds to a step1130, wherein the holder is prompted to enter a dollar amount to be recorded for the transaction.
After the step1130, the routine1036 proceeds to astep1132, wherein the routine1036 waits for the holder to enter a transaction amount. After the holder has entered a transaction amount, the routine1036 proceeds to astep1134, wherein a “transaction summary approval” menu is displayed to the holder on thedisplay216. In the example shown, this menu permits the holder to select (1) to APPROVE the recordation, (2) to change the expense CATEGORY for the transaction, or (3) to change the AMOUNT to be recorded.
After thestep1134, the routine1036 proceeds to astep1136, wherein it is determined which of the menu items displayed instep1134 the holder has selected.
When, at thestep1136, it is determined that the holder has selected to change the transaction AMOUNT, the routine1036 returns to the step1130 (discussed above).
When, at thestep1136, it is determined that the holder has opted to change the expense CATEGORY, the routine1036 returns to the step1116 (discussed above).
When, at thestep1132, it is determined that the holder has opted to APPROVE the recordation, the routine1036 proceeds to astep1138, wherein the entered transaction amount is added to the expense register for the selected category, and the balances associated therewith are updated accordingly.
After thestep1138, the routine1036 terminates.
FIG. 12 is a flow diagram illustrating the VERIFY CARD RETURN routine ofFIG. 7 (step724).
As shown, the routine724 begins at astep1202, wherein it is determined whether the Chameleon Card is currently on board the Pocket Vault102 (i.e., whether the token102ais disposed within the token port218).
When, at thestep1202, it is determined that the Chameleon Card is not on board thePocket Vault102, the routine724 proceeds to astep1204, wherein the holder is prompted to return the Chameleon Card to the token port218 (seeFIG. 260).
After thestep1204, the routine724 proceeds to astep1206, wherein it is determined whether a timeout period (e.g., ten seconds) has elapsed since the user was last prompted to return the Chameleon Card to thetoken port218.
When, at thestep1206, it is determined that the timeout period has not yet elapsed, the routine724 returns to the step1202 (discussed above).
When, at thestep1206, it is determined that the timeout period has elapsed, the routine724 proceeds to astep1208, wherein the user is again prompted to return the Chameleon Card, this time with an audio indication (e.g., a “chime” sound generated by theindicator215 ofFIG. 2).
After thestep1208, the routine724 proceeds to astep1210, wherein it is determined whether an extended timeout period (e.g.,10 minutes) has elapsed since the user was first prompted to return the Chameleon Card to thetoken port218.
When, at thestep1210, it is determined that the extended timeout period has not yet elapsed, the routine724 returns to the step1202 (discussed above).
When, at thestep1210, it is determined that the extended timeout period has elapsed, the routine724 terminates.
When, at thestep1202, it is determined that the Chameleon Card is on board the Pocket Vault102 (i.e., the token102ais disposed within the token port218), the routine724 proceeds to astep1212, wherein it is determined whether the “stored value” flag was set to TRUE instep1108 of the routine1036 (FIG. 11).
When, at thestep1212, it is determined that the “stored value” flag is not TRUE, the routine724 terminates.
When, at thestep1212, it is determined that the “stored value” flag is TRUE, the routine724 proceeds to astep1214, wherein the stored value for the selected media is updated based on the amount deducted from the Chameleon Card during its use.
After thestep1214, the routine724 proceeds to astep1216, wherein it is determined whether the “record stored value transaction” flag was set to TRUE in thestep1128 of the routine1036 (FIG. 11).
When, at thestep1216, it is determined that the “record stored value transaction” flag is FALSE, the routine724 proceeds to astep1222, wherein the “stored value” flag is set to FALSE.
When, at thestep1216, it is determined that the “record stored value transaction” flag is TRUE, the routine724 proceeds to astep1218, wherein the dollar amount of the transaction is added to the selected expense register (i.e., the expense register selected at thestep1118 of the routine1036 (FIG. 11)). The dollar amount entered is determined based on the dollar amount that was deducted from the stored value on the Chameleon Card as a result of the transaction.
After thestep1218, the routine724 proceeds to astep1220, wherein the “record stored value transaction” flag is set to FALSE.
After thestep1220, the routine724 proceeds to the step1222 (discussed above) After thestep1222, the routine724 terminates.
In addition to a routine such as that discussed above in connection withFIGS. 7-12, certain software enhancements may also be disposed in thememory210 of aPocket Vault102 for use with thecontroller202. One such software enhancement involves the use of “system preference file” software. This software may establish certain preferences that cannot be altered on thePocket Vault102 by the holder, and which may be stored in encrypted form, along with certain information regarding value-based media. For example, Pocket Vaults102 may be sold with a choice of two or three advertising profiles. During the Pocket Vault registration and validation process (described below), an encrypted system preference file may be created that indicates whether the device was, for example, subject to a “Premium,” “Plus” or “Base” profile status. This status may have been selected, for example, on thePocket Vault102 itself, or using one of theinterface stations104a-cwhen thePocket Vault102 was interfaced therewith.
Under the “Premium” profile, thePocket Vault102 may be advertising-free, but cost a significant amount. Under the “Plus” profile, thePocket Vault102 may display only advertising related to shops or services you currently patronize, but cost significantly less than the “Premium” version. Under the “Base” profile, thePocket Vault102 may have a variety of advertising on a regular basis, subject only to network “saturation effectiveness” limitations, and thePocket Vault102 may be free, or nearly so (e.g., a small purchase charge to generate in-store revenue for the retailer may be charged).
A holder's choice about participation in specific promotional campaigns linked to the holder's buying behavior may -also be part of the registration process and affect retail pricing. Once chosen, thenetwork server114 may send a message to thePocket Vault102, e.g., via thevalidation interface station104a, and direct the storage of necessary encrypted information on the Pocket Vault102 (e.g., “Buyer Profile Participant”).
The advertising and marketing choices may be changed at a date after purchase and result in a changed set of costs (either credits or debits) to the Pocket Vault holder. Other system preference data may include the “saturation effectiveness” limitations on the amount of advertising that can appear during any given single use window (a particular period during which the device is powered on), any given hour, any given day and/or any given month. The limitations may control both the number of advertisements permitted and the amounts of advertisement time permissible (e.g., seconds per advertisement), by category (e.g., such limitations may, for example, based on categories of advertisements be imposed general advertising, advertising from retailers that the Pocket Vault holder already patronizes and advisory notices from thenetwork server114. For example, these limits may be set to balance the need for advertising revenue with the need to not overwhelm or annoy Pocket Vault holders. This preference file may, for example, limit all advertising to one advertisement per “on-session,” two advertisements per hour, four advertisements per day and/or twenty advertisements per month. General advertisements might get priority claim on this time up to a set limit (say 75% of all advertisement time), with targeted advertisements next, and advisory messages last.
Another software enhancement that may be employed is software used for preference file management. Such “preference file management” software may, for example, include a default file which is periodically updated from thenetwork server114, and a Pocket Vault holder custom file. Using this software, the holder may, for example, be able to modify: (1) the initial on-screen backdrop and message greeting; (2) the menu structure and media order within menu screens; (3) some (but not all) of the bio-metric input requirement parameters; (4) the amount of on-time after the bio-metric data is confirmed (within pre-set limits); (5) the ability to conceal all or part of the credit or debit account information on the Chameleon Card display area; (6) the normal restaurant tip percentage; (7) the links between certain media; and/or oversight preference restrictions.
For example, some of the menu tree structures for thePocket Vault102 may be set by the holder. This may include the sequence in which certain screens appear (e.g., debit screens before credit screens), among credit screens (e.g., Visa before MasterCard) and media order-of-appearance within a screen (e.g., FirstCard Visa before ChaseVisa).
Generally, a retailer does not need to see a credit or debit account number, while the approving entity contacted on the dialup modem does. Today, credit and debit cards have this information embossed on the card and recorded in the magnetic stripe on the back of the card. If the magnetically encoded information is unreadable due to mechanical wear of the magnetic stripe or for other reasons, the embossed image can always be read by the clerk and manually keyed in. There is no way for this embossing to disappear when it is not needed and appear at just the right time, either with a standard card or a Smartcard. As a result, such numbers are generally in view and this visibility may lead to fraud. In one embodiment, thePocket Vault102 may be programmed to conceal this number, unless prompted to the contrary by the holder. A retailer may confirm the kind of credit or debit being presented and the full name on the card, without having to see or be told the account number. On the rare occasion when the number itself is needed, the holder may, for example, repeat the bio-metric input to thePocket Vault102 to reveal the card account number. If placed in thepersonal interface station104c,such account numbers may be automatically revealed (e.g., through detection of an encrypted cookie on theinterface station computer304 of thepersonal interface station104c).
If the holder establishes a preferred tip percentage, this preferred tip amount may be automatically applied to restaurant checks. This may eliminate a step in restaurant check close-out and reduce the hassle of calculating an appropriate tip and eliminate the need for waitstaff to return to pick up the credit receipt with the tip.
The holder may also choose to link certain media on thePocket Vault102 to reduce selection tasks at the point-of-transaction. For example, the holder may link certain credit or debit cards to certain frequent buyer ID cards, thereby enabling the holder to pick a grocery store frequent buyer card (which would be linked to a debit card and brought up automatically after the grocery store card).
At the point of registration or issuance, a Pocket Vault holder may be asked if there is to be any transaction oversight security. If the answer is yes, a second bio-metric input may be required from the individual endowed with that oversight role. For example, a parent may choose to get aPocket Vault102 for a child or other relative who may lack certain fiscal discipline. At issuance, and prior to any credit or debit media being added to thePocket Vault102, the oversight authority may need to be established. The person having such oversight authority may then have sole access to a profile of transaction preference data. The person having the oversight authority may therefore create and modify this profile any time after issuance. This data set may limit one or more of the following: (1) debit and credit transaction dollar volume per day, per week and/or per month; (2) certain purchase restrictions such as the types of retailers to whom payments are permitted, such as exclusion of gambling establishments or liquor stores; and (3) geographic restrictions such as payments within10 miles of a son's or daughter's college campus, but not beyond).
Another software enhancement that may be employed is software for managing media image libraries. Every media image sent to thedisplay216 may actually be a composite of from two to five layers of graphics files. Layers one, two and four may, for example, be stored in media library files while layers three and five may include text and data files stored in memory on thePocket Vault102. For example, a credit card image may comprise separate layers for: (1) the standard credit card background and icon; (2) the issuing bank's overlay icons and text; (3) the individual's account number; and (4) customized advertising from the issuing bank and/or credit card company.
Layering the image in this fashion may minimize data transmission requirements, reduce memory storage requirements, and speed up screen display. For example, Pocket Vaults102 may be preloaded at point of manufacture with background images of the top ten credit images, three passport images (e.g., EU, US, Japan), and a handful of other globally-relevant backgrounds. When, for example, a Pocket Vault holder living in Boston initially registers a device, it may trigger downloading of the top five additional background images prevalent in that area. When the individual applies for and is electronically issued a new credit card over thenetwork system100, the download from thenetwork server114 may include a second layer credit card company overlay for the credit card, along with the third layer of account and name information, and the fourth layer of the most recent customized advertisement from the credit card company related to a seasonal promotion of card usage.
The advertisement layer may be temporary in nature. This layer may, for example, remain on-screen for a given number of seconds, predetermined by the time period of the advertisement paid for by the advertiser. Underneath such an advertisement, a fifth layer of Pocket Vault holder-determined data may appear, also for a temporary period, in this case for privacy reasons and for a period set by the holder. This positioning of the holder's data below the advertising data increase the value of the advertisement time, since holders will be likely to view thedisplay216 awaiting the appearance of their data, which may also remain on-screen for only a set number of second. For example, such holder-specific data may include the last date of the next billing period, or the total charges since the last billing period on this particular card or on all of the holder's credit cards. Such balance information may be generated, for example, by the financial management software. The initial on-screen image may also be layered, for example, with a market-tailored backdrop and a sign-on message, both of which possibly being modifiable could be modified by the appropriate setting of user preferences.
Another software enhancement that may be employed is software to manage memos. Certain screen choices may, for example, result in the viewing of memos created by and for the Pocket Vault holder. These memos may be written on a home PC and transferred to aPocket Vault102 when thePocket Vault102 is interfaced with thepersonal interface station104cfor an update/download session. Alternatively, such memos may be created on thePocket Vault102 using a screen-based keyboard function similar to that of a Palm Pilot. The memo template software may provide certain standard backgrounds and layouts to support this feature. This feature may help to eliminate the need for scraps of various notes now found in most wallets.
Yet another software enhancement that may be employed is software to manage advertising messages. Such advertising message management software may, for example, perform several noteworthy functions: (1) limiting the appearance of advertising in accordance with the advertising profile (e.g., stored in the network server114) of the particular Pocket Vault holder; (2) limiting the appearance of advertising to a certain number of times per on-session, per hour, per day, per week and/or per month; (3) tracking the number of times each advertisement appears since the last download/update session (since the number of on-sessions during any period will govern the number of opportunities certain advertisements have to run, this tracking may be necessary to enable billing of advertisers for actual advertisement exposure levels; (4) generating reminder advertisements for frequent buyer cards (e.g., a message such as “Ten weeks since your last car wash! One more and the next is free!”); and (5) tracking the effectiveness of advertising through linkage to the transaction files (e.g., the ability to build more accurate, comprehensive buying profiles since all of an individual's media are now “under one roof”).
Another software enhancement that may be employed is software to process transaction data. Such transaction processing software may, for example, include the ability to track total outstanding transactions on particular media and compare those to media limits at the time of the next transaction, along with date validity of the media. If a particular piece of media is no longer valid, selection of this item from a menu may produce a message such as “expired,” or “requires update to extend period of validity,” or “payment of balance required before re-use.”
Another software enhancement that may be employed is software to manage frequent buyer data. Such frequent buyer data management software may, for example, track purchases at stores with frequent buying programs that participate in thenetwork system100. This software may also indicate any frequent buyer credits that are about to expire or create advertisements that remind their Pocket Vault holders that they are about to qualify for a free item. For example, a tenth gasoline purchase at a service station/car wash may generate a message indicating that the holder is “now entitled to free car wash.”
Yet another software enhancement that may be employed is software for managing financial information. This type of software may, for example, enable easy download advertisements into personal finance software used by some PC owners. It may also support certain on-board functionality in the Pocket Vault, such as charge card management, automatically shifting from the preferred credit card to another credit card, for example: (1) when a transaction would cause a credit limit to be exceeded, (2) when using a different card would lengthen the time after which actual payment would be due, (3) when using another card would garner desired contest eligibility, or maximize cash back points for a particular period, and/or (4) when use of another card would preclude having to pay annual dues.
Another software enhancement that may be employed is Global Positioning Software. Integration of this functionality with memo information and frequent buyer information may induce visits to nearby stores at convenient times to take advantage of sales, frequent buyer credits, etc.
FIG. 13 is a flow diagram illustrating an example implementation of a primary routine1300 that may be executed by thecontroller306 of the pocket vault interface unit302 (FIG. 3).
As shown, the routine1300 begins at astep1346, wherein it is determined whether a card has been swiped through thestripe reader315 of theinterface unit302.
When, at thestep1346, it is determined that a card has been swiped, the routine1300 proceeds to astep1348, wherein information from the swiped card read by thestripe reader315 is transmitted to theinterface station computer304.
After thestep1348, the routine1300 proceeds to astep1302, wherein it is determined whether a first encrypted message has been received from thePocket Vault102 including an ID code that is released from thePocket Vault102 only upon proper user authentication (e.g., in response to a fingerprint match).
When, at thestep1346, it is determined that a card has not been swiped, the routine1300 proceeds directly to the step1302 (discussed above).
When, at thestep1302, it is determined that such a first encrypted message has not been received from thePocket Vault102, the routine1300 proceeds to astep1338, wherein it is determined whether any encrypted information and/or commands have been received from theinterface station computer304.
When, at thestep1338, it is determined that information and/or commands have been received from theinterface station computer304, the routine1300 proceeds to astep1340, wherein the received information and/or commands are forwarded to thePocket Vault102.
After thestep1340, the routine1330 proceeds to astep1342, wherein it is determined whether any information and/or commands have been received from thePocket Vault102.
When, at thestep1338, it is determined that no information or commands have been received from theinterface station computer304, the routine1300 proceeds directly to the step1342 (discussed above).
When, at thestep1342, it is determined that information and/or commands have been received from thePocket Vault102, the routine1300 proceeds to astep1344, wherein the received information and/or commands are forwarded to theinterface station computer304.
After thestep1344, the routine1300 returns to the step1346 (discussed above).
When, at thestep1342, it is determined that no information and/or commands have been received from thePocket Vault102, the routine1300 proceeds directly to thestep1346.
When, at thestep1302, it is determined that a first encrypted message including a Pocket Vault ID has been received from thePocket Vault102, the routine1300 proceeds to astep1304, wherein the first encrypted message is forwarded to the interface station computer304 (FIG. 3).
After thestep1304, the routine1300 proceeds tosteps1306 and1308, wherein it is determined whether a fingerprint has been scanned by thefingerprint scanner316 of the pocketvault interface unit302 before a timeout period measured by thestep1308 has elapsed.
When, at thesteps1306 and1308, it is determined that a fingerprint has not been scanned within the timeout period ofstep1308, the routine1300 returns to the step1346 (discussed above).
When, at thesteps1306 and1308, it is determined that a fingerprint has been scanned by thefingerprint scanner316 in a timely manner, the routine1300 proceeds to astep1310, wherein it is determined whether the scanned fingerprint matches a fingerprint stored in thememory314 of the pocketvault interface unit302.
When, at thestep1310, it is determined that the scanned fingerprint does match that of an authorized operator of theinterface unit302, the routine1300 proceeds to astep1312, wherein a second encrypted message, including an ID of the pocketvault interface unit302 that is released only after a successful fingerprint match, is transmitted to theinterface station computer304.
After thestep1312, the routine1300 returns to the step1346 (discussed above).
When, at thestep1310, it is determined that the scanned fingerprint does not match any fingerprint stored in thememory314 of the pocketvault interface unit302, the routine1300 proceeds to astep1314, wherein a message is transmitted to theinterface station computer304 indicating there has been an unsuccessful attempt to authenticate an operator of the pocketvault interface unit302.
After thestep1314, the routine1300 proceeds tosteps1316 and1318, wherein it is determined whether, before the expiration of a timeout period measured by thestep1318, a request has been received from theinterface station computer304 to add a new operator to the pocketvault interface unit302.
When, at thesteps1316 and1318, it is determined that such a request has not been received from theinterface station computer304 in a timely manner, the routine1300 returns to the step1302 (discussed above).
When, at thesteps1316 and1318, it is determined that a request to add a new operator to the pocketvault interface unit302 has been received from theinterface station computer304 in a timely manner, the routine1300 proceeds tosteps1320 and1322.
At thesteps1320 and1322, it is determined whether three identical fingerprints have been stored in theinterface unit302 for each of the operator's two hands before the expiration of a timeout period measured by thestep1322. The operator may be prompted, e.g., on thedisplay324 of theinterface station computer304, to take appropriate steps to ensure his or her fingerprints are properly scanned. An example routine for obtaining the requisite fingerprint data from a user is discussed above in connection with steps804a-810aand804b-810b(for the Pocket Vault102), and therefore will not be repeated here.
When, at thesteps1320 and1322, it is determined that the requisite fingerprint information has not been stored in a timely manner, the routine1300 proceeds to astep1336, wherein an indication (e.g., a message or an audio tone) regarding the unsuccessful new operator validation attempt is generated.
After thestep1336, the routine1300 returns to the step1346 (discussed above).
When, at thesteps1320 and1322, it is determined that the fingerprint information has been successfully stored in theinterface unit302 in a timely manner, the routine1300 proceeds to astep1324, wherein an encrypted message including an ID unique to theinterface unit302 is transmitted to theinterface station computer304 for ultimate registration with thenetwork server114.
After thestep1324, the routine1300 proceeds to step1326 and1328, wherein is determined whether a message including validation information (e.g., a PKI certificate for the interface unit302) has been received from the network server114 (via the interface station computer304) before the expiration of a timeout period.
When, at thesteps1326 and1328, the validation information is not received by theinterface unit302 in a timely manner, the routine1300 proceeds to the step1336 (discussed above).
When, at thesteps1326 and1328, it is determined that the validation information is received by theinterface unit302 in a timely manner, the routine1300 proceeds to astep1330, wherein the validation information is stored for the new operator.
After thestep1330, the routine1300 proceeds to astep1332, wherein an indication (e.g., a message or an audio tone) regarding the successful validation of the new operator is generated.
After thestep1332, the routine1300 returns to the step1346 (discussed above).
FIG. 14 is a flow diagram illustrating example implementation of a primary routine1400 that may be executed by thecontroller308 of theinterface station computer304 ofFIG. 3.
As shown, the routine1400 begins at astep1402, wherein a menu is displayed on thedisplay324 of theinterface station computer304 that gives the operator of theinterface station computer304 several options to choose from. These options may, for example, include: (1) the option to request that aPocket Vault102 be validated (i.e., permitted to store a new finger print), (2) the option to request that the information currently stored on aPocket Vault102 be updated (e.g., information may be uploaded from the network server114), (3) the option to request that a transaction involving aPocket Vault102 be authorized, and/or (4) the option to access a website on thenetwork server114 and take advantage of the functionality thereof.
It should be appreciated that the foregoing are only examples of menu options that may be provided to the operator of theinterface station computer304, and that the invention is not limited to the particular examples described. It should also be appreciated that fewer than all of the options shown may be provided in connection with different types of interface stations. For example, avalidation interface station104amay be provided only with option (1), a personal interface station may be provided only with option (2), and a commercial interface station may be provided only with option (3). In many instances, option (4) may be the only option required or desired to be employed by the user, as the website may itself provide all of the functionality of the other options (1)-(3). If fact, in such circumstances, the user need not be provided with a menu at all, as the user could simply log on the website using a browser. An embodiment of a network system in which a website may be accessed by a server in this manner is discussed below in connection withFIGS. 28-39.
After displaying the menu at thestep1402, the routine1400 proceeds to astep1404, wherein it is determined whether any requests to validatePocket Vaults102 have been received.
When, at thestep1404, it is determined that no request to validate aPocket Vault102 has been received, the routine1400 proceeds to astep1408, wherein it is determined whether any requests to update information onPocket Vaults102 have been received.
When, at thestep1408, it is determined that no request to update the information on aPocket Vault102 has been received, the routine1400 proceeds to astep1412, wherein it is determined whether any requests to authorize transactions involving Pocket Vaults102 have been received.
When, at thestep1412, it is determined that no request to authorize a transaction involving aPocket Vault102 has been received, the routine1400 proceeds to astep1416, wherein it is determined whether the interface station computer has received any messages from PocketVault interface units302 indicating that an unsuccessful operator authentication has occurred (i.e., the fingerprint of an operator scanned by thefingerprint scanner316 has failed to match a fingerprint stored in the memory314).
When, at thestep1416, it is determined that no such messages have been received, the routine1400 proceeds to astep1420, wherein it is determined whether a request to access a website on thenetwork server114 has been received.
When at thestep1420, it is determined that no request to access the website on thenetwork server114 has been received, the routine1400 returns to thestep1402, wherein the menu of the various options for the operator is again displayed. Thus, themenu1402 is displayed until one of the various options is selected in accordance with any of thesteps1404,1408,1412,1416, or1420.
When, at thestep1404, it is determined that a request to validate aPocket Vault102 has been received, the routine1400 proceeds to astep1406, wherein the PROCESS REQUEST TO VALIDATE POCKET VAULT routine (discussed below in connection withFIG. 15) is executed.
After thestep1406, the routine1400 proceeds to the step1408 (discussed above).
When, at thestep1408, it is determined that a request to update the information on aPocket Vault102 has been received, the routine1410 proceeds to astep1410, wherein the PROCESS REQUEST TO UPDATE INFO ON POCKET VAULT routine (discussed below in connection withFIG. 16) is executed.
After thestep1410, the routine1400 proceeds to the step1412 (discussed above).
When, at thestep1412, it is determined that a request to authorize a transaction involving aPocket Vault102 has been received, the routine1400 proceeds to astep1414, wherein the PROCESS REQUEST TO AUTHORIZE TRANSACTION routine (discussed below in connection withFIG. 17) is executed.
After the routine1414, the routine1400 proceeds to the step1416 (discussed above).
When, at thestep1416, it is determined that a message has been received from an theinterface station computer304 indicating that an attempted fingerprint match of an operator has failed, the routine1400 proceeds to astep1418, wherein the PROCESS UNSUCCESSFUL OPERATOR AUTHENTICATION routine (discussed below in connection withFIG. 18) is executed.
After the routine1418, the routine1400 proceeds to the step1420 (discussed above).
When, at thestep1420, it is determined that a request to access a website on thenetwork server114 has been received, the routine1400 proceeds to astep1422, wherein the PROCESS REQUEST TO ACCESS WEBSITE routine (discussed below in connection withFIGS. 30-39) is executed.
After thestep1422, the routine1400 returns to the step1402 (discussed above).
FIG. 15 is a flow diagram illustrating an example implementation of the PROCESS REQUEST TO VALIDATE POCKET VAULT routine ofFIG. 14 (step1406).
As shown, the routine1406 begins at astep1502, wherein the potential new Pocket Vault holder is prompted to apply his or her fingerprint to thefingerprint scanner220 of thePocket Vault102, and to interface thePocket Vault102 with the pocketvault interface unit302. This may be accomplished, for example, by interfacing thedocking interface208 of thePocket Vault102 with thedocking interface312 of the pocketvault interface unit302.
After thestep1502, the routine1406 proceeds tosteps1504 and1506, wherein it is determined whether an encrypted message including the ID of thePocket Vault102 has been received from the pocketvault interface unit302 prior to the expiration of a timeout period measured by thestep1506.
When, at thesteps1504 and1506, it is determined that an encrypted message including the ID of thePocket Vault102 has not been received from the pocketvault interface unit302 in a timely manner, the routine1406 proceeds to astep1526, wherein a message is displayed on thedisplay324 of theinterface station computer304 indicating that an error has occurred in the Pocket Vault validation process.
When, at thesteps1504 and1506, it is determined that an encrypted message including the ID of thePocket Vault102 has been received from the pocketvault interface unit302 in a timely manner, the routine1406 proceeds to astep1506, wherein the interface station operator is prompted to apply his or her fingerprint to thefingerprint scanner316 of the pocketvault interface unit302.
After thestep1506, the routine1406 proceeds tosteps1508 and1510, wherein it is determined whether an encrypted message including the ID of the pocketvault interface unit302 has been received from the pocketvault interface unit302 prior to the expiration of a timeout period measured by thestep1510.
When, at thesteps1508 and1510, it is determined that an encrypted message including the ID of the pocketvault interface unit302 has not been received from the pocketvault interface unit302 in a timely manner, the routine1406 proceeds to thestep1526, wherein a message is displayed on thedisplay324 of theinterface station computer304 indicating that the attempt to authorize the interface station operator was unsuccessful.
After thestep1526, the routine1406 terminates.
When, at thesteps1508 and1510, it is determined that an encrypted message including the ID of the pocketvault interface unit302 has been received from the pocketvault interface unit302 in a timely manner, the routine1406 proceeds to astep1512, wherein the interface station operator is prompted to input information regarding the new Pocket Vault holder into theinterface station computer304.
After thestep1512, the routine1406 proceeds to astep1514, whereat the routine1406 waits until all of the requisite information regarding the new Pocket Vault holder has been entered properly (e.g., via theuser input device318 of the interface station computer304).
After thestep1514, the routine1406 proceeds to astep1516, wherein the network server114 (FIG. 1) is contacted.
After thestep1516, the routine1406 proceeds to astep1518, wherein the information regarding the new Pocket Vault holder is transmitted to thenetwork server114, along with a request that the new Pocket Vault holder be validated.
After thestep1518, the routine1406 proceeds tosteps1520 and1522, wherein it is determined whether thenetwork server114 has acknowledged the request by theinterface station computer304 prior to the expiration of a timeout period measured by thestep1522.
When, at thesteps1520 and1522, it is determined that thenetwork server114 has not acknowledged the request by theinterface station computer304 in a timely manner, the routine1406 proceeds to astep1524, wherein a message is displayed on thedisplay324 indicating that a transmission failure has occurred.
When, at thesteps1520 and i522, it is determined that thenetwork server114 has acknowledged the request by theinterface station computer304 in a timely manner, the routine1406 proceeds to astep1528, wherein, in an encrypted format, the information regarding the new Pocket Vault holder is transmitted to thenetwork server114, along with the interface station operator ID, the interface unit ID, and the Pocket Vault ID.
After thestep1528, the routine1406 proceeds tosteps1530 and1532, wherein it is determined whether encrypted validation information (e.g., a PKI certificate) has been received from thenetwork server114 prior to the expiration of a timeout period measured by thestep1532, and prior to receiving a message from thenetwork server114 indicating that the request to validate the new Pocket Vault holder has been denied.
When, at thesteps1530 and1532, it is determined that encrypted validation information has not been received from thenetwork server114 in a timely manner, or it is determined that a message has been received indicating that the request to validate the new Pocket Vault holder has been denied, the routine1406 proceeds to astep1538, wherein a message is displayed on thedisplay324 indicating that the attempt to validate thePocket Vault102 was unsuccessful.
When, at thesteps1530 and1532, it is determined that encrypted validation information has been received from thenetwork server114 in a timely manner, the routine1406 proceeds to astep1534, wherein the encrypted validation information (e.g., a PKI certificate) from thenetwork server114 is forwarded to the pocketvault interface unit302 for forwarding on to thePocket Vault102.
After thestep1534, the routine1406 proceeds to astep1536, wherein a message is displayed on thedisplay324 indicating that the attempt to validate thePocket Vault102 was successful. In addition to this message, when the pocketvault interface unit302 forwards this message on to thePocket Vault102, thePocket Vault102 itself may provide, for example, an audio indication such as a chime, indicating that thePocket Vault102 has been successfully validated.
FIG. 16 is a flow diagram illustrating an example implementation of the PROCESS REQUEST TO UPDATE INFO ON POCKET VAULT routine ofFIG. 14 (step1410).
As shown, the routine1410 begins at astep1602, wherein the Pocket Vault holder is prompted to apply his or her fingerprint to thefingerprint scanner220 of thePocket Vault102, and to interface thePocket Vault102 with the pocketvault interface unit302.
After thestep1602, the routine1410 proceeds tosteps1604 and1606, wherein it is determined whether an encrypted message including the ID of thePocket Vault102 has been received from the pocketvault interface unit302 prior to the expiration of a timeout period measured by thestep1606.
When, at thesteps1604 and1606, it is determined that an encrypted message including the ID of thePocket Vault102 has not been received from the pocketvault interface unit302 in a timely manner, the routine1410 proceeds to astep1634, wherein a message is displayed on thedisplay324 of theinterface station computer304 indicating that the attempt to authorize the Pocket Vault holder was unsuccessful.
When, at thesteps1604 and1606, it is determined that an encrypted message including the ID of thePocket Vault102 has been received from the pocketvault interface unit302 in a timely manner, the routine1410 proceeds to astep1606, wherein the interface station operator is prompted to apply his or her fingerprint to thefingerprint scanner316 of the pocketvault interface unit302.
After thestep1606, the routine1410 proceeds tosteps1608 and1610, wherein it is determined whether an encrypted message including the ID of the pocketvault interface unit302 has been received from the pocketvault interface unit302 prior to the expiration of a timeout period measured by thestep1610.
When, at thesteps1608 and1610, it is determined that an encrypted message including the ID of the pocketvault interface unit302 has not been received from the pocketvault interface unit302 in a timely manner, the routine1410 proceeds to thestep1634, wherein a message is displayed on thedisplay324 of theinterface station computer304 indicating that the attempt to authorize the interface station operator was unsuccessful.
After thestep1634, the routine1410 terminates.
When, at thesteps1608 and1610, it is determined that an encrypted message including the ID of the pocketvault interface unit302 has been received from the pocketvault interface unit302 in a timely manner, the routine1410 proceeds to astep1612, wherein thenetwork server114 is contacted.
After thestep1612, the routine1410 proceeds to astep1614, wherein a request to update the information on thePocket Vault102 is transmitted to thenetwork server114.
After thestep1614, the routine1410 proceeds tosteps1616 and1618, wherein it is determined whether thenetwork server114 has acknowledged the request by theinterface station computer304 prior to the expiration of a timeout period measured by thestep1618.
When, at thesteps1616 and1618, it is determined that thenetwork server114 has not acknowledged the request by theinterface station computer304 in a timely manner, the routine1410 proceeds to astep1620, wherein a message is displayed on thedisplay324 indicating that a transmission failure has occurred.
When, at thesteps1616 and1618, it is determined that thenetwork server114 has acknowledged the request by theinterface station computer304 in a timely manner, the routine1410 proceeds to astep1622, wherein, in an encrypted manner, the interface station operator ID, the interface unit ID, and the Pocket Vault ID are transmitted to thenetwork server114.
After thestep1622, the routine1410 proceeds tosteps1624 and1626, wherein it is determined whether encrypted updates have been received from thenetwork server114 for loading onto thePocket Vault102 prior to the expiration of a timeout period measured by thestep1620, and prior to thenetwork server114 denying the requested attempt to upload information.
When, at thesteps1624 and1626, it is determined that the encrypted updates have been received in a timely manner, the routine1410 proceed to astep1630, wherein the received updates are transmitted to the pocketvault interface unit302 so that they may be subsequently forwarded to thePocket Vault102 for uploading thereto.
After thestep1630, the routine1410 proceeds to astep1632, wherein a message is displayed to the holder indicating that the requested updates have been successfully uploaded to thePocket Vault102.
After thestep1632, the routine1410 terminates.
When, at thesteps1624 and1626, it is determined that the encrypted updates have not been received from thenetwork server114 in a timely manner, or that thenetwork server114 has denied the request to upload information onto thePocket Vault102, the routine1410 proceeds to astep1628, wherein a message is displayed on thedisplay324 indicating that the attempt to update the information on thePocket Vault102 was unsuccessful.
After thestep1628, the routine1410 terminates.
FIG. 17 is a flow diagram illustrating an example implementation of the PROCESS REQUEST TO AUTHORIZE TRANSACTION routine ofFIG. 14 (step1414).
As shown, the routine1414 begins at astep1702, wherein the operator of theinterface station computer304 is prompted to input information regarding the proposed transaction involving thePocket Vault102.
After thestep1702, the routine1414 waits at astep1704 until all of the information regarding the requested transaction has been entered.
After, at thestep1704, it is determined that all of information regarding the requested transaction has been entered, the routine1414 proceeds to astep1706, wherein the Pocket Vault holder is prompted to apply his or her fingerprint to thefingerprint scanner220 of thePocket Vault102, and to interface the Pocket Vault with the pocketvault interface unit302.
After thestep1706, the routine1414 proceeds tosteps1708 and1710, wherein it is determined whether an encrypted message including the ID of thePocket Vault102 has been received from the pocketvault interface unit302 prior to the expiration of a timeout period measured by thestep1710.
When, at thesteps1708 and1710, it is determined that an encrypted message including the ID of thePocket Vault102 has not been received from the pocketvault interface unit302 in a timely manner, the routine1414 proceeds to astep1726, wherein a message is displayed on thedisplay324 of theinterface station computer304 indicating that the attempt to authorize the Pocket Vault holder was unsuccessful.
When, at thesteps1708 and1710, it is determined that an encrypted message including the ID of thePocket Vault102 has been received from the pocketvault interface unit302 in a timely manner, the routine1414 proceeds to astep1712, wherein the interface station operator is prompted to apply his or her fingerprint to thefingerprint scanner316 of the pocketvault interface unit302.
After thestep1712, the routine1414 proceeds tosteps1714 and1715, wherein it is determined whether an encrypted message including the ID of the pocketvault interface unit302 has been received from the pocketvault interface unit302 prior to the expiration of a timeout period measured by the step1715.
When, at thesteps1714 and1715, it is determined that an encrypted message including the ID of the pocketvault interface unit302 has not been received from the pocketvault interface unit302 in a timely manner, the routine1414 proceeds to thestep1726, wherein a message is displayed on thedisplay324 of theinterface station computer304 indicating that the attempt to authorize the interface station operator was unsuccessful.
After thestep1726, the routine1414 terminates.
When, at thesteps1714 and1715, it is determined that an encrypted message including the ID of the pocketvault interface unit302 has been received from the pocketvault interface unit302 in a timely manner, the routine1414 proceeds to astep1716, wherein thenetwork server114 is contacted.
After thestep1716, the routine1414 proceeds to astep1718, wherein the request regarding the proposed transaction involving thePocket Vault102 is transmitted to thenetwork server114.
After thestep1718, the routine1414 proceeds to step1720 and1722, wherein it is determined whether the transaction request has been acknowledged by thenetwork server114 before the expiration of a timeout period measured by thestep1722.
When, at thesteps1720 and1722, it is determined that the request has not been acknowledged in a timely manner, the routine1414 proceeds to astep1724, wherein a message is displayed on thedisplay324 indicating that a transmission failure has occurred.
After thesteps1724, the routine1414 terminates.
When, at thesteps1722 and1724, it is determined that the request has been acknowledged in a timely manner, the routine1414 proceeds to astep1728, wherein encrypted information about the requested transaction is transmitted to thenetwork server114, along with the interface station operator ID, the interface unit ID, and the Pocket Vault ID.
After thestep1728, the routine1414 proceeds tosteps1730 and1732, wherein it is determined whether an encrypted transaction approval message has been received from thenetwork server114 prior to the expiration of a timeout period measured by thestep1732.
When, at thesteps1730 and1732, it is determined that an encrypted transaction approval message has not been received in a timely manner, or that approval for the requested transaction has been denied by thenetwork server114, the routine1414 proceeds to astep1736, wherein a message is displayed on thedisplay324 indicating that the attempt to authorize the requested transaction has failed.
When, at thesteps1730 and1732, it is determined that an encrypted transaction approval message has been received in a timely manner, the routine1414 proceeds to astep1734, wherein a message is forwarded to the pocketvault interface unit302 indicating that the requested transaction has been approved. This message may also be used to update information on thePocket Vault102, and/or to cause thePocket Vault102 to generate an indication (e.g., an audio tone) that the transaction has been approved.
After thestep1734, the routine proceeds to astep1738, wherein a message is displayed on thedisplay324 indicating that the requested transaction has been approved.
After thestep1738, the routine1414 terminates.
FIG. 18 is a flow diagram illustrating an example implementation of the PROCESS UNSUCCESSFUL OPERATOR AUTHENTICATION routine ofFIG. 14 (step1418).
As shown, the routine1418 begins at astep1802, wherein the operator of theinterface station computer304 is informed that the attempted use the pocket vault interface unit302 (when the operator applied his or her finger print to the fingerprint scanner316) was not authorized.
After thestep1802, the routine1418 proceeds to astep1804, wherein the operator is prompted to either: (1) add a NEW OPERATOR to theinterface unit302, or (2) ABORT the attempt to use theinterface unit302.
When, at thestep1806, it is determined that the operator has chosen to ABORT the attempt to use theinterface unit302, the routine1418 terminates.
When, at thestep1806, it is determined that the operator has chosen to add a NEW OPERATOR, the routine1418 proceeds to astep1808, wherein a message is transmitted to the pocketvault interface unit302 indicating the operator's desire to add a new operator to the pocketvault interface unit302.
After thestep1808, the routine1418 proceeds to astep1810, wherein the operator is prompted to input information regarding the proposed new operator into the interface station computer304 (e.g., using the user input device318), and is provided with instructions as to the application of three identical fingerprints from each of his or her two hands to thefingerprint scanner316 of theinterface unit302.
After thestep1810, the routine1418 proceeds to astep1812 wherein the routine1418 waits until all of the requisite information regarding the proposed new interface station operator has been entered properly.
When, at thestep1812, it is determined that all of the requisite information regarding the proposed new operator has been entered properly, the routine1418 proceeds to astep1814, wherein thenetwork server114 is contacted.
After thestep1814, the routine1418 proceeds to astep1816, wherein the request to add the new operator to the pocketvault interface unit302 is transmitted to thenetwork server114.
After thestep1816, the routine1418 proceeds tosteps1818 and1820, wherein it is determined whether the request by the interface station computer has been acknowledged by thenetwork server114 prior to the expiration of a timeout period measured by thestep1820.
When, at thesteps1818 and1820, it is determined that the request has not been acknowledged in a timely manner, the routine1418 proceeds to thestep1822, wherein a transmission failure message is displayed.
After thestep1822, routine1418 terminates.
When, at thesteps1818 and1820, it is determined that the request has been acknowledged in a timely manner, the routine1418 proceeds to thestep1824, wherein a message, including the information regarding the proposed new operator and the interface unit ID, is transmitted to thenetwork server114 in an encrypted manner.
After thestep1824, the routine1418 proceeds tosteps1826 and1828, wherein it is determined whether encrypted validation information (e.g., a PKI certificate) has been received from thenetwork server114 prior to the expiration of a timeout period measured by thestep1828, and prior to thenetwork server114 denying the addition of the new interface station operator.
When, at thesteps1826 and1828, it is determined that encrypted validation information has been received from thenetwork server114 in a timely manner, the routine1418 proceeds to a step1830, wherein the encrypted validation information (e.g., a PKI certificate) is forwarded from theinterface station computer304 to the pocketvault interface unit302.
After the step1830, the routine1418 proceeds to astep1834, wherein a message is generated indicating that the attempt to add the new operator to the pocketvault interface unit302 was successful.
After thestep1834, the routine1418 terminates.
When, at thesteps1826 and1828, it is determined that encrypted validation information has not been received from thenetwork server114 in a timely manner, the routine1418 proceeds to a step1832, wherein a message is generated indicating that the attempt to add the new operator to the pocketvault interface unit302 was unsuccessful.
After the step1832, routine1418 terminates.
FIG. 19 is a flow diagram illustrating an example implementation of a primary routine1900 that may be executed by thenetwork server114 ofFIG. 1.
As shown, the routine1900 may begin at astep1902, wherein it is determined whether any requests have been received to register new Pocket Vault holders.
When, at thestep1902, it is determined that a request has been received to register a new Pocket Vault holder, the routine1900 proceeds to astep1904, wherein the request to register the new Pocket Vault holder is processed. An example of a routine that may be employed to implement thestep1904 is discussed in more detail below in connection withFIG. 20.
When, at thestep1902, it is determined that no request to register a new Pocket Vault holder has been received, the routine1900 proceeds to astep1906, wherein consumer marketing information is compiled and transmitted to subscribing media issuers and advertisers.
After thestep1906, the routine1900 proceeds to astep1908, wherein it is determined whether any requests from media issuers or advertisers have been received to update thenetwork server114.
According to one aspect of the invention, media issuers and advertisers may have the option to utilize the functionality of thenetwork server114 to update the account characteristics of authenticated Pocket Vault holders. These updates may, for example, be delivered from thecomputers108,110, and112 to a secure location within thedatabase406. When each selected holder next synchronizes with network server114 (e.g., as described below in connection with routine1914 ofFIG. 22), any media characteristics updated by the media issuers or advertisers may be uploaded to that holder's thePocket Vault102. The database of account updates may be revised periodically based on the media issuer's systems (e.g., pursuant to the routine1910 ofFIG. 21—described below). Confirmation of the update process may be provided to the issuer after a synchronization session is complete for a particular Pocket Vault holder (seestep2206 of routine1914 (FIG. 22) below).
When, at thestep1908, it is determined that a request to update thenetwork server114 has been received from a media issuer or advertiser, the routine1900 proceeds to astep1910, wherein the request from the media issuer or advertiser is processed. An example of a routine that may be employed to implement thestep1910 is discussed in more detail below in connection withFIG. 21.
When, at thestep1908, it is determined that no request from a media issuer or advertiser to update thenetwork server114 has been received, the routine1900 proceeds to astep1912, wherein it is determined whether any requests have been received from holders to update information on their Pocket Vaults.
When, at thestep1912, it is determined that such a request has been received, the routine1900 proceeds to astep1914, wherein the request to update the Pocket Vault information is processed. An example of a routine that may be employed to implement thestep1914 is described in more detail below in connection withFIG. 22.
When, at thestep1912, it is determined that no request from a holder to update information on aPocket Vault102 has been received, the routine1900 proceeds to astep1916, wherein it is determined whether any holders have requested that new files be loaded onto thenetwork server114.
When, at thestep1916, it is determined that a holder has requested that a new file be loaded onto thenetwork server114, the routine1900 proceeds to astep1918, wherein the holder's request to load the new file onto thenetwork server114 is processed. An example of a routine that may be employed to implement thestep1918 is described in more detail below in connection withFIG. 23.
When, at thestep1916, it is determined that no request by a holder to load a file onto thenetwork server114 has been received, the routine1900 proceeds to astep1920, wherein it is determined whether any requests have been made to authorize transactions. Such a request may be made, for example, by a merchant operating acommercial interface station104c.In this regard, it should be appreciated that, when a token102ais employed to engage in a transaction with acommercial card reader106 or a commercialbar code reader107, a request for transaction approval may not be made to thenetwork server114. Instead such a transaction approval request may be made through conventional, existing communication and approval channels for such devices. Therefore, it should be understood that thestep1922 is generally reached only when it is possible for thenetwork server114 to check the identity of the Pocket Vault holder, the identity of thePocket Vault102, and possibly identity of the operator of a commercial interface station, based on communications with the Pocket Vault102 (e.g., via acommercial interface station104cor via a wireless network such as Bluetooth).
When, at thestep1920, it is determined that a request to authorize a transaction has been made, routine1900 proceeds to astep1922, wherein the request to authorize the transaction is processed. An example of a routine that may be employed to implement thestep1922 is discussed in more detail below in connection withFIG. 24.
When, at thestep1920, it is determined no request to authorize a transaction has been made, the routine1900 returns to the step1902 (discussed above). With regard to the routine1900 ofFIG. 19, it should be appreciated that all of the requests to accomplish the various tasks may be placed in a queue so that they are serviced on a first-come, first-served or any other basis, rather than servicing them in the particular order shown inFIG. 19.
FIG. 20 is a flow-diagram illustrating an example of a routine that may be employed to implement thestep1904 of the routine1900 (FIG. 1).
As shown, the routine1904 begins at astep2002, wherein a request received from theinterface station computer304 to register a new Pocket Vault holder is acknowledged, and thenetwork server114 requests theinterface station computer304 to transfer the relevant information regarding the proposed new holder to thenetwork server114.
After thestep2002, the routine1904 proceeds to astep2004, wherein the routine1904 waits for all of the requisite holder registration information to be received from theinterface station computer304.
When, at thestep2004, it is determined that all of the requisite holder registration information has been received from theinterface station computer304, the routine1904 proceeds to astep2006, wherein it is determined whether the proposed Pocket Vault use is authorized. An example of a routine that may be employed to implement thestep2006 is discussed below in connection withFIG. 25. In determining whether a particular Pocket Vault use is authorized, there are numerous parameters which may be checked. For example, the port to which the interface station computer is connected (e.g., the telephone number or IP address of the computer) may be checked to ensure that it is authorized. Additionally, information from the interface station computer304 (e.g., a “cookie”) may be checked to ensure that the computer itself has been registered with the system. Further, it can be checked whether the current operator of theinterface station computer304 is registered as being associated with theinterface station computer304 being used, and that the proposed new Pocket Vault holder is authorized to use that particular thePocket Vault102. In sum, the identity of (1) each piece of equipment, (2) each operator of each piece of equipment, and (3) each location of each piece of equipment may be checked to ensure that the particular use of the Pocket Vault is authorized. It should be appreciated fewer than all of these parameters, different parameters, and/or additional parameters can be checked in alternative embodiments of the invention, and that the invention is not limited to embodiments wherein all of the aforementioned parameters are checked to verify that a particular Pocket Vault use is authorized.
When, at thestep2006, it is determined that the Pocket Vault use is not authorized, the routine1904 terminates. In such a situation, it is also possible to generate some sort of security alert message to put someone or some entity on notice that an unauthorized use of a Pocket Vault has occurred.
When, the routine2006 has determined that the proposed Pocket Vault use is authorized, the routine1904 proceeds to astep2008, wherein all of the relevant information regarding the new Pocket Vault registration is logged into thedatabase406 of the network server114 (FIG. 4). As shown inFIG. 20, this information may include, for example, the interface station operator ID, the interface unit ID, the Pocket Vault ID, and all of the relevant information relating to the new Pocket Vault holder.
After thestep2008, the routine1904 proceeds to astep2010, wherein thenetwork server114 transmits encrypted validation information to theinterface station computer304, which then may be passed on to the pocketvault interface unit302, and then to thePocket Vault102, so as to enable the new holder's fingerprint to be stored in the memory of thePocket Vault102.
After thestep2010, the routine1904 terminates.
FIG. 21 is a flow diagram illustrating example of a routine that may be employed to implement thestep1910 of the primary routine1900 (FIG. 19).
As shown, the routine1910 begins at astep2102, wherein it is determined whether all of the requested updates have been received from the media issuer or advertiser.
When, at thestep2102, it has been determined that all of the requested updates have been received, the routine1910 proceeds to astep2104, wherein it is determined whether the media issuer or advertiser is authorized access to thenetwork server114. This authorization process may require some sort of authentication of the identity of the computer used by the media issuer or advertiser requesting the update, the operator of the computer, and/or the location of the computer, in a manner similar to that in which theinterface stations104 and their operators are authorized.
When, at thestep2104, it is determined that the media issuer or advertiser is not authorized access to thenetwork server114, the routine1900 proceeds to astep2106, wherein a message is transmitted to the media issuer or advertiser informing the media issuer or advertiser that access to thenetwork server114 has been denied.
After thestep2106, the routine1910 terminates.
When, at thestep2104, it is determined that the media issuer or advertiser is authorized access to thenetwork server114, the routine1910 proceeds to astep2108, wherein the updates received from the media issuer or advertiser are logged onto thenetwork server114.
After thestep2108, the routine1910 terminates.
FIG. 22 is a flow diagram illustrating an example a routine that may be employed to implement thestep1914 of the primary routine1900 (FIG. 19).
As shown, the routine1914 begins at the step2006 (discussed below in connection withFIG. 25), wherein it is determined whether the attempted Pocket Vault use is authorized.
When, at thestep2006, it is determined that the Pocket Vault use is not authorized, the routine1914 terminates.
When, at thestep2006, it is determined that the Pocket Vault use is authorized, the routine1914 proceeds to astep2202, wherein encrypted updates are transmitted to theinterface station computer304 for loading onto thePocket Vault102.
After thestep2202, the routine1914 proceeds tosteps2204 and2206, wherein the time and date of the updates are logged (step2204), and the media issuers or advertisers are informed that the updates have been made (step2206).
FIG. 23 is a flow diagram illustrating an example of a routine that may be employed to implement thestep1918 of the primary routine1900 (FIG. 9).
As shown, the routine1918 begins at astep2302, wherein it is determined whether the file to be loaded onto thenetwork server114 relates to a secure media issuer.
When, at thestep2302, it is determined that the file does not relate to a secure media issuer, the routine1918 proceeds to astep2304, wherein thenetwork server114 is updated with the non-secure file.
After thestep2304, the routine1918 terminates.
When, at thestep2302, it is determined that the to-be-loaded file does relate to a secure media issuer, the routine1918 proceeds to astep2306, wherein it is determined whether the secure media issuer is a Pocket Vault participant (i.e., a media issuer having access to the network server114).
When, at thestep2306, it is determined that the secure media issuer is not a Pocket Vault participant, the routine1918 proceeds to astep2308, wherein an advisory is sent to the holder indicating an inability to load the file, and inquiring as to whether the holder desires to load the file in a non-secure format. The holder may, for example, opt to load the file to thenetwork server114 in such a way that the content of the file is not encodable to the Chameleon Card, but can be displayed and shown to a POS operator and manually keyed in at POS by the POS operator.
After thestep2308, the routine1918 proceeds to astep2316, wherein it is determine whether the holder has elected to load the file in a non-secure format.
When, at thestep2316, it is determined that the holder has elected not to load the file in a non-secure format, the routine1918 terminates.
When, at thestep2316, it is determined that the holder has elected to load the file in a non-secure format, the routine1918 proceeds to astep2318, wherein the file is loaded onto thenetwork server114 in a non-secure format.
After thestep2318, the routine1918 terminates.
When, at thestep2306, it is determined that the secure media issuer is a Pocket Vault participant, the routine1918 proceeds to astep2310, wherein the media issuer is queried as to the account status of the holder.
After thestep2310, the routine1918 proceeds to astep2312, wherein it is determined whether authorization has been received from the media issuer to load the file.
When, at thestep2312, it is determined that authorization has not been received from the media issuer, the routine1918 proceeds to the step2308 (discussed above).
When, at thestep2312, it is determined that authorization has been received from the media issuer, the routine1918 proceeds to astep2314, wherein thenetwork server114 is updated with the secure file.
After thestep2314, the routine1918 terminates.
FIG. 24 is a flow diagram illustrating an example of a routine that may be employed to implement thestep1922 of the primary routine1900 (FIG. 19).
As shown, the routine1922 begins at the step2006 (discussed below in connection withFIG. 25), wherein it is determined whether the attempted use of thePocket Vault102 is authorized.
When, at thestep2006, it is determined that the attempted Pocket Vault use is not authorized, the routine1922 terminates.
When, at thestep2006, it is determined that the attempted Pocket Vault used is authorized, the routine1922 proceeds to astep2402, wherein it is determined whether the requested transaction is within acceptable account parameters (e.g., as set by the media issuer).
When, at thestep2402, it is determined that the requested transaction is not within acceptable account parameters, the routine1922 proceeds to astep2404, wherein a message is transmitted to the entity that requested the transaction (e.g., a commercial interface station104C, acard reader106, or a barcode reader107) indicating that the transaction is outside of acceptable account parameters.
After thestep2404, the routine1922 terminates.
When, at thestep2402, it is determined that the requested transaction is within acceptable account parameters, information regarding the transaction is logged into thedatabase406 of the network server114 (FIG. 4). As shown, the logged information may include the identification of the entity with which the transaction took place, the Pocket Vault ID (if available), and the time and date of the transaction.
After thestep2406, the routine1922 proceeds to astep2408, wherein an encrypted approval message is transmitted to the entity with which the transaction is being attempted (e.g., a commercial interface station104C, acard reader106, or a barcode reader107).
After thestep2408, the routine1922 terminates.
FIG. 25 is a flow diagram illustrating an example of a routine that may employed to implement thestep2006 of the routines1904 (FIG. 20),1914 (FIG. 22), and1922 (FIG. 24).
As shown, the routine2006 begins at astep2502, wherein it is determined whether the point of sale terminal or other entity with which a transaction is being attempted is connected to a valid source (e.g., an authorized telephone line or an authorized internet protocol (IP) address).
When, at thestep2502, it is determined that the entity proposing the transaction is not connected to a valid source, the routine2006 proceeds to astep2510, wherein the transaction is refused, and a security alert is generated so that appropriate action(s) may be taken.
When, at thestep2502, it is determined that the entity proposing the transaction is connected to a valid source, the routine2006 proceeds to astep2504, wherein it is determined whether the ID of the interface station, card reader or barcode reader is valid, and is properly linked to the source to which is connected.
When, at thestep2504, it is determined that the ID of the entity proposing the transaction is not valid, the routine proceeds to the step2510 (discussed above).
When, at thestep2504, it is determined that the ID of the entity proposing the transaction is valid, the routine2006 proceeds to astep2506, wherein it is determined whether the Pocket Vault ID (if available) is valid. It should be appreciated that, when acard reader106, abarcode reader107 or an RF signal receiver is employed, it is possible that the ID from the Pocket Vault will not be transmitted to thenetwork server114. Therefore, thestep2506 may be skipped in such a situation.
When, at thestep2506, it is determined that the Pocket Vault ID (when available and required) is not valid, the routine2006 proceeds to the step2510 (discussed above).
When, at thestep2506, it is determined that the Pocket Vault ID (when) is valid or is not required, the routine2006 proceeds to astep2508, wherein it is determined whether the Pocket Vault ID (if available) is linked to the ID of the entity proposing the transaction, e.g., acommercial interface station104c,acard reader106, or abarcode reader107.
When, at thestep2508, it is determined that the ID of the Pocket Vault102 (when available) is not linked to the ID of the entity proposing the transaction, the routine2006 proceeds to the step2510 (discussed above).
When, at thestep2508, it is determined that the Pocket Vault ID is linked to the ID of the entity proposing the transaction, or that the ID of the Pocket Vault is not required, the routine2006 proceeds to astep2512, wherein the Pocket Vault use is authorized.
With regard to the information checked in connection with the routine2006 to determine whether a particular Pocket Vault use is authorized, it should be appreciated that, in some embodiments, fewer than all of the verification steps discussed above may be performed when lesser degrees of security are desired or required. For example, in some embodiments, there may be no restrictions as to who can operate an interface station, the source to which the station is connected, and/or the ID of the station.
FIG. 27 illustrates a network system similar to that described hereinabove. The system ofFIG. 27, however, includes several additional components which serve to increase the network's functionality and utility. Accordingly, it should be appreciated that, in addition to the components illustrated inFIG. 27, the system may also include all or some of the components and features of the system described above in connection withFIGS. 1-26, and may also incorporate all or some of that system's functionality.
As shown inFIG. 27, thePocket Vault102 may be coupled to an interface station104 (including aninterface unit302 coupled to an the interface station computer304). Theinterface unit302 may include acommunication port2706, which is adapted to perform basic communications functions for interaction between theinterface unit302 and each of thePocket Vault102 and theinterface station computer304. This communication can take place over physical wires using a USB protocol or HotWire, or any other suitable protocol. Alternatively, the communication can be wireless, using a standard wireless protocol, such as Bluetooth, or any other suitable protocol. Thecommunication port2706 may, of course, be adapted to perform communications functions depending on the requirements on the particular protocol used. In an example embodiment, a USB protocol is used, and theinterface unit302 is connected to theinterface station computer304 through a USB port. Several suitable methods/techniques for interfacing thePocket Vault102 with theinterface unit302 are described above.
In addition to thecommunication port2706, as in the embodiment described above, theinterface unit302 contains astripe reader315. The purpose and operation of thestripe reader315 is described below in connection withFIG. 34.
Theinterface station computer304 may be any suitable computer that employs one or more processors to execute instructions stored in memory. Theinterface station computer304 may even comprise several inter-networked computers.
In the illustrative embodiment shown, theinterface station computer304 may use thecommunication software2710 to communicate with thenetwork server114 via thenetwork2724. Thecommunication software2710 may be any of a number of communication programs known in the art, and the invention is not limited to any particular type of software. Thesoftware2710 may, for example, comprise a web browser, a terminal emulation program, a proprietary program, or any other software module capable of communicating with other computers using thenetwork2724. Thenetwork2724 may be any communication network known in the art. For example, thenetwork2724 may comprise the World Wide Web, a Local Area Network, or any other networking arrangement adapted for communication between digital computers.
In the embodiment shown, thecommunication software2710 usesinternet settings2722 when accessing thenetwork2724. Theinternet settings2710 may include any user preferences or software settings relevant to communication functions and usability of thecommunication software2710. Theinternet settings2722 may comprise, for example, the network name and the identification of theinterface station computer304, an identification of communications protocols used to connect to thenetwork2724, network preferences, such as whether any proxy servers may or should be used, a list of frequently-used servers, cookies previously obtained from various websites, digital certificates, personal bookmarks, user identity data, user password data for various servers, etc.
Thecommunication software2710 may access thenetwork2724 throughcommunication protocol layer2714. Depending on how theinterface station computer304 is physically connected to thenetwork2724. Thecommunication protocol layer2714 may be dial-up software, a TCP/IP layer, or any other suitable networking layer. Thecommunication protocol layer2714 may, for example, execute low-level communication functions, thereby providing useful abstractions to thecommunication software2710. In an example embodiment, theinterface station computer304 is connected to thenetwork2724 using a modem, and thecommunication protocol layer2714 is a dialup software module.
As shown, theinterface station computer304 may also contain one ormore communication drivers2712. Although multiple drivers may, in fact, be employed, for simplicity of discussion, the description hereinafter may refer to all such drivers as a single “driver.” Thecommunication driver2712 acts both as a device driver for theinterface unit302, and also as a communications driver capable of accessinginternet settings2722 and facilitating communications between thePocket Vault102 and theserver114 by using thecommunication protocol layer2714 to establish a connection to thenetwork server114 through thenetwork2724.
Thenetwork server114 may comprise any suitable processor-based device or its equivalent. It may be either a single or multi-processor machine, or even a collection of servers inter-networked together. In one embodiment, thenetwork server114 stores both data and applications that are accessible to users. Thenetwork server114 may, for example, store and serve a website, i.e., a collection of web pages and data that are available to users via a browser.
Thenetwork server114 may include one ormore controllers402 and adatabase406, as described above in connection withFIG. 4. In addition, thenetwork server114 may include acommunication protocol layer2716, which provides low-level communication functions to server communications software. Thecommunication protocol layer2716 may be, but need not be, the same as thecommunication protocol layer2714 of theinterface station computer304.
As shown inFIG. 27, thenetwork server114 may communicate through thenetwork2724 with anissuer authority2718. Theissuer authority2718 may correspond, for example, to any of the advertiser(s)108, non-financial media issuer(s)110, or financial media issuer(s)112 described above in connection withFIG. 1, or may be any entity designated to represent any of the same.
Overall, the networking arrangement illustrated inFIG. 27 allows thePocket Vault102 to access thenetwork server114. It also allows theinterface station computer304 to access restricted portions of thenetwork server114, such as, for example, user data stored in thedatabase406, when access is authenticated through communication from thePocket Vault102 to thenetwork server114. Authentication and access to restricted areas of thenetwork server114 will be further described below.
In order for thePocket Vault102 to perform communications functions, as well as other functions described elsewhere herein, thePocket Vault102 may be driven bycontrol software2708.FIG. 28 is a block diagram illustrating example components of thecontrol software2708 that may be disposed on thePocket Vault102.
As shown, thecontrol software2708 may include components such as acommunications software module2802, acard loading module2804, an internetsettings management module2806, asynchronization module2808, a statistics module2810, and asecurity module2812. It should be appreciated, of course, that thecontrol software2708 is not limited to the illustrative modules shown, and that thecontrol software2708 may comprise fewer modules or additional modules to perform other functions, such as the functionality described above in connection withFIGS. 7-12.
Thecommunications software module2802 may, for example, be responsible for communications with thenetwork server114 and with theinterface station computer304, in the manner discussed below.
Thecard loading module2804 may, for example, be responsible for loading data for new cards or tokens and storing such data in memory, as well as for transferring this data to thenetwork server114, when appropriate. Examples of how card/token data may be loaded onto thePocket Vault102 are discussed below in connection withFIG. 34.
Internetsettings management module2806 may, for example, be responsible for managing the storage and use of internet settings by thePocket Vault102. Such internet settings may, for example, correspond to any of theinternet settings2722 that may be stored on theinterface station computer304. The internetsettings management module2806 may allow a user to store, manage, and transfer internet settings, e.g., cookies and preference settings, from one computer to another. Operation of the internetsettings management module2708 will be further described below in connection with thesteps3310 and3320 of the routine3024 (FIG. 33).
Thesynchronization module2808 may, for example, be responsible for synchronizing data and settings stored on thePocket Vault102 with data and settings stored on thenetwork server114. Operation of thesynchronization module2808 is described below in connection withFIG. 35.
The statistics module2810 may, for example, collect statistics concerning use of thePocket Vault102. Such statistics may, for example, include information such as the number of accesses to various cards stored in the memory of thePocket Vault102, the number of financial transactions engaged in, the date of the last update of thePocket Vault102, the total amount and kind of data transferred between thePocket Vault102 and eachinterface station104 and/or thenetwork server114. In addition, the statistics module2810 may be adapted to be customized by the user.
Thesecurity module2812 may, for example, ensure security of authentication and communications. All communications to and from thenetwork server114 and theinterface station104 may be encrypted by thesecurity module2812, so that any attacker who intercepts those communications will receive no useful information.
Any of numerous types of encryption may be used to satisfactorily protect communications between thePocket Vault102 and the other devices in the network. For example, one of the asymmetric-key encryption types, such as public key encryption or private key encryption, may be used. These public/private encryption techniques are well known in the art and therefore will not be described here in detail. Alternatively, one-time pad encryption or other encryption techniques may be used to achieve a similar objective.
As discussed above, thePocket Vault102 may be adapted to not release any personal or secure information, even encrypted, until the holder presents satisfactory verification of his or her identity, such as, for example, presenting the holder's fingerprint to thefingerprint scanner220 or entering a password. In addition, fingerprint and password protection may be used together for authentication purposes, such that personal or secure information can be transferred or released only if the holder has been successfully authenticated using both techniques.
In alternative embodiments, security may be implemented using different measures, or may be omitted altogether in situations where theinterface station computer304 is a trusted host. In addition,security module2812 may be called on to perform security functions in situations other than communicating with thenetwork server114 and theinterface station computer304.
The manner of communication among thePocket Vault102, thenetwork server114, and aninterface station computer304 will now be described in connection withFIG. 29.FIG. 29 is a data flow diagram illustrating how data may be transferred between thePocket Vault102 and auser interface2902 of theinterface station computer304. Theuser interface2902 may, for example, comprise a web browser included in thecommunications software2710 running on theinterface station computer304. Alternatively, it may be a stand-alone application that allows a user to interact with thecommunications software2710 and, through it, interact with a website located on thenetwork server114.
In the illustrative embodiment shown, the data transfer takes place via thecommunication driver2712, thenetwork server114, and thecommunications software2710, data can flow in both directions at all connection points, and all communications between thePocket Vault102 and theuser interface2902 of theinterface station computer304 pass through thenetwork server114.
Using the arrangement shown, the user may, for example, update settings on thePocket Vault102 by using theuser interface2902 and thecommunication software2710 to update settings on thenetwork server114, and then instructing thenetwork server114 to update settings on thePocket Vault102 via thecommunication driver2712.
In one embodiment, thenetwork server114 implements a website, where user information may be selectively stored and accessed by a person using the communication software2710 (e.g., a web browser) running on theinterface station computer304, and any user may access the website on thenetwork server114. However, the website may have a so-called “restricted area” which can be accessed only after the user has authenticated his or her identity. As used herein, the term “restricted area” or “restricted information” means any data that is not available to general public without some sort of authentication. For example, each user may have preferences stored in thedatabase406 that would indicate how the main site should be presented to that user. Those preferences will not be available to other users. In addition to such relatively low-security settings, such as website preferences,database406 may also contain private user information, such as information about a user's credit cards and identity information. Access to this restricted information may be limited, for example, to only “authenticated” users.
Authentication of a Pocket Vault holder may be achieved, for example, by the holder applying a fingerprint to thefingerprint scanner220 of thePocket Vault102, interfacing thePocket Vault102 with the interface unit302 (which acts essentially as a pass-through device), and establishing a connection between thePocket Vault102 and thenetwork server114 via thecommunication driver2712. Based on communications with thePocket Vault102 via this “connection,” the website may determine: (1) whether thePocket Vault102 has been “validated,” i.e., whether a fingerprint has been stored in the fingerprint memory of thePocket Vault102 and whether validation information (e.g., a PKI certificate) is present on thePocket Vault102, and (2) whether thePocket Vault102 has been authenticated, i.e., whether the fingerprint recently scanned by thePocket Vault102 matched the fingerprint stored in the fingerprint memory of thePocket Vault102. If the website determines that thePocket Vault102 has not yet been validated, the user may be given an option to validate thePocket Vault102 using the website software. If the website determines that thePocket Vault102 has been validated and authenticated, then thenetwork server114 may enable the authenticated holder to access or perform functions relating to some or all of the restricted area of thedatabase406 containing that holder's information.
Communication driver2712 may be a light-weight application that can access and modify theinternet settings2722, and can also accesscommunications protocol layer2714, but cannot transfer information to any other software programs. For example, thecommunication driver2712 may access theinternet settings2722 in order to determine that theinterface station computer304 is connected to thenetwork2724 through a dial-up connection; following that, it may initiate the dial-up connection or use an established connection through thecommunications protocol layer2714 in order to tunnel packets from thePocket Vault102 to thenetwork2724.
FIG. 30 is a flow diagram illustrating an example implementation of the PROCESS REQUEST TO ACCESS WEBSITE routine1422 shown inFIG. 14, which may be executed by thecontroller308 of theinterface station computer304. As discussed above in connection withFIG. 14, it should be appreciated that this routine need not be accessed as a result of a user selecting it from the menu displayed in thestep1402. Rather, a user may simply use a browser to directly log onto the website on thenetwork server114.
As shown, the routine1422 begins at astep3002, wherein theinterface station computer304 is caused to access the website on thenetwork server114, e.g., by using a browser to access the website.
After thestep3002, the routine1422 proceeds to astep3004, wherein it is determined whether therequisite communication drivers2712 have been installed.
When, at thestep3004, it is determined that therequisite communication drivers2712 have not been installed, the routine1422 proceeds to an INSTALL DRIVER(S) routine3006 (discussed below in connection withFIG. 31), which is responsible for installing thecommunication drivers2712.
After the routine3006 has completed, the routine1422 proceeds to astep3008, wherein thecommunication drivers2712 are caused to become operational.
When, at thestep3004, it is determined that therequisite drivers2712 have already been installed, the routine1422 proceeds directly to the step3008 (discussed above).
After thestep3008, the routine1422 proceeds to steps3010-3016, wherein attempts are made to establish a connection between thePocket Vault102 and the website on thenetwork server114 within a time out period determined by thestep3014. Each time it is determined that the connection has not yet been established, the user is prompted to interface thePocket Vault102 with theinterface unit302 and to connect theinterface unit302 to the interface station computer304 (e.g., using a USB cable).
When, during the steps3010-3016, it is determined that a connection has not been established between thePocket Vault102 and the website in a timely manner, the routine1422 proceeds to astep3026, wherein a message is displayed to the user regarding the unsuccessful communication attempt between thePocket Vault102 and the website on thenetwork server114.
After thestep3026, the routine1422 terminates.
When, during the steps3010-3016, it is determined that a connection has been successfully established between thePocket Vault102 and the website on thenetwork server114, the routine1422 proceeds to astep3018, wherein it is determined whether thePocket Vault102 has been validated, e.g., whether a holder's fingerprints and a PKI certificate are stored therein. The website may, for example, make this determination based upon the messages exchanged during the handshaking protocol engaged in between thePocket Vault102 and thenetwork server114.
When, at thestep3018, it is determined that thePocket Vault102 has not yet been validated, the routine1422 proceeds to a NEW POCKET VAULT HOLDER routine3020, which is discussed below in connection withFIG. 32.
When, at thestep3018, it is determined that thePocket Vault102 has already been validated, the routine1422 proceeds to an EXISTING POCKETVAULT HOLDER routine3024, which is discussed below in connection withFIG. 33.
After completion of the EXISTING POCKETVAULT HOLDER routine3024, the routine1422 terminates.
After completion of the NEW POCKET VAULT HOLDER routine3020, the routine1422 proceeds to astep3022, wherein it is determined whether a new holder was successfully validated.
When, at thestep3022, it is determined that a new holder was successfully validated, the routine1422 proceeds to the EXISTING POCKET VAULT HOLDER routine3024 (discussed above).
When, at thestep3022, it is determined that a new holder was not successfully validated, the routine1422 terminates.
FIG. 31 is a flow diagram illustrating an example implementation of the INSTALL DRIVER(S) routine3006 shown inFIG. 30.
As shown, the routine3006 begins at astep3102, wherein thenecessary communication drivers2712 are downloaded from another computer, e.g., a website on the World Wide Web.
After thestep3102, the routine3006 proceeds to steps3104-3108, wherein thenecessary communication drivers2712 are installed on theinterface station computer304 and registered withnetwork server114, and the preferences for thecommunication drivers2712 are set either automatically or in response to user input. During thestep3106, thecommunication driver2712 may communicate with thenetwork server114 in order to register itself and its attributes. Among these attributes can be such things as a unique identifier for theinterface station computer304 on which that driver is installed, the identity of the user registering it, and other such items. The preferences that may be set by the user during thestep3108 may, for example, include information such as how and where to access theinternet settings2722, how many attempts at connection should be performed, etc.
After thestep3108, the routine3006 terminates.
FIG. 32 is a flow diagram illustrating an example implementation of the NEW POCKET VAULT HOLDER routine3020 shown inFIG. 30.
As shown, the routine3020 begins at astep3202, wherein it is determined whether the new holder has indicated that he or she has already established an account with the website on thenetwork server114.
When, at thestep3202, it is determined that the new holder has not indicated the existence of a previously-established account, the routine3020 proceeds to astep3204, wherein a new account is established on the website on thenetwork server114 in response to user input to a browser running on theinterface station computer304.
After thestep3204, the routine3020 proceeds to astep3206, wherein the new holder is prompted to apply his or her fingerprint to thefingerprint scanner220 while thePocket Vault102 is interfaced with theinterface unit302. The user is further prompted to follow the directions on thePocket Vault102. As discussed above in connection withFIGS. 7 and 8, when a fingerprint is applied to afingerprint scanner220 of an un-validated device, the user is instructed by the Pocket Vault to apply six finger prints (three from one finger on the left hand and three from one finger on the right hand) sequentially to thefingerprint scanner220, waiting for a beep each time. As discussed in connection withFIG. 8, after the new holder has completed this task, an encrypted message including the Pocket Vault ID may be released from the Pocket Vault to theinterface unit302. Because of the established connection between thePocket Vault102 and the website on thenetwork server114, this encrypted message should reach the website. And, in response to receiving this encrypted message, the website should release encrypted validation information (e.g., a PKI certificate) back to thePocket Vault102 via the established connection.
After thestep3206, the routine3020 proceeds to steps3208-3210, wherein it is determined whether thePocket Vault102 has released the encrypted message including the Pocket Vault ID to the website before a timeout period has elapsed.
When, at thestep3210, it is determined that the timeout period elapsed before the encrypted message including the Pocket Vault ID was released to the website, the routine3020 proceeds to astep3220, wherein a message is displayed to the user concerning the unsuccessful attempt to validate the Pocket Vault holder.
After thestep3220, the routine3020 terminates.
When, at the steps3208-3210, it is determined thePocket Vault102 has released the encrypted message including the Pocket Vault ID to the website before the timeout period elapsed, the routine3020 proceeds to astep3212, wherein it is determined whether the website has released the encrypted validation information (e.g., a PKI Certificate) to thePocket Vault102.
When, at thestep3210, it is determined that the timeout period elapsed before the website released the encrypted validation information (e.g., a PKI Certificate) to thePocket Vault102, the routine3020 proceeds to the step3220 (discussed above).
When, at thestep3210, it is determined that the website released the encrypted validation information (e.g., a PKI Certificate) to thePocket Vault102 before the timeout period elapsed, the routine3020 proceeds to astep3216, wherein a message is displayed to the user concerning the successful validation of the new Pocket Vault holder.
After thestep3216, the routine3020 terminates.
When, at thestep3202, it is determined that the new holder has indicated the existence of a previously-established account, the routine3020 proceeds to astep3218, wherein a check is made to verify the holder's identity. The holder may, for example, be required to enter personal information, such as name, contact information, and security information to verify his or her identity.
When, at thestep3218, it is determined that the holder has successfully verified his or her identity, the routine3020 proceeds to the step3206 (discussed above), with the holder's previously-stored account information being used for thenew Pocket Vault102.
When, at thestep3218, it is determined that the holder has not successfully verified his or her identity, the routine3020 proceeds to the step3220 (discussed above).
FIG. 33 is a flow diagram illustrating an example implementation of the EXISTING POCKET VAULT HOLDER routine3024 shown inFIG. 30.
As shown, the routine3024 begins at astep3302, wherein it is determined whether thePocket Vault102 has been authenticated, e.g., whether thePocket Vault102 has determined that a fingerprint applied to thefingerprint scanner220 matches one of the fingerprints stored in the fingerprint memory of thePocket Vault102. This authentication procedure may operate as described above in connection with the step712 (FIG. 7), or an additional or different routine may be employed (e.g., as part of thesecurity module2812 described above in connection withFIG. 28) to determine whether the holder has successfully authenticated his or her identity, thereby enabling thenetwork server114 to establish a “trust” relationship with thePocket Vault102.
When, at thestep3302, it is determined that thePocket Vault102 has not been properly authenticated, the routine3024 proceeds to astep3304, wherein the holder is prompted to apply his or her fingerprint to thefingerprint scanner220 of thePocket Vault102 while thePocket Vault102 is interfaced with theinterface unit302, i.e., while keeping the connection established between thePocket Vault102 and the website on thenetwork server114.
As shown, thestep3306 determines whether thePocket Vault102 has been properly authenticated prior to the expiration of a timeout period.
When, at thestep3306, it is determined that the timeout period elapsed before thePocket Vault102 was authenticated, the routine3024 proceeds to astep3308, wherein a message is displayed indicating that the authentication attempt was unsuccessful.
After thestep3308, the routine3024 terminates.
When, at thestep3302, it is determined that thePocket Vault102 has been properly authenticated, the routine3024 proceeds to astep3310, wherein thecommunication driver2712 causes theinternet settings2722 of theinterface station computer304 to be adjusted to reflect certain internet settings stored in thePocket Vault102, e.g., by the internetsettings management module2806. In this manner, the internet settings of thePocket Vault102 may be “ported” to theinterface station computer304 so that the browser operating on theinterface station computer304 may take advantage of those settings while thePocket Vault102 is connected to the website on thenetwork server114 via thecommunication driver2712. The internet settings of thePocket Vault102 that may be ported to theinterface station computer304 in this manner may comprise, for example, the network name and identification of thePocket Vault102, an identification of communications protocols used to connect to thenetwork2724, network preferences, such as whether any proxy servers may or should be used, a list of frequently-used servers, cookies previously obtained from various websites, digital certificates, personal bookmarks, user identity data, user password data for various servers, etc.
The internet settings on thePocket Vault102, and porting of the same to theinterface station computer304, may be managed, for example, by one or more modules of the control software, e.g., the internetsettings management module2806. In one embodiment, the user may elect which internet settings are to be ported to theinterface station computer304 during thestep3310. This functionality may be accomplished, for example, during a SET PREFERENCES routine3324 (described below in connection withFIG. 39).
After thestep3310, the routine3024 proceeds to astep3312, wherein it is determined whether one of several “functions” has been selected. In the illustrative embodiment shown, the seven available functions are: (1) CARD LOADING (see CARD LOADING routine3314—discussed below in connection withFIG. 34), (2) SYNCHRONIZATION (seeSYNCHRONIZATION routine3316—discussed below in connection withFIG. 35), (3) RECOVERY (seeRECOVERY routine3318—discussed below in connection withFIG. 36), (4) IDENTITY PORTING OPTIONS (see IDENTITY PORTING OPTIONS routine3320—discussed below in connection withFIG. 337), (5) BACKUP (seeBACKUP routine3322—discussed below in connection withFIG. 38), (6) SET PREFERENCES (see SET PREFERENCES routine3324—discussed below in connection withFIG. 39), AND (7) TERMINATE SESSION (see step3326). It should be appreciated that the invention is not limited to the specific functions shown, and that additional, different or fewer functions may be employed.
It should further be appreciated that some or all of the illustrated functions, or operations relating to such functions, may be initiated automatically or may require user initiation, depending on the setting of preferences. For example, theSYNCHRONIZATION routine3316 may be initiated automatically after completion of thestep3310, if preferences so indicate. Alternatively, certain steps required to accomplish synchronization of thePocket Vault102 and the website on thenetwork server114 may be taken, without actually completing the synchronization. For example, thesynchronization module2808 of thecontrol software2708 may automatically initiate a comparison of the contents of thePocket Vault102 and the website to determine what data should be transferred if synchronization is initiated. Software on thenetwork server114 may also or alternatively perform a similar comparison function automatically, if so desired.
Moreover, it should be understood that, in some embodiments, some of the above-noted functions may be performed without first requiring aPocket Vault102 to be authenticated. For example, some functions may involve the transfer of public or non-sensitive data, and may not require protection via theauthentication verification step3302.
As shown inFIG. 33, when any of the above-listed seven functions is selected, either automatically or in response to user input, the selected function is performed. For each offunctions3314,3316,3318,3320,3322, and3324, after performing the routine associated with the function, the routine3024 proceeds to astep3332, wherein it is determined whether the connection between thePocket Vault102 and the website on thenetwork server114 is still established.
When, at thestep3332, it is determined that the connection between thePocket Vault102 and the website on thenetwork server114 is still established, the routine3024 returns to the step3312 (discussed above).
When, at thestep3332, it is determined that the connection between thePocket Vault102 and the website on thenetwork server114 is no longer established, the routine3024 proceeds to astep3327, wherein some or all of theinternet settings2722 are ported from theinterface station computer304 to thePocket Vault102. The communication driver3712 may cause the settings to be ported directly to thePocket Vault102 from the interface station computer304 (via the interface unit302), or the settings may be transferred first to thenetwork server114 and then to the Pocket Vault102 (via the connection between thenetwork server114 and the Pocket Vault102). In some embodiments, only certain types or classes of settings, e.g., certain type of cookies, PKI certificates, etc., are ported from theinterface station computer304 to thePocket Vault102 in this manner. The classes or types of settings that are ported during thestep3327 may, for example, be determined by the user in some embodiments. For example, the user may set certain preferences, e.g., during the SET PREFERENCES routine3324 or by manipulating thePocket Vault102 directly, that control the nature and type of internet settings that are ported to thePocket Vault102 from theinterface station computer304 during thestep3327.
After thestep3327, the routine3024 proceeds to astep3328, wherein thecommunication driver2712 causes theinternet settings2722 on theinterface station computer304 to return to their original state, i.e., the configuration theinternet settings2712 were in before they were altered in thestep3310.
After thestep3328, the routine3024 proceeds to astep3330, wherein any cached web pages or other information temporarily stored in theinterface station computer304 during the communication session between thePocket Vault102 and the website on thenetwork server114 are deleted from cache and other memory in theinterface station computer304. Thus, after completion of thestep3330, theinterface station computer304 is in essentially the same state it was in prior to the beginning of the routine1422. Thecommunication driver2712 may remain on theinterface station computer304 or may be deleted in connection with thestep3330. If thecommunication driver2712 is kept on theinterface station computer304, any cache or other memory associated with it that might store personal or sensitive information may also be erased. In some embodiments, thecommunication driver2712 caches or stores very little, if any, information that is passed between thePocket Vault102 and the website on thenetwork server114. In any event, thecommunication driver2712 may be constructed such that no useful data, i.e., data that reflects any personal or sensitive information, remains on it after completion of thestep3330.
When, at thestep3312, the holder chooses the TERMINATE SESSION function, the connection between thePocket Vault102 and the website on thenetwork server114 is de-established, and the routine3024 proceeds immediately to thesteps3327,3328 and3330 (discussed above).
After thestep3330, the routine3024 terminates.
FIG. 34 is a flow diagram illustrating an example implementation of the CARD LOADING routine3314 shown inFIG. 33.
As shown, the routine3314 begins at astep3402, wherein a determination is made as to whether the card desired to be loaded is “swipeable.” The user may, for example, be prompted to indicate whether the card has an operational magnetic stripe disposed thereon.
When, at thestep3402, the user indicates that the card does not have an operational magnetic stripe, the routine3314 proceeds to astep3406, wherein the user is prompted (e.g., via the browser on the interface station computer304) to input information to be used in creating a card account.
When, at thestep3402, the user indicates that the card does have an operational magnetic stripe, the routine3314 proceeds to thestep3410, wherein the user is prompted to swipe the card through thestripe reader315 of theinterface unit302.
After thestep3406, the routine3314 proceeds tosteps3408 and3409, wherein it is determined whether theinterface station computer304 has received the information from a card swiped through thestripe reader315 of theinterface unit302 prior to the expiration of a timeout period.
When, at thestep3409, it is determined that the timeout period elapsed before information from a swiped card was received, the routine3314 proceeds to astep3411, wherein a message is displayed to the user concerning the failure to properly read the magnetic stripe.
After thestep3411, the routine3314 returns to the step3402 (discussed above). Thus, when a user is unsuccessful in swiping a card one or more times, the user may determine that the magnetic stripe is non-operational, and may indicate at thestep3402 that the card is not swipeable. The user may thereafter create an account for the card manually at the step3410 (discussed above).
After thestep3410, the routine proceeds to astep3412, wherein the website on thenetwork server114 determines whether the account for the card is valid. This determination may be made, for example, by confirming that the card is owned by the person attempting to add it to his or herPocket Vault102, that the card has not expired, etc.
When, at the step3408, it is determined that information from the swiped card has been received prior to the expiration of the timeout period, the routine3314 proceeds to the step3412 (discussed above), wherein a determination is made as the validity of the account based upon the information read by thestripe reader315.
When, at thestep3412, a determination is made that the account the user has requested to be added to thePocket Vault102 is not valid, the routine3314 proceeds to astep3414 wherein appropriate security precautions are taken.
After thestep3414, the routine3314 terminates.
When, at thestep3412, a determination is made that the account the user has requested to be added to thePocket Vault102 is valid, the routine3314 proceeds to astep3416, wherein the information for the card is downloaded from the website on thenetwork server114 to thePocket Vault102 via thecommunication driver2712.
After thestep3416, the routine3314 proceeds to astep3418, wherein a message is displayed that indicates the card has been successfully loaded onto thePocket Vault102 for use in future transactions.
After thestep3418, the routine3314 terminates.
FIG. 35 is a flow diagram illustrating an example implementation of theSYNCHRONIZATION routine3316 shown inFIG. 33.
As shown, the routine3316 begins at astep3502, wherein certain parameters required to synchronize thePocket Vault102 to the website on thenetwork server114 are determined based upon user preferences and the ID of thePocket Vault102. For example, if a holder has two or more Pocket Vaults102, the holder may wish to elect one of them to be a master for synchronization purposes, or the holder may even elect to have the website act as the master. When a holder has more than onePocket Vault102, the holder also may desire to be prompted to select either the current date or the date of the last synchronization as the basis for the synchronization operation.
After thestep3502, the routine3316 proceeds to astep3504, wherein the website on thenetwork server114 generates sets of current data to transfer to thePocket Vault102. The website may, for example, compare its current data to the data stored on thePocket Vault102 so as to identify any data it needs to receive from thePocket Vault102 to properly synchronize therewith.
After thestep3504, the routine3316 proceeds tosteps3506 and3508, wherein it is determined whether thePocket Vault102 has indicated that it is ready to synchronize prior the expiration of a timeout period (measured by the step3508). ThePocket Vault102 may, for example, also be performing a similar comparison (e.g., using the synchronization module2808) between its data and the data stored on the website of the network server to determine what data it needs to receive from the website to properly synchronize therewith.
When at thestep3508, it is determined that the timeout period has elapsed before thePocket Vault102 had indicated its readiness to synchronize, the routine3316 proceeds to astep3510, wherein a message is generated indicating the attempt to synchronize thePocket Vault102 with the website on thenetwork server114 has failed.
After thestep3510, the routine3316 terminates.
When at thestep3506, it is determined that thePocket Vault102 has indicated its readiness to synchronize with the website prior to the expiration of the timeout period, the routine3316 proceeds to astep3512, wherein accumulated synchronization data is transferred from the website to thePocket Vault102, and vice versa, via thecommunication driver2712.
After thestep3512, the routine3316 proceeds to astep3516, wherein the date of the successful synchronization is stored in both thePocket Vault102 and thenetwork server114.
After thestep3516, the routine3316 proceeds to astep3518, wherein a message is generated indicating that thePocket Vault102 has been successfully synchronized with the website on thenetwork server114.
After thestep3518, the routine3316 terminates.
FIG. 36 is a flow diagram illustrating an example implementation of theRECOVERY routine3318 shown inFIG. 33.
As shown, the routine3318 begins at astep3602, wherein the website on thenetwork server114 compiles all data necessary to recover thePocket Vault102 to its state as of the last time its contents were synchronized with the website of the network server114 (e.g., using the routine3316—described above) or backed up on the website of the network server114 (e.g., using routine3322—described below).
After thestep3602, the routine3318 proceeds to step3604, wherein the data compile in thestep3602 is downloaded from the website on thenetwork server114 to thePocket Vault102 via thecommunication driver2712, and a determination is made as to where that downloading has completed prior to the expiration of a timeout period measured at thestep3606.
When, at thestep3606, it is determined that the timeout period elapsed prior to the downloading being completed, the routine3318 proceeds to astep3608, wherein a message is generated indicating that the attempted recovery was unsuccessful.
After thestep3606, the routine3318 terminates.
When, at thestep3606, it is determined that the downloading was completed in a timely manner, the routine3318 proceeds to astep3610, wherein a message is generated indicating that the attempted recovery of data to thePocket Vault102 was successful.
After thestep3610, the routine3318 terminates.
FIG. 37 is a flow diagram illustrating an example implementation of the IDENTITY PORTING SELECTION routine3320 shown inFIG. 33.
As shown, the routine3320 begins at astep3702, wherein theinternet settings2722 from theinterface station computer304 are downloaded from theinterface station computer304 to the website on thenetwork server114.
After thestep3702, the routine3320 proceeds to astep3704, wherein the website on thenetwork server114 compiles and displays the downloaded internet settings to the user via the browser on theinterface station computer304. The settings may be displayed to the user in any of a number of ways. Preferably, the settings are displayed in a manner that enables the user to readily distinguish between various classes of settings, and that permits the user to readily identify the purpose of each type of setting. In some embodiments, only a subset of the all of the internet settings2722 (e.g., only settings such as cookies and PKI certificates) are transferred to the website for possible modification by the user.
After thestep3704, the routine3320 proceeds tosteps3706 and3708, wherein the user is given an opportunity to modify the displayed internet settings. The user may, for example, elect to keep certain cookies that were retained among theinternet settings2722, while choosing to discard others.
When at thestep3708, the user has indicated that he or she has completed any modifications of the retrievedinternet settings2722, the routine3320 proceeds to astep3710, wherein the modified internet settings are downloaded from the website on thenetwork server114 to thePocket Vault102 via thecommunication driver2712.
After thestep3710, the routine3320 terminates.
When at thestep3706, it is determined that the user did not elect to modify any settings, the routine3320 terminates.
FIG. 38 is a flow diagram illustrating an example implementation of theBACKUP routine3322 shown inFIG. 33.
As shown, the routine3322 begins at astep3802, wherein the website on thenetwork server114 transmits a request to thePocket Vault102 via thecommunication driver2712, asking thePocket Vault102 to send the website backup data. This backup data may, for example, constitute all data necessary to place thePocket Vault102 back into its present state if any portion of data on thePocket Vault102 was lost, or to place anew Pocket Vault102 into the same state as the backed up Pocket Vault102 (e.g., using theRECOVERY routine3318—discussed above).
After thestep3802, the routine3322 proceeds to steps3804-3806, wherein it is determined whether the requested backup data has been successfully transferred from thePocket Vault102 to the website on thenetwork server114 before the expiration of a timeout period (measured by the step3806).
When, at thestep3806, it is determined that the timeout period elapsed prior to the backup data being successfully transferred, the routine3322 proceeds to astep3808, wherein a message is displayed (e.g., via the browser on the interface station computer304) informing the user that a communication error has occurred and that the backup operation was unsuccessful.
After thestep3808, the routine3322 terminates.
When, at thestep3804, the routine3322 determined that, before the timeout period, the backup data has been successfully transferred from thePocket Vault102 to the website on thenetwork server114 via thecommunication driver2712, the routine3322 proceeds to astep3810, wherein the received backup data is stored by thenetwork server114, e.g., for use in connection with theRECOVERY routine3318.
After thestep3310, the routine3322 proceeds to astep3812, wherein a message is displayed (e.g., via the browser on the interface station computer304) informing the user that the backup operation was successfully completed.
After thestep3312, the routine3322 terminates.
FIG. 39 is a flow diagram illustrating an example implementation of the SET PREFERENCES routine3324 shown inFIG. 33. The SET PREFERENCES routine3324 permits the holder to set or alter preferences on his or herPocket Vault102 using a browser on theinterface station computer104.
As shown, the routine3324 begins at astep3902, wherein the website on thenetwork server114 transmits a request to thePocket Vault102 via thecommunication driver2712, requesting thePocket Vault102 to transmit all “preferences” information stored on thePocket Vault102 to the website on thenetwork server114 via thecommunication driver2712. This information may, for example, comprise definitions of home pages, connection of secure and non-secure media, order of media presentment, sort orders, user interface options, synchronization defaults, etc.
After thestep3902, the routine3324 proceeds tosteps3904 and3906, wherein it is determined whether the preferences information has been received from thePocket Vault102 prior to the expiration of a timeout period (measured by the step3906).
When, at thestep3906, it is determined that the timeout period elapsed before the preferences information was transferred from thePocket Vault102 to the website, the routine3324 proceeds to astep3908, wherein a message is displayed (e.g., on the browser) indicating that a communication error has occurred.
After thestep3908, the routine3324 terminates.
When, at thestep3904, it is determined that the preferences information has been successfully transferred from thePocket Vault102 to the website on thenetwork server114, the routine3324 proceeds to astep3910, wherein the website compiles and displays the current preference settings for the Pocket Vault102 (e.g., on the browser) in a user friendly manner.
After thestep3910, the routine3324 proceeds tosteps3912 and3914, wherein the user is given an opportunity to modify the displayed preference settings.
When, at thestep3912, the user opts not to modify any of the displayed settings, the routine3324 terminates.
When, at thesteps3912 and3914, the user opts to modify the displayed settings and indicates that he or she has completed modification thereof, the routine3324 proceeds to astep3916, wherein the modified preference settings are downloaded from the website on thenetwork server114 to thePocket Vault102 via thecommunication driver2712.
After thestep3918, a message is displayed (e.g., via the browser on the interface station computer304) informing the user that the preference settings for thePocket Vault102 were successfully modified.
After thestep3918, the routine3324 terminates.
One illustrative example of an application of the network system described herein is in the distribution of building access key cards and similar limited-use, time-sensitive media to individual operators. The following typical scenario involves distribution of hotel room key cards to hotel guests who make room reservations over the Internet. Using a hotel's secure web site, the prospective guest, who is also a Pocket Vault holder, may secure a room for a specific time period by providing a credit card number. This step may or may not involve use of a credit card stored on thePocket Vault102. If it does involve use of a Pocket Vault credit card, this card may, for example, be accessed while thePocket Vault102 is interfaced with the holder's personal interface station104b. Next, the prospective hotel guest may link to the network server114 (while staying within the hotel's website), and follow on-screen instructions for downloading the key card for his/her room onto the Pocket Vault102 (e.g., to ensure that thePocket Vault102 is interfaced with the pocketvault interface unit302, and to ensure that the Pocket Vault holder has activated thePocket Vault102 by the appropriate security mechanism such as a thumbprint for bio-metric ID verification). After downloading is complete, thedisplay216 of thePocket Vault102 may include an icon for the hotel room key (e.g., the hotel's logo), along with the icons for media previously loaded. When the room key card icon is selected, thePocket Vault102 may encode the Chameleon Card with the magnetic stripe coding to unlock the guest's hotel room.
After the time period of the guest's room reservation has expired, thePocket Vault102 may automatically delete the room key icon. This deletion may occur for the convenience of the Pocket Vault holder, not necessarily for hotel security reasons, since the room's lock will reject any previously-used key card (Chameleon or traditional key card) after the key card's specified time period has expired.
Having thus described at least one illustrative embodiment of the invention, various alterations, modifications and improvements will readily occur to those skilled in the art. Such alterations, modifications and improvements are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description is by way of example only and is not intended as limiting. The invention is limited only as defined in the following claims and the equivalents thereto.