Cloud token provisioning of multiple tokens

Information

  • Patent Grant
  • 11870903
  • Patent Number
    11,870,903
  • Date Filed
    Wednesday, September 7, 2022
    2 years ago
  • Date Issued
    Tuesday, January 9, 2024
    11 months ago
Abstract
A method is disclosed. The method includes receiving, by a token service computer, a token request message, the token request message being originated from a token requestor computer. The method also includes determining, by the token service computer, two or more access tokens based upon a single credential, and then transmitting the two or more access tokens to the token requestor computer in a token response message.
Description
BACKGROUND OF THE INVENTION

Users can utilize tokens as substitutes for credentials in order to gain access to a service or product. During a transaction, a token on a mobile device can be exchanged for a real credential (e.g. a primary account number (PAN) or some other payment information) that can be used in a transaction authorization process. Using tokens ensures greater security of sensitive information by eliminating any real credentials from the mobile device.


In some processes, a user initially receives a token by sending a provisioning request from a mobile device. The token is bound to the mobile device and can be stored either within a secure element in the hardware of the mobile device or in the software where the security of the token can be ensured through the use of encryption.


However, binding a token to a single mobile device has limitations. For example, if a user wishes to exchange a current mobile device for a new mobile device, the user must repeat the provisioning process for the new mobile device by providing a PAN or some other credential to obtain a new token. The token on the user's previous mobile device is subsequently lost and cannot be transferred or used by the new mobile device.


Furthermore, a token cannot be shared by more than one device through this method. Any alternate mobile device(s) owned by a user requires a separate provisioning request, wherein a different token is generated for each individual mobile device. Since the credentials (e.g., a PAN) the user provides can be assumed to remain the same, these subsequent provisioning requests are generally redundant and a waste of computing resources.


Embodiments of the invention are directed to addressing these and other problems, individually and collectively.


BRIEF SUMMARY

Embodiments of the invention include provisioning multiple access tokens in response to a single token request message. In one embodiment, a method includes receiving, by a token requestor computer, an access credential from a mobile device operated by a user and transmitting the access credential to a token service computer. In response to receiving the access credential, the method also includes transmitting, by the token service computer, an authorization request message to an authorizing entity computer in order to verify credential eligibility. Upon receiving a positive authorization response message from the authorizing entity computer, the method additionally includes obtaining, by the token service computer, at least two or more tokens, wherein at least one token can be associated with the mobile device and at least one token can be associated with a cloud server computer. The generated tokens are transmitted within a token response message to the token requestor computer.


Another embodiment of the invention is directed to a method comprising: receiving, by a token service computer, a token request message, the token request message being originated from a token requestor computer; determining, by the token service computer, two or more access tokens based upon a single credential; and transmitting, by the token service computer, the two or more access tokens to the token requestor computer in a token response message.


Another embodiment of the invention is directed to a token service computer comprising: a processor; and a non-transitory computer readable medium, the non-transitory computer readable medium comprising code, executable by the processor to implement a method comprising: receiving a token request message, the token request message being originated from a token requestor computer; determining two or more access tokens based upon a single credential; and transmitting the two or more access tokens to the token requestor computer in a token response message.


Another embodiment of the invention is directed to a method comprising: receiving, by a token requestor computer from a communication device, a single credential; transmitting, by the token requestor computer, a token request message comprising the single credential to a token service computer; receiving, by the token requestor computer from the token service computer, a token response message comprising the two or more access tokens including a first access token and a second access token; transmitting, by the token requestor computer, the first access token to the communication device; and transmitting, by the token requestor computer, the second access token to a cloud server computer


Another embodiment of the invention is directed to a token requestor computer comprising: a processor; and a non-transitory computer readable medium, the non-transitory computer readable medium comprising code, executable by the processor, for implementing a method comprising: receiving, from a communication device, a single credential; transmitting the single credential to a token service computer; receiving, from the token service computer, two or more access tokens including a first access token and a second access token; transmitting the first access token to the communication device; and transmitting the second access token to a cloud server computer


Further details regarding embodiments of the invention can be found in the Detailed Description and the Figures.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows a system and method for provisioning multiple tokens.



FIG. 2 shows a swim lane diagram illustrating a method for the retrieval and use of a device bound token, according to one embodiment of the invention.



FIG. 3 shows a swim lane diagram illustrating the retrieval and use of a cloud token, according to some embodiments of the invention.



FIG. 4 shows a system for using a cloud token to gain access to a secure location, according to some embodiments of the invention.



FIG. 5 shows a block diagram of a mobile communication device, in accordance with some embodiments of the invention.



FIG. 6 shows a block diagram of a token service computer, in accordance with some embodiments of the invention.



FIG. 7 shows a block diagram of a token requestor computer, in accordance with some embodiments of the invention.





DETAILED DESCRIPTION OF THE INVENTION

Prior to discussing embodiments of the invention, some terms can be described in further detail.


A “user device” may be any suitable device that can be used by a user. User devices may be in any suitable form. Some examples of user devices include cellular phones, PDAs, personal computers (PCs), tablet computers, and the like. In some embodiments, where a user device is a mobile device, the mobile device may include a display, a memory, a processor, a computer-readable medium, and any other suitable component.


A “mobile device” may comprise any suitable electronic device that may be transported and operated by a user, which may also provide remote communication capabilities to a network. A mobile communication device may communicate using a mobile phone (wireless) network, wireless data network (e.g. 3G, 4G or similar networks), Wi-Fi, Bluetooth, Bluetooth Low Energy (BLE), Wi-Max, or any other communication medium that may provide access to a network such as the Internet or a private network. Examples of mobile devices include mobile phones (e.g. cellular phones), PDAs, tablet computers, net books, laptop computers, wearable devices (e.g., watches), vehicles such as automobiles and motorcycles, personal music players, hand-held specialized readers, etc. A mobile device may comprise any suitable hardware and software for performing such functions, and may also include multiple devices or components (e.g. when a device has remote access to a network by tethering to another device—i.e. using the other device as a modem—both devices taken together may be considered a single mobile device).


A “resource provider” can be any suitable entity that provides resources (e.g., goods, services, access to secure data, access to locations, or the like) during a transaction. For example, a resource providing entity can be a merchant, a venue operator, a building owner, a governmental entity, etc. A “merchant” may typically be an entity that engages in transactions and can sell goods or services, or provide access to goods or services.


An “application” may be a computer program that is used for a specific purpose.


“Authentication data” may include any data suitable for verifying something. Authentication data may include data authenticating a user or a mobile device. Authentication data may be obtained from a user or a device that is operated by the user. Examples of authentication data obtained from a user may include PINs (personal identification numbers), biometric data, passwords, etc. Examples of authentication data that may be obtained from a device may be include device serial numbers, hardware secure element identifiers, device fingerprints, phone numbers, IMEI numbers, etc.


“Access data” may include any suitable data that can be used to access a resource or create data that can access a resource. In some embodiments, access data may be account information for a payment account. Account information may include a PAN (primary account number), payment token, expiration date, verification values (e.g., CVV, CVV2, dCVV, dCVV2), etc. In other embodiments, access data may be data that can be used to activate account data. For example, in some cases, account information may be stored on a mobile device, but may not be activated until specific information is received by the mobile device. In other embodiments, access data could include data that can be used to access a location. Such access data may be ticket information for an event, data to access a building, transit ticket information, etc. In yet other embodiments, access data may include data used to obtain access to sensitive data. Examples of access data may include codes or other data that are needed by a server computer to grant access to the sensitive data.


An “access request” may include a request for access to a resource. The resource may be a physical resource (e.g., good), digital resources (e.g., electronic document, electronic data, etc.), or services. In some cases, an access request may be submitted by transmission of an access request message that includes access request data. Typically a device associated with a requestor may transmit the access request message to a device associated with a resource provider.


“Access request data” may include any information surrounding or related to an access request. Access request data may include access data. Access request data may include information useful for processing and/or verifying the access request. For example, access request data may include details associated with entities (e.g., resource provider computer, processor server computer, authorization computer, etc.) involved in processing the access request, such as entity identifiers (e.g., name, etc.), location information associated with the entities, and information indicating the type of entity (e.g., category code). Exemplary access request data may include information indicating an access request amount, an access request location, resources received (e.g., products, documents, etc.), information about the resources received (e.g., size, amount, type, etc.), resource providing entity data (e.g., resource provider data, document owner data, etc.), user data, date and time of an access request, a method utilized for conducting the access request (e.g., contact, contactless, etc.), and other relevant information. Access request data may also be known as access request information, transaction data, transaction information, or the like.


An “access device” may be any suitable device for providing access to an external computer system. An access device may be in any suitable form. Some examples of access devices include point of sale (POS) devices, cellular phones, PDAs, personal computers (PCs), tablet PCs, hand-held specialized readers, set-top boxes, electronic cash registers (ECRs), automated teller machines (ATMs), virtual cash registers (VCRs), kiosks, security systems, access systems, Websites, and the like. An access device may use any suitable contact or contactless mode of operation to send or receive data from, or associated with, a mobile device. In some embodiments, where an access device may comprise a POS terminal, any suitable POS terminal may be used and may include a reader, a processor, and a computer-readable medium. A reader may include any suitable contact or contactless mode of operation. For example, exemplary card readers can include radio frequency (RF) antennas, optical scanners, bar code readers, or magnetic stripe readers to interact with a mobile device.


An “electronic wallet” or “digital wallet” can include an electronic device or service that allows an individual to conduct electronic commerce transactions. A digital wallet may store user profile information, credentials, bank account information, one or more digital wallet identifiers and/or the like and can be used in a variety of transactions, such as, but not limited to, eCommerce transactions, social network transactions, money transfer/personal payment transactions, mobile commerce transactions, proximity payment transactions, gaming transactions, etc. A digital wallet may be designed to streamline the purchase and payment process. A digital wallet may allow the user to load one or more payment cards onto the digital wallet so as to make a payment without having to enter an account number or present a physical card.


A “credential” may be any suitable information that serves as reliable evidence of worth, ownership, identity, or authority. A credential may be a string of numbers, letters, or any other suitable characters, as well as any object or document that can serve as confirmation. Examples of credentials include value credentials, identification cards, certified documents, access cards, passcodes and other login information, etc. Other examples of credentials include PANs (primary account numbers), PII (personal identifiable information) such as name, address, and phone number, and the like.


An “authorizing entity” may be an entity that authorizes a request, typically using an authorizing computer to do so. An authorizing entity may be an issuer, a governmental agency, a document repository, an access administrator, etc. An “issuer” may typically include a business entity (e.g., a bank) that maintains an account for a user. An issuer may also issue payment credentials stored on a user device, such as a cellular telephone, smart card, tablet, or laptop to the user.


A “service provider” may be an entity that can provide a resource such as goods, services, information, and/or access typically through a service provider computer. Examples of a service provider includes merchants, digital wallets, payment processors, etc.


A “user” may include an individual or a computational device. In some embodiments, a user may be associated with one or more personal accounts and/or mobile devices. In some embodiments, the user may be a cardholder, account holder, or consumer.


A “token” may be a substitute value for a credential. An “access token” may be a token used to access something. A token may be a string of numbers, letters, or any other suitable characters. Examples of tokens include access tokens (e.g., payment tokens), personal identification tokens, etc.


A “payment token” may include an identifier for a payment account that is a substitute for an account identifier, such as a primary account number (PAN). For example, a token may include a series of alphanumeric characters that may be used as a substitute for an original account identifier. For example, a token “4900 0000 0000 0001” may be used in place of a PAN “4147 0900 0000 1234.” In some embodiments, a token may be “format preserving” and may have a numeric format that conforms to the account identifiers used in existing transaction processing networks (e.g., ISO 8583 financial transaction message format). In some embodiments, a token may be used in place of a PAN to initiate, authorize, settle or resolve a payment transaction or represent the original credential in other systems where the original credential would typically be provided. In some embodiments, a token value may be generated such that the recovery of the original PAN or other account identifier from the token value may not be computationally derived. Further, in some embodiments, the token format may be configured to allow the entity receiving the token to identify it as a token and recognize the entity that issued the token. In some embodiments, access tokens in embodiments can be 16, 18, or 19 characters long.


A “key” may include a piece of information that is used in a cryptographic algorithm to transform data into another representation. A cryptographic algorithm can be an encryption algorithm that transforms original data into an alternate representation, or a decryption algorithm that transforms encrypted information back to the original data. Examples of cryptographic algorithms may include triple data encryption standard (TDES), data encryption standard (DES), advanced encryption standard (AES), etc.


An “authorization request message” may be an electronic message that requests authorization to do something. In some embodiments, an authorization request message is sent to a payment processing network and/or an issuer of a payment card to request authorization for a transaction. An authorization request message according to some embodiments may comply with ISO 8583, which is a standard for systems that exchange electronic transaction information associated with a payment made by a user using a payment device or payment account. The authorization request message may include an issuer account identifier that may be associated with a payment device or payment account. An authorization request message may also comprise additional data elements corresponding to “identification information” including, by way of example only: a service code, a CVV (card verification value), a dCVV (dynamic card verification value), an expiration date, etc. An authorization request message may also comprise “transaction information,” such as any information associated with a current transaction, such as the transaction amount, merchant identifier, merchant location, etc., as well as any other information that may be utilized in determining whether to identify and/or authorize a transaction.


An “authorization response message” may be an electronic message reply to an authorization request message. In some embodiments, an authorization response message is generated by an issuing financial institution or a payment processing network. The authorization response message may include, by way of example only, one or more of the following status indicators: Approval—transaction was approved; Decline—transaction was not approved; or Call Center—response pending more information, merchant must call the toll-free authorization phone number. The authorization response message may also include an authorization code, which may be a code that a credit card issuing bank returns in response to an authorization request message in an electronic message (either directly or through the payment processing network) to the merchant's access device (e.g., POS equipment) that indicates approval of the transaction. The code may serve as proof of authorization. As noted above, in some embodiments, a payment processing network may generate or forward the authorization response message to the merchant.


A “server computer” is typically a powerful computer or cluster of computers. For example, the server computer can be a large mainframe, a minicomputer cluster, or a group of servers functioning as a unit. In one example, the server computer may be a database server coupled to a Web server.


A “processor” may include any suitable data computation device or devices. A processor may comprise one or more microprocessors working together to accomplish a desired function. The processor may include CPU comprises at least one high-speed data processor adequate to execute program components for executing user and/or system-generated requests. The CPU may be a microprocessor such as AMD's Athlon, Duron and/or Opteron; IBM and/or Motorola's PowerPC; IBM's and Sony's Cell processor; Intel's Celeron, Itanium, Pentium, Xeon, and/or XScale; and/or the like processor(s).


A “memory” may be any suitable device or devices that can store electronic data. A suitable memory may comprise a non-transitory computer readable medium that stores instructions that can be executed by a processor to implement a desired method. Examples of memories may comprise one or more memory chips, disk drives, etc. Such memories may operate using any suitable electrical, optical, and/or magnetic mode of operation.


A “token service computer” may be any suitable device that handles, supervises, or manages token generation or token processing. A token service computer may be in communication with a token requestor computer, a processing network computer, an authorizing entity computer, or the like.


A “token request message” may be an electronic message that requests a token. In some embodiments, a token request message may comprise a token requestor identifier, and an address to a token service computer.


A “token response message” may be an electronic message reply to a token request message. A token response message may include at least one or more tokens, an address of the token requestor device requesting the token, etc.


A “cloud server computer” may be a remotely located server computer that comprises information or data that a user can access from at least one or more devices. A cloud server computer may either be a separate device or included within a larger device, and may be connected to a user device(s) through a network interface (e.g., to connect to a separate device over the internet) or any suitable communication interface.


A “requestor” may be an application, a device, or a system that is configured to perform actions associated with tokens. For example, a requestor can request registration with a network token system, request token generation, token activation, token de-activation, token exchange, other token life-cycle management related processes, and/or any other token related processes. A requestor may interface with a network token system through any suitable communication networks and/or protocols (e.g., using HTTPS, simple object access protocol (SOAP) and/or an extensible markup language (XML) interface). Some non-limiting examples of a requestor may include third party wallet providers, issuers, acquirers, merchants, and/or payment processing networks. A requestor may be referred to as a token requestor when requesting generation of a new token or requesting a new use of an existing token from a network token system. In some embodiments, a token requestor can request tokens for multiple domains and/or channels. Token requestors may include, for example, card-on-file merchants, acquirers, acquirer processors, and payment gateways acting on behalf of merchants, payment enables (e.g., original equipment manufacturers, mobile network operators, etc.), digital wallet providers, and/or card issuers.


A “token requestor identifier” (or token requestor computer identifier) may include any characters, numerals, or other identifiers associated with an entity associated with a network token system. For example, a token requestor identifier may be associated with an entity that is registered with the network token system. In some embodiments, a unique token requestor identifier may be assigned for each domain for a token request associated with the same token requestor. For example, a token requestor identifier can identify a pairing of a token requestor (e.g., a mobile device, a mobile wallet provider, etc.) with a token domain (e.g., e-commerce, contactless, etc.). A token requestor identifier may include any format or type of information. For example, in one embodiment, the token requestor identifier may include a numerical value such as a ten digit or an eleven digit number (e.g., 4678012345).


In some embodiments, a token requestor identifier may uniquely identify the pairing of a token requestor with a token domain. As such, in some embodiments, if a token requestor may request tokens for multiple domains, the token requestor may have multiple token requestor identifiers, one for each domain.


For example, in some embodiments, a token requestor identifier may include an 11 digit numeric value assigned by the network token system and the token requestor identifier may be unique within the token registry for each entity (and each domain). For instance, the token requestor identifier may include a code for a token service provider (e.g., first 3 digits) such as the network token system and the remaining digits (e.g., last 8 digits) may be assigned by the token service provider for each requesting entity (e.g., mobile wallet provider) and for each token domain (e.g., contactless, e-commerce, etc.).


Today, a mobile wallet on a communication device such as a mobile phone can provide a device bound token to a merchant application on the communication device. It can be adapted for use in both one-off and recurring use cases. The merchant application may then communicate with an application server associated with the merchant application to initiate a payment transaction using the token. If a user deletes the device bound token on their mobile wallet, any recurring transactions submitted by the merchant application will fail. Embodiments of the invention address this and other problems.


Embodiments of the invention can provide two or more access tokens to token requestor (e.g., a service provider computer such as a mobile wallet computer). The two or more access tokens may include, without limitation, a device bound token, and a cloud token. A “cloud token” may be token that is stored on a remote server computer and is used for remote access or remote transactions. In embodiments, a token requestor computer that is a mobile wallet server computer associated with a mobile wallet application on a communication device can request multiple tokens from a token service computer. The multiple tokens may comprise at least a cloud token and a device bound token. The token service computer can provide the cloud token to a cloud server computer operated by a merchant, via the token requestor computer, so that recurring transactions can be conducted on behalf of a user using the cloud token.


The cloud token can be based on the same PAN as a device token that is stored on the communication device, but is independent of the device token. A “device token” or “device bound token” may be a token that is used by the communication device which stores it in a proximity or contact transaciton. Thus, while the cloud token is used to conduct remote transactions such as e-commerce transactions, a device token is used to conduct a transaction at a physical point of sale. If the device token is deleted (on purpose or accidentally), the cloud token is unaffected and recurring merchant transactions will continue to be processed. Embodiments avoid the need for the token requestor computer to make multiple calls to a token service computer to obtain multiple tokens from the token service computer.



FIG. 1 shows a system 100 according to one embodiment of the present invention. The system includes a mobile communication device 110 including a mobile wallet application, a token requestor computer 120 which may be operated by a token requestor such as a mobile wallet application server computer, a token service computer 130, an authorizing entity computer 140 such as an issuer computer operated by an issuer, and a cloud server computer 150. The cloud server computer 150 could be operated by a resource provider such as a merchant, or a mobile wallet provider. Each of the components shown in FIG. 1 may be in operative communication with each other.


The components in the system in FIG. 1 can be in operative communication with each other through any suitable communication channel or communications network. Suitable communications networks may be any one and/or the combination of the following: a direct interconnection; the Internet; a Local Area Network (LAN); a Metropolitan Area Network (MAN); an Operating Missions as Nodes on the Internet (OMNI); a secured custom connection; a Wide Area Network (WAN); a wireless network (e.g., employing protocols such as, but not limited to a Wireless Application Protocol (WAP), I-mode, and/or the like); and/or the like. Messages between the computers, networks, and devices may be transmitted using a secure communications protocols such as, but not limited to, File Transfer Protocol (FTP); HyperText Transfer Protocol (HTTP); Secure Hypertext Transfer Protocol (HTTPS), Secure Socket Layer (SSL), ISO (e.g., ISO 8583) and/or the like.


Some embodiments allow for the provisioning of multiple tokens after receiving a single token request message. Referring back to FIG. 1, a token provisioning method can be described.


With reference to FIG. 1, in step S102, a mobile communication device 110 containing a mobile wallet application may provide an access credential (e.g., such as a PAN) to a token requestor computer 120, which may be a digital wallet server computer (e.g., such as Apple Pay or Samsung Pay or Android Pay, etc.).


In step S104, the token requestor computer 120 may generate and transmit a token request message comprising the access credential to a token service computer 130. The token request message may also comprise at least an address of the token service computer 130 and an identifier for the token requestor computer 120. The token service computer 130 can then perform an eligibility check on the access credential. For example, it can determine if the access credential is authentic before proceeding with the token provisioning process.


The eligibility check may occur in any suitable manner. For example, the token service computer 130 may check a blacklist to see if the access credential is present and/or may run a fraud check on the access credential using a fraud engine. In other embodiments, the token service computer 130 may transmit an eligibility request message to the authorizing entity computer 140. The authorizing entity computer 140 may perform the eligibility check, and may then provide an eligibility response message to the token service computer 130.


In step S106, after the token service computer 130 completes the eligibility check, and the access credential is determined to be eligible, the token service computer 130 can optionally transmit a provisioning request message to the authorizing entity computer 140. The provisioning request message may comprise the access credential and an address of the authorizing entity computer 140. A routing table may be present in the token service computer 130 which maps different access credentials to specific authorizing entity computers. The authorizing entity computer 140 may then determine if the access credential is authentic or is otherwise approved to have one or more tokens associated with it.


In step S108, the authorizing entity computer 140 may transmit a provisioning response message authorizing the provisioning to the token service computer 130. The provisioning response message may comprise an indication of whether or not the authorizing entity computer 140 approves of the provisioning.


In response to receiving the provisioning response message, the token service computer 130 can determine (e.g., generate or retrieve) two or more access tokens, and the two or more access tokens may be associated with the access credential. In some embodiments, the access tokens may be pre-generated, while in other embodiments, the access tokens can be derived from the supplied credential.


The two or more access credentials may have any suitable characteristics, and may eventually be used by a single user associated with the access credential in different situations. For example, in some embodiments, an access token may be a resource provider (e.g., merchant) specific token, while another access token may be a device specific token tied to a specific device such as a specific mobile phone operated by the user.


In some embodiments, the two or more access token are encrypted with a first symmetric cryptographic key before being transmitted to the token requestor computer 120. The token requestor computer 120 can decrypt the two or more access tokens with a second symmetric cryptographic key.


At step S110, a token response message including the two or more access tokens, and optionally the original real credential, may be transmitted to the token requestor computer 120. The token response message may also include information on a token type, where the token type determines whether an individual token will be stored on the mobile communication device 110 or a cloud server computer 150. The information on the token type may include token type indicators, which may indicate, for example, that a token is a cloud token for use with a cloud based transaction such as an e-commerce transaction, or that a token is a device bound token for use in a physical point of sale transaction. The token response message may also comprise cryptograms. A cryptogram may accompany a token in an authorization request message. The cryptogram may be validated by a processing computer, and validation of the cryptogram may indicate that the token is being used in a proper transaction channel.


At step S112, after receiving the token response message, the token requestor computer 120 may extract one access token from the token response message, wherein the extracted access token is determined by the token type, and may transmit the extracted access token to the mobile communication device 110 for storage in a memory structure (e.g., in a secure element) in the mobile communication device 110. In some embodiments, the token requestor computer 120 may encrypt the first access token using a public key in an RSA encryption scheme before transmitting the first access token to the mobile communication device 110. The first access token can be in encrypted form when the first access token is transmitted to the mobile communication device 110. The mobile communication device 110 stores a private key corresponding to the public key.


At S114, the token requestor computer 120 may extract another access token from the token response message, wherein the extracted access token is determined by the token type, and may provide the extracted access token to the cloud server computer 150. This access token may be stored in the cloud server computer 150 for later use by the user. For example, the access token stored in the cloud server computer 150 may be a merchant specific token that is used for recurring payment transactions such as recurring subscription payments for a newspaper.


The token requestor computer 120 may include a routing table which contains entries linking device identifiers and/or device addresses of devices (e.g., a cloud storage location on a cloud server computer) that are to be provisioned with access tokens, the real credentials, and token type indicators. The routing table may be used with the token response message is received. The token response message may include the real credential or other identifier, which may be used to identify the devices which are to be provisioned. The token type indicators may also be used to identify the specific types of devices to be provisioned (e.g., a mobile communication device or a cloud server).


In embodiments of the invention, the routing table may be populated with information during an enrollment phase with users, and/or can be populated with information as provisioning and transaction processes are conducted by the system.


Note that steps S112 and S114 can occur in any order, or sequentially in embodiments of the invention. Further, although this example describes the receipt of two access tokens by the token requestor computer 120, which distributes the two access tokens to two separate machines, in other embodiments, the token requestor computer 120 may receive three or more tokens in a single token response message and may distribute those three or more tokens to any number of machines. For example, the three or more tokens may be distributed to three or more machines, or two tokens may be distributed to one machine and one token may be distributed to another machine.


At step S116, the mobile communication device 110 may use a mobile wallet or other application (e.g., a resource provider or merchant specific application) to access the token stored by the cloud server computer 150 to conduct a transaction, as described below.


Embodiments have a number of advantages. In embodiments, two or more access tokens may be obtained in response to a single token request message. This reduces the time and the number of data transmissions associated with the receipt of access tokens, relative to conventional provisioning systems where only one access token per response message is received at a time.


Referring now to FIG. 2, a system for retrieving and using a device bound token for an in-app payment transaction is shown. In this system, a user 200 may operate a mobile communication device 220 with a device bound token 226 stored within a memory element 225.


In step S202, the user may initiate a payment within a mobile wallet or a merchant application on the mobile communication device 220. In some embodiments, the mobile wallet or merchant application may be Apple Pay, Samsung Pay, or Android Pay, and/or any application that requires an access token for completing a transaction and/or obtaining some service or product.


In step S203, the mobile communication device 220 may retrieve an appropriate device bound token 226 from a secure element and transmit the token 226 to an access device 240. The access device 240 may be a point of sale (POS) device, an automated teller machine (ATM), and/or any suitable device for communicating with the mobile communication device 220.


In step S204, the access device 240 may provide an authentication request to the user 200. The authentication request might require the user 200 to provide a PIN or some other user identifying data (e.g., a password, a biometric fingerprint and/or voice sample, etc.).


In step S206, the access device 240 may receive an authentication response with any requested authentication data. The access device 240 may validate the authentication data and generate a positive authentication indicator. If the authentication fails, then the access device 240 and/or mobile communication device 220 may display an error message and/or abort the transaction, such that the ensuing steps are not executed.


In step S208, the access device 240 may generate an authorization request message, and may then transmit the authorization request to an authorizing entity 260, optionally via a transport computer operated by an entity such an acquirer and a processing network computer operated by an entity such as a payment processing organization such as Visa™. The authorization request may include the device bound token 226 and/or one or more transaction details (e.g., such as a timestamp, a user ID, a requested amount, etc.). The authorizing entity 260 may determine if the amount requested is at least less than or equal to the user's available funds by communicating with an issuer. The authorizing entity computer 260 or a processing network computer (not shown in FIG. 2) that is in operative communication with the authorizing entity computer 260 may also exchange the device token 226 for a real credential (e.g., a PAN), before the authorizing entity computer 260 determines whether or not the transaction is authorized.


An authorization response is transmitted back to the access device 240 in step S210. The transaction may be completed upon receiving a positive authorization response. In the case of a negative authorization response, the access device 240 and/or mobile communication device 220 may display an error message and/or abort the transaction.


At the end of the day, a clearing and settlement process may take place between the authorizing entity computer 260, a processing network computer, and a transport computer associated with the resource provider (e.g., a merchant) of the access device 240.


In some embodiments, a cloud token may be retrieved from a cloud server computer and used in a transaction as depicted in FIG. 3.



FIG. 3 shows a system and method for using a cloud token for an in app payment transaction. The system comprises a user 300 operating a mobile communication device 320 which may store an application such as a mobile wallet or, as shown in this instance, a merchant application 325. An application server computer (not shown) may be affiliated with the merchant application 325. The merchant application 325 may be affiliated with a token requestor computer 340, which may be a wallet server computer. A token service computer 360 may be in communication with both the token requestor computer 340 and an authorizing entity computer 380.


In step S302, a user 300 can initiate a payment in exchange for a product or service using the merchant application 325 on the mobile communication device 320. The merchant application 325 may be Apple Pay, Samsung Pay, or Android Pay, and/or any application that requires an access token for completing a transaction and/or obtaining some service or product.


In step S304, the merchant application 325 may send a cloud token request to the token requestor computer 340. The cloud token request could include a device bound token. The token request computer 340 may use a routing table that stores information associating the first access token (e.g., device bound token) with a location of a second access token (e.g., the location may be the location where a cloud token is stored on a cloud server computer 344) in order to determine the location of the corresponding cloud token 345. Using this location, the token requestor computer 340 can retrieve the correct cloud token 345 from the cloud server computer 344 as depicted in step S305. In step S306, the cloud token 345 may be transmitted, by the token requestor computer 340, to the merchant application 325 on the mobile communication device 320.


In steps S308 and S310, the token requestor computer 340 can authenticate the user 300. The authentication request might require the user 300 to provide a PIN or some other user identifying data (e.g., a password, a biometric fingerprint and/or voice sample, etc.). If the authentication fails or a negative authentication indicator is received, the token requestor computer 340 and/or mobile communication device 320 may display an error message and/or abort the transaction, such that the ensuing steps are not executed.


In steps S312 and S314, in response to a positive authentication response, the token requestor computer 340 may request an access cryptogram from the token service computer 360. The access cryptogram may be specifically associated with the particular cloud token 345 that will be used to conduct the transaction. For example, an access token that is tied to a device for use in in-store payments may require one specific cryptogram to be used. Another access token that is stored on file in a cloud computer may require another specific cryptogram for it to be used. The cryptogram can be a TAVV (transaction authentication verification value).


In step S316, the cryptogram and an access token from the token requestor computer 340 can then be provided to the merchant application 325.


In step S318, once the merchant application 325 has the cloud token 345 and the cryptogram, the merchant application (or an application provider in communication with the merchant application) may submit an authorization request message (e.g., via an acquirer and/or a payment processing network) to the authorizing entity computer 380. The authorizing entity computer 380, token service computer 360, a payment processor, or a payment processing network may verify the cryptogram, and can exchange the cloud token 345 for the real credential (e.g., a PAN) before the authorizing entity computer 380 makes a decision on the authorization request message.


The authorizing entity computer may then transmit an authorization response message (e.g., via a processing network computer in a payment processing network and a transport computer operated by an acquirer) back to the merchant application on the communication device 320. In step S320, the authorizing entity computer 380 may transmit an authorization response message back to the merchant application 325 on the mobile communication device 320, authorizing the transaction.


At the end of the day, a clearing and settlement process may take place between the authorizing entity computer 380, a processing network computer, and a transport computer operated by an acquirer of the merchant.



FIG. 4 shows another embodiment of the invention. FIG. 4 shows a system and method for using a mobile communication device 410 to gain access to a building 430 (e.g. may refer to any secure location). In yet other embodiments, the building may be a secure server computer that houses secure data to be accessed (e.g., secure and private data records).


A user 406 can use a mobile communication device 410 to interact with an access device 420. The access device 420 may either retrieve a device bound token from the mobile communication device 410 or, in the absence of a device bound token, request a cloud token from a token requestor computer (as described in FIG. 3). The device bound token or the cloud token may be exchanged for a real credential (e.g., a PIN) which can be used to gain access to the building 430.


Embodiments of the present invention are useful in providing greater efficiency in the token provisioning process. For example, with reference to the system described in FIG. 4, a user 406 may be able to program (e.g., request a token) and use multiple mobile communication devices (e.g., a mobile phone and an access card) with a single provisioning request. Therefore, the user will only have to provide an access credential once in order to access a secure location with two or more devices (e.g., such as the aforementioned mobile phone and access card).



FIG. 5 shows a block diagram of a mobile communication device 500 that can be used in embodiments of the invention. The mobile communication device 500 may be a mobile phone or an access card.


The mobile communication device 500 may comprise a computer readable medium 502, which can be in the form of (or may be included in) a memory element that stores data (e.g., merchant applications) and can be in any suitable form (e.g., microSD chip, SIM card, or other type of memory element). The computer readable medium 502 may store a transaction initiation module 502A, one or more applications 502B, real credentials and/or tokens 502C, and an operating system 502D for the device. The transaction initiation module 502A may begin a transaction at the request of a user or an application.


The computer readable medium 502 may also comprise a storage element 502B for device bound tokens and credentials. The token/credential storage 502B may be a secure memory element that is separate from the rest of the computer readable medium, such that tokens or credentials can only be accessed or altered by certain elements of the mobile communication device 500 and/or outside devices (e.g., a token requestor computer).


In addition, the mobile communication device 500 may include some device hardware 504, comprising: a processor 506, a user interface 508, input elements 510, output elements 512. The device hardware may also include a long range antenna 516 and a short range antenna 514 for communicating with a wireless network and/or other devices. All elements in the device hardware 504 are operatively coupled, enabling mutual communication and data transfer.


Referring to FIG. 6, a block diagram of a token service computer 600 according to embodiments of the invention is illustrated. The token service computer 600 may include a processor 602, and a network interface 608 for receiving and transmitting messages (e.g. a token provisioning request message or token response message) to outside sources (e.g., an authorizing entity and/or the token requestor computer).


The token service computer 600 may include a non-transitory computer readable medium 604, comprising a token generation module 604A and a validation module 604B. The token generation module 604A may include code, executable by the processor 602 to generate or obtain at least two or more tokens from an access credential. However, this module may also be substituted for a token retrieval module, which connects the token service computer 600 to an outside database (e.g. issuer or authorizing entity) that can provide at least two or more tokens. The validation module 604B may be used, in conjunction with the processor 602, to determine the eligibility of an access credential.


The non-transitory computer readable medium 604 may comprise code, executable by the processor 602, for implementing a method comprising: receiving a token request message, the token request message being originated from a token requestor computer; determining two or more access tokens based upon a single credential; and transmitting the two or more access tokens to the token requestor computer in a token response message.



FIG. 6 also shows a token database 612 operatively coupled with the processor 602. The token database 612 may store tokens that are pre-generated, along with other token data such as mapping to real credentials, cryptograms, etc.



FIG. 7 illustrates a block diagram of a token requestor computer 700 according to embodiments of the invention.


The token requestor computer 700 may also include a processor 702 and a network interface 708 for receiving and transmitting messages (e.g., a token response message) with the token service computer and cloud server computer.


The token requestor computer 700 may include a non-transitory computer readable medium 704, comprising a token determining module 704A and a credential transmitting module 704B. The token determining module 704A may, in conjunction with the processor 702, use a token type indicator to determine sending a first access token to a mobile communication device and a second access token to a cloud server computer. The credential transmitting module 704B may, in conjunction with the processor 702, handle generating or receiving an access credential from a mobile communication device operated by a user and transmitting the access credential to a token service computer in order to request at least two or more access tokens.


The non-transitory computer readable medium 704 may comprise code, executable by the processor, for implementing a method comprising: receiving, from a communication device, a single credential; transmitting the single credential to a token service computer; receiving, from the token service computer, two or more access tokens including a first access token and a second access token; transmitting the first access token to the communication device; and transmitting the second access token to a cloud server computer.


The token requestor computer 700 may include a routing table 706 that stores relationships between a location of a first access token (e.g., a communication device operated by a user), and a secondary location of a second access token (e.g. a cloud storage location on a cloud server computer). The routing table 706 may be accessed to retrieve an appropriate cloud token for a user.


Any of the software components or functions described in this application, may be implemented as software code to be executed by a processor using any suitable computer language such as, for example, Java, C++ or Perl using, for example, conventional or object-oriented techniques. The software code may be stored as a series of instructions, or commands on a computer readable medium, such as a random access memory (RAM), a read only memory (ROM), a magnetic medium such as a hard-drive or a floppy disk, or an optical medium such as a CD-ROM. Any such computer readable medium may reside on or within a single computational apparatus, and may be present on or within different computational apparatuses within a system or network.


The above description is illustrative and is not restrictive. Many variations of the invention may become apparent to those skilled in the art upon review of the disclosure. The scope of the invention can, therefore, be determined not with reference to the above description, but instead can be determined with reference to the pending claims along with their full scope or equivalents.


One or more features from any embodiment may be combined with one or more features of any other embodiment without departing from the scope of the invention.


A recitation of “a”, “an” or “the” is intended to mean “one or more” unless specifically indicated to the contrary.


All patents, patent applications, publications, and descriptions mentioned above are herein incorporated by reference in their entirety for all purposes. None is admitted to be prior art.

Claims
  • 1. A method comprising: transmitting, by a mobile communication device to a token requestor computer, a single credential, wherein the token requestor computer transmits a token request message to a token service computer and receives a token response message comprising two or more access tokens from the token service computer, the two or more access tokens associated with the single credential;receiving, by the mobile communication device, from the token requestor computer a first access token of the two or more access tokens, and wherein the token requestor computer stores a second access token of the two or more access tokens in a cloud server computer;storing, by the mobile communication device, the first access token;accessing, via an application on the mobile communication device, the second access token on the cloud server computer to perform a first type of payment transaction using the second access token, wherein the application is a resource provider application; andperforming a second type of payment transaction by providing the first access token to an access device in proximity to or contact with the mobile communication device,wherein the first access token is a first payment token and the second access token is a second payment token.
  • 2. The method of claim 1, wherein the single credential is a PAN.
  • 3. The method of claim 1, wherein the second access token comprises a cloud token and the first access token comprises a device specific token.
  • 4. The method of claim 1, wherein the two or more access tokens include three or more access tokens.
  • 5. The method of claim 1, wherein the token requestor computer comprises a routing table that stores relationships between a communication device operated by a user, and a cloud storage location on the cloud server computer.
  • 6. The method of claim 5, wherein the routing table also stores token type indicators associated with the first access token to be stored in the communication device, and the second access token to be stored in the cloud storage location on the cloud server computer.
  • 7. The method of claim 1, wherein the mobile communication device is a mobile phone.
  • 8. The method of claim 1, wherein the first access token is encrypted when the first access token is received by the mobile communication device, and wherein the mobile communication device decrypts the first access token before storing the first access token.
  • 9. The method of claim 8, wherein the mobile communication device is a mobile phone.
  • 10. The method of claim 9, wherein the mobile phone comprises a secure element, which stores the first access token.
  • 11. A mobile communication device comprising: a processor; anda non-transitory computer readable medium, the non-transitory computer readable medium comprising code, executable by the processor to implement operations comprising:transmitting, to a token requestor computer, a single credential, wherein the token requestor computer transmits a token request message to a token service computer and receives a token response message comprising two or more access tokens from the token service computer, the two or more access tokens associated with the single credential;receiving, from the token requestor computer, a first access token of the two or more access tokens, and wherein the token requestor computer stores a second access token of the two or more access tokens in a cloud server computer;storing the first access token;accessing, by an application on the mobile communication device, the second access token on the cloud server computer to perform a first type of payment transaction using the second access token, wherein the application is a resource provider application; andperforming a second type of payment transaction by providing the first access token to an access device in proximity to or contact with the mobile communication device,wherein the first access token is a first payment token and the second access token is a second payment token.
  • 12. The mobile communication device of claim 11, wherein the first access token allows access to restricted locations.
  • 13. The mobile communication device of claim 11, wherein the mobile communication device is a mobile phone.
  • 14. The mobile communication device of claim 11, wherein the two or more access tokens are each sixteen digits long.
  • 15. The mobile communication device of claim 14, wherein the mobile communication device is a mobile phone.
  • 16. The mobile communication device of claim 11, further comprising a secure element.
  • 17. The mobile communication device of claim 16, wherein the first access token is stored in the secure element.
  • 18. The mobile communication device of claim 11, wherein the first access token is 16 digits long.
  • 19. The mobile communication device of claim 11, wherein the resource provider application is a merchant application.
  • 20. The mobile communication device of claim 11, wherein the first access token is a device bound token.
CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 17/294,125, filed on May 14, 2021, which is a National Stage of International Application No. PCT/US2019/061385, filed Nov. 14, 2019 which is claiming priority to U.S. Provisional Application No. 62/767,111, filed on Nov. 14, 2018, which are herein incorporated by reference in their entirety.

US Referenced Citations (620)
Number Name Date Kind
5280527 Gullman et al. Jan 1994 A
5613012 Hoffman et al. Mar 1997 A
5781438 Lee et al. Jul 1998 A
5883810 Franklin et al. Mar 1999 A
5930767 Reber et al. Jul 1999 A
5953710 Fleming Sep 1999 A
5956699 Wong et al. Sep 1999 A
6000832 Franklin et al. Dec 1999 A
6014635 Harris et al. Jan 2000 A
6044360 Picciallo Mar 2000 A
6163771 Walker et al. Dec 2000 A
6227447 Campisano May 2001 B1
6236981 Hill May 2001 B1
6267292 Walker et al. Jul 2001 B1
6327578 Linehan Dec 2001 B1
6341724 Campisano Jan 2002 B2
6385596 Wiser et al. May 2002 B1
6422462 Cohen Jul 2002 B1
6425523 Shem-Ur et al. Jul 2002 B1
6453301 Niwa Sep 2002 B1
6592044 Wong et al. Jul 2003 B1
6636833 Flitcroft et al. Oct 2003 B1
6748367 Lee Jun 2004 B1
6805287 Bishop et al. Oct 2004 B2
6879965 Fung et al. Apr 2005 B2
6891953 DeMello et al. May 2005 B1
6901387 Wells et al. May 2005 B2
6931382 Laage et al. Aug 2005 B2
6938019 Uzo Aug 2005 B1
6941285 Sarcanin Sep 2005 B2
6980670 Hoffman et al. Dec 2005 B1
6990470 Hogan et al. Jan 2006 B2
6991157 Bishop et al. Jan 2006 B2
7051929 Li May 2006 B2
7069249 Stolfo et al. Jun 2006 B2
7103576 Mann, III et al. Sep 2006 B2
7113930 Eccles et al. Sep 2006 B2
7136835 Flitcroft et al. Nov 2006 B1
7177835 Walker et al. Feb 2007 B1
7177848 Hogan et al. Feb 2007 B2
7194437 Britto et al. Mar 2007 B1
7209561 Shankar et al. Apr 2007 B1
7264154 Harris Sep 2007 B2
7287692 Patel et al. Oct 2007 B1
7292999 Hobson et al. Nov 2007 B2
7350230 Forrest Mar 2008 B2
7353382 Labrou et al. Apr 2008 B2
7379919 Hogan et al. May 2008 B2
7415443 Hobson et al. Aug 2008 B2
7444676 Asghari-Kamrani et al. Oct 2008 B1
7469151 Khan et al. Dec 2008 B2
7548889 Bhambri et al. Jun 2009 B2
7567934 Flitcroft et al. Jul 2009 B2
7567936 Peckover et al. Jul 2009 B1
7571139 Giordano et al. Aug 2009 B1
7571142 Flitcroft et al. Aug 2009 B1
7580898 Brown et al. Aug 2009 B2
7584153 Brown et al. Sep 2009 B2
7593896 Flitcroft et al. Sep 2009 B1
7606560 Labrou et al. Oct 2009 B2
7627531 Breck et al. Dec 2009 B2
7627895 Gifford et al. Dec 2009 B2
7650314 Saunders Jan 2010 B1
7685037 Reiners et al. Mar 2010 B2
7702578 Fung et al. Apr 2010 B2
7707120 Dominguez et al. Apr 2010 B2
7712655 Wong May 2010 B2
7734527 Uzo Jun 2010 B2
7753265 Harris Jul 2010 B2
7770789 Oder, II et al. Aug 2010 B2
7784685 Hopkins, III Aug 2010 B1
7793851 Mullen Sep 2010 B2
7801826 Labrou et al. Sep 2010 B2
7805376 Smith Sep 2010 B2
7805378 Berardi et al. Sep 2010 B2
7818264 Hammad Oct 2010 B2
7828220 Mullen Nov 2010 B2
7835960 Breck et al. Nov 2010 B2
7841523 Oder, II et al. Nov 2010 B2
7841539 Hewton Nov 2010 B2
7844550 Walker et al. Nov 2010 B2
7848980 Carlson Dec 2010 B2
7849020 Johnson Dec 2010 B2
7853529 Walker et al. Dec 2010 B1
7853995 Chow et al. Dec 2010 B2
7865414 Fung et al. Jan 2011 B2
7873579 Hobson et al. Jan 2011 B2
7873580 Hobson et al. Jan 2011 B2
7890393 Talbert et al. Feb 2011 B2
7891563 Oder, II et al. Feb 2011 B2
7896238 Fein et al. Mar 2011 B2
7908216 Davis et al. Mar 2011 B1
7922082 Muscato Apr 2011 B2
7931195 Mullen Apr 2011 B2
7937324 Patterson May 2011 B2
7938318 Fein et al. May 2011 B2
7954705 Mullen Jun 2011 B2
7959076 Hopkins, III Jun 2011 B1
7996288 Stolfo Aug 2011 B1
8025223 Saunders et al. Sep 2011 B2
8046256 Chien et al. Oct 2011 B2
8060448 Jones Nov 2011 B2
8060449 Zhu Nov 2011 B1
8074877 Mullen et al. Dec 2011 B2
8074879 Harris Dec 2011 B2
8082210 Hansen et al. Dec 2011 B2
8095113 Kean et al. Jan 2012 B2
8104679 Brown Jan 2012 B2
8109436 Hopkins, III Feb 2012 B1
8121942 Carlson et al. Feb 2012 B2
8121956 Carlson et al. Feb 2012 B2
8126449 Beenau et al. Feb 2012 B2
8132723 Hogg et al. Mar 2012 B2
8171525 Pelly et al. May 2012 B1
8175973 Davis et al. May 2012 B2
8190523 Patterson May 2012 B2
8196813 Vadhri Jun 2012 B2
8205791 Randazza et al. Jun 2012 B2
8219489 Patterson Jul 2012 B2
8224702 Mengerink et al. Jul 2012 B2
8225385 Chow et al. Jul 2012 B2
8229852 Carlson Jul 2012 B2
8265993 Chien et al. Sep 2012 B2
8280777 Mengerink et al. Oct 2012 B2
8281991 Wentker et al. Oct 2012 B2
8328095 Oder, II et al. Dec 2012 B2
8336088 Raj et al. Dec 2012 B2
8346666 Lindelsee et al. Jan 2013 B2
8376225 Hopkins, III Feb 2013 B1
8380177 Laracey Feb 2013 B2
8387873 Saunders et al. Mar 2013 B2
8401539 Beenau et al. Mar 2013 B2
8401898 Chien et al. Mar 2013 B2
8402555 Grecia Mar 2013 B2
8403211 Brooks et al. Mar 2013 B2
8412623 Moon et al. Apr 2013 B2
8412837 Emigh et al. Apr 2013 B1
8417642 Oren Apr 2013 B2
8447699 Batada et al. May 2013 B2
8453223 Svigals et al. May 2013 B2
8453925 Fisher et al. Jun 2013 B2
8458487 Palgon et al. Jun 2013 B1
8484134 Hobson et al. Jul 2013 B2
8485437 Mullen et al. Jul 2013 B2
8494959 Hathaway et al. Jul 2013 B2
8498908 Mengerink et al. Jul 2013 B2
8504475 Brand et al. Aug 2013 B2
8504478 Saunders et al. Aug 2013 B2
8510816 Quach et al. Aug 2013 B2
8528067 Hurry et al. Sep 2013 B2
8533116 Davis et al. Sep 2013 B2
8533796 Shenoy Sep 2013 B1
8533860 Grecia Sep 2013 B1
8538845 Liberty Sep 2013 B2
8555079 Shablygin et al. Oct 2013 B2
8566168 Bierbaum et al. Oct 2013 B1
8567670 Stanfield et al. Oct 2013 B2
8571939 Lindsey et al. Oct 2013 B2
8577336 Mechaley, Jr. Nov 2013 B2
8577803 Chatterjee et al. Nov 2013 B2
8577813 Weiss Nov 2013 B2
8578176 Mattsson Nov 2013 B2
8583494 Fisher Nov 2013 B2
8584251 McGuire et al. Nov 2013 B2
8589237 Fisher Nov 2013 B2
8589271 Evans Nov 2013 B2
8589291 Carlson et al. Nov 2013 B2
8595098 Starai et al. Nov 2013 B2
8595812 Bomar et al. Nov 2013 B2
8595850 Spies et al. Nov 2013 B2
8606638 Dragt Dec 2013 B2
8606700 Carlson et al. Dec 2013 B2
8606720 Baker et al. Dec 2013 B1
8615468 Varadarajan Dec 2013 B2
8620754 Fisher Dec 2013 B2
8635157 Smith et al. Jan 2014 B2
8646059 von Behren et al. Feb 2014 B1
8651374 Brabson et al. Feb 2014 B2
8656180 Shablygin et al. Feb 2014 B2
8751391 Freund Jun 2014 B2
8751642 Vargas et al. Jun 2014 B2
8762263 Gauthier et al. Jun 2014 B2
8793186 Patterson Jul 2014 B2
8838982 Carlson et al. Sep 2014 B2
8856539 Weiss Oct 2014 B2
8887308 Grecia Nov 2014 B2
9065643 Hurry et al. Jun 2015 B2
9070129 Sheets et al. Jun 2015 B2
9100826 Weiss Aug 2015 B2
9160741 Wentker et al. Oct 2015 B2
9229964 Stevelinck Jan 2016 B2
9245267 Singh Jan 2016 B2
9249241 Dai et al. Feb 2016 B2
9256871 Anderson et al. Feb 2016 B2
9280765 Hammad Mar 2016 B2
9530137 Weiss Dec 2016 B2
9596081 Boldyreva Mar 2017 B1
9646303 Karpenko et al. May 2017 B2
9680942 Dimmick Jun 2017 B2
9978062 Raj et al. May 2018 B2
9996835 Dill et al. Jun 2018 B2
10192216 Hammad Jan 2019 B2
10235297 Bradbury Mar 2019 B2
10313321 Wong Jun 2019 B2
10496986 Narayan et al. Dec 2019 B2
10607212 Sheets et al. Mar 2020 B2
10887275 Wang Jan 2021 B2
11068889 Al-bedaiwi et al. Jul 2021 B2
11086980 Le Saint et al. Aug 2021 B2
11093936 Dill et al. Aug 2021 B2
20010029485 Brody et al. Oct 2001 A1
20010034720 Armes Oct 2001 A1
20010054003 Chien et al. Dec 2001 A1
20020007320 Hogan et al. Jan 2002 A1
20020016749 Borecki et al. Feb 2002 A1
20020029193 Ranjan et al. Mar 2002 A1
20020035548 Hogan et al. Mar 2002 A1
20020073045 Rubin et al. Jun 2002 A1
20020116341 Hogan et al. Aug 2002 A1
20020133467 Hobson et al. Sep 2002 A1
20020147913 Lun Yip Oct 2002 A1
20030028481 Flitcroft et al. Feb 2003 A1
20030130955 Hawthorne Jul 2003 A1
20030191709 Elston et al. Oct 2003 A1
20030191945 Keech Oct 2003 A1
20040010462 Moon et al. Jan 2004 A1
20040050928 Bishop et al. Mar 2004 A1
20040059682 Hasumi et al. Mar 2004 A1
20040093281 Silverstein et al. May 2004 A1
20040139008 Mascavage, III Jul 2004 A1
20040143532 Lee Jul 2004 A1
20040158532 Breck et al. Aug 2004 A1
20040210449 Breck et al. Oct 2004 A1
20040210498 Freund Oct 2004 A1
20040232225 Bishop et al. Nov 2004 A1
20040236632 Maritzen et al. Nov 2004 A1
20040260646 Berardi et al. Dec 2004 A1
20050037735 Coutts Feb 2005 A1
20050080730 Sorrentino Apr 2005 A1
20050108178 York May 2005 A1
20050120211 Yokoyama Jun 2005 A1
20050137889 Wheeler Jun 2005 A1
20050199709 Linlor Sep 2005 A1
20050246293 Ong Nov 2005 A1
20050269401 Spitzer et al. Dec 2005 A1
20050269402 Spitzer et al. Dec 2005 A1
20060235795 Johnson et al. Oct 2006 A1
20060237528 Bishop et al. Oct 2006 A1
20060278704 Saunders et al. Dec 2006 A1
20070043954 Fox Feb 2007 A1
20070107044 Yuen et al. May 2007 A1
20070129955 Dalmia et al. Jun 2007 A1
20070136193 Starr Jun 2007 A1
20070136211 Brown et al. Jun 2007 A1
20070170247 Friedman Jul 2007 A1
20070179885 Bird et al. Aug 2007 A1
20070208671 Brown et al. Sep 2007 A1
20070245414 Chan et al. Oct 2007 A1
20070288377 Shaked Dec 2007 A1
20070291995 Rivera Dec 2007 A1
20080015988 Brown et al. Jan 2008 A1
20080029607 Mullen Feb 2008 A1
20080035738 Mullen Feb 2008 A1
20080052226 Agarwal et al. Feb 2008 A1
20080054068 Mullen Mar 2008 A1
20080054079 Mullen Mar 2008 A1
20080054081 Mullen Mar 2008 A1
20080065554 Hogan et al. Mar 2008 A1
20080065555 Mullen Mar 2008 A1
20080201264 Brown et al. Aug 2008 A1
20080201265 Hewton Aug 2008 A1
20080228646 Myers et al. Sep 2008 A1
20080243702 Hart et al. Oct 2008 A1
20080245855 Fein et al. Oct 2008 A1
20080245861 Fein et al. Oct 2008 A1
20080283591 Oder, II et al. Nov 2008 A1
20080302869 Mullen Dec 2008 A1
20080302876 Mullen Dec 2008 A1
20080313264 Pestoni Dec 2008 A1
20090006262 Brown et al. Jan 2009 A1
20090010488 Matsuoka et al. Jan 2009 A1
20090037333 Flitcroft et al. Feb 2009 A1
20090037388 Cooper et al. Feb 2009 A1
20090043702 Bennett Feb 2009 A1
20090048971 Hathaway et al. Feb 2009 A1
20090106112 Dalmia et al. Apr 2009 A1
20090106160 Skowronek Apr 2009 A1
20090134217 Flitcroft et al. May 2009 A1
20090157555 Biffle et al. Jun 2009 A1
20090159673 Mullen et al. Jun 2009 A1
20090159700 Mullen et al. Jun 2009 A1
20090159707 Mullen et al. Jun 2009 A1
20090173782 Muscato Jul 2009 A1
20090200371 Kean et al. Aug 2009 A1
20090248583 Chhabra Oct 2009 A1
20090276347 Kargman Nov 2009 A1
20090281948 Carlson Nov 2009 A1
20090294527 Brabson et al. Dec 2009 A1
20090307139 Mardikar et al. Dec 2009 A1
20090308921 Mullen Dec 2009 A1
20090327131 Beenau et al. Dec 2009 A1
20100008535 Abulafia et al. Jan 2010 A1
20100088237 Wankmueller Apr 2010 A1
20100094755 Kloster Apr 2010 A1
20100106644 Annan et al. Apr 2010 A1
20100120408 Beenau et al. May 2010 A1
20100133334 Vadhri Jun 2010 A1
20100138347 Chen Jun 2010 A1
20100145860 Pelegero Jun 2010 A1
20100161433 White Jun 2010 A1
20100185545 Royyuru et al. Jul 2010 A1
20100211505 Saunders et al. Aug 2010 A1
20100223186 Hogan et al. Sep 2010 A1
20100228668 Hogan et al. Sep 2010 A1
20100235284 Moore Sep 2010 A1
20100242097 Hotes Sep 2010 A1
20100258620 Torreyson et al. Oct 2010 A1
20100291904 Musfeldt et al. Nov 2010 A1
20100299267 Faith et al. Nov 2010 A1
20100306076 Taveau et al. Dec 2010 A1
20100325041 Berardi et al. Dec 2010 A1
20110010292 Giordano et al. Jan 2011 A1
20110016047 Wu et al. Jan 2011 A1
20110016320 Bergsten et al. Jan 2011 A1
20110040640 Erikson Feb 2011 A1
20110047076 Carlson et al. Feb 2011 A1
20110083018 Kesanupalli et al. Apr 2011 A1
20110087596 Dorsey Apr 2011 A1
20110093397 Carlson et al. Apr 2011 A1
20110125597 Oder, II et al. May 2011 A1
20110153437 Archer et al. Jun 2011 A1
20110153498 Makhotin et al. Jun 2011 A1
20110154466 Harper et al. Jun 2011 A1
20110161233 Tieken Jun 2011 A1
20110178926 Lindelsee et al. Jul 2011 A1
20110191244 Dai Aug 2011 A1
20110238511 Park et al. Sep 2011 A1
20110238573 Varadarajan Sep 2011 A1
20110246317 Coppinger Oct 2011 A1
20110258111 Raj et al. Oct 2011 A1
20110272471 Mullen Nov 2011 A1
20110272478 Mullen Nov 2011 A1
20110276380 Mullen et al. Nov 2011 A1
20110295745 White et al. Dec 2011 A1
20110302081 Saunders et al. Dec 2011 A1
20120023567 Hammad Jan 2012 A1
20120028609 Hruska Feb 2012 A1
20120030047 Fuentes et al. Feb 2012 A1
20120035998 Chien et al. Feb 2012 A1
20120041881 Basu et al. Feb 2012 A1
20120047237 Arvidsson et al. Feb 2012 A1
20120066078 Kingston et al. Mar 2012 A1
20120072350 Goldthwaite et al. Mar 2012 A1
20120078735 Bauer et al. Mar 2012 A1
20120078798 Downing et al. Mar 2012 A1
20120078799 Jackson et al. Mar 2012 A1
20120095852 Bauer et al. Apr 2012 A1
20120095865 Doherty et al. Apr 2012 A1
20120116902 Cardina et al. May 2012 A1
20120123882 Carlson et al. May 2012 A1
20120123940 Killian et al. May 2012 A1
20120129514 Beenau et al. May 2012 A1
20120143754 Patel Jun 2012 A1
20120143767 Abadir Jun 2012 A1
20120143772 Abadir Jun 2012 A1
20120158580 Eram et al. Jun 2012 A1
20120158593 Garfinkle et al. Jun 2012 A1
20120173431 Ritchie et al. Jul 2012 A1
20120185386 Salama et al. Jul 2012 A1
20120197807 Schlesser et al. Aug 2012 A1
20120203664 Torossian et al. Aug 2012 A1
20120203666 Torossian et al. Aug 2012 A1
20120215688 Musser et al. Aug 2012 A1
20120215696 Salonen Aug 2012 A1
20120221421 Hammad Aug 2012 A1
20120226582 Hammad Sep 2012 A1
20120231844 Coppinger Sep 2012 A1
20120233004 Bercaw Sep 2012 A1
20120246070 Vadhri Sep 2012 A1
20120246071 Jain et al. Sep 2012 A1
20120246079 Wilson et al. Sep 2012 A1
20120265631 Cronic et al. Oct 2012 A1
20120266231 Spiers et al. Oct 2012 A1
20120271770 Harris et al. Oct 2012 A1
20120297446 Webb et al. Nov 2012 A1
20120300932 Cambridge et al. Nov 2012 A1
20120303503 Cambridge et al. Nov 2012 A1
20120303961 Kean et al. Nov 2012 A1
20120304273 Bailey et al. Nov 2012 A1
20120310725 Chien et al. Dec 2012 A1
20120310831 Harris et al. Dec 2012 A1
20120316992 Oborne Dec 2012 A1
20120317035 Royyuru et al. Dec 2012 A1
20120317036 Bower et al. Dec 2012 A1
20130017784 Fisher Jan 2013 A1
20130018757 Anderson et al. Jan 2013 A1
20130019098 Gupta et al. Jan 2013 A1
20130031006 McCullagh et al. Jan 2013 A1
20130054337 Brendell et al. Feb 2013 A1
20130054466 Muscato Feb 2013 A1
20130054474 Yeager Feb 2013 A1
20130081122 Svigals et al. Mar 2013 A1
20130091028 Oder (“J.D.”), II et al. Apr 2013 A1
20130110658 Lyman et al. May 2013 A1
20130111599 Gargiulo May 2013 A1
20130117185 Collison et al. May 2013 A1
20130124290 Fisher May 2013 A1
20130124291 Fisher May 2013 A1
20130124364 Mittal May 2013 A1
20130138525 Bercaw May 2013 A1
20130144888 Faith et al. Jun 2013 A1
20130145148 Shablygin et al. Jun 2013 A1
20130145172 Shablygin et al. Jun 2013 A1
20130159178 Colon et al. Jun 2013 A1
20130159184 Thaw Jun 2013 A1
20130166402 Parento et al. Jun 2013 A1
20130166456 Zhang et al. Jun 2013 A1
20130173736 Krzeminski et al. Jul 2013 A1
20130185202 Goldthwaite et al. Jul 2013 A1
20130191227 Pasa et al. Jul 2013 A1
20130191286 Cronic et al. Jul 2013 A1
20130191289 Cronic et al. Jul 2013 A1
20130198071 Jurss Aug 2013 A1
20130198080 Anderson et al. Aug 2013 A1
20130200146 Moghadam Aug 2013 A1
20130204787 Dubois Aug 2013 A1
20130204793 Kerridge et al. Aug 2013 A1
20130212007 Mattsson et al. Aug 2013 A1
20130212017 Bangia Aug 2013 A1
20130212019 Mattsson et al. Aug 2013 A1
20130212024 Mattsson et al. Aug 2013 A1
20130212026 Powell et al. Aug 2013 A1
20130212666 Mattsson et al. Aug 2013 A1
20130218698 Moon et al. Aug 2013 A1
20130218769 Pourfallah et al. Aug 2013 A1
20130226799 Raj Aug 2013 A1
20130226802 Hammad et al. Aug 2013 A1
20130226813 Voltz Aug 2013 A1
20130246199 Carlson Sep 2013 A1
20130246202 Tobin Sep 2013 A1
20130246203 Laracey Sep 2013 A1
20130246258 Dessert Sep 2013 A1
20130246259 Dessert Sep 2013 A1
20130246261 Purves et al. Sep 2013 A1
20130246267 Tobin Sep 2013 A1
20130254028 Salci Sep 2013 A1
20130254052 Royyuru et al. Sep 2013 A1
20130254102 Royyuru Sep 2013 A1
20130254117 von Mueller et al. Sep 2013 A1
20130262296 Thomas et al. Oct 2013 A1
20130262302 Lettow et al. Oct 2013 A1
20130262315 Hruska Oct 2013 A1
20130262316 Hruska Oct 2013 A1
20130262317 Collinge et al. Oct 2013 A1
20130275300 Killian et al. Oct 2013 A1
20130275307 Khan Oct 2013 A1
20130275308 Paraskeva et al. Oct 2013 A1
20130282502 Jooste Oct 2013 A1
20130282575 Mullen et al. Oct 2013 A1
20130282588 Hruska Oct 2013 A1
20130297501 Monk et al. Nov 2013 A1
20130297504 Nwokolo et al. Nov 2013 A1
20130297508 Belamant Nov 2013 A1
20130304649 Cronic et al. Nov 2013 A1
20130308778 Fosmark et al. Nov 2013 A1
20130311382 Fosmark et al. Nov 2013 A1
20130317982 Mengerink et al. Nov 2013 A1
20130332344 Weber Dec 2013 A1
20130332575 Song Dec 2013 A1
20130339253 Sincai Dec 2013 A1
20130346305 Mendes Dec 2013 A1
20130346314 Mogollon et al. Dec 2013 A1
20140007213 Sanin et al. Jan 2014 A1
20140013106 Redpath Jan 2014 A1
20140013114 Redpath Jan 2014 A1
20140013452 Aissi et al. Jan 2014 A1
20140019352 Shrivastava Jan 2014 A1
20140025581 Calman Jan 2014 A1
20140025585 Calman Jan 2014 A1
20140025958 Calman Jan 2014 A1
20140032417 Mattsson Jan 2014 A1
20140032418 Weber Jan 2014 A1
20140040137 Carlson et al. Feb 2014 A1
20140040139 Brudnicki et al. Feb 2014 A1
20140040144 Plomske et al. Feb 2014 A1
20140040145 Ozvat et al. Feb 2014 A1
20140040148 Ozvat et al. Feb 2014 A1
20140040628 Fort et al. Feb 2014 A1
20140041018 Bomar et al. Feb 2014 A1
20140046853 Spies et al. Feb 2014 A1
20140047551 Nagasundaram et al. Feb 2014 A1
20140052532 Tsai et al. Feb 2014 A1
20140052620 Rogers et al. Feb 2014 A1
20140052637 Jooste et al. Feb 2014 A1
20140068706 Aissi Mar 2014 A1
20140074637 Hammad Mar 2014 A1
20140108172 Weber et al. Apr 2014 A1
20140114857 Griggs et al. Apr 2014 A1
20140143137 Carlson May 2014 A1
20140164243 Aabye et al. Jun 2014 A1
20140188586 Carpenter et al. Jul 2014 A1
20140249945 Gauthier et al. Sep 2014 A1
20140294701 Dai et al. Oct 2014 A1
20140297534 Patterson Oct 2014 A1
20140310183 Weber Oct 2014 A1
20140324690 Allen et al. Oct 2014 A1
20140330721 Wang Nov 2014 A1
20140330722 Laxminarayanan et al. Nov 2014 A1
20140331265 Mozell et al. Nov 2014 A1
20140337236 Wong et al. Nov 2014 A1
20140337955 Mendelovich et al. Nov 2014 A1
20140344153 Raj et al. Nov 2014 A1
20140372308 Sheets Dec 2014 A1
20150019443 Sheets et al. Jan 2015 A1
20150032625 Dill et al. Jan 2015 A1
20150032626 Dill et al. Jan 2015 A1
20150032627 Dill et al. Jan 2015 A1
20150046338 Laxminarayanan et al. Feb 2015 A1
20150046339 Wong et al. Feb 2015 A1
20150052064 Karpenko et al. Feb 2015 A1
20150081544 Schulz et al. Mar 2015 A1
20150088756 Makhotin et al. Mar 2015 A1
20150106239 Gaddam et al. Apr 2015 A1
20150112870 Nagasundaram et al. Apr 2015 A1
20150112871 Kumnick Apr 2015 A1
20150120472 Aabye et al. Apr 2015 A1
20150127529 Makhotin et al. May 2015 A1
20150127547 Powell et al. May 2015 A1
20150140960 Powell et al. May 2015 A1
20150142673 Nelsen et al. May 2015 A1
20150161597 Subramanian et al. Jun 2015 A1
20150178724 Ngo et al. Jun 2015 A1
20150180836 Wong et al. Jun 2015 A1
20150186864 Jones et al. Jul 2015 A1
20150193222 Pirzadeh et al. Jul 2015 A1
20150195133 Sheets et al. Jul 2015 A1
20150199679 Palanisamy et al. Jul 2015 A1
20150199689 Kumnick et al. Jul 2015 A1
20150220917 Aabye et al. Aug 2015 A1
20150269566 Gaddam et al. Sep 2015 A1
20150278799 Palanisamy Oct 2015 A1
20150287037 Salmon et al. Oct 2015 A1
20150312038 Palanisamy Oct 2015 A1
20150319158 Kumnick Nov 2015 A1
20150324736 Sheets et al. Nov 2015 A1
20150332262 Lingappa Nov 2015 A1
20150356560 Shastry et al. Dec 2015 A1
20150363781 Badenhorst Dec 2015 A1
20160019536 Ortiz et al. Jan 2016 A1
20160028550 Gaddam et al. Jan 2016 A1
20160036790 Shastry et al. Feb 2016 A1
20160042263 Gaddam et al. Feb 2016 A1
20160065370 Le Saint et al. Mar 2016 A1
20160092696 Guglani et al. Mar 2016 A1
20160092872 Prakash et al. Mar 2016 A1
20160092874 O'Regan et al. Mar 2016 A1
20160103675 Aabye et al. Apr 2016 A1
20160119296 Laxminarayanan et al. Apr 2016 A1
20160132878 O'Regan et al. May 2016 A1
20160140545 Flurscheim et al. May 2016 A1
20160148197 Dimmick May 2016 A1
20160148212 Dimmick May 2016 A1
20160171479 Prakash et al. Jun 2016 A1
20160173483 Wong et al. Jun 2016 A1
20160197725 Hammad Jul 2016 A1
20160210628 McGuire Jul 2016 A1
20160217461 Gaddam et al. Jul 2016 A1
20160218875 Le Saint et al. Jul 2016 A1
20160224976 Basu et al. Aug 2016 A1
20160224977 Sabba et al. Aug 2016 A1
20160226879 Chan et al. Aug 2016 A1
20160232527 Patterson Aug 2016 A1
20160239842 Cash et al. Aug 2016 A1
20160269391 Gaddam et al. Sep 2016 A1
20160308995 Youdale et al. Oct 2016 A1
20170046696 Powell et al. Feb 2017 A1
20170076288 Awasthi Mar 2017 A1
20170103387 Weber Apr 2017 A1
20170109745 Al-Bedaiwi et al. Apr 2017 A1
20170111338 Malatesha Apr 2017 A1
20170126683 Bradbury May 2017 A1
20170148013 Rajurkar et al. May 2017 A1
20170163617 Laxminarayanan et al. Jun 2017 A1
20170163629 Law et al. Jun 2017 A1
20170186001 Reed et al. Jun 2017 A1
20170200156 Karpenko et al. Jul 2017 A1
20170200165 Laxminarayanan et al. Jul 2017 A1
20170201520 Chandoor et al. Jul 2017 A1
20170220818 Nagasundaram et al. Aug 2017 A1
20170221054 Flurscheim et al. Aug 2017 A1
20170221056 Karpenko et al. Aug 2017 A1
20170228723 Taylor et al. Aug 2017 A1
20170228728 Sullivan Aug 2017 A1
20170236113 Chitalia et al. Aug 2017 A1
20170244688 Kim et al. Aug 2017 A1
20170293914 Girish et al. Oct 2017 A1
20170295155 Wong Oct 2017 A1
20170330145 Studnicka Nov 2017 A1
20170337549 Wong Nov 2017 A1
20170364903 Lopez Dec 2017 A1
20170364914 Howard Dec 2017 A1
20170373852 Cassin et al. Dec 2017 A1
20180006821 Kinagi Jan 2018 A1
20180075081 Chipman Mar 2018 A1
20180247303 Raj et al. Aug 2018 A1
20180262334 Hammad Sep 2018 A1
20180268399 Spector et al. Sep 2018 A1
20180268405 Lopez Sep 2018 A1
20180285875 Law et al. Oct 2018 A1
20180324184 Kaja et al. Nov 2018 A1
20180324584 Lopez Nov 2018 A1
20190007306 Kojima Jan 2019 A1
20190020478 Girish et al. Jan 2019 A1
20190066069 Faith et al. Feb 2019 A1
20190147439 Wang et al. May 2019 A1
20190188696 Carpenter et al. Jun 2019 A1
20190356489 Palanisamy Nov 2019 A1
20190384896 Jones Dec 2019 A1
20190392431 Chitalia et al. Dec 2019 A1
20200267153 Kang et al. Aug 2020 A1
Foreign Referenced Citations (3)
Number Date Country
104113549 Oct 2014 CN
104539701 Apr 2015 CN
2017209767 Dec 2017 WO
Non-Patent Literature Citations (11)
Entry
U.S. Appl. No. 17/294,125 , “Advisory Action”, dated Apr. 29, 2022, 6 pages.
U.S. Appl. No. 17/294,125 , “Final Office Action”, dated Feb. 24, 2022, 42 pages.
U.S. Appl. No. 17/294,125 , “Non-Final Office Action”, dated Oct. 28, 2021, 29 pages.
U.S. Appl. No. 17/294,125 , “Notice of Allowance”, dated Jun. 14, 2022, 11 pages.
CN201980074915.8 , “Office Action”, dated Mar. 1, 2022, 18 pages.
CN201980074915.8 , “Office Action”, dated Sep. 22, 2021, 22 pages.
EP19885050.5 , “Extended European Search Report”, dated Dec. 14, 2021, 11 pages.
PCT/US2019/061385 , “International Preliminary Report on Patentability”, dated May 27, 2021, 9 pages.
PCT/US2019/061385 , “International Search Report and Written Opinion”, dated Apr. 20, 2020, 13 pages.
SG11202104782T , “Written Opinion”, dated Mar. 28, 2022, 10 pages.
EP19885050.5 , “Office Action”, dated Apr. 28, 2023, 6 pages.
Related Publications (1)
Number Date Country
20230019627 A1 Jan 2023 US
Provisional Applications (1)
Number Date Country
62767111 Nov 2018 US
Continuations (1)
Number Date Country
Parent 17294125 US
Child 17939337 US